[03/05/2026 08:57:10] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[03/05/2026 08:57:10] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[03/05/2026 08:57: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;
                
[03/05/2026 08:57: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;
				
[03/05/2026 08:57: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;
                
[03/05/2026 08:58: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 = '95585912'
				GROUP BY anio
				ORDER BY anio DESC;
				
[03/05/2026 08:58:47] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 95585912 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '95585912'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[03/05/2026 08:58:49] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[03/05/2026 09:21:17] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[03/05/2026 09:21:17] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[03/05/2026 09:21:17] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[03/05/2026 09:21:17] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[03/05/2026 09:31: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 = '95585912'
				GROUP BY anio
				ORDER BY anio DESC;
				
[03/05/2026 09:31:50] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 95585912 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '95585912'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[03/05/2026 09:31:54] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[03/05/2026 09:31:58] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[03/05/2026 09:32: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 = '95585912'
				GROUP BY anio
				ORDER BY anio DESC;
				
[03/05/2026 09:32:06] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 95585912 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '95585912'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 08:37: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;
                
[04/05/2026 08:37: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;
				
[04/05/2026 08:37: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;
                
[04/05/2026 08:37: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;
                
[04/05/2026 08:37: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;
				
[04/05/2026 08:37: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;
                
[04/05/2026 08:37:43] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 08:37:43] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 08:37: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;
                
[04/05/2026 08:56:46] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 08:56:46] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 08:56: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;
                
[04/05/2026 08:56:49] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 08:56:49] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 08:56: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;
                
[04/05/2026 08:56: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;
                
[04/05/2026 08:56:50] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 08:56:59] 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;
                
[04/05/2026 08:56:59] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 08:57: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;
                
[04/05/2026 08:57: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 08:57:07] 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;
                
[04/05/2026 08:57:09] 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;
                

04/05/2026 08:57:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12343
            GROUP BY l.idllamado;
            [04/05/2026 08:57:16] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 08:57:28] 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;
                

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

04/05/2026 08:57:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12343
            GROUP BY l.idllamado;
            [04/05/2026 08:57: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;
                
[04/05/2026 08:57:37] 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;
                
[04/05/2026 08:57: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 08:57: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 08:57:59] 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;
                
[04/05/2026 08:58: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;
                
[04/05/2026 09:05: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;
                
[04/05/2026 09:05: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;
				
[04/05/2026 09:05: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;
                
[04/05/2026 10:29:16] 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;
                
[04/05/2026 10:29: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 = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 10:29:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 10:29:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 10:29:27] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 10:51:56] 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;
                
[04/05/2026 10:51: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 10:52:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 10:58: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;
                
[04/05/2026 10:58: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;
				
[04/05/2026 10: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;
                

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

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

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

04/05/2026 10:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 10:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 10:59:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 10:59:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12398
            GROUP BY l.idllamado;
            
04/05/2026 10:59:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 10:59:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 10:59:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12398
            GROUP BY l.idllamado;
            
04/05/2026 10:59:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 10:59:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 10:59:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 10:59:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12398
            GROUP BY l.idllamado;
            
04/05/2026 10:59:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 10:59:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 10:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 10:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 10:59:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12398
            GROUP BY l.idllamado;
            
04/05/2026 10:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 10:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 10:59:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 10:59:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 10:59:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12398
            GROUP BY l.idllamado;
            
04/05/2026 10:59:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 10:59:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 10:59:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 10:59:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12398
            GROUP BY l.idllamado;
            
04/05/2026 10:59:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 10: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 = 12398
                
04/05/2026 10: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 = 12398
                
04/05/2026 11:02:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12398
            GROUP BY l.idllamado;
            
04/05/2026 11: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 = 12398
                
04/05/2026 11: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 = 12398
                
04/05/2026 11: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 = 12398
                
04/05/2026 11:02:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12398
            GROUP BY l.idllamado;
            
04/05/2026 11: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 = 12398
                
04/05/2026 11: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 = 12398
                
04/05/2026 11: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 = 12398
                
04/05/2026 11: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 = 12398
                
04/05/2026 11:02:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12398
            GROUP BY l.idllamado;
            
04/05/2026 11: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 = 12398
                
04/05/2026 11:02:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 11:02:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 11:02:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 11:02:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12398
                
04/05/2026 11:02:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12398
            GROUP BY l.idllamado;
            
04/05/2026 11: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 = 12398
                
04/05/2026 11: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 = 12398
                
04/05/2026 11:02:51 - logentry: =========================================
FECHA: 04/05/2026 11:02:51
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-FnZThN6I6wZDLIA2+8gVMOXGeeWxaiLRIHb0cYH6sRNeLDB1AHE
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2290",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "22073",
    "contadorColor": "109001",
    "contadorScanner": "0",
    "detalle": "01 Rtan 2024",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12398",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACJANgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQHAgH\/xABKEAABAwMCAgUIBgYHBwUAAAABAAIDBAURBiESMRNBUZGhFCIyYXGTscEVFiNSVIEHJEJDctEzNXSSssLwNEVic4Lh8UdjhNLi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMREAAgECBAIJAwQDAAAAAAAAAAECAxESITFRBEETFCIyUmFxgZHB0eEFobHwIzNC\/9oADAMBAAIRAxEAPwDfz6ombquK2RxsbAHiJ5eCSXE8xv7O8rTrzDVDOj1RVgA542u8077tB+a9Asld9I2emqskuczD88+IbHxC2qQSimjz+FrylUnCTzTO9ERYnoBERAEREAREQBERAEREAREQBERAEVfe6+a2Wx9ZBEyQxkcTXHAwTj5hVlDfqibUYp5XA0dZCJKXzcY2zv69iD6wrKLauYzrQhJQer+po0RFU2CIiAIiIAiIgPNdTydDrGeXbzHxO3GeTWrRaKeIY7hby4E09RnY7b7bf3VQa3i6PULnb\/aRNd8R8lb6anJ1PVNyOGelZNtyLiGH\/MV1Szpr0PEpPDxb9X+9zYIiLlPbKe\/agisfQB8RkMxPon0QCMnHXzVwsDr+TN1po8ejBxd7j\/Jb5aSilFM5aVWU6tSL0VgiIszqCIiAIiIAiIgCIiAIiICKpp2VVLLTyejKwsO3aMLz8RVDbTIxjz5ZY6okED92T1duHNJ9i9FWWqmNodcxlzQYLlAY5A7kTjGPBvf61rTdrnFxdNSwv2+dPh2L+2V8dyt0NZHykbkj7p6x3rqWV00Tar3X2N7yWA9LDns\/8EdxWqVJqzN6FRzhd66P1QREVTYIiIAiIgMN+kGHhq6Ob78bm9xB\/wAy5dI1IOoaVo9J1O6N2fVkjwAVv+kCLNtpZvuTFveCfkqK0xeRa2jhaMBlQ9jcH9k5A8CuuOdOx4dZOHGX5XR6SiIuQ9w881o0z6mbENiY2NH5k\/zXoa8\/1QOLWUIHWYh4rZU92pam5z26Mv6eAcTwW4GPV3jvW008MTzuGklWqX5v7nciIsT0QiIgCIiAIiIAiIgCIiALMa1aYYaC4sA4qaoH8\/i1adVGqqY1OnKtoGXMaJB6uEgnwyrwdpIw4mOKjJL+2K7U\/FQV9vvsJ81jxHKAMEtOT8CR3LTMe2SNsjHBzXAFpHWFQxRfTWiGRNHE91MA3YbvZsPFqm0nWGssEHE7ikh+zdnnty8MKZLs+hlSlar5SV\/fmS6iuU1qtL6mBgc\/iDQXZw3PXy38OaqYNXVVKIjd6AshlaCyoh3a7PZ1evnkdi0tXSxVtLJTTt4o5W8LgsxZ6p1lrHafuoDonuzTSPGWuBOw7\/HKmNnHQiu6kaialZP4v5+ppaKvpLhD01JOyZnXwnce0cx+a6FnK7SUYl8qs87qGpbyDSQ08ttuXL1qOk1NU2+pFDqGDoZOTaho81\/rOPiO4KMCfdLqu4O1VW8+X4NOi\/GuDmhzSCCMgjrRZnUZnX39Rw\/2lv8AhcqWBvFqu1VWciqjikJznfh4T4tKutff1HD\/AGlv+FyykFwMElre7Z1FKWu\/h4g75kLqpq8Pk8TipJcQ7+TNxd79JRVjaCio31VW9geGjYAb5+Hivih1RBLUCjuED7fVfcl9E+w7f661y\/8AqJ\/8b5K3u9oortSuZVMaC0Hhm5OZ+fZ6lk1FWTO5OrJylF6O1uRnrrE2o\/SDQR8Q81rHHqwW8TseAX1cZ2WjXkFS4hsVVEBIduvLfiGlZ6z1Mp1PRSvmMv2zY2yP\/ab6I8Fda9gdJW0HRtJfI1zAO3BGB4rW1pKL2OFVMVKdWKzUkzbIqzT1f9JWSnnJHGG8D9\/2ht48\/wA1Zrmas7HswkpxUlzCIigsEVNfL4+y1FIZIOKlmcWySZ9Dl1Y7Mq3a5r2B7HBzXDIIOQQpaaVykZxlJxWqPpERQXCIiAIiIAo5omzwSQv9GRpafYRhSIg1M1omRzbfU0Mh8+lnc3HYD\/3BUdl4rXqy4WzOIZx08TcYHbt+RI\/6V+2rNFre50nJlSzpR6zsf8zk1L+o3+0XMEgB\/RSHHJuf5Oct9ZNbnmLs0oy8Dt7XsahV17s8N6oHQSYbI3eKTG7T\/LtViixTad0ejKKnFxlozPaau00hktFx82tpBw+ccmRo6\/WRt7efarmuoKa40zqeqiEjHDr5j1g9RVNqe0SzsZdKAcNbSniy0bvaOr1kf9lZ2e5Mu1tiq2YBcMPaP2XDmFeXiRz0m03RqZ7ea\/B8Wazx2WnkginllY5\/E0SH0fUEViio227s6IxUFhjoZjX39Rw\/2lv+Fyyd+oXw6hrYGjPnulH8JHH8FrNd5fbaSEc5Kke3kR81wXgt+vUcTsBtREIXYA342lvzC6absl7nkcZBTqP1j9T9stT5ZqqknJy51C3iPrAwfEK21bcTBQtt8OXVFceja1oyeE7HrHPOFi7LdDZro2onjdIImOj4BzHPbvXZQXOvr73LWxUQqa6UcMWR9nCOXFv2Y7e1TKHavyRSnxK6Jw5yZ26koGWmgs9NTljp4XE7HznOODntxn5Ky1fhtdZpSPQqeeM43b\/JU9+stXQ0MdyuNWampdO1r8HIY3BOBn1+xXOsyCLYQcg1I+Srzj7mjTUamVu7kQ2tx0\/qme1yEimrD0kBPUer5j8gtaqTVFqdcLd00G1VSnpInAbnHMf66wF0WC6tvFqjqP3rfMlHY4c+\/mspdpYjto\/45uk9NV9vYmuF2o7Y6BtVIWGd\/CzDSRzGSTyGMrtVJqy2tuNkldj7SnBlYcb7DcfmPkoNM6lprhSw0lRII6tjQzDj\/SYHMHt9SjDeN0W6bDWwT56HXqilbVadq2kZMbOkacci3f4Z71R6RvppmRWyvyxsg4qaRx2IJxw94OO5aW9uDbFXlxAHk0g3\/hKobZYoLzo2jimHBK0PMUoG7SXu8PUrxawWe5jWjPrClT1t856GrcOJpGSMjmFkdPXl1BdKmy3Goe8iZwilldnJzyJPbzHt9amtd8qLQRbtQZjLdoqg7h4Hb19Y37+RXBT2mHUF3vMscnmtcOhnYdg7fvGyRja6loVqVnNwdPvbexYagul2hv8ATUFtcMuh6UM4QeMjiyO5qsrLqClu8YZkQ1bR9pA7YgjnjtCr7ZZbqb3DX3WVj3UsXRMc0548g7n2cRG46l23fTNDdHiYA09Q056WLALj6+3280eDJFodPd1Fvo9vocd41BUWTUETKgh9DLHnha3zmnOM568Y8fYtDDNHUQsmheHxvGWuadiFl26fu1ZdaZ12lhqIKdrh0g\/bb90jAOdzv6u\/8fSXbSsj5KBprba52TBuXs8Nvb3hHGLSSeYhVqwlKUk8N\/dfggnuF5rqu5V1FVOZDbn8LYeHaRoO+3b5ud991qLVXfSVthq+EMMjfOaDnB5FY2wXyipKO6MqHlj6hxdEwNLi7IO2wx2c1odHQPg07Dxj+kc542I2PtU1I2WhThamKas73Tb8szlvn6lq60VvIS5hceXXjf8Av+Cm1vD0lgMo5wStfns6vmv3WlMZrEZmnDqaRsg+Hz8F93aobX6MlqcbS07X47DsfioT7rLTX+2G6v8At+C2oqgVdDBUj97G1\/eMqdVmmyTp2hyc\/ZBWayasztpvFBN7BZigP0Hqya3D\/Zq8dNEBya7fbwPgtOsxrON8It90iPn0s4BHtwfi3xVoZu25jxPZiqi1j\/HM06L5jkbLG2Rhy14Dge0FFQ6TNaz\/AN2f2kfJUWpemqdQ1tVAMChDMnrzkD4k9yvNauDW21ziABU5JPVyUGnKX6Wt95qHg5rpHNBPMbEjuLvBdMHhipHkV4upWlTXPP4RRRiCbV8LnRsfFUTtfwvblpD8HGD\/ABL0mOKOGMRxRtjYOTWjAH5LySilMFzpZHbGGVhP5OXryisrWL\/p0lJTfmUOtIhJpuZ5\/dPY4d4HzVbqKbyi2WKbIPSSMcSPWArzUrOk07Wt7I+LuOfkszVSeUWvTEX35Q3h7cOa1RT0X95FuKynJbpfybpZF5Ok9QOlDHOt1edw0f0bv9E7dnsWuUFZSQV9LJTVDA+OQYI+Y9ayjK2uh2Vqbmk45NaHzVOZLbZntIex8LiD1EELKWKwUl402x7\/ALGpbI7gnYPObg7Z7V9ON305T1Ft8nkraWVjm00rBngJ6j38u5X2nKF9uscEEjeGTdzh6yc\/DC07kcmcytXqJSjonf8AYqZbDqOeJ1FLeI30bxh3GOJ+Pbw5PV1rR0dLHQ0cVLFngiaGjKnRZuTZ006MYO618yGqo6ati6KqgZMzse3OF+UdFTUEAgpYWxRjqHX6yevkFOii70NMKve2YREUFgiIgMiaSCg1w5tRTQvp68ccbpGB3C\/nsTyOc94WtAAGAMAKp1Ha33O3Zg2qqc9JCQcHI6s+v44Xzp+\/xXanbFM4R1rARJEdiSOsD\/WFpLtRuclO1Ko4PnmvqiyracVdDPTH97G5neMLI26qMv6P62J+xp+KPf1kEfHC2q84r46mO7XGxUzB+uVLXDLsYG7gPEdytTzyM+MeBqW6a+dDaabGNO0P\/KCs1HTwtpqaKBnoxMDG+wDCkWTd3c7IRwwUdgqjVMHT6crG9bWh437CD8lbqGrh8po54D+9jczvGEi7NMVI4oOO6OLTs\/lOn6KTOSIg0n+Hzfkir9DTGSxOiOxhmc3GO3B+ZRTNWkynDyxUovyOXX+RQ0jhkYlO46tlY6Oj6PTVOet5e4\/3iPkqbWk9wmY6J9v4KWnla5tRxZDtscvz8F002oblDCHQ6Ym6F\/ngRcWDnfOzVtZumkjhVSEeKlN7bP8AvIzOp6Q0eoKpnDhr39I31h2\/xyPyXptNKJ6WKYHIkYHZ9oyvONT1k9wqoamotk9C\/g4MSZw8A5GMgdpV5btYCC200TrbVSCKJrDI0ZBwME+CmcXKKMuGq06Vad3kzTXKLp7XVRYzxwvbj8isJbZvK5tPU2QfJ5nk5P8Axh3yV8Nd2s+ZLTVbD1gsaR8VlrFV0Nuv4qp3EwRcRjIaSTkYG3sKQi0ndFuJrU51IOMstH8pnqCLPfXazffm92U+u1m+\/N7srHBLY7+s0fEjQos99drN9+b3ZT67Wb783uymCWw6zR8SNCiz312s335vdlPrtZvvze7KYJbDrNHxI0KLPfXazffm92U+u1m+\/N7spglsOs0fEjQoqFmtLI7nUSM364nfJSt1bYnZxXjbtjePiFGCWxZcRRf\/AEvkuUVfHf7RIfNuVMNs+dIG\/FdUVVTTkCGoikJ5cDwVDTRdTjLRkyprrpiguj+mwaeo4g7potiT61coibWaE4RmrSVzM\/V++MPDFqGYxkn08lwHtyvu3aYqLde4a8VxnHRuE7pM8UjjnH5cuZ6u7RorY5GK4ammnt5sIiKh0hERAZjTAFLfbzQ4wBLxsby2yer2EIm9F+kI52bXU+3ZkD\/8eKK89bnNw2UXHZtFpqKDynT9bH\/7fFyz6PnfJfOmagVOnaNw\/Zj4D\/07fJWqyum+K0Xutscj8xk9LBnrH\/jHcVKzi0RPsVoy5PL6oj\/SC4eR0besyOPgrLR0nHpmmGclhe3n\/wARPzVfq+EV91tNvDuHpHu4jjOAcb+BV7ZrWyz29tIyUygOLuIjHNWbXRpGNOMnxc5rS1v4O4tDhhwBHYVD5FS\/hofdhTosTvaT1IPIqX8ND7sJ5FS\/hofdhTopuyMK2IPIqX8ND7sJ5FS\/hofdhTol2MK2IPIqX8ND7sJ5FS\/hofdhTol2MK2IPIqX8ND7sJ5FS\/hofdhTol2MK2OZ9toZPToqd22N4mn5KF9itLxg22lH8MTR8F3ol2Q6cHqiok0rY5fSt7B\/C5zfgVxyaGs7\/R8oj\/hk\/mCtGispyXMzfD0XrFfBljo2WADyG9VUGBgc+7YhPo7V1J\/QXSGoaMebJzPePmtSinpHzKdVpru3Xo2Zb6W1XSD9Zs8c4A5xbk9xPwX0NbQwkNr7ZV0zuWOHOD+eFp1+EAjBGQUxReqJ6Gou7N+6T+xTQausk+3lnRnskY4eOMK0grKWq\/2epim\/5bw74LnqLJa6reaggce0MAPeFWT6Is8hJiE8B6ujkzjvynYYvxEeSfyvuaFFlxpGrhx5Jf6qLA5HO\/c4L9+gdRN2bqAkdrmnKjDHcdNVWtN\/KGpQI9RWKUDznTFhPq4m\/wD2KKSj0xVG4QVl0ub6w07uKOM5wDzyN9twD+SJJqySFBSxSlJWu\/oaNUGprXUTdBc7cD5bSOyGt5vb2ev+WVfoqxdnc1qU1UjhZlrXDX3jUYu9ZTGmhp4+CJjt8u3Bx278Rz7FqURTKVyKVPo01e7eYREVTUIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "CAROLINA HUERTA GORDEN",
    "correoContacto": "carolina.huerta@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "978074126",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:02",
    "ubicacionGPS": "LatLng(lat: -22.0861909, lng: -70.1891968)",
    "horaLlegada": "07:57",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 11:02:51
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-FnZThN6I6wZDLIA2+8gVMOXGeeWxaiLRIHb0cYH6sRNeLDB1AHE
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2290",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "22073",
    "contadorColor": "109001",
    "contadorScanner": "0",
    "detalle": "01 Rtan 2024",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12398",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACJANgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQHAgH\/xABKEAABAwMCAgUIBgYHBwUAAAABAAIDBAURBiESMRNBUZGhFCIyYXGTscEVFiNSVIEHJEJDctEzNXSSssLwNEVic4Lh8UdjhNLi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMREAAgECBAIJAwQDAAAAAAAAAAECAxESITFRBEETFCIyUmFxgZHB0eEFobHwIzNC\/9oADAMBAAIRAxEAPwDfz6ombquK2RxsbAHiJ5eCSXE8xv7O8rTrzDVDOj1RVgA542u8077tB+a9Asld9I2emqskuczD88+IbHxC2qQSimjz+FrylUnCTzTO9ERYnoBERAEREAREQBERAEREAREQBERAEVfe6+a2Wx9ZBEyQxkcTXHAwTj5hVlDfqibUYp5XA0dZCJKXzcY2zv69iD6wrKLauYzrQhJQer+po0RFU2CIiAIiIAiIgPNdTydDrGeXbzHxO3GeTWrRaKeIY7hby4E09RnY7b7bf3VQa3i6PULnb\/aRNd8R8lb6anJ1PVNyOGelZNtyLiGH\/MV1Szpr0PEpPDxb9X+9zYIiLlPbKe\/agisfQB8RkMxPon0QCMnHXzVwsDr+TN1po8ejBxd7j\/Jb5aSilFM5aVWU6tSL0VgiIszqCIiAIiIAiIgCIiAIiICKpp2VVLLTyejKwsO3aMLz8RVDbTIxjz5ZY6okED92T1duHNJ9i9FWWqmNodcxlzQYLlAY5A7kTjGPBvf61rTdrnFxdNSwv2+dPh2L+2V8dyt0NZHykbkj7p6x3rqWV00Tar3X2N7yWA9LDns\/8EdxWqVJqzN6FRzhd66P1QREVTYIiIAiIgMN+kGHhq6Ob78bm9xB\/wAy5dI1IOoaVo9J1O6N2fVkjwAVv+kCLNtpZvuTFveCfkqK0xeRa2jhaMBlQ9jcH9k5A8CuuOdOx4dZOHGX5XR6SiIuQ9w881o0z6mbENiY2NH5k\/zXoa8\/1QOLWUIHWYh4rZU92pam5z26Mv6eAcTwW4GPV3jvW008MTzuGklWqX5v7nciIsT0QiIgCIiAIiIAiIgCIiALMa1aYYaC4sA4qaoH8\/i1adVGqqY1OnKtoGXMaJB6uEgnwyrwdpIw4mOKjJL+2K7U\/FQV9vvsJ81jxHKAMEtOT8CR3LTMe2SNsjHBzXAFpHWFQxRfTWiGRNHE91MA3YbvZsPFqm0nWGssEHE7ikh+zdnnty8MKZLs+hlSlar5SV\/fmS6iuU1qtL6mBgc\/iDQXZw3PXy38OaqYNXVVKIjd6AshlaCyoh3a7PZ1evnkdi0tXSxVtLJTTt4o5W8LgsxZ6p1lrHafuoDonuzTSPGWuBOw7\/HKmNnHQiu6kaialZP4v5+ppaKvpLhD01JOyZnXwnce0cx+a6FnK7SUYl8qs87qGpbyDSQ08ttuXL1qOk1NU2+pFDqGDoZOTaho81\/rOPiO4KMCfdLqu4O1VW8+X4NOi\/GuDmhzSCCMgjrRZnUZnX39Rw\/2lv8AhcqWBvFqu1VWciqjikJznfh4T4tKutff1HD\/AGlv+FyykFwMElre7Z1FKWu\/h4g75kLqpq8Pk8TipJcQ7+TNxd79JRVjaCio31VW9geGjYAb5+Hivih1RBLUCjuED7fVfcl9E+w7f661y\/8AqJ\/8b5K3u9oortSuZVMaC0Hhm5OZ+fZ6lk1FWTO5OrJylF6O1uRnrrE2o\/SDQR8Q81rHHqwW8TseAX1cZ2WjXkFS4hsVVEBIduvLfiGlZ6z1Mp1PRSvmMv2zY2yP\/ab6I8Fda9gdJW0HRtJfI1zAO3BGB4rW1pKL2OFVMVKdWKzUkzbIqzT1f9JWSnnJHGG8D9\/2ht48\/wA1Zrmas7HswkpxUlzCIigsEVNfL4+y1FIZIOKlmcWySZ9Dl1Y7Mq3a5r2B7HBzXDIIOQQpaaVykZxlJxWqPpERQXCIiAIiIAo5omzwSQv9GRpafYRhSIg1M1omRzbfU0Mh8+lnc3HYD\/3BUdl4rXqy4WzOIZx08TcYHbt+RI\/6V+2rNFre50nJlSzpR6zsf8zk1L+o3+0XMEgB\/RSHHJuf5Oct9ZNbnmLs0oy8Dt7XsahV17s8N6oHQSYbI3eKTG7T\/LtViixTad0ejKKnFxlozPaau00hktFx82tpBw+ccmRo6\/WRt7efarmuoKa40zqeqiEjHDr5j1g9RVNqe0SzsZdKAcNbSniy0bvaOr1kf9lZ2e5Mu1tiq2YBcMPaP2XDmFeXiRz0m03RqZ7ea\/B8Wazx2WnkginllY5\/E0SH0fUEViio227s6IxUFhjoZjX39Rw\/2lv+Fyyd+oXw6hrYGjPnulH8JHH8FrNd5fbaSEc5Kke3kR81wXgt+vUcTsBtREIXYA342lvzC6absl7nkcZBTqP1j9T9stT5ZqqknJy51C3iPrAwfEK21bcTBQtt8OXVFceja1oyeE7HrHPOFi7LdDZro2onjdIImOj4BzHPbvXZQXOvr73LWxUQqa6UcMWR9nCOXFv2Y7e1TKHavyRSnxK6Jw5yZ26koGWmgs9NTljp4XE7HznOODntxn5Ky1fhtdZpSPQqeeM43b\/JU9+stXQ0MdyuNWampdO1r8HIY3BOBn1+xXOsyCLYQcg1I+Srzj7mjTUamVu7kQ2tx0\/qme1yEimrD0kBPUer5j8gtaqTVFqdcLd00G1VSnpInAbnHMf66wF0WC6tvFqjqP3rfMlHY4c+\/mspdpYjto\/45uk9NV9vYmuF2o7Y6BtVIWGd\/CzDSRzGSTyGMrtVJqy2tuNkldj7SnBlYcb7DcfmPkoNM6lprhSw0lRII6tjQzDj\/SYHMHt9SjDeN0W6bDWwT56HXqilbVadq2kZMbOkacci3f4Z71R6RvppmRWyvyxsg4qaRx2IJxw94OO5aW9uDbFXlxAHk0g3\/hKobZYoLzo2jimHBK0PMUoG7SXu8PUrxawWe5jWjPrClT1t856GrcOJpGSMjmFkdPXl1BdKmy3Goe8iZwilldnJzyJPbzHt9amtd8qLQRbtQZjLdoqg7h4Hb19Y37+RXBT2mHUF3vMscnmtcOhnYdg7fvGyRja6loVqVnNwdPvbexYagul2hv8ATUFtcMuh6UM4QeMjiyO5qsrLqClu8YZkQ1bR9pA7YgjnjtCr7ZZbqb3DX3WVj3UsXRMc0548g7n2cRG46l23fTNDdHiYA09Q056WLALj6+3280eDJFodPd1Fvo9vocd41BUWTUETKgh9DLHnha3zmnOM568Y8fYtDDNHUQsmheHxvGWuadiFl26fu1ZdaZ12lhqIKdrh0g\/bb90jAOdzv6u\/8fSXbSsj5KBprba52TBuXs8Nvb3hHGLSSeYhVqwlKUk8N\/dfggnuF5rqu5V1FVOZDbn8LYeHaRoO+3b5ud991qLVXfSVthq+EMMjfOaDnB5FY2wXyipKO6MqHlj6hxdEwNLi7IO2wx2c1odHQPg07Dxj+kc542I2PtU1I2WhThamKas73Tb8szlvn6lq60VvIS5hceXXjf8Av+Cm1vD0lgMo5wStfns6vmv3WlMZrEZmnDqaRsg+Hz8F93aobX6MlqcbS07X47DsfioT7rLTX+2G6v8At+C2oqgVdDBUj97G1\/eMqdVmmyTp2hyc\/ZBWayasztpvFBN7BZigP0Hqya3D\/Zq8dNEBya7fbwPgtOsxrON8It90iPn0s4BHtwfi3xVoZu25jxPZiqi1j\/HM06L5jkbLG2Rhy14Dge0FFQ6TNaz\/AN2f2kfJUWpemqdQ1tVAMChDMnrzkD4k9yvNauDW21ziABU5JPVyUGnKX6Wt95qHg5rpHNBPMbEjuLvBdMHhipHkV4upWlTXPP4RRRiCbV8LnRsfFUTtfwvblpD8HGD\/ABL0mOKOGMRxRtjYOTWjAH5LySilMFzpZHbGGVhP5OXryisrWL\/p0lJTfmUOtIhJpuZ5\/dPY4d4HzVbqKbyi2WKbIPSSMcSPWArzUrOk07Wt7I+LuOfkszVSeUWvTEX35Q3h7cOa1RT0X95FuKynJbpfybpZF5Ok9QOlDHOt1edw0f0bv9E7dnsWuUFZSQV9LJTVDA+OQYI+Y9ayjK2uh2Vqbmk45NaHzVOZLbZntIex8LiD1EELKWKwUl402x7\/ALGpbI7gnYPObg7Z7V9ON305T1Ft8nkraWVjm00rBngJ6j38u5X2nKF9uscEEjeGTdzh6yc\/DC07kcmcytXqJSjonf8AYqZbDqOeJ1FLeI30bxh3GOJ+Pbw5PV1rR0dLHQ0cVLFngiaGjKnRZuTZ006MYO618yGqo6ati6KqgZMzse3OF+UdFTUEAgpYWxRjqHX6yevkFOii70NMKve2YREUFgiIgMiaSCg1w5tRTQvp68ccbpGB3C\/nsTyOc94WtAAGAMAKp1Ha33O3Zg2qqc9JCQcHI6s+v44Xzp+\/xXanbFM4R1rARJEdiSOsD\/WFpLtRuclO1Ko4PnmvqiyracVdDPTH97G5neMLI26qMv6P62J+xp+KPf1kEfHC2q84r46mO7XGxUzB+uVLXDLsYG7gPEdytTzyM+MeBqW6a+dDaabGNO0P\/KCs1HTwtpqaKBnoxMDG+wDCkWTd3c7IRwwUdgqjVMHT6crG9bWh437CD8lbqGrh8po54D+9jczvGEi7NMVI4oOO6OLTs\/lOn6KTOSIg0n+Hzfkir9DTGSxOiOxhmc3GO3B+ZRTNWkynDyxUovyOXX+RQ0jhkYlO46tlY6Oj6PTVOet5e4\/3iPkqbWk9wmY6J9v4KWnla5tRxZDtscvz8F002oblDCHQ6Ym6F\/ngRcWDnfOzVtZumkjhVSEeKlN7bP8AvIzOp6Q0eoKpnDhr39I31h2\/xyPyXptNKJ6WKYHIkYHZ9oyvONT1k9wqoamotk9C\/g4MSZw8A5GMgdpV5btYCC200TrbVSCKJrDI0ZBwME+CmcXKKMuGq06Vad3kzTXKLp7XVRYzxwvbj8isJbZvK5tPU2QfJ5nk5P8Axh3yV8Nd2s+ZLTVbD1gsaR8VlrFV0Nuv4qp3EwRcRjIaSTkYG3sKQi0ndFuJrU51IOMstH8pnqCLPfXazffm92U+u1m+\/N7srHBLY7+s0fEjQos99drN9+b3ZT67Wb783uymCWw6zR8SNCiz312s335vdlPrtZvvze7KYJbDrNHxI0KLPfXazffm92U+u1m+\/N7spglsOs0fEjQoqFmtLI7nUSM364nfJSt1bYnZxXjbtjePiFGCWxZcRRf\/AEvkuUVfHf7RIfNuVMNs+dIG\/FdUVVTTkCGoikJ5cDwVDTRdTjLRkyprrpiguj+mwaeo4g7potiT61coibWaE4RmrSVzM\/V++MPDFqGYxkn08lwHtyvu3aYqLde4a8VxnHRuE7pM8UjjnH5cuZ6u7RorY5GK4ammnt5sIiKh0hERAZjTAFLfbzQ4wBLxsby2yer2EIm9F+kI52bXU+3ZkD\/8eKK89bnNw2UXHZtFpqKDynT9bH\/7fFyz6PnfJfOmagVOnaNw\/Zj4D\/07fJWqyum+K0Xutscj8xk9LBnrH\/jHcVKzi0RPsVoy5PL6oj\/SC4eR0besyOPgrLR0nHpmmGclhe3n\/wARPzVfq+EV91tNvDuHpHu4jjOAcb+BV7ZrWyz29tIyUygOLuIjHNWbXRpGNOMnxc5rS1v4O4tDhhwBHYVD5FS\/hofdhTosTvaT1IPIqX8ND7sJ5FS\/hofdhTopuyMK2IPIqX8ND7sJ5FS\/hofdhTol2MK2IPIqX8ND7sJ5FS\/hofdhTol2MK2IPIqX8ND7sJ5FS\/hofdhTol2MK2OZ9toZPToqd22N4mn5KF9itLxg22lH8MTR8F3ol2Q6cHqiok0rY5fSt7B\/C5zfgVxyaGs7\/R8oj\/hk\/mCtGispyXMzfD0XrFfBljo2WADyG9VUGBgc+7YhPo7V1J\/QXSGoaMebJzPePmtSinpHzKdVpru3Xo2Zb6W1XSD9Zs8c4A5xbk9xPwX0NbQwkNr7ZV0zuWOHOD+eFp1+EAjBGQUxReqJ6Gou7N+6T+xTQausk+3lnRnskY4eOMK0grKWq\/2epim\/5bw74LnqLJa6reaggce0MAPeFWT6Is8hJiE8B6ujkzjvynYYvxEeSfyvuaFFlxpGrhx5Jf6qLA5HO\/c4L9+gdRN2bqAkdrmnKjDHcdNVWtN\/KGpQI9RWKUDznTFhPq4m\/wD2KKSj0xVG4QVl0ub6w07uKOM5wDzyN9twD+SJJqySFBSxSlJWu\/oaNUGprXUTdBc7cD5bSOyGt5vb2ev+WVfoqxdnc1qU1UjhZlrXDX3jUYu9ZTGmhp4+CJjt8u3Bx278Rz7FqURTKVyKVPo01e7eYREVTUIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "CAROLINA HUERTA GORDEN",
    "correoContacto": "carolina.huerta@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "978074126",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:02",
    "ubicacionGPS": "LatLng(lat: -22.0861909, lng: -70.1891968)",
    "horaLlegada": "07:57",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


04/05/2026 11:02:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[04/05/2026 11:02:51] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP2290', 2, 21773342, 22073, NOW(), 
				'08:00', '07:57', '11:02', 10, '01 Rtan 2024', -1, 
				'', '','1','109001',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777906971.png', '', null, 'COMPLETADO','LatLng(lat: -22.0861909, lng: -70.1891968)' )
				
[04/05/2026 11:02:51] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200147

04/05/2026 11:02:51 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200147'                    
				WHERE idllamado = 12398			
				TO ENVIO: micorreo@miempresa.cl, carolina.huerta@eplicancabur.cl


04/05/2026 11:02:51 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12398			
				
04/05/2026 11:02:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


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

04/05/2026 11:02:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12398
            GROUP BY l.idllamado;
            
04/05/2026 11: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 = 12398
                
04/05/2026 11: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 = 12398
                
04/05/2026 11: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 = 12398
                
04/05/2026 11: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 = 12398
                
04/05/2026 11: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 = 12398
                [04/05/2026 11:24: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 11:24:03] 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;
                
[04/05/2026 11:24:06] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 11:24:48] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 11:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            [04/05/2026 11:35:50] 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;
                
[04/05/2026 11:35: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 11:35:52] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 11:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 11:36:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [04/05/2026 11:36: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;
                

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

04/05/2026 11:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 11:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 11:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [04/05/2026 11:36: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;
                

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

04/05/2026 11:36:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 11:36:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 11:36:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 11:36:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 11:36:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [04/05/2026 11:36: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;
                

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

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

04/05/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 = 12369
                [04/05/2026 11:36: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;
                

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

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

04/05/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 = 12370
                
04/05/2026 11:36:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12370
            GROUP BY l.idllamado;
            
04/05/2026 11:36:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12370
            GROUP BY l.idllamado;
            
04/05/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 = 12370
                
04/05/2026 11: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 = 12370
                
04/05/2026 11: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 = 12370
                
04/05/2026 11: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 = 12370
                
04/05/2026 11: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 = 12370
                
04/05/2026 11:36:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12370
            GROUP BY l.idllamado;
            
04/05/2026 11: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 = 12370
                
04/05/2026 11: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 = 12370
                
04/05/2026 11: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 = 12370
                
04/05/2026 11:36:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12370
            GROUP BY l.idllamado;
            
04/05/2026 11: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 = 12370
                
04/05/2026 11: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 = 12370
                
04/05/2026 11: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 = 12370
                
04/05/2026 11:36:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12370
            GROUP BY l.idllamado;
            
04/05/2026 11:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:37:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:37:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12370
            GROUP BY l.idllamado;
            
04/05/2026 11:37:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:37:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:37:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:37:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12370
            GROUP BY l.idllamado;
            
04/05/2026 11: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 = 12370
                
04/05/2026 11: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 = 12370
                
04/05/2026 11: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 = 12370
                
04/05/2026 11:37:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12370
            GROUP BY l.idllamado;
            
04/05/2026 11: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 = 12370
                
04/05/2026 11: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 = 12370
                
04/05/2026 11: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 = 12370
                [04/05/2026 11:42:13] 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;
                

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

04/05/2026 11:42:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
04/05/2026 11:42:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            [04/05/2026 11:42:26] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 11:42:28] 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;
                
[04/05/2026 11:42: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;
                

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

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

04/05/2026 11:42:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12426
            GROUP BY l.idllamado;
            [04/05/2026 11:42:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 11:42:53] 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;
                
[04/05/2026 11:42:57] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 11:43:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12164
            GROUP BY l.idllamado;
            [04/05/2026 11:43:15] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 11:43:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            [04/05/2026 11:43:34] 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;
                
[04/05/2026 11:43:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 11:43:56] 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;
                

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

04/05/2026 11:44:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            
04/05/2026 11:45:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12370
            GROUP BY l.idllamado;
            
04/05/2026 11: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 = 12370
                
04/05/2026 11: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 = 12370
                
04/05/2026 11: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 = 12370
                
04/05/2026 11:45:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12370
            GROUP BY l.idllamado;
            
04/05/2026 11: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 = 12370
                
04/05/2026 11:45:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:45:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:45:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:45:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12370
            GROUP BY l.idllamado;
            
04/05/2026 11:45:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:46:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:46:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12370
            GROUP BY l.idllamado;
            
04/05/2026 11:46:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:46:07 - logentry: =========================================
FECHA: 04/05/2026 11:46:07
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-UT1KZlJvSS5B1qpWp6XKoGUMeV4U9pjI_RfMYx6Z1WK7-RZSLeC
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2522",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "530948",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "01 Rkit 2675\n01 Rkit 2442\n01 Rgom 2576\n02 iton 2174\nMantenimiento",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12370",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAOEDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABEEAABAwMBBAcEBQkHBQAAAAABAAIDBAURBhIhMUETUWGBkaGxFDJxwRUWIjRyByMkM0JSstHwJURikpPS8VRjosLi\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT\/xAAxEQACAQMBBQcDAwUAAAAAAAAAAQIDETEhBBITQVEyYXGBkbHRFCKhM0LhUmLB8PH\/2gAMAwEAAhEDEQA\/AP2ZEXjnBrS5xAAGSTyQFRXXaoiv9FbKRsb+lBfOXAksb2YIxuB49iuFk9PysrrrctQVMrWwsJiic44DW\/LdjxKkT6tM8xhs1BLXub7zwCGt6uXrhauDvZHHT2iKTnN5enh4GkRZj6Q1i7e20UoHU5wz\/Gn1gvlvPSXezYgA+1JTnOz28SPMKu4y\/wBTHmmvJmnRRLfc6O6QdNRzCRo94cC34jkpao1Y6IyUldBERCT5e9sbHPecNaCSeoKLR3e3V4HstZFIT+ztYd4HepbmhzS1wBBGCDzVLW6Rs9Zkin9ndv3wnZ8uCst3mZVHUWsEmXaLMDTd5oj\/AGdfZNnOdiYZA9R18kbLrKlb9qCkq8cd4BPgQp3FyZnx5LtQfv7GnRZj6w36D7xp2STl+aJ49wKjRa2qW100dTbXhjRlsbGnpGD\/ABZ\/kFPDkQ9rpLN15M2CLMfXy2t3PpaxruY2G\/7l9R67tDzh0dUztcwfIlRw59Cfq6H9SNKiz312s3783+mVfQysnhZNE7ajkaHNd1g7wVDi1lGsKsJ9l3PtERVNAiIgCIiAIiIAiIgCotXXM26yvbGSJag9G0jkOZ8PVXqwWpTPfNUx22nJc2LDPdOGE73OPl4LSmry1OTa6jhSajl6I8sVrnvrIopC6K1U27ZAwZnZyT8c8+Q3BbilpKeigbBTRNijbwa0L2mp46SmipoW7McTQ1o7Auqic3JlqFBUo9\/X\/eQREVDpMveLZNZao3y0hrA3fUw\/suHM\/wA\/FaGjq4q6jiqoTlkrQ4dnYvLgwSW6pY7g6F4PgVUaLeXaciHJr3AeOfUrR6xu+RyxXDrbscNX8y\/REWZ1BERAEREAWYoN\/wCUO5EbwKYDPdGtOsxpwiq1HeqxoJaHiNrjz3n\/AGjyV44bOavrOmu\/2TNOvl7GSN2XtDh1EZX0iodJw9ipf+mh\/wBMLsAAMAYAXqIQklgIiISV1ffrZa52wVlT0Ujm7YGw527JHIHqK4x6pskoJbcGDH7zXN9QqzoILjr2oZPEyaOCmGWvaHNzu5H8SuX6fs8nvW2nH4Yw30WjUVa5yRnWm242sm1zO9Nc6CrOKesglOcYbICfBSlQ1OjLLUElsD4CecTz6HIUU6YulAdu1XqUYH6ubJB6uzyS0XhluJWj2oX8H8moRZb6dvtrdi72wSQ854eA7TjPyV7bLpSXalFRSP2m8HNO5zT1EKri1qXhXhN7uH0ejJiIiqbHGsqG0lFPUu4RRuee4ZWb0TSdJFVXaXfPUyFueoZyfE+gUnWdY+G0tpIm5krHiMb8buJ+Q71b22ibbrdBSMxiJgBI5nmfHK0xDxORrf2hdIr8v+CUiIszrCIvCQBknACAh3mqZR2eqneMhsRGM4yTuA8SoOkaZ9Npyn2wQ6Takweond5YPeq2sqHarurLfSEG30zw6eQOx0nw88eK1jWhrQ1oAAGAByWj+2NjlpviVXNYWi\/yeoiLM6giIgCIiA41dQ2ko5qhxAbEwvOewZVFoiAssr6l+S+pmc8k8wN3qCu2san2bTszQcOmc2MeOT5AqytVKaK1UtMfejiaHfHG\/wA1piHicz+7aF\/avf8A4S0RFmdIREQBeOcGtLnEAAZJPJeqn1TXGgsFQ9riHyjomEHG88fLKlK7sUqTUIuT5FfpFr6yruV3fkColLWDGBgHPzAWoVfYqH6OstNTluy8MDnjGPtHeVYKZu8jPZ4OFNJ5+QiIqm4Ualt1JRSTSU0DYnTu2pC39o\/LiVJRCGk3dhERCTG3yo9s1rbqLI2aZ7CR2khx8gFslh6Rhl\/KRK47+je8n\/JgeoW4WtTSy7jj2VuTnJ9fYIotfcqO2QiWsnETCcDIJJ+AG8qkl1iyoc6C00M9XOM4Oz9kdu7J9FRRbwbTrU4O0nqaGaeGmiMs8rIo28XPOAFlK241uqpjb7Q10dEDiepcMbQ6vh2cT2DK6w6euN6lbU6gqSGNOW0se4D4kcPM9q0tPTQ0kLYaeJkUbeDWDAVtId7MmqlfR\/bH8v4OFstlNaaNtNTMw0b3OPF56ypiIqN3OqMVFWWAiIoJCIiAIiIDL6q\/TbtabYBkPl23g792QPTaWoWXbtVn5Q3HeW0UG7fuGW\/\/AGtQtJ6JI5qGspz77egREWZ0hERAFldQZueprbamjaZGemlwOX\/A8+a1DnNYwvccNaMk9QWJoKe7Xeuq79b5o4pOkLIxIMh7BjcMjduA3888lpTWWce1O6UEr3f4WTcIst9abjbsMu9nkbgb5Yfd7ezzUyn1jZJwNqpdC48pIyPMZHmodOXQ0W00no3Z9+nuXqKJBdbdU46Cup5CeQkGfBSgQRkHIKraxupJ4Z6iIoJCIiAyNnAOv7mTyjcR4tWuWVtcfRflBubeuDa8dg\/NapaVMrwOTZVaMvF+5Buloo7xA2KrY4hpy0tcQWn+utUkenLzat9pu22wbxDOPsnd3j0WpRVU2lY1nQhN7zz1Whlo9VVlu2Yr7bJYTnZ6aMfZPyPcVoaKvpLhD01JOyZnPZO8fEcR3rtJGyVhjkY17HcWuGQVQ1ekqbpBU2qaS3VLRudGTsn4j+vgVa8X3Gdq1PD3l6P4NAiyjbzfLG4R3ijNVTjcKiHecdfbw54Kv7fdKK6QiWknEg5t4OHxHequDWppTrwm7YfR5JiIiqbBERAERfMj2xRukd7rASfgEBmtLn2m9XqsPB02ww8N2XfIBadZrQzHfRE9Q\/3pqhzs9mB88rSq9TtHNsv6KfXX1YREVDpCIiApdW1nsenqjHvTfmhv6+PllS7HRigstLTgYLYwXfiO8+ZVLef7X1ZRWr3oaYdNMB18cHux\/mWpWj0ikctP760p9NPkKHUWi3Vf6+hgeessGfFTEVE7HS4qWjRRz6Osk2SKZ0RPOOQjyO5Q\/qPBF90udXBvzxB9MLUIrKpJczB7LRf7UZn6u3yFuIdRzPyd\/SNPzJWgpI5YaSKKebppWNAdJjG0etdkUOTeS9OjGm7x92ERFU1KamtFRDqqrurnxmCeEMa0E7QOGcRjH7J5q5RFLdykIKF7c9QiIoLhERAeOaHNLXAEEYIPNUFfpCjnk9ooHvoKhuS0wnDc\/Dl3LQIpUmsGdSlCorSRlG3u9WHEV5o3VUIP3qHfu9Ovjgq9t95t90A9kqmPfjJjJw4dx3qaQCMEZBVPW6VtNbOJ+gMEocHF0DtjPdw7+KveLzoYqFWn2XvLvz6lyiIszqChXkkWSvIOCKaT+EqauNXTiro56Zzi0TRujJHLIwpWSs03FpFVo5rW6YpSBguLye07ZHyV2odpt4tVshomyGURA\/bIxnJJ4d6mKZO8mylGLjTjF8kgiIqmoXhIAyTgBeqq1NVvo7BUvjBL3t6NuOW0cZ81KV3YpOShFyfIrNItNdW3K8vGTPLsRkjg3jj+HwWoVbp+gNuslNTuaWybO08HiHHeR3cO5WStN3kZ7PBwpJPPyERFQ3CIiAIiIAiIgCIiAIiIAiKHV3e30MnR1VXHE\/qJ3\/1vClJvBEpKKu3YmIq1mobO84Fxpx+J+PVTIaumqMdBURS5GRsPBz4I00VU4SwzsiIoLhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBQamy22tmM1TSRyyHi52SepTkUptYKyjGStJXKp+mLI9uybfGB2Ej0KhzaIs0mdhs8OT+xJnHjlaFFKnJczN7PRlmK9DMfUqOPdT3WsiA4Da4eGE+rV5h30+o53dQkDsD\/yK06KeJIp9LS5K3mzMCh1hTn83c6adoO4PG\/v+z809o1nF\/cqOfvA\/wDYLTom\/wByH09sTfr8mYF41RHulsTHn\/A7n4lBqyvi+9aeq4x+8M482rTom8uaHBqLFR\/gzI11b2nZnpauJ3MFg3eakx6zsb\/eqXx\/iid8gVeFocMOAI6io0trt8wxLQ07\/wAUTT8kvDoNzaFiSfl\/JHj1DZ5fduNOPxP2fVToqiCf9VNHJuz9hwKrZNL2SX3rfGPwkt9CoUuhrS85jfUQnlsSA48QUtDqN7aFlJ+djRoswdI1Uf3W\/wBZD17yc+Dgn0LqaHfBfg8jh0rf5gpux6jjVFmm\/VGnRZgv1nTu\/V0dUB1YGfNq8dqW90v3vT0pA4ujJwPIpuPkPqYrtJryZqEWaZri3h2xU01VTv6nMBHrnyU+DVFlqMBlwjaf+4Cz1ARwkuRaO0UZYki2RcoaqnqRmCeOUYzljw70XVUNk08BERCQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID5fGyVuzIxr29ThkKvn09Z6nPSW6AZ5sbsHywiKU2sFZQjLtK5WzaGtTx+ZfPA4HILX5x4rkNL3amP6FqCcNz7j84HmQfBEVuJLqYPZaOUreGh9dBrKn4VVJVAcAQB8h\/RX0y96hgc1tXYC\/JAJhd\/wA+qIpUr5RSdJwV4zfv7mlREWZ2H\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "IVAN DIAZ ALARCON",
    "correoContacto": "IVAN.DIAZ@EPLICANCABUR.CL",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN E INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "967966316",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:46",
    "ubicacionGPS": "LatLng(lat: -22.0886926, lng: -70.1946065)",
    "horaLlegada": "08:06",
    "horaDespacho": "11:02",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 11:46:07
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-UT1KZlJvSS5B1qpWp6XKoGUMeV4U9pjI_RfMYx6Z1WK7-RZSLeC
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2522",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "530948",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "01 Rkit 2675\n01 Rkit 2442\n01 Rgom 2576\n02 iton 2174\nMantenimiento",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12370",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAOEDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABEEAABAwMBBAcEBQkHBQAAAAABAAIDBAURBhIhMUETUWGBkaGxFDJxwRUWIjRyByMkM0JSstHwJURikpPS8VRjosLi\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT\/xAAxEQACAQMBBQcDAwUAAAAAAAAAAQIDETEhBBITQVEyYXGBkbHRFCKhM0LhUmLB8PH\/2gAMAwEAAhEDEQA\/AP2ZEXjnBrS5xAAGSTyQFRXXaoiv9FbKRsb+lBfOXAksb2YIxuB49iuFk9PysrrrctQVMrWwsJiic44DW\/LdjxKkT6tM8xhs1BLXub7zwCGt6uXrhauDvZHHT2iKTnN5enh4GkRZj6Q1i7e20UoHU5wz\/Gn1gvlvPSXezYgA+1JTnOz28SPMKu4y\/wBTHmmvJmnRRLfc6O6QdNRzCRo94cC34jkpao1Y6IyUldBERCT5e9sbHPecNaCSeoKLR3e3V4HstZFIT+ztYd4HepbmhzS1wBBGCDzVLW6Rs9Zkin9ndv3wnZ8uCst3mZVHUWsEmXaLMDTd5oj\/AGdfZNnOdiYZA9R18kbLrKlb9qCkq8cd4BPgQp3FyZnx5LtQfv7GnRZj6w36D7xp2STl+aJ49wKjRa2qW100dTbXhjRlsbGnpGD\/ABZ\/kFPDkQ9rpLN15M2CLMfXy2t3PpaxruY2G\/7l9R67tDzh0dUztcwfIlRw59Cfq6H9SNKiz312s3783+mVfQysnhZNE7ajkaHNd1g7wVDi1lGsKsJ9l3PtERVNAiIgCIiAIiIAiIgCotXXM26yvbGSJag9G0jkOZ8PVXqwWpTPfNUx22nJc2LDPdOGE73OPl4LSmry1OTa6jhSajl6I8sVrnvrIopC6K1U27ZAwZnZyT8c8+Q3BbilpKeigbBTRNijbwa0L2mp46SmipoW7McTQ1o7Auqic3JlqFBUo9\/X\/eQREVDpMveLZNZao3y0hrA3fUw\/suHM\/wA\/FaGjq4q6jiqoTlkrQ4dnYvLgwSW6pY7g6F4PgVUaLeXaciHJr3AeOfUrR6xu+RyxXDrbscNX8y\/REWZ1BERAEREAWYoN\/wCUO5EbwKYDPdGtOsxpwiq1HeqxoJaHiNrjz3n\/AGjyV44bOavrOmu\/2TNOvl7GSN2XtDh1EZX0iodJw9ipf+mh\/wBMLsAAMAYAXqIQklgIiISV1ffrZa52wVlT0Ujm7YGw527JHIHqK4x6pskoJbcGDH7zXN9QqzoILjr2oZPEyaOCmGWvaHNzu5H8SuX6fs8nvW2nH4Yw30WjUVa5yRnWm242sm1zO9Nc6CrOKesglOcYbICfBSlQ1OjLLUElsD4CecTz6HIUU6YulAdu1XqUYH6ubJB6uzyS0XhluJWj2oX8H8moRZb6dvtrdi72wSQ854eA7TjPyV7bLpSXalFRSP2m8HNO5zT1EKri1qXhXhN7uH0ejJiIiqbHGsqG0lFPUu4RRuee4ZWb0TSdJFVXaXfPUyFueoZyfE+gUnWdY+G0tpIm5krHiMb8buJ+Q71b22ibbrdBSMxiJgBI5nmfHK0xDxORrf2hdIr8v+CUiIszrCIvCQBknACAh3mqZR2eqneMhsRGM4yTuA8SoOkaZ9Npyn2wQ6Takweond5YPeq2sqHarurLfSEG30zw6eQOx0nw88eK1jWhrQ1oAAGAByWj+2NjlpviVXNYWi\/yeoiLM6giIgCIiA41dQ2ko5qhxAbEwvOewZVFoiAssr6l+S+pmc8k8wN3qCu2san2bTszQcOmc2MeOT5AqytVKaK1UtMfejiaHfHG\/wA1piHicz+7aF\/avf8A4S0RFmdIREQBeOcGtLnEAAZJPJeqn1TXGgsFQ9riHyjomEHG88fLKlK7sUqTUIuT5FfpFr6yruV3fkColLWDGBgHPzAWoVfYqH6OstNTluy8MDnjGPtHeVYKZu8jPZ4OFNJ5+QiIqm4Ualt1JRSTSU0DYnTu2pC39o\/LiVJRCGk3dhERCTG3yo9s1rbqLI2aZ7CR2khx8gFslh6Rhl\/KRK47+je8n\/JgeoW4WtTSy7jj2VuTnJ9fYIotfcqO2QiWsnETCcDIJJ+AG8qkl1iyoc6C00M9XOM4Oz9kdu7J9FRRbwbTrU4O0nqaGaeGmiMs8rIo28XPOAFlK241uqpjb7Q10dEDiepcMbQ6vh2cT2DK6w6euN6lbU6gqSGNOW0se4D4kcPM9q0tPTQ0kLYaeJkUbeDWDAVtId7MmqlfR\/bH8v4OFstlNaaNtNTMw0b3OPF56ypiIqN3OqMVFWWAiIoJCIiAIiIDL6q\/TbtabYBkPl23g792QPTaWoWXbtVn5Q3HeW0UG7fuGW\/\/AGtQtJ6JI5qGspz77egREWZ0hERAFldQZueprbamjaZGemlwOX\/A8+a1DnNYwvccNaMk9QWJoKe7Xeuq79b5o4pOkLIxIMh7BjcMjduA3888lpTWWce1O6UEr3f4WTcIst9abjbsMu9nkbgb5Yfd7ezzUyn1jZJwNqpdC48pIyPMZHmodOXQ0W00no3Z9+nuXqKJBdbdU46Cup5CeQkGfBSgQRkHIKraxupJ4Z6iIoJCIiAyNnAOv7mTyjcR4tWuWVtcfRflBubeuDa8dg\/NapaVMrwOTZVaMvF+5Buloo7xA2KrY4hpy0tcQWn+utUkenLzat9pu22wbxDOPsnd3j0WpRVU2lY1nQhN7zz1Whlo9VVlu2Yr7bJYTnZ6aMfZPyPcVoaKvpLhD01JOyZnPZO8fEcR3rtJGyVhjkY17HcWuGQVQ1ekqbpBU2qaS3VLRudGTsn4j+vgVa8X3Gdq1PD3l6P4NAiyjbzfLG4R3ijNVTjcKiHecdfbw54Kv7fdKK6QiWknEg5t4OHxHequDWppTrwm7YfR5JiIiqbBERAERfMj2xRukd7rASfgEBmtLn2m9XqsPB02ww8N2XfIBadZrQzHfRE9Q\/3pqhzs9mB88rSq9TtHNsv6KfXX1YREVDpCIiApdW1nsenqjHvTfmhv6+PllS7HRigstLTgYLYwXfiO8+ZVLef7X1ZRWr3oaYdNMB18cHux\/mWpWj0ikctP760p9NPkKHUWi3Vf6+hgeessGfFTEVE7HS4qWjRRz6Osk2SKZ0RPOOQjyO5Q\/qPBF90udXBvzxB9MLUIrKpJczB7LRf7UZn6u3yFuIdRzPyd\/SNPzJWgpI5YaSKKebppWNAdJjG0etdkUOTeS9OjGm7x92ERFU1KamtFRDqqrurnxmCeEMa0E7QOGcRjH7J5q5RFLdykIKF7c9QiIoLhERAeOaHNLXAEEYIPNUFfpCjnk9ooHvoKhuS0wnDc\/Dl3LQIpUmsGdSlCorSRlG3u9WHEV5o3VUIP3qHfu9Ovjgq9t95t90A9kqmPfjJjJw4dx3qaQCMEZBVPW6VtNbOJ+gMEocHF0DtjPdw7+KveLzoYqFWn2XvLvz6lyiIszqChXkkWSvIOCKaT+EqauNXTiro56Zzi0TRujJHLIwpWSs03FpFVo5rW6YpSBguLye07ZHyV2odpt4tVshomyGURA\/bIxnJJ4d6mKZO8mylGLjTjF8kgiIqmoXhIAyTgBeqq1NVvo7BUvjBL3t6NuOW0cZ81KV3YpOShFyfIrNItNdW3K8vGTPLsRkjg3jj+HwWoVbp+gNuslNTuaWybO08HiHHeR3cO5WStN3kZ7PBwpJPPyERFQ3CIiAIiIAiIgCIiAIiIAiKHV3e30MnR1VXHE\/qJ3\/1vClJvBEpKKu3YmIq1mobO84Fxpx+J+PVTIaumqMdBURS5GRsPBz4I00VU4SwzsiIoLhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBQamy22tmM1TSRyyHi52SepTkUptYKyjGStJXKp+mLI9uybfGB2Ej0KhzaIs0mdhs8OT+xJnHjlaFFKnJczN7PRlmK9DMfUqOPdT3WsiA4Da4eGE+rV5h30+o53dQkDsD\/yK06KeJIp9LS5K3mzMCh1hTn83c6adoO4PG\/v+z809o1nF\/cqOfvA\/wDYLTom\/wByH09sTfr8mYF41RHulsTHn\/A7n4lBqyvi+9aeq4x+8M482rTom8uaHBqLFR\/gzI11b2nZnpauJ3MFg3eakx6zsb\/eqXx\/iid8gVeFocMOAI6io0trt8wxLQ07\/wAUTT8kvDoNzaFiSfl\/JHj1DZ5fduNOPxP2fVToqiCf9VNHJuz9hwKrZNL2SX3rfGPwkt9CoUuhrS85jfUQnlsSA48QUtDqN7aFlJ+djRoswdI1Uf3W\/wBZD17yc+Dgn0LqaHfBfg8jh0rf5gpux6jjVFmm\/VGnRZgv1nTu\/V0dUB1YGfNq8dqW90v3vT0pA4ujJwPIpuPkPqYrtJryZqEWaZri3h2xU01VTv6nMBHrnyU+DVFlqMBlwjaf+4Cz1ARwkuRaO0UZYki2RcoaqnqRmCeOUYzljw70XVUNk08BERCQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID5fGyVuzIxr29ThkKvn09Z6nPSW6AZ5sbsHywiKU2sFZQjLtK5WzaGtTx+ZfPA4HILX5x4rkNL3amP6FqCcNz7j84HmQfBEVuJLqYPZaOUreGh9dBrKn4VVJVAcAQB8h\/RX0y96hgc1tXYC\/JAJhd\/wA+qIpUr5RSdJwV4zfv7mlREWZ2H\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "IVAN DIAZ ALARCON",
    "correoContacto": "IVAN.DIAZ@EPLICANCABUR.CL",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN E INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "967966316",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:46",
    "ubicacionGPS": "LatLng(lat: -22.0886926, lng: -70.1946065)",
    "horaLlegada": "08:06",
    "horaDespacho": "11:02",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


04/05/2026 11:46:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[04/05/2026 11:46:07] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'KY2522', 2, 21773342, 530948, NOW(), 
				'11:02', '08:06', '11:46', 4, '01 Rkit 2675
01 Rkit 2442
01 Rgom 2576
02 iton 2174
Mantenimiento', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777909567.png', '', null, 'COMPLETADO','LatLng(lat: -22.0886926, lng: -70.1946065)' )
				
[04/05/2026 11:46:07] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200148

04/05/2026 11:46:07 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200148'                    
				WHERE idllamado = 12370			
				TO ENVIO: micorreo@miempresa.cl, IVAN.DIAZ@EPLICANCABUR.CL


04/05/2026 11:46:07 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12370			
				
04/05/2026 11:46:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


04/05/2026 11:46:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:46:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:46:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12370
            GROUP BY l.idllamado;
            
04/05/2026 11:46:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:46:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:46:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:46:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                [04/05/2026 11:46: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;
                

04/05/2026 11:46:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:46:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12370
            GROUP BY l.idllamado;
            
04/05/2026 11:46:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12370
            GROUP BY l.idllamado;
            
04/05/2026 11:46:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12370
            GROUP BY l.idllamado;
            [04/05/2026 11:46: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;
                

04/05/2026 11:46:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12370
            GROUP BY l.idllamado;
            
04/05/2026 11:46:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                [04/05/2026 11:46: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;
                

04/05/2026 11:46:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:46:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:46:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:46:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:46:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                
04/05/2026 11:46:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12370
                [04/05/2026 11:46: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;
                

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

04/05/2026 11:46:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 11:46:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 11:46:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 11:46:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [04/05/2026 11:46: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;
                

04/05/2026 11:46:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 11:46:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 11:46:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 11:46:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 11:46:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 11:46:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 11:46:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 11:46:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [04/05/2026 11:46: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;
                

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

04/05/2026 11:46:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 11:46:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 11:46:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 11:46:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 11:46:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [04/05/2026 11:46: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;
                

04/05/2026 11:46:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 11:46:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 11:46:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 11:46:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 11:46:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 11:46:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [04/05/2026 11:46: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;
                
[04/05/2026 11:46: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;
                
[04/05/2026 11:46: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;
                

04/05/2026 11:46:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 11:46:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 11:46:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 11:46:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 11:46:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 11:46:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 11:46:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 11:46:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 11:46:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 11:46:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 11:46:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [04/05/2026 11:46: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;
                

04/05/2026 11:46:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [04/05/2026 11:46: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;
                

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

04/05/2026 11:46:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 11:46:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 11:46:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 11:46:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 11:46:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 11:46:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 11:46:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 11:46:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 11:46:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 11:46:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [04/05/2026 11:46: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;
                

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

04/05/2026 11:46:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 11:46:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 11:46:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 11:46:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 11:46:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 11:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [04/05/2026 11:46: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;
                
[04/05/2026 11:46: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;
                

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

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

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

04/05/2026 11: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 = 12147
                [04/05/2026 11:46: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;
                

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

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

04/05/2026 11:46:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12147
            GROUP BY l.idllamado;
            
04/05/2026 11:46:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                [04/05/2026 11:46: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;
                

04/05/2026 11:46:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12147
            GROUP BY l.idllamado;
            
04/05/2026 11:46:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12147
            GROUP BY l.idllamado;
            
04/05/2026 11:46:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12147
            GROUP BY l.idllamado;
            
04/05/2026 11:46:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12147
            GROUP BY l.idllamado;
            
04/05/2026 11:46:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12147
            GROUP BY l.idllamado;
            
04/05/2026 11:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12147
            GROUP BY l.idllamado;
            
04/05/2026 11:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:48:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12147
            GROUP BY l.idllamado;
            
04/05/2026 11:48:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:48:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:48:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:48:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12147
            GROUP BY l.idllamado;
            
04/05/2026 11:48:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:48:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:48:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:48:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12147
            GROUP BY l.idllamado;
            
04/05/2026 11:48:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:48:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:49:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12147
            GROUP BY l.idllamado;
            
04/05/2026 11:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:49:05 - logentry: =========================================
FECHA: 04/05/2026 11:49:05
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-GQYTOsgY74UAvNFZ7u5cOGnmHMpr1S-2u0Mva-2s079A9UCsAUt
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2863",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "10900",
    "contadorColor": "30782",
    "contadorScanner": "0",
    "detalle": "01 itin 1940\n01 itin 1941\n01 itin 1942\n01 itin 1943\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12147",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAPoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIBAwf\/xABLEAABAwMBAwYICQoDCQAAAAABAAIDBAURBhIhMRNBUZGxwRQiMmFxgaGyFRY1NkJydILRIyUzNFViY3OS0iTT8AdFUlSToqPC4f\/EABkBAAMBAQEAAAAAAAAAAAAAAAABAgMEBf\/EADERAAIBAgIIBQIHAQAAAAAAAAABAgMREjEEEyEyQVFxkRQiUmHRM8EjJEKBobHh8P\/aAAwDAQACEQMRAD8A\/ZkREAFQXrVMVuqRRUkXhNW4huznDWk8AfP5lYXq5ttFslrCzbc3AY3pJ4LGWe3ST6oozMS6YMFVUbQyQTvHD0tO\/nK1hFNXZxaTWlFqnTzf8F14LrCsbtSVlNRgjyGgEj1gHtXvgGrKJzZILlDWAHxo5BjPX+IWnRTj9kaeGXqd+pmotXeDSNhvNBLRPJ3OwXNI6eHD0Z\/DRRSxzxNlhe2SN4y1zTkELmopoKuEw1MLJYzxa8ZCy09urdKVDq20tfU0Lt81O45LfOPx5ufKdoyy2Mlyq0dsvNH+V8muRQrXdaW70gqKZ27g5h8ph6Cpqhq2xnVGSkrrIIiJDOQ9heWBwLgMlud4XSpbnpekuVSarlp4ag8JGPzjzYKgnS10gwaTUNSMHcx+1j3u5WlF8TnlUqxe5dezNQiy7aXWVN4ra2lqG43bQH9oK98L1mz\/AHdRyZ\/eG7\/vCMHuheI5wl2NOizHh2s\/2TR\/1j\/MTw7Wf7Jo\/wCsf5iMHug8SvTLszToswX6ylJ\/JUkI82D3lSaCl1O2ujkr7jTOphvfGxgyd3DyR2owe6Gq93ZQfYvkRFB0BF8qqnZV0k1NISGTMcxxbxAIxuWcFi1Bb\/k28crG05Ec\/P0jfnuVJJ8TKpOUHsjdexqEWX+GtR284uFnFRGOMlPnh07s9y7j11bdvYnp6qBw47TAce3PsT1cuBn4ql+p267DSoqmDVFlqMBlwjaf4gLO0BTWXGhkGWVlO4fuytPepcWs0axqQlk0SUXEcscozHI146WnK7SNAiIgAiIgDL6mf4de7ZaM+I5\/LTDP0R7OAcvdIg1dVc7q4Z5efZYeAwN\/eOpVlfV\/nu+1wcP8PT8gwjmc4hv9y0el6UUmnaRuMGRnKHfx2t49mFvLZC3\/AHM8yl+JpDl1f2X3LdERYHphERAGSutLJpq7NvVE3\/CSu2amFvNnnHd0H0rUwTR1MEc8TtqORoc09IK+F0gZU2qqhkALXRO4+jcq3Rspl05CD9Bzmjr\/APq0fmjc5YLV1nBZPb+\/EvURFmdQREQAXwrKyC30r6mpfsRM8p2CexfdUur\/AJr1n3PfanFXaRnVk4U5SXBFvFIyaJksZ2mPaHNOOIPBdqFZfkOg+zR+6FNQ9jKi7xTCIiRQREQARF8qqYU1JNOcYiY55z5hlAm7K521zXt2muDh0g5XkkUcoxJG146HDKoNEMkFiMsji4yzOcC7o3DtBWiVSWF2IpT1lNSazK2fTtnqMmS3QAkYJY3Y7MKE\/RdkcciCRnmbKe9X6IU5LiTKhSlnFdjNyaFtD\/JdUx\/VkHeCptn03R2SeSamlne6RuyRI4EYzngAFbom5yas2KOj0oyxKO0IiKDcLwkAZJwAvVFuUwp7XVTH6EL3cccAUITdlc\/Pdsy2GUgYkr7hjJHEAZ7Xdq\/SYoxFEyMcGNDR6l+f2KI1FwstLuxHt1LhzZ2jjPn8Uexfoa2rZ2PP0BbHLovv9wiIsT0QiKovGo6G0NLHO5ap+jAw78+c8yaTbsiJzjBYpOyOtRXSK12qRzyDLMDHEwniSOPoHOvdOW99tsdPBKMSkF7x0E78ergqy12esudaLvfW+MP0FMRuYPOO7rWnVSslhRjSUpz1slbggiIoOkIiIAKl1f8ANes+577VdKl1f816z7nvtVQ3kY6R9GfR\/wBE2y\/IdB9mj90KaoVl+Q6D7NH7oU1J5l09xdAiIkWEREAFRaxqvBtOzAYzM5sYz5959gKvVl9RgXDUVqtg3tDuVkAGd2fwaetXBeY59JbVJpZvZ32F5aKXwK0UtNvyyIbWRjfxPtUxEUt3N4pRSSCIiQwiIgAiIgAqTV85g03U44ybLOsjPsyrtZjXkuxZIowd8k43dIAPfhXBXkjn0mWGjJ+xC0bAJbvVVHlCmgZC0ngDgZx\/SeHT51tFmtD0zmWiWqeADUylwx0Dd25VlqCetprPNLQN2pgMcCSBzkADiP8AXQantnYy0b8PR1J9SXVV1JRN2qqojhGM+O4DPoVJVa1t7HcnQxTVsp4BjS0E+k7\/AGKFY7PZbyzwqeqmrqnGZGTPILfSBv8AbhaqnpKakZsU1PHC3oYwN7Emox2PaVGVaqrxaS7v4M4W6ovY2X7Fqpid+M8oR29isrRpuhtH5RjTNUY3zSbz6hzK3RJzdrLYXHR4p4pbXzYREUHQEREAEREAFS6v+a9Z9z32q6VLq\/5r1n3PfaqhvIx0j6M+j\/om2X5DoPs0fuhTVCsvyHQfZo\/dCmpPMunuLoEREiwiIgAstZfzlq65XE5McA5GM83R\/wCp61fXWsFvtdTVk4McZLfrcB7cKs0bRmlsLJHjElS4ykniRwHsGfWtI7ItnLU81aEOW37IlXmnu8whktNVHC6IuL2SDdJwwOB8\/Wqs6muVrfyd6tTwxoA5eDe092\/0rULxzQ5pa4AgjBB50lJWs0XOlJvFCTT7rsV9FfrXcAPB6yPaP0HnZd1Hj6lYqor9L2m4Zc+m5J5z48J2T1cPPwVYLDfbOC603Ll4wMCnn7s7uxO0XkyNZWhvRuvb4NUiy41VcKIYutknjxxkiBLfPx3e1WFHqqzVm4VbYXdE3ie07vak4SRUdJpSdr2fvsLhFxHLHKMxyNeOlpyu1B0BYn\/aDOduipgRgBzyOoDvW2WIvUXwtrmnoiA5kbWtcBv3DLj2rWlvXOLTrulhXFpGqs0Hg1mo4edsLc7+fGT7VNRFm3dnXFYUkUFy0pTVM4rKCQ0NWw7TXRjxSekj\/XrURt11HZxsXG3+HQtIHLQnfjp3d4C1SKlPg9phLR1fFB4X7fBUW7U1ruXix1Aikxkxy+KfVzH1K3VbcNP2y5ZNRTDbJztsOyc9O7iqr4u3a2eNZ7s8sbvEFRvB83Rw8w4dRaLydgx1ob0b9Pj\/AE06LMDUtxtkoivdseyMAA1EIy0np6Pb6le0Vzobi3ao6qObAyQ0+MB5xxCTi0XCvCbsnt5PMlIiKTYIiIAKl1f816z7nvtV0qXV\/wA16z7nvtVQ3kY6R9GfR\/0TbL8h0H2aP3QpqhWX5DoPs0fuhTUnmXT3F0CIiRYREQBmdYSGpdQ2iMnbq5gXEDgAcZ9ufV16OKJkMTIo2hrGNDWtHMBwCzNv2LvrWrrfKjoWcnGQcja3jPvLUrSexJHLQ80pVObsui\/0IiLM6giIgAq+tsNrrweXo4y4jy2jZd1hWCJptZEyjGStJXM5Joi3bYfTT1NM79x+d3r3rQtbssDdouwMZPErpE3JvMmFKFO+FWCq6WxQ017qLryhfJMCNktGG8OHUrREk2ipQjJpvgEREigiIgAiIgDxzQ5pa4AgjBB51RVmkLZUSGanD6OU8HQuwB6ub1K+RNSayM504VFaSuZhw1XaTssMV0gHAuGH4689qs7ReJLm6VktuqKN8QBIlacEnmzgK0RU5JrIiFJweyTtye3\/AEIiKDcKk1i5rdMVQJwXFgHnO2D3K7Wf1sSNOvweMjM9auG8jDSXajLoyzswIslACMEU0fuhTV8KL9Rp\/wCU3sX3UvM1grRSCIiRQUG81rbfaKmpJwWxkNwceMdw9qnKm1VR1NfY3wUsZkkL2nZB4jKqNrq5lWbVOTjnY40jR+C2GKRzA2SpJlfuxx4erGOtXi+VKx0dLCx4w5rGgjoOF9UpO7uOlBQgorgEREjQIiIAIiIAIiIAIi+UtTBACZp44wOO24BAm0sz6oq6S\/2iJ2y+40+fM8HsXHxks37Rh61WF8iNbT9S7loiqXaosjTg3CP1Nce5fM6vsIOPD+H8J\/4IwS5E6+l6l3RdIqX432H\/AJ\/\/AML\/AO1dM1ZY3nAr2j60bx2hGCXINfS9S7ouEVczUFnk8m5U4+tIG9q+7LlQS\/o66nf9WVp70rMtVIPJolIuGSxyeRI127O45XaRYREQAUK7WyK70DqSZ7mNc4O2m8RgqaiadtpMoqSaeRxFGIomRtyQxoaM+ZdoiRQREQAREQAREQAREQAREQAREQAREQBT3ewOu9UyR9wnhhazZMMfAnJOfTw5uZRGaHtDTl5qJTz7cg39QC0aK1OSVkzCWj0pSxSjdlRHpWyRAAUDDgYy5zndpXfxbs37Oh6laIlilzK1NL0rsVw0\/Z2jAttP62ArsWW1AY+DKTd\/Ab+CnIlifMeqgv0ohfAtq\/ZlH\/0G\/guX2K0vGDbaUfViaOxT0RifMerhyRUP0tZJPKt7B9Vzm9hXwfoyyP8AJp3s+rK7vJV8ieOXMh6PSecV2M0\/Qlodwkqmb+Z47wufia+L9VvVZCRw35x1ELTonrJcyPCUfSZgWHUUG6DUDngcOVBPblNnWdN9Ojq8b+YbXm+itOiMb4oPDRW7Jr9zMfDuo6b9asBlxx5Bx7tpet1vSRvDKyhqqYnpaDjsK0y5c1r2lr2hzTxBGQUYo8UGqqrdn3SfwU8GrrJPu8M5M9EjHD24wp0N3ttQAYq+nfnmEoz1LmayWqckyW+nJPEiMAn1hQZdHWSXeKV0Z\/ckdv6yn5PcPzC5Puvkuw4OGWkEdIXqzDtEQR58CuVXTk7+IIz6sJ8D6opf1W9smA5p27yPWHdqMMeDDW1VvQ7NP4NOizHh2rqX9Nbaepb\/AMUZ39vcnxsrabdX2Gqixxe3JB6x3pat8A8VBbya6pmnRZ6DW1ml8t80H8yMn3cqzp73a6rdDXwOPQXgHqKThJZouNelLdkici8BBGQcgr1SbBERABERABERABERABERABERABERABERABERABERABERABERABERABERAHwnoqSp\/WKaGb+ZGHdqrajSdlqONGIz0xuLfZwRE1JrJmcqUJ7yTIJ0ZyB\/N93q6XoGc46eBC8+DtW0gBgusNSOdsg3+0d6Iq1j4mXhaa3bro2eNu2qqUgVVmjnaOeI7z1E9ivrbVz1tEyoqKN9I9xP5J5yRv8AQOxETk01ewqalGphcm172+CWiIszqCIiAP\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "ivan diaz",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "tanque mantenimiento",
    "prioridad": "1",
    "telefonocontacto": "967966316",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:49",
    "ubicacionGPS": "LatLng(lat: -22.088687, lng: -70.194603)",
    "horaLlegada": "08:26",
    "horaDespacho": "11:46",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 11:49:05
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-GQYTOsgY74UAvNFZ7u5cOGnmHMpr1S-2u0Mva-2s079A9UCsAUt
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2863",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "10900",
    "contadorColor": "30782",
    "contadorScanner": "0",
    "detalle": "01 itin 1940\n01 itin 1941\n01 itin 1942\n01 itin 1943\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12147",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAPoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIBAwf\/xABLEAABAwMBAwYICQoDCQAAAAABAAIDBAURBhIhMRNBUZGxwRQiMmFxgaGyFRY1NkJydILRIyUzNFViY3OS0iTT8AdFUlSToqPC4f\/EABkBAAMBAQEAAAAAAAAAAAAAAAABAgMEBf\/EADERAAIBAgIIBQIHAQAAAAAAAAABAgMREjEEEyEyQVFxkRQiUmHRM8EjJEKBobHh8P\/aAAwDAQACEQMRAD8A\/ZkREAFQXrVMVuqRRUkXhNW4huznDWk8AfP5lYXq5ttFslrCzbc3AY3pJ4LGWe3ST6oozMS6YMFVUbQyQTvHD0tO\/nK1hFNXZxaTWlFqnTzf8F14LrCsbtSVlNRgjyGgEj1gHtXvgGrKJzZILlDWAHxo5BjPX+IWnRTj9kaeGXqd+pmotXeDSNhvNBLRPJ3OwXNI6eHD0Z\/DRRSxzxNlhe2SN4y1zTkELmopoKuEw1MLJYzxa8ZCy09urdKVDq20tfU0Lt81O45LfOPx5ufKdoyy2Mlyq0dsvNH+V8muRQrXdaW70gqKZ27g5h8ph6Cpqhq2xnVGSkrrIIiJDOQ9heWBwLgMlud4XSpbnpekuVSarlp4ag8JGPzjzYKgnS10gwaTUNSMHcx+1j3u5WlF8TnlUqxe5dezNQiy7aXWVN4ra2lqG43bQH9oK98L1mz\/AHdRyZ\/eG7\/vCMHuheI5wl2NOizHh2s\/2TR\/1j\/MTw7Wf7Jo\/wCsf5iMHug8SvTLszToswX6ylJ\/JUkI82D3lSaCl1O2ujkr7jTOphvfGxgyd3DyR2owe6Gq93ZQfYvkRFB0BF8qqnZV0k1NISGTMcxxbxAIxuWcFi1Bb\/k28crG05Ec\/P0jfnuVJJ8TKpOUHsjdexqEWX+GtR284uFnFRGOMlPnh07s9y7j11bdvYnp6qBw47TAce3PsT1cuBn4ql+p267DSoqmDVFlqMBlwjaf4gLO0BTWXGhkGWVlO4fuytPepcWs0axqQlk0SUXEcscozHI146WnK7SNAiIgAiIgDL6mf4de7ZaM+I5\/LTDP0R7OAcvdIg1dVc7q4Z5efZYeAwN\/eOpVlfV\/nu+1wcP8PT8gwjmc4hv9y0el6UUmnaRuMGRnKHfx2t49mFvLZC3\/AHM8yl+JpDl1f2X3LdERYHphERAGSutLJpq7NvVE3\/CSu2amFvNnnHd0H0rUwTR1MEc8TtqORoc09IK+F0gZU2qqhkALXRO4+jcq3Rspl05CD9Bzmjr\/APq0fmjc5YLV1nBZPb+\/EvURFmdQREQAXwrKyC30r6mpfsRM8p2CexfdUur\/AJr1n3PfanFXaRnVk4U5SXBFvFIyaJksZ2mPaHNOOIPBdqFZfkOg+zR+6FNQ9jKi7xTCIiRQREQARF8qqYU1JNOcYiY55z5hlAm7K521zXt2muDh0g5XkkUcoxJG146HDKoNEMkFiMsji4yzOcC7o3DtBWiVSWF2IpT1lNSazK2fTtnqMmS3QAkYJY3Y7MKE\/RdkcciCRnmbKe9X6IU5LiTKhSlnFdjNyaFtD\/JdUx\/VkHeCptn03R2SeSamlne6RuyRI4EYzngAFbom5yas2KOj0oyxKO0IiKDcLwkAZJwAvVFuUwp7XVTH6EL3cccAUITdlc\/Pdsy2GUgYkr7hjJHEAZ7Xdq\/SYoxFEyMcGNDR6l+f2KI1FwstLuxHt1LhzZ2jjPn8Uexfoa2rZ2PP0BbHLovv9wiIsT0QiKovGo6G0NLHO5ap+jAw78+c8yaTbsiJzjBYpOyOtRXSK12qRzyDLMDHEwniSOPoHOvdOW99tsdPBKMSkF7x0E78ergqy12esudaLvfW+MP0FMRuYPOO7rWnVSslhRjSUpz1slbggiIoOkIiIAKl1f8ANes+577VdKl1f816z7nvtVQ3kY6R9GfR\/wBE2y\/IdB9mj90KaoVl+Q6D7NH7oU1J5l09xdAiIkWEREAFRaxqvBtOzAYzM5sYz5959gKvVl9RgXDUVqtg3tDuVkAGd2fwaetXBeY59JbVJpZvZ32F5aKXwK0UtNvyyIbWRjfxPtUxEUt3N4pRSSCIiQwiIgAiIgAqTV85g03U44ybLOsjPsyrtZjXkuxZIowd8k43dIAPfhXBXkjn0mWGjJ+xC0bAJbvVVHlCmgZC0ngDgZx\/SeHT51tFmtD0zmWiWqeADUylwx0Dd25VlqCetprPNLQN2pgMcCSBzkADiP8AXQantnYy0b8PR1J9SXVV1JRN2qqojhGM+O4DPoVJVa1t7HcnQxTVsp4BjS0E+k7\/AGKFY7PZbyzwqeqmrqnGZGTPILfSBv8AbhaqnpKakZsU1PHC3oYwN7Emox2PaVGVaqrxaS7v4M4W6ovY2X7Fqpid+M8oR29isrRpuhtH5RjTNUY3zSbz6hzK3RJzdrLYXHR4p4pbXzYREUHQEREAEREAFS6v+a9Z9z32q6VLq\/5r1n3PfaqhvIx0j6M+j\/om2X5DoPs0fuhTVCsvyHQfZo\/dCmpPMunuLoEREiwiIgAstZfzlq65XE5McA5GM83R\/wCp61fXWsFvtdTVk4McZLfrcB7cKs0bRmlsLJHjElS4ykniRwHsGfWtI7ItnLU81aEOW37IlXmnu8whktNVHC6IuL2SDdJwwOB8\/Wqs6muVrfyd6tTwxoA5eDe092\/0rULxzQ5pa4AgjBB50lJWs0XOlJvFCTT7rsV9FfrXcAPB6yPaP0HnZd1Hj6lYqor9L2m4Zc+m5J5z48J2T1cPPwVYLDfbOC603Ll4wMCnn7s7uxO0XkyNZWhvRuvb4NUiy41VcKIYutknjxxkiBLfPx3e1WFHqqzVm4VbYXdE3ie07vak4SRUdJpSdr2fvsLhFxHLHKMxyNeOlpyu1B0BYn\/aDOduipgRgBzyOoDvW2WIvUXwtrmnoiA5kbWtcBv3DLj2rWlvXOLTrulhXFpGqs0Hg1mo4edsLc7+fGT7VNRFm3dnXFYUkUFy0pTVM4rKCQ0NWw7TXRjxSekj\/XrURt11HZxsXG3+HQtIHLQnfjp3d4C1SKlPg9phLR1fFB4X7fBUW7U1ruXix1Aikxkxy+KfVzH1K3VbcNP2y5ZNRTDbJztsOyc9O7iqr4u3a2eNZ7s8sbvEFRvB83Rw8w4dRaLydgx1ob0b9Pj\/AE06LMDUtxtkoivdseyMAA1EIy0np6Pb6le0Vzobi3ao6qObAyQ0+MB5xxCTi0XCvCbsnt5PMlIiKTYIiIAKl1f816z7nvtV0qXV\/wA16z7nvtVQ3kY6R9GfR\/0TbL8h0H2aP3QpqhWX5DoPs0fuhTUnmXT3F0CIiRYREQBmdYSGpdQ2iMnbq5gXEDgAcZ9ufV16OKJkMTIo2hrGNDWtHMBwCzNv2LvrWrrfKjoWcnGQcja3jPvLUrSexJHLQ80pVObsui\/0IiLM6giIgAq+tsNrrweXo4y4jy2jZd1hWCJptZEyjGStJXM5Joi3bYfTT1NM79x+d3r3rQtbssDdouwMZPErpE3JvMmFKFO+FWCq6WxQ017qLryhfJMCNktGG8OHUrREk2ipQjJpvgEREigiIgAiIgDxzQ5pa4AgjBB51RVmkLZUSGanD6OU8HQuwB6ub1K+RNSayM504VFaSuZhw1XaTssMV0gHAuGH4689qs7ReJLm6VktuqKN8QBIlacEnmzgK0RU5JrIiFJweyTtye3\/AEIiKDcKk1i5rdMVQJwXFgHnO2D3K7Wf1sSNOvweMjM9auG8jDSXajLoyzswIslACMEU0fuhTV8KL9Rp\/wCU3sX3UvM1grRSCIiRQUG81rbfaKmpJwWxkNwceMdw9qnKm1VR1NfY3wUsZkkL2nZB4jKqNrq5lWbVOTjnY40jR+C2GKRzA2SpJlfuxx4erGOtXi+VKx0dLCx4w5rGgjoOF9UpO7uOlBQgorgEREjQIiIAIiIAIiIAIi+UtTBACZp44wOO24BAm0sz6oq6S\/2iJ2y+40+fM8HsXHxks37Rh61WF8iNbT9S7loiqXaosjTg3CP1Nce5fM6vsIOPD+H8J\/4IwS5E6+l6l3RdIqX432H\/AJ\/\/AML\/AO1dM1ZY3nAr2j60bx2hGCXINfS9S7ouEVczUFnk8m5U4+tIG9q+7LlQS\/o66nf9WVp70rMtVIPJolIuGSxyeRI127O45XaRYREQAUK7WyK70DqSZ7mNc4O2m8RgqaiadtpMoqSaeRxFGIomRtyQxoaM+ZdoiRQREQAREQAREQAREQAREQAREQAREQBT3ewOu9UyR9wnhhazZMMfAnJOfTw5uZRGaHtDTl5qJTz7cg39QC0aK1OSVkzCWj0pSxSjdlRHpWyRAAUDDgYy5zndpXfxbs37Oh6laIlilzK1NL0rsVw0\/Z2jAttP62ArsWW1AY+DKTd\/Ab+CnIlifMeqgv0ohfAtq\/ZlH\/0G\/guX2K0vGDbaUfViaOxT0RifMerhyRUP0tZJPKt7B9Vzm9hXwfoyyP8AJp3s+rK7vJV8ieOXMh6PSecV2M0\/Qlodwkqmb+Z47wufia+L9VvVZCRw35x1ELTonrJcyPCUfSZgWHUUG6DUDngcOVBPblNnWdN9Ojq8b+YbXm+itOiMb4oPDRW7Jr9zMfDuo6b9asBlxx5Bx7tpet1vSRvDKyhqqYnpaDjsK0y5c1r2lr2hzTxBGQUYo8UGqqrdn3SfwU8GrrJPu8M5M9EjHD24wp0N3ttQAYq+nfnmEoz1LmayWqckyW+nJPEiMAn1hQZdHWSXeKV0Z\/ckdv6yn5PcPzC5Puvkuw4OGWkEdIXqzDtEQR58CuVXTk7+IIz6sJ8D6opf1W9smA5p27yPWHdqMMeDDW1VvQ7NP4NOizHh2rqX9Nbaepb\/AMUZ39vcnxsrabdX2Gqixxe3JB6x3pat8A8VBbya6pmnRZ6DW1ml8t80H8yMn3cqzp73a6rdDXwOPQXgHqKThJZouNelLdkici8BBGQcgr1SbBERABERABERABERABERABERABERABERABERABERABERABERABERABERAHwnoqSp\/WKaGb+ZGHdqrajSdlqONGIz0xuLfZwRE1JrJmcqUJ7yTIJ0ZyB\/N93q6XoGc46eBC8+DtW0gBgusNSOdsg3+0d6Iq1j4mXhaa3bro2eNu2qqUgVVmjnaOeI7z1E9ivrbVz1tEyoqKN9I9xP5J5yRv8AQOxETk01ewqalGphcm172+CWiIszqCIiAP\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "ivan diaz",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "tanque mantenimiento",
    "prioridad": "1",
    "telefonocontacto": "967966316",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:49",
    "ubicacionGPS": "LatLng(lat: -22.088687, lng: -70.194603)",
    "horaLlegada": "08:26",
    "horaDespacho": "11:46",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


04/05/2026 11:49:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[04/05/2026 11:49:05] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP2863', 2, 21773342, 10900, NOW(), 
				'11:46', '08:26', '11:49', 10, '01 itin 1940
01 itin 1941
01 itin 1942
01 itin 1943
', -1, 
				'', '','1','30782',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777909745.png', '', null, 'COMPLETADO','LatLng(lat: -22.088687, lng: -70.194603)' )
				
[04/05/2026 11:49:05] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200149

04/05/2026 11:49:05 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200149'                    
				WHERE idllamado = 12147			
				TO ENVIO: micorreo@miempresa.cl, null


04/05/2026 11:49:05 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12147			
				
04/05/2026 11:49:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


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

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

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

04/05/2026 11: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 = 12147
                
04/05/2026 11: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 = 12147
                
04/05/2026 11: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 = 12147
                
04/05/2026 11: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 = 12147
                
04/05/2026 11:49:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                
04/05/2026 11:49:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12147
                [04/05/2026 11:59: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;
				
[04/05/2026 11:59: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;
                
[04/05/2026 11:59: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;
                
[04/05/2026 12:04:35] 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;
                
[04/05/2026 12:04:35] 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;
                
[04/05/2026 12:04:37] 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;
                
[04/05/2026 12:13: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 12:13:21] 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;
                
[04/05/2026 12: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;
                

04/05/2026 12:13:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:13:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:13:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:13:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [04/05/2026 12:13: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;
                
[04/05/2026 12:13: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;
                

04/05/2026 12:13:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:13:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:13:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [04/05/2026 12:13: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;
                
[04/05/2026 12:13: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;
                

04/05/2026 12:13:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:13:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:13:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [04/05/2026 12:13: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;
                

04/05/2026 12:13:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [04/05/2026 12:13: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;
                

04/05/2026 12:13:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:13:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [04/05/2026 12:13: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;
                

04/05/2026 12:13:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:13:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:13:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [04/05/2026 12:13: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;
                

04/05/2026 12:13:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:13:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:13:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [04/05/2026 12:13: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;
                

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

04/05/2026 12:13:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:13:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:13:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:13:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:13:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [04/05/2026 12:13: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;
                

04/05/2026 12:13:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:13:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:13:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:13:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:13:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:13:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:13:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [04/05/2026 12:13:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 12:13:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12:13:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:13:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:13:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [04/05/2026 12:13: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;
                

04/05/2026 12: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 = 12369
                [04/05/2026 12:13: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;
                

04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                [04/05/2026 12:13: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;
                
[04/05/2026 12:13: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;
                

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

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

04/05/2026 12: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 = 12397
                
04/05/2026 12: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 = 12397
                
04/05/2026 12: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 = 12397
                [04/05/2026 12:13: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;
                
[04/05/2026 12:13: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;
                

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

04/05/2026 12:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12:14:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12:14:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                [04/05/2026 12:14: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;
                
[04/05/2026 12:14: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;
                
[04/05/2026 12:14: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;
                

04/05/2026 12:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12:14:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                [04/05/2026 12:14: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;
                

04/05/2026 12:14:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12:14:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12:14:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12:14:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12:14:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:14:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12: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 = 12397
                
04/05/2026 12:14:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12397
                
04/05/2026 12: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 = 12397
                
04/05/2026 12:14:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12397
                
04/05/2026 12: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 = 12397
                
04/05/2026 12: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 = 12397
                
04/05/2026 12:15:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:15:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12:15:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:15:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:15:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12:15:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12: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 = 12397
                
04/05/2026 12: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 = 12397
                
04/05/2026 12: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 = 12397
                
04/05/2026 12:15:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12:15:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:15:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:15:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:16:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:16:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:16:02 - logentry: =========================================
FECHA: 04/05/2026 12:16:02
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-pVk.hCradPs-QcVvFU7jcLvyO716aQhC_FO-1YpMw6Gn0H6_2L2
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2559",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "01 itin 1940\n01 itin 1941\n01 itin 1942\n01 itin 1943",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12397",
    "observacion": "entrega en domicilio",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD5AKIDASIAAhEBAxEB\/8QAGwABAQEBAAMBAAAAAAAAAAAAAAYFBAIDBwH\/xABFEAABAwMBAwkFAwYPAQAAAAABAAIDBAURBhIhMRMiQVFhcYGRoRQjMrHBFULRJENSc5LhBxYlMzQ1NmJydKKywtLw8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAgMFBgYDAQEAAAAAAAABAgMREiExBDJBUWETM3GRsdEUIoGhwfAjQuHxJP\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIvwkAZJwApWruVfqSrkt9mfyNIzdPVHdnu\/dx7ApRjcqq1VTXNvRHXdNVRU84pLbCa+qdu2Y97WntxxXfZvtU0rn3bkhK9201rPuDqP\/ivK02eks9MIqaMbRHPkI5zz2n6LvXW1ayRGnCpfHN\/Raf6ERFAvPFxcGEtG04DcM4yVgW3Uzva3UF5ibRVYdzP0HA8N+\/54KoVwXWzUd4pzHUxjbA5koHOZ3H6KUWtGU1Y1MnB5rhwZ3opix3Wqt9w+wbs4GVo9xNnc8dAz8vJU6SjhZ2lUVSN1\/wACIiiWhERAEREAREQBERAERTV71jTURfS0I9oqcY2h8DD9T2BSjFydkV1KsKUcU2fmoLnPWVrLDbZGiSUH2iXP823pHlx8uldlHPZNP0LaRtbCNjJedoFzndJIHl6LDt2jKyqc6pulW6Ll+c9kZ57id52jwHqt2n0nZacDFGJD1yuLs+HBWSwJWuYqaryk6mFJvS\/BeAOrrE04NePCJ5+i8otVWOZ2y24MB\/vtc35hdLbHaWjAtlJ4wtP0XhLp+zzfFbacbscxgb8lD5Opo\/8ATzj9zrgq6aqBNPURTAcTG8O+S9ynajRFqkO1TmemeDlpY\/IB8cn1Xp+w9QW3nW68GoaOEU46OrfkfJdwxejHa1Y70PJ\/8KhFOW\/VgNSKG70zqGp4bTtzD58PUdqogQRkHIKi4uOpbTqwqK8WY+prP9qW4vhb+V0\/PhcOJ6x4\/PC9mnbuLvbWvefyiLmTNxjndfitVS0O1ZdbPi2Q2luY2m9W2P35\/aCkvmjYpqLs6qqLR5P8P8FSiIqzUEREAREQBERAERY2prq+224Mp99VUnk4QDvHWR3ZHmF1K7sQqTUIuT4HDd7rU3SvNjs7sOO6oqBwYOkZ\/wDdSy9N2mlrL66WFu3R0G4Pdg8tJ0O7unHRgda7KqBmltJyMyPbavDZHZ3knjv6gM+J7Vu2C2ttVnhp8e8I25DjGXHj5cPBXOSjHI8+NN1aydTVZvpyX5ZpIi5q24Uluh5WrnZE07htHeT2KjU9JtJXZ0opiTWXLvLLVa6iswcF2CB6A+uE9s1fVfzdvpqZvW8jPz+in2b4mf4qm9278EU6KY2NZvOOVpI8dOBv9Cn2RqqbdPfI2A8eSb+ACYFzQ+Ib0g\/36m5cLZSXSn5CshEjQctOcFp6wVg2SeptN7+wX1DaqncwvhcDkxjecHq4cO7uP7\/FCpqARX3yqnB4tBOPUla1qsNBZxmmjJkIwZJDlx+g8FK6Ste5XhqTqKeHDbjfVcsjSU1reA\/ZkFdGPe0swcHdQP7w1Uqz79CJ7DXMIz7hzgO0DI9QoQdpJl9eOOlJdDsp5m1NNFOz4ZWB7e4jK9iyNKzGfTdG5xyWtLPJxA9AFrrklZ2J05Y4KXNBERcJhERAEREAUxbsXzVVTcHnNPQDkoGnpdvyfn5jqW7cqn2K2VNSDgxROcO\/G71Upp6+Wux2Boml26iVzpHRRjLuOBk8BuA6VZBPC2jHXnFVIxk7JZ+x214feNZU1FzXU1A3lpBxBduO\/wD0jHet+suFHb2bdXUxwg8Np289w4lRFpjvd2q66ttrmU7KmUh8z3b29OyOngR0dW9b9Jo+jZKKi4TTV8\/3jK7mk93E+JUpJKybKqFSpK8oR1er06HLXa7powfYaZ8+AfePOy0Ho3cT6LIZbdRXCrbcqm2trGv5zY55AGgHqbtAjuK19SQRTXG1WWGKOOnkk23sYNndnoAG7dtb1VNaGtDWgAAYAHQu4lBLCtTiozrzaqSyXLn9zAtGomvqW2yuo\/YKkABjODXdgHR2cVQLE1TaftK1ukib+VU3vInDju4j\/wB04XRp+4m6WaCpccyY2JP8Q\/Hj4quSTWJGmnKUZ9nN34p\/vI00RFA0hERAFzXFpfbapo4mF49Culeit\/oNR+qd8l1akZbrMfRbg7TcIH3XvB81vqe0T\/Z1n616oVKe8yrZu5j4IIiKBeEREBj3apv8NQ1tqoKeeLG90j9+e7aH1WeZtZ1GGilpKbf8QIOP9RVQimpW4GeVFyd8b\/foQd+tl5gtMlZc7qZTtBvIRk7Jz5Dwwtb7LoLNpmWsipmCp9k3ynedstxkZ4bz0L9147ZsMYx8VQ0f6XH6Lz1nL7Ppow5\/nHsj4ccc7\/irE20l1McqcKcqj1suOeeZ06Tp\/Z9OUo6ZAZD4nd6YWyuehh9nt9NBgjk4mtwejAAXNNeI4b9T2kxOL54zIH53D4v+qqd5Ns3Qw0qcU+iMmv3\/AMIdtB3gUxOPCRU6mLn7vXlrk\/ShLd\/D7\/4qnXZ6LwIUN6fj+EFL6XHsF6utpI2Wsfysbepv\/wALVUKYqM0n8IVO4fDV05BPcD\/1C7DNNCvlKE+Tt55FOiIqzSEREAXPXuay3VL3HDWxOJPUMFdCzNRzchp6ufkDMRbv\/vbvqupXZCo8MG+hPaHvTQRaHsDSdp8b8\/EeOPLJ8FaL5zHQCz0dmvAeWvkn2pD1NOMDyB819GVlVK90ZNhlLBgnqreTWQREVRuCIiAIiICY16CbHDgcKluf2XJr7+o4f8y3\/a5dOtIeV05M7BJje127o34+qzdVymq0fQT8dt8Tz4sP1Kvh\/XxPN2jJ1VzS\/JYKX1OPZb7Zq5m53K8m8k9GR9C5U7SHNDhvBGQsHWdK6ewPlYSHU72yburOD88+Crp7xq2lXpNrhn5ZnPqEiPVNkkzvLy3f3gfVU6jrxV+2O01XnBc6UOcBwzlmfUFWK7NZIjQadSduj+yCmNRczU9jk4bUhbnr3jd6qnUxrD3VXZ6rgIqnj1b2n6LlPeO7V3TfJr1RToiKBpCIiAKN13X7fs9qhJc9zhI8A+DR8\/RVVdWRUFFLVTODWRNyc+g81AWqKe7arpqmpJLpXe0Oz0Nb8PyA7sK6ks8T4GDbamSpR1l6FJqmgazSPItAPsgj2d\/VhvyJWzbJ\/abXSz9MkLXHd04XrvcQnslbGQDmB5GesDI9VyaSl5XTVJxy0Obv7HFR1h9S1LDtFlxXo\/8ATZREVZqCIiAIiIDludJ7dbKmlGNqWMtbngDjd64UTLUPrdAtjIO1SVAY7jnG\/Hz9F9AULcaX2a8Xa1hhMdfD7RCM79sZdu8Q4eSupPgeftkf7Limvb7lpSvElJC8cHRtPovytpxV0M9MfzsbmeYws7StV7Xp2lccbUbeTIB4bO4emFsKt5M2QaqU0+aPm7qrOmaEk4koK0sO\/OAcuHyPkvpC+baijNFcrnR4DYpnsqGZ6T2ftu8l9DpJeXo4Jt\/vI2u39oyrauiZh2JtTlF6qy8ro9ymNeYbZ6eTpbVNx+y78FTqY19\/UcP+Zb\/tcq6e+jTtfcSKdERQNIRFiajvTqCFtFSAvr6obMTW8W53bX4dvcupNuyIVJqnFykZ17nOoLsyy07y2lp3F9XMBuaRndns+fcvPSMLairr7q1mxG9whgGNwY3G4Z38A0eHl6aumOmtLPYw5uFcQyRwJLnOOc47gT4lUNloPs20U9KQ0PYzL9npcd571bJpRsjDSg5VsU9dX05L1Oqoj5amliIztsLcd4WBoaTb0+W5zyczm924H6qjUxoj3dNX053GOpOW9W7H0UFuM0VMq8H0f4KdERQNIREQBERAFNaxpXMhprtCzalo5AT2tz09mfmqVeueGOpgkglbtRyNLXDrBUouzuVVqfaQcST0dWR09wqrc2TMUuJ4N3HI3jvxjyKsF8wkFRYLsG7+WopdqMndykZ4+GPmepfSKOrirqOKqhOWStDh2disqxzxIybDUvF03qiN1\/TbFXS1TfzjDG7wOR8\/RVNhfylgoXdUDB5DH0WZrim5aw8rw5CVriew5HzIXZpR23pqjOc81w8nEJJ3po7Tjh2uXVXNdTGvv6jh\/wAy3\/a5U6mNegmxw4HCpbn9lyhT30XbX3EvAp0X40hzQ4bwRkLiut2pbRSGoqX7\/uMB5zz1BRSbyRfKSisTeR4Xu7xWa3vqZMOeebEz9N34daz9PWiYzG9XMl9bOMtaR\/NNPZ0HHkNy9NqtVTd6xt5vLe2npjwYOgkLQ1NdfsmzySMdieX3cXWCenwG\/wAlZp8q1Ml8X81TKK0X59jLeG6i1e0DnUdsGXHOQ5+fqQP2SqtZOm7YbZaWNlB9omPKzE8do9HgPXK1lGbzsuBbQg1HFLV5sKY0t7q93yDfgVG0Cf8AE79yp1MWz3Ou7pCd3KRB47fhP1KR0aOVsqlN9fVMp0RFA0hERAEREAREQGBqqxG60fL04\/K4AdjH329Lfw\/epvTN\/daqnkJ3O9ildh2fzLz8h\/7oK+hqP1JYvZah90pKfloX\/wBKpgNzhned28deRw4q6nJNYZHnbTRlGar09Vr++pRXGOO5WWpjieyRk0LthzSC0nG4571naKl5TTkTN\/unvb65+qybWytp6Y1enpxWUhJ5SinPOj7P3539RXHpi\/PtFNUUxoZqgcptkxb9k4xv8gu4HhaRH4iPaxnJWumun0PoKnNctLtP5H3Zmk+oXrOrqqUYpbFVSPzjBz9B3rJ1FJqGqthnuEcdNS5aORGMk53dZ+S5CDUlcntG0QnSko3eXI3K\/VENJHDS0MZq617Whsbd4acdOOnsXrtenZqiqF0vjzNUk7TYTvbH1f8AzgtCx2ahttJHJTw+8kY0ukdvcd3X0LTc5rGF73BrWjJJOAAouSWUS2FKU7Sqv6cP9PGaaOnhfNM8MjYMuc47gFLWmGTU13N5rIwKSA7FPC7fvG\/J6+Pn3Lxq5ZdXXQUVK5zbXTuBmlH5w9n081WRRRwQshiYGRsAa1o4AJuLqcX887\/1X3fsjzREVZsCmJfyf+ESHG72mm39uAf+qp1MXr3GsrPUfpgx7uPSP+SnDVozbTlGL5NepToiKBpCIiAIiIAiIgCIiAmbjYqy3VhuenyGPcDytP8Adf3D6eSyNF10VPdauOocyDlhuDzjnA8N\/ir1QNDZqW5atulHUtfsASPaWuwWnbG8eBPFXwlii0zzK9J06sJU+enAvlPa2\/s6\/wDWsXpGmrvQu\/ky9vZGPhikBLW9gzkeiy9RUN+htTpblco54dtuY2DG\/wAguQisSsyzaKs3SkpQay6WKt1yo7ba4JaudsTeSbgHid3QOJWBLNcdXy8jTtfSWkHnSuG+THz7uA6V1WvSFvbHFU1jpKyRzAcSHmjp4fiSqNrWsYGMaGtaMAAYACjeMdNSahUqpKeUeS1fiz00VFT2+lZTU0YZGwbh19p7V0IirNaSSsgiIh0KY1d7u4WWo6I6n6tP0VOpnXTSLPBKOMdQ07+4qdPeRm2vuZfvEpkXi1wewOHAjK8lA0hERAEREAREQBERAFPUVBUxa2r6wwObTyQANk6CeZn5FUKLqdrlc6am03wdwp7W39nX\/rWKhU9rcgaddk8ZW4UobyK9p7mXgbVF\/Qaf9U35L3r00YIooARgiNvyXuUGXR0QREQkEX4SAMk4AWRW6ptFEdk1Qmf+hDzvXgPErqTehCc4wV5OxsLC1lDyum5zgExua4dm8D6rk\/jHebhutdleGnhLPnGPQdXSVzXG03+rttRPdLmyOOOJz\/Z4twOBnBxgcQOtWRjZptmSrWVSnKMIt3X0+5tUl6oKez0ctVWQxOdAwlpdzuG\/dx4rptt3orsJXUchkbEQHEtI496+e2y1uvLI6aipC14Pv6qRxLW79wA6Nw719BtNmpLPTCGmZlx+OUjnPPb+C7OMY+JzZq1Wq1ksJ3oiKk3hERAEREAREQBERAFM68cW2KID71Q0H9lypSQBknACj9b3OhqbbFSwVUcszZ2vLWHOBsu6Ru6QrKa+ZGXbJJUZXZXtaGMDRwAwv0kAZJwApduo7zcx\/JFncGHhNMeaRnwHqV+nTNzubg683Z5aPzMHDzwB6FMFt5j4jF3cW\/svuaFbqmz0IIdViZ4HwQ88nx4eZWadQXy5HFqs5Yw8JZ\/nvwPmtigsFstoBp6Vm2BjlH85x8T9FpJeK0QwVp70reHuyX\/izc7lh15u7y3JzDAMDHfw9Cta36ftltwaelbygGOUfznHz4eC0SQBknACm7jql805oLDD7ZUu3GQDLGdGR19\/DhxROUskclCjR+aWvmzXut4o7PT8rVSYJ+CNvxP7h9VO+zXjVp26nNDbc5bGPif1d\/ed3Yu616WDKj7Qu83ttY455xyxh+vyHVuVEl1HTUdnOtnUyjy9\/Ym9Cv2rE9h4xzubg9G4H6qkUxo33Ut1peiKpO7zH\/FU65U3mS2XuYhERQNIREQBERAEREBxXS7UtnpRUVW3sOcGgMbkk\/8AgVhHUF7ugItNqMbCCBNN9M4HzVPJFHKAJI2vAOQHDOD1rzU00loUTpzm96y6a+ZLjTFxuLtu83Z725zyMO5vDyHkuDUljt9spqCKlg2XSzhrpHHaJHb5q3UxqvnXiwxk811Tv\/aZ+KnCbcjNtFCnCk2lnlm83qU6IvF72RsL5HBjWjJc44AVJ6B5LNu19obPHmpkzIfhiZvcfw8VlVWpKq6Tmh09CZXcH1LhhrO3f9fAFdNp0vBRy+2Vz\/bK1xyZH7wD2A\/M+iswpZyMrrSqPDR8+H+mf7LetUuDqzat9uO8RD4n\/j3nd2Kjt9so7XByNHCI2n4jxLu89K61m1uobVQHZnrY9r9FnOPpwXG3LJHY06dL55vPmzSRS7tW1Vadmz2iecZxykgw30\/FPs3U90ANbcWUMZ\/NwfF5j8Su4Gtch8TGXdpy9PNnpttZT2jVV5ZVzxwxvIky44yc5AA6ThxXVNrWjdJyNvpaiulPwhjSA76+iyYbBS0WsKagqCaqOSHlPe9Jwegf4eBVrT01PSx8nTwxxN6mNAUp4U76megqzTimopN9Xz8D9he6WCOR8Zjc9ocWO4tJHAovYipPRCIiAIiIAiIgCIiAKY1T\/Xmn\/wDM\/wDJip1L64hn9ko6ynY8yU02Q9m\/YzwOMdYG\/wDFWU94zbX3Lfh6mtd77Q2aLNRJtSkc2Jm9x\/Adqw2UF21O4T3N5oreCHNgbuLh1\/vPgFkWe23ud\/t8NFHNJKctqqp21jtAJ39+DwW6NLV9xIfertLKDgmGLc0H5eistGHEyY6lfNxduWi+r9jqdfdP2OnFPTyx7LfzdONsntJ693ScrkbqO83MfyRZ3Bh4TTHmkZ8B6la1Dp21W\/ZMNGxz2\/nJBtOz17+HgtNV4orRXNKp1pKzlhXJe5LO03eLmP5WvJ2DxhgHNx6D0K0aLS1noTtNpBM\/9Kbn+h3ei2EXHOTyJx2anF3td9cz8AAGAMAL9RFA0Exevdays8x4OBYO\/eP+Sp1MarxFdbLU9LKjBPRjLf3qnU5bqM1HKpUXVegREUDSEREAREQBERAEREAXhLFHPC+GVgfG8FrmngQvNEGpiaftVZaJaunklbJRl4dBlxLh4eXkttEXW7u7IU4KnHCtAiIuEwiIgCIiAmtdRk2SOVu50U7XZ8CPwVFFIJYmSDg9ocPFY2sWF2makj7pYT+0Fo2lwfZ6Jw4GnjP+kKb3EZo5bRJc0vydaIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDgvlM6sslZAxpc90RLWjiSN4HmF6tNGQ6eo+VY5j2s2dlzcHAJA9AtRFK+Vivs\/wCTH0sERFEsP\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "JOHANNA VARAS GAETE",
    "correoContacto": "jvarasg3@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "2",
    "telefonocontacto": "989925965",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:16",
    "ubicacionGPS": "LatLng(lat: -22.0895756, lng: -70.1977599)",
    "horaLlegada": "09:12",
    "horaDespacho": "11:49",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 12:16:02
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-pVk.hCradPs-QcVvFU7jcLvyO716aQhC_FO-1YpMw6Gn0H6_2L2
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2559",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "01 itin 1940\n01 itin 1941\n01 itin 1942\n01 itin 1943",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12397",
    "observacion": "entrega en domicilio",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD5AKIDASIAAhEBAxEB\/8QAGwABAQEBAAMBAAAAAAAAAAAAAAYFBAIDBwH\/xABFEAABAwMBAwkFAwYPAQAAAAABAAIDBAURBhIhMRMiQVFhcYGRoRQjMrHBFULRJENSc5LhBxYlMzQ1NmJydKKywtLw8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAgMFBgYDAQEAAAAAAAABAgMREiExBDJBUWETM3GRsdEUIoGhwfAjQuHxJP\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIvwkAZJwApWruVfqSrkt9mfyNIzdPVHdnu\/dx7ApRjcqq1VTXNvRHXdNVRU84pLbCa+qdu2Y97WntxxXfZvtU0rn3bkhK9201rPuDqP\/ivK02eks9MIqaMbRHPkI5zz2n6LvXW1ayRGnCpfHN\/Raf6ERFAvPFxcGEtG04DcM4yVgW3Uzva3UF5ibRVYdzP0HA8N+\/54KoVwXWzUd4pzHUxjbA5koHOZ3H6KUWtGU1Y1MnB5rhwZ3opix3Wqt9w+wbs4GVo9xNnc8dAz8vJU6SjhZ2lUVSN1\/wACIiiWhERAEREAREQBERAERTV71jTURfS0I9oqcY2h8DD9T2BSjFydkV1KsKUcU2fmoLnPWVrLDbZGiSUH2iXP823pHlx8uldlHPZNP0LaRtbCNjJedoFzndJIHl6LDt2jKyqc6pulW6Ll+c9kZ57id52jwHqt2n0nZacDFGJD1yuLs+HBWSwJWuYqaryk6mFJvS\/BeAOrrE04NePCJ5+i8otVWOZ2y24MB\/vtc35hdLbHaWjAtlJ4wtP0XhLp+zzfFbacbscxgb8lD5Opo\/8ATzj9zrgq6aqBNPURTAcTG8O+S9ynajRFqkO1TmemeDlpY\/IB8cn1Xp+w9QW3nW68GoaOEU46OrfkfJdwxejHa1Y70PJ\/8KhFOW\/VgNSKG70zqGp4bTtzD58PUdqogQRkHIKi4uOpbTqwqK8WY+prP9qW4vhb+V0\/PhcOJ6x4\/PC9mnbuLvbWvefyiLmTNxjndfitVS0O1ZdbPi2Q2luY2m9W2P35\/aCkvmjYpqLs6qqLR5P8P8FSiIqzUEREAREQBERAERY2prq+224Mp99VUnk4QDvHWR3ZHmF1K7sQqTUIuT4HDd7rU3SvNjs7sOO6oqBwYOkZ\/wDdSy9N2mlrL66WFu3R0G4Pdg8tJ0O7unHRgda7KqBmltJyMyPbavDZHZ3knjv6gM+J7Vu2C2ttVnhp8e8I25DjGXHj5cPBXOSjHI8+NN1aydTVZvpyX5ZpIi5q24Uluh5WrnZE07htHeT2KjU9JtJXZ0opiTWXLvLLVa6iswcF2CB6A+uE9s1fVfzdvpqZvW8jPz+in2b4mf4qm9278EU6KY2NZvOOVpI8dOBv9Cn2RqqbdPfI2A8eSb+ACYFzQ+Ib0g\/36m5cLZSXSn5CshEjQctOcFp6wVg2SeptN7+wX1DaqncwvhcDkxjecHq4cO7uP7\/FCpqARX3yqnB4tBOPUla1qsNBZxmmjJkIwZJDlx+g8FK6Ste5XhqTqKeHDbjfVcsjSU1reA\/ZkFdGPe0swcHdQP7w1Uqz79CJ7DXMIz7hzgO0DI9QoQdpJl9eOOlJdDsp5m1NNFOz4ZWB7e4jK9iyNKzGfTdG5xyWtLPJxA9AFrrklZ2J05Y4KXNBERcJhERAEREAUxbsXzVVTcHnNPQDkoGnpdvyfn5jqW7cqn2K2VNSDgxROcO\/G71Upp6+Wux2Boml26iVzpHRRjLuOBk8BuA6VZBPC2jHXnFVIxk7JZ+x214feNZU1FzXU1A3lpBxBduO\/wD0jHet+suFHb2bdXUxwg8Np289w4lRFpjvd2q66ttrmU7KmUh8z3b29OyOngR0dW9b9Jo+jZKKi4TTV8\/3jK7mk93E+JUpJKybKqFSpK8oR1er06HLXa7powfYaZ8+AfePOy0Ho3cT6LIZbdRXCrbcqm2trGv5zY55AGgHqbtAjuK19SQRTXG1WWGKOOnkk23sYNndnoAG7dtb1VNaGtDWgAAYAHQu4lBLCtTiozrzaqSyXLn9zAtGomvqW2yuo\/YKkABjODXdgHR2cVQLE1TaftK1ukib+VU3vInDju4j\/wB04XRp+4m6WaCpccyY2JP8Q\/Hj4quSTWJGmnKUZ9nN34p\/vI00RFA0hERAFzXFpfbapo4mF49Culeit\/oNR+qd8l1akZbrMfRbg7TcIH3XvB81vqe0T\/Z1n616oVKe8yrZu5j4IIiKBeEREBj3apv8NQ1tqoKeeLG90j9+e7aH1WeZtZ1GGilpKbf8QIOP9RVQimpW4GeVFyd8b\/foQd+tl5gtMlZc7qZTtBvIRk7Jz5Dwwtb7LoLNpmWsipmCp9k3ynedstxkZ4bz0L9147ZsMYx8VQ0f6XH6Lz1nL7Ppow5\/nHsj4ccc7\/irE20l1McqcKcqj1suOeeZ06Tp\/Z9OUo6ZAZD4nd6YWyuehh9nt9NBgjk4mtwejAAXNNeI4b9T2kxOL54zIH53D4v+qqd5Ns3Qw0qcU+iMmv3\/AMIdtB3gUxOPCRU6mLn7vXlrk\/ShLd\/D7\/4qnXZ6LwIUN6fj+EFL6XHsF6utpI2Wsfysbepv\/wALVUKYqM0n8IVO4fDV05BPcD\/1C7DNNCvlKE+Tt55FOiIqzSEREAXPXuay3VL3HDWxOJPUMFdCzNRzchp6ufkDMRbv\/vbvqupXZCo8MG+hPaHvTQRaHsDSdp8b8\/EeOPLJ8FaL5zHQCz0dmvAeWvkn2pD1NOMDyB819GVlVK90ZNhlLBgnqreTWQREVRuCIiAIiICY16CbHDgcKluf2XJr7+o4f8y3\/a5dOtIeV05M7BJje127o34+qzdVymq0fQT8dt8Tz4sP1Kvh\/XxPN2jJ1VzS\/JYKX1OPZb7Zq5m53K8m8k9GR9C5U7SHNDhvBGQsHWdK6ewPlYSHU72yburOD88+Crp7xq2lXpNrhn5ZnPqEiPVNkkzvLy3f3gfVU6jrxV+2O01XnBc6UOcBwzlmfUFWK7NZIjQadSduj+yCmNRczU9jk4bUhbnr3jd6qnUxrD3VXZ6rgIqnj1b2n6LlPeO7V3TfJr1RToiKBpCIiAKN13X7fs9qhJc9zhI8A+DR8\/RVVdWRUFFLVTODWRNyc+g81AWqKe7arpqmpJLpXe0Oz0Nb8PyA7sK6ks8T4GDbamSpR1l6FJqmgazSPItAPsgj2d\/VhvyJWzbJ\/abXSz9MkLXHd04XrvcQnslbGQDmB5GesDI9VyaSl5XTVJxy0Obv7HFR1h9S1LDtFlxXo\/8ATZREVZqCIiAIiIDludJ7dbKmlGNqWMtbngDjd64UTLUPrdAtjIO1SVAY7jnG\/Hz9F9AULcaX2a8Xa1hhMdfD7RCM79sZdu8Q4eSupPgeftkf7Limvb7lpSvElJC8cHRtPovytpxV0M9MfzsbmeYws7StV7Xp2lccbUbeTIB4bO4emFsKt5M2QaqU0+aPm7qrOmaEk4koK0sO\/OAcuHyPkvpC+baijNFcrnR4DYpnsqGZ6T2ftu8l9DpJeXo4Jt\/vI2u39oyrauiZh2JtTlF6qy8ro9ymNeYbZ6eTpbVNx+y78FTqY19\/UcP+Zb\/tcq6e+jTtfcSKdERQNIRFiajvTqCFtFSAvr6obMTW8W53bX4dvcupNuyIVJqnFykZ17nOoLsyy07y2lp3F9XMBuaRndns+fcvPSMLairr7q1mxG9whgGNwY3G4Z38A0eHl6aumOmtLPYw5uFcQyRwJLnOOc47gT4lUNloPs20U9KQ0PYzL9npcd571bJpRsjDSg5VsU9dX05L1Oqoj5amliIztsLcd4WBoaTb0+W5zyczm924H6qjUxoj3dNX053GOpOW9W7H0UFuM0VMq8H0f4KdERQNIREQBERAFNaxpXMhprtCzalo5AT2tz09mfmqVeueGOpgkglbtRyNLXDrBUouzuVVqfaQcST0dWR09wqrc2TMUuJ4N3HI3jvxjyKsF8wkFRYLsG7+WopdqMndykZ4+GPmepfSKOrirqOKqhOWStDh2disqxzxIybDUvF03qiN1\/TbFXS1TfzjDG7wOR8\/RVNhfylgoXdUDB5DH0WZrim5aw8rw5CVriew5HzIXZpR23pqjOc81w8nEJJ3po7Tjh2uXVXNdTGvv6jh\/wAy3\/a5U6mNegmxw4HCpbn9lyhT30XbX3EvAp0X40hzQ4bwRkLiut2pbRSGoqX7\/uMB5zz1BRSbyRfKSisTeR4Xu7xWa3vqZMOeebEz9N34daz9PWiYzG9XMl9bOMtaR\/NNPZ0HHkNy9NqtVTd6xt5vLe2npjwYOgkLQ1NdfsmzySMdieX3cXWCenwG\/wAlZp8q1Ml8X81TKK0X59jLeG6i1e0DnUdsGXHOQ5+fqQP2SqtZOm7YbZaWNlB9omPKzE8do9HgPXK1lGbzsuBbQg1HFLV5sKY0t7q93yDfgVG0Cf8AE79yp1MWz3Ou7pCd3KRB47fhP1KR0aOVsqlN9fVMp0RFA0hERAEREAREQGBqqxG60fL04\/K4AdjH329Lfw\/epvTN\/daqnkJ3O9ildh2fzLz8h\/7oK+hqP1JYvZah90pKfloX\/wBKpgNzhned28deRw4q6nJNYZHnbTRlGar09Vr++pRXGOO5WWpjieyRk0LthzSC0nG4571naKl5TTkTN\/unvb65+qybWytp6Y1enpxWUhJ5SinPOj7P3539RXHpi\/PtFNUUxoZqgcptkxb9k4xv8gu4HhaRH4iPaxnJWumun0PoKnNctLtP5H3Zmk+oXrOrqqUYpbFVSPzjBz9B3rJ1FJqGqthnuEcdNS5aORGMk53dZ+S5CDUlcntG0QnSko3eXI3K\/VENJHDS0MZq617Whsbd4acdOOnsXrtenZqiqF0vjzNUk7TYTvbH1f8AzgtCx2ahttJHJTw+8kY0ukdvcd3X0LTc5rGF73BrWjJJOAAouSWUS2FKU7Sqv6cP9PGaaOnhfNM8MjYMuc47gFLWmGTU13N5rIwKSA7FPC7fvG\/J6+Pn3Lxq5ZdXXQUVK5zbXTuBmlH5w9n081WRRRwQshiYGRsAa1o4AJuLqcX887\/1X3fsjzREVZsCmJfyf+ESHG72mm39uAf+qp1MXr3GsrPUfpgx7uPSP+SnDVozbTlGL5NepToiKBpCIiAIiIAiIgCIiAmbjYqy3VhuenyGPcDytP8Adf3D6eSyNF10VPdauOocyDlhuDzjnA8N\/ir1QNDZqW5atulHUtfsASPaWuwWnbG8eBPFXwlii0zzK9J06sJU+enAvlPa2\/s6\/wDWsXpGmrvQu\/ky9vZGPhikBLW9gzkeiy9RUN+htTpblco54dtuY2DG\/wAguQisSsyzaKs3SkpQay6WKt1yo7ba4JaudsTeSbgHid3QOJWBLNcdXy8jTtfSWkHnSuG+THz7uA6V1WvSFvbHFU1jpKyRzAcSHmjp4fiSqNrWsYGMaGtaMAAYACjeMdNSahUqpKeUeS1fiz00VFT2+lZTU0YZGwbh19p7V0IirNaSSsgiIh0KY1d7u4WWo6I6n6tP0VOpnXTSLPBKOMdQ07+4qdPeRm2vuZfvEpkXi1wewOHAjK8lA0hERAEREAREQBERAFPUVBUxa2r6wwObTyQANk6CeZn5FUKLqdrlc6am03wdwp7W39nX\/rWKhU9rcgaddk8ZW4UobyK9p7mXgbVF\/Qaf9U35L3r00YIooARgiNvyXuUGXR0QREQkEX4SAMk4AWRW6ptFEdk1Qmf+hDzvXgPErqTehCc4wV5OxsLC1lDyum5zgExua4dm8D6rk\/jHebhutdleGnhLPnGPQdXSVzXG03+rttRPdLmyOOOJz\/Z4twOBnBxgcQOtWRjZptmSrWVSnKMIt3X0+5tUl6oKez0ctVWQxOdAwlpdzuG\/dx4rptt3orsJXUchkbEQHEtI496+e2y1uvLI6aipC14Pv6qRxLW79wA6Nw719BtNmpLPTCGmZlx+OUjnPPb+C7OMY+JzZq1Wq1ksJ3oiKk3hERAEREAREQBERAFM68cW2KID71Q0H9lypSQBknACj9b3OhqbbFSwVUcszZ2vLWHOBsu6Ru6QrKa+ZGXbJJUZXZXtaGMDRwAwv0kAZJwApduo7zcx\/JFncGHhNMeaRnwHqV+nTNzubg683Z5aPzMHDzwB6FMFt5j4jF3cW\/svuaFbqmz0IIdViZ4HwQ88nx4eZWadQXy5HFqs5Yw8JZ\/nvwPmtigsFstoBp6Vm2BjlH85x8T9FpJeK0QwVp70reHuyX\/izc7lh15u7y3JzDAMDHfw9Cta36ftltwaelbygGOUfznHz4eC0SQBknACm7jql805oLDD7ZUu3GQDLGdGR19\/DhxROUskclCjR+aWvmzXut4o7PT8rVSYJ+CNvxP7h9VO+zXjVp26nNDbc5bGPif1d\/ed3Yu616WDKj7Qu83ttY455xyxh+vyHVuVEl1HTUdnOtnUyjy9\/Ym9Cv2rE9h4xzubg9G4H6qkUxo33Ut1peiKpO7zH\/FU65U3mS2XuYhERQNIREQBERAEREBxXS7UtnpRUVW3sOcGgMbkk\/8AgVhHUF7ugItNqMbCCBNN9M4HzVPJFHKAJI2vAOQHDOD1rzU00loUTpzm96y6a+ZLjTFxuLtu83Z725zyMO5vDyHkuDUljt9spqCKlg2XSzhrpHHaJHb5q3UxqvnXiwxk811Tv\/aZ+KnCbcjNtFCnCk2lnlm83qU6IvF72RsL5HBjWjJc44AVJ6B5LNu19obPHmpkzIfhiZvcfw8VlVWpKq6Tmh09CZXcH1LhhrO3f9fAFdNp0vBRy+2Vz\/bK1xyZH7wD2A\/M+iswpZyMrrSqPDR8+H+mf7LetUuDqzat9uO8RD4n\/j3nd2Kjt9so7XByNHCI2n4jxLu89K61m1uobVQHZnrY9r9FnOPpwXG3LJHY06dL55vPmzSRS7tW1Vadmz2iecZxykgw30\/FPs3U90ANbcWUMZ\/NwfF5j8Su4Gtch8TGXdpy9PNnpttZT2jVV5ZVzxwxvIky44yc5AA6ThxXVNrWjdJyNvpaiulPwhjSA76+iyYbBS0WsKagqCaqOSHlPe9Jwegf4eBVrT01PSx8nTwxxN6mNAUp4U76megqzTimopN9Xz8D9he6WCOR8Zjc9ocWO4tJHAovYipPRCIiAIiIAiIgCIiAKY1T\/Xmn\/wDM\/wDJip1L64hn9ko6ynY8yU02Q9m\/YzwOMdYG\/wDFWU94zbX3Lfh6mtd77Q2aLNRJtSkc2Jm9x\/Adqw2UF21O4T3N5oreCHNgbuLh1\/vPgFkWe23ud\/t8NFHNJKctqqp21jtAJ39+DwW6NLV9xIfertLKDgmGLc0H5eistGHEyY6lfNxduWi+r9jqdfdP2OnFPTyx7LfzdONsntJ693ScrkbqO83MfyRZ3Bh4TTHmkZ8B6la1Dp21W\/ZMNGxz2\/nJBtOz17+HgtNV4orRXNKp1pKzlhXJe5LO03eLmP5WvJ2DxhgHNx6D0K0aLS1noTtNpBM\/9Kbn+h3ei2EXHOTyJx2anF3td9cz8AAGAMAL9RFA0Exevdays8x4OBYO\/eP+Sp1MarxFdbLU9LKjBPRjLf3qnU5bqM1HKpUXVegREUDSEREAREQBERAEREAXhLFHPC+GVgfG8FrmngQvNEGpiaftVZaJaunklbJRl4dBlxLh4eXkttEXW7u7IU4KnHCtAiIuEwiIgCIiAmtdRk2SOVu50U7XZ8CPwVFFIJYmSDg9ocPFY2sWF2makj7pYT+0Fo2lwfZ6Jw4GnjP+kKb3EZo5bRJc0vydaIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDgvlM6sslZAxpc90RLWjiSN4HmF6tNGQ6eo+VY5j2s2dlzcHAJA9AtRFK+Vivs\/wCTH0sERFEsP\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "JOHANNA VARAS GAETE",
    "correoContacto": "jvarasg3@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "2",
    "telefonocontacto": "989925965",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:16",
    "ubicacionGPS": "LatLng(lat: -22.0895756, lng: -70.1977599)",
    "horaLlegada": "09:12",
    "horaDespacho": "11:49",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


04/05/2026 12:16:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[04/05/2026 12:16:02] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP2559', 2, 21773342, 0, NOW(), 
				'11:49', '09:12', '12:16', 10, '01 itin 1940
01 itin 1941
01 itin 1942
01 itin 1943', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777911362.png', 'entrega en domicilio', null, 'COMPLETADO','LatLng(lat: -22.0895756, lng: -70.1977599)' )
				
[04/05/2026 12:16:02] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200150

04/05/2026 12:16:02 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200150'                    
				WHERE idllamado = 12397			
				TO ENVIO: micorreo@miempresa.cl, jvarasg3@gmail.com


04/05/2026 12:16:02 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12397			
				
04/05/2026 12:16:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


04/05/2026 12:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12: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 = 12397
                
04/05/2026 12:16:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12397
                
04/05/2026 12: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 = 12397
                
04/05/2026 12: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 = 12397
                
04/05/2026 12:16:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12:16:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                [04/05/2026 12:16: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;
                
[04/05/2026 12:16: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;
                

04/05/2026 12:16:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:16:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            [04/05/2026 12:16: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;
                

04/05/2026 12:16:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12:16:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:16:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                
04/05/2026 12:16:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12:16:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12397
            GROUP BY l.idllamado;
            
04/05/2026 12:16:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12397
                [04/05/2026 12: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;
                

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

04/05/2026 12: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 = 12397
                
04/05/2026 12: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 = 12397
                
04/05/2026 12: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 = 12397
                
04/05/2026 12: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 = 12397
                
04/05/2026 12: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 = 12397
                
04/05/2026 12: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 = 12397
                
04/05/2026 12: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 = 12397
                
04/05/2026 12:16:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [04/05/2026 12:16: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;
                

04/05/2026 12:16:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [04/05/2026 12:16: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;
                
[04/05/2026 12:16: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;
                

04/05/2026 12:16:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:16:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [04/05/2026 12:16: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;
                

04/05/2026 12:16:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12369
                
04/05/2026 12:16:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:16:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:16:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12369
                
04/05/2026 12:16:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [04/05/2026 12:16: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;
                

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

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

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

04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                
04/05/2026 12:16:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [04/05/2026 12:16: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;
                

04/05/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [04/05/2026 12:16: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;
                

04/05/2026 12:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [04/05/2026 12:16: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;
                

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

04/05/2026 12:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [04/05/2026 12:16: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;
                
[04/05/2026 12:16: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;
                

04/05/2026 12:16:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:16:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [04/05/2026 12:16: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;
                

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

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

04/05/2026 12:16:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [04/05/2026 12:16: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;
                

04/05/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [04/05/2026 12:16: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;
                

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

04/05/2026 12:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [04/05/2026 12:16: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;
                

04/05/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [04/05/2026 12:16: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;
                

04/05/2026 12:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [04/05/2026 12:16: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;
                

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

04/05/2026 12:16:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:16:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:16:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:16:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:16:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [04/05/2026 12:16: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;
                
[04/05/2026 12:16: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;
                

04/05/2026 12:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [04/05/2026 12:16: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;
                
[04/05/2026 12:16: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;
				
[04/05/2026 12:16: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;
                
[04/05/2026 12:16:39] 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;
                
[04/05/2026 12:16: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 12:16: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;
                

04/05/2026 12:18:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            [04/05/2026 12:18: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;
                

04/05/2026 12:18:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12:18:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12:18:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                [04/05/2026 12:18: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;
                
[04/05/2026 12:18: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;
                

04/05/2026 12: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 = 12207
                [04/05/2026 12:18: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;
                

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

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

04/05/2026 12:18:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            [04/05/2026 12:18: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;
                
[04/05/2026 12:18: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;
                

04/05/2026 12:18:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12:18:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12:18:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            [04/05/2026 12:18: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;
                
[04/05/2026 12:18: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;
                

04/05/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                [04/05/2026 12:18: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;
                
[04/05/2026 12:18: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;
                
[04/05/2026 12:18: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;
                

04/05/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12:18:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12:18:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12:18:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                [04/05/2026 12:18:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:18:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            [04/05/2026 12:18: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;
                

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

04/05/2026 12: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 = 12207
                [04/05/2026 12:18: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;
                

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

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

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

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

04/05/2026 12: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 = 12207
                
04/05/2026 12: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 = 12207
                [04/05/2026 12:18: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;
                

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

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

04/05/2026 12:35:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            [04/05/2026 12:35:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12122
            GROUP BY l.idllamado;
            [04/05/2026 12:35:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 12:35:50] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 12:36:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            [04/05/2026 12:36: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;
                
[04/05/2026 12:36:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 12:36:13] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 12:36: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;
                
[04/05/2026 12:36: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;
                

04/05/2026 12:36:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12122
            GROUP BY l.idllamado;
            [04/05/2026 12:36:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 12:36:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 12:36:47] 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;
                
[04/05/2026 12:36: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 12:36: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;
                
[04/05/2026 12:37:01] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 12: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 12:37:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 12:37:40] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 12:37:40] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 12:37: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;
                
[04/05/2026 12:39:55] 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;
                
[04/05/2026 12:39: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;
				
[04/05/2026 12:42:03] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 12:42:10] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 12:42:10] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 12:42: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;
				
[04/05/2026 12:42: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;
                

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

04/05/2026 12:42:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12207
                
04/05/2026 12:42:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            [04/05/2026 12:42: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;
                
[04/05/2026 12:42:20] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

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

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

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

04/05/2026 12: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 = 12207
                
04/05/2026 12:42:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:42:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:42:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:42:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:42:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
04/05/2026 12:42:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                [04/05/2026 12:42: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;
                
[04/05/2026 12:42:33] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 12:42: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 12: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;
                

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

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

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

04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                [04/05/2026 12: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;
                

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

04/05/2026 12:42:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:42:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:42:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:42:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:42:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:42:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:42:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:42:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:42:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:42:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:42:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:42:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:42:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:42:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:42:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [04/05/2026 12:42: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;
                

04/05/2026 12:42:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:42:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:42:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [04/05/2026 12:42: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;
                

04/05/2026 12:42:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:42:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:42:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:42:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:42:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [04/05/2026 12:42:57] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12:42:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:42:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:42:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:42:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [04/05/2026 12: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;
                

04/05/2026 12:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [04/05/2026 12: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;
                

04/05/2026 12:42:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:42:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:42:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [04/05/2026 12: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;
                
[04/05/2026 12: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;
                
[04/05/2026 12: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;
                

04/05/2026 12:42:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:42:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [04/05/2026 12: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;
                

04/05/2026 12:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:42:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:42:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:42:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12369
                
04/05/2026 12:42:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12369
                [04/05/2026 12: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;
                

04/05/2026 12:42:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                
04/05/2026 12:42:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                
04/05/2026 12: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 = 12369
                
04/05/2026 12:43:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:43:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [04/05/2026 12:43: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;
                
[04/05/2026 12:43: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;
                

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

04/05/2026 12:43:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [04/05/2026 12:43: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;
                

04/05/2026 12:43:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:43:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:43:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:43:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:43:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:43:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:43:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [04/05/2026 12:43: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;
                

04/05/2026 12:43:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:43:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [04/05/2026 12:43: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;
                
[04/05/2026 12:43: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;
                
[04/05/2026 12:43: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;
                

04/05/2026 12:43:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:43:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:43:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:43:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [04/05/2026 12:43: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;
                

04/05/2026 12:43:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:43:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:43:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [04/05/2026 12:43: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;
                

04/05/2026 12:43:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [04/05/2026 12:43:06] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 12:43:06] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

04/05/2026 12:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:43:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [04/05/2026 12:43: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;
                
[04/05/2026 12:43: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 12:43:21] 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;
                
[04/05/2026 12:43:57] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 12:44: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;
				
[04/05/2026 12:44:05] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 12:44: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;
                
[04/05/2026 12:44: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 12:44:16] 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;
                
[04/05/2026 12:44:22] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 12:44: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;
				
[04/05/2026 12:44: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;
                
[04/05/2026 12:45: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;
                
[04/05/2026 12:45: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;
                

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

04/05/2026 12:46:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [04/05/2026 12:46:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 12:47: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;
                
[04/05/2026 12:47:20] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 12:47:20] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 12:47:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

04/05/2026 12:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12122
            GROUP BY l.idllamado;
            [04/05/2026 12:48:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 12:49:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12:49:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            [04/05/2026 12:49: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;
                
[04/05/2026 12:49:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 12:49:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12392
            GROUP BY l.idllamado;
            [04/05/2026 12:49: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;
                
[04/05/2026 12:49: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;
                
[04/05/2026 12:49: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;
                
[04/05/2026 12:51:12] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 12:51:13] 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;
                
[04/05/2026 12:51:19] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 12:51:19] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 12:51: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;
				
[04/05/2026 12:51: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;
                
[04/05/2026 12:51: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;
                
[04/05/2026 12:52: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;
                

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

04/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/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 = 12411
                
04/05/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 = 12411
                
04/05/2026 12:53:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12411
                
04/05/2026 12: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 = 12411
                [04/05/2026 12:53:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12:53:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12411
                
04/05/2026 12: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 = 12411
                
04/05/2026 12:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [04/05/2026 12:54: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;
                

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

04/05/2026 12:54:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:54:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [04/05/2026 12:55:33] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 12:55: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 12:55: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;
                
[04/05/2026 12:55: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;
                

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

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

04/05/2026 12:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [04/05/2026 12:55: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;
                

04/05/2026 12:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [04/05/2026 12:55: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;
                

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

04/05/2026 12:55:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:55:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:55:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [04/05/2026 12:55: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;
                

04/05/2026 12:55:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:55:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:55:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
04/05/2026 12:55:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [04/05/2026 12:55: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;
                

04/05/2026 12:55:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:55:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:56:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:56:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:56:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
04/05/2026 12:56:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [04/05/2026 12:56: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;
                

04/05/2026 12:56:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:56:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [04/05/2026 12:56: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;
                

04/05/2026 12:56:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [04/05/2026 12:56: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;
                

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

04/05/2026 12:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [04/05/2026 12:56: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;
                

04/05/2026 12:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [04/05/2026 12:56: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;
                
[04/05/2026 12:56: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;
                

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

04/05/2026 12:56:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
04/05/2026 12:56:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [04/05/2026 12:56: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;
                

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

04/05/2026 12:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            [04/05/2026 12:56: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;
                

04/05/2026 12:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [04/05/2026 12:56: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;
                

04/05/2026 12:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
04/05/2026 12:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [04/05/2026 12:56:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 12:56:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 12: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;
                

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

04/05/2026 12:56:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 12:56:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                [04/05/2026 12: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;
                

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

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

04/05/2026 12: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 = 12439
                
04/05/2026 12: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 = 12439
                
04/05/2026 12: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 = 12439
                
04/05/2026 12: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 = 12439
                
04/05/2026 12: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 = 12439
                
04/05/2026 12: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 = 12439
                
04/05/2026 12: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 = 12439
                
04/05/2026 12: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 = 12439
                
04/05/2026 12: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 = 12439
                
04/05/2026 12: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 = 12439
                
04/05/2026 12: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 = 12439
                
04/05/2026 12:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12: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 = 12439
                [04/05/2026 12:56:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 12:56:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 12:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 12:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12439
                
04/05/2026 12:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12439
                
04/05/2026 12: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 = 12439
                
04/05/2026 12:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 12:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            [04/05/2026 12:56:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            [04/05/2026 12:56:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

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

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

04/05/2026 12:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                [04/05/2026 12:56: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;
                

04/05/2026 12:56:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 12:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 12:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 12:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 12:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 12:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 12:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 12:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                [04/05/2026 12:56:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                [04/05/2026 12:56: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;
                
[04/05/2026 12:56: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;
                

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

04/05/2026 12:56:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:56:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            [04/05/2026 12:57: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;
                
[04/05/2026 12:57: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;
                

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

04/05/2026 12:57:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:57:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:57:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 12:57:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:57:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:57:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 12:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:57:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 12:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:57:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 12:57:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 12:57:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                [04/05/2026 12:57: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;
                
[04/05/2026 12:57: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;
                

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

04/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12392
            GROUP BY l.idllamado;
            
04/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12392
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12392
                
04/05/2026 12:57:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12392
                
04/05/2026 12:57:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12392
            GROUP BY l.idllamado;
            
04/05/2026 12:57:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12392
                
04/05/2026 12:57:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12392
            GROUP BY l.idllamado;
            
04/05/2026 12:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12392
                
04/05/2026 12:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12392
                
04/05/2026 12:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12392
                
04/05/2026 12:57:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 12:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12392
                
04/05/2026 12:57:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12392
            GROUP BY l.idllamado;
            
04/05/2026 12:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12392
                
04/05/2026 12:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12392
                
04/05/2026 12:57:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12392
                
04/05/2026 12:57:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12392
                [04/05/2026 12:57:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12392
            GROUP BY l.idllamado;
            
04/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12392
            GROUP BY l.idllamado;
            [04/05/2026 12:57:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12392
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12392
                
04/05/2026 12:57:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12392
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12439
                
04/05/2026 12:57:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12392
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12439
                
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12392
                
04/05/2026 12:57:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12392
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12392
                
04/05/2026 12:57:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12392
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12392
                
04/05/2026 12:57:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12392
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12392
                
04/05/2026 12:57:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12392
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12392
                
04/05/2026 12:57:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12392
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12392
                
04/05/2026 12:57:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12392
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12392
                
04/05/2026 12:57:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12392
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12392
                
04/05/2026 12:57:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12392
            GROUP BY l.idllamado;
            
04/05/2026 12:57:57 - logentry: =========================================
FECHA: 04/05/2026 12:57:57
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-BPv47MMchXguVfBhp+gtmcP0rA.AavW8opoWz-WWZe8GmpfEPmd
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76464003",
    "serieinterna": "KY2376",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se cierra por inconveniente el el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12392",
    "observacion": "",
    "firma": "",
    "razonSocial": "SOCIEDAD EDUCACIONAL SAN MARCOS SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "RAMON TELLO",
    "correoContacto": "rtello@sanmarcos.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "CONEXION A DOS PC",
    "prioridad": "1",
    "telefonocontacto": "920800569",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:57",
    "ubicacionGPS": "LatLng(lat: -23.6618103, lng: -70.3999505)",
    "horaLlegada": "09:56",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 12:57:57
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-BPv47MMchXguVfBhp+gtmcP0rA.AavW8opoWz-WWZe8GmpfEPmd
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76464003",
    "serieinterna": "KY2376",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se cierra por inconveniente el el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12392",
    "observacion": "",
    "firma": "",
    "razonSocial": "SOCIEDAD EDUCACIONAL SAN MARCOS SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "RAMON TELLO",
    "correoContacto": "rtello@sanmarcos.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "CONEXION A DOS PC",
    "prioridad": "1",
    "telefonocontacto": "920800569",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:57",
    "ubicacionGPS": "LatLng(lat: -23.6618103, lng: -70.3999505)",
    "horaLlegada": "09:56",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


04/05/2026 12:57:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76464003

[04/05/2026 12:57:57] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76464003', 'KY2376', 1, 24456550, 0, NOW(), 
				'08:00', '09:56', '12:57', 15, '•Se cierra por inconveniente el el servidor', -1, 
				'', '','1','0',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -23.6618103, lng: -70.3999505)' )
				
[04/05/2026 12:57:57] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200151

04/05/2026 12:57:57 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200151'                    
				WHERE idllamado = 12392			
				
04/05/2026 12: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 = 12392
                TO ENVIO: micorreo@miempresa.cl, rtello@sanmarcos.cl


04/05/2026 12:57:57 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12392			
				
04/05/2026 12:57:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


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

04/05/2026 12: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 = 12392
                
04/05/2026 12:57:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12392
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12392
                
04/05/2026 12: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 = 12392
                [04/05/2026 12:58:02] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 12:58:02] 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;
                
[04/05/2026 12:58: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;
                

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

04/05/2026 12:58:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12:58:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12410
                
04/05/2026 12:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            [04/05/2026 12:58:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            [04/05/2026 12:58:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12: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 = 12410
                
04/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12:58:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12:58:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12:58:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12:58:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12410
                
04/05/2026 12:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12:58:36 - logentry: =========================================
FECHA: 04/05/2026 12:58:36
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-9Sv198Vu6dWSBYZd4hnlaMTp79Z08pi0S_dmMOOq6DuIRQkT-JU
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76464003",
    "serieinterna": "KY2376",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se cierra por inconveniente en el servidor, llamado duplicado",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12410",
    "observacion": "",
    "firma": "",
    "razonSocial": "SOCIEDAD EDUCACIONAL SAN MARCOS SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOCELYN BUGUEÑO",
    "correoContacto": "secretaria@sanmarcos.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:58",
    "ubicacionGPS": "LatLng(lat: -23.6618223, lng: -70.3999334)",
    "horaLlegada": "09:56",
    "horaDespacho": "12:57",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 12:58:36
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-9Sv198Vu6dWSBYZd4hnlaMTp79Z08pi0S_dmMOOq6DuIRQkT-JU
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76464003",
    "serieinterna": "KY2376",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se cierra por inconveniente en el servidor, llamado duplicado",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12410",
    "observacion": "",
    "firma": "",
    "razonSocial": "SOCIEDAD EDUCACIONAL SAN MARCOS SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOCELYN BUGUEÑO",
    "correoContacto": "secretaria@sanmarcos.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:58",
    "ubicacionGPS": "LatLng(lat: -23.6618223, lng: -70.3999334)",
    "horaLlegada": "09:56",
    "horaDespacho": "12:57",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


04/05/2026 12: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 = 12410
                
04/05/2026 12:58:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76464003

[04/05/2026 12: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('76464003', 'KY2376', 1, 24456550, 0, NOW(), 
				'12:57', '09:56', '12:58', 10, '•Se cierra por inconveniente en el servidor, llamado duplicado', -1, 
				'', '','1','0',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -23.6618223, lng: -70.3999334)' )
				
[04/05/2026 12:58:36] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200152

04/05/2026 12:58:36 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200152'                    
				WHERE idllamado = 12410			
				TO ENVIO: micorreo@miempresa.cl, secretaria@sanmarcos.cl


04/05/2026 12: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 = 12410
                
04/05/2026 12:58:36 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12410			
				
04/05/2026 12:58:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12410
                [04/05/2026 12:58:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                [04/05/2026 12:58:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 12:58:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12410
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12: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 = 12410
                
04/05/2026 12:58:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12:58:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12:58:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:58:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            [04/05/2026 12:58:41] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                [04/05/2026 12:58:42] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 12:58:42] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:58:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            [04/05/2026 12:58: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;
                

04/05/2026 12:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                [04/05/2026 12:58: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;
                
[04/05/2026 12:58: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;
                

04/05/2026 12:58:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:58:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12:58:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:58:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12:58:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12:58:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12:58:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12:58:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12: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 = 12401
                
04/05/2026 12:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12:59:04 - logentry: =========================================
FECHA: 04/05/2026 12:59:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-drlOicbg-yGiiiiIii_To21PVOiUxBpZ_JmNiGT2qnikt73VYy8
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "60511020",
    "serieinterna": "KY2735",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se cierra por inconveniente en el servidor, llamado duplicado",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12401",
    "observacion": "",
    "firma": "",
    "razonSocial": "DELEGACION PRESIDENCIAL REGIONAL DE ANTOFAGASTA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "IVANIA GUERRA URRUTIA",
    "correoContacto": "iguerrau@interior.gob.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "2",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28542\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:59",
    "ubicacionGPS": "LatLng(lat: -23.6618219, lng: -70.3999436)",
    "horaLlegada": "09:56",
    "horaDespacho": "12:58",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 12:59:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-drlOicbg-yGiiiiIii_To21PVOiUxBpZ_JmNiGT2qnikt73VYy8
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "60511020",
    "serieinterna": "KY2735",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se cierra por inconveniente en el servidor, llamado duplicado",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12401",
    "observacion": "",
    "firma": "",
    "razonSocial": "DELEGACION PRESIDENCIAL REGIONAL DE ANTOFAGASTA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "IVANIA GUERRA URRUTIA",
    "correoContacto": "iguerrau@interior.gob.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "2",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28542\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:59",
    "ubicacionGPS": "LatLng(lat: -23.6618219, lng: -70.3999436)",
    "horaLlegada": "09:56",
    "horaDespacho": "12:58",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


04/05/2026 12:59:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:60511020

[04/05/2026 12:59:04] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('60511020', 'KY2735', 1, 24456550, 0, NOW(), 
				'12:58', '09:56', '12:59', 10, '•Se cierra por inconveniente en el servidor, llamado duplicado', -1, 
				'', '','1','0',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -23.6618219, lng: -70.3999436)' )
				
[04/05/2026 12:59:04] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200153
[04/05/2026 12:59:04] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200153', 'KYO-I1045', 1)
				
[04/05/2026 12:59:04] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28542 and
				    IDproducto = 'KYO-I1045'
				

04/05/2026 12:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:04 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I1045';
                
04/05/2026 12:59:04 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200153'                    
				WHERE idllamado = 12401			
				TO ENVIO: micorreo@miempresa.cl, iguerrau@interior.gob.cl


04/05/2026 12:59:04 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12401			
				
04/05/2026 12:59:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


04/05/2026 12:59:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12:59:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12:59:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            [04/05/2026 12:59:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12:59:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            [04/05/2026 12:59:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 12:59:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12:59:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            
04/05/2026 12:59:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12401
            GROUP BY l.idllamado;
            [04/05/2026 12:59:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12:59:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12401
                
04/05/2026 12:59:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            [04/05/2026 12:59: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;
                

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

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

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

04/05/2026 12: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 = 12402
                
04/05/2026 12: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 = 12402
                
04/05/2026 12: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 = 12402
                
04/05/2026 12: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 = 12402
                
04/05/2026 12: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 = 12402
                
04/05/2026 12: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 = 12402
                
04/05/2026 12: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 = 12402
                
04/05/2026 12:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12:59:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12:59:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12:59:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12:59:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12:59:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            [04/05/2026 12:59: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;
                
[04/05/2026 12:59: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;
                

04/05/2026 12:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                [04/05/2026 12:59: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;
                
[04/05/2026 12:59: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;
                

04/05/2026 12:59:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12: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 = 12402
                
04/05/2026 12: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 = 12402
                
04/05/2026 12:59:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12:59:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12:59:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12:59:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12:59:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12:59:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12:59:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12:59:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12402
                
04/05/2026 12: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 = 12402
                
04/05/2026 12:59:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12402
                
04/05/2026 12: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 = 12402
                
04/05/2026 12: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 = 12402
                
04/05/2026 12: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 = 12402
                
04/05/2026 12: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 = 12402
                
04/05/2026 12:59:32 - logentry: =========================================
FECHA: 04/05/2026 12:59:32
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-1GKEn9rh1eJraH9Kfa65OHaR9+IVbAMzG_p5hx-+.sHCxaiU2AD
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "60511020",
    "serieinterna": "KY3059",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se cierra por inconveniente en el servidor, llamado duplicado",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12402",
    "observacion": "",
    "firma": "",
    "razonSocial": "DELEGACION PRESIDENCIAL REGIONAL DE ANTOFAGASTA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "IVANIA GUERRA URRUTIA",
    "correoContacto": "iguerrau@interior.gob.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "2",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28543\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:59",
    "ubicacionGPS": "LatLng(lat: -23.661819, lng: -70.3999428)",
    "horaLlegada": "09:56",
    "horaDespacho": "12:59",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 12:59:32
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-1GKEn9rh1eJraH9Kfa65OHaR9+IVbAMzG_p5hx-+.sHCxaiU2AD
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "60511020",
    "serieinterna": "KY3059",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se cierra por inconveniente en el servidor, llamado duplicado",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12402",
    "observacion": "",
    "firma": "",
    "razonSocial": "DELEGACION PRESIDENCIAL REGIONAL DE ANTOFAGASTA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "IVANIA GUERRA URRUTIA",
    "correoContacto": "iguerrau@interior.gob.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "2",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28543\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:59",
    "ubicacionGPS": "LatLng(lat: -23.661819, lng: -70.3999428)",
    "horaLlegada": "09:56",
    "horaDespacho": "12:59",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


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

[04/05/2026 12:59: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('60511020', 'KY3059', 1, 24456550, 0, NOW(), 
				'12:59', '09:56', '12:59', 10, '•Se cierra por inconveniente en el servidor, llamado duplicado', -1, 
				'', '','1','0',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -23.661819, lng: -70.3999428)' )
				
[04/05/2026 12:59:32] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200154
[04/05/2026 12:59:32] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200154', 'KYO-I1045', 1)
				
[04/05/2026 12:59:32] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28543 and
				    IDproducto = 'KYO-I1045'
				

04/05/2026 12: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 = 12402
                
04/05/2026 12:59:32 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I1045';
                
04/05/2026 12:59:32 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200154'                    
				WHERE idllamado = 12402			
				TO ENVIO: micorreo@miempresa.cl, iguerrau@interior.gob.cl


04/05/2026 12:59:32 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12402			
				
04/05/2026 12:59:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


04/05/2026 12: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 = 12402
                
04/05/2026 12: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 = 12402
                
04/05/2026 12:59:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12402
                
04/05/2026 12: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 = 12402
                
04/05/2026 12:59:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12:59:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12:59:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            [04/05/2026 12:59: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;
                
[04/05/2026 12:59: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;
                

04/05/2026 12:59:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12:59:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12:59:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12:59:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12:59:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                [04/05/2026 12:59: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;
                

04/05/2026 12:59:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                [04/05/2026 12:59: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;
                
[04/05/2026 12:59: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;
                

04/05/2026 12:59:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12402
            GROUP BY l.idllamado;
            
04/05/2026 12:59:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12402
                
04/05/2026 12:59:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            [04/05/2026 12:59:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                [04/05/2026 12:59:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 12:59:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12:59:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            
04/05/2026 12:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            
04/05/2026 12:59:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            
04/05/2026 12:59:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            [04/05/2026 12:59:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            [04/05/2026 12:59: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;
                

04/05/2026 12:59:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            
04/05/2026 12:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            
04/05/2026 12:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            
04/05/2026 12:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                [04/05/2026 12:59:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            
04/05/2026 12:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            
04/05/2026 12:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            
04/05/2026 12:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            [04/05/2026 12:59:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            
04/05/2026 12:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            [04/05/2026 12:59: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;
                

04/05/2026 12:59:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            
04/05/2026 12:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            [04/05/2026 12:59: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;
                

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

04/05/2026 12:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            
04/05/2026 12:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            
04/05/2026 12:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            
04/05/2026 12:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            
04/05/2026 12:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            
04/05/2026 12:59:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            
04/05/2026 12:59:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            
04/05/2026 12:59:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            
04/05/2026 12:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            
04/05/2026 12:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12403
            GROUP BY l.idllamado;
            
04/05/2026 12:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12403
                
04/05/2026 12:59:50 - logentry: =========================================
FECHA: 04/05/2026 12:59:50
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-g4-tZD+TsyBn-uiKq00XX46MfBV30OpH6Acx2Gxq5D5c68ByBB9
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "60511020",
    "serieinterna": "KY2734",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se cierra por inconveniente en el servidor, llamado duplicado",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12403",
    "observacion": "",
    "firma": "",
    "razonSocial": "DELEGACION PRESIDENCIAL REGIONAL DE ANTOFAGASTA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "IVANIA GUERRA URRUTIA",
    "correoContacto": "iguerrau@interior.gob.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "2",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28544\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:59",
    "ubicacionGPS": "LatLng(lat: -23.6618251, lng: -70.3999434)",
    "horaLlegada": "09:56",
    "horaDespacho": "12:59",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 12:59:50
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-g4-tZD+TsyBn-uiKq00XX46MfBV30OpH6Acx2Gxq5D5c68ByBB9
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "60511020",
    "serieinterna": "KY2734",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se cierra por inconveniente en el servidor, llamado duplicado",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12403",
    "observacion": "",
    "firma": "",
    "razonSocial": "DELEGACION PRESIDENCIAL REGIONAL DE ANTOFAGASTA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "IVANIA GUERRA URRUTIA",
    "correoContacto": "iguerrau@interior.gob.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "2",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28544\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:59",
    "ubicacionGPS": "LatLng(lat: -23.6618251, lng: -70.3999434)",
    "horaLlegada": "09:56",
    "horaDespacho": "12:59",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


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

[04/05/2026 12:59: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('60511020', 'KY2734', 1, 24456550, 0, NOW(), 
				'12:59', '09:56', '12:59', 10, '•Se cierra por inconveniente en el servidor, llamado duplicado', -1, 
				'', '','1','0',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -23.6618251, lng: -70.3999434)' )
				
[04/05/2026 12:59:50] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200155
[04/05/2026 12:59:50] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200155', 'KYO-I1045', 1)
				
[04/05/2026 12:59:50] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28544 and
				    IDproducto = 'KYO-I1045'
				

04/05/2026 12: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 = 12403
                
04/05/2026 12:59:50 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I1045';
                
04/05/2026 12:59:50 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200155'                    
				WHERE idllamado = 12403			
				TO ENVIO: micorreo@miempresa.cl, iguerrau@interior.gob.cl


04/05/2026 12:59:51 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12403			
				
04/05/2026 12:59:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


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

04/05/2026 12: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 = 12403
                [04/05/2026 12:59: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;
                
[04/05/2026 12:59: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;
                
[04/05/2026 12:59: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;
                

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

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

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

04/05/2026 12:59:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 12:59:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 12:59:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 12:59:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            [04/05/2026 12:59: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;
                
[04/05/2026 12:59: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;
                

04/05/2026 12:59:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 12:59:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 12:59:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 12:59:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            [04/05/2026 12:59: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;
                

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

04/05/2026 12:59:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 12:59:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 12:59:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 12:59:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 12:59:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 12:59:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 12:59:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 12:59:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 12:59:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 12:59:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 12:59:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 12:59:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 12:59:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 12:59:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 12:59:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 12:59:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 12:59:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 12:59:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 12:59:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 12:59:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 12:59:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12404
                [04/05/2026 12:59:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12:59:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12404
                
04/05/2026 12:59:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 12:59:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            [04/05/2026 12:59:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12:59:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12404
                [04/05/2026 12:59:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12: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 = 12404
                
04/05/2026 12: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 = 12404
                
04/05/2026 12: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 = 12404
                
04/05/2026 12:59:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            [04/05/2026 12:59:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12:59:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 12:59:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12404
                
04/05/2026 12:59:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 12: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 = 12404
                [04/05/2026 12:59:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12:59:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 12:59:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            [04/05/2026 12:59:59] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 12: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 = 12404
                
04/05/2026 12: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 = 12404
                
04/05/2026 12: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 = 12404
                
04/05/2026 12: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 = 12404
                
04/05/2026 12: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 = 12404
                
04/05/2026 12: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 = 12404
                
04/05/2026 12: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 = 12404
                
04/05/2026 12: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 = 12404
                
04/05/2026 12: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 = 12404
                
04/05/2026 12: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 = 12404
                
04/05/2026 12: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 = 12404
                
04/05/2026 12: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 = 12404
                
04/05/2026 12: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 = 12404
                
04/05/2026 12: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 = 12404
                
04/05/2026 13:00:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 13:00:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 13:00:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 13:00:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 13:00:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 13:00:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 13:00:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 13:00:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 13:00:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 13:00:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 13:00:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 13:00:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 13:00:12 - logentry: =========================================
FECHA: 04/05/2026 13:00:12
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-iiHzn7vFc00WkgoDy8YgoMc5gM.zw5F7g.MHUdmv2L-3lLZVb7L
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "60511020",
    "serieinterna": "KY3061",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se cierra por inconveniente en el servidor, llamado duplicado",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12404",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAAGAAYDASIAAhEBAxEB\/8QAFQABAQAAAAAAAAAAAAAAAAAAAAf\/xAAbEAACAwADAAAAAAAAAAAAAAADBAARExIhMf\/EABUBAQEAAAAAAAAAAAAAAAAAAAEC\/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQACEf\/aAAwDAQACEQMRAD8ArS67Y32TGb1ASshcazr3uIiLTk4X\/9k=",
    "razonSocial": "DELEGACION PRESIDENCIAL REGIONAL DE ANTOFAGASTA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "IVANIA GUEERA URRUTIA",
    "correoContacto": "iguerrau@interior.gob.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "2",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28545\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:00",
    "ubicacionGPS": "LatLng(lat: -23.6618294, lng: -70.3999352)",
    "horaLlegada": "09:56",
    "horaDespacho": "12:59",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 13:00:12
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-iiHzn7vFc00WkgoDy8YgoMc5gM.zw5F7g.MHUdmv2L-3lLZVb7L
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "60511020",
    "serieinterna": "KY3061",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se cierra por inconveniente en el servidor, llamado duplicado",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12404",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAAGAAYDASIAAhEBAxEB\/8QAFQABAQAAAAAAAAAAAAAAAAAAAAf\/xAAbEAACAwADAAAAAAAAAAAAAAADBAARExIhMf\/EABUBAQEAAAAAAAAAAAAAAAAAAAEC\/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQACEf\/aAAwDAQACEQMRAD8ArS67Y32TGb1ASshcazr3uIiLTk4X\/9k=",
    "razonSocial": "DELEGACION PRESIDENCIAL REGIONAL DE ANTOFAGASTA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "IVANIA GUEERA URRUTIA",
    "correoContacto": "iguerrau@interior.gob.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "2",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28545\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:00",
    "ubicacionGPS": "LatLng(lat: -23.6618294, lng: -70.3999352)",
    "horaLlegada": "09:56",
    "horaDespacho": "12:59",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


04/05/2026 13:00:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:60511020

[04/05/2026 13:00: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('60511020', 'KY3061', 1, 24456550, 0, NOW(), 
				'12:59', '09:56', '13:00', 10, '•Se cierra por inconveniente en el servidor, llamado duplicado', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777914012.png', '', null, 'COMPLETADO','LatLng(lat: -23.6618294, lng: -70.3999352)' )
				
[04/05/2026 13:00:12] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200156
[04/05/2026 13:00:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200156', 'KYO-I1045', 1)
				
[04/05/2026 13:00:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28545 and
				    IDproducto = 'KYO-I1045'
				

04/05/2026 13:00:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13:00:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I1045';
                
04/05/2026 13:00:12 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200156'                    
				WHERE idllamado = 12404			
				TO ENVIO: micorreo@miempresa.cl, iguerrau@interior.gob.cl


04/05/2026 13:00:12 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12404			
				
04/05/2026 13:00:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


04/05/2026 13:00:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12404
                
04/05/2026 13: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 = 12404
                
04/05/2026 13:00:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 13: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 = 12404
                
04/05/2026 13: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 = 12404
                
04/05/2026 13: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 = 12404
                
04/05/2026 13: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 = 12404
                
04/05/2026 13: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 = 12404
                
04/05/2026 13: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 = 12404
                
04/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            [04/05/2026 13:00: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;
                
[04/05/2026 13:00: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;
                

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

04/05/2026 13: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 = 12404
                
04/05/2026 13: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 = 12404
                
04/05/2026 13: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 = 12404
                
04/05/2026 13: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 = 12404
                
04/05/2026 13:00:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            [04/05/2026 13:00:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 13:00:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 13:00:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 13:00:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12404
            GROUP BY l.idllamado;
            
04/05/2026 13: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 = 12404
                [04/05/2026 13:00:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 13:00:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

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

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

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

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

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

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

04/05/2026 13:00:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                [04/05/2026 13:00: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;
                

04/05/2026 13:00:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
04/05/2026 13:00:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
04/05/2026 13:00:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
04/05/2026 13:00:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
04/05/2026 13:00:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
04/05/2026 13:00:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            [04/05/2026 13:00: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;
                

04/05/2026 13:00:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
04/05/2026 13:00:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
04/05/2026 13:00:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            [04/05/2026 13:00: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;
                
[04/05/2026 13:00: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;
                

04/05/2026 13:00:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
04/05/2026 13:00:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
04/05/2026 13:00:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:00:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:00:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
04/05/2026 13:00:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
04/05/2026 13:00:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
04/05/2026 13:00:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [04/05/2026 13:00: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;
                
[04/05/2026 13:00: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;
                
[04/05/2026 13:00: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;
                

04/05/2026 13:00:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                [04/05/2026 13:00:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 13:00:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
04/05/2026 13:00:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [04/05/2026 13:00:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 13:00:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
04/05/2026 13:00:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
04/05/2026 13:00:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
04/05/2026 13:00:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
04/05/2026 13:00:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                [04/05/2026 13:00:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 13:00:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
04/05/2026 13:00:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
04/05/2026 13:00:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [04/05/2026 13:00: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;
                

04/05/2026 13:00:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
04/05/2026 13:00:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
04/05/2026 13:00:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [04/05/2026 13:00: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;
                
[04/05/2026 13:00: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;
                

04/05/2026 13:00:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [04/05/2026 13:00: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;
                

04/05/2026 13:00:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
04/05/2026 13:00:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
04/05/2026 13:00:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [04/05/2026 13:00: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;
                
[04/05/2026 13:00: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;
                

04/05/2026 13:00:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
04/05/2026 13:00:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
04/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
04/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                [04/05/2026 13:00: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;
                

04/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
04/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                [04/05/2026 13:00: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;
                

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

04/05/2026 13:00:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            [04/05/2026 13:00: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;
                

04/05/2026 13:00:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                [04/05/2026 13:00: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;
                

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

04/05/2026 13:00:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            [04/05/2026 13:00: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;
                

04/05/2026 13:00:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13: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 = 12346
                
04/05/2026 13: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 = 12346
                
04/05/2026 13: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 = 12346
                
04/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            [04/05/2026 13:00:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 13: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 = 12346
                
04/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13: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 = 12346
                [04/05/2026 13:00:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 13:00:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            [04/05/2026 13:00:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 13:00:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13: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 = 12346
                
04/05/2026 13: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 = 12346
                [04/05/2026 13:00:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 13: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 = 12346
                
04/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13: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 = 12346
                [04/05/2026 13:00:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13: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 = 12346
                
04/05/2026 13: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 = 12346
                
04/05/2026 13: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 = 12346
                
04/05/2026 13: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 = 12346
                
04/05/2026 13: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 = 12346
                
04/05/2026 13: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 = 12346
                
04/05/2026 13: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 = 12346
                
04/05/2026 13: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 = 12346
                
04/05/2026 13: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 = 12346
                
04/05/2026 13: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 = 12346
                
04/05/2026 13: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 = 12346
                
04/05/2026 13: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 = 12346
                
04/05/2026 13: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 = 12346
                
04/05/2026 13: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 = 12346
                
04/05/2026 13: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 = 12346
                
04/05/2026 13: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 = 12346
                
04/05/2026 13: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 = 12346
                
04/05/2026 13: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 = 12346
                [04/05/2026 13:00:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 13:00:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 13:00:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                [04/05/2026 13:00:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 13:00:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                [04/05/2026 13:00:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 13:00:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 13:00:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            [04/05/2026 13:00:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 13:00:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            [04/05/2026 13:00:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 13:00:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            [04/05/2026 13:00:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 13:00:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 13:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                [04/05/2026 13:00:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 13:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            [04/05/2026 13:00:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 13:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            [04/05/2026 13:00:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 13:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12346
            GROUP BY l.idllamado;
            
04/05/2026 13:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:00:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12346
                
04/05/2026 13:01:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:01:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:01:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:01:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                [04/05/2026 13:03:45] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '95585912'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 13:03:45] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 95585912 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '95585912'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 13:03:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 13:03:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:03:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:03:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:03:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 13:03:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:03:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:03:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 13:03:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:03:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                [04/05/2026 13:03:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 13:03:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12192
            GROUP BY l.idllamado;
            
04/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12192
            GROUP BY l.idllamado;
            [04/05/2026 13:03:56] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12192
            GROUP BY l.idllamado;
            
04/05/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 = 12192
                
04/05/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 = 12192
                
04/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12192
            GROUP BY l.idllamado;
            
04/05/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 = 12192
                
04/05/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 = 12192
                
04/05/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 = 12192
                
04/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12192
            GROUP BY l.idllamado;
            
04/05/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 = 12192
                
04/05/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 = 12192
                
04/05/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 = 12192
                
04/05/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 = 12439
                
04/05/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 = 12439
                
04/05/2026 13:04:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12192
            GROUP BY l.idllamado;
            
04/05/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 = 12192
                
04/05/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 = 12192
                
04/05/2026 13:04:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12192
                
04/05/2026 13:04:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12192
                
04/05/2026 13:04:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 13:04:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 13:04:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12192
                
04/05/2026 13:04:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12192
            GROUP BY l.idllamado;
            
04/05/2026 13:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12192
                
04/05/2026 13:04:16 - logentry: =========================================
FECHA: 04/05/2026 13:04:16
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-2v0OpeZcwEbUsG31dmiPBlQlwdI8W+uYEiJVNMRcBNpY7awAfRp
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2053",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "672640",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "01 Rgom 2356\n01 Rkit 2442\n01 iton  2174\nMantenimiento",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12439",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABwAKoDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABAEAABAwMCAgYFCAoCAwAAAAABAAIDBAURBiESMRNBUWGRwRQicaGxByMyQlKBwtEVJCU2U2JzkuHwFjRDotL\/xAAYAQADAQEAAAAAAAAAAAAAAAAAAgMEAf\/EADARAAIBAgQCCQMFAQAAAAAAAAABAgMRBBIhMUFRIjJCcYGRobHRM2HhFCNEYoLB\/9oADAMBAAIRAxEAPwD+zIiIALCvN8nirGWq1xiaukGXE8oh2n4rTuda23W2orHYPRMJAJ2J6h95wsnSNE6OgfcajLqmtdxue45PD1fn4J4pJZmZ6spSkqcXa+rf2OeK4Xay3iCmu9Q2pp6zZkjGfQfnl29Y8R3qoU9raIPsPS9cMzXDHPs28Vt0k3pNHBOP\/LG1\/iMrstUmcpXjOVNu+zR7IiKZpCIiACLznqIKaPpKiaOFmccUjg0eJWNLrGyRHAqXSdpZGfNdUW9kTnVhDrNI3UWDHrOyPcGmoezPW6M49y06W62+tOKashld9lrxnw5rrjJbo5GtTn1ZJnWiIlKhERABERAHjV1dPQ0z6mplEcTObiv3FKyaJksbg5j2hzXDrB5FTmqD6ReLPQEB8ckxdIxwBDhkD4cSpWtDWhrQAAMADqTNWSZGFRynKPBH1ERKWJjVZdX1tvssbyOnk45OHmGjrx\/cfu8KVjGxsaxgw1oAA7ApiyftbVVddg4OhgHQwkDn1Z8Af7lUqk9LRMuH6TlU5vTuRkapZ0mm61vYwO8HA+S9tPv6SwULuyBo8BjyX41J+7tb\/SKab\/d2i\/pBc7Hid\/k\/5\/6aiIiQ0hT921N0NR+j7TF6bWuOMN3az245+XWue53KvvFwls1pBiazaeoI5Drx\/uT7FsWmy0dnpxHTsy8j15XD1n\/72KllHWRlc51W409Fxfx8mRSaTkrJRW3+pfVTnfogcNb3beWB7Vuw2u3wN4YqKnYDzxGN11Ilc2ykKFOGy+TlltlBO3hloqd4\/miace5c1Pp21Ulcysp6URTMzgtccbjHLOOS00XMz5junBu7SCIi4OEREAEWTT3iSbU1VaTE0MgiEgfnc7N\/+lrLrTQkZqd7cNCYn\/WPlCpwTkU1MTgb74PP+74KnUxbPnteXObmI4Qz2H1R5FU6afDuI4fVSfNv4C4L5VmislXUA4c2Mhp7zsPeV3qY1jI+q9BtEJ9eqlBO3IDbzz9y5BXkh8RPJSbW526SpBSadp9sOmzK7bGc8vdhbS\/EUbYYmRMGGsaGtHcF+1yTu7j04ZIKPIy9SkDTtbk4+b81904C3T1CD\/CBXBriYx2DohnM8zWYHXzPkFt0UHo1DT0\/8KJrOfYMJuwRWuIf2S9z3RESGkmNEuDKauppSPSWVJMm25BAAPiCqdTV6t1Xbq8321Difj9Zg+23bf3ea17VdqW70gqKZ+\/12E+sw9hVJ69JGXDvJ+zLdeqO5ERTNQREQAREQAREQBMUmGfKHXZ+vSjHgz8lTqYn+a+USm6ulpj9+zvyVMSAMk4ATz4dxmw\/bX9mTOlfn7peawnJfUcLe0AF3+PBU6mNCAutFRKRgvqXez6LVToqdZhhPop8\/kKXoj+kdd1c\/FmOhj6Nm+cO5H8S2rtRtrKLDqman6Jwl44XYO3+\/BY+iI3Ot9VWvxx1M5Jx2D\/JK7HSLYtVuVWELab+RTIiKZrJbVDvSb7Z7eMYMokeM74yPIOVSpa2EXTW1dWgh0dGzomEb78vJyqVSelkZcP0nOfN+2gRfC4NGXEAdpRrg5oc0ggjII61M1H1TVz03NBWG6WOToaoHLocgNk7fHs5exUqJoycdidSlGorSJu36tb6QKK8UxoKn7TtmHv35e8d6o2uDmhzSCCMgjrXNX22kucHQ1kIlaDkZ2IPcVOOtF405xTWiodV0oOXUrxl2M9Q8xg9ya0ZbaMhmq0ut0lz4+RWosS2apobg8QTB1HUnbopdsnuP54W2kaa3NEKkaivF3CIi4OEREATF+JpdV2arzgPJiJ6hk4\/EqGsf0VFPJ9iNzvALA1vG5ttpqxg9emqGuyOoH\/IC0b5UNOmqudjvVkpzg9ocMeara6iY08k6i8fT8HFomPg06x2fpyud5eSoVlaYjEWnKJoBGWcW\/eSfNaqSbvJlsOrUor7Ix9U1potP1Lm54pR0TcfzbH3ZXvp+kNFYqSEgB3Rhzsdp3PxWRrYGeK30IO9RUjAHM9X4lTgADAGAEz0gicOlXk+SS89T6vGsqWUdHNUvIDYmFxz3BeNzqamkonSUlMaickNZH3nrPcozUtHeBQsq7rWgukkDWUsQPCNifZnbv8AaiEMz1YYiu6cXZXfofvTl\/pLXb3sMc1VXVMxd0cbd+QwCe\/fllagq9V3TAgpI7dEfrSfS9+fgFt2y101rpWRQQsY7hAe5o3cesk8yu1dlNXukJSw9RQUZSt3aepMHRzqxwkut1qKlxwS1uwBxvjOfgFv0VHDb6OOlpwRFGCGhxyeefNdCJHJvc0U6NOm7xWoRESlQiIgDNutioLvGRUQgS49WVuzmnz9hWJ6Rd9KOYKyU3C3HbpMHii7O3u2O3sVasXVtVBT6fqGSuHFMOCNvW458uapBtvK9jLXpxinVWjXH55mvFLHPCyaJ4fG8BzXDkQv2uGyQywWWkimz0jYhxZO4K7kj3NEG3FNhERcGOG80P6RtFTS\/WezLds+sNx7wpV91E\/yfPhcT0sTm07gerBBH\/qMfcrhRV703XOuzhRxufQ1crJJWtIAa7cEnxJ+\/wBirTa2ZgxcZrpQV7pp+JVWuH0e00kJ5shYD7cDK60RSepuirJImL2RVays9KDkxZlI7Ov8Cp1L0pbVfKFVO6qanwCO3DR+I+CqFSfBGfD6ucub9tApbUJ9P1LarY1ww13SyAc+34NPiqlS2n\/2nqa5XV27Iz0MW\/Vyz4D3lENLs5iOllp836LVlSiIpmoIiIAIuetrIbfRyVVQSIowC4tGTzx5rEl1xamtBiZUTEnGGsx8SmUW9kSnWp03aTsUa+EgDJOAFLjU92ryGW6xyji5SS54fIe9P+P3m7OLrzcjHE4f9enO3sPV8U2S3WdiX6jN9OLfovNndddUUdvd0EANZVk4bFEc4PefLmuS2WWsuNa27X7BkG8NN9WP2jy8Vq22w221HjpacCTGDI4lzj48vuWijMkrRBUpzeaq\/BbfkIiKZqCIiACIiACIiAMyis5o7xWXE1HSelY9Tgxw4787rTRF1tvcWMFBWRx3ap9DtVVUDOY4nEYON8bbrg0jSNpNOwEfSmzK72nl7gF7anhnqNPVcVMx75XBuGsGSRxDPuyuq1RPgtFHDIzgeyBjXN7DwjPvTdgjZuvfkvd\/g60REhoCIiAPjmhzS1wBBGCD1r8R08ERzHDGw9rWgL0RByyCIiDoREQAREQAREQAREQAREQB\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REPUESTOS Y MANTENCIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:04",
    "ubicacionGPS": "LatLng(lat: -22.0857851, lng: -70.1894911)",
    "horaLlegada": "09:48",
    "horaDespacho": "12:16",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 13:04:16
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-2v0OpeZcwEbUsG31dmiPBlQlwdI8W+uYEiJVNMRcBNpY7awAfRp
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2053",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "672640",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "01 Rgom 2356\n01 Rkit 2442\n01 iton  2174\nMantenimiento",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12439",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABwAKoDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABAEAABAwMCAgYFCAoCAwAAAAABAAIDBAURBiESMRNBUWGRwRQicaGxByMyQlKBwtEVJCU2U2JzkuHwFjRDotL\/xAAYAQADAQEAAAAAAAAAAAAAAAAAAgMEAf\/EADARAAIBAgQCCQMFAQAAAAAAAAABAgMRBBIhMUFRIjJCcYGRobHRM2HhFCNEYoLB\/9oADAMBAAIRAxEAPwD+zIiIALCvN8nirGWq1xiaukGXE8oh2n4rTuda23W2orHYPRMJAJ2J6h95wsnSNE6OgfcajLqmtdxue45PD1fn4J4pJZmZ6spSkqcXa+rf2OeK4Xay3iCmu9Q2pp6zZkjGfQfnl29Y8R3qoU9raIPsPS9cMzXDHPs28Vt0k3pNHBOP\/LG1\/iMrstUmcpXjOVNu+zR7IiKZpCIiACLznqIKaPpKiaOFmccUjg0eJWNLrGyRHAqXSdpZGfNdUW9kTnVhDrNI3UWDHrOyPcGmoezPW6M49y06W62+tOKashld9lrxnw5rrjJbo5GtTn1ZJnWiIlKhERABERAHjV1dPQ0z6mplEcTObiv3FKyaJksbg5j2hzXDrB5FTmqD6ReLPQEB8ckxdIxwBDhkD4cSpWtDWhrQAAMADqTNWSZGFRynKPBH1ERKWJjVZdX1tvssbyOnk45OHmGjrx\/cfu8KVjGxsaxgw1oAA7ApiyftbVVddg4OhgHQwkDn1Z8Af7lUqk9LRMuH6TlU5vTuRkapZ0mm61vYwO8HA+S9tPv6SwULuyBo8BjyX41J+7tb\/SKab\/d2i\/pBc7Hid\/k\/5\/6aiIiQ0hT921N0NR+j7TF6bWuOMN3az245+XWue53KvvFwls1pBiazaeoI5Drx\/uT7FsWmy0dnpxHTsy8j15XD1n\/72KllHWRlc51W409Fxfx8mRSaTkrJRW3+pfVTnfogcNb3beWB7Vuw2u3wN4YqKnYDzxGN11Ilc2ykKFOGy+TlltlBO3hloqd4\/miace5c1Pp21Ulcysp6URTMzgtccbjHLOOS00XMz5junBu7SCIi4OEREAEWTT3iSbU1VaTE0MgiEgfnc7N\/+lrLrTQkZqd7cNCYn\/WPlCpwTkU1MTgb74PP+74KnUxbPnteXObmI4Qz2H1R5FU6afDuI4fVSfNv4C4L5VmislXUA4c2Mhp7zsPeV3qY1jI+q9BtEJ9eqlBO3IDbzz9y5BXkh8RPJSbW526SpBSadp9sOmzK7bGc8vdhbS\/EUbYYmRMGGsaGtHcF+1yTu7j04ZIKPIy9SkDTtbk4+b81904C3T1CD\/CBXBriYx2DohnM8zWYHXzPkFt0UHo1DT0\/8KJrOfYMJuwRWuIf2S9z3RESGkmNEuDKauppSPSWVJMm25BAAPiCqdTV6t1Xbq8321Difj9Zg+23bf3ea17VdqW70gqKZ+\/12E+sw9hVJ69JGXDvJ+zLdeqO5ERTNQREQAREQAREQBMUmGfKHXZ+vSjHgz8lTqYn+a+USm6ulpj9+zvyVMSAMk4ATz4dxmw\/bX9mTOlfn7peawnJfUcLe0AF3+PBU6mNCAutFRKRgvqXez6LVToqdZhhPop8\/kKXoj+kdd1c\/FmOhj6Nm+cO5H8S2rtRtrKLDqman6Jwl44XYO3+\/BY+iI3Ot9VWvxx1M5Jx2D\/JK7HSLYtVuVWELab+RTIiKZrJbVDvSb7Z7eMYMokeM74yPIOVSpa2EXTW1dWgh0dGzomEb78vJyqVSelkZcP0nOfN+2gRfC4NGXEAdpRrg5oc0ggjII61M1H1TVz03NBWG6WOToaoHLocgNk7fHs5exUqJoycdidSlGorSJu36tb6QKK8UxoKn7TtmHv35e8d6o2uDmhzSCCMgjrXNX22kucHQ1kIlaDkZ2IPcVOOtF405xTWiodV0oOXUrxl2M9Q8xg9ya0ZbaMhmq0ut0lz4+RWosS2apobg8QTB1HUnbopdsnuP54W2kaa3NEKkaivF3CIi4OEREATF+JpdV2arzgPJiJ6hk4\/EqGsf0VFPJ9iNzvALA1vG5ttpqxg9emqGuyOoH\/IC0b5UNOmqudjvVkpzg9ocMeara6iY08k6i8fT8HFomPg06x2fpyud5eSoVlaYjEWnKJoBGWcW\/eSfNaqSbvJlsOrUor7Ix9U1potP1Lm54pR0TcfzbH3ZXvp+kNFYqSEgB3Rhzsdp3PxWRrYGeK30IO9RUjAHM9X4lTgADAGAEz0gicOlXk+SS89T6vGsqWUdHNUvIDYmFxz3BeNzqamkonSUlMaickNZH3nrPcozUtHeBQsq7rWgukkDWUsQPCNifZnbv8AaiEMz1YYiu6cXZXfofvTl\/pLXb3sMc1VXVMxd0cbd+QwCe\/fllagq9V3TAgpI7dEfrSfS9+fgFt2y101rpWRQQsY7hAe5o3cesk8yu1dlNXukJSw9RQUZSt3aepMHRzqxwkut1qKlxwS1uwBxvjOfgFv0VHDb6OOlpwRFGCGhxyeefNdCJHJvc0U6NOm7xWoRESlQiIgDNutioLvGRUQgS49WVuzmnz9hWJ6Rd9KOYKyU3C3HbpMHii7O3u2O3sVasXVtVBT6fqGSuHFMOCNvW458uapBtvK9jLXpxinVWjXH55mvFLHPCyaJ4fG8BzXDkQv2uGyQywWWkimz0jYhxZO4K7kj3NEG3FNhERcGOG80P6RtFTS\/WezLds+sNx7wpV91E\/yfPhcT0sTm07gerBBH\/qMfcrhRV703XOuzhRxufQ1crJJWtIAa7cEnxJ+\/wBirTa2ZgxcZrpQV7pp+JVWuH0e00kJ5shYD7cDK60RSepuirJImL2RVays9KDkxZlI7Ov8Cp1L0pbVfKFVO6qanwCO3DR+I+CqFSfBGfD6ucub9tApbUJ9P1LarY1ww13SyAc+34NPiqlS2n\/2nqa5XV27Iz0MW\/Vyz4D3lENLs5iOllp836LVlSiIpmoIiIAIuetrIbfRyVVQSIowC4tGTzx5rEl1xamtBiZUTEnGGsx8SmUW9kSnWp03aTsUa+EgDJOAFLjU92ryGW6xyji5SS54fIe9P+P3m7OLrzcjHE4f9enO3sPV8U2S3WdiX6jN9OLfovNndddUUdvd0EANZVk4bFEc4PefLmuS2WWsuNa27X7BkG8NN9WP2jy8Vq22w221HjpacCTGDI4lzj48vuWijMkrRBUpzeaq\/BbfkIiKZqCIiACIiACIiAMyis5o7xWXE1HSelY9Tgxw4787rTRF1tvcWMFBWRx3ap9DtVVUDOY4nEYON8bbrg0jSNpNOwEfSmzK72nl7gF7anhnqNPVcVMx75XBuGsGSRxDPuyuq1RPgtFHDIzgeyBjXN7DwjPvTdgjZuvfkvd\/g60REhoCIiAPjmhzS1wBBGCD1r8R08ERzHDGw9rWgL0RByyCIiDoREQAREQAREQAREQAREQB\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REPUESTOS Y MANTENCIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:04",
    "ubicacionGPS": "LatLng(lat: -22.0857851, lng: -70.1894911)",
    "horaLlegada": "09:48",
    "horaDespacho": "12:16",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


04/05/2026 13:04:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[04/05/2026 13:04:16] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'KY2053', 2, 21773342, 672640, NOW(), 
				'12:16', '09:48', '13:04', 4, '01 Rgom 2356
01 Rkit 2442
01 iton  2174
Mantenimiento', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777914256.png', '', null, 'COMPLETADO','LatLng(lat: -22.0857851, lng: -70.1894911)' )
				
[04/05/2026 13:04:16] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200157

04/05/2026 13:04:16 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200157'                    
				WHERE idllamado = 12439			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


04/05/2026 13:04:16 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12439			
				
04/05/2026 13:04:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


04/05/2026 13:04:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12192
                
04/05/2026 13:04:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12192
                
04/05/2026 13:04:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 13:04:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12192
            GROUP BY l.idllamado;
            
04/05/2026 13:04:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12192
                
04/05/2026 13:04:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12192
                
04/05/2026 13:04:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12192
            GROUP BY l.idllamado;
            
04/05/2026 13:04:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12192
                
04/05/2026 13:04:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12192
                
04/05/2026 13:04:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12192
                
04/05/2026 13:04:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12192
                
04/05/2026 13:04:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                [04/05/2026 13:04: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;
                

04/05/2026 13:04:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 13:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 13:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                [04/05/2026 13:04: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;
                

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

04/05/2026 13:04:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 13:04:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 13:04:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            [04/05/2026 13:04: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;
                

04/05/2026 13:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                [04/05/2026 13:04: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;
                
[04/05/2026 13:04: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;
                

04/05/2026 13:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 13:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 13:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                [04/05/2026 13:04: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;
                
[04/05/2026 13:04: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;
				

04/05/2026 13:04:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            
04/05/2026 13:04:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/2026 13:04:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12439
                
04/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12439
            GROUP BY l.idllamado;
            [04/05/2026 13:04: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;
                

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

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

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

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

04/05/2026 13:04:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:04:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                [04/05/2026 13: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;
                

04/05/2026 13:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13:05:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            [04/05/2026 13: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;
                

04/05/2026 13: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 = 12192
                
04/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12192
            GROUP BY l.idllamado;
            
04/05/2026 13: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 = 12192
                
04/05/2026 13:05:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12192
            GROUP BY l.idllamado;
            
04/05/2026 13: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 = 12192
                
04/05/2026 13: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 = 12192
                
04/05/2026 13:05:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12192
                
04/05/2026 13:05:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12192
                
04/05/2026 13: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 = 12440
                
04/05/2026 13: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 = 12440
                
04/05/2026 13:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            [04/05/2026 13:05: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;
                

04/05/2026 13:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                [04/05/2026 13:05: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;
                

04/05/2026 13:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            [04/05/2026 13:05: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;
                

04/05/2026 13:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                [04/05/2026 13:05:25] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 13:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            [04/05/2026 13:05:26] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 13:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                [04/05/2026 13:05: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;
                

04/05/2026 13:05:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13:05:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13: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 = 12440
                
04/05/2026 13: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 = 12440
                
04/05/2026 13: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 = 12440
                
04/05/2026 13: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 = 12440
                
04/05/2026 13:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13:05:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13:05:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:05:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13: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 = 12440
                
04/05/2026 13: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 = 12440
                
04/05/2026 13: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 = 12440
                
04/05/2026 13: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 = 12440
                
04/05/2026 13:05:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13: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 = 12440
                
04/05/2026 13: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 = 12440
                
04/05/2026 13: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 = 12192
                
04/05/2026 13: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 = 12192
                
04/05/2026 13:06:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12192
                
04/05/2026 13:06:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12192
                
04/05/2026 13:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12192
            GROUP BY l.idllamado;
            
04/05/2026 13: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 = 12192
                
04/05/2026 13: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 = 12192
                
04/05/2026 13: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 = 12192
                
04/05/2026 13: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 = 12192
                
04/05/2026 13:06:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12192
            GROUP BY l.idllamado;
            
04/05/2026 13: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 = 12192
                
04/05/2026 13: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 = 12192
                
04/05/2026 13:06:17 - logentry: =========================================
FECHA: 04/05/2026 13:06:17
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-adEFLCKooDPBtXkv2nR+tQlAd0ZR6+ATeRpXwbOFhKgKh-UEOdH
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "13643530",
    "serieinterna": "BR1856",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Se vuelve a cerrar servicios por duplicidad, problemas con servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12192",
    "observacion": "Se vuelve a cerrar servicios por duplicidad, problemas con servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACnAScDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA\/EAABAwMCAwQIBAQEBwEAAAABAAIDBAURBiESMUETUXGRFCIyYYGhscEVI0LRUqLh8SSSwvAHFiUzQ4Ky0v\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC4RAAICAQMBBgQHAQAAAAAAAAABAhEDEiExQQQTIlFxgTJhkaEUI7HB0eHw8f\/aAAwDAQACEQMRAD8A\/WLhebfbNqypbG4jIbglx+AVM\/WjJ5Oztlsqax3fjA+WfsryotlDV1DKippYpZWDha57c4GcqTHGyJgZGxrGjkGjACunFLg55RzSe0kl6bmY7TWVd6zGU1A3pxYJ+fEuVbFqO107rlU3aORlOWkxNbs8ZAwdgtJcq1ttt81Y5he2IZLQcZ3wsrUXKbWFXT2+jiMVIzhkqXuGcHu+w7z7lpFt70qObNGMPDqbk+N\/8jW0VQauhgqCMGWNrsDluF3XmONkUbY428LGANaO4Belgz0FdbhERCQiIgCIiAIo0twpYK2GjklAnnyWM6kAE\/ZSUITT4CIiEhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAUWvuVJbKcz1cwjb0HVx7gOqlKpqNO0VZdvxCqMk+w4YZHZjaRjkPhyUqr3M8jnXgW5nblU3jUFBUVTWGjtkTC8B3OYD6\/RX+lIoY9PUr4owwyNy8gbuOcZPkrCvhE1sqYANnwvZjxBCqdFzGXTsbTnMcj25PXfP3Wjdw2OWGPRnTk7bTL9ERZHcEREAREQBERAZnWUckDaG6RHDqWccXPkSDv7sgea0kcjZY2yMOWvAcD3gqu1FSirsFZF1EZePFvrfZeNMVJqtO0j3HLms4D\/AOpI+gWj3gvkc0fDna81f02LZERZnSUFDX1R1fX2+aUuhbEHxtPTkdv8x8lfrMVR9G\/4g0jhs2opy1xHU4d+wWnV59DnwNvUn0bCIiodAREQBERAEREAREQBERAEREAREQBERAEREAREQBZjRf5TblSDlDUnH0\/0rTrMac\/I1Je6Y7cUokDT3ZP\/AOh8lePws5su2XG\/X9DToirr\/M+nsNZLG4teIiARzGdvuqpW6N5S0xcvIsA4OGWkEZxsvqwlsLtP1Vrq+0Ip7jEBKC7Zp2\/dp8+i3atKOkyw5u9TtU0ERQKm92+krhRzzhsvAXnuaAM7npsqpN8GspRjvJ0T0WYOsH1NQY7Xa6irY32pAD9APrhdqXVYFVHS3Sgmt8kmzS8Etdyx08fBW7uXkYrtWJvn+PqaBzQ5padwRgrNaIc+OhrKSTPFBUEHyAx8lplkDUTaavtwmko5Z4q13HEY9gSDnf8Azc1MN00VzvROE3wrv3NevhIAyTgBZcVuqLwT6JSstsGdnzD1yPiPt8UfpIGN1RdrzVTtjBe48WA0Dc889w8k0Jcsd\/KXwRbXm9j1qN3Y6jsdSDgOlLC4dxLf3WnX5uW1H\/K8dc17zHBXAwtccljcd\/jjn\/f9FikbNEyVhy17Q5p9xU5FSRTsuTXKT4un9v6PaKLca1lut81XJ7MTc\/HkOo6rHU1bd\/xS2Vk1Y5z69xPo4B4WR8geeOpIHuB9yrGDkrNcudY5KNX\/AKjdoiKh0BEVfcr3QWkD0qcB7vZjbu4\/t8VKTfBWUoxVydIsEWYbetQ3Fxkt9pEdOBlpmOHPGemcDcf3VlYLyLxSOMjezqYXcM0eCOE742Ph8irODSsyhnhOWlfpyWqLxLLHDE6WV4Yxgy5zjgALNu1HdLlPIyxW9k0URwZpTgOPcMkKFFstkyxx7Pl9Opp0VJaNSRXCpfRVURpK1hI7J\/6sHp7\/AHK7UNNOmWhkjkVxYREUFwiIgCIiAIiIAiIgCzFv\/K1\/cWH\/AMkAcD8Gf18lp1UfhVQNVfijXs7B0HZuGfWz4Y8OqvF1Zhmi24tdGW6jXGkbX2+elfylYR8enzUlFRbGzSapmBMjrhoqWncxwqrVKCR1AyR8gT\/lWztdV6da6ap2zJE0uwc743+a4\/glEJ6ydrC2StYWS77YI32VJp26wWaCe03ScQS00ruAuBw5p7j45PxWz8a2ODGngmtb2aq\/Tj7Grc4NaXOIAAySei\/OpII9TaxmbHI1sL3+1n2mtAG3iArq5XiXUUhtNma90T9p6ktPC1v7fXoqyxacmrrdLV08rqWrin\/Jc4FuMDcHrjf5K0FoTb5Mu0z7+cYQVpb+teRuqenhpIGwU8bY42DAa0Kj1rJTR2J3atBmc9ogPVrs5JHdsCuPHrM5Z2VGOnaZHnz+y7UOmXurRX3iq9NqBuG49Rp2+\/uCokou2zonKWWDxwi1fnskXFuZJHbaZkue0bE0Ozzzgc1JRFkdiVKgs3qy4OdHFZaTD6msIa4Z9huRz8fsVK1BqGO0xiCACatl2jiG+M9SPt1XPTllnozLcLjIZK6p3dk54B3eP05BaRWnxM5cs3kfcw935L+WSKqzRDTL7VCCWtiw3GMucN8\/Ej5rhpCvFZY44nO\/Npfyng8wB7Py2+CvVna3T9XT3F1xslQKeWQfmxOGWvOfJE000yZwcJqcFdKmvl\/Rx11OBQUtIXhjZ5suJGcAf3C56agfdLo68viMVPCzsKRhPstAx3ePLqSq68Ud0NVQ1GoJ2Op3TBjuzwGxjb+vfyK3MEcUUDGQNaIgPVDeWFeT0wSRz44vLnc5bJVt1+R0UC63mjs0DZapx9Y4Yxgy53fgKeszrTigp6GvZ7VNUgj47\/6QsoJOVM7M83DG5RObr1e72OztFCaWJ2QamfbHh\/TKnWvS9LRSiqq3urKw7ullOQD7gfqVdtcHNDhuCMhfVLn0WxWOBXqm9T\/3CCzFPx0OvZ4A49lWQ9oGjkDgZP8AKfNadZ3UVuuUlxo7lao2STwhzC1xHwO+3UpDmh2hPSpJXTTOGoKuS6XWn0\/RyEBzg6pew+yBvj4Yz44Wio6OCgpY6anYGRxjAH3PvVbp6yutcMlRUv7StqjxzOPQ88eZ3XCtv91p6yWnp7DPO2N2BKOLhcPd6v3Vnv4YmcHo\/Ny8v3peR11HZzXQNrKQFtdSnjic3m7H6f2UjT91F3tUdQSO1b6soHRwVX+I6vl3jtFNG0\/xuGR\/MPoolukqrDqNjK9kcTLm0FzYvYZJnA+f\/wBKdNxpmfeqOVTSaT2dqvRmyREWJ6AREQBERAEREAREQBERAEREAUWqttFWuDqmmjlcORcN\/BSkS6IaTVM5U9NBSQiGmhZFGDnhYMBdURAklsgiIhIWdu13uktfLarRRO7VoHFUP2a0Ecxnb\/fJaJFMWl0M8kHNUnRSWXTkdueaurk9KrnnLpnZOPDP1V2iI227ZMMcca0xQREUFyPXUNPcaR9LVR8cb+Y6g94VdZbNWWid7DcXz0fBiOJ43adt89Ouw71copUnVGbxxclPqgolzt0N1oX0c5cGPIJLTgjBypaKE6LySkqZ4hibDCyJpJaxoaCTk4C9oiEhERAEREAVZqC1C72t8LQBOz14XHbDh7\/fyVmilOnaKzgpxcXwyq05cJrhamPqY3sniJjk4wRkjrurVERu2IRcYpN2ERFBYIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIuNVUxUdLJUzu4Y4mlzihDaStnZFTWC5113E1XNAyKjccU\/wDEcHByrlS1TorCanHUuAiIoLhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFlb0+S\/X+GyQ59FgIfVOby78Z8NvE+5apZTR8kbKy4RVbwLk+Yl7Tz4R3HruStIbXI5e0eJxxvh8+3T3NRDFHBCyGJgZGwBrWjkAvaIszq4CIiAIiIAiIgCIiAIiIAiIgCIolfRyVjYRHVzU3Zyh5MRxxgfpPuRENtLYloiISEREAREQBERAEREAREQBERAEREAREQBERAFVXTTtBdXdq9phnA2mi2dnoT3q1XwkAZJwApTa4KThGaqStGZOl7pFgU2oqlrAMcLuI4\/mT8G1Qz2L6x2efE3+hVpV6jtFH\/3a6Jx\/hjPGfkqp+raut9WzWmafOwllHqg+A\/cLVOb6HFOPZ4bKTv5Nj0fWcJz6ZSVGemAMfyhLXqeufd47XcqSNsz9uKB3Fg4zuAT9dl5Nm1Hdj\/1K5CliII7KA7n3EDYjxJVtatPW60AOgi4psbzSbu+Hd8EbjW\/2IhDK5JwtL5v9i0VBcb3Wuu34XaIGyzRjimc\/wBluw6\/H7K\/WUqpxpzVEtZUNkfSVsftMbngcN\/381SCtnR2iTjFb0r3ZOs9+nnrHW26wCmrmjIAHquHu3KvVkLperFVXGiuEVe4SUjiS1kDiZBttk4x181IOr56uR0VqtFRUO5cb9gD78Z2+IVnBvdIyx9ohG4ylfl1v6GnUWa50FPJ2c1ZBG8c2ukAI8e5UBtupbuP8fWx0ULhnsoRv8v3Kl02jLNCwiWKSpc7m+WQ5+WFGmK5Zr3mWfwRr12+xeNc17Q5jg5p5EHIK9LL6clfbLxWWOeRxY08dNxfw9fljyK1CrJUzTFk7yN9QiqdSNrW2l9RQTPjlpyJCG\/raOY+\/wAFLtlfHc7fDVxEYkb6wz7LuoUVtZKyLXoJaL44kNJAycbDvVbYbq68230t8IiPGW8IOeSU6ss5pSUerLNERQWCIiAjV1wpbbAZquYRs6Z3J8B1VE7XVt4yI6eqe1vNwYMfVca+KCo1xHT3NvHA+EGna44aXe\/odw7zC6WtjaDW9wpGAMimhEjGgYGdth5uWyjFLc4J5ssp1FpK682S6bWNmqCA6d8BOcdqzH0yrmKaKojEkMrJWHk5jgR5hcKq10FaCKmjhlJ\/UWDi8+azdxt7tKTxXC1Pc2CWUMmgecgjcjB59\/eVVKMtlyaOeXErnTXy5+hr0Xxrg5ocNwRkKmuup6O2zejRsfVVOQOyi3IPcf2VEm9kdE8kYK5Oi6RZOHWFfJJKTZJezgOJWsJLmH37fZaG3XKlutKKileXMyQQRgg+CmUHHkpjz48jqLJEs0cETpZntjjYMuc44ACoDrW1mtbTx9o9hcAZsYbuceJUWvc7Ul7koe1LLbQjiqHD9ThnbI\/3sVxslAL5cGV5gZT26ifw00LABxEb5JHPoSevmtFCKVyOaefJKaji8\/rXPsbEHIz3ovqLE7wiIgCIiAzdRRarq5pALhTUsJceERjfHlnl71zGjHVDuK5XeqquuAcfUlahFfvH0OZ9mxv4rfq2VNJpiz0YHBRMkcP1S+uT799vJWoAAwBgBfUVW2+TaMIwVRVBERQXC8vYyRhY9oc08w4ZBXpEBFjtlvifxx0NMx2c8TYmg\/RSQABgDAC+olkKKXCCIiElHfbLPV1NPcbe9sdbTkY4tg4Z6\/PzV23PCOLGcb4X1FLbaopHGoycl1PhAIwRkFZOShuWma+SotcBqqCY5fTjPqH3cz8e7mtaimMqK5cSyU7prhmTnvN0v0ZobdQTUgkBEk8oOAO4HG2VoLVbo7XboqSM54B6zsY4ndSpiI5WqRGPE4y1SdsIiKpsUdBcqip1TXUgl7SlgZsdsNf6uR9fJXi4U9HTUrpHQQMjMri95aPaJ5rurSafBnjjKK8TsptSWZ10o2yU54aumPHC4HGT3fLzWap7u6r1Na6uVpjqwfR54yOHfkD8eLl3hb5VlXa7Syq\/E6pjI3xuD+0c8tAI688furwnSpnPnwOUtcHXF+xZrKaikN5vVHZKYhzY39rUOB9n+oGfML1W6mnuUhoNPwvlkds6oIw1g7x+5+atLFY4rNTEF3a1Mu8sp5k9w9yJaN3yJy\/EPRD4er\/ZHHUt4fQU7KSjy6uqjwxNbuQM7n7D+i7WOxw2mnDnDtKuT1ppnbuJPMA9y80tiEd9qLrUy+kSPP5AIx2Q\/wB7f3VuqtpKkaQg5TeSft8v+mY0dgzXYn2zUnOdj16eaUJNu1tU0UR\/w9VH2oYOTDjJ26b581xgqG6Y1BWtrOIUdYTKyRrS7hOeuN\/1Y8l3sTX3TUFZezG5tOWCOnLxgkbAkD4fNaPq+lHJB7Qxr4k\/tv8AqTRp6CltNdSUbnl1UC7MruL1sbDly8+aqrPqOGzwMtV2p5KWSAYD+DIIzzIG\/lla5cp6Wnqm8FRBHM3ukYHD5rNT6SOqWBpqWN019CLTXu11jwyCuhe88m8WCfgUSGx2unqBURUUTZRnDgO\/mih10NYd5Xir2J6IiqaBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQGano9W1c0g9OpqWHJDRHzx0wcZ+a+w6OhkmE10rp6+QAjDyQPDmT80RX1voc34aDdyt+rL6mpKeji7KmgjhZ3MaBldkRUOhJJUgiIhJzlhinbwTRMkb3PaCPmvTGMjYGMaGtHINGAERCKXJ6REQkIiID\/2Q==",
    "razonSocial": "JUAN PABLO FLORES HUERTA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "marcela",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:06",
    "ubicacionGPS": "LatLng(lat: -23.6618946, lng: -70.4001437)",
    "horaLlegada": "10:03",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "5",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 13:06:17
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-adEFLCKooDPBtXkv2nR+tQlAd0ZR6+ATeRpXwbOFhKgKh-UEOdH
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "13643530",
    "serieinterna": "BR1856",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Se vuelve a cerrar servicios por duplicidad, problemas con servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12192",
    "observacion": "Se vuelve a cerrar servicios por duplicidad, problemas con servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACnAScDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA\/EAABAwMCAwQIBAQEBwEAAAABAAIDBAURBiESMUETUXGRFCIyYYGhscEVI0LRUqLh8SSSwvAHFiUzQ4Ky0v\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC4RAAICAQMBBgQHAQAAAAAAAAABAhEDEiExQQQTIlFxgTJhkaEUI7HB0eHw8f\/aAAwDAQACEQMRAD8A\/WLhebfbNqypbG4jIbglx+AVM\/WjJ5Oztlsqax3fjA+WfsryotlDV1DKippYpZWDha57c4GcqTHGyJgZGxrGjkGjACunFLg55RzSe0kl6bmY7TWVd6zGU1A3pxYJ+fEuVbFqO107rlU3aORlOWkxNbs8ZAwdgtJcq1ttt81Y5he2IZLQcZ3wsrUXKbWFXT2+jiMVIzhkqXuGcHu+w7z7lpFt70qObNGMPDqbk+N\/8jW0VQauhgqCMGWNrsDluF3XmONkUbY428LGANaO4Belgz0FdbhERCQiIgCIiAIo0twpYK2GjklAnnyWM6kAE\/ZSUITT4CIiEhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAUWvuVJbKcz1cwjb0HVx7gOqlKpqNO0VZdvxCqMk+w4YZHZjaRjkPhyUqr3M8jnXgW5nblU3jUFBUVTWGjtkTC8B3OYD6\/RX+lIoY9PUr4owwyNy8gbuOcZPkrCvhE1sqYANnwvZjxBCqdFzGXTsbTnMcj25PXfP3Wjdw2OWGPRnTk7bTL9ERZHcEREAREQBERAZnWUckDaG6RHDqWccXPkSDv7sgea0kcjZY2yMOWvAcD3gqu1FSirsFZF1EZePFvrfZeNMVJqtO0j3HLms4D\/AOpI+gWj3gvkc0fDna81f02LZERZnSUFDX1R1fX2+aUuhbEHxtPTkdv8x8lfrMVR9G\/4g0jhs2opy1xHU4d+wWnV59DnwNvUn0bCIiodAREQBERAEREAREQBERAEREAREQBERAEREAREQBZjRf5TblSDlDUnH0\/0rTrMac\/I1Je6Y7cUokDT3ZP\/AOh8lePws5su2XG\/X9DToirr\/M+nsNZLG4teIiARzGdvuqpW6N5S0xcvIsA4OGWkEZxsvqwlsLtP1Vrq+0Ip7jEBKC7Zp2\/dp8+i3atKOkyw5u9TtU0ERQKm92+krhRzzhsvAXnuaAM7npsqpN8GspRjvJ0T0WYOsH1NQY7Xa6irY32pAD9APrhdqXVYFVHS3Sgmt8kmzS8Etdyx08fBW7uXkYrtWJvn+PqaBzQ5padwRgrNaIc+OhrKSTPFBUEHyAx8lplkDUTaavtwmko5Z4q13HEY9gSDnf8Azc1MN00VzvROE3wrv3NevhIAyTgBZcVuqLwT6JSstsGdnzD1yPiPt8UfpIGN1RdrzVTtjBe48WA0Dc889w8k0Jcsd\/KXwRbXm9j1qN3Y6jsdSDgOlLC4dxLf3WnX5uW1H\/K8dc17zHBXAwtccljcd\/jjn\/f9FikbNEyVhy17Q5p9xU5FSRTsuTXKT4un9v6PaKLca1lut81XJ7MTc\/HkOo6rHU1bd\/xS2Vk1Y5z69xPo4B4WR8geeOpIHuB9yrGDkrNcudY5KNX\/AKjdoiKh0BEVfcr3QWkD0qcB7vZjbu4\/t8VKTfBWUoxVydIsEWYbetQ3Fxkt9pEdOBlpmOHPGemcDcf3VlYLyLxSOMjezqYXcM0eCOE742Ph8irODSsyhnhOWlfpyWqLxLLHDE6WV4Yxgy5zjgALNu1HdLlPIyxW9k0URwZpTgOPcMkKFFstkyxx7Pl9Opp0VJaNSRXCpfRVURpK1hI7J\/6sHp7\/AHK7UNNOmWhkjkVxYREUFwiIgCIiAIiIAiIgCzFv\/K1\/cWH\/AMkAcD8Gf18lp1UfhVQNVfijXs7B0HZuGfWz4Y8OqvF1Zhmi24tdGW6jXGkbX2+elfylYR8enzUlFRbGzSapmBMjrhoqWncxwqrVKCR1AyR8gT\/lWztdV6da6ap2zJE0uwc743+a4\/glEJ6ydrC2StYWS77YI32VJp26wWaCe03ScQS00ruAuBw5p7j45PxWz8a2ODGngmtb2aq\/Tj7Grc4NaXOIAAySei\/OpII9TaxmbHI1sL3+1n2mtAG3iArq5XiXUUhtNma90T9p6ktPC1v7fXoqyxacmrrdLV08rqWrin\/Jc4FuMDcHrjf5K0FoTb5Mu0z7+cYQVpb+teRuqenhpIGwU8bY42DAa0Kj1rJTR2J3atBmc9ogPVrs5JHdsCuPHrM5Z2VGOnaZHnz+y7UOmXurRX3iq9NqBuG49Rp2+\/uCokou2zonKWWDxwi1fnskXFuZJHbaZkue0bE0Ozzzgc1JRFkdiVKgs3qy4OdHFZaTD6msIa4Z9huRz8fsVK1BqGO0xiCACatl2jiG+M9SPt1XPTllnozLcLjIZK6p3dk54B3eP05BaRWnxM5cs3kfcw935L+WSKqzRDTL7VCCWtiw3GMucN8\/Ej5rhpCvFZY44nO\/Npfyng8wB7Py2+CvVna3T9XT3F1xslQKeWQfmxOGWvOfJE000yZwcJqcFdKmvl\/Rx11OBQUtIXhjZ5suJGcAf3C56agfdLo68viMVPCzsKRhPstAx3ePLqSq68Ud0NVQ1GoJ2Op3TBjuzwGxjb+vfyK3MEcUUDGQNaIgPVDeWFeT0wSRz44vLnc5bJVt1+R0UC63mjs0DZapx9Y4Yxgy53fgKeszrTigp6GvZ7VNUgj47\/6QsoJOVM7M83DG5RObr1e72OztFCaWJ2QamfbHh\/TKnWvS9LRSiqq3urKw7ullOQD7gfqVdtcHNDhuCMhfVLn0WxWOBXqm9T\/3CCzFPx0OvZ4A49lWQ9oGjkDgZP8AKfNadZ3UVuuUlxo7lao2STwhzC1xHwO+3UpDmh2hPSpJXTTOGoKuS6XWn0\/RyEBzg6pew+yBvj4Yz44Wio6OCgpY6anYGRxjAH3PvVbp6yutcMlRUv7StqjxzOPQ88eZ3XCtv91p6yWnp7DPO2N2BKOLhcPd6v3Vnv4YmcHo\/Ny8v3peR11HZzXQNrKQFtdSnjic3m7H6f2UjT91F3tUdQSO1b6soHRwVX+I6vl3jtFNG0\/xuGR\/MPoolukqrDqNjK9kcTLm0FzYvYZJnA+f\/wBKdNxpmfeqOVTSaT2dqvRmyREWJ6AREQBERAEREAREQBERAEREAUWqttFWuDqmmjlcORcN\/BSkS6IaTVM5U9NBSQiGmhZFGDnhYMBdURAklsgiIhIWdu13uktfLarRRO7VoHFUP2a0Ecxnb\/fJaJFMWl0M8kHNUnRSWXTkdueaurk9KrnnLpnZOPDP1V2iI227ZMMcca0xQREUFyPXUNPcaR9LVR8cb+Y6g94VdZbNWWid7DcXz0fBiOJ43adt89Ouw71copUnVGbxxclPqgolzt0N1oX0c5cGPIJLTgjBypaKE6LySkqZ4hibDCyJpJaxoaCTk4C9oiEhERAEREAVZqC1C72t8LQBOz14XHbDh7\/fyVmilOnaKzgpxcXwyq05cJrhamPqY3sniJjk4wRkjrurVERu2IRcYpN2ERFBYIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIuNVUxUdLJUzu4Y4mlzihDaStnZFTWC5113E1XNAyKjccU\/wDEcHByrlS1TorCanHUuAiIoLhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFlb0+S\/X+GyQ59FgIfVOby78Z8NvE+5apZTR8kbKy4RVbwLk+Yl7Tz4R3HruStIbXI5e0eJxxvh8+3T3NRDFHBCyGJgZGwBrWjkAvaIszq4CIiAIiIAiIgCIiAIiIAiIgCIolfRyVjYRHVzU3Zyh5MRxxgfpPuRENtLYloiISEREAREQBERAEREAREQBERAEREAREQBERAFVXTTtBdXdq9phnA2mi2dnoT3q1XwkAZJwApTa4KThGaqStGZOl7pFgU2oqlrAMcLuI4\/mT8G1Qz2L6x2efE3+hVpV6jtFH\/3a6Jx\/hjPGfkqp+raut9WzWmafOwllHqg+A\/cLVOb6HFOPZ4bKTv5Nj0fWcJz6ZSVGemAMfyhLXqeufd47XcqSNsz9uKB3Fg4zuAT9dl5Nm1Hdj\/1K5CliII7KA7n3EDYjxJVtatPW60AOgi4psbzSbu+Hd8EbjW\/2IhDK5JwtL5v9i0VBcb3Wuu34XaIGyzRjimc\/wBluw6\/H7K\/WUqpxpzVEtZUNkfSVsftMbngcN\/381SCtnR2iTjFb0r3ZOs9+nnrHW26wCmrmjIAHquHu3KvVkLperFVXGiuEVe4SUjiS1kDiZBttk4x181IOr56uR0VqtFRUO5cb9gD78Z2+IVnBvdIyx9ohG4ylfl1v6GnUWa50FPJ2c1ZBG8c2ukAI8e5UBtupbuP8fWx0ULhnsoRv8v3Kl02jLNCwiWKSpc7m+WQ5+WFGmK5Zr3mWfwRr12+xeNc17Q5jg5p5EHIK9LL6clfbLxWWOeRxY08dNxfw9fljyK1CrJUzTFk7yN9QiqdSNrW2l9RQTPjlpyJCG\/raOY+\/wAFLtlfHc7fDVxEYkb6wz7LuoUVtZKyLXoJaL44kNJAycbDvVbYbq68230t8IiPGW8IOeSU6ss5pSUerLNERQWCIiAjV1wpbbAZquYRs6Z3J8B1VE7XVt4yI6eqe1vNwYMfVca+KCo1xHT3NvHA+EGna44aXe\/odw7zC6WtjaDW9wpGAMimhEjGgYGdth5uWyjFLc4J5ssp1FpK682S6bWNmqCA6d8BOcdqzH0yrmKaKojEkMrJWHk5jgR5hcKq10FaCKmjhlJ\/UWDi8+azdxt7tKTxXC1Pc2CWUMmgecgjcjB59\/eVVKMtlyaOeXErnTXy5+hr0Xxrg5ocNwRkKmuup6O2zejRsfVVOQOyi3IPcf2VEm9kdE8kYK5Oi6RZOHWFfJJKTZJezgOJWsJLmH37fZaG3XKlutKKileXMyQQRgg+CmUHHkpjz48jqLJEs0cETpZntjjYMuc44ACoDrW1mtbTx9o9hcAZsYbuceJUWvc7Ul7koe1LLbQjiqHD9ThnbI\/3sVxslAL5cGV5gZT26ifw00LABxEb5JHPoSevmtFCKVyOaefJKaji8\/rXPsbEHIz3ovqLE7wiIgCIiAzdRRarq5pALhTUsJceERjfHlnl71zGjHVDuK5XeqquuAcfUlahFfvH0OZ9mxv4rfq2VNJpiz0YHBRMkcP1S+uT799vJWoAAwBgBfUVW2+TaMIwVRVBERQXC8vYyRhY9oc08w4ZBXpEBFjtlvifxx0NMx2c8TYmg\/RSQABgDAC+olkKKXCCIiElHfbLPV1NPcbe9sdbTkY4tg4Z6\/PzV23PCOLGcb4X1FLbaopHGoycl1PhAIwRkFZOShuWma+SotcBqqCY5fTjPqH3cz8e7mtaimMqK5cSyU7prhmTnvN0v0ZobdQTUgkBEk8oOAO4HG2VoLVbo7XboqSM54B6zsY4ndSpiI5WqRGPE4y1SdsIiKpsUdBcqip1TXUgl7SlgZsdsNf6uR9fJXi4U9HTUrpHQQMjMri95aPaJ5rurSafBnjjKK8TsptSWZ10o2yU54aumPHC4HGT3fLzWap7u6r1Na6uVpjqwfR54yOHfkD8eLl3hb5VlXa7Syq\/E6pjI3xuD+0c8tAI688furwnSpnPnwOUtcHXF+xZrKaikN5vVHZKYhzY39rUOB9n+oGfML1W6mnuUhoNPwvlkds6oIw1g7x+5+atLFY4rNTEF3a1Mu8sp5k9w9yJaN3yJy\/EPRD4er\/ZHHUt4fQU7KSjy6uqjwxNbuQM7n7D+i7WOxw2mnDnDtKuT1ppnbuJPMA9y80tiEd9qLrUy+kSPP5AIx2Q\/wB7f3VuqtpKkaQg5TeSft8v+mY0dgzXYn2zUnOdj16eaUJNu1tU0UR\/w9VH2oYOTDjJ26b581xgqG6Y1BWtrOIUdYTKyRrS7hOeuN\/1Y8l3sTX3TUFZezG5tOWCOnLxgkbAkD4fNaPq+lHJB7Qxr4k\/tv8AqTRp6CltNdSUbnl1UC7MruL1sbDly8+aqrPqOGzwMtV2p5KWSAYD+DIIzzIG\/lla5cp6Wnqm8FRBHM3ukYHD5rNT6SOqWBpqWN019CLTXu11jwyCuhe88m8WCfgUSGx2unqBURUUTZRnDgO\/mih10NYd5Xir2J6IiqaBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQGano9W1c0g9OpqWHJDRHzx0wcZ+a+w6OhkmE10rp6+QAjDyQPDmT80RX1voc34aDdyt+rL6mpKeji7KmgjhZ3MaBldkRUOhJJUgiIhJzlhinbwTRMkb3PaCPmvTGMjYGMaGtHINGAERCKXJ6REQkIiID\/2Q==",
    "razonSocial": "JUAN PABLO FLORES HUERTA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "marcela",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:06",
    "ubicacionGPS": "LatLng(lat: -23.6618946, lng: -70.4001437)",
    "horaLlegada": "10:03",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "5",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


04/05/2026 13:06:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:13643530

[04/05/2026 13:06: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('13643530', 'BR1856', 1, 95585912, 0, NOW(), 
				'08:00', '10:03', '13:06', 5, 'Se vuelve a cerrar servicios por duplicidad, problemas con servidor', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777914377.png', 'Se vuelve a cerrar servicios por duplicidad, problemas con servidor', null, 'COMPLETADO','LatLng(lat: -23.6618946, lng: -70.4001437)' )
				
[04/05/2026 13:06:17] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200158

04/05/2026 13:06:17 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200158'                    
				WHERE idllamado = 12192			
				TO ENVIO: micorreo@miempresa.cl, null


04/05/2026 13:06:17 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12192			
				
04/05/2026 13:06:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


04/05/2026 13: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 = 12192
                
04/05/2026 13: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 = 12192
                
04/05/2026 13:06:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12192
                
04/05/2026 13:06:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12192
                
04/05/2026 13:06:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12192
            GROUP BY l.idllamado;
            
04/05/2026 13:06:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12192
                
04/05/2026 13:06:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12192
                
04/05/2026 13:06:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12192
                
04/05/2026 13:06:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12192
                
04/05/2026 13:06:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12192
            GROUP BY l.idllamado;
            [04/05/2026 13:06:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 13:06:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12192
            GROUP BY l.idllamado;
            
04/05/2026 13: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 = 12192
                [04/05/2026 13:06:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 13:08:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13: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 = 12440
                
04/05/2026 13: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 = 12440
                
04/05/2026 13: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 = 12440
                
04/05/2026 13: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 = 12440
                
04/05/2026 13:08:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13:08:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13:08:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13:08:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:51 - logentry: =========================================
FECHA: 04/05/2026 13:08:51
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-epZLP0USyCKS4xlVMikH6-nMPyypZe2lN+Qh5bPtzjnkxlK_HJe
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2331",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "25391",
    "contadorColor": "51079",
    "contadorScanner": "0",
    "detalle": "01 itin 1940\n01 itin 1941\n01 itin 1943",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12440",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACFAMoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABBEAABAwMBBAQKCAQHAQAAAAABAAIDBAURBhIhMUETUXGRFCI2YXOBobGywRUyNDV0gpLwIyTC0SUzQ0VSU+Fi\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT\/xAAuEQACAQIDBgUDBQAAAAAAAAAAAQIDESExMgQSM0FRcSJhkbHBodHhEyNSgfD\/2gAMAwEAAhEDEQA\/AP2ZERAF45wa0ucQABkk8l6shqmtq66sktVGB0VPCZ5zk5OATjdy4DtKtGO87GNaqqUd7M16Kq0zVPrNP0s0kjpJMFrnOJJJBI4lWqhqzsaQkpxUlzCIigseOcGtLnEAAZJPJZK5akrqp1RLaMCkoxmSYgnbOcbhj9hS9VXN4bHZqLDqqtOwcH6jSRx7fdlTKm2xUOlamhgyWx0z8Hm44Jz6ytYpKzfM46spVHKMHZLPv0+5PoKrw2ggqdnZMrA4jqPMKQqXSL9vTNJ1t2gf1FXSzkrNo6KUt6nGXVBERQaBERAEREAREQBERAEREAREQBERAfE0rIIXzSHZZG0uceoDeVldMwGaz3O5zNBkrC\/ed\/igH5k9ysNYVZpbBIxp8eocIgOZzvPsBUumpBQacbSgY6OmIduxvxk+3K0WEe5yT8da38V9WQdEknTrMnhI\/HetAs9onydZ6V60KipqZfZuDHsFHrquKgopquYgMiaXHJxnqHrO5SFlb5K++3yGwwO\/gxHpKl2N24cM58+O0qIq7LVqm5HDN4LuddL0k9XUT3+t3yVORC0nOwzP\/gA83ar2uaHW+pad4MTge4rrFEyGJkUbQ1jGhrWjkBwC51v2Go9E73I5XlcQp\/p090ptEknTkYPKR4HetAs9onydZ6V60KmpqZXZuDHsERFQ6AiIgCrxeKd17daQ15mbHtlwxsjzHq5d6nOc1jC9xw1oyT1BZrSLXVk9wu8gyZ5SyM4xho37u8dyslg2zCpNqcYR5+yNOiIqm4REQBERAEREAREQGWvf+I6utlu3mOEdNIOXXv8A0jvWirfsNR6J3uWetRNbri51J8ZtOzoh5juH9Lloa37DUeid7lpLCyOSjipz6t\/TApdE+TrPSvWhWe0T5Os9K9aFRU1Mvs3Bj2K6+XNlotUtUT4+NmIdbzw\/v6lD0rbH0dAayoJdVVp6WUu4jOSPfk9qgVzTqPVLKIeNRW45m6nO5j2Y9RWsUvwxt1Kw\/dqufJYL5fwFwrfsNR6J3uXdcK4gUFQScARO9xVFmdEsmUuifJ1npXrQrP6JBGnWZHGR+O9aBWqamY7NwY9giIqHQEREBV6kq\/ArBVyg4c5mw3fvy7du78+peaZpDR6fpY3NLXubtuB45cc+4hVmsy+odbbawnFVP4wB6sD+r2LTtaGtDWgAAYAHJaPCC8zlj4q8n0SXrj9j1ERZnUEREAREQBERAFzmlEEEkruEbS4+oZXRVepagU2na15ONqMsH5vF+alK7sUnLdg5dCv0RCfoqarf9epnc4nHIf8AuVe1v2Go9E73KFpuDwfTtEzriD+P\/LxvmrCaPpYJI+G20t7wrSd5NmVCO7RivIotE+TrPSvU3UF3ZZrY+fjK\/wASIf8A1jj2BVmkKmOk01JJVPELIZnhxfuxuBXG008mpbsb1WRgUkR2aeF2\/JHP98+xXa8TbyOeFRqjCENTXp5lppe1PtlrHT7XhM7ukl2jkg8h++tXKIsm7u7O2nBQiorkFDvBLbLXOG4imkI\/SVMVffpBHYa9x507294x80jmhUwg+xE0eANMUpHMvJ\/W5Xap9JsLNM0YPMOPe4lXCmeplNn4Mey9giIqmwREQGYqyK3X1LDxbSQ7Zwee8\/Nq06y2mf56\/Xa58i\/omZ3nGf7NatStJ4NI5tmxi59W\/sERFmdIREQBERAEREAWZ11K76Ihp2DL5pwAMcQAfnhaZZfU4E9\/sdOd46YucOsZby9RV6eo5tr4LXXD1ZpIYhBBHE3hG0NHqGF0RFQ6cihn0fbaiskneZA2Q7RiaQG5zvPm6ldxRRwRNihY2ONgw1rRgAL7RS5N5mcKUINuKtcIiKDQKo1W\/o9NVjutrW97gPmrdUur\/Jes\/J8bVaGpGNfhS7P2JVgj6KwULeuBru8Z+asFCsv3HQfho\/hCmqJZsvT0LsERFBcKNcZ\/BbbU1AODFE5w7QCpKpdXT9Bpupxxk2WDd1kZ9mVaKu0jOrLdpyl0Rx0TCY9PNkPGeV785479n+laBQLFB4NY6KIjBELSR1EjJ9pU9Ju8mytCO7SivIIiKpsEREAREQBERAFl6xxq9f0UOBs00Jce0gn5tWoWWsn81rS71fERDouHPIH9C0hzZy7Ri4R6tfTE1KIizOoIiIAiIgCpdX+S9Z+T42q6VLq\/yXrPyfG1WhqRjtHBn2fsTbL9x0H4aP4QpqhWX7joPw0fwhTVDzL09C7BERQXCzGuiX2ulgB3yVI4dh5etadZjWf+2fiR8lenqRzbXwZGla1rGBjRhrRgDqC+kRUOkIiIAiIgCIqy93qCzUnSPIdM\/dFHn6x+Q6ypSbdkVnOMIuUsjnfL821OhpoIfCKycgRwg8s4yVatJLAXN2SRvHUqDT9nn6c3q6HbrpxlrT\/pNPzx3BaFWlZYIyoucrzlgnkgsxoo9LDcKn\/tqjv9vH1q8utUaK1VVSPrRxOLe3G72qt0dTGn05CTxmc6THacD2AItDKzxrxXRN\/BeoiKh0hERAEREAVLq\/yXrPyfG1XSpdX+S9Z+T42q0NSMdo4M+z9ibZfuOg\/DR\/CFNUKy\/cdB+Gj+EKaoeZenoXYIiKC4WY1r4sduefqtqRk\/vsWnWb1zE59iZIwHMU7XEgcBgj5hXp6kc21cGRpEXOGQTQRyggh7Q4EecLoqHTmEREARFW3m+UtmgDpsvlf\/AJcLfrO\/sFKTbsispxgt6TwOt1utNaKN1RUO8zGDi89QVLZ7VUXSv+nLwwbRA8HgPBg5HH745S12irutY28XtvjDfBTEbmDkSPl3rTq7e6rLM5oxdZqc1gsl8sIiLM6zPa1nLLGKZgy+plawDrwc+8DvV1RU4pKGCmGMRRtZu8wws9c8XTWdFQHBio29NIDvBPHGP08evv1C0lhFI5qXiqzn\/XpmERFmdIREQBERAFS6v8l6z8nxtV0od2t4utsmonSGISgeOBnGCDw9StF2kmZ1ouVOUVm0zyy\/cdB+Gj+EKauNJTiko4KZri4QxtjBPPAwuyh5loK0UmERFBYKvvtF9IWWqpgMuczLd+PGG8e0KwRSnZ3KyipRcXzKfS1d4bYYNo\/xIB0TxzBbuHswrhZBzhpLUL5H5Ftr8kloJ6N3Z5s9x8y00VxoZo2yR1kDmOGQRIFeccbrJmFCp4dyT8Sw\/JJRVVfqW029m1JVskcRkMhO2T3bh68KnLr7qjLWN+jbeTvcc7cg+fsHaoUG8XgTPaIp7scX0X+wJl11MWzeAWaPwysdkHZGWs\/v7l9WbTjqeo+kbpN4XXu35dvbH2ef3clY2uz0dog6Oljw4gB8h+s\/HWpyOSStEiNGUnv1cX05L8hERUOkIiICNFb6WGtlrI4yJ5Rh7y8nI6sE4HqUlEQhJLIIiISEREAREQBERAEREAREQBERAc56eGqiMU8bZGO4tcMhUkmi7K95cIZGZ5NkOERWUmsmZzpQnqVyVRaatNA8SQ0oc9vB0ji7HnAO4K1RFDbeZaMIwVoqwREUFgiIgCIiA\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "DANIEL FUENTELAZAR",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:08",
    "ubicacionGPS": "LatLng(lat: -22.0855567, lng: -70.1892217)",
    "horaLlegada": "09:50",
    "horaDespacho": "13:04",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 13:08:51
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-epZLP0USyCKS4xlVMikH6-nMPyypZe2lN+Qh5bPtzjnkxlK_HJe
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2331",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "25391",
    "contadorColor": "51079",
    "contadorScanner": "0",
    "detalle": "01 itin 1940\n01 itin 1941\n01 itin 1943",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12440",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACFAMoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABBEAABAwMBBAQKCAQHAQAAAAABAAIDBAURBhIhMUETUXGRFCI2YXOBobGywRUyNDV0gpLwIyTC0SUzQ0VSU+Fi\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT\/xAAuEQACAQIDBgUDBQAAAAAAAAAAAQIDESExMgQSM0FRcSJhkbHBodHhEyNSgfD\/2gAMAwEAAhEDEQA\/AP2ZERAF45wa0ucQABkk8l6shqmtq66sktVGB0VPCZ5zk5OATjdy4DtKtGO87GNaqqUd7M16Kq0zVPrNP0s0kjpJMFrnOJJJBI4lWqhqzsaQkpxUlzCIigseOcGtLnEAAZJPJZK5akrqp1RLaMCkoxmSYgnbOcbhj9hS9VXN4bHZqLDqqtOwcH6jSRx7fdlTKm2xUOlamhgyWx0z8Hm44Jz6ytYpKzfM46spVHKMHZLPv0+5PoKrw2ggqdnZMrA4jqPMKQqXSL9vTNJ1t2gf1FXSzkrNo6KUt6nGXVBERQaBERAEREAREQBERAEREAREQBERAfE0rIIXzSHZZG0uceoDeVldMwGaz3O5zNBkrC\/ed\/igH5k9ysNYVZpbBIxp8eocIgOZzvPsBUumpBQacbSgY6OmIduxvxk+3K0WEe5yT8da38V9WQdEknTrMnhI\/HetAs9onydZ6V60KipqZfZuDHsFHrquKgopquYgMiaXHJxnqHrO5SFlb5K++3yGwwO\/gxHpKl2N24cM58+O0qIq7LVqm5HDN4LuddL0k9XUT3+t3yVORC0nOwzP\/gA83ar2uaHW+pad4MTge4rrFEyGJkUbQ1jGhrWjkBwC51v2Go9E73I5XlcQp\/p090ptEknTkYPKR4HetAs9onydZ6V60KmpqZXZuDHsERFQ6AiIgCrxeKd17daQ15mbHtlwxsjzHq5d6nOc1jC9xw1oyT1BZrSLXVk9wu8gyZ5SyM4xho37u8dyslg2zCpNqcYR5+yNOiIqm4REQBERAEREAREQGWvf+I6utlu3mOEdNIOXXv8A0jvWirfsNR6J3uWetRNbri51J8ZtOzoh5juH9Lloa37DUeid7lpLCyOSjipz6t\/TApdE+TrPSvWhWe0T5Os9K9aFRU1Mvs3Bj2K6+XNlotUtUT4+NmIdbzw\/v6lD0rbH0dAayoJdVVp6WUu4jOSPfk9qgVzTqPVLKIeNRW45m6nO5j2Y9RWsUvwxt1Kw\/dqufJYL5fwFwrfsNR6J3uXdcK4gUFQScARO9xVFmdEsmUuifJ1npXrQrP6JBGnWZHGR+O9aBWqamY7NwY9giIqHQEREBV6kq\/ArBVyg4c5mw3fvy7du78+peaZpDR6fpY3NLXubtuB45cc+4hVmsy+odbbawnFVP4wB6sD+r2LTtaGtDWgAAYAHJaPCC8zlj4q8n0SXrj9j1ERZnUEREAREQBERAFzmlEEEkruEbS4+oZXRVepagU2na15ONqMsH5vF+alK7sUnLdg5dCv0RCfoqarf9epnc4nHIf8AuVe1v2Go9E73KFpuDwfTtEzriD+P\/LxvmrCaPpYJI+G20t7wrSd5NmVCO7RivIotE+TrPSvU3UF3ZZrY+fjK\/wASIf8A1jj2BVmkKmOk01JJVPELIZnhxfuxuBXG008mpbsb1WRgUkR2aeF2\/JHP98+xXa8TbyOeFRqjCENTXp5lppe1PtlrHT7XhM7ukl2jkg8h++tXKIsm7u7O2nBQiorkFDvBLbLXOG4imkI\/SVMVffpBHYa9x507294x80jmhUwg+xE0eANMUpHMvJ\/W5Xap9JsLNM0YPMOPe4lXCmeplNn4Mey9giIqmwREQGYqyK3X1LDxbSQ7Zwee8\/Nq06y2mf56\/Xa58i\/omZ3nGf7NatStJ4NI5tmxi59W\/sERFmdIREQBERAEREAWZ11K76Ihp2DL5pwAMcQAfnhaZZfU4E9\/sdOd46YucOsZby9RV6eo5tr4LXXD1ZpIYhBBHE3hG0NHqGF0RFQ6cihn0fbaiskneZA2Q7RiaQG5zvPm6ldxRRwRNihY2ONgw1rRgAL7RS5N5mcKUINuKtcIiKDQKo1W\/o9NVjutrW97gPmrdUur\/Jes\/J8bVaGpGNfhS7P2JVgj6KwULeuBru8Z+asFCsv3HQfho\/hCmqJZsvT0LsERFBcKNcZ\/BbbU1AODFE5w7QCpKpdXT9Bpupxxk2WDd1kZ9mVaKu0jOrLdpyl0Rx0TCY9PNkPGeV785479n+laBQLFB4NY6KIjBELSR1EjJ9pU9Ju8mytCO7SivIIiKpsEREAREQBERAFl6xxq9f0UOBs00Jce0gn5tWoWWsn81rS71fERDouHPIH9C0hzZy7Ri4R6tfTE1KIizOoIiIAiIgCpdX+S9Z+T42q6VLq\/yXrPyfG1WhqRjtHBn2fsTbL9x0H4aP4QpqhWX7joPw0fwhTVDzL09C7BERQXCzGuiX2ulgB3yVI4dh5etadZjWf+2fiR8lenqRzbXwZGla1rGBjRhrRgDqC+kRUOkIiIAiIgCIqy93qCzUnSPIdM\/dFHn6x+Q6ypSbdkVnOMIuUsjnfL821OhpoIfCKycgRwg8s4yVatJLAXN2SRvHUqDT9nn6c3q6HbrpxlrT\/pNPzx3BaFWlZYIyoucrzlgnkgsxoo9LDcKn\/tqjv9vH1q8utUaK1VVSPrRxOLe3G72qt0dTGn05CTxmc6THacD2AItDKzxrxXRN\/BeoiKh0hERAEREAVLq\/yXrPyfG1XSpdX+S9Z+T42q0NSMdo4M+z9ibZfuOg\/DR\/CFNUKy\/cdB+Gj+EKaoeZenoXYIiKC4WY1r4sduefqtqRk\/vsWnWb1zE59iZIwHMU7XEgcBgj5hXp6kc21cGRpEXOGQTQRyggh7Q4EecLoqHTmEREARFW3m+UtmgDpsvlf\/AJcLfrO\/sFKTbsispxgt6TwOt1utNaKN1RUO8zGDi89QVLZ7VUXSv+nLwwbRA8HgPBg5HH745S12irutY28XtvjDfBTEbmDkSPl3rTq7e6rLM5oxdZqc1gsl8sIiLM6zPa1nLLGKZgy+plawDrwc+8DvV1RU4pKGCmGMRRtZu8wws9c8XTWdFQHBio29NIDvBPHGP08evv1C0lhFI5qXiqzn\/XpmERFmdIREQBERAFS6v8l6z8nxtV0od2t4utsmonSGISgeOBnGCDw9StF2kmZ1ouVOUVm0zyy\/cdB+Gj+EKauNJTiko4KZri4QxtjBPPAwuyh5loK0UmERFBYKvvtF9IWWqpgMuczLd+PGG8e0KwRSnZ3KyipRcXzKfS1d4bYYNo\/xIB0TxzBbuHswrhZBzhpLUL5H5Ftr8kloJ6N3Z5s9x8y00VxoZo2yR1kDmOGQRIFeccbrJmFCp4dyT8Sw\/JJRVVfqW029m1JVskcRkMhO2T3bh68KnLr7qjLWN+jbeTvcc7cg+fsHaoUG8XgTPaIp7scX0X+wJl11MWzeAWaPwysdkHZGWs\/v7l9WbTjqeo+kbpN4XXu35dvbH2ef3clY2uz0dog6Oljw4gB8h+s\/HWpyOSStEiNGUnv1cX05L8hERUOkIiICNFb6WGtlrI4yJ5Rh7y8nI6sE4HqUlEQhJLIIiISEREAREQBERAEREAREQBERAc56eGqiMU8bZGO4tcMhUkmi7K95cIZGZ5NkOERWUmsmZzpQnqVyVRaatNA8SQ0oc9vB0ji7HnAO4K1RFDbeZaMIwVoqwREUFgiIgCIiA\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "DANIEL FUENTELAZAR",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:08",
    "ubicacionGPS": "LatLng(lat: -22.0855567, lng: -70.1892217)",
    "horaLlegada": "09:50",
    "horaDespacho": "13:04",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


04/05/2026 13:08:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[04/05/2026 13:08:51] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP2331', 2, 21773342, 25391, NOW(), 
				'13:04', '09:50', '13:08', 10, '01 itin 1940
01 itin 1941
01 itin 1943', -1, 
				'', '','1','51079',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777914531.png', '', null, 'COMPLETADO','LatLng(lat: -22.0855567, lng: -70.1892217)' )
				
[04/05/2026 13:08:51] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200159

04/05/2026 13:08:51 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200159'                    
				WHERE idllamado = 12440			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


04/05/2026 13:08:51 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12440			
				
04/05/2026 13:08:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


04/05/2026 13:08:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                [04/05/2026 13:08: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;
                
[04/05/2026 13:08: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;
                
[04/05/2026 13:08: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;
                

04/05/2026 13:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                [04/05/2026 13:08: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;
                

04/05/2026 13:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13: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 = 12440
                
04/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13: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 = 12440
                
04/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13: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 = 12440
                
04/05/2026 13: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 = 12440
                
04/05/2026 13:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13: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 = 12440
                
04/05/2026 13: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 = 12440
                [04/05/2026 13:08: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;
                

04/05/2026 13: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 = 12440
                
04/05/2026 13: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 = 12440
                
04/05/2026 13:08:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13:08:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            [04/05/2026 13:08:59] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 13:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12440
                
04/05/2026 13:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            
04/05/2026 13:09:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12440
            GROUP BY l.idllamado;
            [04/05/2026 13:09: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;
                

04/05/2026 13: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 = 12440
                
04/05/2026 13: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 = 12440
                
04/05/2026 13: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 = 12440
                
04/05/2026 13: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 = 12440
                [04/05/2026 13:09:07] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 13:09:07] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 14:11:03] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 14:11:03] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 14:19:18] 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;
                
[04/05/2026 14:19: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 = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 14:19:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 14:19: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;
                
[04/05/2026 14:19:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 14:21: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;
                
[04/05/2026 14:21:30] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 14:21:30] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 14:21: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;
                
[04/05/2026 14:22: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 14:22:47] 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;
                
[04/05/2026 14:22: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;
                
[04/05/2026 14:23: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;
                
[04/05/2026 14:23: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;
				
[04/05/2026 14:23: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;
                
[04/05/2026 14:23:32] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 14:23:32] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 14:24: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;
                
[04/05/2026 14:24: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;
				
[04/05/2026 14:24: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;
                
[04/05/2026 14:28: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;
                
[04/05/2026 14:28:12] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 14:28:12] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 14: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;
                

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

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

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

04/05/2026 14:35:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14:35:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14:35:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14:35:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14:35:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                [04/05/2026 14:35:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 14:35:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            [04/05/2026 14:35:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 14:35:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14:35:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14:35:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                [04/05/2026 14:35:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 14:35:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            [04/05/2026 14:35:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 14: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 = 12341
                
04/05/2026 14:35:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            [04/05/2026 14:35:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

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

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

04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14:35:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14:35:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14:35:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                [04/05/2026 14:35:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 14:35:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14: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 = 12341
                [04/05/2026 14:35:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 14:35:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14:35:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14:35:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14:35:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14: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 = 12341
                [04/05/2026 14:35:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 14:35:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14:35:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14: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 = 12341
                
04/05/2026 14:35:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14: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 = 12341
                
04/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14:35:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14:35:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:35:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:35:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14:35:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:35:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:35:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14:35:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:35:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:35:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14:35:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:35:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14:36:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14:36:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14: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 = 12341
                
04/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14:36:10 - logentry: =========================================
FECHA: 04/05/2026 14:36:10
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-xA1B0x3D.he.xHGJxJTlLTDGsI5_ZSmMCLbOcEzjMn7ER8NAnDd
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2407",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Cierre por inconveniente en el servidor, llamado duplicado",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12341",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAAGAAYDASIAAhEBAxEB\/8QAFQABAQAAAAAAAAAAAAAAAAAAAAf\/xAAbEAACAwADAAAAAAAAAAAAAAADBAARExIhMf\/EABUBAQEAAAAAAAAAAAAAAAAAAAEC\/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQACEf\/aAAwDAQACEQMRAD8ArS67Y32TGb1ASshcazr3uIiLTk4X\/9k=",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "VALESKA",
    "correoContacto": "valeska.arismendi@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "14:36",
    "ubicacionGPS": "LatLng(lat: -23.6618453, lng: -70.3999951)",
    "horaLlegada": "11:12",
    "horaDespacho": "13:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 14:36:10
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-xA1B0x3D.he.xHGJxJTlLTDGsI5_ZSmMCLbOcEzjMn7ER8NAnDd
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2407",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Cierre por inconveniente en el servidor, llamado duplicado",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12341",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAAGAAYDASIAAhEBAxEB\/8QAFQABAQAAAAAAAAAAAAAAAAAAAAf\/xAAbEAACAwADAAAAAAAAAAAAAAADBAARExIhMf\/EABUBAQEAAAAAAAAAAAAAAAAAAAEC\/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQACEf\/aAAwDAQACEQMRAD8ArS67Y32TGb1ASshcazr3uIiLTk4X\/9k=",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "VALESKA",
    "correoContacto": "valeska.arismendi@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "14:36",
    "ubicacionGPS": "LatLng(lat: -23.6618453, lng: -70.3999951)",
    "horaLlegada": "11:12",
    "horaDespacho": "13:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


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

[04/05/2026 14:36: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('76050301', 'EP2407', 1, 24456550, 0, NOW(), 
				'13:00', '11:12', '14:36', 10, '•Cierre por inconveniente en el servidor, llamado duplicado', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777919770.png', '', null, 'COMPLETADO','LatLng(lat: -23.6618453, lng: -70.3999951)' )
				
[04/05/2026 14:36:10] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200160

04/05/2026 14:36:10 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200160'                    
				WHERE idllamado = 12341			
				TO ENVIO: micorreo@miempresa.cl, valeska.arismendi@berliam.cl


04/05/2026 14: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 = 12341
                
04/05/2026 14:36:10 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12341			
				
04/05/2026 14:36:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


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

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

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

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

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

04/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12341
            GROUP BY l.idllamado;
            
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14: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 = 12341
                
04/05/2026 14:36:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                
04/05/2026 14:36:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12341
                [04/05/2026 14:44:30] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 14:44:30] 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;
                
[04/05/2026 14:44:33] 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;
                
[04/05/2026 14:44: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 14:44:33] 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;
                
[04/05/2026 14:44: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 14:44:35] 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;
                
[04/05/2026 14:44: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 14:44:37] 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;
                

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

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

04/05/2026 14:44:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12416
            GROUP BY l.idllamado;
            [04/05/2026 14:44:43] 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;
                
[04/05/2026 14:44: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;
                
[04/05/2026 14:44:48] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            [04/05/2026 14:44:50] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 14:44:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            [04/05/2026 14:44:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 14:44:54] 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;
                
[04/05/2026 14:44:54] 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;
                

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

04/05/2026 14:44:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12164
            GROUP BY l.idllamado;
            [04/05/2026 14: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;
                
[04/05/2026 14:45:02] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 14:45:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            [04/05/2026 14:45:10] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 14:45:12] 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;
                
[04/05/2026 14:45:15] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 14:53:01] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 14:53:01] 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;
                
[04/05/2026 14:53:06] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 14:53: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;
                
[04/05/2026 15:01: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 = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 15:01:40] 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;
                
[04/05/2026 15:01:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 15:01: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;
                

04/05/2026 15:01:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
04/05/2026 15:01:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            [04/05/2026 15:01:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 15:01:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
04/05/2026 15:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
04/05/2026 15:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
04/05/2026 15:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12272
                
04/05/2026 15: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 = 12272
                
04/05/2026 15:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12272
                
04/05/2026 15: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 = 12272
                
04/05/2026 15: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 = 12272
                
04/05/2026 15: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 = 12272
                
04/05/2026 15: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 = 12272
                
04/05/2026 15:02:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12272
                
04/05/2026 15: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 = 12272
                
04/05/2026 15: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 = 12272
                
04/05/2026 15:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
04/05/2026 15:02:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
04/05/2026 15:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
04/05/2026 15: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 = 12272
                
04/05/2026 15: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 = 12272
                
04/05/2026 15:02:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12272
                
04/05/2026 15: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 = 12272
                
04/05/2026 15: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 = 12272
                
04/05/2026 15:02:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12272
                
04/05/2026 15: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 = 12272
                
04/05/2026 15: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 = 12272
                
04/05/2026 15:02:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12272
                
04/05/2026 15:02:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            [04/05/2026 15:02:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

04/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
04/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12272
                
04/05/2026 15: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 = 12272
                
04/05/2026 15: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 = 12272
                
04/05/2026 15:02:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12272
                [04/05/2026 15:02:40] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 15:02:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12272
                
04/05/2026 15:02:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
04/05/2026 15:02:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
04/05/2026 15:02:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            [04/05/2026 15:02:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 15:02:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 15:02:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 15:10:19] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 95585912 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '95585912'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 15:10: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 = '95585912'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 15:10:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 15:10:25] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/2026 15:10:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/2026 15:10:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            [04/05/2026 15:10:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 15:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:10:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15:10:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12123
                
04/05/2026 15:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15:10:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/2026 15:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:10:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/2026 15:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:10:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:10:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                [04/05/2026 15:10:47] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 15:10:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            [04/05/2026 15:11:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 15:11:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/2026 15:11:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/2026 15:11:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:11:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/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 = 12123
                
04/05/2026 15:11:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/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 = 12123
                
04/05/2026 15:11:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/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 = 12123
                
04/05/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 = 12123
                
04/05/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 = 12123
                
04/05/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 = 12123
                
04/05/2026 15:11:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:11:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/2026 15:11:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:11:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:11:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:11:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/2026 15:11:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:11:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:11:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:11:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:11:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:11:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/2026 15:11:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:11:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/2026 15:11:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:11:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:11:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:11:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15:12:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15:12:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15:13:04 - logentry: =========================================
FECHA: 04/05/2026 15:13:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-GA.c5dwt8jnHtocu.GfEuWyFA2F0cEgV+e_dPQvi.8iRyvio_oD
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2645",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Se cierra por entrega insumos y envío por encomienda ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12123",
    "observacion": "se cierra por entrega insumos y envío por encomienda",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACsAS8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABCEAABAwMCAwUFBQQIBwEAAAABAAIDBAURBhIhMUETUWGBkSJxobHBFBUyQtEWUuHwByMzQ0RigvEkNDVTc5Ki4v\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EACwRAAICAQIEBQMFAQAAAAAAAAABAhEDITEEEkFRIjJhcdETkbEzQoGhwfD\/2gAMAwEAAhEDEQA\/AP2ZERAEUWluNJWzVENPNvkpn7JW7SNp4jqOPI8lKSqITTVoIiISFTXi71FBdLZSQMjcKuXbJvByG5aOHHxKuVmNUezf7A4cCajBPhuZ+qvBXLUw4iTjjten5Rp0RFQ3CIiAIiIAiIgCIuc0vYwSSlpdsaXYHXAQbHRFCtNzju9A2riYWNc4gNcePA9VNUtVoVjJSSa2CIigsEREAREQBERAEREAREQBERAEREAREQBERAZjS3\/W7+Mf4rn\/AKnrTrMaYw2\/39h5moB\/+n\/qtOr5PMc3C\/pL3f5YRfCQBknACra7UVqt+4TVjHPb\/dxnc7Pdw5eaqk3sbynGCuTos1mNV+zdbHLn8FTy7\/aZ+i8\/tFdbvKYrJb9sfI1E44Dx7vn7lBvdLX0dJbjcqsVE\/wBs3bxyYMDgDgd2VrCDUtThz51PG+VOtNem6NuiIsT0AiIgCIiAIvLXNe3cxwcO8HK9IAuNW0vo5mjmY3D4LsuNWS2jncOBEbiPRSiJbMo9DuDtPAD8szgfgtEs9ogAaeBHWVxPwWhVsnmZhwv6MfYIuc00VPGZJ5WRMHNz3AAeZXsEEZByCqHRZ9REQBERAEREAREQBERAEREAREQBERAEREBmLB7Gq70znlwdnzP6qyvFDc610baG4CkYAd+AclVtm9jWl3YeZaHfL9Vp1pN1KzjwRUsTi+7\/ACZf9jZKkYuN5qqkZzgcPmSrKj0xZ6Eh0dG2R45Ol9s+\/jwVsihzk+prHhsUXaj\/AL+T4AAMAYAWa120\/csMjeDo6hpB8nfwWmVJrCDt9N1Bxkxlrx5EZ+BKY34kRxKvDJehctcHsDhyIyvShWaXt7LRSZyXQMz78cVNVWqZtF80UwiLnUTspqaWokzsiYXuwOgGSoLN1qRrndaS003b1cm0H8LBxc89wCz2b7qkn8Vst5HjukHwJ+A969WK2m+1D73c8Stc89hEclrQDjrzHDh5rWLV1DRbnGlLiFzSdR7d\/chWu2QWmjFNA57m7i5znnJJPMqaiLNu9WdcYqKpbBcK3\/kaj\/xO+S7qLcnbLXVu5bYHnn\/lKLciXlZkdOamorXZ20skc8s29x2xszzPDqulw1fdhTtlp7b9ljecNkmBJdw\/KDjPxVpoyFg09BJ2bQ9zn+1t4n2iOalX+0y3OmjfSzGKqp3dpE7oT3FbNx59UedHHmfDpxl02SM3btO3W+StqrzPM2AHIZITud7h+ULbU8DKanjgizsjaGt3OJOPeVR2TUpq6g265RfZq9nDB4B5+h8PRaBUyOV0zo4WGJR5oO31b3CIizOsIiIAiIgCIiAIiIAiIgCIiAIiIAiIgMzbcM19c2YOTAHc8\/ufqtMsxT8P6RKrHDNMM+PBq06vPp7HNw20vd\/kIiKh0hQb1EJrJWxnrA\/HvwSFOXOcB1PIDyLD0z07lK3KzVxaKnSMpl01S55t3N9HH6K6Wd0Oc6eAxymcOfuWiVp+ZmXDO8MfZBQb1E+ey1scY3PdA\/A7zhTkVU6dmslzJopNIVEc2nadrHZdFuY8dxyT8irtZmosVytddJXWGZm2Q5kpJODT7v5GO9fBf9QM9l+n3udjOWkgfIrRx5naOXHl+lFQyJ2vS0\/sadFmPvDVtVnsbXBTtPEGQ8QPM\/TotBRipFHEKwxmo2\/1hj\/DnwVHGjfHlU3on\/Ko7qvv0gjsNe49YHt9Rj6qwVdfqaerslVT0zd0r2Ya3PPiPoojuict8kq7HDSkZj0zRtPVrnerifqrhQrRSvorRS00oAkjiAcAc4PVTVMnbbGKPLjivRFbeLHSXqAMqAWvZ+CVmNzfD3eCpW1eoNObYqqD7xomgASM\/E0d3f6jzWsRSp0qexSeBSlzRdPv89ykpdXWapAzUmBx\/LM0t+PL4q3hqIKlm+CaOVv7zHBw+Ci1dmttcSamiie45y7bh3qOK8WyxUNollko2PZ2oAILyQAM8vVHy1oIfWUqlTRYoiKhuEREAREQBERAEREAREQBERAEREBG+76UXA1\/Yj7SWbO0yfw+7l5qSiIQklsEREJC8vbvjc3ONwIyvSICtsVo+5bf9k7btiXl+7bt5+HkrJEUttu2VhFQiox2QREUFgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCKquOpLZbQ5sk4llA\/sovad59B5rxZLvW3WSR81udS0+0GNziSXHPuCtyurMvrQ5+RPUuERFU1CIiAIiIAiIgCIiAIiIAiIgCIiAIih26GvhZMK+pZO50hMZa0DazoOQUkN6pUTERFBIREQBERAEREAREQBEXkuaHBpcA53IZ4lAekREARF4mk7KF8mM7Gl2O\/CAjXK6UtppTUVUm1v5Wj8Tz3ALOtbfdUt3mT7ut7j7IGdz2\/X4Be7Tb3agrDebm7exjy2CmPJuD+YfT1WqAAGAMALW1DRbnGlLiNZaR7d\/f4Ku26btlsaOzpxLJ1klAc7+HkrVEWbbe51QhGCqKoIiKCwRcaispaRu6pqIoR3yPDfmqyfVlkgyDWh5HSNjnZ88YUqLeyM5ZIQ8zSLlFXWy+UN2c9tLI4uYMkEY4KxRprctGUZK4u0FBrL1bKAltTWxMcObM5cPIcVT3a6Vl0uDrLZ3FpacVFQPyd4z0+qlUOkrXSAOmi+1zcMvm4g\/6eXrlX5Ul4jB5ZzbWJbdXsSrff7ddJeypZ9z+gLSCVZLK3iCGl1TZm0sTIi5x3iMbcjI7vNapRJJU0WwzlJyjLdBERUNwvhIAyTgBfVWajeGaerSSBmItyfHh9VKVuis5csXLsTaarp62HtaaZk0eSNzDkZC7Kq0xCyDT1IGN27mbz3nJyrVJKnRGOTlBSfUIiKC4REQBFX3q6Gz251Z2BmDXAFodt59cqtqdZULHNjpIZquVzc7WNxjwVlCT2MZ58cHUnRokWYOspI2l89krI2Dm7HL1AV1bLtSXanE1LJn95hI3N94RwktWIZ8c3UXqTURUl11NDQ1IoqWB9bWOOOyjP4T4\/7eihJvRF55I41cmXaLLuvuoLe37Rc7Qz7NjJMLsuZ7+J\/n0Wgoq2nuFKypppA+N44Hu8D4qXForDNGbpaP10O7nBrS5xAAGST0WHjpK7UkldeIZ3NfC4CkY13PaScdMfxWuu277nrdpId9nkwRzB2lV+kBGNNUvZ\/wCbdw67irRfLFtGOaKy5Fje1N\/4dNP3yO8UmHexVQ8JoyMHPerdZbUVJLarjDf6BmC04qmjk5veffy9+Fo6aqgq4WzQSNexwBBB7+KiSW62L4Zyt457r+13OyIiodBnJ9JuhqJKm03CajlkPFpOW47v98rkavVtt4z0kNwjHN0X4vQYPwWoRX5311OZ8NFawbj7fBmW62p4n9ncLfVUj+4tzj1wfgpkGrbJP\/jOzPdIwj44wrlzQ5pa4AgjBB6qvrLXZhC+aqo6VrGAuc8sAx45Cm4PoRy54\/uT918EuCrpqoE09RFMBzMbw75LPSUWqLs8tqKqK3QBxGIc7iOWeB6+9VNqoI7nqNlXaKZ1JQ07sukc53td+OPM93Tr3LeqX4HoVxt8RG5aJdno\/wDTO0+ibZG4PqXz1UnNxkfgE+XH4qJcaq12+QW+zW2nqa5\/AYYHhh8SeZ+XVT9SUN5uHZwW2oEUDmkSgu258+fksxp2zV9VVVcdLXupBAdj5ogfb48geB6Z\/RXjquaTObL4JrHihV9fg1OntPG1F9XUydrWTAh5H4QM5wPQK4MzMua1zXPaCdgPFZv9izMf+NvFXUA8+OM+pKsbVpm32ioNRT9s6Tbt3Pfnh14DCzlT1s6sSyRSioUvcpNOTTUemLhcoWNlqu2c6QvBJIAB48emSfNae11zbjbYKtpB7RgLgOjuo9Vm2mfS09ZTvoZKm11DtzCwZ25HEegxx7lZaPpp6WyltQxzC+Vz2tdwwCB\/FWmk05GXDSlGSx9k7973\/kiT5rf6QYY+bKKDcR4kf\/pvoFqFmLfim15XxyFu6eEOjPXHs8Ph8Fp1SfT2N+H\/AHP1YUW418Vson1czJHRx4yIxk8ThSlzngjqYJIJW7o5Glrh3gqq31N5XTrc80dVFXUkVVAcxytDm55qm1pJs03K3\/uPY345+ij6QqZaZ1VY6nhLSOLmeLSePxOf9S9a6cG2OMOBIdUNHA4\/K4\/RaKNZEjknl5+Fcuta+\/UvLdH2NspYv3IWN9AFJXljdkbW5ztAGV6WTOyKpJBEXCsq4qGkkqps9nGMu2jJwgbSVs7ouNLUx1lLHUxZ7OVoc3IwcFdkCaatFbqKPtdP1zcA4hLuOenHp7lA0T2B0+wxMa2Te4Skcy7PDPkQr6WJk0T4pGhzHtLXNPUHmFBs1mhstNJBBJI9r3l\/tnkrqS5KMJY39dTW1UWKydzporHqe31lEBH9teY5o84BGRkj19QFpaysgoKWSpqHhkcYyT9B4rOWiOo1DeG32pZ2dLDllNGc5ODz\/n3dFMNLfQpxFScYLzXft6lrqOeugtLjb43vme9rf6sZc0HqPl5qLTW6HS9knq4ou3qmx75Xu5uPUZ6BX68vY2SN0b2hzXAhwPUKqlpRrLFcnO9a09CNb62G622KqY0bJm8WHjg8iCqHT7fuvUtytDD\/AFGBNGCOXLgD7nY8l5ipLvpupmZbqT7bRTOLmxBxzHy6+fwUqxW+vfdam8XOFsU0zdjWA8A3h06clpSSeuhzc0pygmvEnr2\/5l\/JG2WN0bxlrwWkd4KzuiZXG0z07yS6Coc3j3HB+eVpFxgpKelMhghZGZHF7y0Y3E9Ss09GjqlBvJGa6WdJI2SxujkaHMcMFpHAhVFDpe3W64CtpjM14BAZv9nj4YVyihNrYtLHCTTa1QREUFwi5zzw00RlnlZFG3m55wAs7V6sfVTmjsNM6rmI\/tSMNb48frgKyi5bGWTNDH5n8l1crrR2mn7arl2g8GtHFzj4BZyGkuOrZm1NcX0tsBDo4AeMnj\/H0Uy26XLphXXqY1lXzDXHLGeGOvyWiAAGAMAK1qO25jyTza5NI9vn4PEEEVNCyGCNscbBhrWjAC6IizOtKiFeKo0Vnq6gHDmRO2n\/ADch8cKDpCk+y6dgJ\/FMTKfPl8AF61XTy1OnqiOEOc4YcWtGcgHK82vUFp+7qeN1VHTujjawxyHaW4GMcVok+TQ5JSS4jxOqWn3LteJJY4W75ZGsbnGXHAVDXayoIRsoWvrpicBsbSBn34+WVHp7BX3qdtbqCYhoOY6Rhw1o7j3fPxUKFay0LPiE3y4vE\/6+5qURFQ6Si1BaKiokhudvcG1tLxA2\/wBoO75+9caLWdE4mG5RSUFQzg5r2kjPpkeYWjUeqoaSuZsqqeOYdN7Qce7uV1JVUjnlikpOWN1e66MiN1FZ3vDW3CHLjgccKzVb+ztnDg4W6AEHIw1WSh8vQ0x\/U\/fX8GX1C19pvdJfImvMZHZVAa3OR4+Wf\/UJrA\/aJ7TRtIJmqMgZ58h9Vf3ChiuNDLSSgbZG4yRnB6FY2z0dyn1DRU1dE7s7a1zRJtOCBnbg448cY8AtYNNX2OLPFxbglpNr79TdoiLA9EKNcKGK5UMtHOXiOUAEsOCOOfopKJsQ0mqZzp4GU1NFTx52RMDG5PQDAXREQlKtAo1fcKa20rqmqkDGNHLq49wHUqSqSXTMNXdXV1fVS1IDsxQng1g7vH4eatGupnkc0vAtSrho63V1S2srt1PbGOzDCOcn89\/p3rWRRRwxNiiYGMYMNa0YAC9NaGtDWgAAYAHRfUlKyuLEser1b3YREVTYIiIAiIgCIiAhXC8W+2NzV1LYyeTRku9AqJ+p7ldMx2K2yEE47eUeyPp6nyVu7T1sfcJK6SmEkshDjvJLcgc8clYsYyNgZG0Ma0YDWjAC0TiulnM45ZvWVL03+5mWaUqbhKyovtxfUuH9zHwaPP8AQBaGko6ahhENLAyFg6NGM+\/vXdFVyb3NMeGGPVLXv1CIiqahERAFXT6ftNTI6SWgic5xySBj5KxRSm1sVlCMvMrI9HQUlvjLKSnjhacZ2jGcd56qQiKNyUklSCIiEhERAEREAXwNAJIABPM96+ogCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "Camila Veliz",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "wsp",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "56 9 3638 0484",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:13",
    "ubicacionGPS": "LatLng(lat: -23.6618807, lng: -70.4001297)",
    "horaLlegada": "12:07",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 15:13:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-GA.c5dwt8jnHtocu.GfEuWyFA2F0cEgV+e_dPQvi.8iRyvio_oD
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2645",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Se cierra por entrega insumos y envío por encomienda ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12123",
    "observacion": "se cierra por entrega insumos y envío por encomienda",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACsAS8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABCEAABAwMCAwUFBQQIBwEAAAABAAIDBAURBhIhMUETUWGBkSJxobHBFBUyQtEWUuHwByMzQ0RigvEkNDVTc5Ki4v\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EACwRAAICAQIEBQMFAQAAAAAAAAABAhEDITEEEkFRIjJhcdETkbEzQoGhwfD\/2gAMAwEAAhEDEQA\/AP2ZERAEUWluNJWzVENPNvkpn7JW7SNp4jqOPI8lKSqITTVoIiISFTXi71FBdLZSQMjcKuXbJvByG5aOHHxKuVmNUezf7A4cCajBPhuZ+qvBXLUw4iTjjten5Rp0RFQ3CIiAIiIAiIgCIuc0vYwSSlpdsaXYHXAQbHRFCtNzju9A2riYWNc4gNcePA9VNUtVoVjJSSa2CIigsEREAREQBERAEREAREQBERAEREAREQBERAZjS3\/W7+Mf4rn\/AKnrTrMaYw2\/39h5moB\/+n\/qtOr5PMc3C\/pL3f5YRfCQBknACra7UVqt+4TVjHPb\/dxnc7Pdw5eaqk3sbynGCuTos1mNV+zdbHLn8FTy7\/aZ+i8\/tFdbvKYrJb9sfI1E44Dx7vn7lBvdLX0dJbjcqsVE\/wBs3bxyYMDgDgd2VrCDUtThz51PG+VOtNem6NuiIsT0AiIgCIiAIvLXNe3cxwcO8HK9IAuNW0vo5mjmY3D4LsuNWS2jncOBEbiPRSiJbMo9DuDtPAD8szgfgtEs9ogAaeBHWVxPwWhVsnmZhwv6MfYIuc00VPGZJ5WRMHNz3AAeZXsEEZByCqHRZ9REQBERAEREAREQBERAEREAREQBERAEREBmLB7Gq70znlwdnzP6qyvFDc610baG4CkYAd+AclVtm9jWl3YeZaHfL9Vp1pN1KzjwRUsTi+7\/ACZf9jZKkYuN5qqkZzgcPmSrKj0xZ6Eh0dG2R45Ol9s+\/jwVsihzk+prHhsUXaj\/AL+T4AAMAYAWa120\/csMjeDo6hpB8nfwWmVJrCDt9N1Bxkxlrx5EZ+BKY34kRxKvDJehctcHsDhyIyvShWaXt7LRSZyXQMz78cVNVWqZtF80UwiLnUTspqaWokzsiYXuwOgGSoLN1qRrndaS003b1cm0H8LBxc89wCz2b7qkn8Vst5HjukHwJ+A969WK2m+1D73c8Stc89hEclrQDjrzHDh5rWLV1DRbnGlLiFzSdR7d\/chWu2QWmjFNA57m7i5znnJJPMqaiLNu9WdcYqKpbBcK3\/kaj\/xO+S7qLcnbLXVu5bYHnn\/lKLciXlZkdOamorXZ20skc8s29x2xszzPDqulw1fdhTtlp7b9ljecNkmBJdw\/KDjPxVpoyFg09BJ2bQ9zn+1t4n2iOalX+0y3OmjfSzGKqp3dpE7oT3FbNx59UedHHmfDpxl02SM3btO3W+StqrzPM2AHIZITud7h+ULbU8DKanjgizsjaGt3OJOPeVR2TUpq6g265RfZq9nDB4B5+h8PRaBUyOV0zo4WGJR5oO31b3CIizOsIiIAiIgCIiAIiIAiIgCIiAIiIAiIgMzbcM19c2YOTAHc8\/ufqtMsxT8P6RKrHDNMM+PBq06vPp7HNw20vd\/kIiKh0hQb1EJrJWxnrA\/HvwSFOXOcB1PIDyLD0z07lK3KzVxaKnSMpl01S55t3N9HH6K6Wd0Oc6eAxymcOfuWiVp+ZmXDO8MfZBQb1E+ey1scY3PdA\/A7zhTkVU6dmslzJopNIVEc2nadrHZdFuY8dxyT8irtZmosVytddJXWGZm2Q5kpJODT7v5GO9fBf9QM9l+n3udjOWkgfIrRx5naOXHl+lFQyJ2vS0\/sadFmPvDVtVnsbXBTtPEGQ8QPM\/TotBRipFHEKwxmo2\/1hj\/DnwVHGjfHlU3on\/Ko7qvv0gjsNe49YHt9Rj6qwVdfqaerslVT0zd0r2Ya3PPiPoojuict8kq7HDSkZj0zRtPVrnerifqrhQrRSvorRS00oAkjiAcAc4PVTVMnbbGKPLjivRFbeLHSXqAMqAWvZ+CVmNzfD3eCpW1eoNObYqqD7xomgASM\/E0d3f6jzWsRSp0qexSeBSlzRdPv89ykpdXWapAzUmBx\/LM0t+PL4q3hqIKlm+CaOVv7zHBw+Ci1dmttcSamiie45y7bh3qOK8WyxUNollko2PZ2oAILyQAM8vVHy1oIfWUqlTRYoiKhuEREAREQBERAEREAREQBERAEREBG+76UXA1\/Yj7SWbO0yfw+7l5qSiIQklsEREJC8vbvjc3ONwIyvSICtsVo+5bf9k7btiXl+7bt5+HkrJEUttu2VhFQiox2QREUFgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCKquOpLZbQ5sk4llA\/sovad59B5rxZLvW3WSR81udS0+0GNziSXHPuCtyurMvrQ5+RPUuERFU1CIiAIiIAiIgCIiAIiIAiIgCIiAIih26GvhZMK+pZO50hMZa0DazoOQUkN6pUTERFBIREQBERAEREAREQBEXkuaHBpcA53IZ4lAekREARF4mk7KF8mM7Gl2O\/CAjXK6UtppTUVUm1v5Wj8Tz3ALOtbfdUt3mT7ut7j7IGdz2\/X4Be7Tb3agrDebm7exjy2CmPJuD+YfT1WqAAGAMALW1DRbnGlLiNZaR7d\/f4Ku26btlsaOzpxLJ1klAc7+HkrVEWbbe51QhGCqKoIiKCwRcaispaRu6pqIoR3yPDfmqyfVlkgyDWh5HSNjnZ88YUqLeyM5ZIQ8zSLlFXWy+UN2c9tLI4uYMkEY4KxRprctGUZK4u0FBrL1bKAltTWxMcObM5cPIcVT3a6Vl0uDrLZ3FpacVFQPyd4z0+qlUOkrXSAOmi+1zcMvm4g\/6eXrlX5Ul4jB5ZzbWJbdXsSrff7ddJeypZ9z+gLSCVZLK3iCGl1TZm0sTIi5x3iMbcjI7vNapRJJU0WwzlJyjLdBERUNwvhIAyTgBfVWajeGaerSSBmItyfHh9VKVuis5csXLsTaarp62HtaaZk0eSNzDkZC7Kq0xCyDT1IGN27mbz3nJyrVJKnRGOTlBSfUIiKC4REQBFX3q6Gz251Z2BmDXAFodt59cqtqdZULHNjpIZquVzc7WNxjwVlCT2MZ58cHUnRokWYOspI2l89krI2Dm7HL1AV1bLtSXanE1LJn95hI3N94RwktWIZ8c3UXqTURUl11NDQ1IoqWB9bWOOOyjP4T4\/7eihJvRF55I41cmXaLLuvuoLe37Rc7Qz7NjJMLsuZ7+J\/n0Wgoq2nuFKypppA+N44Hu8D4qXForDNGbpaP10O7nBrS5xAAGST0WHjpK7UkldeIZ3NfC4CkY13PaScdMfxWuu277nrdpId9nkwRzB2lV+kBGNNUvZ\/wCbdw67irRfLFtGOaKy5Fje1N\/4dNP3yO8UmHexVQ8JoyMHPerdZbUVJLarjDf6BmC04qmjk5veffy9+Fo6aqgq4WzQSNexwBBB7+KiSW62L4Zyt457r+13OyIiodBnJ9JuhqJKm03CajlkPFpOW47v98rkavVtt4z0kNwjHN0X4vQYPwWoRX5311OZ8NFawbj7fBmW62p4n9ncLfVUj+4tzj1wfgpkGrbJP\/jOzPdIwj44wrlzQ5pa4AgjBB6qvrLXZhC+aqo6VrGAuc8sAx45Cm4PoRy54\/uT918EuCrpqoE09RFMBzMbw75LPSUWqLs8tqKqK3QBxGIc7iOWeB6+9VNqoI7nqNlXaKZ1JQ07sukc53td+OPM93Tr3LeqX4HoVxt8RG5aJdno\/wDTO0+ibZG4PqXz1UnNxkfgE+XH4qJcaq12+QW+zW2nqa5\/AYYHhh8SeZ+XVT9SUN5uHZwW2oEUDmkSgu258+fksxp2zV9VVVcdLXupBAdj5ogfb48geB6Z\/RXjquaTObL4JrHihV9fg1OntPG1F9XUydrWTAh5H4QM5wPQK4MzMua1zXPaCdgPFZv9izMf+NvFXUA8+OM+pKsbVpm32ioNRT9s6Tbt3Pfnh14DCzlT1s6sSyRSioUvcpNOTTUemLhcoWNlqu2c6QvBJIAB48emSfNae11zbjbYKtpB7RgLgOjuo9Vm2mfS09ZTvoZKm11DtzCwZ25HEegxx7lZaPpp6WyltQxzC+Vz2tdwwCB\/FWmk05GXDSlGSx9k7973\/kiT5rf6QYY+bKKDcR4kf\/pvoFqFmLfim15XxyFu6eEOjPXHs8Ph8Fp1SfT2N+H\/AHP1YUW418Vson1czJHRx4yIxk8ThSlzngjqYJIJW7o5Glrh3gqq31N5XTrc80dVFXUkVVAcxytDm55qm1pJs03K3\/uPY345+ij6QqZaZ1VY6nhLSOLmeLSePxOf9S9a6cG2OMOBIdUNHA4\/K4\/RaKNZEjknl5+Fcuta+\/UvLdH2NspYv3IWN9AFJXljdkbW5ztAGV6WTOyKpJBEXCsq4qGkkqps9nGMu2jJwgbSVs7ouNLUx1lLHUxZ7OVoc3IwcFdkCaatFbqKPtdP1zcA4hLuOenHp7lA0T2B0+wxMa2Te4Skcy7PDPkQr6WJk0T4pGhzHtLXNPUHmFBs1mhstNJBBJI9r3l\/tnkrqS5KMJY39dTW1UWKydzporHqe31lEBH9teY5o84BGRkj19QFpaysgoKWSpqHhkcYyT9B4rOWiOo1DeG32pZ2dLDllNGc5ODz\/n3dFMNLfQpxFScYLzXft6lrqOeugtLjb43vme9rf6sZc0HqPl5qLTW6HS9knq4ou3qmx75Xu5uPUZ6BX68vY2SN0b2hzXAhwPUKqlpRrLFcnO9a09CNb62G622KqY0bJm8WHjg8iCqHT7fuvUtytDD\/AFGBNGCOXLgD7nY8l5ipLvpupmZbqT7bRTOLmxBxzHy6+fwUqxW+vfdam8XOFsU0zdjWA8A3h06clpSSeuhzc0pygmvEnr2\/5l\/JG2WN0bxlrwWkd4KzuiZXG0z07yS6Coc3j3HB+eVpFxgpKelMhghZGZHF7y0Y3E9Ss09GjqlBvJGa6WdJI2SxujkaHMcMFpHAhVFDpe3W64CtpjM14BAZv9nj4YVyihNrYtLHCTTa1QREUFwi5zzw00RlnlZFG3m55wAs7V6sfVTmjsNM6rmI\/tSMNb48frgKyi5bGWTNDH5n8l1crrR2mn7arl2g8GtHFzj4BZyGkuOrZm1NcX0tsBDo4AeMnj\/H0Uy26XLphXXqY1lXzDXHLGeGOvyWiAAGAMAK1qO25jyTza5NI9vn4PEEEVNCyGCNscbBhrWjAC6IizOtKiFeKo0Vnq6gHDmRO2n\/ADch8cKDpCk+y6dgJ\/FMTKfPl8AF61XTy1OnqiOEOc4YcWtGcgHK82vUFp+7qeN1VHTujjawxyHaW4GMcVok+TQ5JSS4jxOqWn3LteJJY4W75ZGsbnGXHAVDXayoIRsoWvrpicBsbSBn34+WVHp7BX3qdtbqCYhoOY6Rhw1o7j3fPxUKFay0LPiE3y4vE\/6+5qURFQ6Si1BaKiokhudvcG1tLxA2\/wBoO75+9caLWdE4mG5RSUFQzg5r2kjPpkeYWjUeqoaSuZsqqeOYdN7Qce7uV1JVUjnlikpOWN1e66MiN1FZ3vDW3CHLjgccKzVb+ztnDg4W6AEHIw1WSh8vQ0x\/U\/fX8GX1C19pvdJfImvMZHZVAa3OR4+Wf\/UJrA\/aJ7TRtIJmqMgZ58h9Vf3ChiuNDLSSgbZG4yRnB6FY2z0dyn1DRU1dE7s7a1zRJtOCBnbg448cY8AtYNNX2OLPFxbglpNr79TdoiLA9EKNcKGK5UMtHOXiOUAEsOCOOfopKJsQ0mqZzp4GU1NFTx52RMDG5PQDAXREQlKtAo1fcKa20rqmqkDGNHLq49wHUqSqSXTMNXdXV1fVS1IDsxQng1g7vH4eatGupnkc0vAtSrho63V1S2srt1PbGOzDCOcn89\/p3rWRRRwxNiiYGMYMNa0YAC9NaGtDWgAAYAHRfUlKyuLEser1b3YREVTYIiIAiIgCIiAhXC8W+2NzV1LYyeTRku9AqJ+p7ldMx2K2yEE47eUeyPp6nyVu7T1sfcJK6SmEkshDjvJLcgc8clYsYyNgZG0Ma0YDWjAC0TiulnM45ZvWVL03+5mWaUqbhKyovtxfUuH9zHwaPP8AQBaGko6ahhENLAyFg6NGM+\/vXdFVyb3NMeGGPVLXv1CIiqahERAFXT6ftNTI6SWgic5xySBj5KxRSm1sVlCMvMrI9HQUlvjLKSnjhacZ2jGcd56qQiKNyUklSCIiEhERAEREAXwNAJIABPM96+ogCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "Camila Veliz",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "wsp",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "56 9 3638 0484",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:13",
    "ubicacionGPS": "LatLng(lat: -23.6618807, lng: -70.4001297)",
    "horaLlegada": "12:07",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


04/05/2026 15:13:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[04/05/2026 15:13: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('76050301', 'EP2645', 1, 95585912, 0, NOW(), 
				'08:00', '12:07', '15:13', 10, 'Se cierra por entrega insumos y envío por encomienda ', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777921984.png', 'se cierra por entrega insumos y envío por encomienda', null, 'COMPLETADO','LatLng(lat: -23.6618807, lng: -70.4001297)' )
				
[04/05/2026 15:13:04] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200161

04/05/2026 15:13:04 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200161'                    
				WHERE idllamado = 12123			
				TO ENVIO: micorreo@miempresa.cl, null


04/05/2026 15:13:04 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12123			
				
04/05/2026 15:13:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15:13:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15: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 = 12123
                
04/05/2026 15:13:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:13:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/2026 15:13:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12123
            GROUP BY l.idllamado;
            
04/05/2026 15:13:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                [04/05/2026 15:13:08] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 15:13:08] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 15:13:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:13:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12123
                
04/05/2026 15: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 = 12126
                [04/05/2026 15:13:11] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 15:13:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            [04/05/2026 15:13:11] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 15:13:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15:13:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12126
                
04/05/2026 15:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            [04/05/2026 15:13:14] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 15: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 = 12126
                
04/05/2026 15:13:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            [04/05/2026 15:13:14] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 15:13:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15:13:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12126
                
04/05/2026 15:13:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15:13:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15:13:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15:13:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15:13:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15:13:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15:13:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15:13:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:13:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15: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 = 12126
                
04/05/2026 15: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 = 12126
                
04/05/2026 15: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 = 12126
                
04/05/2026 15:13:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12126
                
04/05/2026 15:13:48 - logentry: =========================================
FECHA: 04/05/2026 15:13:48
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-.me24OABVqpQZyjwvewyxTMK.1H26M1HVwiuF6Sx-CZhkCwiReH
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2960",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se cierra por entrega insumos y envío por encomienda",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12126",
    "observacion": "se cierra por entrega insumos y envío por encomienda",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACYAQwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABEEAABAwMCAwUFBQMKBgMAAAABAAIDBAURBiESMUETUWFxkSKBobHBFCMy0eEVQvAHFiQzNlJjc5LSNFNUYnKyovHy\/8QAGQEBAQEBAQEAAAAAAAAAAAAAAAIDAQQF\/8QALxEAAgIBAgQEBQQDAQAAAAAAAAECEQMhMQQSQVEiMnGxE2GRwdEzQoGhFOHw8f\/aAAwDAQACEQMRAD8A\/Zl4SAMk4AXqi3TP7JrOEZPYPwM4z7JXUck6TZJa4OGWkEd4XqotGgfzap8HOXPz4e0VepJU6Jxz54KXcIiLhZT093nn1RVWsMj7CCIP4wDxZw3bnj974K4WY0uftV5vNcQBxTBjcd2T+i06uap0YcPJzhzPq37hERQbhERAEREAREQBfLXNe3iY4OHeDleuaHNLTuCMFZnTMslBdbhY5uIiN5lhLjkluw+XCfVUlabMp5OWUU+pp0RFJqERV1Vf7ZR1LaWWqaZnODeBvtEE9+OXvXUm9iZTjFXJ0WKIi4UEREAREQBERAEREAREQBRboQLTWEnAED\/\/AFKlKt1C8s0\/XEdYXD12XY7ojI6g38iJo0Y01T7EZc\/n19oq9VTpaMR6bomjqwu9XE\/VWy7PzMjAqxRXyQXjnBrS47ADJXqh3aYU9orJjj2IXkZ6nGwXFqzWTpNlJoRpNoqJn7vkqDk9+w+pK06o9HQdjpuAkYMpc8+uB8AFeKsnmZhwyrDH0CIig9AREQBcKesp6p0jYJmSGJ3C\/hcDwnuPoq3Ut2fbaJsVK4GsqHhkTcjIydzj4eZXTT9mjs9vDMZqJQHTvO+Xd2e4bquXw2zH4jeTkj03+xaoiKTYLL31v2HVlquDSGiY9i\/b3fJ3wWoWZ1uAKKieWB2KkDfyK0x+ajzcV+k32p\/2aZV11vlDaIi6plHaEezE3dzvd08yul2jr5bfIy2ysiqDgBzu7qoNs0xS0c5q6pzqyrccmSUl3CfDPzPd0UpR3ZWSWS+WC\/l7GbvOoLvWRNwDQwTAiKJhzJKOW\/XHpnxVnpvSLKUMrbi3in5shPJnn3n5LhWw1lj1FPeKihdXU7ySyUOyYh9Mct9sdVpbfeKC6M4qWoY45I4CcO9Oa2lJqPh2PFhxxllbyu5LZP3\/APCciIvOfUCIiAIiIAiIgCIiAIiIAqTV7+DTNVjm7gb\/APIK7Wd1u4DTzgSATK3A71cPMjDiXWGXoy1szOzstCzup2Z8+EKaqWPUlnpKOFstfGXNibkMy\/oNtsqG\/W9G93BRUVVVP7g3H5n4JySb2JWfFCKTkjTKj1hMYdN1AGcyFrMjzGfgFE\/a+qKz\/hLKynb3zncepHyVPqKkvjKSJ12r2SNkmDWxRjYHHM7D6q4Q8StmOfiLxS5Yvbeq9zYW7saCy0jJZY42shYC5zuEZwMnfxXObUdmg\/HcYD\/4O4\/\/AFyq2HQ9vBDqqoqKl\/UudgH6\/FT4dL2WAANoI3Y6vJd8ypfJe5pH\/IpJRS9XfsQJtb0HFwUdPUVUhIwGtwD9fgvkXHVVc4GmtkVLGeRn5+8E5+C0cNPBTM4IIY4m\/wB1jQ0fBdE5orZFfCyy88\/pp+T5j4+zb2vDx4HFw8s9cI5zWML3HDWjJPcF9Kh1jWOpbE+Nj+GSpcIhjmRzPwGPeoirdGuSaxwcn0IdigdfLzNfqnJjid2dK0nIwM+HTPqfBapQ7VQtttsp6QYzGwBxAxl3U+qmLs3bJwY+SGu71fqERFJsFmddNzZoJAQCypacnps79FplEudviulC+kl2a\/BzjOCqg6kmY54OeOUV1JLXB7A4ciMr6VRZNPQ2Z8kwqJZ55Rh73nAPuVuuOr0Lg5ONyVMKjuOk7fWuM0ANHUbkSRcs+LfywVeIik1sJ44ZFUlZlDd7xp1\/Z3eE1tLnapi5jJPPPXwOPNaKiuFLcYBNSzMkb1AIJae4jopDmhzS1wBBGCD1WZrNP1NqqTcNP4Ycfe0xJIeM9M\/L0V+GXyZ56yYdV4o\/2vyadFQWzVUdwmp6Y0VQyaQlsh4PZYRz3\/jCv1Di1ub48kciuLCIi4aBERAEREAREQFfeLfUXKmZDT10lGQ\/Lnx5y5uDtsR4LH6j05Fbaene2qnqKqom4C6QjB+vPHVfoCzGqfv71ZKTmHT8Th4Zb+q1xyadHh4zDBwcmtdPcs6bTdmpcdnQROI6yDj+eVZRxsiYGRsaxo5BowAvpFm23ueuMIx8qoLMatP2i4WigaA50s\/EQeg2Gce8+i06zEjvt+v44wcsooMuA5Z\/+3N9FePezHidYKPdpGnREWZ6QiIgCzGtHGJlvncHGBlQO1wOmx+hWnXCto4K+kkpalnHHIMEfUKounZlmg8mNxR2a4OaHNIIIyCOq9WTgZqLTxNJT0wuVGD927OHN8Oey6m6anrcMpbUykJ5vmzt64+qrk7MyXEqqlF32o0FXW01BAZ6qZkUY6uPPyHX3KNaLxBeYZJqeORrGPLAXtxxeIVTSaRdPUCrvlY6tmz+AE8A\/Tw2WkYxkbAyNoY1owGtGAFxqKVIvG8spXJUu3U+kRFBuEREAREQBERAeBoBJAAJ5nvXqIgCIiAIiIAiIgCIiALMV\/8ASdfW+Hm2CEvPgfaP+1adZin+9\/lEqv8ABph8m\/7lcOvoebiP2ru1+TToiKD0hZfSYdVXK7XF4I7SfgbtyAJOPThWoXgAHIYVJ0mjKePmnGV7HqIik1CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKqjs74tTS3Zko4JoeB7CN87cvDDQrVUNx1bR0NW+jigmqqhhwWxjYHuz+iqKk9EY5njik8j2ZfIswa\/VVeR9mt8VFET+KXdwHkcePRSrZbb9HWsqLldmysbnMUY2dsfAfJdcK3ZKz8zqMX67e5eoiKD0BERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAWVqrLdLNWSV1ie2SOQ5kpn7k+vP1B81qkVRk0ZZMUci13XUz1v1dSzSCnuUT7fUdRKCGn3nl7\/AFWga4OaHNIIIyCOqh3C00N0j4KynbIQMNfyc3yPNUT7RfLGOKzVP2qAHPYTfix3dx6csHbbqqqMttDLmy4vMuZd1v8AT8GqRUVt1VR1T\/s9YDQ1bSGmOUEZPgTy36FXjXBzQ5pBBGQR1UOLW5tDJDIriz1ERcNAiLP3u8VbbjDabSGOq37yF7ThjcbbrsU26M8mRY42zQIqKx3armuNXa7k6M1NPgtczbjHU\/L1V6jTTo7jyLJG0ERFwsIiIAiIgCjurqVtc2hMzRUPYXtj6kKQuZghM4nMTDK0cIkLRxAd2V0476HRERcOhERAEREAREQBUl41JFb5m0dLH9qrXnAib+754+SunZ4Tw4zjbKzOjaeMsraqUSGrM7g8yj2gOecdMnOfJXFKm2efNKfNGEdL6nkVivN0YJbvdJIuLfsIWgcPdvy+fTdfR0NbweOKrrGPAw0l7Tw\/BaZVl9vMVkoO3eOOR54Yo8\/iP5BdU5N0iJcPhhHmnrXVlRQmvseooLXJXmsp6hhc1r\/xMG\/n3H0PctUqHT9oqYZZbpciHVtTuRgZjHdn3cuivlybTZfDRahroui7IIiKD0BERAQbhZ7fc2EVdMx56PGzh7x5Kgljuuk3iSGQ1dqaQHNf+KMfx1WtUC+VcNHZqqWY+yYywDPMnYD4q4yex5s2KNOa0a6\/kk0lXDXUkdVTv44pBlpXZU+laaWl09Ttm4uN+X4dn2QTsPTCuFMlTaRrjk5QUnu0Fl9K5rrtdbq\/dz5OzZ4N7s+Qb6LULMaC3ss7juTUuye\/2Wq4+VmWXXNBer\/76i8ZoNYWyta7hZUjsX9x3xv\/AKh6LTrP6zpjJZftLAO0pZGvBx0zg\/T0VrS10c1qir5HcDHQiVxP7oxkpLWKYx+DLOP8\/kloslCblqyWWaOrkobc08DGs\/E88ydvdz2+K6nStfSNdLb71UCUD8MhPC7wO+yciWjZxZ5S8UIWjUIqbTl5lucEsFZH2dbSu4ZhjGeeDj3b\/qrlQ006ZvCanFSieBwJIBBI5juXzLIIonyOBIY0uOPBZhspsWsnxO9mjuQBb3B\/\/wCs\/wCpXd7k7Kx1z\/8AAeOeOYwqcaa+ZnHNzRk9mrKq1Vl4vVfHXtc2mtjSeGPGTLzHn8lpFUaUZwaaox\/2uPLHNxKt0nvQ4dP4abdt6hERQbkK7VrrfbpaljQ5zBtxcs9M+GcLMHVl8gZTyVFBSmOq\/qXMP4jy58RxvjmthPBHUwSQSt4o5Glrh3grAyQvgo62wVTsy0jvtFG45HEBkuA8xk+eVtjUWtUfP4uWSLTi6X3\/ANl\/Taype3EFxpZqCQ\/8wEgeewPwWgiljmjbJFI2RjhlrmnIPvVVbXU2obBC6sjZOXM4ZAeYcOe45cgVUVFPcNJTiqppZKu2Od95C45MWT+vP1XHFN0tGXHLkhFTl4ovr1XqjXouNLUxVlLHUwO4o5WhzSuyyPYmmrRlbnqC4i6VTKCIGG3tBlYecmSMnyH5nuUWCsjt97p7xT5FBdfZlBP9XITvnyO\/qr6ksjae7XCskkEjKwAdmW8h1ys7bKB1Tbr3ZBu+mm7SAjnxDON\/HhA95XoTjR8zJHKpJvdt16rb6o3CyNoDNS6hqLnO4Pp6QhtPCeY\/uuI9xPn5KfY7jLc9OyxFxFZAx0L+\/ixsf46gqs\/k9YQyvf0JjA93F+alLlUu5rPIsuTGujt\/Q2SIixPeEXKaqp6fHbzxxZ5cbw3PqugIIyDkFDlo9RfEk0ULeKWRkbe9zgAqqu1TaKEHiqhM8fuQe2fXl8V1JvYmeSEFcnRbOc1jC97g1rRkknAAWTzJq+8NwOG1UT87j+td3e\/4DzR0V31Y8CUOt9sBBx+9KPr8h4rT0dFT0FM2mpYxHGzkB8z3q\/J6nm14h7VD3\/0dmtDWhrQAAMADovURZnsCy2nnG16iuNncWhj3GaHffy9CPRalZ3VNvmBhvVCP6VRnLgB+Jnj5fIlXDs+p5uITVZF+326l9UQRVVPJBM3ijkaWubkjIPks9qcR2rTLKClY4NleImNG5xuVcWq6U93omVMBxke2w82Hu\/VUl\/BuOprXbmAubEe2lA6DPXu2b8V2CalT6E8Q4yxc0d3ov5L+30jKC3wUjBtEwN58z1PqpKIs9z1JJKkZeTNv\/lAjLB7FfBh++d9\/9o9VqFl72c6ys7RuQCSPDJ\/JahaT2TPPg0lNfP7IqtRWoXa1PiaPv4\/bhI5hw6e\/kqlt0fcdFVomd\/SoIzHNvuT0PvHxytWsNqmF9nrqiaBuKe5xFsjR\/fzkn5H3ldx6+Ey4pfDvIuqp\/Zml03\/Z2i\/ylaKr03\/Z2i\/ylaKJeZnpw\/px9EERVFVqCnt92NFWtMDHM4o5nfhd3riTexU5xgrky3VFqezS18MdbRZFbSnijxj2hzx+X6q7a5r2B7HBzXDIIOQQvpE3F2cyQjki4sxug6xzpK2kc3hBPahoGA08j9PRbCSNksbo5GhzHgtc0jYg8woTqe2WgVFwMUcGcullDSScn8+i+Gais728QuMAHi7HzVy8TtIxwpYYLHOSsqdO8drv9wspcXRZ7aLJyQDj6Eei0k3a9g\/sOHteE8HHyz0ys1Znuu+qqq7RNH2SNnZRvxu47dD7z6LUpk3HDfptLa3XoVGnLtJdbc59QAKmKRzJWgYAOdvh8lAsoL9YXeVg+6\/BnvcMZ9OvmvqpsFxgudTVWqqZCyr3kDjggk742PPnnmMn32Vks0VlozCx5kkeeKSQ\/vHy6LrcUm11IjHJKUYyXl69+iKa5Mm05fv2rTRukpaw4niYOTvzJ3HjkKrsdTVadlhqqxjhR17i17iCOAgncjHv8s9y3zmhzS1wBBGCD1Ua4W+C5UElHO37t4wCObT0IRZFVNHJ8K+bng9tUvn1+pJa4OaHNIIIyCOq9WTpK64aXBorjBJVUnFinliw52O7BPh7s+S0Fsr\/ANpUYqRTywAuIDZRgnHVTKLWvQ3x5oz0ej7EK76Yor1VNqamWdr2sDB2bmgYyT1B7yoP8wbV\/wBRWf62\/wC1ERTktExLhsMnbjqfTdCWhpyZKp3LYvH0Cs6TT9poiHQ0UfE3k5+XkeWc49yIuOcnuzseHxRdqKLJERSbBERAEREBQVmmT9qfV2qsfQTP\/EGD2HeYUi0afjttRLVzTvq6qXnLINx5fx0RFXPKqMVgxqXMkW6Iik2M5fIpoNR2yvZDJLGCInBjc457\/H4FaNEVy2RhjVTn\/wB0CqdS2190s0kMMQknaQ6IE43zvvkdMoilOnZpOCnFxfU72Smmo7NTU1Q0NljZwuAOeqnoiN27OxioxUV0C4VdFS10XZVUDJmA5AeM4PgiLh1pNUzrHGyKNscbQ1jAGtaBsAOQX0iIdPmSNksbo5GNexww5rhkEeIVa7Tdmcd7fFzzgZA\/jZEXU2tiJQjLzKywhhip4WwwxtjjaMNa0YAXREXC9giIgCIiAIiID\/\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "Camila Veliz",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "wsp",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "56 9 3638 0484",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:13",
    "ubicacionGPS": "LatLng(lat: -23.6618754, lng: -70.4001395)",
    "horaLlegada": "12:07",
    "horaDespacho": "15:13",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 15:13:48
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-.me24OABVqpQZyjwvewyxTMK.1H26M1HVwiuF6Sx-CZhkCwiReH
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2960",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se cierra por entrega insumos y envío por encomienda",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12126",
    "observacion": "se cierra por entrega insumos y envío por encomienda",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACYAQwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABEEAABAwMCAwUFBQMKBgMAAAABAAIDBAURBiESMUETUWFxkSKBobHBFCMy0eEVQvAHFiQzNlJjc5LSNFNUYnKyovHy\/8QAGQEBAQEBAQEAAAAAAAAAAAAAAAIDAQQF\/8QALxEAAgIBAgQEBQQDAQAAAAAAAAECEQMhMQQSQVEiMnGxE2GRwdEzQoGhFOHw8f\/aAAwDAQACEQMRAD8A\/Zl4SAMk4AXqi3TP7JrOEZPYPwM4z7JXUck6TZJa4OGWkEd4XqotGgfzap8HOXPz4e0VepJU6Jxz54KXcIiLhZT093nn1RVWsMj7CCIP4wDxZw3bnj974K4WY0uftV5vNcQBxTBjcd2T+i06uap0YcPJzhzPq37hERQbhERAEREAREQBfLXNe3iY4OHeDleuaHNLTuCMFZnTMslBdbhY5uIiN5lhLjkluw+XCfVUlabMp5OWUU+pp0RFJqERV1Vf7ZR1LaWWqaZnODeBvtEE9+OXvXUm9iZTjFXJ0WKIi4UEREAREQBERAEREAREQBRboQLTWEnAED\/\/AFKlKt1C8s0\/XEdYXD12XY7ojI6g38iJo0Y01T7EZc\/n19oq9VTpaMR6bomjqwu9XE\/VWy7PzMjAqxRXyQXjnBrS47ADJXqh3aYU9orJjj2IXkZ6nGwXFqzWTpNlJoRpNoqJn7vkqDk9+w+pK06o9HQdjpuAkYMpc8+uB8AFeKsnmZhwyrDH0CIig9AREQBcKesp6p0jYJmSGJ3C\/hcDwnuPoq3Ut2fbaJsVK4GsqHhkTcjIydzj4eZXTT9mjs9vDMZqJQHTvO+Xd2e4bquXw2zH4jeTkj03+xaoiKTYLL31v2HVlquDSGiY9i\/b3fJ3wWoWZ1uAKKieWB2KkDfyK0x+ajzcV+k32p\/2aZV11vlDaIi6plHaEezE3dzvd08yul2jr5bfIy2ysiqDgBzu7qoNs0xS0c5q6pzqyrccmSUl3CfDPzPd0UpR3ZWSWS+WC\/l7GbvOoLvWRNwDQwTAiKJhzJKOW\/XHpnxVnpvSLKUMrbi3in5shPJnn3n5LhWw1lj1FPeKihdXU7ySyUOyYh9Mct9sdVpbfeKC6M4qWoY45I4CcO9Oa2lJqPh2PFhxxllbyu5LZP3\/APCciIvOfUCIiAIiIAiIgCIiAIiIAqTV7+DTNVjm7gb\/APIK7Wd1u4DTzgSATK3A71cPMjDiXWGXoy1szOzstCzup2Z8+EKaqWPUlnpKOFstfGXNibkMy\/oNtsqG\/W9G93BRUVVVP7g3H5n4JySb2JWfFCKTkjTKj1hMYdN1AGcyFrMjzGfgFE\/a+qKz\/hLKynb3zncepHyVPqKkvjKSJ12r2SNkmDWxRjYHHM7D6q4Q8StmOfiLxS5Yvbeq9zYW7saCy0jJZY42shYC5zuEZwMnfxXObUdmg\/HcYD\/4O4\/\/AFyq2HQ9vBDqqoqKl\/UudgH6\/FT4dL2WAANoI3Y6vJd8ypfJe5pH\/IpJRS9XfsQJtb0HFwUdPUVUhIwGtwD9fgvkXHVVc4GmtkVLGeRn5+8E5+C0cNPBTM4IIY4m\/wB1jQ0fBdE5orZFfCyy88\/pp+T5j4+zb2vDx4HFw8s9cI5zWML3HDWjJPcF9Kh1jWOpbE+Nj+GSpcIhjmRzPwGPeoirdGuSaxwcn0IdigdfLzNfqnJjid2dK0nIwM+HTPqfBapQ7VQtttsp6QYzGwBxAxl3U+qmLs3bJwY+SGu71fqERFJsFmddNzZoJAQCypacnps79FplEudviulC+kl2a\/BzjOCqg6kmY54OeOUV1JLXB7A4ciMr6VRZNPQ2Z8kwqJZ55Rh73nAPuVuuOr0Lg5ONyVMKjuOk7fWuM0ANHUbkSRcs+LfywVeIik1sJ44ZFUlZlDd7xp1\/Z3eE1tLnapi5jJPPPXwOPNaKiuFLcYBNSzMkb1AIJae4jopDmhzS1wBBGCD1WZrNP1NqqTcNP4Ycfe0xJIeM9M\/L0V+GXyZ56yYdV4o\/2vyadFQWzVUdwmp6Y0VQyaQlsh4PZYRz3\/jCv1Di1ub48kciuLCIi4aBERAEREAREQFfeLfUXKmZDT10lGQ\/Lnx5y5uDtsR4LH6j05Fbaene2qnqKqom4C6QjB+vPHVfoCzGqfv71ZKTmHT8Th4Zb+q1xyadHh4zDBwcmtdPcs6bTdmpcdnQROI6yDj+eVZRxsiYGRsaxo5BowAvpFm23ueuMIx8qoLMatP2i4WigaA50s\/EQeg2Gce8+i06zEjvt+v44wcsooMuA5Z\/+3N9FePezHidYKPdpGnREWZ6QiIgCzGtHGJlvncHGBlQO1wOmx+hWnXCto4K+kkpalnHHIMEfUKounZlmg8mNxR2a4OaHNIIIyCOq9WTgZqLTxNJT0wuVGD927OHN8Oey6m6anrcMpbUykJ5vmzt64+qrk7MyXEqqlF32o0FXW01BAZ6qZkUY6uPPyHX3KNaLxBeYZJqeORrGPLAXtxxeIVTSaRdPUCrvlY6tmz+AE8A\/Tw2WkYxkbAyNoY1owGtGAFxqKVIvG8spXJUu3U+kRFBuEREAREQBERAeBoBJAAJ5nvXqIgCIiAIiIAiIgCIiALMV\/8ASdfW+Hm2CEvPgfaP+1adZin+9\/lEqv8ABph8m\/7lcOvoebiP2ru1+TToiKD0hZfSYdVXK7XF4I7SfgbtyAJOPThWoXgAHIYVJ0mjKePmnGV7HqIik1CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKqjs74tTS3Zko4JoeB7CN87cvDDQrVUNx1bR0NW+jigmqqhhwWxjYHuz+iqKk9EY5njik8j2ZfIswa\/VVeR9mt8VFET+KXdwHkcePRSrZbb9HWsqLldmysbnMUY2dsfAfJdcK3ZKz8zqMX67e5eoiKD0BERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAWVqrLdLNWSV1ie2SOQ5kpn7k+vP1B81qkVRk0ZZMUci13XUz1v1dSzSCnuUT7fUdRKCGn3nl7\/AFWga4OaHNIIIyCOqh3C00N0j4KynbIQMNfyc3yPNUT7RfLGOKzVP2qAHPYTfix3dx6csHbbqqqMttDLmy4vMuZd1v8AT8GqRUVt1VR1T\/s9YDQ1bSGmOUEZPgTy36FXjXBzQ5pBBGQR1UOLW5tDJDIriz1ERcNAiLP3u8VbbjDabSGOq37yF7ThjcbbrsU26M8mRY42zQIqKx3armuNXa7k6M1NPgtczbjHU\/L1V6jTTo7jyLJG0ERFwsIiIAiIgCjurqVtc2hMzRUPYXtj6kKQuZghM4nMTDK0cIkLRxAd2V0476HRERcOhERAEREAREQBUl41JFb5m0dLH9qrXnAib+754+SunZ4Tw4zjbKzOjaeMsraqUSGrM7g8yj2gOecdMnOfJXFKm2efNKfNGEdL6nkVivN0YJbvdJIuLfsIWgcPdvy+fTdfR0NbweOKrrGPAw0l7Tw\/BaZVl9vMVkoO3eOOR54Yo8\/iP5BdU5N0iJcPhhHmnrXVlRQmvseooLXJXmsp6hhc1r\/xMG\/n3H0PctUqHT9oqYZZbpciHVtTuRgZjHdn3cuivlybTZfDRahroui7IIiKD0BERAQbhZ7fc2EVdMx56PGzh7x5Kgljuuk3iSGQ1dqaQHNf+KMfx1WtUC+VcNHZqqWY+yYywDPMnYD4q4yex5s2KNOa0a6\/kk0lXDXUkdVTv44pBlpXZU+laaWl09Ttm4uN+X4dn2QTsPTCuFMlTaRrjk5QUnu0Fl9K5rrtdbq\/dz5OzZ4N7s+Qb6LULMaC3ss7juTUuye\/2Wq4+VmWXXNBer\/76i8ZoNYWyta7hZUjsX9x3xv\/AKh6LTrP6zpjJZftLAO0pZGvBx0zg\/T0VrS10c1qir5HcDHQiVxP7oxkpLWKYx+DLOP8\/kloslCblqyWWaOrkobc08DGs\/E88ydvdz2+K6nStfSNdLb71UCUD8MhPC7wO+yciWjZxZ5S8UIWjUIqbTl5lucEsFZH2dbSu4ZhjGeeDj3b\/qrlQ006ZvCanFSieBwJIBBI5juXzLIIonyOBIY0uOPBZhspsWsnxO9mjuQBb3B\/\/wCs\/wCpXd7k7Kx1z\/8AAeOeOYwqcaa+ZnHNzRk9mrKq1Vl4vVfHXtc2mtjSeGPGTLzHn8lpFUaUZwaaox\/2uPLHNxKt0nvQ4dP4abdt6hERQbkK7VrrfbpaljQ5zBtxcs9M+GcLMHVl8gZTyVFBSmOq\/qXMP4jy58RxvjmthPBHUwSQSt4o5Glrh3grAyQvgo62wVTsy0jvtFG45HEBkuA8xk+eVtjUWtUfP4uWSLTi6X3\/ANl\/Taype3EFxpZqCQ\/8wEgeewPwWgiljmjbJFI2RjhlrmnIPvVVbXU2obBC6sjZOXM4ZAeYcOe45cgVUVFPcNJTiqppZKu2Od95C45MWT+vP1XHFN0tGXHLkhFTl4ovr1XqjXouNLUxVlLHUwO4o5WhzSuyyPYmmrRlbnqC4i6VTKCIGG3tBlYecmSMnyH5nuUWCsjt97p7xT5FBdfZlBP9XITvnyO\/qr6ksjae7XCskkEjKwAdmW8h1ys7bKB1Tbr3ZBu+mm7SAjnxDON\/HhA95XoTjR8zJHKpJvdt16rb6o3CyNoDNS6hqLnO4Pp6QhtPCeY\/uuI9xPn5KfY7jLc9OyxFxFZAx0L+\/ixsf46gqs\/k9YQyvf0JjA93F+alLlUu5rPIsuTGujt\/Q2SIixPeEXKaqp6fHbzxxZ5cbw3PqugIIyDkFDlo9RfEk0ULeKWRkbe9zgAqqu1TaKEHiqhM8fuQe2fXl8V1JvYmeSEFcnRbOc1jC97g1rRkknAAWTzJq+8NwOG1UT87j+td3e\/4DzR0V31Y8CUOt9sBBx+9KPr8h4rT0dFT0FM2mpYxHGzkB8z3q\/J6nm14h7VD3\/0dmtDWhrQAAMADovURZnsCy2nnG16iuNncWhj3GaHffy9CPRalZ3VNvmBhvVCP6VRnLgB+Jnj5fIlXDs+p5uITVZF+326l9UQRVVPJBM3ijkaWubkjIPks9qcR2rTLKClY4NleImNG5xuVcWq6U93omVMBxke2w82Hu\/VUl\/BuOprXbmAubEe2lA6DPXu2b8V2CalT6E8Q4yxc0d3ov5L+30jKC3wUjBtEwN58z1PqpKIs9z1JJKkZeTNv\/lAjLB7FfBh++d9\/9o9VqFl72c6ys7RuQCSPDJ\/JahaT2TPPg0lNfP7IqtRWoXa1PiaPv4\/bhI5hw6e\/kqlt0fcdFVomd\/SoIzHNvuT0PvHxytWsNqmF9nrqiaBuKe5xFsjR\/fzkn5H3ldx6+Ey4pfDvIuqp\/Zml03\/Z2i\/ylaKr03\/Z2i\/ylaKJeZnpw\/px9EERVFVqCnt92NFWtMDHM4o5nfhd3riTexU5xgrky3VFqezS18MdbRZFbSnijxj2hzx+X6q7a5r2B7HBzXDIIOQQvpE3F2cyQjki4sxug6xzpK2kc3hBPahoGA08j9PRbCSNksbo5GhzHgtc0jYg8woTqe2WgVFwMUcGcullDSScn8+i+Gais728QuMAHi7HzVy8TtIxwpYYLHOSsqdO8drv9wspcXRZ7aLJyQDj6Eei0k3a9g\/sOHteE8HHyz0ys1Znuu+qqq7RNH2SNnZRvxu47dD7z6LUpk3HDfptLa3XoVGnLtJdbc59QAKmKRzJWgYAOdvh8lAsoL9YXeVg+6\/BnvcMZ9OvmvqpsFxgudTVWqqZCyr3kDjggk742PPnnmMn32Vks0VlozCx5kkeeKSQ\/vHy6LrcUm11IjHJKUYyXl69+iKa5Mm05fv2rTRukpaw4niYOTvzJ3HjkKrsdTVadlhqqxjhR17i17iCOAgncjHv8s9y3zmhzS1wBBGCD1Ua4W+C5UElHO37t4wCObT0IRZFVNHJ8K+bng9tUvn1+pJa4OaHNIIIyCOq9WTpK64aXBorjBJVUnFinliw52O7BPh7s+S0Fsr\/ANpUYqRTywAuIDZRgnHVTKLWvQ3x5oz0ej7EK76Yor1VNqamWdr2sDB2bmgYyT1B7yoP8wbV\/wBRWf62\/wC1ERTktExLhsMnbjqfTdCWhpyZKp3LYvH0Cs6TT9poiHQ0UfE3k5+XkeWc49yIuOcnuzseHxRdqKLJERSbBERAEREBQVmmT9qfV2qsfQTP\/EGD2HeYUi0afjttRLVzTvq6qXnLINx5fx0RFXPKqMVgxqXMkW6Iik2M5fIpoNR2yvZDJLGCInBjc457\/H4FaNEVy2RhjVTn\/wB0CqdS2190s0kMMQknaQ6IE43zvvkdMoilOnZpOCnFxfU72Smmo7NTU1Q0NljZwuAOeqnoiN27OxioxUV0C4VdFS10XZVUDJmA5AeM4PgiLh1pNUzrHGyKNscbQ1jAGtaBsAOQX0iIdPmSNksbo5GNexww5rhkEeIVa7Tdmcd7fFzzgZA\/jZEXU2tiJQjLzKywhhip4WwwxtjjaMNa0YAXREXC9giIgCIiAIiID\/\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "Camila Veliz",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "wsp",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "56 9 3638 0484",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:13",
    "ubicacionGPS": "LatLng(lat: -23.6618754, lng: -70.4001395)",
    "horaLlegada": "12:07",
    "horaDespacho": "15:13",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


04/05/2026 15:13:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[04/05/2026 15:13: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('76050301', 'KY2960', 1, 95585912, 0, NOW(), 
				'15:13', '12:07', '15:13', 10, 'se cierra por entrega insumos y envío por encomienda', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777922028.png', 'se cierra por entrega insumos y envío por encomienda', null, 'COMPLETADO','LatLng(lat: -23.6618754, lng: -70.4001395)' )
				
[04/05/2026 15:13:48] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200162

04/05/2026 15:13:48 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200162'                    
				WHERE idllamado = 12126			
				TO ENVIO: micorreo@miempresa.cl, null


04/05/2026 15:13:48 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12126			
				
04/05/2026 15:13:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


04/05/2026 15: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 = 12126
                
04/05/2026 15: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 = 12126
                
04/05/2026 15: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 = 12126
                
04/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12126
                
04/05/2026 15: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 = 12126
                
04/05/2026 15: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 = 12126
                
04/05/2026 15: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 = 12126
                
04/05/2026 15: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 = 12126
                
04/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            [04/05/2026 15:13:51] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            [04/05/2026 15:13:51] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12126
                
04/05/2026 15: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 = 12126
                [04/05/2026 15:13:51] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 15: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 = 12126
                
04/05/2026 15: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 = 12126
                
04/05/2026 15:30:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                [04/05/2026 15:30:31] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 15:30:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                [04/05/2026 15:30:31] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 15:30:31] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 15:30:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:30:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                [04/05/2026 15:30:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 15:30:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            [04/05/2026 15:30:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 15:30:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15:30:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15:30:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:30:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            [04/05/2026 15:30:37] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 15:30:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15:30:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15:30:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12126
            GROUP BY l.idllamado;
            
04/05/2026 15:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                [04/05/2026 15:30:37] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 15:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                [04/05/2026 15:30:37] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 15:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                
04/05/2026 15:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12126
                [04/05/2026 15:30:39] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 95585912 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '95585912'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 15:30: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 = '95585912'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 15:40:34] 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;
                
[04/05/2026 15:40: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 15:40: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;
                
[04/05/2026 15:40:41] 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;
                

04/05/2026 15:40:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            
04/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            [04/05/2026 15:40:45] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 15:40:48] 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;
                

04/05/2026 15:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12437
            GROUP BY l.idllamado;
            [04/05/2026 15:40:49] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 15:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 15:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 15: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 = 12437
                
04/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12437
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12437
                
04/05/2026 15: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 = 12437
                
04/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12437
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12437
                
04/05/2026 15: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 = 12437
                
04/05/2026 15: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 = 12437
                
04/05/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 = 12437
                
04/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12437
            GROUP BY l.idllamado;
            
04/05/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 = 12437
                
04/05/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 = 12437
                
04/05/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 = 12437
                
04/05/2026 15:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 15:41:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12437
            GROUP BY l.idllamado;
            
04/05/2026 15:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 15:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 15:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 15:41:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12437
            GROUP BY l.idllamado;
            
04/05/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 = 12437
                
04/05/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 = 12437
                
04/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12437
            GROUP BY l.idllamado;
            
04/05/2026 15: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 = 12437
                
04/05/2026 15: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 = 12437
                
04/05/2026 15: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 = 12437
                
04/05/2026 15: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 = 12437
                
04/05/2026 15:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 15:58:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12437
            GROUP BY l.idllamado;
            
04/05/2026 15:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 15:58:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12437
            GROUP BY l.idllamado;
            
04/05/2026 15:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 15:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 15: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 = 12437
                
04/05/2026 15: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 = 12437
                
04/05/2026 16:00:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 16:00:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 16:00:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12437
            GROUP BY l.idllamado;
            
04/05/2026 16:00:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 16:00:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 16:00:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 16:00:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 16:01:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 16:01:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12437
            GROUP BY l.idllamado;
            
04/05/2026 16:01:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 16:01:04 - logentry: =========================================
FECHA: 04/05/2026 16:01:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-hNk6uf3C5QNk04T1W9wDIdeBc_l2H3MSLquFn+wt+aqjqywzOtx
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2924",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "403",
    "contadorColor": "469",
    "contadorScanner": "0",
    "detalle": "01\/ rgom 2393",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12437",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACzARIDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAUGBAIBAwf\/xABFEAABAwMBBAcEBgYIBwAAAAABAAIDBAURBhIhMUETUWFxgZGhFCKxwRUyQlLR8BYjM0Oy4Qc0NnKCkqLxJCU1U3TC0v\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADARAAIBAgMGBAYDAQEAAAAAAAABAgMREiExBCIyQVFxE2Gx0RQzgZGh4SNCwTTw\/9oADAMBAAIRAxEAPwD+zIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIp96u0Vntz6l+HP4Rx53vd+eKlK7sispKMXJ6I49QX11v6OjoWiavmIDYwM7I6+\/qVmLpOhZ0xaZMDaLRgZ7Bk\/FQdN2qYPferg7brKsZAP7tp\/ljuG5aFWlZZIyo45XnLnovL3CIiobhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAXxzg1pc4gADJJ5I5wa0ucQABkk8lknOqdX3GaFkzobTTu2HFh3ynrH53DvVoxuY1auCySu3oi+L7ajMIRcKcvOMAPGDnhv4c13qLLpOzSUjoG0gjJGBI0naHbkqfZ7hUWOubYrpvYTilqORHIfngdythTW6Z+LOEkqqVnzX+mqREWZ1BERAeJZWQxPlkcGsY0uc48gOJWVt8cmqbybjUgigo34pmFuA854+gJ8AunWFXM6Gns9K3M9c8A9jQR8T6Aq5Q0cVvoYqSEYZE3A7TzPid60W7G\/NnJL+Wrg\/rHXzf8A7M6ERFmdYREQBERAEREAREQBc1dcKS2wdNVztibyzxd2Ac14ulzgtNC+rqD7o3NaOLncgFCtlnmvlQLve2hzXDMFOeDW8s9nYrxjld6GFSq1LBBXl6dz0NS3S5lwstpc+Pg2ec4b29Q9U6LWRAf09IDjJYQPLh81pmtDWhrQAAMADkvqnGuSK+BJ5ym7+WRmPbNYU2+S30tS0cS0gH+L5L5+mMtIdm6WeppyOLmjIPdnHxWoXxzQ5pa4AgjBB5piT1Q8GouGb+tmT6C\/Wy5YFPVs2z+7edl3kePgqKj12lrRXkufTCJ5JJfCdk+XD0U0WO\/Wffabj7TEB+wn+Azu+CWi9GR4laHHG\/b2NUiiWi+1VZUmjr7bLSztbnawdg\/nParao01qbwqRmrxCIiguEREARFz11U2hoZ6p4yIWF+M4zgcEIbSV2RtYXB8FAy302XVNc7ow0cdnn55A8Sqtpt7LXbIaNmCWN95w+048T5rN2WrdqTVBuL4tiGjiAYwna2XH06z4BbBaT3UonLQaqTdXlou37YU2+2iO8W90Jw2ZnvQv5td+BVJFROzujpnFTi4y0ZD0vdH1tG+kqjirpD0cgdxIG7PxHh2q4snqBjrJfqW+wtPRSHo6gDn\/ALj1C1YIIyDkFWmlquZhQk86ctY+nJn1ERUOky9qzdNYV9c\/e2i\/UxdXMfJ3mtQsxpo+zagvNFJgSGQSNA5tyd\/+pvmtOtKmpzbL8u\/O7v8AcIiLM6QiIgCIiAIiIAiL8aycUtFPUHH6qNz9\/DcEIbsrszM0Z1Jq19PIC6gtww9udzn\/AO\/o0rWLPaLpjHZPaX5MlVI57iTxwcfI+a0KvN526HPs0dzG9ZZ+34CIiodIREQBERAEREAREQBERAFD1jP0Om5wDgylrB5gn0BVxZPX8mLbSxfem2vIH8VemryRz7VLDQk\/I\/XQdOI7NLNj3pZjv7ABj5rTqJo9mzpmlO\/Li87\/AO+VbSo7yY2aOGjFeQREVDoOG80H0naaik+09uWf3hvHqFw6SuIrrLHG4npqb9U8Hju4Hy+BVxZWJn0NrlzA3Yp7kw7O\/dt8fPIP+ZaRzi0ctXcqRqdcn\/n5NUiL4SAMk4AWZ1Gb1LSz0VbBf6MFz4MNmjH225\/njyVygr6e5UjKmmkDmuAJAO9p6j2rjr9R2mg2mTVTHvGQY4\/fPcccPFZKljr5bmavTVDU00Lxv6QjYdv38d2OzJWyi5RzPPlVjSqbmd9Utb9T+gkgDJOAF+UVVTTyPjhqIpHx\/Xax4Jb3gcF\/P\/apq24Gl1Jcaykbw6MR7LSO3q78HvW0s1ttlvgJtoY5r8bUoftl3j48lWUMKzNaO0OrLdVl5vP7FJERZnWEREAREQBR9VyGPTNY4c2tb5uA+asKLq\/+y9Z\/g\/jarQ4kY1\/lS7P0OqwxiOw0DRzp2O8xn5qguKy\/9DoP\/Gj\/AIQu1RLVl6fAuwREUFwiIgCIiAIi\/OaaOnhfNM8MjYMuc47gEGh9lljhjdJLI2NjRlznHAHivscjJY2yRva9jhlrmnII7Csi51VrOt2W7cFogdvPAyn8fgtZBBFTQMghYGRxjZa0cgrSjh7mFKq6jbS3evX9H6IiKpuFjP6QS4mgY3O\/pNw5\/V\/Pitmsd\/SE3MNC\/HBzxnvx+C0pcaOPbv8Anl9PUu6absadohjH6vPmcqopWmZNrTdE5xxiPG89RI+S6Z7vbabImrqdhHIyDPkqyTcmbUpRVKLb5I7EUKfWVkhB2al0pHKON3zAC5XazNQdm2WqqqXdZGB6Z7VKpy6FXtVFf2+2foadZjWwibRU9W2WNtVTTBzA4jaI5gDnvwV5dT6tum6WaG2xHiIz72O8ZPqF00mjbbC4yVZkrZXHJdK4gZ7h88q0Uou7ZlUlOvFwjGyfN5fs5Bq6suDeitFqkml2RtPd9Vjuf5JC+nT96u7i68XMxROH9Xpzu7jy+K9aalNru1bYJTua8ywEni08vLB81qEk8L3UVpU3WjerJvy0RLodOWm34MNGxzxj9ZJ77s9e\/h4YVREWbbep2xhGCtFWOetoKS4Q9DVwMmZy2hvHceI8FBk0YyCXprTcJ6J+c4ztDu5HzytMilSa0KTo06mclmZZ1Tqq0YdPFHcYGD3nMwHYAz3+OCqlr1FQXU9GxzopwcOhlGHA\/A81VWc1bbKc291zjHQ1NMQ4SR7i7J4HzzlWTUnZowlGpRTlGV0uT\/xmjRT6K6snoaeZ7XbUkTXOwBxIz1oqWZ0qpFq9ygiIoLhS9SxGbTtawDOI9ryOfkqi8TRMnhfDIMskaWuHYdylOzuUnHFFx6k\/Tcwn07QvHKIN4\/d3fJU1mdFSuipqy2S56WknOQeo\/wAwfNaZTNWkzPZ5YqUWERFU3CIvMkjImF8j2saOJccAID0ih3DV1qom4il9rlO4MhOQfHguAxah1HHszYtdG7i0A7bx28\/h4q6g9Xkc8tojfDDefl7lC66oo7e7oIAayrJw2KI5we0\/Lip0djut\/e2pvdQ6CDOW0ke7A7er1PcrNq0\/b7O3NPFtSkb5X73H8PBU1OJR4SvgzqZ1Xl0Wn16n5wQRU0LIYI2xxsGGtaMAL9ERZnUlYIiIAsrr9mbVTPxwnxnvafwWqWa14M2GM7t1Q0\/6XK9PjRzbWr0JHVpVom0pTMfwc17Tv5bbgvkWjrHFxpDIet8jvkV60h\/Zej\/x\/wAblaUyk1J2FKnCdKDkr5L0OOG026nOYaGnYc5yIxnzXWAAMAYAX1FS9zoUVHRBERQSZjVkRoamivsLMvp5AyQDm08PmPFaOCaOpgjnidtRyNDmnrBXispIq6jlpZhlkrS09naoGk6mSllqrFUuzLSPJjP3mZ5eefFacUexy\/LreUvX9mmREWZ1BERAFnNY1TnUUVrgy6orXgBoH2Qfxx6qjeL5SWWDbqHbUjgejibxd+A7VN09bKuetkvl0biol\/Yxkfs2\/LduwtIq28zlrSx\/wx1evki5TUcVPSxQbDHdGwM2tgDOBjKLoRZ3OlRSyCIiEhERAZS5FundTx3QMPstaOjmxwa7dv8AQHzWqBBGQcgrludugutDJSTj3Xjc4cWnkQoenrjPQVZ0\/cziWLdTyHOJG8gPl5clo96N+aORPwamF8MtO\/T6mnUS6RajmrSLZUU8FPsjDpACc8+RVtFROx0ThjVrtdjMfo7fKn+uagkaObYQQPiPgvUWhreHh9TU1NQ7G\/acAD18s+q0qK3iSMfhaXNX7ts4KKyWy3kOpqONjxweRtO8zvXeiKrbepvGMYq0VYIiKCwREQBERAFJ1PSSVun6mKGMySYa5rWtyTgg7vDKrIpTs7lJxU4uL5kjS0MlPpylimY6N7dvaa5pBHvu5FV0RG7u4hHBBR6BERQXCIiALL30C26ntlzYABM7oZe3lk+B9AtQoN4tVfdrpTxv6IW6IiQnftFw4g788OpXg7PM59pi3DdWd1YvIpFx1RaraXMfUdLK393ENo+fAeal\/TOo7sMWy2+yROxiab4jO4+AKKDeYltFOLss30WZpamqp6OIy1MzImD7T3YWcn1PWXKc0un6Qy78Goe3DW9uDw8fJe6fSHT1HtV6rX1svJgJDR+ezC0UMENNEIoImRRt4NYMAKd2PmVtWq67q\/P6Ilp0wylqDXXGb22sdvLnb2sPZnj3+gV9EVHJvU2p0401aKCIig0CIiAIiIApV9scV5pgA7oqmLfFKOIPUexVUUptO6KzhGcXGWhnbHfZun+ibwOhro9zXO3CXq8fitEpt4sVHeoWsqAWyM+pKz6w7O0diiNrr\/psbNfD9IUbeEzDlzR2nj5+avZSzWpzKc6OVTNdff3NaimW7UNsugaIKkNkP7qT3XeXPwyqao01qdMZxmrxdwiIoLBERAEREARQtQ3uahfTUlvdG+snkA2HDaw3uHb81dUtNK5SNSMpOK5BERQXCIvL3sjYXyODGtGS5xwAgPSKPWaqs1GSHVYlePsxDb9Ru9VP\/Suursi02WaUZ3SSbm+ON3qrqEmc8tppRdr3fln6GoXLWXKit7NurqY4gTgAnefDioPsOqrnkVdbFb4nDeyEZcPL\/wCl00mjrZA\/panpK2YnJdM7cT3D55U4YrVkeLVnwRt3y\/GpzyaxNVL0Fnt01XIcgOcNlo7e7vwvAs2obvsm63D2WE52oIDvx1HG7zJWmhhip4xHBEyJg4NY0ADwC\/RMaXCiPAlP5sr+SyRLtmnbbacOp4dqX\/uye87+XgqiIqNt6nRGEYK0VZBERQWCIiAIiIAiIgCIiAIiIAiIgI9dpa0V5Ln0wieSSXwnZPlw9FPOnb5RH\/lt8eW8mVGcD4j0WoRXU5I55bPTk72s\/LIzBqdY0wGaOlqhuycgEeTh8E+ndRRjMmny7G47Djx9Vp0TGuhHgSWk3+H\/AIZg3jVE2+nsbIwdw6U7\/UhBLrObd7PSU+eeQcepWnRMa6IeBJ6zf49jMfRuranInu8MDTu\/Vt3+jR8U\/ROunI9s1BVStzva3IHqT2clop6mCljMlRMyJg+09wAUKr1pbopOhpI5a2UkACMYB8f5KylN8KMp06EPmSf1bO216bttpf0lPG58o4SSOyRuI3chxKpveyNhfI4Ma0ZLnHACy4m1ZdyOjijtkJB3vHvHzyfQL23Rbah\/SXO6VVW\/HXjHnlGs95loVGlajTy+37KNXqezUe0H1rJHAfVi9\/PZkbvVTjrCaqJFrs9TUj75GAPIH4qrSaetFFgw0EW0PtPG2fM5VEAAYAwAovBci+CvLWSXZe\/sZjZ1jXne6mt7OoYJ\/wDZfW6MFQ7bul0qqt3IB2APPK06KPEfLIfCwfG3LuydR2C1UOOgoYg4facNp3mVRRFVtvU3jGMVaKsERFBYIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIvL3sjYXyODGtGS5xwAgPSLP1us7XTEspzJVyb8CJu7Pefllczbhqq6HFJQR0EbuEk3EefH\/Kr4HzyOZ7TTvaOb8szUFwaMuIA6ypdXqaz0Y9+ujefuxe+fRTBpCeseJLvdp6g\/cYcAd2c7vAKpS6bs9HvjoY3HrkG2fVTaC1dyMVeWkUu\/wCvclnWE1W5zLTaKipONz3DAHeBnd4hfDT6tuf7Woht0ZP1WfW49mT6hagAAYAwAvqY0tEPAlLjm32yM3BoqiLxLX1NRWycy92yD8\/VXKSgo6BmxSU0cIxg7DcE954ldCKrlJ6s1hRp0+FBERVNQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAi4q28W63v2KurjifjOyTk47gpU+t7TG7ZhE9QeXRx4+OFZQk9EZTr0oZSkjRIsu7U92qB\/wWn5yOTpM4+HzX3p9Y1f1aalpB1uIJ+J+Cnw3zM\/iYPhTfZM06nVl\/tVDnp66IOH2Wnad5BSDpe6V5Ju16ke08Y4dzTu8Bx7FQotLWehO02kEz\/vTe\/6Hd6KbRWrGOvLhjbv7L3JrtS3O67Udjtjy3OPaJcYHhwB8T3L2zSlTcJWVF9uL6lw\/cx7mjx\/ABaYNDRhoAHUF9THbhViPh8WdV4vT7HLRWyit0exSUzIh1gZJ7yd5XUiLNu50qKirJBERCQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDiq7Rb66pbUVVKyaRrdkF+\/dv3Y4cyuiClp6ZuzTwRxDqjYG\/BEU3ZVQindLM\/VERQWCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "STIVEN VALDERRAMA",
    "correoContacto": "stiven@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "PERSONAL",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28555\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28555\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28555\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:01",
    "ubicacionGPS": "LatLng(lat: -23.6618464, lng: -70.4000906)",
    "horaLlegada": "12:06",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 16:01:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-hNk6uf3C5QNk04T1W9wDIdeBc_l2H3MSLquFn+wt+aqjqywzOtx
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2924",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "403",
    "contadorColor": "469",
    "contadorScanner": "0",
    "detalle": "01\/ rgom 2393",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12437",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACzARIDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAUGBAIBAwf\/xABFEAABAwMBBAcEBgYIBwAAAAABAAIDBAURBhIhMUETUWFxgZGhFCKxwRUyQlLR8BYjM0Oy4Qc0NnKCkqLxJCU1U3TC0v\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADARAAIBAgMGBAYDAQEAAAAAAAABAgMREiExBCIyQVFxE2Gx0RQzgZGh4SNCwTTw\/9oADAMBAAIRAxEAPwD+zIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIp96u0Vntz6l+HP4Rx53vd+eKlK7sispKMXJ6I49QX11v6OjoWiavmIDYwM7I6+\/qVmLpOhZ0xaZMDaLRgZ7Bk\/FQdN2qYPferg7brKsZAP7tp\/ljuG5aFWlZZIyo45XnLnovL3CIiobhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAXxzg1pc4gADJJ5I5wa0ucQABkk8lknOqdX3GaFkzobTTu2HFh3ynrH53DvVoxuY1auCySu3oi+L7ajMIRcKcvOMAPGDnhv4c13qLLpOzSUjoG0gjJGBI0naHbkqfZ7hUWOubYrpvYTilqORHIfngdythTW6Z+LOEkqqVnzX+mqREWZ1BERAeJZWQxPlkcGsY0uc48gOJWVt8cmqbybjUgigo34pmFuA854+gJ8AunWFXM6Gns9K3M9c8A9jQR8T6Aq5Q0cVvoYqSEYZE3A7TzPid60W7G\/NnJL+Wrg\/rHXzf8A7M6ERFmdYREQBERAEREAREQBc1dcKS2wdNVztibyzxd2Ac14ulzgtNC+rqD7o3NaOLncgFCtlnmvlQLve2hzXDMFOeDW8s9nYrxjld6GFSq1LBBXl6dz0NS3S5lwstpc+Pg2ec4b29Q9U6LWRAf09IDjJYQPLh81pmtDWhrQAAMADkvqnGuSK+BJ5ym7+WRmPbNYU2+S30tS0cS0gH+L5L5+mMtIdm6WeppyOLmjIPdnHxWoXxzQ5pa4AgjBB5piT1Q8GouGb+tmT6C\/Wy5YFPVs2z+7edl3kePgqKj12lrRXkufTCJ5JJfCdk+XD0U0WO\/Wffabj7TEB+wn+Azu+CWi9GR4laHHG\/b2NUiiWi+1VZUmjr7bLSztbnawdg\/nParao01qbwqRmrxCIiguEREARFz11U2hoZ6p4yIWF+M4zgcEIbSV2RtYXB8FAy302XVNc7ow0cdnn55A8Sqtpt7LXbIaNmCWN95w+048T5rN2WrdqTVBuL4tiGjiAYwna2XH06z4BbBaT3UonLQaqTdXlou37YU2+2iO8W90Jw2ZnvQv5td+BVJFROzujpnFTi4y0ZD0vdH1tG+kqjirpD0cgdxIG7PxHh2q4snqBjrJfqW+wtPRSHo6gDn\/ALj1C1YIIyDkFWmlquZhQk86ctY+nJn1ERUOky9qzdNYV9c\/e2i\/UxdXMfJ3mtQsxpo+zagvNFJgSGQSNA5tyd\/+pvmtOtKmpzbL8u\/O7v8AcIiLM6QiIgCIiAIiIAiL8aycUtFPUHH6qNz9\/DcEIbsrszM0Z1Jq19PIC6gtww9udzn\/AO\/o0rWLPaLpjHZPaX5MlVI57iTxwcfI+a0KvN526HPs0dzG9ZZ+34CIiodIREQBERAEREAREQBERAFD1jP0Om5wDgylrB5gn0BVxZPX8mLbSxfem2vIH8VemryRz7VLDQk\/I\/XQdOI7NLNj3pZjv7ABj5rTqJo9mzpmlO\/Li87\/AO+VbSo7yY2aOGjFeQREVDoOG80H0naaik+09uWf3hvHqFw6SuIrrLHG4npqb9U8Hju4Hy+BVxZWJn0NrlzA3Yp7kw7O\/dt8fPIP+ZaRzi0ctXcqRqdcn\/n5NUiL4SAMk4AWZ1Gb1LSz0VbBf6MFz4MNmjH225\/njyVygr6e5UjKmmkDmuAJAO9p6j2rjr9R2mg2mTVTHvGQY4\/fPcccPFZKljr5bmavTVDU00Lxv6QjYdv38d2OzJWyi5RzPPlVjSqbmd9Utb9T+gkgDJOAF+UVVTTyPjhqIpHx\/Xax4Jb3gcF\/P\/apq24Gl1Jcaykbw6MR7LSO3q78HvW0s1ttlvgJtoY5r8bUoftl3j48lWUMKzNaO0OrLdVl5vP7FJERZnWEREAREQBR9VyGPTNY4c2tb5uA+asKLq\/+y9Z\/g\/jarQ4kY1\/lS7P0OqwxiOw0DRzp2O8xn5qguKy\/9DoP\/Gj\/AIQu1RLVl6fAuwREUFwiIgCIiAIi\/OaaOnhfNM8MjYMuc47gEGh9lljhjdJLI2NjRlznHAHivscjJY2yRva9jhlrmnII7Csi51VrOt2W7cFogdvPAyn8fgtZBBFTQMghYGRxjZa0cgrSjh7mFKq6jbS3evX9H6IiKpuFjP6QS4mgY3O\/pNw5\/V\/Pitmsd\/SE3MNC\/HBzxnvx+C0pcaOPbv8Anl9PUu6absadohjH6vPmcqopWmZNrTdE5xxiPG89RI+S6Z7vbabImrqdhHIyDPkqyTcmbUpRVKLb5I7EUKfWVkhB2al0pHKON3zAC5XazNQdm2WqqqXdZGB6Z7VKpy6FXtVFf2+2foadZjWwibRU9W2WNtVTTBzA4jaI5gDnvwV5dT6tum6WaG2xHiIz72O8ZPqF00mjbbC4yVZkrZXHJdK4gZ7h88q0Uou7ZlUlOvFwjGyfN5fs5Bq6suDeitFqkml2RtPd9Vjuf5JC+nT96u7i68XMxROH9Xpzu7jy+K9aalNru1bYJTua8ywEni08vLB81qEk8L3UVpU3WjerJvy0RLodOWm34MNGxzxj9ZJ77s9e\/h4YVREWbbep2xhGCtFWOetoKS4Q9DVwMmZy2hvHceI8FBk0YyCXprTcJ6J+c4ztDu5HzytMilSa0KTo06mclmZZ1Tqq0YdPFHcYGD3nMwHYAz3+OCqlr1FQXU9GxzopwcOhlGHA\/A81VWc1bbKc291zjHQ1NMQ4SR7i7J4HzzlWTUnZowlGpRTlGV0uT\/xmjRT6K6snoaeZ7XbUkTXOwBxIz1oqWZ0qpFq9ygiIoLhS9SxGbTtawDOI9ryOfkqi8TRMnhfDIMskaWuHYdylOzuUnHFFx6k\/Tcwn07QvHKIN4\/d3fJU1mdFSuipqy2S56WknOQeo\/wAwfNaZTNWkzPZ5YqUWERFU3CIvMkjImF8j2saOJccAID0ih3DV1qom4il9rlO4MhOQfHguAxah1HHszYtdG7i0A7bx28\/h4q6g9Xkc8tojfDDefl7lC66oo7e7oIAayrJw2KI5we0\/Lip0djut\/e2pvdQ6CDOW0ke7A7er1PcrNq0\/b7O3NPFtSkb5X73H8PBU1OJR4SvgzqZ1Xl0Wn16n5wQRU0LIYI2xxsGGtaMAL9ERZnUlYIiIAsrr9mbVTPxwnxnvafwWqWa14M2GM7t1Q0\/6XK9PjRzbWr0JHVpVom0pTMfwc17Tv5bbgvkWjrHFxpDIet8jvkV60h\/Zej\/x\/wAblaUyk1J2FKnCdKDkr5L0OOG026nOYaGnYc5yIxnzXWAAMAYAX1FS9zoUVHRBERQSZjVkRoamivsLMvp5AyQDm08PmPFaOCaOpgjnidtRyNDmnrBXispIq6jlpZhlkrS09naoGk6mSllqrFUuzLSPJjP3mZ5eefFacUexy\/LreUvX9mmREWZ1BERAFnNY1TnUUVrgy6orXgBoH2Qfxx6qjeL5SWWDbqHbUjgejibxd+A7VN09bKuetkvl0biol\/Yxkfs2\/LduwtIq28zlrSx\/wx1evki5TUcVPSxQbDHdGwM2tgDOBjKLoRZ3OlRSyCIiEhERAZS5FundTx3QMPstaOjmxwa7dv8AQHzWqBBGQcgrludugutDJSTj3Xjc4cWnkQoenrjPQVZ0\/cziWLdTyHOJG8gPl5clo96N+aORPwamF8MtO\/T6mnUS6RajmrSLZUU8FPsjDpACc8+RVtFROx0ThjVrtdjMfo7fKn+uagkaObYQQPiPgvUWhreHh9TU1NQ7G\/acAD18s+q0qK3iSMfhaXNX7ts4KKyWy3kOpqONjxweRtO8zvXeiKrbepvGMYq0VYIiKCwREQBERAFJ1PSSVun6mKGMySYa5rWtyTgg7vDKrIpTs7lJxU4uL5kjS0MlPpylimY6N7dvaa5pBHvu5FV0RG7u4hHBBR6BERQXCIiALL30C26ntlzYABM7oZe3lk+B9AtQoN4tVfdrpTxv6IW6IiQnftFw4g788OpXg7PM59pi3DdWd1YvIpFx1RaraXMfUdLK393ENo+fAeal\/TOo7sMWy2+yROxiab4jO4+AKKDeYltFOLss30WZpamqp6OIy1MzImD7T3YWcn1PWXKc0un6Qy78Goe3DW9uDw8fJe6fSHT1HtV6rX1svJgJDR+ezC0UMENNEIoImRRt4NYMAKd2PmVtWq67q\/P6Ilp0wylqDXXGb22sdvLnb2sPZnj3+gV9EVHJvU2p0401aKCIig0CIiAIiIApV9scV5pgA7oqmLfFKOIPUexVUUptO6KzhGcXGWhnbHfZun+ibwOhro9zXO3CXq8fitEpt4sVHeoWsqAWyM+pKz6w7O0diiNrr\/psbNfD9IUbeEzDlzR2nj5+avZSzWpzKc6OVTNdff3NaimW7UNsugaIKkNkP7qT3XeXPwyqao01qdMZxmrxdwiIoLBERAEREARQtQ3uahfTUlvdG+snkA2HDaw3uHb81dUtNK5SNSMpOK5BERQXCIvL3sjYXyODGtGS5xwAgPSKPWaqs1GSHVYlePsxDb9Ru9VP\/Suursi02WaUZ3SSbm+ON3qrqEmc8tppRdr3fln6GoXLWXKit7NurqY4gTgAnefDioPsOqrnkVdbFb4nDeyEZcPL\/wCl00mjrZA\/panpK2YnJdM7cT3D55U4YrVkeLVnwRt3y\/GpzyaxNVL0Fnt01XIcgOcNlo7e7vwvAs2obvsm63D2WE52oIDvx1HG7zJWmhhip4xHBEyJg4NY0ADwC\/RMaXCiPAlP5sr+SyRLtmnbbacOp4dqX\/uye87+XgqiIqNt6nRGEYK0VZBERQWCIiAIiIAiIgCIiAIiIAiIgI9dpa0V5Ln0wieSSXwnZPlw9FPOnb5RH\/lt8eW8mVGcD4j0WoRXU5I55bPTk72s\/LIzBqdY0wGaOlqhuycgEeTh8E+ndRRjMmny7G47Djx9Vp0TGuhHgSWk3+H\/AIZg3jVE2+nsbIwdw6U7\/UhBLrObd7PSU+eeQcepWnRMa6IeBJ6zf49jMfRuranInu8MDTu\/Vt3+jR8U\/ROunI9s1BVStzva3IHqT2clop6mCljMlRMyJg+09wAUKr1pbopOhpI5a2UkACMYB8f5KylN8KMp06EPmSf1bO216bttpf0lPG58o4SSOyRuI3chxKpveyNhfI4Ma0ZLnHACy4m1ZdyOjijtkJB3vHvHzyfQL23Rbah\/SXO6VVW\/HXjHnlGs95loVGlajTy+37KNXqezUe0H1rJHAfVi9\/PZkbvVTjrCaqJFrs9TUj75GAPIH4qrSaetFFgw0EW0PtPG2fM5VEAAYAwAovBci+CvLWSXZe\/sZjZ1jXne6mt7OoYJ\/wDZfW6MFQ7bul0qqt3IB2APPK06KPEfLIfCwfG3LuydR2C1UOOgoYg4facNp3mVRRFVtvU3jGMVaKsERFBYIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIvL3sjYXyODGtGS5xwAgPSLP1us7XTEspzJVyb8CJu7Pefllczbhqq6HFJQR0EbuEk3EefH\/Kr4HzyOZ7TTvaOb8szUFwaMuIA6ypdXqaz0Y9+ujefuxe+fRTBpCeseJLvdp6g\/cYcAd2c7vAKpS6bs9HvjoY3HrkG2fVTaC1dyMVeWkUu\/wCvclnWE1W5zLTaKipONz3DAHeBnd4hfDT6tuf7Woht0ZP1WfW49mT6hagAAYAwAvqY0tEPAlLjm32yM3BoqiLxLX1NRWycy92yD8\/VXKSgo6BmxSU0cIxg7DcE954ldCKrlJ6s1hRp0+FBERVNQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAi4q28W63v2KurjifjOyTk47gpU+t7TG7ZhE9QeXRx4+OFZQk9EZTr0oZSkjRIsu7U92qB\/wWn5yOTpM4+HzX3p9Y1f1aalpB1uIJ+J+Cnw3zM\/iYPhTfZM06nVl\/tVDnp66IOH2Wnad5BSDpe6V5Ju16ke08Y4dzTu8Bx7FQotLWehO02kEz\/vTe\/6Hd6KbRWrGOvLhjbv7L3JrtS3O67Udjtjy3OPaJcYHhwB8T3L2zSlTcJWVF9uL6lw\/cx7mjx\/ABaYNDRhoAHUF9THbhViPh8WdV4vT7HLRWyit0exSUzIh1gZJ7yd5XUiLNu50qKirJBERCQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDiq7Rb66pbUVVKyaRrdkF+\/dv3Y4cyuiClp6ZuzTwRxDqjYG\/BEU3ZVQindLM\/VERQWCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "STIVEN VALDERRAMA",
    "correoContacto": "stiven@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "PERSONAL",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28555\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28555\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28555\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:01",
    "ubicacionGPS": "LatLng(lat: -23.6618464, lng: -70.4000906)",
    "horaLlegada": "12:06",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


04/05/2026 16:01:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[04/05/2026 16:01: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('76121841', 'EP2924', 2, 27729424, 403, NOW(), 
				'08:00', '12:06', '16:01', 3, '01/ rgom 2393', -1, 
				'', '','1','469',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777924864.png', '', null, 'COMPLETADO','LatLng(lat: -23.6618464, lng: -70.4000906)' )
				
[04/05/2026 16:01:04] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200163
[04/05/2026 16:01:04] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200163', 'EPS-I303', 1)
				
[04/05/2026 16:01:04] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28555 and
				    IDproducto = 'EPS-I303'
				

04/05/2026 16:01:04 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I303';
                [04/05/2026 16:01:04] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200163', 'EPS-I304', 1)
				
[04/05/2026 16:01:04] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28555 and
				    IDproducto = 'EPS-I304'
				

04/05/2026 16:01:04 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                [04/05/2026 16:01:04] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200163', 'EPS-I305', 1)
				
[04/05/2026 16:01:04] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28555 and
				    IDproducto = 'EPS-I305'
				

04/05/2026 16:01:04 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I305';
                
04/05/2026 16:01:04 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200163'                    
				WHERE idllamado = 12437			
				TO ENVIO: micorreo@miempresa.cl, stiven@dsprint.cl


04/05/2026 16:01:04 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12437			
				
04/05/2026 16:01:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


04/05/2026 16:01:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 16:01:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 16:01:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 16:01:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12437
            GROUP BY l.idllamado;
            
04/05/2026 16:01:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 16:01:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 16:01:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 16:01:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 16:01:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 16:01:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 16:01:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12437
            GROUP BY l.idllamado;
            
04/05/2026 16:01:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                [04/05/2026 16:01:06] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:01:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12437
            GROUP BY l.idllamado;
            [04/05/2026 16:01:06] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:01:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 16:01:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 16:01:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 16:01:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12437
                
04/05/2026 16:01:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            
04/05/2026 16:01:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            [04/05/2026 16:01:16] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:01:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            
04/05/2026 16:01:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                [04/05/2026 16:01:16] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:01:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
04/05/2026 16:01:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
04/05/2026 16:01:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
04/05/2026 16:01:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                [04/05/2026 16:01:28] 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;
                
[04/05/2026 16:01:28] 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;
                

04/05/2026 16:01:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            
04/05/2026 16:01:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            
04/05/2026 16:01:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
04/05/2026 16:01:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
04/05/2026 16:01:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                [04/05/2026 16:16:57] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 16:16:57] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:16: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;
                
[04/05/2026 16:16:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16:17:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16:17:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16:17:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                [04/05/2026 16:17:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16:17:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                [04/05/2026 16:17:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:17:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 16:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:17:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:17:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                [04/05/2026 16:17:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:17:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:17: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;
                

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

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

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

04/05/2026 16:17:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                [04/05/2026 16:17: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;
                

04/05/2026 16:17:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:17: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;
                

04/05/2026 16:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                [04/05/2026 16:17: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;
                

04/05/2026 16:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16:17:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:17:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:17:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                [04/05/2026 16:17:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:17:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                [04/05/2026 16:17:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:17:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                [04/05/2026 16:17:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:17:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                [04/05/2026 16:17:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:17:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                [04/05/2026 16:17: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;
                

04/05/2026 16:17:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                [04/05/2026 16:17: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;
                
[04/05/2026 16:17: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;
                
[04/05/2026 16:17: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;
                

04/05/2026 16:17:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                [04/05/2026 16:17: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;
                

04/05/2026 16:17:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:17: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;
                

04/05/2026 16:17:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                [04/05/2026 16:17: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;
                

04/05/2026 16:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            [04/05/2026 16:17: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;
                

04/05/2026 16:17:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:17:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            [04/05/2026 16:17: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;
                

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

04/05/2026 16:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:17:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:17:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            [04/05/2026 16:17: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;
                

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

04/05/2026 16:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                [04/05/2026 16:17: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;
                

04/05/2026 16:17:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:17:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:17:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                [04/05/2026 16:17: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;
                

04/05/2026 16:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:17:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:17:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                [04/05/2026 16:17: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;
                
[04/05/2026 16:17: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;
                
[04/05/2026 16:17: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;
                

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

04/05/2026 16:17:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:17:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:17:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:17:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:17:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                [04/05/2026 16:17: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;
                

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

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

04/05/2026 16:17:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:17:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:17:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:17:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:17: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;
                
[04/05/2026 16:17: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;
                

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

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

04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                [04/05/2026 16:17: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;
                

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

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

04/05/2026 16:17:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16:17:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:17:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:17:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:17:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:17:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:17:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:17:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16: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 = 12441
                
04/05/2026 16:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:17:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:17:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16:17:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                [04/05/2026 16:17:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                [04/05/2026 16:17:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:17:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:17:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:17: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;
                

04/05/2026 16:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:17: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;
                

04/05/2026 16:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                [04/05/2026 16:17: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;
                

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

04/05/2026 16:17:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:17:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:17:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                [04/05/2026 16:17:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                [04/05/2026 16:17:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                [04/05/2026 16:17:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:17:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:17:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:17:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                [04/05/2026 16:17:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:17:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                [04/05/2026 16:17:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            [04/05/2026 16:17:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

04/05/2026 16: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 = 12217
                [04/05/2026 16:17: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;
                

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

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

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

04/05/2026 16: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 = 12217
                
04/05/2026 16: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 = 12217
                
04/05/2026 16: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 = 12217
                [04/05/2026 16:18: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;
                
[04/05/2026 16:18: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;
                

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

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

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

04/05/2026 16: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 = 12217
                
04/05/2026 16: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 = 12217
                
04/05/2026 16: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 = 12217
                
04/05/2026 16: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 = 12217
                
04/05/2026 16:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            [04/05/2026 16:19: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;
                
[04/05/2026 16:19: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;
                

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

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

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

04/05/2026 16: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 = 12217
                
04/05/2026 16: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 = 12217
                [04/05/2026 16:19: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;
                

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

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

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

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

04/05/2026 16: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 = 12217
                [04/05/2026 16:19: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;
                

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

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

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

04/05/2026 16: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 = 12217
                
04/05/2026 16: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 = 12217
                
04/05/2026 16: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 = 12441
                
04/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:20: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;
                

04/05/2026 16:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                [04/05/2026 16:20: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;
                
[04/05/2026 16:20: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;
                

04/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                [04/05/2026 16:20: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;
                
[04/05/2026 16:20: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;
                

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

04/05/2026 16:20:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:20:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:20:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:20:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:20:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                [04/05/2026 16:20: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;
                
[04/05/2026 16:20: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;
                

04/05/2026 16: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 = 12441
                [04/05/2026 16:20: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;
                

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

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

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

04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                [04/05/2026 16:20: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;
                

04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16:20:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16:20:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16:20:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16:20:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:20:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16:20:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16:21:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16:21:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16:21:13 - logentry: =========================================
FECHA: 04/05/2026 16:21:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-w-_yG+rOQHtQ4HSMhW1zGwzL_iUt5FSlYN8A3yy2I1gO3BeaEhr
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78863090",
    "serieinterna": "TO2784",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se entrega toner y corchete\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12441",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADLAQ8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABIEAABAwMBBAcFBAYIBQUBAAABAAIDBAURBhIhMUETUWFxgZGhFBUiMrEjQsHRJDNSktLhBxZDVcLi8PElRFNUgjRicnOisv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgMFBgYDAAMAAAAAAAABAgMREiExBBNBUXEiMmGBkdEjUqGxweEUQvBTYvH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFFuVwhtdBLVzn4WDcBxceQCkucGtLnEAAZJPJfnuprnJenTSxECho3hkbv+o8\/wAgT3DtU4QxMzbTX3MLrXgaPS16rb0KqWpETY2PwwNbvGeWc8AtAqvTlu92WWCFzdmVw6SQHjtH8tw8FaLk7YnYnQUlTWN5hERRLgiIgCIiAIiIAiIgCIiAIiIAiLnPUQ0sLpp5GxxtGS5xwAgbtmzootdcqK2x9JWVDIQeAO8nuA3lUM2oLheXvp7BTPDBudVSAAA+PDd49i6UGj4Gy+1XWd9fUHedsnZ\/M+PkrMCXeMrrynlSV\/F6fsnUGprXcav2annO2Rlu2NkO7BniexWyylfDTjW9spqeFjOjjL3CMAAfMd\/l6rVrk0laxKhOcsSlwdgiIoGgIiIAiIgCIiAIiqGamoJKetmaXt9j+cPGM78DGM8TuXUm9CEpxj3mQtT3CaaWKxUBPtNX+sI4NYc5HpnuHaq+a3Rvv1tsVM0up6AdLOdrBcTvJPp+9yUvTsezBV6luJPSTBzm5AJbGOrd2Y7gF70bTvmiqrxOSZayQ46g0H8\/orr4Vlw+551nWmm\/7Z9Ir3ZpkRFQeoEREAREQBERAEREAREQBERAERR62tp7fSvqamQMjYN56+wdqHG0ldnyvr6e20j6qqfsRt83HqHWVmaairNXTituJfBbmnMNO042+3+flhfaKiqdVVwuVyaY6CM\/o9OfvDrP4nn3LWtaGtDWgAAYAHJW9zTUyJPaHeXc5c\/F+B4gp4aWFsMEbY42jAa0YAXRFEulX7Ba6mq5xRkt7+XrhV6s1NqMb8EUVjPvLVVzuXGOHEMed3Z\/h9VqFQaMpDTWFkrwNuoeZCc5JHAfT1V+pVO8U7Mnuk3q8\/UIiKBoCIiAIiIAiIgC\/MLdb5brqCSiaSInSufMR+yDz9B3lfo1xrGW+3z1chAETCRnmeQ8TgLIaDzNc66ocAHFgzjtOfwV1NtRbPO2uMalWnTZZasldFb6WzUTQH1ThG1jeTBj04eRV9Q0jKChhpIyS2JgaCefas3ZWOvupam8yjMFMeipxxGf9jnvctYozySiX0O3KVXnkuiCIirNQREQBERAEREARFnbtqCoNf7ps0QmrM4e8jLY\/wDbPgpRi5PIrqVI01eRokWXbpW4VLC+4XyodI45IjJ2R3Z\/ILnNHeNLuFSKqS4W8H7SNw+Jg7Ood27sUsCeSZS6845yg0vL7GsRcKOrhr6WOpp37UcgyCu6rNKaauj4SAMk4AWRlc7V96NM1x91UhDi5ox0rurPifDvUvU9fPNLFYqDJqar9YRwbGc5z\/rh3q5tluhtVBHSQfKzeXHi48yVYuyr8TLP408H9Vr4+HuSmtDWhrQAAMADkvqIqzWFmtZTPlpqW1QkGWtmAxnkD+ZHktKsxTtdddbzVBBNPbmdG0neNvgfHJPkPCcNb8jNtOcFBf2dvf6GjghZTU8cEYwyJgY3uAwF0RFA0pWCIiAIiIAiIgCIvEsrIYnyyODWMaXOceQHEoDNamdJc7tQ2OEgse7pZ8cmjr8M+ioKaqFpbfKeLLZZH+zxNbx+Zw+mfRX2lojcblXX6VhHTPLIQ7fhv+wAVLZaOO76xqJX46KOV9QWk\/N8W4eZC1Rsk0+B4tRSnKNRaybt0tb9mysFvFss1PTHO3s7T8\/tHefLh4KxRFmbu7nsQioxUVwCIi4SCIiAIiIAiLzJIyKN0kjg1jAXOcTuAHEoCk1JeJqRsVvoDmuqiAwAZLWndlSbHZIbPTYz0lTJvmlO8uPUOxVWm4nXa6VWoKhvzOLKcH7g4dfVu4da1Ksl2VhRkoreS3svLp+wvjmhzS1wBBGCDzX1FWazKWsu09qSW1POKStPSU5zuaer0x4DrWgudwhtdBJWT5LWDc0cXE8AFWaut76u1CpgGKijd0rHDjjnj0PgqiOom1lX00BD2UVMxr6jAAzJg\/juHZkq6yl2n5nn43RbpR1fd8\/YsdJ26QtlvNa3NTWHbaSPlad+R1Zz5ALSL41oa0NaAABgAcl9VcpYnc2UqapwUUERFEsIF7uHuy0VFUCA9rcMz+0dwULSdtfQWdsk2TPVHpX5O8Z4Dy3+Kg6g\/wCM6horI12Yoz0tQAcY7O\/H\/wDS1LWhrQ1oAAGAByVjyjbmZYfErOXCOS68fY+oiKs1BERAEREAREQBZzWFTM+mp7VSkGaukDSM79kfQZx4ArRrKWhrb5qmquznB8FJ9lB2nfv+p8Qpw1xcjNtDbSprWWXlxJt2nj01pgQUzgJGs6KI5wS48Xd\/E96y+kQ+kv8ARuduZVRPwccskfVq66tr3XSrlEO0aWgAaXAghz3Hv7PQqTU0\/uk6anI2dn4ZDwxkgkZ\/8nK+KtGz1Z51SWKtiXdhb72\/3Q3CIiyntBERAEREAREQBZ7WVXJHbI6GAF01bII2tHEjn64HitCsq0i8a6cSAYLazA38X\/7k\/uqcNb8jNtLeDAtZZe\/0NDb6RlBb4KRg3RMDePE8z5qSiKGpoSSVkERfHODWlziAAMknkh0o9W3M0NodBFvnq8xMA44+8fI47yFX6K6SiqK+01DA2aJwfuHHkd\/Vwx3pbmu1JqV11c0+xUR2IAebh\/M58l1uWLXrWircYjrWdDIccXcB\/h8lfaywcTzHJyqKvwTt5aX9TUIiKg9MKPX1sduoZqub5Im7WOs8h4nAUhZW+vffL3BYoHjoYz0tS4b8Y5bj24x1kKUVdlNao4Qy1eS6nXSFFK5lReavfUVjzg9Tc78d59AFpV5YxscbWMGGtAAHUF6SUsTudpU1TgohERRLQiIgCIiAIiICj1Zcn0FndHDkz1R6JmBvGeJ8t3iotS86X0nHTx7quUbDQ0knpHcSO78uteH5vOt2sD809sbtYx9\/\/fH7q8xkak1X0uC6htww3Ldzn8+I6\/QBXpWST6nmzm5Sco6vsr8srKm1Clp7RZHb5qqfpqg8Mch1HcM+R61d63p9uwCVvwmnla4Y6vl\/ELhbz701zV1Y3xULOiYd\/Hh\/GrnUFP7TYK2LAJ6IuGetu\/8ABHLtK4hSTpVMPReX7JdJN7TRwT\/9WNr\/ADGV2VTpeo9p05RuPFrOjP8A4nH0AVsqZKzsb6csUFLmgiIuEwiIgCIiA5VU7aWkmqH\/ACxMc89wGVQaIpy20y1kgzJVSlxdjiBu+u0pOr6j2fTlQPvSlsY8Tv8AQFTbLTilstHDjBbC3PeRk+pKs0h1Mr7W0Jcl9yciIqzUFntYV8kNuZQU3xVFa4RhoO\/ZPHd28PErQOcGtLnEAAZJPJZOyNN\/1JU3qQE09OejpwfT0Oe9ynBf2fAzbRJtKnHWX24mgtNvZa7ZDRswSxvxOH3nHifNVetaYyWQVLBiSlla8OHEA7vxB8FoVHrqYVlBPTH+1jc3zC5GVpXJ1KSdJ01yPtFUisoYKkDAlja\/HVkLus7omq6axmncfjppHMIzvAO8fU+S0SSVm0doz3lNS5kevrY7dQzVc3yRN2sdZ5DxOAqbSVJN7NPdKrfPXv2844N5Y38N6jXp779f4bLFn2aAh9U9pOOvHlgd57FqGMbHG1jBhrQAB1BSfZjbmVR+LVxcI5efH2PSIirNQREQBERAEREAUe4VbaG3z1TuETC7hnJ5KQstritDaWmtwfse0yAvdncGg8\/Eg+ClBYpJFNepu6bkVNJVS27TzizafcbzIQzcM7OcZ8cnHetHDFHpXS7ycGSNhe4\/tyHh64HcFW6Wofb66S8TR4hYBFSNdg7LW7ge8AAeJXbVTzcbjQWKN7mmZ\/SSkcm7\/wAA4+AV0s5YfUwU04Ut5xtaPv5vPoSdG0L6WyieUHpapxlJcckjl+fir1zWvYWOGWuGCOsIxjY42sYMNaAAOoL0qZO7uejTpqnBQ5GY0S4w01dQP+emqDnszu+rStOsvbf0LXVwps\/DUxiRueZ3H8XLUKVTvXKtlyp4eTaCIirNIREQBERAZfVpNXX2q1jP20+2854AbvoStOAAMAYAWZqPt\/6Q6YHhBTE48Hfxei06slkkjNRznOXjb0QREVZpKDVtwdBbhQwDaqa09E1gO\/B3Hnz4KytNvZa7ZDRswSxvxOH3nHifNUNteb9q6a4DD6ShbsQnkSeY9T5LVqyWSUTLR+JOVXyXT9sIizt01OW1IoLNCK2rPEt3tZ+f0UFFy0LqlSNNXkcbW427Wdyo3fDFVN6dpceJ47vN3krDUF8Za6AmBzZKqU7MLBvyeZ8M\/RZS9W2tgr6GrvtV0jZ37Mhi\/smgg4G7tPDtXCksk9V7XcrZtxQ0j9unMg3yY35HbgZ8cLRgi7SbPL39SClTjHO76pPPT9mw0zZvdVv6SYbVXUfHK4j4m5+74fVXSr7HcfetphqzjbcCHgDHxA4P5+KsFRK93c9OioqmsGgREUS0IiIAiIgCIiAL88ucFRqbVc0NLvji+z6Ti1jRxPnlaDVWom2ynNJSyfpkg5b+jHWe3q81TMrhpvS8UUWG3CuHSkgb2MPAnw4eKvpppX5nmbXUhOWBvJZv8I2kUdPbaBrG4jgp4+J5NA4lZ7TAkut0rb7OzDXu6OAHiAP5Y7zlQq326k0\/R2R0sktbXuGWvJyxpI+HO\/d49a11BRR26hhpIfkibs56zzPiclRfZT8S6L3tRZWUeHj+kSERFUbTL3vNHq+01vBsuYXHxxv\/AH\/RahZvW8LvdUNXHukpp2uBzwB\/nhaCGVs8EczPlkaHDuIyrJZxTM1Ls1Zx6P1\/8OiIirNIREQBERAZeky\/+kSuzu6OmGO3cz81qFmLPv1rdnOOHbAAHZu\/Iea06nPVdDNs3dk\/F\/cKj1Zcn0FndHDkz1R6JmBvGeJ8t3irxZNrn3\/We03\/ANJa+zcX5\/MeTUgs7vgd2iTUcMdZZf7yLuw2wWm0w02B0mNuUjm88fLh4KxRZvUV1mqJfctpzJVy7pXN4Rt57+XL\/RXEnJkpSjQp9NDld7vU3asNlspy47p6gHcwcxn8fAK5tFmpLNTCKnbl5A6SUj4nn\/XJfbRaKazUYp6cZcd8khG956\/5KHqW8Pt9MylpQXVtWdiEN4t4DPruUr37MSlR3adarr9vBFHrK4OuUhoKOMysoiZKh7RkNPDGezJz\/JaaxCnNho\/Z2BsRiHwjeMnj65Uey2GK32p8E425qlv6S7OdonO7PZlQtHVEkLauzTkdJRSHZweIJOfX6qUrONlwK6alGspz1kvTw9D5pH9GrLtb8\/DBPlgHIEkfgFp1l5XMs+tJKuoeyKmq4MF7ngAO3dv\/ALfVT6vVdmpGbXtQndyZCNon8PVcknJ3RZRqQpwcZu1my5Vfc73Q2mMuqZgH4+GJu9x8FSuuWoL7tR26l9gp3YxPMCHEdYP5eam2vSlFQu6eq\/TaonJklGQD2A\/U71zCl3iW+nUypLzen7OLNXsbNGau3VFNTSj7OdwJB39WOGN\/4LRNcHNDmkEEZBHNcqqlhrKd0E7A5jh5LOQw6jsMJpaWJlxh2iWOe7BYOrj3JZS0yGKpSfb7S8EalFmmXnUkeXT2IOaOUb959Svg1i9x2W2WsLsZAxx3Z6lzdyO\/yqa1uvJmmWevepHU8\/u61x+01zzs\/DvEZ7e30HNRnVGpb80RRU3uumf80rj8eOrfg+QHerOgtdv03QyTl3xBuZqiT5nflv5fVdUVHXNkZVJ1VaGS5v8AHuYu\/W8WqOnZUu6evnJmnc52QBwDevjnJ7F6sjDdbxLc7g4GCkb00pxgbvlaB4cOoLsasXWurb\/UMIipA0QxEZDnb9kZxy+Y\/kvNLTzVEdLYopD0lY\/2iscDnZHENPaAM95wtN3azPIwreYo6cFz4L1f5LzTlPJdbrUahqWENeSymaeTeGfADHiVqVypqeKkpYqaFuzHE0NaOwLqskpXZ7tGnu4WevHqERFEtK+\/UprbHVwAZcYyWjrI3j1Cj6UqvatO0pJy6MGM7+GycD0wrcgEYIyCsxo\/NLPdLYTkU0+W928fgFYs4NGafZrxfNNfn3NQiIqzSEREAREQGYt\/2f8ASBcmcnwBwzz3M\/mtOsvOfY\/6QYHnGzV0+zntwf4R5q9udXLQ2+WphpzUPjGejBIJ8ge9WTV2jLQajGd+Dfucr7Xi22eoqc4eGFrOPzHcOCi6Ut5oLHFttxLP9o\/PHfwHlhYu636uvUkdPWGKmjjeXbOw7AON2RvPpzXd17vlTWMoqe6Ru2wA0wgRsbu6yBjCt3Tw2Mb22m6uOzdskaa+X2UVLbRavtK2U7Lnt3iIc\/H6KbZLJDaICc9LVSb5Z3cXH8lRUmiZ2Zmbe3tdIN7oWn4vHa3rvLoyjjhdLXXSqdGxuXuLgAAO\/Kg8NrJlsXWct5OHTNWX+5l\/c7jBaqGSrnPwsG5vNx5AKj07bpq6rkv9yZmWbfTsP9m3kfLGPPmqOy6agvNfPJGaiO2sJEcjiNt58sdvDsV5\/UG1f9xWfvt\/hXbRirXzOKVWtJTwZLTPjz09DTrL3H\/hOtKOtHwxVzehkwOJ4b\/HZ8l9\/qDav+4rP32\/wqLc9DUkFummopah88bdprXuaQ7HEbgOS5HAnqTrOvKN8GmevLyNPW22iuLQ2rp2S4GATxHj4Bcaaw2qkeHw0EIcODi3aI8SsxY9LWe8WyOpFRVCTGzK0Pb8Lhx+7w5jsKsP6g2r\/uKz99v8K40lliOxlOdpqmnfx\/Rp0WY\/qRTs\/U3Ksj5D4hw6t2EGkKqPPQX+rjzw47vJwXMMeZbvK3\/H9UadFl\/cepYcdBfg\/Z4dKDv78goWazp8\/a0tVgZ3bIz6BMC4NDfyWsH9\/wAmoRZc6g1BSke12BzwPmMOT47sr1HrmgDyyqpamnd2tB\/mubuXAfyqXF26po0rnBrS5xAAGSTyWC1LdZL30raR5bb6MfG87hI8nAx19niVJvWoYb5JBbKGpENPKQaiaT4Bjjjf1Lzqb2CittvtdG8Cme\/pJHMdnIG7JPM7z5DsVtOOFq+pk2msqsJKL7K+r5dOZT3BwobXbqHYy5w9qmBO5xd8o\/dHqtnpm0y0FNJV1mTW1Z2pS45I6h671S6dtD7xdH3urZ+jh56Fjh82Nw3dTRu7wtsuVZf1O7HRu969OHuERFQemEREAWXpR7H\/AEg1TDubVQbTe07j\/hctQsxePsNbWioO4PYY8\/vD\/ErIcV4GbaclGXJr2NOiIqzSEREARFEdboHXNtxJf0zYzGBtfDjOeCHHfgUWsg6mkttzb\/y0+Hdxwf8ACfNacEEZByCoF8oPeVnqKYAlzm5Zg\/eG8KJpS5Nr7NHGT9rS4ieDxwOB8vUFWPOHQzR7Fdr5lf0IF40hNc7u6qbVRsimx0mWkuGNwx4dymDRll6BkZgeXNABk6Q5d2nkr5FzeSta5JbLRu5ON7mZdoeiY4upayrgJ6ngj6KhdaHV97NqobjPPC1v28ziXNaRyxnfwHj3LRahu85nFltY262cYe4f2bSOvkcb+weCsLHZ4rLbxTsO3I47Uj\/2nfkrFOUVdsyy2elUqYIKyWr\/AB7lPFpa70cTY6PUEjWN+VhYQB4ZK9+69WRfqr1A\/wD+xv8AlK06KG8fE0fxaa7ra82ZjotZxbuno5u3AH4BOm1mBj2ajdyzkb+3itOiY\/BHf4\/\/AHl6n542W+aXrnTOpoIxWnGw45iznsdux2ngVee9dV\/3JD+9\/mV3dbbDdqCSkm3B29rhxa7kVSaeu81LUGx3Z2xUxHZhe7hIOQzz7OvvU8WJXtmZlSdGeDG1F6aa8tB711X\/AHJD+9\/mT3rqv+5If3v8y06KGNcjTuJfO\/p7GY966r\/uSH97\/MnvLV7\/AJLNTNxx2nD+MLTr45wa0ucQABkk8kxrkhuJfO\/p7GZ6bWcn\/K0cee0bv\/0VUVVy1HUXA2jp4J5njDmxMaRH15ONxHXyVrcL9V3apdbdPfE7H2tTwDR2H8fLrU6goLfpW3PmnmG279bO4b3nqA\/BWXtqszI4bx2jN4Vq75eRmf6nXaGmc14odgZc573bx\/5YyBuWejp3TVbaaJzXufII2kcHEnAWtraut1NHPMxz6Sz07S55O4y43kdv0HaVG0NaxUVz7hIMsp9zM83n8h9QrFNqLcjFOhCdSMKadnxJXufV1BSMgpa2OSNgw1kTwCB3uA+qqqi46monfpk9bAzm4s3eB4Hj1r9JXwgEYIyCqVV5o9KWxX7s2vMwdJWVdYQ1mrGRuP3ZWlnqRhWrbLqJ7Q5moQ5p4EAkFW1Zp601wPTUUYcR87BsHzCqnaPkpHGS0XWopTnOw45B8seueC7ji\/DyK9xUjqr9JNff3HuPUn9\/+hT3HqT+\/wD0K8+0avtwHS08FwYNxLPm9MH0XtutIYpBHX26qpXEcxnHX1FO3wszvwF3sS6tnz3bqym+KC7QTjiWyN4+Y\/EKmvU9+p6ugrLpSxfo02Y3RkfaHIODgnq6utaSLWNjl41boz1Pjd+AVRqO60l8bSUlte6olbOHENYRuA7e9djixZohWVLdvBUv4XuTXazw4j3PWbjzbhfBrWNvxTWurjYPmds8Fp0VWKPI2but8\/0RQR60sz8bcksW4E7cZ3eWVZ0F1obmH+x1LZtj5gAQR4HuXWWipJtrpaWGTa+bajByvNLbqKie99LSxQuf8xY0DKPDbIlFVk+0010JKIigXhZS7U8+nbt76oo9ukl3VMLd2Cef8+vvWrXiWKOaJ0UrA9jxhzXDIIUoysyqrT3kcsmtGeKSrgrqZlTTSCSJ4yCF2WSkoLjpWpNTbtust7z9pT4y5nbu+vn1q8td9oLvGDTTASY+KJ+5w8OfguyjxWhCnWu8E8pf7Q7Q2yjp6+aujixUTjD3lxOR48OA8lLRFC9y9RS0QREQ6EREAVZerFSXqnDJhsSt+SVo3t\/Mdis0XU2ndEZwjNYZK6MnDdrrp0tprvA+opGnZZVMGTx5nPVyOD3q\/oLvQXJgdS1LHk\/czhw8OK9V9xobfCXV08cbHDGy7eXeHErD1NBFf64Gw2t1PFnLqh5LWHuHAeG\/sVqSnm8jDOcqDwxeLw4\/7qbW53eitEHS1cuyT8rG73P7h\/oLMVNZXXwdLX1MdqtfONzvjlHdxOfLsKkt0FA8NNRcJpHgbyAPxypdPomzwuDpWzVB59JJxPhhE4R45nJx2mq7ONlyv97EGC\/UtI33dpm2uqX83kENJ6zzPjhSKXTFVXVLazUFUah7TlkDT8A7\/wAgtDT0tPSR9HTQRws\/ZjaGj0XZRc\/lLo7Pe28d\/DRenuRaygiq7dJQ\/qopG7PwADZHYvlst0NqoWUkJc5reLnHe49alooXdrGnBHFitmERFwkEREAXlzWvaWvaHNPEEZBXpEBEltVumz0lBTuzxJible4LfRUxBgpIIiBgFkYBUhF27I4I3vYIiLhIIiIAiIgCIiAKjuWlKCucZoM0VTykh3DPaPywrxF1NrQhOnCorSVzKmr1RZctnpW3OBv9pHnaO\/s3+i7Ra3tpJZVQ1FM8He1zM\/RaRcpqWnqRieCOUYxh7A76qeKL1RRuake5P1z\/AGV8ep7LIAW3CIZ\/ay36hSGXm1yY2blSknl0zc\/VcpNO2eUkut0GSMfC3H0UOr0pZGwvkbQgO3cJH9fenY8Q3tC+X6lm67W1gy64UrR2zNH4qJPqiy04BdXxvzyjBf8ARV1HpezSylr6PI2c\/rX\/AJq1h07Z4HbTLdBkftN2vqloLmFLaJLKy9SqdrWKbLbdbauqf\/8AHA9MnqXkv1bdchscVthcDvJ+LHqc+AWna1rGhrGhrRwAGAF6TEloju5nLvzflkZ6k0fRslFRcJpa+f7xld8JPdxPiVfsYyNgZG0Ma0YDWjAC9IouTepbClCn3UERFEsCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/\/Z",
    "razonSocial": "SOCIEDAD  EDUCACIONAL INMA LTDA.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "COLEGIO ANTONIO RENDIC",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:21",
    "ubicacionGPS": "LatLng(lat: -23.6992395, lng: -70.4219267)",
    "horaLlegada": "13:13",
    "horaDespacho": "14:36",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 16:21:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-w-_yG+rOQHtQ4HSMhW1zGwzL_iUt5FSlYN8A3yy2I1gO3BeaEhr
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78863090",
    "serieinterna": "TO2784",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se entrega toner y corchete\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12441",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADLAQ8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABIEAABAwMBBAcFBAYIBQUBAAABAAIDBAURBhIhMUETUWFxgZGhFBUiMrEjQsHRJDNSktLhBxZDVcLi8PElRFNUgjRicnOisv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgMFBgYDAAMAAAAAAAABAgMREiExBBNBUXEiMmGBkdEjUqGxweEUQvBTYvH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFFuVwhtdBLVzn4WDcBxceQCkucGtLnEAAZJPJfnuprnJenTSxECho3hkbv+o8\/wAgT3DtU4QxMzbTX3MLrXgaPS16rb0KqWpETY2PwwNbvGeWc8AtAqvTlu92WWCFzdmVw6SQHjtH8tw8FaLk7YnYnQUlTWN5hERRLgiIgCIiAIiIAiIgCIiAIiIAiLnPUQ0sLpp5GxxtGS5xwAgbtmzootdcqK2x9JWVDIQeAO8nuA3lUM2oLheXvp7BTPDBudVSAAA+PDd49i6UGj4Gy+1XWd9fUHedsnZ\/M+PkrMCXeMrrynlSV\/F6fsnUGprXcav2annO2Rlu2NkO7BniexWyylfDTjW9spqeFjOjjL3CMAAfMd\/l6rVrk0laxKhOcsSlwdgiIoGgIiIAiIgCIiAIiqGamoJKetmaXt9j+cPGM78DGM8TuXUm9CEpxj3mQtT3CaaWKxUBPtNX+sI4NYc5HpnuHaq+a3Rvv1tsVM0up6AdLOdrBcTvJPp+9yUvTsezBV6luJPSTBzm5AJbGOrd2Y7gF70bTvmiqrxOSZayQ46g0H8\/orr4Vlw+551nWmm\/7Z9Ir3ZpkRFQeoEREAREQBERAEREAREQBERAERR62tp7fSvqamQMjYN56+wdqHG0ldnyvr6e20j6qqfsRt83HqHWVmaairNXTituJfBbmnMNO042+3+flhfaKiqdVVwuVyaY6CM\/o9OfvDrP4nn3LWtaGtDWgAAYAHJW9zTUyJPaHeXc5c\/F+B4gp4aWFsMEbY42jAa0YAXRFEulX7Ba6mq5xRkt7+XrhV6s1NqMb8EUVjPvLVVzuXGOHEMed3Z\/h9VqFQaMpDTWFkrwNuoeZCc5JHAfT1V+pVO8U7Mnuk3q8\/UIiKBoCIiAIiIAiIgC\/MLdb5brqCSiaSInSufMR+yDz9B3lfo1xrGW+3z1chAETCRnmeQ8TgLIaDzNc66ocAHFgzjtOfwV1NtRbPO2uMalWnTZZasldFb6WzUTQH1ThG1jeTBj04eRV9Q0jKChhpIyS2JgaCefas3ZWOvupam8yjMFMeipxxGf9jnvctYozySiX0O3KVXnkuiCIirNQREQBERAEREARFnbtqCoNf7ps0QmrM4e8jLY\/wDbPgpRi5PIrqVI01eRokWXbpW4VLC+4XyodI45IjJ2R3Z\/ILnNHeNLuFSKqS4W8H7SNw+Jg7Ood27sUsCeSZS6845yg0vL7GsRcKOrhr6WOpp37UcgyCu6rNKaauj4SAMk4AWRlc7V96NM1x91UhDi5ox0rurPifDvUvU9fPNLFYqDJqar9YRwbGc5z\/rh3q5tluhtVBHSQfKzeXHi48yVYuyr8TLP408H9Vr4+HuSmtDWhrQAAMADkvqIqzWFmtZTPlpqW1QkGWtmAxnkD+ZHktKsxTtdddbzVBBNPbmdG0neNvgfHJPkPCcNb8jNtOcFBf2dvf6GjghZTU8cEYwyJgY3uAwF0RFA0pWCIiAIiIAiIgCIvEsrIYnyyODWMaXOceQHEoDNamdJc7tQ2OEgse7pZ8cmjr8M+ioKaqFpbfKeLLZZH+zxNbx+Zw+mfRX2lojcblXX6VhHTPLIQ7fhv+wAVLZaOO76xqJX46KOV9QWk\/N8W4eZC1Rsk0+B4tRSnKNRaybt0tb9mysFvFss1PTHO3s7T8\/tHefLh4KxRFmbu7nsQioxUVwCIi4SCIiAIiIAiLzJIyKN0kjg1jAXOcTuAHEoCk1JeJqRsVvoDmuqiAwAZLWndlSbHZIbPTYz0lTJvmlO8uPUOxVWm4nXa6VWoKhvzOLKcH7g4dfVu4da1Ksl2VhRkoreS3svLp+wvjmhzS1wBBGCDzX1FWazKWsu09qSW1POKStPSU5zuaer0x4DrWgudwhtdBJWT5LWDc0cXE8AFWaut76u1CpgGKijd0rHDjjnj0PgqiOom1lX00BD2UVMxr6jAAzJg\/juHZkq6yl2n5nn43RbpR1fd8\/YsdJ26QtlvNa3NTWHbaSPlad+R1Zz5ALSL41oa0NaAABgAcl9VcpYnc2UqapwUUERFEsIF7uHuy0VFUCA9rcMz+0dwULSdtfQWdsk2TPVHpX5O8Z4Dy3+Kg6g\/wCM6horI12Yoz0tQAcY7O\/H\/wDS1LWhrQ1oAAGAByVjyjbmZYfErOXCOS68fY+oiKs1BERAEREAREQBZzWFTM+mp7VSkGaukDSM79kfQZx4ArRrKWhrb5qmquznB8FJ9lB2nfv+p8Qpw1xcjNtDbSprWWXlxJt2nj01pgQUzgJGs6KI5wS48Xd\/E96y+kQ+kv8ARuduZVRPwccskfVq66tr3XSrlEO0aWgAaXAghz3Hv7PQqTU0\/uk6anI2dn4ZDwxkgkZ\/8nK+KtGz1Z51SWKtiXdhb72\/3Q3CIiyntBERAEREAREQBZ7WVXJHbI6GAF01bII2tHEjn64HitCsq0i8a6cSAYLazA38X\/7k\/uqcNb8jNtLeDAtZZe\/0NDb6RlBb4KRg3RMDePE8z5qSiKGpoSSVkERfHODWlziAAMknkh0o9W3M0NodBFvnq8xMA44+8fI47yFX6K6SiqK+01DA2aJwfuHHkd\/Vwx3pbmu1JqV11c0+xUR2IAebh\/M58l1uWLXrWircYjrWdDIccXcB\/h8lfaywcTzHJyqKvwTt5aX9TUIiKg9MKPX1sduoZqub5Im7WOs8h4nAUhZW+vffL3BYoHjoYz0tS4b8Y5bj24x1kKUVdlNao4Qy1eS6nXSFFK5lReavfUVjzg9Tc78d59AFpV5YxscbWMGGtAAHUF6SUsTudpU1TgohERRLQiIgCIiAIiICj1Zcn0FndHDkz1R6JmBvGeJ8t3iotS86X0nHTx7quUbDQ0knpHcSO78uteH5vOt2sD809sbtYx9\/\/fH7q8xkak1X0uC6htww3Ldzn8+I6\/QBXpWST6nmzm5Sco6vsr8srKm1Clp7RZHb5qqfpqg8Mch1HcM+R61d63p9uwCVvwmnla4Y6vl\/ELhbz701zV1Y3xULOiYd\/Hh\/GrnUFP7TYK2LAJ6IuGetu\/8ABHLtK4hSTpVMPReX7JdJN7TRwT\/9WNr\/ADGV2VTpeo9p05RuPFrOjP8A4nH0AVsqZKzsb6csUFLmgiIuEwiIgCIiA5VU7aWkmqH\/ACxMc89wGVQaIpy20y1kgzJVSlxdjiBu+u0pOr6j2fTlQPvSlsY8Tv8AQFTbLTilstHDjBbC3PeRk+pKs0h1Mr7W0Jcl9yciIqzUFntYV8kNuZQU3xVFa4RhoO\/ZPHd28PErQOcGtLnEAAZJPJZOyNN\/1JU3qQE09OejpwfT0Oe9ynBf2fAzbRJtKnHWX24mgtNvZa7ZDRswSxvxOH3nHifNVetaYyWQVLBiSlla8OHEA7vxB8FoVHrqYVlBPTH+1jc3zC5GVpXJ1KSdJ01yPtFUisoYKkDAlja\/HVkLus7omq6axmncfjppHMIzvAO8fU+S0SSVm0doz3lNS5kevrY7dQzVc3yRN2sdZ5DxOAqbSVJN7NPdKrfPXv2844N5Y38N6jXp779f4bLFn2aAh9U9pOOvHlgd57FqGMbHG1jBhrQAB1BSfZjbmVR+LVxcI5efH2PSIirNQREQBERAEREAUe4VbaG3z1TuETC7hnJ5KQstritDaWmtwfse0yAvdncGg8\/Eg+ClBYpJFNepu6bkVNJVS27TzizafcbzIQzcM7OcZ8cnHetHDFHpXS7ycGSNhe4\/tyHh64HcFW6Wofb66S8TR4hYBFSNdg7LW7ge8AAeJXbVTzcbjQWKN7mmZ\/SSkcm7\/wAA4+AV0s5YfUwU04Ut5xtaPv5vPoSdG0L6WyieUHpapxlJcckjl+fir1zWvYWOGWuGCOsIxjY42sYMNaAAOoL0qZO7uejTpqnBQ5GY0S4w01dQP+emqDnszu+rStOsvbf0LXVwps\/DUxiRueZ3H8XLUKVTvXKtlyp4eTaCIirNIREQBERAZfVpNXX2q1jP20+2854AbvoStOAAMAYAWZqPt\/6Q6YHhBTE48Hfxei06slkkjNRznOXjb0QREVZpKDVtwdBbhQwDaqa09E1gO\/B3Hnz4KytNvZa7ZDRswSxvxOH3nHifNUNteb9q6a4DD6ShbsQnkSeY9T5LVqyWSUTLR+JOVXyXT9sIizt01OW1IoLNCK2rPEt3tZ+f0UFFy0LqlSNNXkcbW427Wdyo3fDFVN6dpceJ47vN3krDUF8Za6AmBzZKqU7MLBvyeZ8M\/RZS9W2tgr6GrvtV0jZ37Mhi\/smgg4G7tPDtXCksk9V7XcrZtxQ0j9unMg3yY35HbgZ8cLRgi7SbPL39SClTjHO76pPPT9mw0zZvdVv6SYbVXUfHK4j4m5+74fVXSr7HcfetphqzjbcCHgDHxA4P5+KsFRK93c9OioqmsGgREUS0IiIAiIgCIiAL88ucFRqbVc0NLvji+z6Ti1jRxPnlaDVWom2ynNJSyfpkg5b+jHWe3q81TMrhpvS8UUWG3CuHSkgb2MPAnw4eKvpppX5nmbXUhOWBvJZv8I2kUdPbaBrG4jgp4+J5NA4lZ7TAkut0rb7OzDXu6OAHiAP5Y7zlQq326k0\/R2R0sktbXuGWvJyxpI+HO\/d49a11BRR26hhpIfkibs56zzPiclRfZT8S6L3tRZWUeHj+kSERFUbTL3vNHq+01vBsuYXHxxv\/AH\/RahZvW8LvdUNXHukpp2uBzwB\/nhaCGVs8EczPlkaHDuIyrJZxTM1Ls1Zx6P1\/8OiIirNIREQBERAZeky\/+kSuzu6OmGO3cz81qFmLPv1rdnOOHbAAHZu\/Iea06nPVdDNs3dk\/F\/cKj1Zcn0FndHDkz1R6JmBvGeJ8t3irxZNrn3\/We03\/ANJa+zcX5\/MeTUgs7vgd2iTUcMdZZf7yLuw2wWm0w02B0mNuUjm88fLh4KxRZvUV1mqJfctpzJVy7pXN4Rt57+XL\/RXEnJkpSjQp9NDld7vU3asNlspy47p6gHcwcxn8fAK5tFmpLNTCKnbl5A6SUj4nn\/XJfbRaKazUYp6cZcd8khG956\/5KHqW8Pt9MylpQXVtWdiEN4t4DPruUr37MSlR3adarr9vBFHrK4OuUhoKOMysoiZKh7RkNPDGezJz\/JaaxCnNho\/Z2BsRiHwjeMnj65Uey2GK32p8E425qlv6S7OdonO7PZlQtHVEkLauzTkdJRSHZweIJOfX6qUrONlwK6alGspz1kvTw9D5pH9GrLtb8\/DBPlgHIEkfgFp1l5XMs+tJKuoeyKmq4MF7ngAO3dv\/ALfVT6vVdmpGbXtQndyZCNon8PVcknJ3RZRqQpwcZu1my5Vfc73Q2mMuqZgH4+GJu9x8FSuuWoL7tR26l9gp3YxPMCHEdYP5eam2vSlFQu6eq\/TaonJklGQD2A\/U71zCl3iW+nUypLzen7OLNXsbNGau3VFNTSj7OdwJB39WOGN\/4LRNcHNDmkEEZBHNcqqlhrKd0E7A5jh5LOQw6jsMJpaWJlxh2iWOe7BYOrj3JZS0yGKpSfb7S8EalFmmXnUkeXT2IOaOUb959Svg1i9x2W2WsLsZAxx3Z6lzdyO\/yqa1uvJmmWevepHU8\/u61x+01zzs\/DvEZ7e30HNRnVGpb80RRU3uumf80rj8eOrfg+QHerOgtdv03QyTl3xBuZqiT5nflv5fVdUVHXNkZVJ1VaGS5v8AHuYu\/W8WqOnZUu6evnJmnc52QBwDevjnJ7F6sjDdbxLc7g4GCkb00pxgbvlaB4cOoLsasXWurb\/UMIipA0QxEZDnb9kZxy+Y\/kvNLTzVEdLYopD0lY\/2iscDnZHENPaAM95wtN3azPIwreYo6cFz4L1f5LzTlPJdbrUahqWENeSymaeTeGfADHiVqVypqeKkpYqaFuzHE0NaOwLqskpXZ7tGnu4WevHqERFEtK+\/UprbHVwAZcYyWjrI3j1Cj6UqvatO0pJy6MGM7+GycD0wrcgEYIyCsxo\/NLPdLYTkU0+W928fgFYs4NGafZrxfNNfn3NQiIqzSEREAREQGYt\/2f8ASBcmcnwBwzz3M\/mtOsvOfY\/6QYHnGzV0+zntwf4R5q9udXLQ2+WphpzUPjGejBIJ8ge9WTV2jLQajGd+Dfucr7Xi22eoqc4eGFrOPzHcOCi6Ut5oLHFttxLP9o\/PHfwHlhYu636uvUkdPWGKmjjeXbOw7AON2RvPpzXd17vlTWMoqe6Ru2wA0wgRsbu6yBjCt3Tw2Mb22m6uOzdskaa+X2UVLbRavtK2U7Lnt3iIc\/H6KbZLJDaICc9LVSb5Z3cXH8lRUmiZ2Zmbe3tdIN7oWn4vHa3rvLoyjjhdLXXSqdGxuXuLgAAO\/Kg8NrJlsXWct5OHTNWX+5l\/c7jBaqGSrnPwsG5vNx5AKj07bpq6rkv9yZmWbfTsP9m3kfLGPPmqOy6agvNfPJGaiO2sJEcjiNt58sdvDsV5\/UG1f9xWfvt\/hXbRirXzOKVWtJTwZLTPjz09DTrL3H\/hOtKOtHwxVzehkwOJ4b\/HZ8l9\/qDav+4rP32\/wqLc9DUkFummopah88bdprXuaQ7HEbgOS5HAnqTrOvKN8GmevLyNPW22iuLQ2rp2S4GATxHj4Bcaaw2qkeHw0EIcODi3aI8SsxY9LWe8WyOpFRVCTGzK0Pb8Lhx+7w5jsKsP6g2r\/uKz99v8K40lliOxlOdpqmnfx\/Rp0WY\/qRTs\/U3Ksj5D4hw6t2EGkKqPPQX+rjzw47vJwXMMeZbvK3\/H9UadFl\/cepYcdBfg\/Z4dKDv78goWazp8\/a0tVgZ3bIz6BMC4NDfyWsH9\/wAmoRZc6g1BSke12BzwPmMOT47sr1HrmgDyyqpamnd2tB\/mubuXAfyqXF26po0rnBrS5xAAGSTyWC1LdZL30raR5bb6MfG87hI8nAx19niVJvWoYb5JBbKGpENPKQaiaT4Bjjjf1Lzqb2CittvtdG8Cme\/pJHMdnIG7JPM7z5DsVtOOFq+pk2msqsJKL7K+r5dOZT3BwobXbqHYy5w9qmBO5xd8o\/dHqtnpm0y0FNJV1mTW1Z2pS45I6h671S6dtD7xdH3urZ+jh56Fjh82Nw3dTRu7wtsuVZf1O7HRu969OHuERFQemEREAWXpR7H\/AEg1TDubVQbTe07j\/hctQsxePsNbWioO4PYY8\/vD\/ErIcV4GbaclGXJr2NOiIqzSEREARFEdboHXNtxJf0zYzGBtfDjOeCHHfgUWsg6mkttzb\/y0+Hdxwf8ACfNacEEZByCoF8oPeVnqKYAlzm5Zg\/eG8KJpS5Nr7NHGT9rS4ieDxwOB8vUFWPOHQzR7Fdr5lf0IF40hNc7u6qbVRsimx0mWkuGNwx4dymDRll6BkZgeXNABk6Q5d2nkr5FzeSta5JbLRu5ON7mZdoeiY4upayrgJ6ngj6KhdaHV97NqobjPPC1v28ziXNaRyxnfwHj3LRahu85nFltY262cYe4f2bSOvkcb+weCsLHZ4rLbxTsO3I47Uj\/2nfkrFOUVdsyy2elUqYIKyWr\/AB7lPFpa70cTY6PUEjWN+VhYQB4ZK9+69WRfqr1A\/wD+xv8AlK06KG8fE0fxaa7ra82ZjotZxbuno5u3AH4BOm1mBj2ajdyzkb+3itOiY\/BHf4\/\/AHl6n542W+aXrnTOpoIxWnGw45iznsdux2ngVee9dV\/3JD+9\/mV3dbbDdqCSkm3B29rhxa7kVSaeu81LUGx3Z2xUxHZhe7hIOQzz7OvvU8WJXtmZlSdGeDG1F6aa8tB711X\/AHJD+9\/mT3rqv+5If3v8y06KGNcjTuJfO\/p7GY966r\/uSH97\/MnvLV7\/AJLNTNxx2nD+MLTr45wa0ucQABkk8kxrkhuJfO\/p7GZ6bWcn\/K0cee0bv\/0VUVVy1HUXA2jp4J5njDmxMaRH15ONxHXyVrcL9V3apdbdPfE7H2tTwDR2H8fLrU6goLfpW3PmnmG279bO4b3nqA\/BWXtqszI4bx2jN4Vq75eRmf6nXaGmc14odgZc573bx\/5YyBuWejp3TVbaaJzXufII2kcHEnAWtraut1NHPMxz6Sz07S55O4y43kdv0HaVG0NaxUVz7hIMsp9zM83n8h9QrFNqLcjFOhCdSMKadnxJXufV1BSMgpa2OSNgw1kTwCB3uA+qqqi46monfpk9bAzm4s3eB4Hj1r9JXwgEYIyCqVV5o9KWxX7s2vMwdJWVdYQ1mrGRuP3ZWlnqRhWrbLqJ7Q5moQ5p4EAkFW1Zp601wPTUUYcR87BsHzCqnaPkpHGS0XWopTnOw45B8seueC7ji\/DyK9xUjqr9JNff3HuPUn9\/+hT3HqT+\/wD0K8+0avtwHS08FwYNxLPm9MH0XtutIYpBHX26qpXEcxnHX1FO3wszvwF3sS6tnz3bqym+KC7QTjiWyN4+Y\/EKmvU9+p6ugrLpSxfo02Y3RkfaHIODgnq6utaSLWNjl41boz1Pjd+AVRqO60l8bSUlte6olbOHENYRuA7e9djixZohWVLdvBUv4XuTXazw4j3PWbjzbhfBrWNvxTWurjYPmds8Fp0VWKPI2but8\/0RQR60sz8bcksW4E7cZ3eWVZ0F1obmH+x1LZtj5gAQR4HuXWWipJtrpaWGTa+bajByvNLbqKie99LSxQuf8xY0DKPDbIlFVk+0010JKIigXhZS7U8+nbt76oo9ukl3VMLd2Cef8+vvWrXiWKOaJ0UrA9jxhzXDIIUoysyqrT3kcsmtGeKSrgrqZlTTSCSJ4yCF2WSkoLjpWpNTbtust7z9pT4y5nbu+vn1q8td9oLvGDTTASY+KJ+5w8OfguyjxWhCnWu8E8pf7Q7Q2yjp6+aujixUTjD3lxOR48OA8lLRFC9y9RS0QREQ6EREAVZerFSXqnDJhsSt+SVo3t\/Mdis0XU2ndEZwjNYZK6MnDdrrp0tprvA+opGnZZVMGTx5nPVyOD3q\/oLvQXJgdS1LHk\/czhw8OK9V9xobfCXV08cbHDGy7eXeHErD1NBFf64Gw2t1PFnLqh5LWHuHAeG\/sVqSnm8jDOcqDwxeLw4\/7qbW53eitEHS1cuyT8rG73P7h\/oLMVNZXXwdLX1MdqtfONzvjlHdxOfLsKkt0FA8NNRcJpHgbyAPxypdPomzwuDpWzVB59JJxPhhE4R45nJx2mq7ONlyv97EGC\/UtI33dpm2uqX83kENJ6zzPjhSKXTFVXVLazUFUah7TlkDT8A7\/wAgtDT0tPSR9HTQRws\/ZjaGj0XZRc\/lLo7Pe28d\/DRenuRaygiq7dJQ\/qopG7PwADZHYvlst0NqoWUkJc5reLnHe49alooXdrGnBHFitmERFwkEREAXlzWvaWvaHNPEEZBXpEBEltVumz0lBTuzxJible4LfRUxBgpIIiBgFkYBUhF27I4I3vYIiLhIIiIAiIgCIiAKjuWlKCucZoM0VTykh3DPaPywrxF1NrQhOnCorSVzKmr1RZctnpW3OBv9pHnaO\/s3+i7Ra3tpJZVQ1FM8He1zM\/RaRcpqWnqRieCOUYxh7A76qeKL1RRuake5P1z\/AGV8ep7LIAW3CIZ\/ay36hSGXm1yY2blSknl0zc\/VcpNO2eUkut0GSMfC3H0UOr0pZGwvkbQgO3cJH9fenY8Q3tC+X6lm67W1gy64UrR2zNH4qJPqiy04BdXxvzyjBf8ARV1HpezSylr6PI2c\/rX\/AJq1h07Z4HbTLdBkftN2vqloLmFLaJLKy9SqdrWKbLbdbauqf\/8AHA9MnqXkv1bdchscVthcDvJ+LHqc+AWna1rGhrGhrRwAGAF6TEloju5nLvzflkZ6k0fRslFRcJpa+f7xld8JPdxPiVfsYyNgZG0Ma0YDWjAC9IouTepbClCn3UERFEsCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/\/Z",
    "razonSocial": "SOCIEDAD  EDUCACIONAL INMA LTDA.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "COLEGIO ANTONIO RENDIC",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:21",
    "ubicacionGPS": "LatLng(lat: -23.6992395, lng: -70.4219267)",
    "horaLlegada": "13:13",
    "horaDespacho": "14:36",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


04/05/2026 16:21:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78863090

[04/05/2026 16:21: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, 24456550, 0, NOW(), 
				'14:36', '13:13', '16:21', 10, '•Se entrega toner y corchete
', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777926073.png', '', null, 'COMPLETADO','LatLng(lat: -23.6992395, lng: -70.4219267)' )
				
[04/05/2026 16:21:13] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200164

04/05/2026 16:21:13 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200164'                    
				WHERE idllamado = 12441			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


04/05/2026 16:21:13 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12441			
				
04/05/2026 16:21:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16:21:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:21:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:21:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:21:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:21:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:21:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:21:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:21:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                [04/05/2026 16:21:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:21:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:21:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                [04/05/2026 16:21:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:21:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:21:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:21:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:21:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                [04/05/2026 16:21:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:21:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:21:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                [04/05/2026 16:21:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:21:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:21:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16:21:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            [04/05/2026 16:21:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16: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 = 12441
                
04/05/2026 16:21:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16:21:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12441
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16: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 = 12441
                
04/05/2026 16:21:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:21:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:21:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:21:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:21:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:21:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:21:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:21:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:21:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:21:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12441
                
04/05/2026 16:21:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                [04/05/2026 16:21: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;
                
[04/05/2026 16:21: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;
                

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

04/05/2026 16:21:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            [04/05/2026 16:21: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;
                
[04/05/2026 16:21: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;
                

04/05/2026 16:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            [04/05/2026 16:21: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;
                

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

04/05/2026 16:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                [04/05/2026 16:21: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;
                

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

04/05/2026 16:21:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                [04/05/2026 16:21: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;
                

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

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

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

04/05/2026 16:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                [04/05/2026 16:21: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;
                

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

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

04/05/2026 16:21:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                [04/05/2026 16:21: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;
                

04/05/2026 16:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                [04/05/2026 16:21: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;
                

04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:21:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12217
                
04/05/2026 16: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 = 12217
                
04/05/2026 16:21:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12217
                
04/05/2026 16: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 = 12217
                
04/05/2026 16: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 = 12217
                
04/05/2026 16: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 = 12217
                
04/05/2026 16: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 = 12217
                
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12217
                
04/05/2026 16: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 = 12217
                
04/05/2026 16: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 = 12217
                
04/05/2026 16: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 = 12217
                
04/05/2026 16: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 = 12217
                
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12217
                
04/05/2026 16: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 = 12217
                
04/05/2026 16:21:52 - logentry: =========================================
FECHA: 04/05/2026 16:21:52
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Tmw.Ys4znwP_p.asK_K4ovK+orKl0YEBDXB4VMK7pMC4UeW57N_
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78863090",
    "serieinterna": "TO2785",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se entrega toner y corchete\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12217",
    "observacion": "•Entrega en recepción sin contador",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADcAToDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABOEAABAwMBBAYHAwcICAcBAAABAAIDBAURBhIhMUETUWGBkaEUIiMycbHRFRbBJjNCZMLh8CRSVmKCkrLSBzRDcpOi4vElNURTVWNzdP\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgMECQMFAQEAAAAAAAABAgMREiExBEFRcRMUIjJhgZGx0aHB4SMzQmLwUlP\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBEXwkAZJwAgM+8Xuks0AfO7ae4+rG0jaPb8F66OqirqSKqhJMcrQ5uRgqDrZmXdl1vc4JhjAp6UEcyd3HsOezKsrDE6CxUUbgQREDgjB371bKCjHxMdGvKpVa\/jbL1+5oKd1TqQ2mMU1K4elyNznGejHWR18cfBa10ucFpoX1dQdw3NaOLncgFAT0VVX1NI6s31lzmD9+AWRjAB7M5Pc0JTim7vQjtlaUY4Iav6F\/aaioqrVT1FU1rZpWBzg1uBv4bs9WF7FxYxscbWMGGtAAHUFyVb1NkU0kmERFwkEREAREQBERAEREAREQBERAEREAREQBEWNddUW61udFtmoqAcdFFvweonl811JvJEJ1IwV5Oxsopf0vVV2\/1alitsLsEPl3ux3\/AEC+\/du9zDbn1JOx\/MRh2PJw+SngS1ZT08pdyDf09ynRSdT94NOAVJqvtOjaMSNeCHNHXneRz35PwVHb66G5UMVXBnYkGcHiDzBUXGyuTp1lJ4WrPgelERRLgiIgCIiAIiIAszUdUaOwVcoOHbGwMf1jj8Vpqa1zJizwwD3pp2juAP7lOCvJFG0Sw0pPwMm4wej6UtFuBLH1cgkduyTnf+0PAK5AZFHjcxjB3ABS9a0Vms7dQR74qCPpHZ34PEfJq56mrpa6qi0\/QnMs5HpDgD7Nu4j6ns+Km1isvMy05KljlwtFeS+Tz07HavvJqZWv+yqU4Yw\/7R3aO\/PwwOa7bNm86qrLtth8FMOhg+WR2Yyf7S9N7kp9O6YNNTeo546KPHFxPFx7s+S92nrcLXZoIC3ZkcNuXr2jx8Nw7kcuzdckdhTbqqLzazfPcvI00RFSegEREAREQBERAEREAREQBERAEREAREQBeetrqe3UrqmqkEcbeviT1DrK892vNJZ6fpKmQbbgejjHF5\/Adqw6O0V2oamO5Xo7FODtQ0g4Y7eoeZU4x3vQz1KzTwQzl7cziai76sLmUwdQW7IzI73pBz+Py7Sty1WG32hg9HhBlxvmfvee\/l3LRa0NaGtAAAwAOS+o53yWghQUXilnLj8cAiIoGg4vY2SN0b2hzXAhwPMKZ0aTTSXO2F2fRqg7O7lvH7IVQpiwEnVd62T6m0MgcM5P71ZHuszVcqtN819CnREVZpCIiAIiIAiIgCmNZndbB+shU6kf9IH+o0n\/AOp+Ssp99GXbHahJ\/wC1PJb7tHSPu9\/kAfJJL0VOzPvb84z2DZ8PgtnStpkpqd1yrSX1tWNoucd4YcEA9vPw6lPaStUt0njmqMmio3lzBuwZDg47eAz8ArmvrI7fQzVcu9sTC7HX1DvKnUdnhRm2SLlFVZ6K\/wCWTteH3vWEFECDS28CSXHDa44\/wjxVUpzRtGRQzXKZp6etkLyT\/Nz9cnwVGq5624GrZk3F1HrLP4+gREUDSEREAREQBERAEREAREQBERAEREAWZfL3BZaTpJCHTP3Rxk8T1nsXpuNfDbKGWrnOGxjIHNx5AfFT9kt016rRf7q0b\/8AVocbmtHA\/TxU4xWr0M9apK\/Rw7z+i4nbZrBNUVAu97Jlq3HajidwiHLI\/Dl8VSoi5KTk8yynSjTVkERFEsCIiAKY0d7ee7Vw92oqd2OHEn9pbtyqRSWypqCcdHE5wx143eay9GU\/QadicRgzPc\/hx5fgrFlBmaedeC4Jv7G8iIqzSEREAREQBERAFGa6qY6iporaw+12tpx5NzuH4\/wVUXS4RWu3y1c3Bg3AcXE8Avy6WeZ10bVVJBlke2Z3LGTkeWO5X0Y3dzzdvrKMej4+x+p2+iit1DFSQj1Y24zj3jzJ+JWDqyWSsqaGxwD1qp4fJg7w0H\/uf7KpJZWQxPlkcGsY0uc48gOJUxplkl2u1Zfp2kNcejgaeQ\/cMD4kqEN8mX17NRox3+y1+CnhiZBCyGMbLI2hrR1AbguaIqzWEREAREQBERAEREAREQBERAEREAXFzmsYXvcGtaMkk4AC5KZ1RVz1lRDYKLfJU4M7sH1GZH7yf3qUY4nYqq1FTjiPNTsfq68+lSsf9lUpxGxxwJHfD59mAq5rQ1oa0AADAA5LooqOG30cdLTsDY4xgY59ZXoSUr6aHKNPAry7z1CIiiXBERAEREBPa0qXRWQU8ZO3VStjAHEjifkB3rZoaYUVBBStxiKNrN3PA4qfuxF01jQW8DajpB00m\/cDuO8dzf7yqFZLKKRmpdqrOfDL01CIirNIREQBERAERYup7u61W3ZhyamoJjiDeI63d27xC6k27IhUmqcXKW4zK+Q6j1E2ibIDbaAiSd2Rhzt\/\/bxWHNTitsl0u2xgOq29H1Nbk7h\/eA7lQy0bNNaNqGhxFRKzD3DjtuwMDsH71y+yzFoB9Nj1zB0zhx352\/3LQpJaHlzpSm3i1s2\/ZLyOOo7g+eyUVFTkuqLiGYA3+rgEnn1jzVBQUUduoYaSH3Im7Oes8z3nJUho+lmudeLlVetHRRNghHLIGPIb\/i5W6rqdnso17Nepeq9+S5flhERVGwIiIAiIgCIiAIiIAiIgCIiAIsm9ahpbMGxuY6apePUhZz+J5LKjst4vjnT3askpYXb2U0W4gcs9Xfkqajld5Gede0sEFd+3NlHX1sduoZqub3Im7WOs8h3nAWHpGhkMc15qjtVNaSQepuc7vj+AWDcNPQ\/bkdmttTO4lm3MZXghu7duGOWPELapb9WWaaO332ANbubHVxj1HDHP+O5WYbRtHeZVWxVcVRWUcuKuVCL41wc0OaQQRkEc19VB6QREQBERAF1zzMpoJJ5DhkbS5x7AuxTmsKmZ9NT2qlIM1dIGkZ37I+QzjuBUoq7sVVanRwcjr0hDJVS1l7qGBr6t5EfY3O\/HZnA\/sqnXTR0zKKjipoxhkTA0LuSTu7ijT6OCi9fuERFEtCIiAIiID45wa0ucQABkk8lKWba1DqGe8SA+jUp6OmBJ3nr8N5+IXr1XXyCCO00m+qriGY6mE4Pjw+GVq2q3x2u3RUkQ3MHrHjlx3kqxdmN+Jll+rVUd0c3z3fJh6ucaysttoYfz8u2\/fjA4fi7wXdq6vdTW6O20g9vWnomsbybwI79w7yvPQuFx1vW1jz7KgjMbSf0TwP7a+WWN191DPfJQfR4CY6Zrge4\/M\/EqdrWvuMzbm5YdZO3ktWd2hpP\/AAmamd78E7gR2ED8cqlUvYh6Fq27UJ3CXEzRntz+35KoVdTvXNWy\/tKL3XXoERFA0hERAEREAREQBERAEREAXgvN0jtFtkq34Lh6sbT+k48B\/HUvepOaMak1Y6B5L6C3j1259Vz9\/UeZ8mlTgk3noUV5uMbR1eSPVpqzvZ0l2rw2Srqz0gy382Dv3dR392MLar62O3UM1XN7kTdrHWeQ7zgL0KX1Q51zuVDYonkdI\/pJi39Fu\/8ADJ8F1duWZCVtnpWjr7tndpGjkME12qjmornF2epufitqtoqe4Ur6apjD43jeOrtHau5jGxxtYwYa0AAdQXJRcm3ctp0lCng1JO11c2m7n9i18m1SSHNLM7gMnh\/HA\/FVizb7aI7zbX05wJW+tE\/qd9CvJpW6yXCgdT1JxVUh6OQHiRyJ8CO5Sl2liKabdKfRPR6fBuoiKs1hERAFKWosvuram54LqejaI4TxBO8Z\/wAR7wtDVlxdQWd0cOenqT0TMDfv4+XzXqsNsFptMNNgdJjblI5vPHw4dysXZjfiZZ\/qVVDdHN\/b5NFERVmoIiIAiIgC4SyshifLI4NYxpc5x5AcSuamNVVU1XU01hpD7SqOZXDPqt7uzJI6h2qUY4nYqq1Ojg5f6516aifd7vVagqG4aSY6dp\/RHDyG7vKo6+qbRUE9U7hFGXfEgbguVLTRUdLHTQjEcTQ1oPUsHW9WYrSyjZnbq5A3A6hvPbxxwUu\/Mpt1eg29dfNmHBLNT6ZbTRZNbeZncBv2M4JwOv5E9StbZQR223w0kYGGN3kczzKm9KUQrqx9zlbtQ0zRT0gcOAH6XD+C4qvXajzsQ2OHZxvkuX5ZLXnNu1jba8DDKkdC\/tPD9oeCqVP61pzLYTM33qeRrx44\/Fd9HqagqJKSm6Rz6meNri1jchp2ckFcacopolCUadWUW7Xs155GyiIqzYEREAREQBERAEREAREQHjutaLfaqmrPGNhLeHvcB54Wdo6l6CwxzOHtKlzpHk7yd+Bv+A8159azPdRUtvj9+smDee8Ajlz3kKhhiZTwRwxjDI2hrR2AYVmkOZmXb2h\/1X1f4OTnNYwvccNaMk9QUzpdjrldK++yt3SP6OHPJv8A2wPFerWFc6lsjoY8mWqcImgccHj5bu9aNooW221U9IBgxsG12uO8+aLKN+JyXbrqO6Ofm9D2oiKs1BSdyaLBquC5j1aSt9nPjgHdZ8j3FViz75bm3S0z0xGXFu1Gepw4fTvU4OzzKK8HKF46rNGgixNKXI3CyxtkPtqf2T89nA+GO\/K21FqzsWU5qcFJbwiLD1XcnUNq6CE\/ymsPRRjO\/B4nzx3hEruwqTVODk9x4qfZ1Bq01QG1SW4bLMgjaf18Ov5BVKzrDbBabTDTYHSY25SObzx8OHctFSm7vIroQcY3lq82ERFAvCIiAIiIDqqaiKkpZamZ2zHE0ucewKb0nTy11VVX+qb7SocWxA8m88eAHcU1ZUS11VS2Cld7SocHSkcm8s+BPcFSU1PFSUsVNC3ZjiaGtHYFZ3Y8zJ+7W8I+\/wCDtX55quWS7amZQ042jHswtGMesd5+fkr2rqWUdJLUyEBkTC45PUFK6Mtjp5Zb5VAF8r3dFnPE+87j2keK7TeG8iG1p1XGit+b5IqKCijt1DDSQ+5E3Zz1nme85K7J54qaF808jY42DLnOOAF03C40trpjUVcoYwcBzceoDrUzFR1+rqhtXWl9NbGnMUIODIOv9\/goqN83oXTqKFoQV3w+fAVlzuOqTLRWiHYoh6ss8oxtdnZ8OPwXo0KymFtmLImtqmSFkrs5JHEfAcu5UkEEVNCyGCNscbBhrWjACmrWfs3WlfQ4Ijq29Kzjx4\/i7wU8V4tIzum6dWFSbu3l8WKlERUnoBERAEREAREQBERAEREBMVx9K17Qw8WU8Je7rzh3\/SqdTFu9pr+5PP6EAaB3M+nmqSWRsMT5XnDWNLnHsCsnuXgZtn\/nLxf0yJe4Yu+t6Wi3OhoWdI8EE79x\/wAg\/jCq1L6NjfU+nXeYevVSkD1s4A3nzOO5VCTyduBzZs4uo\/5O\/luCIirNQREQErSEWTWk9M5+ILi3pGDkHkn8dod4VUp3WVM77OiuMIAnopWvDuYGfrsnuW5R1LKyjhqWe7KwPG7HEKyWaUjLR7E5U\/Ncn+Ttc4NaXOIAAySeSlbPnUGoprw\/aNLS+zpwcj1uvGer5herVdwkEMdnpMGqriGYzvawnGfgd4+GVq2q3x2u3RUkQ3MHrHjlx3kouzG\/ES\/VqqO6Ob57vk9iIirNQREQBERAF1VNRFSUstTM7ZjiaXOPYF2qa1dUvnFNZac+3q3guwcYYD+J+RUoq7sVVqnRwcjr0nTy11VVX+qb7SocWxA8m88eAHcVUrqpqeKkpYqaFuzHE0NaOwLzXi5xWi3SVUhGQMRtP6T8bguyeKWRGnFUafafi\/uTus7m6eWKx0pBfK9vS4zxPut4doPgtmqr6HTFohikftGOMNjjHvSEfLtKgbfcnR3k3GWN1RUEl0bBv2pDuGewZ+SsbPp6Sap+1r0emrHkOZGeEXVu6+zl8VdOKikmYKFadWcpQWb+iOm32apvtSLrfAej4wUvJo7R1fPmqkAAYAwAvqKiUnI9GlSVNZavV8QpfVodQVtvvUTQTDJ0cmRxG8j9rxCqF4L1RfaNnqaYDLnMJZgfpDePMJB2kcrwc6bS13c0e1j2yRtkY4Oa4AtI5hclh6QrTWWCJjyekpiYXZ7OHkQO5bi5JWdidOanBSW8IiLhMIiIAiIgCIiA81fUzUlFJPBSvqpG4xEw4Lt67oXukhY9zDG5zQSw8WnqXNF05Z3vcmLJv1jeCd5AAz3hezV1Z6Jp6fBw6ciId\/HyBXjs2Gazu7OJLQ7zH1C46r\/ll2tNs3Ykl2356sgfLaVtrzR5+Jx2eVtW2vV2NyzUnoNnpKYjDmRDaGP0jvPmSvaiKpu7ub4xUUktwREXCQREQHTVU7KukmppPclYWH4EYU3pi6NoLPV0tdmN1tedvnuJP45HgqpfnmpGUk+rjAKl0UcxY2ocBuad3jux8CraaxXizFtUnScakddPX8m3pikluFXNqCuYellcRTtOfUbzxnlvwO9VC4RRMhiZFG0NYxoa1o5AcAuahKWJ3NFKn0cLb9\/MIiKJaEREAREQHxzg1pc4gADJJ5KW05E67Xqrv8w9QOMdODyGMZHdu7yvXrCufS2f0eE+2q3dE0AbyP0vp3rTtVAy2W2CkbgmNo2nAY2ncyrFlG\/Eyy\/UrKO6OfnuPW5wa0ucQABkk8l+ZaivpvFwLmh3osYLYmE434949q39QXaS9VAsdo9qXn20rT6uByz1dZ7ln0un6d2o6e2xkyikaJKuXk53HZ7BwHirKaUc2Y9rqSrPo6el7c3w8je0vpyC20sdZMBJVSsDsnhGDvwO3tVCiKiUnJ3Z6VOnGnFRiERFwsCIiAlLPi06xrrbubFVDpYgAePHA7i7wVWprWFPLC2kvFM32tFINrtaTz7\/AJlb9LUMq6SGpj9yVgePgRlWTzSkZaHYlKlwzXJ\/k7kRFWagiIgCIiAIiIAiIgJiPFN\/pEkyQPSqbd24A\/yL5T5r9fzS49Shh2ASeeMftOTUrfRL9aLkNwEnRSO6hn6FyaO2qie617nbfT1GA7luyd394eSv\/ji8DzF+70X9r\/S\/uVCIioPTCIiAIi65poqeF80zwyNgy5zjuAQaGZqS8fZNv9nvqZ8shaBk56+7I8QsWq05S0OlJm1ksba1\/tTK943vGSGgnjuyPiVkG5XC+ahNVR0zpZGfmGHe2Hh6x5eO7JVHTaRFTKKu91UlZOd\/RhxDG9nWfJaLYErs8rG9plJxjdaLgvHmfLVq+1i2U7ayqMc7GBrw5jnE43ZyBz4reo6+lr4ulpZ2St3Z2TvGRkZHJSlNQ0Nn1VJQVdJBJS1gDqZ0sYdsnO5uT25Hgu+eFmntWUklN7Kjr8sfE0eqHcPgN5B8VGUYt5FtKtVjHt2snZ8eZWIiKk9AIiIAiLOvF5pbPSOkmkHSlp6KPiXn6LqTbsiMpKCxS0MKrqIa\/WJmmnYyjtLNpzncNscvjn\/Cs29anq73OLfbGPZE92yMHD5T+A7PFYtHQXG7TujpopJOkdtPPBud+88uZ81+h2LT1LZYQWgSVLh68pHkOoLTLDDXU8el0u0XSyTd2\/seKipIdJadlqpmMdV7OXnjtOPutHZw8yuej7e+CgfcKnLqmud0hceOzy8ck94XkuLjqTUrbU1zvQ6I7c5BGHOG7q6zjxVW1oa0NaAABgAclVJtLPVm2jCMp3j3Y5LnvZ9REVRtCIiAIiIDpq6ZlZSS00mdiVhYcdoWBo6rLKeotMxIno5CMHm3P1z4hUqlb0RY9TUl3aMQVIMVRju3+GD\/AGVZDNOJlr9iUavDJ8mVSL4CCMg5BX1VmoIiIAiIgCIiAIiIDF1bR+l6eqMNy6HErezHHyyujRDWN06wtIy6Vxdjr4b+4Bal6\/8AI6\/\/APmk\/wAJUdo64PttWynqTsU1eMxOPDaBLfPBHgropum0efUlGntUZPerF8iIqT0Ai4uc1jC97g1rRkknAAUxW6iqrrUG3aeaXP8A9pUkYa0dn18FKMXIqqVY01nrw3s0rxqOis\/s3kzVB4Qxnf2Z6lJTPu+p71HRVOYmg7T4W7hC3O8kde\/n1rWqaWk0nb\/SB\/KbtUbo3yDaJdneQO\/4nctTTdndbaR1RUEvrKr2kzncQTv2fr2q1OMFdGGcaleooSdlq0vv4mlQ0FNbqZtPSxCNjRy4ntJ5lehEVGp6SSSsjG1RbDcbS50QPpFOekiI47uI8PMBYl2rhfNFNriQJ6aVvSY3YdnZ89oFWZIAyTgBQV+hjstXUx00rH0dwjIfE135t\/EHA5Z3jsyFdTd8jBtccKc9zVn9mW1DUel0FPUZB6WJrzjtGV6FKWHU9rpbFTQ1dVsTRgsLdhxOMnHAdWF3v11aW7mR1Mh5BrBv8SounK+SLo7VSwJykikRSc+u44mhzbXPsngZHbOfIrMrdSXi+s9HoKZ8EZB2ujOS4f727C6qUt5CW20V3Xd8Ddv2rae25pqPFRVndu3tZ8es9ilrlarjIaapuMjvTK+bYZG7i0fDlvI3cl32elulreZorPFNLnc+Z4y34DIXKesvdz1DFtU9K2som7QYHDYHA5J2iDxHNXRSjoefVnKsr1L56Kzt+XYvqeCOmp44ImhrI2hrQBhZmpbqbXa3mLPpM\/s4QAc5PPuWPU3LVNPTvqZn0EMcYy71gfxKy6eO\/XuqhvGYHGI+y6Vwa0Y5hvx81VGnnds2Vdq7OCEXflu4lZpq1G12tglz6TP7SYknOTy7lrqV6fV3\/u0H95qCbVxOBJQkn+s1ccW3dtFkK0YRUVB5eBVIpj8s\/wBT8k\/LP9T8lzB4os6x\/SXoU6KY\/LP9T8k\/LP8AU\/JMHih1j+kvQp0Ux+Wf6n5J+Wf6n5Jg8UOsf0l6FOvBera262uakONpwzGTycOCx\/yz\/U\/JPyz\/AFPyRRs73RGVZSTi4Ss\/A9ekrj6fZY43n21N7J454Hu+XyK3F+fUpvlu1DLS076YVlYNt7AQW5GT3Hie\/tW1+Wf6n5KU4Z3TKqG0vAouLbWWhTopj8s\/1PyT0jWcX\/oqOfvA\/aCjg8UX9Y\/pL0KdFMfamrBuNlgJHHDv+pfBfdRx\/ndPl3L1Cf3rnRsdZhvT9GVCKY+8d9\/o5N4u+ifeO+\/0cm8XfRd6OQ61T8fR\/BTopj7x33+jk3i76Kkic58THvYWOc0EtJ909Si4tallOrGp3fZnTcojPbKqFuMyQvaM9rSFK2u2x3zRsdO3dU0kj+jOcEOznB+Of4wrNTVTpyuoq6WtsNW2nMu98Dx6hOfDmeW5Sg8rFO0U25KVrqzTPRpy9urYzQV2Y7hT+q9r+LwOfx616bpqK3WkFs823KP9lHvd39Xep+q0xfq+c1tTV07KljMMMQ2XOI4bwB4ro0+62WutNNeaQwV4dumnILPj1D47\/ip4IvNehnVetFKElbxf+1Pe2iu+qXiW4l1Db85bTt95447\/AC3nuCpKOipbdTCGmibFG0b8c+0nmu9rg5oc0ggjII5qXvNn1FcqyRkddHHRl3qNDy3d24G9Qviy0RocehWJJyk9\/wDtEeCmuFFXX6a73apZFDTP2Kenc4lzSMb9kb+34\/BaNTru3RnFNBPUHGc42R57\/JZ0X+j6cgdNcI2HnsRl34haEGgrazBmqKiU9hDR8vxVr6PezJTW2JNRilff\/vgz5tbXGXfBTUkDefSybTh3ZHyWfLqK4zfnr2Wt6qeIgjd8G\/NWMGlrJB7tCxx65CXfMr3w0NHTHMFJBF\/uRhvyUccFoifVton35+\/2sfnTaerrjtCnutc3+e5xaCOfJ3PtXczTV1kGyyyMaP50s28f8w+Sua28263h3pNZExzeLNrLvAb1hnUt0u23HY7Y4tBx6RKQAO7hnvPwUlOT0RVLZqMXaUrvgln9yVqqS42CfoZoomukbtBzo2PBHYSPklLWXu4T9BST1Dnu\/RhdsgfHGAB5Ksj0jPXYlvlymqJOUcbsNb4\/gAvPG26aPc5ohFbbSS7aYNlzO1xx+74KWNPTNlL2acXd3UPqj5TaInqW9JdrhI6Qjc1jtrZ+JK9jdB2lucy1Tvi9v4NXuo9UWesjDhWMhceLJjsEeO7zXtN0twGTX0wA\/wDub9VS51D0IUNlaurPzMX7i2j+dU\/8QfRYFostpqWXGqrppIqWnm2I3bYG7J4nG88OCo7hrG30xEVHmtndua2Pc3PafosHTOnPtamFTWTuNIJCRA0n13bsknl81ZFyUW5MzVIUZVIxpRTefLzOq1achvdwfLTtmhtjDgPkI25OwfxuW\/8AcW0fzqn\/AIg+ioYoY4ImxQsbHGwYa1owAFzVcqsm8jXT2KlGPaV2Tf3FtH86p\/4g+iHQloIxt1I7ekH0VIij0k+JZ1Wh\/wAomPuJb2\/mqysZnj67d\/kn3Gpf\/kKz+8PoqdE6SfE51Sh\/yS50NS43XCrz\/vD6L79z52b4L7WRnrye7gQqdF3pJcR1Sj\/z7kx92r0zczUtQR\/WDv8AMU+7l9\/pHN4O+qp0XOkkOq0\/H1fyTH3cvv8ASObwd9V8+6tymP8AKtQ1Lhw2Wg8P7yqEXekkOq0vH1fyZVp07Q2dzpIA+SZ3GWQ5d8Fqoig227svhCMFaKsgiIuEgiIgCIiAIiIAiIgC8twttJdIBDVwiRoOWngWnrBXqRE7HGlJWZLfdi5WyXpLJdXMZg+xm3j6HwX37R1ZSBwntkNSBwdGd58D+CqEVmNvVXM\/VlHuSa9vqTH3sr2erNp2ra7s2t\/\/ACp95b1Jui01UNP9cu\/yhU6LmKPAdFV\/9H6Il\/TtX1R2YrbT0zT+m87x\/wA34L46waguAIuN76NjhvZADg9hxgKpRdx20Q6sn35N+fwYdFpC0UZ23wmpkznanO15cPJbTWtY0NY0NaOAAwAuSKDk3qXQpwgrRVgiIuEzOqtP2mtO1PQRF3W0bBPeMLyN0dZG5\/kzyDxHSu3+a3EUlOS3lToUpO7ivQ8dLaaCiifHS0scQeC1xaN5HaTvKwtHVUdHQVVDVTRxy005Dg52Mbu3tBVSsmv0zarjUekT056Q+85jy3a+IUoyvdMrqU3FxlTSy+5pxSxzRtkikbIxwy1zTkHvXNdFHR09vpWU1NHsRM4DOV3qtmiN7ZhERDoREQBERAEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "SOCIEDAD  EDUCACIONAL INMA LTDA.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "wasap",
    "idFalla": "-2",
    "otraFalla": "HOJAS CON LINEAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "946496376",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:21",
    "ubicacionGPS": "LatLng(lat: -23.6992615, lng: -70.4219571)",
    "horaLlegada": "13:13",
    "horaDespacho": "16:21",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 16:21:52
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Tmw.Ys4znwP_p.asK_K4ovK+orKl0YEBDXB4VMK7pMC4UeW57N_
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78863090",
    "serieinterna": "TO2785",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se entrega toner y corchete\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12217",
    "observacion": "•Entrega en recepción sin contador",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADcAToDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABOEAABAwMBBAYHAwcICAcBAAABAAIDBAURBhIhMUETUWGBkaEUIiMycbHRFRbBJjNCZMLh8CRSVmKCkrLSBzRDcpOi4vElNURTVWNzdP\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgMECQMFAQEAAAAAAAABAgMREiExBEFRcRMUIjJhgZGx0aHB4SMzQmLwUlP\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBEXwkAZJwAgM+8Xuks0AfO7ae4+rG0jaPb8F66OqirqSKqhJMcrQ5uRgqDrZmXdl1vc4JhjAp6UEcyd3HsOezKsrDE6CxUUbgQREDgjB371bKCjHxMdGvKpVa\/jbL1+5oKd1TqQ2mMU1K4elyNznGejHWR18cfBa10ucFpoX1dQdw3NaOLncgFAT0VVX1NI6s31lzmD9+AWRjAB7M5Pc0JTim7vQjtlaUY4Iav6F\/aaioqrVT1FU1rZpWBzg1uBv4bs9WF7FxYxscbWMGGtAAHUFyVb1NkU0kmERFwkEREAREQBERAEREAREQBERAEREAREQBEWNddUW61udFtmoqAcdFFvweonl811JvJEJ1IwV5Oxsopf0vVV2\/1alitsLsEPl3ux3\/AEC+\/du9zDbn1JOx\/MRh2PJw+SngS1ZT08pdyDf09ynRSdT94NOAVJqvtOjaMSNeCHNHXneRz35PwVHb66G5UMVXBnYkGcHiDzBUXGyuTp1lJ4WrPgelERRLgiIgCIiAIiIAszUdUaOwVcoOHbGwMf1jj8Vpqa1zJizwwD3pp2juAP7lOCvJFG0Sw0pPwMm4wej6UtFuBLH1cgkduyTnf+0PAK5AZFHjcxjB3ABS9a0Vms7dQR74qCPpHZ34PEfJq56mrpa6qi0\/QnMs5HpDgD7Nu4j6ns+Km1isvMy05KljlwtFeS+Tz07HavvJqZWv+yqU4Yw\/7R3aO\/PwwOa7bNm86qrLtth8FMOhg+WR2Yyf7S9N7kp9O6YNNTeo546KPHFxPFx7s+S92nrcLXZoIC3ZkcNuXr2jx8Nw7kcuzdckdhTbqqLzazfPcvI00RFSegEREAREQBERAEREAREQBERAEREAREQBeetrqe3UrqmqkEcbeviT1DrK892vNJZ6fpKmQbbgejjHF5\/Adqw6O0V2oamO5Xo7FODtQ0g4Y7eoeZU4x3vQz1KzTwQzl7cziai76sLmUwdQW7IzI73pBz+Py7Sty1WG32hg9HhBlxvmfvee\/l3LRa0NaGtAAAwAOS+o53yWghQUXilnLj8cAiIoGg4vY2SN0b2hzXAhwPMKZ0aTTSXO2F2fRqg7O7lvH7IVQpiwEnVd62T6m0MgcM5P71ZHuszVcqtN819CnREVZpCIiAIiIAiIgCmNZndbB+shU6kf9IH+o0n\/AOp+Ssp99GXbHahJ\/wC1PJb7tHSPu9\/kAfJJL0VOzPvb84z2DZ8PgtnStpkpqd1yrSX1tWNoucd4YcEA9vPw6lPaStUt0njmqMmio3lzBuwZDg47eAz8ArmvrI7fQzVcu9sTC7HX1DvKnUdnhRm2SLlFVZ6K\/wCWTteH3vWEFECDS28CSXHDa44\/wjxVUpzRtGRQzXKZp6etkLyT\/Nz9cnwVGq5624GrZk3F1HrLP4+gREUDSEREAREQBERAEREAREQBERAEREAWZfL3BZaTpJCHTP3Rxk8T1nsXpuNfDbKGWrnOGxjIHNx5AfFT9kt016rRf7q0b\/8AVocbmtHA\/TxU4xWr0M9apK\/Rw7z+i4nbZrBNUVAu97Jlq3HajidwiHLI\/Dl8VSoi5KTk8yynSjTVkERFEsCIiAKY0d7ee7Vw92oqd2OHEn9pbtyqRSWypqCcdHE5wx143eay9GU\/QadicRgzPc\/hx5fgrFlBmaedeC4Jv7G8iIqzSEREAREQBERAFGa6qY6iporaw+12tpx5NzuH4\/wVUXS4RWu3y1c3Bg3AcXE8Avy6WeZ10bVVJBlke2Z3LGTkeWO5X0Y3dzzdvrKMej4+x+p2+iit1DFSQj1Y24zj3jzJ+JWDqyWSsqaGxwD1qp4fJg7w0H\/uf7KpJZWQxPlkcGsY0uc48gOJUxplkl2u1Zfp2kNcejgaeQ\/cMD4kqEN8mX17NRox3+y1+CnhiZBCyGMbLI2hrR1AbguaIqzWEREAREQBERAEREAREQBERAEREAXFzmsYXvcGtaMkk4AC5KZ1RVz1lRDYKLfJU4M7sH1GZH7yf3qUY4nYqq1FTjiPNTsfq68+lSsf9lUpxGxxwJHfD59mAq5rQ1oa0AADAA5LooqOG30cdLTsDY4xgY59ZXoSUr6aHKNPAry7z1CIiiXBERAEREBPa0qXRWQU8ZO3VStjAHEjifkB3rZoaYUVBBStxiKNrN3PA4qfuxF01jQW8DajpB00m\/cDuO8dzf7yqFZLKKRmpdqrOfDL01CIirNIREQBERAERYup7u61W3ZhyamoJjiDeI63d27xC6k27IhUmqcXKW4zK+Q6j1E2ibIDbaAiSd2Rhzt\/\/bxWHNTitsl0u2xgOq29H1Nbk7h\/eA7lQy0bNNaNqGhxFRKzD3DjtuwMDsH71y+yzFoB9Nj1zB0zhx352\/3LQpJaHlzpSm3i1s2\/ZLyOOo7g+eyUVFTkuqLiGYA3+rgEnn1jzVBQUUduoYaSH3Im7Oes8z3nJUho+lmudeLlVetHRRNghHLIGPIb\/i5W6rqdnso17Nepeq9+S5flhERVGwIiIAiIgCIiAIiIAiIgCIiAIsm9ahpbMGxuY6apePUhZz+J5LKjst4vjnT3askpYXb2U0W4gcs9Xfkqajld5Gede0sEFd+3NlHX1sduoZqub3Im7WOs8h3nAWHpGhkMc15qjtVNaSQepuc7vj+AWDcNPQ\/bkdmttTO4lm3MZXghu7duGOWPELapb9WWaaO332ANbubHVxj1HDHP+O5WYbRtHeZVWxVcVRWUcuKuVCL41wc0OaQQRkEc19VB6QREQBERAF1zzMpoJJ5DhkbS5x7AuxTmsKmZ9NT2qlIM1dIGkZ37I+QzjuBUoq7sVVanRwcjr0hDJVS1l7qGBr6t5EfY3O\/HZnA\/sqnXTR0zKKjipoxhkTA0LuSTu7ijT6OCi9fuERFEtCIiAIiID45wa0ucQABkk8lKWba1DqGe8SA+jUp6OmBJ3nr8N5+IXr1XXyCCO00m+qriGY6mE4Pjw+GVq2q3x2u3RUkQ3MHrHjlx3kqxdmN+Jll+rVUd0c3z3fJh6ucaysttoYfz8u2\/fjA4fi7wXdq6vdTW6O20g9vWnomsbybwI79w7yvPQuFx1vW1jz7KgjMbSf0TwP7a+WWN191DPfJQfR4CY6Zrge4\/M\/EqdrWvuMzbm5YdZO3ktWd2hpP\/AAmamd78E7gR2ED8cqlUvYh6Fq27UJ3CXEzRntz+35KoVdTvXNWy\/tKL3XXoERFA0hERAEREAREQBERAEREAXgvN0jtFtkq34Lh6sbT+k48B\/HUvepOaMak1Y6B5L6C3j1259Vz9\/UeZ8mlTgk3noUV5uMbR1eSPVpqzvZ0l2rw2Srqz0gy382Dv3dR392MLar62O3UM1XN7kTdrHWeQ7zgL0KX1Q51zuVDYonkdI\/pJi39Fu\/8ADJ8F1duWZCVtnpWjr7tndpGjkME12qjmornF2epufitqtoqe4Ur6apjD43jeOrtHau5jGxxtYwYa0AAdQXJRcm3ctp0lCng1JO11c2m7n9i18m1SSHNLM7gMnh\/HA\/FVizb7aI7zbX05wJW+tE\/qd9CvJpW6yXCgdT1JxVUh6OQHiRyJ8CO5Sl2liKabdKfRPR6fBuoiKs1hERAFKWosvuram54LqejaI4TxBO8Z\/wAR7wtDVlxdQWd0cOenqT0TMDfv4+XzXqsNsFptMNNgdJjblI5vPHw4dysXZjfiZZ\/qVVDdHN\/b5NFERVmoIiIAiIgC4SyshifLI4NYxpc5x5AcSuamNVVU1XU01hpD7SqOZXDPqt7uzJI6h2qUY4nYqq1Ojg5f6516aifd7vVagqG4aSY6dp\/RHDyG7vKo6+qbRUE9U7hFGXfEgbguVLTRUdLHTQjEcTQ1oPUsHW9WYrSyjZnbq5A3A6hvPbxxwUu\/Mpt1eg29dfNmHBLNT6ZbTRZNbeZncBv2M4JwOv5E9StbZQR223w0kYGGN3kczzKm9KUQrqx9zlbtQ0zRT0gcOAH6XD+C4qvXajzsQ2OHZxvkuX5ZLXnNu1jba8DDKkdC\/tPD9oeCqVP61pzLYTM33qeRrx44\/Fd9HqagqJKSm6Rz6meNri1jchp2ckFcacopolCUadWUW7Xs155GyiIqzYEREAREQBERAEREAREQHjutaLfaqmrPGNhLeHvcB54Wdo6l6CwxzOHtKlzpHk7yd+Bv+A8159azPdRUtvj9+smDee8Ajlz3kKhhiZTwRwxjDI2hrR2AYVmkOZmXb2h\/1X1f4OTnNYwvccNaMk9QUzpdjrldK++yt3SP6OHPJv8A2wPFerWFc6lsjoY8mWqcImgccHj5bu9aNooW221U9IBgxsG12uO8+aLKN+JyXbrqO6Ofm9D2oiKs1BSdyaLBquC5j1aSt9nPjgHdZ8j3FViz75bm3S0z0xGXFu1Gepw4fTvU4OzzKK8HKF46rNGgixNKXI3CyxtkPtqf2T89nA+GO\/K21FqzsWU5qcFJbwiLD1XcnUNq6CE\/ymsPRRjO\/B4nzx3hEruwqTVODk9x4qfZ1Bq01QG1SW4bLMgjaf18Ov5BVKzrDbBabTDTYHSY25SObzx8OHctFSm7vIroQcY3lq82ERFAvCIiAIiIDqqaiKkpZamZ2zHE0ucewKb0nTy11VVX+qb7SocWxA8m88eAHcU1ZUS11VS2Cld7SocHSkcm8s+BPcFSU1PFSUsVNC3ZjiaGtHYFZ3Y8zJ+7W8I+\/wCDtX55quWS7amZQ042jHswtGMesd5+fkr2rqWUdJLUyEBkTC45PUFK6Mtjp5Zb5VAF8r3dFnPE+87j2keK7TeG8iG1p1XGit+b5IqKCijt1DDSQ+5E3Zz1nme85K7J54qaF808jY42DLnOOAF03C40trpjUVcoYwcBzceoDrUzFR1+rqhtXWl9NbGnMUIODIOv9\/goqN83oXTqKFoQV3w+fAVlzuOqTLRWiHYoh6ss8oxtdnZ8OPwXo0KymFtmLImtqmSFkrs5JHEfAcu5UkEEVNCyGCNscbBhrWjACmrWfs3WlfQ4Ijq29Kzjx4\/i7wU8V4tIzum6dWFSbu3l8WKlERUnoBERAEREAREQBERAEREBMVx9K17Qw8WU8Je7rzh3\/SqdTFu9pr+5PP6EAaB3M+nmqSWRsMT5XnDWNLnHsCsnuXgZtn\/nLxf0yJe4Yu+t6Wi3OhoWdI8EE79x\/wAg\/jCq1L6NjfU+nXeYevVSkD1s4A3nzOO5VCTyduBzZs4uo\/5O\/luCIirNQREQErSEWTWk9M5+ILi3pGDkHkn8dod4VUp3WVM77OiuMIAnopWvDuYGfrsnuW5R1LKyjhqWe7KwPG7HEKyWaUjLR7E5U\/Ncn+Ttc4NaXOIAAySeSlbPnUGoprw\/aNLS+zpwcj1uvGer5herVdwkEMdnpMGqriGYzvawnGfgd4+GVq2q3x2u3RUkQ3MHrHjlx3kouzG\/ES\/VqqO6Ob57vk9iIirNQREQBERAF1VNRFSUstTM7ZjiaXOPYF2qa1dUvnFNZac+3q3guwcYYD+J+RUoq7sVVqnRwcjr0nTy11VVX+qb7SocWxA8m88eAHcVUrqpqeKkpYqaFuzHE0NaOwLzXi5xWi3SVUhGQMRtP6T8bguyeKWRGnFUafafi\/uTus7m6eWKx0pBfK9vS4zxPut4doPgtmqr6HTFohikftGOMNjjHvSEfLtKgbfcnR3k3GWN1RUEl0bBv2pDuGewZ+SsbPp6Sap+1r0emrHkOZGeEXVu6+zl8VdOKikmYKFadWcpQWb+iOm32apvtSLrfAej4wUvJo7R1fPmqkAAYAwAvqKiUnI9GlSVNZavV8QpfVodQVtvvUTQTDJ0cmRxG8j9rxCqF4L1RfaNnqaYDLnMJZgfpDePMJB2kcrwc6bS13c0e1j2yRtkY4Oa4AtI5hclh6QrTWWCJjyekpiYXZ7OHkQO5bi5JWdidOanBSW8IiLhMIiIAiIgCIiA81fUzUlFJPBSvqpG4xEw4Lt67oXukhY9zDG5zQSw8WnqXNF05Z3vcmLJv1jeCd5AAz3hezV1Z6Jp6fBw6ciId\/HyBXjs2Gazu7OJLQ7zH1C46r\/ll2tNs3Ykl2356sgfLaVtrzR5+Jx2eVtW2vV2NyzUnoNnpKYjDmRDaGP0jvPmSvaiKpu7ub4xUUktwREXCQREQHTVU7KukmppPclYWH4EYU3pi6NoLPV0tdmN1tedvnuJP45HgqpfnmpGUk+rjAKl0UcxY2ocBuad3jux8CraaxXizFtUnScakddPX8m3pikluFXNqCuYellcRTtOfUbzxnlvwO9VC4RRMhiZFG0NYxoa1o5AcAuahKWJ3NFKn0cLb9\/MIiKJaEREAREQHxzg1pc4gADJJ5KW05E67Xqrv8w9QOMdODyGMZHdu7yvXrCufS2f0eE+2q3dE0AbyP0vp3rTtVAy2W2CkbgmNo2nAY2ncyrFlG\/Eyy\/UrKO6OfnuPW5wa0ucQABkk8l+ZaivpvFwLmh3osYLYmE434949q39QXaS9VAsdo9qXn20rT6uByz1dZ7ln0un6d2o6e2xkyikaJKuXk53HZ7BwHirKaUc2Y9rqSrPo6el7c3w8je0vpyC20sdZMBJVSsDsnhGDvwO3tVCiKiUnJ3Z6VOnGnFRiERFwsCIiAlLPi06xrrbubFVDpYgAePHA7i7wVWprWFPLC2kvFM32tFINrtaTz7\/AJlb9LUMq6SGpj9yVgePgRlWTzSkZaHYlKlwzXJ\/k7kRFWagiIgCIiAIiIAiIgJiPFN\/pEkyQPSqbd24A\/yL5T5r9fzS49Shh2ASeeMftOTUrfRL9aLkNwEnRSO6hn6FyaO2qie617nbfT1GA7luyd394eSv\/ji8DzF+70X9r\/S\/uVCIioPTCIiAIi65poqeF80zwyNgy5zjuAQaGZqS8fZNv9nvqZ8shaBk56+7I8QsWq05S0OlJm1ksba1\/tTK943vGSGgnjuyPiVkG5XC+ahNVR0zpZGfmGHe2Hh6x5eO7JVHTaRFTKKu91UlZOd\/RhxDG9nWfJaLYErs8rG9plJxjdaLgvHmfLVq+1i2U7ayqMc7GBrw5jnE43ZyBz4reo6+lr4ulpZ2St3Z2TvGRkZHJSlNQ0Nn1VJQVdJBJS1gDqZ0sYdsnO5uT25Hgu+eFmntWUklN7Kjr8sfE0eqHcPgN5B8VGUYt5FtKtVjHt2snZ8eZWIiKk9AIiIAiLOvF5pbPSOkmkHSlp6KPiXn6LqTbsiMpKCxS0MKrqIa\/WJmmnYyjtLNpzncNscvjn\/Cs29anq73OLfbGPZE92yMHD5T+A7PFYtHQXG7TujpopJOkdtPPBud+88uZ81+h2LT1LZYQWgSVLh68pHkOoLTLDDXU8el0u0XSyTd2\/seKipIdJadlqpmMdV7OXnjtOPutHZw8yuej7e+CgfcKnLqmud0hceOzy8ck94XkuLjqTUrbU1zvQ6I7c5BGHOG7q6zjxVW1oa0NaAABgAclVJtLPVm2jCMp3j3Y5LnvZ9REVRtCIiAIiIDpq6ZlZSS00mdiVhYcdoWBo6rLKeotMxIno5CMHm3P1z4hUqlb0RY9TUl3aMQVIMVRju3+GD\/AGVZDNOJlr9iUavDJ8mVSL4CCMg5BX1VmoIiIAiIgCIiAIiIDF1bR+l6eqMNy6HErezHHyyujRDWN06wtIy6Vxdjr4b+4Bal6\/8AI6\/\/APmk\/wAJUdo64PttWynqTsU1eMxOPDaBLfPBHgropum0efUlGntUZPerF8iIqT0Ai4uc1jC97g1rRkknAAUxW6iqrrUG3aeaXP8A9pUkYa0dn18FKMXIqqVY01nrw3s0rxqOis\/s3kzVB4Qxnf2Z6lJTPu+p71HRVOYmg7T4W7hC3O8kde\/n1rWqaWk0nb\/SB\/KbtUbo3yDaJdneQO\/4nctTTdndbaR1RUEvrKr2kzncQTv2fr2q1OMFdGGcaleooSdlq0vv4mlQ0FNbqZtPSxCNjRy4ntJ5lehEVGp6SSSsjG1RbDcbS50QPpFOekiI47uI8PMBYl2rhfNFNriQJ6aVvSY3YdnZ89oFWZIAyTgBQV+hjstXUx00rH0dwjIfE135t\/EHA5Z3jsyFdTd8jBtccKc9zVn9mW1DUel0FPUZB6WJrzjtGV6FKWHU9rpbFTQ1dVsTRgsLdhxOMnHAdWF3v11aW7mR1Mh5BrBv8SounK+SLo7VSwJykikRSc+u44mhzbXPsngZHbOfIrMrdSXi+s9HoKZ8EZB2ujOS4f727C6qUt5CW20V3Xd8Ddv2rae25pqPFRVndu3tZ8es9ilrlarjIaapuMjvTK+bYZG7i0fDlvI3cl32elulreZorPFNLnc+Z4y34DIXKesvdz1DFtU9K2som7QYHDYHA5J2iDxHNXRSjoefVnKsr1L56Kzt+XYvqeCOmp44ImhrI2hrQBhZmpbqbXa3mLPpM\/s4QAc5PPuWPU3LVNPTvqZn0EMcYy71gfxKy6eO\/XuqhvGYHGI+y6Vwa0Y5hvx81VGnnds2Vdq7OCEXflu4lZpq1G12tglz6TP7SYknOTy7lrqV6fV3\/u0H95qCbVxOBJQkn+s1ccW3dtFkK0YRUVB5eBVIpj8s\/wBT8k\/LP9T8lzB4os6x\/SXoU6KY\/LP9T8k\/LP8AU\/JMHih1j+kvQp0Ux+Wf6n5J+Wf6n5Jg8UOsf0l6FOvBera262uakONpwzGTycOCx\/yz\/U\/JPyz\/AFPyRRs73RGVZSTi4Ss\/A9ekrj6fZY43n21N7J454Hu+XyK3F+fUpvlu1DLS076YVlYNt7AQW5GT3Hie\/tW1+Wf6n5KU4Z3TKqG0vAouLbWWhTopj8s\/1PyT0jWcX\/oqOfvA\/aCjg8UX9Y\/pL0KdFMfamrBuNlgJHHDv+pfBfdRx\/ndPl3L1Cf3rnRsdZhvT9GVCKY+8d9\/o5N4u+ifeO+\/0cm8XfRd6OQ61T8fR\/BTopj7x33+jk3i76Kkic58THvYWOc0EtJ909Si4tallOrGp3fZnTcojPbKqFuMyQvaM9rSFK2u2x3zRsdO3dU0kj+jOcEOznB+Of4wrNTVTpyuoq6WtsNW2nMu98Dx6hOfDmeW5Sg8rFO0U25KVrqzTPRpy9urYzQV2Y7hT+q9r+LwOfx616bpqK3WkFs823KP9lHvd39Xep+q0xfq+c1tTV07KljMMMQ2XOI4bwB4ro0+62WutNNeaQwV4dumnILPj1D47\/ip4IvNehnVetFKElbxf+1Pe2iu+qXiW4l1Db85bTt95447\/AC3nuCpKOipbdTCGmibFG0b8c+0nmu9rg5oc0ggjII5qXvNn1FcqyRkddHHRl3qNDy3d24G9Qviy0RocehWJJyk9\/wDtEeCmuFFXX6a73apZFDTP2Kenc4lzSMb9kb+34\/BaNTru3RnFNBPUHGc42R57\/JZ0X+j6cgdNcI2HnsRl34haEGgrazBmqKiU9hDR8vxVr6PezJTW2JNRilff\/vgz5tbXGXfBTUkDefSybTh3ZHyWfLqK4zfnr2Wt6qeIgjd8G\/NWMGlrJB7tCxx65CXfMr3w0NHTHMFJBF\/uRhvyUccFoifVton35+\/2sfnTaerrjtCnutc3+e5xaCOfJ3PtXczTV1kGyyyMaP50s28f8w+Sua28263h3pNZExzeLNrLvAb1hnUt0u23HY7Y4tBx6RKQAO7hnvPwUlOT0RVLZqMXaUrvgln9yVqqS42CfoZoomukbtBzo2PBHYSPklLWXu4T9BST1Dnu\/RhdsgfHGAB5Ksj0jPXYlvlymqJOUcbsNb4\/gAvPG26aPc5ohFbbSS7aYNlzO1xx+74KWNPTNlL2acXd3UPqj5TaInqW9JdrhI6Qjc1jtrZ+JK9jdB2lucy1Tvi9v4NXuo9UWesjDhWMhceLJjsEeO7zXtN0twGTX0wA\/wDub9VS51D0IUNlaurPzMX7i2j+dU\/8QfRYFostpqWXGqrppIqWnm2I3bYG7J4nG88OCo7hrG30xEVHmtndua2Pc3PafosHTOnPtamFTWTuNIJCRA0n13bsknl81ZFyUW5MzVIUZVIxpRTefLzOq1achvdwfLTtmhtjDgPkI25OwfxuW\/8AcW0fzqn\/AIg+ioYoY4ImxQsbHGwYa1owAFzVcqsm8jXT2KlGPaV2Tf3FtH86p\/4g+iHQloIxt1I7ekH0VIij0k+JZ1Wh\/wAomPuJb2\/mqysZnj67d\/kn3Gpf\/kKz+8PoqdE6SfE51Sh\/yS50NS43XCrz\/vD6L79z52b4L7WRnrye7gQqdF3pJcR1Sj\/z7kx92r0zczUtQR\/WDv8AMU+7l9\/pHN4O+qp0XOkkOq0\/H1fyTH3cvv8ASObwd9V8+6tymP8AKtQ1Lhw2Wg8P7yqEXekkOq0vH1fyZVp07Q2dzpIA+SZ3GWQ5d8Fqoig227svhCMFaKsgiIuEgiIgCIiAIiIAiIgC8twttJdIBDVwiRoOWngWnrBXqRE7HGlJWZLfdi5WyXpLJdXMZg+xm3j6HwX37R1ZSBwntkNSBwdGd58D+CqEVmNvVXM\/VlHuSa9vqTH3sr2erNp2ra7s2t\/\/ACp95b1Jui01UNP9cu\/yhU6LmKPAdFV\/9H6Il\/TtX1R2YrbT0zT+m87x\/wA34L46waguAIuN76NjhvZADg9hxgKpRdx20Q6sn35N+fwYdFpC0UZ23wmpkznanO15cPJbTWtY0NY0NaOAAwAuSKDk3qXQpwgrRVgiIuEzOqtP2mtO1PQRF3W0bBPeMLyN0dZG5\/kzyDxHSu3+a3EUlOS3lToUpO7ivQ8dLaaCiifHS0scQeC1xaN5HaTvKwtHVUdHQVVDVTRxy005Dg52Mbu3tBVSsmv0zarjUekT056Q+85jy3a+IUoyvdMrqU3FxlTSy+5pxSxzRtkikbIxwy1zTkHvXNdFHR09vpWU1NHsRM4DOV3qtmiN7ZhERDoREQBERAEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "SOCIEDAD  EDUCACIONAL INMA LTDA.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "wasap",
    "idFalla": "-2",
    "otraFalla": "HOJAS CON LINEAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "946496376",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:21",
    "ubicacionGPS": "LatLng(lat: -23.6992615, lng: -70.4219571)",
    "horaLlegada": "13:13",
    "horaDespacho": "16:21",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


04/05/2026 16:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78863090

[04/05/2026 16:21: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('78863090', 'TO2785', 1, 24456550, 0, NOW(), 
				'16:21', '13:13', '16:21', 10, '•Se entrega toner y corchete
', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777926112.png', '•Entrega en recepción sin contador', null, 'COMPLETADO','LatLng(lat: -23.6992615, lng: -70.4219571)' )
				
[04/05/2026 16:21:52] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200165

04/05/2026 16:21:52 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200165'                    
				WHERE idllamado = 12217			
				TO ENVIO: micorreo@miempresa.cl, null


04/05/2026 16:21:52 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12217			
				
04/05/2026 16:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


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

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

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

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

04/05/2026 16: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 = 12217
                
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:22:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:22:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:22:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            [04/05/2026 16:22: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;
                

04/05/2026 16:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                [04/05/2026 16:22: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;
                

04/05/2026 16:22:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                [04/05/2026 16:22: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;
                
[04/05/2026 16:22: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;
                

04/05/2026 16:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:22:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            
04/05/2026 16:22:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12217
            GROUP BY l.idllamado;
            [04/05/2026 16:22: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;
                

04/05/2026 16:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                [04/05/2026 16:22: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;
                

04/05/2026 16:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                
04/05/2026 16:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12217
                [04/05/2026 16:22:10] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:22:10] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 16:22:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

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

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

04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12435
                
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                [04/05/2026 16:25:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            [04/05/2026 16:25:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12435
                
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            [04/05/2026 16:25:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            [04/05/2026 16:25:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:25:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                [04/05/2026 16:25: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;
                

04/05/2026 16: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 = 12435
                [04/05/2026 16:25: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;
                

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

04/05/2026 16: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 = 12435
                [04/05/2026 16:25: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;
                
[04/05/2026 16:25: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;
                

04/05/2026 16: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 = 12435
                [04/05/2026 16:25: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;
                

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

04/05/2026 16:25:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16:25:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12435
                
04/05/2026 16:25:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12435
                
04/05/2026 16:25:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16:25:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16:25:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12435
                
04/05/2026 16:25:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                [04/05/2026 16:43: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;
				
[04/05/2026 16:43: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;
                
[04/05/2026 16:43: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;
                
[04/05/2026 16:43:30] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:43:30] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 16:43: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;
                
[04/05/2026 16:43: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;
                
[04/05/2026 16:43:38] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:43:38] 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;
                
[04/05/2026 16:43: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;
                
[04/05/2026 16:43: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:43:43] 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;
                
[04/05/2026 16:43: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;
                
[04/05/2026 16:43:53] 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;
                
[04/05/2026 16:43:53] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:43: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;
                
[04/05/2026 16:43: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;
                
[04/05/2026 16:43: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;
				
[04/05/2026 16:43:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:44: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;
                

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

04/05/2026 16:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16:44:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                [04/05/2026 16:44: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;
                

04/05/2026 16:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                [04/05/2026 16:44: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;
                

04/05/2026 16:44:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16:44:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            [04/05/2026 16:44: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;
                

04/05/2026 16:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                [04/05/2026 16:44: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;
                
[04/05/2026 16:44: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;
                
[04/05/2026 16:44: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;
                

04/05/2026 16:44:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                [04/05/2026 16:44: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;
                

04/05/2026 16:44:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16:44:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                [04/05/2026 16:44: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;
                

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

04/05/2026 16:44:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16:44:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16:44:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16:44:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                [04/05/2026 16:44: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;
                

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

04/05/2026 16:44:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16:44:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16:44:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            [04/05/2026 16:44: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;
                

04/05/2026 16:44:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16:44:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16:44:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16:44:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16:44:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16:44:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16:44:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16:44:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12438
                
04/05/2026 16: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 = 12438
                
04/05/2026 16: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 = 12438
                
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12438
                [04/05/2026 16:44: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;
                

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

04/05/2026 16: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 = 12438
                
04/05/2026 16: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 = 12438
                [04/05/2026 16:44: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;
                

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

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

04/05/2026 16: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 = 12438
                [04/05/2026 16:44: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;
                

04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12438
                
04/05/2026 16: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 = 12438
                
04/05/2026 16: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 = 12438
                
04/05/2026 16: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 = 12438
                
04/05/2026 16:44:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 16:44:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                [04/05/2026 16:44:33] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:44:33] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 16:44: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:44: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;
                
[04/05/2026 16:44:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:47: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:47:43] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:47:43] 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;
                
[04/05/2026 16:47: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:47:47] 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;
                
[04/05/2026 16:47:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:47:50] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:47:50] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 16:47:50] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:47:54] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 16:47:54] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:47: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;
                
[04/05/2026 16:48:01] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:48:01] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 16:48: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;
                
[04/05/2026 16:48: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;
				
[04/05/2026 16:48: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;
                
[04/05/2026 16:48: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;
                
[04/05/2026 16:48: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;
                

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

04/05/2026 16:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            [04/05/2026 16:48: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;
                

04/05/2026 16:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                [04/05/2026 16:48: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;
                

04/05/2026 16:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                [04/05/2026 16:48: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;
                

04/05/2026 16:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                [04/05/2026 16:48: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;
                

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

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

04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                [04/05/2026 16:48: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;
                

04/05/2026 16:48:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16:48:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12435
                
04/05/2026 16:48:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16: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 = 12435
                
04/05/2026 16:48:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16:48:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16:48:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                [04/05/2026 16:48: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;
                

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

04/05/2026 16:48:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16:48:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16:48:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16:48:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            [04/05/2026 16:48: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;
                

04/05/2026 16:48:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            [04/05/2026 16:48: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;
                

04/05/2026 16:48:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16:48:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16:48:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16:48:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                [04/05/2026 16:48: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;
                
[04/05/2026 16:48: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;
                

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

04/05/2026 16:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
04/05/2026 16:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                [04/05/2026 16:48: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;
                

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

04/05/2026 16:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                [04/05/2026 16:48: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;
                

04/05/2026 16:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                [04/05/2026 16:48: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;
                

04/05/2026 16:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
04/05/2026 16:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                [04/05/2026 16:48: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;
                
[04/05/2026 16:48:42] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:48:42] 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;
                
[04/05/2026 16:48: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;
                
[04/05/2026 16:48:50] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:48:50] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 16:48: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;
                
[04/05/2026 16:48: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;
                
[04/05/2026 16:48: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;
				
[04/05/2026 16:49:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:49: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;
                
[04/05/2026 16:49: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;
				
[04/05/2026 16:49: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;
                
[04/05/2026 16:49: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;
                
[04/05/2026 16: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:49:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:49: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;
                
[04/05/2026 16:49: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;
				
[04/05/2026 16:49:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:49: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:49:31] 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;
                
[04/05/2026 16:49:31] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:49:35] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 16:49:35] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:49: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;
                
[04/05/2026 16:49:39] 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;
                
[04/05/2026 16:49: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:49:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:49: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;
                
[04/05/2026 16:49: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;
				
[04/05/2026 16:49: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;
                
[04/05/2026 16:49: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;
                
[04/05/2026 16:49: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:49:44] 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;
                
[04/05/2026 16:49: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;
                
[04/05/2026 16:49:53] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:49:53] 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;
                
[04/05/2026 16:49: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;
                
[04/05/2026 16:49:57] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 16:49:57] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:49: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;
                
[04/05/2026 16:49:59] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:49:59] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 16:49: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;
                
[04/05/2026 16:50:01] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 16:50:01] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:50: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;
                
[04/05/2026 16:50:02] 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;
                
[04/05/2026 16:50:02] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:50: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;
                
[04/05/2026 16:50:04] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 16:50:04] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:50:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:50:23] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:50: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;
                
[04/05/2026 16:50: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;
                
[04/05/2026 16:50:26] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 16:50:26] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 16:50: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;
                

04/05/2026 16:50:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            [04/05/2026 16:50: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;
                
[04/05/2026 16:50: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;
                

04/05/2026 16:50:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                [04/05/2026 16:50: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;
                

04/05/2026 16:50:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            [04/05/2026 16:50: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;
                
[04/05/2026 16:50: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;
                

04/05/2026 16:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                [04/05/2026 16:50: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;
                
[04/05/2026 16:50: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;
                

04/05/2026 16:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            [04/05/2026 16:50: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;
                
[04/05/2026 16:50: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;
                

04/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                [04/05/2026 16:50: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;
                

04/05/2026 16:50:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                [04/05/2026 16:50: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;
                

04/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            [04/05/2026 16:50: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;
                

04/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            [04/05/2026 16:50:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            [04/05/2026 16:50:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:50:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 16:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            [04/05/2026 16:50:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                [04/05/2026 16:50:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                [04/05/2026 16:50:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:50:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                [04/05/2026 16:50: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;
                

04/05/2026 16:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                [04/05/2026 16:50: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;
                

04/05/2026 16:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            [04/05/2026 16:50: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;
                

04/05/2026 16:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            [04/05/2026 16:50: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;
                

04/05/2026 16:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                [04/05/2026 16:50: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;
                

04/05/2026 16:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            [04/05/2026 16:50: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;
                

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

04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                [04/05/2026 16:50: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;
                

04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                [04/05/2026 16:50: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;
                
[04/05/2026 16:50: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;
                

04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            [04/05/2026 16:50: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;
                

04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            [04/05/2026 16:50: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;
                
[04/05/2026 16:50: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;
                

04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12446
                [04/05/2026 16:50: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;
                

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

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

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

04/05/2026 16: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 = 12446
                [04/05/2026 16:50: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;
                

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

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

04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                [04/05/2026 16:50: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;
                

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

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

04/05/2026 16: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 = 12446
                
04/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            [04/05/2026 16:50:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:50:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12446
                [04/05/2026 16:50:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16:50:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            [04/05/2026 16:50:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:50:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 16:50:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:50:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16:50:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12446
                [04/05/2026 16:50:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            [04/05/2026 16:50:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            [04/05/2026 16:50:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16: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 = 12446
                
04/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                [04/05/2026 16:50:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            [04/05/2026 16:50:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16: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 = 12446
                
04/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            [04/05/2026 16:50:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            [04/05/2026 16:50:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12446
                
04/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            [04/05/2026 16:50:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            [04/05/2026 16:50:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16:50:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:50:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:50:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:43 - logentry: =========================================
FECHA: 04/05/2026 16:51:43
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-OLv0pTfJO9++9Ph0Fk-yLJUC1b9ildhheGODev9ct51-82D00vh
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69900303",
    "serieinterna": "EP2213",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "41739",
    "contadorColor": "38112",
    "contadorScanner": "0",
    "detalle": "•Entrega de tintas epson\nITIN1940 ITIN1941 ITIN1942 ITIN1943",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12446",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACLAWADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA+EAABAwMBAwoEBAUCBwAAAAABAAIDBAURBhIhMRMUQVFhcYGRobEiMsHRFTNCQyMkUuHwFnIlJkRTYpKy\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMREAAgEDAgQFAwMEAwAAAAAAAAECAxEhEjETUWHRBCIyQZEzcYEUseEjQqHwQ1LB\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREARF8c4NGXEAdZQH1FUVuqLPQnD6sSuxkNhG36jd6qtOp7rcMC0WaRzXcJZuH0HqrqEmYS8TSi7Xu+mTUqPU11JRjNTUxQ\/73gLPGz6luTs192FLGf24Ojhu3Y9ypNPoq0xYMwmqXDpkkI9sKdMVuyvFqy9MLffsfarWlmpx\/DlkqD1RsPucKMdUXSrOLbYpnA8Hy5A+3qr6mttDR45tSQxEdLWAHzUpLxWyHDrS9U7fZdzMFus6kZ26OkyeG44\/wDpRLo3UNpozXVN7jy12GsDPnJ6MYx1ngtTX3CmttK6pqpAxjRw6XHqA6Ss7RUtRqmsFwuMZZboz\/L05J+PtKtGXu1g56tOz0Rk3J9durNHQzS1FDDNPGI5JGBzmDO7PepCIsT0ErKwREQkIiIAiKHWXWgt5xV1ccTsZ2Sd\/lxUpX2IclFXbJiKgm1rZY\/klll\/2REe+Fa0FxpblBy1LIHtycjpG8jh4FS4yWWjONanN2jJNkpERVNQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAirrhfbbbGu5zVM22\/tMO0\/y6PFU51Nc7m5zLJanOaCP4024eW4equoN5MJ+Ipwdr3fJZZqCQBknACp6\/VdooMg1IneBnYh+Lwzw9VXDS9yuTw+93Vz2bWeRh+X6AeSubfYbbbA009KzlG\/uPG0\/zU2gt3cprrz9K0rrv8FMLzqO7H\/httFLEQDys43ntBO4juBXpmkqut+K83aafO8xRH4Qe8\/YLUImu2ysP0yl9RuX7fCK2j09aaEgw0Ue0DkPeNojxKskRUbb3OiMIxVoqwRFxqqunooHT1MrYo28XOKgltJXZ2VJd9TU1ufzWnYautcdlsMe\/B7ce3FVst3umpJHUtmjNNSZxJVP3Ejs6u4b+5XFn09RWdu1G3lag\/NO8fEe7qWmlR9Ry8WdXFLbn2K2h05U3CqFw1BJyz+LKYH4Wdh+3nlaZrQ1oa0AADAA6F9RVlJy3NqdKNNY\/kIq+tvtrt4\/mayNrv6Gnad5Deqf\/VVdcDs2W0SzDeOVl3NB9vUIoSZE69ODs3nkss1C4VFbS0gzU1MUIIyOUeG581nvwnU1xOa27NpWH9uDiB1bsdvSVHqbJpyygS3SplqZiMljn73HrwN\/mVZQXP4MpV6lrqNlzbsXcmprLF81wj4Z+EE+wXms1RaqOlZPzkSmQAsjj3vIPDI6PFZFlHJqKYw2m2xUdG0jalcMnd1u8eA8Vq7VpW22vZfyfOJx+5KM4PYOAVpRhHcyp1vEVW9KVuef9ZXsrdSX4HmsLLbSuO6V+dsjs6\/ADvU2g0ha6VodPGayY73SSncT0\/Dw88qderrHZ7a+re3bcCGsZnG049HufBRNN0tYylfW10rnTVhEmwSfgB3jdwB39ACi703WEXVOHEUZeZ9fb8bFlFQUVP8Ak0kEf+yMD2WftrG0euq+mh+CKWEPLAMDPwn6nzWnc4NaXOIAAySehZfTLX3K9XC+vGGSHkohjiN2\/h0BoHiVEdm2WrJa4Ris3\/xbJqURFmdYREQBERAEREAREQBERAEREAReXvZGwvkcGNaMlzjgBUVfrG10juTgc+skI3CEZHiftlSot7Gc6sKavJ2L9cKuspqGEzVU7IWDpccZ7utZw1WqL00tp6aO2QOHzyE7eO\/j6BdqXRtLyrp7nUS18zuJeS0e+T5q+lL1Mx405\/Tj+Xhdz5Uaximc6Gz0c9dN0EMIb39foFyNs1LeWkXCtZQwOH5UIye7cfclaWnpaelj5Onhjib1MaAuqa0vShwJT+pK\/RYXcpbfpO00Hxchzh\/9U+HY7hwVyAAMAYAX1FRtvc3hThBWirBERQXCIiAIuNVV09FA6eplbFG3i5xWZfcrrqeV9PaQ6joQcPqnbnO7B9h4kZwrRi2Y1K0YY3b9ixvGp6W3O5vTjndYTsiKPfsnt+3FQKXT1deKhtdqCUkDeylacADt6vftVvaLBQ2Zn8vHtTEYdM\/e4\/YdgX25X+22pp5xUAyD9qP4n+XR44V07YgYyhfz13jl7fnmT4oY4ImxQsbHGwYa1owAFzq6ymoYTNVTshYOlxxnu61nfxbUN5cWWyhFFA4bp6gEHHWP7ArpSaOhe4TXaqlrpyckF5DR9So0pepluNKWKUfy8I+TawFRPzazUMldIR85Ba0duOOO\/C5tsuoLuA663I0sZP5EGM46sjd55WmgghpohFBEyKNvBrBgBRLje7famE1VQ0P6I273nwRS9ooiVLGqtPHwiLRaUs9Dgim5Z4\/VMdr04eik3C8W6zx\/zMzWHGWxN3uPgqN1zv8AfzsWymNDSu\/6iTcSOsH7Z71Ko9L2y2MdW3GXnUrRtPln+UduPvlS1\/3ZSM8WoRsubwv5Kyu1FdrjTPno4\/w+hbxqJPmd2Dt7B5qDYNLz3iUVtc54pS7OXH45vsO3yVnQwS6tuLqyraWWymdiCHgHn\/OPl1rXtaGtDWgAAYAHQrSnoVkY06HHlxKjuvbr+PZHiGGKnhZDCwMjYMNa0bgF0Rc6iXkKaWbd\/DYXb+wZWB6eEjM1AdqHVYptocztp2nj+p+cY3Hs9CtUs3omINtE1U9zTJPO4vcCN2P8J8V0u+qYYDzO2EVlbJ8LBH8TWk9Z6T2LWSblpXscdKcYU+LN5lnsjnqe6SSOFhoGl9XVANeRwY08fMZz2K3tNvZa7ZDRswSxvxOH6nHifNQbBY3W8PrKw8rXz75Hl21s9gV2qyatpRpShJydWe726IIiKh0hERAEREAREQBEUaruFHQs2qqqihHU5wBPcOJTchtJXZJRZ2o1taonbEInqXHhybN3qQvlPqS5VU0Qj0\/UCJ7w0vc4jAON\/wAqvw5cjD9TSvZO\/wBs\/sS7veqqgqm01JbJax7mB+03OBkndw7CoIn1dX4DKamoGZ3lxySOrp9gtMiKSXsTKlKTu5u3TBmG6OfVPa+7XWoq9ngzJAHiSforuhtNBbWgUlLHGQMbeMuPeeKmIoc5PcmFCnB3SyERFU2CIiAIvMkjIo3SSPaxjRlznHAA7Ss7PqqSrqTS2GiNdIBkyO+FjfPHrhWUW9jOpVhT9T7mkRZZ19vtqfG+80EXN5HbO3DxBPcT5YWn228nyhcA3GcnduRxaIp1YzvbDXM9KjvOpYqCQUlHHzuuedkRM37J7ce3sq26ahnusslDapBBTN\/Prnu2QB2Ho9z0KPQ3Gz2RxhtVPPdK9w3ytb83Z147h4rSNP3Zy1PFJu0HZc+y9ybTabrLrO2t1BUF5zltKw4a3s7PDzVhW6htFnjbTtka9zBstgpwHEY6N24Kt5hqS\/MzXVLbdTO\/Zjb8RHbvz5nwVva9O260gOgh25R+7Jvd4dXgkmv7n+EKcZ\/8cbX93u\/wU75NS387MUf4XSO\/U44eR7+wVla9LW62ESFnOJ+PKy78HsHAe6uHvZGwvkcGNaMlzjgBZ2v1hA2XmtqgfX1B3DYB2fufDzUJyliJeUKVJ66ru+v\/AIjRkgDJOAFSV+rbZSOMUL3Vc\/ARwjIz38PLKg\/gt8vjdq8V3NoXHPNoB7\/3yru22WgtTMUkAa7GDI7e4+Ki0VvktrrVPStK5vf47lJ\/zTfG\/otUBPaJCPf2VhbdK22gPKSR86nJyZZhtb+sDgPdXSKHN7LBaPh4p6pZfULIVs02rrk2ionFttp3Zmmxueezr7PNSdSXKoqKllithJqJt07h+hp\/scns71dWu2QWmhZSU43De5x4ud0kqV5Ff3KT\/rzdNelb9enckQQRU0DIIWBkcY2WtHQF0RFmdaVgvhAIwRkFfUQGdm0ZRSSyGKpqIIZd7oY3YbnOd32VnbbNQWqMNpYA13S929x8VPRWc5NWbMY0KcXqjHIREVTYIiIAiLlUVVPSR8pUTRwsH6nuAHqhDaWWdUWcqta26N4jo45ayUkABjSAfPf6LgHaqvWMNZa4CeOCH48d\/sr8N++DnfiYXtDzPp32NDWXGjt7A+rqY4QeG0d57hxKoJtZCokMNnt81ZJg7yCAO3A3n0Uih0db4Dyla59dMTtF0pIGe7PvlXkMMVPGI4ImRMHBrGgAeAU+RdSLV57tRXy+xmeYaqupzV1rLfEf0RccY7N\/mVJpNFWqH4qjlauTpMjsDyH91oUUcSXtgleGp3vLL65ONPSU1IzYpqeOFvUxgb7LsiKh0JJYQREQkIiIAiIgCrrzeYLNSiWVrpHvOyyNvFx+isV4dFG97XPYHOYctJGcHsUq18lZqTjaLszLR2e66imbUXp7qWlG9lKzcT3jo8d\/ctNS0dPQwCClhZFGP0tHr2rsvjnBrS5xAAGST0KZSbM6dGNPO75szWtJnPpqO3R45WqnGAd+4bvchdNRWa53CCmpKCpDKdrdmRr3bIOMYzgb+7sUe1ufqDUkl2wRR0o5OAHpPH658lqldvRZGEIKvrk9nhfZdzJ0Gg6aPfX1L5+pkfwtB6d\/E+i0lJb6OgZsUlNHCMYOw3BPeeJXmtuVHbo9usqWQg8A47z3DiVQyaqqrjM6nsNvdOQcGaUYaPD7nwTzz3JS8P4fCWflmllmigjMk0jI2Di57gAPErP1WropJDT2ellr5+GWtOwO3r\/ziuMelay4ziov1eZ8HIhiOGj2x4DxWipKOmoYRDSwMhYOhoxnv61Hlj1LXrVNvKv89kZ1mnbneHia\/VpazORSwncO88PfvWgo7fR2+IRUlOyFv\/iN57zxPipKKrk2aU6MIO635vcIiKpsFVX+9R2mkIYQ6rmGzBH0k8MnsC63m8U9nonTzOBkI\/hx53vP27VU6etNRUVDr5dhtVMu+Fh4Rt6Djo7OpXjFW1M5qtRuXDp7\/t\/vsStN2Z9DE6urS59wqRmVzjktBOce2VeIiq227s2p01TiooIiKC4REQBERAEVVcNSWq27palsjwccnEdpw7+rxVV\/qC+XU7NptXJRnI5af36APVXUG8mE\/EU4u17vksmoc5rGlz3BrRxJOAFS1+rrTROMbJTUyg42IRn14KG3S1bcSH3u7SzA7+RiOGg+3kFdUFmt1sH8pSsYTxcficfE71NoLfJTVXn6VpXXL+CjFdqm7k80pWW6Anc+YfFjx+gXan0ZTul5e51c1dKTk7RLWn1J9VpEUa37YJXhovNR6n17bEekoKShZsUtPHCMY+FuCe89KkIiodCSSsgiIhIREQBERAEREAREQBERAERQKy92yge6OprY43sxtMzlw3Z4DepSb2KylGKvJ2J6p9RQXOspoqK3taI6gllRKSPgb9jv\/wAKgy61hlk5K20FRWSZwN2yPqfRc\/wzUd6c43GrFBTu\/Zi3kjwPufBaKLi7vBy1K0akXCF39u5PFfZ9M0LKJ9S3aibvY0AvcesgdPeoDb1fL41zbTRClhO4VEx9v7Aqzt2l7Vbtl7KflZQMcpKdo+XAeStgABgDAChyitskqnVkrSelcl3M7RaPp2zc5uc76+c7zt52f7\/5uWhYxkbAyNoY1owGtGAF6RVcnLc3p0oU1aKCIiqaBEXCrrKahhM1VOyFg6XHGe7rQhtJXZ3VJetSQWx3NaZnOq5+5sLN+CeGce3FV818ud\/fzaxQSQQ5w+rkGMd3V79ytLLp6ls7eU\/OqnfPO\/j4dS00qOZfByurKriltz7cyFatOzT1Qut7eZqt29sRPwxjq\/tw71pERVlJy3N6dKNNWiERFU0CL4SAMk4AVLXautNE4xtmdUyA42IG7Xrw9VKi3sUnUhBXk7F2otbcaO3RcpV1DIm9u8nuA3lZ8VWp725wp4Ra6Y7tuQHb9d\/kB3qTQaNt8B5WtL66cnLnSE4z3dPjlX0pepmHGnP6cfy8LucpNXSVbzFZbbPVuBwXubho8vrhcxZb\/dwHXa482iz+RDjh4bvPK08UMUDBHDGyNg\/SxoAXtNaXpQ4Dn9SV+myKq3aatVtAMVMJZAc8pMA53h0DwVqiKjbe50QhGCtFWCIigsEREAREQBERAEREAREQBERAEREAREQBQJ7Ha6qqNTPRRSSni5w47sbxwKnopTa2KyjGWJK54ihigYI4Y2RsH6WNAC9oigsEREARFCrrvQW1uauqjjOMhmcuPgN6lJvYiUlFXbJq4VdZTUMJmqp2QsHS44z3dazn+o7reJDFY6DZjzg1E\/AfT37l0ptIGonFVe619bN\/QCQwdmeOPJX0JepnNx3P6Sv12X8nOfVNZcpTTWCifKeBnkG5vhwHj5LpR6TdPOKu+VTq2b\/t5Ow37924LRQQQ00QigiZFG3g1gwAuia7YjgLw+p3qu\/7fB5jjZFG2ONjWMaMNa0YAHYF6RR6u4UdAzbq6mOEYyNt2Ce4cSs9zpbUVdkhFmajWLJpHQWeimrpcbnBhDe\/HH2XM2vUl5z+IVzaGFw\/KhGfDcfclaaH74Od+Ji8U1q+23yXFx1BbLWSypqRygH5bBtO9OHiqk6ju9zOLNaH8meE1RuB6+z1Ksbdpe1W0teyn5WVv7kp2j5cB5K2AAGAMAJeK2VyNFafqeldO\/8ABlhpe5XJ4fe7q57NrPIw\/L9APJXdDZLbbgOa0kbHA52z8Ts953qeihzbLwoU4O6WebywiIqG4REQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREARfCQBknACoa7V1FDIaegY+vqOAbCMtz39PhlSot7Gc6kKavJ2L4kAZJwAqa4artVAQwTc5kP6KfDvXgq\/8ABb5fWB93ruawu382hb0du\/3yrm32K22xrebUrNtv7rxtP8+jwV7RW+THXWqehWXN9u5TCp1NfJCII\/wqlO7ae34yPEZ8sd6l2\/SFBSvM1WTXzk5L5h8P\/r98q\/UWrudDQg86q4oiBnZc4Z8uKa28RHAgvNUd317bElrQ1oa0AADAA6F9Wan1rTOk5G20dRXScBstIB+vovGNV3Y5zFa4Cc9b8HzOfJRofvgn9TB4h5vt32NDVVtLQxGWqnZEwdLj\/mVQz6ygkkMNqop66QEbw0huPf0C902jKFr+Vr5566XG8yOIHpv9Ve09LT0sfJ08McTepjQFPkXUj+vPlFfL7GcNNqu6\/n1EVsiI+WLe7s3gk+oXek0ZbYZRNVPlrJc5JlduJ68dPitCijW\/bBK8NC95eZ9c\/wAHOCCGmiEUETIo28GsGAF0RFQ6UrBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQGCrbo6+XSWjr7g230MR+QA5k8enx8ld0l30vZ4OTpaiJu7eWMc5zu8gK3qrZQVrtqppIpXf1OYNrz4rjHYLRE4ObbqfI4ZYD7rVzi1Y4Y0KsZOSab5u9yrm1zbQ7YpoKioeflDWAA\/X0Xg3jUtfnmNmFOwjc6c7+\/fj2WljhihbsxRsjb1NaAF7UaorZGvCqy9U\/hW7mX\/A9RVw\/nr3yLSflgH2x1BSaTRlopnbcrJKl+c5ldu8hjPir9FHEkSvDUk7tXfXJzhghp2BkETImDg1jQ0ei6IiodCVgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/9k=",
    "razonSocial": "CONSULADO DE ARGENTINA ANTOFAGASTA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOHANN GUERRERO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:51",
    "ubicacionGPS": "LatLng(lat: -23.6587577, lng: -70.3973769)",
    "horaLlegada": "13:50",
    "horaDespacho": "16:21",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 16:51:43
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-OLv0pTfJO9++9Ph0Fk-yLJUC1b9ildhheGODev9ct51-82D00vh
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69900303",
    "serieinterna": "EP2213",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "41739",
    "contadorColor": "38112",
    "contadorScanner": "0",
    "detalle": "•Entrega de tintas epson\nITIN1940 ITIN1941 ITIN1942 ITIN1943",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12446",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACLAWADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA+EAABAwMBAwoEBAUCBwAAAAABAAIDBAURBhIhMRMUQVFhcYGRobEiMsHRFTNCQyMkUuHwFnIlJkRTYpKy\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMREAAgEDAgQFAwMEAwAAAAAAAAECAxEhEjETUWHRBCIyQZEzcYEUseEjQqHwQ1LB\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREARF8c4NGXEAdZQH1FUVuqLPQnD6sSuxkNhG36jd6qtOp7rcMC0WaRzXcJZuH0HqrqEmYS8TSi7Xu+mTUqPU11JRjNTUxQ\/73gLPGz6luTs192FLGf24Ojhu3Y9ypNPoq0xYMwmqXDpkkI9sKdMVuyvFqy9MLffsfarWlmpx\/DlkqD1RsPucKMdUXSrOLbYpnA8Hy5A+3qr6mttDR45tSQxEdLWAHzUpLxWyHDrS9U7fZdzMFus6kZ26OkyeG44\/wDpRLo3UNpozXVN7jy12GsDPnJ6MYx1ngtTX3CmttK6pqpAxjRw6XHqA6Ss7RUtRqmsFwuMZZboz\/L05J+PtKtGXu1g56tOz0Rk3J9durNHQzS1FDDNPGI5JGBzmDO7PepCIsT0ErKwREQkIiIAiKHWXWgt5xV1ccTsZ2Sd\/lxUpX2IclFXbJiKgm1rZY\/klll\/2REe+Fa0FxpblBy1LIHtycjpG8jh4FS4yWWjONanN2jJNkpERVNQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAirrhfbbbGu5zVM22\/tMO0\/y6PFU51Nc7m5zLJanOaCP4024eW4equoN5MJ+Ipwdr3fJZZqCQBknACp6\/VdooMg1IneBnYh+Lwzw9VXDS9yuTw+93Vz2bWeRh+X6AeSubfYbbbA009KzlG\/uPG0\/zU2gt3cprrz9K0rrv8FMLzqO7H\/httFLEQDys43ntBO4juBXpmkqut+K83aafO8xRH4Qe8\/YLUImu2ysP0yl9RuX7fCK2j09aaEgw0Ue0DkPeNojxKskRUbb3OiMIxVoqwRFxqqunooHT1MrYo28XOKgltJXZ2VJd9TU1ufzWnYautcdlsMe\/B7ce3FVst3umpJHUtmjNNSZxJVP3Ejs6u4b+5XFn09RWdu1G3lag\/NO8fEe7qWmlR9Ry8WdXFLbn2K2h05U3CqFw1BJyz+LKYH4Wdh+3nlaZrQ1oa0AADAA6F9RVlJy3NqdKNNY\/kIq+tvtrt4\/mayNrv6Gnad5Deqf\/VVdcDs2W0SzDeOVl3NB9vUIoSZE69ODs3nkss1C4VFbS0gzU1MUIIyOUeG581nvwnU1xOa27NpWH9uDiB1bsdvSVHqbJpyygS3SplqZiMljn73HrwN\/mVZQXP4MpV6lrqNlzbsXcmprLF81wj4Z+EE+wXms1RaqOlZPzkSmQAsjj3vIPDI6PFZFlHJqKYw2m2xUdG0jalcMnd1u8eA8Vq7VpW22vZfyfOJx+5KM4PYOAVpRhHcyp1vEVW9KVuef9ZXsrdSX4HmsLLbSuO6V+dsjs6\/ADvU2g0ha6VodPGayY73SSncT0\/Dw88qderrHZ7a+re3bcCGsZnG049HufBRNN0tYylfW10rnTVhEmwSfgB3jdwB39ACi703WEXVOHEUZeZ9fb8bFlFQUVP8Ak0kEf+yMD2WftrG0euq+mh+CKWEPLAMDPwn6nzWnc4NaXOIAAySehZfTLX3K9XC+vGGSHkohjiN2\/h0BoHiVEdm2WrJa4Ris3\/xbJqURFmdYREQBERAEREAREQBERAEREAReXvZGwvkcGNaMlzjgBUVfrG10juTgc+skI3CEZHiftlSot7Gc6sKavJ2L9cKuspqGEzVU7IWDpccZ7utZw1WqL00tp6aO2QOHzyE7eO\/j6BdqXRtLyrp7nUS18zuJeS0e+T5q+lL1Mx405\/Tj+Xhdz5Uaximc6Gz0c9dN0EMIb39foFyNs1LeWkXCtZQwOH5UIye7cfclaWnpaelj5Onhjib1MaAuqa0vShwJT+pK\/RYXcpbfpO00Hxchzh\/9U+HY7hwVyAAMAYAX1FRtvc3hThBWirBERQXCIiAIuNVV09FA6eplbFG3i5xWZfcrrqeV9PaQ6joQcPqnbnO7B9h4kZwrRi2Y1K0YY3b9ixvGp6W3O5vTjndYTsiKPfsnt+3FQKXT1deKhtdqCUkDeylacADt6vftVvaLBQ2Zn8vHtTEYdM\/e4\/YdgX25X+22pp5xUAyD9qP4n+XR44V07YgYyhfz13jl7fnmT4oY4ImxQsbHGwYa1owAFzq6ymoYTNVTshYOlxxnu61nfxbUN5cWWyhFFA4bp6gEHHWP7ArpSaOhe4TXaqlrpyckF5DR9So0pepluNKWKUfy8I+TawFRPzazUMldIR85Ba0duOOO\/C5tsuoLuA663I0sZP5EGM46sjd55WmgghpohFBEyKNvBrBgBRLje7famE1VQ0P6I273nwRS9ooiVLGqtPHwiLRaUs9Dgim5Z4\/VMdr04eik3C8W6zx\/zMzWHGWxN3uPgqN1zv8AfzsWymNDSu\/6iTcSOsH7Z71Ko9L2y2MdW3GXnUrRtPln+UduPvlS1\/3ZSM8WoRsubwv5Kyu1FdrjTPno4\/w+hbxqJPmd2Dt7B5qDYNLz3iUVtc54pS7OXH45vsO3yVnQwS6tuLqyraWWymdiCHgHn\/OPl1rXtaGtDWgAAYAHQrSnoVkY06HHlxKjuvbr+PZHiGGKnhZDCwMjYMNa0bgF0Rc6iXkKaWbd\/DYXb+wZWB6eEjM1AdqHVYptocztp2nj+p+cY3Hs9CtUs3omINtE1U9zTJPO4vcCN2P8J8V0u+qYYDzO2EVlbJ8LBH8TWk9Z6T2LWSblpXscdKcYU+LN5lnsjnqe6SSOFhoGl9XVANeRwY08fMZz2K3tNvZa7ZDRswSxvxOH6nHifNQbBY3W8PrKw8rXz75Hl21s9gV2qyatpRpShJydWe726IIiKh0hERAEREAREQBEUaruFHQs2qqqihHU5wBPcOJTchtJXZJRZ2o1taonbEInqXHhybN3qQvlPqS5VU0Qj0\/UCJ7w0vc4jAON\/wAqvw5cjD9TSvZO\/wBs\/sS7veqqgqm01JbJax7mB+03OBkndw7CoIn1dX4DKamoGZ3lxySOrp9gtMiKSXsTKlKTu5u3TBmG6OfVPa+7XWoq9ngzJAHiSforuhtNBbWgUlLHGQMbeMuPeeKmIoc5PcmFCnB3SyERFU2CIiAIvMkjIo3SSPaxjRlznHAA7Ss7PqqSrqTS2GiNdIBkyO+FjfPHrhWUW9jOpVhT9T7mkRZZ19vtqfG+80EXN5HbO3DxBPcT5YWn228nyhcA3GcnduRxaIp1YzvbDXM9KjvOpYqCQUlHHzuuedkRM37J7ce3sq26ahnusslDapBBTN\/Prnu2QB2Ho9z0KPQ3Gz2RxhtVPPdK9w3ytb83Z147h4rSNP3Zy1PFJu0HZc+y9ybTabrLrO2t1BUF5zltKw4a3s7PDzVhW6htFnjbTtka9zBstgpwHEY6N24Kt5hqS\/MzXVLbdTO\/Zjb8RHbvz5nwVva9O260gOgh25R+7Jvd4dXgkmv7n+EKcZ\/8cbX93u\/wU75NS387MUf4XSO\/U44eR7+wVla9LW62ESFnOJ+PKy78HsHAe6uHvZGwvkcGNaMlzjgBZ2v1hA2XmtqgfX1B3DYB2fufDzUJyliJeUKVJ66ru+v\/AIjRkgDJOAFSV+rbZSOMUL3Vc\/ARwjIz38PLKg\/gt8vjdq8V3NoXHPNoB7\/3yru22WgtTMUkAa7GDI7e4+Ki0VvktrrVPStK5vf47lJ\/zTfG\/otUBPaJCPf2VhbdK22gPKSR86nJyZZhtb+sDgPdXSKHN7LBaPh4p6pZfULIVs02rrk2ionFttp3Zmmxueezr7PNSdSXKoqKllithJqJt07h+hp\/scns71dWu2QWmhZSU43De5x4ud0kqV5Ff3KT\/rzdNelb9enckQQRU0DIIWBkcY2WtHQF0RFmdaVgvhAIwRkFfUQGdm0ZRSSyGKpqIIZd7oY3YbnOd32VnbbNQWqMNpYA13S929x8VPRWc5NWbMY0KcXqjHIREVTYIiIAiLlUVVPSR8pUTRwsH6nuAHqhDaWWdUWcqta26N4jo45ayUkABjSAfPf6LgHaqvWMNZa4CeOCH48d\/sr8N++DnfiYXtDzPp32NDWXGjt7A+rqY4QeG0d57hxKoJtZCokMNnt81ZJg7yCAO3A3n0Uih0db4Dyla59dMTtF0pIGe7PvlXkMMVPGI4ImRMHBrGgAeAU+RdSLV57tRXy+xmeYaqupzV1rLfEf0RccY7N\/mVJpNFWqH4qjlauTpMjsDyH91oUUcSXtgleGp3vLL65ONPSU1IzYpqeOFvUxgb7LsiKh0JJYQREQkIiIAiIgCrrzeYLNSiWVrpHvOyyNvFx+isV4dFG97XPYHOYctJGcHsUq18lZqTjaLszLR2e66imbUXp7qWlG9lKzcT3jo8d\/ctNS0dPQwCClhZFGP0tHr2rsvjnBrS5xAAGST0KZSbM6dGNPO75szWtJnPpqO3R45WqnGAd+4bvchdNRWa53CCmpKCpDKdrdmRr3bIOMYzgb+7sUe1ufqDUkl2wRR0o5OAHpPH658lqldvRZGEIKvrk9nhfZdzJ0Gg6aPfX1L5+pkfwtB6d\/E+i0lJb6OgZsUlNHCMYOw3BPeeJXmtuVHbo9usqWQg8A47z3DiVQyaqqrjM6nsNvdOQcGaUYaPD7nwTzz3JS8P4fCWflmllmigjMk0jI2Di57gAPErP1WropJDT2ellr5+GWtOwO3r\/ziuMelay4ziov1eZ8HIhiOGj2x4DxWipKOmoYRDSwMhYOhoxnv61Hlj1LXrVNvKv89kZ1mnbneHia\/VpazORSwncO88PfvWgo7fR2+IRUlOyFv\/iN57zxPipKKrk2aU6MIO635vcIiKpsFVX+9R2mkIYQ6rmGzBH0k8MnsC63m8U9nonTzOBkI\/hx53vP27VU6etNRUVDr5dhtVMu+Fh4Rt6Djo7OpXjFW1M5qtRuXDp7\/t\/vsStN2Z9DE6urS59wqRmVzjktBOce2VeIiq227s2p01TiooIiKC4REQBERAEVVcNSWq27palsjwccnEdpw7+rxVV\/qC+XU7NptXJRnI5af36APVXUG8mE\/EU4u17vksmoc5rGlz3BrRxJOAFS1+rrTROMbJTUyg42IRn14KG3S1bcSH3u7SzA7+RiOGg+3kFdUFmt1sH8pSsYTxcficfE71NoLfJTVXn6VpXXL+CjFdqm7k80pWW6Anc+YfFjx+gXan0ZTul5e51c1dKTk7RLWn1J9VpEUa37YJXhovNR6n17bEekoKShZsUtPHCMY+FuCe89KkIiodCSSsgiIhIREQBERAEREAREQBERAERQKy92yge6OprY43sxtMzlw3Z4DepSb2KylGKvJ2J6p9RQXOspoqK3taI6gllRKSPgb9jv\/wAKgy61hlk5K20FRWSZwN2yPqfRc\/wzUd6c43GrFBTu\/Zi3kjwPufBaKLi7vBy1K0akXCF39u5PFfZ9M0LKJ9S3aibvY0AvcesgdPeoDb1fL41zbTRClhO4VEx9v7Aqzt2l7Vbtl7KflZQMcpKdo+XAeStgABgDAChyitskqnVkrSelcl3M7RaPp2zc5uc76+c7zt52f7\/5uWhYxkbAyNoY1owGtGAF6RVcnLc3p0oU1aKCIiqaBEXCrrKahhM1VOyFg6XHGe7rQhtJXZ3VJetSQWx3NaZnOq5+5sLN+CeGce3FV818ud\/fzaxQSQQ5w+rkGMd3V79ytLLp6ls7eU\/OqnfPO\/j4dS00qOZfByurKriltz7cyFatOzT1Qut7eZqt29sRPwxjq\/tw71pERVlJy3N6dKNNWiERFU0CL4SAMk4AVLXautNE4xtmdUyA42IG7Xrw9VKi3sUnUhBXk7F2otbcaO3RcpV1DIm9u8nuA3lZ8VWp725wp4Ra6Y7tuQHb9d\/kB3qTQaNt8B5WtL66cnLnSE4z3dPjlX0pepmHGnP6cfy8LucpNXSVbzFZbbPVuBwXubho8vrhcxZb\/dwHXa482iz+RDjh4bvPK08UMUDBHDGyNg\/SxoAXtNaXpQ4Dn9SV+myKq3aatVtAMVMJZAc8pMA53h0DwVqiKjbe50QhGCtFWCIigsEREAREQBERAEREAREQBERAEREAREQBQJ7Ha6qqNTPRRSSni5w47sbxwKnopTa2KyjGWJK54ihigYI4Y2RsH6WNAC9oigsEREARFCrrvQW1uauqjjOMhmcuPgN6lJvYiUlFXbJq4VdZTUMJmqp2QsHS44z3dazn+o7reJDFY6DZjzg1E\/AfT37l0ptIGonFVe619bN\/QCQwdmeOPJX0JepnNx3P6Sv12X8nOfVNZcpTTWCifKeBnkG5vhwHj5LpR6TdPOKu+VTq2b\/t5Ow37924LRQQQ00QigiZFG3g1gwAuia7YjgLw+p3qu\/7fB5jjZFG2ONjWMaMNa0YAHYF6RR6u4UdAzbq6mOEYyNt2Ce4cSs9zpbUVdkhFmajWLJpHQWeimrpcbnBhDe\/HH2XM2vUl5z+IVzaGFw\/KhGfDcfclaaH74Od+Ji8U1q+23yXFx1BbLWSypqRygH5bBtO9OHiqk6ju9zOLNaH8meE1RuB6+z1Ksbdpe1W0teyn5WVv7kp2j5cB5K2AAGAMAJeK2VyNFafqeldO\/8ABlhpe5XJ4fe7q57NrPIw\/L9APJXdDZLbbgOa0kbHA52z8Ts953qeihzbLwoU4O6WebywiIqG4REQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREARfCQBknACoa7V1FDIaegY+vqOAbCMtz39PhlSot7Gc6kKavJ2L4kAZJwAqa4artVAQwTc5kP6KfDvXgq\/8ABb5fWB93ruawu382hb0du\/3yrm32K22xrebUrNtv7rxtP8+jwV7RW+THXWqehWXN9u5TCp1NfJCII\/wqlO7ae34yPEZ8sd6l2\/SFBSvM1WTXzk5L5h8P\/r98q\/UWrudDQg86q4oiBnZc4Z8uKa28RHAgvNUd317bElrQ1oa0AADAA6F9Wan1rTOk5G20dRXScBstIB+vovGNV3Y5zFa4Cc9b8HzOfJRofvgn9TB4h5vt32NDVVtLQxGWqnZEwdLj\/mVQz6ygkkMNqop66QEbw0huPf0C902jKFr+Vr5566XG8yOIHpv9Ve09LT0sfJ08McTepjQFPkXUj+vPlFfL7GcNNqu6\/n1EVsiI+WLe7s3gk+oXek0ZbYZRNVPlrJc5JlduJ68dPitCijW\/bBK8NC95eZ9c\/wAHOCCGmiEUETIo28GsGAF0RFQ6UrBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQGCrbo6+XSWjr7g230MR+QA5k8enx8ld0l30vZ4OTpaiJu7eWMc5zu8gK3qrZQVrtqppIpXf1OYNrz4rjHYLRE4ObbqfI4ZYD7rVzi1Y4Y0KsZOSab5u9yrm1zbQ7YpoKioeflDWAA\/X0Xg3jUtfnmNmFOwjc6c7+\/fj2WljhihbsxRsjb1NaAF7UaorZGvCqy9U\/hW7mX\/A9RVw\/nr3yLSflgH2x1BSaTRlopnbcrJKl+c5ldu8hjPir9FHEkSvDUk7tXfXJzhghp2BkETImDg1jQ0ei6IiodCVgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/9k=",
    "razonSocial": "CONSULADO DE ARGENTINA ANTOFAGASTA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOHANN GUERRERO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:51",
    "ubicacionGPS": "LatLng(lat: -23.6587577, lng: -70.3973769)",
    "horaLlegada": "13:50",
    "horaDespacho": "16:21",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


04/05/2026 16:51:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69900303

[04/05/2026 16:51: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('69900303', 'EP2213', 1, 24456550, 41739, NOW(), 
				'16:21', '13:50', '16:51', 10, '•Entrega de tintas epson
ITIN1940 ITIN1941 ITIN1942 ITIN1943', -1, 
				'', '','1','38112',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777927903.png', '', null, 'COMPLETADO','LatLng(lat: -23.6587577, lng: -70.3973769)' )
				
[04/05/2026 16:51:43] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200166

04/05/2026 16:51:43 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200166'                    
				WHERE idllamado = 12446			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


04/05/2026 16:51:44 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12446			
				
04/05/2026 16:51:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


04/05/2026 16:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                [04/05/2026 16:51: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;
                

04/05/2026 16:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            [04/05/2026 16:51: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;
                

04/05/2026 16:51:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                [04/05/2026 16:51: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;
                
[04/05/2026 16:51: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;
                
[04/05/2026 16:51: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;
                

04/05/2026 16:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                [04/05/2026 16:51: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;
                

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

04/05/2026 16:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                [04/05/2026 16:51: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;
                

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

04/05/2026 16:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                [04/05/2026 16:51:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 16:51:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 16:51:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                
04/05/2026 16:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12446
                [04/05/2026 16:51: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;
                

04/05/2026 16: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 = 12446
                
04/05/2026 16: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 = 12446
                
04/05/2026 16:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12446
            GROUP BY l.idllamado;
            
04/05/2026 17:07:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                [04/05/2026 17:07: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;
                
[04/05/2026 17:07: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;
                

04/05/2026 17:07:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                [04/05/2026 17:07: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;
                
[04/05/2026 17:07: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;
                

04/05/2026 17:07:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                [04/05/2026 17:07: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;
                
[04/05/2026 17:07: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;
                

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

04/05/2026 17:07:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            [04/05/2026 17:07: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;
                

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

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

04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17:07:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12438
                
04/05/2026 17:07:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17:07:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17:07:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            [04/05/2026 17:07:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:07:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            [04/05/2026 17:07:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17: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 = 12438
                
04/05/2026 17:07:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            [04/05/2026 17:07:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12438
                [04/05/2026 17:07:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12438
                [04/05/2026 17:07:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            [04/05/2026 17:07:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 17:07:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            [04/05/2026 17:07:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 17:07:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12438
                
04/05/2026 17:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            [04/05/2026 17:07:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 17:07:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 17:07:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                [04/05/2026 17:07: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;
                

04/05/2026 17:07:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                [04/05/2026 17:07: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;
                

04/05/2026 17:07:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            [04/05/2026 17:07: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;
                

04/05/2026 17:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                [04/05/2026 17:07: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;
                

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

04/05/2026 17:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                [04/05/2026 17:07: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;
                

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

04/05/2026 17:07:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            [04/05/2026 17:07: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;
                
[04/05/2026 17:07: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;
                

04/05/2026 17:07:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                [04/05/2026 17:07: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;
                

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

04/05/2026 17:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            [04/05/2026 17:07: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;
                

04/05/2026 17:07:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                [04/05/2026 17:07:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            [04/05/2026 17:07:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 17:07:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 17:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                [04/05/2026 17:07:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                [04/05/2026 17:07:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            [04/05/2026 17:07:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 17:07:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17:07:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17:07:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17:07:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17:07:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17:07:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17:07:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12438
            GROUP BY l.idllamado;
            
04/05/2026 17:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12438
                
04/05/2026 17:07:57 - logentry: =========================================
FECHA: 04/05/2026 17:07:57
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-MqiJomGca23ebyd.1d3Nex_z6cIbkS0AE-jZMb9UlJ7PACAP6Q3
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78179996",
    "serieinterna": "EP2618",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "13346",
    "contadorColor": "37599",
    "contadorScanner": "0",
    "detalle": "•Entrega 2 tintas negras",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12438",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADJAWgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABLEAABAwMCAwQHAwgGBwkAAAABAAIDBAURBiESMUETUWGRFCIjcYGhsTLB0QcVFjNCUuHwNmKCkrLCJDRDcqLS8RclU1RjZXN04v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgQCCAUFAQEAAAAAAAABAgMREiExQQRREyIyYXGBodGRscHh8BQjM1LxQnL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQHCsrIKGmfUVMgZGwcycZ8B4rOx3DUN8PaW6JlDSndksoGXbnwOenTHPdL9m7aloLPk9hGO2mA6nf7h\/wAS1DWhrQ1oAAGAB0VmUV3mTrVptJ2isst2Uuna+pmfV0FZJ2s9HJwGTH2x3q7WYsf9MLz8PqtOuTWZPhpN089m16hERQNAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAZimPF+USs7Tfhph2fhsz8StOsvcT6Jru3TnZtREYz4ncfe1ahTnt4Gbh8nNd79zMWP+mF5+H1WnWY0mTUXG8VxORLUcLfAAk\/QhadKnaHC\/x35t\/MIiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDMa1Y6KGguLN3UlQD54P1aFN1JdmUVlLoXcctUOCANGeLPXyP0XTVDYH6dq2zvDBwZaScZcNwB8QqLSlulujorpcJHStpcR0zCdhw9fgro2cU3sefUclWlCGskvLa5obBbfzVZ4aYj2mOKQ\/1jz\/AA+CskRVN3dzdCKhFRWwREXCQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEXOeUQU8kxGRGwuxnHIZVZpm51V2tXpNW2MP7Qtb2YIyABud+ecrtna5BzSmobst0RFwmEUavuFNbaY1FVIGMHIdXHuCoJNQ3a5Etsttd2ZALZ5R4426fVSUWympWhB2evJamgrK6lt8Bnq5mxRjq7r7hzKgWjUlFeamWCnbI10Y4hxjHEM4\/n3qDQ6UdLUCsvlSa2fpGT6jfx92wXKibH\/ANoFU2ENDI6YNwzk3ZuynhjZlDq1cUW1ZN2tuapERVG0IiIAi8yP7ONz+FzuEZw0ZJ9yzX6af+z1nl\/BSUXLQqqVoU+0zTosydc0Uby2ahrGHfHqDfzI6L5+mrJNqe01kru7H4ZXejlyK\/1dH+xp1Grq+mttM6oqpRGxvmT3AdVQG76mr8ihtDaZjhs+c7jx3x9CulFpQyVfpt6qjXSg+qx32B7x193L3ruBLtM468p5Uo+byRDp6er1fXsrKyMw2yE5iiP+0+Pw5\/AKVolxipK2id9qnqSPMY\/ylaVrQ1oa0AADAA6LMWQ+j6yvFKOUgEvd1B\/zqWLFFoq6LoqkJN3bbu\/L7GoREVJvCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgKvUkwg09WvJxmPh9+SBj45ULRH9HWf8AyuXPW1YI7WyhYR2lS\/qQAGjfcnxxj+ClaQp3U+noeIg9oXPGO4lW2tT8zDixcXZbIu1AvV1js9ufVPAe4YDIy7HGT0+\/4Kc5wa0ucQABkk9FlqcO1FqZ1S5xNBQH2WHAte\/v292fLPNRir5vQvrTcUox1env5HW1WB9cW3K+uNRPIOJsLvsMBwQCOvu5LSAADAGAF9UC7Xiks9MZamQcRHqRg+s8+A+9cbcmdjGFGN\/ixeLrDaLe+olcOPBETD+27oFXaRtslNQyV9UHGqrXF7y8YIGTjz5\/Edyi2m3Vd6uRvF4h4Y2\/6tTu5DuOO76lapSfVWFFdNOrPpZaLT3CIirNQREQBERAEREAREQBZiL2P5RJs7dtTbeOw\/5Vp1mGe2\/KI\/G\/Y02\/hsP+ZWQ38DNxH\/H\/AKRp0RFWaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIi5zzNp6eSZ\/2Y2Fx3xsBlA3YwV0LtSawbSROLoYz2eRya1v2j9ffst+xjY42sYMNaAAO4LD6CPaXOtlcMuMfM893brS6hu4s1rdO3BmeeCIH97v8AcFdUTxKCPO4WUVTlXluVuoLhPca5unrc5vHMPby5zwDqPIb+8BXlBRQ2ugZTxnDIxlz3bcR6uKzlvqKLTFO+e4TGa51eHyxNGXgncDw575XplJddVO7asfJQW47thbs6Qd\/8SMcsBHHK2x2FTrOVrze3Jd\/LvO9fqozVHoNigNbUuH6wD1G+Pj7+S6WrTAimNbdpfTKx5z627Gb527\/p4K3oLdSW2DsaOFsTeZxzcfE9VKUHK2US+NFyeKq7vlsgiIoGkIiIAiIgCIiAIiIAiIgCzFp9rrm7Tfuxhn+Ef5Vp1l9Hn0qputyySJ6jDT0xuf8AMFOPZbM1bOpTj33+CNQiIoGkIiIAiIgCIvEsscMTpZXhjGDLnOOAAgPaLOTatL5ZG2y11Fe2MhpewOAzvn9krrQ6n7aqZT3C3z250g9V02eEnoMkDx8lPBIzriaTdr\/njoXyIigaAiIgC8vexgBe4NBIAycZJ5Beljr3Xx3jUNLbI5mikpn8dQ4kcJI5g522Ax7ypRjiZTWqqnG+70Nii8RSRyxNfC5royPVLTthe1EuCIiA5T1ENLH2k8jY2d7iujXBzQ5pBBGQR1X51qO4TXqSoqGPDaGkeI4h\/wCI49fHYE+Awt5bYjBa6SEnJjgY3OMcmgKyUMKTMtHiOlqSilktyUiIqzUFWail7HT9a\/8A9Ph5Z57ferNVGqv6NVv+6P8AEFKPaRVWdqcn3Mzug2FtdVjlmFpGd+qhxOuOqru2lnrAI2ue\/DWbRDP15Y3U6xf93ahoG4w2uoW525EDr\/c+a7aEpg59bW5BBfwN2+Pf49y0Sdm5Hk04OShS2u7+jLm1aaoLWe14TUVBOTNKMnPPI7t\/irhEWZtvNnsQhGCtFWCIs3qS7SySixW3Lq2owHOa7HZt5\/T5LsY4nY5VqKnHEzSIo9BTvpKCCnlldM+NgDnuOS49Vxut2pbRSGoqX7\/sMB9Z57guWu7I65KMcUsj7dbrTWijdUVDvBjBzee4KBa9TwV9Z6JPTyUcz2h0QlP6wHcYUS2Wme8VYvF5bkH9RTHkwZ5ny+KnaltH5zoDJC3FZT+vC5uzsjpn+d1ZaKyZmc60l0kdOXP27i5RVGnbyy7UIa8kVUADZ2uGDnv+OEVbTTszTCanFSjoy3REXCYREQBERAVuoaz0GxVc2QHFhY3Pe7YfVctL0RobBTMc0h8g7RwIxudx8sKv1W51fX26yxk+3k7SXH7o\/lx+HlpmtDWhrQAAMADorHlBLmZo9evKXJW+r+h9REVZpPhIHM4X1ZrW9fJR22nbBO6KZ8wI4TgkAHPzLVeW2Z1TbKWd\/wBqWFj3e8tBUnG0blUaqdR0+RJREUS0LK3eom1Bd\/zHRS8FNHvVygdQfs\/T4+5Weprr+abPJIx2J5fZxd4J6\/Ab+SaatX5rtbO1B9Jn9pMTzyenw+uVZHqrEZar6SfRLTV+3mWNJSQUNMympoxHEwYACh361x3a1yQOaS9g44+HnxAbD48lZIoJtO5fKEZRwNZFPpa4vuVjikk3kiPZPPeRjfyIVwstp8+g6outsBxG49sxvIDkdh7nDyWpUpq0sirh5OVNX1WXwCIigaCm1NeG2m1vLH4qZgWQjrnqfhn6LLWi3PZpe6XOXnNGY488yAdz57fBctSVct91G2kpsOEbuwiwSQTnc+f0Wm1EyO16PkpYtgGtib5jPyytKWFJbs8icumqTm+zFO3j+fQ66OcXaap89C8Db+sVeKk0gzg01S\/1uJ2P7RV2qJ9pno8P\/DHwQWe1Rc3thZaaF5NbVuDcMzljep25fhlXs8zKaCSeQ4ZG0ucfALIWypMNPcNVVmXOfllM1\/dnkPDOB4AFSgtyviZ2WBO19e5bnKeghfcrVp6BzZGU3taojcOdsXfIHzW4We0fb3wUD7hU5dU1zu0Ljz4ennkn4haFKjzsOFhaOO1r\/LYIi5zkCnkJOAGH6Ks1Myeibg6SrrqSaV73k9ozidnYEg\/UKz1lK2PTVQ085HMa338QP0BWS07xUFztlacBlRI+I5PPp\/mHktHrD\/SKi02\/mJ6nJHTbA3\/vFaJR\/cTPJpVG+Eknrp8f9K6+Nfa4bBV\/YfDCI3lo3GGj8XKz0LB2djdLk+1lJxju2+5dtaUwn09JJvxQOa8b464P1XXSH9F6P+3\/AI3LjlemWwp4eLtta\/yRdIirrzd4rTSOkOHzOHs4urj37dBlUpNuyN8pKCcpaEPUmpI7ND2MJD6x49VvRg7z+C56Ws7qaA3KtHHW1Xr8bubWnfHvPVZ2C01D9RW6C4S8dVOfSJuJxyGjcNPj6p5d63tVVQUNK+ed7Yooxkk\/QfgrZWisK3MNFurUdSpko6LkcrncYbVQvq58kN5NHNx7gqG0Wmou9YL3ePWzvTwEbNb0OPu+Kp31Fz1fdj6NwNp4HBzY5Heq0Z2JHUnw9y\/QBnG\/NcawK25KElxM8T7K073zPqIiqNxl6iL81a4p5oyGxXBhEgzjLuX14T5ovup\/Z3+xzYJHbEHblu38fkislmkzLRajOce\/5o06IirNQREQBEVdfrj+a7PPUj7YHDH\/ALx2H4\/BdSu7EZSUYuT2Ki1j86ayrrhjMVIOxjPMZ5c\/73Lv89QqTSduNvscXGzhln9q\/v35Dy+qu1KbzyKeHi1Tu9Xn8QiIoGg\/PtdVXaXuOBpyIIhkf1iSfoQtxbo+xtlLF+5CxvLHIBfm9W4Xa7SSjBNXWBkYH7vLn\/ab1X6ir6uUUjzeDeOrUqBEUeuq2UFDNVyAlsTC4gdfBUHotpK7M7VNbe9aRU5aXU9ubxP7i\/n18ceS1Sz2jaeQW2WvnyZq2UvJdzIGw+eVoVOetuRn4ZXjjess\/b0CIs7fbrVS3CKyWt4bUSg9tJg5iaRzB6HG\/koxV3YtqVFTjdnMex\/KEeonpu\/kcf8A5+a0y\/PKmWu0\/qiOaqlNe6KPJfvkxnPkRv4Ld0NdTXKlbU0sgfG7zB7iOhVlSOjM3C1E3OLyd3kSFCvFb+brTU1Y+1Gz1f8AeOw+ZCmrK65uUTLe23MkBnle1zmg8mjff44UIK8ki\/iKnR0pSK\/QtvdPXTXOXJEQLGE75eeZz4D\/ABLtrytdLJT22LB4QZ5B1GAcfLiVm+tpNKWSCjbiSq4fViHN7zzJx0z+CpqygnotP110uIBr68taAW7xgnceGR5YHir07zxPyPNlHBQ6Fa6y\/PQ0ml2lum6IH9wnzJVsoVngdTWajhcMOZC0OHjjdTVRLNs9SkrU4ruRnNbVboLM2nYS01MgYXZwA0bnPyVbQUz9RT0sDGFlnt+AC4frnDGc+\/5Z8V41IHX\/AFNT2ymftEC1ziNmnm4+Ow+S2NFRwUFJHS0zOCOMYA+8q2+CC5mFQdevJvsrLxtsdmtDWhrQAAMADovqIqD0gqjVFUKTT1U7OHPb2bdueTj6ZVuszq6T0ySjssMg7WolDnjb1W8s\/f8ADznBXkijiJYaUra+5DuVskh0XQzMHDPScMxI5789+e2R5L3SVAvusaaowezpqUSBoOwcQD8d3jyC0tVRMqLZLQjZr4jGCd8bYBVPpOwz2dlQ+q4O1lIA4HEjAU1NYXfX3MsqElVikurlfyLS9tDrFXg\/+WkP\/CVT6PuVOzTYE8zIhTyOaS9wA39b71pJI2SxujkbxMeC1w7wVmqTQluhlc+plkqG59Vn2APLc+ajFxwtMuqwqqqp01fKx9rNXCeQUljp3VlS4kcRaQ0Dv8fku1t0\/K+tjut3kMtaBswHLWHp\/PLdXNJR01DCIaWBkLB0aMZ9\/eu645JZRJRoyk8VV37tkZG50d+bqiatt9NHJxRBkcjsYYMb88ZOc9\/NUk1FcrvcxRCufXTD9c\/iJih36H+HuW9u0c81qqY6c4ldGQ3n8sdVXaQbRNsrW0oAlBxUZPrcfj4dysjO0bmWpwylVwXdnd\/4T7Taqe0UTaanbvze8jd57ypyIqW75s9GMVFWWgREXCRmNX\/69Zv\/ALP3tRfLu4XHWFtoWEOFJ7aUdAdj9w80VrdopGKEcdSclz+hqERFUbQiz101M5lSLfZ4fTKs8yN2s\/H6Lg2wX6uHbV19lp3vxxRQ5wPDYgKeDduxmde7w01i+XxNQsrqEm66it9maT2bD20wxt\/OAf7y81WlWUtNJVVF6qw2Nhc8g9w96rdP6frrjTOuUVymo5HuLWOGSXtHecjbIx8FZGMV1rmetUqTap4Nc9VojfIsuaPVtAeKCsgrm8yyTYnzx9eqDVFzovVutklaf34d2n6j5qGB7O5o\/UxXbTXl7GoVRqe5C22WZ7SO1lHZxgkczsT8BuoA13bXP4G0tYXk4DeBvPu+0uNJBcNSXeKvr6c09BTniihfn1j3+fPI5beK6oNO8iFTiIzjgpO7fp3kCx0BGpaKke0g0NP2krSeT3b\/ACL2j4LdrL6TIq7ld7jzEs\/Cw5ztkn8FqFyq7yHBxUad1u\/t9AsvqyeWtqKSw0rhx1Lw6Ug54Wjlkd3M\/BaOpqIqSllqZncMcTS5x8As7panmraqpv1Xu+clsAJzws64+Q+BSGXW5EuIeO1Jb6+G\/saOCFlNTxwRjDImBjfcBgLoiKs1JWIV2uDLXbJqx+CWN9Vp\/aceQ81WaUtclPTPuVYS+sq\/WLnZ4g3u38\/LuUW4F2oNUR2wZNFRESTjGznDp88ea0VdWRW+hmq5jhkTcnxPQfE7KzRW3ZkTVSo6j0j892ULmNqfygEcPGIaXD+4ZHX4OSp0\/V2urNfp9zWucMSUzz6rt87fz8V70nTSTRz3iqHt6t7uAnm2PPLz8Oi0a7KTi7IjSpRqQxS3d1zRlzd9UzgRQ2VkUhBy952HjuRj5rl+hRqKN8lVWPNwkfxmXmB4LWoudI1pkT\/TRl\/I3Lx+xTWzTFDbphUuL6mq59rKckHvA\/6qBrH\/AEmW2W9p4nTVGSwd3LJ8z81qFly7846\/bwtLo6CHDu7iwfvd8l2LbliexGtCMaapxVrtI1CptR3l1tp2U1MC+tqsshaOh2GfnspN4u9PaKF88r29pwnsoyd3u6fBVenbTNPIb3dfaVc28TXD9U33fTuUYpJYmTqzbfRQ1fovzQqrPbJLVq6jhmdxTPgc+R2cjiId192FuVndTW6o9IpbzQxmSooyOJjeb2Zzj6+a70+r7NNA2R9V2LiPWY9rstPdyUpXnaSKqLhQcqcnbO6LtFST6wskLOIVRlP7sbCT88BV4vN8vrSy1UfolO44FTJzx4fwyoqEt8i6XE01lF3fJZlrfb9DZ4OFoEtVJtFCOZPefD6qNp6z1MM0l1ujy+uqByP+zb3e\/wCnJdLTpmnt83pdRK+srDuZZd8HvGfqrtdbSVonI05zljqbaL83CIirNIREQBERAFnLlZKyjrZLrY5AyZwzLA77MnuHf4LRopRk0V1KcaisyiteqqKsIgq80VWNnRy+qCfAn6HdXjXBzQ5pBBGQR1UGvstuuYPpVKx7yMdoBh4+I3VP+h0sGRQXqqpWdAM8vg4KVoPuKb14ZNYvRmle9kbC+RwY1oyXOOAFnbhqyIu9Es7DWVT8taWj1Wnv8fovH6GekEG4XerqgOmcZ8yfDyV7QW2jtkPZUcDYmnmRzd7z1TqLvD6eplbCviyDp+zS22KSesl7atqDxSv548M9UVwig227svhBQjhQWXvF2qrrWmyWY+tyqJxyYOoz9\/wCn6musltt7WUwzVVLuziGd\/Egczz8yF1sFnZZreI88U8mHTPznLu73BTjaKxMoqOVSfRRyW7+h0tFmpLNTCKnbl5A7SUj1nn+eisEUevrY7dQzVc32Im8WO89B8TgKGbZelGnGyySM\/qmeW41VPYKR2HzEPmdgkNaOWfr8AtHTU8VJSxU0LeGOJoa0eAVBpOkfK2ovdSPb1rjw7fZZn7yPkFpFOeXVWxTQTleq9X8tvcIiKs0hR66UwW+pmDuExxOcD3YBKkKvvxIsFdg49g\/6Lq1ITdoNkDRUXZ6cjdw4Mj3O5Yzvj7lfqm0w5kWl6R73NYxrHEknAHrFV1w1DUXaV1ssEZkLhwyVJBAYDtkHp7\/ACU3FykzNCpGlRhfWyy5i+1L77dIrDRSExA8dW9uCAAR9PqR3LS01PHS00dPC3hjjaGtHgFBstkp7NTcEftJn7ySnm4qzXJNaLQso05Juc+0\/RcgiIoGgyulamJkd3udTIGNfUEve47ADJ5f2lwllqdY3JsMLXxWmB+XvOR2v8e7u5nuUx+i6Z87x6XMKV7+0MA5Z3z93ktDDDFTwshhYGRsGGtaNgFc5RTutTBTo1JRUJ5RXr9j21oa0NaAABgAdF9RFSbwiKjveofQZ20FDF6TXycmDkzrv44XUm3ZEKlSNOOKRa1VbS0URkqZ2RNAyeI\/csJZLvWNqK+WgtxqKqrkLuM8mAkn6nv6JerG+kpoHVVTJU3SukDeHi2b4d53wO5bi3UMVtoIqSLdsYxkgAk9SrurCPO5g\/dr1f64fjn9intum5H1guV6m9Kq8gtZ+zHj6\/RaJEVUpOWpup0401aIUOa0W2odxTUFO93eYhnzUxFxOxNxUtUQobPbaaQSQ0FOx4OQ4RjI9xU1ERtsKKjogiIuHQiIgCIiAIiIAiIgCIiAIiIAiIgMxVZuOuoKZ+THQxdpjH7Wxzv4lvLuWnWZsu+sbwXDcADJ54yP4LTKc9kZuHzUpc2\/YLM35xvN7pbFGT2UZ7aqI6DoPI\/8QVzdblFabfJVy78Iw1v7zugVbpa3zRxTXSsz6VXHjIIILRnljP8AIwuxyWI5WeOSpLxfh9y9jjZFG2ONvCxgDWjuAXpEVZqCIiAKPX0orqCelL+ATMLOLGcZUhEONJqzMhSaPrZo44LncCaSE+pBEeYz16D5+9aikoqaggEFLCyKMdGjn7z1+K7opSm5alVKhTpdlBERRLgiIgCIiAIi8ySMijdI93C1oySgKrUV5FoogIjmqmy2FoGTnvx13x5rzp+xm2RuqKp\/bV0+8sh3IzvjPVV1jhdfrzLfqlmIoj2dKwnIGOvzz7yrHVNw9BssrWE9tUeyiDeZJ5\/LPyVtrdRGJSUr15aLT38yutx\/SDVM1xJ4qSh9nBvsT38\/efJapV9joBbbRBT\/ALWOJ+2PWO526KwUZu7yLqEHGF5avNhERQLwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgMvC4Uf5QZ2kgCrgBaD1OB\/yladzg1pc4gADJJ6Knv9kdcxDU00nY1lOcxyA9M5x+CrpbXqS8tENxqoaSnzh7Iebx3\/H3\/BWtKVncxJzpOUVFu7uvP5HMOdq2+44QbXQO68pXfyPL3rXKPQ0UFupGU1MzhjZ5k9SVIUJSvpoX0abgm5avX87giIolwREQBERAEREAREQBERAEREAWc1jVuFDDbYXe2rZAzhHPh\/64+a0ay1Nm8a3nnccw21vAwdOLl9eLyCnDW\/IzcS24qC1ll7+hoqaCKhoooG4bHCwNzyGAOazVI1+pdSOrJPWt9CSIAQCHu5Z8QSCc+AC+Xavq9Q3B9ltTuGnYcVNQOXiPd9fctJb6CC20UdLTtwxg59SepKl2Vd6shlWkorsx9X7IkoiKo2BERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB5eXNjcWN4nAEhucZPcvz22Ouroqqz0kDmVtRKXVMztuBuOW3LO\/nhfoi4Rf61P8A2fopxlhTM1ej0kou9vuR7PaYLPQMpogC7GZH43e7vU9EUW7u7L4xUUorQIiLhIIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/2Q==",
    "razonSocial": "CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ELSA LOBOS",
    "correoContacto": "todotramiteantofa@gmail.com",
    "correoCliente": "J.MARTINEZ@PACTUMABOGADOS.CL",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56933752026",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28556\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "17:07",
    "ubicacionGPS": "LatLng(lat: -23.6460682, lng: -70.3990103)",
    "horaLlegada": "13:42",
    "horaDespacho": "16:51",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 17:07:57
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-MqiJomGca23ebyd.1d3Nex_z6cIbkS0AE-jZMb9UlJ7PACAP6Q3
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78179996",
    "serieinterna": "EP2618",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "13346",
    "contadorColor": "37599",
    "contadorScanner": "0",
    "detalle": "•Entrega 2 tintas negras",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12438",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADJAWgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABLEAABAwMCAwQHAwgGBwkAAAABAAIDBAURBiESMUETUWGRFCIjcYGhsTLB0QcVFjNCUuHwNmKCkrLCJDRDcqLS8RclU1RjZXN04v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgQCCAUFAQEAAAAAAAABAgMREiExQQRREyIyYXGBodGRscHh8BQjM1LxQnL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQHCsrIKGmfUVMgZGwcycZ8B4rOx3DUN8PaW6JlDSndksoGXbnwOenTHPdL9m7aloLPk9hGO2mA6nf7h\/wAS1DWhrQ1oAAGAB0VmUV3mTrVptJ2isst2Uuna+pmfV0FZJ2s9HJwGTH2x3q7WYsf9MLz8PqtOuTWZPhpN089m16hERQNAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAZimPF+USs7Tfhph2fhsz8StOsvcT6Jru3TnZtREYz4ncfe1ahTnt4Gbh8nNd79zMWP+mF5+H1WnWY0mTUXG8VxORLUcLfAAk\/QhadKnaHC\/x35t\/MIiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDMa1Y6KGguLN3UlQD54P1aFN1JdmUVlLoXcctUOCANGeLPXyP0XTVDYH6dq2zvDBwZaScZcNwB8QqLSlulujorpcJHStpcR0zCdhw9fgro2cU3sefUclWlCGskvLa5obBbfzVZ4aYj2mOKQ\/1jz\/AA+CskRVN3dzdCKhFRWwREXCQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEXOeUQU8kxGRGwuxnHIZVZpm51V2tXpNW2MP7Qtb2YIyABud+ecrtna5BzSmobst0RFwmEUavuFNbaY1FVIGMHIdXHuCoJNQ3a5Etsttd2ZALZ5R4426fVSUWympWhB2evJamgrK6lt8Bnq5mxRjq7r7hzKgWjUlFeamWCnbI10Y4hxjHEM4\/n3qDQ6UdLUCsvlSa2fpGT6jfx92wXKibH\/ANoFU2ENDI6YNwzk3ZuynhjZlDq1cUW1ZN2tuapERVG0IiIAi8yP7ONz+FzuEZw0ZJ9yzX6af+z1nl\/BSUXLQqqVoU+0zTosydc0Uby2ahrGHfHqDfzI6L5+mrJNqe01kru7H4ZXejlyK\/1dH+xp1Grq+mttM6oqpRGxvmT3AdVQG76mr8ihtDaZjhs+c7jx3x9CulFpQyVfpt6qjXSg+qx32B7x193L3ruBLtM468p5Uo+byRDp6er1fXsrKyMw2yE5iiP+0+Pw5\/AKVolxipK2id9qnqSPMY\/ylaVrQ1oa0AADAA6LMWQ+j6yvFKOUgEvd1B\/zqWLFFoq6LoqkJN3bbu\/L7GoREVJvCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgKvUkwg09WvJxmPh9+SBj45ULRH9HWf8AyuXPW1YI7WyhYR2lS\/qQAGjfcnxxj+ClaQp3U+noeIg9oXPGO4lW2tT8zDixcXZbIu1AvV1js9ufVPAe4YDIy7HGT0+\/4Kc5wa0ucQABkk9FlqcO1FqZ1S5xNBQH2WHAte\/v292fLPNRir5vQvrTcUox1env5HW1WB9cW3K+uNRPIOJsLvsMBwQCOvu5LSAADAGAF9UC7Xiks9MZamQcRHqRg+s8+A+9cbcmdjGFGN\/ixeLrDaLe+olcOPBETD+27oFXaRtslNQyV9UHGqrXF7y8YIGTjz5\/Edyi2m3Vd6uRvF4h4Y2\/6tTu5DuOO76lapSfVWFFdNOrPpZaLT3CIirNQREQBERAEREAREQBZiL2P5RJs7dtTbeOw\/5Vp1mGe2\/KI\/G\/Y02\/hsP+ZWQ38DNxH\/H\/AKRp0RFWaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIi5zzNp6eSZ\/2Y2Fx3xsBlA3YwV0LtSawbSROLoYz2eRya1v2j9ffst+xjY42sYMNaAAO4LD6CPaXOtlcMuMfM893brS6hu4s1rdO3BmeeCIH97v8AcFdUTxKCPO4WUVTlXluVuoLhPca5unrc5vHMPby5zwDqPIb+8BXlBRQ2ugZTxnDIxlz3bcR6uKzlvqKLTFO+e4TGa51eHyxNGXgncDw575XplJddVO7asfJQW47thbs6Qd\/8SMcsBHHK2x2FTrOVrze3Jd\/LvO9fqozVHoNigNbUuH6wD1G+Pj7+S6WrTAimNbdpfTKx5z627Gb527\/p4K3oLdSW2DsaOFsTeZxzcfE9VKUHK2US+NFyeKq7vlsgiIoGkIiIAiIgCIiAIiIAiIgCzFp9rrm7Tfuxhn+Ef5Vp1l9Hn0qputyySJ6jDT0xuf8AMFOPZbM1bOpTj33+CNQiIoGkIiIAiIgCIvEsscMTpZXhjGDLnOOAAgPaLOTatL5ZG2y11Fe2MhpewOAzvn9krrQ6n7aqZT3C3z250g9V02eEnoMkDx8lPBIzriaTdr\/njoXyIigaAiIgC8vexgBe4NBIAycZJ5Beljr3Xx3jUNLbI5mikpn8dQ4kcJI5g522Ax7ypRjiZTWqqnG+70Nii8RSRyxNfC5royPVLTthe1EuCIiA5T1ENLH2k8jY2d7iujXBzQ5pBBGQR1X51qO4TXqSoqGPDaGkeI4h\/wCI49fHYE+Awt5bYjBa6SEnJjgY3OMcmgKyUMKTMtHiOlqSilktyUiIqzUFWail7HT9a\/8A9Ph5Z57ferNVGqv6NVv+6P8AEFKPaRVWdqcn3Mzug2FtdVjlmFpGd+qhxOuOqru2lnrAI2ue\/DWbRDP15Y3U6xf93ahoG4w2uoW525EDr\/c+a7aEpg59bW5BBfwN2+Pf49y0Sdm5Hk04OShS2u7+jLm1aaoLWe14TUVBOTNKMnPPI7t\/irhEWZtvNnsQhGCtFWCIs3qS7SySixW3Lq2owHOa7HZt5\/T5LsY4nY5VqKnHEzSIo9BTvpKCCnlldM+NgDnuOS49Vxut2pbRSGoqX7\/sMB9Z57guWu7I65KMcUsj7dbrTWijdUVDvBjBzee4KBa9TwV9Z6JPTyUcz2h0QlP6wHcYUS2Wme8VYvF5bkH9RTHkwZ5ny+KnaltH5zoDJC3FZT+vC5uzsjpn+d1ZaKyZmc60l0kdOXP27i5RVGnbyy7UIa8kVUADZ2uGDnv+OEVbTTszTCanFSjoy3REXCYREQBERAVuoaz0GxVc2QHFhY3Pe7YfVctL0RobBTMc0h8g7RwIxudx8sKv1W51fX26yxk+3k7SXH7o\/lx+HlpmtDWhrQAAMADorHlBLmZo9evKXJW+r+h9REVZpPhIHM4X1ZrW9fJR22nbBO6KZ8wI4TgkAHPzLVeW2Z1TbKWd\/wBqWFj3e8tBUnG0blUaqdR0+RJREUS0LK3eom1Bd\/zHRS8FNHvVygdQfs\/T4+5Weprr+abPJIx2J5fZxd4J6\/Ab+SaatX5rtbO1B9Jn9pMTzyenw+uVZHqrEZar6SfRLTV+3mWNJSQUNMympoxHEwYACh361x3a1yQOaS9g44+HnxAbD48lZIoJtO5fKEZRwNZFPpa4vuVjikk3kiPZPPeRjfyIVwstp8+g6outsBxG49sxvIDkdh7nDyWpUpq0sirh5OVNX1WXwCIigaCm1NeG2m1vLH4qZgWQjrnqfhn6LLWi3PZpe6XOXnNGY488yAdz57fBctSVct91G2kpsOEbuwiwSQTnc+f0Wm1EyO16PkpYtgGtib5jPyytKWFJbs8icumqTm+zFO3j+fQ66OcXaap89C8Db+sVeKk0gzg01S\/1uJ2P7RV2qJ9pno8P\/DHwQWe1Rc3thZaaF5NbVuDcMzljep25fhlXs8zKaCSeQ4ZG0ucfALIWypMNPcNVVmXOfllM1\/dnkPDOB4AFSgtyviZ2WBO19e5bnKeghfcrVp6BzZGU3taojcOdsXfIHzW4We0fb3wUD7hU5dU1zu0Ljz4ennkn4haFKjzsOFhaOO1r\/LYIi5zkCnkJOAGH6Ks1Myeibg6SrrqSaV73k9ozidnYEg\/UKz1lK2PTVQ085HMa338QP0BWS07xUFztlacBlRI+I5PPp\/mHktHrD\/SKi02\/mJ6nJHTbA3\/vFaJR\/cTPJpVG+Eknrp8f9K6+Nfa4bBV\/YfDCI3lo3GGj8XKz0LB2djdLk+1lJxju2+5dtaUwn09JJvxQOa8b464P1XXSH9F6P+3\/AI3LjlemWwp4eLtta\/yRdIirrzd4rTSOkOHzOHs4urj37dBlUpNuyN8pKCcpaEPUmpI7ND2MJD6x49VvRg7z+C56Ws7qaA3KtHHW1Xr8bubWnfHvPVZ2C01D9RW6C4S8dVOfSJuJxyGjcNPj6p5d63tVVQUNK+ed7Yooxkk\/QfgrZWisK3MNFurUdSpko6LkcrncYbVQvq58kN5NHNx7gqG0Wmou9YL3ePWzvTwEbNb0OPu+Kp31Fz1fdj6NwNp4HBzY5Heq0Z2JHUnw9y\/QBnG\/NcawK25KElxM8T7K073zPqIiqNxl6iL81a4p5oyGxXBhEgzjLuX14T5ovup\/Z3+xzYJHbEHblu38fkislmkzLRajOce\/5o06IirNQREQBEVdfrj+a7PPUj7YHDH\/ALx2H4\/BdSu7EZSUYuT2Ki1j86ayrrhjMVIOxjPMZ5c\/73Lv89QqTSduNvscXGzhln9q\/v35Dy+qu1KbzyKeHi1Tu9Xn8QiIoGg\/PtdVXaXuOBpyIIhkf1iSfoQtxbo+xtlLF+5CxvLHIBfm9W4Xa7SSjBNXWBkYH7vLn\/ab1X6ir6uUUjzeDeOrUqBEUeuq2UFDNVyAlsTC4gdfBUHotpK7M7VNbe9aRU5aXU9ubxP7i\/n18ceS1Sz2jaeQW2WvnyZq2UvJdzIGw+eVoVOetuRn4ZXjjess\/b0CIs7fbrVS3CKyWt4bUSg9tJg5iaRzB6HG\/koxV3YtqVFTjdnMex\/KEeonpu\/kcf8A5+a0y\/PKmWu0\/qiOaqlNe6KPJfvkxnPkRv4Ld0NdTXKlbU0sgfG7zB7iOhVlSOjM3C1E3OLyd3kSFCvFb+brTU1Y+1Gz1f8AeOw+ZCmrK65uUTLe23MkBnle1zmg8mjff44UIK8ki\/iKnR0pSK\/QtvdPXTXOXJEQLGE75eeZz4D\/ABLtrytdLJT22LB4QZ5B1GAcfLiVm+tpNKWSCjbiSq4fViHN7zzJx0z+CpqygnotP110uIBr68taAW7xgnceGR5YHir07zxPyPNlHBQ6Fa6y\/PQ0ml2lum6IH9wnzJVsoVngdTWajhcMOZC0OHjjdTVRLNs9SkrU4ruRnNbVboLM2nYS01MgYXZwA0bnPyVbQUz9RT0sDGFlnt+AC4frnDGc+\/5Z8V41IHX\/AFNT2ymftEC1ziNmnm4+Ow+S2NFRwUFJHS0zOCOMYA+8q2+CC5mFQdevJvsrLxtsdmtDWhrQAAMADovqIqD0gqjVFUKTT1U7OHPb2bdueTj6ZVuszq6T0ySjssMg7WolDnjb1W8s\/f8ADznBXkijiJYaUra+5DuVskh0XQzMHDPScMxI5789+e2R5L3SVAvusaaowezpqUSBoOwcQD8d3jyC0tVRMqLZLQjZr4jGCd8bYBVPpOwz2dlQ+q4O1lIA4HEjAU1NYXfX3MsqElVikurlfyLS9tDrFXg\/+WkP\/CVT6PuVOzTYE8zIhTyOaS9wA39b71pJI2SxujkbxMeC1w7wVmqTQluhlc+plkqG59Vn2APLc+ajFxwtMuqwqqqp01fKx9rNXCeQUljp3VlS4kcRaQ0Dv8fku1t0\/K+tjut3kMtaBswHLWHp\/PLdXNJR01DCIaWBkLB0aMZ9\/eu645JZRJRoyk8VV37tkZG50d+bqiatt9NHJxRBkcjsYYMb88ZOc9\/NUk1FcrvcxRCufXTD9c\/iJih36H+HuW9u0c81qqY6c4ldGQ3n8sdVXaQbRNsrW0oAlBxUZPrcfj4dysjO0bmWpwylVwXdnd\/4T7Taqe0UTaanbvze8jd57ypyIqW75s9GMVFWWgREXCRmNX\/69Zv\/ALP3tRfLu4XHWFtoWEOFJ7aUdAdj9w80VrdopGKEcdSclz+hqERFUbQiz101M5lSLfZ4fTKs8yN2s\/H6Lg2wX6uHbV19lp3vxxRQ5wPDYgKeDduxmde7w01i+XxNQsrqEm66it9maT2bD20wxt\/OAf7y81WlWUtNJVVF6qw2Nhc8g9w96rdP6frrjTOuUVymo5HuLWOGSXtHecjbIx8FZGMV1rmetUqTap4Nc9VojfIsuaPVtAeKCsgrm8yyTYnzx9eqDVFzovVutklaf34d2n6j5qGB7O5o\/UxXbTXl7GoVRqe5C22WZ7SO1lHZxgkczsT8BuoA13bXP4G0tYXk4DeBvPu+0uNJBcNSXeKvr6c09BTniihfn1j3+fPI5beK6oNO8iFTiIzjgpO7fp3kCx0BGpaKke0g0NP2krSeT3b\/ACL2j4LdrL6TIq7ld7jzEs\/Cw5ztkn8FqFyq7yHBxUad1u\/t9AsvqyeWtqKSw0rhx1Lw6Ug54Wjlkd3M\/BaOpqIqSllqZncMcTS5x8As7panmraqpv1Xu+clsAJzws64+Q+BSGXW5EuIeO1Jb6+G\/saOCFlNTxwRjDImBjfcBgLoiKs1JWIV2uDLXbJqx+CWN9Vp\/aceQ81WaUtclPTPuVYS+sq\/WLnZ4g3u38\/LuUW4F2oNUR2wZNFRESTjGznDp88ea0VdWRW+hmq5jhkTcnxPQfE7KzRW3ZkTVSo6j0j892ULmNqfygEcPGIaXD+4ZHX4OSp0\/V2urNfp9zWucMSUzz6rt87fz8V70nTSTRz3iqHt6t7uAnm2PPLz8Oi0a7KTi7IjSpRqQxS3d1zRlzd9UzgRQ2VkUhBy952HjuRj5rl+hRqKN8lVWPNwkfxmXmB4LWoudI1pkT\/TRl\/I3Lx+xTWzTFDbphUuL6mq59rKckHvA\/6qBrH\/AEmW2W9p4nTVGSwd3LJ8z81qFly7846\/bwtLo6CHDu7iwfvd8l2LbliexGtCMaapxVrtI1CptR3l1tp2U1MC+tqsshaOh2GfnspN4u9PaKF88r29pwnsoyd3u6fBVenbTNPIb3dfaVc28TXD9U33fTuUYpJYmTqzbfRQ1fovzQqrPbJLVq6jhmdxTPgc+R2cjiId192FuVndTW6o9IpbzQxmSooyOJjeb2Zzj6+a70+r7NNA2R9V2LiPWY9rstPdyUpXnaSKqLhQcqcnbO6LtFST6wskLOIVRlP7sbCT88BV4vN8vrSy1UfolO44FTJzx4fwyoqEt8i6XE01lF3fJZlrfb9DZ4OFoEtVJtFCOZPefD6qNp6z1MM0l1ujy+uqByP+zb3e\/wCnJdLTpmnt83pdRK+srDuZZd8HvGfqrtdbSVonI05zljqbaL83CIirNIREQBERAFnLlZKyjrZLrY5AyZwzLA77MnuHf4LRopRk0V1KcaisyiteqqKsIgq80VWNnRy+qCfAn6HdXjXBzQ5pBBGQR1UGvstuuYPpVKx7yMdoBh4+I3VP+h0sGRQXqqpWdAM8vg4KVoPuKb14ZNYvRmle9kbC+RwY1oyXOOAFnbhqyIu9Es7DWVT8taWj1Wnv8fovH6GekEG4XerqgOmcZ8yfDyV7QW2jtkPZUcDYmnmRzd7z1TqLvD6eplbCviyDp+zS22KSesl7atqDxSv548M9UVwig227svhBQjhQWXvF2qrrWmyWY+tyqJxyYOoz9\/wCn6musltt7WUwzVVLuziGd\/Egczz8yF1sFnZZreI88U8mHTPznLu73BTjaKxMoqOVSfRRyW7+h0tFmpLNTCKnbl5A7SUj1nn+eisEUevrY7dQzVc32Im8WO89B8TgKGbZelGnGyySM\/qmeW41VPYKR2HzEPmdgkNaOWfr8AtHTU8VJSxU0LeGOJoa0eAVBpOkfK2ovdSPb1rjw7fZZn7yPkFpFOeXVWxTQTleq9X8tvcIiKs0hR66UwW+pmDuExxOcD3YBKkKvvxIsFdg49g\/6Lq1ITdoNkDRUXZ6cjdw4Mj3O5Yzvj7lfqm0w5kWl6R73NYxrHEknAHrFV1w1DUXaV1ssEZkLhwyVJBAYDtkHp7\/ACU3FykzNCpGlRhfWyy5i+1L77dIrDRSExA8dW9uCAAR9PqR3LS01PHS00dPC3hjjaGtHgFBstkp7NTcEftJn7ySnm4qzXJNaLQso05Juc+0\/RcgiIoGgyulamJkd3udTIGNfUEve47ADJ5f2lwllqdY3JsMLXxWmB+XvOR2v8e7u5nuUx+i6Z87x6XMKV7+0MA5Z3z93ktDDDFTwshhYGRsGGtaNgFc5RTutTBTo1JRUJ5RXr9j21oa0NaAABgAdF9RFSbwiKjveofQZ20FDF6TXycmDkzrv44XUm3ZEKlSNOOKRa1VbS0URkqZ2RNAyeI\/csJZLvWNqK+WgtxqKqrkLuM8mAkn6nv6JerG+kpoHVVTJU3SukDeHi2b4d53wO5bi3UMVtoIqSLdsYxkgAk9SrurCPO5g\/dr1f64fjn9intum5H1guV6m9Kq8gtZ+zHj6\/RaJEVUpOWpup0401aIUOa0W2odxTUFO93eYhnzUxFxOxNxUtUQobPbaaQSQ0FOx4OQ4RjI9xU1ERtsKKjogiIuHQiIgCIiAIiIAiIgCIiAIiIAiIgMxVZuOuoKZ+THQxdpjH7Wxzv4lvLuWnWZsu+sbwXDcADJ54yP4LTKc9kZuHzUpc2\/YLM35xvN7pbFGT2UZ7aqI6DoPI\/8QVzdblFabfJVy78Iw1v7zugVbpa3zRxTXSsz6VXHjIIILRnljP8AIwuxyWI5WeOSpLxfh9y9jjZFG2ONvCxgDWjuAXpEVZqCIiAKPX0orqCelL+ATMLOLGcZUhEONJqzMhSaPrZo44LncCaSE+pBEeYz16D5+9aikoqaggEFLCyKMdGjn7z1+K7opSm5alVKhTpdlBERRLgiIgCIiAIi8ySMijdI93C1oySgKrUV5FoogIjmqmy2FoGTnvx13x5rzp+xm2RuqKp\/bV0+8sh3IzvjPVV1jhdfrzLfqlmIoj2dKwnIGOvzz7yrHVNw9BssrWE9tUeyiDeZJ5\/LPyVtrdRGJSUr15aLT38yutx\/SDVM1xJ4qSh9nBvsT38\/efJapV9joBbbRBT\/ALWOJ+2PWO526KwUZu7yLqEHGF5avNhERQLwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgMvC4Uf5QZ2kgCrgBaD1OB\/yladzg1pc4gADJJ6Knv9kdcxDU00nY1lOcxyA9M5x+CrpbXqS8tENxqoaSnzh7Iebx3\/H3\/BWtKVncxJzpOUVFu7uvP5HMOdq2+44QbXQO68pXfyPL3rXKPQ0UFupGU1MzhjZ5k9SVIUJSvpoX0abgm5avX87giIolwREQBERAEREAREQBERAEREAWc1jVuFDDbYXe2rZAzhHPh\/64+a0ay1Nm8a3nnccw21vAwdOLl9eLyCnDW\/IzcS24qC1ll7+hoqaCKhoooG4bHCwNzyGAOazVI1+pdSOrJPWt9CSIAQCHu5Z8QSCc+AC+Xavq9Q3B9ltTuGnYcVNQOXiPd9fctJb6CC20UdLTtwxg59SepKl2Vd6shlWkorsx9X7IkoiKo2BERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB5eXNjcWN4nAEhucZPcvz22Ouroqqz0kDmVtRKXVMztuBuOW3LO\/nhfoi4Rf61P8A2fopxlhTM1ej0kou9vuR7PaYLPQMpogC7GZH43e7vU9EUW7u7L4xUUorQIiLhIIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/2Q==",
    "razonSocial": "CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ELSA LOBOS",
    "correoContacto": "todotramiteantofa@gmail.com",
    "correoCliente": "J.MARTINEZ@PACTUMABOGADOS.CL",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56933752026",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28556\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "17:07",
    "ubicacionGPS": "LatLng(lat: -23.6460682, lng: -70.3990103)",
    "horaLlegada": "13:42",
    "horaDespacho": "16:51",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


04/05/2026 17:07:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78179996

[04/05/2026 17:07:57] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('78179996', 'EP2618', 1, 24456550, 13346, NOW(), 
				'16:51', '13:42', '17:07', 10, '•Entrega 2 tintas negras', -1, 
				'', '','1','37599',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777928877.png', '', null, 'COMPLETADO','LatLng(lat: -23.6460682, lng: -70.3990103)' )
				
[04/05/2026 17:07:57] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200167
[04/05/2026 17:07:57] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200167', 'EPS-I302', 2)
				
[04/05/2026 17:07:57] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28556 and
				    IDproducto = 'EPS-I302'
				

04/05/2026 17:07:57 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I302';
                
04/05/2026 17:07:57 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200167'                    
				WHERE idllamado = 12438			
				TO ENVIO: J.MARTINEZ@PACTUMABOGADOS.CL, todotramiteantofa@gmail.com


04/05/2026 17:07:58 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12438			
				
04/05/2026 17:07:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


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

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

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

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

04/05/2026 17: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 = 12438
                [04/05/2026 17:08: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;
                

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

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

04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                [04/05/2026 17:08: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;
                

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

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

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

04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                
04/05/2026 17: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 = 12438
                [04/05/2026 17:08: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;
                

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

04/05/2026 17: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 = 12436
                [04/05/2026 17:22: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;
                
[04/05/2026 17:22: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;
                
[04/05/2026 17:22: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;
                
[04/05/2026 17:22: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;
                

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

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

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

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

04/05/2026 17:22:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:22:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:22:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12436
                
04/05/2026 17:22:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:22:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12436
                [04/05/2026 17:22:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 17:22:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:22:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:22:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:22:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:22:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:22:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12436
                
04/05/2026 17:22:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:22:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:22:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12436
                
04/05/2026 17:22:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:22:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

04/05/2026 17: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 = 12436
                [04/05/2026 17:23: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;
                

04/05/2026 17:23:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12436
                
04/05/2026 17:23:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12436
                
04/05/2026 17:23:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:23: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;
                

04/05/2026 17:23:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:23: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;
                

04/05/2026 17:23:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:23: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;
                

04/05/2026 17:23:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:23: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;
                
[04/05/2026 17:23: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;
                

04/05/2026 17:23:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:23: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;
                

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

04/05/2026 17:23:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:23: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;
                

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

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

04/05/2026 17:23:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:23:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:23:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:23:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 17:23:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:23:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:23:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:23:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:23:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:23:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12436
                [04/05/2026 17:23:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:23:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:23:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                [04/05/2026 17:23: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;
                

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

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

04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:23: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;
                

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

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

04/05/2026 17:23:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:23: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;
                

04/05/2026 17:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:23:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:23:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:23:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 17:23:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:23:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:23:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:23:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 17:23:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:23: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;
                

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

04/05/2026 17:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:23: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;
                

04/05/2026 17:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:23: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;
                
[04/05/2026 17:23: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;
                

04/05/2026 17:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:23: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;
                

04/05/2026 17:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:23: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;
                

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

04/05/2026 17:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:23: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;
                

04/05/2026 17:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:23: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;
                

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

04/05/2026 17:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:23: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;
                

04/05/2026 17:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:23: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;
                

04/05/2026 17:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:24: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;
                
[04/05/2026 17:24: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;
                

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

04/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:24: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;
                
[04/05/2026 17:24: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;
                

04/05/2026 17:24:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:24: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;
                

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

04/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:24: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;
                
[04/05/2026 17:24: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;
                
[04/05/2026 17:24: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;
                

04/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:24:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:24:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:24:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 17:24:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 17:24:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:24:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:24:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 17:24:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:24:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 17:24:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:24:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 17:24:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:24:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:24:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:24:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17: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 = 12436
                [04/05/2026 17:24:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 17:24:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:24:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 17:24:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:24:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 17:24:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 17:24:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:24:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:24: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;
                
[04/05/2026 17:24: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;
                

04/05/2026 17:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:24: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;
                

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

04/05/2026 17:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:25: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;
                
[04/05/2026 17:25: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;
                
[04/05/2026 17:25: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;
                

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

04/05/2026 17:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:25:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:25:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:25:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:25: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;
                
[04/05/2026 17:25: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;
                

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

04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17:25:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                [04/05/2026 17:25:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

04/05/2026 17:25:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:25:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:25:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:25:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:25:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:25:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:25:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:25:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:25: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;
                

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

04/05/2026 17:25:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:25: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;
                
[04/05/2026 17:25: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;
                

04/05/2026 17:25:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:25: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;
                

04/05/2026 17:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:25: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;
                
[04/05/2026 17:25: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;
                

04/05/2026 17:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:25: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;
                

04/05/2026 17:25:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17:25:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17:26:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17:26:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17:26:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12436
                
04/05/2026 17:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:26:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:26:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:26:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:26:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:26:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17:27:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17:27:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12436
                
04/05/2026 17:27:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17:27:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17: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 = 12436
                
04/05/2026 17:27:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12436
                
04/05/2026 17:27:15 - logentry: =========================================
FECHA: 04/05/2026 17:27:15
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-6zacUN-SNxhVC3km2WZQe00C9JcGNTvppbTYhYgK4lOo_rYV3Yl
>> 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 tintas epson",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12436",
    "observacion": "•Recibe José Araya, sin contador, entrega en bodega",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADHARwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABBEAABAwMBBAgEAwcCBQUAAAABAAIDBAURBhIhMUETIlFhcYGhsRSRwdEVMkIjJDM0Q+HwUvEHFlNigiY1cpLi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMREAAgECBAIJBAIDAQAAAAAAAAECAxESITFRQWEEEyIycYGxwdEzkaHhFPAjQvFi\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBU79T2+G8PtkznxvaQOkcMMzjOM8vZXCy+tLKa2kFfA0manHXaP1M\/srwSbszDpEqkIYocDUIsRpzVUtLHBSXMfu7hsxVB\/Tjdg9w9N3JbYEEZByColBxdmKNeNaN4nqIiqbhERAEREAREQBfEsscMbpJZGxsaMuc44A81HuVzpLVTGoq5NlvANG9zj2Ac1m4aa46ukbU1jnUlsBBZC075O\/+\/wAleMb5vQwqVsLwRV5bfJPZqkV10ipLXSPqow4dNNwDW9oz9VoFxpaSnooGwU0TYo28GtC7KJNcC9OM0u27sIiKpoEREAREQBERAERZ3UF\/fDILXa\/2tfMdnLN\/Rf39uKtGLk7IzqVI044pHXT1yqrjcLqZZduCKcNgGzjA3j2AV6qyw2hlmtracHakcduV3a7A4d25WaStfIrQUlTWPUIiKpsEREAREQBERAF4QCMEZBXqIDD19up7XdH2+qaBa7gdqJ4H8CTtHZjPyIVjp64zUFY\/T9xc0SQ7qd\/DbbyHy4K4vNsju9tkpH4DjvjcR+Vw4H\/O1ZaCnlvtp+FkLobxaj1dr8zgOA9PbtW6alHP+8zzJQlRq3h5c917o3CKn07exd6IibDKuE7MsfA+OFcLFpp2Z6EJxnFSjowiIoLhERAFEudxgtVDJVznqsG5vNx5AKU5wa0ucQABkk8lkoWu1dejPI0\/hVG4tY3P8R3+Y8sdqvGN83oYVqjilGPeenz5H1abXPf6oXq8gOiP8vTHe3HaR2e61YAAwBgBGtDWhrQAAMADkvVEpYmWpUlTXPi9wiIqmoREQBERAEREAXjnBrS5xAAGSTyUC63qitERfUyjbIy2Ju9zvAfVUAp7xqxwfUl1Bbc5bGPzPH18Tu7ldQvm9DCpXUXhiry2+djvctR1FfUfhun2maVw69QB1WDtB+vyVlZNP01nj2\/41U8ftJncTniB3KZQW2ktlOIKSERt5nm49pPNSkcsrR0IhReLHUd3+F4fIREVDoCIiAIiIAiIgCIiAIiIAsxqO3zUNWzUFuAEsP8AHZye3tPlx\/stOvHNDmlrgCCMEHmrRlhdzKrTVSNv7cxlfL0clNqu1tyx+G1UQ5cjn2+RWupKqKtpY6mB21HK3aaVlTHHpq8yUdQ0G0XHOA7eGHgQf84Y7F0s0kmn746zTO2qWpO3TSE7s9n08fFayjdZf1HFRqOnPtcXZ8nv4M1iIiwPSCIiAodY1rqWxuhiJ6WqcImhvHB4+m7zVjabey12yGjZgljes4fqceJ+apdQj4rUtmozvY1\/SOb2787x\/wCJ+a060eUUjmp9qtOW1l7sIiLM6QiIgCIiAIvCQBknACz1w1bDHUfB2uE19UTgbH5AfHn5bu9WUXLQzqVYU1eTL6eohpYXTTyNjjaMlzjgBZqfUlbd5nUen6cnk6qkGGtHaOzz+SU+may6TNq9Q1LpDxFMw4a3uyOHl81pYKeGlhbDBG2ONowGtGAFbsx5sw\/y1f8Ayvz+iktWlaelk+LuDvjaxx2nPk3tB7gePifRX6IqOTepvTpxpq0UERFBoEREAREQBERAEREAREQBERAEREBDutthu1BJSTbg7e1w4tdyKxr21FZRyWOs3XKgO1SP4GRo\/SD4YI8B2LfKj1LZn18DKykJZXUvWiLeLsb8fb+61pytkzj6TRxLFHXjzXzsd9O3UXa0xzOcDMwbEo\/7hz8+KtV+e2e9No9QNqHERR1p2KqLgGSZ447M7\/Mjkv0JRUjhZbotbrIc0ERFmdRma7A\/4g24uB305AOcDhJuWmWX1CRS6os9Y52ywkxknhx\/\/S1C0nomc1DKc1z9kERFmdIRFS3LVVtoD0ccnxU5OBFCdrf2E8B7qUm9Ck6kYK8nYulTXPU9Db3GGImrqicNhh37+wnl7qrNPqPUR\/eXfhlGf6YBD3DvHE+eB3K6tVht9mjzBGDJjrTSYLvnyHgr4Yx1MOsqVO4rLd+y+Smbar5qF+3dpzRUZORTxnDiO\/8Av8loaC2UdshEVJA2MY3ux1neJ5qtr9XW6kl6CDbrJzuDIBkZ7M\/bKgk6qvYAw21U5PHeJMe\/srNSazyRlGVKEuzeUvv+dEX1wvFBa2F1XUsY7G5gOXHwA3qiN3vd+OxZ6X4OmO74mbiR3f2z4qbQaRt1JL09QX1s5OS+c5Ge3H3ypFz1DbbQ0smlDpQN0Me939vNQraRV2XnjavVlhXLX7\/B5ZbE20ulmfVS1NTOB0sjzx\/zvVssn0eodSEue82ygdwb+tw9\/YLUQRCCnjhDi4RsDcnicDCrNbvM0oSTVoxtH1OiIiodAREQBERAEREAREQBERAEREAREQBERAYnWVgdE511pGu2XHM7RyPJ33V9pa5G52SJ73bUsX7KTPaOB+WPVWzmtewse0Oa4YIIyCFj6cN0jqMwvcRbq0dRxO5hHb4Zx4FbJ444eKOCUFQrdYu68ny5myREWJ3lNqm2uuVlkbFnpoD0seOJI4j5E+i66dugu1oinccys6kv\/wAhz8+PmrKSRkTDJI9rGN4uccALAC9RWK+VhtT46mnqeDSdljHePdv7sHitYpyjY4q040aqqN5PJ+zN+97I2F8jgxrRkuccAKirtXUUMhp6Bj6+o4BsIy3Pjz8sqD+AXW7u6fUFd0MLTn4eNwwPoPVdnXzT2n4nQW9jZZRuLYRkuPe\/n6oorxInWm1d9hc9fscjab\/f3bV1qPgqU7+gi4keH3J8FaQ0dj05EHnoIHYP7SVwMju3HPyCren1TenDoYm2umcPzP3uI+WfQKRQ6MoIHCate+tnJy50h6pPhz81LfBvyRSEc7043e8v78HObWLaiQwWehmrZcbjskNH19lzjsF5vD+kvlc6KIn+Whdu9N3utNBBDTRCKCJkUbeDWDACTTRU8LpppGxxtGXOccAKuO3dRv1DlnVlfloiLb7Nb7W3FJTNY4jBed7j5lfdfc6O2QmWrnbGMbm56zvAc1RVWqKivnNHp6mNRJ+qdww1vkfc\/IrtQaVa6cVt5mNdVHeWu3sb3Y5+3cmHjNlVVv2KC8+H7IouN81Idi3Rm30RO+od+Zw7v7fNWds0vbrc4SuYamozkyzb9\/aBy91cAADAGAF6oc+CyNI0FfFN4nz9kERFQ6AiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqXVVrNzszxGMzQftI8c8cR8vorpRLpUzUdumqKeJssrANlr3YHHmfVWi2mrGdWMZU2paGe0lqOJ9A6kr52Ruph1ZJHgbTOzf2fZdavVzqiY0tjpH1k3\/AFC07I78ffCwksezUOaNh547MW9uezPd3ZWrtNPd7zSD4KantdActIpx1iRxzzz4kLplCKeI8ej0mrOKpLhtr8I6VFuEjhU6ru7Rs7xSxu\/L5D6DzXCqq6a7Uj7TYbJ0keQemxs4I4Hx7yVd0ejbXTu6SoElZLxLpnbs+A+uVesYyNgZG0Ma0YDWjACyc0tDrj0ack8WV9eLfmzBWy3z3avfarzXzxupgNinBGHAcccvTgtlQWe32wfulKyNxGC\/i4+ZUHUFjNe0VtEehuEHWje3dtY5H6Lpp29C8UR6UBlVCdmZnf2470k3JXRajTjSqYJLPg9\/2i3RR62uprfTunqpmxsHM8T3Ac1m5bpd9SEw2iF1JRk7L6mQ4J7cdnl8ws4xbzOmpWjDLV7ItLzqSjtP7Ift6p35YWcc9\/Z7qsp7Jc77MKu+yvigzllIw4x49nv4K1tGnKG0DbYzpqg\/mmkGT5ditlbEo90z6qdV3q6bfO5xpaSnooGwU0TYo28GtC7IizOlJJWQREQkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIotwuVHbIOmq5mxjfsjm7uA5olchtRV2SlEr7nR22LpKuoZEOQJ3u8BxKzrrrfdQOLLTTmipCcfESbiR4\/bPiptFo+hid01e59fUOOXPlccZ8M7\/PK0wpd5nN106n0o+b0+WRn6luN1zHYbbI4Zx08wAA+nr5L1mlKm4SsqL7cX1Lh\/Rj3NHn9gFpmMZGwMjaGNaMBrRgBfSY7d1WH8fFnVeL0+xEorZRW6IxUlMyJp44GSfEneVn6L\/05ql1BnZobh1oc8GP7Pp5tWrVNqi2G42lzogfiKc9JERx3cR8vUBIvOz4k1qdoqUFnHT3RcoqzT91F4tUdQ4jpW9SUDk4ffivbtfaGzx5qZMyH8sTN7j9vNVwu9jXrYYMd8iyWEvlfBTahjrLC\/pKrZd07Ym7THfLj347O1TegvuqCencbdbnH+HjrvHufQeK0NttNFaYeipIQ3P5nne53iVdWhqcs8XSFaKst+PkZqw2qHUI\/FLpWGskDiOgzhsfYCPXA3eK2DGMjYGRtDGtGA1owAsrdrfUaerzerTHmA\/zMA4Y7cch7eC0FsudNdqNtTTPy07nNPFh7Ck7vNaE9GwwbpyVpevMmIiLI7Qo01wpKeshpJZg2afPRswetjv4DzUlfLo2Oe17mNLmZ2XEb257FKId+B9IiKCQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKJW2yjuPRfFwNlETtpod2qWiJ2IcVJWZ41oa0NaAABgAcl6iISERfL3sjYXyODGtGS5xwAgPpcKuspqGEzVU7IWDm44z4dqoq7VYkm+DskBrqk\/qAOw3v7\/Qd6+KXS9RXztrNQVJqJMboGnDWeY9h6rRQtnI5XXcnhpK734ff4KC319W68VVHY5Gwx18pcx8jQ0tAyd3qPsVqrTpajt7\/iKgmsqycmWUZwe4fXioWrqVlDT0NypIWMdRStADRgBucgYHLI9Vp45GyxtkYcteA4HtBVpyuk0YdHoqM3GebWm2ey8T6REWJ6J4QCMEZBWRuVtqtNVrrvaG7VK7+Yp+QH29vBa9eEAjBGQVaMsJjVpKotmtHsRLZc6a7Ubammflp3OaeLD2FTFk7haKywVbrpZG5hJzPTDfkdw7OPeM9iv7Vdaa70baind3PYeLD2FTKPFaFaVVt4KmUvXmiaiIqHQEREAREQBERAEREAREQBERAEREAREQBERAEREARVd01FbrSC2ebblH9KPe7z7PNU7odQalOZHfhlA7gwfneO\/mfQK6g3m8kc868U8Mc3svfYnXTVlFQyfD0rTW1J3BkRyAewkewUNtlu9\/cJb3UGmp85bSQn35fPJ8FdWyyUFojDaWEbeMGV297vP7KwU4ku6V6mdTOq8tlp+yLQW6ktsHQ0cLYm8Tji4955qUiLNu50pKKsir1JTip09WsI\/LEXj\/AMet9F86XnNRpyjeeLWbH\/1JHsFPrWtfQ1DXnDXROBPdhU2iS46dYCQQJHbOOz\/fK0\/0Od5dIT3T\/DNAiIszpCIiALMXWx1dBWOu1hOxL\/VpwNzxzwPp8t606K0ZOJlUpRqKz\/4VdkvlPeqcuYOjnZukhJ3t+4VoqC9aaFXUfiNulNNXs3gt3B57+w9652zUz21X4de4hSVgIAdjqO7N+d3srOKecTKNWUHgq\/fg\/hmjRFynqqembtVE8cQ7ZHhvuszpbS1OqKmqdW2WmB\/exK4fpiaXZ8+HqoLtZGcH8OtFXVcs7OB6Aq6hJ8DGXSaMcsXv6GnRZY3PVlV\/L2mKBpzvkO8fMj2X1+GarqP494hhB3ERN3geQHupwbsr\/Iv3Yt+VvU0xIAyTgBeNc17dpjg4doOVmv8Ak+ap\/wDcL3V1DT+kEj3J7+SvLbbaa1UgpaVpDASSXHJJPMqrUVoy8J1JPtRsvEloiKpsEREAREQBERAEUK4Xahtce3WVDYyRlrOLneA4rPuud81G4x2uE0NGTvqX7nEdx+3zV1BvMwqV4weHV7IubpqK3WkFs823KP6Ue93n2eap21WpNQn92b+GUbv6h\/OR3Hj8seKs7Zpe3W5wlcw1NRnJlm37+0Dl7q5U3jHQp1dWp9R2Wy938FNadL2+1OEwaZ6gb+lk3kHuHL3VyiKjbebN4U4wVoqwREUFwi8c4NaXOIAAySeSztfqpr5jRWSH42rORtD8jccTnn7d6sot6GdSrCmryZ11VdDS0PwFOC+rrR0bGt5AkAnzzgd\/grGz0Attqp6QDBY3rc+sd59Sq2zadkp6o3K6zfFVzuBO8R+Hf7K\/UyaSwoypRlKTqTVuCWyCIvl72RsL5HBjWjJc44AVDpPpFS1mrLPRFzTU9M9v6YRtevD1UA6gvtxdi12YsYeEk\/Mbt+\/A4eKuoSZzy6TTTsnd8szUqJV3W30P81WQxH\/SXdb5cVRHTt7uBDrne3NaeMVOCAR2ch6FSqTRlnpdkvhfUOBzmV\/0GAptFasjrK0u7C3i\/ZHGfW1EXmKgpqitk5BjdkH6+igXE37UNMIXWGOJnFr5Th7PDJHstfDTwUzNiCGOJv8ApY0NHouiKaWiKyoVKitUnlsl\/wBPzyrteo7RRMbJUzOo2kbQp5SdgZ7N32VnZLBp25wiZk81U\/HXjlk2XN8QN\/qtgs\/dNKwVEorLc\/4KsYdprmbmE94HDxHyKuql8nkYy6IoPFFYls\/YsaayWukwYaCBpHBxYCfmd6nAADAGAFm6DUNVQ1TbfqFjYJXfw6jcGPHeRu893fhaQEEZByCspJrU66M6cl2FbloeoiKpsEREAREQBERAEXGpqoKOB09TMyKNvFzjhZ2TU1bdZXU2n6J0mNzqiUYa3\/O\/5Kyi2ZVK0KeT124mgrK6lt8Bnq5mxRjm7n4DiVnH3+7XuUwWKkMUWcGqlG4d\/YPUrvSaSE0wqr3VPrp\/9GSGN+p9B3LRMYyNgZG0Ma0YDWjACteMeZlarV17K\/P6KK3aUpoJfirjK64VTt5dLvaPAHj5+ivgABgDAC9RUcm9TaFOFNWigi8JAGScAKtrdR2mgJbNWMLx+iPrnPfjh5ok3oWlOMFeTsWaLLnV09Y7YtFoqKjO4PeMNB78fcIabVl0aRNURW6N36Yz1uPaMnh38lfA+ORh\/Ji+4nLwXuaCruFHQM26upjhGMjbdgnwHEqhqNZMmldBZ6GaukxucGkAeWM4+S7UmjbbDJ0tUZKyUnJdK7cT4c\/PKvIIIaaIRQRMijbwawYATsLmRavPior7v4My+zX2+lputWKSnIy6CH2\/3JWgt9to7ZB0NJC2Mbto83d5PNSlV3TUVutILZ5tuUf0o97vPs81F5SyRZU6dHtyee7LRV9xvlutTT8VUtDwM9E05efL7qh6fUeo91Oz8MonfrOQ5w8eJ8sBWdt0nbKAbUkQqpjxkmAdv7hwCnCo95letqVPprLd\/BBOoLxdnhlltpjhcP5iobu8Ry916NJVVe8S3q6yzuxjo4tzR5n7BacAAYAwAvUx27qsP46l9RuXp9iBRWS2W8h1NRxseODyNp3zO9T0RUbb1OiMYxVoqwREUFgiIgCIiAh3K10l2pugq49poOWuBw5p7QVRWirnsNy\/BLjI58Lz+6zO5jkO4bvI9y1Kqr\/ZW3qibEJBFLG8OZJjOO309grxlwehzVqbv1kO8vzyLVF8tDgwBztpwG84xkr6VDpCIiAIvHODWlziAAMknks9WatiMxpbRTvuFR\/2A7A7+\/271ZRb0M6lWFNXky+nnhpojLPKyKNvFzzgBZ6o1XJWTmksVI+rl4GVwIY3v\/3wucOnbheJRU6hqHBrT1KWJw2R443fLf3qyN2sNkh+GZUwRNZ\/Ti6xB7wM7\/FXSS5s55TqSV28Eeev6IUGl5q2UVN+rH1cg3iFhxG3\/O7C0EEENNEIoImRRt4NYMALOO1o2of0dstdVVvx2Yx8srwTavuI6kNPb2H9TvzAeee3sHBHGT72RWFSjD6abfJX\/Jp3ODRlxAHaVW1Oo7PSZEtfET2M659Mqqj0a6p693udRVP3bmnAB8Tn6KzpdM2akOY6GNzu2TL\/AHUWguJriry0il4v4+Sul1rBI8xW6gqayTlhuB6ZPovnpdX3J2Y4oLdEeBfgux35yc+QWmjjZEwMjY1jRwDRgBfSYktEOpqS7835Zfsyw0jV1ZzdL1UTA8WMJx5ZP0VpR6atFEB0dEx7ub5euT8\/orVFDnJ8S0ej0ou6WfPP1PAABgDAC9RFQ3Ch3OvFton1PQSTluMMjGSd+PJTEUoiSbVkzJsj1LfztSyfhdI79LRh5Hv7BWts0zbLYdtkPTTf9WbrO8uQVuis5t5LIwh0eKeKWb3YREVDoCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDKaptt\/uNUIqPL6IgdQPa3fzznBPquNvsmpaWAw081JQsOCdloLnHvOCT80RaKo0rWOR9Eg5ud3fxJP\/KFVVuzc71UTtPFjMgepI9FY0el7PR4LKNkjh+qXr+h3Iihzk+JpHo1KLvbPnn6lqxjI2BkbQxrRgNaMAL6RFQ3CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "PROACTIVE",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "NATALIA SANDIVARI",
    "correoContacto": "nsandivari@pro-active.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56993212533",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28557\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28557\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28557\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28557\",\"cantidad_usada\":1,\"cantidad_asignada\":2}]",
    "horaSalida": "17:27",
    "ubicacionGPS": "LatLng(lat: -23.6151218, lng: -70.3861708)",
    "horaLlegada": "14:24",
    "horaDespacho": "17:07",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 17:27:15
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-6zacUN-SNxhVC3km2WZQe00C9JcGNTvppbTYhYgK4lOo_rYV3Yl
>> 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 tintas epson",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12436",
    "observacion": "•Recibe José Araya, sin contador, entrega en bodega",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADHARwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABBEAABAwMBBAgEAwcCBQUAAAABAAIDBAURBhIhMUETIlFhcYGhsRSRwdEVMkIjJDM0Q+HwUvEHFlNigiY1cpLi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMREAAgECBAIJBAIDAQAAAAAAAAECAxESITFRQWEEEyIycYGxwdEzkaHhFPAjQvFi\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBU79T2+G8PtkznxvaQOkcMMzjOM8vZXCy+tLKa2kFfA0manHXaP1M\/srwSbszDpEqkIYocDUIsRpzVUtLHBSXMfu7hsxVB\/Tjdg9w9N3JbYEEZByColBxdmKNeNaN4nqIiqbhERAEREAREQBfEsscMbpJZGxsaMuc44A81HuVzpLVTGoq5NlvANG9zj2Ac1m4aa46ukbU1jnUlsBBZC075O\/+\/wAleMb5vQwqVsLwRV5bfJPZqkV10ipLXSPqow4dNNwDW9oz9VoFxpaSnooGwU0TYo28GtC7KJNcC9OM0u27sIiKpoEREAREQBERAERZ3UF\/fDILXa\/2tfMdnLN\/Rf39uKtGLk7IzqVI044pHXT1yqrjcLqZZduCKcNgGzjA3j2AV6qyw2hlmtracHakcduV3a7A4d25WaStfIrQUlTWPUIiKpsEREAREQBERAF4QCMEZBXqIDD19up7XdH2+qaBa7gdqJ4H8CTtHZjPyIVjp64zUFY\/T9xc0SQ7qd\/DbbyHy4K4vNsju9tkpH4DjvjcR+Vw4H\/O1ZaCnlvtp+FkLobxaj1dr8zgOA9PbtW6alHP+8zzJQlRq3h5c917o3CKn07exd6IibDKuE7MsfA+OFcLFpp2Z6EJxnFSjowiIoLhERAFEudxgtVDJVznqsG5vNx5AKU5wa0ucQABkk8lkoWu1dejPI0\/hVG4tY3P8R3+Y8sdqvGN83oYVqjilGPeenz5H1abXPf6oXq8gOiP8vTHe3HaR2e61YAAwBgBGtDWhrQAAMADkvVEpYmWpUlTXPi9wiIqmoREQBERAEREAXjnBrS5xAAGSTyUC63qitERfUyjbIy2Ju9zvAfVUAp7xqxwfUl1Bbc5bGPzPH18Tu7ldQvm9DCpXUXhiry2+djvctR1FfUfhun2maVw69QB1WDtB+vyVlZNP01nj2\/41U8ftJncTniB3KZQW2ktlOIKSERt5nm49pPNSkcsrR0IhReLHUd3+F4fIREVDoCIiAIiIAiIgCIiAIiIAsxqO3zUNWzUFuAEsP8AHZye3tPlx\/stOvHNDmlrgCCMEHmrRlhdzKrTVSNv7cxlfL0clNqu1tyx+G1UQ5cjn2+RWupKqKtpY6mB21HK3aaVlTHHpq8yUdQ0G0XHOA7eGHgQf84Y7F0s0kmn746zTO2qWpO3TSE7s9n08fFayjdZf1HFRqOnPtcXZ8nv4M1iIiwPSCIiAodY1rqWxuhiJ6WqcImhvHB4+m7zVjabey12yGjZgljes4fqceJ+apdQj4rUtmozvY1\/SOb2787x\/wCJ+a060eUUjmp9qtOW1l7sIiLM6QiIgCIiAIvCQBknACz1w1bDHUfB2uE19UTgbH5AfHn5bu9WUXLQzqVYU1eTL6eohpYXTTyNjjaMlzjgBZqfUlbd5nUen6cnk6qkGGtHaOzz+SU+may6TNq9Q1LpDxFMw4a3uyOHl81pYKeGlhbDBG2ONowGtGAFbsx5sw\/y1f8Ayvz+iktWlaelk+LuDvjaxx2nPk3tB7gePifRX6IqOTepvTpxpq0UERFBoEREAREQBERAEREAREQBERAEREBDutthu1BJSTbg7e1w4tdyKxr21FZRyWOs3XKgO1SP4GRo\/SD4YI8B2LfKj1LZn18DKykJZXUvWiLeLsb8fb+61pytkzj6TRxLFHXjzXzsd9O3UXa0xzOcDMwbEo\/7hz8+KtV+e2e9No9QNqHERR1p2KqLgGSZ447M7\/Mjkv0JRUjhZbotbrIc0ERFmdRma7A\/4g24uB305AOcDhJuWmWX1CRS6os9Y52ywkxknhx\/\/S1C0nomc1DKc1z9kERFmdIRFS3LVVtoD0ccnxU5OBFCdrf2E8B7qUm9Ck6kYK8nYulTXPU9Db3GGImrqicNhh37+wnl7qrNPqPUR\/eXfhlGf6YBD3DvHE+eB3K6tVht9mjzBGDJjrTSYLvnyHgr4Yx1MOsqVO4rLd+y+Smbar5qF+3dpzRUZORTxnDiO\/8Av8loaC2UdshEVJA2MY3ux1neJ5qtr9XW6kl6CDbrJzuDIBkZ7M\/bKgk6qvYAw21U5PHeJMe\/srNSazyRlGVKEuzeUvv+dEX1wvFBa2F1XUsY7G5gOXHwA3qiN3vd+OxZ6X4OmO74mbiR3f2z4qbQaRt1JL09QX1s5OS+c5Ge3H3ypFz1DbbQ0smlDpQN0Me939vNQraRV2XnjavVlhXLX7\/B5ZbE20ulmfVS1NTOB0sjzx\/zvVssn0eodSEue82ygdwb+tw9\/YLUQRCCnjhDi4RsDcnicDCrNbvM0oSTVoxtH1OiIiodAREQBERAEREAREQBERAEREAREQBERAYnWVgdE511pGu2XHM7RyPJ33V9pa5G52SJ73bUsX7KTPaOB+WPVWzmtewse0Oa4YIIyCFj6cN0jqMwvcRbq0dRxO5hHb4Zx4FbJ444eKOCUFQrdYu68ny5myREWJ3lNqm2uuVlkbFnpoD0seOJI4j5E+i66dugu1oinccys6kv\/wAhz8+PmrKSRkTDJI9rGN4uccALAC9RWK+VhtT46mnqeDSdljHePdv7sHitYpyjY4q040aqqN5PJ+zN+97I2F8jgxrRkuccAKirtXUUMhp6Bj6+o4BsIy3Pjz8sqD+AXW7u6fUFd0MLTn4eNwwPoPVdnXzT2n4nQW9jZZRuLYRkuPe\/n6oorxInWm1d9hc9fscjab\/f3bV1qPgqU7+gi4keH3J8FaQ0dj05EHnoIHYP7SVwMju3HPyCren1TenDoYm2umcPzP3uI+WfQKRQ6MoIHCate+tnJy50h6pPhz81LfBvyRSEc7043e8v78HObWLaiQwWehmrZcbjskNH19lzjsF5vD+kvlc6KIn+Whdu9N3utNBBDTRCKCJkUbeDWDACTTRU8LpppGxxtGXOccAKuO3dRv1DlnVlfloiLb7Nb7W3FJTNY4jBed7j5lfdfc6O2QmWrnbGMbm56zvAc1RVWqKivnNHp6mNRJ+qdww1vkfc\/IrtQaVa6cVt5mNdVHeWu3sb3Y5+3cmHjNlVVv2KC8+H7IouN81Idi3Rm30RO+od+Zw7v7fNWds0vbrc4SuYamozkyzb9\/aBy91cAADAGAF6oc+CyNI0FfFN4nz9kERFQ6AiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqXVVrNzszxGMzQftI8c8cR8vorpRLpUzUdumqKeJssrANlr3YHHmfVWi2mrGdWMZU2paGe0lqOJ9A6kr52Ruph1ZJHgbTOzf2fZdavVzqiY0tjpH1k3\/AFC07I78ffCwksezUOaNh547MW9uezPd3ZWrtNPd7zSD4KantdActIpx1iRxzzz4kLplCKeI8ej0mrOKpLhtr8I6VFuEjhU6ru7Rs7xSxu\/L5D6DzXCqq6a7Uj7TYbJ0keQemxs4I4Hx7yVd0ejbXTu6SoElZLxLpnbs+A+uVesYyNgZG0Ma0YDWjACyc0tDrj0ack8WV9eLfmzBWy3z3avfarzXzxupgNinBGHAcccvTgtlQWe32wfulKyNxGC\/i4+ZUHUFjNe0VtEehuEHWje3dtY5H6Lpp29C8UR6UBlVCdmZnf2470k3JXRajTjSqYJLPg9\/2i3RR62uprfTunqpmxsHM8T3Ac1m5bpd9SEw2iF1JRk7L6mQ4J7cdnl8ws4xbzOmpWjDLV7ItLzqSjtP7Ift6p35YWcc9\/Z7qsp7Jc77MKu+yvigzllIw4x49nv4K1tGnKG0DbYzpqg\/mmkGT5ditlbEo90z6qdV3q6bfO5xpaSnooGwU0TYo28GtC7IizOlJJWQREQkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIotwuVHbIOmq5mxjfsjm7uA5olchtRV2SlEr7nR22LpKuoZEOQJ3u8BxKzrrrfdQOLLTTmipCcfESbiR4\/bPiptFo+hid01e59fUOOXPlccZ8M7\/PK0wpd5nN106n0o+b0+WRn6luN1zHYbbI4Zx08wAA+nr5L1mlKm4SsqL7cX1Lh\/Rj3NHn9gFpmMZGwMjaGNaMBrRgBfSY7d1WH8fFnVeL0+xEorZRW6IxUlMyJp44GSfEneVn6L\/05ql1BnZobh1oc8GP7Pp5tWrVNqi2G42lzogfiKc9JERx3cR8vUBIvOz4k1qdoqUFnHT3RcoqzT91F4tUdQ4jpW9SUDk4ffivbtfaGzx5qZMyH8sTN7j9vNVwu9jXrYYMd8iyWEvlfBTahjrLC\/pKrZd07Ym7THfLj347O1TegvuqCencbdbnH+HjrvHufQeK0NttNFaYeipIQ3P5nne53iVdWhqcs8XSFaKst+PkZqw2qHUI\/FLpWGskDiOgzhsfYCPXA3eK2DGMjYGRtDGtGA1owAsrdrfUaerzerTHmA\/zMA4Y7cch7eC0FsudNdqNtTTPy07nNPFh7Ck7vNaE9GwwbpyVpevMmIiLI7Qo01wpKeshpJZg2afPRswetjv4DzUlfLo2Oe17mNLmZ2XEb257FKId+B9IiKCQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKJW2yjuPRfFwNlETtpod2qWiJ2IcVJWZ41oa0NaAABgAcl6iISERfL3sjYXyODGtGS5xwAgPpcKuspqGEzVU7IWDm44z4dqoq7VYkm+DskBrqk\/qAOw3v7\/Qd6+KXS9RXztrNQVJqJMboGnDWeY9h6rRQtnI5XXcnhpK734ff4KC319W68VVHY5Gwx18pcx8jQ0tAyd3qPsVqrTpajt7\/iKgmsqycmWUZwe4fXioWrqVlDT0NypIWMdRStADRgBucgYHLI9Vp45GyxtkYcteA4HtBVpyuk0YdHoqM3GebWm2ey8T6REWJ6J4QCMEZBWRuVtqtNVrrvaG7VK7+Yp+QH29vBa9eEAjBGQVaMsJjVpKotmtHsRLZc6a7Ubammflp3OaeLD2FTFk7haKywVbrpZG5hJzPTDfkdw7OPeM9iv7Vdaa70baind3PYeLD2FTKPFaFaVVt4KmUvXmiaiIqHQEREAREQBERAEREAREQBERAEREAREQBERAEREARVd01FbrSC2ebblH9KPe7z7PNU7odQalOZHfhlA7gwfneO\/mfQK6g3m8kc868U8Mc3svfYnXTVlFQyfD0rTW1J3BkRyAewkewUNtlu9\/cJb3UGmp85bSQn35fPJ8FdWyyUFojDaWEbeMGV297vP7KwU4ku6V6mdTOq8tlp+yLQW6ktsHQ0cLYm8Tji4955qUiLNu50pKKsir1JTip09WsI\/LEXj\/AMet9F86XnNRpyjeeLWbH\/1JHsFPrWtfQ1DXnDXROBPdhU2iS46dYCQQJHbOOz\/fK0\/0Od5dIT3T\/DNAiIszpCIiALMXWx1dBWOu1hOxL\/VpwNzxzwPp8t606K0ZOJlUpRqKz\/4VdkvlPeqcuYOjnZukhJ3t+4VoqC9aaFXUfiNulNNXs3gt3B57+w9652zUz21X4de4hSVgIAdjqO7N+d3srOKecTKNWUHgq\/fg\/hmjRFynqqembtVE8cQ7ZHhvuszpbS1OqKmqdW2WmB\/exK4fpiaXZ8+HqoLtZGcH8OtFXVcs7OB6Aq6hJ8DGXSaMcsXv6GnRZY3PVlV\/L2mKBpzvkO8fMj2X1+GarqP494hhB3ERN3geQHupwbsr\/Iv3Yt+VvU0xIAyTgBeNc17dpjg4doOVmv8Ak+ap\/wDcL3V1DT+kEj3J7+SvLbbaa1UgpaVpDASSXHJJPMqrUVoy8J1JPtRsvEloiKpsEREAREQBERAEUK4Xahtce3WVDYyRlrOLneA4rPuud81G4x2uE0NGTvqX7nEdx+3zV1BvMwqV4weHV7IubpqK3WkFs823KP6Ue93n2eap21WpNQn92b+GUbv6h\/OR3Hj8seKs7Zpe3W5wlcw1NRnJlm37+0Dl7q5U3jHQp1dWp9R2Wy938FNadL2+1OEwaZ6gb+lk3kHuHL3VyiKjbebN4U4wVoqwREUFwi8c4NaXOIAAySeSztfqpr5jRWSH42rORtD8jccTnn7d6sot6GdSrCmryZ11VdDS0PwFOC+rrR0bGt5AkAnzzgd\/grGz0Attqp6QDBY3rc+sd59Sq2zadkp6o3K6zfFVzuBO8R+Hf7K\/UyaSwoypRlKTqTVuCWyCIvl72RsL5HBjWjJc44AVDpPpFS1mrLPRFzTU9M9v6YRtevD1UA6gvtxdi12YsYeEk\/Mbt+\/A4eKuoSZzy6TTTsnd8szUqJV3W30P81WQxH\/SXdb5cVRHTt7uBDrne3NaeMVOCAR2ch6FSqTRlnpdkvhfUOBzmV\/0GAptFasjrK0u7C3i\/ZHGfW1EXmKgpqitk5BjdkH6+igXE37UNMIXWGOJnFr5Th7PDJHstfDTwUzNiCGOJv8ApY0NHouiKaWiKyoVKitUnlsl\/wBPzyrteo7RRMbJUzOo2kbQp5SdgZ7N32VnZLBp25wiZk81U\/HXjlk2XN8QN\/qtgs\/dNKwVEorLc\/4KsYdprmbmE94HDxHyKuql8nkYy6IoPFFYls\/YsaayWukwYaCBpHBxYCfmd6nAADAGAFm6DUNVQ1TbfqFjYJXfw6jcGPHeRu893fhaQEEZByCspJrU66M6cl2FbloeoiKpsEREAREQBERAEXGpqoKOB09TMyKNvFzjhZ2TU1bdZXU2n6J0mNzqiUYa3\/O\/5Kyi2ZVK0KeT124mgrK6lt8Bnq5mxRjm7n4DiVnH3+7XuUwWKkMUWcGqlG4d\/YPUrvSaSE0wqr3VPrp\/9GSGN+p9B3LRMYyNgZG0Ma0YDWjACteMeZlarV17K\/P6KK3aUpoJfirjK64VTt5dLvaPAHj5+ivgABgDAC9RUcm9TaFOFNWigi8JAGScAKtrdR2mgJbNWMLx+iPrnPfjh5ok3oWlOMFeTsWaLLnV09Y7YtFoqKjO4PeMNB78fcIabVl0aRNURW6N36Yz1uPaMnh38lfA+ORh\/Ji+4nLwXuaCruFHQM26upjhGMjbdgnwHEqhqNZMmldBZ6GaukxucGkAeWM4+S7UmjbbDJ0tUZKyUnJdK7cT4c\/PKvIIIaaIRQRMijbwawYATsLmRavPior7v4My+zX2+lputWKSnIy6CH2\/3JWgt9to7ZB0NJC2Mbto83d5PNSlV3TUVutILZ5tuUf0o97vPs81F5SyRZU6dHtyee7LRV9xvlutTT8VUtDwM9E05efL7qh6fUeo91Oz8MonfrOQ5w8eJ8sBWdt0nbKAbUkQqpjxkmAdv7hwCnCo95letqVPprLd\/BBOoLxdnhlltpjhcP5iobu8Ry916NJVVe8S3q6yzuxjo4tzR5n7BacAAYAwAvUx27qsP46l9RuXp9iBRWS2W8h1NRxseODyNp3zO9T0RUbb1OiMYxVoqwREUFgiIgCIiAh3K10l2pugq49poOWuBw5p7QVRWirnsNy\/BLjI58Lz+6zO5jkO4bvI9y1Kqr\/ZW3qibEJBFLG8OZJjOO309grxlwehzVqbv1kO8vzyLVF8tDgwBztpwG84xkr6VDpCIiAIvHODWlziAAMknks9WatiMxpbRTvuFR\/2A7A7+\/271ZRb0M6lWFNXky+nnhpojLPKyKNvFzzgBZ6o1XJWTmksVI+rl4GVwIY3v\/3wucOnbheJRU6hqHBrT1KWJw2R443fLf3qyN2sNkh+GZUwRNZ\/Ti6xB7wM7\/FXSS5s55TqSV28Eeev6IUGl5q2UVN+rH1cg3iFhxG3\/O7C0EEENNEIoImRRt4NYMALOO1o2of0dstdVVvx2Yx8srwTavuI6kNPb2H9TvzAeee3sHBHGT72RWFSjD6abfJX\/Jp3ODRlxAHaVW1Oo7PSZEtfET2M659Mqqj0a6p693udRVP3bmnAB8Tn6KzpdM2akOY6GNzu2TL\/AHUWguJriry0il4v4+Sul1rBI8xW6gqayTlhuB6ZPovnpdX3J2Y4oLdEeBfgux35yc+QWmjjZEwMjY1jRwDRgBfSYktEOpqS7835Zfsyw0jV1ZzdL1UTA8WMJx5ZP0VpR6atFEB0dEx7ub5euT8\/orVFDnJ8S0ej0ou6WfPP1PAABgDAC9RFQ3Ch3OvFton1PQSTluMMjGSd+PJTEUoiSbVkzJsj1LfztSyfhdI79LRh5Hv7BWts0zbLYdtkPTTf9WbrO8uQVuis5t5LIwh0eKeKWb3YREVDoCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDKaptt\/uNUIqPL6IgdQPa3fzznBPquNvsmpaWAw081JQsOCdloLnHvOCT80RaKo0rWOR9Eg5ud3fxJP\/KFVVuzc71UTtPFjMgepI9FY0el7PR4LKNkjh+qXr+h3Iihzk+JpHo1KLvbPnn6lqxjI2BkbQxrRgNaMAL6RFQ3CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "PROACTIVE",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "NATALIA SANDIVARI",
    "correoContacto": "nsandivari@pro-active.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56993212533",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28557\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28557\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28557\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28557\",\"cantidad_usada\":1,\"cantidad_asignada\":2}]",
    "horaSalida": "17:27",
    "ubicacionGPS": "LatLng(lat: -23.6151218, lng: -70.3861708)",
    "horaLlegada": "14:24",
    "horaDespacho": "17:07",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


04/05/2026 17:27:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76423913

[04/05/2026 17:27: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('76423913', 'EP2532', 1, 24456550, 0, NOW(), 
				'17:07', '14:24', '17:27', 10, '•Entrega tintas epson', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777930035.png', '•Recibe José Araya, sin contador, entrega en bodega', null, 'COMPLETADO','LatLng(lat: -23.6151218, lng: -70.3861708)' )
				
[04/05/2026 17:27:15] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200168
[04/05/2026 17:27:15] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200168', 'EPS-I302', 2)
				
[04/05/2026 17:27:15] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28557 and
				    IDproducto = 'EPS-I302'
				

04/05/2026 17:27:15 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I302';
                [04/05/2026 17:27:15] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200168', 'EPS-I303', 2)
				
[04/05/2026 17:27:15] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28557 and
				    IDproducto = 'EPS-I303'
				

04/05/2026 17:27:15 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I303';
                [04/05/2026 17:27:15] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200168', 'EPS-I305', 2)
				
[04/05/2026 17:27:15] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28557 and
				    IDproducto = 'EPS-I305'
				

04/05/2026 17:27:15 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I305';
                [04/05/2026 17:27:15] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200168', 'EPS-I304', 1)
				
[04/05/2026 17:27:15] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28557 and
				    IDproducto = 'EPS-I304'
				

04/05/2026 17:27:15 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                
04/05/2026 17:27:15 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200168'                    
				WHERE idllamado = 12436			
				TO ENVIO: micorreo@miempresa.cl, nsandivari@pro-active.cl


04/05/2026 17:27:16 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12436			
				
04/05/2026 17:27:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


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

04/05/2026 17: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 = 12436
                [04/05/2026 17:27: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;
                

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

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

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

04/05/2026 17:27:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:27:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:27:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:27:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:27:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:27:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:27:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:27:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:27:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:27:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:27:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:27:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:27:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:27:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:27:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:27:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:27:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            
04/05/2026 17:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12436
            GROUP BY l.idllamado;
            [04/05/2026 17:27:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 17:27:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                
04/05/2026 17:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12436
                [04/05/2026 17:32:16] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 95585912 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '95585912'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[04/05/2026 17:32: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 = '95585912'
				GROUP BY anio
				ORDER BY anio DESC;
				
[04/05/2026 17:32:41] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 17:32:46] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:32:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12445
            GROUP BY l.idllamado;
            
04/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12445
            GROUP BY l.idllamado;
            [04/05/2026 17:32:51] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12445
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12445
                
04/05/2026 17: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 = 12445
                
04/05/2026 17:32:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12445
            GROUP BY l.idllamado;
            
04/05/2026 17:32:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:32:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:32:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12445
            GROUP BY l.idllamado;
            
04/05/2026 17:32:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:32:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17: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 = 12445
                
04/05/2026 17: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 = 12445
                
04/05/2026 17: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 = 12445
                
04/05/2026 17:32:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12445
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12445
                
04/05/2026 17: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 = 12445
                
04/05/2026 17: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 = 12445
                
04/05/2026 17:33:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12445
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12445
                
04/05/2026 17: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 = 12445
                
04/05/2026 17: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 = 12445
                
04/05/2026 17: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 = 12445
                
04/05/2026 17:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:33:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12445
            GROUP BY l.idllamado;
            
04/05/2026 17:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:33:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:33:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17: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 = 12445
                
04/05/2026 17:34:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12445
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12445
                
04/05/2026 17:34:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12445
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12445
                
04/05/2026 17: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 = 12445
                
04/05/2026 17:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:35:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:35:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12445
            GROUP BY l.idllamado;
            
04/05/2026 17:35:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:35:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:35:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12445
            GROUP BY l.idllamado;
            
04/05/2026 17:35:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:35:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:35:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:35:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12445
            GROUP BY l.idllamado;
            
04/05/2026 17:35:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:35:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:36:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:36:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12445
            GROUP BY l.idllamado;
            
04/05/2026 17:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:36:16 - logentry: =========================================
FECHA: 04/05/2026 17:36:16
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-HXB0pGWYXjbx5f_cr8EX4sfi2CUZKIixqzuwR7Q+MJxU.DZtGfc
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "96846410",
    "serieinterna": "EP2361",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "FAENA TENIENTE",
    "ciudadmaquina": "Rancagua",
    "departamentomaquina": "departamento máquina",
    "rutTecnico": "95585912",
    "contador": "20519",
    "contadorColor": "25982",
    "contadorScanner": "0",
    "detalle": "se realiza retiro por impresora en mal estado",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12445",
    "observacion": "se realiza retiro por impresora en mal estado",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC7AR8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABEEAABAwMBBQQIAgUKBwAAAAABAAIDBAURBhIhMUFRE2FxkRQiMoGhscHRFSMWQsLh8Ac0Q1JykqKy0vEkMzVTYmN0\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT\/xAAzEQACAQIDBQcDAwUBAAAAAAAAAQIDERIhMQQyQVFhEyJxgaGx0TPB4RSR8CMkUmJy8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAXKoqYKSEzVMzIoxxc84Crr7f6ay0xy4PqXD8uLv6noFjYqK86ql7Q7Tow45mkeRG3uaPsFpGndXeSOOttShLBBXkX9drughJbSQyVJxucfUb8d\/wXaxVt\/uVY2qq4Y4KEsOGgY2jyI4n5Bfdp0fb7cWyzD0qcfrPHqg9zfutApk4LKKIpU68niqyt0X3CIiyO0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIvHODRlxAHUoD1FCnvNsps9tX07S3i3tAT5Deqyp1tZoAezklnI5RxkfPCsoyeiMpV6UN6SNAiy51Jea71bZY5BvIEk+4fQfFVt+i1JHbX1dwrmMjJDewhOOPI4G\/wAyrKm72bMJ7XFRcopu3TL1NTcL7bbY13pNUzbb\/RMO0\/y5e9ZqXVd4u0xp7NRbAduDiNp\/Pfk7hwP3VhbtGWlsEM0rZZ3Oa1xD37s4zwGNyvoKSChpzHR08cYAyGNGzk95U3hHTMhx2irvPCumpRW7R8If6XdpXVtU7e4OcS0H5n3+S0jWhrQ1oAAGAByUW21FVU0TZayl9GmJOY9rOBncpapJtvM3o04Qj3Fr+4REVTYIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAprvZq241TXwXaeji2cOZHn1j7iOSgs0PSvdtVlfVVBzk+sBnzytOiupySsjCWzUpPFJXKSDR9kgxmlMpHOR5Pw4Kyp7dQ0hzT0cER6sjAPmpKKHJvVl40qcN2KQWa147ZsMYx7VQ0f4XH6LSrMa79a2UsZ4OqRn+6fupp76Mtr+hI0rWhjA0cAML6RFQ6QiIgCIiAIiIAiIgCLnNNFTwvmmeGRsGXOcdwCyk9xuOqp30dqLqahbulqHAgv7v3eatGLZjVrKnlq3oi\/hvdvqLkbfDUCSYNJOzw3cs9fsVYKBarNRWeHYpY\/XIw+R29zvE\/RT1DtfItTx4e\/qERFBoEREAREQBERAEREAREQBERAEREAREQBERAFmNc\/wAxov8A6R8itOsxrL1pbVGOLqnd8PutKe8jm2v6Mv5xNOiIszpCIqC9ahfT1Ittri9Kr38hvEfj3qVFt2RnUqRpq8i7lmigbtzSsjb1e4AfFIZoqiISwSsljdwexwcD7ws5SaTkqXek3ytlqZXDfG15DW55Z+2AvixwMt+srjQUrSylbCHBmSQDhnXxKvhVnZmKrVE1ijZN26mqREWZ1Bc554qaB88zwyOMbTnHkF0WTukkuo7+20QuxR0p2qlwd7eCMjuI4D3q0Y3ZjWqdnHLNvQ5sZV6yq+0kzBaYHnZaNxlP3+XJayCCKmhZDBG2ONgw1rRgBIYYqeFkMLAyNgw1rRuAXRJSvktBSpYM3nJ6sIiKpsEREAREQBEUWkuNPWzVEUJcXUz+zky0jf3dUsQ2k7MlIiISEREAREQBERAEREAREQBERAFmNXb7hZWjeTU7h13tWnWY1J+bqSxQji2YvPhtNP7K0p7xzbV9JrqvdGnRF4SAMk4AWZ0lDqS9S0vZW63kOrqk7IA3mMHn4\/7qXZLJDZqcgHtKiTfLMeLj9lU6SiNwra6+znaklkMcYI9kbj8tke4rVLSXd7qOSiu0fbS8ui\/J45wa0ucQABkk8lmtLNfWXC5Xd2eznkLYjyIB34z3Bu\/uPRferbm5lILVSZfWVeG7DeIYePnw8Mq3tVvZa7bDSMwTG31nAe07mfNNI+JLfaVklpH3ZMREWZ1EG81rrdaKmrZjbjZ6ueG0dw+JULSdB6HZY5XnMtV+c92c5zw+Cm3mmhq7TUQ1ErYYyzJkdwbjgSs\/R6hrrTSxQ19vfPTMjb2dTAchzMbjv3Hd4cFrFNxsjjqSjCspT0sa5FnBrqzlm1s1AP8AV7MZ+a+Ha4pJDsUdDV1D+QDQM+RJ68lXs5ci\/wCqo\/5GmXGoqqekj7SpnjhZ\/WkcGj4rOm4aquO02lt0dAz\/ALkxy4ef+lfcGkBPUCqvNbJXS\/1N7Wju8PDCnAlvMjtpS+nHzeS+Tyo1XJVzGlsNG+sl5yuGGN7\/APfC6UVlvMlZDWXK7vBjcHdhD7J7jwHwPir6Cnhpo+zgiZEzOdljcDK6KMSWUUSqLk71JX9EERFQ6QvMAZwOPFeogCIiAIiIAiIgCIiAIiIAiIgCIiALMVI9L\/lApWcW0lOXEHrv3\/4m+S06y9iIq9X3isByI8Q59+P2FeHFnNXzcI837ZmoXhAIwRkFeoqHSZG01bdL3KotNeezpZHmSnmdw38ifLwIPVaWtqJoaCWekh9JkazaYwO9r+PivK+3UtygMNVEHt34PAt7weSoWabu1rcfwe7bMOciGYZA+Yz7gtbxlm9TjSqUVhSvHhbVfJJsFmnjqJLvc\/Wr6gcD\/Rjp44wO5X6zGNZjdmjdjnu3rw0msanc+upqdpG\/ZAz\/AJT80cbu7aIp1FTjhjCX7GmkkZEwvke1jRxLjgBUNdq+hhd2FA19fUOOGsiBxnx5+7K4R6MbPIJbrcqisd0zgfHJ8sK9orbRW5mzSU0cIxglo3nxPEqO4upe9eeiUfV\/Bnfwu\/agJfdKj0Kkdwp2e0R3j7+S01JTR0dLHTRZ2I27LcrsirKTeRpToxg76vmzm6CFzw90TC4cCWjK+2tDRhoAHQL1FU1sgiIhIREQBERAEREARcKyrjoaOWqlDjHE3adsjJwvKKtguFJHVU7tqOQZHUdx71Nna5XEsWG+ZIREUFgiIgCIiAIiIAiIgCIiA5VU7aWkmqH+zExzz4AZVDoiF7bNJUyEl1TM5\/lu+YK66yqnU1ge1gyZ5GxYxnPM\/JWltpTQ22mpSdoxRtaT1ON600h4nM+9tH\/K9\/8AwlIiLM6QiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID5exskbo3tDmuBDgeYUCz2eKzQywwyyPjkkL2tf+p3BWKKbu1irhFyUnqgiIoLBERAEXOaaKnhfNM8MjYMuc47gFm\/xu73uWSOyUzYYG+r6VNwznlxHDlg8QrKLZlUqxhk9XwRqEWXGmr3KdufUk7HniI9rH+YfJdLXXXChv34LcJhVbce2ybnw5+R+HepwLgzNV2mlOLV\/A0iIiodIREQHy5rXt2XtDh0IyvpEQBERAEREAREQBERAEREAREQBERAERVV01HbbTJ2M821NjPZsGSOmeilJvJFZzjBXk7ItUWYOr6mQ\/8NYauZp9k7xtD3NKfpjLH\/OLHWRddx3deICt2cjD9XR5+jNOizset7S5wbIJ4d+CXMyB5En4K2o7tb7hj0Srilcf1Q7DvI71DhJao0hXpzyjJExERVNQiIgCIiAzt\/o667XSkt4ie237pJ5QSA7B9n4DHee5X0MMVPCyGFgZGwYa1o3ALood0uAtlvkq3QvlEY3tZ\/HBWu3ZGKhGm5VGTFmHfmfyiN\/9VNy8Dx81oKKrir6OKqhdlkjQ4d3cVnrM4Vus7rVtJLImiIY4Z3D9k\/FWjlczrtScEuLXyahERZnUEREAREQBERAFFpblSVtRUQU8u3JTO2ZRskbJyRjfx4HgpSy+nnGLVN7gdkF79vB6ZP8AqVkrpmNSo4ziuDf2NQiIqmwREQBERAEREAReEZGOqzVglfbL5W2OV7nMyZqdz3ZJB3kZ+PuKsldMynUwSinxNMsrfY5rPfIr82MT05AjlacZZyBB\/jotUuc0MVRC+GZgfG8Yc1w3EJGVmK1PtI2WT4eJ5T1EVXTsqIHh8cgy1wXVZGkkk0nefQZy51tq3ZgeTkRn+OPuKs9U1VdQ25lZROIEUg7UdWn9+PNS4Z2XEzjX\/puUlmtUW01LT1IxPBHKMYw9gd81T1uj7RVDMcJppMbnQnGD4cFb0tTHWUsVTEcslYHD3rsoUnHQ0lTp1F3lcyjm6h02wOa\/8Vo2nBYQe0YPHiN3iB0V7artSXil7elfw3PY72mHoVOWUuNOywalpK6kAjirXGOaPOG5yMn6+IVlafiYNSoWad48uXgatERZnYFmdKntrreqkZ2H1GGZPe79y0rnBrS47gBkrNaGaX22qqXe1NUk\/Afcq8d1nNUzrQXj7fk0y+XsbJG6N7Q5rgQ4HmF9IqHSZb8Bvdre+GyVsbaWUk7Eu8xnrwP8fC2sVmbZqN0ZkMs0ry+R5PE8vgrNFdzbVjCGzwhLEvLp4BERUNwiLnNNFTxmSeVkTBxc9wAHvKDQ6IqCr1naKZ+xHJJUu4YhZkZ8Tj4KP+mMr3Ew2SsfHnc7ByR4Y+qv2cuRzvaqKdsX3NOipLbqmiuFT6K+OSmmJADZRgEneBnqrtVaa1NYVI1FeLuFmIs0v8ocwGMVVNnGeGAP9PxWnWXvmafWNmqRj8z8rpzx+2rw1aMdpyUZcmvg1CKrvl7is9O3DO2qZTsxQt4uPXwVS2y3y9jtbtXmlicQRTQ8vHp78qFHK7yLTrWlhgrv+as0b66kjeGPqoWOPAOkAJXYEEZByCqCPRVmjZslkz3YxtmU5+GAoNVZK\/TpNfZaiSWFhzJSv3gjnw4\/NThi8kyjq1YK8o5dGa5FCtN1p7xRNqqckDOHMPFh6FTDvGM471Rq2TOiMlJXWh6izdqudVRXqaz3ScyOc7ap5n4G0Onv5d+QtIplGxWnUVRXQWX1W0UFytl4YADHL2chxxB3\/LaWoVBrVrHackLuLZGFu\/nnHyJU095Ge1K9Fvln+xfoo9Dt\/h9N2mdvsm7WeuBlSFQ3TurkC8WqG8W99LLudxjfj2HciqWy3FxbJp6+DZnDezYXndK07sZ69Oq1KrrvZKO8whtSzD2g7Ejdzm\/fwV4yVrMwq0nixw190VWlZZKGprLDUPBfTPLoupYd\/wBQfeVplQWnTT7ddHVs1dJUODdhhdnOzv3H4Y8FfpNpu6GzRlGnhkrW9gspc5jfdUUlvp8mCheXzyAHc4cs+7Hie5dbzqCSonFpsZ7aqkOy+VvCMc8Hr38vHhZ2OzRWaj7Jru0mfvlkP6x+28+ZUpYFd6mc5dvLBHRav7fJZoiLM7CJdJmwWqrldwZC88eO47lXaPhMWnojvw97nDI5Z\/crmaKOeF8MrA+N4LXNPAhIoY4ImxQsbHGwYa1owAFa\/dsZOm3VU+SPtERVNQiIgCLxzg1pc4gADJJ5LJ1dZWaprX2+3PMNvjOJqgfr9w7u7zVoxuZVaqprm3oiVcdUOfU\/h9kh9MqjkF49hnf3+PBfEOlZ68ie+3CaokOD2UbsMb3f7YVza7TSWmmENLGAces8+089SVNVsdsomSoOedZ36cPyRaS2UNCB6LSRREDG01oz58VKRFne50pJKyMxq8Ryz2ynj2BVyVADHfrBvDyyR5LTqo\/BpZdSfilROHxRs2YIhn1T1PLr8Oit1eTVkjGlFqcpNa\/YLLa2Ih\/DKsjdDUcfI\/srUrOa5j27AHYz2czXeG4j6pT3kV2pXoyOGnIPxi5VV\/qWZy\/Yp2uHsAc\/HG7zWqVTpdjY9N0TW8Cwn3kkn5qvN\/vz87GnpG9Npx+wUyTlJ24FKUo0qcXLV56cTTIswLnq2TPZ2anbzG27l\/eC8DNZ1GfzaSl9wP0cowdUX\/UrhFvyOdYP0Y1FHWxAihrzszMaNzXdfjnzWryM4zvWKvllvRtUs9bdDUCMtIgjYSHHOO7rnh1Vvp3T8NAyO4PfK+qmiG32h9nOCd3VXkk43vmY0ZTjUcFGyeefAmXuyQ3mna1xMc8RzFK3cWn7KnpdS1dolFFqGBzHAepPGNraHU79\/u8lq18SwxTM2JY2SN6PaCFRSyszedFuWODs\/R+JUS6uskcXaCs292Q1jHZPw3e9VUprtX1cTRDJTWqNwc4v3GUffp049FoGWS1RuDmW+nBByPyxxU4AAYAwApxRjulXSqVMqjVuS4hrQ1oa0AADAA5L1EWZ1BFSX2S+w1dLLaomzRDIkj3ese\/u8CoTYtX3D\/my09BG7iG42sd3EjzV1C6vc55V7ScVFvyL2vudHbYu0q6hkQ5Ane7wHErOvrLvqkmGgY6gt53PnkHrPHQdfAe8qZSaPo2SCouE0tfUc3SuOz5cT7yVoGtDWhrQAAMADkpvGOmbK4KtXfyXJa+b+CDarPR2in7Kljw4jD5D7T\/EqeiKjbebOiMVFWisgiIoLBERAEREAREQEeuhdUUFRCwZdJE5oGcZyMceSy9lv8FiomW25UU9K6MnMmxkOJ37+fPvWwXxLDFMzYljZI3o9oIV4ySVmYVKUnJTg7NFZHqmySDLbhGP7TXN+YR+qbIzjcIzuzua4\/ILrJp+zyHLrbTj+ywN+SDT9oA\/6dAfFmfmnc6lf7n\/AF9SFJrOyMB2ah8mOTYnb\/MBR3a6oHHEFJVynuYB9Vex22ghIMVFTsxw2Ymj6KQ1oaMNAA6BLw5DBXeskvL8ma\/Se5zAejaeqSHcHP2sf5cfFeG4aum3RWmnjB35e7h5u+i06JiXBDsZvem\/RfYhWp1ydR5ujImz7RwIju2eWe\/io+p4PSNOVjAAS1m3v\/8AEg\/RWq8IBGCMgqE87mrp3puDfCxVaWkEmm6Jw5MLfJxH0VsvAABgDAC9UN3dyYRwxUeQREUFwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/Z",
    "razonSocial": "STEEL INGENIERIA S.A.",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "WILIIAM",
    "correoContacto": "earevalo@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56995359625",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "17:36",
    "ubicacionGPS": "LatLng(lat: -23.6618775, lng: -70.4001502)",
    "horaLlegada": "13:49",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "2",
    "observacionRetiroMaqExterna": "se realiza retiro por mal estado y solicitud de repuesto ",
    "idReportManual": "null"
}
=========================================
FECHA: 04/05/2026 17:36:16
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-HXB0pGWYXjbx5f_cr8EX4sfi2CUZKIixqzuwR7Q+MJxU.DZtGfc
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "96846410",
    "serieinterna": "EP2361",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "FAENA TENIENTE",
    "ciudadmaquina": "Rancagua",
    "departamentomaquina": "departamento máquina",
    "rutTecnico": "95585912",
    "contador": "20519",
    "contadorColor": "25982",
    "contadorScanner": "0",
    "detalle": "se realiza retiro por impresora en mal estado",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12445",
    "observacion": "se realiza retiro por impresora en mal estado",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC7AR8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABEEAABAwMBBQQIAgUKBwAAAAABAAIDBAURBhIhMUFRE2FxkRQiMoGhscHRFSMWQsLh8Ac0Q1JykqKy0vEkMzVTYmN0\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT\/xAAzEQACAQIDBQcDAwUBAAAAAAAAAQIDERIhMQQyQVFhEyJxgaGx0TPB4RSR8CMkUmJy8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAXKoqYKSEzVMzIoxxc84Crr7f6ay0xy4PqXD8uLv6noFjYqK86ql7Q7Tow45mkeRG3uaPsFpGndXeSOOttShLBBXkX9drughJbSQyVJxucfUb8d\/wXaxVt\/uVY2qq4Y4KEsOGgY2jyI4n5Bfdp0fb7cWyzD0qcfrPHqg9zfutApk4LKKIpU68niqyt0X3CIiyO0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIvHODRlxAHUoD1FCnvNsps9tX07S3i3tAT5Deqyp1tZoAezklnI5RxkfPCsoyeiMpV6UN6SNAiy51Jea71bZY5BvIEk+4fQfFVt+i1JHbX1dwrmMjJDewhOOPI4G\/wAyrKm72bMJ7XFRcopu3TL1NTcL7bbY13pNUzbb\/RMO0\/y5e9ZqXVd4u0xp7NRbAduDiNp\/Pfk7hwP3VhbtGWlsEM0rZZ3Oa1xD37s4zwGNyvoKSChpzHR08cYAyGNGzk95U3hHTMhx2irvPCumpRW7R8If6XdpXVtU7e4OcS0H5n3+S0jWhrQ1oAAGAByUW21FVU0TZayl9GmJOY9rOBncpapJtvM3o04Qj3Fr+4REVTYIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAprvZq241TXwXaeji2cOZHn1j7iOSgs0PSvdtVlfVVBzk+sBnzytOiupySsjCWzUpPFJXKSDR9kgxmlMpHOR5Pw4Kyp7dQ0hzT0cER6sjAPmpKKHJvVl40qcN2KQWa147ZsMYx7VQ0f4XH6LSrMa79a2UsZ4OqRn+6fupp76Mtr+hI0rWhjA0cAML6RFQ6QiIgCIiAIiIAiIgCLnNNFTwvmmeGRsGXOcdwCyk9xuOqp30dqLqahbulqHAgv7v3eatGLZjVrKnlq3oi\/hvdvqLkbfDUCSYNJOzw3cs9fsVYKBarNRWeHYpY\/XIw+R29zvE\/RT1DtfItTx4e\/qERFBoEREAREQBERAEREAREQBERAEREAREQBERAFmNc\/wAxov8A6R8itOsxrL1pbVGOLqnd8PutKe8jm2v6Mv5xNOiIszpCIqC9ahfT1Ittri9Kr38hvEfj3qVFt2RnUqRpq8i7lmigbtzSsjb1e4AfFIZoqiISwSsljdwexwcD7ws5SaTkqXek3ytlqZXDfG15DW55Z+2AvixwMt+srjQUrSylbCHBmSQDhnXxKvhVnZmKrVE1ijZN26mqREWZ1Bc554qaB88zwyOMbTnHkF0WTukkuo7+20QuxR0p2qlwd7eCMjuI4D3q0Y3ZjWqdnHLNvQ5sZV6yq+0kzBaYHnZaNxlP3+XJayCCKmhZDBG2ONgw1rRgBIYYqeFkMLAyNgw1rRuAXRJSvktBSpYM3nJ6sIiKpsEREAREQBEUWkuNPWzVEUJcXUz+zky0jf3dUsQ2k7MlIiISEREAREQBERAEREAREQBERAFmNXb7hZWjeTU7h13tWnWY1J+bqSxQji2YvPhtNP7K0p7xzbV9JrqvdGnRF4SAMk4AWZ0lDqS9S0vZW63kOrqk7IA3mMHn4\/7qXZLJDZqcgHtKiTfLMeLj9lU6SiNwra6+znaklkMcYI9kbj8tke4rVLSXd7qOSiu0fbS8ui\/J45wa0ucQABkk8lmtLNfWXC5Xd2eznkLYjyIB34z3Bu\/uPRferbm5lILVSZfWVeG7DeIYePnw8Mq3tVvZa7bDSMwTG31nAe07mfNNI+JLfaVklpH3ZMREWZ1EG81rrdaKmrZjbjZ6ueG0dw+JULSdB6HZY5XnMtV+c92c5zw+Cm3mmhq7TUQ1ErYYyzJkdwbjgSs\/R6hrrTSxQ19vfPTMjb2dTAchzMbjv3Hd4cFrFNxsjjqSjCspT0sa5FnBrqzlm1s1AP8AV7MZ+a+Ha4pJDsUdDV1D+QDQM+RJ68lXs5ci\/wCqo\/5GmXGoqqekj7SpnjhZ\/WkcGj4rOm4aquO02lt0dAz\/ALkxy4ef+lfcGkBPUCqvNbJXS\/1N7Wju8PDCnAlvMjtpS+nHzeS+Tyo1XJVzGlsNG+sl5yuGGN7\/APfC6UVlvMlZDWXK7vBjcHdhD7J7jwHwPir6Cnhpo+zgiZEzOdljcDK6KMSWUUSqLk71JX9EERFQ6QvMAZwOPFeogCIiAIiIAiIgCIiAIiIAiIgCIiALMVI9L\/lApWcW0lOXEHrv3\/4m+S06y9iIq9X3isByI8Q59+P2FeHFnNXzcI837ZmoXhAIwRkFeoqHSZG01bdL3KotNeezpZHmSnmdw38ifLwIPVaWtqJoaCWekh9JkazaYwO9r+PivK+3UtygMNVEHt34PAt7weSoWabu1rcfwe7bMOciGYZA+Yz7gtbxlm9TjSqUVhSvHhbVfJJsFmnjqJLvc\/Wr6gcD\/Rjp44wO5X6zGNZjdmjdjnu3rw0msanc+upqdpG\/ZAz\/AJT80cbu7aIp1FTjhjCX7GmkkZEwvke1jRxLjgBUNdq+hhd2FA19fUOOGsiBxnx5+7K4R6MbPIJbrcqisd0zgfHJ8sK9orbRW5mzSU0cIxglo3nxPEqO4upe9eeiUfV\/Bnfwu\/agJfdKj0Kkdwp2e0R3j7+S01JTR0dLHTRZ2I27LcrsirKTeRpToxg76vmzm6CFzw90TC4cCWjK+2tDRhoAHQL1FU1sgiIhIREQBERAEREARcKyrjoaOWqlDjHE3adsjJwvKKtguFJHVU7tqOQZHUdx71Nna5XEsWG+ZIREUFgiIgCIiAIiIAiIgCIiA5VU7aWkmqH+zExzz4AZVDoiF7bNJUyEl1TM5\/lu+YK66yqnU1ge1gyZ5GxYxnPM\/JWltpTQ22mpSdoxRtaT1ON600h4nM+9tH\/K9\/8AwlIiLM6QiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID5exskbo3tDmuBDgeYUCz2eKzQywwyyPjkkL2tf+p3BWKKbu1irhFyUnqgiIoLBERAEXOaaKnhfNM8MjYMuc47gFm\/xu73uWSOyUzYYG+r6VNwznlxHDlg8QrKLZlUqxhk9XwRqEWXGmr3KdufUk7HniI9rH+YfJdLXXXChv34LcJhVbce2ybnw5+R+HepwLgzNV2mlOLV\/A0iIiodIREQHy5rXt2XtDh0IyvpEQBERAEREAREQBERAEREAREQBERAERVV01HbbTJ2M821NjPZsGSOmeilJvJFZzjBXk7ItUWYOr6mQ\/8NYauZp9k7xtD3NKfpjLH\/OLHWRddx3deICt2cjD9XR5+jNOizset7S5wbIJ4d+CXMyB5En4K2o7tb7hj0Srilcf1Q7DvI71DhJao0hXpzyjJExERVNQiIgCIiAzt\/o667XSkt4ie237pJ5QSA7B9n4DHee5X0MMVPCyGFgZGwYa1o3ALood0uAtlvkq3QvlEY3tZ\/HBWu3ZGKhGm5VGTFmHfmfyiN\/9VNy8Dx81oKKrir6OKqhdlkjQ4d3cVnrM4Vus7rVtJLImiIY4Z3D9k\/FWjlczrtScEuLXyahERZnUEREAREQBERAFFpblSVtRUQU8u3JTO2ZRskbJyRjfx4HgpSy+nnGLVN7gdkF79vB6ZP8AqVkrpmNSo4ziuDf2NQiIqmwREQBERAEREAReEZGOqzVglfbL5W2OV7nMyZqdz3ZJB3kZ+PuKsldMynUwSinxNMsrfY5rPfIr82MT05AjlacZZyBB\/jotUuc0MVRC+GZgfG8Yc1w3EJGVmK1PtI2WT4eJ5T1EVXTsqIHh8cgy1wXVZGkkk0nefQZy51tq3ZgeTkRn+OPuKs9U1VdQ25lZROIEUg7UdWn9+PNS4Z2XEzjX\/puUlmtUW01LT1IxPBHKMYw9gd81T1uj7RVDMcJppMbnQnGD4cFb0tTHWUsVTEcslYHD3rsoUnHQ0lTp1F3lcyjm6h02wOa\/8Vo2nBYQe0YPHiN3iB0V7artSXil7elfw3PY72mHoVOWUuNOywalpK6kAjirXGOaPOG5yMn6+IVlafiYNSoWad48uXgatERZnYFmdKntrreqkZ2H1GGZPe79y0rnBrS47gBkrNaGaX22qqXe1NUk\/Afcq8d1nNUzrQXj7fk0y+XsbJG6N7Q5rgQ4HmF9IqHSZb8Bvdre+GyVsbaWUk7Eu8xnrwP8fC2sVmbZqN0ZkMs0ry+R5PE8vgrNFdzbVjCGzwhLEvLp4BERUNwiLnNNFTxmSeVkTBxc9wAHvKDQ6IqCr1naKZ+xHJJUu4YhZkZ8Tj4KP+mMr3Ew2SsfHnc7ByR4Y+qv2cuRzvaqKdsX3NOipLbqmiuFT6K+OSmmJADZRgEneBnqrtVaa1NYVI1FeLuFmIs0v8ocwGMVVNnGeGAP9PxWnWXvmafWNmqRj8z8rpzx+2rw1aMdpyUZcmvg1CKrvl7is9O3DO2qZTsxQt4uPXwVS2y3y9jtbtXmlicQRTQ8vHp78qFHK7yLTrWlhgrv+as0b66kjeGPqoWOPAOkAJXYEEZByCqCPRVmjZslkz3YxtmU5+GAoNVZK\/TpNfZaiSWFhzJSv3gjnw4\/NThi8kyjq1YK8o5dGa5FCtN1p7xRNqqckDOHMPFh6FTDvGM471Rq2TOiMlJXWh6izdqudVRXqaz3ScyOc7ap5n4G0Onv5d+QtIplGxWnUVRXQWX1W0UFytl4YADHL2chxxB3\/LaWoVBrVrHackLuLZGFu\/nnHyJU095Ge1K9Fvln+xfoo9Dt\/h9N2mdvsm7WeuBlSFQ3TurkC8WqG8W99LLudxjfj2HciqWy3FxbJp6+DZnDezYXndK07sZ69Oq1KrrvZKO8whtSzD2g7Ejdzm\/fwV4yVrMwq0nixw190VWlZZKGprLDUPBfTPLoupYd\/wBQfeVplQWnTT7ddHVs1dJUODdhhdnOzv3H4Y8FfpNpu6GzRlGnhkrW9gspc5jfdUUlvp8mCheXzyAHc4cs+7Hie5dbzqCSonFpsZ7aqkOy+VvCMc8Hr38vHhZ2OzRWaj7Jru0mfvlkP6x+28+ZUpYFd6mc5dvLBHRav7fJZoiLM7CJdJmwWqrldwZC88eO47lXaPhMWnojvw97nDI5Z\/crmaKOeF8MrA+N4LXNPAhIoY4ImxQsbHGwYa1owAFa\/dsZOm3VU+SPtERVNQiIgCLxzg1pc4gADJJ5LJ1dZWaprX2+3PMNvjOJqgfr9w7u7zVoxuZVaqprm3oiVcdUOfU\/h9kh9MqjkF49hnf3+PBfEOlZ68ie+3CaokOD2UbsMb3f7YVza7TSWmmENLGAces8+089SVNVsdsomSoOedZ36cPyRaS2UNCB6LSRREDG01oz58VKRFne50pJKyMxq8Ryz2ynj2BVyVADHfrBvDyyR5LTqo\/BpZdSfilROHxRs2YIhn1T1PLr8Oit1eTVkjGlFqcpNa\/YLLa2Ih\/DKsjdDUcfI\/srUrOa5j27AHYz2czXeG4j6pT3kV2pXoyOGnIPxi5VV\/qWZy\/Yp2uHsAc\/HG7zWqVTpdjY9N0TW8Cwn3kkn5qvN\/vz87GnpG9Npx+wUyTlJ24FKUo0qcXLV56cTTIswLnq2TPZ2anbzG27l\/eC8DNZ1GfzaSl9wP0cowdUX\/UrhFvyOdYP0Y1FHWxAihrzszMaNzXdfjnzWryM4zvWKvllvRtUs9bdDUCMtIgjYSHHOO7rnh1Vvp3T8NAyO4PfK+qmiG32h9nOCd3VXkk43vmY0ZTjUcFGyeefAmXuyQ3mna1xMc8RzFK3cWn7KnpdS1dolFFqGBzHAepPGNraHU79\/u8lq18SwxTM2JY2SN6PaCFRSyszedFuWODs\/R+JUS6uskcXaCs292Q1jHZPw3e9VUprtX1cTRDJTWqNwc4v3GUffp049FoGWS1RuDmW+nBByPyxxU4AAYAwApxRjulXSqVMqjVuS4hrQ1oa0AADAA5L1EWZ1BFSX2S+w1dLLaomzRDIkj3ese\/u8CoTYtX3D\/my09BG7iG42sd3EjzV1C6vc55V7ScVFvyL2vudHbYu0q6hkQ5Ane7wHErOvrLvqkmGgY6gt53PnkHrPHQdfAe8qZSaPo2SCouE0tfUc3SuOz5cT7yVoGtDWhrQAAMADkpvGOmbK4KtXfyXJa+b+CDarPR2in7Kljw4jD5D7T\/EqeiKjbebOiMVFWisgiIoLBERAEREAREQEeuhdUUFRCwZdJE5oGcZyMceSy9lv8FiomW25UU9K6MnMmxkOJ37+fPvWwXxLDFMzYljZI3o9oIV4ySVmYVKUnJTg7NFZHqmySDLbhGP7TXN+YR+qbIzjcIzuzua4\/ILrJp+zyHLrbTj+ywN+SDT9oA\/6dAfFmfmnc6lf7n\/AF9SFJrOyMB2ah8mOTYnb\/MBR3a6oHHEFJVynuYB9Vex22ghIMVFTsxw2Ymj6KQ1oaMNAA6BLw5DBXeskvL8ma\/Se5zAejaeqSHcHP2sf5cfFeG4aum3RWmnjB35e7h5u+i06JiXBDsZvem\/RfYhWp1ydR5ujImz7RwIju2eWe\/io+p4PSNOVjAAS1m3v\/8AEg\/RWq8IBGCMgqE87mrp3puDfCxVaWkEmm6Jw5MLfJxH0VsvAABgDAC9UN3dyYRwxUeQREUFwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/Z",
    "razonSocial": "STEEL INGENIERIA S.A.",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "WILIIAM",
    "correoContacto": "earevalo@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56995359625",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "17:36",
    "ubicacionGPS": "LatLng(lat: -23.6618775, lng: -70.4001502)",
    "horaLlegada": "13:49",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "2",
    "observacionRetiroMaqExterna": "se realiza retiro por mal estado y solicitud de repuesto ",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


04/05/2026 17:36:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:96846410

[04/05/2026 17:36:16] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('96846410', 'EP2361', 1, 95585912, 20519, NOW(), 
				'08:00', '13:49', '17:36', 2, 'se realiza retiro por impresora en mal estado', 2, 
				'se realiza retiro por mal estado y solicitud de repuesto ', '','1','25982',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777930576.png', 'se realiza retiro por impresora en mal estado', null, 'COMPLETADO','LatLng(lat: -23.6618775, lng: -70.4001502)' )
				
[04/05/2026 17:36:16] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200169

04/05/2026 17:36:16 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '96846410' AND 
				serieinterna = 'EP2361' AND
				correlativo = 1;				
		
04/05/2026 17:36:16 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '96846410'
				   AND serieintmaquina = 'EP2361'
		
04/05/2026 17:36:16 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP2361'
				   AND estado = 1
				
04/05/2026 17:36:16 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'EP2361'
				  AND rutcliente = '96846410';
				
04/05/2026 17:36:16 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'EP2361', 2, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
04/05/2026 17:36:16 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200169'                    
				WHERE idllamado = 12445			
				TO ENVIO: micorreo@miempresa.cl, earevalo@dsprint.cl


04/05/2026 17:36:16 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12445			
				
04/05/2026 17:36:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


04/05/2026 17:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:36:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12445
            GROUP BY l.idllamado;
            
04/05/2026 17: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 = 12445
                
04/05/2026 17: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 = 12445
                
04/05/2026 17: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 = 12445
                
04/05/2026 17: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 = 12445
                
04/05/2026 17: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 = 12445
                
04/05/2026 17: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 = 12445
                
04/05/2026 17:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12445
            GROUP BY l.idllamado;
            
04/05/2026 17:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12445
            GROUP BY l.idllamado;
            [04/05/2026 17:36:19] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                [04/05/2026 17:36:19] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                [04/05/2026 17:43:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[04/05/2026 17:43:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

04/05/2026 17:43:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                
04/05/2026 17:43:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12445
                [04/05/2026 18:00: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;
				
[04/05/2026 18:00: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;
                
[05/05/2026 08:22: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;
                
[05/05/2026 08:22:51] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[05/05/2026 08:22:51] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 08:22:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 08:22:53] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[05/05/2026 08:22:53] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 08:45:13] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 08:45: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;
                
[05/05/2026 08:45: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;
                
[05/05/2026 08:45:29] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[05/05/2026 08:45:29] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 08:45: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;
                
[05/05/2026 09:06: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 09:06:33] 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;
                
[05/05/2026 09:06:59] 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;
                
[05/05/2026 09:07:37] 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;
                

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

05/05/2026 09:07:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12416
            GROUP BY l.idllamado;
            
05/05/2026 09:07:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:07:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09: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 = 12416
                
05/05/2026 09:07:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12416
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12416
                
05/05/2026 09: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 = 12416
                
05/05/2026 09:07:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12416
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12416
                
05/05/2026 09:07:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:07:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09: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 = 12416
                
05/05/2026 09: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 = 12416
                
05/05/2026 09:07:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12416
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12416
                
05/05/2026 09: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 = 12416
                
05/05/2026 09:07:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12416
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12416
                
05/05/2026 09: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 = 12416
                
05/05/2026 09: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 = 12416
                
05/05/2026 09: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 = 12416
                
05/05/2026 09:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:07:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12416
            GROUP BY l.idllamado;
            
05/05/2026 09:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12416
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12416
                
05/05/2026 09: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 = 12416
                
05/05/2026 09: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 = 12416
                
05/05/2026 09: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 = 12416
                
05/05/2026 09:08:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12416
            GROUP BY l.idllamado;
            
05/05/2026 09:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:08:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12416
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12416
                
05/05/2026 09: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 = 12416
                
05/05/2026 09: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 = 12416
                
05/05/2026 09: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 = 12416
                
05/05/2026 09:08:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12416
            GROUP BY l.idllamado;
            
05/05/2026 09:08:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:08:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:08:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:08:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:08:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12416
            GROUP BY l.idllamado;
            
05/05/2026 09:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12416
            GROUP BY l.idllamado;
            
05/05/2026 09:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12416
            GROUP BY l.idllamado;
            
05/05/2026 09:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09: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 = 12416
                
05/05/2026 09: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 = 12416
                
05/05/2026 09:09:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12416
            GROUP BY l.idllamado;
            
05/05/2026 09:09:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12416
            GROUP BY l.idllamado;
            
05/05/2026 09:09:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12416
            GROUP BY l.idllamado;
            
05/05/2026 09:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12416
            GROUP BY l.idllamado;
            
05/05/2026 09:09:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:29 - logentry: =========================================
FECHA: 05/05/2026 09:09:29
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-bpqvqp-.WmaX_Cb_HxnUwFGM4t+p7MxFIQ8_eTvYsQryE8oTnYa
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79783050",
    "serieinterna": "TO2414",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "mantención",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12416",
    "observacion": "se cierra por duplicidad",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADBAOwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xAA5EAACAQMBBQUGBAUFAQAAAAAAAQIDBAURBhIhMUEiUWFxkRMUMoGhwSMzQrEVJHLR8ENigpLhwv\/EABgBAQEBAQEAAAAAAAAAAAAAAAACAwQB\/8QALREBAAIBAgUCBAcBAQAAAAAAAAECAxExEhMhQVEy0QRhcaEUIjOBscHwkfH\/2gAMAwEAAhEDEQA\/AP2YAAAAAAAAAAAAAAAAAAAAAAAAAAAQ8nlbPE26rXdXdUnpGKWspPwRRxz+dyS3sXh92i\/hq1npqu\/jovTUqKTPVjfPSk8M9Z8R1agGY972xpreePtKngpLl\/2JWK2no3t27C7oytLyL03J8pPql4ns0lNfiKTMROsa+Y0XjaS1b0SMzX2gyOTvJWuz9vCcKfCpc1PhWvd\/j8iVtfeztsM6FJtVLqSpLRavdfP6cPmWOJx8MXjKNnDRuEe1Jfqk+b9T2NIjWXl5tkycus6RG\/spZW+1tnH2yu7e80jrKlppxS6cFr9CXhtpKOSqu0uaUrS9jzoz14+Wq+jLspNodn45Smri20pX1F71OouG9p0f2fQRMW6Sm2PJj\/NjmZ+U\/wBLsFNs5m3lbadK4juXlu92tHlr46FyRMTE6S6KXrkrFq7AAPFgAAAAAAAAAAAAAAAAAAAAAc61anb0Z1q01CnBaylJ8EjoZ7bO4nDEQtKT0nd1VT56cOb+xVY1nRnlvy6TbwiYS2ntDkquav1v0Kc3G1pS0aS8V4cPmaw42ltCztKVtTSUKUFFaLuR2FraynDj5deu87\/UK3MYKzzVGMLhONSHwVYfEvDxXgWQPImYnWGlqVvHDaNYZejs3kql9ZrIXsLm1snvU9VxfLg+\/l1NQAe2tM7ox4q49eHuAAlqy20dCWHyVtn7WGiU9y5jH9afV\/t56Gnp1IVacalOW9CaUovvTIuXtleYi7t2vjpS089NV9dCBshXdfZy33m26bcNX4M0nrXXw5axwZprG1uv7912ADN1AAAAAAAAAAAAAAAAAAAAAAZjafs57Azn+Wrj0e9D\/wA9DTmX20boyxd01rTo3Pa+j\/8AlmmP1Ob4v9GZ+n8w1APE01qnqmembpAAAAAAAAfMoqcHF8mtDObBy3sDUWiW7cSXn2Yv7l1lbtWOKubnXjTptrj16fXQrdjrb3fZ2lJrR1pSqP8Ab9kaR6Jc1uvxFYjtE\/0vQAZukAAAAAAAAAAAAAAAAAAAAACuz1g8lhri2jHWo471P+pcUWIPYnSdU2rFqzWe6m2VyP8AEMJSU3+Nb\/hVE+fDk38tPqXJlMpb19m8rLNWVNztKz0uqKfLXr4ceOve9OTNNbXNK7t4XFCW9TqLWL00KvHeNmGC86cu28ff5uoAIdIAAABzrKpKhUVGSjVcWoSktUnpwbAze1FzPJXFHZ+yk3WqzUq+i4Qjz4\/v6Gko0oW9CnRprSFOKjFeCWhV4LBvGe1ubqr7xfV\/zavPRdy8C4LtMbQ58NLazkvvP2gABDoAAAAAAAAAAAAAAAAAQb3M4\/H1Y0rm5jCpJpKKTbWvLXTl8yce6SmLVmZiJ2AAeKAAB8VaVOvRnRqwU6c04yi+TRlLWrU2Sy07S5c\/4Xcy1o1G9VTfj9\/U1xHvbK3yFrO2uaanTmuK7vFeJVbadJ2YZcU20tXpaNvZ3jJSipRaaa1TXU9MjaXt1slcxsMnKVbHzf4FxFN7ng19vTU1dKrTr0o1aM41Kc1rGUXqmhauj3FljJ02mN4fYAJbAAAAAAAAAAAAAAAAAAAAHzKUYQc5yUYxWrbeiSA9lJRi5SaSS1bfQzN\/tHc31y8fs\/T9vU07dx+mHl0+f7nK8u7rau5lYY2UqWOg9K9zo+34L+xosfjbTF2yoWlJQj1fWT72+pppFd93JNr5p0pOlfPn6e6sxWytnYp1brS9up8ZVKq3kn4J\/uy9AImZnd0Ux1xxpWNAAHiwAAAABxurS3vaEqFzSjVpy5xkjL1rfJ7JTlXs5O5xe9rOi32oa9eXDz9TXHkoqUXGSTTWjT6lVtp9GOXDF+sdJ8uFjfW+RtIXNtPehNdecX3Nd5II9lYWuOpOlaUI0YOTk1Hq2SDydNejSvFwxxbgAPFAAAAAAAAAAAAAAAABlspdVtoMq8JY1N22p8bqtF\/Ld\/8AOvyLPaTJvGYmcqTfvFZ+yopc959fkvrofeAxMcPjY0XxrVO3Wk3rrJrivJGlfyxxOXLrkvyo27+37pdlZW+PtYW1tTUKcFwXf4vxJABm6YiIjSAHOtXo21J1a9WFKnHnKb0SKO720xNvJwpOrcTUt3SnDTj89PoVFZnZF8tMfqnRoAZhbSZm4W9a7P1tx8nU1X2Qe0WcoaSr7PVZR6+z14eiZ7y7MvxWP5\/8lpwUdltZjbusqFX2lrWenZrR04vThr8y7TTWqeqZMxMbtqZKXjWs6vQAeLAAAAAAAAAAAAAAAAAAAAAAAAZjMa3O2uJtX8EIuqk3w1W8+X\/HmaczO0X8ntFiMi5OMN\/2UpdIpv8As2aYu20ObD68kTvr\/UBxu7j3S0q3DpzqKnFy3ILWT07jsCHRO3RlbLC1NoZxyuZbdOotaFvGTSjF9\/JmitbCzsYKFrbU6SS07MePrzZIBVrTLLHhrTrvPnuAAlshZPFWuUt5U69Nb7jpGql2odeD8+hX7KV7p2E7G7pVIzs5ezU5J6SjxS0enHTRr0L0FcXTRlOOOZF4\/wDQAEtQAAAAAAAAAAZ2+yFxidp6M7mtOVhdw9mk5dmnLh0+\/wDu8DREHL4ujl7CdrW4N8YTXOMujKrZnKVoTnhMlvRvLfVQcv1x8+un1RppxV1js5YtOPJw22tt9fHs0YAM3UAAAAAAAArs7i45fF1Lb9fxU+1p2ly15kLZvMyuabxt7rTvrVbsoy4OaXXxff6l8Umb2ejkKkb2zqO2v6bTjVT+LToy6zExwy5stLVtzKb948x7rsGUp7V3mNToZvG1lUg9Pa0ktJePd6M6T27x+ijRtbqdR8ouMY9O\/U95dnn4vD3nRpykedqXG0dPGWNOFWlTTdzUafZ4dGn8vmQd\/abO09IxhirabfF\/mOLXr+3MuMPhbbDW7p0Vv1J8alWXxTf+dBpFY67nHfLMcEaR58\/RYgAzdQAAAAAAAAAAAAAAAAUW0mFne0o39i3TyFtxpyjwc0un9vTqXoPYmYnWEZMdclZrZVYDNQzFnrJbl1S7Neny0ff5MtTO5jBVqNzLMYec6d3F71SlF9msuvDvfd18ywwWYpZnHxrx0jVj2atNP4Zf2fQq0R6oY4slonl5N\/5\/3dZAAh0gAAAAAAAB4oqK0ikl3I9AAAAAAAAAAAAAAAAAAAAAAAAAAymZs7jAZL+OY2GtGb\/mqK5eL0\/zRmrPJRUouMkmmtGn1KrbSWWXFGSum09pR7C\/t8laQurWe\/Tl6xfc+5kkyN7ZXWyt7LJ4yLqWFR\/j2+vw+K+z6eRp7O8oX9pTurae\/TqLVP7M9tXTrGycWWbTwX6Wj\/aw7gAhuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5lGM4OE4qUZLRprVNGVs4y2VzztJSmsbey\/CbWqhN9G+nd5adxrCvzWJp5jHyt5S3Jp71Oa\/TJci6zp0nZhmxzaItX1Rt7fusAZW12nniKXuOboVvbUdIqrTjrGa08dOJ0nttbVJRhY4+7uqkuUVHTXn3avp3HvLsmPi8WnWdJ8d2mPG0lq3okZn33avIae72VGxhz1qvV+XHy7up8vZbI5GSlmcvOrBPV0qS0j8uSXoOCI3k59reikz9o+76zuWp5OUMRi6tSrWqVIqpUoPswjrx1aNLCLjCMXJyaSTk+pFsMVZYyDjaUI09Vo5c5NeZMJtMbQvHS0TNrz1kABLYAAAAAAAAAAAAAAAAAAAAAAAAAAAAARb\/wDIj\/V9mfGO\/wBT5fcArsxn9RNABLYAAAAAAAAAAAAAAAAAAAAAAAAAAH\/\/2Q==",
    "razonSocial": "SOCIEDAD EDUCACIONAL MAGISTER LTDA.",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "KENIA DIAZ",
    "correoContacto": "kenia.diaz@hssanesteban.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "2537623",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "09:09",
    "ubicacionGPS": "LatLng(lat: -23.6618396, lng: -70.399963)",
    "horaLlegada": "06:04",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 05/05/2026 09:09:29
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-bpqvqp-.WmaX_Cb_HxnUwFGM4t+p7MxFIQ8_eTvYsQryE8oTnYa
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79783050",
    "serieinterna": "TO2414",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "mantención",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12416",
    "observacion": "se cierra por duplicidad",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADBAOwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xAA5EAACAQMBBQUGBAUFAQAAAAAAAQIDBAURBhIhMUEiUWFxkRMUMoGhwSMzQrEVJHLR8ENigpLhwv\/EABgBAQEBAQEAAAAAAAAAAAAAAAACAwQB\/8QALREBAAIBAgUCBAcBAQAAAAAAAAECAxExEhMhQVEy0QRhcaEUIjOBscHwkfH\/2gAMAwEAAhEDEQA\/AP2YAAAAAAAAAAAAAAAAAAAAAAAAAAAQ8nlbPE26rXdXdUnpGKWspPwRRxz+dyS3sXh92i\/hq1npqu\/jovTUqKTPVjfPSk8M9Z8R1agGY972xpreePtKngpLl\/2JWK2no3t27C7oytLyL03J8pPql4ns0lNfiKTMROsa+Y0XjaS1b0SMzX2gyOTvJWuz9vCcKfCpc1PhWvd\/j8iVtfeztsM6FJtVLqSpLRavdfP6cPmWOJx8MXjKNnDRuEe1Jfqk+b9T2NIjWXl5tkycus6RG\/spZW+1tnH2yu7e80jrKlppxS6cFr9CXhtpKOSqu0uaUrS9jzoz14+Wq+jLspNodn45Smri20pX1F71OouG9p0f2fQRMW6Sm2PJj\/NjmZ+U\/wBLsFNs5m3lbadK4juXlu92tHlr46FyRMTE6S6KXrkrFq7AAPFgAAAAAAAAAAAAAAAAAAAAAc61anb0Z1q01CnBaylJ8EjoZ7bO4nDEQtKT0nd1VT56cOb+xVY1nRnlvy6TbwiYS2ntDkquav1v0Kc3G1pS0aS8V4cPmaw42ltCztKVtTSUKUFFaLuR2FraynDj5deu87\/UK3MYKzzVGMLhONSHwVYfEvDxXgWQPImYnWGlqVvHDaNYZejs3kql9ZrIXsLm1snvU9VxfLg+\/l1NQAe2tM7ox4q49eHuAAlqy20dCWHyVtn7WGiU9y5jH9afV\/t56Gnp1IVacalOW9CaUovvTIuXtleYi7t2vjpS089NV9dCBshXdfZy33m26bcNX4M0nrXXw5axwZprG1uv7912ADN1AAAAAAAAAAAAAAAAAAAAAAZjafs57Azn+Wrj0e9D\/wA9DTmX20boyxd01rTo3Pa+j\/8AlmmP1Ob4v9GZ+n8w1APE01qnqmembpAAAAAAAAfMoqcHF8mtDObBy3sDUWiW7cSXn2Yv7l1lbtWOKubnXjTptrj16fXQrdjrb3fZ2lJrR1pSqP8Ab9kaR6Jc1uvxFYjtE\/0vQAZukAAAAAAAAAAAAAAAAAAAAACuz1g8lhri2jHWo471P+pcUWIPYnSdU2rFqzWe6m2VyP8AEMJSU3+Nb\/hVE+fDk38tPqXJlMpb19m8rLNWVNztKz0uqKfLXr4ceOve9OTNNbXNK7t4XFCW9TqLWL00KvHeNmGC86cu28ff5uoAIdIAAABzrKpKhUVGSjVcWoSktUnpwbAze1FzPJXFHZ+yk3WqzUq+i4Qjz4\/v6Gko0oW9CnRprSFOKjFeCWhV4LBvGe1ubqr7xfV\/zavPRdy8C4LtMbQ58NLazkvvP2gABDoAAAAAAAAAAAAAAAAAQb3M4\/H1Y0rm5jCpJpKKTbWvLXTl8yce6SmLVmZiJ2AAeKAAB8VaVOvRnRqwU6c04yi+TRlLWrU2Sy07S5c\/4Xcy1o1G9VTfj9\/U1xHvbK3yFrO2uaanTmuK7vFeJVbadJ2YZcU20tXpaNvZ3jJSipRaaa1TXU9MjaXt1slcxsMnKVbHzf4FxFN7ng19vTU1dKrTr0o1aM41Kc1rGUXqmhauj3FljJ02mN4fYAJbAAAAAAAAAAAAAAAAAAAAHzKUYQc5yUYxWrbeiSA9lJRi5SaSS1bfQzN\/tHc31y8fs\/T9vU07dx+mHl0+f7nK8u7rau5lYY2UqWOg9K9zo+34L+xosfjbTF2yoWlJQj1fWT72+pppFd93JNr5p0pOlfPn6e6sxWytnYp1brS9up8ZVKq3kn4J\/uy9AImZnd0Ux1xxpWNAAHiwAAAABxurS3vaEqFzSjVpy5xkjL1rfJ7JTlXs5O5xe9rOi32oa9eXDz9TXHkoqUXGSTTWjT6lVtp9GOXDF+sdJ8uFjfW+RtIXNtPehNdecX3Nd5II9lYWuOpOlaUI0YOTk1Hq2SDydNejSvFwxxbgAPFAAAAAAAAAAAAAAAABlspdVtoMq8JY1N22p8bqtF\/Ld\/8AOvyLPaTJvGYmcqTfvFZ+yopc959fkvrofeAxMcPjY0XxrVO3Wk3rrJrivJGlfyxxOXLrkvyo27+37pdlZW+PtYW1tTUKcFwXf4vxJABm6YiIjSAHOtXo21J1a9WFKnHnKb0SKO720xNvJwpOrcTUt3SnDTj89PoVFZnZF8tMfqnRoAZhbSZm4W9a7P1tx8nU1X2Qe0WcoaSr7PVZR6+z14eiZ7y7MvxWP5\/8lpwUdltZjbusqFX2lrWenZrR04vThr8y7TTWqeqZMxMbtqZKXjWs6vQAeLAAAAAAAAAAAAAAAAAAAAAAAAZjMa3O2uJtX8EIuqk3w1W8+X\/HmaczO0X8ntFiMi5OMN\/2UpdIpv8As2aYu20ObD68kTvr\/UBxu7j3S0q3DpzqKnFy3ILWT07jsCHRO3RlbLC1NoZxyuZbdOotaFvGTSjF9\/JmitbCzsYKFrbU6SS07MePrzZIBVrTLLHhrTrvPnuAAlshZPFWuUt5U69Nb7jpGql2odeD8+hX7KV7p2E7G7pVIzs5ezU5J6SjxS0enHTRr0L0FcXTRlOOOZF4\/wDQAEtQAAAAAAAAAAZ2+yFxidp6M7mtOVhdw9mk5dmnLh0+\/wDu8DREHL4ujl7CdrW4N8YTXOMujKrZnKVoTnhMlvRvLfVQcv1x8+un1RppxV1js5YtOPJw22tt9fHs0YAM3UAAAAAAAArs7i45fF1Lb9fxU+1p2ly15kLZvMyuabxt7rTvrVbsoy4OaXXxff6l8Umb2ejkKkb2zqO2v6bTjVT+LToy6zExwy5stLVtzKb948x7rsGUp7V3mNToZvG1lUg9Pa0ktJePd6M6T27x+ijRtbqdR8ouMY9O\/U95dnn4vD3nRpykedqXG0dPGWNOFWlTTdzUafZ4dGn8vmQd\/abO09IxhirabfF\/mOLXr+3MuMPhbbDW7p0Vv1J8alWXxTf+dBpFY67nHfLMcEaR58\/RYgAzdQAAAAAAAAAAAAAAAAUW0mFne0o39i3TyFtxpyjwc0un9vTqXoPYmYnWEZMdclZrZVYDNQzFnrJbl1S7Neny0ff5MtTO5jBVqNzLMYec6d3F71SlF9msuvDvfd18ywwWYpZnHxrx0jVj2atNP4Zf2fQq0R6oY4slonl5N\/5\/3dZAAh0gAAAAAAAB4oqK0ikl3I9AAAAAAAAAAAAAAAAAAAAAAAAAAymZs7jAZL+OY2GtGb\/mqK5eL0\/zRmrPJRUouMkmmtGn1KrbSWWXFGSum09pR7C\/t8laQurWe\/Tl6xfc+5kkyN7ZXWyt7LJ4yLqWFR\/j2+vw+K+z6eRp7O8oX9pTurae\/TqLVP7M9tXTrGycWWbTwX6Wj\/aw7gAhuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5lGM4OE4qUZLRprVNGVs4y2VzztJSmsbey\/CbWqhN9G+nd5adxrCvzWJp5jHyt5S3Jp71Oa\/TJci6zp0nZhmxzaItX1Rt7fusAZW12nniKXuOboVvbUdIqrTjrGa08dOJ0nttbVJRhY4+7uqkuUVHTXn3avp3HvLsmPi8WnWdJ8d2mPG0lq3okZn33avIae72VGxhz1qvV+XHy7up8vZbI5GSlmcvOrBPV0qS0j8uSXoOCI3k59reikz9o+76zuWp5OUMRi6tSrWqVIqpUoPswjrx1aNLCLjCMXJyaSTk+pFsMVZYyDjaUI09Vo5c5NeZMJtMbQvHS0TNrz1kABLYAAAAAAAAAAAAAAAAAAAAAAAAAAAAARb\/wDIj\/V9mfGO\/wBT5fcArsxn9RNABLYAAAAAAAAAAAAAAAAAAAAAAAAAAH\/\/2Q==",
    "razonSocial": "SOCIEDAD EDUCACIONAL MAGISTER LTDA.",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "KENIA DIAZ",
    "correoContacto": "kenia.diaz@hssanesteban.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "2537623",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "09:09",
    "ubicacionGPS": "LatLng(lat: -23.6618396, lng: -70.399963)",
    "horaLlegada": "06:04",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


05/05/2026 09:09:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12416
            GROUP BY l.idllamado;
            
05/05/2026 09:09:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 09:09:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                ====revisando rut=====================================
rut:79783050

[05/05/2026 09:09:29] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('79783050', 'TO2414', 1, 7373114, 0, NOW(), 
				'08:00', '06:04', '09:09', 3, 'mantención', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777986569.png', 'se cierra por duplicidad', null, 'COMPLETADO','LatLng(lat: -23.6618396, lng: -70.399963)' )
				
[05/05/2026 09:09:29] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200170

05/05/2026 09:09:29 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200170'                    
				WHERE idllamado = 12416			
				
05/05/2026 09:09:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                TO ENVIO: micorreo@miempresa.cl, kenia.diaz@hssanesteban.cl


05/05/2026 09:09:29 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12416			
				
05/05/2026 09:09:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


05/05/2026 09:09:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12416
            GROUP BY l.idllamado;
            
05/05/2026 09:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12416
            GROUP BY l.idllamado;
            [05/05/2026 09:09: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;
                

05/05/2026 09:09:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                [05/05/2026 09:09: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;
                

05/05/2026 09:09:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12416
                
05/05/2026 09:09:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12416
            GROUP BY l.idllamado;
            
05/05/2026 09:09:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            
05/05/2026 09:09:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                [05/05/2026 09:09:36] 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;
                

05/05/2026 09:09:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:09:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            
05/05/2026 09:09:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            [05/05/2026 09:09:37] 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;
                

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

05/05/2026 09:09:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            [05/05/2026 09:09:48] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 09:09:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            
05/05/2026 09:09:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            
05/05/2026 09:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:09:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            
05/05/2026 09:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:09:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:09:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            
05/05/2026 09:09:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            
05/05/2026 09:09:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09: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 = 12417
                
05/05/2026 09: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 = 12417
                
05/05/2026 09:09:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12417
                
05/05/2026 09: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 = 12417
                
05/05/2026 09: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 = 12417
                
05/05/2026 09: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 = 12417
                
05/05/2026 09:09:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:09:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            
05/05/2026 09:09:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09: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 = 12417
                
05/05/2026 09: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 = 12417
                
05/05/2026 09:10:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            
05/05/2026 09:10:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            
05/05/2026 09:10:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:10:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:10:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:10:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:10:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:10:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            
05/05/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 = 12417
                
05/05/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 = 12417
                
05/05/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 = 12417
                
05/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            
05/05/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 = 12417
                
05/05/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 = 12417
                
05/05/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 = 12417
                
05/05/2026 09:10:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            
05/05/2026 09:10:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:10:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09: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 = 12417
                
05/05/2026 09: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 = 12417
                
05/05/2026 09: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 = 12417
                
05/05/2026 09:11:02 - logentry: =========================================
FECHA: 05/05/2026 09:11:02
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ChxDCRxdKShmeNtCPZhRRw_CUZiiUR6hNU6ToCl8ol6igCWlhb4
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79783050",
    "serieinterna": "TO2783",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "mantención",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12417",
    "observacion": "se cierra por duplicidad",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADDAN4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIBAwf\/xAA8EAACAQQAAwUFBQcCBwAAAAAAAQIDBAURBiExEiJBUWETcYGRoRQVMrHRIyRCQ1LB8DPhJTRicsLS8f\/EABgBAQADAQAAAAAAAAAAAAAAAAABAgME\/8QALhEAAgEDAgMGBQUAAAAAAAAAAAECAxExEiEiQVEEE2FxgdEUMpGh8CNCscHh\/9oADAMBAAIRAxEAPwD9mAAAAAAAAAAAAAAAAAAAAAAAAAAB5KSjFyk0kltt+Bm7ni5VLl2uHsql9VS\/GuUV6+q+RHvbq54qv5Y7HzlSsKL\/AHisuXb9P9jSWNhbY22jb2tJU4R+bfm34mllHOTk1zrO1N2j16+XuUP2Pi+81Krf29ounYgttfR\/mFheJY8455NrpuPL8jTgjW+hb4aPNv6sytS74qw67dzRpZGhF96VNd7XwSa9+mX2LylvlrKFzbvqu9BvnB+TJhk68Fw5xZSrw7tnku7OK6Rnv9Wn8WTtPluUeqg07tx8eRrAAZnYAAAAAAAAAAAAAAAAAAAAAAAAAAACm4qyCx+CrNSaqVv2UNddvr9NlyZjilOtmMLbNfs5XG5LwfOPj7t\/MvBXkYdpk40nbOPrsWuAxscVh6Nvr9o126j1rcn1+XT4FkAVbu7msIqEVFcgACCwM3xzDeEp1VylSrxafwaNIVPEuOr5TDytrbs+0c4yXaet6ZeDtJGHaIuVKSXQgV+Kbi7uHZ4Sz+2VYx79XeoRf6b8dnEs9msTKM8zj4fZZSSdWg03Hl5b8\/d49S5w2Ko4jHwtqcY9vW6k0vxy8WTKtKnXozo1YKdOacZRfRonVFOyWxmqVZrU52l9jm2uaV5bwuKE1OnUW4yR9TLYpz4ez88PVqN2d137Vvnp+W\/hr368zUlZKzNqNTXHfKyAAVNQAAAAAAAAAAAAAAAAAAAAAZjjBKjdYi8a0qNyty8eqf8AY05RcYWjuuHq0orvUWqnwXX6P6F6b4kc\/aU3Rlb8tuXoIeJvFkMVbXSe3Uprtf8AcuT+qZMKtW2N4yUkmgACCQAAAAACk4qxrvcU7ik+zcWe61OS68ubX0370ibhr\/7zxNvd61Kce9y13lyeviibJKUXF801pma4N\/dvvLGuTbtrl6T666f+Jot4eRzPgrpr938o0wAMzpAAAAAAAAAAAAAAAAAAAAABzOEalOVOcVKMk1JPxR0ADL8OVPunLXmAqyaSm6tu5P8AFFrp8tP4M1BScR4epf0YXdlJ076271KUeTl\/07O+Hs5HLWrhWSp3lHu1qT5Ply3r\/NGkuJakclJ91Lupenl09C4ABmdYAAAAAAMxhtUuM8xRj+GSU37+X\/szTNpLbekjMcKy+35TKZVfgq1OxDu+C59fd2f80XjhnNW3qU1zv\/RqAAUOkAAAAAAAAAAAAAAAAHjaS23pIA9BGo5Gyua3saF1SqVNN9mEk3y1v80SRYhNPAAAJBQZ3BVatZZTFT9jkKXPu8lVXk\/Df59GX4JTad0Z1KcakdMikwXEMMl2rS6h9nv6XKdKXLta6tfoXZTZvhy2zGqyk6F3BdyrDxfhvzIdlxDc46t9i4gpOlJfhukn2Jb6J8vfz9PiXcVLeJjGpKk9NXHJ+\/Q0oOYThUpxqU5KcJJOMovaafimdGZ1AA5lJQg5S6RW3y2AVHFWQVhhKqjJqtX\/AGVNR67fX6b+hIwOPWMw1vbPfb7Panv+p83+nwKPHUq\/FOVWUu4unY2s9W1Jx\/E\/N\/Jb+Xga00lwrSctL9Sbq8sL3AAMzqAAAAAAAAAAAAABXZrNW+FtFXrpzlJ6p049ZP8AsSk27IrKSgnKT2PtkcnaYq2de7qqEf4V1cn5JeJnFSynF7U6rlY4zfdin3qnr6\/kfXG4W6zNwspnk2nzo2r5RivDa\/t8zUJJLSWki91DGTmUZV95bR6c35+xCx+HsMXt2lBQk1qUt85c98ycAUbbydMYqKtFWAAILAAAA+F1Z217S9ldUIVYeUlv\/Oh9wCGk1ZnkYqMVGKSSWkl4HoAJAAAAAAAAAAAAAAAAAAABxVqwo0p1aklGEIuUpPwS6sA+V\/fUMdZ1Lq4mowgt+9+CXqZ3C2FXOXiz2T5rf7tR1pRS8fn08+p87SjU4tys7u7UljbWbVGn4VXvr8uvyNbGKjFRikklpJeBo+BW5nJFd\/LU\/lWPHx9j0AGZ1gArbniHEWdR069\/SU09OMdyafrreiUm8FZTjFXk7FkCrtuJMPd1FClf0+0+nbTh8NyS5+hZxkpRUotNNbTXiGmsiM4z3i7noAILAAAAAAAAAAAAAAAAAAAAAAAAAzvF1xVnQtsVb79pfVFCXZ6qP\/3XwTNEZjiSSsc5i8nWjuhCfs5P+nrz+u+n8Jen8xzdqdqT9PpzL+xs6VhZUrWjFRhSjpa+r+ZIPE01tPaZ6UOhJJWQKvM5+zw0Eqr9rXl+CjB95+\/yR3nMtDD46Vy0pTb7NOLfJyfn6e4ruHuH5UP+JZNOrkKr7W5vfs14fH8uheKVrswqVJOXd08830Iyxudz8\/a5C4lY2kkmqEOUviv1+RaWfC+Hs4ajZwrPxlWXbf15FuA5t7IR7PBO73fVlZc8OYe6puE8fQhy60oKDXxRR3FpkuEo\/acfVneWP82jWe+xz6rXpy2vijXnkoqUXGSTTWmn4hTazgT7PCW8dn1R8LC9o5Gyp3dvLdOot+5+KJBkbCb4Y4hq4+t3bG9l2qEuWov\/ADl8jXESjZ7FqNRzjxZWQACpsAAAAAAAAAAAAAAAAAAAAACLksfRyljUtK67s1ykusX4NEoBOxDSkrMyuFy1fDVo4XMp0+zyoXEn3ZR8Fvy9fgaohZTFWuXtHb3MeXWM1+KD80UcKnEmBouNSlTyVrTSSaeppJbfw69dmjSnusnLFyocMt48n08zTzhCpFwnFSi+qktpnRnIcb4tbjXp3FCpHlKEoJ6fiuTOanHWMUZexo3FWf8ADHsJdr6kd3LoW+KoZ1Iub7KWuOqW9O4m4yuJ9imkt7f6c18yYZjE4\/IZXKxzWVh7GMP+Xoc049ev+\/X3GnIkkti9Kcp3k1ZcgACpsRMhjLTKUFRvKKqRT2uemn6MlRSjFRXJJaR6CbkaUne24ABBIAAAAAAAABCp5W3q5epjIKftqVL2km1pLnrXPn4p+XMmlDnsDO6qfeWPqyo39KPJxf8Aqej9T78P5uGWtexU7l5RWq1JrT302l5fkXcVa6OeNRqbhP08f9LcAFDoAAAAAAAAAAAAPnUoUazTq0oTa6dqKYjRpR12aUFrpqK5H0AIsgAASAAAAAAAAAAAAAAAAAADNcR4ytbXEc7jF2bijzrRX8yPu93X09xpTxpNaa2mWjLS7mdWmqkdLIuMyNHKWNO7oNOM1zW\/wy8USzIVO3wjm3VUd4u9lppfyn\/t9V7jXRkpRUotNNbTXiTKNt1gpRqOScZfMs\/niegAobgAAAEK8zGNsNq5vKVOUese1uXyXMqpccYeLaTry59VT\/VllCTwjGdelB2lJGiBVYniGyzNWpStVVUqce0+3HXL5lqQ01szSE4zV4u6AAILAAAAAAAAAAAAAAAAAAAAAAAAEXI2FHJ2NW0rrcai0n4xfg17ik4Yvq9rXqYHINKvb\/6L\/qh1\/LmvT3GlKHiXE1bqnTyFgmr61fai49ZpeH+epeLvws5q0WmqsMr7r8wXwKbGcT46+tFOvc0batHlUp1JqOn6b1tEbI8W0Y1I2uIp\/b7qf4eym4R9\/n8PmNEr2sWfaKSjquW2RylniqDrXdZQWu7HrKXol4me9vxFxIt20fu2xn0qN6nJfn8tL1JWO4bnWuXks7JXN3J7jT3uFNeC14+7oaJJJaS0kTdRxuzPTUrbz4V05+vsUmP4RxVlHdWl9rqvm51ltP4dC3ha29OChChTjFdFGCSR9QUcm8m8KUIK0VY5jCEN9mKjvyWjoAg0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKy74cxF9Wda4s4ym+rjOUd\/JryJVnjrOwi1aW1OltJNxXN66bfVgE6na1yipwT1JK5JABBcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\/\/9k=",
    "razonSocial": "SOCIEDAD EDUCACIONAL MAGISTER LTDA.",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "KENIA DIAZ",
    "correoContacto": "kenia.diaz@hssanesteban.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "2537623",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "09:11",
    "ubicacionGPS": "LatLng(lat: -23.6618412, lng: -70.3999525)",
    "horaLlegada": "06:04",
    "horaDespacho": "09:09",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 05/05/2026 09:11:02
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ChxDCRxdKShmeNtCPZhRRw_CUZiiUR6hNU6ToCl8ol6igCWlhb4
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79783050",
    "serieinterna": "TO2783",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "mantención",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12417",
    "observacion": "se cierra por duplicidad",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADDAN4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIBAwf\/xAA8EAACAQQAAwUFBQcCBwAAAAAAAQIDBAURBiExEiJBUWETcYGRoRQVMrHRIyRCQ1LB8DPhJTRicsLS8f\/EABgBAQADAQAAAAAAAAAAAAAAAAABAgME\/8QALhEAAgEDAgMGBQUAAAAAAAAAAAECAxExEiEiQVEEE2FxgdEUMpGh8CNCscHh\/9oADAMBAAIRAxEAPwD9mAAAAAAAAAAAAAAAAAAAAAAAAAAB5KSjFyk0kltt+Bm7ni5VLl2uHsql9VS\/GuUV6+q+RHvbq54qv5Y7HzlSsKL\/AHisuXb9P9jSWNhbY22jb2tJU4R+bfm34mllHOTk1zrO1N2j16+XuUP2Pi+81Krf29ounYgttfR\/mFheJY8455NrpuPL8jTgjW+hb4aPNv6sytS74qw67dzRpZGhF96VNd7XwSa9+mX2LylvlrKFzbvqu9BvnB+TJhk68Fw5xZSrw7tnku7OK6Rnv9Wn8WTtPluUeqg07tx8eRrAAZnYAAAAAAAAAAAAAAAAAAAAAAAAAAACm4qyCx+CrNSaqVv2UNddvr9NlyZjilOtmMLbNfs5XG5LwfOPj7t\/MvBXkYdpk40nbOPrsWuAxscVh6Nvr9o126j1rcn1+XT4FkAVbu7msIqEVFcgACCwM3xzDeEp1VylSrxafwaNIVPEuOr5TDytrbs+0c4yXaet6ZeDtJGHaIuVKSXQgV+Kbi7uHZ4Sz+2VYx79XeoRf6b8dnEs9msTKM8zj4fZZSSdWg03Hl5b8\/d49S5w2Ko4jHwtqcY9vW6k0vxy8WTKtKnXozo1YKdOacZRfRonVFOyWxmqVZrU52l9jm2uaV5bwuKE1OnUW4yR9TLYpz4ez88PVqN2d137Vvnp+W\/hr368zUlZKzNqNTXHfKyAAVNQAAAAAAAAAAAAAAAAAAAAAZjjBKjdYi8a0qNyty8eqf8AY05RcYWjuuHq0orvUWqnwXX6P6F6b4kc\/aU3Rlb8tuXoIeJvFkMVbXSe3Uprtf8AcuT+qZMKtW2N4yUkmgACCQAAAAACk4qxrvcU7ik+zcWe61OS68ubX0370ibhr\/7zxNvd61Kce9y13lyeviibJKUXF801pma4N\/dvvLGuTbtrl6T666f+Jot4eRzPgrpr938o0wAMzpAAAAAAAAAAAAAAAAAAAAABzOEalOVOcVKMk1JPxR0ADL8OVPunLXmAqyaSm6tu5P8AFFrp8tP4M1BScR4epf0YXdlJ076271KUeTl\/07O+Hs5HLWrhWSp3lHu1qT5Ply3r\/NGkuJakclJ91Lupenl09C4ABmdYAAAAAAMxhtUuM8xRj+GSU37+X\/szTNpLbekjMcKy+35TKZVfgq1OxDu+C59fd2f80XjhnNW3qU1zv\/RqAAUOkAAAAAAAAAAAAAAAAHjaS23pIA9BGo5Gyua3saF1SqVNN9mEk3y1v80SRYhNPAAAJBQZ3BVatZZTFT9jkKXPu8lVXk\/Df59GX4JTad0Z1KcakdMikwXEMMl2rS6h9nv6XKdKXLta6tfoXZTZvhy2zGqyk6F3BdyrDxfhvzIdlxDc46t9i4gpOlJfhukn2Jb6J8vfz9PiXcVLeJjGpKk9NXHJ+\/Q0oOYThUpxqU5KcJJOMovaafimdGZ1AA5lJQg5S6RW3y2AVHFWQVhhKqjJqtX\/AGVNR67fX6b+hIwOPWMw1vbPfb7Panv+p83+nwKPHUq\/FOVWUu4unY2s9W1Jx\/E\/N\/Jb+Xga00lwrSctL9Sbq8sL3AAMzqAAAAAAAAAAAAABXZrNW+FtFXrpzlJ6p049ZP8AsSk27IrKSgnKT2PtkcnaYq2de7qqEf4V1cn5JeJnFSynF7U6rlY4zfdin3qnr6\/kfXG4W6zNwspnk2nzo2r5RivDa\/t8zUJJLSWki91DGTmUZV95bR6c35+xCx+HsMXt2lBQk1qUt85c98ycAUbbydMYqKtFWAAILAAAA+F1Z217S9ldUIVYeUlv\/Oh9wCGk1ZnkYqMVGKSSWkl4HoAJAAAAAAAAAAAAAAAAAAABxVqwo0p1aklGEIuUpPwS6sA+V\/fUMdZ1Lq4mowgt+9+CXqZ3C2FXOXiz2T5rf7tR1pRS8fn08+p87SjU4tys7u7UljbWbVGn4VXvr8uvyNbGKjFRikklpJeBo+BW5nJFd\/LU\/lWPHx9j0AGZ1gArbniHEWdR069\/SU09OMdyafrreiUm8FZTjFXk7FkCrtuJMPd1FClf0+0+nbTh8NyS5+hZxkpRUotNNbTXiGmsiM4z3i7noAILAAAAAAAAAAAAAAAAAAAAAAAAAzvF1xVnQtsVb79pfVFCXZ6qP\/3XwTNEZjiSSsc5i8nWjuhCfs5P+nrz+u+n8Jen8xzdqdqT9PpzL+xs6VhZUrWjFRhSjpa+r+ZIPE01tPaZ6UOhJJWQKvM5+zw0Eqr9rXl+CjB95+\/yR3nMtDD46Vy0pTb7NOLfJyfn6e4ruHuH5UP+JZNOrkKr7W5vfs14fH8uheKVrswqVJOXd08830Iyxudz8\/a5C4lY2kkmqEOUviv1+RaWfC+Hs4ajZwrPxlWXbf15FuA5t7IR7PBO73fVlZc8OYe6puE8fQhy60oKDXxRR3FpkuEo\/acfVneWP82jWe+xz6rXpy2vijXnkoqUXGSTTWmn4hTazgT7PCW8dn1R8LC9o5Gyp3dvLdOot+5+KJBkbCb4Y4hq4+t3bG9l2qEuWov\/ADl8jXESjZ7FqNRzjxZWQACpsAAAAAAAAAAAAAAAAAAAAACLksfRyljUtK67s1ykusX4NEoBOxDSkrMyuFy1fDVo4XMp0+zyoXEn3ZR8Fvy9fgaohZTFWuXtHb3MeXWM1+KD80UcKnEmBouNSlTyVrTSSaeppJbfw69dmjSnusnLFyocMt48n08zTzhCpFwnFSi+qktpnRnIcb4tbjXp3FCpHlKEoJ6fiuTOanHWMUZexo3FWf8ADHsJdr6kd3LoW+KoZ1Iub7KWuOqW9O4m4yuJ9imkt7f6c18yYZjE4\/IZXKxzWVh7GMP+Xoc049ev+\/X3GnIkkti9Kcp3k1ZcgACpsRMhjLTKUFRvKKqRT2uemn6MlRSjFRXJJaR6CbkaUne24ABBIAAAAAAAABCp5W3q5epjIKftqVL2km1pLnrXPn4p+XMmlDnsDO6qfeWPqyo39KPJxf8Aqej9T78P5uGWtexU7l5RWq1JrT302l5fkXcVa6OeNRqbhP08f9LcAFDoAAAAAAAAAAAAPnUoUazTq0oTa6dqKYjRpR12aUFrpqK5H0AIsgAASAAAAAAAAAAAAAAAAAADNcR4ytbXEc7jF2bijzrRX8yPu93X09xpTxpNaa2mWjLS7mdWmqkdLIuMyNHKWNO7oNOM1zW\/wy8USzIVO3wjm3VUd4u9lppfyn\/t9V7jXRkpRUotNNbTXiTKNt1gpRqOScZfMs\/niegAobgAAAEK8zGNsNq5vKVOUese1uXyXMqpccYeLaTry59VT\/VllCTwjGdelB2lJGiBVYniGyzNWpStVVUqce0+3HXL5lqQ01szSE4zV4u6AAILAAAAAAAAAAAAAAAAAAAAAAAAEXI2FHJ2NW0rrcai0n4xfg17ik4Yvq9rXqYHINKvb\/6L\/qh1\/LmvT3GlKHiXE1bqnTyFgmr61fai49ZpeH+epeLvws5q0WmqsMr7r8wXwKbGcT46+tFOvc0batHlUp1JqOn6b1tEbI8W0Y1I2uIp\/b7qf4eym4R9\/n8PmNEr2sWfaKSjquW2RylniqDrXdZQWu7HrKXol4me9vxFxIt20fu2xn0qN6nJfn8tL1JWO4bnWuXks7JXN3J7jT3uFNeC14+7oaJJJaS0kTdRxuzPTUrbz4V05+vsUmP4RxVlHdWl9rqvm51ltP4dC3ha29OChChTjFdFGCSR9QUcm8m8KUIK0VY5jCEN9mKjvyWjoAg0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKy74cxF9Wda4s4ym+rjOUd\/JryJVnjrOwi1aW1OltJNxXN66bfVgE6na1yipwT1JK5JABBcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\/\/9k=",
    "razonSocial": "SOCIEDAD EDUCACIONAL MAGISTER LTDA.",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "KENIA DIAZ",
    "correoContacto": "kenia.diaz@hssanesteban.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "2537623",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "09:11",
    "ubicacionGPS": "LatLng(lat: -23.6618412, lng: -70.3999525)",
    "horaLlegada": "06:04",
    "horaDespacho": "09:09",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


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

[05/05/2026 09:11:02] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('79783050', 'TO2783', 1, 7373114, 0, NOW(), 
				'09:09', '06:04', '09:11', 3, 'mantención', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777986662.png', 'se cierra por duplicidad', null, 'COMPLETADO','LatLng(lat: -23.6618412, lng: -70.3999525)' )
				
[05/05/2026 09:11:02] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200171

05/05/2026 09:11:02 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200171'                    
				WHERE idllamado = 12417			
				TO ENVIO: micorreo@miempresa.cl, kenia.diaz@hssanesteban.cl


05/05/2026 09: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 = 12417
                
05/05/2026 09:11:02 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12417			
				
05/05/2026 09:11:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


05/05/2026 09: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 = 12417
                
05/05/2026 09: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 = 12417
                
05/05/2026 09:11:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12417
                
05/05/2026 09: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 = 12417
                
05/05/2026 09:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                [05/05/2026 09:11:06] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 09:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:11:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            
05/05/2026 09:11:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            [05/05/2026 09:11:06] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 09:11:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            
05/05/2026 09:11:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12417
            GROUP BY l.idllamado;
            [05/05/2026 09:11:06] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 09:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:11:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:11:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:11:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:11:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12417
                
05/05/2026 09:11:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            [05/05/2026 09:11:16] 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;
                
[05/05/2026 09:11:16] 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;
                

05/05/2026 09:11:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            
05/05/2026 09:11:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            
05/05/2026 09:11:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            
05/05/2026 09:11:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            
05/05/2026 09:11:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                [05/05/2026 09:11:17] 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;
                

05/05/2026 09:11:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            [05/05/2026 09:11:22] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 09:11:22] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 09:11:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            
05/05/2026 09:11:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            
05/05/2026 09:11:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            [05/05/2026 09:11:22] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 09:11:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            
05/05/2026 09:11:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            
05/05/2026 09:11:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            
05/05/2026 09:11:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            
05/05/2026 09:11:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            
05/05/2026 09:11:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09:11:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12418
                
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12418
                
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09:12:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12418
                
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09:12:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09:12:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09:12:24 - logentry: =========================================
FECHA: 05/05/2026 09:12:24
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-a.BNcmWdYtrp4Ov4JeKifAu837Zibk-9n+sYX3nohtmcSSEpLyx
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79783050",
    "serieinterna": "TO3107",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "mantención",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12418",
    "observacion": "se cierra por duplicidad",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADGAPoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xAA\/EAABAwMCAgcGBAMGBwAAAAAAAQIDBAURBiESMRNBUWFxgbEVIpGhwdEUMkLhIyTwFjM0Q1JzNkVTgpLC8f\/EABgBAQADAQAAAAAAAAAAAAAAAAABAgME\/8QALhEAAgEEAQIEAwkBAAAAAAAAAAECAxEhMRJBUQQycdEigaETFCNCYZGxweHw\/9oADAMBAAIRAxEAPwD9mAAAAAAAAAAAAAAAAAAAAAAAAAAAAOc8zKeCSeRcMjarnL3IA3Y51tdT26ldU1UiRxt7ear2J2qZ6O5akvOZLbBFSU6qvBJKn5k6l35\/A42+hl1VXuu1xRyULVxT0+dnY23+vavchrmtRrUa1ERETCInUaO0MbZyR51\/ivaPTu\/19DMratWKnH7ag6RFyicO3f8Ap+h57T1NbHItfbmVcCLl8kG7sbdSefNDUAjn3Rb7vbyya+d\/5K603yhvESLTyokqJl8TtnN+\/ihYlHdtMU9fJ+KpJFoq1Fyk0eUz4oi7eKHGy36ZtV7HvDeirWbMkXlL2efqHFNXiI1ZQkoVfk+j9maIAFDpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnNZTyPo6e2QOb0tbKjcKuMplPqqf1y0Zmb0vHrKzsTmiK7l4\/YvT81zm8U\/wAO3ey\/dmgpKZlHSRU0aIjImI1MJ2IdgCh0JJKyAABIKu+WOC9U3C7+HUM3ilTm1exe4tD5kkZFG6SRyNYxFc5yrsiJzUlNp3RScYzi4y0Uml7pPW001JWKq1dG\/o5FX9XNE89lL0wNB+Kveo6+W1VK0UcicTn8PvY27O1d+fxLd2nb7CqyU+o5pH9kqO4fVfQ1lBX3Y46FefDEXJLrg04Msl7v9oavta2\/iIWpvPDjbvXG3oXdtu9FdouOlmRzk\/NGuzm+KfXkZuDWTphXhN8dPs8E4AFTYAAAAAAAAAAAAAAAAAAAAAAAAAAAGY1B\/K6os1YqZa53RL3b4\/8AY05RavoH1tje+JMyU7klTHPCc\/kufIvB\/Ec\/iU3SbW1n9i9BCtFwZc7XBVsXKvb7+2MOTZfmTSrVnY2jJSSa6gAEFgRLpROuNsqKRsnRrKzhR2M4JYCdiJJSTTKTT2nm2RJ3vm6aaZURXYwiIn7\/AELsAltt3ZWnTjTjxjoGcu+n3wzJdLKnQVcaqro2bJKnXtyz6mjBMZNPBFSnGorMq7He4rxSq7h6KojXEsS82r9i0MreI2WfVVBc2e5HVOWKfGydSZX4ov8A2mqJkltdSlGcneM9r\/rgAFDcAAAAAAAAAAAAAAAAAAAAAAAAHioiphUyinoAMiiO0rqPH\/Lrg7yjd+3ovca4hXe2RXa3SUkmEVyZY\/GeB3UpV6YukqrJZ7guKyk2RV\/W36428lTvNH8Sv1OSH4NTh0evb2NCADM6wAAAAAAAACg1pB0tgdKiZdTyNkTHjj6llR3CKaigle\/DnxtcqYXmqHDUn\/Dtb\/tKZmi\/wNP\/ALTfQ1S5ROGpUdOu2uqX9m6ABkdwAAAAAAAAAAAAAAAAAAAAAAAAAAAKHUVifWtSvoFWO4Qe8xWrjj7vHsXy8L4EptO6KVKcakeMik0\/qKO7MWnnb0NbGmJI1TGcc1T7dRdlJfdPpceGro3\/AIevi3ZK1ccXcqp6ke2akkiqfZt8j\/DViLhr8YZJ2f1yLuKlmJhGrKm+FX5Pv\/powAZnUAAAAAAZ\/WlUsNiWBmVkqZGxojeapzX0x5ljS2mlhpIYnwtc9kbWucu6qqIUcvDqHV8bWt6SjtqZe5Fy1X8\/VE\/8VNWaSwkjkppVKkpvWl8t\/UAAzOsAAAAAAAAAAAAAAAAg3K8UNpj46uZGqqZRjd3O8ilbcNQX1yrboG0FJhUSWb8zu9P2+KllFvJjOvGL4rL7I1AMyzSVROubjeqqfKYVrVVETwVVX0Ly20EVroI6OBz3Rx5wr1RV3VV6kTtDSWmITqSfxRsvUlAAqbAAAAAAAg3W00t3pFp6lm\/6HonvMXtQnAlO2UVlFSVnoylDe57BO21Xvic1NoalEyit7zURSxzRtkikbIxyZa5q5RfM+Kqkp62B0FTE2WN3NrkM1JQ3LS71mtyvrLflVfTLzZ4LhV808+0viXqc150N5j9V7mrBXWu+Ud1c6OBzkmYmXxuaqK3fHPH7liUaawzpjKM1eLugZ29X2Z1T7Is6dLWv2e9OUXbv2+nifV+rbtLVttVqgex8jeJ9SuzWp3L1cvsTLJY6ey0ytYvSTv3kmVN3fZC6Sirs55ynUlwhhdX\/AEj7slpbaKBIeJHzPXjmk3953mWIBRu7uzojFQiorQABBYAAAAAAAAAAAAFDedRpSz+z7dGtTXP2w1MpGvf2+B96mu8lvpWU1Jl1bVrwQonNMrjPz27zpp+xx2ik4pE46yVMzSKuVz2IvZ6miSS5M5qk5Tn9nDHd9v8ASLadLxQvWtuqpW1sm7uk95rfBF5r3\/A0CIiJhEwiHoKOTezWnTjTVooAAg0AAAAAAAAAAAAAAAObIIY5HSsiY17\/AMzkaiK7xXzU6AAWsAAAAAAAAAAAAAAAAAAACq1NVrRWCqkYuHvb0bd8fm29MqSld2KzkoRcn0KiysdfdS1N5lTMFMvRU6c0z\/8AFz4uNYVmnaFLfYqaH9Tmcb987u3\/AG8izLTd2ZeHg407vby\/mAAUNwDnNNFTxOmmkbHG1Muc5cIhnJdVVNdM+nsVvfVKn+c\/3Wp5Lj5qhZRb0ZVK0KfmefqacjvuFFG7hfWQNXsWVqfUzrNNXO6N473c5N1z0MKphv06+wls0VZGsRFhkeqfqdKuV+Ba0Vtmf2laWYwt6suYqylncjYamKRV6mPRTsZ6bRFmkbhjJol7WSZX55IckN40s9J2VL662N\/PG9cuYmO\/kngvkOMXpkOtUhmpHHdZNaCJb7nR3SDpaSZHpvlOTk3xuhLM2rHTGSkroAAEgAAAAAAAAAAAAAAAAAAAAAAAAzmulVLAmF5ztz8FNGUWsoFm05M5OcTmv+ePqXh5kc\/iVejL0LmBESnjREwiMT0OhFts\/wCKtlLP\/wBSJrl8VQlFXs2i7pNA5zTR08L5pnoyNiZc5y7Ih0PHNRzVa5EVFTCovWQWf6GOhiqtZV3T1CuhtMD\/AHI0XHSKn17+rknWa6CnhpYWwwRtjjamEa1MIh7FFHDG2OKNsbGphrWphE8j7LSlf0MKVHhl5k9sArJr5TRXqK0ta+Sd\/wCZWptHtlMlmQ00axnGV7PQABBYh0tpoaKrlqqanSOWZMPVFXC755ckJgBLd9kRioqyQABBIAAAAAAAAAAABn5NQVaao9kw0bZGbZVVVqtTGVdnw+xoCk1FZX17GVlE5Yq6nVFY9q44k60\/rwOthvkd3p1Y9OjrIUxNEqYVF5KqJ2Z+Bo0mro5ac5RqOE3vXsWwAMzqAAAAAAByqadlVSy08n5ZWKxdu1MHUAhq6szL6YrnW+R9guH8OeJ69CruT2rvhPVPHuNQVd7sVPeYUVy9FUx\/3UzebfuhUNvl10+3oL1SvqokXDaqLrTv7fPCmrXPK2ckZvw64z8vR+5qwUkesLI9EzVPY5f0uhfn5IpFk1rSPesdBRVVZJjZGtwi+q8s9RXhLsaPxNFfmRpTPXvUjoJUt9palTXSLw+6nEkf7+nWR3Ueor87+bkbbqNcfwmL77k7F6\/jjwLi1WKhs8eKePMip70r8K5fMm0Y7yUcqlXEFxXd7+SI9hsXstr6mpk6aun\/AL2RVzjO6oi+KFyAUbbd2dEIRhHjEAAguAAAAAAAAAAAAAAAAAADPXuyTJUJd7QvR10e7mJylT7+poQTGTTujOpTjUjZlZY73DeaZXI3o6iPaaJebV+xZmWv1untdd\/aG2InE3\/ExdTm9a\/f4l\/bq+G50MdXTr7j05LzavWilpJbWjOlUld05+ZfVdyUACh0AAAAAAA8VEVMKmUU9ABEfardI\/jfQUrnf6lhaq+h3ihigZwQxMjb2MaiJ8joCbsqoxWUgACCwAAAAAAAAAAAAAAAAAAAAAAAAAAB45qOarXIioqYVF6zJObLo65ula1X2mpcnEiLlYnf18U8DXHOop4qqB8E8aSRvTDmu5KWjK29GNWlzs1hrTEM0dRCyaF6PjemWuauyodDIqy56QV7omOrLWq5xneLK\/Lbr5Z7DR2+50l0p+npJUe1FwqclavehMo2ytEU6yk+MsS7exLAOFRW0tIiLU1MUOeXSPRufiUNm0ss7gpZ9W2WBFxV9K7\/AExtVc+fL5kNdb0suW0dBV1D+xGoifJV7+rqLqEn0MX4mivzI0wMwt71LUJmlsKRb\/57l+vCEh1jVr79RS0jc7o3Cqvhso4d2V+8p+WLfy9zTgqrJZ32pKh81UtRNUv43uVFRM79We8tSrsng3g243krMAAgsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgr9JUs8r6igmfQVLlReOLZqd2ExjtALKTWjOpThUVpK5HXTl7nXE+oZmtzyZnl5Kh3pdGWyJzpKtZa2V26uleqb+X1yAWc5aMIeHpPLV\/XP8llBZbXTIiRUECY5KrEVfipNRqNTDURE7EAKNt7OmMYx0j0AEFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD\/9k=",
    "razonSocial": "SOCIEDAD EDUCACIONAL MAGISTER LTDA.",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "KENIA DIAZ",
    "correoContacto": "kenia.diaz@hssanesteban.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "2537623",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "09:12",
    "ubicacionGPS": "LatLng(lat: -23.6618436, lng: -70.399952)",
    "horaLlegada": "06:04",
    "horaDespacho": "09:11",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 05/05/2026 09:12:24
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-a.BNcmWdYtrp4Ov4JeKifAu837Zibk-9n+sYX3nohtmcSSEpLyx
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79783050",
    "serieinterna": "TO3107",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "mantención",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12418",
    "observacion": "se cierra por duplicidad",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADGAPoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xAA\/EAABAwMCAgcGBAMGBwAAAAAAAQIDBAURBiESMRNBUWFxgbEVIpGhwdEUMkLhIyTwFjM0Q1JzNkVTgpLC8f\/EABgBAQADAQAAAAAAAAAAAAAAAAABAgME\/8QALhEAAgEEAQIEAwkBAAAAAAAAAAECAxEhMRJBUQQycdEigaETFCNCYZGxweHw\/9oADAMBAAIRAxEAPwD9mAAAAAAAAAAAAAAAAAAAAAAAAAAAAOc8zKeCSeRcMjarnL3IA3Y51tdT26ldU1UiRxt7ear2J2qZ6O5akvOZLbBFSU6qvBJKn5k6l35\/A42+hl1VXuu1xRyULVxT0+dnY23+vavchrmtRrUa1ERETCInUaO0MbZyR51\/ivaPTu\/19DMratWKnH7ag6RFyicO3f8Ap+h57T1NbHItfbmVcCLl8kG7sbdSefNDUAjn3Rb7vbyya+d\/5K603yhvESLTyokqJl8TtnN+\/ihYlHdtMU9fJ+KpJFoq1Fyk0eUz4oi7eKHGy36ZtV7HvDeirWbMkXlL2efqHFNXiI1ZQkoVfk+j9maIAFDpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnNZTyPo6e2QOb0tbKjcKuMplPqqf1y0Zmb0vHrKzsTmiK7l4\/YvT81zm8U\/wAO3ey\/dmgpKZlHSRU0aIjImI1MJ2IdgCh0JJKyAABIKu+WOC9U3C7+HUM3ilTm1exe4tD5kkZFG6SRyNYxFc5yrsiJzUlNp3RScYzi4y0Uml7pPW001JWKq1dG\/o5FX9XNE89lL0wNB+Kveo6+W1VK0UcicTn8PvY27O1d+fxLd2nb7CqyU+o5pH9kqO4fVfQ1lBX3Y46FefDEXJLrg04Msl7v9oavta2\/iIWpvPDjbvXG3oXdtu9FdouOlmRzk\/NGuzm+KfXkZuDWTphXhN8dPs8E4AFTYAAAAAAAAAAAAAAAAAAAAAAAAAAAGY1B\/K6os1YqZa53RL3b4\/8AY05RavoH1tje+JMyU7klTHPCc\/kufIvB\/Ec\/iU3SbW1n9i9BCtFwZc7XBVsXKvb7+2MOTZfmTSrVnY2jJSSa6gAEFgRLpROuNsqKRsnRrKzhR2M4JYCdiJJSTTKTT2nm2RJ3vm6aaZURXYwiIn7\/AELsAltt3ZWnTjTjxjoGcu+n3wzJdLKnQVcaqro2bJKnXtyz6mjBMZNPBFSnGorMq7He4rxSq7h6KojXEsS82r9i0MreI2WfVVBc2e5HVOWKfGydSZX4ov8A2mqJkltdSlGcneM9r\/rgAFDcAAAAAAAAAAAAAAAAAAAAAAAAHioiphUyinoAMiiO0rqPH\/Lrg7yjd+3ovca4hXe2RXa3SUkmEVyZY\/GeB3UpV6YukqrJZ7guKyk2RV\/W36428lTvNH8Sv1OSH4NTh0evb2NCADM6wAAAAAAAACg1pB0tgdKiZdTyNkTHjj6llR3CKaigle\/DnxtcqYXmqHDUn\/Dtb\/tKZmi\/wNP\/ALTfQ1S5ROGpUdOu2uqX9m6ABkdwAAAAAAAAAAAAAAAAAAAAAAAAAAAKHUVifWtSvoFWO4Qe8xWrjj7vHsXy8L4EptO6KVKcakeMik0\/qKO7MWnnb0NbGmJI1TGcc1T7dRdlJfdPpceGro3\/AIevi3ZK1ccXcqp6ke2akkiqfZt8j\/DViLhr8YZJ2f1yLuKlmJhGrKm+FX5Pv\/powAZnUAAAAAAZ\/WlUsNiWBmVkqZGxojeapzX0x5ljS2mlhpIYnwtc9kbWucu6qqIUcvDqHV8bWt6SjtqZe5Fy1X8\/VE\/8VNWaSwkjkppVKkpvWl8t\/UAAzOsAAAAAAAAAAAAAAAAg3K8UNpj46uZGqqZRjd3O8ilbcNQX1yrboG0FJhUSWb8zu9P2+KllFvJjOvGL4rL7I1AMyzSVROubjeqqfKYVrVVETwVVX0Ly20EVroI6OBz3Rx5wr1RV3VV6kTtDSWmITqSfxRsvUlAAqbAAAAAAAg3W00t3pFp6lm\/6HonvMXtQnAlO2UVlFSVnoylDe57BO21Xvic1NoalEyit7zURSxzRtkikbIxyZa5q5RfM+Kqkp62B0FTE2WN3NrkM1JQ3LS71mtyvrLflVfTLzZ4LhV808+0viXqc150N5j9V7mrBXWu+Ud1c6OBzkmYmXxuaqK3fHPH7liUaawzpjKM1eLugZ29X2Z1T7Is6dLWv2e9OUXbv2+nifV+rbtLVttVqgex8jeJ9SuzWp3L1cvsTLJY6ey0ytYvSTv3kmVN3fZC6Sirs55ynUlwhhdX\/AEj7slpbaKBIeJHzPXjmk3953mWIBRu7uzojFQiorQABBYAAAAAAAAAAAAFDedRpSz+z7dGtTXP2w1MpGvf2+B96mu8lvpWU1Jl1bVrwQonNMrjPz27zpp+xx2ik4pE46yVMzSKuVz2IvZ6miSS5M5qk5Tn9nDHd9v8ASLadLxQvWtuqpW1sm7uk95rfBF5r3\/A0CIiJhEwiHoKOTezWnTjTVooAAg0AAAAAAAAAAAAAAAObIIY5HSsiY17\/AMzkaiK7xXzU6AAWsAAAAAAAAAAAAAAAAAAACq1NVrRWCqkYuHvb0bd8fm29MqSld2KzkoRcn0KiysdfdS1N5lTMFMvRU6c0z\/8AFz4uNYVmnaFLfYqaH9Tmcb987u3\/AG8izLTd2ZeHg407vby\/mAAUNwDnNNFTxOmmkbHG1Muc5cIhnJdVVNdM+nsVvfVKn+c\/3Wp5Lj5qhZRb0ZVK0KfmefqacjvuFFG7hfWQNXsWVqfUzrNNXO6N473c5N1z0MKphv06+wls0VZGsRFhkeqfqdKuV+Ba0Vtmf2laWYwt6suYqylncjYamKRV6mPRTsZ6bRFmkbhjJol7WSZX55IckN40s9J2VL662N\/PG9cuYmO\/kngvkOMXpkOtUhmpHHdZNaCJb7nR3SDpaSZHpvlOTk3xuhLM2rHTGSkroAAEgAAAAAAAAAAAAAAAAAAAAAAAAzmulVLAmF5ztz8FNGUWsoFm05M5OcTmv+ePqXh5kc\/iVejL0LmBESnjREwiMT0OhFts\/wCKtlLP\/wBSJrl8VQlFXs2i7pNA5zTR08L5pnoyNiZc5y7Ih0PHNRzVa5EVFTCovWQWf6GOhiqtZV3T1CuhtMD\/AHI0XHSKn17+rknWa6CnhpYWwwRtjjamEa1MIh7FFHDG2OKNsbGphrWphE8j7LSlf0MKVHhl5k9sArJr5TRXqK0ta+Sd\/wCZWptHtlMlmQ00axnGV7PQABBYh0tpoaKrlqqanSOWZMPVFXC755ckJgBLd9kRioqyQABBIAAAAAAAAAAABn5NQVaao9kw0bZGbZVVVqtTGVdnw+xoCk1FZX17GVlE5Yq6nVFY9q44k60\/rwOthvkd3p1Y9OjrIUxNEqYVF5KqJ2Z+Bo0mro5ac5RqOE3vXsWwAMzqAAAAAAByqadlVSy08n5ZWKxdu1MHUAhq6szL6YrnW+R9guH8OeJ69CruT2rvhPVPHuNQVd7sVPeYUVy9FUx\/3UzebfuhUNvl10+3oL1SvqokXDaqLrTv7fPCmrXPK2ckZvw64z8vR+5qwUkesLI9EzVPY5f0uhfn5IpFk1rSPesdBRVVZJjZGtwi+q8s9RXhLsaPxNFfmRpTPXvUjoJUt9palTXSLw+6nEkf7+nWR3Ueor87+bkbbqNcfwmL77k7F6\/jjwLi1WKhs8eKePMip70r8K5fMm0Y7yUcqlXEFxXd7+SI9hsXstr6mpk6aun\/AL2RVzjO6oi+KFyAUbbd2dEIRhHjEAAguAAAAAAAAAAAAAAAAAADPXuyTJUJd7QvR10e7mJylT7+poQTGTTujOpTjUjZlZY73DeaZXI3o6iPaaJebV+xZmWv1untdd\/aG2InE3\/ExdTm9a\/f4l\/bq+G50MdXTr7j05LzavWilpJbWjOlUld05+ZfVdyUACh0AAAAAAA8VEVMKmUU9ABEfardI\/jfQUrnf6lhaq+h3ihigZwQxMjb2MaiJ8joCbsqoxWUgACCwAAAAAAAAAAAAAAAAAAAAAAAAAAB45qOarXIioqYVF6zJObLo65ula1X2mpcnEiLlYnf18U8DXHOop4qqB8E8aSRvTDmu5KWjK29GNWlzs1hrTEM0dRCyaF6PjemWuauyodDIqy56QV7omOrLWq5xneLK\/Lbr5Z7DR2+50l0p+npJUe1FwqclavehMo2ytEU6yk+MsS7exLAOFRW0tIiLU1MUOeXSPRufiUNm0ss7gpZ9W2WBFxV9K7\/AExtVc+fL5kNdb0suW0dBV1D+xGoifJV7+rqLqEn0MX4mivzI0wMwt71LUJmlsKRb\/57l+vCEh1jVr79RS0jc7o3Cqvhso4d2V+8p+WLfy9zTgqrJZ32pKh81UtRNUv43uVFRM79We8tSrsng3g243krMAAgsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgr9JUs8r6igmfQVLlReOLZqd2ExjtALKTWjOpThUVpK5HXTl7nXE+oZmtzyZnl5Kh3pdGWyJzpKtZa2V26uleqb+X1yAWc5aMIeHpPLV\/XP8llBZbXTIiRUECY5KrEVfipNRqNTDURE7EAKNt7OmMYx0j0AEFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD\/9k=",
    "razonSocial": "SOCIEDAD EDUCACIONAL MAGISTER LTDA.",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "KENIA DIAZ",
    "correoContacto": "kenia.diaz@hssanesteban.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "2537623",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "09:12",
    "ubicacionGPS": "LatLng(lat: -23.6618436, lng: -70.399952)",
    "horaLlegada": "06:04",
    "horaDespacho": "09:11",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


05/05/2026 09:12:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:79783050

[05/05/2026 09: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('79783050', 'TO3107', 1, 7373114, 0, NOW(), 
				'09:11', '06:04', '09:12', 3, 'mantención', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777986744.png', 'se cierra por duplicidad', null, 'COMPLETADO','LatLng(lat: -23.6618436, lng: -70.399952)' )
				
[05/05/2026 09:12:24] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200172

05/05/2026 09:12:24 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200172'                    
				WHERE idllamado = 12418			
				TO ENVIO: micorreo@miempresa.cl, kenia.diaz@hssanesteban.cl


05/05/2026 09:12:25 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12418			
				
05/05/2026 09:12:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


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

05/05/2026 09: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 = 12418
                [05/05/2026 09:12:28] 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;
                

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

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

05/05/2026 09:12:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            
05/05/2026 09:12:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12418
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09: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 = 12418
                
05/05/2026 09:12:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 09:12:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 09:12:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 09:12:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 09:12:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            [05/05/2026 09:12:32] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 09:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                [05/05/2026 09:12: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;
                
[05/05/2026 09:12: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;
                

05/05/2026 09:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            [05/05/2026 09:12: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;
                

05/05/2026 09:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 09:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 09:12:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            [05/05/2026 09:12:36] 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;
                

05/05/2026 09:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 09:12:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            [05/05/2026 09:12:36] 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;
                
[05/05/2026 09:12:36] 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;
                

05/05/2026 09:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                [05/05/2026 09:12:36] 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;
                

05/05/2026 09:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 09:12:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 09:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 09:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 09:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 09:12:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            [05/05/2026 09:12:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 09:12:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 09:12:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 09:12:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 09:12:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 09:12:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 09:12:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09:12:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                [05/05/2026 09:12:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 09:12:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            [05/05/2026 09:12:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 09:12:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 09: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 = 12427
                
05/05/2026 09: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 = 12427
                
05/05/2026 09: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 = 12427
                
05/05/2026 09: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 = 12427
                
05/05/2026 09: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 = 12427
                
05/05/2026 09: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 = 12427
                [05/05/2026 09:12:53] 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;
                
[05/05/2026 09:12:53] 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;
                

05/05/2026 09: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 = 12427
                [05/05/2026 09:12:53] 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;
                
[05/05/2026 09:12:53] 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;
                

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

05/05/2026 09: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 = 12427
                
05/05/2026 09: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 = 12427
                [05/05/2026 09:12:54] 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;
                

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

05/05/2026 09: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 = 12427
                
05/05/2026 09: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 = 12427
                
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12427
                
05/05/2026 09: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 = 12427
                
05/05/2026 09: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 = 12427
                
05/05/2026 09: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 = 12427
                
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12427
                
05/05/2026 09: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 = 12427
                
05/05/2026 09: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 = 12427
                
05/05/2026 09: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 = 12427
                
05/05/2026 09: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 = 12427
                
05/05/2026 09: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 = 12427
                
05/05/2026 09:13:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:13:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:13:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:13:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            [05/05/2026 09:13:59] 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;
                

05/05/2026 09:13:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                [05/05/2026 09:13:59] 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;
                

05/05/2026 09:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                [05/05/2026 09:13:59] 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;
                
[05/05/2026 09:13:59] 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;
                

05/05/2026 09:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:14:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:14:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            [05/05/2026 09:14:01] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 09:14:01] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 09:14:01] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 09:14:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:14:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:14:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:14:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            [05/05/2026 09:14:02] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 09:14:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            [05/05/2026 09:14:17] 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;
                
[05/05/2026 09:14:17] 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;
                

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

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

05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12429
                
05/05/2026 09: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 = 12429
                
05/05/2026 09:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:14:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            [05/05/2026 09:14: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;
                

05/05/2026 09:14:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                [05/05/2026 09:14:31] 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;
                

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

05/05/2026 09:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                [05/05/2026 09:14:31] 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;
                

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

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

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

05/05/2026 09: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 = 12430
                
05/05/2026 09: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 = 12430
                
05/05/2026 09:14:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12430
                
05/05/2026 09: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 = 12430
                
05/05/2026 09: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 = 12430
                
05/05/2026 09: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 = 12430
                
05/05/2026 09:14:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09:14:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09:14:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12430
                
05/05/2026 09: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 = 12430
                
05/05/2026 09:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09:14:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            [05/05/2026 09:14:41] 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;
                

05/05/2026 09:14:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                [05/05/2026 09:14:41] 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;
                

05/05/2026 09:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09:14:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09:14:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            [05/05/2026 09:14:41] 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;
                
[05/05/2026 09:14:41] 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;
                

05/05/2026 09:14:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12430
                [05/05/2026 09:14:53] 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;
                

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

05/05/2026 09: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 = 12430
                
05/05/2026 09: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 = 12430
                
05/05/2026 09: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 = 12430
                
05/05/2026 09: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 = 12430
                [05/05/2026 09:14:53] 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;
                

05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12430
                
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12430
                
05/05/2026 09:14:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                [05/05/2026 09:14:54] 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;
                

05/05/2026 09:14:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09:14:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09:14:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09:14:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            [05/05/2026 09:14:57] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 09:14:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            [05/05/2026 09:14:58] 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;
                

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

05/05/2026 09:14:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            [05/05/2026 09:14:58] 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;
                

05/05/2026 09:14:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09:14:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09: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 = 12430
                
05/05/2026 09: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 = 12430
                
05/05/2026 09:15:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09:15:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            [05/05/2026 09:15: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;
                

05/05/2026 09:15:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09:15:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                [05/05/2026 09:15: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;
                

05/05/2026 09:15:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 09: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 = 12430
                
05/05/2026 09: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 = 12430
                
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            [05/05/2026 09:15:01] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 09:15:01] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 09: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 = 12430
                
05/05/2026 09: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 = 12430
                
05/05/2026 09: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 = 12430
                
05/05/2026 09: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 = 12430
                
05/05/2026 09: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 = 12430
                
05/05/2026 09: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 = 12430
                
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12430
                
05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12429
                [05/05/2026 09:15:02] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            [05/05/2026 09:15:02] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09: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 = 12430
                
05/05/2026 09: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 = 12429
                
05/05/2026 09: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 = 12429
                
05/05/2026 09: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 = 12429
                
05/05/2026 09:15:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:15:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:15:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:15:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                [05/05/2026 09:15:03] 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;
                
[05/05/2026 09:15:03] 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;
                

05/05/2026 09:15:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:15:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:15:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:15:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09: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 = 12429
                
05/05/2026 09: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 = 12429
                
05/05/2026 09: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 = 12429
                [05/05/2026 09:15:06] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 09:15:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:15:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:15:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:15:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                [05/05/2026 09:15:06] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 09:15:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:15:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:15:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:15:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                [05/05/2026 09:15:07] 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;
                
[05/05/2026 09:15:07] 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;
                

05/05/2026 09:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:15:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:15:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 09:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 09:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                [05/05/2026 09:17:23] 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;
                
[05/05/2026 09:17: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 09:17:26] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 09:17:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12164
            GROUP BY l.idllamado;
            [05/05/2026 09:17:57] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 09:23: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;
                

05/05/2026 09:23:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            [05/05/2026 09:23:26] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 09:24:06] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 09:24:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            [05/05/2026 09:24:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 09:34:02] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 09:34:07] 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;
                
[05/05/2026 10:01:23] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 10:01:24] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[05/05/2026 10:01: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;
                

05/05/2026 10:01:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12234
            GROUP BY l.idllamado;
            [05/05/2026 10:01:56] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 10:02: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;
                

05/05/2026 10:02:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            [05/05/2026 10:02:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 10:03: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;
                
[05/05/2026 10:11: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 10:11:41] 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;
                
[05/05/2026 10:11:43] 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;
                

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

05/05/2026 10:12:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 10:12:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 10:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/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 = 12429
                
05/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/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 = 12429
                
05/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/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 = 12429
                
05/05/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 = 12429
                
05/05/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 = 12429
                
05/05/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 = 12429
                
05/05/2026 10:12:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 10: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 = 12429
                
05/05/2026 10: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 = 12429
                
05/05/2026 10: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 = 12429
                
05/05/2026 10: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 = 12429
                
05/05/2026 10: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 = 12429
                
05/05/2026 10:12:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 10: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 = 12429
                
05/05/2026 10: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 = 12429
                
05/05/2026 10: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 = 12429
                
05/05/2026 10:12:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 10: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 = 12429
                
05/05/2026 10: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 = 12429
                
05/05/2026 10:12:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 10: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 = 12429
                
05/05/2026 10: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 = 12429
                
05/05/2026 10: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 = 12429
                
05/05/2026 10: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 = 12429
                
05/05/2026 10:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:13:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 10:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:13:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 10:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10: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 = 12429
                
05/05/2026 10: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 = 12429
                
05/05/2026 10:13:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 10:13:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:13:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:13:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:13:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:13:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:13:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:13:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 10:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:13:59 - logentry: =========================================
FECHA: 05/05/2026 10:13:59
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-phKMbjv8Djtd5vb8TpImHXXh+nLerjOpXFH4d5677N1L_Tr+jog
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61964800",
    "serieinterna": "EP3025",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega de toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12429",
    "observacion": "entrega de toner",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADCAPkDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABFEAABAwMCAwQGBgYHCQAAAAABAAIDBAURBiESMUETUWGBFCJxkaHBByMysdHwFRZSksLhJDM2QnOT8TQ3U1RjdLLS4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADURAAIBAwEDCQcDBQAAAAAAAAABAgMRMSEEEkETMlFhcYGhsdEiIzNCkcHhFHLwJERigvH\/2gAMAwEAAhEDEQA\/AP7MiIgCIiAIiID8c4NaXOIAAySeil7Pqea66jkpowPRHNJZxN9YY6+a69X3H0KzmCMn0iqcGRhvPxPy8wsu0UBoNXwU\/B6zKMdoQObiNyfNWxit1tmGtVly0Yxeiav3lkiIqjcEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREARFmaiuP6Lss87X8EpHBEcZ9Y\/hufJdSu7EZyUIuT4GPSxm\/awmq3+tS231I98gvHL45PkF6W\/6zX9yeTnggDR4bMWjpm3\/o2xQROA7SQdo\/HefwGB5LOpvq\/pEq\/+rTDn7Gcvcrb3bS6DBuOMYSllyu+9PyKdERUnohERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFJV+dQ6uioBk0lv9eXuc7bI9+B71R3KsZb7dPVvIxEwkZ6noPM4CyNG0b4bU+smIdNWvMjj1x0z8T5qyOicjLW95ONLhl9i\/JQqYO30iDO2abbx2VOpesPZ\/SJQ7jElMefTZ\/4LkOPYd2nEf3IqERFA0hERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBEXy5zWML3HDWjJPcEBMalfJdLxRWKH7BcJZ+fL\/TPmQqdjGxsaxgw1oAA7gpnSTHV9ZX3uYEunk4I+IcgPyB5dVUKyens9Bl2f2r1X83lwCmL+ew1ZZZ\/23GP44\/iVOpjWv1MVurekFSNvj\/CuU+cd2r4TfRZ+JToiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCxdV15orJIyPeWpPYsA5nPPHktpSrR+sOrC8jiorb6rcjLXP69Mc\/gApwWt3wM+0SajuRzLQ3LLbxbLTT0mBxMbl5HVx3K7kRRbu7l0YqMVFcAsLWUHbacmd1ic1438cfNbq4rzF29lrY8ZLoH49uDhdi7STIVo71OS6j7tk\/pNrpZ+skLXHbrhdSxdIy9rpqlyclnE0+Tjj4YW0klZtHaUt6nGXSgiIolgREQBFy19xpbZB21XKGN3wOZdtnYLDGrKqfEtFY6uWmG5kIIyOuMAj4qSi3gpnWpwdm9SmRcVqutPd6MVNOTjPC5p5tK7Vxq2jLIyUldYCIi4SCIiAIiIAiIgCIiA+ZJGRRukkdwsYC5x7gFBVctTdaCu1C6SSEQObHTsb6vqlwzk58enVVepZex07WuzjMfD7zj5rBuQ7D6PaWMnh7XgJ8cku3+9XU9Nes8\/a3vNxeEm+\/CKm3TvqrbS1EmOOWFj3Y5ZIBK6Vz0MfY2+mi4S3gia3BGMYAXQqnk3Rvuq4RFw3S7UtppjNUPy4\/YjB9Z57gESvohKSirvBxanur6GibS0u9bVkRxNGCRk4J+XtK6bDa22i1RU2B2pHFKR1cefu5eSy9P0FRca5+oLkwB8oHo0Z5Mb0cPl7SeqplOWi3UZ6Sc5crLu7PyERFWagvxwDmlp3BGCv1EBM6JJipK2id9qnqSPhj+EqmUxYs02rrzS\/8Qib45\/jVOp1OdczbL8JLouvowiIoGkLjulzgtNC+rqD6o2a0c3O6ALsUk8DU+qXxO9e32\/ZzcnD3f658gpxV84KK1RwSUcvRfzqPW12me9VTbzeW5B3p6Yk8LR0JHy69VTgADAGAF+rL1DdBa7Y97cmeX6uFreZcQjbm7CMY0INvvfSZuj8drdeAt7P0k8IAxjc\/yVMsjTNrNqs0cTxiaT6yXPQnp5DA967JrpRU9fFQyzhtRKMtZgn2ZPTPik9ZOxyguTpRUtPydaIigaAiIgCIiAIiIAiyW3sDUctpmjZGBGHxSGT7Z22x5n3LWXWmskIzjK9uGhP62k4NOSNzjtJGN9u+fkuDULO1p7JZWtyZCzI7gAG8x7T7l969qYvQKamLwXGYPc0EcQABHLzXtZ6Wqut7dfa2ERxBnDSsPMDv+J59Tsro6RT7Tz6vvK0qa42XdllMiIqD0wsSk0rb4JxUT8dXODxccrsjOTjbz+C20XU2sEJU4zaclex+AADAGAF+oi4TCIiAIiICYnPov0hQO5Cqp8E+OD\/6hU6l9UjsL1ZaxoGRNwOPLbLevmVUKc8JmahpOceu\/wBUERFA0nLc6v0G2VNUOcUZcPbjb4rL0dSCnsEcpH1lQ4yOPU74HwHxX7rNzhpqcDk5zAfZxD+S0KJ9PR2Sne54jgjgaeJ2wA4QrPk7TK9do14Lz\/4dM88VNA+eZ4ZHGOJzj0ClrbC\/U18N3qGf0KmPBTxub9vnz+BPkOi+eKp1lX8ID4bRA7c8jKfz7vaquGGOnhZDCwMjYMNa0bAJzF1kV\/UST+VeL9D0WXfbLDeKMtwG1DBmKXG4PdnuWoigm07o1ThGcXGWDE0vd33GgMFTkVdKezlDuZ7j8N\/ELbUpe4JLDeI79StPYSO4atjeuevn9\/tVRFLHPCyaJ4fG8BzXDkQpTSyuJRQk9ac8rxXBn2i8qiphpITNUSCNg6lZ9ovf6XnnEdJLHTx44Jn7CTodsbbjxUbO1y51IqSi3qzVReYqIXVDqcSsMzW8Rj4vWA78L0XCd7hEWR+s1uddGW6EyTSudwl0bctafE\/gupN4ISnGFt55PS8WOmu7Gl5MVRH\/AFczObfA94WW6z6nfiI3xgh\/aDcP6dw789VTouqbRXOhCTvjsdiDutgitFdbHmeSpmnqh2j5OuCOnmrxTGrgTX2bAz\/Sfm1U6lNtxTZVs8IwqTjFaaeQREVZsCIiAIiIAiL4lmigYZJpGRsHNz3ABAfaLDq9YWalBDagzvH92JpPx5Lj\/Wa71pAtlikLSTiSbIae7uHxU1CRne00k7J3fVr5HprmJzrGyZnOGdrs9wwR95C3I62nc2APmjZLOwOZG5wDnbZ2HNR9+j1JLZ5prjJTxU7OHihYBk+sAN9+p71q6b05R09PTXKQvnqZI2yBzzszI6Dz5lTaShqzPCpN13uxylnQo0RFSegZuoaQ11iqoGjLizibtncHPyU\/abaNS0VPLU18rqanY2N1KNsObgHfxAB79yrJStTQ12nLnLcbdG6oopjxT07dy3fmPeTn25VsHpZZMW0U1vqcldYfqU0EEVNCyGCNscbBhrWjAC9Fi2\/Vdpr2DNQKeQ7GOY8Px5Fa7JopGlzJGOaOZDgQq2msmmFSE17DPtFzTXGhp89tWQR4GSHSALErNYQk9jaaaSumJwC1p4QfvK6ot4OTrU4c5mxc30Hojqe4SxsiqPq8PcBknu\/Oyw9O1E1puUun6xxdw+vTP6FvPH565X3b7DWVtwbdL68SSNwYqcfZZt1H58V0aptktVSR11HkVlEe0jLeZHMjx5Z\/1U1ZezczS5SXvlG1uHFrj+DhqGv1Hqh9G\/8A2C3HMgByJHbbHfHMHyBVUGhow0ADuCk9CzOqX3OoeBxyyte7HeeI\/NVq5U0e70Fmy2lDlOMv4iev1lkE4vNsJZWwjic0cpQB9\/3rQsl3ivNCJ2gMlaeGWPO7D+C0VJ3aCXTd5F7pY+KkmPDUxt6E9fPn7fai9pbrycmuRlykcPPr6nVqu5TsEFpoSfSq04yDgtbnHx337gVqWm0UtopGwU7BxY9eTHrPPefwWFaZWXTWdXWCTjjgiHYjoMgDPuz71VpLRKIopVJyqvsXYvUIiKs1kxqj6y+WKHoajiPj6zf5qnUxePrNbWiIc2sL\/wDy\/BU6slhGajrUqPr+yCIirNIRF8SyxwxOlleGMYMuc44ACA+1m3S\/W+0DFTNmTpEzd\/u6eayarUFbd53UWn4i5vKSrcCAz2Z5fnC7LRpekt57epPpdW45Msgzg+AP381Zupc4yutKo7Uvrw7uk4v0tqG8uLLZQiigcNp6gEHHeP5Ar6i0b6TIJrvcZ6t+3qNJDR4ZOSR7lTom+1jQ7+mjLWo97y+hx0dot1AAKWjijI5O4cu\/eO67ERQbbyaIxUVZIx9Vs49M1g3+y07eDgV0WF3HYKE5z9Qwe4YXnqT+ztb\/AIRTTf8AZ2i\/wgpfJ3mf+5\/1+5qIiKBpCIiAz6yxWuucXVFFE57jkvDeFxPiRzWW7Qtoc7IdUtHcJB8wqRFJTksMplQpTd5RRhQ6Os0TuJ0Mkrt8l8h3z7MLXp6SmpGcFNTxwt7mMDfuXsiOTeWShSpw5qSCIiiWERaqk2TWVVQPPDBUyYaMYAJOWY9+FbqT1NYKysvVLW0MYJIAkIOOEg7E8unj0VYrKjTszHs0ZQc4NaJ6d4XnUQR1VPJBM0PjkaWuB6heiKs2NX0ZPae07LZbjVSdo10D2hrMnLjyOTtt1VCiLspOTuyunTjTjuxwERFwsJiu3+kS3Y3xTHPhtIqdTH9b9Ih2z2NN7tv\/AKVOpz4dhm2fM3\/k\/sERFA0njVVMVHSyVM7uGOJpc4qVhp6\/V8xqKmR1Pamv+ribzlx+efuXvfDJetQ09jYSKeICWpIPMc8Hyx5uVNFFHBCyGJgZGwBrWjkArOYusyNcvNp81eL9EfFJSU9DTtp6WJsUTeTW\/ndeyIqzUkkrIIiIdCIiAxNXyiLTVSOry1o\/eHyBXfZ4jBZqOI82wMB9uBlYuuXl1rpqVjsPnqAAO8AH5kKkYwRsaxvJoACm+YjNHXaJPoSXmz6REUDSEREAREQBERAEREAREQBERAEREAREQExB\/vEqf+2H3NVOpin3+kSqxvimGfDZqp1OfDsM2z4l+5hERQNJMWYZ1neHOHrAAAkb42\/AKnUrXSOsesGVz24pK1gZI\/o07DJPTp5KpBBGQcgqyfBmXZtFKPFN+Op+oiKs1BERAERcN4ucVot0lVIRkDEbT\/efjYLqV3YjKSinJ4MWpzddcwQj1obczjfjcB\/P354fd7qhYGk7a+loXVtSCaqsPaPc4b4593mt9Sm9bLgU7OnuubzLX08AiIoGgIiIAiIgCIiAIiIAiIgCIiAIiIAiL8JAGScAICZs4EmtrvKSS5rAwezb8AqdTGkuKrrLpcy0iOomxGT1GT3+Sp1Opmxm2X4d+lt+IRctyoGXKidSvlliDiDxROwQQche3ZN73\/vn8VEvu74PC526C60L6SoHqu3DhzaehCwLdd59PyC1XskRt2p6nchze4+zPkqpc9bRU9wpX01TGHxvG47vEeKlGXB4KqlJt78HaXn2ns1zXsD2ODmuGQQcghfSlv0Vf7G0i0VTaumBGKebmPZnz5EL7h1gIOKO72+opJGnGQ0lp9\/813cb5upFbSo6VFuvw+pTIp79drN+3N\/lleUmtYJniG20NRVzOOACOEfMrnJy6Dr2qivmKKaaOnhfNM8MjYMuc47AKVijk1deW1Ukbm2qlOGseSO1dzzj3eXtXqyzXe\/SCa9zmmpsgtpIjz9v5J9ipaenipYGQQRiONgw1reQXdIYyQtKu1vK0fF\/g9ERFWawiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID5YxkbQxjQ1o5BowAvpEQBERAEREAXy+NkreGRjXt7nDIRF1ZIy5rPL0Kl\/5aH\/LC9WtawYa0NHgMIilIqpZPpERQLwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "REGIMIENTO LOGISTICO N1 TOCOPILLA",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "EDINSON ROMERO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:14",
    "ubicacionGPS": "LatLng(lat: -23.6867937, lng: -70.4180862)",
    "horaLlegada": "06:04",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 05/05/2026 10:13:59
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-phKMbjv8Djtd5vb8TpImHXXh+nLerjOpXFH4d5677N1L_Tr+jog
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61964800",
    "serieinterna": "EP3025",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega de toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12429",
    "observacion": "entrega de toner",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADCAPkDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABFEAABAwMCAwQGBgYHCQAAAAABAAIDBAURBiESMUETUWGBFCJxkaHBByMysdHwFRZSksLhJDM2QnOT8TQ3U1RjdLLS4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADURAAIBAwEDCQcDBQAAAAAAAAABAgMRMSEEEkETMlFhcYGhsdEiIzNCkcHhFHLwJERigvH\/2gAMAwEAAhEDEQA\/AP7MiIgCIiAIiID8c4NaXOIAAySeil7Pqea66jkpowPRHNJZxN9YY6+a69X3H0KzmCMn0iqcGRhvPxPy8wsu0UBoNXwU\/B6zKMdoQObiNyfNWxit1tmGtVly0Yxeiav3lkiIqjcEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREARFmaiuP6Lss87X8EpHBEcZ9Y\/hufJdSu7EZyUIuT4GPSxm\/awmq3+tS231I98gvHL45PkF6W\/6zX9yeTnggDR4bMWjpm3\/o2xQROA7SQdo\/HefwGB5LOpvq\/pEq\/+rTDn7Gcvcrb3bS6DBuOMYSllyu+9PyKdERUnohERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFJV+dQ6uioBk0lv9eXuc7bI9+B71R3KsZb7dPVvIxEwkZ6noPM4CyNG0b4bU+smIdNWvMjj1x0z8T5qyOicjLW95ONLhl9i\/JQqYO30iDO2abbx2VOpesPZ\/SJQ7jElMefTZ\/4LkOPYd2nEf3IqERFA0hERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBEXy5zWML3HDWjJPcEBMalfJdLxRWKH7BcJZ+fL\/TPmQqdjGxsaxgw1oAA7gpnSTHV9ZX3uYEunk4I+IcgPyB5dVUKyens9Bl2f2r1X83lwCmL+ew1ZZZ\/23GP44\/iVOpjWv1MVurekFSNvj\/CuU+cd2r4TfRZ+JToiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCxdV15orJIyPeWpPYsA5nPPHktpSrR+sOrC8jiorb6rcjLXP69Mc\/gApwWt3wM+0SajuRzLQ3LLbxbLTT0mBxMbl5HVx3K7kRRbu7l0YqMVFcAsLWUHbacmd1ic1438cfNbq4rzF29lrY8ZLoH49uDhdi7STIVo71OS6j7tk\/pNrpZ+skLXHbrhdSxdIy9rpqlyclnE0+Tjj4YW0klZtHaUt6nGXSgiIolgREQBFy19xpbZB21XKGN3wOZdtnYLDGrKqfEtFY6uWmG5kIIyOuMAj4qSi3gpnWpwdm9SmRcVqutPd6MVNOTjPC5p5tK7Vxq2jLIyUldYCIi4SCIiAIiIAiIgCIiA+ZJGRRukkdwsYC5x7gFBVctTdaCu1C6SSEQObHTsb6vqlwzk58enVVepZex07WuzjMfD7zj5rBuQ7D6PaWMnh7XgJ8cku3+9XU9Nes8\/a3vNxeEm+\/CKm3TvqrbS1EmOOWFj3Y5ZIBK6Vz0MfY2+mi4S3gia3BGMYAXQqnk3Rvuq4RFw3S7UtppjNUPy4\/YjB9Z57gESvohKSirvBxanur6GibS0u9bVkRxNGCRk4J+XtK6bDa22i1RU2B2pHFKR1cefu5eSy9P0FRca5+oLkwB8oHo0Z5Mb0cPl7SeqplOWi3UZ6Sc5crLu7PyERFWagvxwDmlp3BGCv1EBM6JJipK2id9qnqSPhj+EqmUxYs02rrzS\/8Qib45\/jVOp1OdczbL8JLouvowiIoGkLjulzgtNC+rqD6o2a0c3O6ALsUk8DU+qXxO9e32\/ZzcnD3f658gpxV84KK1RwSUcvRfzqPW12me9VTbzeW5B3p6Yk8LR0JHy69VTgADAGAF+rL1DdBa7Y97cmeX6uFreZcQjbm7CMY0INvvfSZuj8drdeAt7P0k8IAxjc\/yVMsjTNrNqs0cTxiaT6yXPQnp5DA967JrpRU9fFQyzhtRKMtZgn2ZPTPik9ZOxyguTpRUtPydaIigaAiIgCIiAIiIAiyW3sDUctpmjZGBGHxSGT7Z22x5n3LWXWmskIzjK9uGhP62k4NOSNzjtJGN9u+fkuDULO1p7JZWtyZCzI7gAG8x7T7l969qYvQKamLwXGYPc0EcQABHLzXtZ6Wqut7dfa2ERxBnDSsPMDv+J59Tsro6RT7Tz6vvK0qa42XdllMiIqD0wsSk0rb4JxUT8dXODxccrsjOTjbz+C20XU2sEJU4zaclex+AADAGAF+oi4TCIiAIiICYnPov0hQO5Cqp8E+OD\/6hU6l9UjsL1ZaxoGRNwOPLbLevmVUKc8JmahpOceu\/wBUERFA0nLc6v0G2VNUOcUZcPbjb4rL0dSCnsEcpH1lQ4yOPU74HwHxX7rNzhpqcDk5zAfZxD+S0KJ9PR2Sne54jgjgaeJ2wA4QrPk7TK9do14Lz\/4dM88VNA+eZ4ZHGOJzj0ClrbC\/U18N3qGf0KmPBTxub9vnz+BPkOi+eKp1lX8ID4bRA7c8jKfz7vaquGGOnhZDCwMjYMNa0bAJzF1kV\/UST+VeL9D0WXfbLDeKMtwG1DBmKXG4PdnuWoigm07o1ThGcXGWDE0vd33GgMFTkVdKezlDuZ7j8N\/ELbUpe4JLDeI79StPYSO4atjeuevn9\/tVRFLHPCyaJ4fG8BzXDkQpTSyuJRQk9ac8rxXBn2i8qiphpITNUSCNg6lZ9ovf6XnnEdJLHTx44Jn7CTodsbbjxUbO1y51IqSi3qzVReYqIXVDqcSsMzW8Rj4vWA78L0XCd7hEWR+s1uddGW6EyTSudwl0bctafE\/gupN4ISnGFt55PS8WOmu7Gl5MVRH\/AFczObfA94WW6z6nfiI3xgh\/aDcP6dw789VTouqbRXOhCTvjsdiDutgitFdbHmeSpmnqh2j5OuCOnmrxTGrgTX2bAz\/Sfm1U6lNtxTZVs8IwqTjFaaeQREVZsCIiAIiIAiL4lmigYZJpGRsHNz3ABAfaLDq9YWalBDagzvH92JpPx5Lj\/Wa71pAtlikLSTiSbIae7uHxU1CRne00k7J3fVr5HprmJzrGyZnOGdrs9wwR95C3I62nc2APmjZLOwOZG5wDnbZ2HNR9+j1JLZ5prjJTxU7OHihYBk+sAN9+p71q6b05R09PTXKQvnqZI2yBzzszI6Dz5lTaShqzPCpN13uxylnQo0RFSegZuoaQ11iqoGjLizibtncHPyU\/abaNS0VPLU18rqanY2N1KNsObgHfxAB79yrJStTQ12nLnLcbdG6oopjxT07dy3fmPeTn25VsHpZZMW0U1vqcldYfqU0EEVNCyGCNscbBhrWjAC9Fi2\/Vdpr2DNQKeQ7GOY8Px5Fa7JopGlzJGOaOZDgQq2msmmFSE17DPtFzTXGhp89tWQR4GSHSALErNYQk9jaaaSumJwC1p4QfvK6ot4OTrU4c5mxc30Hojqe4SxsiqPq8PcBknu\/Oyw9O1E1puUun6xxdw+vTP6FvPH565X3b7DWVtwbdL68SSNwYqcfZZt1H58V0aptktVSR11HkVlEe0jLeZHMjx5Z\/1U1ZezczS5SXvlG1uHFrj+DhqGv1Hqh9G\/8A2C3HMgByJHbbHfHMHyBVUGhow0ADuCk9CzOqX3OoeBxyyte7HeeI\/NVq5U0e70Fmy2lDlOMv4iev1lkE4vNsJZWwjic0cpQB9\/3rQsl3ivNCJ2gMlaeGWPO7D+C0VJ3aCXTd5F7pY+KkmPDUxt6E9fPn7fai9pbrycmuRlykcPPr6nVqu5TsEFpoSfSq04yDgtbnHx337gVqWm0UtopGwU7BxY9eTHrPPefwWFaZWXTWdXWCTjjgiHYjoMgDPuz71VpLRKIopVJyqvsXYvUIiKs1kxqj6y+WKHoajiPj6zf5qnUxePrNbWiIc2sL\/wDy\/BU6slhGajrUqPr+yCIirNIRF8SyxwxOlleGMYMuc44ACA+1m3S\/W+0DFTNmTpEzd\/u6eayarUFbd53UWn4i5vKSrcCAz2Z5fnC7LRpekt57epPpdW45Msgzg+AP381Zupc4yutKo7Uvrw7uk4v0tqG8uLLZQiigcNp6gEHHeP5Ar6i0b6TIJrvcZ6t+3qNJDR4ZOSR7lTom+1jQ7+mjLWo97y+hx0dot1AAKWjijI5O4cu\/eO67ERQbbyaIxUVZIx9Vs49M1g3+y07eDgV0WF3HYKE5z9Qwe4YXnqT+ztb\/AIRTTf8AZ2i\/wgpfJ3mf+5\/1+5qIiKBpCIiAz6yxWuucXVFFE57jkvDeFxPiRzWW7Qtoc7IdUtHcJB8wqRFJTksMplQpTd5RRhQ6Os0TuJ0Mkrt8l8h3z7MLXp6SmpGcFNTxwt7mMDfuXsiOTeWShSpw5qSCIiiWERaqk2TWVVQPPDBUyYaMYAJOWY9+FbqT1NYKysvVLW0MYJIAkIOOEg7E8unj0VYrKjTszHs0ZQc4NaJ6d4XnUQR1VPJBM0PjkaWuB6heiKs2NX0ZPae07LZbjVSdo10D2hrMnLjyOTtt1VCiLspOTuyunTjTjuxwERFwsJiu3+kS3Y3xTHPhtIqdTH9b9Ih2z2NN7tv\/AKVOpz4dhm2fM3\/k\/sERFA0njVVMVHSyVM7uGOJpc4qVhp6\/V8xqKmR1Pamv+ribzlx+efuXvfDJetQ09jYSKeICWpIPMc8Hyx5uVNFFHBCyGJgZGwBrWjkArOYusyNcvNp81eL9EfFJSU9DTtp6WJsUTeTW\/ndeyIqzUkkrIIiIdCIiAxNXyiLTVSOry1o\/eHyBXfZ4jBZqOI82wMB9uBlYuuXl1rpqVjsPnqAAO8AH5kKkYwRsaxvJoACm+YjNHXaJPoSXmz6REUDSEREAREQBERAEREAREQBERAEREAREQExB\/vEqf+2H3NVOpin3+kSqxvimGfDZqp1OfDsM2z4l+5hERQNJMWYZ1neHOHrAAAkb42\/AKnUrXSOsesGVz24pK1gZI\/o07DJPTp5KpBBGQcgqyfBmXZtFKPFN+Op+oiKs1BERAERcN4ucVot0lVIRkDEbT\/efjYLqV3YjKSinJ4MWpzddcwQj1obczjfjcB\/P354fd7qhYGk7a+loXVtSCaqsPaPc4b4593mt9Sm9bLgU7OnuubzLX08AiIoGgIiIAiIgCIiAIiIAiIgCIiAIiIAiL8JAGScAICZs4EmtrvKSS5rAwezb8AqdTGkuKrrLpcy0iOomxGT1GT3+Sp1Opmxm2X4d+lt+IRctyoGXKidSvlliDiDxROwQQche3ZN73\/vn8VEvu74PC526C60L6SoHqu3DhzaehCwLdd59PyC1XskRt2p6nchze4+zPkqpc9bRU9wpX01TGHxvG47vEeKlGXB4KqlJt78HaXn2ns1zXsD2ODmuGQQcghfSlv0Vf7G0i0VTaumBGKebmPZnz5EL7h1gIOKO72+opJGnGQ0lp9\/813cb5upFbSo6VFuvw+pTIp79drN+3N\/lleUmtYJniG20NRVzOOACOEfMrnJy6Dr2qivmKKaaOnhfNM8MjYMuc47AKVijk1deW1Ukbm2qlOGseSO1dzzj3eXtXqyzXe\/SCa9zmmpsgtpIjz9v5J9ipaenipYGQQRiONgw1reQXdIYyQtKu1vK0fF\/g9ERFWawiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID5YxkbQxjQ1o5BowAvpEQBERAEREAXy+NkreGRjXt7nDIRF1ZIy5rPL0Kl\/5aH\/LC9WtawYa0NHgMIilIqpZPpERQLwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "REGIMIENTO LOGISTICO N1 TOCOPILLA",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "EDINSON ROMERO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:14",
    "ubicacionGPS": "LatLng(lat: -23.6867937, lng: -70.4180862)",
    "horaLlegada": "06:04",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


05/05/2026 10:13:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61964800

[05/05/2026 10:13: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('61964800', 'EP3025', 1, 7373114, 0, NOW(), 
				'08:00', '06:04', '10:14', 10, 'entrega de toner', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777990439.png', 'entrega de toner', null, 'COMPLETADO','LatLng(lat: -23.6867937, lng: -70.4180862)' )
				
[05/05/2026 10:13:59] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200173

05/05/2026 10:13:59 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200173'                    
				WHERE idllamado = 12429			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


05/05/2026 10:13:59 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12429			
				
05/05/2026 10:13:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


05/05/2026 10:14:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:14:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:14:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:14:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 10:14:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:14:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:14:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:14:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                [05/05/2026 10:14:03] 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;
                

05/05/2026 10:14:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 10:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                [05/05/2026 10:14:03] 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;
                

05/05/2026 10:14:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12429
            GROUP BY l.idllamado;
            
05/05/2026 10:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12429
                
05/05/2026 10:14:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 10:14:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            [05/05/2026 10:14:06] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 10:14:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            [05/05/2026 10:14:06] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 10:14:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            [05/05/2026 10:14:17] 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;
                

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

05/05/2026 10: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 = 12430
                
05/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 10: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 = 12430
                
05/05/2026 10: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 = 12430
                
05/05/2026 10: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 = 12430
                
05/05/2026 10: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 = 12430
                
05/05/2026 10: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 = 12430
                
05/05/2026 10: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 = 12430
                
05/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 10: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 = 12430
                
05/05/2026 10: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 = 12430
                
05/05/2026 10:14:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 10: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 = 12430
                
05/05/2026 10: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 = 12430
                
05/05/2026 10: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 = 12430
                
05/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 10: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 = 12430
                
05/05/2026 10: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 = 12430
                
05/05/2026 10:14:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 10: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 = 12430
                
05/05/2026 10: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 = 12430
                
05/05/2026 10:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 10:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 10:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 10:14:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 10:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 10:14:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 10:14:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:14:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:15:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:15:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 10:15:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:15:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:15:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 10:15:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:15:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:15:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:15:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 10:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:15:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:15:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10: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 = 12430
                
05/05/2026 10: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 = 12430
                
05/05/2026 10:15:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:15:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 10:15:47 - logentry: =========================================
FECHA: 05/05/2026 10:15:47
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-u3ig-ug0PbXwJpTzlYzSQO8QuLK5TkUED3Qy6LJVt+6QU4MysnQ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61964800",
    "serieinterna": "KY2149",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega de toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12430",
    "observacion": "entrega de toner",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACWAOEDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xAA9EAABAwMCAwUFBQYGAwAAAAABAAIDBAURBiESMUETUXGBkRQiYaHBFSMysdEHQlLC4fAkNGKCkqJDdPH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQIEAwgCAQUAAAAAAAAAAQIDERIhMUEEE1EiMmFxgZGx0aHBFCMzUuHw\/9oADAMBAAIRAxEAPwD+zIiIApSXVlRHdC\/sW\/ZjZhC6Qj3g7H9CqaqmFNSTTnGImOec\/AZUVR24T6Aq5SAHvldOHH\/SQPo71VtNLVmLiZzTSg9m\/YukWfYqo1tkpKg4y6MA4JO42PPwWgq2rOxrjJSipLcIiLhIIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCx6\/VFrt9T7PLK58gJDhE3i4Md65b\/epTOLNawZK2YgPI5Rj\/56Bd1lsdNaKcYAkqXD7yZ25cfh3BTUUleRmdSU5YKe2r\/R1W+401zphUUr+JucEHmPEdF1KXo2Cz60ko4mhkFfH2jWgbZGT5cjt8VULklZ5E6M3OLxarJhERRLgiIgMPV9cKOwTMDsSVH3TRnnnn8sr2p7eYNKewcI4zSua4cveLTn5lZtwxdda0tA5vFDRs7WQZP4sZGRy6tVQrHlFL1MkFzKk5bafZgaLl7TTkbSSeze5u5+Ofqt9TGjv8PLdLeduwqSQPHI\/lVOuVO8yfCu9GPt7ZBERQNAREQBERAEREAREQBERAEREAREQBY2or6LRTtigb2lZPtFGBnHTJH5d5WnV1cNDSSVU7uGOMZccZU5pmjkuVVNfrhHmSR+Kdrv3G949cDwKnFLvMzVpyuqcNX+F1+jQ07ZDa4Hz1Lu0rak8UzzuR1xnx5962URRbbd2XQhGnFRiTFxxJr22sHNkBcf+6p1LWpwuWta+sacxUzOyaWnYnl3b8nKpU57Ip4fPFLq39BERVmkLnrqtlBQzVcgJbEwuIHX4LoUzqGoN3rotP0rjlxEk728gB0Png+ilFXZVWqYIXWu3meukaaQ0c90qcmor5C8k\/wjlj1PyVCvxDE2CFkTBhsbQ1oxjYbdF+0k7u52lDlwUSXpiKHX1RCMhtbDxAAjGcZz8neqqFMagAg1XZKkDDpHmInvGQP5iqdSnomVUMnOPR\/OYREVZpCIsW6ano7dP7LGx9VVdIo+\/uJ\/TJXUm9CE6kYK8nY2kU9BqxrKiOnudBPRSSHDS8e7474+WVQo4tanIVYVO6wiIuFgREQBERAEREARF+JpWQQvmkPCyNpc49wG5QElqGpnvN6j09HG5kbZWvkkBO7eHJ2x0yeuOSrYomQxMijaGsY0Na0dAOQUFRQXepkk1NRND5e3cBCBu5nXbrzx37ZVFQ6wtdUOCoeaOYHBZKNgfHl64V04uyS2PO4etHFKVR2ctL9NjeXFd69tstVRVuO7Ge78XHYfMhec1\/tEERkdcadwHRkgeT5DdYOavWNbGTE6C0QvJydjL0\/UbcslQjHd6GirWSWGDvJ6fZo6PonUtjZNID2tU4yuLuZB5fLfzW8vjWhrQ1oAAGAB0X1Rk7u5bTgqcFFbBERcLAuOjtkFFUVNRGXvlqX8Uj3uyfgB3BdiLtzjim03sERFw6TGtQ6CO3V7Rn2aoHL478\/9qpmkOaHDcEZCydU04qNOVbSN2NDx8MHK9rBP7RYaKTr2LWnbqNvorHnBGaPZryXVJ\/o0URFWaTF1Jdn0FPFS0xPtdY7s4iP3dwCfnsvWx2KC0U4OO0qn7yzOHvE9w+CzanFR+0GlaRtT05OD1OHb\/MeipnODWlziAAMknorHlFJGWmlOpKctnZfswtZGIael4y0SF7BETz4uIcj4ArUtbXMtNG1ww4QMBHx4QppvFq2\/lxx9mULscJ3Ep3388eQ8VXpLJKIovmVJVFpovG25z11fTW6mNRVyiOMHGcZye4L2Y9skbZGODmuALSOoXPc6CO5W6ajk5SNwD\/Ceh9VkaTq5WQy2erIFVRHHDnmzp44\/IhRteNyx1HGqovR6eZQoi5LjcqW1Upqap5awHAAGS49wUUrlspKKuzrRfiGVs0LJWghr2hwBGDgr8VkT56KeKNxa+SNzWkHBBI236IL5XR7IsLR9Y+rsTRK9z5YZHMeXkknfO+fH5L9Xy\/mgmjoaFgqK+Y4bH0btsT8tlLA8WEpVePLVR6M21gazrTS2MxM\/HUvEYGM7cz+WPNbNGag0cRq2sbOWDtAw7A9VO6lPtmoLRbQNuPtX454z+jXLsF2iPEyfJdtXl7m7a6IW+2U9IMfdMAdjqep9cr5WWm315zVUkUrv4i33vXmuxFG7vcuwRw4bZGTDpeyQP42W+Mn\/AFuc8ejiQtRrWsaGsaGtHIAYAX6RG29RGEId1WCIi4TCIiAIi+EgDJOAEB9RYVw1ZQ00ns9GHV1SThscIyM+P6ZXGKbU95LX1FQy2U5z93Hnjwf76keCmoPV5GeXERvaCxPw+9DT1DV0sVoq4JamKOR8Lg1jnDiOx5BYFl1bSUFop6L2apmmjaQQxoxzPxz1HRasGjbbGx7qjtKud43kmeeffgfXK8tCPDrFIOrZ3A+gP1U1hwvczS5zrRbtG6fibtDUurKOOodBJAZBns5B7zfFdCIqT0FdLMmNQP8AsvUVvupcREQYpOewzz9D8l5XCvqNTzi2WoPbRZHtFUWkBwzyH97+HPau9ipLy1ntPEHxtcGOaeXEPnjYrCt1wqdLSNtt0gHsrnHs6pjcA+Pf57jwV8WmstUefVjKM2pO0Jf96XKehoae3UjKWlj4I2ch1J7yuhecFRDUxNlgkbIxwyHNOV6Kl+J6EUkstApnUtJPQ1sOoKJpc+DAnYP32d58tj5dy3K+50dti7SsqGRDoCd3eA5lclouNTdfaXzUjY6XOIHE7yN3ByD4fDmpRuu0UVsE\/wCnfP48Txq9Rxi009XQx+0S1TgyKI8+LqD4FeNv05LJVi4Xqc1VRnLIjuyM59Dy7sKeuVr+wdRULzJihdUtljJ5M95vED4YHlhf0EEEZByCpy7K7O5RSvWm+as47beZ9REVJvIajug08++wOwHNlzTs5ZJJA+WD5La0zaOwpxc6sF9dVDjc5+5YDyA8sZ9FjXGip6n9oUcLy5rXlj3YbjJDc488Dcd6uFdUeWW553DU25PFpFtL7CmKBvtmu66oIIFLEGN8dh+qp1MaYw6\/39x5ioA\/7P8A0UI6NmitnOnHx+EynREUDSEREAREQBERAfHODWlziAAMknopKtqarVdc630DzFboXYnnH\/kIPTvHcPNaOrLhJS25lJTZNTWu7KMNO\/xxv8QPNaNpt7LXbIaNmCWN95w\/eceZ9VYuysRlqXqz5ey1+hQWqitrcUsDWOIwXndzvErsRFBu+ppjFRVkgpjQ3+Rrf\/ZP5BU6mNB+9aKmQ83VLs\/8W\/qpR7rM9T+\/D1\/RToiKBpC854IqmF8M8bZI3jDmuGQV6IgauTkmi6Nsjn0dVUUocQS1rsj5\/VeZ0fU44Rfqvh5Y35f8lTop8yXUzfxaP+PyT9Joy100wmlM1S8HI7V23oAPmt9rQ1oa0AADAA6L6ii5N6lsKUKatBWMfVFs+07LKxgzLEe0j8Rz+WVw6KvBraF1FPJxTUw93J3czp6cvRUyn4NMmj1GLjSTCKB2XPix1PMeG\/kpxacXFlFSnNVo1IeTKBERVms\/ntxc+DXzZcEA1MeCcgEbAr+hKfuemvbr\/T3EShrWFpkaG7nh5b5+ioFZOSaVjHw1OVOU77sKY01iPUN+jP4nThw8OJ36hU6mKL7j9oFew8pqcOb6N\/quR0aJ18p05ePymU6IigaQiIgCIvmRnGd0B9REQEvg3HX7mPJ7OghDmjOxOB6bu+XkqhTFmwdZ3cu\/GGgb92R\/RU6nPZGbhs1KXVsIiKBpPjnBrS5xAAGST0U1oNrm2KUkYDqhxHxHC0fRa99mMFjrZBzELgPMY+q5tKwCDTlIMYL2l5+OST+WFNZQZmlnxEV0T\/NjYREUDSEREAREQBERAEREAREQBERAFL3k+w6ytdaR7kzexJ+O4\/mHoqhTutaZ77M2ri2kpJWvDhzAO23nj0U6fesZuKT5bkts\/YokXjR1DauigqW8pY2vHmMr2UDQndXQREQ6Fx1Nrpquupq2UO7WlJLCDgHPf+a7EXU7HHFSVmERFw6TG9B+0AnHuV1PjnyIHd\/s+ap1MauDqSptl0aDw084EhAztkH6Hr1VMCCMg5BU5ZpMzUezOcPG\/ufURFA0k9rSp7KyezNBMlVI1jQB3HP0A81s0NMKKggpW4xDG1m3XA5qdqpHXvWcFKwA01t9+QkbF231wPIqqVksopGWl26kp+i9NfyERFWagiIgCIiAIiIAiIgCIiAIiIAua4Uja631FK4bSxlo25HGx9V0omhxpNWZP6NqnS2Y0soIlpJDG4HmBzH1HkqBS1CTa9b1lK7aOvb2rMnmdz+fEFUqc9b9TPwzfLwvVZewREUDSEREAREQHHdbey6W2akeB77fdJ\/dd0PqsvStzfLTvtdY4NrKM8BaTu5o5Hy5eioFhXrT762oFwoKg0tcxuA4EgP+B\/JTi01hZmqxkpKpBXe66o3VlX+8x2ihJaeKplBbBGNyXd+O4LN+0NWtaYHWuAychKHbd2efn9F62zTUntQuN5n9rq9i1p\/DGef94wF1RSzkyMqs6iw000+rysdGmLXJbrcZKluKqpd2kuwyO4beOfMraRFBu7uaKcFCKitgiIuEwiIgCIiAIiIAiIgCIiAIiIAiIgJrWET6ZtJeafaajkAJzjLSevf3eZVDDMyogjnjOWSNDmnvBGQvG5UTLjbp6N5wJWYz3HofVZWj6wzWg0kme1o3mNwdzAycZ\/LyVmsPIzLsV2tpL8r\/AEb6IirNIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBTz9N1Lby+rpbg6mgmmEs0ceQXYyefXJPhuiKUW1oU1YRla\/UoURFEuCIiAIiID\/2Q==",
    "razonSocial": "REGIMIENTO LOGISTICO N1 TOCOPILLA",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "EDISON ROMERO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28550\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "10:15",
    "ubicacionGPS": "LatLng(lat: -23.6949795, lng: -70.4154827)",
    "horaLlegada": "06:04",
    "horaDespacho": "10:14",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 05/05/2026 10:15:47
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-u3ig-ug0PbXwJpTzlYzSQO8QuLK5TkUED3Qy6LJVt+6QU4MysnQ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61964800",
    "serieinterna": "KY2149",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega de toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12430",
    "observacion": "entrega de toner",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACWAOEDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xAA9EAABAwMCAwUFBQYGAwAAAAABAAIDBAURBiESMUETUXGBkRQiYaHBFSMysdEHQlLC4fAkNGKCkqJDdPH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQIEAwgCAQUAAAAAAAAAAQIDERIhMUEEE1EiMmFxgZGx0aHBFCMzUuHw\/9oADAMBAAIRAxEAPwD+zIiIApSXVlRHdC\/sW\/ZjZhC6Qj3g7H9CqaqmFNSTTnGImOec\/AZUVR24T6Aq5SAHvldOHH\/SQPo71VtNLVmLiZzTSg9m\/YukWfYqo1tkpKg4y6MA4JO42PPwWgq2rOxrjJSipLcIiLhIIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCx6\/VFrt9T7PLK58gJDhE3i4Md65b\/epTOLNawZK2YgPI5Rj\/56Bd1lsdNaKcYAkqXD7yZ25cfh3BTUUleRmdSU5YKe2r\/R1W+401zphUUr+JucEHmPEdF1KXo2Cz60ko4mhkFfH2jWgbZGT5cjt8VULklZ5E6M3OLxarJhERRLgiIgMPV9cKOwTMDsSVH3TRnnnn8sr2p7eYNKewcI4zSua4cveLTn5lZtwxdda0tA5vFDRs7WQZP4sZGRy6tVQrHlFL1MkFzKk5bafZgaLl7TTkbSSeze5u5+Ofqt9TGjv8PLdLeduwqSQPHI\/lVOuVO8yfCu9GPt7ZBERQNAREQBERAEREAREQBERAEREAREQBY2or6LRTtigb2lZPtFGBnHTJH5d5WnV1cNDSSVU7uGOMZccZU5pmjkuVVNfrhHmSR+Kdrv3G949cDwKnFLvMzVpyuqcNX+F1+jQ07ZDa4Hz1Lu0rak8UzzuR1xnx5962URRbbd2XQhGnFRiTFxxJr22sHNkBcf+6p1LWpwuWta+sacxUzOyaWnYnl3b8nKpU57Ip4fPFLq39BERVmkLnrqtlBQzVcgJbEwuIHX4LoUzqGoN3rotP0rjlxEk728gB0Png+ilFXZVWqYIXWu3meukaaQ0c90qcmor5C8k\/wjlj1PyVCvxDE2CFkTBhsbQ1oxjYbdF+0k7u52lDlwUSXpiKHX1RCMhtbDxAAjGcZz8neqqFMagAg1XZKkDDpHmInvGQP5iqdSnomVUMnOPR\/OYREVZpCIsW6ano7dP7LGx9VVdIo+\/uJ\/TJXUm9CE6kYK8nY2kU9BqxrKiOnudBPRSSHDS8e7474+WVQo4tanIVYVO6wiIuFgREQBERAEREARF+JpWQQvmkPCyNpc49wG5QElqGpnvN6j09HG5kbZWvkkBO7eHJ2x0yeuOSrYomQxMijaGsY0Na0dAOQUFRQXepkk1NRND5e3cBCBu5nXbrzx37ZVFQ6wtdUOCoeaOYHBZKNgfHl64V04uyS2PO4etHFKVR2ctL9NjeXFd69tstVRVuO7Ge78XHYfMhec1\/tEERkdcadwHRkgeT5DdYOavWNbGTE6C0QvJydjL0\/UbcslQjHd6GirWSWGDvJ6fZo6PonUtjZNID2tU4yuLuZB5fLfzW8vjWhrQ1oAAGAB0X1Rk7u5bTgqcFFbBERcLAuOjtkFFUVNRGXvlqX8Uj3uyfgB3BdiLtzjim03sERFw6TGtQ6CO3V7Rn2aoHL478\/9qpmkOaHDcEZCydU04qNOVbSN2NDx8MHK9rBP7RYaKTr2LWnbqNvorHnBGaPZryXVJ\/o0URFWaTF1Jdn0FPFS0xPtdY7s4iP3dwCfnsvWx2KC0U4OO0qn7yzOHvE9w+CzanFR+0GlaRtT05OD1OHb\/MeipnODWlziAAMknorHlFJGWmlOpKctnZfswtZGIael4y0SF7BETz4uIcj4ArUtbXMtNG1ww4QMBHx4QppvFq2\/lxx9mULscJ3Ep3388eQ8VXpLJKIovmVJVFpovG25z11fTW6mNRVyiOMHGcZye4L2Y9skbZGODmuALSOoXPc6CO5W6ajk5SNwD\/Ceh9VkaTq5WQy2erIFVRHHDnmzp44\/IhRteNyx1HGqovR6eZQoi5LjcqW1Upqap5awHAAGS49wUUrlspKKuzrRfiGVs0LJWghr2hwBGDgr8VkT56KeKNxa+SNzWkHBBI236IL5XR7IsLR9Y+rsTRK9z5YZHMeXkknfO+fH5L9Xy\/mgmjoaFgqK+Y4bH0btsT8tlLA8WEpVePLVR6M21gazrTS2MxM\/HUvEYGM7cz+WPNbNGag0cRq2sbOWDtAw7A9VO6lPtmoLRbQNuPtX454z+jXLsF2iPEyfJdtXl7m7a6IW+2U9IMfdMAdjqep9cr5WWm315zVUkUrv4i33vXmuxFG7vcuwRw4bZGTDpeyQP42W+Mn\/AFuc8ejiQtRrWsaGsaGtHIAYAX6RG29RGEId1WCIi4TCIiAIi+EgDJOAEB9RYVw1ZQ00ns9GHV1SThscIyM+P6ZXGKbU95LX1FQy2U5z93Hnjwf76keCmoPV5GeXERvaCxPw+9DT1DV0sVoq4JamKOR8Lg1jnDiOx5BYFl1bSUFop6L2apmmjaQQxoxzPxz1HRasGjbbGx7qjtKud43kmeeffgfXK8tCPDrFIOrZ3A+gP1U1hwvczS5zrRbtG6fibtDUurKOOodBJAZBns5B7zfFdCIqT0FdLMmNQP8AsvUVvupcREQYpOewzz9D8l5XCvqNTzi2WoPbRZHtFUWkBwzyH97+HPau9ipLy1ntPEHxtcGOaeXEPnjYrCt1wqdLSNtt0gHsrnHs6pjcA+Pf57jwV8WmstUefVjKM2pO0Jf96XKehoae3UjKWlj4I2ch1J7yuhecFRDUxNlgkbIxwyHNOV6Kl+J6EUkstApnUtJPQ1sOoKJpc+DAnYP32d58tj5dy3K+50dti7SsqGRDoCd3eA5lclouNTdfaXzUjY6XOIHE7yN3ByD4fDmpRuu0UVsE\/wCnfP48Txq9Rxi009XQx+0S1TgyKI8+LqD4FeNv05LJVi4Xqc1VRnLIjuyM59Dy7sKeuVr+wdRULzJihdUtljJ5M95vED4YHlhf0EEEZByCpy7K7O5RSvWm+as47beZ9REVJvIajug08++wOwHNlzTs5ZJJA+WD5La0zaOwpxc6sF9dVDjc5+5YDyA8sZ9FjXGip6n9oUcLy5rXlj3YbjJDc488Dcd6uFdUeWW553DU25PFpFtL7CmKBvtmu66oIIFLEGN8dh+qp1MaYw6\/39x5ioA\/7P8A0UI6NmitnOnHx+EynREUDSEREAREQBERAfHODWlziAAMknopKtqarVdc630DzFboXYnnH\/kIPTvHcPNaOrLhJS25lJTZNTWu7KMNO\/xxv8QPNaNpt7LXbIaNmCWN95w\/eceZ9VYuysRlqXqz5ey1+hQWqitrcUsDWOIwXndzvErsRFBu+ppjFRVkgpjQ3+Rrf\/ZP5BU6mNB+9aKmQ83VLs\/8W\/qpR7rM9T+\/D1\/RToiKBpC854IqmF8M8bZI3jDmuGQV6IgauTkmi6Nsjn0dVUUocQS1rsj5\/VeZ0fU44Rfqvh5Y35f8lTop8yXUzfxaP+PyT9Joy100wmlM1S8HI7V23oAPmt9rQ1oa0AADAA6L6ii5N6lsKUKatBWMfVFs+07LKxgzLEe0j8Rz+WVw6KvBraF1FPJxTUw93J3czp6cvRUyn4NMmj1GLjSTCKB2XPix1PMeG\/kpxacXFlFSnNVo1IeTKBERVms\/ntxc+DXzZcEA1MeCcgEbAr+hKfuemvbr\/T3EShrWFpkaG7nh5b5+ioFZOSaVjHw1OVOU77sKY01iPUN+jP4nThw8OJ36hU6mKL7j9oFew8pqcOb6N\/quR0aJ18p05ePymU6IigaQiIgCIvmRnGd0B9REQEvg3HX7mPJ7OghDmjOxOB6bu+XkqhTFmwdZ3cu\/GGgb92R\/RU6nPZGbhs1KXVsIiKBpPjnBrS5xAAGST0U1oNrm2KUkYDqhxHxHC0fRa99mMFjrZBzELgPMY+q5tKwCDTlIMYL2l5+OST+WFNZQZmlnxEV0T\/NjYREUDSEREAREQBERAEREAREQBERAFL3k+w6ytdaR7kzexJ+O4\/mHoqhTutaZ77M2ri2kpJWvDhzAO23nj0U6fesZuKT5bkts\/YokXjR1DauigqW8pY2vHmMr2UDQndXQREQ6Fx1Nrpquupq2UO7WlJLCDgHPf+a7EXU7HHFSVmERFw6TG9B+0AnHuV1PjnyIHd\/s+ap1MauDqSptl0aDw084EhAztkH6Hr1VMCCMg5BU5ZpMzUezOcPG\/ufURFA0k9rSp7KyezNBMlVI1jQB3HP0A81s0NMKKggpW4xDG1m3XA5qdqpHXvWcFKwA01t9+QkbF231wPIqqVksopGWl26kp+i9NfyERFWagiIgCIiAIiIAiIgCIiAIiIAua4Uja631FK4bSxlo25HGx9V0omhxpNWZP6NqnS2Y0soIlpJDG4HmBzH1HkqBS1CTa9b1lK7aOvb2rMnmdz+fEFUqc9b9TPwzfLwvVZewREUDSEREAREQHHdbey6W2akeB77fdJ\/dd0PqsvStzfLTvtdY4NrKM8BaTu5o5Hy5eioFhXrT762oFwoKg0tcxuA4EgP+B\/JTi01hZmqxkpKpBXe66o3VlX+8x2ihJaeKplBbBGNyXd+O4LN+0NWtaYHWuAychKHbd2efn9F62zTUntQuN5n9rq9i1p\/DGef94wF1RSzkyMqs6iw000+rysdGmLXJbrcZKluKqpd2kuwyO4beOfMraRFBu7uaKcFCKitgiIuEwiIgCIiAIiIAiIgCIiAIiIAiIgJrWET6ZtJeafaajkAJzjLSevf3eZVDDMyogjnjOWSNDmnvBGQvG5UTLjbp6N5wJWYz3HofVZWj6wzWg0kme1o3mNwdzAycZ\/LyVmsPIzLsV2tpL8r\/AEb6IirNIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBTz9N1Lby+rpbg6mgmmEs0ceQXYyefXJPhuiKUW1oU1YRla\/UoURFEuCIiAIiID\/2Q==",
    "razonSocial": "REGIMIENTO LOGISTICO N1 TOCOPILLA",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "EDISON ROMERO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28550\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "10:15",
    "ubicacionGPS": "LatLng(lat: -23.6949795, lng: -70.4154827)",
    "horaLlegada": "06:04",
    "horaDespacho": "10:14",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


05/05/2026 10:15:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61964800

[05/05/2026 10:15:47] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61964800', 'KY2149', 2, 7373114, 0, NOW(), 
				'10:14', '06:04', '10:15', 10, 'entrega de toner', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777990547.png', 'entrega de toner', null, 'COMPLETADO','LatLng(lat: -23.6949795, lng: -70.4154827)' )
				
[05/05/2026 10:15:47] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200174
[05/05/2026 10:15:47] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200174', 'KYO-I647', 2)
				
[05/05/2026 10:15:47] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28550 and
				    IDproducto = 'KYO-I647'
				

05/05/2026 10:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:15:48 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'KYO-I647';
                
05/05/2026 10:15:48 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200174'                    
				WHERE idllamado = 12430			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


05/05/2026 10:15:48 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12430			
				
05/05/2026 10:15:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


05/05/2026 10:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12430
                
05/05/2026 10:15:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 10: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 = 12430
                
05/05/2026 10: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 = 12430
                
05/05/2026 10: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 = 12430
                
05/05/2026 10: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 = 12430
                
05/05/2026 10: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 = 12430
                
05/05/2026 10: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 = 12430
                [05/05/2026 10:15:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 10:15:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 10: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 = 12430
                
05/05/2026 10: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 = 12430
                
05/05/2026 10: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 = 12430
                
05/05/2026 10:15:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 10:15:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            
05/05/2026 10:15:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12430
            GROUP BY l.idllamado;
            [05/05/2026 10:15:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 10:15:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

05/05/2026 10:16:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 10:16:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12453
            GROUP BY l.idllamado;
            [05/05/2026 10:16: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;
                

05/05/2026 10:16:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 10:16:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12453
            GROUP BY l.idllamado;
            
05/05/2026 10:16:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12453
            GROUP BY l.idllamado;
            
05/05/2026 10:16:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12453
            GROUP BY l.idllamado;
            
05/05/2026 10:16:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                [05/05/2026 10:16: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;
                

05/05/2026 10:16:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 10:16:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 10:16:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 10:16:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 10:16:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12234
            GROUP BY l.idllamado;
            [05/05/2026 10:19: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;
                
[05/05/2026 10:46:45] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 10:46:45] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 7373114 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '7373114'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[05/05/2026 10:46:47] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 10:46:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12164
            GROUP BY l.idllamado;
            [05/05/2026 10:46:55] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 10:47:13] 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;
                

05/05/2026 10:47:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12164
            GROUP BY l.idllamado;
            
05/05/2026 10:47:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12164
            GROUP BY l.idllamado;
            
05/05/2026 10:47:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12164
                
05/05/2026 10:47:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12164
                
05/05/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 = 12164
                
05/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12164
            GROUP BY l.idllamado;
            
05/05/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 = 12164
                
05/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12164
            GROUP BY l.idllamado;
            
05/05/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 = 12164
                
05/05/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 = 12164
                
05/05/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 = 12164
                
05/05/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 = 12164
                
05/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12164
            GROUP BY l.idllamado;
            
05/05/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 = 12164
                
05/05/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 = 12164
                
05/05/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 = 12164
                
05/05/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 = 12164
                
05/05/2026 10:47:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12164
            GROUP BY l.idllamado;
            
05/05/2026 10:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12164
                
05/05/2026 10:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12164
                
05/05/2026 10: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 = 12164
                
05/05/2026 10: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 = 12164
                
05/05/2026 10:52:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12164
            GROUP BY l.idllamado;
            [05/05/2026 10:52:09] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 11:01: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;
                
[05/05/2026 11:02: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 11:02:05] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[05/05/2026 11:02:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

05/05/2026 11:06:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12452
            GROUP BY l.idllamado;
            
05/05/2026 11:06:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12452
                
05/05/2026 11:06:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12452
                
05/05/2026 11: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 = 12452
                
05/05/2026 11:06:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12452
            GROUP BY l.idllamado;
            
05/05/2026 11: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 = 12452
                
05/05/2026 11:06:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12452
            GROUP BY l.idllamado;
            
05/05/2026 11: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 = 12452
                
05/05/2026 11: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 = 12452
                
05/05/2026 11: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 = 12452
                
05/05/2026 11: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 = 12452
                
05/05/2026 11: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 = 12452
                
05/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12452
            GROUP BY l.idllamado;
            
05/05/2026 11: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 = 12452
                
05/05/2026 11: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 = 12452
                
05/05/2026 11: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 = 12452
                
05/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12452
            GROUP BY l.idllamado;
            
05/05/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 = 12452
                
05/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12452
            GROUP BY l.idllamado;
            
05/05/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 = 12452
                
05/05/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 = 12452
                
05/05/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 = 12452
                
05/05/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 = 12452
                
05/05/2026 11:06:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12452
            GROUP BY l.idllamado;
            
05/05/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 = 12452
                
05/05/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 = 12452
                
05/05/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 = 12452
                
05/05/2026 11:06:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12452
                
05/05/2026 11:06:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12452
            GROUP BY l.idllamado;
            
05/05/2026 11:06:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12452
                
05/05/2026 11:06:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12452
                
05/05/2026 11:06:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12452
            GROUP BY l.idllamado;
            
05/05/2026 11:06:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12452
                
05/05/2026 11:06:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12452
                
05/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12452
            GROUP BY l.idllamado;
            
05/05/2026 11:06:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12452
                
05/05/2026 11:06:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12452
                
05/05/2026 11:06:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12452
                
05/05/2026 11: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 = 12452
                
05/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12452
            GROUP BY l.idllamado;
            
05/05/2026 11: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 = 12452
                
05/05/2026 11:06:50 - logentry: =========================================
FECHA: 05/05/2026 11:06:50
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-JMLs6CQDjhEWSS9fMycGhFlmxupP._ii6qXnVJslxOdBlpO_zNL
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76270521",
    "serieinterna": "KY2466",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "267095",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•se entrega toner kyocera",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12452",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADZARkDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABFEAABAwMBBQQGCAMFCAMAAAABAAIDBAURBhIhMUFhE1FxgSKRobHB8BQVIzJCUtHhJDNDBxY0csIlJmJjgqLS4kSy8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADQRAAIBAgMFBgYBBAMAAAAAAAABAgMREiExBEFRYXETIjKxwdFCgZGh4fAjFCQzNFJy8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAWldhWG1z\/QCBU7PoHPDw6rdRdWTOSV00Rtp1u7tDDd49j0tntWNxs\/5h+ir4pY5o2yRSNkY4Za5pyD5qU1Tpwue+7UTNt\/GeA5IeO8fPUb1z7ZdpbLGKujD6i0yO+0hJy6nceWfceB6FXOEZK8TzYV6lGWCtmuPIvkWCjraevpm1NLIJI38CPce5Z1QekmmroIiIdCIiAIiIAsNTVQUdO6eplbFEzi5y8V9fT22kfVVT9iNvrce4d5U1TUVZq2cVty2oLc0\/Y07Tjb6\/v6lOMb5vQoq1cLwQV5P9uzL\/AHjut3nMdjoPsRkGom4ePcO\/G9fXDWFG0VD5aasa0gugjA2iM78eiPBUsUMcETYoWNjjYMNa0YAC9ruNbkQVCTV5Td+WS+hzbJeYL1R9tGNmRh2ZGZ+6f0K6Sk5Wu0\/rGOVgxSXM7LhyDyf1IPgSqxcmks1oToTlJOMtVk\/cIiKBeEREAREQBERAERfHODWlziAAMknkgPq16qupKFm3VVEcI5bbgM+Hep+t1LU3CpNBp+Htn\/jqCPRaO8fqVkotHwbZnu1RJXTv3u2nEN\/U\/O5WYEvEZXXlN2pK\/Pd+Tbdq2xMdg14z0jefcFtUt8tda8R09bE57jhrSdkuPTPFfRZbUBj6spN3\/Ib+i1KvSdmq24+iiF35oTsn9PYnc5nf7hcH9UdlFJvnuek5mCplfX2x7t7yPTjJ+e\/B6KohmjqIWTRPD43jLXDmoyjbMnTqqbaas1uMiIiiXBeXOaxpc9wa0cSTgBeljniE9PJCXFokYW5HEZGEOPTI80tXT1sAnppWyxkkBzSpq9Wie01T7vaow+Jw\/iqUjLXN5nHd7uK4NsqLjpy51Oywvigfs1MWeLc4DvaMHqv0KirIK+kjqqZ+3HIMg\/Aq5p03daGGE47VHDLKS\/bojaWd1pZ9c2YOmt0p\/iaVzt8J+eBVfb7jS3SmFRSSh7DxHNp7iO9TVyt82m7g662+LtaKXdU0+dwB4+Xu8F5lo\/obW3\/TLtqJwzNTcQRz3dO7lyXZJSz\/AH5ldKc6LcWtNV6rly3Fii0LRd6a80YqKc4cN0kZO9h7v3W+qWmnZnoxkpLFHQIiLhILSut1prRRuqKh3RjBxee4LDe73T2Wk7WX05Xbo4gd7j8B1XKtdmqrrVi73wbRO+CmP3WDlkfD1qcY5XehnqVXi7OnnLy6mKitddqOrbcryDHSA7UFLncR+ntPgqxrQ1oa0AADAA5L6i5KVydKkqa4t6sIiKJaT2tomv0+6Q5DoZWuYRyOcfFdujldPRQTO+9JG1x3Y3kZXG1o4DTsjeb5GNA7znPwXXt7di20rc52YWDPkFN+BGaP+xLovU2ERFA0hERAEREAREQHiWWOGJ0srwxjBlznHAAUlLVV2r6x9LRvfTWuM4klxvk+e7zPIL3c6mfU11dZaJ+zRQkGpmbv2scvXw6jPJU9JSQUNMympoxHEwYACt8CvvMbvtErLwrXny6HihoKa20zaeliEbG+snvJ5rZRFVqa0klZBERDpjmhiqIXwzMD43jDmuG4hS9nkk09fn2Sd21TVB26Z5PAnl54x4jqqxT+sLeam1isiOzPRHtGuG445\/A+Ssg\/he8zbRFpdpHWPlvRQItO1VouNqpqsEZlYC7HJ3A+0Fbig1bI0Rakk0ERFw6S2qoRb66kvUce0AexnaeDmkbs7ju4g+S1oJRpe6skikMlmuGHNfxEZ+fWPBVlZSxV1JLSzjMcrS12OKkKhjrSx1juw2rZPkU9SBvjOSRnwyr4O6sebXpunPGsufB8+TLMhr2YIDmuHiCFK1dJU6Vq3XC3sMtvkP8AEU\/5N\/EfPis2l7jLDK+x1zszQD7B3J7OWD4bx08FSuaHNLXAEEYIPNQzg7Gi0dogpLJr7MkKmkcD\/eLTMgIcD20AH3u\/0fh5hd2yXunvNNtsBjmZukidxaeneFxK2iqtK1rrlbWmSgkP29Pn7vX9Dy8F6raIVzWai07JioG+SNv4+8Efm7xz982lJevuZ4SnTk7LPevVexWLmXu909lpO1l9OV26OIHe4\/AdVowaxoHWh9XN6FRH6LqfPpF3Tp15LBZbRPcq4328MzI\/BghPBg5HHu9fFQULZyL5V8do0c2\/shZLJUV1X9dXr053b4YXDcwciRy6Dz4qoXI1Fd32qiYIADUzu2Ig7hnmfndlc6LSlZWMEl3u1RJI7OY43bm54jfu9i6+9m3Y5F9k+zpxu9\/5ZUIpj+41FH\/h66riPM7TfgAn1DqCj9KivzpscGTg48N+1yUcMdzJ9rVXih9Gn7FOiiarVV8tMpgrYaN8nLZdk+Yad3mAtSTV9xujm0ZlgoWSnZdK0Oz4Z3keICkqUip7dSWWd+B1LxM3UOoKazwOD6end2lQ4cN3Ee3HiVWrl2C1UVsoB9DkEwlw504\/qd3kuooya0W4uoQkrzlq\/wBSCIigaAiIgCIiALg6quklJRtoaUF1XW5jYG8QOBPtwP2XaqJ46anknlcGsjaXOJOFM6cp5LtdqjUNVHhjyW0rXchwz5AY8ypwXxPcZq8m7U46v7Lezs2S0x2a3MpmYdJxkkAxtn53Looii3d3ZfGKhFRjogiIuEgiIgC8vY2SN0b2hzXAhwPML0iAmdIPfSSV9nlcS6llJZnm08wPIH\/qVMpesAt+u6SdvoMrYix+77x4fBqqFOet+Jm2bKLh\/wAXb2CIigaQtetoqe4Ur6apjD43jeO7qOq2EQ40mrM\/NLxSVdhrY43SOJi9KkqBx2fynw7vgVcWG9RXugEzRsSsw2VncenQrPc7ZTXajdTVLMtO9rhxYe8KBMVy0deGSubtRuJAcPuys5jofctGVSNt55bUtkqYlnB\/Y\/SXNDmlrgCCMEHmoy60j9JVzLnbZGinmdsyUznYz4dPd4KlF6oDavrPtwKfGc88\/lx39FwLTQz6iubr1c4z9Gaf4aB3DHI+HvKhC6u3oaNoaqYYw8WqfDn+6nKht9bexPf6Y05qGTbQpWsB4d47\/eq+x3uG9Upe0dnPHuliP4T+i5N1tVTY6x15szfQ41FMOBHMgd3uWrUYqXM1NYf5zP8AFU3f35A49e\/ipytNfv0M9PFQk+O9cea9Ub2sMxTWqrcAY4KnLyRnAy0+rcqZcCqkg1XpmX6LjtcBwYd5Y8b8ee8Z6rNpa5OuVljdLntoD2UmeJI4H1Ee1Vtd3oaqcl2ztpJJr5HZUxdL5WV9cbTYcOkwRLUcmeB5ePqX3Ud0qKioZY7U4mqlOJnN\/pt8eXXp4rsWm1U9oom01O3fxe8je895RJRV2JSlVk4QdktX6I0rZpagoWiSdgq6kj0pZhkZ6ArpVFuoqtmxUUkMg\/4mDctlFFybdy+NKEY4UsiQiEmkb3HBtuda6w4G1\/Td+vvHgq9cvUlALjYqmIN2pGN7SPdk7Td+7xGR5r5pqvdcbHBLI7alYNh5xzH7YUpd5YimkuyqOnuea9UdVERVmoIiIAiLFU1EVJSy1MztmOJpc49Ahxuyuyc1TPLcaqn0\/SOIfM4Pndg4a0cM9OfkFR01PFSUsVNC3ZjiaGtHQKUs0Fwdba++08YfcKp2Ymvb+AEE44Zz8AuvY9RU93BgeOxrIx9pEeZHEt7x89VbJO1luMVGpFzxS1lp04ep2URFUbgiIgCIiAIiICX1eOwrbRXcBDUYcemQfgVUKc1zEX2Fsg3GGZrs93EfELvU0onpYpgciRgdnxGVY\/CjNTyrzXGz9DKiIqzSEREAWndKeiqbdMyv2RAGkuc78HUHkVuKRuE0urLmbZSO2KClfmomB+8d43e3HrU4K7KK81GNrXb0XEk6cxQVcP0kTS27ticYIEgBwSB34wv1WmmgqKaOWme18Lm5YW8MLUrbLRVtrFvdEGRMbiPZG+M8iPnepC33Kr0jdH26tzJSk5OOQP4m\/EK2T7VZaoxU4vY5d\/wvfwfsX6lbraqmx1jrzZm+hxqKYcCOZA7vcqeKWOaJssTw9jxlrmnIIXtUxk4s31KaqLnuZFOGf94tOHB\/+VSY8zu+e8Ln0mo47dcLlUU8cjW1TC5kbsYbKcHf0BLvYu3ebfLYql19tRDGg\/xMB3NcCeIWrpyhhvl3qb1PFG1jZB2ULcbjyJHQY8TkrQmsN3oeXKFRVFCOUr\/LqvbidjTNnfQ076ys2nV9V6UpccloznHxP7LuIizNtu7PWpwVOKigiIuEz4QCMEZBUxoguigr6N39CoPPIGd3+lVCmNPBsWqL3ECfSk28cuJPxVkfCzNVyq031X2KdERVmkIuPebvNQV9tpIGtcaubZcSM7LcgfH2LsLrVlchGalJxW4KZ1fM+qfR2SCQNkq5AX9Gg7s9M7\/+lUylbD\/tjUtdeHNBjh+ygIPDlnxx\/wDZThl3uBTtDxJU18XlvKWmp4qSlipoW7McTQ1o6Bcm+6fbcMVdG4U1fEcslb6O10JHvXbRQUmnctnTjOOFrInrFqN9TO63XRgp6+M7O\/cJP39ncqFcm+2KG804IPZVUW+KYcR0PT3LT0\/fZZZ32m6Yjr4Tsgk\/zP396m0pK8SmE5U5KnUeuj9Hz8yiREVZqCLnXa+UVmjBqXkyOGWxM3ud+g6rkNvmoq5va26ysER+66d2CR5kdFNQbVyideEXh1fBZlQimRquqoJGx3q1yUwc7Alj9Jvz4E7vbQ09TDVwtmp5WSxu4OYchccWtSVOtCplF5nK1c3a0xV4GSNg\/wDeFu2Z\/aWSheXFxNOzJPM7IytTVjg3TNYT3NHrcFs2NuzYqEf8hhHmMrvwfMrX+w\/+q82b6IigaQiLlX+8NtFCXN9KplBbAzvd3+WQupNuyIzmoRcpaI0NSXSeaUWO17TqyXHalu7s247+XLy8V17Ta6e0ULaWAZxve88Xu5laGm7M+hidXVpc+4VIzK5xyWgnOPdldxSk0u6iijByfaz1enJfuoU\/q+z\/AFlazPE0GemBeO9zeY+KoFyTqa1NuL6GSpDJGuLMuB2cjcRnlvz6lyF07onXVOUMM3a5MacvklmihjqgXW6cnZkG\/sn8wffjrlXbXNewPY4Oa4ZBByCFI2Ohppa682WePbptsPjac+iMnBHduIWhXVtz0uyazNlbLFK3aglJ9JjSSD4c\/erpRU5ZamGjWlQppzzj5NbunA6Nylfqa\/MtVO\/+CpTt1D2u3P4ZHwHmeSy3Kzz2So+trGzDWjE9KODm94+eq69itMNotrII3CRzvSfIPxk\/DuXSUHOzstDRHZ8cXKfiefThY0rXdKa7Ubaind\/nYTvYe4rdUjc4ZNL3gXWlBNFVO2aiIDc09PeOu7mquGWOeFk0Tw+N4DmuHAhRlG2a0LaNRyvCfiX7c9oiKBeFL2DL9WXp\/ABwb7f2VQpjR57epu9Xymqc8OpP+pWR8LM1XOrTXN+RToiKs0kvccVevLdABup4y9xxz3n4D1qoUxbMVeublUHeIIxG3odw+B9ap1ZPcjNs+eKXFv7ZHM1HW\/QLFVTA4eWbDN2d7t3xyselqH6BYKdjm7L5R2r8jByeHswtDWTjObbbmk5qajeBzHD\/AFKla0NaGtAAAwAOSPKC5nI96vJ8Fb65n1ERVmoLiahsDbrE2opyIq6HfHJw2scj8DyXbRdTad0QqU41I4ZHE0\/fXXAOoq5vY3CDc9hGNvHMD4L7qG+OtrGUlI3tK+o3RMAzs5OMke5a+q7bCaQ3aKYUtXS+k2Ubtvub49y0tIdldK6outXP2tc04aw\/02kcR7R081baNsZidSomqF83v5e5v2fTTaeX6fc5Ppdc\/eS\/eIz07\/H1KgRFU5Nu7NlOnGmrRMc0MVRC+GZgfG8Yc1w3EKUqqWq0jWGuoA+a2POJYCSez+eR8iq9eXNa9hY9oc1wwQRkELsZW6EatJTzWTWjJrVVwgrdJfSKd4fHPI0A+eceO5UFCzsqCnj\/ACRNHqAUDqO1VFmf9Gjl\/wBnVUokaD+BwyMeQPnu7l+htLSwFhBaRuxwwpzSUVYz7PKU6snNWaSXmekRFUbjHUTxUtPJPM4MjjaXOJ5BTFmgk1Ddn3yrYRTxOxSxF24Ec\/nn4L1qKaa73WDT9I\/DDh9W4EbhkbvLj5hUlNTx0tNHTwt2Y42hrR0Cs8MebMj\/AJqlvhj93+PMyoiKs1hRtotNLeaq\/CoZtRPqj2cg4tOX7wfMLv367MtFrln22iZwIhaTvc7w54zkrBpigdbbK11QNiaYmWUuO8Z7z4e9WRvGLZkqqNStGDztdv55GrDb6PSMVVcpp3zbQEcbSMHHJvsHqWvaLCbxBPcr2xz5qsYjbnHZs5Ed3Tp4rxA12r7z9Jka\/wCqqU7LWOP8x3h5jy8VXAADAGAFKUnHqV0qUKjul3FouPP2JKlranSVS2guTnTW95+wqAM7HQj4epVcUsc0TZYnh7HjLXNOQQsdZR09fTPp6mISRvG8H3juKmDR3bSj3SUINdbi4kwfjZu8DjxHqUcp9Sfe2fLWH3Xuioq6WKtpZKadu1HK3ZcFwNJ1MtNLVWKpOZaNxMZHNmf3B\/6l1bVeqK8RbdLJ6YAL43bnN8Vx7sDb9Z2ysacCrBheO\/ly\/wAzfUkU84s7VlG8a0Xy+T\/JUIiKs1mrc6n6Ha6qozgxxOcN+N+N3tXM0bTmDTkLnDBlc5\/twPcvOsqvsLE6BoJkqntjaG8eOT7sea6ttpvoVspqYjBiia13jjf7VZpDqZvFtHRef\/htIiKs0mGGjp6eWWWGFjHznakcBvcevrWZEQ4kloTFb\/F6+ooT92mhLz47z+ip1MUH2+v7hIQS2GANbkcDhv7qnU57lyM+z543xb9giIoGkIi1rhWR2+gmq5T6MTCfE8h5nATU42krsnL1I6+6igscTj9Hg+0qS08eZHuHiVlv9pnoquO92iMNlh\/nRMG57fDw3H9lk0dRubQzXKZv29bIXkn8uf1yfUqNWuWF2W4xU6Pawc5ayz6cDRtN1p7vRNqad2\/g9hO9h7it5SVypZdMXM3ihj2qOUgVELdwbnu5Yzw7j4qnpamGspo6mB+3FIMtKjKKWa0LqNRu8J+JftzMiIoGgk9VRfWl9tlo2y1rgXv2RvwefqaVn0rWzU8k9irjiekP2eT95nyQR0PReLbiv1zcKrGWUjOybu4O4fBy9asopYHwX2jAE1I4dpj8Tc\/I8D0V\/CD\/AFnmZpy2hcfssvyUy0rtcGWu2TVj8Esb6LT+Jx4D1rPR1UVdSRVUBzHK0Obnipu7k37UkFpZk01Ie0qCOBd3cCOG7zKrjG7zNlaphheOr0+Z907ELTY6i91we+ap+1eQAXbOd3ryT5hfaPWX8o3KhkpYpfuTgEsO7w92fJdW\/wAQOna1jBgNgJAA4ADPwWtYqamuOk6SGpibLE5hBaehI8ip3TTk0Z8M4SVKm7WV+rvvOzFNHPE2WF7ZI3jLXNOQQvahLhJc9HSPgopdujqN8RkG12Z59MqisepKS7wNDnthqgPTiJ9o6KMqbSutC2ntMZS7OWUjnTU8cmvQ2tDZWPh2oGuz6JAzw4cjx6L1qGumulc3TtvI2pN9RJyYBvx7s+QXIut6dJqx8tva+WZjDTRYO4u3gnqMk48FT6dsgtFETNh9XMdqWTifDKsfdSbMtN9rKVOGjbu+XD5+R0KChgt1HHS07A1jBjxPMnqthEWfU9NJJWQREQ6cK5aToq2f6TTSPoagDc6EADPeR3+BC80Gm5YbhHWV1xlrHQHMIfvwMEbyd54g8uC76KeOVrFH9PSxYrBFiqKqnpY+0qJo4m973AKZr71UX+f6rse0I3fzqoggBvPC5GLZ2pWjT68N55ONR6vGCX0VtG\/duL8\/EjzDVWrStdrp7TRtp6cZ\/O88XnvK3V2Tvpoco03FNy1ebCIigXhERATFr+z15dI\/zQh27h+D9VTqXl\/hP7QonOHo1dPgHuIH\/r7VUKc93QzbNkpLg37hERQNIUvq57qyrt1mY4tFTKHSYxubnGfefJVCl2g1P9orsjP0Sm3b+GQP\/NWU9b8DNtOcFDi0iliiZDEyKNoaxjQ1rRyA4Be0RVmk8TRRzwvhlYHxvBa5p4EKUo5ZNKXl1DUF5ttU7MDychh+Tv8AIquWjd7VBd6B9LMMHix44sdyKnGVsnoUVqblaUPEtPY3ljmlZTwSTSHDI2lzj0AyuDpi6TF0lmuG6spNwJP32j3492Fl1hWClsEkYcA+oIibk46n2D2pgeLCc7eLpOot3nwNfRMLzbqiukA26uYuyBxA\/clUUsTJonxSNDmPaWuaeYPELWtVELfaqakHGNgDuH3uJ9uVuLkneTZKjDBSUWR9orzpyS42qrcXNpg6anJ\/G3jjz3H1rd0ZSObb5bjOCZ62QvLiN+zn4nJXK192L62kaxm1OI3GQtO\/Y4j\/AFFV1slgmtlNJTfyTE0MHcAMY8lbN92\/EyUF\/M4N5Q0+ftoZaqH6RSTQZx2jHMz3ZGFwdDzF9idC4YdBM5p9h+JVGpfTeKbUV5pANkGTba3uGT\/5BQjnFo0VMq0Jcbr19Du3O3Q3WhfST\/ddvDhxaeRC\/MKmkltNwlpquPaDDsuaHYEg4gg924FfqdZVw0FJJVVD9mKMZcVD1FsuepGVF6LCA0\/w0LhvfGCdw+d+9WUZW10Mm301NrCu96HU0hYomQsu9RsvmlGYgDkMHDPj88VVqF0VeewqXWuf0WSkmL\/hfzHn8OqulCqnizNGxODorB8+oREVRsCIiAIiIDm3GxUN0qoaira9zoRgNDyAee9btPTQUkIhpoWRRjg1gwFlRdu7WIKEU3JLNhERcJhERAEREBMayYad1uujc\/ws4Dsdxwf9PtVKx7ZI2yMcHNcAWkcwta50Edyt01JJwkbgH8p5H1rlaQrHPtz7fOcVFC8xuaeOMnHxHkrNYdDKu5XfCXmvwUCIirNQUxY\/tNYXmXjs4Znz\/ZU6mNO5i1PfIXHBfIH7PeMnf\/3e1TjozNW\/yU+voynREUDSEREBN6ptswMd6oBirpN7gB95v7e7K58le3VN9tUUIPYwt7aZpOMOzvHXgB58lYTyshp5JZfuMYXO8AN6\/PtP1xtVzbcZqZsNFXOdGHDhGM53HuBx6uivhnHmjzNpShUSvlLX5b\/c\/RUXwEEZByCtC+Vwt1mqanaAeGYZvx6R3BUpXdj0ZSUYuT3HDtEDL1qK7VswL4ADTsGcZB3Hd4D2rLpOR1DVVtjneS6B5fFn8TeePYfNb+laL6Dp+naRh8o7V2783D2YXN1K36pvNDfI2HZDuznLe7\/82vUFdfE3EwKLpwjWeur6P2KpS9sc1mt7u97g1rYgSScAD0VTggjIOQV+eRR1WodR1sVK8sp55D20rR\/TB3b+uBu\/dRpq9yzap4XCyu7+h1BJNrK5FjS6K00r8k43yu5fPIeKrYomQxMijaGsY0Na0cgOAWKioqe30rKamjDI2DcO\/qeq2FGUr5LQuo0nBYpZyepP1elYJr5Dc4JexIkD5WAfePHIPIqgRFFyb1Jwpxg24rUIiLhYEREAREQBERAEREAREQBERAFKXdv93tRQ3mNp+i1OWVIaOB7\/AI+R71VrVuNBFcqCWjm+7IMZHFp5H1qUXZ5lNam5xy1Wa6my1wc0OaQQRkEc19XE0zHcaSmloK+I7NM\/Zhl5Pb88PVyXbXGrOxOnPHFStYKY\/wAD\/aD3NrqfwGQP\/T2qnU3rCmdFDTXeBuZ6KVpJ7255+ePWVKGtuJTtKagpr4Xf3+xSIsFHVx11HFVQnLJWhw6dFnUDQmmroIix1E8VLTyTzODI42lzieQQ63bNnB1jXOZQR22AbVRXPDGtB34yPecDzK3ZbFTzafZaXjAZGA1w5PH4vXn1rlWOF99vEmoKlhbEw9nSxk5xjdn2nzJVUrJPDZIyUoqq5VJaPJdPyTulblK6OS0V3o1lGdkA8XMHDxx7sLHrRxlp6G3tJ2qqoA3cTjd\/qCaooZqaaK\/UG6em\/mgfjZ17+49PBak9dDfdTWR8AywMMpHHZcMkg9Rsj2KaV3jRROTjB0Ja5Jc02V7GNjjaxgw1oAA7gtO80LLlaaile4M2m5Dj+EjeD7FsVNXT0cXa1M8cLO97gMqXmrK3V05paEPpra04mlcMGTw9XD1quKbdzVWqRSwWu3uOFNqevltMNqidshrezfID6TxncOm7d1Vppi2G12WKN7S2aX7SUHiCeXkMLLS6ftdH2ZjpGF8TQ0PeMndk58d53rpKU5pq0UU7Ps84Sx1Hd2suQREVRuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALxNFHPC+GVgfG8FrmngQvaINSNimqdG3A084dLaZ3kxv4mM\/r3jnxHcq+KaOeJssL2yRvGWuacgheKqlgrad9PUxNlieMOa753eKn\/wC5pp3P+rrvVUjXnOyCTj1EZVjcZa5MyKNSi7QV4\/dfgoKmqgo4HT1MzIo28XOOFLE1Wsa4AB8FohdvJ3GYj58vFbcWj2SSsfc7lU1+wchryQD45JPdwxwVDFFHDG2OJgYxowGtGAEuo6ahwqVspq0eHHryPkMMVPCyGFgZGwYa1o3ALIiKs16HxzQ5pa4AgjBB5r88uNpmsOo4jTVBpoZyexnPBhO7ZPgT6l+iLRu9siu9ukpJdxO9j8fccOB+eWVZTnhZl2mh2sbrVaHJg0fG+pbUXSunrnt4BziB6859yoYoo4Y2xxRtjY0Ya1owB5Lg6Yusj2vtFf6FbSejhx3vaOfX4jBVCuTcr2ZLZ1Tw4oLX6hERQNAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQE5qi2TAx3qg3VdJ6TgB95o9+PcutabnDdrfHVwnjue38ruYW6pCdjtJX0VMTHfVdYcSNaMiN3Hh03kdM9ysXeVt5kn\/AAz7ReF6+\/uV6Lyx7ZI2yMcHNcAWkcwvSrNYREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBYKyjgr6WSmqGB8cgwR8R1WdEONJqzJW1y1enbtHZarampKhx+iy93T9Ry481VLHJ9+L\/N8CsilJ3zK6VPs043y3cgiIoloREQBERAEREAREQBERAEREAREQBERAf\/2Q==",
    "razonSocial": "TRANSMAT SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "RAUL VARGAS",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28571\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:06",
    "ubicacionGPS": "LatLng(lat: -23.7524078, lng: -70.3060064)",
    "horaLlegada": "08:01",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 05/05/2026 11:06:50
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-JMLs6CQDjhEWSS9fMycGhFlmxupP._ii6qXnVJslxOdBlpO_zNL
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76270521",
    "serieinterna": "KY2466",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "267095",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•se entrega toner kyocera",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12452",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADZARkDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABFEAABAwMBBQQGCAMFCAMAAAABAAIDBAURBhIhMUFhE1FxgSKRobHB8BQVIzJCUtHhJDNDBxY0csIlJmJjgqLS4kSy8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADQRAAIBAgMFBgYBBAMAAAAAAAABAgMREiExBEFRYXETIjKxwdFCgZGh4fAjFCQzNFJy8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAWldhWG1z\/QCBU7PoHPDw6rdRdWTOSV00Rtp1u7tDDd49j0tntWNxs\/5h+ir4pY5o2yRSNkY4Za5pyD5qU1Tpwue+7UTNt\/GeA5IeO8fPUb1z7ZdpbLGKujD6i0yO+0hJy6nceWfceB6FXOEZK8TzYV6lGWCtmuPIvkWCjraevpm1NLIJI38CPce5Z1QekmmroIiIdCIiAIiIAsNTVQUdO6eplbFEzi5y8V9fT22kfVVT9iNvrce4d5U1TUVZq2cVty2oLc0\/Y07Tjb6\/v6lOMb5vQoq1cLwQV5P9uzL\/AHjut3nMdjoPsRkGom4ePcO\/G9fXDWFG0VD5aasa0gugjA2iM78eiPBUsUMcETYoWNjjYMNa0YAC9ruNbkQVCTV5Td+WS+hzbJeYL1R9tGNmRh2ZGZ+6f0K6Sk5Wu0\/rGOVgxSXM7LhyDyf1IPgSqxcmks1oToTlJOMtVk\/cIiKBeEREAREQBERAERfHODWlziAAMknkgPq16qupKFm3VVEcI5bbgM+Hep+t1LU3CpNBp+Htn\/jqCPRaO8fqVkotHwbZnu1RJXTv3u2nEN\/U\/O5WYEvEZXXlN2pK\/Pd+Tbdq2xMdg14z0jefcFtUt8tda8R09bE57jhrSdkuPTPFfRZbUBj6spN3\/Ib+i1KvSdmq24+iiF35oTsn9PYnc5nf7hcH9UdlFJvnuek5mCplfX2x7t7yPTjJ+e\/B6KohmjqIWTRPD43jLXDmoyjbMnTqqbaas1uMiIiiXBeXOaxpc9wa0cSTgBeljniE9PJCXFokYW5HEZGEOPTI80tXT1sAnppWyxkkBzSpq9Wie01T7vaow+Jw\/iqUjLXN5nHd7uK4NsqLjpy51Oywvigfs1MWeLc4DvaMHqv0KirIK+kjqqZ+3HIMg\/Aq5p03daGGE47VHDLKS\/bojaWd1pZ9c2YOmt0p\/iaVzt8J+eBVfb7jS3SmFRSSh7DxHNp7iO9TVyt82m7g662+LtaKXdU0+dwB4+Xu8F5lo\/obW3\/TLtqJwzNTcQRz3dO7lyXZJSz\/AH5ldKc6LcWtNV6rly3Fii0LRd6a80YqKc4cN0kZO9h7v3W+qWmnZnoxkpLFHQIiLhILSut1prRRuqKh3RjBxee4LDe73T2Wk7WX05Xbo4gd7j8B1XKtdmqrrVi73wbRO+CmP3WDlkfD1qcY5XehnqVXi7OnnLy6mKitddqOrbcryDHSA7UFLncR+ntPgqxrQ1oa0AADAA5L6i5KVydKkqa4t6sIiKJaT2tomv0+6Q5DoZWuYRyOcfFdujldPRQTO+9JG1x3Y3kZXG1o4DTsjeb5GNA7znPwXXt7di20rc52YWDPkFN+BGaP+xLovU2ERFA0hERAEREAREQHiWWOGJ0srwxjBlznHAAUlLVV2r6x9LRvfTWuM4klxvk+e7zPIL3c6mfU11dZaJ+zRQkGpmbv2scvXw6jPJU9JSQUNMympoxHEwYACt8CvvMbvtErLwrXny6HihoKa20zaeliEbG+snvJ5rZRFVqa0klZBERDpjmhiqIXwzMD43jDmuG4hS9nkk09fn2Sd21TVB26Z5PAnl54x4jqqxT+sLeam1isiOzPRHtGuG445\/A+Ssg\/he8zbRFpdpHWPlvRQItO1VouNqpqsEZlYC7HJ3A+0Fbig1bI0Rakk0ERFw6S2qoRb66kvUce0AexnaeDmkbs7ju4g+S1oJRpe6skikMlmuGHNfxEZ+fWPBVlZSxV1JLSzjMcrS12OKkKhjrSx1juw2rZPkU9SBvjOSRnwyr4O6sebXpunPGsufB8+TLMhr2YIDmuHiCFK1dJU6Vq3XC3sMtvkP8AEU\/5N\/EfPis2l7jLDK+x1zszQD7B3J7OWD4bx08FSuaHNLXAEEYIPNQzg7Gi0dogpLJr7MkKmkcD\/eLTMgIcD20AH3u\/0fh5hd2yXunvNNtsBjmZukidxaeneFxK2iqtK1rrlbWmSgkP29Pn7vX9Dy8F6raIVzWai07JioG+SNv4+8Efm7xz982lJevuZ4SnTk7LPevVexWLmXu909lpO1l9OV26OIHe4\/AdVowaxoHWh9XN6FRH6LqfPpF3Tp15LBZbRPcq4328MzI\/BghPBg5HHu9fFQULZyL5V8do0c2\/shZLJUV1X9dXr053b4YXDcwciRy6Dz4qoXI1Fd32qiYIADUzu2Ig7hnmfndlc6LSlZWMEl3u1RJI7OY43bm54jfu9i6+9m3Y5F9k+zpxu9\/5ZUIpj+41FH\/h66riPM7TfgAn1DqCj9KivzpscGTg48N+1yUcMdzJ9rVXih9Gn7FOiiarVV8tMpgrYaN8nLZdk+Yad3mAtSTV9xujm0ZlgoWSnZdK0Oz4Z3keICkqUip7dSWWd+B1LxM3UOoKazwOD6end2lQ4cN3Ee3HiVWrl2C1UVsoB9DkEwlw504\/qd3kuooya0W4uoQkrzlq\/wBSCIigaAiIgCIiALg6quklJRtoaUF1XW5jYG8QOBPtwP2XaqJ46anknlcGsjaXOJOFM6cp5LtdqjUNVHhjyW0rXchwz5AY8ypwXxPcZq8m7U46v7Lezs2S0x2a3MpmYdJxkkAxtn53Looii3d3ZfGKhFRjogiIuEgiIgC8vY2SN0b2hzXAhwPML0iAmdIPfSSV9nlcS6llJZnm08wPIH\/qVMpesAt+u6SdvoMrYix+77x4fBqqFOet+Jm2bKLh\/wAXb2CIigaQtetoqe4Ur6apjD43jeO7qOq2EQ40mrM\/NLxSVdhrY43SOJi9KkqBx2fynw7vgVcWG9RXugEzRsSsw2VncenQrPc7ZTXajdTVLMtO9rhxYe8KBMVy0deGSubtRuJAcPuys5jofctGVSNt55bUtkqYlnB\/Y\/SXNDmlrgCCMEHmoy60j9JVzLnbZGinmdsyUznYz4dPd4KlF6oDavrPtwKfGc88\/lx39FwLTQz6iubr1c4z9Gaf4aB3DHI+HvKhC6u3oaNoaqYYw8WqfDn+6nKht9bexPf6Y05qGTbQpWsB4d47\/eq+x3uG9Upe0dnPHuliP4T+i5N1tVTY6x15szfQ41FMOBHMgd3uWrUYqXM1NYf5zP8AFU3f35A49e\/ipytNfv0M9PFQk+O9cea9Ub2sMxTWqrcAY4KnLyRnAy0+rcqZcCqkg1XpmX6LjtcBwYd5Y8b8ee8Z6rNpa5OuVljdLntoD2UmeJI4H1Ee1Vtd3oaqcl2ztpJJr5HZUxdL5WV9cbTYcOkwRLUcmeB5ePqX3Ud0qKioZY7U4mqlOJnN\/pt8eXXp4rsWm1U9oom01O3fxe8je895RJRV2JSlVk4QdktX6I0rZpagoWiSdgq6kj0pZhkZ6ArpVFuoqtmxUUkMg\/4mDctlFFybdy+NKEY4UsiQiEmkb3HBtuda6w4G1\/Td+vvHgq9cvUlALjYqmIN2pGN7SPdk7Td+7xGR5r5pqvdcbHBLI7alYNh5xzH7YUpd5YimkuyqOnuea9UdVERVmoIiIAiLFU1EVJSy1MztmOJpc49Ahxuyuyc1TPLcaqn0\/SOIfM4Pndg4a0cM9OfkFR01PFSUsVNC3ZjiaGtHQKUs0Fwdba++08YfcKp2Ymvb+AEE44Zz8AuvY9RU93BgeOxrIx9pEeZHEt7x89VbJO1luMVGpFzxS1lp04ep2URFUbgiIgCIiAIiICX1eOwrbRXcBDUYcemQfgVUKc1zEX2Fsg3GGZrs93EfELvU0onpYpgciRgdnxGVY\/CjNTyrzXGz9DKiIqzSEREAWndKeiqbdMyv2RAGkuc78HUHkVuKRuE0urLmbZSO2KClfmomB+8d43e3HrU4K7KK81GNrXb0XEk6cxQVcP0kTS27ticYIEgBwSB34wv1WmmgqKaOWme18Lm5YW8MLUrbLRVtrFvdEGRMbiPZG+M8iPnepC33Kr0jdH26tzJSk5OOQP4m\/EK2T7VZaoxU4vY5d\/wvfwfsX6lbraqmx1jrzZm+hxqKYcCOZA7vcqeKWOaJssTw9jxlrmnIIXtUxk4s31KaqLnuZFOGf94tOHB\/+VSY8zu+e8Ln0mo47dcLlUU8cjW1TC5kbsYbKcHf0BLvYu3ebfLYql19tRDGg\/xMB3NcCeIWrpyhhvl3qb1PFG1jZB2ULcbjyJHQY8TkrQmsN3oeXKFRVFCOUr\/LqvbidjTNnfQ076ys2nV9V6UpccloznHxP7LuIizNtu7PWpwVOKigiIuEz4QCMEZBUxoguigr6N39CoPPIGd3+lVCmNPBsWqL3ECfSk28cuJPxVkfCzNVyq031X2KdERVmkIuPebvNQV9tpIGtcaubZcSM7LcgfH2LsLrVlchGalJxW4KZ1fM+qfR2SCQNkq5AX9Gg7s9M7\/+lUylbD\/tjUtdeHNBjh+ygIPDlnxx\/wDZThl3uBTtDxJU18XlvKWmp4qSlipoW7McTQ1o6Bcm+6fbcMVdG4U1fEcslb6O10JHvXbRQUmnctnTjOOFrInrFqN9TO63XRgp6+M7O\/cJP39ncqFcm+2KG804IPZVUW+KYcR0PT3LT0\/fZZZ32m6Yjr4Tsgk\/zP396m0pK8SmE5U5KnUeuj9Hz8yiREVZqCLnXa+UVmjBqXkyOGWxM3ud+g6rkNvmoq5va26ysER+66d2CR5kdFNQbVyideEXh1fBZlQimRquqoJGx3q1yUwc7Alj9Jvz4E7vbQ09TDVwtmp5WSxu4OYchccWtSVOtCplF5nK1c3a0xV4GSNg\/wDeFu2Z\/aWSheXFxNOzJPM7IytTVjg3TNYT3NHrcFs2NuzYqEf8hhHmMrvwfMrX+w\/+q82b6IigaQiLlX+8NtFCXN9KplBbAzvd3+WQupNuyIzmoRcpaI0NSXSeaUWO17TqyXHalu7s247+XLy8V17Ta6e0ULaWAZxve88Xu5laGm7M+hidXVpc+4VIzK5xyWgnOPdldxSk0u6iijByfaz1enJfuoU\/q+z\/AFlazPE0GemBeO9zeY+KoFyTqa1NuL6GSpDJGuLMuB2cjcRnlvz6lyF07onXVOUMM3a5MacvklmihjqgXW6cnZkG\/sn8wffjrlXbXNewPY4Oa4ZBByCFI2Ohppa682WePbptsPjac+iMnBHduIWhXVtz0uyazNlbLFK3aglJ9JjSSD4c\/erpRU5ZamGjWlQppzzj5NbunA6Nylfqa\/MtVO\/+CpTt1D2u3P4ZHwHmeSy3Kzz2So+trGzDWjE9KODm94+eq69itMNotrII3CRzvSfIPxk\/DuXSUHOzstDRHZ8cXKfiefThY0rXdKa7Ubaind\/nYTvYe4rdUjc4ZNL3gXWlBNFVO2aiIDc09PeOu7mquGWOeFk0Tw+N4DmuHAhRlG2a0LaNRyvCfiX7c9oiKBeFL2DL9WXp\/ABwb7f2VQpjR57epu9Xymqc8OpP+pWR8LM1XOrTXN+RToiKs0kvccVevLdABup4y9xxz3n4D1qoUxbMVeublUHeIIxG3odw+B9ap1ZPcjNs+eKXFv7ZHM1HW\/QLFVTA4eWbDN2d7t3xyselqH6BYKdjm7L5R2r8jByeHswtDWTjObbbmk5qajeBzHD\/AFKla0NaGtAAAwAOSPKC5nI96vJ8Fb65n1ERVmoLiahsDbrE2opyIq6HfHJw2scj8DyXbRdTad0QqU41I4ZHE0\/fXXAOoq5vY3CDc9hGNvHMD4L7qG+OtrGUlI3tK+o3RMAzs5OMke5a+q7bCaQ3aKYUtXS+k2Ubtvub49y0tIdldK6outXP2tc04aw\/02kcR7R081baNsZidSomqF83v5e5v2fTTaeX6fc5Ppdc\/eS\/eIz07\/H1KgRFU5Nu7NlOnGmrRMc0MVRC+GZgfG8Yc1w3EKUqqWq0jWGuoA+a2POJYCSez+eR8iq9eXNa9hY9oc1wwQRkELsZW6EatJTzWTWjJrVVwgrdJfSKd4fHPI0A+eceO5UFCzsqCnj\/ACRNHqAUDqO1VFmf9Gjl\/wBnVUokaD+BwyMeQPnu7l+htLSwFhBaRuxwwpzSUVYz7PKU6snNWaSXmekRFUbjHUTxUtPJPM4MjjaXOJ5BTFmgk1Ddn3yrYRTxOxSxF24Ec\/nn4L1qKaa73WDT9I\/DDh9W4EbhkbvLj5hUlNTx0tNHTwt2Y42hrR0Cs8MebMj\/AJqlvhj93+PMyoiKs1hRtotNLeaq\/CoZtRPqj2cg4tOX7wfMLv367MtFrln22iZwIhaTvc7w54zkrBpigdbbK11QNiaYmWUuO8Z7z4e9WRvGLZkqqNStGDztdv55GrDb6PSMVVcpp3zbQEcbSMHHJvsHqWvaLCbxBPcr2xz5qsYjbnHZs5Ed3Tp4rxA12r7z9Jka\/wCqqU7LWOP8x3h5jy8VXAADAGAFKUnHqV0qUKjul3FouPP2JKlranSVS2guTnTW95+wqAM7HQj4epVcUsc0TZYnh7HjLXNOQQsdZR09fTPp6mISRvG8H3juKmDR3bSj3SUINdbi4kwfjZu8DjxHqUcp9Sfe2fLWH3Xuioq6WKtpZKadu1HK3ZcFwNJ1MtNLVWKpOZaNxMZHNmf3B\/6l1bVeqK8RbdLJ6YAL43bnN8Vx7sDb9Z2ysacCrBheO\/ly\/wAzfUkU84s7VlG8a0Xy+T\/JUIiKs1mrc6n6Ha6qozgxxOcN+N+N3tXM0bTmDTkLnDBlc5\/twPcvOsqvsLE6BoJkqntjaG8eOT7sea6ttpvoVspqYjBiia13jjf7VZpDqZvFtHRef\/htIiKs0mGGjp6eWWWGFjHznakcBvcevrWZEQ4kloTFb\/F6+ooT92mhLz47z+ip1MUH2+v7hIQS2GANbkcDhv7qnU57lyM+z543xb9giIoGkIi1rhWR2+gmq5T6MTCfE8h5nATU42krsnL1I6+6igscTj9Hg+0qS08eZHuHiVlv9pnoquO92iMNlh\/nRMG57fDw3H9lk0dRubQzXKZv29bIXkn8uf1yfUqNWuWF2W4xU6Pawc5ayz6cDRtN1p7vRNqad2\/g9hO9h7it5SVypZdMXM3ihj2qOUgVELdwbnu5Yzw7j4qnpamGspo6mB+3FIMtKjKKWa0LqNRu8J+JftzMiIoGgk9VRfWl9tlo2y1rgXv2RvwefqaVn0rWzU8k9irjiekP2eT95nyQR0PReLbiv1zcKrGWUjOybu4O4fBy9asopYHwX2jAE1I4dpj8Tc\/I8D0V\/CD\/AFnmZpy2hcfssvyUy0rtcGWu2TVj8Esb6LT+Jx4D1rPR1UVdSRVUBzHK0Obnipu7k37UkFpZk01Ie0qCOBd3cCOG7zKrjG7zNlaphheOr0+Z907ELTY6i91we+ap+1eQAXbOd3ryT5hfaPWX8o3KhkpYpfuTgEsO7w92fJdW\/wAQOna1jBgNgJAA4ADPwWtYqamuOk6SGpibLE5hBaehI8ip3TTk0Z8M4SVKm7WV+rvvOzFNHPE2WF7ZI3jLXNOQQvahLhJc9HSPgopdujqN8RkG12Z59MqisepKS7wNDnthqgPTiJ9o6KMqbSutC2ntMZS7OWUjnTU8cmvQ2tDZWPh2oGuz6JAzw4cjx6L1qGumulc3TtvI2pN9RJyYBvx7s+QXIut6dJqx8tva+WZjDTRYO4u3gnqMk48FT6dsgtFETNh9XMdqWTifDKsfdSbMtN9rKVOGjbu+XD5+R0KChgt1HHS07A1jBjxPMnqthEWfU9NJJWQREQ6cK5aToq2f6TTSPoagDc6EADPeR3+BC80Gm5YbhHWV1xlrHQHMIfvwMEbyd54g8uC76KeOVrFH9PSxYrBFiqKqnpY+0qJo4m973AKZr71UX+f6rse0I3fzqoggBvPC5GLZ2pWjT68N55ONR6vGCX0VtG\/duL8\/EjzDVWrStdrp7TRtp6cZ\/O88XnvK3V2Tvpoco03FNy1ebCIigXhERATFr+z15dI\/zQh27h+D9VTqXl\/hP7QonOHo1dPgHuIH\/r7VUKc93QzbNkpLg37hERQNIUvq57qyrt1mY4tFTKHSYxubnGfefJVCl2g1P9orsjP0Sm3b+GQP\/NWU9b8DNtOcFDi0iliiZDEyKNoaxjQ1rRyA4Be0RVmk8TRRzwvhlYHxvBa5p4EKUo5ZNKXl1DUF5ttU7MDychh+Tv8AIquWjd7VBd6B9LMMHix44sdyKnGVsnoUVqblaUPEtPY3ljmlZTwSTSHDI2lzj0AyuDpi6TF0lmuG6spNwJP32j3492Fl1hWClsEkYcA+oIibk46n2D2pgeLCc7eLpOot3nwNfRMLzbqiukA26uYuyBxA\/clUUsTJonxSNDmPaWuaeYPELWtVELfaqakHGNgDuH3uJ9uVuLkneTZKjDBSUWR9orzpyS42qrcXNpg6anJ\/G3jjz3H1rd0ZSObb5bjOCZ62QvLiN+zn4nJXK192L62kaxm1OI3GQtO\/Y4j\/AFFV1slgmtlNJTfyTE0MHcAMY8lbN92\/EyUF\/M4N5Q0+ftoZaqH6RSTQZx2jHMz3ZGFwdDzF9idC4YdBM5p9h+JVGpfTeKbUV5pANkGTba3uGT\/5BQjnFo0VMq0Jcbr19Du3O3Q3WhfST\/ddvDhxaeRC\/MKmkltNwlpquPaDDsuaHYEg4gg924FfqdZVw0FJJVVD9mKMZcVD1FsuepGVF6LCA0\/w0LhvfGCdw+d+9WUZW10Mm301NrCu96HU0hYomQsu9RsvmlGYgDkMHDPj88VVqF0VeewqXWuf0WSkmL\/hfzHn8OqulCqnizNGxODorB8+oREVRsCIiAIiIDm3GxUN0qoaira9zoRgNDyAee9btPTQUkIhpoWRRjg1gwFlRdu7WIKEU3JLNhERcJhERAEREBMayYad1uujc\/ws4Dsdxwf9PtVKx7ZI2yMcHNcAWkcwta50Edyt01JJwkbgH8p5H1rlaQrHPtz7fOcVFC8xuaeOMnHxHkrNYdDKu5XfCXmvwUCIirNQUxY\/tNYXmXjs4Znz\/ZU6mNO5i1PfIXHBfIH7PeMnf\/3e1TjozNW\/yU+voynREUDSEREBN6ptswMd6oBirpN7gB95v7e7K58le3VN9tUUIPYwt7aZpOMOzvHXgB58lYTyshp5JZfuMYXO8AN6\/PtP1xtVzbcZqZsNFXOdGHDhGM53HuBx6uivhnHmjzNpShUSvlLX5b\/c\/RUXwEEZByCtC+Vwt1mqanaAeGYZvx6R3BUpXdj0ZSUYuT3HDtEDL1qK7VswL4ADTsGcZB3Hd4D2rLpOR1DVVtjneS6B5fFn8TeePYfNb+laL6Dp+naRh8o7V2783D2YXN1K36pvNDfI2HZDuznLe7\/82vUFdfE3EwKLpwjWeur6P2KpS9sc1mt7u97g1rYgSScAD0VTggjIOQV+eRR1WodR1sVK8sp55D20rR\/TB3b+uBu\/dRpq9yzap4XCyu7+h1BJNrK5FjS6K00r8k43yu5fPIeKrYomQxMijaGsY0Na0cgOAWKioqe30rKamjDI2DcO\/qeq2FGUr5LQuo0nBYpZyepP1elYJr5Dc4JexIkD5WAfePHIPIqgRFFyb1Jwpxg24rUIiLhYEREAREQBERAEREAREQBERAFKXdv93tRQ3mNp+i1OWVIaOB7\/AI+R71VrVuNBFcqCWjm+7IMZHFp5H1qUXZ5lNam5xy1Wa6my1wc0OaQQRkEc19XE0zHcaSmloK+I7NM\/Zhl5Pb88PVyXbXGrOxOnPHFStYKY\/wAD\/aD3NrqfwGQP\/T2qnU3rCmdFDTXeBuZ6KVpJ7255+ePWVKGtuJTtKagpr4Xf3+xSIsFHVx11HFVQnLJWhw6dFnUDQmmroIix1E8VLTyTzODI42lzieQQ63bNnB1jXOZQR22AbVRXPDGtB34yPecDzK3ZbFTzafZaXjAZGA1w5PH4vXn1rlWOF99vEmoKlhbEw9nSxk5xjdn2nzJVUrJPDZIyUoqq5VJaPJdPyTulblK6OS0V3o1lGdkA8XMHDxx7sLHrRxlp6G3tJ2qqoA3cTjd\/qCaooZqaaK\/UG6em\/mgfjZ17+49PBak9dDfdTWR8AywMMpHHZcMkg9Rsj2KaV3jRROTjB0Ja5Jc02V7GNjjaxgw1oAA7gtO80LLlaaile4M2m5Dj+EjeD7FsVNXT0cXa1M8cLO97gMqXmrK3V05paEPpra04mlcMGTw9XD1quKbdzVWqRSwWu3uOFNqevltMNqidshrezfID6TxncOm7d1Vppi2G12WKN7S2aX7SUHiCeXkMLLS6ftdH2ZjpGF8TQ0PeMndk58d53rpKU5pq0UU7Ps84Sx1Hd2suQREVRuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALxNFHPC+GVgfG8FrmngQvaINSNimqdG3A084dLaZ3kxv4mM\/r3jnxHcq+KaOeJssL2yRvGWuacgheKqlgrad9PUxNlieMOa753eKn\/wC5pp3P+rrvVUjXnOyCTj1EZVjcZa5MyKNSi7QV4\/dfgoKmqgo4HT1MzIo28XOOFLE1Wsa4AB8FohdvJ3GYj58vFbcWj2SSsfc7lU1+wchryQD45JPdwxwVDFFHDG2OJgYxowGtGAEuo6ahwqVspq0eHHryPkMMVPCyGFgZGwYa1o3ALIiKs16HxzQ5pa4AgjBB5r88uNpmsOo4jTVBpoZyexnPBhO7ZPgT6l+iLRu9siu9ukpJdxO9j8fccOB+eWVZTnhZl2mh2sbrVaHJg0fG+pbUXSunrnt4BziB6859yoYoo4Y2xxRtjY0Ya1owB5Lg6Yusj2vtFf6FbSejhx3vaOfX4jBVCuTcr2ZLZ1Tw4oLX6hERQNAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQE5qi2TAx3qg3VdJ6TgB95o9+PcutabnDdrfHVwnjue38ruYW6pCdjtJX0VMTHfVdYcSNaMiN3Hh03kdM9ysXeVt5kn\/AAz7ReF6+\/uV6Lyx7ZI2yMcHNcAWkcwvSrNYREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBYKyjgr6WSmqGB8cgwR8R1WdEONJqzJW1y1enbtHZarampKhx+iy93T9Ry481VLHJ9+L\/N8CsilJ3zK6VPs043y3cgiIoloREQBERAEREAREQBERAEREAREQBERAf\/2Q==",
    "razonSocial": "TRANSMAT SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "RAUL VARGAS",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28571\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:06",
    "ubicacionGPS": "LatLng(lat: -23.7524078, lng: -70.3060064)",
    "horaLlegada": "08:01",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


05/05/2026 11:06:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76270521

[05/05/2026 11:06: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('76270521', 'KY2466', 1, 24456550, 267095, NOW(), 
				'08:00', '08:01', '11:06', 10, '•se entrega toner kyocera', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777993610.png', '', null, 'COMPLETADO','LatLng(lat: -23.7524078, lng: -70.3060064)' )
				
[05/05/2026 11:06:50] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200175
[05/05/2026 11:06:50] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200175', 'KYO-I647', 1)
				
[05/05/2026 11:06:50] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28571 and
				    IDproducto = 'KYO-I647'
				

05/05/2026 11:06:50 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
05/05/2026 11:06:50 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200175'                    
				WHERE idllamado = 12452			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


05/05/2026 11:06:50 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12452			
				
05/05/2026 11:06:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


05/05/2026 11: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 = 12452
                
05/05/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 = 12452
                
05/05/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 = 12452
                
05/05/2026 11:06:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12452
            GROUP BY l.idllamado;
            
05/05/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 = 12452
                
05/05/2026 11:06:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12452
                
05/05/2026 11:06:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12452
                
05/05/2026 11:06:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12452
            GROUP BY l.idllamado;
            [05/05/2026 11:06:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 11:06:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 11:06:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12452
            GROUP BY l.idllamado;
            
05/05/2026 11:06:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12452
                
05/05/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 = 12452
                
05/05/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 = 12452
                
05/05/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 = 12452
                [05/05/2026 11:08:10] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[05/05/2026 11:08:10] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 11:08: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;
                
[05/05/2026 11:22:38] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 11:22:39] 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;
                
[05/05/2026 11:22:41] 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;
                
[05/05/2026 11:22:44] 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;
                

05/05/2026 11:22:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            [05/05/2026 11:23:04] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 11:23:05] 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;
                

05/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            
05/05/2026 11:23:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            [05/05/2026 11:23:13] 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;
                
[05/05/2026 11:23: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;
                
[05/05/2026 11:27:26] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 11:27:26] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 7373114 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '7373114'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[05/05/2026 11:27:28] 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;
                
[05/05/2026 11:45: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 11:45:03] 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;
                
[05/05/2026 11:45:07] 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;
                

05/05/2026 11:45:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            [05/05/2026 11:45:10] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

05/05/2026 11:45:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:45:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:45:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:45:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            
05/05/2026 11:45:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:45:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            
05/05/2026 11:45:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:45:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:45:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:45:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            
05/05/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 = 12451
                
05/05/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 = 12451
                
05/05/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 = 12451
                
05/05/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 = 12451
                
05/05/2026 11:45:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            
05/05/2026 11:45:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:45:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:45:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:45:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:45:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            
05/05/2026 11:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:45:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            
05/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                [05/05/2026 11:48: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;
                
[05/05/2026 11:48: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;
                

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

05/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12234
            GROUP BY l.idllamado;
            
05/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12234
            GROUP BY l.idllamado;
            
05/05/2026 11:48:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12234
            GROUP BY l.idllamado;
            
05/05/2026 11:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                [05/05/2026 11:48: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;
                

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

05/05/2026 11:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12234
            GROUP BY l.idllamado;
            
05/05/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 = 12234
                
05/05/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 = 12234
                
05/05/2026 11:48:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12234
            GROUP BY l.idllamado;
            
05/05/2026 11:48:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:48:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:48:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:48:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:48:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:48:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:48:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12234
            GROUP BY l.idllamado;
            
05/05/2026 11:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:48:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12234
            GROUP BY l.idllamado;
            
05/05/2026 11:49:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:49:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:49:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12234
            GROUP BY l.idllamado;
            
05/05/2026 11:49:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:49:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12234
            GROUP BY l.idllamado;
            
05/05/2026 11: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 = 12234
                
05/05/2026 11: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 = 12234
                
05/05/2026 11:49:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12234
            GROUP BY l.idllamado;
            
05/05/2026 11: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 = 12234
                
05/05/2026 11: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 = 12234
                
05/05/2026 11: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 = 12234
                
05/05/2026 11: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 = 12234
                
05/05/2026 11:49:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12448
            GROUP BY l.idllamado;
            
05/05/2026 11:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:49:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12448
            GROUP BY l.idllamado;
            [05/05/2026 11:49: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;
                

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

05/05/2026 11:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:50:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:50:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            
05/05/2026 11:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:50:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            
05/05/2026 11:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:50:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            
05/05/2026 11:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:50:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:50:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11: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 = 12451
                
05/05/2026 11: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 = 12451
                
05/05/2026 11: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 = 12451
                
05/05/2026 11: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 = 12451
                
05/05/2026 11:51:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            
05/05/2026 11:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 11:51:07 - logentry: =========================================
FECHA: 05/05/2026 11:51:07
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-wL7j7B2tAujTsCH9gGz34z6D3Cr_WZ+SzW98HZjNmJ+CwCaoJCd
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76464003",
    "serieinterna": "KY2376",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega de toner en  2do piso",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12451",
    "observacion": "entrega de toner",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACJARkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA\/EAABAwMCAwYFAgQEBAcAAAABAgMEAAURBiESMVETQWFxgZEUIjKhscHRFSNC4TNDUvBEkrLxFiQlNGOC0v\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwEEBf\/EADARAAIBAwIEBAQHAQEAAAAAAAABAgMRIRIxBEFRYRMiMtFxgZGhIzNCscHw8RTh\/9oADAMBAAIRAxEAPwD9mpSlAClKUAKUrlIksxGVPSHUNNp5qWcCgxu2Wda+BQUMpII6isfNus\/U75g2VK24ySO1kKJT\/wBh4czWltdvTa7e3ES6t0Nj6ln\/AHgeFPKOlZ3I063iSelY6kylKUhcUpSgBSlKAFKUoAUpSgBSlKAFKUoAUpSgBSlKAFKUoAUpSgBSlcJcyNBZL0p9DKB3qOM+XWgxtJXZV6pu0qz25t+KlsqW7wErGcbE7b+FV41oqIvsbpblsvDGezWD7jmPvVfqG6yb\/DdEKIoW+Me0U+4nBURtt7nx64q503YrciBHuBb7eQ8gLU46eLCjzx6+tX0xjHzI83xKtWs1Slj7GhBBGQcg19pSoHpilKgXqG9PtT8eO5wOKT8vQ+FatxZNqLaVxMvdst6imVNaQoc0A8Sh6Deq1\/W1pbyGg++rohHj41XaVgWZ4ux5MIfHsnDjcg8XLvA5edaxqJGYOWY7TZ6oQB+Ko1GLszlhOtVjqTSX19jNP6hvklpSotrEJpIPG\/KzhI674\/WqOBbLtqmV2kmS4uMhWFPLJ4fJI6+nnV1dHXdT3j+ERXOGFHIVIdSdlctv28cnurURozUOM3HYQENtp4UpFNq0LCyQVF15+aTcV937HiDBjW6KmNFbCG0+5PUnvNSKUqG56SSSshSlKDRSlKAFKUoAUqFLvNtgqKZM1ltaeaOLKh6Deqh7W9v4uziR5Epw8glGAf1+1MoSeyIzr0oeqRpKVljddVTjiJaURUH+p47j3x+K+myallnil33sc9zGRj24abRbdk\/+i\/oi39v3NOVBIyogDqaiPXa3Rzh6dHQc4wXBn2qkGiI7p4ptxlyFdeID85qWzo+yMjeKXTjGVuK\/Q4rLQXM3XXe0Uvi\/Y9u6tsbX\/GhRzj5EKP6VwOtrKDgOunxDZqybslqa3RbowPUtAn712TBhpGExGAOgbFF4dAtxD5r6P3KhOtbIrOXnE+bR\/SuzerbG4QBOwT1bWMeZxirFVvhLxxQ2FY6tJP6VwcsdpdBC7bF3OSQ0AfcUeTuFuIXNfR+52jXGFMA+Glsuk9yFgn2qTWfk6KtD2Syh2MruLbhOD65qGtV90zha3f4hbkn5ivdbac9efLHUVulP0szxqkPzI46rJrKVHhTWbhEblR1EtuDIyMEeBqRUzpTTV0K+KUEpKlEAAZJPdUK63iHZ4\/aynME\/Q2n6l+Q\/Ws8I941YoLklUC25ylsfUsfr5nbwp1G+XsRqVlF6Yq8unv0Jc\/VgW98FZGTOlK24gPkT4+P48a8RdLvz3hM1BJVId\/pYScJR4bfp96vYFuiWyOGIjIbT3nvUepPfUqt12xERUHN3rO\/bl\/78yvucVsWCXGYbCECOsISkYA2OKiaQdDmmovVHEk\/8x\/SrlxAcbUg8lAis5oVZNldaV9TchQI9B\/ehZgwl5a8e6a\/Y0tKUqZ1ClKUAZrU9qcQtN8t6eGZGIUvA+tI7z5D7V5uepkPWBpcFQMuYQ2lsHdBP1ft6itKopCCVkBIG+eWKxWlLazMvkq5NN4hsOKEdJ\/1Hlt4J\/Iq0WmrvkefWjKFTTT\/Xv7mlsNqRaLY2wEgOqHE6R3qPd5Dl6VZUpUm7u7O6EVCKitkKUpWDCvhUEjKiAOpqOi4w3JqoSJLapCBlTYO4rP3Vx3UV1VZorxRGjnMpaTjJ6eODnblmmUbvJGpVUVdZe3zLuDeYFxdcaiyEuKQdwDz8R4b1OrKXxq32lMcwpjEKXGA4EFPEVjfngHGd9+\/O9TtPakF5YcDrPZvsp4nOH6T5ZOaZwxqWxOFfz+HN+bsSrzfYtmZBdy48v6GUH5lePgPGqZEDUGoE9rNlG3xVg8LLYPER4j9\/avemmReJ0m+yglaw52ccY+gDv+4+9amtb0YW4sYviPNJ+XkvcpIekbNESMxu3WBup05z6cqt2Y7EZHAwy20n\/ShISPtXSlTcm9zohShD0qwpSlYUFeW3EOtpcbUFIUMhQOxFFJC0FKuShg74qmslmlWabIbRISu3LHE02fqSrP7e+1akrE5SkpJJYZd0pSsKClKUAK+KSFJKVAEEYIPfX2sledZSIL647FvUhSSQFv7fYfv0PfTRi5OyJVa0KUbzPengi13+7QA4ExW8ODiUAEf7BxnwrrM1Wp+SYVjjGa\/y7THyJ\/fz2FUtpsEvUjr9xmSOwaeWeMIG6yO7HcB49PWpTVuasOq4ESBIdc7YZeSvCjjB6DbbNXajfO55sKlVU0oq0W9+dm+RaWzTJ+K\/iN5e+MmKwQFfSg+Xfj28K0NKVzuTe56dOnGmrRFKVWzrvBbZfYTcIzcgIUEhToThWNsnuoSbGlJRV2Qbnqbgkqt9qjmZNzjYfKjx8cennWfsNmlXB24MquDsR2O5hTbR+XjORnY45pqTpy9Wy02JxxLDi5IWe1CU5ON+E56YGPPu3qrjT5Ey8S2YTyYYuboypec4JOwI659a6VFq6R41SrGbhObvfkuX9Zr9KXF64WtQkL7RxhZbK854sePf51eVDtdtZtUBEVnfh3UrhAK1dTiplc8mm8HrUYyjTSluKUpSlSl1ZcDb7E6UK4XXz2SD58\/tmpVjgi3WaNG4QFhGV4GPmO5qo1UC9drJFOeBcjKuhwU\/oT71p6o8QSOaHmryb5WX8ilRLhdIdrZ7WW+lsdyealeQ76zwuN81J8tubNvhE4MhR+dQ8P7e9Kot5HqVowend9EXF01FbrSCl97jdH+U3ur16etU4c1BqVPyD+GQF\/1Z+dY\/P4HnVnbNL263KDqkGTIzkuvb79QO781LkXq1xSQ9PYSRzTxgn2G9Oml6Vci4znmrLSui\/l+xBbtNu01bZExhrieaaUe1XuonHLw3qusbjdh0o7dHxxPSSVjJyVncJB+59a+al1JbJtifjQ5XaOuFIwEKG2Qe8eFRoyGtQ3K329twKhW6OhTnRxWBkeI5D3606T03kc05wVRRpWwsW6v2SLLT1m+ISu73ZlD0qUeIJcbH8sDlgHvO3pjxrQoZabSUttIQDzCUgZrpSoyk2z0KdKNONkZCBMGlbvIts5SxEfV2jDxGQM88\/j09a1yVBSQpJBBGQR31wmwY9xiqjSmw42rrzB6joazjllvNiUXbJIL7HEVGK6c4HQA\/kEE7U2J9mQWuhhK8fuvc1dKzkPWUQqDNyYdgP5wQtJKf3HqKvY8qPLRxxn23k9UKB\/FK4tbl6daFT0s7UpSlKileQpJUUhQJTzAPKvVAClKrHb9Ej3oWt8LbcUkFDisBKie7nWpN7CynGPqZZ0pXxSglJUogADJJ7qwYqr7fWbNHAA7WU7s0yOZ8T4fmsPFhTtTXwh5wqOcvuf0tjoPwP9mpD7LupNVPojS0dnnCXVHkgdBzO\/TrW6tdrjWiGI0ZJxnKlHmo9TXRdU13PK0y4upd+hP6naLGZgxG47I4Gmk4GelZzS7arjdLhe3E\/K4stsE55d\/PwCR71d3t7sLJNcyQQwvBHcSMD71UaduFvtWm4wlzGWlqypSSoFW5ONhvyxU1fS2dNRx8WMXhJX\/hGjccS02pxZwlIyTjOBVdC1FaZwHZTG0KP9Dh4VeW\/P0qnuOuISAWoLBlE7ZWClJz4HesxOhSpEtuQbcu3pfVgFfFw8XXfcU0aV\/VglW43S\/ws9f9P1Ksjd9FqelrmQHUcS1FamXh8pPQH3qslt6msNubaMvEQnAU0Qrg9cZAqdF0rMubSX5t7W+2vf8AlqUsHuO6vUcq1R0Z1C1Knj+R03dd7WKS03R3Ts19iVGDqDs40SOfdvuK5y7qzcdQInvMKQ1xpJaRhRIT3b454raR9GWVgfMy4+erjh\/TAqqvfwundR2+axHS00GlhSGkgcR3\/wD0KopxcsLJzT4erTprXJaU13JUTWL8i5x4rtsVHQ+Rwlajkg8iNhn\/AGK1NZjT0F+4T3NQ3BIDju0dvuSnlkenL1PfWnqE7J2R6fDOo4apu99vgKVT3jUca0upjpackyl\/SygH03\/bNV5Gpb6OE4tMY7HmXFdfH8Vig92bKvFPTHL7f2xH1hNYjXi0vBYWuO4VuIQr5gkFJx64NdTP1Je9oEZMGMo7PuH5iOu+\/sPWomoNNxrRZUS4occfZdSVurUScE9OQ3x71sGJTT8JuWFBLa2w5kkYAxnc1RtKKtk5YQnOrNTem9nZfTf5FPb9Jw47gkTlrnyc5K3iSM+Xf65pcNVwojnwsJtU2TnhS2yMgHpn9s1AcmXDVclyNAWY1sSeFcjB4lkd3d15e9X1rssG0NcMVrCiMKdVutXmaV49eWUheWKCsuvX4dfiykFr1De1By5TPgY6v+HZPzEdDj9SfKp8XSNlipAMXtlD+p1RUT6cvtV3Slc3yLR4amneSu+ryZnVVpgsaefdjQY7S2ykhSGgFY4gOYHjVZaNKrkWJqfHfXHnqJW0sK2xyA25Z\/30q91irGmpA7iUA\/8AMKjaNuTa7MuM6ShcLJXxbfKckH81RSkqd11OSdOk+K0yXL7kzTN2cucBSJO0qMrs3QRuT3Hl5+1XNZrSSFvybnc1JIRKf\/l5GMpBJ268x3d1aWpzSUsHZw0nKknIV8KgkZUQB1NYufcL3frm\/CtJW1HYUUrWPk6jJPP0HtUZzQ96fPG7LjLUd8rdWT\/00ypr9TsQlxUm34cG11NlJbttxb7OQI8hKTkBRBx+1VD+ioHH2kJ+RDWORQvIHvv96zMnTcm0AyLlFD0UKHG5Hd3QM9D1z31fMaQYVHbkW66y2EuIC0EkHGRkHbHWmso7SJa3Wdp0srvZ\/t\/J7\/hmqoJ\/8rdm5aP9L43Pvn819\/jepYmRMsXb4745O\/txV5DWqrQC52zdzZG\/Ac8fTpn7nlVrZb9HvLSglJZkN\/4jCzunx8RWPa9kx4JatKlKL6PP73MQ5qCTDvz09htxlbh\/mMOnOfPl\/atVA1papbY+IWYjnelYJHoR+uK42cJe1leFlIKQAk9\/T9qn3bTVvujWOyQw8PpdQn8gYyKaTg2k0TowrxTlCV8vD+JMZu1ukDLM6OvbOA4Mj0rNa0hBy4W+WhwtBw9kt1I+gZGD9z391VT2n3LM9xXOCqVDzlT8ZR4kjyzt6j1rxdYlmj2puXaZzrji3wOzWsBSNiScYB58O9bGCUrpk61ec6bjUik13yX8S9zbHJTbr6la2yrhamdxHie\/u8etQNT6o+Nadg28K+GCgl6QkbK8B4bHzx0qQ6u6axPZtNfB2wKBK1jKl46dfTbxqUvQ8Xi4WZjzbClJK2lAK4seO1YtCd5bjSVepBxpZj1e\/wDnczsSAi+uNR4ZiwmmNgpxz+c5k8yBzOfLp0q+RoyU22Ai+yEKwM8KTj\/qr65oKEp0ralvtpzkJwDj1qNJ0VcSVBi6lxBxgOqUPxnNa5p7MSPDzgrzp3fZ2KK8wplukKj3CYuQCjLakvFQznbIO\/X96sba7pOJBZdlIXIlFIK0FKjwnvGNhVnatDMR19pcVpkbbNpyE537\/avJ0fNiPOfwye000tWR2jQK0jGNlYJ7\/Ctc4vFxY8PWi9ejfk8tfsVce+u26VKmW63FUN1QV\/MZ4Q3z2BGccx3+lcpWpJF8W3HnrajQgsKc4G1HOPv7YrRMaMaW6HbnPkTiB9KlEDPnnNWU42S1xUiW1FabT9CC2CT5DG9LrjfCuyi4evpeuVo9P7y+ZVTNV2tyF8HCiuzi4ns0tdmeE92Dnc93KpViQLBp9H8UebYyor+Y7jIG3Pc+Aqvbu9wnrLWnbQiOyo7yHGwkefT81Jj6Q+IeEq9THJr3egEhA8OuPasaSVngrCVSc9Ucvbay92eXtUybg4Y1ggrkL5F9wYQn0\/fHkaqLpa5cK5WybdpYkqekJDoP0pAIOB3YxnuxW6ZYZjNBphpDTaeSUDAFUGuG+KxJcAyWn0qz05j9ayElqskNXoy8NznK7WexogABgDAFfa5x3O2jNOg540BWfMV0qJ3rKI6IMRuWqWiO2l9YwpwJAUfWpFKUAklscZkVqdEdivjLbqSlWOfnX5+p6chxGl3ZLbLAfKVO5xlBPLc8ue3Xav0GU+mLEekLBKWUKWoDoBmslYtPRrzZXpk0Ht5jqlpdB3Rgnl65zn+9WpuybZw8VBznGMN7P6dDVQoUe3xURozYQ2gbDr4nxqRWUak6h0+kNSoxuUVOyXGt1JSPTPv051Lja1szyAXXXI6sbpW2Tv8A\/XNK4S3WSsOIppaZeV9Hg0FKpDrCwgZ+Oz4dkv8Aaozmt7epfZxI8qU4ThIQjGT3ePPwrNEug74miv1Itr1CFws8qMTgqbJSScYUNxk9Mjfwr8z+J4nktodLCXkJZkLG4UARv7AH3rW\/BXzUyv8A1Am3QQdmUjC1+YP6+1dLroiK+wg25QjutpxhWSHPM9x8arBqGGzg4mnU4jzwjt13ZoYMRmBBaixxhttOB49T6nepFYa1alvMbFs\/hwlOxk8JSCQsAbb8842qy\/8AE93XgN6ZlA9\/FxY\/6aR05XOqnxdLSrXXyYftNzsk96dZR8S0+ridjLI25kkbj079++jWtWWVBq5wJER3v+XIz64NPjdWTiRHgsQ0Z2W7z+\/l076DTNwuTiHL5cy6hB4gw0MJz7Y8OXrTY\/WR86f4CfzWPvkrNQ6ni3Ztu3xlluO4pJefWk7DOdgNzj9Ku2dVafixm2WppKGkBCR2S84AwO6rBFjtLaAgW2KQBgcTKSfcjNexZ7Wk5TbYgPUMJ\/alcoNWsUjS4hScrq77MpnNaxnV9lboUmW6dgAnAz9z9q8WdqSq+uXO5pYguPN4QxxgKWOXERnPhvWlbabZQENNpQkckpGBVfeLFGvIaLqlIW2dlp7x3jHKsUo7JWGlSqu0m7tctkVeiwXhcZyhlT8k\/N17\/LvrT1WrftmnbeltbiGGkA8KM5Uo8zgd9URkXjViiiMFQLbnCnD9Sx+vkNvGta1O\/IIzVCCp7y6InXTVCW3xAtLXxsxRx8u6UHx6\/jxqNatHJ7czbvwOvLJUWUDCEk9cc\/Ll51eWqzw7PH7KK3gn63FfUvzP6VOrNdsRGVBzalWz25L3PiUhKQlIAAGAB3V9pSpnUKVXTL\/aoOe3nNBQ\/pSeJXsKp1aulTlFuy2p184\/xHdgPQfuKdQkyE+Ipwdm89smoJAGScAVUT9U2mACFSQ84BkIZ+bPry+9Vp0\/eruoqvFzLTSh\/wC3jnbyPd+auLfYLZbCFRoye0Ax2i\/mV7nl6Vtord3E11p+lWXf2Kk3e\/3gFFst\/wAG0rlIkbbdRkfjNd4GkY7b5lXN9VwkHf8AmfSD5d\/rt4VoaVmt7LBq4dN3qPU++30PiUhKQlIAAGAB3V9pSkOkVT6rb7XTUwYzhKVeygauKg3tvtbHOQOZYWR5gZpo+pE6yvTkuzPNic7WwwVk5PYJGfIY\/SrCqbSbnaaZhnO4Ck8+iiKuaJYkzKLvTi+yFKUpSpxmRkTIb0ZZwl1BQT0yKytvvL+mW\/4bd4jvYtHDL7aQQQSee\/mevhWwrypKVpKVpCknmCMg00ZWVmRqUnKSlF2aPEZ9EqM1IazwOoC05GDgjIrw\/BhySS\/EYdJ5lxsK\/NdwABgDAFfaz4FbXVmQhZrWDkW2ICP\/AIE\/tUlplphHAy0htPRCQB9q6UouzFGK2QpSlYMZzUtqeStN7tuUzI26wn\/MSPDvwPcelWtnurN4t6JTWx5OIzuhXeKnVkZ7LulbubnEQVW+SrEhpPJB6+HPb1FUXmVuZyT\/AAZ+IvS9\/f3NdSvDTrb7KHmlhbawFJUORFe6mde4pSqG6ashQXPh4qTNknYIaOQD0J\/QVqi3sJUqQpq8nYunn2YzRdfdQ02nmpZwBWbkanl3GQYmn4peIOFSFp+VPiP7+1eGbDcr7IEq\/ultkHKIjZxj9vz5Vpo8ZiIyGYzKGmxySgYFP5Y92c96tbbyx+79iit+k0B9My7vqnS85+ZRKB78\/wAeFTbhembbcIVuQwXXJJA4UHHZpzgHHv7GpM+7Qba2pcqShBAzwZyo+Q51hrdeJcq+PXFu3KlzHBwspBIQ0MY\/G3dzPWminPLJVJ06FoQ3b+LP0WoE6+Wy3ZEqY2lY5oB4lew3qlTZb\/dxxXa5GK3n\/AYxy6Ejb3zVhB0paIIB+GD6wPre+b7cqW0Vuy3iVp+iNvj7EBWqptwV2dktTr2QQHXRhIP4+9eTYL5dlcd2unYtqIPYMcvLuH5rUhISMJAA6CvtGu3pQf8AO5fmSb+yKaFpSzwQCIoeWP63jxH25fardKUoSEoSEpHIAYArjPmtW6E7LeCi20MkJGSd8V6iyW5kVqSyctuoCk554NK23llYRpwemKSO1KUpSopSlAClKUAK5vNh5hxogELSUkHxFdKUBuZvQrhXYFJJJ7N9SR4bA\/rWkrNaLw1HnxuHh7KSfl6bAd+\/dWlp6nqZzcL+TEUpSkOkUpSgBSlKAFKUoAUpSgBXCZEanQ3Yrwyh1JSfDxrvUW4XGLbIpkS3AhA5DvUegHWtV74FlpUXq2KPSUlyMZNjlqHbxFkoHVPfj3z61ZXTUVutIKX3uN0f5Te6vXp61ibldX515RObUq3MyQGw4FfMUA4Kjjf\/ALYztU6HKsVtcCbfEfu805IWpG2fAf2PnV3Tu7s8qnxTjHRFrHN9OWN2WHYX3UxJfWq225fJsD51jx79\/HbwNXEW32jT7HEkNMbYLrqhxK9T+BVUo6tuo+VLNsZUDjJ+bHjzIPtXRjRcZbvbXOY\/OdJycqKUn9fvSu2zf0LQUr6oxbfWWPp\/h6layi9qli2R3bg8rkEApH4yfauHwOqrscypaLcySfkaPzYx4c\/U1o4kONBZDMVhDKB3JGM+fWu9LqS9KL+DOf5kvksL3MBc9Mxo90t9tZeedfknLrqyNkjoB5Hn0rdsR2YrKWWG0ttpGAlIwBWfdYcOv2XVNqUgRvlUEnCDhQ3PvWkrZybSF4anGMptK2bfQUpSpHYKUpQB4dabfaU06gLQsYKT314iRGIMZEeOjgbRyGc+prtSgyyvfmKUpQaKUpQApSlAClKUAV9vtDNuly5DTiz8UvjUg44UnJ5e9WFKVrd9xYxUVZClKVgwpSlAClKUAKUpQApSlACqe+6davimVrkLZU1kZSM5B5irilam07oScI1I6ZLBiL5pJMOCh+EmRMlF1IXxfNkYOdgOuOdbCLFjRmgmNHbYSRnhQgJ\/Fd6U0puSsydPh4U5OUVuKUpSFxSlKAFKUoAUpSgBSlKAFKUoAUpSgBSlKAFKUoAUpSgBSlKAP\/\/Z",
    "razonSocial": "SOCIEDAD EDUCACIONAL SAN MARCOS SPA",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "JOCELYN BUGUEÑO",
    "correoContacto": "secretaria@sanmarcos.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28568\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:51",
    "ubicacionGPS": "LatLng(lat: -23.5310032, lng: -70.3945394)",
    "horaLlegada": "06:04",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 05/05/2026 11:51:07
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-wL7j7B2tAujTsCH9gGz34z6D3Cr_WZ+SzW98HZjNmJ+CwCaoJCd
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76464003",
    "serieinterna": "KY2376",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega de toner en  2do piso",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12451",
    "observacion": "entrega de toner",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACJARkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA\/EAABAwMCAwYFAgQEBAcAAAABAgMEAAURBiESMVETQWFxgZEUIjKhscHRFSNC4TNDUvBEkrLxFiQlNGOC0v\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwEEBf\/EADARAAIBAwIEBAQHAQEAAAAAAAABAgMRIRIxBEFRYRMiMtFxgZGhIzNCscHw8RTh\/9oADAMBAAIRAxEAPwD9mpSlAClKUAKUrlIksxGVPSHUNNp5qWcCgxu2Wda+BQUMpII6isfNus\/U75g2VK24ySO1kKJT\/wBh4czWltdvTa7e3ES6t0Nj6ln\/AHgeFPKOlZ3I063iSelY6kylKUhcUpSgBSlKAFKUoAUpSgBSlKAFKUoAUpSgBSlKAFKUoAUpSgBSlcJcyNBZL0p9DKB3qOM+XWgxtJXZV6pu0qz25t+KlsqW7wErGcbE7b+FV41oqIvsbpblsvDGezWD7jmPvVfqG6yb\/DdEKIoW+Me0U+4nBURtt7nx64q503YrciBHuBb7eQ8gLU46eLCjzx6+tX0xjHzI83xKtWs1Slj7GhBBGQcg19pSoHpilKgXqG9PtT8eO5wOKT8vQ+FatxZNqLaVxMvdst6imVNaQoc0A8Sh6Deq1\/W1pbyGg++rohHj41XaVgWZ4ux5MIfHsnDjcg8XLvA5edaxqJGYOWY7TZ6oQB+Ko1GLszlhOtVjqTSX19jNP6hvklpSotrEJpIPG\/KzhI674\/WqOBbLtqmV2kmS4uMhWFPLJ4fJI6+nnV1dHXdT3j+ERXOGFHIVIdSdlctv28cnurURozUOM3HYQENtp4UpFNq0LCyQVF15+aTcV937HiDBjW6KmNFbCG0+5PUnvNSKUqG56SSSshSlKDRSlKAFKUoAUqFLvNtgqKZM1ltaeaOLKh6Deqh7W9v4uziR5Epw8glGAf1+1MoSeyIzr0oeqRpKVljddVTjiJaURUH+p47j3x+K+myallnil33sc9zGRj24abRbdk\/+i\/oi39v3NOVBIyogDqaiPXa3Rzh6dHQc4wXBn2qkGiI7p4ptxlyFdeID85qWzo+yMjeKXTjGVuK\/Q4rLQXM3XXe0Uvi\/Y9u6tsbX\/GhRzj5EKP6VwOtrKDgOunxDZqybslqa3RbowPUtAn712TBhpGExGAOgbFF4dAtxD5r6P3KhOtbIrOXnE+bR\/SuzerbG4QBOwT1bWMeZxirFVvhLxxQ2FY6tJP6VwcsdpdBC7bF3OSQ0AfcUeTuFuIXNfR+52jXGFMA+Glsuk9yFgn2qTWfk6KtD2Syh2MruLbhOD65qGtV90zha3f4hbkn5ivdbac9efLHUVulP0szxqkPzI46rJrKVHhTWbhEblR1EtuDIyMEeBqRUzpTTV0K+KUEpKlEAAZJPdUK63iHZ4\/aynME\/Q2n6l+Q\/Ws8I941YoLklUC25ylsfUsfr5nbwp1G+XsRqVlF6Yq8unv0Jc\/VgW98FZGTOlK24gPkT4+P48a8RdLvz3hM1BJVId\/pYScJR4bfp96vYFuiWyOGIjIbT3nvUepPfUqt12xERUHN3rO\/bl\/78yvucVsWCXGYbCECOsISkYA2OKiaQdDmmovVHEk\/8x\/SrlxAcbUg8lAis5oVZNldaV9TchQI9B\/ehZgwl5a8e6a\/Y0tKUqZ1ClKUAZrU9qcQtN8t6eGZGIUvA+tI7z5D7V5uepkPWBpcFQMuYQ2lsHdBP1ft6itKopCCVkBIG+eWKxWlLazMvkq5NN4hsOKEdJ\/1Hlt4J\/Iq0WmrvkefWjKFTTT\/Xv7mlsNqRaLY2wEgOqHE6R3qPd5Dl6VZUpUm7u7O6EVCKitkKUpWDCvhUEjKiAOpqOi4w3JqoSJLapCBlTYO4rP3Vx3UV1VZorxRGjnMpaTjJ6eODnblmmUbvJGpVUVdZe3zLuDeYFxdcaiyEuKQdwDz8R4b1OrKXxq32lMcwpjEKXGA4EFPEVjfngHGd9+\/O9TtPakF5YcDrPZvsp4nOH6T5ZOaZwxqWxOFfz+HN+bsSrzfYtmZBdy48v6GUH5lePgPGqZEDUGoE9rNlG3xVg8LLYPER4j9\/avemmReJ0m+yglaw52ccY+gDv+4+9amtb0YW4sYviPNJ+XkvcpIekbNESMxu3WBup05z6cqt2Y7EZHAwy20n\/ShISPtXSlTcm9zohShD0qwpSlYUFeW3EOtpcbUFIUMhQOxFFJC0FKuShg74qmslmlWabIbRISu3LHE02fqSrP7e+1akrE5SkpJJYZd0pSsKClKUAK+KSFJKVAEEYIPfX2sledZSIL647FvUhSSQFv7fYfv0PfTRi5OyJVa0KUbzPengi13+7QA4ExW8ODiUAEf7BxnwrrM1Wp+SYVjjGa\/y7THyJ\/fz2FUtpsEvUjr9xmSOwaeWeMIG6yO7HcB49PWpTVuasOq4ESBIdc7YZeSvCjjB6DbbNXajfO55sKlVU0oq0W9+dm+RaWzTJ+K\/iN5e+MmKwQFfSg+Xfj28K0NKVzuTe56dOnGmrRFKVWzrvBbZfYTcIzcgIUEhToThWNsnuoSbGlJRV2Qbnqbgkqt9qjmZNzjYfKjx8cennWfsNmlXB24MquDsR2O5hTbR+XjORnY45pqTpy9Wy02JxxLDi5IWe1CU5ON+E56YGPPu3qrjT5Ey8S2YTyYYuboypec4JOwI659a6VFq6R41SrGbhObvfkuX9Zr9KXF64WtQkL7RxhZbK854sePf51eVDtdtZtUBEVnfh3UrhAK1dTiplc8mm8HrUYyjTSluKUpSlSl1ZcDb7E6UK4XXz2SD58\/tmpVjgi3WaNG4QFhGV4GPmO5qo1UC9drJFOeBcjKuhwU\/oT71p6o8QSOaHmryb5WX8ilRLhdIdrZ7WW+lsdyealeQ76zwuN81J8tubNvhE4MhR+dQ8P7e9Kot5HqVowend9EXF01FbrSCl97jdH+U3ur16etU4c1BqVPyD+GQF\/1Z+dY\/P4HnVnbNL263KDqkGTIzkuvb79QO781LkXq1xSQ9PYSRzTxgn2G9Oml6Vci4znmrLSui\/l+xBbtNu01bZExhrieaaUe1XuonHLw3qusbjdh0o7dHxxPSSVjJyVncJB+59a+al1JbJtifjQ5XaOuFIwEKG2Qe8eFRoyGtQ3K329twKhW6OhTnRxWBkeI5D3606T03kc05wVRRpWwsW6v2SLLT1m+ISu73ZlD0qUeIJcbH8sDlgHvO3pjxrQoZabSUttIQDzCUgZrpSoyk2z0KdKNONkZCBMGlbvIts5SxEfV2jDxGQM88\/j09a1yVBSQpJBBGQR31wmwY9xiqjSmw42rrzB6joazjllvNiUXbJIL7HEVGK6c4HQA\/kEE7U2J9mQWuhhK8fuvc1dKzkPWUQqDNyYdgP5wQtJKf3HqKvY8qPLRxxn23k9UKB\/FK4tbl6daFT0s7UpSlKileQpJUUhQJTzAPKvVAClKrHb9Ej3oWt8LbcUkFDisBKie7nWpN7CynGPqZZ0pXxSglJUogADJJ7qwYqr7fWbNHAA7WU7s0yOZ8T4fmsPFhTtTXwh5wqOcvuf0tjoPwP9mpD7LupNVPojS0dnnCXVHkgdBzO\/TrW6tdrjWiGI0ZJxnKlHmo9TXRdU13PK0y4upd+hP6naLGZgxG47I4Gmk4GelZzS7arjdLhe3E\/K4stsE55d\/PwCR71d3t7sLJNcyQQwvBHcSMD71UaduFvtWm4wlzGWlqypSSoFW5ONhvyxU1fS2dNRx8WMXhJX\/hGjccS02pxZwlIyTjOBVdC1FaZwHZTG0KP9Dh4VeW\/P0qnuOuISAWoLBlE7ZWClJz4HesxOhSpEtuQbcu3pfVgFfFw8XXfcU0aV\/VglW43S\/ws9f9P1Ksjd9FqelrmQHUcS1FamXh8pPQH3qslt6msNubaMvEQnAU0Qrg9cZAqdF0rMubSX5t7W+2vf8AlqUsHuO6vUcq1R0Z1C1Knj+R03dd7WKS03R3Ts19iVGDqDs40SOfdvuK5y7qzcdQInvMKQ1xpJaRhRIT3b454raR9GWVgfMy4+erjh\/TAqqvfwundR2+axHS00GlhSGkgcR3\/wD0KopxcsLJzT4erTprXJaU13JUTWL8i5x4rtsVHQ+Rwlajkg8iNhn\/AGK1NZjT0F+4T3NQ3BIDju0dvuSnlkenL1PfWnqE7J2R6fDOo4apu99vgKVT3jUca0upjpackyl\/SygH03\/bNV5Gpb6OE4tMY7HmXFdfH8Vig92bKvFPTHL7f2xH1hNYjXi0vBYWuO4VuIQr5gkFJx64NdTP1Je9oEZMGMo7PuH5iOu+\/sPWomoNNxrRZUS4occfZdSVurUScE9OQ3x71sGJTT8JuWFBLa2w5kkYAxnc1RtKKtk5YQnOrNTem9nZfTf5FPb9Jw47gkTlrnyc5K3iSM+Xf65pcNVwojnwsJtU2TnhS2yMgHpn9s1AcmXDVclyNAWY1sSeFcjB4lkd3d15e9X1rssG0NcMVrCiMKdVutXmaV49eWUheWKCsuvX4dfiykFr1De1By5TPgY6v+HZPzEdDj9SfKp8XSNlipAMXtlD+p1RUT6cvtV3Slc3yLR4amneSu+ryZnVVpgsaefdjQY7S2ykhSGgFY4gOYHjVZaNKrkWJqfHfXHnqJW0sK2xyA25Z\/30q91irGmpA7iUA\/8AMKjaNuTa7MuM6ShcLJXxbfKckH81RSkqd11OSdOk+K0yXL7kzTN2cucBSJO0qMrs3QRuT3Hl5+1XNZrSSFvybnc1JIRKf\/l5GMpBJ268x3d1aWpzSUsHZw0nKknIV8KgkZUQB1NYufcL3frm\/CtJW1HYUUrWPk6jJPP0HtUZzQ96fPG7LjLUd8rdWT\/00ypr9TsQlxUm34cG11NlJbttxb7OQI8hKTkBRBx+1VD+ioHH2kJ+RDWORQvIHvv96zMnTcm0AyLlFD0UKHG5Hd3QM9D1z31fMaQYVHbkW66y2EuIC0EkHGRkHbHWmso7SJa3Wdp0srvZ\/t\/J7\/hmqoJ\/8rdm5aP9L43Pvn819\/jepYmRMsXb4745O\/txV5DWqrQC52zdzZG\/Ac8fTpn7nlVrZb9HvLSglJZkN\/4jCzunx8RWPa9kx4JatKlKL6PP73MQ5qCTDvz09htxlbh\/mMOnOfPl\/atVA1papbY+IWYjnelYJHoR+uK42cJe1leFlIKQAk9\/T9qn3bTVvujWOyQw8PpdQn8gYyKaTg2k0TowrxTlCV8vD+JMZu1ukDLM6OvbOA4Mj0rNa0hBy4W+WhwtBw9kt1I+gZGD9z391VT2n3LM9xXOCqVDzlT8ZR4kjyzt6j1rxdYlmj2puXaZzrji3wOzWsBSNiScYB58O9bGCUrpk61ec6bjUik13yX8S9zbHJTbr6la2yrhamdxHie\/u8etQNT6o+Nadg28K+GCgl6QkbK8B4bHzx0qQ6u6axPZtNfB2wKBK1jKl46dfTbxqUvQ8Xi4WZjzbClJK2lAK4seO1YtCd5bjSVepBxpZj1e\/wDnczsSAi+uNR4ZiwmmNgpxz+c5k8yBzOfLp0q+RoyU22Ai+yEKwM8KTj\/qr65oKEp0ralvtpzkJwDj1qNJ0VcSVBi6lxBxgOqUPxnNa5p7MSPDzgrzp3fZ2KK8wplukKj3CYuQCjLakvFQznbIO\/X96sba7pOJBZdlIXIlFIK0FKjwnvGNhVnatDMR19pcVpkbbNpyE537\/avJ0fNiPOfwye000tWR2jQK0jGNlYJ7\/Ctc4vFxY8PWi9ejfk8tfsVce+u26VKmW63FUN1QV\/MZ4Q3z2BGccx3+lcpWpJF8W3HnrajQgsKc4G1HOPv7YrRMaMaW6HbnPkTiB9KlEDPnnNWU42S1xUiW1FabT9CC2CT5DG9LrjfCuyi4evpeuVo9P7y+ZVTNV2tyF8HCiuzi4ns0tdmeE92Dnc93KpViQLBp9H8UebYyor+Y7jIG3Pc+Aqvbu9wnrLWnbQiOyo7yHGwkefT81Jj6Q+IeEq9THJr3egEhA8OuPasaSVngrCVSc9Ucvbay92eXtUybg4Y1ggrkL5F9wYQn0\/fHkaqLpa5cK5WybdpYkqekJDoP0pAIOB3YxnuxW6ZYZjNBphpDTaeSUDAFUGuG+KxJcAyWn0qz05j9ayElqskNXoy8NznK7WexogABgDAFfa5x3O2jNOg540BWfMV0qJ3rKI6IMRuWqWiO2l9YwpwJAUfWpFKUAklscZkVqdEdivjLbqSlWOfnX5+p6chxGl3ZLbLAfKVO5xlBPLc8ue3Xav0GU+mLEekLBKWUKWoDoBmslYtPRrzZXpk0Ht5jqlpdB3Rgnl65zn+9WpuybZw8VBznGMN7P6dDVQoUe3xURozYQ2gbDr4nxqRWUak6h0+kNSoxuUVOyXGt1JSPTPv051Lja1szyAXXXI6sbpW2Tv8A\/XNK4S3WSsOIppaZeV9Hg0FKpDrCwgZ+Oz4dkv8Aaozmt7epfZxI8qU4ThIQjGT3ePPwrNEug74miv1Itr1CFws8qMTgqbJSScYUNxk9Mjfwr8z+J4nktodLCXkJZkLG4UARv7AH3rW\/BXzUyv8A1Am3QQdmUjC1+YP6+1dLroiK+wg25QjutpxhWSHPM9x8arBqGGzg4mnU4jzwjt13ZoYMRmBBaixxhttOB49T6nepFYa1alvMbFs\/hwlOxk8JSCQsAbb8842qy\/8AE93XgN6ZlA9\/FxY\/6aR05XOqnxdLSrXXyYftNzsk96dZR8S0+ridjLI25kkbj079++jWtWWVBq5wJER3v+XIz64NPjdWTiRHgsQ0Z2W7z+\/l076DTNwuTiHL5cy6hB4gw0MJz7Y8OXrTY\/WR86f4CfzWPvkrNQ6ni3Ztu3xlluO4pJefWk7DOdgNzj9Ku2dVafixm2WppKGkBCR2S84AwO6rBFjtLaAgW2KQBgcTKSfcjNexZ7Wk5TbYgPUMJ\/alcoNWsUjS4hScrq77MpnNaxnV9lboUmW6dgAnAz9z9q8WdqSq+uXO5pYguPN4QxxgKWOXERnPhvWlbabZQENNpQkckpGBVfeLFGvIaLqlIW2dlp7x3jHKsUo7JWGlSqu0m7tctkVeiwXhcZyhlT8k\/N17\/LvrT1WrftmnbeltbiGGkA8KM5Uo8zgd9URkXjViiiMFQLbnCnD9Sx+vkNvGta1O\/IIzVCCp7y6InXTVCW3xAtLXxsxRx8u6UHx6\/jxqNatHJ7czbvwOvLJUWUDCEk9cc\/Ll51eWqzw7PH7KK3gn63FfUvzP6VOrNdsRGVBzalWz25L3PiUhKQlIAAGAB3V9pSpnUKVXTL\/aoOe3nNBQ\/pSeJXsKp1aulTlFuy2p184\/xHdgPQfuKdQkyE+Ipwdm89smoJAGScAVUT9U2mACFSQ84BkIZ+bPry+9Vp0\/eruoqvFzLTSh\/wC3jnbyPd+auLfYLZbCFRoye0Ax2i\/mV7nl6Vtord3E11p+lWXf2Kk3e\/3gFFst\/wAG0rlIkbbdRkfjNd4GkY7b5lXN9VwkHf8AmfSD5d\/rt4VoaVmt7LBq4dN3qPU++30PiUhKQlIAAGAB3V9pSkOkVT6rb7XTUwYzhKVeygauKg3tvtbHOQOZYWR5gZpo+pE6yvTkuzPNic7WwwVk5PYJGfIY\/SrCqbSbnaaZhnO4Ck8+iiKuaJYkzKLvTi+yFKUpSpxmRkTIb0ZZwl1BQT0yKytvvL+mW\/4bd4jvYtHDL7aQQQSee\/mevhWwrypKVpKVpCknmCMg00ZWVmRqUnKSlF2aPEZ9EqM1IazwOoC05GDgjIrw\/BhySS\/EYdJ5lxsK\/NdwABgDAFfaz4FbXVmQhZrWDkW2ICP\/AIE\/tUlplphHAy0htPRCQB9q6UouzFGK2QpSlYMZzUtqeStN7tuUzI26wn\/MSPDvwPcelWtnurN4t6JTWx5OIzuhXeKnVkZ7LulbubnEQVW+SrEhpPJB6+HPb1FUXmVuZyT\/AAZ+IvS9\/f3NdSvDTrb7KHmlhbawFJUORFe6mde4pSqG6ashQXPh4qTNknYIaOQD0J\/QVqi3sJUqQpq8nYunn2YzRdfdQ02nmpZwBWbkanl3GQYmn4peIOFSFp+VPiP7+1eGbDcr7IEq\/ultkHKIjZxj9vz5Vpo8ZiIyGYzKGmxySgYFP5Y92c96tbbyx+79iit+k0B9My7vqnS85+ZRKB78\/wAeFTbhembbcIVuQwXXJJA4UHHZpzgHHv7GpM+7Qba2pcqShBAzwZyo+Q51hrdeJcq+PXFu3KlzHBwspBIQ0MY\/G3dzPWminPLJVJ06FoQ3b+LP0WoE6+Wy3ZEqY2lY5oB4lew3qlTZb\/dxxXa5GK3n\/AYxy6Ejb3zVhB0paIIB+GD6wPre+b7cqW0Vuy3iVp+iNvj7EBWqptwV2dktTr2QQHXRhIP4+9eTYL5dlcd2unYtqIPYMcvLuH5rUhISMJAA6CvtGu3pQf8AO5fmSb+yKaFpSzwQCIoeWP63jxH25fardKUoSEoSEpHIAYArjPmtW6E7LeCi20MkJGSd8V6iyW5kVqSyctuoCk554NK23llYRpwemKSO1KUpSopSlAClKUAK5vNh5hxogELSUkHxFdKUBuZvQrhXYFJJJ7N9SR4bA\/rWkrNaLw1HnxuHh7KSfl6bAd+\/dWlp6nqZzcL+TEUpSkOkUpSgBSlKAFKUoAUpSgBXCZEanQ3Yrwyh1JSfDxrvUW4XGLbIpkS3AhA5DvUegHWtV74FlpUXq2KPSUlyMZNjlqHbxFkoHVPfj3z61ZXTUVutIKX3uN0f5Te6vXp61ibldX515RObUq3MyQGw4FfMUA4Kjjf\/ALYztU6HKsVtcCbfEfu805IWpG2fAf2PnV3Tu7s8qnxTjHRFrHN9OWN2WHYX3UxJfWq225fJsD51jx79\/HbwNXEW32jT7HEkNMbYLrqhxK9T+BVUo6tuo+VLNsZUDjJ+bHjzIPtXRjRcZbvbXOY\/OdJycqKUn9fvSu2zf0LQUr6oxbfWWPp\/h6layi9qli2R3bg8rkEApH4yfauHwOqrscypaLcySfkaPzYx4c\/U1o4kONBZDMVhDKB3JGM+fWu9LqS9KL+DOf5kvksL3MBc9Mxo90t9tZeedfknLrqyNkjoB5Hn0rdsR2YrKWWG0ttpGAlIwBWfdYcOv2XVNqUgRvlUEnCDhQ3PvWkrZybSF4anGMptK2bfQUpSpHYKUpQB4dabfaU06gLQsYKT314iRGIMZEeOjgbRyGc+prtSgyyvfmKUpQaKUpQApSlAClKUAV9vtDNuly5DTiz8UvjUg44UnJ5e9WFKVrd9xYxUVZClKVgwpSlAClKUAKUpQApSlACqe+6davimVrkLZU1kZSM5B5irilam07oScI1I6ZLBiL5pJMOCh+EmRMlF1IXxfNkYOdgOuOdbCLFjRmgmNHbYSRnhQgJ\/Fd6U0puSsydPh4U5OUVuKUpSFxSlKAFKUoAUpSgBSlKAFKUoAUpSgBSlKAFKUoAUpSgBSlKAP\/\/Z",
    "razonSocial": "SOCIEDAD EDUCACIONAL SAN MARCOS SPA",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "JOCELYN BUGUEÑO",
    "correoContacto": "secretaria@sanmarcos.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28568\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:51",
    "ubicacionGPS": "LatLng(lat: -23.5310032, lng: -70.3945394)",
    "horaLlegada": "06:04",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


05/05/2026 11:51:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76464003

[05/05/2026 11:51:07] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76464003', 'KY2376', 1, 7373114, 0, NOW(), 
				'08:00', '06:04', '11:51', 10, 'entrega de toner en  2do piso', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777996267.png', 'entrega de toner', null, 'COMPLETADO','LatLng(lat: -23.5310032, lng: -70.3945394)' )
				
[05/05/2026 11:51:07] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200176
[05/05/2026 11:51:07] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200176', 'KYO-I647', 2)
				
[05/05/2026 11:51:07] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28568 and
				    IDproducto = 'KYO-I647'
				

05/05/2026 11:51:07 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'KYO-I647';
                
05/05/2026 11:51:07 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200176'                    
				WHERE idllamado = 12451			
				TO ENVIO: micorreo@miempresa.cl, secretaria@sanmarcos.cl


05/05/2026 11:51:07 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12451			
				
05/05/2026 11:51:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


05/05/2026 11: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 = 12451
                
05/05/2026 11: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 = 12451
                
05/05/2026 11:51:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            
05/05/2026 11: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 = 12451
                
05/05/2026 11: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 = 12451
                
05/05/2026 11: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 = 12451
                
05/05/2026 11: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 = 12451
                
05/05/2026 11: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 = 12451
                
05/05/2026 11: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 = 12451
                
05/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            [05/05/2026 11:51:15] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 11:51:15] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/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 = 12451
                
05/05/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 = 12451
                
05/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            
05/05/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 = 12451
                
05/05/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 = 12451
                
05/05/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 = 12451
                
05/05/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 = 12451
                
05/05/2026 11:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12448
            GROUP BY l.idllamado;
            
05/05/2026 11:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12448
            GROUP BY l.idllamado;
            
05/05/2026 11:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12448
            GROUP BY l.idllamado;
            [05/05/2026 11:53:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 11:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12448
            GROUP BY l.idllamado;
            
05/05/2026 11:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                [05/05/2026 11:53:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 11:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11: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 = 12448
                
05/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12448
            GROUP BY l.idllamado;
            
05/05/2026 11: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 = 12448
                
05/05/2026 11: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 = 12448
                
05/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12448
            GROUP BY l.idllamado;
            
05/05/2026 11: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 = 12448
                
05/05/2026 11:53:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12448
            GROUP BY l.idllamado;
            
05/05/2026 11:53:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:53:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:53:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:53:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:53:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12448
            GROUP BY l.idllamado;
            
05/05/2026 11:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:53:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:53:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:53:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12448
            GROUP BY l.idllamado;
            
05/05/2026 11:53:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12448
            GROUP BY l.idllamado;
            
05/05/2026 11:53:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:53:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11: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 = 12448
                
05/05/2026 11: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 = 12448
                
05/05/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 = 12234
                
05/05/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 = 12234
                
05/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12234
            GROUP BY l.idllamado;
            
05/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12234
            GROUP BY l.idllamado;
            
05/05/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 = 12234
                
05/05/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 = 12234
                
05/05/2026 11: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 = 12234
                
05/05/2026 11: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 = 12234
                
05/05/2026 11:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12234
            GROUP BY l.idllamado;
            
05/05/2026 11: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 = 12234
                
05/05/2026 11: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 = 12234
                
05/05/2026 11:56:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:56:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:57:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:57:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:57:11 - logentry: =========================================
FECHA: 05/05/2026 11:57:11
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-gx4WwB+0p2kianbKleaK3bPIWqVmjqaua.wPIeBWTIDm4n..EOz
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76291963",
    "serieinterna": "EP2882",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "7534",
    "contadorColor": "58443",
    "contadorScanner": "0",
    "detalle": "Rev general\nMantenimiento\nConfiguracion",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12234",
    "observacion": " prox. mantenimiento\nPad de separacion Adf\n",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADlASEDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABEEAABAwMBBAcFBQUHAwUAAAABAAIDBAURIQYSMVETQWFxgZGhFCIysdEVI0LB8AczQ1LCFiQ1grLh8SViklVydJPS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMhEAAgEDAQUGBgICAwAAAAAAAAECAxExIQQSQVHREyIyYXHwgZGhscHhFCMFQjNysv\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAiIgCIiAIiIAiLCSWOJu9JI1gzjLjhAZoiIAiIgCIiAIiIAiKMuO0NutVU2nrJHse5m+MMJGMkdXcV1JvBGU4wV5OxJooQbYWEjPt2Ozon\/Ra5ttLJE3LJ5JjyZEQfXCluS5FT2iiv8AdfMn0VX\/ALW1lZgWyyVE29we\/Ib6DHqjYNrriW9NUQW6M6ODAC7HMcfmF3cazoR\/kxfgTfoupYKqvpKFm9VVMUIwSN9wBPcOvwUFPtpTPl6G2Uc9dKTgYaWtP5+i2UWxtBDIJq2SSumByTIcNJ7vqVOQU0FLGI6eFkTB+FjQAncXmc\/vnyj9X0Knca7amCikuE5gpIYsfdADLiTjmefPqVpoJ31VupqiVoa+WJj3ADABIBKgttJw6iprczJmq5mgNHIH6kKwwRCCnjhByI2BucY4DCS1inY5RTVWSu2klnmbERFWawiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKsbff4HD\/APJb\/pcrOq5t1EZLAHAaRztcfIj81On40ZtrV6EvQk7FVGtsdHO55e50QDnHiXDQ+oUgq3sLOZbE6Nx\/dTFoGOrAPzJVkXJq0midCe\/SjLyCIiiXBERAEREAWmalpqggz08UpHDfYHfNbkQ40nk4vsW1f+mUf\/0N+i2RW2hgOYaKnjPNkTR8gulF27IqEVwCIi4TCIuK8XBlstc9W44LG4YObjoB5rqV3YjKSim3wIOAfbG3EsxLjBbW7jeW\/wAPnvf+KtKgtkKA0llbM8l0tWelcTngeHpr4qdUpvWy4FOzRahvPMtQiIoGgIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCjdoYBU7P1sZ1xEXjvb7w+Skli9gkY5juDgQV1OzuRnHei48yo\/s+eTT1rC7Ia5hA5ZyrgqVsIDT3C40jz7zQ3I\/8AaSPzV1U6vjZl2F\/0R+P3CIirNgREQBERAEREARcclyhiukNucyQzTML2uDfdAHM+H6yuxdscUk72CIi4dCq207jcrxbrIw5a5\/SzAE8P+A70U\/V3KioADVVMcO8cDeOpUFs7\/wBTvtxvDtWB3QQ51058uAHDn52Q07xk2hqdqSeXr6ZLM1oa0NaAABgAdS9RFWawiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgKnbmsov2gV0IOlRGXAdp3XH81bFSNo6gW7bajqyQGhjHOPZktPorurKiwzHsrSc4cm\/qERFWbAiLXNIYYJJRG6QsaXBjBkuwOA7UGDYi56CrFfRRVQiki6QZ3JBhw1wuhMHE01dBERDoWAljMhjEjS8DJbnUeCzVX2fJqtq7zV4yGO6IOPfj+n5KSV02VTqbsox5stCLn9upfbfYumb7Ru73R9eOa6FEsTTwfPrxPTsvN59ua2SVsYbTBwzgnHqAc68vBS2wMrnWyojJ91kumvMKn3mo9qvNZNjAdM7A7M4CsuxV3oaOnfRVEnRSyyb7XP0a7QDGfBa5x\/rPC2eqntV27LUuyIo+vvtttoIqapgeP4bTvP8AILKk3g9yUoxV5OxIIqwdsJqn\/DbNVVLc438ED0B7FlFtVUwSsbdrTNRxyODRN+EE8848uPFS7ORR\/Kpc\/o7FlREUDSEREAREQBERAEREAREQBF4XBoy4gDmVi2aJ7t1sjHHkHAoLmaIiAIiICi7cwOmvNOGAZNMTk9e6XHH65qz7PVhrrFSTOOX7m44nrLdM+iir6A7a6ztOoIIKbGE0zrja3ZJpqgkE9YOn9Pqr5a00ebT7u1S89Pon1LQiIqD0gih7rtNQWt\/Q7xqKngIYtSDyJ6vn2KObDtdcN6Z08NAw5LIsDeHLqPLrPgpqDy9DPLaIp7sVd+RaUUNs5d5LnbnvqiwVFO4slDRjq4kefktFp2tprpcnUfQui3v3LydJMce7houbj18jq2im1F38WCwIiKJeaK2pbR0U1S8jdiYX69eAoTYqneyzPqpNX1Urnk8Mjh8wfNebY1Uho4LXTn7+ukDcD+XP1x6qco6VlFRw0sfwxMDQeeOtWYh6mXx1\/KK+r\/RXI5RJ+0aRo\/hwbpPP3QfzVjraltHQz1LiAIo3O17AqVY6wVW3k0xOkrpAzuA09ApTbW6xR202+GUOnmeA9jHDLW8de\/RTlG8kjPSrKNGdTzZWxbmyUNkjlaWGuqX778e8QXMaNfM+Km75V2CSljtdNSurZ429HCKfiz\/Nrn1UPcIrhUwWz7QphR0TXiGJoGHAHGSc66gdfJXu2WehtMZZSQhpI9551c7vKlOSVmyjZ6Tm5RirLS7a1xyKa63bWi0NYDMIM6Qtf74Hzx2Z8Et1RarUd642GrEh+J87d\/B54IAX0BeEAjBGQVDtb6NGr+FZpxl89Tmt1fTXKjbU0pJiJIGRgjGnBQW2X97FvtjBvSVFQHYB1AAx\/V6KygMij0DWMaO4AKrWVrr5tLVXiUZp6Y9FTg6jPZ4a97lGGjcuRZXu4qk8y9staIirNYREQBERAEREARcdyutHaYOmq5Q3+Vo1c7uCrub5tVq0m2213A\/ikHzPoO9TUb6vBRUrKL3Urvl7wSVx2soKKb2eAPrKg6BkGozyJ+mVxbm1V4yXOZa4CQWgH38fPPkpm2WSgtEYbSwjfxgyu1e7x+ikF3eS8KIdlUnrUlbyXXJWGbEU8pL6+41dVITku3sZ0685Pqs3bD2wMBhlqYpW6tkDwSD1Hh9FZFoq6ymoYTNVTshYOtxxnu5p2k+YezUEruKIjZeunlhqbfVuc+ehk6Mvcc7w7+vgfDCnlQoNoaCh2srK9vSSUtRGACxozn3TnBxyKtdtv9uurhHTT\/elu90bhh2F2cHe9iGzV4OO45arToSS56qupaGPfqqiOFv\/AHOwuhQO0WzX225ksdSYZWDGHZc1w7s6eAUIpN6mmrKcYNwV2Rt0uNFVbVWiaCqikjaSHODhhuvXyW6TNs29jlz9zcYt3PVnGMebR5quV+zldT3WmopZaYy1XwFmWtHfgLZddnLvaqCOaWZksELiR0TieiJxrqByC07sdFc8d1at5ScMNP38C9XK9UFqZmrnDXYyI26uPgoM1l82lG7Qxm3UJ4zP+J47P9vNZbOWex1tO2vbv1k5I6Q1Dt4sd16cPPKtAAAwBgBUNqOMnoRVSurydovguvQirRs7Q2locxnTVHEzyDLvDkpZEUG29WaYQjBWirIplJKaOt2oY04wx0jR1A+9j5rTDanv2Oo7jTe7V0jnzNIHFu8c9+gBWi4VHs9btGeuQNjHi4Z9Mq42Sn9nsdHC5oyIW7wx1kZPzV8nuq\/vB5lKCqycHwT\/APX6Ntsr47lboayPhI3JH8p6x5rqVWssn2JtBU2WQ7sE56WmyefV6eis0sscETpZntjjYMuc44ACpkrPQ9CjU34XllZKzRsddttamrduugt7ejZrkb3D\/wDR7NFM3m6QWqglmkla2XcPRMJGXO6sBUywXW5CKopbVSdJVVEpkfK7VrBpjs454r2rsVRNe6Oiqat9TWzjfnfvZbEzlqOQPpornBb2vA8+G0NUm4K7bz5sjaWiuLqAVdLSSxshJJqGb287e0wB1+HiVObH2bpLm+5PZJ7PEPuHStwXk\/i8B8wrtHGyKNscbd1jAGtHIBZKMqzaaLaWwRhJSbvb7kHtdQSV1jeYWl0sDhK0Djpxx4E+S7rNcW3S1wVYI3nNw8D8LhxC7SARgjIKq9RbLjs9WPq7JH09LICZaY64PYPQYUV3lul9S9Op2iV089S0oq1HtvQgNbVUlVTykZLCwEeB4nyWmbaG43twprDSyRtfkOqZm4DR2cQPn2J2cuJ17VSto7vksmy\/XSevrm2G1u+8k0qJRqI29Y+vkp222+K2UEVJCSWxjVx4uPMrmsljgs1OQ09LUSayzOGrj9FJrkmsLB2lTld1J5f0XIIiKBoCIiAIiIAq1tRtIbcwU1BO01e9l43N7cbjOvI+a9u9\/nmqTarI3pqpxLXyjURc\/nx6u9ddm2bpbXA\/pAKipmaRNK78QPEDs+asSUdZGSc5VW4Uvi+nmR9is0V1bHernOK2aXVrPwM7MdnLgrQAAMAYAVX2c37ReqyxyuJjP3tMSeI\/4\/0lWlKl7ndlUezxrx9QiLmuFdDbaGWrncA2NpIGcbx6gO0qtamltJXZx36+R2anbholqZTiKLPE8z2Z08VGUezVVcphW7QzumdxZTB2Gs7Dj5DzXuzlBLcKuTaC4sBkmP8Ad2H+G3nr6efWrBW1TKGimqpBlsLC8gdeOpWt7ukcmNR7b+yp4eC\/LK5baaEbdVrYIo2QU9OGBrQMAkN0x5qRu+zNFc2mSMezVI+GaIYye0Dj81y7G0bhQzXKdv39bIXZP8ufrn0VjXJSalpwO0KUZ0u8s3fzK9s\/c61lVJZ7uR7VEMxvOcyt55xg9\/0VhXz283mpq786opYmg2xxw\/gXNDw3XsyfXqV9pqhlVSxVEfwysDxrzGV2pG1mNlqqV4Xvb7FdvXvbZWdo1IBJHZr9FP3CkbX2+ekfjErC3JGcHqPgdVAXH3\/2gWxh4CnLvR\/0VnXJaJEqKUnUvz\/CPmlonlsrori0vDWTmCrhz4g48\/Fq+ktc17A9py1wyDzCpdzpGwX+vt\/wx3SHpIxjOZBqOPWXB3\/kFN7JVxrbBDvOJfATE7J5cPQhTqareM2xvs5uk\/bXVWZNoixke2KN0jvhYCT3BUHpnzS6O9rvNdG3Rs1a2PI1JwXDT9cl9MAAGAMAL5ZaaqMXemnq5QyOOZ07yRoDx05kkD0VmfcLvtPIYrYHUVACQ6odo5365DxK01It2R4+yVlHellt49+p7thV22V0UDC+W4xP+7EB95p5E9+DjjosKPZy73TopL7WSdADk0+\/7x5ZxoPn3KctGz1BZ2gwR782MGZ+rj3cvBSir37K0TWtm35OdXjwWPjzKTbbodlmVttno5nyCUvg3dRJoOvlgA+Kldm7ZVdPNeLmwtrKng134G93VwAxyU+WMc5ry0FzfhJGo7lkuOd+BKns+61d3SwgiIqzWEREBi+NkmN9jXY4ZGcL0AAYAwAvUQBERAEREAREQBVe93uorav7Fsvvzu0mmadGDrAPV2nw4rdtBeZXTfYtrBfWzDde4HHRA8deePJd9jslPZaMRRgOmeAZZetx+isSUVdmScpVZdnB6cX+ELJZKey0nRRe\/K7WWUjVx\/Idik0RQbbd2aYQjCKjFaFZ2vppac0t7pR99RvAf2tJ0z2ZyP8AMVP0dXFXUcVVCcslaHDs7FnPDHUwSQSt3o5GlrhzBVd2VmfRVNZYah+X0ry6LPWw\/wDIP+ZT8UfQz\/8AHW8pfddUWZUfaK6suW0VNa8GSminayRoI995OD1dWSPNXCuqm0NDPVP1ETC7HPA4L5\/S0j4pLJXzfvKuuL3OIwcb7Mf1HxUqSWWU7bN2UF6v0ukfR2tDWhrQAAMADqVX2kmddrrTbPU5OHOElQ4Y90cfPGviFPXO4Q2ugkrJ8lrBo0cXE8AFD7J2+URy3ir1qa73hkfC0nOnfp5BRhot4ur99qiuOfT9lgiiZDEyKNoaxjQ1rR1AcAs0RVmo+c2uHpqi\/vf7wbSzZzrrvZH+lW3ZJ5fszRl3HDh5PIVcsvRNt+0kznDJjc0HvD\/mcKx7JMLNmaMO44cfN5K0Vce+R5WxK00\/J\/c4agb\/AO0Sl69ymPho76+qs6rDPf8A2iPx+Cm18h9VZ1VPh6GzZ\/8Af\/syu7YUczqKG5UxxNQv39B+HTPlgeq5NhqgTSXMRtLYjK2RjT1b299ArW5rXsLHtDmuGCCMghQjIbPsjFUTdIWCcjEZO8444ADxOqkpXjuldSlu11WvZcfkThIAyTgBVi\/bW0scM9FQA1MzmOa57PgZpqc9eOzTtWlrbvtad5znUFrOmB8Uo\/P5d677laqO0bLVsVHFuZiO886ud3lFFReuTlSpUqQbhpG2efovyVvY2y01zqZ56uLpIoN3daSQHOOePPhw7V9BYxkbAyNoY1owGtGAFAbE0ns9hEpaQ6oeX68uA+XqrClWV5MlsVJQop21YREVRsCIiAIiIAiIgCIiAIiIAiIgChto739j0bRCA+rmO7EziR\/3Y61K1E8dNTyTyuDWRtLnEnCrWz1NJeLhJtDWgHJLKZhGjQNN7j3jvypxSyzPWnLSnDL+i5nfs9Yfspj6mpf0tdUayyHXGTkgHv481NIii227stpwjTjuxCIi4TCq21MUtuuNHfqcfunCOYc29vmR5K0rluVCy5W6ejkOBK3API8QfPClB2ZTXpucGlnh6kJtjWb9ihhgBd7c9obw1HxD1wm1Nqa3ZeNkAwaHdc3dHEDQ\/PPgq\/b6p9dWWS2zNeJKKdweCM5AIIHhghWnaq6soLW+na0SVFWDEyPrwQQTj9alXWcWkjCpxqwqVJYsl9OrId9UdsLnSUQ3hRwRiaoIOMuwNPM481c2tDWhrQAAMADqVX2LIom1drqGtjrI5d9zcjLm4A9Meo5q0qupmywadkV4b8svPQLju9V7FaKqp1yyI7uDjXgPVdirW2tU32CC3NfiWrlaMcmg8T44\/QUYK8ki2vPcpykU2kmqIKOqt7IyX1ojwB1gHeyvqFFTNo6GCmaABFG1unYFQ6OpparbCikbEDTRubDESPiLG4afPdPkvoatrPBi\/wAfBJSd720\/P5Kvbj0+39xkAJbHAGg8j7g\/Iq0KnWK5UlNU3i7VczWsln3YzxJAJOBz0IWRqLxtY4spg6gtucOkPxPH59w07VyUW35InRrKMNNW23b4nddNp8Tm32eI1ladMt1Yz6\/Lt6ljbdliaj2+9Te2VZwQ1xyxvZ2\/JStstFFaIOipIt0n4nu1c\/vP6C7lFytpEujRc3vVdfLgup4AAMAYAXjmte0te0OaeIIyCskVZqMWtaxoaxoa0cABgBZIiAIiIAiIgCIiAIiIAiIgCIiAIiICsbYzSVAorPA4h9ZKN7Az7oOmfHXwVipqeOkpoqaFu7HE0NaOwKu0ua7b2qld8FFFus5gkAfm5WdWS0SRlo96c6nnb4L9hERVmoIiIAiIgKVdWwWXbinuEoxBKN92B8Li0tPrquyxQTXy7Pv9W0thYS2kjOuBqM+HzJ5KK2yq\/tSs6KjiMsdA09NK0E7pJwR3DA9VbNn6mKqsVJLEwMb0e6WgAYI0PqFoldQT44PLoqMtolG+id\/V\/o4NobRUmqjvFrJbWw6OaBnpG93p2hdFq2noLjGGyytpakaPhlOMHsJ4\/NTKja\/Z+13JzpKmkaZHcZGe64+I4+KqUk1aRrlSnGTlS45TN890t9NGZJqyBrQM\/GPl1qlVUFRthtDI+mDhSRYYJSNA0HU69ZyThY19pttVc22uyRl8m9maZzi5sY4YH59yulJT0litTIjKGQwj3pJDjJ5lWaQ1WTM9\/aXuzsorNuPxIXaSyxUuz0TqFhY63uEjccSNMk46+Bz2LC4bbUjbY32UF9VNHq0aCIkdZ7OxYVF0ue00klHaIzBRatkqXjG8Oz6ce5cEmy9ypy+2RU8csM8rXe1gAEMHEHl1Hw611JWtMrqTndugtGrY+32OnZjZWnnpIrhXnpg\/3o4fwgczz7lc2tDWhrQAAMADqWEMTKeCOGMYZG0NaOwDC2KmUnJ3ZvoUY0oJJBERRLwiIgCIiAIiIAi46yg9rqKWcVM0Jpn72I3YDx1gj9da7F04m7u6CIi4dCIiAIiIAiIgCIiA54qGlgqZamKFrJpvjeOLl0IiHEksBERDoREQBQG0t6lpGx2+3Hfr6g7rQ3UsB6+w8vErtvl5istAZ3gPkcd2KPPxH6BcOzlnmhkku1wO9W1XvYP8MHXH64cFZFJLeZlqzcpdlDPF8l1Oyy2OC0200mkrpdZnEfGSMY7lU6GS82S91Vut8ZnjjcX9A86OZkYcO3BHD8l9AVW2hDbVtBbryGgMc7opyT1EYzjuJ8gpQk22nxKtopKEIuOm7y5GX9sJmDE1jrI3csH8wFqlO0e0JdAIfsqjzuvL877h8z4YGvFWskAZJwAq1cdo562pNt2fj6eY6PqBqxg5jq8eHeuRd\/CjtWLiv7JtrktG\/kbH1Vo2Po\/ZoQZKh2CY2nL5DzJ6h+guWnsdxv8AK2svsjooM5jpG+7jv5fPuUjZtmae3O9qqne11zjvOmfrg9mfnxU2jlbGeZKFBzS7RWXCPXmYRRRwRNihY2ONgw1rRgALNEVRswEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAXPXVsFupH1VS\/djYM9pPIdq2VFRFSwPnnkEcbBlzncAqnSQz7X3Q1lU1zLXTuxFFn94f1x8lOMb6vBRVquNox1k\/dzbZqKe\/3B17ubPuWnFLC7hjnj9ZKta8a0NaGtAAAwAOperkpXZKlSVONsvi+YUJtfDFNs7P0rwwsIewk4y4dXbpldN5vlJZYA+cl0jh93E3i76DtUNSWWuv8AUtuN8c5kHGKkBIwO3l8ypQVu8yqvNSTpRV2\/p6nJRm8bVUkNN0hpbfExrJpfxTEDXv8AlzVrt1spLVTCCkiDG\/iPEuPMnrUHsY40xuNrdkmlnOCRxByP6fVWddqPWywR2SCcFUesvegREVRsCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALCWWOGJ0srwxjBlznHAAXrnbrC7dLsDOBxKq8lFdtqJIzXRut9va7JhPxv7\/APfh2qUVfJVVqOOkVds1h1RtlWkDfgtEDteozH9eStUMMdPCyGFgZGwYa1o0AXlNTRUlOyCBgZGwaALakpX0WDlKlud6Wsnl++AUBetpG0k32fb4zU3B\/uhrRkMPbzPZ5rnuN6q7rWm1WE+80\/fVQ+Fg7D+fkpOy2Gls0GGDpKh37yZw1J7OQUklHWRVKpKq92lji+hyWbZx1PUfaN0m9rr3a5dq2Pu7fl1KfRFBybd2X06caatEq8u9bdvo5DpFcIt0nGmQMY78tHmrQqxtoHUwt1yYPepqjq7df6fVWZpDmhw1BGQpy1SZVR7s5w87\/P8AZ6iIqzSEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBVS719Xfbm+yWxwbCwYqZ+rkR4ep7F3bS3OrpmwW+3xudV1mWtcPwDQZ9ePVxXXYrPFZbeKdjt+Rx3pH44u+isj3VvMyVG6s+zjhZ6dTda7XS2mkFPSswOLnHi88yuxEUG76s1RioqywERFw6RO1FL7Xs9VsAy5jekH+U5+WVns7VCrsFHL1iMMPe33fyUjJG2WN0bxlrwWkcwVXNipHR0dXb5D95SVBaRyB\/3BVi1gzNLu7QnzVvlqWVERVmkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCj6K0Q0Nxq62N7y6rILmHgD\/zlEXb2IuKbTfAkERFwkEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "TYM CONSTRUCCION Y MONTAJE LTDA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "CATALINA",
    "correoContacto": "kmunzonv.tym@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "WSP",
    "idFalla": "3",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "987466468",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:57",
    "ubicacionGPS": "LatLng(lat: -22.3485101, lng: -69.6636114)",
    "horaLlegada": "07:10",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 05/05/2026 11:57:11
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-gx4WwB+0p2kianbKleaK3bPIWqVmjqaua.wPIeBWTIDm4n..EOz
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76291963",
    "serieinterna": "EP2882",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "7534",
    "contadorColor": "58443",
    "contadorScanner": "0",
    "detalle": "Rev general\nMantenimiento\nConfiguracion",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12234",
    "observacion": " prox. mantenimiento\nPad de separacion Adf\n",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADlASEDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABEEAABAwMBBAcFBQUHAwUAAAABAAIDBAURIQYSMVETQWFxgZGhFCIysdEVI0LB8AczQ1LCFiQ1grLh8SViklVydJPS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMhEAAgEDAQUGBgICAwAAAAAAAAECAxExIQQSQVHREyIyYXHwgZGhscHhFCMFQjNysv\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAiIgCIiAIiIAiLCSWOJu9JI1gzjLjhAZoiIAiIgCIiAIiIAiKMuO0NutVU2nrJHse5m+MMJGMkdXcV1JvBGU4wV5OxJooQbYWEjPt2Ozon\/Ra5ttLJE3LJ5JjyZEQfXCluS5FT2iiv8AdfMn0VX\/ALW1lZgWyyVE29we\/Ib6DHqjYNrriW9NUQW6M6ODAC7HMcfmF3cazoR\/kxfgTfoupYKqvpKFm9VVMUIwSN9wBPcOvwUFPtpTPl6G2Uc9dKTgYaWtP5+i2UWxtBDIJq2SSumByTIcNJ7vqVOQU0FLGI6eFkTB+FjQAncXmc\/vnyj9X0Knca7amCikuE5gpIYsfdADLiTjmefPqVpoJ31VupqiVoa+WJj3ADABIBKgttJw6iprczJmq5mgNHIH6kKwwRCCnjhByI2BucY4DCS1inY5RTVWSu2klnmbERFWawiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKsbff4HD\/APJb\/pcrOq5t1EZLAHAaRztcfIj81On40ZtrV6EvQk7FVGtsdHO55e50QDnHiXDQ+oUgq3sLOZbE6Nx\/dTFoGOrAPzJVkXJq0midCe\/SjLyCIiiXBERAEREAWmalpqggz08UpHDfYHfNbkQ40nk4vsW1f+mUf\/0N+i2RW2hgOYaKnjPNkTR8gulF27IqEVwCIi4TCIuK8XBlstc9W44LG4YObjoB5rqV3YjKSim3wIOAfbG3EsxLjBbW7jeW\/wAPnvf+KtKgtkKA0llbM8l0tWelcTngeHpr4qdUpvWy4FOzRahvPMtQiIoGgIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCjdoYBU7P1sZ1xEXjvb7w+Skli9gkY5juDgQV1OzuRnHei48yo\/s+eTT1rC7Ia5hA5ZyrgqVsIDT3C40jz7zQ3I\/8AaSPzV1U6vjZl2F\/0R+P3CIirNgREQBERAEREARcclyhiukNucyQzTML2uDfdAHM+H6yuxdscUk72CIi4dCq207jcrxbrIw5a5\/SzAE8P+A70U\/V3KioADVVMcO8cDeOpUFs7\/wBTvtxvDtWB3QQ51058uAHDn52Q07xk2hqdqSeXr6ZLM1oa0NaAABgAdS9RFWawiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgKnbmsov2gV0IOlRGXAdp3XH81bFSNo6gW7bajqyQGhjHOPZktPorurKiwzHsrSc4cm\/qERFWbAiLXNIYYJJRG6QsaXBjBkuwOA7UGDYi56CrFfRRVQiki6QZ3JBhw1wuhMHE01dBERDoWAljMhjEjS8DJbnUeCzVX2fJqtq7zV4yGO6IOPfj+n5KSV02VTqbsox5stCLn9upfbfYumb7Ru73R9eOa6FEsTTwfPrxPTsvN59ua2SVsYbTBwzgnHqAc68vBS2wMrnWyojJ91kumvMKn3mo9qvNZNjAdM7A7M4CsuxV3oaOnfRVEnRSyyb7XP0a7QDGfBa5x\/rPC2eqntV27LUuyIo+vvtttoIqapgeP4bTvP8AILKk3g9yUoxV5OxIIqwdsJqn\/DbNVVLc438ED0B7FlFtVUwSsbdrTNRxyODRN+EE8848uPFS7ORR\/Kpc\/o7FlREUDSEREAREQBERAEREAREQBF4XBoy4gDmVi2aJ7t1sjHHkHAoLmaIiAIiICi7cwOmvNOGAZNMTk9e6XHH65qz7PVhrrFSTOOX7m44nrLdM+iir6A7a6ztOoIIKbGE0zrja3ZJpqgkE9YOn9Pqr5a00ebT7u1S89Pon1LQiIqD0gih7rtNQWt\/Q7xqKngIYtSDyJ6vn2KObDtdcN6Z08NAw5LIsDeHLqPLrPgpqDy9DPLaIp7sVd+RaUUNs5d5LnbnvqiwVFO4slDRjq4kefktFp2tprpcnUfQui3v3LydJMce7houbj18jq2im1F38WCwIiKJeaK2pbR0U1S8jdiYX69eAoTYqneyzPqpNX1Urnk8Mjh8wfNebY1Uho4LXTn7+ukDcD+XP1x6qco6VlFRw0sfwxMDQeeOtWYh6mXx1\/KK+r\/RXI5RJ+0aRo\/hwbpPP3QfzVjraltHQz1LiAIo3O17AqVY6wVW3k0xOkrpAzuA09ApTbW6xR202+GUOnmeA9jHDLW8de\/RTlG8kjPSrKNGdTzZWxbmyUNkjlaWGuqX778e8QXMaNfM+Km75V2CSljtdNSurZ429HCKfiz\/Nrn1UPcIrhUwWz7QphR0TXiGJoGHAHGSc66gdfJXu2WehtMZZSQhpI9551c7vKlOSVmyjZ6Tm5RirLS7a1xyKa63bWi0NYDMIM6Qtf74Hzx2Z8Et1RarUd642GrEh+J87d\/B54IAX0BeEAjBGQVDtb6NGr+FZpxl89Tmt1fTXKjbU0pJiJIGRgjGnBQW2X97FvtjBvSVFQHYB1AAx\/V6KygMij0DWMaO4AKrWVrr5tLVXiUZp6Y9FTg6jPZ4a97lGGjcuRZXu4qk8y9staIirNYREQBERAEREARcdyutHaYOmq5Q3+Vo1c7uCrub5tVq0m2213A\/ikHzPoO9TUb6vBRUrKL3Urvl7wSVx2soKKb2eAPrKg6BkGozyJ+mVxbm1V4yXOZa4CQWgH38fPPkpm2WSgtEYbSwjfxgyu1e7x+ikF3eS8KIdlUnrUlbyXXJWGbEU8pL6+41dVITku3sZ0685Pqs3bD2wMBhlqYpW6tkDwSD1Hh9FZFoq6ymoYTNVTshYOtxxnu5p2k+YezUEruKIjZeunlhqbfVuc+ehk6Mvcc7w7+vgfDCnlQoNoaCh2srK9vSSUtRGACxozn3TnBxyKtdtv9uurhHTT\/elu90bhh2F2cHe9iGzV4OO45arToSS56qupaGPfqqiOFv\/AHOwuhQO0WzX225ksdSYZWDGHZc1w7s6eAUIpN6mmrKcYNwV2Rt0uNFVbVWiaCqikjaSHODhhuvXyW6TNs29jlz9zcYt3PVnGMebR5quV+zldT3WmopZaYy1XwFmWtHfgLZddnLvaqCOaWZksELiR0TieiJxrqByC07sdFc8d1at5ScMNP38C9XK9UFqZmrnDXYyI26uPgoM1l82lG7Qxm3UJ4zP+J47P9vNZbOWex1tO2vbv1k5I6Q1Dt4sd16cPPKtAAAwBgBUNqOMnoRVSurydovguvQirRs7Q2locxnTVHEzyDLvDkpZEUG29WaYQjBWirIplJKaOt2oY04wx0jR1A+9j5rTDanv2Oo7jTe7V0jnzNIHFu8c9+gBWi4VHs9btGeuQNjHi4Z9Mq42Sn9nsdHC5oyIW7wx1kZPzV8nuq\/vB5lKCqycHwT\/APX6Ntsr47lboayPhI3JH8p6x5rqVWssn2JtBU2WQ7sE56WmyefV6eis0sscETpZntjjYMuc44ACpkrPQ9CjU34XllZKzRsddttamrduugt7ejZrkb3D\/wDR7NFM3m6QWqglmkla2XcPRMJGXO6sBUywXW5CKopbVSdJVVEpkfK7VrBpjs454r2rsVRNe6Oiqat9TWzjfnfvZbEzlqOQPpornBb2vA8+G0NUm4K7bz5sjaWiuLqAVdLSSxshJJqGb287e0wB1+HiVObH2bpLm+5PZJ7PEPuHStwXk\/i8B8wrtHGyKNscbd1jAGtHIBZKMqzaaLaWwRhJSbvb7kHtdQSV1jeYWl0sDhK0Djpxx4E+S7rNcW3S1wVYI3nNw8D8LhxC7SARgjIKq9RbLjs9WPq7JH09LICZaY64PYPQYUV3lul9S9Op2iV089S0oq1HtvQgNbVUlVTykZLCwEeB4nyWmbaG43twprDSyRtfkOqZm4DR2cQPn2J2cuJ17VSto7vksmy\/XSevrm2G1u+8k0qJRqI29Y+vkp222+K2UEVJCSWxjVx4uPMrmsljgs1OQ09LUSayzOGrj9FJrkmsLB2lTld1J5f0XIIiKBoCIiAIiIAq1tRtIbcwU1BO01e9l43N7cbjOvI+a9u9\/nmqTarI3pqpxLXyjURc\/nx6u9ddm2bpbXA\/pAKipmaRNK78QPEDs+asSUdZGSc5VW4Uvi+nmR9is0V1bHernOK2aXVrPwM7MdnLgrQAAMAYAVX2c37ReqyxyuJjP3tMSeI\/4\/0lWlKl7ndlUezxrx9QiLmuFdDbaGWrncA2NpIGcbx6gO0qtamltJXZx36+R2anbholqZTiKLPE8z2Z08VGUezVVcphW7QzumdxZTB2Gs7Dj5DzXuzlBLcKuTaC4sBkmP8Ad2H+G3nr6efWrBW1TKGimqpBlsLC8gdeOpWt7ukcmNR7b+yp4eC\/LK5baaEbdVrYIo2QU9OGBrQMAkN0x5qRu+zNFc2mSMezVI+GaIYye0Dj81y7G0bhQzXKdv39bIXZP8ufrn0VjXJSalpwO0KUZ0u8s3fzK9s\/c61lVJZ7uR7VEMxvOcyt55xg9\/0VhXz283mpq786opYmg2xxw\/gXNDw3XsyfXqV9pqhlVSxVEfwysDxrzGV2pG1mNlqqV4Xvb7FdvXvbZWdo1IBJHZr9FP3CkbX2+ekfjErC3JGcHqPgdVAXH3\/2gWxh4CnLvR\/0VnXJaJEqKUnUvz\/CPmlonlsrori0vDWTmCrhz4g48\/Fq+ktc17A9py1wyDzCpdzpGwX+vt\/wx3SHpIxjOZBqOPWXB3\/kFN7JVxrbBDvOJfATE7J5cPQhTqareM2xvs5uk\/bXVWZNoixke2KN0jvhYCT3BUHpnzS6O9rvNdG3Rs1a2PI1JwXDT9cl9MAAGAMAL5ZaaqMXemnq5QyOOZ07yRoDx05kkD0VmfcLvtPIYrYHUVACQ6odo5365DxK01It2R4+yVlHellt49+p7thV22V0UDC+W4xP+7EB95p5E9+DjjosKPZy73TopL7WSdADk0+\/7x5ZxoPn3KctGz1BZ2gwR782MGZ+rj3cvBSir37K0TWtm35OdXjwWPjzKTbbodlmVttno5nyCUvg3dRJoOvlgA+Kldm7ZVdPNeLmwtrKng134G93VwAxyU+WMc5ry0FzfhJGo7lkuOd+BKns+61d3SwgiIqzWEREBi+NkmN9jXY4ZGcL0AAYAwAvUQBERAEREAREQBVe93uorav7Fsvvzu0mmadGDrAPV2nw4rdtBeZXTfYtrBfWzDde4HHRA8deePJd9jslPZaMRRgOmeAZZetx+isSUVdmScpVZdnB6cX+ELJZKey0nRRe\/K7WWUjVx\/Idik0RQbbd2aYQjCKjFaFZ2vppac0t7pR99RvAf2tJ0z2ZyP8AMVP0dXFXUcVVCcslaHDs7FnPDHUwSQSt3o5GlrhzBVd2VmfRVNZYah+X0ry6LPWw\/wDIP+ZT8UfQz\/8AHW8pfddUWZUfaK6suW0VNa8GSminayRoI995OD1dWSPNXCuqm0NDPVP1ETC7HPA4L5\/S0j4pLJXzfvKuuL3OIwcb7Mf1HxUqSWWU7bN2UF6v0ukfR2tDWhrQAAMADqVX2kmddrrTbPU5OHOElQ4Y90cfPGviFPXO4Q2ugkrJ8lrBo0cXE8AFD7J2+URy3ir1qa73hkfC0nOnfp5BRhot4ur99qiuOfT9lgiiZDEyKNoaxjQ1rR1AcAs0RVmo+c2uHpqi\/vf7wbSzZzrrvZH+lW3ZJ5fszRl3HDh5PIVcsvRNt+0kznDJjc0HvD\/mcKx7JMLNmaMO44cfN5K0Vce+R5WxK00\/J\/c4agb\/AO0Sl69ymPho76+qs6rDPf8A2iPx+Cm18h9VZ1VPh6GzZ\/8Af\/syu7YUczqKG5UxxNQv39B+HTPlgeq5NhqgTSXMRtLYjK2RjT1b299ArW5rXsLHtDmuGCCMghQjIbPsjFUTdIWCcjEZO8444ADxOqkpXjuldSlu11WvZcfkThIAyTgBVi\/bW0scM9FQA1MzmOa57PgZpqc9eOzTtWlrbvtad5znUFrOmB8Uo\/P5d677laqO0bLVsVHFuZiO886ud3lFFReuTlSpUqQbhpG2efovyVvY2y01zqZ56uLpIoN3daSQHOOePPhw7V9BYxkbAyNoY1owGtGAFAbE0ns9hEpaQ6oeX68uA+XqrClWV5MlsVJQop21YREVRsCIiAIiIAiIgCIiAIiIAiIgChto739j0bRCA+rmO7EziR\/3Y61K1E8dNTyTyuDWRtLnEnCrWz1NJeLhJtDWgHJLKZhGjQNN7j3jvypxSyzPWnLSnDL+i5nfs9Yfspj6mpf0tdUayyHXGTkgHv481NIii227stpwjTjuxCIi4TCq21MUtuuNHfqcfunCOYc29vmR5K0rluVCy5W6ejkOBK3API8QfPClB2ZTXpucGlnh6kJtjWb9ihhgBd7c9obw1HxD1wm1Nqa3ZeNkAwaHdc3dHEDQ\/PPgq\/b6p9dWWS2zNeJKKdweCM5AIIHhghWnaq6soLW+na0SVFWDEyPrwQQTj9alXWcWkjCpxqwqVJYsl9OrId9UdsLnSUQ3hRwRiaoIOMuwNPM481c2tDWhrQAAMADqVX2LIom1drqGtjrI5d9zcjLm4A9Meo5q0qupmywadkV4b8svPQLju9V7FaKqp1yyI7uDjXgPVdirW2tU32CC3NfiWrlaMcmg8T44\/QUYK8ki2vPcpykU2kmqIKOqt7IyX1ojwB1gHeyvqFFTNo6GCmaABFG1unYFQ6OpparbCikbEDTRubDESPiLG4afPdPkvoatrPBi\/wAfBJSd720\/P5Kvbj0+39xkAJbHAGg8j7g\/Iq0KnWK5UlNU3i7VczWsln3YzxJAJOBz0IWRqLxtY4spg6gtucOkPxPH59w07VyUW35InRrKMNNW23b4nddNp8Tm32eI1ladMt1Yz6\/Lt6ljbdliaj2+9Te2VZwQ1xyxvZ2\/JStstFFaIOipIt0n4nu1c\/vP6C7lFytpEujRc3vVdfLgup4AAMAYAXjmte0te0OaeIIyCskVZqMWtaxoaxoa0cABgBZIiAIiIAiIgCIiAIiIAiIgCIiAIiICsbYzSVAorPA4h9ZKN7Az7oOmfHXwVipqeOkpoqaFu7HE0NaOwKu0ua7b2qld8FFFus5gkAfm5WdWS0SRlo96c6nnb4L9hERVmoIiIAiIgKVdWwWXbinuEoxBKN92B8Li0tPrquyxQTXy7Pv9W0thYS2kjOuBqM+HzJ5KK2yq\/tSs6KjiMsdA09NK0E7pJwR3DA9VbNn6mKqsVJLEwMb0e6WgAYI0PqFoldQT44PLoqMtolG+id\/V\/o4NobRUmqjvFrJbWw6OaBnpG93p2hdFq2noLjGGyytpakaPhlOMHsJ4\/NTKja\/Z+13JzpKmkaZHcZGe64+I4+KqUk1aRrlSnGTlS45TN890t9NGZJqyBrQM\/GPl1qlVUFRthtDI+mDhSRYYJSNA0HU69ZyThY19pttVc22uyRl8m9maZzi5sY4YH59yulJT0litTIjKGQwj3pJDjJ5lWaQ1WTM9\/aXuzsorNuPxIXaSyxUuz0TqFhY63uEjccSNMk46+Bz2LC4bbUjbY32UF9VNHq0aCIkdZ7OxYVF0ue00klHaIzBRatkqXjG8Oz6ce5cEmy9ypy+2RU8csM8rXe1gAEMHEHl1Hw611JWtMrqTndugtGrY+32OnZjZWnnpIrhXnpg\/3o4fwgczz7lc2tDWhrQAAMADqWEMTKeCOGMYZG0NaOwDC2KmUnJ3ZvoUY0oJJBERRLwiIgCIiAIiIAi46yg9rqKWcVM0Jpn72I3YDx1gj9da7F04m7u6CIi4dCIiAIiIAiIgCIiA54qGlgqZamKFrJpvjeOLl0IiHEksBERDoREQBQG0t6lpGx2+3Hfr6g7rQ3UsB6+w8vErtvl5istAZ3gPkcd2KPPxH6BcOzlnmhkku1wO9W1XvYP8MHXH64cFZFJLeZlqzcpdlDPF8l1Oyy2OC0200mkrpdZnEfGSMY7lU6GS82S91Vut8ZnjjcX9A86OZkYcO3BHD8l9AVW2hDbVtBbryGgMc7opyT1EYzjuJ8gpQk22nxKtopKEIuOm7y5GX9sJmDE1jrI3csH8wFqlO0e0JdAIfsqjzuvL877h8z4YGvFWskAZJwAq1cdo562pNt2fj6eY6PqBqxg5jq8eHeuRd\/CjtWLiv7JtrktG\/kbH1Vo2Po\/ZoQZKh2CY2nL5DzJ6h+guWnsdxv8AK2svsjooM5jpG+7jv5fPuUjZtmae3O9qqne11zjvOmfrg9mfnxU2jlbGeZKFBzS7RWXCPXmYRRRwRNihY2ONgw1rRgALNEVRswEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAXPXVsFupH1VS\/djYM9pPIdq2VFRFSwPnnkEcbBlzncAqnSQz7X3Q1lU1zLXTuxFFn94f1x8lOMb6vBRVquNox1k\/dzbZqKe\/3B17ubPuWnFLC7hjnj9ZKta8a0NaGtAAAwAOperkpXZKlSVONsvi+YUJtfDFNs7P0rwwsIewk4y4dXbpldN5vlJZYA+cl0jh93E3i76DtUNSWWuv8AUtuN8c5kHGKkBIwO3l8ypQVu8yqvNSTpRV2\/p6nJRm8bVUkNN0hpbfExrJpfxTEDXv8AlzVrt1spLVTCCkiDG\/iPEuPMnrUHsY40xuNrdkmlnOCRxByP6fVWddqPWywR2SCcFUesvegREVRsCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALCWWOGJ0srwxjBlznHAAXrnbrC7dLsDOBxKq8lFdtqJIzXRut9va7JhPxv7\/APfh2qUVfJVVqOOkVds1h1RtlWkDfgtEDteozH9eStUMMdPCyGFgZGwYa1o0AXlNTRUlOyCBgZGwaALakpX0WDlKlud6Wsnl++AUBetpG0k32fb4zU3B\/uhrRkMPbzPZ5rnuN6q7rWm1WE+80\/fVQ+Fg7D+fkpOy2Gls0GGDpKh37yZw1J7OQUklHWRVKpKq92lji+hyWbZx1PUfaN0m9rr3a5dq2Pu7fl1KfRFBybd2X06caatEq8u9bdvo5DpFcIt0nGmQMY78tHmrQqxtoHUwt1yYPepqjq7df6fVWZpDmhw1BGQpy1SZVR7s5w87\/P8AZ6iIqzSEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBVS719Xfbm+yWxwbCwYqZ+rkR4ep7F3bS3OrpmwW+3xudV1mWtcPwDQZ9ePVxXXYrPFZbeKdjt+Rx3pH44u+isj3VvMyVG6s+zjhZ6dTda7XS2mkFPSswOLnHi88yuxEUG76s1RioqywERFw6RO1FL7Xs9VsAy5jekH+U5+WVns7VCrsFHL1iMMPe33fyUjJG2WN0bxlrwWkcwVXNipHR0dXb5D95SVBaRyB\/3BVi1gzNLu7QnzVvlqWVERVmkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCj6K0Q0Nxq62N7y6rILmHgD\/zlEXb2IuKbTfAkERFwkEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "TYM CONSTRUCCION Y MONTAJE LTDA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "CATALINA",
    "correoContacto": "kmunzonv.tym@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "WSP",
    "idFalla": "3",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "987466468",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:57",
    "ubicacionGPS": "LatLng(lat: -22.3485101, lng: -69.6636114)",
    "horaLlegada": "07:10",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


05/05/2026 11:57:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76291963

[05/05/2026 11:57: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('76291963', 'EP2882', 2, 21773342, 7534, NOW(), 
				'08:00', '07:10', '11:57', 4, 'Rev general
Mantenimiento
Configuracion', -1, 
				'', '','1','58443',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777996631.png', ' prox. mantenimiento
Pad de separacion Adf
', null, 'COMPLETADO','LatLng(lat: -22.3485101, lng: -69.6636114)' )
				
[05/05/2026 11:57:11] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200177

05/05/2026 11:57:11 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200177'                    
				WHERE idllamado = 12234			
				TO ENVIO: micorreo@miempresa.cl, kmunzonv.tym@gmail.com


05/05/2026 11:57:11 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12234			
				
05/05/2026 11:57:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


05/05/2026 11:57:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12234
            GROUP BY l.idllamado;
            
05/05/2026 11:57:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12234
            GROUP BY l.idllamado;
            
05/05/2026 11:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12234
                
05/05/2026 11: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 = 12234
                
05/05/2026 11: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 = 12234
                
05/05/2026 11: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 = 12234
                
05/05/2026 11: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 = 12234
                
05/05/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 = 12234
                [05/05/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;
                

05/05/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 = 12234
                
05/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12234
            GROUP BY l.idllamado;
            [05/05/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;
                
[05/05/2026 11:57:17] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[05/05/2026 11:57:17] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 11:57: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;
                

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

05/05/2026 11:59:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12448
            GROUP BY l.idllamado;
            
05/05/2026 11: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 = 12448
                
05/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:59:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12448
            GROUP BY l.idllamado;
            
05/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:59:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12448
            GROUP BY l.idllamado;
            
05/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11: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 = 12448
                
05/05/2026 11: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 = 12448
                
05/05/2026 11: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 = 12448
                
05/05/2026 11: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 = 12448
                
05/05/2026 11:59:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12448
            GROUP BY l.idllamado;
            
05/05/2026 11:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:59:14 - logentry: =========================================
FECHA: 05/05/2026 11:59:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-P9ta21gAEs8ZU9okT4S0se6NqcAw3RSNxh353o3XdeCCgbmNLDG
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76634430",
    "serieinterna": "EP2384",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "57975",
    "contadorColor": "22667",
    "contadorScanner": "0",
    "detalle": "•Entrega tintas epson",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12448",
    "observacion": "2 cyan, 1 magenta y 1 negra",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACfAUYDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABHEAABAwMCAgUJBAcGBQUAAAABAAIDBAURBiESMRNBUWGBFCIycZGhscHRFRZy8CMzQkNSk+EkNERUYrIlY4KSwlVzoqPi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QANBEAAgECAwUHBAAGAwAAAAAAAAECAxESITEEE0FRoSIyYXGBkdEUscHhIyRCUmLwM1Px\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC1VNRFSUstTM7hjiaXOPcFtVI1zeeN7bXA8FrfOnxvv1N8OfiFeEcTsYbRWVGm5MktN6grL1c6sPY1tK0cUY4d28gBnl2n1nsRb9I2n7OtLJZAenqBxuB\/ZB5D2Yz\/AERJ2xZEbNj3Sc9WTyIiodAREQBERAEREAREQBERAEREAREQBERAEReJZY4Y3SSyNjY0Zc5xwB4oD2ir1RrKgbN0FFFNWyYP6ppxt7\/cvNPqmc1LG1tqmpIJHcDZH55+zdX3cuRz\/U0r2uWNERUOgIiIAiIgCIiAIiIAiIgCIiAIiIDluVwhtdBLVzbtjGzQd3HqAVAt9BJdLlDSy+nVP8qqTk5DOYHPrBz\/ANQUtre4mSohtjc9HGBNOR2dQ\/PWQpHSFudBQuuE4PT1h4tydmfsjf2+rC3j2IX5nl1f5jaFT4L\/AF\/HuWFrQ1oa0AADAA6kWUWB6gREQBERAEREAREQBERAEREAREQBEWCQBknACAytc9RDSwumnkbHG0ZLnHACgrnquKKYUdri8vq3bAM3Y09+Ofh7Voh0zWXOdtVqCrMuOVPGcNHdkfL2q6hbOWRzSr3eGkrvovU9T6rkrJOgsdFLVOzgzOYeBvfj64XiDTFbcnifUFdJLvkU8bvNb8h4e1WWCCGmiEUETIo28msGAFsU47d0jcOedV38OBzQ09Ha6Rwhjjp4I2lzsDGABuT2qvUDpdS34XFzHsoKM\/2d27S52Rnr68b92AvFzrJ9S3T7Gt78UUZBqZ27g92fcO09ys1HSQ0FJHS07OGKMYaFPdWerKr+NK0e5Hq\/hG9ERZHYEREAREQBERAEREAREQBERAFhzg1pc4gADJJ6llQGsbh5HZXQMJ6WqPRtA7P2vdt4qYq7sZ1ZqnBzfAqdNFNqXU0zWuxFNIXyOxnEbeQ7ewexfSWMbHG1jBhrQAB2BQ2l7ILRbg6Ro8pnAdISN27ej4fFTa0qSu7LRHPslF04Ypd55hERZHYEREAREQBERAEREAREQBERAEXHcbrR2qDpaqXh\/hYN3O9QVeNbe9T+Zb2G30Od53Hzn+r+ntV1BvPgYVK8YPCs3yRK3XU9utZdEX9PUt26GPc57zyHxUWKC9amc2S5PdQUPMQRnznjv\/r7FLWjTtDaWhzGdNUczPIMu8OxSynEo90pup1f+V5cl+XxOK32mhtcfBR07YyRhz+bnes812oio3fU6YxUVZIKr3i7VN0rzY7O7zjtUTg7Mb14Px9i3X29TOn+x7RmSul2e9p2iHXv2\/Bd1iscFko+jZh8z95ZMekez1K6Sirs5ZydWW7hpxf4RvtVqprRRtp6dve955vPaV2oio3fNnTGKirLQIiKCwUU3UFLLffsmFj5ZADxyNxwscOYP557erh1VqF1tiFFRnNZMObdzGO31nqW7TFi+yqU1FQD5ZOMyZOeEdmfeVoopRuzllVlKru6fDV\/gnURFmdQREQBERAEREAREQGueeKmgfPM8MjjHE5x6gqNQVE2qdWx1EkeKanHEGHcNaOXrJJH5C7L7WG\/V77bTyBtDRtM1VM3f0RuB2\/X1Lp0PRhtBPXlga6pkwzY7Nb1A+vPsW6WCLfE82pN160YLurrYtCIiwPSCIiAIiIAiIgCIiAIiIAi8veyNhfI4Ma0ZLnHACrdVqx9RO6msdE+tlad5C08A\/p3nCsouWhlUqwp95linnhpojLPKyKNvNzzgBVyr1NVV8xpdPUxqHcnVDm4a31Z+axFpqtujxUagrXyYOW08TsNb+e72qxUtJT0UDYKaJsUbeTWhW7MfFmX8Wr\/AIrr+iDt2lWdMK28TGuqyckOOWN7sdfw7lYQABgDACyio5N6m1OlGmrRQREUGgVdvt9mFQLTaR0tdLs5zeUX9fgl9vswqBabSOlrpdnObyi\/r8F2WKxQ2anJJ6Wql3lmPM9w7vitElFXZyznKrLd09OL\/C8fsLFYobNTkk9LVS7yzHme4d3xUsiKjbbuzeEIwjhjoERFBcKC1JqSOzQ9DCQ+sePNb1MHafovepL\/AB2ajxE5rquTaNnPh\/1HuVU05Zqi+3E19Zl9Ox\/FI5+\/SO54+q2hBWxS0ODaNoli3NLvPoS+krNJLIb3cP0ks3nRce5\/F9FblhrQ1oa0AADAA6llZyk5O51UaSpQwoIuK6XaktNMZqqQA481g9J57AFXWUd31WTPVzPobeT5kLfSePz1nwClRvm9CtSsovDFXly+eRb0Vb01K6mulytIfJJDTuBjLyCQOzlv\/RT1RVU9JH0lTPHCz+KRwaPeocbOxanUU4YtDci5qS4Ule1xpZ2S8JwQOY8F0quhommroIiISFX9R3qenlitdtHHXVOwI\/dg9fr+HNdF9v8ADaozBEOlrZBiKIDO\/Vn6cytWnbG6ha6urj0twnJL3uOeAHqHz9i0irLEzlqTc5bqm\/N8v2Rd3omad0p5DCeOeskDXuDclx68d22PFWi3UoobdT0o\/dRhp9eN\/eq\/W8V51nT0gDX01vb0kmdxxHf48O3r7wrSk27JPzK0IrHJx0WS9NeoREWZ2BERAEREAREQBFgkAZJwAoG5aqghk8mtsZr6onGIhlrT3kc\/DvUqLehnUqRpq8mTksscMbpJZGxsaMuc44A8VX63WFMH+TWqGSuqXejwtPD9T+d1qjsFwvUram\/z8MfNtJFsGnvPV7zvz2VgpKCkoWcFLTxwjGPNbgn1nrV+zHXMxvWqd3srr+iuMsF3vb2S36r6OEHIposD242+JVkpKKmoIBBSwsijHU0c\/WevxW9FVybNKdGFPNZvm9QiIqmwREQBV7Ud9lpnttdtaZK+cYHD+7B+fw5rZf7+aAtoaFvTXCbZjAM8Ges9\/cvVgsAtodV1bumr5t5JCc8OeofVaRSSxM5ak5VJbun6vl+zbYrFDZqcknpaqXeWY8z3Du+KlkRUbbd2bwhGEcMdAiIoLhQt+v32fw0dGzp7hNtHGN+HPWVi\/wB\/FtDaSkb01fNtHGBnhz1n6Kv1NNLZoDG5xqr7chg43MbHbHHf1Z+m+sIcWcW0V7XjDhq+Xh5nDRWepvV4lhdOZHsP9rqc5A6sN7eWPDbbn9Co6SGgpI6WnZwxRjDQoy2Mtenbe2mfW07X85HueGl5Pdla6jWdlgB4Z3zEdUcZ+eApm5TdloUoRpbPG82lJ+PQnlD3zUVNZ29E0dNVvHmQt+fZ81DT61nrQaa0UEhqHjzXO84jt80Litlu1HTVLqttsjlqXnJnqnAuHqy73pGnbOQqbXi7NG78bXsTFq05LVVIut9d09Q7dsLt2sHVkfLkrJJIyKN0kjg1jAXOcTsAOZVZNu1ZV4E91hpmnmIhuPYPmsS6NnqI3Ce+VUziNuPJGe\/JKh2bzZam5QjanTfrbMh6LUcdJW3Gtih6aqq5cRM3DQ3tJ9nsK7IaShrZvL9R3amllIy2mZMMRjng4OfAe9d8GhLVG1vTSTzOHPLg0HwA+a7GaSskQ4m0Ae4Dbikcc+\/Cu5w4GENnr27aTXL\/AM1K9SXi1W7VU89PKI6B8IaBEwhpdgdXtUq\/XFC53DTUlVUHuYB81CUENZb6yrb93jVTySYbxRfooxvy2xjl18gpllNqquOHy09uiyHcMY3O\/dvy7+pTJRvn9ylKdbC1Hm9F85Gqr1hcIoekbZXwM\/jqHEA+rYZXDT6k1JeXdDQwRNJ2L44zhveSScKYptGUYlM1xqJq+U8zI4gfHPvU\/BBDTRCKCJkUbeTWDACo5QWiN40dom7znZdehTKXTeo6OsfWRzUrqh\/OSR3GfeFLQTagtzJ6u7TU0lNFE52GDzsjljACsKrOsqmSWGms9O3imrZBnsAB29+PYUUnN2ZaVGOzwcot+\/E9aMonMt8txny6orXlxc7mW5+ZyfYrItNLTR0dLFTRDDImBo8FuWcnd3OqjT3dNRCIiqahERAEREAUddb5Q2iIuqZR0hHmxN3c7w6vWVG3TUcz6w2yyRCoq84dJzbH293jyC22fTEVI8VlweauuduXvOWtPdnn61oopK8jllWlN4aXq+C+WcAhu+rMOqC6323O0bfSlHf2+zHrU\/bLPRWiIspIeEu9J5OXO9ZXcihzby4F6dCMXiecuf8AugREVDcIiIAi0zVlLTfr6mGL8bw34rhl1JZoW8TrjCR\/oJd8FKTehSVSEdWkSigL5qM0swt1tZ5TXy+aA3cRnv7+7xKj73rWE05gtLnPlk26UtI4R3A75XDY62a3Ql9HYKmrqJN31Lwd+4bHA8d1rGm0rtHFV2qMpYIPzevsWKwWAW0Oq6t3TV828khOeHPUPqptVg3bVNQMQWaOEk7GQ8vaQsG16rqw0z3eOAHmI+Y9gHxUOLbvJmkKsYRw04N+nyWdzg0ZcQB2lcU16tdOCZbhTtI5jpAT7BuoUaLFS4PuV1qqp3Pnj45XbDpCyRHPkfGf9cjj81FoLiXx15aRS838Gqo1rZ4TwxOmqHcgI4+vxwoyfW1ZVyiktluLZ5DwtMh4nf8Ab1du5wuq73OmtsotlipITcJPMzFGB0f9fhzK79P6fZaIjNM7pq2XeSU74z1D69av2Iq7RzN16k8EZZcbLTw8ysS2e92aKa71FdFDIRhzuLjkJONhkc\/HqXVbNJz3inbcbpWztkmGQObi3GAST3e5ddY12pdUNpA0+Q24\/puWHOzy8cY8CrLVVlLQQdLUzMhjHW448AplOSS5laWzU5SbfdXN8eLIeDRlkpxl8L5sdcsh+WAo2rqoqqpNs0xR04k36SqZGAGDrw7Hv9i9zVFy1bKaaka6ktgPnzOG8g\/PV7VY7bbKS1Uwp6SPhbzLju5x7SetVbce87s0jTjUypK0efF+Xyc1ksdPZactYeknfvJMRu76BSiIsm23dndCEYRwxWQREUFgiIgCIiAIi0vrKWL9ZUws\/E8BCG0tTcqtZv8AjGqay6l4fDTDooCMYx2jwyf+rwXRqXUFNSWl7aWojlnm8xvRvDuEY3J5\/kr3YZrTabTDTfaVH0mOOUidm7zz6+rl4LVJqLfM5JzjOqo3yWb\/AB8k8i4BfbU6RsbbhTue5wa0NeDkn1LvWbTWp1RlGWjCIigsEREAVZvNxuFZeBY7a9kJLOKSYu3A68eHjurMo252Ggux4qiMiTh4ekZgOwrQaTzMa8ZyhaJ6tFlo7NAY6ZmXuxxyO9Jx\/PUu6SRkTC+R7WNHMuOAFW\/uPSRD+zV9ZETzPED8AF6Zoe2cQdNPVTkY9OQcuzkrNRbu2ZRdWKwxppev6JCp1JZ6XZ9dG93ZF5592VGv1xQuPBR0lVUydTQ0AH4n3KTptOWekwYqCIntf559+VIsYyNvCxoaOwDCXguBbDtEtZJeSv8AcrJvmpKlpFLYeid1GYnl48KyYtZTnIqKSmB6sA49xVnRRjXBDcN96b+32KuLLqeUYnvrWD\/lg\/QLP3LE29bd6yoPbnHr55VnXiWWOGJ0srwxjBlznHAAU7yXAj6Wl\/Vn5tkDDoizRnL2zTfjkx\/tAULcaWhrK51p0\/b4XS4\/TVByQz1E5x6\/Yu6sudfqWpfb7MTFRjaapIxxDrA+nM+pTFvgtVho207KmCPbL3ySNBee0q+KUc28zm3dOplBJR4vn5fJmyWKlstMGRgPmcP0kpG7j3dgUooyTUVmi9K4wH8LuL4Lkm1nZIvRqHynsZGfnhZ4Zyd7HWqlClHCpJLzJ5FWDrenlPDRW6rqHdnCB8Mp95L1N+o05OAeRkLvoE3ciPqqXB38kyzqt3jUMk1T9k2UdNWPJa+Qcou3ft7+r1rnqKnV9dBJTttsNO17eEva8Bw9R4vkuW12DU1uicykkpKYyHLnOw53twVeMEs20YVa852jCLtxds\/QsNksNPZ4Sc9LUybyTO5k9g7ApKZz2wvdG3ieGktHaepVv7G1PN+vvrWf+036ALH3OmmP9rvlXOOvmPiSoaTd3I0jKcY4YU2l5pERabncLPTz0kVBxVcszi+ad\/C0EY23wOvtHNdMFJRVVQK3Ud6pqiUejTsmBazuOPgPepSLQ9nj9Lp5fxyfQBdMekrHFyoQ49rnuPzV3OPA5obNWslKzS4N5dFmYGp7BTRtjZWRsYzzWtjjdgeoALW\/Wlkbynkfv1RO+a7mWG0M5W2mO2N4gfit7LbQR+hRU7dsbRNHyWd4eJ2W2jml6P5IJ2u7Znhjp6uRx5AMb9Vj74VEv91sNZMDy5jPsBVlaxjM8LWtz2DC9JijyG7rPWfQrH25qSb9TYODHPpCfnhOm1nL\/haODxB\/8irOiY1yG4k9Zvp8FY8j1lJsbjSRDrw0b\/8AxWPsTU0pxNfgwf8ALB+gVoRMb5D6aPGTfqyr\/dW6SYM2pKo9rQHY\/wByz9zpXfrb5WPxy3O3vVnRN5IfSUuXV\/JVxoWjf+vrquTr9IDfxBWq46a0\/ZqJ9XVCeRo2awybud1AYx+Qpu632htEZ6eTimPows3c4\/LxUNQ2yv1DVR3K9N6OnZvDS42I7wfD1q6lLWTyOepSop4KcU5fbzObTuk4KqN9dcqfEU28EHG4cLTvkkHPqU0NIWEf4D\/7X\/VTIAAwBgBZWbqSbvc6Key0oRSwp+hFwaas1PI2SOgj4m8i4l3xKlERVbb1N4wjDuqwREUFgiIgK5qTUFwtVS2Cjow9ro+MyvBIBydtvV71Wp9V6gmJ4ZTED1Rwj5glfSEWsZxS0OKrs9Scm1UaR8xF4urhxPuVwa48w1m3+4J9rXL\/ANTuX\/Z\/+l9ORW3q5GX0Mv8AsfX5PmP2hfpP7vV3KUfhd8iVuYdXSej9pD8XE34r6Qib3wC2F8ZsoLKDWj\/3lS0drqho+a6Y7Lq94BdcizPU6oO3sBV1Ubeb5SWWAPnJdI4fo4m83fQd6hVJN2SLPZacFilN28yuVduvlupzUV2o+ijA\/Ze9xJ7ANsrjt9nvmooC+qr52Uh3YZnEh57m596lqGy1d9qxdL4XNj\/c0m4Ab39g+PWrU1oa0NaAABgAdSl1MOS1KU9mVR4ndR5XefmUo6Bqej4W3NpH8JjIHxWl2gK3I4KyA7b54h8lfEVd9M2ewUHw6lEj0Nc4TxR1NG53Y9pcPe0rqiseo6PHQ\/Zbsb5bCweHoBXFEdWT1C2KlHu3XqVcDWQGAKMAepZM2s4\/8NRy9fMb93MKzoq4\/BGn0\/8AnL3Kw686ogP6axMfv+6dn4EoNWV7T+m05WMB5ekf\/EKzomKPIbmotKj9l8FXOt4WDM1sq4x1bBe2a7tLjgx1TO9zG\/Iqyry+Nkgw9jXD\/UMqbw5Dd11\/X0\/ZBN1rZXZzNI31xH5LezVljecCvaPxRvHxC7326hkGH0VO4f6omn5LS+xWl4wbbSj8MQHwUdjxFtoXFez+TwzUNnecC404\/E\/HxW9l1t0noV9K7fG0zT81yP0vZHjBt8Y\/CSPgVofo2xv9Glez8MrvmSp7HiL7QuC6kt5bSf5qH+YE8tpP81D\/ADAoX7kWb+Cb+Yn3Is38E38xLQ5jFtH9q9\/0TXltJ\/mof5gTy2k\/zUP8wKF+5Fm\/gm\/mJ9yLN\/BN\/MS0OYxbR\/avf9EvJcqCFvFJW07B2mUBcc2qLJAXB1fG4t\/gBdn2BaI9GWSMgmne\/B\/akd8l2RWC0QY4LfBt\/Ezi+KjseIvtD4Je7+CKfrelkdwUFDU1UnZgNHzPuXnj1Td3gNjbaqdwOXHBf9fgrNHGyJgZGxrGjkGjAC9KcSWiG5qS78\/bL9kLatMUVuk8olLquqJyZpd8HtA6veVNIio23qbQpxgrRVgiIoLhERAEREAREQBERAEREAWHODWlziAAMknqWVAXezXK8V4hkrRDbgAeGMec49h\/OFKSbzM6kpRV4q7NFfqiWpqPILDF5TOdjNjLG\/ntO3rW+0aZbTy+XXOTyytJ4uJ24Ye7t\/OFK0FtpLZTiCkhEbes9bj2k9a6ldysrRMo0XJ46ru+XBBERZnSEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/9k=",
    "razonSocial": "FG LOGISTICA SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "MARCE LY BROCHET",
    "correoContacto": "marcela@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56984698241",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28565\",\"cantidad_usada\":1,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28565\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28565\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:59",
    "ubicacionGPS": "LatLng(lat: -23.6306471, lng: -70.2944105)",
    "horaLlegada": "08:39",
    "horaDespacho": "11:06",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 05/05/2026 11:59:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-P9ta21gAEs8ZU9okT4S0se6NqcAw3RSNxh353o3XdeCCgbmNLDG
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76634430",
    "serieinterna": "EP2384",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "57975",
    "contadorColor": "22667",
    "contadorScanner": "0",
    "detalle": "•Entrega tintas epson",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12448",
    "observacion": "2 cyan, 1 magenta y 1 negra",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACfAUYDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABHEAABAwMCAgUJBAcGBQUAAAABAAIDBAURBiESMRNBUWGBFCIycZGhscHRFRZy8CMzQkNSk+EkNERUYrIlY4KSwlVzoqPi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QANBEAAgECAwUHBAAGAwAAAAAAAAECAxESITEEE0FRoSIyYXGBkdEUscHhIyRCUmLwM1Px\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC1VNRFSUstTM7hjiaXOPcFtVI1zeeN7bXA8FrfOnxvv1N8OfiFeEcTsYbRWVGm5MktN6grL1c6sPY1tK0cUY4d28gBnl2n1nsRb9I2n7OtLJZAenqBxuB\/ZB5D2Yz\/AERJ2xZEbNj3Sc9WTyIiodAREQBERAEREAREQBERAEREAREQBERAEReJZY4Y3SSyNjY0Zc5xwB4oD2ir1RrKgbN0FFFNWyYP6ppxt7\/cvNPqmc1LG1tqmpIJHcDZH55+zdX3cuRz\/U0r2uWNERUOgIiIAiIgCIiAIiIAiIgCIiAIiIDluVwhtdBLVzbtjGzQd3HqAVAt9BJdLlDSy+nVP8qqTk5DOYHPrBz\/ANQUtre4mSohtjc9HGBNOR2dQ\/PWQpHSFudBQuuE4PT1h4tydmfsjf2+rC3j2IX5nl1f5jaFT4L\/AF\/HuWFrQ1oa0AADAA6kWUWB6gREQBERAEREAREQBERAEREAREQBEWCQBknACAytc9RDSwumnkbHG0ZLnHACgrnquKKYUdri8vq3bAM3Y09+Ofh7Voh0zWXOdtVqCrMuOVPGcNHdkfL2q6hbOWRzSr3eGkrvovU9T6rkrJOgsdFLVOzgzOYeBvfj64XiDTFbcnifUFdJLvkU8bvNb8h4e1WWCCGmiEUETIo28msGAFsU47d0jcOedV38OBzQ09Ha6Rwhjjp4I2lzsDGABuT2qvUDpdS34XFzHsoKM\/2d27S52Rnr68b92AvFzrJ9S3T7Gt78UUZBqZ27g92fcO09ys1HSQ0FJHS07OGKMYaFPdWerKr+NK0e5Hq\/hG9ERZHYEREAREQBERAEREAREQBERAFhzg1pc4gADJJ6llQGsbh5HZXQMJ6WqPRtA7P2vdt4qYq7sZ1ZqnBzfAqdNFNqXU0zWuxFNIXyOxnEbeQ7ewexfSWMbHG1jBhrQAB2BQ2l7ILRbg6Ro8pnAdISN27ej4fFTa0qSu7LRHPslF04Ypd55hERZHYEREAREQBERAEREAREQBERAEXHcbrR2qDpaqXh\/hYN3O9QVeNbe9T+Zb2G30Od53Hzn+r+ntV1BvPgYVK8YPCs3yRK3XU9utZdEX9PUt26GPc57zyHxUWKC9amc2S5PdQUPMQRnznjv\/r7FLWjTtDaWhzGdNUczPIMu8OxSynEo90pup1f+V5cl+XxOK32mhtcfBR07YyRhz+bnes812oio3fU6YxUVZIKr3i7VN0rzY7O7zjtUTg7Mb14Px9i3X29TOn+x7RmSul2e9p2iHXv2\/Bd1iscFko+jZh8z95ZMekez1K6Sirs5ZydWW7hpxf4RvtVqprRRtp6dve955vPaV2oio3fNnTGKirLQIiKCwUU3UFLLffsmFj5ZADxyNxwscOYP557erh1VqF1tiFFRnNZMObdzGO31nqW7TFi+yqU1FQD5ZOMyZOeEdmfeVoopRuzllVlKru6fDV\/gnURFmdQREQBERAEREAREQGueeKmgfPM8MjjHE5x6gqNQVE2qdWx1EkeKanHEGHcNaOXrJJH5C7L7WG\/V77bTyBtDRtM1VM3f0RuB2\/X1Lp0PRhtBPXlga6pkwzY7Nb1A+vPsW6WCLfE82pN160YLurrYtCIiwPSCIiAIiIAiIgCIiAIiIAi8veyNhfI4Ma0ZLnHACrdVqx9RO6msdE+tlad5C08A\/p3nCsouWhlUqwp95linnhpojLPKyKNvNzzgBVyr1NVV8xpdPUxqHcnVDm4a31Z+axFpqtujxUagrXyYOW08TsNb+e72qxUtJT0UDYKaJsUbeTWhW7MfFmX8Wr\/AIrr+iDt2lWdMK28TGuqyckOOWN7sdfw7lYQABgDACyio5N6m1OlGmrRQREUGgVdvt9mFQLTaR0tdLs5zeUX9fgl9vswqBabSOlrpdnObyi\/r8F2WKxQ2anJJ6Wql3lmPM9w7vitElFXZyznKrLd09OL\/C8fsLFYobNTkk9LVS7yzHme4d3xUsiKjbbuzeEIwjhjoERFBcKC1JqSOzQ9DCQ+sePNb1MHafovepL\/AB2ajxE5rquTaNnPh\/1HuVU05Zqi+3E19Zl9Ox\/FI5+\/SO54+q2hBWxS0ODaNoli3NLvPoS+krNJLIb3cP0ks3nRce5\/F9FblhrQ1oa0AADAA6llZyk5O51UaSpQwoIuK6XaktNMZqqQA481g9J57AFXWUd31WTPVzPobeT5kLfSePz1nwClRvm9CtSsovDFXly+eRb0Vb01K6mulytIfJJDTuBjLyCQOzlv\/RT1RVU9JH0lTPHCz+KRwaPeocbOxanUU4YtDci5qS4Ule1xpZ2S8JwQOY8F0quhommroIiISFX9R3qenlitdtHHXVOwI\/dg9fr+HNdF9v8ADaozBEOlrZBiKIDO\/Vn6cytWnbG6ha6urj0twnJL3uOeAHqHz9i0irLEzlqTc5bqm\/N8v2Rd3omad0p5DCeOeskDXuDclx68d22PFWi3UoobdT0o\/dRhp9eN\/eq\/W8V51nT0gDX01vb0kmdxxHf48O3r7wrSk27JPzK0IrHJx0WS9NeoREWZ2BERAEREAREQBFgkAZJwAoG5aqghk8mtsZr6onGIhlrT3kc\/DvUqLehnUqRpq8mTksscMbpJZGxsaMuc44A8VX63WFMH+TWqGSuqXejwtPD9T+d1qjsFwvUram\/z8MfNtJFsGnvPV7zvz2VgpKCkoWcFLTxwjGPNbgn1nrV+zHXMxvWqd3srr+iuMsF3vb2S36r6OEHIposD242+JVkpKKmoIBBSwsijHU0c\/WevxW9FVybNKdGFPNZvm9QiIqmwREQBV7Ud9lpnttdtaZK+cYHD+7B+fw5rZf7+aAtoaFvTXCbZjAM8Ges9\/cvVgsAtodV1bumr5t5JCc8OeofVaRSSxM5ak5VJbun6vl+zbYrFDZqcknpaqXeWY8z3Du+KlkRUbbd2bwhGEcMdAiIoLhQt+v32fw0dGzp7hNtHGN+HPWVi\/wB\/FtDaSkb01fNtHGBnhz1n6Kv1NNLZoDG5xqr7chg43MbHbHHf1Z+m+sIcWcW0V7XjDhq+Xh5nDRWepvV4lhdOZHsP9rqc5A6sN7eWPDbbn9Co6SGgpI6WnZwxRjDQoy2Mtenbe2mfW07X85HueGl5Pdla6jWdlgB4Z3zEdUcZ+eApm5TdloUoRpbPG82lJ+PQnlD3zUVNZ29E0dNVvHmQt+fZ81DT61nrQaa0UEhqHjzXO84jt80Litlu1HTVLqttsjlqXnJnqnAuHqy73pGnbOQqbXi7NG78bXsTFq05LVVIut9d09Q7dsLt2sHVkfLkrJJIyKN0kjg1jAXOcTsAOZVZNu1ZV4E91hpmnmIhuPYPmsS6NnqI3Ce+VUziNuPJGe\/JKh2bzZam5QjanTfrbMh6LUcdJW3Gtih6aqq5cRM3DQ3tJ9nsK7IaShrZvL9R3amllIy2mZMMRjng4OfAe9d8GhLVG1vTSTzOHPLg0HwA+a7GaSskQ4m0Ae4Dbikcc+\/Cu5w4GENnr27aTXL\/AM1K9SXi1W7VU89PKI6B8IaBEwhpdgdXtUq\/XFC53DTUlVUHuYB81CUENZb6yrb93jVTySYbxRfooxvy2xjl18gpllNqquOHy09uiyHcMY3O\/dvy7+pTJRvn9ylKdbC1Hm9F85Gqr1hcIoekbZXwM\/jqHEA+rYZXDT6k1JeXdDQwRNJ2L44zhveSScKYptGUYlM1xqJq+U8zI4gfHPvU\/BBDTRCKCJkUbeTWDACo5QWiN40dom7znZdehTKXTeo6OsfWRzUrqh\/OSR3GfeFLQTagtzJ6u7TU0lNFE52GDzsjljACsKrOsqmSWGms9O3imrZBnsAB29+PYUUnN2ZaVGOzwcot+\/E9aMonMt8txny6orXlxc7mW5+ZyfYrItNLTR0dLFTRDDImBo8FuWcnd3OqjT3dNRCIiqahERAEREAUddb5Q2iIuqZR0hHmxN3c7w6vWVG3TUcz6w2yyRCoq84dJzbH293jyC22fTEVI8VlweauuduXvOWtPdnn61oopK8jllWlN4aXq+C+WcAhu+rMOqC6323O0bfSlHf2+zHrU\/bLPRWiIspIeEu9J5OXO9ZXcihzby4F6dCMXiecuf8AugREVDcIiIAi0zVlLTfr6mGL8bw34rhl1JZoW8TrjCR\/oJd8FKTehSVSEdWkSigL5qM0swt1tZ5TXy+aA3cRnv7+7xKj73rWE05gtLnPlk26UtI4R3A75XDY62a3Ql9HYKmrqJN31Lwd+4bHA8d1rGm0rtHFV2qMpYIPzevsWKwWAW0Oq6t3TV828khOeHPUPqptVg3bVNQMQWaOEk7GQ8vaQsG16rqw0z3eOAHmI+Y9gHxUOLbvJmkKsYRw04N+nyWdzg0ZcQB2lcU16tdOCZbhTtI5jpAT7BuoUaLFS4PuV1qqp3Pnj45XbDpCyRHPkfGf9cjj81FoLiXx15aRS838Gqo1rZ4TwxOmqHcgI4+vxwoyfW1ZVyiktluLZ5DwtMh4nf8Ab1du5wuq73OmtsotlipITcJPMzFGB0f9fhzK79P6fZaIjNM7pq2XeSU74z1D69av2Iq7RzN16k8EZZcbLTw8ysS2e92aKa71FdFDIRhzuLjkJONhkc\/HqXVbNJz3inbcbpWztkmGQObi3GAST3e5ddY12pdUNpA0+Q24\/puWHOzy8cY8CrLVVlLQQdLUzMhjHW448AplOSS5laWzU5SbfdXN8eLIeDRlkpxl8L5sdcsh+WAo2rqoqqpNs0xR04k36SqZGAGDrw7Hv9i9zVFy1bKaaka6ktgPnzOG8g\/PV7VY7bbKS1Uwp6SPhbzLju5x7SetVbce87s0jTjUypK0efF+Xyc1ksdPZactYeknfvJMRu76BSiIsm23dndCEYRwxWQREUFgiIgCIiAIi0vrKWL9ZUws\/E8BCG0tTcqtZv8AjGqay6l4fDTDooCMYx2jwyf+rwXRqXUFNSWl7aWojlnm8xvRvDuEY3J5\/kr3YZrTabTDTfaVH0mOOUidm7zz6+rl4LVJqLfM5JzjOqo3yWb\/AB8k8i4BfbU6RsbbhTue5wa0NeDkn1LvWbTWp1RlGWjCIigsEREAVZvNxuFZeBY7a9kJLOKSYu3A68eHjurMo252Ggux4qiMiTh4ekZgOwrQaTzMa8ZyhaJ6tFlo7NAY6ZmXuxxyO9Jx\/PUu6SRkTC+R7WNHMuOAFW\/uPSRD+zV9ZETzPED8AF6Zoe2cQdNPVTkY9OQcuzkrNRbu2ZRdWKwxppev6JCp1JZ6XZ9dG93ZF5592VGv1xQuPBR0lVUydTQ0AH4n3KTptOWekwYqCIntf559+VIsYyNvCxoaOwDCXguBbDtEtZJeSv8AcrJvmpKlpFLYeid1GYnl48KyYtZTnIqKSmB6sA49xVnRRjXBDcN96b+32KuLLqeUYnvrWD\/lg\/QLP3LE29bd6yoPbnHr55VnXiWWOGJ0srwxjBlznHAAU7yXAj6Wl\/Vn5tkDDoizRnL2zTfjkx\/tAULcaWhrK51p0\/b4XS4\/TVByQz1E5x6\/Yu6sudfqWpfb7MTFRjaapIxxDrA+nM+pTFvgtVho207KmCPbL3ySNBee0q+KUc28zm3dOplBJR4vn5fJmyWKlstMGRgPmcP0kpG7j3dgUooyTUVmi9K4wH8LuL4Lkm1nZIvRqHynsZGfnhZ4Zyd7HWqlClHCpJLzJ5FWDrenlPDRW6rqHdnCB8Mp95L1N+o05OAeRkLvoE3ciPqqXB38kyzqt3jUMk1T9k2UdNWPJa+Qcou3ft7+r1rnqKnV9dBJTttsNO17eEva8Bw9R4vkuW12DU1uicykkpKYyHLnOw53twVeMEs20YVa852jCLtxds\/QsNksNPZ4Sc9LUybyTO5k9g7ApKZz2wvdG3ieGktHaepVv7G1PN+vvrWf+036ALH3OmmP9rvlXOOvmPiSoaTd3I0jKcY4YU2l5pERabncLPTz0kVBxVcszi+ad\/C0EY23wOvtHNdMFJRVVQK3Ud6pqiUejTsmBazuOPgPepSLQ9nj9Lp5fxyfQBdMekrHFyoQ49rnuPzV3OPA5obNWslKzS4N5dFmYGp7BTRtjZWRsYzzWtjjdgeoALW\/Wlkbynkfv1RO+a7mWG0M5W2mO2N4gfit7LbQR+hRU7dsbRNHyWd4eJ2W2jml6P5IJ2u7Znhjp6uRx5AMb9Vj74VEv91sNZMDy5jPsBVlaxjM8LWtz2DC9JijyG7rPWfQrH25qSb9TYODHPpCfnhOm1nL\/haODxB\/8irOiY1yG4k9Zvp8FY8j1lJsbjSRDrw0b\/8AxWPsTU0pxNfgwf8ALB+gVoRMb5D6aPGTfqyr\/dW6SYM2pKo9rQHY\/wByz9zpXfrb5WPxy3O3vVnRN5IfSUuXV\/JVxoWjf+vrquTr9IDfxBWq46a0\/ZqJ9XVCeRo2awybud1AYx+Qpu632htEZ6eTimPows3c4\/LxUNQ2yv1DVR3K9N6OnZvDS42I7wfD1q6lLWTyOepSop4KcU5fbzObTuk4KqN9dcqfEU28EHG4cLTvkkHPqU0NIWEf4D\/7X\/VTIAAwBgBZWbqSbvc6Key0oRSwp+hFwaas1PI2SOgj4m8i4l3xKlERVbb1N4wjDuqwREUFgiIgK5qTUFwtVS2Cjow9ro+MyvBIBydtvV71Wp9V6gmJ4ZTED1Rwj5glfSEWsZxS0OKrs9Scm1UaR8xF4urhxPuVwa48w1m3+4J9rXL\/ANTuX\/Z\/+l9ORW3q5GX0Mv8AsfX5PmP2hfpP7vV3KUfhd8iVuYdXSej9pD8XE34r6Qib3wC2F8ZsoLKDWj\/3lS0drqho+a6Y7Lq94BdcizPU6oO3sBV1Ubeb5SWWAPnJdI4fo4m83fQd6hVJN2SLPZacFilN28yuVduvlupzUV2o+ijA\/Ze9xJ7ANsrjt9nvmooC+qr52Uh3YZnEh57m596lqGy1d9qxdL4XNj\/c0m4Ab39g+PWrU1oa0NaAABgAdSl1MOS1KU9mVR4ndR5XefmUo6Bqej4W3NpH8JjIHxWl2gK3I4KyA7b54h8lfEVd9M2ewUHw6lEj0Nc4TxR1NG53Y9pcPe0rqiseo6PHQ\/Zbsb5bCweHoBXFEdWT1C2KlHu3XqVcDWQGAKMAepZM2s4\/8NRy9fMb93MKzoq4\/BGn0\/8AnL3Kw686ogP6axMfv+6dn4EoNWV7T+m05WMB5ekf\/EKzomKPIbmotKj9l8FXOt4WDM1sq4x1bBe2a7tLjgx1TO9zG\/Iqyry+Nkgw9jXD\/UMqbw5Dd11\/X0\/ZBN1rZXZzNI31xH5LezVljecCvaPxRvHxC7326hkGH0VO4f6omn5LS+xWl4wbbSj8MQHwUdjxFtoXFez+TwzUNnecC404\/E\/HxW9l1t0noV9K7fG0zT81yP0vZHjBt8Y\/CSPgVofo2xv9Glez8MrvmSp7HiL7QuC6kt5bSf5qH+YE8tpP81D\/ADAoX7kWb+Cb+Yn3Is38E38xLQ5jFtH9q9\/0TXltJ\/mof5gTy2k\/zUP8wKF+5Fm\/gm\/mJ9yLN\/BN\/MS0OYxbR\/avf9EvJcqCFvFJW07B2mUBcc2qLJAXB1fG4t\/gBdn2BaI9GWSMgmne\/B\/akd8l2RWC0QY4LfBt\/Ezi+KjseIvtD4Je7+CKfrelkdwUFDU1UnZgNHzPuXnj1Td3gNjbaqdwOXHBf9fgrNHGyJgZGxrGjkGjAC9KcSWiG5qS78\/bL9kLatMUVuk8olLquqJyZpd8HtA6veVNIio23qbQpxgrRVgiIoLhERAEREAREQBERAEREAWHODWlziAAMknqWVAXezXK8V4hkrRDbgAeGMec49h\/OFKSbzM6kpRV4q7NFfqiWpqPILDF5TOdjNjLG\/ntO3rW+0aZbTy+XXOTyytJ4uJ24Ye7t\/OFK0FtpLZTiCkhEbes9bj2k9a6ldysrRMo0XJ46ru+XBBERZnSEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/9k=",
    "razonSocial": "FG LOGISTICA SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "MARCE LY BROCHET",
    "correoContacto": "marcela@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56984698241",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28565\",\"cantidad_usada\":1,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28565\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28565\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:59",
    "ubicacionGPS": "LatLng(lat: -23.6306471, lng: -70.2944105)",
    "horaLlegada": "08:39",
    "horaDespacho": "11:06",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


05/05/2026 11:59:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76634430

[05/05/2026 11:59:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76634430', 'EP2384', 1, 24456550, 57975, NOW(), 
				'11:06', '08:39', '11:59', 10, '•Entrega tintas epson', -1, 
				'', '','1','22667',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777996754.png', '2 cyan, 1 magenta y 1 negra', null, 'COMPLETADO','LatLng(lat: -23.6306471, lng: -70.2944105)' )
				
[05/05/2026 11:59:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200178
[05/05/2026 11:59:14] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200178', 'EPS-I304', 1)
				
[05/05/2026 11:59:14] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28565 and
				    IDproducto = 'EPS-I304'
				

05/05/2026 11:59:14 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                [05/05/2026 11:59:14] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200178', 'EPS-I302', 1)
				
[05/05/2026 11:59:14] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28565 and
				    IDproducto = 'EPS-I302'
				

05/05/2026 11:59:14 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I302';
                [05/05/2026 11:59:14] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200178', 'EPS-I303', 1)
				
[05/05/2026 11:59:14] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28565 and
				    IDproducto = 'EPS-I303'
				

05/05/2026 11:59:14 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I303';
                
05/05/2026 11:59:14 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200178'                    
				WHERE idllamado = 12448			
				TO ENVIO: micorreo@miempresa.cl, marcela@dsprint.cl


05/05/2026 11:59:14 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12448			
				
05/05/2026 11:59:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


05/05/2026 11: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 = 12448
                
05/05/2026 11: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 = 12448
                
05/05/2026 11: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 = 12448
                
05/05/2026 11:59:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12448
            GROUP BY l.idllamado;
            
05/05/2026 11: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 = 12448
                
05/05/2026 11: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 = 12448
                
05/05/2026 11: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 = 12448
                
05/05/2026 11:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                [05/05/2026 11:59: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;
                

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

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

05/05/2026 11: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 = 12448
                
05/05/2026 11: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 = 12448
                
05/05/2026 11: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 = 12448
                
05/05/2026 11: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 = 12448
                
05/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12448
                
05/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            [05/05/2026 12:00: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;
                

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

05/05/2026 12: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 = 12207
                
05/05/2026 12: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 = 12207
                [05/05/2026 12:00: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;
                

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

05/05/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 = 12207
                
05/05/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 = 12207
                
05/05/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 = 12207
                [05/05/2026 12:00: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;
                

05/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
05/05/2026 12:00:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
05/05/2026 12:00:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
05/05/2026 12:00:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
05/05/2026 12:00:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:00:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:00:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:00:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/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 = 12207
                
05/05/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 = 12207
                
05/05/2026 12:00:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
05/05/2026 12:00:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:00:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:00:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
05/05/2026 12:00:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:00:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:00:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
05/05/2026 12:00:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:00:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:00:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:00:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12: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 = 12207
                
05/05/2026 12:00:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
05/05/2026 12: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 = 12207
                
05/05/2026 12:00:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
05/05/2026 12:00:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:00:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:00:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
05/05/2026 12:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
05/05/2026 12:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
05/05/2026 12:01:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
05/05/2026 12:01:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:34 - logentry: =========================================
FECHA: 05/05/2026 12:01:34
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ZD9sc-kmVxgUUcc-mCf_VMsYW160Baz_zBO7sZXg+cU8uqsMOkS
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76291963",
    "serieinterna": "EP2882",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "serv repetido",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12207",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABmAMADASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAIBAwf\/xABAEAABAwMBBAcEBQoHAAAAAAABAAIDBAURBhIhMUETUWFxgZGhFCIjsTJSwdHhBxUzNEJigrLw8SU2Q0VTdNL\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQIDBQYGAwAAAAAAAAAAAQIDERIhMSIyQVFxBBNhgbHhFCMzocHRYpHw\/9oADAMBAAIRAxEAPwD+zIiIALMvV8p7PCNv4tRJujhb9J3b3LzqG7izWt07cGZ52IgfrdfcFn6asz3ht4ueZayUZZ0gwWDke8p4xVsTM1SrJz7qnrz5HhlNqy5B0k1XFb2EgtjaASPLJ8yvQs+p4\/ejvrHuHBr27j6FUyIxvkHw0eMnfqyXjvd5tM8cd7pA+CQge0xDc3PXjd4blTNc17A9jg5rhkEHIIXLdaIXG2VFLgbT2HYJ5O4tPnhZ+ka91bZGNkJ26dxiOeOBw9MeS67NXQQcqdTu27p6XNxERTNIREQAREQAReXvbGxz3nDWgknqCntKSy18lwucm0GTy4jaScNA6vMJkrpsnKpacYcyjRESlAiIgAiIgAiIgAvjnBrS5xAAGSTyX1Tetbr7FavZI3Ymq8tOOTOfnw8SmjHE7E6tRU4Ob4GbTkav1OZXtLrfSN3Nduz1A9539wwrZYWj6IUdgieQNuoJkcQOvh6Bbqao87LREeywahjlrLNhERTNQUxowk\/nLJ4VJx6qnUxoz\/c\/+yftTx3WZqn1qfn6FOiIkNIREQAREQBh6urjR2KRjHYlqCImAE538eHZ8132eiNutFNSOADo2Dax9Y7z6krCqv8AHNZRUuM01tG28EbnO4\/PA8CqpUllFIy0turKfBZL8\/cIiKZqCIiACIuSrutBQ\/rVZDEfql3veXFCVzjkoq7Z1op2fXFniz0bppz+5Hj54Xu3ammuddHBDaKhsLiczPOA0Dnwx6p8ErXsQ+JpN4VK7\/s3nODWlziAAMknkv5jd6iW+3N1UwHZlmFPTA8wOzxaf4lbarr3UFgmdG7ZkmIiae\/j6ArAtVA06loKHAxb6bpJQB\/qHeePa5vly5UpbKcjJ2y9SSpLw+\/tdlpDEyngjhjGGRtDWjsAwv0RFA9PQIiIA+EgDJOAFM6HBkoaypIx01ScDwB+1bN7qPZbJWTDi2JwHeRgepXJpOn9n05SjnIDIfE7vTCdZQZmlnXiuSb\/AAbKIiQ0hERABcd2uDLXbJqx+CWN91p\/aceA812KVvzXXzUVJZWE9DB8aox1f2OP4k0Fd5ka83CGzq8l1OzSFAaW0+1SgGasd0rndY5fafFby+NaGtDWgAAYAHJZlz1FbbTltRNtS\/8AFH7zvw8UO8mEVChTSbskai\/OaaKnjMk8rImDi57gAPEqcF01HeGg22gZRQO4TTnJ7wD9x716i0eKif2m73CaslwNw90NPVnq7sJsCW8xO\/lL6cb+LyX7Oir1jZ6bdHM+pfnGzC3PqcBcovWo7g0Pt9nbDGR9Kodv8MkdnLrW3SWm30GPZaOKMj9oNy7zO9diMUVog7utLflbp+2TB07eLidq6Xt4bn9FAMAj0GfArppNGWal2S+F9Q4HOZX\/AGDAW8i5jkdXZqSd2rvxzPwhoaSnOYaWGI\/uRgfJfuiJC6SWhMamPt18tNqHB0nSyY3nH9g5alvszKC5Vtd0zpX1b84IxsDq7fwWXD8f8ok+R+r0wxu7G\/8ApU6pJtJIy0Yqc5Tet\/TIIiKZrCIiAJzWkznW6noI\/wBLWTtaBniB+Jat+nhFPTRQg5EbA0HuGFNQPN71o6oY0mkt7SwP5F\/9yfAKpVJZJIy0ducqnkvL3CIimagiIgD8aupZR0ktTIQGRMLjk9QU5phkkFBWX+tD3yVRL8NG\/YB5Dvz4AL3rCpM7aWywZM1ZI0uA5Nzu9f5SqGmp46SmipoW7McTQ1o7AqbsepkfzK2WkfV\/pExBVXnVIeaedluomu2XFpzITzHWPRatu0xa7c4SNg6aYb+lmO0c93ALhu9lraStddrJKWykjpoN5Dx3c+7yXdZdRUt4+FgwVTR78L+PbjrTSva8dCdNRU7Vd7g3x6cjXREUTeEREAEREAEREATFmAfrW7yEe81oaO7d9wVOpix\/5wvPh81Tp56mbsu4+r9QiIkNIWBqq6S01My30YL6ysyxrWjeGncSO38epaV2ucNot76qY8NzG\/WdyCyNOWqaeU3u6bT6yXfG1wx0beW7l9ypFW2mZq0nJ91DV6+C\/wBoalktMVmtzKZmHScZJAMbbv63LQREjd3dl4xUIqMdEERFwYIiy9R135vsVTMDh7m7DN2d7ty6ld2FnJQi5PgZdgYLtqCuvTztMid0NPkDd1nI7P5lULK0zR+xWCljIIe9vSOz1u3\/ACwtVNN3ZLs8XGmr6vN+YWNetNUt2+M0mnq2jLZWbsnltdfzWyiVNp3RScI1I4ZK6Jaj1FV2mpbb9QsIccdHUtGWuHWfv81SwzR1ELJoXh8bxlrmncQvlRTQVcJhqYWSxni14yFPy6aqrbI6o0\/WugJOXU0p2mO\/rt8wn2ZeDIJVaX8l9\/cpUU3Ratayf2O80xoagDJcfoHdnvHr3qiY9kjQ9jg5p4FpyClcWtS1OrCotlnpERKUCIiAJhpND+UBzT9Cup92TwIH3sPmqdTWsKeSJlJeIBl9DKC4Y4tJH2j1W\/SVUVbSx1MDtqOVu00qks0mZaOzOcHzv5P3P2XPW11PbqV1TVSCONvXxJ6h1lcl4v1FZoczv2pSPchafed9w7Vj0lor9QVbLjfPh07TmGk4bu0cvmexcjHi9BqlazwU85enU+UlJU6qrG3C4MMdujPwKc\/t9pVYvjWhrQ1oAAGAByX1clK49Kkqa5t6sIiJSoREQAU1rdxfbqWlBx09S0HuwftIVKpjWYOLYcbvagnp7yM3avoyKVrWsYGNGGtGAOoL0iJDSEREAEREAc9bQUlwh6GrgZMzltDeO48R4Kel01X2lxn0\/WvG8l9PM4EO7Bux2b\/NVKJlJojUowqZvXnxJyg1az2gUV4p3UFTzc7dGe3fw9R2qia4OaHNIIIyCOa56630typzBVwtkaQcEje3tB5FfhZrPHZaZ9PDPLKxzy4CQj3e7C68LV0cpqrF4ZZrnxNBERIXPEsUc8L4ZWB8bwWuaeBCmxpe40regt96kgpuIZg5ac8v660RPGTRCtTjOzZ2WzS9Fb5nVEpdV1LjnpJeXhn1OVtoiVtvUpCnGmrRVgiIuDhERABERABeXNa7G00HZORkcCiIA9IiIAIiIAIiIAIiIAIiIAIiIA\/\/2Q==",
    "razonSocial": "TYM CONSTRUCCION Y MONTAJE LTDA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "catalina ",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "wsp",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "tintas, caja de mantenimiento",
    "prioridad": "2",
    "telefonocontacto": "987466468",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:01",
    "ubicacionGPS": "LatLng(lat: -22.3449117, lng: -69.6583033)",
    "horaLlegada": "07:10",
    "horaDespacho": "11:57",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 05/05/2026 12:01:34
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ZD9sc-kmVxgUUcc-mCf_VMsYW160Baz_zBO7sZXg+cU8uqsMOkS
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76291963",
    "serieinterna": "EP2882",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "serv repetido",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12207",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABmAMADASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAIBAwf\/xABAEAABAwMBBAcEBQoHAAAAAAABAAIDBAURBhIhMUETUWFxgZGhFCIjsTJSwdHhBxUzNEJigrLw8SU2Q0VTdNL\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQIDBQYGAwAAAAAAAAAAAQIDERIhMSIyQVFxBBNhgbHhFCMzocHRYpHw\/9oADAMBAAIRAxEAPwD+zIiIALMvV8p7PCNv4tRJujhb9J3b3LzqG7izWt07cGZ52IgfrdfcFn6asz3ht4ueZayUZZ0gwWDke8p4xVsTM1SrJz7qnrz5HhlNqy5B0k1XFb2EgtjaASPLJ8yvQs+p4\/ejvrHuHBr27j6FUyIxvkHw0eMnfqyXjvd5tM8cd7pA+CQge0xDc3PXjd4blTNc17A9jg5rhkEHIIXLdaIXG2VFLgbT2HYJ5O4tPnhZ+ka91bZGNkJ26dxiOeOBw9MeS67NXQQcqdTu27p6XNxERTNIREQAREQAReXvbGxz3nDWgknqCntKSy18lwucm0GTy4jaScNA6vMJkrpsnKpacYcyjRESlAiIgAiIgAiIgAvjnBrS5xAAGSTyX1Tetbr7FavZI3Ymq8tOOTOfnw8SmjHE7E6tRU4Ob4GbTkav1OZXtLrfSN3Nduz1A9539wwrZYWj6IUdgieQNuoJkcQOvh6Bbqao87LREeywahjlrLNhERTNQUxowk\/nLJ4VJx6qnUxoz\/c\/+yftTx3WZqn1qfn6FOiIkNIREQAREQBh6urjR2KRjHYlqCImAE538eHZ8132eiNutFNSOADo2Dax9Y7z6krCqv8AHNZRUuM01tG28EbnO4\/PA8CqpUllFIy0turKfBZL8\/cIiKZqCIiACIuSrutBQ\/rVZDEfql3veXFCVzjkoq7Z1op2fXFniz0bppz+5Hj54Xu3ammuddHBDaKhsLiczPOA0Dnwx6p8ErXsQ+JpN4VK7\/s3nODWlziAAMknkv5jd6iW+3N1UwHZlmFPTA8wOzxaf4lbarr3UFgmdG7ZkmIiae\/j6ArAtVA06loKHAxb6bpJQB\/qHeePa5vly5UpbKcjJ2y9SSpLw+\/tdlpDEyngjhjGGRtDWjsAwv0RFA9PQIiIA+EgDJOAFM6HBkoaypIx01ScDwB+1bN7qPZbJWTDi2JwHeRgepXJpOn9n05SjnIDIfE7vTCdZQZmlnXiuSb\/AAbKIiQ0hERABcd2uDLXbJqx+CWN91p\/aceA812KVvzXXzUVJZWE9DB8aox1f2OP4k0Fd5ka83CGzq8l1OzSFAaW0+1SgGasd0rndY5fafFby+NaGtDWgAAYAHJZlz1FbbTltRNtS\/8AFH7zvw8UO8mEVChTSbskai\/OaaKnjMk8rImDi57gAPEqcF01HeGg22gZRQO4TTnJ7wD9x716i0eKif2m73CaslwNw90NPVnq7sJsCW8xO\/lL6cb+LyX7Oir1jZ6bdHM+pfnGzC3PqcBcovWo7g0Pt9nbDGR9Kodv8MkdnLrW3SWm30GPZaOKMj9oNy7zO9diMUVog7utLflbp+2TB07eLidq6Xt4bn9FAMAj0GfArppNGWal2S+F9Q4HOZX\/AGDAW8i5jkdXZqSd2rvxzPwhoaSnOYaWGI\/uRgfJfuiJC6SWhMamPt18tNqHB0nSyY3nH9g5alvszKC5Vtd0zpX1b84IxsDq7fwWXD8f8ok+R+r0wxu7G\/8ApU6pJtJIy0Yqc5Tet\/TIIiKZrCIiAJzWkznW6noI\/wBLWTtaBniB+Jat+nhFPTRQg5EbA0HuGFNQPN71o6oY0mkt7SwP5F\/9yfAKpVJZJIy0ducqnkvL3CIimagiIgD8aupZR0ktTIQGRMLjk9QU5phkkFBWX+tD3yVRL8NG\/YB5Dvz4AL3rCpM7aWywZM1ZI0uA5Nzu9f5SqGmp46SmipoW7McTQ1o7AqbsepkfzK2WkfV\/pExBVXnVIeaedluomu2XFpzITzHWPRatu0xa7c4SNg6aYb+lmO0c93ALhu9lraStddrJKWykjpoN5Dx3c+7yXdZdRUt4+FgwVTR78L+PbjrTSva8dCdNRU7Vd7g3x6cjXREUTeEREAEREAEREATFmAfrW7yEe81oaO7d9wVOpix\/5wvPh81Tp56mbsu4+r9QiIkNIWBqq6S01My30YL6ysyxrWjeGncSO38epaV2ucNot76qY8NzG\/WdyCyNOWqaeU3u6bT6yXfG1wx0beW7l9ypFW2mZq0nJ91DV6+C\/wBoalktMVmtzKZmHScZJAMbbv63LQREjd3dl4xUIqMdEERFwYIiy9R135vsVTMDh7m7DN2d7ty6ld2FnJQi5PgZdgYLtqCuvTztMid0NPkDd1nI7P5lULK0zR+xWCljIIe9vSOz1u3\/ACwtVNN3ZLs8XGmr6vN+YWNetNUt2+M0mnq2jLZWbsnltdfzWyiVNp3RScI1I4ZK6Jaj1FV2mpbb9QsIccdHUtGWuHWfv81SwzR1ELJoXh8bxlrmncQvlRTQVcJhqYWSxni14yFPy6aqrbI6o0\/WugJOXU0p2mO\/rt8wn2ZeDIJVaX8l9\/cpUU3Ratayf2O80xoagDJcfoHdnvHr3qiY9kjQ9jg5p4FpyClcWtS1OrCotlnpERKUCIiAJhpND+UBzT9Cup92TwIH3sPmqdTWsKeSJlJeIBl9DKC4Y4tJH2j1W\/SVUVbSx1MDtqOVu00qks0mZaOzOcHzv5P3P2XPW11PbqV1TVSCONvXxJ6h1lcl4v1FZoczv2pSPchafed9w7Vj0lor9QVbLjfPh07TmGk4bu0cvmexcjHi9BqlazwU85enU+UlJU6qrG3C4MMdujPwKc\/t9pVYvjWhrQ1oAAGAByX1clK49Kkqa5t6sIiJSoREQAU1rdxfbqWlBx09S0HuwftIVKpjWYOLYcbvagnp7yM3avoyKVrWsYGNGGtGAOoL0iJDSEREAEREAc9bQUlwh6GrgZMzltDeO48R4Kel01X2lxn0\/WvG8l9PM4EO7Bux2b\/NVKJlJojUowqZvXnxJyg1az2gUV4p3UFTzc7dGe3fw9R2qia4OaHNIIIyCOa56630typzBVwtkaQcEje3tB5FfhZrPHZaZ9PDPLKxzy4CQj3e7C68LV0cpqrF4ZZrnxNBERIXPEsUc8L4ZWB8bwWuaeBCmxpe40regt96kgpuIZg5ac8v660RPGTRCtTjOzZ2WzS9Fb5nVEpdV1LjnpJeXhn1OVtoiVtvUpCnGmrRVgiIuDhERABERABeXNa7G00HZORkcCiIA9IiIAIiIAIiIAIiIAIiIAIiIA\/\/2Q==",
    "razonSocial": "TYM CONSTRUCCION Y MONTAJE LTDA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "catalina ",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "wsp",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "tintas, caja de mantenimiento",
    "prioridad": "2",
    "telefonocontacto": "987466468",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:01",
    "ubicacionGPS": "LatLng(lat: -22.3449117, lng: -69.6583033)",
    "horaLlegada": "07:10",
    "horaDespacho": "11:57",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


05/05/2026 12:01:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76291963

[05/05/2026 12:01:34] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76291963', 'EP2882', 2, 21773342, 0, NOW(), 
				'11:57', '07:10', '12:01', 3, 'serv repetido', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1777996894.png', '', null, 'COMPLETADO','LatLng(lat: -22.3449117, lng: -69.6583033)' )
				
[05/05/2026 12:01:34] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200179

05/05/2026 12:01:34 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200179'                    
				WHERE idllamado = 12207			
				TO ENVIO: micorreo@miempresa.cl, null


05/05/2026 12:01:34 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12207			
				
05/05/2026 12:01:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


05/05/2026 12:01:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
05/05/2026 12:01:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            [05/05/2026 12:01:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 12:01:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            [05/05/2026 12:01:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 12:01:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
05/05/2026 12:01:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                [05/05/2026 12:01:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 12:01:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
05/05/2026 12:01:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12207
            GROUP BY l.idllamado;
            
05/05/2026 12:01:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:01:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12207
                
05/05/2026 12:28:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 12:28:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            [05/05/2026 12:28:32] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 12:28:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            [05/05/2026 12:28:32] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 12:28:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                [05/05/2026 12:28: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;
                

05/05/2026 12:28:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            
05/05/2026 12:28:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            
05/05/2026 12:28:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                [05/05/2026 12:28: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;
                

05/05/2026 12:28:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 12:28:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 12:28:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            [05/05/2026 12:28: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;
                

05/05/2026 12:28:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 12:28:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            [05/05/2026 12:28: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;
                

05/05/2026 12:28:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            
05/05/2026 12:28:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12451
            GROUP BY l.idllamado;
            
05/05/2026 12:28:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                [05/05/2026 12:28: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;
                
[05/05/2026 12:28: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;
                

05/05/2026 12:28:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 12:28:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                
05/05/2026 12:28:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12451
                [05/05/2026 13:00: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 13:00:14] 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;
                
[05/05/2026 13:00: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;
                
[05/05/2026 13:00:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

05/05/2026 13:01:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 13:01:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 13:01:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 13:01:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/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 = 12427
                
05/05/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 = 12427
                
05/05/2026 13:03:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            [05/05/2026 13:03: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;
                
[05/05/2026 14:40: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;
				
[05/05/2026 14:40: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;
                
[05/05/2026 14:40: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;
                
[05/05/2026 14:58: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;
                
[05/05/2026 14:58:17] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 14:58:17] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

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

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

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

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

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

05/05/2026 15:11:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:11:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:11:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:11:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:11:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:11:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:11:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:11:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                [05/05/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;
                

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

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

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

05/05/2026 15: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 = 12329
                [05/05/2026 15:11: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;
                

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

05/05/2026 15:11:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:11:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:11:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 15:11:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 15:11:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 15:11: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;
                
[05/05/2026 15:11: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;
                

05/05/2026 15:11:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:11:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:11:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:11:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:11:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:11:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:11:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 15:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:11:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            [05/05/2026 15:11: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;
                
[05/05/2026 15:11: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;
                
[05/05/2026 15:11: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;
                

05/05/2026 15:11:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 15:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:11:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 15:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:11:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 15:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:12:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            [05/05/2026 15:12: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;
                

05/05/2026 15:12:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 15:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:12:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 15:12:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            [05/05/2026 15:12: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;
                

05/05/2026 15:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                [05/05/2026 15:12: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;
                

05/05/2026 15:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:12:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:12:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:12:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:12:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                [05/05/2026 15:12: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;
                

05/05/2026 15:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 15:12: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;
                

05/05/2026 15:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 15:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            [05/05/2026 15:12: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;
                

05/05/2026 15:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 15:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 15:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:12:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 15: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 = 12447
                
05/05/2026 15: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 = 12447
                
05/05/2026 15: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 = 12447
                
05/05/2026 15: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 = 12447
                [05/05/2026 15: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;
                

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

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

05/05/2026 15:30:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/2026 15:30:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/2026 15:30:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/2026 15:30:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/2026 15:30:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/2026 15:30:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/2026 15:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/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 = 12434
                
05/05/2026 15:30:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/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 = 12434
                
05/05/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 = 12434
                
05/05/2026 15:30:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/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 = 12434
                
05/05/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 = 12434
                
05/05/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 = 12434
                
05/05/2026 15:30:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/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 = 12434
                
05/05/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 = 12434
                
05/05/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 = 12434
                
05/05/2026 15:30:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/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 = 12434
                
05/05/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 = 12434
                
05/05/2026 15:30:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/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 = 12434
                
05/05/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 = 12434
                
05/05/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 = 12434
                
05/05/2026 15:30:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/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 = 12434
                
05/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/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 = 12434
                
05/05/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 = 12434
                
05/05/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 = 12434
                
05/05/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 = 12434
                
05/05/2026 15:30:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/2026 15:30:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/2026 15:30:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/2026 15:30:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/2026 15:30:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:30:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:32:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/2026 15: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 = 12434
                
05/05/2026 15: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 = 12434
                
05/05/2026 15:32:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/2026 15: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 = 12434
                
05/05/2026 15: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 = 12434
                
05/05/2026 15: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 = 12434
                
05/05/2026 15:32:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/2026 15: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 = 12434
                
05/05/2026 15: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 = 12434
                
05/05/2026 15: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 = 12434
                
05/05/2026 15:32:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/2026 15: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 = 12434
                
05/05/2026 15: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 = 12434
                
05/05/2026 15:32:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/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 = 12434
                
05/05/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 = 12434
                
05/05/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 = 12434
                
05/05/2026 15:32:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/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 = 12434
                
05/05/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 = 12434
                
05/05/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 = 12434
                
05/05/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 = 12434
                
05/05/2026 15:32:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/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 = 12434
                
05/05/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 = 12434
                
05/05/2026 15:32:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/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 = 12434
                
05/05/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 = 12434
                
05/05/2026 15:32:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/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 = 12434
                
05/05/2026 15: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 = 12434
                
05/05/2026 15:32:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/2026 15: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 = 12434
                
05/05/2026 15: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 = 12434
                
05/05/2026 15:32:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/2026 15: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 = 12434
                
05/05/2026 15: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 = 12434
                
05/05/2026 15:32:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/2026 15: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 = 12434
                
05/05/2026 15: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 = 12434
                
05/05/2026 15: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 = 12434
                
05/05/2026 15: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 = 12434
                
05/05/2026 15:32:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/2026 15:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:32:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/2026 15:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15: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 = 12434
                
05/05/2026 15: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 = 12434
                
05/05/2026 15: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 = 12434
                
05/05/2026 15:32:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/2026 15: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 = 12434
                
05/05/2026 15:32:27 - logentry: =========================================
FECHA: 05/05/2026 15:32:27
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-rqZ+g.2VBnZ3nQ3h9jfmtAWGka79p+PGJp4KODy8f+7TVJ_D7bF
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76077994",
    "serieinterna": "KY2252",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se debe reagendar por ausencia de personal para atender al técnico",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12434",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACfAUYDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABHEAABAwMCAgUJBAcGBQUAAAABAAIDBAURBiESMRNBUWGBFCIycZGhscHRFRZy8CMzQkNSk+EkNERUYrIlY4KSwlVzoqPi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QANBEAAgECAwUHBAAGAwAAAAAAAAECAxESITEEE0FRoSIyYXGBkdEUscHhIyRCUmLwM1Px\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC1VNRFSUstTM7hjiaXOPcFtVI1zeeN7bXA8FrfOnxvv1N8OfiFeEcTsYbRWVGm5MktN6grL1c6sPY1tK0cUY4d28gBnl2n1nsRb9I2n7OtLJZAenqBxuB\/ZB5D2Yz\/AERJ2xZEbNj3Sc9WTyIiodAREQBERAEREAREQBERAEREAREQBERAEReJZY4Y3SSyNjY0Zc5xwB4oD2ir1RrKgbN0FFFNWyYP6ppxt7\/cvNPqmc1LG1tqmpIJHcDZH55+zdX3cuRz\/U0r2uWNERUOgIiIAiIgCIiAIiIAiIgCIiAIiIDluVwhtdBLVzbtjGzQd3HqAVAt9BJdLlDSy+nVP8qqTk5DOYHPrBz\/ANQUtre4mSohtjc9HGBNOR2dQ\/PWQpHSFudBQuuE4PT1h4tydmfsjf2+rC3j2IX5nl1f5jaFT4L\/AF\/HuWFrQ1oa0AADAA6kWUWB6gREQBERAEREAREQBERAEREAREQBEWCQBknACAytc9RDSwumnkbHG0ZLnHACgrnquKKYUdri8vq3bAM3Y09+Ofh7Voh0zWXOdtVqCrMuOVPGcNHdkfL2q6hbOWRzSr3eGkrvovU9T6rkrJOgsdFLVOzgzOYeBvfj64XiDTFbcnifUFdJLvkU8bvNb8h4e1WWCCGmiEUETIo28msGAFsU47d0jcOedV38OBzQ09Ha6Rwhjjp4I2lzsDGABuT2qvUDpdS34XFzHsoKM\/2d27S52Rnr68b92AvFzrJ9S3T7Gt78UUZBqZ27g92fcO09ys1HSQ0FJHS07OGKMYaFPdWerKr+NK0e5Hq\/hG9ERZHYEREAREQBERAEREAREQBERAFhzg1pc4gADJJ6llQGsbh5HZXQMJ6WqPRtA7P2vdt4qYq7sZ1ZqnBzfAqdNFNqXU0zWuxFNIXyOxnEbeQ7ewexfSWMbHG1jBhrQAB2BQ2l7ILRbg6Ro8pnAdISN27ej4fFTa0qSu7LRHPslF04Ypd55hERZHYEREAREQBERAEREAREQBERAEXHcbrR2qDpaqXh\/hYN3O9QVeNbe9T+Zb2G30Od53Hzn+r+ntV1BvPgYVK8YPCs3yRK3XU9utZdEX9PUt26GPc57zyHxUWKC9amc2S5PdQUPMQRnznjv\/r7FLWjTtDaWhzGdNUczPIMu8OxSynEo90pup1f+V5cl+XxOK32mhtcfBR07YyRhz+bnes812oio3fU6YxUVZIKr3i7VN0rzY7O7zjtUTg7Mb14Px9i3X29TOn+x7RmSul2e9p2iHXv2\/Bd1iscFko+jZh8z95ZMekez1K6Sirs5ZydWW7hpxf4RvtVqprRRtp6dve955vPaV2oio3fNnTGKirLQIiKCwUU3UFLLffsmFj5ZADxyNxwscOYP557erh1VqF1tiFFRnNZMObdzGO31nqW7TFi+yqU1FQD5ZOMyZOeEdmfeVoopRuzllVlKru6fDV\/gnURFmdQREQBERAEREAREQGueeKmgfPM8MjjHE5x6gqNQVE2qdWx1EkeKanHEGHcNaOXrJJH5C7L7WG\/V77bTyBtDRtM1VM3f0RuB2\/X1Lp0PRhtBPXlga6pkwzY7Nb1A+vPsW6WCLfE82pN160YLurrYtCIiwPSCIiAIiIAiIgCIiAIiIAi8veyNhfI4Ma0ZLnHACrdVqx9RO6msdE+tlad5C08A\/p3nCsouWhlUqwp95linnhpojLPKyKNvNzzgBVyr1NVV8xpdPUxqHcnVDm4a31Z+axFpqtujxUagrXyYOW08TsNb+e72qxUtJT0UDYKaJsUbeTWhW7MfFmX8Wr\/AIrr+iDt2lWdMK28TGuqyckOOWN7sdfw7lYQABgDACyio5N6m1OlGmrRQREUGgVdvt9mFQLTaR0tdLs5zeUX9fgl9vswqBabSOlrpdnObyi\/r8F2WKxQ2anJJ6Wql3lmPM9w7vitElFXZyznKrLd09OL\/C8fsLFYobNTkk9LVS7yzHme4d3xUsiKjbbuzeEIwjhjoERFBcKC1JqSOzQ9DCQ+sePNb1MHafovepL\/AB2ajxE5rquTaNnPh\/1HuVU05Zqi+3E19Zl9Ox\/FI5+\/SO54+q2hBWxS0ODaNoli3NLvPoS+krNJLIb3cP0ks3nRce5\/F9FblhrQ1oa0AADAA6llZyk5O51UaSpQwoIuK6XaktNMZqqQA481g9J57AFXWUd31WTPVzPobeT5kLfSePz1nwClRvm9CtSsovDFXly+eRb0Vb01K6mulytIfJJDTuBjLyCQOzlv\/RT1RVU9JH0lTPHCz+KRwaPeocbOxanUU4YtDci5qS4Ule1xpZ2S8JwQOY8F0quhommroIiISFX9R3qenlitdtHHXVOwI\/dg9fr+HNdF9v8ADaozBEOlrZBiKIDO\/Vn6cytWnbG6ha6urj0twnJL3uOeAHqHz9i0irLEzlqTc5bqm\/N8v2Rd3omad0p5DCeOeskDXuDclx68d22PFWi3UoobdT0o\/dRhp9eN\/eq\/W8V51nT0gDX01vb0kmdxxHf48O3r7wrSk27JPzK0IrHJx0WS9NeoREWZ2BERAEREAREQBFgkAZJwAoG5aqghk8mtsZr6onGIhlrT3kc\/DvUqLehnUqRpq8mTksscMbpJZGxsaMuc44A8VX63WFMH+TWqGSuqXejwtPD9T+d1qjsFwvUram\/z8MfNtJFsGnvPV7zvz2VgpKCkoWcFLTxwjGPNbgn1nrV+zHXMxvWqd3srr+iuMsF3vb2S36r6OEHIposD242+JVkpKKmoIBBSwsijHU0c\/WevxW9FVybNKdGFPNZvm9QiIqmwREQBV7Ud9lpnttdtaZK+cYHD+7B+fw5rZf7+aAtoaFvTXCbZjAM8Ges9\/cvVgsAtodV1bumr5t5JCc8OeofVaRSSxM5ak5VJbun6vl+zbYrFDZqcknpaqXeWY8z3Du+KlkRUbbd2bwhGEcMdAiIoLhQt+v32fw0dGzp7hNtHGN+HPWVi\/wB\/FtDaSkb01fNtHGBnhz1n6Kv1NNLZoDG5xqr7chg43MbHbHHf1Z+m+sIcWcW0V7XjDhq+Xh5nDRWepvV4lhdOZHsP9rqc5A6sN7eWPDbbn9Co6SGgpI6WnZwxRjDQoy2Mtenbe2mfW07X85HueGl5Pdla6jWdlgB4Z3zEdUcZ+eApm5TdloUoRpbPG82lJ+PQnlD3zUVNZ29E0dNVvHmQt+fZ81DT61nrQaa0UEhqHjzXO84jt80Litlu1HTVLqttsjlqXnJnqnAuHqy73pGnbOQqbXi7NG78bXsTFq05LVVIut9d09Q7dsLt2sHVkfLkrJJIyKN0kjg1jAXOcTsAOZVZNu1ZV4E91hpmnmIhuPYPmsS6NnqI3Ce+VUziNuPJGe\/JKh2bzZam5QjanTfrbMh6LUcdJW3Gtih6aqq5cRM3DQ3tJ9nsK7IaShrZvL9R3amllIy2mZMMRjng4OfAe9d8GhLVG1vTSTzOHPLg0HwA+a7GaSskQ4m0Ae4Dbikcc+\/Cu5w4GENnr27aTXL\/AM1K9SXi1W7VU89PKI6B8IaBEwhpdgdXtUq\/XFC53DTUlVUHuYB81CUENZb6yrb93jVTySYbxRfooxvy2xjl18gpllNqquOHy09uiyHcMY3O\/dvy7+pTJRvn9ylKdbC1Hm9F85Gqr1hcIoekbZXwM\/jqHEA+rYZXDT6k1JeXdDQwRNJ2L44zhveSScKYptGUYlM1xqJq+U8zI4gfHPvU\/BBDTRCKCJkUbeTWDACo5QWiN40dom7znZdehTKXTeo6OsfWRzUrqh\/OSR3GfeFLQTagtzJ6u7TU0lNFE52GDzsjljACsKrOsqmSWGms9O3imrZBnsAB29+PYUUnN2ZaVGOzwcot+\/E9aMonMt8txny6orXlxc7mW5+ZyfYrItNLTR0dLFTRDDImBo8FuWcnd3OqjT3dNRCIiqahERAEREAUddb5Q2iIuqZR0hHmxN3c7w6vWVG3TUcz6w2yyRCoq84dJzbH293jyC22fTEVI8VlweauuduXvOWtPdnn61oopK8jllWlN4aXq+C+WcAhu+rMOqC6323O0bfSlHf2+zHrU\/bLPRWiIspIeEu9J5OXO9ZXcihzby4F6dCMXiecuf8AugREVDcIiIAi0zVlLTfr6mGL8bw34rhl1JZoW8TrjCR\/oJd8FKTehSVSEdWkSigL5qM0swt1tZ5TXy+aA3cRnv7+7xKj73rWE05gtLnPlk26UtI4R3A75XDY62a3Ql9HYKmrqJN31Lwd+4bHA8d1rGm0rtHFV2qMpYIPzevsWKwWAW0Oq6t3TV828khOeHPUPqptVg3bVNQMQWaOEk7GQ8vaQsG16rqw0z3eOAHmI+Y9gHxUOLbvJmkKsYRw04N+nyWdzg0ZcQB2lcU16tdOCZbhTtI5jpAT7BuoUaLFS4PuV1qqp3Pnj45XbDpCyRHPkfGf9cjj81FoLiXx15aRS838Gqo1rZ4TwxOmqHcgI4+vxwoyfW1ZVyiktluLZ5DwtMh4nf8Ab1du5wuq73OmtsotlipITcJPMzFGB0f9fhzK79P6fZaIjNM7pq2XeSU74z1D69av2Iq7RzN16k8EZZcbLTw8ysS2e92aKa71FdFDIRhzuLjkJONhkc\/HqXVbNJz3inbcbpWztkmGQObi3GAST3e5ddY12pdUNpA0+Q24\/puWHOzy8cY8CrLVVlLQQdLUzMhjHW448AplOSS5laWzU5SbfdXN8eLIeDRlkpxl8L5sdcsh+WAo2rqoqqpNs0xR04k36SqZGAGDrw7Hv9i9zVFy1bKaaka6ktgPnzOG8g\/PV7VY7bbKS1Uwp6SPhbzLju5x7SetVbce87s0jTjUypK0efF+Xyc1ksdPZactYeknfvJMRu76BSiIsm23dndCEYRwxWQREUFgiIgCIiAIi0vrKWL9ZUws\/E8BCG0tTcqtZv8AjGqay6l4fDTDooCMYx2jwyf+rwXRqXUFNSWl7aWojlnm8xvRvDuEY3J5\/kr3YZrTabTDTfaVH0mOOUidm7zz6+rl4LVJqLfM5JzjOqo3yWb\/AB8k8i4BfbU6RsbbhTue5wa0NeDkn1LvWbTWp1RlGWjCIigsEREAVZvNxuFZeBY7a9kJLOKSYu3A68eHjurMo252Ggux4qiMiTh4ekZgOwrQaTzMa8ZyhaJ6tFlo7NAY6ZmXuxxyO9Jx\/PUu6SRkTC+R7WNHMuOAFW\/uPSRD+zV9ZETzPED8AF6Zoe2cQdNPVTkY9OQcuzkrNRbu2ZRdWKwxppev6JCp1JZ6XZ9dG93ZF5592VGv1xQuPBR0lVUydTQ0AH4n3KTptOWekwYqCIntf559+VIsYyNvCxoaOwDCXguBbDtEtZJeSv8AcrJvmpKlpFLYeid1GYnl48KyYtZTnIqKSmB6sA49xVnRRjXBDcN96b+32KuLLqeUYnvrWD\/lg\/QLP3LE29bd6yoPbnHr55VnXiWWOGJ0srwxjBlznHAAU7yXAj6Wl\/Vn5tkDDoizRnL2zTfjkx\/tAULcaWhrK51p0\/b4XS4\/TVByQz1E5x6\/Yu6sudfqWpfb7MTFRjaapIxxDrA+nM+pTFvgtVho207KmCPbL3ySNBee0q+KUc28zm3dOplBJR4vn5fJmyWKlstMGRgPmcP0kpG7j3dgUooyTUVmi9K4wH8LuL4Lkm1nZIvRqHynsZGfnhZ4Zyd7HWqlClHCpJLzJ5FWDrenlPDRW6rqHdnCB8Mp95L1N+o05OAeRkLvoE3ciPqqXB38kyzqt3jUMk1T9k2UdNWPJa+Qcou3ft7+r1rnqKnV9dBJTttsNO17eEva8Bw9R4vkuW12DU1uicykkpKYyHLnOw53twVeMEs20YVa852jCLtxds\/QsNksNPZ4Sc9LUybyTO5k9g7ApKZz2wvdG3ieGktHaepVv7G1PN+vvrWf+036ALH3OmmP9rvlXOOvmPiSoaTd3I0jKcY4YU2l5pERabncLPTz0kVBxVcszi+ad\/C0EY23wOvtHNdMFJRVVQK3Ud6pqiUejTsmBazuOPgPepSLQ9nj9Lp5fxyfQBdMekrHFyoQ49rnuPzV3OPA5obNWslKzS4N5dFmYGp7BTRtjZWRsYzzWtjjdgeoALW\/Wlkbynkfv1RO+a7mWG0M5W2mO2N4gfit7LbQR+hRU7dsbRNHyWd4eJ2W2jml6P5IJ2u7Znhjp6uRx5AMb9Vj74VEv91sNZMDy5jPsBVlaxjM8LWtz2DC9JijyG7rPWfQrH25qSb9TYODHPpCfnhOm1nL\/haODxB\/8irOiY1yG4k9Zvp8FY8j1lJsbjSRDrw0b\/8AxWPsTU0pxNfgwf8ALB+gVoRMb5D6aPGTfqyr\/dW6SYM2pKo9rQHY\/wByz9zpXfrb5WPxy3O3vVnRN5IfSUuXV\/JVxoWjf+vrquTr9IDfxBWq46a0\/ZqJ9XVCeRo2awybud1AYx+Qpu632htEZ6eTimPows3c4\/LxUNQ2yv1DVR3K9N6OnZvDS42I7wfD1q6lLWTyOepSop4KcU5fbzObTuk4KqN9dcqfEU28EHG4cLTvkkHPqU0NIWEf4D\/7X\/VTIAAwBgBZWbqSbvc6Key0oRSwp+hFwaas1PI2SOgj4m8i4l3xKlERVbb1N4wjDuqwREUFgiIgK5qTUFwtVS2Cjow9ro+MyvBIBydtvV71Wp9V6gmJ4ZTED1Rwj5glfSEWsZxS0OKrs9Scm1UaR8xF4urhxPuVwa48w1m3+4J9rXL\/ANTuX\/Z\/+l9ORW3q5GX0Mv8AsfX5PmP2hfpP7vV3KUfhd8iVuYdXSej9pD8XE34r6Qib3wC2F8ZsoLKDWj\/3lS0drqho+a6Y7Lq94BdcizPU6oO3sBV1Ubeb5SWWAPnJdI4fo4m83fQd6hVJN2SLPZacFilN28yuVduvlupzUV2o+ijA\/Ze9xJ7ANsrjt9nvmooC+qr52Uh3YZnEh57m596lqGy1d9qxdL4XNj\/c0m4Ab39g+PWrU1oa0NaAABgAdSl1MOS1KU9mVR4ndR5XefmUo6Bqej4W3NpH8JjIHxWl2gK3I4KyA7b54h8lfEVd9M2ewUHw6lEj0Nc4TxR1NG53Y9pcPe0rqiseo6PHQ\/Zbsb5bCweHoBXFEdWT1C2KlHu3XqVcDWQGAKMAepZM2s4\/8NRy9fMb93MKzoq4\/BGn0\/8AnL3Kw686ogP6axMfv+6dn4EoNWV7T+m05WMB5ekf\/EKzomKPIbmotKj9l8FXOt4WDM1sq4x1bBe2a7tLjgx1TO9zG\/Iqyry+Nkgw9jXD\/UMqbw5Dd11\/X0\/ZBN1rZXZzNI31xH5LezVljecCvaPxRvHxC7326hkGH0VO4f6omn5LS+xWl4wbbSj8MQHwUdjxFtoXFez+TwzUNnecC404\/E\/HxW9l1t0noV9K7fG0zT81yP0vZHjBt8Y\/CSPgVofo2xv9Glez8MrvmSp7HiL7QuC6kt5bSf5qH+YE8tpP81D\/ADAoX7kWb+Cb+Yn3Is38E38xLQ5jFtH9q9\/0TXltJ\/mof5gTy2k\/zUP8wKF+5Fm\/gm\/mJ9yLN\/BN\/MS0OYxbR\/avf9EvJcqCFvFJW07B2mUBcc2qLJAXB1fG4t\/gBdn2BaI9GWSMgmne\/B\/akd8l2RWC0QY4LfBt\/Ezi+KjseIvtD4Je7+CKfrelkdwUFDU1UnZgNHzPuXnj1Td3gNjbaqdwOXHBf9fgrNHGyJgZGxrGjkGjAC9KcSWiG5qS78\/bL9kLatMUVuk8olLquqJyZpd8HtA6veVNIio23qbQpxgrRVgiIoLhERAEREAREQBERAEREAWHODWlziAAMknqWVAXezXK8V4hkrRDbgAeGMec49h\/OFKSbzM6kpRV4q7NFfqiWpqPILDF5TOdjNjLG\/ntO3rW+0aZbTy+XXOTyytJ4uJ24Ye7t\/OFK0FtpLZTiCkhEbes9bj2k9a6ldysrRMo0XJ46ru+XBBERZnSEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/9k=",
    "razonSocial": "SOCIEDAD LEM LABORATORIOS Y ASISTENCIA TECNICA LTDA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "NICOLAS ORTÍZ",
    "correoContacto": "nicolas.ortiz@lem.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE HOJA SALE MANCHADA Y RASGADA.",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56956887935",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:32",
    "ubicacionGPS": "LatLng(lat: -23.6072891, lng: -70.3870143)",
    "horaLlegada": "11:58",
    "horaDespacho": "11:59",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 05/05/2026 15:32:27
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-rqZ+g.2VBnZ3nQ3h9jfmtAWGka79p+PGJp4KODy8f+7TVJ_D7bF
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76077994",
    "serieinterna": "KY2252",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se debe reagendar por ausencia de personal para atender al técnico",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12434",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACfAUYDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABHEAABAwMCAgUJBAcGBQUAAAABAAIDBAURBiESMRNBUWGBFCIycZGhscHRFRZy8CMzQkNSk+EkNERUYrIlY4KSwlVzoqPi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QANBEAAgECAwUHBAAGAwAAAAAAAAECAxESITEEE0FRoSIyYXGBkdEUscHhIyRCUmLwM1Px\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC1VNRFSUstTM7hjiaXOPcFtVI1zeeN7bXA8FrfOnxvv1N8OfiFeEcTsYbRWVGm5MktN6grL1c6sPY1tK0cUY4d28gBnl2n1nsRb9I2n7OtLJZAenqBxuB\/ZB5D2Yz\/AERJ2xZEbNj3Sc9WTyIiodAREQBERAEREAREQBERAEREAREQBERAEReJZY4Y3SSyNjY0Zc5xwB4oD2ir1RrKgbN0FFFNWyYP6ppxt7\/cvNPqmc1LG1tqmpIJHcDZH55+zdX3cuRz\/U0r2uWNERUOgIiIAiIgCIiAIiIAiIgCIiAIiIDluVwhtdBLVzbtjGzQd3HqAVAt9BJdLlDSy+nVP8qqTk5DOYHPrBz\/ANQUtre4mSohtjc9HGBNOR2dQ\/PWQpHSFudBQuuE4PT1h4tydmfsjf2+rC3j2IX5nl1f5jaFT4L\/AF\/HuWFrQ1oa0AADAA6kWUWB6gREQBERAEREAREQBERAEREAREQBEWCQBknACAytc9RDSwumnkbHG0ZLnHACgrnquKKYUdri8vq3bAM3Y09+Ofh7Voh0zWXOdtVqCrMuOVPGcNHdkfL2q6hbOWRzSr3eGkrvovU9T6rkrJOgsdFLVOzgzOYeBvfj64XiDTFbcnifUFdJLvkU8bvNb8h4e1WWCCGmiEUETIo28msGAFsU47d0jcOedV38OBzQ09Ha6Rwhjjp4I2lzsDGABuT2qvUDpdS34XFzHsoKM\/2d27S52Rnr68b92AvFzrJ9S3T7Gt78UUZBqZ27g92fcO09ys1HSQ0FJHS07OGKMYaFPdWerKr+NK0e5Hq\/hG9ERZHYEREAREQBERAEREAREQBERAFhzg1pc4gADJJ6llQGsbh5HZXQMJ6WqPRtA7P2vdt4qYq7sZ1ZqnBzfAqdNFNqXU0zWuxFNIXyOxnEbeQ7ewexfSWMbHG1jBhrQAB2BQ2l7ILRbg6Ro8pnAdISN27ej4fFTa0qSu7LRHPslF04Ypd55hERZHYEREAREQBERAEREAREQBERAEXHcbrR2qDpaqXh\/hYN3O9QVeNbe9T+Zb2G30Od53Hzn+r+ntV1BvPgYVK8YPCs3yRK3XU9utZdEX9PUt26GPc57zyHxUWKC9amc2S5PdQUPMQRnznjv\/r7FLWjTtDaWhzGdNUczPIMu8OxSynEo90pup1f+V5cl+XxOK32mhtcfBR07YyRhz+bnes812oio3fU6YxUVZIKr3i7VN0rzY7O7zjtUTg7Mb14Px9i3X29TOn+x7RmSul2e9p2iHXv2\/Bd1iscFko+jZh8z95ZMekez1K6Sirs5ZydWW7hpxf4RvtVqprRRtp6dve955vPaV2oio3fNnTGKirLQIiKCwUU3UFLLffsmFj5ZADxyNxwscOYP557erh1VqF1tiFFRnNZMObdzGO31nqW7TFi+yqU1FQD5ZOMyZOeEdmfeVoopRuzllVlKru6fDV\/gnURFmdQREQBERAEREAREQGueeKmgfPM8MjjHE5x6gqNQVE2qdWx1EkeKanHEGHcNaOXrJJH5C7L7WG\/V77bTyBtDRtM1VM3f0RuB2\/X1Lp0PRhtBPXlga6pkwzY7Nb1A+vPsW6WCLfE82pN160YLurrYtCIiwPSCIiAIiIAiIgCIiAIiIAi8veyNhfI4Ma0ZLnHACrdVqx9RO6msdE+tlad5C08A\/p3nCsouWhlUqwp95linnhpojLPKyKNvNzzgBVyr1NVV8xpdPUxqHcnVDm4a31Z+axFpqtujxUagrXyYOW08TsNb+e72qxUtJT0UDYKaJsUbeTWhW7MfFmX8Wr\/AIrr+iDt2lWdMK28TGuqyckOOWN7sdfw7lYQABgDACyio5N6m1OlGmrRQREUGgVdvt9mFQLTaR0tdLs5zeUX9fgl9vswqBabSOlrpdnObyi\/r8F2WKxQ2anJJ6Wql3lmPM9w7vitElFXZyznKrLd09OL\/C8fsLFYobNTkk9LVS7yzHme4d3xUsiKjbbuzeEIwjhjoERFBcKC1JqSOzQ9DCQ+sePNb1MHafovepL\/AB2ajxE5rquTaNnPh\/1HuVU05Zqi+3E19Zl9Ox\/FI5+\/SO54+q2hBWxS0ODaNoli3NLvPoS+krNJLIb3cP0ks3nRce5\/F9FblhrQ1oa0AADAA6llZyk5O51UaSpQwoIuK6XaktNMZqqQA481g9J57AFXWUd31WTPVzPobeT5kLfSePz1nwClRvm9CtSsovDFXly+eRb0Vb01K6mulytIfJJDTuBjLyCQOzlv\/RT1RVU9JH0lTPHCz+KRwaPeocbOxanUU4YtDci5qS4Ule1xpZ2S8JwQOY8F0quhommroIiISFX9R3qenlitdtHHXVOwI\/dg9fr+HNdF9v8ADaozBEOlrZBiKIDO\/Vn6cytWnbG6ha6urj0twnJL3uOeAHqHz9i0irLEzlqTc5bqm\/N8v2Rd3omad0p5DCeOeskDXuDclx68d22PFWi3UoobdT0o\/dRhp9eN\/eq\/W8V51nT0gDX01vb0kmdxxHf48O3r7wrSk27JPzK0IrHJx0WS9NeoREWZ2BERAEREAREQBFgkAZJwAoG5aqghk8mtsZr6onGIhlrT3kc\/DvUqLehnUqRpq8mTksscMbpJZGxsaMuc44A8VX63WFMH+TWqGSuqXejwtPD9T+d1qjsFwvUram\/z8MfNtJFsGnvPV7zvz2VgpKCkoWcFLTxwjGPNbgn1nrV+zHXMxvWqd3srr+iuMsF3vb2S36r6OEHIposD242+JVkpKKmoIBBSwsijHU0c\/WevxW9FVybNKdGFPNZvm9QiIqmwREQBV7Ud9lpnttdtaZK+cYHD+7B+fw5rZf7+aAtoaFvTXCbZjAM8Ges9\/cvVgsAtodV1bumr5t5JCc8OeofVaRSSxM5ak5VJbun6vl+zbYrFDZqcknpaqXeWY8z3Du+KlkRUbbd2bwhGEcMdAiIoLhQt+v32fw0dGzp7hNtHGN+HPWVi\/wB\/FtDaSkb01fNtHGBnhz1n6Kv1NNLZoDG5xqr7chg43MbHbHHf1Z+m+sIcWcW0V7XjDhq+Xh5nDRWepvV4lhdOZHsP9rqc5A6sN7eWPDbbn9Co6SGgpI6WnZwxRjDQoy2Mtenbe2mfW07X85HueGl5Pdla6jWdlgB4Z3zEdUcZ+eApm5TdloUoRpbPG82lJ+PQnlD3zUVNZ29E0dNVvHmQt+fZ81DT61nrQaa0UEhqHjzXO84jt80Litlu1HTVLqttsjlqXnJnqnAuHqy73pGnbOQqbXi7NG78bXsTFq05LVVIut9d09Q7dsLt2sHVkfLkrJJIyKN0kjg1jAXOcTsAOZVZNu1ZV4E91hpmnmIhuPYPmsS6NnqI3Ce+VUziNuPJGe\/JKh2bzZam5QjanTfrbMh6LUcdJW3Gtih6aqq5cRM3DQ3tJ9nsK7IaShrZvL9R3amllIy2mZMMRjng4OfAe9d8GhLVG1vTSTzOHPLg0HwA+a7GaSskQ4m0Ae4Dbikcc+\/Cu5w4GENnr27aTXL\/AM1K9SXi1W7VU89PKI6B8IaBEwhpdgdXtUq\/XFC53DTUlVUHuYB81CUENZb6yrb93jVTySYbxRfooxvy2xjl18gpllNqquOHy09uiyHcMY3O\/dvy7+pTJRvn9ylKdbC1Hm9F85Gqr1hcIoekbZXwM\/jqHEA+rYZXDT6k1JeXdDQwRNJ2L44zhveSScKYptGUYlM1xqJq+U8zI4gfHPvU\/BBDTRCKCJkUbeTWDACo5QWiN40dom7znZdehTKXTeo6OsfWRzUrqh\/OSR3GfeFLQTagtzJ6u7TU0lNFE52GDzsjljACsKrOsqmSWGms9O3imrZBnsAB29+PYUUnN2ZaVGOzwcot+\/E9aMonMt8txny6orXlxc7mW5+ZyfYrItNLTR0dLFTRDDImBo8FuWcnd3OqjT3dNRCIiqahERAEREAUddb5Q2iIuqZR0hHmxN3c7w6vWVG3TUcz6w2yyRCoq84dJzbH293jyC22fTEVI8VlweauuduXvOWtPdnn61oopK8jllWlN4aXq+C+WcAhu+rMOqC6323O0bfSlHf2+zHrU\/bLPRWiIspIeEu9J5OXO9ZXcihzby4F6dCMXiecuf8AugREVDcIiIAi0zVlLTfr6mGL8bw34rhl1JZoW8TrjCR\/oJd8FKTehSVSEdWkSigL5qM0swt1tZ5TXy+aA3cRnv7+7xKj73rWE05gtLnPlk26UtI4R3A75XDY62a3Ql9HYKmrqJN31Lwd+4bHA8d1rGm0rtHFV2qMpYIPzevsWKwWAW0Oq6t3TV828khOeHPUPqptVg3bVNQMQWaOEk7GQ8vaQsG16rqw0z3eOAHmI+Y9gHxUOLbvJmkKsYRw04N+nyWdzg0ZcQB2lcU16tdOCZbhTtI5jpAT7BuoUaLFS4PuV1qqp3Pnj45XbDpCyRHPkfGf9cjj81FoLiXx15aRS838Gqo1rZ4TwxOmqHcgI4+vxwoyfW1ZVyiktluLZ5DwtMh4nf8Ab1du5wuq73OmtsotlipITcJPMzFGB0f9fhzK79P6fZaIjNM7pq2XeSU74z1D69av2Iq7RzN16k8EZZcbLTw8ysS2e92aKa71FdFDIRhzuLjkJONhkc\/HqXVbNJz3inbcbpWztkmGQObi3GAST3e5ddY12pdUNpA0+Q24\/puWHOzy8cY8CrLVVlLQQdLUzMhjHW448AplOSS5laWzU5SbfdXN8eLIeDRlkpxl8L5sdcsh+WAo2rqoqqpNs0xR04k36SqZGAGDrw7Hv9i9zVFy1bKaaka6ktgPnzOG8g\/PV7VY7bbKS1Uwp6SPhbzLju5x7SetVbce87s0jTjUypK0efF+Xyc1ksdPZactYeknfvJMRu76BSiIsm23dndCEYRwxWQREUFgiIgCIiAIi0vrKWL9ZUws\/E8BCG0tTcqtZv8AjGqay6l4fDTDooCMYx2jwyf+rwXRqXUFNSWl7aWojlnm8xvRvDuEY3J5\/kr3YZrTabTDTfaVH0mOOUidm7zz6+rl4LVJqLfM5JzjOqo3yWb\/AB8k8i4BfbU6RsbbhTue5wa0NeDkn1LvWbTWp1RlGWjCIigsEREAVZvNxuFZeBY7a9kJLOKSYu3A68eHjurMo252Ggux4qiMiTh4ekZgOwrQaTzMa8ZyhaJ6tFlo7NAY6ZmXuxxyO9Jx\/PUu6SRkTC+R7WNHMuOAFW\/uPSRD+zV9ZETzPED8AF6Zoe2cQdNPVTkY9OQcuzkrNRbu2ZRdWKwxppev6JCp1JZ6XZ9dG93ZF5592VGv1xQuPBR0lVUydTQ0AH4n3KTptOWekwYqCIntf559+VIsYyNvCxoaOwDCXguBbDtEtZJeSv8AcrJvmpKlpFLYeid1GYnl48KyYtZTnIqKSmB6sA49xVnRRjXBDcN96b+32KuLLqeUYnvrWD\/lg\/QLP3LE29bd6yoPbnHr55VnXiWWOGJ0srwxjBlznHAAU7yXAj6Wl\/Vn5tkDDoizRnL2zTfjkx\/tAULcaWhrK51p0\/b4XS4\/TVByQz1E5x6\/Yu6sudfqWpfb7MTFRjaapIxxDrA+nM+pTFvgtVho207KmCPbL3ySNBee0q+KUc28zm3dOplBJR4vn5fJmyWKlstMGRgPmcP0kpG7j3dgUooyTUVmi9K4wH8LuL4Lkm1nZIvRqHynsZGfnhZ4Zyd7HWqlClHCpJLzJ5FWDrenlPDRW6rqHdnCB8Mp95L1N+o05OAeRkLvoE3ciPqqXB38kyzqt3jUMk1T9k2UdNWPJa+Qcou3ft7+r1rnqKnV9dBJTttsNO17eEva8Bw9R4vkuW12DU1uicykkpKYyHLnOw53twVeMEs20YVa852jCLtxds\/QsNksNPZ4Sc9LUybyTO5k9g7ApKZz2wvdG3ieGktHaepVv7G1PN+vvrWf+036ALH3OmmP9rvlXOOvmPiSoaTd3I0jKcY4YU2l5pERabncLPTz0kVBxVcszi+ad\/C0EY23wOvtHNdMFJRVVQK3Ud6pqiUejTsmBazuOPgPepSLQ9nj9Lp5fxyfQBdMekrHFyoQ49rnuPzV3OPA5obNWslKzS4N5dFmYGp7BTRtjZWRsYzzWtjjdgeoALW\/Wlkbynkfv1RO+a7mWG0M5W2mO2N4gfit7LbQR+hRU7dsbRNHyWd4eJ2W2jml6P5IJ2u7Znhjp6uRx5AMb9Vj74VEv91sNZMDy5jPsBVlaxjM8LWtz2DC9JijyG7rPWfQrH25qSb9TYODHPpCfnhOm1nL\/haODxB\/8irOiY1yG4k9Zvp8FY8j1lJsbjSRDrw0b\/8AxWPsTU0pxNfgwf8ALB+gVoRMb5D6aPGTfqyr\/dW6SYM2pKo9rQHY\/wByz9zpXfrb5WPxy3O3vVnRN5IfSUuXV\/JVxoWjf+vrquTr9IDfxBWq46a0\/ZqJ9XVCeRo2awybud1AYx+Qpu632htEZ6eTimPows3c4\/LxUNQ2yv1DVR3K9N6OnZvDS42I7wfD1q6lLWTyOepSop4KcU5fbzObTuk4KqN9dcqfEU28EHG4cLTvkkHPqU0NIWEf4D\/7X\/VTIAAwBgBZWbqSbvc6Key0oRSwp+hFwaas1PI2SOgj4m8i4l3xKlERVbb1N4wjDuqwREUFgiIgK5qTUFwtVS2Cjow9ro+MyvBIBydtvV71Wp9V6gmJ4ZTED1Rwj5glfSEWsZxS0OKrs9Scm1UaR8xF4urhxPuVwa48w1m3+4J9rXL\/ANTuX\/Z\/+l9ORW3q5GX0Mv8AsfX5PmP2hfpP7vV3KUfhd8iVuYdXSej9pD8XE34r6Qib3wC2F8ZsoLKDWj\/3lS0drqho+a6Y7Lq94BdcizPU6oO3sBV1Ubeb5SWWAPnJdI4fo4m83fQd6hVJN2SLPZacFilN28yuVduvlupzUV2o+ijA\/Ze9xJ7ANsrjt9nvmooC+qr52Uh3YZnEh57m596lqGy1d9qxdL4XNj\/c0m4Ab39g+PWrU1oa0NaAABgAdSl1MOS1KU9mVR4ndR5XefmUo6Bqej4W3NpH8JjIHxWl2gK3I4KyA7b54h8lfEVd9M2ewUHw6lEj0Nc4TxR1NG53Y9pcPe0rqiseo6PHQ\/Zbsb5bCweHoBXFEdWT1C2KlHu3XqVcDWQGAKMAepZM2s4\/8NRy9fMb93MKzoq4\/BGn0\/8AnL3Kw686ogP6axMfv+6dn4EoNWV7T+m05WMB5ekf\/EKzomKPIbmotKj9l8FXOt4WDM1sq4x1bBe2a7tLjgx1TO9zG\/Iqyry+Nkgw9jXD\/UMqbw5Dd11\/X0\/ZBN1rZXZzNI31xH5LezVljecCvaPxRvHxC7326hkGH0VO4f6omn5LS+xWl4wbbSj8MQHwUdjxFtoXFez+TwzUNnecC404\/E\/HxW9l1t0noV9K7fG0zT81yP0vZHjBt8Y\/CSPgVofo2xv9Glez8MrvmSp7HiL7QuC6kt5bSf5qH+YE8tpP81D\/ADAoX7kWb+Cb+Yn3Is38E38xLQ5jFtH9q9\/0TXltJ\/mof5gTy2k\/zUP8wKF+5Fm\/gm\/mJ9yLN\/BN\/MS0OYxbR\/avf9EvJcqCFvFJW07B2mUBcc2qLJAXB1fG4t\/gBdn2BaI9GWSMgmne\/B\/akd8l2RWC0QY4LfBt\/Ezi+KjseIvtD4Je7+CKfrelkdwUFDU1UnZgNHzPuXnj1Td3gNjbaqdwOXHBf9fgrNHGyJgZGxrGjkGjAC9KcSWiG5qS78\/bL9kLatMUVuk8olLquqJyZpd8HtA6veVNIio23qbQpxgrRVgiIoLhERAEREAREQBERAEREAWHODWlziAAMknqWVAXezXK8V4hkrRDbgAeGMec49h\/OFKSbzM6kpRV4q7NFfqiWpqPILDF5TOdjNjLG\/ntO3rW+0aZbTy+XXOTyytJ4uJ24Ye7t\/OFK0FtpLZTiCkhEbes9bj2k9a6ldysrRMo0XJ46ru+XBBERZnSEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/9k=",
    "razonSocial": "SOCIEDAD LEM LABORATORIOS Y ASISTENCIA TECNICA LTDA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "NICOLAS ORTÍZ",
    "correoContacto": "nicolas.ortiz@lem.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE HOJA SALE MANCHADA Y RASGADA.",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56956887935",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:32",
    "ubicacionGPS": "LatLng(lat: -23.6072891, lng: -70.3870143)",
    "horaLlegada": "11:58",
    "horaDespacho": "11:59",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


05/05/2026 15:32:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76077994

[05/05/2026 15: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('76077994', 'KY2252', 1, 24456550, 0, NOW(), 
				'11:59', '11:58', '15:32', 4, '•Se debe reagendar por ausencia de personal para atender al técnico', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778009547.png', '', null, 'REPROGRAMADO','LatLng(lat: -23.6072891, lng: -70.3870143)' )
				
[05/05/2026 15:32:27] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200180

05/05/2026 15:32:27 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200180'                    
				WHERE idllamado = 12434			
				TO ENVIO: micorreo@miempresa.cl, nicolas.ortiz@lem.cl


05/05/2026 15:32:27 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 12434			
				
05/05/2026 15:32:27 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('76077994', 'KY2252', 1, 'APP', 'sin otroTipo definido', -2, 'INDICA QUE HOJA SALE MANCHADA Y RASGADA.', 'Sin coderror', '1', 'SI', now(), 'NICOLAS ORTÍZ', '+56956887935', 'nicolas.ortiz@lem.cl', 12434)
				
05/05/2026 15:32:27 Insertado nuevo llamado creado idllamado: 12461APP
05/05/2026 15:32:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


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

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

05/05/2026 15: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 = 12434
                
05/05/2026 15: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 = 12434
                [05/05/2026 15:32: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;
                
[05/05/2026 15:32: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;
                

05/05/2026 15:32:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/2026 15:32:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12434
            GROUP BY l.idllamado;
            
05/05/2026 15:32:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15:32:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12434
                
05/05/2026 15: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 = 12434
                
05/05/2026 15: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 = 12434
                
05/05/2026 15: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 = 12434
                
05/05/2026 15: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 = 12434
                [05/05/2026 15:33:57] 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;
                
[05/05/2026 15:33: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 15:33:59] 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;
                

05/05/2026 15:34:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12453
            GROUP BY l.idllamado;
            [05/05/2026 15:34:03] 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;
                
[05/05/2026 15:34:10] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 15:34:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12453
            GROUP BY l.idllamado;
            
05/05/2026 15:34:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12453
            GROUP BY l.idllamado;
            
05/05/2026 15:34:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15:34:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15: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 = 12453
                
05/05/2026 15: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 = 12453
                
05/05/2026 15:34:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15:34:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12453
            GROUP BY l.idllamado;
            
05/05/2026 15:34:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15:34:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15:34:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12453
            GROUP BY l.idllamado;
            
05/05/2026 15:34:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15:34:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15:34:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15: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 = 12453
                
05/05/2026 15: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 = 12453
                
05/05/2026 15: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 = 12453
                
05/05/2026 15: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 = 12453
                
05/05/2026 15:34:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12453
            GROUP BY l.idllamado;
            
05/05/2026 15:34:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15:34:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15:34:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15:34:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15:34:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15:34:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15:34:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15: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 = 12453
                
05/05/2026 15: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 = 12453
                
05/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12453
            GROUP BY l.idllamado;
            
05/05/2026 15: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 = 12453
                
05/05/2026 15: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 = 12453
                
05/05/2026 15: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 = 12453
                
05/05/2026 15: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 = 12453
                
05/05/2026 15:34:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12453
            GROUP BY l.idllamado;
            
05/05/2026 15:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15:34:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12453
            GROUP BY l.idllamado;
            
05/05/2026 15:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                [05/05/2026 15:34:50] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[05/05/2026 15:34:51] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 15:34: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;
                
[05/05/2026 15:34:53] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 15:34:53] 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;
                
[05/05/2026 15:35:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 15:35: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;
                
[05/05/2026 15:35: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;
				

05/05/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 = 12453
                
05/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12453
            GROUP BY l.idllamado;
            
05/05/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 = 12453
                
05/05/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 = 12453
                
05/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12453
            GROUP BY l.idllamado;
            
05/05/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 = 12453
                
05/05/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 = 12453
                
05/05/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 = 12453
                
05/05/2026 15:36:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12453
            GROUP BY l.idllamado;
            
05/05/2026 15: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 = 12453
                
05/05/2026 15: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 = 12453
                
05/05/2026 15:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12453
                
05/05/2026 15: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 = 12453
                
05/05/2026 15:37:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12453
            GROUP BY l.idllamado;
            
05/05/2026 15: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 = 12453
                
05/05/2026 15:37:08 - logentry: =========================================
FECHA: 05/05/2026 15:37:08
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-7WRrwvo9ooK_4Z_9qPnQowHpakBdckolsx2Mz1hY2EmmkHzEKFa
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61964800",
    "serieinterna": "KY2383",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "302721",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "ruidos y manchas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12453",
    "observacion": "cambio de unidad de imagen ( ruidos ) y fusor ( manchas )",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADEAPsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABJEAABAwMCAgYGBAkLBQEBAAABAAIDBAURBiESMRNBUWFxkRQigaGxwSMyQtEHFUNScnOSsvAWJCU0NTZiwtLh8TNTdIKiY+L\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIEAgkEAgIDAAAAAAAAAQIDEQQSITFBURMiMmFxkaGx0RSBwfAz4VLxJENi\/9oADAMBAAIRAxEAPwD9mREQAREQAREQAREQAREQAREQAREQARF8c4NaXOIAAySepAH1FSUd6qLlfHQ0cAfb4QWyVBBGX9x6+r49iu11prcSE4zV4hERcHCIiACIoV4qDS2ernHNkTseONl1K7sck8qbZD09eJ7x6ZI9jBDFMWQuaDkjnv27YVyqTSFP6PpynP2pS6Q+07e4BXa7O2Z2JUHJ0ouW7CIiUsR66rZQ0U1VI1z2xNLiG8ylDWR3Chiq4gQyVvEAeY7kr4PSrfUU+M9LE5vmFTaIqBNp5sfXBI5nmeL\/ADJrdW5BzarKPBr1NCiIlLhERABERABERABERABERABERABERABVGp651BYKiRji2R4EbCDggn\/bKt1l9WkVtfa7SN+mm4378hy+BcngryRDEycaTtvt5lxYaX0OyUkRHrdEHO8SM\/7exWCIlbu7lYxUYqK4BERcGCIiACotZymPTc7R+Ucxp7vWB+SvVmdeOIskTBuX1DRjr+q5PT7SM+KdqMvAvLZEILXSRN5MhYM9uwXqtr6W3U5qKuURxjt5nuA61Q3jWFLbo\/R6DFVM0cPF9huO8c\/YszS0V41ZW9JLI5zG7OmeMMYOwD5BPGm31paIz1MWoWp0lmkXP8sq+43KOmtVDlhI2d9dw7c8mjzWyGcb81X2iyUdmh4KZmZHD15Xbud93gFYpJuL7KNFCFSKbqO7foFmNKfza6XigJOI5uJgz1ZI+GFp1l4R6L+EOdvVVU+QM9w\/0lEdU0cr6ThLvt5o1CIiQ0hERABERABERABEVLedTU1oqWU5YZZXAOc1p5A5A9uepdSbdkJOpGms0nZF0i8QysnhZNGcskaHNPcd17XBwiIgAiIgAswzFR+ER\/EM+jU3q92QP9R81p1l9OE1upLxcN+EO6Jpydxn7mjzTw2bM1fWUI9\/sahERIaQiIgAiLM37WFPQB1PQFs9RyL85ZH957v+E0YuTsidWrClHNNlrd73R2aAPqHZe76kTfrO\/wBu9YbUFzuFxdF6aGxQl3FHStI4wO08yMg9fsC5U7LhWyS1\/rOcPWfWzHDWDl6uds9Q9wGF39Gt8cdrrKWWSZ7qoCokfseL1TjHtK0xgoeJ41avOuuS\/fP2LGz6RmrA2W4xmmphuymacPd3uPVz8fBbKKKGkp2xRMZFDGNgNg0LqqLV9caSyPhYC6WqPQtA54PP3be1QcnN2PTjTp4am5IpWagrrjq6nbSSSMpjJ0bWbEOYMFx5HsO\/Z2LbrFaYoGs1LMGDDKCHonHrMh+t7+NbVdq2ukhMHncXKb3YWYu30GuLVPnhEkZjPf8AWH+YLTrMatzFcrLUjbo6jBPtafkUtPexTFaU83Jp+pp0REhpCIiACIiACIiAId2uDLXbJqx+CWN9Vp+048h5rITW4\/yRrrxVsBq6xzXgnPqML24Az28\/DCnXbpNR6hZaIwW0tG7pKh2ccXL37kDxKnazIj0zKxow0vY3A2AGc\/JWj1bLizzqz6VTk9oppePF\/gsrL\/YdB\/40f7oU1R7e3gttM3OeGFgz7ApCk9zdBWigod1uUVpoXVczXPa0gcLcZOfFTFnNclw0\/tyMzc+G67FXkkJXm4U5SXBF3QVsVxoYquEEMlbkB3MdykKu0+MWCh\/UN+CsVx6Mem24JvkcK2oFJQz1JxiKNz9+4ZVJoin6KwdMd3VErn568D1fkfNSNXT9Bpupxzk4WDbtIz7sqZZaf0Wy0cPW2FpPiRk+8ptoEX1sQu5e\/wDonIi8veyNhfI4Ma0ZLnHACQ0npRa+5Udsh6WsnbE08gebvAcys1edcRRh0Frb0kmcdM4eqPAdaqbdp+66jqPTK2R7InYJmkG7h\/hH8BWVPS8tEYKmMvLJRWZ+gv2rqi6A09IH09N17+u\/xxy8ArOy6HDeGe7HJ5iBjtv\/AGI+XmomprNRW6e2UlHFw9I8h7j6zn5LRv8Ax1reppTyxWUjQoOpWk6+rVvAo9URsptJ1McDRExgYGtYMADjasFIX0MkcOfVd0M4JHLLQ7bz9y\/QtUs6TTda3sYHeTgfksTfqYfi+01w\/LUrY3bDmwY+HwTUXpYlj4vPdcEvdn6asjcKoVeqpZXkGms8DpQHDbjx7znH7PnoKa4RNsUVwmPDGKcSPwOXq5IWIa+Vmlp5zn0i71fDtncA5O578j2+KnTjua8VU0il4+W3rY0mjKbgs7qt4+kq5XPJPPAOB8\/NaFR6ClbRUEFK3lFGG+JA3KkKcndtmqjDJTUQszrppFnglHOOoad\/ArTLO64bxafzn6szT8R812n2kJiv4JeBoGuD2Bw5EZXpcqV3HSwuxjiY049i6pC6d0EREHQiIgAod2uDLXbJqx+CWN9Vp+048h5qYsrqAfjrUVFZWyfQxfS1AHw8cfvJoK71I15uEOru9F4smaRt7qS1GpmH09Y7pXnGDjqHLxPtXrWIJ0zUkHHCWZ\/aA+au2tDWhrQAAMADqVTqsA6arMjPqt\/eCZO80yc6ahh3BcEyZan9JaKN+\/rQMO\/6IUtV9hJNgocnP0DPgrBI9y9N3gn3BUGtW8WnJTn6r2H34+av1n9bO4dOvGccUjB475+SaHaRPE\/wy8CysrOjslCw8xTsz48IU5Zy136ioNMUM1ZOGu6Phaxoy53CS3YezwUXiveqshubbbnfax60g+fuHiuuDbbZNV4qEVHV2Wn7scdaXSGsFPa6OQTy9Nl7GbjPINyOvJ5K1stDeXVZr7rVFmW8LaRh9Ro7wNviqG5UVtsN\/tcQJZHC3ppZHDJducH\/AOeSXLVdwu8j6S0Qvjjwcub9cjrOfsj+MquVuKUdjF0qjUlOq9eSJ2pNWTW+4mkouEuiHruO44iOXs28+5Zm43i432donfiNzw1kbdmNJ+PtVrpbTMF2hdXVznuiDy1sYOOM7ZJPZv1Kw1pHDRUdv6CJkTIpiWtY0DGyaLjGSilqTqKtVpurN2jyJVl0bS0GJq7gqp\/zSMsb4A8\/atKvjSHNDhuCMhfVmlJyd2exSpQpRtBGUv5jk1lZ4nHduH\/\/AEce8LVrC36obHrykc7lE6IHzz81uk81ZRM+HlepU8Sr1J\/d2t\/VFZ26U\/S\/g+opQN4eF2ewEkfMLRak\/u7W\/qiq5kQm\/B6WkZxSF3lv8l2Dsl4iYiOacl\/5\/JSOuck+kaC1U7x09TKYXDJzgO2Hty33qyZTsrNWUlviafRrRECSORcMfPHfsVlbRXC3XOnqJw58ULnPDAc5OMbdXMDfuW00ZRvFFPc52\/TVshdnr4c\/M59ypNZU3+6mLDSdaSi+7yXyzSIiLKe4FnNbSRGxSQ9KwShzX9GXDiLc4zj2qdddQ0NqBY9\/TVHJsEe7ierPYsleqG53CgmvtyY2DhDWxQtbh3CXfa8+vfwVacdU2YcXWWSUI6u2vcbqgcH26mcORiYfcFIUW1kG00ZByDAz90KUpvc2Q7KCIi4MEREAeXvbGxz3nDWgknsCzWkYzWT196kHrVMpYzbGG8\/uHsUrWFcKOwSsDgH1B6Joz1Hn7s+an2Wi\/F1npaUjDmM9b9I7n3kqi0h4mWXXrpf4q\/3exOVRqr+7Vb+iP3grdVGqv7tVv6I\/eCWHaRWv\/FLwZ3sH9gUP6hvwVgq+wf2BQ\/qG\/BQrtqqkt7zTUzTWVZ2Ece4B7z8gu5W5NIVVI06UXJ20RczTw00RlnlZFG3m55wAsLqrUcN1gFFRxPdE2UEzHk8gHYD2qyjsVfdnCt1HV9HAz1m07Twho7z1e894VLqS62+X0WktLAyGkcXZa3DXHbBHWeR3VacUpczDi605U3fqp+b+CbpqjstPa23a5SM4w8taJXZDcb+q3rO\/evV113I\/iitcXRjl00oyfY3l558FRWexVt7eWwENijPrSPOzfZ2rd2nS9utJbK1hnqB+Vk6j3DkE08id5aslh1XqQUaayrnzMba7TV6gvUkNwnmY9jOOR0m78bYAzy5+xbKupKayabrG0MIjxCd+skjGSes7qBpr6fUV7qcnAl4B3jid9wUrWcxi03M0flHsbz78\/JJJtzSLUacadCVTjrqdtKwtg05SBv22l5PaSSs\/+ECYuqaKnH2GOecd5H+la62RCC10kTeTIWDPbsFlbpCbnqm4xgcRpqBwZ1+tw7Y9r\/iuQfXbHxEWsNGmuNl++Rp7NL09lo5CQSYW5IPM4U1UmkJum05TtJBdEXMODnkT8iFcTSthhfK\/6rGlx8ApyVpNGylK9KMu4\/O7tBLcK683KM\/1SZrc55jJb7eQW\/oaptbQwVTcYlYHYHVkclndJ0ja6yV0kwx6dK8OxucY+8lfdNVzrXLLYrk8Rywkuhc44a5p3wD7\/wDhVnqrcjDh30clN7T97u3oTNZTiHTc7c4MrmsHnn4Aqfb6RosVPSStODTNY8cvs4KoLpO3Ut9prVTHpaOnd0k8reWd9s8u7xK1qSWkUjTTtUqynw2+T8sulmuNAzNVCejidwCYZw4EnHvz5hbDSt5M8ItlWBHU07Q2PbAkYBtjwGPYQVY380Rs1RFXzthikbgEnfi5jA6zkZwsHbo7heXU8NCxjKiiYSJ+PhcW52Hs5DxVb9JHUwOP0tZZNb8P30P0G4XegtcfHV1DGHqZzcfADdUD7re9QHgtFO6ipTsamXYuHd2ezPiomlqK2T1ksVyie+6RuJcyoOQe8DrPj4rbAADAGAFN2g7cTZBzxEbt2XJb\/dlPadMUNrcJnA1NVnJmk7e0Dq+K8axdw6ZqRj6xYP8A7B+SvFQa0cG6bmB+09gHmuRbc02PVhGnQkoq2jLO0t4LNRNznhp4xn\/1CmKNbmlltpWnmIWD3BSUj3NEOygiIuDBERAGXvYNx1bbLdzjgHTSDO3bv+yPNahZiyN9N1fdq8jibD9C12Ns8tv2ff3rTqk9LIzYfXNPm\/bQKl1dNHFpypbI8NdIA1gJ3ccg4Cj3LVkcc5orVCa6rJwOHdgPs5\/xuqG90L4qKSqvlx6W4vaBBTMOzNxnl3eA8V2EHdNkcRiE4SjDXTV8F\/ZItwvV+t9PRQE0VvijbG+Xk6TA3x2+HLtUh9wsWkmOgoo\/S6zk92QSPF3V4BcLfS32+2ynphL6Bb44w0PH1pcbcuZ9w8Ve2vStsthEgj6eYflJd8eA5BPJpaPyIUoVJJOC1\/yf4Rleh1Bq2YSOBZTZ9Xi9WJvh+d47rvT6fgt2rrfQPf6SHRmWQuaOHOHbY9g5rerMRfT\/AIRJuv0em8th\/qXFUbulorDTwsYOMpO8m1qzzpM9BdrzSEBvDPxADljLht7lqVmKL6L8INe3qkpwcd+Gf7q\/rpOht9TKTjgic7PgCknrI1YZ5abXJv3KDQ30lDW1P\/dqTt7AfmvuuiXWiCFp9eSoGG9vqu+eF20THwacjdjHSSPd474+S4aww6rs7CMh1Tv5tT\/9pBq2DXevdmmaA1oaNgBgLMabxU6hvlQRsJRGBjYjLvuHmr+4VYobfUVR36KMuA7TjYeaqdGUrobGKiQkyVUjpDk+wfDPtSLSLZep1q0I8rv8EfSH82qrrbuqCoy3wOR\/lCn6qqPR9OVbgcOe0MG\/PJAPuyoDQaD8IDtvUroOZ6iB\/wDwfNfNXOFZW2y0NIJmmD3tzyHIH3u8k1rzTIKWTDyjxTa89vct7BTeiWKihxgiIOIxyJ3PvK93GzUF1A9Lpw9zRgPGzgM5xlSnvipoS97mRRMG5cQ1rR8lnqjVclXMaWw0b6yXrlcMMb3\/APOEiUm7o0zdKnBQn5f0W0FPbbDQkNMdNC36z3u5nxPMqnm1TU3CU01gon1DuRnkGGN9n348F6p9LzV0wq9QVRqpfswsOGNHZ\/x71oYYIaaIRQRMijbyawYAXbxXexFGrNWXVj6\/CM9Q6UdLOKy+VJrZ+qMn1G\/f4bBeb9bZrdVw3q1RBroRiaJjcB7B3Dy8uxadFzO73GeGp5Mq0fPjczFVR0WraBtwoH9DXR4w7OC1w+y7HuK76ev0tVK62XJhiuEOxyMdIB1+Px5hcLnYqy31humnyGSH\/q0wwGv8By9nluos81PqanbU0bvRb3SDiEf1XOxzGevu7OvmqWTXd7GXNKE72tLjyl4d5sVntbf3df8ArWKZp68NvFuEjtp4jwTNxjft9v3qHrb+7r\/1rEkU1NJmmtNTw8pR2aLqi\/qNP+qb8F3XCi\/qNP8Aqm\/Bd0jNEeygiIuDBcqqYU1JNOcYiY55z3DK6qo1VMYdN1jhzc0N59rgPgV2Ku0hKkskHLkit0m+O36bnuVS44lkfI49ZA2wO3cFUd71fUXT+bwNdTUpPrcJ9d47z8lY01+As1LaLVSenVLoMStLTwNyN89vPw71Itmio+k9JurmPkJz0EI4WDxwPh71o6sW5SPKaqVKcaVF6W1\/2UtoF3uEPodogbSQcpZ25Bd+k\/mT3DyVpctL0lr09V1Mr3VNXwg9K\/q3HIfMrYMYyNgZG0Ma0YDWjACrtRwvn09WRxtLndHkADJOCD8knSNyVtC\/0kYUm5auz\/Uj3YP7Aof1DfgrBZS03e5zWyigtdu6RkTWxzSynAB68bjq+K1aSaszVQmpQVuCQWYs30utLvMdy1oZnyH+VadZfR301Td6vJ+mqfm4\/wCZEey2LW1qU13t+SPsp6H8IkONunpjnv2P+lWOqJ\/R9OVjwcFzOD9ogfNV16+g1nZ58fXBj28SP8y9a3l\/oqCkbgyVE7Q0Hu\/3wntdxIOWSnV8X6pFpp+H0ewUUZ59C13nv81U6u\/r1m\/8n5tWkhjEMLIgchjQ3Pgs3rZr46airmAn0acE92d\/klg7zKYiOXD25W9LHvWtQ426C3RbzVkrWho6wD9\/Cr6lp2UlJDTM+rEwMHsGFmqV\/wCPtYiuiaXUVDHwsk6nO338yf2QrC66oore7oIc1dUdmxRb4Pef4K607KKOQqQUpVpPTZfb+yPq2nlb6FdIWF5oZeN+Dj1dj8veqCm1A6p1NJcmUMlRKWcFPA3fh2AyT4Z6uvuVtHZ7xqF4mvUzqWl5tpYjgnxH35PgtFQWyjtsXR0dOyIdZA3d4nmU2ZRVnqyTpVK1TPHqrfXmu4zzLDdb5N099qHQwZy2kid\/AHvPgtJSUdNQwiGlgZCwdTRjPj2ruik5NmynRjT1Wr5vcIiJSwREQAVHetOsrnCsoSKa4RnibK3biPfj4q8RdTad0JUpxqRyyPzmgu1XZtRGSth6DpiGVTeHAP8AiA9+3acbFaTWz2nThIcCHys4SN89asLzZKS805ZOzErQejlHNp+Y7lhK651EdmfYqxh6WlnAY7\/CMjH3HsK0RtNprgeXUUsPCVOTunez7+R+j0gLaOBp2IjaD5LsvEQLYmNOxDQCvazHrLRBFDud0pbTSmoqn4GcNaObj2BZ7hvmqRkk2ygPLf1pB8T7h4p1G+r2I1Kyi8qV3y\/dizumqKC3HoYz6XVE4bDEc79hPV8Vl9Ruv09vbWXIinp3yhrKYHBGxIJHs61r7Vp+32ccVPFxS4wZX7uP3exVevQTY4cDlUtz+y5Ug4qSSMmIhUlSlKo7dy\/PMvLdbqW2UogpoWxjA4iObj2k9aloig3c9GMVFWQXwgEYIyCvqIOnlrWsaGsaGtHIAYAXpEQBGuM\/ottqagHBiic4eIBVTouDodORPxgzPc8+ePkuurpuh03VYO7+Fg9rhn3ZUyyw+j2WiixgiBmfEjJ96faBm3xHgvd\/0VGtI3x09FcI25dSVAd4Dn8Whc6tzbvrSgjjcHwUkQnPidwf3P4wtJU00VZTvp52B8cgw5pWd9JsOk3Tthe6erld6zGHid3Dsb8fFNF3VluSrU7TzNpRdm\/t8mnVDfr\/AGinifR1DRWSE4MDN9+wnq+Kh8Go9Q\/9Q\/iqid9kZ6Rw+PwHcra16dt1pAdBDxyj8rJu72dnsXLKO47nUqq0FZc3+F8lBS2293aAQtY2z24kkRMBDnA9o5n24Whtdht9oYPRoAZcYMz93n29XgFZIuSm3oPTw8IO71fN\/jkEREhoCIiACIiACIiACIiACw+vqFkdRTVzBh0oLJO8jkfLPkFuFk9bxOqprVRNdwmomLQSNgfVGfeqUnaaMeNipUH9vcudP3UXi1R1DsdK31JQOpw+\/mrNYHRlTJb79NbpstMgcwtzsHt\/grfIqRyyGwlV1aSb3WjKG96XZea5lV6W6AtYGcIZxdZ359\/uUb8Rajh9aC\/l7uyVpx78rTouKcrWGlhqbbls3ybMuKvV9FtNQwVrcfWYQD7iPgqvUd8muFr9Fq7VUUkrZA8F49XO46wO0reKHdqX021VVNgkyRODQO3G3vwmjNXu0Sq4ebg4xm\/vqVlBq+0TwRiap6GXgHEJGnGcb7q5gqqaqbxU9RFMO2N4d8FntM0duumn4W1NJBLLC5zHlzPWG+Rvz5ELrNom1uPHTunpng5aWSZx5\/eiShe2wU513BSsnf7GiRZc6fv9CP6OvrngcmTg4HdvxD3L6blqqh3qbXFVs7YT63uJ+C5kvsyn1DXbg16+xp0Wah1tRh\/R11JUUj8Zw5uR9\/uXas1naKeDjhldUvPJjGkeZI2XOjlyO\/VUbXzI96uo6qusvQ0kRlf0rSWtxnG\/+yrItTVNqJZc2xudwBsVLA4Ocwjb1j1bY6yV6bFqPUWHyy\/iyjdya3Ic4fE+3AVza9O260gOgh45R+Vk3d7Oz2J9Iq0jPapVqdJTuu9\/HyUvQaj1HvUP\/FlE77AyHOHhzPtwO5XVr07brSA6CHjlH5WTd3s7PYrREjm3otjRDDxi8z1fNhERIaAiIgAiIgAiIgAiIgAiIgAiIgAsxffpdYWaLP1cvx7c\/JadZiqAn\/CHSYH\/AEaY58nf6gqQ3ZmxOsUubXuV+oKcWvV9FcGZayd7XOOcDIIDvcR5rbrJa+laykohgdJ0pc3PYBv8QtTDK2eCOZn1ZGhw8CMrs9YpiUEo1qkV3PzOiIikbAiIgDJVEUmlL06uiY91rqj9K1u\/RuPX58vHC0NNdrdVxCWCthc0\/wCMAjxB3ClSRslYY5GNex3NrhkFUs+j7LO8O9GMW3KN5AKpeMu0ZVTqUm+js1yfDwJtRe7XStzNXwDuDw4+QVTJrBtTP6NaKKaskI+tjDQerbs8cKZT6SslO8OFGJCB+UcXDy5K1hghp2COCJkTByaxoaPci8F3ncteW7S8NX6mZfZ79fQ38b1bKWnyHdBCN\/48SVNOjbIYWx+jPy37fSHiPj1e5XqLmeXDQ6sNT3krvv1MwdGmnPFbbvVUuDkAnI9xC8+jawoTmKqp65mchr8Z94HxWpRd6R8dTn0sF2brwZmDqG+0f9fsD3NGznQk4Hftn4rvTa0tMzgyYy0r84IlZsD4jK0Cj1NBR1gIqaWKbP57ASuZovdB0daPZnfxXxYUtwo61odTVUU2fzHgnyUhZ+q0XaZjxwCWlkByHRPOAfA592FH\/EupLfj0C8ioY3kycdXZvn4hdyxezDpKse1C\/h8M1CLLfjnU1BtW2UVDW\/agPMdu2fgu0Gtra6Qx1cU9I8c+kZkDy39y50cuALFUtpO3joaNFHpbhR1rQ6mqops\/mPBPkpCQ0Jpq6CIiDoREQAREQAREQAWYp\/pfwiVX\/wCNMPg3\/UtOsDW1dYNYXCK3MElTUgQNdz4BhuT7MexUpq9zHi5qKg3z+T5qB8l\/uVbJCf5rbIiOIDPE7O\/mc+xq1unpRNp+hcDnELW+W3yUCotcNk0fV08YDnmF3SP63OP3ZUzTDeDTlEM59TPmSU02nHQnQhKNe8t2rvzLVERRPQCIiACIiACIiACIiACIiACIiACIiAC41NJT1kZjqYI5mEYw9oK7Ig40mrMz1Voq0TkuibLTPJyDG\/YHwOVwGnL3RH+j788tG7WTgkD4j3LUIn6SRneFpXulbw0Mua7VlBk1FvhrWAc4jv5Dfq7F6ZremjcGV9BVUsmcEFuQPPB9y0y8vYyRpY9oc08w4ZBXc0Xug6GpHszf31KmDVVknAxXNYT1SNLceYwp0VzoJ8dDW08mepsrT81xnsVpqCTLb4CT1hgafd4qDNoyySnLad8X6Eh+eVzqd4XxC5PzXyXoIIyDkFCQBknACzR0LQDaKrq4xnOA8fcn8hbe4jpaqrfjl64+5Focw6Sv\/h6\/0XstxoYCRNWU8ZH58rR81V1usLTSHhjldUv29WEZ9\/JeYtFWSP60Mkv6cp+WFaUlqoKHelo4Yj+cG7+fNd6i7w\/5EuS9fgz7pdSagBZFF+KqUnd78iRw+PljxXLTNCy36sr6Vri\/ooAON3Mk8JJ81sFloJG0WvqpspaxtVCOAuPM4afkfJMpXTSIVKShKE5O7vu\/uTNYzCLTkzMgOmc1jckDrz8AVZWunNLaqSB2eKOFrTkdeN1nZX\/yq1FE2B2bfb3Bz3f9x2eryA8Mla1LLSKRak89SVRbbL8hERTNQREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAVfc7LQ3bgNVGS5n1XNdgjfPgiLsXZk6kVKDTR2oLdS2yn6CkiEbOZ7XHGMnyUpEQ9xopJJI\/9k=",
    "razonSocial": "REGIMIENTO LOGISTICO N1 TOCOPILLA",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "CARLA CID",
    "correoContacto": "carla.cid@ejercito.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE SUENA AL MOMENTO DE IMPRIMIR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56999798209",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R808\",\"id_control\":\"28574\",\"cantidad_usada\":1,\"cantidad_asignada\":2},{\"id_inventario\":\"KYO-R807\",\"id_control\":\"28574\",\"cantidad_usada\":1,\"cantidad_asignada\":2},{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28575\",\"cantidad_usada\":5,\"cantidad_asignada\":5}]",
    "horaSalida": "15:37",
    "ubicacionGPS": "LatLng(lat: -23.6824112, lng: -70.4138416)",
    "horaLlegada": "10:20",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 05/05/2026 15:37:08
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-7WRrwvo9ooK_4Z_9qPnQowHpakBdckolsx2Mz1hY2EmmkHzEKFa
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61964800",
    "serieinterna": "KY2383",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "302721",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "ruidos y manchas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12453",
    "observacion": "cambio de unidad de imagen ( ruidos ) y fusor ( manchas )",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADEAPsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABJEAABAwMCAgYGBAkLBQEBAAABAAIDBAURBiESMRNBUWFxkRQigaGxwSMyQtEHFUNScnOSsvAWJCU0NTZiwtLh8TNTdIKiY+L\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIEAgkEAgIDAAAAAAAAAQIDEQQSITFBURMiMmFxkaGx0RSBwfAz4VLxJENi\/9oADAMBAAIRAxEAPwD9mREQAREQAREQAREQAREQAREQAREQARF8c4NaXOIAAySepAH1FSUd6qLlfHQ0cAfb4QWyVBBGX9x6+r49iu11prcSE4zV4hERcHCIiACIoV4qDS2ernHNkTseONl1K7sck8qbZD09eJ7x6ZI9jBDFMWQuaDkjnv27YVyqTSFP6PpynP2pS6Q+07e4BXa7O2Z2JUHJ0ouW7CIiUsR66rZQ0U1VI1z2xNLiG8ylDWR3Chiq4gQyVvEAeY7kr4PSrfUU+M9LE5vmFTaIqBNp5sfXBI5nmeL\/ADJrdW5BzarKPBr1NCiIlLhERABERABERABERABERABERABERABVGp651BYKiRji2R4EbCDggn\/bKt1l9WkVtfa7SN+mm4378hy+BcngryRDEycaTtvt5lxYaX0OyUkRHrdEHO8SM\/7exWCIlbu7lYxUYqK4BERcGCIiACotZymPTc7R+Ucxp7vWB+SvVmdeOIskTBuX1DRjr+q5PT7SM+KdqMvAvLZEILXSRN5MhYM9uwXqtr6W3U5qKuURxjt5nuA61Q3jWFLbo\/R6DFVM0cPF9huO8c\/YszS0V41ZW9JLI5zG7OmeMMYOwD5BPGm31paIz1MWoWp0lmkXP8sq+43KOmtVDlhI2d9dw7c8mjzWyGcb81X2iyUdmh4KZmZHD15Xbud93gFYpJuL7KNFCFSKbqO7foFmNKfza6XigJOI5uJgz1ZI+GFp1l4R6L+EOdvVVU+QM9w\/0lEdU0cr6ThLvt5o1CIiQ0hERABERABERABEVLedTU1oqWU5YZZXAOc1p5A5A9uepdSbdkJOpGms0nZF0i8QysnhZNGcskaHNPcd17XBwiIgAiIgAswzFR+ER\/EM+jU3q92QP9R81p1l9OE1upLxcN+EO6Jpydxn7mjzTw2bM1fWUI9\/sahERIaQiIgAiLM37WFPQB1PQFs9RyL85ZH957v+E0YuTsidWrClHNNlrd73R2aAPqHZe76kTfrO\/wBu9YbUFzuFxdF6aGxQl3FHStI4wO08yMg9fsC5U7LhWyS1\/rOcPWfWzHDWDl6uds9Q9wGF39Gt8cdrrKWWSZ7qoCokfseL1TjHtK0xgoeJ41avOuuS\/fP2LGz6RmrA2W4xmmphuymacPd3uPVz8fBbKKKGkp2xRMZFDGNgNg0LqqLV9caSyPhYC6WqPQtA54PP3be1QcnN2PTjTp4am5IpWagrrjq6nbSSSMpjJ0bWbEOYMFx5HsO\/Z2LbrFaYoGs1LMGDDKCHonHrMh+t7+NbVdq2ukhMHncXKb3YWYu30GuLVPnhEkZjPf8AWH+YLTrMatzFcrLUjbo6jBPtafkUtPexTFaU83Jp+pp0REhpCIiACIiACIiAId2uDLXbJqx+CWN9Vp+048h5rITW4\/yRrrxVsBq6xzXgnPqML24Az28\/DCnXbpNR6hZaIwW0tG7pKh2ccXL37kDxKnazIj0zKxow0vY3A2AGc\/JWj1bLizzqz6VTk9oppePF\/gsrL\/YdB\/40f7oU1R7e3gttM3OeGFgz7ApCk9zdBWigod1uUVpoXVczXPa0gcLcZOfFTFnNclw0\/tyMzc+G67FXkkJXm4U5SXBF3QVsVxoYquEEMlbkB3MdykKu0+MWCh\/UN+CsVx6Mem24JvkcK2oFJQz1JxiKNz9+4ZVJoin6KwdMd3VErn568D1fkfNSNXT9Bpupxzk4WDbtIz7sqZZaf0Wy0cPW2FpPiRk+8ptoEX1sQu5e\/wDonIi8veyNhfI4Ma0ZLnHACQ0npRa+5Udsh6WsnbE08gebvAcys1edcRRh0Frb0kmcdM4eqPAdaqbdp+66jqPTK2R7InYJmkG7h\/hH8BWVPS8tEYKmMvLJRWZ+gv2rqi6A09IH09N17+u\/xxy8ArOy6HDeGe7HJ5iBjtv\/AGI+XmomprNRW6e2UlHFw9I8h7j6zn5LRv8Ax1reppTyxWUjQoOpWk6+rVvAo9URsptJ1McDRExgYGtYMADjasFIX0MkcOfVd0M4JHLLQ7bz9y\/QtUs6TTda3sYHeTgfksTfqYfi+01w\/LUrY3bDmwY+HwTUXpYlj4vPdcEvdn6asjcKoVeqpZXkGms8DpQHDbjx7znH7PnoKa4RNsUVwmPDGKcSPwOXq5IWIa+Vmlp5zn0i71fDtncA5O578j2+KnTjua8VU0il4+W3rY0mjKbgs7qt4+kq5XPJPPAOB8\/NaFR6ClbRUEFK3lFGG+JA3KkKcndtmqjDJTUQszrppFnglHOOoad\/ArTLO64bxafzn6szT8R812n2kJiv4JeBoGuD2Bw5EZXpcqV3HSwuxjiY049i6pC6d0EREHQiIgAod2uDLXbJqx+CWN9Vp+048h5qYsrqAfjrUVFZWyfQxfS1AHw8cfvJoK71I15uEOru9F4smaRt7qS1GpmH09Y7pXnGDjqHLxPtXrWIJ0zUkHHCWZ\/aA+au2tDWhrQAAMADqVTqsA6arMjPqt\/eCZO80yc6ahh3BcEyZan9JaKN+\/rQMO\/6IUtV9hJNgocnP0DPgrBI9y9N3gn3BUGtW8WnJTn6r2H34+av1n9bO4dOvGccUjB475+SaHaRPE\/wy8CysrOjslCw8xTsz48IU5Zy136ioNMUM1ZOGu6Phaxoy53CS3YezwUXiveqshubbbnfax60g+fuHiuuDbbZNV4qEVHV2Wn7scdaXSGsFPa6OQTy9Nl7GbjPINyOvJ5K1stDeXVZr7rVFmW8LaRh9Ro7wNviqG5UVtsN\/tcQJZHC3ppZHDJducH\/AOeSXLVdwu8j6S0Qvjjwcub9cjrOfsj+MquVuKUdjF0qjUlOq9eSJ2pNWTW+4mkouEuiHruO44iOXs28+5Zm43i432donfiNzw1kbdmNJ+PtVrpbTMF2hdXVznuiDy1sYOOM7ZJPZv1Kw1pHDRUdv6CJkTIpiWtY0DGyaLjGSilqTqKtVpurN2jyJVl0bS0GJq7gqp\/zSMsb4A8\/atKvjSHNDhuCMhfVmlJyd2exSpQpRtBGUv5jk1lZ4nHduH\/\/AEce8LVrC36obHrykc7lE6IHzz81uk81ZRM+HlepU8Sr1J\/d2t\/VFZ26U\/S\/g+opQN4eF2ewEkfMLRak\/u7W\/qiq5kQm\/B6WkZxSF3lv8l2Dsl4iYiOacl\/5\/JSOuck+kaC1U7x09TKYXDJzgO2Hty33qyZTsrNWUlviafRrRECSORcMfPHfsVlbRXC3XOnqJw58ULnPDAc5OMbdXMDfuW00ZRvFFPc52\/TVshdnr4c\/M59ypNZU3+6mLDSdaSi+7yXyzSIiLKe4FnNbSRGxSQ9KwShzX9GXDiLc4zj2qdddQ0NqBY9\/TVHJsEe7ierPYsleqG53CgmvtyY2DhDWxQtbh3CXfa8+vfwVacdU2YcXWWSUI6u2vcbqgcH26mcORiYfcFIUW1kG00ZByDAz90KUpvc2Q7KCIi4MEREAeXvbGxz3nDWgknsCzWkYzWT196kHrVMpYzbGG8\/uHsUrWFcKOwSsDgH1B6Joz1Hn7s+an2Wi\/F1npaUjDmM9b9I7n3kqi0h4mWXXrpf4q\/3exOVRqr+7Vb+iP3grdVGqv7tVv6I\/eCWHaRWv\/FLwZ3sH9gUP6hvwVgq+wf2BQ\/qG\/BQrtqqkt7zTUzTWVZ2Ece4B7z8gu5W5NIVVI06UXJ20RczTw00RlnlZFG3m55wAsLqrUcN1gFFRxPdE2UEzHk8gHYD2qyjsVfdnCt1HV9HAz1m07Twho7z1e894VLqS62+X0WktLAyGkcXZa3DXHbBHWeR3VacUpczDi605U3fqp+b+CbpqjstPa23a5SM4w8taJXZDcb+q3rO\/evV113I\/iitcXRjl00oyfY3l558FRWexVt7eWwENijPrSPOzfZ2rd2nS9utJbK1hnqB+Vk6j3DkE08id5aslh1XqQUaayrnzMba7TV6gvUkNwnmY9jOOR0m78bYAzy5+xbKupKayabrG0MIjxCd+skjGSes7qBpr6fUV7qcnAl4B3jid9wUrWcxi03M0flHsbz78\/JJJtzSLUacadCVTjrqdtKwtg05SBv22l5PaSSs\/+ECYuqaKnH2GOecd5H+la62RCC10kTeTIWDPbsFlbpCbnqm4xgcRpqBwZ1+tw7Y9r\/iuQfXbHxEWsNGmuNl++Rp7NL09lo5CQSYW5IPM4U1UmkJum05TtJBdEXMODnkT8iFcTSthhfK\/6rGlx8ApyVpNGylK9KMu4\/O7tBLcK683KM\/1SZrc55jJb7eQW\/oaptbQwVTcYlYHYHVkclndJ0ja6yV0kwx6dK8OxucY+8lfdNVzrXLLYrk8Rywkuhc44a5p3wD7\/wDhVnqrcjDh30clN7T97u3oTNZTiHTc7c4MrmsHnn4Aqfb6RosVPSStODTNY8cvs4KoLpO3Ut9prVTHpaOnd0k8reWd9s8u7xK1qSWkUjTTtUqynw2+T8sulmuNAzNVCejidwCYZw4EnHvz5hbDSt5M8ItlWBHU07Q2PbAkYBtjwGPYQVY380Rs1RFXzthikbgEnfi5jA6zkZwsHbo7heXU8NCxjKiiYSJ+PhcW52Hs5DxVb9JHUwOP0tZZNb8P30P0G4XegtcfHV1DGHqZzcfADdUD7re9QHgtFO6ipTsamXYuHd2ezPiomlqK2T1ksVyie+6RuJcyoOQe8DrPj4rbAADAGAFN2g7cTZBzxEbt2XJb\/dlPadMUNrcJnA1NVnJmk7e0Dq+K8axdw6ZqRj6xYP8A7B+SvFQa0cG6bmB+09gHmuRbc02PVhGnQkoq2jLO0t4LNRNznhp4xn\/1CmKNbmlltpWnmIWD3BSUj3NEOygiIuDBERAGXvYNx1bbLdzjgHTSDO3bv+yPNahZiyN9N1fdq8jibD9C12Ns8tv2ff3rTqk9LIzYfXNPm\/bQKl1dNHFpypbI8NdIA1gJ3ccg4Cj3LVkcc5orVCa6rJwOHdgPs5\/xuqG90L4qKSqvlx6W4vaBBTMOzNxnl3eA8V2EHdNkcRiE4SjDXTV8F\/ZItwvV+t9PRQE0VvijbG+Xk6TA3x2+HLtUh9wsWkmOgoo\/S6zk92QSPF3V4BcLfS32+2ynphL6Bb44w0PH1pcbcuZ9w8Ve2vStsthEgj6eYflJd8eA5BPJpaPyIUoVJJOC1\/yf4Rleh1Bq2YSOBZTZ9Xi9WJvh+d47rvT6fgt2rrfQPf6SHRmWQuaOHOHbY9g5rerMRfT\/AIRJuv0em8th\/qXFUbulorDTwsYOMpO8m1qzzpM9BdrzSEBvDPxADljLht7lqVmKL6L8INe3qkpwcd+Gf7q\/rpOht9TKTjgic7PgCknrI1YZ5abXJv3KDQ30lDW1P\/dqTt7AfmvuuiXWiCFp9eSoGG9vqu+eF20THwacjdjHSSPd474+S4aww6rs7CMh1Tv5tT\/9pBq2DXevdmmaA1oaNgBgLMabxU6hvlQRsJRGBjYjLvuHmr+4VYobfUVR36KMuA7TjYeaqdGUrobGKiQkyVUjpDk+wfDPtSLSLZep1q0I8rv8EfSH82qrrbuqCoy3wOR\/lCn6qqPR9OVbgcOe0MG\/PJAPuyoDQaD8IDtvUroOZ6iB\/wDwfNfNXOFZW2y0NIJmmD3tzyHIH3u8k1rzTIKWTDyjxTa89vct7BTeiWKihxgiIOIxyJ3PvK93GzUF1A9Lpw9zRgPGzgM5xlSnvipoS97mRRMG5cQ1rR8lnqjVclXMaWw0b6yXrlcMMb3\/APOEiUm7o0zdKnBQn5f0W0FPbbDQkNMdNC36z3u5nxPMqnm1TU3CU01gon1DuRnkGGN9n348F6p9LzV0wq9QVRqpfswsOGNHZ\/x71oYYIaaIRQRMijbyawYAXbxXexFGrNWXVj6\/CM9Q6UdLOKy+VJrZ+qMn1G\/f4bBeb9bZrdVw3q1RBroRiaJjcB7B3Dy8uxadFzO73GeGp5Mq0fPjczFVR0WraBtwoH9DXR4w7OC1w+y7HuK76ev0tVK62XJhiuEOxyMdIB1+Px5hcLnYqy31humnyGSH\/q0wwGv8By9nluos81PqanbU0bvRb3SDiEf1XOxzGevu7OvmqWTXd7GXNKE72tLjyl4d5sVntbf3df8ArWKZp68NvFuEjtp4jwTNxjft9v3qHrb+7r\/1rEkU1NJmmtNTw8pR2aLqi\/qNP+qb8F3XCi\/qNP8Aqm\/Bd0jNEeygiIuDBcqqYU1JNOcYiY55z3DK6qo1VMYdN1jhzc0N59rgPgV2Ku0hKkskHLkit0m+O36bnuVS44lkfI49ZA2wO3cFUd71fUXT+bwNdTUpPrcJ9d47z8lY01+As1LaLVSenVLoMStLTwNyN89vPw71Itmio+k9JurmPkJz0EI4WDxwPh71o6sW5SPKaqVKcaVF6W1\/2UtoF3uEPodogbSQcpZ25Bd+k\/mT3DyVpctL0lr09V1Mr3VNXwg9K\/q3HIfMrYMYyNgZG0Ma0YDWjACrtRwvn09WRxtLndHkADJOCD8knSNyVtC\/0kYUm5auz\/Uj3YP7Aof1DfgrBZS03e5zWyigtdu6RkTWxzSynAB68bjq+K1aSaszVQmpQVuCQWYs30utLvMdy1oZnyH+VadZfR301Td6vJ+mqfm4\/wCZEey2LW1qU13t+SPsp6H8IkONunpjnv2P+lWOqJ\/R9OVjwcFzOD9ogfNV16+g1nZ58fXBj28SP8y9a3l\/oqCkbgyVE7Q0Hu\/3wntdxIOWSnV8X6pFpp+H0ewUUZ59C13nv81U6u\/r1m\/8n5tWkhjEMLIgchjQ3Pgs3rZr46airmAn0acE92d\/klg7zKYiOXD25W9LHvWtQ426C3RbzVkrWho6wD9\/Cr6lp2UlJDTM+rEwMHsGFmqV\/wCPtYiuiaXUVDHwsk6nO338yf2QrC66oore7oIc1dUdmxRb4Pef4K607KKOQqQUpVpPTZfb+yPq2nlb6FdIWF5oZeN+Dj1dj8veqCm1A6p1NJcmUMlRKWcFPA3fh2AyT4Z6uvuVtHZ7xqF4mvUzqWl5tpYjgnxH35PgtFQWyjtsXR0dOyIdZA3d4nmU2ZRVnqyTpVK1TPHqrfXmu4zzLDdb5N099qHQwZy2kid\/AHvPgtJSUdNQwiGlgZCwdTRjPj2ruik5NmynRjT1Wr5vcIiJSwREQAVHetOsrnCsoSKa4RnibK3biPfj4q8RdTad0JUpxqRyyPzmgu1XZtRGSth6DpiGVTeHAP8AiA9+3acbFaTWz2nThIcCHys4SN89asLzZKS805ZOzErQejlHNp+Y7lhK651EdmfYqxh6WlnAY7\/CMjH3HsK0RtNprgeXUUsPCVOTunez7+R+j0gLaOBp2IjaD5LsvEQLYmNOxDQCvazHrLRBFDud0pbTSmoqn4GcNaObj2BZ7hvmqRkk2ygPLf1pB8T7h4p1G+r2I1Kyi8qV3y\/dizumqKC3HoYz6XVE4bDEc79hPV8Vl9Ruv09vbWXIinp3yhrKYHBGxIJHs61r7Vp+32ccVPFxS4wZX7uP3exVevQTY4cDlUtz+y5Ug4qSSMmIhUlSlKo7dy\/PMvLdbqW2UogpoWxjA4iObj2k9aloig3c9GMVFWQXwgEYIyCvqIOnlrWsaGsaGtHIAYAXpEQBGuM\/ottqagHBiic4eIBVTouDodORPxgzPc8+ePkuurpuh03VYO7+Fg9rhn3ZUyyw+j2WiixgiBmfEjJ96faBm3xHgvd\/0VGtI3x09FcI25dSVAd4Dn8Whc6tzbvrSgjjcHwUkQnPidwf3P4wtJU00VZTvp52B8cgw5pWd9JsOk3Tthe6erld6zGHid3Dsb8fFNF3VluSrU7TzNpRdm\/t8mnVDfr\/AGinifR1DRWSE4MDN9+wnq+Kh8Go9Q\/9Q\/iqid9kZ6Rw+PwHcra16dt1pAdBDxyj8rJu72dnsXLKO47nUqq0FZc3+F8lBS2293aAQtY2z24kkRMBDnA9o5n24Whtdht9oYPRoAZcYMz93n29XgFZIuSm3oPTw8IO71fN\/jkEREhoCIiACIiACIiACIiACw+vqFkdRTVzBh0oLJO8jkfLPkFuFk9bxOqprVRNdwmomLQSNgfVGfeqUnaaMeNipUH9vcudP3UXi1R1DsdK31JQOpw+\/mrNYHRlTJb79NbpstMgcwtzsHt\/grfIqRyyGwlV1aSb3WjKG96XZea5lV6W6AtYGcIZxdZ359\/uUb8Rajh9aC\/l7uyVpx78rTouKcrWGlhqbbls3ybMuKvV9FtNQwVrcfWYQD7iPgqvUd8muFr9Fq7VUUkrZA8F49XO46wO0reKHdqX021VVNgkyRODQO3G3vwmjNXu0Sq4ebg4xm\/vqVlBq+0TwRiap6GXgHEJGnGcb7q5gqqaqbxU9RFMO2N4d8FntM0duumn4W1NJBLLC5zHlzPWG+Rvz5ELrNom1uPHTunpng5aWSZx5\/eiShe2wU513BSsnf7GiRZc6fv9CP6OvrngcmTg4HdvxD3L6blqqh3qbXFVs7YT63uJ+C5kvsyn1DXbg16+xp0Wah1tRh\/R11JUUj8Zw5uR9\/uXas1naKeDjhldUvPJjGkeZI2XOjlyO\/VUbXzI96uo6qusvQ0kRlf0rSWtxnG\/+yrItTVNqJZc2xudwBsVLA4Ocwjb1j1bY6yV6bFqPUWHyy\/iyjdya3Ic4fE+3AVza9O260gOgh45R+Vk3d7Oz2J9Iq0jPapVqdJTuu9\/HyUvQaj1HvUP\/FlE77AyHOHhzPtwO5XVr07brSA6CHjlH5WTd3s7PYrREjm3otjRDDxi8z1fNhERIaAiIgAiIgAiIgAiIgAiIgAiIgAsxffpdYWaLP1cvx7c\/JadZiqAn\/CHSYH\/AEaY58nf6gqQ3ZmxOsUubXuV+oKcWvV9FcGZayd7XOOcDIIDvcR5rbrJa+laykohgdJ0pc3PYBv8QtTDK2eCOZn1ZGhw8CMrs9YpiUEo1qkV3PzOiIikbAiIgDJVEUmlL06uiY91rqj9K1u\/RuPX58vHC0NNdrdVxCWCthc0\/wCMAjxB3ClSRslYY5GNex3NrhkFUs+j7LO8O9GMW3KN5AKpeMu0ZVTqUm+js1yfDwJtRe7XStzNXwDuDw4+QVTJrBtTP6NaKKaskI+tjDQerbs8cKZT6SslO8OFGJCB+UcXDy5K1hghp2COCJkTByaxoaPci8F3ncteW7S8NX6mZfZ79fQ38b1bKWnyHdBCN\/48SVNOjbIYWx+jPy37fSHiPj1e5XqLmeXDQ6sNT3krvv1MwdGmnPFbbvVUuDkAnI9xC8+jawoTmKqp65mchr8Z94HxWpRd6R8dTn0sF2brwZmDqG+0f9fsD3NGznQk4Hftn4rvTa0tMzgyYy0r84IlZsD4jK0Cj1NBR1gIqaWKbP57ASuZovdB0daPZnfxXxYUtwo61odTVUU2fzHgnyUhZ+q0XaZjxwCWlkByHRPOAfA592FH\/EupLfj0C8ioY3kycdXZvn4hdyxezDpKse1C\/h8M1CLLfjnU1BtW2UVDW\/agPMdu2fgu0Gtra6Qx1cU9I8c+kZkDy39y50cuALFUtpO3joaNFHpbhR1rQ6mqops\/mPBPkpCQ0Jpq6CIiDoREQAREQAREQAWYp\/pfwiVX\/wCNMPg3\/UtOsDW1dYNYXCK3MElTUgQNdz4BhuT7MexUpq9zHi5qKg3z+T5qB8l\/uVbJCf5rbIiOIDPE7O\/mc+xq1unpRNp+hcDnELW+W3yUCotcNk0fV08YDnmF3SP63OP3ZUzTDeDTlEM59TPmSU02nHQnQhKNe8t2rvzLVERRPQCIiACIiACIiACIiACIiACIiACIiAC41NJT1kZjqYI5mEYw9oK7Ig40mrMz1Voq0TkuibLTPJyDG\/YHwOVwGnL3RH+j788tG7WTgkD4j3LUIn6SRneFpXulbw0Mua7VlBk1FvhrWAc4jv5Dfq7F6ZremjcGV9BVUsmcEFuQPPB9y0y8vYyRpY9oc08w4ZBXc0Xug6GpHszf31KmDVVknAxXNYT1SNLceYwp0VzoJ8dDW08mepsrT81xnsVpqCTLb4CT1hgafd4qDNoyySnLad8X6Eh+eVzqd4XxC5PzXyXoIIyDkFCQBknACzR0LQDaKrq4xnOA8fcn8hbe4jpaqrfjl64+5Focw6Sv\/h6\/0XstxoYCRNWU8ZH58rR81V1usLTSHhjldUv29WEZ9\/JeYtFWSP60Mkv6cp+WFaUlqoKHelo4Yj+cG7+fNd6i7w\/5EuS9fgz7pdSagBZFF+KqUnd78iRw+PljxXLTNCy36sr6Vri\/ooAON3Mk8JJ81sFloJG0WvqpspaxtVCOAuPM4afkfJMpXTSIVKShKE5O7vu\/uTNYzCLTkzMgOmc1jckDrz8AVZWunNLaqSB2eKOFrTkdeN1nZX\/yq1FE2B2bfb3Bz3f9x2eryA8Mla1LLSKRak89SVRbbL8hERTNQREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAVfc7LQ3bgNVGS5n1XNdgjfPgiLsXZk6kVKDTR2oLdS2yn6CkiEbOZ7XHGMnyUpEQ9xopJJI\/9k=",
    "razonSocial": "REGIMIENTO LOGISTICO N1 TOCOPILLA",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "CARLA CID",
    "correoContacto": "carla.cid@ejercito.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE SUENA AL MOMENTO DE IMPRIMIR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56999798209",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R808\",\"id_control\":\"28574\",\"cantidad_usada\":1,\"cantidad_asignada\":2},{\"id_inventario\":\"KYO-R807\",\"id_control\":\"28574\",\"cantidad_usada\":1,\"cantidad_asignada\":2},{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28575\",\"cantidad_usada\":5,\"cantidad_asignada\":5}]",
    "horaSalida": "15:37",
    "ubicacionGPS": "LatLng(lat: -23.6824112, lng: -70.4138416)",
    "horaLlegada": "10:20",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


05/05/2026 15:37:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61964800

[05/05/2026 15:37: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('61964800', 'KY2383', 1, 7373114, 302721, NOW(), 
				'08:00', '10:20', '15:37', 4, 'ruidos y manchas', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778009828.png', 'cambio de unidad de imagen ( ruidos ) y fusor ( manchas )', null, 'COMPLETADO','LatLng(lat: -23.6824112, lng: -70.4138416)' )
				
[05/05/2026 15:37:08] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200181
[05/05/2026 15:37:08] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200181', 'KYO-R808', 1)
				
[05/05/2026 15:37:08] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28574 and
				    IDproducto = 'KYO-R808'
				

05/05/2026 15:37:08 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R808';
                [05/05/2026 15:37:08] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200181', 'KYO-R807', 1)
				
[05/05/2026 15:37:08] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28574 and
				    IDproducto = 'KYO-R807'
				

05/05/2026 15:37:08 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R807';
                [05/05/2026 15:37:08] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200181', 'KYO-I647', 5)
				
[05/05/2026 15:37:08] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 5
				WHERE
				    IDcontrol = 28575 and
				    IDproducto = 'KYO-I647'
				

05/05/2026 15:37:08 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 5)
                WHERE ID = 'KYO-I647';
                
05/05/2026 15:37:08 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200181'                    
				WHERE idllamado = 12453			
				TO ENVIO: micorreo@miempresa.cl, carla.cid@ejercito.cl


05/05/2026 15:37:08 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12453			
				
05/05/2026 15:37:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


05/05/2026 15: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 = 12453
                
05/05/2026 15: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 = 12453
                
05/05/2026 15: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 = 12453
                
05/05/2026 15: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 = 12453
                
05/05/2026 15:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12453
            GROUP BY l.idllamado;
            
05/05/2026 15: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 = 12453
                
05/05/2026 15: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 = 12453
                
05/05/2026 15: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 = 12453
                
05/05/2026 15: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 = 12453
                [05/05/2026 15:37:10] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

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

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

05/05/2026 15:46:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:46:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 15:46:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 15:46: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;
                

05/05/2026 15:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 15:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 15:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 15:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            [05/05/2026 15:46: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;
                

05/05/2026 15:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 15:46: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;
                

05/05/2026 15:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:46:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 15:46:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 15:46:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            [05/05/2026 15:46: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;
                

05/05/2026 15:46:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                [05/05/2026 15:46: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;
                

05/05/2026 15:46:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 15:46:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                [05/05/2026 15:47: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;
                

05/05/2026 15:47:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 15:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                [05/05/2026 15:47: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;
                

05/05/2026 15:47:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:47:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 15:47:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:47:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            [05/05/2026 15:47: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;
                

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

05/05/2026 15:47:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 15:47:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:47:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:47:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:47:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:47:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:47:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:47:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 15:47: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;
                

05/05/2026 15:47:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:47:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 15:47:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:47:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 15:47: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;
                

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

05/05/2026 15:47:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:47:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:47:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:47:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:47:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:47:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:47:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 15:47:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 15:47: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;
                

05/05/2026 15:47:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 15:47:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:47:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 15:47:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 15:47: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;
                
[05/05/2026 15:47: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;
                

05/05/2026 15:47:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:47:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:47:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:47:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:47:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:47:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 15:47: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;
                
[05/05/2026 15:47: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;
                

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

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

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

05/05/2026 15:47:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
05/05/2026 15:47:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
05/05/2026 15: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 = 12411
                
05/05/2026 15: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 = 12411
                
05/05/2026 15: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 = 12411
                
05/05/2026 15:47:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
05/05/2026 15: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 = 12411
                
05/05/2026 15: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 = 12411
                
05/05/2026 15:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
05/05/2026 15:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
05/05/2026 15:47:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
05/05/2026 15:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
05/05/2026 15:47:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [05/05/2026 15:47: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;
                
[05/05/2026 15:47: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;
                

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

05/05/2026 15:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
05/05/2026 15:47:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
05/05/2026 15:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
05/05/2026 15:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
05/05/2026 15:47:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
05/05/2026 15:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
05/05/2026 15:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
05/05/2026 15:47:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
05/05/2026 15:47:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [05/05/2026 15:47: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;
                
[05/05/2026 15:47: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;
                

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

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

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

05/05/2026 15: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 = 12443
                
05/05/2026 15: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 = 12443
                [05/05/2026 15: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;
                

05/05/2026 15: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 = 12443
                
05/05/2026 15: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 = 12443
                
05/05/2026 15: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 = 12443
                
05/05/2026 15:47:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
05/05/2026 15:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            [05/05/2026 15:47: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;
                

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

05/05/2026 15:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
05/05/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:47:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:47:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:47:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:47:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                [05/05/2026 15:50:01] 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;
                
[05/05/2026 15:50: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 15:50: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;
                
[05/05/2026 15:50: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;
                

05/05/2026 15: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 = 12329
                [05/05/2026 15:50: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;
                

05/05/2026 15: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 = 12329
                
05/05/2026 15:50:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 15:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 15:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 15:50: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;
                

05/05/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 15:50:17] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 15:50:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 15:50:17] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

05/05/2026 15:50:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 15:50:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 15:50:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:50:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:50:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:50:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:50:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 15:50:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 15:50:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 15:50:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            [05/05/2026 15:50: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;
                
[05/05/2026 15:50: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;
                

05/05/2026 15:50:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 15:50:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                [05/05/2026 15:50: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;
                

05/05/2026 15:50:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:50:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 15:50:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:50:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:50:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:50:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:50:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:50:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                [05/05/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;
                

05/05/2026 15:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 15:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                [05/05/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;
                

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

05/05/2026 15:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 15:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 15:50:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 15:50:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 15:50:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 15:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 15:50: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;
                

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

05/05/2026 15:50:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 15:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/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 = 12447
                
05/05/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 = 12447
                
05/05/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 = 12447
                
05/05/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 = 12447
                [05/05/2026 15:50: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;
                
[05/05/2026 15:50: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;
                

05/05/2026 15:50:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 15:50:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 15:50:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 15:50: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;
                

05/05/2026 15:50:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:50:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 15:50:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 15:50:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:50:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:50:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:50:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:50:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 15:50:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 15:50: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;
                
[05/05/2026 15:50: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;
				
[05/05/2026 15:53: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;
                

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

05/05/2026 15: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 = 12427
                [05/05/2026 15:53:39] 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;
                
[05/05/2026 15:53:39] 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;
                

05/05/2026 15:53:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 15:53:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 15: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 = 12427
                
05/05/2026 15:53:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 15:53:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
05/05/2026 15:53:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 15:53:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 15:53:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            [05/05/2026 15:53:41] 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;
                

05/05/2026 15:53:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 15: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 = 12427
                
05/05/2026 15: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 = 12427
                
05/05/2026 15:53:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 15:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                [05/05/2026 15:53:43] 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;
                

05/05/2026 15:53:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
05/05/2026 15:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                [05/05/2026 15:53: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;
                
[05/05/2026 15: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;
                
[05/05/2026 15:54:34] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 15:54:34] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[05/05/2026 15:54: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;
                
[05/05/2026 15:54: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;
				
[05/05/2026 15:54: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;
                
[05/05/2026 15: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;
                
[05/05/2026 15:56:23] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 15:56:23] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[05/05/2026 15:56: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;
                
[05/05/2026 15:56: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;
                

05/05/2026 15:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [05/05/2026 15:56: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;
                

05/05/2026 15:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
05/05/2026 15:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
05/05/2026 15:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
05/05/2026 15:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
05/05/2026 15:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
05/05/2026 15:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
05/05/2026 15:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
05/05/2026 15:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [05/05/2026 15:56: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;
                

05/05/2026 15:56:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
05/05/2026 15:56:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
05/05/2026 15:56:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
05/05/2026 15:56:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [05/05/2026 15:56: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;
                

05/05/2026 15:56:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
05/05/2026 15:56:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
05/05/2026 15:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [05/05/2026 15:56: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;
                

05/05/2026 15:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
05/05/2026 15:56:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [05/05/2026 15:56:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 15:56:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
05/05/2026 15:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
05/05/2026 15:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
05/05/2026 15:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
05/05/2026 15:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
05/05/2026 15:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
05/05/2026 15:56:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
05/05/2026 15:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
05/05/2026 15:56:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
05/05/2026 15:56:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
05/05/2026 15:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
05/05/2026 15:56:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
05/05/2026 15:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [05/05/2026 15: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;
                

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

05/05/2026 15:56:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
05/05/2026 15:56:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
05/05/2026 15:56:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
05/05/2026 15:56:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
05/05/2026 15:56:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
05/05/2026 15:56:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [05/05/2026 15:57: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;
                

05/05/2026 15:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
05/05/2026 15:57:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [05/05/2026 15:57: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;
                
[05/05/2026 15:57: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;
                

05/05/2026 15:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
05/05/2026 15:57:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
05/05/2026 15:57:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
05/05/2026 15:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
05/05/2026 15:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
05/05/2026 15:57:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
05/05/2026 15:57:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
05/05/2026 15:57:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
05/05/2026 15:57:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
05/05/2026 15:57:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [05/05/2026 15:57: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;
                

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

05/05/2026 15:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:57:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
05/05/2026 15:57:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
05/05/2026 15:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:57:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            [05/05/2026 15:57: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;
                

05/05/2026 15:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                [05/05/2026 15:57: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;
                

05/05/2026 15:57:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
05/05/2026 15:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:57:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            [05/05/2026 15:57: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;
                

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

05/05/2026 15:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15: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 = 12443
                
05/05/2026 15: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 = 12443
                
05/05/2026 15: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 = 12443
                
05/05/2026 15: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 = 12443
                [05/05/2026 15:57: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;
                
[05/05/2026 15:57: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;
				
[05/05/2026 15:57: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;
                

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

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

05/05/2026 15: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 = 12443
                
05/05/2026 15: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 = 12443
                
05/05/2026 15: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 = 12443
                [05/05/2026 15:57: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;
                

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

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

05/05/2026 15: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 = 12443
                
05/05/2026 15: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 = 12443
                [05/05/2026 15:57: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;
                

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

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

05/05/2026 15:59:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
05/05/2026 15:59:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
05/05/2026 15:59:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
05/05/2026 15:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 15:59:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
05/05/2026 15:59:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [05/05/2026 15:59: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;
                

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

05/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
05/05/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 = 12425
                [05/05/2026 15:59:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/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 = 12425
                
05/05/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 = 12425
                
05/05/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 = 12425
                
05/05/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 = 12425
                
05/05/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 = 12425
                
05/05/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 = 12425
                
05/05/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 = 12425
                
05/05/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 = 12425
                
05/05/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 = 12425
                [05/05/2026 15:59: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;
                

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

05/05/2026 15:59:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
05/05/2026 15:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 15:59:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
05/05/2026 15:59:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [05/05/2026 15:59: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;
                
[05/05/2026 15:59: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;
                

05/05/2026 15:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 15:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 15:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                [05/05/2026 15:59:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 15:59:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
05/05/2026 15:59:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
05/05/2026 15:59:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 15:59:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 15:59:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 15:59:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 15:59:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 15:59:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 15:59:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 15:59:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                [05/05/2026 15:59: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;
                

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

05/05/2026 15:59:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:59:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                [05/05/2026 15:59: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;
                
[05/05/2026 15:59: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;
                

05/05/2026 15:59:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:59:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:59:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            [05/05/2026 15:59: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;
                
[05/05/2026 15:59: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;
				
[05/05/2026 15:59: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;
                

05/05/2026 15:59:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:59:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:59:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 15:59:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                [05/05/2026 15:59: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;
                
[05/05/2026 15:59: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;
				
[05/05/2026 16:00: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;
                
[05/05/2026 16:00: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;
				
[05/05/2026 16:00:23] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 16:00: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 16:00:32] 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;
                
[05/05/2026 16:00:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 16:00: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 16:00:33] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

05/05/2026 16:00:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            
05/05/2026 16:00:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:00:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            [05/05/2026 16:00:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 16:00:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            
05/05/2026 16:00:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            
05/05/2026 16:00:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:00:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:00:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:00:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            [05/05/2026 16:00:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 16:00:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            
05/05/2026 16:00:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:00:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            [05/05/2026 16:00:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

05/05/2026 16:00:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:00:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:00:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:00:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:00:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:00:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            
05/05/2026 16: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 = 12399
                
05/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            
05/05/2026 16: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 = 12399
                
05/05/2026 16: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 = 12399
                
05/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            [05/05/2026 16:00:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            
05/05/2026 16: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 = 12399
                
05/05/2026 16: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 = 12399
                
05/05/2026 16: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 = 12399
                [05/05/2026 16:00:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            [05/05/2026 16:00:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            [05/05/2026 16:00:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

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

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

05/05/2026 16:02:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                [05/05/2026 16:02: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;
                

05/05/2026 16:02:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:02:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:02:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12462
            GROUP BY l.idllamado;
            
05/05/2026 16:02:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12462
            GROUP BY l.idllamado;
            
05/05/2026 16:02:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:02:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:02:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:02:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:02:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:02:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:02:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:02:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12462
            GROUP BY l.idllamado;
            
05/05/2026 16: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 = 12462
                
05/05/2026 16: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 = 12462
                
05/05/2026 16:02:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12462
            GROUP BY l.idllamado;
            
05/05/2026 16: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 = 12462
                
05/05/2026 16: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 = 12462
                
05/05/2026 16:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:02:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12462
            GROUP BY l.idllamado;
            
05/05/2026 16:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:02:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:02:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12462
            GROUP BY l.idllamado;
            
05/05/2026 16:02:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:02:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12462
            GROUP BY l.idllamado;
            
05/05/2026 16:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:02:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12462
            GROUP BY l.idllamado;
            
05/05/2026 16:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16: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 = 12462
                
05/05/2026 16: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 = 12462
                
05/05/2026 16:03:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [05/05/2026 16:03: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;
                

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

05/05/2026 16:03:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                [05/05/2026 16:03: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;
                

05/05/2026 16:03:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
05/05/2026 16:03:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 16:03:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 16:03:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 16:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 16:03:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
05/05/2026 16:03:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
05/05/2026 16:03:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [05/05/2026 16:03: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;
                

05/05/2026 16:03:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
05/05/2026 16:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 16:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 16:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 16:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 16:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 16:03:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 16:03:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 16:03:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                [05/05/2026 16:03: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;
                

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

05/05/2026 16:03:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                [05/05/2026 16:03: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;
                

05/05/2026 16:03:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
05/05/2026 16:03:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
05/05/2026 16:03:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 16:03:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [05/05/2026 16:03: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;
                

05/05/2026 16:03:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 16:03:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 16:03:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
05/05/2026 16: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 = 12425
                
05/05/2026 16: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 = 12425
                
05/05/2026 16: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 = 12425
                
05/05/2026 16: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 = 12425
                
05/05/2026 16: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 = 12425
                
05/05/2026 16: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 = 12425
                
05/05/2026 16:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12462
            GROUP BY l.idllamado;
            
05/05/2026 16:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12462
            GROUP BY l.idllamado;
            
05/05/2026 16:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12462
            GROUP BY l.idllamado;
            
05/05/2026 16:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12462
                
05/05/2026 16: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 = 12462
                
05/05/2026 16: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 = 12462
                
05/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12462
            GROUP BY l.idllamado;
            
05/05/2026 16: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 = 12462
                
05/05/2026 16: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 = 12462
                
05/05/2026 16:04:46 - logentry: =========================================
FECHA: 05/05/2026 16:04:46
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-MBWSYi7AahvulKE+8bicYT5UeHIiUseCzr-Zh09PcVMxcMhCwEJ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2394",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "45553",
    "contadorColor": "171842",
    "contadorScanner": "0",
    "detalle": "01 itin 1940\n01 itin 1941\n01 itin 1942\n01 itin 1943",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12462",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB9ASYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABKEAABAwMCAgUJBAMOBgMAAAABAAIDBAURBiESMRNBUYGRFCIyYXGhscHRFSMkQhbh8AclJjM0Q1JTcoKSorLxNTZEc8LSYnTi\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECBAIIBwEBAQAAAAAAAAECAxESITFBBBMiMlFhcYGR0RRCobHB4fAz8ST\/2gAMAwEAAhEDEQA\/AP2ZERABERABERAHxzg1pc4gADJJ6lmJLrcr9XyU1kmbDSw7PqXM5nI5H9tsqZq6t8ksMrGkdJUERNGdyDz9u3xU6zW8Wy009IAA5jcvx1uO596orJYjLNupU5adks37EPTd1qbhBPBWtaKqkf0chaR53MZwOXIq6WY0p515vzx6LqnY\/wB5\/wBVp1yatIbhpOVJN9\/3CIiQ0BERABERABERABERABERABERABERABERABFU3LUtstcxhmlL5QMmOMZI2zv1KNS60s9S7hc+SDbnK0Ae4lNgla9iL4ikpYXJXL9F8BBGQcgr6lLBERABERABERABERABERABERAGYvY8u1faqAuJjjBmc3q2yd\/8OO\/1rTrMO8790Rud+Cm29Wx+pV3d6jyS0Vc\/WyJxHtxt71SWyMlFpcyb7X9EUmh\/vKOtqOqSpPwB+a06pNIU\/k+nKcnnKXSHvO3uAV2uVHeTH4ZWoxv2BERIaAiIgAiIgAiIgAiIgAiIgAiIgAiIgAstcrtWXi4us9mfwtaMT1Q\/L2gHs+JUzVV0dR0QoacF1XW\/dxhvMAkAn34H6lNslpis1uZTMw6TnJIBjjd+2yorRWJmWo3Vny4uyWvscrTp2gtLQ6OPpaj808gy4n1dil11upLlA6GqgZI0jAJG7fWD1KUiRybdyypwUcKWRlrRPVWK7ix1snHTS5NJK7P+H9Xb7VqVnNbRA2ZlS13DLTStexw5jq27yPBS\/wBKLRFSxSTV0fG5gcWs88g4Gxx7U8k5JSRnpzjSk6cnktL9nZ5FwizUut6IydHRUtTVP6g1uAfn7lzN11VXHFJaWUrD+aY7jxx8Fzly3HfFU\/lz8Fc1K5yzRQM45pWRt7XuAHvWc+xNR1h\/G3zoWnm2nBHdtwr3Foi3cfSVU9TVPPpF78A+G\/P1owxWrDm1ZdWHq7e5d0two61720tVFMY8cXRuBxn\/AGReKC00FsDhR0zIi7mRkk953RK7XyLwxW6WvcTERFwYIigXa701npDPUEkn0GN5uP7FdSvkhZSUViloT1XVmoLVQ7T1sfFkjhYeMgjqIGcc+tUkdHfNS\/e1sxt9C7dsLB5zh8fHwVrQ6XtFCwBtK2Z2c8c4Dz9PAJ8MVqzOqlWp\/nGy7X7GYk1HSDVv2nDHLND0XR4a3Dicc8FetRanN1t4ooKKeISvHnSfnA6gBz3wrO7xx0WrrNOxgY14MQDRgdY\/8hshP2pr0DcxW6LsIHF\/u7\/KqpxydtjC41OlTxaytp2nmn1dFS00UP2TWNjiYGA8PIAYCkw64s0npmeL+3Hn4ErRKHcHW2GAy3EU4j6zK0HPq35qV4vY3YK0F115r9n2kulBXj8LVxSn+i12\/hzUtYWKks19ufk9roqmma3d1XG4hoI5ZafZ6jlTn1F\/00S+qcbnQ5GZPzMHaesd+QuunshIcU7XkrrtWnuaxFDtt0pLtTdPSScTc4c0jBaewhTFNqxsjJSV1oEWerdVMjvcFtooRUuc8MkcH4AJ2xyPLmVoUOLWokKsJtqL0CL4SAMk4AUSe722myJq6nYR1GQZ8EJNjuSjqyYio5tY2SIHFU6UjqZG75gBRDraCU4o7bV1B6vNAyO7Kbly7CD4mivmX3NOizBv2oqgfhdPui\/7xPz4V8\/hnUu\/6SkGPUf\/AGXcD3Zz4mL6sW\/L3NJNNFTxOlmkbGxoyXOOAF6a9rmB4cC0jIPqWJv1pvcdnmqbjdRPHEW\/dNbs7LgPV2rjpqw0l9onyVVVU8UL+Ho2vGAMbcwfWu8tYb3IviqnM5ahnbd\/9NlNdrdTnE1dTsOcYMgz4KBPrCyQZxVGUjqjYT7+S+Q6OskQGaV0pHW+R3yICq9T01FA2ms9uooGVNY9uS2McTW52357n4FEYwbsdq1K8IOTsvV+xWU18NVqCS6yUU9W9nm08TBsxu\/PY7jPvKvPtnU1V\/JbGIQeud3Lx4VoKOljoqOKliHmRNDQu6JTT2O0+GqRWc3nraxmDBrKq9KppKQdYABPwPxT9GrzUb1Wopxnm2IED4j4LTol5j2KfDQfWbfmzGXXR9FQWipqxPPLNGziBeRjwx81Y6dslrfaKSqfQwvmfGC5zxxZPbgqbqZwbpytJ\/q8eJAXvTrS3T1CD\/Ug+KZyk4akY0KceIso7fknxwxQt4Yo2Rt7GtAC9oikbwiIgAiIgAiqLrcLtQ1IdSWvyyl4AXFjsPDt8jG55Y6lX\/poIx+ItFZF3Z+OE6hJ6EJcRTg7SdvJmmc4NaXOIAAySepZOxwHUV2nvdYOKKF\/BTRnkMb8vVkd5PYukmu7VJG5nQVg4gRngb\/7Ko07quC0UklJUQSPjDi6N0YGd+YIJVIwkk8szJV4ijKpFOWWfrsfoCLJP\/dApB\/F0Mzv7TgPquD\/AN0I\/wA3bO903\/5ScqfYXfG8Ovm+5O1ux7KGkrYwS6mnBz2Z6\/EBfNIMEduqrvVvYx1XKXue44AaCes8ty5UVz1PcbvQuonUTI453hgcAdyCDjJ254UW3Wm7X+n6OOoBhpjwhkshAZ7G\/qVlDoWlkYHXT4jHTTeX1\/4aer1PUV07qLT9MaiUelO70W+vf4n3pS6SM8vld9rH1cvPgDiGN7\/phcKbS16ji6P7ZbStz6NMwtHu4V3GiYZXZrLlV1Hb5wGfHKS8VkmXUatR4qkL+LSXpn9S68rtduiEPlFLTMaNmcbW47lDn1XY4stdXNf1YYxzs+AwuUOjLJF6VO+U9r5D8sKdDYrTBjo7dT5AwCYw4+9J0O80\/wDoeiS9X7GLdfaO3X419oZIKeQffwObwtPs3\/29ynVOs7hWgUlDbzBNUACNxfxO36xsPFW+pqyjttnkpGwRulqW9HHA1o6+vA7Or14WYtr6a3aUq6\/H4yokNPE7raMDOO4nf2BWVpK9jz5upSm4KeWrtt4HLT1ru1TUyVdtlhjkgdwmSQh25znGx6uv1rSfYGoZ8+U6hfH\/ANkH5YVrYLa21WeGnx94RxyHGMuPPw5dyslOdRt5GqhwcY01ib9WZOp0lRU9O+qud1q5WRjL3F3MdQ3ylntOlriZG00T5nxEg9K9wJGcZAzuOXiOS66je653iisUe8biJZ8dQH6gfELzSxR0WvHwU7BHG6lA4W7AYA+gXbtxzeZNxpxq9GKte2eef6L2C0W2mwYaGnYR1iMZ8VLAAGAMAL6ii3c9NRUdEERFw6Uur\/8Ales\/uf62qhsxZYr1QEktp7nRx+wPIHz\/ANSutaP4dNzDfznsH+YH5LxdbMblpemjjH4imha+Lh6yGjzR7forRaUbPc86vFyrOUdYpP6s0Kyth\/fjUtdeHsHRw\/dQHPdnw\/1LzLqYS6OlnJ\/F48ne0nBDyPS8Mn2j1K405QfZ1jp4XN4ZHN45N\/zHf6DuXLYYu5XGq1SOHRZ+xaIiKRsCIiAM7raoMdi8naOJ9TK1gaBucb\/EDxV5SQeTUcFPt91G1m3qGFnL3++OrLZbxxOZB99IOQ7fl71qVSWUUjNS6VWcvBf3qERFM0hERABERABERABeXsZI0se0OaeYcMgr0iAIZs9rccuttIT2mBv0X1lqt0foUFK3fO0LR8lLXOombTU0s7\/RiYXu9gGV27EwQWdjNS4umt4YGtzBbWcRwNg\/n8eHw8PL2t09rAS+jSXIcJ7Gvz9f9RXXRdO59JU3SYAy1kpOcdQO\/vJ8FZ6gtQvFqkp246VvnxE9Th9eSq2lLDtoYY05Tpc1da917ehZoqPTN3dW0xoaoOZW0g4JWu5uA2z9VeKTTTszdTmqkVJBcqmojpKaWpmdwxxNLnH1BdVltSvfdrxR2CJzmscelnc0chvj3Z8QuxV2LWqcuF1rt4nmwU8l0uE2o7gOFgyKdpGzWjr7vjlZ\/TMD7jcqSiccwQSOqXjfnho38B4rYairobNYXQwNDXyMMULG9Qxue4fJV2gaPo7fUVjgOKZ\/A0+pv6z7lZS6Ll6HnSpJ1oUr3ebf95GsREWc9Yy2nGiu1Fdro4A8L+ijJ545fBoXui\/E6+rpQQWU8AZn1+b+tc9ETNh07VzynzWTve4+oMaSumjI3zQ1t0lGH1k5Iz2DPzJHcryycvQ8yl0lTXa3J\/3maZERQPTI9dVNoaGeqfuImF2O3A5LHaSuFxkvYjqp5JG1ERk89xPsPu8FeaykMem5wPzuY3\/MD8lUaRiNTeZqoD7qkp2wNIAwTgAkH14J71aCWBs86vKT4mEU9P78Fjrlxbp\/A\/NM0H3lX1M0MpYmjkGAe5Z3XBEtJQ0Y9KapGN99gRy\/vLTpH1EaIZ15vuX5Pz3UVLQ0GrGOcCaeRzJqiMDIG+\/jz71voZo6iFk0Lw+N4y1zTsQsxZoY7xqK71k7BNAPuGh42xnGw9jfeubTVaOrXtcHz2iVwwRuYif9u\/brVJLFZboy0ZcpyqW6Mm\/L9GvRcqepgq4RNTTMljPJzDkLqoHpJp5oLlU1EdJTS1MzuGOJpc4+oLJX+4R0GuKGpefMiha1+Pygl4PuOV7uNU7VlxFqoZOGigcHzTAHzjvy6sdnbz6lVU9HsZJcUulFLpJ2S7STpWCWtqqu\/VLOF9S7hiHY0dfuA7itMuIFPQ0mBwQwQt9jWgLLWiWXUGqJbg57zR0hPQDcAEgDuyN1x9K72OxaoKNPVv8AmzXoiKZrCIiACIiACIiACIiACz+s6swWM07MmSqeIwAMnHM\/DHetAsvds3DWluosZjpm9M8E7Z58u4eKen1rmfiW+XhWry9S\/t9IKG309KN+ijDSe043PipKIk1LpJKyM7f7NUNqG3m0ksrY\/TY0fxo9nb8VLtepKG4\/dPkbT1TdnwvONxzweRVuqq5actl0cXzwcMpH8ZGeF30PeE6kmrSM8qc4ScqW+q\/ty1WPluUFq1vcKqskLY\/Jg1gG5JwzYDx96k\/ofPEA2kvtZDHjHDknbs2IXSm0hSQVUVZV1k1TJEckykcLj1Zzn4po4FfMlV59S1o2s76lBdfKbtSVF+rIzFAGiKkiJzzOM\/E56ytlYabyOxUcJGCIg5w7Cdz7yqLWtTTy0dLSsqI+HygdIGOB4Rg8+zmrWTVNjgy01zDw7YY1zvgE0ryirInR5dOtJylnZZve+pcIs5Lrm0sOI2VEx6uCMDPiQuEutXiJ0sFmqXxgem\/zQPbgFT5cuw0vi6K+YoKOsdHpd1qi\/lNbWcHD1huGfE4Hiv0Ggo2UFBBSR+jEwNz2nrPivzSnqKikuDbxFRRxsmld0PSZ6NpP0ytW2LWNY0OFVR0rXD8uDt6tj8VapG+5g4Sra+TbWWS2\/ZqFzlqIIBmaaOMdr3AfFZr9Gb1Vb1t\/lAOctizj4j4LxNpOx2yB1Xcaqd7G8y9+MnHIADJKlhj2m51qtrqFl3satu9rq7NJTQ10ck3E1zWx+dxYPaNgq3T+paO0WxtKylnnqpHkkNAAJJwADnPu611sVnp7xc\/L20Pk1uhcOiYTnpCO3Oc+vq6u1aGu0taK8lz6bonn88J4fdy9fJUbhFYWY4wr1Zc6Nk9F7mZrrnc7zfaPoLWY56X7yOCZ3PcHJzw9gU+uk1dFQy1c1RTUscTeJzWAEnHZsfira06fFtudTWvqDO6RrWRlw3a0AbE9fIDuUbW85jsHQg7zytZjHPG\/yC5iTkopDOlONOdScnfPf00KmwaVlq7XHUS3CaGKbzugj5YzjJOesBaihstJQW59AOOeGQkuEx4ic81Ko6dtJRQUzeUUbWDuGF2U5Tcma6PDQpxWWdjMS6Slo6g1Nir30bzzjeSWnsGez2goRrIHAdSOA68DdadV1+uP2XZ56kbvA4Y\/7R2H17l1TbdtRZ0KcE5JuK7mY6itNXqm7VUtbU8HQEMe9jAQSNsDwO\/1VlQ0Gp7FG6koqejqInOJEhwCPbuD45VtpO3m32KIPbwyznpXj28vdhXSaVR3tsSo8KsKm21J7+Jkqmy3y6RmS810bKdgLzBD14GcHA9+6kaEhEdjfLtmWYnPqAA+vitDURmWmljbgF7C0Z9YWMtl1r7FbZLc20zzVERc8u4TwgHr5ZQm5RaOShChVjN30eepKivlfV61NFA4eTROdG5nVgY4ifXlu3t9a1qymh6MOgqbrL501RIWg9g5nxPwC1aWpZOy2L8LicMcnq7hERTNQREQAREQAREQAVXSWUU19q7q6fpHVDeEM4SOAbded+QVoi6m0LKEZNN7FTd7vWW6aKOltM1cHjJdGSA09hw0qtF81LUY8nsIjyP54kfEhahEykktCUqU5O+NpeRmP4ZzZ3pIPA\/VBb9YSjz7tTR78mtG3+VadEY+5C\/DLeUvUzA03epv5RqKcA8xGCPmEGh6WQ8VXX1c5zk+cBk94K06I5kg+Fpbq\/i2YbUmnbfZ6WlqII38AmDZS5xcXDny7itRBYrPG1rorfTOGMhxYHe8qRcaGK5UE1HMSGStxkdR5g+OFnoY9WWmFlHTU9NWwxjDJHkAgdnpBPicla+ZF040ajeC6fYr2NHwUlBC6QMip4mDLnABoAWWqqifWVUKKjDorbE4OknLd3EDl7+Xeu40\/drzKJL7WhsLHZbTw8j+3eVpKamgo4GwU8TYo2DAa0YCW6j3sfDOtk1hj9X7I5TW2jnt\/kD4GeT8PCGAej6x2H1qgbYL1Z3EWW4CSnySIZwNifd37LUolUmi06EJ2ejW6yMxw6zdtx0bM\/m22Xun0xPWVQq79VeVuA8yFpIY09fZ4YWkRdxvYT4aPzNvxZ5a1rGBjGhrWjAAGAAvSIkNIWY1d97cbLTE4bLU7ns3aPmtOsxqn\/jmn\/8A7P8A5MVKfWM3Ff5Py+6NOiIpmkLMXMfb+pae2AcVJRfe1Bxs539H4DvPYp2o762z0gZDh9ZNtFHzx\/8AIj9slNNWY2i3kzHiqagh8rusdg9eN\/EqkeisRlqPmzVJaav8LzLlERTNQVRqit8i0\/UvHpSN6Jv97Y+7Kt1ltRF1y1FbbQwno2np5QMHx7gf8SeCvIhxEnGm7avJeZb6fpPIrFSQEYd0fE72u3PxVkiJW7u5WEVGKitgiIuDBERABERABERABERABERABERABERABERABERABERABERABERABZrWLHxMoLi1hd5HOHEAdWQefV6K0q51FPFVQPgnjEkbxhzXcimi7O5KtT5kHE+xSxzwsmieHxvAc1w5EKnvepaa1\/h4R5TWu2bCzfBPLOPhzUWTRVM55Edwq44SSeiDhgde23yVja9PW+0u6SGMvnI3mk3d3dncm6Cz1JN15ZWS79fREKyWKcVBu14d0tc\/0WncRD4Z+C0KIklJt3ZanTjTjZBERcKHwkAZJwAsvpYC5XW5XpwJ45Ojiyc4GPX6uH3rSVMPlFLLBxlnSMLOIc25GMqNZ7Yy0W2OjY8ycJJc8jHESezqTppRZCcHKpF7K789iciIkLhERABERAH\/2Q==",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:04",
    "ubicacionGPS": "LatLng(lat: -23.3352647, lng: -69.8454001)",
    "horaLlegada": "13:02",
    "horaDespacho": "12:01",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 05/05/2026 16:04:46
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-MBWSYi7AahvulKE+8bicYT5UeHIiUseCzr-Zh09PcVMxcMhCwEJ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2394",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "45553",
    "contadorColor": "171842",
    "contadorScanner": "0",
    "detalle": "01 itin 1940\n01 itin 1941\n01 itin 1942\n01 itin 1943",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12462",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB9ASYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABKEAABAwMCAgUJBAMOBgMAAAABAAIDBAURBiESMRNBUYGRFCIyYXGhscHRFSMkQhbh8AclJjM0Q1JTcoKSorLxNTZEc8LSYnTi\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECBAIIBwEBAQAAAAAAAAECAxESITFBBBMiMlFhcYGR0RRCobHB4fAz8ST\/2gAMAwEAAhEDEQA\/AP2ZERABERABERAHxzg1pc4gADJJ6lmJLrcr9XyU1kmbDSw7PqXM5nI5H9tsqZq6t8ksMrGkdJUERNGdyDz9u3xU6zW8Wy009IAA5jcvx1uO596orJYjLNupU5adks37EPTd1qbhBPBWtaKqkf0chaR53MZwOXIq6WY0p515vzx6LqnY\/wB5\/wBVp1yatIbhpOVJN9\/3CIiQ0BERABERABERABERABERABERABERABERABFU3LUtstcxhmlL5QMmOMZI2zv1KNS60s9S7hc+SDbnK0Ae4lNgla9iL4ikpYXJXL9F8BBGQcgr6lLBERABERABERABERABERABERAGYvY8u1faqAuJjjBmc3q2yd\/8OO\/1rTrMO8790Rud+Cm29Wx+pV3d6jyS0Vc\/WyJxHtxt71SWyMlFpcyb7X9EUmh\/vKOtqOqSpPwB+a06pNIU\/k+nKcnnKXSHvO3uAV2uVHeTH4ZWoxv2BERIaAiIgAiIgAiIgAiIgAiIgAiIgAiIgAstcrtWXi4us9mfwtaMT1Q\/L2gHs+JUzVV0dR0QoacF1XW\/dxhvMAkAn34H6lNslpis1uZTMw6TnJIBjjd+2yorRWJmWo3Vny4uyWvscrTp2gtLQ6OPpaj808gy4n1dil11upLlA6GqgZI0jAJG7fWD1KUiRybdyypwUcKWRlrRPVWK7ix1snHTS5NJK7P+H9Xb7VqVnNbRA2ZlS13DLTStexw5jq27yPBS\/wBKLRFSxSTV0fG5gcWs88g4Gxx7U8k5JSRnpzjSk6cnktL9nZ5FwizUut6IydHRUtTVP6g1uAfn7lzN11VXHFJaWUrD+aY7jxx8Fzly3HfFU\/lz8Fc1K5yzRQM45pWRt7XuAHvWc+xNR1h\/G3zoWnm2nBHdtwr3Foi3cfSVU9TVPPpF78A+G\/P1owxWrDm1ZdWHq7e5d0two61720tVFMY8cXRuBxn\/AGReKC00FsDhR0zIi7mRkk953RK7XyLwxW6WvcTERFwYIigXa701npDPUEkn0GN5uP7FdSvkhZSUViloT1XVmoLVQ7T1sfFkjhYeMgjqIGcc+tUkdHfNS\/e1sxt9C7dsLB5zh8fHwVrQ6XtFCwBtK2Z2c8c4Dz9PAJ8MVqzOqlWp\/nGy7X7GYk1HSDVv2nDHLND0XR4a3Dicc8FetRanN1t4ooKKeISvHnSfnA6gBz3wrO7xx0WrrNOxgY14MQDRgdY\/8hshP2pr0DcxW6LsIHF\/u7\/KqpxydtjC41OlTxaytp2nmn1dFS00UP2TWNjiYGA8PIAYCkw64s0npmeL+3Hn4ErRKHcHW2GAy3EU4j6zK0HPq35qV4vY3YK0F115r9n2kulBXj8LVxSn+i12\/hzUtYWKks19ufk9roqmma3d1XG4hoI5ZafZ6jlTn1F\/00S+qcbnQ5GZPzMHaesd+QuunshIcU7XkrrtWnuaxFDtt0pLtTdPSScTc4c0jBaewhTFNqxsjJSV1oEWerdVMjvcFtooRUuc8MkcH4AJ2xyPLmVoUOLWokKsJtqL0CL4SAMk4AUSe722myJq6nYR1GQZ8EJNjuSjqyYio5tY2SIHFU6UjqZG75gBRDraCU4o7bV1B6vNAyO7Kbly7CD4mivmX3NOizBv2oqgfhdPui\/7xPz4V8\/hnUu\/6SkGPUf\/AGXcD3Zz4mL6sW\/L3NJNNFTxOlmkbGxoyXOOAF6a9rmB4cC0jIPqWJv1pvcdnmqbjdRPHEW\/dNbs7LgPV2rjpqw0l9onyVVVU8UL+Ho2vGAMbcwfWu8tYb3IviqnM5ahnbd\/9NlNdrdTnE1dTsOcYMgz4KBPrCyQZxVGUjqjYT7+S+Q6OskQGaV0pHW+R3yICq9T01FA2ms9uooGVNY9uS2McTW52357n4FEYwbsdq1K8IOTsvV+xWU18NVqCS6yUU9W9nm08TBsxu\/PY7jPvKvPtnU1V\/JbGIQeud3Lx4VoKOljoqOKliHmRNDQu6JTT2O0+GqRWc3nraxmDBrKq9KppKQdYABPwPxT9GrzUb1Wopxnm2IED4j4LTol5j2KfDQfWbfmzGXXR9FQWipqxPPLNGziBeRjwx81Y6dslrfaKSqfQwvmfGC5zxxZPbgqbqZwbpytJ\/q8eJAXvTrS3T1CD\/Ug+KZyk4akY0KceIso7fknxwxQt4Yo2Rt7GtAC9oikbwiIgAiIgAiqLrcLtQ1IdSWvyyl4AXFjsPDt8jG55Y6lX\/poIx+ItFZF3Z+OE6hJ6EJcRTg7SdvJmmc4NaXOIAAySepZOxwHUV2nvdYOKKF\/BTRnkMb8vVkd5PYukmu7VJG5nQVg4gRngb\/7Ko07quC0UklJUQSPjDi6N0YGd+YIJVIwkk8szJV4ijKpFOWWfrsfoCLJP\/dApB\/F0Mzv7TgPquD\/AN0I\/wA3bO903\/5ScqfYXfG8Ovm+5O1ux7KGkrYwS6mnBz2Z6\/EBfNIMEduqrvVvYx1XKXue44AaCes8ty5UVz1PcbvQuonUTI453hgcAdyCDjJ254UW3Wm7X+n6OOoBhpjwhkshAZ7G\/qVlDoWlkYHXT4jHTTeX1\/4aer1PUV07qLT9MaiUelO70W+vf4n3pS6SM8vld9rH1cvPgDiGN7\/phcKbS16ji6P7ZbStz6NMwtHu4V3GiYZXZrLlV1Hb5wGfHKS8VkmXUatR4qkL+LSXpn9S68rtduiEPlFLTMaNmcbW47lDn1XY4stdXNf1YYxzs+AwuUOjLJF6VO+U9r5D8sKdDYrTBjo7dT5AwCYw4+9J0O80\/wDoeiS9X7GLdfaO3X419oZIKeQffwObwtPs3\/29ynVOs7hWgUlDbzBNUACNxfxO36xsPFW+pqyjttnkpGwRulqW9HHA1o6+vA7Or14WYtr6a3aUq6\/H4yokNPE7raMDOO4nf2BWVpK9jz5upSm4KeWrtt4HLT1ru1TUyVdtlhjkgdwmSQh25znGx6uv1rSfYGoZ8+U6hfH\/ANkH5YVrYLa21WeGnx94RxyHGMuPPw5dyslOdRt5GqhwcY01ib9WZOp0lRU9O+qud1q5WRjL3F3MdQ3ylntOlriZG00T5nxEg9K9wJGcZAzuOXiOS66je653iisUe8biJZ8dQH6gfELzSxR0WvHwU7BHG6lA4W7AYA+gXbtxzeZNxpxq9GKte2eef6L2C0W2mwYaGnYR1iMZ8VLAAGAMAL6ii3c9NRUdEERFw6Uur\/8Ales\/uf62qhsxZYr1QEktp7nRx+wPIHz\/ANSutaP4dNzDfznsH+YH5LxdbMblpemjjH4imha+Lh6yGjzR7forRaUbPc86vFyrOUdYpP6s0Kyth\/fjUtdeHsHRw\/dQHPdnw\/1LzLqYS6OlnJ\/F48ne0nBDyPS8Mn2j1K405QfZ1jp4XN4ZHN45N\/zHf6DuXLYYu5XGq1SOHRZ+xaIiKRsCIiAM7raoMdi8naOJ9TK1gaBucb\/EDxV5SQeTUcFPt91G1m3qGFnL3++OrLZbxxOZB99IOQ7fl71qVSWUUjNS6VWcvBf3qERFM0hERABERABERABeXsZI0se0OaeYcMgr0iAIZs9rccuttIT2mBv0X1lqt0foUFK3fO0LR8lLXOombTU0s7\/RiYXu9gGV27EwQWdjNS4umt4YGtzBbWcRwNg\/n8eHw8PL2t09rAS+jSXIcJ7Gvz9f9RXXRdO59JU3SYAy1kpOcdQO\/vJ8FZ6gtQvFqkp246VvnxE9Th9eSq2lLDtoYY05Tpc1da917ehZoqPTN3dW0xoaoOZW0g4JWu5uA2z9VeKTTTszdTmqkVJBcqmojpKaWpmdwxxNLnH1BdVltSvfdrxR2CJzmscelnc0chvj3Z8QuxV2LWqcuF1rt4nmwU8l0uE2o7gOFgyKdpGzWjr7vjlZ\/TMD7jcqSiccwQSOqXjfnho38B4rYairobNYXQwNDXyMMULG9Qxue4fJV2gaPo7fUVjgOKZ\/A0+pv6z7lZS6Ll6HnSpJ1oUr3ebf95GsREWc9Yy2nGiu1Fdro4A8L+ijJ545fBoXui\/E6+rpQQWU8AZn1+b+tc9ETNh07VzynzWTve4+oMaSumjI3zQ1t0lGH1k5Iz2DPzJHcryycvQ8yl0lTXa3J\/3maZERQPTI9dVNoaGeqfuImF2O3A5LHaSuFxkvYjqp5JG1ERk89xPsPu8FeaykMem5wPzuY3\/MD8lUaRiNTeZqoD7qkp2wNIAwTgAkH14J71aCWBs86vKT4mEU9P78Fjrlxbp\/A\/NM0H3lX1M0MpYmjkGAe5Z3XBEtJQ0Y9KapGN99gRy\/vLTpH1EaIZ15vuX5Pz3UVLQ0GrGOcCaeRzJqiMDIG+\/jz71voZo6iFk0Lw+N4y1zTsQsxZoY7xqK71k7BNAPuGh42xnGw9jfeubTVaOrXtcHz2iVwwRuYif9u\/brVJLFZboy0ZcpyqW6Mm\/L9GvRcqepgq4RNTTMljPJzDkLqoHpJp5oLlU1EdJTS1MzuGOJpc4+oLJX+4R0GuKGpefMiha1+Pygl4PuOV7uNU7VlxFqoZOGigcHzTAHzjvy6sdnbz6lVU9HsZJcUulFLpJ2S7STpWCWtqqu\/VLOF9S7hiHY0dfuA7itMuIFPQ0mBwQwQt9jWgLLWiWXUGqJbg57zR0hPQDcAEgDuyN1x9K72OxaoKNPVv8AmzXoiKZrCIiACIiACIiACIiACz+s6swWM07MmSqeIwAMnHM\/DHetAsvds3DWluosZjpm9M8E7Z58u4eKen1rmfiW+XhWry9S\/t9IKG309KN+ijDSe043PipKIk1LpJKyM7f7NUNqG3m0ksrY\/TY0fxo9nb8VLtepKG4\/dPkbT1TdnwvONxzweRVuqq5actl0cXzwcMpH8ZGeF30PeE6kmrSM8qc4ScqW+q\/ty1WPluUFq1vcKqskLY\/Jg1gG5JwzYDx96k\/ofPEA2kvtZDHjHDknbs2IXSm0hSQVUVZV1k1TJEckykcLj1Zzn4po4FfMlV59S1o2s76lBdfKbtSVF+rIzFAGiKkiJzzOM\/E56ytlYabyOxUcJGCIg5w7Cdz7yqLWtTTy0dLSsqI+HygdIGOB4Rg8+zmrWTVNjgy01zDw7YY1zvgE0ryirInR5dOtJylnZZve+pcIs5Lrm0sOI2VEx6uCMDPiQuEutXiJ0sFmqXxgem\/zQPbgFT5cuw0vi6K+YoKOsdHpd1qi\/lNbWcHD1huGfE4Hiv0Ggo2UFBBSR+jEwNz2nrPivzSnqKikuDbxFRRxsmld0PSZ6NpP0ytW2LWNY0OFVR0rXD8uDt6tj8VapG+5g4Sra+TbWWS2\/ZqFzlqIIBmaaOMdr3AfFZr9Gb1Vb1t\/lAOctizj4j4LxNpOx2yB1Xcaqd7G8y9+MnHIADJKlhj2m51qtrqFl3satu9rq7NJTQ10ck3E1zWx+dxYPaNgq3T+paO0WxtKylnnqpHkkNAAJJwADnPu611sVnp7xc\/L20Pk1uhcOiYTnpCO3Oc+vq6u1aGu0taK8lz6bonn88J4fdy9fJUbhFYWY4wr1Zc6Nk9F7mZrrnc7zfaPoLWY56X7yOCZ3PcHJzw9gU+uk1dFQy1c1RTUscTeJzWAEnHZsfira06fFtudTWvqDO6RrWRlw3a0AbE9fIDuUbW85jsHQg7zytZjHPG\/yC5iTkopDOlONOdScnfPf00KmwaVlq7XHUS3CaGKbzugj5YzjJOesBaihstJQW59AOOeGQkuEx4ic81Ko6dtJRQUzeUUbWDuGF2U5Tcma6PDQpxWWdjMS6Slo6g1Nir30bzzjeSWnsGez2goRrIHAdSOA68DdadV1+uP2XZ56kbvA4Y\/7R2H17l1TbdtRZ0KcE5JuK7mY6itNXqm7VUtbU8HQEMe9jAQSNsDwO\/1VlQ0Gp7FG6koqejqInOJEhwCPbuD45VtpO3m32KIPbwyznpXj28vdhXSaVR3tsSo8KsKm21J7+Jkqmy3y6RmS810bKdgLzBD14GcHA9+6kaEhEdjfLtmWYnPqAA+vitDURmWmljbgF7C0Z9YWMtl1r7FbZLc20zzVERc8u4TwgHr5ZQm5RaOShChVjN30eepKivlfV61NFA4eTROdG5nVgY4ifXlu3t9a1qymh6MOgqbrL501RIWg9g5nxPwC1aWpZOy2L8LicMcnq7hERTNQREQAREQAREQAVXSWUU19q7q6fpHVDeEM4SOAbded+QVoi6m0LKEZNN7FTd7vWW6aKOltM1cHjJdGSA09hw0qtF81LUY8nsIjyP54kfEhahEykktCUqU5O+NpeRmP4ZzZ3pIPA\/VBb9YSjz7tTR78mtG3+VadEY+5C\/DLeUvUzA03epv5RqKcA8xGCPmEGh6WQ8VXX1c5zk+cBk94K06I5kg+Fpbq\/i2YbUmnbfZ6WlqII38AmDZS5xcXDny7itRBYrPG1rorfTOGMhxYHe8qRcaGK5UE1HMSGStxkdR5g+OFnoY9WWmFlHTU9NWwxjDJHkAgdnpBPicla+ZF040ajeC6fYr2NHwUlBC6QMip4mDLnABoAWWqqifWVUKKjDorbE4OknLd3EDl7+Xeu40\/drzKJL7WhsLHZbTw8j+3eVpKamgo4GwU8TYo2DAa0YCW6j3sfDOtk1hj9X7I5TW2jnt\/kD4GeT8PCGAej6x2H1qgbYL1Z3EWW4CSnySIZwNifd37LUolUmi06EJ2ejW6yMxw6zdtx0bM\/m22Xun0xPWVQq79VeVuA8yFpIY09fZ4YWkRdxvYT4aPzNvxZ5a1rGBjGhrWjAAGAAvSIkNIWY1d97cbLTE4bLU7ns3aPmtOsxqn\/jmn\/8A7P8A5MVKfWM3Ff5Py+6NOiIpmkLMXMfb+pae2AcVJRfe1Bxs539H4DvPYp2o762z0gZDh9ZNtFHzx\/8AIj9slNNWY2i3kzHiqagh8rusdg9eN\/EqkeisRlqPmzVJaav8LzLlERTNQVRqit8i0\/UvHpSN6Jv97Y+7Kt1ltRF1y1FbbQwno2np5QMHx7gf8SeCvIhxEnGm7avJeZb6fpPIrFSQEYd0fE72u3PxVkiJW7u5WEVGKitgiIuDBERABERABERABERABERABERABERABERABERABERABERABERABZrWLHxMoLi1hd5HOHEAdWQefV6K0q51FPFVQPgnjEkbxhzXcimi7O5KtT5kHE+xSxzwsmieHxvAc1w5EKnvepaa1\/h4R5TWu2bCzfBPLOPhzUWTRVM55Edwq44SSeiDhgde23yVja9PW+0u6SGMvnI3mk3d3dncm6Cz1JN15ZWS79fREKyWKcVBu14d0tc\/0WncRD4Z+C0KIklJt3ZanTjTjZBERcKHwkAZJwAsvpYC5XW5XpwJ45Ojiyc4GPX6uH3rSVMPlFLLBxlnSMLOIc25GMqNZ7Yy0W2OjY8ycJJc8jHESezqTppRZCcHKpF7K789iciIkLhERABERAH\/2Q==",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:04",
    "ubicacionGPS": "LatLng(lat: -23.3352647, lng: -69.8454001)",
    "horaLlegada": "13:02",
    "horaDespacho": "12:01",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


05/05/2026 16:04:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69253200

[05/05/2026 16:04:46] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69253200', 'EP2394', 1, 21773342, 45553, NOW(), 
				'12:01', '13:02', '16:04', 10, '01 itin 1940
01 itin 1941
01 itin 1942
01 itin 1943', -1, 
				'', '','1','171842',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778011486.png', '', null, 'COMPLETADO','LatLng(lat: -23.3352647, lng: -69.8454001)' )
				
[05/05/2026 16:04:46] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200182

05/05/2026 16:04:46 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200182'                    
				WHERE idllamado = 12462			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


05/05/2026 16:04:46 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12462			
				
05/05/2026 16:04:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


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

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

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

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

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

05/05/2026 16: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 = 12407
                [05/05/2026 16:05: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;
                
[05/05/2026 16:05: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;
                

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

05/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12407
            GROUP BY l.idllamado;
            
05/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12407
            GROUP BY l.idllamado;
            
05/05/2026 16:05:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12407
                [05/05/2026 16:05: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;
                

05/05/2026 16:05:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12407
                [05/05/2026 16:05: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;
                

05/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12407
            GROUP BY l.idllamado;
            
05/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12407
            GROUP BY l.idllamado;
            
05/05/2026 16:05:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12407
                
05/05/2026 16:05:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12407
                
05/05/2026 16:05:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12407
                [05/05/2026 16:05: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;
                

05/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12407
            GROUP BY l.idllamado;
            
05/05/2026 16:05:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12407
                
05/05/2026 16: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 = 12407
                
05/05/2026 16: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 = 12407
                
05/05/2026 16: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 = 12407
                
05/05/2026 16: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 = 12407
                
05/05/2026 16: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 = 12407
                
05/05/2026 16: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 = 12407
                
05/05/2026 16: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 = 12408
                [05/05/2026 16:06:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

05/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
05/05/2026 16: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 = 12408
                
05/05/2026 16: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 = 12408
                
05/05/2026 16: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 = 12408
                
05/05/2026 16: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 = 12408
                
05/05/2026 16: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 = 12408
                
05/05/2026 16: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 = 12408
                
05/05/2026 16: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 = 12408
                
05/05/2026 16: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 = 12408
                [05/05/2026 16:06:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 16:06:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 16:06:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 16:06:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
05/05/2026 16:06:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
05/05/2026 16:06:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
05/05/2026 16:06:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
05/05/2026 16: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 = 12408
                
05/05/2026 16:06:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
05/05/2026 16: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 = 12408
                
05/05/2026 16: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 = 12408
                
05/05/2026 16: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 = 12408
                
05/05/2026 16:06:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [05/05/2026 16:06:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 16: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 = 12408
                
05/05/2026 16: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 = 12408
                
05/05/2026 16: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 = 12408
                
05/05/2026 16: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 = 12408
                
05/05/2026 16: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 = 12408
                
05/05/2026 16:06:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
05/05/2026 16:06:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
05/05/2026 16:06:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
05/05/2026 16:06:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
05/05/2026 16:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                [05/05/2026 16:06: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;
                

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

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

05/05/2026 16:06:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
05/05/2026 16:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
05/05/2026 16:06:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
05/05/2026 16:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
05/05/2026 16:06:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
05/05/2026 16:06:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
05/05/2026 16:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
05/05/2026 16:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
05/05/2026 16:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
05/05/2026 16:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
05/05/2026 16:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
05/05/2026 16:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
05/05/2026 16:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
05/05/2026 16:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
05/05/2026 16:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
05/05/2026 16:06:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
05/05/2026 16:06:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
05/05/2026 16:06:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            [05/05/2026 16:06: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;
                

05/05/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 = 12428
                [05/05/2026 16:06: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;
                
[05/05/2026 16:06: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;
                
[05/05/2026 16:06: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;
                

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

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

05/05/2026 16:07:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            
05/05/2026 16:07:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            
05/05/2026 16:07:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            
05/05/2026 16:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            
05/05/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                [05/05/2026 16:07: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;
                

05/05/2026 16:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            
05/05/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            [05/05/2026 16:07: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;
                

05/05/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            
05/05/2026 16:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            
05/05/2026 16:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            
05/05/2026 16:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            [05/05/2026 16:07: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;
                
[05/05/2026 16:07: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;
                
[05/05/2026 16:07: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;
                
[05/05/2026 16:07: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;
                

05/05/2026 16:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            
05/05/2026 16:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            
05/05/2026 16:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                
05/05/2026 16: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 = 12399
                
05/05/2026 16: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 = 12399
                
05/05/2026 16: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 = 12399
                
05/05/2026 16: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 = 12399
                
05/05/2026 16: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 = 12399
                
05/05/2026 16: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 = 12399
                
05/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            [05/05/2026 16:07: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;
                

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

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

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

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

05/05/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 = 12447
                [05/05/2026 16:07: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;
                

05/05/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 = 12447
                
05/05/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 = 12447
                
05/05/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 = 12447
                
05/05/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 = 12447
                
05/05/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 = 12447
                
05/05/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 = 12447
                
05/05/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 = 12447
                
05/05/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 = 12447
                
05/05/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 = 12447
                [05/05/2026 16:07: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;
                
[05/05/2026 16:07: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;
                
[05/05/2026 16:07: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;
                

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

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

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

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

05/05/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 = 12415
                
05/05/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 = 12415
                [05/05/2026 16:07: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;
                

05/05/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 = 12415
                
05/05/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 = 12415
                
05/05/2026 16:07:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:07:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:07:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:07:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:07:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:07:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                [05/05/2026 16:13: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;
                

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

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

05/05/2026 16:13:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:13:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:13:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            [05/05/2026 16:13: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;
                

05/05/2026 16:13:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:13:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            [05/05/2026 16:13: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;
                

05/05/2026 16:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            [05/05/2026 16:13: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;
                

05/05/2026 16:13:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            [05/05/2026 16:13: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;
                

05/05/2026 16:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:13:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            [05/05/2026 16:13: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;
                
[05/05/2026 16:13: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;
                

05/05/2026 16:13:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:13:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:13:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:13:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                [05/05/2026 16:13: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;
                

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

05/05/2026 16:13:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:13:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:13:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:13:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:21:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:21:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16: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 = 12415
                
05/05/2026 16:21:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16: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 = 12415
                
05/05/2026 16: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 = 12415
                
05/05/2026 16: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 = 12415
                
05/05/2026 16:21:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16: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 = 12415
                
05/05/2026 16: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 = 12415
                
05/05/2026 16: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 = 12415
                
05/05/2026 16: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 = 12415
                
05/05/2026 16:21:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16: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 = 12415
                
05/05/2026 16: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 = 12415
                
05/05/2026 16: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 = 12415
                
05/05/2026 16:21:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16: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 = 12415
                
05/05/2026 16: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 = 12415
                
05/05/2026 16: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 = 12415
                
05/05/2026 16:29:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16: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 = 12415
                
05/05/2026 16: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 = 12415
                
05/05/2026 16:29:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:29:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:27 - logentry: =========================================
FECHA: 05/05/2026 16:29:27
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-1KJxors2QcqmfKcLwtdmC0T8huJzi2zyniNHthUyXXT3GXkbOFW
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "KY2524",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "79535",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "01 iton 2174\nAcusa atasco de papel\ncambio de R de Separacion y R pick up en bandeja\nMantenimiento",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12415",
    "observacion": "Requiere:\nRgom 2356\nRkit 2675\nse colocaron usadas ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADlAMcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABCEAABAwMBBAcECQIFAwUAAAABAAIDBAURBhIhMUETFFFhcYGRIqGx0RUWIzJCUpPB4UNUM3KS8PEkJVZiY7LC0v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgQCCAYDAQAAAAAAAAABAgMREiExUQRBEyIyYYGRodEjQlJxweEUM7Hw\/9oADAMBAAIRAxEAPwD9mREQBV1\/rJ7fZKmqpmgyxgYyCcZIBO7sBJVio9fSMrqCeleBiVhbvHA8j6rq1zIVE3BqOplqa93u00kFXcoxWUM7WuEkf3o8gcfXnz5rVUdZT19M2ppZBJG\/gR8D2Kj0bUdYs0lBUMy+leY3sc38J5Ht5hRqukqdK1jrhb2GS3SH7enH4O8K2STbXMxUpzhBTveL13X6NYij0VbT3ClZU00gfG8bj2dx71IVJvTTV0EREOhERAEREAREQBERAEREAREQBERAEREAREQBERAZWjP0XruppiNmOvZ0jd3F3HPqHLUuaHNLXAEEYIPNZjV+aOrtl2ZkdBNsvI5t449x9VpwQRkHIKsnmkzLQ6sp09nfzMj9po67\/idaqx3nG7+Ph3ha5rg5oc0ggjII5rhX0MFxo5KWoYHMeMeB5Ed6z2na2a11r9PXE4ew5p5Dwe3sH7eYR9dX5nI\/Anh+V6dz29jUoiKs1hERAEREAREQBERAEREAREQBERAEREAREQBERAVOp6QVmn6pmzlzGdI3uLd\/wyPNe9O1fXbDSTH7wZsO8W7v2Vk4BzS07wRgrMaQLqOpuVokO+nm2mZ5g7s+G4HzVizg1sZZdWvF7q3ln7moVLqSyuulI2WnOxWUx24ndvd8u9XSKCbTui+pBVIuMip09eReKDakGxUwnYnZwwe3Hf8APsVssnfIJbBd2X6kaTDIdmqjB455+fx8VqKeeOqp454XB8cjQ5pHMKUktVoVUZvOnPtL17zoiIoGgIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALLVg+jNd0tQDsx18fRu73cMeoatSs5raB30XDWx7pKSZrgewHd8dlTp623M3FL4eJfLn5GjRcqaoZVUsVRH92VgeN\/aMrqoGhO6ujnUQR1VPJBM0PjkaWuB5hZiyzyaeu77FWSZglO1SyHnnl5\/HxWrVVqGztvFuMbd1RH7cLs4w7s81OLWj0KK0G7Th2l69xKuktVBbZ5aKMSTtYSxpP+8+Cg6bvzL3Rkv2WVMW6Rg4HscO5edM3k3GhdDVHZq6X2Jg7icfi+fes9fKKXTt5ivNvANNK7aw37oJ4t8DxH8KSis4vUpqVmlGtHOPNfnwN4ijW+uhuVDFVwHLJBnB4g8wfAqSqtDammroIiIdCIiAIiIAiIgCIiAIiIDjHV0808sEUzHyw46RjTktz2rsuMdJTxVElRHCxs0uNt4G92O9dl1nFfmERFw6FFudJ162VFLgEyxloz28vepSIsjjSasyg0ZVuqbCyJ+dumeYznjjiPjjyV+svZgbbq+5UDjhlSOmjzz35wP9R\/0rUKc+1co4Zt00nqsvIIiKBoMnqyzFjjd6WMHDSKqMHG208T8\/Xkraiht1405FBEw9VfHshhdlzCOWe0FWrmhzS1wBBGCDzWReH6QvRlDc2utdggH\/Cd\/Hw8Fam5K3NGKcI0Zuduq9e7v+25DslZNpe+S2qudinldueeAP4XjuPA\/wALdqg1TZBebeJ6YB1TCNqMj+o3m39x\/K4aPvvXqb6PqXYqYBhpdxe35j\/fNdksSxLxI0W6FToZaPT2NMiIqTeEREAREQBERAEREAREQBERAEREAREQGW1OPo+92u7g7LWv6KU93\/BctSqfVVH13T9Q0DL4h0rfLj7srvYKzr1jpJ85cYw12e0bj8FY84pmWHVryjvn+GWKIirNQUevoYLjRyUtQwOY8Y8DyI71IRNDjSaszLWCtmtFwdp64OB2d9NKTgOB4D5eYUbVFpmt1cy\/W7Ic1+1K0DOyfzeB4H+Vd6hsrbxQ\/ZnYqofahfwwezz+S42G8tudFLSXABlVTt2KhkgxtDhk\/urlL5l4nnypq3QzffF\/jw\/wsbVcortb46uHdtDDm\/ldzCmLB0tzptLX2anhqOtW6YbWInB5YfmOB7sditPrLdriALPZ3ljuE0\/3f2HvXJU3fLQsp8XHDaXaXJZmoXCoraSkGamphh\/zvDfis6LLqO4NBr7z1cHH2cA+OMdnepFPoq0xO25umqXf+4\/A92FzDFass6WrLswt93+Mz3U6zstPkNnfORyiYficBRhq+rm9qk0\/Vzx8nb\/2aVe0tsoKIDq1JDERzawZ9ePJSkvBchgrvWdvsvczH1puv\/jFZ6u\/\/C+t1tBG4Crt1XTjOCS3OPgtMvjmhzS1wBBGCDzXMUdh0VZaVPREG3Xu3XXdSVLXPAyYzucPIqestqm20VDTMuVIxtPWsmaYxH7PSkneMD19Vo6WV01JDK8AOfG1zgBgZI70kla6JUqknJwnqtjsiIoF4REQBERAEREB5exskbo3tDmuBDgeYWZ0a\/qslwtL3e1TTEtzjeOB+A9VqFlqg\/RmvIZcER3CLYdx+9w+Ib6qyGaaMtfqzhPvt5mpRfCQBknACoblq6hpH9BSA1tQTgMi3jPj8sqCi3oXVKkKavJ2L9Vtx1BbLWSypqR0gH+GwbTvdw81TOotS35jeuTx26mdxijztEd4+Z8laW7S9qtpa9lP0srf6kp2j6cB6KeGK1ZT0lWp2I2W79is+nL7em\/9nt\/V4icdYmIO7tGd3plVt50pcI6eW5y1YrJs7c7Gt2ct548PAblvEXVUs8kRlwiqL4km3\/3Iy1JZrJetPuNup44ZXt3OcS50b+wnjj9ivGlL5I2R1luR2KiE7MRceON2z4jl2rxXQTaSuf0jRNL7dO7E8I4MPdyHd6KPqygZNHBqC2nLXAGRzOX5XePI+AU8pZPRmVt0+vFWlHVbrc26Kk0zf23mjLZSG1UQxI38w\/MArtUNNOzPTp1I1IqUdGERQLleqC1MzVzhrsZEbd7j5Ik3odlKMVeTsieqa7amobW4wgmoquAhi3nPYTy+Pcqs1971N7FvjNvoScOncfacO7n6equLTp2gtLQ5jOln4umkGXZ7uxTwqPaM3Szq\/wBSst3+EVdFY6671zblfjshhzFSg7m+PZy8ea1KIoyk5F1OlGmstXq9wiIoloREQBERAERcaurgoaZ9TUyCOJgySUONpK7OyxutLnQuNM2nnD62lm2xsjIaOYJ4cQPRdHVF31VK6OkJorYHFrpfxSDn4+A3d6tI9MW+ltVRSU8IdJNEWmV+9xONx7t+OHYrYpQd2Yqkp8RBxprLd\/j3KyC3XfU0TKm5VnVqKQbTYIOLh3\/znwWgt9noLWwNpKZjHYwXkZcfEneq3RdWaiwNid96ne6M57OI+OPJX65Nu+Enw9ODiqmrfNhERVmsIiIDnNDHUQvhmYHxvGHNcNxCyMbTpm4SW2uzLZ60EMc7JDM8j+\/kVsJJGRMMkj2sY3i5xwAsrftQWy5U0tspqeWvlePY6Fu5rhwIPHd3BWU76cjHxWBJSvaS07+4z0tDW2C+ObSyOEjBtwOxumZx+Gd3d4LWt1lahboqqWQiV49qBgy4Hn5d5WQkhudU6K21r3RTU0O1TRyMG07mGg8c44Duwu1FB1Okp77b42zsg9irgkw4tPb4HcR2d+9aJRUkrnmUas6TfRqy7+W+Xd\/hfmv1Hfm4oKYW6md\/Wld7RHduz6DzUu26RoaR\/T1ZNbUE5L5d4z4fPKtrfX09yo2VVM8OY8b+1p5g96krO5tZLI9WFCErTk8T79PBaHwAAYAwAvqIqzUEREAREQBERAEREBBu93prNR9YqSTk7LGN4vPZ\/KoILXcdTzMrLwXU1EDtRUrTguHafnx7MLUywQz7PSxMk2DtN22g7J7R2LopqWFZalE6LqS6z6u3ueIoo4YmxRMDGMGGtaMABe0RQLzLWcG26xuNAd0dSOmjzz57vU+i1Ky2px9H3u13cHZa1\/RSnu\/4Llb3DUFstuRUVTekAz0bPacfTh5qyScrNGOjONPFCTtZ+jzLJFlzqe43F2xZrS97c46abc3h6D1Xkafvd0AN2upjYQCYYf3xgfFMFu07Ev5GL+uLfovNlvXaitVvBE1WxzwD7EftO8N3DzVS7UN4upLbLa3tiI3TzjHpy95VlQ6XtFDgspRK8Z9ub2z6cPcrYAAYAwAl4rRXGCtPtSsu73MyzSlTcJWVF9uL6lw\/ox7mjz+QCvaK20duj2KOmZCDx2RvPieJUpFFybLIUKcHdLPfmVd8skN4psZ6Opj3wyjcWnsPcsVZ7nNZL9LHXt2WSno6lhG7\/Nj3+BPav0lZ7VOnRdqfrNMwdcjG7l0g7D39ispzXZloZuKoNvpafaXqQ6uiqNLVpudtaZbfIft4AfujtHd2Hl4LS0VbT3ClZU00gfG8bj2dx71RaPuhraB9uqgenpRskP4uZw3g9nD0XCrpKnStY64W9hkt0h+3px+DvCSV3Z6nKc8EVUh2Hqtv1uaxFHoq2nuFKypppA+N43Hs7j3qQqTemmroIiIdCIiAIiIAiIgCIuc8bpaeSNjyxz2FocDgtJHFAzhXXShtsZfV1LI8fhJy4+A4qifq2orHmOzWuWpIx9o8Yb6D5qD9QqmZ5fUXQFxO93Rlx95U1mjZ2sDHXyqLAPutyB8VclTXM86U+Km8o2Xhf\/vAh3W06iuNulqLlVRNZC10gp2c8eHdnmVO0vaLRJZ4K51Kx8rgQ90p2hnOOB3BPqRTu3vuVY53M7QVNZ9N0NXeK+31b5w6md9mGuA2m5Iyd3+X1U7pxauU4JwqqThdvLN3z8jdmop42jM0bRwGXALz12l\/uYf1AqNuhrODkmoPcZB8l6+pNm\/JN+oVTaG5uxcR9K8\/0XXXaX+5h\/UCddpf7mH9QKl+pNm\/JN+oU+pNm\/JN+oUtDcYuI+lef6LrrtL\/AHMP6gXtk0UmNiVjs8NlwOVRfUmzfkm\/UK8P0LaHZw6pZn8sg3eoS0Nxj4j6V5\/o0iLMDRFNEc01xrIscPaG70AT6sXaDfSaiqABuayQEgD\/AFY9yYY7jpay1p+qL+OhpYqyWsZCxs8oDXvA3kD\/AGPQLu5oc0tcAQRgg81mep6wpv8ADuNLUNG4Nc0ZPf8Ad\/dfBd9UUY\/6uytqAOcLt5HkT8F3A3zOKvGOsGvD2OVbR1elat1xtrTJb5Dmen\/L3js8eXgtHbrlS3SlFRSSbbDuI4Fp7CFRs1tRj2K6iqaVxG8Obkd\/Yfcq91PBHUur9K3GFsjgTJSudjbGeDWke70UnFtdbUojVjTd6TvHbmvt7G2RU1k1HT3YmB7TT1jNz4X7skccdvxCuVU007M3QnGpHFF5BERcJhERAEREAREQBERAFl7li160oa0DEda3oZN34uA\/+voVqFQayozU2F8rPv0zxKMZ4cD8c+SnDW25n4lPo8S1WfkX6KJaqz6QtdNV85YwXYH4ufvypag1Yvi1JJoIiIdCIiAIiIAiIgPEkUczCyWNr2ni1wyFT1mkbNVknqxgcecLtn3cPcrtF1Sa0ITpwn2lcxFw0RXdIJqSv6dzcYEpLXDwP\/Ck0uqK61SMo9QUjmHZ9mZu8nHaOB8QtcuVRTQVcJhqYWSxni14yFZ0l8pGX+LgeKi7PzQp6mCrhE1NMyWM8HMOQir7Xp+jtFXNPSGRombgxuOQ3fy5+qKt2vkaoOTj11ZlqiIuEwiIgCIiAIiIAuc0LKiCSCQZZI0tcO0EYK6Ig1MzoyR0ENbapTmSknI7sHdu8wfVaZZatcbTrenqjnorgwRuJOMOGB+zfUrUqc9b7mbhsoum\/ldvb0CIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAoNZUPW7G6ZgHSUrukB545\/PyVnaq0XG101WCMysBdjk7gR6gqVJG2WN0bxlrwWkdoKzOkZXUdTXWSZxLqaQujyOLc4J+B81Ys4fYyvqV0+UsvFaGoREVZqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAstqAOtOoKG9MIbDIRBP4dp7d3\/wAQtSqvUdD9IWKphDcva3pGbsnabv3ePDzU4OzzKOIg5U3bVZrwLMEEZByCvqqdMVhrbBTPcQXsb0bsf+nd8MK2UWrOxZCSnFSXMIiLhMIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgItBbaS2ROio4uiY920RknJ81KREbucUVFWQREQ6EREAREQBERAEREAREQH\/9k=",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "DANIEL CACERES",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "WSP",
    "idFalla": "-2",
    "otraFalla": "INDICA PROBLEMAS AL IMPRIMIR Y SCANEAR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "56988410532",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28560\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:29",
    "ubicacionGPS": "LatLng(lat: -23.3344123, lng: -69.8443271)",
    "horaLlegada": "13:09",
    "horaDespacho": "16:04",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 05/05/2026 16:29:27
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-1KJxors2QcqmfKcLwtdmC0T8huJzi2zyniNHthUyXXT3GXkbOFW
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "KY2524",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "79535",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "01 iton 2174\nAcusa atasco de papel\ncambio de R de Separacion y R pick up en bandeja\nMantenimiento",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12415",
    "observacion": "Requiere:\nRgom 2356\nRkit 2675\nse colocaron usadas ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADlAMcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABCEAABAwMBBAcECQIFAwUAAAABAAIDBAURBhIhMUETFFFhcYGRIqGx0RUWIzJCUpPB4UNUM3KS8PEkJVZiY7LC0v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgQCCAYDAQAAAAAAAAABAgMREiExUQRBEyIyYYGRodEjQlJxweEUM7Hw\/9oADAMBAAIRAxEAPwD9mREQBV1\/rJ7fZKmqpmgyxgYyCcZIBO7sBJVio9fSMrqCeleBiVhbvHA8j6rq1zIVE3BqOplqa93u00kFXcoxWUM7WuEkf3o8gcfXnz5rVUdZT19M2ppZBJG\/gR8D2Kj0bUdYs0lBUMy+leY3sc38J5Ht5hRqukqdK1jrhb2GS3SH7enH4O8K2STbXMxUpzhBTveL13X6NYij0VbT3ClZU00gfG8bj2dx71IVJvTTV0EREOhERAEREAREQBERAEREAREQBERAEREAREQBERAZWjP0XruppiNmOvZ0jd3F3HPqHLUuaHNLXAEEYIPNZjV+aOrtl2ZkdBNsvI5t449x9VpwQRkHIKsnmkzLQ6sp09nfzMj9po67\/idaqx3nG7+Ph3ha5rg5oc0ggjII5rhX0MFxo5KWoYHMeMeB5Ed6z2na2a11r9PXE4ew5p5Dwe3sH7eYR9dX5nI\/Anh+V6dz29jUoiKs1hERAEREAREQBERAEREAREQBERAEREAREQBERAVOp6QVmn6pmzlzGdI3uLd\/wyPNe9O1fXbDSTH7wZsO8W7v2Vk4BzS07wRgrMaQLqOpuVokO+nm2mZ5g7s+G4HzVizg1sZZdWvF7q3ln7moVLqSyuulI2WnOxWUx24ndvd8u9XSKCbTui+pBVIuMip09eReKDakGxUwnYnZwwe3Hf8APsVssnfIJbBd2X6kaTDIdmqjB455+fx8VqKeeOqp454XB8cjQ5pHMKUktVoVUZvOnPtL17zoiIoGgIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALLVg+jNd0tQDsx18fRu73cMeoatSs5raB30XDWx7pKSZrgewHd8dlTp623M3FL4eJfLn5GjRcqaoZVUsVRH92VgeN\/aMrqoGhO6ujnUQR1VPJBM0PjkaWuB5hZiyzyaeu77FWSZglO1SyHnnl5\/HxWrVVqGztvFuMbd1RH7cLs4w7s81OLWj0KK0G7Th2l69xKuktVBbZ5aKMSTtYSxpP+8+Cg6bvzL3Rkv2WVMW6Rg4HscO5edM3k3GhdDVHZq6X2Jg7icfi+fes9fKKXTt5ivNvANNK7aw37oJ4t8DxH8KSis4vUpqVmlGtHOPNfnwN4ijW+uhuVDFVwHLJBnB4g8wfAqSqtDammroIiIdCIiAIiIAiIgCIiAIiIDjHV0808sEUzHyw46RjTktz2rsuMdJTxVElRHCxs0uNt4G92O9dl1nFfmERFw6FFudJ162VFLgEyxloz28vepSIsjjSasyg0ZVuqbCyJ+dumeYznjjiPjjyV+svZgbbq+5UDjhlSOmjzz35wP9R\/0rUKc+1co4Zt00nqsvIIiKBoMnqyzFjjd6WMHDSKqMHG208T8\/Xkraiht1405FBEw9VfHshhdlzCOWe0FWrmhzS1wBBGCDzWReH6QvRlDc2utdggH\/Cd\/Hw8Fam5K3NGKcI0Zuduq9e7v+25DslZNpe+S2qudinldueeAP4XjuPA\/wALdqg1TZBebeJ6YB1TCNqMj+o3m39x\/K4aPvvXqb6PqXYqYBhpdxe35j\/fNdksSxLxI0W6FToZaPT2NMiIqTeEREAREQBERAEREAREQBERAEREAREQGW1OPo+92u7g7LWv6KU93\/BctSqfVVH13T9Q0DL4h0rfLj7srvYKzr1jpJ85cYw12e0bj8FY84pmWHVryjvn+GWKIirNQUevoYLjRyUtQwOY8Y8DyI71IRNDjSaszLWCtmtFwdp64OB2d9NKTgOB4D5eYUbVFpmt1cy\/W7Ic1+1K0DOyfzeB4H+Vd6hsrbxQ\/ZnYqofahfwwezz+S42G8tudFLSXABlVTt2KhkgxtDhk\/urlL5l4nnypq3QzffF\/jw\/wsbVcortb46uHdtDDm\/ldzCmLB0tzptLX2anhqOtW6YbWInB5YfmOB7sditPrLdriALPZ3ljuE0\/3f2HvXJU3fLQsp8XHDaXaXJZmoXCoraSkGamphh\/zvDfis6LLqO4NBr7z1cHH2cA+OMdnepFPoq0xO25umqXf+4\/A92FzDFass6WrLswt93+Mz3U6zstPkNnfORyiYficBRhq+rm9qk0\/Vzx8nb\/2aVe0tsoKIDq1JDERzawZ9ePJSkvBchgrvWdvsvczH1puv\/jFZ6u\/\/C+t1tBG4Crt1XTjOCS3OPgtMvjmhzS1wBBGCDzXMUdh0VZaVPREG3Xu3XXdSVLXPAyYzucPIqestqm20VDTMuVIxtPWsmaYxH7PSkneMD19Vo6WV01JDK8AOfG1zgBgZI70kla6JUqknJwnqtjsiIoF4REQBERAEREB5exskbo3tDmuBDgeYWZ0a\/qslwtL3e1TTEtzjeOB+A9VqFlqg\/RmvIZcER3CLYdx+9w+Ib6qyGaaMtfqzhPvt5mpRfCQBknACoblq6hpH9BSA1tQTgMi3jPj8sqCi3oXVKkKavJ2L9Vtx1BbLWSypqR0gH+GwbTvdw81TOotS35jeuTx26mdxijztEd4+Z8laW7S9qtpa9lP0srf6kp2j6cB6KeGK1ZT0lWp2I2W79is+nL7em\/9nt\/V4icdYmIO7tGd3plVt50pcI6eW5y1YrJs7c7Gt2ct548PAblvEXVUs8kRlwiqL4km3\/3Iy1JZrJetPuNup44ZXt3OcS50b+wnjj9ivGlL5I2R1luR2KiE7MRceON2z4jl2rxXQTaSuf0jRNL7dO7E8I4MPdyHd6KPqygZNHBqC2nLXAGRzOX5XePI+AU8pZPRmVt0+vFWlHVbrc26Kk0zf23mjLZSG1UQxI38w\/MArtUNNOzPTp1I1IqUdGERQLleqC1MzVzhrsZEbd7j5Ik3odlKMVeTsieqa7amobW4wgmoquAhi3nPYTy+Pcqs1971N7FvjNvoScOncfacO7n6equLTp2gtLQ5jOln4umkGXZ7uxTwqPaM3Szq\/wBSst3+EVdFY6671zblfjshhzFSg7m+PZy8ea1KIoyk5F1OlGmstXq9wiIoloREQBERAERcaurgoaZ9TUyCOJgySUONpK7OyxutLnQuNM2nnD62lm2xsjIaOYJ4cQPRdHVF31VK6OkJorYHFrpfxSDn4+A3d6tI9MW+ltVRSU8IdJNEWmV+9xONx7t+OHYrYpQd2Yqkp8RBxprLd\/j3KyC3XfU0TKm5VnVqKQbTYIOLh3\/znwWgt9noLWwNpKZjHYwXkZcfEneq3RdWaiwNid96ne6M57OI+OPJX65Nu+Enw9ODiqmrfNhERVmsIiIDnNDHUQvhmYHxvGHNcNxCyMbTpm4SW2uzLZ60EMc7JDM8j+\/kVsJJGRMMkj2sY3i5xwAsrftQWy5U0tspqeWvlePY6Fu5rhwIPHd3BWU76cjHxWBJSvaS07+4z0tDW2C+ObSyOEjBtwOxumZx+Gd3d4LWt1lahboqqWQiV49qBgy4Hn5d5WQkhudU6K21r3RTU0O1TRyMG07mGg8c44Duwu1FB1Okp77b42zsg9irgkw4tPb4HcR2d+9aJRUkrnmUas6TfRqy7+W+Xd\/hfmv1Hfm4oKYW6md\/Wld7RHduz6DzUu26RoaR\/T1ZNbUE5L5d4z4fPKtrfX09yo2VVM8OY8b+1p5g96krO5tZLI9WFCErTk8T79PBaHwAAYAwAvqIqzUEREAREQBERAEREBBu93prNR9YqSTk7LGN4vPZ\/KoILXcdTzMrLwXU1EDtRUrTguHafnx7MLUywQz7PSxMk2DtN22g7J7R2LopqWFZalE6LqS6z6u3ueIoo4YmxRMDGMGGtaMABe0RQLzLWcG26xuNAd0dSOmjzz57vU+i1Ky2px9H3u13cHZa1\/RSnu\/4Llb3DUFstuRUVTekAz0bPacfTh5qyScrNGOjONPFCTtZ+jzLJFlzqe43F2xZrS97c46abc3h6D1Xkafvd0AN2upjYQCYYf3xgfFMFu07Ev5GL+uLfovNlvXaitVvBE1WxzwD7EftO8N3DzVS7UN4upLbLa3tiI3TzjHpy95VlQ6XtFDgspRK8Z9ub2z6cPcrYAAYAwAl4rRXGCtPtSsu73MyzSlTcJWVF9uL6lw\/ox7mjz+QCvaK20duj2KOmZCDx2RvPieJUpFFybLIUKcHdLPfmVd8skN4psZ6Opj3wyjcWnsPcsVZ7nNZL9LHXt2WSno6lhG7\/Nj3+BPav0lZ7VOnRdqfrNMwdcjG7l0g7D39ispzXZloZuKoNvpafaXqQ6uiqNLVpudtaZbfIft4AfujtHd2Hl4LS0VbT3ClZU00gfG8bj2dx71RaPuhraB9uqgenpRskP4uZw3g9nD0XCrpKnStY64W9hkt0h+3px+DvCSV3Z6nKc8EVUh2Hqtv1uaxFHoq2nuFKypppA+N43Hs7j3qQqTemmroIiIdCIiAIiIAiIgCIuc8bpaeSNjyxz2FocDgtJHFAzhXXShtsZfV1LI8fhJy4+A4qifq2orHmOzWuWpIx9o8Yb6D5qD9QqmZ5fUXQFxO93Rlx95U1mjZ2sDHXyqLAPutyB8VclTXM86U+Km8o2Xhf\/vAh3W06iuNulqLlVRNZC10gp2c8eHdnmVO0vaLRJZ4K51Kx8rgQ90p2hnOOB3BPqRTu3vuVY53M7QVNZ9N0NXeK+31b5w6md9mGuA2m5Iyd3+X1U7pxauU4JwqqThdvLN3z8jdmop42jM0bRwGXALz12l\/uYf1AqNuhrODkmoPcZB8l6+pNm\/JN+oVTaG5uxcR9K8\/0XXXaX+5h\/UCddpf7mH9QKl+pNm\/JN+oU+pNm\/JN+oUtDcYuI+lef6LrrtL\/AHMP6gXtk0UmNiVjs8NlwOVRfUmzfkm\/UK8P0LaHZw6pZn8sg3eoS0Nxj4j6V5\/o0iLMDRFNEc01xrIscPaG70AT6sXaDfSaiqABuayQEgD\/AFY9yYY7jpay1p+qL+OhpYqyWsZCxs8oDXvA3kD\/AGPQLu5oc0tcAQRgg81mep6wpv8ADuNLUNG4Nc0ZPf8Ad\/dfBd9UUY\/6uytqAOcLt5HkT8F3A3zOKvGOsGvD2OVbR1elat1xtrTJb5Dmen\/L3js8eXgtHbrlS3SlFRSSbbDuI4Fp7CFRs1tRj2K6iqaVxG8Obkd\/Yfcq91PBHUur9K3GFsjgTJSudjbGeDWke70UnFtdbUojVjTd6TvHbmvt7G2RU1k1HT3YmB7TT1jNz4X7skccdvxCuVU007M3QnGpHFF5BERcJhERAEREAREQBERAFl7li160oa0DEda3oZN34uA\/+voVqFQayozU2F8rPv0zxKMZ4cD8c+SnDW25n4lPo8S1WfkX6KJaqz6QtdNV85YwXYH4ufvypag1Yvi1JJoIiIdCIiAIiIAiIgPEkUczCyWNr2ni1wyFT1mkbNVknqxgcecLtn3cPcrtF1Sa0ITpwn2lcxFw0RXdIJqSv6dzcYEpLXDwP\/Ck0uqK61SMo9QUjmHZ9mZu8nHaOB8QtcuVRTQVcJhqYWSxni14yFZ0l8pGX+LgeKi7PzQp6mCrhE1NMyWM8HMOQir7Xp+jtFXNPSGRombgxuOQ3fy5+qKt2vkaoOTj11ZlqiIuEwiIgCIiAIiIAuc0LKiCSCQZZI0tcO0EYK6Ig1MzoyR0ENbapTmSknI7sHdu8wfVaZZatcbTrenqjnorgwRuJOMOGB+zfUrUqc9b7mbhsoum\/ldvb0CIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAoNZUPW7G6ZgHSUrukB545\/PyVnaq0XG101WCMysBdjk7gR6gqVJG2WN0bxlrwWkdoKzOkZXUdTXWSZxLqaQujyOLc4J+B81Ys4fYyvqV0+UsvFaGoREVZqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAstqAOtOoKG9MIbDIRBP4dp7d3\/wAQtSqvUdD9IWKphDcva3pGbsnabv3ePDzU4OzzKOIg5U3bVZrwLMEEZByCvqqdMVhrbBTPcQXsb0bsf+nd8MK2UWrOxZCSnFSXMIiLhMIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgItBbaS2ROio4uiY920RknJ81KREbucUVFWQREQ6EREAREQBERAEREAREQH\/9k=",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "DANIEL CACERES",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "WSP",
    "idFalla": "-2",
    "otraFalla": "INDICA PROBLEMAS AL IMPRIMIR Y SCANEAR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "56988410532",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28560\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:29",
    "ubicacionGPS": "LatLng(lat: -23.3344123, lng: -69.8443271)",
    "horaLlegada": "13:09",
    "horaDespacho": "16:04",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


05/05/2026 16:29:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69253200

[05/05/2026 16:29: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('69253200', 'KY2524', 1, 21773342, 79535, NOW(), 
				'16:04', '13:09', '16:29', 4, '01 iton 2174
Acusa atasco de papel
cambio de R de Separacion y R pick up en bandeja
Mantenimiento', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778012967.png', 'Requiere:
Rgom 2356
Rkit 2675
se colocaron usadas ', null, 'COMPLETADO','LatLng(lat: -23.3344123, lng: -69.8443271)' )
				
[05/05/2026 16:29:27] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200183
[05/05/2026 16:29:27] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200183', 'KYO-I647', 1)
				
[05/05/2026 16:29:27] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28560 and
				    IDproducto = 'KYO-I647'
				

05/05/2026 16:29:27 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
05/05/2026 16:29:27 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200183'                    
				WHERE idllamado = 12415			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


05/05/2026 16:29:28 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12415			
				
05/05/2026 16:29:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


05/05/2026 16:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:29:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            [05/05/2026 16:29: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;
                

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

05/05/2026 16:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                [05/05/2026 16:29: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;
                

05/05/2026 16:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:29:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                [05/05/2026 16:29: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;
                

05/05/2026 16:29:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            
05/05/2026 16:29:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12415
            GROUP BY l.idllamado;
            [05/05/2026 16:29: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;
                

05/05/2026 16:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12415
                
05/05/2026 16: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 = 12415
                
05/05/2026 16: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 = 12415
                
05/05/2026 16: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 = 12415
                
05/05/2026 16: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 = 12415
                
05/05/2026 16: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 = 12415
                
05/05/2026 16: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 = 12415
                
05/05/2026 16: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 = 12415
                
05/05/2026 16: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 = 12415
                
05/05/2026 16:31:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:31:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            [05/05/2026 16:31: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;
                
[05/05/2026 16:31: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;
                

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

05/05/2026 16:31:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:31:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:31:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:31:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:31:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            [05/05/2026 16:31: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;
                

05/05/2026 16:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 16:31: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;
                

05/05/2026 16:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:31:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:31:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:31:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:31:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:31:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:32:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                [05/05/2026 16:32: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;
                
[05/05/2026 16:32: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;
                

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

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

05/05/2026 16:32:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:32:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 16:32: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;
                

05/05/2026 16:32:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:32:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:32:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:32:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:32:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:32:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:32:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:32:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:32:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 16:32: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;
                
[05/05/2026 16:32: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;
                

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

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

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

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

05/05/2026 16:33:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:33:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 16:33: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;
                

05/05/2026 16:33:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:33:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:33:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:33:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:33:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16: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 = 12329
                
05/05/2026 16: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 = 12329
                
05/05/2026 16: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 = 12329
                
05/05/2026 16: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 = 12329
                
05/05/2026 16: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 = 12329
                
05/05/2026 16: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 = 12329
                [05/05/2026 16:33: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;
                

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

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

05/05/2026 16:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 16:48: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;
                

05/05/2026 16:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 16:48: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;
                

05/05/2026 16:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:48:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:48:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:48:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16: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 = 12447
                
05/05/2026 16:48:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16: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 = 12447
                
05/05/2026 16:48:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            [05/05/2026 16:48: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;
                

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

05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                [05/05/2026 16:48: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;
                

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

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

05/05/2026 16:48:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:48:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:48:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:48:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:48:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:49:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:49:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:49:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:49:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:49:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            [05/05/2026 16:49: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;
                

05/05/2026 16:49:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:49:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:49:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:49:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:49:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:49:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:49:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:49:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:49:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:49:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:49:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:49:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:49:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 16:49: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;
                

05/05/2026 16:49:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 16:49: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;
                
[05/05/2026 16:49: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;
                

05/05/2026 16:49:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:49:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:49:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:49:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:49:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:49:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:49:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 16:49: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;
                

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

05/05/2026 16:49:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 16:49: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;
                
[05/05/2026 16:49: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;
                

05/05/2026 16:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 16:49: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;
                
[05/05/2026 16:49: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;
                

05/05/2026 16:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 16:49: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;
                

05/05/2026 16:49:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:49:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:49:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
05/05/2026 16:49:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                [05/05/2026 16:49: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;
                

05/05/2026 16:49:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
05/05/2026 16:49:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
05/05/2026 16:49:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
05/05/2026 16:49:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                [05/05/2026 16:49: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;
                

05/05/2026 16:49:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
05/05/2026 16:49:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
05/05/2026 16:49:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
05/05/2026 16:49:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
05/05/2026 16:49:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                [05/05/2026 16:49: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;
                
[05/05/2026 16:49: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;
                

05/05/2026 16:49:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
05/05/2026 16:49:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                [05/05/2026 16:49: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;
                

05/05/2026 16:49:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            [05/05/2026 16:49: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;
                
[05/05/2026 16:49: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;
                
[05/05/2026 16:49: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;
                

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

05/05/2026 16:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                [05/05/2026 16:49: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;
                

05/05/2026 16:49:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
05/05/2026 16:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
05/05/2026 16:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
05/05/2026 16:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
05/05/2026 16:49:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
05/05/2026 16:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
05/05/2026 16:49:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            [05/05/2026 16:49: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;
                

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

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

05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 16:52: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;
                
[05/05/2026 16:52: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;
                

05/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 16:52: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;
                

05/05/2026 16:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 16:52: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;
                

05/05/2026 16:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 16:52: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;
                

05/05/2026 16:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:52:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            [05/05/2026 16:52:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 16:52:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:52:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 16:52:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 16:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 16: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;
                

05/05/2026 16:52:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 16: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;
                
[05/05/2026 16: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;
                

05/05/2026 16:52:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:52:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:52:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:52:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:52:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            [05/05/2026 16: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;
                
[05/05/2026 16: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;
                

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

05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                [05/05/2026 16: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;
                
[05/05/2026 16: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;
                

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

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

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

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

05/05/2026 16:54:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 16:54: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;
                

05/05/2026 16:54:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:54:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            [05/05/2026 16:54: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;
                
[05/05/2026 16:54: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;
                

05/05/2026 16:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 16:54: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;
                

05/05/2026 16:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 16:54: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;
                

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

05/05/2026 16:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 16:54: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;
                
[05/05/2026 16:54: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;
                
[05/05/2026 16:54: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;
                

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

05/05/2026 16:54:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:54:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:54:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:54:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:54:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:54:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            [05/05/2026 16:54: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;
                

05/05/2026 16:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 16:55: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;
                
[05/05/2026 16:55: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;
                

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

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

05/05/2026 16: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 = 12447
                
05/05/2026 16:55:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16:55:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:55:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:55:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 16:55: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;
                
[05/05/2026 16:55: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;
                

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

05/05/2026 16:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 16:55: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;
                

05/05/2026 16:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 16:55:08] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 16:55:08] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

05/05/2026 16:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:55:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:55:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:55:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:55:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 16:55: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;
                

05/05/2026 16:55:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 16:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 16:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 16:55: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;
                

05/05/2026 16:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 16:55: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;
                

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

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

05/05/2026 16:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 16:55: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;
                

05/05/2026 16:55:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            [05/05/2026 16:55: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;
                

05/05/2026 16:55:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:55:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 16:55: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;
                

05/05/2026 16:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:55:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:55:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            [05/05/2026 16:55: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;
                

05/05/2026 16:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:55:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:55:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                [05/05/2026 16:55: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;
                

05/05/2026 16:56:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16:56:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16:56:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16: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 = 12447
                
05/05/2026 16:56:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:56:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:56:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:57:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:57:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 16:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:57:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 16:57:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                [05/05/2026 16:59:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 16:59: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;
				
[05/05/2026 16:59: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;
                

05/05/2026 17:01:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17:01:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 17:01:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17:01:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 17:01:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17:01:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17:01:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17:01:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17:01:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 17:01:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17:01:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17:01:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17:01:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 17:01:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17:01:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17:01:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 17:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 17:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17:02:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 17:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17: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 = 12447
                
05/05/2026 17: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 = 12447
                
05/05/2026 17:03:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 17: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 = 12447
                
05/05/2026 17:03:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17:03:05 - logentry: =========================================
FECHA: 05/05/2026 17:03:05
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-L4--RVIgecc77zf0S6xXk_0UWq3X2ER.fhkA1CL8E8JeGiwx6Fu
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2505",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "57961",
    "contadorColor": "93713",
    "contadorScanner": "0",
    "detalle": "01 itin 1940\n01 itin 1941\n01 itin 1942\n01 itin 1943\nEntregados en Educacion  \nEp 2509",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12447",
    "observacion": "por error ingresaron tintas en otra maquina \nson para Ep 2509",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACDARIDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABCEAABAwMBBAgEAgcFCQAAAAABAAIDBAURBhIhMUETIlFhcYGRoRSxwdEVMhYjJDNC8PFSkqLS4QclNUNTYnKCwv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgQDBgUFAQAAAAAAAAABAgMREiExQQQTUTJhcYHR4ZGhscHwFCIjQlLx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBFyqnujpZnsOHNY4g9hwqvS1fU3GzNqKuXpJS9w2tkDcPBdtlcg5pTUN2XKIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiLnNPDTRGWeVkUbeLnnACBux0XOaaOnhfNM8MjYMuc47gFQV2trXSnZg26pwP8Aw31KrTV1Gta2GmjY+noYQH1IDs5J5d\/DA8yrFTeryRknxUOzB3l0JZu96vj3GzxtpqNpLTUy4yfXO7wHmp+k7lU3S0GWqwXslMYcAesAAcn1K+ajqo7Tp91PTN2HSjoIWM3EZ7PJTLHb\/AMMtEFM794G7Um7HWPH7eS62sOhGnGarWcr5Z9M9CwREVRtCIiAIqy9XynstO18oMksm6OJp3uP0Cpm2m+ahaX3apNFTH8tNEN58R98+Cmo3V3kiida0sEVd\/mrLus1BaqHdPWx7WSNlh2yCORAzjjzVXJreic8so6SqqXctlmAfr7KfR6Ys9EOpRMkd\/amG2fdWkcbImBkbGsaOAaMAJeC7yOHiJatL5ma\/Sm6y56DTlSQObi7\/ACoLzqeQAx2Jje3bOPqFp0TEug5NR61H8vQylRcNWyU0ubRTMj2CHEuGQMb\/AONV+nbhfKW1NbRWxlTT7biH5359fotnXODbfUuO4CJxPoVT6JBGnWZHGR+PVTUlheRnlRlzorG9H07u44O1NeKffVadn2cZ2oySB47ivrdc0DXhlTSVUDu9oOPfPstMvL2MkbsvaHDsIyoYo9DRyqy0n8UvYqIdWWScbq0MOMkPa5uPbCtYZ4ahm3DKyVvaxwI9lEnsVqqcmW305J4kMDSfMKpm0VSNk6W31dRRScix20Bvz4+\/JdtB9wvxEdUn4ZfU0qLLin1dbRmOoguEY37L\/wA3vj5ngvUWsWwSiC72+eieTja2SW+Pb6ZXMD2zH6mKymnHx9dDTIucM0dRCyaF4fG8Za5p3ELooGnUKn1FfWWWi2mbL6mTdGwn\/Ee4L1e7\/T2eIN\/fVT90cDTvPYT2BZKittXeNVBtyd0jmAS1A4hg4hnZ2DHj2K2EN5aGLiOIa\/jp9p5eBurdPNVW+ConjEUkrA4sHLPD2UlEVRsSsrMIiIdCIuNVV09FCZqmZkUY4lxQ42krs7KLX3KjtkPS1k7YmngDxd4DiVnKnV81fVNobHADI84E0xAHiB9\/RR6ugobQ0V+oah1wrpBlkAO7w8O\/h3K1U\/8ARjnxSafL23enuSptU11wZIbPRdHAwdeqqSGtb9Pc+Czr6auvdT0UU81ymz1pd4ij38s\/YeBV\/S2a4398c92\/ZaFm+Kji6u7lkcvn4LUUtJT0UDYKaJsUbeDWhTxqGhQqFTiM5t2\/NFt55mNrLJR6Yszqqctqa+TqREjqsceYHcMnJ544LR6dtbbVaIoi3ErwHykjftHl5KtuR\/FNY0dv\/NDRt6eUHeM8R\/8APHt9bPUN3bZrY+YH9c\/qRDGetjj4BRk5SSW7LKUadOUprJRy9fQqpmC\/6wbHjapbWMvPIv7PUf4StSqnTlrNrtTGyZM8x6SUu45PI+A98q2UJvOy2NNCDUcUtXm\/zuCIigXhERAQ5rXS1FzhuEgc6aBuywbXVHHfjt3\/ACUxEXbnFFK9twiIuHQiIgIN7lENjrnk4xA8DxIwPdQ9IxmPTNJluC7ad6uOPbC5a0n6HTkrM4Mz2sHrn6K0tdP8LaqSnIwY4Whwxjfjf7qz+nmZdeJ8F9X7EtERVmoIirLrqC32cbNRLtS4yImb3H7ea6k3kiM5xgrydkWazGoL3BVtdaLfTsr6mXLSMBzY9x3+I9lxNPfdTH9e4263P4R\/xvHfzPngdxV1TUNq05RvlYGQMA68rzlzvE\/QKxJR1zZllOdZNRyj1f2X3Z7sdBJbbRBTSu2pGjL8EkA9gyq676mMVQLfaI\/i61x2TsjLWfcj0HNQ5blctUyOprUHUlE04kqX7i7uH29cK8tFko7NB0dMzL3Dryu\/M\/7DuRpJ3lqcjKVRKFLKK39PUq6O0RWSmmvV1eaqta0vc5xzsnkB38sr1o2jIoZrlM09PWyF5J\/s5++T6LxrGV9QKK0RE7VXKNrHIAj758lo4YmQQshjGyyNoa0dgG4JKTw57inTjzbR0j9X7HtFzmmip4zJPKyJg4ue4ADzKzlXqapr5zR6epzUSDc+dzeo3wz57z7qEYt6GipVhT116bmhqKqnpIzJUTMiZ2vdhemTRyQNnY8GJzQ8PzuIxnKy8mls0k9wvdbLVzsic\/ZDsMbgE4\/nCpLXa75d7Yymgd0VBtE7Tjshx5953hTUItamWXE1Iys4a6LfzL2862pqYGK2htRLwMhzsN+6oKe13zVM\/wAVM89HnHSynDQOxo+wWotWjrdQbMlQPi5hzeOqPBv3yq7UuqnNebbaXdb8r5mcQf7Lcc+\/0VkWr2gvMz1oSax8TKy\/yiiuVubQXWG3W+SSqq4j1nhuOtxwB3c859lsLNpx1PUfiN0m+Lr3b8u3tj8O\/wCXJe9LWX8LtwknjxVz9aQkdZo5Nz7+KvFCdR6Iv4bhYr98l4Lp7hERUnoGX0yRUXi83KRwA6XYaSeDQTx8gFxt7TqfUbrnJHm30nUhDwOs7vHnn0VFaZau40jrJSDYdVTGWaTO4MwN3r9AtlU11s0rbY4cYAGGRNxtvPafqVokrPLU8mjJVIJyyis33v2LOrq6ehp3VFVK2KJvFzv53rL\/ABV01ZUFlI59FbGO60vB7\/v4cua90lpr9RVDK+9no6Ub4aRu7d2ns+Z7gtRFFHDE2KJgYxgw1rRgAKvKHiarTr65R+b9EfWt2WBu0XYGMniUXpFWbAiIgCIiAIiIAiIgMvqj9svdotgPVdJ0kg7s\/YOWoWWof94a7rKjqllHH0bee\/h\/mWjqqynoYDPVTMijH8Tj7d6slsjLQabnUe7+SyOyiV9zo7ZCZaudsYxubnrO8BzVDNqG4Xl7qbT9MdkHD6qUYDfDP9e5SLdpKCKb4u6TGvqic5eSWg+fHz9Ewpdoc6U3akr9+3uRHXW+6gcWWmA0dId3xEu5xHj9s+KsrVpagtpEsjfiqnOTNKM7+0Dl81cgADAGAFQ3281kdWy0WuB5rZhnpHDqsb2jt57+S6m5ZRyIypwp\/wAlV4n+aIlXjUNFZ27MjulqD+WBh6x8exVNLZq\/UE7K+9vdHTg7UVGN2B39nz8FYWbTUFtd8TUu+LrXHadM\/fsnuz8+Ku1zEo9k6qU6rvV06evU8RRRwRNihY2ONgw1rRgAL2iKs16GW1EKij1HQXQ0slTTQxluxGMkO62\/u4g+S9\/pHd609HbrHIC4bpZjhoPsPdaZFZjVs0ZnQlibjKyfh9TNM0rNcHie+18lRJnIijOyxvd\/TCv6Wjp6KERU0LImDk0cfHtXZFFyb1LIUYQzSz67ldqB5j0\/XOBxmFw4dox9Vy0uxsem6JreBYXeZJJ+am3GjFfb56RxLRKwtyCshWVOo9PWkQH4eOnjPRxzDBec8N2fHkpxWKOEorT5VXmNO1vuTNYai+GjNto5MTv\/AHz2n8jezxPy8VH0hpotcy6VjSCN8EZGOX5j9FM07pqLomXO5NM9XN+sxIchud4JHb4rULspKKwxK6dCVWpzqvkugREVJ6AVFqO9uo4xQUOZLhUdVjW7ywHn49nql\/1HHbG\/C0pbLXP3Nbnczvd9ll7ZFXV9RLHbyZKiY\/tNe7PUB4hp5ePE9wV0If2Zg4jiM+XDX8+f0Punrw2226SCjpOnudRKWs6ucNwMZ887lo7RppzKj8RvEgq612CA7eIz8iR6DkougaeH8LnqOjb03Tlm3jfs7LTj3K1aVJWk0iPCUcVOMp59Ft\/0IiKk9EIiIAiIgCIiAIiIAuNXUso6SWpkIDImFxyewKnuWq6Wml+FoWGuqydlscfAHvP29lmL9T3moNN+J1A+IqH4hpGcGjtONwOSAOJO\/sVsabbzyMdbi4wTwK7+R6sN6q4GVMdBQmprquXbc7HVaOXuTxIV9T6XmrphV6gqjVS\/wwsOGNHZ\/T3V5QUEFupI6eCNrQ1oBIbjaOOJ71JSVTP9pylwtopVHe223uc4YYqeJsMMbY42jDWtGAF0RFUbdAvmyNrawM4xlfUQBERAEREAREQBERAFmNRRiv1JabdKAYSTI5pP5u4\/3fdadU99sr7l0VTSTmnrKc5jkHMdhU4OzKOIi5U7JX0+pcIsuNR3i3norpZpHED95BvB+Y919\/SqvqRs0FiqHvzgmTIa3PDO77Jy5Ef1VLvv0s7mlc5rGF73BrWjJJOAAsnfdYNDJKa0nbcBh9TjqsHd39\/zXOst92q6c1Wo65lNRR9Z0EWMnfuG7d4byudksrb1O2pkpRTWuI\/qYBxlPa48+8+QVkYxWbM1WtVqPBBWv8fZFdY9OT3uYzSulipc5fM780p54++\/zW\/pKOmt1K2npoxFEwcPqSuzWtYwMY0Na0YAAwAFxr5RBbqmYnAjie7PgCVCU3Nmihw8KEb79Sg0ECLHNkcal2P7rVp1QaKj2NORu\/6kj3e+Por9cqdpkuFVqEfAIiKBoCIiAIiIAipbpqm3WwmMP+In4dFFvwe88B81WCmv+pT+2ONuoHcY2jrPHZ2+u7uU1B6vIzy4iKeGH7n3fd7E656toqOQ09K11bU5wGRcAezP2yojbfqG\/Ydcan8PpT\/yIdznDv8A9T5K7ttloLUzFJAGuxgyO3uPmp67iS7KI8mdTOq\/Jae5AttloLUzFJAGuxgyO3uPmqKysdfdS1N5lGYKY9FTjiM\/0OfFystV3A0FklDHYmqP1UeOO\/j7ZUmw278Ls8FMd7wNqT\/yO8\/byS7UW3uRcYyqxpxWUc\/Pb1LFERVmwIiIAiIgCIiAIiIAiIgCIiAIiIAvEsscEL5pXhkbAXOceAC9rK3uaa+3lun6Z+xTsw+qkaM4xvx8vPwUoxuyqrU5cbrNvTxOAjm1ldOlftx2mmdhrc4Mjvv8h3rXta1jAxjQ1rRgADAAXOkpIaGkjpadmxFGMNC7JKV9NCNGlgTcs5PUKm1XVCl07Uk8ZQI2jx\/0yrlZbVB\/Eb1bLM05Dn9LKO7+gcuwV5HOJk40nbV5fEubDTfB2KjhIwREHOHYTvPuVYIii3d3LoxUYqK2CIi4SCIiAz911S2kq3UFDSSVdYDjZDSAD8z\/ADvXD8N1Fef+JVjKKmcBmGn\/ADeGfuT4LShrQ4uDQC7iQOK9KeJLRGZ0XNvHLLosiut1httrGaamaH85H9Zx8zw8lYoii23qXxjGKtFWCIi4SM1XUst11lTRTU8gpaKPpNojqvPHw44H\/qVpURSbvYrhTUG31YREUSwIiIAiIgCIiAIiIAiIgCIiAIiICvvlyFqtM1V\/GBss3Z6x3D04+ShaUtQt9rbPICamqHSPc4dYA8B9fNRdTj4+8Wu0n8j5OlkHaP6A+vrpgABgDACseUbdTLFY6zk9I5Lx3PqIirNR4llZDE+WRwaxjS5zjyA4lZjTDZbrd6y\/TAhriYoGnkN3yGB4krrqisfVSwafpCenq3AyOHBrP5GfAd6vaCjjt9DDSRfkiYG5xjJ5nzO9WdmPiZX\/AC1rbR+vsSERFWagiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAzFRh\/+0Ol2t3R0p2e\/c77ladZfUe3ar5Q31sZfE0dFMByG\/f7n0CuhfLSWbX4nSYIz++bn0yrJJtJoyUZRhKcZOzvf4k5Vl8vUFlpOkeQ6Z+6KLONo\/QDtUK4aspmEU9rYa+qdua2MEtHiefkuVp09UT1ou18eJao72Q\/wx9ndu7OXeUUbZyOzrObwUs312R203Z5qd810uGy6tqztYx+7B34Hj9Ar9EUJNt3ZdTpqnHCgiIuFgREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAeJYo54nRTMbJG8Yc1wyCFUnSViL9r4AZJz+8fj0yiLqk1oyEqcJ9pJlhR2+jt8fR0lOyJv\/AGjeee88SpKIuakkklZBERDoREQBERAEREB\/\/9k=",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "DANIEL FUENTELAZAR",
    "correoContacto": "daniel@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28563\",\"cantidad_usada\":1,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28563\",\"cantidad_usada\":1,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28563\",\"cantidad_usada\":1,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28563\",\"cantidad_usada\":1,\"cantidad_asignada\":2}]",
    "horaSalida": "17:03",
    "ubicacionGPS": "LatLng(lat: -23.3317623, lng: -69.8398365)",
    "horaLlegada": "13:54",
    "horaDespacho": "16:29",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 05/05/2026 17:03:05
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-L4--RVIgecc77zf0S6xXk_0UWq3X2ER.fhkA1CL8E8JeGiwx6Fu
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2505",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "57961",
    "contadorColor": "93713",
    "contadorScanner": "0",
    "detalle": "01 itin 1940\n01 itin 1941\n01 itin 1942\n01 itin 1943\nEntregados en Educacion  \nEp 2509",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12447",
    "observacion": "por error ingresaron tintas en otra maquina \nson para Ep 2509",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACDARIDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABCEAABAwMBBAgEAgcFCQAAAAABAAIDBAURBhIhMUETIlFhcYGRoRSxwdEVMhYjJDNC8PFSkqLS4QclNUNTYnKCwv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgQDBgUFAQAAAAAAAAABAgMREiExQQQTUTJhcYHR4ZGhscHwFCIjQlLx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBFyqnujpZnsOHNY4g9hwqvS1fU3GzNqKuXpJS9w2tkDcPBdtlcg5pTUN2XKIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiLnNPDTRGWeVkUbeLnnACBux0XOaaOnhfNM8MjYMuc47gFQV2trXSnZg26pwP8Aw31KrTV1Gta2GmjY+noYQH1IDs5J5d\/DA8yrFTeryRknxUOzB3l0JZu96vj3GzxtpqNpLTUy4yfXO7wHmp+k7lU3S0GWqwXslMYcAesAAcn1K+ajqo7Tp91PTN2HSjoIWM3EZ7PJTLHb\/AMMtEFM794G7Um7HWPH7eS62sOhGnGarWcr5Z9M9CwREVRtCIiAIqy9XynstO18oMksm6OJp3uP0Cpm2m+ahaX3apNFTH8tNEN58R98+Cmo3V3kiida0sEVd\/mrLus1BaqHdPWx7WSNlh2yCORAzjjzVXJreic8so6SqqXctlmAfr7KfR6Ys9EOpRMkd\/amG2fdWkcbImBkbGsaOAaMAJeC7yOHiJatL5ma\/Sm6y56DTlSQObi7\/ACoLzqeQAx2Jje3bOPqFp0TEug5NR61H8vQylRcNWyU0ubRTMj2CHEuGQMb\/AONV+nbhfKW1NbRWxlTT7biH5359fotnXODbfUuO4CJxPoVT6JBGnWZHGR+PVTUlheRnlRlzorG9H07u44O1NeKffVadn2cZ2oySB47ivrdc0DXhlTSVUDu9oOPfPstMvL2MkbsvaHDsIyoYo9DRyqy0n8UvYqIdWWScbq0MOMkPa5uPbCtYZ4ahm3DKyVvaxwI9lEnsVqqcmW305J4kMDSfMKpm0VSNk6W31dRRScix20Bvz4+\/JdtB9wvxEdUn4ZfU0qLLin1dbRmOoguEY37L\/wA3vj5ngvUWsWwSiC72+eieTja2SW+Pb6ZXMD2zH6mKymnHx9dDTIucM0dRCyaF4fG8Za5p3ELooGnUKn1FfWWWi2mbL6mTdGwn\/Ee4L1e7\/T2eIN\/fVT90cDTvPYT2BZKittXeNVBtyd0jmAS1A4hg4hnZ2DHj2K2EN5aGLiOIa\/jp9p5eBurdPNVW+ConjEUkrA4sHLPD2UlEVRsSsrMIiIdCIuNVV09FCZqmZkUY4lxQ42krs7KLX3KjtkPS1k7YmngDxd4DiVnKnV81fVNobHADI84E0xAHiB9\/RR6ugobQ0V+oah1wrpBlkAO7w8O\/h3K1U\/8ARjnxSafL23enuSptU11wZIbPRdHAwdeqqSGtb9Pc+Czr6auvdT0UU81ymz1pd4ij38s\/YeBV\/S2a4398c92\/ZaFm+Kji6u7lkcvn4LUUtJT0UDYKaJsUbeDWhTxqGhQqFTiM5t2\/NFt55mNrLJR6Yszqqctqa+TqREjqsceYHcMnJ544LR6dtbbVaIoi3ErwHykjftHl5KtuR\/FNY0dv\/NDRt6eUHeM8R\/8APHt9bPUN3bZrY+YH9c\/qRDGetjj4BRk5SSW7LKUadOUprJRy9fQqpmC\/6wbHjapbWMvPIv7PUf4StSqnTlrNrtTGyZM8x6SUu45PI+A98q2UJvOy2NNCDUcUtXm\/zuCIigXhERAQ5rXS1FzhuEgc6aBuywbXVHHfjt3\/ACUxEXbnFFK9twiIuHQiIgIN7lENjrnk4xA8DxIwPdQ9IxmPTNJluC7ad6uOPbC5a0n6HTkrM4Mz2sHrn6K0tdP8LaqSnIwY4Whwxjfjf7qz+nmZdeJ8F9X7EtERVmoIirLrqC32cbNRLtS4yImb3H7ea6k3kiM5xgrydkWazGoL3BVtdaLfTsr6mXLSMBzY9x3+I9lxNPfdTH9e4263P4R\/xvHfzPngdxV1TUNq05RvlYGQMA68rzlzvE\/QKxJR1zZllOdZNRyj1f2X3Z7sdBJbbRBTSu2pGjL8EkA9gyq676mMVQLfaI\/i61x2TsjLWfcj0HNQ5blctUyOprUHUlE04kqX7i7uH29cK8tFko7NB0dMzL3Dryu\/M\/7DuRpJ3lqcjKVRKFLKK39PUq6O0RWSmmvV1eaqta0vc5xzsnkB38sr1o2jIoZrlM09PWyF5J\/s5++T6LxrGV9QKK0RE7VXKNrHIAj758lo4YmQQshjGyyNoa0dgG4JKTw57inTjzbR0j9X7HtFzmmip4zJPKyJg4ue4ADzKzlXqapr5zR6epzUSDc+dzeo3wz57z7qEYt6GipVhT116bmhqKqnpIzJUTMiZ2vdhemTRyQNnY8GJzQ8PzuIxnKy8mls0k9wvdbLVzsic\/ZDsMbgE4\/nCpLXa75d7Yymgd0VBtE7Tjshx5953hTUItamWXE1Iys4a6LfzL2862pqYGK2htRLwMhzsN+6oKe13zVM\/wAVM89HnHSynDQOxo+wWotWjrdQbMlQPi5hzeOqPBv3yq7UuqnNebbaXdb8r5mcQf7Lcc+\/0VkWr2gvMz1oSax8TKy\/yiiuVubQXWG3W+SSqq4j1nhuOtxwB3c859lsLNpx1PUfiN0m+Lr3b8u3tj8O\/wCXJe9LWX8LtwknjxVz9aQkdZo5Nz7+KvFCdR6Iv4bhYr98l4Lp7hERUnoGX0yRUXi83KRwA6XYaSeDQTx8gFxt7TqfUbrnJHm30nUhDwOs7vHnn0VFaZau40jrJSDYdVTGWaTO4MwN3r9AtlU11s0rbY4cYAGGRNxtvPafqVokrPLU8mjJVIJyyis33v2LOrq6ehp3VFVK2KJvFzv53rL\/ABV01ZUFlI59FbGO60vB7\/v4cua90lpr9RVDK+9no6Ub4aRu7d2ns+Z7gtRFFHDE2KJgYxgw1rRgAKvKHiarTr65R+b9EfWt2WBu0XYGMniUXpFWbAiIgCIiAIiIAiIgMvqj9svdotgPVdJ0kg7s\/YOWoWWof94a7rKjqllHH0bee\/h\/mWjqqynoYDPVTMijH8Tj7d6slsjLQabnUe7+SyOyiV9zo7ZCZaudsYxubnrO8BzVDNqG4Xl7qbT9MdkHD6qUYDfDP9e5SLdpKCKb4u6TGvqic5eSWg+fHz9Ewpdoc6U3akr9+3uRHXW+6gcWWmA0dId3xEu5xHj9s+KsrVpagtpEsjfiqnOTNKM7+0Dl81cgADAGAFQ3281kdWy0WuB5rZhnpHDqsb2jt57+S6m5ZRyIypwp\/wAlV4n+aIlXjUNFZ27MjulqD+WBh6x8exVNLZq\/UE7K+9vdHTg7UVGN2B39nz8FYWbTUFtd8TUu+LrXHadM\/fsnuz8+Ku1zEo9k6qU6rvV06evU8RRRwRNihY2ONgw1rRgAL2iKs16GW1EKij1HQXQ0slTTQxluxGMkO62\/u4g+S9\/pHd609HbrHIC4bpZjhoPsPdaZFZjVs0ZnQlibjKyfh9TNM0rNcHie+18lRJnIijOyxvd\/TCv6Wjp6KERU0LImDk0cfHtXZFFyb1LIUYQzSz67ldqB5j0\/XOBxmFw4dox9Vy0uxsem6JreBYXeZJJ+am3GjFfb56RxLRKwtyCshWVOo9PWkQH4eOnjPRxzDBec8N2fHkpxWKOEorT5VXmNO1vuTNYai+GjNto5MTv\/AHz2n8jezxPy8VH0hpotcy6VjSCN8EZGOX5j9FM07pqLomXO5NM9XN+sxIchud4JHb4rULspKKwxK6dCVWpzqvkugREVJ6AVFqO9uo4xQUOZLhUdVjW7ywHn49nql\/1HHbG\/C0pbLXP3Nbnczvd9ll7ZFXV9RLHbyZKiY\/tNe7PUB4hp5ePE9wV0If2Zg4jiM+XDX8+f0Punrw2226SCjpOnudRKWs6ucNwMZ887lo7RppzKj8RvEgq612CA7eIz8iR6DkougaeH8LnqOjb03Tlm3jfs7LTj3K1aVJWk0iPCUcVOMp59Ft\/0IiKk9EIiIAiIgCIiAIiIAuNXUso6SWpkIDImFxyewKnuWq6Wml+FoWGuqydlscfAHvP29lmL9T3moNN+J1A+IqH4hpGcGjtONwOSAOJO\/sVsabbzyMdbi4wTwK7+R6sN6q4GVMdBQmprquXbc7HVaOXuTxIV9T6XmrphV6gqjVS\/wwsOGNHZ\/T3V5QUEFupI6eCNrQ1oBIbjaOOJ71JSVTP9pylwtopVHe223uc4YYqeJsMMbY42jDWtGAF0RFUbdAvmyNrawM4xlfUQBERAEREAREQBERAFmNRRiv1JabdKAYSTI5pP5u4\/3fdadU99sr7l0VTSTmnrKc5jkHMdhU4OzKOIi5U7JX0+pcIsuNR3i3norpZpHED95BvB+Y919\/SqvqRs0FiqHvzgmTIa3PDO77Jy5Ef1VLvv0s7mlc5rGF73BrWjJJOAAsnfdYNDJKa0nbcBh9TjqsHd39\/zXOst92q6c1Wo65lNRR9Z0EWMnfuG7d4byudksrb1O2pkpRTWuI\/qYBxlPa48+8+QVkYxWbM1WtVqPBBWv8fZFdY9OT3uYzSulipc5fM780p54++\/zW\/pKOmt1K2npoxFEwcPqSuzWtYwMY0Na0YAAwAFxr5RBbqmYnAjie7PgCVCU3Nmihw8KEb79Sg0ECLHNkcal2P7rVp1QaKj2NORu\/6kj3e+Por9cqdpkuFVqEfAIiKBoCIiAIiIAipbpqm3WwmMP+In4dFFvwe88B81WCmv+pT+2ONuoHcY2jrPHZ2+u7uU1B6vIzy4iKeGH7n3fd7E656toqOQ09K11bU5wGRcAezP2yojbfqG\/Ydcan8PpT\/yIdznDv8A9T5K7ttloLUzFJAGuxgyO3uPmp67iS7KI8mdTOq\/Jae5AttloLUzFJAGuxgyO3uPmqKysdfdS1N5lGYKY9FTjiM\/0OfFystV3A0FklDHYmqP1UeOO\/j7ZUmw278Ls8FMd7wNqT\/yO8\/byS7UW3uRcYyqxpxWUc\/Pb1LFERVmwIiIAiIgCIiAIiIAiIgCIiAIiIAvEsscEL5pXhkbAXOceAC9rK3uaa+3lun6Z+xTsw+qkaM4xvx8vPwUoxuyqrU5cbrNvTxOAjm1ldOlftx2mmdhrc4Mjvv8h3rXta1jAxjQ1rRgADAAXOkpIaGkjpadmxFGMNC7JKV9NCNGlgTcs5PUKm1XVCl07Uk8ZQI2jx\/0yrlZbVB\/Eb1bLM05Dn9LKO7+gcuwV5HOJk40nbV5fEubDTfB2KjhIwREHOHYTvPuVYIii3d3LoxUYqK2CIi4SCIiAz911S2kq3UFDSSVdYDjZDSAD8z\/ADvXD8N1Fef+JVjKKmcBmGn\/ADeGfuT4LShrQ4uDQC7iQOK9KeJLRGZ0XNvHLLosiut1httrGaamaH85H9Zx8zw8lYoii23qXxjGKtFWCIi4SM1XUst11lTRTU8gpaKPpNojqvPHw44H\/qVpURSbvYrhTUG31YREUSwIiIAiIgCIiAIiIAiIgCIiAIiICvvlyFqtM1V\/GBss3Z6x3D04+ShaUtQt9rbPICamqHSPc4dYA8B9fNRdTj4+8Wu0n8j5OlkHaP6A+vrpgABgDACseUbdTLFY6zk9I5Lx3PqIirNR4llZDE+WRwaxjS5zjyA4lZjTDZbrd6y\/TAhriYoGnkN3yGB4krrqisfVSwafpCenq3AyOHBrP5GfAd6vaCjjt9DDSRfkiYG5xjJ5nzO9WdmPiZX\/AC1rbR+vsSERFWagiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAzFRh\/+0Ol2t3R0p2e\/c77ladZfUe3ar5Q31sZfE0dFMByG\/f7n0CuhfLSWbX4nSYIz++bn0yrJJtJoyUZRhKcZOzvf4k5Vl8vUFlpOkeQ6Z+6KLONo\/QDtUK4aspmEU9rYa+qdua2MEtHiefkuVp09UT1ou18eJao72Q\/wx9ndu7OXeUUbZyOzrObwUs312R203Z5qd810uGy6tqztYx+7B34Hj9Ar9EUJNt3ZdTpqnHCgiIuFgREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAeJYo54nRTMbJG8Yc1wyCFUnSViL9r4AZJz+8fj0yiLqk1oyEqcJ9pJlhR2+jt8fR0lOyJv\/AGjeee88SpKIuakkklZBERDoREQBERAEREB\/\/9k=",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "DANIEL FUENTELAZAR",
    "correoContacto": "daniel@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28563\",\"cantidad_usada\":1,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28563\",\"cantidad_usada\":1,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28563\",\"cantidad_usada\":1,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28563\",\"cantidad_usada\":1,\"cantidad_asignada\":2}]",
    "horaSalida": "17:03",
    "ubicacionGPS": "LatLng(lat: -23.3317623, lng: -69.8398365)",
    "horaLlegada": "13:54",
    "horaDespacho": "16:29",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


05/05/2026 17:03:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69253200

[05/05/2026 17:03:05] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69253200', 'EP2505', 1, 21773342, 57961, NOW(), 
				'16:29', '13:54', '17:03', 10, '01 itin 1940
01 itin 1941
01 itin 1942
01 itin 1943
Entregados en Educacion  
Ep 2509', -1, 
				'', '','1','93713',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778014985.png', 'por error ingresaron tintas en otra maquina 
son para Ep 2509', null, 'COMPLETADO','LatLng(lat: -23.3317623, lng: -69.8398365)' )
				
[05/05/2026 17:03:05] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200184
[05/05/2026 17:03:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200184', 'EPS-I302', 1)
				
[05/05/2026 17:03:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28563 and
				    IDproducto = 'EPS-I302'
				

05/05/2026 17:03:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I302';
                [05/05/2026 17:03:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200184', 'EPS-I303', 1)
				
[05/05/2026 17:03:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28563 and
				    IDproducto = 'EPS-I303'
				

05/05/2026 17:03:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I303';
                [05/05/2026 17:03:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200184', 'EPS-I305', 1)
				
[05/05/2026 17:03:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28563 and
				    IDproducto = 'EPS-I305'
				

05/05/2026 17:03:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I305';
                [05/05/2026 17:03:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200184', 'EPS-I304', 1)
				
[05/05/2026 17:03:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28563 and
				    IDproducto = 'EPS-I304'
				

05/05/2026 17:03:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                
05/05/2026 17:03:05 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200184'                    
				WHERE idllamado = 12447			
				TO ENVIO: micorreo@miempresa.cl, daniel@dsprint.cl


05/05/2026 17:03:05 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12447			
				
05/05/2026 17:03:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


05/05/2026 17:03:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17:03:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12447
                
05/05/2026 17:03:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 17: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 = 12447
                
05/05/2026 17: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 = 12447
                
05/05/2026 17: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 = 12447
                
05/05/2026 17: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 = 12447
                
05/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 17: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 = 12447
                
05/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 17: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 = 12447
                
05/05/2026 17: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 = 12447
                
05/05/2026 17: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 = 12447
                [05/05/2026 17:03: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;
                
[05/05/2026 17:03: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;
                
[05/05/2026 17:03: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;
                

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

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

05/05/2026 17: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 = 12447
                
05/05/2026 17: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 = 12447
                
05/05/2026 17: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 = 12447
                [05/05/2026 17:03: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;
                

05/05/2026 17:03:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 17:03:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12447
            GROUP BY l.idllamado;
            
05/05/2026 17: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 = 12447
                
05/05/2026 17: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 = 12447
                
05/05/2026 17: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 = 12447
                
05/05/2026 17: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 = 12447
                
05/05/2026 17: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 = 12447
                
05/05/2026 17: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 = 12447
                
05/05/2026 17: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 = 12447
                
05/05/2026 17: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 = 12447
                
05/05/2026 17: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 = 12447
                
05/05/2026 17: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 = 12447
                [05/05/2026 17: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;
                
[05/05/2026 17:03: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;
                
[05/05/2026 17: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 17: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;
                
[05/05/2026 17:12:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 17:12:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 17:12:13 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        [05/05/2026 17:12:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 17:12:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 17:12:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 17:12:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        [05/05/2026 17:12:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 17:12:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 17:12:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 17:12:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        [05/05/2026 17:12:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 17:12:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 17:12:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 17:12:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        [05/05/2026 17:12: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;
                
[05/05/2026 17: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;
                
[05/05/2026 17: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;
                
[05/05/2026 17:15:09] 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;
                
[05/05/2026 17:15:09] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' 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;
				
[05/05/2026 17:15: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;
                
[05/05/2026 17:15: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;
                

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

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

05/05/2026 17:15:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 17:15:33 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        [05/05/2026 17:15:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 17:18: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;
                

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

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

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

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

05/05/2026 17: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 = 12329
                [05/05/2026 17:19: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;
                

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

05/05/2026 17:19:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:19:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:19: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;
                

05/05/2026 17:19:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:19:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:19:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:19:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:19:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:19:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:19:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:19:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:19: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;
                

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

05/05/2026 17:19:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:19:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:19:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:19: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;
                

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

05/05/2026 17:19:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:19:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:19: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;
                
[05/05/2026 17:19: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;
				
[05/05/2026 17:19: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;
                
[05/05/2026 17:19: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;
				
[05/05/2026 17:20:03] 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;
                
[05/05/2026 17:20: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 17:20:06] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 17:20:13] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 17:20:13] 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;
                
[05/05/2026 17:20: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;
                

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

05/05/2026 17:20:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:20:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:20:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:20:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:20:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:20:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:20:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:20:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:20:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:20: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;
                

05/05/2026 17:20:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:20:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:20:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:20: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;
                

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

05/05/2026 17: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 = 12329
                [05/05/2026 17:20: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;
                

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

05/05/2026 17:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:20:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 17:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:20:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 17:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17: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 = 12329
                [05/05/2026 17:20:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 17:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17: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 = 12329
                [05/05/2026 17:20:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 17: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 = 12329
                
05/05/2026 17:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17: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 = 12329
                
05/05/2026 17:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:20:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17:20:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:20:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:20: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;
                

05/05/2026 17:20:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:20:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:20: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;
                

05/05/2026 17:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:20: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;
                

05/05/2026 17:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:20: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;
                

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

05/05/2026 17:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:20:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:20: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;
                

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

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

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

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

05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                [05/05/2026 17:21: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;
                

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

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

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

05/05/2026 17:21:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 17:21:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12460
LIMIT 1;
        
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17:21:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 17:21:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12460
LIMIT 1;
        
05/05/2026 17: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 = 12460
                
05/05/2026 17:21:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 17:21:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12460
LIMIT 1;
        
05/05/2026 17: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 = 12460
                
05/05/2026 17:21:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12460
                
05/05/2026 17:21:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12460
                
05/05/2026 17:22:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 17:22:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12460
LIMIT 1;
        
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17:22:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 17:22:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12460
LIMIT 1;
        
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12460
                
05/05/2026 17:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17:22:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 17:22:59 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12460
LIMIT 1;
        
05/05/2026 17: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 = 12460
                
05/05/2026 17:22:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 17:22:59 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12460
LIMIT 1;
        
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17:23:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 17:23:33 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12460
LIMIT 1;
        
05/05/2026 17:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12460
                
05/05/2026 17:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12460
                
05/05/2026 17:23:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 17:23:33 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12460
LIMIT 1;
        
05/05/2026 17:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12460
                
05/05/2026 17:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17:23:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 17:23:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12460
LIMIT 1;
        
05/05/2026 17:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12460
                
05/05/2026 17:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17:23:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:23: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;
                

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

05/05/2026 17:23:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:23:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:23:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:23: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;
                

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

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

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

05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12460
                
05/05/2026 17:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17:23:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 17:23:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12460
LIMIT 1;
        
05/05/2026 17: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 = 12460
                
05/05/2026 17:23:50 - logentry: =========================================
FECHA: 05/05/2026 17:23:50
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Ckjwu0+9LwbHGuwBv73ZfYXb5invF0u.OtC+JKKnfTb7oGbC16Z
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76593245",
    "serieinterna": "KY3178",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "pluss mineria",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "sso",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "instalacion",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12460",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADjAK8DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBBwL\/xABIEAABAwMCAgUIBQgJBAMAAAABAAIDBAURBiESMRNBUWGBFCIjcZGhscEVMkLC0QckMzZSc4KyFjVTYnJ0kqLwJjRD4dLi8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADQRAAIBAgIHBgUEAwEAAAAAAAABAgMRITEEEjJBUWGBInGRscHREzNCofAjcuHxFDREgv\/aAAwDAQACEQMRAD8A\/ZkREAREQBEXwkAZJwAgPqzbpfrdaBiqm9JjIiYMuP4eOFkV99q7xWfRmnzy\/S1XINHXj8evqXfatL0NuImlb5VVE5dNLvv2gdXr5qzVSxkZXWlUdqXju6cTh\/pDfLgcWyylrDykqDgEdvUPeV9Ft1XVN457tFTk7iONvL2D5lU6LmvbJHf8dvbm39vImPINW0pDornBUtB3Y8AE+0fNelJqiSnqBSX2lNFMfqyfYd4\/MEhUa5a+3UlzpzBVwiRvUetp7Qepd1k9pHHRnDGnJ9zxR0tcHNDmkEEZBHWvqlLXVT6eu4sldLx0sm9LM7qzyHy9frVWoyjYtpVFUXBrNBERRLQiIgCIiAIiIAiIgCIiAKZ1LXzVlVHYKA5lnIFQ4DPRtOPlue71rfraplDRTVUgy2FheQOvHUsPSFLK+mnu1UAZ655dkjcNz1d2fgFZHBazM1dubVJb8+7+cjXtdsp7TRMpqduAN3O63nrJXYiKDd8TRGKirLIIiLh0IiIDJ1FaG3a2OY0fnEWXwuHPi7PFfzpm7uu1rDpj+cQngl6snqPj8crYUvSEWrXFRStw2G4RiRox9oZPxDvarFjFoy1F8OrGa34P0KhERVmoIiIAiIgCIiAIiIAiIgJ3WtQ9lnZSxgl9VK1mOWw3+OFt0VM2jooaZgHDEwM268BT92Hl2trZSc207DM7uO5+632qnVksIpGal2qs59PD+wiIqzSEREAREQBTF6JbrKzuacEggkdm\/wCKp1MXH8515boRuIYS93cfOPyHtU4ZmbSdlLmvMp0RFA0hF5zVEFMzjnmjib+09waPeuP6dtPFwi40xOcbSArqTZFzjHNmgi8YKqmqm8VPURTDtjeHfBey4dTTxQREQ6EREAREQExQ\/nWvq6bm2nhDG9W\/m\/8A2VOpjTpzqa+fvB8XKnU55mbRsYN8W\/MIiKBpCIiAIiIApa0EV+tblWZ4mU7eibjkDy+672rfuda23W2escM9EzIHaeQHtwsrR1C6ksomlz0tU7pSSckg8vx8VZHCLZlq9qrCHDH2N4kAZJwApms1DWXKpdQaeiErhtJVO+qzcjb8evqBS\/1tTda\/+j9tIBIzUy5+q3bb4Z9eO1bdstlNaaNtNTMw0bucebz2lElFXeZyUpVZOEHZLN+iMWn0XBI7prrWT1kx3d52G5+J93qXeNKWMDHkDNv77vxXZX3OitkXS1lQ2IHkOZd6gNysN2uaMZLKKqewb8QAxj2rqdSWRGUdFpYSSv4s9J9F0PEJKCeeilactcx5IB6ue\/vXjTXi5WOrbR37D6d5IiqwM5Oevu960KDVVpuEgjjnMcjhkMlbw+\/l71o1tFT3ClfTVMYfG8bjs7x3prPKYVODWvQdnyy6o92uDmhzSCCMgjrX1Stkqp7HdTYa55fE7eklI5js\/wCdaqlCUbM0UqnxI3ye9BF8Lg0ZcQB2lAQRkHIKiWn1ERATGnyRqm9tcfOLwR6sn8QqdTFq9Hrq6xcuKIPx\/p\/FU6nPMzaNsNc35hERQNIREQBEWTqK8i0UGY8OqpjwwMxnJ2yfDPwXUm3ZEJzUIuUskZd6lkvt+isUP\/bQkSVLx3dXvA9Z7lq3y5x2O0OkZjj4ejhbnrxtz5gLy0zZzarfxzb1VRh8pI3G31fDfxJWZtqTV\/IuorYO3Zz8\/MjxDVbg3bcjFecY631z+39I09M2g22hM1Q0msqTxyucPOGfs\/PxXRfbxFZbeah7eORx4Y2Z5u\/BaSk6dg1BrCeeXhkpLd5jBjIc7575PgFFdpuTLp\/pQVOnm8F6s97Vp19XMLrfPTVcmHNicPNjHUCPkqQAAYAwAvqKMpOWZdTpRpqy\/sz7hYrbcgfKKVnGf\/I0cLueeawXQ3jSYEzJzX2xmzozs5g6vUO8exVy+OaHNLXAEEYIPWuqbWDyIVKEZPWjhLivzEmb8yC+2Bl1t7y6Wl9Iwt+sMY4gewjn4d62rPcBdLVBWAYMjfOHYQcH3hT1ZAdJXJtbT5Ntqnhk8PMMPaPDOPYvXSDxS1lwtQdxMjeJYSDnLD159XD7VNrs4GanUar2lg3g+\/c+qNXUn6u1v7oppv8AV2i\/dBNSfq7W\/uimm\/1dov3QUPo6l\/8A0\/8An1OLUl1q6OeCiieKZlVsKvGeAg7jHs371vRNeyJjZH9I8NAc\/GOI9Zx1LP1BaheLVJTtx0rfPiJ6nD8eS59MXb6Qt\/k85IrKX0crXczjYH\/nWutXjdHFJxrtSeeXqjjjxT\/lDlzt5TS7decAez6qp1MXT0GurXP9USRGPPUT5w+8Pcqdcnu7juj4Oa5v3CIigaQiLiul1pLRSmeqkx+wwfWeewBdSvgjkpKKu8j1ra2nt9K+pqZAyNg3Pb3DvU7ZqOa+3Q3y4NcIWH8ziPIYOx8MD1n1Lzho67VtTHWV7TTW6M8UUIO8nf8A+\/YqxrWsYGMaGtaMAAYACm+wrbzLG9eSk9lZc+fdwOK93D6MtFRVAgPa3DM\/tHYLk0pb30NlY6YemqD0ryee\/LPhj2rP1Q43O8W6yMIIc\/pZeew3+Qd\/6VS1oa0NaAABgAdSPCKXE7Ht1nLdHDrvOa51fkNsqaoc4oy4evG3vWXo6l6Cwslc0CSpe6Rx6zvge4e9eetpi2yNp2ZL6iZrA0deN\/iAtylgFLSQ07eUUbWDwGFzKHed2tI\/avP+j2REUDSEREBy3OgjuVumo5OUjcA\/snqPtUNpCeWPU7Ipch5idC4HYjhHLw4QPBfoaiIaU0n5SQMbSOfIO\/iY4n35V1N9lo8\/SoWqU5rikUOqH8Gm607fUA37yAvXT7ODT9CN\/wBC0794yubV\/wCq9Z\/B\/O1dtl\/qOg\/y0f8AKFD6Opev9l\/t9TtU1e7PW09w+mrMR5SBiWHA9IOv1+r2bqlRcjJxZbUpqpGzIW4XyC511lqmjoqiCo4ZoXHdvnN93NXSkta2ilbQuucMXBUCRvG9pxxA7cu3OF9p\/wCl1NTxSQSwXCJ7A5okwDg9pOD71a0pRTRipznSqyU1e9nh4ZFYvhIAyTgBTJqtZytLfIKOEn7XEDj\/AHFfDp69XMcN4u\/oc5MVOMZHsA9xUNRb2aPjyezB9cPM97nquKKYUdri8vq3bAM3Y095HPw9q87bpmWaqFyvsgqakjIiO7Gd3YcdnL1rXttnobTFwUkIaSMOed3O9ZXcjklhE4qMpvWqu\/LcvcIi85pRBBJK7lG0uPgMqs1ZE3ZnGv1jdKsniZTDoWdg3xt\/pPtPaqhTeh4nC0S1Tzl9RO5xPq2+OVSKdTasZtF+UpPfj4kxq30lyslOT5slTvt3tHzVOpjVfm3mwvP1W1O5\/iZ+Cp0lsoUvm1OnkERFA0hERAFIXKpZB+UCllI2igwd+eWu\/FV6\/Prs\/pNcyuH1QeEeEe\/vVtJXb7jFpstWMbcUU+r\/ANV6z+D+dq7bL\/UdB\/lo\/wCULN1o9zNOSgfbe0H1Zz8lr29vBbaZuc8MLBnwCj9HUsWOkPuXmzoREUDSZOqIem05WNwCWsDt+4g\/JemnpRNp+hcDnELW+zb5LoucXT2qrhxnjhe0eIKy9Fycem4W5z0b3t9W5PzU\/o6mZ4aQua8mbyIigaQiwtI3KrulqlnrJelkbOWA8IbtwtPUB2lbq7JWdiFOaqQU1vCydUVHk2nKx2cF7OAb8+I4+BK1lKa\/mLbXTQj7c3Ed+wH8VKCvJFWky1KMnyNjTdOabT1FGRgmPjx\/iPF81prN0\/VGssVJK4YcGcDh3t835LSXJZsspW+HG2VkTGtfQw2+sxnoKofj91b9HXUtfEZaSZszA7hLm9vZ71layg6bTkzuuJzXjfvx81yaBcDZp29YqCf9rfwU7Xp34GVTcdKcN0lfwKhERVG4IiID45wa0ucQABkk9S\/ObK\/6S1n03EcSySvB57Ydjmq\/VNcaCwVD2uIfKOiYQcbnn7sqf0fQ8F+nPDjySAMdtjDzjOfHiHh3K+nhBs83Snr16cFud\/zwNPXjuGwxjH1qho\/2uPyVGxvAxrc54QBlTWt\/PpqCA8pKkZ9mOXiqdVvYRpp\/Pn09QiIoGk+OAc0tO4IwVM6FJZbqunccmKpPwA+Sp1MaY9Dfr3TZ26YOGefN34hTjsszVcK1N96+38FOiIoGkmNA\/wBRzf5l38rVTqY0KRHbquld+kiqTxDB6wB90qnVlTbZm0T5EQpDVLW12pbTb3Yc3Ic9vc5wz7mqvURSzC5\/lEdLkOjgLg3v4WkfHddp5t8CGlu8Yw4tHdpKTyGtr7JI7eB\/HHnm4cifgfFVKnNQW2phr4r7bmh09OPSx\/ttAPt22XdRaktdZAXmqZA9g9JFM7hcw9Y35+C5Ja3aR2jJUr0pYWy5o8dW1Yp7DNGHNElQRG0OcBzO\/uWLoGYxz11FIC1+Gv4TkEYJB28QuinkOqtQNqA1xttEcsySA9\/Pcf8ANl5V0Z09rGKvAApa12JHHk0uPnb+vDlYl2XDeZZybqrSFsp26cSyREWc9UIi4rvco7TbZauTBLRhjT9p3UF1K7sRlJRTbyJ3UlU2sv0FI5ofTUDDUVHnc8DOPgP4l3aMpnstUlbKD0lZKXnI5jPP25U86OodSR0rxm43ibjlB2LIsggHJ6yM8+QwrykpmUdJFTRgBkTA0YHYFdPCOqefo6dSs6j\/AC\/svMntW+fcrJD+3U8jy5tHzVOpi9em1lZ4BuWAyY9p+6qdVy2UaaONSo+a8giIoGkKXpCKf8oVYwnaeAEZ7cNPyKqFMXT8211bJ8YE0ZjJPInzh8wrIb1yM2k4KMuDXsU6IirNJLQH6H1xNE7DYbkzjaf7\/wD+8XtCqVhaqtUlwoG1FNtVUh6SMjmR1gewHwXXY7xDeLeyZrgJgMSx9bXersPUrJYpSMtJ\/DqSpvfivUX+5ttNomqc+kI4Ih2uPL2c\/BS2hadzbxVPlBEjIcYPeQfbsu2X\/qzULY2nitlCclwG0rtsjvz8M9q99JjpbpeqrqkqMN9WXH5hTXZg1vM0m6ukQluTduixZTrKqNNWipqTUSUbRITklhLcnOc4B5rVRUptZHoyhGeElc84YYqeJsUMbY2NGA1owAuS9Wxl2tctK4DjI4o3H7LhyPy8V3oibTuJQUo6ryJbS17e0my3LMdVAeCMvP1gPs+se8KpWFqHTUV4b08BbDWNxiQ7B3ccfFTxvupbCHU1VCJWx7B80ZcMdzgRlW6qnjEwqtLRlq1Vdbn7ltW1tNb6Z1RVSiONvWes9g7Somsugu0\/0ncmFttgJFPTZw6d3\/OZ5DkuEVFzv9f0r6aSue0+ZFgtiZ2Z329viVU2rSwZUCuur21FTzbGB6OPuA7vYFJRVPPMqdSppTtBdn8z9vE+aYttQ+WW93IHyup2aCMcLNt8dXLHqHeqREVMpazuejSpqnHVRMVHpvyiUu36GmPwd\/8AJU6lmSsj1\/WSyOAZDScTnH7AAbk93NUdJV09dTMqaaUSRP5OClPd3FOjtXmt92eyIirNQUxq89BW2et5CGo3I7MtPyKp1Oa4iL7CJAN4pmuz1jmPmp09pGbSl+jLx8CjReNLN5RSQzf2kbXe0ZXsoGhO6uFh3DSVtrpjMOkge7PEY3bO8D6vUtxF1SayIzpwqK0lc46G30dopDFTRiKIec4kkk7bklYuhQXWmond9aWpcSe3YfMlbtyf0dsqn7ebC87\/AOErK0Y0jTkTiSeN73b+vHyU79lsoaSrQiskn6G8iIqzUEREAREQHwADkML6iIAiIgPzq71jmXy8RMa51RVcMEfD2Zbn2gAeKurVRC3WunpBuYmAE45nmfflfTbaN1f5cYGGowBxkdnJdSslO6SRkoUHTnKUnn73CIirNYWVqaHp9OVrOyPi\/wBJB+S1V41kIqKKeE8pI3N5Z5jC7F2aZCpHWg48UcWnJun09Qv7Igz\/AE+b8lpqe0RN0unms\/sZXM+DvvKhXZq0mQ0eWtSi+QREUS4zdRS9Dp+ud2wlvt2+a89LxCHTdE0Z3YXb95J+a5taymPTkjQf0kjG+\/PyWvQRCC3U0IGBHExuPUAFP6OpmWOkPkvN\/wAHQiIoGkIiIAiIgCIiAIiIAiIgCIiAIiICY0h6Csu9DyENTkDxI+6FTqYtZ8l1xc6bADZ4xIN+Z2P3j7FTqdTO5m0XCnq8G19wiIoGkwr9a627XChhbwihjdxzHO5PZj1ZHicrdRF1u6sQjTUZOW9hERcJhERAEREAREQBERAEREAREQBERAS19Bt+q7ZczkRP9C92dhzG\/g7PgqlZeorZ9LWeWnaMyt9JF\/iH47jxXhpq8NraFlLUSNbWwejkjc7zjjrx8e9WPGKfAywfw6zi8pYrv3m2iIqzUEREAREQBERAEREAREQBERAEREAREQBERAFx\/RVCLiLgKZoqgCBICevu5Z35oi7exxxTzR2IiLh0IiIAiIgCIiAIiIAiIgCIiA\/\/2Q==",
    "razonSocial": "PLUSS MINERIA SPA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "BRAYAN CRUZ PIZARRO",
    "correoContacto": "scg@plussmineria.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56993652500",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28579\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "17:23",
    "ubicacionGPS": "LatLng(lat: -23.571299, lng: -70.3887026)",
    "horaLlegada": "14:21",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 05/05/2026 17:23:50
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Ckjwu0+9LwbHGuwBv73ZfYXb5invF0u.OtC+JKKnfTb7oGbC16Z
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76593245",
    "serieinterna": "KY3178",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "pluss mineria",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "sso",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "instalacion",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12460",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADjAK8DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBBwL\/xABIEAABAwMCAgUIBQgJBAMAAAABAAIDBAURBiESMRNBUWGBFCIjcZGhscEVMkLC0QckMzZSc4KyFjVTYnJ0kqLwJjRD4dLi8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADQRAAIBAgIHBgUEAwEAAAAAAAABAgMRITEEEjJBUWGBInGRscHREzNCofAjcuHxFDREgv\/aAAwDAQACEQMRAD8A\/ZkREAREQBEXwkAZJwAgPqzbpfrdaBiqm9JjIiYMuP4eOFkV99q7xWfRmnzy\/S1XINHXj8evqXfatL0NuImlb5VVE5dNLvv2gdXr5qzVSxkZXWlUdqXju6cTh\/pDfLgcWyylrDykqDgEdvUPeV9Ft1XVN457tFTk7iONvL2D5lU6LmvbJHf8dvbm39vImPINW0pDornBUtB3Y8AE+0fNelJqiSnqBSX2lNFMfqyfYd4\/MEhUa5a+3UlzpzBVwiRvUetp7Qepd1k9pHHRnDGnJ9zxR0tcHNDmkEEZBHWvqlLXVT6eu4sldLx0sm9LM7qzyHy9frVWoyjYtpVFUXBrNBERRLQiIgCIiAIiIAiIgCIiAKZ1LXzVlVHYKA5lnIFQ4DPRtOPlue71rfraplDRTVUgy2FheQOvHUsPSFLK+mnu1UAZ655dkjcNz1d2fgFZHBazM1dubVJb8+7+cjXtdsp7TRMpqduAN3O63nrJXYiKDd8TRGKirLIIiLh0IiIDJ1FaG3a2OY0fnEWXwuHPi7PFfzpm7uu1rDpj+cQngl6snqPj8crYUvSEWrXFRStw2G4RiRox9oZPxDvarFjFoy1F8OrGa34P0KhERVmoIiIAiIgCIiAIiIAiIgJ3WtQ9lnZSxgl9VK1mOWw3+OFt0VM2jooaZgHDEwM268BT92Hl2trZSc207DM7uO5+632qnVksIpGal2qs59PD+wiIqzSEREAREQBTF6JbrKzuacEggkdm\/wCKp1MXH8515boRuIYS93cfOPyHtU4ZmbSdlLmvMp0RFA0hF5zVEFMzjnmjib+09waPeuP6dtPFwi40xOcbSArqTZFzjHNmgi8YKqmqm8VPURTDtjeHfBey4dTTxQREQ6EREAREQExQ\/nWvq6bm2nhDG9W\/m\/8A2VOpjTpzqa+fvB8XKnU55mbRsYN8W\/MIiKBpCIiAIiIApa0EV+tblWZ4mU7eibjkDy+672rfuda23W2escM9EzIHaeQHtwsrR1C6ksomlz0tU7pSSckg8vx8VZHCLZlq9qrCHDH2N4kAZJwApms1DWXKpdQaeiErhtJVO+qzcjb8evqBS\/1tTda\/+j9tIBIzUy5+q3bb4Z9eO1bdstlNaaNtNTMw0bucebz2lElFXeZyUpVZOEHZLN+iMWn0XBI7prrWT1kx3d52G5+J93qXeNKWMDHkDNv77vxXZX3OitkXS1lQ2IHkOZd6gNysN2uaMZLKKqewb8QAxj2rqdSWRGUdFpYSSv4s9J9F0PEJKCeeilactcx5IB6ue\/vXjTXi5WOrbR37D6d5IiqwM5Oevu960KDVVpuEgjjnMcjhkMlbw+\/l71o1tFT3ClfTVMYfG8bjs7x3prPKYVODWvQdnyy6o92uDmhzSCCMgjrX1Stkqp7HdTYa55fE7eklI5js\/wCdaqlCUbM0UqnxI3ye9BF8Lg0ZcQB2lAQRkHIKiWn1ERATGnyRqm9tcfOLwR6sn8QqdTFq9Hrq6xcuKIPx\/p\/FU6nPMzaNsNc35hERQNIREQBEWTqK8i0UGY8OqpjwwMxnJ2yfDPwXUm3ZEJzUIuUskZd6lkvt+isUP\/bQkSVLx3dXvA9Z7lq3y5x2O0OkZjj4ejhbnrxtz5gLy0zZzarfxzb1VRh8pI3G31fDfxJWZtqTV\/IuorYO3Zz8\/MjxDVbg3bcjFecY631z+39I09M2g22hM1Q0msqTxyucPOGfs\/PxXRfbxFZbeah7eORx4Y2Z5u\/BaSk6dg1BrCeeXhkpLd5jBjIc7575PgFFdpuTLp\/pQVOnm8F6s97Vp19XMLrfPTVcmHNicPNjHUCPkqQAAYAwAvqKMpOWZdTpRpqy\/sz7hYrbcgfKKVnGf\/I0cLueeawXQ3jSYEzJzX2xmzozs5g6vUO8exVy+OaHNLXAEEYIPWuqbWDyIVKEZPWjhLivzEmb8yC+2Bl1t7y6Wl9Iwt+sMY4gewjn4d62rPcBdLVBWAYMjfOHYQcH3hT1ZAdJXJtbT5Ntqnhk8PMMPaPDOPYvXSDxS1lwtQdxMjeJYSDnLD159XD7VNrs4GanUar2lg3g+\/c+qNXUn6u1v7oppv8AV2i\/dBNSfq7W\/uimm\/1dov3QUPo6l\/8A0\/8An1OLUl1q6OeCiieKZlVsKvGeAg7jHs371vRNeyJjZH9I8NAc\/GOI9Zx1LP1BaheLVJTtx0rfPiJ6nD8eS59MXb6Qt\/k85IrKX0crXczjYH\/nWutXjdHFJxrtSeeXqjjjxT\/lDlzt5TS7decAez6qp1MXT0GurXP9USRGPPUT5w+8Pcqdcnu7juj4Oa5v3CIigaQiLiul1pLRSmeqkx+wwfWeewBdSvgjkpKKu8j1ra2nt9K+pqZAyNg3Pb3DvU7ZqOa+3Q3y4NcIWH8ziPIYOx8MD1n1Lzho67VtTHWV7TTW6M8UUIO8nf8A+\/YqxrWsYGMaGtaMAAYACm+wrbzLG9eSk9lZc+fdwOK93D6MtFRVAgPa3DM\/tHYLk0pb30NlY6YemqD0ryee\/LPhj2rP1Q43O8W6yMIIc\/pZeew3+Qd\/6VS1oa0NaAABgAdSPCKXE7Ht1nLdHDrvOa51fkNsqaoc4oy4evG3vWXo6l6Cwslc0CSpe6Rx6zvge4e9eetpi2yNp2ZL6iZrA0deN\/iAtylgFLSQ07eUUbWDwGFzKHed2tI\/avP+j2REUDSEREBy3OgjuVumo5OUjcA\/snqPtUNpCeWPU7Ipch5idC4HYjhHLw4QPBfoaiIaU0n5SQMbSOfIO\/iY4n35V1N9lo8\/SoWqU5rikUOqH8Gm607fUA37yAvXT7ODT9CN\/wBC0794yubV\/wCq9Z\/B\/O1dtl\/qOg\/y0f8AKFD6Opev9l\/t9TtU1e7PW09w+mrMR5SBiWHA9IOv1+r2bqlRcjJxZbUpqpGzIW4XyC511lqmjoqiCo4ZoXHdvnN93NXSkta2ilbQuucMXBUCRvG9pxxA7cu3OF9p\/wCl1NTxSQSwXCJ7A5okwDg9pOD71a0pRTRipznSqyU1e9nh4ZFYvhIAyTgBTJqtZytLfIKOEn7XEDj\/AHFfDp69XMcN4u\/oc5MVOMZHsA9xUNRb2aPjyezB9cPM97nquKKYUdri8vq3bAM3Y095HPw9q87bpmWaqFyvsgqakjIiO7Gd3YcdnL1rXttnobTFwUkIaSMOed3O9ZXcjklhE4qMpvWqu\/LcvcIi85pRBBJK7lG0uPgMqs1ZE3ZnGv1jdKsniZTDoWdg3xt\/pPtPaqhTeh4nC0S1Tzl9RO5xPq2+OVSKdTasZtF+UpPfj4kxq30lyslOT5slTvt3tHzVOpjVfm3mwvP1W1O5\/iZ+Cp0lsoUvm1OnkERFA0hERAFIXKpZB+UCllI2igwd+eWu\/FV6\/Prs\/pNcyuH1QeEeEe\/vVtJXb7jFpstWMbcUU+r\/ANV6z+D+dq7bL\/UdB\/lo\/wCULN1o9zNOSgfbe0H1Zz8lr29vBbaZuc8MLBnwCj9HUsWOkPuXmzoREUDSZOqIem05WNwCWsDt+4g\/JemnpRNp+hcDnELW+zb5LoucXT2qrhxnjhe0eIKy9Fycem4W5z0b3t9W5PzU\/o6mZ4aQua8mbyIigaQiwtI3KrulqlnrJelkbOWA8IbtwtPUB2lbq7JWdiFOaqQU1vCydUVHk2nKx2cF7OAb8+I4+BK1lKa\/mLbXTQj7c3Ed+wH8VKCvJFWky1KMnyNjTdOabT1FGRgmPjx\/iPF81prN0\/VGssVJK4YcGcDh3t835LSXJZsspW+HG2VkTGtfQw2+sxnoKofj91b9HXUtfEZaSZszA7hLm9vZ71layg6bTkzuuJzXjfvx81yaBcDZp29YqCf9rfwU7Xp34GVTcdKcN0lfwKhERVG4IiID45wa0ucQABkk9S\/ObK\/6S1n03EcSySvB57Ydjmq\/VNcaCwVD2uIfKOiYQcbnn7sqf0fQ8F+nPDjySAMdtjDzjOfHiHh3K+nhBs83Snr16cFud\/zwNPXjuGwxjH1qho\/2uPyVGxvAxrc54QBlTWt\/PpqCA8pKkZ9mOXiqdVvYRpp\/Pn09QiIoGk+OAc0tO4IwVM6FJZbqunccmKpPwA+Sp1MaY9Dfr3TZ26YOGefN34hTjsszVcK1N96+38FOiIoGkmNA\/wBRzf5l38rVTqY0KRHbquld+kiqTxDB6wB90qnVlTbZm0T5EQpDVLW12pbTb3Yc3Ic9vc5wz7mqvURSzC5\/lEdLkOjgLg3v4WkfHddp5t8CGlu8Yw4tHdpKTyGtr7JI7eB\/HHnm4cifgfFVKnNQW2phr4r7bmh09OPSx\/ttAPt22XdRaktdZAXmqZA9g9JFM7hcw9Y35+C5Ja3aR2jJUr0pYWy5o8dW1Yp7DNGHNElQRG0OcBzO\/uWLoGYxz11FIC1+Gv4TkEYJB28QuinkOqtQNqA1xttEcsySA9\/Pcf8ANl5V0Z09rGKvAApa12JHHk0uPnb+vDlYl2XDeZZybqrSFsp26cSyREWc9UIi4rvco7TbZauTBLRhjT9p3UF1K7sRlJRTbyJ3UlU2sv0FI5ofTUDDUVHnc8DOPgP4l3aMpnstUlbKD0lZKXnI5jPP25U86OodSR0rxm43ibjlB2LIsggHJ6yM8+QwrykpmUdJFTRgBkTA0YHYFdPCOqefo6dSs6j\/AC\/svMntW+fcrJD+3U8jy5tHzVOpi9em1lZ4BuWAyY9p+6qdVy2UaaONSo+a8giIoGkKXpCKf8oVYwnaeAEZ7cNPyKqFMXT8211bJ8YE0ZjJPInzh8wrIb1yM2k4KMuDXsU6IirNJLQH6H1xNE7DYbkzjaf7\/wD+8XtCqVhaqtUlwoG1FNtVUh6SMjmR1gewHwXXY7xDeLeyZrgJgMSx9bXersPUrJYpSMtJ\/DqSpvfivUX+5ttNomqc+kI4Ih2uPL2c\/BS2hadzbxVPlBEjIcYPeQfbsu2X\/qzULY2nitlCclwG0rtsjvz8M9q99JjpbpeqrqkqMN9WXH5hTXZg1vM0m6ukQluTduixZTrKqNNWipqTUSUbRITklhLcnOc4B5rVRUptZHoyhGeElc84YYqeJsUMbY2NGA1owAuS9Wxl2tctK4DjI4o3H7LhyPy8V3oibTuJQUo6ryJbS17e0my3LMdVAeCMvP1gPs+se8KpWFqHTUV4b08BbDWNxiQ7B3ccfFTxvupbCHU1VCJWx7B80ZcMdzgRlW6qnjEwqtLRlq1Vdbn7ltW1tNb6Z1RVSiONvWes9g7Somsugu0\/0ncmFttgJFPTZw6d3\/OZ5DkuEVFzv9f0r6aSue0+ZFgtiZ2Z329viVU2rSwZUCuur21FTzbGB6OPuA7vYFJRVPPMqdSppTtBdn8z9vE+aYttQ+WW93IHyup2aCMcLNt8dXLHqHeqREVMpazuejSpqnHVRMVHpvyiUu36GmPwd\/8AJU6lmSsj1\/WSyOAZDScTnH7AAbk93NUdJV09dTMqaaUSRP5OClPd3FOjtXmt92eyIirNQUxq89BW2et5CGo3I7MtPyKp1Oa4iL7CJAN4pmuz1jmPmp09pGbSl+jLx8CjReNLN5RSQzf2kbXe0ZXsoGhO6uFh3DSVtrpjMOkge7PEY3bO8D6vUtxF1SayIzpwqK0lc46G30dopDFTRiKIec4kkk7bklYuhQXWmond9aWpcSe3YfMlbtyf0dsqn7ebC87\/AOErK0Y0jTkTiSeN73b+vHyU79lsoaSrQiskn6G8iIqzUEREAREQHwADkML6iIAiIgPzq71jmXy8RMa51RVcMEfD2Zbn2gAeKurVRC3WunpBuYmAE45nmfflfTbaN1f5cYGGowBxkdnJdSslO6SRkoUHTnKUnn73CIirNYWVqaHp9OVrOyPi\/wBJB+S1V41kIqKKeE8pI3N5Z5jC7F2aZCpHWg48UcWnJun09Qv7Igz\/AE+b8lpqe0RN0unms\/sZXM+DvvKhXZq0mQ0eWtSi+QREUS4zdRS9Dp+ud2wlvt2+a89LxCHTdE0Z3YXb95J+a5taymPTkjQf0kjG+\/PyWvQRCC3U0IGBHExuPUAFP6OpmWOkPkvN\/wAHQiIoGkIiIAiIgCIiAIiIAiIgCIiAIiICY0h6Csu9DyENTkDxI+6FTqYtZ8l1xc6bADZ4xIN+Z2P3j7FTqdTO5m0XCnq8G19wiIoGkwr9a627XChhbwihjdxzHO5PZj1ZHicrdRF1u6sQjTUZOW9hERcJhERAEREAREQBERAEREAREQBERAS19Bt+q7ZczkRP9C92dhzG\/g7PgqlZeorZ9LWeWnaMyt9JF\/iH47jxXhpq8NraFlLUSNbWwejkjc7zjjrx8e9WPGKfAywfw6zi8pYrv3m2iIqzUEREAREQBERAEREAREQBERAEREAREQBERAFx\/RVCLiLgKZoqgCBICevu5Z35oi7exxxTzR2IiLh0IiIAiIgCIiAIiIAiIgCIiA\/\/2Q==",
    "razonSocial": "PLUSS MINERIA SPA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "BRAYAN CRUZ PIZARRO",
    "correoContacto": "scg@plussmineria.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56993652500",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28579\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "17:23",
    "ubicacionGPS": "LatLng(lat: -23.571299, lng: -70.3887026)",
    "horaLlegada": "14:21",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


05/05/2026 17:23:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76593245

[05/05/2026 17:23: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('76593245', 'KY3178', 1, 27729424, 0, NOW(), 
				'08:00', '14:21', '17:23', 1, 'instalacion', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778016230.png', '', null, 'COMPLETADO','LatLng(lat: -23.571299, lng: -70.3887026)' )
				
[05/05/2026 17:23:50] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200185

05/05/2026 17:23:50 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76593245'
				   AND serieintmaquina = 'KY3178'
		
05/05/2026 17:23:50 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY3178'
				   AND estado = 1
				
05/05/2026 17:23:50 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76593245', 'KY3178', 1, 1, now(), 'pluss mineria', 'ANTOFAGASTA', 'sso');
				
=========================================
FECHA: 05/05/2026 17:23:50
listaInsumosUsadosConsolidado===

idReport:200185

idInventario:KYO-I1045

idControl:28579

cantidadAsignada:1

cantidadUsada:1

[05/05/2026 17:23:50] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200185', 'KYO-I1045', 1)
				
[05/05/2026 17:23:50] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28579 and
				    IDproducto = 'KYO-I1045'
				

05/05/2026 17:23:50 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I1045';
                
05/05/2026 17:23:50 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200185'                    
				WHERE idllamado = 12460			
				TO ENVIO: micorreo@miempresa.cl, scg@plussmineria.cl


05/05/2026 17:23:51 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12460			
				
05/05/2026 17:23:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


05/05/2026 17:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12460
                
05/05/2026 17:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17:23:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 17:23:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12460
LIMIT 1;
        
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12460
                
05/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12460
                [05/05/2026 17:24: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;
                
[05/05/2026 17:24: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;
                

05/05/2026 17:24:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 17:24:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12460
LIMIT 1;
        
05/05/2026 17:24:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 17: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 = 12460
                
05/05/2026 17:24:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12460
LIMIT 1;
        
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17: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 = 12460
                
05/05/2026 17:24:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 17:24:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12460
LIMIT 1;
        [05/05/2026 17:24:27] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 17:24:27] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 17:24:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 17:24:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12460
                
05/05/2026 17:24:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12460
LIMIT 1;
        
05/05/2026 17:24:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12460
                
05/05/2026 17:24:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12460
                
05/05/2026 17:24:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12460
                
05/05/2026 17: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 = 12329
                
05/05/2026 17:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17: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 = 12329
                
05/05/2026 17:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:24: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;
                
[05/05/2026 17:24: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;
                

05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                [05/05/2026 17:24: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;
                

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

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

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

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

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

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

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

05/05/2026 17: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 = 12329
                
05/05/2026 17:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17: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 = 12329
                
05/05/2026 17:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                [05/05/2026 17:24:36] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                [05/05/2026 17:24: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;
                

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

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

05/05/2026 17:24:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:24:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:24:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:24:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:24:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:24:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:24:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:24:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:24:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:24: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;
                

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

05/05/2026 17:24:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:24:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:24:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:24:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:24:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:24:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:24:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:24: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;
                
[05/05/2026 17:24: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;
				
[05/05/2026 17: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;
                
[05/05/2026 17:25: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;
                

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

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

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

05/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17:25:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:25:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:25:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:25: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;
                

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

05/05/2026 17:25:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:25:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:25:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:25:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:25:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:25:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:25:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:25:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:25:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:25:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:25:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:25:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:25: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;
                
[05/05/2026 17:25: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;
                

05/05/2026 17:25:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:25:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:25: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;
                
[05/05/2026 17:25: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;
                

05/05/2026 17:25:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:25:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:25:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:25:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:25:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:25:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:25:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:25:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:25:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:25:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:25:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:25:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:26:00] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 17:26:00] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[05/05/2026 17: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;
                

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

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

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

05/05/2026 17: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 = 12329
                [05/05/2026 17:26: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;
                

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

05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                [05/05/2026 17:26: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;
                

05/05/2026 17:26:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17: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 = 12329
                
05/05/2026 17:26:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:26:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:26: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;
                
[05/05/2026 17:26: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;
                

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

05/05/2026 17:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:26: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;
                

05/05/2026 17:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:26: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;
                

05/05/2026 17:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:26:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:26: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;
                
[05/05/2026 17:26: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;
                

05/05/2026 17: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 = 12329
                [05/05/2026 17:26: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;
                

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

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

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

05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                [05/05/2026 17:26: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;
                

05/05/2026 17:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:26:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:26: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;
                

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

05/05/2026 17:26:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:26:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:26:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 17:26:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 17:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:27:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:27: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;
                

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

05/05/2026 17:27:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:27:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:27:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:27: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;
                

05/05/2026 17:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:27: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;
                

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

05/05/2026 17:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:27: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;
                

05/05/2026 17:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17:27:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:27: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;
                
[05/05/2026 17:27: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;
                

05/05/2026 17:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:27:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:27: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;
                

05/05/2026 17:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:27:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:27: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;
                

05/05/2026 17:27:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:27:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:27: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;
                
[05/05/2026 17:27: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;
                

05/05/2026 17:27:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:27:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:27:49] 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;
                
[05/05/2026 17:27:49] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 17:27: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;
                

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

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

05/05/2026 17:27:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:27:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:27:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:27: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;
                

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

05/05/2026 17:27:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                
05/05/2026 17: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 = 12329
                [05/05/2026 17: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;
                

05/05/2026 17:28:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 17: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        [05/05/2026 17: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;
                
[05/05/2026 17: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;
                
[05/05/2026 17:30: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;
                
[05/05/2026 17:30: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;
                
[05/05/2026 17:30: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;
                

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

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

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

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

05/05/2026 17:30:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:30:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:30:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:30:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:30:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:30:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:30:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:30:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:30:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:30: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;
                

05/05/2026 17:30:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:30: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;
                
[05/05/2026 17:30: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;
                

05/05/2026 17:30:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:30:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:30:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:30:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:30:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:30:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:30:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:30:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:30:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:30:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:30: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;
                

05/05/2026 17:30:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:30:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:30:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:30:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:30:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:30:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:30:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:30:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:50: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;
                
[05/05/2026 17:50: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;
                

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

05/05/2026 17:50:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:50:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:50:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:50:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:50:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:50:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:50:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:50:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:50:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:50:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:50: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;
                

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

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

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

05/05/2026 17:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:50: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;
                

05/05/2026 17:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:50: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;
                

05/05/2026 17:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:50:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 17:50:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:50:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:50:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
05/05/2026 17:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [05/05/2026 17:50:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 17:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
05/05/2026 17:50:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [05/05/2026 17:50:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 18:10: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 = '95585912'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 18:10:18] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 95585912 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '95585912'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[05/05/2026 18:10:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 18:10:36] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 18:10:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12302
            GROUP BY l.idllamado;
            [05/05/2026 18:11:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 18:11:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12302
            GROUP BY l.idllamado;
            [05/05/2026 18:11:11] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 18:11:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12302
            GROUP BY l.idllamado;
            
05/05/2026 18:11:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12302
            GROUP BY l.idllamado;
            [05/05/2026 18:11:13] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 18:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:11:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12302
            GROUP BY l.idllamado;
            
05/05/2026 18:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:11:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12302
            GROUP BY l.idllamado;
            
05/05/2026 18:11:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:11:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:11:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:11:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:11:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12302
            GROUP BY l.idllamado;
            
05/05/2026 18:11:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:11:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:11:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:11:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:11:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12302
            GROUP BY l.idllamado;
            
05/05/2026 18:11:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:11:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:11:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:11:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12302
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12302
                
05/05/2026 18: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 = 12302
                
05/05/2026 18: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 = 12302
                
05/05/2026 18: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 = 12302
                
05/05/2026 18:11:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12302
            GROUP BY l.idllamado;
            
05/05/2026 18:11:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:11:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:11:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:11:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12302
            GROUP BY l.idllamado;
            
05/05/2026 18:11:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:11:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:11:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18: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 = 12302
                
05/05/2026 18: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12302
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12302
                
05/05/2026 18: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 = 12302
                
05/05/2026 18: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12302
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12302
                
05/05/2026 18: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 = 12302
                
05/05/2026 18: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 = 12302
                
05/05/2026 18: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 = 12302
                
05/05/2026 18: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 = 12302
                
05/05/2026 18: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12302
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12302
                
05/05/2026 18: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 = 12302
                
05/05/2026 18: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 = 12302
                
05/05/2026 18: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 = 12302
                
05/05/2026 18:13:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12302
            GROUP BY l.idllamado;
            
05/05/2026 18:13:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:13:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:13:08 - logentry: =========================================
FECHA: 05/05/2026 18:13:08
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-xlvmG+-5iTHLhab+nFDVU7pLoX4kfMUWO_kvkqm_gC+7mYYg1Ji
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "51064970",
    "serieinterna": "KY2679",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Servicio duplicado , tema resuelto por el Técnico Sriven Valderrama ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12302",
    "observacion": "Servicio duplicado , tema resuelto por el Técnico Sriven Valderrama ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACkARkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABDEAABAwMCAgcFBAYIBwAAAAABAAIDBAURBiESMRNBUYGRobEUFTJhcRYi0eFCQ1LBwvAjJDNicqKy0jQ1U1RWY5L\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAQIDBP\/EADARAAMAAgECAgkEAQUAAAAAAAABAgMRIRIxQVEEEyIyYXGBkdEUobHBI0JSYuHw\/9oADAMBAAIRAxEAPwD9mRFzmqIKZnHPNHE39p7g0eaBvXc6IqSr1fZqXI9pM7gPhhaXZ7+Xmqqr1rVtiD6a0vYx54WSz54Sezb8VdY6fgc1+lYZ719uTYL5c5rGlz3BrRzJOAFmRSaur2\/09ZBQtJGWx4yPAH1Rmio5jx3K51VU\/wCuPXKnpS7seuyV7kP68FpU6ks1LnpK+JxHVGeP0yq6TW9E55jo6SqqndXCzAP7\/JWFLpmzUhzHQxud2yZf6qzjjZEwMjY1jRyDRgBNwvAdPpFd2l8lv+TMnUGoKk\/1SwOjBBIM3F+St7Obu6KR12EDXEjgbF1DryrFFDpNaSLRipPdU3\/AReEgDJOAFC99WwTiA19OJDyHSBVSbNXUz3ZOREUFgiIgCIs1cb9VVtWbZYGiWXlJUc2x9\/Lv8FaZbM8mWca2y0u18obPFxVMmXn4Ymbud+HeoForb3da5lZLCyltwDgIz8T+w7+uy+7VpaloZPaqpxrKwnJll3APXgfvKvVLcpaRlM5baq3peS\/thERUOkIiIAiIgCIiAIiIAiIgCIiAIiIClvNpudxqm+zXV9JTcGHNYDkuz8sdXz6lFg0Tbg\/pKyaoq3nmXvwD4b+a0iK6uktIwfo+Oq6qW\/mQaWzWyiINPQwscOTuHLvE7qt1tTmfTr3j9TI1\/wDD\/EtAoF7g9pslbFjJMLiPqBkeYSafUmxlxy8VSl4He31HtVupqj\/qxNed+0ZUhU2k5+n03SknJYCw9xOPLCuVWlptF8VdWOa80ERFBoERV99qnUdkqp2ENe1mGl3LJ2HqpS29FapTLp+BR1k9Xqi5S26jkdBb4DieYD4yOY+f0+WexWDtIWc0Rp205a4jHTcWXg9uV10tRto9P0oAAdK3pXHtLtx5YHcrZzg1pc4gADJJ6leqaepObHhm568i23+3wM\/pSqmEdVa6h3E+hk4A4nJIyf5H5LQrMaQd7XVXW4jPBPUYZv8AU+hC06jJ7xf0V7xL\/wBx4BERUOgzV\/uNVWXKOwW1wZJKMzy8+FuM48N+8DrVxarVTWijbT07fm955vPaVRW2piotXXIXBzIpZiBTveeEcOc4HVvt3rVLS+EkjkwJXVZH3218kERFmdYRcKmtpaNuampihB5cbwMqPb71b7pLLHRz9K6IAu+6R6qdPWyjuU+nfJPREUFwiIgCIiAIiIAiIgCIiAIiIAiIgC8c0OaWncEYK9RAZjRJMEFwt7vipqk537dv4Vp1lqPFv19VQbhlbFxtGebuZ9HLUrTJ335nN6Lxj6fJtBERZnSFAvlC642appGfG9mW\/UEEeYU9FKensrUqpcvxKTSdxZXWSGPOJaYCKRuMYxsPLHmueqLsaen920hL66rHC1jeYadifkexcrjZKyhuButjcGyPyZoD8MnXy\/n5LnRaptk1WHXOmNDXRDgzI0kD5ZxkdfMdfNa6TfUuThduY9Vb6X234NfD4l3aLcLVbIaMODiwfecOsncqaq77QWfh4veVPjGfjChz6yskPw1D5T2Rxn9+FTppvsdPrcOOUupa+Zeootur4rnQx1kDXtjkzgPGDscKUqNaNk1S2iBdLPR3eHo6phzjAew4c3+fmqYaXutGzgt19lYwDAjeDgeZHktQisra4MrwY7fU1z9jLi3axH3ffFLw9vCM4\/8Ahe+4L\/UjFXf3sHI9CDuO7C06K3rGU\/TR4tv6sztNom2Ru6SqdNVvPMyPwCe7fzV5TUdNRsLKaCOFp5hjQMrsiq6b7s0jDjx+6tBERVNQiIgCIiAIiIAiIgC8JAGScAL1c5omzwSQv+GRpafoRhAz6jkZKwSRva9juTmnIK+lmtFSSR0FTb5tpaScgt7AfzDlpVal0vRliyeshUERFU1CIiAy2pB7HqO0XHbh4ujeSRsM\/g4+C1KoNaUzp7A6Rg+9TyNk2545H1VtbqsV1up6oEHpYw446jjceK0rmUzlx+zmufPT\/okoiLM6giIgCj1VBSVreGpp45R2ubuO9SEQhpNaZUHS1kJz7vZv\/ed+KmU9roKUAQUUEeOtsYz4qWil034lFixzypX2CIig0CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgMvFxW3X0kY2iuEXEBnbIGc\/XLT4rULL6x\/qk9sugaD7PPwnfnyI\/0nxWoWl8pM5sHs3ceT39wiIszpCIiA41dO2ro5qZ\/wysLD3jCo9EzuksjqeT46aVzCDzA5+pPgtEoVDaqe3TVMsBfmpfxvDnZAPy8VZP2WjGobyza+KZNREVTYIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCLwkAZJwAo1FcqS4iU0svH0Tyx\/3SMHvTRDpJ6JSIiEkK63als9J7TVcfCXcLQxuS49nZ1HmqRurK2s\/wCW2OomBxiR5w3yGPNaZzWvGHNDh8xlfSsnKXKMbjJT4rS+RmOPWVXnEdJRg8s4JH+paSISCJglIMnCOIt5E9eEkmihbxSyMjHa5wC+0b34E48fQ37TfzKbVVXV0NkknpHcDg4Ne4DdoO2Qc7b4VZTXDVFHBHM+mjudPI1pa+Mjiwfp+B+vbpLhSitt89Mf1rC0HsPUe47qn0ZWGosnQSOzJSvMZBOTjmPw7leWujsc+SW86XU1tcfQq7tX3DUVOy3Ms9RTu6QOL3g4GxGDkDG5G61Xu+L9p\/iPwUpFV1vhG0Yeluqe2wiIqG4REQBERAEREAREQBERAEREAREQBERAeOBLSAcHGx7FFtsNZBRNjr6htROCcyNbjIzt5KWiEa52EREJCIqWh1C2a7T2ysg9lqGP\/og45D29W\/b1qUm+xSrmWk\/EuHsEkbmO5OBBWa0e\/wBlluNpe4F1NOS07DiHInHcPFadZa4D3TrWkrQcRV46KTA69h68J7irxymjDP7NTk8nr6M1KIizOog3amraujEVBVeyy8YJkx1dnoqb7MXaXAm1HU8PWG8W\/wDm+i06KytrsY3gi3uv5ZmINIW6WZwq66atlj+Jpk5Z7RzHIrTAADAGAFi7nVM07rEVUbXNp6hoNQ0ciSTk+h8VsopY5omyxPD2PGWuacghWvfDZl6M8adTK00+TnW1kVBRy1U5PRxDLsDdZqxVDYtV1cUZIp66IVMQO2c4PLvPgvvVUzrlWUlhpgXPfIHzlv6DerPiT3BSLhbKhmp7ZWUcJMcbOjkwcBrRtufo7yVpSS58TPJdVk3PaWv37mhREWJ3hERAEREAREQBEXCsrIKClfU1D+CNgye0\/IIQ2kts+qiohpIHT1EjY42DJc4qtst6kvM1Q9lI5lIw4imP6Z69lTwUVZq6qFZX8dPbWHMMIO7\/AJ\/n4LWRQxwRNihY2ONgw1rRgAK7Sla8Tni7y11Lif5\/6PtEVXPqWzU5IkuERI\/Yy\/0BVUm+xvVzHvPRaIs5Nrm0R54BPLgbcMeM+JC5HWE8wzR2OrmB5HB59wKt6uvIwfpWH\/d\/ZqEWY99aml3hsIYOyRxz5kJ7VrN+\/sFHH8uIf7inQ\/ND9TPhLf0Zp0WYDNZv\/W0bMfIb+RToNZ\/93R+A\/wBqdHxQ\/Uf8K+xp1xrJpKejlmih6Z8bC4R5xxY6sqJZ2XdkUnvaWGR5cODoxyHXnYKxVXwzZN1O+xAs90ivFuZVxjhJ+69mc8LhzH89qnrK0BbYdXT0BHDTV4EkO+wdvt8t8jwWqU2tPgzwW7nVd1wwqfUFhbeIGPieIauE5il5dxI3x6K4RQm09o0uJuXNdjOWfUMjZvdl7Apq1mAHvIDZO\/lnyK6azpHVNhfKzPHTPEgxzxyPrnuU+7WWjvEPBUMw8AhkjThzfx+hWenkvFggmpK2J9wtj2ub04yXtaRjB32H18VrOm9ruceTriHGTmfP8\/k09sq\/brZT1WQTLGHHHb1+alLL6FrDLa5qQkuFNJ904wOF2\/qD4rULO1qmjpwZPWY5oIiKpscaqmhrKaSmnZxxSDDgs7Hp29W3jhtF2bHTOJIZM0Et5fI\/PljqWoRWVNGWTDNvb7+a4KizafhtL5J3yvqaqX45pNz9B\/O6t0RQ229stETC6ZXAREUFwiIgCIiAIiIDxzg1pc4gADJJ6lkAHawvXEdrXQvwP\/afzx3D6qbq6qldHS2qGQROrn8L3k4DWDGd+\/wBV1b6GG20MVJA0BsbQCcY4j1k\/MrReyt+JyWvXZOj\/Su\/xfkSGtDWhrQAAMADqXqIszrCrY9O2eORzxboHOccnjbxeRzjmrJFKbXYrUTXdbOUVNBAAIYI4wOXAwBdURQSlrsFUPvErNUMtJjYYpIeMP34gd\/wVusvqIii1NaLiXBrS7onE9Qzz8HFXhbejHPTiVS81v5GoREVDcIiICg1dbXVdsFXBkVFGekYRzx1+me5WVouUd2tsVXHgFww9o\/Rd1hTCARgjIKydFI7TOon0E+1DWu4oXn9E56z5eC0XtTryOS\/8WVX4Ph\/Pwf9GtREWZ1heOaHNLXAEEYIPWvUQHGmo6ejY5lNCyFjncRawYGfp1cl2REISSWkEREJCIiAIiIAiIgCIiAIiIAiIgIV0tNJd6cQ1bCQ05a5rsFpVL9iIIv+FudZCOr7wPphadFZXS4TMbwY7e6XJmPsjWDduoKwHqO+3+ZPstdf\/J6zwd\/vWnRT6yin6XF5fu\/yZj7PX5u7dRSE9jgceqe59Ux7xXyNx\/vt\/IrQVdZTUMJmqp2QsHW44z9O1ZybUNyvUrqbT9MQxpw6qk2A7jy8z8leXTMckYcfG3vyTeyHc7nqOxtBq7pRyvcdo2tBce7hGy09lq6qttcVRWQ9FK7m3hI27cKDadLwUUvtlbIa2tccmR+4B+QPqfJXqrdS1pF\/R8eSW6pvXlvYVHq+j9rsEr2\/HTkStOccufkT4K8XxNEyeF8MgyyRpa4fI7KkvT2dGSOuHPmRrTWC4WqmqgcmSMcX+IbHzBUxU2nLXW2iGekqJGSQB\/FA5p3weeR1dXmrlTWt8DE6cJ0uQiIqmgUWut1JcWMZVwiQRvD274wQpSInohpUtMIiISEREAREQBERAEREAREQBERAEREAREQBEXGoq6akZx1NRHC3te8N9UIbS5Z2RUFZrO1U5LIHvqpOQEYw3P8AiP7sqJ7fqm7uxR0bbdCT\/aSj72O\/9wV1jfjwc79Jx71PL+HJo6uspqGEzVU7IWDrccZ+naqGo1VLWPNPYaJ9ZJy6VzSGN8ceeF7TaMpjKZ7nVS10xOSXEtHrk+K0EMMVPE2KGNsbGjAa0YAU+wviRrPk7+yvu\/wZ2m0rLWzCrv1U+qm5iFriGM+X5DHetHFDHBE2KFjY42DDWtGAAvtFV033NceKMfur8hERVNQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgPiWNs0T4n54XtLTg42KoYdE2eIniE8oJ3D5Md2wCItJbSejlzRNXPUtlvSWyhoQBS0kURAxxNaOLx5qUiLPezpSUrSCIiEhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/\/Z",
    "razonSocial": "FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "SOPORTE",
    "correoContacto": "soporte@colegiosanluis.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "SEGUNDA BANDEJA DE OFICIO ATASCANDO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "5522467047",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "18:13",
    "ubicacionGPS": "LatLng(lat: -23.661851, lng: -70.4001147)",
    "horaLlegada": "15:11",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 05/05/2026 18:13:08
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-xlvmG+-5iTHLhab+nFDVU7pLoX4kfMUWO_kvkqm_gC+7mYYg1Ji
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "51064970",
    "serieinterna": "KY2679",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Servicio duplicado , tema resuelto por el Técnico Sriven Valderrama ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12302",
    "observacion": "Servicio duplicado , tema resuelto por el Técnico Sriven Valderrama ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACkARkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABDEAABAwMCAgcFBAYIBwAAAAABAAIDBAURBiESMRNBUYGRobEUFTJhcRYi0eFCQ1LBwvAjJDNicqKy0jQ1U1RWY5L\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAQIDBP\/EADARAAMAAgECAgkEAQUAAAAAAAABAgMRIRIxQVEEEyIyYXGBkdEUobHBI0JSYuHw\/9oADAMBAAIRAxEAPwD9mRFzmqIKZnHPNHE39p7g0eaBvXc6IqSr1fZqXI9pM7gPhhaXZ7+Xmqqr1rVtiD6a0vYx54WSz54Sezb8VdY6fgc1+lYZ719uTYL5c5rGlz3BrRzJOAFmRSaur2\/09ZBQtJGWx4yPAH1Rmio5jx3K51VU\/wCuPXKnpS7seuyV7kP68FpU6ks1LnpK+JxHVGeP0yq6TW9E55jo6SqqndXCzAP7\/JWFLpmzUhzHQxud2yZf6qzjjZEwMjY1jRyDRgBNwvAdPpFd2l8lv+TMnUGoKk\/1SwOjBBIM3F+St7Obu6KR12EDXEjgbF1DryrFFDpNaSLRipPdU3\/AReEgDJOAFC99WwTiA19OJDyHSBVSbNXUz3ZOREUFgiIgCIs1cb9VVtWbZYGiWXlJUc2x9\/Lv8FaZbM8mWca2y0u18obPFxVMmXn4Ymbud+HeoForb3da5lZLCyltwDgIz8T+w7+uy+7VpaloZPaqpxrKwnJll3APXgfvKvVLcpaRlM5baq3peS\/thERUOkIiIAiIgCIiAIiIAiIgCIiAIiIClvNpudxqm+zXV9JTcGHNYDkuz8sdXz6lFg0Tbg\/pKyaoq3nmXvwD4b+a0iK6uktIwfo+Oq6qW\/mQaWzWyiINPQwscOTuHLvE7qt1tTmfTr3j9TI1\/wDD\/EtAoF7g9pslbFjJMLiPqBkeYSafUmxlxy8VSl4He31HtVupqj\/qxNed+0ZUhU2k5+n03SknJYCw9xOPLCuVWlptF8VdWOa80ERFBoERV99qnUdkqp2ENe1mGl3LJ2HqpS29FapTLp+BR1k9Xqi5S26jkdBb4DieYD4yOY+f0+WexWDtIWc0Rp205a4jHTcWXg9uV10tRto9P0oAAdK3pXHtLtx5YHcrZzg1pc4gADJJ6leqaepObHhm568i23+3wM\/pSqmEdVa6h3E+hk4A4nJIyf5H5LQrMaQd7XVXW4jPBPUYZv8AU+hC06jJ7xf0V7xL\/wBx4BERUOgzV\/uNVWXKOwW1wZJKMzy8+FuM48N+8DrVxarVTWijbT07fm955vPaVRW2piotXXIXBzIpZiBTveeEcOc4HVvt3rVLS+EkjkwJXVZH3218kERFmdYRcKmtpaNuampihB5cbwMqPb71b7pLLHRz9K6IAu+6R6qdPWyjuU+nfJPREUFwiIgCIiAIiIAiIgCIiAIiIAiIgC8c0OaWncEYK9RAZjRJMEFwt7vipqk537dv4Vp1lqPFv19VQbhlbFxtGebuZ9HLUrTJ335nN6Lxj6fJtBERZnSFAvlC642appGfG9mW\/UEEeYU9FKensrUqpcvxKTSdxZXWSGPOJaYCKRuMYxsPLHmueqLsaen920hL66rHC1jeYadifkexcrjZKyhuButjcGyPyZoD8MnXy\/n5LnRaptk1WHXOmNDXRDgzI0kD5ZxkdfMdfNa6TfUuThduY9Vb6X234NfD4l3aLcLVbIaMODiwfecOsncqaq77QWfh4veVPjGfjChz6yskPw1D5T2Rxn9+FTppvsdPrcOOUupa+Zeootur4rnQx1kDXtjkzgPGDscKUqNaNk1S2iBdLPR3eHo6phzjAew4c3+fmqYaXutGzgt19lYwDAjeDgeZHktQisra4MrwY7fU1z9jLi3axH3ffFLw9vCM4\/8Ahe+4L\/UjFXf3sHI9CDuO7C06K3rGU\/TR4tv6sztNom2Ru6SqdNVvPMyPwCe7fzV5TUdNRsLKaCOFp5hjQMrsiq6b7s0jDjx+6tBERVNQiIgCIiAIiIAiIgC8JAGScAL1c5omzwSQv+GRpafoRhAz6jkZKwSRva9juTmnIK+lmtFSSR0FTb5tpaScgt7AfzDlpVal0vRliyeshUERFU1CIiAy2pB7HqO0XHbh4ujeSRsM\/g4+C1KoNaUzp7A6Rg+9TyNk2545H1VtbqsV1up6oEHpYw446jjceK0rmUzlx+zmufPT\/okoiLM6giIgCj1VBSVreGpp45R2ubuO9SEQhpNaZUHS1kJz7vZv\/ed+KmU9roKUAQUUEeOtsYz4qWil034lFixzypX2CIig0CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgMvFxW3X0kY2iuEXEBnbIGc\/XLT4rULL6x\/qk9sugaD7PPwnfnyI\/0nxWoWl8pM5sHs3ceT39wiIszpCIiA41dO2ro5qZ\/wysLD3jCo9EzuksjqeT46aVzCDzA5+pPgtEoVDaqe3TVMsBfmpfxvDnZAPy8VZP2WjGobyza+KZNREVTYIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCLwkAZJwAo1FcqS4iU0svH0Tyx\/3SMHvTRDpJ6JSIiEkK63als9J7TVcfCXcLQxuS49nZ1HmqRurK2s\/wCW2OomBxiR5w3yGPNaZzWvGHNDh8xlfSsnKXKMbjJT4rS+RmOPWVXnEdJRg8s4JH+paSISCJglIMnCOIt5E9eEkmihbxSyMjHa5wC+0b34E48fQ37TfzKbVVXV0NkknpHcDg4Ne4DdoO2Qc7b4VZTXDVFHBHM+mjudPI1pa+Mjiwfp+B+vbpLhSitt89Mf1rC0HsPUe47qn0ZWGosnQSOzJSvMZBOTjmPw7leWujsc+SW86XU1tcfQq7tX3DUVOy3Ms9RTu6QOL3g4GxGDkDG5G61Xu+L9p\/iPwUpFV1vhG0Yeluqe2wiIqG4REQBERAEREAREQBERAEREAREQBERAeOBLSAcHGx7FFtsNZBRNjr6htROCcyNbjIzt5KWiEa52EREJCIqWh1C2a7T2ysg9lqGP\/og45D29W\/b1qUm+xSrmWk\/EuHsEkbmO5OBBWa0e\/wBlluNpe4F1NOS07DiHInHcPFadZa4D3TrWkrQcRV46KTA69h68J7irxymjDP7NTk8nr6M1KIizOog3amraujEVBVeyy8YJkx1dnoqb7MXaXAm1HU8PWG8W\/wDm+i06KytrsY3gi3uv5ZmINIW6WZwq66atlj+Jpk5Z7RzHIrTAADAGAFi7nVM07rEVUbXNp6hoNQ0ciSTk+h8VsopY5omyxPD2PGWuacghWvfDZl6M8adTK00+TnW1kVBRy1U5PRxDLsDdZqxVDYtV1cUZIp66IVMQO2c4PLvPgvvVUzrlWUlhpgXPfIHzlv6DerPiT3BSLhbKhmp7ZWUcJMcbOjkwcBrRtufo7yVpSS58TPJdVk3PaWv37mhREWJ3hERAEREAREQBEXCsrIKClfU1D+CNgye0\/IIQ2kts+qiohpIHT1EjY42DJc4qtst6kvM1Q9lI5lIw4imP6Z69lTwUVZq6qFZX8dPbWHMMIO7\/AJ\/n4LWRQxwRNihY2ONgw1rRgAK7Sla8Tni7y11Lif5\/6PtEVXPqWzU5IkuERI\/Yy\/0BVUm+xvVzHvPRaIs5Nrm0R54BPLgbcMeM+JC5HWE8wzR2OrmB5HB59wKt6uvIwfpWH\/d\/ZqEWY99aml3hsIYOyRxz5kJ7VrN+\/sFHH8uIf7inQ\/ND9TPhLf0Zp0WYDNZv\/W0bMfIb+RToNZ\/93R+A\/wBqdHxQ\/Uf8K+xp1xrJpKejlmih6Z8bC4R5xxY6sqJZ2XdkUnvaWGR5cODoxyHXnYKxVXwzZN1O+xAs90ivFuZVxjhJ+69mc8LhzH89qnrK0BbYdXT0BHDTV4EkO+wdvt8t8jwWqU2tPgzwW7nVd1wwqfUFhbeIGPieIauE5il5dxI3x6K4RQm09o0uJuXNdjOWfUMjZvdl7Apq1mAHvIDZO\/lnyK6azpHVNhfKzPHTPEgxzxyPrnuU+7WWjvEPBUMw8AhkjThzfx+hWenkvFggmpK2J9wtj2ub04yXtaRjB32H18VrOm9ruceTriHGTmfP8\/k09sq\/brZT1WQTLGHHHb1+alLL6FrDLa5qQkuFNJ904wOF2\/qD4rULO1qmjpwZPWY5oIiKpscaqmhrKaSmnZxxSDDgs7Hp29W3jhtF2bHTOJIZM0Et5fI\/PljqWoRWVNGWTDNvb7+a4KizafhtL5J3yvqaqX45pNz9B\/O6t0RQ229stETC6ZXAREUFwiIgCIiAIiIDxzg1pc4gADJJ6lkAHawvXEdrXQvwP\/afzx3D6qbq6qldHS2qGQROrn8L3k4DWDGd+\/wBV1b6GG20MVJA0BsbQCcY4j1k\/MrReyt+JyWvXZOj\/Su\/xfkSGtDWhrQAAMADqXqIszrCrY9O2eORzxboHOccnjbxeRzjmrJFKbXYrUTXdbOUVNBAAIYI4wOXAwBdURQSlrsFUPvErNUMtJjYYpIeMP34gd\/wVusvqIii1NaLiXBrS7onE9Qzz8HFXhbejHPTiVS81v5GoREVDcIiICg1dbXVdsFXBkVFGekYRzx1+me5WVouUd2tsVXHgFww9o\/Rd1hTCARgjIKydFI7TOon0E+1DWu4oXn9E56z5eC0XtTryOS\/8WVX4Ph\/Pwf9GtREWZ1heOaHNLXAEEYIPWvUQHGmo6ejY5lNCyFjncRawYGfp1cl2REISSWkEREJCIiAIiIAiIgCIiAIiIAiIgIV0tNJd6cQ1bCQ05a5rsFpVL9iIIv+FudZCOr7wPphadFZXS4TMbwY7e6XJmPsjWDduoKwHqO+3+ZPstdf\/J6zwd\/vWnRT6yin6XF5fu\/yZj7PX5u7dRSE9jgceqe59Ux7xXyNx\/vt\/IrQVdZTUMJmqp2QsHW44z9O1ZybUNyvUrqbT9MQxpw6qk2A7jy8z8leXTMckYcfG3vyTeyHc7nqOxtBq7pRyvcdo2tBce7hGy09lq6qttcVRWQ9FK7m3hI27cKDadLwUUvtlbIa2tccmR+4B+QPqfJXqrdS1pF\/R8eSW6pvXlvYVHq+j9rsEr2\/HTkStOccufkT4K8XxNEyeF8MgyyRpa4fI7KkvT2dGSOuHPmRrTWC4WqmqgcmSMcX+IbHzBUxU2nLXW2iGekqJGSQB\/FA5p3weeR1dXmrlTWt8DE6cJ0uQiIqmgUWut1JcWMZVwiQRvD274wQpSInohpUtMIiISEREAREQBERAEREAREQBERAEREAREQBEXGoq6akZx1NRHC3te8N9UIbS5Z2RUFZrO1U5LIHvqpOQEYw3P8AiP7sqJ7fqm7uxR0bbdCT\/aSj72O\/9wV1jfjwc79Jx71PL+HJo6uspqGEzVU7IWDrccZ+naqGo1VLWPNPYaJ9ZJy6VzSGN8ceeF7TaMpjKZ7nVS10xOSXEtHrk+K0EMMVPE2KGNsbGjAa0YAU+wviRrPk7+yvu\/wZ2m0rLWzCrv1U+qm5iFriGM+X5DHetHFDHBE2KFjY42DDWtGAAvtFV033NceKMfur8hERVNQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgPiWNs0T4n54XtLTg42KoYdE2eIniE8oJ3D5Md2wCItJbSejlzRNXPUtlvSWyhoQBS0kURAxxNaOLx5qUiLPezpSUrSCIiEhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/\/Z",
    "razonSocial": "FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "SOPORTE",
    "correoContacto": "soporte@colegiosanluis.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "SEGUNDA BANDEJA DE OFICIO ATASCANDO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "5522467047",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "18:13",
    "ubicacionGPS": "LatLng(lat: -23.661851, lng: -70.4001147)",
    "horaLlegada": "15:11",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


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

[05/05/2026 18:13: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('51064970', 'KY2679', 1, 95585912, 0, NOW(), 
				'08:00', '15:11', '18:13', 4, 'Servicio duplicado , tema resuelto por el Técnico Sriven Valderrama ', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778019188.png', 'Servicio duplicado , tema resuelto por el Técnico Sriven Valderrama ', null, 'COMPLETADO','LatLng(lat: -23.661851, lng: -70.4001147)' )
				
[05/05/2026 18:13:08] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200186

05/05/2026 18:13:08 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200186'                    
				WHERE idllamado = 12302			
				TO ENVIO: micorreo@miempresa.cl, soporte@colegiosanluis.cl


05/05/2026 18:13:09 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12302			
				
05/05/2026 18:13:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


05/05/2026 18:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:13:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12302
            GROUP BY l.idllamado;
            
05/05/2026 18:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12302
                
05/05/2026 18: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 = 12302
                
05/05/2026 18: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 = 12302
                
05/05/2026 18: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 = 12302
                
05/05/2026 18: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 = 12302
                [05/05/2026 18:13:11] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

05/05/2026 18:13:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12302
            GROUP BY l.idllamado;
            
05/05/2026 18:13:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12302
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12302
                
05/05/2026 18: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 = 12302
                
05/05/2026 18: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 = 12302
                
05/05/2026 18: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 = 12302
                
05/05/2026 18: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 = 12302
                
05/05/2026 18:13:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12303
            GROUP BY l.idllamado;
            
05/05/2026 18:13:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12303
            GROUP BY l.idllamado;
            
05/05/2026 18:13:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                [05/05/2026 18:13:19] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 18:13:19] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 18:13:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12303
            GROUP BY l.idllamado;
            
05/05/2026 18:13:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                [05/05/2026 18:13:20] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 18:13:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12303
            GROUP BY l.idllamado;
            
05/05/2026 18:13:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12303
            GROUP BY l.idllamado;
            
05/05/2026 18:13:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12303
            GROUP BY l.idllamado;
            
05/05/2026 18:13:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                [05/05/2026 18:13:20] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 18:13:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12303
            GROUP BY l.idllamado;
            
05/05/2026 18:13:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12303
            GROUP BY l.idllamado;
            
05/05/2026 18:13:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12303
            GROUP BY l.idllamado;
            
05/05/2026 18:13:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18: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 = 12303
                
05/05/2026 18: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 = 12303
                
05/05/2026 18: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 = 12303
                
05/05/2026 18:13:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12303
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12303
                
05/05/2026 18:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18: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 = 12303
                
05/05/2026 18: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12303
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12303
                
05/05/2026 18: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12303
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12303
                
05/05/2026 18: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 = 12303
                
05/05/2026 18: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12303
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12303
                
05/05/2026 18: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 = 12303
                
05/05/2026 18: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 = 12303
                
05/05/2026 18: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 = 12303
                
05/05/2026 18:13:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12303
            GROUP BY l.idllamado;
            
05/05/2026 18:13:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12303
            GROUP BY l.idllamado;
            
05/05/2026 18:13:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12303
            GROUP BY l.idllamado;
            
05/05/2026 18:13:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12303
                
05/05/2026 18:13:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12303
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12303
                
05/05/2026 18: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 = 12303
                
05/05/2026 18:13:46 - logentry: =========================================
FECHA: 05/05/2026 18:13:46
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Z-YMmo2pHex66o2pVCshG0f2yoMu7x7Z6QQ1Gu3xJTRIqOkBy7C
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "51064970",
    "serieinterna": "EP2725",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Servicio duplicado , tema resuelto por el Técnico Sriven Valderrama ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12303",
    "observacion": "Servicio duplicado , tema resuelto por el Técnico Sriven Valderrama ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACQAQsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgECAwf\/xAA\/EAABAwMBBAgCCQIEBwAAAAABAAIDBAURIQYSMUETIlFhcYGRoRRCFRYjMrHB0eHwJFIlM6LCNENTYmOCsv\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADERAAICAQMBBQcEAgMAAAAAAAABAhEDEiExQQQTMlFxFCKRobHR4SNhgcEkQlJi8P\/aAAwDAQACEQMRAD8A\/ZkREAUK71U9FaqiqpmNfLEzeDXDTA48xyypq8TRMnhfDIMskaWuHcdFK5KyTcWkRbPXG5Wmmq3AB0jOtjhvDQ+4KmrJbKXKnttvqqKvqY4H007hiR4HkB4g8FNqNtbPCd2J01Q7gBHHz88K8oPU0kc2PtMO7i5ypmgRZf6z3WrH+HWGZzSerJLnB9gPdXVpluUtGXXSCKCffOGRnI3eXM9\/NVcGuTWGeGR1G\/g6JyL5zzxU0D55nhkcY3nOPILNuv14uznix0AELXFvxMxGD4Dh+KKLZOTLGGz58lyahFmPgts3a\/SlGzPy7o0\/0Lke0FytNTHBf6ZrYZThtRHqOXHH87lOh9GZ+0peKLS82jUIuNcHNDmkEEZBHNdVDpCIiAIotfcaW2UxqKuURs4DtcewDms2Ky+bTvIoc2+35wZXfecO7t8vVWjFvfoY5M0YPSt35Iv6u922iqWU09UwTPcGhg1IJ7ccPNT1UW7Zi224iToviJ85M03WOe7kFbo66FsfePedBERVNAiIgCIiAIiIAiIgCIiAIiID5zTRU8ZknlZEwcXPcAB5lUdbtna6YllOZKuTXAibpnxP5ZUq47OUV1uDKqrMjwxm70QcQ095\/bHBTaS3UVA3dpaaOEcy1up81daVyc8u+k6jSXxZQG6bT3Jv9DbG0cZOkk519D+ifVu9Vrs3K+v3T96ODIBHsO3ktQinXXCI9mUvHJv+fsYSmsVDR7XG21kbqiGWLehdI7BJ450IzwcFs6a30dH\/AMNSwwntYwA+qz+139FWWu6gkdDNuPI4kccegd6rTggjIOQVM22kzPs+OEJzilw\/kzqIiyO0y+0bn3K\/W+yNLhE\/7WbdOMt1049gPqFpIYYqeFkMLAyNgw1rRoAsze5fofamku8wJppGdC8j5Tr+xWnimjnibLC9skbxlrmnIIWkvCvI5cNd5O+b+XQ9qo2p6AbO1ZnAIDOrkfNnq481brKXef6y3WOy0b800LukqZmjIyOXH+HwUQW9lu0SrG49Xsi6sBlNhojM7eeYhrjGnL2wrFeWtaxgY0Ya0YA7AvSq3bs2hHTFIKBebo20259SWh7\/ALsbC7G85T1TbR2ie6U0TqSQMqIHbzAeDuGh9B6KY1e5TM5LG3Dkr7bYam6zNul\/eZXOGYqYjDWtI0yPy9crUNaGtDWgAAYAHJZkbVVtG0R3GzziRvF8YO67vAIT67Rv0gtVZIezHpwyryjORzYsuDGqvfrd2adFlxtDfqvSisD4+x05OD7N\/Fc+idpboCLhcmUkR4xwjJ492PxKjRXLNfaE\/BFv+K+pcXC+222Nd8TVM32\/8ph3n+nLzVdQ3+53ariNFatyi3wJJpnYJbzI\/hUi37KWqgJeYfiZD89Rh3twVyAAMAYAUXFcbhRzTdydLyX3OoiKh0hERAEREAREQBERAEREAREQBERAUm18DZ9m6kkax7r29xBH5EqdZpjUWWjlccudC3JznJxqo21Bk+r1U2KJ0j3gMDWjJ1cApNmp30lmpIJG7r2RNDh2HGqv\/p\/JzJf5D9P7JqIiodJ8aqlgrad9PUxNlieMOa7+aeKzr9nLna3b9iuBbHnJgnOR4Dl7DxWoRWUmjLJhhk3fPn1Ms687RUzOirrD8SCN1xgJO96byj2++G003w1Ls7WNYCSSSSSfHdWxRW1ryMe4ndqfyTMwdrK9zfstnqtzuzrad\/3VIoLvfKutjZLZDBTk4ke9+C3v1\/RX6KNUfIusWS7c38EERFQ6AiIgCIiAIiIAiIgCIiAIiIAiIgCj0tdTVrpm08okMDzHJgHR3YpCytvlfZNq57fNpTVx34XH+7x9R447VaMbTMcmRwlHybr7GqREVTYIiIAiIgCIqG87SNo5vgLfH8VcHHdDGjIYe\/v7lKi26RTJkjjVyLerraaggM9VMyKMc3Hj4Dn5KFaL7FeZJvh6eVsMWMSyDAedeCrKLZaWrn+Ov8xqZyciEO6je7T8Bp4rSsYyNgZG0Ma0YDWjACs1FKuWZQeWb1NUvLr+D0iIqHQEREAREQBERAEREAREQBERAEREAREQBERAEWObtHfpbtVQU1FHKIHHMDvvBucZHAn91Y0O2FDPN8PWxyW+cHBbN90Hszy8wFo8ckc0e1YpOrr1NAqHa63vq7UKmAYqKN3SscOOOePY+SvGPZIwPY4OaeBacgrpAIwRkFUi9Ls1yQWSDi+pDs9eLnaqer03pG9YDk4aH3CmrK2Nxsd\/qbHIT0Ex6WmJ\/D0GPFq1Smap7FcE3OG\/K2fqERFU2CIs9e73MagWi0DpK6TRzxwiH6\/gpjFt0jPJkjjjbF7vcxqBaLQOkrpNHPHCIfr+CmWSw09nhz\/m1T9ZZncSe7sC7ZLJDZqcgHpKiTWWY8XH9FaKzkkqiZY8bcu8yc9F5fkIiKh0hERAFw5xpxXUQFPYKm5ymsiucRa+GYhsmMNeDn7vcNPVXCIpbt2UhFxjTdhERQXCIiAIiIAiIgKu82Nl5MO\/UywCPeyIjjezjj4Y91WfUS3u\/wA2srH44ddunstOiupySpMwn2fFN6pK2ZuPYa2ROaWz1fVcHffbqRw+VaRF85poqeMyTysiYOLnuAA8yocnLktDFjxJ6VR9EXiKaOeJssL2yRvGWuacghe1U15MvtPTy22up9oKUHMTgydo+ZvDJ\/D0V3LS269UbJJYY6iKVoLXEa47jxCkzwR1MEkErd6ORpa4doKzuykrqGorLFO7MlNIXxk6bzD\/AAHzWl3H90cjioZafhl9fyVtRBcNnr+yisckkzJYul6GXrN+Y49j2FW9v2wpJ5PhrhG6gqQcObLo3Pjy8\/VfG5Ax7e2yXGhgLf8A7H+4K7uNqorrF0dZA2TH3XcHN8CrSadajLFDInLu3w+Hx+Cl2wpCaOC8UrgJqNzXB45tJGPfHqVfUNWyuoYaqMgtlYHacu0LOS7K3CjgfDa7mXU8gLXwT6jByM9mcHsHBT7VZa2htsNMa8xlgPVazIGST296h6dNWWxvIsrbhVrf1LxEVXf7zHZbeZndaZ+WxM7T2+AWaTbpHZOahFylwiLtJe30cbaCg+0uFR1WNaMlgPPx7FI2fsjLPSdciSql600vaewdw9+KjbNWWWkY6vuBMlfPqS\/Uxjs8e30V+ryaS0o58UHOXez56Ly\/IREWZ1BEWYfBtdcJC2Sent8WcHo9TjtHE+48lZK+plkyaKpN+hpZJGRML5HtY0cS44AVVU7U2WlzvVzJD2RAvz5jRQItioJHiW419TWSc8uwPfJ91aUuz1opGgRUEJI+aRu+fU5VqgutmertEuEl67\/Qq3bbU8p3aK31dS7uaB+GV5N62mqh\/SWIRZ\/6ztfctWna0NGGgAdgXU1R6Id1lfin8El9yktR2jdWb9zFMyn3TljOOeWMK7RFRuzaENCq2\/UIq2C9RTXye1GJ8ckLN4OdjD+HD1HurJGmuSYyUuAq5t7pHXqS1O3mTtaC0uGA84zgeSsVTbQ2MXaBk0B6Otp9YX8M88H8uxTGr3KZXNRuHT5lyvhW9OKKY0oBn3DuA8yquwX36QDqOsb0Nwg0kjcMb2OY\/RXaNOL3JjOOSFxZQbIVktXbJTUVT55mykOD\/k0GADz\/AJ4m\/WW3foHbEEaUl0ByOTXj9z\/qWpUz5tdTPs7ejQ+VsFRXIbSvrpGW800dNpuPfjJ01zx593NXqKqdGs4a1VtehmPoXaap0qr8Ih\/4Gn8g1eo9iaR7w+uraqrcP7nYGPc+60FTK6CllmbGZHRsLgwcXEDOFEst1Zebc2rZGYzvFrmE53SO\/nyV9cqtHP3GHUoy3f7tsl01NDR07KenjEcTBhrW8AvqiLM6kklSCyu1MEltuNLf6ZusbgycD5hy9sj0WqXzqIIqqnkgmaHxyNLXA8wrRlpdmebH3kK69PUzF4qIp9obBVQOD2SnR3aCR+q1ayVHsjV0l1p5DWCSkppS+JpPWHA\/lr+5xrVadbJGXZ1O5Smqt\/0ERFmdR5c5rGF7jhrRknsCy9og+sV4mvNU0upoH7lLGXEtyOeCB4+J7lpKuIz0c8I4yRuaPMYWc2TudNTwmz1G9BWRyuw2QYL8nPHtWkfC2jkzNPLCMuP76GpREWZ1hERAEREAWcudZVW7ayge+okNHVDozHnqh3D8S0+q0apNraA1tilLM9JTnpmY46cfYlXhV7mHaFLu7jyt\/gXaKBZK76Rs9NU7xc5zMPJ4lw0PuFPVWqdGsZKUVJdQiIoLGZ2qZJb6qivtO3rQP6OUD5mn+EeYWignjqYI54nb0cjQ5p7QV4rKSOuo5aWYZZK0tPd3qh2NrHCkmtNQN2oonkbp5tJ\/I59lp4o+hyr9PNXSX1X3RpURFmdRS36wC5btXSSfD18WrJQcb3cSPxUW1bSPjqPoy+N+HrGkBryMNk7OGg\/BaRQbnZ6K7QGOqiBdjqyAdZvgVdSVVI5p4pKWvHs\/Lo\/\/AHmQdrqAVlikkaD0lN9qwju4+2fRTbJWm4WemqXHL3Mw8\/8AcND7hUEk902aa6CvzcLW8FvSnV7QRjGvDs10UjYaZxtc9M4uPQTENyNMHs8wVdx9wxhkT7RxTa3XoaZERYneFkYnnZO\/SRygi11rssfjqxO7PLh4YPJa5R62hp7jSupqqMSRu7eIPaOwq0ZVs+DHNjc6ceVwfdrg5oc0ggjII5rqzDtmLlGx1HTXh7aCQ7ronDJazmAdfyV\/Q0jaGhhpWOLmwsDQ53E4RpLhjHOcnUo0SERFU2CIiAIiIAqy7WCgvDPt4g2XGkrBh3DTPaO5WaKU2t0VlCM1UlaMv9GbTWt27QXBlZCBhrJ+IHn6cV36f2gptKrZ58p4ZgJxnyDlp0V9d8ow9ncfBNr5\/UzH1ykbpJZKxh7Mfsut25ot5ofRVTGkgFzmjA7+KtbvfKKzQ79RJmQjLIm\/ed+g71TUlvr9pKyOvu7DBRxjMVKMje8f5qrJRatrYwnLKpaITt+n1NPDK2eFkrDlsjQ5pznQ68l7XGtDWhrQAAMADkurE9BBeXsbJG6N7Q5rgQ4HmF6RAZbZF\/wFXX2SWQF8MhezTBI4H\/afNalZi+EWvaa3XMDEc\/2MxAHkST4\/6Vp1pPf3vM5uz+6nj\/4v5dAiIszpCy96Ase0VLeW5bDUHoagAaePsD\/6rUKFdrdHdbdLRyHG+Oq7+13Iq0HT3Mc8HOHu8rdepMBBGQcgrqzuy90lc19mrmllZRjd1+Zo09tPLBWiSS0ui2LIskVJBERVNDjmhzS1wBBGCDzXiGCGmiEUETImDg1gwB5L6IhFLkIiISEREAREQBERAEREAREQBERAfKoqYaSF01RKyKNvFzzgLOS7RV94e6l2fpXY4OqpRhrfD99e5G2G4Xi6PqL64Cnid9jTxu6ru\/uHue5aSCCGmiEUETIo28GsGAFp7sf3Zy\/q5f8ArH5v7FLatlqejmNXXSGtrHHeMj9QD4c\/Eq+RFRyb5NseOONVFBERQaBERAV19tTbxa30uWh+Q6Nzs4a4c9O4keal0cUkFFBDNJ0kkcbWuf8A3EDivsim3VFNEVLV1CIiguEREB8fhKf4r4roI+n3d3pN0b2OzK+yIhCSXAREQkIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "SOPORTE",
    "correoContacto": "soporte@colegiosanluis.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "EN ROLAR CORREOS A MAQUINAS",
    "prioridad": "1",
    "telefonocontacto": "5522467047",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "18:13",
    "ubicacionGPS": "LatLng(lat: -23.6618626, lng: -70.4001724)",
    "horaLlegada": "15:10",
    "horaDespacho": "18:13",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 05/05/2026 18:13:46
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Z-YMmo2pHex66o2pVCshG0f2yoMu7x7Z6QQ1Gu3xJTRIqOkBy7C
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "51064970",
    "serieinterna": "EP2725",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Servicio duplicado , tema resuelto por el Técnico Sriven Valderrama ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12303",
    "observacion": "Servicio duplicado , tema resuelto por el Técnico Sriven Valderrama ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACQAQsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgECAwf\/xAA\/EAABAwMBBAgCCQIEBwAAAAABAAIDBAURIQYSMUETIlFhcYGRoRRCFRYjMrHB0eHwJFIlM6LCNENTYmOCsv\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADERAAICAQMBBQcEAgMAAAAAAAABAhEDEiExQQQTMlFxFCKRobHR4SNhgcEkQlJi8P\/aAAwDAQACEQMRAD8A\/ZkREAUK71U9FaqiqpmNfLEzeDXDTA48xyypq8TRMnhfDIMskaWuHcdFK5KyTcWkRbPXG5Wmmq3AB0jOtjhvDQ+4KmrJbKXKnttvqqKvqY4H007hiR4HkB4g8FNqNtbPCd2J01Q7gBHHz88K8oPU0kc2PtMO7i5ypmgRZf6z3WrH+HWGZzSerJLnB9gPdXVpluUtGXXSCKCffOGRnI3eXM9\/NVcGuTWGeGR1G\/g6JyL5zzxU0D55nhkcY3nOPILNuv14uznix0AELXFvxMxGD4Dh+KKLZOTLGGz58lyahFmPgts3a\/SlGzPy7o0\/0Lke0FytNTHBf6ZrYZThtRHqOXHH87lOh9GZ+0peKLS82jUIuNcHNDmkEEZBHNdVDpCIiAIotfcaW2UxqKuURs4DtcewDms2Ky+bTvIoc2+35wZXfecO7t8vVWjFvfoY5M0YPSt35Iv6u922iqWU09UwTPcGhg1IJ7ccPNT1UW7Zi224iToviJ85M03WOe7kFbo66FsfePedBERVNAiIgCIiAIiIAiIgCIiAIiID5zTRU8ZknlZEwcXPcAB5lUdbtna6YllOZKuTXAibpnxP5ZUq47OUV1uDKqrMjwxm70QcQ095\/bHBTaS3UVA3dpaaOEcy1up81daVyc8u+k6jSXxZQG6bT3Jv9DbG0cZOkk519D+ifVu9Vrs3K+v3T96ODIBHsO3ktQinXXCI9mUvHJv+fsYSmsVDR7XG21kbqiGWLehdI7BJ450IzwcFs6a30dH\/AMNSwwntYwA+qz+139FWWu6gkdDNuPI4kccegd6rTggjIOQVM22kzPs+OEJzilw\/kzqIiyO0y+0bn3K\/W+yNLhE\/7WbdOMt1049gPqFpIYYqeFkMLAyNgw1rRoAsze5fofamku8wJppGdC8j5Tr+xWnimjnibLC9skbxlrmnIIWkvCvI5cNd5O+b+XQ9qo2p6AbO1ZnAIDOrkfNnq481brKXef6y3WOy0b800LukqZmjIyOXH+HwUQW9lu0SrG49Xsi6sBlNhojM7eeYhrjGnL2wrFeWtaxgY0Ya0YA7AvSq3bs2hHTFIKBebo20259SWh7\/ALsbC7G85T1TbR2ie6U0TqSQMqIHbzAeDuGh9B6KY1e5TM5LG3Dkr7bYam6zNul\/eZXOGYqYjDWtI0yPy9crUNaGtDWgAAYAHJZkbVVtG0R3GzziRvF8YO67vAIT67Rv0gtVZIezHpwyryjORzYsuDGqvfrd2adFlxtDfqvSisD4+x05OD7N\/Fc+idpboCLhcmUkR4xwjJ492PxKjRXLNfaE\/BFv+K+pcXC+222Nd8TVM32\/8ph3n+nLzVdQ3+53ariNFatyi3wJJpnYJbzI\/hUi37KWqgJeYfiZD89Rh3twVyAAMAYAUXFcbhRzTdydLyX3OoiKh0hERAEREAREQBERAEREAREQBERAUm18DZ9m6kkax7r29xBH5EqdZpjUWWjlccudC3JznJxqo21Bk+r1U2KJ0j3gMDWjJ1cApNmp30lmpIJG7r2RNDh2HGqv\/p\/JzJf5D9P7JqIiodJ8aqlgrad9PUxNlieMOa7+aeKzr9nLna3b9iuBbHnJgnOR4Dl7DxWoRWUmjLJhhk3fPn1Ms687RUzOirrD8SCN1xgJO96byj2++G003w1Ls7WNYCSSSSSfHdWxRW1ryMe4ndqfyTMwdrK9zfstnqtzuzrad\/3VIoLvfKutjZLZDBTk4ke9+C3v1\/RX6KNUfIusWS7c38EERFQ6AiIgCIiAIiIAiIgCIiAIiIAiIgCj0tdTVrpm08okMDzHJgHR3YpCytvlfZNq57fNpTVx34XH+7x9R447VaMbTMcmRwlHybr7GqREVTYIiIAiIgCIqG87SNo5vgLfH8VcHHdDGjIYe\/v7lKi26RTJkjjVyLerraaggM9VMyKMc3Hj4Dn5KFaL7FeZJvh6eVsMWMSyDAedeCrKLZaWrn+Ov8xqZyciEO6je7T8Bp4rSsYyNgZG0Ma0YDWjACs1FKuWZQeWb1NUvLr+D0iIqHQEREAREQBERAEREAREQBERAEREAREQBERAEWObtHfpbtVQU1FHKIHHMDvvBucZHAn91Y0O2FDPN8PWxyW+cHBbN90Hszy8wFo8ckc0e1YpOrr1NAqHa63vq7UKmAYqKN3SscOOOePY+SvGPZIwPY4OaeBacgrpAIwRkFUi9Ls1yQWSDi+pDs9eLnaqer03pG9YDk4aH3CmrK2Nxsd\/qbHIT0Ex6WmJ\/D0GPFq1Smap7FcE3OG\/K2fqERFU2CIs9e73MagWi0DpK6TRzxwiH6\/gpjFt0jPJkjjjbF7vcxqBaLQOkrpNHPHCIfr+CmWSw09nhz\/m1T9ZZncSe7sC7ZLJDZqcgHpKiTWWY8XH9FaKzkkqiZY8bcu8yc9F5fkIiKh0hERAFw5xpxXUQFPYKm5ymsiucRa+GYhsmMNeDn7vcNPVXCIpbt2UhFxjTdhERQXCIiAIiIAiIgKu82Nl5MO\/UywCPeyIjjezjj4Y91WfUS3u\/wA2srH44ddunstOiupySpMwn2fFN6pK2ZuPYa2ROaWz1fVcHffbqRw+VaRF85poqeMyTysiYOLnuAA8yocnLktDFjxJ6VR9EXiKaOeJssL2yRvGWuacghe1U15MvtPTy22up9oKUHMTgydo+ZvDJ\/D0V3LS269UbJJYY6iKVoLXEa47jxCkzwR1MEkErd6ORpa4doKzuykrqGorLFO7MlNIXxk6bzD\/AAHzWl3H90cjioZafhl9fyVtRBcNnr+yisckkzJYul6GXrN+Y49j2FW9v2wpJ5PhrhG6gqQcObLo3Pjy8\/VfG5Ax7e2yXGhgLf8A7H+4K7uNqorrF0dZA2TH3XcHN8CrSadajLFDInLu3w+Hx+Cl2wpCaOC8UrgJqNzXB45tJGPfHqVfUNWyuoYaqMgtlYHacu0LOS7K3CjgfDa7mXU8gLXwT6jByM9mcHsHBT7VZa2htsNMa8xlgPVazIGST296h6dNWWxvIsrbhVrf1LxEVXf7zHZbeZndaZ+WxM7T2+AWaTbpHZOahFylwiLtJe30cbaCg+0uFR1WNaMlgPPx7FI2fsjLPSdciSql600vaewdw9+KjbNWWWkY6vuBMlfPqS\/Uxjs8e30V+ryaS0o58UHOXez56Ly\/IREWZ1BEWYfBtdcJC2Sent8WcHo9TjtHE+48lZK+plkyaKpN+hpZJGRML5HtY0cS44AVVU7U2WlzvVzJD2RAvz5jRQItioJHiW419TWSc8uwPfJ91aUuz1opGgRUEJI+aRu+fU5VqgutmertEuEl67\/Qq3bbU8p3aK31dS7uaB+GV5N62mqh\/SWIRZ\/6ztfctWna0NGGgAdgXU1R6Id1lfin8El9yktR2jdWb9zFMyn3TljOOeWMK7RFRuzaENCq2\/UIq2C9RTXye1GJ8ckLN4OdjD+HD1HurJGmuSYyUuAq5t7pHXqS1O3mTtaC0uGA84zgeSsVTbQ2MXaBk0B6Otp9YX8M88H8uxTGr3KZXNRuHT5lyvhW9OKKY0oBn3DuA8yquwX36QDqOsb0Nwg0kjcMb2OY\/RXaNOL3JjOOSFxZQbIVktXbJTUVT55mykOD\/k0GADz\/AJ4m\/WW3foHbEEaUl0ByOTXj9z\/qWpUz5tdTPs7ejQ+VsFRXIbSvrpGW800dNpuPfjJ01zx593NXqKqdGs4a1VtehmPoXaap0qr8Ih\/4Gn8g1eo9iaR7w+uraqrcP7nYGPc+60FTK6CllmbGZHRsLgwcXEDOFEst1Zebc2rZGYzvFrmE53SO\/nyV9cqtHP3GHUoy3f7tsl01NDR07KenjEcTBhrW8AvqiLM6kklSCyu1MEltuNLf6ZusbgycD5hy9sj0WqXzqIIqqnkgmaHxyNLXA8wrRlpdmebH3kK69PUzF4qIp9obBVQOD2SnR3aCR+q1ayVHsjV0l1p5DWCSkppS+JpPWHA\/lr+5xrVadbJGXZ1O5Smqt\/0ERFmdR5c5rGF7jhrRknsCy9og+sV4mvNU0upoH7lLGXEtyOeCB4+J7lpKuIz0c8I4yRuaPMYWc2TudNTwmz1G9BWRyuw2QYL8nPHtWkfC2jkzNPLCMuP76GpREWZ1hERAEREAWcudZVW7ayge+okNHVDozHnqh3D8S0+q0apNraA1tilLM9JTnpmY46cfYlXhV7mHaFLu7jyt\/gXaKBZK76Rs9NU7xc5zMPJ4lw0PuFPVWqdGsZKUVJdQiIoLGZ2qZJb6qivtO3rQP6OUD5mn+EeYWignjqYI54nb0cjQ5p7QV4rKSOuo5aWYZZK0tPd3qh2NrHCkmtNQN2oonkbp5tJ\/I59lp4o+hyr9PNXSX1X3RpURFmdRS36wC5btXSSfD18WrJQcb3cSPxUW1bSPjqPoy+N+HrGkBryMNk7OGg\/BaRQbnZ6K7QGOqiBdjqyAdZvgVdSVVI5p4pKWvHs\/Lo\/\/AHmQdrqAVlikkaD0lN9qwju4+2fRTbJWm4WemqXHL3Mw8\/8AcND7hUEk902aa6CvzcLW8FvSnV7QRjGvDs10UjYaZxtc9M4uPQTENyNMHs8wVdx9wxhkT7RxTa3XoaZERYneFkYnnZO\/SRygi11rssfjqxO7PLh4YPJa5R62hp7jSupqqMSRu7eIPaOwq0ZVs+DHNjc6ceVwfdrg5oc0ggjII5rqzDtmLlGx1HTXh7aCQ7ronDJazmAdfyV\/Q0jaGhhpWOLmwsDQ53E4RpLhjHOcnUo0SERFU2CIiAIiIAqy7WCgvDPt4g2XGkrBh3DTPaO5WaKU2t0VlCM1UlaMv9GbTWt27QXBlZCBhrJ+IHn6cV36f2gptKrZ58p4ZgJxnyDlp0V9d8ow9ncfBNr5\/UzH1ykbpJZKxh7Mfsut25ot5ofRVTGkgFzmjA7+KtbvfKKzQ79RJmQjLIm\/ed+g71TUlvr9pKyOvu7DBRxjMVKMje8f5qrJRatrYwnLKpaITt+n1NPDK2eFkrDlsjQ5pznQ68l7XGtDWhrQAAMADkurE9BBeXsbJG6N7Q5rgQ4HmF6RAZbZF\/wFXX2SWQF8MhezTBI4H\/afNalZi+EWvaa3XMDEc\/2MxAHkST4\/6Vp1pPf3vM5uz+6nj\/4v5dAiIszpCy96Ase0VLeW5bDUHoagAaePsD\/6rUKFdrdHdbdLRyHG+Oq7+13Iq0HT3Mc8HOHu8rdepMBBGQcgrqzuy90lc19mrmllZRjd1+Zo09tPLBWiSS0ui2LIskVJBERVNDjmhzS1wBBGCDzXiGCGmiEUETImDg1gwB5L6IhFLkIiISEREAREQBERAEREAREQBERAfKoqYaSF01RKyKNvFzzgLOS7RV94e6l2fpXY4OqpRhrfD99e5G2G4Xi6PqL64Cnid9jTxu6ru\/uHue5aSCCGmiEUETIo28GsGAFp7sf3Zy\/q5f8ArH5v7FLatlqejmNXXSGtrHHeMj9QD4c\/Eq+RFRyb5NseOONVFBERQaBERAV19tTbxa30uWh+Q6Nzs4a4c9O4keal0cUkFFBDNJ0kkcbWuf8A3EDivsim3VFNEVLV1CIiguEREB8fhKf4r4roI+n3d3pN0b2OzK+yIhCSXAREQkIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "SOPORTE",
    "correoContacto": "soporte@colegiosanluis.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "EN ROLAR CORREOS A MAQUINAS",
    "prioridad": "1",
    "telefonocontacto": "5522467047",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "18:13",
    "ubicacionGPS": "LatLng(lat: -23.6618626, lng: -70.4001724)",
    "horaLlegada": "15:10",
    "horaDespacho": "18:13",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


05/05/2026 18:13:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:51064970

[05/05/2026 18:13:46] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('51064970', 'EP2725', 1, 95585912, 0, NOW(), 
				'18:13', '15:10', '18:13', 4, 'Servicio duplicado , tema resuelto por el Técnico Sriven Valderrama ', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778019226.png', 'Servicio duplicado , tema resuelto por el Técnico Sriven Valderrama ', null, 'COMPLETADO','LatLng(lat: -23.6618626, lng: -70.4001724)' )
				
[05/05/2026 18:13:46] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200187

05/05/2026 18:13:46 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200187'                    
				WHERE idllamado = 12303			
				TO ENVIO: micorreo@miempresa.cl, soporte@colegiosanluis.cl


05/05/2026 18:13:46 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12303			
				
05/05/2026 18:13:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


05/05/2026 18: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 = 12303
                
05/05/2026 18: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 = 12303
                
05/05/2026 18:13:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12303
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12303
                
05/05/2026 18: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 = 12303
                
05/05/2026 18: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 = 12303
                
05/05/2026 18: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 = 12303
                
05/05/2026 18: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 = 12303
                
05/05/2026 18: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 = 12303
                [05/05/2026 18:13:48] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 18:13:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12303
            GROUP BY l.idllamado;
            [05/05/2026 18:13:48] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 18: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 = 12303
                
05/05/2026 18: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 = 12303
                
05/05/2026 18:13:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12303
            GROUP BY l.idllamado;
            
05/05/2026 18:13:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12303
            GROUP BY l.idllamado;
            [05/05/2026 18:13:48] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 18:13:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12303
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12303
                
05/05/2026 18: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 = 12303
                
05/05/2026 18: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 = 12303
                
05/05/2026 18: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 = 12303
                
05/05/2026 18: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 = 12303
                
05/05/2026 18: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 = 12303
                
05/05/2026 18: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 = 12303
                
05/05/2026 18: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 = 12303
                
05/05/2026 18:13:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18:13:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12304
                
05/05/2026 18:13:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18:13:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            [05/05/2026 18:13:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 18:13:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

05/05/2026 18:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:13:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            [05/05/2026 18:13:55] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 18: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            [05/05/2026 18:13:55] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

05/05/2026 18: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:13:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:13:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:14:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:14:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:14:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:14:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18:14:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:14:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:14:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:14:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18:14:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:14:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:14:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:14:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18:14:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:14:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:14:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:14:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18:14:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:14:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:14:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:14:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18:14:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18:14:28 - logentry: =========================================
FECHA: 05/05/2026 18:14:28
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-O3CINqkQH2ieI5ynGZ6CpdZD_ZSGXJOcesTmEA+EYXxnx+RJA1b
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "51064970",
    "serieinterna": "EP2727",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Servicio duplicado , tema resuelto por el Técnico Sriven Valderrama ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12304",
    "observacion": "Servicio duplicado , tema resuelto por el Técnico Sriven Valderrama ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC3AQ4DASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABCEAABAwMCAggEAwUECwEAAAABAAIDBAURBiESMRNBUWFxgZGhFCKxwTLR8BUjQlLhBxZT0iQlMzQ1Q3JzkpOi8f\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC4RAAICAQIEBAYDAAMAAAAAAAABAhEDITEEEkFREzJxkSJhobHR4YHB8BQz8f\/aAAwDAQACEQMRAD8A+zIiIAi5bn04tlSaaQxzNicWOaMnIGQq\/btY0UNkhfXVD5azDuNjWfMTk43wBywrKLatGM88IS5ZOtLLUsZJGRML5HtY0cy44AVXbdtR3n5bfQMoYXDaabJPiCR9itkekHVTxLeLlPVvzngaeFoPX+hhW5EvMzPx5T\/64383ov8AfwdVZq+0UnysmdUv\/lgbn35LhbetRXX\/AIbaxTROAxLP1d4zgHyBU7R2a20GDTUcUbm8ncOXep3XanNFbIeHmn55V6flkfZ6W40tM5tyrG1MrnZBaMBoxyztn0UgiKjduzojFRVIIiKCwREQBERAEReEgczhAeoiIAiIgCIiAIiIAiIgCIiAIiIAiIgNc00VPGZJ5WRMHNz3AAeZVfrdY0\/SfDWmB9dUO2HC0ho+5\/W67bpp2mvFbHPVTTGONuBC12Gk55\/\/AIpCko6ahhENLAyFg6mjGfHtV1yrfU55LNJtLRd92Vt1mv18LTdqxlLTnc08PPz6vUlYaMoqeCruEEkLHVNLNwiRwyQNxt2cvdW5Vi3j4TXdwh5NqIuMAHmflPLzKupOUWjCeGOPJCe7utfQs6IixO8IiIAiLF72RsL5HBjWjJc44AQGSKOdqC0NeGm40+TyPHt68l3xyMljbJG9r2OGWuacgjuKlprcrGcZbMyREUFgixkkZFG6SRwaxgLnOJ2AHMqgXrU1Zeqj4C3NeyFzuEBh+eXx7B3K8IOTOfPxEcK136Isl41bQWsmKM\/E1AOCxh2b4nl5KJpKO96mqoa2ukNLSRuD42AEZwcjA+5XZYNIRUQbU3ENnqMAtYd2x\/mVZ1ZyjHSPuYxxZc3xZtF2X9mLW8DA3JOBjJOSVkiLI7giLF72RsL5HBjWjJc44AQGSLiortQXGWWOjqBM6LHHwg4Ge\/GD5LtUtNbkRkpK07CIigkIiIAiIgCIiAIiIAiIgCrFz\/0bXdsnOzZojGe8\/MPuFZ1V9YYp6y015OBDUYcc9WQfsVpj3o5uK0x83Zp\/UtCIizOkIiICI1Dd5bVTRNpYhLVVMgjiaeWe3v6vVR0elau4ytqb9Xvmdz6CM4a3z\/Ieay1i2Sndb7oxnG2knBePMEfTHmrFDNFUQsmheHxvGWuadiFrbjFNHG4LLllGeyql09fmRrdL2RrOEW+PHeST65UXaof2Dql9pic51NVM6WMOOeHY58\/lx4K1KsUg\/aWuaiqw4MoI+jbkHnuPqXdvJIttOxlxwhKDgqd\/TqWdEXFdbrTWijdUVDu5jBzeewLNK9EdUpKKt7HBqe6mjohRQM6SqrQY42dmds++39FA2SSLStwdT3el6OWcDo6lp4gG9ncM9ildP2yoq6yW+XRn72Y5gjd\/y29Rx4bDz7VYKimgq4TDUwsljPNrxkLXmUVynEsc8svG2fS+3z9TymqqesiEtNMyVh\/iY7K3KuS6Jt3H0lLNUUzt\/wAD8j3391rbo+cfK6+1hbywCRt6qtQ7m3iZ1vD2ZZXvZG3ie4NHaThRlbqW0ULf3lbG92NmRHjJ9OXmo5mhrcXcVRU1UzuvLwM+2fdSVLpuz0eDHQxud2yfOfdKguo5uIlskv5siTqW63bijslreB\/jzEADy5Z8ys2aUqbhIye+3GSpcN+ij2aP13AKzAADAGAF6nPXlVD\/AI\/NrlfN9vY5aG3UdtiMVHTshaeeOZ8SdyupEWbdnQkoqkEREJCIiAIiIAiIgCKD1Rc6q3U1MKJ7WTTzhmXNyMfrCmxnG\/NS1SsoppycV0PURFBcKD1hS\/E6dnIGXQlsg27Dg+xKnForacVdDPTuGRLG5nqMK0XTTM8sOfG490abRU\/GWikqM5L4m8XjjB98rtVe0TMX6fEbtjDK5uD6\/cqwpNVJojBLnxxl8giIqmphLDHPE6KZjZI3jDmuGQQqz+x7vYJnS2eX4qlOSaSQnbw359\/sVaUVoyaMsmKM6ezXUrA1m2mwy52urpZORw3Iz54Wf9+rR\/LU\/wDrH5qxkAjBGQVh0EX+Ez\/xCtcOxn4edbT+n7K0\/VdbXNLbPaJ5CdhJKNh5D81tt+nKqoq2XG\/VHxE7d2QD8DDnu28uXirIijnryqgsFu8kr+3sERFQ6QiIgCIiAIiIAiIgCIiAIiIAiIgCIiArGtvlit0h5NqRn9eSs6rmuInPsIkacGKZriQercfUhT9PKJ6aKYcpGBw8xlXfkRzY9M816f2bERFQ6QiIgImyWeS0yVuZWOinmMkbGg\/IPPy9FLIiltt2ykIKEeWOwREUFwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICN1DB8Tp+tjxnERcB3t+b7LXpio+J07SOzngZ0fL+UkD2AUpJG2WN0bxlrwWkdoKrehnkWmend+KGocMdmw++VotYM5pacRF9017FmREWZ0hERAEREAREQBERAEREAREQBERAEREAREQBEWL5GR8PG9reI8LcnGT2BAZIiIAixe9kbC+RwY1oyXOOAFEVerLNSZBqxM4fwwji9+XupSb2KTyQhrJ0TKKtQ6prK2RnwNkqJIXEZkccDGfDHb1qyqXFx3Ix5Y5PKYPmijIEkjGE8uJwGVmqXqSjhdqmmfcS\/4KpZwBzTjgIz9yD5rbX2GtsNDLWWq6VAbCOIxPHFlv028O1X5FS13Od8RNOXw6L56+xb0VTotZSxU0D7rQyRslB4aiMfI7n1du3arJSV1LXxmSkqI5mg4JY7OPHsVJQcdzbHnx5PKzoVY03im1He6Qnd0vSNHdk\/5grOqhVSik1vVSAuHHTNzw7H+H8laGqaM+IfK4T7P7plvREWZ1BERAEREAREQBERAEREAXJW14o5qaLoJZTUSBgLG5De89i60UohptaBERQSEREARF5kZxndAeqs6zBItp6hUjPsrMq7raIusjZw0kwTNd3Dq39Qr4\/Mjm4pXhkWJFrgmbUU8czdmyMDh4EZWxUOlOyv1mk4rjXy1FZX1MkbncTIgcBm3Lr+y3Q0unLONvg4nD+KR4c\/1Jyues0rLcKyaWpu9SYZHEthbnDR2bkj2Wyn0ZZYPxQyTntkkP2wtbVas4VjkpNxxpPu3\/wCmc+sLJBnFUZSOqNhPvyXF\/fN9ScW6z1VT3nbHoCpuns1spSDDQQMIAGeAE7d5XYAAMAYAUXBdDXkzy3kl6L8lPr4NR6hhEU9ugpoQeNjnOw8HG3X5chzUnYq39u6fkpqkkzsaYJg7nywCc\/rIKnlU6\/Om9TMuLTiirzwzgDZru3139VZPmVexlLH4MvEbbT0d\/wC6G\/RrmVWnn0k8bXthldG5jhkEHfw5krOr0dSukdPbqiWhnJzxMcSM5B7c9XatOmQKa\/Xmj23kEjP+nJ+xCtCiUnGTonDjhkwpTV1p7FXbFrCgBDJKa4NB+XiwDjxPCfcrbarPXT3Se53mKISTRhjYWHIbjHeezt61Y0Ved9jRcPFNNtuujYREVDpCIiAItNVV09FA6eplbFG3m5xVblv1zvcjqaw0xjizh1XKMAeHZ7nuVoxbMcmaOPR79upacjOM7r1Q1k07HaZHVElTLUVL24e5zvl8h9yplQ0k9C8HJxuSphaKitpaRpdUVMUIH87wFE3TTtRdK50z7tPDTkACBmcY2z1438Frp9E2eFwdK2aoPX0knM+WFZKPVmUp5rajH+WzdU6vstMSPijM4dUTCffl7rhOra2tPDabNPNk7SScvbbr7VOU1nttHg09FCwj+LgBPqd1y6piMum6wDmGB3oQforLkuqM5rPyOTlVdl\/b\/BHCj1ZcS41NbFb2E\/giwSPDH5qTs9pqra6V1TdZ67jADRJnDfUlbLBIJbBQuBBxA1u3cMfZSKrKT2L4sUdJ22\/m\/wDIIiKh0hERAFWdR09Rba2LUFFkmIcE8fMFmefv9CrMsXNa9hY9oc1wwQRkEK0XTMsuPxI0aaGthuFHHVQO4mSDPgesHwWFzpBX22opcbyMIbv18x74Vbpi7SV++Ee537MrDmNx3DHfrAPdhW9TJcrtFMU\/Fi4z3WjIDR1W6ezfDS5E1I8xOaTuBzH5eSn1VqP\/AFTriopscMNwZxsAGBxDf\/N6q0pPe+44Zvw+V7rT2\/QWMheI3GNoc8A8IJwCepZIqHQQlivr6+SairoxT18LjxRcgR3eH9VNqFv1i\/aIbV0b+gr4N45BtxdxK0WnVMUzzRXVvwdbHs7pMNa4+fI93otHHmVxOWOR43yZX6Pv+ywqr6plluFwprDAIyZ2GRxcN2kAkb9XIqZq73bKKJ0k1bD8o\/C14c4+ACh9Owz3O61N\/qWFkco4KZpxnh5fbHfkpBV8TIzyWSsUXvv6dSA01XuptTQCo+V8jfhpM88jAb7hoX0ZULV9pmpLvHcKSNxbO4E8I\/DIPz5+qvULzJCx7m8Jc0EjsVstOpIy4JSg54pdGZoiLE9AIiIAoy93ynstOHP\/AHk7\/wDZRN5uP2C1XzUENoa2FjemrJR+7iG\/gTjv9VzWOxTNqDdbuelrn7tacER\/1+iuopK5HNkyuUvDx79X2\/ZzUthrb3O24X97mtBzHSN2DR39n17SrPFDHBE2KFjY42DDWtGAAs0USk2aY8Uce2\/fqERFU1CIiALju8fTWetj\/mgeB48JXYsXND2Fp5EYUrRlZK00Q2j5Ok01TA82F7f\/AKKm1WdDPLbZUUr\/AMcE5BG+RkfmCrMrZPMzHhneGPoERFQ6Aqxc5ZLdrOgqXOf8PVM6E5OQDnHluWn1VnUJqy2ivsskjdpqYGVh69uY9PoFeDV6nPxEW8dx3WvsTaLgstwFztNPVZBe5uJMDHzDn7rvVWqdG0ZKUVJdThu9rhu9A+lmGCd2Pxux3UVE6cu00Upsd0JbWQ7Rud\/G3Gwz4eoVkUNqGwtu8LZYX9FWQ7xSA478H8+pWi1XKzDLCSfiY9107r\/bHJrKne2kprpDnpaGUO27CR9wFPUdVHW0cVVF+CVgcO7Kr9qvguTZbJd4+grC0xkOG0m31+vUstGzSR0tVbJieOimLRtgYJ6vME+YVpRfLT6GWPJF5eaO0vuv0WRERZHcFyV1sorlHwVdO2QYwCdiPArrRE6IcVJU0Q1NpOzUsge2mMhacjpHlwz4clMNaGtDWgAAYAHUvUUtt7lYY4Q0iqPCARgjIK9RFBcIiIAvDnG3NeogKJR3CC0Xyrqr1T1ElUZC1koiAbjtAz1+e2FOs1pZHc55Gb9cTvsp1zQ4YcAR2Fc77bQSfjoqd22N4mn7LRyjLdHHHDlxqoSVfNfsj26tsTjgV4843j7LezUVne7hFxgB73Y+qzdY7S\/GbbS7dkLR9AuOtsmnaOldUVVHDHEzcnJHkMHfwT4H3LN8QlbcfqSkFdSVP+71UMv\/AG5A76eBW9UbTlrNfehdKOA0NBA89GMkuftgjJ9+rqV5UTioukW4fLLLHmkq\/sIiKh0BERAVjTWIL\/e6btm4wOwZd+YVnVXoMw\/2gXBh3EkAcD5M\/qrQtMm9nNwukHHs39wiIszpCxe3jjc3OOIEZWSICL0\/apLPbPhZZRI7jc7LeW6lERS3btlYQUIqK2QREUFiMvNipbzEBLmOZn4JmD5m93eO5QditN5t+pXzVLOlhe0xyTcQ+YY+U7nPMAdyt6K6m0qOefDwlNT2aCIiodAREQBERAEREAREQBERAEXGy7W+Rs7m1cXDTnhlcXYDT4+Sg6vUtVcZzR6egMz\/AOOoc35Wd+\/39FZQbMZ54QV3foTF2vVHZ4DJUyDjIyyIfif+u1QdLbq7U9Syvu7TDRN3hpgccXee49vPwXZbNKRU8\/xlymNdVHfL92tPnz81YFa1HymSxzyu8ui7fn8GLGMjYGRtDGtGA1owAskRZnWEREAREQFYd8v9obSw\/ipvnHkfyCs6x6NnSdLwN48cPFjfHZlZK0ndGWPHyX83YREVTUIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKN1A2rkstQyicRM4ADGM4zuMk7bdaIpWjKZFcGiv2rQ7+BpulQeDPF8PE7bPefy9VbKWkp6KBsFNE2KNvJrQiKZTctzPFgx4l8KNyIiqbhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "SOPORTE",
    "correoContacto": "soporte@colegiosanluis.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "ENROLAR CORREOS A MAQUINAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "5522467047",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "18:14",
    "ubicacionGPS": "LatLng(lat: -23.6618866, lng: -70.4001724)",
    "horaLlegada": "15:10",
    "horaDespacho": "18:13",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 05/05/2026 18:14:28
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-O3CINqkQH2ieI5ynGZ6CpdZD_ZSGXJOcesTmEA+EYXxnx+RJA1b
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "51064970",
    "serieinterna": "EP2727",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Servicio duplicado , tema resuelto por el Técnico Sriven Valderrama ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12304",
    "observacion": "Servicio duplicado , tema resuelto por el Técnico Sriven Valderrama ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC3AQ4DASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABCEAABAwMCAggEAwUECwEAAAABAAIDBAURBiESMRNBUWFxgZGhFCKxwTLR8BUjQlLhBxZT0iQlMzQ1Q3JzkpOi8f\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC4RAAICAQIEBAYDAAMAAAAAAAABAhEDITEEEkFREzJxkSJhobHR4YHB8BQz8f\/aAAwDAQACEQMRAD8A+zIiIAi5bn04tlSaaQxzNicWOaMnIGQq\/btY0UNkhfXVD5azDuNjWfMTk43wBywrKLatGM88IS5ZOtLLUsZJGRML5HtY0cy44AVXbdtR3n5bfQMoYXDaabJPiCR9itkekHVTxLeLlPVvzngaeFoPX+hhW5EvMzPx5T\/64383ov8AfwdVZq+0UnysmdUv\/lgbn35LhbetRXX\/AIbaxTROAxLP1d4zgHyBU7R2a20GDTUcUbm8ncOXep3XanNFbIeHmn55V6flkfZ6W40tM5tyrG1MrnZBaMBoxyztn0UgiKjduzojFRVIIiKCwREQBERAEReEgczhAeoiIAiIgCIiAIiIAiIgCIiAIiIAiIgNc00VPGZJ5WRMHNz3AAeZVfrdY0\/SfDWmB9dUO2HC0ho+5\/W67bpp2mvFbHPVTTGONuBC12Gk55\/\/AIpCko6ahhENLAyFg6mjGfHtV1yrfU55LNJtLRd92Vt1mv18LTdqxlLTnc08PPz6vUlYaMoqeCruEEkLHVNLNwiRwyQNxt2cvdW5Vi3j4TXdwh5NqIuMAHmflPLzKupOUWjCeGOPJCe7utfQs6IixO8IiIAiLF72RsL5HBjWjJc44AQGSKOdqC0NeGm40+TyPHt68l3xyMljbJG9r2OGWuacgjuKlprcrGcZbMyREUFgixkkZFG6SRwaxgLnOJ2AHMqgXrU1Zeqj4C3NeyFzuEBh+eXx7B3K8IOTOfPxEcK136Isl41bQWsmKM\/E1AOCxh2b4nl5KJpKO96mqoa2ukNLSRuD42AEZwcjA+5XZYNIRUQbU3ENnqMAtYd2x\/mVZ1ZyjHSPuYxxZc3xZtF2X9mLW8DA3JOBjJOSVkiLI7giLF72RsL5HBjWjJc44AQGSLiortQXGWWOjqBM6LHHwg4Ge\/GD5LtUtNbkRkpK07CIigkIiIAiIgCIiAIiIAiIgCrFz\/0bXdsnOzZojGe8\/MPuFZ1V9YYp6y015OBDUYcc9WQfsVpj3o5uK0x83Zp\/UtCIizOkIiICI1Dd5bVTRNpYhLVVMgjiaeWe3v6vVR0elau4ytqb9Xvmdz6CM4a3z\/Ieay1i2Sndb7oxnG2knBePMEfTHmrFDNFUQsmheHxvGWuadiFrbjFNHG4LLllGeyql09fmRrdL2RrOEW+PHeST65UXaof2Dql9pic51NVM6WMOOeHY58\/lx4K1KsUg\/aWuaiqw4MoI+jbkHnuPqXdvJIttOxlxwhKDgqd\/TqWdEXFdbrTWijdUVDu5jBzeewLNK9EdUpKKt7HBqe6mjohRQM6SqrQY42dmds++39FA2SSLStwdT3el6OWcDo6lp4gG9ncM9ildP2yoq6yW+XRn72Y5gjd\/y29Rx4bDz7VYKimgq4TDUwsljPNrxkLXmUVynEsc8svG2fS+3z9TymqqesiEtNMyVh\/iY7K3KuS6Jt3H0lLNUUzt\/wAD8j3391rbo+cfK6+1hbywCRt6qtQ7m3iZ1vD2ZZXvZG3ie4NHaThRlbqW0ULf3lbG92NmRHjJ9OXmo5mhrcXcVRU1UzuvLwM+2fdSVLpuz0eDHQxud2yfOfdKguo5uIlskv5siTqW63bijslreB\/jzEADy5Z8ys2aUqbhIye+3GSpcN+ij2aP13AKzAADAGAF6nPXlVD\/AI\/NrlfN9vY5aG3UdtiMVHTshaeeOZ8SdyupEWbdnQkoqkEREJCIiAIiIAiIgCKD1Rc6q3U1MKJ7WTTzhmXNyMfrCmxnG\/NS1SsoppycV0PURFBcKD1hS\/E6dnIGXQlsg27Dg+xKnForacVdDPTuGRLG5nqMK0XTTM8sOfG490abRU\/GWikqM5L4m8XjjB98rtVe0TMX6fEbtjDK5uD6\/cqwpNVJojBLnxxl8giIqmphLDHPE6KZjZI3jDmuGQQqz+x7vYJnS2eX4qlOSaSQnbw359\/sVaUVoyaMsmKM6ezXUrA1m2mwy52urpZORw3Iz54Wf9+rR\/LU\/wDrH5qxkAjBGQVh0EX+Ez\/xCtcOxn4edbT+n7K0\/VdbXNLbPaJ5CdhJKNh5D81tt+nKqoq2XG\/VHxE7d2QD8DDnu28uXirIijnryqgsFu8kr+3sERFQ6QiIgCIiAIiIAiIgCIiAIiIAiIgCIiArGtvlit0h5NqRn9eSs6rmuInPsIkacGKZriQercfUhT9PKJ6aKYcpGBw8xlXfkRzY9M816f2bERFQ6QiIgImyWeS0yVuZWOinmMkbGg\/IPPy9FLIiltt2ykIKEeWOwREUFwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICN1DB8Tp+tjxnERcB3t+b7LXpio+J07SOzngZ0fL+UkD2AUpJG2WN0bxlrwWkdoKrehnkWmend+KGocMdmw++VotYM5pacRF9017FmREWZ0hERAEREAREQBERAEREAREQBERAEREAREQBEWL5GR8PG9reI8LcnGT2BAZIiIAixe9kbC+RwY1oyXOOAFEVerLNSZBqxM4fwwji9+XupSb2KTyQhrJ0TKKtQ6prK2RnwNkqJIXEZkccDGfDHb1qyqXFx3Ix5Y5PKYPmijIEkjGE8uJwGVmqXqSjhdqmmfcS\/4KpZwBzTjgIz9yD5rbX2GtsNDLWWq6VAbCOIxPHFlv028O1X5FS13Od8RNOXw6L56+xb0VTotZSxU0D7rQyRslB4aiMfI7n1du3arJSV1LXxmSkqI5mg4JY7OPHsVJQcdzbHnx5PKzoVY03im1He6Qnd0vSNHdk\/5grOqhVSik1vVSAuHHTNzw7H+H8laGqaM+IfK4T7P7plvREWZ1BERAEREAREQBERAEREAXJW14o5qaLoJZTUSBgLG5De89i60UohptaBERQSEREARF5kZxndAeqs6zBItp6hUjPsrMq7raIusjZw0kwTNd3Dq39Qr4\/Mjm4pXhkWJFrgmbUU8czdmyMDh4EZWxUOlOyv1mk4rjXy1FZX1MkbncTIgcBm3Lr+y3Q0unLONvg4nD+KR4c\/1Jyues0rLcKyaWpu9SYZHEthbnDR2bkj2Wyn0ZZYPxQyTntkkP2wtbVas4VjkpNxxpPu3\/wCmc+sLJBnFUZSOqNhPvyXF\/fN9ScW6z1VT3nbHoCpuns1spSDDQQMIAGeAE7d5XYAAMAYAUXBdDXkzy3kl6L8lPr4NR6hhEU9ugpoQeNjnOw8HG3X5chzUnYq39u6fkpqkkzsaYJg7nywCc\/rIKnlU6\/Om9TMuLTiirzwzgDZru3139VZPmVexlLH4MvEbbT0d\/wC6G\/RrmVWnn0k8bXthldG5jhkEHfw5krOr0dSukdPbqiWhnJzxMcSM5B7c9XatOmQKa\/Xmj23kEjP+nJ+xCtCiUnGTonDjhkwpTV1p7FXbFrCgBDJKa4NB+XiwDjxPCfcrbarPXT3Se53mKISTRhjYWHIbjHeezt61Y0Ved9jRcPFNNtuujYREVDpCIiAItNVV09FA6eplbFG3m5xVblv1zvcjqaw0xjizh1XKMAeHZ7nuVoxbMcmaOPR79upacjOM7r1Q1k07HaZHVElTLUVL24e5zvl8h9yplQ0k9C8HJxuSphaKitpaRpdUVMUIH87wFE3TTtRdK50z7tPDTkACBmcY2z1438Frp9E2eFwdK2aoPX0knM+WFZKPVmUp5rajH+WzdU6vstMSPijM4dUTCffl7rhOra2tPDabNPNk7SScvbbr7VOU1nttHg09FCwj+LgBPqd1y6piMum6wDmGB3oQforLkuqM5rPyOTlVdl\/b\/BHCj1ZcS41NbFb2E\/giwSPDH5qTs9pqra6V1TdZ67jADRJnDfUlbLBIJbBQuBBxA1u3cMfZSKrKT2L4sUdJ22\/m\/wDIIiKh0hERAFWdR09Rba2LUFFkmIcE8fMFmefv9CrMsXNa9hY9oc1wwQRkEK0XTMsuPxI0aaGthuFHHVQO4mSDPgesHwWFzpBX22opcbyMIbv18x74Vbpi7SV++Ee537MrDmNx3DHfrAPdhW9TJcrtFMU\/Fi4z3WjIDR1W6ezfDS5E1I8xOaTuBzH5eSn1VqP\/AFTriopscMNwZxsAGBxDf\/N6q0pPe+44Zvw+V7rT2\/QWMheI3GNoc8A8IJwCepZIqHQQlivr6+SairoxT18LjxRcgR3eH9VNqFv1i\/aIbV0b+gr4N45BtxdxK0WnVMUzzRXVvwdbHs7pMNa4+fI93otHHmVxOWOR43yZX6Pv+ywqr6plluFwprDAIyZ2GRxcN2kAkb9XIqZq73bKKJ0k1bD8o\/C14c4+ACh9Owz3O61N\/qWFkco4KZpxnh5fbHfkpBV8TIzyWSsUXvv6dSA01XuptTQCo+V8jfhpM88jAb7hoX0ZULV9pmpLvHcKSNxbO4E8I\/DIPz5+qvULzJCx7m8Jc0EjsVstOpIy4JSg54pdGZoiLE9AIiIAoy93ynstOHP\/AHk7\/wDZRN5uP2C1XzUENoa2FjemrJR+7iG\/gTjv9VzWOxTNqDdbuelrn7tacER\/1+iuopK5HNkyuUvDx79X2\/ZzUthrb3O24X97mtBzHSN2DR39n17SrPFDHBE2KFjY42DDWtGAAs0USk2aY8Uce2\/fqERFU1CIiALju8fTWetj\/mgeB48JXYsXND2Fp5EYUrRlZK00Q2j5Ok01TA82F7f\/AKKm1WdDPLbZUUr\/AMcE5BG+RkfmCrMrZPMzHhneGPoERFQ6Aqxc5ZLdrOgqXOf8PVM6E5OQDnHluWn1VnUJqy2ivsskjdpqYGVh69uY9PoFeDV6nPxEW8dx3WvsTaLgstwFztNPVZBe5uJMDHzDn7rvVWqdG0ZKUVJdThu9rhu9A+lmGCd2Pxux3UVE6cu00Upsd0JbWQ7Rud\/G3Gwz4eoVkUNqGwtu8LZYX9FWQ7xSA478H8+pWi1XKzDLCSfiY9107r\/bHJrKne2kprpDnpaGUO27CR9wFPUdVHW0cVVF+CVgcO7Kr9qvguTZbJd4+grC0xkOG0m31+vUstGzSR0tVbJieOimLRtgYJ6vME+YVpRfLT6GWPJF5eaO0vuv0WRERZHcFyV1sorlHwVdO2QYwCdiPArrRE6IcVJU0Q1NpOzUsge2mMhacjpHlwz4clMNaGtDWgAAYAHUvUUtt7lYY4Q0iqPCARgjIK9RFBcIiIAvDnG3NeogKJR3CC0Xyrqr1T1ElUZC1koiAbjtAz1+e2FOs1pZHc55Gb9cTvsp1zQ4YcAR2Fc77bQSfjoqd22N4mn7LRyjLdHHHDlxqoSVfNfsj26tsTjgV4843j7LezUVne7hFxgB73Y+qzdY7S\/GbbS7dkLR9AuOtsmnaOldUVVHDHEzcnJHkMHfwT4H3LN8QlbcfqSkFdSVP+71UMv\/AG5A76eBW9UbTlrNfehdKOA0NBA89GMkuftgjJ9+rqV5UTioukW4fLLLHmkq\/sIiKh0BERAVjTWIL\/e6btm4wOwZd+YVnVXoMw\/2gXBh3EkAcD5M\/qrQtMm9nNwukHHs39wiIszpCxe3jjc3OOIEZWSICL0\/apLPbPhZZRI7jc7LeW6lERS3btlYQUIqK2QREUFiMvNipbzEBLmOZn4JmD5m93eO5QditN5t+pXzVLOlhe0xyTcQ+YY+U7nPMAdyt6K6m0qOefDwlNT2aCIiodAREQBERAEREAREQBERAEXGy7W+Rs7m1cXDTnhlcXYDT4+Sg6vUtVcZzR6egMz\/AOOoc35Wd+\/39FZQbMZ54QV3foTF2vVHZ4DJUyDjIyyIfif+u1QdLbq7U9Syvu7TDRN3hpgccXee49vPwXZbNKRU8\/xlymNdVHfL92tPnz81YFa1HymSxzyu8ui7fn8GLGMjYGRtDGtGA1owAskRZnWEREAREQFYd8v9obSw\/ipvnHkfyCs6x6NnSdLwN48cPFjfHZlZK0ndGWPHyX83YREVTUIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKN1A2rkstQyicRM4ADGM4zuMk7bdaIpWjKZFcGiv2rQ7+BpulQeDPF8PE7bPefy9VbKWkp6KBsFNE2KNvJrQiKZTctzPFgx4l8KNyIiqbhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "SOPORTE",
    "correoContacto": "soporte@colegiosanluis.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "ENROLAR CORREOS A MAQUINAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "5522467047",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "18:14",
    "ubicacionGPS": "LatLng(lat: -23.6618866, lng: -70.4001724)",
    "horaLlegada": "15:10",
    "horaDespacho": "18:13",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


05/05/2026 18:14:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:51064970

[05/05/2026 18:14:28] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('51064970', 'EP2727', 1, 95585912, 0, NOW(), 
				'18:13', '15:10', '18:14', 4, 'Servicio duplicado , tema resuelto por el Técnico Sriven Valderrama ', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778019268.png', 'Servicio duplicado , tema resuelto por el Técnico Sriven Valderrama ', null, 'COMPLETADO','LatLng(lat: -23.6618866, lng: -70.4001724)' )
				
[05/05/2026 18:14:28] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200188

05/05/2026 18:14:28 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200188'                    
				WHERE idllamado = 12304			
				TO ENVIO: micorreo@miempresa.cl, soporte@colegiosanluis.cl


05/05/2026 18:14:28 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12304			
				
05/05/2026 18:14:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18:14:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                
05/05/2026 18:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12304
                [05/05/2026 18:14:32] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 18:14:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12304
                
05/05/2026 18:14:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            [05/05/2026 18:14:32] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 18:14:32] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 18: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 = 12304
                
05/05/2026 18:14:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18:14:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                [05/05/2026 18:14:32] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

05/05/2026 18:14:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18:14:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12304
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                
05/05/2026 18: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 = 12304
                [05/05/2026 18:23:28] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 18:23:28] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[05/05/2026 18:23: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;
                

05/05/2026 18:23:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12255
            GROUP BY l.idllamado;
            [05/05/2026 18:23:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[05/05/2026 18:23:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

05/05/2026 18:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12255
            GROUP BY l.idllamado;
            
05/05/2026 18:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12255
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12255
                
05/05/2026 18: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 = 12255
                
05/05/2026 18: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 = 12255
                
05/05/2026 18:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12255
            GROUP BY l.idllamado;
            
05/05/2026 18:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12255
            GROUP BY l.idllamado;
            
05/05/2026 18:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12255
            GROUP BY l.idllamado;
            
05/05/2026 18:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12255
            GROUP BY l.idllamado;
            
05/05/2026 18:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12255
            GROUP BY l.idllamado;
            
05/05/2026 18:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12255
            GROUP BY l.idllamado;
            
05/05/2026 18:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12255
            GROUP BY l.idllamado;
            
05/05/2026 18:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12255
            GROUP BY l.idllamado;
            
05/05/2026 18:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12255
            GROUP BY l.idllamado;
            
05/05/2026 18:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12255
            GROUP BY l.idllamado;
            
05/05/2026 18:24:47 - logentry: =========================================
FECHA: 05/05/2026 18:24:47
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Mn6ziS_yVHiRRFR_oKA6OoSh_DWereYQWX-6Slh9wnszQmIlKzq
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76010685",
    "serieinterna": "KY2061",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Servicio duplicado, tema resuelto por técnico Johann Guerrero",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12255",
    "observacion": "",
    "firma": "",
    "razonSocial": "SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "pascuala segura",
    "correoContacto": "p.segura@TmetalSPA.onmicrosoft.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "APP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "CONEXION Y CONFIGUARCION",
    "prioridad": "1",
    "telefonocontacto": "967692117",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "18:24",
    "ubicacionGPS": "LatLng(lat: -23.661833, lng: -70.3999333)",
    "horaLlegada": "15:23",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 05/05/2026 18:24:47
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Mn6ziS_yVHiRRFR_oKA6OoSh_DWereYQWX-6Slh9wnszQmIlKzq
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76010685",
    "serieinterna": "KY2061",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Servicio duplicado, tema resuelto por técnico Johann Guerrero",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12255",
    "observacion": "",
    "firma": "",
    "razonSocial": "SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "pascuala segura",
    "correoContacto": "p.segura@TmetalSPA.onmicrosoft.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "APP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "CONEXION Y CONFIGUARCION",
    "prioridad": "1",
    "telefonocontacto": "967692117",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "18:24",
    "ubicacionGPS": "LatLng(lat: -23.661833, lng: -70.3999333)",
    "horaLlegada": "15:23",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


05/05/2026 18: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 = 12255
                
05/05/2026 18:24:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76010685

[05/05/2026 18:24:47] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76010685', 'KY2061', 1, 24456550, 0, NOW(), 
				'08:00', '15:23', '18:24', 15, '•Servicio duplicado, tema resuelto por técnico Johann Guerrero', -1, 
				'', '','1','0',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -23.661833, lng: -70.3999333)' )
				
[05/05/2026 18:24:47] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200189

05/05/2026 18:24:47 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200189'                    
				WHERE idllamado = 12255			
				TO ENVIO: micorreo@miempresa.cl, p.segura@TmetalSPA.onmicrosoft.com


05/05/2026 18: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 = 12255
                
05/05/2026 18:24:47 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12255			
				
05/05/2026 18:24:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


05/05/2026 18: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 = 12255
                
05/05/2026 18: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 = 12255
                
05/05/2026 18: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 = 12255
                
05/05/2026 18:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12255
            GROUP BY l.idllamado;
            
05/05/2026 18: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 = 12255
                
05/05/2026 18: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 = 12255
                
05/05/2026 18: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 = 12255
                
05/05/2026 18:24:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12255
            GROUP BY l.idllamado;
            [05/05/2026 18:24: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;
                
[05/05/2026 18:24: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;
                

05/05/2026 18:24:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12255
            GROUP BY l.idllamado;
            
05/05/2026 18:24:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                
05/05/2026 18:24:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12255
                [05/05/2026 19:27: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;
                
[05/05/2026 19:27:38] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[05/05/2026 19:27:38] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 19:27: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;
                

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

05/05/2026 19:27:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
05/05/2026 19:27:42 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        [05/05/2026 20:54: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;
                
[05/05/2026 20:54:04] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[05/05/2026 20:54:04] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[05/05/2026 20:54: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;
                
[05/05/2026 21:48: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;
                
[05/05/2026 21:48: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;
				
[05/05/2026 21:48:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 08:18: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;
				
[06/05/2026 08: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;
                
[06/05/2026 08:18: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;
                
[06/05/2026 08: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;
                
[06/05/2026 08:18: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;
				
[06/05/2026 08:18: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;
                
[06/05/2026 08:18: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;
                
[06/05/2026 08:18: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[06/05/2026 08:18:55] 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;
                
[06/05/2026 08:29: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;
                
[06/05/2026 08:29: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;
                

06/05/2026 08:29:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 08:29:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        [06/05/2026 08:52: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;
                
[06/05/2026 09:34:50] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[06/05/2026 09:34:50] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[06/05/2026 09:34: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;
                
[06/05/2026 09:35:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

06/05/2026 09:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
06/05/2026 09:46:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            [06/05/2026 09:46:41] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 09:46:41] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 09:46: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;
                
[06/05/2026 10:00: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;
                

06/05/2026 10:00:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 10:00:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        [06/05/2026 10:00: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;
                
[06/05/2026 10:28:46] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[06/05/2026 10:28:46] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[06/05/2026 10:28:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 10:48:57] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[06/05/2026 10:48:57] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[06/05/2026 10:48:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11:10:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12461
                
06/05/2026 11:10:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11:10:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12461
                
06/05/2026 11:10:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12461
                
06/05/2026 11:10:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11:10:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12461
                
06/05/2026 11:10:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11:10:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12461
                
06/05/2026 11:10:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12461
                
06/05/2026 11:10:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11:10:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12461
                
06/05/2026 11:10:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12461
                
06/05/2026 11:10:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12461
                
06/05/2026 11:10:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12461
                
06/05/2026 11:10:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12461
                
06/05/2026 11:10:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11:10:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12461
                
06/05/2026 11:10:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11:10:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12461
                
06/05/2026 11:10:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12461
                
06/05/2026 11:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12461
                
06/05/2026 11:10:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11:10:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11:10:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11:10:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11: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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/2026 11:11:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            [06/05/2026 11:11:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11:11:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11:11:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11:11:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11: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 = 12461
                
06/05/2026 11:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12461
                
06/05/2026 11:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11:12:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/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 = 12461
                
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/2026 11:12:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/2026 11:12:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/2026 11:12:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/2026 11:12:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/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 = 12461
                
06/05/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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11:12:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11:12:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11:12:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11: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 = 12461
                
06/05/2026 11:12:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11:12:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12461
                
06/05/2026 11:12:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11:12:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11: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 = 12461
                
06/05/2026 11:12:40 - logentry: =========================================
FECHA: 06/05/2026 11:12:40
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-y1CkO0TK3kmHNBpT7wFfJcPjFjCmeNjZDmRlOS_UyWEycj5LKbG
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76077994",
    "serieinterna": "KY2252",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "480830",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se hace reemplazo de unidad fusora",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12461",
    "observacion": "•Pendiente RGOM2356 RKIT2442",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADxAYcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABKEAACAQMBAgkLAQQGCAcAAAAAAQIDBAURBiESMUFRYYGRodETFBUWIjJUcZOxwSMzQuHwJFJiY3KyByVDU1WSovE0NTY3c3TS\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT\/xAAyEQACAQIDBQYGAwADAAAAAAAAAQIDERIhMQQTQVGRFDJhcYHRIlKhscHhM0LwI0Tx\/9oADAMBAAIRAxEAPwD9mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGZykMRj5XM0m9eDBN7nLR6fYnmX2hXn20uJxkkpU9fKzjzpPwi+0tBXeZjXm4QvHXRep9xobW16CufPLejUftK3cFxbtzej5n28Z82u1NxZV4Wmfs3a1Je7Wj7r5NWvyteo05HvbK3yFrO2uaanTmt65uldJbEnqjN0ZxzhJ38c0\/8AeB3jJSipRaaa1TXKemZ2eq1sXlbjZ+5m5wgvKW05cseb89TNMVkrM1pVN5G+j4gAFTUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGYvv8A3Exv\/wBZ\/aoaczGR9j\/SBjJvidBx7p+JpDV+RzbTpHzX3NOADM6TMXvs\/wCkPH6L3rZ69lTwNOZe00v9vrqvCSdOzpcDVP8Ae0Sa7XLsNQaT4eRzbPnjfNv2AAMzpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABl9qNLbN4a9b0jGtwZPXTRarxZqDP7a27rbPyqx96hUjNNcfN+S9PvI59qV6Ta4Z9MzQELMZCGMxVe7k9HCOkFzye5LtO1jcK6sbe4T18rTjPX5rUy11Ue12cjZ0ZSeMtHwqs4te1Lfo18+JdbEY3efAVquGCw6vQstkMf5piFc1N9a8flZyfG1yePWXx5GKjFRikklokuQ9Kyd3c0pwVOCiuAABBoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADjXure1hw7ivTpR55ySBDaWp2BRXW2OGtt0a8q8teKjBvvei7yItp8re\/+W4KrKLb0qVW9H9l3l1TkYPaaSdk7vwz+xqAZd09srx+1VtbKL40tH\/+vuFsrkLlf0\/PXFRPjhDXTp43+CcCWrI3833YP1yNDcX1paLW5uaNH\/HNL7ldV2rwdFtSv4ya\/qQlLvS0I1vsRh6OnlI1q+79+pp\/l0LGjgcRQilDHW+7icqak+1j4EL7Q+CXV+xW1NuMPBtR8vU3ccafH2tHL13t5\/scbeVOVeyuLn3amhp2ttR\/ZW9Kn\/hgkdheHIYK71mun7Mx62ZCX7LZy8npx+9u\/wCki5LO5PIY2vaT2au4KrBrhPhPg9PuGxM7n83WjXWIxUfK31ZaSa3qmn+dOwmLTeSMq0Zxg8VR9FmZqntDkLnCU8PZW1RyhBxqVKes5Sh8kty5CzxWft8LZRto4a8ppb6kmt8nzvVI77EUo2tfJWdSEfL0Kii56b2t60+Wq16zWlpyinaxjs1GpKKqY89NNLGbp7dYmTaqU7mk1x8KC4+pk2htVhLhqMb6EG\/95Fx72tCzqUaVX9pShPT+tFMhV9n8RcxcamOt1rywgoPtWjKXhyOvDtC0kn6W\/JNo16NxDh0asKseeEk13HQzVXYmyjLyljdXNpV00TjLVL895zVDazFP9OtSyVGO\/gzftNadOj72MMXoyN9Uj34dM\/2akGex+2FnXq+bZCnOwuVukqq0jr8+TrNBGSlFSi001qmuUq4uOptTqwqK8Xc9ABU0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKXI7U4+wqu3pud1c8SpUVrv5m\/+5XRhtPnXJ1Knoq1lu4Kj7b\/Pei6g9Xkc8toinhj8T8C8vs3jccn51d04ST04C9qWvyW8pntbdX83SwuKq15aa+Uq7orqXiiZj9kcXZcGdWm7qtHfw6z1X\/LxfcuoQhTgoU4qEYrRRitEibwWmZXDXnq8K8M31MysbtVkN93k4WUNX7NFe0uzT7nWhsTjoydS8rV7yo+Nznou7f3mjBG8lwyJWy09ZZ+eZDtMTj7HTzazo02v3lBcLt4yYAVbudCioqyQABBIAAAAM9tBtBO2qrGYyPlshV9n2d\/k9fz9uNkxi5OyM6lSNOOKQ2g2gnbVVjMZHy2Qq+z7O\/yev5+3GyRs\/gIYilKtWl5W9rL9Wq3r06Lr5eU82f2fhiKTrVpeWvau+pVe\/TXkXjyl0XlJJYYmNOnKUt5U14Ll+zLpejtv9y9jIUex6eMe81Bl9rkre9xOQS08jX0k+dbnp3PtNQJ5pMmh8M5w8b9QADM6QAACJf4uzydF07uhGouSXFJfJ9ZnJ2uV2Tk6tpKV7jeEnKlJ6zgtN\/Ju+a7DXAvGTWXAwqUYzeJZPmQ8Zk7bLWaubaW7ilF8cXzMmGQvab2X2jpXtD2bG9lwa0Ekoxf45+014kks1oKNRyvGWq19wAChuAAAAAAAAAAAAAAAAAAAAAAAAAAAAfFWtToUpVa0406cFrKUnokjMV85kc3dStMDT4FGMtJ3c1ourmXf8i0YtmVSrGnk9Xw4lrldosfiU41anla\/JRp75N9PN1lRG32g2j1d1UeMsn\/s4p8Oa+\/bp8izxOzFji5KtJO5utdXWqc\/OlyfcuS2JR7pju6lXOo7LkvyyvxmEsMRTUbWiuHpo6st85dfgWABRtvNnTGMYq0VZAAEFgAAAAAAAAAAZfKZm6yt28Rg3wm91e5XuwXLo\/z2FoxcjKrVVNXfouZ2zedrO49E4deWvp7pyjxUuffz\/YlYLZ6jiIyrVJ+XvKu+pWl3pdfadcJgrbC23ApLh1pL9Sq1vk\/wugsyXJJWiZ06TlLeVNeC5fvxAAKHSZ7beg62z0ppa+Rqxn91+S6srhXdjQuIvVVacZ9q1OGaoq4wt7Sa1boT0XSlqu8h7I1nW2btdXq4cKD6pPTu0NNYHMvh2h+K+z\/ZdAAzOkAAAAAAptq7VXWztytylSSqRb6OPu1JWDuZXeEs60velSSb52t34OW0tRU9nb2TemtPg9rS\/J7s5T8ls9Yx001pKXbv\/Jp\/T1Ob\/sen5LMAGZ0gAAAAAAAAAAAAAAAAAAAAAAAAjX+QtsbayubqooQiuLlk+ZLlZ93d1SsrWpc15cGnSjwpMy2Px9Xam\/eWyUZKyg2reg37y15ej79ReMb5vQwq1XFqEFeT\/wBdntGzvdrqyur6U7bGxetGjHdKfS\/HsNRbWtCzt40LalGlShxRidYxUYqMUkktElyHpEpXy4E0qKhm829WAAVNgAAAAAAAAAAAAfFWtToUpVa0406cFrKUnokjle3tvj7Wdzc1FCnBb3z9C6TLwp3+2NdVKynaYmD9mK3Sq9PT8+JcheMb5vQwq1sDwxV5Pgfdzkr7ai4nY4eTo2Ud1a5kmuF0LofNx\/I0GLxVriLRW9tHdxym\/em+dne2taFnbxoW1KNKlDijE7CUr5LQU6Nnjm7y\/wBoAAUNwAAD5nHh05R104Sa1M3sHJvCVYPc4XElpy+7E0xmNivYp5GknrGFy9Hz\/wA6Gi7jOap\/PD1\/BpwAZnSAAAAAAZnba41x9DH0lw691ViowT3tL+OhoqFGNvb06MPdpwUVu03JaGXxs3n9ra2Q960sVwKL5G+RrvfYaw0nklE5aHxzlV4PJeS\/YABmdQAAAAAAAAAAAAAAAAAAAAAAIWYvXjsRc3cWlKnB8HX+s9y72iUruxWUlFNvgZ\/JTqbSbRLEUptWVo+FcOL95rjXbu7WaqjSp0KMKNKChTglGMVxJFJshjvMsPG4nvr3n6s5Pj0\/dXZv62XxabzsuBhs8XbeS1l9uCAAKHSAAAAAAAAAAAACvy2as8PbupcT1m17FKL9qf8APORs7tDSxKVCjDzi9qacCitXp0vT7EXD7O1JXHpTNS84vZvhRhJ6xp8q612IuopK8jmnVk5bunrxfBf7kRrPEX+0N1DI5t8C2T4VG0XN08y730GqjGMIKEIqMYrRJLRJH0CJSbNKVJU1zb1YABU1AAAAAABmNhv1MfeXHLUuX9k\/yX9\/VVDHXNZvRU6M5a\/JNlPsTSdPZynN\/wC1qTku3T8Gi7jOaedeC5J\/g0AAMzpAAABRbVZSVnZKxt05Xd7+nTUeNJtJvv0X8C1vr2hjrSd1cz4NOC62+ZdJn9nbGtk7+ptDkIx4VXdQp6aqK3aNfbtZeC\/szmryb\/4oav6LmW+CxccRiqVqvf8AeqPnk+Pw6ixAKt3d2bxioRUVogACCwAAAAAAAAAAAAAAAAAAAAAM3txUksLToQWsq1eMdFzb399O00hmNrP1cnhbbjVS51fbFfll6feRzbV\/DLxy6mitaKtrSjQWmlKEYLToWh1AKHQlZWAABIAAAAAAAPJSUYuUmkktW3yAHpns3tJK3r+jsXT85vpvg+zvVN9PT3LlI1\/m7rN3MsXgdeDxVrriUV0P88vIXGGwdrhqDjR1nVn+0rS96XgjRJRzkcjqSrPDTyXF+xGwWAWPbvb2Xl8hV1c6jevB15F4l2AUbbd2dFOnGnHDEAAguAAAAAAAAAUW2N5G12fq09Vw7hqnFder7kyxxNt5nibW3aadOlFS159N\/eZ+8m8\/tfRs4b7THPh1XyOS4+\/RdTNYaSyikctJ46sp8FkvyAAZnUDyUlGLlJpJLVt8glJRi5SaSS1bfIZO8vbjaq+eNx0pU8fTf9IuEvf6F+Fy\/ItGNzGrVVNc29EfM\/KbX5lwXs4uynrr\/vX\/AB0fyXzNdGKjFRikklokuQ4WVlb4+1hbW1NQpwW5c\/S+kkCUr5LQUabgm5ZyeoABU2AAAAAAAAAAAAAAAAAAAAAAAABmNo\/\/AFNg\/wD5X94mnI9axtbi4pXFajGdWi9acn+78i0XZ3Mq1N1I4V4fckAAqagAAAAAAAj319bY21lc3VRQpx7W+ZLlY1IbSV2dK1alb0Z1q01CnBaylJ7kjKVbu\/2urytbNTtsXF6VKzWjqdH8O0UrW\/2vrq5vHO1xcJfp0U9HU6f49hq6FClbUYUaFONOnBaRjFaJGuUPM5Pi2jwh9X+jjj8da4y1jb2tJQguN8snzt8rJQBk3c60lFWQAAJAAAAAAAAABU7RZlYiw1p6Suqz4NCGmur3avq1+xMyOQoYyyqXVxLSEFuXLJ8iXSzPYKzuM3kHnsnDSMX\/AESk+JJN7+rk53vLxX9noc1ao77uHef0XMstmMO8VjuFWbdzctVKrfGt26PVq+tsuQfMpRgtZSUV0vQq227s2hCNOKitEfR5KSjFyk0klq2+Q4Tv7Km9J3dCL\/tVEjI5bPQz136Ot7ynZ2Kf6tepLg+UWvIubo7S0YORnVrxprm+RIvb262qvZY3GydOwpv9e4097o8Fy\/I01jY2+OtIW1tDgwguXjk+dvnKyyymz2LtYWttfUIwiuSWrk+dtcp2ltPhYrV5Cl1av8FpXeSWRlScIvHOScn4\/RFqCo9asH\/xCH\/LLwPh7X4FPTz\/AIv7qfgUwS5G2\/pfMuqLoFHLbHBR00vJS+VKf5R5654P4mf0peBOCXIjtFH511L0FF654P4mf0peA9c8H8TP6UvAYJch2ij8y6l6Ci9c8H8TP6UvAeueD+Jn9KXgMEuQ7RR+ZdS9BReueD+Jn9KXgPXPB\/Ez+lLwGCXIdoo\/MupegovXPB\/Ez+lLwHrng\/iZ\/Sl4DBLkO0UfmXUvQZye3WHh7sbif+Gmvy0c\/XehU3W+MvKrfEuCt\/ZqN3LkV7VR+Y04KPF5+7yN7GhPC3NvSaetaeukWlxb0vuCrTWptCpGorxLwAEFwAAAAAAAAAAAAAQsplLfE2Urq4e5bowT3zfMiUr5IiUlFXegyuVtsRZyuLiXRCC45vmRn7HEXm0V1DKZr2Lfjo2qbS05NVzd7+R1xWLr5u6jmszBOLX9HtmvZiudp\/y+M1Be+DJanIouu8U+7wXPxfseRioxUYpJJaJLkPThcXtraRcri5pUUv680itr7WYShqneqo1yU4uXfpoUUW9EdEqkId5pFyDMS23tqkuDZ4+7uJciUUtezU8lndpLrdaYF0emu3+eCX3cuJl2ql\/V38k2agGXdntfeL9W\/t7SL44wW9daX5PfU6pcb8hmbu4140np92xhS1Y31R92D9bIva2SsLfdWvbem+aVVJkCttZhKD0d6pvXT2ISl3paHKjsXhKWnCoVKrT\/AH6j39mhPo4LE0ElTx1vu5ZU1J9rHweIvtD5Lq\/YqJ7dY3hcGjb3VV9EEvyeeteQq7rbZ66n0y10\/wAppYU4U1pCEYr+ytD1tJat6JDFHkN3Wes+i\/8ATM+k9rK26jhqFPXlqS4v+pFflsxtNjaUZ3Ve0t5T3RpwSlJ9Om8s8ltS3cOwwtHzy7eqcorWEenp+x0xGzcqVw8jlqvnd9Letd8Ybu9\/yi6aWckcsoym8NObfN8F01KWGz+d2hpU7vI3ipprSEakd+nPwVolx\/Mso7LZVxUZ7SXMYpacGCklp\/zGoBR1ZHRHY6azd2\/NmY9THU\/8Rmbyqvn4tnG62QwlhbTur68uuBFb5Smt\/Npu11LnM5+0w1NeVbqV5+5Rh7z+fMios8Je525hks7JxpLfStFuSXTzfdl1KVrt2RjUpUcWCEby+3mU2N2dp5y6dW1o1bbHxeiqVZaznv5N2nh0mrhslg4LRWKfTKpN\/kt4xjCChCKjGK0SS0SR9FJVJM2pbJSgs0m\/Iqo7MYWK0WPpder\/ACfUdncNF6rHUOuOpZgrilzNtzT+VdCu9AYj\/htt9NH2sLiktPRlpu\/uI+BOBGJ8y27hyREjicbBaRx9rFdFGK\/B76Mx\/wADbfSj4EoC7JwR5EX0Zj\/gbb6UfAejMf8AA230o+BKAuxgjyIvozH\/AANt9KPgPRmP+BtvpR8CUBdjBHkRfRmP+BtvpR8B6Mx\/wNt9KPgSgLsYI8iL6Mx\/wNt9KPgPRtgtdLG338f6UfAlAXYwR5HOFCjS\/Z0oQ\/wxSOgBBa1gAAAAAAAAADyUlFayaS52Vd1tLhrTdUv6cnrppT9v7akpN6FZTjDOTsWoMvLbKVy+DjMTdXT101a0Xdr0hT2wyGnBhbY+DXG9G3\/mf2L7t8cjDtUH3E35I1BDucvjrTXy99Qg1+65rXs4yj9Ury7X+s83cVk1vhDXTvf4JdDZHCWic527q8Hfwq020urchaC1Yx15aRt5v2Odztth6Gqpzq3D\/u6en30M3dXeS2hylO8jjKtxbU3+jScX5Pj5XxPet\/y6CcrWjtJmfNbG3p2+KtX+pOlBR8o10rn5OjebOjRpW9GFGjBQpwWkYxW5IveMNFmcqhV2m+KXwrktf0Zzh7ZXfFC0sk+LXR6f5jz1Zy94n6Qz1XR8cKSej70u41AKbx8EdXZovvNv19jO0NiMRTetXy9w3x+UqafbQs6GExdtp5LH26a5XTTfayeCrnJ6svGhSh3Yo8jFRWkUkuZHoBU2AByuLq3taflLitTpR55ySBDaWbOoM5c7Z2flPI46hWv6zXsqnBpa\/fuI0rPabPaRvKsMdayW+FP3mula69rRooPjkc72mLyprE\/D30LPKbU47Ga01PzmvroqVJ66PpfIVXmec2nknf64+w4\/JR3Sn8149hdYvZ7HYmKdClw6vLVqb5fw6i0GJR7pXdVKn8ry5L8siY\/GWeLoKjaUVTjyvjlL5slgrcvnbHDUtbipwqrXs0ob5PwXSUzkzobhTjnkkWMpKMXKTSSWrb5DNX+1FW5uPMMDS85rvc62msI\/zzvd8zgrTNbUvh30nj8fxxpR96a6fF9ho7DG2mMt1QtKKpx5XyyfO3yl7RjrmznxVK3d+GPPi\/LkVmF2bhZVfPr+fnN\/N8KU5PVRfR09JegFG23dnRTpxpq0UAAQXAAAAAAAAAAAAAAAAAAAAAAAAAAAB81KkKUHUqTjCEeOUnokZnaXam5xNz5pa28eG4KXlaiei11W5buZlTQWNylaFfN7Q+cSS18jGEoRXW0u5I1VN2uzjntcVJwjm\/F2X+8i\/u9scZQn5K28pe1m9FGjHc383+NSJ59tVlX\/AESzp4+k+KdX3uLp\/CLLH1NnbOCVjXsabSe9VYuXW29Sd6Tx\/wAdbfVj4i6WiGGU+\/U6e+pQrY+tdyjPLZe4uXpvhF6JfJvXd1ItLXZvD2e+nY05PnqLhvvJXpPH\/HW31Y+I9J4\/462+rHxIcpsvGlQi7q1+pJjFRWkUkuZHpDllsbDThZG1jrz1or8nN57EJ6PI26a\/vEUwvkbbyC4osDMbTX1W+uqWz9i9atdrziST\/Tjua8X0fMsq+0mIoUJ1Ff0JuKbUYy1bfNuM7s3lcZayusnkb1K8uZPhR4EnwVrru01493YjSEWviscu0VYStTUlnq78P2a7H2NHG2NK0oRSjTik3ppwnyt9LJJQ1ds8LT10r1KnRGlJa9uhHlt1YSelC0u6r6IJfkrgm87GnaKEVZSRpgZj1ryFXdbbPXU+mWun+UeltqbhfoYWlS13Lyst66d7Q3b4jtVN6XfozTgy6t9srrXh3dtapviSTa7E\/uPVC4utPSWbua65YRb06tW\/sThS1Y3033YP1si5us5i7LXzi+oxa44qXCl2LeVNXbW1nPyWPsrm8qcijHRP7vuJlpsnhrTR+aKtJPXhVm5a9XF3FtSo0qEFTo04U4L92EUkLwXiLbRLVqPlmZlV9rcpupUKONpN+9P3uPp1fcjrR2Oo1airZa9uL+quSU2o6c3P3o0gIxvhkFs0XnNuXn7aHC1srWxpKla0IUoLkiv51O4OdevRtqTq16sKVOPHKb0SKanRlFeB0I95fWuPoOvd1o0qa5ZcvyXGygutp7i\/rStNn7WVxUXvXElpGHU\/u+89s9k5V66u85dSva3+71fAj4\/LcjTBbORzOu5u1JX8eH79DlPPZXOVJW+DtXSo6tO6q7tPDvZPxGy1pj5ecXL87u3vdWpvSfQn93vLqEIU4KFOKhGK0UYrRI+iHPgsiY0M8VR4n9F5IAAodIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABzq29Cv+2o06m7T24pkOpgcRVSUsbbLT+rTUfsWAJTaKuEZaopJ7IYOe\/zLgv+zVl4nz6mYP4af1ZeJegnHLmZdno\/KuhRepmD+Gn9WXiPUzB\/DT+rLxL0E45cx2ej8q6FHHY7BR11s5S+dWf4Z1Wy2ET19Hw3f2peJbgjHLmSqFJf1XQxe0eFx9C5x9hY2cKdW7q6Smm21FNc+vP3GjhgMRT00xts9FouFTT+5U5JKW3+LU9HHyDaT59J\/wADTl5SdlmYUacHObstbfQjU8bYUWnSsreGnFwaUV+CRGKitIpJcyPQZXOxJLQAAEgAAAAj3eQs7CHDu7mnRWmq4ctG\/kuNjUhtJXZIPirVp0acqlWpGnCK1lKT0S6zNVdrK99KdHB46rczW7ys1pFdOni0KWzN9lJxr7QX06mm9W9N6RXZu7O00wW72RzdoxZUlf7dfY+7zax16rtMHbTva\/8AX4L4EfHuRyobLXmSqq5z97Oq+NUKb3R6+JdXaaO0s7axoqja0IUYLkitNfnzncY7d0bhzzqu\/hw\/fqcre2oWlFUbajClTXFGC0R1AMzpSSyQAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMztVCdne4\/NRi3G1qKNVRW\/gt\/wDddZoqFelc0IV6M1OnUXCjJcqFajSuKM6NaCnTmtJRktzRmJ4TNYOq6uDuVXt29fNar4u16daaZorSVuJyyxUpuaV09bapmrBmPW27tvZv8Hc0pLjcdWmufeh68Wr10x95u4\/ZXiRu5cie10eL+5pwZdbW3tdf0TA3NXXem29NOpB3W2F6tKVnb2UX+\/Jpvvb+xO7fEdqg+6m\/JM005wpwc6klCMVq5SeiRUX21eIsYyXnKr1FxQo+1r18XeQIbI3F5NVcxla1xLf7EHolrzN8XUi3s8Di7DR29lTUl+9JcKXaxaC1dyMVeeiUfPN9EU\/pbaDMycMbYqyt5LdXrp6\/NcnYmdrHY+3jW85yled\/cN6vht8Hxf8AO40YIxvRZErZ4t3qPE\/HToc6NGlb01ToUoUoLijCKSXUjoAUOnQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\/\/9k=",
    "razonSocial": "SOCIEDAD LEM LABORATORIOS Y ASISTENCIA TECNICA LTDA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "NICOLAS ORTÍZ",
    "correoContacto": "nicolas.ortiz@lem.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "APP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE HOJA SALE MANCHADA Y RASGADA.",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56956887935",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:12",
    "ubicacionGPS": "LatLng(lat: -23.6065672, lng: -70.3875416)",
    "horaLlegada": "07:47",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 06/05/2026 11:12:40
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-y1CkO0TK3kmHNBpT7wFfJcPjFjCmeNjZDmRlOS_UyWEycj5LKbG
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76077994",
    "serieinterna": "KY2252",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "480830",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se hace reemplazo de unidad fusora",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12461",
    "observacion": "•Pendiente RGOM2356 RKIT2442",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADxAYcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABKEAACAQMBAgkLAQQGCAcAAAAAAQIDBAURBiESMUFRYYGRodETFBUWIjJUcZOxwSMzQuHwJFJiY3KyByVDU1WSovE0NTY3c3TS\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT\/xAAyEQACAQIDBQYGAwADAAAAAAAAAQIDERIhMQQTQVGRFDJhcYHRIlKhscHhM0LwI0Tx\/9oADAMBAAIRAxEAPwD9mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGZykMRj5XM0m9eDBN7nLR6fYnmX2hXn20uJxkkpU9fKzjzpPwi+0tBXeZjXm4QvHXRep9xobW16CufPLejUftK3cFxbtzej5n28Z82u1NxZV4Wmfs3a1Je7Wj7r5NWvyteo05HvbK3yFrO2uaanTmt65uldJbEnqjN0ZxzhJ38c0\/8AeB3jJSipRaaa1TXKemZ2eq1sXlbjZ+5m5wgvKW05cseb89TNMVkrM1pVN5G+j4gAFTUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGYvv8A3Exv\/wBZ\/aoaczGR9j\/SBjJvidBx7p+JpDV+RzbTpHzX3NOADM6TMXvs\/wCkPH6L3rZ69lTwNOZe00v9vrqvCSdOzpcDVP8Ae0Sa7XLsNQaT4eRzbPnjfNv2AAMzpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABl9qNLbN4a9b0jGtwZPXTRarxZqDP7a27rbPyqx96hUjNNcfN+S9PvI59qV6Ta4Z9MzQELMZCGMxVe7k9HCOkFzye5LtO1jcK6sbe4T18rTjPX5rUy11Ue12cjZ0ZSeMtHwqs4te1Lfo18+JdbEY3efAVquGCw6vQstkMf5piFc1N9a8flZyfG1yePWXx5GKjFRikklokuQ9Kyd3c0pwVOCiuAABBoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADjXure1hw7ivTpR55ySBDaWp2BRXW2OGtt0a8q8teKjBvvei7yItp8re\/+W4KrKLb0qVW9H9l3l1TkYPaaSdk7vwz+xqAZd09srx+1VtbKL40tH\/+vuFsrkLlf0\/PXFRPjhDXTp43+CcCWrI3833YP1yNDcX1paLW5uaNH\/HNL7ldV2rwdFtSv4ya\/qQlLvS0I1vsRh6OnlI1q+79+pp\/l0LGjgcRQilDHW+7icqak+1j4EL7Q+CXV+xW1NuMPBtR8vU3ccafH2tHL13t5\/scbeVOVeyuLn3amhp2ttR\/ZW9Kn\/hgkdheHIYK71mun7Mx62ZCX7LZy8npx+9u\/wCki5LO5PIY2vaT2au4KrBrhPhPg9PuGxM7n83WjXWIxUfK31ZaSa3qmn+dOwmLTeSMq0Zxg8VR9FmZqntDkLnCU8PZW1RyhBxqVKes5Sh8kty5CzxWft8LZRto4a8ppb6kmt8nzvVI77EUo2tfJWdSEfL0Kii56b2t60+Wq16zWlpyinaxjs1GpKKqY89NNLGbp7dYmTaqU7mk1x8KC4+pk2htVhLhqMb6EG\/95Fx72tCzqUaVX9pShPT+tFMhV9n8RcxcamOt1rywgoPtWjKXhyOvDtC0kn6W\/JNo16NxDh0asKseeEk13HQzVXYmyjLyljdXNpV00TjLVL895zVDazFP9OtSyVGO\/gzftNadOj72MMXoyN9Uj34dM\/2akGex+2FnXq+bZCnOwuVukqq0jr8+TrNBGSlFSi001qmuUq4uOptTqwqK8Xc9ABU0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKXI7U4+wqu3pud1c8SpUVrv5m\/+5XRhtPnXJ1Knoq1lu4Kj7b\/Pei6g9Xkc8toinhj8T8C8vs3jccn51d04ST04C9qWvyW8pntbdX83SwuKq15aa+Uq7orqXiiZj9kcXZcGdWm7qtHfw6z1X\/LxfcuoQhTgoU4qEYrRRitEibwWmZXDXnq8K8M31MysbtVkN93k4WUNX7NFe0uzT7nWhsTjoydS8rV7yo+Nznou7f3mjBG8lwyJWy09ZZ+eZDtMTj7HTzazo02v3lBcLt4yYAVbudCioqyQABBIAAAAM9tBtBO2qrGYyPlshV9n2d\/k9fz9uNkxi5OyM6lSNOOKQ2g2gnbVVjMZHy2Qq+z7O\/yev5+3GyRs\/gIYilKtWl5W9rL9Wq3r06Lr5eU82f2fhiKTrVpeWvau+pVe\/TXkXjyl0XlJJYYmNOnKUt5U14Ll+zLpejtv9y9jIUex6eMe81Bl9rkre9xOQS08jX0k+dbnp3PtNQJ5pMmh8M5w8b9QADM6QAACJf4uzydF07uhGouSXFJfJ9ZnJ2uV2Tk6tpKV7jeEnKlJ6zgtN\/Ju+a7DXAvGTWXAwqUYzeJZPmQ8Zk7bLWaubaW7ilF8cXzMmGQvab2X2jpXtD2bG9lwa0Ekoxf45+014kks1oKNRyvGWq19wAChuAAAAAAAAAAAAAAAAAAAAAAAAAAAAfFWtToUpVa0406cFrKUnokjMV85kc3dStMDT4FGMtJ3c1ourmXf8i0YtmVSrGnk9Xw4lrldosfiU41anla\/JRp75N9PN1lRG32g2j1d1UeMsn\/s4p8Oa+\/bp8izxOzFji5KtJO5utdXWqc\/OlyfcuS2JR7pju6lXOo7LkvyyvxmEsMRTUbWiuHpo6st85dfgWABRtvNnTGMYq0VZAAEFgAAAAAAAAAAZfKZm6yt28Rg3wm91e5XuwXLo\/z2FoxcjKrVVNXfouZ2zedrO49E4deWvp7pyjxUuffz\/YlYLZ6jiIyrVJ+XvKu+pWl3pdfadcJgrbC23ApLh1pL9Sq1vk\/wugsyXJJWiZ06TlLeVNeC5fvxAAKHSZ7beg62z0ppa+Rqxn91+S6srhXdjQuIvVVacZ9q1OGaoq4wt7Sa1boT0XSlqu8h7I1nW2btdXq4cKD6pPTu0NNYHMvh2h+K+z\/ZdAAzOkAAAAAAptq7VXWztytylSSqRb6OPu1JWDuZXeEs60velSSb52t34OW0tRU9nb2TemtPg9rS\/J7s5T8ls9Yx001pKXbv\/Jp\/T1Ob\/sen5LMAGZ0gAAAAAAAAAAAAAAAAAAAAAAAAjX+QtsbayubqooQiuLlk+ZLlZ93d1SsrWpc15cGnSjwpMy2Px9Xam\/eWyUZKyg2reg37y15ej79ReMb5vQwq1XFqEFeT\/wBdntGzvdrqyur6U7bGxetGjHdKfS\/HsNRbWtCzt40LalGlShxRidYxUYqMUkktElyHpEpXy4E0qKhm829WAAVNgAAAAAAAAAAAAfFWtToUpVa0406cFrKUnokjle3tvj7Wdzc1FCnBb3z9C6TLwp3+2NdVKynaYmD9mK3Sq9PT8+JcheMb5vQwq1sDwxV5Pgfdzkr7ai4nY4eTo2Ud1a5kmuF0LofNx\/I0GLxVriLRW9tHdxym\/em+dne2taFnbxoW1KNKlDijE7CUr5LQU6Nnjm7y\/wBoAAUNwAAD5nHh05R104Sa1M3sHJvCVYPc4XElpy+7E0xmNivYp5GknrGFy9Hz\/wA6Gi7jOap\/PD1\/BpwAZnSAAAAAAZnba41x9DH0lw691ViowT3tL+OhoqFGNvb06MPdpwUVu03JaGXxs3n9ra2Q960sVwKL5G+RrvfYaw0nklE5aHxzlV4PJeS\/YABmdQAAAAAAAAAAAAAAAAAAAAAAIWYvXjsRc3cWlKnB8HX+s9y72iUruxWUlFNvgZ\/JTqbSbRLEUptWVo+FcOL95rjXbu7WaqjSp0KMKNKChTglGMVxJFJshjvMsPG4nvr3n6s5Pj0\/dXZv62XxabzsuBhs8XbeS1l9uCAAKHSAAAAAAAAAAAACvy2as8PbupcT1m17FKL9qf8APORs7tDSxKVCjDzi9qacCitXp0vT7EXD7O1JXHpTNS84vZvhRhJ6xp8q612IuopK8jmnVk5bunrxfBf7kRrPEX+0N1DI5t8C2T4VG0XN08y730GqjGMIKEIqMYrRJLRJH0CJSbNKVJU1zb1YABU1AAAAAABmNhv1MfeXHLUuX9k\/yX9\/VVDHXNZvRU6M5a\/JNlPsTSdPZynN\/wC1qTku3T8Gi7jOaedeC5J\/g0AAMzpAAABRbVZSVnZKxt05Xd7+nTUeNJtJvv0X8C1vr2hjrSd1cz4NOC62+ZdJn9nbGtk7+ptDkIx4VXdQp6aqK3aNfbtZeC\/szmryb\/4oav6LmW+CxccRiqVqvf8AeqPnk+Pw6ixAKt3d2bxioRUVogACCwAAAAAAAAAAAAAAAAAAAAAM3txUksLToQWsq1eMdFzb399O00hmNrP1cnhbbjVS51fbFfll6feRzbV\/DLxy6mitaKtrSjQWmlKEYLToWh1AKHQlZWAABIAAAAAAAPJSUYuUmkktW3yAHpns3tJK3r+jsXT85vpvg+zvVN9PT3LlI1\/m7rN3MsXgdeDxVrriUV0P88vIXGGwdrhqDjR1nVn+0rS96XgjRJRzkcjqSrPDTyXF+xGwWAWPbvb2Xl8hV1c6jevB15F4l2AUbbd2dFOnGnHDEAAguAAAAAAAAAUW2N5G12fq09Vw7hqnFder7kyxxNt5nibW3aadOlFS159N\/eZ+8m8\/tfRs4b7THPh1XyOS4+\/RdTNYaSyikctJ46sp8FkvyAAZnUDyUlGLlJpJLVt8glJRi5SaSS1bfIZO8vbjaq+eNx0pU8fTf9IuEvf6F+Fy\/ItGNzGrVVNc29EfM\/KbX5lwXs4uynrr\/vX\/AB0fyXzNdGKjFRikklokuQ4WVlb4+1hbW1NQpwW5c\/S+kkCUr5LQUabgm5ZyeoABU2AAAAAAAAAAAAAAAAAAAAAAAABmNo\/\/AFNg\/wD5X94mnI9axtbi4pXFajGdWi9acn+78i0XZ3Mq1N1I4V4fckAAqagAAAAAAAj319bY21lc3VRQpx7W+ZLlY1IbSV2dK1alb0Z1q01CnBaylJ7kjKVbu\/2urytbNTtsXF6VKzWjqdH8O0UrW\/2vrq5vHO1xcJfp0U9HU6f49hq6FClbUYUaFONOnBaRjFaJGuUPM5Pi2jwh9X+jjj8da4y1jb2tJQguN8snzt8rJQBk3c60lFWQAAJAAAAAAAAABU7RZlYiw1p6Suqz4NCGmur3avq1+xMyOQoYyyqXVxLSEFuXLJ8iXSzPYKzuM3kHnsnDSMX\/AESk+JJN7+rk53vLxX9noc1ao77uHef0XMstmMO8VjuFWbdzctVKrfGt26PVq+tsuQfMpRgtZSUV0vQq227s2hCNOKitEfR5KSjFyk0klq2+Q4Tv7Km9J3dCL\/tVEjI5bPQz136Ot7ynZ2Kf6tepLg+UWvIubo7S0YORnVrxprm+RIvb262qvZY3GydOwpv9e4097o8Fy\/I01jY2+OtIW1tDgwguXjk+dvnKyyymz2LtYWttfUIwiuSWrk+dtcp2ltPhYrV5Cl1av8FpXeSWRlScIvHOScn4\/RFqCo9asH\/xCH\/LLwPh7X4FPTz\/AIv7qfgUwS5G2\/pfMuqLoFHLbHBR00vJS+VKf5R5654P4mf0peBOCXIjtFH511L0FF654P4mf0peA9c8H8TP6UvAYJch2ij8y6l6Ci9c8H8TP6UvAeueD+Jn9KXgMEuQ7RR+ZdS9BReueD+Jn9KXgPXPB\/Ez+lLwGCXIdoo\/MupegovXPB\/Ez+lLwHrng\/iZ\/Sl4DBLkO0UfmXUvQZye3WHh7sbif+Gmvy0c\/XehU3W+MvKrfEuCt\/ZqN3LkV7VR+Y04KPF5+7yN7GhPC3NvSaetaeukWlxb0vuCrTWptCpGorxLwAEFwAAAAAAAAAAAAAQsplLfE2Urq4e5bowT3zfMiUr5IiUlFXegyuVtsRZyuLiXRCC45vmRn7HEXm0V1DKZr2Lfjo2qbS05NVzd7+R1xWLr5u6jmszBOLX9HtmvZiudp\/y+M1Be+DJanIouu8U+7wXPxfseRioxUYpJJaJLkPThcXtraRcri5pUUv680itr7WYShqneqo1yU4uXfpoUUW9EdEqkId5pFyDMS23tqkuDZ4+7uJciUUtezU8lndpLrdaYF0emu3+eCX3cuJl2ql\/V38k2agGXdntfeL9W\/t7SL44wW9daX5PfU6pcb8hmbu4140np92xhS1Y31R92D9bIva2SsLfdWvbem+aVVJkCttZhKD0d6pvXT2ISl3paHKjsXhKWnCoVKrT\/AH6j39mhPo4LE0ElTx1vu5ZU1J9rHweIvtD5Lq\/YqJ7dY3hcGjb3VV9EEvyeeteQq7rbZ66n0y10\/wAppYU4U1pCEYr+ytD1tJat6JDFHkN3Wes+i\/8ATM+k9rK26jhqFPXlqS4v+pFflsxtNjaUZ3Ve0t5T3RpwSlJ9Om8s8ltS3cOwwtHzy7eqcorWEenp+x0xGzcqVw8jlqvnd9Letd8Ybu9\/yi6aWckcsoym8NObfN8F01KWGz+d2hpU7vI3ipprSEakd+nPwVolx\/Mso7LZVxUZ7SXMYpacGCklp\/zGoBR1ZHRHY6azd2\/NmY9THU\/8Rmbyqvn4tnG62QwlhbTur68uuBFb5Smt\/Npu11LnM5+0w1NeVbqV5+5Rh7z+fMios8Je525hks7JxpLfStFuSXTzfdl1KVrt2RjUpUcWCEby+3mU2N2dp5y6dW1o1bbHxeiqVZaznv5N2nh0mrhslg4LRWKfTKpN\/kt4xjCChCKjGK0SS0SR9FJVJM2pbJSgs0m\/Iqo7MYWK0WPpder\/ACfUdncNF6rHUOuOpZgrilzNtzT+VdCu9AYj\/htt9NH2sLiktPRlpu\/uI+BOBGJ8y27hyREjicbBaRx9rFdFGK\/B76Mx\/wADbfSj4EoC7JwR5EX0Zj\/gbb6UfAejMf8AA230o+BKAuxgjyIvozH\/AANt9KPgPRmP+BtvpR8CUBdjBHkRfRmP+BtvpR8B6Mx\/wNt9KPgSgLsYI8iL6Mx\/wNt9KPgPRtgtdLG338f6UfAlAXYwR5HOFCjS\/Z0oQ\/wxSOgBBa1gAAAAAAAAADyUlFayaS52Vd1tLhrTdUv6cnrppT9v7akpN6FZTjDOTsWoMvLbKVy+DjMTdXT101a0Xdr0hT2wyGnBhbY+DXG9G3\/mf2L7t8cjDtUH3E35I1BDucvjrTXy99Qg1+65rXs4yj9Ury7X+s83cVk1vhDXTvf4JdDZHCWic527q8Hfwq020urchaC1Yx15aRt5v2Odztth6Gqpzq3D\/u6en30M3dXeS2hylO8jjKtxbU3+jScX5Pj5XxPet\/y6CcrWjtJmfNbG3p2+KtX+pOlBR8o10rn5OjebOjRpW9GFGjBQpwWkYxW5IveMNFmcqhV2m+KXwrktf0Zzh7ZXfFC0sk+LXR6f5jz1Zy94n6Qz1XR8cKSej70u41AKbx8EdXZovvNv19jO0NiMRTetXy9w3x+UqafbQs6GExdtp5LH26a5XTTfayeCrnJ6svGhSh3Yo8jFRWkUkuZHoBU2AByuLq3taflLitTpR55ySBDaWbOoM5c7Z2flPI46hWv6zXsqnBpa\/fuI0rPabPaRvKsMdayW+FP3mula69rRooPjkc72mLyprE\/D30LPKbU47Ga01PzmvroqVJ66PpfIVXmec2nknf64+w4\/JR3Sn8149hdYvZ7HYmKdClw6vLVqb5fw6i0GJR7pXdVKn8ry5L8siY\/GWeLoKjaUVTjyvjlL5slgrcvnbHDUtbipwqrXs0ob5PwXSUzkzobhTjnkkWMpKMXKTSSWrb5DNX+1FW5uPMMDS85rvc62msI\/zzvd8zgrTNbUvh30nj8fxxpR96a6fF9ho7DG2mMt1QtKKpx5XyyfO3yl7RjrmznxVK3d+GPPi\/LkVmF2bhZVfPr+fnN\/N8KU5PVRfR09JegFG23dnRTpxpq0UAAQXAAAAAAAAAAAAAAAAAAAAAAAAAAAB81KkKUHUqTjCEeOUnokZnaXam5xNz5pa28eG4KXlaiei11W5buZlTQWNylaFfN7Q+cSS18jGEoRXW0u5I1VN2uzjntcVJwjm\/F2X+8i\/u9scZQn5K28pe1m9FGjHc383+NSJ59tVlX\/AESzp4+k+KdX3uLp\/CLLH1NnbOCVjXsabSe9VYuXW29Sd6Tx\/wAdbfVj4i6WiGGU+\/U6e+pQrY+tdyjPLZe4uXpvhF6JfJvXd1ItLXZvD2e+nY05PnqLhvvJXpPH\/HW31Y+I9J4\/462+rHxIcpsvGlQi7q1+pJjFRWkUkuZHpDllsbDThZG1jrz1or8nN57EJ6PI26a\/vEUwvkbbyC4osDMbTX1W+uqWz9i9atdrziST\/Tjua8X0fMsq+0mIoUJ1Ff0JuKbUYy1bfNuM7s3lcZayusnkb1K8uZPhR4EnwVrru01493YjSEWviscu0VYStTUlnq78P2a7H2NHG2NK0oRSjTik3ppwnyt9LJJQ1ds8LT10r1KnRGlJa9uhHlt1YSelC0u6r6IJfkrgm87GnaKEVZSRpgZj1ryFXdbbPXU+mWun+UeltqbhfoYWlS13Lyst66d7Q3b4jtVN6XfozTgy6t9srrXh3dtapviSTa7E\/uPVC4utPSWbua65YRb06tW\/sThS1Y3033YP1si5us5i7LXzi+oxa44qXCl2LeVNXbW1nPyWPsrm8qcijHRP7vuJlpsnhrTR+aKtJPXhVm5a9XF3FtSo0qEFTo04U4L92EUkLwXiLbRLVqPlmZlV9rcpupUKONpN+9P3uPp1fcjrR2Oo1airZa9uL+quSU2o6c3P3o0gIxvhkFs0XnNuXn7aHC1srWxpKla0IUoLkiv51O4OdevRtqTq16sKVOPHKb0SKanRlFeB0I95fWuPoOvd1o0qa5ZcvyXGygutp7i\/rStNn7WVxUXvXElpGHU\/u+89s9k5V66u85dSva3+71fAj4\/LcjTBbORzOu5u1JX8eH79DlPPZXOVJW+DtXSo6tO6q7tPDvZPxGy1pj5ecXL87u3vdWpvSfQn93vLqEIU4KFOKhGK0UYrRI+iHPgsiY0M8VR4n9F5IAAodIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABzq29Cv+2o06m7T24pkOpgcRVSUsbbLT+rTUfsWAJTaKuEZaopJ7IYOe\/zLgv+zVl4nz6mYP4af1ZeJegnHLmZdno\/KuhRepmD+Gn9WXiPUzB\/DT+rLxL0E45cx2ej8q6FHHY7BR11s5S+dWf4Z1Wy2ET19Hw3f2peJbgjHLmSqFJf1XQxe0eFx9C5x9hY2cKdW7q6Smm21FNc+vP3GjhgMRT00xts9FouFTT+5U5JKW3+LU9HHyDaT59J\/wADTl5SdlmYUacHObstbfQjU8bYUWnSsreGnFwaUV+CRGKitIpJcyPQZXOxJLQAAEgAAAAj3eQs7CHDu7mnRWmq4ctG\/kuNjUhtJXZIPirVp0acqlWpGnCK1lKT0S6zNVdrK99KdHB46rczW7ys1pFdOni0KWzN9lJxr7QX06mm9W9N6RXZu7O00wW72RzdoxZUlf7dfY+7zax16rtMHbTva\/8AX4L4EfHuRyobLXmSqq5z97Oq+NUKb3R6+JdXaaO0s7axoqja0IUYLkitNfnzncY7d0bhzzqu\/hw\/fqcre2oWlFUbajClTXFGC0R1AMzpSSyQAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMztVCdne4\/NRi3G1qKNVRW\/gt\/wDddZoqFelc0IV6M1OnUXCjJcqFajSuKM6NaCnTmtJRktzRmJ4TNYOq6uDuVXt29fNar4u16daaZorSVuJyyxUpuaV09bapmrBmPW27tvZv8Hc0pLjcdWmufeh68Wr10x95u4\/ZXiRu5cie10eL+5pwZdbW3tdf0TA3NXXem29NOpB3W2F6tKVnb2UX+\/Jpvvb+xO7fEdqg+6m\/JM005wpwc6klCMVq5SeiRUX21eIsYyXnKr1FxQo+1r18XeQIbI3F5NVcxla1xLf7EHolrzN8XUi3s8Di7DR29lTUl+9JcKXaxaC1dyMVeeiUfPN9EU\/pbaDMycMbYqyt5LdXrp6\/NcnYmdrHY+3jW85yled\/cN6vht8Hxf8AO40YIxvRZErZ4t3qPE\/HToc6NGlb01ToUoUoLijCKSXUjoAUOnQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\/\/9k=",
    "razonSocial": "SOCIEDAD LEM LABORATORIOS Y ASISTENCIA TECNICA LTDA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "NICOLAS ORTÍZ",
    "correoContacto": "nicolas.ortiz@lem.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "APP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE HOJA SALE MANCHADA Y RASGADA.",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56956887935",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:12",
    "ubicacionGPS": "LatLng(lat: -23.6065672, lng: -70.3875416)",
    "horaLlegada": "07:47",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


06/05/2026 11:12:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76077994

[06/05/2026 11:12:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76077994', 'KY2252', 1, 24456550, 480830, NOW(), 
				'08:00', '07:47', '11:12', 10, '•Se hace reemplazo de unidad fusora', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778080360.png', '•Pendiente RGOM2356 RKIT2442', null, 'COMPLETADO','LatLng(lat: -23.6065672, lng: -70.3875416)' )
				
[06/05/2026 11:12:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200190

06/05/2026 11:12:40 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200190'                    
				WHERE idllamado = 12461			
				TO ENVIO: micorreo@miempresa.cl, nicolas.ortiz@lem.cl


06/05/2026 11:12:40 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12461			
				
06/05/2026 11:12:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


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

06/05/2026 11:12:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12461
            GROUP BY l.idllamado;
            
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11: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 = 12461
                
06/05/2026 11:12:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12461
                
06/05/2026 11:12:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12461
                [06/05/2026 11:34:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 11:34: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;
				
[06/05/2026 11:34: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;
                

06/05/2026 11:35:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:35:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:35:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            [06/05/2026 11:35: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;
                

06/05/2026 11:35:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:35:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            [06/05/2026 11:35: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;
                

06/05/2026 11:35:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:35:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                [06/05/2026 11:35: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;
                
[06/05/2026 11:35: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;
                

06/05/2026 11:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                [06/05/2026 11:35: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;
                
[06/05/2026 11:35: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;
                

06/05/2026 11:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 11:35:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 11:35:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 11:35:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 11:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 11:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 11:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                [06/05/2026 11:35:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 11:35:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 11:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                [06/05/2026 11:35:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 11:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 11:35:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 11:35:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                [06/05/2026 11:35: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;
                

06/05/2026 11:35:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            
06/05/2026 11:35:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:35:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            [06/05/2026 11:35: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;
                

06/05/2026 11:35:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            
06/05/2026 11:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:35:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                [06/05/2026 11: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;
                

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

06/05/2026 11:35:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:35:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:35:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 11:46:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 11:46:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            [06/05/2026 11:46:02] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 11:46:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 11:46:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 11:46:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 11:46:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            [06/05/2026 11:46:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 11:46:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 11:46:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 11:46:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:46:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:46:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            [06/05/2026 11:46:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 11:46:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 11:46:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:46:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:46:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:46:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                [06/05/2026 11:46: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;
                

06/05/2026 11:46:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:46:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:46:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            [06/05/2026 11:46: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;
                

06/05/2026 11:46:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                [06/05/2026 11:46: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;
                

06/05/2026 11:46:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            
06/05/2026 11:46:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            
06/05/2026 11:46:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            [06/05/2026 11:46: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;
                

06/05/2026 11:46:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            [06/05/2026 11:46:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 11:46:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            
06/05/2026 11:46:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            
06/05/2026 11:46:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            
06/05/2026 11:46:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                [06/05/2026 11:46:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 11:46:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            
06/05/2026 11:46:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            
06/05/2026 11:46:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            
06/05/2026 11:46:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            
06/05/2026 11:46:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            
06/05/2026 11:46:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:46:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            
06/05/2026 11:46:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11: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 = 12471
                
06/05/2026 11: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 = 12471
                
06/05/2026 11:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:47:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            
06/05/2026 11:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:47:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            
06/05/2026 11:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:47:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:47:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:47:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:47:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:47:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            
06/05/2026 11:47:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:47:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:47:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:47:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12471
                
06/05/2026 11:47:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            
06/05/2026 11: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 = 12471
                
06/05/2026 11: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 = 12471
                
06/05/2026 11:47:18 - logentry: =========================================
FECHA: 06/05/2026 11:47:18
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-7jexP2LoVUJlhcqPrECLWown4rbjGjze_.dhN05MDPw8GYsfvjZ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76148340",
    "serieinterna": "TO1953",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "301355",
    "contadorColor": "176839",
    "contadorScanner": "0",
    "detalle": "•Se hace entrega de residual",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12471",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACAAHYDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xAA+EAABAwMCAwUGBAQDCQAAAAABAAIDBAURBiESMUETUWGBkRQicaGxwQcjMtEVJJLhQ8LwFiYzQlJicqLS\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAKhEAAgEDAgMHBQAAAAAAAAAAAQIAAxEhEjEEMmETIkFRcaHhM4GRsdH\/2gAMAwEAAhEDEQA\/AP2ZEWVfb5FZqYHHaVMu0MQ3JPefBdAJNhFd1RdTbTVRSs12v9mkbVXWGKSkkdgtix+Vnl06eaqI5GSxtkjdxMeA5p7wV0qREp1VckbEec5IiJZWEREQhEREIWBe77URVrLTamCSukPvFwyIxjPrjf4LUulcLbbKisIB7JhIBPM8gPXCydJ29zKV11qQTV1pLi5xyQwnYefP0TqABqMzVWZmFNTa+Sek81QNUWiE1jqmKujYMyRBu+O\/l3d3ot+2XKC60LKunPuu2LTzaeoK9RAIwRkFSVN\/u1qs0g92guGDGOjXdPnt8CF3nHWIb0GBvdTjPhK5ERTmyfHODWlziAAMknopWxD+OagqrzKzighPZ02cf6zjfw4lqaprDRafqXteWvkAjaRzyf7ZXdYKNtDZKWEAA9mHOx1cdz9VQYUnzmV+\/WC+Az\/J6qykjrqOWlmGWStLT4eKwtH1EjIKq0z7yUEpaCOrST9wfUKkUrOTaddxTEgQ3FnAef6th9Q31QuQVhW7jrU+x9D8yqREU5qhEREIReZlwpZK+ShZMDUxN4nx4OQNt\/mF6UTgIO0l9YOfWVFus8eR7TLxPOcbDb7k+SpmMbHG1jBhrQAB3BTDP5\/8QXv\/AFMoYMZ6Zxy9Xn0VSqPgATNQ7zu\/W34hYOsaJtVYpJgD2tMRIwjmN8H5b+S3lxexskbo3tDmuBDgeoSKbG8tVQVEKnxnltNYLhaqaqByZIxxf+Q2PzBRYujXvgFwtb3E+yTkNz3EkfUZ80XXFmtFoOXphjvOOrx7XV2q2DcTz8ThnkBgfQn0VQpece2fiDAx27aSn4sdM4O\/\/sPQKoTNgARKOXdutvxCwNY0b57N7VESJaN4laQN8cj+\/kt9dNVA2qpJqd\/6ZWFh8wlU2N5WqmtCvnOFvrG19vgq2jAlYHYznB6j1XpU7oqcus8lK8Fr6WZzC08wDvv55VEhhZiJyi+umGhEXCWRsMT5XnDWNLnHwCWVkvbJmy\/iDcnDb8jh59RwD7KrX5xp6oli1LTV1QeFldJI3IOeInp\/UQv0V7xHG57uTQSVWqLETDwT6kY9T75kzpP8+6XmscN3z8I8Blx\/ZVCmdCRkWaaZw96Wocc94wPvlUyWpzGV4T6Knzz+YRESTTJezARa1u8bc8Lmh5Geux+5RNNkVeobxXsOYi8Rsd37\/wBgipU3mbhfp36n9z7avztdXWblwRBmP6R\/lVOpiybaxvAOxIBx5hU65U3hw3IfU\/uEREk0yWpcWzXlRAPdjr4+0A73c\/qHeqqVNaxp3xQ013p2nt6OUEkf9Oevnj1K36SpjrKSKpiPuSsDx4ZCo2QDMtHuO1P7j0PzO5YWr600tldBHntqsiJgHcefy281uOcGtLnEAAZJPRS1K92pNTe2YHsNuOIjxZ4n5\/V549AFxBm58I3EMdOhd2x\/Z06gtjrfpm3viHv0D2lx5YzzP9WFRVFS2osUtVEcCSmc9vXGW5XfWUkddRy0swyyVpafDxU1p+oMdruFkqnZnpWyYHewj9z8wmvqX0kivZVLDZh7j4nu0WANNwkdXvJ9VvLA0Uc6cjGc4keOXLdb6V+Yy3DfRX0ELPvlcLdZqmp4gHhmGb4947BaCk73x3\/UVPZ4smmpj2lS4cs92fhsPFx7kILnMOIcomNzges09KUDqCwQtkbwyTEyuHdnl8gEWw1oa0NaAABgAdESk3N5SmgRAo8JMx\/yP4gShxAbWwZbv1AH\/wAn\/XKnU7q6jf7NFdqZo9poXh+f+3OfkfllbNvrYrjQxVcJ92RucZ\/SeoPwKdsgGQo9x2pn1H3+Z6URFOap1zwR1MEkEreKORpa4d4KmtO1TrPUVFkr3iNsTi+CR7gA5pzt8ifVVK8Fys1FdmtFVGSW7BzXYOE6kWsZCrTYkOm495iXe6SX6p\/gdocHsePz6hu7Q3uBHT68lQW6ghtlDFSQDDYxgnq49SfiuVHQ0tvh7KkgZEzuaOfxPVehDNiw2hTpEMXc3Y+3QQp7UdnqZZY7tazwVtODkNG8gxjzOM\/EKhRcVipvHqUxUXSZK6CqWOtk9KSBJHKXcPXBA+4KqlBTWqeTWNdBQ1ZpKgDtonA4Ds4JaccufjyWsarV7YvZ\/Y6d0pyBNkevPHf+yo63Nwd5i4esUTQynGMZnt1Fev4dE2kpcvrqkcMTGjJbnbi\/ZdmnrKLPRYkw+qlPFNIDnJzsF57Lp+alq3XK5VHtNc\/kc7M2xt5bLeSMQBpE0U0Z27Rx6Dy+YRESTTOL2NkjdG9oc1wIcD1CkpGXDSFXJLTROqrVK7icwc4v2+PIqvXxzQ5pa4AgjBB6pla0jVpa7EGxGxnRQ19NcaZtRSyiRjh05jwI6FehTVVpaSlmNXYap1HNjePOWP5nr5bHZdQ1Nc7VJ2V8trg0f48I2O\/ofUfBNovyyfblMVRbr4SqRZtJqG01rQYq6IOP\/JI7gd6Hn5LQZIyVvFG9r297TkJCCN5oV1bKm85IiLkaERfHODWlziAAMknoiEmLz\/I6ytdadmTDsT8Tkf5gqhResL3bqqljpqWcTTxSiQOYOJg59eR+a7qWjv2o4GT11d7JRyDIjg2Lx+x8SfgrFbqCcTz0rBarog1Xzj3mrc9U222v7LtO3mzjs4t8fE9Pqs41ep72HNpqdlsgPJ8uQ8j6+gHxWvbNPW21YdTwcUo\/xZPed\/byWml1KNhLdnVqc7WHkP7M2zWua2QyiorpauWV\/E5z84HwGSi0kSE3NzNCqEGkQiIuRoXxzQ5pa4AgjBB6r6iITJq9L2arJL6JjHE5zF7n02S1acobPUyT0rpuKRvCQ9wIAyD3eC1kTamta8l2NPVq0i8LhLNFBGZJpGRsHNz3AAeZXNeetooLhSvpalnHE\/GRnHI5SiUN7Y3mLW6uhM3stop319SeXADwD9\/p4rz\/AOzt2vEolvldwxZyKeA7D7D5qho7fSW+Mx0kDIg7njmfieZXpVNYHLM3YM+apv0G3zMmostFS2SrpqOlYwvgeMgZcTjbJ5nfC6NGzdrpuAZBMbnNPhuT91tvbxxubnHECMqb0K4\/wmoiI\/4dQ4DfwCL3Q3nCoSuth4EfqUyIinNcIiIhCIiIQiIiEIiIhCIiIQiIiEKY0d7k12gaMRx1J4R3cx9gqV7i2Nzg0uIBIaOvgsTS1FJDT1NZNDLBJWSl5ik5t3PgD1KccpmeoCaqW8LzdRESTRCIiIT\/2Q==",
    "razonSocial": "SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "SAN PATRICIO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "CAJA RESIDUAL",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I289\",\"id_control\":\"28589\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:47",
    "ubicacionGPS": "LatLng(lat: -23.5659979, lng: -70.3933866)",
    "horaLlegada": "08:35",
    "horaDespacho": "11:12",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 06/05/2026 11:47:18
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-7jexP2LoVUJlhcqPrECLWown4rbjGjze_.dhN05MDPw8GYsfvjZ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76148340",
    "serieinterna": "TO1953",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "301355",
    "contadorColor": "176839",
    "contadorScanner": "0",
    "detalle": "•Se hace entrega de residual",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12471",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACAAHYDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xAA+EAABAwMCAwUGBAQDCQAAAAABAAIDBAURBiESMUETUWGBkRQicaGxwQcjMtEVJJLhQ8LwFiYzQlJicqLS\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAKhEAAgEDAgMHBQAAAAAAAAAAAQIAAxEhEjEEMmETIkFRcaHhM4GRsdH\/2gAMAwEAAhEDEQA\/AP2ZEWVfb5FZqYHHaVMu0MQ3JPefBdAJNhFd1RdTbTVRSs12v9mkbVXWGKSkkdgtix+Vnl06eaqI5GSxtkjdxMeA5p7wV0qREp1VckbEec5IiJZWEREQhEREIWBe77URVrLTamCSukPvFwyIxjPrjf4LUulcLbbKisIB7JhIBPM8gPXCydJ29zKV11qQTV1pLi5xyQwnYefP0TqABqMzVWZmFNTa+Sek81QNUWiE1jqmKujYMyRBu+O\/l3d3ot+2XKC60LKunPuu2LTzaeoK9RAIwRkFSVN\/u1qs0g92guGDGOjXdPnt8CF3nHWIb0GBvdTjPhK5ERTmyfHODWlziAAMknopWxD+OagqrzKzighPZ02cf6zjfw4lqaprDRafqXteWvkAjaRzyf7ZXdYKNtDZKWEAA9mHOx1cdz9VQYUnzmV+\/WC+Az\/J6qykjrqOWlmGWStLT4eKwtH1EjIKq0z7yUEpaCOrST9wfUKkUrOTaddxTEgQ3FnAef6th9Q31QuQVhW7jrU+x9D8yqREU5qhEREIReZlwpZK+ShZMDUxN4nx4OQNt\/mF6UTgIO0l9YOfWVFus8eR7TLxPOcbDb7k+SpmMbHG1jBhrQAB3BTDP5\/8QXv\/AFMoYMZ6Zxy9Xn0VSqPgATNQ7zu\/W34hYOsaJtVYpJgD2tMRIwjmN8H5b+S3lxexskbo3tDmuBDgeoSKbG8tVQVEKnxnltNYLhaqaqByZIxxf+Q2PzBRYujXvgFwtb3E+yTkNz3EkfUZ80XXFmtFoOXphjvOOrx7XV2q2DcTz8ThnkBgfQn0VQpece2fiDAx27aSn4sdM4O\/\/sPQKoTNgARKOXdutvxCwNY0b57N7VESJaN4laQN8cj+\/kt9dNVA2qpJqd\/6ZWFh8wlU2N5WqmtCvnOFvrG19vgq2jAlYHYznB6j1XpU7oqcus8lK8Fr6WZzC08wDvv55VEhhZiJyi+umGhEXCWRsMT5XnDWNLnHwCWVkvbJmy\/iDcnDb8jh59RwD7KrX5xp6oli1LTV1QeFldJI3IOeInp\/UQv0V7xHG57uTQSVWqLETDwT6kY9T75kzpP8+6XmscN3z8I8Blx\/ZVCmdCRkWaaZw96Wocc94wPvlUyWpzGV4T6Knzz+YRESTTJezARa1u8bc8Lmh5Geux+5RNNkVeobxXsOYi8Rsd37\/wBgipU3mbhfp36n9z7avztdXWblwRBmP6R\/lVOpiybaxvAOxIBx5hU65U3hw3IfU\/uEREk0yWpcWzXlRAPdjr4+0A73c\/qHeqqVNaxp3xQ013p2nt6OUEkf9Oevnj1K36SpjrKSKpiPuSsDx4ZCo2QDMtHuO1P7j0PzO5YWr600tldBHntqsiJgHcefy281uOcGtLnEAAZJPRS1K92pNTe2YHsNuOIjxZ4n5\/V549AFxBm58I3EMdOhd2x\/Z06gtjrfpm3viHv0D2lx5YzzP9WFRVFS2osUtVEcCSmc9vXGW5XfWUkddRy0swyyVpafDxU1p+oMdruFkqnZnpWyYHewj9z8wmvqX0kivZVLDZh7j4nu0WANNwkdXvJ9VvLA0Uc6cjGc4keOXLdb6V+Yy3DfRX0ELPvlcLdZqmp4gHhmGb4947BaCk73x3\/UVPZ4smmpj2lS4cs92fhsPFx7kILnMOIcomNzges09KUDqCwQtkbwyTEyuHdnl8gEWw1oa0NaAABgAdESk3N5SmgRAo8JMx\/yP4gShxAbWwZbv1AH\/wAn\/XKnU7q6jf7NFdqZo9poXh+f+3OfkfllbNvrYrjQxVcJ92RucZ\/SeoPwKdsgGQo9x2pn1H3+Z6URFOap1zwR1MEkEreKORpa4d4KmtO1TrPUVFkr3iNsTi+CR7gA5pzt8ifVVK8Fys1FdmtFVGSW7BzXYOE6kWsZCrTYkOm495iXe6SX6p\/gdocHsePz6hu7Q3uBHT68lQW6ghtlDFSQDDYxgnq49SfiuVHQ0tvh7KkgZEzuaOfxPVehDNiw2hTpEMXc3Y+3QQp7UdnqZZY7tazwVtODkNG8gxjzOM\/EKhRcVipvHqUxUXSZK6CqWOtk9KSBJHKXcPXBA+4KqlBTWqeTWNdBQ1ZpKgDtonA4Ds4JaccufjyWsarV7YvZ\/Y6d0pyBNkevPHf+yo63Nwd5i4esUTQynGMZnt1Fev4dE2kpcvrqkcMTGjJbnbi\/ZdmnrKLPRYkw+qlPFNIDnJzsF57Lp+alq3XK5VHtNc\/kc7M2xt5bLeSMQBpE0U0Z27Rx6Dy+YRESTTOL2NkjdG9oc1wIcD1CkpGXDSFXJLTROqrVK7icwc4v2+PIqvXxzQ5pa4AgjBB6pla0jVpa7EGxGxnRQ19NcaZtRSyiRjh05jwI6FehTVVpaSlmNXYap1HNjePOWP5nr5bHZdQ1Nc7VJ2V8trg0f48I2O\/ofUfBNovyyfblMVRbr4SqRZtJqG01rQYq6IOP\/JI7gd6Hn5LQZIyVvFG9r297TkJCCN5oV1bKm85IiLkaERfHODWlziAAMknoiEmLz\/I6ytdadmTDsT8Tkf5gqhResL3bqqljpqWcTTxSiQOYOJg59eR+a7qWjv2o4GT11d7JRyDIjg2Lx+x8SfgrFbqCcTz0rBarog1Xzj3mrc9U222v7LtO3mzjs4t8fE9Pqs41ep72HNpqdlsgPJ8uQ8j6+gHxWvbNPW21YdTwcUo\/xZPed\/byWml1KNhLdnVqc7WHkP7M2zWua2QyiorpauWV\/E5z84HwGSi0kSE3NzNCqEGkQiIuRoXxzQ5pa4AgjBB6r6iITJq9L2arJL6JjHE5zF7n02S1acobPUyT0rpuKRvCQ9wIAyD3eC1kTamta8l2NPVq0i8LhLNFBGZJpGRsHNz3AAeZXNeetooLhSvpalnHE\/GRnHI5SiUN7Y3mLW6uhM3stop319SeXADwD9\/p4rz\/AOzt2vEolvldwxZyKeA7D7D5qho7fSW+Mx0kDIg7njmfieZXpVNYHLM3YM+apv0G3zMmostFS2SrpqOlYwvgeMgZcTjbJ5nfC6NGzdrpuAZBMbnNPhuT91tvbxxubnHECMqb0K4\/wmoiI\/4dQ4DfwCL3Q3nCoSuth4EfqUyIinNcIiIhCIiIQiIiEIiIhCIiIQiIiEKY0d7k12gaMRx1J4R3cx9gqV7i2Nzg0uIBIaOvgsTS1FJDT1NZNDLBJWSl5ik5t3PgD1KccpmeoCaqW8LzdRESTRCIiIT\/2Q==",
    "razonSocial": "SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "SAN PATRICIO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "CAJA RESIDUAL",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I289\",\"id_control\":\"28589\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:47",
    "ubicacionGPS": "LatLng(lat: -23.5659979, lng: -70.3933866)",
    "horaLlegada": "08:35",
    "horaDespacho": "11:12",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


06/05/2026 11:47:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76148340

[06/05/2026 11:47: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('76148340', 'TO1953', 1, 24456550, 301355, NOW(), 
				'11:12', '08:35', '11:47', 10, '•Se hace entrega de residual', -1, 
				'', '','1','176839',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778082438.png', '', null, 'COMPLETADO','LatLng(lat: -23.5659979, lng: -70.3933866)' )
				
[06/05/2026 11:47:18] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200191
[06/05/2026 11:47:18] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200191', 'TOS-I289', 1)
				
[06/05/2026 11:47:18] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28589 and
				    IDproducto = 'TOS-I289'
				

06/05/2026 11:47:18 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I289';
                
06/05/2026 11:47:18 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200191'                    
				WHERE idllamado = 12471			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


06/05/2026 11:47:18 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12471			
				
06/05/2026 11:47:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


06/05/2026 11: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 = 12471
                
06/05/2026 11: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 = 12471
                
06/05/2026 11: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 = 12471
                
06/05/2026 11: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 = 12471
                
06/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            
06/05/2026 11: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 = 12471
                
06/05/2026 11: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 = 12471
                
06/05/2026 11: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 = 12471
                
06/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            
06/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12471
            GROUP BY l.idllamado;
            [06/05/2026 11:47:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 11:47:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 11: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 = 12471
                
06/05/2026 11: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 = 12471
                
06/05/2026 11: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 = 12471
                
06/05/2026 11: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 = 12471
                [06/05/2026 11:47: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;
                

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

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

06/05/2026 11: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 = 12260
                
06/05/2026 11:47:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11: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 = 12260
                
06/05/2026 11: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 = 12260
                
06/05/2026 11:47:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                [06/05/2026 11:48:45] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[06/05/2026 11:48:45] 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;
                
[06/05/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;
                

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

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

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

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

06/05/2026 11:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/2026 11:50:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:50:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                [06/05/2026 11:50: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;
                
[06/05/2026 11:50: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;
                

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

06/05/2026 11:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:50:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:50:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11: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 = 12260
                
06/05/2026 11: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 = 12260
                
06/05/2026 11: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 = 12260
                
06/05/2026 11: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 = 12260
                
06/05/2026 11: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 = 12260
                
06/05/2026 11: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 = 12260
                
06/05/2026 11: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 = 12260
                
06/05/2026 11: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 = 12260
                
06/05/2026 11: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 = 12260
                
06/05/2026 11: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 = 12260
                
06/05/2026 11:50:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11: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 = 12260
                
06/05/2026 11: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 = 12260
                
06/05/2026 11: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 = 12260
                
06/05/2026 11: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 = 12260
                
06/05/2026 11:50:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11: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 = 12260
                
06/05/2026 11: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 = 12260
                
06/05/2026 11: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 = 12260
                
06/05/2026 11: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 = 12260
                
06/05/2026 11:51:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:51:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11: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 = 12260
                
06/05/2026 11:51:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11: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 = 12260
                
06/05/2026 11: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 = 12260
                
06/05/2026 11:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:52:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:52:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:52:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:52:02 - logentry: =========================================
FECHA: 06/05/2026 11:52:02
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-hEL.00XPreH2JWOHJ.dCuzinRfLEaY97_ysb9le72ceuXZLlUBr
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76148340",
    "serieinterna": "TO2005",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "1534968",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se hace entrega de residual",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12260",
    "observacion": "•Pendiente revisión de mancha en hoja. posible cambio de grilla",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADJAYQDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAQMEAgf\/xABLEAACAQMBBAQKBgcFBgcAAAAAAQIDBBEFBhIhMUFRkaETFBYiYXGBscHRFTIzQlXSIyRSYpKiwgclNeHwQ0RydIKyNDdTVmN18f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAgMECAYDAQAAAAAAAAABAgMREiExBBNBURQiMmGBocHRQlJTcZGxIzPh8P\/aAAwDAQACEQMRAD8A\/ZgAAAAAAAAAAAAAAee9vrfTrWVzdVFTpx6+bfUutmB5VX9yt+w0G5q0vuzllby9i+LPPb05bW65Ur1956ZaPdp08rE5cOeOeeL9WEV0YqMVGKSSWEl0FjSjqrsyKVStdxdo\/sm47XzozxqWj3VnD9tpyS7l08DbsNStNToeGtKyqRWMpc4vGcNHplFSi4ySaaw0+kmtW2b8Wl9J6GnbXdLznSp\/VqLqS+HJjqy7jr31PO+JfhlMDM0LWaes2KqpblaHm1qf7MvkaZBpp2ZohNTipR0YABwkAAAAAAAAAAAAAAAY20OsXOi+K14UYVLadTdrNp5ivRx6s9hsJprKeUzw63Y\/SOj3NrhuUoZhjnvLiu9Hj2Svne6FSjNt1LdulPe58OXc12E7JxuZ1JxrOL0auvDU2wAQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMbajUpafpElS417h+CppcXl8+hmyS1WL1rbeNNyzb6bDecWuDn\/APuP4ScFnd8DPtEmoYY6vI2NC0xaTpFG1f2mN6o+uT5\/L2GiARbu7l0YqEVFaIAA4SJLWKE9m9Zp61aJ+K15bl1TXLL6fbz9a9OCrhONSnGpCSlGSTi10o6dQtI3+n17SeMVYOOWuT6H7HxMbY+7qT0+rp9xL9PY1HTcelR6O\/K9hY+tG\/IyxW6q4eEs\/HiUIAKzUAAAAAAAAAAAAAAACW09vR9s7qxcWqOoLwtNv9rDfv3l2FSTe2NvOnQtdWoRzWsqqb6t3PT7Uu1k4a25mbaU1FVF8Ofhx8ikB02txC7tKNzT+pVgpr1NZO4gaE7q6AAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4bSWW8JEzsVHw9LUNRkvPubl5b59f8AUbWs1\/FtFvKvTGjLHDpxhd54tkaHgNm7bPOpvTfHrbx3YLFlBmafWrxXJN+htAArNIAAAJi3irLb+vCKShd0N7CxweM5\/lfaU5MV\/wDzEtv+WfukWQ4\/YzbR8D70U4AKzSAAAAAAAAAAAAAAADpvLWne2dW1q\/UqwcX6MncAcaTVmText1U8Sr6ZXju1rGo4tPqbfxz3FISt9KOhbY0r1rdt7+Hg6jfJSzxfdF+1lUTnrfmZ9mdoum9Y5e3kAAQNIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABh7Y1vBbN3CXOo4x9XnJ\/A0NJoq30izorHmUYJ46XjizG27m46DTS+\/cRT7JP4FHTgqdOMFyikib7CM0c9ok+SXqfQAIGkAAAExWW9\/aJQxx3bZ59HCXzKcl9L\/XtuNRustxtoeCXUnwXP2S4FkOL7jNtGbgu9eRUAArNIAAAAAAAAAAAAAAAAABl7RaWtW0irQis1YefS\/4l0e3l7Tr2Y1P6S0eDm34ai\/BVE3l5XJv1r4mwSdaUtm9qvC8fENSfn9UJ55\/66G+osj1o4TLV\/jqKpweT9GVgAKzUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS+22ZUdPpclO5XH\/XrKgj9qNRtq+r6ba06ic6FyvCcPq8YlgWSyijLRalWqNd36AAKzUAAAeXUryGn6dXu5tYpQbWel9C9rwjK2OtJUNG8ZqJOrdzdWTTXFdHLt9p4dcrVNotWp6HZyfgKM966qpcItcMez3+o89Pai\/t7ydZ0E9Mo1fATjHjuLoab45wvVzLlB4bI8+deCrYnosl9+L8C1B8wnGpTjUhJSjJJxa6UfRSegAAAAAAAcNpLLeEjzVtSsLfhWvbem+qVVJixxtLU9QJjWNtLayqwp2Pg7p8HOSbwuK4Lr4Z6eo7Y7b6O6MZylVU2sumqbbT6s8ie7la9ijpVHE44lkUQJmW3emt4pW13UfohH5nHldeVP\/D7PXlVe34RY3cuRzpdHhL9lOCY8odeqfZ7O1I9Pnt8uxD6U2sn9notCOeW9Ll\/Mhu2Okw4JvwZTmfremQ1fS6trJLfxvU2\/uzXJ\/D2mR4bbOp\/utnTz6Vw\/mZwrfbOp\/vlpSz6Fw\/lZ1Rs73RGVZTTi4SafcevZTVJ32nO2uFu3Nm1TmnzaXBN+ng0\/Ubp+e3tjrWjarSuK2oUqVW\/k4TrUuCXFZysL0Pkbfk9r0uMtoqifVFPHvJSgr3uVUa9TDgcG2vt4cSnBMeS+rPi9p7tN88KX5x5I3j4y2gvG+l8eP8xDDHmX72r9PzRTgmPJC6\/H7zv\/ADDyQuvx+87\/AMx3DHmN7W+n5opwTHkhdfj953\/mHkhdfj953\/mGGPMb2t9PzRTgmPJC6\/H7zv8AzDyQuvx+87\/zDDHmN7W+n5opwTHkhdfj953\/AJh5IXX4\/ed\/5hhjzG9rfT80U5w2kst4SJnyPry4VNdvJrqy\/mFsPaVHm5v7utjkt5L3pjDHmN5W+TzRu1tSsLfhWvbem+qVVJnjrbUaJRzvX9OTSz5icvcjz0di9EpY3qFSq0\/v1Hx7MHspbPaPRSUdOt3j9uG97x1O8X2h8Evy\/Y9Gn6ja6pbeMWlRzp7zjlxa4r1g76VGlQgqdGnCnBfdhFJAg7cDRG9utqfYMjVdQ1ayrxla6Yrq2wt5wl5\/p4f5M89jthp1zKNK637Ktyca3JP1\/F4O4G1dFTr01LDJ2feb4OIyUoqUWmmsprpOSJcAAAD4qycaU5Lg1FtH2ddf7Cp\/wv3A49D8wlb+MaTaSgl4a5vJxbbfVHHvfaW2yWpS1DR1Cq14W3l4OSy846G89nsJGz\/w7SP\/ALCX9BR6Z\/dm2t9ZZapXcPDQX73P4y7DVUzVjxdkbhNS4OyfivcqADrrXFC2hv161OlH9qclFd5lPbbtqdhh7Q634lT8Qs06uoXC3acIc4Z+98jwa5tnQt4u30ycatZ8HWazCHq6zJ0HU\/FpzuaWm3epX1XjKrLiovjywn6eJdGm7Ymjz621wb3cH937d5V7O6MtIsMVMSuqz3q885y+OF7M+8xdnLOGoafrVpPGKtaUctZw+OH7HhnoV3tfer9FZW9nF8pTfFdPJt+4x9D0e+vbzULV6rUtZUKv6WNFvz5ZfHg11Eksm2yuUlihGEHbNZ5Xy7zZ2V1aNGzq6bqFWFGtZT3F4SSWV1cerj7MHvr7V6JQbUr6Mn1U4yl3pYJq42es7Daixs67qXFtcx851JNNy4rGVj93tKyhoGkW\/wBnp9DPXKG8+8jNQvfmWUHXccCt1cszJltzZze7aWN3cT6FupZ7G33HC17aG6X6poDp55OtJ4790poQhTjuwiorqSwfRHFHgi\/dVX2p\/hL\/AEmHS2yuUs3FpaJvjhJv3M4ez2v3C\/WdoZwzwapJ4x7GioA3j4IdGi+02\/Fkx5EUKvG71O8rt83vJZ7cnpo7F6JSxvUKlVp\/fqPj2YN4HN5LmdWy0V8KI2x0qwe217ZStKcrejbpwpyWUn5jz6frPmd+wtvQq6PUqVKFKU43Eoqbgm8bsXzO2s\/Fdv6U5crm33U30f6a7zjYH\/A63\/My\/wC2JbJvD+DHSjFVkrcZelimjFRWIpJdSOQY0NoqU9pHoyo8Un+l3uclHeaxj49BQk3oejKcYWxPXI2QAcJgA+KtanQpSq1pxp04LMpSeEkBoYW2tKE9n5VGvOpVIyg10POPibVnWlcWVCtL61SnGT9bWSVlXuNsNUjRoKVLSbeeak2vtX6uvq6ufoK6MVCChHlFYXHJZJWik9TLReOpKpHTJfex9AArNQAAAAAAAAAAAAAAAAAAAAAPHf6VY6nT3bu3hUaTSm150fUz2A6nY5KKkrNEvU2Y1DTqjq6HqU6cUvsKrynxz6uvo95w9ptT0uXg9a0uajFfb0OMX8O9FScSipRcZJNNYafSTx37SuZuj4f65W81+DLtNptGvMKF9ThJ\/dq+Z7+BpwqQqx3qc4zj1xeUZ11s5pF43KpY0oyfHeprceevhz9pmS2ItKcnOzvru2k+qSa+D7xaD4ncW0R1Sf2dv2UFzdULO3lXuasaVKHOUjHutr9Ep03FXM6u8sNU6bz34R462zWuOjOjHX51qc01KNaLeV1cWzPqbE6tV8yVxYKHXGG6+6PxJRjDiyirW2n4IevqYNDUJqhZ0IUd6VC6dVNPCk3u4j\/Ka+oXGty1+yvLilb6fcTg4UajacccU2+L\/a6jEvNNq2GpuxrtKcZqLkuWHyfHHRxNnVtl6Gm32mWqualTxyruTlhLC3orgv8AqNDw3R5UFVwvua427j5vr27bdOW0Ne7rNZVOzi3F+jKa7kzu07YzUNQmq+pVZUIPi1J71SXy9vYaq2Et6U9+31G5pSS4SWMrswffkjeLjHaC8T6Hx4fzFe8VsmbFs1RyvUhfx92a1joGl2FOMaNnTco\/7SpFSk\/azQSSWEsJEz5Lar\/7nvOyX5zh7O69Q8622iq1JY5Vt7Ho5uRS0n8RujOcFZUrLwKgl7P+7tvLqhhqF9S8JH0vnnukcultlQeFXtLlLpwlnuRjaxea3RvrPVL\/AE6NCdtLdUoN7s+Occ36e0lCGquU16+Sk4tWd9PybG2Wbetpd9H61G4x1N8n\/SVB+f7Q6tqOoUbWnc6VO1SqqUG2\/PfVy9Js+VGrQ4VNmrrhzcXLH\/aHB4UKe0U1Vm87O3BlOCY8sqkeFTRLyD6sf5Dy5tfw+8\/hXzIbuXI0dLo\/N+ynBMeXNr+H3n8K+Y8ubX8PvP4V8zu7lyHS6PzFOCY8ubX8PvP4V8x5c2v4fefwr5jdy5DpdH5jjbRStXp2qQfn21fGHyeVn+nvO3YanubP73\/qVpS9y+BkbQ7T2mq6TO1VncU5uUZQlNJJNP19WTt0baWVlpFva2+kXNwqcXmcc4bbbfQ+nJZhlu7WMSrUulOd8ref\/Ir7y5hZ2da5qfVpQc3xxnC5EBs7Cr5U2F3XfG7VWrl9bU170evXNf1S\/tI6fLSatm7uSjDfb3p4a4LKXTg8mpUtbsYWF5cW1CzVru06Lg1w6s8Xnk32nYRsrPiR2ispzUoptRs9O\/2P0U+KtalQg6lapCnBfenJJE1HQ9obhJ3O0Dgv\/hzy9mD7p7E2cpqpe3l1dz6d6eE\/j1dJVhitWb97VfZh+Wv9O6+2w062kqVrv31eX1YUeKb6s\/LJ4lpWtbQ1Y1NXqeKWeVJWsOb9f+fYihstKsNOju2lrTpfvJZk\/W3xZ6xiS7KObmdT+15clp\/p021rQs7eNC2pRpUocoxO4ArNKSSsgAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIvbmwhTuLTUlw3pKnU9nFPsz2Hr2knGvrmz\/g5KSdbfUuhreg\/gejbekqmzspP\/AGdWMl7viTOkXte91jRrWvB71o3Fb3THmuxe5GmGcU+VzyK7UK0ofNh\/Z+jgAzHrgAAA8Gt2C1LSLi2xmUo5gv3lxXej3g6nZ3IyipRcXxPz6Go\/Svk\/aP7a3r+Dqx6Uk4YfZnsZ+gkBqVzZ6bt07tU3KlSknW3eOJOPF969qL2E41KcakJKUZJOLXSi2rwsYtjec03dp2\/GR9AApN4AAAAMTaXWJ6fbQtbVOV7dvcoqPOPJZ7+B1Jt2RCpNU4uTMu\/UdqNqIWEZ71jZRcqsovhJ9OH2L2M9Ox9arbK70a4wqtnUzH0xb+fH\/qRpbP6RDRtMhQ51p4nVf72OXqRla5s\/qFXU6l7plVR8agqVdcE1Hpfp5L0lt0+rwMO7qQtWteT1Xc+HhkfGnSe0G1tXUOdpYLcovPCT6H732FDqenUdVsZ2lf6suKkucX0NHzpOmUdJ0+naUVy4zl+1LpZ7SEpZ5cDTSpWg1PNvUmnS2k0eLhbKlqFtBKNOMn56SwvR1enmevStpbbUK7tK9OdpeLg6NRNZeOPHHX0M2jL1fZ+x1mn+nhuVlyrQSUvU+teg7iT7RF06kM6bv3P3NQHXb0fF7alR35VPBwUd+by5YWMv0nYVmpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGPtZTVTZq8T6FGS4Z5STI66valvqOmX1rSU6lvZUpVOnewsNv2YReazDwmi30Ou3nj17rJDYWg7nULivVW\/GhQVNJ4wt5\/JPtNFN2g2zy9qi5V4xXH0zLSwvqGo2dO6t5qUJrPqfSn6T0EfKnX2O1KVeEZ1dJuJedFPLpP1f6yiqtbu3vaEa9tVjVpy5SiyqUbZrQ20auLqyyktff7HcACBeDz397T06xrXdb6lKO9jrfQva8I720llvCRJXlae1uqxsrVyWnWs816ifCo88l2PHaSjG7z0Ka1TBG0dXofezuk\/Sek3t3qMFKepTbzjikuTXVxzj1I50S\/r6JeLQdVfT+rV2\/NkuhfLsKiMYwgoRWIxWEupGfrWi2+s2vg6nmVocaVVLjB\/L0E8d209CncOEU6faXnzNIErabQ3ujzVltDQnFLEYXUI7ykutvp9nHrRS29zQu6KrW1aFWm+UoPKISi0X060ammvLidoBkaptNp2mQa8LG4r5wqNKSbz6eo4k3kiU5xgrydj1apqlvpNlK6uHwXCME+M31Ix9A02ve3s9e1OmvC1uNCm\/uR6Hj1fM6bLR7zXryOqa5HcpR+xtehL0rq736irJu0VZameKlWljkrRWi9X6AAFZrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOq6ip2laLi5pwknFLOeHImtgYRjpVy+Kn4fEk+pRWPeyqJfZd+A1zWrPgkq2\/FZ6Mvo9qLI9loy1VatCX3XkUtWjTr0pUq0I1Kc1iUZLKaJmvs\/f6LXleaBWbhnMrObbi1j18ff6SpBGMmi2pSjU11XHiTC2xna5WpaPdW7i8ScVlZ9uOfE5nt1p7TVvbXVaeG91QS+JTHzGEIZ3YxjnqWCWKPIr3dbhPyJWrHaHaRKlOj9GWE\/rZeZyXU+l9iRR2Fhb6baQtbWG5Tj2yfW+tnpBFyvkTp0VB4m7vmwACJcdVxbULqk6VxRhVpv7s4ponquxdGnWdXTNQubFt8VFtperin2tlMCSk1oVVKNOp2kTEtjqlfhd61d101hqTfHtbNPTtndM0zEqFup1E8qrUxKS9T6PYagOucnlcjHZ6UXdLMAAgXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmLX9X\/tBu4rgq9unj04j8mU5L6riz230y54JV4Ok\/S+K\/qRZDiu4zbTkoy5NexUAArNIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJnbahJWNrqFP69pWT6OT\/zSKY8mq2f0hpdzadNWm1Hj97o78EoO0kymvDHTcUd9CtC4t6deDzCpBTi\/Q1k7DB2Ou\/GdAp05N79vJ05ZXtXczeElZ2JUp44KXMAAiWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEvaUq+kbZ1aMISdrqKdTKTxGXF+\/PaioAJSlcqp092mk8rgAES0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\/9k=",
    "razonSocial": "SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ROMANA FONSECA",
    "correoContacto": "contacto@colegiosanpatricio.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "APP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "9889900",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I635\",\"id_control\":\"28587\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:52",
    "ubicacionGPS": "LatLng(lat: -23.5657403, lng: -70.3935717)",
    "horaLlegada": "08:36",
    "horaDespacho": "11:47",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 06/05/2026 11:52:02
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-hEL.00XPreH2JWOHJ.dCuzinRfLEaY97_ysb9le72ceuXZLlUBr
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76148340",
    "serieinterna": "TO2005",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "1534968",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se hace entrega de residual",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12260",
    "observacion": "•Pendiente revisión de mancha en hoja. posible cambio de grilla",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADJAYQDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAQMEAgf\/xABLEAACAQMBBAQKBgcFBgcAAAAAAQIDBBEFBhIhMUFRkaETFBYiYXGBscHRFTIzQlXSIyRSYpKiwgclNeHwQ0RydIKyNDdTVmN18f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAgMECAYDAQAAAAAAAAABAgMREiExBBNBURQiMmGBocHRQlJTcZGxIzPh8P\/aAAwDAQACEQMRAD8A\/ZgAAAAAAAAAAAAAAee9vrfTrWVzdVFTpx6+bfUutmB5VX9yt+w0G5q0vuzllby9i+LPPb05bW65Ur1956ZaPdp08rE5cOeOeeL9WEV0YqMVGKSSWEl0FjSjqrsyKVStdxdo\/sm47XzozxqWj3VnD9tpyS7l08DbsNStNToeGtKyqRWMpc4vGcNHplFSi4ySaaw0+kmtW2b8Wl9J6GnbXdLznSp\/VqLqS+HJjqy7jr31PO+JfhlMDM0LWaes2KqpblaHm1qf7MvkaZBpp2ZohNTipR0YABwkAAAAAAAAAAAAAAAY20OsXOi+K14UYVLadTdrNp5ivRx6s9hsJprKeUzw63Y\/SOj3NrhuUoZhjnvLiu9Hj2Svne6FSjNt1LdulPe58OXc12E7JxuZ1JxrOL0auvDU2wAQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMbajUpafpElS417h+CppcXl8+hmyS1WL1rbeNNyzb6bDecWuDn\/APuP4ScFnd8DPtEmoYY6vI2NC0xaTpFG1f2mN6o+uT5\/L2GiARbu7l0YqEVFaIAA4SJLWKE9m9Zp61aJ+K15bl1TXLL6fbz9a9OCrhONSnGpCSlGSTi10o6dQtI3+n17SeMVYOOWuT6H7HxMbY+7qT0+rp9xL9PY1HTcelR6O\/K9hY+tG\/IyxW6q4eEs\/HiUIAKzUAAAAAAAAAAAAAAACW09vR9s7qxcWqOoLwtNv9rDfv3l2FSTe2NvOnQtdWoRzWsqqb6t3PT7Uu1k4a25mbaU1FVF8Ofhx8ikB02txC7tKNzT+pVgpr1NZO4gaE7q6AAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4bSWW8JEzsVHw9LUNRkvPubl5b59f8AUbWs1\/FtFvKvTGjLHDpxhd54tkaHgNm7bPOpvTfHrbx3YLFlBmafWrxXJN+htAArNIAAAJi3irLb+vCKShd0N7CxweM5\/lfaU5MV\/wDzEtv+WfukWQ4\/YzbR8D70U4AKzSAAAAAAAAAAAAAAADpvLWne2dW1q\/UqwcX6MncAcaTVmText1U8Sr6ZXju1rGo4tPqbfxz3FISt9KOhbY0r1rdt7+Hg6jfJSzxfdF+1lUTnrfmZ9mdoum9Y5e3kAAQNIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABh7Y1vBbN3CXOo4x9XnJ\/A0NJoq30izorHmUYJ46XjizG27m46DTS+\/cRT7JP4FHTgqdOMFyikib7CM0c9ok+SXqfQAIGkAAAExWW9\/aJQxx3bZ59HCXzKcl9L\/XtuNRustxtoeCXUnwXP2S4FkOL7jNtGbgu9eRUAArNIAAAAAAAAAAAAAAAAABl7RaWtW0irQis1YefS\/4l0e3l7Tr2Y1P6S0eDm34ai\/BVE3l5XJv1r4mwSdaUtm9qvC8fENSfn9UJ55\/66G+osj1o4TLV\/jqKpweT9GVgAKzUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS+22ZUdPpclO5XH\/XrKgj9qNRtq+r6ba06ic6FyvCcPq8YlgWSyijLRalWqNd36AAKzUAAAeXUryGn6dXu5tYpQbWel9C9rwjK2OtJUNG8ZqJOrdzdWTTXFdHLt9p4dcrVNotWp6HZyfgKM966qpcItcMez3+o89Pai\/t7ydZ0E9Mo1fATjHjuLoab45wvVzLlB4bI8+deCrYnosl9+L8C1B8wnGpTjUhJSjJJxa6UfRSegAAAAAAAcNpLLeEjzVtSsLfhWvbem+qVVJixxtLU9QJjWNtLayqwp2Pg7p8HOSbwuK4Lr4Z6eo7Y7b6O6MZylVU2sumqbbT6s8ie7la9ijpVHE44lkUQJmW3emt4pW13UfohH5nHldeVP\/D7PXlVe34RY3cuRzpdHhL9lOCY8odeqfZ7O1I9Pnt8uxD6U2sn9notCOeW9Ll\/Mhu2Okw4JvwZTmfremQ1fS6trJLfxvU2\/uzXJ\/D2mR4bbOp\/utnTz6Vw\/mZwrfbOp\/vlpSz6Fw\/lZ1Rs73RGVZTTi4SafcevZTVJ32nO2uFu3Nm1TmnzaXBN+ng0\/Ubp+e3tjrWjarSuK2oUqVW\/k4TrUuCXFZysL0Pkbfk9r0uMtoqifVFPHvJSgr3uVUa9TDgcG2vt4cSnBMeS+rPi9p7tN88KX5x5I3j4y2gvG+l8eP8xDDHmX72r9PzRTgmPJC6\/H7zv\/ADDyQuvx+87\/AMx3DHmN7W+n5opwTHkhdfj953\/mHkhdfj953\/mGGPMb2t9PzRTgmPJC6\/H7zv8AzDyQuvx+87\/zDDHmN7W+n5opwTHkhdfj953\/AJh5IXX4\/ed\/5hhjzG9rfT80U5w2kst4SJnyPry4VNdvJrqy\/mFsPaVHm5v7utjkt5L3pjDHmN5W+TzRu1tSsLfhWvbem+qVVJnjrbUaJRzvX9OTSz5icvcjz0di9EpY3qFSq0\/v1Hx7MHspbPaPRSUdOt3j9uG97x1O8X2h8Evy\/Y9Gn6ja6pbeMWlRzp7zjlxa4r1g76VGlQgqdGnCnBfdhFJAg7cDRG9utqfYMjVdQ1ayrxla6Yrq2wt5wl5\/p4f5M89jthp1zKNK637Ktyca3JP1\/F4O4G1dFTr01LDJ2feb4OIyUoqUWmmsprpOSJcAAAD4qycaU5Lg1FtH2ddf7Cp\/wv3A49D8wlb+MaTaSgl4a5vJxbbfVHHvfaW2yWpS1DR1Cq14W3l4OSy846G89nsJGz\/w7SP\/ALCX9BR6Z\/dm2t9ZZapXcPDQX73P4y7DVUzVjxdkbhNS4OyfivcqADrrXFC2hv161OlH9qclFd5lPbbtqdhh7Q634lT8Qs06uoXC3acIc4Z+98jwa5tnQt4u30ycatZ8HWazCHq6zJ0HU\/FpzuaWm3epX1XjKrLiovjywn6eJdGm7Ymjz621wb3cH937d5V7O6MtIsMVMSuqz3q885y+OF7M+8xdnLOGoafrVpPGKtaUctZw+OH7HhnoV3tfer9FZW9nF8pTfFdPJt+4x9D0e+vbzULV6rUtZUKv6WNFvz5ZfHg11Eksm2yuUlihGEHbNZ5Xy7zZ2V1aNGzq6bqFWFGtZT3F4SSWV1cerj7MHvr7V6JQbUr6Mn1U4yl3pYJq42es7Daixs67qXFtcx851JNNy4rGVj93tKyhoGkW\/wBnp9DPXKG8+8jNQvfmWUHXccCt1cszJltzZze7aWN3cT6FupZ7G33HC17aG6X6poDp55OtJ4790poQhTjuwiorqSwfRHFHgi\/dVX2p\/hL\/AEmHS2yuUs3FpaJvjhJv3M4ez2v3C\/WdoZwzwapJ4x7GioA3j4IdGi+02\/Fkx5EUKvG71O8rt83vJZ7cnpo7F6JSxvUKlVp\/fqPj2YN4HN5LmdWy0V8KI2x0qwe217ZStKcrejbpwpyWUn5jz6frPmd+wtvQq6PUqVKFKU43Eoqbgm8bsXzO2s\/Fdv6U5crm33U30f6a7zjYH\/A63\/My\/wC2JbJvD+DHSjFVkrcZelimjFRWIpJdSOQY0NoqU9pHoyo8Un+l3uclHeaxj49BQk3oejKcYWxPXI2QAcJgA+KtanQpSq1pxp04LMpSeEkBoYW2tKE9n5VGvOpVIyg10POPibVnWlcWVCtL61SnGT9bWSVlXuNsNUjRoKVLSbeeak2vtX6uvq6ufoK6MVCChHlFYXHJZJWik9TLReOpKpHTJfex9AArNQAAAAAAAAAAAAAAAAAAAAAPHf6VY6nT3bu3hUaTSm150fUz2A6nY5KKkrNEvU2Y1DTqjq6HqU6cUvsKrynxz6uvo95w9ptT0uXg9a0uajFfb0OMX8O9FScSipRcZJNNYafSTx37SuZuj4f65W81+DLtNptGvMKF9ThJ\/dq+Z7+BpwqQqx3qc4zj1xeUZ11s5pF43KpY0oyfHeprceevhz9pmS2ItKcnOzvru2k+qSa+D7xaD4ncW0R1Sf2dv2UFzdULO3lXuasaVKHOUjHutr9Ep03FXM6u8sNU6bz34R462zWuOjOjHX51qc01KNaLeV1cWzPqbE6tV8yVxYKHXGG6+6PxJRjDiyirW2n4IevqYNDUJqhZ0IUd6VC6dVNPCk3u4j\/Ka+oXGty1+yvLilb6fcTg4UajacccU2+L\/a6jEvNNq2GpuxrtKcZqLkuWHyfHHRxNnVtl6Gm32mWqualTxyruTlhLC3orgv8AqNDw3R5UFVwvua427j5vr27bdOW0Ne7rNZVOzi3F+jKa7kzu07YzUNQmq+pVZUIPi1J71SXy9vYaq2Et6U9+31G5pSS4SWMrswffkjeLjHaC8T6Hx4fzFe8VsmbFs1RyvUhfx92a1joGl2FOMaNnTco\/7SpFSk\/azQSSWEsJEz5Lar\/7nvOyX5zh7O69Q8622iq1JY5Vt7Ho5uRS0n8RujOcFZUrLwKgl7P+7tvLqhhqF9S8JH0vnnukcultlQeFXtLlLpwlnuRjaxea3RvrPVL\/AE6NCdtLdUoN7s+Occ36e0lCGquU16+Sk4tWd9PybG2Wbetpd9H61G4x1N8n\/SVB+f7Q6tqOoUbWnc6VO1SqqUG2\/PfVy9Js+VGrQ4VNmrrhzcXLH\/aHB4UKe0U1Vm87O3BlOCY8sqkeFTRLyD6sf5Dy5tfw+8\/hXzIbuXI0dLo\/N+ynBMeXNr+H3n8K+Y8ubX8PvP4V8zu7lyHS6PzFOCY8ubX8PvP4V8x5c2v4fefwr5jdy5DpdH5jjbRStXp2qQfn21fGHyeVn+nvO3YanubP73\/qVpS9y+BkbQ7T2mq6TO1VncU5uUZQlNJJNP19WTt0baWVlpFva2+kXNwqcXmcc4bbbfQ+nJZhlu7WMSrUulOd8ref\/Ir7y5hZ2da5qfVpQc3xxnC5EBs7Cr5U2F3XfG7VWrl9bU170evXNf1S\/tI6fLSatm7uSjDfb3p4a4LKXTg8mpUtbsYWF5cW1CzVru06Lg1w6s8Xnk32nYRsrPiR2ispzUoptRs9O\/2P0U+KtalQg6lapCnBfenJJE1HQ9obhJ3O0Dgv\/hzy9mD7p7E2cpqpe3l1dz6d6eE\/j1dJVhitWb97VfZh+Wv9O6+2w062kqVrv31eX1YUeKb6s\/LJ4lpWtbQ1Y1NXqeKWeVJWsOb9f+fYihstKsNOju2lrTpfvJZk\/W3xZ6xiS7KObmdT+15clp\/p021rQs7eNC2pRpUocoxO4ArNKSSsgAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIvbmwhTuLTUlw3pKnU9nFPsz2Hr2knGvrmz\/g5KSdbfUuhreg\/gejbekqmzspP\/AGdWMl7viTOkXte91jRrWvB71o3Fb3THmuxe5GmGcU+VzyK7UK0ofNh\/Z+jgAzHrgAAA8Gt2C1LSLi2xmUo5gv3lxXej3g6nZ3IyipRcXxPz6Go\/Svk\/aP7a3r+Dqx6Uk4YfZnsZ+gkBqVzZ6bt07tU3KlSknW3eOJOPF969qL2E41KcakJKUZJOLXSi2rwsYtjec03dp2\/GR9AApN4AAAAMTaXWJ6fbQtbVOV7dvcoqPOPJZ7+B1Jt2RCpNU4uTMu\/UdqNqIWEZ71jZRcqsovhJ9OH2L2M9Ox9arbK70a4wqtnUzH0xb+fH\/qRpbP6RDRtMhQ51p4nVf72OXqRla5s\/qFXU6l7plVR8agqVdcE1Hpfp5L0lt0+rwMO7qQtWteT1Xc+HhkfGnSe0G1tXUOdpYLcovPCT6H732FDqenUdVsZ2lf6suKkucX0NHzpOmUdJ0+naUVy4zl+1LpZ7SEpZ5cDTSpWg1PNvUmnS2k0eLhbKlqFtBKNOMn56SwvR1enmevStpbbUK7tK9OdpeLg6NRNZeOPHHX0M2jL1fZ+x1mn+nhuVlyrQSUvU+teg7iT7RF06kM6bv3P3NQHXb0fF7alR35VPBwUd+by5YWMv0nYVmpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGPtZTVTZq8T6FGS4Z5STI66valvqOmX1rSU6lvZUpVOnewsNv2YReazDwmi30Ou3nj17rJDYWg7nULivVW\/GhQVNJ4wt5\/JPtNFN2g2zy9qi5V4xXH0zLSwvqGo2dO6t5qUJrPqfSn6T0EfKnX2O1KVeEZ1dJuJedFPLpP1f6yiqtbu3vaEa9tVjVpy5SiyqUbZrQ20auLqyyktff7HcACBeDz397T06xrXdb6lKO9jrfQva8I720llvCRJXlae1uqxsrVyWnWs816ifCo88l2PHaSjG7z0Ka1TBG0dXofezuk\/Sek3t3qMFKepTbzjikuTXVxzj1I50S\/r6JeLQdVfT+rV2\/NkuhfLsKiMYwgoRWIxWEupGfrWi2+s2vg6nmVocaVVLjB\/L0E8d209CncOEU6faXnzNIErabQ3ujzVltDQnFLEYXUI7ykutvp9nHrRS29zQu6KrW1aFWm+UoPKISi0X060ammvLidoBkaptNp2mQa8LG4r5wqNKSbz6eo4k3kiU5xgrydj1apqlvpNlK6uHwXCME+M31Ix9A02ve3s9e1OmvC1uNCm\/uR6Hj1fM6bLR7zXryOqa5HcpR+xtehL0rq736irJu0VZameKlWljkrRWi9X6AAFZrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOq6ip2laLi5pwknFLOeHImtgYRjpVy+Kn4fEk+pRWPeyqJfZd+A1zWrPgkq2\/FZ6Mvo9qLI9loy1VatCX3XkUtWjTr0pUq0I1Kc1iUZLKaJmvs\/f6LXleaBWbhnMrObbi1j18ff6SpBGMmi2pSjU11XHiTC2xna5WpaPdW7i8ScVlZ9uOfE5nt1p7TVvbXVaeG91QS+JTHzGEIZ3YxjnqWCWKPIr3dbhPyJWrHaHaRKlOj9GWE\/rZeZyXU+l9iRR2Fhb6baQtbWG5Tj2yfW+tnpBFyvkTp0VB4m7vmwACJcdVxbULqk6VxRhVpv7s4ponquxdGnWdXTNQubFt8VFtperin2tlMCSk1oVVKNOp2kTEtjqlfhd61d101hqTfHtbNPTtndM0zEqFup1E8qrUxKS9T6PYagOucnlcjHZ6UXdLMAAgXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmLX9X\/tBu4rgq9unj04j8mU5L6riz230y54JV4Ok\/S+K\/qRZDiu4zbTkoy5NexUAArNIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJnbahJWNrqFP69pWT6OT\/zSKY8mq2f0hpdzadNWm1Hj97o78EoO0kymvDHTcUd9CtC4t6deDzCpBTi\/Q1k7DB2Ou\/GdAp05N79vJ05ZXtXczeElZ2JUp44KXMAAiWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEvaUq+kbZ1aMISdrqKdTKTxGXF+\/PaioAJSlcqp092mk8rgAES0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\/9k=",
    "razonSocial": "SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ROMANA FONSECA",
    "correoContacto": "contacto@colegiosanpatricio.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "APP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "9889900",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I635\",\"id_control\":\"28587\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:52",
    "ubicacionGPS": "LatLng(lat: -23.5657403, lng: -70.3935717)",
    "horaLlegada": "08:36",
    "horaDespacho": "11:47",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


06/05/2026 11:52:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76148340

[06/05/2026 11:52:02] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76148340', 'TO2005', 1, 24456550, 1534968, NOW(), 
				'11:47', '08:36', '11:52', 10, '•Se hace entrega de residual', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778082722.png', '•Pendiente revisión de mancha en hoja. posible cambio de grilla', null, 'COMPLETADO','LatLng(lat: -23.5657403, lng: -70.3935717)' )
				
[06/05/2026 11:52:02] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200192
[06/05/2026 11:52:02] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200192', 'TOS-I635', 1)
				
[06/05/2026 11:52:02] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28587 and
				    IDproducto = 'TOS-I635'
				

06/05/2026 11:52:02 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I635';
                
06/05/2026 11:52:02 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200192'                    
				WHERE idllamado = 12260			
				TO ENVIO: micorreo@miempresa.cl, contacto@colegiosanpatricio.cl


06/05/2026 11:52:02 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12260			
				
06/05/2026 11:52:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


06/05/2026 11:52:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:52:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:52:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:52:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:52:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:52:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:52:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:52:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:52:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:52:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:52:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                [06/05/2026 11:52:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 11:52:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:52:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                [06/05/2026 11:52:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 11:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:52:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:52:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:52:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                [06/05/2026 11:52:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 11:52:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12260
            GROUP BY l.idllamado;
            
06/05/2026 11:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12260
                
06/05/2026 11: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 = 12260
                
06/05/2026 11: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 = 12260
                
06/05/2026 11:52:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                [06/05/2026 11:52: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;
                

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

06/05/2026 11:52:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 11:52:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 11:52:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 11:52:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 11:52:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            [06/05/2026 11:52: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;
                
[06/05/2026 11:52: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;
                

06/05/2026 11:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 11:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 11:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 11:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 11:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 11:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 11:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 11:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 11:52:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            [06/05/2026 11:52:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 11:52:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 11:52:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 11:52:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 11:52:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 11:52:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            [06/05/2026 11:52:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 11:52:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 11:52:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 11:52:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 11:52:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 11: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 = 12470
                
06/05/2026 11: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 = 12470
                
06/05/2026 11: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 = 12470
                
06/05/2026 11: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 = 12470
                
06/05/2026 11: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 = 12470
                
06/05/2026 11: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 = 12470
                [06/05/2026 12:05: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[06/05/2026 12:05:08] 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;
                
[06/05/2026 12:05:10] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 12:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [06/05/2026 12:05:23] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 12:05: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;
                
[06/05/2026 12:05:31] 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;
                

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

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

06/05/2026 12:05:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            [06/05/2026 12:05:46] 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;
                
[06/05/2026 12:05:50] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 12:05:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            [06/05/2026 12:05:52] 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;
                
[06/05/2026 12:06:02] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 12:06:27] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 12:06:28] 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;
                

06/05/2026 12:21:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 12:21:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 12:21:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 12:21:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 12:21:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 12:21:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 12:21:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 12:21:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 12:21:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 12:21:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 12:21:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            [06/05/2026 12:21:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 12:21:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 12:21:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 12:21:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 12:21:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 12: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 = 12470
                
06/05/2026 12: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 = 12470
                
06/05/2026 12: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 = 12470
                [06/05/2026 12:25: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;
                

06/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 12:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            [06/05/2026 12:25: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;
                

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

06/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 12:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 12: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 = 12470
                
06/05/2026 12: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 = 12470
                
06/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 12: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 = 12470
                
06/05/2026 12: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 = 12470
                
06/05/2026 12: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 = 12470
                
06/05/2026 12: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 = 12470
                
06/05/2026 12: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 = 12470
                
06/05/2026 12: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 = 12470
                
06/05/2026 12: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 = 12470
                
06/05/2026 12: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 = 12470
                [06/05/2026 12:25: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;
                

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

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

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

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

06/05/2026 12:25:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 12:25:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            [06/05/2026 12:25:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 12:25:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

06/05/2026 12:33:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [06/05/2026 12:33:38] 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;
                
[06/05/2026 12:33:40] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 12:33:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            [06/05/2026 12:33:42] 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;
                
[06/05/2026 12:33:46] 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;
                
[06/05/2026 12:33:47] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 12:33:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            [06/05/2026 12:33:50] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 12:33:54] 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;
                
[06/05/2026 12:33:55] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 12:34:15] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 12:40:22] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 12:40:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
06/05/2026 12:42:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            [06/05/2026 12:42:13] 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;
                
[06/05/2026 12:42:16] 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;
                
[06/05/2026 12:42:20] 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;
                
[06/05/2026 12:42:20] 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;
                
[06/05/2026 12:42: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[06/05/2026 12:42:56] 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;
                
[06/05/2026 12:42:58] 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;
                
[06/05/2026 12:43:01] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 12:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:49:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:49:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:49:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/2026 12:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:49:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/2026 12:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:49:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:49:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/2026 12:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:49:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/2026 12:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/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 = 12473
                
06/05/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 = 12473
                
06/05/2026 12:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/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 = 12473
                
06/05/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 = 12473
                
06/05/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 = 12473
                
06/05/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 = 12473
                
06/05/2026 12:52:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/2026 12: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 = 12473
                
06/05/2026 12: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 = 12473
                
06/05/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 = 12473
                
06/05/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 = 12473
                [06/05/2026 12:53: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;
                

06/05/2026 12:53:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            [06/05/2026 12:53:47] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            [06/05/2026 12:54:04] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 12:54:07] 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;
                
[06/05/2026 12:54:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 12:54:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12463
            GROUP BY l.idllamado;
            
06/05/2026 12:54:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:54:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:54:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12463
            GROUP BY l.idllamado;
            
06/05/2026 12:54:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:54:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:54:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:54:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12463
            GROUP BY l.idllamado;
            
06/05/2026 12:54:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12: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 = 12463
                
06/05/2026 12: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 = 12463
                
06/05/2026 12:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:54:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12463
            GROUP BY l.idllamado;
            
06/05/2026 12:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:54:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12463
            GROUP BY l.idllamado;
            
06/05/2026 12:54:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:54:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12: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 = 12463
                
06/05/2026 12: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 = 12463
                
06/05/2026 12: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 = 12463
                
06/05/2026 12:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12463
            GROUP BY l.idllamado;
            
06/05/2026 12: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 = 12463
                
06/05/2026 12: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 = 12463
                
06/05/2026 12:54:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12463
            GROUP BY l.idllamado;
            
06/05/2026 12: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 = 12463
                
06/05/2026 12: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 = 12463
                
06/05/2026 12: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 = 12463
                
06/05/2026 12:56:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12463
            GROUP BY l.idllamado;
            
06/05/2026 12:56:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:56:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:56:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12463
            GROUP BY l.idllamado;
            
06/05/2026 12:56:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:56:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:56:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:56:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:56:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12463
            GROUP BY l.idllamado;
            
06/05/2026 12:56:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:56:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:56:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:56:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:56:13 - logentry: =========================================
FECHA: 06/05/2026 12:56:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Ju6bWHfXcynBDyamxZIguIbuibVEQLeSg2eUqvYHk4KwoB-Kwvf
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2330",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega de 2 toner kyocera",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12463",
    "observacion": "se entrega 2 toner kyocera ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACmAQwDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xAA9EAACAQQABAMGAwYFAwUAAAAAAQIDBAURBiExQRITgSJRYXGRsRShwRUyQlLR8CMkJTPhFkOiU1RygtL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAvEQACAQIEBAQGAgMAAAAAAAAAAQIDERIhMUETUWFxBCIy0RSBkaGx4SMzUsHw\/9oADAMBAAIRAxEAPwD7MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAV7KZm8uMm8Nh1H8RFbq1pc1TXL7bXry0Ttap5NCpVaT8EXLm9dF7yv8F26lj62RqPxV7urJyk0t6T\/AK7ZeNknJnPWcnKNOLtfXsjW8XxVbRVWllqdeafOnNcn9V\/Q6MfxO3fLG5e2\/BXnRPe4Sfwfbfbr8ywEZnMLQzVk6VRKNWPOlV1zi\/6e9EqSeUkUdGdNXpN9nnf2JMFe4Yy9WvCeLv34b21fh1J85xXf4tf8lhKSTTsb06iqRUkAY1KkKUHOpJRiurbMKFzb3UPFb1qdWPdwknogvdXsbQACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADjyzaw161vf4eprS3\/Czg4PUVwza+F9XPfz8bJW8putZV6S6zpyivVEHwPWjV4fVNdaVWUXz9\/P9S69DOaWXiI9n+UWIAFDpK7xPias\/BmLBuF7ae17K\/fivv+q2iTw2UpZfHU7qGlJrVSCe\/BLujvKjUhW4TzNW7jSdTGXkvbUF\/tPr0+HP0NF5lbc5J\/w1OIvS9ff3M80553iOjhKc3G3t0qlzpv2uj19GvVmeQ4eq4upHI8PxcK1N+3Q3tVI91z5v5b92uiPeEZRurrKX\/NurX0m3ta68vy\/Is5MpOLsilOlGtF1Jat5PlyIvCZy3zVs5QXl14cqlFvnH+qJQr2awVWNx+18O\/KvoPxTgulVd+Xv+524TN0czbtpeXcU+VWi+sX\/QrKKteJrTqSUuHU158yUABQ6QAAAAAAAAAAAAAAAAAAAAAAAADxtJbb0kQ9zxXhrat5UrrxyXV04uSXr6EpN6FJ1IQ9TsTIOezvrXIUfOtK8K0O7i+nfTXY6CCyaaugAASCscOf6fxBlcU3qLn51Ja7P\/AIcfoWcqvFFOeKyVpn7eK8UJeXWj\/MtP9Nr6GkM7x5nL4jy4an+L+25agYwnGpTjUhJSjJJxa7oyMzqBjUpwq05U6kIzhJalGS2mvijIAGm1tLeyoKjbUo0qa17Mflr16I3AAhJJWQKtxJZVMXeU+IbCKU6ckriC6TT5b\/R+jLSa69Gnc0KlCrHxU6kXGS96ZaMsLM61PiQtvt3MbS6pXtrTuaEvFTqx8UWbircLVqmNv7vh+4e3Sk6lGT7x\/vT9WWkSVmRRqcSCb137gAFTYAAAAAAAAAAAAAAAAAAEPm+IrfEpUYxde8ml5dGPvfTf98zmzuerQuI4nELzb+o9OS5ql\/z9jfheHKWNlK6uZ\/ib6o251pc9N+7f3NFFJXkcsqkpycKXzfL9kdDA5bOVPPzd3KjRk9q1pPovc+y\/Nk7a4XG2dFUqNlRUdablBSb+bfNncCHNsvChCGer5sjbPBWVhkal5awdJ1IeF04PUOrbev71okgCrbeprGEYq0VYAAgsDkylhDJY2vZy1\/iQai3\/AAy7P6nWAnbMiSUk0yA4SyEq2Plj7hOF1Yvy5wl18Pb6dPQnyscQ2Fxj76PEOO\/fpL\/MU+049N\/Tr6PsTmMyNDK2NO7oP2ZrnF9YvumaTV\/MjnoScf4par7o6wAZnSAAAAAAVbiqnVx2Qs89bpvyWqdWK7x5\/fbX0LPCcalONSElKMknFrujly1pC\/xVzbTXKdN659Guaf1SI7g65lccO0lJtujKVPb93VffXoaPOF+Ryx8ldraWfzWpOgAzOoAAAAAAAAAAAAAAAFe4jzta1qQxmMi6l\/X1rwrfgT\/X7Lmd2fzEMNjZV+tWfsUo++Wur+COThvCzs6Tv79OeQuNynKfNwT7f1+hpFJLEzlqylOXChru+S92dGCwVHDW7bfm3VXnVrPq\/gvh9yWAKNtu7N4QjCOGOgABBcAAAAAAAAA8aTWmtplRrRlwjnI1ae\/2XeS1OPanL\/j7fIt5y5Gwo5Oxq2ldezUXJ65xfZovGVtdDCtTc1ePqWn\/AHU6YyUoqUWmmtpruela4Xva9tWq4G\/5V7VbpP8Amh\/bXp8iykSVnYvSqKpHEAAVNAAAAVLg2dehiq8KVJyj+JlpuLfaKLLfXKs7Gvcy1\/hQcufd65ENwbZqngI1asE5XFSVT2lz1yj39\/h36mkcos5amdaKWyf+iwgAzOoAAAAAAAAAAAAAEbxDdSssDeV4vUlT8Ket6cn4f1JSu7FZyUYuT2IaypR4j4mrX9VqdpYvy6UGuU3z5\/r9PcWsiOF7ONnw\/apJKVWPmyfvcua\/LS9CXLTd3bkY+HhaGJ6vNgAFDoAAAAAAAAAAAAAAAK3xXYVaflZyz5XNm05LXKUN9\/lv6Nk1jr+lkrCld0f3ai3p9YvuvqdMoqUXGSTTWmn3IvC4WWGlcxhcudCrPxU6Tj\/t+v8AfQvdONnsc6hKFXFHR69+ZKgAodAAODMZahh7CdzVactapw3znLsiUruyKykopyehE8W3lSvGjhLJqVzdy9tJ\/uxXPn7t\/ZMnrO1hZWdG2g9xpQUd61vXchOGsZXc6mayD8V3dLknHXgj2+XT6FiLSdvKjCinJurLfTsR9DLU62Yr4yVNwqUoKabf76+BIEBxPYVlThl7Fau7P2nzftQ7rXfXUksRk6WWx1K7prw+JanH+WS6oNZXRaFR43Tlrqu36O0AFDcAAAAAAAAAENxbHxcM3i+EX\/5omTizFv8AisPd0EtudKWlrfPXL8y0XaSM6qxU5LozzByUsFYNf+3pr6RR3EJwfX8\/hu3W9um5Qfo3r8mibElaTIoyxU4vojyUlGLlJpJLbb7Fdr8WO4ryt8LY1L6pF+1PWoJf38idu7Wle2tS2rpunVj4ZJPRjY2FtjraNva0lThFdur+LfdhOK1IqRqSaUXZfcgPJ4xvNude1sk\/4Uk39pfc9\/YvEq3JZ5N9txeizHm1vW+ZON8inw0d5N\/NlZdnxjQ5wyNrXS\/hcVt\/+K+55+389j9LJYV1ILk6lB\/ny2vsWgE4+aHw7Xpm19\/yQtpxbhrvS\/FeTJ\/w1ouOvXp+ZMQnCpFThJSi+ji9pnHe4XG5Df4mzpTk\/wCNR1L6rmQ1bg5203Vw+Rr2k97UHJuPy2uf12LQfQjFXhqlLtkyzgq0M5mMNU8OetlUt3pK4opdfjr+iLDZ31rkLdV7StGrTb1uPZ+5rs\/mVcWjSnWjN2WT5PU6AAVNgAAAAADjyuTt8RYyurhvSeoxXWUuyRBYnGXWavY5vMLUVztrdrkl2bXu+\/UstahRuIeXXpQqw3vwzipLfqbCylZZGE6WOacnktuvUAAqbnjSa01tMq2FawfEl3h6nsUblqrbbfL5fp\/9S1EBxbjXdY5XtCP+Zs35kWuriuq\/X0Lwez3ObxEXZVI6x\/G5Pg4MLko5XF0bta8Ulqol2kup3lWrOxvGSlFSWjAAILAAAAAAA8aTWmtpnoAKph6v7B4gucPX9mhcz8y2lrS2+36fNFrIvP4WnmbHy9+CvT9qjU\/lfu+TObhvNVL2nKxvtwv7blOMlpyS7\/P3mkvMsSOSm+FLhPR6exOgAzOsFYyqeP4yx16pJRuoujJPfbl2\/wDkvoWcrHEurniDC2cWvGqvmSXdR2v\/AMy+henqc3iv677pq31LOACh0gAAGM4QqQcKkVOMlpxktpmm0sbWwpOlaUIUYN7aitbZ0AXIsr3AABIAAAAAAAAAAAAPGk1praZ6ACpYpvh7iitipvVree3Q30T7L7r0RbSu8ZW01j6OSoaVayqqalrb03r76ZN2d3SvrOldUXuFWKkvh8DSeaUjloeSUqXLNdn+zeADM6gAAAAAAARWR4kxeNi\/NuY1Zp68ui1KW\/ry9SUm9Cs5xgrydiVK3xPYQdzbX9pcwoZKEkqUXJLzvcvn29z3owWT4jzMP9OsYWNCS5Vq73J\/FenwfzN2L4Up211G+yFzO8u01JSk\/Zi10683\/fI0SwZtnJUlx1hjHLnp9NzbieJra+bt7xKzvIPwzpVHpNrrrfy6MnCPyWEsMtHV1QTmulSPKS9e\/qRC4NqW68Nhm7y2jvpvfL0aItB9C6deGTWLroT97fW2Pt5V7qtGnBd31fwS7kBgIVcvma+er0vBT15dvGXbktte\/l3+LXY3WnB1lTqKtfVq1\/W5bdV+y9dOXX6sn4QhTgoU4qEYrSjFaSF1FWQUKlSSlNWS269TIAGZ1AAAAAAAAAAAAAAAAAAAAAAAAGq5t4XVrVt6n7tWDg+XvWiv8HXMqdC5xFeT8+yqyST\/AJd9vXf1RZSsZyM8Jm6GbpcqFVqndRSfw58vgvqviaRzTictfySjV5a9mWcGMJxqU41ISUoyScWu6MjM6gCKyXEeMxa1WuFUqf8Ap0tSl\/RepFu+4iz0UrG3WOtZf96o\/ba965fZepdQbzMJ+IhF4Vm+SLDd39nYQ8d3c06K1teOWm\/kurK7W4pvMlVdtgLKdV9HXqLlH06L1+h0WPBlhRmq17Ope197k6j9lv5d\/Vk\/So0qFNU6NOFOC6RhFJL0JvGPUpavU1eFdM39St\/9MZK\/UZ5XM1JtvcqdKOo\/LfL7EljuGsVjUnStlVqJ78yslKXp2XoSoIc5PIvHw9OLva765gAFDcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGm7tKN9a1La4gp06i001+a+IAIaTVmVtYTO4im447LwdtD92FaO9fk+5kuH8zk4JZXMt0XqShQWt\/Pkl7veAb4nhvuecqUeJw87crskcdwxisa1Olb+ZUX\/cqvxP6dPyJcAxbb1O+EIwVoqwABBcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\/\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MARIA JOSE ARRIAGADA",
    "correoContacto": "maria.arriagada@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56978758833",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28580\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:56",
    "ubicacionGPS": "LatLng(lat: -22.0883955, lng: -70.1945093)",
    "horaLlegada": "09:47",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 06/05/2026 12:56:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Ju6bWHfXcynBDyamxZIguIbuibVEQLeSg2eUqvYHk4KwoB-Kwvf
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2330",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega de 2 toner kyocera",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12463",
    "observacion": "se entrega 2 toner kyocera ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACmAQwDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xAA9EAACAQQABAMGAwYFAwUAAAAAAQIDBAURBiExQRITgSJRYXGRsRShwRUyQlLR8CMkJTPhFkOiU1RygtL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAvEQACAQIEBAQGAgMAAAAAAAAAAQIDERIhMUETUWFxBCIy0RSBkaGx4SMzUsHw\/9oADAMBAAIRAxEAPwD7MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAV7KZm8uMm8Nh1H8RFbq1pc1TXL7bXry0Ttap5NCpVaT8EXLm9dF7yv8F26lj62RqPxV7urJyk0t6T\/AK7ZeNknJnPWcnKNOLtfXsjW8XxVbRVWllqdeafOnNcn9V\/Q6MfxO3fLG5e2\/BXnRPe4Sfwfbfbr8ywEZnMLQzVk6VRKNWPOlV1zi\/6e9EqSeUkUdGdNXpN9nnf2JMFe4Yy9WvCeLv34b21fh1J85xXf4tf8lhKSTTsb06iqRUkAY1KkKUHOpJRiurbMKFzb3UPFb1qdWPdwknogvdXsbQACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADjyzaw161vf4eprS3\/Czg4PUVwza+F9XPfz8bJW8putZV6S6zpyivVEHwPWjV4fVNdaVWUXz9\/P9S69DOaWXiI9n+UWIAFDpK7xPias\/BmLBuF7ae17K\/fivv+q2iTw2UpZfHU7qGlJrVSCe\/BLujvKjUhW4TzNW7jSdTGXkvbUF\/tPr0+HP0NF5lbc5J\/w1OIvS9ff3M80553iOjhKc3G3t0qlzpv2uj19GvVmeQ4eq4upHI8PxcK1N+3Q3tVI91z5v5b92uiPeEZRurrKX\/NurX0m3ta68vy\/Is5MpOLsilOlGtF1Jat5PlyIvCZy3zVs5QXl14cqlFvnH+qJQr2awVWNx+18O\/KvoPxTgulVd+Xv+524TN0czbtpeXcU+VWi+sX\/QrKKteJrTqSUuHU158yUABQ6QAAAAAAAAAAAAAAAAAAAAAAAADxtJbb0kQ9zxXhrat5UrrxyXV04uSXr6EpN6FJ1IQ9TsTIOezvrXIUfOtK8K0O7i+nfTXY6CCyaaugAASCscOf6fxBlcU3qLn51Ja7P\/AIcfoWcqvFFOeKyVpn7eK8UJeXWj\/MtP9Nr6GkM7x5nL4jy4an+L+25agYwnGpTjUhJSjJJxa7oyMzqBjUpwq05U6kIzhJalGS2mvijIAGm1tLeyoKjbUo0qa17Mflr16I3AAhJJWQKtxJZVMXeU+IbCKU6ckriC6TT5b\/R+jLSa69Gnc0KlCrHxU6kXGS96ZaMsLM61PiQtvt3MbS6pXtrTuaEvFTqx8UWbircLVqmNv7vh+4e3Sk6lGT7x\/vT9WWkSVmRRqcSCb137gAFTYAAAAAAAAAAAAAAAAAAEPm+IrfEpUYxde8ml5dGPvfTf98zmzuerQuI4nELzb+o9OS5ql\/z9jfheHKWNlK6uZ\/ib6o251pc9N+7f3NFFJXkcsqkpycKXzfL9kdDA5bOVPPzd3KjRk9q1pPovc+y\/Nk7a4XG2dFUqNlRUdablBSb+bfNncCHNsvChCGer5sjbPBWVhkal5awdJ1IeF04PUOrbev71okgCrbeprGEYq0VYAAgsDkylhDJY2vZy1\/iQai3\/AAy7P6nWAnbMiSUk0yA4SyEq2Plj7hOF1Yvy5wl18Pb6dPQnyscQ2Fxj76PEOO\/fpL\/MU+049N\/Tr6PsTmMyNDK2NO7oP2ZrnF9YvumaTV\/MjnoScf4par7o6wAZnSAAAAAAVbiqnVx2Qs89bpvyWqdWK7x5\/fbX0LPCcalONSElKMknFrujly1pC\/xVzbTXKdN659Guaf1SI7g65lccO0lJtujKVPb93VffXoaPOF+Ryx8ldraWfzWpOgAzOoAAAAAAAAAAAAAAAFe4jzta1qQxmMi6l\/X1rwrfgT\/X7Lmd2fzEMNjZV+tWfsUo++Wur+COThvCzs6Tv79OeQuNynKfNwT7f1+hpFJLEzlqylOXChru+S92dGCwVHDW7bfm3VXnVrPq\/gvh9yWAKNtu7N4QjCOGOgABBcAAAAAAAAA8aTWmtplRrRlwjnI1ae\/2XeS1OPanL\/j7fIt5y5Gwo5Oxq2ldezUXJ65xfZovGVtdDCtTc1ePqWn\/AHU6YyUoqUWmmtpruela4Xva9tWq4G\/5V7VbpP8Amh\/bXp8iykSVnYvSqKpHEAAVNAAAAVLg2dehiq8KVJyj+JlpuLfaKLLfXKs7Gvcy1\/hQcufd65ENwbZqngI1asE5XFSVT2lz1yj39\/h36mkcos5amdaKWyf+iwgAzOoAAAAAAAAAAAAAEbxDdSssDeV4vUlT8Ket6cn4f1JSu7FZyUYuT2IaypR4j4mrX9VqdpYvy6UGuU3z5\/r9PcWsiOF7ONnw\/apJKVWPmyfvcua\/LS9CXLTd3bkY+HhaGJ6vNgAFDoAAAAAAAAAAAAAAAK3xXYVaflZyz5XNm05LXKUN9\/lv6Nk1jr+lkrCld0f3ai3p9YvuvqdMoqUXGSTTWmn3IvC4WWGlcxhcudCrPxU6Tj\/t+v8AfQvdONnsc6hKFXFHR69+ZKgAodAAODMZahh7CdzVactapw3znLsiUruyKykopyehE8W3lSvGjhLJqVzdy9tJ\/uxXPn7t\/ZMnrO1hZWdG2g9xpQUd61vXchOGsZXc6mayD8V3dLknHXgj2+XT6FiLSdvKjCinJurLfTsR9DLU62Yr4yVNwqUoKabf76+BIEBxPYVlThl7Fau7P2nzftQ7rXfXUksRk6WWx1K7prw+JanH+WS6oNZXRaFR43Tlrqu36O0AFDcAAAAAAAAAENxbHxcM3i+EX\/5omTizFv8AisPd0EtudKWlrfPXL8y0XaSM6qxU5LozzByUsFYNf+3pr6RR3EJwfX8\/hu3W9um5Qfo3r8mibElaTIoyxU4vojyUlGLlJpJLbb7Fdr8WO4ryt8LY1L6pF+1PWoJf38idu7Wle2tS2rpunVj4ZJPRjY2FtjraNva0lThFdur+LfdhOK1IqRqSaUXZfcgPJ4xvNude1sk\/4Uk39pfc9\/YvEq3JZ5N9txeizHm1vW+ZON8inw0d5N\/NlZdnxjQ5wyNrXS\/hcVt\/+K+55+389j9LJYV1ILk6lB\/ny2vsWgE4+aHw7Xpm19\/yQtpxbhrvS\/FeTJ\/w1ouOvXp+ZMQnCpFThJSi+ji9pnHe4XG5Df4mzpTk\/wCNR1L6rmQ1bg5203Vw+Rr2k97UHJuPy2uf12LQfQjFXhqlLtkyzgq0M5mMNU8OetlUt3pK4opdfjr+iLDZ31rkLdV7StGrTb1uPZ+5rs\/mVcWjSnWjN2WT5PU6AAVNgAAAAADjyuTt8RYyurhvSeoxXWUuyRBYnGXWavY5vMLUVztrdrkl2bXu+\/UstahRuIeXXpQqw3vwzipLfqbCylZZGE6WOacnktuvUAAqbnjSa01tMq2FawfEl3h6nsUblqrbbfL5fp\/9S1EBxbjXdY5XtCP+Zs35kWuriuq\/X0Lwez3ObxEXZVI6x\/G5Pg4MLko5XF0bta8Ulqol2kup3lWrOxvGSlFSWjAAILAAAAAAA8aTWmtpnoAKph6v7B4gucPX9mhcz8y2lrS2+36fNFrIvP4WnmbHy9+CvT9qjU\/lfu+TObhvNVL2nKxvtwv7blOMlpyS7\/P3mkvMsSOSm+FLhPR6exOgAzOsFYyqeP4yx16pJRuoujJPfbl2\/wDkvoWcrHEurniDC2cWvGqvmSXdR2v\/AMy+henqc3iv677pq31LOACh0gAAGM4QqQcKkVOMlpxktpmm0sbWwpOlaUIUYN7aitbZ0AXIsr3AABIAAAAAAAAAAAAPGk1praZ6ACpYpvh7iitipvVree3Q30T7L7r0RbSu8ZW01j6OSoaVayqqalrb03r76ZN2d3SvrOldUXuFWKkvh8DSeaUjloeSUqXLNdn+zeADM6gAAAAAAARWR4kxeNi\/NuY1Zp68ui1KW\/ry9SUm9Cs5xgrydiVK3xPYQdzbX9pcwoZKEkqUXJLzvcvn29z3owWT4jzMP9OsYWNCS5Vq73J\/FenwfzN2L4Up211G+yFzO8u01JSk\/Zi10683\/fI0SwZtnJUlx1hjHLnp9NzbieJra+bt7xKzvIPwzpVHpNrrrfy6MnCPyWEsMtHV1QTmulSPKS9e\/qRC4NqW68Nhm7y2jvpvfL0aItB9C6deGTWLroT97fW2Pt5V7qtGnBd31fwS7kBgIVcvma+er0vBT15dvGXbktte\/l3+LXY3WnB1lTqKtfVq1\/W5bdV+y9dOXX6sn4QhTgoU4qEYrSjFaSF1FWQUKlSSlNWS269TIAGZ1AAAAAAAAAAAAAAAAAAAAAAAAGq5t4XVrVt6n7tWDg+XvWiv8HXMqdC5xFeT8+yqyST\/AJd9vXf1RZSsZyM8Jm6GbpcqFVqndRSfw58vgvqviaRzTictfySjV5a9mWcGMJxqU41ISUoyScWu6MjM6gCKyXEeMxa1WuFUqf8Ap0tSl\/RepFu+4iz0UrG3WOtZf96o\/ba965fZepdQbzMJ+IhF4Vm+SLDd39nYQ8d3c06K1teOWm\/kurK7W4pvMlVdtgLKdV9HXqLlH06L1+h0WPBlhRmq17Ope197k6j9lv5d\/Vk\/So0qFNU6NOFOC6RhFJL0JvGPUpavU1eFdM39St\/9MZK\/UZ5XM1JtvcqdKOo\/LfL7EljuGsVjUnStlVqJ78yslKXp2XoSoIc5PIvHw9OLva765gAFDcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGm7tKN9a1La4gp06i001+a+IAIaTVmVtYTO4im447LwdtD92FaO9fk+5kuH8zk4JZXMt0XqShQWt\/Pkl7veAb4nhvuecqUeJw87crskcdwxisa1Olb+ZUX\/cqvxP6dPyJcAxbb1O+EIwVoqwABBcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\/\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MARIA JOSE ARRIAGADA",
    "correoContacto": "maria.arriagada@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56978758833",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28580\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:56",
    "ubicacionGPS": "LatLng(lat: -22.0883955, lng: -70.1945093)",
    "horaLlegada": "09:47",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


06/05/2026 12:56:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[06/05/2026 12:56:13] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'KY2330', 1, 7373114, 0, NOW(), 
				'08:00', '09:47', '12:56', 10, 'entrega de 2 toner kyocera', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778086573.png', 'se entrega 2 toner kyocera ', null, 'COMPLETADO','LatLng(lat: -22.0883955, lng: -70.1945093)' )
				
[06/05/2026 12:56:13] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200193
[06/05/2026 12:56:13] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200193', 'KYO-I647', 2)
				
[06/05/2026 12:56:13] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28580 and
				    IDproducto = 'KYO-I647'
				

06/05/2026 12:56:13 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'KYO-I647';
                
06/05/2026 12:56:13 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200193'                    
				WHERE idllamado = 12463			
				
06/05/2026 12:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:56:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12463
            GROUP BY l.idllamado;
            
06/05/2026 12:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                TO ENVIO: micorreo@miempresa.cl, maria.arriagada@eplicancabur.cl


06/05/2026 12:56:13 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12463			
				
06/05/2026 12:56:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


06/05/2026 12:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:56:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12463
            GROUP BY l.idllamado;
            
06/05/2026 12:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                [06/05/2026 12:56:19] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 12:56:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12463
            GROUP BY l.idllamado;
            
06/05/2026 12:56:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                [06/05/2026 12:56:19] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 12:56:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12463
                
06/05/2026 12:56:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12463
            GROUP BY l.idllamado;
            
06/05/2026 12: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 = 12463
                
06/05/2026 12: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 = 12463
                
06/05/2026 12:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [06/05/2026 12:56: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;
                

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

06/05/2026 12:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 12:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 12:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 12: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 = 12457
                
06/05/2026 12: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 = 12457
                [06/05/2026 12:56:41] 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;
                

06/05/2026 12:56:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 12:56:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 12:56:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 12:56:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [06/05/2026 12:56:41] 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;
                

06/05/2026 12:56:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 12:56:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 12:56:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                [06/05/2026 12:56:42] 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;
                

06/05/2026 12:56:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 12:56:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 12:56:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [06/05/2026 12:56:43] 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;
                

06/05/2026 12:56:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 12:56:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 12:56:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 12:56:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 12:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                [06/05/2026 12:56:44] 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;
                

06/05/2026 12:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 12:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [06/05/2026 12:56:44] 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;
                

06/05/2026 12:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 12:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 12:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 12:56:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 12:56:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 12: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 = 12455
                
06/05/2026 12:56:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [06/05/2026 12:56:50] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 12:56:50] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 12:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [06/05/2026 12:56:55] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 12:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 12:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 12:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 12:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 12:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 12:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 12:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 12:56:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [06/05/2026 12:56:57] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 12:56:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [06/05/2026 12:56:57] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 12:56:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 12:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 12:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                [06/05/2026 12:57:02] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 12:57:02] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 12:57:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 12:57:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 12:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 12:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 12:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 12:57:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 12:57:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
06/05/2026 12:57:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
06/05/2026 12:57:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            [06/05/2026 12:57:06] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 12:57:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
06/05/2026 12:57:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                [06/05/2026 12:57:06] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 12:57:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
06/05/2026 12:57:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
06/05/2026 12:57:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
06/05/2026 12:57:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            [06/05/2026 12:57:10] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 12:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
06/05/2026 12:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
06/05/2026 12:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:57:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/2026 12:57:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12464
            GROUP BY l.idllamado;
            
06/05/2026 12:57:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/2026 12:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:57:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12464
            GROUP BY l.idllamado;
            
06/05/2026 12:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:57:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12464
            GROUP BY l.idllamado;
            [06/05/2026 12:57:13] 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;
                
[06/05/2026 12:57:13] 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;
                

06/05/2026 12:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12464
                
06/05/2026 12:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12464
                
06/05/2026 12:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12464
                
06/05/2026 12:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12464
                
06/05/2026 12:57:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12464
            GROUP BY l.idllamado;
            [06/05/2026 12:57:20] 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;
                

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

06/05/2026 12:57:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12464
            GROUP BY l.idllamado;
            
06/05/2026 12: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 = 12464
                
06/05/2026 12: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 = 12464
                
06/05/2026 12: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 = 12464
                
06/05/2026 12: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 = 12464
                
06/05/2026 12: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 = 12464
                
06/05/2026 12: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 = 12464
                
06/05/2026 12:57:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/2026 12: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 = 12473
                
06/05/2026 12: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 = 12473
                
06/05/2026 12:57:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/2026 12: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 = 12473
                
06/05/2026 12: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 = 12473
                
06/05/2026 12: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 = 12473
                
06/05/2026 12: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 = 12473
                
06/05/2026 12:57:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/2026 12:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:57:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/2026 12:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:57:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:57:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/2026 12: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 = 12473
                
06/05/2026 12: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 = 12473
                
06/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/2026 12: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 = 12473
                
06/05/2026 12: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 = 12473
                
06/05/2026 12: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 = 12473
                
06/05/2026 12: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 = 12473
                
06/05/2026 12:57:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/2026 12:57:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:57:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:57:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:57:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/2026 12:57:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12: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 = 12473
                
06/05/2026 12:57:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/2026 12: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 = 12473
                
06/05/2026 12: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 = 12473
                
06/05/2026 12:57:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/2026 12: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 = 12473
                
06/05/2026 12: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 = 12464
                
06/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12464
            GROUP BY l.idllamado;
            
06/05/2026 12: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 = 12464
                
06/05/2026 12: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 = 12473
                
06/05/2026 12: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 = 12473
                
06/05/2026 12: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 = 12464
                
06/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12464
            GROUP BY l.idllamado;
            
06/05/2026 12: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 = 12464
                
06/05/2026 12: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 = 12464
                
06/05/2026 12: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 = 12464
                
06/05/2026 12: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 = 12464
                
06/05/2026 12:57:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12464
            GROUP BY l.idllamado;
            
06/05/2026 12: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 = 12464
                
06/05/2026 12: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 = 12464
                
06/05/2026 12: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 = 12464
                
06/05/2026 12: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 = 12464
                
06/05/2026 12:57:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12464
            GROUP BY l.idllamado;
            
06/05/2026 12: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 = 12464
                
06/05/2026 12: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 = 12464
                
06/05/2026 12: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 = 12464
                
06/05/2026 12:57:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12464
            GROUP BY l.idllamado;
            
06/05/2026 12: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 = 12464
                
06/05/2026 12: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 = 12464
                
06/05/2026 12: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 = 12464
                
06/05/2026 12:57:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12464
            GROUP BY l.idllamado;
            
06/05/2026 12: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 = 12464
                
06/05/2026 12: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 = 12464
                
06/05/2026 12: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 = 12464
                
06/05/2026 12:58:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/2026 12: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 = 12473
                
06/05/2026 12: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 = 12473
                
06/05/2026 12:58:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:58:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:58:03 - logentry: =========================================
FECHA: 06/05/2026 12:58:03
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-.4fjKvOA9OTpNFAWUksu.IHfOyUYAFL6VB5eJStpmOLF+tHrjpn
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76858530",
    "serieinterna": "TO2386",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "52682",
    "contadorColor": "251763",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\ncambio de repuestos\najustes varios y pruebas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12473",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADGAJ8DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABGEAABAwMCBAEIBwQFDQAAAAABAAIDBAURBiESMUFRExQiYXGBkaHBFSMysdHh8AckUsIzYnSC8RYXJTU2N0JDcnOSsuL\/xAAaAQEAAwEBAQAAAAAAAAAAAAAAAgMEAQUG\/8QAMREAAgECBAMHAgYDAAAAAAAAAAECAxEEEiExQVFhEyJxkaHB0TKxBSMzUoHwQmLh\/9oADAMBAAIRAxEAPwD+zIiIAiIgCIiAIiIAiIgCIsnUtzdarLLNGcSv+rjPZx6+wZPsXUruxCc1CLk+ByV2o6qSvfb7JRisnjH1j3HDGHtzHp6jdc41TX22Zsd9tZga7lLDu3PvIPvWtp+1stVphhDQJXNDpXYwS4\/hy9i0JYo54nRTMbJG8Yc1wyCFO8VpYzqnWks+az5cPA+aephq4WzU8rJY3cnMOQvVR0kFRo64+UQudJaZ3fWM5mM\/j2PXke6r2ua9gexwc1wyCDkEKMo21WxbSqud1JWa3PpERRLgp+2XCtuWpa0slH0fSjww0DZzu+fYfh3XZqK4\/Rllnna\/glcOCI9eI9vVufYvPTFsFsssTSB4sw8SQ+k8h7Bj4qaVotmabcqsYLhq\/Y2ERFA0hERAEREAREQBERAFMapxVXWz2\/pJPxv9QI+WVTqYuPn\/ALQLZG7drYC4DscP3+AU6e9zNitYKPNpepToiKBpMvUozp2t9EeR6wQvrTpc7T9EXc\/CHTC5NZTeFpudoODI5rPjn5LTtkXgWqkhxjghY0+wBT\/w\/kzLXEPovc6kReFZVMoqOWpeMtjaXYzjPoz0UDQ2krsnLy03nVdHauDjgph4s4zt339mB\/eVUprR9JM+GovFUSZq55I\/6QfmfgAqVTn+3kZ8Mm06j3lr\/HAIiKBpCIiAIiIAiIgCIiAKYrv94lt\/sx+6RU6mLkRHr+1yOOzoC34P\/FWQ3fgZsTtHxX3KdERVmkmdanxoLfQjc1FSNhzONv5gqUAAYAwApe6Dy3XFuphgtpmeK7Odjkn5BVKnLSKRmo61Jy6peSC4a6S3VUotFW8OfUM4hDkguAOeY9XfoV43u+0tlpy6Qh87h9XCDu70+gelcWnLfVvmkvN0b+9zjDGnmxm22OnL19+aKOmZnZ1E59nHXn0RuwQR00EcELeCONoa1vYBeiIoGhKwREQBERAEREAREQBERAFL6rxBd7LV4+zPwu26Zb+aqFNa6jJskcrdnRTtdn2Efgp0\/qRmxX6LfLXyKVFn3G9Utst7aycnEgHAwc3HGcL1dcqb6LdcWSB0AjMgccjIHr3UbMu7SF2r7GFZB5XrC71bvO8AiJpPTfG3\/j+sruvuoGWzhpaZnj18u0cTRnGeRP4dVM2m8S0VFJHRs8a6XCUvDQMhg6e3md+nxpbFp8W7iq6x\/lFfLu+Vxzw+gE\/erpJJ3ZgoTlOGWnu7tvlf3PGxaffHILldj49e\/wA4cWCI\/wA\/u6KhRFTKTk7s3U6caccsQiIuFgREQBERAF5zTRU8TpZpGxsaMlzjgBZd71FT2jEDGmorJPsQs9PLP6yVm0unq68VDa7UEpIG7KVhwAPT2+\/0qajpdmedbvZKau\/ReJr0uobVW1QpqerY95G2duI9hnmVpqX1TaoaKxx1FvibTvo5GvDo9iAds55nchUNFUisoYKkDAlja\/HbISSVroU6k87hPffQ90RSmk77U3O5VcVRMZGkGSNpaAWgEDoOxHVcUW03yJzqxhOMXxKaoqYKWIy1EzIoxzc9wAWVqprajS9U5hDhwte1zdwRxA59ynteXF0tZFb2khkI43ju48vcPvWpaKkXLQ80ROXxQSQnqRhp4fhhWKGVKRlliFUnOj0ZPVs77xHGzjPh2+3tccfxYaD78jPq9C6q29RDSlHaKZxfUTMaH8J+yM5x6z27LCo7gaKkracRZdUsEZJP2RnJ27rW0pahVX9sjXccNGBI9+Ni\/oB7ev8AVV7SSu+B5dOcpytHeWj\/AL4FVpzTsVmpxJIA+rkHnv8A4f6o\/W620RY223dn0FOnGnFRjsERFwmEREAREQBT18v0zKkWq0N8auk2JG4i\/P7kvd7mNQLRaB4ldJs545RD8fuXbZLJDZqcgHxKiTeWY83H8FYkoq7Ms5yqyyU3pxfsuv2PGxadjteampf5TXSbvmcc4J54J39vVbSIoNtu7L4U4045Yo5bpTiqtdVARnxInAevG3xU3bKyT\/N9K+KRzJIGvaHNPCR52efqKrlC0P1Fh1FQ9KeU\/eR\/KrIaq3gZMR3Zp81Je5U6flkmsNHJLI6R7o8uc45J9qj9A\/68m\/szv\/ZqrdN\/7O0X\/aCmP2fsBuFW\/AyIgAfWfyUltMqnrOh\/eCMS+PdU6hrRwkvNQ5jQD2OB9wWpcJp9LXOrpKGRhjqom4BIzGe+Oh58+4WZXiV2p6oQM45fLH8DcczxnAVtZ9MQU9PJJcmtq6upGZnSecB1wPxVspKKVzFRpTqzll0d9+W\/3Ie2Wea6XI0ML2cTSS+QHLeEEAkY5\/Nf0m0WqC0ULaeJreLnI8DHG7usK0U8Vs1tXUcLAyGSEOY0dOR6+sqrVNWbenA34GhGCcnvdoIiKk9EIiIAiIgCmrtqGaoqTabG3xqp2z5hu2MdcH0d+Q9a6L5Feq6qbb6DhgpXsBlqc7jc5A93TvzC77VaKSz0ohpmbn7ch+08+n8FYrRV2ZpupUlkjouL+Pk8bJZIbNTkA+JUSbyzHm4\/gtREUG23dl8IRhHLHYIiLhIKEryKW66ip84bLTiQZ6nLT\/MVdr+fa246e+OLNhU0zQ4\/3v8A5CtpaysYMc7U1Ll7porNNuH+TlEcjAi3PtKktOXWmsdsr6pzhJNI9rIY+RdjO\/oG69ob8yi0T5I2TFUS6ENz5wady74kf4LLpdO3V8McraB7vHbmJ5OA3rk9thtnurYxWuYx1K0n2fZq7S8r6GzoqmdXXWru84a54Jx6Hu3JA9WferdcNntkdptsVIzBcBl7gMcTup\/XZdyonLNK56eGpOlTUXvxJi5\/u2u7ZOdmzRGP1nzh8wqdTGs2up22+5s+1S1A26kHf+X4qla5r2B7TlrhkHuF2WsUzlHSpOPW\/mv+H0iIqzSEREAREQBERAEREAREQBQ\/7QYcVNFPg+cxzSfUQfmrWWWOGJ0srwxjBlznHAAX851JeZb1NHMyB4oYXlkbiCOI7ZyfdsrqKea55\/4hOKouL3Zq2m0M1DcnXeopWQ0QOIocf0mNsnv+WFaLypmRMpomwNDIgwcDRyAxssO76m8Kf6PtMfllc48Pm7tjPp7ke4dVF3m9C2Chh4Xk9X6s0rreaKzw+JVSecRlkbd3O9Q+a5rDXXW4iWprqZlPTvAMDR9rHdc1q0zwzmvvEgrK1xB87drPxPwVCuPKlZEoKpOWeWi5fJl6lpvK9P1keMlsfGPW3f5L801VeV6eo5DnLWeGc\/1dvktNzWvYWOGWuGCO4U1op3gwV1ucfPpqg+7l97SurWDEu7iIvmmvLUp0RFWaQiIgCIiAIiIAiIgC\/CQBknAC\/VLXm4z3yqdY7Sctz+81A+y0dRn9Z5d1KMbsqq1VTjfjwXM8q2pn1bWm3UDyy3QkGef+Ptj3be9dOoxbLdpqS2MlZC7hHhRg+c4gg7gd98k91tWy3QWqhjpIB5rBu483HqSvyptNDVzmompo3zcHAHuGcD9FTzq\/RGfsJuDb+qW\/ToiUoDfdR0EFMxzaSgYwRvlb9qThGD6\/gFT2qy0Vnh4KWPz3Dz5Hbud7fkFlaHkebRPTyOJdBUFuCeQwPnlUqVJO7jwGFpxcFUer6+wREVRtCl6X\/R+vqmHBDK6LjaM8zjOfeHKoUvqxvkVbbbwM4glDJMHpz5eri94VkN7czNidIqf7Wn8lQi+Wua9ge05a4ZB7hfSrNIREQBERAEREARFMXa6VV2rXWWznBG1TUDkwdQCpRjcqqVFTV3vwXMXW61N3rHWazO9FRUjkwdQCtq1WqmtFG2np2+l7zzee5S1WqmtFG2np2+l7zzee5XauylwWxClSd88\/q+3RBERQNBL6fd5Hqq8UB\/5jvGb6s5+549yqFL3Iig11QVPJlVH4Tt+Z3HzaqhWT4MzYbRShyb+QiIqzSFP6wtEtztYlgLjLTEvEY\/4x1277be0dVQIuxbi7orqU1Ug4PiYmka\/y6wxBzsyQfVuycnbl8Me5bagKiabSeq5JGsxSVB4iwcnMJ6ekH9bq9a5r2B7TlrhkHuFOpGzutmUYWpmjklvHRn0iIqzWEREAREQBeMFLT03H5PBHF4h4ncDQOI9zheyIcsgiIh0IiICa1tC4UFNXxjz6ScOz2B\/MNVDDMyogjnjOWSNDmnuCMheF1pBX2uppSP6SMgb9eY+OFmaNqjUafjjcSX073ROzzHUfAgexWbw8DMu5iH\/svVG8iIqzSEREBhautJudpL4m5mpiZG4GSRjcD17e5c2iLmau1uo5HZfSnDcncsPL3cvcqZeUVNBA57ooWMdIcuLRjJU83dyszuj+cqsX49T1REUDQEREAREQBERAEREAREQBTGnR9HahutqdsHO8aIdOH\/BzfcqdS+oM2\/VFquWQ1jz4MhPIDPM+xx9yshrdGbEd3LU5P0ehUIiKs0hERAEREAREQBERAEREAREQBERAEREAWdfLSy8W51MX+HICHxyYzwuCIup2d0RnFSi09jthbIyCNszxJIGgPeBjiONzjovREXDq2CIiHQiIgCIiAIiID\/\/Z",
    "razonSocial": "NORACID SA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTECIÓN CORRECTIVA, CAMBIO REPUESTOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R734\",\"id_control\":\"28591\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-R742\",\"id_control\":\"28591\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:58",
    "ubicacionGPS": "LatLng(lat: -23.0993162, lng: -70.4158428)",
    "horaLlegada": "08:49",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 06/05/2026 12:58:03
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-.4fjKvOA9OTpNFAWUksu.IHfOyUYAFL6VB5eJStpmOLF+tHrjpn
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76858530",
    "serieinterna": "TO2386",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "52682",
    "contadorColor": "251763",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\ncambio de repuestos\najustes varios y pruebas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12473",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADGAJ8DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABGEAABAwMCBAEIBwQFDQAAAAABAAIDBAURBiESMUFRExQiYXGBkaHBFSMysdHh8AckUsIzYnSC8RYXJTU2N0JDcnOSsuL\/xAAaAQEAAwEBAQAAAAAAAAAAAAAAAgMEAQUG\/8QAMREAAgECBAMHAgYDAAAAAAAAAAECAxEEEiExQVFhEyJxkaHB0TKxBSMzUoHwQmLh\/9oADAMBAAIRAxEAPwD+zIiIAiIgCIiAIiIAiIgCIsnUtzdarLLNGcSv+rjPZx6+wZPsXUruxCc1CLk+ByV2o6qSvfb7JRisnjH1j3HDGHtzHp6jdc41TX22Zsd9tZga7lLDu3PvIPvWtp+1stVphhDQJXNDpXYwS4\/hy9i0JYo54nRTMbJG8Yc1wyCFO8VpYzqnWks+az5cPA+aephq4WzU8rJY3cnMOQvVR0kFRo64+UQudJaZ3fWM5mM\/j2PXke6r2ua9gexwc1wyCDkEKMo21WxbSqud1JWa3PpERRLgp+2XCtuWpa0slH0fSjww0DZzu+fYfh3XZqK4\/Rllnna\/glcOCI9eI9vVufYvPTFsFsssTSB4sw8SQ+k8h7Bj4qaVotmabcqsYLhq\/Y2ERFA0hERAEREAREQBERAFMapxVXWz2\/pJPxv9QI+WVTqYuPn\/ALQLZG7drYC4DscP3+AU6e9zNitYKPNpepToiKBpMvUozp2t9EeR6wQvrTpc7T9EXc\/CHTC5NZTeFpudoODI5rPjn5LTtkXgWqkhxjghY0+wBT\/w\/kzLXEPovc6kReFZVMoqOWpeMtjaXYzjPoz0UDQ2krsnLy03nVdHauDjgph4s4zt339mB\/eVUprR9JM+GovFUSZq55I\/6QfmfgAqVTn+3kZ8Mm06j3lr\/HAIiKBpCIiAIiIAiIgCIiAKYrv94lt\/sx+6RU6mLkRHr+1yOOzoC34P\/FWQ3fgZsTtHxX3KdERVmkmdanxoLfQjc1FSNhzONv5gqUAAYAwApe6Dy3XFuphgtpmeK7Odjkn5BVKnLSKRmo61Jy6peSC4a6S3VUotFW8OfUM4hDkguAOeY9XfoV43u+0tlpy6Qh87h9XCDu70+gelcWnLfVvmkvN0b+9zjDGnmxm22OnL19+aKOmZnZ1E59nHXn0RuwQR00EcELeCONoa1vYBeiIoGhKwREQBERAEREAREQBERAFL6rxBd7LV4+zPwu26Zb+aqFNa6jJskcrdnRTtdn2Efgp0\/qRmxX6LfLXyKVFn3G9Utst7aycnEgHAwc3HGcL1dcqb6LdcWSB0AjMgccjIHr3UbMu7SF2r7GFZB5XrC71bvO8AiJpPTfG3\/j+sruvuoGWzhpaZnj18u0cTRnGeRP4dVM2m8S0VFJHRs8a6XCUvDQMhg6e3md+nxpbFp8W7iq6x\/lFfLu+Vxzw+gE\/erpJJ3ZgoTlOGWnu7tvlf3PGxaffHILldj49e\/wA4cWCI\/wA\/u6KhRFTKTk7s3U6caccsQiIuFgREQBERAF5zTRU8TpZpGxsaMlzjgBZd71FT2jEDGmorJPsQs9PLP6yVm0unq68VDa7UEpIG7KVhwAPT2+\/0qajpdmedbvZKau\/ReJr0uobVW1QpqerY95G2duI9hnmVpqX1TaoaKxx1FvibTvo5GvDo9iAds55nchUNFUisoYKkDAlja\/HbISSVroU6k87hPffQ90RSmk77U3O5VcVRMZGkGSNpaAWgEDoOxHVcUW03yJzqxhOMXxKaoqYKWIy1EzIoxzc9wAWVqprajS9U5hDhwte1zdwRxA59ynteXF0tZFb2khkI43ju48vcPvWpaKkXLQ80ROXxQSQnqRhp4fhhWKGVKRlliFUnOj0ZPVs77xHGzjPh2+3tccfxYaD78jPq9C6q29RDSlHaKZxfUTMaH8J+yM5x6z27LCo7gaKkracRZdUsEZJP2RnJ27rW0pahVX9sjXccNGBI9+Ni\/oB7ev8AVV7SSu+B5dOcpytHeWj\/AL4FVpzTsVmpxJIA+rkHnv8A4f6o\/W620RY223dn0FOnGnFRjsERFwmEREAREQBT18v0zKkWq0N8auk2JG4i\/P7kvd7mNQLRaB4ldJs545RD8fuXbZLJDZqcgHxKiTeWY83H8FYkoq7Ms5yqyyU3pxfsuv2PGxadjteampf5TXSbvmcc4J54J39vVbSIoNtu7L4U4045Yo5bpTiqtdVARnxInAevG3xU3bKyT\/N9K+KRzJIGvaHNPCR52efqKrlC0P1Fh1FQ9KeU\/eR\/KrIaq3gZMR3Zp81Je5U6flkmsNHJLI6R7o8uc45J9qj9A\/68m\/szv\/ZqrdN\/7O0X\/aCmP2fsBuFW\/AyIgAfWfyUltMqnrOh\/eCMS+PdU6hrRwkvNQ5jQD2OB9wWpcJp9LXOrpKGRhjqom4BIzGe+Oh58+4WZXiV2p6oQM45fLH8DcczxnAVtZ9MQU9PJJcmtq6upGZnSecB1wPxVspKKVzFRpTqzll0d9+W\/3Ie2Wea6XI0ML2cTSS+QHLeEEAkY5\/Nf0m0WqC0ULaeJreLnI8DHG7usK0U8Vs1tXUcLAyGSEOY0dOR6+sqrVNWbenA34GhGCcnvdoIiKk9EIiIAiIgCmrtqGaoqTabG3xqp2z5hu2MdcH0d+Q9a6L5Feq6qbb6DhgpXsBlqc7jc5A93TvzC77VaKSz0ohpmbn7ch+08+n8FYrRV2ZpupUlkjouL+Pk8bJZIbNTkA+JUSbyzHm4\/gtREUG23dl8IRhHLHYIiLhIKEryKW66ip84bLTiQZ6nLT\/MVdr+fa246e+OLNhU0zQ4\/3v8A5CtpaysYMc7U1Ll7porNNuH+TlEcjAi3PtKktOXWmsdsr6pzhJNI9rIY+RdjO\/oG69ob8yi0T5I2TFUS6ENz5wady74kf4LLpdO3V8McraB7vHbmJ5OA3rk9thtnurYxWuYx1K0n2fZq7S8r6GzoqmdXXWru84a54Jx6Hu3JA9WferdcNntkdptsVIzBcBl7gMcTup\/XZdyonLNK56eGpOlTUXvxJi5\/u2u7ZOdmzRGP1nzh8wqdTGs2up22+5s+1S1A26kHf+X4qla5r2B7TlrhkHuF2WsUzlHSpOPW\/mv+H0iIqzSEREAREQBERAEREAREQBQ\/7QYcVNFPg+cxzSfUQfmrWWWOGJ0srwxjBlznHAAX851JeZb1NHMyB4oYXlkbiCOI7ZyfdsrqKea55\/4hOKouL3Zq2m0M1DcnXeopWQ0QOIocf0mNsnv+WFaLypmRMpomwNDIgwcDRyAxssO76m8Kf6PtMfllc48Pm7tjPp7ke4dVF3m9C2Chh4Xk9X6s0rreaKzw+JVSecRlkbd3O9Q+a5rDXXW4iWprqZlPTvAMDR9rHdc1q0zwzmvvEgrK1xB87drPxPwVCuPKlZEoKpOWeWi5fJl6lpvK9P1keMlsfGPW3f5L801VeV6eo5DnLWeGc\/1dvktNzWvYWOGWuGCO4U1op3gwV1ucfPpqg+7l97SurWDEu7iIvmmvLUp0RFWaQiIgCIiAIiIAiIgC\/CQBknAC\/VLXm4z3yqdY7Sctz+81A+y0dRn9Z5d1KMbsqq1VTjfjwXM8q2pn1bWm3UDyy3QkGef+Ptj3be9dOoxbLdpqS2MlZC7hHhRg+c4gg7gd98k91tWy3QWqhjpIB5rBu483HqSvyptNDVzmompo3zcHAHuGcD9FTzq\/RGfsJuDb+qW\/ToiUoDfdR0EFMxzaSgYwRvlb9qThGD6\/gFT2qy0Vnh4KWPz3Dz5Hbud7fkFlaHkebRPTyOJdBUFuCeQwPnlUqVJO7jwGFpxcFUer6+wREVRtCl6X\/R+vqmHBDK6LjaM8zjOfeHKoUvqxvkVbbbwM4glDJMHpz5eri94VkN7czNidIqf7Wn8lQi+Wua9ge05a4ZB7hfSrNIREQBERAEREARFMXa6VV2rXWWznBG1TUDkwdQCpRjcqqVFTV3vwXMXW61N3rHWazO9FRUjkwdQCtq1WqmtFG2np2+l7zzee5S1WqmtFG2np2+l7zzee5XauylwWxClSd88\/q+3RBERQNBL6fd5Hqq8UB\/5jvGb6s5+549yqFL3Iig11QVPJlVH4Tt+Z3HzaqhWT4MzYbRShyb+QiIqzSFP6wtEtztYlgLjLTEvEY\/4x1277be0dVQIuxbi7orqU1Ug4PiYmka\/y6wxBzsyQfVuycnbl8Me5bagKiabSeq5JGsxSVB4iwcnMJ6ekH9bq9a5r2B7TlrhkHuFOpGzutmUYWpmjklvHRn0iIqzWEREAREQBeMFLT03H5PBHF4h4ncDQOI9zheyIcsgiIh0IiICa1tC4UFNXxjz6ScOz2B\/MNVDDMyogjnjOWSNDmnuCMheF1pBX2uppSP6SMgb9eY+OFmaNqjUafjjcSX073ROzzHUfAgexWbw8DMu5iH\/svVG8iIqzSEREBhautJudpL4m5mpiZG4GSRjcD17e5c2iLmau1uo5HZfSnDcncsPL3cvcqZeUVNBA57ooWMdIcuLRjJU83dyszuj+cqsX49T1REUDQEREAREQBERAEREAREQBTGnR9HahutqdsHO8aIdOH\/BzfcqdS+oM2\/VFquWQ1jz4MhPIDPM+xx9yshrdGbEd3LU5P0ehUIiKs0hERAEREAREQBERAEREAREQBERAEREAWdfLSy8W51MX+HICHxyYzwuCIup2d0RnFSi09jthbIyCNszxJIGgPeBjiONzjovREXDq2CIiHQiIgCIiAIiID\/\/Z",
    "razonSocial": "NORACID SA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTECIÓN CORRECTIVA, CAMBIO REPUESTOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R734\",\"id_control\":\"28591\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-R742\",\"id_control\":\"28591\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:58",
    "ubicacionGPS": "LatLng(lat: -23.0993162, lng: -70.4158428)",
    "horaLlegada": "08:49",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


06/05/2026 12:58:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76858530

[06/05/2026 12:58: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('76858530', 'TO2386', 1, 21773342, 52682, NOW(), 
				'08:00', '08:49', '12:58', 4, 'Mantenimiento
cambio de repuestos
ajustes varios y pruebas', -1, 
				'', '','1','251763',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778086683.png', '', null, 'COMPLETADO','LatLng(lat: -23.0993162, lng: -70.4158428)' )
				
[06/05/2026 12:58:03] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200194
[06/05/2026 12:58:03] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200194', 'TOS-R734', 2)
				
[06/05/2026 12:58:03] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28591 and
				    IDproducto = 'TOS-R734'
				

06/05/2026 12:58:03 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-R734';
                [06/05/2026 12:58:03] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200194', 'TOS-R742', 1)
				
[06/05/2026 12:58:03] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28591 and
				    IDproducto = 'TOS-R742'
				

06/05/2026 12:58:03 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R742';
                
06/05/2026 12:58:03 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200194'                    
				WHERE idllamado = 12473			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


06/05/2026 12:58:04 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12473			
				
06/05/2026 12:58:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


06/05/2026 12: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 = 12473
                
06/05/2026 12: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 = 12473
                
06/05/2026 12:58:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12473
            GROUP BY l.idllamado;
            
06/05/2026 12:58:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12:58:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12473
                
06/05/2026 12: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 = 12473
                
06/05/2026 12: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 = 12473
                [06/05/2026 12:58: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;
                

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

06/05/2026 12: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 = 12473
                
06/05/2026 12: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 = 12473
                
06/05/2026 12:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12464
                
06/05/2026 12:59:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12464
            GROUP BY l.idllamado;
            
06/05/2026 12:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12464
                
06/05/2026 12:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12464
                
06/05/2026 12:59:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12464
            GROUP BY l.idllamado;
            
06/05/2026 12:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12464
                
06/05/2026 12:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12464
                
06/05/2026 12:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12464
                
06/05/2026 12:59:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12464
                
06/05/2026 12:59:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12464
            GROUP BY l.idllamado;
            
06/05/2026 12:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12464
                
06/05/2026 12:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12464
                
06/05/2026 12:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12464
                
06/05/2026 12: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 = 12464
                
06/05/2026 12:59:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12464
            GROUP BY l.idllamado;
            
06/05/2026 12:59:51 - logentry: =========================================
FECHA: 06/05/2026 12:59:51
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-tAd3mauN0gyS_p+99.68o8ETN-_uGL.p4ENGbV_iw+K0xrk91-9
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2406",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se entregan 2 juegos de tinta epson 6590",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12464",
    "observacion": "se entregó 2 juegos de tinta y faltó 1 caja de mantenimiento  ( impresora fuera de servicio )",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACiAPoDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABBEAABAwMBBAgCBAsJAAAAAAAAAQIDBAURIQYSMUETIlFhcYGRsRShMkLB0QcVIyQzQ1KSsuHwJjU2U3N0gtLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEBAAIBAgMGBQQDAQAAAAAAAAECEQMhEjFBEzJRYZGhInGx0eEEFIHwJDRCwf\/aAAwDAQACEQMRAD8A+zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOG73WCz0L6mbrKidSNFwr17P5kHDBtVdo\/iXV0dBHInUia3VE9PtHRNu+3UrKhEdFQRorGqnFcJxThxVV9C1FmeCPNjiJ17TMzisbbfVVv7W2td96xXKFmqtbhHqmvci59TZHtxQ7rkqKSqhlamrFai\/P+RZTFzGOVquaiq1coqpwOcUTzhPsb17l\/XdWmbS3WueyO32ORN5f0k2d3HbnCe566i2rrESd1fBRu3VxC1M4Xv0VPcswHHEcoOwme\/eZ9voq8F+utqqI6e\/0yKyTRlRFjVe\/l7YLJDNHUQsmhej43plrmroqCeCKpgfBMxHxyJuuavNCqos+yFza1ZHS2qqfhqKv6Jfs+1PA7iL8uaObaHenNfHrH4W4HiKiplFyinpW1gAAAAAAAAAAAAAAAAAAAAAAAAAAAACsSqtu29jkVV6Ovh3c8ERycvVqfvFnIjaSzuu9uxAuKmFd+F2ca80z3++DHZy8rdKR0U6blZT9SZi8V5Z+RZPxVyy6c9nqTSeu8f8AsJkAFbUAAAcl0t8V0t0tJKmj06q\/su5L6nWDsTjdy1YtGJV7ZKvnlpJbdVovxFC7o1zxVvL0xjwwWEq1Wn4r26pqhHbsVwZuP14u4e6N9S0kr88+LP8Ap5nhmk86zj7ewACDSAAAAAAAAAAAAAAAAAAAAAAAAAAAV6+WadtQl4tKqytiRd9jUykqeHb7+JYQdraYnKvU041K4lF2O+QXqm3m\/k6hmksS8Wr2p3EoQV1sEjqxtztEiU1ai9fkyVOeUMaHaGq+IjpLpbJaaeRzWtczVj1VcaZ9eK8Cc1id6qq6s0+HV5+PSfsnwAVtIAAIDbOBr7C6o4PppGvYqLjiqJ9pL0E7qq3U1Q\/G9LEx644ZVEUjdr\/8L1n\/AA\/jadtl\/uOg\/wBtH\/ChOe5DNG36iflH1l2gAg0gAAAAAAAAAAGuaaOnhfNM9GRsTLnOXRENhVNpZX3a8Ulgp3YbnpKhyfVTH2JlfNCVa8UqtbU7OuY59Pmybd71f5XtssbKakaqtWpmTVV7uPsbZKvai2daakhuMSfSWLR\/lhO\/HBeBYKenipYGQQRpHGxMNa3ghsJcceGyqNC2Mzec+3owieskTHuarFc1FVq8u4zAK2oAAAAAAAAAAA8VEXimT0AAAAAMZHpHG56oqo1FXCcVAgNtKlrLMlGiostXI1rGrzwqL74TzJmhgWlt9NTquVhiaxV8ERCvWillv12W+VsT2QRrilicq6Ki8fl6+BaSy20RVl0c3vOr0naPkAAragAAAAAAAAAAaaypZRUctTIuGRMVykBshRySMqL1VJ+cVr1Vvc3PLxX5IhlttM5LRFSR\/Sqpms8k198E7SUzKOkipo0RGRMRqYTsQs5U+bL39fyrHvP4bgAVtQaKqtpaJm\/VVEcLV4b7kTPh2m85a220lwWJauFJehdvMzyU7GM7o24sfDzR0u11lhkVjqpyqnZG77jqpb\/aax27BXxK7scu6q+GcZNzbVbmJhtBTIn+i37jiq9lbNWJrRtid+1D1PkmnyJfB5qP8iN9p9UwCqrszc7VI2Sx3J27nCwzrpjPovohKWaqvUz5I7tQRwbqJuyMei7y9mMqJrGMxLtNa0zw3rMT6x6pYAEGgAAAAAAAAAAAAAAAAAAAAAAAAAAFYv2Kvau0ULlVWsXplZjRdVXX9z3LOViX8t+ESDP6mmXHo7\/spZyd+UQzaG9r28\/pEAAINIARFy2mtlskWGSVZZ0\/VRJvKi9i8kOxEzyQvetIzacJcFV+J2nva71NE220qposn0nJ7+aInievsW0NGzp6W+SVUqLnopco12qaaqvZ3fMnweMqP3EzvWkzC0gh7Je5LhJJR1lMtPWwNRZWp9HXhjVcceCkwQmJicSvpet68VQAHEwAAAAAAAAAAAAAAAAAAAAAAAAAAViXEP4Q4VeuEmpsN8cL9xZyu7U0dQySkvFHGr5qJ\/XanFzM\/wDqeam+La+yyQJI+pWJ2MrG9jt5PlqWTE2iJhj0710r3recb59U2c9bXU1vp3T1UzY2JzXivcicyvybVVdxldTWGgfO7h08iYa3y+9fI2Ueyr56lK2+VPxs\/wDl\/Ub9\/hhEHBjvJdvN9tKM+fT8\/wAOd9wuu071htaPoqFF61S5MOd2povsTFr2et9qRHRRdJPzmk1cq93Z5Ek1rWNRrGo1qcERMIhkcm\/SNoSpoRE8V95\/vIABBoeYTOcanoAAAAAAAAAAAAAAAAAFX2hdX2q8QXeKSaSj0bPGz6qIvsvuWOmqYaynZUU70kikTLXJzMpYo54XwysR8b0VrmrwVCrWuVdm79JZ53O+DqV3qaR68F7Ps8cdpZ3o84ZJzo6mZ7tvaftK2AArawAAAAAAAA4ls1rWTpFt9Mrs5ysSce07QdzMIzWLc4YsYyNiMjajGtTCNamEQyAOJAAAAAAAAAAAAAAAAAAAAAAAABFbQ2dt4tyxt0qI+vC7OMO7PMlQdiZicwjekXrNbcpQ2zN2dcresVQqpWUy9HM13FccF\/rmikyVO8RybPX5l7gbvU1Qu5UsROCrz88Z8U7y1Me2SNsjHI5rkRWqnNCV46x1U6F5xNLc49\/CWQAINAAAABFXbaGgtCbkr1knXhDHq7uz2HYiZ2hG960jNpxCUc5GtVzlRERMqq8ity3yvu9c2msLU6GN6dNVPTq4zwTKe2vgc60l72oei1qOt1v4pEn03ePb5+hZaKigt9KympmbkbE01yq96qTxFee8s3FfWnbMV8es\/Z0AArawAAAAAAAAAAAAAAAAAAAAAAAAAAaKykirqOWlmTLJWq1e7vIDZOsfTOqLFVv\/ADileu5leLexPDj4KWYgNoLVVPqILra2p8bT6KmcdI3s7+zzJ1nMcMs2tWYmNWvOOfnCfBA0e19smp2uq5FpJk0fE9rlwvcuNTyq2ztMDMwvkqXquEbGxUyviuBwWzjCX7nRxnihPnFcLxQWtiuq6ljHYyjEXLl8ETUgnVW1F5RzaamZbYHcHyKqPx\/Xch123ZGhpH9PVqtbUKuVfLqmfD78neGI70odte+2nX+Z2\/LjS533aLKWyFKCkVcLUSL1l8P5epJWnZmitj0nfmpq85WeTjntROXuTCIiJhEwiHpyb9I2SpoRE8V54p\/vKAAEGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABG3SgopmJLLSQSPzjefGirjXme2qhpKdjpIaWGJ+cbzI0Rcac0AL\/8Ah5kf7CRABQ9MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MARIA JOSE ARRIAGADA",
    "correoContacto": "maria.arriagada@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+5697858833",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28581\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28581\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28581\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28581\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:59",
    "ubicacionGPS": "LatLng(lat: -22.0939374, lng: -70.2043225)",
    "horaLlegada": "09:47",
    "horaDespacho": "12:56",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 06/05/2026 12:59:51
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-tAd3mauN0gyS_p+99.68o8ETN-_uGL.p4ENGbV_iw+K0xrk91-9
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2406",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se entregan 2 juegos de tinta epson 6590",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12464",
    "observacion": "se entregó 2 juegos de tinta y faltó 1 caja de mantenimiento  ( impresora fuera de servicio )",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACiAPoDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABBEAABAwMBBAgCBAsJAAAAAAAAAQIDBAURIQYSMUETIlFhcYGRsRShMkLB0QcVIyQzQ1KSsuHwJjU2U3N0gtLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEBAAIBAgMGBQQDAQAAAAAAAAECEQMhEjFBEzJRYZGhInGx0eEEFIHwJDRCwf\/aAAwDAQACEQMRAD8A+zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOG73WCz0L6mbrKidSNFwr17P5kHDBtVdo\/iXV0dBHInUia3VE9PtHRNu+3UrKhEdFQRorGqnFcJxThxVV9C1FmeCPNjiJ17TMzisbbfVVv7W2td96xXKFmqtbhHqmvci59TZHtxQ7rkqKSqhlamrFai\/P+RZTFzGOVquaiq1coqpwOcUTzhPsb17l\/XdWmbS3WueyO32ORN5f0k2d3HbnCe566i2rrESd1fBRu3VxC1M4Xv0VPcswHHEcoOwme\/eZ9voq8F+utqqI6e\/0yKyTRlRFjVe\/l7YLJDNHUQsmhej43plrmroqCeCKpgfBMxHxyJuuavNCqos+yFza1ZHS2qqfhqKv6Jfs+1PA7iL8uaObaHenNfHrH4W4HiKiplFyinpW1gAAAAAAAAAAAAAAAAAAAAAAAAAAAACsSqtu29jkVV6Ovh3c8ERycvVqfvFnIjaSzuu9uxAuKmFd+F2ca80z3++DHZy8rdKR0U6blZT9SZi8V5Z+RZPxVyy6c9nqTSeu8f8AsJkAFbUAAAcl0t8V0t0tJKmj06q\/su5L6nWDsTjdy1YtGJV7ZKvnlpJbdVovxFC7o1zxVvL0xjwwWEq1Wn4r26pqhHbsVwZuP14u4e6N9S0kr88+LP8Ap5nhmk86zj7ewACDSAAAAAAAAAAAAAAAAAAAAAAAAAAAV6+WadtQl4tKqytiRd9jUykqeHb7+JYQdraYnKvU041K4lF2O+QXqm3m\/k6hmksS8Wr2p3EoQV1sEjqxtztEiU1ai9fkyVOeUMaHaGq+IjpLpbJaaeRzWtczVj1VcaZ9eK8Cc1id6qq6s0+HV5+PSfsnwAVtIAAIDbOBr7C6o4PppGvYqLjiqJ9pL0E7qq3U1Q\/G9LEx644ZVEUjdr\/8L1n\/AA\/jadtl\/uOg\/wBtH\/ChOe5DNG36iflH1l2gAg0gAAAAAAAAAAGuaaOnhfNM9GRsTLnOXRENhVNpZX3a8Ulgp3YbnpKhyfVTH2JlfNCVa8UqtbU7OuY59Pmybd71f5XtssbKakaqtWpmTVV7uPsbZKvai2daakhuMSfSWLR\/lhO\/HBeBYKenipYGQQRpHGxMNa3ghsJcceGyqNC2Mzec+3owieskTHuarFc1FVq8u4zAK2oAAAAAAAAAAA8VEXimT0AAAAAMZHpHG56oqo1FXCcVAgNtKlrLMlGiostXI1rGrzwqL74TzJmhgWlt9NTquVhiaxV8ERCvWillv12W+VsT2QRrilicq6Ki8fl6+BaSy20RVl0c3vOr0naPkAAragAAAAAAAAAAaaypZRUctTIuGRMVykBshRySMqL1VJ+cVr1Vvc3PLxX5IhlttM5LRFSR\/Sqpms8k198E7SUzKOkipo0RGRMRqYTsQs5U+bL39fyrHvP4bgAVtQaKqtpaJm\/VVEcLV4b7kTPh2m85a220lwWJauFJehdvMzyU7GM7o24sfDzR0u11lhkVjqpyqnZG77jqpb\/aax27BXxK7scu6q+GcZNzbVbmJhtBTIn+i37jiq9lbNWJrRtid+1D1PkmnyJfB5qP8iN9p9UwCqrszc7VI2Sx3J27nCwzrpjPovohKWaqvUz5I7tQRwbqJuyMei7y9mMqJrGMxLtNa0zw3rMT6x6pYAEGgAAAAAAAAAAAAAAAAAAAAAAAAAAFYv2Kvau0ULlVWsXplZjRdVXX9z3LOViX8t+ESDP6mmXHo7\/spZyd+UQzaG9r28\/pEAAINIARFy2mtlskWGSVZZ0\/VRJvKi9i8kOxEzyQvetIzacJcFV+J2nva71NE220qposn0nJ7+aInievsW0NGzp6W+SVUqLnopco12qaaqvZ3fMnweMqP3EzvWkzC0gh7Je5LhJJR1lMtPWwNRZWp9HXhjVcceCkwQmJicSvpet68VQAHEwAAAAAAAAAAAAAAAAAAAAAAAAAAViXEP4Q4VeuEmpsN8cL9xZyu7U0dQySkvFHGr5qJ\/XanFzM\/wDqeam+La+yyQJI+pWJ2MrG9jt5PlqWTE2iJhj0710r3recb59U2c9bXU1vp3T1UzY2JzXivcicyvybVVdxldTWGgfO7h08iYa3y+9fI2Ueyr56lK2+VPxs\/wDl\/Ub9\/hhEHBjvJdvN9tKM+fT8\/wAOd9wuu071htaPoqFF61S5MOd2povsTFr2et9qRHRRdJPzmk1cq93Z5Ek1rWNRrGo1qcERMIhkcm\/SNoSpoRE8V95\/vIABBoeYTOcanoAAAAAAAAAAAAAAAAAFX2hdX2q8QXeKSaSj0bPGz6qIvsvuWOmqYaynZUU70kikTLXJzMpYo54XwysR8b0VrmrwVCrWuVdm79JZ53O+DqV3qaR68F7Ps8cdpZ3o84ZJzo6mZ7tvaftK2AArawAAAAAAAA4ls1rWTpFt9Mrs5ysSce07QdzMIzWLc4YsYyNiMjajGtTCNamEQyAOJAAAAAAAAAAAAAAAAAAAAAAAABFbQ2dt4tyxt0qI+vC7OMO7PMlQdiZicwjekXrNbcpQ2zN2dcresVQqpWUy9HM13FccF\/rmikyVO8RybPX5l7gbvU1Qu5UsROCrz88Z8U7y1Me2SNsjHI5rkRWqnNCV46x1U6F5xNLc49\/CWQAINAAAABFXbaGgtCbkr1knXhDHq7uz2HYiZ2hG960jNpxCUc5GtVzlRERMqq8ity3yvu9c2msLU6GN6dNVPTq4zwTKe2vgc60l72oei1qOt1v4pEn03ePb5+hZaKigt9KympmbkbE01yq96qTxFee8s3FfWnbMV8es\/Z0AArawAAAAAAAAAAAAAAAAAAAAAAAAAAaKykirqOWlmTLJWq1e7vIDZOsfTOqLFVv\/ADileu5leLexPDj4KWYgNoLVVPqILra2p8bT6KmcdI3s7+zzJ1nMcMs2tWYmNWvOOfnCfBA0e19smp2uq5FpJk0fE9rlwvcuNTyq2ztMDMwvkqXquEbGxUyviuBwWzjCX7nRxnihPnFcLxQWtiuq6ljHYyjEXLl8ETUgnVW1F5RzaamZbYHcHyKqPx\/Xch123ZGhpH9PVqtbUKuVfLqmfD78neGI70odte+2nX+Z2\/LjS533aLKWyFKCkVcLUSL1l8P5epJWnZmitj0nfmpq85WeTjntROXuTCIiJhEwiHpyb9I2SpoRE8V54p\/vKAAEGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABG3SgopmJLLSQSPzjefGirjXme2qhpKdjpIaWGJ+cbzI0Rcac0AL\/8Ah5kf7CRABQ9MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MARIA JOSE ARRIAGADA",
    "correoContacto": "maria.arriagada@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+5697858833",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28581\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28581\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28581\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28581\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:59",
    "ubicacionGPS": "LatLng(lat: -22.0939374, lng: -70.2043225)",
    "horaLlegada": "09:47",
    "horaDespacho": "12:56",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


06/05/2026 12:59:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[06/05/2026 12:59:51] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP2406', 2, 7373114, 0, NOW(), 
				'12:56', '09:47', '12:59', 10, 'se entregan 2 juegos de tinta epson 6590', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778086791.png', 'se entregó 2 juegos de tinta y faltó 1 caja de mantenimiento  ( impresora fuera de servicio )', null, 'COMPLETADO','LatLng(lat: -22.0939374, lng: -70.2043225)' )
				
[06/05/2026 12:59:51] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200195
[06/05/2026 12:59:51] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200195', 'EPS-I302', 2)
				
[06/05/2026 12:59:51] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28581 and
				    IDproducto = 'EPS-I302'
				

06/05/2026 12: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 = 12464
                
06/05/2026 12:59:51 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I302';
                [06/05/2026 12:59:51] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200195', 'EPS-I304', 2)
				
[06/05/2026 12:59:51] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28581 and
				    IDproducto = 'EPS-I304'
				

06/05/2026 12:59:51 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I304';
                [06/05/2026 12:59:51] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200195', 'EPS-I305', 2)
				
[06/05/2026 12:59:51] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28581 and
				    IDproducto = 'EPS-I305'
				

06/05/2026 12:59:51 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I305';
                [06/05/2026 12:59:51] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200195', 'EPS-I303', 2)
				
[06/05/2026 12:59:51] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28581 and
				    IDproducto = 'EPS-I303'
				

06/05/2026 12:59:51 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I303';
                
06/05/2026 12:59:51 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200195'                    
				WHERE idllamado = 12464			
				TO ENVIO: micorreo@miempresa.cl, maria.arriagada@eplicancabur.cl


06/05/2026 12:59:51 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12464			
				
06/05/2026 12:59:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


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

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

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

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

06/05/2026 13:00:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
06/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
06/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
06/05/2026 13:00:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
06/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
06/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
06/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
06/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
06/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
06/05/2026 13:00:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                [06/05/2026 13: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;
                
[06/05/2026 13: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;
                

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

06/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
06/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12456
                
06/05/2026 13: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 = 12456
                
06/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12456
                
06/05/2026 13: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 = 12456
                
06/05/2026 13: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 = 12456
                
06/05/2026 13: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 = 12456
                
06/05/2026 13: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 = 12456
                
06/05/2026 13:00:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            [06/05/2026 13:00:50] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:00:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
06/05/2026 13:00:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
06/05/2026 13:00:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
06/05/2026 13:00:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
06/05/2026 13:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                [06/05/2026 13:00:50] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 13:00:50] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 13:00:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:00:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
06/05/2026 13:00:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:00:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
06/05/2026 13:00:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            [06/05/2026 13:00:55] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13:00:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:00:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
06/05/2026 13:00:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:00:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:00:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:00:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:00:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                [06/05/2026 13:00:58] 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;
                

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

06/05/2026 13:00:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:00:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
06/05/2026 13:00:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
06/05/2026 13:00:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
06/05/2026 13:00:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:00:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
06/05/2026 13:00:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:00:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                [06/05/2026 13:00:58] 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;
                

06/05/2026 13:00:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:00:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:00:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:00:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                [06/05/2026 13:01: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;
                

06/05/2026 13:01:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
06/05/2026 13:01:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                [06/05/2026 13:01: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;
                

06/05/2026 13:01:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:01:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            [06/05/2026 13:01: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;
                

06/05/2026 13:01:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
06/05/2026 13:01:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:01:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:01:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
06/05/2026 13:01:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:01:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:01:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:01:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:01:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            [06/05/2026 13:01:03] 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;
                
[06/05/2026 13:01:03] 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;
                

06/05/2026 13:01:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
06/05/2026 13:01:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
06/05/2026 13:01:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
06/05/2026 13:01:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
06/05/2026 13:01:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
06/05/2026 13:01:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                [06/05/2026 13:01:04] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 13:01:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
06/05/2026 13:01:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
06/05/2026 13:01:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            [06/05/2026 13:01:06] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13:01:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
06/05/2026 13:01:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
06/05/2026 13:01:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                [06/05/2026 13:01:06] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13:01:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
06/05/2026 13:01:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
06/05/2026 13:01:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
06/05/2026 13:01:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
06/05/2026 13:01:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
06/05/2026 13:01:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
06/05/2026 13:01:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [06/05/2026 13:01:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 13:01:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [06/05/2026 13:01:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13:01:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                [06/05/2026 13:01:13] 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;
                

06/05/2026 13:01:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [06/05/2026 13:01:13] 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;
                

06/05/2026 13:01:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                [06/05/2026 13:01:13] 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;
                

06/05/2026 13:01:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:01:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
06/05/2026 13:01:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            [06/05/2026 13:01:17] 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;
                

06/05/2026 13:01:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                [06/05/2026 13:01:17] 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;
                

06/05/2026 13:01:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
06/05/2026 13:01:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
06/05/2026 13:01:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
06/05/2026 13:01:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                [06/05/2026 13:01:17] 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;
                

06/05/2026 13:01:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:01:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:01:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:01:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:01:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:01:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            [06/05/2026 13:01:20] 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;
                

06/05/2026 13:01:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                [06/05/2026 13:01:20] 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;
                

06/05/2026 13:01:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
06/05/2026 13:01:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:01:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            [06/05/2026 13:01:20] 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;
                

06/05/2026 13:01:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:01:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:01:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
06/05/2026 13:01:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:01:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:01:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:01:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
06/05/2026 13:01:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [06/05/2026 13:01:23] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13:01:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                [06/05/2026 13:01: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;
                
[06/05/2026 13:01: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;
                

06/05/2026 13:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                [06/05/2026 13:01:28] 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;
                

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

06/05/2026 13:01:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                [06/05/2026 13:01:28] 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;
                

06/05/2026 13:01:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                [06/05/2026 13:01: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;
                
[06/05/2026 13:01: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;
                

06/05/2026 13:01:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                [06/05/2026 13:01: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;
                

06/05/2026 13:01:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [06/05/2026 13:01:32] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13:01:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                [06/05/2026 13:01:32] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13:01:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                [06/05/2026 13:01:32] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13:01:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [06/05/2026 13:01:37] 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;
                
[06/05/2026 13:01:37] 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;
                

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

06/05/2026 13:01:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:01:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:01:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [06/05/2026 13:01:42] 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;
                

06/05/2026 13:01:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 13:01:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 13:01:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 13:01:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                [06/05/2026 13:01:42] 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;
                
[06/05/2026 13:01:42] 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;
                

06/05/2026 13:01:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 13:01:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 13:01:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 13:01:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 13:01:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 13:01:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 13:01:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 13:01:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                [06/05/2026 13:02:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13:02:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:02:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:02:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:02:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:02:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:02:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                [06/05/2026 13:02:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 13:02:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:02:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            [06/05/2026 13:02:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 13:02:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13:02:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:02:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:02:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            [06/05/2026 13:02:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 13:02:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:02:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/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 = 12468
                
06/05/2026 13:02:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            
06/05/2026 13:02:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            
06/05/2026 13:02:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            
06/05/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 = 12467
                
06/05/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 = 12467
                [06/05/2026 13:02:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13:02:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            
06/05/2026 13:02:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            
06/05/2026 13:02:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            [06/05/2026 13:02:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 13:02:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13:02:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            
06/05/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 = 12467
                
06/05/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 = 12467
                [06/05/2026 13:02:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/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 = 12467
                
06/05/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 = 12467
                
06/05/2026 13:02:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:02:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:02:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:02:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:02:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:02:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                [06/05/2026 13:03: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;
                
[06/05/2026 13:03: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;
                

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

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

06/05/2026 13:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:03:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            
06/05/2026 13:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:03:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            
06/05/2026 13:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:03:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            
06/05/2026 13:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:03:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            [06/05/2026 13:03: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;
                
[06/05/2026 13:03: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;
                

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

06/05/2026 13:03:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13:03:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13:03:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:03:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                [06/05/2026 13:03: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;
                

06/05/2026 13:03:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:03:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            [06/05/2026 13:03:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 13:03:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                [06/05/2026 13:03:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13:03:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13:03:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13:03:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13:03:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                [06/05/2026 13:03:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13:03:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13:03:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/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 = 12466
                
06/05/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 = 12466
                
06/05/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 = 12466
                
06/05/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 = 12466
                
06/05/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 = 12466
                
06/05/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 = 12466
                
06/05/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 = 12466
                
06/05/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 = 12466
                
06/05/2026 13:03:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/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 = 12466
                
06/05/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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/2026 13:03:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/2026 13:03:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12466
                
06/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/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 = 12466
                
06/05/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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/2026 13:06:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13:06:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/2026 13:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:06:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:06:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:06:53 - logentry: =========================================
FECHA: 06/05/2026 13:06:53
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-nhLOpg+-5yFvNXcp8_IHyO8C9UhvvmiURR_GTtdv9PMTiCnSR9h
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "14108776",
    "serieinterna": "KY2950",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "224305",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12466",
    "observacion": "•Se debe venir a las 15H para revisar el atasco, J508, en dúplex",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADKANUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABIEAABAwMABgYHAwcKBwAAAAABAAIDBAURBhIhMUFhE1FxgZGxFBUiMqHB0SNC8AcWJDNSgsIlQ2JjcnOTstLhNDZEVZKi4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADQRAAIBAgMFBgUEAgMAAAAAAAABAgMREiExBBMyQVEiYXGBodEUkbHB4TNSYvAjNEJy8f\/aAAwDAQACEQMRAD8A\/ZkREARFHra2nt9K+pqZAyNg2nr5DmhxtJXZ2e9kbC+RwY1oyXOOAFn6zTCmbOKa208lwnJxiPY3xxt\/G1Qo4bhphKJqkupLU12WRtPtSY8+3hwWloLdSW2DoaOFsTd5xvceZ4qy0Y65syqdStwZR6834IoQ7TKsOs0UtENwacH\/AFL0WrSuTbLe4mn+g3\/5C06LmPokS+GXOTfmZj0LTGHa25UswH3XNGT\/AOvzXwdI7xaSPXVszFnHTQbu3fju2fBapeOaHNLXAEEYIPFdxrmjnw7XBNrxz+pDt92obpHr0dQ2QgZczc5vaN6mrPXDRKmkk9Ktj\/Qappy0s9zPZw7vBfFr0jlhq\/Vd7b0NWNjZiAGSfIcjuPJHFPOJ2NaUHhqq3fy\/BpERFWaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiA41VTFR0slTO7VjiaXOKzNHSz6WVjbjXAst0Z+wgz75G8nvXzWTSaW3dtFSki20rszyA7JDy8NneVq4Yo4IWQxMDI2ANa0bgFZwLvMf+xL+C9X7I+mtDWhrQAAMADgvURVmwIiIAiIgCr7vZqW80phqGgPA+zlA9ph+nJWCLqbTuiMoqSwyWRm9G7pPFO+xXM4q4P1bif1jfns29nYtIs\/pZbXTUbbnTEsq6H7Rrh+yNp8N\/irW117LlbYKtuPtGAuA+67iPFTlZrEiii3CTpS5aeH4JaIirNIREQBERAEREAREQBERAEREAVHpZcn0FodFDkz1J6NmqNoB3n5dpCvFlW5vemriW5prWMA52a+fPOf8AxU4LO75GfaJNRwx1ll\/fIuLDa22i1RU+B0pGtKRxcd\/hu7lZIii3d3ZdCKhFRWiCIi4SCKNDcKWorJqSKZrpoffYDnH43KSljiaegREQ6EREB8yRtljdG8Za8FpHWCs5oPI71VPTuP6ictGd\/wDstKsxoYTi5jOz0kqceFmap+tDzNOiIoGkIiIAiIgCIiAIiIAiIgCIiAiXWtFutdRVnaYmEtHWdw+OFV6G0TqayCeTPSVTzISTkkbh9e9cNN5HOt1NRx416mcAZ5f7kLRQxMp4I4YxhkbQ1o5AYVmkPEyrt7Q\/4r1Z0REVZqCIiAyt4JsulNJdGNxBVjoZ8dfX5H91apVWkluFzsk8QGZIx0kf9oDd3jI715o1cm3KyQSa2ZIgI5MnbrAb+8YPerHnFMyw7FaUOTzX3LZERVmoIiIDnPM2np5Jn+7GwuO3GwDKz+g8LmWR8r\/emnc7djZgD5Ffel1W8UcVsp9tRXPDAMZw3iePL49SuLfRx2+ghpIh7MTAO08T3nJVmkPEzcdf\/qvV\/gkoiKs0hERAEREAREQBERAEREAREQGYvH6VpraaXeIWmXkDtP8ACPgtOsvTET\/lEqtuOgphjHHY3\/V8FqFOfJdxm2fNzl3v0yCIigaQiIgCytDqWHS+eh92nuDQ+LqDtuzx1h4LVLN6Z0rzQQ3KA6stDIHg44EjyOPipw1t1M20pqKqLWOfv6GkRcKOrjrqOKqhOWStDhy5LuoGhNNXQXOaaKnhfNM8MjYMuc47AF0WRutTLpNdvUtG\/VpITrVEwGckcB37O3sUoxuyqtV3ccs29Efej0Ut7u09+qx7DCY6ZhAOqNvlnxJWrXOngipaeOCFoZHG0NaBwC6JKV2KNPdxs9efiERcaqsp6GAz1UzIox95x+HNRLW0ldnZQLleqC1MzVzhrsZEbdrj3KjffrrfZTT2OmMMOcOq5BuHLgPiexTLbojQ0b+nqya6oO0vlGRns+uVZhUeIzb6VTKivN6fkinSK8XR2LLa3CIjZPUDAPZtx8SvRZNI63bXXvoRnOrC36Y6gtOAAMAYAXqY7aI78Pi\/Uk36L0Mx+ZYf+tu9Y8H3tu9PzJhbjo7nWNI2Z1huWnRN5LqPhKP7fqZgaI1UR\/R7\/WRDjtO3wcFfUFNLSUccE1U+pewYMr95\/HepKKLk3qThRhTd4r6hERRLgiIgMxZ\/b02u7xuDA3y+i06zFj\/5wvPd5rTqdTUzbLwPxf1CIigaQiIgC41VOyrpJqaT3JWFh7CMLsiHGrqzM3odUPjgqrTO7M1FKQOrVzw7wfELSLK3D+R9M6WtDiIa8dHIAOOweeqfFTNIr8aIC30AMtwn2Mazb0eeJ59Q71bKLk7rmY6VVUqbjP8A45exH0ju09RKLJaSX1UpxK5p\/Vt6s8OfUO1XFotVPaKFtPA0ZxmR\/F7utRdHrILRSufM7pKyc600h2nPVn8ZVwoyathRZSpyb3k9X6L+6hEVXe73DZqcEjpKiTZFCN7j9FFJt2RfOcYRxS0Pq83ylssAfMdeVw9iIHBd9Aqags1bfKgXK+uc2M7YqQZAxzHAbuZ4qTZbFM6p9b3g9LWv2sYd0XVs6\/LtWiU21HKOpmUJVniqacl7+x8RRRwxtjijbGxow1rRgDuX2iKs1hERAEREAReEgDJOAFRXDS6gpJRBTB1bOTjUh2jx+mV1Rb0K51IU1eTsXyLLir0uuP6mkgoGE7HSe8N\/A58uC99XaWxOEjLrTyFpz0bhsdy938dang6tFXxF9IN+Rp0VTo9d3XWjeJ2alTA7UlbjG3r5bjs5IoNNOzLoTU4qUdCttX2OnV0hIx0kYeM8fd+q1Cy9Rik\/KDTvJw2qgwTnjgj+ELUKc+T7inZslKPRv3CIirNIREQBEVJf7+LaG0lI3pq+bZHGBnVzxP0XUm3ZEKlSNOOKRX6c1lKaKOiBLqsPErQz7gAOSe7KkaJW2nFELq6X0irqcl8rtpbt2jt6yutj0dFIySquJ9IrakESlxyGg72\/UqPoc99ObhapHE+iTeyT1HI+We9XNrA0uRhjF7+NSotdO6331NMiKPW1sFvpX1NQ8MjYOveeoc1Qeg2krsi3y8xWWgM7wHyOOrFHn3j9Aq+wWaWSX11diZK2YazGOGyIcNnA+SjWWgmv1Z68urcxg\/osB90Dr7PPf1LVqx9lYVqZYJ1pbyWnJff2CIirNYREQBEVVdtIqC0tLXv6Wfc2GM5dnn1LqTeSIznGCvJ2RaEgDJOAFQ3DSumgm9Ft0TrhVHYGxbWg9o393iFBFLftJnA1pdbqA\/zTNjnjmOPfs5LQW200Vph6KkhDc+887XO7Sp2jHXMz46lXgyXV6+S9yjbZLzez0l6rXU8Lv+lpzjx4eOVd2+zW+1txSUzWOIwXna495U5FFzbyLIUIQd9X1eoXKpqIqSllqZnascTS5x5BdVkrvUSaSXZtkopMUkR1qmZoyMjh5d\/YkY3YrVN3HLV6EnQyGV1FVXCbOtWTl+Dnd1+JPgi0EEEdNAyGJuqxgwAiSd3c7Shu4KJnNMm+jOttzbnNNUAHHVv\/AIfitM1wc0OG0EZCg3yh9Y2appQMvczLB\/SG0fEKLopXCusEGXAvhHRO253bvhhSecPArj2K7X7lf5ZexcoiKs0hEVTf71HaKM6p1quUasMY2knrx1D4rqTbsiE5xhFylocr9fvVxbR0bOnr5tkcY26vMryw6Pm3udXVz+nuE2S55OdTPAc+a80csrqSN1wrgXXCoJc8u2lgPD8divVNtJYUUU4Oo1UqeS6fkLLP\/k3T9j9YNjr4cHPXjd25aPFalZjTNrqdtvubPepagbOJB2\/w\/FKetup3asoY\/wBrTNOsjXa+lN\/FvYT6uojmZzSPadt3H4eKvr1XChslTVscMiP2CTjadg81F0UoPQrJE5zQJan7Z+BjfuHhjYkeysRyr\/kmqXLV+xctaGtDWgAAYAHBeoirNQRFznnhpojLPKyKNu9zzgBA3Y6KJX3OjtkJlq52xjGxufad2DiqGfSesuU5pdH6Qy7cGoe32W88Hd3+C70OicZnFZeJzX1ROSHHLByxxHw5KzAlxGV13PKir9\/L8kV9yvWkhdFbITRUTthqJNjnDkR8vFWlo0aoLSela0z1HGaQZIPLqVu1oa0NaAABgAcF6uOeVlkiUKCTxTd3\/dAiIoGgLxzg1pc4gADJJ4KPX3ClttMairlEbBuzvceoDiVmHSXXS+TViD6G1jY5x96X6+XapxjfPkUVKyg8Kzl0O1wvdTfKl1psXukETVJ3Abjjlz8FeWm1U9ooxT07du978bXnrXWgt9LbaYU9JEI2Dfje49ZPEqSkpZWWhynSaeObvL6eAREUDQFl7Lm16VXC1nIin+3hG4deAO\/H7q1CzOljH0NTQ3yFgc6mfqSDrad3zH7ynDPs9TNtHZSqftfpzNMi5wTx1MEc8TtaORoc09YK6KBpTucauqioqWSpnJEcTdZxAys1o9QzXe4O0huLcOJxTxEbGgDYR8ueSu2nb3MsMbRufUNB7MOPyWiiiZDEyKNoaxjQ1rRwA3BWLsxv1MrW8rWekbPzfsfaIirNQVTpPT+k6O1jeLGdIP3Tn5K2XxNG2aF8Tvde0tPYV1OzuQqRxwcepibtVOq9B7WA7GvK2Nxzn3Q4fLK27GNjjaxgw1oAA6gsVZrc67aMVlqkIE9LUksyfdON3L7w71OZfr\/Rt6GqsMtS9ns9JDrYdz2A9SunG+SMFCpg7c+aXpqalc5poqeMyTysiYN7nuAA7ys2bxpLWhzKWzejHGA+bh448ivWaKVNwkZPfbjJUuG3oo9jR+OQChgS4maN+5fpxb8ckdK3Sxj5vQ7LAa+qduIB1Bz5\/Ac1xg0XrLlOKq\/1jpTnIp43ey3lnh3eK0NJQ0tBF0dJTxwt4hjcZ7TxUhMduEbhzzqu\/dy\/Jzgp4aWFsMEbY42jAa0YAXREVZqStkgi+XvZGwvkcGNaMlzjgBUVdpdRQvMFAx9fUE4DIQS3Pbx7srqi3oVzqwpq8nYvXOaxhe9wa1oySTgALO1+lfSTeh2OA11Sd7gDqN58\/JRxaL3pBIHXmb0WkBDhTRYyfxzyeS0VBbqS2wdDRwtibvON7jzPFTtGOubKMVWrw9ldefy5FJQ6MS1VQK+\/z+lTndDnLGcv9hs7VpGtDWhrQAAMADgvUUZSctS+nSjTXZCIiiWBERAFwrKSOuo5aWYZZK0tPLmu6IcaTVmZnRKslp3VFiqsCajcdT+k3O3zz2FaZZrSqilp3w32iGKikP2gA95nPy7CepXtBWw3Giiq4Dlkjc44g8QeYVk8+0jNQbg3Sly08PxoRNILY67WmSmYQJAddmTjJCh2LSNtU4W+4D0e4RnULXDHSEcRz5eCv1W3Sw2+7jNTDiThKzY\/x4964mrWZKpTmpbynrzXUskWX9R6QW0fyZeOmYDnoqgeI25+W8p640loMem2dtSwb3052kdezPkF3BfRnPiMPHFr1XoahFm4tOLYTqVENRTvG8OZkDwOfgrCDSSzVHuXGEf3hLP82FFwkuRKO0UpaSRV6Pfo+lF6pScaz+kA4YyT\/EFqFlYZomflBc+KRkjaum2FjgRsA\/0LVKVTVMhsvC49GwiLwkAZJwAqzUeoqis0os9HkPrGSOH3Yvb+I2KuN\/vN1eGWa2OiicP+IqW4HaOHmpqEmUS2inF2Tu+izNJPPDTRGWeVkUbd7nnACztRpf6RMaWy0clbNweQQwc+vHgvKbRB1TN6TfKx9ZKfuNcQ0d+\/wwtBSUdNQwiGlgZCwcGjGe3rXezHvIf56n8V837Izp0cud4e2W+XAtZnPo0G4d+7z7VfUFso7bF0dJTsiHEgbXdp3lS0UXNvIshQhB3WvV6hERRLgiIgCIiAIiIAiIgPl7GyRuje0Oa4EOB4hZOjmfoneHUFRrG21T9aCQ7dQ8z8D3Fa5Qrpa6e7UTqWoGw7WvA2sPWFOMksnoUVqblaUOJaexNRZiw3SooK02C6nEseyCU7nt4Db8PBadclHCyVKoqkboIiKJac5YYp26s0TJB1PaCq+fRuzVHv26Ef3YLP8uFaIuptaEJQhLiVz8+0hs9BZrpR9DJNTwSh2u5rtZzcdXioUl+raN4bQ3irnYDkGZm7xJWm0za1slqqXtDmx1GCCMgg4P8ACrv1Lav+2Uf+A36LRvEopyzPLeyylVmqbw2t16GEbprehEWmaIu2e0Yhn6KC66y18wN2qameEbdRj8Z7BjAX6ULPa2nLbbSA9Ygb9F0bb6JmdWjgbnqiaPkub2K0RJ7FXlxVLmRtt30SomNcyjkbKPvSx67s9eckDuwrUabWUDAfMAP6tW01rt87NWWip3jnGNirajQ2yzklsD4SR\/NvI78HKjig9bl272imrQw\/Kxz\/AD3s37c3+Gn572b9ub\/DUL8xnU7zJRXN8bsbnx5B7cH5LtRUF\/payGKpp6Crpi4B8gY0FrevcDnuPzXbU+RBVNrTtJW8r\/ckDTayk46SYc+jK6s0wsTt9aWnONsT\/orQ0NIRg0sJB\/qwuLrNa35LrbSEneehbnyULw6GnDtC5r5P3ODNJbLJ7txiH9rLfNSY7tbptkdfTPPUJWk+ajP0bsz85t0Iz+yCPJR5NDrHJupXRnrbK75lOx3i+0Lkn8y6ZIyVutG9r29bTkL6VZarBRWeWWSk6QGUAODnZGxWag7XyL4OTXaVmERFwkEREAREQBERAVl7skF4pwD9nUR7YphvafooNkvcwqDaLuOjro9jXndKPr5rQqtvNjpb1TiOfLJG+5I3ePqOSmpK1mZ6lOSlvKev1\/vUskWUprxcNHZWUV8YZKYktiq2+0cc+vz7Vp4KiGpibLBI2RjhkOacrkotEqdaNTLR9OZ0REUS4zOnmfUsGBk+lNwMZ+65aZZjTb7anoKMHLpqkYb14GO373xWnU3wozU\/1p+X3CIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgOc9PDVQuhnjbJG4YLXDIKzkmjVbbJ3VFgrTC0nLqeQ5aeW3fx3rTopKTRVUowqZvXrzMq3Sa624hl4s8gAG2WEZHPlu5qVHptZXty6WWM43OjPyytAo7qGje4OdSQOIOcmMFTTjLkUSVWnpO\/iv8AwztGZ9Jb\/DcjC6O30gJh18e27O\/G3bkd2AtUvlrWsaGsaGtG4AYAX0oSdy6lTwK7d282ERFEuCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/9k=",
    "razonSocial": "CARLOS FELIPE URBINA RESZCZYNSKI",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "RICARDO",
    "correoContacto": "ricardo.notariaurbina@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56957345361",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28584\",\"cantidad_usada\":1,\"cantidad_asignada\":2}]",
    "horaSalida": "13:06",
    "ubicacionGPS": "LatLng(lat: -23.65064, lng: -70.3987668)",
    "horaLlegada": "10:00",
    "horaDespacho": "11:52",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 06/05/2026 13:06:53
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-nhLOpg+-5yFvNXcp8_IHyO8C9UhvvmiURR_GTtdv9PMTiCnSR9h
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "14108776",
    "serieinterna": "KY2950",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "224305",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12466",
    "observacion": "•Se debe venir a las 15H para revisar el atasco, J508, en dúplex",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADKANUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABIEAABAwMABgYHAwcKBwAAAAABAAIDBAURBhIhMUFhE1FxgZGxFBUiMqHB0SNC8AcWJDNSgsIlQ2JjcnOTstLhNDZEVZKi4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADQRAAIBAgMFBgUEAgMAAAAAAAABAgMREiExBBMyQVEiYXGBodEUkbHB4TNSYvAjNEJy8f\/aAAwDAQACEQMRAD8A\/ZkREARFHra2nt9K+pqZAyNg2nr5DmhxtJXZ2e9kbC+RwY1oyXOOAFn6zTCmbOKa208lwnJxiPY3xxt\/G1Qo4bhphKJqkupLU12WRtPtSY8+3hwWloLdSW2DoaOFsTd5xvceZ4qy0Y65syqdStwZR6834IoQ7TKsOs0UtENwacH\/AFL0WrSuTbLe4mn+g3\/5C06LmPokS+GXOTfmZj0LTGHa25UswH3XNGT\/AOvzXwdI7xaSPXVszFnHTQbu3fju2fBapeOaHNLXAEEYIPFdxrmjnw7XBNrxz+pDt92obpHr0dQ2QgZczc5vaN6mrPXDRKmkk9Ktj\/Qappy0s9zPZw7vBfFr0jlhq\/Vd7b0NWNjZiAGSfIcjuPJHFPOJ2NaUHhqq3fy\/BpERFWaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiA41VTFR0slTO7VjiaXOKzNHSz6WVjbjXAst0Z+wgz75G8nvXzWTSaW3dtFSki20rszyA7JDy8NneVq4Yo4IWQxMDI2ANa0bgFZwLvMf+xL+C9X7I+mtDWhrQAAMADgvURVmwIiIAiIgCr7vZqW80phqGgPA+zlA9ph+nJWCLqbTuiMoqSwyWRm9G7pPFO+xXM4q4P1bif1jfns29nYtIs\/pZbXTUbbnTEsq6H7Rrh+yNp8N\/irW117LlbYKtuPtGAuA+67iPFTlZrEiii3CTpS5aeH4JaIirNIREQBERAEREAREQBERAEREAVHpZcn0FodFDkz1J6NmqNoB3n5dpCvFlW5vemriW5prWMA52a+fPOf8AxU4LO75GfaJNRwx1ll\/fIuLDa22i1RU+B0pGtKRxcd\/hu7lZIii3d3ZdCKhFRWiCIi4SCKNDcKWorJqSKZrpoffYDnH43KSljiaegREQ6EREB8yRtljdG8Za8FpHWCs5oPI71VPTuP6ictGd\/wDstKsxoYTi5jOz0kqceFmap+tDzNOiIoGkIiIAiIgCIiAIiIAiIgCIiAiXWtFutdRVnaYmEtHWdw+OFV6G0TqayCeTPSVTzISTkkbh9e9cNN5HOt1NRx416mcAZ5f7kLRQxMp4I4YxhkbQ1o5AYVmkPEyrt7Q\/4r1Z0REVZqCIiAyt4JsulNJdGNxBVjoZ8dfX5H91apVWkluFzsk8QGZIx0kf9oDd3jI715o1cm3KyQSa2ZIgI5MnbrAb+8YPerHnFMyw7FaUOTzX3LZERVmoIiIDnPM2np5Jn+7GwuO3GwDKz+g8LmWR8r\/emnc7djZgD5Ffel1W8UcVsp9tRXPDAMZw3iePL49SuLfRx2+ghpIh7MTAO08T3nJVmkPEzcdf\/qvV\/gkoiKs0hERAEREAREQBERAEREAREQGYvH6VpraaXeIWmXkDtP8ACPgtOsvTET\/lEqtuOgphjHHY3\/V8FqFOfJdxm2fNzl3v0yCIigaQiIgCytDqWHS+eh92nuDQ+LqDtuzx1h4LVLN6Z0rzQQ3KA6stDIHg44EjyOPipw1t1M20pqKqLWOfv6GkRcKOrjrqOKqhOWStDhy5LuoGhNNXQXOaaKnhfNM8MjYMuc47AF0WRutTLpNdvUtG\/VpITrVEwGckcB37O3sUoxuyqtV3ccs29Efej0Ut7u09+qx7DCY6ZhAOqNvlnxJWrXOngipaeOCFoZHG0NaBwC6JKV2KNPdxs9efiERcaqsp6GAz1UzIox95x+HNRLW0ldnZQLleqC1MzVzhrsZEbdrj3KjffrrfZTT2OmMMOcOq5BuHLgPiexTLbojQ0b+nqya6oO0vlGRns+uVZhUeIzb6VTKivN6fkinSK8XR2LLa3CIjZPUDAPZtx8SvRZNI63bXXvoRnOrC36Y6gtOAAMAYAXqY7aI78Pi\/Uk36L0Mx+ZYf+tu9Y8H3tu9PzJhbjo7nWNI2Z1huWnRN5LqPhKP7fqZgaI1UR\/R7\/WRDjtO3wcFfUFNLSUccE1U+pewYMr95\/HepKKLk3qThRhTd4r6hERRLgiIgMxZ\/b02u7xuDA3y+i06zFj\/5wvPd5rTqdTUzbLwPxf1CIigaQiIgC41VOyrpJqaT3JWFh7CMLsiHGrqzM3odUPjgqrTO7M1FKQOrVzw7wfELSLK3D+R9M6WtDiIa8dHIAOOweeqfFTNIr8aIC30AMtwn2Mazb0eeJ59Q71bKLk7rmY6VVUqbjP8A45exH0ju09RKLJaSX1UpxK5p\/Vt6s8OfUO1XFotVPaKFtPA0ZxmR\/F7utRdHrILRSufM7pKyc600h2nPVn8ZVwoyathRZSpyb3k9X6L+6hEVXe73DZqcEjpKiTZFCN7j9FFJt2RfOcYRxS0Pq83ylssAfMdeVw9iIHBd9Aqags1bfKgXK+uc2M7YqQZAxzHAbuZ4qTZbFM6p9b3g9LWv2sYd0XVs6\/LtWiU21HKOpmUJVniqacl7+x8RRRwxtjijbGxow1rRgDuX2iKs1hERAEREAReEgDJOAFRXDS6gpJRBTB1bOTjUh2jx+mV1Rb0K51IU1eTsXyLLir0uuP6mkgoGE7HSe8N\/A58uC99XaWxOEjLrTyFpz0bhsdy938dang6tFXxF9IN+Rp0VTo9d3XWjeJ2alTA7UlbjG3r5bjs5IoNNOzLoTU4qUdCttX2OnV0hIx0kYeM8fd+q1Cy9Rik\/KDTvJw2qgwTnjgj+ELUKc+T7inZslKPRv3CIirNIREQBEVJf7+LaG0lI3pq+bZHGBnVzxP0XUm3ZEKlSNOOKRX6c1lKaKOiBLqsPErQz7gAOSe7KkaJW2nFELq6X0irqcl8rtpbt2jt6yutj0dFIySquJ9IrakESlxyGg72\/UqPoc99ObhapHE+iTeyT1HI+We9XNrA0uRhjF7+NSotdO6331NMiKPW1sFvpX1NQ8MjYOveeoc1Qeg2krsi3y8xWWgM7wHyOOrFHn3j9Aq+wWaWSX11diZK2YazGOGyIcNnA+SjWWgmv1Z68urcxg\/osB90Dr7PPf1LVqx9lYVqZYJ1pbyWnJff2CIirNYREQBEVVdtIqC0tLXv6Wfc2GM5dnn1LqTeSIznGCvJ2RaEgDJOAFQ3DSumgm9Ft0TrhVHYGxbWg9o393iFBFLftJnA1pdbqA\/zTNjnjmOPfs5LQW200Vph6KkhDc+887XO7Sp2jHXMz46lXgyXV6+S9yjbZLzez0l6rXU8Lv+lpzjx4eOVd2+zW+1txSUzWOIwXna495U5FFzbyLIUIQd9X1eoXKpqIqSllqZnascTS5x5BdVkrvUSaSXZtkopMUkR1qmZoyMjh5d\/YkY3YrVN3HLV6EnQyGV1FVXCbOtWTl+Dnd1+JPgi0EEEdNAyGJuqxgwAiSd3c7Shu4KJnNMm+jOttzbnNNUAHHVv\/AIfitM1wc0OG0EZCg3yh9Y2appQMvczLB\/SG0fEKLopXCusEGXAvhHRO253bvhhSecPArj2K7X7lf5ZexcoiKs0hEVTf71HaKM6p1quUasMY2knrx1D4rqTbsiE5xhFylocr9fvVxbR0bOnr5tkcY26vMryw6Pm3udXVz+nuE2S55OdTPAc+a80csrqSN1wrgXXCoJc8u2lgPD8divVNtJYUUU4Oo1UqeS6fkLLP\/k3T9j9YNjr4cHPXjd25aPFalZjTNrqdtvubPepagbOJB2\/w\/FKetup3asoY\/wBrTNOsjXa+lN\/FvYT6uojmZzSPadt3H4eKvr1XChslTVscMiP2CTjadg81F0UoPQrJE5zQJan7Z+BjfuHhjYkeysRyr\/kmqXLV+xctaGtDWgAAYAHBeoirNQRFznnhpojLPKyKNu9zzgBA3Y6KJX3OjtkJlq52xjGxufad2DiqGfSesuU5pdH6Qy7cGoe32W88Hd3+C70OicZnFZeJzX1ROSHHLByxxHw5KzAlxGV13PKir9\/L8kV9yvWkhdFbITRUTthqJNjnDkR8vFWlo0aoLSela0z1HGaQZIPLqVu1oa0NaAABgAcF6uOeVlkiUKCTxTd3\/dAiIoGgLxzg1pc4gADJJ4KPX3ClttMairlEbBuzvceoDiVmHSXXS+TViD6G1jY5x96X6+XapxjfPkUVKyg8Kzl0O1wvdTfKl1psXukETVJ3Abjjlz8FeWm1U9ooxT07du978bXnrXWgt9LbaYU9JEI2Dfje49ZPEqSkpZWWhynSaeObvL6eAREUDQFl7Lm16VXC1nIin+3hG4deAO\/H7q1CzOljH0NTQ3yFgc6mfqSDrad3zH7ynDPs9TNtHZSqftfpzNMi5wTx1MEc8TtaORoc09YK6KBpTucauqioqWSpnJEcTdZxAys1o9QzXe4O0huLcOJxTxEbGgDYR8ueSu2nb3MsMbRufUNB7MOPyWiiiZDEyKNoaxjQ1rRwA3BWLsxv1MrW8rWekbPzfsfaIirNQVTpPT+k6O1jeLGdIP3Tn5K2XxNG2aF8Tvde0tPYV1OzuQqRxwcepibtVOq9B7WA7GvK2Nxzn3Q4fLK27GNjjaxgw1oAA6gsVZrc67aMVlqkIE9LUksyfdON3L7w71OZfr\/Rt6GqsMtS9ns9JDrYdz2A9SunG+SMFCpg7c+aXpqalc5poqeMyTysiYN7nuAA7ys2bxpLWhzKWzejHGA+bh448ivWaKVNwkZPfbjJUuG3oo9jR+OQChgS4maN+5fpxb8ckdK3Sxj5vQ7LAa+qduIB1Bz5\/Ac1xg0XrLlOKq\/1jpTnIp43ey3lnh3eK0NJQ0tBF0dJTxwt4hjcZ7TxUhMduEbhzzqu\/dy\/Jzgp4aWFsMEbY42jAa0YAXREVZqStkgi+XvZGwvkcGNaMlzjgBUVdpdRQvMFAx9fUE4DIQS3Pbx7srqi3oVzqwpq8nYvXOaxhe9wa1oySTgALO1+lfSTeh2OA11Sd7gDqN58\/JRxaL3pBIHXmb0WkBDhTRYyfxzyeS0VBbqS2wdDRwtibvON7jzPFTtGOubKMVWrw9ldefy5FJQ6MS1VQK+\/z+lTndDnLGcv9hs7VpGtDWhrQAAMADgvUUZSctS+nSjTXZCIiiWBERAFwrKSOuo5aWYZZK0tPLmu6IcaTVmZnRKslp3VFiqsCajcdT+k3O3zz2FaZZrSqilp3w32iGKikP2gA95nPy7CepXtBWw3Giiq4Dlkjc44g8QeYVk8+0jNQbg3Sly08PxoRNILY67WmSmYQJAddmTjJCh2LSNtU4W+4D0e4RnULXDHSEcRz5eCv1W3Sw2+7jNTDiThKzY\/x4964mrWZKpTmpbynrzXUskWX9R6QW0fyZeOmYDnoqgeI25+W8p640loMem2dtSwb3052kdezPkF3BfRnPiMPHFr1XoahFm4tOLYTqVENRTvG8OZkDwOfgrCDSSzVHuXGEf3hLP82FFwkuRKO0UpaSRV6Pfo+lF6pScaz+kA4YyT\/EFqFlYZomflBc+KRkjaum2FjgRsA\/0LVKVTVMhsvC49GwiLwkAZJwAqzUeoqis0os9HkPrGSOH3Yvb+I2KuN\/vN1eGWa2OiicP+IqW4HaOHmpqEmUS2inF2Tu+izNJPPDTRGWeVkUbd7nnACztRpf6RMaWy0clbNweQQwc+vHgvKbRB1TN6TfKx9ZKfuNcQ0d+\/wwtBSUdNQwiGlgZCwcGjGe3rXezHvIf56n8V837Izp0cud4e2W+XAtZnPo0G4d+7z7VfUFso7bF0dJTsiHEgbXdp3lS0UXNvIshQhB3WvV6hERRLgiIgCIiAIiIAiIgPl7GyRuje0Oa4EOB4hZOjmfoneHUFRrG21T9aCQ7dQ8z8D3Fa5Qrpa6e7UTqWoGw7WvA2sPWFOMksnoUVqblaUOJaexNRZiw3SooK02C6nEseyCU7nt4Db8PBadclHCyVKoqkboIiKJac5YYp26s0TJB1PaCq+fRuzVHv26Ef3YLP8uFaIuptaEJQhLiVz8+0hs9BZrpR9DJNTwSh2u5rtZzcdXioUl+raN4bQ3irnYDkGZm7xJWm0za1slqqXtDmx1GCCMgg4P8ACrv1Lav+2Uf+A36LRvEopyzPLeyylVmqbw2t16GEbprehEWmaIu2e0Yhn6KC66y18wN2qameEbdRj8Z7BjAX6ULPa2nLbbSA9Ygb9F0bb6JmdWjgbnqiaPkub2K0RJ7FXlxVLmRtt30SomNcyjkbKPvSx67s9eckDuwrUabWUDAfMAP6tW01rt87NWWip3jnGNirajQ2yzklsD4SR\/NvI78HKjig9bl272imrQw\/Kxz\/AD3s37c3+Gn572b9ub\/DUL8xnU7zJRXN8bsbnx5B7cH5LtRUF\/payGKpp6Crpi4B8gY0FrevcDnuPzXbU+RBVNrTtJW8r\/ckDTayk46SYc+jK6s0wsTt9aWnONsT\/orQ0NIRg0sJB\/qwuLrNa35LrbSEneehbnyULw6GnDtC5r5P3ODNJbLJ7txiH9rLfNSY7tbptkdfTPPUJWk+ajP0bsz85t0Iz+yCPJR5NDrHJupXRnrbK75lOx3i+0Lkn8y6ZIyVutG9r29bTkL6VZarBRWeWWSk6QGUAODnZGxWag7XyL4OTXaVmERFwkEREAREQBERAVl7skF4pwD9nUR7YphvafooNkvcwqDaLuOjro9jXndKPr5rQqtvNjpb1TiOfLJG+5I3ePqOSmpK1mZ6lOSlvKev1\/vUskWUprxcNHZWUV8YZKYktiq2+0cc+vz7Vp4KiGpibLBI2RjhkOacrkotEqdaNTLR9OZ0REUS4zOnmfUsGBk+lNwMZ+65aZZjTb7anoKMHLpqkYb14GO373xWnU3wozU\/1p+X3CIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgOc9PDVQuhnjbJG4YLXDIKzkmjVbbJ3VFgrTC0nLqeQ5aeW3fx3rTopKTRVUowqZvXrzMq3Sa624hl4s8gAG2WEZHPlu5qVHptZXty6WWM43OjPyytAo7qGje4OdSQOIOcmMFTTjLkUSVWnpO\/iv8AwztGZ9Jb\/DcjC6O30gJh18e27O\/G3bkd2AtUvlrWsaGsaGtG4AYAX0oSdy6lTwK7d282ERFEuCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/9k=",
    "razonSocial": "CARLOS FELIPE URBINA RESZCZYNSKI",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "RICARDO",
    "correoContacto": "ricardo.notariaurbina@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56957345361",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28584\",\"cantidad_usada\":1,\"cantidad_asignada\":2}]",
    "horaSalida": "13:06",
    "ubicacionGPS": "LatLng(lat: -23.65064, lng: -70.3987668)",
    "horaLlegada": "10:00",
    "horaDespacho": "11:52",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


06/05/2026 13:06:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:14108776

[06/05/2026 13:06: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('14108776', 'KY2950', 2, 24456550, 224305, NOW(), 
				'11:52', '10:00', '13:06', 10, '•Entrega de toner', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778087213.png', '•Se debe venir a las 15H para revisar el atasco, J508, en dúplex', null, 'REPROGRAMADO','LatLng(lat: -23.65064, lng: -70.3987668)' )
				
[06/05/2026 13:06:53] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200196
[06/05/2026 13:06:53] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200196', 'KYO-I1045', 1)
				
[06/05/2026 13:06:53] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28584 and
				    IDproducto = 'KYO-I1045'
				

06/05/2026 13:06:53 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I1045';
                
06/05/2026 13:06:53 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200196'                    
				WHERE idllamado = 12466			
				TO ENVIO: micorreo@miempresa.cl, ricardo.notariaurbina@gmail.com


06/05/2026 13:06:53 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 12466			
				
06/05/2026 13:06:53 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('14108776', 'KY2950', 2, 'APP', 'sin otroTipo definido', -1, 'Sin otrafalla definida', 'TONER', '1', 'SI', now(), 'RICARDO', '+56957345361', 'ricardo.notariaurbina@gmail.com', 12466)
				
06/05/2026 13:06:54 Insertado nuevo llamado creado idllamado: 12477APP
06/05/2026 13:06:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


06/05/2026 13: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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/2026 13:06:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            [06/05/2026 13:06: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;
                
[06/05/2026 13:06:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13:06:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            
06/05/2026 13:06:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            [06/05/2026 13:06:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13:06:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12466
            GROUP BY l.idllamado;
            [06/05/2026 13:06:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 13: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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/2026 13: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 = 12466
                
06/05/2026 13:07:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:07:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:07:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:07:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12466
                
06/05/2026 13:07:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            [06/05/2026 13:07: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;
                

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

06/05/2026 13: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 = 12467
                
06/05/2026 13: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 = 12467
                
06/05/2026 13: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 = 12467
                [06/05/2026 13:07: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;
                

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

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

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

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

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

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

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

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

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

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

06/05/2026 13: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 = 12467
                
06/05/2026 13:07:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            
06/05/2026 13:07:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            
06/05/2026 13:07:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            
06/05/2026 13:07:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            
06/05/2026 13:07:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            
06/05/2026 13:07:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            
06/05/2026 13:07:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12467
                
06/05/2026 13: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 = 12467
                
06/05/2026 13:07:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12467
                
06/05/2026 13: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 = 12467
                
06/05/2026 13: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 = 12467
                
06/05/2026 13:07:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12467
                
06/05/2026 13: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 = 12467
                
06/05/2026 13: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 = 12467
                
06/05/2026 13: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 = 12467
                
06/05/2026 13:07:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12467
                
06/05/2026 13:07:55 - logentry: =========================================
FECHA: 06/05/2026 13:07:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-p89JLC2soMW44Y_zA+8UIf++UI_w.hcJR2XZkqUM9kzGiS+Yk0T
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "14108776",
    "serieinterna": "KY2951",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "53537",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12467",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADOAP0DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQBAgf\/xABFEAABAwMCAggEAwMKBAcAAAABAAIDBAURBiESMRNBUWFxgZGhFCKxwRUy0RYj4QczNEJDYnKS8PEkJVVzNTZSU2Oy0v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAwIDBQcFAQEAAAAAAAABAgMRMRIhMkFRBBNhcdEUIpGhscHhIzNSgfBC8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREBS2y81FRe662VkcUb4Pmj4M\/M3vz3EFXSy2om\/heoLdemgNjL+ind3Hr\/wAufRagEEZByCpyS2aM9GUryhLKfyeD1ERQNAREQBERAEREAREQBEVPcdUWu3OMb5+llAOWRb47ieQXUm8EJzjBXk7Fwiyv4xqS7D\/ltuFJE4AiWbn4jO3sV9fsjV1juK6XqomB3LGbAeGdu3qU9CWWUe0OX7cW\/kvmXlRdrdSnE9dBGR\/VMgz6Ln\/aSzf9Rh9Suen0fZIBvTOlPbI8n2Gy6P2bs3\/TofQp7nidv2h8kvifTNQ2eR3C2404P95\/CPUruiminbxQyskHaxwKrX6XskjeF1vjA\/uktPqCuGTQ9s4xJTy1FO9u7S14IB8x91y0Oo1doWUn\/ZpEWW\/CtTWsD4C5NrYh\/Zz88Y2G\/wBiOpSU+rH007aa90T6KU8ngHgPLfw59ZTR03C7QltUTj54+JpUUdPUQ1UDZ6eRssbxlrmnIKkUDSnfdBERAEREAREQBERAcF6trbra5qQ44nDMZPU4clxaSuHxtlZFIT09KeikB5jHL2+hV4so5gsOs2PB4KS5ggjqD\/8AfH+ZWR3i4mWr+nUjU5Yf2+Zq0VTX6mtNuc5ktSJJGnBZEOIj7e6rG6kvNz\/8Is54DylnPyn6D3K4oSe5OXaKcXa930W5qV4SAMk4AWYNt1XXD\/ibpFSMP9WHmPQfde\/sUyf+nXasqT44+uV3TFZZHvqj4YP+7I0fTxf+6z\/MF9gg8jlZ06GtBOS+pJP\/AMg\/RfDtDW8P6SGrrIpActcHjY9vLPuuWh1Guv8AwXx\/BpkWXNm1Da2l1tuvxTW8oZx7DOR2dYXyzWrIIHxXCiljr4zgxNbgOPdnl\/rmu6G+Hc57TGO1Raf91NSSAMk4AVFcNW0VNJ8PRNdX1JOGsh3GfHr8srg\/D73qYiS4SG30J3bAz8zh3\/x9Ff2yz0NpjLKSENJGHPO7neJS0Y53GurV4FpXV5\/pepQm0X6\/EOutUKOmO\/w8XPHf\/EnwV1btP2y1kPpqYdIB\/OPPE735eSskXHNvYnDs8IvU931YREUC8IiIAiIgCjnp4amJ0U8bZGOGC1wypEQNXyR09PFS08dPAwMjjaGtaOoKREQJW2QREQBERAEREARfEs0cETpZntjjYMuc44ACzNRfLhfJ3UVgjLIgeGSseMAeHZ9fBSjFsqqVY0856cy0vGoaKzt4ZHdLUH8sDD8x8exZi709+v1E+tqaZlNT07S+OIj5yOvv5duForRpmktrhUSk1VYTkzyb4PcOrx5q5IBGCMgqako8JnlRqVk+8dl0X3ZndLW2zy2qCsgpGOmIw90nzua8c+fLyWjWY024269XKyuwGNd00IDcbHGfHYt9CtOo1OIs7Nbu1ZWa2fmgiIoGkKOaaKnhdNNI2ONoy5zjgBct1u9JaKYzVT9z+SNu7nnuCoIKC46pnbWXPjpKEbxUzSQXjv8A19FOMb7vBRUraXogry\/2T6qL5cb9O6jsMZjgBw+rcMY8Oz6+ChuWlae22KSrie+WvgIlMxcRnBGds+fb3rWwU8NLC2GCNscbRgNaMAKu1PO2DTtY5xA4mcA7ydlJT3SiUVKC0SnVd3Z+S8jptNWa61U1SXcTpIwXHtPX7rsVbp6F9PYKKOQEO6IEg8xnf7qyVcss1023BN5sERFwmEREAREQBERAEREAREQBERAEREAXFdLrS2ikNRUu25NYPzPPYFDe73T2Wk6WX55XbRxA7uP2Heqm0WOpuVS27309I87xU7hswdWR9vVTjHa7wZ6lV6u7p7y+nmRQW646qkbWXRz6WhBzFTN2Lh2\/x9Fqaamgo4GwU8TYo2DAa0YClRclJslSoxp75bywiIolxldRk2vUdtu+cRk9FKcHYdfs4+i1Sp9VUfxun6hoGXxDpW+XP2yuixVgr7JS1GcuMYa7\/ENj7hWPeKZlp+5WlHrv9mWCpb7qOK1Yp4GfEVr\/AMsLd8eOPooNQagfTSi2WxvTXCX5fl36PP3+nMqewaejtTPiKh3T10g\/eSk5xnqH69aKKSvITqSnJ06X9vp+TltWnZZ6n8Uvjumq3HLIiflj7B\/DkFpERRlJyyXU6UaatELI3KT9p7+y1QnNHSHjme12zjsPuQPEqy1Pd5LfSspaTJras8EIbzG4GffA\/gujT9oZZrYyDnM\/D5T\/AHscvAKUfdWooq\/qz7pYWfQs2tDWhrQAAMADqXqIqzWEREAREQBERAEREAREQBERAEREAVde7zBZaEzyjje48McYO7j+naVNcrjDa6J9VOdm7NbnBceoKitFrqLxWtvl3G\/OmgxswdRP29VOMVl4M9WpK\/dw4n8vEWSyVFdV\/jV6+ed28MLhswdRI6u4efNahEXJScmTpUo042X\/AKERFEtCIiA+XsbJG6N7Q5rgQ4HrCwluvM9mpKuzUsbpq0VTo4Ns46ifUcu9am\/XllnouIDjqZctgjAzxO7fAZCzulIaim1PUx3Buap8HSEuwSCSDz6jgq6C91tnn9plerGMHZ4b6XLzT9hFrjdU1JEtdOS6WQ74zuQD9T1q6RFU227s2whGnHTELluVwhtdBLVzn5WDYDm49QClqamKjppKid4ZHG3icSsrRQT6uuHx9YCy2wOIhgP9c9\/39FKMb7vBXWquNoQ4n\/rnRpygmrqx+oLg0dJN\/R2c+Bvb6cv4rTrxrQ1oa0AADAA6l6uSlqZKlTVONv8AXCIiiWhEUcs8MDS6aVkYHW9wCBuxIir5L7aYs8dxp9jjaQH6KE6psjTg3CPya4\/ZS0y6FbrU1mS+JbIqpmprK\/lcIhvjfI+oXfBWUtV\/R6mGb\/tvDvouNNZOxqQlwtMmREXCYRF8NljccNkaT2AoD7REQBeOcGtLnEAAZJPUvVmdVV80747FQAuqqrHHjkGb7e2fAd6lGOp2KqtRU4amc0Qdq6+9M5p\/C6M8IaTtI7ff6eXitcAAMAYAXPb6GG20MVJA0BsbQCcY4j1k95XSuylfGCNGm4K8uJ5CIigXhERAFHNNFTwvmmeGRsGXOcdgFIsxqmWa41VPYKRwD5iJJjueFo5Z9M+ilFXdiqtU7uF+fLzPiyQy6gu777VMLYIjw0sROQCOv\/XX4L7qf3H8odKTsJ6YjPbs79FoqanipKWKmhbwxxNDWjuCzt6\/d6zs8uPzAs35dY+6sUtTfkZZ0+7pxbzdN\/E068c4NaXOIAAySeperJ3itqdQXL8EtjsQM3qZhsMdnh9T3KuMdTNVWqqa6t4R8yvl1feHU0T3NtNKcvc3bpXf65d2\/WtVDDFTwshhYGRsGGtaNgFHQ0UFupGUtMzhjYPMntPeuhdlK+ywRo0nG8pbyefTyCIvCMjHaoF5XXC\/2y2EtqalvSAZ6NnzO9By81UjVVfcHFlmtEkwzgSy7N8+oeqtYtOWmKpfUfBskleSSZSX+x2VkAAMAYAU7xXK5mcK03vKy8PV+hmDatTXHeturKSN2Mx0\/Md2Rjv6ypItD23iD6mepqJNuIueAD7Z91pETvJch7LTzLfz3KiPStkjAAoGHHW5zjn1KmGn7O0YFtp\/NgK6au4UdAzjq6mOEYyON2CfAcys\/Pq2asJhsdvmqZM4Mj2fI3v2++F1a5HJ+z09mlfpbctZNO2V7fnt8AA6wOH6LL3ej0pSEmmq5mTjdraV\/SY7sn9VZDT14uruK9XNzInDenpzgeB6vqri32C2WzhdTUzekaP5x\/zO9eryUlLTzuUypOriCS6vPwXqY6m1JqG30LnyQvmhyA2apidtnlv1+eVcQW\/Ul1p45pr3HBFI0Ob8ON8Hwx29q0lVTRVlLJTTt4o5WlrgqLRk8ht09FK4udSTFgJPV2eoK7qum0jiouM1Ccm011sR\/sRBMP8AjLlWTnt4gPDnlfZ0LaS0tElU3PZIP0WkRV95LqaPZaP8TIVFJddKn4ulqpK2hG0kUu5YO3n7j0Woo6uGvpIqqB3FHK3IP2PeOSlexskbo3tDmuBDgesLN6KkfFBXW55JNJOR4A5GPVp9V1vVG\/NEYruaigsP5NGhqaiKkpZamZ3DHE0uce4LPaUgfWyVN9qmgy1LyI9vytBxgbeXkvdZTPlpqW1QkGWtmAxnqB\/Uj0WgpqeKkpYqaFvDHE0NaO4JiPmd\/cr25R+r9ESoiKs1BERAEREAWV020V2ortcntyWP6ONx7Mn3w1q1SzGi\/wB2y5QPP76OpPGOvs+oKsjwszVd6tNPx+hp1mNR\/wDmax\/90\/Vq06yGsaoUV3tVUW8XQlz+HtwQlPiOdraVK76r6o79TXOVvR2egPFWVny7HeNvf2ZGfQqwstpis9vZTRgF+MyPA\/O7tVbpe3yva+9Vx46ut+ZuR+RvVjxGPLC0SSdlpQoxc33suePBfkIiKs1BEXBXXy2W7IqqyNrxzYDxO9BuupN4IylGKvJ2O9eEgDJOAFl36vqa0mOzWqad22HyN+UeIH6heGwXy8ZN3uXQRE56CHcY7Oz6qei3E7Gf2lS\/bTl9PiWdx1RaraXMfUdLK3+ziHEfXkPVVZuGpb40fAUgt9O4\/wA9Ifmx57+g81c27T9stZD6amHSAfzjzxO9+XkrJNUVhDu6s+OVl0XqZ2k0fStn+JuM8lfOdyZD8ufDr81fQwxU8YjgiZEwcmsaAB5BSIouTeS6FKFPhQREUSwLM6OPHLdZQSWPqjj3P3CubvWfAWmqqs4McZ4f8R2HuQuDR9GaTT0JcMOnJlI8dh7AKxbQZmnvXiuib+xeIiKs0hZjRw6Se7VPPpannz6yefmru71XwVpqqjOCyJxac43xt74Vfo+kNLp6EuGHTOdIRjvx9AFYtoMzT3rxXRN\/Y43D47+UHgeSW0MHEG52yQP\/ANj0WoWYs3z60u8jt3NaGg9g229gtOk+SHZt1KXVsIiKs0hERAEREAWXu0NXYLu+90cfSUs2BVRN5\/4v4\/qtQilGViqrT7xZs1hldbr9broxpgqGh7h\/NPIDxvjl+iob\/Ay66xt9AT8rGcUm3Vu4j0Hura4aVtNwdxvgMT8Y4oXcPty6+xZK32f43UlXRU1wli+HY7hnGS48JDT1jtVsFHdpmHtEqto05pO7WOZ+itaGtDWgAAYAHUo56qnpm8VRPHEO2R4b9VnTo+om2q79WTt7Dn7kqSHQ9ojdxSmonPWHyYB9AFC0epq7yu8Qt5v0Omq1dZqXb4rpndkTS735e64Dqi53BxZZrQ97eqWU7bj0HqrumstsoyDBQwNcOTuDJ9Tuu5LxWENFaXFK3kvuzL\/gl\/uZzc7r0ETjvDT9nYeQ+q7aHSVoouF3w\/TvbvxTHi38OSu0XHOR2PZqad2rvx3PljGRsDI2hjWjAa0YAX0iKBoCIiAIiIAiIgMzrWcyU1JbIiOlq5gMdw2+pHotHDE2CFkTPyxtDR4BZm2ht61fVV7g4wUI6KHPLi5Z\/wDsfMLUqyeyUTLQ9+UqnXZeS\/IRF45wa0ucQABkk9SrNRmdXTPq5qKyQuAfVSBz+5udvufJaSGJkELIYxwsjaGtHYBsFmtPxfi18rL9ICYw4xU3EOrln0+pWoVk9rRMtD3nKq+ePJGYtZEGubnAWkGSMPBPXyP39lp1ldRZtWo7deAQI3HoZduQ6z6E+i1IIIyDkFJ72Y7Ps5Q6P67nqIirNQREQBERAEREBy3OujttvmqpHNHRsJaHH8zsbDzKxGl2zW7UFG6pyDXwOcCewkkevD7hWNbMdXXhlDTZ+Ao38c0gOzznG3lkDzVrqWzG4UDJKUcNVSfPDwjGf7vtt4K+NorS+Z5tTVWl3kMRx49fQu0VTp+9Mu9EA8htXEOGaPGCD247FbKlpp2ZvhOM4qUcBERcJhERAEREARRVFTBSQmapmZFGObnnAWan1LW3Z7qTT9I9x5OqH7Bvfg8vP0UoxbKqlaFPZ56czVIqyyWye20zxVVklVPK7ie5ziQD3ZVmuPZk4NuN2rBV1+uP4XZ56kfnA4Y\/8R2H6+SsVltRA3PUVstI+aNp6aZoGdu\/yB9VKCu9yrtE3Gm9OXsv7O7SVuNvscfSNDZZz0rtt9+QPlhXaIot3dyynBU4KK5BZ7V9wfDQx26nOamud0YA58PI+uQPMq\/e9scbnvOGtBJPYFl7LGb7f575K09BCejpQc4wNs8u8nuJUoL\/AKfIp7RJtKnHMvpzL+2UEdtt8NJGBhjdyOs9ZXWiKDdzRFKKsjluVBDc6CWknHyyDY43aeohZ+zXOay1YsV2IaG7U8\/9Vw6h\/rwWqXFdLTS3elMFUzOPyPH5mHtBU4yWHgoq023rhxL5+B2osg2pvmlsx1ETrjb28phniYPfAHYduwq3otVWetADasQvP9Sb5CPPl7o4PK3Qh2iDemWz6P8A25cIvlkjJW8Ub2vb2tOQvpQNARRT1VPTN4qieOIdsjw36qlrNY2ynd0dOZKyU5AbC3bPiftlSUW8Fc6sIcTsXznBrS5xAAGST1LK3O7VN\/qDarIT0J2qKoA8IHWAez69Wy8NvvmpDxXGQ2+iJyKdo+Z3j1+votHQ2+lttOIKSFsTBuccye0nrUtoeLKG519ltH5v0I7Va6e0UTaanG3Nzjzee0rtRFBu+7NUYqKssFBedOPqag3G2VBpK0Dct2Enj2KCi1W6mmNFfoTSVDTjpA3LD6Z9Rt4LTKGpo6asj6Opgjmb2PaDjw7FJSurSM8qLUtdN2fyYpqymrGB9NPHK0jOWOBUyztToq1yv6SmdNSPHIxvyPff3UQ07fKfam1FK5vMCUE47BuSu6YvDHeVo8UL+T9bGnXjnBoy4gDtKzI09fpR+\/1FKw4\/s87e4RuiKaR3FWXCrqHdZLgM+uU0x6jvarxD4tfktqu\/2qibmauiz\/6WO43egyqZ+qq25SdBYrc+QnnLMNm++PU+Ss6XStmpXBzaNr3A5zIS72OytWMZGwMjaGNaMBrRgBLwWFc5orz4mkvDPxZm6fSklXMKq\/Vj6yXqiacMb3f7YWigghpohFBEyKNvJrBgBSIouTeS2nShT4V6hERRLQstpkfiV7uV5d8zS\/ooiRyH+wHr1K6vdR8LZKyYc2xOA8SMD3K49I03w2nKfIw6XikPmdvbCsW0WzLP3q0Y9Lv7Iu0RRVNRFSUstTM7hjiaXOPcFWaW7K7M\/q6ulcyCzUmDUVrgHDsZnHlk9fcVe0FFHbqGGkh\/JE3hz2nrPmclZ\/TdO+6XCfUNU3eRxZTtI\/K0bZG\/l6rUKyey0magnOTqvnjy\/OQiIqzUEREAVdWaftVeS6eijLzze0cJPmFYouptYIyhGStJXMy\/Q9E15dS1lVT5G4a4EJ+xcbmhr7rWOGd\/m5rTIpd5LqUey0f4mdg0RaY3cU7p6g9fSSY+mFb0droaDelpY4nYxxBuXY8TuutFxyk8sshRpw4YoIiKJaEREAREQBERAEREAREQBERAEREBndbzdHYOj4sdNK1vlz+yvKSH4ejggwB0cbW4HVgYXs9NBUta2eFkrWuDmh7QcEcipVJv3UipU2qjm+dgsvqeokuVZT6fpHfPK4PqDg4a0bjP18gr+4V0NtoZaudwDY2kgZxxHqA7yqPSNDK5k95q8GorXEtPYzOfLJ6u4KUNveKq71tUVzz5fnBoKanipKWKmhbwxxNDWjuClRFWaUrKyCIiHQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiKuv1zFptM1TkdJjgiB63nl6c\/JdSu7IjKShFyeEUt6dJftQwWaEu+FpyH1Tm8u3B8th3nuWqa0NaGtAAAwAOpUelLWaK2CpnaPiqs9I9xG4B5D7+JV6pTfJcijs8XZ1JZl9OSCIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCyZ4tSarxgm3248xnhe8fx9h3rTVULqilkhbKYjI0t4wASM+K5LJaY7NbmUzMOk5ySAY4z\/AK2U4tJN8zPVhKpKMf8AnL9CxREUDQEREAREQH\/\/2Q==",
    "razonSocial": "CARLOS FELIPE URBINA RESZCZYNSKI",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "RICARDO",
    "correoContacto": "ricardo.notariaurbina@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56957345361",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28585\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:07",
    "ubicacionGPS": "LatLng(lat: -23.6507359, lng: -70.3987329)",
    "horaLlegada": "10:00",
    "horaDespacho": "13:06",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 06/05/2026 13:07:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-p89JLC2soMW44Y_zA+8UIf++UI_w.hcJR2XZkqUM9kzGiS+Yk0T
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "14108776",
    "serieinterna": "KY2951",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "53537",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12467",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADOAP0DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQBAgf\/xABFEAABAwMCAggEAwMKBAcAAAABAAIDBAURBiESMRNBUWFxgZGhFCKxwRUy0RYj4QczNEJDYnKS8PEkJVVzNTZSU2Oy0v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAwIDBQcFAQEAAAAAAAABAgMRMRIhMkFRBBNhcdEUIpGhscHhIzNSgfBC8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREBS2y81FRe662VkcUb4Pmj4M\/M3vz3EFXSy2om\/heoLdemgNjL+ind3Hr\/wAufRagEEZByCpyS2aM9GUryhLKfyeD1ERQNAREQBERAEREAREQBEVPcdUWu3OMb5+llAOWRb47ieQXUm8EJzjBXk7Fwiyv4xqS7D\/ltuFJE4AiWbn4jO3sV9fsjV1juK6XqomB3LGbAeGdu3qU9CWWUe0OX7cW\/kvmXlRdrdSnE9dBGR\/VMgz6Ln\/aSzf9Rh9Suen0fZIBvTOlPbI8n2Gy6P2bs3\/TofQp7nidv2h8kvifTNQ2eR3C2404P95\/CPUruiminbxQyskHaxwKrX6XskjeF1vjA\/uktPqCuGTQ9s4xJTy1FO9u7S14IB8x91y0Oo1doWUn\/ZpEWW\/CtTWsD4C5NrYh\/Zz88Y2G\/wBiOpSU+rH007aa90T6KU8ngHgPLfw59ZTR03C7QltUTj54+JpUUdPUQ1UDZ6eRssbxlrmnIKkUDSnfdBERAEREAREQBERAcF6trbra5qQ44nDMZPU4clxaSuHxtlZFIT09KeikB5jHL2+hV4so5gsOs2PB4KS5ggjqD\/8AfH+ZWR3i4mWr+nUjU5Yf2+Zq0VTX6mtNuc5ktSJJGnBZEOIj7e6rG6kvNz\/8Is54DylnPyn6D3K4oSe5OXaKcXa930W5qV4SAMk4AWYNt1XXD\/ibpFSMP9WHmPQfde\/sUyf+nXasqT44+uV3TFZZHvqj4YP+7I0fTxf+6z\/MF9gg8jlZ06GtBOS+pJP\/AMg\/RfDtDW8P6SGrrIpActcHjY9vLPuuWh1Guv8AwXx\/BpkWXNm1Da2l1tuvxTW8oZx7DOR2dYXyzWrIIHxXCiljr4zgxNbgOPdnl\/rmu6G+Hc57TGO1Raf91NSSAMk4AVFcNW0VNJ8PRNdX1JOGsh3GfHr8srg\/D73qYiS4SG30J3bAz8zh3\/x9Ff2yz0NpjLKSENJGHPO7neJS0Y53GurV4FpXV5\/pepQm0X6\/EOutUKOmO\/w8XPHf\/EnwV1btP2y1kPpqYdIB\/OPPE735eSskXHNvYnDs8IvU931YREUC8IiIAiIgCjnp4amJ0U8bZGOGC1wypEQNXyR09PFS08dPAwMjjaGtaOoKREQJW2QREQBERAEREARfEs0cETpZntjjYMuc44ACzNRfLhfJ3UVgjLIgeGSseMAeHZ9fBSjFsqqVY0856cy0vGoaKzt4ZHdLUH8sDD8x8exZi709+v1E+tqaZlNT07S+OIj5yOvv5duForRpmktrhUSk1VYTkzyb4PcOrx5q5IBGCMgqako8JnlRqVk+8dl0X3ZndLW2zy2qCsgpGOmIw90nzua8c+fLyWjWY024269XKyuwGNd00IDcbHGfHYt9CtOo1OIs7Nbu1ZWa2fmgiIoGkKOaaKnhdNNI2ONoy5zjgBct1u9JaKYzVT9z+SNu7nnuCoIKC46pnbWXPjpKEbxUzSQXjv8A19FOMb7vBRUraXogry\/2T6qL5cb9O6jsMZjgBw+rcMY8Oz6+ChuWlae22KSrie+WvgIlMxcRnBGds+fb3rWwU8NLC2GCNscbRgNaMAKu1PO2DTtY5xA4mcA7ydlJT3SiUVKC0SnVd3Z+S8jptNWa61U1SXcTpIwXHtPX7rsVbp6F9PYKKOQEO6IEg8xnf7qyVcss1023BN5sERFwmEREAREQBERAEREAREQBERAEREAXFdLrS2ikNRUu25NYPzPPYFDe73T2Wk6WX55XbRxA7uP2Heqm0WOpuVS27309I87xU7hswdWR9vVTjHa7wZ6lV6u7p7y+nmRQW646qkbWXRz6WhBzFTN2Lh2\/x9Fqaamgo4GwU8TYo2DAa0YClRclJslSoxp75bywiIolxldRk2vUdtu+cRk9FKcHYdfs4+i1Sp9VUfxun6hoGXxDpW+XP2yuixVgr7JS1GcuMYa7\/ENj7hWPeKZlp+5WlHrv9mWCpb7qOK1Yp4GfEVr\/AMsLd8eOPooNQagfTSi2WxvTXCX5fl36PP3+nMqewaejtTPiKh3T10g\/eSk5xnqH69aKKSvITqSnJ06X9vp+TltWnZZ6n8Uvjumq3HLIiflj7B\/DkFpERRlJyyXU6UaatELI3KT9p7+y1QnNHSHjme12zjsPuQPEqy1Pd5LfSspaTJras8EIbzG4GffA\/gujT9oZZrYyDnM\/D5T\/AHscvAKUfdWooq\/qz7pYWfQs2tDWhrQAAMADqXqIqzWEREAREQBERAEREAREQBERAEREAVde7zBZaEzyjje48McYO7j+naVNcrjDa6J9VOdm7NbnBceoKitFrqLxWtvl3G\/OmgxswdRP29VOMVl4M9WpK\/dw4n8vEWSyVFdV\/jV6+ed28MLhswdRI6u4efNahEXJScmTpUo042X\/AKERFEtCIiA+XsbJG6N7Q5rgQ4HrCwluvM9mpKuzUsbpq0VTo4Ns46ifUcu9am\/XllnouIDjqZctgjAzxO7fAZCzulIaim1PUx3Buap8HSEuwSCSDz6jgq6C91tnn9plerGMHZ4b6XLzT9hFrjdU1JEtdOS6WQ74zuQD9T1q6RFU227s2whGnHTELluVwhtdBLVzn5WDYDm49QClqamKjppKid4ZHG3icSsrRQT6uuHx9YCy2wOIhgP9c9\/39FKMb7vBXWquNoQ4n\/rnRpygmrqx+oLg0dJN\/R2c+Bvb6cv4rTrxrQ1oa0AADAA6l6uSlqZKlTVONv8AXCIiiWhEUcs8MDS6aVkYHW9wCBuxIir5L7aYs8dxp9jjaQH6KE6psjTg3CPya4\/ZS0y6FbrU1mS+JbIqpmprK\/lcIhvjfI+oXfBWUtV\/R6mGb\/tvDvouNNZOxqQlwtMmREXCYRF8NljccNkaT2AoD7REQBeOcGtLnEAAZJPUvVmdVV80747FQAuqqrHHjkGb7e2fAd6lGOp2KqtRU4amc0Qdq6+9M5p\/C6M8IaTtI7ff6eXitcAAMAYAXPb6GG20MVJA0BsbQCcY4j1k95XSuylfGCNGm4K8uJ5CIigXhERAFHNNFTwvmmeGRsGXOcdgFIsxqmWa41VPYKRwD5iJJjueFo5Z9M+ilFXdiqtU7uF+fLzPiyQy6gu777VMLYIjw0sROQCOv\/XX4L7qf3H8odKTsJ6YjPbs79FoqanipKWKmhbwxxNDWjuCzt6\/d6zs8uPzAs35dY+6sUtTfkZZ0+7pxbzdN\/E068c4NaXOIAAySeperJ3itqdQXL8EtjsQM3qZhsMdnh9T3KuMdTNVWqqa6t4R8yvl1feHU0T3NtNKcvc3bpXf65d2\/WtVDDFTwshhYGRsGGtaNgFHQ0UFupGUtMzhjYPMntPeuhdlK+ywRo0nG8pbyefTyCIvCMjHaoF5XXC\/2y2EtqalvSAZ6NnzO9By81UjVVfcHFlmtEkwzgSy7N8+oeqtYtOWmKpfUfBskleSSZSX+x2VkAAMAYAU7xXK5mcK03vKy8PV+hmDatTXHeturKSN2Mx0\/Md2Rjv6ypItD23iD6mepqJNuIueAD7Z91pETvJch7LTzLfz3KiPStkjAAoGHHW5zjn1KmGn7O0YFtp\/NgK6au4UdAzjq6mOEYyON2CfAcys\/Pq2asJhsdvmqZM4Mj2fI3v2++F1a5HJ+z09mlfpbctZNO2V7fnt8AA6wOH6LL3ej0pSEmmq5mTjdraV\/SY7sn9VZDT14uruK9XNzInDenpzgeB6vqri32C2WzhdTUzekaP5x\/zO9eryUlLTzuUypOriCS6vPwXqY6m1JqG30LnyQvmhyA2apidtnlv1+eVcQW\/Ul1p45pr3HBFI0Ob8ON8Hwx29q0lVTRVlLJTTt4o5WlrgqLRk8ht09FK4udSTFgJPV2eoK7qum0jiouM1Ccm011sR\/sRBMP8AjLlWTnt4gPDnlfZ0LaS0tElU3PZIP0WkRV95LqaPZaP8TIVFJddKn4ulqpK2hG0kUu5YO3n7j0Woo6uGvpIqqB3FHK3IP2PeOSlexskbo3tDmuBDgesLN6KkfFBXW55JNJOR4A5GPVp9V1vVG\/NEYruaigsP5NGhqaiKkpZamZ3DHE0uce4LPaUgfWyVN9qmgy1LyI9vytBxgbeXkvdZTPlpqW1QkGWtmAxnqB\/Uj0WgpqeKkpYqaFvDHE0NaO4JiPmd\/cr25R+r9ESoiKs1BERAEREAWV020V2ortcntyWP6ONx7Mn3w1q1SzGi\/wB2y5QPP76OpPGOvs+oKsjwszVd6tNPx+hp1mNR\/wDmax\/90\/Vq06yGsaoUV3tVUW8XQlz+HtwQlPiOdraVK76r6o79TXOVvR2egPFWVny7HeNvf2ZGfQqwstpis9vZTRgF+MyPA\/O7tVbpe3yva+9Vx46ut+ZuR+RvVjxGPLC0SSdlpQoxc33suePBfkIiKs1BEXBXXy2W7IqqyNrxzYDxO9BuupN4IylGKvJ2O9eEgDJOAFl36vqa0mOzWqad22HyN+UeIH6heGwXy8ZN3uXQRE56CHcY7Oz6qei3E7Gf2lS\/bTl9PiWdx1RaraXMfUdLK3+ziHEfXkPVVZuGpb40fAUgt9O4\/wA9Ifmx57+g81c27T9stZD6amHSAfzjzxO9+XkrJNUVhDu6s+OVl0XqZ2k0fStn+JuM8lfOdyZD8ufDr81fQwxU8YjgiZEwcmsaAB5BSIouTeS6FKFPhQREUSwLM6OPHLdZQSWPqjj3P3CubvWfAWmqqs4McZ4f8R2HuQuDR9GaTT0JcMOnJlI8dh7AKxbQZmnvXiuib+xeIiKs0hZjRw6Se7VPPpannz6yefmru71XwVpqqjOCyJxac43xt74Vfo+kNLp6EuGHTOdIRjvx9AFYtoMzT3rxXRN\/Y43D47+UHgeSW0MHEG52yQP\/ANj0WoWYs3z60u8jt3NaGg9g229gtOk+SHZt1KXVsIiKs0hERAEREAWXu0NXYLu+90cfSUs2BVRN5\/4v4\/qtQilGViqrT7xZs1hldbr9broxpgqGh7h\/NPIDxvjl+iob\/Ay66xt9AT8rGcUm3Vu4j0Hura4aVtNwdxvgMT8Y4oXcPty6+xZK32f43UlXRU1wli+HY7hnGS48JDT1jtVsFHdpmHtEqto05pO7WOZ+itaGtDWgAAYAHUo56qnpm8VRPHEO2R4b9VnTo+om2q79WTt7Dn7kqSHQ9ojdxSmonPWHyYB9AFC0epq7yu8Qt5v0Omq1dZqXb4rpndkTS735e64Dqi53BxZZrQ97eqWU7bj0HqrumstsoyDBQwNcOTuDJ9Tuu5LxWENFaXFK3kvuzL\/gl\/uZzc7r0ETjvDT9nYeQ+q7aHSVoouF3w\/TvbvxTHi38OSu0XHOR2PZqad2rvx3PljGRsDI2hjWjAa0YAX0iKBoCIiAIiIAiIgMzrWcyU1JbIiOlq5gMdw2+pHotHDE2CFkTPyxtDR4BZm2ht61fVV7g4wUI6KHPLi5Z\/wDsfMLUqyeyUTLQ9+UqnXZeS\/IRF45wa0ucQABkk9SrNRmdXTPq5qKyQuAfVSBz+5udvufJaSGJkELIYxwsjaGtHYBsFmtPxfi18rL9ICYw4xU3EOrln0+pWoVk9rRMtD3nKq+ePJGYtZEGubnAWkGSMPBPXyP39lp1ldRZtWo7deAQI3HoZduQ6z6E+i1IIIyDkFJ72Y7Ps5Q6P67nqIirNQREQBERAEREBy3OujttvmqpHNHRsJaHH8zsbDzKxGl2zW7UFG6pyDXwOcCewkkevD7hWNbMdXXhlDTZ+Ao38c0gOzznG3lkDzVrqWzG4UDJKUcNVSfPDwjGf7vtt4K+NorS+Z5tTVWl3kMRx49fQu0VTp+9Mu9EA8htXEOGaPGCD247FbKlpp2ZvhOM4qUcBERcJhERAEREARRVFTBSQmapmZFGObnnAWan1LW3Z7qTT9I9x5OqH7Bvfg8vP0UoxbKqlaFPZ56czVIqyyWye20zxVVklVPK7ie5ziQD3ZVmuPZk4NuN2rBV1+uP4XZ56kfnA4Y\/8R2H6+SsVltRA3PUVstI+aNp6aZoGdu\/yB9VKCu9yrtE3Gm9OXsv7O7SVuNvscfSNDZZz0rtt9+QPlhXaIot3dyynBU4KK5BZ7V9wfDQx26nOamud0YA58PI+uQPMq\/e9scbnvOGtBJPYFl7LGb7f575K09BCejpQc4wNs8u8nuJUoL\/AKfIp7RJtKnHMvpzL+2UEdtt8NJGBhjdyOs9ZXWiKDdzRFKKsjluVBDc6CWknHyyDY43aeohZ+zXOay1YsV2IaG7U8\/9Vw6h\/rwWqXFdLTS3elMFUzOPyPH5mHtBU4yWHgoq023rhxL5+B2osg2pvmlsx1ETrjb28phniYPfAHYduwq3otVWetADasQvP9Sb5CPPl7o4PK3Qh2iDemWz6P8A25cIvlkjJW8Ub2vb2tOQvpQNARRT1VPTN4qieOIdsjw36qlrNY2ynd0dOZKyU5AbC3bPiftlSUW8Fc6sIcTsXznBrS5xAAGST1LK3O7VN\/qDarIT0J2qKoA8IHWAez69Wy8NvvmpDxXGQ2+iJyKdo+Z3j1+votHQ2+lttOIKSFsTBuccye0nrUtoeLKG519ltH5v0I7Va6e0UTaanG3Nzjzee0rtRFBu+7NUYqKssFBedOPqag3G2VBpK0Dct2Enj2KCi1W6mmNFfoTSVDTjpA3LD6Z9Rt4LTKGpo6asj6Opgjmb2PaDjw7FJSurSM8qLUtdN2fyYpqymrGB9NPHK0jOWOBUyztToq1yv6SmdNSPHIxvyPff3UQ07fKfam1FK5vMCUE47BuSu6YvDHeVo8UL+T9bGnXjnBoy4gDtKzI09fpR+\/1FKw4\/s87e4RuiKaR3FWXCrqHdZLgM+uU0x6jvarxD4tfktqu\/2qibmauiz\/6WO43egyqZ+qq25SdBYrc+QnnLMNm++PU+Ss6XStmpXBzaNr3A5zIS72OytWMZGwMjaGNaMBrRgBLwWFc5orz4mkvDPxZm6fSklXMKq\/Vj6yXqiacMb3f7YWigghpohFBEyKNvJrBgBSIouTeS2nShT4V6hERRLQstpkfiV7uV5d8zS\/ooiRyH+wHr1K6vdR8LZKyYc2xOA8SMD3K49I03w2nKfIw6XikPmdvbCsW0WzLP3q0Y9Lv7Iu0RRVNRFSUstTM7hjiaXOPcFWaW7K7M\/q6ulcyCzUmDUVrgHDsZnHlk9fcVe0FFHbqGGkh\/JE3hz2nrPmclZ\/TdO+6XCfUNU3eRxZTtI\/K0bZG\/l6rUKyey0magnOTqvnjy\/OQiIqzUEREAVdWaftVeS6eijLzze0cJPmFYouptYIyhGStJXMy\/Q9E15dS1lVT5G4a4EJ+xcbmhr7rWOGd\/m5rTIpd5LqUey0f4mdg0RaY3cU7p6g9fSSY+mFb0droaDelpY4nYxxBuXY8TuutFxyk8sshRpw4YoIiKJaEREAREQBERAEREAREQBERAEREBndbzdHYOj4sdNK1vlz+yvKSH4ejggwB0cbW4HVgYXs9NBUta2eFkrWuDmh7QcEcipVJv3UipU2qjm+dgsvqeokuVZT6fpHfPK4PqDg4a0bjP18gr+4V0NtoZaudwDY2kgZxxHqA7yqPSNDK5k95q8GorXEtPYzOfLJ6u4KUNveKq71tUVzz5fnBoKanipKWKmhbwxxNDWjuClRFWaUrKyCIiHQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiKuv1zFptM1TkdJjgiB63nl6c\/JdSu7IjKShFyeEUt6dJftQwWaEu+FpyH1Tm8u3B8th3nuWqa0NaGtAAAwAOpUelLWaK2CpnaPiqs9I9xG4B5D7+JV6pTfJcijs8XZ1JZl9OSCIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCyZ4tSarxgm3248xnhe8fx9h3rTVULqilkhbKYjI0t4wASM+K5LJaY7NbmUzMOk5ySAY4z\/AK2U4tJN8zPVhKpKMf8AnL9CxREUDQEREAREQH\/\/2Q==",
    "razonSocial": "CARLOS FELIPE URBINA RESZCZYNSKI",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "RICARDO",
    "correoContacto": "ricardo.notariaurbina@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56957345361",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28585\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:07",
    "ubicacionGPS": "LatLng(lat: -23.6507359, lng: -70.3987329)",
    "horaLlegada": "10:00",
    "horaDespacho": "13:06",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


06/05/2026 13:07:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:14108776

[06/05/2026 13:07: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('14108776', 'KY2951', 2, 24456550, 53537, NOW(), 
				'13:06', '10:00', '13:07', 10, '•Entrega de toner', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778087275.png', '', null, 'COMPLETADO','LatLng(lat: -23.6507359, lng: -70.3987329)' )
				
[06/05/2026 13:07:55] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200197
[06/05/2026 13:07:55] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200197', 'KYO-I1045', 1)
				
[06/05/2026 13:07:55] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28585 and
				    IDproducto = 'KYO-I1045'
				

06/05/2026 13:07:55 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I1045';
                
06/05/2026 13:07:55 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200197'                    
				WHERE idllamado = 12467			
				TO ENVIO: micorreo@miempresa.cl, ricardo.notariaurbina@gmail.com


06/05/2026 13:07:56 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12467			
				
06/05/2026 13:07:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


06/05/2026 13: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 = 12467
                
06/05/2026 13: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 = 12467
                
06/05/2026 13: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 = 12467
                
06/05/2026 13:07:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            
06/05/2026 13:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12467
                
06/05/2026 13:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12467
                
06/05/2026 13:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12467
            GROUP BY l.idllamado;
            [06/05/2026 13:07: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;
                
[06/05/2026 13:07: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;
                
[06/05/2026 13:07: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;
                

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

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

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

06/05/2026 13: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 = 12467
                
06/05/2026 13: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 = 12467
                
06/05/2026 13: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 = 12467
                
06/05/2026 13: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 = 12467
                
06/05/2026 13: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 = 12467
                
06/05/2026 13: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 = 12467
                [06/05/2026 13:08:02] 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;
                
[06/05/2026 13:08:02] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[06/05/2026 13:08:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

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

06/05/2026 13: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 = 12468
                
06/05/2026 13: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 = 12468
                
06/05/2026 13: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 = 12468
                
06/05/2026 13: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 = 12468
                
06/05/2026 13: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 = 12468
                [06/05/2026 13:08: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;
                

06/05/2026 13: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 = 12468
                
06/05/2026 13: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 = 12468
                [06/05/2026 13:08: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;
                

06/05/2026 13: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 = 12468
                
06/05/2026 13:08:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            [06/05/2026 13:08: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;
                

06/05/2026 13:08:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                [06/05/2026 13:08: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;
                

06/05/2026 13:08:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            [06/05/2026 13:08: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;
                

06/05/2026 13:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                [06/05/2026 13:08: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;
                

06/05/2026 13:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                [06/05/2026 13:08: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;
                

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

06/05/2026 13:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13: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 = 12468
                
06/05/2026 13:08:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12468
                
06/05/2026 13:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12468
                
06/05/2026 13: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 = 12468
                
06/05/2026 13: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 = 12468
                
06/05/2026 13: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 = 12468
                
06/05/2026 13:08:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:52 - logentry: =========================================
FECHA: 06/05/2026 13:08:52
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-PkYFPJP3siz04XvsYcopR0kKFfPQ5.C5Vj3Bk1w-QgqbeTxUe4X
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "14108776",
    "serieinterna": "KY2952",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "194117",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se entrega toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12468",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC5AMQDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABHEAABAwMCAQgGBgUKBwAAAAABAAIDBAURBiExEhNBUWFxgbEUIpGhwdEVFiMy4fAzQlLC8QckNUNidIKSstI0NlNkZXKi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgECAwQJBAIDAAAAAAAAAAECAxESITETMkFRBBQiYYGhscHRcZHh8CNCM1Jy\/9oADAMBAAIRAxEAPwD9mREQBERAERVF61DS2dvN45+qd9yFh37M9S6k27IhOcYRxSeRaveyNhfI4Ma0ZLnHACoKvWFI2f0a3QS185OAIh6vt6fZ4qHHY7rqB4qb3UPp4CctpY9sD4eOStFQWyjtsXN0lOyIdJA3d3niVO0Y65lGKtV3VhXfr9vkohPrCvAMcFNQMO4L8E+Oc+XQvfoXUz8F9+aD1Nbt5LTouY+SO9WT3pN+PwZg2nVMID4b1HI4HhINiPYV8PvOo7UOXcrYyogzvJAdwPDPvAWqRdx80Or23JNeN\/UgWu8Ud4g52lecj7zHjDm\/nI4Kes3fLG+nf9L2Zogq4BynxxtwJR07dfn3q0st1jvFuZUsAa\/hIzOeS5clFWujtOpLFs6mvqWCIigaAiIgCIiAIiIAiIgCIiAIiIAiKj1JeX0MTaGi5TrhU4ETWtyWjPH3FdSbdkQqVFTi5SOd81G6lnbbrYwVFfIeTgbiPv7ez2rpZNOtoHmtrnCpuEhy6R24Yf7PzXWwWKK0Uoe8cuslHKmkduc9QPV5q3U3JJWiUU6cpvaVdeC5fkIiKs1BERAEREAWYszW2\/V1yt8bSIZGiVuBsDscf\/R9i06y9r5NXrm51A3EEYjHYdgfIqcNGZq+9C2t\/Z3NQiIoGkIiIAiIgCIiAIiIAiIgCIiAiXO4Q2ugkrJ8lrBs0cXE8AFS6at01TO6\/XHLqmfeBpOzGEcR3g47u9cKsfWfUzKVvrUFv3lIwWvd1cenGPArVtaGtDWgAAYAHQrH2VbizJH+apie7HTvfP4PURFWawiIgCIiAIiICFdrgy12yasfgljfVaf1nHgPaq3R1C+mtBqph9rWP5093R8\/FQa6T6y6lZbY35oaP7SZzcEOcP449q1jWhrQ1oAAGAB0Kx9mNuZkh\/LVc+Ecl9ePweoi+XvZGwvkcGNaMlzjgBVms+kVdRX233CtkpKWbnXsGS4D1T3FWK601qRjKMleLuERFwkEREAREQBERAFVakuJtdlnnY7kyuHNxn+0enwGT4K1WVuzRedXUltJPM0bedmHQTscf6R4nxnBXeZR0ibjC0dXkvEs9M2z6Ms8bXj7eb7WU9OT0eA+KkXuulttoqKyFjXyRAENdw3IHxU9QrvT+lWergxkvhdgYzvjb3rl7yuzrhgpYYcEdLdUOq7bTVLscqWJr3Y4ZIBKkqk0fPz+m6cZyYy5h8Cce4hXaSVm0SpSx04y5oIiKJYEREAVDqS9Po4hQUBL7hUYaxrNywHp7+r2qTfb5FZqYEN52pl2iiHEnrPYommrJNSGS5XE8uvqNzyuLAejvP4KyKSWJmWrOU5bKGvF8vyTbBZ2Wa2tg4yv9eV3W7HAdgVmviWWOCJ0srwxjBkuPQstUXe4akndR2QOhphtLVPGPZ1efcuJOTuSlOFCKgvBFjdtT0dueaeEGrqyeSIYt8HtPR3cVXR2S66hc2ovdQ6ngzllLGMEDt6vHJ7lcWjT9DZ2ZiZzk5HrTvGXHu6h+d1aLuJR3SGxnUzqvLktPHmRKC2Udti5ukp2RDpIG7u88SpaIq27mpJRVkEREOhERAF4SAMk4AVbeb9SWaIGU85M7ZkLD6x+QWQvUt1rKYVNzmNMJ\/VpqNgOXbjcj57ngrI03Iy1ukxp3Sza\/cz9Ba4OGWkEdYRV9gopqCzU9PUSGSRrcnP6ueAGepFBqzNEG5RTasT3vbHG57zhrQST1BZvSDXVctwvEg3qpi1g4YaN\/iB4Kfqmr9E07VOH3pG80P8AFsfdldtP0noVipIS0B3NhzgOs7nzU1lBvmUS7VdLkr\/fL5LFeEAjBGQV6irNJmNEExUldROPrQVJz7MfuladZeyAUesbtSD1RKBKB1752\/zlahTqb1zN0XKlh5XXmERFA0hVl9vcFlozK\/D5n7RRZ3cfkF2ut1prRRuqKh3Yxg4vPUFSWa01NzrhfLy0F5H83gI2YOg48h4qcYrV6GerUlfZ095+XedrFZZ3VBvF39etk3Yx3CIdG3QfLvV9NNFTwulmeGRtGS5x2C+nOaxhe9wa1oySTgALJZn1nWnBdDaad+\/Q6V38D4ZXc5u70ItqhFQgrt+fez0Gq1lV5IfT2iF3DgZiPz4LU09PDSQNgp42xxsGA1oXsMMVPCyGFgZGwYa1o2AXRRlK+S0LKVLB2pZyer\/eAREUS4IiIAiLhWVtPQUzqmqkEcbOJPkOtDjaSuzsSAMk4AWauOppqipdbrDEaipzgzAZYzu6D3nbvUZ81y1fK6Km5VJag7DpD96Ts7e7gulRcaWwtFmsNN6RWOOHEb8k9bj0ns4D3K6MLa5sw1K7mrp2jz4v6fJydTUOlx6dXymvusuSxpOd+sZ8\/YpNistVVV303eTyqh28MR4RjoOPIePFSLLpptLN9IXGT0qvfhxc7cMPZ1nt9iv1yU+CO0ej3tKSslovd94REVRuMvrMc++10PH0ip+7wB4D95ahZe85n1raKcb8hpk8z+6tQrJbqRmo51Kku9L7IIiKs0mXrx6HrygnHqtqoix3adx\/tWoWX1mfRn2y4gb09RufYf3VpwQRkHIKslmkzNRyqTj33+6PVDudzprTRuqal+GjZrRxeeoJc7nTWmjdU1L8NGzWji89QWctttqtS1rbvd28mlb\/AMPT9BHy8+5cjHi9DtWq08EM5Py72dLNb6i\/Vovl1aebB\/m1OeAHQe7z4rVrwAAYAwAq+\/XMWm0zVORzmORED0vPD2cfBG3NnYRjQg233tlPqKqnu1fHp+3vAc71qiQO2aP2T7j7AtFRUcFBSR0tMzkRxjAHxKqtLWt1HQmsqfWrKw85K48QDuB8T2lXiSf9URoQbvVlq\/JcgiIoGkIiIAiLO3XUj3VAttlYKmsecF7d2x9ff5BSjFy0K6lSNNXkTb1f6WzRYf8AaVLxmOFvF3UT1DKpo7XUXGT6W1NMIII92UxOGgdv5yVwH0fpt3P1j\/pK8y78kHlch3f0d\/HqCkwWO43+ZtXfpHRQg5ZSMOMd\/V59ytSUV7\/BglKVWVmrvlwX\/T9j5kutbf3m32CP0akYMSVJHJwOodXdx7ld2axUdlh5MDeXK4evM77zvkOxT4KeGlhbDBG2ONowGtGAF0VblwWhrp0bPHN3l6fQIiKBoCIiAy8Y5\/8AlEl\/7em6+sD\/AHLULMWn19c3aTjyYw3PV93b3LTqc9V9DN0bST5thERQNJQa0iEmm5XEfo3scPbj4qdFcYKWw09dVSBsfMMcT1ktGw7V86ji57T1c3faIu27N\/gsrZ4KjVApaefEdBbmtDgCftD\/AAHh4q6KThnwMFWbp17RV3JZfcn2+gn1RcRdrnGWUbNqeAnZ34dfX3LWgADAGAEa0NaGtAAAwAOhequUrmmlSVNc29WFlank3\/VzKXd1JbhmTDsZf\/HA8D1rRXCrbQ2+eqdwiYXcM5PQqbRlHzFm9KePtqt5e5x4kA4HxPipRyTkV1u3ONPhq\/D8mhREVZqCIiALnPPFTQvmnkbHGwZc5xwAod2vVHZ4DJUyDlkZZEPvP\/PWsFWXW5alr2xiF8jf6umjJ5I7T19\/krIU3LPgZOkdKjS7KzlyLq436ovXLiopvQbcw8mWrk2LtuA7+ob9yj2w1VRE6i03TGCInE1fLs5\/y7hk9ysLdpF8xjmvUgk5sYjpozhjB1bfBaiKKOGNscUbY2NGGtaMAeCnKcYq0SinQq1HjqO3r+PUqrNpujtP2p+3qnfemfxz2dXmrhEVLbbuzfCEYLDFWQREXCYREQBERAZix\/8AOF58PNadZe05g1zdIXf1kYeO37p+K1Csqambou413v1CIoF6ujLRbZKtwDnD1Y2E45Tj0eZ8FBK7si+UlFOT0RTaouU1XM2xW4h00oPpB\/Ybxxnu4\/iu+iHh+nWNAwWSuB7en4rppe2PpqR1wq\/WrK315HHGQDuB2dZ\/BRdEfZUldS8DFUnbq2x8Fa7YWlwMEMW2jUl\/ZPLksrGnREVJ6JndbTlljFMzd9TK1gaOnG\/mAryjp20lFBTN4RRtYPAYWe1Vma8WSnxlrqjLh4t\/FadWPdRmp51pvlZe4RFU3PUtstZcyWfnJh\/VRes7x6B4qCTehdOcYK8nYtlnL3qyKje6jt7fSqw+r6m7WH4nsWduGqrreHmmoo3wsfsI4QXPcO08fYu9q01fOTyohHbg4AGUn7Ujpxjcd2yuVNRzkefPpcqrw0E\/r++57T6brK+U3DUNZ6Mw4J51wDnDq32aPzhXMV80zY4jBRvaeHKELS4u73dPtXkOiaMvEtfV1FZJjBLnYB+PvVtS2S10WPR6GFpbwcW8p3tO6SnF6slRoVIZxST5vNlP9b56n+jrJVVA\/acMD3A9nT0rz0jWNTjkUdLStO2SQSO3ifJahFDElojRsZvem\/CyMwLTqqoJ9IvUcQPRE3h7gn1VuT\/02pKt3TgcrY\/5lp0XNo+A6rTet34szH1MJ3deawnpOePvXn1NlacxXurYenj81qEXdpLmOqUeXmzMfVa6RnMOpKkdTSHY\/wBXwXrLLqSKRpbfg4NP67Sdu7pWmRc2kh1WmtLrxfyERFA0mXq\/5r\/KDSPA2qach2Ok4d8gtQsvq4ClrrTciDyYZw1+McMg+QK04IIyDkFWS0TM1HKc499\/uj1ZO4tdqDV0VvIzSUA5cvU47EjyHtWsWX0mA+63qZ27zUYye9359iQyTZzpCxShTejefhmahZjSnq3e+xjg2p2\/zP8AktOsxpb+nNQf3n9565HdZ2r\/AJafj6GnREUDSZzVsUsRobpEzlChl5bxtwyPljxXtVre0wxB0JkqHubkNa3k4PUSfxXt00sbvc31FVcJRT7ciFg+7tg4J2G+\/BTaTTloo42sZRRvI\/WlHLJ78q28MKvmYXGvtJOFknzz8TIT3bUGpnmGkieyAnBbDs0f+zvz3K1tehKeJokuchmf\/wBKMkNHeeJ9y1jWtY0NY0NaOAAwAvpHVdrRyOw6HG+Kq8T7\/g4UlHTUMIhpYGQsHQ0Yz39a7oiqNiSSsgiIh0IiIAiIgCIiAIiIAiIgKrUtCbhYqiJjeVI0ctgA3yN\/LK905XfSFippi7L2t5t++Tlu2\/fx8VaLK2Zv0FqeqtDjiCqHO0+T37ezI\/whWLOLRln2K0Z8Hk\/Y1SytvkFk1dWUc7+TDcHc5C4twC4nOPeR4BapVl8skN6pOQ483PHvFKBu0\/Jci0snxJ1oSaUoar9sWazGlv6c1B\/ef3nrky+3WwgwXqkkqImnDamM5yNuwZ48Tgrjpa60Lbtd5ZamOFtVMHxc64N5Q5Tz094U1BqLM0q8J1YcGr6\/Q2SLnHNFL+jlY\/H7LgV0VJ6GoREQBERAEREAREQBERAEREAREQBERAEREAVFqi0y11LHV0eRW0h5cZbxcOkd+234q9RdTs7kKkFUi4srbHdmXegbLs2ZnqzMz913yKsllLzQ1NiuBvlrjLonHNVCDsR0nHV5HdX1rulLdqQVFK\/I4OaeLD1FSlH+y0KaVV32c95efeTHNDmlrgCCMEHpWM03ZrfeGXCoqqcStdUEMcCW44nbB7QtVcqkUlsqagnHNxOcMdeNveqvRlMafTsTiMGZ7pPfge4Bdi2otkasYzrRi1eyb9jjJoa0u3jfUxEcC2QfEL4GiYW\/o7nWNzx9YbrToubSXMl1Wj\/qZj6l\/wDmKz2\/itDSU\/olJFTiR8gjaG8t5yTjrXZFxyb1LKdGFN3igiIoloREQBERAEREAREQBERAEREAREQBERAFm7hpmaKpdX2Ko9EqT96POGO8Me47LSIpRk46FdSlGorSMVcrpe663SWia0ysqnlodIzPJLcjfq3O3HG61tDStoqGClZwiYG8c8ApCLspXVkiFOi4ScnK70CIigXhERAEREAREQBERAEREAREQBERAEREAREQH\/\/Z",
    "razonSocial": "CARLOS FELIPE URBINA RESZCZYNSKI",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "RICARDO",
    "correoContacto": "ricardo.notariaurbina@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56957345361",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28586\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:08",
    "ubicacionGPS": "LatLng(lat: -23.650683, lng: -70.3987738)",
    "horaLlegada": "10:00",
    "horaDespacho": "13:07",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 06/05/2026 13:08:52
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-PkYFPJP3siz04XvsYcopR0kKFfPQ5.C5Vj3Bk1w-QgqbeTxUe4X
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "14108776",
    "serieinterna": "KY2952",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "194117",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se entrega toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12468",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC5AMQDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABHEAABAwMCAQgGBgUKBwAAAAABAAIDBAURBiExEhNBUWFxgbEUIpGhwdEVFiMy4fAzQlLC8QckNUNidIKSstI0NlNkZXKi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgECAwQJBAIDAAAAAAAAAAECAxESITETMkFRBBQiYYGhscHRcZHh8CNCM1Jy\/9oADAMBAAIRAxEAPwD9mREQBERAERVF61DS2dvN45+qd9yFh37M9S6k27IhOcYRxSeRaveyNhfI4Ma0ZLnHACoKvWFI2f0a3QS185OAIh6vt6fZ4qHHY7rqB4qb3UPp4CctpY9sD4eOStFQWyjtsXN0lOyIdJA3d3niVO0Y65lGKtV3VhXfr9vkohPrCvAMcFNQMO4L8E+Oc+XQvfoXUz8F9+aD1Nbt5LTouY+SO9WT3pN+PwZg2nVMID4b1HI4HhINiPYV8PvOo7UOXcrYyogzvJAdwPDPvAWqRdx80Or23JNeN\/UgWu8Ud4g52lecj7zHjDm\/nI4Kes3fLG+nf9L2Zogq4BynxxtwJR07dfn3q0st1jvFuZUsAa\/hIzOeS5clFWujtOpLFs6mvqWCIigaAiIgCIiAIiIAiIgCIiAIiIAiKj1JeX0MTaGi5TrhU4ETWtyWjPH3FdSbdkQqVFTi5SOd81G6lnbbrYwVFfIeTgbiPv7ez2rpZNOtoHmtrnCpuEhy6R24Yf7PzXWwWKK0Uoe8cuslHKmkduc9QPV5q3U3JJWiUU6cpvaVdeC5fkIiKs1BERAEREAWYszW2\/V1yt8bSIZGiVuBsDscf\/R9i06y9r5NXrm51A3EEYjHYdgfIqcNGZq+9C2t\/Z3NQiIoGkIiIAiIgCIiAIiIAiIgCIiAiXO4Q2ugkrJ8lrBs0cXE8AFS6at01TO6\/XHLqmfeBpOzGEcR3g47u9cKsfWfUzKVvrUFv3lIwWvd1cenGPArVtaGtDWgAAYAHQrH2VbizJH+apie7HTvfP4PURFWawiIgCIiAIiICFdrgy12yasfgljfVaf1nHgPaq3R1C+mtBqph9rWP5093R8\/FQa6T6y6lZbY35oaP7SZzcEOcP449q1jWhrQ1oAAGAB0Kx9mNuZkh\/LVc+Ecl9ePweoi+XvZGwvkcGNaMlzjgBVms+kVdRX233CtkpKWbnXsGS4D1T3FWK601qRjKMleLuERFwkEREAREQBERAFVakuJtdlnnY7kyuHNxn+0enwGT4K1WVuzRedXUltJPM0bedmHQTscf6R4nxnBXeZR0ibjC0dXkvEs9M2z6Ms8bXj7eb7WU9OT0eA+KkXuulttoqKyFjXyRAENdw3IHxU9QrvT+lWergxkvhdgYzvjb3rl7yuzrhgpYYcEdLdUOq7bTVLscqWJr3Y4ZIBKkqk0fPz+m6cZyYy5h8Cce4hXaSVm0SpSx04y5oIiKJYEREAVDqS9Po4hQUBL7hUYaxrNywHp7+r2qTfb5FZqYEN52pl2iiHEnrPYommrJNSGS5XE8uvqNzyuLAejvP4KyKSWJmWrOU5bKGvF8vyTbBZ2Wa2tg4yv9eV3W7HAdgVmviWWOCJ0srwxjBkuPQstUXe4akndR2QOhphtLVPGPZ1efcuJOTuSlOFCKgvBFjdtT0dueaeEGrqyeSIYt8HtPR3cVXR2S66hc2ovdQ6ngzllLGMEDt6vHJ7lcWjT9DZ2ZiZzk5HrTvGXHu6h+d1aLuJR3SGxnUzqvLktPHmRKC2Udti5ukp2RDpIG7u88SpaIq27mpJRVkEREOhERAF4SAMk4AVbeb9SWaIGU85M7ZkLD6x+QWQvUt1rKYVNzmNMJ\/VpqNgOXbjcj57ngrI03Iy1ukxp3Sza\/cz9Ba4OGWkEdYRV9gopqCzU9PUSGSRrcnP6ueAGepFBqzNEG5RTasT3vbHG57zhrQST1BZvSDXVctwvEg3qpi1g4YaN\/iB4Kfqmr9E07VOH3pG80P8AFsfdldtP0noVipIS0B3NhzgOs7nzU1lBvmUS7VdLkr\/fL5LFeEAjBGQV6irNJmNEExUldROPrQVJz7MfuladZeyAUesbtSD1RKBKB1752\/zlahTqb1zN0XKlh5XXmERFA0hVl9vcFlozK\/D5n7RRZ3cfkF2ut1prRRuqKh3Yxg4vPUFSWa01NzrhfLy0F5H83gI2YOg48h4qcYrV6GerUlfZ095+XedrFZZ3VBvF39etk3Yx3CIdG3QfLvV9NNFTwulmeGRtGS5x2C+nOaxhe9wa1oySTgALJZn1nWnBdDaad+\/Q6V38D4ZXc5u70ItqhFQgrt+fez0Gq1lV5IfT2iF3DgZiPz4LU09PDSQNgp42xxsGA1oXsMMVPCyGFgZGwYa1o2AXRRlK+S0LKVLB2pZyer\/eAREUS4IiIAiLhWVtPQUzqmqkEcbOJPkOtDjaSuzsSAMk4AWauOppqipdbrDEaipzgzAZYzu6D3nbvUZ81y1fK6Km5VJag7DpD96Ts7e7gulRcaWwtFmsNN6RWOOHEb8k9bj0ns4D3K6MLa5sw1K7mrp2jz4v6fJydTUOlx6dXymvusuSxpOd+sZ8\/YpNistVVV303eTyqh28MR4RjoOPIePFSLLpptLN9IXGT0qvfhxc7cMPZ1nt9iv1yU+CO0ej3tKSslovd94REVRuMvrMc++10PH0ip+7wB4D95ahZe85n1raKcb8hpk8z+6tQrJbqRmo51Kku9L7IIiKs0mXrx6HrygnHqtqoix3adx\/tWoWX1mfRn2y4gb09RufYf3VpwQRkHIKslmkzNRyqTj33+6PVDudzprTRuqal+GjZrRxeeoJc7nTWmjdU1L8NGzWji89QWctttqtS1rbvd28mlb\/AMPT9BHy8+5cjHi9DtWq08EM5Py72dLNb6i\/Vovl1aebB\/m1OeAHQe7z4rVrwAAYAwAq+\/XMWm0zVORzmORED0vPD2cfBG3NnYRjQg233tlPqKqnu1fHp+3vAc71qiQO2aP2T7j7AtFRUcFBSR0tMzkRxjAHxKqtLWt1HQmsqfWrKw85K48QDuB8T2lXiSf9URoQbvVlq\/JcgiIoGkIiIAiLO3XUj3VAttlYKmsecF7d2x9ff5BSjFy0K6lSNNXkTb1f6WzRYf8AaVLxmOFvF3UT1DKpo7XUXGT6W1NMIII92UxOGgdv5yVwH0fpt3P1j\/pK8y78kHlch3f0d\/HqCkwWO43+ZtXfpHRQg5ZSMOMd\/V59ytSUV7\/BglKVWVmrvlwX\/T9j5kutbf3m32CP0akYMSVJHJwOodXdx7ld2axUdlh5MDeXK4evM77zvkOxT4KeGlhbDBG2ONowGtGAF0VblwWhrp0bPHN3l6fQIiKBoCIiAy8Y5\/8AlEl\/7em6+sD\/AHLULMWn19c3aTjyYw3PV93b3LTqc9V9DN0bST5thERQNJQa0iEmm5XEfo3scPbj4qdFcYKWw09dVSBsfMMcT1ktGw7V86ji57T1c3faIu27N\/gsrZ4KjVApaefEdBbmtDgCftD\/AAHh4q6KThnwMFWbp17RV3JZfcn2+gn1RcRdrnGWUbNqeAnZ34dfX3LWgADAGAEa0NaGtAAAwAOhequUrmmlSVNc29WFlank3\/VzKXd1JbhmTDsZf\/HA8D1rRXCrbQ2+eqdwiYXcM5PQqbRlHzFm9KePtqt5e5x4kA4HxPipRyTkV1u3ONPhq\/D8mhREVZqCIiALnPPFTQvmnkbHGwZc5xwAod2vVHZ4DJUyDlkZZEPvP\/PWsFWXW5alr2xiF8jf6umjJ5I7T19\/krIU3LPgZOkdKjS7KzlyLq436ovXLiopvQbcw8mWrk2LtuA7+ob9yj2w1VRE6i03TGCInE1fLs5\/y7hk9ysLdpF8xjmvUgk5sYjpozhjB1bfBaiKKOGNscUbY2NGGtaMAeCnKcYq0SinQq1HjqO3r+PUqrNpujtP2p+3qnfemfxz2dXmrhEVLbbuzfCEYLDFWQREXCYREQBERAZix\/8AOF58PNadZe05g1zdIXf1kYeO37p+K1Csqambou413v1CIoF6ujLRbZKtwDnD1Y2E45Tj0eZ8FBK7si+UlFOT0RTaouU1XM2xW4h00oPpB\/Ybxxnu4\/iu+iHh+nWNAwWSuB7en4rppe2PpqR1wq\/WrK315HHGQDuB2dZ\/BRdEfZUldS8DFUnbq2x8Fa7YWlwMEMW2jUl\/ZPLksrGnREVJ6JndbTlljFMzd9TK1gaOnG\/mAryjp20lFBTN4RRtYPAYWe1Vma8WSnxlrqjLh4t\/FadWPdRmp51pvlZe4RFU3PUtstZcyWfnJh\/VRes7x6B4qCTehdOcYK8nYtlnL3qyKje6jt7fSqw+r6m7WH4nsWduGqrreHmmoo3wsfsI4QXPcO08fYu9q01fOTyohHbg4AGUn7Ujpxjcd2yuVNRzkefPpcqrw0E\/r++57T6brK+U3DUNZ6Mw4J51wDnDq32aPzhXMV80zY4jBRvaeHKELS4u73dPtXkOiaMvEtfV1FZJjBLnYB+PvVtS2S10WPR6GFpbwcW8p3tO6SnF6slRoVIZxST5vNlP9b56n+jrJVVA\/acMD3A9nT0rz0jWNTjkUdLStO2SQSO3ifJahFDElojRsZvem\/CyMwLTqqoJ9IvUcQPRE3h7gn1VuT\/02pKt3TgcrY\/5lp0XNo+A6rTet34szH1MJ3deawnpOePvXn1NlacxXurYenj81qEXdpLmOqUeXmzMfVa6RnMOpKkdTSHY\/wBXwXrLLqSKRpbfg4NP67Sdu7pWmRc2kh1WmtLrxfyERFA0mXq\/5r\/KDSPA2qach2Ok4d8gtQsvq4ClrrTciDyYZw1+McMg+QK04IIyDkFWS0TM1HKc499\/uj1ZO4tdqDV0VvIzSUA5cvU47EjyHtWsWX0mA+63qZ27zUYye9359iQyTZzpCxShTejefhmahZjSnq3e+xjg2p2\/zP8AktOsxpb+nNQf3n9565HdZ2r\/AJafj6GnREUDSZzVsUsRobpEzlChl5bxtwyPljxXtVre0wxB0JkqHubkNa3k4PUSfxXt00sbvc31FVcJRT7ciFg+7tg4J2G+\/BTaTTloo42sZRRvI\/WlHLJ78q28MKvmYXGvtJOFknzz8TIT3bUGpnmGkieyAnBbDs0f+zvz3K1tehKeJokuchmf\/wBKMkNHeeJ9y1jWtY0NY0NaOAAwAvpHVdrRyOw6HG+Kq8T7\/g4UlHTUMIhpYGQsHQ0Yz39a7oiqNiSSsgiIh0IiIAiIgCIiAIiIAiIgKrUtCbhYqiJjeVI0ctgA3yN\/LK905XfSFippi7L2t5t++Tlu2\/fx8VaLK2Zv0FqeqtDjiCqHO0+T37ezI\/whWLOLRln2K0Z8Hk\/Y1SytvkFk1dWUc7+TDcHc5C4twC4nOPeR4BapVl8skN6pOQ483PHvFKBu0\/Jci0snxJ1oSaUoar9sWazGlv6c1B\/ef3nrky+3WwgwXqkkqImnDamM5yNuwZ48Tgrjpa60Lbtd5ZamOFtVMHxc64N5Q5Tz094U1BqLM0q8J1YcGr6\/Q2SLnHNFL+jlY\/H7LgV0VJ6GoREQBERAEREAREQBERAEREAREQBERAEREAVFqi0y11LHV0eRW0h5cZbxcOkd+234q9RdTs7kKkFUi4srbHdmXegbLs2ZnqzMz913yKsllLzQ1NiuBvlrjLonHNVCDsR0nHV5HdX1rulLdqQVFK\/I4OaeLD1FSlH+y0KaVV32c95efeTHNDmlrgCCMEHpWM03ZrfeGXCoqqcStdUEMcCW44nbB7QtVcqkUlsqagnHNxOcMdeNveqvRlMafTsTiMGZ7pPfge4Bdi2otkasYzrRi1eyb9jjJoa0u3jfUxEcC2QfEL4GiYW\/o7nWNzx9YbrToubSXMl1Wj\/qZj6l\/wDmKz2\/itDSU\/olJFTiR8gjaG8t5yTjrXZFxyb1LKdGFN3igiIoloREQBERAEREAREQBERAEREAREQBERAFm7hpmaKpdX2Ko9EqT96POGO8Me47LSIpRk46FdSlGorSMVcrpe663SWia0ysqnlodIzPJLcjfq3O3HG61tDStoqGClZwiYG8c8ApCLspXVkiFOi4ScnK70CIigXhERAEREAREQBERAEREAREQBERAEREAREQH\/\/Z",
    "razonSocial": "CARLOS FELIPE URBINA RESZCZYNSKI",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "RICARDO",
    "correoContacto": "ricardo.notariaurbina@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56957345361",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28586\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:08",
    "ubicacionGPS": "LatLng(lat: -23.650683, lng: -70.3987738)",
    "horaLlegada": "10:00",
    "horaDespacho": "13:07",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


06/05/2026 13:08:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:14108776

[06/05/2026 13:08: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('14108776', 'KY2952', 2, 24456550, 194117, NOW(), 
				'13:07', '10:00', '13:08', 10, '•Se entrega toner', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778087332.png', '', null, 'COMPLETADO','LatLng(lat: -23.650683, lng: -70.3987738)' )
				
[06/05/2026 13:08:52] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200198
[06/05/2026 13:08:52] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200198', 'KYO-I1045', 1)
				
[06/05/2026 13:08:52] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28586 and
				    IDproducto = 'KYO-I1045'
				

06/05/2026 13:08:52 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I1045';
                
06/05/2026 13:08:52 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200198'                    
				WHERE idllamado = 12468			
				TO ENVIO: micorreo@miempresa.cl, ricardo.notariaurbina@gmail.com


06/05/2026 13:08:53 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12468			
				
06/05/2026 13:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


06/05/2026 13:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                [06/05/2026 13:08: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;
                

06/05/2026 13:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                [06/05/2026 13:08: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;
                
[06/05/2026 13:08: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;
                

06/05/2026 13:08:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            [06/05/2026 13:08:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                [06/05/2026 13:08:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 13:08:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13:08:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            
06/05/2026 13:08:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12468
            GROUP BY l.idllamado;
            [06/05/2026 13:08:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12468
                
06/05/2026 13: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 = 12468
                
06/05/2026 13: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 = 12468
                
06/05/2026 13: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 = 12468
                
06/05/2026 13: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 = 12468
                
06/05/2026 13: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 = 12468
                
06/05/2026 13: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 = 12468
                
06/05/2026 13: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 = 12468
                
06/05/2026 13: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 = 12468
                
06/05/2026 13:10:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            [06/05/2026 13:10: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;
                

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

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

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

06/05/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 = 12476
                
06/05/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 = 12476
                [06/05/2026 13:10: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;
                

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

06/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13:13:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:13:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            [06/05/2026 13:13: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;
                

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

06/05/2026 13:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                [06/05/2026 13:13: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;
                

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

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

06/05/2026 13:13:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12474
            GROUP BY l.idllamado;
            
06/05/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 = 12474
                
06/05/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 = 12474
                
06/05/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 = 12474
                
06/05/2026 13:13:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:13:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:13:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12474
            GROUP BY l.idllamado;
            
06/05/2026 13:13:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/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 = 12474
                
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12474
            GROUP BY l.idllamado;
            
06/05/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 = 12474
                
06/05/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 = 12474
                
06/05/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 = 12474
                
06/05/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 = 12474
                
06/05/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 = 12474
                
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12474
            GROUP BY l.idllamado;
            
06/05/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 = 12474
                
06/05/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 = 12474
                
06/05/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 = 12474
                
06/05/2026 13:13:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12474
            GROUP BY l.idllamado;
            
06/05/2026 13:13:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:13:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:13:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:13:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:13:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:13:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12474
            GROUP BY l.idllamado;
            
06/05/2026 13:13:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:13:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12474
            GROUP BY l.idllamado;
            
06/05/2026 13:13:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:13:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:13:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:13:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:14:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12474
            GROUP BY l.idllamado;
            
06/05/2026 13:14:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12474
            GROUP BY l.idllamado;
            
06/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:14:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12474
            GROUP BY l.idllamado;
            
06/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:14:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:14:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:14:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:14:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12474
            GROUP BY l.idllamado;
            
06/05/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 = 12474
                
06/05/2026 13:14:29 - logentry: =========================================
FECHA: 06/05/2026 13:14:29
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-2NydFt0IWGl0YkAQkm9pOs2VM-RfgkJHLAp6xwZMD_o4sXKMWBR
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76858530",
    "serieinterna": "TO2386",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": " serv Repetido\nOk",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12474",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABxAKMDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABEEAABAwMBAwgECgcJAAAAAAABAAIDBAURBhIhMRMiQVFhcZGhI4GxwQcUFTJCosLR4fAWJDNDYnOSJjQ1NkRSU3SC\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgECAwYFAwUBAAAAAAAAAAECAxESITEEIkFRccETMmGh0TSx8HKBkcLh8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBEXjnBrS5xAAGST0ID5lljghfNK8MjYC5zjwAWettzuF9vHxilJgtlOSDtN3zH8+G5RK2efV1w+IUZLLbA4GacfvD2e7xWppaaGjpo6aBmxFGMNCssorPUyKUq0917q938HZERVmsIiIAiLP3u\/Tx1TbVaWCWvk4niIxjt3Z6V1RbdkV1KkacbyLqeqpqYZqKiKEH\/keG+1ewVVPVNLqeeOYDiY3h2PBZ+j0dTv8AT3ieSuqHDnZkIaO7pP53LhdtO\/JEfypYy+GWn5zotouDm9PHzCnhi8rlDq1ksbjl1zNYii22uiuVvhq4vmyNyR1HpHipSrasak1JXQREQ6EREARFQasramlhooqSd0Mk9QGlzPnY\/JHkuxV3YrqVFTg5Mv0RFwsPHODWlziAAMknoWUq6up1VWOt9veY7dGfT1A+n2Bfd8r6i8VztP2w4P8AqZc7mtHEezPgr+22+G10MdJAOawb3Y3uPSSrFuK\/EySbrycF5Vr6+nyfVFRU9vpWU1NGGRsG4dfae1SERVmpJJWQREQ6EREBV6gu7LNbHz8ZX8yIfxY49wUfTVnfQ076ys2nV9VzpS45LRnOPefwUGZrb9rJsJIdTWwbTv4n7t3jj+krVKx7sbGSC8Wo5vRZLu+wXhAIwRkFeoqzWZXTRNpvdfY5JMsB5SAHpGM+OCPArVLMaiHxDUVpujdwc\/kZTwGM\/c53gtOrJ52lzMuz7uKnyfs80ERFWagiIgCy+piZ9Q2SlA3Cbbd2jab7gVqFmJP1v4Q4gN4o6bJA6Mg8f6x5KynrczbTnBR5tfc06o9SXl9FE2ho9t9wqRiJrBvaCcZ9qnXe6wWigfUzOG1giNmd73dAVVpu1TSSm+XPLqyfJY1wxybeHDo3eS5FJLExWm5PwoavX0XzyJ1gsrLRRAO51VKA6eQnJLuruCtURRbbd2XwhGEVGOgREXCQREQEC53entb6dszXudUP2GNZvJ4feF3r6ttDQT1TuETC7hnJ6Fn7lmv1xb6X6FKzlTnr47vBq763nMWnnMB\/bStYfN32VYoq6XMyOtJRqS4LT+PkaMpOStLqx49LWSF5JG\/AJA959a0K4UVO2kooadjQ1sTA3A7Au6jJ3bZdRhgpqIREUS0otY0nxmwSSNB26dwlaR2bj5EqztlUa62U9ScbUkYLtk5G10+eV8XlnKWWuZ1078d+yVB0g\/b0zS54t2x9YqesDNptHVfZ\/wCl2iIoGkIiIAstpsfGtSXmv3FofyTXdYz9zQtNNIIYXykZDGl2O5YKhrn0OkZeTdmsuVQ5jDnBxgAn2\/1BWwV0zFtM1GcW+F327lnB\/ajUpqHDNBbjiPByJHZ49oOPADrWrc9jMbbg3aOBk4yepQrLbGWm2R0rANr50jh9Jx4n89S8u1mpbxAIqjbaWnLXsOCN2FGTTduBZShOEHK15PNlgiybJr1pd4FYX3G2j96wZfGPXw9Zx2rRW+5UlzgM1JMJGg4cOBaeohccWs+BOnWU3heT5MlIiKJcEREBmLYOW13dJuiOIMAO\/wD2\/cfFNZc99rgx+0qhx4dA96WbLNa3dh6Wh2fD701T\/jmn\/wDs\/aYr15107Hmv6eX6v7GnREVB6QREQHCt\/uNR\/Kd7FS6J\/wAus\/mvVvdJRDaquU\/QgefqlVmjojFpuAnHPc531iPcpryMzS+oj0fYvURFA0hERAV1\/l5Cw1z849C5oPeMe9ZDSNIbjc4Hyg8lbo8tBG4uLiQfMn\/yFodaT8jpyVmcGZ7WDxz7k0ZSNptPRSbOHzuc927fxwPIeaui8NNs86pHxNrjHglf3\/4X6IipPRPCARgjIKzdy03NT1RuVik5CpBy6AEBj+vsHdw7lpUUoycdCupSjUVpFJZNQtuD3UdawU1fGSHxHcHd2fYrtU9707T3fE7HGnrI\/mTM7OGfzkKHaNQvgn+Sr36GsYdlsrvmyDo39fb096k4qSvEpjUlTeCr+z+fU0iIirNRl5XCh+EGN7tza2DZyT04wPNo8V962ie2gpa6P59LOHdwP4gLrq6hnlo4bhSH9YoX8oMDeW7s+GAfFTWPh1Dp8luA2qiIPTsO\/A+xXX0kYHC\/iUuea\/OpPhmZUQRzxnLJGhzT1gjIXRZ\/R9VI+3S0E59NQyGJwPEDo8w4epaBVyVnY10p+JBSCIiiWFHrCoMGnKgA4Mpawes7\/IFWFppxS2mkgxgshaD343+apNQO+VNQW+zszsxuE8pxx7Orhnj1+o6dTeUUjNT3q0pcsu7CIigaQiIgMxrf01LQUmf21SOHHhj7S0NJTR0VJFSxZ2IWBjc8TgcT2rPai\/WNTWSm47MhkI9YP2StOrJeVIy0knWnLovYIiKs1BERAFAu1npLxTGKpjG0BzJAOcw9h9ynouptZojKKkrSWRGt1K+ioIaaSodUOjbgyOGC788EUlFzU6kkrI8IBGCMgrIxzTaRur4ZW5tNS8ujdx5Mno\/DqHeteo9bRU9wpX01TGHxvG8dXaO1SjK2T0Kq1Nzs4uzWhn2ubbdbh7HD4tdIsgg83a9\/D661Cxs9julmlimgjF2pqd23DHITtwn+EA7+jhnhwCl\/pxTQnZrbdV07+luyDv8AXhWSi5Ww5malWVLEqm7nf8empp1Cut0p7RROqag7uDWji89QVIdbwzgMt1uqqiYnAY4BvsyV7TWKvutwZcb65gawER0jd7Wjt9\/X5KKhbORZLaMatRzfsjrpWgqMT3evaBU1hy3cBhhwejr3buwLRIihJ3dy+lTVOKigiIuFgREQGZnxP8IVOHcIKYkDt533rTKjFsqv0xNx2AKYU+ztbQyTwxjirxTm9DPQi1ivxbCIigaAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/9k=",
    "razonSocial": "NORACID SA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTECIÓN CORRECTIVA, CAMBIO REPUESTOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:14",
    "ubicacionGPS": "LatLng(lat: -23.1022032, lng: -70.4440657)",
    "horaLlegada": "08:49",
    "horaDespacho": "12:58",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 06/05/2026 13:14:29
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-2NydFt0IWGl0YkAQkm9pOs2VM-RfgkJHLAp6xwZMD_o4sXKMWBR
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76858530",
    "serieinterna": "TO2386",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": " serv Repetido\nOk",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12474",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABxAKMDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABEEAABAwMBAwgECgcJAAAAAAABAAIDBAURBhIhMRMiQVFhcZGhI4GxwQcUFTJCosLR4fAWJDNDYnOSJjQ1NkRSU3SC\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgECAwYFAwUBAAAAAAAAAAECAxESITEEIkFRccETMmGh0TSx8HKBkcLh8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBEXjnBrS5xAAGST0ID5lljghfNK8MjYC5zjwAWettzuF9vHxilJgtlOSDtN3zH8+G5RK2efV1w+IUZLLbA4GacfvD2e7xWppaaGjpo6aBmxFGMNCssorPUyKUq0917q938HZERVmsIiIAiLP3u\/Tx1TbVaWCWvk4niIxjt3Z6V1RbdkV1KkacbyLqeqpqYZqKiKEH\/keG+1ewVVPVNLqeeOYDiY3h2PBZ+j0dTv8AT3ieSuqHDnZkIaO7pP53LhdtO\/JEfypYy+GWn5zotouDm9PHzCnhi8rlDq1ksbjl1zNYii22uiuVvhq4vmyNyR1HpHipSrasak1JXQREQ6EREARFQasramlhooqSd0Mk9QGlzPnY\/JHkuxV3YrqVFTg5Mv0RFwsPHODWlziAAMknoWUq6up1VWOt9veY7dGfT1A+n2Bfd8r6i8VztP2w4P8AqZc7mtHEezPgr+22+G10MdJAOawb3Y3uPSSrFuK\/EySbrycF5Vr6+nyfVFRU9vpWU1NGGRsG4dfae1SERVmpJJWQREQ6EREBV6gu7LNbHz8ZX8yIfxY49wUfTVnfQ076ys2nV9VzpS45LRnOPefwUGZrb9rJsJIdTWwbTv4n7t3jj+krVKx7sbGSC8Wo5vRZLu+wXhAIwRkFeoqzWZXTRNpvdfY5JMsB5SAHpGM+OCPArVLMaiHxDUVpujdwc\/kZTwGM\/c53gtOrJ52lzMuz7uKnyfs80ERFWagiIgCy+piZ9Q2SlA3Cbbd2jab7gVqFmJP1v4Q4gN4o6bJA6Mg8f6x5KynrczbTnBR5tfc06o9SXl9FE2ho9t9wqRiJrBvaCcZ9qnXe6wWigfUzOG1giNmd73dAVVpu1TSSm+XPLqyfJY1wxybeHDo3eS5FJLExWm5PwoavX0XzyJ1gsrLRRAO51VKA6eQnJLuruCtURRbbd2XwhGEVGOgREXCQREQEC53entb6dszXudUP2GNZvJ4feF3r6ttDQT1TuETC7hnJ6Fn7lmv1xb6X6FKzlTnr47vBq763nMWnnMB\/bStYfN32VYoq6XMyOtJRqS4LT+PkaMpOStLqx49LWSF5JG\/AJA959a0K4UVO2kooadjQ1sTA3A7Au6jJ3bZdRhgpqIREUS0otY0nxmwSSNB26dwlaR2bj5EqztlUa62U9ScbUkYLtk5G10+eV8XlnKWWuZ1078d+yVB0g\/b0zS54t2x9YqesDNptHVfZ\/wCl2iIoGkIiIAstpsfGtSXmv3FofyTXdYz9zQtNNIIYXykZDGl2O5YKhrn0OkZeTdmsuVQ5jDnBxgAn2\/1BWwV0zFtM1GcW+F327lnB\/ajUpqHDNBbjiPByJHZ49oOPADrWrc9jMbbg3aOBk4yepQrLbGWm2R0rANr50jh9Jx4n89S8u1mpbxAIqjbaWnLXsOCN2FGTTduBZShOEHK15PNlgiybJr1pd4FYX3G2j96wZfGPXw9Zx2rRW+5UlzgM1JMJGg4cOBaeohccWs+BOnWU3heT5MlIiKJcEREBmLYOW13dJuiOIMAO\/wD2\/cfFNZc99rgx+0qhx4dA96WbLNa3dh6Wh2fD701T\/jmn\/wDs\/aYr15107Hmv6eX6v7GnREVB6QREQHCt\/uNR\/Kd7FS6J\/wAus\/mvVvdJRDaquU\/QgefqlVmjojFpuAnHPc531iPcpryMzS+oj0fYvURFA0hERAV1\/l5Cw1z849C5oPeMe9ZDSNIbjc4Hyg8lbo8tBG4uLiQfMn\/yFodaT8jpyVmcGZ7WDxz7k0ZSNptPRSbOHzuc927fxwPIeaui8NNs86pHxNrjHglf3\/4X6IipPRPCARgjIKzdy03NT1RuVik5CpBy6AEBj+vsHdw7lpUUoycdCupSjUVpFJZNQtuD3UdawU1fGSHxHcHd2fYrtU9707T3fE7HGnrI\/mTM7OGfzkKHaNQvgn+Sr36GsYdlsrvmyDo39fb096k4qSvEpjUlTeCr+z+fU0iIirNRl5XCh+EGN7tza2DZyT04wPNo8V962ie2gpa6P59LOHdwP4gLrq6hnlo4bhSH9YoX8oMDeW7s+GAfFTWPh1Dp8luA2qiIPTsO\/A+xXX0kYHC\/iUuea\/OpPhmZUQRzxnLJGhzT1gjIXRZ\/R9VI+3S0E59NQyGJwPEDo8w4epaBVyVnY10p+JBSCIiiWFHrCoMGnKgA4Mpawes7\/IFWFppxS2mkgxgshaD343+apNQO+VNQW+zszsxuE8pxx7Orhnj1+o6dTeUUjNT3q0pcsu7CIigaQiIgMxrf01LQUmf21SOHHhj7S0NJTR0VJFSxZ2IWBjc8TgcT2rPai\/WNTWSm47MhkI9YP2StOrJeVIy0knWnLovYIiKs1BERAFAu1npLxTGKpjG0BzJAOcw9h9ynouptZojKKkrSWRGt1K+ioIaaSodUOjbgyOGC788EUlFzU6kkrI8IBGCMgrIxzTaRur4ZW5tNS8ujdx5Mno\/DqHeteo9bRU9wpX01TGHxvG8dXaO1SjK2T0Kq1Nzs4uzWhn2ubbdbh7HD4tdIsgg83a9\/D661Cxs9julmlimgjF2pqd23DHITtwn+EA7+jhnhwCl\/pxTQnZrbdV07+luyDv8AXhWSi5Ww5malWVLEqm7nf8empp1Cut0p7RROqag7uDWji89QVIdbwzgMt1uqqiYnAY4BvsyV7TWKvutwZcb65gawER0jd7Wjt9\/X5KKhbORZLaMatRzfsjrpWgqMT3evaBU1hy3cBhhwejr3buwLRIihJ3dy+lTVOKigiIuFgREQGZnxP8IVOHcIKYkDt533rTKjFsqv0xNx2AKYU+ztbQyTwxjirxTm9DPQi1ivxbCIigaAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/9k=",
    "razonSocial": "NORACID SA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTECIÓN CORRECTIVA, CAMBIO REPUESTOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:14",
    "ubicacionGPS": "LatLng(lat: -23.1022032, lng: -70.4440657)",
    "horaLlegada": "08:49",
    "horaDespacho": "12:58",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


06/05/2026 13:14:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76858530

[06/05/2026 13:14: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('76858530', 'TO2386', 1, 21773342, 0, NOW(), 
				'12:58', '08:49', '13:14', 4, ' serv Repetido
Ok', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778087669.png', '', null, 'COMPLETADO','LatLng(lat: -23.1022032, lng: -70.4440657)' )
				
[06/05/2026 13:14:29] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200199

06/05/2026 13:14:29 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200199'                    
				WHERE idllamado = 12474			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


06/05/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 = 12474
                
06/05/2026 13:14:29 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12474			
				
06/05/2026 13:14:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


06/05/2026 13:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:14:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12474
            GROUP BY l.idllamado;
            
06/05/2026 13:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                
06/05/2026 13:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12474
                [06/05/2026 13:14: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;
                

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

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

06/05/2026 13:14:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:14:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                [06/05/2026 13:14: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;
                

06/05/2026 13:14:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                [06/05/2026 13:14: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;
                

06/05/2026 13:14:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13:14:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13:14:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:14:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:14:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:14:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:14:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:17:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 13:17:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        [06/05/2026 13:17: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;
                
[06/05/2026 13:17: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;
                
[06/05/2026 13:17: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;
                
[06/05/2026 13:17: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;
                

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

06/05/2026 13:17:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13:17:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13:17:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13:17:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:17:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:17:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:17:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12475
                
06/05/2026 13:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            [06/05/2026 13:17: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;
                

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

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

06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13:17:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:17:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                [06/05/2026 13:32:11] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13:32:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 13:32:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 13:32:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [06/05/2026 13:32:11] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

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

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

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

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

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

06/05/2026 13:32:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12455
                
06/05/2026 13: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 = 12455
                
06/05/2026 13: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 = 12455
                
06/05/2026 13: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 = 12455
                
06/05/2026 13: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 = 12455
                
06/05/2026 13: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 = 12455
                
06/05/2026 13:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 13:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 13:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 13:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [06/05/2026 13:32:40] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 13: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 = 12455
                
06/05/2026 13:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12455
                
06/05/2026 13: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 = 12455
                [06/05/2026 13:32:40] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

06/05/2026 13: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 = 12455
                
06/05/2026 13:32:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12455
                
06/05/2026 13: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 = 12455
                
06/05/2026 13:32:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 13:32:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 13:32:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 13:32:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 13:32:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                [06/05/2026 13:32:55] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13:32:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 13:32:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
06/05/2026 13:32:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [06/05/2026 13:32:55] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13: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 = 12455
                
06/05/2026 13: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 = 12455
                
06/05/2026 13:32:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [06/05/2026 13:32:55] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 13: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 = 12455
                
06/05/2026 13: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 = 12455
                
06/05/2026 13: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 = 12455
                
06/05/2026 13: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 = 12455
                
06/05/2026 13: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 = 12455
                
06/05/2026 13: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 = 12455
                [06/05/2026 13:32:56] 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;
                

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

06/05/2026 13: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 = 12455
                [06/05/2026 13:32:56] 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;
                

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

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

06/05/2026 13:33:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13:33:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13:33:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13:33:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13:33:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13:33:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:33:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13:33:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                [06/05/2026 13:33:28] 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;
                

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

06/05/2026 13: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 = 12455
                
06/05/2026 13: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 = 12455
                [06/05/2026 13:33:28] 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;
                

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

06/05/2026 13: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 = 12455
                [06/05/2026 13:33: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;
                

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

06/05/2026 13: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 = 12455
                
06/05/2026 13: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 = 12455
                
06/05/2026 13: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 = 12455
                
06/05/2026 13:33:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 13:33:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 13:33:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 13:33:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
06/05/2026 13:33:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:33:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:33:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
06/05/2026 13:33:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [06/05/2026 13:33: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;
                

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

06/05/2026 13: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 = 12457
                
06/05/2026 13: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 = 12457
                [06/05/2026 13:33: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;
                

06/05/2026 13: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 = 12457
                
06/05/2026 13: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 = 12457
                
06/05/2026 13:33:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:33:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:33:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:33:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
06/05/2026 13:33:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13:33:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13:34:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:34:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:34:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13:34:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13:34:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13:34:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:34:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:34:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13:34:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:34:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13:34:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:34:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:37:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 13:37:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        [06/05/2026 13:37: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;
                
[06/05/2026 13:37: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;
                

06/05/2026 13:37:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 13:37:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 13:37:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 13:37:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 13:37:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 13:37:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 13: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 = 12465
                
06/05/2026 13:37:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 13:37: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 13: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 = 12465
                
06/05/2026 13: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 = 12465
                
06/05/2026 13:37:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 13:37: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 13: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 = 12465
                
06/05/2026 13: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 = 12465
                
06/05/2026 13:37:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 13:37:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 13: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 = 12465
                
06/05/2026 13:37:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 13:37:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 13: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 = 12465
                
06/05/2026 13: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 = 12465
                
06/05/2026 13: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 = 12465
                
06/05/2026 13: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 = 12465
                
06/05/2026 13:38:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:38:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13:38:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13: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 = 12475
                
06/05/2026 13:39:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:39:16 - logentry: =========================================
FECHA: 06/05/2026 13:39:16
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-8bCdnTkZs0-amX77kFecTxtzw9jOQ63RBVG-U8Tc+2o6QS3tpcV
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3130",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "561",
    "contadorColor": "1418",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\najustes varios, pruebas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12475",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACnALwDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABAEAABAwMCAgcFBQYEBwAAAAABAAIDBAURBiESMRNBUWGBkaEUInGxwRUjMkLRFiQ0YuHwJTOSwgc3Q1J0grL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQIEBAMHBQEAAAAAAAAAAQIDERIhMUEEIlFxE7HRFCMyYYGR8CQzcqHhQv\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAiIgCIiALXNNHTwvmmeGRsGXOcdgFsVM1TdjXzSW2neRSUw4qyQDrB2bn44HxPcpQjidimvWVKGLfY7rDqKrvN8qYWtjFExpcw8J4sZwN+\/mrKq1oi2+yWp1W9uJKo5G\/wCQcvqrKu1LYrIhwuN0k5vN5hERQNIREQBERAEREAREQBERAEREAREQBERAERYSyshifLI4NYxpc5x6gOZQERqW7Pt9G2npcmtqj0cIbjIJOM\/p3qtz2gtnorBE8meoInrpN8+fYAXfErvtsjblcqrU1aOGlpQWwDPIAc8Eb8\/Mrq0lDJVvq75UAdJWPIZ\/K0Hly7gPBaFyL81PLl7+avvp\/Fav6+RYoomQxMijaGsY0Na0dQHILNEWc9QIiIDFzmsYXuOGtGSewKAsepnXi7VFJ7OGRxsL2OD85AcB659Fu1dVmk07PwnDpsRDfHPn6ZUVoCiLaeqrXZxI4Rt8NyfUeStjFYHJmKpVn7RGnHuy4IiKo2hERAEREAREQBERAEREAREQBVvVNXJVSU9hpHffVbh0hG\/Cznv19WfgFP1NRHSU0tTM7hjiaXOPcFUbVVGOnr9VV7ffkzHTsySOeMDPfgeBVkFuZOJnl4d9de2\/oZ3mPpTSaTtnC0AB0zt8NA97f\/6588K101PFSU0dPC3hjjaGtHcFB6Ut7xBJd6sZq64l+exhOQPHn8MKwpN7HeHhl4j30+S2QREVZqCIiApWvKl01TR26Pd34yM8yThv181abVQNtlsgo2kHo2+8R1u5k+arNqh+3tXVV0dh1LSuxGepxGzceXErkrZuyUTFw0cdSdZ75LsgiIqjaEREARcdXdaChk6Oqq44n4zwuO+O3C0t1FZncrjB4uwu4X0K3UgnZtEki5Y7nb5f8uupn4\/7ZWn6roa5r2hzHBzTyIOQVyxNST0ZkiIh0IiIAiLxzg1pc4gADJJ6kBWtXzPqn0dkgkDZKuQF\/c0HbPdnf\/1XHJFHfbtDZaUEWy3AdI5pHvOG3j2eZUVLdJKu7VdbTCR9XVHoaRgB91h2Lh4DHiexXWxWiOzW1lOMGV3vSv7XfoFofJFHlQ\/UVG9t+y0X11ZItaGtDWgAAYAHUvURZz1QiIgCr+r7ubdazBE8CepBYO0N6zz9VPucGtLnEAAZJPUvnTpH6s1W1pc72bj91uccMY5\/An6q2nG7u9EY+LquMMEdZZIt+l6H2CwU7C3D5R0r9sbu\/pgeCl14AAMAYAXqrbu7mmEFCKitgiIuEwiIgKrfNN1k1zdcaNsFXxjBp6gbD4HI\/sqPFTaKY9FeNNvpHH87AS09nZ38s8leli9jJGlj2hzTzDhkFWKo7WZjnwixOUXr1V0VGC36Mr+HoZWxOP5XTOac9nvFdP7D2\/aWlraqIkbOa8EY8ApKq0zZqzJfQxscfzRe58lGu0c6lcZLVdKildnIa45Hpj6qePpJlToNfFTT7Zfn3H7MXWnH7nqGoA6mSAkfP6LwQaypjhtVS1Q57gD6BBLq627PhguMY24mkB3d2H0Kzh1rStk6O4UdRRP\/AJ2lwG+\/UD6JzfJnPcrJuUPq\/wDUY\/bmo6TetsPSAczASflxLOLXFuLiyqgqKZ45hzM\/Lf0UxR3e3V4HstZFIT+Xiw7yO66JoIahnBNEyVvY9oI9VBtbovUKlrwqXXzs\/Kxx01+tVZgQ18JJ5Nc7hJ8Dgrh1jcBQ2N8Tc9JVHoh3DrPlt4r25acsDaeSpqKZsDIwXOfG4tx4Db0VLtVsmvVwdBRSPjihBkjM3vBozsD1b9wU4Ri+boUcRWrRXhtK8tLehZtG6f8AZYhcquItnfkRNd+VpHP4nfw+Ktaq5q9XW\/8AzqSCvZy4o+fpj5LOLWtKx4juFFU0b+sObkD5H0UZRlJ31LKNSjRgoO67q3+FlRcNLerZW\/w9dC84zw8WD5Hddyraa1NkZRkrp3CIsZJGRRukkdwsYC5x7AFwkV3Wl29itfscbsTVXunuZ1+fLxKw0VZjRUbq+ZuJqgAMzjZnPb47HwCgqOnm1fqOSomaRTNOX4wC1m\/C34nHzX0NrQ1oa0AADAA6ldPkjhPOoLx6rrPRZL1PURFSeiEREAREQBERAEREAWuWGKojMc0TJGHm17QR5FbEQakHV6Ps1UeIU7oHdZhdjPgchTQDIo8Z4WMHMnkB3ryWWOGJ0srwxjBlznHAAVTqKyq1dWGit7nwW2M\/fTYwX939PEqxXlq8jNN06Pwx5nstznuVe\/UNRUuDnNs9A0veW5HTOHIeJ8hupLQ9CaazOqXNIfUvzuPyjYfXzXPqSCOloKHT9vZwe0ygEAZJAPM9u+\/grTBCymp44IxhkTAxvwAwFKUuSyM9Gk3XcpZteb9EbFrlhiqIzHNEyRh5te0EeRWxFSejqQtXpKzVeT7L0Lj+aFxbjw5ei4f2Zu1Cc2u9yNbzEc2SM+o9FaEU1ORnlw1Ju9rP5ZeRVvtfU1t\/j7U2rjG5kg548M\/IKOvmrmXG3+w08L6eSV3DMZgMNb\/flgqXvN\/kkqPsmy\/fVkmzpGnLYu3ftHp8VC6XskFZeKx9SPaYabLMvbtI85BO\/wACe3cFXRStikjBVlUcvCpyunln6ln09BbaW3sgoJ4ZjgGR0bw4udjcnzUsq9VaLtcr+kpjNSSZyDE\/YeB+i5\/sfUtu2oLu2pjbyZON8dm+fmFU1GWdzZGdSmsLhkunoWlFV\/2ivdBgXOyPcORkgORnwyPVdVJrOzVOA+Z9O4jlKz6jIXHTkTXE0m7N2fzy8yeRaoKmnqmcdPNHK3GcscCtqgXpp5oIiIdCIiAIiIAtVTUwUcDp6iVsUbBkuccBcV5vlJZafpJzxSO\/BE0+879B3qFp7RcNR1DK2+ZhpW7xUrSRn49nz+Cmo5XehnqVrPBBXl5dzB3tmsqnDTJS2iN2CeTpT\/fgFaaSkgoaZlNTRiOJgwAFnFFHBE2KFjY42DDWtGAAsiQBknACSlfJaHaVLBzSzk9X+bFYbm46+cfxRW+Hbs4iPnl3orQqxo396dcrkQC6eoIDsdQ3\/wBwVnSprboR4bODn1bYWEs0UEZkmkZGwc3PcAB4qOvV\/pLNEOk+9nd+CFp3d8ewKJo7JX3qq9vvziyPBDKRpIAB7ez5oo5Xeh2da0sEFd+Xck6vVFmpOIPrWSOAzwxAvz8CNvVRRqL5qWUspmvt1v5OkcPfeO7t8Nu9TlNYrVSFphoYQW\/hJbxEd+T196kF3FFaIi6dWp+47LovUr1TSUWlNP1MtIw9M5vAJTu9zjsN+oDnju7V06VoPYLDA1wIfL968HtPL0wuDUgF1vVusoyWcXTTcJ5N38ts+fnZgABgDACSbw57nKUE6rcVlHJebPVrqJ46anknlcGsjaXOJOFsVZ1hUvnjp7LTYdUVjwSCcYaDt5kehUYq7sXVqnhwcjBmpL1Vjp6GyGSmcT0b3HcjON1z1VRda3+J0pDKc5y4b+atdLTR0dLFTRDDImBo8FuUsaTyRT7POS5pv+vQ+azWW6dIJaOz1FG8H\/pyk\/Pf1UhS1Os6VvD0E0zeyZgd68\/VXpFJ1b6oqjwKi7xm12KozVl0pWOdc7HMxoH42Mc0Z8f16lYbdWtuNBFVsjfG2UZDX4z6LqRVyaeiNVOnOL5pXXYIiKJcFDX2+\/ZpZSUkfT18+0cQGcd5UyucUNKK01vQt9oLeHpOvHYuxaTzK6inKNouxDWjT0oqjdLy8VFa7k04LY\/6+g9VYURHJvUU6caatELluUvQ2urlxngge7GM8mldS1zQx1EEkEreKORpY8ZxkEYKLUnJNppEJo1jYdMwyEgB7nvJPVhxH0Wm46ndPOLfYWiqqnHBkAyxo6yDyPx5LEaGoyeF9bVGIHLY2uAA7t8qdoLZR22Lo6OnZEOsgbu+J5lWNxu3qYqcK+BU\/hS31f06EXZtNNo5\/tC4Smqr3nJe45DD3d\/f5YU8iKtybd2aqdONNWiERR9+qfY7FWTA4IiLWnsJ2HqUSu7EpSUYuT2IjTv+J325Xh3vMDuhhJ3wB2dXIDz87OobSlN7NpylBB4pAZDnvOR6YUypTfMVcPFqkm9Xn9wqtaP8V1fX3E7xUo6GLI6+WR5O\/wBSnbrWi32upqzzjYS3lz5D1wo3RtGaWwskeMSVLjKSeZHIegz4rscotkKnPVjDpn6E8iIqzUEREAREQBERAEREAREQBERAEREAREQBVrW8rvsqCkYPeqZ2t35YH9cKyqsaizUamslLzDZOkI7dwf8Aap0\/iM3FftNdbL7sscELaenjhZ+GNgaNsbAYWxF4SAMk4AUDToVnV8hq5KGyxPAkqpQ5\/c0bA\/PyVkiiZDEyKNoaxjQ1rR1Acgqxp1jbvfq6+Oy5jHdFT8Q5DHPu2x\/qKtSsnlaJl4fncqvXTsgiIqzUEREAREQBERAEREAREQBERAEREAREQBVivAP\/ABDtuRn92PykVnVYrv8AmJbf\/GPykVkN+xm4nSP8l5lnUFqu6i32t0EZJqaodGxrT7wB5n6eKla2tp7fSvqamQMjYNz29w71XrFT1N6uzr9XRlkbdqSMnYDffH17VyC\/6egrzb93DV\/0upM2O3fZVogpHbvaOKQ\/zHc\/p4KQRFFu7uXxioxUVsERFwkEREAREQBERAEREAREQBERAEREAREQBQl+tFVVVFPcbdI1lbTbN4gAHA9RPnt3lEXU7O5CpBTjhZwtsl2vlUya\/PZFTsHu0sJ2zy33PnknfqVna1rGBjGhrWjAAGAAiLspNkadKNO9s29zJERRLQiIgCIiAIiID\/\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "LUIS OSORIO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "ATASCO DE HOJAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56990935642",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:39",
    "ubicacionGPS": "LatLng(lat: -23.1022173, lng: -70.4441796)",
    "horaLlegada": "10:16",
    "horaDespacho": "13:14",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 06/05/2026 13:39:16
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-8bCdnTkZs0-amX77kFecTxtzw9jOQ63RBVG-U8Tc+2o6QS3tpcV
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3130",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "561",
    "contadorColor": "1418",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\najustes varios, pruebas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12475",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACnALwDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABAEAABAwMCAgcFBQYEBwAAAAABAAIDBAURBiESMRNBUWGBkaEUInGxwRUjMkLRFiQ0YuHwJTOSwgc3Q1J0grL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQIEBAMHBQEAAAAAAAAAAQIDERIhMUEEIlFxE7HRFCMyYYGR8CQzcqHhQv\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAiIgCIiALXNNHTwvmmeGRsGXOcdgFsVM1TdjXzSW2neRSUw4qyQDrB2bn44HxPcpQjidimvWVKGLfY7rDqKrvN8qYWtjFExpcw8J4sZwN+\/mrKq1oi2+yWp1W9uJKo5G\/wCQcvqrKu1LYrIhwuN0k5vN5hERQNIREQBERAEREAREQBERAEREAREQBERAERYSyshifLI4NYxpc5x6gOZQERqW7Pt9G2npcmtqj0cIbjIJOM\/p3qtz2gtnorBE8meoInrpN8+fYAXfErvtsjblcqrU1aOGlpQWwDPIAc8Eb8\/Mrq0lDJVvq75UAdJWPIZ\/K0Hly7gPBaFyL81PLl7+avvp\/Fav6+RYoomQxMijaGsY0Na0dQHILNEWc9QIiIDFzmsYXuOGtGSewKAsepnXi7VFJ7OGRxsL2OD85AcB659Fu1dVmk07PwnDpsRDfHPn6ZUVoCiLaeqrXZxI4Rt8NyfUeStjFYHJmKpVn7RGnHuy4IiKo2hERAEREAREQBERAEREAREQBVvVNXJVSU9hpHffVbh0hG\/Cznv19WfgFP1NRHSU0tTM7hjiaXOPcFUbVVGOnr9VV7ffkzHTsySOeMDPfgeBVkFuZOJnl4d9de2\/oZ3mPpTSaTtnC0AB0zt8NA97f\/6588K101PFSU0dPC3hjjaGtHcFB6Ut7xBJd6sZq64l+exhOQPHn8MKwpN7HeHhl4j30+S2QREVZqCIiApWvKl01TR26Pd34yM8yThv181abVQNtlsgo2kHo2+8R1u5k+arNqh+3tXVV0dh1LSuxGepxGzceXErkrZuyUTFw0cdSdZ75LsgiIqjaEREARcdXdaChk6Oqq44n4zwuO+O3C0t1FZncrjB4uwu4X0K3UgnZtEki5Y7nb5f8uupn4\/7ZWn6roa5r2hzHBzTyIOQVyxNST0ZkiIh0IiIAiLxzg1pc4gADJJ6kBWtXzPqn0dkgkDZKuQF\/c0HbPdnf\/1XHJFHfbtDZaUEWy3AdI5pHvOG3j2eZUVLdJKu7VdbTCR9XVHoaRgB91h2Lh4DHiexXWxWiOzW1lOMGV3vSv7XfoFofJFHlQ\/UVG9t+y0X11ZItaGtDWgAAYAHUvURZz1QiIgCr+r7ubdazBE8CepBYO0N6zz9VPucGtLnEAAZJPUvnTpH6s1W1pc72bj91uccMY5\/An6q2nG7u9EY+LquMMEdZZIt+l6H2CwU7C3D5R0r9sbu\/pgeCl14AAMAYAXqrbu7mmEFCKitgiIuEwiIgKrfNN1k1zdcaNsFXxjBp6gbD4HI\/sqPFTaKY9FeNNvpHH87AS09nZ38s8leli9jJGlj2hzTzDhkFWKo7WZjnwixOUXr1V0VGC36Mr+HoZWxOP5XTOac9nvFdP7D2\/aWlraqIkbOa8EY8ApKq0zZqzJfQxscfzRe58lGu0c6lcZLVdKildnIa45Hpj6qePpJlToNfFTT7Zfn3H7MXWnH7nqGoA6mSAkfP6LwQaypjhtVS1Q57gD6BBLq627PhguMY24mkB3d2H0Kzh1rStk6O4UdRRP\/AJ2lwG+\/UD6JzfJnPcrJuUPq\/wDUY\/bmo6TetsPSAczASflxLOLXFuLiyqgqKZ45hzM\/Lf0UxR3e3V4HstZFIT+Xiw7yO66JoIahnBNEyVvY9oI9VBtbovUKlrwqXXzs\/Kxx01+tVZgQ18JJ5Nc7hJ8Dgrh1jcBQ2N8Tc9JVHoh3DrPlt4r25acsDaeSpqKZsDIwXOfG4tx4Db0VLtVsmvVwdBRSPjihBkjM3vBozsD1b9wU4Ri+boUcRWrRXhtK8tLehZtG6f8AZYhcquItnfkRNd+VpHP4nfw+Ktaq5q9XW\/8AzqSCvZy4o+fpj5LOLWtKx4juFFU0b+sObkD5H0UZRlJ31LKNSjRgoO67q3+FlRcNLerZW\/w9dC84zw8WD5Hddyraa1NkZRkrp3CIsZJGRRukkdwsYC5x7AFwkV3Wl29itfscbsTVXunuZ1+fLxKw0VZjRUbq+ZuJqgAMzjZnPb47HwCgqOnm1fqOSomaRTNOX4wC1m\/C34nHzX0NrQ1oa0AADAA6ldPkjhPOoLx6rrPRZL1PURFSeiEREAREQBERAEREAWuWGKojMc0TJGHm17QR5FbEQakHV6Ps1UeIU7oHdZhdjPgchTQDIo8Z4WMHMnkB3ryWWOGJ0srwxjBlznHAAVTqKyq1dWGit7nwW2M\/fTYwX939PEqxXlq8jNN06Pwx5nstznuVe\/UNRUuDnNs9A0veW5HTOHIeJ8hupLQ9CaazOqXNIfUvzuPyjYfXzXPqSCOloKHT9vZwe0ygEAZJAPM9u+\/grTBCymp44IxhkTAxvwAwFKUuSyM9Gk3XcpZteb9EbFrlhiqIzHNEyRh5te0EeRWxFSejqQtXpKzVeT7L0Lj+aFxbjw5ei4f2Zu1Cc2u9yNbzEc2SM+o9FaEU1ORnlw1Ju9rP5ZeRVvtfU1t\/j7U2rjG5kg548M\/IKOvmrmXG3+w08L6eSV3DMZgMNb\/flgqXvN\/kkqPsmy\/fVkmzpGnLYu3ftHp8VC6XskFZeKx9SPaYabLMvbtI85BO\/wACe3cFXRStikjBVlUcvCpyunln6ln09BbaW3sgoJ4ZjgGR0bw4udjcnzUsq9VaLtcr+kpjNSSZyDE\/YeB+i5\/sfUtu2oLu2pjbyZON8dm+fmFU1GWdzZGdSmsLhkunoWlFV\/2ivdBgXOyPcORkgORnwyPVdVJrOzVOA+Z9O4jlKz6jIXHTkTXE0m7N2fzy8yeRaoKmnqmcdPNHK3GcscCtqgXpp5oIiIdCIiAIiIAtVTUwUcDp6iVsUbBkuccBcV5vlJZafpJzxSO\/BE0+879B3qFp7RcNR1DK2+ZhpW7xUrSRn49nz+Cmo5XehnqVrPBBXl5dzB3tmsqnDTJS2iN2CeTpT\/fgFaaSkgoaZlNTRiOJgwAFnFFHBE2KFjY42DDWtGAAsiQBknACSlfJaHaVLBzSzk9X+bFYbm46+cfxRW+Hbs4iPnl3orQqxo396dcrkQC6eoIDsdQ3\/wBwVnSprboR4bODn1bYWEs0UEZkmkZGwc3PcAB4qOvV\/pLNEOk+9nd+CFp3d8ewKJo7JX3qq9vvziyPBDKRpIAB7ez5oo5Xeh2da0sEFd+Xck6vVFmpOIPrWSOAzwxAvz8CNvVRRqL5qWUspmvt1v5OkcPfeO7t8Nu9TlNYrVSFphoYQW\/hJbxEd+T196kF3FFaIi6dWp+47LovUr1TSUWlNP1MtIw9M5vAJTu9zjsN+oDnju7V06VoPYLDA1wIfL968HtPL0wuDUgF1vVusoyWcXTTcJ5N38ts+fnZgABgDACSbw57nKUE6rcVlHJebPVrqJ46anknlcGsjaXOJOFsVZ1hUvnjp7LTYdUVjwSCcYaDt5kehUYq7sXVqnhwcjBmpL1Vjp6GyGSmcT0b3HcjON1z1VRda3+J0pDKc5y4b+atdLTR0dLFTRDDImBo8FuUsaTyRT7POS5pv+vQ+azWW6dIJaOz1FG8H\/pyk\/Pf1UhS1Os6VvD0E0zeyZgd68\/VXpFJ1b6oqjwKi7xm12KozVl0pWOdc7HMxoH42Mc0Z8f16lYbdWtuNBFVsjfG2UZDX4z6LqRVyaeiNVOnOL5pXXYIiKJcFDX2+\/ZpZSUkfT18+0cQGcd5UyucUNKK01vQt9oLeHpOvHYuxaTzK6inKNouxDWjT0oqjdLy8VFa7k04LY\/6+g9VYURHJvUU6caatELluUvQ2urlxngge7GM8mldS1zQx1EEkEreKORpY8ZxkEYKLUnJNppEJo1jYdMwyEgB7nvJPVhxH0Wm46ndPOLfYWiqqnHBkAyxo6yDyPx5LEaGoyeF9bVGIHLY2uAA7t8qdoLZR22Lo6OnZEOsgbu+J5lWNxu3qYqcK+BU\/hS31f06EXZtNNo5\/tC4Smqr3nJe45DD3d\/f5YU8iKtybd2aqdONNWiERR9+qfY7FWTA4IiLWnsJ2HqUSu7EpSUYuT2IjTv+J325Xh3vMDuhhJ3wB2dXIDz87OobSlN7NpylBB4pAZDnvOR6YUypTfMVcPFqkm9Xn9wqtaP8V1fX3E7xUo6GLI6+WR5O\/wBSnbrWi32upqzzjYS3lz5D1wo3RtGaWwskeMSVLjKSeZHIegz4rscotkKnPVjDpn6E8iIqzUEREAREQBERAEREAREQBERAEREAREQBVrW8rvsqCkYPeqZ2t35YH9cKyqsaizUamslLzDZOkI7dwf8Aap0\/iM3FftNdbL7sscELaenjhZ+GNgaNsbAYWxF4SAMk4AUDToVnV8hq5KGyxPAkqpQ5\/c0bA\/PyVkiiZDEyKNoaxjQ1rR1Acgqxp1jbvfq6+Oy5jHdFT8Q5DHPu2x\/qKtSsnlaJl4fncqvXTsgiIqzUEREAREQBERAEREAREQBERAEREAREQBVivAP\/ABDtuRn92PykVnVYrv8AmJbf\/GPykVkN+xm4nSP8l5lnUFqu6i32t0EZJqaodGxrT7wB5n6eKla2tp7fSvqamQMjYNz29w71XrFT1N6uzr9XRlkbdqSMnYDffH17VyC\/6egrzb93DV\/0upM2O3fZVogpHbvaOKQ\/zHc\/p4KQRFFu7uXxioxUVsERFwkEREAREQBERAEREAREQBERAEREAREQBQl+tFVVVFPcbdI1lbTbN4gAHA9RPnt3lEXU7O5CpBTjhZwtsl2vlUya\/PZFTsHu0sJ2zy33PnknfqVna1rGBjGhrWjAAGAAiLspNkadKNO9s29zJERRLQiIgCIiAIiID\/\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "LUIS OSORIO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "ATASCO DE HOJAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56990935642",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:39",
    "ubicacionGPS": "LatLng(lat: -23.1022173, lng: -70.4441796)",
    "horaLlegada": "10:16",
    "horaDespacho": "13:14",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


06/05/2026 13:39:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[06/05/2026 13:39:16] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69020400', 'EP3130', 1, 21773342, 561, NOW(), 
				'13:14', '10:16', '13:39', 3, 'Mantenimiento
ajustes varios, pruebas', -1, 
				'', '','1','1418',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778089156.png', '', null, 'COMPLETADO','LatLng(lat: -23.1022173, lng: -70.4441796)' )
				
[06/05/2026 13:39:16] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200200

06/05/2026 13:39:16 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200200'                    
				WHERE idllamado = 12475			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


06/05/2026 13:39:16 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12475			
				
06/05/2026 13:39:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


06/05/2026 13:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:39:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13:39:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:39:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:39:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:39:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:39:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:39:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13:39:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:39:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            [06/05/2026 13:39: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;
                

06/05/2026 13:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                [06/05/2026 13:39: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;
                

06/05/2026 13:39:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            
06/05/2026 13:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                [06/05/2026 13:39: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;
                

06/05/2026 13:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:39:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12475
            GROUP BY l.idllamado;
            [06/05/2026 13:39: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;
                

06/05/2026 13:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:39:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:39:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:39:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:39:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:39:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:39:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12475
                
06/05/2026 13:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 13:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 13:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 13:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                [06/05/2026 13:39: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;
                

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

06/05/2026 13:39:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 13:39:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 13:39:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 13:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 13:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                [06/05/2026 13:39: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;
                

06/05/2026 13:39:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 13:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 13:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 13:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 13:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                [06/05/2026 13:39: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;
                

06/05/2026 13:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 13:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 13:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 13:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 13:39:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 13:39:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                [06/05/2026 13:39: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;
                

06/05/2026 13:39:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 13:39:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 13:39:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            [06/05/2026 13:39: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;
                

06/05/2026 13:39:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                [06/05/2026 13:39: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;
                

06/05/2026 13:39:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                [06/05/2026 13:39: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;
                

06/05/2026 13:39:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 13:39:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 13:39:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 13:39:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 13:39:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 13:39:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 13:39:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 13:39:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 13:39:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 13:39:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 13:39:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 14: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 = 12465
                
06/05/2026 14:23:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 14:23:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14:23:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 14:23:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 14: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 = 12465
                
06/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14:23:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 14:23:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14:23:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 14:23:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14:23:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 14:23:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14:23:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 14:23:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:23:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:23:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 14:24:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 14:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 14:24:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 14:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14:24:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 14:24:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 14:24:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 14:24:33 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14:24:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 14:24:42 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 14:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 14:24:42 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 14:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14:27:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:27:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:29:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:29:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:29:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:29:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 14:29:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 14:29:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:29:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:29:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 14:29:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14:29:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 14: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 = 12465
                
06/05/2026 14:29:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 14: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 = 12465
                
06/05/2026 14: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 = 12465
                
06/05/2026 14:29:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:30:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:30:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 14:30:33 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 14:30:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:30:33 - logentry: =========================================
FECHA: 06/05/2026 14:30:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-UG.Ly3xCIIcvdam6GYODu-bBSSg1.pVa25oXg0hBjMBvMJfKHeT
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "TO3179",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "SQM sta Laura",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "Oficina supervision-P2",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "-Instalacion impresora\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12465",
    "observacion": "-Instalacion impresora\n-Uso de TP-link\n-Uso de cable de red",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACkAOkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABFEAABAwMCAwUFBgIHBgcAAAABAgMEAAURBiESMUETUWFxkSKBobHBFBUjMkLR4fAHFkNScoKiJCViktLxMzRTVbLC0\/\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgMECQQBBQAAAAAAAAABAgMREiExBEFRcRMiMmGBkaHB0RQzseHwI0JSYvH\/2gAMAwEAAhEDEQA\/AP2alKUApSlAKUpQClKUApSlAKUpQClKUApSlAKg3e7MWeCqS9ueSGwcFZ7hU6svdc3HWcCAd2Y6e2Wk8s7n6D1qUFd5lNebhDq6vJeJ8ss6ou7QlGa3AbcAKGgk8QHp18TR7+tVnSX+2ZuLCd1Ix7SR17j8T5VqqVLH3Ff02Xad+N\/4its99h3plS45KXEfnaX+YePiPGrKstqFhVmuse\/xU4RxBuUhI\/MD19\/LzAqfM1ZaYjSFB8vrWAUtsjiVv39BRwvnEQr4bxquzXqXVRpdxhQE8UqS2yOgUrc+6s4tzUt\/PC0391xFfqUcLI+fyFSWdJ2W2tmTOWXynBU5IXhIPl9DmmFLVjppz+3HLi8v2ePa0jKd7K2wpE5f\/AkpB+BPwrmZ+rZ5\/wBnt7MJs\/qdO49f2qLN1nGikRbJCQQDwhXBwpP+FI5\/ztVnpxi9lbsy7SFYdGEMK5p8cDYeXy6zaUVe3mZo1HVngxt8lZLxLeCiU3CaRNdQ7IA\/EWgYBPoKkUpVB6SVlYUpSh0UpSgFKUoBSlKAUpXN99qMyt59xLbaBlSlHAFA3Y6VUXfUkG0fhqUXpB5Mt7n3np86qnLzddQvLj2NH2eMk4XKXsT5d3z8qtbRpuFaT2ozIkn8zznPPXA6fPxqzCo9oydLOrlS04v24nGym\/SpiptyKY8dSCERuHffqeo9\/oKvaUqDd2aKcMCte\/MUpSuExSlc0SGHHVNIebU4j8yEqBKfMUFzpWYt\/wCJ\/SBcl9ERwkZ6bI\/jWnrFJu8Wzaqu0iYVFSgEoSgZJ5bd3ICrIJu9jJtMlFwctL+zNrVVdNR221Ah58LdH9k37Svf3e+qhKdQ6jKlKcNrgqOycYWofM\/AVb2zTlstYSppgOOjftXfaVnw7vdTDGOp3pKlT7asuL9kU7jd81Sns3G\/u23K3IUMrc+vyHnXmjIsVlyay8w39riO8JdI34d+WeXI93Sr+63mFZ2e0lOe0RlDad1K8h9a\/OpUyTer06qIksqmEI7NLmAobbE9eVWRTkmtEY67hRqRlfFL+eRrb1rSLD42IAEh8bcf6En6+6qGPar7qlwSZTqksk7OO7Jx\/wAKf586vrLoyLC4H5+JL434P0JPl19\/pWmAAGAMAVHHGGUS1bPVrvFXdlwXuVdp05b7QkKab7R7q84AVe7uq1pSqm282b4QjBWirIUpSuEhSlKAUpSgFKUoBSlVd8vjFljcSvxJC9mmhzUe8+FdSbdkRnOMI4pPI73S7RbRFL8peM\/kQPzLPcBWeZgXDVjwlXEri29Jy0wk4K\/E\/v6V3tVgkTZIut+V2zyhluOr8rfmPp671p6ndQ01MyhKvnPKPDjz+Dmww1GZQyw2lttAwlKRgCulKVWa0rClKUApSlAKxs982HXCZrpKY0tGFqIztgA+hANXF61JHtahHaQZMxf5WUb48\/251mr7abs9bF3e6vjtEEBMdPJtJOPLnj96upx47zz9rqXVoZuOfLmWj97uV+dMWwtKaYzhctYxjy7vn5VDtlrTbdZoiyVfa1LYK+0cTn2ued89xrRacuDNxszK2W0NFscC20DASodw7utVWoHUW\/VlquDquFvgUhSu4DOf\/nXU83FIhOCcY1pSvmuVuRqqyeoNZIiKXEtpDjw2U9zSg+Hefh51V33Vki6q+xW1LjbKjwkp\/O74bch4VHt+m7y2pElNrQ5yKUyCBjxKeIH3EV2NNLOZGttc6jwUPFn1aNNT7+59tmOrbZWcl1e63PLPz+dWl\/tcSwt2uREb4EsSRxqP5lZwdz\/lqbCul5h3aPAuzbBTJ\/Ipoj2AM9B3nFfWuE5sAVt7D6VbjzH1pik5pPQiqNONCUorrLW+vE0dK5x19pGaXv7SAd\/KulZz1k7ilKUOilKUApSlAKUpQClKq75e2bPGzjtJLmzLQ3Kj3nwrqTbsiM5xhHFLQ5X\/AFHHsjQQAHZSxlDeeXifD51mdLyVTNSJk3E9o88lRZU4k8x\/d6Dr6HlXCbAkJW22+UvXi5LypKiD2KD08CfgBiri6w2rbedPR2UhCEL4ARtn2hn1J+NaEopWWrPJlOpUqY5aRay5v8\/g11KUrMewKUpQClK4S5keBGXIkuhttA3J+Q7zQ42krs7KUEpKlEAAZJPSsvNv8y8SVW7TyTts7LVslI8O7z593fXFS7jrB4paK4dpScFR5u4P8+A8a08GBGt0ZMeK0G0JHTmfEnqassoa6mXFOvlHKPHe+XyQLLp2LZwXcl+Use28vn447q6aiY+06fmt4yQ0VAf4fa+lWdZy931bzptFnAkTHcpWpOClsdd+WflXI4pSuSqKnSpOOi0MvarsqwutSY4DzcpnDjHFuFgkD47+81Iv8G8yoP3vdFBtIUEtxxn8MHw6ch3k9eVfVmsbFysVwa4D94MOYTnpgbAeeCD7qt481WoNGS2nSVSWWylwdSpPtJPvx65rQ2k7o8unTcqeCTyabS3X3l1Z7fBgQW\/sLQSlxIVxndSsjO5qcpSUIK1qCUpGSScACsFY9QX94Jg29hiT2LQ4UuYHCkYHPI\/k1aqtGoL0tSbtLREinmyxg8X8+JNUyhZ9Zm+ltKlBKnB+WXmIK033V6rg37cWEjgbURso8vLmSe\/lUrWygnTjgIGVOIA9c\/SrDtrZYITbC3m47SBhIUrc\/U1ktSX9m\/JjwIDTi\/xxgrAAWrkAN\/HwqUU5STWiK6rjSoyjJ9aXubaCkogR0nOQ0kb8+Qr5l3CHBRxSpTTI7lKAJ8hzNZ9Nr1Rcxmdckwmz\/Zs\/mG\/Lb9zUiJoq1Me1I7WW51LisD0H8ahhitWXqpVkrQhbnl6HzI1rbkuBqG0\/MWTjDaMDnjrv8K5\/fOppX\/lbGGQer6uXrw1oY8SNERwRo7bKe5CAn5V2rmKK0RLoqsu1PyX\/AEzH2XWMrClzosUc+FIGR\/pPzr37t1ayT2N3juJ7nE\/uk\/OtNSmN8EPpl\/k\/NmYavd4tcpli9x2Sy8QkSEHHCfHGx5ctq09Zaer781ZFhsrWY8AlbykZwF92R5AetamuztkNnbvJXuk8vcUpXhIAyTgCqzSRbncWLVBXKkH2U7ADmonkKzluirDjup78eAgcTLZGeAdNj57DxzXqR\/W2\/lRwq1wDjGTh1R6\/D0869u7itRX9mzx1qMSMeKUpOcEg7j4YHiT3VclbLzPOqVMbx6pO0VxfHkjtpaK\/MkyL9NB7SQSllJ\/QjPTw5AeR76+tbsE2lqYglLsZ0KSoHGM7fPFaFppDLSGm0hKEJCUpHQDkKrdTMl\/TsxATxewFYz3EH6VFSvNMunRw7PKG+3qWLDvbR23cY40BWMY5iulVmnHu309BX3NBH\/L7P0qzqDVnY0QliipcRSlK4TIV1usa0Q1SJCvBCBzWe4Vn4dtn6mkpn3kFqGndmKCRxDoT+\/M+VXMuxtTbyxcJDpcQyjCWFjKQe8fxzUuNcYcx51mNIQ6tkgOBJzjP\/arE7LLUyyg6k7VHluXHn8HdCENoCG0hCUjASkYAr0kAZJwBXtZbVk1bk2NaEykRWXk8Uh1SwMJzy+B265FRjHE7FtWoqUMR7dLzJuspVqsauX\/jygcJQORwfr6VP03AtkKGoQHkSFhXC88BuVd3gPCqibMsdr03Ig22U0t1xGMpJUpZ2BJIqhjulK4ztiamCclsJeKEApJwOQ364znnVyjeNlkea6+CqpStJ927uRp9LE\/fd\/GdvtX\/ANl1yvDLun7yLzGSlUZ8cMhjIGdtyB15Z8\/Oodps2psvuB1MH7WrjecXgrXz5AcuZ7udWbGioynO2uUyROc68SiAfr8aNxUrtkoKpOkoxi0073eVszM6bu0a03CS8I7zy3E9mwhA3OTnB9B31ojJ1RekFMeOi2Mq\/W4Tx48+fwHnXP7MzY9bRUsNBuPLa4MDOArlt7wPWtbXJyV7pEtmoywuEpWs9F8meiaPhodEi4PPT3\/1F1Xsk+XM+81EYZauGtAiM2huLa0Y4W0hI4+7bxP+mrjUF1+6baXUbvuHgZTjOVHwr401a1Wy1pD28h78R0nmCeh8RUcTtdlrpQ6RU4LTN+xb0pSqjcKUpQCs9fb68H\/um0JLs5zZSk8mh+\/yqPdNQSLhN+6LCoKeVkLkZwEgc8H6+lWtksceyxilB7R9e7jxG6v2FWJKOcjJKo6zwU9N79ke2Sys2aMpCVl1508Trp5rP8k1Z0pUG23dmmEIwiox0FUGrJ7rUNu3RSTKnK4Bw5yE9Tt6evdV8SAMk4ArJ2X\/AH5qKTfHto0X8OPxbAePuBJ81VKC3vcUbRJ2VOOsvxvJk2Q1pTT7UWMAqSscLSSM8ayfaPjjPyFSNM2g2q28T28mRhx4nmD0SfLJ9TVdb0nUWpHLmscUKEezjgnIKxg55+\/07q1Vdk7K3mQoxU5Y9yyXyK5vNJfYcZX+VxJSfIjFdKVWbNTN6FdU5YFJPJt9SR5YB+prSVmdBJKbG9kEZkqIz\/hTWmqdTtszbL9iPIUpSoGkotW3FcO1pYYXiRLWG0AcyOvl0HvrwtQ9J2Yykx0rd9gOqSd3CSM7n3nFRbs5GOr4q5z6GmIjXaJ4zgFWT39c45Z5VHmqVrC6\/Y4zik22MCVupHNzBwd\/551clklu3nnTn15NZy0XyaQXBJs\/3ipvgSWe14VK6YyNxmsi1Y7hebci7Nyg68+oqUy8BwkZI7hjbPIeVd2nb4bYqwqt7hUk9kmQT7PACOexGMEe4+Faq3xPsNvYilfGWkBJVjGT1NL4NCSX1LSleyXLMwj0VExuPbGLKqLNK0B5ZScAYznqRX6C20hlAQ2kJSBgAV90qEp4i+jQVJt3vchXK7Q7S2hctwp7Q4SAMk\/w5eoqRHkNS46JDKuJtwcST3isytlF51w40+gOMQGuR3BJA2I8yfSuCYd\/szb9qt7HbsvqJakHHsDAznu7t6lgVtcyr6iak3a8btZa3Rxv8ubdZT0iGyOys7mQ4NzkH2j8Bt4ZqbH15FXH\/FhuiRjZCCFJVtnnzHptV1Z7QzabYmIEhRIy6TvxqPP3dPKqS1K\/q9qR20OZ+yyjxxiT+Unp78Y9wqV4tWtoUuNWnJTcrYtd9nu+D7hW+Zfbym7XSP2EdkYYjrGSeoJ9c\/8AatTSlVSlc3U6Spp729WKUrhMmR4EZUmU4G20cyfkO+oljaSuzo662y0p11YQhAypSjgAVlJM+ZquSuBbFFm3pOHpBGCsdw\/br1rxIm6yfClpXFtLathn2nSP58h51qY0ViHHSxGaS00jklNWZQ5mS8to0yh6v9Ee2WeFaWEtxmgFAYU4R7Su\/J93Kp1KVBtvU1Rioq0VkKUpXCRVammfYrBKcBIWtPZpx3q2+Waz8pa7ZpSHZ4qVKmz05UhO54Vbn9vWpuqgZ12tVq\/Q452jg8OXy4q7XixXKReW7nbZTTLgRwEu78PT2fZPQn+TV8bJK\/M82tjnOTitLLzzZbWm3otdsZhowShPtKH6lHmfWvJN4tsPIkTWUEfp4wT6DeqP+qt0lpCZ9+eWjOVNozg+p+lToukbLFSAYvbKH6nVFRPu5fCoNR1bL4yrWUYQsu9\/Bxk61tDJwyp2SrOMNoI+eKjL1Be56CmHYHA2sEFTqlDI8Dtj1rRx4USIMRozLP8AgQE\/Ku9MUVojvR1pdqduS+bmQhNart7HZxYERDQJIaLnFudzuVE\/GpH27Wf\/ALTD\/wCcf\/pWnpTH3ILZrKym\/T4MybzqVpZDtiCgP7h\/YmukbWEbtQ1cYj9vWdh2qSRn0z3dOtaKo82BEuDPYy2EPI6cQ3HkeY91cxReqO9FVjnGd+ZzkQLddEpdeZakpxhK+Yx5ipDEdmM0GmG0toHJKRgVlpVjm6czPsj7jjaTl2MvcFO3ry86u4d4buNnVPioVxJQSW1DcKA5eP1o1lk8hTqLE1ONpfnxLKlQLNcfvW2tyiEpWSQtKc+yQeW\/XGKn1FqzsXxkpRUlvId2uKLVbXZi0hXZgYRxY4iTgCqWPq\/sUrbu0RUWR2faNoAOHBjYDuJ351yuyk3zVUS0pTxx4n4sjxPPB8OQ\/wA1aR2FFfCQ7GaWEY4eJAOMdKnaMUroy4qlSbdN2Sy58Sk0hFkfZ5NymDD810qORggAn03zt5Voq8AAGAMAV7UJO7uaKVNU4KIqg1dbVS7YJbGRIhntEEc8dfln3Vf14QCMEZBpF2dxUpqpBxe8iWm4IulsYmJGO0T7Q7lDYj1qZWNizEaSvcmDJUsW90F1nYq4T3fT3CuyrrfdQKKLSwYcQ7faHdlEef7Z86sdPO60M8NqSjaWctLItLxqOJaj2KcyJatkMN7nPTPd86rYun5t5kJn6gcOOaIiNgkdx7vLn3mrOz6ch2k9sMvSlD2nnNznrjuq3rmJRyiSVKVV3q6cN3jxPlKUoQEISEpSMAAYAFfVKVWahSlKAUpSgMwyftv9ILqxumHH4QegOOX+o\/GtPWYtBKdb3ZGcgoB3\/wAv71p6nPVcjNs3Zk+9nGTKYhx1PyXUtNI5qVX2062+yh5pYW2sBSVDkRWYvGb9qNi0JSVRI3tyDjG\/dnHu95rUNtoabS22kJQgBKUgbADkK41ZInTqOcpW0WXifVKUqJcZvSMh11y5tPPLWpqRgJUonhG\/L0+FaSs8i2T7fqlcyG2HIcwfj8SsFs+Azvvv15kVoanOzd0Z9nUowwy3XFKUqBoFZWAg2rW0qCAewnILqU42zufT8wrVVmJeHP6Q4PDv2cU8WOmy\/wBxVkN67jNtH9j33XqRoUlGlL3IgyklEKUrjZd3KUeHyB7tvOrW8akhwYihGfQ\/KWMNIaIX7R5E4qzmQYtwjliWyl1snOFdD3g9D5VEhadtUB\/t2IqQ4OSlHi4fLPLnTFF5vUgqVWCcINW9UR9M2ddvjOSpeVTZZ43Sem5IHxyf4Vd0pUG23dmmnBU4qKFK5vPsxmi6+6hptPNSzgCs7J1YuW+YlhiLmPf+ooYQnx\/icV1Rb0I1K0KfafyX8uZGgsl6U+hlA6qOM+XfWce1Dcb06qNp+MQhJwqU5sB5A8vifCusfSrkx4S79LXKd5hlKsIR4f8AbFaJppthpLTKEttoGEpSMACpdWPeyq1Wrr1V6\/oyE7Rrn3XIkvS3JdxA4+InY45gdT1+FX2nrqLtaW3zgOp9h1I2wofvsatKyK1p0nqRS1Dht0\/fb+zUP4n0PhXbuas9Stwjs81OPZeT9ma6lUekpk2dZ1PTXC4vtVBCiBunA7vHNXlVyVnY105qpBSW8UpSuExSlKAUpSgMw2RF\/pDd4wcy43sHPcB\/0GtPWZ1Ygw5duvKQSIzoS5jqknP7j31pELS42lxCgpKgCkjqKnLNJmaj1Zzh338zM2tSY+uLmws4U8gKTnbPI7e4\/CtRWc1VBkpXGvMIFT8I5WkdUc\/3z4Gri2XFi6wUS459lWxSeaT1Brss0pHKLwSlTfG65Ml0pSqzUKUpQClKUB4pQSkqUQABkk9KzOmybnerhelBXZqPZMFQP5fDp0Hqff8AGoLmq7SE2C1rC1uKxJcHJABG2evj6VobfBZtsFqIwkBLaQCcY4j1J8TVlsMe9mS\/S1VbSP5\/RJpUOddoFtSTLlNtkDPATlR8hzqic1PcLmQ3Yra6sE4L7yfZH09T7qioNls69ODs3nwWppXn2YzRdfdQ02nmpZwBWdk6v+0PmLZIS5r398ghA8cc8eleN6UkT3Ev324uSVjk037KU\/z4AVoIkONBZDMVhDKB0SMZ8++pdWPeV\/1qn+q9fhGfb0zOujqZF\/nKcA3THaOEp\/nw9a0ESHGgshmKwhlA6JGM+ffXelRcmy2nRhTzWvHeKUpUS0VxlQ481ksymUOoPRQ5dMju5mu1KHGk1ZnNllqO0GmW0toTySkYArpSlDugpSlAKUpQClKUBFuMFu5W96G6cJdTjPceYPuOKo9NXNyIr7huSeyksbNEnZxPcPp4eVaaqq+2Nq8xgArspLW7To5g9x8KnFq2FmerCWJVIar1XAtCARgjINZOVElaVmruEBBctzivxo4\/R4iukHVCrdiDf23GZCBs7w8QWM4ycb9PfV6zdbbJT+FOjuAjcBwZx4iupSjuyIOVOulZ2kvNC2XSJdookRF8SeSknZST3EVMrNXHTzTUk3Czy0QZSQVcII4Fbd3IZ9PCojer5tvdUxdojbhHJyO4MH4kfLypgv2R9R0eVZW7936NhSswNe2opyWJYI6cCf8AqqvuGvnFtlFvi9mT\/aOnJHuFFSm9wlttCKviNhLmRoLJelPoZQOqjjPl31mXbrctSuLi2lBiwhkOynBgkeH7Dfyqgai3y+P9u7FflOc0re9ltI8AcD3D0rQNaRmzEpF2uJ7JJyI8cYQkeA2A9wqzDGGrzMzrVa+UYvD5X8fgMXSwaYjGPDV9rknAWW9ys+KuQHgK+i7qi9qSWmxaoqt+In2z9fgKvLfZbdax\/skZCFf3zur1O9Tqrc1e6XmaI0JtWk7LgvnUoLfpC3xVl6UVTnzuVPbjPl++avUIQ2gIbSEJSMBKRgCvqlQcm9TRClCmrRVhSlK4WClKUApSlAKUpQClKUApSlAKUpQClKUApSlAcZMSPMbLclht5BGMLSDVS9o+yPHIils5yeBxQ+GcUpUoyaeTKatOEleSTOA0LZwc8Ug+HaD9q6jRdkAwY7h8S6qlKscpcTJTo03rFeR1TpKxJORAHvcWfrVhHt0GIcx4bDR70NgH1pSqnJvVm2NKnHsxS8CTSlK4WClKUApSlAKUpQClKUApSlAKUpQClKUApSlAKUpQClKUB\/\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "RODRIGO LOPEZ GUERRERO",
    "correoContacto": "rodrigo.lopez@santalaura.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+5697361860",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I895\",\"id_control\":\"28583\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I896\",\"id_control\":\"28583\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I897\",\"id_control\":\"28583\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I898\",\"id_control\":\"28583\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R956\",\"id_control\":\"28583\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "14:30",
    "ubicacionGPS": "LatLng(lat: -23.6312756, lng: -70.2603992)",
    "horaLlegada": "10:17",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 06/05/2026 14:30:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-UG.Ly3xCIIcvdam6GYODu-bBSSg1.pVa25oXg0hBjMBvMJfKHeT
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "TO3179",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "SQM sta Laura",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "Oficina supervision-P2",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "-Instalacion impresora\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12465",
    "observacion": "-Instalacion impresora\n-Uso de TP-link\n-Uso de cable de red",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACkAOkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABFEAABAwMCAwUFBgIHBgcAAAABAgMEAAURBiESMUETUWFxkSKBobHBFBUjMkLR4fAHFkNScoKiJCViktLxMzRTVbLC0\/\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgMECQQBBQAAAAAAAAABAgMREiExBEFRcRMiMmGBkaHB0RQzseHwI0JSYvH\/2gAMAwEAAhEDEQA\/AP2alKUApSlAKUpQClKUApSlAKUpQClKUApSlAKg3e7MWeCqS9ueSGwcFZ7hU6svdc3HWcCAd2Y6e2Wk8s7n6D1qUFd5lNebhDq6vJeJ8ss6ou7QlGa3AbcAKGgk8QHp18TR7+tVnSX+2ZuLCd1Ix7SR17j8T5VqqVLH3Ff02Xad+N\/4its99h3plS45KXEfnaX+YePiPGrKstqFhVmuse\/xU4RxBuUhI\/MD19\/LzAqfM1ZaYjSFB8vrWAUtsjiVv39BRwvnEQr4bxquzXqXVRpdxhQE8UqS2yOgUrc+6s4tzUt\/PC0391xFfqUcLI+fyFSWdJ2W2tmTOWXynBU5IXhIPl9DmmFLVjppz+3HLi8v2ePa0jKd7K2wpE5f\/AkpB+BPwrmZ+rZ5\/wBnt7MJs\/qdO49f2qLN1nGikRbJCQQDwhXBwpP+FI5\/ztVnpxi9lbsy7SFYdGEMK5p8cDYeXy6zaUVe3mZo1HVngxt8lZLxLeCiU3CaRNdQ7IA\/EWgYBPoKkUpVB6SVlYUpSh0UpSgFKUoBSlKAUpXN99qMyt59xLbaBlSlHAFA3Y6VUXfUkG0fhqUXpB5Mt7n3np86qnLzddQvLj2NH2eMk4XKXsT5d3z8qtbRpuFaT2ozIkn8zznPPXA6fPxqzCo9oydLOrlS04v24nGym\/SpiptyKY8dSCERuHffqeo9\/oKvaUqDd2aKcMCte\/MUpSuExSlc0SGHHVNIebU4j8yEqBKfMUFzpWYt\/wCJ\/SBcl9ERwkZ6bI\/jWnrFJu8Wzaqu0iYVFSgEoSgZJ5bd3ICrIJu9jJtMlFwctL+zNrVVdNR221Ah58LdH9k37Svf3e+qhKdQ6jKlKcNrgqOycYWofM\/AVb2zTlstYSppgOOjftXfaVnw7vdTDGOp3pKlT7asuL9kU7jd81Sns3G\/u23K3IUMrc+vyHnXmjIsVlyay8w39riO8JdI34d+WeXI93Sr+63mFZ2e0lOe0RlDad1K8h9a\/OpUyTer06qIksqmEI7NLmAobbE9eVWRTkmtEY67hRqRlfFL+eRrb1rSLD42IAEh8bcf6En6+6qGPar7qlwSZTqksk7OO7Jx\/wAKf586vrLoyLC4H5+JL434P0JPl19\/pWmAAGAMAVHHGGUS1bPVrvFXdlwXuVdp05b7QkKab7R7q84AVe7uq1pSqm282b4QjBWirIUpSuEhSlKAUpSgFKUoBSlVd8vjFljcSvxJC9mmhzUe8+FdSbdkRnOMI4pPI73S7RbRFL8peM\/kQPzLPcBWeZgXDVjwlXEri29Jy0wk4K\/E\/v6V3tVgkTZIut+V2zyhluOr8rfmPp671p6ndQ01MyhKvnPKPDjz+Dmww1GZQyw2lttAwlKRgCulKVWa0rClKUApSlAKxs982HXCZrpKY0tGFqIztgA+hANXF61JHtahHaQZMxf5WUb48\/251mr7abs9bF3e6vjtEEBMdPJtJOPLnj96upx47zz9rqXVoZuOfLmWj97uV+dMWwtKaYzhctYxjy7vn5VDtlrTbdZoiyVfa1LYK+0cTn2ued89xrRacuDNxszK2W0NFscC20DASodw7utVWoHUW\/VlquDquFvgUhSu4DOf\/nXU83FIhOCcY1pSvmuVuRqqyeoNZIiKXEtpDjw2U9zSg+Hefh51V33Vki6q+xW1LjbKjwkp\/O74bch4VHt+m7y2pElNrQ5yKUyCBjxKeIH3EV2NNLOZGttc6jwUPFn1aNNT7+59tmOrbZWcl1e63PLPz+dWl\/tcSwt2uREb4EsSRxqP5lZwdz\/lqbCul5h3aPAuzbBTJ\/Ipoj2AM9B3nFfWuE5sAVt7D6VbjzH1pik5pPQiqNONCUorrLW+vE0dK5x19pGaXv7SAd\/KulZz1k7ilKUOilKUApSlAKUpQClKq75e2bPGzjtJLmzLQ3Kj3nwrqTbsiM5xhHFLQ5X\/AFHHsjQQAHZSxlDeeXifD51mdLyVTNSJk3E9o88lRZU4k8x\/d6Dr6HlXCbAkJW22+UvXi5LypKiD2KD08CfgBiri6w2rbedPR2UhCEL4ARtn2hn1J+NaEopWWrPJlOpUqY5aRay5v8\/g11KUrMewKUpQClK4S5keBGXIkuhttA3J+Q7zQ42krs7KUEpKlEAAZJPSsvNv8y8SVW7TyTts7LVslI8O7z593fXFS7jrB4paK4dpScFR5u4P8+A8a08GBGt0ZMeK0G0JHTmfEnqassoa6mXFOvlHKPHe+XyQLLp2LZwXcl+Use28vn447q6aiY+06fmt4yQ0VAf4fa+lWdZy931bzptFnAkTHcpWpOClsdd+WflXI4pSuSqKnSpOOi0MvarsqwutSY4DzcpnDjHFuFgkD47+81Iv8G8yoP3vdFBtIUEtxxn8MHw6ch3k9eVfVmsbFysVwa4D94MOYTnpgbAeeCD7qt481WoNGS2nSVSWWylwdSpPtJPvx65rQ2k7o8unTcqeCTyabS3X3l1Z7fBgQW\/sLQSlxIVxndSsjO5qcpSUIK1qCUpGSScACsFY9QX94Jg29hiT2LQ4UuYHCkYHPI\/k1aqtGoL0tSbtLREinmyxg8X8+JNUyhZ9Zm+ltKlBKnB+WXmIK033V6rg37cWEjgbURso8vLmSe\/lUrWygnTjgIGVOIA9c\/SrDtrZYITbC3m47SBhIUrc\/U1ktSX9m\/JjwIDTi\/xxgrAAWrkAN\/HwqUU5STWiK6rjSoyjJ9aXubaCkogR0nOQ0kb8+Qr5l3CHBRxSpTTI7lKAJ8hzNZ9Nr1Rcxmdckwmz\/Zs\/mG\/Lb9zUiJoq1Me1I7WW51LisD0H8ahhitWXqpVkrQhbnl6HzI1rbkuBqG0\/MWTjDaMDnjrv8K5\/fOppX\/lbGGQer6uXrw1oY8SNERwRo7bKe5CAn5V2rmKK0RLoqsu1PyX\/AEzH2XWMrClzosUc+FIGR\/pPzr37t1ayT2N3juJ7nE\/uk\/OtNSmN8EPpl\/k\/NmYavd4tcpli9x2Sy8QkSEHHCfHGx5ctq09Zaer781ZFhsrWY8AlbykZwF92R5AetamuztkNnbvJXuk8vcUpXhIAyTgCqzSRbncWLVBXKkH2U7ADmonkKzluirDjup78eAgcTLZGeAdNj57DxzXqR\/W2\/lRwq1wDjGTh1R6\/D0869u7itRX9mzx1qMSMeKUpOcEg7j4YHiT3VclbLzPOqVMbx6pO0VxfHkjtpaK\/MkyL9NB7SQSllJ\/QjPTw5AeR76+tbsE2lqYglLsZ0KSoHGM7fPFaFppDLSGm0hKEJCUpHQDkKrdTMl\/TsxATxewFYz3EH6VFSvNMunRw7PKG+3qWLDvbR23cY40BWMY5iulVmnHu309BX3NBH\/L7P0qzqDVnY0QliipcRSlK4TIV1usa0Q1SJCvBCBzWe4Vn4dtn6mkpn3kFqGndmKCRxDoT+\/M+VXMuxtTbyxcJDpcQyjCWFjKQe8fxzUuNcYcx51mNIQ6tkgOBJzjP\/arE7LLUyyg6k7VHluXHn8HdCENoCG0hCUjASkYAr0kAZJwBXtZbVk1bk2NaEykRWXk8Uh1SwMJzy+B265FRjHE7FtWoqUMR7dLzJuspVqsauX\/jygcJQORwfr6VP03AtkKGoQHkSFhXC88BuVd3gPCqibMsdr03Ig22U0t1xGMpJUpZ2BJIqhjulK4ztiamCclsJeKEApJwOQ364znnVyjeNlkea6+CqpStJ927uRp9LE\/fd\/GdvtX\/ANl1yvDLun7yLzGSlUZ8cMhjIGdtyB15Z8\/Oodps2psvuB1MH7WrjecXgrXz5AcuZ7udWbGioynO2uUyROc68SiAfr8aNxUrtkoKpOkoxi0073eVszM6bu0a03CS8I7zy3E9mwhA3OTnB9B31ojJ1RekFMeOi2Mq\/W4Tx48+fwHnXP7MzY9bRUsNBuPLa4MDOArlt7wPWtbXJyV7pEtmoywuEpWs9F8meiaPhodEi4PPT3\/1F1Xsk+XM+81EYZauGtAiM2huLa0Y4W0hI4+7bxP+mrjUF1+6baXUbvuHgZTjOVHwr401a1Wy1pD28h78R0nmCeh8RUcTtdlrpQ6RU4LTN+xb0pSqjcKUpQCs9fb68H\/um0JLs5zZSk8mh+\/yqPdNQSLhN+6LCoKeVkLkZwEgc8H6+lWtksceyxilB7R9e7jxG6v2FWJKOcjJKo6zwU9N79ke2Sys2aMpCVl1508Trp5rP8k1Z0pUG23dmmEIwiox0FUGrJ7rUNu3RSTKnK4Bw5yE9Tt6evdV8SAMk4ArJ2X\/AH5qKTfHto0X8OPxbAePuBJ81VKC3vcUbRJ2VOOsvxvJk2Q1pTT7UWMAqSscLSSM8ayfaPjjPyFSNM2g2q28T28mRhx4nmD0SfLJ9TVdb0nUWpHLmscUKEezjgnIKxg55+\/07q1Vdk7K3mQoxU5Y9yyXyK5vNJfYcZX+VxJSfIjFdKVWbNTN6FdU5YFJPJt9SR5YB+prSVmdBJKbG9kEZkqIz\/hTWmqdTtszbL9iPIUpSoGkotW3FcO1pYYXiRLWG0AcyOvl0HvrwtQ9J2Yykx0rd9gOqSd3CSM7n3nFRbs5GOr4q5z6GmIjXaJ4zgFWT39c45Z5VHmqVrC6\/Y4zik22MCVupHNzBwd\/551clklu3nnTn15NZy0XyaQXBJs\/3ipvgSWe14VK6YyNxmsi1Y7hebci7Nyg68+oqUy8BwkZI7hjbPIeVd2nb4bYqwqt7hUk9kmQT7PACOexGMEe4+Faq3xPsNvYilfGWkBJVjGT1NL4NCSX1LSleyXLMwj0VExuPbGLKqLNK0B5ZScAYznqRX6C20hlAQ2kJSBgAV90qEp4i+jQVJt3vchXK7Q7S2hctwp7Q4SAMk\/w5eoqRHkNS46JDKuJtwcST3isytlF51w40+gOMQGuR3BJA2I8yfSuCYd\/szb9qt7HbsvqJakHHsDAznu7t6lgVtcyr6iak3a8btZa3Rxv8ubdZT0iGyOys7mQ4NzkH2j8Bt4ZqbH15FXH\/FhuiRjZCCFJVtnnzHptV1Z7QzabYmIEhRIy6TvxqPP3dPKqS1K\/q9qR20OZ+yyjxxiT+Unp78Y9wqV4tWtoUuNWnJTcrYtd9nu+D7hW+Zfbym7XSP2EdkYYjrGSeoJ9c\/8AatTSlVSlc3U6Spp729WKUrhMmR4EZUmU4G20cyfkO+oljaSuzo662y0p11YQhAypSjgAVlJM+ZquSuBbFFm3pOHpBGCsdw\/br1rxIm6yfClpXFtLathn2nSP58h51qY0ViHHSxGaS00jklNWZQ5mS8to0yh6v9Ee2WeFaWEtxmgFAYU4R7Su\/J93Kp1KVBtvU1Rioq0VkKUpXCRVammfYrBKcBIWtPZpx3q2+Waz8pa7ZpSHZ4qVKmz05UhO54Vbn9vWpuqgZ12tVq\/Q452jg8OXy4q7XixXKReW7nbZTTLgRwEu78PT2fZPQn+TV8bJK\/M82tjnOTitLLzzZbWm3otdsZhowShPtKH6lHmfWvJN4tsPIkTWUEfp4wT6DeqP+qt0lpCZ9+eWjOVNozg+p+lToukbLFSAYvbKH6nVFRPu5fCoNR1bL4yrWUYQsu9\/Bxk61tDJwyp2SrOMNoI+eKjL1Be56CmHYHA2sEFTqlDI8Dtj1rRx4USIMRozLP8AgQE\/Ku9MUVojvR1pdqduS+bmQhNart7HZxYERDQJIaLnFudzuVE\/GpH27Wf\/ALTD\/wCcf\/pWnpTH3ILZrKym\/T4MybzqVpZDtiCgP7h\/YmukbWEbtQ1cYj9vWdh2qSRn0z3dOtaKo82BEuDPYy2EPI6cQ3HkeY91cxReqO9FVjnGd+ZzkQLddEpdeZakpxhK+Yx5ipDEdmM0GmG0toHJKRgVlpVjm6czPsj7jjaTl2MvcFO3ry86u4d4buNnVPioVxJQSW1DcKA5eP1o1lk8hTqLE1ONpfnxLKlQLNcfvW2tyiEpWSQtKc+yQeW\/XGKn1FqzsXxkpRUlvId2uKLVbXZi0hXZgYRxY4iTgCqWPq\/sUrbu0RUWR2faNoAOHBjYDuJ351yuyk3zVUS0pTxx4n4sjxPPB8OQ\/wA1aR2FFfCQ7GaWEY4eJAOMdKnaMUroy4qlSbdN2Sy58Sk0hFkfZ5NymDD810qORggAn03zt5Voq8AAGAMAV7UJO7uaKVNU4KIqg1dbVS7YJbGRIhntEEc8dfln3Vf14QCMEZBpF2dxUpqpBxe8iWm4IulsYmJGO0T7Q7lDYj1qZWNizEaSvcmDJUsW90F1nYq4T3fT3CuyrrfdQKKLSwYcQ7faHdlEef7Z86sdPO60M8NqSjaWctLItLxqOJaj2KcyJatkMN7nPTPd86rYun5t5kJn6gcOOaIiNgkdx7vLn3mrOz6ch2k9sMvSlD2nnNznrjuq3rmJRyiSVKVV3q6cN3jxPlKUoQEISEpSMAAYAFfVKVWahSlKAUpSgMwyftv9ILqxumHH4QegOOX+o\/GtPWYtBKdb3ZGcgoB3\/wAv71p6nPVcjNs3Zk+9nGTKYhx1PyXUtNI5qVX2062+yh5pYW2sBSVDkRWYvGb9qNi0JSVRI3tyDjG\/dnHu95rUNtoabS22kJQgBKUgbADkK41ZInTqOcpW0WXifVKUqJcZvSMh11y5tPPLWpqRgJUonhG\/L0+FaSs8i2T7fqlcyG2HIcwfj8SsFs+Azvvv15kVoanOzd0Z9nUowwy3XFKUqBoFZWAg2rW0qCAewnILqU42zufT8wrVVmJeHP6Q4PDv2cU8WOmy\/wBxVkN67jNtH9j33XqRoUlGlL3IgyklEKUrjZd3KUeHyB7tvOrW8akhwYihGfQ\/KWMNIaIX7R5E4qzmQYtwjliWyl1snOFdD3g9D5VEhadtUB\/t2IqQ4OSlHi4fLPLnTFF5vUgqVWCcINW9UR9M2ddvjOSpeVTZZ43Sem5IHxyf4Vd0pUG23dmmnBU4qKFK5vPsxmi6+6hptPNSzgCs7J1YuW+YlhiLmPf+ooYQnx\/icV1Rb0I1K0KfafyX8uZGgsl6U+hlA6qOM+XfWce1Dcb06qNp+MQhJwqU5sB5A8vifCusfSrkx4S79LXKd5hlKsIR4f8AbFaJppthpLTKEttoGEpSMACpdWPeyq1Wrr1V6\/oyE7Rrn3XIkvS3JdxA4+InY45gdT1+FX2nrqLtaW3zgOp9h1I2wofvsatKyK1p0nqRS1Dht0\/fb+zUP4n0PhXbuas9Stwjs81OPZeT9ma6lUekpk2dZ1PTXC4vtVBCiBunA7vHNXlVyVnY105qpBSW8UpSuExSlKAUpSgMw2RF\/pDd4wcy43sHPcB\/0GtPWZ1Ygw5duvKQSIzoS5jqknP7j31pELS42lxCgpKgCkjqKnLNJmaj1Zzh338zM2tSY+uLmws4U8gKTnbPI7e4\/CtRWc1VBkpXGvMIFT8I5WkdUc\/3z4Gri2XFi6wUS459lWxSeaT1Brss0pHKLwSlTfG65Ml0pSqzUKUpQClKUB4pQSkqUQABkk9KzOmybnerhelBXZqPZMFQP5fDp0Hqff8AGoLmq7SE2C1rC1uKxJcHJABG2evj6VobfBZtsFqIwkBLaQCcY4j1J8TVlsMe9mS\/S1VbSP5\/RJpUOddoFtSTLlNtkDPATlR8hzqic1PcLmQ3Yra6sE4L7yfZH09T7qioNls69ODs3nwWppXn2YzRdfdQ02nmpZwBWdk6v+0PmLZIS5r398ghA8cc8eleN6UkT3Ev324uSVjk037KU\/z4AVoIkONBZDMVhDKB0SMZ8++pdWPeV\/1qn+q9fhGfb0zOujqZF\/nKcA3THaOEp\/nw9a0ESHGgshmKwhlA6JGM+ffXelRcmy2nRhTzWvHeKUpUS0VxlQ481ksymUOoPRQ5dMju5mu1KHGk1ZnNllqO0GmW0toTySkYArpSlDugpSlAKUpQClKUBFuMFu5W96G6cJdTjPceYPuOKo9NXNyIr7huSeyksbNEnZxPcPp4eVaaqq+2Nq8xgArspLW7To5g9x8KnFq2FmerCWJVIar1XAtCARgjINZOVElaVmruEBBctzivxo4\/R4iukHVCrdiDf23GZCBs7w8QWM4ycb9PfV6zdbbJT+FOjuAjcBwZx4iupSjuyIOVOulZ2kvNC2XSJdookRF8SeSknZST3EVMrNXHTzTUk3Czy0QZSQVcII4Fbd3IZ9PCojer5tvdUxdojbhHJyO4MH4kfLypgv2R9R0eVZW7936NhSswNe2opyWJYI6cCf8AqqvuGvnFtlFvi9mT\/aOnJHuFFSm9wlttCKviNhLmRoLJelPoZQOqjjPl31mXbrctSuLi2lBiwhkOynBgkeH7Dfyqgai3y+P9u7FflOc0re9ltI8AcD3D0rQNaRmzEpF2uJ7JJyI8cYQkeA2A9wqzDGGrzMzrVa+UYvD5X8fgMXSwaYjGPDV9rknAWW9ys+KuQHgK+i7qi9qSWmxaoqt+In2z9fgKvLfZbdax\/skZCFf3zur1O9Tqrc1e6XmaI0JtWk7LgvnUoLfpC3xVl6UVTnzuVPbjPl++avUIQ2gIbSEJSMBKRgCvqlQcm9TRClCmrRVhSlK4WClKUApSlAKUpQClKUApSlAKUpQClKUApSlAcZMSPMbLclht5BGMLSDVS9o+yPHIils5yeBxQ+GcUpUoyaeTKatOEleSTOA0LZwc8Ug+HaD9q6jRdkAwY7h8S6qlKscpcTJTo03rFeR1TpKxJORAHvcWfrVhHt0GIcx4bDR70NgH1pSqnJvVm2NKnHsxS8CTSlK4WClKUApSlAKUpQClKUApSlAKUpQClKUApSlAKUpQClKUB\/\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "RODRIGO LOPEZ GUERRERO",
    "correoContacto": "rodrigo.lopez@santalaura.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+5697361860",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I895\",\"id_control\":\"28583\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I896\",\"id_control\":\"28583\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I897\",\"id_control\":\"28583\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I898\",\"id_control\":\"28583\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R956\",\"id_control\":\"28583\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "14:30",
    "ubicacionGPS": "LatLng(lat: -23.6312756, lng: -70.2603992)",
    "horaLlegada": "10:17",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


06/05/2026 14:30:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[06/05/2026 14:30:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76121841', 'TO3179', 1, 19969062, 0, NOW(), 
				'08:00', '10:17', '14:30', 1, '-Instalacion impresora
', -1, 
				'', '','1','0',
				'0',2,'../csj.digital-service.cl/uploads/firmas/firma_0_1778092233.png', '-Instalacion impresora
-Uso de TP-link
-Uso de cable de red', null, 'COMPLETADO','LatLng(lat: -23.6312756, lng: -70.2603992)' )
				
[06/05/2026 14:30:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200201

06/05/2026 14:30:33 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'TO3179'
		
06/05/2026 14:30:33 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'TO3179'
				   AND estado = 1
				
06/05/2026 14:30:33 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'TO3179', 2, 1, now(), 'SQM sta Laura', 'ANTOFAGASTA', 'Oficina supervision-P2');
				
=========================================
FECHA: 06/05/2026 14:30:33
listaInsumosUsadosConsolidado===

idReport:200201

idInventario:TOS-I895

idControl:28583

cantidadAsignada:1

cantidadUsada:1

[06/05/2026 14:30:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200201', 'TOS-I895', 1)
				
[06/05/2026 14:30:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28583 and
				    IDproducto = 'TOS-I895'
				

06/05/2026 14:30:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I895';
                
=========================================
FECHA: 06/05/2026 14:30:33
listaInsumosUsadosConsolidado===

idReport:200201

idInventario:TOS-I896

idControl:28583

cantidadAsignada:1

cantidadUsada:1

[06/05/2026 14:30:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200201', 'TOS-I896', 1)
				
[06/05/2026 14:30:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28583 and
				    IDproducto = 'TOS-I896'
				

06/05/2026 14:30:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I896';
                
=========================================
FECHA: 06/05/2026 14:30:33
listaInsumosUsadosConsolidado===

idReport:200201

idInventario:TOS-I897

idControl:28583

cantidadAsignada:1

cantidadUsada:1

[06/05/2026 14:30:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200201', 'TOS-I897', 1)
				
[06/05/2026 14:30:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28583 and
				    IDproducto = 'TOS-I897'
				

06/05/2026 14:30:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I897';
                
=========================================
FECHA: 06/05/2026 14:30:33
listaInsumosUsadosConsolidado===

idReport:200201

idInventario:TOS-I898

idControl:28583

cantidadAsignada:1

cantidadUsada:1

[06/05/2026 14:30:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200201', 'TOS-I898', 1)
				
[06/05/2026 14:30:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28583 and
				    IDproducto = 'TOS-I898'
				

06/05/2026 14:30:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I898';
                
=========================================
FECHA: 06/05/2026 14:30:33
listaInsumosUsadosConsolidado===

idReport:200201

idInventario:TOS-R956

idControl:28583

cantidadAsignada:1

cantidadUsada:1

[06/05/2026 14:30:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200201', 'TOS-R956', 1)
				
[06/05/2026 14:30:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28583 and
				    IDproducto = 'TOS-R956'
				

06/05/2026 14:30:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R956';
                
06/05/2026 14:30:33 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200201'                    
				WHERE idllamado = 12465			
				TO ENVIO: micorreo@miempresa.cl, rodrigo.lopez@santalaura.cl


06/05/2026 14:30:33 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12465			
				
06/05/2026 14:30:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


06/05/2026 14:30:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:30:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:30:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 14:30:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 14:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:30:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 14:30:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        [06/05/2026 14:30: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;
                

06/05/2026 14:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                [06/05/2026 14:30: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;
                

06/05/2026 14:30:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
06/05/2026 14:30:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12465
LIMIT 1;
        
06/05/2026 14:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                
06/05/2026 14:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12465
                [06/05/2026 14:30:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 14:30:48] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[06/05/2026 14:30:48] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[06/05/2026 14:30: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;
                

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

06/05/2026 15:01:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:01:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:01:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:01:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:01:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:01:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:01:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:01:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:01:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:01:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            [06/05/2026 15:01: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;
                
[06/05/2026 15:01: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;
                

06/05/2026 15:01:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:01:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:01:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:01:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:01:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:01:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:01:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:01:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                [06/05/2026 15:11: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;
                

06/05/2026 15:11:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                [06/05/2026 15:11: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;
                

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

06/05/2026 15:11:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:11:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:11:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:11:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:11:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:11:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:11:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:11:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:11:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:11:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:11:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:11:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                [06/05/2026 15:11: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;
                
[06/05/2026 15:11: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;
                

06/05/2026 15:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:11:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            [06/05/2026 15:11: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;
                

06/05/2026 15:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:11:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:11:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            [06/05/2026 15:11: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;
                

06/05/2026 15:11:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                [06/05/2026 15:12: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;
                
[06/05/2026 15:12: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;
                

06/05/2026 15:12:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:12:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            [06/05/2026 15:12: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;
                

06/05/2026 15:12:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:12:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:12:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:12:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:12:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:12:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:12:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            [06/05/2026 15:12: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;
                

06/05/2026 15:12:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:12:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:12:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:12:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:12:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:18:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                [06/05/2026 15:18: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;
                

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

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

06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                
06/05/2026 15:18:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:18:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:18:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 15:18:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 15:18:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:18:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:18:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 15:18:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            [06/05/2026 15:18: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;
                
[06/05/2026 15:18: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;
                
[06/05/2026 15:18: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;
                

06/05/2026 15:18:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:18:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:18:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:18:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:18:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 15:18:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            [06/05/2026 15:18: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;
                

06/05/2026 15:18:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:18:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:18:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:18:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:18:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:18:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15: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 = 12472
                
06/05/2026 15:18:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15: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 = 12472
                [06/05/2026 15: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;
                

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

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

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

06/05/2026 15: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 = 12472
                
06/05/2026 15: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 = 12472
                
06/05/2026 15: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 = 12472
                
06/05/2026 15: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 = 12472
                
06/05/2026 15: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 = 12472
                
06/05/2026 15: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 = 12472
                
06/05/2026 15:29:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:29:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:29:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:29:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                [06/05/2026 15:29: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;
                

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

06/05/2026 15:29:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:29:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:29:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                [06/05/2026 15:29: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;
                

06/05/2026 15:29:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:29:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:29:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:29:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:29:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                [06/05/2026 15:29: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;
                

06/05/2026 15:29:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:29:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:29:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:29:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:29:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:29:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:29:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:29:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:29:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:35:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:35:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:35:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:35:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:35:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:35:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:35:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:35:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15: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 = 12472
                
06/05/2026 15: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 = 12472
                
06/05/2026 15: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 = 12472
                
06/05/2026 15: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 = 12472
                
06/05/2026 15:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:35:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:35:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:35:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/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 = 12472
                
06/05/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 = 12472
                
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/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 = 12472
                
06/05/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 = 12472
                
06/05/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 = 12472
                
06/05/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 = 12472
                
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/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 = 12472
                
06/05/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 = 12472
                
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/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 = 12472
                
06/05/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 = 12472
                
06/05/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 = 12472
                
06/05/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 = 12472
                
06/05/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 = 12472
                
06/05/2026 15:37:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/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 = 12472
                
06/05/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 = 12472
                
06/05/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 = 12472
                
06/05/2026 15:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:39:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:39:28 - logentry: =========================================
FECHA: 06/05/2026 15:39:28
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-P8-lSSb6apAEwTyociBrY4v9he9leHx5-HvIrxwAaELiFnzaA+C
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "15333221",
    "serieinterna": "KY2894",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "117180",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "cambio de Fusor\nMantenimiento",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12472",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACYAMcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA4EAABAwMBBQUHAwQCAwAAAAABAAIDBAURBhIhMUFRExRhcYEiMpGhscHRFSPhM0JS8CSScsLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALhEAAgECBAMIAQUBAAAAAAAAAAECAxESITFRBCJBEzJhcZGh0eGBQrHB8PEU\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAZO63m72O9ulqI+1t0rhsho3AYA3HkeeOa09PUQ1UDZoJGyRvGQ5pylTBHVU0kErQ5kjS0ghYDT1LeI6B1ytM3aFkpZJSu914ABzx38fAq1JTjtYwynOhUtnJO78UfoiKjtuqaKreKerzRVY3OimGyM+BP0OCrxVtNamuFSNRXi7hEXOaaOnhfNM8MjYMuc47gFwnoJ54qaB88zwyOMbTnHkFX2W8m8tmlZSyRQMdiKR3CQflU3\/J1jWf3wWiF3kZiP99PNamGGOnhZDCwMjYMNa0bgFNpRVnqZ4TlVlij3f3+joiIoGgIiIAiIgCIiAIiIAiIgCIoFTfLVSEtnr4WuHFodtEegXUm9CMpRjnJ2J6LPy62ssfuyyy7\/AOyM\/fCjjXdA+VjIqWoO0QCXADHjuJUuzlsUviqC\/UjUIiKBoPL3iNjnu4NBJWb0G1zbFKSMB1Q4jxGy0fZW99n7tY62UHBELgD0JGB8youk6fu+nKUHi8F53dSSPlhWLuMzSz4iK2T97Ei52G3XZp7zAO0xgSs9l49efrlUnYXvSzSacm50Ix+2c7UY38AM48+HgtYudRURUsD555BHGwZc53ALik9NTtShBvGsnv8AJAt+oLdcaJ9SyYRiJodM1+4x+fX0VFLJUayrxDDtxWqB\/tu4GX\/eQ5cVR3houhqLrR0sdJRswwZIYZjneQOBPkr6l1JNUU8NFp+0kljAHF+5kZ\/3mSFbgw5r\/DD2\/avBUeXhfm+jTf8AFttG1pMdPTxNwMnAaPVUlTq+KWQ09npJa+fkWsIYPv8ATzXKPStXcZW1N+r3zu49hGcNb6\/geq0NJR01DCIaWBkLByaMZ8+qr5V4mtdtPTlXv8Ip7TQ359wFdda3YaAQKWM+zvHPG7d6+aK\/RQbuX06agrJ38wiIuFgRF5D2FxYHAuHEZ3hAekREAREQBUl31PS21\/d4WmrqycCGPkfE\/biol0vFXcrgbPY3Ykb\/AF6jkwDiAfurCy6eo7PGHNb2tSR7c7hvPXHQKxRUc5GV1J1HhpadX8blUbTfr88PudV3KmJyKeI+1jx\/knyVjS6TstI3JpRKRxdM7a+XD5K6WZ1JXT1tVHYLecyzY7y4Ans2HHH0OT\/K6pSk7LIjOlSpRxyWJ+ObbINTUfrNxNs0\/BFBAzdPVRxhu7wI5dOvktFabFQ2ePFNHmQ+9K\/e4\/j0Xa12yntNEymp24A3udzeeZKmLkp3yWhKjQs8c+9+3kERFWajOa1qCLXFQx75KyUNAzxAOfrhX1NC2mpYoG+7EwMG7kBhYy83ekGsWTVJLoLe3DWNbkvfxx6Ej\/qvl21PeJaTtI4m26CT3C45kk8vzj1V+BtJHm\/9NONSc3n09Ps11fdKK2RGSrqGR7shufad5DmsNWS3jWNWO7wObSxn2AdzG+JPMqXp\/SUtY9twu21sOO02Jx9qTxd4eHFbdrWRRhrGtYxo3ADAAXLxpvLNksFTilz8sdurMNdtMstlkkq62tknnYGsiY0YY3J4fXotZY6futko4i0NcImlwHUjJVBVSu1Zeo6Sm326jftTScnu8OvMDzJWuXJt2SZLhqcFUlOCy089wiIqjcEREAREQBYKmt9fX3y71VvqzFV0tSQzaO5zS5+Rz6DwW9WY0n+5c75UN9ySp9n\/ALPP3Csg7Jsx8RBTnCL8f2O9n1L28\/6fdIjR1rQB7e4PPh0WgVdd7HR3qEMqGkSNHsSt95v5HgqSmudx01Ux0V6f29I8bMVS0Z2fA8\/v5pZS7p1VJ0Xapmt\/n5NYqDU93kpIWW+iBfXVXsta0b2tORn7fPkriWsp4aJ9a6VroGML9tpyCPDqs9pqnkulfPqGrAzI4spwRjZaN2Rv8x8VyKtzPoSrSbtTg837LctrHZorLQCBhD5HHalkx7x\/AVkiKLbbuy+EVCKjHRFdfrmLTaZqnI7TGxEDzeeHw4+ihaXtJpKU3Cqy+uqxtSOcckAnIH0J\/hRLjm76ypreTmGhb2sjSDgnAP3aP\/uFqVN8sbbmeC7Sq5vSOS8+r\/gIqy66gt9nbiol2pSN0TN7j+PVU7JtQak3xD9LoSfe37bx4c\/oPNcUG1d6E514xeFZvZf3It7nqG3WrLJpdublDH7Tv49VQXW436qts1ZIP0qjaPZbn92QngOo+Xqr622C22hvaRxh0oGXTynLvPPL0Wb1BWT6nuMdttbe2ggO06QH2STzJ5Abx8VZBK+XqZeIlUwczzeiXyRrbNSWagjkfSNrbtUu2ooizaMYPDPieO7fvHBX1p07JNU\/qt7PbVbztNiO9sfTz8uSl2LTdLZWCT+rVEYdKeXgByU+vuNJbKcz1cwjbyHNx6Ac1yU7u0TtHh1CKlV0XTp5vdkh72RsL5HBjWjJc44AWTuFxq9T1LrZaMspAcVFSRuI6eX18l8LbhrGXLhJRWpp3f5Sn7\/QeJWoo6OnoKZtNSxiONnAD6nquZQ8yxuXEZLKHu\/o8W23QWuiZS04Oy3iXHJcepUpEVTdzWkoqyCIiHQiIgCIiA51EvYU0su79thdv8BlUGh4y2xPldxmnc7PXcB9lP1JP3fTta\/rEWcP8vZ+6+aZg7vp2iZs42o9vz2t\/wB1NZQM0s+IS2T9y1XCso6evpnU1VGJI38QfqOi7ooGhpNWZ+e3+mq9Owvt0FXt0NXvbG4+23BGf95raWaajmtVP3F4fAxgYMDGCBzHIqlla246\/EUg2mUVPnZPDJHTn74+C8VtkqrFUuulj2nMzmak3kFvh1+3JXytJJPU82mpUpynFXinbxVtvC\/Q1aKqtmoaC5UD6rtGwdl\/VbI4DY9eniqyp1NWXCpdR2CkMxB2XVLx7I8enx+CrUJXsbJcRTUU73vpYjW25UdFqC+VtZMyIMk7No\/udgkbhz90Lr+qXzUL9i1wGhpDxqJOJ8j+Piq2ktsFr1SI78WTds3tGTO9wvJ559fkt4S1jMkhrWjyACsm0ndGTh4zqRcZOyTd0tfyU9q0tQW0iWRveqnOTNKM7+oHL6qZdLvR2in7WqlAJB2Ixvc8+A+\/BVFdqiSpqDQWGDvVQd3bf2M8fHzO7zVLKKagq9qd5vF7kO5oy6OJ33x0+i4ouTvIlKvCnHDRX56fbOF8ut3uxhjdGYIKl2IKcHDn8gT138OXRbHTlo\/RrW2B+DO87cpHXp6D7qLZbDNFVG6XaXt69\/AZyIh4f7uV3NEJ4JIS5zRI0tLmHBGRjIPVJzVsK0O8PQkpOrPV6X\/v+FNeNTRUE3cqOI1dc44Ebd4afHHPwUW3aZlq5hcL9Kaid28QE+yzwP4G7zVpZ7DR2ZjuxBkmf78z97j+FZqLkllEtVGVR4qvp0XyfGtDWhrQAAMADkvqIqzUEREAREQBERAEREBm9byu\/SYaVnvVE7W7+gz98LQQxCCCOJvCNoaPQYWbvI7\/AKytdGPabTjtndBvz\/6j4rUKyWUUjNS5qs5eS9P9CIuc9RDSwumnkbHG0ZLnHACrNLds2Zyz79bXcu3O2BgeHs\/wp951JR2n9ofv1TvdhZvOfHp9VlRWVNz1XVGxz9l3tob2jxskAAZI58vmtXZ9N0Nobttb29SfenkG\/PgOX+71fJJNOR5tCc5pxp7vP89NzJVunbnPDNeammjiy\/tH0zAQdnmcfznitnYqqiq7TDLQxNhixgxtGNh3MfzzUqrrKahhM1VOyFg5uOM+XVYGCvmZe5odOuMMNYdlglaAAc8R9ugPBM6iONQ4Saazvrv5mo1TPZxQGG5u2ncY2RkdoD1HT13LN2+wXy6Umx3mWmoHb445pHHI5Yb0WjtOl4KOXvlc\/vla45Mj94B8Afqfkr5Rx4VaJY+HdaWOpl4L+WZCk0TUwxmJ94kjiccujhaQHee\/p4K+tVjobREG00Q7Qj2pXb3O9eXkFYooucpaminw1Km7xQREUC8IiIAiIgCIiAIiIAiIgCIoV4rBb7RU1WcGOM7P\/kdw+ZC6ld2OSkopt9CksQ7\/AKsutxxtMj\/ZY48OQ3ejfmtQqLR9CKOwRPLQH1B7VxxyPD5Y+K9X2\/8AcHCioozPXy+yxgGQ09T8eCnJYpWRlpSVKjjn1z9STeL5SWWDbqHbUjgezibxd+B4qlp7PcdRzNrL44w0wOYqVu4+vT6nw3LtRWemtZN2v9WyardvLpTlrD0HU\/6F5k1VVXCZ1PYbe6cg4M0ow0en5PopJW7vqVTkpO9bTpHr+TxqGjFjqaK82+BjGU37crG7hsncPqR6he59VVFxk7rp+kdPIW5dNIMNZ6fn5pHpWquEzai\/XB05ByIYjho9fwPVfTo6SBzhbb1V0cbjksBJ+hHiu3h1eZBxr3bhG0X0yv8ACPEOmWNd+o6jr+8ObvLXPxG31+wwvFGYr3qeGajiEdBbmEMc1my156Dpv+hUiPRsUjw+43GqrS0ggOdgeOck8VoKemgpIRDTQsijHBrBgLjmt7llOg21eNlru35s6oiKk3hERAEREAREQBERAEREAREQBERAFmNYyPqO4WmL3quYF2BnAG7759Fp1lqNzLzrWoqh7cNvZ2bDjdtbx9drf4fCyGt9jNxOcVTX6nb5Ly5TPt9nnlpoi50MXsNAzjlnxxx9Fi7H+tmSSeit+1U1BO3WVAOAD04D65X6Ci5Gdlawq8P2k1LFaxmKXSLqifvV8rH1k3+DXEMHrx+GFo4YIaaIRQRMijbwawYAXRFxyctSynRhT7qCIiiWhERAEREAREQBERAEREAREQBERAEREAREQEO61ot9rqas8Y2Et4ceA+eFXaPpewsTJnD9yqe6VxO88cDf5DPqo+sZ3zR0dohBMlZKNoD\/ABB5+pB9FoYYmU8EcMYwyNoa0eAGFZpDzMq567fSK939HRERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgKZlmnfqd92qXxujZHsQMByW+O8bufXeVcoi622QhBQvbrmERFwmEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "DIEGO NICOLAS MEJIAS LARRAIN",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "RAYA NEGRA EN MEDIO  Y FUROR DEFECTUOSO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R1190\",\"id_control\":\"28590\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:39",
    "ubicacionGPS": "LatLng(lat: -23.1006636, lng: -70.4506039)",
    "horaLlegada": "12:15",
    "horaDespacho": "13:39",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 06/05/2026 15:39:28
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-P8-lSSb6apAEwTyociBrY4v9he9leHx5-HvIrxwAaELiFnzaA+C
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "15333221",
    "serieinterna": "KY2894",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "117180",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "cambio de Fusor\nMantenimiento",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12472",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACYAMcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA4EAABAwMBBQUHAwQCAwAAAAABAAIDBAURBhIhMUFRExRhcYEiMpGhscHRFSPhM0JS8CSScsLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALhEAAgECBAMIAQUBAAAAAAAAAAECAxESITFRBCJBEzJhcZGh0eGBQrHB8PEU\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAZO63m72O9ulqI+1t0rhsho3AYA3HkeeOa09PUQ1UDZoJGyRvGQ5pylTBHVU0kErQ5kjS0ghYDT1LeI6B1ytM3aFkpZJSu914ABzx38fAq1JTjtYwynOhUtnJO78UfoiKjtuqaKreKerzRVY3OimGyM+BP0OCrxVtNamuFSNRXi7hEXOaaOnhfNM8MjYMuc47gFwnoJ54qaB88zwyOMbTnHkFX2W8m8tmlZSyRQMdiKR3CQflU3\/J1jWf3wWiF3kZiP99PNamGGOnhZDCwMjYMNa0bgFNpRVnqZ4TlVlij3f3+joiIoGgIiIAiIgCIiAIiIAiIgCIoFTfLVSEtnr4WuHFodtEegXUm9CMpRjnJ2J6LPy62ssfuyyy7\/AOyM\/fCjjXdA+VjIqWoO0QCXADHjuJUuzlsUviqC\/UjUIiKBoPL3iNjnu4NBJWb0G1zbFKSMB1Q4jxGy0fZW99n7tY62UHBELgD0JGB8youk6fu+nKUHi8F53dSSPlhWLuMzSz4iK2T97Ei52G3XZp7zAO0xgSs9l49efrlUnYXvSzSacm50Ix+2c7UY38AM48+HgtYudRURUsD555BHGwZc53ALik9NTtShBvGsnv8AJAt+oLdcaJ9SyYRiJodM1+4x+fX0VFLJUayrxDDtxWqB\/tu4GX\/eQ5cVR3houhqLrR0sdJRswwZIYZjneQOBPkr6l1JNUU8NFp+0kljAHF+5kZ\/3mSFbgw5r\/DD2\/avBUeXhfm+jTf8AFttG1pMdPTxNwMnAaPVUlTq+KWQ09npJa+fkWsIYPv8ATzXKPStXcZW1N+r3zu49hGcNb6\/geq0NJR01DCIaWBkLByaMZ8+qr5V4mtdtPTlXv8Ip7TQ359wFdda3YaAQKWM+zvHPG7d6+aK\/RQbuX06agrJ38wiIuFgRF5D2FxYHAuHEZ3hAekREAREQBUl31PS21\/d4WmrqycCGPkfE\/biol0vFXcrgbPY3Ykb\/AF6jkwDiAfurCy6eo7PGHNb2tSR7c7hvPXHQKxRUc5GV1J1HhpadX8blUbTfr88PudV3KmJyKeI+1jx\/knyVjS6TstI3JpRKRxdM7a+XD5K6WZ1JXT1tVHYLecyzY7y4Ans2HHH0OT\/K6pSk7LIjOlSpRxyWJ+ObbINTUfrNxNs0\/BFBAzdPVRxhu7wI5dOvktFabFQ2ePFNHmQ+9K\/e4\/j0Xa12yntNEymp24A3udzeeZKmLkp3yWhKjQs8c+9+3kERFWajOa1qCLXFQx75KyUNAzxAOfrhX1NC2mpYoG+7EwMG7kBhYy83ekGsWTVJLoLe3DWNbkvfxx6Ej\/qvl21PeJaTtI4m26CT3C45kk8vzj1V+BtJHm\/9NONSc3n09Ps11fdKK2RGSrqGR7shufad5DmsNWS3jWNWO7wObSxn2AdzG+JPMqXp\/SUtY9twu21sOO02Jx9qTxd4eHFbdrWRRhrGtYxo3ADAAXLxpvLNksFTilz8sdurMNdtMstlkkq62tknnYGsiY0YY3J4fXotZY6futko4i0NcImlwHUjJVBVSu1Zeo6Sm326jftTScnu8OvMDzJWuXJt2SZLhqcFUlOCy089wiIqjcEREAREQBYKmt9fX3y71VvqzFV0tSQzaO5zS5+Rz6DwW9WY0n+5c75UN9ySp9n\/ALPP3Csg7Jsx8RBTnCL8f2O9n1L28\/6fdIjR1rQB7e4PPh0WgVdd7HR3qEMqGkSNHsSt95v5HgqSmudx01Ux0V6f29I8bMVS0Z2fA8\/v5pZS7p1VJ0Xapmt\/n5NYqDU93kpIWW+iBfXVXsta0b2tORn7fPkriWsp4aJ9a6VroGML9tpyCPDqs9pqnkulfPqGrAzI4spwRjZaN2Rv8x8VyKtzPoSrSbtTg837LctrHZorLQCBhD5HHalkx7x\/AVkiKLbbuy+EVCKjHRFdfrmLTaZqnI7TGxEDzeeHw4+ihaXtJpKU3Cqy+uqxtSOcckAnIH0J\/hRLjm76ypreTmGhb2sjSDgnAP3aP\/uFqVN8sbbmeC7Sq5vSOS8+r\/gIqy66gt9nbiol2pSN0TN7j+PVU7JtQak3xD9LoSfe37bx4c\/oPNcUG1d6E514xeFZvZf3It7nqG3WrLJpdublDH7Tv49VQXW436qts1ZIP0qjaPZbn92QngOo+Xqr622C22hvaRxh0oGXTynLvPPL0Wb1BWT6nuMdttbe2ggO06QH2STzJ5Abx8VZBK+XqZeIlUwczzeiXyRrbNSWagjkfSNrbtUu2ooizaMYPDPieO7fvHBX1p07JNU\/qt7PbVbztNiO9sfTz8uSl2LTdLZWCT+rVEYdKeXgByU+vuNJbKcz1cwjbyHNx6Ac1yU7u0TtHh1CKlV0XTp5vdkh72RsL5HBjWjJc44AWTuFxq9T1LrZaMspAcVFSRuI6eX18l8LbhrGXLhJRWpp3f5Sn7\/QeJWoo6OnoKZtNSxiONnAD6nquZQ8yxuXEZLKHu\/o8W23QWuiZS04Oy3iXHJcepUpEVTdzWkoqyCIiHQiIgCIiA51EvYU0su79thdv8BlUGh4y2xPldxmnc7PXcB9lP1JP3fTta\/rEWcP8vZ+6+aZg7vp2iZs42o9vz2t\/wB1NZQM0s+IS2T9y1XCso6evpnU1VGJI38QfqOi7ooGhpNWZ+e3+mq9Owvt0FXt0NXvbG4+23BGf95raWaajmtVP3F4fAxgYMDGCBzHIqlla246\/EUg2mUVPnZPDJHTn74+C8VtkqrFUuulj2nMzmak3kFvh1+3JXytJJPU82mpUpynFXinbxVtvC\/Q1aKqtmoaC5UD6rtGwdl\/VbI4DY9eniqyp1NWXCpdR2CkMxB2XVLx7I8enx+CrUJXsbJcRTUU73vpYjW25UdFqC+VtZMyIMk7No\/udgkbhz90Lr+qXzUL9i1wGhpDxqJOJ8j+Piq2ktsFr1SI78WTds3tGTO9wvJ559fkt4S1jMkhrWjyACsm0ndGTh4zqRcZOyTd0tfyU9q0tQW0iWRveqnOTNKM7+oHL6qZdLvR2in7WqlAJB2Ixvc8+A+\/BVFdqiSpqDQWGDvVQd3bf2M8fHzO7zVLKKagq9qd5vF7kO5oy6OJ33x0+i4ouTvIlKvCnHDRX56fbOF8ut3uxhjdGYIKl2IKcHDn8gT138OXRbHTlo\/RrW2B+DO87cpHXp6D7qLZbDNFVG6XaXt69\/AZyIh4f7uV3NEJ4JIS5zRI0tLmHBGRjIPVJzVsK0O8PQkpOrPV6X\/v+FNeNTRUE3cqOI1dc44Ebd4afHHPwUW3aZlq5hcL9Kaid28QE+yzwP4G7zVpZ7DR2ZjuxBkmf78z97j+FZqLkllEtVGVR4qvp0XyfGtDWhrQAAMADkvqIqzUEREAREQBERAEREBm9byu\/SYaVnvVE7W7+gz98LQQxCCCOJvCNoaPQYWbvI7\/AKytdGPabTjtndBvz\/6j4rUKyWUUjNS5qs5eS9P9CIuc9RDSwumnkbHG0ZLnHACrNLds2Zyz79bXcu3O2BgeHs\/wp951JR2n9ofv1TvdhZvOfHp9VlRWVNz1XVGxz9l3tob2jxskAAZI58vmtXZ9N0Nobttb29SfenkG\/PgOX+71fJJNOR5tCc5pxp7vP89NzJVunbnPDNeammjiy\/tH0zAQdnmcfznitnYqqiq7TDLQxNhixgxtGNh3MfzzUqrrKahhM1VOyFg5uOM+XVYGCvmZe5odOuMMNYdlglaAAc8R9ugPBM6iONQ4Saazvrv5mo1TPZxQGG5u2ncY2RkdoD1HT13LN2+wXy6Umx3mWmoHb445pHHI5Yb0WjtOl4KOXvlc\/vla45Mj94B8Afqfkr5Rx4VaJY+HdaWOpl4L+WZCk0TUwxmJ94kjiccujhaQHee\/p4K+tVjobREG00Q7Qj2pXb3O9eXkFYooucpaminw1Km7xQREUC8IiIAiIgCIiAIiIAiIgCIoV4rBb7RU1WcGOM7P\/kdw+ZC6ld2OSkopt9CksQ7\/AKsutxxtMj\/ZY48OQ3ejfmtQqLR9CKOwRPLQH1B7VxxyPD5Y+K9X2\/8AcHCioozPXy+yxgGQ09T8eCnJYpWRlpSVKjjn1z9STeL5SWWDbqHbUjgezibxd+B4qlp7PcdRzNrL44w0wOYqVu4+vT6nw3LtRWemtZN2v9WyardvLpTlrD0HU\/6F5k1VVXCZ1PYbe6cg4M0ow0en5PopJW7vqVTkpO9bTpHr+TxqGjFjqaK82+BjGU37crG7hsncPqR6he59VVFxk7rp+kdPIW5dNIMNZ6fn5pHpWquEzai\/XB05ByIYjho9fwPVfTo6SBzhbb1V0cbjksBJ+hHiu3h1eZBxr3bhG0X0yv8ACPEOmWNd+o6jr+8ObvLXPxG31+wwvFGYr3qeGajiEdBbmEMc1my156Dpv+hUiPRsUjw+43GqrS0ggOdgeOck8VoKemgpIRDTQsijHBrBgLjmt7llOg21eNlru35s6oiKk3hERAEREAREQBERAEREAREQBERAFmNYyPqO4WmL3quYF2BnAG7759Fp1lqNzLzrWoqh7cNvZ2bDjdtbx9drf4fCyGt9jNxOcVTX6nb5Ly5TPt9nnlpoi50MXsNAzjlnxxx9Fi7H+tmSSeit+1U1BO3WVAOAD04D65X6Ci5Gdlawq8P2k1LFaxmKXSLqifvV8rH1k3+DXEMHrx+GFo4YIaaIRQRMijbwawYAXRFxyctSynRhT7qCIiiWhERAEREAREQBERAEREAREQBERAEREAREQEO61ot9rqas8Y2Et4ceA+eFXaPpewsTJnD9yqe6VxO88cDf5DPqo+sZ3zR0dohBMlZKNoD\/ABB5+pB9FoYYmU8EcMYwyNoa0eAGFZpDzMq567fSK939HRERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgKZlmnfqd92qXxujZHsQMByW+O8bufXeVcoi622QhBQvbrmERFwmEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "DIEGO NICOLAS MEJIAS LARRAIN",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "RAYA NEGRA EN MEDIO  Y FUROR DEFECTUOSO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R1190\",\"id_control\":\"28590\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:39",
    "ubicacionGPS": "LatLng(lat: -23.1006636, lng: -70.4506039)",
    "horaLlegada": "12:15",
    "horaDespacho": "13:39",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


06/05/2026 15:39:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:15333221

[06/05/2026 15:39:28] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('15333221', 'KY2894', 1, 21773342, 117180, NOW(), 
				'13:39', '12:15', '15:39', 4, 'cambio de Fusor
Mantenimiento', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778096368.png', '', null, 'COMPLETADO','LatLng(lat: -23.1006636, lng: -70.4506039)' )
				
[06/05/2026 15:39:28] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200202
[06/05/2026 15:39:28] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200202', 'KYO-R1190', 1)
				
[06/05/2026 15:39:28] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28590 and
				    IDproducto = 'KYO-R1190'
				

06/05/2026 15:39:28 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R1190';
                
06/05/2026 15:39:28 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200202'                    
				WHERE idllamado = 12472			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


06/05/2026 15:39:28 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12472			
				
06/05/2026 15:39:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


06/05/2026 15:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                [06/05/2026 15:39:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 15:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            [06/05/2026 15:39:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 15:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            [06/05/2026 15:39:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 15:39:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 15:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                [06/05/2026 15:39:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 15:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12472
            GROUP BY l.idllamado;
            
06/05/2026 15:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                
06/05/2026 15:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12472
                [06/05/2026 15:41:40] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[06/05/2026 15:41:40] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[06/05/2026 15:41: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;
                

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

06/05/2026 15:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12483
            GROUP BY l.idllamado;
            
06/05/2026 15:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12483
            GROUP BY l.idllamado;
            
06/05/2026 15:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12483
            GROUP BY l.idllamado;
            
06/05/2026 15:47:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12483
            GROUP BY l.idllamado;
            
06/05/2026 15:47:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12483
            GROUP BY l.idllamado;
            
06/05/2026 15:47:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12483
            GROUP BY l.idllamado;
            
06/05/2026 15:47:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12483
            GROUP BY l.idllamado;
            
06/05/2026 15:47:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12483
            GROUP BY l.idllamado;
            
06/05/2026 15:47:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                [06/05/2026 15: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;
                
[06/05/2026 15: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;
                
[06/05/2026 15: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;
                

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

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

06/05/2026 15: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 = 12476
                
06/05/2026 15:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                
06/05/2026 15:48:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:48:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12483
            GROUP BY l.idllamado;
            
06/05/2026 15:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12483
            GROUP BY l.idllamado;
            
06/05/2026 15:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12483
            GROUP BY l.idllamado;
            
06/05/2026 15:49:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12483
            GROUP BY l.idllamado;
            
06/05/2026 15:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:55 - logentry: =========================================
FECHA: 06/05/2026 15:49:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-H+V_ZAYpIUJAnt3WmBEgbJ8VeglGlw1q2uxHiz4AkbyChmWNtMd
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78991830",
    "serieinterna": "TO3120",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se entrega residual",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12483",
    "observacion": "•Entrega  a Jorge Arquez, sin contador",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD3APUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBBwL\/xABJEAABAwMBAwgGBQgKAQUAAAABAAIDBAURBhIhMRNBUWFxgZGhFBUiMrHBFiNC0dIkVFWSk6Ph8AczNFJWYnKCosJDJURTsuL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIEAgkEAgIDAAAAAAAAAQIDEQQSITFBURMiMmFxkaGx0RSB4fAjwQVSM2Lx\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICivV7qbfd7fQ08cRFU8Ne6QE4y4Ddg9vSr1ZW+lrtZ2eM7y0bXmcfBapTkkkjPSk5Tnd7P8AoIiKBoKDVN+ls0VO2mMfLSvydsZw0cfiFexyNljbIw5a8BwOMbivnF9mN71WYIt7eUbTsLSTuBwT4kno+K+jta1jAxow1owB0BWzioxXMxYerKpUm+C0R+kRFUbQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDD3SoB\/pDpgf\/ABvjZ4jP\/ZbhfM6yflNVSXAEiGOuaNvjwO7yavpL5oo3tY+RjXP90FwBd2eIV1VWSPPwc80qj7z9qtv9ybarPNUZ+sI2IhnGXHh4ce5WSyt6\/wDWNVUVp2A6Cm+tm38efB7sD\/d3qEFd6mnETcYdXd6L7lRpi3NGpadjh7UFPy0gPSRu8NtvgvoKy+lc1V1u9wPCSbYZjoyT8NlahSqu8irBQUaWnFv4CIiqNgREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFzqJm01NLO\/wB2Jhe7sAyuipNXVQpdO1G\/DpsRt7zv8gV2Ku7FdSeSDlyMuKJ8uiJq8t+sdWcttAEbvd3d5P8AIXltrJr\/AKupJKhx2GPL2N3nZDcuHmB1fBXd15O06FjpZAC+SNrABu9o+0T8Ss9o6MjUlK5w4se5v6pH3rUneLfieLOOSrThzy38z6PLKyGJ8sjg1jGlznHmA4lZGySkW+76jlaBLLt8mRzAb8dW\/A7lY6xrZIbYyip27U9c\/kmgccc+O3cO9RdSRttOjo6FhALiyM4HE+84+IVUFp4m+vPrt\/6K\/wB3sTNGU3o+nYnEYM73SH4DyAV8uFDTiloaenAxyUbWY7Bhe1VZT0MBnqpmRRj7Tj5dark80rmqnFU6aT4I7IodtulJdYXTUjy9rTg5bhFxq25ZGSkrrYmIiLh0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAstqj8vvlptQ3tc\/lZG8ctz9wctSsTVV4j1LdbocFtBFyUW\/7Z9kDgf8385VlNa3MmLklBRfF+i1fsRNa3E111joIcltP7OBzvK46MY46kjDs5ijf3fzlfjSdG646iZNJlzYSZnkDnzu88L2jq\/Ut9usrdlromStjB4bW2AO1abWjkR5Kk5VFiJ7N+xf0xbfNay1IeXU9ubss6C7ePjntwF7qr8rvFotwx7cu28noyB8ip+lLe+hsrHTD66oPKvJ47+Ge74qtlnjOvJ6mZ2IrfTZLidzfZ\/\/AGdypT62nA3yT6FZt5tX9\/ZGgulyp7TQvqqh3sjc1o4vdzALAXWSvu0kM9W4unqf7LSM+yw8HfdznjwUquufrFwu1xH5KxxbSUe1\/WEc7urpPctBp+zTsndd7mSa2YeywjAib0Y6ceC6kqau9yupKWKnkjt+6v8ApfcsrLbG2i2RUYftubkvd0uPFFPRUN3d2epGKjFRWyCIi4SCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA5zSsp4JJpDhkbS5x6gMr5HNVyyxva7AEsplfj7R5vDJ8V9D1jWeiaflaDh05EQ7958gV82jjfLI2Ng2nvIa0dJK1UFo2eJ\/kql5qC\/bm80HQiG2S1rmjaqH4acfZb\/HPgqe52k1muX0bG5ZLI178bsNwC75rb08UVqtbIy7EdNF7TuoDeVhLFcJKvW0dXM7fM94PUC0gDu3BRi23KSLa0IQhSovmvz7n0VrQ1oa0AADAA5l8vrJW1N7rqiaQil5cmRoODIA47LQOkgd3FbbVN59U2wiJ+Kmf2Y8He3pd3fNUWjtPQVTBdKoiQNeRHFjdkc5+5cp9WLkyWLvWqRow4asm2GxyVlSy7XKIMa0AUtNjdG3m3fDxWrRFVKTkzfSpRpRsgiIoloREQBERAEREAREQBERAEREAREQBERAEREAREQBERAYXX1Zt1tNRtO6Jhe7tPDyHmoWlaA1V8pgQSymby7zs7snGN5\/2+Bx0qFcqj1vqGaUu+rfKQDkDDBz9HujK12iqYmjqLlI0B9VKdncdzR19ufBa31Kdjwaa6fFZuF\/RfqO2sqwwWgUkZBmrHiNrefHP8h3rKXMNsGpIeSYHeiNjOyDjaOyM7+s58VOvt5J1c18UPpBovYijH2pOvG\/cebqVJeY69lzcbo78okAe7gcAjcN27uXacbJJjF1VKTkt00vC3y\/Ys4oJ7rQ3G\/3L6wMjcyIHIAcdwwOgZ3da1+l4eQ05Rt\/vML\/Ek\/NV+rBFQaSbSQYERdHE3rA3\/wDVX9DD6PQU8GMclE1ngAFTOV4m7D0slVrdpavvb\/B3REVJ6AREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFV6jrvQLFUzA4e5uwzdne7crRYrW1eH19NQ5PJwNM0jcDDjzDf2Y\/3c\/BTpxvIz4qp0dJv7GXhZyMNS\/IL8CJuBkhzuPkHDvWqrdRx2a1Q2y1kSVEMQbLKBlsZ5z0E5PZvWcttLNeaiG3RO2HOe6SSR7iQdw347B4laC82umooqKwW\/AnrHtM0jh7TgOBPVnJwOjx1Ts2kzxqHSRpylDThf+kSNPU1NabHJfq1odPIHPa4nfjgAOgk\/FZC4tqnTNq6v36wGYEHiCSO7hw7Frrq31tfaTT1MS2jpGgzhp3YGN3cMDtd1KN\/SBAGS0MjWgAsczcOGMY+KjCXW14ltenek8u0dPF8WSNQSCvp9P03H0t7Hnsw0b\/1lsFhbe9tbetPwjGIKXacRvwRtfhHit0qamlkehhXncp+HogiIqjYEREAREQBERAEREAREQBERAEREAREQBERAEREAReEgDJOAFnLlqd0lR6uskfpVW47O2BljOvr+ClGLlsV1KsaavIs7ve6OzQcpUvy9w9iJvvP+4da+bzyy3y9GV2GOqpQOOQwbh4AfBX91tIs1qlr6+o9KuVT9WwuOQwniR04Gd\/NuVFQN5KKqq8f1EGy0jf7b9w4cCAXHf0eGmnFJXR42LqTqTUZ6Le3z3mq0bBHPW3C5RxhkRdyMIbwDRvPlsqNFcI33e6aicWPhpG8lTDHvuO4Y8\/1lNkedPaFYAAJpWbI3g+0\/f5DPgqu3251ZWUdkLS2ClHpFYOmQ8x3cd4b2ZUd22Wu8Ywprff7vby1f2L3SVskpaKSuqsuqq13KOLhvA4788+ST4KJr+HatdNPjeybZ7iD9y1TWhrQ1oAAGABzKj1nFyum53YyY3Md5gfNVxleombK1JRwzguC\/Jn9EB1TeXSuHs09Nst385I\/it6sb\/R9BiOtqCOJawHoxkn4hbJKr65zAK1BPmERFUbQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIi5z1ENLC6aeRscbRkuccAIG7as6KDc7xRWmMOqpcOcPYjaMvf2BZu5a0NRIaW1FkQOc1M5wAOkD+T1KTp20Wys2q+WqNzqWvw6R4dstdx3Bw39vwVuSyvIxvE9JLJS1fPh+TmGXnVZ+sDrdbTxb9uUfP4dq0FttVHaYOSpIg3PvOO9zu0qavHODWlziAAMknmUXJvRbFtOioPM9Xz\/AHYweva3lbjBRtd7MLNpwz9p38APFQ6OhM0dqoCBmtnNRKB\/cG4buwPPeoFZLJe7890e91TNss7M4HHqwtRbBC\/U9bWZ\/JrVByTP8oaMcT2OWl9WKR4y\/mrOT2bt9v8Axepy1bXiS+QQY2o6BnLPaX4BdxAP\/EdPtK10fQyQW19dU76iufypJG\/Z5vHee9ZCgZJqC\/lj2kCpmMk2y\/gwHOB\/J5u\/6c1oa0NaAABgAcyqqdWKibcIulqyrPbh++B6oF9hbPYq1jsAcg45PAEDI+Cnqp1RP6PpyseDguZsfrED5qqPaRvqtKnJvkyv0JEWWSSTbaRJMSABvGABvWmWR\/o\/qNqjq6cn3HteBnpGPktcpVO2ynBtOhGwREVZqCIiAIiIAiIgCIiAIiIAiLhVVtLQxGWqnZEwc7j\/ADlDjaSuzuizc2soJJDDa6Kor5OlrS1vwz5BczT6ruxPLVEdshOfZj3v6t43+YU8j46Gd4mL0gnLw+djRVFZS0jdqpqIoR0yPDfiqOs1taaYEQmSpfzBjcDvJ\/ivKXRVujeZKySWslJJJe4gHw3+amVmmLVV0racU4ga1wdmEBpPb0966siepGTxMo9VJev4M3Lra6V0wgt1GxjncAGmR5+XkpMelbreC2ovdwc08RE3BLfkO5aihttHbYhFSU7IhjBIHtO7TxKlLrqJdlWIRwspa1pZu7gUFLoyzUwG3E+ocOeV5+AwFdU9NT0kXJU0McLM52WNDRnuXVFByb3ZqhSpw7KsFVamrPQrBVSAkPe3k246XbvhlWqxOv60F9LQNPAGV48h812mrySKsVU6OjJlPpkNhrZ7i9oc2hgdKAd+XYw0ealulNt0UMnM90lJJccnYHE+Q\/WXCnhe3TsFJEPrrrVAD\/Qw4H\/I8676hi9P1HTWelIDKdjKdhOMDdknuHwWp6y\/eB40U4UtN9vvL8L1LnQ1sNNQSV8gIfUnDB0MHP3n4Bapc4YmU8EcMYwyNoa0dQGF0WSUszue7RpqlTUFwCzOuZT6rp6RhBkqJwA3pAB+ZatFNNFTwvmmeGRsGXOcdwCwgrXah1pSPAJp2PBiad3stycntI+CnTWt+RRi5pQ6PjLQsLJTiz6xnoG7o5KZuzxG0QG7+vg5a9Ze\/ZodWWmvHuyHkXeOP+3ktQuT1syWGWXNDk\/fUIiKs1BERAERUFbq6kiqTSUMEtdUcAIhlue3n7l1Rb2K51IU1eTL9Flmu1hcAHD0agY4cCN4Hfk58F+vozdqnfW6gnOeLIgQPiPgp5Et2VdPKXZg\/Y0r5GRjL3taP8xwo7rlQMzt11O3HHMrRjzVGzQtsBLpZ6qUk87wPkudfYNMWiAS1jHdTTKdp\/UBlFGPMjKpWSu4pLvf4L311av0nR\/t2\/euFXqS0UkJkdXQydDYXh7j3BZCKy+vpAbXam0NIDvqJZHuJ7ATv7h3rRUmirPBCGzxPqX873Pc3wAIUnGEd2VQrYip2Yq3PWxVT6nr7y8w0M1NbYM4Ms87Wv8AM58B3rtTWbT3Kctcb1DXzEe0ZKoAZ8c+atvohYfzD98\/8SfRCw\/mH75\/4l3PHZaEVh6zd6lpPvb9rWJFPcLFSx8nT1tBE3oZKwfNdfXVq\/SdH+3b96hfRCw\/mH75\/wCJPohYfzD98\/8AEodTvNC+oWiUfN\/BN9dWr9J0f7dv3p66tX6To\/27fvUL6IWH8w\/fP\/En0QsP5h++f+Jc6nedvieUfN\/BN9dWr9J0f7dv3p66tX6To\/27fvUL6IWH8w\/fP\/En0QsP5h++f+JOp3i+J5R838E311av0nR\/t2\/enrq1fpOj\/bt+9QvohYfzD98\/8SfRCw\/mH75\/4k6neL4nlHzfwTfXVq\/SdH+3b96+c6jrG3C\/1Msbw6Pa2GEHcQBjIPRz962NfpqwUVBPVOod0UZd\/Wv3kDcPeWBo2xGUvnYXxRtLnNBxnoHecDvV9JR1aPNx06rUYTtz0NNHPRx6ihBnjNNaaP2TtYEjgN+DznLvJc9KS0QuNRdrlVwRylzuTa94B2nb3Ox347z0LizTb\/osysbSyTVlQ8GMMBOwzpwOnHHrC0tBpC1RUULaqjbJUbA5Vxe73ufnSUopbnaVOtOadlprr37eRIfqqxszm4MOP7rXH4BQZta0r3cnbqOorJTuAazAPxPkrWOw2iIgtt1PkcMxg\/FTIoYoG7EMTI29DGgDyVN4LgejlxEt5JeC+TMm03nUMgdd5PRKQOBFPEd7h1+W8+C\/Nqp4jreqFOwRwUcAjY1oxjcB8dretYsxo\/8AKKi7XDiJ6nAPNuyd36wUlJuLKZUYxqQW7bu34I\/euWZskco96KdpB6NxC0ML+VhZJ\/faHeIVDrctGnyC4N2pmAZ71d0rXMo4WOGHNjaCOg4UH2EXQ\/55eC\/s7IiKBpCIiAzF\/nnu12i0\/SS8m0t26p\/Q3cQP4dYV1bbVR2mDkqSINz7zjvc7tKoayU2HWBrqho9FrmBnK4xsHdnh2A9h6lqgQRkHIKsloklsZKKUqkpS7SfkuB6vCQBknACOcGtLnEAAZJPMslXV9ZqmrfbbU\/k6Jm6eoI3O6uzq5+xRjG5bVqqmubeyJdx1PI+pNBZKc1lTwMmPYZ9\/bw7V7bdLjl\/TrzL6dWHmdvYzu5\/h1c6tbXa6W00gp6VmBxc48XnpKmqTlbSJCNFyearq+XBfJ4AAMAYAXqIqzSEREAREQBERAEREAREQFRqagrbnaTS0XJ7T3tLw92MtG\/A78eCwVpoG196ZQNBdE+X2nNd9huSd\/Dhz9nYvp1UySSkmZCQJHRuDCeGcblRaT0\/JaI5qirAFTKdgAb9loPT18e4K+E8sGediMN0teLtpxNE1oa0NaAABgAcy9RFQeiEREBDu1QKW0Vc+cFkLiO3G7zVdo6lNNp2InGZnOk3de4eQC462nc2zx0rAS+qmawDOOG\/44X7u13ZYKGnttE0S1jmNjhjAzjmBI+A51ak3Gy4mKc4xrOUtor1ZEu7\/AF5qmltMe+GkPKzuG\/fuJHhgdrupatVGnrKbVSOfOWvrJztTSc+\/myrdRm1suBbQhJJzlu\/1IIiKBoCIiAi3G3090on0lSCY387Tgg8xCzdPW1ekZ20Vw26i3PP1NQ0b2dX8PBa5c54IqmF8M8bZI3jDmuGQVOMraPYoqUszzxdpL9szOagujrg6ls9rlD31oDnys3hsf8gk9Q61e263wWyhjpIGgNYN5xvcecnrKwtDSV9Ffq82Vkb3Ujy3kZcFzmZI3eHMQd4WotGqaG4gRTH0WpG50cm4E8+D3c6nOLStHYy4etGU3KppJ6LlpyLxERUnohERAEREAREQBERAEREAREQBERAERcqiqp6WPlKiaOJvS9wCHG0tWdV45wa0ucQABkk8yz1VrGk5QQW2CWvnd7oY0hv3+SiTWy83aKSovlX6HRxtL3U0BGSBv383iT3KxQfHQzyxMXpTWZ+nmQb9cpLvqGjZZ2+lupRtMwPZ288ewYbv4K8senDRzG4XCU1Fe\/eSTkMPV0nHP4KHoWgEdJPcNkt5d+zGCc4aPjv+C1alOVuqinDUc\/8ANU3evcERFSbwiIgCIiAIiIDOXm0VsFzF6s+yakDEsTuEgx\/PkoYr9PalZyVyjFHWgYLnewc9TuB7HeC16g19mt9yDvSqVjnuGOUAw7xG9WKfMyVMO7twtZ7p7fgoWi+6dZtwPF0t43gcXtG88Rk9+8b1a27U9tuPscr6PONzopvZIPPv4FQDo91I90lqutTSknIaTkdm7HV08FWXHTt\/njLZ4aStePdlbhj\/AB9nPfniVO0Jbsz5q9HaLty38nv6G5RYG3S6stDw0UlRPFnfHIC8dxG8KZLr6SGR0ctndG9pw5rpsEd2youlLhqXRxtO15px8UzZIsrFrC4VEYkh05UysPBzHOI8Qxfv6U3X\/DFZ4u\/AudHIn9XRfH0fwadFmPpTdf8ADFZ4u\/An0puv+GKzxd+Bc6OR36qlzfk\/g06LMfSi7HcNMVYJ4ZLvwJ6+1FLuh0+WHpkJx54To5D6qnwv5P4NOiy5qdZTj2aOkpweByCR\/wAinq7V85+tu1PE08zG7x\/x+a7k70PqL7Qfl8moUeauo6Y4nq4Iv9cgb8VQfRGqqP7ffaqYf3W5A6uJPwXaHRFmiPttnm\/1yY\/+uEtDmOkrvaFvF\/BJn1VZYCW+miR3M2NpdnvAwq86zNSS22WqqqiDjJGAPDPWreCwWin\/AKu3wZ6XM2j5qwa0NGGgAdAS8FwGSvLeSXgvkyx+mFyaRswW+Nw459r5keS6waLp3y8tc6yeulJycuLWn5+a0qJ0j4aBYaDd53l4\/GxHpLfR0DNikpo4RjB2G4J7TxKpNX1bnUkVpp9o1Na8NAA+znfv7ceavqmoipKWWpmdsxxNLnHqCzenKeS63Wo1DUsIa8llM08zeGe4DHeUj\/szlbZUYcfRcTQ0NIygoYaSMktiYGgnn61IRFWaUklZBERDoREQBERAEREAREQBERAFGrLdRV7dmrpo5t2AXN3jsPEKSiXscaTVmZiXSDqR757LcJqSQj3HOy09RPHxyvyL3frS0NutrNRG0b54Pnjd8Pv1KKzPftamf6dR1pvL7eRT0OqbRXkNZUiJ5OAyYbJ8eHmrdrg5oc0ggjII51X11htlxyamjjLzn6xo2XZ7Rx71UO0lU0bi6z3eemBOeSeSW+XfzFLQezsM1eG6UvDT0fyahFlvTtV20\/lVDHcIx9uH3j4fhXem1rbZHcnVsmo5ARkSNJHlv8udc6N8NQsTTvaWj79DRIuFNW0tazapamKYc+w8HHb0LuoGhNNXQREQ6EREAXhIAyTgBV9xv9stYIqalvKD\/wAbPad4Dh3qkkfedUPEccTqC2OPtF+58jf4+HWVNQb1exROvGLyx1fJfuh+a+eXV1w9W0ZLKCndtTVAGdojhj5ePMtVDDFTwshhYGRsGGtaNwC4Wy209qom0tM3DRvcTxceclS0lK+i2FGm43lPtP8AbBERQLwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAuNTSU9ZGY6mCOZhGMPaCiIcaTVmUlVom0zkuh5WmfnIMb8gdxXAaZu9Jn0G\/y4zuZKDgeZ+CIp9JIzvC0r3St4aex7yes4\/Z5ajl\/wA2APkEM+sx\/wC1oz3j8SImfuQ+n\/7y8zwjWcw96kgz2HHxQ6ev1aCK+\/Oa3nbADg+GyiLud8EPpovtSb+5YW7S9stz+VERnm\/+SbDiOwcPmrhEUG29y6EIwVoqwREXCYREQBERAEREAREQH\/\/Z",
    "razonSocial": "METALMECANICA TORMETAL SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JORGE TORMETAL",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "CAMBI RESIDUAL",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R956\",\"id_control\":\"28596\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:49",
    "ubicacionGPS": "LatLng(lat: -23.7732402, lng: -70.3052935)",
    "horaLlegada": "12:41",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 06/05/2026 15:49:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-H+V_ZAYpIUJAnt3WmBEgbJ8VeglGlw1q2uxHiz4AkbyChmWNtMd
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78991830",
    "serieinterna": "TO3120",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se entrega residual",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12483",
    "observacion": "•Entrega  a Jorge Arquez, sin contador",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD3APUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBBwL\/xABJEAABAwMBAwgGBQgKAQUAAAABAAIDBAURBhIhMRNBUWFxgZGhFBUiMrHBFiNC0dIkVFWSk6Ph8AczNFJWYnKCosJDJURTsuL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIEAgkEAgIDAAAAAAAAAQIDEQQSITFBURMiMmFxkaGx0RSB4fAjwQVSM2Lx\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICivV7qbfd7fQ08cRFU8Ne6QE4y4Ddg9vSr1ZW+lrtZ2eM7y0bXmcfBapTkkkjPSk5Tnd7P8AoIiKBoKDVN+ls0VO2mMfLSvydsZw0cfiFexyNljbIw5a8BwOMbivnF9mN71WYIt7eUbTsLSTuBwT4kno+K+jta1jAxow1owB0BWzioxXMxYerKpUm+C0R+kRFUbQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDD3SoB\/pDpgf\/ABvjZ4jP\/ZbhfM6yflNVSXAEiGOuaNvjwO7yavpL5oo3tY+RjXP90FwBd2eIV1VWSPPwc80qj7z9qtv9ybarPNUZ+sI2IhnGXHh4ce5WSyt6\/wDWNVUVp2A6Cm+tm38efB7sD\/d3qEFd6mnETcYdXd6L7lRpi3NGpadjh7UFPy0gPSRu8NtvgvoKy+lc1V1u9wPCSbYZjoyT8NlahSqu8irBQUaWnFv4CIiqNgREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFzqJm01NLO\/wB2Jhe7sAyuipNXVQpdO1G\/DpsRt7zv8gV2Ku7FdSeSDlyMuKJ8uiJq8t+sdWcttAEbvd3d5P8AIXltrJr\/AKupJKhx2GPL2N3nZDcuHmB1fBXd15O06FjpZAC+SNrABu9o+0T8Ss9o6MjUlK5w4se5v6pH3rUneLfieLOOSrThzy38z6PLKyGJ8sjg1jGlznHmA4lZGySkW+76jlaBLLt8mRzAb8dW\/A7lY6xrZIbYyip27U9c\/kmgccc+O3cO9RdSRttOjo6FhALiyM4HE+84+IVUFp4m+vPrt\/6K\/wB3sTNGU3o+nYnEYM73SH4DyAV8uFDTiloaenAxyUbWY7Bhe1VZT0MBnqpmRRj7Tj5dark80rmqnFU6aT4I7IodtulJdYXTUjy9rTg5bhFxq25ZGSkrrYmIiLh0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAstqj8vvlptQ3tc\/lZG8ctz9wctSsTVV4j1LdbocFtBFyUW\/7Z9kDgf8385VlNa3MmLklBRfF+i1fsRNa3E111joIcltP7OBzvK46MY46kjDs5ijf3fzlfjSdG646iZNJlzYSZnkDnzu88L2jq\/Ut9usrdlromStjB4bW2AO1abWjkR5Kk5VFiJ7N+xf0xbfNay1IeXU9ubss6C7ePjntwF7qr8rvFotwx7cu28noyB8ip+lLe+hsrHTD66oPKvJ47+Ge74qtlnjOvJ6mZ2IrfTZLidzfZ\/\/AGdypT62nA3yT6FZt5tX9\/ZGgulyp7TQvqqh3sjc1o4vdzALAXWSvu0kM9W4unqf7LSM+yw8HfdznjwUquufrFwu1xH5KxxbSUe1\/WEc7urpPctBp+zTsndd7mSa2YeywjAib0Y6ceC6kqau9yupKWKnkjt+6v8ApfcsrLbG2i2RUYftubkvd0uPFFPRUN3d2epGKjFRWyCIi4SCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA5zSsp4JJpDhkbS5x6gMr5HNVyyxva7AEsplfj7R5vDJ8V9D1jWeiaflaDh05EQ7958gV82jjfLI2Ng2nvIa0dJK1UFo2eJ\/kql5qC\/bm80HQiG2S1rmjaqH4acfZb\/HPgqe52k1muX0bG5ZLI178bsNwC75rb08UVqtbIy7EdNF7TuoDeVhLFcJKvW0dXM7fM94PUC0gDu3BRi23KSLa0IQhSovmvz7n0VrQ1oa0AADAA5l8vrJW1N7rqiaQil5cmRoODIA47LQOkgd3FbbVN59U2wiJ+Kmf2Y8He3pd3fNUWjtPQVTBdKoiQNeRHFjdkc5+5cp9WLkyWLvWqRow4asm2GxyVlSy7XKIMa0AUtNjdG3m3fDxWrRFVKTkzfSpRpRsgiIoloREQBERAEREAREQBERAEREAREQBERAEREAREQBERAYXX1Zt1tNRtO6Jhe7tPDyHmoWlaA1V8pgQSymby7zs7snGN5\/2+Bx0qFcqj1vqGaUu+rfKQDkDDBz9HujK12iqYmjqLlI0B9VKdncdzR19ufBa31Kdjwaa6fFZuF\/RfqO2sqwwWgUkZBmrHiNrefHP8h3rKXMNsGpIeSYHeiNjOyDjaOyM7+s58VOvt5J1c18UPpBovYijH2pOvG\/cebqVJeY69lzcbo78okAe7gcAjcN27uXacbJJjF1VKTkt00vC3y\/Ys4oJ7rQ3G\/3L6wMjcyIHIAcdwwOgZ3da1+l4eQ05Rt\/vML\/Ek\/NV+rBFQaSbSQYERdHE3rA3\/wDVX9DD6PQU8GMclE1ngAFTOV4m7D0slVrdpavvb\/B3REVJ6AREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFV6jrvQLFUzA4e5uwzdne7crRYrW1eH19NQ5PJwNM0jcDDjzDf2Y\/3c\/BTpxvIz4qp0dJv7GXhZyMNS\/IL8CJuBkhzuPkHDvWqrdRx2a1Q2y1kSVEMQbLKBlsZ5z0E5PZvWcttLNeaiG3RO2HOe6SSR7iQdw347B4laC82umooqKwW\/AnrHtM0jh7TgOBPVnJwOjx1Ts2kzxqHSRpylDThf+kSNPU1NabHJfq1odPIHPa4nfjgAOgk\/FZC4tqnTNq6v36wGYEHiCSO7hw7Frrq31tfaTT1MS2jpGgzhp3YGN3cMDtd1KN\/SBAGS0MjWgAsczcOGMY+KjCXW14ltenek8u0dPF8WSNQSCvp9P03H0t7Hnsw0b\/1lsFhbe9tbetPwjGIKXacRvwRtfhHit0qamlkehhXncp+HogiIqjYEREAREQBERAEREAREQBERAEREAREQBERAEREAReEgDJOAFnLlqd0lR6uskfpVW47O2BljOvr+ClGLlsV1KsaavIs7ve6OzQcpUvy9w9iJvvP+4da+bzyy3y9GV2GOqpQOOQwbh4AfBX91tIs1qlr6+o9KuVT9WwuOQwniR04Gd\/NuVFQN5KKqq8f1EGy0jf7b9w4cCAXHf0eGmnFJXR42LqTqTUZ6Le3z3mq0bBHPW3C5RxhkRdyMIbwDRvPlsqNFcI33e6aicWPhpG8lTDHvuO4Y8\/1lNkedPaFYAAJpWbI3g+0\/f5DPgqu3251ZWUdkLS2ClHpFYOmQ8x3cd4b2ZUd22Wu8Ywprff7vby1f2L3SVskpaKSuqsuqq13KOLhvA4788+ST4KJr+HatdNPjeybZ7iD9y1TWhrQ1oAAGABzKj1nFyum53YyY3Md5gfNVxleombK1JRwzguC\/Jn9EB1TeXSuHs09Nst385I\/it6sb\/R9BiOtqCOJawHoxkn4hbJKr65zAK1BPmERFUbQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIi5z1ENLC6aeRscbRkuccAIG7as6KDc7xRWmMOqpcOcPYjaMvf2BZu5a0NRIaW1FkQOc1M5wAOkD+T1KTp20Wys2q+WqNzqWvw6R4dstdx3Bw39vwVuSyvIxvE9JLJS1fPh+TmGXnVZ+sDrdbTxb9uUfP4dq0FttVHaYOSpIg3PvOO9zu0qavHODWlziAAMknmUXJvRbFtOioPM9Xz\/AHYweva3lbjBRtd7MLNpwz9p38APFQ6OhM0dqoCBmtnNRKB\/cG4buwPPeoFZLJe7890e91TNss7M4HHqwtRbBC\/U9bWZ\/JrVByTP8oaMcT2OWl9WKR4y\/mrOT2bt9v8Axepy1bXiS+QQY2o6BnLPaX4BdxAP\/EdPtK10fQyQW19dU76iufypJG\/Z5vHee9ZCgZJqC\/lj2kCpmMk2y\/gwHOB\/J5u\/6c1oa0NaAABgAcyqqdWKibcIulqyrPbh++B6oF9hbPYq1jsAcg45PAEDI+Cnqp1RP6PpyseDguZsfrED5qqPaRvqtKnJvkyv0JEWWSSTbaRJMSABvGABvWmWR\/o\/qNqjq6cn3HteBnpGPktcpVO2ynBtOhGwREVZqCIiAIiIAiIgCIiAIiIAiLhVVtLQxGWqnZEwc7j\/ADlDjaSuzuizc2soJJDDa6Kor5OlrS1vwz5BczT6ruxPLVEdshOfZj3v6t43+YU8j46Gd4mL0gnLw+djRVFZS0jdqpqIoR0yPDfiqOs1taaYEQmSpfzBjcDvJ\/ivKXRVujeZKySWslJJJe4gHw3+amVmmLVV0racU4ga1wdmEBpPb0966siepGTxMo9VJev4M3Lra6V0wgt1GxjncAGmR5+XkpMelbreC2ovdwc08RE3BLfkO5aihttHbYhFSU7IhjBIHtO7TxKlLrqJdlWIRwspa1pZu7gUFLoyzUwG3E+ocOeV5+AwFdU9NT0kXJU0McLM52WNDRnuXVFByb3ZqhSpw7KsFVamrPQrBVSAkPe3k246XbvhlWqxOv60F9LQNPAGV48h812mrySKsVU6OjJlPpkNhrZ7i9oc2hgdKAd+XYw0ealulNt0UMnM90lJJccnYHE+Q\/WXCnhe3TsFJEPrrrVAD\/Qw4H\/I8676hi9P1HTWelIDKdjKdhOMDdknuHwWp6y\/eB40U4UtN9vvL8L1LnQ1sNNQSV8gIfUnDB0MHP3n4Bapc4YmU8EcMYwyNoa0dQGF0WSUszue7RpqlTUFwCzOuZT6rp6RhBkqJwA3pAB+ZatFNNFTwvmmeGRsGXOcdwCwgrXah1pSPAJp2PBiad3stycntI+CnTWt+RRi5pQ6PjLQsLJTiz6xnoG7o5KZuzxG0QG7+vg5a9Ze\/ZodWWmvHuyHkXeOP+3ktQuT1syWGWXNDk\/fUIiKs1BERAERUFbq6kiqTSUMEtdUcAIhlue3n7l1Rb2K51IU1eTL9Flmu1hcAHD0agY4cCN4Hfk58F+vozdqnfW6gnOeLIgQPiPgp5Et2VdPKXZg\/Y0r5GRjL3taP8xwo7rlQMzt11O3HHMrRjzVGzQtsBLpZ6qUk87wPkudfYNMWiAS1jHdTTKdp\/UBlFGPMjKpWSu4pLvf4L311av0nR\/t2\/euFXqS0UkJkdXQydDYXh7j3BZCKy+vpAbXam0NIDvqJZHuJ7ATv7h3rRUmirPBCGzxPqX873Pc3wAIUnGEd2VQrYip2Yq3PWxVT6nr7y8w0M1NbYM4Ms87Wv8AM58B3rtTWbT3Kctcb1DXzEe0ZKoAZ8c+atvohYfzD98\/8SfRCw\/mH75\/4l3PHZaEVh6zd6lpPvb9rWJFPcLFSx8nT1tBE3oZKwfNdfXVq\/SdH+3b96hfRCw\/mH75\/wCJPohYfzD98\/8AEodTvNC+oWiUfN\/BN9dWr9J0f7dv3p66tX6To\/27fvUL6IWH8w\/fP\/En0QsP5h++f+Jc6nedvieUfN\/BN9dWr9J0f7dv3p66tX6To\/27fvUL6IWH8w\/fP\/En0QsP5h++f+JOp3i+J5R838E311av0nR\/t2\/enrq1fpOj\/bt+9QvohYfzD98\/8SfRCw\/mH75\/4k6neL4nlHzfwTfXVq\/SdH+3b96+c6jrG3C\/1Msbw6Pa2GEHcQBjIPRz962NfpqwUVBPVOod0UZd\/Wv3kDcPeWBo2xGUvnYXxRtLnNBxnoHecDvV9JR1aPNx06rUYTtz0NNHPRx6ihBnjNNaaP2TtYEjgN+DznLvJc9KS0QuNRdrlVwRylzuTa94B2nb3Ox347z0LizTb\/osysbSyTVlQ8GMMBOwzpwOnHHrC0tBpC1RUULaqjbJUbA5Vxe73ufnSUopbnaVOtOadlprr37eRIfqqxszm4MOP7rXH4BQZta0r3cnbqOorJTuAazAPxPkrWOw2iIgtt1PkcMxg\/FTIoYoG7EMTI29DGgDyVN4LgejlxEt5JeC+TMm03nUMgdd5PRKQOBFPEd7h1+W8+C\/Nqp4jreqFOwRwUcAjY1oxjcB8dretYsxo\/8AKKi7XDiJ6nAPNuyd36wUlJuLKZUYxqQW7bu34I\/euWZskco96KdpB6NxC0ML+VhZJ\/faHeIVDrctGnyC4N2pmAZ71d0rXMo4WOGHNjaCOg4UH2EXQ\/55eC\/s7IiKBpCIiAzF\/nnu12i0\/SS8m0t26p\/Q3cQP4dYV1bbVR2mDkqSINz7zjvc7tKoayU2HWBrqho9FrmBnK4xsHdnh2A9h6lqgQRkHIKsloklsZKKUqkpS7SfkuB6vCQBknACOcGtLnEAAZJPMslXV9ZqmrfbbU\/k6Jm6eoI3O6uzq5+xRjG5bVqqmubeyJdx1PI+pNBZKc1lTwMmPYZ9\/bw7V7bdLjl\/TrzL6dWHmdvYzu5\/h1c6tbXa6W00gp6VmBxc48XnpKmqTlbSJCNFyearq+XBfJ4AAMAYAXqIqzSEREAREQBERAEREAREQFRqagrbnaTS0XJ7T3tLw92MtG\/A78eCwVpoG196ZQNBdE+X2nNd9huSd\/Dhz9nYvp1UySSkmZCQJHRuDCeGcblRaT0\/JaI5qirAFTKdgAb9loPT18e4K+E8sGediMN0teLtpxNE1oa0NaAABgAcy9RFQeiEREBDu1QKW0Vc+cFkLiO3G7zVdo6lNNp2InGZnOk3de4eQC462nc2zx0rAS+qmawDOOG\/44X7u13ZYKGnttE0S1jmNjhjAzjmBI+A51ak3Gy4mKc4xrOUtor1ZEu7\/AF5qmltMe+GkPKzuG\/fuJHhgdrupatVGnrKbVSOfOWvrJztTSc+\/myrdRm1suBbQhJJzlu\/1IIiKBoCIiAi3G3090on0lSCY387Tgg8xCzdPW1ekZ20Vw26i3PP1NQ0b2dX8PBa5c54IqmF8M8bZI3jDmuGQVOMraPYoqUszzxdpL9szOagujrg6ls9rlD31oDnys3hsf8gk9Q61e263wWyhjpIGgNYN5xvcecnrKwtDSV9Ffq82Vkb3Ujy3kZcFzmZI3eHMQd4WotGqaG4gRTH0WpG50cm4E8+D3c6nOLStHYy4etGU3KppJ6LlpyLxERUnohERAEREAREQBERAEREAREQBERAERcqiqp6WPlKiaOJvS9wCHG0tWdV45wa0ucQABkk8yz1VrGk5QQW2CWvnd7oY0hv3+SiTWy83aKSovlX6HRxtL3U0BGSBv383iT3KxQfHQzyxMXpTWZ+nmQb9cpLvqGjZZ2+lupRtMwPZ288ewYbv4K8senDRzG4XCU1Fe\/eSTkMPV0nHP4KHoWgEdJPcNkt5d+zGCc4aPjv+C1alOVuqinDUc\/8ANU3evcERFSbwiIgCIiAIiIDOXm0VsFzF6s+yakDEsTuEgx\/PkoYr9PalZyVyjFHWgYLnewc9TuB7HeC16g19mt9yDvSqVjnuGOUAw7xG9WKfMyVMO7twtZ7p7fgoWi+6dZtwPF0t43gcXtG88Rk9+8b1a27U9tuPscr6PONzopvZIPPv4FQDo91I90lqutTSknIaTkdm7HV08FWXHTt\/njLZ4aStePdlbhj\/AB9nPfniVO0Jbsz5q9HaLty38nv6G5RYG3S6stDw0UlRPFnfHIC8dxG8KZLr6SGR0ctndG9pw5rpsEd2youlLhqXRxtO15px8UzZIsrFrC4VEYkh05UysPBzHOI8Qxfv6U3X\/DFZ4u\/AudHIn9XRfH0fwadFmPpTdf8ADFZ4u\/An0puv+GKzxd+Bc6OR36qlzfk\/g06LMfSi7HcNMVYJ4ZLvwJ6+1FLuh0+WHpkJx54To5D6qnwv5P4NOiy5qdZTj2aOkpweByCR\/wAinq7V85+tu1PE08zG7x\/x+a7k70PqL7Qfl8moUeauo6Y4nq4Iv9cgb8VQfRGqqP7ffaqYf3W5A6uJPwXaHRFmiPttnm\/1yY\/+uEtDmOkrvaFvF\/BJn1VZYCW+miR3M2NpdnvAwq86zNSS22WqqqiDjJGAPDPWreCwWin\/AKu3wZ6XM2j5qwa0NGGgAdAS8FwGSvLeSXgvkyx+mFyaRswW+Nw459r5keS6waLp3y8tc6yeulJycuLWn5+a0qJ0j4aBYaDd53l4\/GxHpLfR0DNikpo4RjB2G4J7TxKpNX1bnUkVpp9o1Na8NAA+znfv7ceavqmoipKWWpmdsxxNLnHqCzenKeS63Wo1DUsIa8llM08zeGe4DHeUj\/szlbZUYcfRcTQ0NIygoYaSMktiYGgnn61IRFWaUklZBERDoREQBERAEREAREQBERAFGrLdRV7dmrpo5t2AXN3jsPEKSiXscaTVmZiXSDqR757LcJqSQj3HOy09RPHxyvyL3frS0NutrNRG0b54Pnjd8Pv1KKzPftamf6dR1pvL7eRT0OqbRXkNZUiJ5OAyYbJ8eHmrdrg5oc0ggjII51X11htlxyamjjLzn6xo2XZ7Rx71UO0lU0bi6z3eemBOeSeSW+XfzFLQezsM1eG6UvDT0fyahFlvTtV20\/lVDHcIx9uH3j4fhXem1rbZHcnVsmo5ARkSNJHlv8udc6N8NQsTTvaWj79DRIuFNW0tazapamKYc+w8HHb0LuoGhNNXQREQ6EREAXhIAyTgBV9xv9stYIqalvKD\/wAbPad4Dh3qkkfedUPEccTqC2OPtF+58jf4+HWVNQb1exROvGLyx1fJfuh+a+eXV1w9W0ZLKCndtTVAGdojhj5ePMtVDDFTwshhYGRsGGtaNwC4Wy209qom0tM3DRvcTxceclS0lK+i2FGm43lPtP8AbBERQLwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAuNTSU9ZGY6mCOZhGMPaCiIcaTVmUlVom0zkuh5WmfnIMb8gdxXAaZu9Jn0G\/y4zuZKDgeZ+CIp9JIzvC0r3St4aex7yes4\/Z5ajl\/wA2APkEM+sx\/wC1oz3j8SImfuQ+n\/7y8zwjWcw96kgz2HHxQ6ev1aCK+\/Oa3nbADg+GyiLud8EPpovtSb+5YW7S9stz+VERnm\/+SbDiOwcPmrhEUG29y6EIwVoqwREXCYREQBERAEREAREQH\/\/Z",
    "razonSocial": "METALMECANICA TORMETAL SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JORGE TORMETAL",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "CAMBI RESIDUAL",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R956\",\"id_control\":\"28596\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:49",
    "ubicacionGPS": "LatLng(lat: -23.7732402, lng: -70.3052935)",
    "horaLlegada": "12:41",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


06/05/2026 15:49:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78991830

[06/05/2026 15:49: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('78991830', 'TO3120', 1, 24456550, 0, NOW(), 
				'08:00', '12:41', '15:49', 10, '•Se entrega residual', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778096995.png', '•Entrega  a Jorge Arquez, sin contador', null, 'COMPLETADO','LatLng(lat: -23.7732402, lng: -70.3052935)' )
				
[06/05/2026 15:49:55] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200203
[06/05/2026 15:49:55] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200203', 'TOS-R956', 1)
				
[06/05/2026 15:49:55] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28596 and
				    IDproducto = 'TOS-R956'
				

06/05/2026 15:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:55 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R956';
                
06/05/2026 15:49:55 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200203'                    
				WHERE idllamado = 12483			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


06/05/2026 15:49:55 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12483			
				
06/05/2026 15:49:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


06/05/2026 15:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12483
            GROUP BY l.idllamado;
            
06/05/2026 15:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12483
            GROUP BY l.idllamado;
            [06/05/2026 15:49: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;
                
[06/05/2026 15:49: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;
                

06/05/2026 15:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12483
            GROUP BY l.idllamado;
            
06/05/2026 15:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                
06/05/2026 15:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12483
                [06/05/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;
                

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

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

06/05/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 = 12476
                [06/05/2026 15:50: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;
                

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

06/05/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 = 12476
                
06/05/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 = 12476
                
06/05/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 = 12476
                
06/05/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 = 12476
                
06/05/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 = 12476
                
06/05/2026 15:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:51:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 15:51:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            [06/05/2026 15:51: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;
                

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

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

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

06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                
06/05/2026 15:51:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 15:51:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 15:51:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                
06/05/2026 15: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 = 12476
                
06/05/2026 15:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 15:58:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            [06/05/2026 15:58: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;
                

06/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 15:58:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                [06/05/2026 15:58: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;
                

06/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 15:58:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:58:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:58:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                [06/05/2026 15:58: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;
                
[06/05/2026 15:58: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;
                

06/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 15:58:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 15:58:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:58:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:58:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            [06/05/2026 15:58: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;
                

06/05/2026 15:58:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 15:58:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 15:58:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:58:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:58:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:58:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:58:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:58:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:58:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:58:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:58:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:58:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:58:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:58:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 15:58:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:58:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:58:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 15:58:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:58:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 15:58:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/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 = 12476
                
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/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 = 12476
                
06/05/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 = 12476
                
06/05/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 = 12476
                [06/05/2026 15:59: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;
				
[06/05/2026 15:59: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;
                
[06/05/2026 15:59: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;
                

06/05/2026 16:05:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:05:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 16:05:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:05:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:05:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 16:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:05:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 16:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/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 = 12476
                
06/05/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 = 12476
                
06/05/2026 16:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 16:13:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 16:13:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 16:13:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 16:13:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:44 - logentry: =========================================
FECHA: 06/05/2026 16:13:44
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-owq065jCiKpT8Om0CGEBKukgdghgs8zJhk5dd9vlV.vPtimjGw8
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "TO3145",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "641",
    "contadorColor": "8482",
    "contadorScanner": "0",
    "detalle": "Configuracion",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12476",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADQAPgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAwYDBQUFBwUBAAABAAIDBAURBiESMUETUWFxgZEiobEUFSMywSRC0eHwBzNDUpIlNDaCwtLxFiZjc7Li\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECBAIJBAMBAQAAAAAAAAECAxESITFBBFETIjJhcZGhsdEUQoHwM8HhI\/H\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREARFRXjU0VDN9joojV1rjgRtGQD44+g+S6k27IhUqRpq8mW9TVU9HF2tTMyFmccT3YGV2WYo9OVVynbXahmMz+bKYHDWeBx9B6krSta1jAxjQ1rRgADAAXZJLRkac5zu2rLbmekRFEtCIiAqtQ\/eTbeJ7ZKWywuD3MDc9o0dP5LvZ7nHd7dHVsaWF2zmn91w5jPVTll9LAU97vVIGgNbNxNHLbLv0IU1nF9xmk3CtHPKWRqERFA0hERAEREAREQBERAEREAREQBERAEREAREQBeJZY4InSzPbHGwZc5xwAFyra2nt9K+pqZAyNg3Pf4DxWXhpq\/WFS2pqy+mtTCeziacGTHX+fspxjfN6FFWrheGKvJ7fJ0qbxcNRTuorG0xUwOJatwI28O76+SubPYaKzQ8MDeOUj45nD4nfwHgp1NTQUcDYKeJsUbBgNaMBdUcsrLQ5To2eObvL28AiIoGgIiIAiIgCzFj\/AOMLz6fVaYkAZJwAszo8msqLpdDn9on4W78gN8exCnHsszVs6lNd7foadERQNIREQBERAEREAREQBERAEREAREQBERAFFuFxprZSuqalxDByAGS4+AXqtrae30r6mpkDI2Dc9\/gPFZmgoqnVNe26XOPgoYyfs9OeTvE+HeevkpxjfN6FFWq4vBDOT\/bs+0VFV6pq23C5tMVAw5gpv8\/ie8ePXyWra1rGBjGhrWjAAGAAvoAAwBgBfVyUrkqVJU1zb1YREUS0IiIAiIgCIvEsscETpZntjjYMuc44ACDQrtR1wt9iqZQcPc3s2bZ3O38T6KDaqug05p+mjralrJHs7Ux5y4l2+MD0Cp73cJdVXCG3WppfFES4ucMNcf8AMfADPuru3aTo6Z\/2muc6uqju58xyM+R5+qusoxtI85TnVrOVNXSyvt3+JFdf7xd5AyyUDo4M71Ewxnyzt9UOmr1VnNbf5AOrYgcfUD5LUAADAGAF9UcdtEX\/AE+L+STfovJGY\/8AQtDsRW1nHyLuNvL2XGotF10+G1tsrZquGLeSnkPNv67ey1qJ0ktw+EpfarPmiDabpDd6FtVCOHOzmEglp7tkVHQs+5dZz0YJ+z17O0YANg7J\/wD6HqEUZJJ5FlCbnHrarJmqREUS4IiIAiIgCIiAIiIAuNXVQ0VLJU1DwyKMZc4rq5wa0ucQABkk9FkHyS6xu7qdhcy00rsucNu1PT3+Q8VKMb66FNargSUc5PQ+0MFRq6vFwrWlltgcRDB\/nPj+p9O9a5rQ1oa0AADAA6LzFFHBCyGJgZGwBrWjkAvaSlcUqXRrPNvVhERRLgiIgCIiAIir7xeaazUvbT\/E92ezjBALyF1Jt2RGUlFYpaHS53SltNI6oqX4A\/K0fmee4BZGsdVXiklvF2c+C3Rb09K047U9P5nzxhWVss9VeKtt3vjeX9xSkYa0eI\/T3XGqc7VGoG0MORbaF2ZiAMOeMjbv7h4ZKuilE8+tKdRXej0XPvfd3EnRtobS0RuMsYbNVDLQB+RhOw9efstKvjWhrQ1oAAGAB0X1VSlidzdSpqnBRQREUSwIiIDMXz\/jCzev1RLuRNre0wtPxMYXny3P6FFOeiM1Dt1PH+kadERQNIREQBERAEREARFn9TXiWnbHbKDD62qPDgc2NPXz\/wDK7FNuyK6lRU44mQ73Wz3+vFktT\/wmn9qmH5QO7yHzK0lDRQW6kZS0zOGNgx4k958VFsdmistAIGEPkceKWTH5j\/AKyUpSWi0K6NNpupPtP07giIoGgIiIAiIgCIo9fXQW6jkqqh4axgz5noB4pqcbSV2crrdaa0Ubqiod4MYObz3BUtntVTdK4Xy8D4jvT055MHQ4+nuuNmoKjUFd993Vp7Fp\/ZYCdsZ5+Q+attQXxlnpAGfHVy7Qx4zk958Fba3VWpiclUXS1MorRc+\/4RG1RdnwQC2UP4tdVfDwNGS1pByfA\/8AlWFktMVmtzKZmHSc5JAMcbv62UDTdjko2uuFwJkr6jdznHJYD08+\/wBlb1VdS0TWOqZmxB7uFuf3j3Bck\/tRZTTb6aply7l8skIiKs1BERAERfHODWlziAAMknogMxRD7Xr+tm\/dpYg0bdcAf9yL7o1r533K5OBxUz\/CSOeMnb\/V8kU6mtjNwudPFzbfqadERQNIREQBERAEReJZY4IXzSvDI2Auc48gEGhCvV2is9vfUyEF+MRsJ\/O7uVdpm1StdJea88VZVjiAIx2bT\/Q9FCtsUmqbx961TeGipXcNPER+c95+RPstcrH1Vh3MlP8A7T6R6LT5+AiIqzWEREAREQBERAfCQBknACyMzn6vvJpmPItVIeIvaP7x3n6n081K1VdJiWWahdipqBmR2QA2PBzk9OWT4BQILm+OBtl0vC6Zzf7yqcNgTzd\/M+iuhFpXPPr1Yyngei173y+S5vl\/jtQZR0cYnrZMNjhb+53ZA+i5WWwzMqTdLu\/t69+4aTkReA6Z8th0XexaditPFUTSGorJB8czungM\/XqrlRcklaJdCnKbx1fwuX+hZP49R6s6ut9uP\/K94\/n8h4q11NdfumzySMdieX8OLvBPX0G\/svenrW21WiKEtAlcOKU43JPp0SPVjiFT\/pUVPZZv+kWiIirNQREQBVWpqz7FYKqQEh729m3He7b6ZVqsvqwivuNss437WXtJN+TeXLy4lOCvIo4iTjSdtXl5lppyj+w2GliIw5zON3m7f9cIrMAAYAwAii3d3LYRUIqK2PqIi4SCIiAIiIAstfqmW83SPT9E4hgIdVvb0btt6ZHrgKz1FeRaKDMeHVUx4YGYzk7ZPpn6LnpmzfdVv7SYcVXUfHK4j4m5\/dz4fVWR6qxMy1W6kuiWm\/hy\/PsWtNTx0lNFTQt4Y4mhrR4BdURVmlKysgvEsrIYnyyODWMaXOcegHMr2s9rKsfBaG0kQBlrHiMeXM\/oPVSiruxCrPo4OXI76cr6y6x1NdUENgkk4admNw0E7n3x6KzrK2noKZ1RVStjjb1J5+A7z4LLO1NT6enjtLKUvhpY+GR7Xbl+M7AgdeZ8V0orLVagqRc75lsX+BSg4Ab4931Km4Z3eSMkK7wqnDrS35I0Vur4bnRMq6fPZyZxnmMHG\/spSjyTUlup29pJDTQtGGgkMaPAKkqtZUvatgtlPLcJncgwFo+mT7KCi5PJGmVWNNLG8\/3Y0apLtqq3WsOYH\/aJx\/hRnkfE8h9fBQBbNRXpxNyq\/sFOf8GE7keh+p9FVzWGim1DBaKGN7ooPiq53HJPXGeQ2226nwVkYRvmzNV4irh6kbXyV\/j5PVr07WahnN1uU3BDOckN2c8DYY7hsPZbSioaa307YKWFsbB0HM+JPVd2tDWhrQAAMADojnBrS5xAAGST0UJTci+jw8KSvq92fVHgr6SpqJYIahkksOONrTktWdrbzWX6pdbLHlsWcTVfIAeB\/onou81JR6R0\/USwAuqHt4O1d+Z7jy8gOePDvXcHPUj9Rdtx7K1fwRSDqLWODh1FbBnY5DnfzI9mrWqm0tb\/ALDZYnPB7ao\/FlLuZJ5fLHzVyuTedlsS4eDUcUtZZ\/vgEUCovlrpS4TV8DS04cA\/JB8gox1XYxjNe3c42Y4\/ouYZcibrU1rJeZcIodJd7dXENpq2GRx\/dDsO9jupi41YsjJSV0wstZm\/eura+6HBipvwYstxvyz7A\/6lcX+v+7bLU1AJD+HhZg78R2B9OfouGlqE0Fgp2OaQ+Udq8EY3PL5YU1lFszVOvWjDln8FwiIqzUEREAREQBeJZWQxPlkcGsY0uc49AOZXtZfU9XLcKuCwULyJZXA1BAPwN6A+G+T5DvUoxxOxVWqdHDFvt4nizwP1De5b3UjNLA\/gpWEnYjGHfr5nwWrVe2a2WKiZTOqIqeKJvwtc8ZPXlzJVbU62tUTiyATVTunZswD74+ik05vJZFMJU6EevJXeviaJFlxftQ1xxQ2Psh\/mnJ\/XhX37u1XW4NRdIaRh34YRuPYfqmDmyX1KfYi3+Pk0skjImF8j2saOZccALFXu9Ub9U08r5Wy01Awvb2Z4uOTGQB058Pspx0dSNDqq63KpqRGC57nOwMDc55nv6rKRW6OWgrbo9r46aM8MDcH43E7DPh1VlOMdbmPiqtayjhtvrfQjTyPqpaiv7KTifMXlzR8LCSTuVs4zqy7xB4lp6CCRuQW8yD3cz9Ekt4pv7PHwkEOdCJnZ7yQ7+AVxp55fp+hJ6QtHtsuznldIjw\/DtTwyk81fLIrKbRdKZe3uVVPXSkgkvcQD59T7q\/pqOmo2cFNBHC3uY0BdlGuFdDbaGWrncA2NpIGccR6AeJVDlKR6MaVKkm0rHy51rbdbZ6xwz2TMgd55Ae+FU6PoZILa+uqd6iuf2pJG\/D099z6rO193rL4ykpK18NNBK8zvLcgtjBOM+gOB128FYx6xkdcqeCmow2hLuBrnkguaBgnJ2AHP0VuCSjZGP6mnKqpt5LTxe5rZpo6eF80zwyNgy5zjsAsq+Sv1hO6OBzqW0sdhz\/3psH+vAdVzlml1dXPaJTT2elOXvPw9ofX+gFNk1TbqNraC00slY+NvDGyFvw7ePM+gK4ouOmvsSnVjU7TtD3\/wvaKhp7dStpqWMRxt7uZPee8rJ6suUEl8pKKpOKSnIkmwMlx7seQx6ru6j1FeYHSXGrFtpMEmKNvxY8QN\/c+i5aKs9LLTzV80DZcycMJkAOAOuO\/f5LsUo3k2RqTlVw0oRsnz5LuJI1Debs8Ns9sMcTh\/vFQNh4jpt6+SDS9zuJ4rzeJHtPOKHYcvYey1AAAwBgBfVDHbsqxo+nxfySb9F5IpqfSllp2gCjEhH70ji7P6KU2xWlpyLbS+sTSp6KOKT3LVRprSK8jK6jsFHR259xt0YpKiAh3FG4jI5EYzgc1obdUGrt1NUuxxSxNcccskbql1vUhlmZSNOZaqVrWsHMgbn5491dRBlutjGvwGU0IBweQa3x8lJ3cVcppqMa8lHJWV\/H\/wz2pHG7XygsbGksDu2nPhv+mfcLUtaGtDWgAAYAHRZnSUU1ZPWX2pGH1bi2MdzQd9+7YD\/lWnSeXV5HeHWK9V\/d7bBERVmoIiIAiKi1PcqijhpqOjwKmuk7NjskcO4\/iAupXdiFSapxcmfL3qujtLnwRjt6pv7jeTT4n9FR2vTt5r5JLhLVvoTU7ucCeNzSc4x0Hr3bLja7FT3C+CljPaU9D8VTKRntX53b5HBx4A96\/QFc2oK0TBThLiZY6ui0SM9SaKtMAzO2SqkI3dI4gZ78D+auqeipaQYpqaKEEYPZsDc+y7oqnJvVm2FGnDsqwRFAvV0ZZ7ZJVuAc4YaxhOOJx6fr6LiV3ZE5SUYuT0RmdbXhz3fdlNIOBjeKowRvuMN9OZ8x3LjVUxdabBZmDhNU4Syjlsep9HH2UWrt00NrpGTuJrbvUh7zzPD0Hnl+T6dyvLSxtx1dV1jB+BQMFPCRuM8uZ\/5uXf76coxy2PH61Wo8WsrLwWvsvUsdUPZT6Zq8AAcAY0DbmQFIsMRhsNCw8+wafcZ\/VVGtZjLTUlsjI7WrnGB1wNvqR7LSRRiKJkbckMaGjPgqXlBHoR63ESfJJf2e1gr\/e6W63ZtNJK4W6lPE8N5yuG3w++B6lXmsLm6jtYpqd5FRUuDAGn4g3rj6eqwk1B2ZihikFRVSE8UUI4uDuGRzPPlyx7WUobsx8fXd+jj+fgvrVZHX+plvNycIKNziQA7GQNgM9GjGM+Hqqq5TSXW9OZQRHgH4UEcQ5MG2Bjock+pUu80lygt1Oy4TtjJ4WU9DFvgDqQPruclbHTtkjs1AGloNTIAZn89+4eAU3PDn5FMKDqvo0rbt7sp7fpKsqIImXapMdPHu2khO3qeWfc+K0tDbaK2x9nR07IQeZG5PmTuVKRZ5TctT1aVCnT0WfPco9X1v2SwyxtP4lSRE0Z3Oefyz7qwtVELfa6akHONgDuXPmfnlUd8\/2hqy124AuZD+NIBy79\/wDT8\/FahdllFIjT61aUuWX9sIiKs0hEVBqi6yQQstlF8VbWfAGjm1hyCf68e5diruxXUqKnFyZBoP8A3HqySvPxUdB8MPc53Q++Xeylavq3vp4bRSnNTWvA4R\/lz3+fyyrG20VPp+zCNz2hsTS+WTlxO6n9PZVGnKeS63So1DUtIDyWUzT0byz7DHqVbdXxbIxuMlBU\/unm\/Df4NDQ0jKChhpIyS2JgaCevipCIqTekkrIIiIdCIiALJ69c2KnoZ2ScFRHKTHg4OMAkjyIb7rVucGtLnEAAZJPRZWzNff8AUE15ma77LTngpQcgE9\/tufEjuVlPJ4uRl4rrRVJay\/bkzRzKJljZ9kk43uOZ8jBD+7y7lfrO1+lR9rdX2ipNDUkH4WjDDtjoNvmo7dSXa1OdHerY9zQdp4Btj6H3C644ndMhCp0MVCorJbrT\/DVIqWn1dZKhoP2vsj\/lkYRj9FMF7tLhkXOk9Zmj9VBxktjQq1OWkl5k5ZKuB1HquOhGHUVvOZt\/zO6jx3Ab7q0umo6Clt08lNXU8s4YezayQOy7kOSorBf7TZbUBLJJLVTOL5hG0k53xucDlj3U4RaTaRlr1acpKm5K2r+D7qWubFqmKRxw2hpy8DqXnPD8y35qZZ6mm07pltVWPBmqSZeEH45CeXntjflusxVGo1HqKY0cbg6oP5XfDhrQOfstTT2Cltx+9b7WCaZmMF+zGdwA6+XLwVkklFJmWlKc6spwWWeb0Xf5WPVioqm5XB1+ucfC5zeGmicB8Dc5BH9dSVY3bUNvtALZ5eOYDaFm7vXu9VT\/AHretRSOjtEf2Ojzg1MnM+X8vdU7LFT3C9G2UUhkbD8dTWOOS49QOnM+\/ko4U3eRb00oQtRV293u+79se\/sNXqN8t8uUn2ahY0kEbnhbn4Wj33PVTtGUMNLT1F7qMRRnLYi8\/laDuc+e3oe9d9TO7aSi01b2iPtSC8NGzWDl9C4+QXzUs8UMNHpyjkEIeGh7nHAYzluc+GSpXclbn7FahGnNzebj6yfwV1rll1LrFta9pEMHxhp34Gt\/KPc591vlRRXfTlohEUFTTtAaATE3iL8bDJaNz5rhJri28XBTwVNQ7pwsAB9zn5KElKTyWRpozp0YvHNNvNmkRZg3vUdbtQ2PsQf3pz09ceKgXAXeJv8AtjUcVGCP7uAEv9mgFRVN7sslxUUrxi36L1sS7ZPTu1fd62pmYxsOImvkcAG9P+lWVTq2y0wP7WJXD92Jpdn15fNYOhtlXdpphSUz6kl5\/Ge7AGep8evP0WltugoWtD7lUOkfz7OI4b5E8z8lbOME+szFQrcRJWpx1bd2dHa6E8wht9rmne7kHOwfYZXpjNYV84fI+GhiDs8GRuPTJ6LRUlBSUEfZ0tPHC3rwNwT5nqu7nBrS5xAAGST0VWNLso2qhUl\/JN\/jIj3CuhttDLVzuAbG0kDOOI9APEqh0zQy11VJqCuGZZyfs7ST+G3cH+A8PNVVwvFFer001lQyG3UT8tbguM5z3Doceg81ZSa6oGQyfZqWb4GYj4mgNLtsDbl19lPBJKyWbKHxFKdTFKWS073z+D7qipfc6uDT9G\/8SRwdUHBIY3mM\/X0C0lNTx0lNFTQt4Y4mhrR4BUmlrTJTU7rlWkvrascRc47hhwQD49fbuWgVc39qNNCLbdWWr9EERFA0hERAERc5546aB80zwyNgy5xOMBA3Yz2rq6VzILNSYNRWuAcO5mcemT18Cr2goorfQw0kP5Im8Oe89T6nJWf05A+63So1DUsIDyWUwd+63lkb923utQrJ5LCZaCc5Oq99PD\/dQiIqzUQaizWyqIM1DA4jkeAA\/JQzpCwk5+wc\/wD5X\/xV0ikpSW5U6NOWsV5GHvdkt7LzbbVQ0zYjMeOU8TnHhz59wctfT26hpDmno4Ij3sjAPuqC1A1+tblWE\/DSt7FoHQ8v+ly1CnNvJFHDU4XlNLV5eCyINLZ6Kir6iugiLZqj85LieZycd2T9AqzUmm6i9zwviqxEyNpBY\/JGe8BaFVV9vkNopsA8dVIMQxDck9DjuUYuWLLUsq06SptTyiZSvhvVBU09mhupmkmbwCKMcIY3lv3bZVhS6Su1DA4QXgw9SyFp+I+4yrLTdlfRxur68F9wqCXPc85LAenn3+yvlOVRrJGalwkZLHO\/crvJGBtenKq5wS3S51tRTnJy5wPG5oG5yemNvRe9L6apLpTS1tYHvjL+GNvHgnHMnHn8leayrzR2J8bHEPqXCMY7ubvkMeqg02o6S20FPa7ZBJX1LGBuIxhvFzO457np7qeKco3RS6VCnVUZ7LPvb7i5g03Zqf8AJboT\/wDYC\/8A\/WVxrdRWWzh0TZGGRo\/uoG59Ntgq2a1Xq8RiS9V8dFTc3QRHG3jvj3JXqKq0np92YHMlnA\/MzMjvfkPkoWvq7mh1HFdVKC5v4DKvUl+P7NG22Ujv8V273Dw\/kB5qXbtI0FJJ29U51dUE5L5htny\/jlRjqq4V2RaLNNID+WWbZvrjbv6r4LXqe5f79c20cZP5IPzc\/D+JXXddxCLhJ3s5vnt8HLS9ZS20XMVk8dNipOGyODT6BTKnWttY\/sqRk1ZIdmiNmAT3b7\/JUYsVHadTQUlxb9opaluI5Hkj48dceP1C3FPR01I3hpqeKEd0bA36Lk8N76neH6ZxwJpW\/L+DOC46quefslvjoYzyfNzHvz\/0qimpLtebqLf95OrHM\/vntJ7KPofA+yvr1d6i5133HZ3jtHZE84OzB1Gfr7K0oqO36ZteHStjYN5JX7F7v65BSUsK0zIOl0srOTaWrvl4LY4QadslopjPNTxv7JmXyzfFyG5wdvZVVuhfqe8CvljMdto3fs0fCAHHP8gT6BHOqdY3AMYHw2iE5LuRlI6ef0G61kMMdPCyGFgZGwYa1o2AUW3HXUthTjVfVVoL1\/z3OiIipN4REQBERAFl9V1U1ZVUtho3kSVLg6Ujo3uPhzJ8gtHU1EdJTS1MzuGOJpc4+AWb0nTyV1VVX+qb+JUOLYgejeuPYD0Kshl1jLxDcmqS318N\/g0lNTx0lNFTQt4Y4mhrR4BdURVmlKysgiIh0IiIDMaPANVd5CMOdU7t6jd38Vp1kzHdNOXWtnpbc+uo6p4cGsJLg45PQE7b9Oo3Xt1Xqm7Hs4KRtshccGR\/5wCPHf2AV0o4nfYwUaqpQwNO6vt3+RNvmo4rb+y0g+0179mRMHFwk8s4+nNcrHYZmVJut3d21dJuAdxF\/P6KVZdPUtnb2n99VP8Azzv5ny7lbqLkkrRLY0pTkp1fwuXywszf9U1NtrX0NJQl8oAIkfkg5HQDn79CtMijFpPNF1WMpxtGVj8snderzcWQVLJ5pt3NheOEAdcDYDktDQ2bUkcRhgFJa43DDjHgvPrufmpdH+J\/aJX8W\/Z0w4PDZn8T7rTq6dS1kkefw\/CqTlKUne7XkZlmjGTyCW6XKprH9xOB5b5P0VrSaftNFwmChi4mnIc8cTgfM5Viipc5Pc3R4elDNRCIuVTUwUcDp6iVsUbBkuccBRLW0ldkK+2eC80DoZSGPZ8Ucn+Q\/wAO9ZB17v8AUxT2ukk+2dmcGpgaS4t8x9efirOetrtWymkt7X01vacTTu2Lx3fy91o7dbKS1Uwp6SPhbzLju5x7yequTwKzPPlB8RPFTdlu+f7zMlaDe6KmENssPYvdjtJqnZzvfh259\/6qyg0zV3CpbVagrPtJb+WCPZg9sfL3WmRRdR7F0OFiklJtpbbeR4iijgibFCxscbBhrWjAAXtEVZr0CIiAIiIAiIgMtqyokrqqlsFK78SocHSnub0z7E+gWkpqeOkpoqaFvDHE0NaPAKHT2WngvNRdON75pxjDjkMGBy9lYqcmrJIop05Kcpy1fsERFAvCIiAIiIAiIgCIiAIiIDLveLf\/AGgh78cNfAGgk8jt\/wBgHqtQqy+WWK80waX9lPHvFKAMtP1x5KpZV6stzRFNRRV4GwlY7f15fRWWxJWMak6MpJp2bvdGpRZg37UVQQ2m0+Y3Y3MxOPnwr4LVqO6ngude2lpz+aKnxxHwyP4lMFtWT+oT7EW\/xb3J9z1PQW9xhjJq6o7Nhh3Oe4np9fBV1PY7lfKltZfpCyFrsspGnAHn3fXyV3bbLQWpmKSANdjBkdu4+qnpiUeyc6GVR3qvLktPzzPEUUcETYoWNjjYMNa0YAC9oirNWgREQBERAEREAREQBERAf\/\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "LUIS OSORIO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIGURAR BANDEJAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56990935642",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:13",
    "ubicacionGPS": "LatLng(lat: -23.1006121, lng: -70.4525306)",
    "horaLlegada": "12:50",
    "horaDespacho": "15:39",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 06/05/2026 16:13:44
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-owq065jCiKpT8Om0CGEBKukgdghgs8zJhk5dd9vlV.vPtimjGw8
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "TO3145",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "641",
    "contadorColor": "8482",
    "contadorScanner": "0",
    "detalle": "Configuracion",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12476",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADQAPgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAwYDBQUFBwUBAAABAAIDBAURBiESMUETUWFxgZEiobEUFSMywSRC0eHwBzNDUpIlNDaCwtLxFiZjc7Li\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECBAIJBAMBAQAAAAAAAAECAxESITFBBFETIjJhcZGhsdEUQoHwM8HhI\/H\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREARFRXjU0VDN9joojV1rjgRtGQD44+g+S6k27IhUqRpq8mW9TVU9HF2tTMyFmccT3YGV2WYo9OVVynbXahmMz+bKYHDWeBx9B6krSta1jAxjQ1rRgADAAXZJLRkac5zu2rLbmekRFEtCIiAqtQ\/eTbeJ7ZKWywuD3MDc9o0dP5LvZ7nHd7dHVsaWF2zmn91w5jPVTll9LAU97vVIGgNbNxNHLbLv0IU1nF9xmk3CtHPKWRqERFA0hERAEREAREQBERAEREAREQBERAEREAREQBeJZY4InSzPbHGwZc5xwAFyra2nt9K+pqZAyNg3Pf4DxWXhpq\/WFS2pqy+mtTCeziacGTHX+fspxjfN6FFWrheGKvJ7fJ0qbxcNRTuorG0xUwOJatwI28O76+SubPYaKzQ8MDeOUj45nD4nfwHgp1NTQUcDYKeJsUbBgNaMBdUcsrLQ5To2eObvL28AiIoGgIiIAiIgCzFj\/AOMLz6fVaYkAZJwAszo8msqLpdDn9on4W78gN8exCnHsszVs6lNd7foadERQNIREQBERAEREAREQBERAEREAREQBERAFFuFxprZSuqalxDByAGS4+AXqtrae30r6mpkDI2Dc9\/gPFZmgoqnVNe26XOPgoYyfs9OeTvE+HeevkpxjfN6FFWq4vBDOT\/bs+0VFV6pq23C5tMVAw5gpv8\/ie8ePXyWra1rGBjGhrWjAAGAAvoAAwBgBfVyUrkqVJU1zb1YREUS0IiIAiIgCIvEsscETpZntjjYMuc44ACDQrtR1wt9iqZQcPc3s2bZ3O38T6KDaqug05p+mjralrJHs7Ux5y4l2+MD0Cp73cJdVXCG3WppfFES4ucMNcf8AMfADPuru3aTo6Z\/2muc6uqju58xyM+R5+qusoxtI85TnVrOVNXSyvt3+JFdf7xd5AyyUDo4M71Ewxnyzt9UOmr1VnNbf5AOrYgcfUD5LUAADAGAF9UcdtEX\/AE+L+STfovJGY\/8AQtDsRW1nHyLuNvL2XGotF10+G1tsrZquGLeSnkPNv67ey1qJ0ktw+EpfarPmiDabpDd6FtVCOHOzmEglp7tkVHQs+5dZz0YJ+z17O0YANg7J\/wD6HqEUZJJ5FlCbnHrarJmqREUS4IiIAiIgCIiAIiIAuNXVQ0VLJU1DwyKMZc4rq5wa0ucQABkk9FkHyS6xu7qdhcy00rsucNu1PT3+Q8VKMb66FNargSUc5PQ+0MFRq6vFwrWlltgcRDB\/nPj+p9O9a5rQ1oa0AADAA6LzFFHBCyGJgZGwBrWjkAvaSlcUqXRrPNvVhERRLgiIgCIiAIir7xeaazUvbT\/E92ezjBALyF1Jt2RGUlFYpaHS53SltNI6oqX4A\/K0fmee4BZGsdVXiklvF2c+C3Rb09K047U9P5nzxhWVss9VeKtt3vjeX9xSkYa0eI\/T3XGqc7VGoG0MORbaF2ZiAMOeMjbv7h4ZKuilE8+tKdRXej0XPvfd3EnRtobS0RuMsYbNVDLQB+RhOw9efstKvjWhrQ1oAAGAB0X1VSlidzdSpqnBRQREUSwIiIDMXz\/jCzev1RLuRNre0wtPxMYXny3P6FFOeiM1Dt1PH+kadERQNIREQBERAEREARFn9TXiWnbHbKDD62qPDgc2NPXz\/wDK7FNuyK6lRU44mQ73Wz3+vFktT\/wmn9qmH5QO7yHzK0lDRQW6kZS0zOGNgx4k958VFsdmistAIGEPkceKWTH5j\/AKyUpSWi0K6NNpupPtP07giIoGgIiIAiIgCIo9fXQW6jkqqh4axgz5noB4pqcbSV2crrdaa0Ubqiod4MYObz3BUtntVTdK4Xy8D4jvT055MHQ4+nuuNmoKjUFd993Vp7Fp\/ZYCdsZ5+Q+attQXxlnpAGfHVy7Qx4zk958Fba3VWpiclUXS1MorRc+\/4RG1RdnwQC2UP4tdVfDwNGS1pByfA\/8AlWFktMVmtzKZmHSc5JAMcbv62UDTdjko2uuFwJkr6jdznHJYD08+\/wBlb1VdS0TWOqZmxB7uFuf3j3Bck\/tRZTTb6aply7l8skIiKs1BERAERfHODWlziAAMknogMxRD7Xr+tm\/dpYg0bdcAf9yL7o1r533K5OBxUz\/CSOeMnb\/V8kU6mtjNwudPFzbfqadERQNIREQBERAEReJZY4IXzSvDI2Auc48gEGhCvV2is9vfUyEF+MRsJ\/O7uVdpm1StdJea88VZVjiAIx2bT\/Q9FCtsUmqbx961TeGipXcNPER+c95+RPstcrH1Vh3MlP8A7T6R6LT5+AiIqzWEREAREQBERAfCQBknACyMzn6vvJpmPItVIeIvaP7x3n6n081K1VdJiWWahdipqBmR2QA2PBzk9OWT4BQILm+OBtl0vC6Zzf7yqcNgTzd\/M+iuhFpXPPr1Yyngei173y+S5vl\/jtQZR0cYnrZMNjhb+53ZA+i5WWwzMqTdLu\/t69+4aTkReA6Z8th0XexaditPFUTSGorJB8czungM\/XqrlRcklaJdCnKbx1fwuX+hZP49R6s6ut9uP\/K94\/n8h4q11NdfumzySMdieX8OLvBPX0G\/svenrW21WiKEtAlcOKU43JPp0SPVjiFT\/pUVPZZv+kWiIirNQREQBVWpqz7FYKqQEh729m3He7b6ZVqsvqwivuNss437WXtJN+TeXLy4lOCvIo4iTjSdtXl5lppyj+w2GliIw5zON3m7f9cIrMAAYAwAii3d3LYRUIqK2PqIi4SCIiAIiIAstfqmW83SPT9E4hgIdVvb0btt6ZHrgKz1FeRaKDMeHVUx4YGYzk7ZPpn6LnpmzfdVv7SYcVXUfHK4j4m5\/dz4fVWR6qxMy1W6kuiWm\/hy\/PsWtNTx0lNFTQt4Y4mhrR4BdURVmlKysgvEsrIYnyyODWMaXOcegHMr2s9rKsfBaG0kQBlrHiMeXM\/oPVSiruxCrPo4OXI76cr6y6x1NdUENgkk4admNw0E7n3x6KzrK2noKZ1RVStjjb1J5+A7z4LLO1NT6enjtLKUvhpY+GR7Xbl+M7AgdeZ8V0orLVagqRc75lsX+BSg4Ab4931Km4Z3eSMkK7wqnDrS35I0Vur4bnRMq6fPZyZxnmMHG\/spSjyTUlup29pJDTQtGGgkMaPAKkqtZUvatgtlPLcJncgwFo+mT7KCi5PJGmVWNNLG8\/3Y0apLtqq3WsOYH\/aJx\/hRnkfE8h9fBQBbNRXpxNyq\/sFOf8GE7keh+p9FVzWGim1DBaKGN7ooPiq53HJPXGeQ2226nwVkYRvmzNV4irh6kbXyV\/j5PVr07WahnN1uU3BDOckN2c8DYY7hsPZbSioaa307YKWFsbB0HM+JPVd2tDWhrQAAMADojnBrS5xAAGST0UJTci+jw8KSvq92fVHgr6SpqJYIahkksOONrTktWdrbzWX6pdbLHlsWcTVfIAeB\/onou81JR6R0\/USwAuqHt4O1d+Z7jy8gOePDvXcHPUj9Rdtx7K1fwRSDqLWODh1FbBnY5DnfzI9mrWqm0tb\/ALDZYnPB7ao\/FlLuZJ5fLHzVyuTedlsS4eDUcUtZZ\/vgEUCovlrpS4TV8DS04cA\/JB8gox1XYxjNe3c42Y4\/ouYZcibrU1rJeZcIodJd7dXENpq2GRx\/dDsO9jupi41YsjJSV0wstZm\/eura+6HBipvwYstxvyz7A\/6lcX+v+7bLU1AJD+HhZg78R2B9OfouGlqE0Fgp2OaQ+Udq8EY3PL5YU1lFszVOvWjDln8FwiIqzUEREAREQBeJZWQxPlkcGsY0uc49AOZXtZfU9XLcKuCwULyJZXA1BAPwN6A+G+T5DvUoxxOxVWqdHDFvt4nizwP1De5b3UjNLA\/gpWEnYjGHfr5nwWrVe2a2WKiZTOqIqeKJvwtc8ZPXlzJVbU62tUTiyATVTunZswD74+ik05vJZFMJU6EevJXeviaJFlxftQ1xxQ2Psh\/mnJ\/XhX37u1XW4NRdIaRh34YRuPYfqmDmyX1KfYi3+Pk0skjImF8j2saOZccALFXu9Ub9U08r5Wy01Awvb2Z4uOTGQB058Pspx0dSNDqq63KpqRGC57nOwMDc55nv6rKRW6OWgrbo9r46aM8MDcH43E7DPh1VlOMdbmPiqtayjhtvrfQjTyPqpaiv7KTifMXlzR8LCSTuVs4zqy7xB4lp6CCRuQW8yD3cz9Ekt4pv7PHwkEOdCJnZ7yQ7+AVxp55fp+hJ6QtHtsuznldIjw\/DtTwyk81fLIrKbRdKZe3uVVPXSkgkvcQD59T7q\/pqOmo2cFNBHC3uY0BdlGuFdDbaGWrncA2NpIGccR6AeJVDlKR6MaVKkm0rHy51rbdbZ6xwz2TMgd55Ae+FU6PoZILa+uqd6iuf2pJG\/D099z6rO193rL4ykpK18NNBK8zvLcgtjBOM+gOB128FYx6xkdcqeCmow2hLuBrnkguaBgnJ2AHP0VuCSjZGP6mnKqpt5LTxe5rZpo6eF80zwyNgy5zjsAsq+Sv1hO6OBzqW0sdhz\/3psH+vAdVzlml1dXPaJTT2elOXvPw9ofX+gFNk1TbqNraC00slY+NvDGyFvw7ePM+gK4ouOmvsSnVjU7TtD3\/wvaKhp7dStpqWMRxt7uZPee8rJ6suUEl8pKKpOKSnIkmwMlx7seQx6ru6j1FeYHSXGrFtpMEmKNvxY8QN\/c+i5aKs9LLTzV80DZcycMJkAOAOuO\/f5LsUo3k2RqTlVw0oRsnz5LuJI1Debs8Ns9sMcTh\/vFQNh4jpt6+SDS9zuJ4rzeJHtPOKHYcvYey1AAAwBgBfVDHbsqxo+nxfySb9F5IpqfSllp2gCjEhH70ji7P6KU2xWlpyLbS+sTSp6KOKT3LVRprSK8jK6jsFHR259xt0YpKiAh3FG4jI5EYzgc1obdUGrt1NUuxxSxNcccskbql1vUhlmZSNOZaqVrWsHMgbn5491dRBlutjGvwGU0IBweQa3x8lJ3cVcppqMa8lHJWV\/H\/wz2pHG7XygsbGksDu2nPhv+mfcLUtaGtDWgAAYAHRZnSUU1ZPWX2pGH1bi2MdzQd9+7YD\/lWnSeXV5HeHWK9V\/d7bBERVmoIiIAiKi1PcqijhpqOjwKmuk7NjskcO4\/iAupXdiFSapxcmfL3qujtLnwRjt6pv7jeTT4n9FR2vTt5r5JLhLVvoTU7ucCeNzSc4x0Hr3bLja7FT3C+CljPaU9D8VTKRntX53b5HBx4A96\/QFc2oK0TBThLiZY6ui0SM9SaKtMAzO2SqkI3dI4gZ78D+auqeipaQYpqaKEEYPZsDc+y7oqnJvVm2FGnDsqwRFAvV0ZZ7ZJVuAc4YaxhOOJx6fr6LiV3ZE5SUYuT0RmdbXhz3fdlNIOBjeKowRvuMN9OZ8x3LjVUxdabBZmDhNU4Syjlsep9HH2UWrt00NrpGTuJrbvUh7zzPD0Hnl+T6dyvLSxtx1dV1jB+BQMFPCRuM8uZ\/5uXf76coxy2PH61Wo8WsrLwWvsvUsdUPZT6Zq8AAcAY0DbmQFIsMRhsNCw8+wafcZ\/VVGtZjLTUlsjI7WrnGB1wNvqR7LSRRiKJkbckMaGjPgqXlBHoR63ESfJJf2e1gr\/e6W63ZtNJK4W6lPE8N5yuG3w++B6lXmsLm6jtYpqd5FRUuDAGn4g3rj6eqwk1B2ZihikFRVSE8UUI4uDuGRzPPlyx7WUobsx8fXd+jj+fgvrVZHX+plvNycIKNziQA7GQNgM9GjGM+Hqqq5TSXW9OZQRHgH4UEcQ5MG2Bjock+pUu80lygt1Oy4TtjJ4WU9DFvgDqQPruclbHTtkjs1AGloNTIAZn89+4eAU3PDn5FMKDqvo0rbt7sp7fpKsqIImXapMdPHu2khO3qeWfc+K0tDbaK2x9nR07IQeZG5PmTuVKRZ5TctT1aVCnT0WfPco9X1v2SwyxtP4lSRE0Z3Oefyz7qwtVELfa6akHONgDuXPmfnlUd8\/2hqy124AuZD+NIBy79\/wDT8\/FahdllFIjT61aUuWX9sIiKs0hEVBqi6yQQstlF8VbWfAGjm1hyCf68e5diruxXUqKnFyZBoP8A3HqySvPxUdB8MPc53Q++Xeylavq3vp4bRSnNTWvA4R\/lz3+fyyrG20VPp+zCNz2hsTS+WTlxO6n9PZVGnKeS63So1DUtIDyWUzT0byz7DHqVbdXxbIxuMlBU\/unm\/Df4NDQ0jKChhpIyS2JgaCevipCIqTekkrIIiIdCIiALJ69c2KnoZ2ScFRHKTHg4OMAkjyIb7rVucGtLnEAAZJPRZWzNff8AUE15ma77LTngpQcgE9\/tufEjuVlPJ4uRl4rrRVJay\/bkzRzKJljZ9kk43uOZ8jBD+7y7lfrO1+lR9rdX2ipNDUkH4WjDDtjoNvmo7dSXa1OdHerY9zQdp4Btj6H3C644ndMhCp0MVCorJbrT\/DVIqWn1dZKhoP2vsj\/lkYRj9FMF7tLhkXOk9Zmj9VBxktjQq1OWkl5k5ZKuB1HquOhGHUVvOZt\/zO6jx3Ab7q0umo6Clt08lNXU8s4YezayQOy7kOSorBf7TZbUBLJJLVTOL5hG0k53xucDlj3U4RaTaRlr1acpKm5K2r+D7qWubFqmKRxw2hpy8DqXnPD8y35qZZ6mm07pltVWPBmqSZeEH45CeXntjflusxVGo1HqKY0cbg6oP5XfDhrQOfstTT2Cltx+9b7WCaZmMF+zGdwA6+XLwVkklFJmWlKc6spwWWeb0Xf5WPVioqm5XB1+ucfC5zeGmicB8Dc5BH9dSVY3bUNvtALZ5eOYDaFm7vXu9VT\/AHretRSOjtEf2Ojzg1MnM+X8vdU7LFT3C9G2UUhkbD8dTWOOS49QOnM+\/ko4U3eRb00oQtRV293u+79se\/sNXqN8t8uUn2ahY0kEbnhbn4Wj33PVTtGUMNLT1F7qMRRnLYi8\/laDuc+e3oe9d9TO7aSi01b2iPtSC8NGzWDl9C4+QXzUs8UMNHpyjkEIeGh7nHAYzluc+GSpXclbn7FahGnNzebj6yfwV1rll1LrFta9pEMHxhp34Gt\/KPc591vlRRXfTlohEUFTTtAaATE3iL8bDJaNz5rhJri28XBTwVNQ7pwsAB9zn5KElKTyWRpozp0YvHNNvNmkRZg3vUdbtQ2PsQf3pz09ceKgXAXeJv8AtjUcVGCP7uAEv9mgFRVN7sslxUUrxi36L1sS7ZPTu1fd62pmYxsOImvkcAG9P+lWVTq2y0wP7WJXD92Jpdn15fNYOhtlXdpphSUz6kl5\/Ge7AGep8evP0WltugoWtD7lUOkfz7OI4b5E8z8lbOME+szFQrcRJWpx1bd2dHa6E8wht9rmne7kHOwfYZXpjNYV84fI+GhiDs8GRuPTJ6LRUlBSUEfZ0tPHC3rwNwT5nqu7nBrS5xAAGST0VWNLso2qhUl\/JN\/jIj3CuhttDLVzuAbG0kDOOI9APEqh0zQy11VJqCuGZZyfs7ST+G3cH+A8PNVVwvFFer001lQyG3UT8tbguM5z3Doceg81ZSa6oGQyfZqWb4GYj4mgNLtsDbl19lPBJKyWbKHxFKdTFKWS073z+D7qipfc6uDT9G\/8SRwdUHBIY3mM\/X0C0lNTx0lNFTQt4Y4mhrR4BUmlrTJTU7rlWkvrascRc47hhwQD49fbuWgVc39qNNCLbdWWr9EERFA0hERAERc5546aB80zwyNgy5xOMBA3Yz2rq6VzILNSYNRWuAcO5mcemT18Cr2goorfQw0kP5Im8Oe89T6nJWf05A+63So1DUsIDyWUwd+63lkb923utQrJ5LCZaCc5Oq99PD\/dQiIqzUQaizWyqIM1DA4jkeAA\/JQzpCwk5+wc\/wD5X\/xV0ikpSW5U6NOWsV5GHvdkt7LzbbVQ0zYjMeOU8TnHhz59wctfT26hpDmno4Ij3sjAPuqC1A1+tblWE\/DSt7FoHQ8v+ly1CnNvJFHDU4XlNLV5eCyINLZ6Kir6iugiLZqj85LieZycd2T9AqzUmm6i9zwviqxEyNpBY\/JGe8BaFVV9vkNopsA8dVIMQxDck9DjuUYuWLLUsq06SptTyiZSvhvVBU09mhupmkmbwCKMcIY3lv3bZVhS6Su1DA4QXgw9SyFp+I+4yrLTdlfRxur68F9wqCXPc85LAenn3+yvlOVRrJGalwkZLHO\/crvJGBtenKq5wS3S51tRTnJy5wPG5oG5yemNvRe9L6apLpTS1tYHvjL+GNvHgnHMnHn8leayrzR2J8bHEPqXCMY7ubvkMeqg02o6S20FPa7ZBJX1LGBuIxhvFzO457np7qeKco3RS6VCnVUZ7LPvb7i5g03Zqf8AJboT\/wDYC\/8A\/WVxrdRWWzh0TZGGRo\/uoG59Ntgq2a1Xq8RiS9V8dFTc3QRHG3jvj3JXqKq0np92YHMlnA\/MzMjvfkPkoWvq7mh1HFdVKC5v4DKvUl+P7NG22Ujv8V273Dw\/kB5qXbtI0FJJ29U51dUE5L5htny\/jlRjqq4V2RaLNNID+WWbZvrjbv6r4LXqe5f79c20cZP5IPzc\/D+JXXddxCLhJ3s5vnt8HLS9ZS20XMVk8dNipOGyODT6BTKnWttY\/sqRk1ZIdmiNmAT3b7\/JUYsVHadTQUlxb9opaluI5Hkj48dceP1C3FPR01I3hpqeKEd0bA36Lk8N76neH6ZxwJpW\/L+DOC46quefslvjoYzyfNzHvz\/0qimpLtebqLf95OrHM\/vntJ7KPofA+yvr1d6i5133HZ3jtHZE84OzB1Gfr7K0oqO36ZteHStjYN5JX7F7v65BSUsK0zIOl0srOTaWrvl4LY4QadslopjPNTxv7JmXyzfFyG5wdvZVVuhfqe8CvljMdto3fs0fCAHHP8gT6BHOqdY3AMYHw2iE5LuRlI6ef0G61kMMdPCyGFgZGwYa1o2AUW3HXUthTjVfVVoL1\/z3OiIipN4REQBERAFl9V1U1ZVUtho3kSVLg6Ujo3uPhzJ8gtHU1EdJTS1MzuGOJpc4+AWb0nTyV1VVX+qb+JUOLYgejeuPYD0Kshl1jLxDcmqS318N\/g0lNTx0lNFTQt4Y4mhrR4BdURVmlKysgiIh0IiIDMaPANVd5CMOdU7t6jd38Vp1kzHdNOXWtnpbc+uo6p4cGsJLg45PQE7b9Oo3Xt1Xqm7Hs4KRtshccGR\/5wCPHf2AV0o4nfYwUaqpQwNO6vt3+RNvmo4rb+y0g+0179mRMHFwk8s4+nNcrHYZmVJut3d21dJuAdxF\/P6KVZdPUtnb2n99VP8Azzv5ny7lbqLkkrRLY0pTkp1fwuXywszf9U1NtrX0NJQl8oAIkfkg5HQDn79CtMijFpPNF1WMpxtGVj8snderzcWQVLJ5pt3NheOEAdcDYDktDQ2bUkcRhgFJa43DDjHgvPrufmpdH+J\/aJX8W\/Z0w4PDZn8T7rTq6dS1kkefw\/CqTlKUne7XkZlmjGTyCW6XKprH9xOB5b5P0VrSaftNFwmChi4mnIc8cTgfM5Viipc5Pc3R4elDNRCIuVTUwUcDp6iVsUbBkuccBRLW0ldkK+2eC80DoZSGPZ8Ucn+Q\/wAO9ZB17v8AUxT2ukk+2dmcGpgaS4t8x9efirOetrtWymkt7X01vacTTu2Lx3fy91o7dbKS1Uwp6SPhbzLju5x7yequTwKzPPlB8RPFTdlu+f7zMlaDe6KmENssPYvdjtJqnZzvfh259\/6qyg0zV3CpbVagrPtJb+WCPZg9sfL3WmRRdR7F0OFiklJtpbbeR4iijgibFCxscbBhrWjAAXtEVZr0CIiAIiIAiIgMtqyokrqqlsFK78SocHSnub0z7E+gWkpqeOkpoqaFvDHE0NaPAKHT2WngvNRdON75pxjDjkMGBy9lYqcmrJIop05Kcpy1fsERFAvCIiAIiIAiIgCIiAIiIDLveLf\/AGgh78cNfAGgk8jt\/wBgHqtQqy+WWK80waX9lPHvFKAMtP1x5KpZV6stzRFNRRV4GwlY7f15fRWWxJWMak6MpJp2bvdGpRZg37UVQQ2m0+Y3Y3MxOPnwr4LVqO6ngude2lpz+aKnxxHwyP4lMFtWT+oT7EW\/xb3J9z1PQW9xhjJq6o7Nhh3Oe4np9fBV1PY7lfKltZfpCyFrsspGnAHn3fXyV3bbLQWpmKSANdjBkdu4+qnpiUeyc6GVR3qvLktPzzPEUUcETYoWNjjYMNa0YAC9oirNWgREQBERAEREAREQBERAf\/\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "LUIS OSORIO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIGURAR BANDEJAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56990935642",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:13",
    "ubicacionGPS": "LatLng(lat: -23.1006121, lng: -70.4525306)",
    "horaLlegada": "12:50",
    "horaDespacho": "15:39",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


06/05/2026 16:13:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[06/05/2026 16:13: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', 'TO3145', 1, 21773342, 641, NOW(), 
				'15:39', '12:50', '16:13', 15, 'Configuracion', -1, 
				'', '','1','8482',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778098424.png', '', null, 'COMPLETADO','LatLng(lat: -23.1006121, lng: -70.4525306)' )
				
[06/05/2026 16:13:44] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200204

06/05/2026 16:13:44 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200204'                    
				WHERE idllamado = 12476			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


06/05/2026 16:13:44 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12476			
				
06/05/2026 16:13:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


06/05/2026 16:13:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 16:13:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 16:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                [06/05/2026 16:13: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;
                
[06/05/2026 16:13: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;
                

06/05/2026 16:13:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 16:13:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 16:13:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 16:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 16:13:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 16:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                [06/05/2026 16:13: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;
                

06/05/2026 16:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                [06/05/2026 16:13: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;
                

06/05/2026 16:13:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 16:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                [06/05/2026 16:13: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;
                

06/05/2026 16:13:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 16:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            [06/05/2026 16:13: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;
                

06/05/2026 16:13:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12476
            GROUP BY l.idllamado;
            
06/05/2026 16:13:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                
06/05/2026 16:13:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12476
                [06/05/2026 16:41:02] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[06/05/2026 16:41: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;
                
[06/05/2026 16:41:02] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[06/05/2026 16:41: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;
                
[06/05/2026 16:41: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;
				
[06/05/2026 16:41: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;
                
[06/05/2026 16:41: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;
                
[06/05/2026 16:42: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;
				
[06/05/2026 16:42: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;
                
[06/05/2026 16:42: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;
                
[06/05/2026 16:46: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;
                
[06/05/2026 16:46: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;
				
[06/05/2026 16:46: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;
                
[06/05/2026 16:46:49] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[06/05/2026 16:46:49] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[06/05/2026 16:46: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;
                
[06/05/2026 16:46:51] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[06/05/2026 16:46:51] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[06/05/2026 16:46: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;
                
[06/05/2026 16:46: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;
                
[06/05/2026 16:46: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;
				
[06/05/2026 16:46: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;
                
[06/05/2026 16:46: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;
                
[06/05/2026 16:46: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;
				
[06/05/2026 16:46: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;
                
[06/05/2026 16:47:00] 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;
                
[06/05/2026 16: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[06/05/2026 16:47: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;
                
[06/05/2026 16:47:02] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[06/05/2026 16:47:02] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[06/05/2026 16:47: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;
                
[06/05/2026 16:47: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;
                
[06/05/2026 16:47: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;
				
[06/05/2026 16:47: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;
                
[06/05/2026 16:47: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[06/05/2026 16:47:12] 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;
                
[06/05/2026 16:47: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;
                
[06/05/2026 16:47: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;
                
[06/05/2026 16:47: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;
				
[06/05/2026 16:47: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;
                
[06/05/2026 16:47: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;
                
[06/05/2026 16:47: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;
				
[06/05/2026 16:47: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;
                
[06/05/2026 16:47: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;
                
[06/05/2026 16:47: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;
                
[06/05/2026 16:47:38] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[06/05/2026 16:47:38] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[06/05/2026 16: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;
                
[06/05/2026 16:47: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;
                
[06/05/2026 16:47: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;
				
[06/05/2026 16:47: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;
                
[06/05/2026 16:48: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[06/05/2026 16:48:22] 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;
                
[06/05/2026 16:48:23] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 16:48:48] 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;
                

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

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

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

06/05/2026 16:51:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12481
            GROUP BY l.idllamado;
            [06/05/2026 16:51: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;
                
[06/05/2026 16:51:13] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 16:51:14] 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;
                

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

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

06/05/2026 16:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            [06/05/2026 16:51:22] 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;
                
[06/05/2026 16:51:27] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 16:51:27] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

06/05/2026 16:52:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12481
            GROUP BY l.idllamado;
            
06/05/2026 16:52:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12481
            GROUP BY l.idllamado;
            
06/05/2026 16:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                [06/05/2026 16:52: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;
                

06/05/2026 16:52:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12481
            GROUP BY l.idllamado;
            
06/05/2026 16:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:52:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12481
            GROUP BY l.idllamado;
            
06/05/2026 16:52:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12481
            GROUP BY l.idllamado;
            
06/05/2026 16:52:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:52:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12481
            GROUP BY l.idllamado;
            
06/05/2026 16:52:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12481
            GROUP BY l.idllamado;
            [06/05/2026 16:52: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;
                

06/05/2026 16:52:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:52:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:52:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:52:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:52:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                [06/05/2026 16:52: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;
                

06/05/2026 16:52:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:52:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12481
            GROUP BY l.idllamado;
            
06/05/2026 16:52:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:52:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:52:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:52:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12481
            GROUP BY l.idllamado;
            
06/05/2026 16:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:52:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12481
            GROUP BY l.idllamado;
            
06/05/2026 16:52:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:52:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16: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 = 12481
                
06/05/2026 16: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 = 12481
                
06/05/2026 16: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 = 12481
                
06/05/2026 16:52:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12481
            GROUP BY l.idllamado;
            
06/05/2026 16: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 = 12481
                
06/05/2026 16: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 = 12481
                
06/05/2026 16: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 = 12481
                
06/05/2026 16: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 = 12481
                
06/05/2026 16:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12481
            GROUP BY l.idllamado;
            
06/05/2026 16: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 = 12481
                
06/05/2026 16: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 = 12481
                
06/05/2026 16:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12481
            GROUP BY l.idllamado;
            
06/05/2026 16: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 = 12481
                
06/05/2026 16:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/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 = 12481
                
06/05/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 = 12481
                
06/05/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 = 12481
                
06/05/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 = 12481
                
06/05/2026 16: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 = 12481
                
06/05/2026 16: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 = 12481
                
06/05/2026 16: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 = 12481
                
06/05/2026 16: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 = 12481
                
06/05/2026 16: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 = 12481
                
06/05/2026 16: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 = 12481
                
06/05/2026 16:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/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 = 12481
                
06/05/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 = 12481
                
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12481
            GROUP BY l.idllamado;
            
06/05/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 = 12481
                
06/05/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 = 12481
                
06/05/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 = 12481
                
06/05/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 = 12481
                
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12481
            GROUP BY l.idllamado;
            
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12481
            GROUP BY l.idllamado;
            
06/05/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 = 12481
                
06/05/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 = 12481
                
06/05/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 = 12481
                
06/05/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 = 12481
                
06/05/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 = 12481
                
06/05/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 = 12481
                
06/05/2026 16:54:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12481
            GROUP BY l.idllamado;
            
06/05/2026 16:54:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:54:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:54:21 - logentry: =========================================
FECHA: 06/05/2026 16:54:21
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-BgErc0e4jXe64VI744GZqGw-AOSnSeUeDj-WG_L0jdyGDJrbK5j
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76010685",
    "serieinterna": "KY2180",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "284923",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12481",
    "observacion": "Entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADMAQgDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABGEAABAwMBBAUJBAcGBwEAAAABAAIDBAURBhIhMUETUWGBkRQiIzJxobHB0QdCwuEVJDOSotLwFlJicoKyJTVER3OE8eL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAzEQACAQIDBQYGAgIDAAAAAAAAAQIDESExQQQSMlFhEyJxscHRM0KBkaHhFCMkYnLw8f\/aAAwDAQACEQMRAD8A\/syIiALLumobfavMml6SblDF5zu\/qXBeL7UzVZtNlj6WqO6SUHzYuIPsIxzXTZtM0drDZpAKisO90z9+D2Dl7eKsUUleRllVnOW7S+r0\/Z4Uur6d9QIa2knoi4gB0jSW5PAHcMc+XJUAIIyDkFcV4tUN3oH00oAcRmOTGSx3I\/VZ2ka6aot0lHUnM9E\/onHs5b+fAjuC40mro7CU4VNybvfJ+hvoiKBpCIiAKfpr7UVGrZbXsxinja4DAO0SAN5Pjw61QKKtzg37RakH7xeB4ZVkEnfwMu0TlFwSebLVERVmoIiIAiIgCIiAIiIAiIgCIviWVkMT5ZHBrGNLnOPIDiUB+TTw00RlnlZFG3i55wAuSmvlrrJRFT10L5CcBucEnszxU9FTy6wuck9Q+Rlqp3YiYN3SH+uJ7cLVrdJ2qpgDYIPJZWD0ckRwQeWev4qzdisG8TIqtWfeppW66m2iwdJXSSutzqaqcTVUjujftcSORPw7lvKElZ2L6dRVIKS1CIi4WBERAFmX+6ttFrknyOlcNmJp5uPPHZxWmpJjTqfVAnGDb7cQG5zh7uPxAz2AdanBXd3kUV5uMd2ObwXv9DS0taH2u2l04PlVQduXa4jqH9dZW2iKLbbuyynBU4qK0CmLITR6wu1FwbKBMN2ByO79\/wByp1MN837RHY3bdNv7dw+gUoZNFNfCUH18ynREUDSEREAUDa8v+0SU4BxPNv6tzgr5Q1gjL9e17gAejfO49nnY+atp5S8DDtSvOmupcoiKo3BERAEREAREQBERAEREAU1qqpnqp6WxUhAkrDmR2d7W5+G4k9gVI5wa0ucQABkk8lL6bjkul4rb7N6pd0VPv+7\/APMd5KnDDvcjNtDcrU183lqUVFRw0FHFSwN2Y4xgD4nxXuiKBoSSVkSr2C3faBF0Q2WV0JLwDuJwfm0eKqlL6qHQ3my1QA82fZdn2t\/NVCsnikzNQ7s5x63+6CIirNQREQGVqS4G3WSeZhAkeOjYTyJ3Z7hk9yaat\/6OscERAEkg6R+Os\/lgdyzdVjy252q1jeJZduQf4Ru+G0qdWPCCXMyw79eUuWHq\/QIiKs1BTH\/cT\/1vkqdTDPP+0R+PuU2\/wH1U4a+Bm2j5P+SKdERQNIREQBSOmItrVV7mx6kr259ryfwqtJAGScAKQ0JL09TdZt\/pHsdv7S8qyPDIyVrOtTXj5FgiIqzWEREAREQBERAEREAREQGFq+uNJY3xMBMtUeiaBnO\/j7t3eu+zW8Wy009IAA5jcvxzcd596xK1rLxreCkf50NBH0jhni7cfiW\/1wqVZLCKRlpd+rKfLBev5CIirNRMa7BbaqaUDOxUtyP9J+ipgQRkHIKnNdf8gb\/52\/Aqgh\/YR\/5R8FN8CM0Pjz8F6noiIoGkIiICXhHlf2hzuccikpxsnjxA8PXKqFMWXztZXhx3kAAHs3fRU6nPNGbZuGT5t+YREUDSFMWj0+t7tUf3GCPdw+6PwqnUxo\/0tTd6rnLU8e8n8SnHhbM1bGpTj1b+yKdERQNIREQHLdJRDaquU\/cgef4SpP7PX4lr2bt7WHw2vqtvV1S2m07UA8ZsRtHaT9AVjaVpv0fqaopXDBNGx2\/rIYSO3eT4K6K\/rZ51aX+VDp63LRERUnohERAEREAREQBERAF+OcGtLnEAAZJPJfq5Ls8x2eteOLaeQ\/wldWLOSdk2YWjwauouV1eCTUTbLTw3cfmPBVCw9HMDdM0xH3y8n94j5LcUqnEyjZlajHrj98QiIoGgmteO2bDGMetUNH8Lj8lRsbsMa3OdkAZU1rQiQW2mzvlqRgc+Q+ap1N8KM1PGvP6BERQNIREQExasQ63usLtzpIw8Z58D81TqXrR5Jr6imzssqYSxx4ZOCMf7VUKc9GZtnw3o8m\/cIiKBpPKqmFNSTTnGImOec9gysHQ8HRaf6Qj9tK52ewYb8l2aoqRTadq3ZwXs6Mdu0cfDK9rBTGksNHCRgiIOI6id5+KnlAzPvbQui8\/\/AA0URFA0hEXxLKyGJ8sjg1jGlznHkBxKAmdRj9KagtlobksaemmAwd3b3A+K+ovM+0SbP36bd4D6L50pA6vrKy\/T+c+d5ZFn7rf6wO4r6rPQfaDRO5TU5Ge3DvoFfl3eSPM4kqr1kvtkinRF8ve2NjnvOGtBJPUFQemZd51BTWgsi2DPUyepCw7z1Z6sncvazXaO8URqGM6NzXlj4yc7JHbz3YKxdLQm61tVfKoF7jIWQB3Bg547sDxX3pUeTXe80Q3NZPtMb1DLvlhWuKSa1RhhWqSnGT4ZXsinREVRuCLxZVU8k7oGTMdKz1mB28f1gr2Q4mnkEXHdLpTWmkdU1Ljgeq1vFx6guCz6iFyqfI6ikkpKnoxIGv4OHZ7lJRbVyt1YKag3ibazNSO2NO1xzj0RHjuWmsbVri3TFYR1MHi9qR4kKztSk+jPTTLNjTlEN\/7PO\/tJK1VwWNuzYaAZz+rsPi0Fd6SzZ2krU4rogiIolhL30+Vavs1I3eYiZj45\/AqhS1jP6W1RX3UODoYR0MRHPt8BnvVSrJ4WRm2fvb0+b\/CwCIirNIREQEzrKN8At91YCfI5xtAdRIPH2tx3qjhlZPCyaM5ZI0Oaew715V9FFcKGakm9SVuznqPI9xwVh6VuDomPsla4Mq6Rxa1pPrN7OvHwwrM4+Bl+HXxyl5r9FIiIqzUS+tHmdlBbGO86pqBkA78cB73e5UzWtYwMaMNaMAdQUyP+J69J4xW6LHZtf\/XfwqoVksEkZaPenOfW32CIirNQU1q2skmbBZKRwNRWOG2M+qz8z8Ctq53GC1UMlXOfNYNzRxceQCx9M2+eWWW+XAHymp\/ZtPBsZxj2fT2qyGHeZlrtzfZR1z6L9m3QUUVvoYaSH1Im7Oes8z3nJWBfvRatssw4uJYfZnH4lTqY1V5l6sMvACpwT\/qZ+aQxkNpSjSw0a80U6n9W10kdFHbabJqa53RgDeQznw8PZlb7nBrS5xAAGSTyUrY837UVVeZG5p4PRU4cP65b\/a5cgvmeh3aJNpU45y8tTftVA22WyCjaQejb5xHN3EnxWJQAQfaBcGAbpYA4e3zPzVOpiYCH7RIN2Onpj37nfyrsXe5GtFRULaNexTrI1FeBabfmPzqqbzIGYJyd2T3Z+C11LVR8u19TQE5jo4tst\/xYJB97VyCu8SzaJuMLRzbt9zPr7HNZ7NS3Vpca+CUSTuLidzuXcfiVZ0lSyspIqmPOxKwPGe0JVU7KukmppPUlYWHHURhRFJfprTYam2ZeK6OcxRN+80Hn4g+IU8ai6md7uyz\/ANWvyvc0g0aj1YXuBdQ204b1Ofnfywd48AF9auYaGtt16jG+CQRv3neOIH+7xWtYLS2z2uODAMrhtSnd63VnmAum50Edyt01HJwkbgH+6eR8VzeSl0JdhKVF34nj9dDpa4OaHNIIIyCOaxNYnGmqgZwCWA7v8QWdZtSQ2qkNsu7nxT0h6MHZLtpvLwHuwuS+ajlvFpqIaO3yil3GSeTdgBwO7vxzXYwakiNXaacqLV8WngVtqAbaKNo3AU7AP3QutR9t0m25W2mnrbnUyMfE0sjYcBgwN2\/PZy5Lrl0zX0jxLaLvNEdw6OY7Tcbu7lwx4KLjG+ZZCrV3E9zDxRSrB1TdTSUQoabLqyt9HG1vEAnBPfnA7fYubyDWR3G70gB44aP5F2WrTUVDWPrqqd9bVOPmvl37A7O3tRKMcWxKdSqt2MWr6s6rFa22i1RUo9f1pD1uPH6dy0URQbu7s0xioRUVkgiIuEgiIgCxL\/YBcg2rpHdDXw745AcbWOR+q20XU2ndEKlONSO7Iw7HqBtaPI6\/9WuEeGvjk80vPWB8lr1NQykpZaiQ4ZEwvd7AMrOvGnqO74ldmGpbjZnZxGOzmpe9VF9ttA6010gqY6nAima7LiARkdZ5cevirFFTeBknVqUIvfV+T9zZ0VTudRVNylHpayYknfvAPb2lypVKWzVtporfDSSR1MLoWBhD2ZyRxPHryuqbW9niOAZ5Dz2Y8Y7N+ElGTlex2hWo06SjvIoVy3C40tspTUVcgYwcBzceoDrWAdTXa4YbabNJvOOlnB2ce4e9e1JpmSoqxX3yoNXPjAi+438uzd3rm5biJuu54UlfroctHR1Oq6xlyuUZioIz6Cnz6\/aez4qsAAGAMAI1oa0NaAABgAcl+qMpXLaVJU1zbzYUxrX0UVuqucVSN\/v\/AAqnU3rpm1YGnGdidp9m4j5rtPiRXtXwZHvq65GhtBhiJ8oqj0cYaTnHM7vDvC77Pb22y1QUgG9jcvPW47z71P0crdRasbUAB9Lb4xh3Jz+vxzj\/ACquXZd1KJyi+0nKrpkvX8hTGph5NfbPXNOD0vRuPZkfUqnU9rWnMthM7SQ6mlbIMeHz9y5T4iW1K9JtaY\/bEoVMabBrr5dLvjzHv6KMnfkbufsDV13m6iPShrI3YdUxNaw9RcN\/gM+C6dOURoLFSwu9Ys23b873b\/murCLIyaqVopZLH0RprndQUj6ptU6njM7eDy3f7V0IqzS0nmEREOnjLS007g6anikcOBewEhZ+p2Z01WNbgYYD4ELWWffm7dgrhjPoHnwGVKLxRVViuzl4M+dOu2tP0Jxj0IHhuWksfSjw\/TVGQ7OGuB7MOK2ElxMUXelF9EERFEtCIiAIuKa8WynJEtfTtcOLelGfBZ8+srLCCWzvmxj9nGficKSjJ5IqlWpxzkjdRT1JqwV9XFFS2urfG9waZCAA3PPmPeiOLWZ2FWFRXi7lCiIolgUrTYvetJakOcaa3N2GdRfw+OT24C19QXIWuzzVGcSEbEY63Hh8z3Lx0rbRbrJEHNxLN6STPHJ4DwwrI4RbMtT+yrGnosX6GrJBDMQZYmPI4bTQV+RUtPASYoI4yTkljAMr1RVmmyvcIiIdCIiAKd1xLGywFj3Ye+VoYOsjefcqJQN9fLqOorKuneDRW2PDTv8APJ4keHgB1qymryuZNsnu0nFZv\/rKXStuZb7HDjBkqAJnuHPI3DuGPetlZ2n5Ol0\/QuznELW+Ax8loqMuJ3LqKSpxSysF5VFPHVU74Jm7Ucgw4ZwvVFEsavgyObpS5GWGgfUxutcE\/StB9YjqIxx49m8+xWKxLrW36kq3OordHVUgaOfn557s59y5P7YSRu2amy1cRB87dnHuCtalMxwlRoNrFeN\/x0KZFNR66tTjiSKqiI47TB8ivV2trK1uRLK444CM\/NR7OXItW1UX8yKBFMu11bScRU1XIexg+q\/Dq6tkH6tp+rk6jg\/JpTs5cjn8ujpIp18TRtmhfE71XtLT7CpsXvUkzh0NhEY59KT+SbGsqvi+kogeOMH+Zd3Hqzn8iLyi39Pc+tESPFsqKOT16actx1A\/nlb81XTUwzPURRf53hvxULbLJU1d6uFDNcpIJGEOl6IYEueO7I6+rmt6DRFojOZenqCePSSY+GFKajvXbKNnnW7NRjHLDFnvU6vstMSPKjM4comE+\/h71xf2vqqt2LZZaidp4PfkD3Aj3raprLbKMgwUMDHDg7YBd4neu5RvBZIv3K8s5JeC9yY6XWNafNhpaFvWcH+b4L8\/snW1u+63qeYZyY49wHszu9yqETfemB3+NF8bb8WYkGj7JBjNKZSOcjyfdwWjBbKCm\/YUUEZ62xgFdSKLk3my2NKnHhikERFEsCIsPUt4loYGUdE0vrqrzYg0ZLRzP0\/JdSbdkQqTVOLkzNrXDUuq4qJhD6GhG3KRvDzzHjgeKrlmWG0R2e2thaD0r8PlJOfOxvGeoLTUptPBZIqoQcU5Szeft9AiIoGgIiIAiL4llZDE+WRwaxjS5zjyA4lAY+qrk6htfQQ76irPRRjONx4nwOO8L5FpZa9H1VI1uX+TSOeQN7n7J\/Idy47Q1+ob7JeZmkUtMTHSt3jJz6319o6lQXFpfbapo4mF49xVr7tomKK7XeqvK1l4fsztIu2tMUmTkjbH8ZW0sDRbg7TcIH3XvB8VvqE+Jl2zu9GPggiIol4REQHxJDFMAJY2PA4bTQV5NoaNhyykgad28RgLoRLnHFPQ+WtawYa0NHYML6REOhERATEH6p9oNQ3lVU+QOO8AfylU6mL9+ratstUOMhMPvx+NU6nPJMzUMHOPJ+eIREUDSEREARF41c76aklnjhfO5jSRGzi7sCHG7K57IvKmldPTRTOifEZGBxjeMObkcCiBO+J6ryfTQSVEdQ+FjpogQx5G9ueOCvVEDSeYREQ6EREAREQBSd8uEt+rBYrU4kbWaicHzQBxHs+eAqsgEYIyCuahttHbWyNpIGxCRxc7HM\/TsUotLEprQlUSinZanpSUsVFSx00DdmOJuy0L7mbtwvZjO00jHWvtFEtskrIm9CO2rA4ZzszuHs3A\/NUimNDgx0FZCRs7FUfNPEbgPkqdTqcTM+y\/AiERFA0hERAEREAREQBERATGtgYoKCsA\/YVIyern+FUwIIyDkFYusIOn03UHGTGWvHcRn3ErvtFR5VZ6SfOS+FuTnO\/G\/wB6m8YIzQwryXNJ+h2IiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgJjSuYbxe6bk2faGOHF35KnUxaTsa6usfDajDsfu7\/eqdTqZ3M2y4U7cm\/MIiKBpCIiAIiIAiIgCIiA5rjA6qtlVTtbtOlhe1o6yQcLi0zTVNJYaenqozHIza80neAXEj4rWRdvhYr7Nb+\/rawREXCwIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAmAPJvtEdn\/q6bd3D\/wDCp1MXgGHWtonxgPaYweGeO7+L3qnU56PoZtnwc1188QiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAmNV+iu1kqR9yowfZlv5qnXHcbXTXSOJlSHERSCRuycbwuxSbvFFEIONSb528giIol4REQBERAEREAREQBERAEREAREQBERAEREB\/\/Z",
    "razonSocial": "SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "PASCUALA SEGURA",
    "correoContacto": "p.segura@tmetalspa.onmicrosoft.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28594\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "16:54",
    "ubicacionGPS": "LatLng(lat: -23.6515968, lng: -70.3998836)",
    "horaLlegada": "13:51",
    "horaDespacho": "14:30",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 06/05/2026 16:54:21
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-BgErc0e4jXe64VI744GZqGw-AOSnSeUeDj-WG_L0jdyGDJrbK5j
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76010685",
    "serieinterna": "KY2180",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "284923",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12481",
    "observacion": "Entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADMAQgDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABGEAABAwMBBAUJBAcGBwEAAAABAAIDBAURBhIhMUETUWGBkRQiIzJxobHB0QdCwuEVJDOSotLwFlJicoKyJTVER3OE8eL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAzEQACAQIDBQYGAgIDAAAAAAAAAQIDESExQQQSMlFhEyJxscHRM0KBkaHhFCMkYnLw8f\/aAAwDAQACEQMRAD8A\/syIiALLumobfavMml6SblDF5zu\/qXBeL7UzVZtNlj6WqO6SUHzYuIPsIxzXTZtM0drDZpAKisO90z9+D2Dl7eKsUUleRllVnOW7S+r0\/Z4Uur6d9QIa2knoi4gB0jSW5PAHcMc+XJUAIIyDkFcV4tUN3oH00oAcRmOTGSx3I\/VZ2ka6aot0lHUnM9E\/onHs5b+fAjuC40mro7CU4VNybvfJ+hvoiKBpCIiAKfpr7UVGrZbXsxinja4DAO0SAN5Pjw61QKKtzg37RakH7xeB4ZVkEnfwMu0TlFwSebLVERVmoIiIAiIgCIiAIiIAiIgCIviWVkMT5ZHBrGNLnOPIDiUB+TTw00RlnlZFG3i55wAuSmvlrrJRFT10L5CcBucEnszxU9FTy6wuck9Q+Rlqp3YiYN3SH+uJ7cLVrdJ2qpgDYIPJZWD0ckRwQeWev4qzdisG8TIqtWfeppW66m2iwdJXSSutzqaqcTVUjujftcSORPw7lvKElZ2L6dRVIKS1CIi4WBERAFmX+6ttFrknyOlcNmJp5uPPHZxWmpJjTqfVAnGDb7cQG5zh7uPxAz2AdanBXd3kUV5uMd2ObwXv9DS0taH2u2l04PlVQduXa4jqH9dZW2iKLbbuyynBU4qK0CmLITR6wu1FwbKBMN2ByO79\/wByp1MN837RHY3bdNv7dw+gUoZNFNfCUH18ynREUDSEREAUDa8v+0SU4BxPNv6tzgr5Q1gjL9e17gAejfO49nnY+atp5S8DDtSvOmupcoiKo3BERAEREAREQBERAEREAU1qqpnqp6WxUhAkrDmR2d7W5+G4k9gVI5wa0ucQABkk8lL6bjkul4rb7N6pd0VPv+7\/APMd5KnDDvcjNtDcrU183lqUVFRw0FHFSwN2Y4xgD4nxXuiKBoSSVkSr2C3faBF0Q2WV0JLwDuJwfm0eKqlL6qHQ3my1QA82fZdn2t\/NVCsnikzNQ7s5x63+6CIirNQREQGVqS4G3WSeZhAkeOjYTyJ3Z7hk9yaat\/6OscERAEkg6R+Os\/lgdyzdVjy252q1jeJZduQf4Ru+G0qdWPCCXMyw79eUuWHq\/QIiKs1BTH\/cT\/1vkqdTDPP+0R+PuU2\/wH1U4a+Bm2j5P+SKdERQNIREQBSOmItrVV7mx6kr259ryfwqtJAGScAKQ0JL09TdZt\/pHsdv7S8qyPDIyVrOtTXj5FgiIqzWEREAREQBERAEREAREQGFq+uNJY3xMBMtUeiaBnO\/j7t3eu+zW8Wy009IAA5jcvxzcd596xK1rLxreCkf50NBH0jhni7cfiW\/1wqVZLCKRlpd+rKfLBev5CIirNRMa7BbaqaUDOxUtyP9J+ipgQRkHIKnNdf8gb\/52\/Aqgh\/YR\/5R8FN8CM0Pjz8F6noiIoGkIiICXhHlf2hzuccikpxsnjxA8PXKqFMWXztZXhx3kAAHs3fRU6nPNGbZuGT5t+YREUDSFMWj0+t7tUf3GCPdw+6PwqnUxo\/0tTd6rnLU8e8n8SnHhbM1bGpTj1b+yKdERQNIREQHLdJRDaquU\/cgef4SpP7PX4lr2bt7WHw2vqtvV1S2m07UA8ZsRtHaT9AVjaVpv0fqaopXDBNGx2\/rIYSO3eT4K6K\/rZ51aX+VDp63LRERUnohERAEREAREQBERAF+OcGtLnEAAZJPJfq5Ls8x2eteOLaeQ\/wldWLOSdk2YWjwauouV1eCTUTbLTw3cfmPBVCw9HMDdM0xH3y8n94j5LcUqnEyjZlajHrj98QiIoGgmteO2bDGMetUNH8Lj8lRsbsMa3OdkAZU1rQiQW2mzvlqRgc+Q+ap1N8KM1PGvP6BERQNIREQExasQ63usLtzpIw8Z58D81TqXrR5Jr6imzssqYSxx4ZOCMf7VUKc9GZtnw3o8m\/cIiKBpPKqmFNSTTnGImOec9gysHQ8HRaf6Qj9tK52ewYb8l2aoqRTadq3ZwXs6Mdu0cfDK9rBTGksNHCRgiIOI6id5+KnlAzPvbQui8\/\/AA0URFA0hEXxLKyGJ8sjg1jGlznHkBxKAmdRj9KagtlobksaemmAwd3b3A+K+ovM+0SbP36bd4D6L50pA6vrKy\/T+c+d5ZFn7rf6wO4r6rPQfaDRO5TU5Ge3DvoFfl3eSPM4kqr1kvtkinRF8ve2NjnvOGtBJPUFQemZd51BTWgsi2DPUyepCw7z1Z6sncvazXaO8URqGM6NzXlj4yc7JHbz3YKxdLQm61tVfKoF7jIWQB3Bg547sDxX3pUeTXe80Q3NZPtMb1DLvlhWuKSa1RhhWqSnGT4ZXsinREVRuCLxZVU8k7oGTMdKz1mB28f1gr2Q4mnkEXHdLpTWmkdU1Ljgeq1vFx6guCz6iFyqfI6ikkpKnoxIGv4OHZ7lJRbVyt1YKag3ibazNSO2NO1xzj0RHjuWmsbVri3TFYR1MHi9qR4kKztSk+jPTTLNjTlEN\/7PO\/tJK1VwWNuzYaAZz+rsPi0Fd6SzZ2krU4rogiIolhL30+Vavs1I3eYiZj45\/AqhS1jP6W1RX3UODoYR0MRHPt8BnvVSrJ4WRm2fvb0+b\/CwCIirNIREQEzrKN8At91YCfI5xtAdRIPH2tx3qjhlZPCyaM5ZI0Oaew715V9FFcKGakm9SVuznqPI9xwVh6VuDomPsla4Mq6Rxa1pPrN7OvHwwrM4+Bl+HXxyl5r9FIiIqzUS+tHmdlBbGO86pqBkA78cB73e5UzWtYwMaMNaMAdQUyP+J69J4xW6LHZtf\/XfwqoVksEkZaPenOfW32CIirNQU1q2skmbBZKRwNRWOG2M+qz8z8Ctq53GC1UMlXOfNYNzRxceQCx9M2+eWWW+XAHymp\/ZtPBsZxj2fT2qyGHeZlrtzfZR1z6L9m3QUUVvoYaSH1Im7Oes8z3nJWBfvRatssw4uJYfZnH4lTqY1V5l6sMvACpwT\/qZ+aQxkNpSjSw0a80U6n9W10kdFHbabJqa53RgDeQznw8PZlb7nBrS5xAAGSTyUrY837UVVeZG5p4PRU4cP65b\/a5cgvmeh3aJNpU45y8tTftVA22WyCjaQejb5xHN3EnxWJQAQfaBcGAbpYA4e3zPzVOpiYCH7RIN2Onpj37nfyrsXe5GtFRULaNexTrI1FeBabfmPzqqbzIGYJyd2T3Z+C11LVR8u19TQE5jo4tst\/xYJB97VyCu8SzaJuMLRzbt9zPr7HNZ7NS3Vpca+CUSTuLidzuXcfiVZ0lSyspIqmPOxKwPGe0JVU7KukmppPUlYWHHURhRFJfprTYam2ZeK6OcxRN+80Hn4g+IU8ai6md7uyz\/ANWvyvc0g0aj1YXuBdQ204b1Ofnfywd48AF9auYaGtt16jG+CQRv3neOIH+7xWtYLS2z2uODAMrhtSnd63VnmAum50Edyt01HJwkbgH+6eR8VzeSl0JdhKVF34nj9dDpa4OaHNIIIyCOaxNYnGmqgZwCWA7v8QWdZtSQ2qkNsu7nxT0h6MHZLtpvLwHuwuS+ajlvFpqIaO3yil3GSeTdgBwO7vxzXYwakiNXaacqLV8WngVtqAbaKNo3AU7AP3QutR9t0m25W2mnrbnUyMfE0sjYcBgwN2\/PZy5Lrl0zX0jxLaLvNEdw6OY7Tcbu7lwx4KLjG+ZZCrV3E9zDxRSrB1TdTSUQoabLqyt9HG1vEAnBPfnA7fYubyDWR3G70gB44aP5F2WrTUVDWPrqqd9bVOPmvl37A7O3tRKMcWxKdSqt2MWr6s6rFa22i1RUo9f1pD1uPH6dy0URQbu7s0xioRUVkgiIuEgiIgCxL\/YBcg2rpHdDXw745AcbWOR+q20XU2ndEKlONSO7Iw7HqBtaPI6\/9WuEeGvjk80vPWB8lr1NQykpZaiQ4ZEwvd7AMrOvGnqO74ldmGpbjZnZxGOzmpe9VF9ttA6010gqY6nAima7LiARkdZ5cevirFFTeBknVqUIvfV+T9zZ0VTudRVNylHpayYknfvAPb2lypVKWzVtporfDSSR1MLoWBhD2ZyRxPHryuqbW9niOAZ5Dz2Y8Y7N+ElGTlex2hWo06SjvIoVy3C40tspTUVcgYwcBzceoDrWAdTXa4YbabNJvOOlnB2ce4e9e1JpmSoqxX3yoNXPjAi+438uzd3rm5biJuu54UlfroctHR1Oq6xlyuUZioIz6Cnz6\/aez4qsAAGAMAI1oa0NaAABgAcl+qMpXLaVJU1zbzYUxrX0UVuqucVSN\/v\/AAqnU3rpm1YGnGdidp9m4j5rtPiRXtXwZHvq65GhtBhiJ8oqj0cYaTnHM7vDvC77Pb22y1QUgG9jcvPW47z71P0crdRasbUAB9Lb4xh3Jz+vxzj\/ACquXZd1KJyi+0nKrpkvX8hTGph5NfbPXNOD0vRuPZkfUqnU9rWnMthM7SQ6mlbIMeHz9y5T4iW1K9JtaY\/bEoVMabBrr5dLvjzHv6KMnfkbufsDV13m6iPShrI3YdUxNaw9RcN\/gM+C6dOURoLFSwu9Ys23b873b\/murCLIyaqVopZLH0RprndQUj6ptU6njM7eDy3f7V0IqzS0nmEREOnjLS007g6anikcOBewEhZ+p2Z01WNbgYYD4ELWWffm7dgrhjPoHnwGVKLxRVViuzl4M+dOu2tP0Jxj0IHhuWksfSjw\/TVGQ7OGuB7MOK2ElxMUXelF9EERFEtCIiAIuKa8WynJEtfTtcOLelGfBZ8+srLCCWzvmxj9nGficKSjJ5IqlWpxzkjdRT1JqwV9XFFS2urfG9waZCAA3PPmPeiOLWZ2FWFRXi7lCiIolgUrTYvetJakOcaa3N2GdRfw+OT24C19QXIWuzzVGcSEbEY63Hh8z3Lx0rbRbrJEHNxLN6STPHJ4DwwrI4RbMtT+yrGnosX6GrJBDMQZYmPI4bTQV+RUtPASYoI4yTkljAMr1RVmmyvcIiIdCIiAKd1xLGywFj3Ye+VoYOsjefcqJQN9fLqOorKuneDRW2PDTv8APJ4keHgB1qymryuZNsnu0nFZv\/rKXStuZb7HDjBkqAJnuHPI3DuGPetlZ2n5Ol0\/QuznELW+Ax8loqMuJ3LqKSpxSysF5VFPHVU74Jm7Ucgw4ZwvVFEsavgyObpS5GWGgfUxutcE\/StB9YjqIxx49m8+xWKxLrW36kq3OordHVUgaOfn557s59y5P7YSRu2amy1cRB87dnHuCtalMxwlRoNrFeN\/x0KZFNR66tTjiSKqiI47TB8ivV2trK1uRLK444CM\/NR7OXItW1UX8yKBFMu11bScRU1XIexg+q\/Dq6tkH6tp+rk6jg\/JpTs5cjn8ujpIp18TRtmhfE71XtLT7CpsXvUkzh0NhEY59KT+SbGsqvi+kogeOMH+Zd3Hqzn8iLyi39Pc+tESPFsqKOT16actx1A\/nlb81XTUwzPURRf53hvxULbLJU1d6uFDNcpIJGEOl6IYEueO7I6+rmt6DRFojOZenqCePSSY+GFKajvXbKNnnW7NRjHLDFnvU6vstMSPKjM4comE+\/h71xf2vqqt2LZZaidp4PfkD3Aj3raprLbKMgwUMDHDg7YBd4neu5RvBZIv3K8s5JeC9yY6XWNafNhpaFvWcH+b4L8\/snW1u+63qeYZyY49wHszu9yqETfemB3+NF8bb8WYkGj7JBjNKZSOcjyfdwWjBbKCm\/YUUEZ62xgFdSKLk3my2NKnHhikERFEsCIsPUt4loYGUdE0vrqrzYg0ZLRzP0\/JdSbdkQqTVOLkzNrXDUuq4qJhD6GhG3KRvDzzHjgeKrlmWG0R2e2thaD0r8PlJOfOxvGeoLTUptPBZIqoQcU5Szeft9AiIoGgIiIAiL4llZDE+WRwaxjS5zjyA4lAY+qrk6htfQQ76irPRRjONx4nwOO8L5FpZa9H1VI1uX+TSOeQN7n7J\/Idy47Q1+ob7JeZmkUtMTHSt3jJz6319o6lQXFpfbapo4mF49xVr7tomKK7XeqvK1l4fsztIu2tMUmTkjbH8ZW0sDRbg7TcIH3XvB8VvqE+Jl2zu9GPggiIol4REQHxJDFMAJY2PA4bTQV5NoaNhyykgad28RgLoRLnHFPQ+WtawYa0NHYML6REOhERATEH6p9oNQ3lVU+QOO8AfylU6mL9+ratstUOMhMPvx+NU6nPJMzUMHOPJ+eIREUDSEREARF41c76aklnjhfO5jSRGzi7sCHG7K57IvKmldPTRTOifEZGBxjeMObkcCiBO+J6ryfTQSVEdQ+FjpogQx5G9ueOCvVEDSeYREQ6EREAREQBSd8uEt+rBYrU4kbWaicHzQBxHs+eAqsgEYIyCuahttHbWyNpIGxCRxc7HM\/TsUotLEprQlUSinZanpSUsVFSx00DdmOJuy0L7mbtwvZjO00jHWvtFEtskrIm9CO2rA4ZzszuHs3A\/NUimNDgx0FZCRs7FUfNPEbgPkqdTqcTM+y\/AiERFA0hERAEREAREQBERATGtgYoKCsA\/YVIyern+FUwIIyDkFYusIOn03UHGTGWvHcRn3ErvtFR5VZ6SfOS+FuTnO\/G\/wB6m8YIzQwryXNJ+h2IiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgJjSuYbxe6bk2faGOHF35KnUxaTsa6usfDajDsfu7\/eqdTqZ3M2y4U7cm\/MIiKBpCIiAIiIAiIgCIiA5rjA6qtlVTtbtOlhe1o6yQcLi0zTVNJYaenqozHIza80neAXEj4rWRdvhYr7Nb+\/rawREXCwIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAmAPJvtEdn\/q6bd3D\/wDCp1MXgGHWtonxgPaYweGeO7+L3qnU56PoZtnwc1188QiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAmNV+iu1kqR9yowfZlv5qnXHcbXTXSOJlSHERSCRuycbwuxSbvFFEIONSb528giIol4REQBERAEREAREQBERAEREAREQBERAEREB\/\/Z",
    "razonSocial": "SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "PASCUALA SEGURA",
    "correoContacto": "p.segura@tmetalspa.onmicrosoft.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28594\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "16:54",
    "ubicacionGPS": "LatLng(lat: -23.6515968, lng: -70.3998836)",
    "horaLlegada": "13:51",
    "horaDespacho": "14:30",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


06/05/2026 16:54:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76010685

[06/05/2026 16:54: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('76010685', 'KY2180', 1, 19969062, 284923, NOW(), 
				'14:30', '13:51', '16:54', 10, 'Entrega de insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778100861.png', 'Entrega insumos', null, 'COMPLETADO','LatLng(lat: -23.6515968, lng: -70.3998836)' )
				
[06/05/2026 16:54:21] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200205
[06/05/2026 16:54:21] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200205', 'KYO-I647', 2)
				
[06/05/2026 16:54:21] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28594 and
				    IDproducto = 'KYO-I647'
				

06/05/2026 16:54:21 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'KYO-I647';
                
06/05/2026 16:54:21 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200205'                    
				WHERE idllamado = 12481			
				TO ENVIO: micorreo@miempresa.cl, p.segura@tmetalspa.onmicrosoft.com


06/05/2026 16:54:21 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12481			
				
06/05/2026 16:54:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


06/05/2026 16:54:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:54:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:54:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:54:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:54:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:54:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:54:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12481
            GROUP BY l.idllamado;
            
06/05/2026 16:54:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:54:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                [06/05/2026 16:54: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;
                
[06/05/2026 16:54: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;
                

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

06/05/2026 16: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 = 12481
                
06/05/2026 16: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 = 12481
                
06/05/2026 16: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 = 12481
                
06/05/2026 16: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 = 12481
                
06/05/2026 16:54:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12481
            GROUP BY l.idllamado;
            
06/05/2026 16: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 = 12481
                
06/05/2026 16: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 = 12481
                
06/05/2026 16:54:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12481
            GROUP BY l.idllamado;
            
06/05/2026 16:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12481
                
06/05/2026 16:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [06/05/2026 16:54:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 16:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 16:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 16:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [06/05/2026 16:54:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 16:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 16:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 16:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 16:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 16:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                [06/05/2026 16:54:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 16:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 16:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 16:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 16:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 16:54:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 16:54:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 16:54:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 16:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 16:54:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 16:54:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [06/05/2026 16:54:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 16:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 16:54:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 16:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 16:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                [06/05/2026 16:55:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 16:55:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 16:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 16:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 16:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 16:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 16:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 16:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 16:55:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 16:55:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [06/05/2026 16:55:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 16:55:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 16:55:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 16:55:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 16: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 = 12482
                
06/05/2026 16: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 = 12482
                
06/05/2026 16:55:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 16: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 = 12482
                
06/05/2026 16: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 = 12482
                
06/05/2026 16: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 = 12482
                
06/05/2026 16: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 = 12482
                
06/05/2026 16: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 = 12482
                
06/05/2026 16: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 = 12482
                [06/05/2026 16:55:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 16:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 16:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 16:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 16:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                [06/05/2026 16:55:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 16:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [06/05/2026 16:55:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 16:55:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 16:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 16:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 16:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 16:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 16:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 16:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            [06/05/2026 16:55:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 16:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 16:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 16:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 16:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 16:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 16:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 16:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 16:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 16:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 16:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 16:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 16:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 16:55:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 16:55:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            [06/05/2026 16:55: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;
                

06/05/2026 16:55:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:55:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:55:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 16:55:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            [06/05/2026 16:55: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;
                

06/05/2026 16:55:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:55:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 16:55:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                [06/05/2026 16:55: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;
                

06/05/2026 16:55:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:55:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:55:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:55:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:55:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 16:55:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:55:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 16:55:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            [06/05/2026 16:55:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 16:55:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            [06/05/2026 16:55:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 16:55:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 16:55:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:55:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:55:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:55:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            [06/05/2026 16:55:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 16:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 16:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            [06/05/2026 16:55:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 16:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            [06/05/2026 16:55:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 16:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 16:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 16:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                [06/05/2026 16:56: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;
                

06/05/2026 16:56:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 16:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:56:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 16:56:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 16:56:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 16:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                [06/05/2026 16:56: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;
                

06/05/2026 16:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 16:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                [06/05/2026 16:56:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 17:04: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;
                

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

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

06/05/2026 17:04:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12482
                
06/05/2026 17:04:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                [06/05/2026 17:04: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;
                

06/05/2026 17:04:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:04:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:04:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:04:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:04:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [06/05/2026 17:04: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;
                

06/05/2026 17:04:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                [06/05/2026 17:04: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;
                

06/05/2026 17:04:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:04:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:04:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                [06/05/2026 17:04: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;
                

06/05/2026 17:04:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                [06/05/2026 17:04: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;
                

06/05/2026 17:04:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:04:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                [06/05/2026 17:04: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;
                

06/05/2026 17:04:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:04:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:04:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [06/05/2026 17:04: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;
                

06/05/2026 17:04:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:04:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                [06/05/2026 17:04: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;
                
[06/05/2026 17:04: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;
                

06/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                [06/05/2026 17:04: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;
                

06/05/2026 17:04:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:04:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [06/05/2026 17:04: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;
                
[06/05/2026 17:04: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;
                

06/05/2026 17:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                [06/05/2026 17:04: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;
                
[06/05/2026 17:04: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;
                

06/05/2026 17:04:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:04:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:04:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                [06/05/2026 17:04: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;
                

06/05/2026 17:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:04:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            [06/05/2026 17:04: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;
                

06/05/2026 17:04:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:04:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            [06/05/2026 17:04: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;
                

06/05/2026 17:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:04:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            [06/05/2026 17:04: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;
                

06/05/2026 17:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:04:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:04:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:04:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:04:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:04:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            [06/05/2026 17:04:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 17:04:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 17:04:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 17:05:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:05:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12470
                
06/05/2026 17:05:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:05:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:05:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                [06/05/2026 17:05: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;
                
[06/05/2026 17:05: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;
                

06/05/2026 17:05:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:05:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:05:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:05:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:05:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:05:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:05:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:05:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                [06/05/2026 17:05: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;
                
[06/05/2026 17:05: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;
                

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

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

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

06/05/2026 17:05:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12480
                
06/05/2026 17: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 = 12480
                
06/05/2026 17:05:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12480
                
06/05/2026 17: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 = 12480
                
06/05/2026 17: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 = 12480
                
06/05/2026 17: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 = 12480
                
06/05/2026 17: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 = 12480
                
06/05/2026 17: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 = 12480
                [06/05/2026 17:05:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 17:05:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 17:05:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 17:05:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 17:05:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12480
                
06/05/2026 17: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 = 12480
                
06/05/2026 17:05:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            [06/05/2026 17:05:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 17: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 = 12480
                
06/05/2026 17: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 = 12480
                
06/05/2026 17:05:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12480
                
06/05/2026 17: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 = 12480
                
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12480
                
06/05/2026 17: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 = 12480
                
06/05/2026 17:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 17:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 17:05:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 17:05:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 17:05:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 17:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 17:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                [06/05/2026 17:05: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;
                
[06/05/2026 17:05: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;
                
[06/05/2026 17:05: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;
                

06/05/2026 17:05:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 17:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 17:05:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 17:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                [06/05/2026 17:05: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;
                

06/05/2026 17:05:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 17:05:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 17:05:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                [06/05/2026 17:05:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 17:05:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 17:05:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 17:05:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 17:05:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 17:05:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 17:05:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
06/05/2026 17:05:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 17:05:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 17:05:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 17:05:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 17:05:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 17:05:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
06/05/2026 17:05:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:05:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            [06/05/2026 17:05:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 17:05:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:05:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                [06/05/2026 17:05:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 17:05:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                [06/05/2026 17:05:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 17:05:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:05:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:05:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:05:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                [06/05/2026 17:37:14] 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;
                
[06/05/2026 17:37: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[06/05/2026 17:37: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;
                

06/05/2026 17:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            
06/05/2026 17:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            [06/05/2026 17:37:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 17:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
06/05/2026 17:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            [06/05/2026 17:37:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

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

06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12470
                
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/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 = 12470
                
06/05/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 = 12470
                
06/05/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 = 12470
                
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/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 = 12470
                
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/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 = 12470
                
06/05/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 = 12470
                
06/05/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 = 12470
                
06/05/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 = 12470
                
06/05/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 = 12470
                
06/05/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 = 12470
                
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/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 = 12470
                [06/05/2026 17:38:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 17:38:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/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 = 12470
                
06/05/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 = 12470
                
06/05/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 = 12470
                
06/05/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 = 12470
                [06/05/2026 17:38:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/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 = 12470
                
06/05/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 = 12470
                
06/05/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 = 12470
                
06/05/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 = 12470
                
06/05/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 = 12470
                
06/05/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 = 12470
                
06/05/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 = 12470
                
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/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 = 12470
                
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            [06/05/2026 17:38:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 17:38:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/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 = 12470
                
06/05/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 = 12470
                
06/05/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 = 12470
                [06/05/2026 17:38:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

06/05/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 = 12470
                
06/05/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 = 12470
                [06/05/2026 17:38: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;
                

06/05/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 = 12470
                
06/05/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 = 12470
                
06/05/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 = 12470
                
06/05/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 = 12470
                
06/05/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 = 12470
                [06/05/2026 17:38: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;
                
[06/05/2026 17:38: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;
                

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

06/05/2026 17:38:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/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 = 12470
                
06/05/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 = 12470
                
06/05/2026 17:38:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:38:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:38:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:38:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:38:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:38:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [06/05/2026 17:38: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;
                
[06/05/2026 17:38: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;
                

06/05/2026 17:38:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:38:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:38:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:38:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:38:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                [06/05/2026 17:38: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;
                

06/05/2026 17:38:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/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 = 12482
                
06/05/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 = 12482
                
06/05/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 = 12482
                
06/05/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 = 12482
                [06/05/2026 17:38:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 17:38:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 17:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/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 = 12482
                
06/05/2026 17:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/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 = 12482
                
06/05/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 = 12482
                
06/05/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 = 12482
                
06/05/2026 17:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 17:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [06/05/2026 17:38:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/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 = 12482
                
06/05/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 = 12482
                
06/05/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 = 12482
                
06/05/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 = 12482
                
06/05/2026 17:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 17:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                [06/05/2026 17:38: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;
                

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

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

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

06/05/2026 17:38:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [06/05/2026 17:38:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

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

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

06/05/2026 17:38:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:38:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                [06/05/2026 17:38: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;
                
[06/05/2026 17:38: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;
                

06/05/2026 17:38:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:38:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:38:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:38:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:38:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                [06/05/2026 17:38: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;
                

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

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

06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17:40:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:40:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                [06/05/2026 17:40: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;
                
[06/05/2026 17:40: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;
                

06/05/2026 17:40:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:40:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:40:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:40:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:40:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            [06/05/2026 17: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;
                

06/05/2026 17: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 = 12470
                
06/05/2026 17:40:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17:40:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:40:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:40:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:40:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:40:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:40:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:40:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:40:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:40:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            [06/05/2026 17:40: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;
                

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

06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                [06/05/2026 17:40: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;
                
[06/05/2026 17:40: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;
                

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

06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12470
                
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17:40:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17:40:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12470
                
06/05/2026 17:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17:40:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12470
                
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:41:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:41:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17:41:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12470
                
06/05/2026 17:41:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17: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 = 12470
                
06/05/2026 17:41:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:41:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:41:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:41:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:58 - logentry: =========================================
FECHA: 06/05/2026 17:41:58
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-DC1Y_jYvV7hVOjmK-VWKvmtS422n.+Kfk4CywgNb0K85knYUGAj
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76148340",
    "serieinterna": "KY2064",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12470",
    "observacion": "se entrega toner en recepcion ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACWAMwDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCBwH\/xABIEAABAwMBBAUIBAoJBQAAAAABAAIDBAURBhIhMUETUWGBsRQiMnGRocHRFRZVkiMlMzRCUmJyotIkgpOywtPh8PEHNTZD4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgMFBwMFAQAAAAAAAAABAgMREiExBBNBUZEUIjJhcbHRQoGhM1Lh8PHB\/9oADAMBAAIRAxEAPwD7MiIgCIiAnL1cq6e9QWa1z9DIRtyS7OdncTg92D3jrXqw3iqdXT2i6keVxEljtnHSN\/43+pYbF\/SdX3mq49GRFnvx\/gXrV1M+nFNe6VuJ6R42yP0mHr7939Yq6y8J52KdnXT0by8tP5KVFhpahlXSQ1MfoSsDxnqIysypPQTuroIiIdCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAmNG+c+6OxvNUc+9UNVTsq6Samk9CVhYcdRGFPaO82W6xni2pOff8AJU6sqeIy7Kr0Un5+5N6MqHijqbbMT0lFKW4JG4Hl7QfaqRSzdq1a7cHDZguTNxzgbXzyP4lUrk9b8zuzO0MD+l2+PwERFA0hERAEREAREQBERAERcbVVdJQWKWSJxa95DA4HBGepdSu7EKk1CLk+B2UUfHLcdMTw1NVNLV2+pAMznekx7gMnGez39arIZo6iFk0Lw+N4y1zTuIXZRsQpVVO6as1wMiIiiXBERAEREAREQExpn8Df75T8um2wO93zCp1MW78Dr65RHcJYQ8dvo\/MqnU6mtzNsuUHHk37k9rKhM9pFZESJ6JwkYW8cZGfge5de21zLlboKyMYErckdR4Ee3KzyxtmifE8Za9pa4dhU5pCR9LJXWaXO1SylzNrm09nv\/rLusPQ4+5XT4S91\/BTIiKs1BERAEREAREQBERAFM66y+1U0DT58tS0AZ47j8wqZS+qz012stICMPqNpw7MtHzU6fiRm2v8ARa5\/JRz08NTTvp5o2vieNlzCNxCmtPOfab\/WWJ0xfAG9JBtcuBwO4+7KqlL6hP0fqa1XMbmvJhkPLHb3OPsXYZ3ic2hYcNTk\/wAMqERFWagiIgCIiAIiICYrs0+v6CTg2eAtPrw7\/RU6ltXA09xtFwHCKfZccdoPwKqVZLRMzUcp1I+d+qCmLkRa9aUVaBiOuZ0Mhx+lwBzy\/R9hVOuBrKjdUWXyiP8AK0jxK0gb8cD8+5chrbmd2lPd4lqs+h30Wtb6oV1vp6oDHSxh2Oo4WyoaF6aaugi\/C4NGXEAdZWCSuo4jiSrgYep0gCBtLU2EWg6+WluM3Kl39UzT4FYX6msrDg3CI\/u5PgFLC+RB1aa1kup1UXI+tVj+0Gfdd8k+tVj+0Gfdd8kwS5HN\/S\/cup10XLZqSzSYxcYRn9Y48VtR3O3y\/k66mfj9WVp+K5ha4ElUg9GjaUxcc1OvbdCN7YYS92OR84\/yqlY9kjdpjg4dYOVNUn4b\/qHWl28QUwDSOW5nzKnDj6FO0ZqC5tfJTrg6ypTUafkkaCX072ytxxHI+4k9y7yw1dO2ro5qZ\/oysLD3jCjF2aZbVhjpuPMx2yqFbbKapzkyRgn143+9bSnNEzudZn0kg2ZKWVzC08Rnf45VGklaTRyjPHTjIIiKJaERY5poqeMyTysiYOLnuAA7yg0MiLgVes7RTP2I5JKl3DELMjPrOPctb6z3WrH4usMzmk+bJLnB9wHvU93IzvaqSdk7+mfsbOtYOm07I\/Gehka\/34+K6VPcacWunq6ieOJssTXbT34G8Z5qdq7fqq6UcrayenghLCTC3BLsb8c+rrWvpjTluutuZWVRmle1xYY9vDd3q38COanhWHNmbezda8I6rjlp\/p16nWdsjcI6UTVkrtzWxMO8+s\/DK1J7lqS608kVPZGRQzMLD0zt+CMHiR19So6Sgo6BmxSU0cIxg7DcE+s8SvdTO2lpZah+NmJhccnHAKOKK0Re6dSS787en83IjTsN\/rbZ0VDcYqamheWFpb5wJ3nl29a6v1VuM2PKdQ1T+WGggY+8smiIXtsjp3\/++ZzhgcuHiCqNSnNqTsU7Ps8JUoud3lzZMDQtA85nrKuU\/vjv5LPHomysGHRSv7XSH4YVAihvJczQtlor6UcZukrE3OKAb+uR58SszNOWZnC3QHdje3Piumi5ilzJqjSWkV0Of9AWj7Npv7MJ9AWj7Npv7MLoIuYnzO7qn+1dDlv03ZpM5t0Iz+qMeC1pNGWN\/o0z4\/3ZXfEld1F3HJcSLoUnrFdCafoijYdqjraumfyIeCB4Hq58lxLfS3uHUFeygq2TVEA2ZHzcZRuA457OfJfQFMWP\/wAwvPd4qyM207mSts9OM4Ycrvh6M\/Df7\/QH8YWMyNHF9OTj17s\/BZodbWtx2Khs9M8HDg+POPZ8lRLDPS01U3ZqKeKYdUjA7xUMUXqjRuq0fDPqv8JbTtZTt1ZcYaaYSQVQ6VhHAnif7x9ir1861ZTW6hroHWySJjtlwkZC7JY4cM793H3K4tElTLaqd9Y0tnLfPBGOfrPLnzU6iyUinZKjUpUnwzy0zN1ERUm8mtV3O8Wp8U9GY20hAa5xAJ28ndv5Ywo+5y3Z07ZLs2eTftNbNkMOeoDAHDl1L6Rd7eLpbJqMv2DIPNd1Hkp+i1D9GRNtWoKd7XxeYJdnba5oxgnr3Y6\/atFOWWSzPK2qleffm1F9L8jj0WrjQMDYLTRRkDGY2lpPrO8ldaHW1ZMcR2V05JwBDLteDSuvHb9PXZplhp6SbjtGMAHvwsE2irLKCGRSw55slJx7co5U3qjsaW1RXcmmv75Gv9cJ2bp7FWRnqwe\/iAuPp\/UlLYxV09RBUdG+Xbja1oy3rzkjkAuudGyw\/mF6q6fHAEk4HVuIXHq6K82W\/U8gr2PqawbAneNxxgYOQf2d\/auxwO6RXUe0wanPh6PXodp2t6SQ7FHQ1dTJ+qGgeGfBYPIr5qWUC5NNBQNdkwt3Ofj\/AHxPsWQDWMAw2OieAeAwM9vJevLtZ\/ZNH98f5ijZLw26lrlKeVXE1yUbfJR08EdLTx08LdmOJoa0dQCyKY8u1n9k0f3x\/mJ9J6uZufZqcn9l3\/2VDA+aNK2iK+l9GU6KY+mtTN3OsIJ62u3eKfTmpPsD+Irm7Z3tUOT6Mp0Ux9MapfvZY4wP2nf6hPpHV8m5lopmdZc4fzpgfMdpjwT6Mp0Ux0Ws6jf09HS55YBx7ivw6fv9VgVl\/cxoPCEEZ9mEwLixv5Pwwf4RRz1VPTN2qieOIdcjw3xXLqNWWSnJBrRIeqNpd7wMLVg0PamEOnfPUO57b8A+zf7106exWmlx0VvgBByC5gcR3neu9xC+0S4Jfn4OSdbU8p2aK31dS7saB4ZXFt1wvDr\/AF89BbQZ5vykMp\/J9WckK\/DQ0YaAB1BTNrHRa6usXJ0Qf\/dPxUoyjZ2RnrU6mKGKfHgrcGOg1jV+lU0tIOpoBPgfFBpCoqh+Mr1VVA5sacAe0nt5c1Toobx8DR2WD8Tb9WR+otM2+gsUlRRRFksLmuLy8kkZwRx7c9yprbVCuttNVZBMsbXHHXjePbla+onbOn644z+BI9u5eNMg\/V2i2nFxLM5PrK623C7IwhGnXcYqya\/6dVERVmsLHNBDUx9HPEyVh\/Re0OHsKyIgauTtXoygkkEtFLLRSgkgxnIHdx961xHq20Y2Hx3OEY3O9L4Hx8VVIp43xzMz2aF7w7r8v7YmWa0ihIZcbdVUjuB83IB78FaWpLza7taWS0dWBVU0jZI2lpa7tAz7e5WLmte0te0OaeIIyCufU6etFWD0tBCC7i5jdg+vIwpRlFO9iupRryg44k781b2Ni21rLhb4aphH4RgLhkHBxvC2l8\/0\/pynr31kE1RUQVdJLskxkAY5bsZ4g8+pdj6rXSnH9D1BUNGdzH5x4\/BJQina4pV6soKWC\/3RUIpjyLWFNkx3GmqGjg143n+H4p5drCHzX2ulmA3bTXDf2+l8FHB5os7RbWDX2+CnRTH09qFm9+nnEfsk\/wCqfWi6jIdpmryOou3n7ibuQ7VT436P4KdFMDUV+l\/Jadlb++XDd3gJ9Javf6Fnpm447Th\/OE3bHaYPRN\/ZlOimPLtZ\/ZNH98f5ieVazl3eQUcPbtA\/4imDzQ7Sv2y6Mp0UwaTWco\/7hSQ9mB\/KU+hdSy5E1+DBy6Nu\/wAAmBcxv5PSD\/HyUxIAyTgBSlJV00uvZJaGQTsmg2Jng5aCAPRP9UdfNZfqUyf8+u1ZUn148cruW+10drh6KkgbGObuLnes8128Yp2dyLVWrJYlZJ35s20RFWazj6rfsaZrDv8ARaN3a4BbFhZsWGgG783Yd3aMrR1o\/Z03MN\/nPYP4gfgurbWdHbKVm7zYWDd+6FP6PuZlntD9F7s2URFA0hERAEREAREQEq\/Fo121+CIbjHjcNwf\/AMgfeVUpzWtI6W0srYt0tHIHtcDggHAPvx7F26CrbX2+CrZjErA7AOcHmO47lZLOKZlo9ypKn9199fybCIirNQREQBERAEREAREQBERAEREBNa4k\/FENO3JfNO0AAcQAfjhUULOihZH+o0D2KavZ8t1faaEecIczOHIc9\/3ff2qoU5ZRSM1LvVZy9F0\/0IiKBpCIiAIiIAiIgMVTAyqppaeQZZKwtPqIU7pGqkpn1VjqcNlpXksHW0nfjvOe9U61xQUra51cIG+UubsGTnhSTyaZTOm3OM48PY2ERFEuCIiAIiIAiIgCIiAIiIAp++2u5msbdbVVvE0TMGAnzXDqA4dxVAsc8zaenkmf6MbC478bgMqUW08iurCM42ZF2W8U9Tqmpr7i9lI8xCNjJDgNIwCMnhwPHrVaLrbnDLa+lI6xM35qb0rZqK42iWqrqdksk8rjtbwQN3AjtyukdG2MnIpXDsErvmrJ4L2MWz79U7qzvn1Nqu1FaqCEySVcch5RxOD3HuB8VmtVzju1C2rijfG1xI2XjB3ePcpa32W3Q6uq7fU0wfGY9uAPO7lw37+fsKtI42RRtjjY1jGjDWtGAB2BRkopWRfQnVqNuVkllbzPSIirNQREQBERAEREAREQBERAEREAREQBERAEREAWOaGOogkglbtRyNLHjOMgjBREGp5pKSChpY6amZsRRjDW5WZEQ4kkrI5F1sZrrhSV9PP5PUU7hl+znab1f76yuuiLrbaRGMFGTa4n\/9k=",
    "razonSocial": "SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ROMY",
    "correoContacto": "rfonseca@colegiosanpatricio.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28588\",\"cantidad_usada\":1,\"cantidad_asignada\":2}]",
    "horaSalida": "17:41",
    "ubicacionGPS": "LatLng(lat: -23.5660324, lng: -70.3934394)",
    "horaLlegada": "08:35",
    "horaDespacho": "16:54",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 06/05/2026 17:41:58
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-DC1Y_jYvV7hVOjmK-VWKvmtS422n.+Kfk4CywgNb0K85knYUGAj
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76148340",
    "serieinterna": "KY2064",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12470",
    "observacion": "se entrega toner en recepcion ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACWAMwDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCBwH\/xABIEAABAwMBBAUIBAoJBQAAAAABAAIDBAURBhIhMUETUWGBsRQiMnGRocHRFRZVkiMlMzRCUmJyotIkgpOywtPh8PEHNTZD4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgMFBwMFAQAAAAAAAAABAgMREiExBBNBUZEUIjJhcbHRQoGhM1Lh8PHB\/9oADAMBAAIRAxEAPwD7MiIgCIiAnL1cq6e9QWa1z9DIRtyS7OdncTg92D3jrXqw3iqdXT2i6keVxEljtnHSN\/43+pYbF\/SdX3mq49GRFnvx\/gXrV1M+nFNe6VuJ6R42yP0mHr7939Yq6y8J52KdnXT0by8tP5KVFhpahlXSQ1MfoSsDxnqIysypPQTuroIiIdCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAmNG+c+6OxvNUc+9UNVTsq6Samk9CVhYcdRGFPaO82W6xni2pOff8AJU6sqeIy7Kr0Un5+5N6MqHijqbbMT0lFKW4JG4Hl7QfaqRSzdq1a7cHDZguTNxzgbXzyP4lUrk9b8zuzO0MD+l2+PwERFA0hERAEREAREQBERAERcbVVdJQWKWSJxa95DA4HBGepdSu7EKk1CLk+B2UUfHLcdMTw1NVNLV2+pAMznekx7gMnGez39arIZo6iFk0Lw+N4y1zTuIXZRsQpVVO6as1wMiIiiXBERAEREAREQExpn8Df75T8um2wO93zCp1MW78Dr65RHcJYQ8dvo\/MqnU6mtzNsuUHHk37k9rKhM9pFZESJ6JwkYW8cZGfge5de21zLlboKyMYErckdR4Ee3KzyxtmifE8Za9pa4dhU5pCR9LJXWaXO1SylzNrm09nv\/rLusPQ4+5XT4S91\/BTIiKs1BERAEREAREQBERAFM66y+1U0DT58tS0AZ47j8wqZS+qz012stICMPqNpw7MtHzU6fiRm2v8ARa5\/JRz08NTTvp5o2vieNlzCNxCmtPOfab\/WWJ0xfAG9JBtcuBwO4+7KqlL6hP0fqa1XMbmvJhkPLHb3OPsXYZ3ic2hYcNTk\/wAMqERFWagiIgCIiAIiICYrs0+v6CTg2eAtPrw7\/RU6ltXA09xtFwHCKfZccdoPwKqVZLRMzUcp1I+d+qCmLkRa9aUVaBiOuZ0Mhx+lwBzy\/R9hVOuBrKjdUWXyiP8AK0jxK0gb8cD8+5chrbmd2lPd4lqs+h30Wtb6oV1vp6oDHSxh2Oo4WyoaF6aaugi\/C4NGXEAdZWCSuo4jiSrgYep0gCBtLU2EWg6+WluM3Kl39UzT4FYX6msrDg3CI\/u5PgFLC+RB1aa1kup1UXI+tVj+0Gfdd8k+tVj+0Gfdd8kwS5HN\/S\/cup10XLZqSzSYxcYRn9Y48VtR3O3y\/k66mfj9WVp+K5ha4ElUg9GjaUxcc1OvbdCN7YYS92OR84\/yqlY9kjdpjg4dYOVNUn4b\/qHWl28QUwDSOW5nzKnDj6FO0ZqC5tfJTrg6ypTUafkkaCX072ytxxHI+4k9y7yw1dO2ro5qZ\/oysLD3jCjF2aZbVhjpuPMx2yqFbbKapzkyRgn143+9bSnNEzudZn0kg2ZKWVzC08Rnf45VGklaTRyjPHTjIIiKJaERY5poqeMyTysiYOLnuAA7yg0MiLgVes7RTP2I5JKl3DELMjPrOPctb6z3WrH4usMzmk+bJLnB9wHvU93IzvaqSdk7+mfsbOtYOm07I\/Gehka\/34+K6VPcacWunq6ieOJssTXbT34G8Z5qdq7fqq6UcrayenghLCTC3BLsb8c+rrWvpjTluutuZWVRmle1xYY9vDd3q38COanhWHNmbezda8I6rjlp\/p16nWdsjcI6UTVkrtzWxMO8+s\/DK1J7lqS608kVPZGRQzMLD0zt+CMHiR19So6Sgo6BmxSU0cIxg7DcE+s8SvdTO2lpZah+NmJhccnHAKOKK0Re6dSS787en83IjTsN\/rbZ0VDcYqamheWFpb5wJ3nl29a6v1VuM2PKdQ1T+WGggY+8smiIXtsjp3\/++ZzhgcuHiCqNSnNqTsU7Ps8JUoud3lzZMDQtA85nrKuU\/vjv5LPHomysGHRSv7XSH4YVAihvJczQtlor6UcZukrE3OKAb+uR58SszNOWZnC3QHdje3Piumi5ilzJqjSWkV0Of9AWj7Npv7MJ9AWj7Npv7MLoIuYnzO7qn+1dDlv03ZpM5t0Iz+qMeC1pNGWN\/o0z4\/3ZXfEld1F3HJcSLoUnrFdCafoijYdqjraumfyIeCB4Hq58lxLfS3uHUFeygq2TVEA2ZHzcZRuA457OfJfQFMWP\/wAwvPd4qyM207mSts9OM4Ycrvh6M\/Df7\/QH8YWMyNHF9OTj17s\/BZodbWtx2Khs9M8HDg+POPZ8lRLDPS01U3ZqKeKYdUjA7xUMUXqjRuq0fDPqv8JbTtZTt1ZcYaaYSQVQ6VhHAnif7x9ir1861ZTW6hroHWySJjtlwkZC7JY4cM793H3K4tElTLaqd9Y0tnLfPBGOfrPLnzU6iyUinZKjUpUnwzy0zN1ERUm8mtV3O8Wp8U9GY20hAa5xAJ28ndv5Ywo+5y3Z07ZLs2eTftNbNkMOeoDAHDl1L6Rd7eLpbJqMv2DIPNd1Hkp+i1D9GRNtWoKd7XxeYJdnba5oxgnr3Y6\/atFOWWSzPK2qleffm1F9L8jj0WrjQMDYLTRRkDGY2lpPrO8ldaHW1ZMcR2V05JwBDLteDSuvHb9PXZplhp6SbjtGMAHvwsE2irLKCGRSw55slJx7co5U3qjsaW1RXcmmv75Gv9cJ2bp7FWRnqwe\/iAuPp\/UlLYxV09RBUdG+Xbja1oy3rzkjkAuudGyw\/mF6q6fHAEk4HVuIXHq6K82W\/U8gr2PqawbAneNxxgYOQf2d\/auxwO6RXUe0wanPh6PXodp2t6SQ7FHQ1dTJ+qGgeGfBYPIr5qWUC5NNBQNdkwt3Ofj\/AHxPsWQDWMAw2OieAeAwM9vJevLtZ\/ZNH98f5ijZLw26lrlKeVXE1yUbfJR08EdLTx08LdmOJoa0dQCyKY8u1n9k0f3x\/mJ9J6uZufZqcn9l3\/2VDA+aNK2iK+l9GU6KY+mtTN3OsIJ62u3eKfTmpPsD+Irm7Z3tUOT6Mp0Ux9MapfvZY4wP2nf6hPpHV8m5lopmdZc4fzpgfMdpjwT6Mp0Ux0Ws6jf09HS55YBx7ivw6fv9VgVl\/cxoPCEEZ9mEwLixv5Pwwf4RRz1VPTN2qieOIdcjw3xXLqNWWSnJBrRIeqNpd7wMLVg0PamEOnfPUO57b8A+zf7106exWmlx0VvgBByC5gcR3neu9xC+0S4Jfn4OSdbU8p2aK31dS7saB4ZXFt1wvDr\/AF89BbQZ5vykMp\/J9WckK\/DQ0YaAB1BTNrHRa6usXJ0Qf\/dPxUoyjZ2RnrU6mKGKfHgrcGOg1jV+lU0tIOpoBPgfFBpCoqh+Mr1VVA5sacAe0nt5c1Toobx8DR2WD8Tb9WR+otM2+gsUlRRRFksLmuLy8kkZwRx7c9yprbVCuttNVZBMsbXHHXjePbla+onbOn644z+BI9u5eNMg\/V2i2nFxLM5PrK623C7IwhGnXcYqya\/6dVERVmsLHNBDUx9HPEyVh\/Re0OHsKyIgauTtXoygkkEtFLLRSgkgxnIHdx961xHq20Y2Hx3OEY3O9L4Hx8VVIp43xzMz2aF7w7r8v7YmWa0ihIZcbdVUjuB83IB78FaWpLza7taWS0dWBVU0jZI2lpa7tAz7e5WLmte0te0OaeIIyCufU6etFWD0tBCC7i5jdg+vIwpRlFO9iupRryg44k781b2Ni21rLhb4aphH4RgLhkHBxvC2l8\/0\/pynr31kE1RUQVdJLskxkAY5bsZ4g8+pdj6rXSnH9D1BUNGdzH5x4\/BJQina4pV6soKWC\/3RUIpjyLWFNkx3GmqGjg143n+H4p5drCHzX2ulmA3bTXDf2+l8FHB5os7RbWDX2+CnRTH09qFm9+nnEfsk\/wCqfWi6jIdpmryOou3n7ibuQ7VT436P4KdFMDUV+l\/Jadlb++XDd3gJ9Javf6Fnpm447Th\/OE3bHaYPRN\/ZlOimPLtZ\/ZNH98f5ieVazl3eQUcPbtA\/4imDzQ7Sv2y6Mp0UwaTWco\/7hSQ9mB\/KU+hdSy5E1+DBy6Nu\/wAAmBcxv5PSD\/HyUxIAyTgBSlJV00uvZJaGQTsmg2Jng5aCAPRP9UdfNZfqUyf8+u1ZUn148cruW+10drh6KkgbGObuLnes8128Yp2dyLVWrJYlZJ35s20RFWazj6rfsaZrDv8ARaN3a4BbFhZsWGgG783Yd3aMrR1o\/Z03MN\/nPYP4gfgurbWdHbKVm7zYWDd+6FP6PuZlntD9F7s2URFA0hERAEREAREQEq\/Fo121+CIbjHjcNwf\/AMgfeVUpzWtI6W0srYt0tHIHtcDggHAPvx7F26CrbX2+CrZjErA7AOcHmO47lZLOKZlo9ypKn9199fybCIirNQREQBERAEREAREQBERAEREBNa4k\/FENO3JfNO0AAcQAfjhUULOihZH+o0D2KavZ8t1faaEecIczOHIc9\/3ff2qoU5ZRSM1LvVZy9F0\/0IiKBpCIiAIiIAiIgMVTAyqppaeQZZKwtPqIU7pGqkpn1VjqcNlpXksHW0nfjvOe9U61xQUra51cIG+UubsGTnhSTyaZTOm3OM48PY2ERFEuCIiAIiIAiIgCIiAIiIAp++2u5msbdbVVvE0TMGAnzXDqA4dxVAsc8zaenkmf6MbC478bgMqUW08iurCM42ZF2W8U9Tqmpr7i9lI8xCNjJDgNIwCMnhwPHrVaLrbnDLa+lI6xM35qb0rZqK42iWqrqdksk8rjtbwQN3AjtyukdG2MnIpXDsErvmrJ4L2MWz79U7qzvn1Nqu1FaqCEySVcch5RxOD3HuB8VmtVzju1C2rijfG1xI2XjB3ePcpa32W3Q6uq7fU0wfGY9uAPO7lw37+fsKtI42RRtjjY1jGjDWtGAB2BRkopWRfQnVqNuVkllbzPSIirNQREQBERAEREAREQBERAEREAREQBERAEREAWOaGOogkglbtRyNLHjOMgjBREGp5pKSChpY6amZsRRjDW5WZEQ4kkrI5F1sZrrhSV9PP5PUU7hl+znab1f76yuuiLrbaRGMFGTa4n\/9k=",
    "razonSocial": "SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ROMY",
    "correoContacto": "rfonseca@colegiosanpatricio.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28588\",\"cantidad_usada\":1,\"cantidad_asignada\":2}]",
    "horaSalida": "17:41",
    "ubicacionGPS": "LatLng(lat: -23.5660324, lng: -70.3934394)",
    "horaLlegada": "08:35",
    "horaDespacho": "16:54",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


06/05/2026 17:41:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76148340

[06/05/2026 17:41: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('76148340', 'KY2064', 1, 19969062, 0, NOW(), 
				'16:54', '08:35', '17:41', 10, 'entrega toner', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778103718.png', 'se entrega toner en recepcion ', null, 'COMPLETADO','LatLng(lat: -23.5660324, lng: -70.3934394)' )
				
[06/05/2026 17:41:58] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200206
[06/05/2026 17:41:58] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200206', 'KYO-I647', 1)
				
[06/05/2026 17:41:58] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28588 and
				    IDproducto = 'KYO-I647'
				

06/05/2026 17:41:58 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
06/05/2026 17:41:58 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200206'                    
				WHERE idllamado = 12470			
				TO ENVIO: micorreo@miempresa.cl, rfonseca@colegiosanpatricio.cl


06/05/2026 17:41:58 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12470			
				
06/05/2026 17:41:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


06/05/2026 17:41:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:41:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:41:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:42:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:42:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                [06/05/2026 17:42: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;
                

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

06/05/2026 17:42:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                [06/05/2026 17:42: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;
                

06/05/2026 17:42:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:42:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:42:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:42:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:42:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:42:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:42:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12470
            GROUP BY l.idllamado;
            
06/05/2026 17:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12470
                
06/05/2026 17:47:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [06/05/2026 17:47: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;
                

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

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

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

06/05/2026 17: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 = 12411
                
06/05/2026 17: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 = 12411
                [06/05/2026 17:47: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;
                
[06/05/2026 17:47: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;
                

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

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

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

06/05/2026 17: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 = 12411
                
06/05/2026 17: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 = 12411
                
06/05/2026 17:47:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:47:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:47:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:47:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:47:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [06/05/2026 17:47: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;
                

06/05/2026 17:47:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:47:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [06/05/2026 17:47: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;
                

06/05/2026 17:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [06/05/2026 17:47: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;
                

06/05/2026 17:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:47:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:47:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [06/05/2026 17:47:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 17:47:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:47:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [06/05/2026 17:47:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 17:47:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 17:47:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:47:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:47:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:47:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:47:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:47:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:47:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [06/05/2026 17:47:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 17:47:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:47:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:47:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:47:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:47:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:47:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:47:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [06/05/2026 17:47:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 17:47:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:47:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:47:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:47:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12411
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12411
                [06/05/2026 17:48: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;
                

06/05/2026 17:48:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:48:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [06/05/2026 17:48: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;
                

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

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

06/05/2026 17:48:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:48:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:48:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [06/05/2026 17:48: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;
                

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

06/05/2026 17:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:48:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            [06/05/2026 17:48: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;
                

06/05/2026 17:48:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                [06/05/2026 17:48: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;
                

06/05/2026 17:48:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:48:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:48:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:48:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                [06/05/2026 17:48: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;
                

06/05/2026 17:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                [06/05/2026 17:48: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;
                

06/05/2026 17:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                [06/05/2026 17:48: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;
                

06/05/2026 17:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                [06/05/2026 17:48: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;
                

06/05/2026 17:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17:50:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            [06/05/2026 17:50: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;
                

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

06/05/2026 17:50:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:50:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:50:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:50:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:50:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:50:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:50:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:50:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            [06/05/2026 17:50: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;
                
[06/05/2026 17:50: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;
                

06/05/2026 17:50:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:50:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                [06/05/2026 17:50: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;
                

06/05/2026 17:50:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:50:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:50:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:50:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:50:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:50:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:50:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17:50:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12443
                
06/05/2026 17:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:50:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:50:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:50:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:50:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:50:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:51:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17:51:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12443
                
06/05/2026 17:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:51:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:51:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17:51:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17:52:26 - logentry: =========================================
FECHA: 06/05/2026 17:52:26
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-zeB0Xzf50TC5ctaASyxNX3o.GlP_B8OV-QhPFNfri1U6ZW07v0s
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "RIS1833",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "1022612",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "contador",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12443",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACEAK4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xABDEAABAwMBBAYGBQkJAQAAAAABAAIDBAURBhIhMUETUWGBkbEUIjJxwdEHFSShwjM0QkNSdILS8BYjJTVERVNikuH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQIDBQcDBQAAAAAAAAAAAQIDERIhMQRBUXHREyIyYaGx4YGR8CMzQlLB\/9oADAMBAAIRAxEAPwD9mREQBEXxzg1pc4gADJJ5ID6izdVqt09X6FZKQ10wOC87mD+uvcPeuBbNWVI2p7vDD\/1jbw8AFPA9+Rme0RbtBOXLT7mnRZaRuqrQ0z9PHcoWjLmbPrD7s+BVxZr1T3qkM8ALHNOJI3cWn4o4tK5KFdSlhaafmWKIigXhERAEREAREQBERAEUG6XaktFMZqmTBPssHtPPYqBkd81QS+SR1ttzuDWj13jzPl2FTUb5vQoqVlF4Yq74deBZXbVFHb3dBTj0yqJwIojnB7SPLiurKy9vnlq7pKxkcrfUpmj2Orfy3Z6172mxUNnjxTR5kPtSv3uPy7lZI2krI5CFSUsVR\/RafIREUDQFk6+rqdT3GS02+To6KE\/aJxv2uwdnnjqUnVFzm2orNbyTV1RwS042G\/DPllWtptcFooGU0I38Xu5vdzKsXdWLeZJt1p9mtFr06npb7dS2ylFPSRhjBxPNx6yetSkRVt3NSSirILK1kQser6Wqiy2nr8skY0bg7dk48D4rVLMaz\/2z95HwVlPWxm2rKni3ppmnREVZqCIiAIiIAiIgCpb5qFlsLaWlYKmulOGQjfs54E48lxqK+OoWtoKEGW4VG5jW7yzPM\/Bd2GwMtgNVUHpa6YZked+znkPmrEkleRlnUlOXZ0\/q+HyRbTpySWoF0vbvSKxx2hGd7Y+oY4ZHgFpERRlJy1LqdKNNWiERFEsCj19bFb6Garm9iJu1jrPId5wFIWPvlab9eYLDTNeGRzZqHHgce48AM9+FKEbsor1ezhlq8lzJelKOWp6W+13rVNUSGEjGGDd8Me4BaVcsY2NjWMGGtAAHUF0knidyVKn2cFEIiKJaFmNTn0i9WWjG8GfbeD1Aj4ZWnWXiH1jr+SXiygh2QT14+bj4KcNbmbac4qHFrqahERQNIREQBVmoaz0CxVUwPrbGw33u3fHKs1mdaOdNDQW5hw6rqAN3MDd5uClBXkijaJONKTRYaYpPQ9P0rD7T2dIf4t\/kVxqG+fVUTIKZnS1tQdmKPGcZ3Z8eXNS7lcKay20zy7mMGzGzm443N+5VGnLVPPKb3dQXVcpzE136tvu5fJSVneTK5NxSo09bfZfmhKsFiNvDq2td01wn3yPJzs55BXaIoNtu7NFOnGnHDEIiLhMIiIDlzmsYXuOGtGSeoLI6Neyvu91uBbh7nAtyBuDi44+4K51TVmj09VPaSHSN6MED9rcfuyqTQDHRSXON3tMMbT7xtq2K7jZhqzvtNOHN+jNkiIqjcEREB41dSyjpJamQgMiYXHJ6gqPRtO\/6tmr5fytbK55PYCe\/jlc6zrXMt8Vugy6orXhoa3iRn4nA8VeUNK2hoYKVm8RMDc9eBxVmkOZl8dfyivV\/BIREVZqCIiALLV+K3X1DB+jSxbbuHHef5VqVl9O\/bdS3e48Wh3QsceYz8mhWQyuzLtGbhDi\/bM8jDLqfUrxPG5lvt7tkxvyOkdvwcdvljrWtRFGUrltOlgu27thERRLQiIgCIiAzGtMzst1ACftNSBgHBPL8SaVAF7v4AwBU\/iel2+0a3tVOP1TDIeYHE\/h8k0x6l\/v7Cd5qAR7tp\/zV\/wDC35qebrtOLzt9omnREVB6QRFWahuH1ZZaidri2Qt2IyOO0dwPdx7l1K7sRnJQi5PcVNr\/AMb1ZVXB+TBQ\/wB3CDnG1vGd\/uJ7wtSqjS9AbfYoI3DEkg6V+7mf\/mFbqU3d5FOzxahd6vN\/UIiKBoCIiA855RDTySngxhd4BZPTdRUW\/TMtfFRyVs01STsMztEbhncDzz4q61PU+jadrH5wXs6Mdu0ceRK705T+i6eoozxMQf8A+vW+KsWUDJNOVdJO1k\/Uq\/7ZPi\/OrLWQkcd2ceICkU+tbNO4B0ksOf8Akj+WVfrwqKKkqgRUU0Uuf22Arl4cCWCutJ35rocUtzoa381q4ZT+y14J8OPJSlQVWjLNUZLIn07jziefI5CimxX+277ZdzMwH8lP9\/HI8l3DF6M52laPihfk\/wDGalFmBqust7mx3y1yU+0cCWLe0\/12Eq8orrQXEZpKqOU82g4cO471FwaLIV6c3ZPPhvJaIiiXGYzn6Qx2UvwXNM40H0gVMTxhlbCHM38TgfFrl1kH6RDg8Kbf4LrVsbqWShvMXtUkoD8fpNPLPcR\/Er96XFHmvKMp\/wBZX6mlRecE0dTBHPE7ajkaHNPWCvRUHpJ3Cyl4d9e6mprSwbVPSHpKggZGeo9273lXV9ujLRa5akkdIRsxN63Hh4ce5Q9LWx1JQGsqcuq6w9LI5wGRneB8T2qyPdWIy1v1Jqkub5fJeoiKs1BERAEREBmdcPL7fS0jXbJnqAM9gB+JC0jGNjY1jBhrQAB1BZrUJ9I1RZaU8GP6Ujr3j+VadTl4UjNSzqzfJenyERFA0hERAcvYyRpY9oc08Q4ZBVFXaOtdVIZYA+klyCDCcAH3cu7Cv0XVJrQrnShUVpK5lvR9VWfHQzsukAPsv9vHfv8AvKvbXVVFbQRz1VI6lldnMbuI7exTEXXK+4jTpYHlJ24GYpPX+kSt5dHTDv3M+a0NXSxVtLJTTt2o5W7Lgs9aj0mu7rJx2Yg3PV7Ix9y06lPVFezpOMr72\/cydmr5NPVLrLdnhkIcTTVDtzSOrPV5HIV9WXq3UMDpZquLDRkNa4FzuwBe1ZQ0twh6KrgZK3ltDePceI7lVwaPssEok9GL8Hc2R5I8EvGWbOKFamsELNbr7upAt9LValubLvXNMVFCfs0B\/S7T2dfXw4LVr41oa0NaAABgAcl9UZSuXUqXZri3qwiIoloREQBERAZibM\/0iQY\/09Mc47Q7+ZadZi1faNcXWoJz0UYjGN4Hsj8PmtOpz3LyM2zZqT4t9AiIoGkIiIAiIgCIiAhUtqpqS4VVdHtmWqI29o7hjqU1EXW7kYxUVZBERcJBERAEREAREQBERAZjS4zfr+47yKjAPZtP+S06zGlv881B+8\/ietOp1PEZtl\/aXN+7CIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICFQ2qmt9VV1EG3t1b9uTaORnfw8SpqIuy1K6aSjZefuERFwsCIiAIiIAiIgP\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "17:52",
    "ubicacionGPS": "LatLng(lat: -23.6618463, lng: -70.3999542)",
    "horaLlegada": "12:05",
    "horaDespacho": "16:13",
    "idMovimientoMaquina": "9",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "68138"
}
=========================================
FECHA: 06/05/2026 17:52:26
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-zeB0Xzf50TC5ctaASyxNX3o.GlP_B8OV-QhPFNfri1U6ZW07v0s
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "RIS1833",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "1022612",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "contador",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12443",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACEAK4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xABDEAABAwMBBAYGBQkJAQAAAAABAAIDBAURBhIhMUETUWGBkbEUIjJxwdEHFSShwjM0QkNSdILS8BYjJTVERVNikuH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQIDBQcDBQAAAAAAAAAAAQIDERIhMQRBUXHREyIyYaGx4YGR8CMzQlLB\/9oADAMBAAIRAxEAPwD9mREQBEXxzg1pc4gADJJ5ID6izdVqt09X6FZKQ10wOC87mD+uvcPeuBbNWVI2p7vDD\/1jbw8AFPA9+Rme0RbtBOXLT7mnRZaRuqrQ0z9PHcoWjLmbPrD7s+BVxZr1T3qkM8ALHNOJI3cWn4o4tK5KFdSlhaafmWKIigXhERAEREAREQBERAEUG6XaktFMZqmTBPssHtPPYqBkd81QS+SR1ttzuDWj13jzPl2FTUb5vQoqVlF4Yq74deBZXbVFHb3dBTj0yqJwIojnB7SPLiurKy9vnlq7pKxkcrfUpmj2Orfy3Z6172mxUNnjxTR5kPtSv3uPy7lZI2krI5CFSUsVR\/RafIREUDQFk6+rqdT3GS02+To6KE\/aJxv2uwdnnjqUnVFzm2orNbyTV1RwS042G\/DPllWtptcFooGU0I38Xu5vdzKsXdWLeZJt1p9mtFr06npb7dS2ylFPSRhjBxPNx6yetSkRVt3NSSirILK1kQser6Wqiy2nr8skY0bg7dk48D4rVLMaz\/2z95HwVlPWxm2rKni3ppmnREVZqCIiAIiIAiIgCpb5qFlsLaWlYKmulOGQjfs54E48lxqK+OoWtoKEGW4VG5jW7yzPM\/Bd2GwMtgNVUHpa6YZked+znkPmrEkleRlnUlOXZ0\/q+HyRbTpySWoF0vbvSKxx2hGd7Y+oY4ZHgFpERRlJy1LqdKNNWiERFEsCj19bFb6Garm9iJu1jrPId5wFIWPvlab9eYLDTNeGRzZqHHgce48AM9+FKEbsor1ezhlq8lzJelKOWp6W+13rVNUSGEjGGDd8Me4BaVcsY2NjWMGGtAAHUF0knidyVKn2cFEIiKJaFmNTn0i9WWjG8GfbeD1Aj4ZWnWXiH1jr+SXiygh2QT14+bj4KcNbmbac4qHFrqahERQNIREQBVmoaz0CxVUwPrbGw33u3fHKs1mdaOdNDQW5hw6rqAN3MDd5uClBXkijaJONKTRYaYpPQ9P0rD7T2dIf4t\/kVxqG+fVUTIKZnS1tQdmKPGcZ3Z8eXNS7lcKay20zy7mMGzGzm443N+5VGnLVPPKb3dQXVcpzE136tvu5fJSVneTK5NxSo09bfZfmhKsFiNvDq2td01wn3yPJzs55BXaIoNtu7NFOnGnHDEIiLhMIiIDlzmsYXuOGtGSeoLI6Neyvu91uBbh7nAtyBuDi44+4K51TVmj09VPaSHSN6MED9rcfuyqTQDHRSXON3tMMbT7xtq2K7jZhqzvtNOHN+jNkiIqjcEREB41dSyjpJamQgMiYXHJ6gqPRtO\/6tmr5fytbK55PYCe\/jlc6zrXMt8Vugy6orXhoa3iRn4nA8VeUNK2hoYKVm8RMDc9eBxVmkOZl8dfyivV\/BIREVZqCIiALLV+K3X1DB+jSxbbuHHef5VqVl9O\/bdS3e48Wh3QsceYz8mhWQyuzLtGbhDi\/bM8jDLqfUrxPG5lvt7tkxvyOkdvwcdvljrWtRFGUrltOlgu27thERRLQiIgCIiAzGtMzst1ACftNSBgHBPL8SaVAF7v4AwBU\/iel2+0a3tVOP1TDIeYHE\/h8k0x6l\/v7Cd5qAR7tp\/zV\/wDC35qebrtOLzt9omnREVB6QRFWahuH1ZZaidri2Qt2IyOO0dwPdx7l1K7sRnJQi5PcVNr\/AMb1ZVXB+TBQ\/wB3CDnG1vGd\/uJ7wtSqjS9AbfYoI3DEkg6V+7mf\/mFbqU3d5FOzxahd6vN\/UIiKBoCIiA855RDTySngxhd4BZPTdRUW\/TMtfFRyVs01STsMztEbhncDzz4q61PU+jadrH5wXs6Mdu0ceRK705T+i6eoozxMQf8A+vW+KsWUDJNOVdJO1k\/Uq\/7ZPi\/OrLWQkcd2ceICkU+tbNO4B0ksOf8Akj+WVfrwqKKkqgRUU0Uuf22Arl4cCWCutJ35rocUtzoa381q4ZT+y14J8OPJSlQVWjLNUZLIn07jziefI5CimxX+277ZdzMwH8lP9\/HI8l3DF6M52laPihfk\/wDGalFmBqust7mx3y1yU+0cCWLe0\/12Eq8orrQXEZpKqOU82g4cO471FwaLIV6c3ZPPhvJaIiiXGYzn6Qx2UvwXNM40H0gVMTxhlbCHM38TgfFrl1kH6RDg8Kbf4LrVsbqWShvMXtUkoD8fpNPLPcR\/Er96XFHmvKMp\/wBZX6mlRecE0dTBHPE7ajkaHNPWCvRUHpJ3Cyl4d9e6mprSwbVPSHpKggZGeo9273lXV9ujLRa5akkdIRsxN63Hh4ce5Q9LWx1JQGsqcuq6w9LI5wGRneB8T2qyPdWIy1v1Jqkub5fJeoiKs1BERAEREBmdcPL7fS0jXbJnqAM9gB+JC0jGNjY1jBhrQAB1BZrUJ9I1RZaU8GP6Ujr3j+VadTl4UjNSzqzfJenyERFA0hERAcvYyRpY9oc08Q4ZBVFXaOtdVIZYA+klyCDCcAH3cu7Cv0XVJrQrnShUVpK5lvR9VWfHQzsukAPsv9vHfv8AvKvbXVVFbQRz1VI6lldnMbuI7exTEXXK+4jTpYHlJ24GYpPX+kSt5dHTDv3M+a0NXSxVtLJTTt2o5W7Lgs9aj0mu7rJx2Yg3PV7Ix9y06lPVFezpOMr72\/cydmr5NPVLrLdnhkIcTTVDtzSOrPV5HIV9WXq3UMDpZquLDRkNa4FzuwBe1ZQ0twh6KrgZK3ltDePceI7lVwaPssEok9GL8Hc2R5I8EvGWbOKFamsELNbr7upAt9LValubLvXNMVFCfs0B\/S7T2dfXw4LVr41oa0NaAABgAcl9UZSuXUqXZri3qwiIoloREQBERAZibM\/0iQY\/09Mc47Q7+ZadZi1faNcXWoJz0UYjGN4Hsj8PmtOpz3LyM2zZqT4t9AiIoGkIiIAiIgCIiAhUtqpqS4VVdHtmWqI29o7hjqU1EXW7kYxUVZBERcJBERAEREAREQBERAZjS4zfr+47yKjAPZtP+S06zGlv881B+8\/ietOp1PEZtl\/aXN+7CIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICFQ2qmt9VV1EG3t1b9uTaORnfw8SpqIuy1K6aSjZefuERFwsCIiAIiIAiIgP\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "17:52",
    "ubicacionGPS": "LatLng(lat: -23.6618463, lng: -70.3999542)",
    "horaLlegada": "12:05",
    "horaDespacho": "16:13",
    "idMovimientoMaquina": "9",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "68138"
}
==========DATOS ENVIADOS===============================


06/05/2026 17:52:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[06/05/2026 17:52:26] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'RIS1833', 2, 21773342, 1022612, NOW(), 
				'16:13', '12:05', '17:52', 9, 'contador', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778104346.png', '', 68138, 'COMPLETADO','LatLng(lat: -23.6618463, lng: -70.3999542)' )
				
[06/05/2026 17:52:26] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200207

06/05/2026 17:52:26 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200207'                    
				WHERE idllamado = 12443			
				
06/05/2026 17:52:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:52:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


06/05/2026 17:52:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:52:26 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12443			
				
06/05/2026 17:52:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


06/05/2026 17:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:52:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:52:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:52:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                [06/05/2026 17:52: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;
                

06/05/2026 17:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:52:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:52:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:52:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                [06/05/2026 17:52: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;
                

06/05/2026 17:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            [06/05/2026 17:52:43] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

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

06/05/2026 17:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12443
                
06/05/2026 17:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17:52:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:52:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17: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 = 12443
                
06/05/2026 17:52:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12443
            GROUP BY l.idllamado;
            
06/05/2026 17:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:52:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [06/05/2026 17:52: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;
                
[06/05/2026 17:52: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;
                

06/05/2026 17:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:52:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:52:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [06/05/2026 17:52: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;
                

06/05/2026 17:52:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:52:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:52:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:52:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:52:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [06/05/2026 17:52: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;
                
[06/05/2026 17:52: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;
                

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

06/05/2026 17:52:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:52:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [06/05/2026 17:52: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;
                

06/05/2026 17:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:52:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:52:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:52:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [06/05/2026 17:53:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 17:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [06/05/2026 17:53:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 17:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [06/05/2026 17:53:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 17:53:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 17:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [06/05/2026 17:53:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 17:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [06/05/2026 17:53: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;
                
[06/05/2026 17:53: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;
                

06/05/2026 17:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [06/05/2026 17:53: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;
                

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

06/05/2026 17:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [06/05/2026 17:53: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;
                
[06/05/2026 17:53: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;
                

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

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

06/05/2026 17:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [06/05/2026 17:53: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;
                

06/05/2026 17:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [06/05/2026 17:53: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;
                

06/05/2026 17:53:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [06/05/2026 17:53: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;
                

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

06/05/2026 17:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [06/05/2026 17:53: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;
                

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

06/05/2026 17:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [06/05/2026 17:53: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;
                
[06/05/2026 17:53: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;
                

06/05/2026 17:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17:53:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17:53:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [06/05/2026 17:53: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;
                

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

06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                [06/05/2026 17:53: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;
                
[06/05/2026 17:53: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;
                

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

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

06/05/2026 17:53:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [06/05/2026 17:53:40] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 17:53:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17:53:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [06/05/2026 17:53: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;
                

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

06/05/2026 17:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [06/05/2026 17:53: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;
                

06/05/2026 17:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [06/05/2026 17:53: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;
                

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

06/05/2026 17:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [06/05/2026 17:53: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;
                

06/05/2026 17:53:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:53:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:53:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [06/05/2026 17:53: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;
                

06/05/2026 17:53:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:53:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:53:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [06/05/2026 17:53: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;
                

06/05/2026 17:53:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:53:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [06/05/2026 17:53: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;
                
[06/05/2026 17:53: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;
                

06/05/2026 17:53:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:53:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:53:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:53:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [06/05/2026 17:53: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;
                

06/05/2026 17:53:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [06/05/2026 17: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;
                

06/05/2026 17:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [06/05/2026 17: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;
                

06/05/2026 17:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [06/05/2026 17:54: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;
                

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

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

06/05/2026 17:54:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [06/05/2026 17:54: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;
                

06/05/2026 17:54:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:54:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:54:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:54:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:54:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [06/05/2026 17:54: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;
                

06/05/2026 17:54:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:54:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:54:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            [06/05/2026 17:54: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;
                

06/05/2026 17:54:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:54:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:54:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:54:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:54:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:54:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:54:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:54:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                [06/05/2026 17:54: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;
                

06/05/2026 17:54:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12411
            GROUP BY l.idllamado;
            
06/05/2026 17:54:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:54:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:54:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:54:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:54:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:54:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:54:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:54:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:54:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:54:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:54:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:54:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17:54:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12411
                
06/05/2026 17: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 = 12411
                
06/05/2026 17: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 = 12411
                
06/05/2026 17: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 = 12411
                
06/05/2026 17: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 = 12411
                
06/05/2026 17: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 = 12369
                
06/05/2026 17:54:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:54:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:54:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:54:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:54:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17:54:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:54:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:54:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                [06/05/2026 17:54: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;
                

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

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

06/05/2026 17:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [06/05/2026 17:54: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;
                
[06/05/2026 17:54: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;
                

06/05/2026 17:54:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [06/05/2026 17:54: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;
                

06/05/2026 17:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [06/05/2026 17:54: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;
                

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

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

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

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

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

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

06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17:54:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17:54:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17:54:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12369
                
06/05/2026 17:54:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:54:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/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 = 12369
                
06/05/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 = 12369
                
06/05/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 = 12369
                
06/05/2026 17:54:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/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 = 12369
                
06/05/2026 17:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/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 = 12369
                
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/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 = 12369
                
06/05/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 = 12369
                
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/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 = 12369
                
06/05/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 = 12369
                
06/05/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 = 12369
                
06/05/2026 17:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17:54:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/2026 17: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 = 12369
                
06/05/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 = 12369
                
06/05/2026 17:55:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:55:03 - logentry: =========================================
FECHA: 06/05/2026 17:55:03
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-TZKGzwGGOlGNG31C_sccRRpzk+kbdGYfwOxABGuHWQXVlktC_9K
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2522",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Repetido",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12369",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACCAK8DASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABAEAABAwMCAgcFBQUHBQAAAAABAAIDBAURBiESMRNBUWFxgZEUFSKhsSNCUsHRJCUyYrIHNDU2coLwY3SS0vH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQIEAgkCBwEAAAAAAAAAAQIDERIhMVEEQRMiMmFxgaGx0ZHBFCMkNEJy8PH\/2gAMAwEAAhEDEQA\/APsyIiALXPURUsLpp5BHG0ZLivZZY4IXzSvDI2Auc48gFUWxS6yuhmeZI7TTOw1vLpHf89B4qUY3zehRVq4LRiryeiOj31dr7MWWSHoKZuWuqZhjfu5+nPwWwWzVMH2sd3hmeBvG9vwnbw\/RWKKKOCJsULGxxsGGtaMABZqWPZEFw7ec5O\/jYhbJfzcZX0VZD7NXRD44jn4u0jP035qaVZ1fRGGKO9Un2dVSvbl7fvNzjf19Mqw01RHV0sVTFnglYHtzzwRlckla6JUpSUnTnque6NqIigaAiIgCIiAIuOsutLQ1VNTTOPS1LuGNrRnfIG\/YN12Ltjikm2lyCIi4dCIiAIiIAtFZWQUFJJVVL+COMZJ\/ILeqNqy4+8auWiY\/gpqH4pXg54nHAxjrIJxj\/UpwjidjPxFbooYufI8961+r6sW2Nvs9IXl8jmjJDByDvP5kdiulJSQ0NJHS07OCKMYaFD6StIt9qbPIwCoqfjccbtaeTfTfxKnl2o1ey0IcLTko9JPOT\/1giIqzWcF9jbJYa9rhkCne7zAJHzC59KyOl01RvcSThwyTnk4j8l1Xr\/A6\/wD7aT+kri0h\/lej\/wB\/9blP+HmZn+4X9X7omkRFA0hERAERcF7uHuu0T1QID2txHn8R2C6ld2IykoxcnyIWjJvOtaiocQ6C3N6OMb\/xcvrxegVpUJpO3PoLM182TNUnpn55jPIem\/iSptSm87Ip4aLUMUtXmERFA0BERAEREBw3q4C2Wmoq8jiY3DAetx2CpYtz2R2q2naS4PFRUlwOSPug79QLvMqc1i50\/u62tP8AeqgcTR1gYH5rCAe26+e5gHR0FPwDbAG2MD\/yPor4ZRueZxH5lXD4L65v0LQ1oa0NaAABgAdS9RFQemEREBGajm6DT1c\/IGYi3f8Am2\/NY6YhMGnKJhzuzj3\/AJiXfmuHW0zm2ZlKzd9TM1gGcZA3+oCnaWH2akhgwB0UbWbcthhTeUDMs+Ib2XubkRFA0hERAFV9U\/vG6W2zMOeOTpZR2N5fTiVnJAGScAKr6azdb1X3t5yzi6GHPUP\/AJj1KshleWxl4jrYae79FqWhrQ1oa0AADAA6l6vCQBknACiq3U1ooR8dWyR34IfjPyUEm9C+U4wV5OxLIqs3Ul4uY\/dNmPAeU05+HHyHzKy91amuO1ddWUkR34KcfF4bY+pU8FtWU\/iVLsRb9vqydqrnQ0R4aqrhhdjPC94B9FD1OtLex3R0Uc1bJkACNpAPrv8AJZ0mi7RTnilZJUu7ZX7egx81MU1FS0bSKamihB58DAMp1F3nP1Eto+r+Cvip1XdR9hTQ2yI\/fl3f6HJ+QXXa9OOo61tfV3GorKloIBccNAI5Y3Pz8lOIuOb0WRKPDxvik233\/GhWKv8AbNfUkP3aSEvPjv8Aq1TNFaaWgrKqqh4zLVP4nlxzjuHYN1DWn7XXN2m\/DGGf0\/8AqrOuzdrLuIUIqWKb3fwERFWawiLgvVwFrtM9VkcbW4ZnrcdgupXdiMpKMXJ8iGkeL1rWONo4oLYCXHI\/j8+\/A8laFBaStht9pE0wPtFWelkJ54+6PTfxJU6pTedlyKeHi8OOWss\/95BERQNAREQEBqu9xW23yUo4\/aKiMiPA2AOxOfBQ9nqr\/HaYqO12vgaASZ59uInfIzgfXqXbeme+NWUVs6IOhpm9LMe0c8Hu5D\/crUrrqMUrGBQlWqylislll6lWOlrhci195u8kgOCYohho8Or5KWodO2q3gGGjY54wekkHG7I6xnl5YUmig5yeRohw9OLva73eYREUC8IiIAiIgKxY\/wDOF58vqrOqxSO9i19VQnAbVw8TO0nY\/k5WdTnqjNw3Za2b9wiIoGkKrXF7dQ6kgtkZ46SiJkqexzhtw\/l5nsUnqK8i0UGY8OqpjwwMxnJ2yfLP0WGmbR7qtodKCaqow+YnnnqHln1yrI9VYjLVfSTVJaav7Lz9iZREVZqCIiALF72xsc95w1oJJ7AslBawrhR2CVgcA+oPRNGeo8\/ln1XYq7sV1JqnByfI59IsdVvr7xIPiqpiGdzR3efy9bKuKz0Yt9opqXGDHGOL\/Udz8yV1ubxMLckZGMg4IXZO8iNCDhTSev3PQQRkHIK9VRL7lpGYl\/SV1skJJOcujPb3fQ9ys1FXU9xpW1NLIJI3dnMHsPYUlG2fIU6ym8LykuR0IiKJcEREAREQFX1UDQ3W2XhrdopOjlOPu9noXKzggjIOQVHX+3m52aema0GTHFHn8Q3H6ea4tMXqGrt8VJPI2Ospx0bo3fCTjYbenmrHnFPYyxap12npLPz5k+tNXVRUVLJUzu4Y4m8TitNwu1Fa4XSVU7WYGzAcud3AKuMjr9YVDZJ2vpbTG7LWcjN+vjyHUuRjfN6EqtbC8Mc5bfJtstNNfrq6+1zCIGHFJE47DB547vr4K1LCKKOCFkMTAyNgDWtHIBZrkpXZOlT6ONtW9fEIiKJaEREAVWvQ96att1tBzHTjppRnHfj0A9VaVV9OH23Ul4uGMtDuiY49Yz+jQrIZXZl4jrYae79FmWhERVmo8c0OaWuAIIwQetVaqsFbZqt1w0+7i4j9pSuPwkd24z4c+xWpFKMnEqqUo1NdVoyFs2pqO64hk\/ZqsbOikOOI\/wAvb4c1NKJvOnqW7Dpd4KtoHRzszkEcs9qi6O\/1dmqRbdQZJOOiqmjLSO87Z8efapYVLOJSqsqTw1dN\/nYtSLGORkrBJG9r2O5OacgrJVmsIiIAoq5abtl0dxzwcEmcmSI8JPj1FSqLqbWhGcIzVpK5BUWj7RRv4zG+oP8A13Bw9AAD5qcAAGAMAL1Ecm9TkKcKatFWCIi4TCIiAIiIDnuFUKK31FS446KNzvMDZQ+i6XoLA2VzcPqHukJPMjOB9PmvdaTuh07K1ruHpXtYe8Zz+SlbbTtpbZTQNGBHE0b+CnpDxM3a4jwXv\/w6kRFA0hERAFoq6Onr6d1PVRCWJ3Np\/wCbLeiHGk1ZlSktd403KZrQ51ZRkkupX5PAO4Z3PeN+4qYteo7fdD0THmGoBwYJfhdnu7VKqJvOnaS7jpDmGqaBwTs5jHaOtWYlLtGbop0s6Wmz+z5EsirFLXXyzVUNBcKd1fA9waypiDnOGT19vh8yrOoyjYtp1FNaWaCIiiWhERAEREAREQBERAVjV+aqstVtG\/TT8Th2AYH0J9FZ1WK0Oqf7QKGM\/wAEEBcQe34t\/XHorOpy0SM1HOc5d9vogiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAx4W8fHwjixjON8LJEQ4giIh0IiIAiIgCIiAIiID\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "IVAN DIAZ ALARCON",
    "correoContacto": "IVAN.DIAZ@EPLICANCABUR.CL",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN E INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "967966316",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "17:55",
    "ubicacionGPS": "LatLng(lat: -23.661842, lng: -70.3999682)",
    "horaLlegada": "14:21",
    "horaDespacho": "17:52",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 06/05/2026 17:55:03
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-TZKGzwGGOlGNG31C_sccRRpzk+kbdGYfwOxABGuHWQXVlktC_9K
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2522",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Repetido",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12369",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACCAK8DASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABAEAABAwMCAgcFBQUHBQAAAAABAAIDBAURBiESMRNBUWFxgZEUFSKhsSNCUsHRJCUyYrIHNDU2coLwY3SS0vH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQIEAgkCBwEAAAAAAAAAAQIDERIhMVEEQRMiMmFxgaGx0ZHBFCMkNEJy8PH\/2gAMAwEAAhEDEQA\/APsyIiALXPURUsLpp5BHG0ZLivZZY4IXzSvDI2Auc48gFUWxS6yuhmeZI7TTOw1vLpHf89B4qUY3zehRVq4LRiryeiOj31dr7MWWSHoKZuWuqZhjfu5+nPwWwWzVMH2sd3hmeBvG9vwnbw\/RWKKKOCJsULGxxsGGtaMABZqWPZEFw7ec5O\/jYhbJfzcZX0VZD7NXRD44jn4u0jP035qaVZ1fRGGKO9Un2dVSvbl7fvNzjf19Mqw01RHV0sVTFnglYHtzzwRlckla6JUpSUnTnque6NqIigaAiIgCIiAIuOsutLQ1VNTTOPS1LuGNrRnfIG\/YN12Ltjikm2lyCIi4dCIiAIiIAtFZWQUFJJVVL+COMZJ\/ILeqNqy4+8auWiY\/gpqH4pXg54nHAxjrIJxj\/UpwjidjPxFbooYufI8961+r6sW2Nvs9IXl8jmjJDByDvP5kdiulJSQ0NJHS07OCKMYaFD6StIt9qbPIwCoqfjccbtaeTfTfxKnl2o1ey0IcLTko9JPOT\/1giIqzWcF9jbJYa9rhkCne7zAJHzC59KyOl01RvcSThwyTnk4j8l1Xr\/A6\/wD7aT+kri0h\/lej\/wB\/9blP+HmZn+4X9X7omkRFA0hERAERcF7uHuu0T1QID2txHn8R2C6ld2IykoxcnyIWjJvOtaiocQ6C3N6OMb\/xcvrxegVpUJpO3PoLM182TNUnpn55jPIem\/iSptSm87Ip4aLUMUtXmERFA0BERAEREBw3q4C2Wmoq8jiY3DAetx2CpYtz2R2q2naS4PFRUlwOSPug79QLvMqc1i50\/u62tP8AeqgcTR1gYH5rCAe26+e5gHR0FPwDbAG2MD\/yPor4ZRueZxH5lXD4L65v0LQ1oa0NaAABgAdS9RFQemEREBGajm6DT1c\/IGYi3f8Am2\/NY6YhMGnKJhzuzj3\/AJiXfmuHW0zm2ZlKzd9TM1gGcZA3+oCnaWH2akhgwB0UbWbcthhTeUDMs+Ib2XubkRFA0hERAFV9U\/vG6W2zMOeOTpZR2N5fTiVnJAGScAKr6azdb1X3t5yzi6GHPUP\/AJj1KshleWxl4jrYae79FqWhrQ1oa0AADAA6l6vCQBknACiq3U1ooR8dWyR34IfjPyUEm9C+U4wV5OxLIqs3Ul4uY\/dNmPAeU05+HHyHzKy91amuO1ddWUkR34KcfF4bY+pU8FtWU\/iVLsRb9vqydqrnQ0R4aqrhhdjPC94B9FD1OtLex3R0Uc1bJkACNpAPrv8AJZ0mi7RTnilZJUu7ZX7egx81MU1FS0bSKamihB58DAMp1F3nP1Eto+r+Cvip1XdR9hTQ2yI\/fl3f6HJ+QXXa9OOo61tfV3GorKloIBccNAI5Y3Pz8lOIuOb0WRKPDxvik233\/GhWKv8AbNfUkP3aSEvPjv8Aq1TNFaaWgrKqqh4zLVP4nlxzjuHYN1DWn7XXN2m\/DGGf0\/8AqrOuzdrLuIUIqWKb3fwERFWawiLgvVwFrtM9VkcbW4ZnrcdgupXdiMpKMXJ8iGkeL1rWONo4oLYCXHI\/j8+\/A8laFBaStht9pE0wPtFWelkJ54+6PTfxJU6pTedlyKeHi8OOWss\/95BERQNAREQEBqu9xW23yUo4\/aKiMiPA2AOxOfBQ9nqr\/HaYqO12vgaASZ59uInfIzgfXqXbeme+NWUVs6IOhpm9LMe0c8Hu5D\/crUrrqMUrGBQlWqylislll6lWOlrhci195u8kgOCYohho8Or5KWodO2q3gGGjY54wekkHG7I6xnl5YUmig5yeRohw9OLva73eYREUC8IiIAiIgKxY\/wDOF58vqrOqxSO9i19VQnAbVw8TO0nY\/k5WdTnqjNw3Za2b9wiIoGkKrXF7dQ6kgtkZ46SiJkqexzhtw\/l5nsUnqK8i0UGY8OqpjwwMxnJ2yfLP0WGmbR7qtodKCaqow+YnnnqHln1yrI9VYjLVfSTVJaav7Lz9iZREVZqCIiALF72xsc95w1oJJ7AslBawrhR2CVgcA+oPRNGeo8\/ln1XYq7sV1JqnByfI59IsdVvr7xIPiqpiGdzR3efy9bKuKz0Yt9opqXGDHGOL\/Udz8yV1ubxMLckZGMg4IXZO8iNCDhTSev3PQQRkHIK9VRL7lpGYl\/SV1skJJOcujPb3fQ9ys1FXU9xpW1NLIJI3dnMHsPYUlG2fIU6ym8LykuR0IiKJcEREAREQFX1UDQ3W2XhrdopOjlOPu9noXKzggjIOQVHX+3m52aema0GTHFHn8Q3H6ea4tMXqGrt8VJPI2Ospx0bo3fCTjYbenmrHnFPYyxap12npLPz5k+tNXVRUVLJUzu4Y4m8TitNwu1Fa4XSVU7WYGzAcud3AKuMjr9YVDZJ2vpbTG7LWcjN+vjyHUuRjfN6EqtbC8Mc5bfJtstNNfrq6+1zCIGHFJE47DB547vr4K1LCKKOCFkMTAyNgDWtHIBZrkpXZOlT6ONtW9fEIiKJaEREAVWvQ96att1tBzHTjppRnHfj0A9VaVV9OH23Ul4uGMtDuiY49Yz+jQrIZXZl4jrYae79FmWhERVmo8c0OaWuAIIwQetVaqsFbZqt1w0+7i4j9pSuPwkd24z4c+xWpFKMnEqqUo1NdVoyFs2pqO64hk\/ZqsbOikOOI\/wAvb4c1NKJvOnqW7Dpd4KtoHRzszkEcs9qi6O\/1dmqRbdQZJOOiqmjLSO87Z8efapYVLOJSqsqTw1dN\/nYtSLGORkrBJG9r2O5OacgrJVmsIiIAoq5abtl0dxzwcEmcmSI8JPj1FSqLqbWhGcIzVpK5BUWj7RRv4zG+oP8A13Bw9AAD5qcAAGAMAL1Ecm9TkKcKatFWCIi4TCIiAIiIDnuFUKK31FS446KNzvMDZQ+i6XoLA2VzcPqHukJPMjOB9PmvdaTuh07K1ruHpXtYe8Zz+SlbbTtpbZTQNGBHE0b+CnpDxM3a4jwXv\/w6kRFA0hERAFoq6Onr6d1PVRCWJ3Np\/wCbLeiHGk1ZlSktd403KZrQ51ZRkkupX5PAO4Z3PeN+4qYteo7fdD0THmGoBwYJfhdnu7VKqJvOnaS7jpDmGqaBwTs5jHaOtWYlLtGbop0s6Wmz+z5EsirFLXXyzVUNBcKd1fA9waypiDnOGT19vh8yrOoyjYtp1FNaWaCIiiWhERAEREAREQBERAVjV+aqstVtG\/TT8Th2AYH0J9FZ1WK0Oqf7QKGM\/wAEEBcQe34t\/XHorOpy0SM1HOc5d9vogiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAx4W8fHwjixjON8LJEQ4giIh0IiIAiIgCIiAIiID\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "IVAN DIAZ ALARCON",
    "correoContacto": "IVAN.DIAZ@EPLICANCABUR.CL",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN E INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "967966316",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "17:55",
    "ubicacionGPS": "LatLng(lat: -23.661842, lng: -70.3999682)",
    "horaLlegada": "14:21",
    "horaDespacho": "17:52",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


06/05/2026 17:55:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[06/05/2026 17:55:03] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'KY2522', 2, 21773342, 0, NOW(), 
				'17:52', '14:21', '17:55', 4, 'Repetido', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778104503.png', '', null, 'COMPLETADO','LatLng(lat: -23.661842, lng: -70.3999682)' )
				
[06/05/2026 17:55:03] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200208

06/05/2026 17:55:03 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200208'                    
				WHERE idllamado = 12369			
				
06/05/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 = 12369
                TO ENVIO: micorreo@miempresa.cl, IVAN.DIAZ@EPLICANCABUR.CL


06/05/2026 17:55:03 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12369			
				
06/05/2026 17:55:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


06/05/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 = 12369
                
06/05/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 = 12369
                
06/05/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 = 12369
                
06/05/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 = 12369
                
06/05/2026 17:55:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [06/05/2026 17:55:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 17:55:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 17:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [06/05/2026 17:55:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 17:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [06/05/2026 17:55: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;
                

06/05/2026 17:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [06/05/2026 17:55: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;
                

06/05/2026 17:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            [06/05/2026 17:55: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;
                

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

06/05/2026 17:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [06/05/2026 17:55: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;
                

06/05/2026 17:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12369
            GROUP BY l.idllamado;
            
06/05/2026 17:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                
06/05/2026 17:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12369
                [06/05/2026 17:55: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;
                

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

06/05/2026 17:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:55:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [06/05/2026 17:55: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;
                

06/05/2026 17:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:55:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:55:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [06/05/2026 17:55: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;
                

06/05/2026 17:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [06/05/2026 17:55: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;
                

06/05/2026 17:55:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [06/05/2026 17:55: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;
                

06/05/2026 17:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [06/05/2026 17:55: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;
                

06/05/2026 17:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                [06/05/2026 17:55: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;
                

06/05/2026 17:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12329
                
06/05/2026 17:55:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [06/05/2026 17:55: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;
                
[06/05/2026 17:55: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;
                

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

06/05/2026 17:55:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12329
                
06/05/2026 17:55:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12329
                
06/05/2026 17:55:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:55:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:55:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:55:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:55:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:55:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            [06/05/2026 17:55: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;
                

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

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

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

06/05/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 = 12329
                
06/05/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 = 12329
                
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/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 = 12329
                
06/05/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 = 12329
                
06/05/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 = 12329
                
06/05/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 = 12329
                
06/05/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 = 12329
                
06/05/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 = 12329
                
06/05/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 = 12329
                
06/05/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 = 12329
                
06/05/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 = 12329
                
06/05/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 = 12329
                
06/05/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 = 12329
                
06/05/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 = 12329
                
06/05/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 = 12329
                
06/05/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 = 12329
                
06/05/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 = 12329
                
06/05/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 = 12329
                
06/05/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 = 12329
                
06/05/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 = 12329
                
06/05/2026 17:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/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 = 12329
                
06/05/2026 17:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/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 = 12329
                
06/05/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 = 12329
                
06/05/2026 17:55:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:55:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:55:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:57:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17:57:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17:57:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12329
                
06/05/2026 17:57:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17:57:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:57:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:57:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:57:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17:57:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17:57:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:57:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12329
                
06/05/2026 17:57:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12329
            GROUP BY l.idllamado;
            
06/05/2026 17: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 = 12329
                
06/05/2026 17:57:44 - logentry: =========================================
FECHA: 06/05/2026 17:57:44
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-hbXeQV3LSx12FhVCcKQoKH+RqXNwO9Rl01jx+Hfnw1bRNBh+o0p
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "KY2519",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "21623",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12329",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABeAHwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xAA7EAABAwMCAwUFBgMJAAAAAAABAAIDBAURITEGEnETQVFhgRQikaGxFSMyQsHRB5LwJDRScoLC0uHx\/8QAGAEAAwEBAAAAAAAAAAAAAAAAAAIDBAH\/xAAtEQACAQIEAwgBBQAAAAAAAAAAAQIDERIhMUEEIlEyYXGBkaGx4RMzQlLB0f\/aAAwDAQACEQMRAD8A\/ZkRU3EN5dboWU1Kwy1tT7kTR+XOmT+n\/S6k27ISc1CLlItPaqftzT9vH2wGTHzjm+G\/ePivVYyfhR9FYjWtld9qQZmdKHk7btHQd\/itNZ7gLna4KvlLS9vvA9xGhTSikrolSqylLDNWepNRESGgIiIAIoF5ubbRbJKstD3DRjScczj\/AFn0Xtbp5qq3wVE8YiklYHFg7s7fJds7XExxxYNySiLl72RsL5HBjWjJc44AXBzpcveyNhfI4Ma0ZLnHACz1fxhA2X2W1QPr6g6DkB5f3Pp8V4N4dul6LZr5XFjM5FNDsOvcD8eqpgtnLIzPiE3hpLE\/b1Pas4pfUVJobHT+1znTtfyN8\/Prt1VtZ4LhT0IZcqltROXE8zRsPDz717UVDTW+nbBSwtjYO4bnzJ71IXG1ayQ1OnO+Kbu\/Y86iZtNTSzv\/AAxML3dAMrGcIU091u094rD2gjJDS4ZHOddM7YH1CtON6w09j7FpIdUPDdPAan9FaWSg+zbPT0pAD2sy\/H+I6lMuWF+pGa\/LxCjtHPzehOcA5padQRgrNcBuLrFKD+WocB\/K1aUkAZJwAszwECLHNkb1LsfytSrsMpU\/Xh4P+jToiJDSERcySMijdJI7lYwFzj4AIAzF6zeeKKS0BvNBTDtp9fr6YH+palZTh2oijjuHEFfIImzykMc7ubvgD1HidPj5vmufF8ro6V7qK1NPK6Qj3pfLz6beOVZxvlsjBTqqKcrXlLRd23kWVfxVSQSimoWOuFU7ZkOoHU\/sojLDdL1N298qTHAdW0kLsAde76q6tloorRB2VJFyk\/ie7Vz+p\/oKclxJdkr+GVTOq\/JafZFobbRW2Ps6OnZCDuRqT1J1KlIim3c0pKKsgiIg6Ze+4reL7RQEczY8yuadjuf9i1Cy0P8Aaf4izHcU1P8AoP8AktSqT0SMvD5ucu\/4yIl1l7C01kunuQPIB7\/dKreDYuz4ap3a5kc92v8AmI\/ROMar2bh2YDGZnNjGfPU\/IFWNppjR2mlpznmjiaHZ8ca\/Nc0gd14jwXy\/omIiJDSFQcZV5o7E+NjiH1LhGMeG7vkMeqv1ka+Fl248gpiTJDSRh8jHZLQRrt6tynprO72M3FSap4Y6vL1PCx8NVVwgppbs4tpIR9zS7ZB1ycbZ+JWzjjZFG2ONjWMaMNa0YAHkF0ueZvPycw5sZxnXC5KTkxqNGFJWWvU6RESlwiIgAiIgDLW5gZ\/EK5AZ\/u4Ovn2ZWpWYuj22XiunukmfZ6tnYyuJ0YdMfQH4q9r6+C3UMlZO77tgyMbuPcB1VJZ2MtBqGNPZt+uZQcQkXTiK3WdrS5jD2s2mmP8AwH4jotSs3wtSz1E1TfaoDtK0\/dgZy1mdumgA6LSLk8uXod4dNp1H+742CIiQ0nL3tjY57zhrQST4BZvhCN1U+vu8g96qmIZrs0a7euPRSeMK40ljfDGCZapwiaG74O\/y09VZWqjFvtdPSgYMbAD13PzJT6Q8TM+eul\/FX82S1QcQ2SaqkbdLfNIytgAw0O\/G0a4HgfkVfoli2ndFalONSOGRVWG9R3ikyR2dTF7s0R3afHoVarLX2mkst2iv9HGTGfdq2N05ge\/1+oC0dLUw1lNHUwP54pBlpTSS1WhOjN3dOfaXuup7IiJDQEREARq+gp7lSupqpnPGSD5gjvCo4OC4WzRe1V89VBCfcgf+EeW+2+2FpUTKTWSJTo05u8kfGtDWhrQAAMADuX1ESlQiIgDMXYC5cY26hdrHTNMzwRoTv67BadUFqt1U3ie53Gqh5A7DIXE55m+I9AFfp57Iz0E+aT3f0giIkNBxLFHPC+GVgfG8FrmnYhZazSO4dvklkqZM09QeeleT3nu9duo81rFWXyyxXqjEbj2c0Z5opB+U\/sU8WtHoZ61Nu04dpe\/cWaLPWK9zdsbTdvu62I8rXO2mHXx+uVoUsotOxSnUjUjdBERcKBERABERABERABERABERABERAFZeLFR3qENnaWSN1bKzHMP3Cpfbb\/w0Aysh+0KFgAEzPxMHXy8\/itaidTsrPNGedBSeKLs+v+9SHb7tQ3SPno6hshAy5mzm9Rupiz9x4WjfK6ttUzqGtznLHEMce\/I7vTTyV1SMnjpImVUolnDQJHtGA49+i5JLVDU5Tvhms+q0P\/\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "YAMIDEZ",
    "correoContacto": "ydiaz@munisg.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "9986722720",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28561\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "17:57",
    "ubicacionGPS": "LatLng(lat: -23.6618625, lng: -70.3999412)",
    "horaLlegada": "14:40",
    "horaDespacho": "17:55",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 06/05/2026 17:57:44
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-hbXeQV3LSx12FhVCcKQoKH+RqXNwO9Rl01jx+Hfnw1bRNBh+o0p
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "KY2519",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "21623",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12329",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABeAHwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xAA7EAABAwMCAwUFBgMJAAAAAAABAAIDBAURITEGEnETQVFhgRQikaGxFSMyQsHRB5LwJDRScoLC0uHx\/8QAGAEAAwEBAAAAAAAAAAAAAAAAAAIDBAH\/xAAtEQACAQIEAwgBBQAAAAAAAAAAAQIDERIhMUEEIlEyYXGBkaGx4RMzQlLB0f\/aAAwDAQACEQMRAD8A\/ZkRU3EN5dboWU1Kwy1tT7kTR+XOmT+n\/S6k27ISc1CLlItPaqftzT9vH2wGTHzjm+G\/ePivVYyfhR9FYjWtld9qQZmdKHk7btHQd\/itNZ7gLna4KvlLS9vvA9xGhTSikrolSqylLDNWepNRESGgIiIAIoF5ubbRbJKstD3DRjScczj\/AFn0Xtbp5qq3wVE8YiklYHFg7s7fJds7XExxxYNySiLl72RsL5HBjWjJc44AXBzpcveyNhfI4Ma0ZLnHACz1fxhA2X2W1QPr6g6DkB5f3Pp8V4N4dul6LZr5XFjM5FNDsOvcD8eqpgtnLIzPiE3hpLE\/b1Pas4pfUVJobHT+1znTtfyN8\/Prt1VtZ4LhT0IZcqltROXE8zRsPDz717UVDTW+nbBSwtjYO4bnzJ71IXG1ayQ1OnO+Kbu\/Y86iZtNTSzv\/AAxML3dAMrGcIU091u094rD2gjJDS4ZHOddM7YH1CtON6w09j7FpIdUPDdPAan9FaWSg+zbPT0pAD2sy\/H+I6lMuWF+pGa\/LxCjtHPzehOcA5padQRgrNcBuLrFKD+WocB\/K1aUkAZJwAszwECLHNkb1LsfytSrsMpU\/Xh4P+jToiJDSERcySMijdJI7lYwFzj4AIAzF6zeeKKS0BvNBTDtp9fr6YH+palZTh2oijjuHEFfIImzykMc7ubvgD1HidPj5vmufF8ro6V7qK1NPK6Qj3pfLz6beOVZxvlsjBTqqKcrXlLRd23kWVfxVSQSimoWOuFU7ZkOoHU\/sojLDdL1N298qTHAdW0kLsAde76q6tloorRB2VJFyk\/ie7Vz+p\/oKclxJdkr+GVTOq\/JafZFobbRW2Ps6OnZCDuRqT1J1KlIim3c0pKKsgiIg6Ze+4reL7RQEczY8yuadjuf9i1Cy0P8Aaf4izHcU1P8AoP8AktSqT0SMvD5ucu\/4yIl1l7C01kunuQPIB7\/dKreDYuz4ap3a5kc92v8AmI\/ROMar2bh2YDGZnNjGfPU\/IFWNppjR2mlpznmjiaHZ8ca\/Nc0gd14jwXy\/omIiJDSFQcZV5o7E+NjiH1LhGMeG7vkMeqv1ka+Fl248gpiTJDSRh8jHZLQRrt6tynprO72M3FSap4Y6vL1PCx8NVVwgppbs4tpIR9zS7ZB1ycbZ+JWzjjZFG2ONjWMaMNa0YAHkF0ueZvPycw5sZxnXC5KTkxqNGFJWWvU6RESlwiIgAiIgDLW5gZ\/EK5AZ\/u4Ovn2ZWpWYuj22XiunukmfZ6tnYyuJ0YdMfQH4q9r6+C3UMlZO77tgyMbuPcB1VJZ2MtBqGNPZt+uZQcQkXTiK3WdrS5jD2s2mmP8AwH4jotSs3wtSz1E1TfaoDtK0\/dgZy1mdumgA6LSLk8uXod4dNp1H+742CIiQ0nL3tjY57zhrQST4BZvhCN1U+vu8g96qmIZrs0a7euPRSeMK40ljfDGCZapwiaG74O\/y09VZWqjFvtdPSgYMbAD13PzJT6Q8TM+eul\/FX82S1QcQ2SaqkbdLfNIytgAw0O\/G0a4HgfkVfoli2ndFalONSOGRVWG9R3ikyR2dTF7s0R3afHoVarLX2mkst2iv9HGTGfdq2N05ge\/1+oC0dLUw1lNHUwP54pBlpTSS1WhOjN3dOfaXuup7IiJDQEREARq+gp7lSupqpnPGSD5gjvCo4OC4WzRe1V89VBCfcgf+EeW+2+2FpUTKTWSJTo05u8kfGtDWhrQAAMADuX1ESlQiIgDMXYC5cY26hdrHTNMzwRoTv67BadUFqt1U3ie53Gqh5A7DIXE55m+I9AFfp57Iz0E+aT3f0giIkNBxLFHPC+GVgfG8FrmnYhZazSO4dvklkqZM09QeeleT3nu9duo81rFWXyyxXqjEbj2c0Z5opB+U\/sU8WtHoZ61Nu04dpe\/cWaLPWK9zdsbTdvu62I8rXO2mHXx+uVoUsotOxSnUjUjdBERcKBERABERABERABERABERABERAFZeLFR3qENnaWSN1bKzHMP3Cpfbb\/w0Aysh+0KFgAEzPxMHXy8\/itaidTsrPNGedBSeKLs+v+9SHb7tQ3SPno6hshAy5mzm9Rupiz9x4WjfK6ttUzqGtznLHEMce\/I7vTTyV1SMnjpImVUolnDQJHtGA49+i5JLVDU5Tvhms+q0P\/\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "YAMIDEZ",
    "correoContacto": "ydiaz@munisg.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "9986722720",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28561\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "17:57",
    "ubicacionGPS": "LatLng(lat: -23.6618625, lng: -70.3999412)",
    "horaLlegada": "14:40",
    "horaDespacho": "17:55",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


06/05/2026 17:57:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69253200

[06/05/2026 17:57: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('69253200', 'KY2519', 1, 21773342, 21623, NOW(), 
				'17:55', '14:40', '17:57', 10, 'Toner', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778104664.png', '', null, 'COMPLETADO','LatLng(lat: -23.6618625, lng: -70.3999412)' )
				
[06/05/2026 17:57:44] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200209
[06/05/2026 17:57:44] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200209', 'KYO-I647', 1)
				
[06/05/2026 17:57:44] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28561 and
				    IDproducto = 'KYO-I647'
				

06/05/2026 17: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 = 12329
                
06/05/2026 17:57:44 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
06/05/2026 17:57:44 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200209'                    
				WHERE idllamado = 12329			
				TO ENVIO: micorreo@miempresa.cl, ydiaz@munisg.cl


06/05/2026 17:57:44 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12329			
				
06/05/2026 17:57:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


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

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

06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                [06/05/2026 17:57: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;
                
[06/05/2026 17:57: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;
                

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

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

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

06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                
06/05/2026 17: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 = 12329
                [06/05/2026 17:57: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;
                

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

06/05/2026 18:05:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            [06/05/2026 18:05:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 18:05:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
06/05/2026 18:05:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            
06/05/2026 18:05:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                [06/05/2026 18:05:38] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[06/05/2026 18:05:38] 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;
                

06/05/2026 18:05:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
06/05/2026 18:05:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                [06/05/2026 18:05: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;
                
[06/05/2026 18:07: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;
                
[06/05/2026 18:07: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;
				
[06/05/2026 18:07: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;
                
[06/05/2026 18:07: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;
                
[06/05/2026 18:28: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;
                
[06/05/2026 18:28: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;
				
[06/05/2026 18:28:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

06/05/2026 18:28:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 18:28:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [06/05/2026 18:28: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;
                

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

06/05/2026 18:28:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 18:28:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 18:28:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 18:28:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 18:28:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 18:28:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [06/05/2026 18:28: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;
                

06/05/2026 18:28:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 18:28:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 18:28:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 18:28:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 18:28:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 18:28:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 18:28:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 18:28:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                [06/05/2026 18:29:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 18:29:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 18:29:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [06/05/2026 18:29:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 18:29:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[06/05/2026 18:29:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

06/05/2026 18:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 18:29:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 18:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 18:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 18:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 18:29:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 18:29:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 18:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 18:29:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
06/05/2026 18:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 18:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 18:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 18:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 18:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 18:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
06/05/2026 18:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                [06/05/2026 18:29: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;
				
[06/05/2026 18:29: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;
                
[06/05/2026 18:29:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 08:43: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;
				
[07/05/2026 08:43:17] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[07/05/2026 08:43: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;
                
[07/05/2026 08:43: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;
                

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

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

07/05/2026 08:43:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [07/05/2026 08:43: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;
                
[07/05/2026 08:43: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;
                
[07/05/2026 08:43: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;
                
[07/05/2026 08:43: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;
				
[07/05/2026 08:54:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 08:55:02] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/05/2026 08:55:02] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[07/05/2026 09:02: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;
                

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

07/05/2026 09:02:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [07/05/2026 09:02: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/05/2026 09: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/05/2026 09:02:53] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[07/05/2026 09:02:53] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/05/2026 09: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/05/2026 09:20: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/05/2026 09:20:55] 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/05/2026 09:22: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;
                
[07/05/2026 09:23:28] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[07/05/2026 09:23:28] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/05/2026 09:55:02] 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;
                
[07/05/2026 09:55:02] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/05/2026 09:55:15] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

07/05/2026 09:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            
07/05/2026 09:55:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            [07/05/2026 09:55:37] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 09:55: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/05/2026 09:55:41] 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;
                
[07/05/2026 09:56:01] 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;
                
[07/05/2026 09:56: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/05/2026 09:56:03] 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;
                
[07/05/2026 09:56: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/05/2026 09:56:16] 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;
                
[07/05/2026 09:56:31] 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;
                

07/05/2026 09:56:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
07/05/2026 09:57:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            [07/05/2026 09:57:06] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 09:57:10] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 09:57: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;
                

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

07/05/2026 10:14:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            [07/05/2026 10:14:32] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 10:14:37] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 10:14:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12487
            GROUP BY l.idllamado;
            [07/05/2026 10:14: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;
                
[07/05/2026 10:14:42] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 10:14:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            [07/05/2026 10:14:44] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 10:14: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;
                

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

07/05/2026 10:14:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12487
            GROUP BY l.idllamado;
            [07/05/2026 10:14:52] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

07/05/2026 10: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 = 12487
                
07/05/2026 10: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 = 12487
                
07/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12487
            GROUP BY l.idllamado;
            
07/05/2026 10: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 = 12487
                
07/05/2026 10: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 = 12487
                
07/05/2026 10: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 = 12487
                
07/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12487
            GROUP BY l.idllamado;
            
07/05/2026 10: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 = 12487
                
07/05/2026 10: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 = 12487
                
07/05/2026 10: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 = 12487
                
07/05/2026 10:15:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12487
            GROUP BY l.idllamado;
            
07/05/2026 10:15:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12487
                
07/05/2026 10:15:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12487
                
07/05/2026 10:15:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12487
                
07/05/2026 10:15:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12487
                
07/05/2026 10: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 = 12487
                
07/05/2026 10:15:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12487
            GROUP BY l.idllamado;
            
07/05/2026 10: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 = 12487
                
07/05/2026 10:15:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12487
                
07/05/2026 10:15:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12487
                
07/05/2026 10:15:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12487
            GROUP BY l.idllamado;
            
07/05/2026 10:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12487
                
07/05/2026 10:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12487
                
07/05/2026 10:15:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12487
            GROUP BY l.idllamado;
            
07/05/2026 10:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12487
                
07/05/2026 10:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12487
                
07/05/2026 10:15:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12487
                
07/05/2026 10:15:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12487
                
07/05/2026 10:17:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12487
                
07/05/2026 10:17:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12487
                
07/05/2026 10:17:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12487
            GROUP BY l.idllamado;
            
07/05/2026 10:17:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12487
            GROUP BY l.idllamado;
            
07/05/2026 10:17:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12487
            GROUP BY l.idllamado;
            
07/05/2026 10: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 = 12487
                
07/05/2026 10: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 = 12487
                
07/05/2026 10: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 = 12487
                
07/05/2026 10: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 = 12487
                
07/05/2026 10: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 = 12487
                
07/05/2026 10: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 = 12487
                
07/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12487
            GROUP BY l.idllamado;
            
07/05/2026 10: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 = 12487
                
07/05/2026 10: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 = 12487
                
07/05/2026 10:18:09 - logentry: =========================================
FECHA: 07/05/2026 10:18:09
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-D4t7ffw-74reYIfI0detwRrgJfsAm-eeJH6taFPnD3vcHsFUZk0
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "KY2961",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "588639",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza entrega de 2 toner\niton 2790",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12487",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACqANMDASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgECAwf\/xABBEAABAwMCAgYIAwYFBAMAAAABAAIDBAURBiESMRMUQVFhcSIygZGhscHRBxUjJEJSwuHwM0OCktJiouLxNlNj\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgECBQEHBAIDAQAAAAAAAAECAxESITFBUQQiMmFxkaHRE4GxwSNCM1Lh8P\/aAAwDAQACEQMRAD8A+zIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIo9bW09vpX1NTIGRsG57\/AeKy9LQV+rJDW3CaWmoQ\/MELNi4f2OeO9NGN83oQqVcLUYq7exqXVtKyJ8pqYuCMcT3B4OAszS1l\/1G+Soopo6KiZJhhcPSdj589+xQdR6eorZHSR0BnFTUShjcvyD2ZO3Pccu8q0sd1qrbPHZbvTspyxgbBK3Zrxy3PI57+\/nuqqKUbrMySqynUwVMkuOdszilvtxtFayh1AxvBIcR1bdmnz23+GO1ahQ7pbILtQvpKgeid2uHNruwhVOm62pgqp7FXv45qUZifj1mDGPmMJHaSujRFypTwSd09H+n+jRIiKZqCIiACIiACIiACIiACrJL\/QxXltqc5wnOATjYEgED25Vmvmc8rptSuuHE4M6+Gh3gD9gFSnBSvcydVXdJRw7v2PpiIimawiIgAiIgAiIgAiLyqp20tJNUP9WJjnnyAyg43ZXZmb0Hag1DBZ4yerUpElSRnBPdnvxt5k9y1TWhrQ1oAAGAB2LO6MhdJQT3Kb0p6uVxLyN+EbYyd+eVo088nh4M\/Tq6dR6y\/Gxl6nNfr+niHqUUPG4Dvxn+ZqsNUW2O42SbibmWBpkjd2ggbj2hV2k\/225XW6nlLLwMxyxz5+XCtLUPbHTSvfjhawk57sJpPDJW2J0oqpSk3\/AGb+EQNO1xuNjpp3kmTh4XknJyDj+vtVVcGth1\/bpGDDpYiH+Ozh8vkvXQzXN0+ScYdM4jywB9CvO+f\/ADCze35rqVpteYkpOXTwk9bx\/Jp1wSAMk4AXjWVlPQUzqmqkEcbOZPyHesu+a56ukMcAdR2riw6Q+tIB8\/LkPFTjG+exqqVlB4Vm3sa2ORkrBJG9r2O5Oacgoo9HbqWhpI6WGIdHGMDiGSfEouZFFitmSkRFwYIiIAIiIA86iXoKaWXb9Nhdv4DK+ctiMenqOsf6T5LgXE9+w+oPvW31HN0Gnq5+QMxFu\/8A1bfVZe6w9X0PaXYxwytfgnnxBzlelkvueb1mb8lf3Ru0RFA9IIiIAKLcp5Ka11VREQJIoXvbkZGQCVKUevj6a3VMWM8cT2478grq1FnfC7EXT9dNcrJT1c+Okk4uLAwNnEfRWSoNFSB+nImgk9G97T4b5+qv12atJonQk5Uot8IKh1nVGm09I0c53tiz8T8AVfLL6qHW7tZ6AY9ObjdkdmR9MrtPvIXqm1Sdt8vXIvrZS9StlNS43iia13njf4rm4y9BbKqX+CF5547CpKpdXT9Bpupxzk4WDbvIz8MrizkPUap0nbZHnouHotOQuP8Amvc\/44+i7avrhR2CZgdiSo\/SaM888\/hlTrLAaay0cJ5thbnzxkqjuD\/zjWlLQAh0FCOlkbjI4ue\/\/aPf5J1nNszyvDp4wWrsvUvLLR9Qs1LTEYcyMcQ\/6jufiSs9qmsjoNSWyqkBLYWFxa3md1obtdqWz0hnqXbnZjB6zz3D7rGxNq7tq2hN3hHDUMMjIXcmsAdgY\/0rtNXbkxOpkoxjShrdfbzLOioqvVNW24XNpioGHMFN\/H4nvHj2+S1bGMjYGRtDGtGA1owAuQABgDAC5U5SuaqVJU1y3qwiIlLBERABERABERAGd1xMY7B0QzmeZrMDt5n6BeerqXodJxxNxindGNu4Dh+q66mPW79Z7eMby9K8Z3xkfQOVhquIzaarGgZIa13LucCfgFaOWE8+osf1X4W9rllSSCWjgkHJ8bXD2heyr7DKJrDQvBz+g1pOe0DB+SsFJ5M2wd4phERcHC4IBGCMgrlEAZjQ+Y6GspiSRFUkD3AfRadZjSPoVt5hB2ZVbDu3cPotOnqd5mbpP8K\/9uFmJ\/1\/xCpw7P6FOSB2HY\/dadYzTtc666xq6x8fR4pyMA5GxaF2CybF6iSxQjy\/wbNZfWBNXUW21MJJqJuJw5bcvqfctQsnRPjuetauuc4Gnt8fA15OwPLOeWPXKKet+DvUu8VD\/Z+25p6ieOkpZJ5PRjhYXOwOwBYa03xtCyqrgx1VcrhKejhbk8IycZx4nkO4cl7al1O24xm2W0F8cjg18vLiOeQ8Nua0Fi05SWWMPA6WpcMPlI5eDe4JklCPa3ISlKvWSpPKO\/i+CFa9PT1NULpfX9NUk8TIf3Y+7w9i6j9o\/EQ\/vdWpv9uR\/wCfxWnWYsX7Rq681Wc9GRFk+eP5FxSbu3wPOlGDhCO7v52NOiIpG4IiIAIiIAIiIAIiIAy9OevfiBUSc2UUHC047cAY\/wC5yvrlD1i11UAGTJC9o8yCqHRo61NdLkRnrFRgHu5nHf8AvBS7rqilo5up0sRrqtx4RFHyz3E\/RVkm5WWxhpTgqLnN95s40ZN0um4W5yYnvYffn6q+Xz3TjL+7rVDbqiKk6F\/FIyZm4cdu1p\/hVw+5aksf6lzhjr6b96SEYLPHYDv7R2Ls4Xk7MXp+pSpRxRdlvbI1SKorNSUFLaYrk1xljlIDGtxxE9vPuU23XGnulG2qpnZY7Yg82ntBUnFpXNiqwlLCnnqSkRQbheaK1yQx1Uha+Y4YA3PaATnltlCTeg0pKKvJ2KbT\/wCnqq9xDk54f8T91p1mLZ6OvLo07EwggeHofdadNPUh03ca4b\/IWG0KA671zwc+hgY8Xf0W3e9kbC+RwY1oyXOOAF8y03VXOCqmhtUDZZ5mYJcPUAPPu7e1PTV4yIdVNRrU2\/E3d9vMNooJHGVjahzD0LDuSew47lgrRwVrjQ11xFHSOd0smdnSnbtP188Lzr6OomvnUusmrqnPDHvyccZ5gHuHL2FfRpbJb6ilhp6imZK2Fga0u54HjzT5U15mf+Tq6jeijtz6GctVLS3HUjH0MQbb7a3EbgD6b+\/ONznx5ALZLypqaCkgbBTxNijbya0YC9VCUsTPRo0vpxz1ZwSAMk4AWZ0QOlpa6s3HT1J589hn+ZXt0mNPaquYc2QPcN8bhpVZoyLotNwOxgyOe74kfRdXcYs868Vwm\/wi9RESGkIiIAIiIAIiIAKLcpm09sqpnO4QyJxznHYvaaaOnhfNM8MjYMuc47ALCagudZe6KapiBhtkDw1mRvM7OPv\/AO08I4mZuorqlB7s6WA3W40H5Xbz1en4nOqKjz7B7uQ+S2FosVDZosU8fFKR6Ur93H7DwXaw0vU7HRwkAOEQc4AY3O5+asF2c7tpCdN06hFSlm7enkZeDNB+IEzHHDK6DiaNuf8A7a73rTuaHNLXAEEYIPasxq8Oo6m23eMb083C\/HaDvjy2I9q0zXNewPactcMg94RPNJjUOzKcPG\/qYGa3UdFreGicQaV0oeIyMhriNm+WcezCtbYfyHVU9sPoUtZ+pDk4DT2AfEewKhvbZKy7XW5wEtFHNG0uHZ+6D72rR6mglrrRR3ik\/wAWlDZxsPVIBz7MA+9WlsnuefTyc5RXdd14rRmmWI\/EHHWKHPLhf8wtbbK+O5W6Gsj5SNyR\/Ce0e9Y\/X80UlXSRska58bXcbQclucYypUl2zX1sk+mbW9iXQSOGtYJHbmpoWnOMfuD\/AIq4u+pKG0fpucZqg8oY9z7T2fNY6E112vVBGC63ulphHHLvksDTuOXPBWztWnKC0+nEwyznnLIcnPh2BNNRTVyfTzqTUlT0vq\/gqI7Vd9RuE15lfSUmcspWbE+Y++\/ksdbaqrpKrpKFzxO5pY0MbknI7vj7F9D1BfvyxjKWlZ01dPtHGN+HxI+SodIW99BqSpp6lrRPFT5xkHGS37p4SeFtkK9JOrGMW77v8E3SenZqOZ1yr2ETnIjY7m3PMnxP1K1aIs8pOTuz1aNKNKGGIRESlSl1dP0Gm6nHOThYNu8jPwyptmg6tZqOHtbC3O\/bjJ+KpNZuNS63WxpOamoBIHdy\/m+C04AAwBgBO8oIzQ7VeT4SX7OUREhpCIiACIiAC4c4NaXOIAAySexcrKXitm1BcW2S2yHoGnNVO3kB3f3zKaMbslVqqnG+r2XJ5SyTaxurqaJ7o7VTHL3t\/wA0\/wB8u7mvTVEETpbRZIIw2N8oywZwGjA+RctJRUVPb6VlNTRhkbBsO\/xPis+R178QRn0m0NPnwBx\/5\/DwVIyu8tEZKlJqFpZyk0n8eRpwABgDAC5RFE9Ar77RfmFlqqYDLnMy3fHpDcfEKNpevFZp6B7nelAOif4cPL4YKuVk7VPFYtQ3OhqJBFTyDrEbnkADy9+P9KpHOLRlqPBVjPZ5P8oh2in6fR14qXtOZnPd\/tAOfflWtsvNFQ6Uo5a6ZmHRlojG5fgkYA\/sKDcNRS3WmqaOy0RMPRu6ad7cANxvgdm3fv4LnSFgoai3x3GpZ08ji4NY\/djcHu7VSWl5GOm2pqNLPK19tfcpaOtqmTGho6h9ut9bKTHJKD6I8D7s48Nwu2pLDDaZKKCne+WWfi4nPPrHIx5c1vbhbKS50vV6mPiYDluNi094WPlsz7Vqa005rH1LC8FjZBtGAeQ3P0TRqJu4lbppQjheads+M+CwucXU9UWLlszovDbb6qffdQCgc2iom9YuEuzGN34PE\/ZU+spZ3XugjozxVLGksazdzXE7K60\/p+O1RdPN+rWyjMkjjktJ5gH69qR2wpsvFzdSdOnkr68ZL3POx6eNJKbjcX9YuEnpOcdxHnsHj\/YUZn6H4iP7OsU3v2H\/ABWle9kbC+RwY1oyXOOAFibveqRmrqOvoz1vooixzYv3nHiAA7\/WXI3k2PXVOjCNtmn8m4UKvvFvtg\/a6pkbsZDObj7BuqIO1VegCAy1wE9oIkx8\/kplv0jQUknT1JdXTk5L5txnvx98pcKXeZX6tSf+OP3fxqQjqK7XmR0VioeCLkamYcvHu+a0FsgrKehZHXVIqJwSXPAxzPJSgABgDAC5SuSeSRSnSlF4pSu\/b0MvP+3\/AIgQx82UMHER44z\/ADN9y1Cy+lR1u73e5Hk+XgZjuyT8uFahNPW3AnTZxc+W3+giIpmkIiIAIig3e5x2m2y1cm5aMMb\/ABO7AupXdhZSUU5PQq9Q3ibpxZLZ6VdUDDnA46MEZ9+N\/Abqxslois1vZTR4c8+lK\/8Ajd9u5V+lLW+KnfdK1pNbVkuJfnLW9g9vP3LQp5O3ZRnoxc39Wer08F8hZfSWay4Xa5ncSzcLD2YyT7di1Xd5qep2erqO1kTuHzIwPiVB0hS9W07ASMOmJkO3edvgAhZQbOz7VeMeLv8ARdrgkAZJwAqy7agoLO0tnk4psZbCzdx+3tVMKS+6mOa5xt1Af8pmQ548R2+33LihdXeSOzrpPDFXfHzwTLnquGGYUlsiNfVO2xHu1vu5+z3rPXm3V8clLd74WytklayWBgxwM54yPDP3K2tttNFaYeipIQ3PrPO7neZXS+0JuVmqaZoy9zMsGcekNx8QnjNReRCrQqVINzeey2\/6c1sUFJYapkDGRwsp34DBtjhKg6NBGmacntc8j\/cVFobiKzQc7iQ6SGmfC8d2GkD4YKnaSbw6ZoxnOzj73krjVotPkaElOrGS0w\/tFysZqyplZqK39RAlq4mnDB6WCTtkfFaK+XeKzW91Q8B8hPDGzPrO+y+c0UtZWXaB9PM410jziWRwIyfYmpR\/sS66slaktXYtayhqdP1dJd62eOoqny8csXSAO9nf27jYbK5dqG8XUltltb2xEbTzjHu7PiVJtulIIZet3KU19WdyZDlo8geft9yvwABgDAC5Ka8xqPT1FfPCntq\/UzDdJ1VwkbPfLlJUOA\/wo9mt9v2AUa+W2js9wsklHA2JrajDyObt28yfatis1rph\/J4Zm84qhp+B\/oiE25JM7XoQhSlKKz53NKi6xvEkbXjk4Arsom8KLcqkUlsqagnHRxOcPPG3xUpZ\/WlV0FgdE12H1D2xgDmRnJ+XxTRV5JEq08FOUuEc6Lpug07E8jBme6Q588D4AK\/Ue30oorfT0zRjoo2t9oG6kIk7tsKMMFOMeEEREpUIiIA4c4NaXOIAAySexZEcer73xHa10L9v\/wBj\/XHsHmpGo6ye410enaFwD5gHTv8A4G88H2YPuHar6goYbbRR0tO3DIxjON3HtJ8SqLsq+5kl\/PPB\/Va+L4+SSi4JAGScAKhuWraKlf1eiBrqpx4Wsi3GfPt9iRRb0L1KkKavJ2GtZhFpyRhOOlkYweO+foqqjuF3u1FBQWWE01NDG2N9VIMEkDBwez2ZPkoN3orpUVdvfd5gZaybgZTN9Vjcgdmw5\/1X0CONkUbY42NYxow1rRgAeAVm1CKWphipV6snnFZLx5+xUWnTNFbHCeTNTV5y6eTffvA7PPmrlEUW282b4U4wVoqwREXBzB1xdZau82xzg2CshM0AG25PIeziH+kL1p9Ttt9gpaK3RiapbETIT6sW5yT3\/Jcayf8AmlyjoqKmknqKZhdI6ME7HG2O3G3vwoNupPzMU9mpYjCMcdfMWelkE+ifAbADv8lrSTinI8OUpwqyjTfgvXREvT9nn1FUOud3kfNCCQ1riRxnw7mjwVjeYo6XU9jbExrIgSxrWjAG\/wDVaaCCKmgZBCwMjjHC1o7As5qj9K92SfYgT8JH+pqkp4pGudBUaPjdXf3Rp0RFE9EKm1bEZtNVYaCS0Ndt4OGfhlXKj19P1u31FN\/9sbmjzIXYuzTJ1Y4qco8o8LJMJ7HRSDG8DQcHtAwfkp6z+iqgzafbEfWgkcwg8+\/6rQLs1aTRyhLFSi\/ALL6h\/btTWi2g5DXdM9veOfyafetQsvaT+Ya0uVZkOZTNELcdh5fyu96aGV2T6jtKMOWvbM1CIimaQiIgAiIgDLV0dfZtRz3aKjfWwTxBp4PWZyGBz7guztU3Go4W0Finc5w2dJnA3x3fVadFTGt0ZvoSTeGdk\/IyptWob24tu1W2jpjzhgxl3ht9SfJXdtstBamYpIA12MGR27j7VPRK5t5DQoQg8Wr5ZSXa01NdfLbVMLTBSu4ngntyDt7h7ldoi43fIpGCi21uERFwcIiIA+f08N4hmrKGlpJG1lXMemqjnDWc9jjbJJJPl4LX2SzQWWiEER45HbySEYLj9lYoqSm5ZGWj00abve\/HgFmtcsItMFQ31oahpB7titKoN5tv5tapqPpOjL8FrsZwQc\/RLB2kmUrwc6UorUmMeJGNe3k4Ahdl40cDqaigp3P43RRtYXYxkgYyvZKVV7ZhERB0y+mSKK\/Xe28gJOljbnkM\/YtWoWXruG265pKpxDIq2Ixudnm7l\/wWoVJ5tPkzdNkpQ4b+SPX1baGgnqncomF3LOT2Kn0bSuhsxqZN5KuQyE+HIfIn2ry1lNJNT01pp95qyUDhyeQP3x7loKanZSUsVPGMMiYGN8gMI0h5nF26\/hFe7\/4eqIimagiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgCm1PaTdbWREP2iE8cR7fEe0fIKLbdX0ElBmukMFTC3EjHDdxA3LfstGqC90tO65U0joIy8kEuLBk7jtVYWl2WY696T+rB65MiWKOovd7kv9RHwU7WmOma7fwyPj7SVql1YxkbAyNoY1owGtGAF2SSd2Wo08Edbt5sIiJSwREQAREQB\/\/9k=",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA E INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56990956158",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:18",
    "ubicacionGPS": "LatLng(lat: -29.9177617, lng: -71.2550715)",
    "horaLlegada": "07:01",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 07/05/2026 10:18:09
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-D4t7ffw-74reYIfI0detwRrgJfsAm-eeJH6taFPnD3vcHsFUZk0
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "KY2961",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "588639",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza entrega de 2 toner\niton 2790",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12487",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACqANMDASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgECAwf\/xABBEAABAwMCAgYIAwYFBAMAAAABAAIDBAURBiESMRMUQVFhcSIygZGhscHRBxUjJEJSwuHwM0OCktJiouLxNlNj\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgECBQEHBAIDAQAAAAAAAAECAxESITFBUQQiMmFxkaHRE4GxwSNCM1Lh8P\/aAAwDAQACEQMRAD8A+zIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIo9bW09vpX1NTIGRsG57\/AeKy9LQV+rJDW3CaWmoQ\/MELNi4f2OeO9NGN83oQqVcLUYq7exqXVtKyJ8pqYuCMcT3B4OAszS1l\/1G+Soopo6KiZJhhcPSdj589+xQdR6eorZHSR0BnFTUShjcvyD2ZO3Pccu8q0sd1qrbPHZbvTspyxgbBK3Zrxy3PI57+\/nuqqKUbrMySqynUwVMkuOdszilvtxtFayh1AxvBIcR1bdmnz23+GO1ahQ7pbILtQvpKgeid2uHNruwhVOm62pgqp7FXv45qUZifj1mDGPmMJHaSujRFypTwSd09H+n+jRIiKZqCIiACIiACIiACIiACrJL\/QxXltqc5wnOATjYEgED25Vmvmc8rptSuuHE4M6+Gh3gD9gFSnBSvcydVXdJRw7v2PpiIimawiIgAiIgAiIgAiLyqp20tJNUP9WJjnnyAyg43ZXZmb0Hag1DBZ4yerUpElSRnBPdnvxt5k9y1TWhrQ1oAAGAB2LO6MhdJQT3Kb0p6uVxLyN+EbYyd+eVo088nh4M\/Tq6dR6y\/Gxl6nNfr+niHqUUPG4Dvxn+ZqsNUW2O42SbibmWBpkjd2ggbj2hV2k\/225XW6nlLLwMxyxz5+XCtLUPbHTSvfjhawk57sJpPDJW2J0oqpSk3\/AGb+EQNO1xuNjpp3kmTh4XknJyDj+vtVVcGth1\/bpGDDpYiH+Ozh8vkvXQzXN0+ScYdM4jywB9CvO+f\/ADCze35rqVpteYkpOXTwk9bx\/Jp1wSAMk4AXjWVlPQUzqmqkEcbOZPyHesu+a56ukMcAdR2riw6Q+tIB8\/LkPFTjG+exqqVlB4Vm3sa2ORkrBJG9r2O5Oacgoo9HbqWhpI6WGIdHGMDiGSfEouZFFitmSkRFwYIiIAIiIA86iXoKaWXb9Nhdv4DK+ctiMenqOsf6T5LgXE9+w+oPvW31HN0Gnq5+QMxFu\/8A1bfVZe6w9X0PaXYxwytfgnnxBzlelkvueb1mb8lf3Ru0RFA9IIiIAKLcp5Ka11VREQJIoXvbkZGQCVKUevj6a3VMWM8cT2478grq1FnfC7EXT9dNcrJT1c+Okk4uLAwNnEfRWSoNFSB+nImgk9G97T4b5+qv12atJonQk5Uot8IKh1nVGm09I0c53tiz8T8AVfLL6qHW7tZ6AY9ObjdkdmR9MrtPvIXqm1Sdt8vXIvrZS9StlNS43iia13njf4rm4y9BbKqX+CF5547CpKpdXT9Bpupxzk4WDbvIz8MrizkPUap0nbZHnouHotOQuP8Amvc\/44+i7avrhR2CZgdiSo\/SaM888\/hlTrLAaay0cJ5thbnzxkqjuD\/zjWlLQAh0FCOlkbjI4ue\/\/aPf5J1nNszyvDp4wWrsvUvLLR9Qs1LTEYcyMcQ\/6jufiSs9qmsjoNSWyqkBLYWFxa3md1obtdqWz0hnqXbnZjB6zz3D7rGxNq7tq2hN3hHDUMMjIXcmsAdgY\/0rtNXbkxOpkoxjShrdfbzLOioqvVNW24XNpioGHMFN\/H4nvHj2+S1bGMjYGRtDGtGA1owAuQABgDAC5U5SuaqVJU1y3qwiIlLBERABERABERAGd1xMY7B0QzmeZrMDt5n6BeerqXodJxxNxindGNu4Dh+q66mPW79Z7eMby9K8Z3xkfQOVhquIzaarGgZIa13LucCfgFaOWE8+osf1X4W9rllSSCWjgkHJ8bXD2heyr7DKJrDQvBz+g1pOe0DB+SsFJ5M2wd4phERcHC4IBGCMgrlEAZjQ+Y6GspiSRFUkD3AfRadZjSPoVt5hB2ZVbDu3cPotOnqd5mbpP8K\/9uFmJ\/1\/xCpw7P6FOSB2HY\/dadYzTtc666xq6x8fR4pyMA5GxaF2CybF6iSxQjy\/wbNZfWBNXUW21MJJqJuJw5bcvqfctQsnRPjuetauuc4Gnt8fA15OwPLOeWPXKKet+DvUu8VD\/Z+25p6ieOkpZJ5PRjhYXOwOwBYa03xtCyqrgx1VcrhKejhbk8IycZx4nkO4cl7al1O24xm2W0F8cjg18vLiOeQ8Nua0Fi05SWWMPA6WpcMPlI5eDe4JklCPa3ISlKvWSpPKO\/i+CFa9PT1NULpfX9NUk8TIf3Y+7w9i6j9o\/EQ\/vdWpv9uR\/wCfxWnWYsX7Rq681Wc9GRFk+eP5FxSbu3wPOlGDhCO7v52NOiIpG4IiIAIiIAIiIAIiIAy9OevfiBUSc2UUHC047cAY\/wC5yvrlD1i11UAGTJC9o8yCqHRo61NdLkRnrFRgHu5nHf8AvBS7rqilo5up0sRrqtx4RFHyz3E\/RVkm5WWxhpTgqLnN95s40ZN0um4W5yYnvYffn6q+Xz3TjL+7rVDbqiKk6F\/FIyZm4cdu1p\/hVw+5aksf6lzhjr6b96SEYLPHYDv7R2Ls4Xk7MXp+pSpRxRdlvbI1SKorNSUFLaYrk1xljlIDGtxxE9vPuU23XGnulG2qpnZY7Yg82ntBUnFpXNiqwlLCnnqSkRQbheaK1yQx1Uha+Y4YA3PaATnltlCTeg0pKKvJ2KbT\/wCnqq9xDk54f8T91p1mLZ6OvLo07EwggeHofdadNPUh03ca4b\/IWG0KA671zwc+hgY8Xf0W3e9kbC+RwY1oyXOOAF8y03VXOCqmhtUDZZ5mYJcPUAPPu7e1PTV4yIdVNRrU2\/E3d9vMNooJHGVjahzD0LDuSew47lgrRwVrjQ11xFHSOd0smdnSnbtP188Lzr6OomvnUusmrqnPDHvyccZ5gHuHL2FfRpbJb6ilhp6imZK2Fga0u54HjzT5U15mf+Tq6jeijtz6GctVLS3HUjH0MQbb7a3EbgD6b+\/ONznx5ALZLypqaCkgbBTxNijbya0YC9VCUsTPRo0vpxz1ZwSAMk4AWZ0QOlpa6s3HT1J589hn+ZXt0mNPaquYc2QPcN8bhpVZoyLotNwOxgyOe74kfRdXcYs868Vwm\/wi9RESGkIiIAIiIAIiIAKLcpm09sqpnO4QyJxznHYvaaaOnhfNM8MjYMuc47ALCagudZe6KapiBhtkDw1mRvM7OPv\/AO08I4mZuorqlB7s6WA3W40H5Xbz1en4nOqKjz7B7uQ+S2FosVDZosU8fFKR6Ur93H7DwXaw0vU7HRwkAOEQc4AY3O5+asF2c7tpCdN06hFSlm7enkZeDNB+IEzHHDK6DiaNuf8A7a73rTuaHNLXAEEYIPasxq8Oo6m23eMb083C\/HaDvjy2I9q0zXNewPactcMg94RPNJjUOzKcPG\/qYGa3UdFreGicQaV0oeIyMhriNm+WcezCtbYfyHVU9sPoUtZ+pDk4DT2AfEewKhvbZKy7XW5wEtFHNG0uHZ+6D72rR6mglrrRR3ik\/wAWlDZxsPVIBz7MA+9WlsnuefTyc5RXdd14rRmmWI\/EHHWKHPLhf8wtbbK+O5W6Gsj5SNyR\/Ce0e9Y\/X80UlXSRska58bXcbQclucYypUl2zX1sk+mbW9iXQSOGtYJHbmpoWnOMfuD\/AIq4u+pKG0fpucZqg8oY9z7T2fNY6E112vVBGC63ulphHHLvksDTuOXPBWztWnKC0+nEwyznnLIcnPh2BNNRTVyfTzqTUlT0vq\/gqI7Vd9RuE15lfSUmcspWbE+Y++\/ksdbaqrpKrpKFzxO5pY0MbknI7vj7F9D1BfvyxjKWlZ01dPtHGN+HxI+SodIW99BqSpp6lrRPFT5xkHGS37p4SeFtkK9JOrGMW77v8E3SenZqOZ1yr2ETnIjY7m3PMnxP1K1aIs8pOTuz1aNKNKGGIRESlSl1dP0Gm6nHOThYNu8jPwyptmg6tZqOHtbC3O\/bjJ+KpNZuNS63WxpOamoBIHdy\/m+C04AAwBgBO8oIzQ7VeT4SX7OUREhpCIiACIiAC4c4NaXOIAAySexcrKXitm1BcW2S2yHoGnNVO3kB3f3zKaMbslVqqnG+r2XJ5SyTaxurqaJ7o7VTHL3t\/wA0\/wB8u7mvTVEETpbRZIIw2N8oywZwGjA+RctJRUVPb6VlNTRhkbBsO\/xPis+R178QRn0m0NPnwBx\/5\/DwVIyu8tEZKlJqFpZyk0n8eRpwABgDAC5RFE9Ar77RfmFlqqYDLnMy3fHpDcfEKNpevFZp6B7nelAOif4cPL4YKuVk7VPFYtQ3OhqJBFTyDrEbnkADy9+P9KpHOLRlqPBVjPZ5P8oh2in6fR14qXtOZnPd\/tAOfflWtsvNFQ6Uo5a6ZmHRlojG5fgkYA\/sKDcNRS3WmqaOy0RMPRu6ad7cANxvgdm3fv4LnSFgoai3x3GpZ08ji4NY\/djcHu7VSWl5GOm2pqNLPK19tfcpaOtqmTGho6h9ut9bKTHJKD6I8D7s48Nwu2pLDDaZKKCne+WWfi4nPPrHIx5c1vbhbKS50vV6mPiYDluNi094WPlsz7Vqa005rH1LC8FjZBtGAeQ3P0TRqJu4lbppQjheads+M+CwucXU9UWLlszovDbb6qffdQCgc2iom9YuEuzGN34PE\/ZU+spZ3XugjozxVLGksazdzXE7K60\/p+O1RdPN+rWyjMkjjktJ5gH69qR2wpsvFzdSdOnkr68ZL3POx6eNJKbjcX9YuEnpOcdxHnsHj\/YUZn6H4iP7OsU3v2H\/ABWle9kbC+RwY1oyXOOAFibveqRmrqOvoz1vooixzYv3nHiAA7\/WXI3k2PXVOjCNtmn8m4UKvvFvtg\/a6pkbsZDObj7BuqIO1VegCAy1wE9oIkx8\/kplv0jQUknT1JdXTk5L5txnvx98pcKXeZX6tSf+OP3fxqQjqK7XmR0VioeCLkamYcvHu+a0FsgrKehZHXVIqJwSXPAxzPJSgABgDAC5SuSeSRSnSlF4pSu\/b0MvP+3\/AIgQx82UMHER44z\/ADN9y1Cy+lR1u73e5Hk+XgZjuyT8uFahNPW3AnTZxc+W3+giIpmkIiIAIig3e5x2m2y1cm5aMMb\/ABO7AupXdhZSUU5PQq9Q3ibpxZLZ6VdUDDnA46MEZ9+N\/Abqxslois1vZTR4c8+lK\/8Ajd9u5V+lLW+KnfdK1pNbVkuJfnLW9g9vP3LQp5O3ZRnoxc39Wer08F8hZfSWay4Xa5ncSzcLD2YyT7di1Xd5qep2erqO1kTuHzIwPiVB0hS9W07ASMOmJkO3edvgAhZQbOz7VeMeLv8ARdrgkAZJwAqy7agoLO0tnk4psZbCzdx+3tVMKS+6mOa5xt1Af8pmQ548R2+33LihdXeSOzrpPDFXfHzwTLnquGGYUlsiNfVO2xHu1vu5+z3rPXm3V8clLd74WytklayWBgxwM54yPDP3K2tttNFaYeipIQ3PrPO7neZXS+0JuVmqaZoy9zMsGcekNx8QnjNReRCrQqVINzeey2\/6c1sUFJYapkDGRwsp34DBtjhKg6NBGmacntc8j\/cVFobiKzQc7iQ6SGmfC8d2GkD4YKnaSbw6ZoxnOzj73krjVotPkaElOrGS0w\/tFysZqyplZqK39RAlq4mnDB6WCTtkfFaK+XeKzW91Q8B8hPDGzPrO+y+c0UtZWXaB9PM410jziWRwIyfYmpR\/sS66slaktXYtayhqdP1dJd62eOoqny8csXSAO9nf27jYbK5dqG8XUltltb2xEbTzjHu7PiVJtulIIZet3KU19WdyZDlo8geft9yvwABgDAC5Ka8xqPT1FfPCntq\/UzDdJ1VwkbPfLlJUOA\/wo9mt9v2AUa+W2js9wsklHA2JrajDyObt28yfatis1rph\/J4Zm84qhp+B\/oiE25JM7XoQhSlKKz53NKi6xvEkbXjk4Arsom8KLcqkUlsqagnHRxOcPPG3xUpZ\/WlV0FgdE12H1D2xgDmRnJ+XxTRV5JEq08FOUuEc6Lpug07E8jBme6Q588D4AK\/Ue30oorfT0zRjoo2t9oG6kIk7tsKMMFOMeEEREpUIiIA4c4NaXOIAAySexZEcer73xHa10L9v\/wBj\/XHsHmpGo6ye410enaFwD5gHTv8A4G88H2YPuHar6goYbbRR0tO3DIxjON3HtJ8SqLsq+5kl\/PPB\/Va+L4+SSi4JAGScAKhuWraKlf1eiBrqpx4Wsi3GfPt9iRRb0L1KkKavJ2GtZhFpyRhOOlkYweO+foqqjuF3u1FBQWWE01NDG2N9VIMEkDBwez2ZPkoN3orpUVdvfd5gZaybgZTN9Vjcgdmw5\/1X0CONkUbY42NYxow1rRgAeAVm1CKWphipV6snnFZLx5+xUWnTNFbHCeTNTV5y6eTffvA7PPmrlEUW282b4U4wVoqwREXBzB1xdZau82xzg2CshM0AG25PIeziH+kL1p9Ttt9gpaK3RiapbETIT6sW5yT3\/Jcayf8AmlyjoqKmknqKZhdI6ME7HG2O3G3vwoNupPzMU9mpYjCMcdfMWelkE+ifAbADv8lrSTinI8OUpwqyjTfgvXREvT9nn1FUOud3kfNCCQ1riRxnw7mjwVjeYo6XU9jbExrIgSxrWjAG\/wDVaaCCKmgZBCwMjjHC1o7As5qj9K92SfYgT8JH+pqkp4pGudBUaPjdXf3Rp0RFE9EKm1bEZtNVYaCS0Ndt4OGfhlXKj19P1u31FN\/9sbmjzIXYuzTJ1Y4qco8o8LJMJ7HRSDG8DQcHtAwfkp6z+iqgzafbEfWgkcwg8+\/6rQLs1aTRyhLFSi\/ALL6h\/btTWi2g5DXdM9veOfyafetQsvaT+Ya0uVZkOZTNELcdh5fyu96aGV2T6jtKMOWvbM1CIimaQiIgAiIgDLV0dfZtRz3aKjfWwTxBp4PWZyGBz7guztU3Go4W0Finc5w2dJnA3x3fVadFTGt0ZvoSTeGdk\/IyptWob24tu1W2jpjzhgxl3ht9SfJXdtstBamYpIA12MGR27j7VPRK5t5DQoQg8Wr5ZSXa01NdfLbVMLTBSu4ngntyDt7h7ldoi43fIpGCi21uERFwcIiIA+f08N4hmrKGlpJG1lXMemqjnDWc9jjbJJJPl4LX2SzQWWiEER45HbySEYLj9lYoqSm5ZGWj00abve\/HgFmtcsItMFQ31oahpB7titKoN5tv5tapqPpOjL8FrsZwQc\/RLB2kmUrwc6UorUmMeJGNe3k4Ahdl40cDqaigp3P43RRtYXYxkgYyvZKVV7ZhERB0y+mSKK\/Xe28gJOljbnkM\/YtWoWXruG265pKpxDIq2Ixudnm7l\/wWoVJ5tPkzdNkpQ4b+SPX1baGgnqncomF3LOT2Kn0bSuhsxqZN5KuQyE+HIfIn2ry1lNJNT01pp95qyUDhyeQP3x7loKanZSUsVPGMMiYGN8gMI0h5nF26\/hFe7\/4eqIimagiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgCm1PaTdbWREP2iE8cR7fEe0fIKLbdX0ElBmukMFTC3EjHDdxA3LfstGqC90tO65U0joIy8kEuLBk7jtVYWl2WY696T+rB65MiWKOovd7kv9RHwU7WmOma7fwyPj7SVql1YxkbAyNoY1owGtGAF2SSd2Wo08Edbt5sIiJSwREQAREQB\/\/9k=",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA E INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56990956158",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:18",
    "ubicacionGPS": "LatLng(lat: -29.9177617, lng: -71.2550715)",
    "horaLlegada": "07:01",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


07/05/2026 10:18:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:91770000

[07/05/2026 10:18:09] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('91770000', 'KY2961', 1, 20988335, 588639, NOW(), 
				'08:00', '07:01', '10:18', 10, 'se realiza entrega de 2 toner
iton 2790', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778163489.png', '', null, 'COMPLETADO','LatLng(lat: -29.9177617, lng: -71.2550715)' )
				
[07/05/2026 10:18:09] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200210

07/05/2026 10:18:09 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200210'                    
				WHERE idllamado = 12487			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


07/05/2026 10:18:09 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12487			
				
07/05/2026 10:18:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


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

07/05/2026 10: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 = 12487
                
07/05/2026 10:18:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12487
            GROUP BY l.idllamado;
            
07/05/2026 10: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 = 12487
                
07/05/2026 10: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 = 12487
                
07/05/2026 10: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 = 12487
                
07/05/2026 10:18:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12490
            GROUP BY l.idllamado;
            [07/05/2026 10:18:13] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 10: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 = 12490
                
07/05/2026 10:18:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12490
            GROUP BY l.idllamado;
            
07/05/2026 10:18:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12490
            GROUP BY l.idllamado;
            [07/05/2026 10:18:13] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 10: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 = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10:18:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12490
            GROUP BY l.idllamado;
            
07/05/2026 10:18:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12490
            GROUP BY l.idllamado;
            
07/05/2026 10:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10:18:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12490
            GROUP BY l.idllamado;
            [07/05/2026 10:18:15] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 10:18:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12490
            GROUP BY l.idllamado;
            [07/05/2026 10:18:15] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 10:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10:18:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10:18:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10:18:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10:18:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10:18:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12490
            GROUP BY l.idllamado;
            
07/05/2026 10:18:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10:18:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12490
            GROUP BY l.idllamado;
            
07/05/2026 10: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 = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10:18:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12490
            GROUP BY l.idllamado;
            
07/05/2026 10: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 = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10:18:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12490
            GROUP BY l.idllamado;
            
07/05/2026 10: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 = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10:18:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12490
            GROUP BY l.idllamado;
            
07/05/2026 10:18:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10:18:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10:18:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10:18:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10:18:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12490
            GROUP BY l.idllamado;
            
07/05/2026 10:18:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10:18:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10:18:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10:18:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10:18:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12490
            GROUP BY l.idllamado;
            
07/05/2026 10: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 = 12490
                
07/05/2026 10:18:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12490
            GROUP BY l.idllamado;
            
07/05/2026 10: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 = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10:18:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12490
            GROUP BY l.idllamado;
            
07/05/2026 10:18:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10:18:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10:18:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10:18:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10:19:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12490
            GROUP BY l.idllamado;
            
07/05/2026 10: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 = 12490
                
07/05/2026 10: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 = 12490
                
07/05/2026 10:19:16 - logentry: =========================================
FECHA: 07/05/2026 10:19:16
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-TkmAwldH4.J-Y68ATWJqmDlAtRI5xg7NVxryGUzBLP9ZqOyGSQQ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "KY2961",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "588639",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza cambio de rodilla de bandeja 1\nretard taller\n01 rgom2356",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12490",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC7AQIDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABGEAABAwMCAgYHBQQHCAMAAAABAAIDBAURBiESMRNBUWFxkRQiMoGhscEVI0LR4QcWM8I1UnKisvDxJCUmNkNjktJzdOL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAgECBAMHAwQDAAAAAAAAAQIDESExBBJBUSJhcRMykaGxwdGB4fAUI0LxMzRS\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREAREQEC83WGz299TIQX4xGzre7qH5rPir1TDQ\/bEjo3QgGQ0paAQzHM7chz55XqnY7U2p5Z5c+g252Im42c7P1xnyCm3TVFPE80VvhNwqnZbwMHE0ePb4D4K5LGmMs8+c+fM3LC2Xm+\/n6Ftba+O52+Gsi2bI3JbnPCese4qUvzu00N0NzfZH18ltBaZTHG7OSQNhg9nf1K8dpSup4w+hvc4nbkt6TPCcjfw+K5KEU9yVXEWTjnkzjfbf0NQiorBep6qWW23EBtfTj18DAcO3x5ctt1eqtpp4ZrrsVkeZBERcJhERAEREAREQBERAEREARFzmmjp4nSzPDI2DLnOOAEGx0ReIpY54mywvbJG8Za5pyCF7QbhERAEREAREQBERAEREAUC+VhoLLV1LThzIyGnscdh8SFPWC1HfnXqsjtVCfuDKG8Y\/wCo4nG3dv71OuPMzNxNyqrfd7HOxR1t1oY7VRF9PStcX1c42Lieoe4D\/RbO2WahtEXBSQ4cRh0jt3O8Su1FRU9vpWU1NGGRsGw7e896kLs5822xyjh1Wk5av+bGXv59B1VaK9u3Skwv26s4\/nPktQszrgGO3UlWz24KkEHs2J+YC0rTxNBHWMrkvdTO1aWzj6P4r9jL6lidbbvQ3uBrtniOfhbnLf8ATI8lqAcjPavjmtdjiaDg5GRyK9LjllJFkK+SUmuoREUS0IiIAiIgCIiAIiIAiIgCo9YydHpqoHW8saP\/ACB+ivFmNey8FlijB3knHkAf0U61mSM\/FPFMn5Frp5hZp+hB64Wnz3VkolpYY7PRMPNtPGP7oUtRluy2tYgl5BERcJhERAEREAREQBEVXqG7ts1sfMD98\/1IhjPrY5+AXUsvCIzmoRcpbIrdQXOorK2Ow2x46Wbaokbv0beseXNQpLZT0WqLNa4G+rE0zOc7m925ye\/1B8FdabtBttD0s7Qauo9eV3DgjP4fd81Bd95+0Rv\/AGqbq8Dz81cnjKXQ8+cHLlnPdtfou35NOiIqD0jN67IFgbk85248itDCCIWAjBDQs3rgiSkoabP8WpG3uI+q06m\/cRmr1vn+n3CIigaQiIgCIiALhWVlPQUzqmqkEcTMZcQT3cgudxudJaqYz1coY38I5lx7AOtZqKjr9XVDautL6a2NOYoQcGQdv6+SnGOdXsZ7buV8kNZfzVmua5r2B7TlrhkHtCI1rWMDGjDWjAHYEUDQekREAREQBZLXuX09DC3PFJKQPh+a1qy2rh0lzskO2H1BG\/8AaYPqrK\/eRl4zWlr0+pp42NijbG32WAAeAXpEVZqCIiAIiIAiIgPEsjYYnyvOGsaXOPcFRaQqKqsoKirqJHOEs7jG0nPCOZx7yfJSNVVXomnqlw3MgEYHbk4PwypNjpvRLHRw4wRE0uHedz8Sp7QMzblel2X1JznBrS5xAAGST1LKUrf3p1C6skBNvoDiEZGHvyD5HGfJTNX18kFvjoaccVRXP6MNHMt6x78ge8q1tlBFbLfDSRAAMb6x7T1ldXhjnucn\/ds5Oi1fr0X3JazFB97+0G4vxtHTgDuOGfqtOsxYvW1benDcAgE9+f0XIbM7frKC8\/szTouFXWU9BTPqKmURxsG5PyHaVjrreKy9Us00bzR2hh4XPOA+Y\/1QM7+HLtSMHIldfGpd32GpLi66X2igtI9KkpHceGjLS7IPvGw7lp7NBcoaRxulQJp5HcWGgYjGPZVHomzGCN90lZwmYcMDXc2tzuT44Hu8VrVKxpeFdCjhYSlm6e76dAiIqjcERfCQBknACA+qoveoqazt6IDpqt49SFu5z1Z7FAuWo56upNssLOmqCcOn\/Aztx+fLxUyy6chtjjU1Ehqq1+75n74PXjPz5qxRUdZGWVsrHy1fq+n7shW6wVVxqvtLUJEr8fd0x9lg7x9PNaYAAYAwAvqKMpORbXVGtafHuERFEtCIiAIiIAspqKUP1dZoDvwOD8eLv\/ytWsLd5w79oVK0n+HJCzzwf5lbUtTHxksQS7tG6REVRsCIiAIiIAiIgMxrbM1PQUYJHT1IG3l\/MtMAAMAYAWZ1F97qexxf1ZC\/4g\/yrSyPbFG6R3ssBJ8ArJe6kZqv+Wx+i+RmI\/8AeuvJHOyYbfHhu\/4v9SfJagkAZJwAs3omMvoaqvkOZKqclx7cfqSpGsK4UdglYHAPqD0TRnqPP4Z812SzLlRXVNQpdr65f4OVn1JLd79UUsUQFLGzLHEEO2OMnxz8FVUd5pbPeb7UTu4nGbhjjHN5y74bc1W6dujbTTTvgi9Ir6l4ihi32A6zjvI8lXuhkq7hLDUAiulqg08sAku4tuXPHWrlWstdDz5cTNwg85ll\/wCixlu0N1qPTbvI+ZrCeioIQce89Q8yVd0Nkrb3UsrLywQ0sf8AAo2bADw6ht4laGjtVBQAejUsTHY3eGDiPvUxVSs\/8m6vhHvY8\/f1\/Gx8a0NaGtAAAwAOpfURUm8Iipb1qSntbhTxMNTWP9mFm+PH8ua6k28IhOyNa5pMsa+4UttpjUVcojYOWebj2AdZWZMt11e\/giDqG1g+s4+1L+fy8V3oNO1NyqG3HUDzK\/mym\/CzuP5eeVp2tDWhrQAAMADqU8qG2rM\/LO\/3tI9ur9e3oRbdbKS1Uwp6SPhbzLju5x7SetS0RVt5NUYqKwgiIh0IiIAiIgCIiAL80vMj\/wB6qmsA4mwVTAfdy\/wlfpa\/O5acVdqv9XjcVjXgdnrO+jyrqdG2edx6bjFLzfwR+iIolrqPSrVST5GZIWk47cb\/ABUtUvQ9CLyk0EREOhERAEREBmK\/NRr23xYyyGEuJxyOHH\/1VvfZvR7FWyf9lwHiRgfNVEXr\/tEmz+Cm28h+alaylMem5wP+o5jf7wP0VuPFFGFSxXbLzf0Omk4RBpukG2XgvJHXkn6YWX1pdobhWw01LL0scAPEW7gvPz5fFSqKS66hoaa30jXUdvhjayWo65MAA\/HqHvUC1WWOp1a6mhyaajk4nuJzkNOPifqrIpKTkzJbOVlUKoLR4We5qdN6cgtEDZ3\/AHlXIwcTnDHBn8ICptOUUdbq25Vx9ZlPM9zPFzjg+WVotRXH7Mss87X8ErhwRHr4j2eG59yof2fsdHJcmPGHNMYI7D66im3GUmXzjXG6umK0WvyNkiIqD0gvEsscETpZntjjYMuc44ACrrzf6SzRjpSZJn+xCz2j49gVNFabpqSRtTeZHU1IN46ZmxI7+zxO\/gpqOmXsZ7LsPkgsy+nqdKm\/V17ndQ2CNwYDiSscMBo7uz59gVlZdO0tnBlyZ6p49eZ\/Pvx2KypqaCjgbBTxNijYMBrRgLqjlphbCFPi57Hl\/JegREUDQEREAREQBERAEREAREQHl7xGxz3cmgkrKaTozXaar2Seq6rke3i8WjfzJV\/epvR7LWy5wRA\/HiRgfFVum5Ke16Up56qVsTHcT3Ocdt3HHwxsrI6ReDJZh3JPZJ\/ZHzRdS+SzupZRiSklMZaRggc9\/fnyV+97I2F8jgxrRkuccAL8+jvEzdRVX2I9rGXCQNDpW49btGc75J5jr5K7j0jPWStmvVzlqiCT0bSQ33E8vcApTgs5bwU8PfJw5ILLWmehZ1GprNTEtfXxkjqYC\/5KGdbWYOI45iB19Gd1Op9OWemA6O3wkjre3jPxUz0KlAA9GhwBgDoxsoeA0Y4h9Uv0bIVJqS0Vo+6rGB2CeB4LXbdx5+5VukbtWXWa4SVErnRte0xsIGGcXFsD7gvmrbTa47RNW+isjnZgMdH6uSTjcDY\/os7pq41tnjnrY6N1RRuIZMW82kbg595VignBtGSy+yF8Y2bLO2fmj9Br5hTW+onLuHo4nOyOrAVNo241Vxtkz6uUyvZMQHHHLAOPmvmpbpBPpOaellD2TlsYcPHceQKzWnbjc2UctutNNxTSv4nTHlGMAeHV1rkYZgydvEKPERS2x065LSqusNp1tX1FQJHDoGtjY0e07DMD57qt1ALvW29l0uR6GJ8gZBTjqBBOSOrYde\/gptltjqbWckFdI2rlZD0he4Z9Y4338VY679a1U0XLjqRv2eq781NNKSSM8oSnTOUnhZenn5ltXVUNisjpQxjWwRhrGDYF3IDzWb0RU8Fxq4apnDU1LGzNe4YLhz28cgq81BaKi8+iQsextOyXimBcQXDuA9\/mvd105Q3V0ckgfDLGA1r4jg8PYe5VpxUcPqa7IWO1SitI7Lv3KirH7z6mjpmDjt9AcykEYc76g4A9xXbS39Oag\/8As\/zPV3a7XTWmkFPTNwObnnm89pWastxpLZdNQT1cwjb6TsOtx4pNgOtdzlNIg4+zshOb1bbfw+xsHODWlziAAMknqWZuGpJ66o+ztPx9PMfbqMeqwdo\/M7eKj5uur37B1Das9ftSjPx+Q78LS0FupLZTiCkhEbes9bj2k9ajhR33Luad\/uaR79X6fkrbNpqKglNZWSel1zjkyv3DT3Z+fyV4iKDbbyzRXXGtYigiIuEwiIgCIiAIiIAiIgCIiAIiz971BLFUi12mP0ivfscbiPx6s\/LrXVFt4RXZZGuOZHPWN2pae1zUHSZqZmjDBvgZGSezbKhWbTE9dDTVF4lLoGMHQ0oOAG42z2fPtUG+WP7Ms0b55PSLjV1DQ953PIkge\/G63sbGxRtjb7LAAPAK5vlilEwwg7rm7Vslp8dyk1FZY6myFlHE2KSl+8hEYxy5gY7R8QFKsN2ZeLYycHErfVlb2O\/XmrNZGvjdpe\/tuUIIoKx3DO0DZh\/zuPeFCPiXKX2f2ZqxbbP7M1yLy1zXsD2ODmuGQQcghcaytpqCndPVTNiY0cyefcB1lVmptJZZQauzWVdrtTd+nn43jlgDb5F3kq2wXmislur4qsZk9IcBABku2xjw2XAyXHUuo5Ky0kwtiYGNlecdG0gjvwT63JStPW6noNU1VDXNZUTsYHxSvHM7E4B69+fPbxWnCUcM8fnlO72kOrwm9tv9lBWU1TCYzNA+jo6uXpGQl+wA2zvvydzIWv0JCGWOSTG8k5Oe4AD81AvEQv1+rGk5p7dSvyWke2Afr\/h85Wg6+OS3S0J2khfxjvaf1+i7N5gc4eChxPlrj+fEtfsd41N9rNlaGOh4HMxuT\/nCrtaYdHbmO9l1SMjt\/wA5K06zGtNm21x2AqRk9ipg25I3cRBRpljrr8zToo9bW01vpnVFVKI429Z6z2DtKzL6266rc6C3g0Vuzh87vaeOz9B7yoxi3r0LrLlB8q1fYn3bVMVLN6Fbo\/Ta0nhDGbtae\/HPwHfuFR6Ys8V1uddVXRnSSwy+tHtwl5J4s47x4LVWmyUNmi4aaPLyPXldu53v7O4Kp0d60t1kPN1Sc\/H81YmlF8pklXOVsPa+enRafM0zWhrQ1oAAGAB1L6iKk9EIiIAiIgCIiAIiIAiIgCIiAIio9RXw2+NtFRgyXCoHDE1ozw52z+S6k28IhZZGuPNI53y9z+kC0WgdLXS7OeDtCO\/v+SmWSyQ2anIB6Sok3lmPNx\/Jc9O2QWiiJmw+rmPFLJzPhlXClJpeFFNVcpP2lm\/Rdv3MvqY+l36z28Y3l6V4zvjI+gctQsxFio\/aJNkA+jU23dkD\/wBupadJ7JCjWU5eePhoFHrqKG4UclLO3iZIMeB6iPBR7reqG0RF9TKOMjLYm7ud4D6qi4b3qrBdm22534c+tIPr8B4pGL32O23RXgSy+357EGh1HWWmGSyxxitqI5ejppGuy3HZ393jjqVrSaZlrJRXahqDUSjcQh3qMHu+Q28V7rtH0X2aI7czoaqI8ccpceJxHUT\/AJwvVmvjqynlt1d91cYWEODvx7c\/HtCsbysxMkK3GShfqunb09TjoZgdQVlTgAy1JGANsAA7eZVheLCy5zw1UU76arhI4Jm74aCTjHvUPQ2PsF2M\/wAd3PwC0ahNtTbRoorjPh4qSKKms7LPp+tZ0hklkhe6R56zwnbPXvnc77rL6cc+1XK21RLhDXh0btwATxEfA8JW5vBLbLXOGxFNIR\/4lY2eD\/gCgq4\/VkgnLw4cxl7h+XkrIPKeepm4iChNcv8Ais\/NG+WP13X0\/RU9KyVrqiOXpHMG\/CMHmvct\/uF\/e2iskboQQDNUu2De4dnzXO6aWprfpqqkBM9WAHvmeMnY747Ns\/VRhFRkuYnfa7q5Ktad\/wAEiisFXd523HUEnHtmOmacNaNuePl5ladjGRsDI2hjWjAa0YAUW0VHpVnpJ85L4W5Oc743+KmKuTbeprprjGOY9evVhZjQg4rVUy\/16l23Z6o\/NaKpeY6WV45tYT8FQ6GYG6fyPxzOJ+A+i6vcZCet8PR\/Y0aIigaQiIgCIiAIiIAiIgCIiAIiICBebrFZ7dJVSYLuUbCfad1BVmm7TKZHXu4kvrakcTQRjo2n9MeA2XGqb9sa0jo3kmC3t6RzOpxwCOvtI6upahWPwxx3MkV7Wxye0dF69wi+EgDJOAFQ3LVdNA\/0W2s9OrHHDWR5LQfEc\/coKLexfZZCtZkyHa6mB2rLzcpZGxwwtERe5wA6h\/Ivs+oq68TOpNPU5IBw+qkbgN8M8vfv3Kr0zYIr6Jq6tkcYhMcxM9UOdsTnsG\/Ut1BTw0sLYYI2xxtGA1owArpuMX3Zh4eNtkN8J5fm8v5FJa9K01LL6XXv9OrHHic+TdoPcDz8T8Ffoipcm9zdXXGtYigqS\/aeZdOGppn9BWxYLJBtxdxV2iJtPKOzrjZHlkZPSlfDbmus1ZC+jqQ4u+9dtITtt2cvetYq28WSivEIFS3hezdsrdi39Fj\/AN5braoqigjqYqwRYaypa3PRjl2b+\/PvVvL7TVbmP2v9KlGeq6P8o02qbpSUdoqKaWUdNPGWMjbu7frPYFkpbfcpdLisqqgMpIGt9HhB9vLsZPme9WP2NQnTdXdH1Qr6t8ZcZSSQ09wO+e8\/BeKqqbV6ctNmpgJp5i0va07sAPX2c+vsU4+FYXcy3N2Scp6eHRJ+enqauxQxwWOibGxrOKBjncI5ktBJUqrp21dHNTuALZWFhz3jC9QxCCCOJvKNoaPcMLos7euT1oxSgomc0bUv+z5rdNgTUUrmFud8ZP1yFo1VRWRsF\/kusM3AJWFskIZs49uc\/RWq7NpvKIURlCHLLp9OhEur+jtFY\/f1YHnb+yVW6NZw6Zpzt6znn+8R9FOvjuGw15xn\/Z3jzaQoukm8OmaMZzs4+byV3\/D9SD\/7C9H9UXKIigaQiIgCIiAIiIAiIgCIiAIiIDLXKC52W+y3eipfS4KhobLEwYc3GOoDu579eV7dqS8TPLKTT04IOOKUkDPkPmtMinzrqjN7CSb5ZtJ+hlpLNfL44G6VgpaY4Po8PPwP6kq5oLTQ2anf6JAAeH1nk5c7HaVYLjWEiinIOCI3fJHJvQlGmEMy3fdlBoNvDYZDn2qhx\/utH0WlWe0Q0DTzSOuVxPwWhSz3mc4VYoj6BERQNAUW4XKktdMZ6uUMb1DrcewDrVRddUshm9CtUfptY7YcG7WHv7Vzt+mJaipFwv0vpVQTkQndjfHqPhy8VYo41kZpXuT5all9+iIx+19WP2DqC1nt9qUfX5eK0FFZ6CgoTRw07DE72w8B3H\/a7VNAAGAMAL6uOTei2JV0KL5pavuZHUGlbdTW+orqTpKd8bCSxrstd5qbpK0UdNbIK5keaiZmXSOOSO4disNQM49P1w3\/AILjt3DK5aXfx6bojt7BG3cSFJybhuURprjxOi6fctkRFUbgiIgK+\/8A9AV3\/wADvkuGlf8Alqi\/sn\/EVPrqUV1DPSucWCZhZxAZxkLxa6EWy2w0Yk6TohjjxjO+eXvU8rlwUcj9tz9MY+ZLREUC8IiIAiIgCIiAIiIAiIgCIiAIiIAuVTCKillgLuESsLM9mRhdUQ41nQg2e2i0W5lG2UyhhJ4i3GcnKnIi63l5ORiopRWyCz14o75da40cUjKW3bcUrXes\/tHb7uXetCiReHkjZWrFyt6EC1Wais8PR0sfrEYfI7dzvE\/RT0RG29WSjFRWIrCCIi4SOVVD6RSTQZx0jHMz2ZGFQaHn47K+nJHHBM5pb2A7\/PPktIodHQUtJUVUtPCI3zvBkIz6xx+p81JPwtFMoN2RmvNExERRLgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "9848188954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:19",
    "ubicacionGPS": "LatLng(lat: -29.9177657, lng: -71.2550965)",
    "horaLlegada": "07:01",
    "horaDespacho": "10:18",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 07/05/2026 10:19:16
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-TkmAwldH4.J-Y68ATWJqmDlAtRI5xg7NVxryGUzBLP9ZqOyGSQQ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "KY2961",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "588639",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza cambio de rodilla de bandeja 1\nretard taller\n01 rgom2356",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12490",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC7AQIDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABGEAABAwMCAgYHBQQHCAMAAAABAAIDBAURBiESMRNBUWFxkRQiMoGhscEVI0LR4QcWM8I1UnKisvDxJCUmNkNjktJzdOL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAgECBAMHAwQDAAAAAAAAAQIDESExBBJBUSJhcRMykaGxwdGB4fAUI0LxMzRS\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREAREQEC83WGz299TIQX4xGzre7qH5rPir1TDQ\/bEjo3QgGQ0paAQzHM7chz55XqnY7U2p5Z5c+g252Im42c7P1xnyCm3TVFPE80VvhNwqnZbwMHE0ePb4D4K5LGmMs8+c+fM3LC2Xm+\/n6Ftba+O52+Gsi2bI3JbnPCese4qUvzu00N0NzfZH18ltBaZTHG7OSQNhg9nf1K8dpSup4w+hvc4nbkt6TPCcjfw+K5KEU9yVXEWTjnkzjfbf0NQiorBep6qWW23EBtfTj18DAcO3x5ctt1eqtpp4ZrrsVkeZBERcJhERAEREAREQBERAEREARFzmmjp4nSzPDI2DLnOOAEGx0ReIpY54mywvbJG8Za5pyCF7QbhERAEREAREQBERAEREAUC+VhoLLV1LThzIyGnscdh8SFPWC1HfnXqsjtVCfuDKG8Y\/wCo4nG3dv71OuPMzNxNyqrfd7HOxR1t1oY7VRF9PStcX1c42Lieoe4D\/RbO2WahtEXBSQ4cRh0jt3O8Su1FRU9vpWU1NGGRsGw7e896kLs5822xyjh1Wk5av+bGXv59B1VaK9u3Skwv26s4\/nPktQszrgGO3UlWz24KkEHs2J+YC0rTxNBHWMrkvdTO1aWzj6P4r9jL6lidbbvQ3uBrtniOfhbnLf8ATI8lqAcjPavjmtdjiaDg5GRyK9LjllJFkK+SUmuoREUS0IiIAiIgCIiAIiIAiIgCo9YydHpqoHW8saP\/ACB+ivFmNey8FlijB3knHkAf0U61mSM\/FPFMn5Frp5hZp+hB64Wnz3VkolpYY7PRMPNtPGP7oUtRluy2tYgl5BERcJhERAEREAREQBEVXqG7ts1sfMD98\/1IhjPrY5+AXUsvCIzmoRcpbIrdQXOorK2Ow2x46Wbaokbv0beseXNQpLZT0WqLNa4G+rE0zOc7m925ye\/1B8FdabtBttD0s7Qauo9eV3DgjP4fd81Bd95+0Rv\/AGqbq8Dz81cnjKXQ8+cHLlnPdtfou35NOiIqD0jN67IFgbk85248itDCCIWAjBDQs3rgiSkoabP8WpG3uI+q06m\/cRmr1vn+n3CIigaQiIgCIiALhWVlPQUzqmqkEcTMZcQT3cgudxudJaqYz1coY38I5lx7AOtZqKjr9XVDautL6a2NOYoQcGQdv6+SnGOdXsZ7buV8kNZfzVmua5r2B7TlrhkHtCI1rWMDGjDWjAHYEUDQekREAREQBZLXuX09DC3PFJKQPh+a1qy2rh0lzskO2H1BG\/8AaYPqrK\/eRl4zWlr0+pp42NijbG32WAAeAXpEVZqCIiAIiIAiIgPEsjYYnyvOGsaXOPcFRaQqKqsoKirqJHOEs7jG0nPCOZx7yfJSNVVXomnqlw3MgEYHbk4PwypNjpvRLHRw4wRE0uHedz8Sp7QMzblel2X1JznBrS5xAAGST1LKUrf3p1C6skBNvoDiEZGHvyD5HGfJTNX18kFvjoaccVRXP6MNHMt6x78ge8q1tlBFbLfDSRAAMb6x7T1ldXhjnucn\/ds5Oi1fr0X3JazFB97+0G4vxtHTgDuOGfqtOsxYvW1benDcAgE9+f0XIbM7frKC8\/szTouFXWU9BTPqKmURxsG5PyHaVjrreKy9Us00bzR2hh4XPOA+Y\/1QM7+HLtSMHIldfGpd32GpLi66X2igtI9KkpHceGjLS7IPvGw7lp7NBcoaRxulQJp5HcWGgYjGPZVHomzGCN90lZwmYcMDXc2tzuT44Hu8VrVKxpeFdCjhYSlm6e76dAiIqjcERfCQBknACA+qoveoqazt6IDpqt49SFu5z1Z7FAuWo56upNssLOmqCcOn\/Aztx+fLxUyy6chtjjU1Ehqq1+75n74PXjPz5qxRUdZGWVsrHy1fq+n7shW6wVVxqvtLUJEr8fd0x9lg7x9PNaYAAYAwAvqKMpORbXVGtafHuERFEtCIiAIiIAspqKUP1dZoDvwOD8eLv\/ytWsLd5w79oVK0n+HJCzzwf5lbUtTHxksQS7tG6REVRsCIiAIiIAiIgMxrbM1PQUYJHT1IG3l\/MtMAAMAYAWZ1F97qexxf1ZC\/4g\/yrSyPbFG6R3ssBJ8ArJe6kZqv+Wx+i+RmI\/8AeuvJHOyYbfHhu\/4v9SfJagkAZJwAs3omMvoaqvkOZKqclx7cfqSpGsK4UdglYHAPqD0TRnqPP4Z812SzLlRXVNQpdr65f4OVn1JLd79UUsUQFLGzLHEEO2OMnxz8FVUd5pbPeb7UTu4nGbhjjHN5y74bc1W6dujbTTTvgi9Ir6l4ihi32A6zjvI8lXuhkq7hLDUAiulqg08sAku4tuXPHWrlWstdDz5cTNwg85ll\/wCixlu0N1qPTbvI+ZrCeioIQce89Q8yVd0Nkrb3UsrLywQ0sf8AAo2bADw6ht4laGjtVBQAejUsTHY3eGDiPvUxVSs\/8m6vhHvY8\/f1\/Gx8a0NaGtAAAwAOpfURUm8Iipb1qSntbhTxMNTWP9mFm+PH8ua6k28IhOyNa5pMsa+4UttpjUVcojYOWebj2AdZWZMt11e\/giDqG1g+s4+1L+fy8V3oNO1NyqG3HUDzK\/mym\/CzuP5eeVp2tDWhrQAAMADqU8qG2rM\/LO\/3tI9ur9e3oRbdbKS1Uwp6SPhbzLju5x7SetS0RVt5NUYqKwgiIh0IiIAiIgCIiAL80vMj\/wB6qmsA4mwVTAfdy\/wlfpa\/O5acVdqv9XjcVjXgdnrO+jyrqdG2edx6bjFLzfwR+iIolrqPSrVST5GZIWk47cb\/ABUtUvQ9CLyk0EREOhERAEREBmK\/NRr23xYyyGEuJxyOHH\/1VvfZvR7FWyf9lwHiRgfNVEXr\/tEmz+Cm28h+alaylMem5wP+o5jf7wP0VuPFFGFSxXbLzf0Omk4RBpukG2XgvJHXkn6YWX1pdobhWw01LL0scAPEW7gvPz5fFSqKS66hoaa30jXUdvhjayWo65MAA\/HqHvUC1WWOp1a6mhyaajk4nuJzkNOPifqrIpKTkzJbOVlUKoLR4We5qdN6cgtEDZ3\/AHlXIwcTnDHBn8ICptOUUdbq25Vx9ZlPM9zPFzjg+WVotRXH7Mss87X8ErhwRHr4j2eG59yof2fsdHJcmPGHNMYI7D66im3GUmXzjXG6umK0WvyNkiIqD0gvEsscETpZntjjYMuc44ACrrzf6SzRjpSZJn+xCz2j49gVNFabpqSRtTeZHU1IN46ZmxI7+zxO\/gpqOmXsZ7LsPkgsy+nqdKm\/V17ndQ2CNwYDiSscMBo7uz59gVlZdO0tnBlyZ6p49eZ\/Pvx2KypqaCjgbBTxNijYMBrRgLqjlphbCFPi57Hl\/JegREUDQEREAREQBERAEREAREQHl7xGxz3cmgkrKaTozXaar2Seq6rke3i8WjfzJV\/epvR7LWy5wRA\/HiRgfFVum5Ke16Up56qVsTHcT3Ocdt3HHwxsrI6ReDJZh3JPZJ\/ZHzRdS+SzupZRiSklMZaRggc9\/fnyV+97I2F8jgxrRkuccAL8+jvEzdRVX2I9rGXCQNDpW49btGc75J5jr5K7j0jPWStmvVzlqiCT0bSQ33E8vcApTgs5bwU8PfJw5ILLWmehZ1GprNTEtfXxkjqYC\/5KGdbWYOI45iB19Gd1Op9OWemA6O3wkjre3jPxUz0KlAA9GhwBgDoxsoeA0Y4h9Uv0bIVJqS0Vo+6rGB2CeB4LXbdx5+5VukbtWXWa4SVErnRte0xsIGGcXFsD7gvmrbTa47RNW+isjnZgMdH6uSTjcDY\/os7pq41tnjnrY6N1RRuIZMW82kbg595VignBtGSy+yF8Y2bLO2fmj9Br5hTW+onLuHo4nOyOrAVNo241Vxtkz6uUyvZMQHHHLAOPmvmpbpBPpOaellD2TlsYcPHceQKzWnbjc2UctutNNxTSv4nTHlGMAeHV1rkYZgydvEKPERS2x065LSqusNp1tX1FQJHDoGtjY0e07DMD57qt1ALvW29l0uR6GJ8gZBTjqBBOSOrYde\/gptltjqbWckFdI2rlZD0he4Z9Y4338VY679a1U0XLjqRv2eq781NNKSSM8oSnTOUnhZenn5ltXVUNisjpQxjWwRhrGDYF3IDzWb0RU8Fxq4apnDU1LGzNe4YLhz28cgq81BaKi8+iQsextOyXimBcQXDuA9\/mvd105Q3V0ckgfDLGA1r4jg8PYe5VpxUcPqa7IWO1SitI7Lv3KirH7z6mjpmDjt9AcykEYc76g4A9xXbS39Oag\/8As\/zPV3a7XTWmkFPTNwObnnm89pWastxpLZdNQT1cwjb6TsOtx4pNgOtdzlNIg4+zshOb1bbfw+xsHODWlziAAMknqWZuGpJ66o+ztPx9PMfbqMeqwdo\/M7eKj5uur37B1Das9ftSjPx+Q78LS0FupLZTiCkhEbes9bj2k9ajhR33Luad\/uaR79X6fkrbNpqKglNZWSel1zjkyv3DT3Z+fyV4iKDbbyzRXXGtYigiIuEwiIgCIiAIiIAiIgCIiAIiz971BLFUi12mP0ivfscbiPx6s\/LrXVFt4RXZZGuOZHPWN2pae1zUHSZqZmjDBvgZGSezbKhWbTE9dDTVF4lLoGMHQ0oOAG42z2fPtUG+WP7Ms0b55PSLjV1DQ953PIkge\/G63sbGxRtjb7LAAPAK5vlilEwwg7rm7Vslp8dyk1FZY6myFlHE2KSl+8hEYxy5gY7R8QFKsN2ZeLYycHErfVlb2O\/XmrNZGvjdpe\/tuUIIoKx3DO0DZh\/zuPeFCPiXKX2f2ZqxbbP7M1yLy1zXsD2ODmuGQQcghcaytpqCndPVTNiY0cyefcB1lVmptJZZQauzWVdrtTd+nn43jlgDb5F3kq2wXmislur4qsZk9IcBABku2xjw2XAyXHUuo5Ky0kwtiYGNlecdG0gjvwT63JStPW6noNU1VDXNZUTsYHxSvHM7E4B69+fPbxWnCUcM8fnlO72kOrwm9tv9lBWU1TCYzNA+jo6uXpGQl+wA2zvvydzIWv0JCGWOSTG8k5Oe4AD81AvEQv1+rGk5p7dSvyWke2Afr\/h85Wg6+OS3S0J2khfxjvaf1+i7N5gc4eChxPlrj+fEtfsd41N9rNlaGOh4HMxuT\/nCrtaYdHbmO9l1SMjt\/wA5K06zGtNm21x2AqRk9ipg25I3cRBRpljrr8zToo9bW01vpnVFVKI429Z6z2DtKzL6266rc6C3g0Vuzh87vaeOz9B7yoxi3r0LrLlB8q1fYn3bVMVLN6Fbo\/Ta0nhDGbtae\/HPwHfuFR6Ys8V1uddVXRnSSwy+tHtwl5J4s47x4LVWmyUNmi4aaPLyPXldu53v7O4Kp0d60t1kPN1Sc\/H81YmlF8pklXOVsPa+enRafM0zWhrQ1oAAGAB1L6iKk9EIiIAiIgCIiAIiIAiIgCIiAIio9RXw2+NtFRgyXCoHDE1ozw52z+S6k28IhZZGuPNI53y9z+kC0WgdLXS7OeDtCO\/v+SmWSyQ2anIB6Sok3lmPNx\/Jc9O2QWiiJmw+rmPFLJzPhlXClJpeFFNVcpP2lm\/Rdv3MvqY+l36z28Y3l6V4zvjI+gctQsxFio\/aJNkA+jU23dkD\/wBupadJ7JCjWU5eePhoFHrqKG4UclLO3iZIMeB6iPBR7reqG0RF9TKOMjLYm7ud4D6qi4b3qrBdm22534c+tIPr8B4pGL32O23RXgSy+357EGh1HWWmGSyxxitqI5ejppGuy3HZ393jjqVrSaZlrJRXahqDUSjcQh3qMHu+Q28V7rtH0X2aI7czoaqI8ccpceJxHUT\/AJwvVmvjqynlt1d91cYWEODvx7c\/HtCsbysxMkK3GShfqunb09TjoZgdQVlTgAy1JGANsAA7eZVheLCy5zw1UU76arhI4Jm74aCTjHvUPQ2PsF2M\/wAd3PwC0ahNtTbRoorjPh4qSKKms7LPp+tZ0hklkhe6R56zwnbPXvnc77rL6cc+1XK21RLhDXh0btwATxEfA8JW5vBLbLXOGxFNIR\/4lY2eD\/gCgq4\/VkgnLw4cxl7h+XkrIPKeepm4iChNcv8Ais\/NG+WP13X0\/RU9KyVrqiOXpHMG\/CMHmvct\/uF\/e2iskboQQDNUu2De4dnzXO6aWprfpqqkBM9WAHvmeMnY747Ns\/VRhFRkuYnfa7q5Ktad\/wAEiisFXd523HUEnHtmOmacNaNuePl5ladjGRsDI2hjWjAa0YAUW0VHpVnpJ85L4W5Oc743+KmKuTbeprprjGOY9evVhZjQg4rVUy\/16l23Z6o\/NaKpeY6WV45tYT8FQ6GYG6fyPxzOJ+A+i6vcZCet8PR\/Y0aIigaQiIgCIiAIiIAiIgCIiAIiICBebrFZ7dJVSYLuUbCfad1BVmm7TKZHXu4kvrakcTQRjo2n9MeA2XGqb9sa0jo3kmC3t6RzOpxwCOvtI6upahWPwxx3MkV7Wxye0dF69wi+EgDJOAFQ3LVdNA\/0W2s9OrHHDWR5LQfEc\/coKLexfZZCtZkyHa6mB2rLzcpZGxwwtERe5wA6h\/Ivs+oq68TOpNPU5IBw+qkbgN8M8vfv3Kr0zYIr6Jq6tkcYhMcxM9UOdsTnsG\/Ut1BTw0sLYYI2xxtGA1owArpuMX3Zh4eNtkN8J5fm8v5FJa9K01LL6XXv9OrHHic+TdoPcDz8T8Ffoipcm9zdXXGtYigqS\/aeZdOGppn9BWxYLJBtxdxV2iJtPKOzrjZHlkZPSlfDbmus1ZC+jqQ4u+9dtITtt2cvetYq28WSivEIFS3hezdsrdi39Fj\/AN5braoqigjqYqwRYaypa3PRjl2b+\/PvVvL7TVbmP2v9KlGeq6P8o02qbpSUdoqKaWUdNPGWMjbu7frPYFkpbfcpdLisqqgMpIGt9HhB9vLsZPme9WP2NQnTdXdH1Qr6t8ZcZSSQ09wO+e8\/BeKqqbV6ctNmpgJp5i0va07sAPX2c+vsU4+FYXcy3N2Scp6eHRJ+enqauxQxwWOibGxrOKBjncI5ktBJUqrp21dHNTuALZWFhz3jC9QxCCCOJvKNoaPcMLos7euT1oxSgomc0bUv+z5rdNgTUUrmFud8ZP1yFo1VRWRsF\/kusM3AJWFskIZs49uc\/RWq7NpvKIURlCHLLp9OhEur+jtFY\/f1YHnb+yVW6NZw6Zpzt6znn+8R9FOvjuGw15xn\/Z3jzaQoukm8OmaMZzs4+byV3\/D9SD\/7C9H9UXKIigaQiIgCIiAIiIAiIgCIiAIiIDLXKC52W+y3eipfS4KhobLEwYc3GOoDu579eV7dqS8TPLKTT04IOOKUkDPkPmtMinzrqjN7CSb5ZtJ+hlpLNfL44G6VgpaY4Po8PPwP6kq5oLTQ2anf6JAAeH1nk5c7HaVYLjWEiinIOCI3fJHJvQlGmEMy3fdlBoNvDYZDn2qhx\/utH0WlWe0Q0DTzSOuVxPwWhSz3mc4VYoj6BERQNAUW4XKktdMZ6uUMb1DrcewDrVRddUshm9CtUfptY7YcG7WHv7Vzt+mJaipFwv0vpVQTkQndjfHqPhy8VYo41kZpXuT5all9+iIx+19WP2DqC1nt9qUfX5eK0FFZ6CgoTRw07DE72w8B3H\/a7VNAAGAMAL6uOTei2JV0KL5pavuZHUGlbdTW+orqTpKd8bCSxrstd5qbpK0UdNbIK5keaiZmXSOOSO4disNQM49P1w3\/AILjt3DK5aXfx6bojt7BG3cSFJybhuURprjxOi6fctkRFUbgiIgK+\/8A9AV3\/wADvkuGlf8Alqi\/sn\/EVPrqUV1DPSucWCZhZxAZxkLxa6EWy2w0Yk6TohjjxjO+eXvU8rlwUcj9tz9MY+ZLREUC8IiIAiIgCIiAIiIAiIgCIiAIiIAuVTCKillgLuESsLM9mRhdUQ41nQg2e2i0W5lG2UyhhJ4i3GcnKnIi63l5ORiopRWyCz14o75da40cUjKW3bcUrXes\/tHb7uXetCiReHkjZWrFyt6EC1Wais8PR0sfrEYfI7dzvE\/RT0RG29WSjFRWIrCCIi4SOVVD6RSTQZx0jHMz2ZGFQaHn47K+nJHHBM5pb2A7\/PPktIodHQUtJUVUtPCI3zvBkIz6xx+p81JPwtFMoN2RmvNExERRLgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "9848188954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:19",
    "ubicacionGPS": "LatLng(lat: -29.9177657, lng: -71.2550965)",
    "horaLlegada": "07:01",
    "horaDespacho": "10:18",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


07/05/2026 10:19:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:91770000

[07/05/2026 10:19:16] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('91770000', 'KY2961', 1, 20988335, 588639, NOW(), 
				'10:18', '07:01', '10:19', 3, 'se realiza cambio de rodilla de bandeja 1
retard taller
01 rgom2356', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778163556.png', '', null, 'COMPLETADO','LatLng(lat: -29.9177657, lng: -71.2550965)' )
				
[07/05/2026 10:19:16] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200211

07/05/2026 10:19:16 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200211'                    
				WHERE idllamado = 12490			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


07/05/2026 10:19:16 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12490			
				
07/05/2026 10:19:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


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

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

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

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

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

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

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

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

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

07/05/2026 10:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
07/05/2026 10:32:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12490
            GROUP BY l.idllamado;
            
07/05/2026 10:32:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                
07/05/2026 10:32:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12490
                [07/05/2026 10:32:30] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 10:32:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12490
            GROUP BY l.idllamado;
            [07/05/2026 10:32:30] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

07/05/2026 10:32:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12490
            GROUP BY l.idllamado;
            
07/05/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 = 12490
                
07/05/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 = 12490
                
07/05/2026 10:32:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12490
            GROUP BY l.idllamado;
            
07/05/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 = 12490
                
07/05/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 = 12490
                
07/05/2026 10:32:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            [07/05/2026 10:32:42] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

07/05/2026 10:32:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:32:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:32:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                [07/05/2026 10:32: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;
                

07/05/2026 10:32:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:32:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            
07/05/2026 10:32:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            
07/05/2026 10:32:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:32:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:32:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:32:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:32:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            [07/05/2026 10:32: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;
                
[07/05/2026 10:32: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;
                

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

07/05/2026 10:32:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            
07/05/2026 10:32:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            
07/05/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 = 12488
                
07/05/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 = 12488
                
07/05/2026 10:32:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            
07/05/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 = 12488
                
07/05/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 = 12488
                
07/05/2026 10:32:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            
07/05/2026 10: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 = 12488
                
07/05/2026 10: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 = 12488
                
07/05/2026 10: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 = 12488
                
07/05/2026 10: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 = 12488
                
07/05/2026 10: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 = 12488
                
07/05/2026 10: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 = 12488
                
07/05/2026 10:32:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            
07/05/2026 10:32:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:32:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            
07/05/2026 10:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:33:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            
07/05/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 = 12488
                
07/05/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 = 12488
                
07/05/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 = 12488
                
07/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            
07/05/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 = 12488
                
07/05/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 = 12488
                
07/05/2026 10:33:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            
07/05/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 = 12488
                
07/05/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 = 12488
                
07/05/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 = 12488
                
07/05/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 = 12488
                
07/05/2026 10:33:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:33:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            
07/05/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 = 12488
                
07/05/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 = 12488
                
07/05/2026 10:33:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            
07/05/2026 10:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:33:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            
07/05/2026 10:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:33:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            
07/05/2026 10:33:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:33:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:33:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:33:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:33:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            
07/05/2026 10:33:36 - logentry: =========================================
FECHA: 07/05/2026 10:33:36
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-H_5622+z76HQl10u-GUpzA-eTxZpSa-9xy4afr6BCJEBDR7MBt.
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "KY2448",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "200659",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza entrega de 2 tonee\niton 2174",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12488",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADBAO4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABIEAABAwMCAgYIAQcKBQUAAAABAAIDBAURBiESMRNBUWFxgRQiMpGhscHRFQcjJHLC4fAzNEJDUlN0gpKyFiU1c6I2VGLi8f\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC8RAAIBAwICCQQDAQEAAAAAAAABAgMRIRIxBFETIjJBYXGBkdEzobHBI+HwFDT\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBERAFxqqmOjpZamU4ZEwuPkuyzetZ3m309vi\/la2YNAxzA\/eWq0Vd2Mq0+jpuRXQ3++UsFPdqxrJKCd5a5jRhzRyB5bcjjt9y2ccjJY2yRuDmPAc1wOxB5FRHWyB1n\/DC0GLouj7Orn791V6MqXyWmSklx0lJKWEYxgdWfPKtK0ldGFLXSmoSd7r7rc0KIizOwIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAvEkrIYzJI4NaOZK9rP62h6XTkj\/7mRj\/jw\/tK0VdpGdWbhByXcX4IIyDkFfVBsruOx0Ls5\/R48nv4Qpyh4ZaL1RTCy9SPxDX0EROWUUPGQB18\/m5q1CzGnj6Xqi81vPgcIgT2Zx+wFeGE2YV8uEOb\/GTTrMWV3oWsLtQ8OGzYmbjl2\/t\/BadZa7foOt7ZWHZk7DET37j9pqQzdDiOrpnyf5walERZnSEREAREQBERAEREAREQBEVNqW6y2+iZBSgmsq3dHBjGxyMn47d5ClK7sUqTUIuT7i1dUQMkEb5o2vccBpcAT5LostHouJ9tc2pqJXV0jSTL0hwHdneM+e5UvStylqqSWiqv51RP6N\/eNwPkQrOKtdMxhWlqUZxtfb4L5ERUOkIiIAiIgCodaP4dNzDf1nsH\/kD9FfLMa6cXWqmp2+3LUDAxz2P1IV6faRz8U7UZeRK0bP02nIW9cTnMO3fn6q9WY0QOjpa+AezHUnHux9Fp0qdpjhXejHyPhIAyTgBZnQ4MlDWVJGOmqTgeQP1WhrCRRTkHBEbvkqTRAA063A5yuyi7DInmvBeD\/RoVnNbQONpirI9n0szXA9gO3zwtGoF8hFRY62M43hcRntAyPkog7STL1466Ul4EmlnbVUkNQz2ZWB48wuyptJzGfTdITnLQWb9xIHwVyokrNotTlrgpc0ERFBoEREAREQBERAEREAWVizd9dSSHJhtzOEb7cXL5k\/6fJaSqqGUlJNUv9mJhefIZVFoqnItctdIcyVkrnk9wJHz4lpHEWzlrdepCHq\/T+zRrLNaKD8oXCwANrYC4gdu5PxZ8VqVmNQZg1XZKgbcbzH8QP2khu0TxOIxlya+DToiLM6QiIgCIiALMaqHT3iyUg3Dp+J7Rzxlu\/uytOstWg1X5QKKM54KeHiIz14cc\/Ee5aU97nNxWYKPNpfc9aP8A53eMex6Ttjlzd+5adZjRe7bk4bg1Jwe1adRU7THCfRXr+SLc\/wDpVX\/2H\/7SqzRn\/pqD9Z\/+4q3rG8dFOzGeKNwx27Kk0Q7i060ZzwyuHh1\/VF2GJf8Aoj5P9GhUa4tL7bVNHMwvHwKkqs1FWsoLHVSOeGuewxx77lxGBj5+SrHLNqjSg2yJos503CMEYe\/z9Yq+VTpmjfQ2CmikaWvcC9wIwRk5+WFbKZ5kynDpqlFPkgiLP3PVDI5\/QLTF6bWu2HBu1h7+3+N1Ci3sWqVI01eTLK5XihtMXHVzBpIy1g3c7wCj2S7VV26SaS3vpqfAML3OyX\/xsodp004TfiF5k9MrHYIDt2x\/Q\/JaJWelKyM4dLN6pYXL5CIiodAREQBERAUGs6o0+n3xt9qoe2MY59p+A+KtbbSiittNTAY6KNrTv143+KodQ\/p2prRbQchrume3tHP5NPvWoWksRSOan1q05crL9sLMay\/NS2qq6oqkb+4\/srTrNa7bmxxPBwWVDSD5OUU+0hxf0ZGlReWO42NdjHEAcL0qHSEREAREQBZihJl\/KDcHE5bHTho7tmfvWnWY0\/ibVN7n58DxHnzI\/ZV47M5q+ZwXj+Exob+Y1v8AiT8gtOsxob+Y1v8AiT8gtOpqdpjhPoRPhAIwRkFYzTN4orLaqqKsm4SypdwMG7nbAbe5ae7XOG0W99VMeWzG\/wBp3UFk9H0NPc66uqa+ASSxPDg149UOcXZ9XyUwXVbexlXm+mhGHaz\/AL7FgdTXS4hrbPZ5CHHaWcerj4Dt611pNNVVVV+l3+qbVuAIZC32G58h8FowABgDAC+quu3ZVjVcPd3qS1fj2Cj1tdTW+ndPVTNjYOs8z3AdaqbtqiCjl9DoWemVrjgRs3APeR8h8FGodN1NwqW3DUEvTSc2U2fVZ3H7Dzyiji8hKu29FJXf2XmRzUXjVjiymDqC25w6Q+08fXwG3etDbLRRWiDoqSLhJ9p7t3P8T\/AU1rQ1oa0AADAA6l9RyvhbFqdFReqTvLn8cgiIqG4REQBERAERcaqcUtJNUO5RRuefIZQhuyuZyzf8x1jc672mU46FhHLs8\/ZPvWpWd0TCW2R1Q\/JfUTOeXHrxt8wVolep2rHPwq\/iUn359wqLWUfSabnIGS1zCP8AUB9Vequv8HpFhrY+voXOG\/WN\/ooi7SRpXjqpSXgzva39LaaOT+3Ax3vaFKVRpafp9OUbutrSw7dhI+it1ElZtE0paqcX4Hl72xxuke4Na0EuJ6gjJGSt4o3te3tachQNQDNgrv8AsO+SiaOLDpqn4Tvl\/EOw8R+mFOnq3Kup\/L0fhcvERFU2Ku83+ksoiE4e58p9VrR1Z3Oe5VmiR0lLX1X99VHvPLPP\/MqPXcvSX1kfVHA0eZJP1Wi0Qzh0807+tK4\/IfRbuKjTvzPMhVlU4vS9o3OOg\/Ws1Q8+06pdk\/5W\/dadZjQvq22rYPZbUnA8h9laaiuItllnnEnBI4cERA34jyx8T5Kk1edjo4eShwyk+5FLIRqjU5p3AOt1uJ4scpHct\/MHyB7V2sP6Nq29Up5yETfHP7an6YtgtlliaQOlmHSSHvPIeQx8VTXiujsms210gcY5aX1g0Z4juAO7doV924owa6OMa0927v1x9jWzTR08L5pnhkbBlznHYBZee7XDUs7qOy8UFI3AlqnbHy+3PwXmK3XPVMzam68VJQt3jp2nBd4\/c+S1NPTw0kDYKeNscbBgNaFTEPFm\/Xr+Efu\/hEK02Kis8f5hnFK725n7ud9lZIio23lnTGEYK0VZBERQWCIiAIiIAiIgCpNX1Ho+nKgdcpEY8z9gVdrMaz\/STbLcNzUVIOPDb9pXgryRz8S7UZW\/18FzZaf0Wy0cPW2FpPiRk\/EqcvgAAwBgBcKuvo6BnHV1McIxkcbsE+A5lVy2aq0IpPZEheJYxLE+NwBD2lpyM81Qy63s8biGmeUYyCyPn7yF4Zrq0uxxR1LAc7uYPoSrdHPkZPiqG2pHzQzy21VFM\/aSCocC3s2H1BWlWL07dqKPUtwDKhrKar\/ORmT1RxZzjf8AWPuW0U1F1inCSTpJJ7YKTV8vRaaqsHBfwtH+oZ+GVX6CqM0FVRuyHwy8RBGMAjHzaV31vITaYaVoy+ona0Z8\/rhR4B+C63EBIENdCANwBxAbHHblp\/1K8V\/HYwqSa4pT7lZe9zWIiLA9I\/MtYP4tTVQ2w0MG36gWz0gzg0zSbYLuMn\/WVh9Qgz6ir3AjDHnJPVjA\/ct\/ptgj07QgDnED79\/qump9NI8fg88VOXn+Sr0iBDX3mmAwI6j1R1Yy4be5edRYuWo7ZaRhzGnpZRgHbsPkD7\/BcqStp7Pq28GqkEUTmCT1ubjsdu32jsq2Cjr9U3yqraeR8FK53RmUncN2w0AdeMbd+\/fFutq8Czn\/ABKkld328Ey\/umpiJ\/w+zRemVjtiW7tZ9z8FRzWupob\/AGma5zipqKub85xDLRggAd\/P5LXWqzUdng6Olj9Ygccjt3P8VT6pxJe7HEw\/nRPxDuHE37fBRCSvZGtenJw11Hm6su5Z+5p0RFgeiEREAREQBERAEREAREQBY683Clj1rTvqpeCGihy4YyS4gkAe9qsbvqR0VQLdaYvS652xxu1m3xP8FU+mLSy8VVZX3VvpL2SBoJPqucOeeo9S2hHSnKR59er0klSp739ME112veoMx2ilNHSnY1Mpw4ju\/dnxUij0Xb4j0tdJJWzHJcXuIBPz+K0TWhrQ1oAAGAB1L6qa3tHBuuGi3qqPU\/Hb2OMNHTUzAyCnijaOQYwBdHxslbwyMa9vY4ZC9IqHRZJWMXqm10MV7t8skbYqepPRy9Hhm+fa+I9ykSUV50yGy0Mz7jRtHrQPzlg7v3cuxWGr6P0uwSvb7dORK3fHLn8CVYWmsFwtVNVA5MkY4v1hsfiCttT0o4Ogj00ksPdNfczBuMOp9S2xsDHdDTtMr+Iey7mR37ho81ZawpJX0EVwpwOnoZBIDjcN6\/jg+So5qWql1Xcaiy8MUlJhwjaAA84AcMDtOfFaqz3Wnvtvc7gw4DgniI5EjceHNTLq2a2KUv5FOE929+dsY8rEq31kdwoIauI+rKwHwPWPI5C6VNRHSU0tTM7hjiaXOPcFl7NUu09eZ7NWP4aaZ3SU0jthv1Z7\/mO9ctXXqComZaGTAQ8QdUytOcAb8Pj1+OO9V6O8rLY2fFKNHVLtLFvEpBJ6RZ7xcXBrX1M7G8I6su4yM8+oe5aebUkFtoqW3UMZrK0RMY2Nm4acDn39yxjXVb7X6PHtSPqhjPNz8bfD5r9HtNiobPHimjzIfalfu4\/byWtSy3OLhOkm3oxjL9W8GCvtHcaepbWXZgfJVMJ9U44DyAOOzY4\/et7p+i\/D7HSwEYdwcTsjfJ339+PJSK23UdxaxtXAyUMOW8Q5Ffa6vprbTOqKqURsb7yewDrWUpuSSO2jwyozlUbx\/r3PtbW09vpX1NTIGRsG57e4d6z1lgnvd6df6mPo4Gt4KaMnc46\/n5nuXOmoqrVlW24XAOht0Z\/MU\/8Aed5+\/uWra1rGBjGhrWjAAGAAofUVu8tG9eSk+ytvHx8uR6RR6yupbfAZ6uZsUY63dfgOZWeF\/u17kMVipBFCDg1M\/V9PmqqLZrUrQg7PL5Lc1K8CaJ0hiEjC8DJaHDIHgs0dL3OtObnfJXt644gQPt1DqVja9M260TienbI6UAjjkfnY9wwFLUV3lY1Ksn2LLxZboiKh0BERAERfCQBknACAEgDJOAFl7heqm81n4VYner\/XVY5NHd\/G65XG51WpK11os7y2mG1RUjkR1jw+fgtFbLXS2mkbT0zMAe04+089pK0soZe5xuUq70wxHvfPwXyVht1HpnT1XJAMyiI8UrubnEYHgM42XTSFL6Lp2DOOKYmQ4Hby+ACiaykkqI6O1QZ46uYcWBnAHLPmc\/5Vo4YmwwsiZ7LGho8Ajb057xTjHpmorEVb3PaIizOwIiIDxNEyeF8MgyyRpa4dx2Wd0Y98EFba5TmSjnI8jtt5g+9aVZc4tevQ4nEdxix2AO\/\/AFv\/AJLSOU0c1bqzhPxt7\/2fdK4N3vjnNAk9J9bHV6z\/AN65XOL\/AIc1BDdocNo6t\/R1DBsAT1\/XyPaoFNe2WS+3dsURrH1UwMQiOQTlxxn\/ADdQ6lMlsl51FC6ouk4pgGkw0rRydjYns+fgtGrSu9jijLVSUIK8k36ZOd9ulLf5m2+20Hp0zTtOQQ1g68HY48dvFSbLoqnpcTXLhqJQciMew3x7fkpOip45bEGNjaySF5Y\/DcZPME9pwVoVWUnHqo3pUI1bVp5b9j8xtP6Sy2UQ5OuDnvHdiPr8Mr9OX5toyAz6iiJyRCx0mPLH1C1F11QyOb0G1M9LrH+qCwZaw9\/arVU3KyMOCqRhSc5eXsiRe7+22ObS00fpNdL7EIycd5x8lAotN1VwqBX6gmM0mPUpwfVZ3H7BTrDYfw\/irKx\/T3CbeSQ78OeoK6Wbko4idcaTqvVV9F882fGtDWhrQAAMADqVPe9RQ2ktp44zU1kg9SFnV2ZUe96gmiqBa7Qzp69+xIwRH79s+Ow613sOn22ziqqp\/pFdNvJKd+HPMD7oopK8iZVJTloper5f2QaDTtTcqhtx1A8yv5spv6LO4\/b35WmYxkbAyNoY1owGtGAF6RVlJyNadKNNY3594REVTUIiIAiIgCy97r6i81ZsNrPMkVM2dmgHcfft5Kfqe8G1W7hhBNTUkxxAcxtu7yyPMhdNP2ZtoocP9apmw6d+c5d2eWVpHqrUzlqt1J9FHbv+PUk2u2U9pomU1O3AG7ndbz1kqYiKjd8nTGKirLYy5Hp35QRn1m0NPnuBx\/8Af4dy1CzGlAaq5Xa5E56SfgZjsBJ+WFp1apvbkc\/DZg5822ERFQ6Qiq7pqK3WkFs83HKP6qPd3n2eaqeDUOot3O\/C6F3ID+UePn8h4q6g3l4MJ14p6Y5fJfvkWV21Nb7VmMv6eozgQxHJB7z1fPuWVv341c6Rt0raRtNTQEcDOTwCRv29n2WutenbdaQHQQ8co\/rZN3eXZ5KZcKRtfb56R+MSsLckZweo+R3VoyjF4MKlGrWg9bt4L9sp7Pp6gp56S6UMkjG9APUJ4uPIO5Pbv1bbLQLPaMrHTWh1HKHCajeY3B3UMkj6jyVvXXKitsfSVlQyEHkDuT4AblVndysa0HTVJSWEyi0\/+i6ovNGDlrndKO7fP7Sva+40lspzPVzCNvUOtx7AOtYlt1qqzVVVVWKIySVEQYDIAOEANy7n\/wDHrVs3TLuiluN7qjWVDI3ODM+o3A+PwWkoq95HNRrS0ONNXs3nutcz2m7NcLn0vo85pqV3qTSjmevhHX2dy3lrs1FaIeCkiw4j1pHbud4lU+gf+hzf4l3+1q0znBrS5xAAGST1KKsm5NF+CowjTjPvPqzF2vtXXVhtNhHHLylqByYORwfr7t1xrrrW6jqX22y5ZSj1Z6o7Aju7tvE+Cv7VaaW0Ugp6Zm\/9N5HrPPaVWyhl7mjnKu9MHaPe\/j5ONksdPZaYtYeknfvJMRu77BWiIqNtu7OmEIwjpisBERQWCIiAIiIAiIgMsIm3XXUhldmO3RgsYet3bjxOfILUrL3aOrsd+F5pKZ1RT1DQyoYzcg9vdyHux1hWdBqW03Brejq2RvP9XKeBw7t9j5LSSbSa2OOjOMJSjJ2d368i1XKpk6Glll\/sMLvcF4nuFHTRiSeqhja4ZBc8DPgs7eNYW19DU0tKZZ5JYnMDmtw0ZBGd99lWMW3hG1WtCmndnfQ0fBp\/i\/vJnO+Q+i0RIAyTgBYmxu1K+0wUtvp4IIMEtqZMZOTnPX4clPbpGorHcd3u09Rk5LGHDR4Z+wWk4rU22c1CrJUoxhBvHkiwrtU2iha7NU2Z4GzIfWz5jb4qp6fUeo9qdn4ZRO\/pnIc4ePM+WB3q8otPWqgcHQUUfGOT3+sR4E8lZKuqK2Rr0VWp9SVlyXyVFp01b7ViQR9PUDczSDJz3Dq+at0VbeL5SWWDjqHcUjgejibzd9h3quZM1Sp0YckiyVPctU2q2uMb5ullHNkQ4iPE8gqnoNR6j3qH\/hlE7+gMhzh4cz54Hcrq16dt1pAdBDxyj+tk3d5dnkraYx3Mekq1Ppqy5v8ASMaypuT74ZaFj7aLo71ek3B33IOO35rS0ej6RkwqLhPLXz9ZlPq+7mfMr1q+3vq7WKuDIqKJ3SMLeeOv5A+SsrRXsudrgq2uBL2DjA6nDmPerSm3G6MaVCMarhUz3r9423KOlYyP8oNQyNoY1tKAGtGANmq6vri2w15H\/t3j3gqnt\/rflBubhuBTgE9+I\/sumotQUbYJrXA19XVTsMYZFuAT2n6D4I03JehaM4wpTbdsshaOuFLb9O1MtVKImNqCcnr9VuwHWdl9dNc9XvMcAdRWriw559qT7+HId6rNI2Wmus08lZxOjpnDEO4aSe33cl+gNa1jAxjQ1rRgADAAUzajJ23M+GhOrSipO0fz\/RxoqGnt1K2mpYxHG3s5k9p7SpCIsD0kklZBERCQiIgCIiAIiIAiIgCrKzTtprsmajYHH+kzLT8PBWaKU2tisoRmrSVygi0XZY3hzoZJAOTXSHHwwriCipaVhZT00UTSMEMYBld0UuTe7KwpU4dmKR8DQ0YaAB2BfURVNAiIgIN5uTbTbJastDnN2YwnHE4\/xnyVVYbI+V\/4xdT09VP67Gv3EYPLbtxjwVjf7Y67WmWmjIEmQ5hdyyP3ZCp6fV5oIY4LvbqqGVgDS9rNnY698fDK1im49Xc4qsoqqnV2SxyuapFmn66t3Fwx01XI4cwGAY+K8fj9\/ryBb7GY2ke3UE48d8D5qvRy7zT\/AKqXc7+WTTuxwnixjG+VgobzBpe8VUFI5tZQyniDWO9h3YDy7vcrQabut3c2S+3E9GN+gh\/jGfereLTtohpX0zaGPgeMOLslx\/zc1ZOMcPJjONas1KK022b39jIWyG46ku1bU09QaFkwxK5oJ229UHbsHWFsLTYqGzx4po8yH2pX7uP28lIoLbR2yN0dJCImuOTuTnn2+KlKJzvhbGnD8Mqa1TzLmcoaanpy8wwxxl5y4saBxHnv28yuqIszqSS2CIiEhERAEREAREQBERAEREAREQBERAEREAREQBc5v5CT9U\/JEQh7HGg\/kHfrfQKUiKXuRDsoIiKCwREQBERAEREAREQBERAEREAREQBERAf\/2Q==",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA E INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56990956158",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:33",
    "ubicacionGPS": "LatLng(lat: -29.91777, lng: -71.2550717)",
    "horaLlegada": "07:02",
    "horaDespacho": "10:19",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 07/05/2026 10:33:36
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-H_5622+z76HQl10u-GUpzA-eTxZpSa-9xy4afr6BCJEBDR7MBt.
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "KY2448",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "200659",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza entrega de 2 tonee\niton 2174",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12488",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADBAO4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABIEAABAwMCAgYIAQcKBQUAAAABAAIDBAURBiESMRNBUWFxgRQiMpGhscHRFQcjJHLC4fAzNEJDUlN0gpKyFiU1c6I2VGLi8f\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC8RAAIBAwICCQQDAQEAAAAAAAABAgMRIRIxBFETIjJBYXGBkdEzobHBI+HwFDT\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBERAFxqqmOjpZamU4ZEwuPkuyzetZ3m309vi\/la2YNAxzA\/eWq0Vd2Mq0+jpuRXQ3++UsFPdqxrJKCd5a5jRhzRyB5bcjjt9y2ccjJY2yRuDmPAc1wOxB5FRHWyB1n\/DC0GLouj7Orn791V6MqXyWmSklx0lJKWEYxgdWfPKtK0ldGFLXSmoSd7r7rc0KIizOwIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAvEkrIYzJI4NaOZK9rP62h6XTkj\/7mRj\/jw\/tK0VdpGdWbhByXcX4IIyDkFfVBsruOx0Ls5\/R48nv4Qpyh4ZaL1RTCy9SPxDX0EROWUUPGQB18\/m5q1CzGnj6Xqi81vPgcIgT2Zx+wFeGE2YV8uEOb\/GTTrMWV3oWsLtQ8OGzYmbjl2\/t\/BadZa7foOt7ZWHZk7DET37j9pqQzdDiOrpnyf5walERZnSEREAREQBERAEREAREQBEVNqW6y2+iZBSgmsq3dHBjGxyMn47d5ClK7sUqTUIuT7i1dUQMkEb5o2vccBpcAT5LostHouJ9tc2pqJXV0jSTL0hwHdneM+e5UvStylqqSWiqv51RP6N\/eNwPkQrOKtdMxhWlqUZxtfb4L5ERUOkIiIAiIgCodaP4dNzDf1nsH\/kD9FfLMa6cXWqmp2+3LUDAxz2P1IV6faRz8U7UZeRK0bP02nIW9cTnMO3fn6q9WY0QOjpa+AezHUnHux9Fp0qdpjhXejHyPhIAyTgBZnQ4MlDWVJGOmqTgeQP1WhrCRRTkHBEbvkqTRAA063A5yuyi7DInmvBeD\/RoVnNbQONpirI9n0szXA9gO3zwtGoF8hFRY62M43hcRntAyPkog7STL1466Ul4EmlnbVUkNQz2ZWB48wuyptJzGfTdITnLQWb9xIHwVyokrNotTlrgpc0ERFBoEREAREQBERAEREAWVizd9dSSHJhtzOEb7cXL5k\/6fJaSqqGUlJNUv9mJhefIZVFoqnItctdIcyVkrnk9wJHz4lpHEWzlrdepCHq\/T+zRrLNaKD8oXCwANrYC4gdu5PxZ8VqVmNQZg1XZKgbcbzH8QP2khu0TxOIxlya+DToiLM6QiIgCIiALMaqHT3iyUg3Dp+J7Rzxlu\/uytOstWg1X5QKKM54KeHiIz14cc\/Ee5aU97nNxWYKPNpfc9aP8A53eMex6Ttjlzd+5adZjRe7bk4bg1Jwe1adRU7THCfRXr+SLc\/wDpVX\/2H\/7SqzRn\/pqD9Z\/+4q3rG8dFOzGeKNwx27Kk0Q7i060ZzwyuHh1\/VF2GJf8Aoj5P9GhUa4tL7bVNHMwvHwKkqs1FWsoLHVSOeGuewxx77lxGBj5+SrHLNqjSg2yJos503CMEYe\/z9Yq+VTpmjfQ2CmikaWvcC9wIwRk5+WFbKZ5kynDpqlFPkgiLP3PVDI5\/QLTF6bWu2HBu1h7+3+N1Ci3sWqVI01eTLK5XihtMXHVzBpIy1g3c7wCj2S7VV26SaS3vpqfAML3OyX\/xsodp004TfiF5k9MrHYIDt2x\/Q\/JaJWelKyM4dLN6pYXL5CIiodAREQBERAUGs6o0+n3xt9qoe2MY59p+A+KtbbSiittNTAY6KNrTv143+KodQ\/p2prRbQchrume3tHP5NPvWoWksRSOan1q05crL9sLMay\/NS2qq6oqkb+4\/srTrNa7bmxxPBwWVDSD5OUU+0hxf0ZGlReWO42NdjHEAcL0qHSEREAREQBZihJl\/KDcHE5bHTho7tmfvWnWY0\/ibVN7n58DxHnzI\/ZV47M5q+ZwXj+Exob+Y1v8AiT8gtOsxob+Y1v8AiT8gtOpqdpjhPoRPhAIwRkFYzTN4orLaqqKsm4SypdwMG7nbAbe5ae7XOG0W99VMeWzG\/wBp3UFk9H0NPc66uqa+ASSxPDg149UOcXZ9XyUwXVbexlXm+mhGHaz\/AL7FgdTXS4hrbPZ5CHHaWcerj4Dt611pNNVVVV+l3+qbVuAIZC32G58h8FowABgDAC+quu3ZVjVcPd3qS1fj2Cj1tdTW+ndPVTNjYOs8z3AdaqbtqiCjl9DoWemVrjgRs3APeR8h8FGodN1NwqW3DUEvTSc2U2fVZ3H7Dzyiji8hKu29FJXf2XmRzUXjVjiymDqC25w6Q+08fXwG3etDbLRRWiDoqSLhJ9p7t3P8T\/AU1rQ1oa0AADAA6l9RyvhbFqdFReqTvLn8cgiIqG4REQBERAERcaqcUtJNUO5RRuefIZQhuyuZyzf8x1jc672mU46FhHLs8\/ZPvWpWd0TCW2R1Q\/JfUTOeXHrxt8wVolep2rHPwq\/iUn359wqLWUfSabnIGS1zCP8AUB9Vequv8HpFhrY+voXOG\/WN\/ooi7SRpXjqpSXgzva39LaaOT+3Ax3vaFKVRpafp9OUbutrSw7dhI+it1ElZtE0paqcX4Hl72xxuke4Na0EuJ6gjJGSt4o3te3tachQNQDNgrv8AsO+SiaOLDpqn4Tvl\/EOw8R+mFOnq3Kup\/L0fhcvERFU2Ku83+ksoiE4e58p9VrR1Z3Oe5VmiR0lLX1X99VHvPLPP\/MqPXcvSX1kfVHA0eZJP1Wi0Qzh0807+tK4\/IfRbuKjTvzPMhVlU4vS9o3OOg\/Ws1Q8+06pdk\/5W\/dadZjQvq22rYPZbUnA8h9laaiuItllnnEnBI4cERA34jyx8T5Kk1edjo4eShwyk+5FLIRqjU5p3AOt1uJ4scpHct\/MHyB7V2sP6Nq29Up5yETfHP7an6YtgtlliaQOlmHSSHvPIeQx8VTXiujsms210gcY5aX1g0Z4juAO7doV924owa6OMa0927v1x9jWzTR08L5pnhkbBlznHYBZee7XDUs7qOy8UFI3AlqnbHy+3PwXmK3XPVMzam68VJQt3jp2nBd4\/c+S1NPTw0kDYKeNscbBgNaFTEPFm\/Xr+Efu\/hEK02Kis8f5hnFK725n7ud9lZIio23lnTGEYK0VZBERQWCIiAIiIAiIgCpNX1Ho+nKgdcpEY8z9gVdrMaz\/STbLcNzUVIOPDb9pXgryRz8S7UZW\/18FzZaf0Wy0cPW2FpPiRk\/EqcvgAAwBgBcKuvo6BnHV1McIxkcbsE+A5lVy2aq0IpPZEheJYxLE+NwBD2lpyM81Qy63s8biGmeUYyCyPn7yF4Zrq0uxxR1LAc7uYPoSrdHPkZPiqG2pHzQzy21VFM\/aSCocC3s2H1BWlWL07dqKPUtwDKhrKar\/ORmT1RxZzjf8AWPuW0U1F1inCSTpJJ7YKTV8vRaaqsHBfwtH+oZ+GVX6CqM0FVRuyHwy8RBGMAjHzaV31vITaYaVoy+ona0Z8\/rhR4B+C63EBIENdCANwBxAbHHblp\/1K8V\/HYwqSa4pT7lZe9zWIiLA9I\/MtYP4tTVQ2w0MG36gWz0gzg0zSbYLuMn\/WVh9Qgz6ir3AjDHnJPVjA\/ct\/ptgj07QgDnED79\/qump9NI8fg88VOXn+Sr0iBDX3mmAwI6j1R1Yy4be5edRYuWo7ZaRhzGnpZRgHbsPkD7\/BcqStp7Pq28GqkEUTmCT1ubjsdu32jsq2Cjr9U3yqraeR8FK53RmUncN2w0AdeMbd+\/fFutq8Czn\/ABKkld328Ey\/umpiJ\/w+zRemVjtiW7tZ9z8FRzWupob\/AGma5zipqKub85xDLRggAd\/P5LXWqzUdng6Olj9Ygccjt3P8VT6pxJe7HEw\/nRPxDuHE37fBRCSvZGtenJw11Hm6su5Z+5p0RFgeiEREAREQBERAEREAREQBY683Clj1rTvqpeCGihy4YyS4gkAe9qsbvqR0VQLdaYvS652xxu1m3xP8FU+mLSy8VVZX3VvpL2SBoJPqucOeeo9S2hHSnKR59er0klSp739ME112veoMx2ilNHSnY1Mpw4ju\/dnxUij0Xb4j0tdJJWzHJcXuIBPz+K0TWhrQ1oAAGAB1L6qa3tHBuuGi3qqPU\/Hb2OMNHTUzAyCnijaOQYwBdHxslbwyMa9vY4ZC9IqHRZJWMXqm10MV7t8skbYqepPRy9Hhm+fa+I9ykSUV50yGy0Mz7jRtHrQPzlg7v3cuxWGr6P0uwSvb7dORK3fHLn8CVYWmsFwtVNVA5MkY4v1hsfiCttT0o4Ogj00ksPdNfczBuMOp9S2xsDHdDTtMr+Iey7mR37ho81ZawpJX0EVwpwOnoZBIDjcN6\/jg+So5qWql1Xcaiy8MUlJhwjaAA84AcMDtOfFaqz3Wnvtvc7gw4DgniI5EjceHNTLq2a2KUv5FOE929+dsY8rEq31kdwoIauI+rKwHwPWPI5C6VNRHSU0tTM7hjiaXOPcFl7NUu09eZ7NWP4aaZ3SU0jthv1Z7\/mO9ctXXqComZaGTAQ8QdUytOcAb8Pj1+OO9V6O8rLY2fFKNHVLtLFvEpBJ6RZ7xcXBrX1M7G8I6su4yM8+oe5aebUkFtoqW3UMZrK0RMY2Nm4acDn39yxjXVb7X6PHtSPqhjPNz8bfD5r9HtNiobPHimjzIfalfu4\/byWtSy3OLhOkm3oxjL9W8GCvtHcaepbWXZgfJVMJ9U44DyAOOzY4\/et7p+i\/D7HSwEYdwcTsjfJ339+PJSK23UdxaxtXAyUMOW8Q5Ffa6vprbTOqKqURsb7yewDrWUpuSSO2jwyozlUbx\/r3PtbW09vpX1NTIGRsG57e4d6z1lgnvd6df6mPo4Gt4KaMnc46\/n5nuXOmoqrVlW24XAOht0Z\/MU\/8Aed5+\/uWra1rGBjGhrWjAAGAAofUVu8tG9eSk+ytvHx8uR6RR6yupbfAZ6uZsUY63dfgOZWeF\/u17kMVipBFCDg1M\/V9PmqqLZrUrQg7PL5Lc1K8CaJ0hiEjC8DJaHDIHgs0dL3OtObnfJXt644gQPt1DqVja9M260TienbI6UAjjkfnY9wwFLUV3lY1Ksn2LLxZboiKh0BERAERfCQBknACAEgDJOAFl7heqm81n4VYner\/XVY5NHd\/G65XG51WpK11os7y2mG1RUjkR1jw+fgtFbLXS2mkbT0zMAe04+089pK0soZe5xuUq70wxHvfPwXyVht1HpnT1XJAMyiI8UrubnEYHgM42XTSFL6Lp2DOOKYmQ4Hby+ACiaykkqI6O1QZ46uYcWBnAHLPmc\/5Vo4YmwwsiZ7LGho8Ajb057xTjHpmorEVb3PaIizOwIiIDxNEyeF8MgyyRpa4dx2Wd0Y98EFba5TmSjnI8jtt5g+9aVZc4tevQ4nEdxix2AO\/\/AFv\/AJLSOU0c1bqzhPxt7\/2fdK4N3vjnNAk9J9bHV6z\/AN65XOL\/AIc1BDdocNo6t\/R1DBsAT1\/XyPaoFNe2WS+3dsURrH1UwMQiOQTlxxn\/ADdQ6lMlsl51FC6ouk4pgGkw0rRydjYns+fgtGrSu9jijLVSUIK8k36ZOd9ulLf5m2+20Hp0zTtOQQ1g68HY48dvFSbLoqnpcTXLhqJQciMew3x7fkpOip45bEGNjaySF5Y\/DcZPME9pwVoVWUnHqo3pUI1bVp5b9j8xtP6Sy2UQ5OuDnvHdiPr8Mr9OX5toyAz6iiJyRCx0mPLH1C1F11QyOb0G1M9LrH+qCwZaw9\/arVU3KyMOCqRhSc5eXsiRe7+22ObS00fpNdL7EIycd5x8lAotN1VwqBX6gmM0mPUpwfVZ3H7BTrDYfw\/irKx\/T3CbeSQ78OeoK6Wbko4idcaTqvVV9F882fGtDWhrQAAMADqVPe9RQ2ktp44zU1kg9SFnV2ZUe96gmiqBa7Qzp69+xIwRH79s+Ow613sOn22ziqqp\/pFdNvJKd+HPMD7oopK8iZVJTloper5f2QaDTtTcqhtx1A8yv5spv6LO4\/b35WmYxkbAyNoY1owGtGAF6RVlJyNadKNNY3594REVTUIiIAiIgCy97r6i81ZsNrPMkVM2dmgHcfft5Kfqe8G1W7hhBNTUkxxAcxtu7yyPMhdNP2ZtoocP9apmw6d+c5d2eWVpHqrUzlqt1J9FHbv+PUk2u2U9pomU1O3AG7ndbz1kqYiKjd8nTGKirLYy5Hp35QRn1m0NPnuBx\/8Af4dy1CzGlAaq5Xa5E56SfgZjsBJ+WFp1apvbkc\/DZg5822ERFQ6Qiq7pqK3WkFs83HKP6qPd3n2eaqeDUOot3O\/C6F3ID+UePn8h4q6g3l4MJ14p6Y5fJfvkWV21Nb7VmMv6eozgQxHJB7z1fPuWVv341c6Rt0raRtNTQEcDOTwCRv29n2WutenbdaQHQQ8co\/rZN3eXZ5KZcKRtfb56R+MSsLckZweo+R3VoyjF4MKlGrWg9bt4L9sp7Pp6gp56S6UMkjG9APUJ4uPIO5Pbv1bbLQLPaMrHTWh1HKHCajeY3B3UMkj6jyVvXXKitsfSVlQyEHkDuT4AblVndysa0HTVJSWEyi0\/+i6ovNGDlrndKO7fP7Sva+40lspzPVzCNvUOtx7AOtYlt1qqzVVVVWKIySVEQYDIAOEANy7n\/wDHrVs3TLuiluN7qjWVDI3ODM+o3A+PwWkoq95HNRrS0ONNXs3nutcz2m7NcLn0vo85pqV3qTSjmevhHX2dy3lrs1FaIeCkiw4j1pHbud4lU+gf+hzf4l3+1q0znBrS5xAAGST1KKsm5NF+CowjTjPvPqzF2vtXXVhtNhHHLylqByYORwfr7t1xrrrW6jqX22y5ZSj1Z6o7Aju7tvE+Cv7VaaW0Ugp6Zm\/9N5HrPPaVWyhl7mjnKu9MHaPe\/j5ONksdPZaYtYeknfvJMRu77BWiIqNtu7OmEIwjpisBERQWCIiAIiIAiIgMsIm3XXUhldmO3RgsYet3bjxOfILUrL3aOrsd+F5pKZ1RT1DQyoYzcg9vdyHux1hWdBqW03Brejq2RvP9XKeBw7t9j5LSSbSa2OOjOMJSjJ2d368i1XKpk6Glll\/sMLvcF4nuFHTRiSeqhja4ZBc8DPgs7eNYW19DU0tKZZ5JYnMDmtw0ZBGd99lWMW3hG1WtCmndnfQ0fBp\/i\/vJnO+Q+i0RIAyTgBYmxu1K+0wUtvp4IIMEtqZMZOTnPX4clPbpGorHcd3u09Rk5LGHDR4Z+wWk4rU22c1CrJUoxhBvHkiwrtU2iha7NU2Z4GzIfWz5jb4qp6fUeo9qdn4ZRO\/pnIc4ePM+WB3q8otPWqgcHQUUfGOT3+sR4E8lZKuqK2Rr0VWp9SVlyXyVFp01b7ViQR9PUDczSDJz3Dq+at0VbeL5SWWDjqHcUjgejibzd9h3quZM1Sp0YckiyVPctU2q2uMb5ullHNkQ4iPE8gqnoNR6j3qH\/hlE7+gMhzh4cz54Hcrq16dt1pAdBDxyj+tk3d5dnkraYx3Mekq1Ppqy5v8ASMaypuT74ZaFj7aLo71ek3B33IOO35rS0ej6RkwqLhPLXz9ZlPq+7mfMr1q+3vq7WKuDIqKJ3SMLeeOv5A+SsrRXsudrgq2uBL2DjA6nDmPerSm3G6MaVCMarhUz3r9423KOlYyP8oNQyNoY1tKAGtGANmq6vri2w15H\/t3j3gqnt\/rflBubhuBTgE9+I\/sumotQUbYJrXA19XVTsMYZFuAT2n6D4I03JehaM4wpTbdsshaOuFLb9O1MtVKImNqCcnr9VuwHWdl9dNc9XvMcAdRWriw559qT7+HId6rNI2Wmus08lZxOjpnDEO4aSe33cl+gNa1jAxjQ1rRgADAAUzajJ23M+GhOrSipO0fz\/RxoqGnt1K2mpYxHG3s5k9p7SpCIsD0kklZBERCQiIgCIiAIiIAiIgCrKzTtprsmajYHH+kzLT8PBWaKU2tisoRmrSVygi0XZY3hzoZJAOTXSHHwwriCipaVhZT00UTSMEMYBld0UuTe7KwpU4dmKR8DQ0YaAB2BfURVNAiIgIN5uTbTbJastDnN2YwnHE4\/xnyVVYbI+V\/4xdT09VP67Gv3EYPLbtxjwVjf7Y67WmWmjIEmQ5hdyyP3ZCp6fV5oIY4LvbqqGVgDS9rNnY698fDK1im49Xc4qsoqqnV2SxyuapFmn66t3Fwx01XI4cwGAY+K8fj9\/ryBb7GY2ke3UE48d8D5qvRy7zT\/AKqXc7+WTTuxwnixjG+VgobzBpe8VUFI5tZQyniDWO9h3YDy7vcrQabut3c2S+3E9GN+gh\/jGfereLTtohpX0zaGPgeMOLslx\/zc1ZOMcPJjONas1KK022b39jIWyG46ku1bU09QaFkwxK5oJ229UHbsHWFsLTYqGzx4po8yH2pX7uP28lIoLbR2yN0dJCImuOTuTnn2+KlKJzvhbGnD8Mqa1TzLmcoaanpy8wwxxl5y4saBxHnv28yuqIszqSS2CIiEhERAEREAREQBERAEREAREQBERAEREAREQBc5v5CT9U\/JEQh7HGg\/kHfrfQKUiKXuRDsoIiKCwREQBERAEREAREQBERAEREAREQBERAf\/2Q==",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA E INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56990956158",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:33",
    "ubicacionGPS": "LatLng(lat: -29.91777, lng: -71.2550717)",
    "horaLlegada": "07:02",
    "horaDespacho": "10:19",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


07/05/2026 10:33:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:91770000

[07/05/2026 10:33: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('91770000', 'KY2448', 1, 20988335, 200659, NOW(), 
				'10:19', '07:02', '10:33', 10, 'se realiza entrega de 2 tonee
iton 2174', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778164416.png', '', null, 'COMPLETADO','LatLng(lat: -29.91777, lng: -71.2550717)' )
				
[07/05/2026 10:33:36] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200212

07/05/2026 10:33:36 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200212'                    
				WHERE idllamado = 12488			
				
07/05/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 = 12488
                
07/05/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 = 12488
                TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


07/05/2026 10:33:36 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12488			
				
07/05/2026 10:33:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


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

07/05/2026 10: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 = 12488
                
07/05/2026 10: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 = 12488
                
07/05/2026 10:33:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            [07/05/2026 10:33:44] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 10:33:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12488
            GROUP BY l.idllamado;
            [07/05/2026 10:33:44] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 10:33:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:33:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:33:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:33:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:33:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:33:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12488
                
07/05/2026 10:34:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            [07/05/2026 10:34:23] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 10:34:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            
07/05/2026 10:34:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            
07/05/2026 10:34:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            [07/05/2026 10:34:23] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

07/05/2026 10:34:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            
07/05/2026 10: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 = 12491
                
07/05/2026 10: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 = 12491
                
07/05/2026 10:34:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            [07/05/2026 10:34:29] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 10:34:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12491
                
07/05/2026 10:34:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12491
                [07/05/2026 10:34: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;
                

07/05/2026 10:34:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            
07/05/2026 10:34:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12491
                
07/05/2026 10:34:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12491
                
07/05/2026 10:34:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12491
                
07/05/2026 10:34:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12491
                [07/05/2026 10:34: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;
                

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

07/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            
07/05/2026 10: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 = 12491
                
07/05/2026 10: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 = 12491
                
07/05/2026 10: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 = 12491
                
07/05/2026 10: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 = 12491
                
07/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            [07/05/2026 10:34:37] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            
07/05/2026 10:34:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            
07/05/2026 10: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 = 12491
                
07/05/2026 10: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 = 12491
                
07/05/2026 10: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 = 12491
                
07/05/2026 10: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 = 12491
                
07/05/2026 10: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 = 12491
                
07/05/2026 10: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 = 12491
                
07/05/2026 10:34:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            
07/05/2026 10:34:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12491
                
07/05/2026 10:34:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12491
                
07/05/2026 10:34:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            
07/05/2026 10:34:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12491
                
07/05/2026 10:34:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12491
                
07/05/2026 10: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 = 12491
                
07/05/2026 10: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 = 12491
                
07/05/2026 10:34:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            
07/05/2026 10: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 = 12491
                
07/05/2026 10: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 = 12491
                
07/05/2026 10:34:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12491
                
07/05/2026 10:34:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12491
                
07/05/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 = 12491
                
07/05/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 = 12491
                
07/05/2026 10:34:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            
07/05/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 = 12491
                
07/05/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 = 12491
                
07/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            
07/05/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 = 12491
                
07/05/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 = 12491
                
07/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            
07/05/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 = 12491
                
07/05/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 = 12491
                
07/05/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 = 12491
                
07/05/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 = 12491
                
07/05/2026 10:35:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            
07/05/2026 10:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12491
                
07/05/2026 10:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12491
                
07/05/2026 10:35:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            
07/05/2026 10:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12491
                
07/05/2026 10:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12491
                
07/05/2026 10:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12491
                
07/05/2026 10:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12491
                
07/05/2026 10:35:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            
07/05/2026 10:35:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12491
                
07/05/2026 10:35:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12491
                
07/05/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 = 12491
                
07/05/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 = 12491
                
07/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            
07/05/2026 10:35:33 - logentry: =========================================
FECHA: 07/05/2026 10:35:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-INMTFrlusJV2GdL8FHNH-jJHKQq0yIwNXRb4r+zV-kHJJ4CrDxZ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "KY2448",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "200659",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza cambio de rodillo de bandeja 1\nretard rolles\n01 rgom2356",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12491",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACkALADASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAIDAQf\/xABCEAABAwMCAgcFBAYKAwEAAAABAAIDBAURBiESMRMiQVFhcZEUMoGhsRUjwdEkQkPC4fAHFjM0YnJ0ktLxJTdSY\/\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC8RAAICAQIEAwcEAwAAAAAAAAABAgMRITEEEkFRYXHREyIygZGxwSMzofBCUuH\/2gAMAwEAAhEDEQA\/AP7MiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgCQglvmoKqrkpLi2kgglMbWtGc\/Hyx2r7TP1XaGOkLobjAwAu26wHbtsfr2eK9aIHDR1zD7zao5HwCp1aUsSxgwU1OytT5mm\/H8HFarrTXekFRTk88OaebSu1S1rY2i11cKaJobFLCJOEdh6p\/F3qqlTkknoaaJucfe3Tx9AiIlLBERABERABS1x1LXtu1TT22nZPBRM4pyRknB6wBz44+BK3LxcGWu1z1bubG4aM4JcdgFnaStnsVnE0ozPWfeSF3PHYPTf4lUjhLmZlucpzVcHjq\/wAGnbLhHdLfFWRAtbIN2nm0jYj1XWpjSBNJU3O0ud\/d5y5gPMjln5D1VOlmsPBSibnWpPcIiJSwWde7uyy0TaqSF8rXSBmGnGMgnPyWipjXpIscODzqW5\/2uTQWZJMhxE3CqUo7opmkOaHDcEZC\/VnafqParBRS\/wD5Bp829U\/RaK41h4KwlzRUu4REXBiY0oBDd73T4wW1GR5Zd\/BU6mLZ+j66ucHuiWISADkT1T+JVOns3yZuF0r5ezf3JgHi\/pEdjfhpt\/Db+KpsgYyefJRNbdmWjWtwqHRPne6BscbB\/wDRDMfQrQt9nuF0r47tepHxGN4fDSt2DcbjPd9U8o6JvsQptxKUIrL5n8inREUT0AiIgAiL8c4NaXOIAAySexAEvqT\/AMrfLfZWguYHdNPg8h\/1n1CqGtDWhrQAAMADsUvpaP7RudwvsrD96\/o4Sexvb8uEeqqVSemI9jLw\/vc1j\/yf8LYmP7j\/AEg5weGtp+wbZ\/lnzVOpi\/8AU1XZX88uLcfEfmqdcnsmdo0lOPj99QiIkNIUvrsOkt1JA09aSoGB44I\/FVCmNY9ae0xcuOp5924\/NPX8SM3F\/sy\/vU+miJnOsj6d+zqeZzMHs7fqSqNTGmv0bUF7pHHcyiRoPPGT+YVOiz4g4V\/pJdtPoERfGqq6eigdPUytijbzc4pDQ2kssnrv+h61tVX+rO0wnxO4\/eC93PUsk1R9m2FntNU7IdKBlsfj3Hz5eawNSXSpvcLaqCjeyhppCGTnOXE\/9Kzs9tobdQxiiYOF7Q4yH3n5HMlXaUUm9zza5SssnGt4i9c9fl9NyZ09b30+sqmGue2pnig6QyHfrngORn\/MRlWymKH\/ANiXL\/TD6RqnSWPLRo4SKjGSXdhERTNYREQAWJq2tNJYpI2by1J6Fje0554Hln1W2pWvxd9bU1GQHQ0DOkePHY\/Xg+aeC1z2M\/Eyahyrd6fU3LLQC2WinpeEB7WZkx2uO5+a7kRK3l5LRioxUV0JjVp6K5WWoGxZUbnwy0\/gqdTGu24tVNNjPR1I+h\/JUwIIyDkFNL4UQr0usXl9j9RESGkKY1d\/frN\/qfxaqdTGsOrU2iQ8m1O\/qPyT1\/EZuL\/Zfy+6PyLNL\/SHMNwKqnyAOWwH\/EqoUtfXtpdX2iqcQ0FpY5xOABv\/AMkrNQVt2qXUGnoy7G0lU4Ya3y\/P0CZxcsPwJQtjU5xe+dF111NK9ahpbO3o\/wC2qn+5AzmfPuWZS2S4X2pbXX9xZC0kx0jdsefd9Vo2bTdLbCKiUmprXbunk3wfDu8+a\/blqi2W5xjMvTzD9nFueffy+CE8aQOyXN797wu3r3PreLfHLp6po4IwxoiPAxowARuBjzC+Ok6v2vTtMScuiBid8OXywuH7c1HVjiorD0bew1DsZ9S1Yltpr0KyrsUMkVC6QdLK3nwg42aRnsI9OaZQ91psnK9K1Tgm1jG2PI29PFtfqS63ON3FESImO7xty\/2j5fCnXHarZBaaFlLANhu93a92Nz8l2KUnl6GuiDhDEt938wiIlLBERAHmSRkUbpJHcLGAuce4BTWjY31Pt13mHXqpSB1s4A3+px8F2aurPZNPT4OHTkRD48\/kCu2y0fsFmpaYjDmRjiH+I7n5kqi0h5mWXv3pf6rPzZ3Ivxzg1pc4gADJJ7FO1uroelNLaad9wqP8DTwj8T\/O6VRb2LWWwrWZM+mtIhJpuVxH9m9jh64\/FddNeqCO30zqitgY98LXFpeM+6CdlgVlov1xt9TV3Wt6NrYnPbSsOxwMgHs7PEr76YsForLPBWTUvSyv4g7jccAgkcs4VMRUdWYlOyV2YRxldfB\/9N+nvNtq5BHBXQPe7k0PGT8F2rFqdJWeeF7GUohe4YD43EY+GcLOt1znsFxfabvO51Pgup6mTu7if5wdkvKn8Jf2s4NK1LD6r8lWpPXVTDHBRtbIwzxzB\/BxdYDB3x5r1Nf7le5XUtggLYwcPq5NgPLu+Z8FIXE00T5aeMvqJhJl9U9xy7GQQB3Zxz32VK63nLMnF8UnW4x2fX07mrfH3K5GluFzpxT0rpBHHENnYO5PoO30V3S0lJbKPoYGMhhjGTvjzJP4rG1cxtZpU1A34CyVuPHb6OWdJc6rVUkFsoS+Km6NrqyXHqPXbx8lx5nFdENFqi2WdZNLHdn3qa6s1TWPt9uc6CgjOJqncF3gPy9VsWvT1utLQYIQ+UftZN3fw+C7aOjp6CmbTUsYjjZyA+p7191Ny6LY110YfPZrL7eQUvdx9n6yttcNmVI6F\/ieW\/8AuHoqhTOuWltrpqlm0kNQ0tPaNj+ICK\/iwc4r9rm7Yf0KZF5a4PYHDkRlekhpCIiACIiAJbUY+0NR2q15BaHGWQeHP6NPqt253WktNN09XJwg+6wbuee4BR098bTatrqpkLqmZrTBTsYNuIYG\/aeR9VsWzTs9VVC535\/TVBOWwHdjB2ZHL4fVXlFJLOx5tdspSn7NZbfySWhzCG7atLZJyaC2HdrGnrSePj58vAqkoLdSWynEFJCI29p7XHvJ7V1IpSk3p0NddKg+Z6y7\/wB2PL2CRjmO5OBBU1od7o6KsoXnr005BHdnb6tKo5po6eF80zwyNgy5zjsAv50+5zG73M2efooqoOkdI4cLgAC447u3HbyTwi5JohxNiqshPz0NK+aquDL26joPcgkDeFoyZCOY9cjCzal8t9pqmruFxayqpwTFSFvDtsTgHw8zsqLRNtjitn2hJGDPO93C9w3DeW3xBWpXaetdxeZKilHGebmOLSfPHPl2p+eMXhIz+wuuhzuW\/Tp4GBNfo3aapaK2Rj2yqj6MxRN9z9Vx25ZPLzysWusraOuqaJruN9NR9I5\/LLtifkcLf0PSU8cVWXxN9rgmLC8jrBuBt6gr3WRsj14yOQEx11KWO9CP3V1S5ZNISVbtrjOfXC8v6zWsb46\/TdIJG8bHQCNwPbjqn6LrorfS26IxUkLYmkkkDxOVh6Jleyiq7fKCJKScgg9gPZ6gqlUZ6SaPR4dqdcZNa4CIvL3sjYXyODGtGS5xwAkNB6U7raKaayxxwxPkc6obs0Zxsd\/5716\/rS2ruDKO1UclZh4Eko2a1udz\/wB4VAnWYNNmeThfCUYs8sbwMa3OeEAZXpESGgIi8uc1jC97g1rRkknAAQB6UxftUOjdLQWkdLUsDjJKN2xADJ8NvkvnXXmrv1S612QERE4mq8HAHh3fj2L3dLfS6d0nUx0zcyytEb5T7zyTvnwxnZVjFJrO5htulOMvZvCW7\/C9Tzoe3RtoHXKRnFUTPcGvdzDR3fHO6qln2Gm9jsVHCRgiIOcO4nc\/MrQSzeZNl+HhyVRQWdd73R2aAPqHZe73Im+87+Hisy56nc+f7PscftdY444wMsZ49x8+S+lo0w2nn9vucprK12+XbtYfDvXVFLWQkrpTfLVr49F6nDDa7nqeVtXdnOpaLOYqZmxcPH8zv3YXPre2RUkFHU0sbImNBgLWtxsQSP3vVWyldcMdUR2+jYevPPho7zsPxTQm3NdiHEURjRJ7vv1N+104pLVS04IPRxNBIOcnG59V1qc0ncnugfaKzqVdF1QHc3NHL05eWFROcGtLnEAAZJPYpyTT1NlM4yrTRM6V4W3i+saCA2p79veemr45aae3XeJpd7LKA9oHMEjH0I+KaK+9iuNWNxNUnB7+395b1xoo7jQTUko6srceR5g+oCo3iwy1wdnDYXi19conrZK2l1rVRtI6K4QiaPf3jjP\/ACVUv5p7bJQz0PtPUqbZP0TxkkujzkY78dYeRC3575cb\/M6ksMbooQcSVbxjHl3fXyXZwbaZPh+JjFNdc6Lz9Hk1LzqSjtP3Q+\/qne7Czc58e76rMZZrrqGRtRe5jT04OWUsex+Pd8z5LTs2m6O0\/en7+qd70z9znw7vqthJzKPwmhVTt1t27evc+FJRU1BAIKWFkUY7Gjn5nt+K+6IpmpJJYQREQdCk62qqdVVxt9vkdFboj9\/OP2ngPy9V26qrp44IbbRn9JrncDSHYLW5GT+HqtGz2yK0W6OljAyBmRw\/Wfjcqi91c3Uy2Ztn7NbLf09T7UVDT26lbTUsYjjb3cye895U\/rLNTLa7aOVRUZPwwP3iqhRmpLnDR6tpZpmueykh4uBvNzznAz3cvmivLlkXiuWNPLstEVtTU09DTunqJGxRMG7jyCl5Ku56smMFDx0dtBIfOecnh\/D1Xqls9w1DUNr724xUwPFFSAkevd9T4KpiijgibFCxscbBhrWjAARpDxYYnfvpH+X6I5bXaaS00whpYwDjrPPvPPeSu1ESN51ZqjFRWFsFx1lrpa+qpqmoDnPpXccWHYAOQfjyC7EQng7KKksMxL1p1txnbXUkxpq6PHDIOTsd64JP641cL6OSCkia8FpnDgDg+ROOfcqpEym0Qlw8ZNtNrO+Opx2q3x2u3RUkfJg3PeTuSvheL9RWaHM7+KUjqQtPWd+Q8Vw3bUb\/AGgW2ytFTWuPCXAZbF357PwC9WfTLKWX265P9rr3niL3btafDPPzXcdZCe0b\/Tp6dei9WZDdOXDUlU65XItomvA4WNZlxHZnu8z6KwpaaOkpmQRMYxrABhjcD0X2RclNyKVUQry1u92EREhcIiIAIiIAmIsVWv5xUcBFNAOhBG+cN7x4k7fmqOeohpozJPKyJgGS57sBZ9009b7vI2WdjmSt\/aRENceXM435LPi0Na2P45ZamY9vG8YPoFRuLxlmOKurclGKeXnOTxVapmrZTR2CmfUzHYzOb1GeP8Tt5rg0pQPn1BXz15FRUUrg0vcc4fkjIz\/lKsKWjp6GAQUsLIox+q0fPxU9onrwXCY+++pOT8M\/iUykuV4Jyrk7oe0ed\/LRFOiIonoBERABEXBdbzR2eDpKqTrEHgjbu5\/kupN6IWUlFZk9DslljgidLM9scbBlznHAAUtVXW4ajnfQ2UdFSjLZap22R4d31PgvMVBc9VytqbkX0lvB4o6dp3f4\/wAT8BuqmmpoKOBsFPE2KNgwGtGAn0h4szZnftpH+X6I5LTZaOz04jp2ZeR15XDrP\/nuWgiJG29WaYxjFcsVoERFwYIiIAIiIAIiIAIiIAKY0f8AdVd4peQiqeXdu4fgqdS1OPszXk0WSI7hFxt5+9z+od6qkdU0ZrtJwl44+pUoiKZpCL8JAGScAKauGo6itqjbdPsE82OvUD3WDvB5fH0ymjFy2JWWxrWWdl91FFasU8DPaK1\/uwt3x54+i5LTpyWWp+1L47p6txy2N2C2Pz7PhyC7LJp2C1ZqJXe0Vr93zO3x3gZ+vNbKZySWIko1SsfPb8l29WERFM1BERABERABERABERABERABERABfN9PFJMyZ8YdJGCGOO\/DnnhEQDWT6IiIA\/HNDmlrgCCMEHtXPRW+kt0ToqSBsTXOLjjtKIu5OYWcnSiIuHQiIgAiIgAiIgAiIgAiIgAiIgD\/2Q==",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:35",
    "ubicacionGPS": "LatLng(lat: -29.9177474, lng: -71.2550965)",
    "horaLlegada": "07:02",
    "horaDespacho": "10:33",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 07/05/2026 10:35:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-INMTFrlusJV2GdL8FHNH-jJHKQq0yIwNXRb4r+zV-kHJJ4CrDxZ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "KY2448",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "200659",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza cambio de rodillo de bandeja 1\nretard rolles\n01 rgom2356",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12491",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACkALADASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAIDAQf\/xABCEAABAwMCAgcFBAYKAwEAAAABAAIDBAURBiESMRMiQVFhcZEUMoGhsRUjwdEkQkPC4fAHFjM0YnJ0ktLxJTdSY\/\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC8RAAICAQIEAwcEAwAAAAAAAAABAgMRITEEEkFRYXHREyIygZGxwSMzofBCUuH\/2gAMAwEAAhEDEQA\/AP7MiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgCQglvmoKqrkpLi2kgglMbWtGc\/Hyx2r7TP1XaGOkLobjAwAu26wHbtsfr2eK9aIHDR1zD7zao5HwCp1aUsSxgwU1OytT5mm\/H8HFarrTXekFRTk88OaebSu1S1rY2i11cKaJobFLCJOEdh6p\/F3qqlTkknoaaJucfe3Tx9AiIlLBERABERABS1x1LXtu1TT22nZPBRM4pyRknB6wBz44+BK3LxcGWu1z1bubG4aM4JcdgFnaStnsVnE0ozPWfeSF3PHYPTf4lUjhLmZlucpzVcHjq\/wAGnbLhHdLfFWRAtbIN2nm0jYj1XWpjSBNJU3O0ud\/d5y5gPMjln5D1VOlmsPBSibnWpPcIiJSwWde7uyy0TaqSF8rXSBmGnGMgnPyWipjXpIscODzqW5\/2uTQWZJMhxE3CqUo7opmkOaHDcEZC\/VnafqParBRS\/wD5Bp829U\/RaK41h4KwlzRUu4REXBiY0oBDd73T4wW1GR5Zd\/BU6mLZ+j66ucHuiWISADkT1T+JVOns3yZuF0r5ezf3JgHi\/pEdjfhpt\/Db+KpsgYyefJRNbdmWjWtwqHRPne6BscbB\/wDRDMfQrQt9nuF0r47tepHxGN4fDSt2DcbjPd9U8o6JvsQptxKUIrL5n8inREUT0AiIgAiL8c4NaXOIAAySexAEvqT\/AMrfLfZWguYHdNPg8h\/1n1CqGtDWhrQAAMADsUvpaP7RudwvsrD96\/o4Sexvb8uEeqqVSemI9jLw\/vc1j\/yf8LYmP7j\/AEg5weGtp+wbZ\/lnzVOpi\/8AU1XZX88uLcfEfmqdcnsmdo0lOPj99QiIkNIUvrsOkt1JA09aSoGB44I\/FVCmNY9ae0xcuOp5924\/NPX8SM3F\/sy\/vU+miJnOsj6d+zqeZzMHs7fqSqNTGmv0bUF7pHHcyiRoPPGT+YVOiz4g4V\/pJdtPoERfGqq6eigdPUytijbzc4pDQ2kssnrv+h61tVX+rO0wnxO4\/eC93PUsk1R9m2FntNU7IdKBlsfj3Hz5eawNSXSpvcLaqCjeyhppCGTnOXE\/9Kzs9tobdQxiiYOF7Q4yH3n5HMlXaUUm9zza5SssnGt4i9c9fl9NyZ09b30+sqmGue2pnig6QyHfrngORn\/MRlWymKH\/ANiXL\/TD6RqnSWPLRo4SKjGSXdhERTNYREQAWJq2tNJYpI2by1J6Fje0554Hln1W2pWvxd9bU1GQHQ0DOkePHY\/Xg+aeC1z2M\/Eyahyrd6fU3LLQC2WinpeEB7WZkx2uO5+a7kRK3l5LRioxUV0JjVp6K5WWoGxZUbnwy0\/gqdTGu24tVNNjPR1I+h\/JUwIIyDkFNL4UQr0usXl9j9RESGkKY1d\/frN\/qfxaqdTGsOrU2iQ8m1O\/qPyT1\/EZuL\/Zfy+6PyLNL\/SHMNwKqnyAOWwH\/EqoUtfXtpdX2iqcQ0FpY5xOABv\/AMkrNQVt2qXUGnoy7G0lU4Ya3y\/P0CZxcsPwJQtjU5xe+dF111NK9ahpbO3o\/wC2qn+5AzmfPuWZS2S4X2pbXX9xZC0kx0jdsefd9Vo2bTdLbCKiUmprXbunk3wfDu8+a\/blqi2W5xjMvTzD9nFueffy+CE8aQOyXN797wu3r3PreLfHLp6po4IwxoiPAxowARuBjzC+Ok6v2vTtMScuiBid8OXywuH7c1HVjiorD0bew1DsZ9S1Yltpr0KyrsUMkVC6QdLK3nwg42aRnsI9OaZQ91psnK9K1Tgm1jG2PI29PFtfqS63ON3FESImO7xty\/2j5fCnXHarZBaaFlLANhu93a92Nz8l2KUnl6GuiDhDEt938wiIlLBERAHmSRkUbpJHcLGAuce4BTWjY31Pt13mHXqpSB1s4A3+px8F2aurPZNPT4OHTkRD48\/kCu2y0fsFmpaYjDmRjiH+I7n5kqi0h5mWXv3pf6rPzZ3Ivxzg1pc4gADJJ7FO1uroelNLaad9wqP8DTwj8T\/O6VRb2LWWwrWZM+mtIhJpuVxH9m9jh64\/FddNeqCO30zqitgY98LXFpeM+6CdlgVlov1xt9TV3Wt6NrYnPbSsOxwMgHs7PEr76YsForLPBWTUvSyv4g7jccAgkcs4VMRUdWYlOyV2YRxldfB\/9N+nvNtq5BHBXQPe7k0PGT8F2rFqdJWeeF7GUohe4YD43EY+GcLOt1znsFxfabvO51Pgup6mTu7if5wdkvKn8Jf2s4NK1LD6r8lWpPXVTDHBRtbIwzxzB\/BxdYDB3x5r1Nf7le5XUtggLYwcPq5NgPLu+Z8FIXE00T5aeMvqJhJl9U9xy7GQQB3Zxz32VK63nLMnF8UnW4x2fX07mrfH3K5GluFzpxT0rpBHHENnYO5PoO30V3S0lJbKPoYGMhhjGTvjzJP4rG1cxtZpU1A34CyVuPHb6OWdJc6rVUkFsoS+Km6NrqyXHqPXbx8lx5nFdENFqi2WdZNLHdn3qa6s1TWPt9uc6CgjOJqncF3gPy9VsWvT1utLQYIQ+UftZN3fw+C7aOjp6CmbTUsYjjZyA+p7191Ny6LY110YfPZrL7eQUvdx9n6yttcNmVI6F\/ieW\/8AuHoqhTOuWltrpqlm0kNQ0tPaNj+ICK\/iwc4r9rm7Yf0KZF5a4PYHDkRlekhpCIiACIiAJbUY+0NR2q15BaHGWQeHP6NPqt253WktNN09XJwg+6wbuee4BR098bTatrqpkLqmZrTBTsYNuIYG\/aeR9VsWzTs9VVC535\/TVBOWwHdjB2ZHL4fVXlFJLOx5tdspSn7NZbfySWhzCG7atLZJyaC2HdrGnrSePj58vAqkoLdSWynEFJCI29p7XHvJ7V1IpSk3p0NddKg+Z6y7\/wB2PL2CRjmO5OBBU1od7o6KsoXnr005BHdnb6tKo5po6eF80zwyNgy5zjsAv50+5zG73M2efooqoOkdI4cLgAC447u3HbyTwi5JohxNiqshPz0NK+aquDL26joPcgkDeFoyZCOY9cjCzal8t9pqmruFxayqpwTFSFvDtsTgHw8zsqLRNtjitn2hJGDPO93C9w3DeW3xBWpXaetdxeZKilHGebmOLSfPHPl2p+eMXhIz+wuuhzuW\/Tp4GBNfo3aapaK2Rj2yqj6MxRN9z9Vx25ZPLzysWusraOuqaJruN9NR9I5\/LLtifkcLf0PSU8cVWXxN9rgmLC8jrBuBt6gr3WRsj14yOQEx11KWO9CP3V1S5ZNISVbtrjOfXC8v6zWsb46\/TdIJG8bHQCNwPbjqn6LrorfS26IxUkLYmkkkDxOVh6Jleyiq7fKCJKScgg9gPZ6gqlUZ6SaPR4dqdcZNa4CIvL3sjYXyODGtGS5xwAkNB6U7raKaayxxwxPkc6obs0Zxsd\/5716\/rS2ruDKO1UclZh4Eko2a1udz\/wB4VAnWYNNmeThfCUYs8sbwMa3OeEAZXpESGgIi8uc1jC97g1rRkknAAQB6UxftUOjdLQWkdLUsDjJKN2xADJ8NvkvnXXmrv1S612QERE4mq8HAHh3fj2L3dLfS6d0nUx0zcyytEb5T7zyTvnwxnZVjFJrO5htulOMvZvCW7\/C9Tzoe3RtoHXKRnFUTPcGvdzDR3fHO6qln2Gm9jsVHCRgiIOcO4nc\/MrQSzeZNl+HhyVRQWdd73R2aAPqHZe73Im+87+Hisy56nc+f7PscftdY444wMsZ49x8+S+lo0w2nn9vucprK12+XbtYfDvXVFLWQkrpTfLVr49F6nDDa7nqeVtXdnOpaLOYqZmxcPH8zv3YXPre2RUkFHU0sbImNBgLWtxsQSP3vVWyldcMdUR2+jYevPPho7zsPxTQm3NdiHEURjRJ7vv1N+104pLVS04IPRxNBIOcnG59V1qc0ncnugfaKzqVdF1QHc3NHL05eWFROcGtLnEAAZJPYpyTT1NlM4yrTRM6V4W3i+saCA2p79veemr45aae3XeJpd7LKA9oHMEjH0I+KaK+9iuNWNxNUnB7+395b1xoo7jQTUko6srceR5g+oCo3iwy1wdnDYXi19conrZK2l1rVRtI6K4QiaPf3jjP\/ACVUv5p7bJQz0PtPUqbZP0TxkkujzkY78dYeRC3575cb\/M6ksMbooQcSVbxjHl3fXyXZwbaZPh+JjFNdc6Lz9Hk1LzqSjtP3Q+\/qne7Czc58e76rMZZrrqGRtRe5jT04OWUsex+Pd8z5LTs2m6O0\/en7+qd70z9znw7vqthJzKPwmhVTt1t27evc+FJRU1BAIKWFkUY7Gjn5nt+K+6IpmpJJYQREQdCk62qqdVVxt9vkdFboj9\/OP2ngPy9V26qrp44IbbRn9JrncDSHYLW5GT+HqtGz2yK0W6OljAyBmRw\/Wfjcqi91c3Uy2Ztn7NbLf09T7UVDT26lbTUsYjjb3cye895U\/rLNTLa7aOVRUZPwwP3iqhRmpLnDR6tpZpmueykh4uBvNzznAz3cvmivLlkXiuWNPLstEVtTU09DTunqJGxRMG7jyCl5Ku56smMFDx0dtBIfOecnh\/D1Xqls9w1DUNr724xUwPFFSAkevd9T4KpiijgibFCxscbBhrWjAARpDxYYnfvpH+X6I5bXaaS00whpYwDjrPPvPPeSu1ESN51ZqjFRWFsFx1lrpa+qpqmoDnPpXccWHYAOQfjyC7EQng7KKksMxL1p1txnbXUkxpq6PHDIOTsd64JP641cL6OSCkia8FpnDgDg+ROOfcqpEym0Qlw8ZNtNrO+Opx2q3x2u3RUkfJg3PeTuSvheL9RWaHM7+KUjqQtPWd+Q8Vw3bUb\/AGgW2ytFTWuPCXAZbF357PwC9WfTLKWX265P9rr3niL3btafDPPzXcdZCe0b\/Tp6dei9WZDdOXDUlU65XItomvA4WNZlxHZnu8z6KwpaaOkpmQRMYxrABhjcD0X2RclNyKVUQry1u92EREhcIiIAIiIAmIsVWv5xUcBFNAOhBG+cN7x4k7fmqOeohpozJPKyJgGS57sBZ9009b7vI2WdjmSt\/aRENceXM435LPi0Na2P45ZamY9vG8YPoFRuLxlmOKurclGKeXnOTxVapmrZTR2CmfUzHYzOb1GeP8Tt5rg0pQPn1BXz15FRUUrg0vcc4fkjIz\/lKsKWjp6GAQUsLIox+q0fPxU9onrwXCY+++pOT8M\/iUykuV4Jyrk7oe0ed\/LRFOiIonoBERABEXBdbzR2eDpKqTrEHgjbu5\/kupN6IWUlFZk9DslljgidLM9scbBlznHAAUtVXW4ajnfQ2UdFSjLZap22R4d31PgvMVBc9VytqbkX0lvB4o6dp3f4\/wAT8BuqmmpoKOBsFPE2KNgwGtGAn0h4szZnftpH+X6I5LTZaOz04jp2ZeR15XDrP\/nuWgiJG29WaYxjFcsVoERFwYIiIAIiIAIiIAIiIAKY0f8AdVd4peQiqeXdu4fgqdS1OPszXk0WSI7hFxt5+9z+od6qkdU0ZrtJwl44+pUoiKZpCL8JAGScAKauGo6itqjbdPsE82OvUD3WDvB5fH0ymjFy2JWWxrWWdl91FFasU8DPaK1\/uwt3x54+i5LTpyWWp+1L47p6txy2N2C2Pz7PhyC7LJp2C1ZqJXe0Vr93zO3x3gZ+vNbKZySWIko1SsfPb8l29WERFM1BERABERABERABERABERABERABfN9PFJMyZ8YdJGCGOO\/DnnhEQDWT6IiIA\/HNDmlrgCCMEHtXPRW+kt0ToqSBsTXOLjjtKIu5OYWcnSiIuHQiIgAiIgAiIgAiIgAiIgAiIgD\/2Q==",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:35",
    "ubicacionGPS": "LatLng(lat: -29.9177474, lng: -71.2550965)",
    "horaLlegada": "07:02",
    "horaDespacho": "10:33",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


07/05/2026 10:35:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:91770000

[07/05/2026 10:35:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('91770000', 'KY2448', 1, 20988335, 200659, NOW(), 
				'10:33', '07:02', '10:35', 3, 'se realiza cambio de rodillo de bandeja 1
retard rolles
01 rgom2356', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778164533.png', '', null, 'COMPLETADO','LatLng(lat: -29.9177474, lng: -71.2550965)' )
				
[07/05/2026 10:35:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200213

07/05/2026 10:35:33 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200213'                    
				WHERE idllamado = 12491			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


07/05/2026 10:35:34 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12491			
				
07/05/2026 10:35:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


07/05/2026 10: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 = 12491
                
07/05/2026 10: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 = 12491
                
07/05/2026 10: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 = 12491
                
07/05/2026 10:35:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            
07/05/2026 10: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 = 12491
                
07/05/2026 10: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 = 12491
                
07/05/2026 10: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 = 12491
                
07/05/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 = 12491
                
07/05/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 = 12491
                
07/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            
07/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            [07/05/2026 10:35:37] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 10:35:37] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            [07/05/2026 10:35:37] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            
07/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            
07/05/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 = 12491
                
07/05/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 = 12491
                
07/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            
07/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            [07/05/2026 10:35:39] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12491
            GROUP BY l.idllamado;
            [07/05/2026 10:35:39] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

07/05/2026 11:05:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 11:05:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        [07/05/2026 11:05: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;
                
[07/05/2026 11:05: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;
                
[07/05/2026 11:18: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/05/2026 11:18:04] 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;
                
[07/05/2026 11:18:07] 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;
                
[07/05/2026 11:21:08] 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;
                
[07/05/2026 11:21: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/05/2026 11:21:11] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

07/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            [07/05/2026 11:23:34] 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;
                
[07/05/2026 11:24:15] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 11:24:47] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 11:31:17] 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;
                
[07/05/2026 11:31:17] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/05/2026 11:31:20] 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;
                
[07/05/2026 11:31: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;
                

07/05/2026 11:31:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
07/05/2026 11:31:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            [07/05/2026 11:31:26] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 11:31:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
07/05/2026 11: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 = 12480
                
07/05/2026 11: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 = 12480
                
07/05/2026 11: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 = 12480
                
07/05/2026 11:31:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
07/05/2026 11: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 = 12480
                
07/05/2026 11: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 = 12480
                
07/05/2026 11:31:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
07/05/2026 11: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 = 12480
                
07/05/2026 11: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 = 12480
                
07/05/2026 11: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 = 12480
                
07/05/2026 11:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
07/05/2026 11:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:31:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:31:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:31:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
07/05/2026 11:31:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:31:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:31:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
07/05/2026 11:31:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
07/05/2026 11:31:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:31:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11: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 = 12480
                
07/05/2026 11: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 = 12480
                
07/05/2026 11:32:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
07/05/2026 11:32:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
07/05/2026 11: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 = 12480
                
07/05/2026 11: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 = 12480
                
07/05/2026 11:32:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:32:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:32:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
07/05/2026 11:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11: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 = 12480
                
07/05/2026 11: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 = 12480
                
07/05/2026 11: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 = 12480
                
07/05/2026 11: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 = 12480
                
07/05/2026 11:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:35:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
07/05/2026 11:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:35:52 - logentry: =========================================
FECHA: 07/05/2026 11:35:52
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-d1iVhYvBwh7qM+nUky-g5EfeGyE5y3.Q8fdcbehEc9x4jTnVv+9
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79783050",
    "serieinterna": "TO2783",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega de toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12480",
    "observacion": "se entrega toner en recepción",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACDAPkDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAIDAQf\/xAA6EAABAwMCAgcECAYDAAAAAAABAAIDBAURBiESMRMiQVFhgaEUcZHBBxUjMrHR4fAWM0JSgsJHYoT\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAgECAwcCBgMAAAAAAAAAAQIDESExBBJhEzJBUXGhwSKxFDNCkeHwUnKB\/9oADAMBAAIRAxEAPwD+zIsK9aglt1W2kpKQ1U3B0jmjOzd88uWw9Qv2k1XQV1TS09M2R8lQSC3G8eM7nw2UuSWMlH4ivm5W9TcREUS8Iix9R3oWmh4YsPq5urFH2+\/H73XUm3hEJzjCLlLY+dqvk1xv1dRhsRpqYdR7QeInONzn39i3FGaJpZaa63Bkm5jaGPcDkcWdx6FWalYkpYRTws5Tr5pb5f3CIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAmIjx\/SFMD\/RTgj4D8yst9BVVera51odHSPpBxNwB1jjceZJ5rUpMyfSHWkco6cAnyZ+fomjgJp7rWcJzNUnrY8Sf9lozhZ6I8rlVklB\/wCUvY\/ItV1NveYL7b5YHA4E0bctd++8HyWjHqmySRCT29jdvuuBBHlhazmhzS1wBBGCD2rPk0\/aJXl77dBk88Mx+CrzB7o2cl8dIyT9f4Miu1TJXP8AYbBE+ed+xmLcNYO8Z\/E7e9dln03HQTmuq5jVVzyS6QnYZ7h8\/wAFrwU0FMzgghZE3bZjQPBfC7VBpLTV1AdwujhcWnfnjbl44Tm8InOyw+0teWv2Ri6MPSsuNQMOEtScOAxn959VTLD0fTez6cgOBxTF0hx4nA9AFuLk+8yXDJqmOf7kIvEUsc0bZIpGyMcMtc05B817UDQEREAREQBERAEXlzmsYXvcGtaMkk4AC8U9TBVxCanlbLGTgOacgocys4PqiLxLLHDE6WV4Yxgy5zjgAIdPaL4UtbTVrXOppmShhw7hPI4yvuhxNNZQREQ6ERYN01C+26hpLe6OPoJ2tLnnPE3LiPkF1JvYrssjWsyN5ERcLAiIgCIiAj4qj2DUGoZt8sh4wR2HbHqVp6OpvZtOwuIw6ZzpD8cD0AUteZWx198YSAZpGMBI\/wC3F\/qr23Qey22mpyMGKJrTnvACvs0j\/fI83hfqtfTPu\/4OlERUHpBYWsZ5YNOy9G1pEjmseSeTT3enxW6pPXde1tJBbWbyzPDyO5o2HxP4FTrWZIzcVLlpkzcsTBHYaFoIP2DTse0jJXq91IpLNVzdII3CJwa4nk4jA9V000IpqWKBpyImBgPfgYUtrZ0081JQteWxyNe\/A\/qcBtn0+K7Fc0xbJ1UdcY+DjsEl9qLVHSWmOOngaT0lTIObicnGc9m2wWjPYLpFSzVVRfp3vhiLmtaDjIHbkru0hMyXTdMGnJj4mO8Dkn8CF8tV3uKgoJKJnXqalhYGg7tB2ypuTc8JGWNdcaFObb08ydpdWXEupMySNpqVrRVO4Q8yDi3JJHaMBf0BrmvYHtOWuGQe8LGsFhioLJ7PUR\/bVLcz4O\/gM+APxyuBlsvWnHO+q3Ctoic9BIeuDy\/eO5clyyeFoTp7amKdmWn7FUpir1e2i1DLRSsBpYhguawl5fjlzxz25L8fqS8VMboKWw1ENQ7YOkzhnju0LQsVhhtlGBPGyWqkPFLIetv4Eriio94slZK1pVPHm8exw\/xbPXEstFqnqD2OfsB78eXb3r8F0vtuqIJrvHCKad\/AWRjJj8SRkd55qmAAGAMALnr6CC40rqapbxMd3cx7lzmj5EnVbjPPr+yOggEYIyCpvRBLbfV05P8AKqXYGc4GBt6Fb9JSx0VJFSxFxZE0NbxHJwp7R\/Uq7xD\/AGVPI8+bh8kXdYnnta2+v2KdTGpHvu10pbBDlrXHpJ38P3RzHoD8QqV72RsL5HBjWjJc44AUm+3Xv65qa+2uicytLeGpdw9WPnt4YAHft5pXvkcU24qKWcvXHkerhANL3mmrqMdHQ1BEdREM8Ldx1v33eK7bhq2ip3iCha6vqXbNZDuM+8c\/LKwtRaefQ2o1tXcp6uo42tHGerv78nvVbabbR0FHEaemZE90Y43AdY7dp5qcuXCb1M9fa88oR+lb+ePTwMOWp1bURSVgZT0METTJ0b93OAGcdp\/BbdjuLrraoqtzeFzsg7Y3BwuyaMTQSROGQ9pafMLC0W54sz4JMB8E7mluCMcj3eJUG045wXxjKu1Jybynv5lCvhPR0tU5rqinjlLCC0vaDgjkvrJIyJhfI4Na0Ekk8gN0a5r2hzHBzTyIOQVWanh6M9Lmr7hS22nNRVyiOMHHIkk+AC6VH62qHw3C2cDGSubxObG8AgnIAyO1ThHmlgp4i11VuSKaguNLc6fp6WTjZnGcY9F1LI01anWu2Ylbwzzu6SVoxhpPYMdy11GWE9CdTk4Jz3CIi4WEpWaUnqtUivLo\/ZHSNkcM9bYDI8yPVVaIpOTeMlVdMa23Hx1CIiiWhQuoLXMzU1HUT1IkNbUtbG0NxwNBaMeo9VdKY1EOl1RZIv7ZOPflzB+SsreJGTjIqVevmvuU6xtSWeS60bDSu4KqF3FG7i4fVbKKCbTyjROCnFxZ\/PbXc7tY4Kq3NpI45A7pMzO4RHkY7eY27\/ivtpS0TXS4m71xL2xvyOMfzH45+WxVXXWG3XGpbUVVOHyNGCc44h3H4ruiijgibFEwMYwYDR2K12LGi1Zhr4OSkud5jHZHtERUnohERAEREAUxpvq6jvrQdjNkjx4nfmVTqYsf2OsbxDn72H+uf9lOOzM135lb6\/DKGrpo6ylkp5QCyRuDkZ81PWG7fVhfZrvI2CaB2InO2a5m2N\/36KnXLW2yiuLeGrpmS45EjBG+cZG65FrGGTsrk5KcHqvcnLvUxaivdJaaUmaCB\/S1D2EFuPDs2zjzVauWhttJbo+ClhDNgCeZIHLddSSaeiFVcotyluwpJk38L6iqzPG\/2Gu+0a9uXcJG59Sdvcq1eJYYp2GOaNkjDza9oISMsbi2tzw4vDRKTmr1e6VsIfT0MIJjcSQJnYGAR3c\/dld2j69s9kigkeBNE5zOFx6zgN84Pv8ARbzWtY0NY0NaOQAwAsS26Wprfd5LgJC52T0TAMBmf02U+ZOLRQqZwsU1q3ubqldWxx0Vwtl26MfZTYlcBu4bEegcqpctyt8NzoZKWbIa\/kRzB71CDw8l99bsraW50ggjIOQV4mmip4nTTSNjjaMuc44AU0yn1bQRNo6d1LURMHCyZx3A7M5PZ5+a+sOm6yueJb9XGpxu2GMkNacj3d3cpcqW7K+2nLSMHnrsc8tWdT3unjoBIymoX8bqkOLc8uQx8M+PJVi+NLSU9FA2CmibFG3k1oX2UZPOxZVW45cnlvcIiKJcEREAUxXjp9fW6M\/digLseOHfoqdTDMv+kSTG3R02\/jsPzU4ePoZuI2iuqKdERQNIREQBERAEREAREQBTFs6uvLo07EwggeHU\/NU6maPDfpDr8k5fTDG3hH+RU4bP0M1+8H1+GUyIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKYtB6fW93n\/ALGCPb\/Ec\/8AFU6mNL9a\/wB\/cdyKjAPhxP8AyU47MzXa2Vrr8Mp0RFA0hERAEREAREQBERAFMA8P0huxtxUu\/jt+ip1Mf8if+b5KcPH0M3Efo\/2RToiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIApnSLjLV3icknjqds+9x+apXENaXHYAZKmtCgutNRO770tS4k9+w+ZKnHuszWfnQXqUyIigaQiIgCIiAIiIAiIgCmKL7X6Qa93ZHTgZ8cM\/VU6nLdTzDW9znET2wGJreIt2LsM5HyKnDZ+hmvWXD1+GUaIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiA569zWW6pe44a2JxJ7hgrI0U0t05ESD1nvI+OPkuzUkoh09WuLuEGPh+Jxj1TTcXQ6eomYx9nxe\/JznzzlT\/R\/0zPXiF0X3ZpoiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID5z08NVC6GeNssbsZY4ZB7V6a1rGBjGhrWjAAGAAiIcws5PSIiHQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/\/2Q==",
    "razonSocial": "SOCIEDAD EDUCACIONAL MAGISTER LTDA.",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MARJORIE GONZALEZ",
    "correoContacto": "mgonzalezz@hssanesteban.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:35",
    "ubicacionGPS": "LatLng(lat: -23.6542418, lng: -70.3970745)",
    "horaLlegada": "08:31",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 07/05/2026 11:35:52
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-d1iVhYvBwh7qM+nUky-g5EfeGyE5y3.Q8fdcbehEc9x4jTnVv+9
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79783050",
    "serieinterna": "TO2783",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega de toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12480",
    "observacion": "se entrega toner en recepción",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACDAPkDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAIDAQf\/xAA6EAABAwMCAgcECAYDAAAAAAABAAIDBAURBiESMRMiQVFhgaEUcZHBBxUjMrHR4fAWM0JSgsJHYoT\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAgECAwcCBgMAAAAAAAAAAQIDESExBBJhEzJBUXGhwSKxFDNCkeHwUnKB\/9oADAMBAAIRAxEAPwD+zIsK9aglt1W2kpKQ1U3B0jmjOzd88uWw9Qv2k1XQV1TS09M2R8lQSC3G8eM7nw2UuSWMlH4ivm5W9TcREUS8Iix9R3oWmh4YsPq5urFH2+\/H73XUm3hEJzjCLlLY+dqvk1xv1dRhsRpqYdR7QeInONzn39i3FGaJpZaa63Bkm5jaGPcDkcWdx6FWalYkpYRTws5Tr5pb5f3CIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAmIjx\/SFMD\/RTgj4D8yst9BVVera51odHSPpBxNwB1jjceZJ5rUpMyfSHWkco6cAnyZ+fomjgJp7rWcJzNUnrY8Sf9lozhZ6I8rlVklB\/wCUvY\/ItV1NveYL7b5YHA4E0bctd++8HyWjHqmySRCT29jdvuuBBHlhazmhzS1wBBGCD2rPk0\/aJXl77dBk88Mx+CrzB7o2cl8dIyT9f4Miu1TJXP8AYbBE+ed+xmLcNYO8Z\/E7e9dln03HQTmuq5jVVzyS6QnYZ7h8\/wAFrwU0FMzgghZE3bZjQPBfC7VBpLTV1AdwujhcWnfnjbl44Tm8InOyw+0teWv2Ri6MPSsuNQMOEtScOAxn959VTLD0fTez6cgOBxTF0hx4nA9AFuLk+8yXDJqmOf7kIvEUsc0bZIpGyMcMtc05B817UDQEREAREQBERAEXlzmsYXvcGtaMkk4AC8U9TBVxCanlbLGTgOacgocys4PqiLxLLHDE6WV4Yxgy5zjgAIdPaL4UtbTVrXOppmShhw7hPI4yvuhxNNZQREQ6ERYN01C+26hpLe6OPoJ2tLnnPE3LiPkF1JvYrssjWsyN5ERcLAiIgCIiAj4qj2DUGoZt8sh4wR2HbHqVp6OpvZtOwuIw6ZzpD8cD0AUteZWx198YSAZpGMBI\/wC3F\/qr23Qey22mpyMGKJrTnvACvs0j\/fI83hfqtfTPu\/4OlERUHpBYWsZ5YNOy9G1pEjmseSeTT3enxW6pPXde1tJBbWbyzPDyO5o2HxP4FTrWZIzcVLlpkzcsTBHYaFoIP2DTse0jJXq91IpLNVzdII3CJwa4nk4jA9V000IpqWKBpyImBgPfgYUtrZ0081JQteWxyNe\/A\/qcBtn0+K7Fc0xbJ1UdcY+DjsEl9qLVHSWmOOngaT0lTIObicnGc9m2wWjPYLpFSzVVRfp3vhiLmtaDjIHbkru0hMyXTdMGnJj4mO8Dkn8CF8tV3uKgoJKJnXqalhYGg7tB2ypuTc8JGWNdcaFObb08ydpdWXEupMySNpqVrRVO4Q8yDi3JJHaMBf0BrmvYHtOWuGQe8LGsFhioLJ7PUR\/bVLcz4O\/gM+APxyuBlsvWnHO+q3Ctoic9BIeuDy\/eO5clyyeFoTp7amKdmWn7FUpir1e2i1DLRSsBpYhguawl5fjlzxz25L8fqS8VMboKWw1ENQ7YOkzhnju0LQsVhhtlGBPGyWqkPFLIetv4Eriio94slZK1pVPHm8exw\/xbPXEstFqnqD2OfsB78eXb3r8F0vtuqIJrvHCKad\/AWRjJj8SRkd55qmAAGAMALnr6CC40rqapbxMd3cx7lzmj5EnVbjPPr+yOggEYIyCpvRBLbfV05P8AKqXYGc4GBt6Fb9JSx0VJFSxFxZE0NbxHJwp7R\/Uq7xD\/AGVPI8+bh8kXdYnnta2+v2KdTGpHvu10pbBDlrXHpJ38P3RzHoD8QqV72RsL5HBjWjJc44AUm+3Xv65qa+2uicytLeGpdw9WPnt4YAHft5pXvkcU24qKWcvXHkerhANL3mmrqMdHQ1BEdREM8Ldx1v33eK7bhq2ip3iCha6vqXbNZDuM+8c\/LKwtRaefQ2o1tXcp6uo42tHGerv78nvVbabbR0FHEaemZE90Y43AdY7dp5qcuXCb1M9fa88oR+lb+ePTwMOWp1bURSVgZT0METTJ0b93OAGcdp\/BbdjuLrraoqtzeFzsg7Y3BwuyaMTQSROGQ9pafMLC0W54sz4JMB8E7mluCMcj3eJUG045wXxjKu1Jybynv5lCvhPR0tU5rqinjlLCC0vaDgjkvrJIyJhfI4Na0Ekk8gN0a5r2hzHBzTyIOQVWanh6M9Lmr7hS22nNRVyiOMHHIkk+AC6VH62qHw3C2cDGSubxObG8AgnIAyO1ThHmlgp4i11VuSKaguNLc6fp6WTjZnGcY9F1LI01anWu2Ylbwzzu6SVoxhpPYMdy11GWE9CdTk4Jz3CIi4WEpWaUnqtUivLo\/ZHSNkcM9bYDI8yPVVaIpOTeMlVdMa23Hx1CIiiWhQuoLXMzU1HUT1IkNbUtbG0NxwNBaMeo9VdKY1EOl1RZIv7ZOPflzB+SsreJGTjIqVevmvuU6xtSWeS60bDSu4KqF3FG7i4fVbKKCbTyjROCnFxZ\/PbXc7tY4Kq3NpI45A7pMzO4RHkY7eY27\/ivtpS0TXS4m71xL2xvyOMfzH45+WxVXXWG3XGpbUVVOHyNGCc44h3H4ruiijgibFEwMYwYDR2K12LGi1Zhr4OSkud5jHZHtERUnohERAEREAUxpvq6jvrQdjNkjx4nfmVTqYsf2OsbxDn72H+uf9lOOzM135lb6\/DKGrpo6ylkp5QCyRuDkZ81PWG7fVhfZrvI2CaB2InO2a5m2N\/36KnXLW2yiuLeGrpmS45EjBG+cZG65FrGGTsrk5KcHqvcnLvUxaivdJaaUmaCB\/S1D2EFuPDs2zjzVauWhttJbo+ClhDNgCeZIHLddSSaeiFVcotyluwpJk38L6iqzPG\/2Gu+0a9uXcJG59Sdvcq1eJYYp2GOaNkjDza9oISMsbi2tzw4vDRKTmr1e6VsIfT0MIJjcSQJnYGAR3c\/dld2j69s9kigkeBNE5zOFx6zgN84Pv8ARbzWtY0NY0NaOQAwAsS26Wprfd5LgJC52T0TAMBmf02U+ZOLRQqZwsU1q3ubqldWxx0Vwtl26MfZTYlcBu4bEegcqpctyt8NzoZKWbIa\/kRzB71CDw8l99bsraW50ggjIOQV4mmip4nTTSNjjaMuc44AU0yn1bQRNo6d1LURMHCyZx3A7M5PZ5+a+sOm6yueJb9XGpxu2GMkNacj3d3cpcqW7K+2nLSMHnrsc8tWdT3unjoBIymoX8bqkOLc8uQx8M+PJVi+NLSU9FA2CmibFG3k1oX2UZPOxZVW45cnlvcIiKJcEREAUxXjp9fW6M\/digLseOHfoqdTDMv+kSTG3R02\/jsPzU4ePoZuI2iuqKdERQNIREQBERAEREAREQBTFs6uvLo07EwggeHU\/NU6maPDfpDr8k5fTDG3hH+RU4bP0M1+8H1+GUyIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKYtB6fW93n\/ALGCPb\/Ec\/8AFU6mNL9a\/wB\/cdyKjAPhxP8AyU47MzXa2Vrr8Mp0RFA0hERAEREAREQBERAFMA8P0huxtxUu\/jt+ip1Mf8if+b5KcPH0M3Efo\/2RToiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIApnSLjLV3icknjqds+9x+apXENaXHYAZKmtCgutNRO770tS4k9+w+ZKnHuszWfnQXqUyIigaQiIgCIiAIiIAiIgCmKL7X6Qa93ZHTgZ8cM\/VU6nLdTzDW9znET2wGJreIt2LsM5HyKnDZ+hmvWXD1+GUaIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiA569zWW6pe44a2JxJ7hgrI0U0t05ESD1nvI+OPkuzUkoh09WuLuEGPh+Jxj1TTcXQ6eomYx9nxe\/JznzzlT\/R\/0zPXiF0X3ZpoiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID5z08NVC6GeNssbsZY4ZB7V6a1rGBjGhrWjAAGAAiIcws5PSIiHQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/\/2Q==",
    "razonSocial": "SOCIEDAD EDUCACIONAL MAGISTER LTDA.",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MARJORIE GONZALEZ",
    "correoContacto": "mgonzalezz@hssanesteban.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:35",
    "ubicacionGPS": "LatLng(lat: -23.6542418, lng: -70.3970745)",
    "horaLlegada": "08:31",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


07/05/2026 11:35:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:79783050

[07/05/2026 11:35: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('79783050', 'TO2783', 1, 7373114, 0, NOW(), 
				'08:00', '08:31', '11:35', 10, 'entrega de toner', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778168152.png', 'se entrega toner en recepción', null, 'COMPLETADO','LatLng(lat: -23.6542418, lng: -70.3970745)' )
				
[07/05/2026 11:35:52] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200214

07/05/2026 11:35:52 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200214'                    
				WHERE idllamado = 12480			
				TO ENVIO: micorreo@miempresa.cl, mgonzalezz@hssanesteban.cl


07/05/2026 11:35:52 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12480			
				
07/05/2026 11:35:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


07/05/2026 11:35:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:35:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:35:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
07/05/2026 11:35:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:35:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:35:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:35:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:35:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:35:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:36:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            [07/05/2026 11:36:01] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 11:36:01] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 11:36:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12480
            GROUP BY l.idllamado;
            
07/05/2026 11:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:36:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:36:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12480
                
07/05/2026 11:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
07/05/2026 11:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [07/05/2026 11:36:16] 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;
                

07/05/2026 11:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
07/05/2026 11:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [07/05/2026 11:36:16] 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;
                

07/05/2026 11:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
07/05/2026 11: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 = 12457
                
07/05/2026 11: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 = 12457
                
07/05/2026 11:40:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [07/05/2026 11:40:22] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

07/05/2026 11:40:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
07/05/2026 11:40:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
07/05/2026 11: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 = 12457
                
07/05/2026 11: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 = 12457
                [07/05/2026 11:40:27] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
07/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
07/05/2026 11:40:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                [07/05/2026 11:40:27] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [07/05/2026 11:40:27] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 11:40:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
07/05/2026 11:40:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
07/05/2026 11:40:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
07/05/2026 11:40:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [07/05/2026 11: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;
                
[07/05/2026 11: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;
                

07/05/2026 11:40:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
07/05/2026 11:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                [07/05/2026 11: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;
                

07/05/2026 11:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
07/05/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 = 12455
                
07/05/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 = 12455
                [07/05/2026 11:40:31] 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;
                

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

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

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

07/05/2026 11: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 = 12457
                
07/05/2026 11: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 = 12457
                
07/05/2026 11: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 = 12457
                
07/05/2026 11: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 = 12457
                [07/05/2026 12:05:44] 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;
                
[07/05/2026 12:05: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/05/2026 12:05:46] 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;
                
[07/05/2026 12:05:52] 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;
                

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

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

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

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

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

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

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

07/05/2026 12:06:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            [07/05/2026 12:06:55] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 12:06:57] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 12:11:36] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[07/05/2026 12:11:36] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/05/2026 12:11: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/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            [07/05/2026 12:11:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 12:12: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;
                
[07/05/2026 12:12: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/05/2026 12:12:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12486
            GROUP BY l.idllamado;
            [07/05/2026 12:12: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;
                

07/05/2026 12:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            [07/05/2026 12:12: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;
                
[07/05/2026 12:12:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 12:12: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/05/2026 12:12: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;
                

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

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

07/05/2026 12:12:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            [07/05/2026 12:12: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/05/2026 12:12: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/05/2026 12:36:55] 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/05/2026 12:36: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/05/2026 12:36: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;
                
[07/05/2026 12:53: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;
                
[07/05/2026 12:53:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 12:53:19] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

07/05/2026 12:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [07/05/2026 12:53:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 12:53:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 12:53:23] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[07/05/2026 12:53:23] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

07/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12485
            GROUP BY l.idllamado;
            [07/05/2026 13:10: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/05/2026 13:10: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/05/2026 13:11: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;
                
[07/05/2026 13:11: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;
                
[07/05/2026 13:11:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 13:11:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 13:11:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            [07/05/2026 13:11:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 13:11:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 13:11:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            
07/05/2026 13:11:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            
07/05/2026 13:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            
07/05/2026 13:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            
07/05/2026 13:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            
07/05/2026 13:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            
07/05/2026 13:11:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            
07/05/2026 13:11:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            
07/05/2026 13:11:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            
07/05/2026 13:11:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:11:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                [07/05/2026 13:26:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            
07/05/2026 13:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            
07/05/2026 13:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13: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 = 12364
                
07/05/2026 13: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 = 12364
                
07/05/2026 13:26:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            
07/05/2026 13:26:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:26:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:26:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            
07/05/2026 13:26:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:26:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:26:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:26:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            
07/05/2026 13:26:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:26:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:26:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12364
                
07/05/2026 13:27:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            
07/05/2026 13: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 = 12364
                
07/05/2026 13: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 = 12364
                
07/05/2026 13:27:02 - logentry: =========================================
FECHA: 07/05/2026 13:27:02
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ufnhcRDB0KJhA_LNBjVpXquiXcNimi0jfY9EoQkIyFDTYTowc58
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76145047",
    "serieinterna": "TO2943",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "681417",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se hace limpieza de scanner, ADF, fusor, unidad de imagen, bandejas\n•Se reemplazan gomas de alimentación de bandejas 1 y 2",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12364",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADwANoDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABJEAABAwMCAgcFAwgHCAIDAAABAAIDBAURBiESMRNBUWFxgZEUIqGxwSMy0QcVM0JSkuHwJDVyc4LC0hYlNDdDYnSyovE2ROL\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMEAQX\/xAA3EQACAQIEAggFAwIHAAAAAAAAAQIDERIhMVEEQRMiMmFxkbHBgaHR4fAjM0IUciQ0Q1JiwvH\/2gAMAwEAAhEDEQA\/AP7MiL8SyshifLI4NYxpc5x6gOZQBy3O70VphElXLw5+60DLneAXBRautdZUNgLpIHvOI+lbgOzy3XDY6L8\/Vs98uEYfE9xZTwvGQGg7HsONx45WtfbJBeKB0XAxs7R9lJwjLSOrPYq2inZmNTrTWOFrcluaiLD0vdZa2kfSVY4KyjPRyA8yBsD+K3FNqzsaac1UipILEvl4qKCvt9HRsY+Wpkw4PaSOHl9c+S21LUgFz13VVBwWUEfRs3\/W5eHMuTQSzbJV5NJRjq3\/AOlSiIkNAREQAREQAREQBk6kqLhR2l1Vb3hr4XB0gLQ7LOvmu6grY7jQw1cP3JW8WOw9Y8jkL2exskbo3tDmuBDgesKa04\/803assMrjgO6WnJPNpA29MehTpXj4GeUnCqm3k8vj9ynRESGgIiIAIiIAIiIAIiIAKb1hVzPgp7RS7z1rwD\/Zz+OPIFUilqJoumuqqqPvR0DOjbz2dy\/1J4a32M3EtuKgv5O3w5\/IoqOljoqOKliHuRNDQvdESGhJJWRK3l35i1PS3doxBVDoqjA8N\/TB\/wAJVSCCMg5BWffbeLnZ6im4eJ\/CXR\/2xuPw81z6VuH5wsUBcQZIR0TwO7l8MKjzinsZofp1nDk817\/U15HtijdI77rAXHwCm9ERl1uqa14HSVM5JI7B\/Ela99m6CxVsg59A4DxIx9Vy6ThEGm6QbZeC8kdeSfphCygzss+Iitk37GyiIpmkIiIAIiIAIiIAKZ1dTSwOpL1TDEtG8B5A3LCflnP7ypl41VOyrpJqaT7krCw+BGE0XZ3JVqfSQcT7TVEdXSxVMWeCVge3PPBGV6qa0bUvZT1NqnJ6ajlIAP7JP459VSokrOwUanSQUgiIlKhERABERABERAH4mlbBC+V\/3Y2lx8Ap3RMLjbqmukxx1U5ccDqH8SV3apqfZtOVbgd3tEY358Rwfhle1gpvZLFRQ4wREHEY5E7n4lUWUPEzPrcQlsr+ZoovKpqIqSllqZncMcTS5x7gphrr\/qJzpqWqFDQ5PRObkOf1ePnt3JYxvmPUqqDSSu9isUrZnG06trrWTww1OZoW42zz28sj\/CtHTN2mulDIKoYqaeQxyDYZ78dXWPJcGrQaGutt3aSBDLwSYzu3Of8AV6p4qzcWQqzUoRrR5P5aM7dXv4NM1WObuBv\/AMgu2yR9FY6FmMYgYT4kAlZmtnD\/AGcdh2zpGdfNbVE3hoaduMYiaMdmy4+wikc+IfgvVnuiIpmkIiIAIiIAIiIAIiIAlbkRZdY01wL+Gnrh0cvYCAB\/pPqqpY2q6EV1gnw0F8I6Vu2eXP4ZXVY67842amqicuczDs\/tDY\/JUlnFMy0+pVlDk817neiIpmoIiIAIiIAIiIAmtcPcbVBTM+\/PUNAz2YP1wqONjYo2xt+6wBo8AprUgNRqKyUoGwlMju8ZH4FU6eXZRmpZ1pvwXy+5MarnlrKqjsVPnNU4Olx+wD\/AnyVHBBHTQMghYGRsGGtAxgKa04Ddb7X3p5JY13RQju8fDHqqldnlaJyh13Krvp4Il7T\/AETW91pQSGTMEuOonY5\/+RWnqakFZp+rYRlzGdI3bJBbv8sjzWbL9j+USHG3TU2\/fsf9KpnNDmlp3BGCiTs0xaMVKE4Pdr88yLulSa38n9LLxbscxju\/hy1WFK7jpIXYxxRtOPJQBJp9O3q1nnS1LXDfqLg36D1VzaiHWijcNwadhH7oTVFZfEnwsnKeey+TaOtERRPQCIiACIiACIiACIiAPjmhzS07gjBUxpJxoq65Wd2cQSl8ec8uX+n1VQpa5H8263oavBEdWzonnPM8vq1UhmmjLX6so1Nnb4PIqURFM1BERABERABERAExcvf1\/a2csQF2fJ\/4LWv9V7HYqyfOCIi1p7C73R8SsmpPF+USkzvw0xx3bO\/FfdayOlpqK3MOH1dQByzsNvm4K1ruKMGPDTqyW79Eju0pSCk07TDHvSjpXbftbj4YWwvzGxsUbY2\/dYA0eAX6Um7u5spwwQUdiYrv+Ylt\/wDGPykVOpiu\/wCYlt\/8Y\/KRU6efLwI8PrP+72R\/P9Ws9ivdWM8LK6naT17hwPzZ8VY2J4fYaAjqp2D0ACnfygwZgoqgfqucw79oBHyK1tISiTTVL2s4mn94\/RPLOmmZqKw8XOPd+eptoiKB6QREQAREQAREQAREQAU5raBzrTHWRnElJM14PcdvnhUa4rvTe2Wirp8ZL4ncPjjI+OE0HaSZGvDHTlHuPekqG1dHDUs+7KwPHmMr2WHo+q9p07ACcuhLozv2HI+BC3ESVm0NSnjgpboIiJSgREQAREQBMVeGflDoesyUx8tn\/gvlwJq9eW+BpPDTxF7u47n\/AEr7dPd15a3DYmEgnu9\/8V8tWZ9dXSZ3\/TjDAP3R9Pir8r9x5rzk47z9rlQiIoHpExXf8xLb\/wCMflIqdTFX7\/5RKLq6OmPns\/8AFU6pPl4Gbh9Z\/wB3sjA1pT9Pp2V45wvbJ8cfVcWgKoPt9TSnnFIHjwcP\/wCfiqK50\/tdrqqfh4jJE5oHfjb4qG0LU9Fe3wHOJ4iMd43+WU8c6bRmrdTi4S3yP6GiIoHpBERABERABERABEXwkAZJwAgD6i8xUQOk6Ns0ZfnHCHDPovRAXuS+lz7HeLtbOQZL0jB3Z\/Dh61UKWrf9368pKjkyti4HHtPL6NW\/ca+G20MtXMfdjGQM4Lj1AKk1dp7mTh2oQlF\/xb8tTqRSx1NeTF7UywPNMQHNPESS3t5dnctq03ilvEDpKcua5hw+N+A5p7\/j6Ljg0rlIV6c3hTzO9ERIXCIiAJi++5q+zScuIlue3fl8U0rh93vk3W6oxv1bu\/nyXzVREN6slSTs2fDs9mW\/xX3SH\/HXn\/yfq5X\/ANP83PNX+at3\/wDUp0RFA9ImPvflE7eCm\/d2\/j8VTqYovtfyg17uqOnAz34Z\/FU6efLwM3D6Sf8AyYX8wjc2zat4nOwyCqIJP7BJGfQr+nqB1RRE6jqWAYNTTdKzfAy0b\/Bh9U9F5tMz8fF4YzWqZfIsvTld+cLFTTF2Xtb0b98nLdt\/Hn5rUUmrOxvhJTipLmERFwYIiIAIimrzcqu4XE2K1ODZMZqJv2G7Z+f0TRjdk6lRU43Z63XVDIJ\/YbZEa2sccYZu1hzjfvXO3TlyusbXXy4v4ch3QQ44R9M81sWiy0lmp+ip25e778jvvOWgmxJdkiqMqmdV\/Dl9ycfoe1dEWxuqI3kbPEmSCvCC4Vmmrh7FdJzPQyNJgmIy5oaBt6KqUpr9oNupdgX9NgdvI\/wXYScnhkTr040YOpTVmjKvdwuVzggu\/sbY6KCXMD+IFwOQDnxI7MbdfXpTzxap1FS00bnGkpWCeRpwWvJwcH1x19a0a21cGjH0LgOOKn4jy+8PePxBWdoCl4KOqqyP0jwwb9QGfqnusN1yM\/Rz6ZQk74rN\/D8RWtaGtDWgAAYAHUpS9sdp6+Q3unaegqD0dUwciT1\/XxHeqxZ1\/o\/brHVwYy4xlzcdo3HyUoOzzN9eGKGWqzRoNcHNDhuCMhfVj6VrPbdP07icviHRO8uXwwthK1Z2KU5qcFJcwiIuDkzrppFqp52kB0VQCPQ\/gvzok9NFcKvBxNUnc+v+ZdusIul01U8ssLXb\/wBoLm0IALA7A5zuz6BWv+kec4\/41eF\/YpERFE9EmNPfa6pvcw5NeGHxyR\/lVOpfR2JKm71GcmWp7c9bj9VUKlTtGbhf2k92\/VhS+rcUlytNyIw2OXgkPa3Y49OJVCw9YUvtOnZyBl0JbINuw4PwJXKb6yO8Sm6Urcs\/LM4dLk2283KzPyGtd0sWRjblnzBb6KqUVXT+yPsupI28QdG2OpI6\/dx1df3vQK0BBGQcgrtRZ3E4V2Thtp4PNH1ERTNYREQBlahuptNsMkY4qiVwjhbjJLj1+Q+i89NWYWqg45feq5\/fleRuM\/q+Xzys+pAvGt46dzS+C3R8TuRaXHB+oHkqlUfVjYy010lVzeiyXuwiIpmoKD1ZWOr9SUtvjPEyF7W4bzL3EZ+gVTf7u2z2x8\/OV\/uRD\/uxz8ApDSFDLc706un99kLjI9zv1nnceO+6tTVk5s87jJ45RoR1evgX08Rmp5Ig8sL2FvEObcjmpzRJdDTV1vecvpagg7du3zaVTqYt39C11cKfkyqiEje87Hr8XJY5xaL1urUhP4eZToiKZqJjSRFJXXa2ZwIZy5jT2ZIz6Bqp1LnND+UEEA8FbBvgbcvxZ8VTkgDJOAFSprfczcNlBw2bR9RYdbq+0Uc4h6Z0zs4cYhxNb5\/hlbMMrJ4WTRO4o5GhzXdoO4KRxa1KxqQm2ou9jmu8HtNoq4QMl8LgPHG3xWPoX+oHf37vkFRkAjBGQVMaHcYoK+hcd6eo7e3b\/KnXYaIzVuIg900VC86iXoKaWbb7Nhdv3DK9Fl6kn9n07Wv7YuDl+17v1SJXdi85YYOWxn6GiLLC6Q85Z3OyevYD6KkWTpeD2fTlGwjBczj\/AHiT9VrJpu8mT4eOGjFdx4VtZBQUklVUv4I4xkn6BTM1detTwSQW+lZTUT8tdNNzeO7+A81+ZuLWF5dAyQi1UZBLm7dK7+c+Xiq1rWsYGMaGtaMAAYAC7lDxJdbiG7O0fX7EBZrHU3qzShtxlj6J5j9nduwkbjr7T8F0ae1VNSTMttyz0bT0bXnnHjAAPdzWhZCLfq+6W9x2qPtmZPnj0cfRZesbY2juXtjWfYVgIfj9WQdf19Va6lLC+ZhwypU1VhqnZl6ixdKXA3CxRF5zJD9k4k7nHI+mFtLM1Z2PXpzU4qS5mbf7nJabU+riax72uaA1\/I5K7KSY1FHBO4AGSNryB1ZGVL\/lAqSyjpKYH9I9zyPAD8VSWz+qqT+4Z\/6hO42gmRhUcq8ockkTtnrKel1He5quZkTelDQ95wOZ2+CqwQRkHIK\/ml8e2Ktu0Lj78lU1zW4PL3vxHqv6RB+gj\/sj5Jqi0ZHg6jeKG3u2ei85poqeF80zwyNgy5zjsAv05zWML3uDWtGSScABfz\/Ud+N4r46WjEk1I04EbMgzP7cc8cvikhByZfiK8aMb8+RyXm41WpLi3oY3loPDTwgZOOs+oH8hX1mtjLTbY6RpBcN3uGfeceZWbpjT35rjfVVLG+1S8hj9G3s8VQp6k0+rHQhwlCUW6tTtMKXvxNDq20Vw5S\/YuwO\/H+f4KoU7ramdLYxOwe9TStfnsHL5keiSn2rFuKT6Jtcs\/IokXhRVIrKGCpAwJY2vx2ZC9JZY4YnSyvDGMGXOccABIaE01cmtTuZS36zVkjgxglLXOPIDI5+q\/FZV1eqap1BbZDFb2HE9QP1+4d3d1rJ1Jdp7\/TvkpKdwt9G8cUrh95xOB8+XfuqOS40On9NQTQRsbxxtMMWd3uIBz388krRZpLc8vHGc552hq+\/l5ZGNdbfSRSw6dtEAM8paamZ272t2IyfiR4KzhhZTwRwRjDI2hrR2ADAWLpe0zUkD6+uJfW1W5c45LWnfHrufLsW8pzlyNfDU7Jzatflsgo+wcVFrS50bsgScTwDjfcEfBxVgpS6A0Wu7dVYAZUM6PIxud2\/VqIc0c4lWcJ7P1yKtTeuJXC0RUrBl9RO1oHhv88KkUve\/6bq+1UQHE2D7Z4HIb53\/AHR6965T7VxuK\/acd8vMpIYhBBHC3lG0NHkMLG1VdHUdCKKny6srfs42t5gHYn44Hee5bjnBrS5xAAGST1KW0+xl6vlbepBxxxv6OnDm8u\/xxj1KIL+T5BXbsqcdX6czcs9sitFujpYwMgZkcP1n43K7kRK3d3ZeMVFKK0JfUH+79TWq58mOJhkdjYDv8nH0W1eLYy7WyWkeQ0uGWOP6rhyKz9ZUpqNPySNBL6d7ZW45jqPwJPktO2VQrbZTVOcmSME+ON\/inb6qaM0YrpJ03o8\/ZkxoIugmuNJL7kjC3LDzBHEHfRWS\/nFLU1FLcajUcDS6nFY5kjR1tcSefmPPC\/oUNRFPTMqWPBiewPDjyxjKaqs7k+Bmujwbem5B64ldUXro27tpoW8XcSc\/UK3tn9VUn9wz\/wBQon2Z92tl9u4x77wIyf2WkOI7eXD6LdfqGCg0zRyMOamaBrIY2+8eIDGcdgKaavFRRKhNRqTqS0av87GBqeE1+o5zRwOl6CMGchpOCNvw6l20Gr7hDB7NNbJaiWMcDS0EE4zzGD2fArc0zaXWy3mSf\/iqk9JNkYIPU3yyfUrZSymuza9h6fDVL9IpYW9VYgKhmqdRvLXwSQwE\/cP2bB67u+KprDpulsrOk2lqiMOlI5dwHUtlEsqjasskXp8LGEscnd7sIiKZqC8K2mFZQz0xOBLG5mezIXuuS5XOktVMairk4W8g0bucewDrXVe+Qs3FReLQxdJV8cOn5I6uQRewyOY\/jOOEZzv5kjyXK72rWVXhpfT2mF++xDpT\/PosOkjp7jfpHXB7qGkqSagMccBwySOe3but6S91Ne4WvTNNwRRjhNQRhrR3dnjz7locbO619DyYVcdNRlosrLV\/Y6dSVlrtljltbQxr3x8McEfMdhPp181n6TswuUcVzr5TO2D7OCF3Job2\/gti06XpaDM1Q41VW\/70z9+E92fnzXLoZxZbaqkeAJIKghw8h9QUt0oPCW6NyrxdRWVnZeG5TIiKB6QU5rWldJaGVkZIlpJA8OB5AnHzwqNeFbTiroZ6Y4AmjczJ6sjCaLs0yVaHSU3Hc+W+rbX2+CrZjErA7API9Y8jsp+x\/wC8NWXS4klzIfsYyeXZt+78e9ZGndQG12yvo5zwvhY58APU7lw+uD6qj0hReyWGKRw+0qSZXHG5zy+GPVUccCZkp1f6hw7s36H3VlydQWd0cXF09Ueij4RnGefw+JC7rRb2Wu1wUjBuxvvntcdyfVYJD79rTB3pLX5gv\/HI9GqrSyySRal16kqnLRe\/zCIimajyqqdlVSy08n3ZWFh27RhSVkuot2la+GZ\/DNQvdG1oPW77uP8AFn0Vkv55WQ09ZrZ9JDUYp552mX3vdc4bkd++QO8qtPNNMw8W3BxnHV5ef3KLTdpidpQU1QzLKvie4YwcHkfQArD\/ADtPY7TcLHUuPTxe7Tvb1tdz+ByPFXjWhrQ1oAAGAB1KD1O+a43+U0UHH+bYw6Q454IJ9M\/ApoPFJ3J8TDoqcXDVZeP5qVFptTKfTsVvlbjjiPSjAzl2559mfgue0aVpLXP7Q95qJWn7Nzx+jHd2+K0LVcortb46uLbiGHN\/Zd1hdqm5SV0a40qUlGSV7aBERIXCIiACL8veyNhfI4Ma0ZLnHACjbzqyorZjQWNsjnE4MrG5c7+z2DvTRg5aEa1eFJXl5G3e9S0dnY6PiE1Vj3Ymnkf+49Sj2V0tzuAqKqF9zqz+ipmA9Ewd\/b4DbtK77ZoaoqHCa6TGIE5MbDl58TyHxVhQW2jtkPRUcDYmnmRzd4nrVbwgrLNmHo6\/EO8+rHb89\/Ihr7browU90vJje0yNjMEZxwN3ONvPlnxV7SwQU1OyKmiZHEB7rWDAXNfKH842appQMvczLB\/3DcfELk0nX+3WGHJ9+D7J2+eXL4YSyblG+xelTVKs1utfDU2lL2M+xauu1CRgTHpmjq55\/wA3wVQpe9j2LV9prhsJswuPV2f5vguQzuinEZYZ7P1yKhERTNIRF5VNRFSUstTM7hjiaXOPcEHG7K7P5tqS2vh1JUwwML+lJma1u5wRxHYdm\/krOn1BTO0y+4wtaDBHgw8X3XcgD3ZwpN7K8Buq5eIF1UCGAb8Hj2cmr01FQRzXaFlo43mviEzoWnY8yD6AnH8FraUrJnh05ypOc4LXl46NfQpNHULqaze0StImq3dK4nmR1fj5rfWBbdU298baarzQVEQDXRTAgA9xP1wtsVEDhls0ZHaHBZ5p3uz1eHdNU1GDvY9EWdWX+1UIPT1sXEP1GHidzxyCxHXa9aiJZZofZKUHhNTIcF3h2eWShQbOzrwi7LN7I6r7fZRUC0WpplrZfdc5h\/Rjr36j8lm3jT4s1ggqqdwdVUswlkmxu4kj4A4VBZbFTWaNxYTLUSfpJnDd34DrXdV07KuklppBlsrC0745hMpqLSWhF0JVIuVTV6dx8p6gVlDHUQnAmjD256sjKz7BZTaKads7mSzzyF0j2jZw6hj19Vx6MqX\/AJvmt02BNRSuYW53xk\/XIVGlleLcS1PDVjGo9fy5I4Okr\/nIFsrnYxviI\/w+R7lWggjIOQVy3O3QXWhkpJx7rxs7raeohYum7nLT1EliuLuGogOIXOP329mevbl3eC6+sr8ycf0Z4P4vTue30KVFw3C8W+1tzV1LGOxkMG7j5BYgvF7vruGz0nslMf8A9mcbnw6vTPilUG8ys68IPDq9lqUVXW0tDF0tVOyFna44z4dqn36rqbhI6CxW6SpcNulk2aP57yF6UmjqZsxqLnUSXCZ3MvyG\/PJ9VvwQQ00QigiZFG3k1gwAm6i7ydq9TXqrzf0JqHS9bcpRUX+ufLvkQRuw0fh5DzW\/RW2jt0fBR0zIQeZaNz4nmV1Ilc2ylOhCGaWe\/MIiJSwUtaQ20axrbcAGw1jOliGc7jfHd+t6BVKmdXRvpJKC8xAl1LKGvA62nfn5Y\/xKkM3bczcTklU\/2v5cymUzrZpipKKtb96nqQfUZ\/yhUUMzKiCOeM5ZI0Oae0EZCzNUwdPpysb1taHjfsIP0XIZSR3iFioytsarXNewPactcMg9oX6WfYZjPYaKQ8+haDtjkMfRaCVqzsWhLFFS3CltR1El1utPp6meQ15D6lw6m88eQGfMLWv95jstvMx96V\/uxM7XY5+AXLpm0TUMElbXFzq6qPFIXOzgdQ8U8eqsTM9Z9JLoY\/Hw2+JpS26mltjrf0YbA6PgAA5Dt+qkNFwH8+1AnlD5aWIsYA7O3Fgkdw+quJA8xuEbuF5B4TjkVES2G4WCjhu8UofV07nOqGjcOYT28z357e5NB3TV9SXExtOE1HKOvh+ZldXWqhuTQ2spmS45E7OHgRush+h7O52R07B2CT8Qti23CG6UMdXAfdeN253aesFdSnilHK5pdKlV6zSZj0elbPRO420gld2ze\/jyOy1wABgDAC+ouNt6jwhGCtFWCIvGoqqekj6SpnjhZ+1I4NHxXBm0s2TVTx2PWkdQB\/RrlhjsDYO2HzwfMqrUTqe+UN4pmUNvbNUzteJGvjYQBjOe87Ffq2x3vVNJxz3QQUgPA5sTfecQBnOO3vPXyV3BtJvI8+nXUKkoQ6181b5m3c9U2y2uMRkNRNy6OH3iD3nkPmp+5Ut+1BMyvjoPYhTtJiJdwyO6\/HPZsFS2vTtutIDoIeOUf9WTd3l2eS1Eqko9krKjUrK1V2Wy+pH6Utlor4jVytfUVrD9syodxcLu3HWD35VeAAMAYAUtfaOey3Ft+t4cWudiqiHIjt\/nrwVR0dZBX0sdTTvD45BkH6HvXJ59bkd4a0L02rNfPvPdERTNYREQAREQAXPcKRtfb56R+MSsLckcj1HyO66ERocaTVmT2j6uR9vlt9Q77ehkMZb1hvV8cjyWhf8A+oK7+4d8li12LJrOCt+7TVzeCQk4Ady\/0nzK37swSWetY7kYH\/8AqVWXaT3MlNvopU3rG6+hyaV\/\/GqL+yf\/AGK11h6Oc52mqfiOcF4HhxFbiSfaZag70o+CMeWwNqb+251U5mjjb9lAW4EZGMHnv1nxWwiLjbeo8YRje3ML4QCMEZBX1Fwcl6qw3C1Vrq+wy5a85fSO+6djy3G3dzHUg1dVUvu3Gy1ELh1t5Hwz+KqEVMd+0rmboHF\/pyt3aomBrilPK31h\/wAI\/FP9prtU7UWn5znk+UkD5D5qnRcxR2Doqr1qfJEv0er7icSSU9uiPPhwXY7uZz5hfum0XSmXp7lVT10pIJL3EA+PWfVUqI6R8sgXDQec7y8fyx4UlHTUMIhpYGQsHU0Yz49qnaLhsOrZqHPDS3AdJEOprt9vmPRVKxdT2l9zoGy0+RV0p6SEjme0fAeYCIvOz5hWg1FSgs4\/jRtIsvT93bd7a2VxAqI\/cmZyw7tx3\/zyWolaadmXhNTipR0Z+XsbJG6N7Q5rgQ4HrCkmF2jrv0TnF1qrHZBP\/Sd9fqMdir1z1tFT3ClfTVMYfG8bjs7x3rsZWyehKtTc7SjlJaHs1zXsD2ODmuGQQcghfpSlBLV6Xr47bWO6W3zvIgmLgOj8c8vD0VWiUbDUqmNZqzWqCIiUqEREAEREAZt9tLLxbH0xOJB70Tuxw\/nCxaPUEb7FV0FykbBXU8T4nB5xx4aQMdp6v\/tVi4qqz26unE9TSRySjGHnnschPGStZmarSk5Y4PPR95w6PjfHpum4244i5w8C4rbX4iijhjbHEwMY0YDWjAC\/aWTu2y1OGCCjsERFwcIiIAIiIAIiIAIiIAIiIAk7vTVGnbob3QM4qWQ\/0qAbDx9T5HxVJRVtPcKVlTTSB8bxsezuPevZzWvYWPaHNcMEEZBCmpbBcbVWuqbBOwRSOy+llPuf\/XxVLqSs9TI4yoybirxfLbw+hTrzmmip4XzTPDI2DLnOOwCnWXzUL2mP8wkS4OHEkN6v49a\/MVhud3mbPfqv7EHiFLFsM9\/85RgtqxnxGLKnFt+SPFj59X3Jrw0xWulflpLd5Hfj8lXLzggipoWQwRtjjYMNa0YAXollK+mg9Km4JuTu3qEREpYIiIAIiIAIiIAIiIA\/\/9k=",
    "razonSocial": "SCHWAGER SERVICE S.A.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "LYDIA ARAMAYO PRADO",
    "correoContacto": "l.aramayo@schwager.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN E INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "56999704428",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R734\",\"id_control\":\"28598\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "13:27",
    "ubicacionGPS": "LatLng(lat: -23.4365516, lng: -68.8269538)",
    "horaLlegada": "09:16",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 07/05/2026 13:27:02
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ufnhcRDB0KJhA_LNBjVpXquiXcNimi0jfY9EoQkIyFDTYTowc58
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76145047",
    "serieinterna": "TO2943",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "681417",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se hace limpieza de scanner, ADF, fusor, unidad de imagen, bandejas\n•Se reemplazan gomas de alimentación de bandejas 1 y 2",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12364",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADwANoDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABJEAABAwMCAgcFAwgHCAIDAAABAAIDBAURBiESMRNBUWFxgZEUIqGxwSMy0QcVM0JSkuHwJDVyc4LC0hYlNDdDYnSyovE2ROL\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMEAQX\/xAA3EQACAQIEAggFAwIHAAAAAAAAAQIDERIhMVEEQRMiMmFxkbHBgaHR4fAjM0IUciQ0Q1JiwvH\/2gAMAwEAAhEDEQA\/AP7MiL8SyshifLI4NYxpc5x6gOZQBy3O70VphElXLw5+60DLneAXBRautdZUNgLpIHvOI+lbgOzy3XDY6L8\/Vs98uEYfE9xZTwvGQGg7HsONx45WtfbJBeKB0XAxs7R9lJwjLSOrPYq2inZmNTrTWOFrcluaiLD0vdZa2kfSVY4KyjPRyA8yBsD+K3FNqzsaac1UipILEvl4qKCvt9HRsY+Wpkw4PaSOHl9c+S21LUgFz13VVBwWUEfRs3\/W5eHMuTQSzbJV5NJRjq3\/AOlSiIkNAREQAREQAREQBk6kqLhR2l1Vb3hr4XB0gLQ7LOvmu6grY7jQw1cP3JW8WOw9Y8jkL2exskbo3tDmuBDgesKa04\/803assMrjgO6WnJPNpA29MehTpXj4GeUnCqm3k8vj9ynRESGgIiIAIiIAIiIAIiIAKb1hVzPgp7RS7z1rwD\/Zz+OPIFUilqJoumuqqqPvR0DOjbz2dy\/1J4a32M3EtuKgv5O3w5\/IoqOljoqOKliHuRNDQvdESGhJJWRK3l35i1PS3doxBVDoqjA8N\/TB\/wAJVSCCMg5BWffbeLnZ6im4eJ\/CXR\/2xuPw81z6VuH5wsUBcQZIR0TwO7l8MKjzinsZofp1nDk817\/U15HtijdI77rAXHwCm9ERl1uqa14HSVM5JI7B\/Ela99m6CxVsg59A4DxIx9Vy6ThEGm6QbZeC8kdeSfphCygzss+Iitk37GyiIpmkIiIAIiIAIiIAKZ1dTSwOpL1TDEtG8B5A3LCflnP7ypl41VOyrpJqaT7krCw+BGE0XZ3JVqfSQcT7TVEdXSxVMWeCVge3PPBGV6qa0bUvZT1NqnJ6ajlIAP7JP459VSokrOwUanSQUgiIlKhERABERABERAH4mlbBC+V\/3Y2lx8Ap3RMLjbqmukxx1U5ccDqH8SV3apqfZtOVbgd3tEY358Rwfhle1gpvZLFRQ4wREHEY5E7n4lUWUPEzPrcQlsr+ZoovKpqIqSllqZncMcTS5x7gphrr\/qJzpqWqFDQ5PRObkOf1ePnt3JYxvmPUqqDSSu9isUrZnG06trrWTww1OZoW42zz28sj\/CtHTN2mulDIKoYqaeQxyDYZ78dXWPJcGrQaGutt3aSBDLwSYzu3Of8AV6p4qzcWQqzUoRrR5P5aM7dXv4NM1WObuBv\/AMgu2yR9FY6FmMYgYT4kAlZmtnD\/AGcdh2zpGdfNbVE3hoaduMYiaMdmy4+wikc+IfgvVnuiIpmkIiIAIiIAIiIAIiIAlbkRZdY01wL+Gnrh0cvYCAB\/pPqqpY2q6EV1gnw0F8I6Vu2eXP4ZXVY67842amqicuczDs\/tDY\/JUlnFMy0+pVlDk817neiIpmoIiIAIiIAIiIAmtcPcbVBTM+\/PUNAz2YP1wqONjYo2xt+6wBo8AprUgNRqKyUoGwlMju8ZH4FU6eXZRmpZ1pvwXy+5MarnlrKqjsVPnNU4Olx+wD\/AnyVHBBHTQMghYGRsGGtAxgKa04Ddb7X3p5JY13RQju8fDHqqldnlaJyh13Krvp4Il7T\/AETW91pQSGTMEuOonY5\/+RWnqakFZp+rYRlzGdI3bJBbv8sjzWbL9j+USHG3TU2\/fsf9KpnNDmlp3BGCiTs0xaMVKE4Pdr88yLulSa38n9LLxbscxju\/hy1WFK7jpIXYxxRtOPJQBJp9O3q1nnS1LXDfqLg36D1VzaiHWijcNwadhH7oTVFZfEnwsnKeey+TaOtERRPQCIiACIiACIiACIiAPjmhzS07gjBUxpJxoq65Wd2cQSl8ec8uX+n1VQpa5H8263oavBEdWzonnPM8vq1UhmmjLX6so1Nnb4PIqURFM1BERABERABERAExcvf1\/a2csQF2fJ\/4LWv9V7HYqyfOCIi1p7C73R8SsmpPF+USkzvw0xx3bO\/FfdayOlpqK3MOH1dQByzsNvm4K1ruKMGPDTqyW79Eju0pSCk07TDHvSjpXbftbj4YWwvzGxsUbY2\/dYA0eAX6Um7u5spwwQUdiYrv+Ylt\/wDGPykVOpiu\/wCYlt\/8Y\/KRU6efLwI8PrP+72R\/P9Ws9ivdWM8LK6naT17hwPzZ8VY2J4fYaAjqp2D0ACnfygwZgoqgfqucw79oBHyK1tISiTTVL2s4mn94\/RPLOmmZqKw8XOPd+eptoiKB6QREQAREQAREQAREQAU5raBzrTHWRnElJM14PcdvnhUa4rvTe2Wirp8ZL4ncPjjI+OE0HaSZGvDHTlHuPekqG1dHDUs+7KwPHmMr2WHo+q9p07ACcuhLozv2HI+BC3ESVm0NSnjgpboIiJSgREQAREQBMVeGflDoesyUx8tn\/gvlwJq9eW+BpPDTxF7u47n\/AEr7dPd15a3DYmEgnu9\/8V8tWZ9dXSZ3\/TjDAP3R9Pir8r9x5rzk47z9rlQiIoHpExXf8xLb\/wCMflIqdTFX7\/5RKLq6OmPns\/8AFU6pPl4Gbh9Z\/wB3sjA1pT9Pp2V45wvbJ8cfVcWgKoPt9TSnnFIHjwcP\/wCfiqK50\/tdrqqfh4jJE5oHfjb4qG0LU9Fe3wHOJ4iMd43+WU8c6bRmrdTi4S3yP6GiIoHpBERABERABERABEXwkAZJwAgD6i8xUQOk6Ns0ZfnHCHDPovRAXuS+lz7HeLtbOQZL0jB3Z\/Dh61UKWrf9368pKjkyti4HHtPL6NW\/ca+G20MtXMfdjGQM4Lj1AKk1dp7mTh2oQlF\/xb8tTqRSx1NeTF7UywPNMQHNPESS3t5dnctq03ilvEDpKcua5hw+N+A5p7\/j6Ljg0rlIV6c3hTzO9ERIXCIiAJi++5q+zScuIlue3fl8U0rh93vk3W6oxv1bu\/nyXzVREN6slSTs2fDs9mW\/xX3SH\/HXn\/yfq5X\/ANP83PNX+at3\/wDUp0RFA9ImPvflE7eCm\/d2\/j8VTqYovtfyg17uqOnAz34Z\/FU6efLwM3D6Sf8AyYX8wjc2zat4nOwyCqIJP7BJGfQr+nqB1RRE6jqWAYNTTdKzfAy0b\/Bh9U9F5tMz8fF4YzWqZfIsvTld+cLFTTF2Xtb0b98nLdt\/Hn5rUUmrOxvhJTipLmERFwYIiIAIimrzcqu4XE2K1ODZMZqJv2G7Z+f0TRjdk6lRU43Z63XVDIJ\/YbZEa2sccYZu1hzjfvXO3TlyusbXXy4v4ch3QQ44R9M81sWiy0lmp+ip25e778jvvOWgmxJdkiqMqmdV\/Dl9ycfoe1dEWxuqI3kbPEmSCvCC4Vmmrh7FdJzPQyNJgmIy5oaBt6KqUpr9oNupdgX9NgdvI\/wXYScnhkTr040YOpTVmjKvdwuVzggu\/sbY6KCXMD+IFwOQDnxI7MbdfXpTzxap1FS00bnGkpWCeRpwWvJwcH1x19a0a21cGjH0LgOOKn4jy+8PePxBWdoCl4KOqqyP0jwwb9QGfqnusN1yM\/Rz6ZQk74rN\/D8RWtaGtDWgAAYAHUpS9sdp6+Q3unaegqD0dUwciT1\/XxHeqxZ1\/o\/brHVwYy4xlzcdo3HyUoOzzN9eGKGWqzRoNcHNDhuCMhfVj6VrPbdP07icviHRO8uXwwthK1Z2KU5qcFJcwiIuDkzrppFqp52kB0VQCPQ\/gvzok9NFcKvBxNUnc+v+ZdusIul01U8ssLXb\/wBoLm0IALA7A5zuz6BWv+kec4\/41eF\/YpERFE9EmNPfa6pvcw5NeGHxyR\/lVOpfR2JKm71GcmWp7c9bj9VUKlTtGbhf2k92\/VhS+rcUlytNyIw2OXgkPa3Y49OJVCw9YUvtOnZyBl0JbINuw4PwJXKb6yO8Sm6Urcs\/LM4dLk2283KzPyGtd0sWRjblnzBb6KqUVXT+yPsupI28QdG2OpI6\/dx1df3vQK0BBGQcgrtRZ3E4V2Thtp4PNH1ERTNYREQBlahuptNsMkY4qiVwjhbjJLj1+Q+i89NWYWqg45feq5\/fleRuM\/q+Xzys+pAvGt46dzS+C3R8TuRaXHB+oHkqlUfVjYy010lVzeiyXuwiIpmoKD1ZWOr9SUtvjPEyF7W4bzL3EZ+gVTf7u2z2x8\/OV\/uRD\/uxz8ApDSFDLc706un99kLjI9zv1nnceO+6tTVk5s87jJ45RoR1evgX08Rmp5Ig8sL2FvEObcjmpzRJdDTV1vecvpagg7du3zaVTqYt39C11cKfkyqiEje87Hr8XJY5xaL1urUhP4eZToiKZqJjSRFJXXa2ZwIZy5jT2ZIz6Bqp1LnND+UEEA8FbBvgbcvxZ8VTkgDJOAFSprfczcNlBw2bR9RYdbq+0Uc4h6Z0zs4cYhxNb5\/hlbMMrJ4WTRO4o5GhzXdoO4KRxa1KxqQm2ou9jmu8HtNoq4QMl8LgPHG3xWPoX+oHf37vkFRkAjBGQVMaHcYoK+hcd6eo7e3b\/KnXYaIzVuIg900VC86iXoKaWbb7Nhdv3DK9Fl6kn9n07Wv7YuDl+17v1SJXdi85YYOWxn6GiLLC6Q85Z3OyevYD6KkWTpeD2fTlGwjBczj\/AHiT9VrJpu8mT4eOGjFdx4VtZBQUklVUv4I4xkn6BTM1detTwSQW+lZTUT8tdNNzeO7+A81+ZuLWF5dAyQi1UZBLm7dK7+c+Xiq1rWsYGMaGtaMAAYAC7lDxJdbiG7O0fX7EBZrHU3qzShtxlj6J5j9nduwkbjr7T8F0ae1VNSTMttyz0bT0bXnnHjAAPdzWhZCLfq+6W9x2qPtmZPnj0cfRZesbY2juXtjWfYVgIfj9WQdf19Va6lLC+ZhwypU1VhqnZl6ixdKXA3CxRF5zJD9k4k7nHI+mFtLM1Z2PXpzU4qS5mbf7nJabU+riax72uaA1\/I5K7KSY1FHBO4AGSNryB1ZGVL\/lAqSyjpKYH9I9zyPAD8VSWz+qqT+4Z\/6hO42gmRhUcq8ockkTtnrKel1He5quZkTelDQ95wOZ2+CqwQRkHIK\/ml8e2Ktu0Lj78lU1zW4PL3vxHqv6RB+gj\/sj5Jqi0ZHg6jeKG3u2ei85poqeF80zwyNgy5zjsAv05zWML3uDWtGSScABfz\/Ud+N4r46WjEk1I04EbMgzP7cc8cvikhByZfiK8aMb8+RyXm41WpLi3oY3loPDTwgZOOs+oH8hX1mtjLTbY6RpBcN3uGfeceZWbpjT35rjfVVLG+1S8hj9G3s8VQp6k0+rHQhwlCUW6tTtMKXvxNDq20Vw5S\/YuwO\/H+f4KoU7ramdLYxOwe9TStfnsHL5keiSn2rFuKT6Jtcs\/IokXhRVIrKGCpAwJY2vx2ZC9JZY4YnSyvDGMGXOccABIaE01cmtTuZS36zVkjgxglLXOPIDI5+q\/FZV1eqap1BbZDFb2HE9QP1+4d3d1rJ1Jdp7\/TvkpKdwt9G8cUrh95xOB8+XfuqOS40On9NQTQRsbxxtMMWd3uIBz388krRZpLc8vHGc552hq+\/l5ZGNdbfSRSw6dtEAM8paamZ272t2IyfiR4KzhhZTwRwRjDI2hrR2ADAWLpe0zUkD6+uJfW1W5c45LWnfHrufLsW8pzlyNfDU7Jzatflsgo+wcVFrS50bsgScTwDjfcEfBxVgpS6A0Wu7dVYAZUM6PIxud2\/VqIc0c4lWcJ7P1yKtTeuJXC0RUrBl9RO1oHhv88KkUve\/6bq+1UQHE2D7Z4HIb53\/AHR6965T7VxuK\/acd8vMpIYhBBHC3lG0NHkMLG1VdHUdCKKny6srfs42t5gHYn44Hee5bjnBrS5xAAGST1KW0+xl6vlbepBxxxv6OnDm8u\/xxj1KIL+T5BXbsqcdX6czcs9sitFujpYwMgZkcP1n43K7kRK3d3ZeMVFKK0JfUH+79TWq58mOJhkdjYDv8nH0W1eLYy7WyWkeQ0uGWOP6rhyKz9ZUpqNPySNBL6d7ZW45jqPwJPktO2VQrbZTVOcmSME+ON\/inb6qaM0YrpJ03o8\/ZkxoIugmuNJL7kjC3LDzBHEHfRWS\/nFLU1FLcajUcDS6nFY5kjR1tcSefmPPC\/oUNRFPTMqWPBiewPDjyxjKaqs7k+Bmujwbem5B64ldUXro27tpoW8XcSc\/UK3tn9VUn9wz\/wBQon2Z92tl9u4x77wIyf2WkOI7eXD6LdfqGCg0zRyMOamaBrIY2+8eIDGcdgKaavFRRKhNRqTqS0av87GBqeE1+o5zRwOl6CMGchpOCNvw6l20Gr7hDB7NNbJaiWMcDS0EE4zzGD2fArc0zaXWy3mSf\/iqk9JNkYIPU3yyfUrZSymuza9h6fDVL9IpYW9VYgKhmqdRvLXwSQwE\/cP2bB67u+KprDpulsrOk2lqiMOlI5dwHUtlEsqjasskXp8LGEscnd7sIiKZqC8K2mFZQz0xOBLG5mezIXuuS5XOktVMairk4W8g0bucewDrXVe+Qs3FReLQxdJV8cOn5I6uQRewyOY\/jOOEZzv5kjyXK72rWVXhpfT2mF++xDpT\/PosOkjp7jfpHXB7qGkqSagMccBwySOe3but6S91Ne4WvTNNwRRjhNQRhrR3dnjz7locbO619DyYVcdNRlosrLV\/Y6dSVlrtljltbQxr3x8McEfMdhPp181n6TswuUcVzr5TO2D7OCF3Job2\/gti06XpaDM1Q41VW\/70z9+E92fnzXLoZxZbaqkeAJIKghw8h9QUt0oPCW6NyrxdRWVnZeG5TIiKB6QU5rWldJaGVkZIlpJA8OB5AnHzwqNeFbTiroZ6Y4AmjczJ6sjCaLs0yVaHSU3Hc+W+rbX2+CrZjErA7API9Y8jsp+x\/wC8NWXS4klzIfsYyeXZt+78e9ZGndQG12yvo5zwvhY58APU7lw+uD6qj0hReyWGKRw+0qSZXHG5zy+GPVUccCZkp1f6hw7s36H3VlydQWd0cXF09Ueij4RnGefw+JC7rRb2Wu1wUjBuxvvntcdyfVYJD79rTB3pLX5gv\/HI9GqrSyySRal16kqnLRe\/zCIimajyqqdlVSy08n3ZWFh27RhSVkuot2la+GZ\/DNQvdG1oPW77uP8AFn0Vkv55WQ09ZrZ9JDUYp552mX3vdc4bkd++QO8qtPNNMw8W3BxnHV5ef3KLTdpidpQU1QzLKvie4YwcHkfQArD\/ADtPY7TcLHUuPTxe7Tvb1tdz+ByPFXjWhrQ1oAAGAB1KD1O+a43+U0UHH+bYw6Q454IJ9M\/ApoPFJ3J8TDoqcXDVZeP5qVFptTKfTsVvlbjjiPSjAzl2559mfgue0aVpLXP7Q95qJWn7Nzx+jHd2+K0LVcortb46uLbiGHN\/Zd1hdqm5SV0a40qUlGSV7aBERIXCIiACL8veyNhfI4Ma0ZLnHACjbzqyorZjQWNsjnE4MrG5c7+z2DvTRg5aEa1eFJXl5G3e9S0dnY6PiE1Vj3Ymnkf+49Sj2V0tzuAqKqF9zqz+ipmA9Ewd\/b4DbtK77ZoaoqHCa6TGIE5MbDl58TyHxVhQW2jtkPRUcDYmnmRzd4nrVbwgrLNmHo6\/EO8+rHb89\/Ihr7browU90vJje0yNjMEZxwN3ONvPlnxV7SwQU1OyKmiZHEB7rWDAXNfKH842appQMvczLB\/3DcfELk0nX+3WGHJ9+D7J2+eXL4YSyblG+xelTVKs1utfDU2lL2M+xauu1CRgTHpmjq55\/wA3wVQpe9j2LV9prhsJswuPV2f5vguQzuinEZYZ7P1yKhERTNIRF5VNRFSUstTM7hjiaXOPcEHG7K7P5tqS2vh1JUwwML+lJma1u5wRxHYdm\/krOn1BTO0y+4wtaDBHgw8X3XcgD3ZwpN7K8Buq5eIF1UCGAb8Hj2cmr01FQRzXaFlo43mviEzoWnY8yD6AnH8FraUrJnh05ypOc4LXl46NfQpNHULqaze0StImq3dK4nmR1fj5rfWBbdU298baarzQVEQDXRTAgA9xP1wtsVEDhls0ZHaHBZ5p3uz1eHdNU1GDvY9EWdWX+1UIPT1sXEP1GHidzxyCxHXa9aiJZZofZKUHhNTIcF3h2eWShQbOzrwi7LN7I6r7fZRUC0WpplrZfdc5h\/Rjr36j8lm3jT4s1ggqqdwdVUswlkmxu4kj4A4VBZbFTWaNxYTLUSfpJnDd34DrXdV07KuklppBlsrC0745hMpqLSWhF0JVIuVTV6dx8p6gVlDHUQnAmjD256sjKz7BZTaKads7mSzzyF0j2jZw6hj19Vx6MqX\/AJvmt02BNRSuYW53xk\/XIVGlleLcS1PDVjGo9fy5I4Okr\/nIFsrnYxviI\/w+R7lWggjIOQVy3O3QXWhkpJx7rxs7raeohYum7nLT1EliuLuGogOIXOP329mevbl3eC6+sr8ycf0Z4P4vTue30KVFw3C8W+1tzV1LGOxkMG7j5BYgvF7vruGz0nslMf8A9mcbnw6vTPilUG8ys68IPDq9lqUVXW0tDF0tVOyFna44z4dqn36rqbhI6CxW6SpcNulk2aP57yF6UmjqZsxqLnUSXCZ3MvyG\/PJ9VvwQQ00QigiZFG3k1gwAm6i7ydq9TXqrzf0JqHS9bcpRUX+ufLvkQRuw0fh5DzW\/RW2jt0fBR0zIQeZaNz4nmV1Ilc2ylOhCGaWe\/MIiJSwUtaQ20axrbcAGw1jOliGc7jfHd+t6BVKmdXRvpJKC8xAl1LKGvA62nfn5Y\/xKkM3bczcTklU\/2v5cymUzrZpipKKtb96nqQfUZ\/yhUUMzKiCOeM5ZI0Oae0EZCzNUwdPpysb1taHjfsIP0XIZSR3iFioytsarXNewPactcMg9oX6WfYZjPYaKQ8+haDtjkMfRaCVqzsWhLFFS3CltR1El1utPp6meQ15D6lw6m88eQGfMLWv95jstvMx96V\/uxM7XY5+AXLpm0TUMElbXFzq6qPFIXOzgdQ8U8eqsTM9Z9JLoY\/Hw2+JpS26mltjrf0YbA6PgAA5Dt+qkNFwH8+1AnlD5aWIsYA7O3Fgkdw+quJA8xuEbuF5B4TjkVES2G4WCjhu8UofV07nOqGjcOYT28z357e5NB3TV9SXExtOE1HKOvh+ZldXWqhuTQ2spmS45E7OHgRush+h7O52R07B2CT8Qti23CG6UMdXAfdeN253aesFdSnilHK5pdKlV6zSZj0elbPRO420gld2ze\/jyOy1wABgDAC+ouNt6jwhGCtFWCIvGoqqekj6SpnjhZ+1I4NHxXBm0s2TVTx2PWkdQB\/RrlhjsDYO2HzwfMqrUTqe+UN4pmUNvbNUzteJGvjYQBjOe87Ffq2x3vVNJxz3QQUgPA5sTfecQBnOO3vPXyV3BtJvI8+nXUKkoQ6181b5m3c9U2y2uMRkNRNy6OH3iD3nkPmp+5Ut+1BMyvjoPYhTtJiJdwyO6\/HPZsFS2vTtutIDoIeOUf9WTd3l2eS1Eqko9krKjUrK1V2Wy+pH6Utlor4jVytfUVrD9syodxcLu3HWD35VeAAMAYAUtfaOey3Ft+t4cWudiqiHIjt\/nrwVR0dZBX0sdTTvD45BkH6HvXJ59bkd4a0L02rNfPvPdERTNYREQAREQAXPcKRtfb56R+MSsLckcj1HyO66ERocaTVmT2j6uR9vlt9Q77ehkMZb1hvV8cjyWhf8A+oK7+4d8li12LJrOCt+7TVzeCQk4Ady\/0nzK37swSWetY7kYH\/8AqVWXaT3MlNvopU3rG6+hyaV\/\/GqL+yf\/AGK11h6Oc52mqfiOcF4HhxFbiSfaZag70o+CMeWwNqb+251U5mjjb9lAW4EZGMHnv1nxWwiLjbeo8YRje3ML4QCMEZBX1Fwcl6qw3C1Vrq+wy5a85fSO+6djy3G3dzHUg1dVUvu3Gy1ELh1t5Hwz+KqEVMd+0rmboHF\/pyt3aomBrilPK31h\/wAI\/FP9prtU7UWn5znk+UkD5D5qnRcxR2Doqr1qfJEv0er7icSSU9uiPPhwXY7uZz5hfum0XSmXp7lVT10pIJL3EA+PWfVUqI6R8sgXDQec7y8fyx4UlHTUMIhpYGQsHU0Yz49qnaLhsOrZqHPDS3AdJEOprt9vmPRVKxdT2l9zoGy0+RV0p6SEjme0fAeYCIvOz5hWg1FSgs4\/jRtIsvT93bd7a2VxAqI\/cmZyw7tx3\/zyWolaadmXhNTipR0Z+XsbJG6N7Q5rgQ4HrCkmF2jrv0TnF1qrHZBP\/Sd9fqMdir1z1tFT3ClfTVMYfG8bjs7x3rsZWyehKtTc7SjlJaHs1zXsD2ODmuGQQcghfpSlBLV6Xr47bWO6W3zvIgmLgOj8c8vD0VWiUbDUqmNZqzWqCIiUqEREAEREAZt9tLLxbH0xOJB70Tuxw\/nCxaPUEb7FV0FykbBXU8T4nB5xx4aQMdp6v\/tVi4qqz26unE9TSRySjGHnnschPGStZmarSk5Y4PPR95w6PjfHpum4244i5w8C4rbX4iijhjbHEwMY0YDWjAC\/aWTu2y1OGCCjsERFwcIiIAIiIAIiIAIiIAIiIAk7vTVGnbob3QM4qWQ\/0qAbDx9T5HxVJRVtPcKVlTTSB8bxsezuPevZzWvYWPaHNcMEEZBCmpbBcbVWuqbBOwRSOy+llPuf\/XxVLqSs9TI4yoybirxfLbw+hTrzmmip4XzTPDI2DLnOOwCnWXzUL2mP8wkS4OHEkN6v49a\/MVhud3mbPfqv7EHiFLFsM9\/85RgtqxnxGLKnFt+SPFj59X3Jrw0xWulflpLd5Hfj8lXLzggipoWQwRtjjYMNa0YAXollK+mg9Km4JuTu3qEREpYIiIAIiIAIiIAIiIA\/\/9k=",
    "razonSocial": "SCHWAGER SERVICE S.A.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "LYDIA ARAMAYO PRADO",
    "correoContacto": "l.aramayo@schwager.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN E INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "56999704428",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R734\",\"id_control\":\"28598\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "13:27",
    "ubicacionGPS": "LatLng(lat: -23.4365516, lng: -68.8269538)",
    "horaLlegada": "09:16",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


07/05/2026 13:27:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76145047

[07/05/2026 13:27:02] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76145047', 'TO2943', 1, 24456550, 681417, NOW(), 
				'08:00', '09:16', '13:27', 3, '•Se hace limpieza de scanner, ADF, fusor, unidad de imagen, bandejas
•Se reemplazan gomas de alimentación de bandejas 1 y 2', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778174822.png', '', null, 'COMPLETADO','LatLng(lat: -23.4365516, lng: -68.8269538)' )
				
[07/05/2026 13:27:02] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200215
[07/05/2026 13:27:02] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200215', 'TOS-R734', 2)
				
[07/05/2026 13:27:02] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28598 and
				    IDproducto = 'TOS-R734'
				

07/05/2026 13:27:02 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-R734';
                
07/05/2026 13:27:02 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200215'                    
				WHERE idllamado = 12364			
				TO ENVIO: micorreo@miempresa.cl, l.aramayo@schwager.cl


07/05/2026 13:27:03 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12364			
				
07/05/2026 13:27:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


07/05/2026 13: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 = 12364
                
07/05/2026 13: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 = 12364
                
07/05/2026 13: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 = 12364
                
07/05/2026 13: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 = 12364
                
07/05/2026 13:27:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12364
            GROUP BY l.idllamado;
            
07/05/2026 13: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 = 12364
                
07/05/2026 13: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 = 12364
                
07/05/2026 13: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 = 12364
                
07/05/2026 13: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 = 12364
                [07/05/2026 13:27:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 13:27:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

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

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

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

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

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

07/05/2026 13:41:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12469
            GROUP BY l.idllamado;
            
07/05/2026 13:41:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12469
            GROUP BY l.idllamado;
            
07/05/2026 13:41:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:41:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:42:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:42:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12469
            GROUP BY l.idllamado;
            
07/05/2026 13:42:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:42:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12469
            GROUP BY l.idllamado;
            
07/05/2026 13:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:42:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12469
            GROUP BY l.idllamado;
            
07/05/2026 13:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:42:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:42:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13: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 = 12469
                
07/05/2026 13:42:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12469
            GROUP BY l.idllamado;
            
07/05/2026 13: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 = 12469
                
07/05/2026 13: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 = 12469
                
07/05/2026 13: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 = 12469
                
07/05/2026 13:43:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:43:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:43:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12469
            GROUP BY l.idllamado;
            
07/05/2026 13:43:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:43:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12469
            GROUP BY l.idllamado;
            
07/05/2026 13:43:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:43:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:43:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:44:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12469
            GROUP BY l.idllamado;
            
07/05/2026 13:44:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:44:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:44:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12469
            GROUP BY l.idllamado;
            
07/05/2026 13:44:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:44:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:44:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:44:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:45:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12469
            GROUP BY l.idllamado;
            
07/05/2026 13:45:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:45:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:45:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:45:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13: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 = 12469
                
07/05/2026 13:45:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12469
            GROUP BY l.idllamado;
            
07/05/2026 13: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 = 12469
                
07/05/2026 13:45:48 - logentry: =========================================
FECHA: 07/05/2026 13:45:48
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-bpIEqAcido0WW-D5Yo6.ol6A3u9x6f867KUmhY4hTclXMNvTwWt
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76689118",
    "serieinterna": "TO2530",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "1665801",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Configuracion\npruebas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12469",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACLAMoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA6EAABAwMCAwUGBAUEAwAAAAABAAIDBAURBiESMUETUWGBkRQicaGx0RUywfAjM0JS4SQlYoIHQ3L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQMCBAIKAwEAAAAAAAAAAQIDESESMQRBUWETIjJxgZGhscHR4fAUI0Ik\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREARF5e7gY55BPCCcDqgPSKgtWraK51j6UsfA\/ixEXbh48uRV+uuLW5XTqQqK8XcIiLhYERV1wvtttjXe01TONv\/AKmHif6dPNdSb2IylGKvJ2LFFj7hq25SU5qLbbZI6aM5dPM3IcOWNtufcSu0Fovt1p2VU+oXRCRocwU7TjB5ci1T8O2W7Gb+UpPTTTfw+ZcXq8w2elD3AvmlPDDEBkvO33XuzPuUlAH3RkbJ3EkBnRvQEdD++a\/Pa9lZHd5Kd9bV1VTTPAgfwlxJz0ycjfuyr1tj1ZUU7JH3V0T8fyzO5pA8S3qpumlHczQ4qpOo2ovHJfU2iLH2i5XWy1YoLxTVc\/tEgEc3GZN+4d4689u5bBVSjpZupVVUV7WfQIiKJcEREAReZJGRRukkdwsYC5x7gF4pqmGsgbPTyCSJ+eFzeRwcIcur2OqIiHQiIgCIiAIiID891XYH2yqNdSM\/0sjsnA\/lO+x\/x3LWaaubrrZopnnMsf8ADkPe4Ab+eQVZyxRzROilYHseMOa4ZBC\/NbbeprBcJexdx0\/aua+nJO4B5juPir1epG3NHlz08JW1\/wCZH6aqa5anoKB\/YRk1VSTgQw+8c9xPT6qno5rjq4u47hHR0oPvU8DsyEePXHy8ForbZaC1MxSQBrsYMjt3HzUNKj6RqVSdVXp4XV\/RfcpDHqe88TppRaaQjk0Zfj6\/MKqp3W2kmkhtlpmu1S0kGadvE3PeAM5HXp8VqdT1jKLT9U55GZWGJg7y4Y+mT5L3p2lNHYKSJzeF3BxOHiTn9VJStG5RKjerpTza93n3ckfKSKsudnlgu9NHTvlDmcEZzhuNjzOD9lX6OqnNpqi1TZ7aikI3\/tJ++fULSKJHbaWK5S3COMtnlZwPIJwRt079goasNGl0mpxknth90dxDEJjMImCUjBfwjiI7sroiKBoPhAPMZX1EQBERAEREB5c1r2Fj2hzXDBBGQQs1pmV1uulbYZCeGJxkgLure75g+q06zeqqKaF8F8otqijPvgf1M\/efIlThnyvmZq6cbVFy+XM0iKNb62K40MVXCfdlbnGfynqD8CpKhsaE01dBERDoREQBQ7ldaS1U5mq5eEcg0bucfAKpumpyKn8Ps0XtlYcglu7Wff6L5bNLn2j2+9S+21buTXbsZ9\/orFG2ZGaVZyemkrvryX3Ij6696ka51GDbbcASZn5Dnjrv9vVNC0URpp650Qc8ylscr2+9jG+PVWuqa8W+wzcLuGSUdnGAQDvscfAZUiwUH4dZaanc3hfw8Tx\/yO5+yk5eTBRGl\/0K7u0rv27eoi3HS1FWy+007n0VWDkTQbb95H2wVEJ1hQjs2Mpa9o2EjsA\/Vv7C0yKCm+eTRLh4t3jdPsZiKzXS9V0dRfwyOGHdlNEfdcfHcrToi5KTZOnSjTvbd8wiIoloREQBERAFXtvNMby61ubIyYM4g57cNd4DvVgsxrFppJLfd4x79NMGuxjJB3x8j6qUEm7FFecqcNa5b+o06Ly1zXsD2nLXDIPeF6US8Ly9jZI3RvaHNcCHA9QvSIDKWVx09fJbJUPJgqD2lM8956fLHxHitWqbU1pNzt3aQNPtdOeOFzdneIB\/e+F009eG3i3CR21RH7kzcYw7v81ZLzLUZKX9U\/Ce26+3sLVEVVer\/S2iPhJE1U7ZkDT7xPj3BQSbdkaZzjBapPBLrrjR22LtKuoZEMEgOO7sc8DmefRZasrL1qiKf8LjMFAwHBceF0xHTP6cu8qFNDcLhqO3m9sw2ofltPnZjR0x0z6rfMYyNgZG0Ma0YDWjACtdoW5sxJy4ltPEV72YzQ1whhNRQTMjikzxB7sNc7oWnPd91q6+40lspzPVzCNvQdXHuA6rLVlrpLrrielkbiPsA6Tsxgh2BvnHiFZ0uirPTTdo5ks++Q2V4LR5ADPmk9Ld2RoOtGDpxSdm1f8ABDoIKjVFzjulZG+KhpzmmiOMOORv47jfbwWsXxrQ1oa0AADAA6LhWV1Lb4DPVzNijHV3X4DmVW3qeDXTgqUW2882SFAuV6oLUzNXOGuxkRt3cfJUb77db9I6nsdMYYM4dVyjkPDu+Z+CmW7SdFRv9prHuranmZJTsD34++VLSl6RX40qmKS9r2\/JU3TUV5q7fJV0dOaGibjEz\/zvycDh\/wAeq09lnqqqz09RWY7eRvE7DcbEnG3wws+57tWX8RMObXRHiLuHaV223nv5fFa1rQ1oa0AADAA6Ls7JJWIcMpSnKbk2tvX3R9REVRtCIotyt8V0onUk75GxvIJ7N2CcHOERx3SwSkXlrQxga3k0YG+V6Q6FWajpva9P1kQGSI+MfFu\/6KzXxwDmlp3BGCup2dyM46ouL5lXpmqNXp6jkPNrOzP\/AFOP0Vqsvo15pjX2qRw46eYkDO5HIn5fNahSmrSZVw8tVKLf7YIiqL7f4rOxkTGGarmH8KIA+ROPHbxUUm3ZFk5xhHVJ4LSSWOJvFJI1gzjLjhZO4OGn79Hd6X3rfVngqBGcgO7\/ANfXvXCntzbldXQ6hq5XVbo+0EDDwsjbvzPLbw7+ZVPVPgdXvt1tq5GW2V7Y3Ol3aDkbjz39ehV8IWdjza\/EOUU7WzjOb918zV3TUr31At1jaKqrecF4GWM8+R+PILtZdNx0L\/bK1\/tVe88TpH78B8Pv9FC0e6Kinq7TLC2OthcS545yNz+mfQrVKEnp8qNNGPi\/2zy+nJfky+oXdjqmyzO2aX8OfHIH6hadzg1pc4gADJJ6Ksv9nF5oREx4injcHxSf2n64\/wAdyqJ6HVFzh\/D6qSGnpxgPnbjilb4gH5bJiSWQ3KlOVot3yjppn\/cLzcryP5cruziJ54H02Ddv2dK97I2F8jgxrRkuccAKgqLza9M0jLfTj2idgwIo8ZLv+RAwD8\/BRGWa76ieJr3MaWmBy2lj2J8SOnnk\/BGru7wiNOp4cdEVqlz6XfVnes1W+pnNFYaY1k5H83GGN9fqcBKPSj6mcVt+qTWTkfys4Y30+gwFe0dDS2+AQUkLYox0b1+J5lSFzXbESxUHN3qu\/bl+faeWMZGwMjaGNaMBrRgBZ\/VN0laIrRQnNXWENJa7Bjbkc\/j9Mq4uVwhtdBLVzn3WDYDm49AFS6Xt00rn32vJdVVY9wEbNZtg+YA8kireZis3JqlDd79kW9ptsVqt0VJEPyjL3f3O6lTURQbvk0xiopJBERcOhERAEREAREQGWu3FZtWUlzY0NgqwIZz0znmfLB\/6lalVWpbcLlZJ4gCZIx2seP7gOXmMjzTTVw\/EbHBKSTIwdm8nq4dfoVY8xTMtPyVpQ5PK+pYzPdFBJIyMyOY0uDG83EDkFnLHb5e2nv8Aex2c5yWCU47FnwPL9960znBrS5xAAGST0WSramp1bXOt9C4x22Jw7afH8w+H6DzSF7McRZOL3fJd+vsKuGkq9T6hrZ6d7oqWR3BLL\/wGMD4kNH6q51Vb6W36WbDTQtY2KVpbtvnkSe8pohjYo7jG38rKjhHwC764cG6eIP8AVK0D5lWOT1qPIyRpr+NKo93c83S111TLQXi24NaxrRICQ0PaR19T5fBaRcabEVFFxkAMjGTnYYCoq\/VYfP7FZYfbqo5HEPyN8fH6eKqzLBsvTo3k3vy79i7ra+lt1OZ6uZsTByydye4DqVmnXK8ame6G1sNFQ5w6pf8AmcOuPsPVd6HS0lVUe336b2qc7iEH3GeH+Bt8VpGMZGwMjaGNaMBrRgBdvGO2WR01K3peWPTm\/X0Ky0adobQ0PY3taj+qd497y7laoig227s0whGC0xVkERFwkZe9h941NR2fhd7NCO3mIxv3foP+xWna0NaGtAAAwAOizMJFN\/5CqHSAtFVThsZcMBxAby7\/AMpWnVk9kjNQy5ye9\/lsERFWaQiIgCIiAIiIAiIgCy1nabJqirtj3EQVY7anzyz3fUeS1Kx+vJ4o\/YhG4isY4vaWndrO\/wBR8irKeXp6mXimoRVTnH9sdbzWzX+4Nslseewaf9XM3kBnl5fMrR0VFT2+lZTU0YZGwbDv8T4qu0rR01JYoH0x4zOO0e8jcu6jy5KfX3OjtsXaVlQyIdATu74DmUk\/8oUlZeNUeX8F0M5FOdM6kqva9qKvcHMkBzwnJ5+pHoqXWkom1Dhr+0a2NgAa7OMjO3r81LvGoptR\/wC2W2hL2ucHAuaC44645NV3p\/StPa2R1NS0S1g3zn3WeA+6tvo80tzA4uvelS9G979O3chtob1qd3aXGR9BQ52p27OeP31PotHQW2jtkHY0kLY27cRHN3iT1UpFQ5N45HpU6MYPU8vqwiIol4REQBERAU9\/sX4tHFNTyCCtpzxRS8vHBI9fBV9Nqme3zex6gpnQSN5TtaS1+\/PGPmFqFzmghqY+zniZKw\/0vaHD0KmpYszPOi9Wum7P4M409zoatgfT1cMgJxs8Z9FJBBGQcgqin0ZZZnFzYZIiTn+HIf1yox0PSREupK+rgeevED9AEtDqc111vFP1P8GnRZj8J1RRb0t5ZUgf0zjcjzz9Va2eS8Pjlbd4YY3NIEboj+cdSRlHGyumShVcnpcWvl7yyREUC8IiIAiIgCxl1prlT6grKr8MkrWVEJijMZOGtIAOduePLmra6aroqCb2anY6tqc47OI7A9xO+\/gMqlu1TeJ6F891qmW2BwPZ0sX8yU9Ad8\/HPorqcWmefxVSnJWTyun1vgo6O\/XanomW6ilLG5OBGwF5z0zz9Fc2zR1bcZBV3ieRgdvwl3FK74k8lc6OtQorQ2eaANqJiXZc33g3kB4cs+a0KlOpZtRKuH4PVFSqtvsRaC2Udti7Ojp2RDqQN3fE8ypSIs7dz1FFRVkEREOhERAEREAREQBERAEREAREQBERAEREBWXfUFBZ24qJOKYjLYmbuP2WJuGqK67y9m50lNSnYxU+7neBO2fp4LdVllt1wqm1NXStmlY0NBcTjAOcYzjqVIp6KkpBimpoYf8A4YG\/RWxlGK2yYq1GtVlbVaP7uY61013DGxWm1Nt7SMOqqkZkPjkj5AK3t2lWRVDa251MldVDq8ktHruf3stCi46jexOHCwjbVm3u9wREVZqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/9k=",
    "razonSocial": "SOC. POR ACCIONES EDUCACION BRAC SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "JORGE CAMARILLO",
    "correoContacto": "bodega@colegiocostacordillera.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE IMPRIME CON MANCHAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56968558211",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:45",
    "ubicacionGPS": "LatLng(lat: -23.6815315, lng: -70.406276)",
    "horaLlegada": "10:41",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 07/05/2026 13:45:48
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-bpIEqAcido0WW-D5Yo6.ol6A3u9x6f867KUmhY4hTclXMNvTwWt
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76689118",
    "serieinterna": "TO2530",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "1665801",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Configuracion\npruebas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12469",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACLAMoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA6EAABAwMCAwUGBAUEAwAAAAABAAIDBAURBiESMUETUWGBkRQicaGx0RUywfAjM0JS4SQlYoIHQ3L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQMCBAIKAwEAAAAAAAAAAQIDESESMQRBUWETIjJxgZGhscHR4fAUI0Ik\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREARF5e7gY55BPCCcDqgPSKgtWraK51j6UsfA\/ixEXbh48uRV+uuLW5XTqQqK8XcIiLhYERV1wvtttjXe01TONv\/AKmHif6dPNdSb2IylGKvJ2LFFj7hq25SU5qLbbZI6aM5dPM3IcOWNtufcSu0Fovt1p2VU+oXRCRocwU7TjB5ci1T8O2W7Gb+UpPTTTfw+ZcXq8w2elD3AvmlPDDEBkvO33XuzPuUlAH3RkbJ3EkBnRvQEdD++a\/Pa9lZHd5Kd9bV1VTTPAgfwlxJz0ycjfuyr1tj1ZUU7JH3V0T8fyzO5pA8S3qpumlHczQ4qpOo2ovHJfU2iLH2i5XWy1YoLxTVc\/tEgEc3GZN+4d4689u5bBVSjpZupVVUV7WfQIiKJcEREAReZJGRRukkdwsYC5x7gF4pqmGsgbPTyCSJ+eFzeRwcIcur2OqIiHQiIgCIiAIiID891XYH2yqNdSM\/0sjsnA\/lO+x\/x3LWaaubrrZopnnMsf8ADkPe4Ab+eQVZyxRzROilYHseMOa4ZBC\/NbbeprBcJexdx0\/aua+nJO4B5juPir1epG3NHlz08JW1\/wCZH6aqa5anoKB\/YRk1VSTgQw+8c9xPT6qno5rjq4u47hHR0oPvU8DsyEePXHy8ForbZaC1MxSQBrsYMjt3HzUNKj6RqVSdVXp4XV\/RfcpDHqe88TppRaaQjk0Zfj6\/MKqp3W2kmkhtlpmu1S0kGadvE3PeAM5HXp8VqdT1jKLT9U55GZWGJg7y4Y+mT5L3p2lNHYKSJzeF3BxOHiTn9VJStG5RKjerpTza93n3ckfKSKsudnlgu9NHTvlDmcEZzhuNjzOD9lX6OqnNpqi1TZ7aikI3\/tJ++fULSKJHbaWK5S3COMtnlZwPIJwRt079goasNGl0mpxknth90dxDEJjMImCUjBfwjiI7sroiKBoPhAPMZX1EQBERAEREB5c1r2Fj2hzXDBBGQQs1pmV1uulbYZCeGJxkgLure75g+q06zeqqKaF8F8otqijPvgf1M\/efIlThnyvmZq6cbVFy+XM0iKNb62K40MVXCfdlbnGfynqD8CpKhsaE01dBERDoREQBQ7ldaS1U5mq5eEcg0bucfAKpumpyKn8Ps0XtlYcglu7Wff6L5bNLn2j2+9S+21buTXbsZ9\/orFG2ZGaVZyemkrvryX3Ij6696ka51GDbbcASZn5Dnjrv9vVNC0URpp650Qc8ylscr2+9jG+PVWuqa8W+wzcLuGSUdnGAQDvscfAZUiwUH4dZaanc3hfw8Tx\/yO5+yk5eTBRGl\/0K7u0rv27eoi3HS1FWy+007n0VWDkTQbb95H2wVEJ1hQjs2Mpa9o2EjsA\/Vv7C0yKCm+eTRLh4t3jdPsZiKzXS9V0dRfwyOGHdlNEfdcfHcrToi5KTZOnSjTvbd8wiIoloREQBERAFXtvNMby61ubIyYM4g57cNd4DvVgsxrFppJLfd4x79NMGuxjJB3x8j6qUEm7FFecqcNa5b+o06Ly1zXsD2nLXDIPeF6US8Ly9jZI3RvaHNcCHA9QvSIDKWVx09fJbJUPJgqD2lM8956fLHxHitWqbU1pNzt3aQNPtdOeOFzdneIB\/e+F009eG3i3CR21RH7kzcYw7v81ZLzLUZKX9U\/Ce26+3sLVEVVer\/S2iPhJE1U7ZkDT7xPj3BQSbdkaZzjBapPBLrrjR22LtKuoZEMEgOO7sc8DmefRZasrL1qiKf8LjMFAwHBceF0xHTP6cu8qFNDcLhqO3m9sw2ofltPnZjR0x0z6rfMYyNgZG0Ma0YDWjACtdoW5sxJy4ltPEV72YzQ1whhNRQTMjikzxB7sNc7oWnPd91q6+40lspzPVzCNvQdXHuA6rLVlrpLrrielkbiPsA6Tsxgh2BvnHiFZ0uirPTTdo5ks++Q2V4LR5ADPmk9Ld2RoOtGDpxSdm1f8ABDoIKjVFzjulZG+KhpzmmiOMOORv47jfbwWsXxrQ1oa0AADAA6LhWV1Lb4DPVzNijHV3X4DmVW3qeDXTgqUW2882SFAuV6oLUzNXOGuxkRt3cfJUb77db9I6nsdMYYM4dVyjkPDu+Z+CmW7SdFRv9prHuranmZJTsD34++VLSl6RX40qmKS9r2\/JU3TUV5q7fJV0dOaGibjEz\/zvycDh\/wAeq09lnqqqz09RWY7eRvE7DcbEnG3wws+57tWX8RMObXRHiLuHaV223nv5fFa1rQ1oa0AADAA6Ls7JJWIcMpSnKbk2tvX3R9REVRtCIotyt8V0onUk75GxvIJ7N2CcHOERx3SwSkXlrQxga3k0YG+V6Q6FWajpva9P1kQGSI+MfFu\/6KzXxwDmlp3BGCup2dyM46ouL5lXpmqNXp6jkPNrOzP\/AFOP0Vqsvo15pjX2qRw46eYkDO5HIn5fNahSmrSZVw8tVKLf7YIiqL7f4rOxkTGGarmH8KIA+ROPHbxUUm3ZFk5xhHVJ4LSSWOJvFJI1gzjLjhZO4OGn79Hd6X3rfVngqBGcgO7\/ANfXvXCntzbldXQ6hq5XVbo+0EDDwsjbvzPLbw7+ZVPVPgdXvt1tq5GW2V7Y3Ol3aDkbjz39ehV8IWdjza\/EOUU7WzjOb918zV3TUr31At1jaKqrecF4GWM8+R+PILtZdNx0L\/bK1\/tVe88TpH78B8Pv9FC0e6Kinq7TLC2OthcS545yNz+mfQrVKEnp8qNNGPi\/2zy+nJfky+oXdjqmyzO2aX8OfHIH6hadzg1pc4gADJJ6Ksv9nF5oREx4injcHxSf2n64\/wAdyqJ6HVFzh\/D6qSGnpxgPnbjilb4gH5bJiSWQ3KlOVot3yjppn\/cLzcryP5cruziJ54H02Ddv2dK97I2F8jgxrRkuccAKgqLza9M0jLfTj2idgwIo8ZLv+RAwD8\/BRGWa76ieJr3MaWmBy2lj2J8SOnnk\/BGru7wiNOp4cdEVqlz6XfVnes1W+pnNFYaY1k5H83GGN9fqcBKPSj6mcVt+qTWTkfys4Y30+gwFe0dDS2+AQUkLYox0b1+J5lSFzXbESxUHN3qu\/bl+faeWMZGwMjaGNaMBrRgBZ\/VN0laIrRQnNXWENJa7Bjbkc\/j9Mq4uVwhtdBLVzn3WDYDm49AFS6Xt00rn32vJdVVY9wEbNZtg+YA8kireZis3JqlDd79kW9ptsVqt0VJEPyjL3f3O6lTURQbvk0xiopJBERcOhERAEREAREQGWu3FZtWUlzY0NgqwIZz0znmfLB\/6lalVWpbcLlZJ4gCZIx2seP7gOXmMjzTTVw\/EbHBKSTIwdm8nq4dfoVY8xTMtPyVpQ5PK+pYzPdFBJIyMyOY0uDG83EDkFnLHb5e2nv8Aex2c5yWCU47FnwPL9960znBrS5xAAGST0WSramp1bXOt9C4x22Jw7afH8w+H6DzSF7McRZOL3fJd+vsKuGkq9T6hrZ6d7oqWR3BLL\/wGMD4kNH6q51Vb6W36WbDTQtY2KVpbtvnkSe8pohjYo7jG38rKjhHwC764cG6eIP8AVK0D5lWOT1qPIyRpr+NKo93c83S111TLQXi24NaxrRICQ0PaR19T5fBaRcabEVFFxkAMjGTnYYCoq\/VYfP7FZYfbqo5HEPyN8fH6eKqzLBsvTo3k3vy79i7ra+lt1OZ6uZsTByydye4DqVmnXK8ame6G1sNFQ5w6pf8AmcOuPsPVd6HS0lVUe336b2qc7iEH3GeH+Bt8VpGMZGwMjaGNaMBrRgBdvGO2WR01K3peWPTm\/X0Ky0adobQ0PY3taj+qd497y7laoig227s0whGC0xVkERFwkZe9h941NR2fhd7NCO3mIxv3foP+xWna0NaGtAAAwAOizMJFN\/5CqHSAtFVThsZcMBxAby7\/AMpWnVk9kjNQy5ye9\/lsERFWaQiIgCIiAIiIAiIgCy1nabJqirtj3EQVY7anzyz3fUeS1Kx+vJ4o\/YhG4isY4vaWndrO\/wBR8irKeXp6mXimoRVTnH9sdbzWzX+4Nslseewaf9XM3kBnl5fMrR0VFT2+lZTU0YZGwbDv8T4qu0rR01JYoH0x4zOO0e8jcu6jy5KfX3OjtsXaVlQyIdATu74DmUk\/8oUlZeNUeX8F0M5FOdM6kqva9qKvcHMkBzwnJ5+pHoqXWkom1Dhr+0a2NgAa7OMjO3r81LvGoptR\/wC2W2hL2ucHAuaC44645NV3p\/StPa2R1NS0S1g3zn3WeA+6tvo80tzA4uvelS9G979O3chtob1qd3aXGR9BQ52p27OeP31PotHQW2jtkHY0kLY27cRHN3iT1UpFQ5N45HpU6MYPU8vqwiIol4REQBERAU9\/sX4tHFNTyCCtpzxRS8vHBI9fBV9Nqme3zex6gpnQSN5TtaS1+\/PGPmFqFzmghqY+zniZKw\/0vaHD0KmpYszPOi9Wum7P4M409zoatgfT1cMgJxs8Z9FJBBGQcgqin0ZZZnFzYZIiTn+HIf1yox0PSREupK+rgeevED9AEtDqc111vFP1P8GnRZj8J1RRb0t5ZUgf0zjcjzz9Va2eS8Pjlbd4YY3NIEboj+cdSRlHGyumShVcnpcWvl7yyREUC8IiIAiIgCxl1prlT6grKr8MkrWVEJijMZOGtIAOduePLmra6aroqCb2anY6tqc47OI7A9xO+\/gMqlu1TeJ6F891qmW2BwPZ0sX8yU9Ad8\/HPorqcWmefxVSnJWTyun1vgo6O\/XanomW6ilLG5OBGwF5z0zz9Fc2zR1bcZBV3ieRgdvwl3FK74k8lc6OtQorQ2eaANqJiXZc33g3kB4cs+a0KlOpZtRKuH4PVFSqtvsRaC2Udti7Ojp2RDqQN3fE8ypSIs7dz1FFRVkEREOhERAEREAREQBERAEREAREQBERAEREBWXfUFBZ24qJOKYjLYmbuP2WJuGqK67y9m50lNSnYxU+7neBO2fp4LdVllt1wqm1NXStmlY0NBcTjAOcYzjqVIp6KkpBimpoYf8A4YG\/RWxlGK2yYq1GtVlbVaP7uY61013DGxWm1Nt7SMOqqkZkPjkj5AK3t2lWRVDa251MldVDq8ktHruf3stCi46jexOHCwjbVm3u9wREVZqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/9k=",
    "razonSocial": "SOC. POR ACCIONES EDUCACION BRAC SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "JORGE CAMARILLO",
    "correoContacto": "bodega@colegiocostacordillera.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE IMPRIME CON MANCHAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56968558211",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:45",
    "ubicacionGPS": "LatLng(lat: -23.6815315, lng: -70.406276)",
    "horaLlegada": "10:41",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


07/05/2026 13:45:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76689118

[07/05/2026 13:45:49] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76689118', 'TO2530', 1, 21773342, 1665801, NOW(), 
				'08:00', '10:41', '13:45', 15, 'Configuracion
pruebas', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778175949.png', '', null, 'COMPLETADO','LatLng(lat: -23.6815315, lng: -70.406276)' )
				
[07/05/2026 13:45:49] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200216

07/05/2026 13:45:49 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200216'                    
				WHERE idllamado = 12469			
				TO ENVIO: micorreo@miempresa.cl, bodega@colegiocostacordillera.cl


07/05/2026 13:45:49 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12469			
				
07/05/2026 13:45:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


07/05/2026 13: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 = 12469
                
07/05/2026 13: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 = 12469
                
07/05/2026 13:45:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:45:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12469
            GROUP BY l.idllamado;
            
07/05/2026 13:45:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:45:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:45:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:45:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:45:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:45:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                [07/05/2026 13:45: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;
                

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

07/05/2026 13:45:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:45:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12469
            GROUP BY l.idllamado;
            
07/05/2026 13:45:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:45:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                
07/05/2026 13:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12469
                [07/05/2026 13:58: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/05/2026 13:58:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 13: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 = 12236
                
07/05/2026 13:58:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 13:58:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            [07/05/2026 13:58: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/05/2026 13: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 = 12236
                
07/05/2026 13: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 = 12236
                
07/05/2026 13: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 = 12236
                
07/05/2026 13:58:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 13:58:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 13:58:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            [07/05/2026 13:58: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;
                

07/05/2026 13:58:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 13:58:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                [07/05/2026 13:58: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;
                

07/05/2026 13:58:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 13:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 13:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 13:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 13:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 13:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 13:58:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 13:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 13:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 13:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 13:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 13:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 13:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 13:58:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 13:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 13:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 13:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 13:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 13:58:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 13:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 13:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 13:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 13:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 13: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 = 12236
                
07/05/2026 13:58:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 13: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 = 12236
                
07/05/2026 13: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 = 12236
                
07/05/2026 13:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 13: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 = 12236
                
07/05/2026 13: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 = 12236
                
07/05/2026 13: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 = 12236
                
07/05/2026 14:00:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 14:00:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:00:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:00:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:00:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 14:00:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:00:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:00:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 14: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 = 12236
                
07/05/2026 14: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 = 12236
                
07/05/2026 14: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 = 12236
                
07/05/2026 14: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 = 12236
                
07/05/2026 14:14:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 14:14:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 14:14:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14: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 = 12236
                
07/05/2026 14:14:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 14: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 = 12236
                
07/05/2026 14:14:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 14: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 = 12236
                
07/05/2026 14: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 = 12236
                
07/05/2026 14: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 = 12236
                
07/05/2026 14: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 = 12236
                
07/05/2026 14: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 = 12236
                
07/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 14: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 = 12236
                
07/05/2026 14: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 = 12236
                
07/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 14: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 = 12236
                
07/05/2026 14: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 = 12236
                
07/05/2026 14: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 = 12236
                
07/05/2026 14:14:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 14:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 14:14:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 14:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:40 - logentry: =========================================
FECHA: 07/05/2026 14:14:40
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-YM3OywdjZv1yOUntPlPsX7T3NNeEZzMa.RdIlKGbcMU-zGCB_yN
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76689118",
    "serieinterna": "KY2715",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "59630",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Revision, limpieza\nMantenimiento",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12236",
    "observacion": "no presenta manchas",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACWAMgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA7EAABBAIAAwUFBwMEAQUAAAABAAIDBAURBiExEhNBUXEUImGBkTJCobHB0fAVIzMkQ1Lh8TRjcoKS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QALxEAAgECBAQEBgMBAQAAAAAAAAECAxESITFBBBNR0SJhcZEUIzKBobFCYuHB8P\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBERAEREAXiWWOGJ0srwxjBtznHQAXtZzjmd0WADW7\/uzNYdHXLRPz6K0Vd2M6tTlwc+hxOZyufnfDgwyvXjOnWpR168uYPXkem\/RWOJpZqpYcb+Rjswlv2A3m13wOlYVatfHU2QQNEcMTf\/JKz9jNW85kH43CSd3HGNyW9bHy\/nPn4c1f6sksjma5dpVJNyey7GoRZ6niM\/BcilnzYlia4F7CzfaHiEWbVtzppzclnGxoURFBoEREAREQBERAEREAREQBEXC3cr0Ye+tSiKPeu07ptCG0ldndF8a4OaHNIII2CPFfUJCIiAKpj4jonKS4+ftVpWHQM2mh\/od\/+VOt36dBnbt2Y4RrY7btE+g6lZHNZOtxIz2fHYme3Kw6bYLS0M36eHrpaQjfU5eIrYF4Xn06m2VTxBFjblB1S9cirbIcxznN20+YB9SqarwznbFUQ38zJDEBoRMcXnXkTsfqp9fgrDwncrZrDupMknj8tJaMXqVc6tWNsFk+r7Gcs2oZu1De4nmsQeLIYne9zHLnofmrSlxRicfXFbGYy05g8QwbcfEk7JJWjgxGNraMNGuwjxEY39VLAAGgNAKznF5WKQ4apF3xJP0b\/bKfEcQf1a26D2Cev2WF\/akHI8wNfiiuUWTaeh2QUkrSdwiIoLhERAEREARZniOxJjM7i8iZHNg2Y5Rz0B5\/Qn6LTKzVkmZwqYpSj0CIiqaBERAFCyuLr5ek6tYHLq1w6sPmFNRSnbNESipKz0Pz3vcxwZdEbj39R32QSe7f6f8AF385rbYzJ1stTbZrP208nNPVh8io2fv4mtSfDlCJGSDfcjm93PwHh68lgJa2RqVZ7laCzWoTu7HN2tt3sb8\/X91vbmK7yZ5bm+Enhi8Uem6\/w3uS4mxWN22SwJZR\/txe8fn4D5qrbZ4mzr\/9PH\/S6h++8e+R8N8\/pr1Vfw1lMJjjG21SdWsOGxYkHaBHgR5fIK1s8X+0TmrhKT7s3\/Mghg+Ouuvoow4XZIsqyqRxTnZdFr3OtLg2hDIJrskl6YHZMh00n0\/cq9hhirxiOCJkTB0axoAHyCxOaucRY6Bs1zKwxSS67NeEDta8+n6rWYW1Lcw9WzMQZJGbcWjQ\/Mqs1K12zbh50sbhCNmiciIsjtCIiAIiIAiIgCIiAIiICt4gxxymGnrsAMmu1Hv\/AJDp+3zUfhbKHJ4hgkP9+v8A25N9TrofmPx2rpZPJB\/DPEDcpCw+w3D2bDWjk13n+v1WkfEsJy1flzVXbR9\/saxF5Y9skbZGODmuALSPEL0szqCIqjL8S0MO90Mxc+fsdtsbR18gT4KUm8kUnOMFeTsi0lljgidLM9scbBtznHQAWascR3MrO+lw\/XLz0dafya34jf6\/RcG43JZ7\/XZxz4KUYL2VYge04Dn06\/r5aUzhziDGWQ3HwVvYZBvsw9Q7z5+J9VoopK+pxyqyqSUb4U\/d9v2dMXwpXrSe15B\/ttxx7Re\/ZaD8AevqV34hy9DH0nwWm9++ZpaK7Tzd6+Xqo+Y4glZaGLw7PaLzjpxA22L1\/nLxXrDcOR0ZDfvv9pvu250jjtrD8P3T+0iVbOlQXq\/\/AGrMxw9hZM3JLVuTzRV6Lv8AD94OcTsc+n2eatc1w7isTXfeiuWKRA01sb99o+AHj+PgvOEydbHuzeVmcRBNZ1EB1eduOh5nTgveNxtriW63L5dvZqt\/9PX8CP2\/P0WjbxXbyOSnTpumoxV5P8K+pBocJ383Wbev5F7HPH9vtgyuLfPe+S29SrFSqR1oQRHEOy3Z2dLqAANAaAX1Yym5ano0eHhRzWvUIiKh0BERAEREBHuX6uPjbJambE17g0Fx6kqQoOZxzcri5qjjouG2HycOYUDhXJvu441rILbVN3dyNd15dDrw8vkrW8NzHmNVcD0en\/S9REVTYIiIAuFynBfqSVbLO3HINEfqF3RCGk1ZmVw1ybA5E4PIvJic7\/STu6EeA\/nQrVKtzuJgy+OfDKQx7AXRyn7h\/bzWRq5zK5OOHAxWImPcTG60X83tHx\/hPJa4cea+5w834Z8uWa27F7nOJzXe+limizbAJe5o7TYgOp+JH0Hj5KJwhimXI35m+DYsSvPduk56A5b9d8vhpWcfD9bGYG5WqsL5pa72uk1tzyWkfwLzwbI1\/DcDAfeic9jx5HtE6+hCm6UHhIUJyrxdXo3bZF6sJnYK2YzTauEqg24z2prEbuy3l+HXx+XNWmVytnL3HYbDO+FiyOjB4gFXOMxlXDURBAAABuSR3Vx8yoj4M9y9RfEPAvpWr7dzFcN0M29tl+MtwVpGv7EzZmgu2P8A6n4\/RWOTq5aGk+TP5pgq9O6rt96U\/wDHo34rxhcvWxkeWyk2xHYs\/wBmNv3ztx0P\/wBDZUrH4WznbQy2cHuHnBV8APiPL4ePitJPO7OOnBOmoQu2\/N29WRMBgH5V0V6\/GWUohqvXcd9oeZ8x+fpoLagADQGgEAAGgNAL6sJScmenRoxpRstQiIqmwREQBERAEREAWVzL\/wChcTVcq0EV7Q7qwR09fpo\/JapVnEVD+o4OzCB74b22ct828\/x6fNXg7PMw4iDlC8dVmvsWaKo4YyByOCgke\/tSR\/25D8R\/1pW6q1Z2NITU4qS3CIiguZ65xWadyWucVbf3bi3tBvJ3xHwUYcdQEu3jbOmH3yNe76rTTTR14XzTPDI2DbnOPIBfnDnsy3ED445Zq9HIWRskfbI6fiflsLeCjLVHm8TUq0mrT12siff4iHEVuKg2x\/T6Lv8AK+R2i\/4Hw\/nNaC7wxQt4uKvVAhfCNwTN6g+ZPjtSpcBi5qDKL6jO6YNN1ycPjvr4lVWHks4XOf0GxYM8EkfeVnO6geXw6O+ii914crEqm4y+dniyv08jthM3MLBxGXHd3o+TXnpKP3\/NZ+9FPHnLlHhyaVzZmk2I2a7LfPR+evPnpWvF7o7tyrjKsHeZFxDmSA67sevy38Oq+cKSw4uzNibsPcX3P33jjvvh4aKssliXsZTvOaoyeSf1b+nqcMVnI8JSbUbg7bJAAZTrm53meX4eCh53im9kI\/YYKj6zJhotPN8gJ6dOXor3LcRvlsf0vCD2i4\/k6RvNsfnz6b\/AKRg+HI8a51q28Wb0h2+U8+yT11v80vFeJrMnBUn8qnPwrV2Xt5lZw7wj3BjuZQB72gGKA8wzx5\/H4LXIixlJyd2ehSowpRwxCIiqahERAEXwkAbJ0AucNmCyCYJ45Q06JY4O0fkhF0dUREJCIiAIiIDL8Pl2P4mymKPKNx76NvgPT5OH0WoWXz4dj+J8XlByY89zIT0A+PPycfotQtJ52ZzcP4cVPo\/w8wvLnNYwve4Na0bJJ0AF6WVzFqbPZYYOhI5sDCfbJWjpr7v6evoqxjdmlWpy11b0Ry7c\/GWQdG1zosTWdz1yMp\/n09VdZPAVb2MjpxAVjBzgewfYKm0qVfH1WVq0YZGwch5\/E\/FSFLnnkZwoLC+Zm3qZSnxBcwu6efhlcW\/YssHaBGzrfn06\/VV9zORTZ5ubhYe6qwmOJsnumV2j+Xb36Lcua17S17Q5p6gjYKxGQyVOzxGXWHCPHYx3JjR\/kkHgB6j6NWkGm27HLxEZ04pOe+V+\/kW3D2M\/p9aXL5V7fa5\/ffJIf8bT+R\/6CrMm+Xi\/IMgxsDRBWPvW3gj6Hy8ddfRSIquS4tlbYul1TGAgsgB5yjz\/AO\/otTWrQU4GwV4mxRsGg1o0FDlhd9y0KXNhgWUPyys4bxBxONDJoYmWXE949hJ7Q3y2VcIiybbd2d0IKEVGOiCIuc9iGtGZJ5WRMA2XPdoKC7dtToiztnjKl2+5x0E9+cj3WxsIB\/X6BRxBxTmeU8zMXXc3mGD3\/wA9\/iFfA98jmfEwbtDxPy76F9ey1DGtJt2o4yBvsE7cfQdVmcpm5eJKr8disdYka\/RMpd2ANHx8NepVpQ4PxdRwkma63LrmZubd\/wDx\/favGMZGwMjaGNaNBrRoBSnGOmZVwrVVaTwp7LN+5l4+HMvkmtGYyb2Q9kDuIHfn4fPmr7G4upia3cVI+y0nbiTsuPmSpiKrm3ka06EIO616vUIiKpsEREAREQGe43h7zAGUdYJWv35eH6q6pWBbowWGnYlja\/6jai5+MS4C80gHUDnc\/gN\/ouPC0pm4bpvcdnsub9HEfor\/AMDmWXEPzX6f+njibMHFY\/sQ87VjbIgDzHL7Xy5fMhdeH8M3EUdP96zNp079727y+W1RwW61jiu5kcjbjjhonsQMkdrn02B49CfUjyUmfi2S6XQ4Wo55HI2J\/djZ8fp569FfC7WRgq0HN1JvyS3839zUIslj8vVwVaw+\/ljkLUru26OE9trDzHI9PXp4fMYM\/wASnczjjse\/\/b++9vx8T89D4KvL66GvxKaWFXl07vYk5ri2Gp3lbHN9qshp25vNseupPnpV\/CfDlW3BHlrb\/aHOc7UR5gEHW3eZ8Vp8diKOKhdFUhDO19p29ud6nqqexwpNWsvtYS++pI87cxx20\/8AW\/PaspRtZZGU6VRzVSaxW26dzSAADQGgF9WYE3GcQ7o1qk\/\/ALpIH6j8k7PGVgFpdUrctbGj+\/8AAqYPNG\/xH9JexpiQBsnQCp7\/ABViKAINoTyAcmQ+9v59B9VBHCM9x3by+XsWN8yxh00H4b\/YK2oYHGY14fWqMbIPvu25w+Z6KbQWruRirz0Sj65\/hdymGV4kzOhj6LKMLxymmOz6jY\/QrpX4OZNI2fMXZr0uubS8hvpvr+S0yJje2RK4aLzqPF66exHqUKlFnYq144RrXut0T6nxUhEWZ0JJKyCIiEhERAEREAREQBFwt3K1GEzWp2QsHi4636eazUnEGWzUjocFUMcW9GzKP35D8SrRi2Y1K0KeTzfRal1nblStirMdqdkfexPY0OPNxII5Ac1lsDk83LiYsdiqYHdlwNqT7Ldknlsa3z+PomSxVPE13zZKy7I5SYajiLiRs+Oup1\/AtNw3QfjcJBBI0tkI7b2k70T4LXKMepx\/MrV8\/DZbalVBwNXkbJJkbcs1mU9pz4yGgEnZ6g7XWPgTEseHOktPA+657dH6ALSos+ZLqdK4Sgv4ldTwGKoEOr0ow4fed7x+pViiKrbepvGMYq0VYIiKCwREQBERAEREAREQBERAEREAREQBERAZXiLhnI5bKNtV7UPdtYA1kxPunx0ACCPHmvrOHs9MwMs53uWAa7Fduhry5dlEW+JqKPN5UHWd9\/Nk7F8L0sdZ9re+S1Z695Kd6PmArtEWLbep3wpxpq0VYIiKC4REQBERAEREAREQBERAEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "SOC. POR ACCIONES EDUCACION BRAC SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "JORGE",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "WSP",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "CONEXION Y CONFIGUARCION",
    "prioridad": "1",
    "telefonocontacto": "+56 9 6855 8211",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "14:14",
    "ubicacionGPS": "LatLng(lat: -23.681816, lng: -70.4066338)",
    "horaLlegada": "10:41",
    "horaDespacho": "13:45",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 07/05/2026 14:14:40
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-YM3OywdjZv1yOUntPlPsX7T3NNeEZzMa.RdIlKGbcMU-zGCB_yN
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76689118",
    "serieinterna": "KY2715",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "59630",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Revision, limpieza\nMantenimiento",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12236",
    "observacion": "no presenta manchas",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACWAMgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA7EAABBAIAAwUFBwMEAQUAAAABAAIDBAURBiExEhNBUXEUImGBkTJCobHB0fAVIzMkQ1Lh8TRjcoKS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QALxEAAgECBAQEBgMBAQAAAAAAAAECAxESITFBBBNR0SJhcZEUIzKBobFCYuHB8P\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBERAEREAXiWWOGJ0srwxjBtznHQAXtZzjmd0WADW7\/uzNYdHXLRPz6K0Vd2M6tTlwc+hxOZyufnfDgwyvXjOnWpR168uYPXkem\/RWOJpZqpYcb+Rjswlv2A3m13wOlYVatfHU2QQNEcMTf\/JKz9jNW85kH43CSd3HGNyW9bHy\/nPn4c1f6sksjma5dpVJNyey7GoRZ6niM\/BcilnzYlia4F7CzfaHiEWbVtzppzclnGxoURFBoEREAREQBERAEREAREQBEXC3cr0Ye+tSiKPeu07ptCG0ldndF8a4OaHNIII2CPFfUJCIiAKpj4jonKS4+ftVpWHQM2mh\/od\/+VOt36dBnbt2Y4RrY7btE+g6lZHNZOtxIz2fHYme3Kw6bYLS0M36eHrpaQjfU5eIrYF4Xn06m2VTxBFjblB1S9cirbIcxznN20+YB9SqarwznbFUQ38zJDEBoRMcXnXkTsfqp9fgrDwncrZrDupMknj8tJaMXqVc6tWNsFk+r7Gcs2oZu1De4nmsQeLIYne9zHLnofmrSlxRicfXFbGYy05g8QwbcfEk7JJWjgxGNraMNGuwjxEY39VLAAGgNAKznF5WKQ4apF3xJP0b\/bKfEcQf1a26D2Cev2WF\/akHI8wNfiiuUWTaeh2QUkrSdwiIoLhERAEREARZniOxJjM7i8iZHNg2Y5Rz0B5\/Qn6LTKzVkmZwqYpSj0CIiqaBERAFCyuLr5ek6tYHLq1w6sPmFNRSnbNESipKz0Pz3vcxwZdEbj39R32QSe7f6f8AF385rbYzJ1stTbZrP208nNPVh8io2fv4mtSfDlCJGSDfcjm93PwHh68lgJa2RqVZ7laCzWoTu7HN2tt3sb8\/X91vbmK7yZ5bm+Enhi8Uem6\/w3uS4mxWN22SwJZR\/txe8fn4D5qrbZ4mzr\/9PH\/S6h++8e+R8N8\/pr1Vfw1lMJjjG21SdWsOGxYkHaBHgR5fIK1s8X+0TmrhKT7s3\/Mghg+Ouuvoow4XZIsqyqRxTnZdFr3OtLg2hDIJrskl6YHZMh00n0\/cq9hhirxiOCJkTB0axoAHyCxOaucRY6Bs1zKwxSS67NeEDta8+n6rWYW1Lcw9WzMQZJGbcWjQ\/Mqs1K12zbh50sbhCNmiciIsjtCIiAIiIAiIgCIiAIiICt4gxxymGnrsAMmu1Hv\/AJDp+3zUfhbKHJ4hgkP9+v8A25N9TrofmPx2rpZPJB\/DPEDcpCw+w3D2bDWjk13n+v1WkfEsJy1flzVXbR9\/saxF5Y9skbZGODmuALSPEL0szqCIqjL8S0MO90Mxc+fsdtsbR18gT4KUm8kUnOMFeTsi0lljgidLM9scbBtznHQAWascR3MrO+lw\/XLz0dafya34jf6\/RcG43JZ7\/XZxz4KUYL2VYge04Dn06\/r5aUzhziDGWQ3HwVvYZBvsw9Q7z5+J9VoopK+pxyqyqSUb4U\/d9v2dMXwpXrSe15B\/ttxx7Re\/ZaD8AevqV34hy9DH0nwWm9++ZpaK7Tzd6+Xqo+Y4glZaGLw7PaLzjpxA22L1\/nLxXrDcOR0ZDfvv9pvu250jjtrD8P3T+0iVbOlQXq\/\/AGrMxw9hZM3JLVuTzRV6Lv8AD94OcTsc+n2eatc1w7isTXfeiuWKRA01sb99o+AHj+PgvOEydbHuzeVmcRBNZ1EB1eduOh5nTgveNxtriW63L5dvZqt\/9PX8CP2\/P0WjbxXbyOSnTpumoxV5P8K+pBocJ383Wbev5F7HPH9vtgyuLfPe+S29SrFSqR1oQRHEOy3Z2dLqAANAaAX1Yym5ano0eHhRzWvUIiKh0BERAEREBHuX6uPjbJambE17g0Fx6kqQoOZxzcri5qjjouG2HycOYUDhXJvu441rILbVN3dyNd15dDrw8vkrW8NzHmNVcD0en\/S9REVTYIiIAuFynBfqSVbLO3HINEfqF3RCGk1ZmVw1ybA5E4PIvJic7\/STu6EeA\/nQrVKtzuJgy+OfDKQx7AXRyn7h\/bzWRq5zK5OOHAxWImPcTG60X83tHx\/hPJa4cea+5w834Z8uWa27F7nOJzXe+limizbAJe5o7TYgOp+JH0Hj5KJwhimXI35m+DYsSvPduk56A5b9d8vhpWcfD9bGYG5WqsL5pa72uk1tzyWkfwLzwbI1\/DcDAfeic9jx5HtE6+hCm6UHhIUJyrxdXo3bZF6sJnYK2YzTauEqg24z2prEbuy3l+HXx+XNWmVytnL3HYbDO+FiyOjB4gFXOMxlXDURBAAABuSR3Vx8yoj4M9y9RfEPAvpWr7dzFcN0M29tl+MtwVpGv7EzZmgu2P8A6n4\/RWOTq5aGk+TP5pgq9O6rt96U\/wDHo34rxhcvWxkeWyk2xHYs\/wBmNv3ztx0P\/wBDZUrH4WznbQy2cHuHnBV8APiPL4ePitJPO7OOnBOmoQu2\/N29WRMBgH5V0V6\/GWUohqvXcd9oeZ8x+fpoLagADQGgEAAGgNAL6sJScmenRoxpRstQiIqmwREQBERAEREAWVzL\/wChcTVcq0EV7Q7qwR09fpo\/JapVnEVD+o4OzCB74b22ct828\/x6fNXg7PMw4iDlC8dVmvsWaKo4YyByOCgke\/tSR\/25D8R\/1pW6q1Z2NITU4qS3CIiguZ65xWadyWucVbf3bi3tBvJ3xHwUYcdQEu3jbOmH3yNe76rTTTR14XzTPDI2DbnOPIBfnDnsy3ED445Zq9HIWRskfbI6fiflsLeCjLVHm8TUq0mrT12siff4iHEVuKg2x\/T6Lv8AK+R2i\/4Hw\/nNaC7wxQt4uKvVAhfCNwTN6g+ZPjtSpcBi5qDKL6jO6YNN1ycPjvr4lVWHks4XOf0GxYM8EkfeVnO6geXw6O+ii914crEqm4y+dniyv08jthM3MLBxGXHd3o+TXnpKP3\/NZ+9FPHnLlHhyaVzZmk2I2a7LfPR+evPnpWvF7o7tyrjKsHeZFxDmSA67sevy38Oq+cKSw4uzNibsPcX3P33jjvvh4aKssliXsZTvOaoyeSf1b+nqcMVnI8JSbUbg7bJAAZTrm53meX4eCh53im9kI\/YYKj6zJhotPN8gJ6dOXor3LcRvlsf0vCD2i4\/k6RvNsfnz6b\/AKRg+HI8a51q28Wb0h2+U8+yT11v80vFeJrMnBUn8qnPwrV2Xt5lZw7wj3BjuZQB72gGKA8wzx5\/H4LXIixlJyd2ehSowpRwxCIiqahERAEXwkAbJ0AucNmCyCYJ45Q06JY4O0fkhF0dUREJCIiAIiIDL8Pl2P4mymKPKNx76NvgPT5OH0WoWXz4dj+J8XlByY89zIT0A+PPycfotQtJ52ZzcP4cVPo\/w8wvLnNYwve4Na0bJJ0AF6WVzFqbPZYYOhI5sDCfbJWjpr7v6evoqxjdmlWpy11b0Ry7c\/GWQdG1zosTWdz1yMp\/n09VdZPAVb2MjpxAVjBzgewfYKm0qVfH1WVq0YZGwch5\/E\/FSFLnnkZwoLC+Zm3qZSnxBcwu6efhlcW\/YssHaBGzrfn06\/VV9zORTZ5ubhYe6qwmOJsnumV2j+Xb36Lcua17S17Q5p6gjYKxGQyVOzxGXWHCPHYx3JjR\/kkHgB6j6NWkGm27HLxEZ04pOe+V+\/kW3D2M\/p9aXL5V7fa5\/ffJIf8bT+R\/6CrMm+Xi\/IMgxsDRBWPvW3gj6Hy8ddfRSIquS4tlbYul1TGAgsgB5yjz\/AO\/otTWrQU4GwV4mxRsGg1o0FDlhd9y0KXNhgWUPyys4bxBxONDJoYmWXE949hJ7Q3y2VcIiybbd2d0IKEVGOiCIuc9iGtGZJ5WRMA2XPdoKC7dtToiztnjKl2+5x0E9+cj3WxsIB\/X6BRxBxTmeU8zMXXc3mGD3\/wA9\/iFfA98jmfEwbtDxPy76F9ey1DGtJt2o4yBvsE7cfQdVmcpm5eJKr8disdYka\/RMpd2ANHx8NepVpQ4PxdRwkma63LrmZubd\/wDx\/favGMZGwMjaGNaNBrRoBSnGOmZVwrVVaTwp7LN+5l4+HMvkmtGYyb2Q9kDuIHfn4fPmr7G4upia3cVI+y0nbiTsuPmSpiKrm3ka06EIO616vUIiKpsEREAREQGe43h7zAGUdYJWv35eH6q6pWBbowWGnYlja\/6jai5+MS4C80gHUDnc\/gN\/ouPC0pm4bpvcdnsub9HEfor\/AMDmWXEPzX6f+njibMHFY\/sQ87VjbIgDzHL7Xy5fMhdeH8M3EUdP96zNp079727y+W1RwW61jiu5kcjbjjhonsQMkdrn02B49CfUjyUmfi2S6XQ4Wo55HI2J\/djZ8fp569FfC7WRgq0HN1JvyS3839zUIslj8vVwVaw+\/ljkLUru26OE9trDzHI9PXp4fMYM\/wASnczjjse\/\/b++9vx8T89D4KvL66GvxKaWFXl07vYk5ri2Gp3lbHN9qshp25vNseupPnpV\/CfDlW3BHlrb\/aHOc7UR5gEHW3eZ8Vp8diKOKhdFUhDO19p29ud6nqqexwpNWsvtYS++pI87cxx20\/8AW\/PaspRtZZGU6VRzVSaxW26dzSAADQGgF9WYE3GcQ7o1qk\/\/ALpIH6j8k7PGVgFpdUrctbGj+\/8AAqYPNG\/xH9JexpiQBsnQCp7\/ABViKAINoTyAcmQ+9v59B9VBHCM9x3by+XsWN8yxh00H4b\/YK2oYHGY14fWqMbIPvu25w+Z6KbQWruRirz0Sj65\/hdymGV4kzOhj6LKMLxymmOz6jY\/QrpX4OZNI2fMXZr0uubS8hvpvr+S0yJje2RK4aLzqPF66exHqUKlFnYq144RrXut0T6nxUhEWZ0JJKyCIiEhERAEREAREQBFwt3K1GEzWp2QsHi4636eazUnEGWzUjocFUMcW9GzKP35D8SrRi2Y1K0KeTzfRal1nblStirMdqdkfexPY0OPNxII5Ac1lsDk83LiYsdiqYHdlwNqT7Ldknlsa3z+PomSxVPE13zZKy7I5SYajiLiRs+Oup1\/AtNw3QfjcJBBI0tkI7b2k70T4LXKMepx\/MrV8\/DZbalVBwNXkbJJkbcs1mU9pz4yGgEnZ6g7XWPgTEseHOktPA+657dH6ALSos+ZLqdK4Sgv4ldTwGKoEOr0ow4fed7x+pViiKrbepvGMYq0VYIiKCwREQBERAEREAREQBERAEREAREQBERAZXiLhnI5bKNtV7UPdtYA1kxPunx0ACCPHmvrOHs9MwMs53uWAa7Fduhry5dlEW+JqKPN5UHWd9\/Nk7F8L0sdZ9re+S1Z695Kd6PmArtEWLbep3wpxpq0VYIiKC4REQBERAEREAREQBERAEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "SOC. POR ACCIONES EDUCACION BRAC SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "JORGE",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "WSP",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "CONEXION Y CONFIGUARCION",
    "prioridad": "1",
    "telefonocontacto": "+56 9 6855 8211",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "14:14",
    "ubicacionGPS": "LatLng(lat: -23.681816, lng: -70.4066338)",
    "horaLlegada": "10:41",
    "horaDespacho": "13:45",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


07/05/2026 14:14:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76689118

[07/05/2026 14:14:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76689118', 'KY2715', 1, 21773342, 59630, NOW(), 
				'13:45', '10:41', '14:14', 3, 'Revision, limpieza
Mantenimiento', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778177680.png', 'no presenta manchas', null, 'COMPLETADO','LatLng(lat: -23.681816, lng: -70.4066338)' )
				
[07/05/2026 14:14:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200217

07/05/2026 14:14:40 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200217'                    
				WHERE idllamado = 12236			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


07/05/2026 14:14:40 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12236			
				
07/05/2026 14:14:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


07/05/2026 14:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 14:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                [07/05/2026 14:14: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;
                

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

07/05/2026 14:14:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 14:14:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12236
            GROUP BY l.idllamado;
            
07/05/2026 14:14:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                
07/05/2026 14:14:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12236
                [07/05/2026 15:06:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 15:06:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 15:06:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [07/05/2026 15:06: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/05/2026 15:06:55] 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/05/2026 15:06: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;
				
[07/05/2026 15:45: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/05/2026 15:45:47] 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/05/2026 15:46: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;
                
[07/05/2026 15:48:10] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/05/2026 15:48:10] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 27729424 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '27729424'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[07/05/2026 15:48:12] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 15:48: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/05/2026 15:48:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                [07/05/2026 15:48: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/05/2026 15:48:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 15:48:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:48:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 15:48:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 15:48:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 15:48:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:48:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                [07/05/2026 15:48: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/05/2026 15:48:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 15:48:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 15:48:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 15:48:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 15:48:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 15:48:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 15:48:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:48:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:48:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                [07/05/2026 15:48:51] 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/05/2026 15:48: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;
                

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

07/05/2026 15:48:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 15:48:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 15:48:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:48:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 15:48:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 15:48:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:48:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:48:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:48:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 15:48:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        [07/05/2026 15:48: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;
                

07/05/2026 15:48:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:48:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                [07/05/2026 15:48: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/05/2026 15:48:55] 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/05/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:48:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 15:48:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 15:48:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 15:48:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 15:48:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 15:48:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 15:48:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 15:48:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:48:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 15:48:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                [07/05/2026 15:48: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;
                
[07/05/2026 15:48: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;
                
[07/05/2026 15:48: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;
                

07/05/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                [07/05/2026 15:49: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;
                
[07/05/2026 15:49: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/05/2026 15:49:39] 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/05/2026 15:49:41] 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/05/2026 15:49:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 15:49:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 15:49:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 15:49:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        [07/05/2026 15:49: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;
                

07/05/2026 15:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:49:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 15:49:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 15:49:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 15:49:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 15:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                [07/05/2026 15:49: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;
                

07/05/2026 15:49:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 15:49:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 15:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                [07/05/2026 15:49: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;
                

07/05/2026 15:49:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 15:49:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 15:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 15:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                [07/05/2026 15:51: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/05/2026 15:51:15] 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/05/2026 15:51:18] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 15:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            [07/05/2026 15:51: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;
                
[07/05/2026 15:51:23] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 15:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
07/05/2026 15:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
07/05/2026 15:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:52:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
07/05/2026 15:52:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
07/05/2026 15:52:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                [07/05/2026 15:52: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/05/2026 15:52:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                [07/05/2026 15:52:16] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 15:52:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
07/05/2026 15:52:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
07/05/2026 15:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:52:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:52:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:52:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:52:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:52:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:52:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15: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 = 12502
                
07/05/2026 15: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 = 12502
                
07/05/2026 15: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 = 12502
                
07/05/2026 15: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 = 12502
                
07/05/2026 15: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 = 12502
                
07/05/2026 15: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 = 12502
                
07/05/2026 15: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 = 12502
                
07/05/2026 15: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 = 12502
                
07/05/2026 15:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:52:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:52:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:52:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:52:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:52:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15: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 = 12502
                
07/05/2026 15: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 = 12502
                
07/05/2026 15: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 = 12502
                
07/05/2026 15: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 = 12502
                
07/05/2026 15:52:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:52:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                [07/05/2026 15:53: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;
                

07/05/2026 15:53:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
07/05/2026 15:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:53:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
07/05/2026 15:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
07/05/2026 15:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                [07/05/2026 16:10:05] 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/05/2026 16:10: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/05/2026 16:10: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;
                
[07/05/2026 16:10:13] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 16:10:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
07/05/2026 16:10:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
07/05/2026 16:10:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            [07/05/2026 16:10: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/05/2026 16: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 = 12502
                
07/05/2026 16: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 = 12502
                
07/05/2026 16: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 = 12492
                
07/05/2026 16: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 = 12492
                
07/05/2026 16:17:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:17:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 16: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 = 12492
                
07/05/2026 16: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 = 12492
                
07/05/2026 16:17:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:17:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 16: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 = 12492
                
07/05/2026 16: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 = 12492
                
07/05/2026 16: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 = 12492
                
07/05/2026 16:17:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:17:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 16: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 = 12492
                
07/05/2026 16: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 = 12492
                
07/05/2026 16: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 = 12492
                
07/05/2026 16: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 = 12492
                
07/05/2026 16:17:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:17:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 16: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 = 12492
                
07/05/2026 16: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 = 12492
                
07/05/2026 16: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 = 12492
                
07/05/2026 16:18:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:18:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 16:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 16:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 16:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 16:18:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:18:02 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 16:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 16:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 16:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 16:21:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:21:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 16: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 = 12492
                
07/05/2026 16: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 = 12492
                
07/05/2026 16:21:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:21:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 16: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 = 12492
                
07/05/2026 16: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 = 12492
                
07/05/2026 16:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 16:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 16: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 = 12492
                
07/05/2026 16:21:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:21:59 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 16: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 = 12492
                
07/05/2026 16:22:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 16:22:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12492
                
07/05/2026 16: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 = 12492
                
07/05/2026 16:22:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:22:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 16: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 = 12492
                
07/05/2026 16:22:43 - logentry: =========================================
FECHA: 07/05/2026 16:22:43
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-1uM2jRBxLhvg88XFZ0cBNoqD_PcI6eSpVxYm5KIHTOy4dO6i_K1
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2639",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "21773",
    "contadorColor": "149678",
    "contadorScanner": "0",
    "detalle": "Mantenimiento General\nreparaciones varias\nCalibracion, pruebas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12492",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB3AOUDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABCEAABAwMCAgcGAwMKBwAAAAABAAIDBAURBiESMRNBYXGRobEUIlGBwdEVMkIWIyQHMzRDUlOistLhVmNzgpLw8f\/EABgBAQEBAQEAAAAAAAAAAAAAAAACAwEE\/8QALhEAAgECAwYGAgIDAAAAAAAAAAECAxESITEEEzJBUXEiYYGhsdGR4RQzI1LB\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCLwkAZJwAvI5GSsEkb2vY7k5pyCgMkREAREQBERAEREAREQBERAEXPW19Nbqcz1UojYPjzJ+AVYNReNWOLKYOoLbnDpD+Z4+vcNu1VGN8+RjUrKDwrN9CTuWrbZQF0bHmpnBx0cQ6+\/l6rkNz1TXjio7XHSxOGQ6Z3vDxI7epS9tslvtUYFLAA8DeV27z8\/spBViitEZ7urPjlbyX2Vj8N1bNvJd4Is7cLG8h\/wCKs6IpcrmtOkoXs2+7uERFJqEREAREQBEUfdL3Q2iIuqZhx4y2Jpy93y+q6k3kiZSjFXk7IkFB3XVVHb3+z04NZVk4EUXUe0\/QbqO479qccLW\/hlA7mTnjePr5DvU5arFQ2ePFNFmQj3pX7ud9vkrso8R5t5Uq\/wBeS6v\/AIvshjZ75fxx3ar9jpyf6NENyO3f1z3KxUNFDbqKOkg4ujjGG8RyeefquhFLk3ka06MYPFq+rCIik2C4IrvTzXme1NZIJ4GB7nEDhI93kc5\/UOpdkrzHE97Wl5a0kNHX2L53bXV9\/wBSVM0NYaGeVhcXNzs0EAN2x2eC0hHEm2eXaK7puMYq7bPo6Ksfstdf+J6zwd\/rWs12orDJish\/E6Tb96we8PDv6x80wJ6Mb+Uc5waX5+C1ouO2XWku1N09JJxAfmYdnMPwIXYoatqemMlJXWgREXDoUXe77TWaDL\/3k7x+7had3dp+A7Vpv1\/Ft4aSkj9or5do4gM8PaQPRabJpx9NUG5XST2ivfvuciP\/AH8vgrUUleR5p1ZSlu6evN9P2c1DYqu8VQuV\/JwDmKk5Bgz1j6dfWrQ1oa0NaAABgAdS9RclJs0p0o01lrzfUIiKTUIiIAiIgCIiALXPUQ0sLpp5GxxtGS5xwAuG83yls0AdNl8r\/wCbhb+Z32Chae0XDUk7ay9l0FMN4qVhx4\/D17lajld6HnqVrPBBXl8dzKfUFxvUjqbT9ORGNn1Ugxju+Hr2LttWlqWim9rq5HVtYdzJKcgHsB9SpmCnhpYWwwRtjjaMBrRgBbEc+UcjkaF3iqO79l2QRcdZdrfb2k1VXFGR+kuy7wG6hZNaQzPMVst9RWSdgwO\/rPw6lxQk9EXOvThlJlmWmoq6akZx1NRHC34veG+qrZh1ddHfvJYbbF1hh97n2ZPmFvp9F0IeJa+eeul63SOIB+XPzVYYrVme+qT4IfnL9iq1tbo5BFRxzVshOAGNwCfhvv5LZbq7UNdWxyTUEdJRfqbIffO3jz7ApimoqWjaRTU0UIPPgYBlb1xyjyR2NOq3ec\/RBfPdMROotZPpf7BljPaBn7L6EqRI1tJ\/KSxww1sjs7jG7mY9Sqp6SXkZbWvFTn0fyXdERZHuKzddOTU1U67WR5hqW+86Eflk+IHf8F22HUMV4Y6GRnQVkW0kJ9R9upTKr1\/scskoutr\/AHdfEQSG\/wBaB9fUbLRNSykeSdOVJ46enNfXmWFa5pWU8Ek0hwyNpc49gGVG2e\/01zt3tMr2QPjIbM154Q13z6itFfqmxxxPhkqRUB7S1zIm8WQfLrU4He1jV16eDFiWZz6WpTWyTagqgDPUvcIuvgYDj6Y7h2qyr57a7rc7a2QWqkqaq3jLh08RPD25by7snrOyyj1Fd7rOYZLpTWwDYgtLezmQcH5hayptu54aO106cFGzv8vuX8kAZJwAuCpvtqpBmavgGOpruI+AyVCxaTjr8PrL5PXDmeB+3mT2KRptJ2WmwRRiRw65XF2fly8lFoLVnqx15cMUu7+iUp6iKrp2VED+OKQcTXYxkLasWtaxgYxoa1owABgALJZnpV7ZhERDoREQBaqmojpaaSomdwxxtLnHsCze9kbC+RwY1oyXOOAFUdT6poZ7fPQUUhlfJhpkaPdAzvv1qoxcmY1q0aUG28zo05QyXOqdqCvPE+Vx9njO\/RgZH3x4qWuF\/tlsJbU1LekAz0bPed4Dl81X6Kz6guNthpp6tlDRsYGhkf5nt+Jx8e\/5KZoNK2igAIpRPIBu+b3s\/LkPBaSw3zZ5aO9wJQjbq317Ef8AtVX3EuZZrRJKMkNml2aO\/q8166yahugzcrsKeN39TTjqPUcYz4lWcAAYAwAvVOO3Cjb+O5f2Sb9l7EFSaPtFKeJ8T6l\/W6Z2fIbKaihigYI4Y2RsHJrGgBZoocm9TaFKEOFWCIi4aBERAFTNTj2fV1rqQMBxYCSdjh+\/kVc1UdfREQ0NWBkRyFp7c4I\/ylaUuI8m2r\/C30s\/cty4K29W23ZFVVxscP0A8TvAbqLraS+3iucxkxt9A38rg4F0g+OAc+JHVtlb6LSFoozxvhNTJnPFOeLy5eS5aK1ZTqVZO0I+r+jkk1l07yy1WuorMHBdggeQPnhYkaxuIx\/D29mezJH+I+is7GMjYGRtDGtGA1owAsl3Elojm5nLjm\/TL9nz+8aXfaWx3CaR1fF0makAcB3PPOT279ytdqt9lNJDVUFJBwPbljy3id4nfKk3sbJG6N7Q5rgQ4HrCqdA9+l7862zOPsFYeKBxOzD\/AO7H5FVic1bmY7qGz1MSXhfs\/pluXHW2i33EfxdJHKT+rGHeI3XYiyTa0PfKKkrNXK3Loe2F3HBLU07xyLHg48RnzWsaTuEJ\/hdQ1TB1NIOP830VoRVvJdTzvZaPJW7ZFY\/B9UM\/JfWOzz4m\/wCxT2PWbN\/xKjk7OEf6ArOiY30Q\/jR5Sf5ZWB+2YGM0h7dl46p1lTtLnUtHMAMklwGP8QU1c7zQ2iLjq5sOIy2Nu7ndwVeEd41aQ6XNvtZIIaPzSj6+nfhWnfNpWPPUSi8MZScul\/noTGn70+800j5KfonxuwSCC13Pkc78kXfQ0NNbqVtNSxhkbfEn4k9ZRZStfI9tNSUEpu7Iu72CovFezp697KBrd4GDBLvT5lcOp7ZR23TD4qOnbGOkbkgZJ7zzKtSidUU\/tOnKxo5tZ0g\/7Tn0BVxk7pGFajHBOSWbTO+i\/oNP\/wBJvot6jtP1HtVgopf+UGnvb7p9FIqHkz0U3eCaCIi4WEREAREQBERAFAa0iEmm5XEfzb2OHjj6qfUVqdgfpytDuXBnwIKqHEjHaFelJeTOy2ydNbKWUnPHCx2e9oXSorTEvTaconfBnD4Ej6KVXJKzaKpvFBPyCIi4aBR96tMN4t76eQAPG8Tz+hykEXU7O6JlFSi4y0K9pi7SytfargS2upfdw\/OXtHX2\/bBVhVb1TQPiMV8oxipoyC8AfnZ293plTVur4bnQxVcB92QbjO7T1gqpJPxIwoycW6UtVp5o6kXLX3OjtsXSVlQyIdQJ3d3DmVAO1JcrtxR2G2vLRt7RNgAfLl5nuXFBsupXhB2evRaljqqunooHT1MrYo283OKrkupK28SOpLBSuPU6qkGGs+3z8FnS6TfUytqb7WSVko5Rhx4G9n\/zCsUMENNEIoImRRt5NYMAKvDHzM7VquvhXv8Aog7bpSCGX2u5SmvqzuTIctHcDz+fgrAiKHJvU2p0401aKCIi4aBa5omzwSQv\/LI0tPcRhbEQala0XO9lLVW2VvDLRzEcOMYB\/wBwfEKyqqXPGn9Uw3Q5FLWjo5iOTXbb+QPyKtQIIyDkFaT1xdTzbM7RdN6xy9OR6iIsz0hERAEREARFi97I2F8jgxrRkuccAIDJcd2i6ez1kXW6B4HfgrirdV2ehBBqhM8fohHEfHl5rg\/aC83LMdusbhG7+sqDhpb88DzPzVqEtTzVK9Kzje78szdoeTj08G\/3crm+h+qsSgNLW24WqGaCqjgjicQ5ojcSeLkSc9gHgp9J2xOx3Zk1RipahF4SAMk4AURXaqs9DkOqhM8fog98+PLzUpN6Gs6kYK8nYmFi97I2F8jgxrRkuccAKtfjV\/umBa7X0ER5TVG23Ud8d+2VizSNVXOEl6us05\/u4zsN\/ifsFeBLiZhv3L+uLfsjsr9W2emBiEpq3HYshbxA\/PkfFVOGrudskMdK2S2UtdL7pnGQzfB3I22I3x1K9UVlttuwaWkjY4frI4neJ3WV2tkN2t8lJMOe7Hf2XdRVRnFZWMqtCtUWJys1pb71Iyj0hRMk6e4Sy3CoPN0zjw57uv5kqeYxkbAyNoY1owGtGAFXtMXOVjn2SvJFZS5Dc7hzBy37PTCsaieK9mb7OqeC8Fb59QiIoPQEREAREQBERAcd1tsN2oJKSbYO3a4c2u6ioK23maxzi0Xv921oxBUcw5udsn69XWrSuesoaWvi6KqgZK0bjiaDg9nwVxllZ6GFSk3LHB2l89ze1wc0OaQQRkEda9VYOkJqVxdarvUUu+QwnLe7Yj0K8Ft1hFlsd4pnNzsXtyfNhTCnoyd9UXFB+lmWhFWPwrVc2BNe4WA7Ho27juw0Lz9jZag5uF6qqgHmBt6kphjzY31R8NN+tkTlTdrfRj+IrYIzjOC8Z8OaianWttY\/oqRk1ZIdmiNmAT8N9\/JbqbR9lpzk0xmcDnMryfLkpanpKakZwU1PHC34MYG+ieBeYttEuaXv9Fb9u1XdSPZKKO3wu5Pl\/MNu3fwasxo99Y7pLvdJ6p5OeFhw1p7M59ArOuWvudHbYukrKhkQ6gTu7uHMruN6RRL2eFr1ZN93l+NDVQ2O2W7BpaONrxyeRxO8Tuu172RsL5HBjWjJc44AVYdqC8XV\/BZbaWwkHFRO3APaOr1XrdJ1dwIkvd1mmON4otmj58vJHH\/ZnI1Va1GF\/ZHbXautNE4xtmdUyA44IG8Xny81xG6alugxb7a2hjO3STnLs57fsVM0VlttuwaWkjY4frI4neJ3XemKK0RW7qz45W7fZV26Sqq08V4u884zno4zhvn9lM0NjtluwaWjja8cnkcTvE7rvRS5yZpDZ6cHdLPrqERFJsEREBrEMQnM4iYJS3hMnCOIj4Z+C2IiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgIS8t1BUVQp7Z0VPTloLp3OHFnrHZ4fNY0GlaSCX2mukfX1R3L5txnsH3yiKsbtZGG4g5YpZ9ycAAGAMAL1EUm4REQBERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "BAIRON PACHECO RUBIO",
    "correoContacto": "bairon18rubio@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+941675217",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28602\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28602\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28602\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28602\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R640\",\"id_control\":\"28602\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R838\",\"id_control\":\"28603\",\"cantidad_usada\":1,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-R839\",\"id_control\":\"28603\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R964\",\"id_control\":\"28603\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R871\",\"id_control\":\"28603\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:22",
    "ubicacionGPS": "LatLng(lat: -23.661853, lng: -70.4000053)",
    "horaLlegada": "12:48",
    "horaDespacho": "14:14",
    "idMovimientoMaquina": "5",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 07/05/2026 16:22:43
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-1uM2jRBxLhvg88XFZ0cBNoqD_PcI6eSpVxYm5KIHTOy4dO6i_K1
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2639",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "21773",
    "contadorColor": "149678",
    "contadorScanner": "0",
    "detalle": "Mantenimiento General\nreparaciones varias\nCalibracion, pruebas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12492",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB3AOUDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABCEAABAwMCAgcGAwMKBwAAAAABAAIDBAURBiESMRNBYXGRobEUIlGBwdEVMkIWIyQHMzRDUlOistLhVmNzgpLw8f\/EABgBAQEBAQEAAAAAAAAAAAAAAAACAwEE\/8QALhEAAgECAwYGAgIDAAAAAAAAAAECAxESITEEEzJBUXEiYYGhsdGR4RQzI1LB\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCLwkAZJwAvI5GSsEkb2vY7k5pyCgMkREAREQBERAEREAREQBERAEXPW19Nbqcz1UojYPjzJ+AVYNReNWOLKYOoLbnDpD+Z4+vcNu1VGN8+RjUrKDwrN9CTuWrbZQF0bHmpnBx0cQ6+\/l6rkNz1TXjio7XHSxOGQ6Z3vDxI7epS9tslvtUYFLAA8DeV27z8\/spBViitEZ7urPjlbyX2Vj8N1bNvJd4Is7cLG8h\/wCKs6IpcrmtOkoXs2+7uERFJqEREAREQBEUfdL3Q2iIuqZhx4y2Jpy93y+q6k3kiZSjFXk7IkFB3XVVHb3+z04NZVk4EUXUe0\/QbqO479qccLW\/hlA7mTnjePr5DvU5arFQ2ePFNFmQj3pX7ud9vkrso8R5t5Uq\/wBeS6v\/AIvshjZ75fxx3ar9jpyf6NENyO3f1z3KxUNFDbqKOkg4ujjGG8RyeefquhFLk3ka06MYPFq+rCIik2C4IrvTzXme1NZIJ4GB7nEDhI93kc5\/UOpdkrzHE97Wl5a0kNHX2L53bXV9\/wBSVM0NYaGeVhcXNzs0EAN2x2eC0hHEm2eXaK7puMYq7bPo6Ksfstdf+J6zwd\/rWs12orDJish\/E6Tb96we8PDv6x80wJ6Mb+Uc5waX5+C1ouO2XWku1N09JJxAfmYdnMPwIXYoatqemMlJXWgREXDoUXe77TWaDL\/3k7x+7had3dp+A7Vpv1\/Ft4aSkj9or5do4gM8PaQPRabJpx9NUG5XST2ivfvuciP\/AH8vgrUUleR5p1ZSlu6evN9P2c1DYqu8VQuV\/JwDmKk5Bgz1j6dfWrQ1oa0NaAABgAdS9RclJs0p0o01lrzfUIiKTUIiIAiIgCIiALXPUQ0sLpp5GxxtGS5xwAuG83yls0AdNl8r\/wCbhb+Z32Chae0XDUk7ay9l0FMN4qVhx4\/D17lajld6HnqVrPBBXl8dzKfUFxvUjqbT9ORGNn1Ugxju+Hr2LttWlqWim9rq5HVtYdzJKcgHsB9SpmCnhpYWwwRtjjaMBrRgBbEc+UcjkaF3iqO79l2QRcdZdrfb2k1VXFGR+kuy7wG6hZNaQzPMVst9RWSdgwO\/rPw6lxQk9EXOvThlJlmWmoq6akZx1NRHC34veG+qrZh1ddHfvJYbbF1hh97n2ZPmFvp9F0IeJa+eeul63SOIB+XPzVYYrVme+qT4IfnL9iq1tbo5BFRxzVshOAGNwCfhvv5LZbq7UNdWxyTUEdJRfqbIffO3jz7ApimoqWjaRTU0UIPPgYBlb1xyjyR2NOq3ec\/RBfPdMROotZPpf7BljPaBn7L6EqRI1tJ\/KSxww1sjs7jG7mY9Sqp6SXkZbWvFTn0fyXdERZHuKzddOTU1U67WR5hqW+86Eflk+IHf8F22HUMV4Y6GRnQVkW0kJ9R9upTKr1\/scskoutr\/AHdfEQSG\/wBaB9fUbLRNSykeSdOVJ46enNfXmWFa5pWU8Ek0hwyNpc49gGVG2e\/01zt3tMr2QPjIbM154Q13z6itFfqmxxxPhkqRUB7S1zIm8WQfLrU4He1jV16eDFiWZz6WpTWyTagqgDPUvcIuvgYDj6Y7h2qyr57a7rc7a2QWqkqaq3jLh08RPD25by7snrOyyj1Fd7rOYZLpTWwDYgtLezmQcH5hayptu54aO106cFGzv8vuX8kAZJwAuCpvtqpBmavgGOpruI+AyVCxaTjr8PrL5PXDmeB+3mT2KRptJ2WmwRRiRw65XF2fly8lFoLVnqx15cMUu7+iUp6iKrp2VED+OKQcTXYxkLasWtaxgYxoa1owABgALJZnpV7ZhERDoREQBaqmojpaaSomdwxxtLnHsCze9kbC+RwY1oyXOOAFUdT6poZ7fPQUUhlfJhpkaPdAzvv1qoxcmY1q0aUG28zo05QyXOqdqCvPE+Vx9njO\/RgZH3x4qWuF\/tlsJbU1LekAz0bPed4Dl81X6Kz6guNthpp6tlDRsYGhkf5nt+Jx8e\/5KZoNK2igAIpRPIBu+b3s\/LkPBaSw3zZ5aO9wJQjbq317Ef8AtVX3EuZZrRJKMkNml2aO\/q8166yahugzcrsKeN39TTjqPUcYz4lWcAAYAwAvVOO3Cjb+O5f2Sb9l7EFSaPtFKeJ8T6l\/W6Z2fIbKaihigYI4Y2RsHJrGgBZoocm9TaFKEOFWCIi4aBERAFTNTj2fV1rqQMBxYCSdjh+\/kVc1UdfREQ0NWBkRyFp7c4I\/ylaUuI8m2r\/C30s\/cty4K29W23ZFVVxscP0A8TvAbqLraS+3iucxkxt9A38rg4F0g+OAc+JHVtlb6LSFoozxvhNTJnPFOeLy5eS5aK1ZTqVZO0I+r+jkk1l07yy1WuorMHBdggeQPnhYkaxuIx\/D29mezJH+I+is7GMjYGRtDGtGA1owAsl3Elojm5nLjm\/TL9nz+8aXfaWx3CaR1fF0makAcB3PPOT279ytdqt9lNJDVUFJBwPbljy3id4nfKk3sbJG6N7Q5rgQ4HrCqdA9+l7862zOPsFYeKBxOzD\/AO7H5FVic1bmY7qGz1MSXhfs\/pluXHW2i33EfxdJHKT+rGHeI3XYiyTa0PfKKkrNXK3Loe2F3HBLU07xyLHg48RnzWsaTuEJ\/hdQ1TB1NIOP830VoRVvJdTzvZaPJW7ZFY\/B9UM\/JfWOzz4m\/wCxT2PWbN\/xKjk7OEf6ArOiY30Q\/jR5Sf5ZWB+2YGM0h7dl46p1lTtLnUtHMAMklwGP8QU1c7zQ2iLjq5sOIy2Nu7ndwVeEd41aQ6XNvtZIIaPzSj6+nfhWnfNpWPPUSi8MZScul\/noTGn70+800j5KfonxuwSCC13Pkc78kXfQ0NNbqVtNSxhkbfEn4k9ZRZStfI9tNSUEpu7Iu72CovFezp697KBrd4GDBLvT5lcOp7ZR23TD4qOnbGOkbkgZJ7zzKtSidUU\/tOnKxo5tZ0g\/7Tn0BVxk7pGFajHBOSWbTO+i\/oNP\/wBJvot6jtP1HtVgopf+UGnvb7p9FIqHkz0U3eCaCIi4WEREAREQBERAFAa0iEmm5XEfzb2OHjj6qfUVqdgfpytDuXBnwIKqHEjHaFelJeTOy2ydNbKWUnPHCx2e9oXSorTEvTaconfBnD4Ej6KVXJKzaKpvFBPyCIi4aBR96tMN4t76eQAPG8Tz+hykEXU7O6JlFSi4y0K9pi7SytfargS2upfdw\/OXtHX2\/bBVhVb1TQPiMV8oxipoyC8AfnZ293plTVur4bnQxVcB92QbjO7T1gqpJPxIwoycW6UtVp5o6kXLX3OjtsXSVlQyIdQJ3d3DmVAO1JcrtxR2G2vLRt7RNgAfLl5nuXFBsupXhB2evRaljqqunooHT1MrYo283OKrkupK28SOpLBSuPU6qkGGs+3z8FnS6TfUytqb7WSVko5Rhx4G9n\/zCsUMENNEIoImRRt5NYMAKvDHzM7VquvhXv8Aog7bpSCGX2u5SmvqzuTIctHcDz+fgrAiKHJvU2p0401aKCIi4aBa5omzwSQv\/LI0tPcRhbEQala0XO9lLVW2VvDLRzEcOMYB\/wBwfEKyqqXPGn9Uw3Q5FLWjo5iOTXbb+QPyKtQIIyDkFaT1xdTzbM7RdN6xy9OR6iIsz0hERAEREARFi97I2F8jgxrRkuccAIDJcd2i6ez1kXW6B4HfgrirdV2ehBBqhM8fohHEfHl5rg\/aC83LMdusbhG7+sqDhpb88DzPzVqEtTzVK9Kzje78szdoeTj08G\/3crm+h+qsSgNLW24WqGaCqjgjicQ5ojcSeLkSc9gHgp9J2xOx3Zk1RipahF4SAMk4AURXaqs9DkOqhM8fog98+PLzUpN6Gs6kYK8nYmFi97I2F8jgxrRkuccAKtfjV\/umBa7X0ER5TVG23Ud8d+2VizSNVXOEl6us05\/u4zsN\/ifsFeBLiZhv3L+uLfsjsr9W2emBiEpq3HYshbxA\/PkfFVOGrudskMdK2S2UtdL7pnGQzfB3I22I3x1K9UVlttuwaWkjY4frI4neJ3WV2tkN2t8lJMOe7Hf2XdRVRnFZWMqtCtUWJys1pb71Iyj0hRMk6e4Sy3CoPN0zjw57uv5kqeYxkbAyNoY1owGtGAFXtMXOVjn2SvJFZS5Dc7hzBy37PTCsaieK9mb7OqeC8Fb59QiIoPQEREAREQBERAcd1tsN2oJKSbYO3a4c2u6ioK23maxzi0Xv921oxBUcw5udsn69XWrSuesoaWvi6KqgZK0bjiaDg9nwVxllZ6GFSk3LHB2l89ze1wc0OaQQRkEda9VYOkJqVxdarvUUu+QwnLe7Yj0K8Ft1hFlsd4pnNzsXtyfNhTCnoyd9UXFB+lmWhFWPwrVc2BNe4WA7Ho27juw0Lz9jZag5uF6qqgHmBt6kphjzY31R8NN+tkTlTdrfRj+IrYIzjOC8Z8OaianWttY\/oqRk1ZIdmiNmAT8N9\/JbqbR9lpzk0xmcDnMryfLkpanpKakZwU1PHC34MYG+ieBeYttEuaXv9Fb9u1XdSPZKKO3wu5Pl\/MNu3fwasxo99Y7pLvdJ6p5OeFhw1p7M59ArOuWvudHbYukrKhkQ6gTu7uHMruN6RRL2eFr1ZN93l+NDVQ2O2W7BpaONrxyeRxO8Tuu172RsL5HBjWjJc44AVYdqC8XV\/BZbaWwkHFRO3APaOr1XrdJ1dwIkvd1mmON4otmj58vJHH\/ZnI1Va1GF\/ZHbXautNE4xtmdUyA44IG8Xny81xG6alugxb7a2hjO3STnLs57fsVM0VlttuwaWkjY4frI4neJ3XemKK0RW7qz45W7fZV26Sqq08V4u884zno4zhvn9lM0NjtluwaWjja8cnkcTvE7rvRS5yZpDZ6cHdLPrqERFJsEREBrEMQnM4iYJS3hMnCOIj4Z+C2IiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgIS8t1BUVQp7Z0VPTloLp3OHFnrHZ4fNY0GlaSCX2mukfX1R3L5txnsH3yiKsbtZGG4g5YpZ9ycAAGAMAL1EUm4REQBERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "BAIRON PACHECO RUBIO",
    "correoContacto": "bairon18rubio@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+941675217",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28602\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28602\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28602\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28602\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R640\",\"id_control\":\"28602\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R838\",\"id_control\":\"28603\",\"cantidad_usada\":1,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-R839\",\"id_control\":\"28603\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R964\",\"id_control\":\"28603\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R871\",\"id_control\":\"28603\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:22",
    "ubicacionGPS": "LatLng(lat: -23.661853, lng: -70.4000053)",
    "horaLlegada": "12:48",
    "horaDespacho": "14:14",
    "idMovimientoMaquina": "5",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


07/05/2026 16:22:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[07/05/2026 16:22: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('76121841', 'EP2639', 2, 21773342, 21773, NOW(), 
				'14:14', '12:48', '16:22', 5, 'Mantenimiento General
reparaciones varias
Calibracion, pruebas', -1, 
				'', '','1','149678',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778185363.png', '', null, 'COMPLETADO','LatLng(lat: -23.661853, lng: -70.4000053)' )
				
[07/05/2026 16:22:43] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200218
[07/05/2026 16:22:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200218', 'EPS-I302', 1)
				
[07/05/2026 16:22:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28602 and
				    IDproducto = 'EPS-I302'
				

07/05/2026 16:22:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I302';
                [07/05/2026 16:22:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200218', 'EPS-I303', 1)
				
[07/05/2026 16:22:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28602 and
				    IDproducto = 'EPS-I303'
				

07/05/2026 16:22:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I303';
                [07/05/2026 16:22:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200218', 'EPS-I304', 1)
				
[07/05/2026 16:22:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28602 and
				    IDproducto = 'EPS-I304'
				

07/05/2026 16:22:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                [07/05/2026 16:22:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200218', 'EPS-I305', 1)
				
[07/05/2026 16:22:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28602 and
				    IDproducto = 'EPS-I305'
				

07/05/2026 16:22:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I305';
                [07/05/2026 16:22:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200218', 'EPS-R640', 1)
				
[07/05/2026 16:22:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28602 and
				    IDproducto = 'EPS-R640'
				

07/05/2026 16:22:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R640';
                [07/05/2026 16:22:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200218', 'EPS-R838', 1)
				
[07/05/2026 16:22:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28603 and
				    IDproducto = 'EPS-R838'
				

07/05/2026 16:22:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R838';
                [07/05/2026 16:22:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200218', 'EPS-R839', 1)
				
[07/05/2026 16:22:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28603 and
				    IDproducto = 'EPS-R839'
				

07/05/2026 16:22:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R839';
                [07/05/2026 16:22:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200218', 'EPS-R964', 1)
				
[07/05/2026 16:22:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28603 and
				    IDproducto = 'EPS-R964'
				

07/05/2026 16:22:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R964';
                [07/05/2026 16:22:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200218', 'EPS-R871', 1)
				
[07/05/2026 16:22:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28603 and
				    IDproducto = 'EPS-R871'
				

07/05/2026 16:22:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R871';
                
07/05/2026 16:22:43 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200218'                    
				WHERE idllamado = 12492			
				TO ENVIO: micorreo@miempresa.cl, bairon18rubio@gmail.com


07/05/2026 16:22:44 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12492			
				
07/05/2026 16:22:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


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

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

07/05/2026 16:22:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:22:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 16: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 = 12492
                
07/05/2026 16: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 = 12492
                
07/05/2026 16: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 = 12492
                
07/05/2026 16:22:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:22:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12492
LIMIT 1;
        
07/05/2026 16: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 = 12492
                
07/05/2026 16: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 = 12492
                
07/05/2026 16: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 = 12492
                
07/05/2026 16: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 = 12492
                
07/05/2026 16: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 = 12492
                
07/05/2026 16: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 = 12492
                [07/05/2026 16:22: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;
                
[07/05/2026 16:24:09] 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/05/2026 16:24:09] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' 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/05/2026 16:24: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;
                
[07/05/2026 16:24: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;
                

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

07/05/2026 16:37:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:37:03 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12489
LIMIT 1;
        [07/05/2026 16:37:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 16:42: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/05/2026 16:42:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:42:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12489
LIMIT 1;
        
07/05/2026 16:42:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:42:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12489
LIMIT 1;
        
07/05/2026 16:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16: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 = 12489
                
07/05/2026 16:42:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12489
LIMIT 1;
        
07/05/2026 16: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 = 12489
                
07/05/2026 16:42:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:42:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12489
LIMIT 1;
        
07/05/2026 16: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 = 12489
                
07/05/2026 16: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 = 12489
                
07/05/2026 16:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12489
LIMIT 1;
        
07/05/2026 16: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 = 12489
                
07/05/2026 16: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 = 12489
                
07/05/2026 16: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 = 12489
                
07/05/2026 16: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 = 12489
                
07/05/2026 16: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 = 12489
                
07/05/2026 16: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 = 12489
                
07/05/2026 16: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 = 12489
                
07/05/2026 16: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 = 12489
                
07/05/2026 16: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 = 12489
                
07/05/2026 16:42:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16: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 = 12489
                
07/05/2026 16: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 = 12489
                
07/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12489
LIMIT 1;
        
07/05/2026 16: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 = 12489
                
07/05/2026 16: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 = 12489
                
07/05/2026 16: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 = 12489
                
07/05/2026 16: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 = 12489
                
07/05/2026 16: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 = 12489
                
07/05/2026 16: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 = 12489
                
07/05/2026 16:42:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:42:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12489
LIMIT 1;
        
07/05/2026 16: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 = 12489
                
07/05/2026 16: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 = 12489
                
07/05/2026 16: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 = 12489
                
07/05/2026 16:42:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:42:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12489
LIMIT 1;
        
07/05/2026 16: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 = 12489
                
07/05/2026 16: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 = 12489
                
07/05/2026 16:42:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16: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 = 12489
                
07/05/2026 16: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 = 12489
                
07/05/2026 16:42:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:42:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12489
LIMIT 1;
        
07/05/2026 16:42:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:42:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12489
LIMIT 1;
        
07/05/2026 16:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12489
LIMIT 1;
        
07/05/2026 16:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:56 - logentry: =========================================
FECHA: 07/05/2026 16:42:56
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-hPEYF+ECr5oQLY2DOwR857LZxr0DPA791md_Q7WxyZcso7IYDwY
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2586",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "CSJ",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "TALLER",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega impresora nueva con tintas, recibe Hernan Collao",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12489",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADYAOADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAgYHAgsIAwEAAAABAAIDBAURBiESMRNBUXGBkRQiMmGhscEj0QcVFiRCUnKSsuHwMzVDRFNidMI0Y6LS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECBAQEBgIDAQAAAAAAAAECAxEEEiExMkFRYRMicZEUgaGxwdEz8CNicuH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAFTTXeog1TBbHNj6CeIua4tOcjPXn3diuVl9UDoL5ZazYATcDjjqyOvxKnBJuxnxEnCGZcmvuahERQNAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAWb1zG51kjlbzhna7PYMEfMhaRVWp4RPpysaceqzjGfcQfopwdpIoxEc1GS7FjBKJ6eOZpyJGBwPeMroqzTk3T6eoX9kQZ+76v0VmotWdiyEs0VLqERFwmEREBndQ1lS682y2Ucz45JH9JIWfq8vlxeS0IGBjsWXsZF01VcboDmKEdDEeWerPkPitSpz0sjNQblmn1enotAiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCjXGMy2yqjAyXwvbjtyCpK+OaHNLTuCMFEcaurFDoqTj05E3PsPe3n78\/VX6zOgiTYpQeqpcB+61aZTqcTKMK70Y+gREUDQFWairjbrHUztOHlvAw4zudv5qzWP13M6aShtsftSP4znt9lvzKnTV5JGfEzyUpNblppCi9D0\/E4jD6gmU7dvL4AK8XOGJlPBHDGMMjaGtHuAwuijJ3dyylDJBR6BERcLAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDMaB\/uOb\/ku\/hatOsxoH+45v+S7+Fq06sqcbM2E\/gj6BERVmkLEzON0\/CHG0DLKVwG\/Vwgu\/iWymlEEEkzuUbS4+AysToeN1Xeayvl3cG7n\/c85+hVtPRORhxTzTp0+rv7G6REVRuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC8yPbFG6R3ssBce4L0oV5l6Cy1smcFsD8d+Nl1K7IyeWLZT6EYW2GQke1UOI8mj6LSqk0fD0WmqYkEF5c45\/aOPhhXalPiZVhlajFdgiIoF5UaqqTTacq3A4c9ojHv4iAfhlV2g6cR2aWYj1pZjv7gBj45XzX0xZaIIRn7SbJ7gDt8R5K205Smj0\/RxEYcY+M555d631Vu1P1MPFjP+UWaIiqNwREQBERAERQ6260FuGaurjiOM8JOXHwG66lfY45KKu2TEWSrte08YIoaV8x3AfIeFvgOZ+CpxedS36Yx0jpAP1accDW97vvKsVKT1ehjnjqSdo+Z9jf1FXTUjOOpqI4W9r3hvzXC33ehuhkFFP0vRY4yGkYznHMe4rLUOhqmeQTXWr57uYw8Tife4\/zWsoLZR2yIx0cDYgcZI3Lsdp8T5rklFLR3ZOlOtN3lGy+pKREVZqCIiAIiIAiIgCptWS9FpqrPW4NaPFwCuVmtcy4s8VO0cT552gDuB+uPNTgryRRiZZaMn2LaxR9FYqFn\/oYT3kZ+qnqrqrvR2eWkoqhzh0gDQ8jYAbb+OO7KtFx33J03G2VPYIiKJYZHWcZrbnaaBoz0jznuJaPvWta0NaGtAAAwAOpZOqqG1X4RaSA7tp2FuP93A52fiPJa1WT0SRkoWlUqT729kEXmSRkTC+R7WNHMuOAFS1mr7RSeqyZ1S\/9WBufjyUFFvYvnUhBXk7F4vhIAyTgBZhl71BdcC3WoU0bv8aoJwAesZxnwBVVWwxF3FqDUJncDk01MeLcdW2zT4KxU+pnli0leK+b0X1NPWans9ES19Y2R4Hsxev8tlWHVVwryRaLPJI3\/Vm2aNuvqHmqqgZNNw\/iLT7GA8qqr9c7dYJ2B7sq1bpe51+93vEjmHnDBsPuHkpZYR3KPFr1eH6L8v8ARUXK4V\/G5tyvrYnD\/L0Y4iPcSMDzKj0djrK9zjQ21zI3DInrT45HIHyK21Bp+1208VPSt6TG8j\/WPx5eGFZJ4tuE6sE5u9R\/n6v8Iy9HoqLpRNc6k1TufRMHAweXV3YWkgghpohFBEyKNvJrBgBdEVUpOW5tp0YU+FBEUF15t7a9tCKkPqHO4eBgLsH345LiTZNyjHdk5ERcJBERAEREAREQBZfUI9M1PZ6A7ta4yuaOsZzv+6fitQsw385\/CI79L0Wm6\/0cgcv3\/irIbtmbE6xjHq1+y6u1rp7vQupZxjO7Hjmx3UVUaZuU8Mz7Fctqqn\/s3H9Ng\/ly93ctGSAMk4AWL1dX20z09XQ1bDcIHDBi9YFvYSNtvvXYebykMQ1Saqrdb90bVYu\/aokN0FLSVRgp6d2ZJoxxF7gM8I6vdvt4KJUaovN8aaOhphGXt9YRbuI69zyUij0rbLdAJ7\/VMa87iHpOEY7Ntye5TjBQ1kZ6uIlXWWjtzb0RT0F3czUzbo6J873Oe7o2DckggD4haX07VV1P5pRx2+I8ny+1y9\/0CpZrhSRampZ9P0glbDEWNjawt43Ydv2nYjnvsrs2\/U10HFXXBlvhIz0cHMdu4+8qU7aO3uUUM1pRTb15fsh1Flt9M4Tahvj6iXGejDuzq6yfglNeIGkw6asHSOAH2z25I7+vzcpcdr0raDx1VRFPKDkmaQPPZ7I25+5SJNZ2OlY1kBkkaBgNhiwB54Ubt8my5RjB3clH6v3Zw\/Ed+u292ufo8Wc9BAOrs2+uVZ2\/TNqt3C6OnEkjTkSS+s77h4BVo1jPNk0liq5m\/onfft5Ar6dSXp2CzTVQB\/uLs\/wqLU3psWRlhk82rfVpv8GnRZj8qLrH\/b6bqQP1ml23\/wAr63XFGxwbV0dVATyPCCO\/fB+Ch4cjR8VR5u3qmaZFBoL1brlgUlXG95GeAnDvI7qcotNbl8ZKSvF3C8SyxwROlleGMYMlx6lFul0pbTSGoqn4HJrRzeewLOw0Vfq6ZtXXl9LbWnMUA5vHb\/Py7VKMb6vYqqVsryRV5dP2fai8XLUUklPZwaaiZtLVyert14PV8+5RdHWps10nuOC6mhJbC57fbJPPfsHzVnqWdtHQQ2S3RBktYeja1gwGs6\/Pl5q4tNvZa7ZDRswSxvrOH6TjzPmrHK0NOZkjSc66c3fLv0vySJqIioPSCIiAIi+EgDJOAEB9RUVw1da6LiZHIaqYHAZFuM\/tcvLKh9Nqi9OBijbaqVw9p2C\/Hz+AU1B7vQzyxEE8sfM+39sX9dcqK2x9JWVDIQeQO5PcBuViqK71br\/cau00Lqt9Q4NYS0kNbnYnszjtCmvtmnLI5z7pVmurPaLXEkk\/sj\/sVX6anvbKWSC1UTftnlzqmQHhbtjbq28e5Wxikm0Ya1Wc6kYvTstWW0tludcHT6gu4pqYjeGJ\/C0e452+a4i6acs46C2UPp9RnhDg3Jcf2iPkMLpLp6Nsfpeprw+XByGCTDB7hnfwAC8QXoOlNLpaztI5PmczA\/rvPgm\/9sg\/I77N9fNL2EFDfqmWWaGCmsscpy94HruB8\/L1VDfFpq3TcVZVz3eqBwWt3aT5\/Uq0bpe4XJxffLpJICciGF3qjzGPIK6obJbbcB6LSRscDnjPrOz3ndcc0ufsTjh5y5e+v0WhibjU15rKCtgtn4rbG7ooS4YG56wR7+ztV6NKV1c0G73maXtjiPqjuJ+5T9VW83CxTBgzJD9qzbfbmPLKkWK4C52enqeLifwhsn7Y2P3+KObypo7DDxVVwm7316euiI9PpKyU4H5mJHDrkcXZ8OXwVjBQUdLj0ekhix+pGApCKlyb3ZujShHhikERFwsC8vYyRhY9oc08w4ZBXpc5poqeF000jY42jLnOOAEOO1tSnr9JWusPHDF6JMB6r4PVAPUeHkqhmpK\/T8stsuUfpkkYzDK1+S7PLi\/rPepFTqKuvMzqLT8Lsbh9U8YAHu7PHf3LvFoyjbbZop3masmBJqHb8LueR48+sq9aK0zzZJzlmwyt35P9+p4ttkrLnWC6X8BzxvDTfosHvH081pJZWQxPlkcGsY0uc49QHMql0ncJKq3yUlQR6RRP6J+Ozq+RHgo2sK2R8dPZqTeorXDiHY3P1PwBUWnKdmXQnCnQ8SPP3bPGnmvvV3qL\/OwsY09FTtPUMb\/P4lalR6Cijt1DDSQ+xE3hz2nrPiclSFCTuy+jTcIWe+79QiKuuF9ttsa70mqZxt\/wmHif5dXiuJN7FkpRirydixXCrrKahhM1VOyFg63HGe7tWcffL1evUslA+CE\/5mcAeXV5ZXSHSUH\/AJV7rpayRoy4vkIY0d53+IU8iXEzP48p\/wAUb93ov\/T5U6udUy+j2OifWS\/ruaQweHPzwvH5P3a6ydLfLjwQ4z0EBwB7j1fNe6jVFHS4obHR+lyDZrYmYYPLn\/W65x2G8Xl3S3uufDCd\/RoTjz6h8Sp8Pb7mZvxHZtzfRaRPJuth0+fR7TTel1Ttsx+sSewu+gXsUOo76xxrqltup3jHQxt9Yj3758z4KRJU6e0qwtiYzp8btZ68h7yeXwUPp9R6j2p2fiyid+mchzh38z4YCd17s47LySd\/9Y7fNni6WywWK1zxtMT650ZazpTxvyevh5Dvwo9mrL\/PZoKG1UIhjZkGqkOxyScjPf1ZX3UGn6Gy2F0o4pqqWVrTNId87k4HVy962NDD6PQU8GMdFE1nkAF1ySj1FOjKVVrhsuXfv8iipNHwveJ7vVS18\/WHPIaPqf62WggghpohFBEyKNvJrBgBdEVLk3ub6dKFPhQREUS0+EAjBGQVkoHfkje3wy7WytOWPJ\/s3fy5eS1yj1tDT3GldTVUYkjd28we0dhUoyto9imrTcrSjutju1wc0OaQQRkEda+rKNtmorES211DK6lA9WGY7t7uWPA79i6flJe2sLX6cnMmcZbxY\/hPzUsnRlaxKWk4tP0v9jTosv8AjbVNSD0FmjhzyMp3G\/vIXn8nb5cyfxtd+GPI+yg5H5AfFMlt2PiG+CLf0+5YXXVFDbswxO9KqicNhi337CfpzVdFZ7rqCVlRfJDT0zTltJHtnv7PHfuV1bbFbrVvS04Eh5yO9Z3meXgrFMyjwjwZ1Nar06Lb59TnBTw0sLYYI2xxtGA1owAuiIqzUlbRGVppI7Xra4Nkd0cM8HTEuO2wyT\/Evmmo33e71V\/qG4bxGOnaR7Ixj4DA8SoGsKaao1LTw0+Q+enazO+N3OHV4LZUFFHbqGGkh9iJvDntPWfE5Kvk7RvzZ5tKLlVcXwxbfzf6JCIioPSM\/crbfrlXvjbcGUlCD6vREh7hjrx9660GkrTRHjMJqZM545zxfDkrtFPO7WRR8PTzZmrvvqVd3v1FZow2Ul8xH2cLBu77gqCSkrL0RWahrG2+i5x0\/GGE+f13X1+lbxJeJ6xlbFGHyuc2R3rPAPIjbY4xyxhT6bRVA13S1089bL1l7sA+HP4qxZIrR6mSSrVpWcdOl7L582RYtSWu3tbRWG3vqXk4wxvDxe8nGSvTqLUt+Y30yeO3UzucUeeIj3j7z4LS09LT0kfR00EcLP1Y2ho+C7KGdLZF6w8pK05adFov2VFu0xarbwuZTiWVv+JL6xz3ch4K3RFBtvc0QhGCtFWMvrACoqbTQYz09Rv3ZA3\/AHlqFl7qPSNdWuDAIjiMhP7x\/wCo81qFOXCkU0dalSXe3sgiIqzSEREAREQBERAEREAREQBERAfC0EgkAkHI9y+oiAIiIAiIgCIiAIiIAiIgMxT\/AG\/4Q6kjlBTAZ8G\/\/r4LTrMad\/ONTXup58MgjB7dyP8AqFp1Oe9jNhtYuXVv7hERQNIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAF5ke2KN0jvZYC49wXpVmopjT6frZA7hPRFue\/b6rqV3YjOWWLl0KzQ8bjbamsfgOqJycDsH8yVplVaZhEGnaJobw8UfGffxHP1VqpTd5Mqw8ctKK7BERQLwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALO64l6PT\/D\/qTNb8z9Foll9Vk1N0tFvaM9JPxuzyxkD5ZU6fEjNin\/AIZLrp7mipYRT0kMAGBHG1mO4YXZEUDQlZWCIiHQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALPyUNVUa2jq5IXejU8GGPPs5Ofj6x8kRSi7XKqkFK1+poERFEtCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "DIEGO PINCHEIRA",
    "correoContacto": "diego.pincheira@veltis.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56967799692",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28601\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28601\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28601\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28601\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R640\",\"id_control\":\"28601\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:42",
    "ubicacionGPS": "LatLng(lat: -22.4408788, lng: -68.8857247)",
    "horaLlegada": "13:36",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 07/05/2026 16:42:56
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-hPEYF+ECr5oQLY2DOwR857LZxr0DPA791md_Q7WxyZcso7IYDwY
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2586",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "CSJ",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "TALLER",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega impresora nueva con tintas, recibe Hernan Collao",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12489",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADYAOADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAgYHAgsIAwEAAAABAAIDBAURBiESMRNBUXGBkRQiMmGhscEj0QcVFiRCUnKSsuHwMzVDRFNidMI0Y6LS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECBAQEBgIDAQAAAAAAAAECAxEEEiExMkFRYRMicZEUgaGxwdEz8CNicuH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAFTTXeog1TBbHNj6CeIua4tOcjPXn3diuVl9UDoL5ZazYATcDjjqyOvxKnBJuxnxEnCGZcmvuahERQNAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAWb1zG51kjlbzhna7PYMEfMhaRVWp4RPpysaceqzjGfcQfopwdpIoxEc1GS7FjBKJ6eOZpyJGBwPeMroqzTk3T6eoX9kQZ+76v0VmotWdiyEs0VLqERFwmEREBndQ1lS682y2Ucz45JH9JIWfq8vlxeS0IGBjsWXsZF01VcboDmKEdDEeWerPkPitSpz0sjNQblmn1enotAiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCjXGMy2yqjAyXwvbjtyCpK+OaHNLTuCMFEcaurFDoqTj05E3PsPe3n78\/VX6zOgiTYpQeqpcB+61aZTqcTKMK70Y+gREUDQFWairjbrHUztOHlvAw4zudv5qzWP13M6aShtsftSP4znt9lvzKnTV5JGfEzyUpNblppCi9D0\/E4jD6gmU7dvL4AK8XOGJlPBHDGMMjaGtHuAwuijJ3dyylDJBR6BERcLAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDMaB\/uOb\/ku\/hatOsxoH+45v+S7+Fq06sqcbM2E\/gj6BERVmkLEzON0\/CHG0DLKVwG\/Vwgu\/iWymlEEEkzuUbS4+AysToeN1Xeayvl3cG7n\/c85+hVtPRORhxTzTp0+rv7G6REVRuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC8yPbFG6R3ssBce4L0oV5l6Cy1smcFsD8d+Nl1K7IyeWLZT6EYW2GQke1UOI8mj6LSqk0fD0WmqYkEF5c45\/aOPhhXalPiZVhlajFdgiIoF5UaqqTTacq3A4c9ojHv4iAfhlV2g6cR2aWYj1pZjv7gBj45XzX0xZaIIRn7SbJ7gDt8R5K205Smj0\/RxEYcY+M555d631Vu1P1MPFjP+UWaIiqNwREQBERAERQ6260FuGaurjiOM8JOXHwG66lfY45KKu2TEWSrte08YIoaV8x3AfIeFvgOZ+CpxedS36Yx0jpAP1accDW97vvKsVKT1ehjnjqSdo+Z9jf1FXTUjOOpqI4W9r3hvzXC33ehuhkFFP0vRY4yGkYznHMe4rLUOhqmeQTXWr57uYw8Tife4\/zWsoLZR2yIx0cDYgcZI3Lsdp8T5rklFLR3ZOlOtN3lGy+pKREVZqCIiAIiIAiIgCptWS9FpqrPW4NaPFwCuVmtcy4s8VO0cT552gDuB+uPNTgryRRiZZaMn2LaxR9FYqFn\/oYT3kZ+qnqrqrvR2eWkoqhzh0gDQ8jYAbb+OO7KtFx33J03G2VPYIiKJYZHWcZrbnaaBoz0jznuJaPvWta0NaGtAAAwAOpZOqqG1X4RaSA7tp2FuP93A52fiPJa1WT0SRkoWlUqT729kEXmSRkTC+R7WNHMuOAFS1mr7RSeqyZ1S\/9WBufjyUFFvYvnUhBXk7F4vhIAyTgBZhl71BdcC3WoU0bv8aoJwAesZxnwBVVWwxF3FqDUJncDk01MeLcdW2zT4KxU+pnli0leK+b0X1NPWans9ES19Y2R4Hsxev8tlWHVVwryRaLPJI3\/Vm2aNuvqHmqqgZNNw\/iLT7GA8qqr9c7dYJ2B7sq1bpe51+93vEjmHnDBsPuHkpZYR3KPFr1eH6L8v8ARUXK4V\/G5tyvrYnD\/L0Y4iPcSMDzKj0djrK9zjQ21zI3DInrT45HIHyK21Bp+1208VPSt6TG8j\/WPx5eGFZJ4tuE6sE5u9R\/n6v8Iy9HoqLpRNc6k1TufRMHAweXV3YWkgghpohFBEyKNvJrBgBdEVUpOW5tp0YU+FBEUF15t7a9tCKkPqHO4eBgLsH345LiTZNyjHdk5ERcJBERAEREAREQBZfUI9M1PZ6A7ta4yuaOsZzv+6fitQsw385\/CI79L0Wm6\/0cgcv3\/irIbtmbE6xjHq1+y6u1rp7vQupZxjO7Hjmx3UVUaZuU8Mz7Fctqqn\/s3H9Ng\/ly93ctGSAMk4AWL1dX20z09XQ1bDcIHDBi9YFvYSNtvvXYebykMQ1Saqrdb90bVYu\/aokN0FLSVRgp6d2ZJoxxF7gM8I6vdvt4KJUaovN8aaOhphGXt9YRbuI69zyUij0rbLdAJ7\/VMa87iHpOEY7Ntye5TjBQ1kZ6uIlXWWjtzb0RT0F3czUzbo6J873Oe7o2DckggD4haX07VV1P5pRx2+I8ny+1y9\/0CpZrhSRampZ9P0glbDEWNjawt43Ydv2nYjnvsrs2\/U10HFXXBlvhIz0cHMdu4+8qU7aO3uUUM1pRTb15fsh1Flt9M4Tahvj6iXGejDuzq6yfglNeIGkw6asHSOAH2z25I7+vzcpcdr0raDx1VRFPKDkmaQPPZ7I25+5SJNZ2OlY1kBkkaBgNhiwB54Ubt8my5RjB3clH6v3Zw\/Ed+u292ufo8Wc9BAOrs2+uVZ2\/TNqt3C6OnEkjTkSS+s77h4BVo1jPNk0liq5m\/onfft5Ar6dSXp2CzTVQB\/uLs\/wqLU3psWRlhk82rfVpv8GnRZj8qLrH\/b6bqQP1ml23\/wAr63XFGxwbV0dVATyPCCO\/fB+Ch4cjR8VR5u3qmaZFBoL1brlgUlXG95GeAnDvI7qcotNbl8ZKSvF3C8SyxwROlleGMYMlx6lFul0pbTSGoqn4HJrRzeewLOw0Vfq6ZtXXl9LbWnMUA5vHb\/Py7VKMb6vYqqVsryRV5dP2fai8XLUUklPZwaaiZtLVyert14PV8+5RdHWps10nuOC6mhJbC57fbJPPfsHzVnqWdtHQQ2S3RBktYeja1gwGs6\/Pl5q4tNvZa7ZDRswSxvrOH6TjzPmrHK0NOZkjSc66c3fLv0vySJqIioPSCIiAIi+EgDJOAEB9RUVw1da6LiZHIaqYHAZFuM\/tcvLKh9Nqi9OBijbaqVw9p2C\/Hz+AU1B7vQzyxEE8sfM+39sX9dcqK2x9JWVDIQeQO5PcBuViqK71br\/cau00Lqt9Q4NYS0kNbnYnszjtCmvtmnLI5z7pVmurPaLXEkk\/sj\/sVX6anvbKWSC1UTftnlzqmQHhbtjbq28e5Wxikm0Ya1Wc6kYvTstWW0tludcHT6gu4pqYjeGJ\/C0e452+a4i6acs46C2UPp9RnhDg3Jcf2iPkMLpLp6Nsfpeprw+XByGCTDB7hnfwAC8QXoOlNLpaztI5PmczA\/rvPgm\/9sg\/I77N9fNL2EFDfqmWWaGCmsscpy94HruB8\/L1VDfFpq3TcVZVz3eqBwWt3aT5\/Uq0bpe4XJxffLpJICciGF3qjzGPIK6obJbbcB6LSRscDnjPrOz3ndcc0ufsTjh5y5e+v0WhibjU15rKCtgtn4rbG7ooS4YG56wR7+ztV6NKV1c0G73maXtjiPqjuJ+5T9VW83CxTBgzJD9qzbfbmPLKkWK4C52enqeLifwhsn7Y2P3+KObypo7DDxVVwm7316euiI9PpKyU4H5mJHDrkcXZ8OXwVjBQUdLj0ekhix+pGApCKlyb3ZujShHhikERFwsC8vYyRhY9oc08w4ZBXpc5poqeF000jY42jLnOOAEOO1tSnr9JWusPHDF6JMB6r4PVAPUeHkqhmpK\/T8stsuUfpkkYzDK1+S7PLi\/rPepFTqKuvMzqLT8Lsbh9U8YAHu7PHf3LvFoyjbbZop3masmBJqHb8LueR48+sq9aK0zzZJzlmwyt35P9+p4ttkrLnWC6X8BzxvDTfosHvH081pJZWQxPlkcGsY0uc49QHMql0ncJKq3yUlQR6RRP6J+Ozq+RHgo2sK2R8dPZqTeorXDiHY3P1PwBUWnKdmXQnCnQ8SPP3bPGnmvvV3qL\/OwsY09FTtPUMb\/P4lalR6Cijt1DDSQ+xE3hz2nrPiclSFCTuy+jTcIWe+79QiKuuF9ttsa70mqZxt\/wmHif5dXiuJN7FkpRirydixXCrrKahhM1VOyFg63HGe7tWcffL1evUslA+CE\/5mcAeXV5ZXSHSUH\/AJV7rpayRoy4vkIY0d53+IU8iXEzP48p\/wAUb93ov\/T5U6udUy+j2OifWS\/ruaQweHPzwvH5P3a6ydLfLjwQ4z0EBwB7j1fNe6jVFHS4obHR+lyDZrYmYYPLn\/W65x2G8Xl3S3uufDCd\/RoTjz6h8Sp8Pb7mZvxHZtzfRaRPJuth0+fR7TTel1Ttsx+sSewu+gXsUOo76xxrqltup3jHQxt9Yj3758z4KRJU6e0qwtiYzp8btZ68h7yeXwUPp9R6j2p2fiyid+mchzh38z4YCd17s47LySd\/9Y7fNni6WywWK1zxtMT650ZazpTxvyevh5Dvwo9mrL\/PZoKG1UIhjZkGqkOxyScjPf1ZX3UGn6Gy2F0o4pqqWVrTNId87k4HVy962NDD6PQU8GMdFE1nkAF1ySj1FOjKVVrhsuXfv8iipNHwveJ7vVS18\/WHPIaPqf62WggghpohFBEyKNvJrBgBdEVLk3ub6dKFPhQREUS0+EAjBGQVkoHfkje3wy7WytOWPJ\/s3fy5eS1yj1tDT3GldTVUYkjd28we0dhUoyto9imrTcrSjutju1wc0OaQQRkEda+rKNtmorES211DK6lA9WGY7t7uWPA79i6flJe2sLX6cnMmcZbxY\/hPzUsnRlaxKWk4tP0v9jTosv8AjbVNSD0FmjhzyMp3G\/vIXn8nb5cyfxtd+GPI+yg5H5AfFMlt2PiG+CLf0+5YXXVFDbswxO9KqicNhi337CfpzVdFZ7rqCVlRfJDT0zTltJHtnv7PHfuV1bbFbrVvS04Eh5yO9Z3meXgrFMyjwjwZ1Nar06Lb59TnBTw0sLYYI2xxtGA1owAuiIqzUlbRGVppI7Xra4Nkd0cM8HTEuO2wyT\/Evmmo33e71V\/qG4bxGOnaR7Ixj4DA8SoGsKaao1LTw0+Q+enazO+N3OHV4LZUFFHbqGGkh9iJvDntPWfE5Kvk7RvzZ5tKLlVcXwxbfzf6JCIioPSM\/crbfrlXvjbcGUlCD6vREh7hjrx9660GkrTRHjMJqZM545zxfDkrtFPO7WRR8PTzZmrvvqVd3v1FZow2Ul8xH2cLBu77gqCSkrL0RWahrG2+i5x0\/GGE+f13X1+lbxJeJ6xlbFGHyuc2R3rPAPIjbY4xyxhT6bRVA13S1089bL1l7sA+HP4qxZIrR6mSSrVpWcdOl7L582RYtSWu3tbRWG3vqXk4wxvDxe8nGSvTqLUt+Y30yeO3UzucUeeIj3j7z4LS09LT0kfR00EcLP1Y2ho+C7KGdLZF6w8pK05adFov2VFu0xarbwuZTiWVv+JL6xz3ch4K3RFBtvc0QhGCtFWMvrACoqbTQYz09Rv3ZA3\/AHlqFl7qPSNdWuDAIjiMhP7x\/wCo81qFOXCkU0dalSXe3sgiIqzSEREAREQBERAEREAREQBERAfC0EgkAkHI9y+oiAIiIAiIgCIiAIiIAiIgMxT\/AG\/4Q6kjlBTAZ8G\/\/r4LTrMad\/ONTXup58MgjB7dyP8AqFp1Oe9jNhtYuXVv7hERQNIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAF5ke2KN0jvZYC49wXpVmopjT6frZA7hPRFue\/b6rqV3YjOWWLl0KzQ8bjbamsfgOqJycDsH8yVplVaZhEGnaJobw8UfGffxHP1VqpTd5Mqw8ctKK7BERQLwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALO64l6PT\/D\/qTNb8z9Foll9Vk1N0tFvaM9JPxuzyxkD5ZU6fEjNin\/AIZLrp7mipYRT0kMAGBHG1mO4YXZEUDQlZWCIiHQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALPyUNVUa2jq5IXejU8GGPPs5Ofj6x8kRSi7XKqkFK1+poERFEtCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "DIEGO PINCHEIRA",
    "correoContacto": "diego.pincheira@veltis.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56967799692",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28601\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28601\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28601\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28601\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R640\",\"id_control\":\"28601\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:42",
    "ubicacionGPS": "LatLng(lat: -22.4408788, lng: -68.8857247)",
    "horaLlegada": "13:36",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


07/05/2026 16:42:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[07/05/2026 16:42:56] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76121841', 'EP2586', 1, 24456550, 0, NOW(), 
				'08:00', '13:36', '16:42', 1, '•Entrega impresora nueva con tintas, recibe Hernan Collao', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778186576.png', '', null, 'COMPLETADO','LatLng(lat: -22.4408788, lng: -68.8857247)' )
				
[07/05/2026 16:42:56] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200219

07/05/2026 16:42:56 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'EP2586'
		
07/05/2026 16:42:56 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP2586'
				   AND estado = 1
				
07/05/2026 16:42:56 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'EP2586', 2, 1, now(), 'CSJ', 'ANTOFAGASTA', 'TALLER');
				
=========================================
FECHA: 07/05/2026 16:42:56
listaInsumosUsadosConsolidado===

idReport:200219

idInventario:EPS-I302

idControl:28601

cantidadAsignada:1

cantidadUsada:1

[07/05/2026 16:42:56] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200219', 'EPS-I302', 1)
				
[07/05/2026 16:42:56] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28601 and
				    IDproducto = 'EPS-I302'
				

07/05/2026 16:42:56 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I302';
                
=========================================
FECHA: 07/05/2026 16:42:56
listaInsumosUsadosConsolidado===

idReport:200219

idInventario:EPS-I303

idControl:28601

cantidadAsignada:1

cantidadUsada:1

[07/05/2026 16:42:56] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200219', 'EPS-I303', 1)
				
[07/05/2026 16:42:56] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28601 and
				    IDproducto = 'EPS-I303'
				

07/05/2026 16:42:56 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I303';
                
=========================================
FECHA: 07/05/2026 16:42:56
listaInsumosUsadosConsolidado===

idReport:200219

idInventario:EPS-I304

idControl:28601

cantidadAsignada:1

cantidadUsada:1

[07/05/2026 16:42:56] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200219', 'EPS-I304', 1)
				
[07/05/2026 16:42:56] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28601 and
				    IDproducto = 'EPS-I304'
				

07/05/2026 16:42:56 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                
=========================================
FECHA: 07/05/2026 16:42:56
listaInsumosUsadosConsolidado===

idReport:200219

idInventario:EPS-I305

idControl:28601

cantidadAsignada:1

cantidadUsada:1

[07/05/2026 16:42:56] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200219', 'EPS-I305', 1)
				
[07/05/2026 16:42:56] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28601 and
				    IDproducto = 'EPS-I305'
				

07/05/2026 16:42:56 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I305';
                
=========================================
FECHA: 07/05/2026 16:42:56
listaInsumosUsadosConsolidado===

idReport:200219

idInventario:EPS-R640

idControl:28601

cantidadAsignada:1

cantidadUsada:1

[07/05/2026 16:42:56] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200219', 'EPS-R640', 1)
				
[07/05/2026 16:42:56] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28601 and
				    IDproducto = 'EPS-R640'
				

07/05/2026 16:42:56 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R640';
                
07/05/2026 16:42:56 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200219'                    
				WHERE idllamado = 12489			
				TO ENVIO: micorreo@miempresa.cl, diego.pincheira@veltis.cl


07/05/2026 16:42:57 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12489			
				
07/05/2026 16:42:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


07/05/2026 16:42:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:42:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12489
LIMIT 1;
        
07/05/2026 16:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/05/2026 16:42:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12489
LIMIT 1;
        
07/05/2026 16:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16: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 = 12489
                
07/05/2026 16: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 = 12489
                [07/05/2026 16:43: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;
                

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

07/05/2026 16: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 = 12489
                
07/05/2026 16: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 = 12489
                
07/05/2026 16:43:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                
07/05/2026 16:43:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12489
                [07/05/2026 16:51:59] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/05/2026 16:51:59] 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/05/2026 16:52: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;
                
[07/05/2026 16:52: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;
                

07/05/2026 16:52:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            [07/05/2026 16:52:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

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

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

07/05/2026 16:52:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            [07/05/2026 16:52: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;
                
[07/05/2026 16:52:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 16:52:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            [07/05/2026 16:52:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 16:52:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 16:52:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 16:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            [07/05/2026 16:52:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 16:52:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            [07/05/2026 16:52: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/05/2026 16:52:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 16:52:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            [07/05/2026 16:52:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 16:52:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 16:53:02] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[07/05/2026 16:53:02] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/05/2026 16:53:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 16:56:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            [07/05/2026 16:56: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;
                
[07/05/2026 16:56:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 16:56:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            [07/05/2026 16:56:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 16:56:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[07/05/2026 16:56:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 16:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            [07/05/2026 16:56:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

07/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [07/05/2026 17:18:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

07/05/2026 17:18:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            [07/05/2026 17: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;
                
[07/05/2026 17: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;
                
[07/05/2026 19:27: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;
                
[07/05/2026 19:27: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;
                
[07/05/2026 19:27: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;
				
[07/05/2026 19:27: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;
                
[07/05/2026 19:27: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;
                
[08/05/2026 08:58:36] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[08/05/2026 08:58:36] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[08/05/2026 08:58:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 08:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12486
            GROUP BY l.idllamado;
            [08/05/2026 08:58:42] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 08:58: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;
                
[08/05/2026 08:58:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

08/05/2026 09:32:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            [08/05/2026 09:32:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 09:32:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            [08/05/2026 09:32: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;
                
[08/05/2026 09:32:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

08/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            [08/05/2026 09:33:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 09:33:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09:33:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:33:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:33:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:33:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09:33:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:33:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09:33:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:33:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:33:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:33:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:33:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:33:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:33:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09:33:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:33:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:33:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:33:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:33:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:33:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:33:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:33:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:33:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09:33:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:33:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:33:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:33:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:33:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09:34:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09: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 = 12507
                
08/05/2026 09:34:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09:34:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:34:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09:34:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:34:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:34:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:34:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:34:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:34:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:34:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:34:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:34:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09:35:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09:35:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09: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 = 12507
                
08/05/2026 09:35:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09:35:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09:35:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09:35:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09:35:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09: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 = 12507
                
08/05/2026 09:35:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09: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 = 12507
                
08/05/2026 09: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 = 12507
                
08/05/2026 09:35:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09:35:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09:35:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:16 - logentry: =========================================
FECHA: 08/05/2026 09:35:16
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-tNLvFZpuyraR-hy5W_c26TuEG8kpDjDfBCBrEqCHWvMHGcQd3Sb
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76145047",
    "serieinterna": "TO2147",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Schwager",
    "ciudadmaquina": "Calama",
    "departamentomaquina": "Oficina calle ecuador",
    "rutTecnico": "24456550",
    "contador": "353882",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se retira impresora",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12507",
    "observacion": "",
    "firma": "",
    "razonSocial": "SCHWAGER SERVICE S.A.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOHANN GUERRERO",
    "correoContacto": "jguerrero@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "09:35",
    "ubicacionGPS": "LatLng(lat: -23.661856, lng: -70.399998)",
    "horaLlegada": "06:32",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "2",
    "observacionRetiroMaqExterna": "•Máquina estaba a la interperie",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 09:35:16
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-tNLvFZpuyraR-hy5W_c26TuEG8kpDjDfBCBrEqCHWvMHGcQd3Sb
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76145047",
    "serieinterna": "TO2147",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Schwager",
    "ciudadmaquina": "Calama",
    "departamentomaquina": "Oficina calle ecuador",
    "rutTecnico": "24456550",
    "contador": "353882",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se retira impresora",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12507",
    "observacion": "",
    "firma": "",
    "razonSocial": "SCHWAGER SERVICE S.A.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOHANN GUERRERO",
    "correoContacto": "jguerrero@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "09:35",
    "ubicacionGPS": "LatLng(lat: -23.661856, lng: -70.399998)",
    "horaLlegada": "06:32",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "2",
    "observacionRetiroMaqExterna": "•Máquina estaba a la interperie",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 09:35:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76145047

[08/05/2026 09:35:16] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76145047', 'TO2147', 1, 24456550, 353882, NOW(), 
				'08:00', '06:32', '09:35', 2, '•Se retira impresora', 2, 
				'•Máquina estaba a la interperie', '','1','0',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -23.661856, lng: -70.399998)' )
				
[08/05/2026 09:35:16] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200220

08/05/2026 09:35:16 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '76145047' AND 
				serieinterna = 'TO2147' AND
				correlativo = 1;				
		
08/05/2026 09:35:16 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76145047'
				   AND serieintmaquina = 'TO2147'
		
08/05/2026 09:35:16 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'TO2147'
				   AND estado = 1
				
08/05/2026 09:35:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:16 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'TO2147'
				  AND rutcliente = '76145047';
				
08/05/2026 09:35:16 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'TO2147', 2, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
08/05/2026 09:35:16 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200220'                    
				WHERE idllamado = 12507			
				
08/05/2026 09:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                TO ENVIO: micorreo@miempresa.cl, jguerrero@dsprint.cl


08/05/2026 09:35:17 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12507			
				
08/05/2026 09:35:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 09:35:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09:35:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12507
            GROUP BY l.idllamado;
            
08/05/2026 09:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                [08/05/2026 09:35: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;
                
[08/05/2026 09:35: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;
                

08/05/2026 09:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                
08/05/2026 09:35:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12507
                [08/05/2026 09:43:58] 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;
                
[08/05/2026 09:43: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[08/05/2026 09:44:04] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 09:44:44] 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;
                

08/05/2026 09:44:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
08/05/2026 09:44:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            [08/05/2026 09:44:52] 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;
                
[08/05/2026 09:44:54] 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;
                
[08/05/2026 09:44:55] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 09:44:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            [08/05/2026 10:42:45] 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;
                
[08/05/2026 10:42:45] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[08/05/2026 10:45: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;
                

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

08/05/2026 10:45:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 10:45:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12500
LIMIT 1;
        [08/05/2026 10:45: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;
                
[08/05/2026 10:45:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 10:45: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;
                

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

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

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

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

08/05/2026 10:46:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10:46:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:46:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                [08/05/2026 10:47: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;
                

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

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

08/05/2026 10:47:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 10:47:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 10:47:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 10:47:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 10:47:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            [08/05/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;
                
[08/05/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;
                

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

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

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

08/05/2026 10:47:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 10:47:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12500
LIMIT 1;
        [08/05/2026 10:47:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 10:47: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;
                
[08/05/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;
                

08/05/2026 10:47:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 10: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        [08/05/2026 10:47:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

08/05/2026 10:47:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            [08/05/2026 10:47: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;
                
[08/05/2026 10:47:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 10:48:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            [08/05/2026 10:48:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 10:48: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;
                
[08/05/2026 10:48:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 10:48:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            [08/05/2026 10:48:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 10:48:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 10:48:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            [08/05/2026 10:48:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 10:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            [08/05/2026 10:48:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 10:48:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 10:48: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;
                

08/05/2026 10:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            [08/05/2026 10:48: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;
                
[08/05/2026 10:48:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 10:48:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            [08/05/2026 10:48:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 10:48:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 10:48:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            [08/05/2026 10:48: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;
                
[08/05/2026 10:48: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;
                
[08/05/2026 10:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 10:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 10:48:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 10:48:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 10:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            [08/05/2026 10:48:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 10:48: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;
                
[08/05/2026 10:48: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;
                
[08/05/2026 10:48:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 10:48:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 10:48:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            [08/05/2026 10:48:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 10:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10:48:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10:48:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:48:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10:49:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10:49:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10: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 = 12498
                
08/05/2026 10: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 = 12498
                
08/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10: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 = 12498
                
08/05/2026 10: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 = 12498
                
08/05/2026 10: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 = 12498
                
08/05/2026 10: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 = 12498
                
08/05/2026 10: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 = 12498
                
08/05/2026 10: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 = 12498
                
08/05/2026 10:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                [08/05/2026 10:49:19] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[08/05/2026 10:49:19] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

08/05/2026 10:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                [08/05/2026 10:49:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 10:49:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                [08/05/2026 10:49: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;
                

08/05/2026 10:49:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12509
            GROUP BY l.idllamado;
            
08/05/2026 10:49:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10:49:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10:49:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                [08/05/2026 10:49:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 10:49:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10:49:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            [08/05/2026 10:49: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;
                

08/05/2026 10:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12509
            GROUP BY l.idllamado;
            
08/05/2026 10:49:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12509
            GROUP BY l.idllamado;
            [08/05/2026 10:49: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;
                

08/05/2026 10:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10: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 = 12498
                
08/05/2026 10: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 = 12498
                
08/05/2026 10: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 = 12498
                
08/05/2026 10: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 = 12498
                
08/05/2026 10: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 = 12498
                
08/05/2026 10: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 = 12498
                
08/05/2026 10:49:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10: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 = 12498
                
08/05/2026 10:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12509
            GROUP BY l.idllamado;
            
08/05/2026 10:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12509
            GROUP BY l.idllamado;
            
08/05/2026 10:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:49:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12509
            GROUP BY l.idllamado;
            
08/05/2026 10:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:49:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12509
            GROUP BY l.idllamado;
            
08/05/2026 10:49:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:49:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10:49:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:49:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:49:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12509
            GROUP BY l.idllamado;
            
08/05/2026 10:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12509
            GROUP BY l.idllamado;
            
08/05/2026 10:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:49:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12509
            GROUP BY l.idllamado;
            
08/05/2026 10:50:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:50:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:50:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:50:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12509
            GROUP BY l.idllamado;
            
08/05/2026 10:50:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:50:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:50:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12509
            GROUP BY l.idllamado;
            
08/05/2026 10:50:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:50:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:50:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:50:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12509
            GROUP BY l.idllamado;
            
08/05/2026 10:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:50:13 - logentry: =========================================
FECHA: 08/05/2026 10:50:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-svNM-g5rOyMqFHNZ+F7rRWex6Y4ZhZ4MsoW1ydp7sdBV1QFG2Q9
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76270521",
    "serieinterna": "KY2466",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "268214",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se cambia fusor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12509",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD6ASkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAwUGAwUGBQQDAAABAAIDBAURBiESMUETUWFxkRQigaGxwRUj0TIzQuHwJENSYpLxBxZygqIlNkRTY3PS\/8QAGgEBAAMBAQEAAAAAAAAAAAAAAAIDBAEFBv\/EADMRAAIBAgMECgEEAgMAAAAAAAABAgMREiExBCJBURMyYXGBkaGxwdHhIzNC8FLxFESC\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREAREQBUWqq2st1JTVdLIRHHO3tmtAy5vn0G2Pir1RbjRMuNvmpHnAkbgHuPMH4EBSi0nmV1YylBqLzJEcjZY2yMOWvAcD3gr0s9o2uM9pNHKCJ6JxjeHc8ZOPuPgtCklZ2FKaqQUlxIl0rxbLfLWOhfK2MZLWYz\/ALL3Q1sNwo46qB3EyQZ8j1B8l2exskbo3tDmuBDgeoWXsRdYr\/U2OVx7Gb82mc7r4egx5tXUk0+ZCc5QqK\/VeXj+TVIiKBeEREAREQBERAEXwkAZJwAqO4avtlE4xROdVzD+GHcZ8\/0yuqLehCdSFNXk7F6iyDNU3V93pIJLeyJk7sCAu\/Mwepzy6nkFr12UXHUjSrRq3w8AiIoloREQBERAEREAREQBERAEREAREQBERAEREAREQGX3tGuevY3KPyAf9zkf+S1Czus6ZzrZFXxAdrRSh4J7iQPrw+ivKOpZWUcNSz9mVgeNscwrJZpMzUdypKn4rx\/J2Wb1hQSOpYrrS7VFE4OyOfDn7Hf1WkXmSNksbo5G8THgtcO8FRi8LuW1aaqQcThbq1lxt8FXHjErA4gdD1HwOQpKy+lHyW+srrFUPy6nfxxZ6tPP6tPxK1CSVmRoTc4JvXj3hERRLgiIgCp71qOktH5O89W4e7CznnpnuUG46hqqyqdbbBF20o2kqP4Y\/Lp8fqptk05Bax28zvaax+75n74Phn681YoqOcjLKrKo8NLxfDw5lZHaLxqF4kvUzqWlG7aaLYnz\/nk+Sl1slo0lSZpaVntMgxGwbvd5k74Ui+6hhtDRDG3t6yTZkLd8HoT+nVRrLYZvaPxa8ntq55y1p3EXd4Z+ilfK8tORThSlhp5y4t52\/vBHvT1oqIppbtcjxV1UM4I\/dju8+XljCv0RVSbbubKdNU44UERFwsCIiAIiIAiIgCIiAIiIAiKouOqLVbS5j6jtZW\/3cQ4j68h6rqTehCc4wV5Oxboss256lvAa63UTKGB3KWY5J8dx9ivv\/LF0rDm5X2VwPNkQIH2HyU8FtWU\/8hy\/bi36L1NFNV01OQJqiKInkHvA+q5i5UBOBXU5J\/8Ayt\/VU8WiLQzeTt5nHmXyY3+GF0Oi7IRgQSDxErktDmMW0f4rz\/BeMeyRvExwcO8HK9LMyaHomnjo6yqppejg4ED6H5ryYNVWkNMVRHc4hza\/9v57\/MphT0Y6apHrw8s\/yahFSWrU9PX1HsdRE+jrOXZSZ3Pdk9fBXag01ky6FSNRXizjVU7KukmppP2JWFh8iMKh0ZUyCintk7S2aikLSCehJ+4PyWkWTuxfYtU090B\/s1X+XN3A\/wBYPwKnDNOJRX3JRq8sn3P8msREVZqMrqUfhN6oL5HGS0O7OfHUYwPjgn0C1DHtkjbIxwc1wBaR1CjXShZcrbPSPx+Y3AJ6O6H1VXo+4OqrUaSYET0R7JwPPHT6EfBWPejfkZY\/p1nHhLPx4l+iIqzUFm9TXColqYLFb3YqKr947\/Cw\/wAgSfAeK0iy+nQK6\/3W5yHIjf2URcc8Lcn02A9Spw4vkZtobdqa\/l7cS7tVqprRRtp6dvi955vPeVV3rUMsdSLZaGCor3nBIwRH59M\/Tqo9yvVTeak2qwnOf31UNmtb4H7+itrLY6ay05bF+ZM\/95M4bvP2HgpWtnLUhic\/06OUVx+F9kex6eZbyausf7TXybvldvw+Az9Vdoirbbd2aYU4044YhERcJhERAEREAREQBERAERU921NQWomIu7eo5djEckHxPT6rqTbsiE5xgrydkW5IAyTgBUVw1bRU0ns9E11fUk4ayHcZ8+vwyoH4ZfNSESXOY0FIeVOwEOI8R+votBbbRQ2mLs6SENJGHPO7neZU7RjrmUY6tXqLCub18vsovwi+35pN2qhR07iCKeIZOPH+efJXFu0\/bLWQ+mph2gH7x54nfPl8FZIuObeROGzwi8TzfNhERQLwiIgCIiArLzYaS8xASjs5m7smYPeH6hVdpu1Xa61tmvZPETinqCch46An+vFadVl9s0V6t5gdhsrfeikP8Lv0PVTjL+MtDNVpNPpKfW9yzUC9W1t1tc1IccThmMno4clB0zdX1cElBVkitozwSAj9oDbP2\/3V6uNOLLIuNan2Mo9KXJ1da+wnyKmjPZSA88DkfljzBV4spdmu09qGO8xg+yVR4Klreh7\/AL\/A961LHtkjbIxwc1wBaR1C7NcVxK9nk7OnLWPtwZ6WWm4rLrZkpcG0tzHC7u4x\/PH+orUqj1dbxXWSSRrSZqb8xhbz8fl9Eg87Pid2iLcMUdVn\/fAvEUCy14uVopqr+J7MO\/6hsfmF2r7hTW2ldU1UgYxo5dXHuA6lRs72LVOLjjvkdZ54qaF808jY42DLnOOAF+fWuCrvVdW0NFOYqCWYyzOxgluTgfHuVtFSV+rqgVVY59Na2nMcIODJ4\/z9F0iZFZNcNhjaI6etgDWtGwaQNvm3\/wAldHdTXE8+s3WlGTVo3t2u\/wAGgt1spLVTCCkiDG\/xHm5x7yeqloiobuelGKirIIiIdCIiAIiIAiIgCIiALlU1MFHA6eolbFGwZLnHAVdetQU1nYGEdtVP\/dwN5nPU9wVXTWS432obW355ZCDmOkacY8+76+Smo5XehnnW3sFNXl6LvPMl3umpJjTWdjqakBxJUvG5Gen6DfyVvadO0FpaHMZ2s\/N00gy7Ph3KyihjgibFCxscbBhrWjAAXtHPgskIULPHN3l7dwREUDQEREAREQBERAEREAREQGVv7BZb\/RXuIBrJndjU55Hbn6Z\/0hakEEZByCqvU1IKzT9WwjLmM7Ru2SC3f6ZHxX3TdV7ZYKSQncM4D5t2+ysecUzLDcrShwefwyRdqSGutdRTzuDWOYTxn+EjcH4Kl0VdPaaB9BI8OlpT7pz+0zp6cvRdNbvcywe7j3pmtOQDtgqk1JZm2r2S5UANPGQGPMZILHY2d\/Xd4qUIpxs+JRXqShVxxXVWfc\/o3q+EAjBGQVQWC+y1NQ62V7QyrYOJjgciRnMEHrt6hS77fIrNTAhva1Mu0UQ5k958FXgd7GtV4OnjvkZ62XWHS1Tc7fVdoWRv44G9XZ\/UYPwKlUNmq7\/Utul8y2IbwUvIcPj4fMqsrrfX0MtHf7q4TOfO3toi3PA3mB6A+Wy3rHtkjbIxwc1wBaR1Ctm7ZriYtnpubcJ6LRd+lz61oa0NaAABgAdFnNZ08gpKa5U7T2tFKHZbzDT19QFpFwrKSOuo5aWYZZK0tPh4qqLs7m6tT6Sm4nqlqGVVLFUR\/sysDxv3jK6rNaNqntpqm1Tk9tRSkAH\/AAk\/rn1C0qSVnYUanSQUgiIoloREQBERAEREAVBetQvgqPwy1Re0179ttxHt9f6K4Xq91c9f+C2UcVSdpZRyjHXfpjqenLmrKyWOCz05x+bUybyzHm493krElFXkZZVJVZOFPJLV\/C7SPZNOsoXmtrn+03CQ8TpHbhh8P1V4iKDbbuy+nTjTjhiERFwmeXvbHG57zhrQST3BUek6yruFHU1dTIXMfO7smnHujntt4\/JTb\/KYrBXPbsexcPUY+646VhbDpukDf4mlxOOZJJU11GzPJt11Hkm\/gt0RFA0BERAEREAREQBERAeXNa9hY4Za4YI7ws3oVxFpqIT\/AHdQ4A9+wWmWY0TtFcWt\/YFSeH+vRWR6rM1T9+Hid9bRl+nXuH93Ixx9cfdWD4IrxYBEccFTAMHngkZB+Bx6LpdqT2601VNjJkicG\/8AVjb54Wbtep4LdpWFr\/zKuMuiZDnckHbPcMEei6k3HLmV1JRhVbno17f7KJ9WKalg7U9lc7ZOGN2PvsBOxPgfkVqNOWs1bm364SioqZxxR9Wxjw8fos\/WUFbQz096u8bZW1UhE8XDuwEY+BxnHdgK\/wBF1BbT1luMnGKWY8B\/ynPLwyCfirZ9W6MWzL9ZRmu74b8C6u1C25WuopCATIw8Gejuh9cKs0dXmrsjYXkdpSnsyOuOmfp8FaV9zo7bF2lXUMiHQE7u8hzKw9Ldqo6gqvwKIRtuDvcEzeoGSe7nxeqqhFyi0bK9WNKtGXHRrj2ep+gSSxwsL5ZGsaObnHAVbNqaywHD7hGf+gF4PoCq2HSMtY4S3y4zVTwciNjyGD1+wCtYdPWeBvCy3U5H+dnGfU5XLQWrLcVeWaSXf+DOxXSi\/wCdoauhqBJDWsEcmxbh\/IbEZ6N9StosHrahp7dVUVRRRMp3PDsiJoaMtIIOB13W1oqkVlDBUgYEsbX47shdqJWTRVs0mqk6ctb38zuiIqjcEREAREQBZ6+XuY1H4PaB2lbLs97TtEPPv+i6ajvbqOMUFDmS4VHusa3csB6+fd6rtYLFFZ6bid+ZVyjM0p3Oe4eH1ViSisTMtScqkujh4v47\/Y92OxwWWm4W\/mVD95ZTzce4eCtERQbbd2aIQjCKjHQIiLhIIiICs1Jvp6tGcfl8\/ivmm\/8A27Rf\/qXS\/MMlhrmhvEewcceQyo+lHh+mqMh2cNcD4YcVP+HiZv8As\/8An5LhERQNIREQBERAEREAREQBZjQg4rVUy5\/bqXbd3uj9Vf10nY2+plJxwROdnyBWb0\/cKeyaRbVVRx2kjyxg5vPLb0VkVusyVZJVot6JN+xdXu9U9ko+2l9+R+RFGObz+neVlNL07GamIuNH2dRKwzQNIw1pO\/Ly5d2O9TrDA2+XV11uVRHJMzBhpQ4Hsx0JH9d5XrWMjKC4W65xub7RE\/BZx4Lmg59OYz4qyKtucWZqknNKu+qnkuziy+vVIyus9TTyOYwOYSHPOA0jcHPmvzuz3G4UtxAoOA1E7BAOIDHQDHoFpWUF31S9s1yc6ioMgtp27F47\/wCZ+AVVqmzNsdbT1VCwshdjh3J4Xt\/Xn6rtOy3WVbVjnatFWS8y\/oNIQiX2u7TOrql27g4ngB+\/9bJq2k7CgprjSxta+3yBzQ0YAaSOnmB81fUlSyspIqmPPDK0OAPMeC9TwR1MEkEreKORpa4d4KqxvFdnoPZ4Ok4w48TxR1cddRxVUJyyVocPDwXdZfSNQ6klq7HOfzaaQuYSMcTc7\/Y\/FahRkrOxZRqdJBSevHvMlqSCO56ot9ucc5icSO7Oev8A2qXompdLZDTv\/appXM+B3+5XG0B1x1hcLhg9lTjsYz0J5c+vIn4ppkey6gvVGdvzQ9o8Mn9QrZdXDyMNP95VP8m16ZexqERFQemEREAUK7XBlrtk1Y\/BLG+60\/xOPIeqmrJVGNU6lFO05oLccybbSOzy+OPQFTirvPQor1HGNo6vJf3sJWl7XIS+91xLqurBIBGOBp\/XA+C0a+AADAGAF9XJSxO5OlTVOOFBERRLAiIgCIiA8vY2SN0b2hzXAhwPULM6NlNP7faZHe\/SzktzzI5H5j5rULK3cmyarpbqAG09WOxnPQHvPwwfgVZDNOJlr7ko1OWvczVIvLnNYMucGjxOFzFZSk4FTCSf84VZpbSOyL4CCMg5BX1DoREQBERAEUF16tjJuxdXQh+\/8W22535LtV19NQ0bqueUNhaM8Q3z3Y712zIY42bvoVmr6r2XTs+McUxEYye\/n8gVinUVSbCLjV7RMHY0kRGM5yS7H+o56nyUupq6vUWoqJtRG6KmkcHRRnl2eTl3o07+Hcpt+qRqK60tqtT2uZCSS8YDAdtwe4Du+a0xTikjx68lWcpruS5sjXKloqGOjpLd2r71GQXOhBznmc8918pLey8WW53CpmkmuUQyQ\/bswN+XiAQtbZbBS2aH3B2lQ8fmTO5k+HcFTXmMWPUUdw\/+FXgxVLemTzJ+vwK4p3dkWT2fAsc1lo1y4J95d6cqfa9P0cpOSI+A+bdvsu13tsd2t0tJIQC4ZY4jPC7oVSaHkLKOsoXO4nU053HLB2+rStQqZbs8jfRaq0Fi4r8EKz0DrZa4aJ8olMQI4wMZySeXxU1EUW7u5dGKilFcDMampJaGth1DSNy+DAmYP4m8s+hx6KdcL7AzTT7nTu4u0Zwx45hx238j9FbvY2SN0b2hzXAhwPUL83uUcNuvTrb28klthnbK+No4uDOM8+eM4\/mrYJTyfAw7RJ0LyjpL0fM2OlbcLfY4ctIlnHayZG+\/IemPmoNH+X\/xDrgOUlMDju2Z+nzWip6mCrhE1NMyWM8nMOQs5Yn\/AIlqm5XNgzAGCKN3Ds4ZxkH\/ALT6ribeJsnOMYqnCPP2RqERFUbQiIgKnUlzNstL3RE+0THsoQOfEevwHzwvunbWLVaY4i0CV445DjqenIclWXXFy1nb6A4MVK0zPB5Z54x8G+q1CseUUjLT36sp8sl8hERVmoIiIAiIgCL4SAMk4AWYuGoam41Lrbp9navOz6n+Fg7x+vopRi5FVSrGms\/9ltdr9QWdn9ok4pSMtiZu4\/DoPEqhqob9quHgdTx0FFniaJR7zj06Z+Q+KtLRpekt57epPtdW45Msgzg+AP15q8UsSj1Sl06lZfqOy5L5Zg9P2Kju4qIrhPVCrp3cD4i\/GB05jwx8PJXZ0RZiMcEw8e0UbUVNNZ7lHqGjGQCGVLOhHLPx2HnhaanniqqeOeFwfHI0OaR1ClKctUyqhQpXdOcVdeq5mafpOqoHGay3OWIjfsnn3XbcjjA9Qutt1PIyrFtvcPstXnAeB7ju7O\/Xw2WkUG62mlu9IaepZv8AwPA95h7wo475SLXQdPOi7dnB\/RORZaz3Kqs9c2yXd2WnamqDycOgz\/WOS1KjKOFl1Kqqivx4rkERfHODWlziAAMknoolpitO0NtrrDWzXVoeWTuL5nEhwAaN88+eVSxU0xiNW2nqKmz005Ije\/GQeu3kM4712p\/ZK+\/1NI6tMNskmfMcnhDwMn+s9PFdL5fJK2kNNb4\/Z7XE4RtwMdoefp1x5Z5hbFe589JwdNN8MstW\/o9CGo1Ne6mqgeaWiY3hdLjhDIwOW3PI6K00Tb2CprLiyMthJMVOXZ3bnc\/IfPkvtFo2X8Piaa+anMzAamIZw7rgjPPp8FqKOjgoKVlNTRiOJg2AVc5q1kbdn2aWNVJrPXxf0d1V6jofxCxVMIbl7W9ozbJy3fbz5fFWiKhOzuelOKnFxfEw2hKgvulW085IQ4+JBAz81uVk7LZKug1ZVzmINpsP4HY2IcQQB5LWKyq05XRl2KMo0sMuDYREVRsId1r2Wy2z1bsExtPC0nHE7oFUaXtZktMtVcGiaW4Hif2gySzpnz5+ijXw\/j+oqayxOJgpz2lTjl06+Rx5uWra0NaGtAAAwAOise7G3MyR\/VquT0jl48foz0+jKJ8sj6epqKZsp99jHbHfKt7bbaW1UgpqRhawHJJOS443J8dlLRRcpNWbLoUacHiiswiIoloREQGYs2JNa3eVwy9rQ0Hw2\/QLTrMWX3dZXhp2JAIHht+q06nU1M2y9R979wiIoGkIiIAvLnNYwve4Na0ZJJwAF9c4NaXOIAAySeiyVbU1OrK42+geY7bEfz5wP2z3Dv8AAfFSjG5TVqqmss29EKqsq9WVb7fbnGG3RnE1Rj9vw\/l6rSW620trpRT0kfAwbk8y495K9UVFT2+lZTU0YZGwbDv8T4qQuylfJaHKVLC8c85P+2QREUC851EEVVTyQTND45GlrgeoWa0xPLbbhU6fqnH8ol9OT\/E3mcfX1WpWd1XRSRiC9Um1RQnLh\/iZn7b\/AAJVkHfdfEzV042qx1Xtx+zRIo9BWx3Ghhq4f2JW8WO49R8DkL5X10NtopKqodhkYzjO7j0A8SoWd7F+KOHFfIrdV0VNV2d755WQvh96KRxxh3d8VUW3WFfPSRwQ2yStqY2\/mPa7n47Dy+a6Wu2VGppPxS8uf7PxHsKYOIbjv8vmcdyXCGHTGoaa4wR9nR1I7KZjNmsO2\/0OPAq9JWwvNnmzlNvpo7sXl225nc6ivzBxu05KWZ5NJz9Psqe46ndfXw0DnfhtM4n2h7ncXLpsPD4kq51PfuzD7TROHtEjcSyZwIm9d+\/Co7PZ3Xvs6eNpit1O7Mk3Dh0z+uPp4DxXYqNsTViutKo59FCWLn9ZepEubRXU3tVBQ9nbKHEYednPyeZPU59Mq4oIKe+6gh9kh4LVbm5YOEgOdz69Sfk3xUC9001mqpLVbKuaaGoYXSU2OLgHP6DOdjhX+hXg2SSPgDSyY+8BjjyBv9vgF2TtC6K6MMVfBLx71wXZp5GlREWU9wIiIAiIgCrL\/d22e2Pn5yv9yIf5sc\/IKyc4NaXOIAAySeiyVEH6qv5r5A78OojiFrgPedtzHz9ApwV83ojPXm0lGPWen34Fnpm1SUFE6oqxmtqnGSYuxkZPLPz8yrtEUW7u5bTgqcVFBERcJhERAEREBmK3\/wBM1vT1Z4WxV0XZOcTj3th9meq06qtQ2n8XtbombTxnjhOce8OmfFctNXg3OhMNQcVlN7kzTzONuL9fFWPejfkZYPo6rg9HmvlF0iIqzUERZ3UV4mEzbLbQXVtSMFw\/u2n749BupRi5OxXUqKnHEyNeK6a\/3FtktriYGn+1TN5Ad3w+ZWjoaKC3UjKWmZwxsHxJ7z4qLY7PFZbeKdh45HHikf8A4nforJdlJaLQro02n0k+s\/TsCIigaAiIgC8vY2SN0b2hzXAhwPUL0iAy2nXus95qrDM48DiZaYnqOo9PoV81GHXbUFBZA49iPzpgB59fIH\/UpGrqKQQQ3el2qaFwdnvbn7fTKg6drY7tqyrrgwAmmGPA+6D9Cr1nv\/255kt1rZ3pdeWv4Ne1oa0NaAABgAdFl9b3KkZbTb3YfUyFrmgf3eDzPmMj4q1vt8gslJ2j\/fmfkRR\/4j3nwWIstpqtS3R9RUueYeLinl7\/APKPH6Bcpx\/k9Ce11n+zTzk\/Q+6dsdRe5Xl7nMpA78+TO7zz4R6\/fuWxu1ypdO2xkNPGBK5vBTQtGcnv8sn4qlsN1hsNJdKaqJ4aSfEbQMF5ORgf6cqZZLbU3OvF\/ujcPI\/s0JGzG9D+nnlSnm7y0KdnSjBRp9d6vkSdN2V9HEa+vBfcKjLnufuWA9PPv9FeNa1jQ1jQ1o5ADAC9IqG23dnpU6cacVFBERcLAiIgCIiAyt5qK2+3Q2OiY+KnjcPapiOnd5eHXyWioqKC30kdNTt4Y2DA7z4nxUhFJyurFMKWGTm3dv25BERRLgiIgCIiAIiIAs3fLNWRVzLxZQG1Tf3sY27Uffly+60iKUZOLuV1KaqRsyosmoaW7s7M\/k1bB+ZA7Y56kd4VuqS9adZXyCsoniluEZyyVuwcf82B81BpdUz26Q0eoIHxSsB4Z2t2lx3AD5jbyUsKlnEoVZ03hrefDx5MtNQXploojw+9VSgtgjAySe\/yCj6csrqKI19bl9wqBmRzjktB6fTKg2Gmlvl1kv8AWtPZtJbSMOMAAn6fXK1aS3VhQpJ1ZdLLTh9hERVmsIiIAiIgCIiA8vY2SN0b2hzXAhwPULA0L49JalrBUZMQhcIu94JBb9Meq3k00VPC+aZ4ZGwZc5x2AX5hqK6\/jN1fUsZwwsAjj234Rk5PmSSr6KbuuB5u3zjBRkusnkS6alr9Y3h9RKeCIYD39I29Gjx\/3W5zQaftQyRDTQjbvJ+5Ki2uutlDpmCrjIhpms3HMl3UeJyqqjpqrVlc24V7DHbYj+TAf7zx\/U\/BJPFrkkcpRVJbu9OX98vcrLRT0+o9WVE1RE5kZaZhEd+IbAZ9cr9AAAGAMALMUzQ3\/iFUNaAAKUAAdNmrUKNR3aL9khhjLndhERVGwIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALI3qR2o73HZaUjsICTUTBuS0jORn5efkr2\/XMWm0zVOR2mOCIHq88vTn8Fw01aRa7Y0yNPtVQA+dx556D4Z9cqyO6sRlrfqyVJaavu5eJXv07c7Q901hriWczTTnY8+R5deuPNfYdXvpZm097oJKN7h+8a0lp8cc8eWVp1znp4amJ0U8bZGOGC1wymO\/WQ6Bw\/albs1R4paymrY+0pZ45m97HZx5rus5WaNpC4zW2eWgnzkFjiW\/qN+4ri24ams7A2toW3CFoOZYj72Ph8DuEwp9Vjppw\/cj4rNfZqUVJb9WWqveIjKaeY\/wAEw4d+7PJXTXBzQ5pBBGQR1UGmtS+FSE1eLufURFwmERZnVd4kiAs9C176upAyWHdoJ5eZx6KUYuTsV1aipQcmV2o7pUXy4CyWwdpGHYkc3k8jx\/wj6jyXe+2agtekhTGRjJmPa8PPOV\/I\/DBPlsvUMtDo2gEOBUXOdoLmt3Oeg8G\/M\/TvbrDWXCsFz1AQ94wYqf8AhZ5j7equva1tF6nm4HNyTV5vyijM6bpYrjcYKKumkFNl0kcWfde7qPDl8l+lta1jAxjQ1rRgADAAX57qK0VFhuDKykJFMZe0iIyezf3H+t8eC0tZqimi0624RPb20zOGOPOSH43yO4H+t0qJys0d2SUaCnCeTXsRrS5tdre51cZ4o4oxGCNxnYc\/+0rUKm0tbJLdaG+0NLaidxklzz35A+OFcqqbzyNuzxap3lq8\/MIiKBoCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiLhW1TaKimqXcomF2O\/wQ42krszlY5981jDRtbmlt35kmRsXbffA9VqlndGU0jbZLXTlzpq2Qvc5w3IGw+efVaJTnrbkZ9mTccb1ln9egREUDSEREBAuFkt1zyaqlY95GO0GzvUKkGn7zZeN1luHaw8xTzY+XTPjstUimptZFE6EJvFo+ayZmYdXupZGQXuglo5HD94GktPjjnjyyr6krqWvjMlJURzNBwSx2cefcuksMVRGY5omSsPNr2gj0Ky95sFBamm40le+2yN2aA4kE55Ac+\/bl8F1YZdhW3WpK7eJeT+jUzCQwvELmtkLTwFwyAemV+e0D6uKvmZR\/2y7TktdUA8TIQTuQeRPjyA2Xiqvl7r7ewVpmZQvdwyTRQ44x3Z2B8tlr9NmzNoRHapGPOAZM7SE97hz+3crLOmnczOcdqqJRdrefgvk82XTkNueauqd7VXPJLpnb4J7s\/XmrtEVDbbuz0YU4044Yo5zQxVELopmB8bhgtcNisXa7RQ2\/V8tBVxB4I7SlLjt3gHvP8A\/K3CzesKCR1LFdaXaoonB2Rz4c\/Y7+qnTeduZn2qmmlUtdxz8OJpEUS2V8dyt0NXHykbkj\/Ceo9VLVbVjVFqSugiIh0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCpNYTGLTdSAcGQtZ\/wCQz8gVdqi1jC6bTk5b\/dua8jwz\/NSh1kUbRfoZW5MsbRCKez0cQGOGBgPngZ+amKJap2VVppZmYw+Jp26HG49VLXHqWQtgVgiIuEwiIgC+EgDJOAFTXTVNuthMYf7RPy7KLfB8TyH1VYKK96nw6vcbfQ5yIWg8b\/P+fopqD1eSM89oinhhvPs+WS7jqkGc0NmhNbVk4yBlje8+P08VzoNLy1NR7ffpfaZzuIc5Y3+u4beau7fa6O1w9lSQNjHV3NzvM9VLXcdsokVQc3iqu\/Zw\/J54Gdn2fCODGOHG2O7CoK\/R9FNL7TQPfQVAyWmI4bny6fBaFFFSa0Lp0oVFaSMqb3eLDKI7xS+0UuQ0VUQ3xyyemfA4Kv6C50dyiElJO2QY3bnccuY+IUpzQ5pa4AgjBB6qgrtJUskvtNtldb6kHIMf7BPPl0+G3gpXjLXIpw1afVeJcnr5\/ZoF5exskbo3tDmuBDgeoWYpNSVlrqW0GoYezccBlQwAhw7zv9PRaaKWOaNskUjZGOGWuacg\/FRlFxLadWNRZa8uJmtOPNpu9bYZXEtDu1pyerSOXpj0K1CzGrqSSnfTXylGJqRwD\/Fuds\/T4rRU1RFV0sVTC7ijlaHNPgVKedpFVDcbpPhp3P60OqIirNQREQBERAEREAREQBERAEREAREQBERAFzngjqYJIJW8UcjS1w7wV0RA1cydrqJtM1zrVWNkfSTS4pZGt4jknkcd\/wBQVrF5cxj8cbQ7hORkZwe9elKTvmU0odGnG+XALy5wYwvdyaMnbK9IolxmX6ukq5DFZrZPVuBxxuGGjuP++Fz\/AAbUN2LTdLiKaHfMMB38ttvmVqGtaxoaxoa0cgBgBelZjt1UZegc86km+zRFXbNO2204dTw8Uv8A9snvO\/l8FaIig23qaIwjBWirIIiLhIIiIAiIgONXSU9dTugqomyxu5tcszPa7pppzqqzyOqaQDMlNIcloznb+s+a1iKUZNFNSjGeej5kCiq6e\/WjteyeIZ2ljmvHwP8AuoOl6Sut0NVQVTD2MMv9nkP8bTnOPDr8SrtrWsbwsaGjuAwvSYtUFTu4zbzXqERFEuCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "TRANSMAT SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "RAUL VARGAS",
    "correoContacto": "raulvargas@transmat.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "IMPRESIONES Y COPIAS SALEN MANCHADAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56990951391",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R808\",\"id_control\":\"28626\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:50",
    "ubicacionGPS": "LatLng(lat: -23.752439, lng: -70.3059736)",
    "horaLlegada": "07:20",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 10:50:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-svNM-g5rOyMqFHNZ+F7rRWex6Y4ZhZ4MsoW1ydp7sdBV1QFG2Q9
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76270521",
    "serieinterna": "KY2466",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "268214",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se cambia fusor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12509",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD6ASkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAwUGAwUGBQQDAAABAAIDBAURBiESMUETUWFxkRQigaGxwRUj0TIzQuHwJENSYpLxBxZygqIlNkRTY3PS\/8QAGgEBAAMBAQEAAAAAAAAAAAAAAAIDBAEFBv\/EADMRAAIBAgMECgEEAgMAAAAAAAABAgMREiExBCJBURMyYXGBkaGxwdHhIzNC8FLxFESC\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREAREQBUWqq2st1JTVdLIRHHO3tmtAy5vn0G2Pir1RbjRMuNvmpHnAkbgHuPMH4EBSi0nmV1YylBqLzJEcjZY2yMOWvAcD3gr0s9o2uM9pNHKCJ6JxjeHc8ZOPuPgtCklZ2FKaqQUlxIl0rxbLfLWOhfK2MZLWYz\/ALL3Q1sNwo46qB3EyQZ8j1B8l2exskbo3tDmuBDgeoWXsRdYr\/U2OVx7Gb82mc7r4egx5tXUk0+ZCc5QqK\/VeXj+TVIiKBeEREAREQBERAEXwkAZJwAqO4avtlE4xROdVzD+GHcZ8\/0yuqLehCdSFNXk7F6iyDNU3V93pIJLeyJk7sCAu\/Mwepzy6nkFr12UXHUjSrRq3w8AiIoloREQBERAEREAREQBERAEREAREQBERAEREAREQGX3tGuevY3KPyAf9zkf+S1Czus6ZzrZFXxAdrRSh4J7iQPrw+ivKOpZWUcNSz9mVgeNscwrJZpMzUdypKn4rx\/J2Wb1hQSOpYrrS7VFE4OyOfDn7Hf1WkXmSNksbo5G8THgtcO8FRi8LuW1aaqQcThbq1lxt8FXHjErA4gdD1HwOQpKy+lHyW+srrFUPy6nfxxZ6tPP6tPxK1CSVmRoTc4JvXj3hERRLgiIgCp71qOktH5O89W4e7CznnpnuUG46hqqyqdbbBF20o2kqP4Y\/Lp8fqptk05Bax28zvaax+75n74Phn681YoqOcjLKrKo8NLxfDw5lZHaLxqF4kvUzqWlG7aaLYnz\/nk+Sl1slo0lSZpaVntMgxGwbvd5k74Ui+6hhtDRDG3t6yTZkLd8HoT+nVRrLYZvaPxa8ntq55y1p3EXd4Z+ilfK8tORThSlhp5y4t52\/vBHvT1oqIppbtcjxV1UM4I\/dju8+XljCv0RVSbbubKdNU44UERFwsCIiAIiIAiIgCIiAIiIAiKouOqLVbS5j6jtZW\/3cQ4j68h6rqTehCc4wV5Oxboss256lvAa63UTKGB3KWY5J8dx9ivv\/LF0rDm5X2VwPNkQIH2HyU8FtWU\/8hy\/bi36L1NFNV01OQJqiKInkHvA+q5i5UBOBXU5J\/8Ayt\/VU8WiLQzeTt5nHmXyY3+GF0Oi7IRgQSDxErktDmMW0f4rz\/BeMeyRvExwcO8HK9LMyaHomnjo6yqppejg4ED6H5ryYNVWkNMVRHc4hza\/9v57\/MphT0Y6apHrw8s\/yahFSWrU9PX1HsdRE+jrOXZSZ3Pdk9fBXag01ky6FSNRXizjVU7KukmppP2JWFh8iMKh0ZUyCintk7S2aikLSCehJ+4PyWkWTuxfYtU090B\/s1X+XN3A\/wBYPwKnDNOJRX3JRq8sn3P8msREVZqMrqUfhN6oL5HGS0O7OfHUYwPjgn0C1DHtkjbIxwc1wBaR1CjXShZcrbPSPx+Y3AJ6O6H1VXo+4OqrUaSYET0R7JwPPHT6EfBWPejfkZY\/p1nHhLPx4l+iIqzUFm9TXColqYLFb3YqKr947\/Cw\/wAgSfAeK0iy+nQK6\/3W5yHIjf2URcc8Lcn02A9Spw4vkZtobdqa\/l7cS7tVqprRRtp6dvi955vPeVV3rUMsdSLZaGCor3nBIwRH59M\/Tqo9yvVTeak2qwnOf31UNmtb4H7+itrLY6ay05bF+ZM\/95M4bvP2HgpWtnLUhic\/06OUVx+F9kex6eZbyausf7TXybvldvw+Az9Vdoirbbd2aYU4044YhERcJhERAEREAREQBERAERU921NQWomIu7eo5djEckHxPT6rqTbsiE5xgrydkW5IAyTgBUVw1bRU0ns9E11fUk4ayHcZ8+vwyoH4ZfNSESXOY0FIeVOwEOI8R+votBbbRQ2mLs6SENJGHPO7neZU7RjrmUY6tXqLCub18vsovwi+35pN2qhR07iCKeIZOPH+efJXFu0\/bLWQ+mph2gH7x54nfPl8FZIuObeROGzwi8TzfNhERQLwiIgCIiArLzYaS8xASjs5m7smYPeH6hVdpu1Xa61tmvZPETinqCch46An+vFadVl9s0V6t5gdhsrfeikP8Lv0PVTjL+MtDNVpNPpKfW9yzUC9W1t1tc1IccThmMno4clB0zdX1cElBVkitozwSAj9oDbP2\/3V6uNOLLIuNan2Mo9KXJ1da+wnyKmjPZSA88DkfljzBV4spdmu09qGO8xg+yVR4Klreh7\/AL\/A961LHtkjbIxwc1wBaR1C7NcVxK9nk7OnLWPtwZ6WWm4rLrZkpcG0tzHC7u4x\/PH+orUqj1dbxXWSSRrSZqb8xhbz8fl9Eg87Pid2iLcMUdVn\/fAvEUCy14uVopqr+J7MO\/6hsfmF2r7hTW2ldU1UgYxo5dXHuA6lRs72LVOLjjvkdZ54qaF808jY42DLnOOAF+fWuCrvVdW0NFOYqCWYyzOxgluTgfHuVtFSV+rqgVVY59Na2nMcIODJ4\/z9F0iZFZNcNhjaI6etgDWtGwaQNvm3\/wAldHdTXE8+s3WlGTVo3t2u\/wAGgt1spLVTCCkiDG\/xHm5x7yeqloiobuelGKirIIiIdCIiAIiIAiIgCIiALlU1MFHA6eolbFGwZLnHAVdetQU1nYGEdtVP\/dwN5nPU9wVXTWS432obW355ZCDmOkacY8+76+Smo5XehnnW3sFNXl6LvPMl3umpJjTWdjqakBxJUvG5Gen6DfyVvadO0FpaHMZ2s\/N00gy7Ph3KyihjgibFCxscbBhrWjAAXtHPgskIULPHN3l7dwREUDQEREAREQBERAEREAREQGVv7BZb\/RXuIBrJndjU55Hbn6Z\/0hakEEZByCqvU1IKzT9WwjLmM7Ru2SC3f6ZHxX3TdV7ZYKSQncM4D5t2+ysecUzLDcrShwefwyRdqSGutdRTzuDWOYTxn+EjcH4Kl0VdPaaB9BI8OlpT7pz+0zp6cvRdNbvcywe7j3pmtOQDtgqk1JZm2r2S5UANPGQGPMZILHY2d\/Xd4qUIpxs+JRXqShVxxXVWfc\/o3q+EAjBGQVQWC+y1NQ62V7QyrYOJjgciRnMEHrt6hS77fIrNTAhva1Mu0UQ5k958FXgd7GtV4OnjvkZ62XWHS1Tc7fVdoWRv44G9XZ\/UYPwKlUNmq7\/Utul8y2IbwUvIcPj4fMqsrrfX0MtHf7q4TOfO3toi3PA3mB6A+Wy3rHtkjbIxwc1wBaR1Ctm7ZriYtnpubcJ6LRd+lz61oa0NaAABgAdFnNZ08gpKa5U7T2tFKHZbzDT19QFpFwrKSOuo5aWYZZK0tPh4qqLs7m6tT6Sm4nqlqGVVLFUR\/sysDxv3jK6rNaNqntpqm1Tk9tRSkAH\/AAk\/rn1C0qSVnYUanSQUgiIoloREQBERAEREAVBetQvgqPwy1Re0179ttxHt9f6K4Xq91c9f+C2UcVSdpZRyjHXfpjqenLmrKyWOCz05x+bUybyzHm493krElFXkZZVJVZOFPJLV\/C7SPZNOsoXmtrn+03CQ8TpHbhh8P1V4iKDbbuy+nTjTjhiERFwmeXvbHG57zhrQST3BUek6yruFHU1dTIXMfO7smnHujntt4\/JTb\/KYrBXPbsexcPUY+646VhbDpukDf4mlxOOZJJU11GzPJt11Hkm\/gt0RFA0BERAEREAREQBERAeXNa9hY4Za4YI7ws3oVxFpqIT\/AHdQ4A9+wWmWY0TtFcWt\/YFSeH+vRWR6rM1T9+Hid9bRl+nXuH93Ixx9cfdWD4IrxYBEccFTAMHngkZB+Bx6LpdqT2601VNjJkicG\/8AVjb54Wbtep4LdpWFr\/zKuMuiZDnckHbPcMEei6k3HLmV1JRhVbno17f7KJ9WKalg7U9lc7ZOGN2PvsBOxPgfkVqNOWs1bm364SioqZxxR9Wxjw8fos\/WUFbQz096u8bZW1UhE8XDuwEY+BxnHdgK\/wBF1BbT1luMnGKWY8B\/ynPLwyCfirZ9W6MWzL9ZRmu74b8C6u1C25WuopCATIw8Gejuh9cKs0dXmrsjYXkdpSnsyOuOmfp8FaV9zo7bF2lXUMiHQE7u8hzKw9Ldqo6gqvwKIRtuDvcEzeoGSe7nxeqqhFyi0bK9WNKtGXHRrj2ep+gSSxwsL5ZGsaObnHAVbNqaywHD7hGf+gF4PoCq2HSMtY4S3y4zVTwciNjyGD1+wCtYdPWeBvCy3U5H+dnGfU5XLQWrLcVeWaSXf+DOxXSi\/wCdoauhqBJDWsEcmxbh\/IbEZ6N9StosHrahp7dVUVRRRMp3PDsiJoaMtIIOB13W1oqkVlDBUgYEsbX47shdqJWTRVs0mqk6ctb38zuiIqjcEREAREQBZ6+XuY1H4PaB2lbLs97TtEPPv+i6ajvbqOMUFDmS4VHusa3csB6+fd6rtYLFFZ6bid+ZVyjM0p3Oe4eH1ViSisTMtScqkujh4v47\/Y92OxwWWm4W\/mVD95ZTzce4eCtERQbbd2aIQjCKjHQIiLhIIiICs1Jvp6tGcfl8\/ivmm\/8A27Rf\/qXS\/MMlhrmhvEewcceQyo+lHh+mqMh2cNcD4YcVP+HiZv8As\/8An5LhERQNIREQBERAEREAREQBZjQg4rVUy5\/bqXbd3uj9Vf10nY2+plJxwROdnyBWb0\/cKeyaRbVVRx2kjyxg5vPLb0VkVusyVZJVot6JN+xdXu9U9ko+2l9+R+RFGObz+neVlNL07GamIuNH2dRKwzQNIw1pO\/Ly5d2O9TrDA2+XV11uVRHJMzBhpQ4Hsx0JH9d5XrWMjKC4W65xub7RE\/BZx4Lmg59OYz4qyKtucWZqknNKu+qnkuziy+vVIyus9TTyOYwOYSHPOA0jcHPmvzuz3G4UtxAoOA1E7BAOIDHQDHoFpWUF31S9s1yc6ioMgtp27F47\/wCZ+AVVqmzNsdbT1VCwshdjh3J4Xt\/Xn6rtOy3WVbVjnatFWS8y\/oNIQiX2u7TOrql27g4ngB+\/9bJq2k7CgprjSxta+3yBzQ0YAaSOnmB81fUlSyspIqmPPDK0OAPMeC9TwR1MEkEreKORpa4d4KqxvFdnoPZ4Ok4w48TxR1cddRxVUJyyVocPDwXdZfSNQ6klq7HOfzaaQuYSMcTc7\/Y\/FahRkrOxZRqdJBSevHvMlqSCO56ot9ucc5icSO7Oev8A2qXompdLZDTv\/appXM+B3+5XG0B1x1hcLhg9lTjsYz0J5c+vIn4ppkey6gvVGdvzQ9o8Mn9QrZdXDyMNP95VP8m16ZexqERFQemEREAUK7XBlrtk1Y\/BLG+60\/xOPIeqmrJVGNU6lFO05oLccybbSOzy+OPQFTirvPQor1HGNo6vJf3sJWl7XIS+91xLqurBIBGOBp\/XA+C0a+AADAGAF9XJSxO5OlTVOOFBERRLAiIgCIiA8vY2SN0b2hzXAhwPULM6NlNP7faZHe\/SzktzzI5H5j5rULK3cmyarpbqAG09WOxnPQHvPwwfgVZDNOJlr7ko1OWvczVIvLnNYMucGjxOFzFZSk4FTCSf84VZpbSOyL4CCMg5BX1DoREQBERAEUF16tjJuxdXQh+\/8W22535LtV19NQ0bqueUNhaM8Q3z3Y712zIY42bvoVmr6r2XTs+McUxEYye\/n8gVinUVSbCLjV7RMHY0kRGM5yS7H+o56nyUupq6vUWoqJtRG6KmkcHRRnl2eTl3o07+Hcpt+qRqK60tqtT2uZCSS8YDAdtwe4Du+a0xTikjx68lWcpruS5sjXKloqGOjpLd2r71GQXOhBznmc8918pLey8WW53CpmkmuUQyQ\/bswN+XiAQtbZbBS2aH3B2lQ8fmTO5k+HcFTXmMWPUUdw\/+FXgxVLemTzJ+vwK4p3dkWT2fAsc1lo1y4J95d6cqfa9P0cpOSI+A+bdvsu13tsd2t0tJIQC4ZY4jPC7oVSaHkLKOsoXO4nU053HLB2+rStQqZbs8jfRaq0Fi4r8EKz0DrZa4aJ8olMQI4wMZySeXxU1EUW7u5dGKilFcDMampJaGth1DSNy+DAmYP4m8s+hx6KdcL7AzTT7nTu4u0Zwx45hx238j9FbvY2SN0b2hzXAhwPUL83uUcNuvTrb28klthnbK+No4uDOM8+eM4\/mrYJTyfAw7RJ0LyjpL0fM2OlbcLfY4ctIlnHayZG+\/IemPmoNH+X\/xDrgOUlMDju2Z+nzWip6mCrhE1NMyWM8nMOQs5Yn\/AIlqm5XNgzAGCKN3Ds4ZxkH\/ALT6ribeJsnOMYqnCPP2RqERFUbQiIgKnUlzNstL3RE+0THsoQOfEevwHzwvunbWLVaY4i0CV445DjqenIclWXXFy1nb6A4MVK0zPB5Z54x8G+q1CseUUjLT36sp8sl8hERVmoIiIAiIgCL4SAMk4AWYuGoam41Lrbp9navOz6n+Fg7x+vopRi5FVSrGms\/9ltdr9QWdn9ok4pSMtiZu4\/DoPEqhqob9quHgdTx0FFniaJR7zj06Z+Q+KtLRpekt57epPtdW45Msgzg+AP15q8UsSj1Sl06lZfqOy5L5Zg9P2Kju4qIrhPVCrp3cD4i\/GB05jwx8PJXZ0RZiMcEw8e0UbUVNNZ7lHqGjGQCGVLOhHLPx2HnhaanniqqeOeFwfHI0OaR1ClKctUyqhQpXdOcVdeq5mafpOqoHGay3OWIjfsnn3XbcjjA9Qutt1PIyrFtvcPstXnAeB7ju7O\/Xw2WkUG62mlu9IaepZv8AwPA95h7wo475SLXQdPOi7dnB\/RORZaz3Kqs9c2yXd2WnamqDycOgz\/WOS1KjKOFl1Kqqivx4rkERfHODWlziAAMknoolpitO0NtrrDWzXVoeWTuL5nEhwAaN88+eVSxU0xiNW2nqKmz005Ije\/GQeu3kM4712p\/ZK+\/1NI6tMNskmfMcnhDwMn+s9PFdL5fJK2kNNb4\/Z7XE4RtwMdoefp1x5Z5hbFe589JwdNN8MstW\/o9CGo1Ne6mqgeaWiY3hdLjhDIwOW3PI6K00Tb2CprLiyMthJMVOXZ3bnc\/IfPkvtFo2X8Piaa+anMzAamIZw7rgjPPp8FqKOjgoKVlNTRiOJg2AVc5q1kbdn2aWNVJrPXxf0d1V6jofxCxVMIbl7W9ozbJy3fbz5fFWiKhOzuelOKnFxfEw2hKgvulW085IQ4+JBAz81uVk7LZKug1ZVzmINpsP4HY2IcQQB5LWKyq05XRl2KMo0sMuDYREVRsId1r2Wy2z1bsExtPC0nHE7oFUaXtZktMtVcGiaW4Hif2gySzpnz5+ijXw\/j+oqayxOJgpz2lTjl06+Rx5uWra0NaGtAAAwAOise7G3MyR\/VquT0jl48foz0+jKJ8sj6epqKZsp99jHbHfKt7bbaW1UgpqRhawHJJOS443J8dlLRRcpNWbLoUacHiiswiIoloREQGYs2JNa3eVwy9rQ0Hw2\/QLTrMWX3dZXhp2JAIHht+q06nU1M2y9R979wiIoGkIiIAvLnNYwve4Na0ZJJwAF9c4NaXOIAAySeiyVbU1OrK42+geY7bEfz5wP2z3Dv8AAfFSjG5TVqqmss29EKqsq9WVb7fbnGG3RnE1Rj9vw\/l6rSW620trpRT0kfAwbk8y495K9UVFT2+lZTU0YZGwbDv8T4qQuylfJaHKVLC8c85P+2QREUC851EEVVTyQTND45GlrgeoWa0xPLbbhU6fqnH8ol9OT\/E3mcfX1WpWd1XRSRiC9Um1RQnLh\/iZn7b\/AAJVkHfdfEzV042qx1Xtx+zRIo9BWx3Ghhq4f2JW8WO49R8DkL5X10NtopKqodhkYzjO7j0A8SoWd7F+KOHFfIrdV0VNV2d755WQvh96KRxxh3d8VUW3WFfPSRwQ2yStqY2\/mPa7n47Dy+a6Wu2VGppPxS8uf7PxHsKYOIbjv8vmcdyXCGHTGoaa4wR9nR1I7KZjNmsO2\/0OPAq9JWwvNnmzlNvpo7sXl225nc6ivzBxu05KWZ5NJz9Psqe46ndfXw0DnfhtM4n2h7ncXLpsPD4kq51PfuzD7TROHtEjcSyZwIm9d+\/Co7PZ3Xvs6eNpit1O7Mk3Dh0z+uPp4DxXYqNsTViutKo59FCWLn9ZepEubRXU3tVBQ9nbKHEYednPyeZPU59Mq4oIKe+6gh9kh4LVbm5YOEgOdz69Sfk3xUC9001mqpLVbKuaaGoYXSU2OLgHP6DOdjhX+hXg2SSPgDSyY+8BjjyBv9vgF2TtC6K6MMVfBLx71wXZp5GlREWU9wIiIAiIgCrL\/d22e2Pn5yv9yIf5sc\/IKyc4NaXOIAAySeiyVEH6qv5r5A78OojiFrgPedtzHz9ApwV83ojPXm0lGPWen34Fnpm1SUFE6oqxmtqnGSYuxkZPLPz8yrtEUW7u5bTgqcVFBERcJhERAEREBmK3\/wBM1vT1Z4WxV0XZOcTj3th9meq06qtQ2n8XtbombTxnjhOce8OmfFctNXg3OhMNQcVlN7kzTzONuL9fFWPejfkZYPo6rg9HmvlF0iIqzUERZ3UV4mEzbLbQXVtSMFw\/u2n749BupRi5OxXUqKnHEyNeK6a\/3FtktriYGn+1TN5Ad3w+ZWjoaKC3UjKWmZwxsHxJ7z4qLY7PFZbeKdh45HHikf8A4nforJdlJaLQro02n0k+s\/TsCIigaAiIgC8vY2SN0b2hzXAhwPUL0iAy2nXus95qrDM48DiZaYnqOo9PoV81GHXbUFBZA49iPzpgB59fIH\/UpGrqKQQQ3el2qaFwdnvbn7fTKg6drY7tqyrrgwAmmGPA+6D9Cr1nv\/255kt1rZ3pdeWv4Ne1oa0NaAABgAdFl9b3KkZbTb3YfUyFrmgf3eDzPmMj4q1vt8gslJ2j\/fmfkRR\/4j3nwWIstpqtS3R9RUueYeLinl7\/APKPH6Bcpx\/k9Ce11n+zTzk\/Q+6dsdRe5Xl7nMpA78+TO7zz4R6\/fuWxu1ypdO2xkNPGBK5vBTQtGcnv8sn4qlsN1hsNJdKaqJ4aSfEbQMF5ORgf6cqZZLbU3OvF\/ujcPI\/s0JGzG9D+nnlSnm7y0KdnSjBRp9d6vkSdN2V9HEa+vBfcKjLnufuWA9PPv9FeNa1jQ1jQ1o5ADAC9IqG23dnpU6cacVFBERcLAiIgCIiAyt5qK2+3Q2OiY+KnjcPapiOnd5eHXyWioqKC30kdNTt4Y2DA7z4nxUhFJyurFMKWGTm3dv25BERRLgiIgCIiAIiIAs3fLNWRVzLxZQG1Tf3sY27Uffly+60iKUZOLuV1KaqRsyosmoaW7s7M\/k1bB+ZA7Y56kd4VuqS9adZXyCsoniluEZyyVuwcf82B81BpdUz26Q0eoIHxSsB4Z2t2lx3AD5jbyUsKlnEoVZ03hrefDx5MtNQXploojw+9VSgtgjAySe\/yCj6csrqKI19bl9wqBmRzjktB6fTKg2Gmlvl1kv8AWtPZtJbSMOMAAn6fXK1aS3VhQpJ1ZdLLTh9hERVmsIiIAiIgCIiA8vY2SN0b2hzXAhwPULA0L49JalrBUZMQhcIu94JBb9Meq3k00VPC+aZ4ZGwZc5x2AX5hqK6\/jN1fUsZwwsAjj234Rk5PmSSr6KbuuB5u3zjBRkusnkS6alr9Y3h9RKeCIYD39I29Gjx\/3W5zQaftQyRDTQjbvJ+5Ki2uutlDpmCrjIhpms3HMl3UeJyqqjpqrVlc24V7DHbYj+TAf7zx\/U\/BJPFrkkcpRVJbu9OX98vcrLRT0+o9WVE1RE5kZaZhEd+IbAZ9cr9AAAGAMALMUzQ3\/iFUNaAAKUAAdNmrUKNR3aL9khhjLndhERVGwIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALI3qR2o73HZaUjsICTUTBuS0jORn5efkr2\/XMWm0zVOR2mOCIHq88vTn8Fw01aRa7Y0yNPtVQA+dx556D4Z9cqyO6sRlrfqyVJaavu5eJXv07c7Q901hriWczTTnY8+R5deuPNfYdXvpZm097oJKN7h+8a0lp8cc8eWVp1znp4amJ0U8bZGOGC1wymO\/WQ6Bw\/albs1R4paymrY+0pZ45m97HZx5rus5WaNpC4zW2eWgnzkFjiW\/qN+4ri24ams7A2toW3CFoOZYj72Ph8DuEwp9Vjppw\/cj4rNfZqUVJb9WWqveIjKaeY\/wAEw4d+7PJXTXBzQ5pBBGQR1UGmtS+FSE1eLufURFwmERZnVd4kiAs9C176upAyWHdoJ5eZx6KUYuTsV1aipQcmV2o7pUXy4CyWwdpGHYkc3k8jx\/wj6jyXe+2agtekhTGRjJmPa8PPOV\/I\/DBPlsvUMtDo2gEOBUXOdoLmt3Oeg8G\/M\/TvbrDWXCsFz1AQ94wYqf8AhZ5j7equva1tF6nm4HNyTV5vyijM6bpYrjcYKKumkFNl0kcWfde7qPDl8l+lta1jAxjQ1rRgADAAX57qK0VFhuDKykJFMZe0iIyezf3H+t8eC0tZqimi0624RPb20zOGOPOSH43yO4H+t0qJys0d2SUaCnCeTXsRrS5tdre51cZ4o4oxGCNxnYc\/+0rUKm0tbJLdaG+0NLaidxklzz35A+OFcqqbzyNuzxap3lq8\/MIiKBoCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiLhW1TaKimqXcomF2O\/wQ42krszlY5981jDRtbmlt35kmRsXbffA9VqlndGU0jbZLXTlzpq2Qvc5w3IGw+efVaJTnrbkZ9mTccb1ln9egREUDSEREBAuFkt1zyaqlY95GO0GzvUKkGn7zZeN1luHaw8xTzY+XTPjstUimptZFE6EJvFo+ayZmYdXupZGQXuglo5HD94GktPjjnjyyr6krqWvjMlJURzNBwSx2cefcuksMVRGY5omSsPNr2gj0Ky95sFBamm40le+2yN2aA4kE55Ac+\/bl8F1YZdhW3WpK7eJeT+jUzCQwvELmtkLTwFwyAemV+e0D6uKvmZR\/2y7TktdUA8TIQTuQeRPjyA2Xiqvl7r7ewVpmZQvdwyTRQ44x3Z2B8tlr9NmzNoRHapGPOAZM7SE97hz+3crLOmnczOcdqqJRdrefgvk82XTkNueauqd7VXPJLpnb4J7s\/XmrtEVDbbuz0YU4044Yo5zQxVELopmB8bhgtcNisXa7RQ2\/V8tBVxB4I7SlLjt3gHvP8A\/K3CzesKCR1LFdaXaoonB2Rz4c\/Y7+qnTeduZn2qmmlUtdxz8OJpEUS2V8dyt0NXHykbkj\/Ceo9VLVbVjVFqSugiIh0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCpNYTGLTdSAcGQtZ\/wCQz8gVdqi1jC6bTk5b\/dua8jwz\/NSh1kUbRfoZW5MsbRCKez0cQGOGBgPngZ+amKJap2VVppZmYw+Jp26HG49VLXHqWQtgVgiIuEwiIgC+EgDJOAFTXTVNuthMYf7RPy7KLfB8TyH1VYKK96nw6vcbfQ5yIWg8b\/P+fopqD1eSM89oinhhvPs+WS7jqkGc0NmhNbVk4yBlje8+P08VzoNLy1NR7ffpfaZzuIc5Y3+u4beau7fa6O1w9lSQNjHV3NzvM9VLXcdsokVQc3iqu\/Zw\/J54Gdn2fCODGOHG2O7CoK\/R9FNL7TQPfQVAyWmI4bny6fBaFFFSa0Lp0oVFaSMqb3eLDKI7xS+0UuQ0VUQ3xyyemfA4Kv6C50dyiElJO2QY3bnccuY+IUpzQ5pa4AgjBB6qgrtJUskvtNtldb6kHIMf7BPPl0+G3gpXjLXIpw1afVeJcnr5\/ZoF5exskbo3tDmuBDgeoWYpNSVlrqW0GoYezccBlQwAhw7zv9PRaaKWOaNskUjZGOGWuacg\/FRlFxLadWNRZa8uJmtOPNpu9bYZXEtDu1pyerSOXpj0K1CzGrqSSnfTXylGJqRwD\/Fuds\/T4rRU1RFV0sVTC7ijlaHNPgVKedpFVDcbpPhp3P60OqIirNQREQBERAEREAREQBERAEREAREQBERAFzngjqYJIJW8UcjS1w7wV0RA1cydrqJtM1zrVWNkfSTS4pZGt4jknkcd\/wBQVrF5cxj8cbQ7hORkZwe9elKTvmU0odGnG+XALy5wYwvdyaMnbK9IolxmX6ukq5DFZrZPVuBxxuGGjuP++Fz\/AAbUN2LTdLiKaHfMMB38ttvmVqGtaxoaxoa0cgBgBelZjt1UZegc86km+zRFXbNO2204dTw8Uv8A9snvO\/l8FaIig23qaIwjBWirIIiLhIIiIAiIgONXSU9dTugqomyxu5tcszPa7pppzqqzyOqaQDMlNIcloznb+s+a1iKUZNFNSjGeej5kCiq6e\/WjteyeIZ2ljmvHwP8AuoOl6Sut0NVQVTD2MMv9nkP8bTnOPDr8SrtrWsbwsaGjuAwvSYtUFTu4zbzXqERFEuCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "TRANSMAT SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "RAUL VARGAS",
    "correoContacto": "raulvargas@transmat.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "IMPRESIONES Y COPIAS SALEN MANCHADAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56990951391",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R808\",\"id_control\":\"28626\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:50",
    "ubicacionGPS": "LatLng(lat: -23.752439, lng: -70.3059736)",
    "horaLlegada": "07:20",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 10:50:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76270521

[08/05/2026 10:50: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('76270521', 'KY2466', 1, 24456550, 268214, NOW(), 
				'08:00', '07:20', '10:50', 4, '•Se cambia fusor', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778251813.png', '', null, 'COMPLETADO','LatLng(lat: -23.752439, lng: -70.3059736)' )
				
[08/05/2026 10:50:13] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200221
[08/05/2026 10:50:13] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200221', 'KYO-R808', 1)
				
[08/05/2026 10:50:13] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28626 and
				    IDproducto = 'KYO-R808'
				

08/05/2026 10:50:13 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R808';
                
08/05/2026 10:50:13 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200221'                    
				WHERE idllamado = 12509			
				TO ENVIO: micorreo@miempresa.cl, raulvargas@transmat.cl


08/05/2026 10:50:14 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12509			
				
08/05/2026 10:50:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 10:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:50:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12509
            GROUP BY l.idllamado;
            
08/05/2026 10:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                [08/05/2026 10:50:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 10:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12509
            GROUP BY l.idllamado;
            
08/05/2026 10:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12509
            GROUP BY l.idllamado;
            [08/05/2026 10:50:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 10:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12509
                
08/05/2026 10:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10:50:27 - logentry: =========================================
FECHA: 08/05/2026 10:50:27
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-3gghI7Aio0y2TM1N25kCORfwbqVa6q+G3iqENBCRpnySP5iLu0c
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2494",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Envio insumos via chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12498",
    "observacion": "encomienda chilexpress",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACGAJwDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYCBAUDBwH\/xABCEAABAwMCAggDAwkGBwAAAAABAAIDBAURBiESMRMUQVFhgZGhInGxI8HRBxUkM0JScsLhFiUykrLwNTdzdILS4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC8RAAIBAgQEBAUFAQAAAAAAAAABAgMREiExUQQiQYFhodHhcZGxwfATI0JEUoL\/2gAMAwEAAhEDEQA\/APsyIiAIi1am50FG8R1NZDE8\/sveAUtc45KKu2bSLTgu1uqXBkFdBI4kABsgySez2K3F1qwUlLNMIiLh0LmU95E1\/qLS6DgdDGHiQvzx8uzHj3rpqYqh1f8AKFRvGwqKch2O04dz9ApxSdyitOUMLW68ynXHvt9NsMdLSxdPXz\/qosEjGcZOPP0XUmlZTwSTSHDI2lzj4AZU5pamNyllv9a0mokeWw5Jw1oGCR7jySKWrOVpyuqcNX5IyNDqqRxqXXGGN2AWwM5ZwMjljn81u2W8S1s89DWxtiraY4c1vJw\/eA8x6rsKYr\/0TXlDM0lramEseBtxHfn3\/s+gXU8V0Vyi6LUk3rZ38SnREVZsCIiAIiIAiLVuda23W2orHYPRMJAJ2J7B5nCJXOSaim2cO7XG43G7mzWiTouBv6RPg\/D4A9m3util0faoWHrEbqqVxy6SRxGT4Acl+aQpXR2k1koBnrHmR7tskchy8z5rvqyUsPKjJSpKov1Kiu3v0RO3PSVvdQyOt9P0FXGOKJ7HuzxDfHNbembm66WdkkpJmiPRy55kjt8xhddTGnh1HU13twADCRMxoOzRz+jh6Jdyi79DriqVWLirJ5P6op0RFWawpjWGaWptVyHKCow7xzg\/ylU65Gp6B1xsU8UbeKRmJGDvI\/plTg7SRRxMXKk0tfTMw1bUmn07UcOMy4j3OOfP2yt2z0vUrRS055sjGfmdz7qVvFw\/OWhaWcn42ytZJ\/EAR77HzVnD+oj\/AIR9F2StG3iV0pKpWclsvO56KYvpE2r7NAD8TCZD8s\/\/ACVTqXpP711vNWMB6GgYYQ7fDnbg\/VyQ6slxOajHdr1KhERVmkIiIAiIgCmdaSOmgobbG4B9XUAeXL6kKmUuAbjr93E53R0EOWjOBkgf+3sp09b7Gbic4KH+nb87FLFEyGJkUbQ1jGhrWjsA5BZoigaQpih\/5iXL\/th9I1TqZ03xVt9u1zL8sL+ij35jbfu5BqnHRszV85wXjf5JlMiIoGkIiID5tXs6lBd7URwtiqGTRDltnH0c30X0Kik6Whp5MY44mu9Qo7XtvLKiC4saA2QdG8j94bj2z6Kutn\/CqT\/oM\/0hXVHeKZ53CxcK04ber9TG7Vot1rqKonBjYeHcbu7Ofiubo6idSWJkj24fUuMpJ5kHl7DPmtXVMn5xuVBYo3\/rX9JNjsb2cvAOPoqZjGxsaxgw1oAA7govKNty+PPXcukcu71MkRFWagiIgCIiAKY0txVN3vFc7A45uBoHYMn7se62aS6VP9rqu2VE2YRGHwtIHPY8wM8iefctbROH09fM3\/DJVHHpn71alaL7GJzVSrC3RvyKdERVG00bzcBa7VPVnHExuGDPNx2CktO3wW21dWo7fPWVDnF8nADgE8h252A7ua9r5VS3\/UcVkpnnq8T8TYOxI3cfLl81YwwQ00QigiZFG3k1gwArsoxs+pg5q1Vyg7KOXfqcu16gZX1hoqikloqoM4xHL+0PDxxvjHf3LsKY1kH0raG6Quw+nnAOO0cx9PdUzSHNDhuCMhQklZNGilOWKUJZtfc\/URFAvOLq6ES6aqsgEs4XNJ7MOH3ZWNnvNO3S0FbUyNY2FnRv78t2Ax3kYPmt69xdNZK2PbeB+M\/LK+ZUbqqqEVDHE+pibIZegaT8RwM\/T3V8IqUbHmcTWdGspJaq3mWmlqSWrqqm\/wBWPtao4iGD8LfP5AD5Kjmnhp28U0rIm973AD3U0y3anuTQamvjtsWBwxU43b4bfivaHRVvzx1s89ZKRgue8j+vuoys3dstpOpGGGEO7y9WdptyoHHDa2nJ7hK38V7tc17Q5jg5p5EHIK4Z0XZCMCnkHiJXLwfoS1kl0U9VE7G2HjA9s+6jaG5bjrrWKff2KVFLPsmoLY0vtl2dUgcoZ+7uGSR9F6U2r2xy9Xu9FLQy8WA4glp\/Dn4pgvpmFxCTtUWH6fMpUWLXNewPY4Oa4ZBByCFkoGkmLt9hre1T\/wCESMMZPfzH8wTQhxbKqLYltSTtt+yOzyWetYXtt9PcIdpaOYODv3Qf6hq8NEzNmluvBs0zB7R3A8X4K\/Wnc81cvF4d7v5r2KtERUHpHJtFhZaqqrqTO6aSodnLhjhHPHr9y6yIuttu7IQhGCwx0OPquAz6bq2gZLWh\/oQT7ZWxYZjPYaKQ8+haDtjkMfcvzUBAsFdk4+wd9F46WGNN0X8B\/wBRUv4dyn+z\/wA\/c66IigaTCZnSwvj\/AH2keq+b6dkdRXK31LcgSzOp5By7uf8AmH+VfS18zqWmkZWRNGH0dxDmHPIHi7f\/ABar6WaaPN47KUJ7X+zPpiLFrg9gcORGVkqD0giIgC8Kyjgr6V9NUxh8bxgg9niO4r3RDjSasyWtE1VYrwLHVnjpZcmlkwdu3H++35qpXB1dQPqrR1mEkTUZ6VhB7Bz9t\/JdG0V4udqp6vk6RnxDucNj7qyWaxGaj+3N0n8V8PY87\/B1iw1sfb0LnDftG\/3KY\/J87FTWszzYw4+RP4q3cA5padwRgqJ0PH1e819O4\/ExvD6OwpRfJJFVeNuJpy+KLdERUm8IiIDiavq20unZwT8UxETNs5J3PsCt+003U7VS05zmOJoORjfG+y4NyzetX01C1zur0H2kpbnHFzxn0HqqpWSyikZqfPVlPosvUIiKs0hROqdPV8906xRRmWOpwHAHAYdu\/vO+fE+dsilGTi7opr0Y1o4ZGEQLYmNOxDQCs0RRLgiIgCIiAxexskbo3tDmuBDge0KL09cp7fS1FPG1jmtqX7uyT2eKtlyrTYorXSvhfM+oL5C\/jdsd8bc\/BTi0k0zNWpzlOLj0udVRtuHUvyh1cOMdOHY8cgP+5WSj76zqWtrbWDZsxa0nHbnhPsQu0+q8CHFZKM9miwREVZsC5l7vcNnpskdJUP2ihB3cfwWtddQyUdaaCkoJqipIbg8PwDPLlv8A7PcsLNYpW1P51urzNXPAIa7GIvAdmfopqKWcjNOq5PBT16vb3P3S1omoKaWrrd6yrdxvzzA54Pjkkn+i7yIoyd3dltOmqcVFBERcLAi06eg6vX1NX1mZ\/WMfZudlrMd3utxdZxNvVBERcOhERAEREAREQBSeuG9E621nIQzEEjyP8pVYp7W1MZ9PukAyYJGv8uX3qdN8yM3Fq9GVvyxQNIc0OG4IyF+rn2KTpbFRP4gfsWjY55DC6Ci1Z2L4yxRT3CIi4SCIiAIiIAiIgCIiAIiIAiIgCIiALwraSKvo5aWbPRyt4TjGR4jKIhxpNWZjb6GK20MVHC57o4gQC8gnnns+a2URNQkkrIIiIdCIiAIiIAiIgCIiAIiIAiIgCIiA\/9k=",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ANA PILAR TAPIA DONAIRE",
    "correoContacto": "ana.tapia@veltislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56 9 85665612",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28617\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28617\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28617\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28617\",\"cantidad_usada\":3,\"cantidad_asignada\":3}]",
    "horaSalida": "10:50",
    "ubicacionGPS": "LatLng(lat: -24.9310383, lng: -69.6708367)",
    "horaLlegada": "07:21",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 10:50:27
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-3gghI7Aio0y2TM1N25kCORfwbqVa6q+G3iqENBCRpnySP5iLu0c
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2494",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Envio insumos via chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12498",
    "observacion": "encomienda chilexpress",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACGAJwDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYCBAUDBwH\/xABCEAABAwMCAggDAwkGBwAAAAABAAIDBAURBiESMRMUQVFhgZGhInGxI8HRBxUkM0JScsLhFiUykrLwNTdzdILS4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC8RAAIBAgQEBAUFAQAAAAAAAAABAgMREiExUQQiQYFhodHhcZGxwfATI0JEUoL\/2gAMAwEAAhEDEQA\/APsyIiAIi1am50FG8R1NZDE8\/sveAUtc45KKu2bSLTgu1uqXBkFdBI4kABsgySez2K3F1qwUlLNMIiLh0LmU95E1\/qLS6DgdDGHiQvzx8uzHj3rpqYqh1f8AKFRvGwqKch2O04dz9ApxSdyitOUMLW68ynXHvt9NsMdLSxdPXz\/qosEjGcZOPP0XUmlZTwSTSHDI2lzj4AZU5pamNyllv9a0mokeWw5Jw1oGCR7jySKWrOVpyuqcNX5IyNDqqRxqXXGGN2AWwM5ZwMjljn81u2W8S1s89DWxtiraY4c1vJw\/eA8x6rsKYr\/0TXlDM0lramEseBtxHfn3\/s+gXU8V0Vyi6LUk3rZ38SnREVZsCIiAIiIAiLVuda23W2orHYPRMJAJ2J7B5nCJXOSaim2cO7XG43G7mzWiTouBv6RPg\/D4A9m3util0faoWHrEbqqVxy6SRxGT4Acl+aQpXR2k1koBnrHmR7tskchy8z5rvqyUsPKjJSpKov1Kiu3v0RO3PSVvdQyOt9P0FXGOKJ7HuzxDfHNbembm66WdkkpJmiPRy55kjt8xhddTGnh1HU13twADCRMxoOzRz+jh6Jdyi79DriqVWLirJ5P6op0RFWawpjWGaWptVyHKCow7xzg\/ylU65Gp6B1xsU8UbeKRmJGDvI\/plTg7SRRxMXKk0tfTMw1bUmn07UcOMy4j3OOfP2yt2z0vUrRS055sjGfmdz7qVvFw\/OWhaWcn42ytZJ\/EAR77HzVnD+oj\/AIR9F2StG3iV0pKpWclsvO56KYvpE2r7NAD8TCZD8s\/\/ACVTqXpP711vNWMB6GgYYQ7fDnbg\/VyQ6slxOajHdr1KhERVmkIiIAiIgCmdaSOmgobbG4B9XUAeXL6kKmUuAbjr93E53R0EOWjOBkgf+3sp09b7Gbic4KH+nb87FLFEyGJkUbQ1jGhrWjsA5BZoigaQpih\/5iXL\/th9I1TqZ03xVt9u1zL8sL+ij35jbfu5BqnHRszV85wXjf5JlMiIoGkIiID5tXs6lBd7URwtiqGTRDltnH0c30X0Kik6Whp5MY44mu9Qo7XtvLKiC4saA2QdG8j94bj2z6Kutn\/CqT\/oM\/0hXVHeKZ53CxcK04ber9TG7Vot1rqKonBjYeHcbu7Ofiubo6idSWJkj24fUuMpJ5kHl7DPmtXVMn5xuVBYo3\/rX9JNjsb2cvAOPoqZjGxsaxgw1oAA7govKNty+PPXcukcu71MkRFWagiIgCIiAKY0txVN3vFc7A45uBoHYMn7se62aS6VP9rqu2VE2YRGHwtIHPY8wM8iefctbROH09fM3\/DJVHHpn71alaL7GJzVSrC3RvyKdERVG00bzcBa7VPVnHExuGDPNx2CktO3wW21dWo7fPWVDnF8nADgE8h252A7ua9r5VS3\/UcVkpnnq8T8TYOxI3cfLl81YwwQ00QigiZFG3k1gwArsoxs+pg5q1Vyg7KOXfqcu16gZX1hoqikloqoM4xHL+0PDxxvjHf3LsKY1kH0raG6Quw+nnAOO0cx9PdUzSHNDhuCMhQklZNGilOWKUJZtfc\/URFAvOLq6ES6aqsgEs4XNJ7MOH3ZWNnvNO3S0FbUyNY2FnRv78t2Ax3kYPmt69xdNZK2PbeB+M\/LK+ZUbqqqEVDHE+pibIZegaT8RwM\/T3V8IqUbHmcTWdGspJaq3mWmlqSWrqqm\/wBWPtao4iGD8LfP5AD5Kjmnhp28U0rIm973AD3U0y3anuTQamvjtsWBwxU43b4bfivaHRVvzx1s89ZKRgue8j+vuoys3dstpOpGGGEO7y9WdptyoHHDa2nJ7hK38V7tc17Q5jg5p5EHIK4Z0XZCMCnkHiJXLwfoS1kl0U9VE7G2HjA9s+6jaG5bjrrWKff2KVFLPsmoLY0vtl2dUgcoZ+7uGSR9F6U2r2xy9Xu9FLQy8WA4glp\/Dn4pgvpmFxCTtUWH6fMpUWLXNewPY4Oa4ZBByCFkoGkmLt9hre1T\/wCESMMZPfzH8wTQhxbKqLYltSTtt+yOzyWetYXtt9PcIdpaOYODv3Qf6hq8NEzNmluvBs0zB7R3A8X4K\/Wnc81cvF4d7v5r2KtERUHpHJtFhZaqqrqTO6aSodnLhjhHPHr9y6yIuttu7IQhGCwx0OPquAz6bq2gZLWh\/oQT7ZWxYZjPYaKQ8+haDtjkMfcvzUBAsFdk4+wd9F46WGNN0X8B\/wBRUv4dyn+z\/wA\/c66IigaTCZnSwvj\/AH2keq+b6dkdRXK31LcgSzOp5By7uf8AmH+VfS18zqWmkZWRNGH0dxDmHPIHi7f\/ABar6WaaPN47KUJ7X+zPpiLFrg9gcORGVkqD0giIgC8Kyjgr6V9NUxh8bxgg9niO4r3RDjSasyWtE1VYrwLHVnjpZcmlkwdu3H++35qpXB1dQPqrR1mEkTUZ6VhB7Bz9t\/JdG0V4udqp6vk6RnxDucNj7qyWaxGaj+3N0n8V8PY87\/B1iw1sfb0LnDftG\/3KY\/J87FTWszzYw4+RP4q3cA5padwRgqJ0PH1e819O4\/ExvD6OwpRfJJFVeNuJpy+KLdERUm8IiIDiavq20unZwT8UxETNs5J3PsCt+003U7VS05zmOJoORjfG+y4NyzetX01C1zur0H2kpbnHFzxn0HqqpWSyikZqfPVlPosvUIiKs0hROqdPV8906xRRmWOpwHAHAYdu\/vO+fE+dsilGTi7opr0Y1o4ZGEQLYmNOxDQCs0RRLgiIgCIiAxexskbo3tDmuBDge0KL09cp7fS1FPG1jmtqX7uyT2eKtlyrTYorXSvhfM+oL5C\/jdsd8bc\/BTi0k0zNWpzlOLj0udVRtuHUvyh1cOMdOHY8cgP+5WSj76zqWtrbWDZsxa0nHbnhPsQu0+q8CHFZKM9miwREVZsC5l7vcNnpskdJUP2ihB3cfwWtddQyUdaaCkoJqipIbg8PwDPLlv8A7PcsLNYpW1P51urzNXPAIa7GIvAdmfopqKWcjNOq5PBT16vb3P3S1omoKaWrrd6yrdxvzzA54Pjkkn+i7yIoyd3dltOmqcVFBERcLAi06eg6vX1NX1mZ\/WMfZudlrMd3utxdZxNvVBERcOhERAEREAREQBSeuG9E621nIQzEEjyP8pVYp7W1MZ9PukAyYJGv8uX3qdN8yM3Fq9GVvyxQNIc0OG4IyF+rn2KTpbFRP4gfsWjY55DC6Ci1Z2L4yxRT3CIi4SCIiAIiIAiIgCIiAIiIAiIgCIiALwraSKvo5aWbPRyt4TjGR4jKIhxpNWZjb6GK20MVHC57o4gQC8gnnns+a2URNQkkrIIiIdCIiAIiIAiIgCIiAIiIAiIgCIiA\/9k=",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ANA PILAR TAPIA DONAIRE",
    "correoContacto": "ana.tapia@veltislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56 9 85665612",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28617\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28617\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28617\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28617\",\"cantidad_usada\":3,\"cantidad_asignada\":3}]",
    "horaSalida": "10:50",
    "ubicacionGPS": "LatLng(lat: -24.9310383, lng: -69.6708367)",
    "horaLlegada": "07:21",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 10:50:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[08/05/2026 10:50: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('76050301', 'EP2494', 1, 19969062, 0, NOW(), 
				'08:00', '07:21', '10:50', 10, 'Envio insumos via chilexpress', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778251827.png', 'encomienda chilexpress', null, 'COMPLETADO','LatLng(lat: -24.9310383, lng: -69.6708367)' )
				
[08/05/2026 10:50:27] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200222
[08/05/2026 10:50:27] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200222', 'EPS-I302', 3)
				
[08/05/2026 10:50:27] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28617 and
				    IDproducto = 'EPS-I302'
				

08/05/2026 10:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:27 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I302';
                [08/05/2026 10:50:27] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200222', 'EPS-I303', 3)
				
[08/05/2026 10:50:27] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28617 and
				    IDproducto = 'EPS-I303'
				

08/05/2026 10:50:27 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I303';
                [08/05/2026 10:50:27] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200222', 'EPS-I304', 3)
				
[08/05/2026 10:50:27] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28617 and
				    IDproducto = 'EPS-I304'
				

08/05/2026 10:50:27 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I304';
                [08/05/2026 10:50:27] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200222', 'EPS-I305', 3)
				
[08/05/2026 10:50:27] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28617 and
				    IDproducto = 'EPS-I305'
				

08/05/2026 10:50:27 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I305';
                
08/05/2026 10:50:27 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200222'                    
				WHERE idllamado = 12498			
				TO ENVIO: micorreo@miempresa.cl, ana.tapia@veltislatam.com


08/05/2026 10:50:27 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12498			
				
08/05/2026 10:50:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 10:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            [08/05/2026 10:50: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;
                

08/05/2026 10:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12498
            GROUP BY l.idllamado;
            
08/05/2026 10:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                [08/05/2026 10:50: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;
                

08/05/2026 10:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12498
                
08/05/2026 10:50:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            [08/05/2026 10:50: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;
                

08/05/2026 10:50:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            
08/05/2026 10:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            [08/05/2026 10:50: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;
                

08/05/2026 10:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                [08/05/2026 10:50: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;
                
[08/05/2026 10:50: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;
                

08/05/2026 10:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            
08/05/2026 10:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            
08/05/2026 10:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            
08/05/2026 10:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            
08/05/2026 10:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            
08/05/2026 10:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            
08/05/2026 10:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            
08/05/2026 10:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            
08/05/2026 10:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            
08/05/2026 10:50:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            
08/05/2026 10:50:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            
08/05/2026 10:50:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            
08/05/2026 10:50:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:50:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10: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 = 12499
                
08/05/2026 10: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 = 12499
                
08/05/2026 10:51:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            
08/05/2026 10:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:51:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            
08/05/2026 10:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:51:04 - logentry: =========================================
FECHA: 08/05/2026 10:51:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary--p4CtKM7menXC35IuZROIsD+5CDYOJV0O7zCUKjSMDSr+ExrP-D
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "TO3103",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Envio insumos via chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12499",
    "observacion": "encomienda",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACBAL8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABBEAABAwMCAgYHBAgFBQAAAAABAAIDBAURBiESMRNBUWGBkRQicaGxwdEVIzJCBxYkNHLC8PEzUlOi4TVigpLS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMREAAgECBAQDBwQDAAAAAAAAAAECAxESITFRBCJBcRNhgRQyM0KhwdFSkbHhYnLw\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAVRetRUtnxE5rp6l4yyFnM+09S+6hvQs1E10bOkqZjwQsxnJ7T3D5hcNPWN1JGa24DpbhMS5znni4M9Q7D2q6SSxM5qlSTl4dPXq9v7IjWatuZEpmgtsZ5R8OXeOxPw9i51EmpbA1tVNUNuVI3\/EYG4cO\/OMgd+\/sWsXxzQ5pa4AgjBB61OPyIfDZXUnfe\/wBtDhQV0Fxo46qncSyQZwdiO496kLMaY\/YrzdbWPVjjk6SNncT9C1adVkrM0ozc4JvUIiKpsEREAREQBERAEUetr6W3QdPVzCKPOMnJz4DdUrtb2hr+EdO7fAIYMH3qyjJ6IynWpwdpSsaJFVUGpLVcpRFBU4kJwGPHCSd+XbyVqoaa1LwnGavF3CIigsEREAWYpaqotWrp6GrnfJBXevA57ieE5OG78useS06zmtqVj7Q2sDwyameCw4GTkgYHx8FeGtn1ObibqGNaxz\/JHtzDqPUcl1k\/dKFwZA0jZzhvnwO\/ktWqPR8cUem6cxnJeXOecfmyR8grxJvO2xPDRtTUnq836hERUOgzDcM\/SG\/hABkpsuPbt\/wPJadZhhD\/ANIj8HJZTb92w+oWnV59OxzcP8\/+zCIiodIREQBERAFCut0p7RRuqag8vwsHNx7AuMV6hkv0toMbmSRsDg5x2fsDgeB+KqbyDc9X2635Jip29NIM7Z5\/IeavGOeZz1a1oXhre3qfLVZai8yi7X7MhcPuaYjDWjtx8vNaUUtO1nA2CMNxjhDBhdUUSk2Wp0Y01u+r3M\/qWy08tskq6aCOKqph0rHsYATjcg45qxslabjZqWqcSXPZhxPW4bE+YKmTM6WF8f8AnaR5rO6EkL7C9p\/JO5o8mn5q2sOxnZQrq3zL+DSoiLM6giIgCzOtD0kNBR82z1IBHb1fNaZZm+\/f6ss1MTgMJkx275\/kCvT965zcV8Jrey+p407x2e+VljkJ6J331OXHmP7fArUrMaugdSy0d8gJElK8Nfjrbn+48Vo4Jo6mCOeJ3FHI0Oae0FTPO0iKHI5UttOzOiIqfU9zFsssrgR0sw6OMd55nwGfcqJXdjec1CLk+hX6ee24anutzjPFHtEx3URty\/8AULUKs09bvsuywQOZwyOHHJ\/Ef6A8FZq03d5GfDxcaaxavN+oREVDcIiIAiIgMrqgG23m23lmQ1ruilwcbc8eILvJe7V+262udXjLIGCJpzyOw\/ld5qdqym9J05VADLowJB3YO\/uyqrQAL4K6Z7i575G8RO5OxO58Vuvh39DzZJrilDo8\/ozXIiLA9I4V0vQUFRNnh6OJzs9mASstp+70lk0uyareS+WRzmRt3c7q27B6p3PYu+rb5wRus9Jl9TUYY\/B\/CDjb2kHyKkWLSVLbA2ep4aiqHWR6jPYPmfctkkoc3U4JynOvan0Wb2uRRLqPUI4oR9lUbtw8k8bh3dfwHtXT9RKCT1qitrJZDzdxN38wVp0VfEa0yNfZYPOpzPzMx+otAzeCtrI352dxNPwAXKSLUWnOGZtQ660o2fGQeIDt6yPetYieI+uYfC01nDlfkQbVeKS8U\/S0zzkfiY4Yc3+u0Km1Ceh1TZJhsXvLM+IH8y5XmlOnrtFe6NhbTPPBVRsG2\/d3\/H2rrrI4oaC6QASejTte1w5YO+fZkBWiliTWjMas5OlJT1jZ\/XU0FZSRV1HLSzDLJWlp7u9UekKl8UNTZ6g\/f0MjgB2tz9c+YWhjkbLG2Rhy14Dge0FZa+Blk1PRXgAiGozHUY5csZPhv\/4qsM04m1fklGqumT7M1ayMR\/WjVAnG9vt34D1SOz8yB4Adq93K7VOoJzarJnoTtUVWNgD1Z7PjyV7QUdJY7cymbI1jGbue9wHEeslSlgXmVk1XlZe6tXu9icihvvFsYcPuNKD2GZv1XuO5UMxAirad+eXDK0\/NZ2Z0447klERQXCIiAIiIDlUwNqaWWnecNlYWH2EYWX0EOCmronfiZKAR4H6LWrG6amNNq+6UZOGyveRk8y1xx7iVpHOLRx1rRrU5d0bJVl+uotNudI1rnzSepCGtz6x5ZVmqm+WMXpkLTUGExE4cGgnf+w8h2KsbXzN62PA8GpktKUM9z1Aa2qDpBAS98jt8v6h7evwX6Gotvt1Na6UU1KzhZkuOebiesqUpnLEzPhqHgws9XqERFQ6QiIgIF7p46myVkUoy3onO8QMj3gKps1ObtoYUj9y5j2MLjyIJ4fIgeS0FS0PpZWnkWEe5UWh3ufYDxOJxM4DPgfmtE+T1OScU66T6pr+DrpCvFZY44nO+9pfung8wB+H3beC86osEt6hY+KpLXQNcWxFuQ8nG2erl3qDVA6a1QK3lQV54ZMcmO7fPf2ErWAgjIOQVMnhliRFOKqU3RqarL8MwuntPsu1s9JbdKiN\/GRIxh\/Cerr7MK3boe2mQvnnqpjnPrPHlyz71xtINm1bWW1xDYKwdNCO\/PIf7h4LVKZzknkzPh+HpShzRzWTKRmj7E0b0Rd3mV\/1XiTRdkeDw08kf8MrtvPKvkVMctzp9no\/pX7GY\/U+ajPHabvUU5H5X7g9vLHwXh1x1TacmtoY6+IDJfDsfd\/8AK1SKcbeuZT2aK+G3Htp+xVW3UduuTxEyXoqjkYZfVdnsHarVVdz07bbr608PDJ\/qR+q7r+qp30uodO5kpZ\/tGiYCTG\/8TRz9vkfBMMZaDxKtP31dbr8GsRVlov8AQ3mPMD+CUD1oXkBw7+8d6s1Rpp2Z0RnGaxRd0Fg3u9B\/SMDyD5gPbxt+pW8WF1rGaO+Ude0DDgDy3Lmn37ELSlq1ucfHZQU9mmbpF5jkbLG2Rhy14Dge0FelkdwREQBERAEREBFukohtVXKfyQPP+0qs0bEY9NwE83vecdnrEfJcdZVbm0ENthJ6eukDAB2AjPvI96vKKlZQ0UNKwlzYWBgJ5nHWtNIdzmXNxD\/xX1ZwvFtju1tlpH7Fwyx3+Vw5FV2lbk6alfbarLauiPA4HraDgHw5eXar9Zm\/26WKsF7tJHpUH7wxp\/G0DrHbjb+yRzWFkVk4SVWPr2\/o+ayi9HZRXaMfe0s7RntHP4j3rSRSNmiZKw5a9oc09xWVu1+t160rU8EojmAaehe4BwIcOXaP62V9Y3F9ioXEk\/cM5+xJJ4VcrSnF1pYXdNJ\/YnoiLM7AiIgCIiApLtpmmr5vS6Z7qStByJoyRk42z9Ruudgu9XJUyWm6MLa2AcQdjZ7e3Pz61fqsprFT092muRllllkOW8bsiPOcgd2\/grqV1ZnNKk41FKnlfX\/tyzWa11S9NZGzgbwSgk46jt8SFpVEutH9oWuppOuWMhuT+bq9+FEHaSZevDxKUo+RF0xU+laepHnOWs4Dn\/tOPkrVY3QFYeGqoHflIkbnPsPyWyU1FaTK8LPHRiwiIqHQEREARFQ6purqWkFvpg59bWDgja3mAdifkP8AhTFXdilSoqcXJkG3OOoNWy3DOaSgHBCc7OPUfifJaxV1htgtNphpsDpMccpHW88\/Ll4KxVpu7yM6EHGF5avNhRqWgpqOWeWCLgfUP45DkniP9Z81JRUNmk3crajT1qqpxPLRsMmc8TSW9eer2fFWDWhjA1vJowN8r0iltshQjF3SCIigsEREAREQBERAEREBhWU8tn1+wNJMdS8uHe1+dvA\/BbpRam3UdZPDPUQNkkgOYyc+qdvPkFKV5yxWOehRdLEujd0ERFQ6AizTtc21vEDT1YeCQGmMZO+O1cnX2+3YdFa7W+ma8fvE\/IDtGRj4q\/hy6nM+KpfK7vyLW932ns8HVLUv2ihadye\/uUOxWaq9KdeLueKukHqM\/wBJuMeeF1s+mYaCb02skNXXO3dK85APdn4\/BXiltJWiRGEqklOp00X3fmERFmdQREQBERAEREAREQBERAEREAREQBERAEREBFk\/6jH\/AA\/VSkRSyseoREUFgiIgCIiAIiIAiIgCIiAIiIAiIgP\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ANA PILAR TAPIA DONAIRE",
    "correoContacto": "ana.tapia@veltislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56 9 85665612",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1080\",\"id_control\":\"28615\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-I1081\",\"id_control\":\"28615\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-I1082\",\"id_control\":\"28615\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "10:51",
    "ubicacionGPS": "LatLng(lat: -24.9311655, lng: -69.6708409)",
    "horaLlegada": "07:21",
    "horaDespacho": "10:50",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 10:51:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary--p4CtKM7menXC35IuZROIsD+5CDYOJV0O7zCUKjSMDSr+ExrP-D
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "TO3103",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Envio insumos via chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12499",
    "observacion": "encomienda",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACBAL8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABBEAABAwMCAgYHBAgFBQAAAAABAAIDBAURBiESMRNBUWGBkRQicaGxwdEVIzJCBxYkNHLC8PEzUlOi4TVigpLS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMREAAgECBAQDBwQDAAAAAAAAAAECAxESITFRBCJBcRNhgRQyM0KhwdFSkbHhYnLw\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAVRetRUtnxE5rp6l4yyFnM+09S+6hvQs1E10bOkqZjwQsxnJ7T3D5hcNPWN1JGa24DpbhMS5znni4M9Q7D2q6SSxM5qlSTl4dPXq9v7IjWatuZEpmgtsZ5R8OXeOxPw9i51EmpbA1tVNUNuVI3\/EYG4cO\/OMgd+\/sWsXxzQ5pa4AgjBB61OPyIfDZXUnfe\/wBtDhQV0Fxo46qncSyQZwdiO496kLMaY\/YrzdbWPVjjk6SNncT9C1adVkrM0ozc4JvUIiKpsEREAREQBERAEUetr6W3QdPVzCKPOMnJz4DdUrtb2hr+EdO7fAIYMH3qyjJ6IynWpwdpSsaJFVUGpLVcpRFBU4kJwGPHCSd+XbyVqoaa1LwnGavF3CIigsEREAWYpaqotWrp6GrnfJBXevA57ieE5OG78useS06zmtqVj7Q2sDwyameCw4GTkgYHx8FeGtn1ObibqGNaxz\/JHtzDqPUcl1k\/dKFwZA0jZzhvnwO\/ktWqPR8cUem6cxnJeXOecfmyR8grxJvO2xPDRtTUnq836hERUOgzDcM\/SG\/hABkpsuPbt\/wPJadZhhD\/ANIj8HJZTb92w+oWnV59OxzcP8\/+zCIiodIREQBERAFCut0p7RRuqag8vwsHNx7AuMV6hkv0toMbmSRsDg5x2fsDgeB+KqbyDc9X2635Jip29NIM7Z5\/IeavGOeZz1a1oXhre3qfLVZai8yi7X7MhcPuaYjDWjtx8vNaUUtO1nA2CMNxjhDBhdUUSk2Wp0Y01u+r3M\/qWy08tskq6aCOKqph0rHsYATjcg45qxslabjZqWqcSXPZhxPW4bE+YKmTM6WF8f8AnaR5rO6EkL7C9p\/JO5o8mn5q2sOxnZQrq3zL+DSoiLM6giIgCzOtD0kNBR82z1IBHb1fNaZZm+\/f6ss1MTgMJkx275\/kCvT965zcV8Jrey+p407x2e+VljkJ6J331OXHmP7fArUrMaugdSy0d8gJElK8Nfjrbn+48Vo4Jo6mCOeJ3FHI0Oae0FTPO0iKHI5UttOzOiIqfU9zFsssrgR0sw6OMd55nwGfcqJXdjec1CLk+hX6ee24anutzjPFHtEx3URty\/8AULUKs09bvsuywQOZwyOHHJ\/Ef6A8FZq03d5GfDxcaaxavN+oREVDcIiIAiIgMrqgG23m23lmQ1ruilwcbc8eILvJe7V+262udXjLIGCJpzyOw\/ld5qdqym9J05VADLowJB3YO\/uyqrQAL4K6Z7i575G8RO5OxO58Vuvh39DzZJrilDo8\/ozXIiLA9I4V0vQUFRNnh6OJzs9mASstp+70lk0uyareS+WRzmRt3c7q27B6p3PYu+rb5wRus9Jl9TUYY\/B\/CDjb2kHyKkWLSVLbA2ep4aiqHWR6jPYPmfctkkoc3U4JynOvan0Wb2uRRLqPUI4oR9lUbtw8k8bh3dfwHtXT9RKCT1qitrJZDzdxN38wVp0VfEa0yNfZYPOpzPzMx+otAzeCtrI352dxNPwAXKSLUWnOGZtQ660o2fGQeIDt6yPetYieI+uYfC01nDlfkQbVeKS8U\/S0zzkfiY4Yc3+u0Km1Ceh1TZJhsXvLM+IH8y5XmlOnrtFe6NhbTPPBVRsG2\/d3\/H2rrrI4oaC6QASejTte1w5YO+fZkBWiliTWjMas5OlJT1jZ\/XU0FZSRV1HLSzDLJWlp7u9UekKl8UNTZ6g\/f0MjgB2tz9c+YWhjkbLG2Rhy14Dge0FZa+Blk1PRXgAiGozHUY5csZPhv\/4qsM04m1fklGqumT7M1ayMR\/WjVAnG9vt34D1SOz8yB4Adq93K7VOoJzarJnoTtUVWNgD1Z7PjyV7QUdJY7cymbI1jGbue9wHEeslSlgXmVk1XlZe6tXu9icihvvFsYcPuNKD2GZv1XuO5UMxAirad+eXDK0\/NZ2Z0447klERQXCIiAIiIDlUwNqaWWnecNlYWH2EYWX0EOCmronfiZKAR4H6LWrG6amNNq+6UZOGyveRk8y1xx7iVpHOLRx1rRrU5d0bJVl+uotNudI1rnzSepCGtz6x5ZVmqm+WMXpkLTUGExE4cGgnf+w8h2KsbXzN62PA8GpktKUM9z1Aa2qDpBAS98jt8v6h7evwX6Gotvt1Na6UU1KzhZkuOebiesqUpnLEzPhqHgws9XqERFQ6QiIgIF7p46myVkUoy3onO8QMj3gKps1ObtoYUj9y5j2MLjyIJ4fIgeS0FS0PpZWnkWEe5UWh3ufYDxOJxM4DPgfmtE+T1OScU66T6pr+DrpCvFZY44nO+9pfung8wB+H3beC86osEt6hY+KpLXQNcWxFuQ8nG2erl3qDVA6a1QK3lQV54ZMcmO7fPf2ErWAgjIOQVMnhliRFOKqU3RqarL8MwuntPsu1s9JbdKiN\/GRIxh\/Cerr7MK3boe2mQvnnqpjnPrPHlyz71xtINm1bWW1xDYKwdNCO\/PIf7h4LVKZzknkzPh+HpShzRzWTKRmj7E0b0Rd3mV\/1XiTRdkeDw08kf8MrtvPKvkVMctzp9no\/pX7GY\/U+ajPHabvUU5H5X7g9vLHwXh1x1TacmtoY6+IDJfDsfd\/8AK1SKcbeuZT2aK+G3Htp+xVW3UduuTxEyXoqjkYZfVdnsHarVVdz07bbr608PDJ\/qR+q7r+qp30uodO5kpZ\/tGiYCTG\/8TRz9vkfBMMZaDxKtP31dbr8GsRVlov8AQ3mPMD+CUD1oXkBw7+8d6s1Rpp2Z0RnGaxRd0Fg3u9B\/SMDyD5gPbxt+pW8WF1rGaO+Ude0DDgDy3Lmn37ELSlq1ucfHZQU9mmbpF5jkbLG2Rhy14Dge0FelkdwREQBERAEREBFukohtVXKfyQPP+0qs0bEY9NwE83vecdnrEfJcdZVbm0ENthJ6eukDAB2AjPvI96vKKlZQ0UNKwlzYWBgJ5nHWtNIdzmXNxD\/xX1ZwvFtju1tlpH7Fwyx3+Vw5FV2lbk6alfbarLauiPA4HraDgHw5eXar9Zm\/26WKsF7tJHpUH7wxp\/G0DrHbjb+yRzWFkVk4SVWPr2\/o+ayi9HZRXaMfe0s7RntHP4j3rSRSNmiZKw5a9oc09xWVu1+t160rU8EojmAaehe4BwIcOXaP62V9Y3F9ioXEk\/cM5+xJJ4VcrSnF1pYXdNJ\/YnoiLM7AiIgCIiApLtpmmr5vS6Z7qStByJoyRk42z9Ruudgu9XJUyWm6MLa2AcQdjZ7e3Pz61fqsprFT092muRllllkOW8bsiPOcgd2\/grqV1ZnNKk41FKnlfX\/tyzWa11S9NZGzgbwSgk46jt8SFpVEutH9oWuppOuWMhuT+bq9+FEHaSZevDxKUo+RF0xU+laepHnOWs4Dn\/tOPkrVY3QFYeGqoHflIkbnPsPyWyU1FaTK8LPHRiwiIqHQEREARFQ6purqWkFvpg59bWDgja3mAdifkP8AhTFXdilSoqcXJkG3OOoNWy3DOaSgHBCc7OPUfifJaxV1htgtNphpsDpMccpHW88\/Ll4KxVpu7yM6EHGF5avNhRqWgpqOWeWCLgfUP45DkniP9Z81JRUNmk3crajT1qqpxPLRsMmc8TSW9eer2fFWDWhjA1vJowN8r0iltshQjF3SCIigsEREAREQBERAEREBhWU8tn1+wNJMdS8uHe1+dvA\/BbpRam3UdZPDPUQNkkgOYyc+qdvPkFKV5yxWOehRdLEujd0ERFQ6AizTtc21vEDT1YeCQGmMZO+O1cnX2+3YdFa7W+ma8fvE\/IDtGRj4q\/hy6nM+KpfK7vyLW932ns8HVLUv2ihadye\/uUOxWaq9KdeLueKukHqM\/wBJuMeeF1s+mYaCb02skNXXO3dK85APdn4\/BXiltJWiRGEqklOp00X3fmERFmdQREQBERAEREAREQBERAEREAREQBERAEREBFk\/6jH\/AA\/VSkRSyseoREUFgiIgCIiAIiIAiIgCIiAIiIAiIgP\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ANA PILAR TAPIA DONAIRE",
    "correoContacto": "ana.tapia@veltislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56 9 85665612",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1080\",\"id_control\":\"28615\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-I1081\",\"id_control\":\"28615\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-I1082\",\"id_control\":\"28615\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "10:51",
    "ubicacionGPS": "LatLng(lat: -24.9311655, lng: -69.6708409)",
    "horaLlegada": "07:21",
    "horaDespacho": "10:50",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 10:51:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[08/05/2026 10:51: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('76050301', 'TO3103', 1, 19969062, 0, NOW(), 
				'10:50', '07:21', '10:51', 10, 'Envio insumos via chilexpress', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778251864.png', 'encomienda', null, 'COMPLETADO','LatLng(lat: -24.9311655, lng: -69.6708409)' )
				
[08/05/2026 10:51:04] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200223
[08/05/2026 10:51:04] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200223', 'TOS-I1080', 2)
				
[08/05/2026 10:51:04] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28615 and
				    IDproducto = 'TOS-I1080'
				

08/05/2026 10:51:04 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I1080';
                [08/05/2026 10:51:04] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200223', 'TOS-I1081', 2)
				
[08/05/2026 10:51:04] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28615 and
				    IDproducto = 'TOS-I1081'
				

08/05/2026 10:51:04 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I1081';
                [08/05/2026 10:51:04] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200223', 'TOS-I1082', 2)
				
[08/05/2026 10:51:04] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28615 and
				    IDproducto = 'TOS-I1082'
				

08/05/2026 10:51:04 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I1082';
                
08/05/2026 10:51:04 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200223'                    
				WHERE idllamado = 12499			
				TO ENVIO: micorreo@miempresa.cl, ana.tapia@veltislatam.com


08/05/2026 10:51:04 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12499			
				
08/05/2026 10:51:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 10:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:51:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            
08/05/2026 10:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:51:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:51:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:51:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                [08/05/2026 10:51: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;
                

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

08/05/2026 10:51:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            
08/05/2026 10:51:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            
08/05/2026 10:51:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12499
            GROUP BY l.idllamado;
            
08/05/2026 10:51:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                [08/05/2026 10:51: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;
                

08/05/2026 10:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12499
                
08/05/2026 10:51:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            
08/05/2026 10: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 = 12497
                
08/05/2026 10:51:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            
08/05/2026 10:51:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            
08/05/2026 10: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 = 12497
                [08/05/2026 10:51: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;
                

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

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

08/05/2026 10:51:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            [08/05/2026 10:51:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 10:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            [08/05/2026 10:51:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 10:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            
08/05/2026 10:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            
08/05/2026 10:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            
08/05/2026 10:51:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            
08/05/2026 10:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            
08/05/2026 10:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            
08/05/2026 10:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            
08/05/2026 10:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            
08/05/2026 10:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            
08/05/2026 10:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            
08/05/2026 10:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            
08/05/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 = 12497
                
08/05/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 = 12497
                
08/05/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 = 12497
                
08/05/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 = 12497
                
08/05/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 = 12497
                
08/05/2026 10:51:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            
08/05/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 = 12497
                
08/05/2026 10:51:39 - logentry: =========================================
FECHA: 08/05/2026 10:51:39
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-VV-rP+ldlBhM+u9Ehafao9.vtpVnbf3-XKC_rV0oG-vZOcCUS.Z
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2455",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Envio insumos via chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12497",
    "observacion": "encomienda",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACRANcDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABCEAABAwMCAgYGBgcIAwAAAAABAAIDBAURBiESMRNBUWGBkRQiMnGhwRUjQrHR8CQzUnKCwtIHFkNTYpLh8VSisv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgIHBwQDAQAAAAAAAAABAgMRITEEEiJBUWFxEzKRscHR4RSBofEzQlLw\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBcQ9he5gcC5oBLQdxnl9y5KVuXFYdVQXJruGkrj0c+eQPaezqPgVKMb4FVWp2aTthvNW+X2KzRRgRmeomOIoWncrNjpdV3DM81XDQNd7MIGSPL8Vw01Ey73OtvdQ0SOEvBASdmgdg7cY81VKbahgsyiEXX222o7kvUlJLpqGwkOucDK6lHOeLYjsztt4jxVHRVtPcKVlTTSB8bxsezuPeu9zQ5pa4AgjBB61IzNOkb62aMEWusOHsB2jd\/xz92excwn1DcqDu3ePPNfBXovgIIyDkFfVWbAiIgCIiAIiIDIdeZItSi11ETWRyx8ULxkl57+zkVrqc1lTvbSU10hz0tDKHbdhI+YHxW7SVLKykiqY88ErA8Z7wpySsmjPTm+0lCXVdGdyIigaApuv1HU1NWaCwQCpmacSSkeo33Hl493WmobhU1ddHYLa8CaYfpD\/8ALbjP3fnda9qtVNaKNtPTt73vPN57SrElFXZllKVWThB2SzfojFNv1cwdM26U735B6MjbvHs4\/PNdls1JUtrW2290votS7ZknJj\/z2g4J7FRrMv1mivNCYz6s8eXQydbXfgcIpJ4SRyVGcFrU5O\/Bu9zTRYmmLpNXUclLWH9Mo39HKCdzjYE+RHgttQas7GinNVIqSCIi4TCIiALH1VRx1mn6nj2MI6Vh7CP+MjxWwsrU7uDTlacZ9THmQFKPeRVXSdKV+DPHoqqgmsLIYgGvgcRIO0k5B\/PYqFQdlDrBcrdO559EucLQ4nkHf948CVeKVRWlcp0SblSUXmsPYLPvlB9JWappg3ie5mY\/3huPiMLQRQTs7mmUVKLi95i6SrTW6fgLnFz4SYnEns5fAhbSmNHfVT3alGzYqnYHmNyPkqdSmrSZTo0nKjG\/\/WwCIigaAiIgCIiA6K2mFZQz0xOBLG5mezIWLoqoc+zOpZdpKWV0ZaeYHPfxJ8lQqWteLbra4UQBDKxvSs26+flu7yVkcYtGWrs1YT+3jkVK81wrY7dQTVku7Im5x2nqHiV6VMaslNfU0VjgOZJ5Q+TBHqtGefZ1nl1KMVd2LK1Ts4NrPd1OzSdvlDJrxWZNTXHiGRyYTnbuO3kFRrixjY2NYwYa0AAdgXJJPWdyVKmqcFFBERRLCVkAtOu45AMRXGPhOAdnf9geaqlM62HRUVHXNaHSU9QOHPYQT97QqVpDmhw3BGQrJYpMzUdmpOHO\/ifURFWaQiIgCytTRmTTla0dUfF5EH5LVXkusPpFpq4cEl8LwAO3BXY4NFdVXhJcjDFubetD00TG\/WsiDov3m7Y8dx4r36WuTrlZInyOzLF9W853JHI+WF1aNn6bTkLeuJzmHbvz815KJrbBqyakI4aW5DjiPU1wzt8T5hWvG8THB6vZ1NzST9PYqERdc0nRQSSc+Bpd5BUnoZE5pPD7rfJmnLJKn1T2+s8\/MKnU3oaMNsb5cDilnc4nwAVIp1O8zNov8MfHxxCIigaQiIgCIiAKX1UPQLlbb00bQydHJgZJbz+7i81ULK1NSCs0\/VsIy5jOkbtkgt3+7I8VODtIo0iLlSds1j4GoCCMg5BUxp8Gu1Ndrg\/1xE\/oYnHfAyeXgB5r10F04dGMr\/tQ05G37TfVHxC+aOpXQWBkr931L3SuJOSeofAZ8V22qn4FTkqtSnbhf2N5ERVmwIiIDB1nGH6bncW54HscD2esB81qW2Qy2ukkLuIvgY7PbloWfq+RrNM1XFg8XC0A9Z4guhl9o7HZKGGpe6Sp9HZiBm7vZHPsViTcFbiY3OMK7cnZWXmyhRTAuOqrgAaW3Q0kbhkPmO48Cfkn0PqeTDpL4xrusMbt9wXNTiyf1F+7Bv8AHmU6KWfS6qtg9IZXR10bBl8ThgkDfbb5rZst2ivNuZVMHC\/2ZGfsu\/O6442VyUKylLVaafM0F8IBGCMgr6iiXkxojMVLXUbiSYKkjHZtj+VezVdCauzuniyKikPTRuHMY5\/DfwC8duP0XrStoTtFXM6aPvO5\/r8lTEAjBGQVbJ2nrGOjBToOm910eGy3Jt1tcNWMcThiQDqcOa6dTVHo2na1\/W6Pg\/3Hh+ayrC82fUVZZHjhhmcZqfyzjyH\/AKr7fibxqCksbZCImYlqOF2NueD34xj97yau3yzIus3Qs+93fvl8mtpynbTaeomN+1EJD73et81pri1oYwNbyaMDfK5Ktu7ubIR1YqPAIiLhIIiIAiIgC4yRtljdG8Za8FpHaCuSID8+jndSaVvFrkOJKeoa0e4uA\/lPmrW0RGGz0URGC2BgPv4RlQurKd9PqKeKIANrGsdgDmc\/iCv0SNjYo2xt9lgAHuCvqZJ8TzdET7SSf9cPyzkiIqD0giKZvlyq6+v+gbScSkfpEuf1bds7+O\/kpRjdldWoqcbv9mfrC9RV4ZaaEGZ\/SAvew5BIyOEdu\/3LbsumKS1YmlPpNUf8V49n90dXv5rAstppanURhgAkpbaPWeR+tk7TsRjI2HYB3q6Vk3qpRRj0eDqzdaosd32CIipPQClrJGyh1jdKCHIicwS8OdgfVPL+MqpUxbMS69ukzfZbC1h9+Gf0lThkzNX70Hvv6Mp0RFA0kxrGOSlNDeINpKWXhcQObT2922P4lRwzMqII54zlkjQ5p7QRkLruFI2vt89I\/GJWFuSM4PUfA7rG0fVyuoJbdU7T0MhjIPPh6vjkeSszh0Mq2K\/KXmvg69YQy04pLzTYElE\/1u9pIxnuzt\/EujSZp+KpulZVwel1bzhplblreeOe2T1dwVJX0jK6gnpXgYlYW7jkeo+ajtM2G23SjnjrIXipp5Sxxa4t26vjkeClFpwsyirCUdIUo4348f0W7JGSDLHtcP8AScrkpp+hLS45ElUzua9vzC4\/3BtX\/kVn+9v9KhaHE0a9f\/C8fgp0UwNBWsHIqKwEf62\/0p\/c+anBFBe6unGMAEnl4EJqx4jtK2+H5KdFLOtmqqH6ylujKzAP1cvM+f4hfW6sq6B7GXu1SU4dsJY92k+4+PWu6jeTuc+pUf5E4+XiioRdNLV09bAJ6aVssZJAc0oqzSmmro7kREOkfrOKNt2tM73cPE\/hce4OafmVYKJ\/tCJ6Wgb1Brz\/APKrqCf0q309RnPSxNd5hWyWxFmKjJfUVI9PI9CIiqNp4bzXm22uapZjjaMM4gSMnlnuUbRTPpaUWy1\/pNzrvWqJ2n9U0828XaN8nq+64raKC4UrqaobxRu59oXXbrTRWqLo6SEMyMFxOXO958VZGSUTJWozqVE07K3352OqyWiOzW5tM13G87yPx7R\/BaKIoN3d2aYxUIqMckERFwkFL6SPpVwu9wOD0s\/C05zgZJ5+4jyWzfK36Os1TUg4c1mGb\/aOw+JXk0lR+h6dp8jDpsyu788vhhWLCDZlntV4x4Jv0NpERVmoKWvXHYb\/AAXmID0aoIiqQB8fIZ9471UrzXChiuVDLSTD1JBz7D1FSi7PEprU3OOGaxXU72PbJG2Rjg5rgC0jrCmKcfRmvJoskR3CLjbz9rn94d5rs0rXSwumsdacT0hIjJ+2zu933HuXHU5NNfbLWNwMTcDjjqJHX7iVNK0nEz1KinTjVW5r2ZToiKo3BERAFwlijmjdHLG2RjhhzXDIPguaIDEttimtV6nmpZWNt8zcmDJJD+7bl4ottF1tvMhCnGCtHIIiLhMjP7QY8+gPAycvb7\/ZwtrSc\/T6bpSTksBYfAnHwwvDroNbbaWZwzwVAGx7ifkmiCYYK+iJJ9HqDufL+VXvGkjzY7OmvmvT4KdERUHpBERAEREARF1VNRHSU0tTM7hjiaXOPcEON2V2TerHuuFZQ2OA5fNJxy4cBho7fDJ8OtU7GNjY1jBhrQAB2BTOlKeSuqqq\/wBU36yocWxA74aOePIAe4qoVk8NngZtH2r1X\/bLpu9wiIqzUEXGSRkUbpJHBrGAuc4nYAcyuMFRFVQNngkEkbxlrm8ihy6vYxNR2aapfFdLb6lfTHIx\/iAdXv8AvyQsS9XyG+Wilh4HxV7ahvFCGknkQSOo79WVdLzOt9G+o9IdSxGXIPGWjOQQQffsN+4KyM7Z7jJV0dyvqO18\/fqehueEcWM43wvqIqzYEREAREQBERAEREBhayg6bTkzuuJzXjfvx81maFldNU3WZwwZHsedscy8qmuVIa621NKCA6WNzWk8gcbfFTmirXX0EtS+qp3RRvAaOIYJIPn8ldFrs2jBUhJaXCSWH79ytREVJvCIiAIiIApK4VM2qri600Lyyhgdmpm\/aIOwHaNtu3Gepdl3u9Tdqw2WynLjtPUA7MHWM\/PwC3LVaqa0Ubaenb3veebz2lWLYV3mY5Pt5ake6s3x5e56KanipKaOnhbwxxtDWjuC7URVmtK2CCIiHTi9jJI3RyND2OBDmuGQQeohfIoo4ImxQsbHGwYa1owAFzRDlt4REQ6EREAREQBERAEREAREQBERAEREAReW41zbbQyVb4pJWx4y2MZJycLDfe75cZRDa7WYG5OZ6jOMd35PNSUW8SmpWjB2efAoppoqeMyTysiYObnuAA8SpiuvVVf6l1qsgIi5TVW+A3u7Ov39S5s0nU10zZr5cn1XCP1UezR4\/gAqKlpKeigENNE2KMfZaPzlS2Y82VNVa2D2Y\/l+x5rTaKWz0ggpm5J3fIfaee9e9EUG74s0xiorVjkERFwkEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ANA PILAR TAPIA DONAIRE",
    "correoContacto": "ana.tapia@veltislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56 9 85665612",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28616\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28616\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28616\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28616\",\"cantidad_usada\":3,\"cantidad_asignada\":3}]",
    "horaSalida": "10:51",
    "ubicacionGPS": "LatLng(lat: -24.9311408, lng: -69.6708403)",
    "horaLlegada": "07:21",
    "horaDespacho": "10:51",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 10:51:39
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-VV-rP+ldlBhM+u9Ehafao9.vtpVnbf3-XKC_rV0oG-vZOcCUS.Z
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2455",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Envio insumos via chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12497",
    "observacion": "encomienda",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACRANcDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABCEAABAwMCAgYGBgcIAwAAAAABAAIDBAURBiESMRNBUWGBkRQiMnGhwRUjQrHR8CQzUnKCwtIHFkNTYpLh8VSisv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgIHBwQDAQAAAAAAAAABAgMRITEEEiJBUWFxEzKRscHR4RSBofEzQlLw\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBcQ9he5gcC5oBLQdxnl9y5KVuXFYdVQXJruGkrj0c+eQPaezqPgVKMb4FVWp2aTthvNW+X2KzRRgRmeomOIoWncrNjpdV3DM81XDQNd7MIGSPL8Vw01Ey73OtvdQ0SOEvBASdmgdg7cY81VKbahgsyiEXX222o7kvUlJLpqGwkOucDK6lHOeLYjsztt4jxVHRVtPcKVlTTSB8bxsezuPeu9zQ5pa4AgjBB61IzNOkb62aMEWusOHsB2jd\/xz92excwn1DcqDu3ePPNfBXovgIIyDkFfVWbAiIgCIiAIiIDIdeZItSi11ETWRyx8ULxkl57+zkVrqc1lTvbSU10hz0tDKHbdhI+YHxW7SVLKykiqY88ErA8Z7wpySsmjPTm+0lCXVdGdyIigaApuv1HU1NWaCwQCpmacSSkeo33Hl493WmobhU1ddHYLa8CaYfpD\/8ALbjP3fnda9qtVNaKNtPTt73vPN57SrElFXZllKVWThB2SzfojFNv1cwdM26U735B6MjbvHs4\/PNdls1JUtrW2290votS7ZknJj\/z2g4J7FRrMv1mivNCYz6s8eXQydbXfgcIpJ4SRyVGcFrU5O\/Bu9zTRYmmLpNXUclLWH9Mo39HKCdzjYE+RHgttQas7GinNVIqSCIi4TCIiALH1VRx1mn6nj2MI6Vh7CP+MjxWwsrU7uDTlacZ9THmQFKPeRVXSdKV+DPHoqqgmsLIYgGvgcRIO0k5B\/PYqFQdlDrBcrdO559EucLQ4nkHf948CVeKVRWlcp0SblSUXmsPYLPvlB9JWappg3ie5mY\/3huPiMLQRQTs7mmUVKLi95i6SrTW6fgLnFz4SYnEns5fAhbSmNHfVT3alGzYqnYHmNyPkqdSmrSZTo0nKjG\/\/WwCIigaAiIgCIiA6K2mFZQz0xOBLG5mezIWLoqoc+zOpZdpKWV0ZaeYHPfxJ8lQqWteLbra4UQBDKxvSs26+flu7yVkcYtGWrs1YT+3jkVK81wrY7dQTVku7Im5x2nqHiV6VMaslNfU0VjgOZJ5Q+TBHqtGefZ1nl1KMVd2LK1Ts4NrPd1OzSdvlDJrxWZNTXHiGRyYTnbuO3kFRrixjY2NYwYa0AAdgXJJPWdyVKmqcFFBERRLCVkAtOu45AMRXGPhOAdnf9geaqlM62HRUVHXNaHSU9QOHPYQT97QqVpDmhw3BGQrJYpMzUdmpOHO\/ifURFWaQiIgCytTRmTTla0dUfF5EH5LVXkusPpFpq4cEl8LwAO3BXY4NFdVXhJcjDFubetD00TG\/WsiDov3m7Y8dx4r36WuTrlZInyOzLF9W853JHI+WF1aNn6bTkLeuJzmHbvz815KJrbBqyakI4aW5DjiPU1wzt8T5hWvG8THB6vZ1NzST9PYqERdc0nRQSSc+Bpd5BUnoZE5pPD7rfJmnLJKn1T2+s8\/MKnU3oaMNsb5cDilnc4nwAVIp1O8zNov8MfHxxCIigaQiIgCIiAKX1UPQLlbb00bQydHJgZJbz+7i81ULK1NSCs0\/VsIy5jOkbtkgt3+7I8VODtIo0iLlSds1j4GoCCMg5BUxp8Gu1Ndrg\/1xE\/oYnHfAyeXgB5r10F04dGMr\/tQ05G37TfVHxC+aOpXQWBkr931L3SuJOSeofAZ8V22qn4FTkqtSnbhf2N5ERVmwIiIDB1nGH6bncW54HscD2esB81qW2Qy2ukkLuIvgY7PbloWfq+RrNM1XFg8XC0A9Z4guhl9o7HZKGGpe6Sp9HZiBm7vZHPsViTcFbiY3OMK7cnZWXmyhRTAuOqrgAaW3Q0kbhkPmO48Cfkn0PqeTDpL4xrusMbt9wXNTiyf1F+7Bv8AHmU6KWfS6qtg9IZXR10bBl8ThgkDfbb5rZst2ivNuZVMHC\/2ZGfsu\/O6442VyUKylLVaafM0F8IBGCMgr6iiXkxojMVLXUbiSYKkjHZtj+VezVdCauzuniyKikPTRuHMY5\/DfwC8duP0XrStoTtFXM6aPvO5\/r8lTEAjBGQVbJ2nrGOjBToOm910eGy3Jt1tcNWMcThiQDqcOa6dTVHo2na1\/W6Pg\/3Hh+ayrC82fUVZZHjhhmcZqfyzjyH\/AKr7fibxqCksbZCImYlqOF2NueD34xj97yau3yzIus3Qs+93fvl8mtpynbTaeomN+1EJD73et81pri1oYwNbyaMDfK5Ktu7ubIR1YqPAIiLhIIiIAiIgC4yRtljdG8Za8FpHaCuSID8+jndSaVvFrkOJKeoa0e4uA\/lPmrW0RGGz0URGC2BgPv4RlQurKd9PqKeKIANrGsdgDmc\/iCv0SNjYo2xt9lgAHuCvqZJ8TzdET7SSf9cPyzkiIqD0giKZvlyq6+v+gbScSkfpEuf1bds7+O\/kpRjdldWoqcbv9mfrC9RV4ZaaEGZ\/SAvew5BIyOEdu\/3LbsumKS1YmlPpNUf8V49n90dXv5rAstppanURhgAkpbaPWeR+tk7TsRjI2HYB3q6Vk3qpRRj0eDqzdaosd32CIipPQClrJGyh1jdKCHIicwS8OdgfVPL+MqpUxbMS69ukzfZbC1h9+Gf0lThkzNX70Hvv6Mp0RFA0kxrGOSlNDeINpKWXhcQObT2922P4lRwzMqII54zlkjQ5p7QRkLruFI2vt89I\/GJWFuSM4PUfA7rG0fVyuoJbdU7T0MhjIPPh6vjkeSszh0Mq2K\/KXmvg69YQy04pLzTYElE\/1u9pIxnuzt\/EujSZp+KpulZVwel1bzhplblreeOe2T1dwVJX0jK6gnpXgYlYW7jkeo+ajtM2G23SjnjrIXipp5Sxxa4t26vjkeClFpwsyirCUdIUo4348f0W7JGSDLHtcP8AScrkpp+hLS45ElUzua9vzC4\/3BtX\/kVn+9v9KhaHE0a9f\/C8fgp0UwNBWsHIqKwEf62\/0p\/c+anBFBe6unGMAEnl4EJqx4jtK2+H5KdFLOtmqqH6ylujKzAP1cvM+f4hfW6sq6B7GXu1SU4dsJY92k+4+PWu6jeTuc+pUf5E4+XiioRdNLV09bAJ6aVssZJAc0oqzSmmro7kREOkfrOKNt2tM73cPE\/hce4OafmVYKJ\/tCJ6Wgb1Brz\/APKrqCf0q309RnPSxNd5hWyWxFmKjJfUVI9PI9CIiqNp4bzXm22uapZjjaMM4gSMnlnuUbRTPpaUWy1\/pNzrvWqJ2n9U0828XaN8nq+64raKC4UrqaobxRu59oXXbrTRWqLo6SEMyMFxOXO958VZGSUTJWozqVE07K3352OqyWiOzW5tM13G87yPx7R\/BaKIoN3d2aYxUIqMckERFwkFL6SPpVwu9wOD0s\/C05zgZJ5+4jyWzfK36Os1TUg4c1mGb\/aOw+JXk0lR+h6dp8jDpsyu788vhhWLCDZlntV4x4Jv0NpERVmoKWvXHYb\/AAXmID0aoIiqQB8fIZ9471UrzXChiuVDLSTD1JBz7D1FSi7PEprU3OOGaxXU72PbJG2Rjg5rgC0jrCmKcfRmvJoskR3CLjbz9rn94d5rs0rXSwumsdacT0hIjJ+2zu933HuXHU5NNfbLWNwMTcDjjqJHX7iVNK0nEz1KinTjVW5r2ZToiKo3BERAFwlijmjdHLG2RjhhzXDIPguaIDEttimtV6nmpZWNt8zcmDJJD+7bl4ottF1tvMhCnGCtHIIiLhMjP7QY8+gPAycvb7\/ZwtrSc\/T6bpSTksBYfAnHwwvDroNbbaWZwzwVAGx7ifkmiCYYK+iJJ9HqDufL+VXvGkjzY7OmvmvT4KdERUHpBERAEREARF1VNRHSU0tTM7hjiaXOPcEON2V2TerHuuFZQ2OA5fNJxy4cBho7fDJ8OtU7GNjY1jBhrQAB2BTOlKeSuqqq\/wBU36yocWxA74aOePIAe4qoVk8NngZtH2r1X\/bLpu9wiIqzUEXGSRkUbpJHBrGAuc4nYAcyuMFRFVQNngkEkbxlrm8ihy6vYxNR2aapfFdLb6lfTHIx\/iAdXv8AvyQsS9XyG+Wilh4HxV7ahvFCGknkQSOo79WVdLzOt9G+o9IdSxGXIPGWjOQQQffsN+4KyM7Z7jJV0dyvqO18\/fqehueEcWM43wvqIqzYEREAREQBERAEREBhayg6bTkzuuJzXjfvx81maFldNU3WZwwZHsedscy8qmuVIa621NKCA6WNzWk8gcbfFTmirXX0EtS+qp3RRvAaOIYJIPn8ldFrs2jBUhJaXCSWH79ytREVJvCIiAIiIApK4VM2qri600Lyyhgdmpm\/aIOwHaNtu3Gepdl3u9Tdqw2WynLjtPUA7MHWM\/PwC3LVaqa0Ubaenb3veebz2lWLYV3mY5Pt5ake6s3x5e56KanipKaOnhbwxxtDWjuC7URVmtK2CCIiHTi9jJI3RyND2OBDmuGQQeohfIoo4ImxQsbHGwYa1owAFzRDlt4REQ6EREAREQBERAEREAREQBERAEREAReW41zbbQyVb4pJWx4y2MZJycLDfe75cZRDa7WYG5OZ6jOMd35PNSUW8SmpWjB2efAoppoqeMyTysiYObnuAA8SpiuvVVf6l1qsgIi5TVW+A3u7Ov39S5s0nU10zZr5cn1XCP1UezR4\/gAqKlpKeigENNE2KMfZaPzlS2Y82VNVa2D2Y\/l+x5rTaKWz0ggpm5J3fIfaee9e9EUG74s0xiorVjkERFwkEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ANA PILAR TAPIA DONAIRE",
    "correoContacto": "ana.tapia@veltislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56 9 85665612",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28616\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28616\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28616\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28616\",\"cantidad_usada\":3,\"cantidad_asignada\":3}]",
    "horaSalida": "10:51",
    "ubicacionGPS": "LatLng(lat: -24.9311408, lng: -69.6708403)",
    "horaLlegada": "07:21",
    "horaDespacho": "10:51",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 10:51:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[08/05/2026 10:51: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('76050301', 'EP2455', 1, 19969062, 0, NOW(), 
				'10:51', '07:21', '10:51', 10, 'Envio insumos via chilexpress', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778251899.png', 'encomienda', null, 'COMPLETADO','LatLng(lat: -24.9311408, lng: -69.6708403)' )
				
[08/05/2026 10:51:39] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200224
[08/05/2026 10:51:39] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200224', 'EPS-I302', 3)
				
[08/05/2026 10:51:39] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28616 and
				    IDproducto = 'EPS-I302'
				

08/05/2026 10:51:39 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I302';
                [08/05/2026 10:51:39] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200224', 'EPS-I304', 3)
				
[08/05/2026 10:51:39] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28616 and
				    IDproducto = 'EPS-I304'
				

08/05/2026 10:51:39 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I304';
                [08/05/2026 10:51:39] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200224', 'EPS-I305', 3)
				
[08/05/2026 10:51:39] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28616 and
				    IDproducto = 'EPS-I305'
				

08/05/2026 10:51:39 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I305';
                [08/05/2026 10:51:39] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200224', 'EPS-I303', 3)
				
[08/05/2026 10:51:39] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28616 and
				    IDproducto = 'EPS-I303'
				

08/05/2026 10:51:39 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I303';
                
08/05/2026 10:51:39 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200224'                    
				WHERE idllamado = 12497			
				TO ENVIO: micorreo@miempresa.cl, ana.tapia@veltislatam.com


08/05/2026 10:51:40 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12497			
				
08/05/2026 10:51:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 10:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            
08/05/2026 10:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                [08/05/2026 10:51:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 10:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            
08/05/2026 10:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            
08/05/2026 10:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            
08/05/2026 10:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            
08/05/2026 10:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            [08/05/2026 10:51:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

08/05/2026 10:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12497
            GROUP BY l.idllamado;
            
08/05/2026 10:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12497
                
08/05/2026 10:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            [08/05/2026 10:51: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;
                

08/05/2026 10:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            [08/05/2026 10:51: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;
                

08/05/2026 10:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            [08/05/2026 10:51: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;
                
[08/05/2026 10:51: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;
                

08/05/2026 10:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                [08/05/2026 10:51: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;
                

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

08/05/2026 10:51:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10:51:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10:51:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                [08/05/2026 10:51: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;
                

08/05/2026 10:51:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10:51:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10:51:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10:51:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10:51:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10:51:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10:51:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10:51:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:51:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:54:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10:54:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10:54:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10:54:39 - logentry: =========================================
FECHA: 08/05/2026 10:54:39
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-22ZdU+JO5r+d._r.2v5eeT6pXyLxB4gMzytLb1Pif92KHd6bEJQ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2330",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Envio insumos via camus",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12503",
    "observacion": "encomienda camus",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACNANgDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFAwQBAgf\/xABEEAABAwMCAgYFCAgEBwAAAAABAAIDBAURBiESMRNBUYGRoRQiYXHBFRYjMrHR0vAHM0JSVJKy4SRDwvEnNDVicnOi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgECAwYFAwMFAAAAAAAAAAECAxESITEEE0FRkcEiMmFxoRSB4VKx0SMzQnLx\/9oADAMBAAIRAxEAPwD+zIiIAiIgCIiAIiIAiIgCIiA5z9MIJDThhl4TwB\/1SerKy9OXl11pHsqMNrIHcMzMY9x\/PYthSd1a\/T2pY7vG0+iVf0dRgcievyB7ipxSd0Z60pU2p8OP8lYi\/D5Y44jK94axoyXE7AKXNzu2pJ3RWnNHRMdg1Th6zvZ\/YezcLkY3J1KqhZat8CrRTHzXuw3Gp6skcsh3419pLtcLTdI7Ze3skjmH0NS3rPt+z2e7ddwX0dyvftP+pFroUyIigaQiIgCIiAIiIAiIgMp14dHqZtqkjAZJDxxuB3J3znwPLP3aqmdX5o5rbdmZBpp+F2OsHfB8CO9UoIIyDkFTklZNFFOTxyi+H7M+qarb1XXG5SWuxGMOjH0lS7do935PkvXqa6ut9B0NOA+qqDwMZnkDzd8M9pXew2eKzW5sLRmV\/rSvI3Luz3BdVksTIVHKpPdxdktX2Mo2PUdPF0sF+Ms4H6uQHh7ic57wvfYL2+5NlpquLoa2nOJGHrHb+fitlS1\/HyXqS3XaMBrZndDOccxyye4+S6njyZGcNxacW7cVe\/3KlERVGwIiIAiIgCzr9Q\/KFlqacDLiziZvj1huPsWiuNVUMpKSapf9WJhee4ZXVk8iE0nFqWhD0dVU6mZbrOONtPAwelOb1gHbyA7z7FcUlJBQ0zKamjEcTBgAKL0NVmO5zwSt3q2dIx3DjJBOcefs2V0rauTtwMewpShvHm9OgWZfrQy8Wx9PsJW+tE49TvuPJaaKpOzujbOKnFxlozG0tcnXKyxulz00B6KTPMkcj4Eea2VMWf8AwOsbpQtGGTATj37Hu+sVTqU1nkVbPJunZ6rLoERFAvCIiAIiIAiIgMfVdL6Vp2qAGXRgSDblwnJ8srvYav02x0k5OXGMNcc9Y2P2L3yRtljdG8Za8FpHaCpLTtY632S70znEyUDpC0Z5bHl3g9XWrFnGxkm93XUno0\/jM6WOL5b1BV3iocXNpX9FTs5gc\/vz3qrWDoyn6DTkTsAGZ7nnxx8FvLlR+KxLZo2pJvV59QsDWsHTadkfjPQyNf54+K31n36ITWGuYRn6BzgMdYGR9i5B2kiyvHFSkvQ726c1Vtpqg85YmvPvIC9Kx9KSmbTVG4nJDXN59jiB5BbC5JWbR2lLFTjLmgiIuFgREQBYmr5HR6aqeH9otafdxBban9bSFmnnAOwXSsHnn4KcPMijaXajL2ZlXSBlspbBdYgQIGsZIRkkgji\/F4q0BBGQcgrEvlEanSL4uHL4oGvbk5ILQCfIEL06dqzW2CjmJy7o+B2\/W3b4Lss43KqKwVXHmk+z7GmiIqzYTFUTF+kOj4T+upTxY26n+P1QqdTEg6b9IkXX0FN78bHw+sqdTnw9jNs+s\/8AZ9giIoGkIiIAiIgCIiAKAvk3yZebzC7ZlZACwdriW7\/1K\/UN+kClDaukqx\/mMMZ7jkf1K2j5rGHb091iXD\/ncqbDEYbDRMJz9C08scxn4rQXOnAbTRNGwDAB4Loq27s2QWGKQXhvcogslbIeqB4HvIwF7HvZGwvkcGNaMlzjgBSerNQUNRbJKCjqRNNI5oPRjIxnPPl1DkpQi20VbRUjTptt8DV0lEYtN0nFzcHO8XHHlhbKkaK+3anoYIKfT1Q5kTGsBdkZwAM\/VXf54S0r2i6WeppGOOBJgkHuIHs5EqUoSbbKaW0UoQjFvRcmU6LjS1dPWwCemlbLGSQHNK7Ko2Jpq6CIiHQpvXX\/AEBv\/vb9hVIp\/WzOPTr3fuSMd54+KnT8yM+1f2Zextxta+laxwy1zACO0YU7o1xpX3G1POXU05LScbg7fAeKoKF\/S0FPJ+\/E13iAp2Um26\/Y\/IEdfDwn34x45aPFdjmmiFXKUKnrbqVKIvHdrgy12yasfgljfVaf2nHkPFQSvkapSUU2zEsZFXq68VgOejxDnvx\/oVOsDR9FJT2k1UwxLWO6Q7cx1E+\/OfcQt9Sn5ijZk1TTerz6hERQNAREQBERAEREAU5rmASWDpMbxStd47fFUaxtWsD9M1gPUGkdzgpw8yKNpV6Ml6M9torG19ppapuPXjGcdThsR4gr0yyshifLI4NYxpc5x6gOZUvoKs6W2z0hPrQycQHsd\/cHxWzqCCoqbHUw0nF0zwA3h5n1hnyyko2nYjSquVBVFm7GBBHV6xmknqZn01qidhkTdjJjtPLv8O1fNO2+jqtRT1tJC1tHRjggwc8TuXEd89p7x2L801Xcq61wWW2UUtOGMEdRUybcB24seft3VRarfHa7bDSR\/sD1j+848z4qyUsKaMtGmqklJ52zb5vkvRHsX4lijmjdHLG2RjhhzXDIPcv2ioPTJGeJ2kLyyohz8l1bgx7M7Ru\/O\/iFWtcHNDmkEEZBHWvFeaIV9pqKfgD3FhLARn1huPNeLSNca2wQhxy+AmJ3LkOXkR4Kx+KNzLTW6q7taPNd0baIirNQWNq2MyaZrABkgNd4OHwWys3UUfS6frW4z9ESNs8t1KPmRVWV6Ul6M6WR\/HY6F2\/\/AC7M5\/8AELG1m11O233Nn1qWoG3WQd\/9PmtLTLy\/TlET1R48CQvzqmDp9OVjetrQ8b9hB+CksplM1j2b7X7mq1zXsD2nLXDIPaFLajn+WLtS2CmdkcYkqHNOzQM5B9w37wvxHqaRtqoaG2wGpuEkDRjGzMDGT28vctbT9kNqilnqJOlrKk8Uz+w88DvJ966lgzZGU\/qEoR04vsa7WhrQ1oAAGAB1L6iKo2hERAEREAREQBERAFm6hYX6frgOqFx8N1pLhXQmooKiEc5InN5Z5ghdWTIVFeDRE6Pe6jvcUTtmVtNxNHtGfwuV6v5tRzOpKG13QbijqXQycO\/qk8Xxcv6QCCMg5BVtZZ3MWwPwOP36\/m59REVJ6AREQBTGmB6Je7xb+TWy9Ixp6hk\/AtVOpm3n\/iBc2txw+jgnGOeI\/wC6nHRozVsp05etuqZTIiKBpC5VUAqaSandylY5h7xhdVwq6ynoYOnqpRFHkDiPaV1HJWtnoYWh6hz7NJSv2fTTObw55A7\/AG5X3V95kt9I2jiiBdVtcwyP+q1vI9+642Y+gaxudEXDo6kdOz2nnt\/MfBUVTRUta0NqaeOYDkHtBVkmlO7MVOM57Pgi7NZdPwSOi6u00VJLJPUxQ1Uj+E9I4D1Ryxnlz8lXw1dNUY6CoilyMjgeDnwUhYrNbqu7XikqqQPbDN9HuRwty4Y27lqS6Is0meFk0Wf3JOXjldnhcs2Q2Z1o0kopNe9uxQopj5g2r+IrP52\/hT5g2r+IrP52\/hULQ5\/Bo3lf9C6\/gp0Ux8wbV\/EVn87fwp8wrWN21NYD1Hjbt\/8AKWhz+BvK\/wChdfwU6KY+ZUbdo7rWMHZxL8v05eqRnSUF+mkkByI5s8J8SR5LuGPMb2qtafyipRS\/zlulsJZebS\/hbgGeDdp+HL2j7ti3Xy3XUltJUtc8f5bvVd78HmouDWZKFenN4b2fJ5M0ERFEvCIiAgZ6bom6hthaCIyKmPqDcHP9JAVbYKj0qxUUuQSYg04GNxsfMLFuMLWa2Yx+OjuFI6J2Tz2I7uQXo0PKX2N0LvrQTObjwPxKvnnG55mz+Cs4+66O\/co0RFQemEREB8JAGScAKZ0iPTKu53UkO6ebhYRtgDfHgWr2apu7bbbXQx+vU1IMcbAdwCMcWPzuvVYbabVaIKV36wDik3z6x3P3KxZQ9zLJ466S\/wAc\/u9DRREVZqC5VFNBVxGGohZLGTnheMhdUQ40nkyX1EPQNSWq5j1Wud0MjicDH+zj4KoWDrKkNTYHyMBL6d7ZRjn2HyOe5alsqhW2ymqQ4HpImuOO3G\/nlWPOKZnp+GtOPOz7MwrMRHrW7wg\/WaH9nZ+JU6mLU4y65usmNmxhnIf9o\/0qnXJ6jZvK\/d\/uERFA0hERAEREAWDdtKUFcHT00fo1UPWa6P1Wud1ZHxGCt5F1SazRCpThUVpK5haavMtbE+hrstr6baRrhgub2\/n4ou1TZ5najprtTSsjAYWTtP7Y6sdv9gi7K17ohRU1HDPhx5o10RFEuJnWUb4G0F1jBLqSccWOw7\/aMd6\/GjZGGrvEMLg6FlQHRlp2IJcMjuAVJU00VXTSU87eKORvC4ZxsvDZrFTWQTinc93TEZLjyAzgeZVuJYLGN0JfUKotOPS38GmiIqjYF5a+40tspjUVcojZyHa49gHWvBetSUlpBhaenq3DDIWb79Wez7V4KGwVd0qhcdQkPcB9FTD6rR7R8PFTUcry0M06zvgp5v4XuLHSTXi6vv8AXNcGg8NJGcbN3we7PjlVC+NaGtDWgAAYAHUvq5KV2WUqapxtx4hERRLQiIgOc0LKiCSCQZZI0tcO0EYKm9KSS2+urbFO7Jp3ccRJ5tP+4PeVUKcv1BV01zp73bYBLNH6s0fW5uPuyPBTg73iZq6acai4a+xzsH0mqr3KM4a8N3HXk\/cqdYGlbfVU0VXW1sfRz10vSFueQ3I927jst9J+Y7syapq\/G76sIiKBoCIiAIiIAiIgCIiAIiIAiLBuGmZLnXSTz3WpELscMLNg3zx5LqSerK5ylFeFXNGuu9vtzc1VXHGf3c5ce4brBkvV21A7oLLTPpqcn1quXbb2dndk+5aFFpGz0TxJ0Dp3jkZncWO7l5Laa0NaGtAAAwAOpTvGOmZTgrVPO8K9NepkWbTlJaB0pzPVOHrzP7fYOpbCIoNtu7L4QjBYYqyCIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "MARIA ARRIEGADA",
    "correoContacto": "maria.arriagada@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28618\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:54",
    "ubicacionGPS": "LatLng(lat: -24.9311702, lng: -69.6708397)",
    "horaLlegada": "07:21",
    "horaDespacho": "10:51",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 10:54:39
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-22ZdU+JO5r+d._r.2v5eeT6pXyLxB4gMzytLb1Pif92KHd6bEJQ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2330",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Envio insumos via camus",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12503",
    "observacion": "encomienda camus",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACNANgDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFAwQBAgf\/xABEEAABAwMCAgYFCAgEBwAAAAABAAIDBAURBiESMRNBUYGRoRQiYXHBFRYjMrHR0vAHM0JSVJKy4SRDwvEnNDVicnOi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgECAwYFAwMFAAAAAAAAAAECAxESITEEE0FRkcEiMmFxoRSB4VKx0SMzQnLx\/9oADAMBAAIRAxEAPwD+zIiIAiIgCIiAIiIAiIgCIiA5z9MIJDThhl4TwB\/1SerKy9OXl11pHsqMNrIHcMzMY9x\/PYthSd1a\/T2pY7vG0+iVf0dRgcievyB7ipxSd0Z60pU2p8OP8lYi\/D5Y44jK94axoyXE7AKXNzu2pJ3RWnNHRMdg1Th6zvZ\/YezcLkY3J1KqhZat8CrRTHzXuw3Gp6skcsh3419pLtcLTdI7Ze3skjmH0NS3rPt+z2e7ddwX0dyvftP+pFroUyIigaQiIgCIiAIiIAiIgMp14dHqZtqkjAZJDxxuB3J3znwPLP3aqmdX5o5rbdmZBpp+F2OsHfB8CO9UoIIyDkFTklZNFFOTxyi+H7M+qarb1XXG5SWuxGMOjH0lS7do935PkvXqa6ut9B0NOA+qqDwMZnkDzd8M9pXew2eKzW5sLRmV\/rSvI3Luz3BdVksTIVHKpPdxdktX2Mo2PUdPF0sF+Ms4H6uQHh7ic57wvfYL2+5NlpquLoa2nOJGHrHb+fitlS1\/HyXqS3XaMBrZndDOccxyye4+S6njyZGcNxacW7cVe\/3KlERVGwIiIAiIgCzr9Q\/KFlqacDLiziZvj1huPsWiuNVUMpKSapf9WJhee4ZXVk8iE0nFqWhD0dVU6mZbrOONtPAwelOb1gHbyA7z7FcUlJBQ0zKamjEcTBgAKL0NVmO5zwSt3q2dIx3DjJBOcefs2V0rauTtwMewpShvHm9OgWZfrQy8Wx9PsJW+tE49TvuPJaaKpOzujbOKnFxlozG0tcnXKyxulz00B6KTPMkcj4Eea2VMWf8AwOsbpQtGGTATj37Hu+sVTqU1nkVbPJunZ6rLoERFAvCIiAIiIAiIgMfVdL6Vp2qAGXRgSDblwnJ8srvYav02x0k5OXGMNcc9Y2P2L3yRtljdG8Za8FpHaCpLTtY632S70znEyUDpC0Z5bHl3g9XWrFnGxkm93XUno0\/jM6WOL5b1BV3iocXNpX9FTs5gc\/vz3qrWDoyn6DTkTsAGZ7nnxx8FvLlR+KxLZo2pJvV59QsDWsHTadkfjPQyNf54+K31n36ITWGuYRn6BzgMdYGR9i5B2kiyvHFSkvQ726c1Vtpqg85YmvPvIC9Kx9KSmbTVG4nJDXN59jiB5BbC5JWbR2lLFTjLmgiIuFgREQBYmr5HR6aqeH9otafdxBban9bSFmnnAOwXSsHnn4KcPMijaXajL2ZlXSBlspbBdYgQIGsZIRkkgji\/F4q0BBGQcgrEvlEanSL4uHL4oGvbk5ILQCfIEL06dqzW2CjmJy7o+B2\/W3b4Lss43KqKwVXHmk+z7GmiIqzYTFUTF+kOj4T+upTxY26n+P1QqdTEg6b9IkXX0FN78bHw+sqdTnw9jNs+s\/8AZ9giIoGkIiIAiIgCIiAKAvk3yZebzC7ZlZACwdriW7\/1K\/UN+kClDaukqx\/mMMZ7jkf1K2j5rGHb091iXD\/ncqbDEYbDRMJz9C08scxn4rQXOnAbTRNGwDAB4Loq27s2QWGKQXhvcogslbIeqB4HvIwF7HvZGwvkcGNaMlzjgBSerNQUNRbJKCjqRNNI5oPRjIxnPPl1DkpQi20VbRUjTptt8DV0lEYtN0nFzcHO8XHHlhbKkaK+3anoYIKfT1Q5kTGsBdkZwAM\/VXf54S0r2i6WeppGOOBJgkHuIHs5EqUoSbbKaW0UoQjFvRcmU6LjS1dPWwCemlbLGSQHNK7Ko2Jpq6CIiHQpvXX\/AEBv\/vb9hVIp\/WzOPTr3fuSMd54+KnT8yM+1f2Zextxta+laxwy1zACO0YU7o1xpX3G1POXU05LScbg7fAeKoKF\/S0FPJ+\/E13iAp2Um26\/Y\/IEdfDwn34x45aPFdjmmiFXKUKnrbqVKIvHdrgy12yasfgljfVaf2nHkPFQSvkapSUU2zEsZFXq68VgOejxDnvx\/oVOsDR9FJT2k1UwxLWO6Q7cx1E+\/OfcQt9Sn5ijZk1TTerz6hERQNAREQBERAEREAU5rmASWDpMbxStd47fFUaxtWsD9M1gPUGkdzgpw8yKNpV6Ml6M9torG19ppapuPXjGcdThsR4gr0yyshifLI4NYxpc5x6gOZUvoKs6W2z0hPrQycQHsd\/cHxWzqCCoqbHUw0nF0zwA3h5n1hnyyko2nYjSquVBVFm7GBBHV6xmknqZn01qidhkTdjJjtPLv8O1fNO2+jqtRT1tJC1tHRjggwc8TuXEd89p7x2L801Xcq61wWW2UUtOGMEdRUybcB24seft3VRarfHa7bDSR\/sD1j+848z4qyUsKaMtGmqklJ52zb5vkvRHsX4lijmjdHLG2RjhhzXDIPcv2ioPTJGeJ2kLyyohz8l1bgx7M7Ru\/O\/iFWtcHNDmkEEZBHWvFeaIV9pqKfgD3FhLARn1huPNeLSNca2wQhxy+AmJ3LkOXkR4Kx+KNzLTW6q7taPNd0baIirNQWNq2MyaZrABkgNd4OHwWys3UUfS6frW4z9ESNs8t1KPmRVWV6Ul6M6WR\/HY6F2\/\/AC7M5\/8AELG1m11O233Nn1qWoG3WQd\/9PmtLTLy\/TlET1R48CQvzqmDp9OVjetrQ8b9hB+CksplM1j2b7X7mq1zXsD2nLXDIPaFLajn+WLtS2CmdkcYkqHNOzQM5B9w37wvxHqaRtqoaG2wGpuEkDRjGzMDGT28vctbT9kNqilnqJOlrKk8Uz+w88DvJ966lgzZGU\/qEoR04vsa7WhrQ1oAAGAB1L6iKo2hERAEREAREQBERAFm6hYX6frgOqFx8N1pLhXQmooKiEc5InN5Z5ghdWTIVFeDRE6Pe6jvcUTtmVtNxNHtGfwuV6v5tRzOpKG13QbijqXQycO\/qk8Xxcv6QCCMg5BVtZZ3MWwPwOP36\/m59REVJ6AREQBTGmB6Je7xb+TWy9Ixp6hk\/AtVOpm3n\/iBc2txw+jgnGOeI\/wC6nHRozVsp05etuqZTIiKBpC5VUAqaSandylY5h7xhdVwq6ynoYOnqpRFHkDiPaV1HJWtnoYWh6hz7NJSv2fTTObw55A7\/AG5X3V95kt9I2jiiBdVtcwyP+q1vI9+642Y+gaxudEXDo6kdOz2nnt\/MfBUVTRUta0NqaeOYDkHtBVkmlO7MVOM57Pgi7NZdPwSOi6u00VJLJPUxQ1Uj+E9I4D1Ryxnlz8lXw1dNUY6CoilyMjgeDnwUhYrNbqu7XikqqQPbDN9HuRwty4Y27lqS6Is0meFk0Wf3JOXjldnhcs2Q2Z1o0kopNe9uxQopj5g2r+IrP52\/hT5g2r+IrP52\/hULQ5\/Bo3lf9C6\/gp0Ux8wbV\/EVn87fwp8wrWN21NYD1Hjbt\/8AKWhz+BvK\/wChdfwU6KY+ZUbdo7rWMHZxL8v05eqRnSUF+mkkByI5s8J8SR5LuGPMb2qtafyipRS\/zlulsJZebS\/hbgGeDdp+HL2j7ti3Xy3XUltJUtc8f5bvVd78HmouDWZKFenN4b2fJ5M0ERFEvCIiAgZ6bom6hthaCIyKmPqDcHP9JAVbYKj0qxUUuQSYg04GNxsfMLFuMLWa2Yx+OjuFI6J2Tz2I7uQXo0PKX2N0LvrQTObjwPxKvnnG55mz+Cs4+66O\/co0RFQemEREB8JAGScAKZ0iPTKu53UkO6ebhYRtgDfHgWr2apu7bbbXQx+vU1IMcbAdwCMcWPzuvVYbabVaIKV36wDik3z6x3P3KxZQ9zLJ466S\/wAc\/u9DRREVZqC5VFNBVxGGohZLGTnheMhdUQ40nkyX1EPQNSWq5j1Wud0MjicDH+zj4KoWDrKkNTYHyMBL6d7ZRjn2HyOe5alsqhW2ymqQ4HpImuOO3G\/nlWPOKZnp+GtOPOz7MwrMRHrW7wg\/WaH9nZ+JU6mLU4y65usmNmxhnIf9o\/0qnXJ6jZvK\/d\/uERFA0hERAEREAWDdtKUFcHT00fo1UPWa6P1Wud1ZHxGCt5F1SazRCpThUVpK5haavMtbE+hrstr6baRrhgub2\/n4ou1TZ5najprtTSsjAYWTtP7Y6sdv9gi7K17ohRU1HDPhx5o10RFEuJnWUb4G0F1jBLqSccWOw7\/aMd6\/GjZGGrvEMLg6FlQHRlp2IJcMjuAVJU00VXTSU87eKORvC4ZxsvDZrFTWQTinc93TEZLjyAzgeZVuJYLGN0JfUKotOPS38GmiIqjYF5a+40tspjUVcojZyHa49gHWvBetSUlpBhaenq3DDIWb79Wez7V4KGwVd0qhcdQkPcB9FTD6rR7R8PFTUcry0M06zvgp5v4XuLHSTXi6vv8AXNcGg8NJGcbN3we7PjlVC+NaGtDWgAAYAHUvq5KV2WUqapxtx4hERRLQiIgOc0LKiCSCQZZI0tcO0EYKm9KSS2+urbFO7Jp3ccRJ5tP+4PeVUKcv1BV01zp73bYBLNH6s0fW5uPuyPBTg73iZq6acai4a+xzsH0mqr3KM4a8N3HXk\/cqdYGlbfVU0VXW1sfRz10vSFueQ3I927jst9J+Y7syapq\/G76sIiKBoCIiAIiIAiIgCIiAIiIAiLBuGmZLnXSTz3WpELscMLNg3zx5LqSerK5ylFeFXNGuu9vtzc1VXHGf3c5ce4brBkvV21A7oLLTPpqcn1quXbb2dndk+5aFFpGz0TxJ0Dp3jkZncWO7l5Laa0NaGtAAAwAOpTvGOmZTgrVPO8K9NepkWbTlJaB0pzPVOHrzP7fYOpbCIoNtu7L4QjBYYqyCIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "MARIA ARRIEGADA",
    "correoContacto": "maria.arriagada@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28618\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:54",
    "ubicacionGPS": "LatLng(lat: -24.9311702, lng: -69.6708397)",
    "horaLlegada": "07:21",
    "horaDespacho": "10:51",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 10:54:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[08/05/2026 10:54: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('61980920', 'KY2330', 1, 19969062, 0, NOW(), 
				'10:51', '07:21', '10:54', 10, 'Envio insumos via camus', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778252079.png', 'encomienda camus', null, 'COMPLETADO','LatLng(lat: -24.9311702, lng: -69.6708397)' )
				
[08/05/2026 10:54:39] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200225
[08/05/2026 10:54:39] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200225', 'KYO-I647', 1)
				
[08/05/2026 10:54:39] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28618 and
				    IDproducto = 'KYO-I647'
				

08/05/2026 10:54:39 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
08/05/2026 10:54:39 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200225'                    
				WHERE idllamado = 12503			
				
08/05/2026 10:54:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            TO ENVIO: micorreo@miempresa.cl, maria.arriagada@eplicancabur.cl


08/05/2026 10:54:40 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12503			
				
08/05/2026 10:54:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 10:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10:54:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            [08/05/2026 10:54:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 10:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            [08/05/2026 10:54:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 10: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 = 12503
                
08/05/2026 10:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10: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 = 12503
                
08/05/2026 10:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10: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 = 12503
                
08/05/2026 10:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                
08/05/2026 10: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 = 12503
                [08/05/2026 10:54:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

08/05/2026 10: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 = 12503
                
08/05/2026 10:54:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            
08/05/2026 10:54:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12503
            GROUP BY l.idllamado;
            [08/05/2026 10:54:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

08/05/2026 11:04:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12175
            GROUP BY l.idllamado;
            [08/05/2026 11:04:23] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:05:13] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:05:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12175
            GROUP BY l.idllamado;
            
08/05/2026 11:05:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12175
            GROUP BY l.idllamado;
            
08/05/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 = 12175
                
08/05/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 = 12175
                
08/05/2026 11:05:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:05:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12175
            GROUP BY l.idllamado;
            
08/05/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 = 12175
                
08/05/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 = 12175
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12175
            GROUP BY l.idllamado;
            
08/05/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 = 12175
                
08/05/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 = 12175
                
08/05/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 = 12175
                
08/05/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 = 12175
                
08/05/2026 11:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12175
            GROUP BY l.idllamado;
            
08/05/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 = 12175
                
08/05/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 = 12175
                
08/05/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 = 12175
                
08/05/2026 11:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12175
            GROUP BY l.idllamado;
            
08/05/2026 11:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12175
            GROUP BY l.idllamado;
            
08/05/2026 11:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12175
            GROUP BY l.idllamado;
            
08/05/2026 11:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12175
            GROUP BY l.idllamado;
            
08/05/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 = 12175
                
08/05/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 = 12175
                
08/05/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 = 12175
                
08/05/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 = 12175
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12175
            GROUP BY l.idllamado;
            
08/05/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 = 12175
                
08/05/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 = 12175
                
08/05/2026 11:07:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:07:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12175
            GROUP BY l.idllamado;
            
08/05/2026 11:07:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:07:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:07:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:07:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12175
            GROUP BY l.idllamado;
            
08/05/2026 11:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:07:14 - logentry: =========================================
FECHA: 08/05/2026 11:07:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-7GdQxW_TjIEyF-d2LTpcckRWeHYzHmpUQHHKWEpOHFrAvI1og92
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "99595800",
    "serieinterna": "EP2809",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se cierra por duplicidad \nservidor con problemas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12175",
    "observacion": "se cierra por duplicidad y  no respuesta del cliente,\nservidor con problemas",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACEAOEDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xAA+EAABAwMBAwoEAwcDBQAAAAABAAIDBAURBhIhMRMiQVFhcYGRobEUFTLBUtHhIyQzQkNy8Ac0khYlgrLC\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgECAwUHBAMBAAAAAAAAAAECAxESITEEMkFRcRMiM2GRodEUgbHhNELBYv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBF45wa0ucQABkk9CyctfdNTVclPaZTS0Me59RwLj2Hj4DxUoxuVVaqp2Vrt6I0tRX0dJ\/uaqGLse8Aqufq2xMdsmvBPZG8+wUek0VaYBmdslVIRvdI4gZ68D9VZMsdpY3ZFtpSO2Fp9wpdxFd9ofBL1fwR49VWSR2y2uAOM86Nze3pCsoKqnqmbdPNHK3GcscCoklhtEgw620o\/tiDfZVlXo2l3yWyomoJs5BY8lvvn1XLQYvtEc2k+mX5NGiy0F6udjnZS6ga18L90dUzf544+QPetO1zXsD2ODmuGQQcghclFosp1Y1NMmuHE+kRFEtCIqy836kssTeVzJM\/6IWfU7t7AupNuyIznGCxSdkWEs0cETpZntjjYMuc44ACzlRqyaqkdBY7fJWOacGVzSGD\/O0hcYLPctRStq71K+ClzmOkYcZHRnq8d\/ctPTU0FHA2CnibFGwYDWjAU+7HXNme9Wrp3V7v4M6KHV1XzprlBSg\/yMaCR5D7rSxtcyNrXO23AAF3WetfSKLlctp0lDi31YREUS0IiIAiIgCIo9bW09vpX1NTIGRsG89fYO1DjaSuzs97I2F8jgxrRkuccALP1OsKcymC10k9wlB4saQ3z48ezHaoUVNcdXSGeqc+ktYPMiHGQdf6+S09HQ0tvgEFJC2KMdDenvPEqy0Y65syqdStnDKPPi+hEs1TdqoSvudHHSt3cmGnJPXnecfqrNEUG7s0wjhVm7hERcJFNqysdR6eqHMOHy4jae87\/TKkWGibQWSlgGM7Ac4jpJ3n3UPWNM6p07MW8YXNkxjOQNx9CrK11Ta22U9Qzg9gyOojcfUKz+hmX8h35ZeuZLREVZpCIiA4VlHBX0slNUMD45Bgj7jtWf01PLbLlU6fqpC7kjt07j\/M3j+vmtOstq2MUNbbr0xvOhlDJCOkcR\/wDXmrIZ90y7QsFqq4a9DUovAQRkHIK8eXCNxYAXYOyD0lVmopr\/AH8W0NpKRvLV826OMDOznpP5LnY9OfCS\/Mbk\/wCIr5N5Lt4jPZ29vkqW0V1DZrjVS3pswuLpDiV7dobPZjpyCPTrWiZqmySfTcGD+5rm+4VzTirRR59OdOpLHUkrrRcv2W6KuZf7RJjFyphn8UgHupMdwopf4dZA\/P4ZWn7qqzNqqQejJCLxrg4ZaQR1herhMIiIAiIgCIviaWOCF80rwyNgLnOPABBoeVFRFSwPnnkEcbBlzncAslBFUawuYqqhpZaqd5EcZ3GT\/Onq4DpX1io1lX5y+G0U7uHAyu\/zyWrhhip4WQwsDI2DDWtG4BW7nUx57Q\/+F7\/o+mtaxgYxoa1owABgAL6RFUbAiIgCIiA5zQsqIJIJBlkjS1w6wRgrOaOkkpfjbPUbpaSTI38Qers3Z\/8AJadZa8E2jVtFcgGiGqAhmJ6+GT4bPkrIZpxMtfuSjV5ZPozUoiKs1BERAFQ6ziEmm53H+m9jh\/yA+6up54aaIyzysijbxc84AWO1JqenuNvnoKCGSZhwZJsENaA4H7dOFZTTck0ZdqqQjSkpPNpmmpa6GCxU1ZVTCOMwMc57+1oVHNqC53qZ1Np+nxE3c6pkGMefD1PYuVl00+40tLV3arfUQiNvIU7XENa3G7Ph1ea1kEENNEIoImRRt4NYMALrwxfNkIKrVir91e7+Cht2koIpvi7pMa+qJzl5JaD48fHyVjJYLRKSX26nyTk4YB7KxRQc5PO5fGhTirKJUP0rZJM7VA3f1PcPuo8mirK\/6YZI\/wC2U\/fKv0THLmHs9F6xXoZl2hqFh2qasq4XdjgfsF8nT1+pxik1DI8cQJgfAcStQi72kiH0tLgrdG0Zf4vVltc01NLDcIgecYRzsdmMe3QrW0X2lvDXNizHPH9cL\/qarNZXUcEduvVtudOOSlkm2Jdndtjt794UlaeVsyE1OgsSldcb\/JqkRFUbAstfamW9XWOwUb3CNp2qtzehu4+mfNXV7uHyy0z1Lf4gaRHuzzjwUHSlrNFbBUztHxVWeUe4jeAeA+\/eVZHJYjLWvUkqS6vpy+5b0lJDQ0kdLTs2IoxhoXZEVZpSSVkEREOhERAEUSvudHbYuUq6hkQ6ATvd3DiVQPvt4vTjHY6IxwA4NTNuB7s7vcqSg2U1K8IO2r5LU0000VPGZJ5WRMHFz3AAeJWU1XebPX2p9LFVNlna4Oj2WkjOevhwypMGjY5nNmu9dPWzY3gvIaPHj7K3gslspozHDQwsBBG1sAu39p39KmsMXfUpmq1WLjZJPnmz4sFyF1s8NRtZkA2Jf7xx8+PirJZXRB5FtwoS7LoJ\/TePsumrY77IY\/lnK\/DBn7QQOw\/a8N5GOpccFjsIV2tnVRq78i3r71bbaP3qrYx34BzneQ3qldqS53XbjsVtcWjd8RKQAPA7s+J7lXWd2mKeQCtgniqmnJ+NBIz4bvMLbQzQzRh8EjJGdBY4Eei60ocCMJTr\/wBklyWv69DOU2kpKt4nvtdLVyceTa8hjezP5YXXUtPTW3SdTDSwsha4saA0cecOPXuytEs5rp+xYA38c7R6E\/ZIycpK52rShSoycVnZ58S2s8fI2aijIwWwMB79kZU1c6dnJ00TN\/NYBv7l0Vb1NcVaKQREXCQREQBEUS4XSjtcPK1c7Yx0N4ud3DpXUr6HJSUVdktZSqlZqPVFPTU7hJS288pI4Hmudkbu3hjzXw+ru+rAYaOI0FvJ58z\/AKnjs6+4eJWitlsprTRimpm7uLnHi49ZVlsGupkbe0NJLu8+fQmIiKo2GV1FtXPUdts4d+yB5aUAZ6+PgD\/yWqWXt+anXtwmP0wQhg7+aPzWoVk8rIy7Pm5z5v8AGQRF4SAMk4AVZqPUVDcNXW+kk5CmD62oO4Mh3jPVn8sqJyOqL04iWRtqpXD6W4L8e\/qFNQeryM8tojfDDvPy+dC6uF7t1sbmqqWB34G85x8AqSS+3m8kx2OhdDCTj4mYY8uj3U636RtVFh74jVSg525t+\/u4K7AAGAMALt4x0zI4K1TeeFeWvqZyg0fA2X4q6zvr6g7ztk7P5nx8lomtaxgYxoa1owABgAL6RRcnLUup0oU1aKCIiiWGL0\/L8Pre5U+cNldJgcN4dkemVtFhICYv9SXdsruB62FbtW1dU\/IxbG+7JcmyNWW6ir27NXTRzbsAubvHceIVDLpKWjqTU2KvfRvPGN5JaeoZ6uwgrTooKTWhfOhTnm1nz4mVGpLtactvdtcWZwJ4MY\/Lp6woeqr5brvZ4YqOfakFQ0lhaQQNlw6u0cFtXNDmlrgCCMEHpURlpt0dT8SyigbLgjaDBuzxU1OKd7FE6FVxcFK6fPUmIiKo2hF4SAMk4AVTX6otNvJa+p5WQfyQjaPnw9V1JvQhOcYK8nYt1Er7nR22LlKuoZEOgE73dw4lZ91w1HfQG2+k+X0zv60h5xHWP0HiplBpChgfy9c59fUk5c+Ykgnu6fHKnhS3mUdtOfhR+7yXyyE7UN3vUhisVGY4gcGpmA3ee4eqlW7SMMU4rLnO6uqc5O3vaD48fHyWgYxkbAyNoY1owGtGAF9I58I5HY7Om8VR4n7eh4AAMAYAXqIqzSEREBmLWWwa4ucJyDJGH7+ngd3mtOsrqXbtV7oL41pdG08lKB1b\/sT5LtcJr7dq2WhoGspaMYzV5zttIB5p7j0eatccVmYYVOyxQtd3y++ZLu+pqG1kwtPxNVwEMZ356iej37FV\/Kr7qF23dKg0VITkU7OJHaPz8lb2jTtDaWhzGctUcTPIMu8OpWy5iUd0n2U6udV5cl\/r4kC22WgtTMUkAa7GDI7e4+Knoig23qaYxjFWirIIiLhIKFFdaaa7zWtu3y8LA92RzcHHA+I81EvWo6S0t5Jp5erduZCw5Oe3qXPTtsq4XT3K5HNbV4y3H8NvV6DyCmo5XZndW9RQh9\/L9l4iIoGgxFzi+H\/1CpZAN0z4zu68bP2W3VLcLFJW6go7m2ZrG04Ac3fl2CT91dKybTSM1Cm4Snfi7hFzmnhp2F88rImDi57g0eqpqvWNnpiWxyvqX5wGwtz6nAUFFvQtnVhDedi9RZf5\/frhj5ZZTGw8JJzuI6xnA9147Td4uY\/7teTsHjDAObj0HoVPBbVlX1GLw4t+y9y2rtRWq3giarY54H0R853du4eKqDqm43FxZZbTJI3JHKy\/T+Q8SrKi0rZ6E7TaQTP\/ABTc\/wBDu9FbgADAGAEvBaK5zBXnvSwry+X8GXbp28XTDr1dXiNw3wQHA8ej0KtqDT1rtuDBStL8fxJOc714eCs0XHNsnDZ6cXe13zebCIigXhERAEREAREQEetooLhSSUtQ3ajkGD1jtHas5Za+Ww1psV1fhmc0054EHo7vbgtWoV0tNJd6bkapmcHLHjcWnsU4yWj0KKtNtqcN5e\/kTUWVZ\/1TZmMibHHcoGjAP8w6unPnn2X2NTXj6Dpmp2+vLsf+v3XezfAj9TFbyafR\/wCGnRZf5pquqb+72eKAHPOldvHgSPZBYb\/cN10vPJxE746fdkdW4Ae6YLasfUN7kW\/b8lvcL7bbY13xNUzbb\/SYdp\/l0eKozdb9qE7Fqp\/gqU7viJOJHYfy81MisunLGwOqTAX4+qpcHEnsB7+gLyfWtohIZAJqk8AIo8D1wpJL+quUzk34s1Fclr6\/BKs+m6O0nld9RVH6ppBvz2DoVwst891HX\/7Cyci3P1Tk\/fZ+69+U6prMfF3llO08RCN48gPdccW3eTJwqwisNKDa6W\/JpJZooG7c0rI29b3AD1VXVarstLkGsbK4dEQL8+I3eqhRaIoi8Praupqn9O07AP39Va0thtVEQYKGJpHBzhtEeJz1LloLzJ32iWiS9ynOr6msGLVZqifO4PeNwPbjPZ0pyOr7if2k0FujPENwXY8M+4WnAAGAMAL1MaWiHYSlvzb6ZGZg0VTPfytyrKitkPHadgcPE+quqO02+gH7rRxRH8Qbl3md6mIoucnqycKFOGcUERFEuCIiAIiIAiIgCIiAIiIAiIgCIuNXVwUNM+pqZBHEwZJKHG0ldnZc5poqeMyTysiYOLnuAA8Ssz84vt7ke200raamxgVE3uP0BXRmkDVPEt4uU9W\/OSxpw0Hp8O7CswJbzM3byn4cb+eiOtXrCjZKae3wy18\/8oibzSe\/ifAKK2i1ReQH1VYLdA455KPc7Hhv8ytHSW+joGbFJTRwjGDsNwT3niVITEluodjOfiS+yyXyZ6k0VaoedUcrVydJkdgeQ\/VXVPQ0lIMU1NDD\/YwD2XdFFyb1ZbCjThuqwREUS0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAodytlNdqdtPVBxja8Pw12MkZ\/NEXVqQmk4tMkxRRwxNiiYGMYMNa0YAC+0RcJhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/\/Z",
    "razonSocial": "TECNOLOGIA Y SERVICIOS PARA LA INDUSTRIA DEL TRANSPORTE Y LA MINERIA S.A.",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "PEDRO NAVARRETE",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIG. 01 PC NUEVO",
    "codError": "Sin coderror",
    "prioridad": "2",
    "telefonocontacto": "994459815",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:07",
    "ubicacionGPS": "LatLng(lat: -23.6618348, lng: -70.399961)",
    "horaLlegada": "07:40",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 11:07:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-7GdQxW_TjIEyF-d2LTpcckRWeHYzHmpUQHHKWEpOHFrAvI1og92
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "99595800",
    "serieinterna": "EP2809",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se cierra por duplicidad \nservidor con problemas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12175",
    "observacion": "se cierra por duplicidad y  no respuesta del cliente,\nservidor con problemas",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACEAOEDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xAA+EAABAwMBAwoEAwcDBQAAAAABAAIDBAURBhIhMRMiQVFhcYGRobEUFTLBUtHhIyQzQkNy8Ac0khYlgrLC\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgECAwUHBAMBAAAAAAAAAAECAxESITEEMkFRcRMiM2GRodEUgbHhNELBYv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBF45wa0ucQABkk9CyctfdNTVclPaZTS0Me59RwLj2Hj4DxUoxuVVaqp2Vrt6I0tRX0dJ\/uaqGLse8Aqufq2xMdsmvBPZG8+wUek0VaYBmdslVIRvdI4gZ68D9VZMsdpY3ZFtpSO2Fp9wpdxFd9ofBL1fwR49VWSR2y2uAOM86Nze3pCsoKqnqmbdPNHK3GcscCoklhtEgw620o\/tiDfZVlXo2l3yWyomoJs5BY8lvvn1XLQYvtEc2k+mX5NGiy0F6udjnZS6ga18L90dUzf544+QPetO1zXsD2ODmuGQQcghclFosp1Y1NMmuHE+kRFEtCIqy836kssTeVzJM\/6IWfU7t7AupNuyIznGCxSdkWEs0cETpZntjjYMuc44ACzlRqyaqkdBY7fJWOacGVzSGD\/O0hcYLPctRStq71K+ClzmOkYcZHRnq8d\/ctPTU0FHA2CnibFGwYDWjAU+7HXNme9Wrp3V7v4M6KHV1XzprlBSg\/yMaCR5D7rSxtcyNrXO23AAF3WetfSKLlctp0lDi31YREUS0IiIAiIgCIo9bW09vpX1NTIGRsG89fYO1DjaSuzs97I2F8jgxrRkuccALP1OsKcymC10k9wlB4saQ3z48ezHaoUVNcdXSGeqc+ktYPMiHGQdf6+S09HQ0tvgEFJC2KMdDenvPEqy0Y65syqdStnDKPPi+hEs1TdqoSvudHHSt3cmGnJPXnecfqrNEUG7s0wjhVm7hERcJFNqysdR6eqHMOHy4jae87\/TKkWGibQWSlgGM7Ac4jpJ3n3UPWNM6p07MW8YXNkxjOQNx9CrK11Ta22U9Qzg9gyOojcfUKz+hmX8h35ZeuZLREVZpCIiA4VlHBX0slNUMD45Bgj7jtWf01PLbLlU6fqpC7kjt07j\/M3j+vmtOstq2MUNbbr0xvOhlDJCOkcR\/wDXmrIZ90y7QsFqq4a9DUovAQRkHIK8eXCNxYAXYOyD0lVmopr\/AH8W0NpKRvLV826OMDOznpP5LnY9OfCS\/Mbk\/wCIr5N5Lt4jPZ29vkqW0V1DZrjVS3pswuLpDiV7dobPZjpyCPTrWiZqmySfTcGD+5rm+4VzTirRR59OdOpLHUkrrRcv2W6KuZf7RJjFyphn8UgHupMdwopf4dZA\/P4ZWn7qqzNqqQejJCLxrg4ZaQR1herhMIiIAiIgCIviaWOCF80rwyNgLnOPABBoeVFRFSwPnnkEcbBlzncAslBFUawuYqqhpZaqd5EcZ3GT\/Onq4DpX1io1lX5y+G0U7uHAyu\/zyWrhhip4WQwsDI2DDWtG4BW7nUx57Q\/+F7\/o+mtaxgYxoa1owABgAL6RFUbAiIgCIiA5zQsqIJIJBlkjS1w6wRgrOaOkkpfjbPUbpaSTI38Qers3Z\/8AJadZa8E2jVtFcgGiGqAhmJ6+GT4bPkrIZpxMtfuSjV5ZPozUoiKs1BERAFQ6ziEmm53H+m9jh\/yA+6up54aaIyzysijbxc84AWO1JqenuNvnoKCGSZhwZJsENaA4H7dOFZTTck0ZdqqQjSkpPNpmmpa6GCxU1ZVTCOMwMc57+1oVHNqC53qZ1Np+nxE3c6pkGMefD1PYuVl00+40tLV3arfUQiNvIU7XENa3G7Ph1ea1kEENNEIoImRRt4NYMALrwxfNkIKrVir91e7+Cht2koIpvi7pMa+qJzl5JaD48fHyVjJYLRKSX26nyTk4YB7KxRQc5PO5fGhTirKJUP0rZJM7VA3f1PcPuo8mirK\/6YZI\/wC2U\/fKv0THLmHs9F6xXoZl2hqFh2qasq4XdjgfsF8nT1+pxik1DI8cQJgfAcStQi72kiH0tLgrdG0Zf4vVltc01NLDcIgecYRzsdmMe3QrW0X2lvDXNizHPH9cL\/qarNZXUcEduvVtudOOSlkm2Jdndtjt794UlaeVsyE1OgsSldcb\/JqkRFUbAstfamW9XWOwUb3CNp2qtzehu4+mfNXV7uHyy0z1Lf4gaRHuzzjwUHSlrNFbBUztHxVWeUe4jeAeA+\/eVZHJYjLWvUkqS6vpy+5b0lJDQ0kdLTs2IoxhoXZEVZpSSVkEREOhERAEUSvudHbYuUq6hkQ6ATvd3DiVQPvt4vTjHY6IxwA4NTNuB7s7vcqSg2U1K8IO2r5LU0000VPGZJ5WRMHFz3AAeJWU1XebPX2p9LFVNlna4Oj2WkjOevhwypMGjY5nNmu9dPWzY3gvIaPHj7K3gslspozHDQwsBBG1sAu39p39KmsMXfUpmq1WLjZJPnmz4sFyF1s8NRtZkA2Jf7xx8+PirJZXRB5FtwoS7LoJ\/TePsumrY77IY\/lnK\/DBn7QQOw\/a8N5GOpccFjsIV2tnVRq78i3r71bbaP3qrYx34BzneQ3qldqS53XbjsVtcWjd8RKQAPA7s+J7lXWd2mKeQCtgniqmnJ+NBIz4bvMLbQzQzRh8EjJGdBY4Eei60ocCMJTr\/wBklyWv69DOU2kpKt4nvtdLVyceTa8hjezP5YXXUtPTW3SdTDSwsha4saA0cecOPXuytEs5rp+xYA38c7R6E\/ZIycpK52rShSoycVnZ58S2s8fI2aijIwWwMB79kZU1c6dnJ00TN\/NYBv7l0Vb1NcVaKQREXCQREQBEUS4XSjtcPK1c7Yx0N4ud3DpXUr6HJSUVdktZSqlZqPVFPTU7hJS288pI4Hmudkbu3hjzXw+ru+rAYaOI0FvJ58z\/AKnjs6+4eJWitlsprTRimpm7uLnHi49ZVlsGupkbe0NJLu8+fQmIiKo2GV1FtXPUdts4d+yB5aUAZ6+PgD\/yWqWXt+anXtwmP0wQhg7+aPzWoVk8rIy7Pm5z5v8AGQRF4SAMk4AVZqPUVDcNXW+kk5CmD62oO4Mh3jPVn8sqJyOqL04iWRtqpXD6W4L8e\/qFNQeryM8tojfDDvPy+dC6uF7t1sbmqqWB34G85x8AqSS+3m8kx2OhdDCTj4mYY8uj3U636RtVFh74jVSg525t+\/u4K7AAGAMALt4x0zI4K1TeeFeWvqZyg0fA2X4q6zvr6g7ztk7P5nx8lomtaxgYxoa1owABgAL6RRcnLUup0oU1aKCIiiWGL0\/L8Pre5U+cNldJgcN4dkemVtFhICYv9SXdsruB62FbtW1dU\/IxbG+7JcmyNWW6ir27NXTRzbsAubvHceIVDLpKWjqTU2KvfRvPGN5JaeoZ6uwgrTooKTWhfOhTnm1nz4mVGpLtactvdtcWZwJ4MY\/Lp6woeqr5brvZ4YqOfakFQ0lhaQQNlw6u0cFtXNDmlrgCCMEHpURlpt0dT8SyigbLgjaDBuzxU1OKd7FE6FVxcFK6fPUmIiKo2hF4SAMk4AVTX6otNvJa+p5WQfyQjaPnw9V1JvQhOcYK8nYt1Er7nR22LlKuoZEOgE73dw4lZ91w1HfQG2+k+X0zv60h5xHWP0HiplBpChgfy9c59fUk5c+Ykgnu6fHKnhS3mUdtOfhR+7yXyyE7UN3vUhisVGY4gcGpmA3ee4eqlW7SMMU4rLnO6uqc5O3vaD48fHyWgYxkbAyNoY1owGtGAF9I58I5HY7Om8VR4n7eh4AAMAYAXqIqzSEREBmLWWwa4ucJyDJGH7+ngd3mtOsrqXbtV7oL41pdG08lKB1b\/sT5LtcJr7dq2WhoGspaMYzV5zttIB5p7j0eatccVmYYVOyxQtd3y++ZLu+pqG1kwtPxNVwEMZ356iej37FV\/Kr7qF23dKg0VITkU7OJHaPz8lb2jTtDaWhzGctUcTPIMu8OpWy5iUd0n2U6udV5cl\/r4kC22WgtTMUkAa7GDI7e4+Knoig23qaYxjFWirIIiLhIKFFdaaa7zWtu3y8LA92RzcHHA+I81EvWo6S0t5Jp5erduZCw5Oe3qXPTtsq4XT3K5HNbV4y3H8NvV6DyCmo5XZndW9RQh9\/L9l4iIoGgxFzi+H\/1CpZAN0z4zu68bP2W3VLcLFJW6go7m2ZrG04Ac3fl2CT91dKybTSM1Cm4Snfi7hFzmnhp2F88rImDi57g0eqpqvWNnpiWxyvqX5wGwtz6nAUFFvQtnVhDedi9RZf5\/frhj5ZZTGw8JJzuI6xnA9147Td4uY\/7teTsHjDAObj0HoVPBbVlX1GLw4t+y9y2rtRWq3giarY54H0R853du4eKqDqm43FxZZbTJI3JHKy\/T+Q8SrKi0rZ6E7TaQTP\/ABTc\/wBDu9FbgADAGAEvBaK5zBXnvSwry+X8GXbp28XTDr1dXiNw3wQHA8ej0KtqDT1rtuDBStL8fxJOc714eCs0XHNsnDZ6cXe13zebCIigXhERAEREAREQEetooLhSSUtQ3ajkGD1jtHas5Za+Ww1psV1fhmc0054EHo7vbgtWoV0tNJd6bkapmcHLHjcWnsU4yWj0KKtNtqcN5e\/kTUWVZ\/1TZmMibHHcoGjAP8w6unPnn2X2NTXj6Dpmp2+vLsf+v3XezfAj9TFbyafR\/wCGnRZf5pquqb+72eKAHPOldvHgSPZBYb\/cN10vPJxE746fdkdW4Ae6YLasfUN7kW\/b8lvcL7bbY13xNUzbb\/SYdp\/l0eKozdb9qE7Fqp\/gqU7viJOJHYfy81MisunLGwOqTAX4+qpcHEnsB7+gLyfWtohIZAJqk8AIo8D1wpJL+quUzk34s1Fclr6\/BKs+m6O0nld9RVH6ppBvz2DoVwst891HX\/7Cyci3P1Tk\/fZ+69+U6prMfF3llO08RCN48gPdccW3eTJwqwisNKDa6W\/JpJZooG7c0rI29b3AD1VXVarstLkGsbK4dEQL8+I3eqhRaIoi8Praupqn9O07AP39Va0thtVEQYKGJpHBzhtEeJz1LloLzJ32iWiS9ynOr6msGLVZqifO4PeNwPbjPZ0pyOr7if2k0FujPENwXY8M+4WnAAGAMAL1MaWiHYSlvzb6ZGZg0VTPfytyrKitkPHadgcPE+quqO02+gH7rRxRH8Qbl3md6mIoucnqycKFOGcUERFEuCIiAIiIAiIgCIiAIiIAiIgCIuNXVwUNM+pqZBHEwZJKHG0ldnZc5poqeMyTysiYOLnuAA8Ssz84vt7ke200raamxgVE3uP0BXRmkDVPEt4uU9W\/OSxpw0Hp8O7CswJbzM3byn4cb+eiOtXrCjZKae3wy18\/8oibzSe\/ifAKK2i1ReQH1VYLdA455KPc7Hhv8ytHSW+joGbFJTRwjGDsNwT3niVITEluodjOfiS+yyXyZ6k0VaoedUcrVydJkdgeQ\/VXVPQ0lIMU1NDD\/YwD2XdFFyb1ZbCjThuqwREUS0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAodytlNdqdtPVBxja8Pw12MkZ\/NEXVqQmk4tMkxRRwxNiiYGMYMNa0YAC+0RcJhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/\/Z",
    "razonSocial": "TECNOLOGIA Y SERVICIOS PARA LA INDUSTRIA DEL TRANSPORTE Y LA MINERIA S.A.",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "PEDRO NAVARRETE",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIG. 01 PC NUEVO",
    "codError": "Sin coderror",
    "prioridad": "2",
    "telefonocontacto": "994459815",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:07",
    "ubicacionGPS": "LatLng(lat: -23.6618348, lng: -70.399961)",
    "horaLlegada": "07:40",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 11:07:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:99595800

[08/05/2026 11:07:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('99595800', 'EP2809', 1, 95585912, 0, NOW(), 
				'08:00', '07:40', '11:07', 15, 'se cierra por duplicidad 
servidor con problemas', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778252834.png', 'se cierra por duplicidad y  no respuesta del cliente,
servidor con problemas', null, 'COMPLETADO','LatLng(lat: -23.6618348, lng: -70.399961)' )
				
[08/05/2026 11:07:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200226

08/05/2026 11:07:14 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200226'                    
				WHERE idllamado = 12175			
				TO ENVIO: micorreo@miempresa.cl, null


08/05/2026 11:07:14 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12175			
				
08/05/2026 11:07:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 11:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12175
            GROUP BY l.idllamado;
            
08/05/2026 11:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                [08/05/2026 11:07:16] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:07:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12175
            GROUP BY l.idllamado;
            
08/05/2026 11:07:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12175
            GROUP BY l.idllamado;
            
08/05/2026 11:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                [08/05/2026 11:07:16] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                
08/05/2026 11:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12175
                [08/05/2026 11:07:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12419
                [08/05/2026 11:07:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12419
                
08/05/2026 11: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 = 12419
                
08/05/2026 11: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 = 12419
                
08/05/2026 11:07:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11:07:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            [08/05/2026 11:07:34] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:07:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11:07:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11:07:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                [08/05/2026 11:07:34] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:07:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:07:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:07:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:07:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:07:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12419
                
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            [08/05/2026 11:07:44] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:07:44] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11: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 = 12419
                
08/05/2026 11:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:08:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11:08:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            [08/05/2026 11:08:29] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:08:29] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:08:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11:08:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:08:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11:08:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:08:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:08:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:08:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:08:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12419
                
08/05/2026 11: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 = 12419
                
08/05/2026 11:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:08:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:08:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:08:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11:08:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:08:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:08:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:08:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11:08:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:08:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:08:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11:08:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:08:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:08:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:08:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11:08:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:08:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:08:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11:09:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11:09:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11:09:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:19 - logentry: =========================================
FECHA: 08/05/2026 11:09:19
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-jQCHeT7tFLOEcVQt6zf9n1tyRSTjcBs7rHY5VUmqzR5clZ1Fk.+
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76804856",
    "serieinterna": "EXKY1839",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se entrega insumos ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12419",
    "observacion": "se entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAN4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABGEAABAwMBAwgHBAQPAQEAAAABAAIDBAURBhIhMRNBUWFxgZGhFBUiMrHB0RYjM0IlNENTByRSVGJyc5KTorLC4fDxY9L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAyEQACAQIDBQYGAgMBAAAAAAAAAQIDERIhMQQTMkFRFGFxgZHRIjOhscHhUvAjQmKC\/9oADAMBAAIRAxEAPwD9mREQBERAFEr7nR22LlKuoZEOYE73dg4lUtx1NNPVG3WKH0mozh02MsZ0\/wDvDtX3QaSiE\/pl2mNdVOOXB3uA9nP8OpaYUs5HK6zm8NJX7+X7OTtVVtcS2y2qScZI5WQENyPLzXpptX1eXOrKakGchrQCR5H4rSMYyNgZG0Ma0YDWjAC+kxpaIncSlxzflkZj1NqiP2o76xzuh7d3wK+4p9W0lSyOempqyNzgC9jtnHXnm8FpEUY+qHZ0uGTXn7hERUOkIuNXUso6SWok92NpcevqWdbf9QVbBNRWRpheMtc93EeIVlFsyqVowdnr3K5qEWX9e6jhwZtPl4HHkyd\/ZjK+odbUoeI66iqKR5OPaGQPgfJTu5cjPtVLRu3imjTIo1HcaO4RiSkqY5QRnDTvHaOI71JVLWOhNNXQREQkIiIAiIgCKtuN\/ttry2pqRyn7tg2ndm7h3qpGq6+vcRabNLK3mkl3Dvxu81dQk8zCe0U4OzefRZmoRZhrNZVLtp0tJSAn3cA48nfFadQ425lqdTHfJrxCIiqahZG43Oq1JXG02d5bTNP39SOBHV1fHsXe83Oputc6w2k4ccipn5mDnHyPgrq1WuntFE2mpxu4uceLz0laL4Fd6nHNuvLBHhWr69y\/ItdrpbTSCnpWYHFzjxeekqaiKjd82dcYqKstAiIoJCIiAIiICBfWbdirhnA5B5PcMqPpR\/Kaao3dDXDwcR8lY1cXL0c8O\/7yNzd3WMKj0PLymngz91M5vwPzWi4Gczy2hd6f3RolzlhiqIzHNEyVh4te0EeBXRFmdOpna7R1HI9tRbZH0FSze1zCS3PZzdy52+\/1VBVR22\/sEMhaBHUflfvxvPDo3+K0yhXW1U13o3U9Q3rY8cWHpC0U75SOWVDC8VLJ9OTJqLOaauFRHPNZLi4+k034bnfnZ\/3HcepaNVkrOxtSqKpHEgi4VdZTUMJmqp2QsHO44z2dKzsuobheZHU2n6U7A3PqpRgN7OjzPUii2VqVoQyevTmXlyutHaYOVq5Q3PutG9zuwKgbU37Uv6sPVtA79qffcOrp7sdql23ScMM3pdzlNfVHfmTJaD2Hj3+C0AAAwBgBWvGOmZlgqVeP4V0Wvm\/Yp7dpa124h\/JekTc8k3tb+ocArgAAYAwAvVna+rqTra3UcUz2xckXyMa8hrve4juCjObzNHgoRSitWl6miREVDcKm1PeDardswgmpqSY4gOI3b3d2R3kK5WUpGev9Xy1jvapbdhkfQX83nk9wV4JXu+Rz7RKSioR1eXuy10\/ZmWihG2Nqql9qd+cknoz1K2RFVtt3ZrCChFRjogiIoLhERAEREARF8veyNhfI4Ma0ZLnHACA+lmNF4jFypv3NTjPVwH+ldK3V8AlNNaoH19QeGw0lo+Z\/7vVRpK4VEGoqmhnYA+oe8yYHuvbknu4rZQeF3OCpXputCzvqvU3SIixO8Ii8JAGScAIDMatifQ1lDfIY8mnfsy45283zHeFcXWorGWh9Ra2tml2Q5gxtbTeoc5wq3Ud6tElqqqN9ZHJK+P2Gsy7LuLd43cQFW2jV0sdsgpI7dUVk8Tdklh3EDhwB6gtlGTinbQ86VWnCrKOLiXLk9Crpqi3SVIk1GbhLUDfsvGGYzwxx49y2FHqOwujbFT1kMLG7gwtMYb4gBVz7zqCrbiPToDOOzPv+OFXT2a81+S+wW6DJ4tOye3c5XaUuLLzMYSnS+Wr\/APl\/c2kNXTVGOQqIpcjI2Hg58F6+pgjlZE+eNsjzhrHPALj1DnWIptA1kj81VVDC3ojBefPCmP0LJFMyopLmRKwgtMkeSCOfOfks3GH8jpVfaGr7v6mwWXaRL\/CI\/BzyVNvzzbh\/+kdHrKjPsS0tc3O4EBpx1+78VT0V7qaXUtbcay3yOldFycscQ\/D93Gf7oUxg87FK1dNxUk1nzR+gIqm3amtVycGRVHJyHhHKNkn5HxVssmmtTuhOM1eLuQrzVmgs9VUj3mRnZ48TuHDrKgaQoRR2CF5biSo+9cccc8PLC81nJsaanbv9tzG\/5gfkrO2s5K10kf8AIgYPBoV9IGPFtHgvu\/0SkRFmdIREQBEVbX3+125rjPVsLx+zYdpx7gpSb0KynGKvJ2LJeEgDJOAFl\/tRcbk4sstqe9udkTTe738w8Ubpq53bZkvtyeWjf6PCAAO\/h5HtV8FuJ2OftGL5cW\/ovUm3DVtso8sikNXNnZEcO\/J7eHhlV\/qq9aikbJd5PQ6MHIpo\/ePb\/wA+CvqCzW62D+KUrI3fyz7TvE71OTEo8I3M6nzXl0Wnn1IlBbKO2xcnSU7IhzkDe7tPErHW2It\/hGkwMYmlcefi131W8WRssTJtc3OcOyItoDHSSB8ipg8pN9DPaILFTS6muUGvvNutg\/jdUyN38ge07wG9dLlSS11BJTQ1L6Z78YlZnLd+\/nHNu71VUWjLVS4dMx9VJzmU7s9OB88qkVHmdFSVW9qaXiyouGvnu2mW+lDRndLKcn+6Pqvigo26ikHrDUZmc7f6PHlvNvwCAPALXx2ygiZsR0NO1uMYETd\/kq+4aUtNew4pxTyHeJIfZ8uBWqnBaZHJLZ68nebUu7Nf3zOtHpq0UTMR0THuIwXy+2T48O7CrtDOLLbVUzvehqSPIfQrjR3O4adrY7feniWlkAbDUjg3tPxzw7F00cQKq7tafYFTu8XKGnhdxCUHVgoqzzTXkahERYnohERAFmNMfe3++zHeRPstPVtO+gWnWY0b7Ut1kPF1Tv8AP6q8eFnNV+bTXj9izuOnbbcmP26dkcrhuljGy4Hp3ce9QdNVdTFVVdmrJTNLSHLHneS3m3+G7\/o0LnBrS5xAAGSTzLMaYc6vvV0urWuEMrgyMn8w\/wDAOzKlNuLuVqRjGrBx1evgWOqoXT6bq2MBJAa7A6nA\/JdrBUCpsNFKDn7oNJ6xuPwU6WNs0T4njLXtLXDqKzGnqiSy3GaxVzsBz9unfu2SDzdWcbh05RZwsTN4K6k9GrefI1S5zTw07C+eVkTBxc9waPNQ7xS3Crp2R2+sFK7b9t+N+zjmVTBoqme\/lblWVFbIeO07A4d581CUbXbLznUTtCN+++RJrNYWel9lkzql+cbMLc+ZwFC9e6huTP0baOQY4bpZj1cRnA+KvqS02+hx6NRwxkfmDcu8TvUxTiitEU3dafFK3h7syx03d7kP0veHbB4wwe78h5KxodK2ehwW0omePzz+2fDh5K4RQ5yZaOzUou9rvvzPAABgDAC9RFQ6AiIgCyGhgZqi51fNJI3G\/rcT8QteoNrtFJaIXxUjXBr3bTi52TlXUrRaMKlNyqwlyVyciIqG4REQES522nutG+mqG5B913O08xCz2jaOsoK24w1MLxlwHKkHDy0ngefjlaxFZSai4mMqMZVI1OaCIiqbBERAFl9CuHqiqncQ0GpcTnm9lp496vbnWwUNBLNPKyMbBDdo8TjcAOdYewUF2u9B6FHKae28oXSyAb3no6+HZ0rWCvF3OGvUw1oWV3Z5eha1tbVaqrXW22uMdBGfv6jHvdX0HP2LT0VHBQUkdLTM2I4xgD5leUNDTW2lbTUsYZG3xJ6SecqQqylfJaG9Kk4vHPOT\/tkFWXuxU96pw2Q8lMz8OZoyW\/UKzRVTad0azhGccMlkZaOs1HZMRVVH6xpmbWJ2O9vZHOePN0jvXSLXFuOWz09VA9vvAsBA88+S0q+JIo5RiSNrx0OGVfFF6ow3VSOUJ5d6uUg1nZS0OM8jc9MTl79s7H\/OX\/4TvorQ22gccuoqcnpMTfovPVlv\/mNN\/hN+ii8Ogw7R\/Jej9yndriztxjl3dkf1K5fbqif+DQ1knMPZbx6NxK0TaWnZnZgjbnoYAuqXh0GCu\/8Aden7Mv8AayumOKXT9VJnndkf7V7651PN+BYms\/tXfUhadFOKPQbmo9aj9EZ2ll1ZPVw+kwUlNDt5kxgkNHEcTxWiRFVu5rThgWrfiERFU0CIiAIiIAi4yVVND+LURR\/1ngKJNqC0Qe\/cafdzNeHHyypSb0KOcY6ssUWdn1taYy1sInnLjgbDMD\/NhcfXGo7nut9p9FZnBkqDw7M48gVbdy5mL2mlpF3fdmaSeeGmiMs8rIo28XPOAFnKvVzqiY0tjpH1k37wtOyOvH1wkOkZaxwlvlxmqng5EbHkMHj8gFoKSjpqGEQ0sDIWDmaMZ7elT8Me8j\/NU\/5Xq\/ZGUrNPzut9Xdb5VGepbA4sjafYjON3geYbs9KudJx8npmjGN5DncOlxK+tVSclpqsd0tDfFwHzXawR8lYKFueMDXeIz81Lk3DPqUp0ow2i0en5\/RYoiLI7QiIgCIiAIi+JZooGGSaRkbB+Z7gAgPtFRVesLRSnZZK+pfzNhbnzO5Q\/tFfK9v6Nsbmg8JJjuI8hzjnV1Tkc72mknZO77szUrnLNFA3bmlZG3pe4AeazYtuqq\/8AW7pHRsP5YR7Q8MfFfceiaNzxJW1lVVv59p+Afn0c6nDFasje1ZcMPXInz6ostOcPr43H\/wCYL\/gCq92uKJ52aSiq6h\/MA0Df4lWlPp60Uu+K3w56Xt2z55VgxjI27LGho6AMJeC5DDtEtZJeCv8AczP2jvk+BTadlbngZScfAIKrWU+9tFSQA8MkZH+YrUImNckNxN8U39F+DMehaxl9650sQ6GtGf8AT809Q6hk3y6gc0\/0Af8AhadFGNjs0ebb82Zj7JVr\/wAbUVZJzH3uHRvcU+w1I\/8AHuFZJnj7Q3+IK06JvJdR2Sj0+rM7HoezM94Tyf1pPoApcOlrJBvbQMcf6ZLviVbojnJ8yy2ejHSK9DhBRUlL+r0sMP8AZxhvwXdEVDZJLJBERCTPa3k2NPFuccpK1vbxPyV3SR8jRwREY2I2tx2BZ3Wn3zrXRZJ5ep93p4D\/AHLULR8COannXm+ll+QiIszpCLwkAZJwAqK4aut9JJyFMH1tQdwZDvGejP0ypUW9DOdSFNXk7F8qq5ajttrDmyziSZv7KMguz19Heqk0OpL80msqG26md+xYPaI6+fxPcrW26atdtaOTp2yyDfysoDnZ6ujuV8MVqzHeVanBGy6v2Kz1rqK8brbQtooHjdPPx7R\/4V7Fo30h4mu9xnq37vZBwOzJyT5LUImNrhyJ7NGWdR4vt6EOjtNvt7QKWkijI\/MG5d4nepiIqNt6nRGKirJBERQSEREAREQBERAEREAREQBERAEREBl7lit1zbqYA4pozI45595HwHitQqaitNRFqWtulQ6NzJWBkWyTkDdzY6lcq8nokc9CLWKT5v8AQREVDoM3crbdb5dJKWd7qW2RYwWHfKfn8B1q2t1moLW3FJTta7GDId7j3oiu5O1jGFGKk5vNk5ERUNgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "SOCIEDAD MEDICA Y DE INVERSIONES AG SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "ROSE MARY CORTÉS",
    "correoContacto": "abastecimiento@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "2",
    "telefonocontacto": "934575907",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28535\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:09",
    "ubicacionGPS": "LatLng(lat: -23.6618426, lng: -70.3999858)",
    "horaLlegada": "07:40",
    "horaDespacho": "11:07",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 11:09:19
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-jQCHeT7tFLOEcVQt6zf9n1tyRSTjcBs7rHY5VUmqzR5clZ1Fk.+
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76804856",
    "serieinterna": "EXKY1839",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se entrega insumos ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12419",
    "observacion": "se entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAN4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABGEAABAwMBAwgHBAQPAQEAAAABAAIDBAURBhIhMRNBUWFxgZGhFBUiMrHB0RYjM0IlNENTByRSVGJyc5KTorLC4fDxY9L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAyEQACAQIDBQYGAgMBAAAAAAAAAQIDERIhMQQTMkFRFGFxgZHRIjOhscHhUvAjQmKC\/9oADAMBAAIRAxEAPwD9mREQBERAFEr7nR22LlKuoZEOYE73dg4lUtx1NNPVG3WKH0mozh02MsZ0\/wDvDtX3QaSiE\/pl2mNdVOOXB3uA9nP8OpaYUs5HK6zm8NJX7+X7OTtVVtcS2y2qScZI5WQENyPLzXpptX1eXOrKakGchrQCR5H4rSMYyNgZG0Ma0YDWjAC+kxpaIncSlxzflkZj1NqiP2o76xzuh7d3wK+4p9W0lSyOempqyNzgC9jtnHXnm8FpEUY+qHZ0uGTXn7hERUOkIuNXUso6SWok92NpcevqWdbf9QVbBNRWRpheMtc93EeIVlFsyqVowdnr3K5qEWX9e6jhwZtPl4HHkyd\/ZjK+odbUoeI66iqKR5OPaGQPgfJTu5cjPtVLRu3imjTIo1HcaO4RiSkqY5QRnDTvHaOI71JVLWOhNNXQREQkIiIAiIgCKtuN\/ttry2pqRyn7tg2ndm7h3qpGq6+vcRabNLK3mkl3Dvxu81dQk8zCe0U4OzefRZmoRZhrNZVLtp0tJSAn3cA48nfFadQ425lqdTHfJrxCIiqahZG43Oq1JXG02d5bTNP39SOBHV1fHsXe83Oputc6w2k4ccipn5mDnHyPgrq1WuntFE2mpxu4uceLz0laL4Fd6nHNuvLBHhWr69y\/ItdrpbTSCnpWYHFzjxeekqaiKjd82dcYqKstAiIoJCIiAIiICBfWbdirhnA5B5PcMqPpR\/Kaao3dDXDwcR8lY1cXL0c8O\/7yNzd3WMKj0PLymngz91M5vwPzWi4Gczy2hd6f3RolzlhiqIzHNEyVh4te0EeBXRFmdOpna7R1HI9tRbZH0FSze1zCS3PZzdy52+\/1VBVR22\/sEMhaBHUflfvxvPDo3+K0yhXW1U13o3U9Q3rY8cWHpC0U75SOWVDC8VLJ9OTJqLOaauFRHPNZLi4+k034bnfnZ\/3HcepaNVkrOxtSqKpHEgi4VdZTUMJmqp2QsHO44z2dKzsuobheZHU2n6U7A3PqpRgN7OjzPUii2VqVoQyevTmXlyutHaYOVq5Q3PutG9zuwKgbU37Uv6sPVtA79qffcOrp7sdql23ScMM3pdzlNfVHfmTJaD2Hj3+C0AAAwBgBWvGOmZlgqVeP4V0Wvm\/Yp7dpa124h\/JekTc8k3tb+ocArgAAYAwAvVna+rqTra3UcUz2xckXyMa8hrve4juCjObzNHgoRSitWl6miREVDcKm1PeDardswgmpqSY4gOI3b3d2R3kK5WUpGev9Xy1jvapbdhkfQX83nk9wV4JXu+Rz7RKSioR1eXuy10\/ZmWihG2Nqql9qd+cknoz1K2RFVtt3ZrCChFRjogiIoLhERAEREARF8veyNhfI4Ma0ZLnHACA+lmNF4jFypv3NTjPVwH+ldK3V8AlNNaoH19QeGw0lo+Z\/7vVRpK4VEGoqmhnYA+oe8yYHuvbknu4rZQeF3OCpXputCzvqvU3SIixO8Ii8JAGScAIDMatifQ1lDfIY8mnfsy45283zHeFcXWorGWh9Ra2tml2Q5gxtbTeoc5wq3Ud6tElqqqN9ZHJK+P2Gsy7LuLd43cQFW2jV0sdsgpI7dUVk8Tdklh3EDhwB6gtlGTinbQ86VWnCrKOLiXLk9Crpqi3SVIk1GbhLUDfsvGGYzwxx49y2FHqOwujbFT1kMLG7gwtMYb4gBVz7zqCrbiPToDOOzPv+OFXT2a81+S+wW6DJ4tOye3c5XaUuLLzMYSnS+Wr\/APl\/c2kNXTVGOQqIpcjI2Hg58F6+pgjlZE+eNsjzhrHPALj1DnWIptA1kj81VVDC3ojBefPCmP0LJFMyopLmRKwgtMkeSCOfOfks3GH8jpVfaGr7v6mwWXaRL\/CI\/BzyVNvzzbh\/+kdHrKjPsS0tc3O4EBpx1+78VT0V7qaXUtbcay3yOldFycscQ\/D93Gf7oUxg87FK1dNxUk1nzR+gIqm3amtVycGRVHJyHhHKNkn5HxVssmmtTuhOM1eLuQrzVmgs9VUj3mRnZ48TuHDrKgaQoRR2CF5biSo+9cccc8PLC81nJsaanbv9tzG\/5gfkrO2s5K10kf8AIgYPBoV9IGPFtHgvu\/0SkRFmdIREQBEVbX3+125rjPVsLx+zYdpx7gpSb0KynGKvJ2LJeEgDJOAFl\/tRcbk4sstqe9udkTTe738w8Ubpq53bZkvtyeWjf6PCAAO\/h5HtV8FuJ2OftGL5cW\/ovUm3DVtso8sikNXNnZEcO\/J7eHhlV\/qq9aikbJd5PQ6MHIpo\/ePb\/wA+CvqCzW62D+KUrI3fyz7TvE71OTEo8I3M6nzXl0Wnn1IlBbKO2xcnSU7IhzkDe7tPErHW2It\/hGkwMYmlcefi131W8WRssTJtc3OcOyItoDHSSB8ipg8pN9DPaILFTS6muUGvvNutg\/jdUyN38ge07wG9dLlSS11BJTQ1L6Z78YlZnLd+\/nHNu71VUWjLVS4dMx9VJzmU7s9OB88qkVHmdFSVW9qaXiyouGvnu2mW+lDRndLKcn+6Pqvigo26ikHrDUZmc7f6PHlvNvwCAPALXx2ygiZsR0NO1uMYETd\/kq+4aUtNew4pxTyHeJIfZ8uBWqnBaZHJLZ68nebUu7Nf3zOtHpq0UTMR0THuIwXy+2T48O7CrtDOLLbVUzvehqSPIfQrjR3O4adrY7feniWlkAbDUjg3tPxzw7F00cQKq7tafYFTu8XKGnhdxCUHVgoqzzTXkahERYnohERAFmNMfe3++zHeRPstPVtO+gWnWY0b7Ut1kPF1Tv8AP6q8eFnNV+bTXj9izuOnbbcmP26dkcrhuljGy4Hp3ce9QdNVdTFVVdmrJTNLSHLHneS3m3+G7\/o0LnBrS5xAAGSTzLMaYc6vvV0urWuEMrgyMn8w\/wDAOzKlNuLuVqRjGrBx1evgWOqoXT6bq2MBJAa7A6nA\/JdrBUCpsNFKDn7oNJ6xuPwU6WNs0T4njLXtLXDqKzGnqiSy3GaxVzsBz9unfu2SDzdWcbh05RZwsTN4K6k9GrefI1S5zTw07C+eVkTBxc9waPNQ7xS3Crp2R2+sFK7b9t+N+zjmVTBoqme\/lblWVFbIeO07A4d581CUbXbLznUTtCN+++RJrNYWel9lkzql+cbMLc+ZwFC9e6huTP0baOQY4bpZj1cRnA+KvqS02+hx6NRwxkfmDcu8TvUxTiitEU3dafFK3h7syx03d7kP0veHbB4wwe78h5KxodK2ehwW0omePzz+2fDh5K4RQ5yZaOzUou9rvvzPAABgDAC9RFQ6AiIgCyGhgZqi51fNJI3G\/rcT8QteoNrtFJaIXxUjXBr3bTi52TlXUrRaMKlNyqwlyVyciIqG4REQES522nutG+mqG5B913O08xCz2jaOsoK24w1MLxlwHKkHDy0ngefjlaxFZSai4mMqMZVI1OaCIiqbBERAFl9CuHqiqncQ0GpcTnm9lp496vbnWwUNBLNPKyMbBDdo8TjcAOdYewUF2u9B6FHKae28oXSyAb3no6+HZ0rWCvF3OGvUw1oWV3Z5eha1tbVaqrXW22uMdBGfv6jHvdX0HP2LT0VHBQUkdLTM2I4xgD5leUNDTW2lbTUsYZG3xJ6SecqQqylfJaG9Kk4vHPOT\/tkFWXuxU96pw2Q8lMz8OZoyW\/UKzRVTad0azhGccMlkZaOs1HZMRVVH6xpmbWJ2O9vZHOePN0jvXSLXFuOWz09VA9vvAsBA88+S0q+JIo5RiSNrx0OGVfFF6ow3VSOUJ5d6uUg1nZS0OM8jc9MTl79s7H\/OX\/4TvorQ22gccuoqcnpMTfovPVlv\/mNN\/hN+ii8Ogw7R\/Jej9yndriztxjl3dkf1K5fbqif+DQ1knMPZbx6NxK0TaWnZnZgjbnoYAuqXh0GCu\/8Aden7Mv8AayumOKXT9VJnndkf7V7651PN+BYms\/tXfUhadFOKPQbmo9aj9EZ2ll1ZPVw+kwUlNDt5kxgkNHEcTxWiRFVu5rThgWrfiERFU0CIiAIiIAi4yVVND+LURR\/1ngKJNqC0Qe\/cafdzNeHHyypSb0KOcY6ssUWdn1taYy1sInnLjgbDMD\/NhcfXGo7nut9p9FZnBkqDw7M48gVbdy5mL2mlpF3fdmaSeeGmiMs8rIo28XPOAFnKvVzqiY0tjpH1k37wtOyOvH1wkOkZaxwlvlxmqng5EbHkMHj8gFoKSjpqGEQ0sDIWDmaMZ7elT8Me8j\/NU\/5Xq\/ZGUrNPzut9Xdb5VGepbA4sjafYjON3geYbs9KudJx8npmjGN5DncOlxK+tVSclpqsd0tDfFwHzXawR8lYKFueMDXeIz81Lk3DPqUp0ow2i0en5\/RYoiLI7QiIgCIiAIi+JZooGGSaRkbB+Z7gAgPtFRVesLRSnZZK+pfzNhbnzO5Q\/tFfK9v6Nsbmg8JJjuI8hzjnV1Tkc72mknZO77szUrnLNFA3bmlZG3pe4AeazYtuqq\/8AW7pHRsP5YR7Q8MfFfceiaNzxJW1lVVv59p+Afn0c6nDFasje1ZcMPXInz6ostOcPr43H\/wCYL\/gCq92uKJ52aSiq6h\/MA0Df4lWlPp60Uu+K3w56Xt2z55VgxjI27LGho6AMJeC5DDtEtZJeCv8AczP2jvk+BTadlbngZScfAIKrWU+9tFSQA8MkZH+YrUImNckNxN8U39F+DMehaxl9650sQ6GtGf8AT809Q6hk3y6gc0\/0Af8AhadFGNjs0ebb82Zj7JVr\/wAbUVZJzH3uHRvcU+w1I\/8AHuFZJnj7Q3+IK06JvJdR2Sj0+rM7HoezM94Tyf1pPoApcOlrJBvbQMcf6ZLviVbojnJ8yy2ejHSK9DhBRUlL+r0sMP8AZxhvwXdEVDZJLJBERCTPa3k2NPFuccpK1vbxPyV3SR8jRwREY2I2tx2BZ3Wn3zrXRZJ5ep93p4D\/AHLULR8COannXm+ll+QiIszpCLwkAZJwAqK4aut9JJyFMH1tQdwZDvGejP0ypUW9DOdSFNXk7F8qq5ajttrDmyziSZv7KMguz19Heqk0OpL80msqG26md+xYPaI6+fxPcrW26atdtaOTp2yyDfysoDnZ6ujuV8MVqzHeVanBGy6v2Kz1rqK8brbQtooHjdPPx7R\/4V7Fo30h4mu9xnq37vZBwOzJyT5LUImNrhyJ7NGWdR4vt6EOjtNvt7QKWkijI\/MG5d4nepiIqNt6nRGKirJBERQSEREAREQBERAEREAREQBERAEREBl7lit1zbqYA4pozI45595HwHitQqaitNRFqWtulQ6NzJWBkWyTkDdzY6lcq8nokc9CLWKT5v8AQREVDoM3crbdb5dJKWd7qW2RYwWHfKfn8B1q2t1moLW3FJTta7GDId7j3oiu5O1jGFGKk5vNk5ERUNgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "SOCIEDAD MEDICA Y DE INVERSIONES AG SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "ROSE MARY CORTÉS",
    "correoContacto": "abastecimiento@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "2",
    "telefonocontacto": "934575907",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28535\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:09",
    "ubicacionGPS": "LatLng(lat: -23.6618426, lng: -70.3999858)",
    "horaLlegada": "07:40",
    "horaDespacho": "11:07",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 11:09:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76804856

[08/05/2026 11:09:19] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76804856', 'EXKY1839', 1, 95585912, 0, NOW(), 
				'11:07', '07:40', '11:09', 10, 'se entrega insumos ', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778252959.png', 'se entrega insumos', null, 'COMPLETADO','LatLng(lat: -23.6618426, lng: -70.3999858)' )
				
[08/05/2026 11:09:19] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200227
[08/05/2026 11:09:19] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200227', 'KYO-I647', 1)
				
[08/05/2026 11:09:19] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28535 and
				    IDproducto = 'KYO-I647'
				

08/05/2026 11:09:19 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
08/05/2026 11:09:19 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200227'                    
				WHERE idllamado = 12419			
				TO ENVIO: micorreo@miempresa.cl, abastecimiento@dsprint.cl


08/05/2026 11:09:20 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12419			
				
08/05/2026 11:09:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 11:09:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11:09:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                [08/05/2026 11:09:22] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:09:22] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:09:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11:09:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11:09:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            
08/05/2026 11:09:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12419
            GROUP BY l.idllamado;
            [08/05/2026 11:09:22] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:09:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12419
                
08/05/2026 11:09:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            [08/05/2026 11:09:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:09:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            
08/05/2026 11:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            [08/05/2026 11:09:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:09:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            [08/05/2026 11:09:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            
08/05/2026 11:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            [08/05/2026 11:09:37] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:09:37] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:09:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            
08/05/2026 11:09:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            
08/05/2026 11:09:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            [08/05/2026 11:09:37] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:09:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            
08/05/2026 11:09:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            
08/05/2026 11:09:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            
08/05/2026 11:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            
08/05/2026 11:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:09:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11: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 = 12433
                
08/05/2026 11:09:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12433
                
08/05/2026 11: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 = 12433
                
08/05/2026 11: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 = 12433
                
08/05/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 = 12433
                
08/05/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 = 12433
                
08/05/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 = 12433
                
08/05/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 = 12433
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            
08/05/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 = 12433
                
08/05/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 = 12433
                
08/05/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 = 12433
                
08/05/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 = 12433
                
08/05/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 = 12433
                
08/05/2026 11:09:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            
08/05/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 = 12433
                
08/05/2026 11:09:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            
08/05/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 = 12433
                
08/05/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 = 12433
                
08/05/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 = 12433
                
08/05/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 = 12433
                
08/05/2026 11: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 = 12433
                
08/05/2026 11: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 = 12433
                
08/05/2026 11: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 = 12433
                
08/05/2026 11: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 = 12433
                
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12433
                
08/05/2026 11: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 = 12433
                
08/05/2026 11: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 = 12433
                
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12433
                
08/05/2026 11:10:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:10:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:10:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            
08/05/2026 11:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:10:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12433
                
08/05/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 = 12433
                
08/05/2026 11:10:39 - logentry: =========================================
FECHA: 08/05/2026 11:10:39
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-o5HTETXbMyfgnChPwkfRcX_0GZdwkXh6WF0PmFZru9+HvsfQ-0c
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EXEP2042",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se entrega de insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12433",
    "observacion": "se entrega de insumos ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAClAOkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABIEAABAwMBBAgCBQgGCwEAAAABAAIDBAURBhIhMUETIlFhcYGRsRShMkJSwdEVIyQlQ3Lh8AcWNGKywiYzRFRVgpKToqPS8f\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADERAAIBAgMFBwQBBQAAAAAAAAABAgMREiExBDJBUWETInGRsdHhFDOBocEjJEJi8P\/aAAwDAQACEQMRAD8A\/ZkREAREQBEXhIAyTgBAeqJX3OjtsXSVdQyIcgTvd4DiVRV2pKm4VLrfp+LppOD6nHVZ3j8T5ZXa3aRgjl+KuspuFSd5MmS0eR4+fotMKWcjldaU3akr9eHycTq+eseY7RaZ6g\/beMAeOOXmEEesa4bTpqagafqgAn\/N78lpmMZGwMjaGNaMBrRgBfSY0tEOwnLfm\/xkZSobf7DAbhPXtrYYyOkjIIOyd3vhaWlqGVdJDUsBDZWB4BG\/BGV7U08dXTSU8wJjkbsuAOMhfNFRw0FJHSwAiOMYaCcntUOSa6l6dOUJZPu\/yd1VV2pLbbq00lTI9r2tDnEMJAB8FarJimp3a7rKaphZJFVU4Ia8ZBOG7x6OSCTvcivOcUsHF2NRDNFUQsmheHxvGWuadxC6LJxSTaUvDKWRzn2uqJLHu39E7vPdz7jnktYolGxalUxpp5NahERVNgiIgCIiAIiIAiIgCIiAIiIAiIgCIvHODWlziAAMknkgPmaWOCF80rwyNgLnOPABZKWsr9XVDqSiD6a2NOJZiMGQdn8PVezSS6vvBpYnuZaqU5e4ftT\/ADw7t61cEEVNCyGCNscbBhrWjAC03PE489odk7Q9fj1ONvt1La6YU9JEGMHE83HtJ7VKRFm3c60lFWQREQkIiIAsxdT8Prm1z4IEkZjzyP0h\/mC06zGqz0N1stQPq1GCe7LefLmtKetjm2rKni5NepcXq2tutrmpDjacMxk8nDgoGk7o6ttxpajIqqQ9HIHcSOR+7yV8sldQdPaohurBilrOpPjgDzPsfIpHvLCRW\/pzVXho\/D4Nai8BBGQcgr1ZnUEREARR6m4UdH\/aaqGE9j3gH0VRU6zs8B2Y3yVDuQiZx8zhWUW9EZTrU4b0ki\/RZc6mu9aP1bYpSDwkmzsn2HzQ0Ora85nr4aJh4ti4j0H3q2B8XYz+pT3It\/j3NNJIyJhfI9rGjiXHACgSagtET9h1wgLs4w121v8AJVUeiqeSTpLhX1NY\/tc7Gfc\/NWNPpqzU2DHQxlw4OeS4+O8qLQXEYq8tIpeLv6FqiIqHSEREAREQBZvU9fPNLFYqDJqar\/WEcGxnOc\/zw8VbXi5xWi3SVUhGQMRtP1n43BVmlrZIyOW7Vrf0ysJd1hgsaTw8+PhhaRVliZy1pOcuyjx16L5La2W+G10EdHBktYN7jxcTxJUtEWbdzpjFRVkEREJCIiAIiIAsvrgYpKF43OFSMHyK1Cy+uDmkoWDe41IwPIrSnvI5tr+zI1CgXq2tutrmpDjacMxk8nDgp6Kidnc3lFSTi9GUGkbk6rthpJ8iooz0bweOOXtjyV+sldB\/V7VEN1aCKWs6k4HAHmfY+RWtVprO64mGzyeF05axy9meHON3FYS7U2rppXh\/TmInqtgeMEf8v3reIkZYeBavR7VWba8D83poKOlwa\/T1wkfxy97gCfDZH8hXNNquyUG5lompXf3IWA9+\/IWvRWdRPVfswhssqe5JeSM4zXNncMn4hnc6P8Cu7dY2J2c1jm+MT\/uCt300Ehy+CNx\/vMBXF1qtz8bVBSuwMDMLd3yVbw5GuHaF\/kvL5IbdV2N+MV7N\/axw9wukeorNIQG3GAZ+07Z919usNoccm203lEAuUmmLLICHW+IZ+zlvsU7nUf3P+v7JsVdRzkCGrgk2uGxIDn0UhZ+bRNlkzsRSw5H1JCceuVwOkamkH6svVTBg7mPOQR34x7KbQfEY661hfwfuadFlorterLUQwXqKOeGZ+wyojIyD5Df6BalVlFo0p1VUvbJrgwiKBe7h+S7RPVAgPa3EeftHcFCV3YvKSjFyfAoHgan1W+J2X263jDm56r3fxOfJvetcqXSlvfQ2Vjph+eqD0ryeO\/hny91dK03nZcDDZ4tRxy1ln\/3gERFQ6QiIgCLnPPDTRGWeVkUbeLnnACz9TrCKR7oLRRzV0w5tYdkd\/b7eKsot6GVSrCnvM0irq+\/Wy2vLKmrY2QfUblzh5DgqY2nUd561xr20ULm4MMGc+BH8SrGg0paKDBFMJ3gY25ut544fJWwxWrMu0rT3I26v2IR1myaOWSitdXUNjGScYGOZOM4Ci6ir4rpRWeqgDgJajc1w6w3gLWuijdE6IsBY4EFuNxB4r81pDint0Wc9HcSM4\/cV4YW7pHNtLqQWGUr36W4o\/TURFgemQbxbY7rbJqV43kZYc4w4cFA0pdHV1t+FnyKqj\/NyB3EgbgfljxCsKu8W6hJFTWxRuHFu1l3oN6xVRqCkotUOudtD5YZWYmYRsBxPHHyPDjlawi5RaOGvVhSqKd+j8Pg\/QkWXbc9VV4zS2yKljdwfMd47958+CGw6hrjmuvnRD7MAP3bKjBbVmv1De5Bv9epqEUS20DbbRMpWzSTNYTh0hyd54KWs2dEW2swiIhIREQBc5poqeF80zwyNgy5zjuASaaKnhfNM8MjYMuc47gFk5pqzV9wFPTh8FqhcC97hjpfx7hy4nkrRjfwMatXBks29EdKfptVXuOsLHstdITsBxx0ju328hjmtYudPTxUsDIIIxHGwYa1vALokpX0FKngTbd29QsrqMOumoLdZgSYgemmDezv8gf8AqWqWYtOK3Wt0qiMinaIm8wDw\/wAp+atDK75FNp7yjDm\/1qaYAAYAwAvURZnSEUC43q32puauoa1x4MG9x8lSG73u\/HYs9L8HTHd8TNxI7v4Z8VdQbzMJ14QeHV8lqaCuuVHbYjLVztjGMgHeT4DiVn5dT19zcYbDb5H5ODPK3qj7vU+SlUekKJknT3CWW4VB4umcdnPhz8yVfMYyNgZG0Ma0YDWjACm8Y9SmGtU1eFdNfMzcGk5a2QVN9rpKuTOeiY7DB3f\/AJhX9JR01DCIaWBkLByaMZ8e1d0VXJvU1p0YU84rPnxCIiqahfmVI1ztXRU4GGx3AuA7MPGf8K\/TVgKWEj+kZzCAP0h7\/wDxLltSep5+2xu6fib9Zc6bvNef1nfHlmfoQAgEfIdvJahFmpOOh11KUalsRRUej7PSgF0BqH\/aldn5Dcp1fZ6WstctA2JkLHjq7DQA0jeDu71PRMUm73Co04xwqKsZ3SdwldDLaa12KujJbsniWDd544ei0SzOqKCammjv1Bunp8dMB9Zn87j3eCvLbXw3Ogiq4D1ZBvGd7TzBVpq\/eRlQk4t0parTqiUiIszqCIuc9RDSwumnkbHG0ZLnHACBu2bOirbvfaGzRZqJNqUjqxM3uP4DvVPPqKvvMppNPU7gAcPqZG4Dfw89\/cp1p0vS0EnxVU41lY7e6WXeAeeAfc71phUd45XWlUyo+fD8cyuit1y1TK2puu3SUTd8dO3cXd\/8T5LUwU8NLC2GCNscbRgNaMALoirKTZpToqGerfEIiKpsFmNLu\/XmoC48Knif3nrTr89rLZVHUzoLnM6khuEhO3E7LJMHcOPhx4ZG5a01dNHHtMnCUJJXs\/VWNNcdW2ugyyOX4qbkyHeM\/vcFAL9UX0N2Wi1UzvrZIeR7+yvLbZaC1MxSQBrsYMjt7j5qeoxRWiLdlUqfclZcl76lFQ6SttJJ084fWT5yXznIz4fjlXgAAwBgBeoqOTepvCnCmrRVgiIoLhERAEREAWLjiLf6TXdgy71i\/itos+LZVt1qbiIs0zocF+RuOMYxnPL5rSDtfwOXaYOWC3CSNAiIszqCIiA8c0OaWuAIIwQeazFupKiy6rfQ0rS6gqYzMW78R8uPiMeBC1CKyla6MqlNTafFBeEgDJOAFU3TUtutZMb5emn4dDFvdnv5D3VV8NftSk\/Fk223u\/ZAdd47Dz9cDuUqD1eSKTrxTwwzfT+eRNuWq6eGT4W2xmvq3bg2MZaPEjj5fJRINOV95lFXqCodjiyljdgN8ezy396vLZZ6G0xllJCGkjDnne53iVOU4kt0qqMqmdZ36cPk5wU8NLC2GCNscbRgNaMALoiLM6krZIIiIAiIgCrL5ZorzRdE47EsZ2ong42T+BVmilNp3RWcFOLjLQzdn1A+KX8l3v8AMVkeA17+Eg5b+GfdaRQLrZqK8Q7FVH1wMMkbuc3wP3Ki\/wBI9OnAabrRA7t5L2j3HzCvZS01OZTnRynmufH8+5rEWdp9bWt52Kls9K8HBD2ZA9N\/yVlHfrRKCW3KmGPtSBvuquElwNY16UtJIsEUL8tWr\/idH\/32\/iuMmorNF9K4wH91217KML5FnVgtZIs0WeqNb2aEfm3zTn+5GR\/iwuA1Vcqw4ttime08JJMge2PmrdnLkZPaqKdk7+GfoahR66vprdTOqKqURsaOfE9wHMrP9Bq+4Y6Wop6CM8Qz6WPmefaOC60ujaQSie41EtfNxJkcQD478n1U4YrVkdrUluQ\/Ly+S0s90\/K9GaoU0kDC8hm39YdoU9fLWtYwMY0Na0YAAwAF9Kj1yOiKailJ3YRF45wa0ucQABkk8lBY9RUFx1fQUruhowa6oO5rYd7c+PPyyoTbZf7+du51JoaV3+zx7iR2EfjnwV1B6vI5pbRG+GmsT6e5ZXTVNuthMYf8AET8Oii34PeeA91WNh1JqE7U0htdGfqtyHuHufPAV3brBbLXh1NTN6QftH9Z3qeHkrJTiUd1EdlUqfceXJfyyrtenbdaQHQQ7co\/ayb3eXZ5K0RFRtvNnRCEYK0VZBERQWCIiAIiIAiIgCIiAIiIDhUUVLVjFTTRTDGOuwO91XyaUscpBdQMGPsvc32Kt0UqTWjKSpwlvJMpf6oWH\/cP\/AHP\/APpdY9MWWL6NviP72Xe5VqinHLmVVCktIryRHhoaOmOYKWGM9rGAFSERVNEktAi+XvZGwvkcGNaMlzjgBUtbq+0UZ2GTGpkzjZgG18+HzUqLehWdSEFeTsXi5zzw00RlnlZFG3i55wAs0bhqe7bqKgbb4jkdJPx+Yz6BfdPo5s0onvNbLXSYHV2iAO7Ocn5K+BLeZh28p\/bjfq8l7n1V6ypukEFrp5K+d3ANaQPbJ9PNcW2O8XxwkvlWYIM5FLBu9eXrkrR0lHTUMIhpYGQsHJoxnx7V3TGluodhKf3ZX6LJfJEoLXQ21mzSUzIt2C4DrO8TxKloizbvqdKioqyQREQkIiIAiIgCIiAIiIAiIgCIiAIiIAiKFW3i3W8H4qrjY4D6Gcu9BvUpN6FZSUVduxNRZeTV1RWSPisltkqnNIHSvB2R5D7yF8nT96u7i68XMxROH9ngO7wPL3V8Ft7I5\/qFLKmsXp5lpcNTWq3bTZKgSSNODHF1nfgPMqtF8v123Wm2dBFnHTVB5du\/HyyrSh05abfgw0bHPH7STruz27+HlhWiXitEMFae\/Ky6e5lmaQqa54lvd0lqCM\/m4zuae4n8Aruhs1uto\/RaVjHHi7i4+ZU5FVzkzSFCnB3Sz58QiIqmwREQBERAEREAREQBERAEREAREQBERAEUG63ektFMZqmQAncxg+k4\/wA81QiDUOpY9qeQW2jdwY0HbeO\/t88eCuo3zehhUrKLwxV3y9+ReV19tltJbU1bGvHFjes70CpzqmuuJLLLaZZc5HSy7mg+3qVPoNK2igAIpRPIBvfN1s+XAeiuAABgDACm8VorlcNee88K6a+b9jMOsmoboM3K7Cnjd+xpxyPI4xn1KmUekLRSdZ8Lql\/2p3Z+XBXiKHORMdmpp3au+uZ8sYyNgZG0Ma0YDWjAC+kRUOgIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgKh2nKWa9vulS987sDo4n72sx7q3RFLbepSMIxvhWoREUFwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "WILIIAM",
    "correoContacto": "abastecimiento@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56956094684",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I861\",\"id_control\":\"28553\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I862\",\"id_control\":\"28553\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I863\",\"id_control\":\"28553\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I864\",\"id_control\":\"28553\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:10",
    "ubicacionGPS": "LatLng(lat: -23.6618294, lng: -70.4000615)",
    "horaLlegada": "07:40",
    "horaDespacho": "11:09",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 11:10:39
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-o5HTETXbMyfgnChPwkfRcX_0GZdwkXh6WF0PmFZru9+HvsfQ-0c
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EXEP2042",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se entrega de insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12433",
    "observacion": "se entrega de insumos ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAClAOkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABIEAABAwMBBAgCBQgGCwEAAAABAAIDBAURBhIhMUETIlFhcYGRsRShMkJSwdEVIyQlQ3Lh8AcWNGKywiYzRFRVgpKToqPS8f\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADERAAIBAgMFBwQBBQAAAAAAAAABAgMREiExBDJBUWETInGRsdHhFDOBocEjJEJi8P\/aAAwDAQACEQMRAD8A\/ZkREAREQBEXhIAyTgBAeqJX3OjtsXSVdQyIcgTvd4DiVRV2pKm4VLrfp+LppOD6nHVZ3j8T5ZXa3aRgjl+KuspuFSd5MmS0eR4+fotMKWcjldaU3akr9eHycTq+eseY7RaZ6g\/beMAeOOXmEEesa4bTpqagafqgAn\/N78lpmMZGwMjaGNaMBrRgBfSY0tEOwnLfm\/xkZSobf7DAbhPXtrYYyOkjIIOyd3vhaWlqGVdJDUsBDZWB4BG\/BGV7U08dXTSU8wJjkbsuAOMhfNFRw0FJHSwAiOMYaCcntUOSa6l6dOUJZPu\/yd1VV2pLbbq00lTI9r2tDnEMJAB8FarJimp3a7rKaphZJFVU4Ia8ZBOG7x6OSCTvcivOcUsHF2NRDNFUQsmheHxvGWuadxC6LJxSTaUvDKWRzn2uqJLHu39E7vPdz7jnktYolGxalUxpp5NahERVNgiIgCIiAIiIAiIgCIiAIiIAiIgCIvHODWlziAAMknkgPmaWOCF80rwyNgLnOPABZKWsr9XVDqSiD6a2NOJZiMGQdn8PVezSS6vvBpYnuZaqU5e4ftT\/ADw7t61cEEVNCyGCNscbBhrWjAC03PE489odk7Q9fj1ONvt1La6YU9JEGMHE83HtJ7VKRFm3c60lFWQREQkIiIAsxdT8Prm1z4IEkZjzyP0h\/mC06zGqz0N1stQPq1GCe7LefLmtKetjm2rKni5NepcXq2tutrmpDjacMxk8nDgoGk7o6ttxpajIqqQ9HIHcSOR+7yV8sldQdPaohurBilrOpPjgDzPsfIpHvLCRW\/pzVXho\/D4Nai8BBGQcgr1ZnUEREARR6m4UdH\/aaqGE9j3gH0VRU6zs8B2Y3yVDuQiZx8zhWUW9EZTrU4b0ki\/RZc6mu9aP1bYpSDwkmzsn2HzQ0Ora85nr4aJh4ti4j0H3q2B8XYz+pT3It\/j3NNJIyJhfI9rGjiXHACgSagtET9h1wgLs4w121v8AJVUeiqeSTpLhX1NY\/tc7Gfc\/NWNPpqzU2DHQxlw4OeS4+O8qLQXEYq8tIpeLv6FqiIqHSEREAREQBZvU9fPNLFYqDJqar\/WEcGxnOc\/zw8VbXi5xWi3SVUhGQMRtP1n43BVmlrZIyOW7Vrf0ysJd1hgsaTw8+PhhaRVliZy1pOcuyjx16L5La2W+G10EdHBktYN7jxcTxJUtEWbdzpjFRVkEREJCIiAIiIAsvrgYpKF43OFSMHyK1Cy+uDmkoWDe41IwPIrSnvI5tr+zI1CgXq2tutrmpDjacMxk8nDgp6Kidnc3lFSTi9GUGkbk6rthpJ8iooz0bweOOXtjyV+sldB\/V7VEN1aCKWs6k4HAHmfY+RWtVprO64mGzyeF05axy9meHON3FYS7U2rppXh\/TmInqtgeMEf8v3reIkZYeBavR7VWba8D83poKOlwa\/T1wkfxy97gCfDZH8hXNNquyUG5lompXf3IWA9+\/IWvRWdRPVfswhssqe5JeSM4zXNncMn4hnc6P8Cu7dY2J2c1jm+MT\/uCt300Ehy+CNx\/vMBXF1qtz8bVBSuwMDMLd3yVbw5GuHaF\/kvL5IbdV2N+MV7N\/axw9wukeorNIQG3GAZ+07Z919usNoccm203lEAuUmmLLICHW+IZ+zlvsU7nUf3P+v7JsVdRzkCGrgk2uGxIDn0UhZ+bRNlkzsRSw5H1JCceuVwOkamkH6svVTBg7mPOQR34x7KbQfEY661hfwfuadFlorterLUQwXqKOeGZ+wyojIyD5Df6BalVlFo0p1VUvbJrgwiKBe7h+S7RPVAgPa3EeftHcFCV3YvKSjFyfAoHgan1W+J2X263jDm56r3fxOfJvetcqXSlvfQ2Vjph+eqD0ryeO\/hny91dK03nZcDDZ4tRxy1ln\/3gERFQ6QiIgCLnPPDTRGWeVkUbeLnnACz9TrCKR7oLRRzV0w5tYdkd\/b7eKsot6GVSrCnvM0irq+\/Wy2vLKmrY2QfUblzh5DgqY2nUd561xr20ULm4MMGc+BH8SrGg0paKDBFMJ3gY25ut544fJWwxWrMu0rT3I26v2IR1myaOWSitdXUNjGScYGOZOM4Ci6ir4rpRWeqgDgJajc1w6w3gLWuijdE6IsBY4EFuNxB4r81pDint0Wc9HcSM4\/cV4YW7pHNtLqQWGUr36W4o\/TURFgemQbxbY7rbJqV43kZYc4w4cFA0pdHV1t+FnyKqj\/NyB3EgbgfljxCsKu8W6hJFTWxRuHFu1l3oN6xVRqCkotUOudtD5YZWYmYRsBxPHHyPDjlawi5RaOGvVhSqKd+j8Pg\/QkWXbc9VV4zS2yKljdwfMd47958+CGw6hrjmuvnRD7MAP3bKjBbVmv1De5Bv9epqEUS20DbbRMpWzSTNYTh0hyd54KWs2dEW2swiIhIREQBc5poqeF80zwyNgy5zjuASaaKnhfNM8MjYMuc47gFk5pqzV9wFPTh8FqhcC97hjpfx7hy4nkrRjfwMatXBks29EdKfptVXuOsLHstdITsBxx0ju328hjmtYudPTxUsDIIIxHGwYa1vALokpX0FKngTbd29QsrqMOumoLdZgSYgemmDezv8gf8AqWqWYtOK3Wt0qiMinaIm8wDw\/wAp+atDK75FNp7yjDm\/1qaYAAYAwAvURZnSEUC43q32puauoa1x4MG9x8lSG73u\/HYs9L8HTHd8TNxI7v4Z8VdQbzMJ14QeHV8lqaCuuVHbYjLVztjGMgHeT4DiVn5dT19zcYbDb5H5ODPK3qj7vU+SlUekKJknT3CWW4VB4umcdnPhz8yVfMYyNgZG0Ma0YDWjACm8Y9SmGtU1eFdNfMzcGk5a2QVN9rpKuTOeiY7DB3f\/AJhX9JR01DCIaWBkLByaMZ8e1d0VXJvU1p0YU84rPnxCIiqahfmVI1ztXRU4GGx3AuA7MPGf8K\/TVgKWEj+kZzCAP0h7\/wDxLltSep5+2xu6fib9Zc6bvNef1nfHlmfoQAgEfIdvJahFmpOOh11KUalsRRUej7PSgF0BqH\/aldn5Dcp1fZ6WstctA2JkLHjq7DQA0jeDu71PRMUm73Co04xwqKsZ3SdwldDLaa12KujJbsniWDd544ei0SzOqKCammjv1Bunp8dMB9Zn87j3eCvLbXw3Ogiq4D1ZBvGd7TzBVpq\/eRlQk4t0parTqiUiIszqCIuc9RDSwumnkbHG0ZLnHACBu2bOirbvfaGzRZqJNqUjqxM3uP4DvVPPqKvvMppNPU7gAcPqZG4Dfw89\/cp1p0vS0EnxVU41lY7e6WXeAeeAfc71phUd45XWlUyo+fD8cyuit1y1TK2puu3SUTd8dO3cXd\/8T5LUwU8NLC2GCNscbRgNaMALoirKTZpToqGerfEIiKpsFmNLu\/XmoC48Knif3nrTr89rLZVHUzoLnM6khuEhO3E7LJMHcOPhx4ZG5a01dNHHtMnCUJJXs\/VWNNcdW2ugyyOX4qbkyHeM\/vcFAL9UX0N2Wi1UzvrZIeR7+yvLbZaC1MxSQBrsYMjt7j5qeoxRWiLdlUqfclZcl76lFQ6SttJJ084fWT5yXznIz4fjlXgAAwBgBeoqOTepvCnCmrRVgiIoLhERAEREAWLjiLf6TXdgy71i\/itos+LZVt1qbiIs0zocF+RuOMYxnPL5rSDtfwOXaYOWC3CSNAiIszqCIiA8c0OaWuAIIwQeazFupKiy6rfQ0rS6gqYzMW78R8uPiMeBC1CKyla6MqlNTafFBeEgDJOAFU3TUtutZMb5emn4dDFvdnv5D3VV8NftSk\/Fk223u\/ZAdd47Dz9cDuUqD1eSKTrxTwwzfT+eRNuWq6eGT4W2xmvq3bg2MZaPEjj5fJRINOV95lFXqCodjiyljdgN8ezy396vLZZ6G0xllJCGkjDnne53iVOU4kt0qqMqmdZ36cPk5wU8NLC2GCNscbRgNaMALoiLM6krZIIiIAiIgCrL5ZorzRdE47EsZ2ong42T+BVmilNp3RWcFOLjLQzdn1A+KX8l3v8AMVkeA17+Eg5b+GfdaRQLrZqK8Q7FVH1wMMkbuc3wP3Ki\/wBI9OnAabrRA7t5L2j3HzCvZS01OZTnRynmufH8+5rEWdp9bWt52Kls9K8HBD2ZA9N\/yVlHfrRKCW3KmGPtSBvuquElwNY16UtJIsEUL8tWr\/idH\/32\/iuMmorNF9K4wH91217KML5FnVgtZIs0WeqNb2aEfm3zTn+5GR\/iwuA1Vcqw4ttime08JJMge2PmrdnLkZPaqKdk7+GfoahR66vprdTOqKqURsaOfE9wHMrP9Bq+4Y6Wop6CM8Qz6WPmefaOC60ujaQSie41EtfNxJkcQD478n1U4YrVkdrUluQ\/Ly+S0s90\/K9GaoU0kDC8hm39YdoU9fLWtYwMY0Na0YAAwAF9Kj1yOiKailJ3YRF45wa0ucQABkk8lBY9RUFx1fQUruhowa6oO5rYd7c+PPyyoTbZf7+du51JoaV3+zx7iR2EfjnwV1B6vI5pbRG+GmsT6e5ZXTVNuthMYf8AET8Oii34PeeA91WNh1JqE7U0htdGfqtyHuHufPAV3brBbLXh1NTN6QftH9Z3qeHkrJTiUd1EdlUqfceXJfyyrtenbdaQHQQ7co\/ayb3eXZ5K0RFRtvNnRCEYK0VZBERQWCIiAIiIAiIgCIiAIiIDhUUVLVjFTTRTDGOuwO91XyaUscpBdQMGPsvc32Kt0UqTWjKSpwlvJMpf6oWH\/cP\/AHP\/APpdY9MWWL6NviP72Xe5VqinHLmVVCktIryRHhoaOmOYKWGM9rGAFSERVNEktAi+XvZGwvkcGNaMlzjgBUtbq+0UZ2GTGpkzjZgG18+HzUqLehWdSEFeTsXi5zzw00RlnlZFG3i55wAs0bhqe7bqKgbb4jkdJPx+Yz6BfdPo5s0onvNbLXSYHV2iAO7Ocn5K+BLeZh28p\/bjfq8l7n1V6ypukEFrp5K+d3ANaQPbJ9PNcW2O8XxwkvlWYIM5FLBu9eXrkrR0lHTUMIhpYGQsHJoxnx7V3TGluodhKf3ZX6LJfJEoLXQ21mzSUzIt2C4DrO8TxKloizbvqdKioqyQREQkIiIAiIgCIiAIiIAiIgCIiAIiIAiKFW3i3W8H4qrjY4D6Gcu9BvUpN6FZSUVduxNRZeTV1RWSPisltkqnNIHSvB2R5D7yF8nT96u7i68XMxROH9ngO7wPL3V8Ft7I5\/qFLKmsXp5lpcNTWq3bTZKgSSNODHF1nfgPMqtF8v123Wm2dBFnHTVB5du\/HyyrSh05abfgw0bHPH7STruz27+HlhWiXitEMFae\/Ky6e5lmaQqa54lvd0lqCM\/m4zuae4n8Aruhs1uto\/RaVjHHi7i4+ZU5FVzkzSFCnB3Sz58QiIqmwREQBERAEREAREQBERAEREAREQBERAEUG63ektFMZqmQAncxg+k4\/wA81QiDUOpY9qeQW2jdwY0HbeO\/t88eCuo3zehhUrKLwxV3y9+ReV19tltJbU1bGvHFjes70CpzqmuuJLLLaZZc5HSy7mg+3qVPoNK2igAIpRPIBvfN1s+XAeiuAABgDACm8VorlcNee88K6a+b9jMOsmoboM3K7Cnjd+xpxyPI4xn1KmUekLRSdZ8Lql\/2p3Z+XBXiKHORMdmpp3au+uZ8sYyNgZG0Ma0YDWjAC+kRUOgIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgKh2nKWa9vulS987sDo4n72sx7q3RFLbepSMIxvhWoREUFwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "WILIIAM",
    "correoContacto": "abastecimiento@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56956094684",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I861\",\"id_control\":\"28553\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I862\",\"id_control\":\"28553\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I863\",\"id_control\":\"28553\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I864\",\"id_control\":\"28553\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:10",
    "ubicacionGPS": "LatLng(lat: -23.6618294, lng: -70.4000615)",
    "horaLlegada": "07:40",
    "horaDespacho": "11:09",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 11:10:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[08/05/2026 11:10: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('76121841', 'EXEP2042', 2, 95585912, 0, NOW(), 
				'11:09', '07:40', '11:10', 10, 'se entrega de insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778253039.png', 'se entrega de insumos ', null, 'COMPLETADO','LatLng(lat: -23.6618294, lng: -70.4000615)' )
				
[08/05/2026 11:10:39] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200228
[08/05/2026 11:10:39] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200228', 'EPS-I861', 1)
				
[08/05/2026 11:10:39] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28553 and
				    IDproducto = 'EPS-I861'
				

08/05/2026 11:10:39 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I861';
                [08/05/2026 11:10:39] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200228', 'EPS-I862', 1)
				
[08/05/2026 11:10:39] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28553 and
				    IDproducto = 'EPS-I862'
				

08/05/2026 11:10:39 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I862';
                [08/05/2026 11:10:39] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200228', 'EPS-I863', 1)
				
[08/05/2026 11:10:39] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28553 and
				    IDproducto = 'EPS-I863'
				

08/05/2026 11:10:39 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I863';
                [08/05/2026 11:10:39] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200228', 'EPS-I864', 1)
				
[08/05/2026 11:10:39] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28553 and
				    IDproducto = 'EPS-I864'
				

08/05/2026 11:10:39 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I864';
                
08/05/2026 11:10:39 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200228'                    
				WHERE idllamado = 12433			
				TO ENVIO: micorreo@miempresa.cl, abastecimiento@dsprint.cl


08/05/2026 11:10:39 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12433			
				
08/05/2026 11:10:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/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 = 12433
                
08/05/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 = 12433
                
08/05/2026 11:10:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            
08/05/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 = 12433
                
08/05/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 = 12433
                
08/05/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 = 12433
                
08/05/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 = 12433
                
08/05/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 = 12433
                
08/05/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 = 12433
                [08/05/2026 11:10:41] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/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 = 12433
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            
08/05/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 = 12433
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            [08/05/2026 11:10:41] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            [08/05/2026 11:10:41] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/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 = 12433
                
08/05/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 = 12433
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            
08/05/2026 11:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            
08/05/2026 11:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12433
            GROUP BY l.idllamado;
            
08/05/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 = 12433
                [08/05/2026 11:10:42] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/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 = 12433
                
08/05/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 = 12433
                
08/05/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 = 12433
                
08/05/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 = 12433
                
08/05/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 = 12433
                
08/05/2026 11:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                
08/05/2026 11:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12433
                [08/05/2026 11:10:47] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:10:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            [08/05/2026 11:10:47] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:10:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11:10:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12484
                [08/05/2026 11:10:47] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:10:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            [08/05/2026 11:10:47] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:10:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12484
                
08/05/2026 11:10:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12484
                
08/05/2026 11:10:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12484
                
08/05/2026 11: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 = 12484
                
08/05/2026 11: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 = 12484
                
08/05/2026 11: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 = 12484
                
08/05/2026 11: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 = 12484
                
08/05/2026 11: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 = 12484
                
08/05/2026 11: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 = 12484
                
08/05/2026 11: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 = 12484
                
08/05/2026 11: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 = 12484
                
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            [08/05/2026 11:10:49] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            [08/05/2026 11:10:49] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12484
                
08/05/2026 11: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 = 12484
                
08/05/2026 11:10:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11:10:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11:10:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11:10:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12484
                [08/05/2026 11:10:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11: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 = 12484
                
08/05/2026 11: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 = 12484
                
08/05/2026 11: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 = 12484
                
08/05/2026 11: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 = 12484
                
08/05/2026 11: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 = 12484
                
08/05/2026 11: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 = 12484
                
08/05/2026 11: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 = 12484
                
08/05/2026 11:10:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:10:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11: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 = 12484
                
08/05/2026 11:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12484
                
08/05/2026 11: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 = 12484
                
08/05/2026 11:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12484
                
08/05/2026 11: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 = 12484
                
08/05/2026 11: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 = 12484
                
08/05/2026 11:11:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12484
                
08/05/2026 11: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 = 12484
                
08/05/2026 11:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11:11:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11:11:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11:11:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11: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 = 12484
                
08/05/2026 11: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 = 12484
                
08/05/2026 11:11:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11:11:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11:11:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11:11:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11:11:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:33 - logentry: =========================================
FECHA: 08/05/2026 11:11:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-t4_i-8Tzs+HfMWhbbFnXB2q7-d01MBFktpiDzGgzodr0f2H7RXb
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "77616386",
    "serieinterna": "EP2881",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se entrega insumos ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12484",
    "observacion": "se entrega insumos ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACHANADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABCEAABAwMBBAcGAgcGBwAAAAABAAIDBAURIQYSMVETIkFhcYGRFDKhscHRFUIWIzRDc+HwByQlM1KCNlNjcqKy8f\/EABgBAQADAQAAAAAAAAAAAAAAAAABAgME\/8QALxEAAgIBAgIIBgMBAQAAAAAAAAECEQMSMSEyBBNBUWFxsdEUIjORoeGBwfAjUv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBEUWvuNLbYBNVShjScAEjJ8OaJWQ2oq2SkVPRbU2ivlbDHU7kjsbrZWluTyzwyrhS01uVhOM1cXYREUFwiIgCIiAIolbdKG3M3quqji7icuPkNVSP2ufVvMdmts9W4HBe5pDRyOnZ44VlBvYxnnxwdN8fyaZQ6260FuGaurjiOM7pOXHyGqojbtqbpj2yvZQxHiyA9Yen3Uqi2MtVLh0zH1UnaZTpnngfXKtpit2Z9blnyRrz9tyNLtl7Q8w2i3T1b9esRgeOBkn4KZam7RS1oqblJBFTlp\/u7BqD\/XeeKuYoYoGCOGNkbB+VjQAvahyWyRaOKd6pyvy4IIiKh0BERAEVXdNordaQWzzb8o\/dR6u8+Xmqln6R7QdYuFqonDQDWRw+fyV1BtW+BhPPFPTHi+5f33FtdNordaQWzzb8o\/dR6u8+Xmqlty2mvLQaCjjoYHZxLKdcc9foFaW7Zm127D2U4mm7ZZusc8x2DyVspuK2RTq8uTnlS7l7mZGy9znO\/W3+ocSNWx5AGePb9FcWi3y22jNPLWSVbt8uD5OIB7OJ\/oqciq5t8GaQwQg7W\/mwsztq7cpaF\/+mqacc9Fplmdu2n8Fhkbo6OoaQfJ38lOPmRTpX0ZFnc9nrddIi2WnYyTB3ZWDDmny4+BVTabpV2auFlvLstP7PUk6OHYCeXy4LTtcHsDhwIyoF7tEV5t7qd53XjrRvx7rvtzSMuyWwyYnfWY+b18GWKLP7NXWaXftNwy2tpBg5Od9oxrntOvnxWgVZKnRrjyLJHUgiIoNCtu1+obMwe0yEyOHViZq4\/bzVK2q2k2gcDTN\/DKM8Hu95w+Z8sDvXmiFLHtvWC5RYqZCDTPf7p4YxnOugx4EacFrlq6h2HFFSzt3KknVLf8Almfo9jbbA8y1ZkrZicl0rjjPh2+eVexQxQMEcMbI2D8rGgBe0VHJvc6YYoY+VUERFU0CIiAIi8TSxwQvmleGRsBc5x4AINj05wa0ucQABkk9iy1Zfay9VZttgy1oP62rOgA7uXjxPYuTpq\/bCofFTk01pY7D3nR0n3PdwHb2LT0NDTW2lbTUsYZG31J5k9pWlKG+5x6pZ+EeEe\/tfl7lbaNmKK1lszx7RV8TNJrr3Ds+aukRUbbds6YY441UVQREUFwiIgCz224B2ddkcJW4WhWe23\/4df8AxWq+PmRz9J+jLyLqi\/Yaf+E35LuuFF+w0\/8ACb8l3VXubR5UZnaqkmpZIL9QjE9MQJcfmZ3+uPA9yvqGsiuFFFVwHMcrcju5jyOi7PY2SN0b2hzXAhwPaFl7G91hvk1jnc4wzHfpXHhw4fTxHer80a7Uc7\/5Zb7Jev7NUiIszqKy9WKlvdPuTdSVo\/VzAZLfuO5UsF7r9nHiivcMk0AOIqpmpI7+fz8VrV4lhjnidFMxskbxhzXDIIV1LhT2OfJhuWuDqXr5nmnqYKuETU0zJYzwcw5C6rL1Gyc9HUGrsNa6lkJyYnnqnuzy7iCg2nuFrmbDfbc5jeHTw6tPfy+Pkp0Xysr8Q4cMqrx3X+8zUIoFBe7bcsClq2OeRnoyd13oVPVGmtzojKMlcXYREUFgsncpp9qLm+0Uh6Oip3A1E2PePIfTnjKm7WXKWloWUdL1qqsd0bQD1gDpkfAKfZbTFZ7eymjAL8ZkeB77ua0j8q1HJkvLPqlst\/Yl01NFR00dPAwMjjbutAXVEWZ1JJKkEREJCIiAIi41NXT0cXS1M8cLOb3AZQhtJWzss9tvn9HXY\/5rcrlWba07C\/2Glmqo4\/8AMlDSGgf\/AHHHC8bYVLanZWnqG9Vs743gZ7C0nC1jFqSs48+bHPFNRd8DR0ePYoMcOjb8l2UcTQUtPGJpY4QGgddwbj1UOfaSzU\/v3GE\/wyX\/APrlZ03sdOuMF8zotFSbT2h1yoRPT5FXSnpIi3ieY+Gneo023Fta4Np4amocTgbrMA+uvwXj9JbzUaUuzs4zwdKTj5D5rSMJp2c+TPgyRcLvytlps\/dm3i1xzkgTN6srR2OHb58VZr86qIr9Zql1c4MoG1sm68xgFjdc8Ncdp58Vq7PZamjqTV1N3nrHPbgNJ6mOepOUnBLjZGDPOVQcXa37P5LpERZHaF5c1r2lr2hzTxBGQV6RAUddshaK0lwgNM\/HGA7o9OCgmzbR2vW23P2uMZxFPx8BnI+IWqRXU5HPLo2Nu0qfhwMuza2eieIr1bJaY8Okj1aT4H7n4LQ0dbTV9OKilmbLG78w+RHYqq\/3+ioIzSGJtZUS9UU+N4f7vtxTZa01FsopHVIayWd5eYmcGdytJLTdUZ45zWXq71L0IYabjt87J3orfFka6ZI+7vgtQsxZ8R7a3aM+85gdju0+4WnVZ7ov0baT72wiIqHSEXOeeGmiMs8rIo28XPOAFn6rbKl6VsFsp5a+Z3AMBaPlk+isot7GWTLDHzM0irLhtDa7YS2oqm9IP3bOs7w04eeFTmg2lvjMV1Sy307jrFGOsR34+pVpbtmbVbQ1zKcSyt16SXrHPyCtpit2ZdZlnyRpd79is\/HL7em\/4Pb\/AGeInHtExB05jOnpldafZET1HtN5rZK6Qj3ODR3c8eGFpUTXXLwJXR0+OR6vT7FRfKGCPZqshghZEwRb2I2gaDX6LN3SUVWx9lgH7yUNz\/25b9VtqmEVFLLAeEjCw+Ywvzu1zOqqyz25zN00tU4uHPUHX0Kvj4ryOXpaUZJf+lX5Rsrls1brrWirqmyF4aGkNdgEDmvUGzNlp8blvidjtky\/55Vqiy1SqrO7qcd6tKs5xU8EAxDDHGOTGgfJdERVNUqItxoIrlQS0c3uyDGRxaew+qpdlK+WMS2SsG7U0eQ3J95ufpn0IWkWc2ot0rDHe6EllVSav3R7zO3xwM+WVpF38rObNFxayx7N\/Ffo0aKJba+K50EVXCdHjUf6T2hSXvZGwvkcGNaMlzjgBUquB0KSatbHpFQ122FspXdFTl9ZKRo2EZGfH7ZUTpdqby5vRMZa6Zw1cdXn11+A8VZQe74GD6TC6j8z8P8AUXVyvVBamZq5w12MiNurj5Kifdb3tAdy0U7qKlOhqZdC4d3Lyz4qbbtkaCkk6eqc6uqCcl8w0z4ffKvgABgDACm4x24ldGXJzvSu5b\/f2KmzbOUdoPTAmeqd707xr34HYrdEVG23bN4QjBaYqkZa+D8G2lor11ugm\/Uz8hpgfDX\/AGrUNcHNDmkEEZBHao1yoIbnQS0k46sg0ONWnsIWdtd5lsMotF7yxkYxBUYJa5vLPL5cCr1qXDdHPaw5HfLL8P8AZZXDau00GWmfp5ASCyHrYI5ngq8XPaS8hv4fRMoYHA4lmOT46j5BXlLbLZFK6qpqaEySPLzKBvHJOuD2eSnJqitkW6vLPmlS8PczMGxzZphPeK2WufgDdLiAPPj8lf0lHTUMIhpYGQsHY0Yz4813RVcm9zTHhx4+VBF8JAGScAKvqr\/aqPImrot4fla7ePoFCTexeU4xVydFiizEu2JqHOjs9tqKxw03y0ho8hk+uF4\/Ctoby8OudaKKnI1gpzgnuP8AMlX0Nc3Aw+JjLhjWr0+5qWuDhlpBHMLEW6j3P7Q5mHGInSSDGo6wJHh7y11tt0FromUlPvmNmTl5ySSujaOmZVvq2wME7xuukA6xGmmfIeiiMtNjJieXQ3wadnZERUOkIo9XXUtDGZKqojhaBnrOxnwHaqKo2wjmLobPRz10w4EMIb444\/AKyi3sZTzY8fMzSqpuO0dpoGOZPUMldktMUeHnvyOzj2qqFjvt7Zm8XD2eEnPs8QHDkcaeuVb0Gzdqt+HQ0jHvGOvL13A92eHkrVFbsy15snLGl4+xlLPPehUVIsdJI2kqHbzDUDIZ3g8M+qt2bJ1Ne9k18uUlQ4D\/ACo9Gjz+wC1CKXkfZwKw6JFKptv0+xDobTQW1oFJSxxkDG\/jLj4nipiIs273OuMVFUkERFBIREQBR6uhpa+LoqqFsrcEa8RnQ4PEeSkIhDSapmYfse+meX2m6VFIck7hJI8NCNNO3K+Ck2xp\/crqWdo4B2M47zuhahFfrH2nP8LBctryZmMbZkY3qNvZnTTvXz8O2vnP627U8TT2MbqP\/H6rUImvwQ+GXbJ\/czH6Hy1RH4neKmqGfdGQB6k\/JWFLsvZqQDdomSOAwXSkvz5HT4K3RHOT7S0ejYou9P8AfqeY42RMDI2NY0cA0YAXpV1ZfrXQZFRWxhw\/K07zvQKodtdVVrtyzWmao\/6kgwBryH3RQkxLPihwb49y4moUaruFHQs3qqqihHJzgCfAcSqD8N2nugBrbiyhjP7uD3vUfcrvSbFWqHrVHS1cnaZHYHoP5qdMVuynW5ZckK8+H43PE+2tG55ht1NUVsx90MYQD9fgueNq7sc5itcBOeb8H1OfRaOnpaelj6OnhjibyY0BdU1JbInqckvqT\/hcP2Z2m2MoWv6WvnnrpcamRxA+GvxV7BTQUsYjp4WRMH5WNAC6oquTe5pDFDHyoIiKpqEREAREQBERAEREAREQBERAFwq6ymoYTNVTshYO1xxnw5qou20T4qoW61QirricEDVsZ7\/6wFxpNlXVE\/tV7qXVkmSRFvHcb59vhoFdRpXI5pZm3pxK3+Ec5drZ6x7orHbZKpwODI8ENHkPqQvhsF8ux3rtdOhiJB6CD5dg+a0sMMVPGI4ImRMHBrGgAeQXRTrrlRHUOf1ZX4bIp6HZWz0OC2lEzx+efrn04fBW7Whow0ADkF9RUbb3N4Y4QVRVBERQXCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAo1w9p\/D5\/Y2h1RuHowTjJ8dERCGrVEHZ2zNtVCHSsHtk3WmdnJydd3Pd81boiltt2ysIKEVGOyCIiguEREAREQBERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "ISG GROUP SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "CHRISTIAN",
    "correoContacto": "christian@isg.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56956440180",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I906\",\"id_control\":\"28597\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I908\",\"id_control\":\"28597\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I909\",\"id_control\":\"28597\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I910\",\"id_control\":\"28597\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:11",
    "ubicacionGPS": "LatLng(lat: -23.6618362, lng: -70.3999738)",
    "horaLlegada": "07:40",
    "horaDespacho": "11:10",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 11:11:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-t4_i-8Tzs+HfMWhbbFnXB2q7-d01MBFktpiDzGgzodr0f2H7RXb
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "77616386",
    "serieinterna": "EP2881",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se entrega insumos ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12484",
    "observacion": "se entrega insumos ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACHANADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABCEAABAwMBBAcGAgcGBwAAAAABAAIDBAURIQYSMVETIkFhcYGRFDKhscHRFUIWIzRDc+HwByQlM1KCNlNjcqKy8f\/EABgBAQADAQAAAAAAAAAAAAAAAAABAgME\/8QALxEAAgIBAgIIBgMBAQAAAAAAAAECEQMSMSEyBBNBUWFxsdEUIjORoeGBwfAjUv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBEUWvuNLbYBNVShjScAEjJ8OaJWQ2oq2SkVPRbU2ivlbDHU7kjsbrZWluTyzwyrhS01uVhOM1cXYREUFwiIgCIiAIolbdKG3M3quqji7icuPkNVSP2ufVvMdmts9W4HBe5pDRyOnZ44VlBvYxnnxwdN8fyaZQ6260FuGaurjiOM7pOXHyGqojbtqbpj2yvZQxHiyA9Yen3Uqi2MtVLh0zH1UnaZTpnngfXKtpit2Z9blnyRrz9tyNLtl7Q8w2i3T1b9esRgeOBkn4KZam7RS1oqblJBFTlp\/u7BqD\/XeeKuYoYoGCOGNkbB+VjQAvahyWyRaOKd6pyvy4IIiKh0BERAEVXdNordaQWzzb8o\/dR6u8+Xmqln6R7QdYuFqonDQDWRw+fyV1BtW+BhPPFPTHi+5f33FtdNordaQWzzb8o\/dR6u8+Xmqlty2mvLQaCjjoYHZxLKdcc9foFaW7Zm127D2U4mm7ZZusc8x2DyVspuK2RTq8uTnlS7l7mZGy9znO\/W3+ocSNWx5AGePb9FcWi3y22jNPLWSVbt8uD5OIB7OJ\/oqciq5t8GaQwQg7W\/mwsztq7cpaF\/+mqacc9Fplmdu2n8Fhkbo6OoaQfJ38lOPmRTpX0ZFnc9nrddIi2WnYyTB3ZWDDmny4+BVTabpV2auFlvLstP7PUk6OHYCeXy4LTtcHsDhwIyoF7tEV5t7qd53XjrRvx7rvtzSMuyWwyYnfWY+b18GWKLP7NXWaXftNwy2tpBg5Od9oxrntOvnxWgVZKnRrjyLJHUgiIoNCtu1+obMwe0yEyOHViZq4\/bzVK2q2k2gcDTN\/DKM8Hu95w+Z8sDvXmiFLHtvWC5RYqZCDTPf7p4YxnOugx4EacFrlq6h2HFFSzt3KknVLf8Almfo9jbbA8y1ZkrZicl0rjjPh2+eVexQxQMEcMbI2D8rGgBe0VHJvc6YYoY+VUERFU0CIiAIi8TSxwQvmleGRsBc5x4AINj05wa0ucQABkk9iy1Zfay9VZttgy1oP62rOgA7uXjxPYuTpq\/bCofFTk01pY7D3nR0n3PdwHb2LT0NDTW2lbTUsYZG31J5k9pWlKG+5x6pZ+EeEe\/tfl7lbaNmKK1lszx7RV8TNJrr3Ds+aukRUbbds6YY441UVQREUFwiIgCz224B2ddkcJW4WhWe23\/4df8AxWq+PmRz9J+jLyLqi\/Yaf+E35LuuFF+w0\/8ACb8l3VXubR5UZnaqkmpZIL9QjE9MQJcfmZ3+uPA9yvqGsiuFFFVwHMcrcju5jyOi7PY2SN0b2hzXAhwPaFl7G91hvk1jnc4wzHfpXHhw4fTxHer80a7Uc7\/5Zb7Jev7NUiIszqKy9WKlvdPuTdSVo\/VzAZLfuO5UsF7r9nHiivcMk0AOIqpmpI7+fz8VrV4lhjnidFMxskbxhzXDIIV1LhT2OfJhuWuDqXr5nmnqYKuETU0zJYzwcw5C6rL1Gyc9HUGrsNa6lkJyYnnqnuzy7iCg2nuFrmbDfbc5jeHTw6tPfy+Pkp0Xysr8Q4cMqrx3X+8zUIoFBe7bcsClq2OeRnoyd13oVPVGmtzojKMlcXYREUFgsncpp9qLm+0Uh6Oip3A1E2PePIfTnjKm7WXKWloWUdL1qqsd0bQD1gDpkfAKfZbTFZ7eymjAL8ZkeB77ua0j8q1HJkvLPqlst\/Yl01NFR00dPAwMjjbutAXVEWZ1JJKkEREJCIiAIi41NXT0cXS1M8cLOb3AZQhtJWzss9tvn9HXY\/5rcrlWba07C\/2Glmqo4\/8AMlDSGgf\/AHHHC8bYVLanZWnqG9Vs743gZ7C0nC1jFqSs48+bHPFNRd8DR0ePYoMcOjb8l2UcTQUtPGJpY4QGgddwbj1UOfaSzU\/v3GE\/wyX\/APrlZ03sdOuMF8zotFSbT2h1yoRPT5FXSnpIi3ieY+Gneo023Fta4Np4amocTgbrMA+uvwXj9JbzUaUuzs4zwdKTj5D5rSMJp2c+TPgyRcLvytlps\/dm3i1xzkgTN6srR2OHb58VZr86qIr9Zql1c4MoG1sm68xgFjdc8Ncdp58Vq7PZamjqTV1N3nrHPbgNJ6mOepOUnBLjZGDPOVQcXa37P5LpERZHaF5c1r2lr2hzTxBGQV6RAUddshaK0lwgNM\/HGA7o9OCgmzbR2vW23P2uMZxFPx8BnI+IWqRXU5HPLo2Nu0qfhwMuza2eieIr1bJaY8Okj1aT4H7n4LQ0dbTV9OKilmbLG78w+RHYqq\/3+ioIzSGJtZUS9UU+N4f7vtxTZa01FsopHVIayWd5eYmcGdytJLTdUZ45zWXq71L0IYabjt87J3orfFka6ZI+7vgtQsxZ8R7a3aM+85gdju0+4WnVZ7ov0baT72wiIqHSEXOeeGmiMs8rIo28XPOAFn6rbKl6VsFsp5a+Z3AMBaPlk+isot7GWTLDHzM0irLhtDa7YS2oqm9IP3bOs7w04eeFTmg2lvjMV1Sy307jrFGOsR34+pVpbtmbVbQ1zKcSyt16SXrHPyCtpit2ZdZlnyRpd79is\/HL7em\/4Pb\/AGeInHtExB05jOnpldafZET1HtN5rZK6Qj3ODR3c8eGFpUTXXLwJXR0+OR6vT7FRfKGCPZqshghZEwRb2I2gaDX6LN3SUVWx9lgH7yUNz\/25b9VtqmEVFLLAeEjCw+Ywvzu1zOqqyz25zN00tU4uHPUHX0Kvj4ryOXpaUZJf+lX5Rsrls1brrWirqmyF4aGkNdgEDmvUGzNlp8blvidjtky\/55Vqiy1SqrO7qcd6tKs5xU8EAxDDHGOTGgfJdERVNUqItxoIrlQS0c3uyDGRxaew+qpdlK+WMS2SsG7U0eQ3J95ufpn0IWkWc2ot0rDHe6EllVSav3R7zO3xwM+WVpF38rObNFxayx7N\/Ffo0aKJba+K50EVXCdHjUf6T2hSXvZGwvkcGNaMlzjgBUquB0KSatbHpFQ122FspXdFTl9ZKRo2EZGfH7ZUTpdqby5vRMZa6Zw1cdXn11+A8VZQe74GD6TC6j8z8P8AUXVyvVBamZq5w12MiNurj5Kifdb3tAdy0U7qKlOhqZdC4d3Lyz4qbbtkaCkk6eqc6uqCcl8w0z4ffKvgABgDACm4x24ldGXJzvSu5b\/f2KmzbOUdoPTAmeqd707xr34HYrdEVG23bN4QjBaYqkZa+D8G2lor11ugm\/Uz8hpgfDX\/AGrUNcHNDmkEEZBHao1yoIbnQS0k46sg0ONWnsIWdtd5lsMotF7yxkYxBUYJa5vLPL5cCr1qXDdHPaw5HfLL8P8AZZXDau00GWmfp5ASCyHrYI5ngq8XPaS8hv4fRMoYHA4lmOT46j5BXlLbLZFK6qpqaEySPLzKBvHJOuD2eSnJqitkW6vLPmlS8PczMGxzZphPeK2WufgDdLiAPPj8lf0lHTUMIhpYGQsHY0Yz4813RVcm9zTHhx4+VBF8JAGScAKvqr\/aqPImrot4fla7ePoFCTexeU4xVydFiizEu2JqHOjs9tqKxw03y0ho8hk+uF4\/Ctoby8OudaKKnI1gpzgnuP8AMlX0Nc3Aw+JjLhjWr0+5qWuDhlpBHMLEW6j3P7Q5mHGInSSDGo6wJHh7y11tt0FromUlPvmNmTl5ySSujaOmZVvq2wME7xuukA6xGmmfIeiiMtNjJieXQ3wadnZERUOkIo9XXUtDGZKqojhaBnrOxnwHaqKo2wjmLobPRz10w4EMIb444\/AKyi3sZTzY8fMzSqpuO0dpoGOZPUMldktMUeHnvyOzj2qqFjvt7Zm8XD2eEnPs8QHDkcaeuVb0Gzdqt+HQ0jHvGOvL13A92eHkrVFbsy15snLGl4+xlLPPehUVIsdJI2kqHbzDUDIZ3g8M+qt2bJ1Ne9k18uUlQ4D\/ACo9Gjz+wC1CKXkfZwKw6JFKptv0+xDobTQW1oFJSxxkDG\/jLj4nipiIs273OuMVFUkERFBIREQBR6uhpa+LoqqFsrcEa8RnQ4PEeSkIhDSapmYfse+meX2m6VFIck7hJI8NCNNO3K+Ck2xp\/crqWdo4B2M47zuhahFfrH2nP8LBctryZmMbZkY3qNvZnTTvXz8O2vnP627U8TT2MbqP\/H6rUImvwQ+GXbJ\/czH6Hy1RH4neKmqGfdGQB6k\/JWFLsvZqQDdomSOAwXSkvz5HT4K3RHOT7S0ejYou9P8AfqeY42RMDI2NY0cA0YAXpV1ZfrXQZFRWxhw\/K07zvQKodtdVVrtyzWmao\/6kgwBryH3RQkxLPihwb49y4moUaruFHQs3qqqihHJzgCfAcSqD8N2nugBrbiyhjP7uD3vUfcrvSbFWqHrVHS1cnaZHYHoP5qdMVuynW5ZckK8+H43PE+2tG55ht1NUVsx90MYQD9fgueNq7sc5itcBOeb8H1OfRaOnpaelj6OnhjibyY0BdU1JbInqckvqT\/hcP2Z2m2MoWv6WvnnrpcamRxA+GvxV7BTQUsYjp4WRMH5WNAC6oquTe5pDFDHyoIiKpqEREAREQBERAEREAREQBERAFwq6ymoYTNVTshYO1xxnw5qou20T4qoW61QirricEDVsZ7\/6wFxpNlXVE\/tV7qXVkmSRFvHcb59vhoFdRpXI5pZm3pxK3+Ec5drZ6x7orHbZKpwODI8ENHkPqQvhsF8ux3rtdOhiJB6CD5dg+a0sMMVPGI4ImRMHBrGgAeQXRTrrlRHUOf1ZX4bIp6HZWz0OC2lEzx+efrn04fBW7Whow0ADkF9RUbb3N4Y4QVRVBERQXCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAo1w9p\/D5\/Y2h1RuHowTjJ8dERCGrVEHZ2zNtVCHSsHtk3WmdnJydd3Pd81boiltt2ysIKEVGOyCIiguEREAREQBERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "ISG GROUP SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "CHRISTIAN",
    "correoContacto": "christian@isg.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56956440180",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I906\",\"id_control\":\"28597\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I908\",\"id_control\":\"28597\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I909\",\"id_control\":\"28597\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I910\",\"id_control\":\"28597\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:11",
    "ubicacionGPS": "LatLng(lat: -23.6618362, lng: -70.3999738)",
    "horaLlegada": "07:40",
    "horaDespacho": "11:10",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 11:11:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:77616386

[08/05/2026 11:11:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('77616386', 'EP2881', 1, 95585912, 0, NOW(), 
				'11:10', '07:40', '11:11', 10, 'se entrega insumos ', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778253093.png', 'se entrega insumos ', null, 'COMPLETADO','LatLng(lat: -23.6618362, lng: -70.3999738)' )
				
[08/05/2026 11:11:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200229
[08/05/2026 11:11:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200229', 'EPS-I906', 1)
				
[08/05/2026 11:11:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28597 and
				    IDproducto = 'EPS-I906'
				

08/05/2026 11:11:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I906';
                [08/05/2026 11:11:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200229', 'EPS-I908', 1)
				
[08/05/2026 11:11:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28597 and
				    IDproducto = 'EPS-I908'
				

08/05/2026 11:11:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I908';
                [08/05/2026 11:11:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200229', 'EPS-I909', 1)
				
[08/05/2026 11:11:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28597 and
				    IDproducto = 'EPS-I909'
				

08/05/2026 11:11:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I909';
                [08/05/2026 11:11:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200229', 'EPS-I910', 1)
				
[08/05/2026 11:11:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28597 and
				    IDproducto = 'EPS-I910'
				

08/05/2026 11:11:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I910';
                
08/05/2026 11:11:33 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200229'                    
				WHERE idllamado = 12484			
				TO ENVIO: micorreo@miempresa.cl, christian@isg.cl


08/05/2026 11:11:33 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12484			
				
08/05/2026 11:11:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 11:11:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11:11:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                [08/05/2026 11:11:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:11:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:11:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:11:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:11:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11:11:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11:11:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11:11:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11:11:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11:11:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            [08/05/2026 11:11:36] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:11:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11:11:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12484
            GROUP BY l.idllamado;
            
08/05/2026 11:11:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11:11:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12484
                
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            [08/05/2026 11:11:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            [08/05/2026 11:11:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            [08/05/2026 11:11:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11: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 = 12496
                
08/05/2026 11: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 = 12496
                
08/05/2026 11: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 = 12496
                
08/05/2026 11: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 = 12496
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            [08/05/2026 11:11:39] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

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

08/05/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 = 12423
                [08/05/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;
                
[08/05/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;
                

08/05/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 = 12423
                
08/05/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 = 12423
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/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 = 12423
                
08/05/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 = 12423
                
08/05/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 = 12423
                
08/05/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 = 12423
                
08/05/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 = 12423
                
08/05/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 = 12423
                
08/05/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 = 12423
                
08/05/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 = 12423
                [08/05/2026 11:12:33] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            [08/05/2026 11:12:33] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:12:33] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:12:33] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            [08/05/2026 11:12:34] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11: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 = 12496
                
08/05/2026 11:12:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12496
                
08/05/2026 11: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 = 12496
                
08/05/2026 11:12:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12496
                
08/05/2026 11: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 = 12496
                
08/05/2026 11: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 = 12496
                
08/05/2026 11:12:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12496
                
08/05/2026 11: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 = 12496
                
08/05/2026 11:12:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:12:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12496
                
08/05/2026 11: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 = 12496
                
08/05/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 = 12496
                
08/05/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 = 12496
                
08/05/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 = 12496
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/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 = 12496
                
08/05/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 = 12496
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/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 = 12496
                
08/05/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 = 12496
                
08/05/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 = 12496
                
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12496
                
08/05/2026 11: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 = 12496
                
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12496
                
08/05/2026 11: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 = 12496
                
08/05/2026 11: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 = 12496
                
08/05/2026 11: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 = 12496
                
08/05/2026 11:13:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:13:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:13:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:13:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:13:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:13:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:13:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:13:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:13:40 - logentry: =========================================
FECHA: 08/05/2026 11:13:40
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Qpp5dW_k20eoHQeqzNc4-c_1Edk3i1.ImWyGeB6kAdw3skD-hpz
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "BR-1544",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12496",
    "observacion": "se entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACBAPADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xAA\/EAABAwMCAgcGAwUHBQAAAAABAAIDBAURBiESMRNBUXGBkaEUIjJhsdFCUsEVIyRD8QcWM0Ry4fBTVWKDkv\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC8RAAIBAgMGBAYDAQAAAAAAAAABAgMREiExEyJBUWHRBDJxkRQzgaHh8CNCwbH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBERAEREARFCr7vb7aP4uqZG7GQzOXHwG6lJvQiUlFXbsTVy97I2F8jgxrRkuccALMO1JdLqZIrJbXYacdPMcAeHLPie5fWaUqbhKyovtxfUuH8mPZo8fsAr4LeZnN8Q5fKjfroiRW6woYndDQNfX1DjhrImnGe\/G\/hlSLKb7LNJUXURRRSN\/dwN+Jh\/p88qbQWyjtsXR0lOyIdZA3d3nmVLUNxtZItCnUbUpy+i0\/IREVDoCIiAIiIAir7reqK0RF9TKOMjLYm7ud3D9VQhl91QeN7zbrc47NGeN4\/X0CuoN5vQwqV1F4Yq75L\/eRa3LVNstzui6X2ibOOji97B+Z6vqq8XHVN0z7HQMoYjyfOPeHn9lcW6xW61saKanbxgf4rxl58fsrFTiitEU2dWfnlbou5mBpm6VZ4rlfJXZxlkQ937dnUg0Jb\/iNXWdJ+bjb9lp0UbSRPwtHir+py1oYwMbyaMDfK6RFQ6QuJZWQxPlkcGsY0uc49QHMrtUOsa11JYnxxuxJUPEbcc8cz6DHipiruxnVns4OXIgwS3fU9RPJS1z6ChieWxPYw5k38OweaSy6h04elnlFyoWkcbiPfaO3t+oWhtdGKC2U9KGhvRsAcB+bmfXKlEAjBGQVdzV7WyOePh244nJ4uf40sRLbdKW60oqKWTiH4mn4mHsIUxZK5U8ul7s27UjSaGc8FREOTMnqHV2j57da1UMsc8LJonh8bwHNcORCiUbZrQ1pVHK8Z+ZftztERUNwiIgMxdqm63G+us1FVMomMYHukDiHvGBy8zy7N1KoNI22jf00wfWTbEvnORnu++V1frCbjwVlHJ0FfDux4OOLHUfuolDq5kJdTX2J1FUxjc8DiH\/ADwBt9Ftm47pwNQjVbrfRvT06Gla0NaGtAAAwAOpfVyx7ZI2yMcHNcAWkdYXSxO8IiIAiIgCIvOaaKnhfNM8MjYMuc47AINDskAZJwAs3cdTTT1Rt1ih9pqM4dNjLGdv9eXeoslVcdXTupqQGltbXYkmI3k+X+3mtJbbZSWqmFPSR8LeZcd3OPaT1rSyjrqcmOdbKnlHnz9O5V2rS8VNN7bcn+21zjxF7t2tPyB5959Ffoio5N6m9OnGmrRQREUGgREQBEUC5XqgtLR7VOA8\/DG3dx8OrvKlJvQrKUYq8nZE9ZfUf8bqW0W7m0O6Z7R1jP2aUtmp6yuvsVJLR+zwzsLo+PPEWjJz884KUjTVf2gVcuMspoA0OA68NGPU+S0jFxd3yOOpVjWglHRtL\/TUIiLI7jxq6WKtpZKadvFHK3hcFQaXnkoqqrsNS\/L6V3FESfiYd\/1B8VpVltTxm2XWgvsZIDJBFMB1t3\/TI8lpDPdOWvuNVVw19P3M1KLlrmvYHscHNcMgg5BCPeyNhfI4Ma0ZLnHACzOo6RUVw1da6LiZHIaqYHAZFuM\/6uXllV3Qaj1HvUP\/AGZRO\/AMhzh3cz44CuoPV5HNLxEb4Ybz6dywuup2UtQKK3w+21jtuBhy1h+eP+dyi0umai4yOq9QzdNI9uGQscQIs\/MbeH1VvabHRWaMimYTI4YdK\/dzvsPkrFTiSyiQqMqjxVvbh+TKCxXqxyF9lrRPT7k08\/njs37RhesGsWQydBeKGailzji4SW\/fyytMvOWGKojMc0TJWHm17QR5FMafmQ2EofKlbpqjzpLhR1zeKlqY5h\/4OyR4KQs7WaLt0z+lo5JaKXqMZy3y+xCjhmq7NxFr2XSAY2d8Y\/X6phi9GNtUh8yP1Wf21NUiz9BrChqZjT1cclDMObZfh8+rxwr9rg5oc0ggjII61Rxa1NqdWFRXi7hzg1pc4gADJJ6lkuKfWVe5oc6K0U78HGxmP\/PLKkaprJqqop7BRkdJVkdK7ra3Of0JPyHzV7QUMNtoo6WnbhkYxnG7j1k\/Mq63VfiYS\/mng\/qter5dz1hhip4WQwsDI2DDWtGwC9ERZnXoEREARfCQBknACpK\/V1qoiWMlNVKDjghGfXkpUW9Ck6kKavJ2LxQLleqC1MzVzhrsZEbd3HwVJ7Rqe9vIp4ha6Y\/jkHvkfXyA71Mt+kaCklM9SXVs5OeObceX3yr4UvMzDa1Knyo\/V9tSCLhfNSnhtzDbqLkZ3H3nd3+3mrK3aWt9BKKiQPqqnmZZjnftA\/qrkAAYAwAvqhzeiyLR8Or4pvE+v+IzFWeP+0ShwPgpjnPc\/wC6+aQHtVVdbkd+mqC1ruYxucDzHoo13nbDq+adxwIKB57zwnH1Xvpyto7HpiCatk6EVD3vHuEk746h2ALVrd9jjhJbd3eSbf8AxGqRZl+tqeSQxW+31VY8HbAxnyyfRc+2asuJxT0UNBGfxy7kef2WWzfHI6\/iqb8t36I0z3sjYXyODGtGS5xwAs7qK+WWW11NG+pbNI9hDWxDiw7qOeWx+a8xpCeseJLvdp6g\/kYcAd2erwCuKKxWu3j+Go42u\/O4cTvM7qVhjne5WW2qJrCknzz+y7mWs131BW26OhttPEDTYY+d5HujqGD8tuRVgzSNVXOEl6uss5\/6cZ2G\/afsFxUk6f1e2qxw0Vx2kPU1\/b57+JWsVpSazjxMaNFTTjUbbjlbh0yIVBZ7fbB\/CUrI3EYL+bj4lTURZNt6nfGKirRVgiIoLBERAEXwkAZJwAqK4atoqaT2eia6vqScNZDuM9\/X4ZUqLehnOpCmrydiwudrt9xgPt0LHBgJ6Q+6WD\/V1fRZmwSGk1F+z7VWy1dvwTJxN91h7\/DmMZypX7GvV\/c195qBS0ucili5nv7PHPcFoaG30ttpxBSQtiYNzjmT2k9a0uoq17nLgdWopqOG3Hi\/x6lFa29Jri6SyjL2RgMz1DYbeS0yzOoqWottezUNA3idGA2ojA+NvafDA+WAVdWy6Ut2pG1FM\/IPxNPxMPYQomrpSRpQajKVN63b9UyYvhIAyTgBVl5F6d0bLQYWcQPHJJzbyxj+iq26Sqq0h15u89QMk9HGcNHn9lCirXbLzqzUsMYt\/ZFjWaos9HkPrGSOH4Yvf9Rsqx2orzdNrNantjcNpphgeGdvqrej07aaEh0NFHxjk544yO7PJWam8VoimCtPzSt6d2ZYaWuFydx3u6PkBOehhPujz2Hkru32a32sH2OmZG48383HxO6nIqubZpChTg7pZ83mwiIqmwRF4z1VNSt4qioihb2yPDR6oQ2lqYTWr3wX5xjIHTUzWu33xk+XJbKktlOLVR0tTTxy9BG3aRgOHY3OD4rEalr6Kr1LBURzCWnYGB7mDPJxzjt2W4tV1gvFKainZKxrXlhEjcEELed1BHm+GcJV6mepMjjZEwMjY1jRyDRgBdIiwPTCIiAr73bGXe1y0rgOPHFGT+F45H9PFQtKXWSvt7qapJ9qpD0bweZHUT89iPBXqyt6abBfoL3ED7PUHoqpo+vkM94+a0jvLCctb+OaqrTR+n4NUi5Y9skbZGODmuALSOsI97I2F8jgxrRkuccALM6jpFQ1ur7bTPEVNx1szvhbAMjPZn7ZUNsmq7xjhbHa4HEjJHv48d8+SuoPV5HO\/EwvaO8+n7Y0VXcKOgZx1dTHCMZHG7BPcOZWfm1g+rf0Flt8tVJnHG9uGj57frhe1Ho2hilE9bNLXTdZlPunw5+ZKvoYYqeMRwRMiYOTWNAA8Ap3F1K2rz13V7vsZn+7l1vEokvlfwxcxTwHYfLsHqr232mgtbS2jp2xkjDnc3HvJ3U1FVzbyNIUIQeK13zeoREVTYLOVel3wVJq7HVmhmPxR5\/du8O\/q3C0aKyk1oZ1KUai3jMC9aht21ytHtDBzlpz1eGfn2dXj3Hrm2Els8NTA8cw5gO\/gVpFxJDFMAJY2PA5cTQcKcUXqjLZVY+Wfur9ioZq6xv\/AM9wnsdG4fou\/wC9Vj\/7gz\/5d9lIfY7TIcuttLn5RNH6L4bDaDzt1Of\/AFhTudRbxPOP3IztW2JuM1437I3n6BeMmtbKz4ZZZP8ATEf1wrBtjtLM4ttLv2wtP1C947fRQkGKjgYQMAtiaP0UbnUW8Q+K9n3KA62hl4hRWyrqCNx7uAR4ZXw3fVFbkUlmbTDHOc7jzx9FpwABgDAC+qcUVohsaj8039El3MuLLqStB9uvfQNJ+GAdXhwr1ptE22NxkqZZ6p5G5e\/hB8t\/VaNFG0lwC8LS1kr+uZQjSlLFeqevpi2GKFvvQ8BdxnffJPz9FfIiq5N6msKcIXwq1wiKHWXa30A\/iqyKI\/lLsu8huiV9C7koq7ZMRZmfWtM9\/RW2jqK2Q8uFuBy8T6LnpdXXI\/u4oLdGeRfu7Hrv4BW2b45HP8TB5QvL0\/bGme9kbC+RwY1oyXOOAFnr7frDNQTUc1T0\/G3lB7xB6iDyXEejRPIJLrcqmscDnh4sD1yfLCt6Ox2ygwaeiia4fjI4neZ3UrDHjcq9tUVrJLrmZey3DUkltioqGhaGty0VEwIDW9WM9nip7dJ1VwkbPfLlJUOA\/wAKPZrfH7ALUIjqO+SsI+FjZKbcre3sQ6G00FtaBSUscZAxx4y4955qYiKjd9TqjFRVkgiIoJCIiAIiIAiIgCIiAIiIAiIgCLiWaKBhkmkZGwfie4AKmrNX2ik91kzql\/5YG59eSlRb0M51IQ8zsXi+EgDJOAFlm3rUd0x+zrU2micNpZj1du+M+AK6OlbhcHB14vMsgPOOHZvh1eivgtqzH4hy+XFv7L7lnW6mtFCP3lYyR35YvfPoqs6ouVwPDZ7PK8HlLNs37eqtaHTlpt+DDRsc8fzJPfdnt35eGFZgADAGAEvBaK4wV5+aVvTu+xl3WTUN1B\/aV1FNGf5MA6j1HGM+OVMpNHWemIdJE+pfnJdM7PoMBXqKHOXAsvDU07tXfXM84YIadgZBEyJg5NY0NHovREVDoSsEREAREQBERAEREAREQBERAEREAREQBEWWuE9y1BcJbZRNkpKOF3DPO4EF2Oofbr61aMbmVWpgWl29ETrlqy2W\/LGPNTNyEcQzvy58lAM+qbzvBCy107m7F5977+gV1a7JQ2iINpoRx4w6Vwy93j+isFbFFaIy2VWfzJW6LuZlmjIp5BLdLhU1sg7XYHdvk+quaOzW2gwaajijc3k7hy7zO6moqucnqzSFCnB3SzCIiqbBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "WILIIAM",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "PERSONAL",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "CAFE",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"NES-I429\",\"id_control\":\"28608\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:13",
    "ubicacionGPS": "LatLng(lat: -23.6618369, lng: -70.3999729)",
    "horaLlegada": "07:40",
    "horaDespacho": "11:11",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 11:13:40
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Qpp5dW_k20eoHQeqzNc4-c_1Edk3i1.ImWyGeB6kAdw3skD-hpz
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "BR-1544",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12496",
    "observacion": "se entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACBAPADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xAA\/EAABAwMCAgcGAwUHBQAAAAABAAIDBAURBiESMRNBUXGBkaEUIjJhsdFCUsEVIyRD8QcWM0Ry4fBTVWKDkv\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC8RAAIBAgMGBAYDAQAAAAAAAAABAgMREiExEyJBUWHRBDJxkRQzgaHh8CNCwbH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBERAEREARFCr7vb7aP4uqZG7GQzOXHwG6lJvQiUlFXbsTVy97I2F8jgxrRkuccALMO1JdLqZIrJbXYacdPMcAeHLPie5fWaUqbhKyovtxfUuH8mPZo8fsAr4LeZnN8Q5fKjfroiRW6woYndDQNfX1DjhrImnGe\/G\/hlSLKb7LNJUXURRRSN\/dwN+Jh\/p88qbQWyjtsXR0lOyIdZA3d3nmVLUNxtZItCnUbUpy+i0\/IREVDoCIiAIiIAir7reqK0RF9TKOMjLYm7ud3D9VQhl91QeN7zbrc47NGeN4\/X0CuoN5vQwqV1F4Yq75L\/eRa3LVNstzui6X2ibOOji97B+Z6vqq8XHVN0z7HQMoYjyfOPeHn9lcW6xW61saKanbxgf4rxl58fsrFTiitEU2dWfnlbou5mBpm6VZ4rlfJXZxlkQ937dnUg0Jb\/iNXWdJ+bjb9lp0UbSRPwtHir+py1oYwMbyaMDfK6RFQ6QuJZWQxPlkcGsY0uc49QHMrtUOsa11JYnxxuxJUPEbcc8cz6DHipiruxnVns4OXIgwS3fU9RPJS1z6ChieWxPYw5k38OweaSy6h04elnlFyoWkcbiPfaO3t+oWhtdGKC2U9KGhvRsAcB+bmfXKlEAjBGQVdzV7WyOePh244nJ4uf40sRLbdKW60oqKWTiH4mn4mHsIUxZK5U8ul7s27UjSaGc8FREOTMnqHV2j57da1UMsc8LJonh8bwHNcORCiUbZrQ1pVHK8Z+ZftztERUNwiIgMxdqm63G+us1FVMomMYHukDiHvGBy8zy7N1KoNI22jf00wfWTbEvnORnu++V1frCbjwVlHJ0FfDux4OOLHUfuolDq5kJdTX2J1FUxjc8DiH\/ADwBt9Ftm47pwNQjVbrfRvT06Gla0NaGtAAAwAOpfVyx7ZI2yMcHNcAWkdYXSxO8IiIAiIgCIvOaaKnhfNM8MjYMuc47AINDskAZJwAs3cdTTT1Rt1ih9pqM4dNjLGdv9eXeoslVcdXTupqQGltbXYkmI3k+X+3mtJbbZSWqmFPSR8LeZcd3OPaT1rSyjrqcmOdbKnlHnz9O5V2rS8VNN7bcn+21zjxF7t2tPyB5959Ffoio5N6m9OnGmrRQREUGgREQBEUC5XqgtLR7VOA8\/DG3dx8OrvKlJvQrKUYq8nZE9ZfUf8bqW0W7m0O6Z7R1jP2aUtmp6yuvsVJLR+zwzsLo+PPEWjJz884KUjTVf2gVcuMspoA0OA68NGPU+S0jFxd3yOOpVjWglHRtL\/TUIiLI7jxq6WKtpZKadvFHK3hcFQaXnkoqqrsNS\/L6V3FESfiYd\/1B8VpVltTxm2XWgvsZIDJBFMB1t3\/TI8lpDPdOWvuNVVw19P3M1KLlrmvYHscHNcMgg5BCPeyNhfI4Ma0ZLnHACzOo6RUVw1da6LiZHIaqYHAZFuM\/6uXllV3Qaj1HvUP\/AGZRO\/AMhzh3cz44CuoPV5HNLxEb4Ybz6dywuup2UtQKK3w+21jtuBhy1h+eP+dyi0umai4yOq9QzdNI9uGQscQIs\/MbeH1VvabHRWaMimYTI4YdK\/dzvsPkrFTiSyiQqMqjxVvbh+TKCxXqxyF9lrRPT7k08\/njs37RhesGsWQydBeKGailzji4SW\/fyytMvOWGKojMc0TJWHm17QR5FMafmQ2EofKlbpqjzpLhR1zeKlqY5h\/4OyR4KQs7WaLt0z+lo5JaKXqMZy3y+xCjhmq7NxFr2XSAY2d8Y\/X6phi9GNtUh8yP1Wf21NUiz9BrChqZjT1cclDMObZfh8+rxwr9rg5oc0ggjII61Rxa1NqdWFRXi7hzg1pc4gADJJ6lkuKfWVe5oc6K0U78HGxmP\/PLKkaprJqqop7BRkdJVkdK7ra3Of0JPyHzV7QUMNtoo6WnbhkYxnG7j1k\/Mq63VfiYS\/mng\/qter5dz1hhip4WQwsDI2DDWtGwC9ERZnXoEREARfCQBknACpK\/V1qoiWMlNVKDjghGfXkpUW9Ck6kKavJ2LxQLleqC1MzVzhrsZEbd3HwVJ7Rqe9vIp4ha6Y\/jkHvkfXyA71Mt+kaCklM9SXVs5OeObceX3yr4UvMzDa1Knyo\/V9tSCLhfNSnhtzDbqLkZ3H3nd3+3mrK3aWt9BKKiQPqqnmZZjnftA\/qrkAAYAwAvqhzeiyLR8Or4pvE+v+IzFWeP+0ShwPgpjnPc\/wC6+aQHtVVdbkd+mqC1ruYxucDzHoo13nbDq+adxwIKB57zwnH1Xvpyto7HpiCatk6EVD3vHuEk746h2ALVrd9jjhJbd3eSbf8AxGqRZl+tqeSQxW+31VY8HbAxnyyfRc+2asuJxT0UNBGfxy7kef2WWzfHI6\/iqb8t36I0z3sjYXyODGtGS5xwAs7qK+WWW11NG+pbNI9hDWxDiw7qOeWx+a8xpCeseJLvdp6g\/kYcAd2erwCuKKxWu3j+Go42u\/O4cTvM7qVhjne5WW2qJrCknzz+y7mWs131BW26OhttPEDTYY+d5HujqGD8tuRVgzSNVXOEl6uss5\/6cZ2G\/afsFxUk6f1e2qxw0Vx2kPU1\/b57+JWsVpSazjxMaNFTTjUbbjlbh0yIVBZ7fbB\/CUrI3EYL+bj4lTURZNt6nfGKirRVgiIoLBERAEXwkAZJwAqK4atoqaT2eia6vqScNZDuM9\/X4ZUqLehnOpCmrydiwudrt9xgPt0LHBgJ6Q+6WD\/V1fRZmwSGk1F+z7VWy1dvwTJxN91h7\/DmMZypX7GvV\/c195qBS0ucili5nv7PHPcFoaG30ttpxBSQtiYNzjmT2k9a0uoq17nLgdWopqOG3Hi\/x6lFa29Jri6SyjL2RgMz1DYbeS0yzOoqWottezUNA3idGA2ojA+NvafDA+WAVdWy6Ut2pG1FM\/IPxNPxMPYQomrpSRpQajKVN63b9UyYvhIAyTgBVl5F6d0bLQYWcQPHJJzbyxj+iq26Sqq0h15u89QMk9HGcNHn9lCirXbLzqzUsMYt\/ZFjWaos9HkPrGSOH4Yvf9Rsqx2orzdNrNantjcNpphgeGdvqrej07aaEh0NFHxjk544yO7PJWam8VoimCtPzSt6d2ZYaWuFydx3u6PkBOehhPujz2Hkru32a32sH2OmZG48383HxO6nIqubZpChTg7pZ83mwiIqmwRF4z1VNSt4qioihb2yPDR6oQ2lqYTWr3wX5xjIHTUzWu33xk+XJbKktlOLVR0tTTxy9BG3aRgOHY3OD4rEalr6Kr1LBURzCWnYGB7mDPJxzjt2W4tV1gvFKainZKxrXlhEjcEELed1BHm+GcJV6mepMjjZEwMjY1jRyDRgBdIiwPTCIiAr73bGXe1y0rgOPHFGT+F45H9PFQtKXWSvt7qapJ9qpD0bweZHUT89iPBXqyt6abBfoL3ED7PUHoqpo+vkM94+a0jvLCctb+OaqrTR+n4NUi5Y9skbZGODmuALSOsI97I2F8jgxrRkuccALM6jpFQ1ur7bTPEVNx1szvhbAMjPZn7ZUNsmq7xjhbHa4HEjJHv48d8+SuoPV5HO\/EwvaO8+n7Y0VXcKOgZx1dTHCMZHG7BPcOZWfm1g+rf0Flt8tVJnHG9uGj57frhe1Ho2hilE9bNLXTdZlPunw5+ZKvoYYqeMRwRMiYOTWNAA8Ap3F1K2rz13V7vsZn+7l1vEokvlfwxcxTwHYfLsHqr232mgtbS2jp2xkjDnc3HvJ3U1FVzbyNIUIQeK13zeoREVTYLOVel3wVJq7HVmhmPxR5\/du8O\/q3C0aKyk1oZ1KUai3jMC9aht21ytHtDBzlpz1eGfn2dXj3Hrm2Els8NTA8cw5gO\/gVpFxJDFMAJY2PA5cTQcKcUXqjLZVY+Wfur9ioZq6xv\/AM9wnsdG4fou\/wC9Vj\/7gz\/5d9lIfY7TIcuttLn5RNH6L4bDaDzt1Of\/AFhTudRbxPOP3IztW2JuM1437I3n6BeMmtbKz4ZZZP8ATEf1wrBtjtLM4ttLv2wtP1C947fRQkGKjgYQMAtiaP0UbnUW8Q+K9n3KA62hl4hRWyrqCNx7uAR4ZXw3fVFbkUlmbTDHOc7jzx9FpwABgDAC+qcUVohsaj8039El3MuLLqStB9uvfQNJ+GAdXhwr1ptE22NxkqZZ6p5G5e\/hB8t\/VaNFG0lwC8LS1kr+uZQjSlLFeqevpi2GKFvvQ8BdxnffJPz9FfIiq5N6msKcIXwq1wiKHWXa30A\/iqyKI\/lLsu8huiV9C7koq7ZMRZmfWtM9\/RW2jqK2Q8uFuBy8T6LnpdXXI\/u4oLdGeRfu7Hrv4BW2b45HP8TB5QvL0\/bGme9kbC+RwY1oyXOOAFnr7frDNQTUc1T0\/G3lB7xB6iDyXEejRPIJLrcqmscDnh4sD1yfLCt6Ox2ygwaeiia4fjI4neZ3UrDHjcq9tUVrJLrmZey3DUkltioqGhaGty0VEwIDW9WM9nip7dJ1VwkbPfLlJUOA\/wAKPZrfH7ALUIjqO+SsI+FjZKbcre3sQ6G00FtaBSUscZAxx4y4955qYiKjd9TqjFRVkgiIoJCIiAIiIAiIgCIiAIiIAiIgCLiWaKBhkmkZGwfie4AKmrNX2ik91kzql\/5YG59eSlRb0M51IQ8zsXi+EgDJOAFlm3rUd0x+zrU2micNpZj1du+M+AK6OlbhcHB14vMsgPOOHZvh1eivgtqzH4hy+XFv7L7lnW6mtFCP3lYyR35YvfPoqs6ouVwPDZ7PK8HlLNs37eqtaHTlpt+DDRsc8fzJPfdnt35eGFZgADAGAEvBaK4wV5+aVvTu+xl3WTUN1B\/aV1FNGf5MA6j1HGM+OVMpNHWemIdJE+pfnJdM7PoMBXqKHOXAsvDU07tXfXM84YIadgZBEyJg5NY0NHovREVDoSsEREAREQBERAEREAREQBERAEREAREQBEWWuE9y1BcJbZRNkpKOF3DPO4EF2Oofbr61aMbmVWpgWl29ETrlqy2W\/LGPNTNyEcQzvy58lAM+qbzvBCy107m7F5977+gV1a7JQ2iINpoRx4w6Vwy93j+isFbFFaIy2VWfzJW6LuZlmjIp5BLdLhU1sg7XYHdvk+quaOzW2gwaajijc3k7hy7zO6moqucnqzSFCnB3SzCIiqbBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "WILIIAM",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "PERSONAL",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "CAFE",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"NES-I429\",\"id_control\":\"28608\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:13",
    "ubicacionGPS": "LatLng(lat: -23.6618369, lng: -70.3999729)",
    "horaLlegada": "07:40",
    "horaDespacho": "11:11",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


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

[08/05/2026 11:13:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76121841', 'BR-1544', 1, 95585912, 0, NOW(), 
				'11:11', '07:40', '11:13', 10, 'se entrega insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778253220.png', 'se entrega insumos', null, 'COMPLETADO','LatLng(lat: -23.6618369, lng: -70.3999729)' )
				
[08/05/2026 11:13:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200230
[08/05/2026 11:13:40] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200230', 'NES-I429', 1)
				
[08/05/2026 11:13:40] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28608 and
				    IDproducto = 'NES-I429'
				

08/05/2026 11:13:40 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'NES-I429';
                
08/05/2026 11:13:40 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200230'                    
				WHERE idllamado = 12496			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


08/05/2026 11:13:40 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12496			
				
08/05/2026 11:13:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 11:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:13:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:13:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:13:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:13:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:13:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                [08/05/2026 11:14:03] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:14:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            [08/05/2026 11:14:03] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:14:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:14:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:14:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:14:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:14:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:14:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                [08/05/2026 11:14:04] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:14:04] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:14:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                [08/05/2026 11:14:04] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:14:04] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:14:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:14:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:14:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:14:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:14:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:15:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            [08/05/2026 11:15:28] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:15:28] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:15:28] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:15:28] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11: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 = 12496
                
08/05/2026 11:15:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12496
                
08/05/2026 11: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 = 12496
                
08/05/2026 11: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 = 12496
                [08/05/2026 11:15:29] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:15:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:15:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:15:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:15:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            [08/05/2026 11:15:29] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                [08/05/2026 11:15:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                [08/05/2026 11:15:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:15:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:15:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:15:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:15:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:15:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:15:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:15:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            [08/05/2026 11:15:31] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:15:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12496
            GROUP BY l.idllamado;
            
08/05/2026 11:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                [08/05/2026 11:15:31] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                [08/05/2026 11:15:31] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                
08/05/2026 11:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12496
                [08/05/2026 11:15:34] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 95585912 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '95585912'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[08/05/2026 11:15: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 = '95585912'
				GROUP BY anio
				ORDER BY anio DESC;
				
[08/05/2026 11:15:39] 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;
                
[08/05/2026 11:15: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[08/05/2026 11:15:41] 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;
                

08/05/2026 11:15:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12510
            GROUP BY l.idllamado;
            [08/05/2026 11:15:47] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

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

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

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

08/05/2026 11:23:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12510
            GROUP BY l.idllamado;
            [08/05/2026 11:23:26] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:29: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;
                

08/05/2026 11:29:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:29:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:29:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                [08/05/2026 11:29: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;
                

08/05/2026 11:29:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:29:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:29:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:29:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:29:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                [08/05/2026 11:29: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;
                

08/05/2026 11:29:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:29:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:29:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:29:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:29:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:29:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            [08/05/2026 11:29: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;
                
[08/05/2026 11:29: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;
                

08/05/2026 11:29:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:29:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:29:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:29:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:29:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:29:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:29:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:29:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:29:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:29:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:29:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:29:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:29:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            [08/05/2026 11:29: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;
                

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

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

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

08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                
08/05/2026 11:29:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:29:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:29:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:29:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:29:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:29:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                [08/05/2026 11:35:43] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				
[08/05/2026 11:35:43] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[08/05/2026 11:35: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;
                
[08/05/2026 11:35: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;
                

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

08/05/2026 11:36:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            [08/05/2026 11:36:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            [08/05/2026 11:36:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

08/05/2026 11:37:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12510
            GROUP BY l.idllamado;
            
08/05/2026 11:37:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12510
            GROUP BY l.idllamado;
            [08/05/2026 11:37:55] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:37:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12510
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12510
                
08/05/2026 11: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 = 12510
                
08/05/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 = 12510
                
08/05/2026 11:38:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12510
            GROUP BY l.idllamado;
            
08/05/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 = 12510
                
08/05/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 = 12510
                
08/05/2026 11:38:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12510
            GROUP BY l.idllamado;
            
08/05/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 = 12510
                
08/05/2026 11: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 = 12510
                
08/05/2026 11: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 = 12510
                
08/05/2026 11: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 = 12510
                
08/05/2026 11:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12510
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12510
                
08/05/2026 11:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12510
                
08/05/2026 11:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12510
                
08/05/2026 11: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 = 12510
                
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12510
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12510
                
08/05/2026 11: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 = 12510
                
08/05/2026 11: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 = 12510
                
08/05/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 = 12510
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12510
            GROUP BY l.idllamado;
            
08/05/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 = 12510
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12510
            GROUP BY l.idllamado;
            
08/05/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 = 12510
                
08/05/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 = 12510
                
08/05/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 = 12510
                
08/05/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 = 12510
                
08/05/2026 11: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 = 12423
                
08/05/2026 11:38:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            [08/05/2026 11:38: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;
                
[08/05/2026 11:38: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;
                

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

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

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

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

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

08/05/2026 11:39:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                [08/05/2026 11:39: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;
                

08/05/2026 11:39:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            [08/05/2026 11:39: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;
                

08/05/2026 11:39:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            [08/05/2026 11:39: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;
                
[08/05/2026 11:39: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;
                

08/05/2026 11:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                [08/05/2026 11:39: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;
                

08/05/2026 11:39:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                [08/05/2026 11:39: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;
                
[08/05/2026 11:39: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;
                

08/05/2026 11:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11: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 = 12504
                
08/05/2026 11: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 = 12504
                
08/05/2026 11: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 = 12504
                
08/05/2026 11: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 = 12504
                
08/05/2026 11: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 = 12504
                
08/05/2026 11: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 = 12504
                
08/05/2026 11: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 = 12504
                
08/05/2026 11: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 = 12504
                
08/05/2026 11: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 = 12504
                
08/05/2026 11: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 = 12504
                
08/05/2026 11:39:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:45 - logentry: =========================================
FECHA: 08/05/2026 11:39:45
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-PyqinKRiy2uo16kJEkkW.IiPguTLd1ByzW7F39ngMy9tS98IAwD
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2406",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "envio insumos via camus",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12504",
    "observacion": "encomienda",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACCAMcDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABDEAABAwMCAgYIAgYIBwAAAAABAAIDBAURBiESMRNBYYGRoRQiMlFxscHRI\/AHFSRCcuEWMzZSorLC0kNFU2JzdIL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQIEAwcDBAMAAAAAAAAAAQIDERIhMUEEMlETIiNxkaHRFGGxM1LB4WJy8P\/aAAwDAQACEQMRAD8A\/ZkREARFP3LVUUFV6DbYTXVR2wzdrT8Rz7fmuqLehXUqRpq8mUCKYFPrOoaJPTKSlJ\/4ZAOP8LvmuH6\/u1lqWx32ma6nkOG1EQ5eHP4YBU8D2ZT9TFZyi0urRVIuEUsc0TZYnh7HjLXNOQQuarNQREQBEWVqS5utVnknjyJHno2OAzwuIOD5fnkupXdiM5qEXJ7HmvWp2W6Y0lJA6rqsEkM3DPjj5LMoJNT36lFXDcaeniJLQ0Nwc+B+a17BYxa7a4SYdWTgmWQ77nqz+d15NCOBscjOTmVDgQfg1W91J2MFqk6kVUdk08llbQ4uodXUgL4LjBVD\/pvAyfhkfVfafVktNUtpb3Qvo3uxiQex59XaCfJUy89dRQXGkfS1LOKN4x2g+8dqjiT1Re6E4505PyeaO9rg5oc0ggjII619U1paeelrK2x1MpkdSnMRJz6n23HiqVRkrOxbSqdpHEERFEtCIiAIiIAiIgCIvFd7lHarbLVv3LRhjce07qC6lfIjKSim3oZeoLvMZv1LbAX104w5zTjogfrjw5r32OzQWWhEMeHSu3lkxu4\/bsXh0tapIIHXOuJkrar1i9+ctacYG\/55KgU5O3dRnoxc32s9dvsvkLorKSCvpZKaoYHxyDBH1Hau9FWaWk1Zk3pOpnhfWWaqcXSUbzwOJ9ppPy6+9UimIwIv0hyBgx0tPl2OvYfYKnU5636mfhm8Dj0bQREUDSFMat\/GuVlpc7SVGTjmN2j6lU6mNR\/2msf\/AJT82qynzGbiv0rfdflFOpjSP4NdeKTOBFUZA73D6BU6mLR+z62u1P7IlYJAD18j\/qK5HlaFbKpTl97eqKdERQNJMTcMX6RKfo85mpj0nxw7\/aFTqXt2a7XVfU7GOlj6IEb4dsPo5VCnPbyM3DZqT6thERQNIREQBERAEREBk6gvElmpoJI4myGWUR+scY2Ky9Q5u2oqCzAu6Jp6aYAbdf0H+LrXLXbgy3UjjyFQD5FfdJQzVlRW32o9qqeWxgjk0H5bAf8AyropKOI86pKVSs6O2Xpv\/BTAADAGAF9RFSeiEREBMDB\/SG7G\/DS746tlTqXt+Jf0gXKTOQyANG\/I4YPuqhTnt5GbhtJP\/JhERQNIUxqj8O+WKfBwKjhccbD1m\/z8FTqc1tTufaI6pgHHTTNfn3A7fPCnT5kZuKXgtrbP0dyjUxWD0LX1HN7LKuEscfecEY8mqippm1NLFO05bKwPHwIyp3WP7PLa7gNugqQCfjg\/6V2HNY5xL8NT6NMp101lSyjo5ql5AbEwuOewLuUtqSskudZDp+3y\/iSOzUPHJrR1HHie5RjG7La1Ts4X328zv0XAW2iSqe3EtTM5zjjHI4+eVRLqpqeOlpoqeIYjiYGNHYBhdqSd3cUodnTUegREUS0IiIAiIgCIiAmdecP6iiyd\/SG4+PC5bdqphR2qlpwc9HE0E9uN\/NS36Qag\/sVMM49aR3kB9VYQ\/wBRH\/CPkrZZQRjptPiZvokdiIpm4Xyruda61WHBcNpqr91g7D9fBQjFs0VKsaazNa53ugtEZdVTDjxkRN3e7u+6xTXajvrP2CmFvpnHaWQ+sR2fyHevba9J0VC\/p6omtqScmSUZAPYPqcrTuVYygt09U93CImEj49Q8cKV4rJZlDjUmm6jwrov5fwRVksAvlVXyVlZORHLwl7SAZDvnOc9nitgaCtYORUVgI\/72\/wC1ejRlJ6Lp9jyN53mTu5D5LfUp1JKTSZVw\/C0nSTlHNksNIVdJg2691EOOTHZx5H6JT3m52StbSX\/hfTv2jq2jYntx9d\/iqleS6UEdyt01JIMh7fVP913UfFRU75SLXw+BXpOz9j1AgjIOQV5LtSenWmqpcZMkZDf4uY88LN0dWPqrCxkmS6neYsn3DceAIHct5RawyLoSVWmns0YekKkz2CKN2RJTudE4HmMHI8iPBebW1RSGyOgdOzp+NrmR8XrHBwdvgSsypt5g1FVWhlVJSwXICRj2jO+5x8M58l5KzR1xt8E0rDT1EYiLnO3Bbjc4Hv2VyjHFiuedOpV7F01G9sm\/6NOGqvepYY4KVpoKLgw+oO7n9Rxy8B4rftFko7NAY6dpL3e3I7cu+ym7Nfb3DaoBFaPSqaNvC18ZPEQDjqzv3L3f00EWfTLRVwY9rbOPHC5KMtFoWUatFWnNvF1aftsU6Kej1vZngcTp4\/4o+XhlaNNfrVWYENfCSeTXO4Se44KqcJLVGyNelLSSNBF8BBGQcgr6olwREQBERAEREB+f67l6W8xxtz+DAOLvJ\/krmif0lDTvzniiac+\/ZQWofxbzepeYZHGwdeN2fYq6tpza6Q++Bn+UK+pyI87hXevUfX5aMvWFdLSWYQ05\/FqniIY54IOcfLvWhaLVT2ihbTwMAOMyO5lzvflY+sTwSWuR+0TKkcW2esfQFUyg8oIvgsVeTe1rBTGrZJK2qobHCMuqXh8hB3DR+Se5Uc00dPC+aZ4ZGwZc5x2AU1plkt0ulXfp24a89HTjO7W8vljzSGXe6DiHitSW\/wCN\/gpoomQxMijaGsY0Na0dQHILmiKs1BEXXPM2np5Jn+zGwuO+NgMoG7E5oz\/mf\/sn6qnU3omJ\/wCq56uQAGqnc8YB5Db55VIp1OZmbhf0Yk\/q+lldb47hTbT0TxICACeHr+h7itKjqorxZ2zsA4Z4yHNPUeRHivY9jZI3RvaHNcCHA9YUpapXabvsloqHfslU7jp5D1E8h9PiB711d6Nt0Rn4dXE9JZPz2+D06Gkc6ySRO5wzubj3DAPzJVIpbTgNFqW8UB\/ed0rRjqz9nBVK5U5iXCvwkntl6HTLR0s+empopM8+NgOfFZtVpSy1RyaNsTvfESzyG3kthFFSa0ZbKnCfMkyYOjTTnNuu1XSkbgZyPLCeiauot4q2CtZg+q8AHPePqqdFLtHuVfS01y3XkyYbquroXBl6tM1Pk46WMZb5\/c\/fVo9Q2muA6GtjDiPYeeB3gVouaHNLXAEEYIPWsmt0vZ64lz6QRvJyXxHhPgNvJdvB6qxzDXhyyT8\/lfBropf+jl2te9muriwHPQVG4P08h9lPqyahmFLfqJ9LJ1StGWu7cfUZTBflzO\/UKOVRYfx6lQi6aaqgrIRNTTMljPJzTkIqzQmmrohbqzirtRNds4BjwPeA5v3Cs7PIJbLRPAxmBm3cFLzR9LftRsxnNG4j4hrSFuaSk6TTNIScloc09zj9MK+fL\/3Q87hsqz+9\/aX9novtqbeLW+myA8HjjJ6nDl8yO9YtLq51vhZS3ijqRUxgtc9rQQ8jv92N1Vr4Whww4Aj3FVqStZo1zpNyxwdmSVRUV2r3MpaeCSkt2Q6WV43k7B1H4Kqp4I6WnjghaGRxtDWgdQXYi5KV8kdp0sDcm7t7hERRLgp7WFcYra23wkOqK14ja3bOM7\/Qd62qyrhoKSSqqH8MUYy4qd0\/STXe5yagr2EAnhpmEbBvv\/PXkqyCt3nsZeIk5eFHV+y3Zv22jZb7dBSMAxEwA46z1nvOSvUiKt5mlJRVkFk6jtBu9uLYjw1MJ44XZxv7s9vzwtZF1Np3RGcFOLjLRkRp2ukq9XPlkZiV1P0Ux6i5uBnv4exW64hjGuc8NAc72iBufiuS7OWJldCk6UWm753CIiiXhERAEREAXXPTw1MTop42yMcMFrhldiIGr6kxTWqW0avj9BhlFBURHpOZYw7nHZuBz\/vFFTopSli1KqdNU00tLkdP6ur73nbjt7sdvqM+xWpoz+zUH8T\/APMVmXsGDVpI2FTQSA4\/ePA77DyWlotwOm4QCCQ94PZuVbLk9DFQy4hr\/b8pm8iIqD0giL45wa0ucQABkk9SA+rorKynoKZ1TVSCONnMn5D3rEuGrYI5fRrXCa+pJwOj3aPDn3eK89Pp+43ipZV6hmHAw5ZSs5D445eZ7VYoWzlkZZcRd4aSu\/ZebOuM1esasOex9PaInZDTsZj3fkKriiZDEyKNoaxjQ1rR1AcgvrGMjYGRtDGtGA1owAuSjKV\/IspUsF23dvVhERRLjyVNugqqymq5OPpKUkx8LsDfnkL1oiXOKKTbW4REQ6EREAREQBERAEREAREQEjrmBzXUFZHIYnB5iMo24c7jfn1FZmnrxVWI1dG6hkqo2S4kMRyGO5e7rx5Kq1RRmt0\/Usa0uewCRoAycg5+WVj6BD3suFRI4udK9mSes+sSfNaItdnmeVUpyXFrC7X+D1DXVqx68VUx3W0sG3mvjtaRTHhoLZV1TvcG4z4ZVI6NjzlzGuPaMo1rWDDWho7BhVXh0NnZ1\/3+39kyb3qSrPBSWPoCd8zk8u\/AXIacutxOb1dnOjPOCDZpHkPIqmRMdtFYfT355N\/j2PLQWyjtsXR0dOyIdZA3d8TzK9SIoN3NCioqyCIiHQiIgCIiAIiIAiIgCIiAIiIAiIgCIiALi1rWN4WtDR7gMIiHNzkiIh0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "MARIA ARRIEGADA",
    "correoContacto": "maria.arriagada@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28619\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28619\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28619\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28619\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-R640\",\"id_control\":\"28619\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:39",
    "ubicacionGPS": "LatLng(lat: -24.9627685, lng: -69.6318481)",
    "horaLlegada": "07:21",
    "horaDespacho": "10:54",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 11:39:45
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-PyqinKRiy2uo16kJEkkW.IiPguTLd1ByzW7F39ngMy9tS98IAwD
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2406",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "envio insumos via camus",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12504",
    "observacion": "encomienda",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACCAMcDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABDEAABAwMCAgYIAgYIBwAAAAABAAIDBAURBiESMRNBYYGRoRQiMlFxscHRI\/AHFSRCcuEWMzZSorLC0kNFU2JzdIL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQIEAwcDBAMAAAAAAAAAAQIDERIhMUEEMlETIiNxkaHRFGGxM1LB4WJy8P\/aAAwDAQACEQMRAD8A\/ZkREARFP3LVUUFV6DbYTXVR2wzdrT8Rz7fmuqLehXUqRpq8mUCKYFPrOoaJPTKSlJ\/4ZAOP8LvmuH6\/u1lqWx32ma6nkOG1EQ5eHP4YBU8D2ZT9TFZyi0urRVIuEUsc0TZYnh7HjLXNOQQuarNQREQBEWVqS5utVnknjyJHno2OAzwuIOD5fnkupXdiM5qEXJ7HmvWp2W6Y0lJA6rqsEkM3DPjj5LMoJNT36lFXDcaeniJLQ0Nwc+B+a17BYxa7a4SYdWTgmWQ77nqz+d15NCOBscjOTmVDgQfg1W91J2MFqk6kVUdk08llbQ4uodXUgL4LjBVD\/pvAyfhkfVfafVktNUtpb3Qvo3uxiQex59XaCfJUy89dRQXGkfS1LOKN4x2g+8dqjiT1Re6E4505PyeaO9rg5oc0ggjII619U1paeelrK2x1MpkdSnMRJz6n23HiqVRkrOxbSqdpHEERFEtCIiAIiIAiIgCIvFd7lHarbLVv3LRhjce07qC6lfIjKSim3oZeoLvMZv1LbAX104w5zTjogfrjw5r32OzQWWhEMeHSu3lkxu4\/bsXh0tapIIHXOuJkrar1i9+ctacYG\/55KgU5O3dRnoxc32s9dvsvkLorKSCvpZKaoYHxyDBH1Hau9FWaWk1Zk3pOpnhfWWaqcXSUbzwOJ9ppPy6+9UimIwIv0hyBgx0tPl2OvYfYKnU5636mfhm8Dj0bQREUDSFMat\/GuVlpc7SVGTjmN2j6lU6mNR\/2msf\/AJT82qynzGbiv0rfdflFOpjSP4NdeKTOBFUZA73D6BU6mLR+z62u1P7IlYJAD18j\/qK5HlaFbKpTl97eqKdERQNJMTcMX6RKfo85mpj0nxw7\/aFTqXt2a7XVfU7GOlj6IEb4dsPo5VCnPbyM3DZqT6thERQNIREQBERAEREBk6gvElmpoJI4myGWUR+scY2Ky9Q5u2oqCzAu6Jp6aYAbdf0H+LrXLXbgy3UjjyFQD5FfdJQzVlRW32o9qqeWxgjk0H5bAf8AyropKOI86pKVSs6O2Xpv\/BTAADAGAF9RFSeiEREBMDB\/SG7G\/DS746tlTqXt+Jf0gXKTOQyANG\/I4YPuqhTnt5GbhtJP\/JhERQNIUxqj8O+WKfBwKjhccbD1m\/z8FTqc1tTufaI6pgHHTTNfn3A7fPCnT5kZuKXgtrbP0dyjUxWD0LX1HN7LKuEscfecEY8mqippm1NLFO05bKwPHwIyp3WP7PLa7gNugqQCfjg\/6V2HNY5xL8NT6NMp101lSyjo5ql5AbEwuOewLuUtqSskudZDp+3y\/iSOzUPHJrR1HHie5RjG7La1Ts4X328zv0XAW2iSqe3EtTM5zjjHI4+eVRLqpqeOlpoqeIYjiYGNHYBhdqSd3cUodnTUegREUS0IiIAiIgCIiAmdecP6iiyd\/SG4+PC5bdqphR2qlpwc9HE0E9uN\/NS36Qag\/sVMM49aR3kB9VYQ\/wBRH\/CPkrZZQRjptPiZvokdiIpm4Xyruda61WHBcNpqr91g7D9fBQjFs0VKsaazNa53ugtEZdVTDjxkRN3e7u+6xTXajvrP2CmFvpnHaWQ+sR2fyHevba9J0VC\/p6omtqScmSUZAPYPqcrTuVYygt09U93CImEj49Q8cKV4rJZlDjUmm6jwrov5fwRVksAvlVXyVlZORHLwl7SAZDvnOc9nitgaCtYORUVgI\/72\/wC1ejRlJ6Lp9jyN53mTu5D5LfUp1JKTSZVw\/C0nSTlHNksNIVdJg2691EOOTHZx5H6JT3m52StbSX\/hfTv2jq2jYntx9d\/iqleS6UEdyt01JIMh7fVP913UfFRU75SLXw+BXpOz9j1AgjIOQV5LtSenWmqpcZMkZDf4uY88LN0dWPqrCxkmS6neYsn3DceAIHct5RawyLoSVWmns0YekKkz2CKN2RJTudE4HmMHI8iPBebW1RSGyOgdOzp+NrmR8XrHBwdvgSsypt5g1FVWhlVJSwXICRj2jO+5x8M58l5KzR1xt8E0rDT1EYiLnO3Bbjc4Hv2VyjHFiuedOpV7F01G9sm\/6NOGqvepYY4KVpoKLgw+oO7n9Rxy8B4rftFko7NAY6dpL3e3I7cu+ym7Nfb3DaoBFaPSqaNvC18ZPEQDjqzv3L3f00EWfTLRVwY9rbOPHC5KMtFoWUatFWnNvF1aftsU6Kej1vZngcTp4\/4o+XhlaNNfrVWYENfCSeTXO4Se44KqcJLVGyNelLSSNBF8BBGQcgr6olwREQBERAEREB+f67l6W8xxtz+DAOLvJ\/krmif0lDTvzniiac+\/ZQWofxbzepeYZHGwdeN2fYq6tpza6Q++Bn+UK+pyI87hXevUfX5aMvWFdLSWYQ05\/FqniIY54IOcfLvWhaLVT2ihbTwMAOMyO5lzvflY+sTwSWuR+0TKkcW2esfQFUyg8oIvgsVeTe1rBTGrZJK2qobHCMuqXh8hB3DR+Se5Uc00dPC+aZ4ZGwZc5x2AU1plkt0ulXfp24a89HTjO7W8vljzSGXe6DiHitSW\/wCN\/gpoomQxMijaGsY0Na0dQHILmiKs1BEXXPM2np5Jn+zGwuO+NgMoG7E5oz\/mf\/sn6qnU3omJ\/wCq56uQAGqnc8YB5Db55VIp1OZmbhf0Yk\/q+lldb47hTbT0TxICACeHr+h7itKjqorxZ2zsA4Z4yHNPUeRHivY9jZI3RvaHNcCHA9YUpapXabvsloqHfslU7jp5D1E8h9PiB711d6Nt0Rn4dXE9JZPz2+D06Gkc6ySRO5wzubj3DAPzJVIpbTgNFqW8UB\/ed0rRjqz9nBVK5U5iXCvwkntl6HTLR0s+empopM8+NgOfFZtVpSy1RyaNsTvfESzyG3kthFFSa0ZbKnCfMkyYOjTTnNuu1XSkbgZyPLCeiauot4q2CtZg+q8AHPePqqdFLtHuVfS01y3XkyYbquroXBl6tM1Pk46WMZb5\/c\/fVo9Q2muA6GtjDiPYeeB3gVouaHNLXAEEYIPWsmt0vZ64lz6QRvJyXxHhPgNvJdvB6qxzDXhyyT8\/lfBropf+jl2te9muriwHPQVG4P08h9lPqyahmFLfqJ9LJ1StGWu7cfUZTBflzO\/UKOVRYfx6lQi6aaqgrIRNTTMljPJzTkIqzQmmrohbqzirtRNds4BjwPeA5v3Cs7PIJbLRPAxmBm3cFLzR9LftRsxnNG4j4hrSFuaSk6TTNIScloc09zj9MK+fL\/3Q87hsqz+9\/aX9novtqbeLW+myA8HjjJ6nDl8yO9YtLq51vhZS3ijqRUxgtc9rQQ8jv92N1Vr4Whww4Aj3FVqStZo1zpNyxwdmSVRUV2r3MpaeCSkt2Q6WV43k7B1H4Kqp4I6WnjghaGRxtDWgdQXYi5KV8kdp0sDcm7t7hERRLgp7WFcYra23wkOqK14ja3bOM7\/Qd62qyrhoKSSqqH8MUYy4qd0\/STXe5yagr2EAnhpmEbBvv\/PXkqyCt3nsZeIk5eFHV+y3Zv22jZb7dBSMAxEwA46z1nvOSvUiKt5mlJRVkFk6jtBu9uLYjw1MJ44XZxv7s9vzwtZF1Np3RGcFOLjLRkRp2ukq9XPlkZiV1P0Ux6i5uBnv4exW64hjGuc8NAc72iBufiuS7OWJldCk6UWm753CIiiXhERAEREAXXPTw1MTop42yMcMFrhldiIGr6kxTWqW0avj9BhlFBURHpOZYw7nHZuBz\/vFFTopSli1KqdNU00tLkdP6ur73nbjt7sdvqM+xWpoz+zUH8T\/APMVmXsGDVpI2FTQSA4\/ePA77DyWlotwOm4QCCQ94PZuVbLk9DFQy4hr\/b8pm8iIqD0giL45wa0ucQABkk9SA+rorKynoKZ1TVSCONnMn5D3rEuGrYI5fRrXCa+pJwOj3aPDn3eK89Pp+43ipZV6hmHAw5ZSs5D445eZ7VYoWzlkZZcRd4aSu\/ZebOuM1esasOex9PaInZDTsZj3fkKriiZDEyKNoaxjQ1rR1AcgvrGMjYGRtDGtGA1owAuSjKV\/IspUsF23dvVhERRLjyVNugqqymq5OPpKUkx8LsDfnkL1oiXOKKTbW4REQ6EREAREQBERAEREAREQEjrmBzXUFZHIYnB5iMo24c7jfn1FZmnrxVWI1dG6hkqo2S4kMRyGO5e7rx5Kq1RRmt0\/Usa0uewCRoAycg5+WVj6BD3suFRI4udK9mSes+sSfNaItdnmeVUpyXFrC7X+D1DXVqx68VUx3W0sG3mvjtaRTHhoLZV1TvcG4z4ZVI6NjzlzGuPaMo1rWDDWho7BhVXh0NnZ1\/3+39kyb3qSrPBSWPoCd8zk8u\/AXIacutxOb1dnOjPOCDZpHkPIqmRMdtFYfT355N\/j2PLQWyjtsXR0dOyIdZA3d8TzK9SIoN3NCioqyCIiHQiIgCIiAIiIAiIgCIiAIiIAiIgCIiALi1rWN4WtDR7gMIiHNzkiIh0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "MARIA ARRIEGADA",
    "correoContacto": "maria.arriagada@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28619\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28619\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28619\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28619\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-R640\",\"id_control\":\"28619\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:39",
    "ubicacionGPS": "LatLng(lat: -24.9627685, lng: -69.6318481)",
    "horaLlegada": "07:21",
    "horaDespacho": "10:54",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 11:39:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[08/05/2026 11:39:45] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP2406', 2, 19969062, 0, NOW(), 
				'10:54', '07:21', '11:39', 10, 'envio insumos via camus', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778254785.png', 'encomienda', null, 'COMPLETADO','LatLng(lat: -24.9627685, lng: -69.6318481)' )
				
[08/05/2026 11:39:45] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200231
[08/05/2026 11:39:45] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200231', 'EPS-I302', 3)
				
[08/05/2026 11:39:45] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28619 and
				    IDproducto = 'EPS-I302'
				

08/05/2026 11:39:45 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I302';
                [08/05/2026 11:39:45] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200231', 'EPS-I303', 3)
				
[08/05/2026 11:39:45] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28619 and
				    IDproducto = 'EPS-I303'
				

08/05/2026 11:39:45 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I303';
                [08/05/2026 11:39:45] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200231', 'EPS-I304', 3)
				
[08/05/2026 11:39:45] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28619 and
				    IDproducto = 'EPS-I304'
				

08/05/2026 11:39:45 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I304';
                [08/05/2026 11:39:45] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200231', 'EPS-I305', 3)
				
[08/05/2026 11:39:45] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28619 and
				    IDproducto = 'EPS-I305'
				

08/05/2026 11:39:45 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I305';
                [08/05/2026 11:39:45] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200231', 'EPS-R640', 2)
				
[08/05/2026 11:39:45] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28619 and
				    IDproducto = 'EPS-R640'
				

08/05/2026 11:39:45 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-R640';
                
08/05/2026 11:39:45 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200231'                    
				WHERE idllamado = 12504			
				TO ENVIO: micorreo@miempresa.cl, maria.arriagada@eplicancabur.cl


08/05/2026 11:39:45 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12504			
				
08/05/2026 11:39:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 11:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                [08/05/2026 11:39:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                [08/05/2026 11:39:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                [08/05/2026 11:39:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                [08/05/2026 11:39:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:39:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            
08/05/2026 11:39:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12504
            GROUP BY l.idllamado;
            [08/05/2026 11:39: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;
                

08/05/2026 11:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12504
                
08/05/2026 11:39:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:39:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                [08/05/2026 11:39: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;
                
[08/05/2026 11:39: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;
                

08/05/2026 11:39:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:39:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                [08/05/2026 11:39: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;
                

08/05/2026 11:39:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:39:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:39:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            [08/05/2026 11:39: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;
                
[08/05/2026 11:39: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;
                

08/05/2026 11:39:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:39:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:39:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:39:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            [08/05/2026 11:39: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;
                

08/05/2026 11:39:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:39:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                [08/05/2026 11:39: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;
                
[08/05/2026 11:39: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;
                
[08/05/2026 11:39: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;
                

08/05/2026 11:39:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:39:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                [08/05/2026 11:39: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;
                

08/05/2026 11:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:39:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                [08/05/2026 11:39: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;
                

08/05/2026 11:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:39:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:39:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:39:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:39:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                [08/05/2026 11:39: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;
                

08/05/2026 11:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:40:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:40:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11: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 = 12506
                
08/05/2026 11: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 = 12506
                
08/05/2026 11:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12510
                
08/05/2026 11:40:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12510
            GROUP BY l.idllamado;
            
08/05/2026 11:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12510
                
08/05/2026 11:40:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12510
            GROUP BY l.idllamado;
            
08/05/2026 11:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12510
                
08/05/2026 11:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12510
                
08/05/2026 11:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12510
                
08/05/2026 11:40:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12510
                
08/05/2026 11:40:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12506
                
08/05/2026 11: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 = 12506
                
08/05/2026 11: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 = 12506
                
08/05/2026 11: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 = 12506
                
08/05/2026 11:40:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12506
                
08/05/2026 11: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 = 12506
                
08/05/2026 11:40:25 - logentry: =========================================
FECHA: 08/05/2026 11:40:25
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-UG8To-Qch0rjzPg+hTcoIoTn6xJIviN8sbSBpHZAPs.vWm8pBRj
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2965",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "envio encomienda via camus",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12506",
    "observacion": "envio encomienda",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB6AMwDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABJEAABAwMBBAcFBAQJDQAAAAABAAIDBAURBhIhQVETIjFhgZHBFDJxobEVI0LRByQzkhZVcoKissLT4jU2Q0RSVGJkc9Lh8PH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAxEQACAQIDBAkEAgMAAAAAAAAAAQIDERIhMQQiQVETMmFxgZGhsdEUM8HhUvAjQvH\/2gAMAwEAAhEDEQA\/AP7MiIgCIiAIiIAiIgC8ap0zKWV9Mxr5msJY13YTwC9kQh5oyNO3k3a1mefZZNE4tlHYBxz5LjqdYQ+0GC20M9we3eTF7uO7AJ+Snrs2NuqKi30tWaenrJWNqMDcHcfmfhvV3QW+mttK2mpYwxjR28XHmTxK2koxz5nBSqVau4nbDk3rcwTqe7Rb5tOVAZ2lwLuqOOeqV2W7Vlsr5Ohe91LNnGxP1cnuPZ54K21nXWx0N3iLaiICTB2ZW7nNPr4qt4vVGzhXjnGV+xr8o0UUpbLjXWO5ss92cZYpTimqD5AfD6fBVarKOE1pVVUXJrVBERVNQiIgCIiAIiIAiIgCIs673qls8IdMduV3uRNI2nKUm3ZFZSjBYpPI0UWDQ6qjqa2OkqaGoo3ynEZlG53Lkt5HFrUrCpGorxYREUGgREQBZ98uH2ZaZ6ppAeBhm0MjaO4LQU1rmQ\/Y0UDN75p2tDee4+uFaCvJIxrzcKUpLkZ8mneg0ZLM77yrfs1TnEZIwOzfyBPmVTWStNws1LUuOXuYA8\/8Q3H5hdQgZ7L7ORlmxsEcxjCndHSupzXWiV2X0sxLcntadxx4jP8AOV28UWYRgqNWKWjVvFZ\/JToiLI7TK1FahdrU+No+\/i+8hI7docPFfnTFzfdLOx8xJniJjlJ4kcfIjxytdS1EDaNbVFJtHoLgwysGNwdvPo7zC0WcWjlqf46sZrjk\/wAFSiIszqCIiAIiIAiIgCIiA8qmojpKaWpmdsxxNLnHuCm9MUhulRLf65m1LI8iAE5DGjduHd2Z7ivbW0zxaYaWI4dUztZyyP8A7hbtLTR0dLFTRDDImBo8Fp1Y95ytdJWs9I+7+Ce1o0tZbp2NzLHUjZ3Z7\/7IVOo3WVxjdcKGkhYZ5YJOkexucnsw3x3rqNbqy4ZFPQw0LCNzpd7h5\/DlxVnFuKMo1oxrTsm9NO4qEUwbVqtvXjvUJee0Obu\/qn6L57bq6gGaighrY2je6MjaPgPyVMHJm31FutBrw+CoRY1o1NRXU9Cc01SNxhkPHkDxWyqtNOzNoVIzWKLugpjWOOntO0Op7T1vMf8AlU6mNddS20k3+xUjeO3sJ9Fan1kY7X9mX94lOpWvzadb0lYMiGub0TzgYz2fXZKqlPa1pBPYjOB16Z4eHcQDuP1HklPrW5jaU+jxLVZ+RQoue31Ptlup6njLE15+JC6FQ6E01dBS+r2upam2XWNmTBOGux2kHeB8j5qoWFrOLpdNzuxkxuY75geqvT6yMNqV6MuzPyzNwEEZByCvq5bXL09qpJScl8DHE9+yF1KjN4u6TCIiEhERAEREAREQEveM1+sbZRDJZTjpn57M9voPNVCkJq2Ck1zW1VU4tipqZuSGk4zsDh\/KVXBMypp454zlkrA9vwIyFpNZI5NnknKfO\/tkctPZ6OmuM9eyPM82Mucc454zzXciKjbep0xio5JBERQWMi+afp7vDttxDVs3xzgYOeR5j6Lm0\/e55Z32m6N2K+Ddk\/6Qc\/jjf39qoFP6ptTpqcXOjBbW0mHNcztc0do9VpF33WctWDg+lhrxXNfJQLA1pTmfTsjgMmF7X+nqtCy3Jt1tcNWMbThiQDg4dq6K2mFZQz0xOBLG5meWQqrdlmaTSq0mlxR8t9QKu3U9SAR0sTXYPDIS4U3tluqKbjLE5g+JCxdF1LpLO6kkBbLSSOY5p7QCc\/XI8FRJJYZClJVaSb4on9F1JmsDYne9TyOjI+fqqBS+mMUl8vFu3hrZekY3kMn0LVUKanWK7K26ST4ZeWQWRqr\/ADarf5I\/rBa6x9WODdM1hPJo83BRDrIvX+1LufsdFg\/yBQ\/9Bv0WguCxNLbDQA\/7uw+YC71EtWTS+3HuQREUGgREQBERAEREBC10Ptd31G5wPUphw37tk\/2VS6Zl6bTlE7duj2d3cSPRYkURk1NqCmA\/a0ruqeOWj8\/mtHRcok03E0H9m97T559VvPq+Xsebs+Vbvxe5voiLA9IIiIAiIgJa0Zsuqqq1HZZTVQ6aBo58h4Aj+aqlS+rsUlfabkMN6KfZe7iRkH6B3mqhaTzSZy0N1yp8n6PMlY2mz66c3GzT3JhIOd232+eQf3lVLA1hb3VVqFXCSJ6I9K0jtxx+gPgtS2VzLlboKtmPvG5IHA8R5pLNJijuVJU\/FeOvqYWTTfpFH\/N0\/wBB\/gVQpjUX6tqWy1nBzzE492R\/3FU6T0TJoZSnHt9wpzWk5Nugt8eTLWzNY0dwI9S1UalQ4XfXTXMO3Bb4yCQd2158z8lENb8htL3MC\/2y+fQpqeFtPTRQMwGxsDBjkBheiIqHSlbIIiIAiIgCIiAIiICXkzR\/pBaXAFldT7PZyH+AL7ofMVHW0hJzDUkYPDdj0XzWA9lqbXcwB9xUbLu8bj6FfdM\/c3++U\/DptsDxd+YW7zhc8yO7tOHtfqr+6KdERYHphERAEREBPa3jL9PlwA+7la7ePiPVbdK8y0kMh7XxtJ8QsDXD3G1QUzPfnqGtGeWD64VHGxsUbY2+6wAD4BXfURzQ+\/PuX5D2NkjdG9oc1wIcDxClbM92nb7JZJ3E09Sekpnnny8cY+I71WLH1JZ\/ta3\/AHXVqoDtwu454jxx9Eg1o9GTXg8pw1XrzRx64jd9jw1DPegna7PIYI+uFQQytngjmZ7sjQ4fAjKlZ7oL1oeqdKM1EAa2UY4hww7xHqti3+0S6VpxTODZzStEZzgA7O7gVaS3bPmZU5p1XKOjSfueWo7423Urqamdt10w2Y42b3Nz+LA+S9tPWcWe3CN4BqJDtTOznJ5eCmqTT+oqSsdWCOllqHHPSzP23A92Vp+0azj\/ANSo5Md43\/0gpcVayZnCrJz6SpB9mWn7KdFMe3az\/imj\/fH94nt2s\/4po\/3x\/eKmDtR0fUr+MvJlOimPbdZu3fZdGzP4tobv6aCbWTjg01I0c8j8ymDtQ+oX8ZeRTopg3zUdGP1yxdMG9roHHf37tpetLrS3ySCKsimopCR+0bkeY\/JOjlwC2qlezdu9WKJF401VT1kQlppmSsP4mOyvZUOhNNXQREQkxNX03tOnKjAy6IiQeB3\/ACJWNpmoD9USSZyKmiY7J4uwzPzDluX+701tZFBWU8j6eqDo5JG9jARj1UhpmN9Nq6nhc4uaOka0g5Bbsu3juXRBbjPL2iSW0xtzV\/74n9HREXOeoEREARFgX+\/incbZbw+a4S9UCMZ6PPH444eKmMW3ZGdSpGnHFI46mQX7WMFPGNqntvXc8dm1kE\/HeAMdxKq1laetAs9tbE45nkO3M7Ocu5eC1VabTyXAzoQkk5S1ef6CIiodBGajttVbZ6mrt8RfT1zCyeNrSdlx44A3b9+eeVQ6eglprDSQztLZGs3hwII3nHatJFdzbjY54bOoVHNPXgERFQ6AiIgCIiALwqqKlroxHVU8czR2B7QcfDkvdEIaTVmTU+i6Zr+ltlXPQyjOC1xI+ufmvJ9VqSwM26xsdxpQ7rPZ7zRnwP1VUivjfHM53s0VnT3X2fGhn2q90N4jLqSUlzR143DDm\/8AvctBT140xDM819t\/Vq2LrNEe5ryN+8Diea6tP3h10tglnjcyeN5jlAYcbQx+YRxVrxJhUkpYKmvPgzQrKSCvpZKaoYHxyDBHqO9TDbDf7RIDbKuGeJoLWMlA2gDv4j14quRRGTRapRjUd3k+aJcalvFGcXKxSY7NuDJGfmPmv2zXVtzszwVULx7wcwHHzVKvxJFHKMSRteOThlWvF8DN06sVlPzX\/DD\/AIa2bYc4SSkj8PRHP5LnfrWKbLbfbauqf2Dq4GfDK3zQUZOTSQE8+jC9w0NGGgAcgpeFcCsemnlit4fslZBqq9Ho3MZa6Z3a4HrY5duc+S17PYKOzx5jHSTkHaneOsc+i1EVXNtWRrChGMsTd32hERUNwiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "SUSANA TAPIA",
    "correoContacto": "susana.tapia@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28620\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28620\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28620\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28620\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28621\",\"cantidad_usada\":3,\"cantidad_asignada\":3}]",
    "horaSalida": "11:40",
    "ubicacionGPS": "LatLng(lat: -24.9627171, lng: -69.6320249)",
    "horaLlegada": "07:21",
    "horaDespacho": "11:39",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 11:40:25
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-UG8To-Qch0rjzPg+hTcoIoTn6xJIviN8sbSBpHZAPs.vWm8pBRj
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2965",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "envio encomienda via camus",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12506",
    "observacion": "envio encomienda",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB6AMwDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABJEAABAwMBBAcFBAQJDQAAAAABAAIDBAURBhIhQVETIjFhgZHBFDJxobEVI0LRByQzkhZVcoKissLT4jU2Q0RSVGJkc9Lh8PH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAxEQACAQIDBAkEAgMAAAAAAAAAAQIDERIhMQQiQVETMmFxgZGhsdEUM8HhUvAjQvH\/2gAMAwEAAhEDEQA\/AP7MiIgCIiAIiIAiIgC8ap0zKWV9Mxr5msJY13YTwC9kQh5oyNO3k3a1mefZZNE4tlHYBxz5LjqdYQ+0GC20M9we3eTF7uO7AJ+Snrs2NuqKi30tWaenrJWNqMDcHcfmfhvV3QW+mttK2mpYwxjR28XHmTxK2koxz5nBSqVau4nbDk3rcwTqe7Rb5tOVAZ2lwLuqOOeqV2W7Vlsr5Ohe91LNnGxP1cnuPZ54K21nXWx0N3iLaiICTB2ZW7nNPr4qt4vVGzhXjnGV+xr8o0UUpbLjXWO5ss92cZYpTimqD5AfD6fBVarKOE1pVVUXJrVBERVNQiIgCIiAIiIAiIgCIs673qls8IdMduV3uRNI2nKUm3ZFZSjBYpPI0UWDQ6qjqa2OkqaGoo3ynEZlG53Lkt5HFrUrCpGorxYREUGgREQBZ98uH2ZaZ6ppAeBhm0MjaO4LQU1rmQ\/Y0UDN75p2tDee4+uFaCvJIxrzcKUpLkZ8mneg0ZLM77yrfs1TnEZIwOzfyBPmVTWStNws1LUuOXuYA8\/8Q3H5hdQgZ7L7ORlmxsEcxjCndHSupzXWiV2X0sxLcntadxx4jP8AOV28UWYRgqNWKWjVvFZ\/JToiLI7TK1FahdrU+No+\/i+8hI7docPFfnTFzfdLOx8xJniJjlJ4kcfIjxytdS1EDaNbVFJtHoLgwysGNwdvPo7zC0WcWjlqf46sZrjk\/wAFSiIszqCIiAIiIAiIgCIiA8qmojpKaWpmdsxxNLnHuCm9MUhulRLf65m1LI8iAE5DGjduHd2Z7ivbW0zxaYaWI4dUztZyyP8A7hbtLTR0dLFTRDDImBo8Fp1Y95ytdJWs9I+7+Ce1o0tZbp2NzLHUjZ3Z7\/7IVOo3WVxjdcKGkhYZ5YJOkexucnsw3x3rqNbqy4ZFPQw0LCNzpd7h5\/DlxVnFuKMo1oxrTsm9NO4qEUwbVqtvXjvUJee0Obu\/qn6L57bq6gGaighrY2je6MjaPgPyVMHJm31FutBrw+CoRY1o1NRXU9Cc01SNxhkPHkDxWyqtNOzNoVIzWKLugpjWOOntO0Op7T1vMf8AlU6mNddS20k3+xUjeO3sJ9Fan1kY7X9mX94lOpWvzadb0lYMiGub0TzgYz2fXZKqlPa1pBPYjOB16Z4eHcQDuP1HklPrW5jaU+jxLVZ+RQoue31Ptlup6njLE15+JC6FQ6E01dBS+r2upam2XWNmTBOGux2kHeB8j5qoWFrOLpdNzuxkxuY75geqvT6yMNqV6MuzPyzNwEEZByCvq5bXL09qpJScl8DHE9+yF1KjN4u6TCIiEhERAEREAREQEveM1+sbZRDJZTjpn57M9voPNVCkJq2Ck1zW1VU4tipqZuSGk4zsDh\/KVXBMypp454zlkrA9vwIyFpNZI5NnknKfO\/tkctPZ6OmuM9eyPM82Mucc454zzXciKjbep0xio5JBERQWMi+afp7vDttxDVs3xzgYOeR5j6Lm0\/e55Z32m6N2K+Ddk\/6Qc\/jjf39qoFP6ptTpqcXOjBbW0mHNcztc0do9VpF33WctWDg+lhrxXNfJQLA1pTmfTsjgMmF7X+nqtCy3Jt1tcNWMbThiQDg4dq6K2mFZQz0xOBLG5meWQqrdlmaTSq0mlxR8t9QKu3U9SAR0sTXYPDIS4U3tluqKbjLE5g+JCxdF1LpLO6kkBbLSSOY5p7QCc\/XI8FRJJYZClJVaSb4on9F1JmsDYne9TyOjI+fqqBS+mMUl8vFu3hrZekY3kMn0LVUKanWK7K26ST4ZeWQWRqr\/ADarf5I\/rBa6x9WODdM1hPJo83BRDrIvX+1LufsdFg\/yBQ\/9Bv0WguCxNLbDQA\/7uw+YC71EtWTS+3HuQREUGgREQBERAEREBC10Ptd31G5wPUphw37tk\/2VS6Zl6bTlE7duj2d3cSPRYkURk1NqCmA\/a0ruqeOWj8\/mtHRcok03E0H9m97T559VvPq+Xsebs+Vbvxe5voiLA9IIiIAiIgJa0Zsuqqq1HZZTVQ6aBo58h4Aj+aqlS+rsUlfabkMN6KfZe7iRkH6B3mqhaTzSZy0N1yp8n6PMlY2mz66c3GzT3JhIOd232+eQf3lVLA1hb3VVqFXCSJ6I9K0jtxx+gPgtS2VzLlboKtmPvG5IHA8R5pLNJijuVJU\/FeOvqYWTTfpFH\/N0\/wBB\/gVQpjUX6tqWy1nBzzE492R\/3FU6T0TJoZSnHt9wpzWk5Nugt8eTLWzNY0dwI9S1UalQ4XfXTXMO3Bb4yCQd2158z8lENb8htL3MC\/2y+fQpqeFtPTRQMwGxsDBjkBheiIqHSlbIIiIAiIgCIiAIiICXkzR\/pBaXAFldT7PZyH+AL7ofMVHW0hJzDUkYPDdj0XzWA9lqbXcwB9xUbLu8bj6FfdM\/c3++U\/DptsDxd+YW7zhc8yO7tOHtfqr+6KdERYHphERAEREBPa3jL9PlwA+7la7ePiPVbdK8y0kMh7XxtJ8QsDXD3G1QUzPfnqGtGeWD64VHGxsUbY2+6wAD4BXfURzQ+\/PuX5D2NkjdG9oc1wIcDxClbM92nb7JZJ3E09Sekpnnny8cY+I71WLH1JZ\/ta3\/AHXVqoDtwu454jxx9Eg1o9GTXg8pw1XrzRx64jd9jw1DPegna7PIYI+uFQQytngjmZ7sjQ4fAjKlZ7oL1oeqdKM1EAa2UY4hww7xHqti3+0S6VpxTODZzStEZzgA7O7gVaS3bPmZU5p1XKOjSfueWo7423Urqamdt10w2Y42b3Nz+LA+S9tPWcWe3CN4BqJDtTOznJ5eCmqTT+oqSsdWCOllqHHPSzP23A92Vp+0azj\/ANSo5Md43\/0gpcVayZnCrJz6SpB9mWn7KdFMe3az\/imj\/fH94nt2s\/4po\/3x\/eKmDtR0fUr+MvJlOimPbdZu3fZdGzP4tobv6aCbWTjg01I0c8j8ymDtQ+oX8ZeRTopg3zUdGP1yxdMG9roHHf37tpetLrS3ySCKsimopCR+0bkeY\/JOjlwC2qlezdu9WKJF401VT1kQlppmSsP4mOyvZUOhNNXQREQkxNX03tOnKjAy6IiQeB3\/ACJWNpmoD9USSZyKmiY7J4uwzPzDluX+701tZFBWU8j6eqDo5JG9jARj1UhpmN9Nq6nhc4uaOka0g5Bbsu3juXRBbjPL2iSW0xtzV\/74n9HREXOeoEREARFgX+\/incbZbw+a4S9UCMZ6PPH444eKmMW3ZGdSpGnHFI46mQX7WMFPGNqntvXc8dm1kE\/HeAMdxKq1laetAs9tbE45nkO3M7Ocu5eC1VabTyXAzoQkk5S1ef6CIiodBGajttVbZ6mrt8RfT1zCyeNrSdlx44A3b9+eeVQ6eglprDSQztLZGs3hwII3nHatJFdzbjY54bOoVHNPXgERFQ6AiIgCIiALwqqKlroxHVU8czR2B7QcfDkvdEIaTVmTU+i6Zr+ltlXPQyjOC1xI+ufmvJ9VqSwM26xsdxpQ7rPZ7zRnwP1VUivjfHM53s0VnT3X2fGhn2q90N4jLqSUlzR143DDm\/8AvctBT140xDM819t\/Vq2LrNEe5ryN+8Diea6tP3h10tglnjcyeN5jlAYcbQx+YRxVrxJhUkpYKmvPgzQrKSCvpZKaoYHxyDBHqO9TDbDf7RIDbKuGeJoLWMlA2gDv4j14quRRGTRapRjUd3k+aJcalvFGcXKxSY7NuDJGfmPmv2zXVtzszwVULx7wcwHHzVKvxJFHKMSRteOThlWvF8DN06sVlPzX\/DD\/AIa2bYc4SSkj8PRHP5LnfrWKbLbfbauqf2Dq4GfDK3zQUZOTSQE8+jC9w0NGGgAcgpeFcCsemnlit4fslZBqq9Ho3MZa6Z3a4HrY5duc+S17PYKOzx5jHSTkHaneOsc+i1EVXNtWRrChGMsTd32hERUNwiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "SUSANA TAPIA",
    "correoContacto": "susana.tapia@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28620\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28620\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28620\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28620\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28621\",\"cantidad_usada\":3,\"cantidad_asignada\":3}]",
    "horaSalida": "11:40",
    "ubicacionGPS": "LatLng(lat: -24.9627171, lng: -69.6320249)",
    "horaLlegada": "07:21",
    "horaDespacho": "11:39",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 11:40:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[08/05/2026 11:40:25] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP2965', 1, 19969062, 0, NOW(), 
				'11:39', '07:21', '11:40', 10, 'envio encomienda via camus', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778254825.png', 'envio encomienda', null, 'COMPLETADO','LatLng(lat: -24.9627171, lng: -69.6320249)' )
				
[08/05/2026 11:40:25] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200232
[08/05/2026 11:40:25] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200232', 'EPS-I302', 3)
				
[08/05/2026 11:40:25] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28620 and
				    IDproducto = 'EPS-I302'
				

08/05/2026 11:40:25 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I302';
                [08/05/2026 11:40:25] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200232', 'EPS-I304', 3)
				
[08/05/2026 11:40:25] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28620 and
				    IDproducto = 'EPS-I304'
				

08/05/2026 11:40:25 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I304';
                [08/05/2026 11:40:25] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200232', 'EPS-I305', 3)
				
[08/05/2026 11:40:25] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28620 and
				    IDproducto = 'EPS-I305'
				

08/05/2026 11:40:25 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I305';
                [08/05/2026 11:40:25] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200232', 'EPS-I303', 3)
				
[08/05/2026 11:40:25] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28620 and
				    IDproducto = 'EPS-I303'
				

08/05/2026 11:40:25 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I303';
                [08/05/2026 11:40:25] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200232', 'KYO-I647', 3)
				
[08/05/2026 11:40:25] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28621 and
				    IDproducto = 'KYO-I647'
				

08/05/2026 11:40:25 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'KYO-I647';
                
08/05/2026 11:40:25 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200232'                    
				WHERE idllamado = 12506			
				TO ENVIO: micorreo@miempresa.cl, susana.tapia@eplicancabur.cl


08/05/2026 11:40:25 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12506			
				
08/05/2026 11:40:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 11: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 = 12506
                
08/05/2026 11: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 = 12506
                
08/05/2026 11:40:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:40:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            [08/05/2026 11:40: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;
                

08/05/2026 11:40:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                [08/05/2026 11:40: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;
                
[08/05/2026 11:40: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;
                

08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:40:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            [08/05/2026 11:40: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;
                
[08/05/2026 11:40: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;
                

08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:40:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                [08/05/2026 11:40: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;
                

08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:40:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            [08/05/2026 11:40: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;
                

08/05/2026 11:40:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:40:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:40:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12506
            GROUP BY l.idllamado;
            
08/05/2026 11:40:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12506
                
08/05/2026 11:40:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12510
            GROUP BY l.idllamado;
            
08/05/2026 11:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12510
                
08/05/2026 11:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12510
                [08/05/2026 11: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;
                

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

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

08/05/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 = 12505
                
08/05/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 = 12505
                [08/05/2026 11: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;
                

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

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

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

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

08/05/2026 11: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 = 12505
                
08/05/2026 11: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 = 12505
                [08/05/2026 11:40: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;
                

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

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

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

08/05/2026 11:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/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 = 12505
                
08/05/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 = 12505
                
08/05/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 = 12505
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/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 = 12505
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/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 = 12505
                
08/05/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 = 12505
                
08/05/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 = 12505
                
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/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 = 12505
                
08/05/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 = 12505
                
08/05/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 = 12505
                
08/05/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 = 12505
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/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 = 12505
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/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 = 12505
                
08/05/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 = 12505
                
08/05/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 = 12505
                
08/05/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 = 12505
                
08/05/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 = 12505
                
08/05/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 = 12505
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/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 = 12505
                [08/05/2026 11:40: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;
                

08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/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 = 12505
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/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 = 12505
                
08/05/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 = 12505
                
08/05/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 = 12505
                
08/05/2026 11:40:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                [08/05/2026 11:40: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;
                

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

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

08/05/2026 11:40:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 11:40:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 11:40:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            [08/05/2026 11:40: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;
                
[08/05/2026 11:40: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;
                

08/05/2026 11:40:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 11:40:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:40:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11: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 = 12505
                
08/05/2026 11:40:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12505
                
08/05/2026 11: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 = 12505
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12510
            GROUP BY l.idllamado;
            
08/05/2026 11:40:56 - logentry: =========================================
FECHA: 08/05/2026 11:40:56
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-XiM7afXy8npoz+RmSazAatBEXPRkUvHAgcMc+EhSSqw1.gcieSM
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79783050",
    "serieinterna": "BR2020",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "110967",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "cambio de unidad de tambor, pendiente  cambio del toner por manchas en la copia",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12510",
    "observacion": "cambio unidad de imagen, pendiente por toner",
    "firma": "",
    "razonSocial": "SOCIEDAD EDUCACIONAL MAGISTER LTDA.",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "VALESCA OLIVIA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "SOLICITA UNIDAD DE IMAGEN Y TONER",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56949292120",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"BRO-R558\",\"id_control\":\"28627\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:40",
    "ubicacionGPS": "LatLng(lat: -23.6618293, lng: -70.3999387)",
    "horaLlegada": "08:17",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "68186"
}
=========================================
FECHA: 08/05/2026 11:40:56
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-XiM7afXy8npoz+RmSazAatBEXPRkUvHAgcMc+EhSSqw1.gcieSM
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79783050",
    "serieinterna": "BR2020",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "110967",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "cambio de unidad de tambor, pendiente  cambio del toner por manchas en la copia",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12510",
    "observacion": "cambio unidad de imagen, pendiente por toner",
    "firma": "",
    "razonSocial": "SOCIEDAD EDUCACIONAL MAGISTER LTDA.",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "VALESCA OLIVIA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "SOLICITA UNIDAD DE IMAGEN Y TONER",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56949292120",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"BRO-R558\",\"id_control\":\"28627\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:40",
    "ubicacionGPS": "LatLng(lat: -23.6618293, lng: -70.3999387)",
    "horaLlegada": "08:17",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "68186"
}
==========DATOS ENVIADOS===============================


08/05/2026 11:40:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:79783050

[08/05/2026 11:40: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('79783050', 'BR2020', 1, 7373114, 110967, NOW(), 
				'08:00', '08:17', '11:40', 4, 'cambio de unidad de tambor, pendiente  cambio del toner por manchas en la copia', -1, 
				'', '','1','0',
				'0',1,'', 'cambio unidad de imagen, pendiente por toner', 68186, 'REPROGRAMADO','LatLng(lat: -23.6618293, lng: -70.3999387)' )
				
[08/05/2026 11:40:56] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200233
[08/05/2026 11:40:56] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200233', 'BRO-R558', 1)
				
[08/05/2026 11:40:56] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28627 and
				    IDproducto = 'BRO-R558'
				

08/05/2026 11:40:56 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'BRO-R558';
                
08/05/2026 11:40:56 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200233'                    
				WHERE idllamado = 12510			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


08/05/2026 11:40:56 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 12510			
				
08/05/2026 11:40:56 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('79783050', 'BR2020', 1, 'APP', 'sin otroTipo definido', -2, 'SOLICITA UNIDAD DE IMAGEN Y TONER', 'Sin coderror', '1', 'SI', now(), 'VALESCA OLIVIA', '+56949292120', 'tecnico@dsprint.cl', 12510)
				
08/05/2026 11:40:56 Insertado nuevo llamado creado idllamado: 12512APP
08/05/2026 11:40:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/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 = 12510
                TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/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 = 12510
                
08/05/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 = 12510
                
08/05/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 = 12510
                
08/05/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 = 12510
                
08/05/2026 11:40:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12510
            GROUP BY l.idllamado;
            
08/05/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 = 12510
                
08/05/2026 11: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 = 12510
                
08/05/2026 11: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 = 12510
                [08/05/2026 11:41:06] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:41:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12510
            GROUP BY l.idllamado;
            [08/05/2026 11:41:06] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11: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 = 12510
                
08/05/2026 11: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 = 12510
                
08/05/2026 11:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12510
                
08/05/2026 11:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12510
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12510
            GROUP BY l.idllamado;
            [08/05/2026 11:41:15] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:41:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                [08/05/2026 11:41:15] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:41:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
08/05/2026 11:41:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
08/05/2026 11:41:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
08/05/2026 11:41:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
08/05/2026 11:41:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
08/05/2026 11:41:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            [08/05/2026 11:41:19] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            [08/05/2026 11:41:19] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:41:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
08/05/2026 11:41:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
08/05/2026 11:41:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
08/05/2026 11:41:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
08/05/2026 11:41:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
08/05/2026 11:41:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
08/05/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 = 12427
                
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            [08/05/2026 11:41:34] 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;
                

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

08/05/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 = 12427
                
08/05/2026 11: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 = 12427
                
08/05/2026 11: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 = 12427
                
08/05/2026 11:41:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:41:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11: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 = 12427
                [08/05/2026 11:42:11] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            [08/05/2026 11:42:11] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

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

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

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

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

08/05/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 = 12505
                
08/05/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 = 12505
                
08/05/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 = 12505
                
08/05/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 = 12505
                [08/05/2026 11: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;
                

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

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

08/05/2026 11: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 = 12505
                [08/05/2026 11: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;
                

08/05/2026 11: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 = 12505
                
08/05/2026 11: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 = 12505
                [08/05/2026 11: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;
                

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

08/05/2026 11: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 = 12505
                [08/05/2026 11: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;
                

08/05/2026 11: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 = 12505
                [08/05/2026 11: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;
                

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

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

08/05/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 = 12427
                
08/05/2026 11:42:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
08/05/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 = 12427
                
08/05/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 = 12427
                
08/05/2026 11:42:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
08/05/2026 11:42:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
08/05/2026 11:42:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
08/05/2026 11:42:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                [08/05/2026 11:42:38] 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;
                

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

08/05/2026 11:42:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
08/05/2026 11:42:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
08/05/2026 11:42:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
08/05/2026 11:42:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
08/05/2026 11:42:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                [08/05/2026 11:42:43] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				
[08/05/2026 11:42:43] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[08/05/2026 11:42:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:42:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:42:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
08/05/2026 11:43:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            [08/05/2026 11:43:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:43:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
08/05/2026 11:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
08/05/2026 11:43:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
08/05/2026 11:43:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
08/05/2026 11:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
08/05/2026 11:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11: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 = 12272
                
08/05/2026 11: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 = 12272
                
08/05/2026 11:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            [08/05/2026 11:43: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;
                

08/05/2026 11:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 11:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 11:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 11:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            [08/05/2026 11:43: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;
                

08/05/2026 11:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 11:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                [08/05/2026 11:43: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;
                

08/05/2026 11:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 11:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 11:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                [08/05/2026 11:43: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;
                

08/05/2026 11:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 11:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                [08/05/2026 11:43: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;
                

08/05/2026 11:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 11:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            [08/05/2026 11:43: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;
                
[08/05/2026 11:43: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;
                

08/05/2026 11:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:43:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 11:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:43:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            [08/05/2026 11:43:20] 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;
                
[08/05/2026 11:43:20] 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;
                

08/05/2026 11:43:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12427
            GROUP BY l.idllamado;
            
08/05/2026 11:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
08/05/2026 11:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
08/05/2026 11:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 11:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
08/05/2026 11:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12427
                
08/05/2026 11:43:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            [08/05/2026 11:43:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:43:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
08/05/2026 11:43:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            [08/05/2026 11:43: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;
                

08/05/2026 11:43:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                [08/05/2026 11:43: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;
                

08/05/2026 11:43:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            [08/05/2026 11:43: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;
                

08/05/2026 11:43:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                [08/05/2026 11:43: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;
                

08/05/2026 11:43:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            [08/05/2026 11:43: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;
                

08/05/2026 11:43:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                [08/05/2026 11:43: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;
                

08/05/2026 11:43:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                [08/05/2026 11:43: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;
                

08/05/2026 11:43:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                [08/05/2026 11:43: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;
                

08/05/2026 11:43:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
08/05/2026 11:43:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
08/05/2026 11:43:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
08/05/2026 11:43:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                [08/05/2026 11:43: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;
                

08/05/2026 11:43:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:43:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:43:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:43:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:43:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                [08/05/2026 11:43: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;
                

08/05/2026 11:43:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            [08/05/2026 11:43: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;
                

08/05/2026 11:43:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            [08/05/2026 11:43: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;
                

08/05/2026 11:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                [08/05/2026 11:43: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;
                
[08/05/2026 11:43: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;
                

08/05/2026 11:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                [08/05/2026 11:43: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;
                

08/05/2026 11:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                [08/05/2026 11:43: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;
                

08/05/2026 11:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
08/05/2026 11:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
08/05/2026 11:43:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:43:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:43:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:43:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:44:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:44:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:44:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:44:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:44:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:44:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:45:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
08/05/2026 11:45:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
08/05/2026 11:45:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11: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 = 12272
                
08/05/2026 11: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 = 12272
                
08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                
08/05/2026 11:45:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/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 = 12272
                
08/05/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 = 12272
                
08/05/2026 11:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
08/05/2026 11:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
08/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
08/05/2026 11:45:37 - logentry: =========================================
FECHA: 08/05/2026 11:45:37
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-bG9OAaxsVNPRamQk9H.amIuFo5rpNGLC6baOJEGPjHPm2tYiupq
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2947",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "1 tinta 1940\n1 tinta  1941\n1 tinta 1942\n1 tinta 1943\n1 residual 2024",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12272",
    "observacion": "D F E",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABzAN4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xAA+EAABAwMCAwUFBAYLAAAAAAABAAIDBAURBiESMUETIlFhgRRxkaHBMkKx0RUjJFJT8AcmM0NiY2SCwuHi\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECBAP\/xAAsEQACAgECAwYHAQEAAAAAAAAAAQIRAxIhEzFRIjIzQWFxBIGRobHB0eHw\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBFWXPUNttR4aifik\/hx953r4eqqDfr1d2uitNsfA1wIFRNyHu6Z+KuoN7nCfxGOL03b6LctbzqKiszCJXdpOR3YWHf18AoumbhdboaisrGNZSvIEDQMYxzx4jzPVfVr0tR0YM1aBXVUm8kkw4hk88A\/id1dta1jAxjQ1rRgADAAUtxSpFIRyympzdLp\/T6REXM1BERAEXGqq4KKAzVMrY4xtxOON11BBGQcgoRauj1Fxp6unquP2eeOXs3cLuBwPCfArsgTT3QREQkIiIAiIgCIiAIiIAiIgC+XvZGwvkcGNaMlzjgBUt21PT0EppKaJ9XWHYRxjIB5bn39Aq9un7te5BNfKx0UOctpoiNvoPmVdQ83sZpZ99ONan9l7sn1msLNSghs5qHj7sTc\/M7KE6pv2o3htGx1soSN5XjvvB6j\/r4q9orRb7e1opaSJhb9\/hy74ndTVOqK5IjhZZ+JLbov6U1tsVmt0gia2KarA4nOlIc\/wB+OnorlZi6PdQ62t1QDhlUzsnDxOSPqFp1Er2bLYHHtRSqmERFQ0BERAEREBmtbuLrfSQZ2lqWgjffY+Cv6qnbV0stM9zmslYWOLeeDsVntY96e0xcuOp5+G4\/NaddH3UZYK82S\/T8ES3WyktUBhpIuBpOXHOS4+ZUtEXNuzTGKiqQREQkIiIAiIgCIiAIiIAiIgINDZ6G3SSSU0AbJKcued3fE8lORFLbfMrGKiqSCLx2eE8IBONgThZqe1aiu0kjK24R0dKScRwDJIz6fM+ilK+bKZJuPKLbOWtpo4P0fUtkYZqacODMjixzzjn91TKjWllg2ZNJOf8ALjP1wqu+aUoLdYqmqh7WSoZwnjkd4uGdhgdVoLHS0YtdJUQ0sMb5IWuc5sYBJIBO+PFdHp0rzMceNxpJUrSfX09CnbJf9Ry8Ub32qh2IcPtv9ef4D3rUxtLI2sLi4tAHEeZ819IucpWbMeLRbbtsIiKp1CIiAzGr9qyzOOwFTufDdq06zGuQW22lnA\/s6kZI5jY\/ktMCCMg5BV5d1GbH42T5fgrbfbKiluFZV1FbJP27u5GT3WNztt4\/z1VmiKrdneMVFUgiprnqm221xj7Q1E+cdnDvg+Z5Be2a5XS4zyPq7b7JTBuYy4niJ28ee2d8BTpdWc+PBz0J2z5uc+ofaTHbqSnMP8R7hn4Z+ihf1z\/0fyWnRSpV5FZYNTvU\/qZgv1nGOLsqSX\/DkfmF46\/aioMPuNka6Inc07s4+Bd9FdVt3pLdVwU9U4x9vnhkI7oOQMH4qcp1dUUWLdqOR2vmVNv1Narl3YqkRyYz2cvdP5H0KtlV12nbXX5c+mEUu2JYe44Ecjt9VTdredLSfr+O423fDhu+MeJPT8PcmlS7pPFyY\/FVrqv2jWoo1BcKW5UwqKSUSMPPHNp8COhUlc+RpTTVoIiISEREAREQES6UxrLVVU7R3pInNb78bfNVujakVOnYW9YXOjPxyPkQr1ZfS49kvd4t57rWy8bG55DJ+harreLRmydnNCXW1+zUIiKhpCIiA5snhklkiZKx0kWONgO7cjIyOmV0UaC30tNVT1UMXDNUEGV3ETxY8icD0UlS68iI3W5RaxpzUacmLWlxic2TA8jg\/IlTrZcaeptNPUGePBiBeS4DhIG+fDBU5zQ5pa4AgjBB6qim0bZ5qjtjFI3JyWNfhp8lZNNUzPOE45NcN7VHtfq+1UYLYpfa5eQZDuD\/ALuXwyoElPqHUTz2r\/0bQu5MH23Dz6n1wFoKG0UFtA9kpY43Yxx4y4+881MU6ku6iODkyeJLbov7zKu16dt1pAdBDxyj+9k3d6eHorREVG292aIQjBVFUgiIoLFfe7XHd7ZJTOA48cUTj913RQtK3KSqoX0dXltXRu4Htdzx0P09FerK6ghkst3h1DTN4oyRHUsHUcs\/z1AXSO60mXMuHJZl7P26\/I1S8c0OaWuAIIwQeq+IJo6mCOeJ3FHI0OafEFdFzNPNGRrKYaVvcNdSd2hrHiOaL90+I\/Ee4jqtcsxrP9qbb7azBlnqA4DmcAEf8lp10luk2ZsK05JxjyVffmERFzNQREQBFDppa99dVMqaeOOmYW9g9rsl\/POfl0Hqpil7EJ2rCzDP2T+kN45Csps49w\/8FadZzUFPMy+2itp4HyObIY38DSe7tz8Ni75q0ObRn+IXZUujRo0RFQ0hERAEREAREQBERAEREAREQBcKykirqOWlmGWStLT5ea7ohDSapmZ0vUyUFRPp+scO1p3Ewu\/fad9vx9fJaKaaOnhfNM8MjYMuc47AKmvFrndfLfdqQDihdwzkuDQI98nJ8ifiqyrll1ddW0dK57bXTOzNKNhIfL6fFdWlJ39TFHJLDF46t3S9V\/nmdbEyS\/XyW\/Tt4YIsx08bhuMdfDqfUrVrnDDHTwshhYGRsGGtaNgF0VJStmnDj4cae7fP3CIiqdQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC+XOaxhe9wa1oySTgALjXVsFuo5KqpdwxxjJwMk+ACy7YLtq5\/azyOorWT3GN+1IPr67eAV4xvd8jhkzaHpirk\/I+q2tqtVVhtttcY6Bh\/X1ONneQ\/Lr7lpqGigt1IylpmcMbBjzJ8T5r2jo6egpm01LGI42cgPxPiu6Sley5DFicXrnvJ\/8AUgiIqHcIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgPmSNksbo5GNexww5rhkEeYXrWhrQ1oAAGAB0REB6iIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "VICTOR ROMERO",
    "correoContacto": "romerov@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCION INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "981529732",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:45",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "08:33",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 11:45:37
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-bG9OAaxsVNPRamQk9H.amIuFo5rpNGLC6baOJEGPjHPm2tYiupq
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2947",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "1 tinta 1940\n1 tinta  1941\n1 tinta 1942\n1 tinta 1943\n1 residual 2024",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12272",
    "observacion": "D F E",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABzAN4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xAA+EAABAwMCAwUFBAYLAAAAAAABAAIDBAURBiESMUETIlFhgRRxkaHBMkKx0RUjJFJT8AcmM0NiY2SCwuHi\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECBAP\/xAAsEQACAgECAwYHAQEAAAAAAAAAAQIRAxIhEzFRIjIzQWFxBIGRobHB0eHw\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBFWXPUNttR4aifik\/hx953r4eqqDfr1d2uitNsfA1wIFRNyHu6Z+KuoN7nCfxGOL03b6LctbzqKiszCJXdpOR3YWHf18AoumbhdboaisrGNZSvIEDQMYxzx4jzPVfVr0tR0YM1aBXVUm8kkw4hk88A\/id1dta1jAxjQ1rRgADAAUtxSpFIRyympzdLp\/T6REXM1BERAEXGqq4KKAzVMrY4xtxOON11BBGQcgoRauj1Fxp6unquP2eeOXs3cLuBwPCfArsgTT3QREQkIiIAiIgCIiAIiIAiIgC+XvZGwvkcGNaMlzjgBUt21PT0EppKaJ9XWHYRxjIB5bn39Aq9un7te5BNfKx0UOctpoiNvoPmVdQ83sZpZ99ONan9l7sn1msLNSghs5qHj7sTc\/M7KE6pv2o3htGx1soSN5XjvvB6j\/r4q9orRb7e1opaSJhb9\/hy74ndTVOqK5IjhZZ+JLbov6U1tsVmt0gia2KarA4nOlIc\/wB+OnorlZi6PdQ62t1QDhlUzsnDxOSPqFp1Er2bLYHHtRSqmERFQ0BERAEREBmtbuLrfSQZ2lqWgjffY+Cv6qnbV0stM9zmslYWOLeeDsVntY96e0xcuOp5+G4\/NaddH3UZYK82S\/T8ES3WyktUBhpIuBpOXHOS4+ZUtEXNuzTGKiqQREQkIiIAiIgCIiAIiIAiIgINDZ6G3SSSU0AbJKcued3fE8lORFLbfMrGKiqSCLx2eE8IBONgThZqe1aiu0kjK24R0dKScRwDJIz6fM+ilK+bKZJuPKLbOWtpo4P0fUtkYZqacODMjixzzjn91TKjWllg2ZNJOf8ALjP1wqu+aUoLdYqmqh7WSoZwnjkd4uGdhgdVoLHS0YtdJUQ0sMb5IWuc5sYBJIBO+PFdHp0rzMceNxpJUrSfX09CnbJf9Ry8Ub32qh2IcPtv9ef4D3rUxtLI2sLi4tAHEeZ819IucpWbMeLRbbtsIiKp1CIiAzGr9qyzOOwFTufDdq06zGuQW22lnA\/s6kZI5jY\/ktMCCMg5BV5d1GbH42T5fgrbfbKiluFZV1FbJP27u5GT3WNztt4\/z1VmiKrdneMVFUgiprnqm221xj7Q1E+cdnDvg+Z5Be2a5XS4zyPq7b7JTBuYy4niJ28ee2d8BTpdWc+PBz0J2z5uc+ofaTHbqSnMP8R7hn4Z+ihf1z\/0fyWnRSpV5FZYNTvU\/qZgv1nGOLsqSX\/DkfmF46\/aioMPuNka6Inc07s4+Bd9FdVt3pLdVwU9U4x9vnhkI7oOQMH4qcp1dUUWLdqOR2vmVNv1Narl3YqkRyYz2cvdP5H0KtlV12nbXX5c+mEUu2JYe44Ecjt9VTdredLSfr+O423fDhu+MeJPT8PcmlS7pPFyY\/FVrqv2jWoo1BcKW5UwqKSUSMPPHNp8COhUlc+RpTTVoIiISEREAREQES6UxrLVVU7R3pInNb78bfNVujakVOnYW9YXOjPxyPkQr1ZfS49kvd4t57rWy8bG55DJ+harreLRmydnNCXW1+zUIiKhpCIiA5snhklkiZKx0kWONgO7cjIyOmV0UaC30tNVT1UMXDNUEGV3ETxY8icD0UlS68iI3W5RaxpzUacmLWlxic2TA8jg\/IlTrZcaeptNPUGePBiBeS4DhIG+fDBU5zQ5pa4AgjBB6qim0bZ5qjtjFI3JyWNfhp8lZNNUzPOE45NcN7VHtfq+1UYLYpfa5eQZDuD\/ALuXwyoElPqHUTz2r\/0bQu5MH23Dz6n1wFoKG0UFtA9kpY43Yxx4y4+881MU6ku6iODkyeJLbov7zKu16dt1pAdBDxyj+9k3d6eHorREVG292aIQjBVFUgiIoLFfe7XHd7ZJTOA48cUTj913RQtK3KSqoX0dXltXRu4Htdzx0P09FerK6ghkst3h1DTN4oyRHUsHUcs\/z1AXSO60mXMuHJZl7P26\/I1S8c0OaWuAIIwQeq+IJo6mCOeJ3FHI0OafEFdFzNPNGRrKYaVvcNdSd2hrHiOaL90+I\/Ee4jqtcsxrP9qbb7azBlnqA4DmcAEf8lp10luk2ZsK05JxjyVffmERFzNQREQBFDppa99dVMqaeOOmYW9g9rsl\/POfl0Hqpil7EJ2rCzDP2T+kN45Csps49w\/8FadZzUFPMy+2itp4HyObIY38DSe7tz8Ni75q0ObRn+IXZUujRo0RFQ0hERAEREAREQBERAEREAREQBcKykirqOWlmGWStLT5ea7ohDSapmZ0vUyUFRPp+scO1p3Ewu\/fad9vx9fJaKaaOnhfNM8MjYMuc47AKmvFrndfLfdqQDihdwzkuDQI98nJ8ifiqyrll1ddW0dK57bXTOzNKNhIfL6fFdWlJ39TFHJLDF46t3S9V\/nmdbEyS\/XyW\/Tt4YIsx08bhuMdfDqfUrVrnDDHTwshhYGRsGGtaNgF0VJStmnDj4cae7fP3CIiqdQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC+XOaxhe9wa1oySTgALjXVsFuo5KqpdwxxjJwMk+ACy7YLtq5\/azyOorWT3GN+1IPr67eAV4xvd8jhkzaHpirk\/I+q2tqtVVhtttcY6Bh\/X1ONneQ\/Lr7lpqGigt1IylpmcMbBjzJ8T5r2jo6egpm01LGI42cgPxPiu6Sley5DFicXrnvJ\/8AUgiIqHcIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgPmSNksbo5GNexww5rhkEeYXrWhrQ1oAAGAB0REB6iIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "VICTOR ROMERO",
    "correoContacto": "romerov@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCION INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "981529732",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:45",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "08:33",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 11:45:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[08/05/2026 11:45:37] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76050301', 'EP2947', 1, 9291721, 0, NOW(), 
				'08:00', '08:33', '11:45', 10, '1 tinta 1940
1 tinta  1941
1 tinta 1942
1 tinta 1943
1 residual 2024', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778255137.png', 'D F E', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[08/05/2026 11:45:37] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200234

08/05/2026 11:45:37 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200234'                    
				WHERE idllamado = 12272			
				TO ENVIO: micorreo@miempresa.cl, romerov@berliam.cl


08/05/2026 11:45:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:38 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12272			
				
08/05/2026 11:45:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 11:45:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
08/05/2026 11:45:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                [08/05/2026 11:45:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:45:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
08/05/2026 11:45:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
08/05/2026 11:45:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                [08/05/2026 11:45:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:45:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                [08/05/2026 11:45:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:45:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
08/05/2026 11:45:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                [08/05/2026 11:45:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:45:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            
08/05/2026 11:45:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            [08/05/2026 11:45:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:45:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12272
            GROUP BY l.idllamado;
            [08/05/2026 11:45:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:45:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                
08/05/2026 11:45:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12272
                [08/05/2026 11:47:04] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:47:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:47:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
08/05/2026 11:47:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
08/05/2026 11:47:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
08/05/2026 11:47:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
08/05/2026 11:47:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:47:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:47:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                [08/05/2026 11:47:05] 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;
                

08/05/2026 11:47:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:47:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:47:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:47:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:47:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:47:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
08/05/2026 11:47:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:47:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
08/05/2026 11:47:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:47:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:47:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12459
                
08/05/2026 11: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 = 12459
                
08/05/2026 11: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 = 12459
                
08/05/2026 11: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 = 12459
                
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12459
                
08/05/2026 11: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 = 12459
                
08/05/2026 11: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 = 12459
                
08/05/2026 11: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 = 12459
                
08/05/2026 11:47:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12459
                
08/05/2026 11: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 = 12459
                
08/05/2026 11: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 = 12459
                
08/05/2026 11:47:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
08/05/2026 11:47:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:47:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:47:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:48:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
08/05/2026 11:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:48:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
08/05/2026 11:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:49:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:49:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
08/05/2026 11:49:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:49:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:49:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:49:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:49:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
08/05/2026 11:49:15 - logentry: =========================================
FECHA: 08/05/2026 11:49:15
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-8Q5ub_ZelqLSiXFHm4ow6UA9X1q8Ez.TJdpBlS3l39M7dJ5kCVE
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "RIS1676",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "1324507",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "reparación del tambor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12459",
    "observacion": "reparación del tambor",
    "firma": "",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "CARLA UBEDA FLORES",
    "correoContacto": "carlotaubeda75@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE SE DESPEGO LA GOMA DE SILICONA DEL TAMBOR.",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"RIS-I90\",\"id_control\":\"28582\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:49",
    "ubicacionGPS": "LatLng(lat: -23.6618277, lng: -70.3999561)",
    "horaLlegada": "08:18",
    "horaDespacho": "11:40",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "68184"
}
=========================================
FECHA: 08/05/2026 11:49:15
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-8Q5ub_ZelqLSiXFHm4ow6UA9X1q8Ez.TJdpBlS3l39M7dJ5kCVE
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "RIS1676",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "1324507",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "reparación del tambor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12459",
    "observacion": "reparación del tambor",
    "firma": "",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "CARLA UBEDA FLORES",
    "correoContacto": "carlotaubeda75@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE SE DESPEGO LA GOMA DE SILICONA DEL TAMBOR.",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"RIS-I90\",\"id_control\":\"28582\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:49",
    "ubicacionGPS": "LatLng(lat: -23.6618277, lng: -70.3999561)",
    "horaLlegada": "08:18",
    "horaDespacho": "11:40",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "68184"
}
==========DATOS ENVIADOS===============================


08/05/2026 11:49:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[08/05/2026 11:49: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('61980920', 'RIS1676', 1, 7373114, 1324507, NOW(), 
				'11:40', '08:18', '11:49', 4, 'reparación del tambor', -1, 
				'', '','1','0',
				'0',1,'', 'reparación del tambor', 68184, 'COMPLETADO','LatLng(lat: -23.6618277, lng: -70.3999561)' )
				
[08/05/2026 11:49:15] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200235
[08/05/2026 11:49:15] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200235', 'RIS-I90', 2)
				
[08/05/2026 11:49:15] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28582 and
				    IDproducto = 'RIS-I90'
				

08/05/2026 11:49:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:49:15 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'RIS-I90';
                
08/05/2026 11:49:15 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200235'                    
				WHERE idllamado = 12459			
				TO ENVIO: micorreo@miempresa.cl, carlotaubeda75@gmail.com


08/05/2026 11:49:15 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12459			
				
08/05/2026 11:49:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 11:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:49:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
08/05/2026 11:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:49:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            [08/05/2026 11:49:19] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:49:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            [08/05/2026 11:49:19] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:49:19] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:49:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
08/05/2026 11:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:49:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12459
            GROUP BY l.idllamado;
            
08/05/2026 11:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                
08/05/2026 11:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12459
                [08/05/2026 11:49:31] 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;
                

08/05/2026 11:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11:49:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11:49:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            [08/05/2026 11:49:31] 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;
                

08/05/2026 11:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                [08/05/2026 11:49:31] 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;
                

08/05/2026 11:49:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            [08/05/2026 11:49:40] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:49:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            [08/05/2026 11:49:40] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:49:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                [08/05/2026 11:49:40] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:49:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11:49:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11:49:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:50:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:50:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11:50:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:50:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:50:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:50:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:50:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11:50:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:50:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:50:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11:50:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:50:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/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 = 12458
                
08/05/2026 11:53:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:53:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:53:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12458
                
08/05/2026 11: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 = 12458
                
08/05/2026 11: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 = 12458
                
08/05/2026 11: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 = 12458
                
08/05/2026 11:54:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:54:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11:54:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:54:01 - logentry: =========================================
FECHA: 08/05/2026 11:54:01
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-8ciTF9NhA1dTua1NmzjCrC6k0K2TZHKcT40_4vEW55tF8cx2m+y
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2341",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "175492",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "por atascos de papel se limpian los rodillos alimentadores de ambas bandejas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12458",
    "observacion": "equipo sin problemas, mantención general",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC2APIDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQBAgf\/xABAEAABAwMCAgYHBAcJAQAAAAAAAQIDBAURBiESMRNBUWGBkRQicaGxwdEVIzLwFjNCUpKy4Qc0NTZicnSC8aL\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAgMEAf\/EAC0RAQACAQMBBQcFAQAAAAAAAAABAgMRITESBCJBUWETMnGBkaHRQrHB4fAj\/9oADAMBAAIRAxEAPwD9mAAAAAAAAAAAAAAAAAAAAAAAAAAAAo9VXOahoGQUv95q3dGzdMonJcd+6eZ2I1nRDJeMdZtPgguOpZpK1bbZqdampRUR0n7DO3\/3l7SP7N1a7MjrvTtfzRqN2Tu\/D8i1sdmistAkDFR8jl4pZMfiX6IWRObRG1YZ64b3jqyWnXyidNGUfdtSWVUfc6SOspk\/FLDsqd+3LxRC9td4orvD0lLJlUTLo3bOb7UO4z120z0s3p1pl9Cq2ou0acLZPbjl8xrW3OxNcuLes9UeU8\/KWhKq+Xn7KiiZFF01VUO4IY8817\/MrIdVVNvd6PfqCSB6J+tjblq\/Lq6lXwFtc7UOoPtR0L20lIisg41wvF17J589vERTTeeHLdoi8dOOe9P280lHqCtpbjHQ32nZTOmanRyNVFTi7Fwq7fDHftpCtvtrbdrXJAiJ0zU4oXdbXJy36s8iDS9ydcbNGsq5mh+7k33XHJV8DkxEx1Qnjm1L+ztOuu8T\/C5ABBpAAAAAAAAAAAAAAAAAAAAAAAAAAAMsjUuuvHcSKsVuj232V23V7XL\/AAoakzGkvva+81S85KnHs3cvzLK7RMs2fvXpT11+jTgAraQAAfL2MkarHtRzV5o5Mop6iIiYRMIh6ABlqBy2jWdXRK1UhuCdLGq\/vbr8eJPI1Jl9XolLWWq58OOhnRr3dqZRUT3OLKbzp5svae7WMkfpn+pagAFbUAAAAAAAAAAAAAAAAAAAAAAAAAAAZjSv3d4vsOdm1GU7fxP\/AKGnMtx\/ZevVarlSK4RIq52Ti6ve3\/6LKbxMM2fu3pb1\/eNGpABW0gAAAAAZ\/W0XSackdv8AdyMd78fM0BS6v\/yvWf8AT+dpOnvQo7RGuG3wlZ0Uqz0NPM7nJE1y+KZBDZf8DoP+NH\/KgIzytpOtYl2gA4kAAAAAAAAAAAAAAOC7Xils9Ks1Q7Ll2ZG38T17vqcNmqr3cKr0yrhjpaJWqjIVzxrnGF5b+72EorOmqqctYv0cz\/uV6ACK0AAAAACm1JZnXWkZLTu4KumXjhd293u8y5B2JmJ1hDJSMlZrZT6evjbvTLHMnR1kHqzRrsv+5E\/OFLgob5pz02ZLhb5PRq+PdHt2SRerP18yCj1TLSzNo7\/TLRzb4lRq8DuXt802JzWLb1Z65Zx9zL9fCfxLSg+IpY5o2yRSNkY5Mtc1covifZW1gAAGa1fVdNBDZ6ZUkqamRvFGm6o1N98ct8L4KaU51oKR1alatOxahG8KSKm+CVZiJ1VZqTenTHj+ySnhbTU0UDPwxMRjfYiYBICK2I02AAAAAAAAAAAAAArL5e4bNTI5W9JUSbQxJzcv0O+aaOnhfNM9GRsTLnOXZEMvYIpL9dpr7WIqxxPVlLGvJv8A5lN+3PYTrEczwz5skxMUpzP29XTatPyVM6XW9\/fVb8K2JUThjTq27TRgHLWmeVmPHXHGkAAIrAAAAAAAAA56yhpbhCsNXAyVi9Tk3T2LzTwOgByYiY0lnqPTlTaLix9srFbSPeizRS7rhOz4Z+JoQDs2meUMeOuONK8AAOLAAAAAAAAAAAAAAAAAAAZnU0ktxuNHYIHcLZ1453J1NTfHuz5GhpqeOkpoqaFvDHE1GtTuQzsXrf2iT534KZMd2zfqppyy20RDLgjqve8866fKAAFbUAAAART1NPTN4p5o4kRM5e5E\/PIOTMRylBUy6ossKqi17HLjOI2q\/wCCHkOqrJMqo2uY3fHrtVufNCXRbyV+3xa6dUfVbgjimiqI0khlZIxeTmORU80JCK3kAAAAAAAAAAAAAAAAAAAAAAAAAAGWqn\/Z2voJpNo62JI0djr5Y80TzNSUOrrfJV2pKmBVSejd0rcc8Jz+vgWNor23O1U9WnORnrp2OTZfeillt6xLLi7mW1J8d4\/n7u0Az9z1HM2rdb7TSPqqpq8L3K1eGNe\/67J7SEVmeF2TJXHGtl897I2K+RyMa1Mq5y4RCkr9XW2lzHTP9NqFVEbHDuiqv+rl5ZOKPTFfdFSa\/wBwkf1tgiXCN+XkniXtBZ7fbEX0SlZG5Uwr+bl8V3J6VjndT1Z8nux0x68\/RSL+lV49VejtVO5cKqfrMfHP8JNBoq2N9eqfPVyLjidJIqZ8t\/eaIHOufDZ2OzUne\/en1\/2iuh0\/aIMcFug2XKK5nF8T2ew2mpRUkt1Pv1tYjV80wpYAj1T5rfZY9NOmPozn6HQ09Sye211RRua5FciLxIqJ1dXvyaMA7Npnkpipj16Y0AARWAAAAAAAAAAAA8ymcZ3PQAAAAAAAAAAA8VEVMKmUUyMTn6QvawvVVtVa7LXdUTv6beGOw15z1tFT3CldTVMaPjd1di9Skq202nhTmxzfSa7THCdrkc1HNVFRUyip1njY2Ne57WNRz8cTkTd2O0ycT75ph606Ur7jb0X7tzfxNTs2zjxTHYTt1zRMdw1NFVwL1Zai\/NCXs58N1cdqxxtk7s+rSSyxwQvmlejI2IrnOXkiHPbLlBdaNKqm4+jVVT10wuUM1XXSo1WxLfbKaWOne9OmqJNsInci93wNXTU8dLTR08SYZG1GpnnscmvTG\/KWPLOS+tfdj7ylABBoAAAAAAAAAAAAAAAAAABiZqeurdYV0VPXyQTQcMsbd8PRET1V3Tqd8TRWS4VtbDIyvo3080Co1yryevd4Y8ys1RTTUNVT3+j3fTrwzMVdnNXb54Xw7C\/oq2C4UkdVTu4o5EynancveW2nWsSw4KdOW0a78\/GJ\/DoABU3AAAAAAAAAAAHy5rXphzUcnemT6AAAAAAAAAAAAAAAAAAAAAAAAAHy9jZI3RvajmuRUci9aGTg6TSN6bTPe59rrHeoqr+qd+fdv1GuOG8WyO7W2WkfhHKmWOVM8Lupfz2k6zptPCjNjm0dVfejj8fN3AoNKXGWopJbfV7VdC7o3IvNW8kX3Knl2l+RtGk6J48kZKxaAAHFgAAAI5p4aaJZZ5WRRt5ueuEQz9Vq3p5Ep7JSPrpl\/aVqoxv58PaSiszwqyZaY\/eloJ6iGlhdNPI2ONqZVzlwiFHp2uq7pX19a6R60SuRsDHJhNlXdPDHmQx6crrs9s+oKxXo3dtNCuGt9q\/TzNFBBFTQshgjbHGxMNa1MIh2dIjTxV19pkvFpjSI+s\/FIACDSAAAAAAAAAAAAAAAAAAAAAAAAAADL6khmtVyh1BRtc7hxHUt5ore3u7PI0VJVQ1tLHU070fFImWuQ+5Yo5onRSsR7HphzXJlFQylJNJpG5OoqpXOttS\/MUy78C46\/cnvLI70aeMMk\/8AHJ1fpt9p\/trgeIqKmUXKKctwulHa4Flq5msTGUbn1ndyJ1kIjVqm0VjWXWZ666pZDN6Fao\/Tax2ycG7WL39pxOlveqVRsLVt9tcu8mfWkTu5KvwL+1Wais8PR0sfrKmHyO3c72r8iekV55ZevJm2x7R5\/j8qam0xWXCdtVqCrdOqbtp2O9VPb\/TzNFT0tPSR9HTQRws\/djajU9xMCM2mV2PDTHxz5+IACK0AAAAAAAAAAAAAAAAAAAAAAAAAAAAADmuFBT3KjfS1LcsenNETLV7UzyUAcOTETGkqFunL1S5hor69lPya16Kqsb2Jz5J2Y8Cai0hTMm9JuM8lfUZzxPVUb5Z38\/AAsm9tGWnZ8fVvHHxaBEREwiYRD0ArawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MARÍA DEL CARMEN ROJAS PEÑA",
    "correoContacto": "escuelacarloscondell@sleplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE AL IMPRIMIR ARRUGA RECURRENTEMENTE EL PAPEL",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56981579047",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28578\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:54",
    "ubicacionGPS": "LatLng(lat: -23.661831, lng: -70.399939)",
    "horaLlegada": "08:18",
    "horaDespacho": "11:49",
    "idMovimientoMaquina": "5",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 11:54:01
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-8ciTF9NhA1dTua1NmzjCrC6k0K2TZHKcT40_4vEW55tF8cx2m+y
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2341",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "175492",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "por atascos de papel se limpian los rodillos alimentadores de ambas bandejas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12458",
    "observacion": "equipo sin problemas, mantención general",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC2APIDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQBAgf\/xABAEAABAwMCAgYHBAcJAQAAAAAAAQIDBAURBiESMRNBUWGBkRQicaGxwdEVIzLwFjNCUpKy4Qc0NTZicnSC8aL\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAgMEAf\/EAC0RAQACAQMBBQcFAQAAAAAAAAABAgMRITESBCJBUWETMnGBkaHRQrHB4fAj\/9oADAMBAAIRAxEAPwD9mAAAAAAAAAAAAAAAAAAAAAAAAAAAAo9VXOahoGQUv95q3dGzdMonJcd+6eZ2I1nRDJeMdZtPgguOpZpK1bbZqdampRUR0n7DO3\/3l7SP7N1a7MjrvTtfzRqN2Tu\/D8i1sdmistAkDFR8jl4pZMfiX6IWRObRG1YZ64b3jqyWnXyidNGUfdtSWVUfc6SOspk\/FLDsqd+3LxRC9td4orvD0lLJlUTLo3bOb7UO4z120z0s3p1pl9Cq2ou0acLZPbjl8xrW3OxNcuLes9UeU8\/KWhKq+Xn7KiiZFF01VUO4IY8817\/MrIdVVNvd6PfqCSB6J+tjblq\/Lq6lXwFtc7UOoPtR0L20lIisg41wvF17J589vERTTeeHLdoi8dOOe9P280lHqCtpbjHQ32nZTOmanRyNVFTi7Fwq7fDHftpCtvtrbdrXJAiJ0zU4oXdbXJy36s8iDS9ydcbNGsq5mh+7k33XHJV8DkxEx1Qnjm1L+ztOuu8T\/C5ABBpAAAAAAAAAAAAAAAAAAAAAAAAAAAMsjUuuvHcSKsVuj232V23V7XL\/AAoakzGkvva+81S85KnHs3cvzLK7RMs2fvXpT11+jTgAraQAAfL2MkarHtRzV5o5Mop6iIiYRMIh6ABlqBy2jWdXRK1UhuCdLGq\/vbr8eJPI1Jl9XolLWWq58OOhnRr3dqZRUT3OLKbzp5svae7WMkfpn+pagAFbUAAAAAAAAAAAAAAAAAAAAAAAAAAAZjSv3d4vsOdm1GU7fxP\/AKGnMtx\/ZevVarlSK4RIq52Ti6ve3\/6LKbxMM2fu3pb1\/eNGpABW0gAAAAAZ\/W0XSackdv8AdyMd78fM0BS6v\/yvWf8AT+dpOnvQo7RGuG3wlZ0Uqz0NPM7nJE1y+KZBDZf8DoP+NH\/KgIzytpOtYl2gA4kAAAAAAAAAAAAAAOC7Xils9Ks1Q7Ll2ZG38T17vqcNmqr3cKr0yrhjpaJWqjIVzxrnGF5b+72EorOmqqctYv0cz\/uV6ACK0AAAAACm1JZnXWkZLTu4KumXjhd293u8y5B2JmJ1hDJSMlZrZT6evjbvTLHMnR1kHqzRrsv+5E\/OFLgob5pz02ZLhb5PRq+PdHt2SRerP18yCj1TLSzNo7\/TLRzb4lRq8DuXt802JzWLb1Z65Zx9zL9fCfxLSg+IpY5o2yRSNkY5Mtc1covifZW1gAAGa1fVdNBDZ6ZUkqamRvFGm6o1N98ct8L4KaU51oKR1alatOxahG8KSKm+CVZiJ1VZqTenTHj+ySnhbTU0UDPwxMRjfYiYBICK2I02AAAAAAAAAAAAAArL5e4bNTI5W9JUSbQxJzcv0O+aaOnhfNM9GRsTLnOXZEMvYIpL9dpr7WIqxxPVlLGvJv8A5lN+3PYTrEczwz5skxMUpzP29XTatPyVM6XW9\/fVb8K2JUThjTq27TRgHLWmeVmPHXHGkAAIrAAAAAAAAA56yhpbhCsNXAyVi9Tk3T2LzTwOgByYiY0lnqPTlTaLix9srFbSPeizRS7rhOz4Z+JoQDs2meUMeOuONK8AAOLAAAAAAAAAAAAAAAAAAAZnU0ktxuNHYIHcLZ1453J1NTfHuz5GhpqeOkpoqaFvDHE1GtTuQzsXrf2iT534KZMd2zfqppyy20RDLgjqve8866fKAAFbUAAAART1NPTN4p5o4kRM5e5E\/PIOTMRylBUy6ossKqi17HLjOI2q\/wCCHkOqrJMqo2uY3fHrtVufNCXRbyV+3xa6dUfVbgjimiqI0khlZIxeTmORU80JCK3kAAAAAAAAAAAAAAAAAAAAAAAAAAGWqn\/Z2voJpNo62JI0djr5Y80TzNSUOrrfJV2pKmBVSejd0rcc8Jz+vgWNor23O1U9WnORnrp2OTZfeillt6xLLi7mW1J8d4\/n7u0Az9z1HM2rdb7TSPqqpq8L3K1eGNe\/67J7SEVmeF2TJXHGtl897I2K+RyMa1Mq5y4RCkr9XW2lzHTP9NqFVEbHDuiqv+rl5ZOKPTFfdFSa\/wBwkf1tgiXCN+XkniXtBZ7fbEX0SlZG5Uwr+bl8V3J6VjndT1Z8nux0x68\/RSL+lV49VejtVO5cKqfrMfHP8JNBoq2N9eqfPVyLjidJIqZ8t\/eaIHOufDZ2OzUne\/en1\/2iuh0\/aIMcFug2XKK5nF8T2ew2mpRUkt1Pv1tYjV80wpYAj1T5rfZY9NOmPozn6HQ09Sye211RRua5FciLxIqJ1dXvyaMA7Npnkpipj16Y0AARWAAAAAAAAAAAA8ymcZ3PQAAAAAAAAAAA8VEVMKmUUyMTn6QvawvVVtVa7LXdUTv6beGOw15z1tFT3CldTVMaPjd1di9Skq202nhTmxzfSa7THCdrkc1HNVFRUyip1njY2Ne57WNRz8cTkTd2O0ycT75ph606Ur7jb0X7tzfxNTs2zjxTHYTt1zRMdw1NFVwL1Zai\/NCXs58N1cdqxxtk7s+rSSyxwQvmlejI2IrnOXkiHPbLlBdaNKqm4+jVVT10wuUM1XXSo1WxLfbKaWOne9OmqJNsInci93wNXTU8dLTR08SYZG1GpnnscmvTG\/KWPLOS+tfdj7ylABBoAAAAAAAAAAAAAAAAAABiZqeurdYV0VPXyQTQcMsbd8PRET1V3Tqd8TRWS4VtbDIyvo3080Co1yryevd4Y8ys1RTTUNVT3+j3fTrwzMVdnNXb54Xw7C\/oq2C4UkdVTu4o5EynancveW2nWsSw4KdOW0a78\/GJ\/DoABU3AAAAAAAAAAAHy5rXphzUcnemT6AAAAAAAAAAAAAAAAAAAAAAAAAHy9jZI3RvajmuRUci9aGTg6TSN6bTPe59rrHeoqr+qd+fdv1GuOG8WyO7W2WkfhHKmWOVM8Lupfz2k6zptPCjNjm0dVfejj8fN3AoNKXGWopJbfV7VdC7o3IvNW8kX3Knl2l+RtGk6J48kZKxaAAHFgAAAI5p4aaJZZ5WRRt5ueuEQz9Vq3p5Ep7JSPrpl\/aVqoxv58PaSiszwqyZaY\/eloJ6iGlhdNPI2ONqZVzlwiFHp2uq7pX19a6R60SuRsDHJhNlXdPDHmQx6crrs9s+oKxXo3dtNCuGt9q\/TzNFBBFTQshgjbHGxMNa1MIh2dIjTxV19pkvFpjSI+s\/FIACDSAAAAAAAAAAAAAAAAAAAAAAAAAADL6khmtVyh1BRtc7hxHUt5ore3u7PI0VJVQ1tLHU070fFImWuQ+5Yo5onRSsR7HphzXJlFQylJNJpG5OoqpXOttS\/MUy78C46\/cnvLI70aeMMk\/8AHJ1fpt9p\/trgeIqKmUXKKctwulHa4Flq5msTGUbn1ndyJ1kIjVqm0VjWXWZ666pZDN6Fao\/Tax2ycG7WL39pxOlveqVRsLVt9tcu8mfWkTu5KvwL+1Wais8PR0sfrKmHyO3c72r8iekV55ZevJm2x7R5\/j8qam0xWXCdtVqCrdOqbtp2O9VPb\/TzNFT0tPSR9HTQRws\/djajU9xMCM2mV2PDTHxz5+IACK0AAAAAAAAAAAAAAAAAAAAAAAAAAAAADmuFBT3KjfS1LcsenNETLV7UzyUAcOTETGkqFunL1S5hor69lPya16Kqsb2Jz5J2Y8Cai0hTMm9JuM8lfUZzxPVUb5Z38\/AAsm9tGWnZ8fVvHHxaBEREwiYRD0ArawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MARÍA DEL CARMEN ROJAS PEÑA",
    "correoContacto": "escuelacarloscondell@sleplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE AL IMPRIMIR ARRUGA RECURRENTEMENTE EL PAPEL",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56981579047",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28578\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:54",
    "ubicacionGPS": "LatLng(lat: -23.661831, lng: -70.399939)",
    "horaLlegada": "08:18",
    "horaDespacho": "11:49",
    "idMovimientoMaquina": "5",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 11:54:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[08/05/2026 11:54:01] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'KY2341', 1, 7373114, 175492, NOW(), 
				'11:49', '08:18', '11:54', 5, 'por atascos de papel se limpian los rodillos alimentadores de ambas bandejas', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778255641.png', 'equipo sin problemas, mantención general', null, 'COMPLETADO','LatLng(lat: -23.661831, lng: -70.399939)' )
				
[08/05/2026 11:54:01] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200236
[08/05/2026 11:54:01] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200236', 'KYO-I647', 2)
				
[08/05/2026 11:54:01] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28578 and
				    IDproducto = 'KYO-I647'
				

08/05/2026 11:54:01 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'KYO-I647';
                
08/05/2026 11:54:01 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200236'                    
				WHERE idllamado = 12458			
				TO ENVIO: micorreo@miempresa.cl, escuelacarloscondell@sleplicancabur.cl


08/05/2026 11:54:02 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12458			
				
08/05/2026 11:54:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 11:54:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:54:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:54:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12458
                
08/05/2026 11: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 = 12458
                
08/05/2026 11: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 = 12458
                
08/05/2026 11: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 = 12458
                [08/05/2026 11:54:05] 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;
                

08/05/2026 11:54:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11:54:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            [08/05/2026 11:54:05] 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;
                
[08/05/2026 11:54:05] 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;
                

08/05/2026 11:54:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12458
                
08/05/2026 11:54:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            [08/05/2026 11:54:05] 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;
                

08/05/2026 11: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 = 12458
                
08/05/2026 11:54:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12458
                
08/05/2026 11: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 = 12458
                
08/05/2026 11: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 = 12458
                
08/05/2026 11:54:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12458
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12458
                
08/05/2026 11: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 = 12458
                
08/05/2026 11: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 = 12458
                
08/05/2026 11: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 = 12458
                
08/05/2026 11: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 = 12458
                
08/05/2026 11:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12458
                
08/05/2026 11:54:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11:54:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11:54:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                [08/05/2026 11:54:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:54:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:54:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            [08/05/2026 11:54:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:54:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11:54:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:54:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                [08/05/2026 11:54:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            [08/05/2026 11:54: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;
                

08/05/2026 11: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 = 12456
                
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            [08/05/2026 11:54: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;
                

08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12456
                
08/05/2026 11: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 = 12456
                
08/05/2026 11: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 = 12456
                
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            [08/05/2026 11:54:15] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12456
                
08/05/2026 11: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 = 12456
                
08/05/2026 11: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 = 12456
                [08/05/2026 11:54:15] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11: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 = 12456
                
08/05/2026 11: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 = 12456
                
08/05/2026 11: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 = 12456
                
08/05/2026 11:54:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:54:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:54:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:54:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:54:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:54:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11:54:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:54:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:54:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11:54:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:54:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:54:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:54:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:54:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11:54:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/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 = 12456
                
08/05/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 = 12456
                
08/05/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 = 12456
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/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 = 12456
                
08/05/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 = 12456
                
08/05/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 = 12456
                
08/05/2026 11:54:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/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 = 12456
                
08/05/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 = 12456
                
08/05/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 = 12456
                
08/05/2026 11:54:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/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 = 12456
                
08/05/2026 11:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11:55:27 - logentry: =========================================
FECHA: 08/05/2026 11:55:27
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-01Ep0ara7LSb8pGFz35iffWQvgfTJ5Q13_lXeimfbq670zeyMLB
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2374",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se hace entrega de 2 toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12456",
    "observacion": "se entregó 2 toner ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC3APADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xAA5EAACAQMBBQUHAwMDBQAAAAAAAQIDBAURBhIhMUETUWFxgRQiI5GhsdEVMsFCUsIkQ2IHJbLS4f\/EABgBAQADAQAAAAAAAAAAAAAAAAACAwQB\/8QALREAAgECBAMHBQEBAAAAAAAAAAECAxESITFRE0FhBBQiMoHB0XGRseHxofD\/2gAMAwEAAhEDEQA\/AP2YAAAAAAAAAAAAAAAAAAAAAAAAAAAAqtosusNi5V46OtN7lJPv7\/RHUm3ZEZzUIuUtEeea2joYmcbenSlc3c\/20YdPN\/xzIG5tfkPiRrULCnJ6qEkt7Tp0b19SZs7hHZU\/b71urkLhb1Sc+Lhr0\/JeE21HJGZU6lXxTbS2XuZh4naqHv0s1RcnzU48PrFiOR2psG43WNheRXHfo82kvD8GnBzHuiXd7eWTXrf8lLjtqcbf+5Or7LX13XSrPdevnyLor8lg7DKe9cUd2sv21qb3Zx9evqUNLZ\/M1LudlXydzTsaUX2VWM+M9XyfHub5+B20Xo7HMdanlJYuq9zXAyssHtDjae\/jsvK63XqqVbhqu5atr7E3EbR+13HsORoex3q4KDb0m9OmvLXpzOOGV07ko188M1hf+fcvQAQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAMxnErvbDEWU1vQgnVcXyfN\/4GnMxee7\/ANQ7BNa71s9H3cJ\/j6k4aszdpzilu1+TTgAgaQAAAAAAVOewVLMW6lF9ndUlrSqrmn3Pw+xbA6m07ohOEZxcZaFDs5mp3kZ4+\/8Ah5C292cZcHNLr4vv+ZfFFtHhZXtON9ZN07+2W9TlDnNL+n8EjZ7MRzGOVSXC4p+5WjpppLv9SUkmsSKaU5Qlwp68nv8AstQAQNIAAAAAAAAAAAAAAAAAAAAAAAAMxn5ex7VYe804TfZN6cuOn+bNOZ\/bS0ncYTtqcdZ21RVOHdyf319CdPzGftKfCbWqz+xoARcbfQyWOoXlNaKrHVrufJr56kog8i9NSV0AADoAAAAAAMrRisTt06NNuNG\/pOe703uL+8X8zVGY2k1htJg6u7wdbd10\/wCUfyWQ1aM3acoqezXwacAFZpAAAAAAAAAAAAAAAAAAAAAAAABzOEalOVOcVKMk1JPqjoAGV2fq\/ouYucBW13JzdW3m+qa5fJfNM1RQ7VYypdWUL201jeWb36co82uq\/n08SXgszRzNjGrCS7aCSrQ\/tlp9nxLJeJYjJRfDk6L9Ppt6FmACs1gAAAAAAzG1elTKYWjFrtHca7raXDWJpzMUZLKbd1JaqpRx9LdjryU+T+rfy8icNb7GbtOcVDdr5NOACBpAAAAAAAAAAAABzOcKcHOpJQjFauUnokfW0lq3okZG7q3G1uTdlZ1pU8ZQfxasVp2j\/nwXqSjG5TVq8NKyu3oi0obTUL2\/p21hbVrmDlpOvGLUILvfD76F2eFpZ29hbQt7akqdOC4Jfd97Pc47ciVNTS8buwADhYAAAAAADM5nFV8bfLO4mmt+C+PQjHRTj1fD6\/M0wJRlZlVWmqis\/wCELFZW2y9nG4t5eE4PnB9zJpmcngr2xvnlMBJU6kn8a3\/pn6fx8uJ7WO2GPrONG9U7K4S0nGrFqKfn09dCThfOJVGvheCrk9+TNADyo3VvcrWhXp1VprrCal9j0clFayaS72VmlNPM+g8pXVvGUYyr005vSKc1xfcj1AumV+bycMTi6tzJpS03aa\/uk+S5evoQtksY8fiVWrJ+0Xb7Wo3z0\/pXy4+bZHytvXze0dCwnbSVlZtVKlSS92o2k9OXp8+40pY8o23M0VxKrm9I5L3+AACs1AAAAAAAAAAA87ivTtrepXqvSFOLlJ+CAbtmZ\/aS+uLm5pYGwbVW5XxpKOu5B8Plprr\/APS5xmOo4qwp2lD9sOLk+cn1bKXZC3lcK6zdfjWu5tR4cop\/n\/xNKWTy8KMtBY3xnz06IAArNQAAAAAAAAAAAAIt7jbLI09y7t4VV015r1XHqyUBexxpSVmZ2tsPiK0m4u4pavXSFRP7ps847B4qMlLt7t6f84\/+ppgT4ktyjutC98KKK12OxNpXhWhGtKdOSlFyqcmnquWhegEXJvUthThTVoqwABwmAAAAAAAAAAAACg20uHQ2dqRUtHWnGn18\/wCC\/MztjF3EsXY6NqvdLXReS\/yJ0\/MjP2ptUZW\/65e461Vjjre1X+1TUX4vTj9SSAQ1L0klZAAA6CBks1YYqGt3XUZaaqnHjJ+hXZnJ31bJRw2JlCNeUN6rWcl8JeXl90dYzZOxspOvd\/665lxc6y1Sfgn93qTUUleRmlVnKTjSWnN6fshrO53ML\/s+NVCjrp29driu9a8Plqdxxm1stJTzFBPrFR4fSJpkklolokfTuPZHO7t5zm2\/rb8GXnkNqcVBzu7GjfUo850Xo\/PRfgtcRnrLM027ee7Uj+6lPhJfleJZlJldm6V5cxvrOq7K9jLXtoLXe6cV3+IvGWuQcKtPODxLZ+z+S7BzBSjCKnLekkk5aaavvOis1AAAAAAAAAAAAAAAAAAAAAAAAAzG2GtpWxuVUd5W1fSUfPj\/AA\/oachZfHRyuMrWjluOa92X9r6EoO0rlNeDnTaWpMTTWqeqZ9MvhM\/GwSxGZfs1xQ9yFSf7Zx6cf55GnjJSipRaaa1TXUSi4s7SqxqRuv4fQARLSLRx1tRyFe\/jGXb10oyk5N6JdF3Eo5lKMIuU5KMVzbeiRTX+1uLst6NOo7qqnpuUVr9eRJJy0KpTp0lm7F2DijUVajCqoyipxUt2S0a16M7IloAAAAAAAAAAAAAAAAAABSVNoo2+0axdzR7GnOC3Krf7pPl5Lp5l2daa1IQqRne3IAA4TAAAAAAAAAIt\/jbTJ0eyu6Mai6PrHxT9SjlshVt2\/wBMzN3aQ113NW14Lg1117+ZpgSUmtCmdCnN3kszMfp211F7tLL0KkO+cVr9Yv7j9E2lunpd55Ulp\/sRf8bvcacHcbId2jzb+7MwtiqVaSlf5O7upLm29NfnqXNjhcbjnvWtpThP+9rWXzZOBxzk9WThQpQd4xAAIlwAAAAAAAAAAAAAAAAABTZ\/Z+nm405Ks6NWknuyS117k\/U8tnM1Vu3Ux1\/pC+tnutN8aiXXzL4oNpMLVutzJY5unf2\/GLjzmu7z+\/Isi7rCzLVg4S4sFnzW\/wCy\/BVYHN0sxacfh3VLhWpPmn3+RakGmnZmiE4zipR0AAOEgAAAAAACLkcjQxlnO6uJe7FcI6pOT7lqd2dyryzo3KhKmqsFLdkuK1O2drkcSxYeZ7gA4SAAAAAAAAAAAAAAAAAAAAAAAAAAAMxnsfc42\/W0GNinKC\/1NLThKPV\/n5l5jMjQytjC7t37suDi+cX1TJTSa0a1TMrd2N7szfTyGJou4s6z+Nax\/p8VpyX2LF4lZ6mSSdGTmvK9enX5NWCsxWfx+WprsKyjV040pvSS\/PmizINNZM0xnGavF3QAOZzhTg51JKEYrVyk9EjhI6KPM7S0rCorSzp+1303uqlDjuvx0+32I2T2hrXld43AR7evLhO4jxhTXg+Xr9ywwuAtsPTcl8W5nxqVpcX5Lw+5YoqOcjLKpKo8NL1fx1K2y2auMhXjf7QVnXq84W6fuQXPR\/hfU00YqMVGKSSWiS6H0EZSb1LadKNNZAAES0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAApspstjMpOdadOVKvPnVpvTV+K5Mg\/om0WPaWOzCq0lyhcLp3cU\/4AJqbWRnl2em3iSs+mQktsuKTtPB8Dh7NZTK1YyzeTc6S49lR4LX5aeujAO43yOd2i\/M211ZoLDHWmNodjZ0Y0o83pzk\/F9SUAV3uaElFWQAAOgAAAAAAAAAAAAAAAAAAAAAAAAAAH\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MARÍA DEL CARMEN ROJAS PEÑA",
    "correoContacto": "escuelacarloscondell@sleplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+5698157947",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28577\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:55",
    "ubicacionGPS": "LatLng(lat: -23.6618313, lng: -70.3999444)",
    "horaLlegada": "08:18",
    "horaDespacho": "11:54",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 11:55:27
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-01Ep0ara7LSb8pGFz35iffWQvgfTJ5Q13_lXeimfbq670zeyMLB
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2374",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se hace entrega de 2 toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12456",
    "observacion": "se entregó 2 toner ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC3APADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xAA5EAACAQMBBQUHAwMDBQAAAAAAAQIDBAURBhIhMUETUWFxgRQiI5GhsdEVMsFCUsIkQ2IHJbLS4f\/EABgBAQADAQAAAAAAAAAAAAAAAAACAwQB\/8QALREAAgECBAMHBQEBAAAAAAAAAAECAxESITFRE0FhBBQiMoHB0XGRseHxofD\/2gAMAwEAAhEDEQA\/AP2YAAAAAAAAAAAAAAAAAAAAAAAAAAAAqtosusNi5V46OtN7lJPv7\/RHUm3ZEZzUIuUtEeea2joYmcbenSlc3c\/20YdPN\/xzIG5tfkPiRrULCnJ6qEkt7Tp0b19SZs7hHZU\/b71urkLhb1Sc+Lhr0\/JeE21HJGZU6lXxTbS2XuZh4naqHv0s1RcnzU48PrFiOR2psG43WNheRXHfo82kvD8GnBzHuiXd7eWTXrf8lLjtqcbf+5Or7LX13XSrPdevnyLor8lg7DKe9cUd2sv21qb3Zx9evqUNLZ\/M1LudlXydzTsaUX2VWM+M9XyfHub5+B20Xo7HMdanlJYuq9zXAyssHtDjae\/jsvK63XqqVbhqu5atr7E3EbR+13HsORoex3q4KDb0m9OmvLXpzOOGV07ko188M1hf+fcvQAQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAMxnErvbDEWU1vQgnVcXyfN\/4GnMxee7\/ANQ7BNa71s9H3cJ\/j6k4aszdpzilu1+TTgAgaQAAAAAAVOewVLMW6lF9ndUlrSqrmn3Pw+xbA6m07ohOEZxcZaFDs5mp3kZ4+\/8Ah5C292cZcHNLr4vv+ZfFFtHhZXtON9ZN07+2W9TlDnNL+n8EjZ7MRzGOVSXC4p+5WjpppLv9SUkmsSKaU5Qlwp68nv8AstQAQNIAAAAAAAAAAAAAAAAAAAAAAAAMxn5ex7VYe804TfZN6cuOn+bNOZ\/bS0ncYTtqcdZ21RVOHdyf319CdPzGftKfCbWqz+xoARcbfQyWOoXlNaKrHVrufJr56kog8i9NSV0AADoAAAAAAMrRisTt06NNuNG\/pOe703uL+8X8zVGY2k1htJg6u7wdbd10\/wCUfyWQ1aM3acoqezXwacAFZpAAAAAAAAAAAAAAAAAAAAAAAABzOEalOVOcVKMk1JPqjoAGV2fq\/ouYucBW13JzdW3m+qa5fJfNM1RQ7VYypdWUL201jeWb36co82uq\/n08SXgszRzNjGrCS7aCSrQ\/tlp9nxLJeJYjJRfDk6L9Ppt6FmACs1gAAAAAAzG1elTKYWjFrtHca7raXDWJpzMUZLKbd1JaqpRx9LdjryU+T+rfy8icNb7GbtOcVDdr5NOACBpAAAAAAAAAAAABzOcKcHOpJQjFauUnokfW0lq3okZG7q3G1uTdlZ1pU8ZQfxasVp2j\/nwXqSjG5TVq8NKyu3oi0obTUL2\/p21hbVrmDlpOvGLUILvfD76F2eFpZ29hbQt7akqdOC4Jfd97Pc47ciVNTS8buwADhYAAAAAADM5nFV8bfLO4mmt+C+PQjHRTj1fD6\/M0wJRlZlVWmqis\/wCELFZW2y9nG4t5eE4PnB9zJpmcngr2xvnlMBJU6kn8a3\/pn6fx8uJ7WO2GPrONG9U7K4S0nGrFqKfn09dCThfOJVGvheCrk9+TNADyo3VvcrWhXp1VprrCal9j0clFayaS72VmlNPM+g8pXVvGUYyr005vSKc1xfcj1AumV+bycMTi6tzJpS03aa\/uk+S5evoQtksY8fiVWrJ+0Xb7Wo3z0\/pXy4+bZHytvXze0dCwnbSVlZtVKlSS92o2k9OXp8+40pY8o23M0VxKrm9I5L3+AACs1AAAAAAAAAAA87ivTtrepXqvSFOLlJ+CAbtmZ\/aS+uLm5pYGwbVW5XxpKOu5B8Plprr\/APS5xmOo4qwp2lD9sOLk+cn1bKXZC3lcK6zdfjWu5tR4cop\/n\/xNKWTy8KMtBY3xnz06IAArNQAAAAAAAAAAAAIt7jbLI09y7t4VV015r1XHqyUBexxpSVmZ2tsPiK0m4u4pavXSFRP7ps847B4qMlLt7t6f84\/+ppgT4ktyjutC98KKK12OxNpXhWhGtKdOSlFyqcmnquWhegEXJvUthThTVoqwABwmAAAAAAAAAAAACg20uHQ2dqRUtHWnGn18\/wCC\/MztjF3EsXY6NqvdLXReS\/yJ0\/MjP2ptUZW\/65e461Vjjre1X+1TUX4vTj9SSAQ1L0klZAAA6CBks1YYqGt3XUZaaqnHjJ+hXZnJ31bJRw2JlCNeUN6rWcl8JeXl90dYzZOxspOvd\/665lxc6y1Sfgn93qTUUleRmlVnKTjSWnN6fshrO53ML\/s+NVCjrp29driu9a8Plqdxxm1stJTzFBPrFR4fSJpkklolokfTuPZHO7t5zm2\/rb8GXnkNqcVBzu7GjfUo850Xo\/PRfgtcRnrLM027ee7Uj+6lPhJfleJZlJldm6V5cxvrOq7K9jLXtoLXe6cV3+IvGWuQcKtPODxLZ+z+S7BzBSjCKnLekkk5aaavvOis1AAAAAAAAAAAAAAAAAAAAAAAAAzG2GtpWxuVUd5W1fSUfPj\/AA\/oachZfHRyuMrWjluOa92X9r6EoO0rlNeDnTaWpMTTWqeqZ9MvhM\/GwSxGZfs1xQ9yFSf7Zx6cf55GnjJSipRaaa1TXUSi4s7SqxqRuv4fQARLSLRx1tRyFe\/jGXb10oyk5N6JdF3Eo5lKMIuU5KMVzbeiRTX+1uLst6NOo7qqnpuUVr9eRJJy0KpTp0lm7F2DijUVajCqoyipxUt2S0a16M7IloAAAAAAAAAAAAAAAAAABSVNoo2+0axdzR7GnOC3Krf7pPl5Lp5l2daa1IQqRne3IAA4TAAAAAAAAAIt\/jbTJ0eyu6Mai6PrHxT9SjlshVt2\/wBMzN3aQ113NW14Lg1117+ZpgSUmtCmdCnN3kszMfp211F7tLL0KkO+cVr9Yv7j9E2lunpd55Ulp\/sRf8bvcacHcbId2jzb+7MwtiqVaSlf5O7upLm29NfnqXNjhcbjnvWtpThP+9rWXzZOBxzk9WThQpQd4xAAIlwAAAAAAAAAAAAAAAAABTZ\/Z+nm405Ks6NWknuyS117k\/U8tnM1Vu3Ux1\/pC+tnutN8aiXXzL4oNpMLVutzJY5unf2\/GLjzmu7z+\/Isi7rCzLVg4S4sFnzW\/wCy\/BVYHN0sxacfh3VLhWpPmn3+RakGmnZmiE4zipR0AAOEgAAAAAACLkcjQxlnO6uJe7FcI6pOT7lqd2dyryzo3KhKmqsFLdkuK1O2drkcSxYeZ7gA4SAAAAAAAAAAAAAAAAAAAAAAAAAAAMxnsfc42\/W0GNinKC\/1NLThKPV\/n5l5jMjQytjC7t37suDi+cX1TJTSa0a1TMrd2N7szfTyGJou4s6z+Nax\/p8VpyX2LF4lZ6mSSdGTmvK9enX5NWCsxWfx+WprsKyjV040pvSS\/PmizINNZM0xnGavF3QAOZzhTg51JKEYrVyk9EjhI6KPM7S0rCorSzp+1303uqlDjuvx0+32I2T2hrXld43AR7evLhO4jxhTXg+Xr9ywwuAtsPTcl8W5nxqVpcX5Lw+5YoqOcjLKpKo8NL1fx1K2y2auMhXjf7QVnXq84W6fuQXPR\/hfU00YqMVGKSSWiS6H0EZSb1LadKNNZAAES0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAApspstjMpOdadOVKvPnVpvTV+K5Mg\/om0WPaWOzCq0lyhcLp3cU\/4AJqbWRnl2em3iSs+mQktsuKTtPB8Dh7NZTK1YyzeTc6S49lR4LX5aeujAO43yOd2i\/M211ZoLDHWmNodjZ0Y0o83pzk\/F9SUAV3uaElFWQAAOgAAAAAAAAAAAAAAAAAAAAAAAAAAH\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MARÍA DEL CARMEN ROJAS PEÑA",
    "correoContacto": "escuelacarloscondell@sleplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+5698157947",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28577\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:55",
    "ubicacionGPS": "LatLng(lat: -23.6618313, lng: -70.3999444)",
    "horaLlegada": "08:18",
    "horaDespacho": "11:54",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 11:55:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[08/05/2026 11:55: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('61980920', 'KY2374', 2, 7373114, 0, NOW(), 
				'11:54', '08:18', '11:55', 10, 'se hace entrega de 2 toner', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778255727.png', 'se entregó 2 toner ', null, 'COMPLETADO','LatLng(lat: -23.6618313, lng: -70.3999444)' )
				
[08/05/2026 11:55:27] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200237
[08/05/2026 11:55:27] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200237', 'KYO-I647', 2)
				
[08/05/2026 11:55:27] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28577 and
				    IDproducto = 'KYO-I647'
				

08/05/2026 11:55:27 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'KYO-I647';
                
08/05/2026 11:55:27 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200237'                    
				WHERE idllamado = 12456			
				TO ENVIO: micorreo@miempresa.cl, escuelacarloscondell@sleplicancabur.cl


08/05/2026 11:55:27 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12456			
				
08/05/2026 11:55:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/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 = 12456
                
08/05/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 = 12456
                
08/05/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 = 12456
                
08/05/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 = 12456
                
08/05/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 = 12456
                
08/05/2026 11:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/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 = 12456
                
08/05/2026 11:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                [08/05/2026 11:55:36] 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;
                
[08/05/2026 11:55:36] 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;
                
[08/05/2026 11:55:36] 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;
                
[08/05/2026 11:55:36] 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;
                

08/05/2026 11:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11:55:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                [08/05/2026 11:55:37] 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;
                

08/05/2026 11:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12456
            GROUP BY l.idllamado;
            
08/05/2026 11:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12456
                
08/05/2026 11: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 = 12456
                
08/05/2026 11: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 = 12456
                
08/05/2026 11:55:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [08/05/2026 11:55:38] 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;
                

08/05/2026 11:55:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12457
                
08/05/2026 11: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 = 12457
                [08/05/2026 11:55:38] 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;
                

08/05/2026 11:55:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11:55:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [08/05/2026 11:55:38] 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;
                
[08/05/2026 11:55:38] 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;
                

08/05/2026 11: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 = 12457
                
08/05/2026 11: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 = 12457
                [08/05/2026 11:55:38] 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;
                

08/05/2026 11:55:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11:55:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12457
                
08/05/2026 11:55:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12457
                
08/05/2026 11:55:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11:55:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12457
                
08/05/2026 11: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 = 12457
                
08/05/2026 11: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 = 12457
                
08/05/2026 11: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 = 12457
                
08/05/2026 11: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 = 12457
                
08/05/2026 11: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 = 12457
                
08/05/2026 11: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 = 12457
                
08/05/2026 11: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 = 12457
                
08/05/2026 11: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 = 12457
                
08/05/2026 11: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 = 12457
                
08/05/2026 11:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [08/05/2026 11:55:50] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                [08/05/2026 11:55:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [08/05/2026 11:55:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [08/05/2026 11:55:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:55:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12457
                
08/05/2026 11: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 = 12457
                
08/05/2026 11: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 = 12457
                
08/05/2026 11: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 = 12457
                
08/05/2026 11: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 = 12457
                
08/05/2026 11: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 = 12457
                
08/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:56:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [08/05/2026 11:56:01] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:56:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                [08/05/2026 11:56:01] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:56:01] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:56:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11:56:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11:56:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [08/05/2026 11:56:01] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:56:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:56:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11:56:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11:56:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                [08/05/2026 11:56:02] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:56:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11:56:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11: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 = 12457
                
08/05/2026 11:56:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11:56:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [08/05/2026 11:56:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:56:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [08/05/2026 11:56:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:56:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:56:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11: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 = 12457
                
08/05/2026 11: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 = 12457
                
08/05/2026 11:56:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12457
                
08/05/2026 11: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 = 12457
                
08/05/2026 11: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 = 12457
                
08/05/2026 11:56:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:56:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11:56:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11:56:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [08/05/2026 11:56:09] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:56:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
08/05/2026 11:56:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:56:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:56:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:56:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:56:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
08/05/2026 11:56:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [08/05/2026 11:56:09] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:56:09] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:56:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:56:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:56:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:56:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:56:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [08/05/2026 11:56:10] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 11:56:10] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:56:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:56:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [08/05/2026 11:56:10] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:56:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                [08/05/2026 11:56:13] 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;
                

08/05/2026 11:56:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:56:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:56:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:56:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:56:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [08/05/2026 11:56:13] 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;
                

08/05/2026 11:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:56:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [08/05/2026 11:56: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;
                

08/05/2026 11:56:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [08/05/2026 11:56: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;
                

08/05/2026 11:56:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [08/05/2026 11:56: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;
                

08/05/2026 11:56:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11: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 = 12455
                
08/05/2026 11: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 = 12455
                
08/05/2026 11: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 = 12455
                
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12455
                
08/05/2026 11: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 = 12455
                
08/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12455
                
08/05/2026 11: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 = 12455
                
08/05/2026 11: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 = 12455
                
08/05/2026 11:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:56:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11: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 = 12455
                
08/05/2026 11:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12455
                
08/05/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 = 12455
                
08/05/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 = 12455
                
08/05/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 = 12455
                
08/05/2026 11:56:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/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 = 12455
                
08/05/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 = 12455
                
08/05/2026 11:56:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/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 = 12455
                
08/05/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 = 12455
                
08/05/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 = 12455
                
08/05/2026 11:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:57:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:57:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                
08/05/2026 11:57:31 - logentry: =========================================
FECHA: 08/05/2026 11:57:31
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-E_UJx3uWkRM-47WCElOaQ1cOmadB2GY+fCDJ.C91IbndL0t5n5p
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "77114708",
    "serieinterna": "EP2281",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "137811",
    "contadorColor": "345583",
    "contadorScanner": "0",
    "detalle": "Maquina reparada, funciona correctamente",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12423",
    "observacion": "Maquina reparada\nCambio de cabezal",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD3AK0DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABBEAABAwMCAgcGAwUGBwEAAAABAAIDBAURBiESMRMiQWFxgZEUMlGxwdEVoeEjQoLC8ENSU2KS8QcWJDM0RHLS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMhEAAgEDAQUFCAEFAAAAAAAAAAECAxEhMQQSMkFRImFxwdETI4GRobHh8BQzNEJi8f\/aAAwDAQACEQMRAD8A\/syIiAIiIAiIgCIiAIiIAiIgC8qiohpKd9RUSNjiYMuc47BejnBrS5xAAGST2KSf0msbq+FshZa6N3Wxt0rv6HkD3qUY310KatXcSUct6HoLne9QzSfg\/DR0bDgTyt3ed+Wx\/rtX7JFqu08MrJo7nHnrsI6339PjuFTRRRwRNihY2ONgw1rRgAL7Ut\/osFf8dtXlJ3\/eRnWa9U95p3SRAxyMOHxOI4m\/BaKlq1rbJrGlqohwQXHMcwA5vJ5925afVVK5JJZROjOUk4y1QREUC8IiIAiIgCIiAIiIAiIgCIiAIi566rZQUM1XICWxMLiB29yHG0ldmFqm4TyvjsVvyaqqHXxyDMHI\/L08VtWy3w2ugjo4MlrBu483E8yVi6To5agTXyu61TVnqEj3Wjbb4cseACpVZPHZRmoJzbrS56dy\/IREVZqJ3XEXHYOkHOKZrgfhzH1W5Sze0UkM3+JG13qMrH1oQNNzA9r2Af6gtW2tLbZStOxELAf9IU3wIzR\/uJeC8zpREUDSEREAREQBERAEREAREQBERAFMatlnrJqOx0xw6rfxSHPJo+I+HM\/wqnUtYHfi2prhdjgxxfsYcO2xyz6DPmrIY7XQzbR2kqa\/y+3MpYYmU8EcMYwyNoa0dwGF6IirNOgREQEzrdzpKCko2HDqioA8sfchUjWtYwMaMNaMAfAKavf\/AFesLPSDfoczHu3z\/IqdTlwpGalmrOXgvkvyERFA0hERAEREAREQBERAEREAREQGXqOu\/D7FUzA4e5vAzbO7tl86ZoBb7FTxkYfIOlf4u\/TA8lmaoP4hebZZ27hz+llG\/L\/YOVSrHiKXUyw7deUumPNhERVmoIi8K2pbR0U1S8jhiYX79uAhxtJXZPWoGt1rcqs5LadvRN2OAeX8rlUKd0VTvZZn1Um76qVzyeWRy+YPqqJTqcVjPsq93vPnn5hERQNIREQBERAEREAREQBERAERctyqhRW2pqScdFG5w27cbfmiycbSV2YNkxc9VXK5nJZDiGLs7uXl+fpULA0ZSez2Bkrh16h7pHE8+eB8s+a31OfFYo2ZNUk3q8\/MIiKBoCnNYVMz6entNKcz10gaR\/lz98eWVRqVs4\/GtVVd2Lw+Cl\/ZQfLI7uZ\/iU4a36GbaG2lTWssfDmUlJTMo6SKmjADImBowPgF7IigaEklZBERDoREQBERAEREAREQBERAFO62nc2zMpY931UzWAfEDf5gKiUtdwK\/Wtto8cTKdvSuzyB5\/wArfVTp8VzNtT93urnj5lHSU7aSjhp2gBsTAwY7hheyIoGhKysgiL8c4NaXOIAAySexDpj6puHsNllawu6eo\/ZRBvMk8\/yyvewW4WuzwU\/75HHIf8x3Ppy8liW5p1JqV11c0+xUR4IAe1w\/U59FWqyXZW6ZaXvJury0Xr8QiIqzUEXJWXWgt\/8A5dXFEf7pd1vTmsKbWbZ3mG0W+eskxz4SAO\/A3x6KShJ6FM69OGJPJUIpb2bVtzGZqmG3Rk+4z3seIz8wt21UMtuoW00tXJVOaSekfz37O1HFLmIVXN8LS7zsREUS4IiIAiIgCIiAKX0+BXanu1y5taRCwkcxy+TR6qiq5vZ6OefIHRxudk9mBlYeiIeCxGYt608rnl2OfZ9CrI4i2ZqnarQj0u\/LzKJERVmkKe1dXyxULLdSgvqa48Aa3nw9vry8z8FuzTR08L5pnhkbBlznHYBRtsuVJV3Sov8AdKlkTYzwU0LiC7HcOe2eY7SVZBc+hk2moklTvZv6LmVVpt7LXbIaNmCWN6zh+848z6romnhpojLPKyKNvNzzgBTR1Jc7uXR2O2u4c49omIwPLl+Z8F9UukXVUgqb7WSVkp\/sw4hrfPn6YRx5yYjWulGjG666I9KrWVL0rYLZTy3CZ3IMBaPlk+i8PYtUXgj2upZbYMnLIieMjyP1VHSUdNQwiGlgZCwdjRjPj8V7pvJcKO+xnP8AqS+CwvUwKLRtppWgzRuqpeZfKTgnwGy24YYqeMRwRMiYOTWNAA8gvRFByb1LoUoU+FWCIi4WBERAEREAREQBERAZWppug05WvyRmPh2\/zED6r603D0GnaFmMZiD\/APV1vqs\/XMvBYRGMkyzNaAPM\/RelXqShtEUVDCHVlVGxrBFDvuBjc\/7lWpNwSRjlUjGu5SdrJfU31i3TVNuthMYf7RPy6KLfB7zyHzWa22X+\/njudSaGld\/68WxI+BH3z4LvkobTpe2y1sVMzpIx1Xv6z3O5Dc8vLC4oxTzkSq1JRbit1dX6epPVdzvWoq1tndE2kbKcuj4SCG4zlxO\/Lwzst+3aNtVCQ+Vhq5Mc5sFvk3l65XzpS3yCGS8VeDVVxL843awnOPA7HwwqFSnO3ZiQ2egpL2lXLel+h8sYyNgZG0Ma0YDWjAC+kRUm8IiIAiIgCIiAIiIAiIgCIvl72RsL5HBjWjJc44AQH0s68Xqks1MZJ3h0hHUiB6z\/AOvismr1PU11Q6i0\/TmokHvTuHVb4Z+Z9CsW+6fkoYKaoq6t1VWVM4a8k7YxyGd\/PZWxp57RhrbU91ukr258vyeNfdqjVN0pKN8YggMwaGN3cMnBJ8lb2yyUFojDaWEceMGV273ef2Urf6mGg1xTVIja0MDDKT25yCfTHorkEEZByCu1HhW0IbLBOpNzd5J6n6oypr4dS6mpqNkzBQ07uM8RA6Vw+Hac7DwyVparvT6ClFFSZdWVA2DQSWs3yR37fP4LG07pymu1gfK8mGpE56KductADezt3ykIpLeY2io6lRUoZtl+hctaGtDWgAAYAHYv1SYu14025sN2hdW0nJtTHkkb9pPM9xx4lb9vu9BdI+OkqGPPazk4eIO6g4NZNVOvCb3dH0Z2ovOaeGmiMs8rIo283POAFN1GqKq4yGl09SPndnDqh7cNb4A\/X0XIxb0JVK0KeuvTmUNXWU1DCZqqdkLB2uOM+HxU+\/VVRcJvZ7Fb31DgetLKMNH9d5HglLpF1RMKq+Vb6yb\/AAw48I7s\/bC6Llf6CyMFDQwNmqB1W08I2ae\/Hy5qaUdFlmadSo1vTe5H6mRdqe9UtDJVXW+9ESCI4YNuN3YNsd2+6oNMw1MNhp21T3OkOXdbmASSB3rgttirK6sbdb84PlG8VN+7H4j6eqpUnLG6d2ek951HdeLz4sIiKo2hERAERY181FBaAII29PWSbMhbvjPIn7cyupNuyITnGnHek8HZdLtS2ilM9U\/GfcYPeefgAp6G33LVbhU3Nz6OhG8cDCQX9+\/zx27LptWnZamqbdr48zVLt2wn3Y\/h6fDkqVTuoaamdQlXzUxHp6+h4UlFTUEAgpYWRRjsaOfie3zU\/rDrVdnYfddU7jzb91TqY1h1auzvPutqdz5t+yU+I7tSSotLu+6OR1ujvuqrxFLs1sIYw9rXDhwfUH1XRYtQx0unZvbnO6a3no3NPvO36o+nkvrSrhJcb1WuIaH1GN\/3QC47+o9FO3OWjqtROuLKcutzahjZnjk87cR89\/FW23nuvlYwubpxVWOrb++vwNqgopZKGv1Dc3HppYXmDiPuMLTgjxzgfqtTR0ZZpunyMcRc7x6xXNq+rxZqekpXACte1jSNhwc\/Tl5LZDqSy2uNs0rYoKdgbxHbOB8O0lVybcfE00oRhV14Vl97ydbmhzS1wBBGCD2qD1BTWY13s1pp5H15dypXYYx3hv6DGMdi731931Q90Nta6ioMkOqHbF4+H6DzK06ens2lKPL5WRucOtI\/d8ngPoF2PY8ehyq1tCwrR6vy9TNt2j552sffKuWcM9ynEpIb4n7eq3KuvtlgpGtkdHAxo6kTAOJ3gPqsR+oLte3mGxUZiizg1Mo5fQfmV3W\/StNBJ7TcZDcKonJfLu0eR5+f5JL\/AHfwFKyxQj8X+5+xwGtvep+pb2G30Od53HrP8P09Vs2nT9BZ2h0EfFNjDpn7uP28lpgADAGAF+qDniywjRCgk96bvLr6dAiIoGgIiIAiKYut5qbpXGzWQ5ccieoB2YO3B+vkFKMWyqrVVNXf\/T2vV\/lFR+FWdvT1zzwucBkRfTP5DtXvY9PMthdVVTxU10py+Y78OeYGfmvey2KkstOWQjjld78rhu77DuWmuuSStErhSlKXtKuvJcl+e8IiKBpCl9d5ZbKWZuMsqRg\/wk\/RVCl9d1cDLVHSPyZpXh7AOwDmT6qynxozbXb2Erk9Z5Ky4W91johh1RKZaiU9jMNHz+yuY7LRR2gWvog6Dhwc8yf73jndcOkLbBR2aKoa3M1S3je8jfHYB3L8v2qKa3QvhpJWTVh6oY3cM7zj5Kc25StEzUIQo0d+q9V9Ohi1VANPzU01xuBqIaV3FS04PXcefkMhvpj4L8leK2Zlw1NVCCn96ChaSXEY2OBuB3nn3LloLJqC6Vjq2UGGR39vUjBH\/wAjw5beipbbpGhpH9PVk1tQTkvl3GfD75UpSUdXkop051OGNo9\/nzfhocUd2u91hbBYbcKOlHVbPLgADuHL0yumh0fTtm9puk76+oJyeMnh+5\/rZUQAAwBgBfqpc3ywegtmTd6j3n9PkfLGMjYGRtDGtGA1owAvpEUDSEREAREQBERAYWqro6johQ04Lqut\/ZxhvMAkAn88D9F12O0RWa3MgYAZXbyyY3cf05LIpgyr1\/UuqXDipogIWHwH3J2+KqVZLCUTLSXtKkqj5YX73hF5yTRQgmWVjABklzgFn1OpLNS56SvicR2Rnj+WVBJvQvlOMeJ2NRFNSa3onOLKOjqqp+cDhbgH5n8l8e06sum8FNFbYjjrS7u79jv+QUvZvngp\/lU3iHa8CkmnhpojLPKyKNvNzzgBQur7tZ7kGClaZqph4enGQ0N3235793mtiPRkc7xLdbhUVsg+LsDHw3yVz3ujpY71ZbZTQshiEvSPa3bi3HPtzsd+9WQ3VIzbS6s6bTSSx3v8HHZbRcb7a4mT3Aw0EZ4BEwHLu3fs7e9VFu0\/bLWQ+mph0gH\/AHHnid+fLyWkirlNs00tmhTSby+v7oERFA0hERAEREAREQBERAEREBlXfT9Jd3slkL4pmYxJHgHbkD69yzf+So3bSXWsePhxKnRTU5LCZRLZ6U3donItDWiNwc51RJg5w94wfQBd9NpqzUpBjoIiR2yZf88rURcc5PmI7PSjpFHxHFHCwMijaxo5NaMBfaIol4UxUEVH\/EOmbnanpzt34d\/+gqdTFpzUa4utQdxFGIx2490fylThzfcZtoy4R719MlOiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKY0bmWa7VZ3M1Tz9T\/MqOokMVNLIObGFw8gsDQ0YZp8uH78znH0A+imuBmapmvBeLKNERQNIREQBERAEREAREQBERAEREAREQBERAEREB5zM6SCRmM8TSMfHZT+hX8VgcM54J3Dw2B+qpFMaJxHBcKbO8VScgcuWPoprgZmqYrwfj5FOiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALFs9ont14uc5LPZ6p4ezB3zknl\/EURdTsrEJQUmpPkbSIi4TCIiAIiIAiIgCIiAIiIAiIgP\/Z",
    "razonSocial": "SIMM SOLUCIONES SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ROSA BAZAES",
    "correoContacto": "rosa.bazaes@simmsoluciones.com",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CAJA DE MANTENIMIENTO REEMPLAZAR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56935437492",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R693\",\"id_control\":\"28610\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R912\",\"id_control\":\"28614\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:57",
    "ubicacionGPS": "LatLng(lat: -24.9627367, lng: -69.6318418)",
    "horaLlegada": "08:38",
    "horaDespacho": "11:40",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 11:57:31
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-E_UJx3uWkRM-47WCElOaQ1cOmadB2GY+fCDJ.C91IbndL0t5n5p
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "77114708",
    "serieinterna": "EP2281",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "137811",
    "contadorColor": "345583",
    "contadorScanner": "0",
    "detalle": "Maquina reparada, funciona correctamente",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12423",
    "observacion": "Maquina reparada\nCambio de cabezal",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD3AK0DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABBEAABAwMCAgcGAwUGBwEAAAABAAIDBAURBiESMRMiQWFxgZEUMlGxwdEVoeEjQoLC8ENSU2KS8QcWJDM0RHLS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMhEAAgEDAQUFCAEFAAAAAAAAAAECAxEhMQQSMkFRImFxwdETI4GRobHh8BQzNEJi8f\/aAAwDAQACEQMRAD8A\/syIiAIiIAiIgCIiAIiIAiIgC8qiohpKd9RUSNjiYMuc47BejnBrS5xAAGST2KSf0msbq+FshZa6N3Wxt0rv6HkD3qUY310KatXcSUct6HoLne9QzSfg\/DR0bDgTyt3ed+Wx\/rtX7JFqu08MrJo7nHnrsI6339PjuFTRRRwRNihY2ONgw1rRgAL7Ut\/osFf8dtXlJ3\/eRnWa9U95p3SRAxyMOHxOI4m\/BaKlq1rbJrGlqohwQXHMcwA5vJ5925afVVK5JJZROjOUk4y1QREUC8IiIAiIgCIiAIiIAiIgCIiAIi566rZQUM1XICWxMLiB29yHG0ldmFqm4TyvjsVvyaqqHXxyDMHI\/L08VtWy3w2ugjo4MlrBu483E8yVi6To5agTXyu61TVnqEj3Wjbb4cseACpVZPHZRmoJzbrS56dy\/IREVZqJ3XEXHYOkHOKZrgfhzH1W5Sze0UkM3+JG13qMrH1oQNNzA9r2Af6gtW2tLbZStOxELAf9IU3wIzR\/uJeC8zpREUDSEREAREQBERAEREAREQBERAFMatlnrJqOx0xw6rfxSHPJo+I+HM\/wqnUtYHfi2prhdjgxxfsYcO2xyz6DPmrIY7XQzbR2kqa\/y+3MpYYmU8EcMYwyNoa0dwGF6IirNOgREQEzrdzpKCko2HDqioA8sfchUjWtYwMaMNaMAfAKavf\/AFesLPSDfoczHu3z\/IqdTlwpGalmrOXgvkvyERFA0hERAEREAREQBERAEREAREQGXqOu\/D7FUzA4e5vAzbO7tl86ZoBb7FTxkYfIOlf4u\/TA8lmaoP4hebZZ27hz+llG\/L\/YOVSrHiKXUyw7deUumPNhERVmoIi8K2pbR0U1S8jhiYX79uAhxtJXZPWoGt1rcqs5LadvRN2OAeX8rlUKd0VTvZZn1Um76qVzyeWRy+YPqqJTqcVjPsq93vPnn5hERQNIREQBERAEREAREQBERAERctyqhRW2pqScdFG5w27cbfmiycbSV2YNkxc9VXK5nJZDiGLs7uXl+fpULA0ZSez2Bkrh16h7pHE8+eB8s+a31OfFYo2ZNUk3q8\/MIiKBoCnNYVMz6entNKcz10gaR\/lz98eWVRqVs4\/GtVVd2Lw+Cl\/ZQfLI7uZ\/iU4a36GbaG2lTWssfDmUlJTMo6SKmjADImBowPgF7IigaEklZBERDoREQBERAEREAREQBERAFO62nc2zMpY931UzWAfEDf5gKiUtdwK\/Wtto8cTKdvSuzyB5\/wArfVTp8VzNtT93urnj5lHSU7aSjhp2gBsTAwY7hheyIoGhKysgiL8c4NaXOIAAySexDpj6puHsNllawu6eo\/ZRBvMk8\/yyvewW4WuzwU\/75HHIf8x3Ppy8liW5p1JqV11c0+xUR4IAe1w\/U59FWqyXZW6ZaXvJury0Xr8QiIqzUEXJWXWgt\/8A5dXFEf7pd1vTmsKbWbZ3mG0W+eskxz4SAO\/A3x6KShJ6FM69OGJPJUIpb2bVtzGZqmG3Rk+4z3seIz8wt21UMtuoW00tXJVOaSekfz37O1HFLmIVXN8LS7zsREUS4IiIAiIgCIiAKX0+BXanu1y5taRCwkcxy+TR6qiq5vZ6OefIHRxudk9mBlYeiIeCxGYt608rnl2OfZ9CrI4i2ZqnarQj0u\/LzKJERVmkKe1dXyxULLdSgvqa48Aa3nw9vry8z8FuzTR08L5pnhkbBlznHYBRtsuVJV3Sov8AdKlkTYzwU0LiC7HcOe2eY7SVZBc+hk2moklTvZv6LmVVpt7LXbIaNmCWN6zh+848z6romnhpojLPKyKNvNzzgBTR1Jc7uXR2O2u4c49omIwPLl+Z8F9UukXVUgqb7WSVkp\/sw4hrfPn6YRx5yYjWulGjG666I9KrWVL0rYLZTy3CZ3IMBaPlk+i8PYtUXgj2upZbYMnLIieMjyP1VHSUdNQwiGlgZCwdjRjPj8V7pvJcKO+xnP8AqS+CwvUwKLRtppWgzRuqpeZfKTgnwGy24YYqeMRwRMiYOTWNAA8gvRFByb1LoUoU+FWCIi4WBERAEREAREQBERAZWppug05WvyRmPh2\/zED6r603D0GnaFmMZiD\/APV1vqs\/XMvBYRGMkyzNaAPM\/RelXqShtEUVDCHVlVGxrBFDvuBjc\/7lWpNwSRjlUjGu5SdrJfU31i3TVNuthMYf7RPy6KLfB7zyHzWa22X+\/njudSaGld\/68WxI+BH3z4LvkobTpe2y1sVMzpIx1Xv6z3O5Dc8vLC4oxTzkSq1JRbit1dX6epPVdzvWoq1tndE2kbKcuj4SCG4zlxO\/Lwzst+3aNtVCQ+Vhq5Mc5sFvk3l65XzpS3yCGS8VeDVVxL843awnOPA7HwwqFSnO3ZiQ2egpL2lXLel+h8sYyNgZG0Ma0YDWjAC+kRUm8IiIAiIgCIiAIiIAiIgCIvl72RsL5HBjWjJc44AQH0s68Xqks1MZJ3h0hHUiB6z\/AOvismr1PU11Q6i0\/TmokHvTuHVb4Z+Z9CsW+6fkoYKaoq6t1VWVM4a8k7YxyGd\/PZWxp57RhrbU91ukr258vyeNfdqjVN0pKN8YggMwaGN3cMnBJ8lb2yyUFojDaWEceMGV273ef2Urf6mGg1xTVIja0MDDKT25yCfTHorkEEZByCu1HhW0IbLBOpNzd5J6n6oypr4dS6mpqNkzBQ07uM8RA6Vw+Hac7DwyVparvT6ClFFSZdWVA2DQSWs3yR37fP4LG07pymu1gfK8mGpE56KductADezt3ykIpLeY2io6lRUoZtl+hctaGtDWgAAYAHYv1SYu14025sN2hdW0nJtTHkkb9pPM9xx4lb9vu9BdI+OkqGPPazk4eIO6g4NZNVOvCb3dH0Z2ovOaeGmiMs8rIo283POAFN1GqKq4yGl09SPndnDqh7cNb4A\/X0XIxb0JVK0KeuvTmUNXWU1DCZqqdkLB2uOM+HxU+\/VVRcJvZ7Fb31DgetLKMNH9d5HglLpF1RMKq+Vb6yb\/AAw48I7s\/bC6Llf6CyMFDQwNmqB1W08I2ae\/Hy5qaUdFlmadSo1vTe5H6mRdqe9UtDJVXW+9ESCI4YNuN3YNsd2+6oNMw1MNhp21T3OkOXdbmASSB3rgttirK6sbdb84PlG8VN+7H4j6eqpUnLG6d2ek951HdeLz4sIiKo2hERAERY181FBaAII29PWSbMhbvjPIn7cyupNuyITnGnHek8HZdLtS2ilM9U\/GfcYPeefgAp6G33LVbhU3Nz6OhG8cDCQX9+\/zx27LptWnZamqbdr48zVLt2wn3Y\/h6fDkqVTuoaamdQlXzUxHp6+h4UlFTUEAgpYWRRjsaOfie3zU\/rDrVdnYfddU7jzb91TqY1h1auzvPutqdz5t+yU+I7tSSotLu+6OR1ujvuqrxFLs1sIYw9rXDhwfUH1XRYtQx0unZvbnO6a3no3NPvO36o+nkvrSrhJcb1WuIaH1GN\/3QC47+o9FO3OWjqtROuLKcutzahjZnjk87cR89\/FW23nuvlYwubpxVWOrb++vwNqgopZKGv1Dc3HppYXmDiPuMLTgjxzgfqtTR0ZZpunyMcRc7x6xXNq+rxZqekpXACte1jSNhwc\/Tl5LZDqSy2uNs0rYoKdgbxHbOB8O0lVybcfE00oRhV14Vl97ydbmhzS1wBBGCD2qD1BTWY13s1pp5H15dypXYYx3hv6DGMdi731931Q90Nta6ioMkOqHbF4+H6DzK06ens2lKPL5WRucOtI\/d8ngPoF2PY8ehyq1tCwrR6vy9TNt2j552sffKuWcM9ynEpIb4n7eq3KuvtlgpGtkdHAxo6kTAOJ3gPqsR+oLte3mGxUZiizg1Mo5fQfmV3W\/StNBJ7TcZDcKonJfLu0eR5+f5JL\/AHfwFKyxQj8X+5+xwGtvep+pb2G30Od53HrP8P09Vs2nT9BZ2h0EfFNjDpn7uP28lpgADAGAF+qDniywjRCgk96bvLr6dAiIoGgIiIAiKYut5qbpXGzWQ5ccieoB2YO3B+vkFKMWyqrVVNXf\/T2vV\/lFR+FWdvT1zzwucBkRfTP5DtXvY9PMthdVVTxU10py+Y78OeYGfmvey2KkstOWQjjld78rhu77DuWmuuSStErhSlKXtKuvJcl+e8IiKBpCl9d5ZbKWZuMsqRg\/wk\/RVCl9d1cDLVHSPyZpXh7AOwDmT6qynxozbXb2Erk9Z5Ky4W91johh1RKZaiU9jMNHz+yuY7LRR2gWvog6Dhwc8yf73jndcOkLbBR2aKoa3M1S3je8jfHYB3L8v2qKa3QvhpJWTVh6oY3cM7zj5Kc25StEzUIQo0d+q9V9Ohi1VANPzU01xuBqIaV3FS04PXcefkMhvpj4L8leK2Zlw1NVCCn96ChaSXEY2OBuB3nn3LloLJqC6Vjq2UGGR39vUjBH\/wAjw5beipbbpGhpH9PVk1tQTkvl3GfD75UpSUdXkop051OGNo9\/nzfhocUd2u91hbBYbcKOlHVbPLgADuHL0yumh0fTtm9puk76+oJyeMnh+5\/rZUQAAwBgBfqpc3ywegtmTd6j3n9PkfLGMjYGRtDGtGA1owAvpEUDSEREAREQBERAYWqro6johQ04Lqut\/ZxhvMAkAn88D9F12O0RWa3MgYAZXbyyY3cf05LIpgyr1\/UuqXDipogIWHwH3J2+KqVZLCUTLSXtKkqj5YX73hF5yTRQgmWVjABklzgFn1OpLNS56SvicR2Rnj+WVBJvQvlOMeJ2NRFNSa3onOLKOjqqp+cDhbgH5n8l8e06sum8FNFbYjjrS7u79jv+QUvZvngp\/lU3iHa8CkmnhpojLPKyKNvNzzgBQur7tZ7kGClaZqph4enGQ0N3235793mtiPRkc7xLdbhUVsg+LsDHw3yVz3ujpY71ZbZTQshiEvSPa3bi3HPtzsd+9WQ3VIzbS6s6bTSSx3v8HHZbRcb7a4mT3Aw0EZ4BEwHLu3fs7e9VFu0\/bLWQ+mph0gH\/AHHnid+fLyWkirlNs00tmhTSby+v7oERFA0hERAEREAREQBERAEREBlXfT9Jd3slkL4pmYxJHgHbkD69yzf+So3bSXWsePhxKnRTU5LCZRLZ6U3donItDWiNwc51RJg5w94wfQBd9NpqzUpBjoIiR2yZf88rURcc5PmI7PSjpFHxHFHCwMijaxo5NaMBfaIol4UxUEVH\/EOmbnanpzt34d\/+gqdTFpzUa4utQdxFGIx2490fylThzfcZtoy4R719MlOiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKY0bmWa7VZ3M1Tz9T\/MqOokMVNLIObGFw8gsDQ0YZp8uH78znH0A+imuBmapmvBeLKNERQNIREQBERAEREAREQBERAEREAREQBERAEREB5zM6SCRmM8TSMfHZT+hX8VgcM54J3Dw2B+qpFMaJxHBcKbO8VScgcuWPoprgZmqYrwfj5FOiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALFs9ont14uc5LPZ6p4ezB3zknl\/EURdTsrEJQUmpPkbSIi4TCIiAIiIAiIgCIiAIiIAiIgP\/Z",
    "razonSocial": "SIMM SOLUCIONES SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ROSA BAZAES",
    "correoContacto": "rosa.bazaes@simmsoluciones.com",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CAJA DE MANTENIMIENTO REEMPLAZAR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56935437492",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R693\",\"id_control\":\"28610\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R912\",\"id_control\":\"28614\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:57",
    "ubicacionGPS": "LatLng(lat: -24.9627367, lng: -69.6318418)",
    "horaLlegada": "08:38",
    "horaDespacho": "11:40",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 11:57:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:77114708

[08/05/2026 11:57: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('77114708', 'EP2281', 1, 19969062, 137811, NOW(), 
				'11:40', '08:38', '11:57', 4, 'Maquina reparada, funciona correctamente', -1, 
				'', '','1','345583',
				'0',2,'../csj.digital-service.cl/uploads/firmas/firma_0_1778255851.png', 'Maquina reparada
Cambio de cabezal', null, 'COMPLETADO','LatLng(lat: -24.9627367, lng: -69.6318418)' )
				
[08/05/2026 11:57:31] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200238
[08/05/2026 11:57:31] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200238', 'EPS-R693', 1)
				
[08/05/2026 11:57:31] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28610 and
				    IDproducto = 'EPS-R693'
				

08/05/2026 11:57:31 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R693';
                [08/05/2026 11:57:31] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200238', 'EPS-R912', 1)
				
[08/05/2026 11:57:31] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28614 and
				    IDproducto = 'EPS-R912'
				

08/05/2026 11:57:31 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R912';
                
08/05/2026 11:57:31 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200238'                    
				WHERE idllamado = 12423			
				TO ENVIO: null, rosa.bazaes@simmsoluciones.com


08/05/2026 11:57:31 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12423			
				
08/05/2026 11:57:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                
08/05/2026 11:57:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:57:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:57:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:57:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            [08/05/2026 11:57: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;
                

08/05/2026 11:57:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:57:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:57:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:57:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                [08/05/2026 11:57: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;
                

08/05/2026 11:57:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12423
                
08/05/2026 11:57:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            [08/05/2026 11: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;
                

08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                [08/05/2026 11: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;
                

08/05/2026 11: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 = 12423
                [08/05/2026 11: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;
                

08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                [08/05/2026 11: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;
                

08/05/2026 11:57:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            [08/05/2026 11: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;
                

08/05/2026 11:57:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:57:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:57:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12423
                [08/05/2026 11: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;
                

08/05/2026 11: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 = 12423
                
08/05/2026 11:57:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:57:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11:57:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12423
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12423
                
08/05/2026 11: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 = 12455
                
08/05/2026 11:57:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12455
                
08/05/2026 11:57:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12455
                
08/05/2026 11: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 = 12455
                
08/05/2026 11: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 = 12455
                
08/05/2026 11: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 = 12455
                
08/05/2026 11:58:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:58:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:58:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:58:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11: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 = 12455
                
08/05/2026 11:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11: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 = 12455
                
08/05/2026 11: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 = 12455
                
08/05/2026 11: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 = 12455
                
08/05/2026 11: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 = 12455
                
08/05/2026 11:58:13 - logentry: =========================================
FECHA: 08/05/2026 11:58:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-abx3TD7MR3Yo+jpnvfddogYORPYr5HjcdCS_kHw_uO+NHCu4wUd
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "TO2415",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "515755",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se entregó 2 toner toshiba",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12455",
    "observacion": "se entrega 2 toner toshiba",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADVAQEDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUBAgf\/xAA\/EAACAQQAAwUFBgUCBAcAAAAAAQIDBAURBhIhEzFBUWEicYGRsRQjMqHB8BVCUtHhU5IHJUPCFiYzYnKC8f\/EABgBAQADAQAAAAAAAAAAAAAAAAABAgME\/8QAMREAAgECBAIJAwQDAAAAAAAAAAECAxESITFRQWEEEyIycbHB0eEjkaEUQoHwM1JT\/9oADAMBAAIRAxEAPwD9mAAAAAAAAAAAAAAAAAAAAAAAAAAAOfls1Z4aj2lzPcpfhpx1zS+B7mspDD42pdzSlJezTi3rmk+5fr8DmYDD1atVZrKS7W8rJSpxa6Uovu6ef0LxStdnPUqSxdXDXyMCr8VZdqdClTxlCSenU6y\/Nb\/JH3\/BuJfxfxyPNru5XrZTAY9kR+mT70m34+xLyq8XYzc6lOhkaUV15F7XyWm\/kzdx3FWPvZqhXk7S40t063Rba7k3r89HbNDI4WwysNXVBSl4Tj0ku7x+BOKL1RHVVIZwlfk\/c3wR7eU4PqJylO\/xcunX8VL3eX0foVNneUL+1hc28+enNbXmvRlZRtnwNKdZTeFq0lwM4AKmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMZpPIcWY3Gyf3NNdtJeb6v\/ALV4+JTkxdt0v+IVl11Grbv0W9S+fcvyKcvPRHNQzlN8b+iAAKHSAAAeSipRcZJNNaafiSN\/aXHCd68njk52FSSVe330j+\/B+HcV5pZe5srXG1XfzUaM4uDTW+bafRLzLwdnYwr01KN72a0exs29endW9OvRkp06kVKLXihXuKFtT7S4rU6UN65qklFfNkLw+s9f2P2CyuYW1pRk1KsvxdXvp4+fkduhwVY8yqX9xcXtXxc5uKf6\/mWcIxebMqfSKlSKcIffJHT\/AI7iebleRtk9661Ejdp1adaCnSqRnF90ovaOW+FMG1r7BDr\/AO+X9zn1uE6thVd1grypQqppulOfsyXlvX12RaD0ZfHXjnKKa5fJTg4WE4h+21HY39J21\/T9mUZLSm\/T1110d0o007M2p1I1I4ogAEFwAAAAAAAAAAAAAAAAAAAAAAAAAACY4sbsshi8otqNKtyVNPW13\/Tm+ZTJprae0zn57HrJ4e4tlHdTl5qf\/wAl1X9viavCmR+34SnCXSrbfczT9F0fy\/U0ecE9jlj2K7X+2f21O2ADM6gAAAc3N4alm7WFCrVnS5J8ylD6NHSBKbTuisoqccMtDUxuNtsXaq3toaW9yfjJ+bNsAhu5MYqKsgAAScTibEK+sZXNvBK9t1z0pxXtPXev7epn4eyv8XxNOvJrto+xVS\/qXj8e\/wCJ1CTtd4PjSpa7StsiueK3pRl1a\/Pa+KNF2o22OSp9KqprR5P0foVgAMzrAAAAAAAAAAAAAAAAAAABo5DL2eMdKNzU1KtNRjGPWXXx136JSvoVlJRV2zeABBYAAAEpGSwPGk4tclrk0mvJT\/8A3f8AuKs5XEOHjmMc6celxT9ujLetS8viXg0nZnPXhKUVKOqzR1QcXhjLyyeO7O4bV3bPkrRl0b8nr99UztFWrOzNac1UipLiAAQXAAAAAAAAABMcbR7C3schFPtLa5WteXf3++K+ZTkxx3JyxVvQj+OrcLS136i+nzaL0+8jm6X\/AIZFH21L\/Vh\/uQHZR85\/73\/cFcjfMyAAgsAAAAAAAAAAAAAAAa9\/e0sfY1rut+ClHm15vwXxekcHhuynkK9TP5CKlVrN\/Z4tf+nFPw+i9PeY+JJ1Mxl7XAW8tRTVW4kn3L\/C669UU9KlCjShSpxUYQioxivBLuRp3Y82ci+rV5R8\/g+wAZnWAAAAAAS2fsq+HyEeIcdHfXV1SXRST8f7+un5lDY3tHIWdO6oS5oVFv3PxT9xmlGM4OE4qUZLTTW00SdnVfCeZlY3DksbdPmo1JPahL1+j+DNF21bijkf0J4v2vXk9\/5K4Hiaa2ntM9MzrAAAAAAAAABL5x\/xDivF41LmhRfbVFrp59fhH8ynlJRi5SaSS22\/Al+GtZTN5LNPrBy7Ki2u5fp0Ufn89IZXZy9I7TjT3f4WZUgAzOoAAAAAAAAAAAAAAAGC9u4WNlWuqn4aUHJrz9DOTXF9Wpc\/Y8NRlqd5VXO9d0U1+vX4Foq7sZVp9XTclr6nvB9rVnQuMvdL7+9m5J9fw78vfv4aKQx0aULehTo01qFOKjFeiWjIJO7uKVPq4KIABU1AAAAAABp5TF2+WspWtwuj6xkl1g\/NG4CU7ZoiUVJWehLYnJ3WFvY4TMPcX0trhvo14Jvy+ncVJpZXF22Xs5W1xHv\/AATS6wfmjh4zLXWFvVh83LcX0t7l9zXgm\/L18PEu1jzWpyxk6DwT7vB7cn7lSADM6wAAAAa2QvqONsat3XklGnFtLeuZ+CXqwsyG0ldnH4qysqFCOMs9zvLtqPLDfNGL8enj\/k6uJx8MXjKFnF77OPtPzk+rfzONwxY1rmvVz18t17nfYp9eSH76L095SmkslhRzUU5t1ZcdPD5AAMzqAAAAAAAAAAAAAAABLYXeY4ovcrN7pWv3NBfNfTb\/APsdvM3bscPdXKepQpvle9e0+i\/No0+ErT7Jw7b7WpVt1ZdO\/fd+WjRZRbOWp260YbZ+x2gAZnUAAAAAAAAAAAADTyeLtsrauhcx2u+Ml0cX6M3ASnbQiUVJWZN4LIXlnkXgMl7dSnHdCsv549\/X4fTRSHzyQ5+05Vz61za668j6Jk7u5SlBwjhbv7AAx169K2oTr1pqFOmuaUn4IqaN2Pi8vKFhazubifJTgtvzfoiZsra44svVkMhCVPHUn9xQ\/wBT1f6v4GO3oXfGN3G8um6OLoz+7peNRr6+TfwXiV8YxhBQhFRjFaSS0kjXueJxq\/SHd9zz+D1JJaS0kegGR2AAAAGJ3NBXKtnWgqzjzKm5Lma89fAygi9wAASAAAAAAAAATvHFZ08B2S3uvWjDS8e9\/oju2tFW1pRoLWqUIwWvRaJ3jJKdXFUX\/Pcrw9y\/Upy77iOannXm9rL1AAKHSfFWrTo05VKs1CEVtyk9JE3d8XSuKztcHaTvK3+o4vlXrr++j6zka+YzdLCRq9lbqHa1XFvb7+nl4ro\/RnetLO2saKo2tCFGC8IrW\/f5miSirs5W6lWTjB2S48f4J2HD+cyEe0yeaqUm\/wDo0O5fJpfkz6XBFrDcqOQu4Tf4pcy6\/LRTgjrJE\/paXFX8WySqXWX4Vq7upSyGNk9Kf89P3+Xu7vLRS2V7b5C1hc21RTpzXR+Xo\/UzSjGcHCcVKMlppraaJK4o1OEMrG6t+eWLuZaqw7+yf77vkTlPxKPF0d3veHl8FeDHRrU7ijCtRmp05rcZRfRoyGZ2agAAAAAAneJbS8y13Z4ylTqRtZPtK9aK6LXcvr09V5FECYuzuZ1KaqRwvQx0aNO3owo0YKFOC1GMV0SMgBBpoAAAAAARfGuMnSu6WXpuah7MKji\/aptPpJfvv952eG3lOxlG8qxuLZRToXDluVRPr+99Tr3FCndW9ShWip06kXGSfiia4ar1cXka\/D13Pbg3O2f9UX1aX1+ZtixQtscDpql0hT4S8\/nzKkAGJ3gAAAAAAAAExxn91PF3Ul93Rufafyf\/AGspzk8TY+WSwdalTjzVIfeQW9ba\/wAbPrh3IxyeGoVuZOpCPJUXipL+\/f8AE0ecFyOWPZryT4pP7ZHUABmdRqyx9vLIxv3D76EHFPw9\/q9dDaBzcln8biov7RcJ1F\/0qftT+Xh8dEq7yKNwppt5G5c3VCzoutc1oUqa75SekZIyjOCnCSlGS2mntNEjOnmOLWlUh9gxvR6a3KfX17\/p7yqtLaFnaUram5OFKKjFye3pFpRSXMzpVXUbaXZ3MxjrUadxRnRrQU6c1qUZLo0ZAUN9Tn4jEUsPQqUKNWpOnObnGM3tQ9EdAAlu+bKxiorDHQAAgsAAAAAAAAAAAAAAACf4rxtWtb08nZvlurH2013yj3tfDv8AmUB40mtNbTJi7O5nUpqpBxZp4nJUstjqV3S6cy1OP9MvFG6SUG+FeI+yb5cZfvcfKnP9\/k15FaWkrPLQpRqOStLvLX+8wAChuAAAAAACWvMZkcJkamSw0e2o1mu2tnt\/FeL9NdVvyKkFoysZVKSqJcGtGTEeObWHNG6sLujUityiknr5tD\/xlO5j\/wAuw93cNvW2tL8tlOC2KOxn1db\/AKfglJUeLMxtValPGUGknGP4n8tv80dHF8LY7GNVHD7RX7+1q9dP0XcvqdoEOb0WRMejwTxSzfMAAodAAAAAAAAAAAAAAAAAAAAAAAAAAABo5fGUsvjqlpV6N9YT1vkku5\/vw2czhjKVX2mHyD1e2j5Vv+ePv8dfTXqUJPcTYqrKVPM2D5by0XM0lvtIr9v4GkXdYWc1aLi+tjqtea+ChBoYbK0sxj4XVPUZd1SG98kvI3yjVnZm8ZKSUloAAQWAAAAAAABqX+Ts8ZRdW7rxprXSO\/al7l4hK5Dkoq7NmUowg5zkoxittt6SR7GSlFSi001tNeJIyqZTi6p2UKU7LFqXtyfSVTX193cVVtb07W2pW9Jap0oKEV6JaLSjh8TKnV6xtpZb7mUAFTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAka3\/lTiJV4prGXz1PXVU5f47\/c35FbGSlFSi001tNeJr5CwoZKyqWlxHcKi7\/GL8GvVHD4Zvatnc1uH76Tda3b7GT\/nh39PqvR+ho+0r8Uckfo1MP7Xpye3sUoAMzrAAAB42ktt6SNTJZWzxNDtruqo\/wBMV1lL3InP+c8WaUoyx2OfX1qr9fp7y8Y3zehhUrKLwxzlt\/dDavuKZ167ssHbu8rvp2i\/BH1\/y9I+sfwu6lf7dnKv226l15JdYQ9NePu7js4\/G2mLtlQtKShHxfjJ+bfibRLlbKJSNByeKq7vbgjyMVGKjFJJLSS8D0AzOoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHB4jw1W87LIWD5L62e4tfzry\/fuO8CU2ndGdSmqkcLOXgs3RzVpzpclxT0q1P+l+a9DqEpn7eeCyVPPWUXyTmo3VNPpLfj8frplPb16d1b069GSnTqRUoteKLSS1WhnRnJtwn3l+VuZCfzHEdSldfw3E0ftd89qWusafv9fp4mvms3VvrunhsNU5q1Seq1aO9QXj1X5teR1sNg7TC0HCgnKpJfeVZd8v7L0JSUVeRSVSVWThTeS1fojnY3hZu4+35qt9su3pqMnuEfT1+hRJJLSWkj0FZSctTenSjTVogAFTQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+KtKFalKlUipQmtST8UTVThGnSrxoW2RuaFtW3zUU99y8\/n4eIBaMmtDGrShO2JHbxuJs8TRdK0pcvM9yk+spe9m6AQ3fU1jFRVksgACCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MARIA DEL CARMEN ROJAS PEÑA",
    "correoContacto": "escuelacarloscondell@sleplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56981579047",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I650\",\"id_control\":\"28576\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:58",
    "ubicacionGPS": "LatLng(lat: -23.6618356, lng: -70.3999506)",
    "horaLlegada": "08:18",
    "horaDespacho": "11:55",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 11:58:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-abx3TD7MR3Yo+jpnvfddogYORPYr5HjcdCS_kHw_uO+NHCu4wUd
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "TO2415",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "515755",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se entregó 2 toner toshiba",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12455",
    "observacion": "se entrega 2 toner toshiba",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADVAQEDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUBAgf\/xAA\/EAACAQQAAwUFBgUCBAcAAAAAAQIDBAURBhIhEzFBUWEicYGRsRQjMqHB8BVCUtHhU5IHJUPCFiYzYnKC8f\/EABgBAQADAQAAAAAAAAAAAAAAAAABAgME\/8QAMREAAgECBAIJAwQDAAAAAAAAAAECAxESITFRQWEEEyIycbHB0eEjkaEUQoHwM1JT\/9oADAMBAAIRAxEAPwD9mAAAAAAAAAAAAAAAAAAAAAAAAAAAOfls1Z4aj2lzPcpfhpx1zS+B7mspDD42pdzSlJezTi3rmk+5fr8DmYDD1atVZrKS7W8rJSpxa6Uovu6ef0LxStdnPUqSxdXDXyMCr8VZdqdClTxlCSenU6y\/Nb\/JH3\/BuJfxfxyPNru5XrZTAY9kR+mT70m34+xLyq8XYzc6lOhkaUV15F7XyWm\/kzdx3FWPvZqhXk7S40t063Rba7k3r89HbNDI4WwysNXVBSl4Tj0ku7x+BOKL1RHVVIZwlfk\/c3wR7eU4PqJylO\/xcunX8VL3eX0foVNneUL+1hc28+enNbXmvRlZRtnwNKdZTeFq0lwM4AKmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMZpPIcWY3Gyf3NNdtJeb6v\/ALV4+JTkxdt0v+IVl11Grbv0W9S+fcvyKcvPRHNQzlN8b+iAAKHSAAAeSipRcZJNNaafiSN\/aXHCd68njk52FSSVe330j+\/B+HcV5pZe5srXG1XfzUaM4uDTW+bafRLzLwdnYwr01KN72a0exs29endW9OvRkp06kVKLXihXuKFtT7S4rU6UN65qklFfNkLw+s9f2P2CyuYW1pRk1KsvxdXvp4+fkduhwVY8yqX9xcXtXxc5uKf6\/mWcIxebMqfSKlSKcIffJHT\/AI7iebleRtk9661Ejdp1adaCnSqRnF90ovaOW+FMG1r7BDr\/AO+X9zn1uE6thVd1grypQqppulOfsyXlvX12RaD0ZfHXjnKKa5fJTg4WE4h+21HY39J21\/T9mUZLSm\/T1110d0o007M2p1I1I4ogAEFwAAAAAAAAAAAAAAAAAAAAAAAAAACY4sbsshi8otqNKtyVNPW13\/Tm+ZTJprae0zn57HrJ4e4tlHdTl5qf\/wAl1X9viavCmR+34SnCXSrbfczT9F0fy\/U0ecE9jlj2K7X+2f21O2ADM6gAAAc3N4alm7WFCrVnS5J8ylD6NHSBKbTuisoqccMtDUxuNtsXaq3toaW9yfjJ+bNsAhu5MYqKsgAAScTibEK+sZXNvBK9t1z0pxXtPXev7epn4eyv8XxNOvJrto+xVS\/qXj8e\/wCJ1CTtd4PjSpa7StsiueK3pRl1a\/Pa+KNF2o22OSp9KqprR5P0foVgAMzrAAAAAAAAAAAAAAAAAAABo5DL2eMdKNzU1KtNRjGPWXXx136JSvoVlJRV2zeABBYAAAEpGSwPGk4tclrk0mvJT\/8A3f8AuKs5XEOHjmMc6celxT9ujLetS8viXg0nZnPXhKUVKOqzR1QcXhjLyyeO7O4bV3bPkrRl0b8nr99UztFWrOzNac1UipLiAAQXAAAAAAAAABMcbR7C3schFPtLa5WteXf3++K+ZTkxx3JyxVvQj+OrcLS136i+nzaL0+8jm6X\/AIZFH21L\/Vh\/uQHZR85\/73\/cFcjfMyAAgsAAAAAAAAAAAAAAAa9\/e0sfY1rut+ClHm15vwXxekcHhuynkK9TP5CKlVrN\/Z4tf+nFPw+i9PeY+JJ1Mxl7XAW8tRTVW4kn3L\/C669UU9KlCjShSpxUYQioxivBLuRp3Y82ci+rV5R8\/g+wAZnWAAAAAAS2fsq+HyEeIcdHfXV1SXRST8f7+un5lDY3tHIWdO6oS5oVFv3PxT9xmlGM4OE4qUZLTTW00SdnVfCeZlY3DksbdPmo1JPahL1+j+DNF21bijkf0J4v2vXk9\/5K4Hiaa2ntM9MzrAAAAAAAAABL5x\/xDivF41LmhRfbVFrp59fhH8ynlJRi5SaSS22\/Al+GtZTN5LNPrBy7Ki2u5fp0Ufn89IZXZy9I7TjT3f4WZUgAzOoAAAAAAAAAAAAAAAGC9u4WNlWuqn4aUHJrz9DOTXF9Wpc\/Y8NRlqd5VXO9d0U1+vX4Foq7sZVp9XTclr6nvB9rVnQuMvdL7+9m5J9fw78vfv4aKQx0aULehTo01qFOKjFeiWjIJO7uKVPq4KIABU1AAAAAABp5TF2+WspWtwuj6xkl1g\/NG4CU7ZoiUVJWehLYnJ3WFvY4TMPcX0trhvo14Jvy+ncVJpZXF22Xs5W1xHv\/AATS6wfmjh4zLXWFvVh83LcX0t7l9zXgm\/L18PEu1jzWpyxk6DwT7vB7cn7lSADM6wAAAAa2QvqONsat3XklGnFtLeuZ+CXqwsyG0ldnH4qysqFCOMs9zvLtqPLDfNGL8enj\/k6uJx8MXjKFnF77OPtPzk+rfzONwxY1rmvVz18t17nfYp9eSH76L095SmkslhRzUU5t1ZcdPD5AAMzqAAAAAAAAAAAAAAABLYXeY4ovcrN7pWv3NBfNfTb\/APsdvM3bscPdXKepQpvle9e0+i\/No0+ErT7Jw7b7WpVt1ZdO\/fd+WjRZRbOWp260YbZ+x2gAZnUAAAAAAAAAAAADTyeLtsrauhcx2u+Ml0cX6M3ASnbQiUVJWZN4LIXlnkXgMl7dSnHdCsv549\/X4fTRSHzyQ5+05Vz61za668j6Jk7u5SlBwjhbv7AAx169K2oTr1pqFOmuaUn4IqaN2Pi8vKFhazubifJTgtvzfoiZsra44svVkMhCVPHUn9xQ\/wBT1f6v4GO3oXfGN3G8um6OLoz+7peNRr6+TfwXiV8YxhBQhFRjFaSS0kjXueJxq\/SHd9zz+D1JJaS0kegGR2AAAAGJ3NBXKtnWgqzjzKm5Lma89fAygi9wAASAAAAAAAAATvHFZ08B2S3uvWjDS8e9\/oju2tFW1pRoLWqUIwWvRaJ3jJKdXFUX\/Pcrw9y\/Upy77iOannXm9rL1AAKHSfFWrTo05VKs1CEVtyk9JE3d8XSuKztcHaTvK3+o4vlXrr++j6zka+YzdLCRq9lbqHa1XFvb7+nl4ro\/RnetLO2saKo2tCFGC8IrW\/f5miSirs5W6lWTjB2S48f4J2HD+cyEe0yeaqUm\/wDo0O5fJpfkz6XBFrDcqOQu4Tf4pcy6\/LRTgjrJE\/paXFX8WySqXWX4Vq7upSyGNk9Kf89P3+Xu7vLRS2V7b5C1hc21RTpzXR+Xo\/UzSjGcHCcVKMlppraaJK4o1OEMrG6t+eWLuZaqw7+yf77vkTlPxKPF0d3veHl8FeDHRrU7ijCtRmp05rcZRfRoyGZ2agAAAAAAneJbS8y13Z4ylTqRtZPtK9aK6LXcvr09V5FECYuzuZ1KaqRwvQx0aNO3owo0YKFOC1GMV0SMgBBpoAAAAAARfGuMnSu6WXpuah7MKji\/aptPpJfvv952eG3lOxlG8qxuLZRToXDluVRPr+99Tr3FCndW9ShWip06kXGSfiia4ar1cXka\/D13Pbg3O2f9UX1aX1+ZtixQtscDpql0hT4S8\/nzKkAGJ3gAAAAAAAAExxn91PF3Ul93Rufafyf\/AGspzk8TY+WSwdalTjzVIfeQW9ba\/wAbPrh3IxyeGoVuZOpCPJUXipL+\/f8AE0ecFyOWPZryT4pP7ZHUABmdRqyx9vLIxv3D76EHFPw9\/q9dDaBzcln8biov7RcJ1F\/0qftT+Xh8dEq7yKNwppt5G5c3VCzoutc1oUqa75SekZIyjOCnCSlGS2mntNEjOnmOLWlUh9gxvR6a3KfX17\/p7yqtLaFnaUram5OFKKjFye3pFpRSXMzpVXUbaXZ3MxjrUadxRnRrQU6c1qUZLo0ZAUN9Tn4jEUsPQqUKNWpOnObnGM3tQ9EdAAlu+bKxiorDHQAAgsAAAAAAAAAAAAAAACf4rxtWtb08nZvlurH2013yj3tfDv8AmUB40mtNbTJi7O5nUpqpBxZp4nJUstjqV3S6cy1OP9MvFG6SUG+FeI+yb5cZfvcfKnP9\/k15FaWkrPLQpRqOStLvLX+8wAChuAAAAAACWvMZkcJkamSw0e2o1mu2tnt\/FeL9NdVvyKkFoysZVKSqJcGtGTEeObWHNG6sLujUityiknr5tD\/xlO5j\/wAuw93cNvW2tL8tlOC2KOxn1db\/AKfglJUeLMxtValPGUGknGP4n8tv80dHF8LY7GNVHD7RX7+1q9dP0XcvqdoEOb0WRMejwTxSzfMAAodAAAAAAAAAAAAAAAAAAAAAAAAAAABo5fGUsvjqlpV6N9YT1vkku5\/vw2czhjKVX2mHyD1e2j5Vv+ePv8dfTXqUJPcTYqrKVPM2D5by0XM0lvtIr9v4GkXdYWc1aLi+tjqtea+ChBoYbK0sxj4XVPUZd1SG98kvI3yjVnZm8ZKSUloAAQWAAAAAAABqX+Ts8ZRdW7rxprXSO\/al7l4hK5Dkoq7NmUowg5zkoxittt6SR7GSlFSi001tNeJIyqZTi6p2UKU7LFqXtyfSVTX193cVVtb07W2pW9Jap0oKEV6JaLSjh8TKnV6xtpZb7mUAFTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAka3\/lTiJV4prGXz1PXVU5f47\/c35FbGSlFSi001tNeJr5CwoZKyqWlxHcKi7\/GL8GvVHD4Zvatnc1uH76Tda3b7GT\/nh39PqvR+ho+0r8Uckfo1MP7Xpye3sUoAMzrAAAB42ktt6SNTJZWzxNDtruqo\/wBMV1lL3InP+c8WaUoyx2OfX1qr9fp7y8Y3zehhUrKLwxzlt\/dDavuKZ167ssHbu8rvp2i\/BH1\/y9I+sfwu6lf7dnKv226l15JdYQ9NePu7js4\/G2mLtlQtKShHxfjJ+bfibRLlbKJSNByeKq7vbgjyMVGKjFJJLSS8D0AzOoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHB4jw1W87LIWD5L62e4tfzry\/fuO8CU2ndGdSmqkcLOXgs3RzVpzpclxT0q1P+l+a9DqEpn7eeCyVPPWUXyTmo3VNPpLfj8frplPb16d1b069GSnTqRUoteKLSS1WhnRnJtwn3l+VuZCfzHEdSldfw3E0ftd89qWusafv9fp4mvms3VvrunhsNU5q1Seq1aO9QXj1X5teR1sNg7TC0HCgnKpJfeVZd8v7L0JSUVeRSVSVWThTeS1fojnY3hZu4+35qt9su3pqMnuEfT1+hRJJLSWkj0FZSctTenSjTVogAFTQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+KtKFalKlUipQmtST8UTVThGnSrxoW2RuaFtW3zUU99y8\/n4eIBaMmtDGrShO2JHbxuJs8TRdK0pcvM9yk+spe9m6AQ3fU1jFRVksgACCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MARIA DEL CARMEN ROJAS PEÑA",
    "correoContacto": "escuelacarloscondell@sleplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56981579047",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I650\",\"id_control\":\"28576\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:58",
    "ubicacionGPS": "LatLng(lat: -23.6618356, lng: -70.3999506)",
    "horaLlegada": "08:18",
    "horaDespacho": "11:55",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 11:58:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[08/05/2026 11:58:13] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'TO2415', 2, 7373114, 515755, NOW(), 
				'11:55', '08:18', '11:58', 10, 'se entregó 2 toner toshiba', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778255893.png', 'se entrega 2 toner toshiba', null, 'COMPLETADO','LatLng(lat: -23.6618356, lng: -70.3999506)' )
				
[08/05/2026 11:58:13] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200239
[08/05/2026 11:58:13] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200239', 'TOS-I650', 2)
				
[08/05/2026 11:58:13] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28576 and
				    IDproducto = 'TOS-I650'
				

08/05/2026 11:58:13 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I650';
                
08/05/2026 11:58:13 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200239'                    
				WHERE idllamado = 12455			
				TO ENVIO: micorreo@miempresa.cl, escuelacarloscondell@sleplicancabur.cl


08/05/2026 11:58:13 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12455			
				
08/05/2026 11:58:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 11:58:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:58:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:58:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:58:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:58:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                [08/05/2026 11:58:15] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 11:58:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:58:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:58:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:58:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:58:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:58:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                [08/05/2026 11:58:16] 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;
                

08/05/2026 11:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [08/05/2026 11:58:16] 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;
                

08/05/2026 11:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                [08/05/2026 11:58:16] 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;
                

08/05/2026 11:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            
08/05/2026 11:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12455
            GROUP BY l.idllamado;
            [08/05/2026 11:58:17] 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;
                

08/05/2026 11:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                
08/05/2026 11:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12455
                [08/05/2026 11:58:19] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 12:11: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;
                

08/05/2026 12:11:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 12:11:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12500
LIMIT 1;
        [08/05/2026 12:11: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;
                

08/05/2026 12:11:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 12:11:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12500
LIMIT 1;
        [08/05/2026 12:11: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;
                

08/05/2026 12:11:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 12:11:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12500
LIMIT 1;
        
08/05/2026 12: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 = 12500
                
08/05/2026 12: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 = 12500
                
08/05/2026 12:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12:12:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 12:12:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12500
LIMIT 1;
        
08/05/2026 12:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12:12:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 12:12:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12500
LIMIT 1;
        
08/05/2026 12:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12:12:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12:12:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12:12:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 12:12:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12500
LIMIT 1;
        
08/05/2026 12: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 = 12500
                
08/05/2026 12: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 = 12500
                
08/05/2026 12: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 = 12500
                
08/05/2026 12: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 = 12500
                
08/05/2026 12:13:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 12:13:13 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12500
LIMIT 1;
        
08/05/2026 12: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 = 12500
                
08/05/2026 12: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 = 12500
                
08/05/2026 12: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 = 12500
                
08/05/2026 12: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 = 12500
                
08/05/2026 12:14:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12508
            GROUP BY l.idllamado;
            
08/05/2026 12:14:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12508
            GROUP BY l.idllamado;
            [08/05/2026 12:14: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;
                
[08/05/2026 12:14: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;
                

08/05/2026 12:14:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12508
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12508
                
08/05/2026 12:14:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:14:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:14:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:17:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 12:17:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12500
LIMIT 1;
        
08/05/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12:17:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 12:17:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12500
LIMIT 1;
        
08/05/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12: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 = 12500
                
08/05/2026 12: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 = 12500
                [08/05/2026 12:18:24] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '95585912'
				GROUP BY anio
				ORDER BY anio DESC;
				
[08/05/2026 12:18:24] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 95585912 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '95585912'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[08/05/2026 12:18:26] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 12:18:31] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12486
            GROUP BY l.idllamado;
            [08/05/2026 12:20:01] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 12:20:03] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 12:20:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12485
            GROUP BY l.idllamado;
            
08/05/2026 12:23:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12508
            GROUP BY l.idllamado;
            [08/05/2026 12:23: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;
                
[08/05/2026 12:23: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;
                

08/05/2026 12:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:23:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12508
            GROUP BY l.idllamado;
            
08/05/2026 12:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:23:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12508
            GROUP BY l.idllamado;
            
08/05/2026 12:23:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12508
            GROUP BY l.idllamado;
            
08/05/2026 12:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12508
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12508
                
08/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12508
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12508
            GROUP BY l.idllamado;
            
08/05/2026 12:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12508
            GROUP BY l.idllamado;
            
08/05/2026 12:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12508
            GROUP BY l.idllamado;
            
08/05/2026 12:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12508
            GROUP BY l.idllamado;
            
08/05/2026 12:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12:27:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12508
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12:27:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12508
            GROUP BY l.idllamado;
            
08/05/2026 12:27:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12508
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:27:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12508
            GROUP BY l.idllamado;
            
08/05/2026 12:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:27:09 - logentry: =========================================
FECHA: 08/05/2026 12:27:09
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-3CcatJAzzH3xoa6_DDNQ67Vi7hoDO4nkox35lt9J_iDa.U++A.v
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "10487973",
    "serieinterna": "TO2959",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "270721",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se corrige deformación en la guía de papel del ADF",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12508",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADYAT0DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABIEAABAwMCAgcEBgYHBwUAAAABAAIDBAURBiESMRNBUWFxgZEiscHRFCMyQqHwFSQzUoLxNDVic6Ky4QcWVHJ0ksI2Q1PS4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgQCCQQCAgMAAAAAAAABAgMREiExQSJRBBMyYXGBsdHwI0KhwTPhNFJykfH\/2gAMAwEAAhEDEQA\/AP2ZERAERUF\/vk8FRHarW3pK+fb+7GOfj19y7GLk7IrqVI044mSrvqKhtH1cjjLUHlDHu7z7FVsn1Zdm9JCyC3RHlxj2iPME\/gFNsWm4rY0VNURUVz93Su9rhP8AZz71eKd4x0zKFCpVzm7Lkv2zMii1dTP42XCmqWkDLHDG+PD4ry3Vdbb5Gx3y1vp2u2EsW7c\/nsK1C8SxRzRujljbIxww5rhkHyTGnqjroSj2JteOaOVHXUtwhE1JOyVh62nceI5jzUhZW5WOqs8puenyWcLfrabdwcOew+HoreyXunvVJ0sXsSt2kiJ3afiO9cccrrQlTrPFgqK0vw\/As0RFA0BERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQFXqC7ss1sfPzmflkQ\/tY5+AUbTlldRRGvreJ9wqBmRzzktB6lX0WNS6okq3gPoaD2YgRkPd1e4n0WtVkuFYTJT+tPrHotPcIiKs1hERAFl73Z5rdWC+WduJWHM8I5PHWce8ea1CKUZOLKqtJVI2f\/hCtV0p7vRNqac7cnNPNh7CpqyNxppdLXU3ajbxUM7sVEI+7ns8+XotVTzxVVPHPC4PjkaHNI6wuyjbNaEaNRyvCfaXy50REUC8IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqTVdwdQ2V7Ij9fUnomAc9+ePJXaytQDedcxwnLqe3M4iMbcXP3lv\/apwWd3sZ+kSahhjq8i5sdsbarTDTcIEmOKXHW8jf5eSsURRbu7l0YqMVFaIIiLhIIiIAiIgOc8EdTBJBK3ijkaWuHaCszp+Z9lu0+n6lxcwnpKZ56wd8fnrBWqVFqq2yVVC2tpMtq6M9IxzeZA5j4+Xepwf2vczV4tWqR1X5W6L1FAstzZdrXFVNI4yOGRo+64cx8fNT1FqzsXxkpRUlowiIuEgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDnUTNpqaWd\/2YmF7vADKzui6dzqWqucoBlrJieLGNgT8SfRd9Z1f0XT8jAcOneIx4cz+A\/FWlrpPoFrpqXrijAd49f45VmkPEyvj6Ql\/qvyyWiIqzUEREAREQBERAEREBkoCdOatdTE8NFcd2djXfz28CFrVUaltP6VtTxG3NRD9ZCRzyOY8x+OF607dRdrUyVx+vj9iYHmHDr8+aslxLEZaX06jp7PNftFqiIqzUEREAREQBERAEREAREQBERAEREAREQBUt\/wBRx2N0DDCZXynJAOOFo6+9XS\/M7zOy6VtbXnLg6ZsFOG75x148B\/i9LacVJ5mPplaVKHDqz9JhkE0LJQMB7Q7HZle1ypmOipYo3faYwNPiAuqqNa0zCIiHQiIgMvqP9d1FaLaDtxmV4HMjPya5ahZf9r\/tEO2ehpvTb\/8AS1CsnokZqGcpy7\/QIiKs0hERAEREAREQBERAFkpydN6sbMPZobkfb7Gu7fInPgStaq+92xl3tctK4DjxxRk\/deOR+HmpwdnnoUV4OUbx1Wa+d5YIqLSl1kr7e6mqSfpVIejeDzI6ie\/YjyV6oyVnYspzVSCktwiIuEwiIgCIiAIiIAiIgCIiAIijXGqdQ26oqmRdKYWF\/BnGcIszjaSuySi\/O7lqatrzHWUc8lI5o6OSFr9u52evn5bK5gm1eYGSROo6yN44my7DIPI\/d9ytdJpZsxx6ZCTaim\/Au77WfQLJVVGcOEZa3\/mOw\/ErI6Mtc1XWMrJW4pqUkxnGOJ59+PkvF7pLzLWUFNdK0SvqnhohiOAzcDJGMdfPxW9hhip4WQwsDI2DDWtGwCk3ghZblai+kV8UlZR279ToiIqD0QiIgCIiAzFs9vX10eeYhDf8nyWnWYsmP98Lxjuz6rTqdTUzdG7Dfe\/UIiKBpCIiAIiIAiLzxN4+DiHFjOM74QHpERAEREBlL4x9hvsN8ga4wTHo6pg5ePx8R3rUse2SNsjHBzXAFpHWFyraSKvo5aWduY5W8J7uw+R3VBpSqmpJJ7FWnE9McxZP2md3v8+5WdqN90ZV9KrbaXr\/AGaZERVmoIiIAiIgCIiAIiIAiIgPmRnGd18exskbo3tDmuBDgesLN6zpqoU0FypZXMdSOy8B2NjyPr71P07fI7zQgucBUxjErOW\/aO4qeHhxIoVZda6Ulbl3mTnsVLTX19qq5JIYJzxUk2chpPUe3ljyC3dDSNoKKKlZI+RsQwHSHJKrNWW4V9lkkaPrqb61hHPbmPT3BSrVdI62yx1z3DLY8y4IOCBv81KUnKKZRRpwo1ZRt3rw5eRUZ\/SevTguMVvh35gF383d32VqFmdFxGaCtukjQJKudxz3c\/eT6LTLlTW3It6NnDG\/udwiLPXu\/wArKgWm0s6avk2Lhyi\/19yhGLk7ItqVI043kSb3qKntIELWmeseB0cLe08s\/ndVzLRfry0SXO4uo4nD+jwjBI6wcfHKnWLTzLdmqq3CprpTxPldvwnsGfertTxKOUShU51c6uS5e5kK+xVGn6UXC2V9S4QYdJC4gh4yMn+YK09vqxXW+CraOETMDsdnculRC2pppYH\/AGZWFjvAjCz+iJnutEtNJzppnNA7Ad\/flG8UbvYRiqVVRjo1+UeLQRHre7RYOXMD9\/4fmtOsvUuFDr+nkcMNrIODJ7dx\/wCI9VqEns+4l0bJSjyb9wiIqzSEREAREQBZnUNFVW6tGoLe5znRjFRE52Q5ny\/mtMvhAIwRkFSjKzKqtNVI2I1tuEN0oY6uA+y8btzu09YKlLI1tLUaTrjcbewyW+U\/rEA+53j4ei01FW09wpWVNNIHxvGx7O4967KNs1oRpVXLgnlJfLokIiKBeFmdW00tLJTX2j2mpXBsne09vqR5rTLxNFHPC+GVgfG8FrmnkQpRlhdyqrT6yDj8uc6OrjrqOKqhOWStDh3dy7rL6clfaLpUafqScAmSmcfvN\/lv5FahJKzOUanWQu9d\/EIiKJcEREAREQBFWX66m0W4zsa18rjwRtcebsHq6+SrHVmrabM0lBTzsPOON27fDByfxU1BtXKJ14wlhs34I0yKjtuq6CueIJw6iqOuObYZ7j88K8UWmtSyFSFRXi7niaKOeF8MrA+N4LXNPIhfnE1DX6e1E5lE48bQXw5\/91n7uOvr27tupfpSotWWw1ts+lwktqaP62Nw54G5H4Z8lZTlZ2e5l6ZRxwxLVEizX2kvVKCwhk2MSQuO4Pd2hZSmqzQ6QusDXEZqTCzs3xkegKuqa12vU1viuHC6Cd4IlMB4cuAA3HiAR5KBXWqliu9psVIMsa\/ppycEu5bnyafXlyU44U2vmRnq9bKKk7aWT53y0NPZaP6BZqWmIw5kY4h\/aO5\/ElTkVBqS9yUgZbreOkuFR7LQ37gPX49nqqUnJnoSlGjTz0R4vt9mFQLTaR0tdLs5zeUX+vuUyxWKGzU5JPS1Uu8sx5nuHd718sFiis9NxO+sq5RmaU7nPYO73q3XZSSWGJXTpylLrKmuy5f2ERFA0hZjSns3m\/MH2W1Ow\/if8lp1mNLf15qD\/qf\/ACepx7LM1X+Wn5+g1kTSuttxbt9HqADg4znDsf4Vp1ynpoaqPo6iJkrMh3C8ZGRyXQAAYAwAuN3SRZGm4zlLnY+oiKJaEREAREQBERAeXNa9hY9oc1wwQRkELKVVFU6TqnV9va6W3yO+vgz9gdo+fqtavhAIwRkFSjKxVVpKeejWjItuudJdaYT0koe37w5OaewjqUtZi42Grt1Wblp4iJ5H1tN9147hy8vRWFm1DS3ZvQk9FWNB6SA9RHPB611xyvHQhCs74KmT\/D8PYt0RFA0Gd1dRSCCG70u1TQuDs9rc\/D3ZVvbK+O5W6Grj5SNyR+6eseqkua17Cx7Q5rhggjIIWWtDzp7UE1lld+q1J6Smce09X4Y8R3qxcUbcjLL6VXFtLJ+Oxq0RFWagiIgCIiAzGuf6DRf9SPcVp1m9dM4rEx45xztII6tiPitBDIJoI5QQQ9ocCO8Kx9hGan\/PPy\/ZDutkobxGG1cRLmjDJGnDm\/nvVBi6aQfkukr7YcA7bxb+O3uPctevjmhzS1wBBGCD1rim1k9CVShGTxRylz9+Zwoa+muNM2opZRIxw6uY7iOoruQCMEZBWYrLDWWep\/SGnuZ\/a0rj7Lh3b\/h6LrS6ypMmK5QS0U7eYcxxB7xtnq6wuuF84kI18PDVyf4fmcNOE2u\/3CyH9mXGaLuG3wI\/7V90+Tc9TXK6HeOM9DFv5beQ\/HrUCquYq7zV3mi4+gpaQsEjhwhzjkDv5n8FItlyp9N6WhLsSVdTmRkI5knkT3YAVjTt3sxwnFSSb4Ytvy2\/Zbajvv6Ip2RQN6Ssn2iYBnHeR7u1fLBYjbw6trXdNcJ95Hk54c9QXGxWSb6QbxdTx10u7WkbRDHZ249FoVW2ksKNlOEqkusn5Ll3+PoERFWagiIgCzGlPavN+ePsuqdj\/E\/5rTrMaNw990mG\/SVJz2dZ29VOPZZmq\/zU\/P0NOiIoGkIiIAiIgCIiAIiIAiIgCprzpqlup+kRk01Y3ds0e2T1cXb481couptO6IThGosMkZi36hqrfUC3ahYIXgfV1H3XjvPx9cLTNcHNDmkEEZBHWo9db6W5U5gq4WyNIOCRu3vB6isy5t10jJmLjr7XzId9qIfD3eCnZT01M+KdDtZx57rx9zXqh1bb2VNr+liRsVRSHpI3k48Rn87hWNNdqGqoDXRVLOgaMvcTjg7iOorOUlJNq+rfXVkkjLbG\/ENODjJHbj3890gmnd7CvOM44I5uXy5YW3V1tnoYXVlU2GoLQJGlp58s7Dkeat6S4UdcCaWpjlxzDXbjyWRqbZQWPUkbammjkt1aOFvSNz0Tu4+OPI9yuKzR1umzJSGSimxs6Jxx6fLClKMP+yulU6RZppNrJ8\/jL9FlG3a7adnEV6aaukccNqYx9nfr+XplaeGaKohZNC8PjeMtc07EKuUWjVTqxqZaNbHRERRLSi1jtpucg4Icw5\/iCs7Z\/VVJ\/cM\/yhQdWNDtM1gPY0+jgpNicXWGgJ\/4dg9AAp\/Z5mZf5D8F6snoiKBpC4z0tNUjFRTxTAf\/ACMDveuyIcaT1Ky6WaKss8tBStjpw\/BAY3hbkcsgeA9FEsulKS1vE8rjUVA5Odyb2YHor5FLHK1ip0KbmptZoIiKJcEREAREQHiWQRRPkPJjS4+SzuhYy2xySHcyTudnyA+BV7cHcFtqnYzwwvOPIqo0U3h05Ec\/akefxx8FYuwzNPPpEfB\/ov0RFWaQiIgCIiAIiIAiIgCIiAIiIAvjmhzS1wBBGCD1r6uVTURUlLLUzO4Y4mlzj3BDjaSuz8\/1JQx0V1mpLS6XEsfHUwR54W49rl2Y37ls7DW0NZaYfoPsxxNDDGftMIHI\/PrVXpCF9U+svc8YbJVyEM7mg747s7fwrndLTVWWtN4sjct51FMORHWQOzu6upXyafC9TzKSlT+tFZPbku71Zc320svFskpjgSD2onfuuH5x5qHpW6yV1C6lqtqukPRyNdsSBsCfcfBT7VdqW70gqKZ+\/wB9hPtMPYVSahpJ7TcGahoGA8Ps1MYGOJvb8\/IqCz4GaKjUWq8M1v4c\/I0s0MVRC+GZgfG8Yc1w2IWV\/WdHVn357RM7xMJP58\/FaairYLhSR1VO7ijkGR2juPeuk0MVRC+GZgfG8Yc1w2IXE8OTLalNVEpReez+bCGaKohZNC8PjeMtc07ELosi6numk6h0lGx1Za3uBdFnLo9+rv7+Xaru36htlyj4oalrHAZdHKQ1w+fllHDdaHKddN4Z5S+aELWs\/Q6dewOx00jWePX8FcW+E01upoDnMcTWnPPIG6zd6qYb7frfa6V4miif0s0kZ4gMdWeXL3jwWsXZZRSI0njrTmtMl7hERVmoIiIAiIgCIiAIiIAiIgIF8cG2KvJ\/4eQerSFE0i3h0xSZGCeM\/wCMqTf\/AOoK7+4d7lx0r\/6aov8AlP8AmKs+zzMz\/wAlf8f2W6IirNIREQBERAEREAREQBERAERVtwvMVBcKOiMT5JKp2AG49kcs7\/nYrqTehGUlFXZZLM6vq3yils1OT09Y8cXCeTM438T7itHLKyGJ8sjg1jGlznHqA5lZjTbJLxd6q\/1DcNBMVO0jkP8AQbZ7ypwy4nsZ+kNytSWsvTc0tNTxUlLFTQt4Y4mhrR3BdURVmlKysjNXKz1VsrXXeyDDiMzU33X9p5+PnyVta6xt4tEVTJFwidhD2Hl2HyU9FJyusyqNJQk3F5PYyNA9+lr862zOP0CrPFA5x2YfzsfIrXKuvlojvNudTuw2Qe1E\/wDdd8u1QtMXaWrhkt1cCyupPZeHc3NG2fgfLtUpcSxFVP6M+rej09vYvlU1umLTXydJLShr+sxnhztjqVsigm1oaJwjNWkrkO3WqjtUPRUkXADzJOSfEqYiI3fUlGKirJBERcOhERAEREAREQBERAEREBWakJGna3Gf2R5Jp2N0Wn6Jrm8J6IHGO3dWaKV+GxX1f1MfdYIiKJYEREAREQBERAEREAREQBZa1O\/TGr6u5cLuho29DET27j\/7Hz9bi\/Vxt1lqahruF4ZwsOfvHYe\/Pkoen4IrJphs9RlmWGeUkb7jYemFZHKLfkZarxVYx2Wb\/RG1fWySRwWWkOaiseA4A8m52z2ZP4Aq+oKKO3UMNJD9iJvDntPWfM5Kz+lIJq+pqb9V5L53FkIJzwtzvju6vI9q1CTy4RQWNus99PD+9QiIqzUEREAWc1LbKhkrL3bctrKce2Gj7bPDr2\/BaNFKMsLuV1KaqRwsgWe7QXigZUxEB2MSMzux3Yp6yVygm0xdv0vRtLqKodipiGPZJPV8O\/xWnpKuCupmVNNIJInjIIXZR3WhXRqN3hPtL8952REUDQEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREBmNbSAwUNK9\/DHNOOMk4GBjmezdR6uql1XV\/ou3ExW2EgzTBuA7HIAe4d2epaC6WajvDI21bHHoyeEtOCM8\/cFJpaSnooGwU0TYo28mtCtU0ormYpUJzqSu+F28fA+01PFSU0dPC3hjjaGtHcF1RFUbErZIIiIdCIiAIiIDxLFHNE6KVgex4w5rhkELJOFVo2uL2B89onfu3mYj8\/f4rYLnNDFUQvhmYHxvGHNcNiFKMrZPQpq0sdmnaS0Yp6iKqgZPBIJI3jLXN5FdFjy2q0bWl7OOe0TO3GcmI\/P3rVU1VBWU7Z6aVssT+Tmrso2zWhylVx8MspLVfNjsiIoF4REQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB4lhjnidFMxskbxhzXDIIWVkt1bpWt+l2xslVQSkCWn5ub4fA+vaiKcHnYz16acce60ZrGniaDgjIzgr6iKBoCIiAIiIAiIgCIiAIiIAiIgP\/Z",
    "razonSocial": "GONZALO MARTIN HURTADO PERALTA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ROXANA",
    "correoContacto": "roxanahurtado@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "ATASCA PAPEL",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:27",
    "ubicacionGPS": "LatLng(lat: -23.6494194, lng: -70.3990317)",
    "horaLlegada": "09:14",
    "horaDespacho": "10:50",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 12:27:09
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-3CcatJAzzH3xoa6_DDNQ67Vi7hoDO4nkox35lt9J_iDa.U++A.v
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "10487973",
    "serieinterna": "TO2959",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "270721",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se corrige deformación en la guía de papel del ADF",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12508",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADYAT0DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABIEAABAwMCAgcEBgYHBwUAAAABAAIDBAURBiESMRNBUWFxgZEiscHRFCMyQqHwFSQzUoLxNDVic6Ky4QcWVHJ0ksI2Q1PS4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgQCCQQCAgMAAAAAAAABAgMREiExQSJRBBMyYXGBsdHwI0KhwTPhNFJykfH\/2gAMAwEAAhEDEQA\/AP2ZERAERUF\/vk8FRHarW3pK+fb+7GOfj19y7GLk7IrqVI044mSrvqKhtH1cjjLUHlDHu7z7FVsn1Zdm9JCyC3RHlxj2iPME\/gFNsWm4rY0VNURUVz93Su9rhP8AZz71eKd4x0zKFCpVzm7Lkv2zMii1dTP42XCmqWkDLHDG+PD4ry3Vdbb5Gx3y1vp2u2EsW7c\/nsK1C8SxRzRujljbIxww5rhkHyTGnqjroSj2JteOaOVHXUtwhE1JOyVh62nceI5jzUhZW5WOqs8puenyWcLfrabdwcOew+HoreyXunvVJ0sXsSt2kiJ3afiO9cccrrQlTrPFgqK0vw\/As0RFA0BERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQFXqC7ss1sfPzmflkQ\/tY5+AUbTlldRRGvreJ9wqBmRzzktB6lX0WNS6okq3gPoaD2YgRkPd1e4n0WtVkuFYTJT+tPrHotPcIiKs1hERAFl73Z5rdWC+WduJWHM8I5PHWce8ea1CKUZOLKqtJVI2f\/hCtV0p7vRNqac7cnNPNh7CpqyNxppdLXU3ajbxUM7sVEI+7ns8+XotVTzxVVPHPC4PjkaHNI6wuyjbNaEaNRyvCfaXy50REUC8IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqTVdwdQ2V7Ij9fUnomAc9+ePJXaytQDedcxwnLqe3M4iMbcXP3lv\/apwWd3sZ+kSahhjq8i5sdsbarTDTcIEmOKXHW8jf5eSsURRbu7l0YqMVFaIIiLhIIiIAiIgOc8EdTBJBK3ijkaWuHaCszp+Z9lu0+n6lxcwnpKZ56wd8fnrBWqVFqq2yVVC2tpMtq6M9IxzeZA5j4+Xepwf2vczV4tWqR1X5W6L1FAstzZdrXFVNI4yOGRo+64cx8fNT1FqzsXxkpRUlowiIuEgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDnUTNpqaWd\/2YmF7vADKzui6dzqWqucoBlrJieLGNgT8SfRd9Z1f0XT8jAcOneIx4cz+A\/FWlrpPoFrpqXrijAd49f45VmkPEyvj6Ql\/qvyyWiIqzUEREAREQBERAEREBkoCdOatdTE8NFcd2djXfz28CFrVUaltP6VtTxG3NRD9ZCRzyOY8x+OF607dRdrUyVx+vj9iYHmHDr8+aslxLEZaX06jp7PNftFqiIqzUEREAREQBERAEREAREQBERAEREAREQBUt\/wBRx2N0DDCZXynJAOOFo6+9XS\/M7zOy6VtbXnLg6ZsFOG75x148B\/i9LacVJ5mPplaVKHDqz9JhkE0LJQMB7Q7HZle1ypmOipYo3faYwNPiAuqqNa0zCIiHQiIgMvqP9d1FaLaDtxmV4HMjPya5ahZf9r\/tEO2ehpvTb\/8AS1CsnokZqGcpy7\/QIiKs0hERAEREAREQBERAFkpydN6sbMPZobkfb7Gu7fInPgStaq+92xl3tctK4DjxxRk\/deOR+HmpwdnnoUV4OUbx1Wa+d5YIqLSl1kr7e6mqSfpVIejeDzI6ie\/YjyV6oyVnYspzVSCktwiIuEwiIgCIiAIiIAiIgCIiAIijXGqdQ26oqmRdKYWF\/BnGcIszjaSuySi\/O7lqatrzHWUc8lI5o6OSFr9u52evn5bK5gm1eYGSROo6yN44my7DIPI\/d9ytdJpZsxx6ZCTaim\/Au77WfQLJVVGcOEZa3\/mOw\/ErI6Mtc1XWMrJW4pqUkxnGOJ59+PkvF7pLzLWUFNdK0SvqnhohiOAzcDJGMdfPxW9hhip4WQwsDI2DDWtGwCk3ghZblai+kV8UlZR279ToiIqD0QiIgCIiAzFs9vX10eeYhDf8nyWnWYsmP98Lxjuz6rTqdTUzdG7Dfe\/UIiKBpCIiAIiIAiLzxN4+DiHFjOM74QHpERAEREBlL4x9hvsN8ga4wTHo6pg5ePx8R3rUse2SNsjHBzXAFpHWFyraSKvo5aWduY5W8J7uw+R3VBpSqmpJJ7FWnE9McxZP2md3v8+5WdqN90ZV9KrbaXr\/AGaZERVmoIiIAiIgCIiAIiIAiIgPmRnGd18exskbo3tDmuBDgesLN6zpqoU0FypZXMdSOy8B2NjyPr71P07fI7zQgucBUxjErOW\/aO4qeHhxIoVZda6Ulbl3mTnsVLTX19qq5JIYJzxUk2chpPUe3ljyC3dDSNoKKKlZI+RsQwHSHJKrNWW4V9lkkaPrqb61hHPbmPT3BSrVdI62yx1z3DLY8y4IOCBv81KUnKKZRRpwo1ZRt3rw5eRUZ\/SevTguMVvh35gF383d32VqFmdFxGaCtukjQJKudxz3c\/eT6LTLlTW3It6NnDG\/udwiLPXu\/wArKgWm0s6avk2Lhyi\/19yhGLk7ItqVI043kSb3qKntIELWmeseB0cLe08s\/ndVzLRfry0SXO4uo4nD+jwjBI6wcfHKnWLTzLdmqq3CprpTxPldvwnsGfertTxKOUShU51c6uS5e5kK+xVGn6UXC2V9S4QYdJC4gh4yMn+YK09vqxXW+CraOETMDsdnculRC2pppYH\/AGZWFjvAjCz+iJnutEtNJzppnNA7Ad\/flG8UbvYRiqVVRjo1+UeLQRHre7RYOXMD9\/4fmtOsvUuFDr+nkcMNrIODJ7dx\/wCI9VqEns+4l0bJSjyb9wiIqzSEREAREQBZnUNFVW6tGoLe5znRjFRE52Q5ny\/mtMvhAIwRkFSjKzKqtNVI2I1tuEN0oY6uA+y8btzu09YKlLI1tLUaTrjcbewyW+U\/rEA+53j4ei01FW09wpWVNNIHxvGx7O4967KNs1oRpVXLgnlJfLokIiKBeFmdW00tLJTX2j2mpXBsne09vqR5rTLxNFHPC+GVgfG8FrmnkQpRlhdyqrT6yDj8uc6OrjrqOKqhOWStDh3dy7rL6clfaLpUafqScAmSmcfvN\/lv5FahJKzOUanWQu9d\/EIiKJcEREAREQBFWX66m0W4zsa18rjwRtcebsHq6+SrHVmrabM0lBTzsPOON27fDByfxU1BtXKJ14wlhs34I0yKjtuq6CueIJw6iqOuObYZ7j88K8UWmtSyFSFRXi7niaKOeF8MrA+N4LXNPIhfnE1DX6e1E5lE48bQXw5\/91n7uOvr27tupfpSotWWw1ts+lwktqaP62Nw54G5H4Z8lZTlZ2e5l6ZRxwxLVEizX2kvVKCwhk2MSQuO4Pd2hZSmqzQ6QusDXEZqTCzs3xkegKuqa12vU1viuHC6Cd4IlMB4cuAA3HiAR5KBXWqliu9psVIMsa\/ppycEu5bnyafXlyU44U2vmRnq9bKKk7aWT53y0NPZaP6BZqWmIw5kY4h\/aO5\/ElTkVBqS9yUgZbreOkuFR7LQ37gPX49nqqUnJnoSlGjTz0R4vt9mFQLTaR0tdLs5zeUX+vuUyxWKGzU5JPS1Uu8sx5nuHd718sFiis9NxO+sq5RmaU7nPYO73q3XZSSWGJXTpylLrKmuy5f2ERFA0hZjSns3m\/MH2W1Ow\/if8lp1mNLf15qD\/qf\/ACepx7LM1X+Wn5+g1kTSuttxbt9HqADg4znDsf4Vp1ynpoaqPo6iJkrMh3C8ZGRyXQAAYAwAuN3SRZGm4zlLnY+oiKJaEREAREQBERAeXNa9hY9oc1wwQRkELKVVFU6TqnV9va6W3yO+vgz9gdo+fqtavhAIwRkFSjKxVVpKeejWjItuudJdaYT0koe37w5OaewjqUtZi42Grt1Wblp4iJ5H1tN9147hy8vRWFm1DS3ZvQk9FWNB6SA9RHPB611xyvHQhCs74KmT\/D8PYt0RFA0Gd1dRSCCG70u1TQuDs9rc\/D3ZVvbK+O5W6Grj5SNyR+6eseqkua17Cx7Q5rhggjIIWWtDzp7UE1lld+q1J6Smce09X4Y8R3qxcUbcjLL6VXFtLJ+Oxq0RFWagiIgCIiAzGuf6DRf9SPcVp1m9dM4rEx45xztII6tiPitBDIJoI5QQQ9ocCO8Kx9hGan\/PPy\/ZDutkobxGG1cRLmjDJGnDm\/nvVBi6aQfkukr7YcA7bxb+O3uPctevjmhzS1wBBGCD1rim1k9CVShGTxRylz9+Zwoa+muNM2opZRIxw6uY7iOoruQCMEZBWYrLDWWep\/SGnuZ\/a0rj7Lh3b\/h6LrS6ypMmK5QS0U7eYcxxB7xtnq6wuuF84kI18PDVyf4fmcNOE2u\/3CyH9mXGaLuG3wI\/7V90+Tc9TXK6HeOM9DFv5beQ\/HrUCquYq7zV3mi4+gpaQsEjhwhzjkDv5n8FItlyp9N6WhLsSVdTmRkI5knkT3YAVjTt3sxwnFSSb4Ytvy2\/Zbajvv6Ip2RQN6Ssn2iYBnHeR7u1fLBYjbw6trXdNcJ95Hk54c9QXGxWSb6QbxdTx10u7WkbRDHZ249FoVW2ksKNlOEqkusn5Ll3+PoERFWagiIgCzGlPavN+ePsuqdj\/E\/5rTrMaNw990mG\/SVJz2dZ29VOPZZmq\/zU\/P0NOiIoGkIiIAiIgCIiAIiIAiIgCprzpqlup+kRk01Y3ds0e2T1cXb481couptO6IThGosMkZi36hqrfUC3ahYIXgfV1H3XjvPx9cLTNcHNDmkEEZBHWo9db6W5U5gq4WyNIOCRu3vB6isy5t10jJmLjr7XzId9qIfD3eCnZT01M+KdDtZx57rx9zXqh1bb2VNr+liRsVRSHpI3k48Rn87hWNNdqGqoDXRVLOgaMvcTjg7iOorOUlJNq+rfXVkkjLbG\/ENODjJHbj3890gmnd7CvOM44I5uXy5YW3V1tnoYXVlU2GoLQJGlp58s7Dkeat6S4UdcCaWpjlxzDXbjyWRqbZQWPUkbammjkt1aOFvSNz0Tu4+OPI9yuKzR1umzJSGSimxs6Jxx6fLClKMP+yulU6RZppNrJ8\/jL9FlG3a7adnEV6aaukccNqYx9nfr+XplaeGaKohZNC8PjeMtc07EKuUWjVTqxqZaNbHRERRLSi1jtpucg4Icw5\/iCs7Z\/VVJ\/cM\/yhQdWNDtM1gPY0+jgpNicXWGgJ\/4dg9AAp\/Z5mZf5D8F6snoiKBpC4z0tNUjFRTxTAf\/ACMDveuyIcaT1Ky6WaKss8tBStjpw\/BAY3hbkcsgeA9FEsulKS1vE8rjUVA5Odyb2YHor5FLHK1ip0KbmptZoIiKJcEREAREQHiWQRRPkPJjS4+SzuhYy2xySHcyTudnyA+BV7cHcFtqnYzwwvOPIqo0U3h05Ec\/akefxx8FYuwzNPPpEfB\/ov0RFWaQiIgCIiAIiIAiIgCIiAIiIAvjmhzS1wBBGCD1r6uVTURUlLLUzO4Y4mlzj3BDjaSuz8\/1JQx0V1mpLS6XEsfHUwR54W49rl2Y37ls7DW0NZaYfoPsxxNDDGftMIHI\/PrVXpCF9U+svc8YbJVyEM7mg747s7fwrndLTVWWtN4sjct51FMORHWQOzu6upXyafC9TzKSlT+tFZPbku71Zc320svFskpjgSD2onfuuH5x5qHpW6yV1C6lqtqukPRyNdsSBsCfcfBT7VdqW70gqKZ+\/wB9hPtMPYVSahpJ7TcGahoGA8Ps1MYGOJvb8\/IqCz4GaKjUWq8M1v4c\/I0s0MVRC+GZgfG8Yc1w2IWV\/WdHVn357RM7xMJP58\/FaairYLhSR1VO7ijkGR2juPeuk0MVRC+GZgfG8Yc1w2IXE8OTLalNVEpReez+bCGaKohZNC8PjeMtc07ELosi6numk6h0lGx1Za3uBdFnLo9+rv7+Xaru36htlyj4oalrHAZdHKQ1w+fllHDdaHKddN4Z5S+aELWs\/Q6dewOx00jWePX8FcW+E01upoDnMcTWnPPIG6zd6qYb7frfa6V4miif0s0kZ4gMdWeXL3jwWsXZZRSI0njrTmtMl7hERVmoIiIAiIgCIiAIiIAiIgIF8cG2KvJ\/4eQerSFE0i3h0xSZGCeM\/wCMqTf\/AOoK7+4d7lx0r\/6aov8AlP8AmKs+zzMz\/wAlf8f2W6IirNIREQBERAEREAREQBERAERVtwvMVBcKOiMT5JKp2AG49kcs7\/nYrqTehGUlFXZZLM6vq3yils1OT09Y8cXCeTM438T7itHLKyGJ8sjg1jGlznHqA5lZjTbJLxd6q\/1DcNBMVO0jkP8AQbZ7ypwy4nsZ+kNytSWsvTc0tNTxUlLFTQt4Y4mhrR3BdURVmlKysjNXKz1VsrXXeyDDiMzU33X9p5+PnyVta6xt4tEVTJFwidhD2Hl2HyU9FJyusyqNJQk3F5PYyNA9+lr862zOP0CrPFA5x2YfzsfIrXKuvlojvNudTuw2Qe1E\/wDdd8u1QtMXaWrhkt1cCyupPZeHc3NG2fgfLtUpcSxFVP6M+rej09vYvlU1umLTXydJLShr+sxnhztjqVsigm1oaJwjNWkrkO3WqjtUPRUkXADzJOSfEqYiI3fUlGKirJBERcOhERAEREAREQBERAEREBWakJGna3Gf2R5Jp2N0Wn6Jrm8J6IHGO3dWaKV+GxX1f1MfdYIiKJYEREAREQBERAEREAREQBZa1O\/TGr6u5cLuho29DET27j\/7Hz9bi\/Vxt1lqahruF4ZwsOfvHYe\/Pkoen4IrJphs9RlmWGeUkb7jYemFZHKLfkZarxVYx2Wb\/RG1fWySRwWWkOaiseA4A8m52z2ZP4Aq+oKKO3UMNJD9iJvDntPWfM5Kz+lIJq+pqb9V5L53FkIJzwtzvju6vI9q1CTy4RQWNus99PD+9QiIqzUEREAWc1LbKhkrL3bctrKce2Gj7bPDr2\/BaNFKMsLuV1KaqRwsgWe7QXigZUxEB2MSMzux3Yp6yVygm0xdv0vRtLqKodipiGPZJPV8O\/xWnpKuCupmVNNIJInjIIXZR3WhXRqN3hPtL8952REUDQEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREBmNbSAwUNK9\/DHNOOMk4GBjmezdR6uql1XV\/ou3ExW2EgzTBuA7HIAe4d2epaC6WajvDI21bHHoyeEtOCM8\/cFJpaSnooGwU0TYo28mtCtU0ormYpUJzqSu+F28fA+01PFSU0dPC3hjjaGtHcF1RFUbErZIIiIdCIiAIiIDxLFHNE6KVgex4w5rhkELJOFVo2uL2B89onfu3mYj8\/f4rYLnNDFUQvhmYHxvGHNcNiFKMrZPQpq0sdmnaS0Yp6iKqgZPBIJI3jLXN5FdFjy2q0bWl7OOe0TO3GcmI\/P3rVU1VBWU7Z6aVssT+Tmrso2zWhylVx8MspLVfNjsiIoF4REQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB4lhjnidFMxskbxhzXDIIWVkt1bpWt+l2xslVQSkCWn5ub4fA+vaiKcHnYz16acce60ZrGniaDgjIzgr6iKBoCIiAIiIAiIgCIiAIiIAiIgP\/Z",
    "razonSocial": "GONZALO MARTIN HURTADO PERALTA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ROXANA",
    "correoContacto": "roxanahurtado@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "ATASCA PAPEL",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:27",
    "ubicacionGPS": "LatLng(lat: -23.6494194, lng: -70.3990317)",
    "horaLlegada": "09:14",
    "horaDespacho": "10:50",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 12:27:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:10487973

[08/05/2026 12:27:09] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('10487973', 'TO2959', 1, 24456550, 270721, NOW(), 
				'10:50', '09:14', '12:27', 4, '•Se corrige deformación en la guía de papel del ADF', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778257629.png', '', null, 'COMPLETADO','LatLng(lat: -23.6494194, lng: -70.3990317)' )
				
[08/05/2026 12:27:09] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200240

08/05/2026 12:27:09 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200240'                    
				WHERE idllamado = 12508			
				TO ENVIO: micorreo@miempresa.cl, roxanahurtado@gmail.com


08/05/2026 12:27:09 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12508			
				
08/05/2026 12:27:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 12:27:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:27:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:27:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12:27:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12508
            GROUP BY l.idllamado;
            
08/05/2026 12:27:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                [08/05/2026 12: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;
                
[08/05/2026 12: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;
                

08/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12508
            GROUP BY l.idllamado;
            
08/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12508
            GROUP BY l.idllamado;
            
08/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12508
            GROUP BY l.idllamado;
            [08/05/2026 12: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;
                

08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12508
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12: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 = 12508
                
08/05/2026 12:27:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
08/05/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 = 12428
                [08/05/2026 12:27:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 12:27:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 12:27:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
08/05/2026 12:27:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
08/05/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 = 12428
                
08/05/2026 12:27:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
08/05/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 = 12428
                
08/05/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 = 12428
                
08/05/2026 12:27:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            [08/05/2026 12:27:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/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 = 12428
                
08/05/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 = 12428
                
08/05/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 = 12428
                
08/05/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 = 12428
                
08/05/2026 12:28:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12:28:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 12:28:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12500
LIMIT 1;
        
08/05/2026 12:28:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12: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 = 12500
                
08/05/2026 12: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 = 12500
                
08/05/2026 12:28:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 12: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12500
LIMIT 1;
        
08/05/2026 12: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 = 12500
                
08/05/2026 12: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 = 12500
                
08/05/2026 12:28:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 12:28:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12500
LIMIT 1;
        
08/05/2026 12: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 = 12500
                
08/05/2026 12: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 = 12500
                
08/05/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12:28:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12:28:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 12:28:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12500
LIMIT 1;
        
08/05/2026 12:28:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12:28:40 - logentry: =========================================
FECHA: 08/05/2026 12:28:40
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-k2TGiVyQnYjFkyJ_vzBLMeaQotrez8Egpfj-W0NsR9+KHUmlHQ1
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2767",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Munic. Taltal",
    "ciudadmaquina": "Taltal",
    "departamentomaquina": "Rec. Humanos",
    "rutTecnico": "21773342",
    "contador": "47488",
    "contadorColor": "18438",
    "contadorScanner": "0",
    "detalle": "Instalacion\nconfiguracion 4 pc",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12500",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACHALcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABFEAABAwMBBAYHBAcFCQAAAAABAAIDBAURBhIhMVETQWFxgZEUIjJCobHBFSPR8AckMzZSssIWQ5Lh8SU1VGJydIKj0v\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwEEBf\/EADARAAIBAwIDBgUEAwAAAAAAAAABAgMRIRIxBEFRIjJhcZGxE0Kh0fAUweHxM1KB\/9oADAMBAAIRAxEAPwD9mREQARU901Nb7Y90O0Z6kbhDFvOeRPUoAuurKhokp7NCxh6pThw38i4HhjqTqDeSEuIgnpWX4ZNOiy7tTXahAdc7HI2PftSRHIHzHxV5bLrS3elFRSvJGcOa7c5p5ELHBrJsK8JvSnnpsTEREpYIiIAIiIAIiIALN6m1DU2WupI4mRuieNqTaByRnGNxWkWF\/SASK+jIOCIz81Skk5WZycZOUKLlF5wblpDmhw3gjIXqjW54kttK8cHQsPwCkqZ1J3VwiIg0IiIAIiIALPX29zCpbZ7SOkrpdznDhEPxx5K1u1wZa7ZNWPwSxvqtPvOPAeaqtJ2x8NK65VZMlZWesXuzkMPAb\/Py5J4pJamc1WUpSVKLtffwX8kuy2CmtMYkP31W4feTu3k9g5BWyIlbbd2WhCMFpisBZa9WSot1SbzZCY5WHamgHsvHXgfMeS1KLYycWLVpRqRs\/wCiHarlFdbfHVw8HbnN\/hcOIUxZOmB0\/q91LnZorjvjHU1\/Lz3eIWsRJWeBaFRzjaW6wwiIlLhERABERABY79IMBMFHUAey5zSc88Y+RWxVBrWAS6cleeML2PHns\/1KlN2mjm4uOqhJfmCysv8AuOg\/7aP+UKaoFikbJYaBzTkCnY3xAAPxCnpJbstT7i8giIsHCIiACIiAMtq39duNrtPuzS7b+7h8tpahrQ1oa0AADAA6lmYAKz9INQ85Io6fDTnrIHl7RWnVJ4SRzUMynPxt6BERTOkIodzudNaaJ1VUuIaDhoA3ud1AeSqKHVMr62CnuNA6jbUjMT3E4PDA4c\/omUW1dEp1qcJaW8jW0bxaoauLdJTTteHDcR49+FfwTNqKeOZvsyMDh3EZVZqpnSaarRjOGg+TgVVU+qIrZTWiklZmOSmYZJf4B7PDs2U6TlFWISqRpV25PDS97GsREUjsMfX3u7S11xloZY2U1sIDmlu9xyWkdvWfAeOmttX6fboKrABlYHEDgCsdR4Nl1JO4naklIJJ47z+K1GmwRp2hyMfdBWmkkefw05Snl7pv6\/Ys1SXfUjbbWto4aOWrm2duRsefVbz4HKu1mLOBLrW7yvGXsaGtPIbh9Akills6K8pLTGLs2y6td1pbvSCopnbuDmH2mHkVC1f+69Z\/4fztUGkiZa9dTU8TSI62DbDRuAPHOO8HzUnWrtnTkox7T2D45+iZJKasSlUcuHnq3V0eaKqRPp9kfXBI5m857fqtAsjpAOttzrbTKSSWMmZnlgZ8cOHkVrktRdplOEk3RSe6x6BERIdIRFmLrqGpq6s2qxM6Wc7pJx7MfPB+vkmjFy2JVKsaauy9bc6J9eaBlQx1SAXGMb8Y7eHgih2OwU9niL89LVSD72Z3E8wOzKLJWvg2m5uN5qzK6x\/vhefD5rTrMWP98Lz4fNadNPclwvcfm\/cIirr9WOoLJVVDHbL2sww54OO4H4pUruxeUlGLk+RRyMdqbVBie0uttBuI917\/APX4DtVpqi1i52iTYbmogHSREccjiPEfHCaUohRafp93rzDpXHA353j4YVynlK0scjmpUlOk9e8t\/wA8DNz3AXPQ01TtAvMOzJjqcOP57VlKCjdeKeslLd1FSN2OWQQd\/gHK3vMctgFypxC91DcBmNwG6N\/L5+ACudG29lHY2TZzJVHpHHkOAH55qt1CLaOJwdesoS5LP59Sdp+r9NsVJOXFzujDXE8S4bj8lYrLWuQaevs9pndsUlU7pKVxO4E+79PDtWpUZqzPRoT1Qs91hn57WP8As6jv1tky175mPjJO97doE\/DHmttaIzFZqKMjBbTsB79kLOa3o6eSSi6OICrqZQzbA3uA3eO9w\/PDWtaGMDW8GjA35Tzd4o5+Hg41ZLpj1bZ9LMUp+z9d1ML2ENrow5jieJAyfiCFp1ntVUE8nodyoYHS1VLM07LBkluc\/PHmUkN7dS3EJ6VNfK7\/AHON4+71taJRxcws\/m\/FNbu6SmoaLODPUDhxwBj+peXkk6tspc3ZJByOS8vOazWdqpBvEA6Y7+G\/P9IVFun4HLU7tSK5yS9bHuof9m6htV0aMNJ6GTkG\/wCjj5LUKm1ZQ+nWCcD24fvW7s8OPwypNjr\/ALSs1NUkkvczDyR7w3H4hI8xTOmn2K0o9c\/sywXy97I2F8jgxrRkuccALlV1lPQUz6iplEcbBvJ+Q5lZfNZrKp3bdNaInb9+HSkfnuHaljG+XsPVrKD0rMnyPqsuVfqapdQWYmKjbumqiCNodYH4cT3K\/tVppbRSCnpmb\/feR6zzzK70lHT0FMynpohHGwbgPmeZXdbKV8LYynRs9c3eXt5BERIdBmLZ+r66ucJ\/vYg8H\/CfqVp1l7ifRNeW+cjDKiLoyeZ3j6tWoTz5M5uHxqj0b+uQs3rqUx2BrRwkna0+RP0WkWY16CbHDgcKluf8LkU++g4v\/BLyNHBEIaeOIcGMDfILoiJDpSsUWsZzBpycDcZXNZnPbk\/AKytcPo9ppITxZCwHvwMqj1YXVdwtNsbwln239gBAz5Fy06d4ikc0O1Xk+ll+5DuVrpLtTGCqZke65u5ze4r4tNultlO+KWumq8uy0ye43GAAp6Jbu1i3w46tdsmVeW3jXLBG7MVtZ62Bxdv6+8geHitUoVutNJa+mNM0h07tqRzjkk\/knzU1bJ32EowcU3Ldu4RFynqqembtVE8cQ5yPDfmlKtpbmdq\/1vX9HGM7NLAXOxzwfxarOGzdHqGe7vn6QyR7DI9nHR7gOOd\/Ds4lUthrqOS9XG61VZTxOld0cYfM0EtGOrPDcN\/X2LSMulvl\/Z19M\/8A6Zmn6qsrrC6HFR0TTlLm7r2RJIBGCMgrGWi5Q6YrLnb6x7xDE7pIRjJd2DtILfIq8vWoqa1NETB6RVyAdHCzfnPDP53rL3CjuFLU0d8vTWyh8wEkGzno28QOXPctpxxnmJxVW0k4bx36JPqWVLRVmq6plfc2mG3xnMNPw2xzP49fUtXFFHDE2KJgYxgw1rRgAL1ha5jXMwWkAtxyX0pylc66VJQV9292EREpYIiIAzOto3so6S4RZ6SknBBA4Z6\/MBaOGVk8LJozlkjQ5p7DvUa70Yr7TVUpGTJGdkf8w3j4gKv0hXem6fia45fTkxO7hw+BHkqbw8jmXY4hr\/ZexeKm1Tb6i5WfoKWHpZRI1wbtBvDjxIVyiROzuWqQU4uL5nOnD200TZNzwwB3fjeuiKHdrgy12yasfgljfVafeceA80bs1tQjd7Io6Qfaeu6moxmKgj6ME78O4fMu8lqFQaPoXU1pNXM3E1Y7pHE9Y6vx8VfppvNuhHhk9Gp7vPqERU141LR2t3o7AamrO5sEe8gnhnl3cexKk27IrOcYLVJ2LWaeGmiMs8rIo28XPOAFn6jVzZ5vRrNRyV0x97BawdvP5d64Q2K432ZtXfpTHD7TKRhxs9\/L59y0lJR01DCIaWBkLB1NGM9\/NPaMd8sgnWq7dlfX+DO\/ZWpbqQ6vuLaGPH7KDj44P1K7RaHtTDtTPqJ3de3Jj5BaNcqiohpIHT1EjY42DJc4o1y5G\/pqSzPPmVX9kLD\/AMB\/7n\/\/AEszc6G01NZ9nWGhdPUEgOmEriyPn17+\/grKWtuOrJ3U1AH0lta7ElQRgv7P8vNaG12qktFKIKWPH8bz7TzzJT6nDd5OZ0oV8QilHrbfy+5m6fRFVRCOppbkG1bBnBYdgnlkbwPDyXK53K5x2ye3X6jOHt9SqiAI2hggkcOJHLuW2XxLFHNG6OWNsjHDDmuGQfBL8Rt9os+EiotU3b2KbSFea6wRB7i6SAmJxPZw+BHkrxfn9xdUaS1GZKM4pZ\/XERPqlp4jwPA9y3FDWw3CjjqoHbTJBnuPWD3LKkfmWzDhat18KXej+XJCIimdgREQAWT0891r1NcLRI7LZT0sZ4Dnw7QfgtYsxqm2zQzxX6i\/b0uDI3O4tHX9D2KkOcXzOXiE1pqL5X9OZp0VTTamtFRStnNbFFkb2SOAc08sKFPq6OeQ01npJa6fOAdnDB288eSzRLoO+IpJX1F7VVdPRQOnqZWxRt4ucVl9qo1hcA0B8Vnhdk9RlI6vzwHau9PpmsuVQKvUFUZiN7aaM4a3sP8Al5rSRRRwRNihY2ONgw1rRgALbqO25PTOt3laPTm\/M+mtDWhrQAAMADqXzLLHDE6WV4Yxgy5zjgALlW1tPb6V9TUyBkbBvPPsHasuxtfrGoDpg+ktMbtzRudKfz4BZGN8vYpVraHpiryfI61N3uGoqh9DZAYqZpxLVuyM93L5nsVtZ9PUVnbtRt6WoPtTvHrHu5KfSUlPQ07aelibFE3g1v53rshy5LYynRzrqZl7eQReOcGtLnEAAZJPUs1X6olqaj0CwxekzncZsZY388zu71kYuWw9SrGmu0Wt3vlHZYQ+ocTI4epE32nfgO1UlNarhqSeOtvf3VIPWipmHGe\/l8+5TbRpltNP6fcpfTK128l+9rD2Z4q\/TXUe6RVOdZ3q4XT7\/Y5wwx08LIYWBkbBhrWjcAuiIpnXsEREAZ\/WFr9OtfpMbA6akO2Bj2m+8Pr4Ko03cPsuvipsk0Fx9aDfno38CPPd5FbYgEYIyCvzm\/0klmdNQOaTSyydPSPHuHgR5Hf3NKvTepaWeZxcXSmq8fz+9vQ\/R0UegndVW6mqHe1LEx57yAVIUD0k7q6CIiDQvCARgjIK9RAFVLpqzTTOlkoWF7uPrOA8s4CsIKaCmaW08EcTSckRtDQT4Lqi1tvcSNOEXdKwXGrq4KGmfU1MgjiYMkldXODWlziAAMknqWQbHLrK6dK\/bjtNMcNbwMrvz5DvWxjfL2J1qjhZRV5PY+qOnqNWXH06taY7bA77mA\/3nf8AXyWsa1rGBjGhrWjAAGAAvIoo4YmxRMDGMGGtaMABcK+50dti6SsqGRDqBO93cOJWtuTsgpwVKLlJ55slKBdbzRWeHpKqT1iMsjbvc7uH1VG6\/wB2vkhgsdIYYs4NVMOH0HxKnWzS1NSzel10hrqwnaMsmSAewHlzPwW6VHvCfGlUxSX\/AF7fyVop7xqxwfUl1Bbc5bGPaePr3nd2LS0FupLZTiCkhEbes9bjzJ61KRLKTeOQ9OioPU8vqEREpcIiIAIiIALhVUdNWxiOpgZK0HIDhnB5jku6IMaTVmeNaGtDWgAAYAHUvURBoREQAREQAREQBHr6Z1bQT0rJTCZWFu2BnGexZmiptV2qjZT01NRPjZwbkZPfvCImUrKxGpRU5KV2n4Hc02r652JamnoYyd4j3kDs4\/PqXeg0fQQO6auc+uqDvL5ScZ7uvxyiLdb5YFXDQveWfPJfMYyNgZG0Ma0YDWjAC+kRIdAREQAREQAREQAREQAREQAREQAREQB\/\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "BAIRON PACHECO RUBIO",
    "correoContacto": "bairon18rubio@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56941675217",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28611\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28611\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28611\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R640\",\"id_control\":\"28611\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28611\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R838\",\"id_control\":\"28622\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:28",
    "ubicacionGPS": "LatLng(lat: -25.4075158, lng: -70.486527)",
    "horaLlegada": "07:49",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 12:28:40
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-k2TGiVyQnYjFkyJ_vzBLMeaQotrez8Egpfj-W0NsR9+KHUmlHQ1
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2767",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Munic. Taltal",
    "ciudadmaquina": "Taltal",
    "departamentomaquina": "Rec. Humanos",
    "rutTecnico": "21773342",
    "contador": "47488",
    "contadorColor": "18438",
    "contadorScanner": "0",
    "detalle": "Instalacion\nconfiguracion 4 pc",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12500",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACHALcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABFEAABAwMBBAYHBAcFCQAAAAABAAIDBAURBhIhMVETQWFxgZEUIjJCobHBFSPR8AckMzZSssIWQ5Lh8SU1VGJydIKj0v\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwEEBf\/EADARAAIBAwIDBgUEAwAAAAAAAAABAgMRIRIxBEFRIjJhcZGxE0Kh0fAUweHxM1KB\/9oADAMBAAIRAxEAPwD9mREQARU901Nb7Y90O0Z6kbhDFvOeRPUoAuurKhokp7NCxh6pThw38i4HhjqTqDeSEuIgnpWX4ZNOiy7tTXahAdc7HI2PftSRHIHzHxV5bLrS3elFRSvJGcOa7c5p5ELHBrJsK8JvSnnpsTEREpYIiIAIiIAIiIALN6m1DU2WupI4mRuieNqTaByRnGNxWkWF\/SASK+jIOCIz81Skk5WZycZOUKLlF5wblpDmhw3gjIXqjW54kttK8cHQsPwCkqZ1J3VwiIg0IiIAIiIALPX29zCpbZ7SOkrpdznDhEPxx5K1u1wZa7ZNWPwSxvqtPvOPAeaqtJ2x8NK65VZMlZWesXuzkMPAb\/Py5J4pJamc1WUpSVKLtffwX8kuy2CmtMYkP31W4feTu3k9g5BWyIlbbd2WhCMFpisBZa9WSot1SbzZCY5WHamgHsvHXgfMeS1KLYycWLVpRqRs\/wCiHarlFdbfHVw8HbnN\/hcOIUxZOmB0\/q91LnZorjvjHU1\/Lz3eIWsRJWeBaFRzjaW6wwiIlLhERABERABY79IMBMFHUAey5zSc88Y+RWxVBrWAS6cleeML2PHns\/1KlN2mjm4uOqhJfmCysv8AuOg\/7aP+UKaoFikbJYaBzTkCnY3xAAPxCnpJbstT7i8giIsHCIiACIiAMtq39duNrtPuzS7b+7h8tpahrQ1oa0AADAA6lmYAKz9INQ85Io6fDTnrIHl7RWnVJ4SRzUMynPxt6BERTOkIodzudNaaJ1VUuIaDhoA3ud1AeSqKHVMr62CnuNA6jbUjMT3E4PDA4c\/omUW1dEp1qcJaW8jW0bxaoauLdJTTteHDcR49+FfwTNqKeOZvsyMDh3EZVZqpnSaarRjOGg+TgVVU+qIrZTWiklZmOSmYZJf4B7PDs2U6TlFWISqRpV25PDS97GsREUjsMfX3u7S11xloZY2U1sIDmlu9xyWkdvWfAeOmttX6fboKrABlYHEDgCsdR4Nl1JO4naklIJJ47z+K1GmwRp2hyMfdBWmkkefw05Snl7pv6\/Ys1SXfUjbbWto4aOWrm2duRsefVbz4HKu1mLOBLrW7yvGXsaGtPIbh9Akills6K8pLTGLs2y6td1pbvSCopnbuDmH2mHkVC1f+69Z\/4fztUGkiZa9dTU8TSI62DbDRuAPHOO8HzUnWrtnTkox7T2D45+iZJKasSlUcuHnq3V0eaKqRPp9kfXBI5m857fqtAsjpAOttzrbTKSSWMmZnlgZ8cOHkVrktRdplOEk3RSe6x6BERIdIRFmLrqGpq6s2qxM6Wc7pJx7MfPB+vkmjFy2JVKsaauy9bc6J9eaBlQx1SAXGMb8Y7eHgih2OwU9niL89LVSD72Z3E8wOzKLJWvg2m5uN5qzK6x\/vhefD5rTrMWP98Lz4fNadNPclwvcfm\/cIirr9WOoLJVVDHbL2sww54OO4H4pUruxeUlGLk+RRyMdqbVBie0uttBuI917\/APX4DtVpqi1i52iTYbmogHSREccjiPEfHCaUohRafp93rzDpXHA353j4YVynlK0scjmpUlOk9e8t\/wA8DNz3AXPQ01TtAvMOzJjqcOP57VlKCjdeKeslLd1FSN2OWQQd\/gHK3vMctgFypxC91DcBmNwG6N\/L5+ACudG29lHY2TZzJVHpHHkOAH55qt1CLaOJwdesoS5LP59Sdp+r9NsVJOXFzujDXE8S4bj8lYrLWuQaevs9pndsUlU7pKVxO4E+79PDtWpUZqzPRoT1Qs91hn57WP8As6jv1tky175mPjJO97doE\/DHmttaIzFZqKMjBbTsB79kLOa3o6eSSi6OICrqZQzbA3uA3eO9w\/PDWtaGMDW8GjA35Tzd4o5+Hg41ZLpj1bZ9LMUp+z9d1ML2ENrow5jieJAyfiCFp1ntVUE8nodyoYHS1VLM07LBkluc\/PHmUkN7dS3EJ6VNfK7\/AHON4+71taJRxcws\/m\/FNbu6SmoaLODPUDhxwBj+peXkk6tspc3ZJByOS8vOazWdqpBvEA6Y7+G\/P9IVFun4HLU7tSK5yS9bHuof9m6htV0aMNJ6GTkG\/wCjj5LUKm1ZQ+nWCcD24fvW7s8OPwypNjr\/ALSs1NUkkvczDyR7w3H4hI8xTOmn2K0o9c\/sywXy97I2F8jgxrRkuccALlV1lPQUz6iplEcbBvJ+Q5lZfNZrKp3bdNaInb9+HSkfnuHaljG+XsPVrKD0rMnyPqsuVfqapdQWYmKjbumqiCNodYH4cT3K\/tVppbRSCnpmb\/feR6zzzK70lHT0FMynpohHGwbgPmeZXdbKV8LYynRs9c3eXt5BERIdBmLZ+r66ucJ\/vYg8H\/CfqVp1l7ifRNeW+cjDKiLoyeZ3j6tWoTz5M5uHxqj0b+uQs3rqUx2BrRwkna0+RP0WkWY16CbHDgcKluf8LkU++g4v\/BLyNHBEIaeOIcGMDfILoiJDpSsUWsZzBpycDcZXNZnPbk\/AKytcPo9ppITxZCwHvwMqj1YXVdwtNsbwln239gBAz5Fy06d4ikc0O1Xk+ll+5DuVrpLtTGCqZke65u5ze4r4tNultlO+KWumq8uy0ye43GAAp6Jbu1i3w46tdsmVeW3jXLBG7MVtZ62Bxdv6+8geHitUoVutNJa+mNM0h07tqRzjkk\/knzU1bJ32EowcU3Ldu4RFynqqembtVE8cQ5yPDfmlKtpbmdq\/1vX9HGM7NLAXOxzwfxarOGzdHqGe7vn6QyR7DI9nHR7gOOd\/Ds4lUthrqOS9XG61VZTxOld0cYfM0EtGOrPDcN\/X2LSMulvl\/Z19M\/8A6Zmn6qsrrC6HFR0TTlLm7r2RJIBGCMgrGWi5Q6YrLnb6x7xDE7pIRjJd2DtILfIq8vWoqa1NETB6RVyAdHCzfnPDP53rL3CjuFLU0d8vTWyh8wEkGzno28QOXPctpxxnmJxVW0k4bx36JPqWVLRVmq6plfc2mG3xnMNPw2xzP49fUtXFFHDE2KJgYxgw1rRgAL1ha5jXMwWkAtxyX0pylc66VJQV9292EREpYIiIAzOto3so6S4RZ6SknBBA4Z6\/MBaOGVk8LJozlkjQ5p7DvUa70Yr7TVUpGTJGdkf8w3j4gKv0hXem6fia45fTkxO7hw+BHkqbw8jmXY4hr\/ZexeKm1Tb6i5WfoKWHpZRI1wbtBvDjxIVyiROzuWqQU4uL5nOnD200TZNzwwB3fjeuiKHdrgy12yasfgljfVafeceA80bs1tQjd7Io6Qfaeu6moxmKgj6ME78O4fMu8lqFQaPoXU1pNXM3E1Y7pHE9Y6vx8VfppvNuhHhk9Gp7vPqERU141LR2t3o7AamrO5sEe8gnhnl3cexKk27IrOcYLVJ2LWaeGmiMs8rIo28XPOAFn6jVzZ5vRrNRyV0x97BawdvP5d64Q2K432ZtXfpTHD7TKRhxs9\/L59y0lJR01DCIaWBkLB1NGM9\/NPaMd8sgnWq7dlfX+DO\/ZWpbqQ6vuLaGPH7KDj44P1K7RaHtTDtTPqJ3de3Jj5BaNcqiohpIHT1EjY42DJc4o1y5G\/pqSzPPmVX9kLD\/AMB\/7n\/\/AEszc6G01NZ9nWGhdPUEgOmEriyPn17+\/grKWtuOrJ3U1AH0lta7ElQRgv7P8vNaG12qktFKIKWPH8bz7TzzJT6nDd5OZ0oV8QilHrbfy+5m6fRFVRCOppbkG1bBnBYdgnlkbwPDyXK53K5x2ye3X6jOHt9SqiAI2hggkcOJHLuW2XxLFHNG6OWNsjHDDmuGQfBL8Rt9os+EiotU3b2KbSFea6wRB7i6SAmJxPZw+BHkrxfn9xdUaS1GZKM4pZ\/XERPqlp4jwPA9y3FDWw3CjjqoHbTJBnuPWD3LKkfmWzDhat18KXej+XJCIimdgREQAWT0891r1NcLRI7LZT0sZ4Dnw7QfgtYsxqm2zQzxX6i\/b0uDI3O4tHX9D2KkOcXzOXiE1pqL5X9OZp0VTTamtFRStnNbFFkb2SOAc08sKFPq6OeQ01npJa6fOAdnDB288eSzRLoO+IpJX1F7VVdPRQOnqZWxRt4ucVl9qo1hcA0B8Vnhdk9RlI6vzwHau9PpmsuVQKvUFUZiN7aaM4a3sP8Al5rSRRRwRNihY2ONgw1rRgALbqO25PTOt3laPTm\/M+mtDWhrQAAMADqXzLLHDE6WV4Yxgy5zjgALlW1tPb6V9TUyBkbBvPPsHasuxtfrGoDpg+ktMbtzRudKfz4BZGN8vYpVraHpiryfI61N3uGoqh9DZAYqZpxLVuyM93L5nsVtZ9PUVnbtRt6WoPtTvHrHu5KfSUlPQ07aelibFE3g1v53rshy5LYynRzrqZl7eQReOcGtLnEAAZJPUs1X6olqaj0CwxekzncZsZY388zu71kYuWw9SrGmu0Wt3vlHZYQ+ocTI4epE32nfgO1UlNarhqSeOtvf3VIPWipmHGe\/l8+5TbRpltNP6fcpfTK128l+9rD2Z4q\/TXUe6RVOdZ3q4XT7\/Y5wwx08LIYWBkbBhrWjcAuiIpnXsEREAZ\/WFr9OtfpMbA6akO2Bj2m+8Pr4Ko03cPsuvipsk0Fx9aDfno38CPPd5FbYgEYIyCvzm\/0klmdNQOaTSyydPSPHuHgR5Hf3NKvTepaWeZxcXSmq8fz+9vQ\/R0UegndVW6mqHe1LEx57yAVIUD0k7q6CIiDQvCARgjIK9RAFVLpqzTTOlkoWF7uPrOA8s4CsIKaCmaW08EcTSckRtDQT4Lqi1tvcSNOEXdKwXGrq4KGmfU1MgjiYMkldXODWlziAAMknqWQbHLrK6dK\/bjtNMcNbwMrvz5DvWxjfL2J1qjhZRV5PY+qOnqNWXH06taY7bA77mA\/3nf8AXyWsa1rGBjGhrWjAAGAAvIoo4YmxRMDGMGGtaMABcK+50dti6SsqGRDqBO93cOJWtuTsgpwVKLlJ55slKBdbzRWeHpKqT1iMsjbvc7uH1VG6\/wB2vkhgsdIYYs4NVMOH0HxKnWzS1NSzel10hrqwnaMsmSAewHlzPwW6VHvCfGlUxSX\/AF7fyVop7xqxwfUl1Bbc5bGPaePr3nd2LS0FupLZTiCkhEbes9bjzJ61KRLKTeOQ9OioPU8vqEREpcIiIAIiIALhVUdNWxiOpgZK0HIDhnB5jku6IMaTVmeNaGtDWgAAYAHUvURBoREQAREQAREQBHr6Z1bQT0rJTCZWFu2BnGexZmiptV2qjZT01NRPjZwbkZPfvCImUrKxGpRU5KV2n4Hc02r652JamnoYyd4j3kDs4\/PqXeg0fQQO6auc+uqDvL5ScZ7uvxyiLdb5YFXDQveWfPJfMYyNgZG0Ma0YDWjAC+kRIdAREQAREQAREQAREQAREQAREQAREQB\/\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "BAIRON PACHECO RUBIO",
    "correoContacto": "bairon18rubio@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56941675217",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28611\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28611\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28611\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R640\",\"id_control\":\"28611\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28611\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R838\",\"id_control\":\"28622\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:28",
    "ubicacionGPS": "LatLng(lat: -25.4075158, lng: -70.486527)",
    "horaLlegada": "07:49",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 12:28:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[08/05/2026 12:28:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76121841', 'EP2767', 1, 21773342, 47488, NOW(), 
				'08:00', '07:49', '12:28', 1, 'Instalacion
configuracion 4 pc', -1, 
				'', '','1','18438',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778257720.png', '', null, 'COMPLETADO','LatLng(lat: -25.4075158, lng: -70.486527)' )
				
[08/05/2026 12:28:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200241

08/05/2026 12:28:40 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'EP2767'
		
08/05/2026 12:28:40 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP2767'
				   AND estado = 1
				
08/05/2026 12:28:40 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'EP2767', 2, 1, now(), 'Munic. Taltal', 'Taltal', 'Rec. Humanos');
				
=========================================
FECHA: 08/05/2026 12:28:40
listaInsumosUsadosConsolidado===

idReport:200241

idInventario:EPS-I302

idControl:28611

cantidadAsignada:1

cantidadUsada:1

[08/05/2026 12:28:40] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200241', 'EPS-I302', 1)
				
[08/05/2026 12:28:40] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28611 and
				    IDproducto = 'EPS-I302'
				

08/05/2026 12:28:40 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I302';
                
=========================================
FECHA: 08/05/2026 12:28:40
listaInsumosUsadosConsolidado===

idReport:200241

idInventario:EPS-I303

idControl:28611

cantidadAsignada:1

cantidadUsada:1

[08/05/2026 12:28:40] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200241', 'EPS-I303', 1)
				
[08/05/2026 12:28:40] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28611 and
				    IDproducto = 'EPS-I303'
				

08/05/2026 12:28:40 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I303';
                
=========================================
FECHA: 08/05/2026 12:28:40
listaInsumosUsadosConsolidado===

idReport:200241

idInventario:EPS-I305

idControl:28611

cantidadAsignada:1

cantidadUsada:1

[08/05/2026 12:28:40] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200241', 'EPS-I305', 1)
				
[08/05/2026 12:28:40] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28611 and
				    IDproducto = 'EPS-I305'
				

08/05/2026 12:28:40 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I305';
                
=========================================
FECHA: 08/05/2026 12:28:40
listaInsumosUsadosConsolidado===

idReport:200241

idInventario:EPS-R640

idControl:28611

cantidadAsignada:1

cantidadUsada:1

[08/05/2026 12:28:40] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200241', 'EPS-R640', 1)
				
[08/05/2026 12:28:40] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28611 and
				    IDproducto = 'EPS-R640'
				

08/05/2026 12:28:40 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R640';
                
=========================================
FECHA: 08/05/2026 12:28:40
listaInsumosUsadosConsolidado===

idReport:200241

idInventario:EPS-I304

idControl:28611

cantidadAsignada:1

cantidadUsada:1

[08/05/2026 12:28:40] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200241', 'EPS-I304', 1)
				
[08/05/2026 12:28:40] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28611 and
				    IDproducto = 'EPS-I304'
				

08/05/2026 12:28:40 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                
=========================================
FECHA: 08/05/2026 12:28:40
listaInsumosUsadosConsolidado===

idReport:200241

idInventario:EPS-R838

idControl:28622

cantidadAsignada:1

cantidadUsada:1

[08/05/2026 12:28:40] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200241', 'EPS-R838', 1)
				
[08/05/2026 12:28:40] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28622 and
				    IDproducto = 'EPS-R838'
				

08/05/2026 12:28:40 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R838';
                
08/05/2026 12:28:40 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200241'                    
				WHERE idllamado = 12500			
				TO ENVIO: micorreo@miempresa.cl, bairon18rubio@gmail.com


08/05/2026 12:28:41 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12500			
				
08/05/2026 12:28:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 12:28:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12:28:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12:28:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12:28:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 12:28:42 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12500
LIMIT 1;
        
08/05/2026 12:28:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12:28:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12:28:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                [08/05/2026 12:28: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;
                

08/05/2026 12:28:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 12:28:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12500
LIMIT 1;
        
08/05/2026 12:28:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                [08/05/2026 12:28: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;
                

08/05/2026 12:28:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 12:28:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12500
LIMIT 1;
        
08/05/2026 12:28:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12:28:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12:28:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12500
                
08/05/2026 12:28:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
08/05/2026 12:28:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            [08/05/2026 12:28: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;
                
[08/05/2026 12:28: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;
                

08/05/2026 12:28:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
08/05/2026 12:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
08/05/2026 12:28:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
08/05/2026 12:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                [08/05/2026 12:28: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;
                

08/05/2026 12:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
08/05/2026 12:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
08/05/2026 12:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
08/05/2026 12:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
08/05/2026 12:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
08/05/2026 12:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
08/05/2026 12:35:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 12:35:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        [08/05/2026 12:35: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;
                
[08/05/2026 12:35: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;
                

08/05/2026 12: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 = 12511
                
08/05/2026 12:35:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 12:35:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 12:35:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        
08/05/2026 12:35:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        
08/05/2026 12: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 = 12511
                
08/05/2026 12:35:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 12:35:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 12:51:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 12:51:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 12:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:51:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 12:51:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            [08/05/2026 12:51: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;
                

08/05/2026 12:51:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            [08/05/2026 12:51:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 12:51:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                [08/05/2026 12:51:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 12:51:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:51:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:51:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:51:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 12:51:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12432
                
08/05/2026 12: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 = 12432
                [08/05/2026 12:51: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;
                

08/05/2026 12:51:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 12:51:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            [08/05/2026 12:52: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;
                

08/05/2026 12:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                [08/05/2026 12:52: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;
                

08/05/2026 12:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:53:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 12:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:53:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 12:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                [08/05/2026 12:53:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 12:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:53:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 12:53:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            [08/05/2026 12:53:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 12:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:53:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            [08/05/2026 12:53:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 12: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 = 12432
                
08/05/2026 12: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 = 12432
                
08/05/2026 12: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 = 12432
                
08/05/2026 12: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 = 12432
                [08/05/2026 12:55: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;
                

08/05/2026 12:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12432
                
08/05/2026 12:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 12:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            [08/05/2026 12:55: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;
                

08/05/2026 12:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12432
                
08/05/2026 12:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 12:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12432
                [08/05/2026 12:55: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;
                

08/05/2026 12: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 = 12432
                
08/05/2026 12: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 = 12432
                
08/05/2026 12: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 = 12432
                
08/05/2026 12: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 = 12432
                
08/05/2026 12: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 = 12432
                
08/05/2026 12: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 = 12432
                
08/05/2026 12: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 = 12432
                
08/05/2026 12:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12432
                
08/05/2026 12: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 = 12432
                
08/05/2026 12:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12432
                
08/05/2026 12: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 = 12432
                
08/05/2026 12:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 12:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12432
                
08/05/2026 12: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 = 12432
                
08/05/2026 12: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 = 12432
                
08/05/2026 12: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 = 12432
                [08/05/2026 12:57: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;
                
[08/05/2026 12:57: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;
				
[08/05/2026 12:57: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;
                
[08/05/2026 12:57:32] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[08/05/2026 12: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;
                

08/05/2026 12:57:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:57:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:57:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:57:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:57:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:57:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            [08/05/2026 12: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;
                
[08/05/2026 12: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;
                
[08/05/2026 12: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;
                

08/05/2026 12:57:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12:57:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12493
                
08/05/2026 12:57:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:57:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                [08/05/2026 12:57: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;
                
[08/05/2026 12:57: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;
                

08/05/2026 12:57:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:57:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            [08/05/2026 12:57: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;
                

08/05/2026 12:57:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            [08/05/2026 12:57: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;
                

08/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:57:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12:58:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:58:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12:58:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                [08/05/2026 12:58: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;
                

08/05/2026 12:58:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                

08/05/2026 12:58:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12:58:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            [08/05/2026 12: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;
                
[08/05/2026 12: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;
                
[08/05/2026 12: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;
                

08/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12493
                
08/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            [08/05/2026 12: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;
                

08/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12493
                [08/05/2026 12: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;
                

08/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            [08/05/2026 12: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;
                

08/05/2026 12: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 = 12495
                
08/05/2026 12:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12495
                
08/05/2026 12:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12495
                
08/05/2026 12:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12495
                
08/05/2026 12:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 12:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 12:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            [08/05/2026 12: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;
                

08/05/2026 12:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 12:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12495
                
08/05/2026 12: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 = 12495
                
08/05/2026 12:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            [08/05/2026 12: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;
                
[08/05/2026 12: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;
                

08/05/2026 12: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 = 12495
                
08/05/2026 12:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 12:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            [08/05/2026 12: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;
                

08/05/2026 12: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 = 12495
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12493
                
08/05/2026 12:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            [08/05/2026 12: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;
                
[08/05/2026 12: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;
                

08/05/2026 12:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12495
                
08/05/2026 12: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 = 12495
                
08/05/2026 12: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 = 12493
                
08/05/2026 12:58:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:58:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12493
                
08/05/2026 12:58:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:58:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:58:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 12:58:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12495
                
08/05/2026 12: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 = 12495
                
08/05/2026 12: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 = 12495
                
08/05/2026 12: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 = 12493
                
08/05/2026 12:58:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12495
                
08/05/2026 12:58:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12495
                
08/05/2026 12:58:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:58:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12495
                [08/05/2026 12:58: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;
                
[08/05/2026 12:58: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;
                

08/05/2026 12:58:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 12:58:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:58:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:58:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:58:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 12:58:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                

08/05/2026 12:58:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12:58:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12:58:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:58:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                [08/05/2026 12:58: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;
                

08/05/2026 12:58:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:58:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12:58:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12:58:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12:58:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                
[08/05/2026 12:58: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;
                

08/05/2026 12:58:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12493
                
08/05/2026 12:58:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:58:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                [08/05/2026 12:58: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;
                

08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12:58:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12495
                [08/05/2026 12:58: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;
                

08/05/2026 12: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 = 12495
                
08/05/2026 12:58:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 12:58:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                

08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12495
                [08/05/2026 12:58: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;
                

08/05/2026 12:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                
[08/05/2026 12:58: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;
                

08/05/2026 12:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                

08/05/2026 12: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 = 12495
                
08/05/2026 12: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 = 12493
                
08/05/2026 12:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12493
                
08/05/2026 12:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                

08/05/2026 12:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12493
                
08/05/2026 12:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                

08/05/2026 12: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 = 12493
                
08/05/2026 12:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12493
                
08/05/2026 12:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                

08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12493
                
08/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12:58:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:58:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12:58:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                [08/05/2026 12:58: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;
                

08/05/2026 12:58:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:58:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                [08/05/2026 12:58: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;
                

08/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12:58:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 12:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                [08/05/2026 12:58: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;
                
[08/05/2026 12:58: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;
                

08/05/2026 12:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                

08/05/2026 12:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 12:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12494
                
08/05/2026 12:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 12:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 12:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                

08/05/2026 12:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12494
                [08/05/2026 12:58: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;
                
[08/05/2026 12:58: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;
                

08/05/2026 12:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                

08/05/2026 12:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                

08/05/2026 12:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12494
                
08/05/2026 12:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 12:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 12:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12494
                [08/05/2026 12:58: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;
                

08/05/2026 12: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 = 12494
                
08/05/2026 12: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 = 12494
                
08/05/2026 12: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 = 12494
                
08/05/2026 12: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 = 12494
                
08/05/2026 12: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 = 12494
                
08/05/2026 12: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 = 12494
                
08/05/2026 12: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 = 12494
                
08/05/2026 12: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 = 12494
                [08/05/2026 12:58: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;
                

08/05/2026 12:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                

08/05/2026 12:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 12:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 12:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                
[08/05/2026 12:58: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;
                

08/05/2026 12:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12495
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12495
                
08/05/2026 12: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 = 12494
                
08/05/2026 12: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 = 12494
                
08/05/2026 12: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 = 12495
                
08/05/2026 12: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 = 12495
                
08/05/2026 12: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 = 12493
                
08/05/2026 12: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 = 12494
                
08/05/2026 12: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 = 12494
                
08/05/2026 12: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 = 12494
                
08/05/2026 12: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 = 12494
                
08/05/2026 12: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 = 12494
                
08/05/2026 12: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 = 12494
                
08/05/2026 12: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 = 12494
                
08/05/2026 12: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 = 12494
                
08/05/2026 12: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 = 12494
                
08/05/2026 12: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 = 12494
                
08/05/2026 12: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 = 12494
                
08/05/2026 12: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 = 12494
                
08/05/2026 12: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 = 12494
                
08/05/2026 12: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 = 12494
                [08/05/2026 12:58: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;
                

08/05/2026 12:58:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 12:58:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 12:58:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                

08/05/2026 12:58:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                
[08/05/2026 12:58: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;
                

08/05/2026 12:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                [08/05/2026 12:58: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;
                

08/05/2026 12:58:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                

08/05/2026 12:58:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 12:58:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 12:58:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 12:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 12:58:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                
[08/05/2026 12:58: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;
                

08/05/2026 12:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 12:58:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 12:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 12:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 12:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                [08/05/2026 12:58: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;
                

08/05/2026 12:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                

08/05/2026 12:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 12:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 12:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 12:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 12:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 12:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                

08/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 12:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                [08/05/2026 12:58: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;
                

08/05/2026 12:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                [08/05/2026 12:58: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;
                

08/05/2026 12:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                [08/05/2026 12:58: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;
                

08/05/2026 12:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                [08/05/2026 12:58: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;
                
[08/05/2026 12:58: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;
                

08/05/2026 12:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            [08/05/2026 12:58:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 12:58:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 12:58:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            [08/05/2026 12:58:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 12:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 12:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                

08/05/2026 12:58:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            [08/05/2026 12:58: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;
                

08/05/2026 12:58:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12505
                
08/05/2026 12:58:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12505
                
08/05/2026 12: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 = 12505
                [08/05/2026 12:58:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 12:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            [08/05/2026 12:58:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 12:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12505
                
08/05/2026 12:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12505
                
08/05/2026 12:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            [08/05/2026 12:58:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 12:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            [08/05/2026 12:58:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 12: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 = 12505
                
08/05/2026 12: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 = 12505
                
08/05/2026 12:58:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12505
                
08/05/2026 12:58:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12505
                [08/05/2026 12:58:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 12: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 = 12505
                
08/05/2026 12: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 = 12505
                
08/05/2026 12: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 = 12505
                
08/05/2026 12:58:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 12: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 = 12505
                
08/05/2026 12: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 = 12505
                
08/05/2026 12: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 = 12505
                
08/05/2026 12: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 = 12505
                
08/05/2026 12: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 = 12505
                
08/05/2026 12: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 = 12505
                
08/05/2026 12: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 = 12505
                [08/05/2026 12:58:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 12: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 = 12505
                
08/05/2026 12: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 = 12505
                
08/05/2026 12: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 = 12505
                
08/05/2026 12: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 = 12505
                
08/05/2026 12: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 = 12505
                
08/05/2026 12: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 = 12505
                
08/05/2026 12: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 = 12505
                
08/05/2026 12: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 = 12505
                
08/05/2026 12: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 = 12505
                
08/05/2026 12: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 = 12505
                [08/05/2026 12:59:42] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[08/05/2026 12:59:42] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[08/05/2026 12:59: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;
                
[08/05/2026 12:59: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[08/05/2026 12:59:55] 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;
                
[08/05/2026 13:00: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;
                
[08/05/2026 13:00: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;
				
[08/05/2026 13:00: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;
                
[08/05/2026 13:00: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;
                
[08/05/2026 13:01: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;
                
[08/05/2026 13:01:08] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[08/05/2026 13:01:08] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[08/05/2026 13:01: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;
                
[08/05/2026 13:04: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[08/05/2026 13:04:35] 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;
                
[08/05/2026 13:04: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;
                
[08/05/2026 13:04: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;
                

08/05/2026 13:04:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12343
            GROUP BY l.idllamado;
            [08/05/2026 13:04: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;
                

08/05/2026 13:04:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            [08/05/2026 13:04:51] 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;
                
[08/05/2026 13:04: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;
                

08/05/2026 13:04:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            
08/05/2026 13:04:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            
08/05/2026 13:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            
08/05/2026 13:05:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            
08/05/2026 13:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            
08/05/2026 13:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12431
                
08/05/2026 13: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 = 12431
                
08/05/2026 13: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 = 12431
                
08/05/2026 13: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 = 12431
                
08/05/2026 13:05:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12431
                
08/05/2026 13: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 = 12431
                
08/05/2026 13:05:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            
08/05/2026 13:05:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            
08/05/2026 13:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            
08/05/2026 13:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            
08/05/2026 13:05:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13: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 = 12431
                
08/05/2026 13: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 = 12431
                
08/05/2026 13:05:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            
08/05/2026 13:05:45 - logentry: =========================================
FECHA: 08/05/2026 13:05:45
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-1_Jirc6nXXaWJQ5g1KCLdIvy3zAYdzBkvYX-aYoVyI+1gwXTnBC
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2851",
    "correlativo": "2",
    "ddServicio": "Taller",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "cambio de gomas bandeja 01",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12431",
    "observacion": "",
    "firma": "",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "STIVEN VALDERRARMA",
    "correoContacto": "stiven@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "GOMAS DESGASTADAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56930703720",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R838\",\"id_control\":\"28551\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:05",
    "ubicacionGPS": "LatLng(lat: -24.5834476, lng: -69.7874154)",
    "horaLlegada": "08:47",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 13:05:45
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-1_Jirc6nXXaWJQ5g1KCLdIvy3zAYdzBkvYX-aYoVyI+1gwXTnBC
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2851",
    "correlativo": "2",
    "ddServicio": "Taller",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "cambio de gomas bandeja 01",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12431",
    "observacion": "",
    "firma": "",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "STIVEN VALDERRARMA",
    "correoContacto": "stiven@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "GOMAS DESGASTADAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56930703720",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R838\",\"id_control\":\"28551\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:05",
    "ubicacionGPS": "LatLng(lat: -24.5834476, lng: -69.7874154)",
    "horaLlegada": "08:47",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 13:05:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[08/05/2026 13:05:45] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76121841', 'EP2851', 2, 27729424, 0, NOW(), 
				'08:00', '08:47', '13:05', 3, 'cambio de gomas bandeja 01', -1, 
				'', '','1','0',
				'0',3,'', '', null, 'COMPLETADO','LatLng(lat: -24.5834476, lng: -69.7874154)' )
				
[08/05/2026 13:05:45] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200242
[08/05/2026 13:05:45] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200242', 'EPS-R838', 1)
				
[08/05/2026 13:05:45] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28551 and
				    IDproducto = 'EPS-R838'
				

08/05/2026 13:05:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:45 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R838';
                
08/05/2026 13:05:45 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200242'                    
				WHERE idllamado = 12431			
				TO ENVIO: micorreo@miempresa.cl, stiven@dsprint.cl


08/05/2026 13:05:45 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12431			
				
08/05/2026 13:05:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 13:05:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            
08/05/2026 13:05:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            
08/05/2026 13:05:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                [08/05/2026 13:05:48] 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;
                

08/05/2026 13:05:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                [08/05/2026 13:05:48] 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;
                

08/05/2026 13:05:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12431
            GROUP BY l.idllamado;
            
08/05/2026 13:05:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12431
                
08/05/2026 13:05:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12450
                [08/05/2026 13:05:51] 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;
                
[08/05/2026 13:05:51] 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;
                

08/05/2026 13:05:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            
08/05/2026 13:05:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12450
                
08/05/2026 13:05:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:05:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:05:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            
08/05/2026 13:05:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            
08/05/2026 13:05:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                [08/05/2026 13:05: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;
                

08/05/2026 13:05:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            
08/05/2026 13:05:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            [08/05/2026 13:05: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;
                

08/05/2026 13:05:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:05:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:05:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:05:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:05:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:06:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            
08/05/2026 13:06:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:06:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:06:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            
08/05/2026 13:06:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:06:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:06:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:06:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12450
                
08/05/2026 13: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 = 12450
                
08/05/2026 13: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 = 12450
                
08/05/2026 13: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 = 12450
                
08/05/2026 13:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            
08/05/2026 13:06:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:06:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            
08/05/2026 13:06:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:06:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:06:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:06:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            
08/05/2026 13:06:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:06:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:06:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13: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 = 12450
                
08/05/2026 13: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 = 12450
                
08/05/2026 13:06:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            
08/05/2026 13:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:06:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            
08/05/2026 13:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:06:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12450
                
08/05/2026 13: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 = 12450
                
08/05/2026 13: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 = 12450
                
08/05/2026 13: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 = 12450
                
08/05/2026 13: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 = 12450
                
08/05/2026 13:06:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12450
                
08/05/2026 13: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 = 12450
                
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12450
                
08/05/2026 13:06:51 - logentry: =========================================
FECHA: 08/05/2026 13:06:51
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-lJITc1TNFUWUQrDGcgt7EmDvPKi86NOmAZnG7aKQFnaPPrvjXQK
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "6508799",
    "serieinterna": "KY2798",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se deja en chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12450",
    "observacion": "",
    "firma": "",
    "razonSocial": "ALEJANDRO GUILLERMO GEMMEL MARTINEZ",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "ALEXANDER GEMMEL",
    "correoContacto": "notariagemmel@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28567\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:06",
    "ubicacionGPS": "LatLng(lat: -24.5836113, lng: -69.7871993)",
    "horaLlegada": "08:47",
    "horaDespacho": "13:05",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 13:06:51
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-lJITc1TNFUWUQrDGcgt7EmDvPKi86NOmAZnG7aKQFnaPPrvjXQK
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "6508799",
    "serieinterna": "KY2798",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se deja en chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12450",
    "observacion": "",
    "firma": "",
    "razonSocial": "ALEJANDRO GUILLERMO GEMMEL MARTINEZ",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "ALEXANDER GEMMEL",
    "correoContacto": "notariagemmel@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28567\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:06",
    "ubicacionGPS": "LatLng(lat: -24.5836113, lng: -69.7871993)",
    "horaLlegada": "08:47",
    "horaDespacho": "13:05",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 13:06:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:6508799

[08/05/2026 13:06:51] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('6508799', 'KY2798', 1, 27729424, 0, NOW(), 
				'13:05', '08:47', '13:06', 10, 'se deja en chilexpress', -1, 
				'', '','1','0',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -24.5836113, lng: -69.7871993)' )
				
[08/05/2026 13:06:51] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200243
[08/05/2026 13:06:51] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200243', 'KYO-I1045', 1)
				
[08/05/2026 13:06:51] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28567 and
				    IDproducto = 'KYO-I1045'
				

08/05/2026 13:06:51 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I1045';
                
08/05/2026 13:06:51 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200243'                    
				WHERE idllamado = 12450			
				TO ENVIO: micorreo@miempresa.cl, notariagemmel@gmail.com


08/05/2026 13:06:51 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12450			
				
08/05/2026 13:06:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 13: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 = 12450
                
08/05/2026 13: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 = 12450
                
08/05/2026 13:06:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12450
                
08/05/2026 13: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 = 12450
                
08/05/2026 13:06:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            
08/05/2026 13:06:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12450
                
08/05/2026 13: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 = 12450
                
08/05/2026 13:06:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            [08/05/2026 13:06: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;
                
[08/05/2026 13:06: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;
                

08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12450
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12450
                
08/05/2026 13: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 = 12450
                
08/05/2026 13: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 = 12450
                
08/05/2026 13: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 = 12450
                
08/05/2026 13: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 = 12450
                
08/05/2026 13: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 = 12450
                
08/05/2026 13: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 = 12450
                
08/05/2026 13: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 = 12450
                
08/05/2026 13:06:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                
08/05/2026 13:06:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12450
                [08/05/2026 13:06:58] 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;
                

08/05/2026 13:07:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12449
                [08/05/2026 13:07: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;
                

08/05/2026 13: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 = 12449
                
08/05/2026 13:07:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13:07:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13:07:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13:07:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12449
                
08/05/2026 13: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 = 12449
                [08/05/2026 13:07: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;
                
[08/05/2026 13:07: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;
                

08/05/2026 13: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 = 12449
                
08/05/2026 13: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 = 12449
                
08/05/2026 13: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 = 12449
                
08/05/2026 13: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 = 12449
                [08/05/2026 13:07: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;
                
[08/05/2026 13:07: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;
                

08/05/2026 13:07:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13:07:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            [08/05/2026 13:07: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;
                

08/05/2026 13:07:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13:07:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13:07:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12449
                
08/05/2026 13: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 = 12449
                
08/05/2026 13: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 = 12449
                
08/05/2026 13: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 = 12449
                
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13:07:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13: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 = 12449
                
08/05/2026 13: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 = 12449
                
08/05/2026 13:07:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13:07:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13:07:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13:07:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13:07:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:40 - logentry: =========================================
FECHA: 08/05/2026 13:07:40
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-KAvcYu.jK6XP.HfSxU9l-8dEYkVXHun3rroYjBIZOs-FzN-nya+
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "6508799",
    "serieinterna": "KY2239",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se deja en chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12449",
    "observacion": "",
    "firma": "",
    "razonSocial": "ALEJANDRO GUILLERMO GEMMEL MARTINEZ",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "ALEXANDER GEMMEL",
    "correoContacto": "notariagemmel@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28566\",\"cantidad_usada\":10,\"cantidad_asignada\":1}]",
    "horaSalida": "13:07",
    "ubicacionGPS": "LatLng(lat: -24.5836313, lng: -69.7872183)",
    "horaLlegada": "08:47",
    "horaDespacho": "13:06",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 13:07:40
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-KAvcYu.jK6XP.HfSxU9l-8dEYkVXHun3rroYjBIZOs-FzN-nya+
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "6508799",
    "serieinterna": "KY2239",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se deja en chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12449",
    "observacion": "",
    "firma": "",
    "razonSocial": "ALEJANDRO GUILLERMO GEMMEL MARTINEZ",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "ALEXANDER GEMMEL",
    "correoContacto": "notariagemmel@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28566\",\"cantidad_usada\":10,\"cantidad_asignada\":1}]",
    "horaSalida": "13:07",
    "ubicacionGPS": "LatLng(lat: -24.5836313, lng: -69.7872183)",
    "horaLlegada": "08:47",
    "horaDespacho": "13:06",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 13:07:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:6508799

[08/05/2026 13:07:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('6508799', 'KY2239', 1, 27729424, 0, NOW(), 
				'13:06', '08:47', '13:07', 10, 'se deja en chilexpress', -1, 
				'', '','1','0',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -24.5836313, lng: -69.7872183)' )
				
[08/05/2026 13:07:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200244
[08/05/2026 13:07:40] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200244', 'KYO-I647', 1)
				
[08/05/2026 13:07:40] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28566 and
				    IDproducto = 'KYO-I647'
				

08/05/2026 13:07:40 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
08/05/2026 13:07:40 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200244'                    
				WHERE idllamado = 12449			
				TO ENVIO: micorreo@miempresa.cl, notariagemmel@gmail.com


08/05/2026 13:07:40 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12449			
				
08/05/2026 13:07:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12449
                
08/05/2026 13: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 = 12449
                
08/05/2026 13: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 = 12449
                
08/05/2026 13: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 = 12449
                
08/05/2026 13: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 = 12449
                
08/05/2026 13: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 = 12449
                [08/05/2026 13:07: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;
                

08/05/2026 13:07:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13:07:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13:07:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                [08/05/2026 13:07: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;
                
[08/05/2026 13:07: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;
                

08/05/2026 13:07:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13: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 = 12449
                
08/05/2026 13: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 = 12449
                
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12449
                
08/05/2026 13: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 = 12449
                
08/05/2026 13:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                
08/05/2026 13:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12449
                [08/05/2026 13:07:45] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 13:07:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12449
            GROUP BY l.idllamado;
            
08/05/2026 13:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            [08/05/2026 13:07:58] 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;
                
[08/05/2026 13:07:58] 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;
                

08/05/2026 13:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12501
                
08/05/2026 13: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 = 12501
                
08/05/2026 13:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12501
                
08/05/2026 13:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12501
                
08/05/2026 13: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 = 12501
                
08/05/2026 13:08:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12501
                [08/05/2026 13:08: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;
                

08/05/2026 13:08:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            [08/05/2026 13:08: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;
                

08/05/2026 13: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 = 12501
                
08/05/2026 13: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 = 12501
                
08/05/2026 13: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 = 12501
                
08/05/2026 13: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 = 12501
                
08/05/2026 13: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 = 12501
                
08/05/2026 13: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 = 12501
                [08/05/2026 13:08: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;
                
[08/05/2026 13:08: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;
                
[08/05/2026 13:08: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;
                

08/05/2026 13:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:08:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            [08/05/2026 13:08: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;
                

08/05/2026 13:08:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            [08/05/2026 13:08: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;
                

08/05/2026 13:08:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12502
                
08/05/2026 13: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 = 12502
                
08/05/2026 13:08:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            [08/05/2026 13:08:11] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 13:08:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:08:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:08:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:08:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:08:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:08:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:08:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:08:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:08:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:08:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13: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 = 12502
                
08/05/2026 13: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 = 12502
                [08/05/2026 13:08: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;
                
[08/05/2026 13:08: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;
                

08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            [08/05/2026 13:08:16] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 13:08:16] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 13:08:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            [08/05/2026 13:08:16] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 13:08:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            [08/05/2026 13:08:17] 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;
                

08/05/2026 13:08:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:08:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12502
                
08/05/2026 13: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 = 12502
                [08/05/2026 13:08: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;
                

08/05/2026 13:08:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12502
                
08/05/2026 13: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 = 12502
                
08/05/2026 13:08:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:08:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:08:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:08:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [08/05/2026 13:08: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;
                

08/05/2026 13:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                [08/05/2026 13:08: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;
                

08/05/2026 13:08:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            [08/05/2026 13:08: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;
                
[08/05/2026 13:08: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;
                

08/05/2026 13:08:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                [08/05/2026 13:08: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;
                

08/05/2026 13:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:08:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:08:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:08:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:08:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:08:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                [08/05/2026 13:08: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;
                

08/05/2026 13:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:08:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:08:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:08:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:08:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:08:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [08/05/2026 13:08:22] 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;
                

08/05/2026 13:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                [08/05/2026 13:08: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;
                
[08/05/2026 13:08: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;
                

08/05/2026 13:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:14:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [08/05/2026 13:14:13] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 13:14:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/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 = 12408
                
08/05/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 = 12408
                [08/05/2026 13:14: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;
                

08/05/2026 13:14:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/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 = 12408
                
08/05/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 = 12408
                [08/05/2026 13:14:16] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 13:14:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [08/05/2026 13:14:16] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/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 = 12408
                
08/05/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 = 12408
                
08/05/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 = 12408
                
08/05/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 = 12408
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [08/05/2026 13:14:17] 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;
                

08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/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 = 12408
                
08/05/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 = 12408
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [08/05/2026 13:14:29] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 13:14:29] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/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 = 12408
                [08/05/2026 13:14:29] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 13:14:29] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/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 = 12408
                
08/05/2026 13:14:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [08/05/2026 13:14:29] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/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 = 12408
                
08/05/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 = 12408
                
08/05/2026 13:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [08/05/2026 13:14: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;
                

08/05/2026 13:14:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [08/05/2026 13:14: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;
                

08/05/2026 13:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                [08/05/2026 13:14: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;
                

08/05/2026 13:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                [08/05/2026 13:14: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;
                

08/05/2026 13:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [08/05/2026 13:14: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;
                

08/05/2026 13:14:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [08/05/2026 13:14: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;
                
[08/05/2026 13:14: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;
                

08/05/2026 13:14:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [08/05/2026 13:14: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;
                
[08/05/2026 13:14: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;
                

08/05/2026 13:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                [08/05/2026 13:14: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;
                

08/05/2026 13:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                [08/05/2026 13:14: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;
                

08/05/2026 13:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                [08/05/2026 13:14: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;
                

08/05/2026 13:14:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [08/05/2026 13:14: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;
                

08/05/2026 13:14:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [08/05/2026 13:14:33] 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;
                

08/05/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 = 12408
                
08/05/2026 13:14:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/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 = 12408
                
08/05/2026 13:14:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [08/05/2026 13:14: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;
                

08/05/2026 13: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 = 12408
                
08/05/2026 13:14:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12408
                
08/05/2026 13: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 = 12408
                
08/05/2026 13: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 = 12408
                [08/05/2026 13:14: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;
                

08/05/2026 13:14:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12408
                
08/05/2026 13:14:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12408
                
08/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                [08/05/2026 13:14: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;
                

08/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                [08/05/2026 13:14: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;
                

08/05/2026 13:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:14:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/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 = 12408
                
08/05/2026 13:15:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/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 = 12408
                
08/05/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 = 12408
                
08/05/2026 13:15:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/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 = 12408
                
08/05/2026 13:15:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:15:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/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 = 12408
                
08/05/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 = 12408
                
08/05/2026 13:15:15 - logentry: =========================================
FECHA: 08/05/2026 13:15:15
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-4S_NUGMps2UHrvToLgRb8Qa2fJF4MdQ03VCi2LH9KlWql-K0Vm8
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "776803790",
    "serieinterna": "EP2541",
    "correlativo": "1",
    "ddServicio": "Taller",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "mantencion y cambio de correa",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12408",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABXABsDASIAAhEBAxEB\/8QAGgABAQEBAQEBAAAAAAAAAAAAAAYFAwQCB\/\/EADMQAAEEAQEFBQQLAAAAAAAAAAEAAgMEEQUGITFBcSNhgZHBEhMiUQcUFTJSYqGisdHS\/8QAGAEAAwEBAAAAAAAAAAAAAAAAAgMEAAH\/xAApEQACAgACBwkAAAAAAAAAAAAAAQIRITEDBBJRYXHRIjJBQoGRobHh\/9oADAMBAAIRAxEAPwD9mREWMeLWLb6GkWbUeA+NhLc\/PgFz0CWxY0OrNalMssjPac4jGck4\/TCy9sZ3zR1NIhz7y5KM4\/CDz8SD4KhhiZXgjhjGGRtDWjuAwjaqKJ4yctO6ySr1Z0RF5tRuNoadYtux2TC4A8zyHnhAsR7aStk\/VaNU26s2CA6LT2CNud\/xcP5LvLyqVgbG1Hw6MbMu+S3IZSe7gPU+K30c863CNWXY2nnLH3Cm9tZpH0K2nw75LkwaBv3gdO8tVIpcn7U28A4xadFnhjLuvV37VoZ3uOay7hsLzOuvwUleFtatFAz7sTAxvQDC6IiApSrA5WbEdStLZmd7McTS5x7gp\/YyF8lW1qkoHvLsxdw5An1JX1thYmfVr6XV3zXZAwj8vpvx4ArdqVmU6kVaMAMiYGjA+QTMocyXv6fhH7f4dkREsqJjU+2280yHiI4S\/ofiPoFTqYi7f6RJuf1et5bh\/pU6OfhyJtXxc3xfQIiICkyKOkS1dfu6k+Rjm2WgNAzkcP6WuiLrdgQgoKkERFwM\/9k=",
    "razonSocial": "FAM AMERICA LATINA MAQUINARIA LTDA.",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "DIEGO CRUZ",
    "correoContacto": "diego.cruz@beumer.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "WSP",
    "idFalla": "-2",
    "otraFalla": "INDICA DEMORA EN LLEGAS SCANER AL CORREO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "936460091",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:15",
    "ubicacionGPS": "LatLng(lat: -24.5835643, lng: -69.787341)",
    "horaLlegada": "10:10",
    "horaDespacho": "13:07",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 13:15:15
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-4S_NUGMps2UHrvToLgRb8Qa2fJF4MdQ03VCi2LH9KlWql-K0Vm8
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "776803790",
    "serieinterna": "EP2541",
    "correlativo": "1",
    "ddServicio": "Taller",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "mantencion y cambio de correa",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12408",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABXABsDASIAAhEBAxEB\/8QAGgABAQEBAQEBAAAAAAAAAAAAAAYFAwQCB\/\/EADMQAAEEAQEFBQQLAAAAAAAAAAEAAgMEEQUGITFBcSNhgZHBEhMiUQcUFTJSYqGisdHS\/8QAGAEAAwEBAAAAAAAAAAAAAAAAAgMEAAH\/xAApEQACAgACBwkAAAAAAAAAAAAAAQIRITEDBBJRYXHRIjJBQoGRobHh\/9oADAMBAAIRAxEAPwD9mREWMeLWLb6GkWbUeA+NhLc\/PgFz0CWxY0OrNalMssjPac4jGck4\/TCy9sZ3zR1NIhz7y5KM4\/CDz8SD4KhhiZXgjhjGGRtDWjuAwjaqKJ4yctO6ySr1Z0RF5tRuNoadYtux2TC4A8zyHnhAsR7aStk\/VaNU26s2CA6LT2CNud\/xcP5LvLyqVgbG1Hw6MbMu+S3IZSe7gPU+K30c863CNWXY2nnLH3Cm9tZpH0K2nw75LkwaBv3gdO8tVIpcn7U28A4xadFnhjLuvV37VoZ3uOay7hsLzOuvwUleFtatFAz7sTAxvQDC6IiApSrA5WbEdStLZmd7McTS5x7gp\/YyF8lW1qkoHvLsxdw5An1JX1thYmfVr6XV3zXZAwj8vpvx4ArdqVmU6kVaMAMiYGjA+QTMocyXv6fhH7f4dkREsqJjU+2280yHiI4S\/ofiPoFTqYi7f6RJuf1et5bh\/pU6OfhyJtXxc3xfQIiICkyKOkS1dfu6k+Rjm2WgNAzkcP6WuiLrdgQgoKkERFwM\/9k=",
    "razonSocial": "FAM AMERICA LATINA MAQUINARIA LTDA.",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "DIEGO CRUZ",
    "correoContacto": "diego.cruz@beumer.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "WSP",
    "idFalla": "-2",
    "otraFalla": "INDICA DEMORA EN LLEGAS SCANER AL CORREO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "936460091",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:15",
    "ubicacionGPS": "LatLng(lat: -24.5835643, lng: -69.787341)",
    "horaLlegada": "10:10",
    "horaDespacho": "13:07",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 13:15:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:776803790

[08/05/2026 13:15: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('776803790', 'EP2541', 1, 27729424, 0, NOW(), 
				'13:07', '10:10', '13:15', 4, 'mantencion y cambio de correa', -1, 
				'', '','1','0',
				'0',3,'../csj.digital-service.cl/uploads/firmas/firma_0_1778260515.png', '', null, 'COMPLETADO','LatLng(lat: -24.5835643, lng: -69.787341)' )
				
[08/05/2026 13:15:15] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200245

08/05/2026 13:15:15 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200245'                    
				WHERE idllamado = 12408			
				TO ENVIO: micorreo@miempresa.cl, diego.cruz@beumer.com


08/05/2026 13:15:15 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12408			
				
08/05/2026 13:15:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 13:15:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:15:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                [08/05/2026 13:15:18] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 13:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                [08/05/2026 13:15:18] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 13:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [08/05/2026 13:15:18] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 13:15:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:15:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            [08/05/2026 13:15: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;
                

08/05/2026 13:15:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:15:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:15:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13:15:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                [08/05/2026 13:15: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;
                

08/05/2026 13:15:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13: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 = 12408
                
08/05/2026 13:15:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12408
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12408
                
08/05/2026 13:15:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                
08/05/2026 13:15:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12408
                [08/05/2026 13:15: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;
                

08/05/2026 13:15:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            [08/05/2026 13:15: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;
                
[08/05/2026 13:15: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;
                

08/05/2026 13:15:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:15:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:15:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:15:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:15:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            [08/05/2026 13:15: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;
                

08/05/2026 13:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            [08/05/2026 13:15: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;
                

08/05/2026 13:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                [08/05/2026 13:15: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;
                

08/05/2026 13:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:15:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:15:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                [08/05/2026 13:15: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;
                

08/05/2026 13:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                [08/05/2026 13:15: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;
                

08/05/2026 13:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:15:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 13:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:15:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            [08/05/2026 13:15: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;
                

08/05/2026 13:15:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            [08/05/2026 13:15:58] 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;
                

08/05/2026 13:15:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            [08/05/2026 13:15:58] 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;
                
[08/05/2026 13:15:58] 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;
                

08/05/2026 13:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:15:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            [08/05/2026 13:15:58] 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;
                

08/05/2026 13:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:15:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13: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 = 12501
                
08/05/2026 13:15:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12501
                
08/05/2026 13: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 = 12501
                
08/05/2026 13: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 = 12501
                
08/05/2026 13:15:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12501
                
08/05/2026 13: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 = 12501
                
08/05/2026 13: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 = 12501
                
08/05/2026 13: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 = 12501
                
08/05/2026 13:16:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12501
                
08/05/2026 13:16:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:16:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 13:16:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            [08/05/2026 13:16: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;
                

08/05/2026 13:16:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/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 = 12505
                
08/05/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 = 12505
                [08/05/2026 13:16:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 13:16:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12505
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12501
                
08/05/2026 13:16:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12501
                
08/05/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 = 12501
                
08/05/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 = 12501
                
08/05/2026 13:16:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/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 = 12501
                
08/05/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 = 12501
                
08/05/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 = 12501
                
08/05/2026 13:16:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/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 = 12501
                [08/05/2026 13:16: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;
                

08/05/2026 13: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 = 12501
                
08/05/2026 13: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 = 12501
                
08/05/2026 13:16:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/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 = 12501
                
08/05/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 = 12501
                
08/05/2026 13:16:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/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 = 12501
                
08/05/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 = 12501
                
08/05/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 = 12501
                
08/05/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 = 12501
                
08/05/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 = 12501
                
08/05/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 = 12501
                
08/05/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 = 12501
                
08/05/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 = 12501
                
08/05/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 = 12501
                
08/05/2026 13:16:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/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 = 12501
                
08/05/2026 13:16:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:17 - logentry: =========================================
FECHA: 08/05/2026 13:16:17
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-X_R8_BqrW9LS24XatjTo.X2JHLAC+mVwFUFmLvg_mV+dfYk1pLA
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "9J3N529539",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "mall angamos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12501",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABXABsDASIAAhEBAxEB\/8QAGgABAQEBAQEBAAAAAAAAAAAAAAYFAwQCB\/\/EADMQAAEEAQEFBQQLAAAAAAAAAAEAAgMEEQUGITFBcSNhgZHBEhMiUQcUFTJSYqGisdHS\/8QAGAEAAwEBAAAAAAAAAAAAAAAAAgMEAAH\/xAApEQACAgACBwkAAAAAAAAAAAAAAQIRITEDBBJRYXHRIjJBQoGRobHh\/9oADAMBAAIRAxEAPwD9mREWMeLWLb6GkWbUeA+NhLc\/PgFz0CWxY0OrNalMssjPac4jGck4\/TCy9sZ3zR1NIhz7y5KM4\/CDz8SD4KhhiZXgjhjGGRtDWjuAwjaqKJ4yctO6ySr1Z0RF5tRuNoadYtux2TC4A8zyHnhAsR7aStk\/VaNU26s2CA6LT2CNud\/xcP5LvLyqVgbG1Hw6MbMu+S3IZSe7gPU+K30c863CNWXY2nnLH3Cm9tZpH0K2nw75LkwaBv3gdO8tVIpcn7U28A4xadFnhjLuvV37VoZ3uOay7hsLzOuvwUleFtatFAz7sTAxvQDC6IiApSrA5WbEdStLZmd7McTS5x7gp\/YyF8lW1qkoHvLsxdw5An1JX1thYmfVr6XV3zXZAwj8vpvx4ArdqVmU6kVaMAMiYGjA+QTMocyXv6fhH7f4dkREsqJjU+2280yHiI4S\/ofiPoFTqYi7f6RJuf1et5bh\/pU6OfhyJtXxc3xfQIiICkyKOkS1dfu6k+Rjm2WgNAzkcP6WuiLrdgQgoKkERFwM\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "YARITZA MATURANA",
    "correoContacto": "jefasucursal@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56990956084",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:16",
    "ubicacionGPS": "LatLng(lat: -24.5835537, lng: -69.7873093)",
    "horaLlegada": "08:47",
    "horaDespacho": "13:15",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 13:16:17
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-X_R8_BqrW9LS24XatjTo.X2JHLAC+mVwFUFmLvg_mV+dfYk1pLA
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "9J3N529539",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "mall angamos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12501",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABXABsDASIAAhEBAxEB\/8QAGgABAQEBAQEBAAAAAAAAAAAAAAYFAwQCB\/\/EADMQAAEEAQEFBQQLAAAAAAAAAAEAAgMEEQUGITFBcSNhgZHBEhMiUQcUFTJSYqGisdHS\/8QAGAEAAwEBAAAAAAAAAAAAAAAAAgMEAAH\/xAApEQACAgACBwkAAAAAAAAAAAAAAQIRITEDBBJRYXHRIjJBQoGRobHh\/9oADAMBAAIRAxEAPwD9mREWMeLWLb6GkWbUeA+NhLc\/PgFz0CWxY0OrNalMssjPac4jGck4\/TCy9sZ3zR1NIhz7y5KM4\/CDz8SD4KhhiZXgjhjGGRtDWjuAwjaqKJ4yctO6ySr1Z0RF5tRuNoadYtux2TC4A8zyHnhAsR7aStk\/VaNU26s2CA6LT2CNud\/xcP5LvLyqVgbG1Hw6MbMu+S3IZSe7gPU+K30c863CNWXY2nnLH3Cm9tZpH0K2nw75LkwaBv3gdO8tVIpcn7U28A4xadFnhjLuvV37VoZ3uOay7hsLzOuvwUleFtatFAz7sTAxvQDC6IiApSrA5WbEdStLZmd7McTS5x7gp\/YyF8lW1qkoHvLsxdw5An1JX1thYmfVr6XV3zXZAwj8vpvx4ArdqVmU6kVaMAMiYGjA+QTMocyXv6fhH7f4dkREsqJjU+2280yHiI4S\/ofiPoFTqYi7f6RJuf1et5bh\/pU6OfhyJtXxc3xfQIiICkyKOkS1dfu6k+Rjm2WgNAzkcP6WuiLrdgQgoKkERFwM\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "YARITZA MATURANA",
    "correoContacto": "jefasucursal@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56990956084",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:16",
    "ubicacionGPS": "LatLng(lat: -24.5835537, lng: -69.7873093)",
    "horaLlegada": "08:47",
    "horaDespacho": "13:15",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 13:16:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[08/05/2026 13:16: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', '9J3N529539', 2, 27729424, 0, NOW(), 
				'13:15', '08:47', '13:16', 10, 'mall angamos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778260577.png', '', null, 'COMPLETADO','LatLng(lat: -24.5835537, lng: -69.7873093)' )
				
[08/05/2026 13:16:17] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200246

08/05/2026 13:16:17 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200246'                    
				WHERE idllamado = 12501			
				TO ENVIO: micorreo@miempresa.cl, jefasucursal@gmail.com


08/05/2026 13:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:17 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12501			
				
08/05/2026 13:16:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 13:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                [08/05/2026 13:16:20] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 13:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            [08/05/2026 13:16:20] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 13:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                [08/05/2026 13:16:20] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 13:16:20] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 13:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            [08/05/2026 13:16:20] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 13:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            
08/05/2026 13:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12501
            GROUP BY l.idllamado;
            [08/05/2026 13:16:20] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12501
                
08/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:16:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            [08/05/2026 13:16: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;
                

08/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:16:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            [08/05/2026 13:16: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;
                

08/05/2026 13:16:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:16:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:16:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            [08/05/2026 13:16:22] 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;
                

08/05/2026 13:16:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:16:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                [08/05/2026 13:16:22] 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;
                

08/05/2026 13:16:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:16:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            [08/05/2026 13:16:22] 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;
                

08/05/2026 13:16:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            [08/05/2026 13:16:22] 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;
                

08/05/2026 13:16:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            [08/05/2026 13:16:24] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 13:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:16:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            [08/05/2026 13:16:24] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 13:16:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            [08/05/2026 13:16:24] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 13:16:24] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 13:16:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:16:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:16:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            [08/05/2026 13:16:24] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 13:16:24] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 13:16:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:16:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:16:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                [08/05/2026 13:16: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;
                
[08/05/2026 13:16:38] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[08/05/2026 13:16:42] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[08/05/2026 13:16:42] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[08/05/2026 13:16: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;
                

08/05/2026 13:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:17:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/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 = 12502
                
08/05/2026 13:17:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:17:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:17:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:17:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:17:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:17:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12502
                
08/05/2026 13: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 = 12502
                
08/05/2026 13: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 = 12502
                
08/05/2026 13: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 = 12502
                
08/05/2026 13:17:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:17:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/2026 13:17:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:17:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/2026 13:17:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/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 = 12502
                
08/05/2026 13: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 = 12502
                
08/05/2026 13: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 = 12502
                
08/05/2026 13: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 = 12502
                
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/2026 13:17:54 - logentry: =========================================
FECHA: 08/05/2026 13:17:54
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-+WxX1zH7fDeXyYo9Hnm13wW9nyd4To9EeO_ggFWiaq1BXyYPwVW
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "9J3N529539",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "mall angamos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12502",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAAGAAYDASIAAhEBAxEB\/8QAFQABAQAAAAAAAAAAAAAAAAAAAAf\/xAAbEAACAwADAAAAAAAAAAAAAAADBAARExIhMf\/EABUBAQEAAAAAAAAAAAAAAAAAAAEC\/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQACEf\/aAAwDAQACEQMRAD8ArS67Y32TGb1ASshcazr3uIiLTk4X\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "YARITZA MATURANA",
    "correoContacto": "jefasucursal@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS MALL",
    "prioridad": "1",
    "telefonocontacto": "+56990956084",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"XER-I333\",\"id_control\":\"28612\",\"cantidad_usada\":2,\"cantidad_asignada\":5},{\"id_inventario\":\"XER-I341\",\"id_control\":\"28612\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EQU-I832\",\"id_control\":\"28613\",\"cantidad_usada\":1,\"cantidad_asignada\":4},{\"id_inventario\":\"ADI-I404\",\"id_control\":\"28613\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I900\",\"id_control\":\"28613\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I901\",\"id_control\":\"28613\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I902\",\"id_control\":\"28613\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I903\",\"id_control\":\"28613\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:17",
    "ubicacionGPS": "LatLng(lat: -24.5835758, lng: -69.7872579)",
    "horaLlegada": "08:47",
    "horaDespacho": "13:16",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 13:17:54
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-+WxX1zH7fDeXyYo9Hnm13wW9nyd4To9EeO_ggFWiaq1BXyYPwVW
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "9J3N529539",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "mall angamos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12502",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAAGAAYDASIAAhEBAxEB\/8QAFQABAQAAAAAAAAAAAAAAAAAAAAf\/xAAbEAACAwADAAAAAAAAAAAAAAADBAARExIhMf\/EABUBAQEAAAAAAAAAAAAAAAAAAAEC\/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQACEf\/aAAwDAQACEQMRAD8ArS67Y32TGb1ASshcazr3uIiLTk4X\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "YARITZA MATURANA",
    "correoContacto": "jefasucursal@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS MALL",
    "prioridad": "1",
    "telefonocontacto": "+56990956084",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"XER-I333\",\"id_control\":\"28612\",\"cantidad_usada\":2,\"cantidad_asignada\":5},{\"id_inventario\":\"XER-I341\",\"id_control\":\"28612\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EQU-I832\",\"id_control\":\"28613\",\"cantidad_usada\":1,\"cantidad_asignada\":4},{\"id_inventario\":\"ADI-I404\",\"id_control\":\"28613\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I900\",\"id_control\":\"28613\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I901\",\"id_control\":\"28613\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I902\",\"id_control\":\"28613\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I903\",\"id_control\":\"28613\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:17",
    "ubicacionGPS": "LatLng(lat: -24.5835758, lng: -69.7872579)",
    "horaLlegada": "08:47",
    "horaDespacho": "13:16",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 13:17:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[08/05/2026 13:17: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('76121841', '9J3N529539', 2, 27729424, 0, NOW(), 
				'13:16', '08:47', '13:17', 10, 'mall angamos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778260674.png', '', null, 'COMPLETADO','LatLng(lat: -24.5835758, lng: -69.7872579)' )
				
[08/05/2026 13:17:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200247
[08/05/2026 13:17:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200247', 'XER-I333', 2)
				
[08/05/2026 13:17:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28612 and
				    IDproducto = 'XER-I333'
				

08/05/2026 13:17:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'XER-I333';
                [08/05/2026 13:17:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200247', 'XER-I341', 1)
				
[08/05/2026 13:17:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28612 and
				    IDproducto = 'XER-I341'
				

08/05/2026 13:17:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'XER-I341';
                [08/05/2026 13:17:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200247', 'EQU-I832', 1)
				
[08/05/2026 13:17:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28613 and
				    IDproducto = 'EQU-I832'
				

08/05/2026 13:17:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EQU-I832';
                [08/05/2026 13:17:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200247', 'ADI-I404', 1)
				
[08/05/2026 13:17:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28613 and
				    IDproducto = 'ADI-I404'
				

08/05/2026 13:17:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'ADI-I404';
                [08/05/2026 13:17:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200247', 'EPS-I900', 1)
				
[08/05/2026 13:17:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28613 and
				    IDproducto = 'EPS-I900'
				

08/05/2026 13:17:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I900';
                [08/05/2026 13:17:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200247', 'EPS-I901', 1)
				
[08/05/2026 13:17:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28613 and
				    IDproducto = 'EPS-I901'
				

08/05/2026 13:17:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I901';
                [08/05/2026 13:17:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200247', 'EPS-I902', 1)
				
[08/05/2026 13:17:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28613 and
				    IDproducto = 'EPS-I902'
				

08/05/2026 13:17:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I902';
                [08/05/2026 13:17:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200247', 'EPS-I903', 1)
				
[08/05/2026 13:17:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28613 and
				    IDproducto = 'EPS-I903'
				

08/05/2026 13:17:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I903';
                
08/05/2026 13:17:54 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200247'                    
				WHERE idllamado = 12502			
				TO ENVIO: micorreo@miempresa.cl, jefasucursal@gmail.com


08/05/2026 13:17:54 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12502			
				
08/05/2026 13:17:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com


08/05/2026 13:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12502
                
08/05/2026 13:18:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12502
                [08/05/2026 13:18: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;
                

08/05/2026 13:18:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12502
                [08/05/2026 13:18: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;
                

08/05/2026 13:18:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:18:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:18:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12502
                
08/05/2026 13: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 = 12502
                
08/05/2026 13:18:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            [08/05/2026 13:18: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;
                

08/05/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 = 12502
                [08/05/2026 13:18: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;
                

08/05/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 = 12502
                
08/05/2026 13:18:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/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 = 12502
                
08/05/2026 13:18:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/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 = 12502
                [08/05/2026 13:18: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;
                
[08/05/2026 13:18: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;
                
[08/05/2026 13:18: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;
                

08/05/2026 13:18:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:18:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/2026 13:18:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/2026 13:18:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12502
            GROUP BY l.idllamado;
            
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/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 = 12502
                
08/05/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 = 12502
                [08/05/2026 13:18: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;
                

08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:18: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;
                

08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12425
                
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:18: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;
                

08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12425
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:18:11] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 13:18:11] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/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 = 12425
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/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 = 12425
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:18:11] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                [08/05/2026 13:18:11] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/2026 13:18:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:18:12] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 13:18:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:18:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:18:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:18:12] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/2026 13:18:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:18:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/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 = 12425
                
08/05/2026 13:18:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:18:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/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 = 12425
                
08/05/2026 13:18:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:18:13] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 13:18:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:18:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/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 = 12425
                [08/05/2026 13:18:13] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/2026 13:18:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:18:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:18:13] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 13:18:13] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 13:18:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/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 = 12425
                [08/05/2026 13:18:13] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/2026 13:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:18:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13:18:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12425
                
08/05/2026 13:18:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:18:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:18:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:18:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:18:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12425
                
08/05/2026 13:18:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:18:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:18:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                [08/05/2026 13:19: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;
                

08/05/2026 13:19:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:19:58] 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;
                
[08/05/2026 13:19:58] 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;
                

08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/2026 13:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/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 = 12425
                
08/05/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 = 12425
                [08/05/2026 13:19: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;
                
[08/05/2026 13:19: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;
                

08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/2026 13:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:20: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;
                

08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/2026 13:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                [08/05/2026 13:20: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;
                

08/05/2026 13:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                [08/05/2026 13:20: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;
                

08/05/2026 13:20:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                [08/05/2026 13:20: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;
                

08/05/2026 13:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:20: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;
                

08/05/2026 13:20:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:20: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;
                
[08/05/2026 13:20: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;
                

08/05/2026 13:20:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:20: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;
                

08/05/2026 13:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:20: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;
                

08/05/2026 13:20:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:20: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;
                

08/05/2026 13: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 = 12425
                
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:20: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;
                

08/05/2026 13: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 = 12425
                
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:20: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;
                

08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:20: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;
                
[08/05/2026 13:20: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;
                

08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12425
                
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                [08/05/2026 13:20: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;
                

08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:20: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;
                

08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:20: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;
                

08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                [08/05/2026 13:20: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;
                

08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13:20:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/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 = 12425
                
08/05/2026 13:20:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/2026 13:20:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/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 = 12425
                [08/05/2026 13:20: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;
                

08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/2026 13:20:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/2026 13:20:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13:20:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/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 = 12425
                
08/05/2026 13:20:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:33 - logentry: =========================================
FECHA: 08/05/2026 13:20:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-1NrOQh7LLozefYtE3b_Z848f21bEPn-AHfwrMckAzXwJYI9zU7H
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76145047",
    "serieinterna": "TO3057",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se entrega en camus",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12425",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAAGAAYDASIAAhEBAxEB\/8QAFQABAQAAAAAAAAAAAAAAAAAAAAf\/xAAbEAACAwADAAAAAAAAAAAAAAADBAARExIhMf\/EABUBAQEAAAAAAAAAAAAAAAAAAAEC\/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQACEf\/aAAwDAQACEQMRAD8ArS67Y32TGb1ASshcazr3uIiLTk4X\/9k=",
    "razonSocial": "SCHWAGER SERVICE S.A.",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "KATHERINE VILLANUEVA GÓNZALEZ",
    "correoContacto": "kvillanueva@schwager.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56984778963",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1080\",\"id_control\":\"28573\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-I1081\",\"id_control\":\"28573\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I1082\",\"id_control\":\"28573\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:20",
    "ubicacionGPS": "LatLng(lat: -24.5835019, lng: -69.7873191)",
    "horaLlegada": "08:47",
    "horaDespacho": "13:18",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 13:20:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-1NrOQh7LLozefYtE3b_Z848f21bEPn-AHfwrMckAzXwJYI9zU7H
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76145047",
    "serieinterna": "TO3057",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se entrega en camus",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12425",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAAGAAYDASIAAhEBAxEB\/8QAFQABAQAAAAAAAAAAAAAAAAAAAAf\/xAAbEAACAwADAAAAAAAAAAAAAAADBAARExIhMf\/EABUBAQEAAAAAAAAAAAAAAAAAAAEC\/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQACEf\/aAAwDAQACEQMRAD8ArS67Y32TGb1ASshcazr3uIiLTk4X\/9k=",
    "razonSocial": "SCHWAGER SERVICE S.A.",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "KATHERINE VILLANUEVA GÓNZALEZ",
    "correoContacto": "kvillanueva@schwager.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56984778963",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1080\",\"id_control\":\"28573\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-I1081\",\"id_control\":\"28573\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I1082\",\"id_control\":\"28573\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:20",
    "ubicacionGPS": "LatLng(lat: -24.5835019, lng: -69.7873191)",
    "horaLlegada": "08:47",
    "horaDespacho": "13:18",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 13:20:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76145047

[08/05/2026 13:20:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76145047', 'TO3057', 1, 27729424, 0, NOW(), 
				'13:18', '08:47', '13:20', 10, 'se entrega en camus', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778260833.png', '', null, 'COMPLETADO','LatLng(lat: -24.5835019, lng: -69.7873191)' )
				
[08/05/2026 13:20:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200248
[08/05/2026 13:20:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200248', 'TOS-I1080', 2)
				
[08/05/2026 13:20:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28573 and
				    IDproducto = 'TOS-I1080'
				

08/05/2026 13:20:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I1080';
                [08/05/2026 13:20:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200248', 'TOS-I1081', 1)
				
[08/05/2026 13:20:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28573 and
				    IDproducto = 'TOS-I1081'
				

08/05/2026 13:20:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I1081';
                [08/05/2026 13:20:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200248', 'TOS-I1082', 1)
				
[08/05/2026 13:20:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28573 and
				    IDproducto = 'TOS-I1082'
				

08/05/2026 13:20:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I1082';
                
08/05/2026 13:20:33 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200248'                    
				WHERE idllamado = 12425			
				TO ENVIO: micorreo@miempresa.cl, kvillanueva@schwager.cl


08/05/2026 13:20:33 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12425			
				
08/05/2026 13:20:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


08/05/2026 13:20:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12425
                
08/05/2026 13:20:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:20: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;
                
[08/05/2026 13:20: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;
                

08/05/2026 13:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:20: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;
                

08/05/2026 13:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12425
                [08/05/2026 13:20: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;
                
[08/05/2026 13:20: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;
                

08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:20: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;
                

08/05/2026 13:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12425
                
08/05/2026 13:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:20: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;
                

08/05/2026 13:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            [08/05/2026 13:20: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;
                

08/05/2026 13:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12425
                [08/05/2026 13:20: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;
                

08/05/2026 13:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12425
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13: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 = 12425
                
08/05/2026 13:21:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 13:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:21:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 13:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:22:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:22:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 13:22:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:22:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:22:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:22:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 13:22:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12432
                
08/05/2026 13: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 = 12432
                
08/05/2026 13: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 = 12432
                
08/05/2026 13: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 = 12432
                
08/05/2026 13:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 13:22:30 - logentry: =========================================
FECHA: 08/05/2026 13:22:30
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-0nqCUTQPFL9LUj1RW2bHm80SIRYCBWZ4nzV19toO1UJWgPzyTJd
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76513726",
    "serieinterna": "KY2707",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "30840",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se entrega 2 toner\n•Se concuerda con el informático la creación de carpetas compartidas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12432",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADgANIDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABBEAABAwMBBQQHBQUHBQAAAAABAAIDBAURIQYSMUFhE1GBsRUicZGhwdEUIyRC8AcyNkPhFjNSssLS8SY0Y3KC\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgEDAgIIBQUBAAAAAAAAAAECAxExEiFBUQQiMmFxobHBEyOB0eE0QmKR8fD\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIiAItVTUw0cDp6iQRxsGS4qry3S57TzGltIfSUbT95VO0J9n0GvsUoxbKalaMNst8CUuu09BbHGHJqKjOBFFqc8ME8vNcAl2uueHxxwW2I6jfHrY6g5PwClLTs\/QWdodBHvTYw6Z+rj7O7wUopaorCK\/h1Km9SVu5fcrHonain+8ivEcz26hkgOD04KRsF4N0p3xTs7OspjuTs68M\/BSyq9OG037QahrBgT0+XAHTOB9EvqTuRcfgyi4t2btu7loREVZsCIiAIiIAiIgCLTVVdPRQmaplbFGDjeccBe4po54myxPbIx3BzTkFDl1ex7REQ6EREAREQBERAEREAXJcblS2qlNTVybrM4AGpce4BYudzprTRuqal+GjRrRxee4KuW221W0ta273du7St\/wC3p+RH08\/YpxjxeDPVqtPRDeT8u9maSiq9rKplwuQMNvjOYacfn6n6+5WuKGOCJsULGxxsGGtaMABegABgDACyuSlclSpKnvlvLCIiiXBVe14rdublVallMwRN6O0HycrJNKyngkmkOGRtLnHoBlV7YmFxt1TXSY36qcuOByH9SVZHaLZmq9arCP1\/r\/SyoiKs0hERAEREAREQFX2va2prrPRPJ3Jqj1gBnTLR8z8VqpBJsrfm0TnudbazWNzjpG72+fTBW27AT7dWqAj9yMyf5j\/pXftTbXXKySsjGZYj2rBjjjiPdlXp2Si8M86UHKU6scp7fRK6JlFF7O3QXa0RTuOZWepL\/wCw5+PHxUoqWrOzN8JqcVJYYREXCQREQBERAFz19dBbqOSqqHhrGDPtPIDqtznNYwve4Na0ZJJwAFUQ6TbK64ALLVRvznGsp\/qPcPapxjfd4KK1VwSjHeTwZtluqdpq0Xe7DFK0\/h6fkR9PP2K3AADAGAEa0NaGtAAAwAOSyuSlqO0qSprm3l8wiIolwREQEFtfXGksj4WAulqj2LQOODx+GnipG1UQt9qpqQcY2AO4fvcT8cqAqdy+7axU+6XU9taXP7i\/T54HXBVrVktopGWl16sp8FsvfzCIirNQXBcrzQWlm9VzhriMtjGrnewKOve0hpahtutkYqa953d0ahnt6+XNYtWy0Ubvtl2d9trX+s7tDlrOmOf6wrFFJXkZpVpSlopbvi+COYV+0F\/aTboGUFI4erNKTvOHeP6DxXFerdVWOiFbLfKmepMjdxpzhxBzrqdAPkrs5wa0ucQABkk8lU6f\/qraP7UWn0fbziPukdnOfHAyO4DvUoy48DPWpWSTbcnj72XIslJ9pdRwGZzRIY2l4c3JBxrnUIulFVc9BKyKwz8R+0R+Nfs1Nr0yB\/uVnVYsp3tsrw46kADPTRWdSnlGfo28ZPm2VO3AWTbOoocFlPXN34hnTPHz3h7lbFAbW299RbW10B3amhPascOOBqfLPgpO1V7bnbIKxoA7RvrAcncCPeuy3Skco\/LnKl9V4P7M7ERFWagiIgCIq7tPdZIxHaKEh1XWHcJB1jB8s+WV2K1OxXUqKnHUzkvFbUbQXQWS2yEUzT+Kmbw6j2D4lWWioqe30rKamjDI2DQd\/U9VzWS0RWa3spo8OefWlf8A43fTuUipSksLBXRptNzn2n5dwREUDQEREAUdfrmLTaZqnI7TG5EDzeeHu4+CkVVZD\/aTakQ53qG2+s7dOjn8tQe8fAqcFd3eCivNxjaOXsv+7ju2UtrqG1dvMPxNYe1kONcHgPjnxKnERRbu7llOCpwUVwCrt6v0zqr0PZ29rWv0fIOEXf4+S8Xm\/wA1RUG0WQGWrcd2SVvCIc8H58vapGx2OCy02637yofrLKeLj3DoppKKuzPKcqstFN7cX7Lv9DFksNPZ4Sc9rUyayTO4k9w7gpVFBbR3p1FEKCiy+4VAxG1oyWg8\/PCjvNlrcKFPkkcl\/r5rpXjZ2gwTJg1EudGgakfrvwp+30MNtoYqSBoDY2gE4xvHmT1K4tn7Ky0UQLwHVco3ppM5JPdnuUsuya7KwRowld1J5fkuQREUDQVix\/xhefDzVnVYsf8AGF58PNWdWVMmbovYfi\/U8ua17Cxwy1wwR3hVfZztLPfayxyH7p330BJ4j\/j\/AClWpVnauOSiqqK+Qx7zqV27L1aTp5kZ6pDfq8znSFptVX7fTiWZFrhmjqIGTRODmSNDmkcwVsVZqyEREBz11ZFb6GarmOGRNyep5DxOigdl6KWpqJ7\/AFgHa1ZPZDOd1n6AA6Baby99\/wBoIbNDv\/Zac79U4ZAz3fIdSrTFEyGJkUbQ1jGhrWjkBwCsfVjbizIvnVb\/ALY+v4PaIirNYREQBERAQ+0t2FrtjhG4\/aqgFkDRxzzPhn34XrZy0eh7UyF+DNId+UjvPLwGPiomgaNotqZLi471JQHcgGmHEcD79fcrYrJdVaTLS+bN1XjC939QqvfLxU11eLHZ3HtnHdnmb\/LHMZ5Y5nw4rdfb1M6f0PaMyV0uj3tOkQ569\/ku6x2SGy0pY09pPJrLKfzH6Ikoq7OTk6svhwxxfsj3Z7JSWWm7OnG892O0kdxcfkOikUXNX10Fto5KqodusYPEnkAobyZoSjTjZbJHPe7vFZre+pkw559WJn+N3071HbPWiZ0xvdzJfWzjLWuGOyadOHI49wXLZaCe\/Vvpy6tzED+FgOoA7\/Z5nXuVsU31VpWTPTTrSVSWFhe\/2CIirNYREQFYsf8AGF58PNWdVix\/xhefDzVnVlTJm6L2H4v1C01lLFW0ktNM3ejlaWkLcirNDSasys7K1L6OWpsNU776lcTGT+Zp1094PirMqxtVG631lFfII\/WheGTEcS08PmPFWOGaOogZNC8PjkaHNcOYKsnv1uZnoPTek+GPDh9jYo6+3L0VaJ6oayAbsYx+Y6D6+CkVVtp965Xq22QNBY93bSZONNR8AHLkFd7kukTcKb05wvFnZslbDb7SJpQftFWe0kJ44\/KPdr7SVOoijJ3dyynBU4KK4BERcJhERAFBbU3N1JQCjpsuq6w9lG1pGRnQn5DqpuSRkUbpJHbrGAuce4BVayxOvu0E19lH4eEmOmaR3cD8SfaeinBcXwM1eTsqccy9OLJ2zW1lqtkNI3UtGXnvceJUZtHfZaZ7bXbWmSvnGBu\/ywfn5cVvv1+9H7tHRs7e4TaRxjXdzzKxs\/YfRjXVVU\/tq+fWSQnOM8h9V1bdaRCTb+TS2tl8vybbDY4rPTEk9pVS6zSniT3Dp5qWRa554qaB88zwyOMbznHkFBtt3ZpjGNONlskeaurgoaZ9TUyCOJgySVV6KmqNra0XCvYY7bET2EGf3z17+p8O9eGxz7Z3Js0jXw2mnd6rc4Mp+vkFbooo4YmxRMDGMGGtaMABWdhd5mV+kSu+wvP8HprQ1oa0AADAA5LKIqjYEREAREQFYsn8YXjXu81Z1WLZ6m310YeJhDv8n1VnU6mTN0bsNd79QiIoGk01lLHW0ctLL+5KwtPTKr2yNXJTvqbHVHE1I4lnVudcefirOqttEDab7QXtjcRE9lUEd3\/GfcFZDdOJlr9RqquGfB\/YtKq9GPtW39ZI8n8NAAweAHzPvVna4OaHNIIIyCOarGzQMu0l9mcdWTbgHTed\/tCRw2dr7zpx7\/RMtCIirNIREQBEXFd7lHabbLVyYJaMMafzO5BdSu7EZSUU28EPtRVy1c8Fgoz99VEGVwH7jM\/0yeg6rNwuUez9DT2a2MM1aWBsbQ3OCfzHqTk4+Sh6aqktUbq6SPt71cyTFEW6xAk6468h0HVWGwWL0eHVlY7trhPrJI453c8h9Vc0orf\/AE86Ep1Ztx2b48ly8XkWCw+jg6rrH9vXzaySOOd3oD81NosOcGtLnEAAZJPJUttu7PQhCNOOmJ4mmip4XzTPDI2DLnOOgCquajbKsOC+C0QP15GY\/r3e1eKiafbC6\/ZKdxZaqdwMkgGO0P64e\/orbT08VLAyCCMRxsGGtbwCs7C7zN+of8F5\/j1EMMVPCyGFgZGwYa1o0AWxEVRswEREAREQBERAVim9X9olXjTfphnroz6BWdVio+6\/aJS\/+amPk7\/arOpz4eBm6P8AvX8mERFA0hclzoI7lbpqSThI3AP+E8j711oidjjSkrMr+yVbLJRyW2p\/v6B3Znq3l7uHgtGxpLn3RxOSak5+K13YSWLaiC7N3jS1eIpueD+hnwK97FkEXIg5BqT81e11W1xPOpyaqwpyzG\/9W2LQiIqD0giIgMOcGtLnEAAZJPJfPbreWXe4CqkYX0cBLKenOczP7yPEZ6YHNSG2t8yRaaZ2SdZnNd7fU08D7l17LbMChYyurm71SRmON38ofXyV8UoR1M8ytOVep8KnhZZu2esUsM77tczv185LgD\/LB+eNOg0ViRFTKTk7s306cacdMTBIAyTgBVKtranaquNttrjHQRn8RUD8w7h8hz9izdrhU7Q3A2W0yAU7R+JnHDHMdR5+xWK226ntVEykpgQxupJ4uPMlWLqK7yZ5N15aY9lZfPuXue6Kip7fSspqaMMjYNB39T1XQiKo1pJKyCIiHQiIgCIiAIiICr7Qfhtq7LVE4D3GPX24\/wBStCrO2zTFSUVa396nqQfeM\/6QrK1wc0OGoIyFZLspmaltVmvB+X4MoiKs0hERAclzt8d0t8tHLkNkGhHEEag+9RmytlqrNSzsqjGXSvBAY4nAGncp5FLU7WKnSi6iqcUERFEtCj75cDa7RPVMaXSNbhgxn1joCeg4+CkFggEYIyCurJGSbi0nYqOzGzj3yi8XMF0z3dpGx3EEnO8evMfrFvRF2UnJ3ZCjRjSjpiFV7tdKi81brJZzkcKmoB0aOYB\/WeCzdbrU3esdZrM7pUVI4MHMAqatVqprRRtp6dvV7zxee8qSWnd5KZSdZ6I9ni\/Ze4tVqprRRtp6dvV7zxee8rtRFBu+7NMYqKssBERcJBERAEREAREQBERARG1NOajZysaBktYHj\/5IJ+AK27PVIqrDRyA5IiDD7W6HyUhJG2WN0bxlrwWkd4KrOxkzoBXWmV33lLMS0E8s4OOmR8VYt4PuMsurXT5q39bloREVZqCIiAIiIAiIgCIiAKsXW61N3rHWazO6VFSODBzAKXW61N3rHWazO6VFSODBzAKmrVaqa0Ubaenb1e88XnvKsS07vJklJ1noh2eL9kLVaqa0Ubaenb1e88XnvK7URQbvuzTGKirLAREXCQREQBERAEREAREQBERAFWq6F9u2xpa6JhEVYzspiBpnvPuHuVlRSi7FdSnrS7ncIiKJYEREAREQBERAFWLrdam71jrNZndKipHBg5gFLrdam71jrNZndKipHBg5gFTVqtVNaKNtPTt6veeLz3lWJad3kySk6z0Q7PF+yFqtVNaKNtPTt6veeLz3ldqIoN33ZpjFRVlgIiLhIIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqvebtU3SuNjsx9c6Tzg6MHMZ8\/cve0F5nmn9CWkF9XLpJI047Ic9e\/vPL28JKyWSnstJ2UXryu1klI1cfkOisSUVdmScnWl8OGFl+yNtptVPaKJtNTt14veRq895XciKDd92aYxUVZYCIi4SCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKvXy+TfaRaLT95XS6OcOEQ+vks7R32SkLLbbh2lfUeqA3jGDz9vd7107P2Jlnpd6TElZLrNLx8B081YkorUzLOcqkvhw+r9l3+h7slkhs1OQD2lRJrLMeLj9FKIig227s0QhGEdMcBERcJBERAEREAREQBERAEREAREQBERAEREAREQBERAFC7R330RTsigb2lZPpEwDOOpHl3qUrJJ4qSWSmh7aZrSWR5xvH2qDsNlm+0G83bL66XVrCP7oezvx7lOKWWZ60pvqQy+PL8m+wWI28Ora13bXCfWR5Od3PIKbRFFtt3ZbTpxpx0xCIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/\/Z",
    "razonSocial": "INVERSIONES INMOBILIARIAS Y HOTELERAS MT S.A.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "KATHY HOTEL HAMPTON",
    "correoContacto": "recepcion.hamptonantofagasta@metro-op.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA ERROR AL SCANEAR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56986935892",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28623\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "13:22",
    "ubicacionGPS": "LatLng(lat: -23.6208057, lng: -70.3925905)",
    "horaLlegada": "09:51",
    "horaDespacho": "12:27",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 13:22:30
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-0nqCUTQPFL9LUj1RW2bHm80SIRYCBWZ4nzV19toO1UJWgPzyTJd
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76513726",
    "serieinterna": "KY2707",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "30840",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se entrega 2 toner\n•Se concuerda con el informático la creación de carpetas compartidas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12432",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADgANIDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABBEAABAwMBBQQHBQUHBQAAAAABAAIDBAURIQYSMUFhE1GBsRUicZGhwdEUIyRC8AcyNkPhFjNSssLS8SY0Y3KC\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgEDAgIIBQUBAAAAAAAAAAECAxExEiFBUQQiMmFxobHBEyOB0eE0QmKR8fD\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIiAItVTUw0cDp6iQRxsGS4qry3S57TzGltIfSUbT95VO0J9n0GvsUoxbKalaMNst8CUuu09BbHGHJqKjOBFFqc8ME8vNcAl2uueHxxwW2I6jfHrY6g5PwClLTs\/QWdodBHvTYw6Z+rj7O7wUopaorCK\/h1Km9SVu5fcrHonain+8ivEcz26hkgOD04KRsF4N0p3xTs7OspjuTs68M\/BSyq9OG037QahrBgT0+XAHTOB9EvqTuRcfgyi4t2btu7loREVZsCIiAIiIAiIgCLTVVdPRQmaplbFGDjeccBe4po54myxPbIx3BzTkFDl1ex7REQ6EREAREQBERAEREAXJcblS2qlNTVybrM4AGpce4BYudzprTRuqal+GjRrRxee4KuW221W0ta273du7St\/wC3p+RH08\/YpxjxeDPVqtPRDeT8u9maSiq9rKplwuQMNvjOYacfn6n6+5WuKGOCJsULGxxsGGtaMABegABgDACyuSlclSpKnvlvLCIiiXBVe14rdublVallMwRN6O0HycrJNKyngkmkOGRtLnHoBlV7YmFxt1TXSY36qcuOByH9SVZHaLZmq9arCP1\/r\/SyoiKs0hERAEREAREQFX2va2prrPRPJ3Jqj1gBnTLR8z8VqpBJsrfm0TnudbazWNzjpG72+fTBW27AT7dWqAj9yMyf5j\/pXftTbXXKySsjGZYj2rBjjjiPdlXp2Si8M86UHKU6scp7fRK6JlFF7O3QXa0RTuOZWepL\/wCw5+PHxUoqWrOzN8JqcVJYYREXCQREQBERAFz19dBbqOSqqHhrGDPtPIDqtznNYwve4Na0ZJJwAFUQ6TbK64ALLVRvznGsp\/qPcPapxjfd4KK1VwSjHeTwZtluqdpq0Xe7DFK0\/h6fkR9PP2K3AADAGAEa0NaGtAAAwAOSyuSlqO0qSprm3l8wiIolwREQEFtfXGksj4WAulqj2LQOODx+GnipG1UQt9qpqQcY2AO4fvcT8cqAqdy+7axU+6XU9taXP7i\/T54HXBVrVktopGWl16sp8FsvfzCIirNQXBcrzQWlm9VzhriMtjGrnewKOve0hpahtutkYqa953d0ahnt6+XNYtWy0Ubvtl2d9trX+s7tDlrOmOf6wrFFJXkZpVpSlopbvi+COYV+0F\/aTboGUFI4erNKTvOHeP6DxXFerdVWOiFbLfKmepMjdxpzhxBzrqdAPkrs5wa0ucQABkk8lU6f\/qraP7UWn0fbziPukdnOfHAyO4DvUoy48DPWpWSTbcnj72XIslJ9pdRwGZzRIY2l4c3JBxrnUIulFVc9BKyKwz8R+0R+Nfs1Nr0yB\/uVnVYsp3tsrw46kADPTRWdSnlGfo28ZPm2VO3AWTbOoocFlPXN34hnTPHz3h7lbFAbW299RbW10B3amhPascOOBqfLPgpO1V7bnbIKxoA7RvrAcncCPeuy3Skco\/LnKl9V4P7M7ERFWagiIgCIq7tPdZIxHaKEh1XWHcJB1jB8s+WV2K1OxXUqKnHUzkvFbUbQXQWS2yEUzT+Kmbw6j2D4lWWioqe30rKamjDI2DQd\/U9VzWS0RWa3spo8OefWlf8A43fTuUipSksLBXRptNzn2n5dwREUDQEREAUdfrmLTaZqnI7TG5EDzeeHu4+CkVVZD\/aTakQ53qG2+s7dOjn8tQe8fAqcFd3eCivNxjaOXsv+7ju2UtrqG1dvMPxNYe1kONcHgPjnxKnERRbu7llOCpwUVwCrt6v0zqr0PZ29rWv0fIOEXf4+S8Xm\/wA1RUG0WQGWrcd2SVvCIc8H58vapGx2OCy02637yofrLKeLj3DoppKKuzPKcqstFN7cX7Lv9DFksNPZ4Sc9rUyayTO4k9w7gpVFBbR3p1FEKCiy+4VAxG1oyWg8\/PCjvNlrcKFPkkcl\/r5rpXjZ2gwTJg1EudGgakfrvwp+30MNtoYqSBoDY2gE4xvHmT1K4tn7Ky0UQLwHVco3ppM5JPdnuUsuya7KwRowld1J5fkuQREUDQVix\/xhefDzVnVYsf8AGF58PNWdWVMmbovYfi\/U8ua17Cxwy1wwR3hVfZztLPfayxyH7p330BJ4j\/j\/AClWpVnauOSiqqK+Qx7zqV27L1aTp5kZ6pDfq8znSFptVX7fTiWZFrhmjqIGTRODmSNDmkcwVsVZqyEREBz11ZFb6GarmOGRNyep5DxOigdl6KWpqJ7\/AFgHa1ZPZDOd1n6AA6Baby99\/wBoIbNDv\/Zac79U4ZAz3fIdSrTFEyGJkUbQ1jGhrWjkBwCsfVjbizIvnVb\/ALY+v4PaIirNYREQBERAQ+0t2FrtjhG4\/aqgFkDRxzzPhn34XrZy0eh7UyF+DNId+UjvPLwGPiomgaNotqZLi471JQHcgGmHEcD79fcrYrJdVaTLS+bN1XjC939QqvfLxU11eLHZ3HtnHdnmb\/LHMZ5Y5nw4rdfb1M6f0PaMyV0uj3tOkQ569\/ku6x2SGy0pY09pPJrLKfzH6Ikoq7OTk6svhwxxfsj3Z7JSWWm7OnG892O0kdxcfkOikUXNX10Fto5KqodusYPEnkAobyZoSjTjZbJHPe7vFZre+pkw559WJn+N3071HbPWiZ0xvdzJfWzjLWuGOyadOHI49wXLZaCe\/Vvpy6tzED+FgOoA7\/Z5nXuVsU31VpWTPTTrSVSWFhe\/2CIirNYREQFYsf8AGF58PNWdVix\/xhefDzVnVlTJm6L2H4v1C01lLFW0ktNM3ejlaWkLcirNDSasys7K1L6OWpsNU776lcTGT+Zp1094PirMqxtVG631lFfII\/WheGTEcS08PmPFWOGaOogZNC8PjkaHNcOYKsnv1uZnoPTek+GPDh9jYo6+3L0VaJ6oayAbsYx+Y6D6+CkVVtp965Xq22QNBY93bSZONNR8AHLkFd7kukTcKb05wvFnZslbDb7SJpQftFWe0kJ44\/KPdr7SVOoijJ3dyynBU4KK4BERcJhERAFBbU3N1JQCjpsuq6w9lG1pGRnQn5DqpuSRkUbpJHbrGAuce4BVayxOvu0E19lH4eEmOmaR3cD8SfaeinBcXwM1eTsqccy9OLJ2zW1lqtkNI3UtGXnvceJUZtHfZaZ7bXbWmSvnGBu\/ywfn5cVvv1+9H7tHRs7e4TaRxjXdzzKxs\/YfRjXVVU\/tq+fWSQnOM8h9V1bdaRCTb+TS2tl8vybbDY4rPTEk9pVS6zSniT3Dp5qWRa554qaB88zwyOMbznHkFBtt3ZpjGNONlskeaurgoaZ9TUyCOJgySVV6KmqNra0XCvYY7bET2EGf3z17+p8O9eGxz7Z3Js0jXw2mnd6rc4Mp+vkFbooo4YmxRMDGMGGtaMABWdhd5mV+kSu+wvP8HprQ1oa0AADAA5LKIqjYEREAREQFYsn8YXjXu81Z1WLZ6m310YeJhDv8n1VnU6mTN0bsNd79QiIoGk01lLHW0ctLL+5KwtPTKr2yNXJTvqbHVHE1I4lnVudcefirOqttEDab7QXtjcRE9lUEd3\/GfcFZDdOJlr9RqquGfB\/YtKq9GPtW39ZI8n8NAAweAHzPvVna4OaHNIIIyCOarGzQMu0l9mcdWTbgHTed\/tCRw2dr7zpx7\/RMtCIirNIREQBEXFd7lHabbLVyYJaMMafzO5BdSu7EZSUU28EPtRVy1c8Fgoz99VEGVwH7jM\/0yeg6rNwuUez9DT2a2MM1aWBsbQ3OCfzHqTk4+Sh6aqktUbq6SPt71cyTFEW6xAk6468h0HVWGwWL0eHVlY7trhPrJI453c8h9Vc0orf\/AE86Ep1Ztx2b48ly8XkWCw+jg6rrH9vXzaySOOd3oD81NosOcGtLnEAAZJPJUttu7PQhCNOOmJ4mmip4XzTPDI2DLnOOgCquajbKsOC+C0QP15GY\/r3e1eKiafbC6\/ZKdxZaqdwMkgGO0P64e\/orbT08VLAyCCMRxsGGtbwCs7C7zN+of8F5\/j1EMMVPCyGFgZGwYa1o0AWxEVRswEREAREQBERAVim9X9olXjTfphnroz6BWdVio+6\/aJS\/+amPk7\/arOpz4eBm6P8AvX8mERFA0hclzoI7lbpqSThI3AP+E8j711oidjjSkrMr+yVbLJRyW2p\/v6B3Znq3l7uHgtGxpLn3RxOSak5+K13YSWLaiC7N3jS1eIpueD+hnwK97FkEXIg5BqT81e11W1xPOpyaqwpyzG\/9W2LQiIqD0giIgMOcGtLnEAAZJPJfPbreWXe4CqkYX0cBLKenOczP7yPEZ6YHNSG2t8yRaaZ2SdZnNd7fU08D7l17LbMChYyurm71SRmON38ofXyV8UoR1M8ytOVep8KnhZZu2esUsM77tczv185LgD\/LB+eNOg0ViRFTKTk7s306cacdMTBIAyTgBVKtranaquNttrjHQRn8RUD8w7h8hz9izdrhU7Q3A2W0yAU7R+JnHDHMdR5+xWK226ntVEykpgQxupJ4uPMlWLqK7yZ5N15aY9lZfPuXue6Kip7fSspqaMMjYNB39T1XQiKo1pJKyCIiHQiIgCIiAIiICr7Qfhtq7LVE4D3GPX24\/wBStCrO2zTFSUVa396nqQfeM\/6QrK1wc0OGoIyFZLspmaltVmvB+X4MoiKs0hERAclzt8d0t8tHLkNkGhHEEag+9RmytlqrNSzsqjGXSvBAY4nAGncp5FLU7WKnSi6iqcUERFEtCj75cDa7RPVMaXSNbhgxn1joCeg4+CkFggEYIyCurJGSbi0nYqOzGzj3yi8XMF0z3dpGx3EEnO8evMfrFvRF2UnJ3ZCjRjSjpiFV7tdKi81brJZzkcKmoB0aOYB\/WeCzdbrU3esdZrM7pUVI4MHMAqatVqprRRtp6dvV7zxee8qSWnd5KZSdZ6I9ni\/Ze4tVqprRRtp6dvV7zxee8rtRFBu+7NMYqKssBERcJBERAEREAREQBERARG1NOajZysaBktYHj\/5IJ+AK27PVIqrDRyA5IiDD7W6HyUhJG2WN0bxlrwWkd4KrOxkzoBXWmV33lLMS0E8s4OOmR8VYt4PuMsurXT5q39bloREVZqCIiAIiIAiIgCIiAKsXW61N3rHWazO6VFSODBzAKXW61N3rHWazO6VFSODBzAKmrVaqa0Ubaenb1e88XnvKsS07vJklJ1noh2eL9kLVaqa0Ubaenb1e88XnvK7URQbvuzTGKirLAREXCQREQBERAEREAREQBERAFWq6F9u2xpa6JhEVYzspiBpnvPuHuVlRSi7FdSnrS7ncIiKJYEREAREQBERAFWLrdam71jrNZndKipHBg5gFLrdam71jrNZndKipHBg5gFTVqtVNaKNtPTt6veeLz3lWJad3kySk6z0Q7PF+yFqtVNaKNtPTt6veeLz3ldqIoN33ZpjFRVlgIiLhIIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqvebtU3SuNjsx9c6Tzg6MHMZ8\/cve0F5nmn9CWkF9XLpJI047Ic9e\/vPL28JKyWSnstJ2UXryu1klI1cfkOisSUVdmScnWl8OGFl+yNtptVPaKJtNTt14veRq895XciKDd92aYxUVZYCIi4SCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKvXy+TfaRaLT95XS6OcOEQ+vks7R32SkLLbbh2lfUeqA3jGDz9vd7107P2Jlnpd6TElZLrNLx8B081YkorUzLOcqkvhw+r9l3+h7slkhs1OQD2lRJrLMeLj9FKIig227s0QhGEdMcBERcJBERAEREAREQBERAEREAREQBERAEREAREQBERAFC7R330RTsigb2lZPpEwDOOpHl3qUrJJ4qSWSmh7aZrSWR5xvH2qDsNlm+0G83bL66XVrCP7oezvx7lOKWWZ60pvqQy+PL8m+wWI28Ora13bXCfWR5Od3PIKbRFFtt3ZbTpxpx0xCIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/\/Z",
    "razonSocial": "INVERSIONES INMOBILIARIAS Y HOTELERAS MT S.A.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "KATHY HOTEL HAMPTON",
    "correoContacto": "recepcion.hamptonantofagasta@metro-op.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA ERROR AL SCANEAR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56986935892",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28623\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "13:22",
    "ubicacionGPS": "LatLng(lat: -23.6208057, lng: -70.3925905)",
    "horaLlegada": "09:51",
    "horaDespacho": "12:27",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 13:22:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76513726

[08/05/2026 13:22: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('76513726', 'KY2707', 1, 24456550, 30840, NOW(), 
				'12:27', '09:51', '13:22', 15, '•Se entrega 2 toner
•Se concuerda con el informático la creación de carpetas compartidas', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778260950.png', '', null, 'COMPLETADO','LatLng(lat: -23.6208057, lng: -70.3925905)' )
				
[08/05/2026 13:22:30] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200249
[08/05/2026 13:22:30] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200249', 'KYO-I1045', 2)
				
[08/05/2026 13:22:30] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28623 and
				    IDproducto = 'KYO-I1045'
				

08/05/2026 13:22:30 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'KYO-I1045';
                
08/05/2026 13:22:30 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200249'                    
				WHERE idllamado = 12432			
				TO ENVIO: micorreo@miempresa.cl, recepcion.hamptonantofagasta@metro-op.com


08/05/2026 13:22:30 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12432			
				
08/05/2026 13:22:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


08/05/2026 13:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:22:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 13:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                
08/05/2026 13:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12432
                [08/05/2026 13:22: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;
                

08/05/2026 13:22:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 13:22:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            [08/05/2026 13:22: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;
                
[08/05/2026 13:22: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;
                

08/05/2026 13:22:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 13:22:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12432
                
08/05/2026 13: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 = 12432
                
08/05/2026 13:22:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12432
                
08/05/2026 13: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 = 12432
                [08/05/2026 13:22: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;
                

08/05/2026 13: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 = 12432
                
08/05/2026 13:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12432
            GROUP BY l.idllamado;
            
08/05/2026 13: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 = 12432
                
08/05/2026 13: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 = 12432
                
08/05/2026 13: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 = 12432
                
08/05/2026 13: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 = 12432
                
08/05/2026 13: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 = 12432
                
08/05/2026 13: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 = 12432
                
08/05/2026 13: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 = 12432
                
08/05/2026 13: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 = 12432
                
08/05/2026 13: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 = 12432
                
08/05/2026 13:23:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 13:23:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        
08/05/2026 13:23:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 13:23:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        [08/05/2026 13:23: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;
                

08/05/2026 13:23:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 13:23:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        
08/05/2026 13:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:23:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 13:23:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        [08/05/2026 13:23: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;
                

08/05/2026 13:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13: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 = 12511
                
08/05/2026 13: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 = 12511
                
08/05/2026 13: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 = 12511
                
08/05/2026 13: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 = 12511
                
08/05/2026 13:23:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 13:23:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        
08/05/2026 13:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:23:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 13:23:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        
08/05/2026 13:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13: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 = 12511
                
08/05/2026 13: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 = 12511
                
08/05/2026 13: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 = 12511
                
08/05/2026 13:23:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 13:23:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        
08/05/2026 13: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 = 12511
                
08/05/2026 13: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 = 12511
                
08/05/2026 13: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 = 12511
                
08/05/2026 13:24:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 13: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 = 12511
                
08/05/2026 13:24:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        
08/05/2026 13: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 = 12511
                
08/05/2026 13: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 = 12511
                
08/05/2026 13: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 = 12511
                
08/05/2026 13:25:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 13:25:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        
08/05/2026 13: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 = 12511
                
08/05/2026 13: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 = 12511
                
08/05/2026 13:25:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 13:25:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        
08/05/2026 13: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 = 12511
                
08/05/2026 13: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 = 12511
                
08/05/2026 13:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:27:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 13:27:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        
08/05/2026 13:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:27:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 13:27:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        
08/05/2026 13:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:27:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 13:27:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        
08/05/2026 13:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13: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 = 12511
                
08/05/2026 13: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 = 12511
                
08/05/2026 13:27:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 13:27:39 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        
08/05/2026 13:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:27:39 - logentry: =========================================
FECHA: 08/05/2026 13:27:39
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-qcDj+3E-UpdtD0ou7RtyrIV+oJlesNS8YhLMNEbZ0PHCKansvvL
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2639",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "Munic de Taltal",
    "ciudadmaquina": "Taltal",
    "departamentomaquina": "Prev de Riesgos",
    "rutTecnico": "21773342",
    "contador": "21776",
    "contadorColor": "149680",
    "contadorScanner": "0",
    "detalle": "Instalacion\nConfiguracion 2pc",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12511",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABrANkDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEBwH\/xABIEAABAwMBBAYFBwgIBwAAAAABAAIDBAURBhIhMaETQVGBkcEUImFxsRUWIyQyQtEHMzZSY3OSwiU0Q3KistLwNVNUYqPh8f\/EABoBAQADAQEBAAAAAAAAAAAAAAABAgMEBQb\/xAAyEQACAQIEAgcHBQEAAAAAAAAAAQIDEQQSITEyQRNRcYGRofAFFCIzYdHhI1KxwfFC\/9oADAMBAAIRAxEAPwD2ZERAEREAREQBERAEREAREQBERAEREAREQBR1+r5bXZp6yBrHSR7OA8Eje4DqI7VIqA1q8t05KBwc9gPjnyVoK8kjGvJxpSa6md9qusFyposSxmo6Fj5Y2fdJAPmpBVDRbQbjdHDd0exGN3UNofyq3qZq0rEYeo6lNSYREVDcIiIAiIgCIiAIiwlkEUT5HZIY0uOPYgM0XHa7nBd6IVdO2RrC4txIADu9xK7FLVtCIyUldbBERQSEREAREQBERAEWL3sjbtPcGjtJwuN97tbJBGbhTl7iAGtkBOT7lKTZVyjHdnciIoLBV7W36Ov\/AHrFYVXtbfo6\/wDesV4cSOfE\/Jl2HFob15bpOOEkrcf4jx71blUvyf8A9Rq\/3o+CtqmrxspgvkR9cwiIszrCIiAIsXPYwgOcG5OBk4yskARa5JoovzkrGf3nALVJcqGIZkradg7XStHmpsyHJLdnStNWC6jnaN5MbgPBcEuprLD9q4RHdn1Mu+C4KjW9oALI2VE+1u9RmM+JCsoS6jGdeklrJGeiHA6eaB1SuB5Kwqg6Zut1pba+moLW6qBlJ6UkhrSQN3LPHrUvt6yq+DKSiB4Zwf8AUrzh8T1ObD4hKlFJN6ckWda5ZooGbc0rI29r3ADmq2NO36qH13UD2drYQcHm34LOLQ9uBD6mepqH9Zc\/APnzVcsVuzfpaz4YeL\/0kZtS2an+3cIiO1mX\/wCUFcEuubSw4jbUTE8NiPGfEhdzNP2OjjLzQU4Y0ZLpRtAd7srhqNUWe3uENvhFTK44DKZgA8fwypSi9k2ZznVivjko+Zrdquvn\/qVgqZAd4e7OMdw81rkuWq3RmSSlo6GL\/mSvDdn35cfgvom1bdHfRQxW2Ltfx4+3J5BbodGwSSCa6VtRXyDqc4tb7uOeYVvhW9v5Mf1qnC35RX3K7WX+8F3RtvDZpHersUsfDv2RyylPa9U3T1nPqmsO7anlLB4E55K\/UlBR0DNikpo4RjB2G4J954lbyQBknACdKlsiVgpS1qTfrtKbS6Bc8tdcK8uPW2IZ\/wAR\/BTVLpOzUha5tL0j2nIfI8k5+C66m9WyjJE9dAxw4t2wXeA3qGq9d22EkU0U1QR142Gnx38lF6ki+TCUd7fyWdFQZ9fV7iegpYIxuxtZcRzCytmt670kiti9IjLDsshYA7ayMf79qjoZ2J9\/oN2uXxV7W36Ov\/esWn5w32rwKGwPZng6cnHPHxUfeabVdfbnCrhj6Pab9BCA5xPbuz29qmEGpJtkV66nSkoJvTqOnQv0brlT9Ucrf5h5Ky1FxoaQ4qKyCI9j5AD4Ki22wvmv9Ra62rnje2ISOdGftnAOD\/FyVkp9F2WDe+GSc\/tJD5YU1FHNdsphZVujUYxWl939TOo1jZafhUumPZGwnmcBcZ1jLUYFus1VUZPEjHwBU5T2m3UpBgoYIyPvCMZ8V2LO8FyOnJXlvJLsX3Kv6Zq+sA6Khp6Rp4OeRkdxJ+CCw6iqx9dvxizxbADw7tlWhFOfqQ92T4pN9\/2K3DoigDxJVVNTUyZyXOfjPnzVkRFVyctzWnShT4FYh7tpmhvNW2pqZJw9rAwBjgBgEns9pXM3RFmAwWzn2mRWFFKnJaXKSw9KTzOKuV1+h7O5uAJ2HtEn4haPmNTxEupLjVQOI3HIPwwrSidJLrKvC0H\/AMnn2n5L7QxVAt0cdRFDNiWncPWzwzy7epWiz6mors7oCDTVQODDIeJ9h6+HsUFbrxTWK53v0kOLTU+oGDJJy7d4LXWUV11S83COhjomRNJic7IkkxwGev2HGFtJKT18TgpVJU4pQd3+3v8AItlfebdbB9bqmRu\/UHrO8BvUG7U1yumWWO2Pc3ax08vAeXNR+n26cgt\/pVy2BVskIe2clxyOxnf2cc9ikarXluhGzS0805HDOGN\/Hkq5LOyVzZ4jNHNOainyWr9dxkzS1ZcJemvlyfNn+xiOGj\/fsCnKG10NtjDKSmZHj7wGXH3niqTVa7ucpIp4oadvVu2neJ3clETXW7XJ3RyVdRNtEfRtJwe4K3RzluzFYvD03eEW31\/6el1l4ttBkVNZFG5vFu1l3gN6gazXtFFkUlNLO7qLjsN8zyVXp9NXadnSGlMEYGTJOQwAdu9a6qho6EFste2omH9nTDLR73nyBUxpQ67lKmMxDV0sq9dZIVetrvUHELo6Zv7NuT4nKin1FfcpOiMtVVvcchpc55PdvWltPNM0vip3ljRvcGkjvK66C71tqpnCiljiMp9ZwaC\/3b+A\/Fa5UuFHC6k5v9STsboNL3qp3soHsH7QhnxOVjUWE0jT6Rc6BjhxYJXOd4NaVgy5emPcbtWV0zepkbx57h4Lqgu9mpMdDYWyu63VE23yxhReRdKi19\/sl\/ZxUFJXTVJZQU4qiHY2hCHt79oYA9+F6Lp6Cvp7aGXGOJk+2cCNrR6vVnZGOOVVotb3F5bBR2+mBO5jGtceQIXfS3LV9bHiOgiiDj+clZsbIx2E9\/ArOopS3sjtwsqVN3i3J\/RaFuRV+Gx3Wpkjmul3e50cge1lP6rd3bwB8PirAuZpLmerCUpatWKvdPqWuLbU7WG1DOiPtO8ebVaFWNbNMNNQ17Pt01QMezO\/4tCszSHNDhvBGQry1imZUdKk4\/VPxX4PqIizOkIiIAiIgCIiAIiIDyzUMkRvdf0eHB0oIcDu4b+B9q0U9PdquMNp46uVgGAGBxaPJWq8y01m1jT180X0EsB29lmcu3jvP2VprdfuJLaCjAHU+Y7\/AOEfiuxSlZWR8\/OlTU5OpO2uyRA0WnrhW3KW3hjYZ4m7TxKcADd2Z7QpR2l7ZQAm6XuNjm\/ajiGXD4nrHUoKe5VVTWyVc0z+klAEhjOztDAGN3sAXZQWS4XRodRUAbEd3SyHcR7zuPcFZ35uxjT6N6RhmfrkjsNbpmiB9Etk9c9g3vnfhvHiR4dS0y6trw0x0UVPQxn7sEQGfflSEOgK15zU1sMZO87ALzzwpGDQNAz8\/VTyH\/tw0eapmprfU6VRxcuFZfBfkpFRW1VWc1NTLMQcjpHl2PFZxHaeRG7YPFohj2iD2ZO8cccV6NTaVstKdptE2R3bKS\/kdylIYIaduzDEyJvYxoA5KHWXJF4ezqjd5y9eR5tDaa6qeH\/JFbO79aeQtacdwPNd9LpO8mTbFPR0mT9\/EmPdnaV+RZuszqj7PprdsqkeiTK0NrbrPKwfcYNkDxz8F1O0TZjEGBkzXAH1xIcny5Kfe9kbC+RwY1oyXOOAFE1mqrNRkh1WJXj7sQ2+Y3c1VTm9jSVDDU18SXf+TK06coLPKZafpXSFuztSOzuzngMD\/wCKWVLrPygcRRUXudM7yH4qHn1Rfbi8xxzvbtDcynZg9xG\/mr9FOWrMffcPSWWmr9h6RLNFAzbmlZG3te4Ac1Gz6nstOdl1fG8\/s8v5jcqVBpe\/XJ4lmieza4yVL8HvHHkpml\/J\/GN9ZXOdu+zC3GO85+CZILdhYjE1OCnbt9I137VtuuVqmo4IqgvkAw5wAAIPvX2z6uqHijt8dvdKGBkb5A4uONwJwB2KdpdK2ak3tomyuxjMxL89x3clH6Sf6FX3KzOOOhlMkYPEt4H+XxU3hldkVyYhVYuckr6aeJaERFznqBERAEREAREQBc9fWx26ilq5WvcyIZcGDJ4roXwtDhhwBHYURDvbQ84v96qL06KshoHxU9K47MpbtbyR9o8Oobl0U2jJ5qZ1dX1scMWx0hLBtHZxnPUArpdKFtxtdRRbh0jCG54B3Fp7iAqnF8s1tsi062kfCWYbPO8HAbnIHh+C6Yzuvh0PIq4dRqXqXldadvVodGibRTPppLhNA2QmTEJkGSAOsDz9iuC0UdLHRUcVNGAGxNDRgYz7VvWE5Znc9KhSVKmohFH1t9tlvH1msja79Rp2neA3qH+eE1a8x2i0z1J4bb9wB9uM47yEUJMieIpwdm9fEmaq+WuieWVFdC1wOC0HaIPtA9y5PnfYf+v\/APC\/\/Sq5Boi41k7pqx8NIJHFxYz1iMngAN3NTNNoa1RMHTOmnd1kv2R4BaONNbs5o1cXN6RSX1MKzXdthyKaKWpcOBxsNPed\/JQNZri61GRAIqZp62t2neJ\/BXGn01ZqYYZb4Xe2Qbf+bK2PsNofxttKN2N0QHwRSprkROji5rWaXYecxsr708GevjODuNTUtbg+wE58Ap2h0H0zdue5RkA4Ipxtcz+CsEuk7HLxoQ09rHub8CuOTRNKx23QV1VSSdodkeR5q7qp7OxhHBSi7zjm7zopdHWam3up3TuBzmZ5PIYHJTEFNBTM2KeCOFp6o2ho5KufJ+rKDHo9xhrGD7svE+I80+ct4os\/KdjkDRxkhzsg8xzWbjKXO51wqUqW8HHu\/tFoRQVLrKzVO5074HHqlYRzGRzUxDVU9SMwTxyjGcseHfBUcWt0dMKsJ8LubVV7j\/R2uKCqAIZWM6J2\/i7h5sVoVa1vCfkynq2HEtPOC05xjP8A7AU0+K3WZYr5eZcrPwLKixjf0kbX4xtAHCyVDpCIiAIiIAiIgCgtQVl4t0kdbRNjlpGNxNG5u8Enj2+CnV8c0OaWuAIIwQetSnZlKkHONk7EQNV2QxNkNc0bQzslrsj3gBc02t7PGcRGec9WxHjPjhSA0\/Zwf+G0\/wDAF1w0dLTfmKaGL+4wN+CveBjbEPdpdzK6dQ3u4HZtdlewHeJajcMd+B2dZWJ07e7m7N2vBbH1xQcDv7h34KtSJntsiPd83zJN+S8iGotKWehAIpRM8ffmO0fDhyUuxjI2BkbQxrRgNaMALJFRtvc3hThBWirBERQXCIiAIiIAiIgOSrtVBXD6zRxSn9Yt3+PFQ82h7RIcxmogOcjYkzjxBVjRWUpLZmU6FOfFFFYOjB1Xes\/iWcOjKYTMfVVtRVNY7IZIdx9hVkRT0kusz91o\/tPgAAwBgBfURUOkIiIAiIgP\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:27",
    "ubicacionGPS": "LatLng(lat: -25.4075582, lng: -70.4864656)",
    "horaLlegada": "07:49",
    "horaDespacho": "12:28",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 13:27:39
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-qcDj+3E-UpdtD0ou7RtyrIV+oJlesNS8YhLMNEbZ0PHCKansvvL
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2639",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "Munic de Taltal",
    "ciudadmaquina": "Taltal",
    "departamentomaquina": "Prev de Riesgos",
    "rutTecnico": "21773342",
    "contador": "21776",
    "contadorColor": "149680",
    "contadorScanner": "0",
    "detalle": "Instalacion\nConfiguracion 2pc",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12511",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABrANkDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEBwH\/xABIEAABAwMBBAYFBwgIBwAAAAABAAIDBAURBhIhMaETQVGBkcEUImFxsRUWIyQyQtEHMzZSY3OSwiU0Q3KistLwNVNUYqPh8f\/EABoBAQADAQEBAAAAAAAAAAAAAAABAgMEBQb\/xAAyEQACAQIEAgcHBQEAAAAAAAAAAQIDEQQSITEyQRNRcYGRofAFFCIzYdHhI1KxwfFC\/9oADAMBAAIRAxEAPwD2ZERAEREAREQBERAEREAREQBERAEREAREQBR1+r5bXZp6yBrHSR7OA8Eje4DqI7VIqA1q8t05KBwc9gPjnyVoK8kjGvJxpSa6md9qusFyposSxmo6Fj5Y2fdJAPmpBVDRbQbjdHDd0exGN3UNofyq3qZq0rEYeo6lNSYREVDcIiIAiIgCIiAIiwlkEUT5HZIY0uOPYgM0XHa7nBd6IVdO2RrC4txIADu9xK7FLVtCIyUldbBERQSEREAREQBERAEWL3sjbtPcGjtJwuN97tbJBGbhTl7iAGtkBOT7lKTZVyjHdnciIoLBV7W36Ov\/AHrFYVXtbfo6\/wDesV4cSOfE\/Jl2HFob15bpOOEkrcf4jx71blUvyf8A9Rq\/3o+CtqmrxspgvkR9cwiIszrCIiAIsXPYwgOcG5OBk4yskARa5JoovzkrGf3nALVJcqGIZkradg7XStHmpsyHJLdnStNWC6jnaN5MbgPBcEuprLD9q4RHdn1Mu+C4KjW9oALI2VE+1u9RmM+JCsoS6jGdeklrJGeiHA6eaB1SuB5Kwqg6Zut1pba+moLW6qBlJ6UkhrSQN3LPHrUvt6yq+DKSiB4Zwf8AUrzh8T1ObD4hKlFJN6ckWda5ZooGbc0rI29r3ADmq2NO36qH13UD2drYQcHm34LOLQ9uBD6mepqH9Zc\/APnzVcsVuzfpaz4YeL\/0kZtS2an+3cIiO1mX\/wCUFcEuubSw4jbUTE8NiPGfEhdzNP2OjjLzQU4Y0ZLpRtAd7srhqNUWe3uENvhFTK44DKZgA8fwypSi9k2ZznVivjko+Zrdquvn\/qVgqZAd4e7OMdw81rkuWq3RmSSlo6GL\/mSvDdn35cfgvom1bdHfRQxW2Ltfx4+3J5BbodGwSSCa6VtRXyDqc4tb7uOeYVvhW9v5Mf1qnC35RX3K7WX+8F3RtvDZpHersUsfDv2RyylPa9U3T1nPqmsO7anlLB4E55K\/UlBR0DNikpo4RjB2G4J954lbyQBknACdKlsiVgpS1qTfrtKbS6Bc8tdcK8uPW2IZ\/wAR\/BTVLpOzUha5tL0j2nIfI8k5+C66m9WyjJE9dAxw4t2wXeA3qGq9d22EkU0U1QR142Gnx38lF6ki+TCUd7fyWdFQZ9fV7iegpYIxuxtZcRzCytmt670kiti9IjLDsshYA7ayMf79qjoZ2J9\/oN2uXxV7W36Ov\/esWn5w32rwKGwPZng6cnHPHxUfeabVdfbnCrhj6Pab9BCA5xPbuz29qmEGpJtkV66nSkoJvTqOnQv0brlT9Ucrf5h5Ky1FxoaQ4qKyCI9j5AD4Ki22wvmv9Ra62rnje2ISOdGftnAOD\/FyVkp9F2WDe+GSc\/tJD5YU1FHNdsphZVujUYxWl939TOo1jZafhUumPZGwnmcBcZ1jLUYFus1VUZPEjHwBU5T2m3UpBgoYIyPvCMZ8V2LO8FyOnJXlvJLsX3Kv6Zq+sA6Khp6Rp4OeRkdxJ+CCw6iqx9dvxizxbADw7tlWhFOfqQ92T4pN9\/2K3DoigDxJVVNTUyZyXOfjPnzVkRFVyctzWnShT4FYh7tpmhvNW2pqZJw9rAwBjgBgEns9pXM3RFmAwWzn2mRWFFKnJaXKSw9KTzOKuV1+h7O5uAJ2HtEn4haPmNTxEupLjVQOI3HIPwwrSidJLrKvC0H\/AMnn2n5L7QxVAt0cdRFDNiWncPWzwzy7epWiz6mors7oCDTVQODDIeJ9h6+HsUFbrxTWK53v0kOLTU+oGDJJy7d4LXWUV11S83COhjomRNJic7IkkxwGev2HGFtJKT18TgpVJU4pQd3+3v8AItlfebdbB9bqmRu\/UHrO8BvUG7U1yumWWO2Pc3ax08vAeXNR+n26cgt\/pVy2BVskIe2clxyOxnf2cc9ikarXluhGzS0805HDOGN\/Hkq5LOyVzZ4jNHNOainyWr9dxkzS1ZcJemvlyfNn+xiOGj\/fsCnKG10NtjDKSmZHj7wGXH3niqTVa7ucpIp4oadvVu2neJ3clETXW7XJ3RyVdRNtEfRtJwe4K3RzluzFYvD03eEW31\/6el1l4ttBkVNZFG5vFu1l3gN6gazXtFFkUlNLO7qLjsN8zyVXp9NXadnSGlMEYGTJOQwAdu9a6qho6EFste2omH9nTDLR73nyBUxpQ67lKmMxDV0sq9dZIVetrvUHELo6Zv7NuT4nKin1FfcpOiMtVVvcchpc55PdvWltPNM0vip3ljRvcGkjvK66C71tqpnCiljiMp9ZwaC\/3b+A\/Fa5UuFHC6k5v9STsboNL3qp3soHsH7QhnxOVjUWE0jT6Rc6BjhxYJXOd4NaVgy5emPcbtWV0zepkbx57h4Lqgu9mpMdDYWyu63VE23yxhReRdKi19\/sl\/ZxUFJXTVJZQU4qiHY2hCHt79oYA9+F6Lp6Cvp7aGXGOJk+2cCNrR6vVnZGOOVVotb3F5bBR2+mBO5jGtceQIXfS3LV9bHiOgiiDj+clZsbIx2E9\/ArOopS3sjtwsqVN3i3J\/RaFuRV+Gx3Wpkjmul3e50cge1lP6rd3bwB8PirAuZpLmerCUpatWKvdPqWuLbU7WG1DOiPtO8ebVaFWNbNMNNQ17Pt01QMezO\/4tCszSHNDhvBGQry1imZUdKk4\/VPxX4PqIizOkIiIAiIgCIiAIiIDyzUMkRvdf0eHB0oIcDu4b+B9q0U9PdquMNp46uVgGAGBxaPJWq8y01m1jT180X0EsB29lmcu3jvP2VprdfuJLaCjAHU+Y7\/AOEfiuxSlZWR8\/OlTU5OpO2uyRA0WnrhW3KW3hjYZ4m7TxKcADd2Z7QpR2l7ZQAm6XuNjm\/ajiGXD4nrHUoKe5VVTWyVc0z+klAEhjOztDAGN3sAXZQWS4XRodRUAbEd3SyHcR7zuPcFZ35uxjT6N6RhmfrkjsNbpmiB9Etk9c9g3vnfhvHiR4dS0y6trw0x0UVPQxn7sEQGfflSEOgK15zU1sMZO87ALzzwpGDQNAz8\/VTyH\/tw0eapmprfU6VRxcuFZfBfkpFRW1VWc1NTLMQcjpHl2PFZxHaeRG7YPFohj2iD2ZO8cccV6NTaVstKdptE2R3bKS\/kdylIYIaduzDEyJvYxoA5KHWXJF4ezqjd5y9eR5tDaa6qeH\/JFbO79aeQtacdwPNd9LpO8mTbFPR0mT9\/EmPdnaV+RZuszqj7PprdsqkeiTK0NrbrPKwfcYNkDxz8F1O0TZjEGBkzXAH1xIcny5Kfe9kbC+RwY1oyXOOAFE1mqrNRkh1WJXj7sQ2+Y3c1VTm9jSVDDU18SXf+TK06coLPKZafpXSFuztSOzuzngMD\/wCKWVLrPygcRRUXudM7yH4qHn1Rfbi8xxzvbtDcynZg9xG\/mr9FOWrMffcPSWWmr9h6RLNFAzbmlZG3te4Ac1Gz6nstOdl1fG8\/s8v5jcqVBpe\/XJ4lmieza4yVL8HvHHkpml\/J\/GN9ZXOdu+zC3GO85+CZILdhYjE1OCnbt9I137VtuuVqmo4IqgvkAw5wAAIPvX2z6uqHijt8dvdKGBkb5A4uONwJwB2KdpdK2ak3tomyuxjMxL89x3clH6Sf6FX3KzOOOhlMkYPEt4H+XxU3hldkVyYhVYuckr6aeJaERFznqBERAEREAREQBc9fWx26ilq5WvcyIZcGDJ4roXwtDhhwBHYURDvbQ84v96qL06KshoHxU9K47MpbtbyR9o8Oobl0U2jJ5qZ1dX1scMWx0hLBtHZxnPUArpdKFtxtdRRbh0jCG54B3Fp7iAqnF8s1tsi062kfCWYbPO8HAbnIHh+C6Yzuvh0PIq4dRqXqXldadvVodGibRTPppLhNA2QmTEJkGSAOsDz9iuC0UdLHRUcVNGAGxNDRgYz7VvWE5Znc9KhSVKmohFH1t9tlvH1msja79Rp2neA3qH+eE1a8x2i0z1J4bb9wB9uM47yEUJMieIpwdm9fEmaq+WuieWVFdC1wOC0HaIPtA9y5PnfYf+v\/APC\/\/Sq5Boi41k7pqx8NIJHFxYz1iMngAN3NTNNoa1RMHTOmnd1kv2R4BaONNbs5o1cXN6RSX1MKzXdthyKaKWpcOBxsNPed\/JQNZri61GRAIqZp62t2neJ\/BXGn01ZqYYZb4Xe2Qbf+bK2PsNofxttKN2N0QHwRSprkROji5rWaXYecxsr708GevjODuNTUtbg+wE58Ap2h0H0zdue5RkA4Ipxtcz+CsEuk7HLxoQ09rHub8CuOTRNKx23QV1VSSdodkeR5q7qp7OxhHBSi7zjm7zopdHWam3up3TuBzmZ5PIYHJTEFNBTM2KeCOFp6o2ho5KufJ+rKDHo9xhrGD7svE+I80+ct4os\/KdjkDRxkhzsg8xzWbjKXO51wqUqW8HHu\/tFoRQVLrKzVO5074HHqlYRzGRzUxDVU9SMwTxyjGcseHfBUcWt0dMKsJ8LubVV7j\/R2uKCqAIZWM6J2\/i7h5sVoVa1vCfkynq2HEtPOC05xjP8A7AU0+K3WZYr5eZcrPwLKixjf0kbX4xtAHCyVDpCIiAIiIAiIgCgtQVl4t0kdbRNjlpGNxNG5u8Enj2+CnV8c0OaWuAIIwQetSnZlKkHONk7EQNV2QxNkNc0bQzslrsj3gBc02t7PGcRGec9WxHjPjhSA0\/Zwf+G0\/wDAF1w0dLTfmKaGL+4wN+CveBjbEPdpdzK6dQ3u4HZtdlewHeJajcMd+B2dZWJ07e7m7N2vBbH1xQcDv7h34KtSJntsiPd83zJN+S8iGotKWehAIpRM8ffmO0fDhyUuxjI2BkbQxrRgNaMALJFRtvc3hThBWirBERQXCIiAIiIAiIgOSrtVBXD6zRxSn9Yt3+PFQ82h7RIcxmogOcjYkzjxBVjRWUpLZmU6FOfFFFYOjB1Xes\/iWcOjKYTMfVVtRVNY7IZIdx9hVkRT0kusz91o\/tPgAAwBgBfURUOkIiIAiIgP\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:27",
    "ubicacionGPS": "LatLng(lat: -25.4075582, lng: -70.4864656)",
    "horaLlegada": "07:49",
    "horaDespacho": "12:28",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 13:27:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[08/05/2026 13:27: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('76121841', 'EP2639', 2, 21773342, 21776, NOW(), 
				'12:28', '07:49', '13:27', 1, 'Instalacion
Configuracion 2pc', -1, 
				'', '','1','149680',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778261259.png', '', null, 'COMPLETADO','LatLng(lat: -25.4075582, lng: -70.4864656)' )
				
[08/05/2026 13:27:39] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200250

08/05/2026 13:27:39 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'EP2639'
		
08/05/2026 13:27:39 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP2639'
				   AND estado = 1
				
08/05/2026 13:27:39 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'EP2639', 3, 1, now(), 'Munic de Taltal', 'Taltal', 'Prev de Riesgos');
				
08/05/2026 13:27:39 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200250'                    
				WHERE idllamado = 12511			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


08/05/2026 13:27:39 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12511			
				
08/05/2026 13:27:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


08/05/2026 13:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13: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 = 12511
                
08/05/2026 13:27:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 13:27:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        
08/05/2026 13: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 = 12511
                
08/05/2026 13:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                [08/05/2026 13:27: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;
                

08/05/2026 13:27:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 13:27:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        
08/05/2026 13:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:27:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 13:27:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        [08/05/2026 13:27: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;
                

08/05/2026 13:27:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 13:27:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        
08/05/2026 13:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                [08/05/2026 13:27: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;
                

08/05/2026 13:27:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 13:27:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12511
LIMIT 1;
        
08/05/2026 13:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:27:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:27:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:27:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                
08/05/2026 13:27:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12511
                [08/05/2026 13:28: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;
				
[08/05/2026 13:28: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;
                
[08/05/2026 13:28: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;
                
[08/05/2026 14:47: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;
                
[08/05/2026 14:47:46] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[08/05/2026 14:47:46] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[08/05/2026 14:50: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;
                
[08/05/2026 14:50:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 14:50:32] 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;
                
[08/05/2026 14:50: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[08/05/2026 14:50:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:01:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15:01:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15:01:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12482
                [08/05/2026 15:01: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;
                

08/05/2026 15:01:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15:01:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [08/05/2026 15:01: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;
                

08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
08/05/2026 15:01:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                [08/05/2026 15:01: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;
                

08/05/2026 15:01:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [08/05/2026 15:01: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;
                

08/05/2026 15:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
08/05/2026 15:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
08/05/2026 15:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
08/05/2026 15:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
08/05/2026 15:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
08/05/2026 15:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
08/05/2026 15:06:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15:06:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
08/05/2026 15:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                [08/05/2026 15:06: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;
                
[08/05/2026 15:06: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;
                

08/05/2026 15:06:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15:06:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15:06:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15:06:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
08/05/2026 15:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                [08/05/2026 15:06: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;
                
[08/05/2026 15:06: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;
                

08/05/2026 15: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 = 12482
                
08/05/2026 15:06:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15:06:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12482
                
08/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12482
                
08/05/2026 15:06:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15:06:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
08/05/2026 15:06:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15:07:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
08/05/2026 15:07:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12482
                
08/05/2026 15:07:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15:07:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12482
                
08/05/2026 15:07:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15:07:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15:07:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12482
                
08/05/2026 15:07:21 - logentry: =========================================
FECHA: 08/05/2026 15:07:21
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-aq7bIqv4L63yMUXogOi2.KhYI3lrm9oXqEn+4wY3r6k9JbA8FDo
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76148340",
    "serieinterna": "TO2005",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se debe reagendar, no hay luz en el colegio",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12482",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADgANIDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABBEAABAwMBBQQHBQUHBQAAAAABAAIDBAURIQYSMUFhE1GBsRUicZGhwdEUIyRC8AcyNkPhFjNSssLS8SY0Y3KC\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgEDAgIIBQUBAAAAAAAAAAECAxExEiFBUQQiMmFxobHBEyOB0eE0QmKR8fD\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIiAItVTUw0cDp6iQRxsGS4qry3S57TzGltIfSUbT95VO0J9n0GvsUoxbKalaMNst8CUuu09BbHGHJqKjOBFFqc8ME8vNcAl2uueHxxwW2I6jfHrY6g5PwClLTs\/QWdodBHvTYw6Z+rj7O7wUopaorCK\/h1Km9SVu5fcrHonain+8ivEcz26hkgOD04KRsF4N0p3xTs7OspjuTs68M\/BSyq9OG037QahrBgT0+XAHTOB9EvqTuRcfgyi4t2btu7loREVZsCIiAIiIAiIgCLTVVdPRQmaplbFGDjeccBe4po54myxPbIx3BzTkFDl1ex7REQ6EREAREQBERAEREAXJcblS2qlNTVybrM4AGpce4BYudzprTRuqal+GjRrRxee4KuW221W0ta273du7St\/wC3p+RH08\/YpxjxeDPVqtPRDeT8u9maSiq9rKplwuQMNvjOYacfn6n6+5WuKGOCJsULGxxsGGtaMABegABgDACyuSlclSpKnvlvLCIiiXBVe14rdublVallMwRN6O0HycrJNKyngkmkOGRtLnHoBlV7YmFxt1TXSY36qcuOByH9SVZHaLZmq9arCP1\/r\/SyoiKs0hERAEREAREQFX2va2prrPRPJ3Jqj1gBnTLR8z8VqpBJsrfm0TnudbazWNzjpG72+fTBW27AT7dWqAj9yMyf5j\/pXftTbXXKySsjGZYj2rBjjjiPdlXp2Si8M86UHKU6scp7fRK6JlFF7O3QXa0RTuOZWepL\/wCw5+PHxUoqWrOzN8JqcVJYYREXCQREQBERAFz19dBbqOSqqHhrGDPtPIDqtznNYwve4Na0ZJJwAFUQ6TbK64ALLVRvznGsp\/qPcPapxjfd4KK1VwSjHeTwZtluqdpq0Xe7DFK0\/h6fkR9PP2K3AADAGAEa0NaGtAAAwAOSyuSlqO0qSprm3l8wiIolwREQEFtfXGksj4WAulqj2LQOODx+GnipG1UQt9qpqQcY2AO4fvcT8cqAqdy+7axU+6XU9taXP7i\/T54HXBVrVktopGWl16sp8FsvfzCIirNQXBcrzQWlm9VzhriMtjGrnewKOve0hpahtutkYqa953d0ahnt6+XNYtWy0Ubvtl2d9trX+s7tDlrOmOf6wrFFJXkZpVpSlopbvi+COYV+0F\/aTboGUFI4erNKTvOHeP6DxXFerdVWOiFbLfKmepMjdxpzhxBzrqdAPkrs5wa0ucQABkk8lU6f\/qraP7UWn0fbziPukdnOfHAyO4DvUoy48DPWpWSTbcnj72XIslJ9pdRwGZzRIY2l4c3JBxrnUIulFVc9BKyKwz8R+0R+Nfs1Nr0yB\/uVnVYsp3tsrw46kADPTRWdSnlGfo28ZPm2VO3AWTbOoocFlPXN34hnTPHz3h7lbFAbW299RbW10B3amhPascOOBqfLPgpO1V7bnbIKxoA7RvrAcncCPeuy3Skco\/LnKl9V4P7M7ERFWagiIgCIq7tPdZIxHaKEh1XWHcJB1jB8s+WV2K1OxXUqKnHUzkvFbUbQXQWS2yEUzT+Kmbw6j2D4lWWioqe30rKamjDI2DQd\/U9VzWS0RWa3spo8OefWlf8A43fTuUipSksLBXRptNzn2n5dwREUDQEREAUdfrmLTaZqnI7TG5EDzeeHu4+CkVVZD\/aTakQ53qG2+s7dOjn8tQe8fAqcFd3eCivNxjaOXsv+7ju2UtrqG1dvMPxNYe1kONcHgPjnxKnERRbu7llOCpwUVwCrt6v0zqr0PZ29rWv0fIOEXf4+S8Xm\/wA1RUG0WQGWrcd2SVvCIc8H58vapGx2OCy02637yofrLKeLj3DoppKKuzPKcqstFN7cX7Lv9DFksNPZ4Sc9rUyayTO4k9w7gpVFBbR3p1FEKCiy+4VAxG1oyWg8\/PCjvNlrcKFPkkcl\/r5rpXjZ2gwTJg1EudGgakfrvwp+30MNtoYqSBoDY2gE4xvHmT1K4tn7Ky0UQLwHVco3ppM5JPdnuUsuya7KwRowld1J5fkuQREUDQVix\/xhefDzVnVYsf8AGF58PNWdWVMmbovYfi\/U8ua17Cxwy1wwR3hVfZztLPfayxyH7p330BJ4j\/j\/AClWpVnauOSiqqK+Qx7zqV27L1aTp5kZ6pDfq8znSFptVX7fTiWZFrhmjqIGTRODmSNDmkcwVsVZqyEREBz11ZFb6GarmOGRNyep5DxOigdl6KWpqJ7\/AFgHa1ZPZDOd1n6AA6Baby99\/wBoIbNDv\/Zac79U4ZAz3fIdSrTFEyGJkUbQ1jGhrWjkBwCsfVjbizIvnVb\/ALY+v4PaIirNYREQBERAQ+0t2FrtjhG4\/aqgFkDRxzzPhn34XrZy0eh7UyF+DNId+UjvPLwGPiomgaNotqZLi471JQHcgGmHEcD79fcrYrJdVaTLS+bN1XjC939QqvfLxU11eLHZ3HtnHdnmb\/LHMZ5Y5nw4rdfb1M6f0PaMyV0uj3tOkQ569\/ku6x2SGy0pY09pPJrLKfzH6Ikoq7OTk6svhwxxfsj3Z7JSWWm7OnG892O0kdxcfkOikUXNX10Fto5KqodusYPEnkAobyZoSjTjZbJHPe7vFZre+pkw559WJn+N3071HbPWiZ0xvdzJfWzjLWuGOyadOHI49wXLZaCe\/Vvpy6tzED+FgOoA7\/Z5nXuVsU31VpWTPTTrSVSWFhe\/2CIirNYREQFYsf8AGF58PNWdVix\/xhefDzVnVlTJm6L2H4v1C01lLFW0ktNM3ejlaWkLcirNDSasys7K1L6OWpsNU776lcTGT+Zp1094PirMqxtVG631lFfII\/WheGTEcS08PmPFWOGaOogZNC8PjkaHNcOYKsnv1uZnoPTek+GPDh9jYo6+3L0VaJ6oayAbsYx+Y6D6+CkVVtp965Xq22QNBY93bSZONNR8AHLkFd7kukTcKb05wvFnZslbDb7SJpQftFWe0kJ44\/KPdr7SVOoijJ3dyynBU4KK4BERcJhERAFBbU3N1JQCjpsuq6w9lG1pGRnQn5DqpuSRkUbpJHbrGAuce4BVayxOvu0E19lH4eEmOmaR3cD8SfaeinBcXwM1eTsqccy9OLJ2zW1lqtkNI3UtGXnvceJUZtHfZaZ7bXbWmSvnGBu\/ywfn5cVvv1+9H7tHRs7e4TaRxjXdzzKxs\/YfRjXVVU\/tq+fWSQnOM8h9V1bdaRCTb+TS2tl8vybbDY4rPTEk9pVS6zSniT3Dp5qWRa554qaB88zwyOMbznHkFBtt3ZpjGNONlskeaurgoaZ9TUyCOJgySVV6KmqNra0XCvYY7bET2EGf3z17+p8O9eGxz7Z3Js0jXw2mnd6rc4Mp+vkFbooo4YmxRMDGMGGtaMABWdhd5mV+kSu+wvP8HprQ1oa0AADAA5LKIqjYEREAREQFYsn8YXjXu81Z1WLZ6m310YeJhDv8n1VnU6mTN0bsNd79QiIoGk01lLHW0ctLL+5KwtPTKr2yNXJTvqbHVHE1I4lnVudcefirOqttEDab7QXtjcRE9lUEd3\/GfcFZDdOJlr9RqquGfB\/YtKq9GPtW39ZI8n8NAAweAHzPvVna4OaHNIIIyCOarGzQMu0l9mcdWTbgHTed\/tCRw2dr7zpx7\/RMtCIirNIREQBEXFd7lHabbLVyYJaMMafzO5BdSu7EZSUU28EPtRVy1c8Fgoz99VEGVwH7jM\/0yeg6rNwuUez9DT2a2MM1aWBsbQ3OCfzHqTk4+Sh6aqktUbq6SPt71cyTFEW6xAk6468h0HVWGwWL0eHVlY7trhPrJI453c8h9Vc0orf\/AE86Ep1Ztx2b48ly8XkWCw+jg6rrH9vXzaySOOd3oD81NosOcGtLnEAAZJPJUttu7PQhCNOOmJ4mmip4XzTPDI2DLnOOgCquajbKsOC+C0QP15GY\/r3e1eKiafbC6\/ZKdxZaqdwMkgGO0P64e\/orbT08VLAyCCMRxsGGtbwCs7C7zN+of8F5\/j1EMMVPCyGFgZGwYa1o0AWxEVRswEREAREQBERAVim9X9olXjTfphnroz6BWdVio+6\/aJS\/+amPk7\/arOpz4eBm6P8AvX8mERFA0hclzoI7lbpqSThI3AP+E8j711oidjjSkrMr+yVbLJRyW2p\/v6B3Znq3l7uHgtGxpLn3RxOSak5+K13YSWLaiC7N3jS1eIpueD+hnwK97FkEXIg5BqT81e11W1xPOpyaqwpyzG\/9W2LQiIqD0giIgMOcGtLnEAAZJPJfPbreWXe4CqkYX0cBLKenOczP7yPEZ6YHNSG2t8yRaaZ2SdZnNd7fU08D7l17LbMChYyurm71SRmON38ofXyV8UoR1M8ytOVep8KnhZZu2esUsM77tczv185LgD\/LB+eNOg0ViRFTKTk7s306cacdMTBIAyTgBVKtranaquNttrjHQRn8RUD8w7h8hz9izdrhU7Q3A2W0yAU7R+JnHDHMdR5+xWK226ntVEykpgQxupJ4uPMlWLqK7yZ5N15aY9lZfPuXue6Kip7fSspqaMMjYNB39T1XQiKo1pJKyCIiHQiIgCIiAIiICr7Qfhtq7LVE4D3GPX24\/wBStCrO2zTFSUVa396nqQfeM\/6QrK1wc0OGoIyFZLspmaltVmvB+X4MoiKs0hERAclzt8d0t8tHLkNkGhHEEag+9RmytlqrNSzsqjGXSvBAY4nAGncp5FLU7WKnSi6iqcUERFEtCj75cDa7RPVMaXSNbhgxn1joCeg4+CkFggEYIyCurJGSbi0nYqOzGzj3yi8XMF0z3dpGx3EEnO8evMfrFvRF2UnJ3ZCjRjSjpiFV7tdKi81brJZzkcKmoB0aOYB\/WeCzdbrU3esdZrM7pUVI4MHMAqatVqprRRtp6dvV7zxee8qSWnd5KZSdZ6I9ni\/Ze4tVqprRRtp6dvV7zxee8rtRFBu+7NMYqKssBERcJBERAEREAREQBERARG1NOajZysaBktYHj\/5IJ+AK27PVIqrDRyA5IiDD7W6HyUhJG2WN0bxlrwWkd4KrOxkzoBXWmV33lLMS0E8s4OOmR8VYt4PuMsurXT5q39bloREVZqCIiAIiIAiIgCIiAKsXW61N3rHWazO6VFSODBzAKXW61N3rHWazO6VFSODBzAKmrVaqa0Ubaenb1e88XnvKsS07vJklJ1noh2eL9kLVaqa0Ubaenb1e88XnvK7URQbvuzTGKirLAREXCQREQBERAEREAREQBERAFWq6F9u2xpa6JhEVYzspiBpnvPuHuVlRSi7FdSnrS7ncIiKJYEREAREQBERAFWLrdam71jrNZndKipHBg5gFLrdam71jrNZndKipHBg5gFTVqtVNaKNtPTt6veeLz3lWJad3kySk6z0Q7PF+yFqtVNaKNtPTt6veeLz3ldqIoN33ZpjFRVlgIiLhIIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqvebtU3SuNjsx9c6Tzg6MHMZ8\/cve0F5nmn9CWkF9XLpJI047Ic9e\/vPL28JKyWSnstJ2UXryu1klI1cfkOisSUVdmScnWl8OGFl+yNtptVPaKJtNTt14veRq895XciKDd92aYxUVZYCIi4SCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKvXy+TfaRaLT95XS6OcOEQ+vks7R32SkLLbbh2lfUeqA3jGDz9vd7107P2Jlnpd6TElZLrNLx8B081YkorUzLOcqkvhw+r9l3+h7slkhs1OQD2lRJrLMeLj9FKIig227s0QhGEdMcBERcJBERAEREAREQBERAEREAREQBERAEREAREQBERAFC7R330RTsigb2lZPpEwDOOpHl3qUrJJ4qSWSmh7aZrSWR5xvH2qDsNlm+0G83bL66XVrCP7oezvx7lOKWWZ60pvqQy+PL8m+wWI28Ora13bXCfWR5Od3PIKbRFFtt3ZbTpxpx0xCIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/\/Z",
    "razonSocial": "SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOHANN GUERRERO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REPARACIÓN SOLICITA INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:07",
    "ubicacionGPS": "LatLng(lat: -23.5658928, lng: -70.3933562)",
    "horaLlegada": "12:01",
    "horaDespacho": "13:22",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 15:07:21
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-aq7bIqv4L63yMUXogOi2.KhYI3lrm9oXqEn+4wY3r6k9JbA8FDo
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76148340",
    "serieinterna": "TO2005",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se debe reagendar, no hay luz en el colegio",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12482",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADgANIDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABBEAABAwMBBQQHBQUHBQAAAAABAAIDBAURIQYSMUFhE1GBsRUicZGhwdEUIyRC8AcyNkPhFjNSssLS8SY0Y3KC\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgEDAgIIBQUBAAAAAAAAAAECAxExEiFBUQQiMmFxobHBEyOB0eE0QmKR8fD\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIiAItVTUw0cDp6iQRxsGS4qry3S57TzGltIfSUbT95VO0J9n0GvsUoxbKalaMNst8CUuu09BbHGHJqKjOBFFqc8ME8vNcAl2uueHxxwW2I6jfHrY6g5PwClLTs\/QWdodBHvTYw6Z+rj7O7wUopaorCK\/h1Km9SVu5fcrHonain+8ivEcz26hkgOD04KRsF4N0p3xTs7OspjuTs68M\/BSyq9OG037QahrBgT0+XAHTOB9EvqTuRcfgyi4t2btu7loREVZsCIiAIiIAiIgCLTVVdPRQmaplbFGDjeccBe4po54myxPbIx3BzTkFDl1ex7REQ6EREAREQBERAEREAXJcblS2qlNTVybrM4AGpce4BYudzprTRuqal+GjRrRxee4KuW221W0ta273du7St\/wC3p+RH08\/YpxjxeDPVqtPRDeT8u9maSiq9rKplwuQMNvjOYacfn6n6+5WuKGOCJsULGxxsGGtaMABegABgDACyuSlclSpKnvlvLCIiiXBVe14rdublVallMwRN6O0HycrJNKyngkmkOGRtLnHoBlV7YmFxt1TXSY36qcuOByH9SVZHaLZmq9arCP1\/r\/SyoiKs0hERAEREAREQFX2va2prrPRPJ3Jqj1gBnTLR8z8VqpBJsrfm0TnudbazWNzjpG72+fTBW27AT7dWqAj9yMyf5j\/pXftTbXXKySsjGZYj2rBjjjiPdlXp2Si8M86UHKU6scp7fRK6JlFF7O3QXa0RTuOZWepL\/wCw5+PHxUoqWrOzN8JqcVJYYREXCQREQBERAFz19dBbqOSqqHhrGDPtPIDqtznNYwve4Na0ZJJwAFUQ6TbK64ALLVRvznGsp\/qPcPapxjfd4KK1VwSjHeTwZtluqdpq0Xe7DFK0\/h6fkR9PP2K3AADAGAEa0NaGtAAAwAOSyuSlqO0qSprm3l8wiIolwREQEFtfXGksj4WAulqj2LQOODx+GnipG1UQt9qpqQcY2AO4fvcT8cqAqdy+7axU+6XU9taXP7i\/T54HXBVrVktopGWl16sp8FsvfzCIirNQXBcrzQWlm9VzhriMtjGrnewKOve0hpahtutkYqa953d0ahnt6+XNYtWy0Ubvtl2d9trX+s7tDlrOmOf6wrFFJXkZpVpSlopbvi+COYV+0F\/aTboGUFI4erNKTvOHeP6DxXFerdVWOiFbLfKmepMjdxpzhxBzrqdAPkrs5wa0ucQABkk8lU6f\/qraP7UWn0fbziPukdnOfHAyO4DvUoy48DPWpWSTbcnj72XIslJ9pdRwGZzRIY2l4c3JBxrnUIulFVc9BKyKwz8R+0R+Nfs1Nr0yB\/uVnVYsp3tsrw46kADPTRWdSnlGfo28ZPm2VO3AWTbOoocFlPXN34hnTPHz3h7lbFAbW299RbW10B3amhPascOOBqfLPgpO1V7bnbIKxoA7RvrAcncCPeuy3Skco\/LnKl9V4P7M7ERFWagiIgCIq7tPdZIxHaKEh1XWHcJB1jB8s+WV2K1OxXUqKnHUzkvFbUbQXQWS2yEUzT+Kmbw6j2D4lWWioqe30rKamjDI2DQd\/U9VzWS0RWa3spo8OefWlf8A43fTuUipSksLBXRptNzn2n5dwREUDQEREAUdfrmLTaZqnI7TG5EDzeeHu4+CkVVZD\/aTakQ53qG2+s7dOjn8tQe8fAqcFd3eCivNxjaOXsv+7ju2UtrqG1dvMPxNYe1kONcHgPjnxKnERRbu7llOCpwUVwCrt6v0zqr0PZ29rWv0fIOEXf4+S8Xm\/wA1RUG0WQGWrcd2SVvCIc8H58vapGx2OCy02637yofrLKeLj3DoppKKuzPKcqstFN7cX7Lv9DFksNPZ4Sc9rUyayTO4k9w7gpVFBbR3p1FEKCiy+4VAxG1oyWg8\/PCjvNlrcKFPkkcl\/r5rpXjZ2gwTJg1EudGgakfrvwp+30MNtoYqSBoDY2gE4xvHmT1K4tn7Ky0UQLwHVco3ppM5JPdnuUsuya7KwRowld1J5fkuQREUDQVix\/xhefDzVnVYsf8AGF58PNWdWVMmbovYfi\/U8ua17Cxwy1wwR3hVfZztLPfayxyH7p330BJ4j\/j\/AClWpVnauOSiqqK+Qx7zqV27L1aTp5kZ6pDfq8znSFptVX7fTiWZFrhmjqIGTRODmSNDmkcwVsVZqyEREBz11ZFb6GarmOGRNyep5DxOigdl6KWpqJ7\/AFgHa1ZPZDOd1n6AA6Baby99\/wBoIbNDv\/Zac79U4ZAz3fIdSrTFEyGJkUbQ1jGhrWjkBwCsfVjbizIvnVb\/ALY+v4PaIirNYREQBERAQ+0t2FrtjhG4\/aqgFkDRxzzPhn34XrZy0eh7UyF+DNId+UjvPLwGPiomgaNotqZLi471JQHcgGmHEcD79fcrYrJdVaTLS+bN1XjC939QqvfLxU11eLHZ3HtnHdnmb\/LHMZ5Y5nw4rdfb1M6f0PaMyV0uj3tOkQ569\/ku6x2SGy0pY09pPJrLKfzH6Ikoq7OTk6svhwxxfsj3Z7JSWWm7OnG892O0kdxcfkOikUXNX10Fto5KqodusYPEnkAobyZoSjTjZbJHPe7vFZre+pkw559WJn+N3071HbPWiZ0xvdzJfWzjLWuGOyadOHI49wXLZaCe\/Vvpy6tzED+FgOoA7\/Z5nXuVsU31VpWTPTTrSVSWFhe\/2CIirNYREQFYsf8AGF58PNWdVix\/xhefDzVnVlTJm6L2H4v1C01lLFW0ktNM3ejlaWkLcirNDSasys7K1L6OWpsNU776lcTGT+Zp1094PirMqxtVG631lFfII\/WheGTEcS08PmPFWOGaOogZNC8PjkaHNcOYKsnv1uZnoPTek+GPDh9jYo6+3L0VaJ6oayAbsYx+Y6D6+CkVVtp965Xq22QNBY93bSZONNR8AHLkFd7kukTcKb05wvFnZslbDb7SJpQftFWe0kJ44\/KPdr7SVOoijJ3dyynBU4KK4BERcJhERAFBbU3N1JQCjpsuq6w9lG1pGRnQn5DqpuSRkUbpJHbrGAuce4BVayxOvu0E19lH4eEmOmaR3cD8SfaeinBcXwM1eTsqccy9OLJ2zW1lqtkNI3UtGXnvceJUZtHfZaZ7bXbWmSvnGBu\/ywfn5cVvv1+9H7tHRs7e4TaRxjXdzzKxs\/YfRjXVVU\/tq+fWSQnOM8h9V1bdaRCTb+TS2tl8vybbDY4rPTEk9pVS6zSniT3Dp5qWRa554qaB88zwyOMbznHkFBtt3ZpjGNONlskeaurgoaZ9TUyCOJgySVV6KmqNra0XCvYY7bET2EGf3z17+p8O9eGxz7Z3Js0jXw2mnd6rc4Mp+vkFbooo4YmxRMDGMGGtaMABWdhd5mV+kSu+wvP8HprQ1oa0AADAA5LKIqjYEREAREQFYsn8YXjXu81Z1WLZ6m310YeJhDv8n1VnU6mTN0bsNd79QiIoGk01lLHW0ctLL+5KwtPTKr2yNXJTvqbHVHE1I4lnVudcefirOqttEDab7QXtjcRE9lUEd3\/GfcFZDdOJlr9RqquGfB\/YtKq9GPtW39ZI8n8NAAweAHzPvVna4OaHNIIIyCOarGzQMu0l9mcdWTbgHTed\/tCRw2dr7zpx7\/RMtCIirNIREQBEXFd7lHabbLVyYJaMMafzO5BdSu7EZSUU28EPtRVy1c8Fgoz99VEGVwH7jM\/0yeg6rNwuUez9DT2a2MM1aWBsbQ3OCfzHqTk4+Sh6aqktUbq6SPt71cyTFEW6xAk6468h0HVWGwWL0eHVlY7trhPrJI453c8h9Vc0orf\/AE86Ep1Ztx2b48ly8XkWCw+jg6rrH9vXzaySOOd3oD81NosOcGtLnEAAZJPJUttu7PQhCNOOmJ4mmip4XzTPDI2DLnOOgCquajbKsOC+C0QP15GY\/r3e1eKiafbC6\/ZKdxZaqdwMkgGO0P64e\/orbT08VLAyCCMRxsGGtbwCs7C7zN+of8F5\/j1EMMVPCyGFgZGwYa1o0AWxEVRswEREAREQBERAVim9X9olXjTfphnroz6BWdVio+6\/aJS\/+amPk7\/arOpz4eBm6P8AvX8mERFA0hclzoI7lbpqSThI3AP+E8j711oidjjSkrMr+yVbLJRyW2p\/v6B3Znq3l7uHgtGxpLn3RxOSak5+K13YSWLaiC7N3jS1eIpueD+hnwK97FkEXIg5BqT81e11W1xPOpyaqwpyzG\/9W2LQiIqD0giIgMOcGtLnEAAZJPJfPbreWXe4CqkYX0cBLKenOczP7yPEZ6YHNSG2t8yRaaZ2SdZnNd7fU08D7l17LbMChYyurm71SRmON38ofXyV8UoR1M8ytOVep8KnhZZu2esUsM77tczv185LgD\/LB+eNOg0ViRFTKTk7s306cacdMTBIAyTgBVKtranaquNttrjHQRn8RUD8w7h8hz9izdrhU7Q3A2W0yAU7R+JnHDHMdR5+xWK226ntVEykpgQxupJ4uPMlWLqK7yZ5N15aY9lZfPuXue6Kip7fSspqaMMjYNB39T1XQiKo1pJKyCIiHQiIgCIiAIiICr7Qfhtq7LVE4D3GPX24\/wBStCrO2zTFSUVa396nqQfeM\/6QrK1wc0OGoIyFZLspmaltVmvB+X4MoiKs0hERAclzt8d0t8tHLkNkGhHEEag+9RmytlqrNSzsqjGXSvBAY4nAGncp5FLU7WKnSi6iqcUERFEtCj75cDa7RPVMaXSNbhgxn1joCeg4+CkFggEYIyCurJGSbi0nYqOzGzj3yi8XMF0z3dpGx3EEnO8evMfrFvRF2UnJ3ZCjRjSjpiFV7tdKi81brJZzkcKmoB0aOYB\/WeCzdbrU3esdZrM7pUVI4MHMAqatVqprRRtp6dvV7zxee8qSWnd5KZSdZ6I9ni\/Ze4tVqprRRtp6dvV7zxee8rtRFBu+7NMYqKssBERcJBERAEREAREQBERARG1NOajZysaBktYHj\/5IJ+AK27PVIqrDRyA5IiDD7W6HyUhJG2WN0bxlrwWkd4KrOxkzoBXWmV33lLMS0E8s4OOmR8VYt4PuMsurXT5q39bloREVZqCIiAIiIAiIgCIiAKsXW61N3rHWazO6VFSODBzAKXW61N3rHWazO6VFSODBzAKmrVaqa0Ubaenb1e88XnvKsS07vJklJ1noh2eL9kLVaqa0Ubaenb1e88XnvK7URQbvuzTGKirLAREXCQREQBERAEREAREQBERAFWq6F9u2xpa6JhEVYzspiBpnvPuHuVlRSi7FdSnrS7ncIiKJYEREAREQBERAFWLrdam71jrNZndKipHBg5gFLrdam71jrNZndKipHBg5gFTVqtVNaKNtPTt6veeLz3lWJad3kySk6z0Q7PF+yFqtVNaKNtPTt6veeLz3ldqIoN33ZpjFRVlgIiLhIIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqvebtU3SuNjsx9c6Tzg6MHMZ8\/cve0F5nmn9CWkF9XLpJI047Ic9e\/vPL28JKyWSnstJ2UXryu1klI1cfkOisSUVdmScnWl8OGFl+yNtptVPaKJtNTt14veRq895XciKDd92aYxUVZYCIi4SCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKvXy+TfaRaLT95XS6OcOEQ+vks7R32SkLLbbh2lfUeqA3jGDz9vd7107P2Jlnpd6TElZLrNLx8B081YkorUzLOcqkvhw+r9l3+h7slkhs1OQD2lRJrLMeLj9FKIig227s0QhGEdMcBERcJBERAEREAREQBERAEREAREQBERAEREAREQBERAFC7R330RTsigb2lZPpEwDOOpHl3qUrJJ4qSWSmh7aZrSWR5xvH2qDsNlm+0G83bL66XVrCP7oezvx7lOKWWZ60pvqQy+PL8m+wWI28Ora13bXCfWR5Od3PIKbRFFtt3ZbTpxpx0xCIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/\/Z",
    "razonSocial": "SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOHANN GUERRERO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REPARACIÓN SOLICITA INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:07",
    "ubicacionGPS": "LatLng(lat: -23.5658928, lng: -70.3933562)",
    "horaLlegada": "12:01",
    "horaDespacho": "13:22",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 15:07:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76148340

[08/05/2026 15:07: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('76148340', 'TO2005', 1, 24456550, 0, NOW(), 
				'13:22', '12:01', '15:07', 4, '•Se debe reagendar, no hay luz en el colegio', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778267241.png', '', null, 'REPROGRAMADO','LatLng(lat: -23.5658928, lng: -70.3933562)' )
				
[08/05/2026 15:07:21] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200251

08/05/2026 15:07:21 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200251'                    
				WHERE idllamado = 12482			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


08/05/2026 15:07:22 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 12482			
				
08/05/2026 15:07:22 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('76148340', 'TO2005', 1, 'APP', 'sin otroTipo definido', -2, 'REPARACIÓN SOLICITA INSUMOS', 'Sin coderror', '1', 'SI', now(), 'JOHANN GUERRERO', '939156579', 'tecnico@dsprint.cl', 12482)
				
08/05/2026 15:07:22 Insertado nuevo llamado creado idllamado: 12516APP
08/05/2026 15:07:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/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 = 12482
                
08/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/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 = 12482
                
08/05/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 = 12482
                
08/05/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 = 12482
                
08/05/2026 15:07:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [08/05/2026 15:07: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;
                
[08/05/2026 15:07: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;
                

08/05/2026 15:07:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [08/05/2026 15:07: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;
                

08/05/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 = 12482
                
08/05/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 = 12482
                
08/05/2026 15:07:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/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 = 12482
                
08/05/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 = 12482
                
08/05/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 = 12482
                
08/05/2026 15:07:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/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 = 12482
                
08/05/2026 15:07:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15:07:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            [08/05/2026 15:07: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;
                

08/05/2026 15:07:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/2026 15:07:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12482
            GROUP BY l.idllamado;
            
08/05/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 = 12482
                [08/05/2026 15:07: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;
                

08/05/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 = 12482
                
08/05/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 = 12482
                
08/05/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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15: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 = 12482
                
08/05/2026 15:20:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            [08/05/2026 15: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;
                
[08/05/2026 15:20: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;
                

08/05/2026 15:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 15:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 15:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15:21:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15:21:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:21:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 15:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15:21:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15:21:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15:21:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12493
                
08/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12493
                
08/05/2026 15:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:22:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 15:22:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 15:22:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            [08/05/2026 15:22:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:22:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 15:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:22:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 15:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:22:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 15:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                [08/05/2026 15:22: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;
                

08/05/2026 15:22:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            [08/05/2026 15:22: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;
                

08/05/2026 15:22:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            [08/05/2026 15:22: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;
                

08/05/2026 15:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:22:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            [08/05/2026 15:22: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;
                

08/05/2026 15:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15: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 = 12454
                
08/05/2026 15: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 = 12454
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15:22:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12493
                
08/05/2026 15:22:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15:23:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15:23:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15:23:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:23:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:23:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:23:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15:23:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15:23:22 - logentry: =========================================
FECHA: 08/05/2026 15:23:22
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-s.Sl4cnNdyUALZfKbkMt-Oo1.Tu0DNcI1WBJSCX85aMi6edTeE9
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "96846410",
    "serieinterna": "EP2622",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "envio insumos ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12493",
    "observacion": "envio insumos encomienda",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACGAHsDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCBwH\/xABCEAABAwMBBAYFCAcJAAAAAAABAAIDBAURBhIhMUETUWFxgZEUIqGxwRUjMkKywtHhByRDcpKi8BYlNTZSU2Jz0v\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC8RAAIBAwIDBQgDAQAAAAAAAAABAgMRIRIxBEFRInGBsfATIzJhkaHB0TRCUuH\/2gAMAwEAAhEDEQA\/APsyIiACIiACIiANS53BlsoX1Ukb5GtIGG9pxk9QXBrr3W3avjoLDK0fM9M6YkdR3EHhxb4nqVPJGyWN0cjQ5jwWuaRuIPEKC0bcIaO7y05j2Y6s7McjuII3hueG\/PnhVglZu2UYeJnJVIwvZS+vplJYb8bi6SirIjBXwZ22EfSHWF21M6qppKKanv1IPnqZwbKB9dnb7vHsXfo6uKuo4qqE5ZK0OHZ2JZJW1ItRnJN05vK+6M6IiQ0BERABERABY5po6eJ0srwxjRvLjgLIp7W8jmadc0cJJWtPdx+CaKu0idWfs6bl0OpbbtR3aJ0lJJthmA4EYLSRn+u5bqj6dgsOrKZjTsU1fAxmA3dtAYHjkD+JVNZVw0FJJVVD9mKMZcV2UbPBOjVcovXhrczopcaurHRioZYal1KeEgJ37+PDC7lsutJdqfpqSTaAxtNO5zD1ELjg1uNCvTm7RZuKBstoN20lMIvVqYKpz4Xc87LcjPb7wFfKY0R83TV9OdxjqTlvVux8E8G1FtfIjXgp1IRls0\/wb1juEd\/shZUtBkDTFOwned2M9mfxXP0rJLbrhWWGoJPQkyROPNu735B814qGjTmq46pvq0Vxy2Tqa\/PHzIPiVk1H\/dl\/tt4G5m10MxJ5d3cXeSa3JbMjqaSlL4oOz7n6uVCIigekEREAEREAFN66\/wAAb\/3t9xVFts2+j2ht4zs53461xNZR9JpqoIGdhzHfzAfFPD4kZ+JV6Mu41dX05Nlpa6MYlo3tcHdQOB79lYbxUt1Dc7da6ckwOAnqC131SAcd+PeF1ZI23DSGyd\/SUQI79nI9q5GgaICnqa94Be9wiYeYA3n4eSonaN+hlqRcqqitpJX8PSK1rWsYGNGGtGAOoKUu8P8AZq9Q3iljxSzno6iNvAE78j3947VWrTu1C25WuopCATIw7GeTuR88KcHZ5Ndenrh2d1sbTHtkjbIxwc1wBaRzCmtMgw3690+MAzbbc9W078QtnR9e6ssohkI6Wkd0RGfqjh+HgtXdQfpB5htdT+3+me1MlbVEjKakqdVdfPB2b1bW3W1zUhxtOGYyeThwU62R950RUU8wzVUIw4Hj6m8HvwCO8FWKk6st0\/q1lTwo7kNmUcg7mfPB8SiD5BxMUnqezw\/HZ+DOzp6sNdYqSZxy\/Y2HE8y3dn2LpqX0k40VdcrO7IEEpfHnP0eH\/nzVQlmrSLcPNypJvfb6BERIXCIiAJa+NNjv9NfIwegmPRVIHv8AIZ72rq6ha2bTlbggtMJcCOeN49yz3egFytVRSbtqRnqk8nDePauLZKqSv0fV0soxLTxSU5HPGzu\/DwVVlJ9DFJaJyhykm\/HmYZa50P6Oo3gHakiEI7idk+wFfmg5Hxx11DIMOikDsd4wfshcmof0miLZEd7RVuBHi4\/Fd20gDXF1EQxGIm5x1+r+apJWi0Zacm6sJdEl9UynREWY9cl7cDa9a1lFwirmdNGCeJ4n73kv3WINLNbbq1uTTTgO7Rx+6fNfmrP1K42q6gHEU2xIRuyOOPLaXR1RS+l6eqmBu05jekb2Fpz7sqyeYyPOcfd1Ka5ZXn5nWBBGQcgrmaitYu1olgaMys9eL94cvHh4r1p6r9NsNHMTl3Rhju9u4+5dJTzFmy0atPOzRA2q4ht5tdxc7JqWei1B4nbG4Enu2D4FXy+bakt4tl4nijB6OUCoia0cDk5HcN58Ar+2Vjbhbaerb+1YCd3Pn7cqlVYUkY+Cm1KVOW69P18zaREUT0QiIgApNg+SdazUw2WU9zZkdjsH72fNVindZUzvk6K4wgCeila8O5gZ\/HZPgnhvbqZuJXY1reOf39iajhlk0k8MYXPoq7ae0DlgDPmu\/pImtrrndixzW1EuI8jHq5P5LBpGpinu10jbh0dRiYN4jBJyP5sKta1rBhrQ0dQGFSpK14mXhaKlpqX2\/F15HpERQPTOBrWLpNOSu\/23sd7cfFdWhc2rtNO6QB7ZoGlwxuILRlaWqv8ALVb+6PtBZ7Cc2GhPXA33J\/6eJmX8h\/NLzZx9JOfQVlwskrgXQP6SMjmDuJ+z5qoUtqHbtF+or2zdC7ENRgcuvt3fZCqGuDmhzSCCMgjmuzz2upzh+ynS\/wA+XImNc0TpbdDWxh21TPw4tOPVdx9oHmsWh69ojntjydph6WLa5sOPyPiqatpY66impZRlkrC0\/ivndG99skp60+rNb6noKljeJYSd\/wBtvgE8O1DSZa96PEKqtnv67vI+lovLHtkjbIxwc1wBaRzC9KB6gREQAWKpgZVU0tPIMslYWnuIWVEHGrqzPnWl3G16sNJMQCS+Bx5Z5eZA819FUHrCndbNQU90h\/akPxw9ZuPeMe1XMUjZomSsOWvaHNPYVarm0jBwS0OdJ8n9me0RFE9A4mr5RFpqpHN5a0fxD4Arfs8Rgs1HEeLYGA9+BlcPWbjUut1saTmpqASB1cPvexU4AAwBgBO8QRmh2q8n0SX5Na50Edyt01HJwkbgH\/SeR81ydI18klFJbandU0DujIPNvLy4eAVApW\/xyWS909+gB6KQiKpa3mOvyHmAuxytJyt7uSqrlh93\/CqUdcaWKm1c6mqARR3eMNeAN23yx27QBz\/yVXSVUNbSx1NO\/bikGWnGFP62DoaSirWfSp6geRGfgEU\/isc4pJ0tfTPrwMML75pkmn9Fdcbczex7PptHPh7iPFbcOtrQ9jTKZoXEZLXRk48lQNIc0OG8EZCxSUdLK4ukponk8S5gOUak90dVKpDFOWOjyTk+sJKxwgslBLUzO+s9uGt8B8cKhofSvQofTdj0jZHSbHDKzMYyNuyxoaOoDC9JW08JFKcJp3nK\/kEREpY4mrqD06wyloJfARK0Ds4+wletJ1fpenabLiXRAxOzyxw9mF2CARgjIKktKTG3XivskgLW7bnw7XPBx45GD4KizBroY5pQ4iM\/9Y\/RXLxLLHBC+aV4ZGwFznHgAv1zgxhc7g0ZO7Kk5Km4avkMFNG6ltQd85K76UnZ+Q8SljG\/cWq1dGErt7IyWSN181BPfZQeghJipQd27hnyJPeVVLFTU8dJTRU0LdmOJoa0dgWVEpXYUafs42e7y+8LFU00VZTvp52B8cgw5pWVEpVpNWZIW2vn0vXm03NxNG4\/q853AA\/Dr6u4rc1tLB8gOY57Okc9pjGRk7+I8MrtV1vpblB0FXCJWA5GeIPWCuVRaNtNFO2YCaZ7DlvSPG47scAOpVUo31PcxSo1VB0o5i+vL9\/I69CHNoKdrjlwiaDuxvwFnRFI2pWVgiIg6EREAFE6vgfarzSXmlGHPPrdW03r7xu8CrZc3UFuN0s09MwAyY2o\/wB4b\/bw8U9OVpGfiabqUmlusrvNykqWVlJFUx52JWB4z2hZlMaGrzPbJKJ4IfSu4nP0XZI9uVTrklpbQ9Gp7Smp9QiIlKhERABERABERABERABERABERAHOobJS2+4VNbC6TbqTl7SRsjfncAF0URdbb3FjGMVaKCIi4MEREAEREAEREAEREAf\/2Q==",
    "razonSocial": "STEEL INGENIERIA S.A.",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CLAUDIO CARVAJAL GONZÁLEZ",
    "correoContacto": "claudio.carvajal@vestislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56941499852",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28605\",\"cantidad_usada\":1,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28605\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28605\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28605\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-R640\",\"id_control\":\"28605\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:23",
    "ubicacionGPS": "LatLng(lat: -23.6548241, lng: -70.3953396)",
    "horaLlegada": "07:21",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 15:23:22
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-s.Sl4cnNdyUALZfKbkMt-Oo1.Tu0DNcI1WBJSCX85aMi6edTeE9
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "96846410",
    "serieinterna": "EP2622",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "envio insumos ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12493",
    "observacion": "envio insumos encomienda",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACGAHsDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCBwH\/xABCEAABAwMBBAYFCAcJAAAAAAABAAIDBAURBhIhMUETUWFxgZEUIqGxwRUjMkKywtHhByRDcpKi8BYlNTZSU2Jz0v\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC8RAAIBAwIDBQgDAQAAAAAAAAABAgMRIRIxBEFRInGBsfATIzJhkaHB0TRCUuH\/2gAMAwEAAhEDEQA\/APsyIiACIiACIiANS53BlsoX1Ukb5GtIGG9pxk9QXBrr3W3avjoLDK0fM9M6YkdR3EHhxb4nqVPJGyWN0cjQ5jwWuaRuIPEKC0bcIaO7y05j2Y6s7McjuII3hueG\/PnhVglZu2UYeJnJVIwvZS+vplJYb8bi6SirIjBXwZ22EfSHWF21M6qppKKanv1IPnqZwbKB9dnb7vHsXfo6uKuo4qqE5ZK0OHZ2JZJW1ItRnJN05vK+6M6IiQ0BERABERABY5po6eJ0srwxjRvLjgLIp7W8jmadc0cJJWtPdx+CaKu0idWfs6bl0OpbbtR3aJ0lJJthmA4EYLSRn+u5bqj6dgsOrKZjTsU1fAxmA3dtAYHjkD+JVNZVw0FJJVVD9mKMZcV2UbPBOjVcovXhrczopcaurHRioZYal1KeEgJ37+PDC7lsutJdqfpqSTaAxtNO5zD1ELjg1uNCvTm7RZuKBstoN20lMIvVqYKpz4Xc87LcjPb7wFfKY0R83TV9OdxjqTlvVux8E8G1FtfIjXgp1IRls0\/wb1juEd\/shZUtBkDTFOwned2M9mfxXP0rJLbrhWWGoJPQkyROPNu735B814qGjTmq46pvq0Vxy2Tqa\/PHzIPiVk1H\/dl\/tt4G5m10MxJ5d3cXeSa3JbMjqaSlL4oOz7n6uVCIigekEREAEREAFN66\/wAAb\/3t9xVFts2+j2ht4zs53461xNZR9JpqoIGdhzHfzAfFPD4kZ+JV6Mu41dX05Nlpa6MYlo3tcHdQOB79lYbxUt1Dc7da6ckwOAnqC131SAcd+PeF1ZI23DSGyd\/SUQI79nI9q5GgaICnqa94Be9wiYeYA3n4eSonaN+hlqRcqqitpJX8PSK1rWsYGNGGtGAOoKUu8P8AZq9Q3iljxSzno6iNvAE78j3947VWrTu1C25WuopCATIw7GeTuR88KcHZ5Ndenrh2d1sbTHtkjbIxwc1wBaRzCmtMgw3690+MAzbbc9W078QtnR9e6ssohkI6Wkd0RGfqjh+HgtXdQfpB5htdT+3+me1MlbVEjKakqdVdfPB2b1bW3W1zUhxtOGYyeThwU62R950RUU8wzVUIw4Hj6m8HvwCO8FWKk6st0\/q1lTwo7kNmUcg7mfPB8SiD5BxMUnqezw\/HZ+DOzp6sNdYqSZxy\/Y2HE8y3dn2LpqX0k40VdcrO7IEEpfHnP0eH\/nzVQlmrSLcPNypJvfb6BERIXCIiAJa+NNjv9NfIwegmPRVIHv8AIZ72rq6ha2bTlbggtMJcCOeN49yz3egFytVRSbtqRnqk8nDePauLZKqSv0fV0soxLTxSU5HPGzu\/DwVVlJ9DFJaJyhykm\/HmYZa50P6Oo3gHakiEI7idk+wFfmg5Hxx11DIMOikDsd4wfshcmof0miLZEd7RVuBHi4\/Fd20gDXF1EQxGIm5x1+r+apJWi0Zacm6sJdEl9UynREWY9cl7cDa9a1lFwirmdNGCeJ4n73kv3WINLNbbq1uTTTgO7Rx+6fNfmrP1K42q6gHEU2xIRuyOOPLaXR1RS+l6eqmBu05jekb2Fpz7sqyeYyPOcfd1Ka5ZXn5nWBBGQcgrmaitYu1olgaMys9eL94cvHh4r1p6r9NsNHMTl3Rhju9u4+5dJTzFmy0atPOzRA2q4ht5tdxc7JqWei1B4nbG4Enu2D4FXy+bakt4tl4nijB6OUCoia0cDk5HcN58Ar+2Vjbhbaerb+1YCd3Pn7cqlVYUkY+Cm1KVOW69P18zaREUT0QiIgApNg+SdazUw2WU9zZkdjsH72fNVindZUzvk6K4wgCeila8O5gZ\/HZPgnhvbqZuJXY1reOf39iajhlk0k8MYXPoq7ae0DlgDPmu\/pImtrrndixzW1EuI8jHq5P5LBpGpinu10jbh0dRiYN4jBJyP5sKta1rBhrQ0dQGFSpK14mXhaKlpqX2\/F15HpERQPTOBrWLpNOSu\/23sd7cfFdWhc2rtNO6QB7ZoGlwxuILRlaWqv8ALVb+6PtBZ7Cc2GhPXA33J\/6eJmX8h\/NLzZx9JOfQVlwskrgXQP6SMjmDuJ+z5qoUtqHbtF+or2zdC7ENRgcuvt3fZCqGuDmhzSCCMgjmuzz2upzh+ynS\/wA+XImNc0TpbdDWxh21TPw4tOPVdx9oHmsWh69ojntjydph6WLa5sOPyPiqatpY66impZRlkrC0\/ivndG99skp60+rNb6noKljeJYSd\/wBtvgE8O1DSZa96PEKqtnv67vI+lovLHtkjbIxwc1wBaRzC9KB6gREQAWKpgZVU0tPIMslYWnuIWVEHGrqzPnWl3G16sNJMQCS+Bx5Z5eZA819FUHrCndbNQU90h\/akPxw9ZuPeMe1XMUjZomSsOWvaHNPYVarm0jBwS0OdJ8n9me0RFE9A4mr5RFpqpHN5a0fxD4Arfs8Rgs1HEeLYGA9+BlcPWbjUut1saTmpqASB1cPvexU4AAwBgBO8QRmh2q8n0SX5Na50Edyt01HJwkbgH\/SeR81ydI18klFJbandU0DujIPNvLy4eAVApW\/xyWS909+gB6KQiKpa3mOvyHmAuxytJyt7uSqrlh93\/CqUdcaWKm1c6mqARR3eMNeAN23yx27QBz\/yVXSVUNbSx1NO\/bikGWnGFP62DoaSirWfSp6geRGfgEU\/isc4pJ0tfTPrwMML75pkmn9Fdcbczex7PptHPh7iPFbcOtrQ9jTKZoXEZLXRk48lQNIc0OG8EZCxSUdLK4ukponk8S5gOUak90dVKpDFOWOjyTk+sJKxwgslBLUzO+s9uGt8B8cKhofSvQofTdj0jZHSbHDKzMYyNuyxoaOoDC9JW08JFKcJp3nK\/kEREpY4mrqD06wyloJfARK0Ds4+wletJ1fpenabLiXRAxOzyxw9mF2CARgjIKktKTG3XivskgLW7bnw7XPBx45GD4KizBroY5pQ4iM\/9Y\/RXLxLLHBC+aV4ZGwFznHgAv1zgxhc7g0ZO7Kk5Km4avkMFNG6ltQd85K76UnZ+Q8SljG\/cWq1dGErt7IyWSN181BPfZQeghJipQd27hnyJPeVVLFTU8dJTRU0LdmOJoa0dgWVEpXYUafs42e7y+8LFU00VZTvp52B8cgw5pWVEpVpNWZIW2vn0vXm03NxNG4\/q853AA\/Dr6u4rc1tLB8gOY57Okc9pjGRk7+I8MrtV1vpblB0FXCJWA5GeIPWCuVRaNtNFO2YCaZ7DlvSPG47scAOpVUo31PcxSo1VB0o5i+vL9\/I69CHNoKdrjlwiaDuxvwFnRFI2pWVgiIg6EREAFE6vgfarzSXmlGHPPrdW03r7xu8CrZc3UFuN0s09MwAyY2o\/wB4b\/bw8U9OVpGfiabqUmlusrvNykqWVlJFUx52JWB4z2hZlMaGrzPbJKJ4IfSu4nP0XZI9uVTrklpbQ9Gp7Smp9QiIlKhERABERABERABERABERABERAHOobJS2+4VNbC6TbqTl7SRsjfncAF0URdbb3FjGMVaKCIi4MEREAEREAEREAEREAf\/2Q==",
    "razonSocial": "STEEL INGENIERIA S.A.",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CLAUDIO CARVAJAL GONZÁLEZ",
    "correoContacto": "claudio.carvajal@vestislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56941499852",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28605\",\"cantidad_usada\":1,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28605\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28605\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28605\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-R640\",\"id_control\":\"28605\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:23",
    "ubicacionGPS": "LatLng(lat: -23.6548241, lng: -70.3953396)",
    "horaLlegada": "07:21",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 15:23:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:96846410

[08/05/2026 15:23: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('96846410', 'EP2622', 1, 19969062, 0, NOW(), 
				'08:00', '07:21', '15:23', 10, 'envio insumos ', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778268202.png', 'envio insumos encomienda', null, 'COMPLETADO','LatLng(lat: -23.6548241, lng: -70.3953396)' )
				
[08/05/2026 15:23:22] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200252
[08/05/2026 15:23:22] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200252', 'EPS-I302', 1)
				
[08/05/2026 15:23:22] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28605 and
				    IDproducto = 'EPS-I302'
				

08/05/2026 15:23:22 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I302';
                [08/05/2026 15:23:22] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200252', 'EPS-I303', 3)
				
[08/05/2026 15:23:22] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28605 and
				    IDproducto = 'EPS-I303'
				

08/05/2026 15:23:22 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I303';
                [08/05/2026 15:23:22] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200252', 'EPS-I304', 1)
				
[08/05/2026 15:23:22] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28605 and
				    IDproducto = 'EPS-I304'
				

08/05/2026 15:23:22 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                [08/05/2026 15:23:22] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200252', 'EPS-I305', 3)
				
[08/05/2026 15:23:22] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28605 and
				    IDproducto = 'EPS-I305'
				

08/05/2026 15:23:22 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I305';
                [08/05/2026 15:23:22] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200252', 'EPS-R640', 1)
				
[08/05/2026 15:23:22] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28605 and
				    IDproducto = 'EPS-R640'
				

08/05/2026 15:23:22 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R640';
                
08/05/2026 15:23:22 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200252'                    
				WHERE idllamado = 12493			
				TO ENVIO: micorreo@miempresa.cl, claudio.carvajal@vestislatam.com


08/05/2026 15:23:22 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12493			
				
08/05/2026 15:23:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


08/05/2026 15:23:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:23:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:23:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 15:23:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:23:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:23:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15:23:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                [08/05/2026 15:23: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;
                

08/05/2026 15:23:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            [08/05/2026 15:23: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;
                

08/05/2026 15: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 = 12493
                
08/05/2026 15:23:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12493
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15: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 = 12493
                
08/05/2026 15:23:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 15:23:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            [08/05/2026 15:23: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;
                

08/05/2026 15: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 = 12495
                [08/05/2026 15:23: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;
                

08/05/2026 15:23:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            [08/05/2026 15:23: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;
                
[08/05/2026 15:23: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;
                

08/05/2026 15:23:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 15:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 15:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 15:23:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 15:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 15:23:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 15:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 15:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 15:23:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 15:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15:23:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 15:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 15:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 15:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 15:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 15:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 15:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 15:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 15:23:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15:23:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 15:23:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 15:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12495
                
08/05/2026 15:23:54 - logentry: =========================================
FECHA: 08/05/2026 15:23:54
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-tUZNYGluJMNXzz0YYxpgc15PKC8hJ+ooxL6Amq5i9ZnjgSPyuxR
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "96846410",
    "serieinterna": "EP2731",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "envio insumos chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12495",
    "observacion": "envio insumos chilexpress",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACTAKYDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAQMEAgf\/xABCEAABAwMCAgcGAwMKBwAAAAABAAIDBAURBiESMRMiQVFhgZEUMnGhsdEHI8EWkuEVMzZCQ1KCssLSJCU3RGRyc\/\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgIJAgYCAwAAAAAAAAABAgMRITEEEjJBUWFxobEiwRMUM0KBkWLw0eHx\/9oADAMBAAIRAxEAPwD9mRFmahrzbbJUTscWyFvBGQOTjtny5+S6ld2IzkoRcnuMuv1RWCpqm22jbPBRAmaVx2PwIPYfM4PJb1vrorlQxVcJ6kg5dx7Qs\/TdpjoLEyGRoc+obxzducjl5Db1Xj0NI82eaF7smKoc0dwGBy88+qsko2dtxkpSqKcdd7SeHD+opURFUbQiIgOqpqI6WmkqJncMcbS5x8ApCPUl2YWXaZrRbZp+ja1zdw0E77dvMfEBaWt6gxWLoW5Lp5WtwBnYb\/UD5L2XG0Mm00+2xt3ZCBGG7Zc0ZHqR81bGyV3vMVZznNqDtqq\/5NUEEZByCuVi6Tr\/AG+ww8XvwflO3znHI+mFtKtqzsaqc1OCkt4REXCYREQBERAEREAREQBTGov+Z3222dvWYHdNMBvgDv7OQPr606l7Nmu1ldK49ZkA6Fp7AeW37p9VOGF3wM2kepRhxfbMqFMaRAhuF5pccPR1GzfDLh+ip1MWLq6tvTRsCQSPHP8AFI7LFbCrTfN+CnREUDSEREBMaqHT3ay0p9x9Rl3q3+Kp1Maj\/pNY\/wD6n6tVOpy2UZqX1anVeCVsrTatXXC27NiqB00QxjxwPhkjyVUpfVQNDdbXd2tyI5OjkIH9Xnj04lTtcHNDmkEEZBHauzxszmj+lyp8H2eJyiIqzUEREAREQBERAEREB1VUwpqSac4xExzznwGVIWeqmtOj6m6tDXTzz8QLxsesB2f4vVberKj2fTlUe2QCMeZ3+WV4blRmD8PxCPeZDG4478gn6lWwy6sw129dtfbFv8v\/AIb9DNJUUFPPLw9JJE17uAYGSM7LAsf9MLz5fVbNlf0lkoXnmadmfjwhY1g6+q70\/lhwbjzP2XF9xKbu6T5+xTovNW19LboDNVSiNvqT8AsP9ubcXA+zVQjJ\/nCwYHzUVGTyRfOvTpu0nYpUXnoq2nuFKypppA+N42Pd4HxSrrqWhY11VOyIPdwt4jzK5Z3sT1o21r4GBqUlmobC4nqmcgDx4m\/cKnUxq3q3KyPHvNqdj5t+yp1KWyiil9Wp1Xg8txoIrlQS0k3uyDGRzaew+qxdM1stNPNYK0npqXPROP8AXZns9QR4fBUixNQWJ9w4K2if0NfT7xvBxxeBP0SLVtVitCSaqQWK7o20WLp2\/C7wOhnb0dbBtKwjGezI+3YtpRaadmXU5xqRUo5BERcJhERAEREAREQExrImoNttwOTU1Ay0dw2\/1LZvEImslZEBzgfwjxxssa7HpddWqHHuRl\/+b\/aqZwDmlp3BGCrG7KJkprXnUf47f7MXSMwk0zTEn3OJp8MOP6YWBab7TW3+VriQXvrKk9BEDu45J8h1huubPW+w6Mug4wHMlcxh7cuAHL1K9mj9PMip47nVs4pH9aBjhswf3viVY0lrNmSMp1PhRhml+tx3Wux1Vyqxdr8OKX+ypiOqwdmR+nqqQQxCHoRGwR44eDhHDjuwvtFTKTZ6NOlGmrL98SUoWtsGrpLeHltJXM44mZ2a7PL5Eei19RWsXa0SwNGZWdeL\/wBh2efLzWZrQOphbrkwdamqOzx3\/wBPzVM0hzQ4bgjIU5PKRRTgvXReXsyArLmbhZLU+YnpaapEcuee3I+YHqCv0BfmWo2Pt95rKcDDJJ21DcjY7E\/VxHkv0wEEZByCu1VgrFWhybnNSzVl+ro5REVJ6JPX6xTPqBd7S4x18W7mj+1H3x6r12K+w3mnII6Kqi2lhPMeI8PotZTt9sUzqgXa0noq6LdzW8pf4\/VWJqSszLOEqUnUp5b17rn5KJFjWLUUN3BglZ7PWR5D4T245kfbmFsqDTTsy+E41I60XgERFwmEREAREQEx\/O\/iJ39FTem38VTqYt\/W\/EG5uG4FOAT44j+yp1Oe7oZtGyk\/5MirPaYbpLebfPLIxkdZxYjPPBeBnI5fZWbGNjY1jBhrQAB3BTWm+rqS+tGwMwJHjxO+6p12o3cjokUqd9+PlhERVmsyNUU3tWnatuMljOkHhwnJ+QK7dPVHtVgope3og0\/FvV\/Reqvj6a3VMX9+J7fUFY+iZek05G3f8uR7fnn9VZ9hmeGkLmvDMn8QKPEtLWtHvAxu8tx9T6KwpH9JRwP260bTt8Fk6xphUacnOMuhLZG+G+D8iV7LFOKixUUgOfyWtPxAwfmF1u8EQpx1NJnzSZoIiKo2BERAYt507FcXiqpZPZK5hy2ZgxxEd+Pr9V4qLU09vlbQX+J0Mo2bUYPC\/fHd8x8lTrorKKmr6d0FVC2WN3MH79impYWkZ50Wpa9N2fZ\/3idkUsc0bZIpGyMcMtc05B819qXl09c7Q901hrCWc\/ZZjt28jy7e3HxK5GqLnSu4bjYZ2jOC+LJHltjv7V3Uvssj8xq4VFbuv2U6KY\/bKR+8FkrJB349OQK4N01RXu4aO1R0jCSC+Y5x474yPIrnw5bzvzVN7N30TKhFlWWkvFP0sl1rmVDngcLGN2b54Hf3IotWZdCTlG7VjNs\/X1td3jkGBv8Al+yp1MWc8Otbuznlgdnl3fdU6lPMp0bYfV+SYsnU1jeI+XEA7HfuN\/mqdTFuBj1\/c2Ee9AHA\/ufdU6TzGjbLXN+QiIoGk4IBGCMgqZ0N+VQ1tKdnRVJyDzGwH6KnUxpXqXq\/RcgKnIH+J\/8ABTjsszVcK1N9fBtXiIzWWtjHN0D8fHBWRoWoMthMTj\/MzOaPgcH6kqjcA5padwRgqN0MTTXC40LubSD+6SD9QuxxgyFT06RB8bos0RFWbAiIgCIiAIiIAiIgCIiAmLeDF+IFyYRgPpw4Z7fc5fP0VOpe7Zt+tLdW54Y6lvQvwOZ5b+rfRVCnPczNo+DnHg33xJhv\/D\/iI7\/yabs8AOf7qp1MV3\/UO3bf9qfpIqdJ7ug0fOa\/k\/YIiKBpCmNPdXVF7adiXggeGT91TqY00fab\/eqse50vA0jkdz9h6qcdlmat9Sn1fgp1G25vsf4h1cWD+cHH1AerJS1zpZqfW1vrooHvZL1XvAJAOC058iF2nvXIjpK2JLc0VKIirNYREQBERAEREAREQBERAT2tKYy2UVLB+ZSyNeHZwQOR\/T0WzQVba+3wVbMYlYHYBzg9o8jsvupp2VVLLTye7KwsO3eMKa0zcG23p7NcJGwOp5D0TpHYDh24Px381YsYdDLJ\/Dr3eUl3R91nX\/ESgx\/Upjn0f91TqVtczLrrarrac8UFPCIw8cnHYf7vRVST3LkNGd1KS3t\/4CIirNR8ucGMLjyAypvQzS611NS735qhxOPgP1JW9XPEdvqZC7hDYnEnu2KyNFRlmnYyW445HOB798foprYZmnjXjyT9jfXGAcZHLkuUUDSEREAREQBERAEREAREQBERAF4LhZLddHcdXTNe\/HDxgkOxnPML3ouptZEZRjJWkrnRSUVNQw9DSwtiZknhau9EXDqSSsgiIh0xNXVQpdO1G+HTYjb5nf5Ar22akNDZ6WmIw5kY4hjHWO5+ZKwq6T9o9Rw0MAjfSULuOZ\/F7x7h8OSq1ZLCKRlp+urKayWC9wiIqzUEREAREQBERAEREAREQBERAEREAREQBERAeK2W6kttO6KjhETXPJO5JO+OZXtRF1u7IxSjFJBERcJBERAEREAREQBERAEREAREQH\/\/2Q==",
    "razonSocial": "STEEL INGENIERIA S.A.",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CLAUDIO CARVAJAL",
    "correoContacto": "claudio.carvajal@veltislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56941499852",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28607\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28607\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28607\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28607\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:23",
    "ubicacionGPS": "LatLng(lat: -23.6545895, lng: -70.3953967)",
    "horaLlegada": "07:21",
    "horaDespacho": "15:23",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 15:23:54
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-tUZNYGluJMNXzz0YYxpgc15PKC8hJ+ooxL6Amq5i9ZnjgSPyuxR
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "96846410",
    "serieinterna": "EP2731",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "envio insumos chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12495",
    "observacion": "envio insumos chilexpress",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACTAKYDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAQMEAgf\/xABCEAABAwMCAgcGAwMKBwAAAAABAAIDBAURBiESMRMiQVFhgZEUMnGhsdEHI8EWkuEVMzZCQ1KCssLSJCU3RGRyc\/\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgIJAgYCAwAAAAAAAAABAgMRITEEEjJBUWFxobEiwRMUM0KBkWLw0eHx\/9oADAMBAAIRAxEAPwD9mRFmahrzbbJUTscWyFvBGQOTjtny5+S6ld2IzkoRcnuMuv1RWCpqm22jbPBRAmaVx2PwIPYfM4PJb1vrorlQxVcJ6kg5dx7Qs\/TdpjoLEyGRoc+obxzducjl5Db1Xj0NI82eaF7smKoc0dwGBy88+qsko2dtxkpSqKcdd7SeHD+opURFUbQiIgOqpqI6WmkqJncMcbS5x8ApCPUl2YWXaZrRbZp+ja1zdw0E77dvMfEBaWt6gxWLoW5Lp5WtwBnYb\/UD5L2XG0Mm00+2xt3ZCBGG7Zc0ZHqR81bGyV3vMVZznNqDtqq\/5NUEEZByCuVi6Tr\/AG+ww8XvwflO3znHI+mFtKtqzsaqc1OCkt4REXCYREQBERAEREAREQBTGov+Z3222dvWYHdNMBvgDv7OQPr606l7Nmu1ldK49ZkA6Fp7AeW37p9VOGF3wM2kepRhxfbMqFMaRAhuF5pccPR1GzfDLh+ip1MWLq6tvTRsCQSPHP8AFI7LFbCrTfN+CnREUDSEREBMaqHT3ay0p9x9Rl3q3+Kp1Maj\/pNY\/wD6n6tVOpy2UZqX1anVeCVsrTatXXC27NiqB00QxjxwPhkjyVUpfVQNDdbXd2tyI5OjkIH9Xnj04lTtcHNDmkEEZBHauzxszmj+lyp8H2eJyiIqzUEREAREQBERAEREB1VUwpqSac4xExzznwGVIWeqmtOj6m6tDXTzz8QLxsesB2f4vVberKj2fTlUe2QCMeZ3+WV4blRmD8PxCPeZDG4478gn6lWwy6sw129dtfbFv8v\/AIb9DNJUUFPPLw9JJE17uAYGSM7LAsf9MLz5fVbNlf0lkoXnmadmfjwhY1g6+q70\/lhwbjzP2XF9xKbu6T5+xTovNW19LboDNVSiNvqT8AsP9ubcXA+zVQjJ\/nCwYHzUVGTyRfOvTpu0nYpUXnoq2nuFKypppA+N42Pd4HxSrrqWhY11VOyIPdwt4jzK5Z3sT1o21r4GBqUlmobC4nqmcgDx4m\/cKnUxq3q3KyPHvNqdj5t+yp1KWyiil9Wp1Xg8txoIrlQS0k3uyDGRzaew+qxdM1stNPNYK0npqXPROP8AXZns9QR4fBUixNQWJ9w4K2if0NfT7xvBxxeBP0SLVtVitCSaqQWK7o20WLp2\/C7wOhnb0dbBtKwjGezI+3YtpRaadmXU5xqRUo5BERcJhERAEREAREQExrImoNttwOTU1Ay0dw2\/1LZvEImslZEBzgfwjxxssa7HpddWqHHuRl\/+b\/aqZwDmlp3BGCrG7KJkprXnUf47f7MXSMwk0zTEn3OJp8MOP6YWBab7TW3+VriQXvrKk9BEDu45J8h1huubPW+w6Mug4wHMlcxh7cuAHL1K9mj9PMip47nVs4pH9aBjhswf3viVY0lrNmSMp1PhRhml+tx3Wux1Vyqxdr8OKX+ypiOqwdmR+nqqQQxCHoRGwR44eDhHDjuwvtFTKTZ6NOlGmrL98SUoWtsGrpLeHltJXM44mZ2a7PL5Eei19RWsXa0SwNGZWdeL\/wBh2efLzWZrQOphbrkwdamqOzx3\/wBPzVM0hzQ4bgjIU5PKRRTgvXReXsyArLmbhZLU+YnpaapEcuee3I+YHqCv0BfmWo2Pt95rKcDDJJ21DcjY7E\/VxHkv0wEEZByCu1VgrFWhybnNSzVl+ro5REVJ6JPX6xTPqBd7S4x18W7mj+1H3x6r12K+w3mnII6Kqi2lhPMeI8PotZTt9sUzqgXa0noq6LdzW8pf4\/VWJqSszLOEqUnUp5b17rn5KJFjWLUUN3BglZ7PWR5D4T245kfbmFsqDTTsy+E41I60XgERFwmEREAREQEx\/O\/iJ39FTem38VTqYt\/W\/EG5uG4FOAT44j+yp1Oe7oZtGyk\/5MirPaYbpLebfPLIxkdZxYjPPBeBnI5fZWbGNjY1jBhrQAB3BTWm+rqS+tGwMwJHjxO+6p12o3cjokUqd9+PlhERVmsyNUU3tWnatuMljOkHhwnJ+QK7dPVHtVgope3og0\/FvV\/Reqvj6a3VMX9+J7fUFY+iZek05G3f8uR7fnn9VZ9hmeGkLmvDMn8QKPEtLWtHvAxu8tx9T6KwpH9JRwP260bTt8Fk6xphUacnOMuhLZG+G+D8iV7LFOKixUUgOfyWtPxAwfmF1u8EQpx1NJnzSZoIiKo2BERAYt507FcXiqpZPZK5hy2ZgxxEd+Pr9V4qLU09vlbQX+J0Mo2bUYPC\/fHd8x8lTrorKKmr6d0FVC2WN3MH79impYWkZ50Wpa9N2fZ\/3idkUsc0bZIpGyMcMtc05B819qXl09c7Q901hrCWc\/ZZjt28jy7e3HxK5GqLnSu4bjYZ2jOC+LJHltjv7V3Uvssj8xq4VFbuv2U6KY\/bKR+8FkrJB349OQK4N01RXu4aO1R0jCSC+Y5x474yPIrnw5bzvzVN7N30TKhFlWWkvFP0sl1rmVDngcLGN2b54Hf3IotWZdCTlG7VjNs\/X1td3jkGBv8Al+yp1MWc8Otbuznlgdnl3fdU6lPMp0bYfV+SYsnU1jeI+XEA7HfuN\/mqdTFuBj1\/c2Ee9AHA\/ufdU6TzGjbLXN+QiIoGk4IBGCMgqZ0N+VQ1tKdnRVJyDzGwH6KnUxpXqXq\/RcgKnIH+J\/8ABTjsszVcK1N9fBtXiIzWWtjHN0D8fHBWRoWoMthMTj\/MzOaPgcH6kqjcA5padwRgqN0MTTXC40LubSD+6SD9QuxxgyFT06RB8bos0RFWbAiIgCIiAIiIAiIgCIiAmLeDF+IFyYRgPpw4Z7fc5fP0VOpe7Zt+tLdW54Y6lvQvwOZ5b+rfRVCnPczNo+DnHg33xJhv\/D\/iI7\/yabs8AOf7qp1MV3\/UO3bf9qfpIqdJ7ug0fOa\/k\/YIiKBpCmNPdXVF7adiXggeGT91TqY00fab\/eqse50vA0jkdz9h6qcdlmat9Sn1fgp1G25vsf4h1cWD+cHH1AerJS1zpZqfW1vrooHvZL1XvAJAOC058iF2nvXIjpK2JLc0VKIirNYREQBERAEREAREQBERAT2tKYy2UVLB+ZSyNeHZwQOR\/T0WzQVba+3wVbMYlYHYBzg9o8jsvupp2VVLLTye7KwsO3eMKa0zcG23p7NcJGwOp5D0TpHYDh24Px381YsYdDLJ\/Dr3eUl3R91nX\/ESgx\/Upjn0f91TqVtczLrrarrac8UFPCIw8cnHYf7vRVST3LkNGd1KS3t\/4CIirNR8ucGMLjyAypvQzS611NS735qhxOPgP1JW9XPEdvqZC7hDYnEnu2KyNFRlmnYyW445HOB798foprYZmnjXjyT9jfXGAcZHLkuUUDSEREAREQBERAEREAREQBERAF4LhZLddHcdXTNe\/HDxgkOxnPML3ouptZEZRjJWkrnRSUVNQw9DSwtiZknhau9EXDqSSsgiIh0xNXVQpdO1G+HTYjb5nf5Ar22akNDZ6WmIw5kY4hjHWO5+ZKwq6T9o9Rw0MAjfSULuOZ\/F7x7h8OSq1ZLCKRlp+urKayWC9wiIqzUEREAREQBERAEREAREQBERAEREAREQBERAeK2W6kttO6KjhETXPJO5JO+OZXtRF1u7IxSjFJBERcJBERAEREAREQBERAEREAREQH\/\/2Q==",
    "razonSocial": "STEEL INGENIERIA S.A.",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CLAUDIO CARVAJAL",
    "correoContacto": "claudio.carvajal@veltislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56941499852",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28607\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28607\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28607\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28607\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:23",
    "ubicacionGPS": "LatLng(lat: -23.6545895, lng: -70.3953967)",
    "horaLlegada": "07:21",
    "horaDespacho": "15:23",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 15:23:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:96846410

[08/05/2026 15: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('96846410', 'EP2731', 1, 19969062, 0, NOW(), 
				'15:23', '07:21', '15:23', 10, 'envio insumos chilexpress', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778268234.png', 'envio insumos chilexpress', null, 'COMPLETADO','LatLng(lat: -23.6545895, lng: -70.3953967)' )
				
[08/05/2026 15:23:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200253
[08/05/2026 15:23:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200253', 'EPS-I302', 1)
				
[08/05/2026 15:23:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28607 and
				    IDproducto = 'EPS-I302'
				

08/05/2026 15:23:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I302';
                [08/05/2026 15:23:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200253', 'EPS-I304', 1)
				
[08/05/2026 15:23:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28607 and
				    IDproducto = 'EPS-I304'
				

08/05/2026 15:23:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                [08/05/2026 15:23:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200253', 'EPS-I305', 1)
				
[08/05/2026 15:23:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28607 and
				    IDproducto = 'EPS-I305'
				

08/05/2026 15:23:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I305';
                [08/05/2026 15:23:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200253', 'EPS-I303', 1)
				
[08/05/2026 15:23:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28607 and
				    IDproducto = 'EPS-I303'
				

08/05/2026 15:23:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I303';
                
08/05/2026 15:23:54 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200253'                    
				WHERE idllamado = 12495			
				TO ENVIO: micorreo@miempresa.cl, claudio.carvajal@veltislatam.com


08/05/2026 15:23:54 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12495			
				
08/05/2026 15:23:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15:23:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                [08/05/2026 15:23: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;
                

08/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12495
                
08/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            [08/05/2026 15:23: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;
                

08/05/2026 15: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 = 12495
                
08/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12495
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                
08/05/2026 15: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 = 12495
                [08/05/2026 15:23: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;
                

08/05/2026 15:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 15:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 15:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 15:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 15:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12495
                
08/05/2026 15:23:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            [08/05/2026 15:23: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;
                

08/05/2026 15:23:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:23:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            [08/05/2026 15:23: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;
                

08/05/2026 15:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:23:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            [08/05/2026 15:23: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;
                

08/05/2026 15:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:23:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                [08/05/2026 15:23: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;
                

08/05/2026 15:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                [08/05/2026 15:23: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;
                

08/05/2026 15:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            [08/05/2026 15:23: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;
                

08/05/2026 15:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15: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 = 12494
                
08/05/2026 15:24:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12494
                
08/05/2026 15: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 = 12494
                
08/05/2026 15:24:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12494
                
08/05/2026 15:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15: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 = 12494
                
08/05/2026 15: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 = 12494
                
08/05/2026 15: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 = 12494
                
08/05/2026 15:24:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12494
                
08/05/2026 15: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 = 12494
                
08/05/2026 15: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 = 12494
                
08/05/2026 15: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 = 12494
                
08/05/2026 15:24:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12494
                
08/05/2026 15:24:25 - logentry: =========================================
FECHA: 08/05/2026 15:24:25
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-EL.+j0rPP+gl0FMIis.Is3qcBmxDP_keNkmReJk1uJzb_cANeAi
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "96846410",
    "serieinterna": "EP2646",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "envio insumos chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12494",
    "observacion": "envio insumos chilexpress",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC4APQDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABCEAABAwMBBAYHBAgFBQAAAAABAAIDBAURBhIhMUETMlFxgZEUImGhscHRFRZC4SMlM1KSwtLwJDQ2VPFTYoKisv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAgMGAwgCAwAAAAAAAAABAgMREiExBBMyQVGhgbHRIjNSYXGRweEUI0Ji8P\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAiIgCIiAKMv9ZW0FsdVUTGOMZBk2hkhud5AUmvHNDmlrgCCMEHmup2ZGcXKLSdjmttfFc6CKrh6sg3tznZPMLqVTtxdprUclulOKGuO3Tknc13Z8vJWxdkrPIro1HOPtarJhERRLgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIij7pe6CzsBq5cPcMtjYMud4fVdSbyRGUoxV5OyJBFWBqS8z5nprBK+m3FpcSHOG\/2c\/ZnxUlaNQUd3Lo49qKoZkuhePWABx4qThJZlUNopydk\/wAEqiIoF4REQBERAEREBE6jtAu9scxgxURevC729nj9F5pu7m7W7Mvq1MB2Jm888jj2\/EFS6qd4bJp2\/R3qEE0tS4MqWDke3594ParI+0sJkq\/1T3q00fr4FsRYse2SNsjHBzXAFpHMLju90htFvkqpd5G5jf33Y3BQSu7GmUlGOJ6HVLUQQFolmjjLs7Ie4DOOxbFVaHTZu9O6vvM0zpqkbTGtcW9E0\/PGOSztdXUWS9ix1splgkG1TTO4kk5wd\/eO8DtU3BcnmZ1XldOcbJ6fss6IirNQREQBERAEREAREQBERAEREBx3a4MtdsmrH4JY31Wn8TjwHmofT9ofUn7auzelq5\/WY17cdGOW7+8DC13j9c6ppLQW7VPTATTjt9h8wPFWdrQ1oa0AADAA5Kzhj9TIlvarb0jl49T1QeoLCK9graL9DXwetG9u7axvwfkpxFBNp3RoqU41I4ZEXp66\/bFpjqH4EzTsSgcnD6jB8VKKqUn6j1pLS7QbTXFvSMHIOJOB55HiFa1Kas8ivZ5uULS1WTCIigXhERAEREAXNcKKK40MtJMPVlbjOOqeRHcV0omhxpNWZXdJVsogmtFVuqaFxbjtbn5fDC57s1t31hSWx426enZ0krDwJxn+nzTUQdZr5SX2Fp2HnoqkDmP+P\/kLLS2zV3m73HAy6Xo2Efu5P0ar+s0ebdtrZ3yfZZr0LQq\/rC3mptYrIjsz0R6RrhuOOfyPgrAtVVAKmkmp3cJWOYfEYVUXZ3N9WCqQcWabXWC4WynqxxlYCd2N\/P35XWq5omZ7rLJTv61NO5mM8uPxJVjSStJo5RnjpxkwiIoloREQBERAEREAREQBa55mU1PJPIcMiYXu7gMlbFCavqPR9OVA\/FKWxjxO\/wBwK7FXaRXUngg5dDk0dBJOyrvE+ekrJTs5P4Qfru8FZlw2Wn9FstHDzbC0nvIyfeV3Ls3eTI0IYKaQREUS4rWto3R0VLcImjpqWoaQ7HAf8gKxQyNmhZK3qvaHDuKjNURCbTlY0jOGBw3dhB+S26fm9IsFFIf+kG+W75KbzgjNH2dokuqT\/BIoiKBpCIiAIiIAiIgI3UNPHVWCsjkOAIi8HsLd494URoLovsicNIMvTEvHMDAx81MagIFgrsnH6B3wVR0q99rvNK2Q4iuMG7J55OPe3A71dFXptHn1pKG1QduVi\/oiKk9ArGk\/0d1vdPw2KnIHDm7l4BWdViw+pqy9MHAuDvf+as6nU4jNsvu7dG\/NhERQNIREQBERAEREAREQBVnXhP2JCwcXVLRjt9V35KzKsa69W20jz1W1IyfA\/RTp8aM21+4kdOja11XYGNecugeYyc5JHEfH3KeVY0mTS3K7W1zdnopttgzvI3jPls+as6VOJndlbdJX5ZfbIIiKBoInVE3Q6crHDeXM2cd5A+a22CEwWGiYeJiDjux1t\/zUTrGpFQ2ms0A26iqkacA9QZ3Z7\/kVZIYxDCyIHIY0Nz3Kx5QRli8VeTXJJfkzREVZqCIiAIiIAiIgIbVspi03V7PFwa3zcM+7KhbzRPg0raa6AETUTY35wDjIBJ\/iwprVrdrTNYM43NPk8FZUdM246RgpnDdLRtYOeDs4B896ti7RT+ZgrQ3lWUf9fySNLUMq6SGpj6krA8Z7CMrcq9oqr6ex+juP6SlkLCM8jvHxI8FYCQBknAChJWbRqpT3lNS6lZsf+sLz4fFWdVjRY9I+0riW4NTUHBPif5lZ12pxFey+6v1bfcIiKBpCIiAIiIAiIgCIiAKt66jL7A1wBPRztcfZuI+asiitTQekadrWYzsx7f8ACc\/JSg7SRRtEcVGS+RE08nQa7je1wLbhSB27n6vH\/wBFa1R6CV0t709U7zmkMRPHq7bfmrwpVFZoq2SV1L6+aTK5qLVD7RUNpKenY+dwztSuw1vZ38+Y4Kuz3jUFbVtpqav6eV4yWUo3M\/8AIAfEj2q91ltoq8D0qmjlxjeRv3cs9nsXtHbqO3sLKSmjhB47I3nvPErsZxitMyNXZ61Sec7R+RV6XRtfM70ytussVW\/rFmXOHLrZ37l1fc17t771WOdzOfzVnRcdSRYtjopad2Vj7v3+l30eoHyY4CcEju37S89O1XbnYqaCKvjA60O4nHd9OfgrQi5j6o7\/ABkuCTXj6kBQ6voKiYU9Wx9FOcerKNwPZnG7x9inmuDmhzSCCMgjmuS4WmhukexWU7ZCBhr+Dm9x4quudW6OqW5dJVWmRwGXb3xHh\/fI+xdtGXDqRdSpS95muvqi3ItNLVQ1tMyop3h8cgyCFuVZqTTV0EREOkdqBm3p+uG\/9i47vYMrVpd+3puiO7qEbvYSFJVEQnppYTwkYWnxGFAaHlL7G6F3Wgmc3HkfmVNcDM0stoT6pmq1kW3WtfQ7xHVt6ZnHrcT8XeSmr3Uei2SsmHFsTgO8jA95UJqb\/AX+03QEhof0UhA4Nz9HOW3WdVmghtkRzPWytaG+wEfPCnbE4spU93CpHpp46dzr0lAINOUu\/JkBefEn5YUytVNA2mpYqdnViYGDuAwtqqk7u5rpxwQUeiCIi4WBERAEREAREQBERAFrqIhPTSwnhIwtPiMLYiBq+R8\/01S1MmoaannjcG24SZBZuBJPPvIPgvoCxa1rc7LQNo5OBxKyU5yxO5n2ehuY4b3CIigaAiIgCIiALCWKOaJ0UrA9jxhzXDIIWaICpW4yaYv5tkpJoKx2adzjua7s+APgraoPV9CaywyvZnpKYiVuD2cfdk+CkLRXC5Wunq8jakYNrHJ3AjzVks1iMtH+ubpctV6eB2IiKs1BVjT+aTVF5oTwe7pm+wZz\/OFZ1Vrkfs3W9DV4IjrGdE854nh82qyGd0Zto9lwn0fnkdOtafptOvfgkwyNfu\/h\/mXBZ5zf9UCud60NFTtDQQTh5G\/3l3kPCZ1PPDBp6r6beHs2GjH4jw96j9CQxMsj5WA9JJKQ8n2AYA8\/eVJO1NsoqRxbUl8rvwvYsyIipPQCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDGSNssbo3jLXgtI7QVXNESObbamjefXpqhzcHkD+YKsqrGkiX3C9SZ9V1TuA6o3uO7zU48LM1TKtB\/XyLOiIoGkKB1fRPqbP6RDumo3iZrhxAHH6+Cnli9jZI3RvaHNcCHA8wuxdncrqQVSDi+ZTW1X3uu1DBs5paaMTVAxuLubeHbu7slduiD0VLX0vAw1JyOzdj+VQ9stNdFea+10lxNC5hDt28vZvxw9hHmmnLHU3anqKtt0mpszFp6POXnAJJwfatMkrNXyPJpSqbyMnG8s7+XYv6Ksfcpj\/212rJOZ38+3flPuJQO3SVtY8dm036KjDHqejvK3wdyzoqx9wbV\/uKz+Nv9KfcG1f7is\/jb\/Slodew3lf4F9\/0WdFWBoK1g5FRWAj\/AL2\/0p9ymRf5W7VkIHDfnHlhMMeo3lb4O\/6LOiq\/3f1DT76bUL5DnI6YH57Sen6st4xUW+GtYB14usfL6c\/BdwX0Y\/kNccGu\/kWhFXqbWVA6Xoa6GehlyARK3cD8ePaFOwVENTE2WCRsjHDIc05UXFrUthVhU4Xc2IiKJYEREAREQBERAEREAREQBERAa5pWU8Ek0hwyNpc4+wDKr+iY3G21FW4bJqZ3OA5YH558lt1ZcGw0DbdGHOqK4iNgYMkDIz55wFKWqiFutdPSDeYmAE44nifflWaQ+pl466t\/iu7\/AEdaIsXOaxpc9wa0cSTgBVmoyREQFfvtkramviuNrlbFUtYY3EnG7Bwe\/fjyUhZLZ9k2yOkL9twJLndp\/vCkEUnJtWKY0YRm5rVhERRLgiIgCIiAIiIDTU0dNWR9HUwRzN7HtBx3dirNXaq\/Tc0lfZXbdH1pqVxzgDiRn48e9WxaK57I6CofJ1GxOLu7BU4yayKKtKM1fRrmY2+uiuVDFVw9WRucZzsnmEUTooSfd1jn5IdI8tJPLP1yi5JWk0Sozc6cZPmifREUS0IiIAiIgCIiAIiIAtNXVRUVLJUzu2Y4m7Tisp54qaF808jY42DLnOOAFVHST6xuQiZ0kVogOXO4GUj+\/Ae1SjG+b0KKtXB7Mc5PRf8AcjbYKea9XWTUFY0iMEspGHG5uT8PjlWpYRRRwQshiYGRsAa1o4ALNJSuyVGnu421fP6haK2jguFI+lqWbcUmNpuSOByN49oW9FEsaTVmYxxsijbHG3ZYwBrR2ALJEQ6EREAREQBERAEREAREQBYSxRzwvhlYHxvBa5p4ELNEGpqp6eGkp2QQRiOJgw1o5ItqIcStkgix6RhkMYe3bAyW5347lkh0IiIAiIgCKPrL7a6AH0itiDh+Bp2neQ3qIOr5Kxxjs9qqKp\/DacMNb34z7yFJQkyme0U4Ozef3LMSAMk4AUPcdVWu3O6Mymol\/cgw4jvPBR32Hfb039cXD0eInPo8IB3dhxu88qZt9htls2XU1M3pGj9o\/wBZ3ny8FK0Vq7leOtU4VhXV6\/b1IRltuWqKkVF0D6OgYcxU43Od3\/U+CtEEEVNCyGCNscbBhrWjAC2Ioyk2WU6Shd6t8wiIolwREQBERAEREAREQBERAEREAREQBERAEREBBXHSVDcKp9W2WanqHnaL43bs9y5PsjU1vOaK7tqox+Cozn35+I4IimpvQzy2am3dZP5ZHovGqI2hstjY943FzXbj7yn2xqh\/UsTG447TvzCIpXXQpwTvbG+3oDcNXzNLY7TTxH95zh83LE6bvNx33W8uDSd8UHV459g9xRFzHbRFi2dS45N+PpYkKLSlnoQCKUTPH45jtHy4e5S7GMjYGRtDGtGA1owAiKDbepfCnCCtFWMkRFwmEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/\/Z",
    "razonSocial": "STEEL INGENIERIA S.A.",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CLAUDIO CARVAJAL",
    "correoContacto": "claudio.carvajal@veltislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56941499852",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28606\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28606\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28606\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28606\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R640\",\"id_control\":\"28606\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:24",
    "ubicacionGPS": "LatLng(lat: -23.654407, lng: -70.3955985)",
    "horaLlegada": "07:21",
    "horaDespacho": "15:23",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 15:24:25
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-EL.+j0rPP+gl0FMIis.Is3qcBmxDP_keNkmReJk1uJzb_cANeAi
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "96846410",
    "serieinterna": "EP2646",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "envio insumos chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12494",
    "observacion": "envio insumos chilexpress",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC4APQDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABCEAABAwMBBAYHBAgFBQAAAAABAAIDBAURBhIhMUETMlFxgZEUImGhscHRFRZC4SMlM1KSwtLwJDQ2VPFTYoKisv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAgMGAwgCAwAAAAAAAAABAgMREiExBBMyQVGhgbHRIjNSYXGRweEUI0Ji8P\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAiIgCIiAKMv9ZW0FsdVUTGOMZBk2hkhud5AUmvHNDmlrgCCMEHmup2ZGcXKLSdjmttfFc6CKrh6sg3tznZPMLqVTtxdprUclulOKGuO3Tknc13Z8vJWxdkrPIro1HOPtarJhERRLgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIij7pe6CzsBq5cPcMtjYMud4fVdSbyRGUoxV5OyJBFWBqS8z5nprBK+m3FpcSHOG\/2c\/ZnxUlaNQUd3Lo49qKoZkuhePWABx4qThJZlUNopydk\/wAEqiIoF4REQBERAEREBE6jtAu9scxgxURevC729nj9F5pu7m7W7Mvq1MB2Jm888jj2\/EFS6qd4bJp2\/R3qEE0tS4MqWDke3594ParI+0sJkq\/1T3q00fr4FsRYse2SNsjHBzXAFpHMLju90htFvkqpd5G5jf33Y3BQSu7GmUlGOJ6HVLUQQFolmjjLs7Ie4DOOxbFVaHTZu9O6vvM0zpqkbTGtcW9E0\/PGOSztdXUWS9ix1splgkG1TTO4kk5wd\/eO8DtU3BcnmZ1XldOcbJ6fss6IirNQREQBERAEREAREQBERAEREBx3a4MtdsmrH4JY31Wn8TjwHmofT9ofUn7auzelq5\/WY17cdGOW7+8DC13j9c6ppLQW7VPTATTjt9h8wPFWdrQ1oa0AADAA5Kzhj9TIlvarb0jl49T1QeoLCK9graL9DXwetG9u7axvwfkpxFBNp3RoqU41I4ZEXp66\/bFpjqH4EzTsSgcnD6jB8VKKqUn6j1pLS7QbTXFvSMHIOJOB55HiFa1Kas8ivZ5uULS1WTCIigXhERAEREAXNcKKK40MtJMPVlbjOOqeRHcV0omhxpNWZXdJVsogmtFVuqaFxbjtbn5fDC57s1t31hSWx426enZ0krDwJxn+nzTUQdZr5SX2Fp2HnoqkDmP+P\/kLLS2zV3m73HAy6Xo2Efu5P0ar+s0ebdtrZ3yfZZr0LQq\/rC3mptYrIjsz0R6RrhuOOfyPgrAtVVAKmkmp3cJWOYfEYVUXZ3N9WCqQcWabXWC4WynqxxlYCd2N\/P35XWq5omZ7rLJTv61NO5mM8uPxJVjSStJo5RnjpxkwiIoloREQBERAEREAREQBa55mU1PJPIcMiYXu7gMlbFCavqPR9OVA\/FKWxjxO\/wBwK7FXaRXUngg5dDk0dBJOyrvE+ekrJTs5P4Qfru8FZlw2Wn9FstHDzbC0nvIyfeV3Ls3eTI0IYKaQREUS4rWto3R0VLcImjpqWoaQ7HAf8gKxQyNmhZK3qvaHDuKjNURCbTlY0jOGBw3dhB+S26fm9IsFFIf+kG+W75KbzgjNH2dokuqT\/BIoiKBpCIiAIiIAiIgI3UNPHVWCsjkOAIi8HsLd494URoLovsicNIMvTEvHMDAx81MagIFgrsnH6B3wVR0q99rvNK2Q4iuMG7J55OPe3A71dFXptHn1pKG1QduVi\/oiKk9ArGk\/0d1vdPw2KnIHDm7l4BWdViw+pqy9MHAuDvf+as6nU4jNsvu7dG\/NhERQNIREQBERAEREAREQBVnXhP2JCwcXVLRjt9V35KzKsa69W20jz1W1IyfA\/RTp8aM21+4kdOja11XYGNecugeYyc5JHEfH3KeVY0mTS3K7W1zdnopttgzvI3jPls+as6VOJndlbdJX5ZfbIIiKBoInVE3Q6crHDeXM2cd5A+a22CEwWGiYeJiDjux1t\/zUTrGpFQ2ms0A26iqkacA9QZ3Z7\/kVZIYxDCyIHIY0Nz3Kx5QRli8VeTXJJfkzREVZqCIiAIiIAiIgIbVspi03V7PFwa3zcM+7KhbzRPg0raa6AETUTY35wDjIBJ\/iwprVrdrTNYM43NPk8FZUdM246RgpnDdLRtYOeDs4B896ti7RT+ZgrQ3lWUf9fySNLUMq6SGpj6krA8Z7CMrcq9oqr6ex+juP6SlkLCM8jvHxI8FYCQBknAChJWbRqpT3lNS6lZsf+sLz4fFWdVjRY9I+0riW4NTUHBPif5lZ12pxFey+6v1bfcIiKBpCIiAIiIAiIgCIiAKt66jL7A1wBPRztcfZuI+asiitTQekadrWYzsx7f8ACc\/JSg7SRRtEcVGS+RE08nQa7je1wLbhSB27n6vH\/wBFa1R6CV0t709U7zmkMRPHq7bfmrwpVFZoq2SV1L6+aTK5qLVD7RUNpKenY+dwztSuw1vZ38+Y4Kuz3jUFbVtpqav6eV4yWUo3M\/8AIAfEj2q91ltoq8D0qmjlxjeRv3cs9nsXtHbqO3sLKSmjhB47I3nvPErsZxitMyNXZ61Sec7R+RV6XRtfM70ytussVW\/rFmXOHLrZ37l1fc17t771WOdzOfzVnRcdSRYtjopad2Vj7v3+l30eoHyY4CcEju37S89O1XbnYqaCKvjA60O4nHd9OfgrQi5j6o7\/ABkuCTXj6kBQ6voKiYU9Wx9FOcerKNwPZnG7x9inmuDmhzSCCMgjmuS4WmhukexWU7ZCBhr+Dm9x4quudW6OqW5dJVWmRwGXb3xHh\/fI+xdtGXDqRdSpS95muvqi3ItNLVQ1tMyop3h8cgyCFuVZqTTV0EREOkdqBm3p+uG\/9i47vYMrVpd+3puiO7qEbvYSFJVEQnppYTwkYWnxGFAaHlL7G6F3Wgmc3HkfmVNcDM0stoT6pmq1kW3WtfQ7xHVt6ZnHrcT8XeSmr3Uei2SsmHFsTgO8jA95UJqb\/AX+03QEhof0UhA4Nz9HOW3WdVmghtkRzPWytaG+wEfPCnbE4spU93CpHpp46dzr0lAINOUu\/JkBefEn5YUytVNA2mpYqdnViYGDuAwtqqk7u5rpxwQUeiCIi4WBERAEREAREQBERAFrqIhPTSwnhIwtPiMLYiBq+R8\/01S1MmoaannjcG24SZBZuBJPPvIPgvoCxa1rc7LQNo5OBxKyU5yxO5n2ehuY4b3CIigaAiIgCIiALCWKOaJ0UrA9jxhzXDIIWaICpW4yaYv5tkpJoKx2adzjua7s+APgraoPV9CaywyvZnpKYiVuD2cfdk+CkLRXC5Wunq8jakYNrHJ3AjzVks1iMtH+ubpctV6eB2IiKs1BVjT+aTVF5oTwe7pm+wZz\/OFZ1Vrkfs3W9DV4IjrGdE854nh82qyGd0Zto9lwn0fnkdOtafptOvfgkwyNfu\/h\/mXBZ5zf9UCud60NFTtDQQTh5G\/3l3kPCZ1PPDBp6r6beHs2GjH4jw96j9CQxMsj5WA9JJKQ8n2AYA8\/eVJO1NsoqRxbUl8rvwvYsyIipPQCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDGSNssbo3jLXgtI7QVXNESObbamjefXpqhzcHkD+YKsqrGkiX3C9SZ9V1TuA6o3uO7zU48LM1TKtB\/XyLOiIoGkKB1fRPqbP6RDumo3iZrhxAHH6+Cnli9jZI3RvaHNcCHA8wuxdncrqQVSDi+ZTW1X3uu1DBs5paaMTVAxuLubeHbu7slduiD0VLX0vAw1JyOzdj+VQ9stNdFea+10lxNC5hDt28vZvxw9hHmmnLHU3anqKtt0mpszFp6POXnAJJwfatMkrNXyPJpSqbyMnG8s7+XYv6Ksfcpj\/212rJOZ38+3flPuJQO3SVtY8dm036KjDHqejvK3wdyzoqx9wbV\/uKz+Nv9KfcG1f7is\/jb\/Slodew3lf4F9\/0WdFWBoK1g5FRWAj\/AL2\/0p9ymRf5W7VkIHDfnHlhMMeo3lb4O\/6LOiq\/3f1DT76bUL5DnI6YH57Sen6st4xUW+GtYB14usfL6c\/BdwX0Y\/kNccGu\/kWhFXqbWVA6Xoa6GehlyARK3cD8ePaFOwVENTE2WCRsjHDIc05UXFrUthVhU4Xc2IiKJYEREAREQBERAEREAREQBERAa5pWU8Ek0hwyNpc4+wDKr+iY3G21FW4bJqZ3OA5YH558lt1ZcGw0DbdGHOqK4iNgYMkDIz55wFKWqiFutdPSDeYmAE44nifflWaQ+pl466t\/iu7\/AEdaIsXOaxpc9wa0cSTgBVmoyREQFfvtkramviuNrlbFUtYY3EnG7Bwe\/fjyUhZLZ9k2yOkL9twJLndp\/vCkEUnJtWKY0YRm5rVhERRLgiIgCIiAIiIDTU0dNWR9HUwRzN7HtBx3dirNXaq\/Tc0lfZXbdH1pqVxzgDiRn48e9WxaK57I6CofJ1GxOLu7BU4yayKKtKM1fRrmY2+uiuVDFVw9WRucZzsnmEUTooSfd1jn5IdI8tJPLP1yi5JWk0Sozc6cZPmifREUS0IiIAiIgCIiAIiIAtNXVRUVLJUzu2Y4m7Tisp54qaF808jY42DLnOOAFVHST6xuQiZ0kVogOXO4GUj+\/Ae1SjG+b0KKtXB7Mc5PRf8AcjbYKea9XWTUFY0iMEspGHG5uT8PjlWpYRRRwQshiYGRsAa1o4ALNJSuyVGnu421fP6haK2jguFI+lqWbcUmNpuSOByN49oW9FEsaTVmYxxsijbHG3ZYwBrR2ALJEQ6EREAREQBERAEREAREQBYSxRzwvhlYHxvBa5p4ELNEGpqp6eGkp2QQRiOJgw1o5ItqIcStkgix6RhkMYe3bAyW5347lkh0IiIAiIgCKPrL7a6AH0itiDh+Bp2neQ3qIOr5Kxxjs9qqKp\/DacMNb34z7yFJQkyme0U4Ozef3LMSAMk4AUPcdVWu3O6Mymol\/cgw4jvPBR32Hfb039cXD0eInPo8IB3dhxu88qZt9htls2XU1M3pGj9o\/wBZ3ny8FK0Vq7leOtU4VhXV6\/b1IRltuWqKkVF0D6OgYcxU43Od3\/U+CtEEEVNCyGCNscbBhrWjAC2Ioyk2WU6Shd6t8wiIolwREQBERAEREAREQBERAEREAREQBERAEREBBXHSVDcKp9W2WanqHnaL43bs9y5PsjU1vOaK7tqox+Cozn35+I4IimpvQzy2am3dZP5ZHovGqI2hstjY943FzXbj7yn2xqh\/UsTG447TvzCIpXXQpwTvbG+3oDcNXzNLY7TTxH95zh83LE6bvNx33W8uDSd8UHV459g9xRFzHbRFi2dS45N+PpYkKLSlnoQCKUTPH45jtHy4e5S7GMjYGRtDGtGA1owAiKDbepfCnCCtFWMkRFwmEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/\/Z",
    "razonSocial": "STEEL INGENIERIA S.A.",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CLAUDIO CARVAJAL",
    "correoContacto": "claudio.carvajal@veltislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56941499852",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28606\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28606\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28606\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28606\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R640\",\"id_control\":\"28606\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:24",
    "ubicacionGPS": "LatLng(lat: -23.654407, lng: -70.3955985)",
    "horaLlegada": "07:21",
    "horaDespacho": "15:23",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 15:24:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:96846410

[08/05/2026 15:24:25] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('96846410', 'EP2646', 2, 19969062, 0, NOW(), 
				'15:23', '07:21', '15:24', 10, 'envio insumos chilexpress', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778268265.png', 'envio insumos chilexpress', null, 'COMPLETADO','LatLng(lat: -23.654407, lng: -70.3955985)' )
				
[08/05/2026 15:24:25] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200254
[08/05/2026 15:24:25] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200254', 'EPS-I302', 1)
				
[08/05/2026 15:24:25] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28606 and
				    IDproducto = 'EPS-I302'
				

08/05/2026 15: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 = 12494
                
08/05/2026 15: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 = 12494
                
08/05/2026 15:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:24:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:25:11 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I302';
                
08/05/2026 15: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 = 12494
                
08/05/2026 15: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 = 12494
                
08/05/2026 15: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 = 12494
                
08/05/2026 15: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 = 12494
                [08/05/2026 15:25:11] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200254', 'EPS-I303', 1)
				
[08/05/2026 15:25:11] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28606 and
				    IDproducto = 'EPS-I303'
				

08/05/2026 15:25:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12494
                
08/05/2026 15:25:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:25:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12494
                
08/05/2026 15:25:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I303';
                
08/05/2026 15:25:12 - logentry: =========================================
FECHA: 08/05/2026 15:25:12
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-9G.S9Wvqys_G0JVuD5Oys8bK_T4W7aYh2lR9QbhzVOP1Fj_yFc1
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "96846410",
    "serieinterna": "EP2646",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "envio insumos chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12494",
    "observacion": "envio insumos chilexpress",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC0AMMDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABHEAABAwMBBAUIBgUMAwEAAAABAAIDBAURBhIhMUETUYGRoRQiMmFxscHRByNCUsLhFRYzNXIkR1Nic3SChJKistI0Q\/Dx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMxEAAgECAwUGBQMFAAAAAAAAAAECAxEEITESMlFhcRMiQZGhsRQzgcHRQnLwJFJTYuH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAWtcK1tuoJat0b5GxDJazjjP\/xWysVTTsqqWWnk9GVhYd3WMLq1zIyvsu2p4oauOvoYauP0ZWBwGc49XZwWwpzRU7v0XNRSbpKSZzSOoHf79pUa7JWbRCjPtKakaN4ubLTbn1TwCR5rAc4Ljw4KfF4vlpNPW3YMlo6rG0IwMw7vUOrfxPNZtRg3LUVrs5fiI5mkBG52M\/Brh2rv3GijuFBNSytBEjSBkcDyPYVNWilfxM8turOWw7bOnXmZ2PbJG2Rjg5rgC0jmF6U9oyqkltMlJNnpKOUx788OQ39W8dgVCoSVnY00qnaQUuIREUSwIiIAiIgCIiAIixzTMp4JJ5DhkbS5x6gBkoNDIii4rpqarpJL1B0fkzHHYptnO03geWTgjrzxVPabnDdrfHVwnjue37ruYU5QcTPSxEajssuvijdREUDQEREAREQBERAS9Bi3a6rKbc1lbH0jB1nifxKoUvq0ChuFru+\/EMuxJjOS3j7trvVOCCMg5BVk80mZaHdlOHB388yZlHSfSHCSf2VMcDsP\/ZU6mP5xP8t8FTrk\/Dodw\/6\/3Ml6PNu13VU53R10XSN9Z4\/ByqFL6hHR6psko80vfsF3WNobvHxVQuzzsxQyc4cH75hERVmkIiIAiIgCIiALk6ol6HTda7rYG95A+K6y4WsnbOmqgZxtOYPb5wPwUobyKa7tSk+TNzT8fRafoW4xmFru8Z+K40AGn9XmmYwtpLiMt6mv38O33hUFrbsWmjZjGzAwY6vNC42taZzrZFXRD62jlDweoHj47Pcpxd5NcSmrHZoxmtY2f59CjRYaSobV0cNSz0ZWB47RlZlUa07q6CIiHQiIgCIiA5GqKPyzT9UwDLo29I3\/AA7z4ZWXT1Wa6w0k7jl+xsuOc5Ld2fDK6DmtewscMtcMEdYU1otzqeOvtknp0tQe47vw+KsWcHyM0u7XT4q3ln+R\/OJ\/lvgqdTFPv+kSqxvxTDPq3NVOuT8Ogw\/6\/wBzJjVnm3Wxy8dip4dfnM+Sp1Mau\/8AOs395+LVTrst1Cl86p9PYIiKs0hERAEREAREQBTuuHBuniD9qVoHiVRKb11+4G\/27fcVOnvIz4r5Euh3qVpZSQtPERtHgsdzpRW2yppsZMkZA9uN3is0P7CP+Ee5ZFG9ncu2U42ZwdG1PlGnYmnjC90e89vxXeUxpAdDWXijaSWQVPm59rh+EKnUqm8ynCtujG\/TyyCIigaAiIgCIiAKXhAt2v5Weiyvh2m7txdx\/Ce9VCmNXA0dZbLs3I6CbZeWjfs8cdwPerIa24mbE5RU+DTFty\/6QLm\/gBAG\/wDD5KnUxYiJNXXmUHaAw3a7fyVOuT1GG3G+b9yY1N9dfrHTAZPT7bs9WW\/IqnUxUHyv6Qqdjd4o6cl\/qJB\/7NVOk9EhQznOXP2QREUDSEREAREQBERAFN66\/cDf7dvuKpFP62BOnJCOUjCe9Tp7yM+K+TLodyH9hH\/CPcsi16Fwdb6dw3gxNI7gthQZfHNImNLfvzUH95\/E9U6lNNzxU9y1DVTSNjhFRkvccAec\/wCYXx91veoZHR2aLyWjzs+Uv3E+z8t6ulFuRho1o06SWrd8l1ZWIpd2kavo9tt9qvKdkYec4yO3KzWK91IqzZ7u0srWeg88JR88c+ftUNjK6dy5V2pKNSNr6FEiIoGkIiIAuNqum8p05VDA2owJBnlg5PhldlY6iFtTTSwP9GVhY72EYXYuzuQqR24OPEkNAvfPPcZpHFzz0eSeedr5Kxe9scbpHuDWtBLieQUf9H7DHJcmO4tMYP8AvXV1dX+SWV8DDmaq+qY0ZyRz4er3q2or1LGPDT7PCqb8L+7NbR7HVTq+8SjD6uYhozwaN\/xx2KmWlZ6MW+0U1LjBjjG1\/Ed58SVuqubvI00IOFNJ6hERRLgiIgCIiAIiIAuFrIE6ZqCOTmE\/6gu6uNq1u1pmsGcbmnueCpQ3kU4hXoy6M3rS4Ps9E4cDTxn\/AGhZqmoipKaSomdsxxtLnH1BatjdtWGgOMfydg7mgLbngiqoHQTsD43jDmnmuPUlC7pq3AgrHZJr7UTyySvjtpmLy1rsdI7kMezmVewwx08LIYWBkbBhrWjcAvlPTw0kDYIIxHGz0WjgFlUpzcmVYfDqjHn4hTesaJ\/ksN2pzs1FE8Ha625+Bx4qkWKpp2VVLLTyejKwsO7rGFyLs7llan2kHE8UFW2vt8FWzGJWB2Ac4PMdh3LYU1oud7KSptk2RLRSkYPIHPxB71SpJWdhRn2lNSCIiiWhERASOmahkWp73ASGh0j39QAa8j8S90I\/WLVD7g5rXUdCdmE5ztOHA4z15dn2LgFsp1XcaaPc6ofPHjPHOSB27lS6SudA22Q24vbBVxlwfE\/zS52T18T6lpmrd5Hj0JqbVOWSTf1d9PUpURFmPYCIiAIiIAiIgCIiALm6ij6TT9aBnIiLt3q3\/BdJa1xhNRbaqAHBkhezPtBC6smQqK8GuRp6Yl6bTlE7qZs9xI+C6qnND1LZrAIftQSOaRnkfOz4nuVGuzVpMrw8tqjF8kERFEvCIiAlZR+ideRyAAQ3FmycA+l88gd6qlOa1pXPtUddHulo5Q8HmATg+Oz3LuUVS2sooalvCVgf3hWSzimZaPcqTh9V9f8ApnREVZqCIiA\/M7m80WsJqnlFVteQd2d+Vb3LTlsuh2p4SyTJO3Edk5PM8ieHEclH6ip+kvl5HExRxyg\/6B7nFXdsn8ptdLPzkha47ueFoqNpJo8rCwi51ISV1f7s4DLXqSzl36OrWV0HERVB3+J+IX06quNFkXOxzRgcZI8lvy6+aqEVe3fVGv4dx+XJr1XqcKm1lZajAdO+AnlKw+8ZC6kFxoalodBWQSA\/dkBXmptVvq8moooJCftGMZ7+K5c2i7LKSWwyRZ+5IfjlO4zv9RHg\/Nfk76KYGh6aLIprjVxNPEbQ392E\/VKuYfqdRVcY4fa4djgubMeI7Wt\/j9UU6KY\/QepId8F\/2yN4ErTjPbleX3bUloaZLnQxVFM3e6WEjIHf8F3Yvox8Rs78WvX2KlFhpKuGupI6qB21HIMtOMIqzQmmrozIiIdI7RJFLcrpbyfOY4YH8JIPvCsVDCb9F\/SI\/O5k79l2\/wC+Af8AlhXKtq634mLBu0HD+1tBERVG0IiIDXuFP5Vbqmn\/AKWJzBu6xhcjRdQZ9OxtJJML3M3nt+K76mNIfU1V3owfNhqjgdrh+FTW4zNPKvB8br7lOiIoGkIiICLusQfqm5sd\/wCy3u2fUQ0fJdrSM3TabpjzZtNI6sOOPDC0LkwN15RZ3tnpnMPPk8fJZNCvJsssTgQYp3Dj6gr5Zw8jzaPdxD57X2ZSoiKg9IIiIAiIgC+OaHNLXAEEYIPNfUQHljGRsDI2hjWjAa0YARekQBERAQGuGGnv8FTH5rnRNdkbvOBP5K7hlbPBHMz0ZGhw9hGVH\/SDCS+hlG8nbbjG\/ku5pWpNVpykc4+dG0xn\/CcDwwrp500zzqD2cVUhxz\/nmdhERUnohERAFMaW\/fmoP7z+J6p1MaRJfW3mbOQ+q49e9x4dqnHdZmq\/Np\/X2KdERQNIWN88McscUkrGSS52GOcAX444HNZFgmoqaoqIaiWFr5YCTG48W5RHHe2RP6m+pv8AY6jl02wT2t+ZTS2YLzeqQ\/Zn2mjhuy78l91vG9tvpayMedTTg5HLP5gLHQSsbruoe0\/V1lK18ed2dzT8Cr1nA82XdxN+a9Vb7FUiIqD0wiIgCIiAIiIAiIgCIiAnNb0xlsrahoy6nlDufA7uXYsGgZ9u21MGD9XNtDPUR+SobjSCut1RSkA9LGWjPI43HvUZoGfo7jVUztxkjDsetp\/NXRzptcDzqi2MXCXHL+eheIiKk9EIiIDFUzNpqWWd3oxMLzv5AZXB0RE8WeSpk3uqZ3PzjGeXvys+r6vyawyxNP1tSRExo4nJ3+Ge9dC0UvkVopabflkQ2sjG\/ifFWaQ6mZ97EL\/Ve5uIiKs0hERAaF8pPLbLV0+Ml0RLR\/WG8eICjrHV9JfLNK4kkQOgdn1bQHgWr9AX52bZU2rVlNTxQvextQJGEN3FpOeXqB7ir6bumjzsYnGcJrkvW\/5P0RERUHohERAEREAREQBERAEXAuOo6q11sjJ7RM6lafNnjOQRjPVjx5LNRars9aN1WIHfdn8zx4eKlsStexSsRS2tm9n5HZXIo9O0lDeZblC57TICBG3AYM8dwHsW8y40Mgyysp3D+rK0\/FZRPCRkSsIP9YIm0SahNpvOxkRYH1tJHnbqYW447UgGFzanVtlpgf5WJXD7MTS7Pbw8VxRb0QlVhDeaR2Vr1tdTW+mdUVUrY2NGd53n1DrKnTqS63YOjslreB\/TzEADs4Z7SstPpSSrmFVfqx9ZLyiacMb6v\/zCnsW3il13PKkr89EYLTSy6jupvddHikZ5tLC45G48e\/Pb7FWLzHGyKNscbQ1jRgNA3AL0oyldltKl2a4t6sIiKJaEREAXzAOMjhwX1EAREQBERAEREAREQBERAFzquwWmucXVFDE5x4uaC0n2kYRF1NrQjKMZK0lc0X6LsjjkQSM9TZT8Vj\/Ua0ZODUDPLbHyRFbGUuJ59SjTTyivI9M0TZm4yyZ+PvSHf3LpUtjtVHjoKCFpHBxbtOHaclEUZSfE0UaVNK6ivI30RFWagiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/\/2Q==",
    "razonSocial": "STEEL INGENIERIA S.A.",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CLAUDIO CARVAJAL",
    "correoContacto": "claudio.carvajal@veltislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56941499852",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28606\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28606\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28606\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28606\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R640\",\"id_control\":\"28606\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:25",
    "ubicacionGPS": "LatLng(lat: -23.6535481, lng: -70.3962448)",
    "horaLlegada": "07:21",
    "horaDespacho": "15:23",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 15:25:12
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-9G.S9Wvqys_G0JVuD5Oys8bK_T4W7aYh2lR9QbhzVOP1Fj_yFc1
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "96846410",
    "serieinterna": "EP2646",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "envio insumos chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12494",
    "observacion": "envio insumos chilexpress",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC0AMMDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABHEAABAwMBBAUIBgUMAwEAAAABAAIDBAURBhIhMUETUYGRoRQiMmFxscHRByNCUsLhFRYzNXIkR1Nic3SChJKistI0Q\/Dx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMxEAAgECAwUGBQMFAAAAAAAAAAECAxEEITESMlFhcRMiQZGhsRQzgcHRQnLwJFJTYuH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAWtcK1tuoJat0b5GxDJazjjP\/xWysVTTsqqWWnk9GVhYd3WMLq1zIyvsu2p4oauOvoYauP0ZWBwGc49XZwWwpzRU7v0XNRSbpKSZzSOoHf79pUa7JWbRCjPtKakaN4ubLTbn1TwCR5rAc4Ljw4KfF4vlpNPW3YMlo6rG0IwMw7vUOrfxPNZtRg3LUVrs5fiI5mkBG52M\/Brh2rv3GijuFBNSytBEjSBkcDyPYVNWilfxM8turOWw7bOnXmZ2PbJG2Rjg5rgC0jmF6U9oyqkltMlJNnpKOUx788OQ39W8dgVCoSVnY00qnaQUuIREUSwIiIAiIgCIiAIixzTMp4JJ5DhkbS5x6gBkoNDIii4rpqarpJL1B0fkzHHYptnO03geWTgjrzxVPabnDdrfHVwnjue37ruYU5QcTPSxEajssuvijdREUDQEREAREQBERAS9Bi3a6rKbc1lbH0jB1nifxKoUvq0ChuFru+\/EMuxJjOS3j7trvVOCCMg5BVk80mZaHdlOHB388yZlHSfSHCSf2VMcDsP\/ZU6mP5xP8t8FTrk\/Dodw\/6\/3Ml6PNu13VU53R10XSN9Z4\/ByqFL6hHR6psko80vfsF3WNobvHxVQuzzsxQyc4cH75hERVmkIiIAiIgCIiALk6ol6HTda7rYG95A+K6y4WsnbOmqgZxtOYPb5wPwUobyKa7tSk+TNzT8fRafoW4xmFru8Z+K40AGn9XmmYwtpLiMt6mv38O33hUFrbsWmjZjGzAwY6vNC42taZzrZFXRD62jlDweoHj47Pcpxd5NcSmrHZoxmtY2f59CjRYaSobV0cNSz0ZWB47RlZlUa07q6CIiHQiIgCIiA5GqKPyzT9UwDLo29I3\/AA7z4ZWXT1Wa6w0k7jl+xsuOc5Ld2fDK6DmtewscMtcMEdYU1otzqeOvtknp0tQe47vw+KsWcHyM0u7XT4q3ln+R\/OJ\/lvgqdTFPv+kSqxvxTDPq3NVOuT8Ogw\/6\/wBzJjVnm3Wxy8dip4dfnM+Sp1Mau\/8AOs395+LVTrst1Cl86p9PYIiKs0hERAEREAREQBTuuHBuniD9qVoHiVRKb11+4G\/27fcVOnvIz4r5Euh3qVpZSQtPERtHgsdzpRW2yppsZMkZA9uN3is0P7CP+Ee5ZFG9ncu2U42ZwdG1PlGnYmnjC90e89vxXeUxpAdDWXijaSWQVPm59rh+EKnUqm8ynCtujG\/TyyCIigaAiIgCIiAKXhAt2v5Weiyvh2m7txdx\/Ce9VCmNXA0dZbLs3I6CbZeWjfs8cdwPerIa24mbE5RU+DTFty\/6QLm\/gBAG\/wDD5KnUxYiJNXXmUHaAw3a7fyVOuT1GG3G+b9yY1N9dfrHTAZPT7bs9WW\/IqnUxUHyv6Qqdjd4o6cl\/qJB\/7NVOk9EhQznOXP2QREUDSEREAREQBERAFN66\/cDf7dvuKpFP62BOnJCOUjCe9Tp7yM+K+TLodyH9hH\/CPcsi16Fwdb6dw3gxNI7gthQZfHNImNLfvzUH95\/E9U6lNNzxU9y1DVTSNjhFRkvccAec\/wCYXx91veoZHR2aLyWjzs+Uv3E+z8t6ulFuRho1o06SWrd8l1ZWIpd2kavo9tt9qvKdkYec4yO3KzWK91IqzZ7u0srWeg88JR88c+ftUNjK6dy5V2pKNSNr6FEiIoGkIiIAuNqum8p05VDA2owJBnlg5PhldlY6iFtTTSwP9GVhY72EYXYuzuQqR24OPEkNAvfPPcZpHFzz0eSeedr5Kxe9scbpHuDWtBLieQUf9H7DHJcmO4tMYP8AvXV1dX+SWV8DDmaq+qY0ZyRz4er3q2or1LGPDT7PCqb8L+7NbR7HVTq+8SjD6uYhozwaN\/xx2KmWlZ6MW+0U1LjBjjG1\/Ed58SVuqubvI00IOFNJ6hERRLgiIgCIiAIiIAuFrIE6ZqCOTmE\/6gu6uNq1u1pmsGcbmnueCpQ3kU4hXoy6M3rS4Ps9E4cDTxn\/AGhZqmoipKaSomdsxxtLnH1BatjdtWGgOMfydg7mgLbngiqoHQTsD43jDmnmuPUlC7pq3AgrHZJr7UTyySvjtpmLy1rsdI7kMezmVewwx08LIYWBkbBhrWjcAvlPTw0kDYIIxHGz0WjgFlUpzcmVYfDqjHn4hTesaJ\/ksN2pzs1FE8Ha625+Bx4qkWKpp2VVLLTyejKwsO7rGFyLs7llan2kHE8UFW2vt8FWzGJWB2Ac4PMdh3LYU1oud7KSptk2RLRSkYPIHPxB71SpJWdhRn2lNSCIiiWhERASOmahkWp73ASGh0j39QAa8j8S90I\/WLVD7g5rXUdCdmE5ztOHA4z15dn2LgFsp1XcaaPc6ofPHjPHOSB27lS6SudA22Q24vbBVxlwfE\/zS52T18T6lpmrd5Hj0JqbVOWSTf1d9PUpURFmPYCIiAIiIAiIgCIiALm6ij6TT9aBnIiLt3q3\/BdJa1xhNRbaqAHBkhezPtBC6smQqK8GuRp6Yl6bTlE7qZs9xI+C6qnND1LZrAIftQSOaRnkfOz4nuVGuzVpMrw8tqjF8kERFEvCIiAlZR+ideRyAAQ3FmycA+l88gd6qlOa1pXPtUddHulo5Q8HmATg+Oz3LuUVS2sooalvCVgf3hWSzimZaPcqTh9V9f8ApnREVZqCIiA\/M7m80WsJqnlFVteQd2d+Vb3LTlsuh2p4SyTJO3Edk5PM8ieHEclH6ip+kvl5HExRxyg\/6B7nFXdsn8ptdLPzkha47ueFoqNpJo8rCwi51ISV1f7s4DLXqSzl36OrWV0HERVB3+J+IX06quNFkXOxzRgcZI8lvy6+aqEVe3fVGv4dx+XJr1XqcKm1lZajAdO+AnlKw+8ZC6kFxoalodBWQSA\/dkBXmptVvq8moooJCftGMZ7+K5c2i7LKSWwyRZ+5IfjlO4zv9RHg\/Nfk76KYGh6aLIprjVxNPEbQ392E\/VKuYfqdRVcY4fa4djgubMeI7Wt\/j9UU6KY\/QepId8F\/2yN4ErTjPbleX3bUloaZLnQxVFM3e6WEjIHf8F3Yvox8Rs78WvX2KlFhpKuGupI6qB21HIMtOMIqzQmmrozIiIdI7RJFLcrpbyfOY4YH8JIPvCsVDCb9F\/SI\/O5k79l2\/wC+Af8AlhXKtq634mLBu0HD+1tBERVG0IiIDXuFP5Vbqmn\/AKWJzBu6xhcjRdQZ9OxtJJML3M3nt+K76mNIfU1V3owfNhqjgdrh+FTW4zNPKvB8br7lOiIoGkIiICLusQfqm5sd\/wCy3u2fUQ0fJdrSM3TabpjzZtNI6sOOPDC0LkwN15RZ3tnpnMPPk8fJZNCvJsssTgQYp3Dj6gr5Zw8jzaPdxD57X2ZSoiKg9IIiIAiIgC+OaHNLXAEEYIPNfUQHljGRsDI2hjWjAa0YARekQBERAQGuGGnv8FTH5rnRNdkbvOBP5K7hlbPBHMz0ZGhw9hGVH\/SDCS+hlG8nbbjG\/ku5pWpNVpykc4+dG0xn\/CcDwwrp500zzqD2cVUhxz\/nmdhERUnohERAFMaW\/fmoP7z+J6p1MaRJfW3mbOQ+q49e9x4dqnHdZmq\/Np\/X2KdERQNIWN88McscUkrGSS52GOcAX444HNZFgmoqaoqIaiWFr5YCTG48W5RHHe2RP6m+pv8AY6jl02wT2t+ZTS2YLzeqQ\/Zn2mjhuy78l91vG9tvpayMedTTg5HLP5gLHQSsbruoe0\/V1lK18ed2dzT8Cr1nA82XdxN+a9Vb7FUiIqD0wiIgCIiAIiIAiIgCIiAnNb0xlsrahoy6nlDufA7uXYsGgZ9u21MGD9XNtDPUR+SobjSCut1RSkA9LGWjPI43HvUZoGfo7jVUztxkjDsetp\/NXRzptcDzqi2MXCXHL+eheIiKk9EIiIDFUzNpqWWd3oxMLzv5AZXB0RE8WeSpk3uqZ3PzjGeXvys+r6vyawyxNP1tSRExo4nJ3+Ge9dC0UvkVopabflkQ2sjG\/ifFWaQ6mZ97EL\/Ve5uIiKs0hERAaF8pPLbLV0+Ml0RLR\/WG8eICjrHV9JfLNK4kkQOgdn1bQHgWr9AX52bZU2rVlNTxQvextQJGEN3FpOeXqB7ir6bumjzsYnGcJrkvW\/5P0RERUHohERAEREAREQBERAEXAuOo6q11sjJ7RM6lafNnjOQRjPVjx5LNRars9aN1WIHfdn8zx4eKlsStexSsRS2tm9n5HZXIo9O0lDeZblC57TICBG3AYM8dwHsW8y40Mgyysp3D+rK0\/FZRPCRkSsIP9YIm0SahNpvOxkRYH1tJHnbqYW447UgGFzanVtlpgf5WJXD7MTS7Pbw8VxRb0QlVhDeaR2Vr1tdTW+mdUVUrY2NGd53n1DrKnTqS63YOjslreB\/TzEADs4Z7SstPpSSrmFVfqx9ZLyiacMb6v\/zCnsW3il13PKkr89EYLTSy6jupvddHikZ5tLC45G48e\/Pb7FWLzHGyKNscbQ1jRgNA3AL0oyldltKl2a4t6sIiKJaEREAXzAOMjhwX1EAREQBERAEREAREQBERAFzquwWmucXVFDE5x4uaC0n2kYRF1NrQjKMZK0lc0X6LsjjkQSM9TZT8Vj\/Ua0ZODUDPLbHyRFbGUuJ59SjTTyivI9M0TZm4yyZ+PvSHf3LpUtjtVHjoKCFpHBxbtOHaclEUZSfE0UaVNK6ivI30RFWagiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/\/2Q==",
    "razonSocial": "STEEL INGENIERIA S.A.",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CLAUDIO CARVAJAL",
    "correoContacto": "claudio.carvajal@veltislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56941499852",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28606\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28606\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28606\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28606\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R640\",\"id_control\":\"28606\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:25",
    "ubicacionGPS": "LatLng(lat: -23.6535481, lng: -70.3962448)",
    "horaLlegada": "07:21",
    "horaDespacho": "15:23",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 15:25:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:96846410

[08/05/2026 15:25: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('96846410', 'EP2646', 2, 19969062, 0, NOW(), 
				'15:23', '07:21', '15:25', 10, 'envio insumos chilexpress', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778268312.png', 'envio insumos chilexpress', null, 'COMPLETADO','LatLng(lat: -23.6535481, lng: -70.3962448)' )
				
[08/05/2026 15:25:12] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200255
[08/05/2026 15:25:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200255', 'EPS-I302', 1)
				
[08/05/2026 15:25:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28606 and
				    IDproducto = 'EPS-I302'
				

08/05/2026 15: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 = 12494
                
08/05/2026 15: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 = 12494
                
08/05/2026 15:25:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I302';
                [08/05/2026 15:25:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200254', 'EPS-I304', 1)
				
[08/05/2026 15:25:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28606 and
				    IDproducto = 'EPS-I304'
				
[08/05/2026 15:25:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200255', 'EPS-I303', 1)
				

08/05/2026 15:25:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                [08/05/2026 15:25:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28606 and
				    IDproducto = 'EPS-I303'
				
[08/05/2026 15:25:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200254', 'EPS-I305', 1)
				
[08/05/2026 15:25:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28606 and
				    IDproducto = 'EPS-I305'
				

08/05/2026 15:25:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I303';
                
08/05/2026 15:25:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I305';
                [08/05/2026 15:25:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200255', 'EPS-I304', 1)
				
[08/05/2026 15:25:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200254', 'EPS-R640', 1)
				
[08/05/2026 15:25:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28606 and
				    IDproducto = 'EPS-I304'
				
[08/05/2026 15:25:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28606 and
				    IDproducto = 'EPS-R640'
				

08/05/2026 15:25:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                
08/05/2026 15:25:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R640';
                [08/05/2026 15:25:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200255', 'EPS-I305', 1)
				

08/05/2026 15:25:12 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200254'                    
				WHERE idllamado = 12494			
				[08/05/2026 15:25:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28606 and
				    IDproducto = 'EPS-I305'
				

08/05/2026 15:25:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I305';
                [08/05/2026 15:25:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200255', 'EPS-R640', 1)
				
[08/05/2026 15:25:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28606 and
				    IDproducto = 'EPS-R640'
				

08/05/2026 15:25:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R640';
                
08/05/2026 15:25:12 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200255'                    
				WHERE idllamado = 12494			
				TO ENVIO: micorreo@miempresa.cl, claudio.carvajal@veltislatam.com

TO ENVIO: micorreo@miempresa.cl, claudio.carvajal@veltislatam.com


08/05/2026 15:25:12 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12494			
				
08/05/2026 15:25:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


08/05/2026 15:25:12 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12494			
				
08/05/2026 15:25:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


08/05/2026 15: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 = 12494
                
08/05/2026 15: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 = 12494
                
08/05/2026 15:25:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:25:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:25:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:25:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:25:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:25:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:25:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:25:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                [08/05/2026 15:25: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;
                
[08/05/2026 15:25: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;
                

08/05/2026 15:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            [08/05/2026 15:25: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;
                

08/05/2026 15:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                [08/05/2026 15:25: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;
                

08/05/2026 15:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12494
            GROUP BY l.idllamado;
            
08/05/2026 15:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12494
                
08/05/2026 15:27:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:27:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                [08/05/2026 15:27: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;
                

08/05/2026 15:27:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 15:27:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            [08/05/2026 15:27: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;
                

08/05/2026 15:27:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 15:27:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 15:27:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:27:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:27:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            [08/05/2026 15:27:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:27:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:27:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                [08/05/2026 15:27:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:27:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            [08/05/2026 15:27:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:27:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 15:27:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:27:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:27:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 15:27:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:27:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:27:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:27:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:27:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:27:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:27:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 15:27:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                [08/05/2026 15:38:59] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 95585912 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '95585912'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[08/05/2026 15:38:59] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '95585912'
				GROUP BY anio
				ORDER BY anio DESC;
				
[08/05/2026 15:39:01] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 15:39:08] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:39:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            [08/05/2026 15:39:17] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 15:39:19] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:39:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15:39:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12514
LIMIT 1;
        [08/05/2026 15:39:36] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 15:39:36] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:39:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15:39:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12442
LIMIT 1;
        [08/05/2026 15:39:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:39:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15:39:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12514
LIMIT 1;
        [08/05/2026 15:39:41] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:39:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15:39:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12514
LIMIT 1;
        [08/05/2026 15:39:45] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:39:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15:39:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12514
LIMIT 1;
        
08/05/2026 15:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:39:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:39:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15:39:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12514
LIMIT 1;
        
08/05/2026 15:39:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:39:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15:39:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12514
LIMIT 1;
        
08/05/2026 15:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:39:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15:39:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12514
LIMIT 1;
        [08/05/2026 15:39:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:39:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15:39:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12514
LIMIT 1;
        
08/05/2026 15:39:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15:39:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12514
LIMIT 1;
        [08/05/2026 15:39:54] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:39:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:39:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:39:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15:39:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12514
LIMIT 1;
        
08/05/2026 15:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:39:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:39:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12514
LIMIT 1;
        
08/05/2026 15:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:40:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15:40:03 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12514
LIMIT 1;
        
08/05/2026 15:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:40:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:40:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15: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 = 12514
                
08/05/2026 15: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 = 12514
                
08/05/2026 15:41:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15:41:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12514
LIMIT 1;
        
08/05/2026 15: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 = 12514
                
08/05/2026 15: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 = 12514
                
08/05/2026 15:41:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15:41:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12514
LIMIT 1;
        
08/05/2026 15:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:41:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15:41:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12514
LIMIT 1;
        
08/05/2026 15:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/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 = 12514
                
08/05/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 = 12514
                
08/05/2026 15: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 = 12514
                
08/05/2026 15:42:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12514
LIMIT 1;
        
08/05/2026 15: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 = 12514
                
08/05/2026 15: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 = 12514
                
08/05/2026 15:42:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12514
LIMIT 1;
        
08/05/2026 15: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 = 12514
                
08/05/2026 15: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 = 12514
                
08/05/2026 15: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 = 12514
                
08/05/2026 15:42:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:42:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:42:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:42:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15:42:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12514
LIMIT 1;
        
08/05/2026 15:42:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:42:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:42:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:42:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:42:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15:42:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12514
LIMIT 1;
        
08/05/2026 15:42:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:42:41 - logentry: =========================================
FECHA: 08/05/2026 15:42:41
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-WJ.a_nKfo5C5up9lB9z+BrJu_chgi465+WiZJT158Oy0xWUcnIV
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2924",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "CSJ",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "DEPARTAMENTO",
    "rutTecnico": "95585912",
    "contador": "403",
    "contadorColor": "469",
    "contadorScanner": "0",
    "detalle": "Entrega de máquina , cliente la vino a buscar a la oficina ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12514",
    "observacion": "Entrega de máquina , cliente la vino a buscar a la ofi",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABZAR4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xAA+EAABAwMBBQUFBwEHBQAAAAABAAIDBAURIQYSMUFRE2FxgaEUIjKRsRUjQlLB0fDSBxYlM2Lh8USCkqKy\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QALxEAAgIBAwIDBwQDAQAAAAAAAAECEQMhMUEEEhNRYSIycYGRobEjwdHwFDNC4f\/aAAwDAQACEQMRAD8A\/ZkREARF4SAMk4AQHqLP121tNFUeyW+F9fUbwGIx7vfg8\/5qriglqZqKOSsgEE7gd+MHO7rp6YVnFpWzKOWE5OMXdEhERVNQiIgCIiAKnsV4muU9dT1LGMlpZd3DGkZbqAdT3FXCzFMDQbe1EXwx10O+0Y4kDJ+jleKTTMMsnGUGtrp\/M06IiobhFziqIJy8QzRyFhw8McDunoei6IE7CIiAIiIAiIgCIuclRBFJHHJNGx8pIY1zgC\/wHNA3R0REQBERAeFwaMkgeK9WW23pKiSlhq2ue+lhd9\/C1+7nXR3rjzVJazcW3OSmstwcGNYJII5TkSMzwOmMgH0Wqx3G7OLJ1Thk7HE\/REVBa9pxNUmiukHsNUCA0PyBJnoDw9fFWlzuUFqoX1VQfdboAOLieAVHFp0dEc0JRck9ES0WVirNq7nGKqlip6aB3vRtfjL28uv6cVPsF2q6uaoobixrKunOu6MBwzx+ilwaRSPURlJKmr2tF2iLjV1UNFSyVNQ8MijGXOKobtpK2fVRURUsD555BHGwZc53ALKST3Ha6Z0NMXUtqa7DpCMOk\/fw5c140Vm2VYHvElNaIjo06GU\/v9PFayGGKnhZDCwMjYMNa0aALX3PicmvUPyh+f8AwjW21Udpg7KkiDc\/E46ud4lTURZt3udcYqKpLQIiKCQiIgCIvCQBknACA9WX2taaKvtl4bnEMu5JjPw8f6vmp9x2qtdud2ZlNRL+SDDiPE8Fn7rLfdoaCaT2JtLQwgy7snxPwOWdT5ALXHFp29jh6nLCUHCOr9PQ0lz2jttqaRNOJJcaRR+87\/bzVPvX3akbob9m288Sc77x+voPFddkrNbTa4Lh2IlnfnLpPe3SCRoOXBahG1B0ty0Y5M8VKbqL4X7sr7RZaSywOjpWuLn4L3uOS7HD6qwRFm227Z1RjGC7YqkERFBYIiIAiIgPiWVkMT5ZHBrGNLnOPIDiVl7PG+\/36a8zgmkp3FtK13Xr+vie5d9sKqV8FPaKXJmrn40\/KCND0yefQFXlBRR26hhpIfgibu56nmfM5K0XsxvlnLL9XL28R\/PH0JCj11ZFb6KWrmDjHEMkNxk+GVIVFtk4jZqoA5uYD\/5BViraRtlk4Y5SXCI8G2UQdEa+hnpY5gCyUjLcHh+uvotHHIyWNskb2vY4Za5pyCO4qq3bc\/Z2mhuLoWwOp2DEjg3Hu6Y71Q0NbLsvUsjdN7XZql33U7DkMOdfPqPPqFftUtjmWWeJrxHafPl8fQ2U0Uc8L4ZWB8bwWuaeBC\/OJY5NldqYyS50Ubt5p\/NG7Of1HiF+kNc17A9jg5rhkEHIIVJtXZXXa3B8Dc1EB3mgcXjmExyp09mOrwucFOHvLVEm82WlvlHuvwJAMxTN1I\/cdyrbI8XOKSzXmnM09C8HL9Q7GgOeZ18wVNo6o2XZqCS6SgSRR4xrl35QAdc4wFE2Vhnq5qu+VTNySrOI25PwD\/gDyRWosh9sssWlq1qvT1LG+QXKShabVMIpo3h27ge+By\/nFVWz0VdVX6ru1TTPpmSxCMxuBHv4bk4Ov4fVahFVSpUbywqU1O9uAsjK9+194dSseRaqUhzntBHaO6Z8z5DvVltXcX0Vr7CB4FRVnsmDng6EjpxGveptltjLTbI6VoG98Ujh+Jx4n+dFMfZXcZ5P1cnh8LV\/siZFFHDE2KJgYxgw1rRgAL7RFmdYREQBERAEREAVNeLDJeKphfcJoaUR7roYzo45OvT05K5VFQXOql2rr7dPKDFEwOiZugY4eZ4q0b3Rjm7GlGfLJdu2ftlrIfTUw7QD\/Med53rw8lYSRtljdG8Za8FpHUFfSKG29WaRhGKqKpGY2Me+nZXWuX4qWckd4On1b6rTrK3DNm2zpq\/LhT1w7OXTTexj+k\/NapXnq78zDptIvG\/+XX8BVF\/vE1rZTRUkDJqqrk7OJrzgZ0\/cDiOKt1k9sJhR3O0Vj2OkZC97i0dxaf54KIK5UT1M3DE2nW35NTCZDCwytDZC0b4B0B5r7Ua31ja+ghq2t3BK3O7nO6eYUlVZvFppNHCsqo6GimqpclkTC4gcTjks1BT37aGMVpuXsFNJnsmRAh2M6EgHnjmVo7jRtuFvnpHnAlYW56Hkfms9ar\/FZqd1ru7XU8tKMMOC7tG8uHoeBWkNtNzkztd6WR1H6a+p2slVW0t9qLNW1Rquzj32SHieB1z49VpFmdl4J62rqr9Us7N1SS2NmD8Ixg58scORWmVZ7l+mvw744+HBmKzEn9oFC2TUMgJbnGM4d\/yr243CG2UT6qfO60aBoySeigXy0T1ktPXUUgZWUx9wuPukd\/8AOGVCjtV6uldTTXk0zIKc7wijGS4\/zv8AJW0aTbM7njcoxVtu0+P6j5ZtBfqiM1VPYy6mGuCffI7hnJ8QFU3eqkvttrLhDXyxxQhgkoDnQ5AzxxjOTw5LfLD7Z240VT9o0wLY6ppjnDdAXcQT44B8QrY2nLajLqsc44m3K1z\/ADp+CbaNkLVPb6arqO2ndNE17gZMNBIBwMYPdxV9JaaGS2\/Zxp2imxgMH4e8d+eaibK1HtGzlKebGmM+Rx9MK4VJyl3as6cGLH4acYrVGZ2ZnmoLhVWCqkMhg9+B2NN3p6j1Vzdrg62UDqhlPJUPyGsjYM5J69y7GjpjWisMLfaAzcEnPd6Luock3ZbHjlCDhfw+Bl6KwVl1qWXDaB+8W6x0w+Fo7xy8OfNadrQ1oa0AADAA5L1FEpNlseKONab+YREVTUy0wFy2+iieA+Ohh38aaHjn5uHyWpWYtOG7cXZr\/jMYI5ae7+4WnWk+F6HN02qlLzb\/AICIuNVWU1FF2tVOyFnV7sZWZ0NpK2dkWZqtp56+V1Hs\/TvqJeBnc33GfP8AXCuLPTVlJbmRV1SaifJLnk5xnlnmrOLS1MoZozlUdV58E5eOcGjLiAOpXqoNs5ZobA90JLcvDXkflIIP1x5qIq3RbJPw4OXkX6LIMtlzstNBX2mrkqaUta99K8fhOumPHkM89VeWa+U15gLovu5mf5kLjq0\/qO9WcK1RnjzqT7ZKn\/dizWXumaDba21Qy1tU3snY\/EeH6t+S1Czm20BNpjrGZElLM1wcDwB0+uEx+9XmR1S\/T7lxr9DRouVLUMqqWKoj+GVgeNeoyuqodCdq0Uu1lEa2wzFg+8gxKzA104+mVLsdd9o2amqicvczDz\/qGh9QpxAIwRkFZnZZxt9yuVlfhoil7SIE6lp\/23T5rRaxryOeXsZ1LiWnz4\/c06ym30JfbaaUD4JSM9Mg\/stWoF7tgu1rlpMta92CxzhkNcOH7eaiDqSZbqIPJilFETZCTtNmaXTVu83\/ANirpV9lthtFvbRmczBriQ4jHHuVgok05Nothi444qW6QUK42ihusW5VwNeR8Lxo5vgVNRQnWxpKKkqaMv8A3bvFud\/g95c2PlHUagcuhHDuUq3HadldGyvbSvpjkPe3iNOIx1Pcr5FZzb3MI9PGLuLa9L0CIiodAUC9UX2jZ6mmAy5zCWYH4hqPUKeilOnZWUVKLi+TLbBSH7LqYS12GTkgnvA09PValZfZXFLeLxbzkbs2+xvLGTy8N1ahXye8zDpP9KXlp9wiIszpCIiAIiIDK3xzrPtTR3ctPs8reymI5csnyI+SvbhdqG1wiWrqGsDhlrRq53gBxVVtM25V5baaS3tkimG86oeTutwevI\/XoqS10VNa766n2gj7R5DRBNISYvX5DPTkt1FSimzznkliySjFaN7vZMtHXu83v3LLRGngd\/1M+ny5fLK+6TYyBz\/aLrUyVtQ45dlxDf3K0rcbo3cYxpheqne1pHQ6F06k7yPuf2+hzgp4aaIRQRMiYODWNwF0RFmdKVbBQL3RG4WaqpmjL3MJYP8AUNR6hd62vpbdTmermbEwcMnUnoBzKp7Nca68XeWsZvxWxjNyNjwMvd1\/n6q0U\/eMck4X4b1bO+ylaKywQAkb8A7JwBzjHD0wo16sUraj7Xs57KuYd57BwlHPTr9VHoC2w7X1FCQG09wAki7na6fPeHyWqVpPtla5MccVlxdk91p81yVdjvkF6pt5v3dQzSWI8WnqO5SbpS+3WupptMyRODcjOuNPVU97sc7KkXezfd1rDl7BwlHPz69fHje0kk0tJFJUQ9jM5oL4853SodL2ommNzaePIvnwyo2Pq\/abBHGSS6ne6I546aj0IV6s5YaOe3bRXSnED20shEsb93DePAfM\/JaNJ13aE9M34SUt1p9AsveyLXtXbrkCGxzjsZtQAeWT1+IH\/tWoXGelp6oMFRCyUMdvN325weqiLpls2NzjS33OyIiqahERAEREAREQBERAEREBWRWZkW0Et2bM7MsW4YsaZ01z5DRWaIpbb3Kxgo3QREUFgiIgCIiAKLcLdS3On7Crj32ZyMEgtPUEKUiJ0Q0pKmZVtp2isoItdZHVwA+7BNpujoMnTpoR+30NpL5CMT7OTvd1i3sf\/JWoRad97o5v8dx9yTX3\/JmDtNeHYDNmakHj7xd\/SnabYVxDRFTW9hOr9Ccc+Z\/gWnRR3rhE+BN+9N\/ZfgztHslGZG1N3qpLhOOT3EsHdrqf5otAxjI2BkbQxrRgNaMAL6RQ5N7muPFDGvZRRbU22arpIaukaTVUcgkZuty4jmAOZ0B8lcUskktLFJNGYpHMBew\/hONQuqI3aoLGlNzXIREVTQIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/2Q==",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "RICARDO OCARANZA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56958885333",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:42",
    "ubicacionGPS": "LatLng(lat: -23.6618407, lng: -70.400001)",
    "horaLlegada": "12:31",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 15:42:41
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-WJ.a_nKfo5C5up9lB9z+BrJu_chgi465+WiZJT158Oy0xWUcnIV
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2924",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "CSJ",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "DEPARTAMENTO",
    "rutTecnico": "95585912",
    "contador": "403",
    "contadorColor": "469",
    "contadorScanner": "0",
    "detalle": "Entrega de máquina , cliente la vino a buscar a la oficina ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12514",
    "observacion": "Entrega de máquina , cliente la vino a buscar a la ofi",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABZAR4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xAA+EAABAwMBBQUFBwEHBQAAAAABAAIDBAURIQYSMUFRE2FxgaEUIjKRsRUjQlLB0fDSBxYlM2Lh8USCkqKy\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QALxEAAgIBAwIDBwQDAQAAAAAAAAECEQMhMUEEEhNRYSIycYGRobEjwdHwFDNC4f\/aAAwDAQACEQMRAD8A\/ZkREARF4SAMk4AQHqLP121tNFUeyW+F9fUbwGIx7vfg8\/5qriglqZqKOSsgEE7gd+MHO7rp6YVnFpWzKOWE5OMXdEhERVNQiIgCIiAKnsV4muU9dT1LGMlpZd3DGkZbqAdT3FXCzFMDQbe1EXwx10O+0Y4kDJ+jleKTTMMsnGUGtrp\/M06IiobhFziqIJy8QzRyFhw8McDunoei6IE7CIiAIiIAiIgCIuclRBFJHHJNGx8pIY1zgC\/wHNA3R0REQBERAeFwaMkgeK9WW23pKiSlhq2ue+lhd9\/C1+7nXR3rjzVJazcW3OSmstwcGNYJII5TkSMzwOmMgH0Wqx3G7OLJ1Thk7HE\/REVBa9pxNUmiukHsNUCA0PyBJnoDw9fFWlzuUFqoX1VQfdboAOLieAVHFp0dEc0JRck9ES0WVirNq7nGKqlip6aB3vRtfjL28uv6cVPsF2q6uaoobixrKunOu6MBwzx+ilwaRSPURlJKmr2tF2iLjV1UNFSyVNQ8MijGXOKobtpK2fVRURUsD555BHGwZc53ALKST3Ha6Z0NMXUtqa7DpCMOk\/fw5c140Vm2VYHvElNaIjo06GU\/v9PFayGGKnhZDCwMjYMNa0aALX3PicmvUPyh+f8AwjW21Udpg7KkiDc\/E46ud4lTURZt3udcYqKpLQIiKCQiIgCIvCQBknACA9WX2taaKvtl4bnEMu5JjPw8f6vmp9x2qtdud2ZlNRL+SDDiPE8Fn7rLfdoaCaT2JtLQwgy7snxPwOWdT5ALXHFp29jh6nLCUHCOr9PQ0lz2jttqaRNOJJcaRR+87\/bzVPvX3akbob9m288Sc77x+voPFddkrNbTa4Lh2IlnfnLpPe3SCRoOXBahG1B0ty0Y5M8VKbqL4X7sr7RZaSywOjpWuLn4L3uOS7HD6qwRFm227Z1RjGC7YqkERFBYIiIAiIgPiWVkMT5ZHBrGNLnOPIDiVl7PG+\/36a8zgmkp3FtK13Xr+vie5d9sKqV8FPaKXJmrn40\/KCND0yefQFXlBRR26hhpIfgibu56nmfM5K0XsxvlnLL9XL28R\/PH0JCj11ZFb6KWrmDjHEMkNxk+GVIVFtk4jZqoA5uYD\/5BViraRtlk4Y5SXCI8G2UQdEa+hnpY5gCyUjLcHh+uvotHHIyWNskb2vY4Za5pyCO4qq3bc\/Z2mhuLoWwOp2DEjg3Hu6Y71Q0NbLsvUsjdN7XZql33U7DkMOdfPqPPqFftUtjmWWeJrxHafPl8fQ2U0Uc8L4ZWB8bwWuaeBC\/OJY5NldqYyS50Ubt5p\/NG7Of1HiF+kNc17A9jg5rhkEHIIVJtXZXXa3B8Dc1EB3mgcXjmExyp09mOrwucFOHvLVEm82WlvlHuvwJAMxTN1I\/cdyrbI8XOKSzXmnM09C8HL9Q7GgOeZ18wVNo6o2XZqCS6SgSRR4xrl35QAdc4wFE2Vhnq5qu+VTNySrOI25PwD\/gDyRWosh9sssWlq1qvT1LG+QXKShabVMIpo3h27ge+By\/nFVWz0VdVX6ru1TTPpmSxCMxuBHv4bk4Ov4fVahFVSpUbywqU1O9uAsjK9+194dSseRaqUhzntBHaO6Z8z5DvVltXcX0Vr7CB4FRVnsmDng6EjpxGveptltjLTbI6VoG98Ujh+Jx4n+dFMfZXcZ5P1cnh8LV\/siZFFHDE2KJgYxgw1rRgAL7RFmdYREQBERAEREAVNeLDJeKphfcJoaUR7roYzo45OvT05K5VFQXOql2rr7dPKDFEwOiZugY4eZ4q0b3Rjm7GlGfLJdu2ftlrIfTUw7QD\/Med53rw8lYSRtljdG8Za8FpHUFfSKG29WaRhGKqKpGY2Me+nZXWuX4qWckd4On1b6rTrK3DNm2zpq\/LhT1w7OXTTexj+k\/NapXnq78zDptIvG\/+XX8BVF\/vE1rZTRUkDJqqrk7OJrzgZ0\/cDiOKt1k9sJhR3O0Vj2OkZC97i0dxaf54KIK5UT1M3DE2nW35NTCZDCwytDZC0b4B0B5r7Ua31ja+ghq2t3BK3O7nO6eYUlVZvFppNHCsqo6GimqpclkTC4gcTjks1BT37aGMVpuXsFNJnsmRAh2M6EgHnjmVo7jRtuFvnpHnAlYW56Hkfms9ar\/FZqd1ru7XU8tKMMOC7tG8uHoeBWkNtNzkztd6WR1H6a+p2slVW0t9qLNW1Rquzj32SHieB1z49VpFmdl4J62rqr9Us7N1SS2NmD8Ixg58scORWmVZ7l+mvw744+HBmKzEn9oFC2TUMgJbnGM4d\/yr243CG2UT6qfO60aBoySeigXy0T1ktPXUUgZWUx9wuPukd\/8AOGVCjtV6uldTTXk0zIKc7wijGS4\/zv8AJW0aTbM7njcoxVtu0+P6j5ZtBfqiM1VPYy6mGuCffI7hnJ8QFU3eqkvttrLhDXyxxQhgkoDnQ5AzxxjOTw5LfLD7Z240VT9o0wLY6ppjnDdAXcQT44B8QrY2nLajLqsc44m3K1z\/ADp+CbaNkLVPb6arqO2ndNE17gZMNBIBwMYPdxV9JaaGS2\/Zxp2imxgMH4e8d+eaibK1HtGzlKebGmM+Rx9MK4VJyl3as6cGLH4acYrVGZ2ZnmoLhVWCqkMhg9+B2NN3p6j1Vzdrg62UDqhlPJUPyGsjYM5J69y7GjpjWisMLfaAzcEnPd6Luock3ZbHjlCDhfw+Bl6KwVl1qWXDaB+8W6x0w+Fo7xy8OfNadrQ1oa0AADAA5L1FEpNlseKONab+YREVTUy0wFy2+iieA+Ohh38aaHjn5uHyWpWYtOG7cXZr\/jMYI5ae7+4WnWk+F6HN02qlLzb\/AICIuNVWU1FF2tVOyFnV7sZWZ0NpK2dkWZqtp56+V1Hs\/TvqJeBnc33GfP8AXCuLPTVlJbmRV1SaifJLnk5xnlnmrOLS1MoZozlUdV58E5eOcGjLiAOpXqoNs5ZobA90JLcvDXkflIIP1x5qIq3RbJPw4OXkX6LIMtlzstNBX2mrkqaUta99K8fhOumPHkM89VeWa+U15gLovu5mf5kLjq0\/qO9WcK1RnjzqT7ZKn\/dizWXumaDba21Qy1tU3snY\/EeH6t+S1Czm20BNpjrGZElLM1wcDwB0+uEx+9XmR1S\/T7lxr9DRouVLUMqqWKoj+GVgeNeoyuqodCdq0Uu1lEa2wzFg+8gxKzA104+mVLsdd9o2amqicvczDz\/qGh9QpxAIwRkFZnZZxt9yuVlfhoil7SIE6lp\/23T5rRaxryOeXsZ1LiWnz4\/c06ym30JfbaaUD4JSM9Mg\/stWoF7tgu1rlpMta92CxzhkNcOH7eaiDqSZbqIPJilFETZCTtNmaXTVu83\/ANirpV9lthtFvbRmczBriQ4jHHuVgok05Nothi444qW6QUK42ihusW5VwNeR8Lxo5vgVNRQnWxpKKkqaMv8A3bvFud\/g95c2PlHUagcuhHDuUq3HadldGyvbSvpjkPe3iNOIx1Pcr5FZzb3MI9PGLuLa9L0CIiodAUC9UX2jZ6mmAy5zCWYH4hqPUKeilOnZWUVKLi+TLbBSH7LqYS12GTkgnvA09PValZfZXFLeLxbzkbs2+xvLGTy8N1ahXye8zDpP9KXlp9wiIszpCIiAIiIDK3xzrPtTR3ctPs8reymI5csnyI+SvbhdqG1wiWrqGsDhlrRq53gBxVVtM25V5baaS3tkimG86oeTutwevI\/XoqS10VNa766n2gj7R5DRBNISYvX5DPTkt1FSimzznkliySjFaN7vZMtHXu83v3LLRGngd\/1M+ny5fLK+6TYyBz\/aLrUyVtQ45dlxDf3K0rcbo3cYxpheqne1pHQ6F06k7yPuf2+hzgp4aaIRQRMiYODWNwF0RFmdKVbBQL3RG4WaqpmjL3MJYP8AUNR6hd62vpbdTmermbEwcMnUnoBzKp7Nca68XeWsZvxWxjNyNjwMvd1\/n6q0U\/eMck4X4b1bO+ylaKywQAkb8A7JwBzjHD0wo16sUraj7Xs57KuYd57BwlHPTr9VHoC2w7X1FCQG09wAki7na6fPeHyWqVpPtla5MccVlxdk91p81yVdjvkF6pt5v3dQzSWI8WnqO5SbpS+3WupptMyRODcjOuNPVU97sc7KkXezfd1rDl7BwlHPz69fHje0kk0tJFJUQ9jM5oL4853SodL2ommNzaePIvnwyo2Pq\/abBHGSS6ne6I546aj0IV6s5YaOe3bRXSnED20shEsb93DePAfM\/JaNJ13aE9M34SUt1p9AsveyLXtXbrkCGxzjsZtQAeWT1+IH\/tWoXGelp6oMFRCyUMdvN325weqiLpls2NzjS33OyIiqahERAEREAREQBERAEREBWRWZkW0Et2bM7MsW4YsaZ01z5DRWaIpbb3Kxgo3QREUFgiIgCIiAKLcLdS3On7Crj32ZyMEgtPUEKUiJ0Q0pKmZVtp2isoItdZHVwA+7BNpujoMnTpoR+30NpL5CMT7OTvd1i3sf\/JWoRad97o5v8dx9yTX3\/JmDtNeHYDNmakHj7xd\/SnabYVxDRFTW9hOr9Ccc+Z\/gWnRR3rhE+BN+9N\/ZfgztHslGZG1N3qpLhOOT3EsHdrqf5otAxjI2BkbQxrRgNaMAL6RQ5N7muPFDGvZRRbU22arpIaukaTVUcgkZuty4jmAOZ0B8lcUskktLFJNGYpHMBew\/hONQuqI3aoLGlNzXIREVTQIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/2Q==",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "RICARDO OCARANZA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56958885333",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:42",
    "ubicacionGPS": "LatLng(lat: -23.6618407, lng: -70.400001)",
    "horaLlegada": "12:31",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 15:42:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[08/05/2026 15:42: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', 'EP2924', 2, 95585912, 403, NOW(), 
				'08:00', '12:31', '15:42', 1, 'Entrega de máquina , cliente la vino a buscar a la oficina ', -1, 
				'', '','1','469',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778269361.png', 'Entrega de máquina , cliente la vino a buscar a la ofi', null, 'COMPLETADO','LatLng(lat: -23.6618407, lng: -70.400001)' )
				
[08/05/2026 15:42:41] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200256

08/05/2026 15:42:41 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'EP2924'
		
08/05/2026 15:42:41 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP2924'
				   AND estado = 1
				
08/05/2026 15:42:41 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'EP2924', 3, 1, now(), 'CSJ', 'ANTOFAGASTA', 'DEPARTAMENTO');
				
08/05/2026 15:42:41 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200256'                    
				WHERE idllamado = 12514			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


08/05/2026 15:42:42 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12514			
				
08/05/2026 15:42:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


08/05/2026 15:42:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:42:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:42:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:42:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15:42:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12514
LIMIT 1;
        
08/05/2026 15:42:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:42:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:42:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:42:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:42:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                [08/05/2026 15:42:46] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:42:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15:42:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12514
LIMIT 1;
        
08/05/2026 15:42:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
08/05/2026 15:42:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12514
LIMIT 1;
        [08/05/2026 15:42:46] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                
08/05/2026 15:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12514
                [08/05/2026 15:42:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 15:42:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:42:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/2026 15:42:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/2026 15:42:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:42:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/2026 15:42:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:42:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:42:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:42:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            [08/05/2026 15:42:56] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:42:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:42:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            [08/05/2026 15:42:56] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:42:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:42:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:42:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/2026 15:43:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/2026 15:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            [08/05/2026 15:43:06] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[08/05/2026 15:43:06] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/2026 15:43:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            [08/05/2026 15:43:08] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            [08/05/2026 15:43:08] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:43:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/2026 15:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/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 = 12515
                
08/05/2026 15:43:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/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 = 12515
                
08/05/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 = 12515
                
08/05/2026 15:43:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/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 = 12515
                
08/05/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 = 12515
                
08/05/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 = 12515
                
08/05/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 = 12515
                
08/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/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 = 12515
                
08/05/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 = 12515
                
08/05/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 = 12515
                
08/05/2026 15:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/2026 15:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/2026 15:43:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/2026 15:43:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/2026 15:43:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/2026 15:43:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/2026 15:43:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/2026 15:43:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/2026 15:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/2026 15:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/2026 15:43:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:43:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:44:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:44:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:44:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:44:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:44:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/2026 15:44:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:44:20 - logentry: =========================================
FECHA: 08/05/2026 15:44:20
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-J1MgKbMGIcPunSSFlESNVAdNJliB7MGfsabSgUVOxblUFYbQL.a
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76249985",
    "serieinterna": "EXTO2204",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega de insumos en oficina",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12515",
    "observacion": "entrega de insumos en oficina ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACDATMDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABCEAABAwMCAwYDBAgFAgcAAAABAAIDBAURBiESMVETQWFxgZEiocEUMrHRFRYjJDNCQ1IHNKLC0rLwJVNidJLh8f\/EABkBAQEBAQEBAAAAAAAAAAAAAAACAwEEBf\/EADMRAAIBAgQDBgQGAwEAAAAAAAABAgMREiExQQQyURNhcZGh0SIzscEUQnKB4fAjUlPx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQEa4VD6S3VFTGGl0UbngO5bDO642Ovkudnp6yUMD5QeIMBABBI7\/JSayMTUU8ROA+Nzc+YVJoiQv08Gn+SVzR8j9VaSw3MHJqso7NP7GhREUG4REQBERAEREARFVXTUdttQImnD5R\/Sj+J3r09V1JvQmc4wV5OxaoswNRXusJfQWN\/Zc2vmyOId3T8SpNt1N21a233KldRVhAwD91xPToqcJGK4mm3b7MvkRFB6AiIgCL4kljibxSSNYCcZccL2ORksbZI3texwy1zTkEeBQ5fY+kREOhFwrKynoKZ9RUyiONg3J\/AdSsfdL\/c7nRT1NC11Hb4ecztnSnOAB69PUq4wcjCtXhSWeb6G3RQLHLPPZKSWpdxSvjDicYz0+WEUtWdjWMsUVLqT0RFwoIiIAi8c4NaXOIAAySe5Zis1BW3Ordb9Px8Zb\/Eqjjhb5fn7KoxcjKpVjTWfluaR88McjI3ysY9\/3WucAXeQ710VDbdLQ01W2vrKmWrrAeLic4hoPh3n1Por5GktDtNzkryVgiIpNAiIgCIiA8IBGCMgrNaGPDbKqE846l23TYd3otMsxpr931De6U7Zl7Ro8Mn8wrjys81XKtB+K9P4NOiIoPSERfLXNe3iY4OHUHKA+kREAXhOBnovUQGTmuVz1LVvpLVx0lHGS2WocCCT+I8ufVW1s03bbY0FsImm5maUBzs+HT0Xdt3pTeTaWteZ2s43EAcIHPffx6KetJSdrLI81OlFtyk8T+ngFndaU0TrQ2rIxLTStLXgbgE4IHyPotEqbVdLUVlhlhpYjK8uaeFvMgHuXIO0kVxCvRkrbFlRSunoaeZ+OKSJrnY6kZXC53ijtEQkqpMF33WNxxO8gVIo4jBRQQuGDHG1pHkMLN0f\/jesqipdwyUtAzsmAjILjt5Hfi+SJJtt6HKk5RjGK1f9ZoaG4UtypxPSyiRpAzjm3wI7lJWRu1EdM3CO829pbTPdw1MDdhg9B0\/A46rRSXWgidAySrja6ox2bSd3Z5bI47oU6usamTRR3hjbpq6itk3E6mjiMj2hxG+57vJq4uhk0leqfsZHPtlW4RubI7+GfP1z47+a6UVPVHXtVLM2R0bIyGScJ4cEAgZ5bA\/Jd9cMa6xNkPOOdrgRz7x9Vonmo7HkcbwnV\/Mm\/TY0arb1eY7PTMeY3TTSu4Iom83FTqeQy00Uh5vYHH1C+nMY4tLmglpyCRyWKsnmfQleUfhdmZeksFdep21+oJCBnLKRpwGjx6eXPqV7qrNTPb7BSxhvbvD3BuBwtG3LpzPotDV11PRUjqqeQCNveN8noOpVDpqmqa+un1BXN4JJssijx91oxuPbHue9aqT5nseOdKKtSjrLV72NIxjY42sYMNaAAOgRfSLE94REQBfMkjIo3SSODWMBc5xOwA5lHOaxhe9wa1oySTgALJVdXVatrXUFA50VtiP7afH8T\/vuHqVUY3MatVU1ZZt6I9qayr1ZWuoLe50NtjOJp8fxPD8h7rTUVDT26lbTUsYjjb05k9T1KUVFT2+lZTU0YZGwbDr4nxUhdlK+S0OUqTi8c85P+2QREUG4REQBERAEUatuNHbo+0q6mOEYyA47nyHM+ioH6rqbhK+nsVufUuH9aTZo9PzIVKLZjOtCDs3n03NM97I2F8jgxrRkuccALFRXqlp9cT1FPxVMVS1sX7IZy74dx15KdDpm4XM9rfrjK8E5+zxO+EfT2HquMtBTWbWVrZRxCKKSItIznJ+IZ89wtIqKutTyVpVZ4ZWwq6116GvRFXtvVI+8utQcRO0ZPEMZOAcDrtk+iySbPfKUY2u9SBqy4TQUkNvpXYqa5\/ZtIOCBkZ98gepVlabey12yGjYc8DfiPVx3J91SVWaz\/EClidgspYePHjg\/Uj2WoVyyikeel8dSU3tkvv6hEXhIAyTgBZnqOVXVwUNLJU1L+CKMZc7C9hqYailZUxvBhe3jDztt13WWq5ZNXXVlHSlwtlM7M8o2Eh6D6eZKs9Tzst+mZ44gGBzBCxo2AB2x7ZWmDRbnlVe6lNcq9f4IelY3Vlxud4e0gTSmOLI\/lByfH+32V9cKMV9FJTGZ8PaDHGzGR7rPUV\/tFhtFPSMeaiZo+NkIz8R3OSdu\/HovoXLU9zP7lb2UUROz5xg93cfXfHeqlFuV9DKnUpxp4NW9bZ6nHt7zpVzftkpr7cSGh\/8AMzfvzuPchaqGZlRAyaM5ZI0OafArK11u1UaGYz11PUsLCJIWtHxt78fCN\/ZSdDVnb2Z1MTl1O\/Hodx9UkrxxChUcanZ2aT0uXV0q\/sFrqarvijJb593zwslYL9Q2i0CPhkqq6okc90cbcnPIZPp3Z5rtriimIjqG1UrmyvbG2myeEHBy7\/p91orXZaG1RAU9OxshHxScyT5nfCLDGGe5yXa1K7w5YV46lDUQ6n1DTPjkihoKZ\/8ATePicO4d5\/BfOjbXbamjNXLB2tVFKW8UhJ4cYI25fitgsxpFvDXXluMYqcY6buTE3F2yDoqNaDlne+vmadZzXMnBYWjAPFO0b+RP0WjWX1p+2FtpM57apHwf3ch\/u+ainzI34p\/4ZGkhj7KCOPOeBob7BVOpbq+goRBSvArak8EQzuOp+g8SFY3CvgttFJV1DsMjHLvce4DxKoNP0U11rTqG4AcTwRTxY2YBtn8ceZPRIr8zFaTypQ1fouvsR7VoyVsrX3SYSxA8ZhBJ4nY5n59c+C17WhrQ1oAAGAB3L1FyUnLUulRhSVooIiKTYIizF7udTc682G1H43DFTN3Mb3j8\/ZVGOJmVWoqcbv8A9OVdWVGqLi+1W95joYj+8zj+bw+Xr5LSUVFT2+lZTU0YZGwbDr4nxXK1WuntFE2mpxtzc483nqVNXZSvktCKVNr458z9O5BERQegIiIAiIgCrr1DVTUP7rcBQ8LsySuxjgwc793cu9dcaS2wiWrmbGHHDcndx6BZu6XD9Z62C0W17jTHD6mUDAxsR7fjhXCLbueevViouO723O9r01a6mQ1NRWOukzTh7nuyM+Xf6rSxxsiYI42NYxvJrRgBZWzQtsuram1xl\/YTRB0Qc7PIZ\/5LWLtS99SeFUcLsrO9mFmNT\/sr9Y5z93t+E+HxNWnWZ1w0soKSqb96CpByOY2J+gXKfMd4r5LfS31NMsZXwuH+IlO5h4S8MeTjmAMdwPTC2TXBzQ4bgjIWZrcR\/wCIVAf\/ADKcgk8uT+Xt812nk34E8UrqP6keWsCbXl0mxngiDPL7o+i1Cy+mR2mor9K77zZ+AeXE78gtQuVNSuFzg31b+oWN1dqYs7S10TsO+7PIO7q0fUrZL8xp+xg1VxVjuxbBUOmedyct+LHLfcfirpJNtvYx46pKMVGLtfK5vLBS0tLZqdtIx7Y3t4z2jcOcT3lSa+gp7lSupqlnEx3uPELPQa3iq7tBSQUhEUsgZ2kj8HfYbAdfH2WqUSUou7N6M6VSGGGaWRAoLLbbaP3WkYx395+J3ud1PRFLbeptGMYq0VYLJ6Tb9mvl5pBs1suWjwDnD6haxZWxx8GtbvuRsTgjqQeauPKzz1\/mU33\/AGJuoLXVXKutvZsBp4JuOY8W+Mju9D7q9RFDd0kbxgoycluF8tjYwuLGNaXHLsDGSvpFwsLIakrqeLVNv+0PxFSMMzu\/fmAB1+Ee4WvVNX6ZobldGV9QZHFoAdHkcLsclcGk8zz8TCc4Wh1RWUdJU6rqmXC4xmKgjOYKfP3\/ABPgtW1oa0NaAABgAdyNaGtDWgAAYAHcvVyUrl0qSgurerCIik1CIiAz+ob1UQzx2m2NL6+oHMf0x18+flhTLHZIbLSljT2k8m8sp\/mP5KcKOmFWasQMFQ5vCZOH4iPNdlbllZGEaTxucs3t3L3CIuNTV09HH2lTPHCzOMvcAoNm0ldnZFmqjWdO6XsLZRz10ucDhHC0+XM\/JcjQ6ovOPtlUy3QcW7Ij8Xy+pWmB75HnfExeVNYn3e+heVt5t1vDvtNZExzebOLLvYbr4s95hvUMs0EMrI2P4QXjHF5KJRaQtFGeN8JqZM54pzxfLl8l3rdQ2i2t4JKqMuaMCKL4iMd2By9cJZPKOYU6ieKq0l\/dy1XKpqIqSllqZncMcTS5x8Asy67XvUGY7RTGjpTsamU4cR4f\/WfNdLlZLi60UVqZO+pjdNmpncfiAzkYG+2\/yCYLPNnHxDkm4Rb7zla6WXU1fJdrgwiiwWU8PEQDjIzse7f1Pgr622ijtQk+zR4dKcvceZ8PJSoYYqeFkMLAyNgw1rRsAui5KTfgXSoxgk3nLqZbU+KG+Wm6E8LWP7OV3RufyLlqVWahtxudlnp2D9oBxx7Z+Ib49eXqvdPVE9TY6Z9S17ZQ3hdxtwTg4B9kecU+hME4VpLZ5\/Z\/YslS6ui7XTVVgZLOFw9HDPyyrpRbnB9ptdVB3yQuaN+\/C5F2aZrVjipyj1RzsswqLLRSg5JgZk+IGD81TXr9nrKzyf3At35d\/wCak6Mm7XTcLc5MT3sPvn6qNqX4NRWJ55GYt\/1N\/NWlabXieWcsXDxl+n6oaQ\/z15\/9z9XLTrMaUHBd77F3Nqdv\/k\/8lp1NTmNeF+Uv3+rCq67TlquM7p6imBkcAHOa4tJ9laIpTa0N5QjNWkrkKks9uoSDTUUUbhydw5d7ndTURG29TsYqKslYIiLh0L4EUbZHSCNoe4Yc4Dc+ZX2iAIiIAiIgCIiAIiIAiIgCIiAqq7UVvt1xbRVUjo3OaHcfCeEea+qvUVpo6cTvrY3tcPhbE4OLvIBS6yhpa+LsqqBkrRy4mg8J8Oiz0egbaI+GWpqXPzniaWt26YwVosG55aj4hN4EmvoeMvN+vnE200baWnOwqJvp3ewK5ssNqhf299uzKmcnJD5uFo8MZyVIOg7WRvPV568bf+KkQ6MskX3qd8p6vkP0wrxRWjPOqNaWc0m+95eSRyOqNO2xhipMEA7tp4cA++AVy\/WG93AltssjmtzgSVBwMfIfMq9prXQUeDT0cMZHItYM+6lqMUdkehUqrylKy7l7mV\/V293M8V3u7mMOP2UHLn4YHrurS36ZtVtAMdMJJAciSb4nZ\/AeitkXHOTyLjw9OLva76vM8AAGAMAL1EUG4REQBERAEREBmNEDs6WugOzo6k5Z\/bsPy+S0ckMUr2PkiY90ZywuaCWnqOizen\/3bVV5oyOHjd2ob3Yzn\/cFqFpU5rnl4X5Sj0uvJlTbLM+33a4VnaNcyrdxBoG7dyfqrZEUNt6m8IKCtEIiLhYRfL5GRjL3taP\/AFHChTXy1U4zJcKcbZwJA4+wXUm9CZSjHVk9FRT6yskP3ah8p6Rxn64UKXXtEGudDRVL2g44nYaPqqVOT2MZcVRjrJGqRZi16zbc7nFRtoHMEmfjMucemFp1yUXHUunVhVV4O4REUmoREQBERAEREAREQBERAEREAREQBERAEREAREQBEXhIAyTgBAeoquu1HabfkTVjHPH9OP43Z6bcvXCq3auqKsltptFRUjJAkcDw\/L07wrUJPYwlxFKLs3n5moRZfg1hXniMlNb2H+UYJ\/3J+p89Uc3K9VVQP7W7Y9yfwXcKWrJ7acuSD\/fI7VLKSk1SLs65UsUfYlksZk+MnG23Tl\/2V1n1lZIfu1D5T0jjP1wvafR9kgG9M6U9ZHk\/IbKygtlBTfwKKCM9WxgFdbgRGFdXtZXz3fsUI1oag\/uFnq6n5fgCvf0rqqq\/y1mjgHWZ249yPwWnRcxR2RfY1HzVH+ySMubfq+p\/i3Onp2kYwwbj2b9U\/VGsnwa2\/VUvVozjHqVqF4SAMk4ATtHsPwtN8134tmbZoW1g8Us1VK7vLnj8l3fp7TtrpzPUwRtYw7vmeT8u\/wAlyuerI2TGitMRrat2wLRljT9fTbxXOl0vUV87azUFSaiTG0DThrPUfgPmqvLWTPPhpXw0YJvrsv3IYuramQwaZscZwcGodCAB+XqfRS4dJT1pjlvdwkqHN\/pMOGjw\/wDwBaSCCGmiEUETIo28msGAF0Uup\/qbR4ZP5jv3aLy9zhSUVLQxdlSwMhZ0aMZ8+q7oizPUkkrIIiIdCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCqq\/Ulqt2RLVNe8HHZxfG4eeOXqplwomXChlpJHOY2QAFzeY3zt7KHb9N2q2gGKmbJIP6ko4nZ+noqWHcxqdre0LeL9iqbqC93chtotnZROyBPPuMden4r6bpStrwH3i7zSEjeOLZo99vktQirHblVjP8OpfMk5ei8kVVFpm0UI\/Z0bJHf3S\/GfmrQAAYAwAvUUNt6m8YRgrRVgiIuFhERAF4SAMk4AVfervFZaH7TJE+Uk8LWt6+J7gsa+7fpt5feLsKSkztTQNJc7w2GPU58lpGm5ZnlrcTCm8O\/l6mmrtVUkEwpqGN9fUk4DIdwPX8vkoX6Hvl9dxXiq+yUxP+WgO58+73z5LjR6j05aWGK3Uc7nHYubGOJ\/mScqR+tNznOKTT1Q7o55OP8Ap+qvC1yrzPN2kKnzJ37le38l7b7XR2uHsqSBsY73c3O8z3qWsx9q1jU7MoqalB24nOBx8z+Cfo7V0+8t2p4h0Y3l\/p+qhx6s9MayStCD8rGnRZj9XL4\/+JqSduefCHbf6gn6s3ln3NS1Ls8+IO\/5Fcwx6ne2q\/8AN+a9zTosnVR6mssBq3XBlZDHvJHw\/EfcH8QrI6ss0cLXvrW8RAJa1riQfQI4PbM6uIhe0\/hfeXSKutF7pL0yV1K2UCIgO42459PZWKlpp2ZtGUZrFF5BERcKCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA5VFPDVwOgqI2yRP+81w2PeokdhtMRBZbqbI5Exg\/iiLt2iXCLd2iZFTwQDEMMcY6MaB+C6Ii4UlYIiIAiIgPlzWvaWvaHNPMEZBUJlktUb+Ntvp+Lfcxg\/iiLt2iXGL1RNYxkbeFjQ0dAML6RFwoIiIAiIgCIiAIiIAiIgP\/2Q==",
    "razonSocial": "MSI MINING",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "MSI MINERIA SPA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1145\",\"id_control\":\"28628\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "15:44",
    "ubicacionGPS": "LatLng(lat: -23.6618456, lng: -70.400064)",
    "horaLlegada": "12:43",
    "horaDespacho": "15:42",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 15:44:20
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-J1MgKbMGIcPunSSFlESNVAdNJliB7MGfsabSgUVOxblUFYbQL.a
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76249985",
    "serieinterna": "EXTO2204",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega de insumos en oficina",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12515",
    "observacion": "entrega de insumos en oficina ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACDATMDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABCEAABAwMCAwYDBAgFAgcAAAABAAIDBAURBiESMVETQWFxgZEiocEUMrHRFRYjJDNCQ1IHNKLC0rLwJVNidJLh8f\/EABkBAQEBAQEBAAAAAAAAAAAAAAACAwEEBf\/EADMRAAIBAgQDBgQGAwEAAAAAAAABAgMREiExQQQyURNhcZGh0SIzscEUQnKB4fAjUlPx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQEa4VD6S3VFTGGl0UbngO5bDO642Ovkudnp6yUMD5QeIMBABBI7\/JSayMTUU8ROA+Nzc+YVJoiQv08Gn+SVzR8j9VaSw3MHJqso7NP7GhREUG4REQBERAEREARFVXTUdttQImnD5R\/Sj+J3r09V1JvQmc4wV5OxaoswNRXusJfQWN\/Zc2vmyOId3T8SpNt1N21a233KldRVhAwD91xPToqcJGK4mm3b7MvkRFB6AiIgCL4kljibxSSNYCcZccL2ORksbZI3texwy1zTkEeBQ5fY+kREOhFwrKynoKZ9RUyiONg3J\/AdSsfdL\/c7nRT1NC11Hb4ecztnSnOAB69PUq4wcjCtXhSWeb6G3RQLHLPPZKSWpdxSvjDicYz0+WEUtWdjWMsUVLqT0RFwoIiIAi8c4NaXOIAAySe5Zis1BW3Ordb9Px8Zb\/Eqjjhb5fn7KoxcjKpVjTWfluaR88McjI3ysY9\/3WucAXeQ710VDbdLQ01W2vrKmWrrAeLic4hoPh3n1Por5GktDtNzkryVgiIpNAiIgCIiA8IBGCMgrNaGPDbKqE846l23TYd3otMsxpr931De6U7Zl7Ro8Mn8wrjys81XKtB+K9P4NOiIoPSERfLXNe3iY4OHUHKA+kREAXhOBnovUQGTmuVz1LVvpLVx0lHGS2WocCCT+I8ufVW1s03bbY0FsImm5maUBzs+HT0Xdt3pTeTaWteZ2s43EAcIHPffx6KetJSdrLI81OlFtyk8T+ngFndaU0TrQ2rIxLTStLXgbgE4IHyPotEqbVdLUVlhlhpYjK8uaeFvMgHuXIO0kVxCvRkrbFlRSunoaeZ+OKSJrnY6kZXC53ijtEQkqpMF33WNxxO8gVIo4jBRQQuGDHG1pHkMLN0f\/jesqipdwyUtAzsmAjILjt5Hfi+SJJtt6HKk5RjGK1f9ZoaG4UtypxPSyiRpAzjm3wI7lJWRu1EdM3CO829pbTPdw1MDdhg9B0\/A46rRSXWgidAySrja6ox2bSd3Z5bI47oU6usamTRR3hjbpq6itk3E6mjiMj2hxG+57vJq4uhk0leqfsZHPtlW4RubI7+GfP1z47+a6UVPVHXtVLM2R0bIyGScJ4cEAgZ5bA\/Jd9cMa6xNkPOOdrgRz7x9Vonmo7HkcbwnV\/Mm\/TY0arb1eY7PTMeY3TTSu4Iom83FTqeQy00Uh5vYHH1C+nMY4tLmglpyCRyWKsnmfQleUfhdmZeksFdep21+oJCBnLKRpwGjx6eXPqV7qrNTPb7BSxhvbvD3BuBwtG3LpzPotDV11PRUjqqeQCNveN8noOpVDpqmqa+un1BXN4JJssijx91oxuPbHue9aqT5nseOdKKtSjrLV72NIxjY42sYMNaAAOgRfSLE94REQBfMkjIo3SSODWMBc5xOwA5lHOaxhe9wa1oySTgALJVdXVatrXUFA50VtiP7afH8T\/vuHqVUY3MatVU1ZZt6I9qayr1ZWuoLe50NtjOJp8fxPD8h7rTUVDT26lbTUsYjjb05k9T1KUVFT2+lZTU0YZGwbDr4nxUhdlK+S0OUqTi8c85P+2QREUG4REQBERAEUatuNHbo+0q6mOEYyA47nyHM+ioH6rqbhK+nsVufUuH9aTZo9PzIVKLZjOtCDs3n03NM97I2F8jgxrRkuccALFRXqlp9cT1FPxVMVS1sX7IZy74dx15KdDpm4XM9rfrjK8E5+zxO+EfT2HquMtBTWbWVrZRxCKKSItIznJ+IZ89wtIqKutTyVpVZ4ZWwq6116GvRFXtvVI+8utQcRO0ZPEMZOAcDrtk+iySbPfKUY2u9SBqy4TQUkNvpXYqa5\/ZtIOCBkZ98gepVlabey12yGjYc8DfiPVx3J91SVWaz\/EClidgspYePHjg\/Uj2WoVyyikeel8dSU3tkvv6hEXhIAyTgBZnqOVXVwUNLJU1L+CKMZc7C9hqYailZUxvBhe3jDztt13WWq5ZNXXVlHSlwtlM7M8o2Eh6D6eZKs9Tzst+mZ44gGBzBCxo2AB2x7ZWmDRbnlVe6lNcq9f4IelY3Vlxud4e0gTSmOLI\/lByfH+32V9cKMV9FJTGZ8PaDHGzGR7rPUV\/tFhtFPSMeaiZo+NkIz8R3OSdu\/HovoXLU9zP7lb2UUROz5xg93cfXfHeqlFuV9DKnUpxp4NW9bZ6nHt7zpVzftkpr7cSGh\/8AMzfvzuPchaqGZlRAyaM5ZI0OafArK11u1UaGYz11PUsLCJIWtHxt78fCN\/ZSdDVnb2Z1MTl1O\/Hodx9UkrxxChUcanZ2aT0uXV0q\/sFrqarvijJb593zwslYL9Q2i0CPhkqq6okc90cbcnPIZPp3Z5rtriimIjqG1UrmyvbG2myeEHBy7\/p91orXZaG1RAU9OxshHxScyT5nfCLDGGe5yXa1K7w5YV46lDUQ6n1DTPjkihoKZ\/8ATePicO4d5\/BfOjbXbamjNXLB2tVFKW8UhJ4cYI25fitgsxpFvDXXluMYqcY6buTE3F2yDoqNaDlne+vmadZzXMnBYWjAPFO0b+RP0WjWX1p+2FtpM57apHwf3ch\/u+ainzI34p\/4ZGkhj7KCOPOeBob7BVOpbq+goRBSvArak8EQzuOp+g8SFY3CvgttFJV1DsMjHLvce4DxKoNP0U11rTqG4AcTwRTxY2YBtn8ceZPRIr8zFaTypQ1fouvsR7VoyVsrX3SYSxA8ZhBJ4nY5n59c+C17WhrQ1oAAGAB3L1FyUnLUulRhSVooIiKTYIizF7udTc682G1H43DFTN3Mb3j8\/ZVGOJmVWoqcbv8A9OVdWVGqLi+1W95joYj+8zj+bw+Xr5LSUVFT2+lZTU0YZGwbDr4nxXK1WuntFE2mpxtzc483nqVNXZSvktCKVNr458z9O5BERQegIiIAiIgCrr1DVTUP7rcBQ8LsySuxjgwc793cu9dcaS2wiWrmbGHHDcndx6BZu6XD9Z62C0W17jTHD6mUDAxsR7fjhXCLbueevViouO723O9r01a6mQ1NRWOukzTh7nuyM+Xf6rSxxsiYI42NYxvJrRgBZWzQtsuram1xl\/YTRB0Qc7PIZ\/5LWLtS99SeFUcLsrO9mFmNT\/sr9Y5z93t+E+HxNWnWZ1w0soKSqb96CpByOY2J+gXKfMd4r5LfS31NMsZXwuH+IlO5h4S8MeTjmAMdwPTC2TXBzQ4bgjIWZrcR\/wCIVAf\/ADKcgk8uT+Xt812nk34E8UrqP6keWsCbXl0mxngiDPL7o+i1Cy+mR2mor9K77zZ+AeXE78gtQuVNSuFzg31b+oWN1dqYs7S10TsO+7PIO7q0fUrZL8xp+xg1VxVjuxbBUOmedyct+LHLfcfirpJNtvYx46pKMVGLtfK5vLBS0tLZqdtIx7Y3t4z2jcOcT3lSa+gp7lSupqlnEx3uPELPQa3iq7tBSQUhEUsgZ2kj8HfYbAdfH2WqUSUou7N6M6VSGGGaWRAoLLbbaP3WkYx395+J3ud1PRFLbeptGMYq0VYLJ6Tb9mvl5pBs1suWjwDnD6haxZWxx8GtbvuRsTgjqQeauPKzz1\/mU33\/AGJuoLXVXKutvZsBp4JuOY8W+Mju9D7q9RFDd0kbxgoycluF8tjYwuLGNaXHLsDGSvpFwsLIakrqeLVNv+0PxFSMMzu\/fmAB1+Ee4WvVNX6ZobldGV9QZHFoAdHkcLsclcGk8zz8TCc4Wh1RWUdJU6rqmXC4xmKgjOYKfP3\/ABPgtW1oa0NaAABgAdyNaGtDWgAAYAHcvVyUrl0qSgurerCIik1CIiAz+ob1UQzx2m2NL6+oHMf0x18+flhTLHZIbLSljT2k8m8sp\/mP5KcKOmFWasQMFQ5vCZOH4iPNdlbllZGEaTxucs3t3L3CIuNTV09HH2lTPHCzOMvcAoNm0ldnZFmqjWdO6XsLZRz10ucDhHC0+XM\/JcjQ6ovOPtlUy3QcW7Ij8Xy+pWmB75HnfExeVNYn3e+heVt5t1vDvtNZExzebOLLvYbr4s95hvUMs0EMrI2P4QXjHF5KJRaQtFGeN8JqZM54pzxfLl8l3rdQ2i2t4JKqMuaMCKL4iMd2By9cJZPKOYU6ieKq0l\/dy1XKpqIqSllqZncMcTS5x8Asy67XvUGY7RTGjpTsamU4cR4f\/WfNdLlZLi60UVqZO+pjdNmpncfiAzkYG+2\/yCYLPNnHxDkm4Rb7zla6WXU1fJdrgwiiwWU8PEQDjIzse7f1Pgr622ijtQk+zR4dKcvceZ8PJSoYYqeFkMLAyNgw1rRsAui5KTfgXSoxgk3nLqZbU+KG+Wm6E8LWP7OV3RufyLlqVWahtxudlnp2D9oBxx7Z+Ib49eXqvdPVE9TY6Z9S17ZQ3hdxtwTg4B9kecU+hME4VpLZ5\/Z\/YslS6ui7XTVVgZLOFw9HDPyyrpRbnB9ptdVB3yQuaN+\/C5F2aZrVjipyj1RzsswqLLRSg5JgZk+IGD81TXr9nrKzyf3At35d\/wCak6Mm7XTcLc5MT3sPvn6qNqX4NRWJ55GYt\/1N\/NWlabXieWcsXDxl+n6oaQ\/z15\/9z9XLTrMaUHBd77F3Nqdv\/k\/8lp1NTmNeF+Uv3+rCq67TlquM7p6imBkcAHOa4tJ9laIpTa0N5QjNWkrkKks9uoSDTUUUbhydw5d7ndTURG29TsYqKslYIiLh0L4EUbZHSCNoe4Yc4Dc+ZX2iAIiIAiIgCIiAIiIAiIgCIiAqq7UVvt1xbRVUjo3OaHcfCeEea+qvUVpo6cTvrY3tcPhbE4OLvIBS6yhpa+LsqqBkrRy4mg8J8Oiz0egbaI+GWpqXPzniaWt26YwVosG55aj4hN4EmvoeMvN+vnE200baWnOwqJvp3ewK5ssNqhf299uzKmcnJD5uFo8MZyVIOg7WRvPV568bf+KkQ6MskX3qd8p6vkP0wrxRWjPOqNaWc0m+95eSRyOqNO2xhipMEA7tp4cA++AVy\/WG93AltssjmtzgSVBwMfIfMq9prXQUeDT0cMZHItYM+6lqMUdkehUqrylKy7l7mV\/V293M8V3u7mMOP2UHLn4YHrurS36ZtVtAMdMJJAciSb4nZ\/AeitkXHOTyLjw9OLva76vM8AAGAMAL1EUG4REQBERAEREBmNEDs6WugOzo6k5Z\/bsPy+S0ckMUr2PkiY90ZywuaCWnqOizen\/3bVV5oyOHjd2ob3Yzn\/cFqFpU5rnl4X5Sj0uvJlTbLM+33a4VnaNcyrdxBoG7dyfqrZEUNt6m8IKCtEIiLhYRfL5GRjL3taP\/AFHChTXy1U4zJcKcbZwJA4+wXUm9CZSjHVk9FRT6yskP3ah8p6Rxn64UKXXtEGudDRVL2g44nYaPqqVOT2MZcVRjrJGqRZi16zbc7nFRtoHMEmfjMucemFp1yUXHUunVhVV4O4REUmoREQBERAEREAREQBERAEREAREQBERAEREAREQBEXhIAyTgBAeoquu1HabfkTVjHPH9OP43Z6bcvXCq3auqKsltptFRUjJAkcDw\/L07wrUJPYwlxFKLs3n5moRZfg1hXniMlNb2H+UYJ\/3J+p89Uc3K9VVQP7W7Y9yfwXcKWrJ7acuSD\/fI7VLKSk1SLs65UsUfYlksZk+MnG23Tl\/2V1n1lZIfu1D5T0jjP1wvafR9kgG9M6U9ZHk\/IbKygtlBTfwKKCM9WxgFdbgRGFdXtZXz3fsUI1oag\/uFnq6n5fgCvf0rqqq\/y1mjgHWZ249yPwWnRcxR2RfY1HzVH+ySMubfq+p\/i3Onp2kYwwbj2b9U\/VGsnwa2\/VUvVozjHqVqF4SAMk4ATtHsPwtN8134tmbZoW1g8Us1VK7vLnj8l3fp7TtrpzPUwRtYw7vmeT8u\/wAlyuerI2TGitMRrat2wLRljT9fTbxXOl0vUV87azUFSaiTG0DThrPUfgPmqvLWTPPhpXw0YJvrsv3IYuramQwaZscZwcGodCAB+XqfRS4dJT1pjlvdwkqHN\/pMOGjw\/wDwBaSCCGmiEUETIo28msGAF0Uup\/qbR4ZP5jv3aLy9zhSUVLQxdlSwMhZ0aMZ8+q7oizPUkkrIIiIdCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCqq\/Ulqt2RLVNe8HHZxfG4eeOXqplwomXChlpJHOY2QAFzeY3zt7KHb9N2q2gGKmbJIP6ko4nZ+noqWHcxqdre0LeL9iqbqC93chtotnZROyBPPuMden4r6bpStrwH3i7zSEjeOLZo99vktQirHblVjP8OpfMk5ei8kVVFpm0UI\/Z0bJHf3S\/GfmrQAAYAwAvUUNt6m8YRgrRVgiIuFhERAF4SAMk4AVfervFZaH7TJE+Uk8LWt6+J7gsa+7fpt5feLsKSkztTQNJc7w2GPU58lpGm5ZnlrcTCm8O\/l6mmrtVUkEwpqGN9fUk4DIdwPX8vkoX6Hvl9dxXiq+yUxP+WgO58+73z5LjR6j05aWGK3Uc7nHYubGOJ\/mScqR+tNznOKTT1Q7o55OP8Ap+qvC1yrzPN2kKnzJ37le38l7b7XR2uHsqSBsY73c3O8z3qWsx9q1jU7MoqalB24nOBx8z+Cfo7V0+8t2p4h0Y3l\/p+qhx6s9MayStCD8rGnRZj9XL4\/+JqSduefCHbf6gn6s3ln3NS1Ls8+IO\/5Fcwx6ne2q\/8AN+a9zTosnVR6mssBq3XBlZDHvJHw\/EfcH8QrI6ss0cLXvrW8RAJa1riQfQI4PbM6uIhe0\/hfeXSKutF7pL0yV1K2UCIgO42459PZWKlpp2ZtGUZrFF5BERcKCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA5VFPDVwOgqI2yRP+81w2PeokdhtMRBZbqbI5Exg\/iiLt2iXCLd2iZFTwQDEMMcY6MaB+C6Ii4UlYIiIAiIgPlzWvaWvaHNPMEZBUJlktUb+Ntvp+Lfcxg\/iiLt2iXGL1RNYxkbeFjQ0dAML6RFwoIiIAiIgCIiAIiIAiIgP\/2Q==",
    "razonSocial": "MSI MINING",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "MSI MINERIA SPA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1145\",\"id_control\":\"28628\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "15:44",
    "ubicacionGPS": "LatLng(lat: -23.6618456, lng: -70.400064)",
    "horaLlegada": "12:43",
    "horaDespacho": "15:42",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 15:44:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76249985

[08/05/2026 15:44: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('76249985', 'EXTO2204', 1, 95585912, 0, NOW(), 
				'15:42', '12:43', '15:44', 10, 'entrega de insumos en oficina', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778269460.png', 'entrega de insumos en oficina ', null, 'COMPLETADO','LatLng(lat: -23.6618456, lng: -70.400064)' )
				
[08/05/2026 15:44:20] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200257
[08/05/2026 15:44:20] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200257', 'TOS-I1145', 2)
				
[08/05/2026 15:44:20] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28628 and
				    IDproducto = 'TOS-I1145'
				

08/05/2026 15:44:20 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I1145';
                
08/05/2026 15:44:20 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200257'                    
				WHERE idllamado = 12515			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


08/05/2026 15:44:21 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12515			
				
08/05/2026 15:44:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


08/05/2026 15:44:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:44:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15: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 = 12515
                
08/05/2026 15: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 = 12515
                
08/05/2026 15:44:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/2026 15: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 = 12515
                
08/05/2026 15: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 = 12515
                
08/05/2026 15: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 = 12515
                
08/05/2026 15:44:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                [08/05/2026 15:44:23] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:44:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            [08/05/2026 15:44:23] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:44:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/2026 15:44:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:44:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:44:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:44:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                [08/05/2026 15:44:23] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 15:44:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/2026 15:44:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12515
            GROUP BY l.idllamado;
            
08/05/2026 15:44:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:44:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:44:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:44:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:44:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 15:44:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12515
                
08/05/2026 16:01:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:01:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:01:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                [08/05/2026 16:01:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 16:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                [08/05/2026 16:01:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 16:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:01:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:01:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            [08/05/2026 16:01:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

08/05/2026 16: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 = 12454
                
08/05/2026 16:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            [08/05/2026 16:01: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;
                
[08/05/2026 16:01: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;
                

08/05/2026 16:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16: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 = 12454
                
08/05/2026 16:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            [08/05/2026 16:01: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;
                
[08/05/2026 16:01: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;
                

08/05/2026 16:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16: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 = 12454
                
08/05/2026 16:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                [08/05/2026 16:01: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;
                

08/05/2026 16:01:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:01:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            [08/05/2026 16:01: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;
                

08/05/2026 16:01:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            [08/05/2026 16:01: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;
                

08/05/2026 16:01:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/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 = 12454
                
08/05/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 = 12454
                
08/05/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 = 12454
                
08/05/2026 16:02:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/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 = 12454
                
08/05/2026 16:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/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 = 12454
                
08/05/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 = 12454
                
08/05/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 = 12454
                
08/05/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 = 12454
                
08/05/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 = 12454
                
08/05/2026 16:02:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/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 = 12454
                
08/05/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 = 12454
                
08/05/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 = 12454
                
08/05/2026 16:02:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16:02:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/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 = 12454
                
08/05/2026 16:02:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/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 = 12454
                
08/05/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 = 12454
                
08/05/2026 16:02:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/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 = 12454
                
08/05/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 = 12454
                
08/05/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 = 12454
                
08/05/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 = 12454
                
08/05/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 = 12454
                
08/05/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 = 12454
                
08/05/2026 16:02:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/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 = 12454
                
08/05/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 = 12454
                
08/05/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 = 12454
                
08/05/2026 16:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:04:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:04:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:04:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:04:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:04:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:04:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:04:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:04:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:04:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:04:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:04:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:04:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:04:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:04:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:04:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:04:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:04:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:04:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:04:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:04:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:04:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:04:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:04:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16:15:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16:15:21 - logentry: =========================================
FECHA: 08/05/2026 16:15:21
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-NZp_P8kxvvlo-1qKcHvGfmQAPaOP-p7wvWG-cS_y4xxgp-Z5hws
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76053835",
    "serieinterna": "KY2380",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "390996",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se hace limpieza general\n•Mantención a gomas de alimentación\n•Limpieza rodillo de transferencia\n•Limpieza unidad de imagen y fusor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12454",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC4AZADASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABGEAABAwMCAgYGBgcGBgMAAAABAAIDBAURBiESMRNBUWGBkSIycaGxwRQVIzPR8BYkQlJicsIHNFOSouEmdIKy0vFDVXP\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAzEQACAQIDBQYFAwUAAAAAAAAAAQIDERIhMQQTIkFRMmFxscHRM4GRofA0QuEFIyRSYv\/aAAwDAQACEQMRAD8A\/Zlr1xqhRTGiDDUcJ6MP5ZWwiHGrqxxNP376za6lqmdDXwbSRkYzjrH4Ltqd1JaZDIy9UHo1lL6TgB940fPGfBdOzXWK70DKhmGyDaWPO7HdYU5JNYkZ6U5KW7nryfVe5voiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIApK6wyabvUd2pWfqdQ7gqIm7BpPX2d\/tHeq1alzoI7lbpqSTlI3AP7p6j5qUJWeZTXp445arQ2WPbJG2Rjg5rgC0jrC9Kd0fWSOopbbUgiehfwEE9WTjywR5KiSSs7EqVRVIKQREUSwIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiwPrKaOqZSvnjbPIMtjLvScN+Q8Cs6HE09AiIh0IiIAiIgCIiAIiIAiIgJS55serqa4tcG09d9nMOoHYZ+B81Vriauo\/penpy1gc+DEre7HP3ZW7Zq0XC0U1TxcTnxjjP8AENj71ZLOKZlp8FWUOTzXqbyIirNQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQExqQmn1HZKlpwXy9G48tuJvP8AzFU6mNafZtttR1x1I\/H5KnVkuyjNSyq1F4eQREVZpCLVuNfBbKKSrqHYYzqHMk8gFwW1uqbtiSip4aGncA5jpdyR4g\/BSUW8ymdaMHhs2+iKhFM\/VOqZRmW+RtPZGzb3AL4636tpgDBdIKgDm17dzv3j5hdwLqQ38v8AR\/b3KdFMU2qpqKpbR32jfTSE4Ew9V3f7O8ZVMCCMg5BXJRcdSynVhU7J9REUS0IiIDy5rXsLHtDmuGCCMghS2m3OtN9rrE9+Ywekhydzy+RHkqtS2qeK23e23lhcGtf0UuOWOfvHF5KyGd49TLtHDhq9H9nqVKIirNQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAERatdcaa3CI1Ly0TSCNmBncolc42oq7NpERDoREQBERAEREBMa5\/uNF\/zI+BVOpjXP9xov+ZHwKp1ZLsIzU\/jT+QRF8JwM9irNJLVjf0i1UKEuaaO3jikHPjdtkfLwKqQABgDACitDVxluddE7AM46XluTnt\/6lbKyorPCZNkanB1ObYREVZrNW5W+G6UMlJOPReNnY3aeohcbTFdJTyy2GsdiopPuyf2mdx8QR3HuVGpm8Yp9Y2qcO4elaY3Dt3IH\/crI5pxMtZYJRqLwfgymREVZqCIiALlampBWafq2EZcxnSN2yQW7\/DI8V1V8c0OaWncEYK6nZ3ITipxcXzObpysdXWGlmeSX8HA4nmS04z7l01L6NcaV9wtTzl1NOS0nG4O3yHmqhSmrSZXs8nKlFvX2CIigXhERAEREAREQBERAEREAREQBERAEREAREQBERAF5c1rscTQeE5GRyK9IgCIiAIiIAiIgCIiAmddDhtEEoaHFlQOfVsVStcHNDhuCMhcDW0YfpyRx\/YkY4eePmuxQu47fTPJzxRNOfAKb7CM0Mq8l3L1NhY5\/uJP5T8FkXlzeJhb2jCgaWfm+knmm1BSOLvRnD2HyPzAX6UvzK3v+jzWyQgNMNe5j9+QPB49q\/TVfW1ueb\/TsoOP5oERFQekFMai31PYwNyJCceIVOpeXN013ExrT0Vviy53af8A2R5FWU9bmbac4qPVrzKhF5e9kbC+RwY1oyXOOAFP1OsKds7oaCjnrnN9YxgjG+Ow\/kqKi3oW1KsKfaZRIpk6pumfR0xWEd\/EP6FkpdZ0L3iKugmoZT1SNJHnz59y7u5Fa2qi3a\/mvMokWOGeGpiEsErJGHk5hyFkUDQncl3A0H9oDSHAMroNxvzx+LR5qoUvq5r6Sqtt2iHpQTcDscyDvj3EeKp2uDmhw3BGQrJ5pMzUOGc4d9\/qfURfCQBknACrNJ9ReWvY8EscHYODg5wvSAIiIAiIgCIiAIiIAiIgCIiAIiIAiLTmu9tp3lk1dTscDggyDIPf2LqVzjko6s3EWhHe7VK8MZcKcuPIdIFvAgjIOQUaa1OKUZaM+oiLhIIiIAiIgCIiAIiIDh6yaXaZqSP2Swn\/ADALoWl4ks9E9vIwM\/7QtXVAB03WAkD0Ruf5gs1hJNhoSTkmBvwU\/wBnzMy\/UPw9WdBERQNJ+a3aIwVN3hGxiqmTt7gSR\/WF+jU8onpophykYHDxGVC6kh4L\/c2chUUjXgD+HhP9BVbp+bp7BRPyT9i1pJ7tvkr6mcUzzNk4a04\/mr9zooi8SyxwxOlleGMYMuc44ACoPTNK93VlntklW4BzgQ2NhOOJx6vifBaelbdJSW51VU71NaelkJ54O4z37k+K5kbn6wvLX8AFronbBwP2pP8A68B7VXqyXCsPMyU3vam85LJer9CVvTn37UEVjifw08AElSQefLbyI8SqOkoqaggEFLCyKMdTRz9p6\/FT9oJi1rdIpMh0jA9mesZHLz+Kp0m7WR3Z0pOVR63a+gWvV0NLXxiOrp45mg5Ae3OPZ2LYRVmlpNWZK1NmuNin+mWOR0lNkcdG5xIx3Z6veF17TfqK7hzYiY52evBJs4fiF01O6gsD5ZG3S1joq+E8RDduk\/3+PJWJqWUjLKEqPFTzXT29jb1TTfStO1bQBmNvSDP8O592VmsFT9MsVHN1mINPtGx+C1KS8098stU0jo52wvbNCebdiPJY9EknTkYPVI8DzRpqFn1ORnGVdSjo15P+SgREVZsJO1udYNUT2qRx+i1h6SDJ2Djy\/DwCrFx9SWb62oMxejVQenC4c89nj8cLxYb59YWiSWVv61StImZyJIGx7s4+KslxLEZKT3U3Semq9V8he9QCheKGhZ9IuLyA2IAnh68nwWk3T1+qmiWq1DNDI4ZLIgcDu2IHuXrRlNHLSzXWX7SpqJXAvcNwB1eKpl1vBkjkIb9Y6mj0V\/zMlzYtQ0n2lJfn1Dm78E4OHd25K90Gp56eqbQ36m+hynZsx2Y75eIOPYqVaV0tdNdqQwVDdxux45sd2hcxp9pEnQlDOk\/k80bgIIyDkFfVNabrqilrZrBXHikphmKT95v5OR\/sqVRlGzsXUqiqRuERFEsOXqG7ts1sdOMGZ54YmkZy7v7luW91S+3wPrGhtQ5gMgAxgqfuR+tdZ0dBzhom9NI0jbi5\/wDjz7T400hc2NzmDLgCQO0qbSSSM9OTnUlK+Sy9z0il7Fq8XCfoK6OOAvdiN4OxOdm79f4KoXJRcXZk6VWFWOKDC8uc1jC97g1rRkknAAXpTOq7i2eipqGimZI6tm6PiY7iHVkbfzBIxxOwq1FTg5M13V9y1VWS01ukdS25novnwQ53s9vZ2c10qfR9mhiDX05ndjd8jzk+RwurRUcFBSR0tMzgjjGAPmVnUnPlHJFcNnXaq5v80OLLpGySxlgo+Ank5j3Aj3rSs1RVWa7usVdI+dknp003PbfY\/nn7VTqZrQarXlG2HDjSw8Uu\/qg5\/EeYXYtyumQq0403GUFZ3Sy7ymREVRsCIiAIi1qW4Uta+VlNMJHQu4ZAARwns39iHG0nY2UREOhFhqKumpGcdTURwt7XvDfiuY7VtiY7BrxnujefgF1Rb0RXKrCHakkbGoAHafrgf8Fx9yxaWJdpuiJ\/cI\/1FaN01RZaq1VdPFXfaSwva0dE8ZJBwOSx6YvttgsVNT1FZFFLHxAtccftEj3KzDLBpzM29pvaLqS0695UIsUFTBVM46eeOZn70bw4e5ZVUbE75ojdZRCO8UM+MmeGSD3Ef1rq6Nk6TTVOCc8Dnt\/1E\/NaeuGlsNvqOqOoxvy33\/pWhp2\/w2nT74nDpar6Q5scAdgnIG57BnK0WcqaseXjjS2uTlkrexZVdXT0NO6oqpWxRN5ud+d1JyyV2sqpsULZKa0sdlzzzkI+fdyHNbNNp+uu9Y2uv0uWN3jpRsAO\/HL496p2MZGwMjaGNaMBrRgBV3UNM2aXGdftZR6c349EY6SlhoqWOmp2BkUYw1oWZEVZrSSVkT+pLfVmWmultYHVNM70mBuS9vzxv4ErdtN9o7szhY8R1A9eBx9JvnjK6a5Fz01Q3KQ1A46ep\/xoiQfLl2qaaaszPKE4Sc6fPVex10Uv\/wATWTGOG60zefPpCO3rOfPqWek1lb5JDFWxy0Mo6pWnB8Ry8QmB8szq2mF7T4X3++hQosFPW0tWM01TFMMZ9B4d8FnUC9NPNErqS1zUU7r1bGBrgxwqWNHrtPM49mc+B71s6IIOnW4PKV2Vm1LeYrfbZIY3tfVzjo44xud9icd3xXAp6K56Sgp7k0mWCVo+lwY9TP4cs9vtV6vKFmebJxpbRijmrZ91\/wAzLpFhpKqKtpY6mB3FHK3iaVmVB6SaaugpG\/QPsd4F3haTS1YMVUwdWeZ+ftHeq5YqmmirKaSnnYHxyN4XAqUZYWVVqW8jZarQndCztdbKilD2uME5wR1tI2PmCqdfn9t6bSmqPotS79Xn9Dj6nNJ9F3gefiv0BTqriv1KdjnengescgiIqjYTGqonUNfb73E37iTgmIGTwnl\/UPEKlY9skbZGODmuALSOsLm6kZ0mna0cIdiLOD3b\/JetOlztP0Rdz6IdWFN5wTM0OGvKK5q\/odJeXvbHG57zhrQST2Belo3p5jsla5vPoHgeRUUrsvk8MWzj6QjfUvr7vKMPqpiG4OcAb\/PHgqZcXSMbY9NUuObuJxPaeIrtKU3xMq2ZWpR78\/rmQk1mportU2WocWNqT01HKTsx3Z355H+UKi0rc33Syskl+8id0TnZ9YgA55d6wavpOK2tuEcnRzUTw9rgQDgkDGfJY9CxGOwOcSD0k7nDu2A+Ssk8ULmSlF0tpwLSz+nL6O5SL84ooHUmtI6Mk8EdWS0H3Hywv0dRt0pW0+vqGYAAVBa4nv8AV+Q81Gk9UWbZC+CXRoskRc+93aKzW59U8cT\/AFY2fvO\/O6rSu7I2SkoxcnojFf71FaKMhp4qqUFsEYGST1HHYsOmrVLRUrqqtLnV1UeKUu3I7AsFhs0kkwvVzd01XMA6NrhtE08tuo48lRKbaSwoz04yqS3s\/kvXxCIirNQREQBTGk\/Qut7hd6zanPt3cqdTGnCf0lvgzt0o+LlOPZZmq\/FpvvfkU64V7vNQyqFotbC+ulbniyMRDt\/PaF3VM2fI1ndg\/HFw5b2gZH+3uSCWb6Ha8nwxTtd2PVLo+nfIam7TPrqh3rZcQ3PhuV1WWO0xsDBbaUgDA4oWk+ZGVvouOcnzJRoU46ROfNZLY+F7W22kDi0gEQNBBx7FPaRtNtuVkc+qpI5ZGSuYXHIOMA8x7VYqY0JhtpqYuZZUu3\/6W\/gpqTwspqU4b6CstH6Hat1po7SyRlHGY2yHJBcTv4rdRFW23qa4xUVZLI4GtIhJpuVxH3b2OHnj5qP09VT258twjoW1MUDm9K484wc7jsPPfkr3UUXTafrm9kJd5b\/JTX9n28te07gtZkdvNXwdqbPL2im5bXCztde5WW650l1punpJeNvJwIwWnsIW2pW8WeazT\/XNkHRln39O0ei5vXgdnaPEYwu9a7lBdqFlXBkNdsWnm09YKqlFWutDbTqtywT7Xn4G4iIoGgIiIAtert9HXN4aqmjmH8bckeK2ETQ40mrM4E2i7RI4uhE1MT\/hSH55Wv8AoNS\/\/YVn+YfgqdFPeS6lD2Wi\/wBpx7fpe126oZURRPfKz1XyPzjw5LqyxRzROilYHseMOa4ZBC9oott5stjThBWirIjyKrRlbxN457RO7cczEfx+KrKeoiqoGTwSCSN4y1zeRSaGKohfDMwPjeMOa4bEKSZLNoy4uhka+W1VD8scNzGfx+IGe5WdvxM36d\/8P7fwWKLHDNFUQsmheHxvGWuadiFkVRs1ORqOyMvVvLGgCojPFE8+8ew\/HCzWB1YbLTivYWzsBY7iO5AJAz34XRRSxO1ipUoqpvFqERFEtCIiALxNEyeF8Mg4mSNLXDtB2K9ogJKwXRlie+x3WQQujeTFIdmYO+56u3PeqKe6W+mjMk1bA1oGfXB93WvVbb6S4xiOrgZM1pyA7qK5bNG2Vr+I073j910hx7lY3GTuzJGFamsELNcrnMfJPrG4tijD4rTA7Ln8jKR+duxZ7ADaNRV1nLS2GT7WDifnbu8PgqWGGKnhbDDG2ONow1rRgBTmpwKO82m5gYLZDE93Vjq+LlJSxcK0K50nSSqt3knn4aW8CnUnrcOp5rZcG79BLuO\/Yj4FVi4WsaX6Tp2YgZdC5sg8Nj7iVCm7SRdtUXKjK3j9MzuNcHNDhuCMhT+p6CqklpbhSwmpNKcupyMh+4wcdZ5rd03WNrbDSyB3E5jBG\/uLdl1FxNxkTaVan4k9Q6ztlThlTx0coyHNkGQCOrI+eF2aaupKwZpqiOXHMNcCR7R1LzVW2hriDVUkUxHIvYCR4rk1ei7VP6VOJKSQHiDo3Z39h+SlwPuK\/wDIj0l9n7FAil302o7G0vppzdYQPUePSaB45PXy7vYulatR0F1Jja4w1DfWhl2cN8eK44O11mTjXTeGSs+\/0OsiIoF4UxYB0eqr3G71nPDht1ZP4hU651NZ46a81VzbK5z6loaWEbNxj8ApRaSaKKkHKUGuT9DoqX1BDNaLxDqCmj4o8BlU0c3Dlnyx5BVC+EAjBGQUjKzJVae8jbR8jBRVtPcKVlTTSB8bxsezuPethTc+lH0s7qqx1r6KU7lhOWO57Hu5dRWMVmr6YcMlBT1PY4ED4EKWFPRlSrTjlUi\/lmioUzo0Br7ozIJFTv70H6Y1mDmkoATy2ccf6l40qH098vNLI7id0gfnxdn4hdUbReZW6mOrB2a118CpREVRuPE0TJ4XwyDLJGlrh3HZR2hYX09fcoJBh8fCxw7wXBWi+AAchhSUrJrqUzoqVSM+lwQCMEZBUjVxP0leG1tOD9WVT8TRgbRnu95Hkq9YK2kir6OWlnbmOVvCe7sPgd0jK2ugrUsautVoZWPbJG2Rjg5rgC0jrC9Kd0fWSuo5rbUgiehfwHP7u+PLB9yokksLsSpVFUgpBERRLAiIgCIiAIiIAsc0MVRC+GZgfG8Yc1w2IWREGpJcFVpCsLmcc1nkOSDuYiSB+e33qnpauCtp2z00okjcMhw\/Oy9yxRzRujljbIxww5rhkHwXCZY6y1XBklmkjZSyvHTwyEkAZzke8eSsupa6mVRlRfDnHpzXh3FAiIqzUEREAREQBERAEREAU5rmMOsLZOTo5muB8x81Rqf1sM6ecO2VnxU6faRn2r4MvA7lPIZaaKQ83sDj4hfZomTwvhkGWSNLXDuOyx0X9xp\/\/wAm\/BZ1HmXLOOZxNM2mrs0NTTTvY+Iy8URaSTjlv2cgu2iI3d3ZynBU4qK0QREXCYXLuenqC6PbLIx0U7fVmiOHDr9hXURdTa0IzhGatJXJaOqvuni2OuY640mzWSRNy8cvxPPnjmFUA5Ge1fUXZO5CnTcMr3QREUS0IiIAiIgCmLZ+r66ucLv\/AJYg8H\/KfmVTqcu9NUU2qrbcaeJ72ynoZixpOBnGT4H3KcOaM20K2GXRr2KNERQNIREQBERAStdm063paoEiG4N6OTkATy+PCVVKb1vC76qhq49pKadrgc8gf98Kgp5m1NNFOz1ZWB7fYRlWSzimZaXDUnD5\/X+TIiIqzUEREAREQBERAEREAREQBERAEREARF5fxdG7g9bBx7UAa5rs8LgeE4ODyK9Kc0S3NpnmdjpJahxcQ7IJ28FRqUlZ2K6U95BS6hERRLApfWbhV\/V9qYCZaioDtuobj+r3Ls3W70lpp+kqH5eR9nEPWeewBcqw22rqrnJf7mzo5pBiGEj7sYxnu228SrIK3EzJXeP+zHV69yKMAAYAwAvqIqzWEREAREQBERAEREAREQBERAEREAREQBERAEREAREQHPvtL9MsdZABxF0RLR3jce8LW0pU\/SdOUpyOKMGM46sHb3YXZUvpT9Sul1tRJAjl6SNvdyz5cKsWcGjNPhrxl1TXqVCIirNIREQBERAEREAREQBERAEREAREQBERATVdYrhRVslxsVRh8hJkp5Hei7bqzt5r5+kF9p2gVGn5JXb5MJdj4FEVsZYsmjFVp7vig2vL7nwapupOP0Yq9+93\/gvgqtWXLaGlit0Z\/ak3d79\/ciLsrR0RCljqu0pv7L0Nm26Uhp6g1dwndX1JwcyD0Wnx5\/nZd9EVTk3qbKdOFNWigiIuFgREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFxhaJ49Vm6xyMEEsPBK0+sTsPLYeSIuptEJwU7X5Zn\/9k=",
    "razonSocial": "LEONPRODAL S.A.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JULIO RAMOS",
    "correoContacto": "jramos@leonprodal.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE SUENA EL RODILLO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56995415792",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:15",
    "ubicacionGPS": "LatLng(lat: -23.5391088, lng: -70.3902991)",
    "horaLlegada": "12:19",
    "horaDespacho": "15:07",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 08/05/2026 16:15:21
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-NZp_P8kxvvlo-1qKcHvGfmQAPaOP-p7wvWG-cS_y4xxgp-Z5hws
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76053835",
    "serieinterna": "KY2380",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "390996",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se hace limpieza general\n•Mantención a gomas de alimentación\n•Limpieza rodillo de transferencia\n•Limpieza unidad de imagen y fusor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12454",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC4AZADASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABGEAABAwMCAgYGBgcGBgMAAAABAAIDBAURBiESMRNBUWGBkSIycaGxwRQVIzPR8BYkQlJicsIHNFOSouEmdIKy0vFDVXP\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAzEQACAQIDBQYFAwUAAAAAAAAAAQIDERIhMQQTIkFRMmFxscHRM4GRofA0QuEFIyRSYv\/aAAwDAQACEQMRAD8A\/Zlr1xqhRTGiDDUcJ6MP5ZWwiHGrqxxNP376za6lqmdDXwbSRkYzjrH4Ltqd1JaZDIy9UHo1lL6TgB940fPGfBdOzXWK70DKhmGyDaWPO7HdYU5JNYkZ6U5KW7nryfVe5voiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIApK6wyabvUd2pWfqdQ7gqIm7BpPX2d\/tHeq1alzoI7lbpqSTlI3AP7p6j5qUJWeZTXp445arQ2WPbJG2Rjg5rgC0jrC9Kd0fWSOopbbUgiehfwEE9WTjywR5KiSSs7EqVRVIKQREUSwIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiwPrKaOqZSvnjbPIMtjLvScN+Q8Cs6HE09AiIh0IiIAiIgCIiAIiIAiIgJS55serqa4tcG09d9nMOoHYZ+B81Vriauo\/penpy1gc+DEre7HP3ZW7Zq0XC0U1TxcTnxjjP8AENj71ZLOKZlp8FWUOTzXqbyIirNQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQExqQmn1HZKlpwXy9G48tuJvP8AzFU6mNafZtttR1x1I\/H5KnVkuyjNSyq1F4eQREVZpCLVuNfBbKKSrqHYYzqHMk8gFwW1uqbtiSip4aGncA5jpdyR4g\/BSUW8ymdaMHhs2+iKhFM\/VOqZRmW+RtPZGzb3AL4636tpgDBdIKgDm17dzv3j5hdwLqQ38v8AR\/b3KdFMU2qpqKpbR32jfTSE4Ew9V3f7O8ZVMCCMg5BXJRcdSynVhU7J9REUS0IiIDy5rXsLHtDmuGCCMghS2m3OtN9rrE9+Ywekhydzy+RHkqtS2qeK23e23lhcGtf0UuOWOfvHF5KyGd49TLtHDhq9H9nqVKIirNQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAERatdcaa3CI1Ly0TSCNmBncolc42oq7NpERDoREQBERAEREBMa5\/uNF\/zI+BVOpjXP9xov+ZHwKp1ZLsIzU\/jT+QRF8JwM9irNJLVjf0i1UKEuaaO3jikHPjdtkfLwKqQABgDACitDVxluddE7AM46XluTnt\/6lbKyorPCZNkanB1ObYREVZrNW5W+G6UMlJOPReNnY3aeohcbTFdJTyy2GsdiopPuyf2mdx8QR3HuVGpm8Yp9Y2qcO4elaY3Dt3IH\/crI5pxMtZYJRqLwfgymREVZqCIiALlampBWafq2EZcxnSN2yQW7\/DI8V1V8c0OaWncEYK6nZ3ITipxcXzObpysdXWGlmeSX8HA4nmS04z7l01L6NcaV9wtTzl1NOS0nG4O3yHmqhSmrSZXs8nKlFvX2CIigXhERAEREAREQBERAEREAREQBERAEREAREQBERAF5c1rscTQeE5GRyK9IgCIiAIiIAiIgCIiAmddDhtEEoaHFlQOfVsVStcHNDhuCMhcDW0YfpyRx\/YkY4eePmuxQu47fTPJzxRNOfAKb7CM0Mq8l3L1NhY5\/uJP5T8FkXlzeJhb2jCgaWfm+knmm1BSOLvRnD2HyPzAX6UvzK3v+jzWyQgNMNe5j9+QPB49q\/TVfW1ueb\/TsoOP5oERFQekFMai31PYwNyJCceIVOpeXN013ExrT0Vviy53af8A2R5FWU9bmbac4qPVrzKhF5e9kbC+RwY1oyXOOAFP1OsKds7oaCjnrnN9YxgjG+Ow\/kqKi3oW1KsKfaZRIpk6pumfR0xWEd\/EP6FkpdZ0L3iKugmoZT1SNJHnz59y7u5Fa2qi3a\/mvMokWOGeGpiEsErJGHk5hyFkUDQncl3A0H9oDSHAMroNxvzx+LR5qoUvq5r6Sqtt2iHpQTcDscyDvj3EeKp2uDmhw3BGQrJ5pMzUOGc4d9\/qfURfCQBknACrNJ9ReWvY8EscHYODg5wvSAIiIAiIgCIiAIiIAiIgCIiAIiIAiLTmu9tp3lk1dTscDggyDIPf2LqVzjko6s3EWhHe7VK8MZcKcuPIdIFvAgjIOQUaa1OKUZaM+oiLhIIiIAiIgCIiAIiIDh6yaXaZqSP2Swn\/ADALoWl4ks9E9vIwM\/7QtXVAB03WAkD0Ruf5gs1hJNhoSTkmBvwU\/wBnzMy\/UPw9WdBERQNJ+a3aIwVN3hGxiqmTt7gSR\/WF+jU8onpophykYHDxGVC6kh4L\/c2chUUjXgD+HhP9BVbp+bp7BRPyT9i1pJ7tvkr6mcUzzNk4a04\/mr9zooi8SyxwxOlleGMYMuc44ACoPTNK93VlntklW4BzgQ2NhOOJx6vifBaelbdJSW51VU71NaelkJ54O4z37k+K5kbn6wvLX8AFronbBwP2pP8A68B7VXqyXCsPMyU3vam85LJer9CVvTn37UEVjifw08AElSQefLbyI8SqOkoqaggEFLCyKMdTRz9p6\/FT9oJi1rdIpMh0jA9mesZHLz+Kp0m7WR3Z0pOVR63a+gWvV0NLXxiOrp45mg5Ae3OPZ2LYRVmlpNWZK1NmuNin+mWOR0lNkcdG5xIx3Z6veF17TfqK7hzYiY52evBJs4fiF01O6gsD5ZG3S1joq+E8RDduk\/3+PJWJqWUjLKEqPFTzXT29jb1TTfStO1bQBmNvSDP8O592VmsFT9MsVHN1mINPtGx+C1KS8098stU0jo52wvbNCebdiPJY9EknTkYPVI8DzRpqFn1ORnGVdSjo15P+SgREVZsJO1udYNUT2qRx+i1h6SDJ2Djy\/DwCrFx9SWb62oMxejVQenC4c89nj8cLxYb59YWiSWVv61StImZyJIGx7s4+KslxLEZKT3U3Semq9V8he9QCheKGhZ9IuLyA2IAnh68nwWk3T1+qmiWq1DNDI4ZLIgcDu2IHuXrRlNHLSzXWX7SpqJXAvcNwB1eKpl1vBkjkIb9Y6mj0V\/zMlzYtQ0n2lJfn1Dm78E4OHd25K90Gp56eqbQ36m+hynZsx2Y75eIOPYqVaV0tdNdqQwVDdxux45sd2hcxp9pEnQlDOk\/k80bgIIyDkFfVNabrqilrZrBXHikphmKT95v5OR\/sqVRlGzsXUqiqRuERFEsOXqG7ts1sdOMGZ54YmkZy7v7luW91S+3wPrGhtQ5gMgAxgqfuR+tdZ0dBzhom9NI0jbi5\/wDjz7T400hc2NzmDLgCQO0qbSSSM9OTnUlK+Sy9z0il7Fq8XCfoK6OOAvdiN4OxOdm79f4KoXJRcXZk6VWFWOKDC8uc1jC97g1rRkknAAXpTOq7i2eipqGimZI6tm6PiY7iHVkbfzBIxxOwq1FTg5M13V9y1VWS01ukdS25novnwQ53s9vZ2c10qfR9mhiDX05ndjd8jzk+RwurRUcFBSR0tMzgjjGAPmVnUnPlHJFcNnXaq5v80OLLpGySxlgo+Ank5j3Aj3rSs1RVWa7usVdI+dknp003PbfY\/nn7VTqZrQarXlG2HDjSw8Uu\/qg5\/EeYXYtyumQq0403GUFZ3Sy7ymREVRsCIiAIi1qW4Uta+VlNMJHQu4ZAARwns39iHG0nY2UREOhFhqKumpGcdTURwt7XvDfiuY7VtiY7BrxnujefgF1Rb0RXKrCHakkbGoAHafrgf8Fx9yxaWJdpuiJ\/cI\/1FaN01RZaq1VdPFXfaSwva0dE8ZJBwOSx6YvttgsVNT1FZFFLHxAtccftEj3KzDLBpzM29pvaLqS0695UIsUFTBVM46eeOZn70bw4e5ZVUbE75ojdZRCO8UM+MmeGSD3Ef1rq6Nk6TTVOCc8Dnt\/1E\/NaeuGlsNvqOqOoxvy33\/pWhp2\/w2nT74nDpar6Q5scAdgnIG57BnK0WcqaseXjjS2uTlkrexZVdXT0NO6oqpWxRN5ud+d1JyyV2sqpsULZKa0sdlzzzkI+fdyHNbNNp+uu9Y2uv0uWN3jpRsAO\/HL496p2MZGwMjaGNaMBrRgBV3UNM2aXGdftZR6c349EY6SlhoqWOmp2BkUYw1oWZEVZrSSVkT+pLfVmWmultYHVNM70mBuS9vzxv4ErdtN9o7szhY8R1A9eBx9JvnjK6a5Fz01Q3KQ1A46ep\/xoiQfLl2qaaaszPKE4Sc6fPVex10Uv\/wATWTGOG60zefPpCO3rOfPqWek1lb5JDFWxy0Mo6pWnB8Ry8QmB8szq2mF7T4X3++hQosFPW0tWM01TFMMZ9B4d8FnUC9NPNErqS1zUU7r1bGBrgxwqWNHrtPM49mc+B71s6IIOnW4PKV2Vm1LeYrfbZIY3tfVzjo44xud9icd3xXAp6K56Sgp7k0mWCVo+lwY9TP4cs9vtV6vKFmebJxpbRijmrZ91\/wAzLpFhpKqKtpY6mB3FHK3iaVmVB6SaaugpG\/QPsd4F3haTS1YMVUwdWeZ+ftHeq5YqmmirKaSnnYHxyN4XAqUZYWVVqW8jZarQndCztdbKilD2uME5wR1tI2PmCqdfn9t6bSmqPotS79Xn9Dj6nNJ9F3gefiv0BTqriv1KdjnengescgiIqjYTGqonUNfb73E37iTgmIGTwnl\/UPEKlY9skbZGODmuALSOsLm6kZ0mna0cIdiLOD3b\/JetOlztP0Rdz6IdWFN5wTM0OGvKK5q\/odJeXvbHG57zhrQST2Belo3p5jsla5vPoHgeRUUrsvk8MWzj6QjfUvr7vKMPqpiG4OcAb\/PHgqZcXSMbY9NUuObuJxPaeIrtKU3xMq2ZWpR78\/rmQk1mportU2WocWNqT01HKTsx3Z355H+UKi0rc33Syskl+8id0TnZ9YgA55d6wavpOK2tuEcnRzUTw9rgQDgkDGfJY9CxGOwOcSD0k7nDu2A+Ssk8ULmSlF0tpwLSz+nL6O5SL84ooHUmtI6Mk8EdWS0H3Hywv0dRt0pW0+vqGYAAVBa4nv8AV+Q81Gk9UWbZC+CXRoskRc+93aKzW59U8cT\/AFY2fvO\/O6rSu7I2SkoxcnojFf71FaKMhp4qqUFsEYGST1HHYsOmrVLRUrqqtLnV1UeKUu3I7AsFhs0kkwvVzd01XMA6NrhtE08tuo48lRKbaSwoz04yqS3s\/kvXxCIirNQREQBTGk\/Qut7hd6zanPt3cqdTGnCf0lvgzt0o+LlOPZZmq\/FpvvfkU64V7vNQyqFotbC+ulbniyMRDt\/PaF3VM2fI1ndg\/HFw5b2gZH+3uSCWb6Ha8nwxTtd2PVLo+nfIam7TPrqh3rZcQ3PhuV1WWO0xsDBbaUgDA4oWk+ZGVvouOcnzJRoU46ROfNZLY+F7W22kDi0gEQNBBx7FPaRtNtuVkc+qpI5ZGSuYXHIOMA8x7VYqY0JhtpqYuZZUu3\/6W\/gpqTwspqU4b6CstH6Hat1po7SyRlHGY2yHJBcTv4rdRFW23qa4xUVZLI4GtIhJpuVxH3b2OHnj5qP09VT258twjoW1MUDm9K484wc7jsPPfkr3UUXTafrm9kJd5b\/JTX9n28te07gtZkdvNXwdqbPL2im5bXCztde5WW650l1punpJeNvJwIwWnsIW2pW8WeazT\/XNkHRln39O0ei5vXgdnaPEYwu9a7lBdqFlXBkNdsWnm09YKqlFWutDbTqtywT7Xn4G4iIoGgIiIAtert9HXN4aqmjmH8bckeK2ETQ40mrM4E2i7RI4uhE1MT\/hSH55Wv8AoNS\/\/YVn+YfgqdFPeS6lD2Wi\/wBpx7fpe126oZURRPfKz1XyPzjw5LqyxRzROilYHseMOa4ZBC9oott5stjThBWirIjyKrRlbxN457RO7cczEfx+KrKeoiqoGTwSCSN4y1zeRSaGKohfDMwPjeMOa4bEKSZLNoy4uhka+W1VD8scNzGfx+IGe5WdvxM36d\/8P7fwWKLHDNFUQsmheHxvGWuadiFkVRs1ORqOyMvVvLGgCojPFE8+8ew\/HCzWB1YbLTivYWzsBY7iO5AJAz34XRRSxO1ipUoqpvFqERFEtCIiALxNEyeF8Mg4mSNLXDtB2K9ogJKwXRlie+x3WQQujeTFIdmYO+56u3PeqKe6W+mjMk1bA1oGfXB93WvVbb6S4xiOrgZM1pyA7qK5bNG2Vr+I073j910hx7lY3GTuzJGFamsELNcrnMfJPrG4tijD4rTA7Ln8jKR+duxZ7ADaNRV1nLS2GT7WDifnbu8PgqWGGKnhbDDG2ONow1rRgBTmpwKO82m5gYLZDE93Vjq+LlJSxcK0K50nSSqt3knn4aW8CnUnrcOp5rZcG79BLuO\/Yj4FVi4WsaX6Tp2YgZdC5sg8Nj7iVCm7SRdtUXKjK3j9MzuNcHNDhuCMhT+p6CqklpbhSwmpNKcupyMh+4wcdZ5rd03WNrbDSyB3E5jBG\/uLdl1FxNxkTaVan4k9Q6ztlThlTx0coyHNkGQCOrI+eF2aaupKwZpqiOXHMNcCR7R1LzVW2hriDVUkUxHIvYCR4rk1ei7VP6VOJKSQHiDo3Z39h+SlwPuK\/wDIj0l9n7FAil302o7G0vppzdYQPUePSaB45PXy7vYulatR0F1Jja4w1DfWhl2cN8eK44O11mTjXTeGSs+\/0OsiIoF4UxYB0eqr3G71nPDht1ZP4hU651NZ46a81VzbK5z6loaWEbNxj8ApRaSaKKkHKUGuT9DoqX1BDNaLxDqCmj4o8BlU0c3Dlnyx5BVC+EAjBGQUjKzJVae8jbR8jBRVtPcKVlTTSB8bxsezuPethTc+lH0s7qqx1r6KU7lhOWO57Hu5dRWMVmr6YcMlBT1PY4ED4EKWFPRlSrTjlUi\/lmioUzo0Br7ozIJFTv70H6Y1mDmkoATy2ccf6l40qH098vNLI7id0gfnxdn4hdUbReZW6mOrB2a118CpREVRuPE0TJ4XwyDLJGlrh3HZR2hYX09fcoJBh8fCxw7wXBWi+AAchhSUrJrqUzoqVSM+lwQCMEZBUjVxP0leG1tOD9WVT8TRgbRnu95Hkq9YK2kir6OWlnbmOVvCe7sPgd0jK2ugrUsautVoZWPbJG2Rjg5rgC0jrC9Kd0fWSuo5rbUgiehfwHP7u+PLB9yokksLsSpVFUgpBERRLAiIgCIiAIiIAsc0MVRC+GZgfG8Yc1w2IWREGpJcFVpCsLmcc1nkOSDuYiSB+e33qnpauCtp2z00okjcMhw\/Oy9yxRzRujljbIxww5rhkHwXCZY6y1XBklmkjZSyvHTwyEkAZzke8eSsupa6mVRlRfDnHpzXh3FAiIqzUEREAREQBERAEREAU5rmMOsLZOTo5muB8x81Rqf1sM6ecO2VnxU6faRn2r4MvA7lPIZaaKQ83sDj4hfZomTwvhkGWSNLXDuOyx0X9xp\/\/wAm\/BZ1HmXLOOZxNM2mrs0NTTTvY+Iy8URaSTjlv2cgu2iI3d3ZynBU4qK0QREXCYXLuenqC6PbLIx0U7fVmiOHDr9hXURdTa0IzhGatJXJaOqvuni2OuY640mzWSRNy8cvxPPnjmFUA5Ge1fUXZO5CnTcMr3QREUS0IiIAiIgCmLZ+r66ucLv\/AJYg8H\/KfmVTqcu9NUU2qrbcaeJ72ynoZixpOBnGT4H3KcOaM20K2GXRr2KNERQNIREQBERAStdm063paoEiG4N6OTkATy+PCVVKb1vC76qhq49pKadrgc8gf98Kgp5m1NNFOz1ZWB7fYRlWSzimZaXDUnD5\/X+TIiIqzUEREAREQBERAEREAREQBERAEREARF5fxdG7g9bBx7UAa5rs8LgeE4ODyK9Kc0S3NpnmdjpJahxcQ7IJ28FRqUlZ2K6U95BS6hERRLApfWbhV\/V9qYCZaioDtuobj+r3Ls3W70lpp+kqH5eR9nEPWeewBcqw22rqrnJf7mzo5pBiGEj7sYxnu228SrIK3EzJXeP+zHV69yKMAAYAwAvqIqzWEREAREQBERAEREAREQBERAEREAREQBERAEREAREQHPvtL9MsdZABxF0RLR3jce8LW0pU\/SdOUpyOKMGM46sHb3YXZUvpT9Sul1tRJAjl6SNvdyz5cKsWcGjNPhrxl1TXqVCIirNIREQBERAEREAREQBERAEREAREQBERATVdYrhRVslxsVRh8hJkp5Hei7bqzt5r5+kF9p2gVGn5JXb5MJdj4FEVsZYsmjFVp7vig2vL7nwapupOP0Yq9+93\/gvgqtWXLaGlit0Z\/ak3d79\/ciLsrR0RCljqu0pv7L0Nm26Uhp6g1dwndX1JwcyD0Wnx5\/nZd9EVTk3qbKdOFNWigiIuFgREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFxhaJ49Vm6xyMEEsPBK0+sTsPLYeSIuptEJwU7X5Zn\/9k=",
    "razonSocial": "LEONPRODAL S.A.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JULIO RAMOS",
    "correoContacto": "jramos@leonprodal.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE SUENA EL RODILLO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56995415792",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:15",
    "ubicacionGPS": "LatLng(lat: -23.5391088, lng: -70.3902991)",
    "horaLlegada": "12:19",
    "horaDespacho": "15:07",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


08/05/2026 16:15:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76053835

[08/05/2026 16:15: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('76053835', 'KY2380', 1, 24456550, 390996, NOW(), 
				'15:07', '12:19', '16:15', 3, '•Se hace limpieza general
•Mantención a gomas de alimentación
•Limpieza rodillo de transferencia
•Limpieza unidad de imagen y fusor', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778271321.png', '', null, 'COMPLETADO','LatLng(lat: -23.5391088, lng: -70.3902991)' )
				
[08/05/2026 16:15:21] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200258

08/05/2026 16:15:21 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200258'                    
				WHERE idllamado = 12454			
				TO ENVIO: micorreo@miempresa.cl, jramos@leonprodal.cl


08/05/2026 16:15:21 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12454			
				
08/05/2026 16:15:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


08/05/2026 16: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 = 12454
                
08/05/2026 16:15:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:15:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:15:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:15:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:15:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:15:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:15:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:15:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:15:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            [08/05/2026 16:15: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;
                

08/05/2026 16:15:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:15:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:15:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            [08/05/2026 16:15: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;
                

08/05/2026 16:15:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:15:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16:15:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16:15:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:15:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16:15:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16: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 = 12454
                [08/05/2026 16:15: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;
                
[08/05/2026 16:15: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;
                
[08/05/2026 16:15: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;
                

08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16:15:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16: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 = 12454
                [08/05/2026 16:15: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;
                

08/05/2026 16:15:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12454
            GROUP BY l.idllamado;
            
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                
08/05/2026 16: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 = 12454
                [09/05/2026 04:01: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[09/05/2026 04:01:48] 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;
                
[09/05/2026 04:01:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/05/2026 04:02:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [09/05/2026 04:02:01] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[09/05/2026 04:02: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;
                

09/05/2026 04:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
09/05/2026 04:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
09/05/2026 04: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 = 12457
                
09/05/2026 04: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 = 12457
                
09/05/2026 04:02:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
09/05/2026 04:02:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [09/05/2026 04:02:20] 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;
                

09/05/2026 04:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
09/05/2026 04:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12457
                
09/05/2026 04: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 = 12457
                
09/05/2026 04: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 = 12457
                [11/05/2026 08:32: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;
				
[11/05/2026 08:32: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;
                
[11/05/2026 08:32: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/05/2026 08:32:50] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 08:32:50] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[11/05/2026 08:32: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/05/2026 08:52:13] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 08:52:13] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[11/05/2026 08:54:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 08:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            [11/05/2026 08:54: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/05/2026 08:55:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 08:55:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            [11/05/2026 08:55:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 08:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 08:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            [11/05/2026 08:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 08:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            [11/05/2026 08:55:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 09:02: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/05/2026 09:02: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/05/2026 09:02: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/05/2026 09:02:43] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 09:02:45] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[11/05/2026 09:02:58] 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/05/2026 09:02: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 09:03: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;
				
[11/05/2026 09:03: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;
                
[11/05/2026 09:03:12] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 7373114 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '7373114'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[11/05/2026 09:27:59] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 09:27:59] 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/05/2026 09:28:02] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 09:29:05] 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/05/2026 09:29:05] 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/05/2026 09:29:12] 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/05/2026 09:29:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [11/05/2026 09:29: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;
                

11/05/2026 09:29:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [11/05/2026 09:29:17] 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/05/2026 09:29:19] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 09:36: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/05/2026 09:36: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;
				
[11/05/2026 09:36: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;
                
[11/05/2026 09:49:49] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 09:49:49] 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/05/2026 09:49:49] 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/05/2026 09:49:49] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 09:49: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/05/2026 09:49:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12522
            GROUP BY l.idllamado;
            [11/05/2026 09:49:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 09:49: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/05/2026 09:49:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12522
            GROUP BY l.idllamado;
            
11/05/2026 09:49:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12522
            GROUP BY l.idllamado;
            
11/05/2026 09:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12522
            GROUP BY l.idllamado;
            
11/05/2026 09:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12522
            GROUP BY l.idllamado;
            
11/05/2026 09:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12522
            GROUP BY l.idllamado;
            
11/05/2026 09:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12522
            GROUP BY l.idllamado;
            
11/05/2026 09:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12522
            GROUP BY l.idllamado;
            
11/05/2026 09:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:50:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12522
            GROUP BY l.idllamado;
            
11/05/2026 09:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 09:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                [11/05/2026 09:59: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 09:59:04] 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/05/2026 09:59:07] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 09:59:12] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 09:59:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12520
            GROUP BY l.idllamado;
            [11/05/2026 09:59:14] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[11/05/2026 09:59:14] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 09:59: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/05/2026 09:59: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/05/2026 09:59: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;
                
[11/05/2026 09:59: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;
				
[11/05/2026 10:00:47] 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/05/2026 10:00:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12520
            GROUP BY l.idllamado;
            [11/05/2026 10:00: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;
                

11/05/2026 10:00:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12520
            GROUP BY l.idllamado;
            
11/05/2026 10:00:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12520
            GROUP BY l.idllamado;
            
11/05/2026 10:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12520
            GROUP BY l.idllamado;
            
11/05/2026 10:01:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12520
            GROUP BY l.idllamado;
            
11/05/2026 10:01:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12520
            GROUP BY l.idllamado;
            
11/05/2026 10:01:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12520
            GROUP BY l.idllamado;
            
11/05/2026 10:01:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12520
            GROUP BY l.idllamado;
            
11/05/2026 10:01:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12520
            GROUP BY l.idllamado;
            
11/05/2026 10:01:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:01:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                [11/05/2026 10:02: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/05/2026 10:02: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;
                

11/05/2026 10:02:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12523
            GROUP BY l.idllamado;
            
11/05/2026 10:03:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 10:03:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 10:03:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12522
            GROUP BY l.idllamado;
            
11/05/2026 10:03:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 10:03:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12522
            GROUP BY l.idllamado;
            
11/05/2026 10:03:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 10:03:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 10:03:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                [11/05/2026 10:03: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 10:03:39] 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/05/2026 10:03:41] 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/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12522
            GROUP BY l.idllamado;
            
11/05/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 = 12522
                
11/05/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 = 12522
                
11/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12522
            GROUP BY l.idllamado;
            
11/05/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 = 12522
                
11/05/2026 10: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 = 12522
                
11/05/2026 10:03:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12522
            GROUP BY l.idllamado;
            
11/05/2026 10: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 = 12522
                
11/05/2026 10: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 = 12522
                
11/05/2026 10:03:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12522
            GROUP BY l.idllamado;
            
11/05/2026 10: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 = 12522
                
11/05/2026 10: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 = 12522
                
11/05/2026 10:03:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12522
            GROUP BY l.idllamado;
            
11/05/2026 10: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 = 12522
                
11/05/2026 10: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 = 12522
                
11/05/2026 10: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 = 12522
                
11/05/2026 10: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 = 12522
                
11/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            [11/05/2026 10:03:58] 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/05/2026 10:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                [11/05/2026 10:04:12] 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/05/2026 10:04:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12457
            GROUP BY l.idllamado;
            
11/05/2026 10:04:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 10:04:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12522
            GROUP BY l.idllamado;
            
11/05/2026 10:04:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 10:04:13 - logentry: =========================================
FECHA: 11/05/2026 10:04:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-g8orewcNygTuopfvFeIw1jCZcmCbwyGFs6PpT-PQ7-oPwJ0+JYG
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78876040",
    "serieinterna": "KY2716",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "57949",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se actualiza controlador de impresión",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12522",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACxAZQDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABIEAABAwMBAwcJBAcHAwUAAAAAAQIDBAURBhIhMRNBUWGRobEUFRYiM3GBwdEyQnKiJENSVZLS4SM0U2Ky4vBEc\/EmNWOCg\/\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADIRAAIBAgMGBAUEAwEAAAAAAAABAgMREiExExQyQVFhBJGh0SIzcYGxI1Lh8CRiwUL\/2gAMAwEAAhEDEQA\/AP2YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqr3fqezRNaqctUyezgau9etehCUm3ZFZzjCOKTyLNzmsarnuRrU4qq4RCnrNWWeiVzVqeWe37sKbXfw7ytjsd11A9Km91D6eDOW0se7d19Hepe0VjtlvTFNRxtX9pybTu1d5e0Vrmc6nWqcCsu+vkU3pZXVSL5usdRKnM9+cJ2J8z75ZrGf7NvpYE6XOTP+r5GnAxLkidjN8U39rIzHk2s3bvLqNmfvbKbvyjzXq12916gRehrd3+k04Ixvohuy5yfmzMeZtTtwrL6xV4es1foo8g1iz7N2pXonM5qZX8nzNOBjfQbtHk35sy6s1nGmeVpJerCfRAly1dB7a0QSp0scmV7HL4GoBOPshu7Wk35mXTWjadUbcrVV0rl6s+OCyptUWaqwjK1jHKuNmRFb47i1c1HNVrkRUVMKi85XVWn7TWZ5agiyvFzE2F7UF4PkMNeOkk\/qrfgsGua9qOY5HNXgqLlFPRl3aTqaCTlbJdJadcqvJy72r\/zrRTzHqW52qXkb9b3IzO6ohTKY8F7UXqGC\/C7kbw4\/NjbvqjVAjUVwpLjDytHOyZicdninvTihJM9DpTTV0AACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZbTMLLtcKu+Tqkj0lWOHj6iYznC9Sonaaky2mXrb75c7RLlFWRZYlX7yf+FRe00jwuxy1rbSF9M\/PkakAGZ1AAAAAAAAAAAAAAAA8vYyRise1HNXijkyinoAGcr9KtZUeX2aXyOpau1sN3Mfw9XdwTd3nWw6hfXzPt9fAtPXxJ6zcYR\/X1f8wXxl9aQMp46S7RNRKiCZG54bSb1TsVO9TWLxfCzjqw2P6lPJc1yf8AJqAeWuR7EcnBUyejI7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ3VNBUIkN4oc+UUa7Tmom5zev3eCqaIFouzuZ1KaqRcWQbTdae70Tamndv4PYq72L0KTjKXO21lirn3ezMRYVTNRTpwx0onRxXq9xfWq6013o21FO7qexeLF6FJlHmtDOlVbeznxL17omgAodAAAAAAAAAAAAAAAAMtqiTznc6CyQI57uVSWbZ3bDenPuVV7CyveoILU1II28vWybooG71yvDOP8AinDTNmmoo5K6vy6vqVy9zlyrW7ty9efl0GkVhWJnJWltXso\/ft\/LL4AGZ1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAor\/qens7eSiRs9Uv6vO5vW76EqLk7IpUqRpxxSeRa1ldS2+BZ6uZsUac7uf3JxUrbRqamvNdLTU8L28m1XI56om0mccPihkKe2XnVVZ5TM5yRr+ukRUY1OhqfJDcWey0tlplip0VznLl8juLl+nUaSjGKs9TkpVq1ad4q0PyWIAMjuAAAAAAAAAAAABmrnpyeCrW52ORYanOXQZwyTp6vgu73GlBaMnHQzqUo1FaRRWfU0dbN5DXR+S17V2XRqmGuXq+niXpW3ew0N5jRKhitkT7MrMI5PqhRtuF60wrI7m3yy3phqTM+03duT\/wA9pbCpcJhtJ0cqma6+\/ua4EWguVJc6dJ6SZJG86c7V6FTmJRm1Y6k1JXQAAJAB4kljhYr5ZGsanFzlwgB7BQVmsbZA9IqblK2Z25rYW7s+\/wCmSIk2qb0reSjba6Zyb3O3vXt3+BdQfPI534mF7R+J9v7Yvq67UFtaq1dVHGqJnYzly+5OJQS6gut6kWCwUrmRcHVMqYx7uZO9eomUOj7dTuWWrV9dM7er5uGfd9cl6xjI2IyNqMa1MI1qYRCbxjpmVw1qnE8K7a+ZUWfTkFtkWqqJFq612900m9UXqz48S5AKNtu7N4QjBWigACC4AAAAAAAAAAAAAAAAAAAAAAAABzmmip41knlZExOLnuRET4qUNZrCmbOlNbaeS4TquMR7m9uN\/wDzeWUW9DOpVhT4maIrbjf7Za8tqalvKJ+rZ6zuxOHxKdbdqS9o5LhVtt1O79TEiKq9i+K\/Asrbpa1W1ySMh5aVOD5V2lT3JwQthitWY7SrPgjZdX7Gcr9W3W41DKS2U76flcbG7Mj06ehE\/wCZLi06Qo6Vrai4J5XVqu05XuVWo73c\/wASdbbGyiuNVcJZUnqKh2UcrETYToTu7C1JlNLKJSl4eTeOtm+XY+IiImETCIfQDI7QAAAAAAAAAAAAAAAAAAfHNRzVa5EVFTCovOfQAZuv0tyVUtwsk3kdU3KoxETYXdwRObPYfKTVEtJOlHf6daSbeiTI1dh3D39qbixr9SWq35bNVse9M+pF67kXrxw+JQ1l1uWpKZ1PQ2Tagei\/2s\/DjxRdyIvxU2inJfEsjzqjhTl+k8+izT+3I18c0UsSSxyMfG5Mo9rkVFT3lTX6qtFAiotUk8iJuZD62fjwTtM4uhrolE5qVkKOVdrkEc7YX49Pw+J0s9bR2KeOju1nSln4JUqm0juvfzdaKqe4KEeTuH4mrkpRw35vP+\/cnuvOoLsmzaratLEq7p58cOlM7uzJ6i0jLVvSW93Karei5SNjlRidvywaOCohqYmywSNkY5Mo5q5OhXG1orG68PGWc3i\/HkRKK1UFuajaSljix95Ey7tXeSwCjd9TpUVFWSAAIJAAAAAAAAAAAAAAAAAAAAAABCrrvQW1F8rqo43YzsZy5fhxJSb0IlJRV2yafFVETKrhEMw7VNdcV2LHapZkXKcrMmGovbjtU+N05d7ph96ur0Yqb4IMImOjo7lL4LcTsc28Yvlxb9F5ljX6ptFBlHVKTPRM7EKba9vDvK516v8Ad24tNu8miVccvOqZx04X+pbUGnbVbsLDSMc\/d68nru9+\/h8CzF4rRDZ1p8crLt7mYi0g+rfyt6uM1W\/OUYx2Gp2\/LBf0lvo6BmxSU0cKYwuw3Cr714qSAVcm9TWFGnDOKz9QACpqAAAAAAAAAAAAAAAACHWXa30CfpVZFEv7Kuy7sTeSlfQhyUVdsmAzc2taR0vJW6jqK6Tm2G4Rfn3HPyjV1y3RU8NujX7z8K7HxyvcnAts3zyOd+JpvKN5fT+2NM97I2K+RyMa1Mq5y4RCorNWWajRf0pJ3J92FNrPx4d5Bj0c6pVH3e51FW5N+yjsNRfeufkW9FYrXb0\/RqONrv23JtO7V3k2gu5GKvPRKP1zfp7lMmpLzcd1qszkaq7pZ+HHHUnep8XTt7uTs3a8K1n+FBwXf0bk+OFNUBjtwqw3fF8yTfovQqbfpm1W1EWOmSSRFykk3rOz4J8C2AKNt6m8IRgrRVgcqimgq4VhqYWSxrxa9ModQQWaTyZmZtL1FvlWpsFY6B2crTyOVWO4bs\/BOPaeKfVk9DMlLf6J9NJzTMblq9ePmmTUnOaCGpjWOeJkjF4temUNMd+LM5nQcXek7duXl7HmmrKatiSSmnZKxedjsnYzlTo+BlQtVaqqWgmRNyMXLc+OO7qOHnXUNjjTzpSJWU7c5nh3qidfdvVEGBPhY28ofNjbus17mqBAt17t90b+i1DVf\/hu3OTjzfAnlGmtTojKMleLuAAQWAAAAAAAAAAAAAKm4amtVu2myVCSSNXCxxes76J8VKzztqG8uVlsoUooHJunqEVFx0p\/RFLqDeZhLxEIvCs30WZo6iqp6SPlKmeOFn7UjkaneUM+soHyrDa6KevkReLW4b7+de4+U2j45Xtnu9ZPXTJxRXrs+7p8C\/p6WnpI+TpoI4WfsxtRqdxPwLuU\/Xn\/AKrzfsZ3yXVN3\/vNTFbIVyisi3ux2\/NCVQaPtdGqPljWrl53Tb0Vfw8O3JfAhzeiyLR8NC95ZvvmeWMZGxGRtRjWphGtTCIegCh0AAAAAAAAAAA8veyNu09yNTpVcAHoFdUagtFL7W4Qe5jttexMlbLri1MXZhZUTu5tiPHipZQk9EYyr0o6yRowZf0jvlW39BsEjUVPVfMq4Xw8T75Lq6v3zVdPQMXiyNMqnZnxLYHzZTeYvgi39vexpnORqZcqInSpW1WorRSJ\/a18Sr0Rrtr3ZKxujG1C7dzulVVv\/FhE7cljS6Zs1IuY6GNzumTL\/Ei0FzGKvLSKX1d\/x7lfJrWmkesdvoaqsk5ka3CL4r3Hha\/Vldup7bFRMX78q707foaaONkTEZGxrGpwRqYRD0TiitENlUlxT8sjL+jd6rXZuV9fsr9qODKIqdydPMS6TR1nplR0kT6l+cq6Z2e5MIXoIdSRK8NSTu1d98\/yc4YIadiMgiZExODWNRqdx0AKHQlYAAAAAAAAAAAAAAAAAAo7lpO218nLRtWknznbh3ZXrTh8UwQFl1NYG5lal1pkTe5qrtt4cefmXfvNWC6m9Hmc8vDxvih8L7exUWrU1tu2yyOXkp1\/VS7lVermX4FuVVz03bbojnSQJHM7fysaYdnfvXp4lS5uodO5VjvOlE37rs7bU38\/HgidKdROGMuErtKlP5iuuq\/6jVgqbRqO33j1IXrHNjKxSJhfhzKWxRprJm8Jxmrxd0AAQXBznnhpollnlZFG3i564RDLan1RX2ytdQ00DIvURyTP9ZVRedE4ccpvzwKCCts08jZ7xLcq6bnaqNRvu+1nwNo0m1dnBU8bCMnCOq65I09TrCOV7oLRRz10ycFRi7Pv6fA5LZ9QXpzX3StbRwLvWCBd\/wAf6qpzpNY2GhhSGloamFiczY2Jn3+tvO\/p3b3eyo6x+OPqN3d5OGS4UZ7SlP5tS\/ZZL3LK3aatVtRFipklkRc8pMiOd8OZPgWpmPTJ7\/Y2Wsk503c3TuRR6VXN\/stNVaovBy7X8pRwm9TeFfw8FaPon7GnBmFvepJfY2DY\/wC45f6DyjWcn\/RUceetN35lIwPqX3mPKLf2ZpwZjk9ZPT21JGqdSb+5R5q1XJ7W9wtzx2G\/7UGDuht3yg\/79zTgy\/ovdpV\/t9R1Kt6G7W\/8x99CYpv73dKyf\/7InjnqJwx6ja1npT9UX8twooPbVkEf45Wp4qRZNQ2eNFV1xp1x+y\/a8CFFoqyR\/ahkl\/HKvywSY9L2SNUVtvjXH7Sq7xUfB3F\/EPkl92cZtY2SJFxVOlVOZkbvmiIRF1vTyrs0Vuq6h3RsonhkvIbVbqdUWGgp2KnO2Jue0lIiImETCILwXIYK71kl9F7szC6gv9QqeS6fexF3os2d6dw\/9Z1Lv+kpEx1L\/MagDGuSGwk+Kb\/Bl\/R6\/VGFqtQyMzxSJFRMfBUPTdD0T12qutq6h\/OquRN\/YppgRtJDdaXNX+rbKiDS1kg+zQscvTIqu8VLKClp6ZuzTwRxJ0RsRvgdQVcm9WbRpwjwpIAAguAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU1501R3RFmY1KerTe2ZiYyv+bp9\/EiWm811LX+aL21EnVE5GZOEnNvXn3mkKbVNujr7NK9UXlaZqyxubxRUTKp8UNIyv8ACzlq08F6lPJ\/kuQV1grXXGyU1S9cvc1UdvzvRVTf2Ao1Z2OiMlKKkuZYgAgsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfFVETKrhEI8txoYFVJq2njVP25Wp8xYhtLUkgrJNR2aNMuuMC\/hdteBHfrCxsXCViu\/DE76FsEuhm69JayXmXYM47XNnauE8od1pH\/U5+nludujpKx69Gw3+YnZz6Ge9UP3I04Mx6abfsLPWSZ4buPYij0suDvZacrH44\/a3flGzkN7o9fRmnBmPSK\/P9npyVueG0q7u5B581J+4O9Rs2N6p9\/JmnBmPOuq\/wByQ\/xf7h5drKTclrpGIvBVcm78\/wAhgfVDeY\/tfkzTgzHKazf+po48dab+9RyOs13+VUbc82E3flJwd0N4\/wBJeRpwZjyHWa7\/ADrRtzzbKbvyH1tu1c5zVkvFMmF4NYn8qEYF1Q27\/Y\/T3NMACh0gAAAAAA4VqtShqFeiK3knbSLzpg7lVqWoSm09WOVyIr41jTr2t3zJiruxSpLDBtkTRWfR1nHHKOxn5fHIJum6dabT1FGqYVY9vH4l2vmCZu8mUoLDSin0RZgAqbAAAAAAAAAAAAAAAAAAAAAAA8uc1jFe9yNa1MqqrhEQA9AztZq6FZvJbTTvuFQvDYRdlOvPP4dZx83anu2+tr2UETsLycH2k6t31UvgfPI5n4iLdoLE+2nnoaKorKWkbtVNRFCnTI9G+JU1OsLLTrhKl0zkXhExV7+BwptEWuJUdUOmqX86vfhFX3J9S3prRbqTHIUMDFT7yMTPbxJ+BdxfxEuSXr7FJ6Xz1X\/t1kqqhM7nKmE7kXxHlmr6vdHQU1K1fvPVFVO9fA04IxLkhsZvim\/tZGY82asm3zXmCPPNG3h+VB6L3WT2+pKlU\/Zajt\/5jTgnaPkN1g9W392ZhND0si7VVX1c65yvrImV+KKSItFWSP7UMkv45V+WC\/BG0l1JXhaK\/wDKKqPTNljXLbfEv4su8VJEdntkSYZb6VP\/AMW\/QmgrifU0VKmtIryOTaaBiYbBG1OpiIdQCC9rAAAkAAAAAAAAAAAAAAAAAAAHKoqYKSFZqmZkUacXPXCAhtLNnUyNzkXU9+jtUCotHSO5SeRHbncEVE7VTtPVTea7Ucr6Gyxvjpl9WWrcmMJ8vEv7Vaqa0Ubaenb1vevF69KmqWDN6nJJ7w8MeHm+vZExrUa1GtREREwiJzA+gyOwAAAAAAAAAAAAAAAAAAAAAAAAFLqi11l1tzIaOXZc1+XMV2EemF+eO\/qLoEp2d0UqQVSLi+Zj6KpvtjgSL0diWNMZWm3udzZVUVyqpJTXFLE5G1dBVwOXm2UXxVDTnxzUcmHIip0KXxp6owVCpBWhPLul\/BRxayscn2qp0a5+\/E7f2IpNiv1omXDLjT5\/zSI3xOs1qt0\/taCnf0KsTcoQ5dK2SVMLQMb1sc5vgo+DuT\/kLo\/Ne5ZR1ME3sp45PwvRTqZyTQ1nf9nyiP8ADJ9UU5Lolke6mutXEicEznHZgWh1G0rrWHr\/AAagGY9GrzDvp9Rzu6EkR2E\/Mp8S26uh9leKeRE5nt3r2tUYVyY201rTfo\/+moBmNrWcf3KOXm5k+PMPOmrIva2WB\/8A23f7lGDuhvK5xfkacGY8\/wCoGfb0892eGyq\/RR6UXdu52mapV6Wq7H+gjZyG9U+d\/J+xpwZj0uqm+00\/WNx9rju\/KPTRE3utFYic644DZyG90evozTgzHpzS\/u+s\/hT6j05pf3fWfwp9SdnLoN7o\/uNODMenNL+76z+FPqPTml\/d9Z\/Cn1Gzl0G90f3GnBmPTJ7tzLLWOdzJj+g9L6r9wVnf\/KNnIb3R6+jNODMel9V+4Kzv\/lHpRdl3JpirRV4ZV38hGzkN6pdfR+xpwZf0hv7sIzTsiL\/mVceB9866rk9lZIW54bbv9yE7Njeock\/JmnBl9rWc6ImxSU\/XuX6hLJqao3VV+SJP\/hRfkjRgXNobdvhg\/wAfk00kjImK+R7WNTirlwiFVV6ps1GqtdWNkcmfViRX96bu8gM0RSPdt1tbVVT+lXY+q95a0tgtVGqOhoYtpFyjnN2lRfevAWgu4xeIlokvrmU7tQXm6P2LNbHRxKi\/29Q3HZzeJ6pNIuqJkqr5VvrJv8NHLsp1Z+mDTIiImETCIfRjtw5Dd1J3qPF+PI5wQQ00SRQRMijbwaxMIh0AMzpSsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf\/2Q==",
    "razonSocial": "TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "EMERSON ORDOÑEZ",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INDICA ERROR",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:04",
    "ubicacionGPS": "LatLng(lat: -23.758283, lng: -70.2908808)",
    "horaLlegada": "09:41",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 11/05/2026 10:04:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-g8orewcNygTuopfvFeIw1jCZcmCbwyGFs6PpT-PQ7-oPwJ0+JYG
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78876040",
    "serieinterna": "KY2716",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "57949",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se actualiza controlador de impresión",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12522",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACxAZQDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABIEAABAwMBAwcJBAcHAwUAAAAAAQIDBAURBhIhMRNBUWGRobEUFRYiM3GBwdEyQnKiJENSVZLS4SM0U2Ky4vBEc\/EmNWOCg\/\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADIRAAIBAgMGBAUEAwEAAAAAAAABAgMREiExExQyQVFhBJGh0SIzcYGxI1Lh8CRiwUL\/2gAMAwEAAhEDEQA\/AP2YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqr3fqezRNaqctUyezgau9etehCUm3ZFZzjCOKTyLNzmsarnuRrU4qq4RCnrNWWeiVzVqeWe37sKbXfw7ytjsd11A9Km91D6eDOW0se7d19Hepe0VjtlvTFNRxtX9pybTu1d5e0Vrmc6nWqcCsu+vkU3pZXVSL5usdRKnM9+cJ2J8z75ZrGf7NvpYE6XOTP+r5GnAxLkidjN8U39rIzHk2s3bvLqNmfvbKbvyjzXq12916gRehrd3+k04Ixvohuy5yfmzMeZtTtwrL6xV4es1foo8g1iz7N2pXonM5qZX8nzNOBjfQbtHk35sy6s1nGmeVpJerCfRAly1dB7a0QSp0scmV7HL4GoBOPshu7Wk35mXTWjadUbcrVV0rl6s+OCyptUWaqwjK1jHKuNmRFb47i1c1HNVrkRUVMKi85XVWn7TWZ5agiyvFzE2F7UF4PkMNeOkk\/qrfgsGua9qOY5HNXgqLlFPRl3aTqaCTlbJdJadcqvJy72r\/zrRTzHqW52qXkb9b3IzO6ohTKY8F7UXqGC\/C7kbw4\/NjbvqjVAjUVwpLjDytHOyZicdninvTihJM9DpTTV0AACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZbTMLLtcKu+Tqkj0lWOHj6iYznC9Sonaaky2mXrb75c7RLlFWRZYlX7yf+FRe00jwuxy1rbSF9M\/PkakAGZ1AAAAAAAAAAAAAAAA8vYyRise1HNXijkyinoAGcr9KtZUeX2aXyOpau1sN3Mfw9XdwTd3nWw6hfXzPt9fAtPXxJ6zcYR\/X1f8wXxl9aQMp46S7RNRKiCZG54bSb1TsVO9TWLxfCzjqw2P6lPJc1yf8AJqAeWuR7EcnBUyejI7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ3VNBUIkN4oc+UUa7Tmom5zev3eCqaIFouzuZ1KaqRcWQbTdae70Tamndv4PYq72L0KTjKXO21lirn3ezMRYVTNRTpwx0onRxXq9xfWq6013o21FO7qexeLF6FJlHmtDOlVbeznxL17omgAodAAAAAAAAAAAAAAAAMtqiTznc6CyQI57uVSWbZ3bDenPuVV7CyveoILU1II28vWybooG71yvDOP8AinDTNmmoo5K6vy6vqVy9zlyrW7ty9efl0GkVhWJnJWltXso\/ft\/LL4AGZ1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAor\/qens7eSiRs9Uv6vO5vW76EqLk7IpUqRpxxSeRa1ldS2+BZ6uZsUac7uf3JxUrbRqamvNdLTU8L28m1XI56om0mccPihkKe2XnVVZ5TM5yRr+ukRUY1OhqfJDcWey0tlplip0VznLl8juLl+nUaSjGKs9TkpVq1ad4q0PyWIAMjuAAAAAAAAAAAABmrnpyeCrW52ORYanOXQZwyTp6vgu73GlBaMnHQzqUo1FaRRWfU0dbN5DXR+S17V2XRqmGuXq+niXpW3ew0N5jRKhitkT7MrMI5PqhRtuF60wrI7m3yy3phqTM+03duT\/wA9pbCpcJhtJ0cqma6+\/ua4EWguVJc6dJ6SZJG86c7V6FTmJRm1Y6k1JXQAAJAB4kljhYr5ZGsanFzlwgB7BQVmsbZA9IqblK2Z25rYW7s+\/wCmSIk2qb0reSjba6Zyb3O3vXt3+BdQfPI534mF7R+J9v7Yvq67UFtaq1dVHGqJnYzly+5OJQS6gut6kWCwUrmRcHVMqYx7uZO9eomUOj7dTuWWrV9dM7er5uGfd9cl6xjI2IyNqMa1MI1qYRCbxjpmVw1qnE8K7a+ZUWfTkFtkWqqJFq612900m9UXqz48S5AKNtu7N4QjBWigACC4AAAAAAAAAAAAAAAAAAAAAAAABzmmip41knlZExOLnuRET4qUNZrCmbOlNbaeS4TquMR7m9uN\/wDzeWUW9DOpVhT4maIrbjf7Za8tqalvKJ+rZ6zuxOHxKdbdqS9o5LhVtt1O79TEiKq9i+K\/Asrbpa1W1ySMh5aVOD5V2lT3JwQthitWY7SrPgjZdX7Gcr9W3W41DKS2U76flcbG7Mj06ehE\/wCZLi06Qo6Vrai4J5XVqu05XuVWo73c\/wASdbbGyiuNVcJZUnqKh2UcrETYToTu7C1JlNLKJSl4eTeOtm+XY+IiImETCIfQDI7QAAAAAAAAAAAAAAAAAAfHNRzVa5EVFTCovOfQAZuv0tyVUtwsk3kdU3KoxETYXdwRObPYfKTVEtJOlHf6daSbeiTI1dh3D39qbixr9SWq35bNVse9M+pF67kXrxw+JQ1l1uWpKZ1PQ2Tagei\/2s\/DjxRdyIvxU2inJfEsjzqjhTl+k8+izT+3I18c0UsSSxyMfG5Mo9rkVFT3lTX6qtFAiotUk8iJuZD62fjwTtM4uhrolE5qVkKOVdrkEc7YX49Pw+J0s9bR2KeOju1nSln4JUqm0juvfzdaKqe4KEeTuH4mrkpRw35vP+\/cnuvOoLsmzaratLEq7p58cOlM7uzJ6i0jLVvSW93Karei5SNjlRidvywaOCohqYmywSNkY5Mo5q5OhXG1orG68PGWc3i\/HkRKK1UFuajaSljix95Ey7tXeSwCjd9TpUVFWSAAIJAAAAAAAAAAAAAAAAAAAAAABCrrvQW1F8rqo43YzsZy5fhxJSb0IlJRV2yafFVETKrhEMw7VNdcV2LHapZkXKcrMmGovbjtU+N05d7ph96ur0Yqb4IMImOjo7lL4LcTsc28Yvlxb9F5ljX6ptFBlHVKTPRM7EKba9vDvK516v8Ad24tNu8miVccvOqZx04X+pbUGnbVbsLDSMc\/d68nru9+\/h8CzF4rRDZ1p8crLt7mYi0g+rfyt6uM1W\/OUYx2Gp2\/LBf0lvo6BmxSU0cKYwuw3Cr714qSAVcm9TWFGnDOKz9QACpqAAAAAAAAAAAAAAAACHWXa30CfpVZFEv7Kuy7sTeSlfQhyUVdsmAzc2taR0vJW6jqK6Tm2G4Rfn3HPyjV1y3RU8NujX7z8K7HxyvcnAts3zyOd+JpvKN5fT+2NM97I2K+RyMa1Mq5y4RCorNWWajRf0pJ3J92FNrPx4d5Bj0c6pVH3e51FW5N+yjsNRfeufkW9FYrXb0\/RqONrv23JtO7V3k2gu5GKvPRKP1zfp7lMmpLzcd1qszkaq7pZ+HHHUnep8XTt7uTs3a8K1n+FBwXf0bk+OFNUBjtwqw3fF8yTfovQqbfpm1W1EWOmSSRFykk3rOz4J8C2AKNt6m8IRgrRVgcqimgq4VhqYWSxrxa9ModQQWaTyZmZtL1FvlWpsFY6B2crTyOVWO4bs\/BOPaeKfVk9DMlLf6J9NJzTMblq9ePmmTUnOaCGpjWOeJkjF4temUNMd+LM5nQcXek7duXl7HmmrKatiSSmnZKxedjsnYzlTo+BlQtVaqqWgmRNyMXLc+OO7qOHnXUNjjTzpSJWU7c5nh3qidfdvVEGBPhY28ofNjbus17mqBAt17t90b+i1DVf\/hu3OTjzfAnlGmtTojKMleLuAAQWAAAAAAAAAAAAAKm4amtVu2myVCSSNXCxxes76J8VKzztqG8uVlsoUooHJunqEVFx0p\/RFLqDeZhLxEIvCs30WZo6iqp6SPlKmeOFn7UjkaneUM+soHyrDa6KevkReLW4b7+de4+U2j45Xtnu9ZPXTJxRXrs+7p8C\/p6WnpI+TpoI4WfsxtRqdxPwLuU\/Xn\/AKrzfsZ3yXVN3\/vNTFbIVyisi3ux2\/NCVQaPtdGqPljWrl53Tb0Vfw8O3JfAhzeiyLR8NC95ZvvmeWMZGxGRtRjWphGtTCIegCh0AAAAAAAAAAA8veyNu09yNTpVcAHoFdUagtFL7W4Qe5jttexMlbLri1MXZhZUTu5tiPHipZQk9EYyr0o6yRowZf0jvlW39BsEjUVPVfMq4Xw8T75Lq6v3zVdPQMXiyNMqnZnxLYHzZTeYvgi39vexpnORqZcqInSpW1WorRSJ\/a18Sr0Rrtr3ZKxujG1C7dzulVVv\/FhE7cljS6Zs1IuY6GNzumTL\/Ei0FzGKvLSKX1d\/x7lfJrWmkesdvoaqsk5ka3CL4r3Hha\/Vldup7bFRMX78q707foaaONkTEZGxrGpwRqYRD0TiitENlUlxT8sjL+jd6rXZuV9fsr9qODKIqdydPMS6TR1nplR0kT6l+cq6Z2e5MIXoIdSRK8NSTu1d98\/yc4YIadiMgiZExODWNRqdx0AKHQlYAAAAAAAAAAAAAAAAAAo7lpO218nLRtWknznbh3ZXrTh8UwQFl1NYG5lal1pkTe5qrtt4cefmXfvNWC6m9Hmc8vDxvih8L7exUWrU1tu2yyOXkp1\/VS7lVermX4FuVVz03bbojnSQJHM7fysaYdnfvXp4lS5uodO5VjvOlE37rs7bU38\/HgidKdROGMuErtKlP5iuuq\/6jVgqbRqO33j1IXrHNjKxSJhfhzKWxRprJm8Jxmrxd0AAQXBznnhpollnlZFG3i564RDLan1RX2ytdQ00DIvURyTP9ZVRedE4ccpvzwKCCts08jZ7xLcq6bnaqNRvu+1nwNo0m1dnBU8bCMnCOq65I09TrCOV7oLRRz10ycFRi7Pv6fA5LZ9QXpzX3StbRwLvWCBd\/wAf6qpzpNY2GhhSGloamFiczY2Jn3+tvO\/p3b3eyo6x+OPqN3d5OGS4UZ7SlP5tS\/ZZL3LK3aatVtRFipklkRc8pMiOd8OZPgWpmPTJ7\/Y2Wsk503c3TuRR6VXN\/stNVaovBy7X8pRwm9TeFfw8FaPon7GnBmFvepJfY2DY\/wC45f6DyjWcn\/RUceetN35lIwPqX3mPKLf2ZpwZjk9ZPT21JGqdSb+5R5q1XJ7W9wtzx2G\/7UGDuht3yg\/79zTgy\/ovdpV\/t9R1Kt6G7W\/8x99CYpv73dKyf\/7InjnqJwx6ja1npT9UX8twooPbVkEf45Wp4qRZNQ2eNFV1xp1x+y\/a8CFFoqyR\/ahkl\/HKvywSY9L2SNUVtvjXH7Sq7xUfB3F\/EPkl92cZtY2SJFxVOlVOZkbvmiIRF1vTyrs0Vuq6h3RsonhkvIbVbqdUWGgp2KnO2Jue0lIiImETCILwXIYK71kl9F7szC6gv9QqeS6fexF3os2d6dw\/9Z1Lv+kpEx1L\/MagDGuSGwk+Kb\/Bl\/R6\/VGFqtQyMzxSJFRMfBUPTdD0T12qutq6h\/OquRN\/YppgRtJDdaXNX+rbKiDS1kg+zQscvTIqu8VLKClp6ZuzTwRxJ0RsRvgdQVcm9WbRpwjwpIAAguAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU1501R3RFmY1KerTe2ZiYyv+bp9\/EiWm811LX+aL21EnVE5GZOEnNvXn3mkKbVNujr7NK9UXlaZqyxubxRUTKp8UNIyv8ACzlq08F6lPJ\/kuQV1grXXGyU1S9cvc1UdvzvRVTf2Ao1Z2OiMlKKkuZYgAgsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfFVETKrhEI8txoYFVJq2njVP25Wp8xYhtLUkgrJNR2aNMuuMC\/hdteBHfrCxsXCViu\/DE76FsEuhm69JayXmXYM47XNnauE8od1pH\/U5+nludujpKx69Gw3+YnZz6Ge9UP3I04Mx6abfsLPWSZ4buPYij0suDvZacrH44\/a3flGzkN7o9fRmnBmPSK\/P9npyVueG0q7u5B581J+4O9Rs2N6p9\/JmnBmPOuq\/wByQ\/xf7h5drKTclrpGIvBVcm78\/wAhgfVDeY\/tfkzTgzHKazf+po48dab+9RyOs13+VUbc82E3flJwd0N4\/wBJeRpwZjyHWa7\/ADrRtzzbKbvyH1tu1c5zVkvFMmF4NYn8qEYF1Q27\/Y\/T3NMACh0gAAAAAA4VqtShqFeiK3knbSLzpg7lVqWoSm09WOVyIr41jTr2t3zJiruxSpLDBtkTRWfR1nHHKOxn5fHIJum6dabT1FGqYVY9vH4l2vmCZu8mUoLDSin0RZgAqbAAAAAAAAAAAAAAAAAAAAAAA8uc1jFe9yNa1MqqrhEQA9AztZq6FZvJbTTvuFQvDYRdlOvPP4dZx83anu2+tr2UETsLycH2k6t31UvgfPI5n4iLdoLE+2nnoaKorKWkbtVNRFCnTI9G+JU1OsLLTrhKl0zkXhExV7+BwptEWuJUdUOmqX86vfhFX3J9S3prRbqTHIUMDFT7yMTPbxJ+BdxfxEuSXr7FJ6Xz1X\/t1kqqhM7nKmE7kXxHlmr6vdHQU1K1fvPVFVO9fA04IxLkhsZvim\/tZGY82asm3zXmCPPNG3h+VB6L3WT2+pKlU\/Zajt\/5jTgnaPkN1g9W392ZhND0si7VVX1c65yvrImV+KKSItFWSP7UMkv45V+WC\/BG0l1JXhaK\/wDKKqPTNljXLbfEv4su8VJEdntkSYZb6VP\/AMW\/QmgrifU0VKmtIryOTaaBiYbBG1OpiIdQCC9rAAAkAAAAAAAAAAAAAAAAAAAHKoqYKSFZqmZkUacXPXCAhtLNnUyNzkXU9+jtUCotHSO5SeRHbncEVE7VTtPVTea7Ucr6Gyxvjpl9WWrcmMJ8vEv7Vaqa0Ubaenb1vevF69KmqWDN6nJJ7w8MeHm+vZExrUa1GtREREwiJzA+gyOwAAAAAAAAAAAAAAAAAAAAAAAAFLqi11l1tzIaOXZc1+XMV2EemF+eO\/qLoEp2d0UqQVSLi+Zj6KpvtjgSL0diWNMZWm3udzZVUVyqpJTXFLE5G1dBVwOXm2UXxVDTnxzUcmHIip0KXxp6owVCpBWhPLul\/BRxayscn2qp0a5+\/E7f2IpNiv1omXDLjT5\/zSI3xOs1qt0\/taCnf0KsTcoQ5dK2SVMLQMb1sc5vgo+DuT\/kLo\/Ne5ZR1ME3sp45PwvRTqZyTQ1nf9nyiP8ADJ9UU5Lolke6mutXEicEznHZgWh1G0rrWHr\/AAagGY9GrzDvp9Rzu6EkR2E\/Mp8S26uh9leKeRE5nt3r2tUYVyY201rTfo\/+moBmNrWcf3KOXm5k+PMPOmrIva2WB\/8A23f7lGDuhvK5xfkacGY8\/wCoGfb0892eGyq\/RR6UXdu52mapV6Wq7H+gjZyG9U+d\/J+xpwZj0uqm+00\/WNx9rju\/KPTRE3utFYic644DZyG90evozTgzHpzS\/u+s\/hT6j05pf3fWfwp9SdnLoN7o\/uNODMenNL+76z+FPqPTml\/d9Z\/Cn1Gzl0G90f3GnBmPTJ7tzLLWOdzJj+g9L6r9wVnf\/KNnIb3R6+jNODMel9V+4Kzv\/lHpRdl3JpirRV4ZV38hGzkN6pdfR+xpwZf0hv7sIzTsiL\/mVceB9866rk9lZIW54bbv9yE7Njeock\/JmnBl9rWc6ImxSU\/XuX6hLJqao3VV+SJP\/hRfkjRgXNobdvhg\/wAfk00kjImK+R7WNTirlwiFVV6ps1GqtdWNkcmfViRX96bu8gM0RSPdt1tbVVT+lXY+q95a0tgtVGqOhoYtpFyjnN2lRfevAWgu4xeIlokvrmU7tQXm6P2LNbHRxKi\/29Q3HZzeJ6pNIuqJkqr5VvrJv8NHLsp1Z+mDTIiImETCIfRjtw5Dd1J3qPF+PI5wQQ00SRQRMijbwaxMIh0AMzpSsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf\/2Q==",
    "razonSocial": "TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "EMERSON ORDOÑEZ",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INDICA ERROR",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:04",
    "ubicacionGPS": "LatLng(lat: -23.758283, lng: -70.2908808)",
    "horaLlegada": "09:41",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/05/2026 10:04:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78876040

[11/05/2026 10:04: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('78876040', 'KY2716', 1, 24456550, 57949, NOW(), 
				'08:00', '09:41', '10:04', 15, '•Se actualiza controlador de impresión', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778508253.png', '', null, 'COMPLETADO','LatLng(lat: -23.758283, lng: -70.2908808)' )
				
[11/05/2026 10:04:13] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200259

11/05/2026 10:04:13 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200259'                    
				WHERE idllamado = 12522			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


11/05/2026 10:04:13 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12522			
				
11/05/2026 10:04:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


11/05/2026 10:04:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 10:04:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 10:04:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 10:04:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 10:04:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 10:04:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 10:04:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12522
            GROUP BY l.idllamado;
            
11/05/2026 10:04:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 10:04:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                [11/05/2026 10:04:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 10:04:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12522
            GROUP BY l.idllamado;
            [11/05/2026 10:04:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 10:04:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 10:04:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12522
            GROUP BY l.idllamado;
            
11/05/2026 10:04:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 10:04:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 10:04:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 10:04:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 10:04:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12522
                
11/05/2026 10:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12520
            GROUP BY l.idllamado;
            
11/05/2026 10:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12520
            GROUP BY l.idllamado;
            
11/05/2026 10:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10: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 = 12520
                
11/05/2026 10: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 = 12520
                
11/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12520
            GROUP BY l.idllamado;
            
11/05/2026 10: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 = 12520
                
11/05/2026 10: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 = 12520
                
11/05/2026 10: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 = 12520
                
11/05/2026 10:05:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:05:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12520
            GROUP BY l.idllamado;
            
11/05/2026 10:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:05:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12520
            GROUP BY l.idllamado;
            
11/05/2026 10: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 = 12520
                
11/05/2026 10: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 = 12520
                
11/05/2026 10: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 = 12520
                
11/05/2026 10:05:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12520
            GROUP BY l.idllamado;
            
11/05/2026 10: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 = 12520
                
11/05/2026 10:05:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:05:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:05:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10: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 = 12520
                
11/05/2026 10: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 = 12520
                
11/05/2026 10:05:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12520
            GROUP BY l.idllamado;
            
11/05/2026 10: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 = 12520
                
11/05/2026 10: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 = 12520
                
11/05/2026 10:05:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12520
            GROUP BY l.idllamado;
            
11/05/2026 10: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 = 12520
                
11/05/2026 10:05:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:05:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:06:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12520
            GROUP BY l.idllamado;
            
11/05/2026 10:06:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:06:24 - logentry: =========================================
FECHA: 11/05/2026 10:06:24
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-nYsaV-8MTED4dT_syowJz6rklX4Hu3rIYsdg6zimYXclxlV3sUg
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76613923",
    "serieinterna": "EP2651",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "10649",
    "contadorColor": "172528",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12520",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABGAFcDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAQGAQMFAgf\/xAA7EAABAwMBBQQGBgsAAAAAAAABAAIDBAURBhIhMUFREyJxkRQVI2GBoQcWMsHS8TM0QlJygqKx0eHw\/8QAGAEAAwEBAAAAAAAAAAAAAAAAAAIEAwH\/xAAmEQACAgIBAgUFAAAAAAAAAAAAAQIRAzESIdEEMkFxkRMiI1GB\/9oADAMBAAIRAxEAPwD7HLKyGJ8sjg1jGlznHkBxK5Gm7rV3iGqqZ4wyDtiIDwOz0Phu3+Ki6tq5JRT2WmPt61w28HgzP3n+xXcoKKK30MNJD9iJuznqeZ+JyU9JR6+pMpSnmpajv3fYkIiJCkIiIAIiIAIiIAIiIArEGKj6Q6glu0KanAB\/dOB+IhWdVSqqBp7VUtZUsd6JWsw6UDOHf8PmrLT1lNVxtkp545Wu4FjgVpNaZL4eSTlF7tm5Frkmii\/SSsZ\/E4BaPWtuDg019LlxwB2zd\/zSUyhyitslosNcHNDmkEEZBHNZXBgiIgAiIgAiIgDXNDFUROimYHscMFrhuK4Muh7PISW9vEOQY8bvMFWJEyk1pmc8WPJ51ZXI9C2djgXOqHgcnSDf5AKLftP2W12OoqGUx7QDEZMjjhxIHDOPyVtVTvT3X3UtNZojmCmPa1B4jP5HHi5PCUm+rJM+HFCFRirfRe7O5YoZILHRxy7W32QJDzvGd+D4ZwugsAADAGAFlZt27LYx4xS\/QREXBgiIgAiIgAiLVU1EVJTSVEztmONpc4+4ION11ZGvFzitFukqpCMgYjaf2n43Bc3SVslpKOSuqwTV1jttxdxA5eeSfiFAo4Z9W3L06tjfHbIT7GEnG2ff19\/kretH9q4kuP8ANP6j0td+wREWZWEREAEWC4NGXEAdSoNTfLVSNJmr4BjiGv2j5DeupN6FlKMfM6J6LgW2+VF4vRFFHi3RM78j2YLnb8Y+W7xRDTWxceSORXHR31pq6WOtpJaaUkMlaWkjGR5oi4O0mqZXW6WudI0Mt9+njjaO7G8HA688deSz6o1U0YbfIzv5t\/0iLZSb2QZMMYOo2v6+54kh1dS4DrnSPB4ZZ0\/kSOLV9TnYudGzZ49wb\/6ERaUq0S8pcq5P5Z79Q6in\/WNQGPl7IHh8MJ9U692+TUdY89e9+JEWTm1otx+HxyVyv5fcyNEUj8ek11XPjq4D\/KmwaTssGCKPbI5ve4\/fhESucn6m0fDYY6ijrxxsiYGRsaxo4BowAiIkNz\/\/2Q==",
    "razonSocial": "CENTRO MEDICO ANGAMOS SPA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "ESTEFFANY VÁSQUEZ",
    "correoContacto": "entregaexamenes@centromedicoangamos.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28632\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28632\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28632\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28632\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:06",
    "ubicacionGPS": "LatLng(lat: -23.664506, lng: -70.4031521)",
    "horaLlegada": "09:59",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 11/05/2026 10:06:24
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-nYsaV-8MTED4dT_syowJz6rklX4Hu3rIYsdg6zimYXclxlV3sUg
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76613923",
    "serieinterna": "EP2651",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "10649",
    "contadorColor": "172528",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12520",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABGAFcDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAQGAQMFAgf\/xAA7EAABAwMBBQQGBgsAAAAAAAABAAIDBAURBhIhMUFREyJxkRQVI2GBoQcWMsHS8TM0QlJygqKx0eHw\/8QAGAEAAwEBAAAAAAAAAAAAAAAAAAIEAwH\/xAAmEQACAgIBAgUFAAAAAAAAAAAAAQIRAzESIdEEMkFxkRMiI1GB\/9oADAMBAAIRAxEAPwD7HLKyGJ8sjg1jGlznHkBxK5Gm7rV3iGqqZ4wyDtiIDwOz0Phu3+Ki6tq5JRT2WmPt61w28HgzP3n+xXcoKKK30MNJD9iJuznqeZ+JyU9JR6+pMpSnmpajv3fYkIiJCkIiIAIiIAIiIAIiIArEGKj6Q6glu0KanAB\/dOB+IhWdVSqqBp7VUtZUsd6JWsw6UDOHf8PmrLT1lNVxtkp545Wu4FjgVpNaZL4eSTlF7tm5Frkmii\/SSsZ\/E4BaPWtuDg019LlxwB2zd\/zSUyhyitslosNcHNDmkEEZBHNZXBgiIgAiIgAiIgDXNDFUROimYHscMFrhuK4Muh7PISW9vEOQY8bvMFWJEyk1pmc8WPJ51ZXI9C2djgXOqHgcnSDf5AKLftP2W12OoqGUx7QDEZMjjhxIHDOPyVtVTvT3X3UtNZojmCmPa1B4jP5HHi5PCUm+rJM+HFCFRirfRe7O5YoZILHRxy7W32QJDzvGd+D4ZwugsAADAGAFlZt27LYx4xS\/QREXBgiIgAiIgAiLVU1EVJTSVEztmONpc4+4ION11ZGvFzitFukqpCMgYjaf2n43Bc3SVslpKOSuqwTV1jttxdxA5eeSfiFAo4Z9W3L06tjfHbIT7GEnG2ff19\/kretH9q4kuP8ANP6j0td+wREWZWEREAEWC4NGXEAdSoNTfLVSNJmr4BjiGv2j5DeupN6FlKMfM6J6LgW2+VF4vRFFHi3RM78j2YLnb8Y+W7xRDTWxceSORXHR31pq6WOtpJaaUkMlaWkjGR5oi4O0mqZXW6WudI0Mt9+njjaO7G8HA688deSz6o1U0YbfIzv5t\/0iLZSb2QZMMYOo2v6+54kh1dS4DrnSPB4ZZ0\/kSOLV9TnYudGzZ49wb\/6ERaUq0S8pcq5P5Z79Q6in\/WNQGPl7IHh8MJ9U692+TUdY89e9+JEWTm1otx+HxyVyv5fcyNEUj8ek11XPjq4D\/KmwaTssGCKPbI5ve4\/fhESucn6m0fDYY6ijrxxsiYGRsaxo4BowAiIkNz\/\/2Q==",
    "razonSocial": "CENTRO MEDICO ANGAMOS SPA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "ESTEFFANY VÁSQUEZ",
    "correoContacto": "entregaexamenes@centromedicoangamos.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28632\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28632\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28632\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28632\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:06",
    "ubicacionGPS": "LatLng(lat: -23.664506, lng: -70.4031521)",
    "horaLlegada": "09:59",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/05/2026 10:06:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76613923

[11/05/2026 10:06: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('76613923', 'EP2651', 1, 27729424, 10649, NOW(), 
				'08:00', '09:59', '10:06', 10, 'entrega insumos', -1, 
				'', '','1','172528',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778508384.png', '', null, 'COMPLETADO','LatLng(lat: -23.664506, lng: -70.4031521)' )
				
[11/05/2026 10:06:24] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200260
[11/05/2026 10:06:24] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200260', 'EPS-I302', 1)
				
[11/05/2026 10:06:24] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28632 and
				    IDproducto = 'EPS-I302'
				

11/05/2026 10:06:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:06:24 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I302';
                [11/05/2026 10:06:24] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200260', 'EPS-I303', 1)
				
[11/05/2026 10:06:24] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28632 and
				    IDproducto = 'EPS-I303'
				

11/05/2026 10:06:24 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I303';
                [11/05/2026 10:06:24] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200260', 'EPS-I304', 1)
				
[11/05/2026 10:06:24] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28632 and
				    IDproducto = 'EPS-I304'
				

11/05/2026 10:06:24 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                [11/05/2026 10:06:24] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200260', 'EPS-I305', 1)
				
[11/05/2026 10:06:24] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28632 and
				    IDproducto = 'EPS-I305'
				

11/05/2026 10:06:24 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I305';
                
11/05/2026 10:06:24 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200260'                    
				WHERE idllamado = 12520			
				TO ENVIO: micorreo@miempresa.cl, entregaexamenes@centromedicoangamos.cl


11/05/2026 10:06:24 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12520			
				
11/05/2026 10:06:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


11/05/2026 10: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 = 12520
                
11/05/2026 10: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 = 12520
                
11/05/2026 10: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 = 12520
                
11/05/2026 10:06:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12520
            GROUP BY l.idllamado;
            
11/05/2026 10: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 = 12520
                
11/05/2026 10: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 = 12520
                
11/05/2026 10: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 = 12520
                
11/05/2026 10: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 = 12520
                
11/05/2026 10:06:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                [11/05/2026 10:06:28] 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/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12520
            GROUP BY l.idllamado;
            
11/05/2026 10:06:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                [11/05/2026 10:06:28] 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/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12520
            GROUP BY l.idllamado;
            
11/05/2026 10:06:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:06:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10:06:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12520
                
11/05/2026 10: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 = 12520
                
11/05/2026 10: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 = 12520
                [11/05/2026 10:21:36] 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/05/2026 10:21: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 10:21: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;
                
[11/05/2026 10:21:42] 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/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            [11/05/2026 10:21: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/05/2026 10:21:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
11/05/2026 10:21:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
11/05/2026 10: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 = 12519
                
11/05/2026 10: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 = 12519
                [11/05/2026 10: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/05/2026 10:38:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 10:38:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12523
            GROUP BY l.idllamado;
            
11/05/2026 10:38:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12523
            GROUP BY l.idllamado;
            [11/05/2026 10:38: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/05/2026 10:38:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12523
            GROUP BY l.idllamado;
            
11/05/2026 10:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:39:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12523
            GROUP BY l.idllamado;
            
11/05/2026 10:39:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:39:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:39:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12523
            GROUP BY l.idllamado;
            
11/05/2026 10:39:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12523
            GROUP BY l.idllamado;
            
11/05/2026 10:39:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:39:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:39:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:39:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:39:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:39:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:39:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12523
            GROUP BY l.idllamado;
            
11/05/2026 10:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:39:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12523
            GROUP BY l.idllamado;
            
11/05/2026 10:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:40:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12523
            GROUP BY l.idllamado;
            
11/05/2026 10:44:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:44:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12523
            GROUP BY l.idllamado;
            
11/05/2026 10:44:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:44:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:44:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:44:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12523
            GROUP BY l.idllamado;
            
11/05/2026 10:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10: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 = 12523
                
11/05/2026 10: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 = 12523
                
11/05/2026 10: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 = 12523
                
11/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12523
            GROUP BY l.idllamado;
            
11/05/2026 10: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 = 12523
                
11/05/2026 10:44:50 - logentry: =========================================
FECHA: 11/05/2026 10:44:50
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ly.CnJRwDckRfdIqp+1pD62+-bvyvUE2yxSj72G-bIiJwsGkVLB
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP3051",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "73",
    "contadorColor": "328",
    "contadorScanner": "0",
    "detalle": "Rodillos de alimentacion\nSeparacion y paper feed\nextraidos momentaneamente para reparar Máquina en S. Pedro\nSe Reponen R. nuevos\nOk",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12523",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACgALsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABBEAABBAIAAwQHBgMGBQUAAAABAAIDBAURBiExEkFRYRMUInGBscEVIzKRodEWQvAkM0NiguEHUnKy8TQ2U5PS\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDAQQF\/8QAMREAAgEDAgIIBQQDAAAAAAAAAAECAxEhEjFBUQQTIjJhcbHRFCOBoeEzUpHBQmLw\/9oADAMBAAIRAxEAPwD9mREQAREQAREQAREQAREQAREQBFyUFqzSdFTterTEjUnZ3ob5\/opDQ4MAce04Dmda2V6RFzLZuEREGhERABERABERABERABERABERABEXG1bgpV32LMojiYNucUGNpK7PcsscMTpZXhjGDbnOOgAsvJlMhxLcNbDvdVpxH72y5vN3lr6d\/fpc\/wC18Z2f562Jhd\/qlP8AX5ea1NarBTrtgrRNiiZ0a1UxDfc5LyrvGIfd\/g6jeufVfURTOwIiIAIiIAIiIAIipMrxPVoy+q1WuuXHbDYoR2tHz18hzWpN7CTqRpq8mXEsscETpZntjjYNuc46ACz9njKqZWwYyvJfmd0DQWj5bP5fFcIeH8lmpW2eILBEbTtlWM6A9+un6nzWjqU61GEQ1YGQsHc0a37\/ABT2jHfJDVWqd3srx3\/jgRcPbyNyGSTIUhUO\/u272SPNWKIkbuzoinFWbuERFgwREQARFCyuVrYim6xYd5MYOrz4BalfCFlJRV3se8hkKuMqusWpQxg6DvcfADvKzlSna4stNyGRa6HHxn7iuD+PzP7\/AJL7j8Pbz9tmVze2xA7gqEaGvPy+fuWra0NaGtAAA0AO5PdQwtzlUZV3eStHlz8\/Y8xRRwxNiiYGMYNNa0aAC9oimdgRFnuNbdiphGmvKYzLMI3EdS3suOvLoFsVd2J1aipwc3wNCiyc0+c4Yd25nuyWO73O\/HGN6HPr015LSUrtfIVWWa0gfG8cj4eR81rjbItOspvS1Z8iQiIlLBc5po68L5pnhkbBtznHkAud27Xx9V9mzIGRsHM+PkPNZmGne4umFq699bGNduKAHnJ5\/wC\/5eKeMb5exCrV0vTFXk\/+yfZsnkeJ7DqmI7dak3bZbLhou93h7hz8dK7xGCo4aLVePtSke1K\/m4\/sPJToK8NWFsMEbY42jQa0aAXRDlwWxlOjZ65u8vTyCIiQ6AiIgAiIgAiIgDhctw0Kklqw\/sxRjbis1hqM+fyBzeTafQtP9lhcOWvHXh8yvNiR\/FuZFSB7\/smtzle3kJHf1y\/MrWMY2ONsbGhrWgBoHcFTuLxONfPnf\/Ffd+yPSIimdgREQAWd44i9JgA7lqOZriT3dR9VolVcTwescOXWAAlrO3z\/AMpB+iaDtJEekR1UpLwLCGRtqpHIQC2VgdojqCFlLUM3CGUFysHvxdh+poh\/hny+n5K94dn9Z4fpSb2REGk\/9Ps\/RTbdWK7VkrTt7Ucrey4LU9Laewk4dbTUlh7pnuKWOeFk0Tw+N4DmuHQhenENaXHkANlZnhm3LQuTcPWyO3XJdC\/p229frv8ANaZwDmlp5gjRWSjZ2KUqnWQvx4+ZkqMEvF937Qugsx0D+zDX3+M95P8AXkta1oa0NaAABoAdyzEnD2VxkhkweQIjLu0a8p2PPmd738EHFl2i4x5fDzRFvV8Q20+Ot8v1VJLV3TlpTVG\/Wppvd8H9TUIs6zjjDubsmdh8DH+xX3+NsN\/zzf8A1lJ1cuRf4qj+5GhRZ1\/HGHa3YM7z4CP9yuX8axy\/+lxVyY93s6+W0dXLkY+lUf3GnRZj+J8tMP7Pw5Y8nPLtf9v1T1zjCfXYx1WAeLnAn\/uRofEPiYPupv6M06LIVM5nWZ+HHWfV53E\/eMi\/lGu8gHWuq16yUXEelWjVTtwCz\/FWTkgrsxtPbrlw9kBoOw09T9PzV+5wa0ucQABsk9yy\/D0Tstm7eemBLGuMVYE7AHQkfD5lbBcXwErtu1OO8vTiXeHxkWIx0dWMDYG5HD+Z+uZU5ESt3d2XjFRSitgiIsGCIiAC52IhPWlhPSRhafiNLoiAavgznA0pfgTGeRhmc3Xh0P1K0azHCX3GRzFPoI7G2tHQDbh9AtOnqd5nN0V\/JiuWP4M1xdWkritm6o+\/pvAdrvYT3\/Hl\/qKvqduK9TitQnbJWhw8vJe54Y7MEkEre1HI0tcPEFZzhSR9C3dwU7tvrv7cRJ\/E0\/0D\/qK3vR8jP063hL1\/KNOi5zTw1ojLPKyKNvVzzoBZ+3xlWMgr4qvJfnd07LSG\/LZSqLexWpWhT7zL99aCQ7fDG4\/5mgqBLcwcNuOo91X08ruy1gYCd+B0OXxVV9l8RZlxORuCjXcP7mHrrw5fUlWeN4axmL7D4oPSTN5iWTm7fyHwTWS3ZJSqTfZhZc37FiyrXjd2mQRtPiGALqi+OcGtLnEAAbJPcpnTZI+rPZ\/OyxyNxeK+9vSkNJbzEW\/E9x+XVR7+et5iycZw\/wA3f4to8mtG+4\/X8laYTAVsND7P3th\/95M4cz7vAKiSjmRyyqSrPTT24v2GCwkWHq6JElmTnNN3uPh7laoiRtt3Z0whGEVGOxT8U3jQwFh7XEPlHomEHXM9f02pGDojHYatW7IDwzb9DXtHmVT8QH17ibE4zq1rvTPA7+\/5NP5rUJniKRCHbrSlyx\/bCIiQ6QiIgAiIgAiKmynE9DGu9E0mzY\/+KLmQO\/Z7uS1JvCEnUjBXk7EGp\/ZOP7kZ5NtQBzfM6H7OWmJAGydALA5POOn4ipZHHVz6T0fo2CTXZkcdjXI93a11Vr\/DuXzEnpc3kDHH3QQHp9Pmqyjs27HDRrW1Rpq+X5Z8S0vcTYmgwl1kTOH8kGnn9h8SslmchkbF1ucq0Z6UcTRGJnD8QO9HmPPXf3LX0eHMTj9GGmxzxr7yT23b8efT4aU25UivU5asw2yVpafLzWRlGLwh6lGtVj2nblbn5mco8Jw3o4ruTvz3nSMDm7cQ3RGxz6\/JaOpTrUYRDVgZCwdzRrfv8VQ8J3ZYXT4O3ynpk9g\/8zN\/18CtKsm5XsynRo09ClFZ48wiKpzXENPDxlrnelskexA08z4b8AkSbdkXnOMFqk7InXbtbH1nWLUojjb3nvPgPErL9vJcYyERl9LFA6dv8UvP9fkPNdqmDvZu03IZ8ljGncVQcgB5ju+a1DWtYwMY0Na0aAA0AE91Dbc5tM6\/exHlxfnyRwo0K2NrNr1YhGxv5k+JPepKIp7nWkkrIIiINMxCTN\/xDn579BVHw5N\/\/S06zGH+842y8p6tYGfL9lp08915HN0bMZPm36hERIdIREQAULKZapiaxmtSAHXssH4nnwAVZmOJhXm9QxkZt3XjQ7HNrD5+J8l5xfDBFn7QzMvrlw6IDubWfv8AJOopK8jmlWcnopZfPgiL6XiDiQaiH2ZQePxn8bh8\/kFdYzA0MXXMcMIc54IfI4bc7fn3DyVkiHNvCwhoUIxeqTu+b\/rkfmWWjkw92SgAQyvYFiuS7n2T4fkPyK\/S45GyxtkYdteA4HxBWS49xwkrQZBjfaiPo5D\/AJT0\/Xf5q+wEvp8DRfvf3LWk+4a+ieb1QTOXo0XTrzp8N0WKIiieiZXieL7My1HOxbb2XiOcD+Zv\/jY\/Jab00XoBP6RoiLe12ydDXjtUvFORxsWNmo2n9uaVnsRMG3b7j5c1nsDRucQR+o3bz46lLTTXHJ56637vPetK2nVFN8Dz3V6us4QV9XqW9ziWzkbBocPxGV\/R9kj2WDxG\/mVNw3DUGPf61bd61ece06Z3PR8t\/NWlSlWoQCCrCyKMdzR1957\/AIrukcsWiXhRbeuo7v7Ly9wiIkOkIih5TKVsTUdZsu0OjWD8Tz4ALUr4RkpKKu9iYiybjnuJhpo+zce7vOw97frv4D3rR4+lHjqMVSJz3MiGgXnZK1xtxJU6rqPCxzKHB\/8AvDM\/D5rTrMVHepcfWoToNtw9pniTyP0ctOtnuhOjd1rk36hEUa\/kK2Nqus2pAxjR073HwA7yktc6G0ldnWaaOvC+aZ4ZGwbc5x5ALLz5TI8TTPp4cGCkPZltOBBPkP26+Ol4gp3uLphbvufWxrT91A083+f+\/wCS1cFeGrC2GCNscbRoNaNAKmIeZyXnX2xH7v2RCxGDp4WEsrtJkcPbld+J37DyViiJG23dnVGMYLTFWQREWDHG3Vju1Ja0wJjlaWu115rzRpQ46nHUg7Xo499ntHZ5nf1UhUeX4pqY93q9Yet2zyEUfMA+ZHyHNMk3hEpyp0+3LBcTTw1ojLPKyKNvVzzoBZmxxDfzUrqfD0DuyOT7TxoAeW+nz8l8hwGSzczbWfn7MQ9plWM617\/D9T5rTwV4asLYYI2xxtGg1o0Am7MfFkfm1v8AWP3fsVGH4Zq41\/rM7jauE7M0nPR8v36qygx9StZnswwNZNYO5Hjq79lJRK5N7l4UoQSUVsEREpQIoFzN4zHv7Fq7Gx4IBbvtOHvA5qql46xTdCOOxK49A1gHzKZQk9kRnXpQxKSNDLLHBC+aV4ZGwFznHoAsrTY\/irO\/aErXDG03agadDtOGjzH6n4BfJYsvxY9jJoX47HNO3NdvtvI94G\/kPNamtWiqV2QQMDI2DkAm7i8SOekS27K+\/wCDqiIpnYZji6J9Oejm4gS6rKGyAHq3e\/3HxWjgmjswRzxO7UcjQ5p8QV8s147daWtM3tRytLXDyKzGDuyYG7JhMm8ti7W60zvwkHu35\/Pap3o+KORvqqt3tL1\/JoMnk62Jpus2X6aOTWjq8+AWdxuOtcS225XLt7NVp3Xr65Eft8\/crfIYCLKZWC3blD4YG6EHZOnHzO\/orYAAaA0AhSUVjcaVOVWfb7q2XPxfsGtDWhrQAANADuX1EUzpCIot\/JU8ZD6W5O2Jp6A9Xe4dShK5jairslKuyudo4ePdmXchHsxM5uP7fFZXLcdTzB0WNj9Cw8vSv5vPuHQfqoWK4VyOYPrNh5giedmSXZe\/zA+pV1StmeDz6nTXJ6KCuz3kOJcnnphSqMdDHIeyIoubn+8\/+AtHw7wrFiXNt2Hekt9nkB+GPfXXifNWOJwdHDRltZhMjhp0r+bnfsPJWKWVRW0x2Ho9FerrKzvL0CIikdwRFnr2eyL8pNj8PSjsvgaDI6Q6AdvpzI7vNaotk6lSNNXZoVm85krd3ItwWKkDZXjc8wP92O8eR\/cBeJM5xBXryMsYQ+sFv3boj2mb89E+XLam8N4d2Orvs2iXXbR7cxcQdHrr9ef+ydLTlnPKo6zUIXXPh9PqfaHCuLptDnwCzN1dLN7Rceu9dArWOvBEdxwxsPi1oC6Ikcm9zphThBWirBERYOEREAFAy2HqZisYrMY7QHsSAe0w+R+inotTayhZRUlaSwZKLJZfhl7IMsw26XJrLMf+GPPlz9x+BKu6vEGJuBvor0Ic4b7L3dk+7RVi5oc0tcAQRog96qrXDGHtlzpKTGucdl0ZLTv4J7xe5zqnVp4g7rx9y0a5r2hzHBzT0IOwVzmt1qw3PYii\/wCt4b81QP4DxLnbEtpg8A9v1aoWX4NgrY4uxkE1mwXBvtyD2R3kDlvu\/NCjBvcydWvGLehfz+Drm+NGRONbEgTSd82ttHuHf7+nvVNW4ZzmanFi4Xxh\/My2Hbdryb1+QWzwuFr4elHE1jHzgHtzdnm4nrz8P2Vmm6xRxFEvhZVnqrS+i2KXFcK43F9l\/o\/WJx\/iSjej5DoFdIik23lnbCnGmrRVgiIsHCIiACyuXd9g8TV8qN+r2x6KcEk6Pj8j8CtUouRx8GUoyVLAPYeOo6tPcQmi7PJGtTc49ndZRJBBGwdgr6q7B1bdLGMrXHse6MlrC0a9ju2rFY1ZlItyim1YIiLBgiIgAiIgD\/\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "WILLIAMS AREVALO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "REPUESTO",
    "prioridad": "1",
    "telefonocontacto": "+56995359625",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R1299\",\"id_control\":\"28635\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:44",
    "ubicacionGPS": "LatLng(lat: -23.6618645, lng: -70.4001185)",
    "horaLlegada": "10:32",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 11/05/2026 10:44:50
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ly.CnJRwDckRfdIqp+1pD62+-bvyvUE2yxSj72G-bIiJwsGkVLB
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP3051",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "73",
    "contadorColor": "328",
    "contadorScanner": "0",
    "detalle": "Rodillos de alimentacion\nSeparacion y paper feed\nextraidos momentaneamente para reparar Máquina en S. Pedro\nSe Reponen R. nuevos\nOk",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12523",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACgALsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABBEAABBAIAAwQHBgMGBQUAAAABAAIDBAURBiExEkFRYRMUInGBscEVIzKRodEWQvAkM0NiguEHUnKy8TQ2U5PS\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDAQQF\/8QAMREAAgEDAgIIBQQDAAAAAAAAAAECAxEhEjFBUQQTIjJhcbHRFCOBoeEzUpHBQmLw\/9oADAMBAAIRAxEAPwD9mREQAREQAREQAREQAREQAREQBFyUFqzSdFTterTEjUnZ3ob5\/opDQ4MAce04Dmda2V6RFzLZuEREGhERABERABERABERABERABERABEXG1bgpV32LMojiYNucUGNpK7PcsscMTpZXhjGDbnOOgAsvJlMhxLcNbDvdVpxH72y5vN3lr6d\/fpc\/wC18Z2f562Jhd\/qlP8AX5ea1NarBTrtgrRNiiZ0a1UxDfc5LyrvGIfd\/g6jeufVfURTOwIiIAIiIAIiIAIipMrxPVoy+q1WuuXHbDYoR2tHz18hzWpN7CTqRpq8mXEsscETpZntjjYNuc46ACz9njKqZWwYyvJfmd0DQWj5bP5fFcIeH8lmpW2eILBEbTtlWM6A9+un6nzWjqU61GEQ1YGQsHc0a37\/ABT2jHfJDVWqd3srx3\/jgRcPbyNyGSTIUhUO\/u272SPNWKIkbuzoinFWbuERFgwREQARFCyuVrYim6xYd5MYOrz4BalfCFlJRV3se8hkKuMqusWpQxg6DvcfADvKzlSna4stNyGRa6HHxn7iuD+PzP7\/AJL7j8Pbz9tmVze2xA7gqEaGvPy+fuWra0NaGtAAA0AO5PdQwtzlUZV3eStHlz8\/Y8xRRwxNiiYGMYNNa0aAC9oimdgRFnuNbdiphGmvKYzLMI3EdS3suOvLoFsVd2J1aipwc3wNCiyc0+c4Yd25nuyWO73O\/HGN6HPr015LSUrtfIVWWa0gfG8cj4eR81rjbItOspvS1Z8iQiIlLBc5po68L5pnhkbBtznHkAud27Xx9V9mzIGRsHM+PkPNZmGne4umFq699bGNduKAHnJ5\/wC\/5eKeMb5exCrV0vTFXk\/+yfZsnkeJ7DqmI7dak3bZbLhou93h7hz8dK7xGCo4aLVePtSke1K\/m4\/sPJToK8NWFsMEbY42jQa0aAXRDlwWxlOjZ65u8vTyCIiQ6AiIgAiIgAiIgDhctw0Kklqw\/sxRjbis1hqM+fyBzeTafQtP9lhcOWvHXh8yvNiR\/FuZFSB7\/smtzle3kJHf1y\/MrWMY2ONsbGhrWgBoHcFTuLxONfPnf\/Ffd+yPSIimdgREQAWd44i9JgA7lqOZriT3dR9VolVcTwescOXWAAlrO3z\/AMpB+iaDtJEekR1UpLwLCGRtqpHIQC2VgdojqCFlLUM3CGUFysHvxdh+poh\/hny+n5K94dn9Z4fpSb2REGk\/9Ps\/RTbdWK7VkrTt7Ucrey4LU9Laewk4dbTUlh7pnuKWOeFk0Tw+N4DmuHQhenENaXHkANlZnhm3LQuTcPWyO3XJdC\/p229frv8ANaZwDmlp5gjRWSjZ2KUqnWQvx4+ZkqMEvF937Qugsx0D+zDX3+M95P8AXkta1oa0NaAABoAdyzEnD2VxkhkweQIjLu0a8p2PPmd738EHFl2i4x5fDzRFvV8Q20+Ot8v1VJLV3TlpTVG\/Wppvd8H9TUIs6zjjDubsmdh8DH+xX3+NsN\/zzf8A1lJ1cuRf4qj+5GhRZ1\/HGHa3YM7z4CP9yuX8axy\/+lxVyY93s6+W0dXLkY+lUf3GnRZj+J8tMP7Pw5Y8nPLtf9v1T1zjCfXYx1WAeLnAn\/uRofEPiYPupv6M06LIVM5nWZ+HHWfV53E\/eMi\/lGu8gHWuq16yUXEelWjVTtwCz\/FWTkgrsxtPbrlw9kBoOw09T9PzV+5wa0ucQABsk9yy\/D0Tstm7eemBLGuMVYE7AHQkfD5lbBcXwErtu1OO8vTiXeHxkWIx0dWMDYG5HD+Z+uZU5ESt3d2XjFRSitgiIsGCIiAC52IhPWlhPSRhafiNLoiAavgznA0pfgTGeRhmc3Xh0P1K0azHCX3GRzFPoI7G2tHQDbh9AtOnqd5nN0V\/JiuWP4M1xdWkritm6o+\/pvAdrvYT3\/Hl\/qKvqduK9TitQnbJWhw8vJe54Y7MEkEre1HI0tcPEFZzhSR9C3dwU7tvrv7cRJ\/E0\/0D\/qK3vR8jP063hL1\/KNOi5zTw1ojLPKyKNvVzzoBZ+3xlWMgr4qvJfnd07LSG\/LZSqLexWpWhT7zL99aCQ7fDG4\/5mgqBLcwcNuOo91X08ruy1gYCd+B0OXxVV9l8RZlxORuCjXcP7mHrrw5fUlWeN4axmL7D4oPSTN5iWTm7fyHwTWS3ZJSqTfZhZc37FiyrXjd2mQRtPiGALqi+OcGtLnEAAbJPcpnTZI+rPZ\/OyxyNxeK+9vSkNJbzEW\/E9x+XVR7+et5iycZw\/wA3f4to8mtG+4\/X8laYTAVsND7P3th\/95M4cz7vAKiSjmRyyqSrPTT24v2GCwkWHq6JElmTnNN3uPh7laoiRtt3Z0whGEVGOxT8U3jQwFh7XEPlHomEHXM9f02pGDojHYatW7IDwzb9DXtHmVT8QH17ibE4zq1rvTPA7+\/5NP5rUJniKRCHbrSlyx\/bCIiQ6QiIgAiIgAiKmynE9DGu9E0mzY\/+KLmQO\/Z7uS1JvCEnUjBXk7EGp\/ZOP7kZ5NtQBzfM6H7OWmJAGydALA5POOn4ipZHHVz6T0fo2CTXZkcdjXI93a11Vr\/DuXzEnpc3kDHH3QQHp9Pmqyjs27HDRrW1Rpq+X5Z8S0vcTYmgwl1kTOH8kGnn9h8SslmchkbF1ucq0Z6UcTRGJnD8QO9HmPPXf3LX0eHMTj9GGmxzxr7yT23b8efT4aU25UivU5asw2yVpafLzWRlGLwh6lGtVj2nblbn5mco8Jw3o4ruTvz3nSMDm7cQ3RGxz6\/JaOpTrUYRDVgZCwdzRrfv8VQ8J3ZYXT4O3ynpk9g\/8zN\/18CtKsm5XsynRo09ClFZ48wiKpzXENPDxlrnelskexA08z4b8AkSbdkXnOMFqk7InXbtbH1nWLUojjb3nvPgPErL9vJcYyERl9LFA6dv8UvP9fkPNdqmDvZu03IZ8ljGncVQcgB5ju+a1DWtYwMY0Na0aAA0AE91Dbc5tM6\/exHlxfnyRwo0K2NrNr1YhGxv5k+JPepKIp7nWkkrIIiINMxCTN\/xDn579BVHw5N\/\/S06zGH+842y8p6tYGfL9lp08915HN0bMZPm36hERIdIREQAULKZapiaxmtSAHXssH4nnwAVZmOJhXm9QxkZt3XjQ7HNrD5+J8l5xfDBFn7QzMvrlw6IDubWfv8AJOopK8jmlWcnopZfPgiL6XiDiQaiH2ZQePxn8bh8\/kFdYzA0MXXMcMIc54IfI4bc7fn3DyVkiHNvCwhoUIxeqTu+b\/rkfmWWjkw92SgAQyvYFiuS7n2T4fkPyK\/S45GyxtkYdteA4HxBWS49xwkrQZBjfaiPo5D\/AJT0\/Xf5q+wEvp8DRfvf3LWk+4a+ieb1QTOXo0XTrzp8N0WKIiieiZXieL7My1HOxbb2XiOcD+Zv\/jY\/Jab00XoBP6RoiLe12ydDXjtUvFORxsWNmo2n9uaVnsRMG3b7j5c1nsDRucQR+o3bz46lLTTXHJ56637vPetK2nVFN8Dz3V6us4QV9XqW9ziWzkbBocPxGV\/R9kj2WDxG\/mVNw3DUGPf61bd61ece06Z3PR8t\/NWlSlWoQCCrCyKMdzR1957\/AIrukcsWiXhRbeuo7v7Ly9wiIkOkIih5TKVsTUdZsu0OjWD8Tz4ALUr4RkpKKu9iYiybjnuJhpo+zce7vOw97frv4D3rR4+lHjqMVSJz3MiGgXnZK1xtxJU6rqPCxzKHB\/8AvDM\/D5rTrMVHepcfWoToNtw9pniTyP0ctOtnuhOjd1rk36hEUa\/kK2Nqus2pAxjR073HwA7yktc6G0ldnWaaOvC+aZ4ZGwbc5x5ALLz5TI8TTPp4cGCkPZltOBBPkP26+Ol4gp3uLphbvufWxrT91A083+f+\/wCS1cFeGrC2GCNscbRoNaNAKmIeZyXnX2xH7v2RCxGDp4WEsrtJkcPbld+J37DyViiJG23dnVGMYLTFWQREWDHG3Vju1Ja0wJjlaWu115rzRpQ46nHUg7Xo499ntHZ5nf1UhUeX4pqY93q9Yet2zyEUfMA+ZHyHNMk3hEpyp0+3LBcTTw1ojLPKyKNvVzzoBZmxxDfzUrqfD0DuyOT7TxoAeW+nz8l8hwGSzczbWfn7MQ9plWM617\/D9T5rTwV4asLYYI2xxtGg1o0Am7MfFkfm1v8AWP3fsVGH4Zq41\/rM7jauE7M0nPR8v36qygx9StZnswwNZNYO5Hjq79lJRK5N7l4UoQSUVsEREpQIoFzN4zHv7Fq7Gx4IBbvtOHvA5qql46xTdCOOxK49A1gHzKZQk9kRnXpQxKSNDLLHBC+aV4ZGwFznHoAsrTY\/irO\/aErXDG03agadDtOGjzH6n4BfJYsvxY9jJoX47HNO3NdvtvI94G\/kPNamtWiqV2QQMDI2DkAm7i8SOekS27K+\/wCDqiIpnYZji6J9Oejm4gS6rKGyAHq3e\/3HxWjgmjswRzxO7UcjQ5p8QV8s147daWtM3tRytLXDyKzGDuyYG7JhMm8ti7W60zvwkHu35\/Pap3o+KORvqqt3tL1\/JoMnk62Jpus2X6aOTWjq8+AWdxuOtcS225XLt7NVp3Xr65Eft8\/crfIYCLKZWC3blD4YG6EHZOnHzO\/orYAAaA0AhSUVjcaVOVWfb7q2XPxfsGtDWhrQAANADuX1EUzpCIot\/JU8ZD6W5O2Jp6A9Xe4dShK5jairslKuyudo4ePdmXchHsxM5uP7fFZXLcdTzB0WNj9Cw8vSv5vPuHQfqoWK4VyOYPrNh5giedmSXZe\/zA+pV1StmeDz6nTXJ6KCuz3kOJcnnphSqMdDHIeyIoubn+8\/+AtHw7wrFiXNt2Hekt9nkB+GPfXXifNWOJwdHDRltZhMjhp0r+bnfsPJWKWVRW0x2Ho9FerrKzvL0CIikdwRFnr2eyL8pNj8PSjsvgaDI6Q6AdvpzI7vNaotk6lSNNXZoVm85krd3ItwWKkDZXjc8wP92O8eR\/cBeJM5xBXryMsYQ+sFv3boj2mb89E+XLam8N4d2Orvs2iXXbR7cxcQdHrr9ef+ydLTlnPKo6zUIXXPh9PqfaHCuLptDnwCzN1dLN7Rceu9dArWOvBEdxwxsPi1oC6Ikcm9zphThBWirBERYOEREAFAy2HqZisYrMY7QHsSAe0w+R+inotTayhZRUlaSwZKLJZfhl7IMsw26XJrLMf+GPPlz9x+BKu6vEGJuBvor0Ic4b7L3dk+7RVi5oc0tcAQRog96qrXDGHtlzpKTGucdl0ZLTv4J7xe5zqnVp4g7rx9y0a5r2hzHBzT0IOwVzmt1qw3PYii\/wCt4b81QP4DxLnbEtpg8A9v1aoWX4NgrY4uxkE1mwXBvtyD2R3kDlvu\/NCjBvcydWvGLehfz+Drm+NGRONbEgTSd82ttHuHf7+nvVNW4ZzmanFi4Xxh\/My2Hbdryb1+QWzwuFr4elHE1jHzgHtzdnm4nrz8P2Vmm6xRxFEvhZVnqrS+i2KXFcK43F9l\/o\/WJx\/iSjej5DoFdIik23lnbCnGmrRVgiIsHCIiACyuXd9g8TV8qN+r2x6KcEk6Pj8j8CtUouRx8GUoyVLAPYeOo6tPcQmi7PJGtTc49ndZRJBBGwdgr6q7B1bdLGMrXHse6MlrC0a9ju2rFY1ZlItyim1YIiLBgiIgAiIgD\/\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "WILLIAMS AREVALO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "REPUESTO",
    "prioridad": "1",
    "telefonocontacto": "+56995359625",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R1299\",\"id_control\":\"28635\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:44",
    "ubicacionGPS": "LatLng(lat: -23.6618645, lng: -70.4001185)",
    "horaLlegada": "10:32",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/05/2026 10:44:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[11/05/2026 10:44:50] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76121841', 'EP3051', 1, 21773342, 73, NOW(), 
				'08:00', '10:32', '10:44', 4, 'Rodillos de alimentacion
Separacion y paper feed
extraidos momentaneamente para reparar Máquina en S. Pedro
Se Reponen R. nuevos
Ok', -1, 
				'', '','1','328',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778510690.png', '', null, 'COMPLETADO','LatLng(lat: -23.6618645, lng: -70.4001185)' )
				
[11/05/2026 10:44:50] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200261
[11/05/2026 10:44:50] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200261', 'EPS-R1299', 1)
				
[11/05/2026 10:44:50] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28635 and
				    IDproducto = 'EPS-R1299'
				

11/05/2026 10:44:50 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R1299';
                
11/05/2026 10:44:50 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200261'                    
				WHERE idllamado = 12523			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


11/05/2026 10:44:50 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12523			
				
11/05/2026 10:44:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


11/05/2026 10: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 = 12523
                
11/05/2026 10: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 = 12523
                
11/05/2026 10:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:44:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12523
            GROUP BY l.idllamado;
            
11/05/2026 10:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:44:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:44:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                [11/05/2026 10:44: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/05/2026 10:44:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12523
            GROUP BY l.idllamado;
            
11/05/2026 10:44:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12523
            GROUP BY l.idllamado;
            
11/05/2026 10:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                [11/05/2026 10:44: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/05/2026 10:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:44:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:44:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12523
                
11/05/2026 10:45:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12523
            GROUP BY l.idllamado;
            [11/05/2026 11:06: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 11:06:27] 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/05/2026 11:06: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/05/2026 11:06:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11:06:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11:06:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11: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 = 12524
                [11/05/2026 11:06: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/05/2026 11:06: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/05/2026 11: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 = 12524
                
11/05/2026 11: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 = 12524
                
11/05/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 = 12524
                
11/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            [11/05/2026 11:06: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/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            [11/05/2026 11:06: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/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/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 = 12524
                
11/05/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 = 12524
                
11/05/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 = 12524
                
11/05/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 = 12524
                
11/05/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 = 12524
                
11/05/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 = 12524
                
11/05/2026 11:06:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:06:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11:06:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:06:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:06:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11:06:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11: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 = 12524
                
11/05/2026 11: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 = 12524
                
11/05/2026 11: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 = 12524
                
11/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11: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 = 12524
                
11/05/2026 11: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 = 12524
                
11/05/2026 11: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 = 12524
                
11/05/2026 11:06:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:06:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11:06:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:06:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:06:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11:06:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:06:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:06:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11:06:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:06:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:06:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11: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 = 12524
                
11/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11: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 = 12524
                
11/05/2026 11: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 = 12524
                
11/05/2026 11: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 = 12524
                
11/05/2026 11: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 = 12524
                
11/05/2026 11: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 = 12524
                
11/05/2026 11: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 = 12524
                
11/05/2026 11: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 = 12524
                
11/05/2026 11: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 = 12524
                
11/05/2026 11:07:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11: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 = 12524
                
11/05/2026 11: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 = 12524
                
11/05/2026 11: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 = 12524
                
11/05/2026 11:09:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11:09:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11:09:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11:09:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11:09:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11:09:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11:09:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:46 - logentry: =========================================
FECHA: 11/05/2026 11:09:46
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-z7vIwq6UOk_p9TxM3_v5oFutr47mvkeJKpt5AXKAfKmr4yAYzwI
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78876040",
    "serieinterna": "KY2721",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "59533",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se actualiza controlador de impresora",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12524",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACqAPYDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUBAgf\/xABFEAACAQMCAgUGCgcHBQAAAAAAAQIDBAUGESFBEhMxUXEiYYGRocEUFSMyNUJ0scLRFjNzkqKy8CQ2UlWC4fEHNENy4v\/EABgBAQADAQAAAAAAAAAAAAAAAAACAwQB\/8QALREAAgECAwUIAwEBAAAAAAAAAAECAxEhMTIEEkFRYRMUIjNxgZGxocHRI0L\/2gAMAwEAAhEDEQA\/AP2YAAAAAAHjaS3b2SJrI6guchcSxuAj1tTsncr5sFzafv8AUSjFyKqlWNNXZ2MjmbDFx3u7iMZbbqmuMn6DiPU+TyLccNh6k48qtbgvy9ptY7SVnbTVxet3ty9nKdXjHfw5+k7ySS2S2SJXissSrdrVNT3V0z+SYVjq+6fSrZG3tYvfyIJNr1L3nvxHqT\/P\/YynA7Rne7R4t\/LJj4j1J\/n\/ALGHbawtXvC9tbuPJSST+5feU4Ob75Du0eDa92S\/6S5aw2+NsLOEex1aL3ivv5efkzr4zO47LLa1uF1nOlPyZr0c\/QdE4uR0rjb99ZCn8Frb7qpRW3Hhx29HtO3i81Y5u1oaXvLk8\/k7QJOV1ndNT3u28nYvtqrfpQXe3x29O\/iUlle2+QtYXNtUU6c1wfd5n5yLi1iWU6ym914PkbAAIlwAAAAAAAAAOZdZmNrm7XGOg5SuYuSn0tlHt5eg6ZMZbhrnEt8E6bW\/7xOCTeJRXm4RTXNfZTgAgXgAAAAAAAAA8bSW7eyR6S2ZyVxmbyWCxMu9XNflGPY1+fqJRjdlVWqqavx4LmYr2+utUZCWMxk+rsqTXwi47VL81w4Ln4FHjcZaYq2VvaU+jHtcnxlJ97fM8xeMt8TZQtreOyXGUuc3zbNw7KXBZEKVJp788ZP8dEAAQNAAAAAAAAAB5KKlFxkk01s0+ZJXFvPSeZp3dtusZdSUa0G+FN8f+V6UVxp5axjksXcWjSbqQfQ35S5P17E4ys8ciitT343WayNqE41KcakJKUZJOLXNH0cLR99K7wkaVT9Zay6l+C7PZw9B3SMlZ2J05qpBSXEAA4WAAAAAAAmNRpx1Lg57bb1XHdeMfzKcmNU\/Tmn\/ALT+KBOnqM21eV7r7RTgAgaQAAAAAAAcjUOahiLJ9W1K7q+TRp9rb79vN7TqTbsiE5xhFylkauoM3WhcRw2MXTvq\/ByT\/VJr79uPmXE3sFhKOEsuqg+nVns6tTb5z\/JGtpzCysqTvr1yqZC5W9SU+Liny\/M7hOTSW6imlCUpdrPPguS\/vMAArNIAAAAAAAAAAAAAABMaU8nM56C+bG54L\/VP8inJjS305qD7T+KZTk6mozbL5S9\/tgAEDSAAAAAACX1vvSt7C7XB0blcfRv+EqCc1zDpafT4eTWi\/Y17ydPUjNtS\/wAZFGDHbz6y2pT4+VBPj4GQgaE7gAA6AAAa2QvqONsat3XklGnFtLfbpPkl52cDT9jXyt9+kWQ26U01b0tuEEuG\/wB+3rMuTxd9ms9So3VPoYu3+UTTT618N0+PDn6PEooxUYqMUkktklyLL7scM2Zd11al5Lwxy6vn\/D0AFZqAAAAAAAAAAAAAAAB8znGnTlOb2jFNt9yPo4er734JgatOL+UuWqUVvxe\/b7N\/WdiruxCpNQg5PgauioOpa3t8+Hwm4bS8P+SmNLD2ax+ItrXbZ06a6X\/s+L9rZunZu8myFCDhTUWAARLgAAAAAAcPWMHLTNy19Vwb\/eR3Dl6lh1mnb2PdT39TT9xKGpFNdXpSXRmxiJqphrKa528H\/CjcOZpufWadspd1JL1cPcdM5LNkqTvCL6AAHCwAAAAAAAAAAAA8bSW7eyRitrq3vKKrW1aFam\/rQluvA+Mja1L3H1ralXdCdSPRVSPajg6B+g632mX8sSSj4WymVRqqoWwaZTgAiXAAAAA+KtanQpSq1pxp04LeUpPZJAZH1KSjFyk0klu2+RJ2y\/SnUbupJ\/F9g\/klyqS37fB7b+hHl7e3Wq7t47GSlTx8H8vcbNdLzf7c\/AprGyoY60ha20OjTgvS33vzlmhdTHfvEsNK\/L\/hsAArNgAAAAAAAAANLMw6zC30O+3nt49Fm6Y68OsoVIbb9KLW3fwOrBkZK8WjkaPqOembXf6rnH+JnbJvQs+lgJLffoV5Lw4J+8pCU9TKtmd6MfQAAgXgAAAAAAAAAAAAmNB+Tibik9943LfHu6KXuZTkxo\/yLnL0H207nj62uz0FkdLM1Tzoe5TgArNINHMVshQx8quNowrV4tPoS5x57Ldbs3gdWDIyV01exLvWkVCVGONuZXsF5VLZdHfs7d2\/YfMcDls5UjWzt11VFPeNrR5eP9NlUCe\/bSjP2Dl5krrll88zDbWtCzoRoW9KNOnHsjEzAFZpSSVkAADoAAAAAAAAAAABMaB+g632mX8sSnJjRL6u3v7V8JUbl7pdi4bfhKcnU1MzbJ5EQACBpAAAAAAAAAAAABMaW+nNQfafxTKcmNLfTmoPtP4pk46WZqvm0\/V\/RTgAgaQAAAAAAAfMpRhBznJRjFbtt7JIA+gTl1rO1hWlQsbSve1ItryI7L3vl3GlXyurL6qvgWNnaQS+bOK3fi5bFipy44GWW1U1pu\/RXLAEtRq60UHOdC2bj2Qm47y9T96Pr9IsxjpQeaxKp0ZPZ1aD3Ufa\/PzHZvgzveY5yTXqinBgs7yhf20bi2qKdOXNcn3MzlZoTTV0AADoAABMYba31rl7aKSVSKq+ng\/xlOS7Xwf\/AKirgv7Tbfcv\/gqCyfB9DNs2CkuTYABWaQAAAAAAAAAAAATGlvpzUH2n8UynJjRz66tlrvb9dcvj39r\/ABE46WZqvnU\/f6KcAEDSAAAAAACZ1RUq3l9Y4OlUdON1LpVWn9VPw8zfbyKYmMr\/AH6xX7J\/iJ08zNtOi3Npfk79jYW2Oto29rSVOEVy7X52+bNgAhmaEklZA8lFSi4ySaa2afM9AOkradLT2qnj4v8AsV+unSjyhLu9e69KKomdVtUcjhbrnTudn4bx\/IpiyeKTM1DwynDgnh7gAFZpAAAJnK+RrnE1Nkt6Uo7\/AL35lMS+rd6GRw14uCp3G0m+zti\/cyoJyyTM1HCpUj1v8oAAgaQAAAAAAAAAAAATGgfoOt9pl\/LEo68+roVJ77dGLe\/dwOBoWLjgG39avJrj5kvcTWhmafnw9H+ijABA0gAAAAAAmM01R1lh603tGacF48V+JFOTetLeTx9vf00+ss6qkmlv0U2uPrSJ09VjNtSfZtrhZ\/DKQGGzuqd7Z0rqk94VYKS49m\/IzEDQmmroAAHSX1W3cZTEWMVxnW6Tfct0t\/PzfoKgl8avjfV91kNm6NnHqqb4rd+n\/U\/SioLJ4JIzUPFKVTm\/rAAArNIAABN64ozlhadeC3+D14zfdtxX3tFBQqqvb06yi4qpBS2fat1uaeet1dYK9pN7fJOS4c1xXtRh0vWdfTto3NScIuD2e\/Y2l7EiecDMvDtD6r6OsACBpAAAAAAAAAAAANXKT6rE3lT\/AAUJv1RZzNGw6GmreX+OU5fxNe42tRtrT170d93Sa4Lft4DTtPq9P2Uduj8nvt3b8feT\/wCPczPHaF0X7OmACBpAAAAAABjr0KdzQqUKselTqRcZLvTMgAauS2nrmWGyNfA3tTby+lbTk+Ek+X9c9ypObmMHaZqioXCcZx+ZVht0o+bwORCw1ZYRVK3vre4pRilHrO1bbd697LHaeN8THFzoeHdbXC30VJO6gzlWFeGIxfyl9XfRbj\/4k+fjtx8y4mKVrq+6iqdS8traLbUpQS329X5HQwmnqGHUqspuvdVPn15Li\/D+uISjHFu52U6lXwxTiuLf6M+FxUMPjYWsWpS36U5JbdKT7WdAAg3d3ZpjFRiorJAAHCQAABgvf+xuP2UvuOLoj+7sP2sju3FN1barTi0nODit\/OiTwuVhpqlLF5ajUo9GpJxrqDcJLhttw3fMsirxaRkqyUK0ZSwVn+iwBgtby2vafTtq8KsV29F9ndv3GcrNSaaugAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABiuLW3u6fV3FGnWg\/qzimvaZQDjSeDJ250fbKr1+Mr1LGsnuui949qfiuz\/Y1llNR4VKGRsVfUU9uupdu3oX3pFWCe++OJnezxTvTe6+mXwc3D52yzVOTtpONSHzqU9lJefwBnt7ehTv7mrCjTjUn0elOMUnLhzYOSSTwLKTk4+LM\/9k=",
    "razonSocial": "TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "EMERSON ORDOÑEZ",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "REVISION",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:09",
    "ubicacionGPS": "LatLng(lat: -23.7680114, lng: -70.326923)",
    "horaLlegada": "10:40",
    "horaDespacho": "10:04",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 11/05/2026 11:09:46
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-z7vIwq6UOk_p9TxM3_v5oFutr47mvkeJKpt5AXKAfKmr4yAYzwI
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78876040",
    "serieinterna": "KY2721",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "59533",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se actualiza controlador de impresora",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12524",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACqAPYDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUBAgf\/xABFEAACAQMCAgUGCgcHBQAAAAAAAQIDBAUGESFBEhMxUXEiYYGRocEUFSMyNUJ0scLRFjNzkqKy8CQ2UlWC4fEHNENy4v\/EABgBAQADAQAAAAAAAAAAAAAAAAACAwQB\/8QALREAAgECAwUIAwEBAAAAAAAAAAECAxEhMTIEEkFRYRMUIjNxgZGxocHRI0L\/2gAMAwEAAhEDEQA\/AP2YAAAAAAHjaS3b2SJrI6guchcSxuAj1tTsncr5sFzafv8AUSjFyKqlWNNXZ2MjmbDFx3u7iMZbbqmuMn6DiPU+TyLccNh6k48qtbgvy9ptY7SVnbTVxet3ty9nKdXjHfw5+k7ySS2S2SJXissSrdrVNT3V0z+SYVjq+6fSrZG3tYvfyIJNr1L3nvxHqT\/P\/YynA7Rne7R4t\/LJj4j1J\/n\/ALGHbawtXvC9tbuPJSST+5feU4Ob75Du0eDa92S\/6S5aw2+NsLOEex1aL3ivv5efkzr4zO47LLa1uF1nOlPyZr0c\/QdE4uR0rjb99ZCn8Frb7qpRW3Hhx29HtO3i81Y5u1oaXvLk8\/k7QJOV1ndNT3u28nYvtqrfpQXe3x29O\/iUlle2+QtYXNtUU6c1wfd5n5yLi1iWU6ym914PkbAAIlwAAAAAAAAAOZdZmNrm7XGOg5SuYuSn0tlHt5eg6ZMZbhrnEt8E6bW\/7xOCTeJRXm4RTXNfZTgAgXgAAAAAAAAA8bSW7eyR6S2ZyVxmbyWCxMu9XNflGPY1+fqJRjdlVWqqavx4LmYr2+utUZCWMxk+rsqTXwi47VL81w4Ln4FHjcZaYq2VvaU+jHtcnxlJ97fM8xeMt8TZQtreOyXGUuc3zbNw7KXBZEKVJp788ZP8dEAAQNAAAAAAAAAB5KKlFxkk01s0+ZJXFvPSeZp3dtusZdSUa0G+FN8f+V6UVxp5axjksXcWjSbqQfQ35S5P17E4ys8ciitT343WayNqE41KcakJKUZJOLXNH0cLR99K7wkaVT9Zay6l+C7PZw9B3SMlZ2J05qpBSXEAA4WAAAAAAAmNRpx1Lg57bb1XHdeMfzKcmNU\/Tmn\/ALT+KBOnqM21eV7r7RTgAgaQAAAAAAAcjUOahiLJ9W1K7q+TRp9rb79vN7TqTbsiE5xhFylkauoM3WhcRw2MXTvq\/ByT\/VJr79uPmXE3sFhKOEsuqg+nVns6tTb5z\/JGtpzCysqTvr1yqZC5W9SU+Liny\/M7hOTSW6imlCUpdrPPguS\/vMAArNIAAAAAAAAAAAAAABMaU8nM56C+bG54L\/VP8inJjS305qD7T+KZTk6mozbL5S9\/tgAEDSAAAAAACX1vvSt7C7XB0blcfRv+EqCc1zDpafT4eTWi\/Y17ydPUjNtS\/wAZFGDHbz6y2pT4+VBPj4GQgaE7gAA6AAAa2QvqONsat3XklGnFtLfbpPkl52cDT9jXyt9+kWQ26U01b0tuEEuG\/wB+3rMuTxd9ms9So3VPoYu3+UTTT618N0+PDn6PEooxUYqMUkktklyLL7scM2Zd11al5Lwxy6vn\/D0AFZqAAAAAAAAAAAAAAAB8znGnTlOb2jFNt9yPo4er734JgatOL+UuWqUVvxe\/b7N\/WdiruxCpNQg5PgauioOpa3t8+Hwm4bS8P+SmNLD2ax+ItrXbZ06a6X\/s+L9rZunZu8myFCDhTUWAARLgAAAAAAcPWMHLTNy19Vwb\/eR3Dl6lh1mnb2PdT39TT9xKGpFNdXpSXRmxiJqphrKa528H\/CjcOZpufWadspd1JL1cPcdM5LNkqTvCL6AAHCwAAAAAAAAAAAA8bSW7eyRitrq3vKKrW1aFam\/rQluvA+Mja1L3H1ralXdCdSPRVSPajg6B+g632mX8sSSj4WymVRqqoWwaZTgAiXAAAAA+KtanQpSq1pxp04LeUpPZJAZH1KSjFyk0klu2+RJ2y\/SnUbupJ\/F9g\/klyqS37fB7b+hHl7e3Wq7t47GSlTx8H8vcbNdLzf7c\/AprGyoY60ha20OjTgvS33vzlmhdTHfvEsNK\/L\/hsAArNgAAAAAAAAANLMw6zC30O+3nt49Fm6Y68OsoVIbb9KLW3fwOrBkZK8WjkaPqOembXf6rnH+JnbJvQs+lgJLffoV5Lw4J+8pCU9TKtmd6MfQAAgXgAAAAAAAAAAAAmNB+Tibik9943LfHu6KXuZTkxo\/yLnL0H207nj62uz0FkdLM1Tzoe5TgArNINHMVshQx8quNowrV4tPoS5x57Ldbs3gdWDIyV01exLvWkVCVGONuZXsF5VLZdHfs7d2\/YfMcDls5UjWzt11VFPeNrR5eP9NlUCe\/bSjP2Dl5krrll88zDbWtCzoRoW9KNOnHsjEzAFZpSSVkAADoAAAAAAAAAAABMaB+g632mX8sSnJjRL6u3v7V8JUbl7pdi4bfhKcnU1MzbJ5EQACBpAAAAAAAAAAAABMaW+nNQfafxTKcmNLfTmoPtP4pk46WZqvm0\/V\/RTgAgaQAAAAAAAfMpRhBznJRjFbtt7JIA+gTl1rO1hWlQsbSve1ItryI7L3vl3GlXyurL6qvgWNnaQS+bOK3fi5bFipy44GWW1U1pu\/RXLAEtRq60UHOdC2bj2Qm47y9T96Pr9IsxjpQeaxKp0ZPZ1aD3Ufa\/PzHZvgzveY5yTXqinBgs7yhf20bi2qKdOXNcn3MzlZoTTV0AADoAABMYba31rl7aKSVSKq+ng\/xlOS7Xwf\/AKirgv7Tbfcv\/gqCyfB9DNs2CkuTYABWaQAAAAAAAAAAAATGlvpzUH2n8UynJjRz66tlrvb9dcvj39r\/ABE46WZqvnU\/f6KcAEDSAAAAAACZ1RUq3l9Y4OlUdON1LpVWn9VPw8zfbyKYmMr\/AH6xX7J\/iJ08zNtOi3Npfk79jYW2Oto29rSVOEVy7X52+bNgAhmaEklZA8lFSi4ySaa2afM9AOkradLT2qnj4v8AsV+unSjyhLu9e69KKomdVtUcjhbrnTudn4bx\/IpiyeKTM1DwynDgnh7gAFZpAAAJnK+RrnE1Nkt6Uo7\/AL35lMS+rd6GRw14uCp3G0m+zti\/cyoJyyTM1HCpUj1v8oAAgaQAAAAAAAAAAAATGgfoOt9pl\/LEo68+roVJ77dGLe\/dwOBoWLjgG39avJrj5kvcTWhmafnw9H+ijABA0gAAAAAAmM01R1lh603tGacF48V+JFOTetLeTx9vf00+ss6qkmlv0U2uPrSJ09VjNtSfZtrhZ\/DKQGGzuqd7Z0rqk94VYKS49m\/IzEDQmmroAAHSX1W3cZTEWMVxnW6Tfct0t\/PzfoKgl8avjfV91kNm6NnHqqb4rd+n\/U\/SioLJ4JIzUPFKVTm\/rAAArNIAABN64ozlhadeC3+D14zfdtxX3tFBQqqvb06yi4qpBS2fat1uaeet1dYK9pN7fJOS4c1xXtRh0vWdfTto3NScIuD2e\/Y2l7EiecDMvDtD6r6OsACBpAAAAAAAAAAAANXKT6rE3lT\/AAUJv1RZzNGw6GmreX+OU5fxNe42tRtrT170d93Sa4Lft4DTtPq9P2Uduj8nvt3b8feT\/wCPczPHaF0X7OmACBpAAAAAABjr0KdzQqUKselTqRcZLvTMgAauS2nrmWGyNfA3tTby+lbTk+Ek+X9c9ypObmMHaZqioXCcZx+ZVht0o+bwORCw1ZYRVK3vre4pRilHrO1bbd697LHaeN8THFzoeHdbXC30VJO6gzlWFeGIxfyl9XfRbj\/4k+fjtx8y4mKVrq+6iqdS8traLbUpQS329X5HQwmnqGHUqspuvdVPn15Li\/D+uISjHFu52U6lXwxTiuLf6M+FxUMPjYWsWpS36U5JbdKT7WdAAg3d3ZpjFRiorJAAHCQAABgvf+xuP2UvuOLoj+7sP2sju3FN1barTi0nODit\/OiTwuVhpqlLF5ajUo9GpJxrqDcJLhttw3fMsirxaRkqyUK0ZSwVn+iwBgtby2vafTtq8KsV29F9ndv3GcrNSaaugAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABiuLW3u6fV3FGnWg\/qzimvaZQDjSeDJ250fbKr1+Mr1LGsnuui949qfiuz\/Y1llNR4VKGRsVfUU9uupdu3oX3pFWCe++OJnezxTvTe6+mXwc3D52yzVOTtpONSHzqU9lJefwBnt7ehTv7mrCjTjUn0elOMUnLhzYOSSTwLKTk4+LM\/9k=",
    "razonSocial": "TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "EMERSON ORDOÑEZ",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "REVISION",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:09",
    "ubicacionGPS": "LatLng(lat: -23.7680114, lng: -70.326923)",
    "horaLlegada": "10:40",
    "horaDespacho": "10:04",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/05/2026 11:09:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78876040

[11/05/2026 11:09:46] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('78876040', 'KY2721', 1, 24456550, 59533, NOW(), 
				'10:04', '10:40', '11:09', 15, '•Se actualiza controlador de impresora', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778512186.png', '', null, 'COMPLETADO','LatLng(lat: -23.7680114, lng: -70.326923)' )
				
[11/05/2026 11:09:46] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200262

11/05/2026 11:09:46 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200262'                    
				WHERE idllamado = 12524			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


11/05/2026 11:09:46 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12524			
				
11/05/2026 11:09:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


11/05/2026 11:09:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            [11/05/2026 11:09: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/05/2026 11:09:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            [11/05/2026 11:09: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/05/2026 11:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                [11/05/2026 11:09: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/05/2026 11:09:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12524
            GROUP BY l.idllamado;
            
11/05/2026 11:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                
11/05/2026 11:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12524
                [11/05/2026 11:56:37] 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/05/2026 11:56: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 11:56:40] 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/05/2026 11:56: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 11:56:47] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 11:57:11] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 11:57:13] 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/05/2026 11:57:13] 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/05/2026 12:02:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12407
            GROUP BY l.idllamado;
            [11/05/2026 12:02: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/05/2026 12:02:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12407
            GROUP BY l.idllamado;
            
11/05/2026 12:02:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12407
            GROUP BY l.idllamado;
            
11/05/2026 12:02:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12407
            GROUP BY l.idllamado;
            
11/05/2026 12:02:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12407
            GROUP BY l.idllamado;
            
11/05/2026 12:02:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12407
                [11/05/2026 12:02:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 12:02:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12407
                
11/05/2026 12:02:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12407
                
11/05/2026 12:02:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12407
                [11/05/2026 12:02:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 12:02:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12407
                
11/05/2026 12:02:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12407
                
11/05/2026 12:02:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12407
                
11/05/2026 12:02:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12407
                
11/05/2026 12:02:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12407
            GROUP BY l.idllamado;
            [11/05/2026 12: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/05/2026 12: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/05/2026 12:02:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12407
            GROUP BY l.idllamado;
            
11/05/2026 12:02:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12407
            GROUP BY l.idllamado;
            
11/05/2026 12: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 = 12407
                
11/05/2026 12:02:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12407
            GROUP BY l.idllamado;
            
11/05/2026 12: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 = 12407
                [11/05/2026 12:02:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 12: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 = 12407
                
11/05/2026 12: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 = 12407
                
11/05/2026 12: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 = 12407
                
11/05/2026 12: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 = 12407
                
11/05/2026 12: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 = 12407
                
11/05/2026 12: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 = 12407
                
11/05/2026 12: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 = 12435
                
11/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
11/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
11/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
11/05/2026 12: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 = 12435
                [11/05/2026 12:02:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 12:02:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            [11/05/2026 12:02:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 12:02:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
11/05/2026 12: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 = 12435
                
11/05/2026 12: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 = 12435
                [11/05/2026 12:02:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 12: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 = 12435
                
11/05/2026 12: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 = 12435
                
11/05/2026 12: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 = 12435
                
11/05/2026 12: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 = 12435
                [11/05/2026 12:02: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/05/2026 12:02: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/05/2026 12:02:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
11/05/2026 12:02:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
11/05/2026 12:02:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            [11/05/2026 12:02: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/05/2026 12:02:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
11/05/2026 12:02:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            
11/05/2026 12:02:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
11/05/2026 12:02:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
11/05/2026 12:02:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
11/05/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 = 12435
                
11/05/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 = 12435
                
11/05/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 = 12435
                
11/05/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 = 12435
                
11/05/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 = 12428
                
11/05/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 = 12428
                
11/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
11/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            [11/05/2026 12:02: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/05/2026 12:02: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/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
11/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
11/05/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 = 12428
                
11/05/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 = 12428
                [11/05/2026 12:02: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/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
11/05/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 = 12428
                
11/05/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 = 12428
                
11/05/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 = 12428
                
11/05/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 = 12428
                
11/05/2026 12:03:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
11/05/2026 12:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                [11/05/2026 12:03:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 12:03:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            
11/05/2026 12:03:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            [11/05/2026 12:03:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 12:03:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12428
            GROUP BY l.idllamado;
            [11/05/2026 12:03:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 12:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
11/05/2026 12:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
11/05/2026 12:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
11/05/2026 12:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
11/05/2026 12:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
11/05/2026 12:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                
11/05/2026 12:03:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12428
                [11/05/2026 12:03:16] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[11/05/2026 12:03:17] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 12:16: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/05/2026 12:16: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;
				
[11/05/2026 12:16: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;
                
[11/05/2026 12:17: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 12:17:50] 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/05/2026 12:17:52] 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/05/2026 12:25:51] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 12:25:53] 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/05/2026 12:25: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/05/2026 12:26:00] 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/05/2026 12:26: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 12:26:05] 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/05/2026 12:26: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 12:26: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/05/2026 12:57: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/05/2026 12:57: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/05/2026 12:57: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/05/2026 12:57:28] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 12:57:28] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[11/05/2026 13:28: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/05/2026 13:28:43] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 13:28: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/05/2026 13:28:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 13:29:12] 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/05/2026 13:29: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 14:52: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/05/2026 14:52: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;
				
[11/05/2026 14:52: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;
                
[11/05/2026 14:52: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/05/2026 14:52:17] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 14:52:17] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[11/05/2026 14:52: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/05/2026 14:52:20] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[11/05/2026 14:52:20] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 14:52: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/05/2026 15:01:21] 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/05/2026 15:01: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 15:01:23] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:01:58] 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/05/2026 15:10: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/05/2026 15:10: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/05/2026 15:10: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/05/2026 15:10:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:10: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/05/2026 15:10:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:10: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/05/2026 15:10:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:10: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/05/2026 15:10: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/05/2026 15:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:10:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:10:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:10:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:10:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:10:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:10:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:10: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/05/2026 15:10:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:10: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/05/2026 15:10:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:10:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:10:52] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:10: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/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:10: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/05/2026 15:10:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:10: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/05/2026 15:10:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:10:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:11: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/05/2026 15:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:11: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/05/2026 15:11:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:11: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/05/2026 15:11: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/05/2026 15:11: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;
                

11/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:11: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/05/2026 15:11: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/05/2026 15:11:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:11:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:11:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:11:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:11:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:11:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:11: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/05/2026 15:11: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/05/2026 15:11: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/05/2026 15:11: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/05/2026 15:11:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:11: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/05/2026 15:11: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/05/2026 15:11: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/05/2026 15:11: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/05/2026 15:11: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/05/2026 15:11:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:11: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/05/2026 15:11: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/05/2026 15:11: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/05/2026 15:11: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/05/2026 15:11:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:11: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/05/2026 15:11: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/05/2026 15:11: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/05/2026 15:11:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:11:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:11:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:11:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:11: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/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:11: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/05/2026 15:11: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/05/2026 15:11: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/05/2026 15:11: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/05/2026 15:11: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/05/2026 15:11:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:11: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/05/2026 15:11: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/05/2026 15:11: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/05/2026 15:11:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:11: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/05/2026 15:11: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/05/2026 15:12: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/05/2026 15:12: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/05/2026 15:12:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:12: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/05/2026 15:12: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/05/2026 15:12:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:12:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:13:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            [11/05/2026 15:13: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/05/2026 15:13: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/05/2026 15:13: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/05/2026 15:13: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/05/2026 15:13:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:13:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:13:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:13:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:13:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:13:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:13:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:13:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:13: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/05/2026 15:13: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/05/2026 15:13:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:13: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/05/2026 15:13: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/05/2026 15:13: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/05/2026 15:13: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/05/2026 15:13: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;
                
[11/05/2026 15:13: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;
                

11/05/2026 15:13:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:13: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/05/2026 15:13: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/05/2026 15:13: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/05/2026 15:13: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/05/2026 15:13:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:13: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/05/2026 15:13: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/05/2026 15:13: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/05/2026 15:13: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/05/2026 15:13: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/05/2026 15:13:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:13: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/05/2026 15:13: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/05/2026 15:13:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:13: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/05/2026 15:13: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/05/2026 15:13:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:13:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:13: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/05/2026 15:13: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/05/2026 15:13:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:13: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/05/2026 15:13: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/05/2026 15:13:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:13:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:13:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:13: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/05/2026 15:13: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/05/2026 15:13: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/05/2026 15:13:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:13: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/05/2026 15:13: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/05/2026 15:13: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/05/2026 15:13:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:13:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:13:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:13:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:13:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:13: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/05/2026 15:13:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:13: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/05/2026 15:14: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/05/2026 15:14: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/05/2026 15:14: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/05/2026 15:14:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:14: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/05/2026 15:14:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:14:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:14: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/05/2026 15:14: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/05/2026 15:14:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:15: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/05/2026 15:15: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/05/2026 15:15:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:15:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:15:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:15:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            
11/05/2026 15:15:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:15:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                [11/05/2026 15:15:42] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[11/05/2026 15:15:42] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 15:15: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/05/2026 15:15:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:15: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/05/2026 15:15: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/05/2026 15:15:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:15:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
11/05/2026 15:15:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:15: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/05/2026 15:15:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            
11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15:15:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            
11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15:15:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            
11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15:15:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            
11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            
11/05/2026 15:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:15:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            
11/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:15:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            
11/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15:16:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            
11/05/2026 15: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 = 12531
                
11/05/2026 15:16:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            
11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:16:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            
11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15: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 = 12531
                
11/05/2026 15:16:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:16:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:16:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:16:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            
11/05/2026 15:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:16:46 - logentry: =========================================
FECHA: 11/05/2026 15:16:46
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-klQ.S_djs5.c9vrTiu1YiIGooX0Ms0VI2RX0APPot3Kf.6IYsz1
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76689118",
    "serieinterna": "TO2530",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "1675060",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega corchetes",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12531",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACkAOMDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABCEAABAwMCAgcEBwQKAwEAAAABAAIDBAURBiESMRNBUWFxgZEUIqGxFSMywdHh8FJydLIWMzU3QlNVgpLxBzbC4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgQEAwcDBQAAAAAAAAABAgMREiExQQQTIlFhcYEjMpGhwdHhM7HwFEJSYnL\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICv3a71s1f9FWQsdVNGZZHYxENu3x7Dz7VwUFPfq+J9RSagZIWPcw8TDgOHiOXlyK36Ka2UXCsc3M0lQQ53Pbn8yVZmMZGMMaGjOcAYVreHpSMNOm6yVSTee136FYdf7vZp2NvdEH078D2iEcifh5bHYndWWGaKohZNC8PjeMtc07ELyop4qunfTzsD45BhzSq\/piWWirq2xzF7hTO4onuP+E8h3ZGD6rjtJXWpYnKlNRk7p6eZZVCG8VEOrPoueNop5ogYHAbkgZOT6jyCm1WdawvjpaS5Q8QlpJhgt6gd\/mB6rkEm7MlxEpRhjjtn6blmRYRSNmiZKw5a9oc09xRQNBmi84hxFuRkDJC9QBERAFw115t9uLm1NS1r2t4uAbu9AuO9XOobOy124Zq5gMvxnomk4z48z5Ly06YpKA9NUk1lU4e9JL7wB68A+amopK8jPKpOUsNNebOOTVNZWyBlmtUs43y+UEAEcx2fFPpXVf+iQ\/8v\/0rMAAMAYAXq7iWyOcmo83N+liJtd+jr6h9HPC6lrIxl0Tzn0PbjfCllXNU0U0ToL3RAe0UhHGDjBZ+XyJU3Q1sNwo46qB3Ex49D1j1XJJWujtKcsTpz1XzR0IiKBoCIiAIiIAiIgCIiAIiICs6SHsdXc7bIcSRzcYB62nr+XqrMq1qGmlttfHqCiYXOZ7tSwH7TMcz8B6Kdoq6nuFMyoppA9jhnvHcR1KyefUZaDwXpPVaeR0KsSfV\/wDkOINGOkpvePbsfwHorOqxP\/eJTfwx+TlyG\/kd4j+3\/pFnUVqaOOTTtaJOQj4h4jcfFSqrOsKszQwWWmPFU1cjctzybnbPn8ikFeSJcRJRpSuSem3vfp2iLwQeiA37BsPhhF20tOykpIaZn2YmBg8hhFFu7uWU4uMEmV25n6I1jR15PDBWsMMmB19\/mWnyKtCh9UW59xssjYs9LCelYB1kdXp8cLdYLj9KWaCpc7MmOGT94bH15+anLOKZRT6Ksod819SSWL3iONzznDQScLJRuoZHR6frXNOD0RGfHZQSu7GicsMXLsRuk4m1Taq8SRjpaiZ3A4jcN2\/WO5WRRWmWtZpyiDRgdHnzJJKlV2bvJlXDxtSiERFEvMXsbJG6N7Q5rgQ4HrCrdgkbZ7tUWB4eQXGWB7usEcvh65VmVX1XH7JcrXdmYBjlEbyTjI5j4cXqrIZ9Jm4jpSqLb9nqWhERVmkIiIAiIgCIuRlE5tzfW+1TFr4wzoC73BvzA7fxKHG3sdaIiHSqSX29T3Gv9hghfBQP4HxYJc\/3iMjvwD+ambPfKS9U\/HAeGRo9+Jx95v4jvUTZHNotW3ajkw19S7po9+YyT\/8AWfJeaio5bTWM1BbhwuYQKmMcng7ZPrg+RVzSbwnnQnUjHmN3V3dds9i0OaHNLXAEEYIPWq5VWSttdZJcbE4OdJkyU0hy13huOsk8\/DsU9R1UVdSRVUBzHK0ObnmtyrTcTZOnGqk\/gyJs2oKa7fVcJhqmt4nwu5jfG3661HT\/AN4lN\/DH5OVh9lpzVCqMLOnDeEScPvY7MqoXO7Q27V9VWOY6Q01OI2N5hziB19XM\/HwU4Zt27Gau3CEeY9GsyxXu9wWWk6R46SZ+0UQO7z+C49P2ipZO+73NxdXVDfskf1bezx+S5rJZKiuq\/pq9e\/O7eGFw2YOokdXcPPmrQuNqKsidOMqsuZNWWy+rCIirNYVVtANk1VVWokNp6odNA3qB7B5ZH+0K1Kv6uoJJKKO5U21TQO6QEcy3r9OfkVODzs9zNxCaSqLWOfpuWBRuoWGTT9a0f5RPkN1vtlfHcrdDVx8pG5I\/ZPWPVbauH2mjng\/zY3M9RhcWTLZWnTdt0cGmXB2nKIj\/AC8c+wkKVVe0VVCayGnIDX00rmuaD2759SfRWFJq0mR4eWKlF+AREUS4Ksa+\/sOH+Jb\/ACuVnVY14OOz08bd3vqW8Les+678Qp0\/fRm4v9CRZ0RFA0hERAEREAREQBERAVvVNHNBJBfKNv19GfrMc3M\/RPkVKUVbR3+1l7MPilaWSMPNpI3BXeQCMEZBVUq6Op0tXPuVujMtBKc1FOP8HeO75KxdStuZJp0pua916\/f7mzSMzqSorrHKcupZC6PI3Lc4J+R81aFTprjSP1ZbbnSTB0NU0wyY2OeWHD\/c30VxSos79zvCyWFwT0fy2C+cR1lNHqmruFZSyVMbJndGIhkcQOxPkF9BqpxS0k1Q7lFG558hlQmiYOjsRnI96olc\/O2+NvmCuweFNkOIg6lSEE+7NP8ATml\/0+s\/4j8V0UesbdVTthkjnp3OzvI3YDvKn1VdYTtrJqSzUw4quWQPz+wN+vq7fAeCRwydrCo61KOJzv4W1LUixY3gja3OeEAZRVG0yWLmtewscMtcMEdoWSICp6fe6yX6qsUzj0Uh6SnJ6\/8AsfEK2KuavoJH00V1pdqiidxZH7PP4Hf1UxbK+O5W6Grj5SNyR+yeseqsnmsRloezk6T2zXl+CApj9Ca0lpiQILk3jbyGH5JHxyPNWpVrWtO8UNPcoTiWilDs45AkfeArDTzsqaeOeMhzJGhzSOwpLNKQo9E5U\/VeT\/JsREVZqCrOqeGe6Waj2JfPxOHYMj8\/RWZViA\/S+tHVDWh9PQR8DXjdvFuMdmd8+DQpw1uZuJziod2izoiKBpCIsJJooW8UsjI29rnABAZosY5GSsD43te08i05BWSAKsyaxjbdBAymL6TpeiM7Tkk42wPHPlurHMwywvjDuEvaRxdmV88HGbVbKV4d07a8ggnOfs9fmracU9TFxdWcLYcv4sj6MiLXUTxUsDppnBrGDJJVRtbtmzYvHNDmlrgCCMEHrUNb9TU9dXijfBJTySDii6QY6QYzn5+iml1prUhCpGorxdyl3fTwtNyiudFR+0U3HmSnGR0Z7QRyHy8FabfcaW50zZ6WVrwQOJoO7DjkV1OaHNLXAEEYIPWoCq0lA+V0lBVy28PxxNh5H4jtU8SkrSM6pSoybpK6e32NGpbm6seLDbiJKmc8MpxkMb2H9bBT9BRx2+hhpIt2xMDc9vafMrltdko7OJXxZdLISZJXn3iM5x3BRty1NJNVfRtij9pqj9qUDLGfj48vFd97pjocT5bdSrq8kvojq1BqBloiEMLemrZdo4hvjPWfw61jp2yOoozW131lwn9573blmerK8sunBRTGvr5Parg\/cyE5DPDv71OrjaStElCEpy5lT0Xb8hERVmoIiIDF7GyRuje0Oa4EOB6wqxplwtd4r7G9ziGu6WEnkRt8cEeitKq+qGOt10t98jdwhjxDLtn3dz8uL4KyGd49zLxHThqrb9nqWC4Uja+3z0j8YlYW5I5HqPkd1DaOrXS2x9BPkVFE8xva7mBnb03HkrA1wc0OaQQRkEdaq10BsOpobmzamrPcqMjZvL06j5JHNOIrdEo1dtH5P7MtSItFZWQUFLJU1DwyOMZJ+4d6rNLaSuzh1FcxbLTI9r+GeX6uHnniPXt2c\/RNO2s2u1MZJvUSnpJnb5Lj49gx8VFWqnmvl0N9r2BlIzamik6uWDv1dfirPFNHPGJIntew8nNOQrJdKwmal7SfMem339TNERVmoKqzQtvOs6qgrOI09PTZa1pIzngJz6\/AedqVZvDJ7LfRfYm8dPIwR1LQ0EgbDP8ALy7FZT1M3ErpTeiefka6aJtl1jBbqQv9nqoOIsc7IaQHcs\/u\/FWpVO1zsv2sH3KHj9npIAyMluMkg7cu9ytiVNVc5wtsMnHS7t5BUGpfSN1oZ42PfSU0nHK6MbNfjPV3jl3FWXUN7ZbKV0UJMlbKMRxtGSO13kFlYLQKC09FUtEk1Qekn4\/eyT1HPNdj0q73IVlzpqEds39Ebpb\/AGmGB0rrhTkNGeFsgLj3cPPKg6WCo1Vdfba2J0dtpz9REeUh7T29\/p2qXGl7KJ+m9gZx\/vO4fTOPgpVrQ1oa0AADAA6lzEo+6TdOpUftLWWy38yr6xibSG3XOJoa6mnDdh1cwPDY+qtAIIyDkFQesohJpqoccZjcxwz+8B96kKGqYLLTVU7xGw07Huc93LLRzKPOKELRrzXdJ\/Q7VH3S90NoiLqmYceMtiacvd5feoer1JWXOZ1Fp6ndKeTqpww1vhn7\/RdVp0vBRy+2Vz\/bK1xyZH7gHuB+ZTClnIOtKo7Uvjt+SOIvWqzh7XW63HmP8Ug+\/wCXirHbbVR2mn6Gki4Qd3OO7nHvK7EXHK+S0J06Kg8Td5d\/5oERFAvCIiAIiIAozUdP7Tp+tjxkiIvG3W3f7lJrF7BJG5juTgQV1OzuRnHFFx7kZpqbp9PUbjzazg\/4nH3Ldebey52qemcAXFpLCRnDhyKidCSF9he04wyoc0ejT96mbldKS003T1cnC0nDWgZc49gCnJNTyM9OUZcOnPSxE6fvkX9HDNWykPpCY5Cdyd\/dx27YC44aSt1bWxV1bH0FsiOYoSd5O\/8AP07VCOYyqvUFdcaR1NQV05IaHYyR1nPe754X0hrQ1oa0AADAA6lOfRmtWZ6F66wzeUfn2b8Dhu7WssFcxow1tLIAOwcJVPsVbX2Kjpq6QOmtlTkPA36EhxGe7t789quV6\/sOv\/hpP5So3TFPDV6Pp6eojEkUgka5p6xxuUYu0M+5ZWg5V1hdmk7fFE5FLHNE2WJ4ex4y1zTkELNVXguel6pwgjkrrbIchhd70RJxz\/QPcuwazs4GJZJYnjmx0TshRcHtmWx4iCyqdL8SeUJqW7tt9IKWKMT1VX9XHFz2O2SPguWp1U+rzT2SkkqZnNyHuYQ0eviCt1l037LMLhcpTU17ty5xyGHu711Rw5yIzqur0UvjsvuzipNM3S2Rx1FurWQzloMsDiTG47bdeev12K2uOspQ6LgpYgQQJRjI7+Z+Ss6JzG9UdXCxirRbS8GQlo03HQy+2VsntdcSSZX745cs+HNTaIoNtu7L4U401aKCLgul6obRFxVUuHEZbE3d7vAKB6S\/6mdwxtNst5P29w94+Z+AUlBvN6FdSvGLwrN9l\/MjZq6\/ULbbPbo5RNUSgAhm4Zvnc+XJcto0\/WXijpprpWE0TWDoqeI4yByzjYfPwUnNp+itWn65lLHxSugdxSv3cdv1sF0aUeH6aoyCDhrgcdzirMSUOky8uVSv7XtovP5klS0lPRQNgpomxRt5NaFuRFQegkkrIIiIdCIiAIiIAiIgCIq3W6gqa2tdbrDE2d7f62cnDWdWx+\/0BUlFsrqVI01mRFmv0Vkpq+m4HyzmpPRRAHJ6iT6KVt2n6qvqY7nf5TLKN2UxA4Wdmery9crl0bQsjuFy9qYJKuCUN6R255nJBPbjmrgrakrN2MXC0nOCc9FovXcjb5aI7xbHUuQx7SHRux9kj9YWnTdydWUPs1QC2rpcRytcdzjke3q61MKt3ijmtdxbfKLZnKpiaMB46z8NyVXHNYWaKq5cuavXy\/BL3r+w6\/8AhpP5SuLSH\/q9H\/v\/AJ3LbVV1Pc9O10tI\/pAaeQYA3B4DtjtWvSLS3TFGHAg4ed\/33LukPU5dPiE1\/i\/3RMrRLRUkxzLSwyHOcujBW9FWaWk9TCOKOFgZFG1jRya0YCzREOhF4SAMk4AVfuWrIYZvZLZEa+qO2I8loPiOfl6qSi5aFdSrCmryZOzzw00RlnlZFG3m55wAq3PqOtu0r6TT9M5\/U6qeMNb378vPfuWMOmq27ytrL\/VOJ5tpozgMHZ\/1v3qzQU8NLC2GCNscbRgNaMAKXTHxZR7Wr\/qvn+CEtWlaelk9ruDvbaxx4nPk3aD3A8\/E\/BT6IoOTepfTpxpq0Ua6hodTStcAQWEEHr2UBoZxdYDnqmcBt3BWFzQ9haeRGFAaOp6ijt9RS1FPJCY5yWl7SOIEDl28uYUl7jK5p8+D8H9CwoiKBoCIiAIiIAiIgCIiAjNRNqn2OpbSDikLDkDOS3rxjrXNpuazwWmP2OWNnFvJxuAdxY3ypxQ9ZpW0VsnSPpujdkkmI8PET2qaatZmepCePmQs3pmcFmkB1ndWxuDo3MDgQcjq\/Eqzrkt9spLXCYqSMsa4guy4nJAAzv4LrXJNN5EqMHCNn3b+IREUS4gK\/SsVRUmWiqX0bJgG1MUf2ZG+HUceX3zdPBHTU8cEQwyNoaFsRScm1ZlcaUINuK1CIuO4XWitcPS1k4jB+y3m53gFxK+hOUlFXbOxQ931LQWk9E5xnqOqGM5IPf2KKNbe9T+5b2G30Od53H3n+H5eql7Rp2htLQ5jOmqOZnkGXeXYp4VH3jLzZ1f0lZd39ERJtt71IQ+4ym30Z3FOz7RHf+fop+22qjtMHRUkQbn7Tju53iV2ouObeWxZToRg8Wr7sIiKBeEREAREQBERAEREAREQBERAEREAREQBERAERaKuspqGEzVU7IWDrccZ8O1DjaSuzetFXWU1DCZqqdkLB1uOM+Haq5PqmsuUpprBRPlPIzyDZvlyHn6LOk0k6onFXfKt9ZNz6MH3B3fkMKzBb3jN\/UOeVJX8dvz6HkuobheXuptP0x4Rs+qlGA3w\/P0W63aSgim9rukxr6onOXkloPnz8\/RT8UUcMbY4o2xsaMNa0YA8lmuOe0cjqoXeKo7v5fA8AAGAMAL1EUDSEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBR9yslDdpYZKyMvMOeEBxAOe3HgiLqdnkQqRUo2aOyCCGmiEUETIo28msGAFsRFwmlYIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "SOC. POR ACCIONES EDUCACION BRAC SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JORGE CAMARILLO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "CORCHETES",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I264\",\"id_control\":\"28642\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "15:16",
    "ubicacionGPS": "LatLng(lat: -23.6814896, lng: -70.4062915)",
    "horaLlegada": "15:15",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 11/05/2026 15:16:46
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-klQ.S_djs5.c9vrTiu1YiIGooX0Ms0VI2RX0APPot3Kf.6IYsz1
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76689118",
    "serieinterna": "TO2530",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "1675060",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega corchetes",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12531",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACkAOMDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABCEAABAwMCAgcEBwQKAwEAAAABAAIDBAURBiESMRNBUWFxgZEUIqGxFSMywdHh8FJydLIWMzU3QlNVgpLxBzbC4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgQEAwcDBQAAAAAAAAABAgMREiExQQQTIlFhcYEjMpGhwdHhM7HwFEJSYnL\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICv3a71s1f9FWQsdVNGZZHYxENu3x7Dz7VwUFPfq+J9RSagZIWPcw8TDgOHiOXlyK36Ka2UXCsc3M0lQQ53Pbn8yVZmMZGMMaGjOcAYVreHpSMNOm6yVSTee136FYdf7vZp2NvdEH078D2iEcifh5bHYndWWGaKohZNC8PjeMtc07ELyop4qunfTzsD45BhzSq\/piWWirq2xzF7hTO4onuP+E8h3ZGD6rjtJXWpYnKlNRk7p6eZZVCG8VEOrPoueNop5ogYHAbkgZOT6jyCm1WdawvjpaS5Q8QlpJhgt6gd\/mB6rkEm7MlxEpRhjjtn6blmRYRSNmiZKw5a9oc09xRQNBmi84hxFuRkDJC9QBERAFw115t9uLm1NS1r2t4uAbu9AuO9XOobOy124Zq5gMvxnomk4z48z5Ly06YpKA9NUk1lU4e9JL7wB68A+amopK8jPKpOUsNNebOOTVNZWyBlmtUs43y+UEAEcx2fFPpXVf+iQ\/8v\/0rMAAMAYAXq7iWyOcmo83N+liJtd+jr6h9HPC6lrIxl0Tzn0PbjfCllXNU0U0ToL3RAe0UhHGDjBZ+XyJU3Q1sNwo46qB3Ex49D1j1XJJWujtKcsTpz1XzR0IiKBoCIiAIiIAiIgCIiAIiICs6SHsdXc7bIcSRzcYB62nr+XqrMq1qGmlttfHqCiYXOZ7tSwH7TMcz8B6Kdoq6nuFMyoppA9jhnvHcR1KyefUZaDwXpPVaeR0KsSfV\/wDkOINGOkpvePbsfwHorOqxP\/eJTfwx+TlyG\/kd4j+3\/pFnUVqaOOTTtaJOQj4h4jcfFSqrOsKszQwWWmPFU1cjctzybnbPn8ikFeSJcRJRpSuSem3vfp2iLwQeiA37BsPhhF20tOykpIaZn2YmBg8hhFFu7uWU4uMEmV25n6I1jR15PDBWsMMmB19\/mWnyKtCh9UW59xssjYs9LCelYB1kdXp8cLdYLj9KWaCpc7MmOGT94bH15+anLOKZRT6Ksod819SSWL3iONzznDQScLJRuoZHR6frXNOD0RGfHZQSu7GicsMXLsRuk4m1Taq8SRjpaiZ3A4jcN2\/WO5WRRWmWtZpyiDRgdHnzJJKlV2bvJlXDxtSiERFEvMXsbJG6N7Q5rgQ4HrCrdgkbZ7tUWB4eQXGWB7usEcvh65VmVX1XH7JcrXdmYBjlEbyTjI5j4cXqrIZ9Jm4jpSqLb9nqWhERVmkIiIAiIgCIuRlE5tzfW+1TFr4wzoC73BvzA7fxKHG3sdaIiHSqSX29T3Gv9hghfBQP4HxYJc\/3iMjvwD+ambPfKS9U\/HAeGRo9+Jx95v4jvUTZHNotW3ajkw19S7po9+YyT\/8AWfJeaio5bTWM1BbhwuYQKmMcng7ZPrg+RVzSbwnnQnUjHmN3V3dds9i0OaHNLXAEEYIPWq5VWSttdZJcbE4OdJkyU0hy13huOsk8\/DsU9R1UVdSRVUBzHK0ObnmtyrTcTZOnGqk\/gyJs2oKa7fVcJhqmt4nwu5jfG3661HT\/AN4lN\/DH5OVh9lpzVCqMLOnDeEScPvY7MqoXO7Q27V9VWOY6Q01OI2N5hziB19XM\/HwU4Zt27Gau3CEeY9GsyxXu9wWWk6R46SZ+0UQO7z+C49P2ipZO+73NxdXVDfskf1bezx+S5rJZKiuq\/pq9e\/O7eGFw2YOokdXcPPmrQuNqKsidOMqsuZNWWy+rCIirNYVVtANk1VVWokNp6odNA3qB7B5ZH+0K1Kv6uoJJKKO5U21TQO6QEcy3r9OfkVODzs9zNxCaSqLWOfpuWBRuoWGTT9a0f5RPkN1vtlfHcrdDVx8pG5I\/ZPWPVbauH2mjng\/zY3M9RhcWTLZWnTdt0cGmXB2nKIj\/AC8c+wkKVVe0VVCayGnIDX00rmuaD2759SfRWFJq0mR4eWKlF+AREUS4Ksa+\/sOH+Jb\/ACuVnVY14OOz08bd3vqW8Les+678Qp0\/fRm4v9CRZ0RFA0hERAEREAREQBERAVvVNHNBJBfKNv19GfrMc3M\/RPkVKUVbR3+1l7MPilaWSMPNpI3BXeQCMEZBVUq6Op0tXPuVujMtBKc1FOP8HeO75KxdStuZJp0pua916\/f7mzSMzqSorrHKcupZC6PI3Lc4J+R81aFTprjSP1ZbbnSTB0NU0wyY2OeWHD\/c30VxSos79zvCyWFwT0fy2C+cR1lNHqmruFZSyVMbJndGIhkcQOxPkF9BqpxS0k1Q7lFG558hlQmiYOjsRnI96olc\/O2+NvmCuweFNkOIg6lSEE+7NP8ATml\/0+s\/4j8V0UesbdVTthkjnp3OzvI3YDvKn1VdYTtrJqSzUw4quWQPz+wN+vq7fAeCRwydrCo61KOJzv4W1LUixY3gja3OeEAZRVG0yWLmtewscMtcMEdoWSICp6fe6yX6qsUzj0Uh6SnJ6\/8AsfEK2KuavoJH00V1pdqiidxZH7PP4Hf1UxbK+O5W6Grj5SNyR+yeseqsnmsRloezk6T2zXl+CApj9Ca0lpiQILk3jbyGH5JHxyPNWpVrWtO8UNPcoTiWilDs45AkfeArDTzsqaeOeMhzJGhzSOwpLNKQo9E5U\/VeT\/JsREVZqCrOqeGe6Waj2JfPxOHYMj8\/RWZViA\/S+tHVDWh9PQR8DXjdvFuMdmd8+DQpw1uZuJziod2izoiKBpCIsJJooW8UsjI29rnABAZosY5GSsD43te08i05BWSAKsyaxjbdBAymL6TpeiM7Tkk42wPHPlurHMwywvjDuEvaRxdmV88HGbVbKV4d07a8ggnOfs9fmracU9TFxdWcLYcv4sj6MiLXUTxUsDppnBrGDJJVRtbtmzYvHNDmlrgCCMEHrUNb9TU9dXijfBJTySDii6QY6QYzn5+iml1prUhCpGorxdyl3fTwtNyiudFR+0U3HmSnGR0Z7QRyHy8FabfcaW50zZ6WVrwQOJoO7DjkV1OaHNLXAEEYIPWoCq0lA+V0lBVy28PxxNh5H4jtU8SkrSM6pSoybpK6e32NGpbm6seLDbiJKmc8MpxkMb2H9bBT9BRx2+hhpIt2xMDc9vafMrltdko7OJXxZdLISZJXn3iM5x3BRty1NJNVfRtij9pqj9qUDLGfj48vFd97pjocT5bdSrq8kvojq1BqBloiEMLemrZdo4hvjPWfw61jp2yOoozW131lwn9573blmerK8sunBRTGvr5Parg\/cyE5DPDv71OrjaStElCEpy5lT0Xb8hERVmoIiIDF7GyRuje0Oa4EOB6wqxplwtd4r7G9ziGu6WEnkRt8cEeitKq+qGOt10t98jdwhjxDLtn3dz8uL4KyGd49zLxHThqrb9nqWC4Uja+3z0j8YlYW5I5HqPkd1DaOrXS2x9BPkVFE8xva7mBnb03HkrA1wc0OaQQRkEdaq10BsOpobmzamrPcqMjZvL06j5JHNOIrdEo1dtH5P7MtSItFZWQUFLJU1DwyOMZJ+4d6rNLaSuzh1FcxbLTI9r+GeX6uHnniPXt2c\/RNO2s2u1MZJvUSnpJnb5Lj49gx8VFWqnmvl0N9r2BlIzamik6uWDv1dfirPFNHPGJIntew8nNOQrJdKwmal7SfMem339TNERVmoKqzQtvOs6qgrOI09PTZa1pIzngJz6\/AedqVZvDJ7LfRfYm8dPIwR1LQ0EgbDP8ALy7FZT1M3ErpTeiefka6aJtl1jBbqQv9nqoOIsc7IaQHcs\/u\/FWpVO1zsv2sH3KHj9npIAyMluMkg7cu9ytiVNVc5wtsMnHS7t5BUGpfSN1oZ42PfSU0nHK6MbNfjPV3jl3FWXUN7ZbKV0UJMlbKMRxtGSO13kFlYLQKC09FUtEk1Qekn4\/eyT1HPNdj0q73IVlzpqEds39Ebpb\/AGmGB0rrhTkNGeFsgLj3cPPKg6WCo1Vdfba2J0dtpz9REeUh7T29\/p2qXGl7KJ+m9gZx\/vO4fTOPgpVrQ1oa0AADAA6lzEo+6TdOpUftLWWy38yr6xibSG3XOJoa6mnDdh1cwPDY+qtAIIyDkFQesohJpqoccZjcxwz+8B96kKGqYLLTVU7xGw07Huc93LLRzKPOKELRrzXdJ\/Q7VH3S90NoiLqmYceMtiacvd5feoer1JWXOZ1Fp6ndKeTqpww1vhn7\/RdVp0vBRy+2Vz\/bK1xyZH7gHuB+ZTClnIOtKo7Uvjt+SOIvWqzh7XW63HmP8Ug+\/wCXirHbbVR2mn6Gki4Qd3OO7nHvK7EXHK+S0J06Kg8Td5d\/5oERFAvCIiAIiIAozUdP7Tp+tjxkiIvG3W3f7lJrF7BJG5juTgQV1OzuRnHFFx7kZpqbp9PUbjzazg\/4nH3Ldebey52qemcAXFpLCRnDhyKidCSF9he04wyoc0ejT96mbldKS003T1cnC0nDWgZc49gCnJNTyM9OUZcOnPSxE6fvkX9HDNWykPpCY5Cdyd\/dx27YC44aSt1bWxV1bH0FsiOYoSd5O\/8AP07VCOYyqvUFdcaR1NQV05IaHYyR1nPe754X0hrQ1oa0AADAA6lOfRmtWZ6F66wzeUfn2b8Dhu7WssFcxow1tLIAOwcJVPsVbX2Kjpq6QOmtlTkPA36EhxGe7t789quV6\/sOv\/hpP5So3TFPDV6Pp6eojEkUgka5p6xxuUYu0M+5ZWg5V1hdmk7fFE5FLHNE2WJ4ex4y1zTkELNVXguel6pwgjkrrbIchhd70RJxz\/QPcuwazs4GJZJYnjmx0TshRcHtmWx4iCyqdL8SeUJqW7tt9IKWKMT1VX9XHFz2O2SPguWp1U+rzT2SkkqZnNyHuYQ0eviCt1l037LMLhcpTU17ty5xyGHu711Rw5yIzqur0UvjsvuzipNM3S2Rx1FurWQzloMsDiTG47bdeev12K2uOspQ6LgpYgQQJRjI7+Z+Ss6JzG9UdXCxirRbS8GQlo03HQy+2VsntdcSSZX745cs+HNTaIoNtu7L4U401aKCLgul6obRFxVUuHEZbE3d7vAKB6S\/6mdwxtNst5P29w94+Z+AUlBvN6FdSvGLwrN9l\/MjZq6\/ULbbPbo5RNUSgAhm4Zvnc+XJcto0\/WXijpprpWE0TWDoqeI4yByzjYfPwUnNp+itWn65lLHxSugdxSv3cdv1sF0aUeH6aoyCDhrgcdzirMSUOky8uVSv7XtovP5klS0lPRQNgpomxRt5NaFuRFQegkkrIIiIdCIiAIiIAiIgCIq3W6gqa2tdbrDE2d7f62cnDWdWx+\/0BUlFsrqVI01mRFmv0Vkpq+m4HyzmpPRRAHJ6iT6KVt2n6qvqY7nf5TLKN2UxA4Wdmery9crl0bQsjuFy9qYJKuCUN6R255nJBPbjmrgrakrN2MXC0nOCc9FovXcjb5aI7xbHUuQx7SHRux9kj9YWnTdydWUPs1QC2rpcRytcdzjke3q61MKt3ijmtdxbfKLZnKpiaMB46z8NyVXHNYWaKq5cuavXy\/BL3r+w6\/8AhpP5SuLSH\/q9H\/v\/AJ3LbVV1Pc9O10tI\/pAaeQYA3B4DtjtWvSLS3TFGHAg4ed\/33LukPU5dPiE1\/i\/3RMrRLRUkxzLSwyHOcujBW9FWaWk9TCOKOFgZFG1jRya0YCzREOhF4SAMk4AVfuWrIYZvZLZEa+qO2I8loPiOfl6qSi5aFdSrCmryZOzzw00RlnlZFG3m55wAq3PqOtu0r6TT9M5\/U6qeMNb378vPfuWMOmq27ytrL\/VOJ5tpozgMHZ\/1v3qzQU8NLC2GCNscbRgNaMAKXTHxZR7Wr\/qvn+CEtWlaelk9ruDvbaxx4nPk3aD3A8\/E\/BT6IoOTepfTpxpq0Ua6hodTStcAQWEEHr2UBoZxdYDnqmcBt3BWFzQ9haeRGFAaOp6ijt9RS1FPJCY5yWl7SOIEDl28uYUl7jK5p8+D8H9CwoiKBoCIiAIiIAiIgCIiAjNRNqn2OpbSDikLDkDOS3rxjrXNpuazwWmP2OWNnFvJxuAdxY3ypxQ9ZpW0VsnSPpujdkkmI8PET2qaatZmepCePmQs3pmcFmkB1ndWxuDo3MDgQcjq\/Eqzrkt9spLXCYqSMsa4guy4nJAAzv4LrXJNN5EqMHCNn3b+IREUS4gK\/SsVRUmWiqX0bJgG1MUf2ZG+HUceX3zdPBHTU8cEQwyNoaFsRScm1ZlcaUINuK1CIuO4XWitcPS1k4jB+y3m53gFxK+hOUlFXbOxQ931LQWk9E5xnqOqGM5IPf2KKNbe9T+5b2G30Od53H3n+H5eql7Rp2htLQ5jOmqOZnkGXeXYp4VH3jLzZ1f0lZd39ERJtt71IQ+4ym30Z3FOz7RHf+fop+22qjtMHRUkQbn7Tju53iV2ouObeWxZToRg8Wr7sIiKBeEREAREQBERAEREAREQBERAEREAREQBERAERaKuspqGEzVU7IWDrccZ8O1DjaSuzetFXWU1DCZqqdkLB1uOM+Haq5PqmsuUpprBRPlPIzyDZvlyHn6LOk0k6onFXfKt9ZNz6MH3B3fkMKzBb3jN\/UOeVJX8dvz6HkuobheXuptP0x4Rs+qlGA3w\/P0W63aSgim9rukxr6onOXkloPnz8\/RT8UUcMbY4o2xsaMNa0YA8lmuOe0cjqoXeKo7v5fA8AAGAMAL1EUDSEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBR9yslDdpYZKyMvMOeEBxAOe3HgiLqdnkQqRUo2aOyCCGmiEUETIo28msGAFsRFwmlYIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "SOC. POR ACCIONES EDUCACION BRAC SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JORGE CAMARILLO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "CORCHETES",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I264\",\"id_control\":\"28642\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "15:16",
    "ubicacionGPS": "LatLng(lat: -23.6814896, lng: -70.4062915)",
    "horaLlegada": "15:15",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/05/2026 15:16:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76689118

[11/05/2026 15:16:46] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76689118', 'TO2530', 1, 24456550, 1675060, NOW(), 
				'08:00', '15:15', '15:16', 10, '•Entrega corchetes', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778527006.png', '', null, 'COMPLETADO','LatLng(lat: -23.6814896, lng: -70.4062915)' )
				
[11/05/2026 15:16:46] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200263
[11/05/2026 15:16:46] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200263', 'TOS-I264', 2)
				
[11/05/2026 15:16:46] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28642 and
				    IDproducto = 'TOS-I264'
				

11/05/2026 15:16:46 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I264';
                
11/05/2026 15:16:46 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200263'                    
				WHERE idllamado = 12531			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


11/05/2026 15:16:46 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12531			
				
11/05/2026 15:16:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


11/05/2026 15:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:16:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            
11/05/2026 15:16:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:16:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:16:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:16:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:16:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            [11/05/2026 15:16: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/05/2026 15:16: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/05/2026 15:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:16:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12531
            GROUP BY l.idllamado;
            
11/05/2026 15:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                
11/05/2026 15:16:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12531
                [11/05/2026 15:25: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/05/2026 15:25:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:25:42 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        [11/05/2026 15:25:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:25: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/05/2026 15:25:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:25:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:25:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [11/05/2026 15:25: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/05/2026 15:25: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/05/2026 15:25:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:25:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        [11/05/2026 15:25: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/05/2026 15:25:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:25:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:25:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        [11/05/2026 15: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/05/2026 15: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/05/2026 15:25:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:25:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [11/05/2026 15:26: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/05/2026 15:26:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:26:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:26:02 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        [11/05/2026 15: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;
                
[11/05/2026 15: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;
                

11/05/2026 15:26:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:26:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [11/05/2026 15: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;
                

11/05/2026 15:26:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:26:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        [11/05/2026 15: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;
                
[11/05/2026 15: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;
                

11/05/2026 15:26:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:26:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [11/05/2026 15: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;
                
[11/05/2026 15: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;
                
[11/05/2026 15: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/05/2026 15:26:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:26:26 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        [11/05/2026 15:26: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/05/2026 15:26: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/05/2026 15:26:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:26:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        [11/05/2026 15: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;
                
[11/05/2026 15: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;
                

11/05/2026 15:26:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [11/05/2026 15: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;
                

11/05/2026 15:27:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        [11/05/2026 15: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;
                

11/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        
11/05/2026 15:27:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:27:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        [11/05/2026 15:27:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:27:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:27:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        
11/05/2026 15:27:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:27:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        
11/05/2026 15:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:27:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        
11/05/2026 15:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15: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 = 12525
                
11/05/2026 15:27:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:27:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        
11/05/2026 15: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 = 12525
                
11/05/2026 15: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 = 12525
                
11/05/2026 15: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 = 12525
                
11/05/2026 15: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 = 12525
                
11/05/2026 15:27:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        
11/05/2026 15: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 = 12525
                
11/05/2026 15: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 = 12525
                
11/05/2026 15: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 = 12525
                
11/05/2026 15:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:27:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        
11/05/2026 15:27:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:27:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        
11/05/2026 15:27:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15: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 = 12525
                
11/05/2026 15: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 = 12525
                
11/05/2026 15: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 = 12525
                
11/05/2026 15: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 = 12525
                
11/05/2026 15: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 = 12525
                
11/05/2026 15: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 = 12525
                
11/05/2026 15: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 = 12525
                
11/05/2026 15:28:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:28:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        
11/05/2026 15: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 = 12525
                
11/05/2026 15: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 = 12525
                
11/05/2026 15:28:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        
11/05/2026 15: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 = 12525
                
11/05/2026 15: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 = 12525
                
11/05/2026 15: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 = 12525
                
11/05/2026 15: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 = 12525
                
11/05/2026 15:28:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        
11/05/2026 15: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 = 12525
                
11/05/2026 15: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 = 12525
                
11/05/2026 15: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 = 12525
                
11/05/2026 15:28:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:28:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:28:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:28:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:28:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        
11/05/2026 15:28:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:28:34 - logentry: =========================================
FECHA: 11/05/2026 15:28:34
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-5A.xTSNV66BzzN2m2r2WMEn7mHDjK_oWNrS+Dk-dWC.-KOsS6Ij
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2776",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Regimiento",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "Cuartel 5to piso",
    "rutTecnico": "19969062",
    "contador": "7704",
    "contadorColor": "26188",
    "contadorScanner": "0",
    "detalle": "Instalacion impresora",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12525",
    "observacion": "Instalacion impresora",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB6ARQDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABFEAABAwMCAgcEBgUKBwAAAAABAAIDBAURBiESMRNBUWFxgZEUIqHBFRYjMrHRM0JSk\/AkJVRVYnKCsuHxNENEY5Kiwv\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADERAAIBAgQDBwIHAQEAAAAAAAABAgMREiExQQQTUSIyYXGBkdEUoSNSscHh8PEkQv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAVHDf31OqX2uFjDTxMIfJg54xzAOcd3LqKsbrWC32uoqycdGwkcufIc+8hZTQdN01VWXCXDnjDAcdZ3J7uQ9VpGKwuTOStVkqsKcd835G2REWZ1hERAEREAREQBR46+klrJKSOoY6eMcT4wd2hdJpmU8Ek8hwyNpc49gAyVkdFOlrblcLlLnikwCerJOfkrqN02YVKuGpGC3NkiIqG4REQBERAEREAREQBERAEREAREQBERAEREAREQBERAZTXtY2O2wUYI45pOIjr4R\/qR6Ky0pRGh0\/TtcMPlHSu\/xcvhhZXU8jrrqxlExxw0sgb3Enc\/H4L9Ba1rGBjRhrRgDsC2nlBI8+h+JxE6nTI9IiLE9AIiIAiIgCIiAz2tLj7FZTAx\/DJVHgGP2f1vht5rpo6n6DTkDsYdK5zzt34HwAWV1DUuvmp\/ZoCXNa4QR4ORnO59c+nNfodPBHTU8cETQ1kbQ1oAwtpLDBI8+jLm8RKeyyR0REWJ6AREQBERAEREAREQBERAEREAREQBERAEREAREQBRrjWMt9vnq5CAImE79Z6h5nAUlZfVTnXK40Fiic4dK8SSlvU3cfmfRWirsxr1HCDa128yh0vSy1eqIZpncbw11RIc778s+ZB81+jLLaQYyor7pcWN9x8vRxdzRvjPhwrUq9V3kYcDDDSv1bCIiyO0IiIAiIgCq9Q3dlntb5ucsmWRAftEc\/AKzc4NaXOIAAySepZBkjdRX6avmJNutYJjAIw9w3z4HGfIK8Fd3ehz8RUcY4Y6vT59CBpa1ubqcCUHipIuOTiHJ5HLxHF8Fv1mtFwOfTVlxlA6SrnJzz2Hf4krSqarvIz4KCjSut8wiIszsCIiAIirL1fKazU3FJ787x9lCObj8gpSbdkVnOMI4pPIl1tdTW+ndPVTNjYOs8z3AdaoDq+apP812aqqm7++RgfAH8V4t9hqL1K2538lxIzHTDIDR3jq8PVahjGRsDI2hjWjAa0YAV+zHxOZOtVzTwr7\/AMGZfetTQt9olskZgaMua13vdvaeruVpadQUV3JiiL46hgy+GQYcO3xVooT7PQSV7K40zRUMOQ9uW5Pacc\/NReL2LKnVg7qV14\/wTURFQ6TxNK2GF8r\/ALrGlx8Aq7T9znu9A6qmiZGDI5sZbn3mjrx8PJR9WV7qSzugiHFNWHoGDuPP4bean2ih+jbTT0nXGz3vE7nrPWSr2SjcwxN1sK0Sz9dCaiIqG4REQBERAEREB8c4NaXOIAAySepYy3TOqX3vUMg90RvZTkgjYDbHo0eZVnrC4PgoGW+my6prndGGjnw9frkDzK83SjjsuiJqVuCWxhrj+05zhk\/FaxVl5nDXlim7aRTfrbI76Pp+g07C4\/emc6Rxxz3wD6AK8VfYYjDYaFh59A0+oz81YKkneTOmisNKK8EERFU1CIiAIiiXO4Q2ugkrJ8lrBs0c3E8gESuRKSirspdU3CeV8dit+TVVQ9\/HIMwcj4eniul1iptPaQmpY3bOYYmkjd7nc\/hk+AXnS1BPKZb3cBxVVXgsJA2ZjYjsz+AC5alaKvUFnoXDiYX8bm56s\/6H+MrZWuo9Dz5YnCVV6yyXgn\/blrpynNLp+jic0tPBxEHvJPzVmiLJu7ud8I4YqK2CLiaunFQKczx9MTgR8Q4jtnl4brsoJTT0CIiEkO6XKG1UTqmY8tmNzjjd1DPkqbTtpnqZDeruDJUynihY8bRjqOOo9nYo02dU6mNPkfR9udl2BtI7IyD4kEeAPatctH2VbdnJH8aeJ91aeL6\/AREWZ1hEUSno5oa+oqZKyWVk2AyF33Y8diENvLIloi8uc1jC9xw1oyT2BCTMXcm56yt9AzdlH9tJvyOxwfRvqtSsxpBprai4XmRmHVEvAw4xho3Py9Fp1pPJ26HNw3aTqfmf20QREWZ0hERAEReWua7PC4HHPBQHpeXvbHG6R7g1rQS4nqC9LMaqq5aupprBSH7WqIMrgT7rfLwJPcFaMcTsZVanLhiPNoP0\/qOW8Fj\/AGSmHR0wdyLsbnHqfMdi6a3eXWympGnBqKhrckbAb\/MhdL3WP0zaKantsDQ0v6Npc77vXy687qhvs+oJqigZcKWngeJvsHMIPE7I57nuW0VeSexwVZqnSlTd3J65ZZm8jYyCFsbfdZG0AdwC5xVtLPK6KKpike3GWteCdxkfDdUEem7nXO6W83aR5IAMUHujr8B19i5XPTjrb7JV2KnzUwu4XEvwXZ2BO4Hj253WeGOlzpdWqliUMvv7I1aLJVI1FZhFcZKr2uNxHtEJBxGOZwMkdZGR3dSk\/W19RIDb7ZUVNO0\/aShp2HXgY6gnLexK4mCymmmaRFDttzprrSCopnhw2Dx+y7AOPipio1Y6YyUldHxzg1pc4gADJJ6l+e3C61F\/vjXUtJJV09PvHBw5Du93dn8u9bO826S60PsjJzC17x0jhzLesKRRUNPb6ZsFNG1jWjfAALj2nHWrwkoq+5y16U6zUb2j+pQC4atZuLLSiJo2Y14yB2ff+S8WHjuOqrjcZRnoAIWlp93PI4\/8T6rTyyNhifK77rGlx8As5pR0NLaau4TyCKKadzuJ7hjA\/gjHcpTvF5FJU8NSCcm1m8\/D\/TTLOV2oamquDrZY42zTNH2k53azt7vPt2XCqudZqWR9vs4dFSkYlq3NIBHYOvf18sq9tVqprRRtp6dve955vPaVFlHXUu5yrO1N2j1+PkyNusxo9V0UEruOZjDNM9p24sE45jbl6rdrM25zJda3OeYcDoYg1hOAA3bJ5d3PvK43fUtXUSzU1iDXsgZxS1IwQOfLO3Zv\/urSTm0Y0Z06EJPxfnkaxVmoa822yVE7HFshbwRkDk47Z8ufkvVBeKKqo4ZDW05lcwcbRIAQ7G4xlVOujxWuljyQH1IzjwKpGPaSZ0Vqq5MpRexP0vbG22yQgj7WcdLIe8jYeQx8VcL4AAMAYAX1Vbu7m1OChFRWwRF4lljhjdJLI2NjRlznHAHmoLnirqoaKlkqah4ZFGMucVn7Nqae7X2SnbCBTGMuYeZABI4vPI9FHkMmr7qYWOLbTSkFzm7GV2+MZH+w8V1sLYnaou9Q1ojZTgQDkGsaNsc\/7HwWyilF31OCVac6kcD7N\/fr6GpVVqaq9j09VvBw57Ojb\/i2\/AlTaevpKuWWKnqI5XwkB4Yc4yqHWznSUdFRg4FRUAHHPH8FUgu0kzevO1GUo\/3YstN0nsVgpIiMOczjdtvl2+\/rjyVovLWtYwMaMNaMAdgXpVbu7m0I4IqK2CIigsFm7he6yvuH0VYi0vH6apIy2Pw6urH4Ltq64SUlrbT07sVFW\/o2AHBx1kfAeasLRa4LTQsp4mgOwDI8c3uxuVokksTOablUny4uyWr\/AGKf6mRVJ47jcqupfnb3xgDPLcHt7lY2vT9LaKqSamkmIewN6N78tb2n4BWqhXS6U1po3VFQ7+4wHd57AoxSlkTyaNPt203ON9vUVloukI455Mthj\/aP5BRNNWeajZLX3Al1dVHicSd2js8f9Ao1otdVda9t8u4w4YNNB1MHME\/x3rTqW1FYUVpxdWfMlotF+5Qayha+wumOfsZGu2PacfNQrvUe1XfTkoPuykP2PaWlXl+pnVdjq4WgkujyAOZxv8lk7JVC5XqzRsbwtpKYtfnmSM+o+78exXh3b9LnPxGVXD+a32ZvERFgekfCARgjIK+Na1jeFrQ0dgGF6RAQaO0UdBVz1NOwsfUY4mg+6Mdg6lORFLd9SsYqKskERFBY5zRNngkhfnhkaWux2EYWdg0RSNk\/lNXPPA1xdHADwtbk8uZPphaZFZSa0Mp0adRpyV7HOCnhpYWwwRtjjaMBrRgBdERVNUrZIqLppm33Wo9om6aOQgB7on44wMYBBz2KdRW+lt9MKalhbHGOY558T1ru57GY4nBue04XB9yoY\/v1tO3bO8rR81a8mrGWCnGTlZJsrZNH2OR3F7GWknJ4ZHD5qNraB7rPFNGzibTzNc4DbA5fNWj79aGc7lSnbO0oP4KLVahsM8ElPNXxuZKwtcACdjt2K6c7pswqRoYJRi0r+RbU88dTTxzxHLJGhzT3FdF+fxXaptDDS2680s9MCTH0rDlu\/LkvpuFTW5NbqmOBvW2nY\/l5AKeUzNcdG1rZ+at73NRedR0dojc3iE1TybA0757+xVlPY7jfX+1X6d8cJOWUbDw48ez8e8LhbKzSNoxLFUmeoH\/NkieXZ7tsBWh1lZB\/1L\/3TvySzj3URjhUd6s1bonl69S3paSnooGwU0TYo28mtCz0ulal9bXdHXdFS1sgkkAGX5yTj1PapX1zsf8ASX\/unfkvLta2VpwJpXd4iKhKa0RrOfDTSTksvEtKG10NtaRSUzIiRguA3PiVR6iAqNUWSmI2Y8ydvWD\/APK6fXmz5O1Rt\/2xv8VUVmordLquhucbpOiijMbyW8vvdX+JTGMr3aMq1ai4KMWrXX6m6RVVPqazVI9y4RN7pDwf5sKwjqYJv0U0cn91wKyaa1O6NSEu67nVERQXMw9v0rrlrXjigt0XEAeXH29+5\/8AX106y9bDXWO\/zXSko31kFUzEkbObTzzsD2fHC+uveoa4GOhsjqYk46Wd2wHbuAPxWri5WtocNOqqbkpJ4m3s\/QubpdqS0UxmqZN\/1Yx9557gqKgo6zUlyju1yiMNJAc01Of1uvJ+HjjsUm3aVYJ\/brvKa2sduQ45Y0+HX+HctEouo6al1CdV3qZLp8\/AREWZ1hZiwadqLbfKirnYwxkOETuMlxyeZ8lp1DrrrQ25hdV1McZAzw5y4+A5q0W80tzGpCDanPYmIswdXVNY7htFnqKgHYSPGGg+WR8QntWspdxQUkIPLLht3\/eKnlvcp9VB91N+SZp0WWFr1XVn+U3eOnb2RDcegH4r19SmznNfdqup88fjlThitWOdUfdpv1aRezXS302RNW08ZHMOkAPooM2q7JCSDXNcR1MY53xAwuMOjLJF96nfKe18h+WFPhsVpgAEdup9ut0YcfUqOx4j\/ofRe7+Cpfrq1g8MUNVK7qDWD815GrLhN\/wunqp\/9o5x\/lWkjijiGI42sHY0YXtMUeg5dZ6z9l\/pmPpTVc\/6CzQxB3LpXbgebh+CGLWdSP09JS52xscfArTomPokPp29Zv3t+hmPq\/f596jUUkZPPogfkQn1KZJvUXasld25\/PK06JzJD6Wlur+bZmm6DtLc5lqneL2\/Jq7s0XZG86eR+\/XK75K+ROZLqSuFor\/yinZpSxs5UDTvnd7j+JXZunrO0YFup\/NmVZIoxS6l1RpLSK9iv+gLR\/VtN+7CfQFo\/q2m\/dhWCKMT6k8qn+VexDFntbTlttpAe0QN\/Jevoy3\/ANBpv3TfyUpEuycEehF+jLf\/AEGm\/dN\/Jem0FGwYbSQNHdGApCJdk4I9DmIIQMCJgA\/shU2odPtudEwUbY4aiJ4cw4wHdoOPXy71eoik07orOnGcXGSMLNJC0lt10nwvxkyU4LGnAyeXn1qGbQbg8Mtlmq6V45yTSkNHqPH+Cv0ZFqqttEcj4JS1f2V\/cg2alqqK2xwVlR08rc++STt2ZPNFORZN3dztjFRSSCIigsEREAREQGY1TcKlldSWyOpNHFVY4qhoJI3Ix+HIqRRaNtVLwvmY6qlG5dKdifDl65V5JFHKAJI2vAOQHDOD2r2tMbUUkc3IjKo5Tz6eB5YxkbAyNoY1owGtGAF6RFmdIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "REGIMIENTO TOCOPILLA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:28",
    "ubicacionGPS": "LatLng(lat: -23.6823934, lng: -70.4139221)",
    "horaLlegada": "15:27",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 11/05/2026 15:28:34
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-5A.xTSNV66BzzN2m2r2WMEn7mHDjK_oWNrS+Dk-dWC.-KOsS6Ij
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2776",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Regimiento",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "Cuartel 5to piso",
    "rutTecnico": "19969062",
    "contador": "7704",
    "contadorColor": "26188",
    "contadorScanner": "0",
    "detalle": "Instalacion impresora",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12525",
    "observacion": "Instalacion impresora",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB6ARQDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABFEAABAwMCAgcEBgUKBwAAAAABAAIDBAURBiESMRNBUWFxgZEUIqHBFRYjMrHRM0JSk\/AkJVRVYnKCsuHxNENEY5Kiwv\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADERAAIBAgQDBwIHAQEAAAAAAAABAgMREiExQQQTUSIyYXGBkdEUoSNSscHh8PEkQv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAVHDf31OqX2uFjDTxMIfJg54xzAOcd3LqKsbrWC32uoqycdGwkcufIc+8hZTQdN01VWXCXDnjDAcdZ3J7uQ9VpGKwuTOStVkqsKcd835G2REWZ1hERAEREAREQBR46+klrJKSOoY6eMcT4wd2hdJpmU8Ek8hwyNpc49gAyVkdFOlrblcLlLnikwCerJOfkrqN02YVKuGpGC3NkiIqG4REQBERAEREAREQBERAEREAREQBERAEREAREQBERAZTXtY2O2wUYI45pOIjr4R\/qR6Ky0pRGh0\/TtcMPlHSu\/xcvhhZXU8jrrqxlExxw0sgb3Enc\/H4L9Ba1rGBjRhrRgDsC2nlBI8+h+JxE6nTI9IiLE9AIiIAiIgCIiAz2tLj7FZTAx\/DJVHgGP2f1vht5rpo6n6DTkDsYdK5zzt34HwAWV1DUuvmp\/ZoCXNa4QR4ORnO59c+nNfodPBHTU8cETQ1kbQ1oAwtpLDBI8+jLm8RKeyyR0REWJ6AREQBERAEREAREQBERAEREAREQBERAEREAREQBRrjWMt9vnq5CAImE79Z6h5nAUlZfVTnXK40Fiic4dK8SSlvU3cfmfRWirsxr1HCDa128yh0vSy1eqIZpncbw11RIc778s+ZB81+jLLaQYyor7pcWN9x8vRxdzRvjPhwrUq9V3kYcDDDSv1bCIiyO0IiIAiIgCq9Q3dlntb5ucsmWRAftEc\/AKzc4NaXOIAAySepZBkjdRX6avmJNutYJjAIw9w3z4HGfIK8Fd3ehz8RUcY4Y6vT59CBpa1ubqcCUHipIuOTiHJ5HLxHF8Fv1mtFwOfTVlxlA6SrnJzz2Hf4krSqarvIz4KCjSut8wiIszsCIiAIirL1fKazU3FJ787x9lCObj8gpSbdkVnOMI4pPIl1tdTW+ndPVTNjYOs8z3AdaoDq+apP812aqqm7++RgfAH8V4t9hqL1K2538lxIzHTDIDR3jq8PVahjGRsDI2hjWjAa0YAV+zHxOZOtVzTwr7\/AMGZfetTQt9olskZgaMua13vdvaeruVpadQUV3JiiL46hgy+GQYcO3xVooT7PQSV7K40zRUMOQ9uW5Pacc\/NReL2LKnVg7qV14\/wTURFQ6TxNK2GF8r\/ALrGlx8Aq7T9znu9A6qmiZGDI5sZbn3mjrx8PJR9WV7qSzugiHFNWHoGDuPP4bean2ih+jbTT0nXGz3vE7nrPWSr2SjcwxN1sK0Sz9dCaiIqG4REQBERAEREB8c4NaXOIAAySepYy3TOqX3vUMg90RvZTkgjYDbHo0eZVnrC4PgoGW+my6prndGGjnw9frkDzK83SjjsuiJqVuCWxhrj+05zhk\/FaxVl5nDXlim7aRTfrbI76Pp+g07C4\/emc6Rxxz3wD6AK8VfYYjDYaFh59A0+oz81YKkneTOmisNKK8EERFU1CIiAIiiXO4Q2ugkrJ8lrBs0c3E8gESuRKSirspdU3CeV8dit+TVVQ9\/HIMwcj4eniul1iptPaQmpY3bOYYmkjd7nc\/hk+AXnS1BPKZb3cBxVVXgsJA2ZjYjsz+AC5alaKvUFnoXDiYX8bm56s\/6H+MrZWuo9Dz5YnCVV6yyXgn\/blrpynNLp+jic0tPBxEHvJPzVmiLJu7ud8I4YqK2CLiaunFQKczx9MTgR8Q4jtnl4brsoJTT0CIiEkO6XKG1UTqmY8tmNzjjd1DPkqbTtpnqZDeruDJUynihY8bRjqOOo9nYo02dU6mNPkfR9udl2BtI7IyD4kEeAPatctH2VbdnJH8aeJ91aeL6\/AREWZ1hEUSno5oa+oqZKyWVk2AyF33Y8diENvLIloi8uc1jC9xw1oyT2BCTMXcm56yt9AzdlH9tJvyOxwfRvqtSsxpBprai4XmRmHVEvAw4xho3Py9Fp1pPJ26HNw3aTqfmf20QREWZ0hERAEReWua7PC4HHPBQHpeXvbHG6R7g1rQS4nqC9LMaqq5aupprBSH7WqIMrgT7rfLwJPcFaMcTsZVanLhiPNoP0\/qOW8Fj\/AGSmHR0wdyLsbnHqfMdi6a3eXWympGnBqKhrckbAb\/MhdL3WP0zaKantsDQ0v6Npc77vXy687qhvs+oJqigZcKWngeJvsHMIPE7I57nuW0VeSexwVZqnSlTd3J65ZZm8jYyCFsbfdZG0AdwC5xVtLPK6KKpike3GWteCdxkfDdUEem7nXO6W83aR5IAMUHujr8B19i5XPTjrb7JV2KnzUwu4XEvwXZ2BO4Hj253WeGOlzpdWqliUMvv7I1aLJVI1FZhFcZKr2uNxHtEJBxGOZwMkdZGR3dSk\/W19RIDb7ZUVNO0\/aShp2HXgY6gnLexK4mCymmmaRFDttzprrSCopnhw2Dx+y7AOPipio1Y6YyUldHxzg1pc4gADJJ6l+e3C61F\/vjXUtJJV09PvHBw5Du93dn8u9bO826S60PsjJzC17x0jhzLesKRRUNPb6ZsFNG1jWjfAALj2nHWrwkoq+5y16U6zUb2j+pQC4atZuLLSiJo2Y14yB2ff+S8WHjuOqrjcZRnoAIWlp93PI4\/8T6rTyyNhifK77rGlx8As5pR0NLaau4TyCKKadzuJ7hjA\/gjHcpTvF5FJU8NSCcm1m8\/D\/TTLOV2oamquDrZY42zTNH2k53azt7vPt2XCqudZqWR9vs4dFSkYlq3NIBHYOvf18sq9tVqprRRtp6dve955vPaVFlHXUu5yrO1N2j1+PkyNusxo9V0UEruOZjDNM9p24sE45jbl6rdrM25zJda3OeYcDoYg1hOAA3bJ5d3PvK43fUtXUSzU1iDXsgZxS1IwQOfLO3Zv\/urSTm0Y0Z06EJPxfnkaxVmoa822yVE7HFshbwRkDk47Z8ufkvVBeKKqo4ZDW05lcwcbRIAQ7G4xlVOujxWuljyQH1IzjwKpGPaSZ0Vqq5MpRexP0vbG22yQgj7WcdLIe8jYeQx8VcL4AAMAYAX1Vbu7m1OChFRWwRF4lljhjdJLI2NjRlznHAHmoLnirqoaKlkqah4ZFGMucVn7Nqae7X2SnbCBTGMuYeZABI4vPI9FHkMmr7qYWOLbTSkFzm7GV2+MZH+w8V1sLYnaou9Q1ojZTgQDkGsaNsc\/7HwWyilF31OCVac6kcD7N\/fr6GpVVqaq9j09VvBw57Ojb\/i2\/AlTaevpKuWWKnqI5XwkB4Yc4yqHWznSUdFRg4FRUAHHPH8FUgu0kzevO1GUo\/3YstN0nsVgpIiMOczjdtvl2+\/rjyVovLWtYwMaMNaMAdgXpVbu7m0I4IqK2CIigsFm7he6yvuH0VYi0vH6apIy2Pw6urH4Ltq64SUlrbT07sVFW\/o2AHBx1kfAeasLRa4LTQsp4mgOwDI8c3uxuVokksTOablUny4uyWr\/AGKf6mRVJ47jcqupfnb3xgDPLcHt7lY2vT9LaKqSamkmIewN6N78tb2n4BWqhXS6U1po3VFQ7+4wHd57AoxSlkTyaNPt203ON9vUVloukI455Mthj\/aP5BRNNWeajZLX3Al1dVHicSd2js8f9Ao1otdVda9t8u4w4YNNB1MHME\/x3rTqW1FYUVpxdWfMlotF+5Qayha+wumOfsZGu2PacfNQrvUe1XfTkoPuykP2PaWlXl+pnVdjq4WgkujyAOZxv8lk7JVC5XqzRsbwtpKYtfnmSM+o+78exXh3b9LnPxGVXD+a32ZvERFgekfCARgjIK+Na1jeFrQ0dgGF6RAQaO0UdBVz1NOwsfUY4mg+6Mdg6lORFLd9SsYqKskERFBY5zRNngkhfnhkaWux2EYWdg0RSNk\/lNXPPA1xdHADwtbk8uZPphaZFZSa0Mp0adRpyV7HOCnhpYWwwRtjjaMBrRgBdERVNUrZIqLppm33Wo9om6aOQgB7on44wMYBBz2KdRW+lt9MKalhbHGOY558T1ru57GY4nBue04XB9yoY\/v1tO3bO8rR81a8mrGWCnGTlZJsrZNH2OR3F7GWknJ4ZHD5qNraB7rPFNGzibTzNc4DbA5fNWj79aGc7lSnbO0oP4KLVahsM8ElPNXxuZKwtcACdjt2K6c7pswqRoYJRi0r+RbU88dTTxzxHLJGhzT3FdF+fxXaptDDS2680s9MCTH0rDlu\/LkvpuFTW5NbqmOBvW2nY\/l5AKeUzNcdG1rZ+at73NRedR0dojc3iE1TybA0757+xVlPY7jfX+1X6d8cJOWUbDw48ez8e8LhbKzSNoxLFUmeoH\/NkieXZ7tsBWh1lZB\/1L\/3TvySzj3URjhUd6s1bonl69S3paSnooGwU0TYo28mtCz0ulal9bXdHXdFS1sgkkAGX5yTj1PapX1zsf8ASX\/unfkvLta2VpwJpXd4iKhKa0RrOfDTSTksvEtKG10NtaRSUzIiRguA3PiVR6iAqNUWSmI2Y8ydvWD\/APK6fXmz5O1Rt\/2xv8VUVmordLquhucbpOiijMbyW8vvdX+JTGMr3aMq1ai4KMWrXX6m6RVVPqazVI9y4RN7pDwf5sKwjqYJv0U0cn91wKyaa1O6NSEu67nVERQXMw9v0rrlrXjigt0XEAeXH29+5\/8AX106y9bDXWO\/zXSko31kFUzEkbObTzzsD2fHC+uveoa4GOhsjqYk46Wd2wHbuAPxWri5WtocNOqqbkpJ4m3s\/QubpdqS0UxmqZN\/1Yx9557gqKgo6zUlyju1yiMNJAc01Of1uvJ+HjjsUm3aVYJ\/brvKa2sduQ45Y0+HX+HctEouo6al1CdV3qZLp8\/AREWZ1hZiwadqLbfKirnYwxkOETuMlxyeZ8lp1DrrrQ25hdV1McZAzw5y4+A5q0W80tzGpCDanPYmIswdXVNY7htFnqKgHYSPGGg+WR8QntWspdxQUkIPLLht3\/eKnlvcp9VB91N+SZp0WWFr1XVn+U3eOnb2RDcegH4r19SmznNfdqup88fjlThitWOdUfdpv1aRezXS302RNW08ZHMOkAPooM2q7JCSDXNcR1MY53xAwuMOjLJF96nfKe18h+WFPhsVpgAEdup9ut0YcfUqOx4j\/ofRe7+Cpfrq1g8MUNVK7qDWD815GrLhN\/wunqp\/9o5x\/lWkjijiGI42sHY0YXtMUeg5dZ6z9l\/pmPpTVc\/6CzQxB3LpXbgebh+CGLWdSP09JS52xscfArTomPokPp29Zv3t+hmPq\/f596jUUkZPPogfkQn1KZJvUXasld25\/PK06JzJD6Wlur+bZmm6DtLc5lqneL2\/Jq7s0XZG86eR+\/XK75K+ROZLqSuFor\/yinZpSxs5UDTvnd7j+JXZunrO0YFup\/NmVZIoxS6l1RpLSK9iv+gLR\/VtN+7CfQFo\/q2m\/dhWCKMT6k8qn+VexDFntbTlttpAe0QN\/Jevoy3\/ANBpv3TfyUpEuycEehF+jLf\/AEGm\/dN\/Jem0FGwYbSQNHdGApCJdk4I9DmIIQMCJgA\/shU2odPtudEwUbY4aiJ4cw4wHdoOPXy71eoik07orOnGcXGSMLNJC0lt10nwvxkyU4LGnAyeXn1qGbQbg8Mtlmq6V45yTSkNHqPH+Cv0ZFqqttEcj4JS1f2V\/cg2alqqK2xwVlR08rc++STt2ZPNFORZN3dztjFRSSCIigsEREAREQGY1TcKlldSWyOpNHFVY4qhoJI3Ix+HIqRRaNtVLwvmY6qlG5dKdifDl65V5JFHKAJI2vAOQHDOD2r2tMbUUkc3IjKo5Tz6eB5YxkbAyNoY1owGtGAF6RFmdIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "REGIMIENTO TOCOPILLA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:28",
    "ubicacionGPS": "LatLng(lat: -23.6823934, lng: -70.4139221)",
    "horaLlegada": "15:27",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/05/2026 15:28:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[11/05/2026 15:28:34] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76121841', 'EP2776', 1, 19969062, 7704, NOW(), 
				'08:00', '15:27', '15:28', 1, 'Instalacion impresora', -1, 
				'', '','1','26188',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778527714.png', 'Instalacion impresora', null, 'COMPLETADO','LatLng(lat: -23.6823934, lng: -70.4139221)' )
				
[11/05/2026 15:28:34] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200264

11/05/2026 15:28:34 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'EP2776'
		
11/05/2026 15:28:34 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP2776'
				   AND estado = 1
				
11/05/2026 15:28:35 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'EP2776', 2, 1, now(), 'Regimiento', 'ANTOFAGASTA', 'Cuartel 5to piso');
				
11/05/2026 15:28:35 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200264'                    
				WHERE idllamado = 12525			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


11/05/2026 15:28:35 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12525			
				
11/05/2026 15:28:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


11/05/2026 15:28:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:28:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:28:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:28:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:28:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        
11/05/2026 15:28:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:28:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:28:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:28:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:28:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:28:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:28:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:28:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        [11/05/2026 15:28: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/05/2026 15:28: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/05/2026 15:28:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:28:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12525
LIMIT 1;
        
11/05/2026 15:28:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:28:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:28:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:28:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                
11/05/2026 15:28:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12525
                [11/05/2026 15:28: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/05/2026 15:28:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            
11/05/2026 15:28:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            [11/05/2026 15:28: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/05/2026 15:28:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            
11/05/2026 15:28:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                [11/05/2026 15:28: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/05/2026 15:28:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            
11/05/2026 15:28:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            
11/05/2026 15:28:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            
11/05/2026 15:28:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            [11/05/2026 15:28: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/05/2026 15:28:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            
11/05/2026 15:28:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            
11/05/2026 15:28:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            
11/05/2026 15:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            
11/05/2026 15:28:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            
11/05/2026 15:28:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:28:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            
11/05/2026 15:29:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            
11/05/2026 15:29:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            
11/05/2026 15:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            
11/05/2026 15:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            
11/05/2026 15:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            
11/05/2026 15:30:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:31 - logentry: =========================================
FECHA: 11/05/2026 15:30:31
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-qx9AUmkWH8+i0tXiIcI_k0QhsAkfTbfOtqJcm.nIHx2gaW0oX4q
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61964800",
    "serieinterna": "EP2351",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Regimiento",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "Cuartel 5to Piso",
    "rutTecnico": "19969062",
    "contador": "45455",
    "contadorColor": "114954",
    "contadorScanner": "0",
    "detalle": "Retiro de impresora \"con fallas\"",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12526",
    "observacion": "retiro de impresora por fallas",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAByASUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABCEAABAwMCAwUGAwUHAgcAAAABAAIDBAURBiESMUETUWGBkRQicaGxwSMy0RVSYnLhBxYkNEKy8CUzJjZ0kqLS8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgMGBQMEAwAAAAAAAAABAgMREiExBDJBUWGBE3GhsdEiI+EUJDPBUpHw\/9oADAMBAAIRAxEAPwD9mREQBERAEREARfHODWlziAAMknosdbdSVFz1iyOKZ\/sTw9rIyABgNzn1b8\/JSjFyu+RTUrRpuKerdjZIiKJcEREAREQBERAfCQBknACz9p1BPdtQ1VNE2P2KBjuFzebjkAHPrjlsV01bcnW+zubG4iSoJjBG2Bg5Of8AnPzUPQdE2K2S1hA4538IP8Lf6k+npaopQcmY51ZSrxpR4Zs1KIiqNgREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREBSatrzRWKRrDiWoPZNHXfn8s+qpaOh\/Z+rbNTY99lGTLj94iQnPmVLqgL3rWGnLS6ntzeJ\/dxc\/rw\/HBXs7\/wBogzvim28Nleso26HmVPrqY+GJJds2adERUHphERAEREARFX324C22eoqM4fwlsfP8x5cl1K7sRlJRi5PgYbVdxfdr32MPvRU57KPHIuJ3PmdvgAt\/bKIW6209ICD2TACQMAnqfXKw+nbaZr3RQOZtSs9omIPJx3aP9m3gV+hK6q7JRR5+xRcpSqy1f\/fjsERFQekEREAREQBERAEREAXxzg1pc4gADJJ6KLcrjT2qifVVLsNbsGjm49APFZdlHdNS009wrqiSmpQ0upoGHAJAOCfDx6+AwpxjfN6FFWtgeGKuzZAgjIOQV9VHpCpfU6ehMji5zHObkkd\/9eqvFGSs7FlOeOClzCIi4TKrUN2NpthliAdUSOEcLcZy4+HgPsp9G6d9HE+qaxszmAvDM4B891mpR+29btiJ46a3MyWkbF3Xn44\/9vmtWpySSSM9KTnOUuCyX9sIiKBoCIiAIiIAod1uDLXbZqt+CY2+60n8zug9VMWW1FKbteqSwRE8Ad2tQR02yAfLfzClBXZTXqOELrV5LzJWkKKSC2Pragkz1z+1cTzI6HzyT5qPb81WurhM4+7BEGNbn4D\/AO3qtM1oa0NaAABgAdFmdKfjXa91XNr6jDT4Zd+oU074pFEoKDp01z9kadERVG0IiIAiIgCymoXNuGo6K3OaHQU7DUTA7ZA3x6Dp3+mqc4NaXOIAAySeiwUVUZaS\/Xxxx2\/+GhIyTg4HXw4VbTWdzHtclhUeefZZlxoqESUtXcnt\/Fqp3bk5OBvz+JK0yrNOUpo9P0cRGHGPjOeeXe991ZqM3eTLdnjhpRQREUC8IiIAiIgCIiALxLLHBC+aV4ZGwFznHkAvay2oJ5rzdItP0bvw8h9W9pHutBG3l9cKUY3ZVVqeHG\/Hh5nGnjk1deDVTseLVTHETDsJHeP38gr2\/wBR7HYKyVp4cRFrcdCfdH1UylpoqOljpoG8McTQ1oWe1ZLJX1FJYqVw7SoeHSbj3Wjv+Z8lNPFJcjPKPg0pN5yfu9Cw0vTCm07SNxgvZ2h8eI5+mFbrxFG2GJkTfysaGj4Be1W3d3NVOOCCjyC41U4paSaodyijc8+QyuyotZVXs2nZWg4dO5sY+p+QK7FXaRyrPBBy5HHRUH\/Spa54zLVyuc53eAcfXK0aiWul9itdNTb5jiaDnvxv81LSTvJs5RhgpxiERFEtCIiAIiIDlU1EdJTS1MzuGOJpc4+AWf0jSvmFTeqlp7eseQ3IxhnoOZ+gXnVk8ldNS2Klf+LUvDpMb4aO\/wCvktFTU8dJTRU0LeGOJoa0eAVm7HzMv8lbpH3fwj7NJ2UEknPgaXegWf0NHw2J8hOTJO5xPkB9lZ6gqPZbBWyg4PZFoOcYJ2H1XDTMLKPTdLxEMDmdo4u2\/Mc\/QhFuM7LPaF0T9S4RVEeqLPLWClZWNLieEOxhpPxVuoNNal0Zxnuu4REXCYREQFHqy5PoLO6OHJnqj2TMDcZ5n0281TXmgdQ2G1WfIY6eYdqR1dtn5u+SmVodedaU1K0NdBbh2kh\/i2OPXh28CvWpvxr9Y6YDJ7fjdnuy39Cr45WXc8yt9eOXlFf7VzSta1jAxow1owB3BekRUHphFCul2pbRSieqeQHHhY0DJcV2oqyGvpI6qAkxyDLSRg9y7Z2uRxxxYb5ndERcJBEVHe9RsoHijo2e1V7zgRN34fj+i6k27IhUqRpxxSZb1FTBSQmapmZFGObnnAVfRaioLjW+y0jnyH9\/hw3kf0VbS6Xmr5RWagqH1E3SFrsMYO7b7fNaGnpKakZwU1PHC3uYwN+ik1FdSqMqs3e1l6\/g4Xe4stVsmq3AEsGGNP8AqceQVbpS1y0dHJXVZ4qqtPaOJ5gHcA+O5J\/oo+qia+4W2zMye2l7SQD90bfHlxenppmtDWhrQAAMADouvKPmRX3Kzb0j7vU8TTR08L5pnhkbBlznHYBZrTAlul0rr7MzDXnsoAebW\/8A5geqalqprpXRaeoXgOkPFO\/OzQN8H6+i0lNTx0lNFTQt4Y4mhrR4BN2PVnP5avSPv+DqiIqzWFmNc\/5Gi\/8AUj6FadZzW8D5LNHNGC4wTB5Hhg\/0U6e8jNtSvRkaNFzp52VNPHPGQ5kjQ5pHcV0UDSnfMIiIAiIgC5VNRHSU0tTM7hjiaXOPgF67WPtex7RvacPFwZ3xyzjuWXv8r79eIbBSuIZE7tKp45AbfTPqR3KUY3ZTWq4I3Wb0XmedPvb2tTqK7SthNQ7gg7V2A1uemenID4FaSW40UDA+WsgY08i6QDK5VdnoK2iZRzU7TDGMRgbFnwKx1DZqGhvz7be4uPtd6eXjLQ7nzII5\/VWfTPMzN1NnSiknfi+fX+ifqzUdvqbXJQUk\/bSSFvEWDLQAc8\/LovtHYrtd6enZc6h1JRQta1lMz8xDdhnu5czleb\/baKmuVnoqOljhMk+XuY33gMtG568z6LYo5KMVhIwpOrVk6r0sstOZmdQWKkpdOSCgp2ROpyJeIfmOOfvc+ufJXVqrPb7XTVWMGRgJGc79V6ukJqbXVQhpcXxOAaOZOOSyNirbpXUtPaaCRtO2AOFRMQC5o4tsLiTlEnKSo1slqtFzTNwiyhqrjpesYLlXPrqGYHDyPfa7njBP3VpaL1UXOokjltdRSNY3iD5eR32G4HTdRcGlfgXQ2iMnheT5FuotzrW263T1bhkRNzjvPIfNSlHrqGnuVI+lqmF0T+YBI+HJRVr5l08WF4dTEWO7VNO2VtDRur7jUu45ZXD3W53Azz+O4C+yUt4uup4qeuqxSVTIi5r4huwc9sHx71t6Ojp6GnbBTR8DG9M5Pqs+QW\/2ht4hjipfdz12\/oVeppttI82WzuMIRnK+ay4FtZ7bU22KRlTcZa4vcCHSZ93w3JUurqoaKlkqah4ZFGMucV5ra6nt1K6pqpBHG3v5k9w7ysuTXaxqI8wvpbVG4E5ODL+vlyz1VSTk7vQ1zmqSVOGb4L5ItWZ9TU9ZdaiN0VHSwvFMw9T35zz236dFo9K\/+WqL+U\/7irCSjp5KJ1GYmiBzODgGwx3bLOQ0eprRH7Bb2wT0zXHs5ZMAtBJ25\/bqp3UlbQpVN0amNpu6ztzNUirbPFeI45Td6iGVziOzEYxwjrnYKyVTVmbYyxK9rGbvNyq7hcf2FaX8EuM1EwOOzbt+vT4KdabBQ2VnG38Sc\/mnk5nPd3Klp7bqKy3CqkoaWmrPaX8Tp5Dg8z0LgRzz1Xd+nLpeJxJe68NhGCKeA7foPmrXa1k8jBFycnOUG5ei7mpRU9ntVda6qVj681FEW\/hskyXtdnfy5q4VTVnkboScldqxl75I60akprxLC+Sk7IxPc0Alh3\/p815uGuKQQvit8U0lS7ZhczDQfXPlhalzQ5pa4AgjBB6rw2GJmeGJjcnOzQN+9TUlldFEqNRN4JWT6GItVh1E+SeRzxRe1gmWZ+DIc77AbjJ+Cs9OuqaC+V1pqKp8rGgSRmTm8nGSM78vJahVV209RXiSOScvjkjOzosAn4nG\/LyXfExZMrWy+Ek6ebXNlqolxt0F0pfZ6jj4OIO9x2DkKHabHRWAyvZPI50w950zx09O9d5r9aYDiS40+e5rw76KFs\/pNGJOH3bLpcngYGO5eKiniqoHwTxiSN4w5ruRVNLrOyRZ4ah8pH7kbvvhRTrikkPDS0FXO7kBwgZPkSuqE+RCW00NHJe5xNBfNMtJthFdRDd0Um7m9+Bt8s9+Fa2zVFsuTQ3thTzf6opjwnPgeR+vgoDr9qCrGKCxOj\/inP64UCq0vfbu7tax9DC4kuIa3Bz44G\/r0CssnvmVTlB\/YTa5NZdmbZFW2O3T2u3imqKozuadu5o6AIqXkz0YNuKbViyVBeb7M2o\/Zdob21e\/mQAWxDx6ZUrUN1dabaZIt55T2cQxk8RHPHX\/AJ8FEtlDDpm2zV9xlDqmT3pZOZ\/lHepxVldmerNuWCLtzfJfJXT0w0vSmunnNXeKkcEZJcQTtnbrjx8Nlb6Zs37Kt\/aTDiq6j35XEe83P+nPh9VAstHLfbgb7cA8Rsd\/hIXcmgHY+PTfqVqV2cuBXs9JN+JbLh8+bCptUW419oe6Laop\/wASJwOCO8Z8QrlFWnZ3NdSCnFxfExVPcm3zVFmlx+WAukA\/0vAdnyyB6rarMWjTVRQajmrH8Bpm8fYkj3vexyGdgMkfbdadTqNXVjPssZqLdTVv8BcYKWnpeL2eCOLjOXcDQ3J8l2RVmqyOctPDPw9tEyTgOW8Tc4OMfddERDtgiIgCor1aauS4092tpj9rgY5vBINnjDsdee+PPwVrUV1JSf5iqhhwM4e8D6qqqNZWWnyGzvmI6RMO\/mcBTipXyRnrSpWtOVu5GpdMVNdVCrv9UalzT7kLThrfj+g+a0rWhrQ1oAAGAB0WYGs3zDNHZaucen0BX39tamn\/AMvYRH0\/Fd18yFKUZvUpp1aENy77NmnRZj\/xnUnOaSkz02OP9y+DT9\/qCfatQPYDsRDncfJcwLiy3x5Pdg\/Y05cGjLiAO8qK+626P89fSt3xvM0fdUbND0rzxVlfVVDicn3gM+uVKj0bZGgcdO+UgYy+V32IS0OYx13pFLzfwiVJqOzRjLrjAf5XcX0Ud+r7Gzb23iP8MTz9l2j0zZYzltviP82XfVSGWa1x\/kt1KPHsW5+i59HUfuH\/AI+pUv11Z2flbUP\/AJYx9yFz\/vvBJtT2yslJ5DhG\/plaNkEMX\/biYz+VoC6JeHIeHXes\/T8mX\/vTdZQfZ9OVJ\/idxY\/2\/dff2jq6baK008Q73u5f\/L7LTomJcEPBm96o\/Rf0ZjsNZVGM1VJTA88AHHyKf3avVQc1WoZhnm2LIGfUfRadE8R8B+mg95t92ZpmhrcXcdRU1UzuuXgZ+WfmpsOlLJDjFC1xBzl7nO+pVwiOcnxJR2ajHSKIsVsoIMdjRU8eOrYmj7KSAAMAYAX1FC5copaIIiIdCIiAyF5q6eXVsftrg2kt8XaHiAIe49BnnuQMD93w2U1PVatuEddWRuhtsJzFCeUn\/Dz9FeVmnrbX1wrKmHjkGMjOzscs96smtDWhrQAAMADorcaSVtTEtnlKbc3le\/nyv5cg1oa0NaAABgAdF9RFUbQiIgCIiAIuNVK+ClklYwvc1pIaBzKwIujr84i7XoUkGf8AsRxu3HkMfDJJU4wcszNW2hUmlxfb1NbXaotFAS19UJXg44IffP6D1VcNWV1XvbrFUSsI92RxIB9Bj5rrYnaYMwpba2OWcN4uOSI8R793D6LRrrwxysRj4tVXU0l0z9TMGfWNWMMpqWjB5OJBI+Z+if3Zu9Xn9o36YtPNkOQCPkOXgtOi5jfBEv00XvNvv8Gfp9FWeE5lbNUO5kySdfLCtKa02+jH+HooIzjGQwZ9eamIuOUnqyyFGnDdigiIoloREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFW3K30UjO0ko4Hvc7Bc6JpJ5nnjvRFZT1Mu1bhKp6GjpHF1NSQQkjBMcYbn0UhEXJ6k9n3AiIoF4REQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/2Q==",
    "razonSocial": "REGIMIENTO LOGISTICO N1 TOCOPILLA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CARLA CID",
    "correoContacto": "carla.cid@ejercito.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:30",
    "ubicacionGPS": "LatLng(lat: -23.6820649, lng: -70.4121353)",
    "horaLlegada": "15:27",
    "horaDespacho": "15:28",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "2",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 11/05/2026 15:30:31
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-qx9AUmkWH8+i0tXiIcI_k0QhsAkfTbfOtqJcm.nIHx2gaW0oX4q
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61964800",
    "serieinterna": "EP2351",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Regimiento",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "Cuartel 5to Piso",
    "rutTecnico": "19969062",
    "contador": "45455",
    "contadorColor": "114954",
    "contadorScanner": "0",
    "detalle": "Retiro de impresora \"con fallas\"",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12526",
    "observacion": "retiro de impresora por fallas",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAByASUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABCEAABAwMCAwUGAwUHAgcAAAABAAIDBAURBiESMUETUWGBkRQicaGxwSMy0RVSYnLhBxYkNEKy8CUzJjZ0kqLS8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgMGBQMEAwAAAAAAAAABAgMREiExBDJBUWGBE3GhsdEiI+EUJDPBUpHw\/9oADAMBAAIRAxEAPwD9mREQBERAEREARfHODWlziAAMknosdbdSVFz1iyOKZ\/sTw9rIyABgNzn1b8\/JSjFyu+RTUrRpuKerdjZIiKJcEREAREQBERAfCQBknACz9p1BPdtQ1VNE2P2KBjuFzebjkAHPrjlsV01bcnW+zubG4iSoJjBG2Bg5Of8AnPzUPQdE2K2S1hA4538IP8Lf6k+npaopQcmY51ZSrxpR4Zs1KIiqNgREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREBSatrzRWKRrDiWoPZNHXfn8s+qpaOh\/Z+rbNTY99lGTLj94iQnPmVLqgL3rWGnLS6ntzeJ\/dxc\/rw\/HBXs7\/wBogzvim28Nleso26HmVPrqY+GJJds2adERUHphERAEREARFX324C22eoqM4fwlsfP8x5cl1K7sRlJRi5PgYbVdxfdr32MPvRU57KPHIuJ3PmdvgAt\/bKIW6209ICD2TACQMAnqfXKw+nbaZr3RQOZtSs9omIPJx3aP9m3gV+hK6q7JRR5+xRcpSqy1f\/fjsERFQekEREAREQBERAEREAXxzg1pc4gADJJ6KLcrjT2qifVVLsNbsGjm49APFZdlHdNS009wrqiSmpQ0upoGHAJAOCfDx6+AwpxjfN6FFWtgeGKuzZAgjIOQV9VHpCpfU6ehMji5zHObkkd\/9eqvFGSs7FlOeOClzCIi4TKrUN2NpthliAdUSOEcLcZy4+HgPsp9G6d9HE+qaxszmAvDM4B891mpR+29btiJ46a3MyWkbF3Xn44\/9vmtWpySSSM9KTnOUuCyX9sIiKBoCIiAIiIAod1uDLXbZqt+CY2+60n8zug9VMWW1FKbteqSwRE8Ad2tQR02yAfLfzClBXZTXqOELrV5LzJWkKKSC2Pragkz1z+1cTzI6HzyT5qPb81WurhM4+7BEGNbn4D\/AO3qtM1oa0NaAABgAdFmdKfjXa91XNr6jDT4Zd+oU074pFEoKDp01z9kadERVG0IiIAiIgCymoXNuGo6K3OaHQU7DUTA7ZA3x6Dp3+mqc4NaXOIAAySeiwUVUZaS\/Xxxx2\/+GhIyTg4HXw4VbTWdzHtclhUeefZZlxoqESUtXcnt\/Fqp3bk5OBvz+JK0yrNOUpo9P0cRGHGPjOeeXe991ZqM3eTLdnjhpRQREUC8IiIAiIgCIiALxLLHBC+aV4ZGwFznHkAvay2oJ5rzdItP0bvw8h9W9pHutBG3l9cKUY3ZVVqeHG\/Hh5nGnjk1deDVTseLVTHETDsJHeP38gr2\/wBR7HYKyVp4cRFrcdCfdH1UylpoqOljpoG8McTQ1oWe1ZLJX1FJYqVw7SoeHSbj3Wjv+Z8lNPFJcjPKPg0pN5yfu9Cw0vTCm07SNxgvZ2h8eI5+mFbrxFG2GJkTfysaGj4Be1W3d3NVOOCCjyC41U4paSaodyijc8+QyuyotZVXs2nZWg4dO5sY+p+QK7FXaRyrPBBy5HHRUH\/Spa54zLVyuc53eAcfXK0aiWul9itdNTb5jiaDnvxv81LSTvJs5RhgpxiERFEtCIiAIiIDlU1EdJTS1MzuGOJpc4+AWf0jSvmFTeqlp7eseQ3IxhnoOZ+gXnVk8ldNS2Klf+LUvDpMb4aO\/wCvktFTU8dJTRU0LeGOJoa0eAVm7HzMv8lbpH3fwj7NJ2UEknPgaXegWf0NHw2J8hOTJO5xPkB9lZ6gqPZbBWyg4PZFoOcYJ2H1XDTMLKPTdLxEMDmdo4u2\/Mc\/QhFuM7LPaF0T9S4RVEeqLPLWClZWNLieEOxhpPxVuoNNal0Zxnuu4REXCYREQFHqy5PoLO6OHJnqj2TMDcZ5n0281TXmgdQ2G1WfIY6eYdqR1dtn5u+SmVodedaU1K0NdBbh2kh\/i2OPXh28CvWpvxr9Y6YDJ7fjdnuy39Cr45WXc8yt9eOXlFf7VzSta1jAxow1owB3BekRUHphFCul2pbRSieqeQHHhY0DJcV2oqyGvpI6qAkxyDLSRg9y7Z2uRxxxYb5ndERcJBEVHe9RsoHijo2e1V7zgRN34fj+i6k27IhUqRpxxSZb1FTBSQmapmZFGObnnAVfRaioLjW+y0jnyH9\/hw3kf0VbS6Xmr5RWagqH1E3SFrsMYO7b7fNaGnpKakZwU1PHC3uYwN+ik1FdSqMqs3e1l6\/g4Xe4stVsmq3AEsGGNP8AqceQVbpS1y0dHJXVZ4qqtPaOJ5gHcA+O5J\/oo+qia+4W2zMye2l7SQD90bfHlxenppmtDWhrQAAMADouvKPmRX3Kzb0j7vU8TTR08L5pnhkbBlznHYBZrTAlul0rr7MzDXnsoAebW\/8A5geqalqprpXRaeoXgOkPFO\/OzQN8H6+i0lNTx0lNFTQt4Y4mhrR4BN2PVnP5avSPv+DqiIqzWFmNc\/5Gi\/8AUj6FadZzW8D5LNHNGC4wTB5Hhg\/0U6e8jNtSvRkaNFzp52VNPHPGQ5kjQ5pHcV0UDSnfMIiIAiIgC5VNRHSU0tTM7hjiaXOPgF67WPtex7RvacPFwZ3xyzjuWXv8r79eIbBSuIZE7tKp45AbfTPqR3KUY3ZTWq4I3Wb0XmedPvb2tTqK7SthNQ7gg7V2A1uemenID4FaSW40UDA+WsgY08i6QDK5VdnoK2iZRzU7TDGMRgbFnwKx1DZqGhvz7be4uPtd6eXjLQ7nzII5\/VWfTPMzN1NnSiknfi+fX+ifqzUdvqbXJQUk\/bSSFvEWDLQAc8\/LovtHYrtd6enZc6h1JRQta1lMz8xDdhnu5czleb\/baKmuVnoqOljhMk+XuY33gMtG568z6LYo5KMVhIwpOrVk6r0sstOZmdQWKkpdOSCgp2ROpyJeIfmOOfvc+ufJXVqrPb7XTVWMGRgJGc79V6ukJqbXVQhpcXxOAaOZOOSyNirbpXUtPaaCRtO2AOFRMQC5o4tsLiTlEnKSo1slqtFzTNwiyhqrjpesYLlXPrqGYHDyPfa7njBP3VpaL1UXOokjltdRSNY3iD5eR32G4HTdRcGlfgXQ2iMnheT5FuotzrW263T1bhkRNzjvPIfNSlHrqGnuVI+lqmF0T+YBI+HJRVr5l08WF4dTEWO7VNO2VtDRur7jUu45ZXD3W53Azz+O4C+yUt4uup4qeuqxSVTIi5r4huwc9sHx71t6Ojp6GnbBTR8DG9M5Pqs+QW\/2ht4hjipfdz12\/oVeppttI82WzuMIRnK+ay4FtZ7bU22KRlTcZa4vcCHSZ93w3JUurqoaKlkqah4ZFGMucV5ra6nt1K6pqpBHG3v5k9w7ysuTXaxqI8wvpbVG4E5ODL+vlyz1VSTk7vQ1zmqSVOGb4L5ItWZ9TU9ZdaiN0VHSwvFMw9T35zz236dFo9K\/+WqL+U\/7irCSjp5KJ1GYmiBzODgGwx3bLOQ0eprRH7Bb2wT0zXHs5ZMAtBJ25\/bqp3UlbQpVN0amNpu6ztzNUirbPFeI45Td6iGVziOzEYxwjrnYKyVTVmbYyxK9rGbvNyq7hcf2FaX8EuM1EwOOzbt+vT4KdabBQ2VnG38Sc\/mnk5nPd3Klp7bqKy3CqkoaWmrPaX8Tp5Dg8z0LgRzz1Xd+nLpeJxJe68NhGCKeA7foPmrXa1k8jBFycnOUG5ei7mpRU9ntVda6qVj681FEW\/hskyXtdnfy5q4VTVnkboScldqxl75I60akprxLC+Sk7IxPc0Alh3\/p815uGuKQQvit8U0lS7ZhczDQfXPlhalzQ5pa4AgjBB6rw2GJmeGJjcnOzQN+9TUlldFEqNRN4JWT6GItVh1E+SeRzxRe1gmWZ+DIc77AbjJ+Cs9OuqaC+V1pqKp8rGgSRmTm8nGSM78vJahVV209RXiSOScvjkjOzosAn4nG\/LyXfExZMrWy+Ek6ebXNlqolxt0F0pfZ6jj4OIO9x2DkKHabHRWAyvZPI50w950zx09O9d5r9aYDiS40+e5rw76KFs\/pNGJOH3bLpcngYGO5eKiniqoHwTxiSN4w5ruRVNLrOyRZ4ah8pH7kbvvhRTrikkPDS0FXO7kBwgZPkSuqE+RCW00NHJe5xNBfNMtJthFdRDd0Um7m9+Bt8s9+Fa2zVFsuTQ3thTzf6opjwnPgeR+vgoDr9qCrGKCxOj\/inP64UCq0vfbu7tax9DC4kuIa3Bz44G\/r0CssnvmVTlB\/YTa5NZdmbZFW2O3T2u3imqKozuadu5o6AIqXkz0YNuKbViyVBeb7M2o\/Zdob21e\/mQAWxDx6ZUrUN1dabaZIt55T2cQxk8RHPHX\/AJ8FEtlDDpm2zV9xlDqmT3pZOZ\/lHepxVldmerNuWCLtzfJfJXT0w0vSmunnNXeKkcEZJcQTtnbrjx8Nlb6Zs37Kt\/aTDiq6j35XEe83P+nPh9VAstHLfbgb7cA8Rsd\/hIXcmgHY+PTfqVqV2cuBXs9JN+JbLh8+bCptUW419oe6Laop\/wASJwOCO8Z8QrlFWnZ3NdSCnFxfExVPcm3zVFmlx+WAukA\/0vAdnyyB6rarMWjTVRQajmrH8Bpm8fYkj3vexyGdgMkfbdadTqNXVjPssZqLdTVv8BcYKWnpeL2eCOLjOXcDQ3J8l2RVmqyOctPDPw9tEyTgOW8Tc4OMfddERDtgiIgCor1aauS4092tpj9rgY5vBINnjDsdee+PPwVrUV1JSf5iqhhwM4e8D6qqqNZWWnyGzvmI6RMO\/mcBTipXyRnrSpWtOVu5GpdMVNdVCrv9UalzT7kLThrfj+g+a0rWhrQ1oAAGAB0WYGs3zDNHZaucen0BX39tamn\/AMvYRH0\/Fd18yFKUZvUpp1aENy77NmnRZj\/xnUnOaSkz02OP9y+DT9\/qCfatQPYDsRDncfJcwLiy3x5Pdg\/Y05cGjLiAO8qK+626P89fSt3xvM0fdUbND0rzxVlfVVDicn3gM+uVKj0bZGgcdO+UgYy+V32IS0OYx13pFLzfwiVJqOzRjLrjAf5XcX0Ud+r7Gzb23iP8MTz9l2j0zZYzltviP82XfVSGWa1x\/kt1KPHsW5+i59HUfuH\/AI+pUv11Z2flbUP\/AJYx9yFz\/vvBJtT2yslJ5DhG\/plaNkEMX\/biYz+VoC6JeHIeHXes\/T8mX\/vTdZQfZ9OVJ\/idxY\/2\/dff2jq6baK008Q73u5f\/L7LTomJcEPBm96o\/Rf0ZjsNZVGM1VJTA88AHHyKf3avVQc1WoZhnm2LIGfUfRadE8R8B+mg95t92ZpmhrcXcdRU1UzuuXgZ+WfmpsOlLJDjFC1xBzl7nO+pVwiOcnxJR2ajHSKIsVsoIMdjRU8eOrYmj7KSAAMAYAX1FC5copaIIiIdCIiAyF5q6eXVsftrg2kt8XaHiAIe49BnnuQMD93w2U1PVatuEddWRuhtsJzFCeUn\/Dz9FeVmnrbX1wrKmHjkGMjOzscs96smtDWhrQAAMADorcaSVtTEtnlKbc3le\/nyv5cg1oa0NaAABgAdF9RFUbQiIgCIiAIuNVK+ClklYwvc1pIaBzKwIujr84i7XoUkGf8AsRxu3HkMfDJJU4wcszNW2hUmlxfb1NbXaotFAS19UJXg44IffP6D1VcNWV1XvbrFUSsI92RxIB9Bj5rrYnaYMwpba2OWcN4uOSI8R793D6LRrrwxysRj4tVXU0l0z9TMGfWNWMMpqWjB5OJBI+Z+if3Zu9Xn9o36YtPNkOQCPkOXgtOi5jfBEv00XvNvv8Gfp9FWeE5lbNUO5kySdfLCtKa02+jH+HooIzjGQwZ9eamIuOUnqyyFGnDdigiIoloREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFW3K30UjO0ko4Hvc7Bc6JpJ5nnjvRFZT1Mu1bhKp6GjpHF1NSQQkjBMcYbn0UhEXJ6k9n3AiIoF4REQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/2Q==",
    "razonSocial": "REGIMIENTO LOGISTICO N1 TOCOPILLA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CARLA CID",
    "correoContacto": "carla.cid@ejercito.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:30",
    "ubicacionGPS": "LatLng(lat: -23.6820649, lng: -70.4121353)",
    "horaLlegada": "15:27",
    "horaDespacho": "15:28",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "2",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/05/2026 15:30:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61964800

[11/05/2026 15:30: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('61964800', 'EP2351', 1, 19969062, 45455, NOW(), 
				'15:28', '15:27', '15:30', 2, 'Retiro de impresora "con fallas"', 2, 
				'', '','1','114954',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778527831.png', 'retiro de impresora por fallas', null, 'COMPLETADO','LatLng(lat: -23.6820649, lng: -70.4121353)' )
				
[11/05/2026 15:30:31] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200265

11/05/2026 15:30:31 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '61964800' AND 
				serieinterna = 'EP2351' AND
				correlativo = 1;				
		
11/05/2026 15:30:31 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '61964800'
				   AND serieintmaquina = 'EP2351'
		
11/05/2026 15:30:31 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP2351'
				   AND estado = 1
				
11/05/2026 15:30:31 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'EP2351'
				  AND rutcliente = '61964800';
				
11/05/2026 15:30:31 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'EP2351', 2, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
11/05/2026 15:30:31 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200265'                    
				WHERE idllamado = 12526			
				TO ENVIO: micorreo@miempresa.cl, carla.cid@ejercito.cl


11/05/2026 15:30:32 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12526			
				
11/05/2026 15:30:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


11/05/2026 15:30:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            
11/05/2026 15:30:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                [11/05/2026 15:30: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/05/2026 15:30: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/05/2026 15:30:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            
11/05/2026 15:30:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            
11/05/2026 15:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                [11/05/2026 15:30: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/05/2026 15:30:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            
11/05/2026 15:30:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12526
            GROUP BY l.idllamado;
            
11/05/2026 15:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                
11/05/2026 15:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12526
                [11/05/2026 15:30:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:30:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [11/05/2026 15:30:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
11/05/2026 15:30:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
11/05/2026 15:30:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
11/05/2026 15:30:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
11/05/2026 15:30:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
11/05/2026 15:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
11/05/2026 15:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
11/05/2026 15:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                [11/05/2026 15:30:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
11/05/2026 15:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
11/05/2026 15:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
11/05/2026 15:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                [11/05/2026 15:30: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/05/2026 15:30:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
11/05/2026 15:30:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
11/05/2026 15:30:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [11/05/2026 15:30: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/05/2026 15:30:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
11/05/2026 15:30:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [11/05/2026 15:30: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/05/2026 15:30:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
11/05/2026 15:30:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
11/05/2026 15:30:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
11/05/2026 15:30:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
11/05/2026 15:30:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
11/05/2026 15:30:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
11/05/2026 15:30:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
11/05/2026 15:30:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
11/05/2026 15:30:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        [11/05/2026 15:30: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/05/2026 15:30:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
11/05/2026 15:30:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [11/05/2026 15:30: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/05/2026 15:30:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
11/05/2026 15:30:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                [11/05/2026 15:30: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/05/2026 15:30:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [11/05/2026 15:30: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/05/2026 15:30:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
11/05/2026 15:30:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [11/05/2026 15:30: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/05/2026 15:30:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        [11/05/2026 15:30: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/05/2026 15:30:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
11/05/2026 15:30:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
11/05/2026 15:30:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
11/05/2026 15:30:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
11/05/2026 15:30:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
11/05/2026 15:30:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [11/05/2026 15:30: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/05/2026 15:30:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
11/05/2026 15:30:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
11/05/2026 15:30:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
11/05/2026 15:30:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [11/05/2026 15:30: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/05/2026 15:30:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
11/05/2026 15:30:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [11/05/2026 15:30: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/05/2026 15:30:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
11/05/2026 15:30:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
11/05/2026 15:30:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/05/2026 15:30:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
11/05/2026 15:30:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
11/05/2026 15:36:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            [11/05/2026 15:36: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/05/2026 15:36: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/05/2026 15:36:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/2026 15:36:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:36:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/2026 15:36:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:36:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:36:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:38:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            [11/05/2026 15:38: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/05/2026 15:38:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/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 = 12530
                
11/05/2026 15:38:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/2026 15:38:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/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 = 12530
                [11/05/2026 15:38: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/05/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 = 12530
                
11/05/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 = 12530
                
11/05/2026 15:38:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:38:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:38:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:38:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/2026 15:38:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:38:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:38:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/2026 15:38:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:38:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/2026 15:38:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:38:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:38:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:38:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/2026 15:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/2026 15:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/2026 15:39:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/2026 15:39:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/2026 15:39:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/2026 15:39:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/2026 15:39:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/2026 15:39:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/2026 15:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/2026 15:39:58 - logentry: =========================================
FECHA: 11/05/2026 15:39:58
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-bgKmImg5yW49-OIyf6D.DsFEtb2Fsu6Tp5x4x7lZRzb4WQuQeeR
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65291530",
    "serieinterna": "KY2606",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "321661",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12530",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADxATYDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABJEAABAwMCAgYGBQcLBAMBAAABAAIDBAURBiESMRNBUXGBkRQiYaGxwRUjMkLRJFKisuHw8QczNTZDVGJygpLCFlNz0iV04pP\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAA0EQACAQIDBAgGAgIDAAAAAAAAAQIDERIhMQQyQVETImFxgZGxwSMzodHh8ELxFIIkRFL\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALkuNypbXSmoqpOFo2A63HsAXutrae30r6mpkDI2Dc9vsHtVZt9vn1PcPpe5sLaNh\/J6c8nD8O3t7lOMb5vQz1ari1CGcn9O1myOr1HfwJqMR26jI9V793P+fwC6LbdLhSXkWa7uEj3s4oJ2gDj5nfw28ParCAAMAYAVZvRI1laOE+sQc454yVJNSysVThKklPE27q\/j2FnREVRtCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIihL9qWnspji4emncQXRg44W9ZPyXUm3ZEJ1I044pOyJtFqpphUUsU4bwiVgfjsyMrauEk75hERDoWHODWlziAAMknqWVW9T19RNNFYrfvPVD60j7rD+5z7O9SjHE7FdWoqccTOSQv1heXQhxFqo3ZJbn613757h3q2ta1jAxjQ1rRgADAAXLQUVNZ7dHTRuDY4xu9xxknmT3ldbXBzQ5pBBGQR1rsnfJaEKNNxu5bz1\/ewyqxSk3TXNRON4bfF0YJAPrcvDcu9uymL1cW2q1TVR+0Bhg7XHl1FcelLc6htDZZs9PVHpZMnlnkPL3krscotkKnXqxguGb9vqTaIirNQREQBERAEREARYc4NaXOIAAySepQdJqyhq651PwvYzi4WTH7Dj39XV5+K6ot6EJVIQaUnqTqIi4TCIiAIiIAiIgCIiAIiIAiLBIAyTgBAZRVyr1O+orfQLJB6XNn1pebAOvfI8+Xeu7T14deKB0skfBLE7gkA5E4HJTcGldlEa9OU8KZKoiw5wa0ucQABkk9SgXnBertFZ7e+pkIL8YjYT9t3YqfcLbN\/0\/UXq4kuraxzQGkY4G5GPcB3BSlIx2ptRvrZPWt1C4tgG2Hv2888\/JbtdOL7XTU7ftzVIA8j8yFfHqtLieZX+LCVR6LT7\/Ynbc0stlK08xCwe4LpXlrQxgaOQGF6VDPSSsrBERDpz11ZFQUUtVM4NZE3Jz7h5qD0tSSVL577VjM9W49GCB6rBsPhjuAWnUz5Ltd6OwQEhriJZ3DqH7Bk95Cs8UTIYmRRtDWMaGtaOoDkFZux7zKvi1r8I+v4IXWf9Wp\/8zP1gunTc\/pOnqKTsj4P9pLfkvGqoum03WNxu1od5EH5KGtl5badDRTZBly+OJv+IuJye7OV1K8LLmVzmqe0uUtMPubbgRqLVENubh9JQkvn7C4cxy7dufb2K1qF0vaHWu2l04PpNQeOXi5jsHx8yppRm1ey4F2zxdnOWss\/sgiIoGgIiIAiIgCIiAhtV17qCwTOjdwyTERNPZnn7gV5p9PU8unILfUsHHwcTnho4mvO5Iz19S4tWu9LuFqtQHF0swe8Zxty+BcrQrG8MVYyKKqVp30SS92V6x3KeCufY7iczxAdDITkyjG\/Puz3Kwqs6uYaSa33iP7dNMGOHLiad8Z8CPFWVrg5ocNwRkLkuEidFtOVN8PRmURFA0BERAEREAREQBERAFVLzX1F+rvoS1PPRg\/lU7fsgdY7vjyW\/Ud0nmmFjtYL6yb+dI26NpHb1dXh3qWtNpp7PRNpoBk83yEbvPaVYuqsT1Mk260nTjotX7fc9Wy10tppG09MzAH2nH7Tz2kqE0L61uq3j7Lqk4PgPxUzeaoUVmq6jOC2I8P+Y7D3kLj0jTejacp8\/alzIfE7e7CX6rbDilWhGPBP2RNKv6trpI6KO202TU1zujAG5DOvl5d2VPPe2ONz3nDWgknsCrGnY3Xe81V+mb6jSYqYHqHWeQ6tvE9i5BfyfAlXbdqcdZenEnLTb2Wu2Q0bMEsb6zh95x5nzUJqDNVqqzUfMMd0pA787\/7D71aFWIiKz+UGV2cijp8A8xyGf1z712DzbI14pQjTWjaX75FnREVZrC1zSsp4JJpDhkbS5x9gGVsVf1lWOgs4pYsGWseI2j2cz8h4qUVd2K6s+jg5cjTpCF9U+svc8YbJVyEM9jQd8ezO3+lWZc1vpGUFvgpGDaJgbz5nrPmulJO7uRowwU1F6+5x3aLp7PWRdboHgd+CqTpO3yXerjdUkupKA8TG9ReTnHu37gpvV10m4RZ6EF1TO0ukxjaPByPHHl3rg0BWYkqqFx+0BKz4H5eSuimqbZhrShU2qMXw\/uxdkRFnPUCIiAIiIAiIgCIiAq8Y9M\/lBkePWbRwYznkSP8A9nyKtCrOnMSajvkmS4tlDcnq3cPl7lZlOetjNs2cXLm36lb11\/QDf\/O34FWCD+Yj\/wAo+Cr2vHcNhjGPtVDR+i4\/JWNjeCNrc54QBlHuIQ+fPuXuekRFA0hERAEREAREQBcN4ucVot0lVIRkDEbT95+Ngu5VOqH\/AFPqVtM3egt+8hGCHuzy59eMeBU4K7z0KK9RxjaOryR26VtUlNTOuNYeOsrPWL3cw04IHzPh2KfRFGTu7k6dNU4qKK3rad30ZBQx7yVcwaBnmB+3hVgp4W01NFAz7MTAxvcBhVmbF31zHGOIw21nE7YY4ufxLfJWpTlkkimj1qk5+Hl+Svawr5ILcygpgTUVzujaBz4evzyB4lS9som262wUbTnomYJ7TzJ88qv0Qfe9Yz1hIdS24dHHjkXcvjk+StSSySiKPXnKr4LuX5Cq+kx6Tc7xXnfpJ+Fh7BknHw8lY6qXoKSab\/tsc7yGVA6Gi6PT5dv9ZM53uA+SLdZ2pnWguV37FjREVZpCq9Rm7a5hhGTDbWcbsbjj5\/Et8vKzOc1jC9xw1oyT2BVrRrXVJuF0fkuqpyGlw3wN\/wDljw9isjkmzNX604Q5u\/l+Szriu1yitVulq5T9kYY3853UF2qouP8A1ZqANHrWyhOc4OJXbbfv1d65FXd3oSr1HFWjvPT97DZZbZJHbq2814zVVcb3+s3eNuDy7\/hhQFFBLbLdQX+AH6uZzJgOtucfiPJX27O4LNWuxnhp5Dj\/AElROmaOKr0fFTzjijmDw4f6j+CsU8m2Y57OscacdUm79t1mT0M0dRAyaF4fHI0Oa4dYK2KraZrJbbWS6eriA+IkwPP3xzwPj5q0qqUcLN1Gp0kL8ePeERFEtCIiAIiIAiLDnBrS47ADJQFZ0gQ6svEgyeKp546suwrOqxoYF9tqqlww6WpOfIH5lWdTqbzM2yfJj+8Ssa0BkZboAM8dSNhz\/fdWdVi+flWsLNSc+izN2def+Cs67LdSFLOrUfcvJBERVmkIii9QXdlmtj5+cz8siH+LHPuC6k27IjOahFylojubVU76g07ZmGVvNgduPDxW5USlt0tlutmqZnvFTWSOEzMYxkgY2\/ze5XtSnFLQpoVZVE8Ss1\/YREUDQRWpLkbXZZpmHEr\/AKuMjqcevwGT4LXp+gZZbMw1JZFLKekmLsNAJ6vZgbearuqbhPW6ihoqSEzmkIxHgkOecHOx6th4HtUpTaXqK8+k36slmlJyIWPw1g7P4YV2FKCuzzlVlOu3BXtl2dpZgQRkHIK0XCrbQ2+eqdyiYXcs5PUoHSJfFV3ehD3OgpqjETXOyW7uB+ATWtQ51FTW2I\/W1kwAG+4B9ntIUVDr4S91\/gOpb+9PU2aMpXstcldMS6atkMjiRuQCfnk+Kk73X\/RtnqKoEB7WYZn847BdVLTspKWKnjGGRMDG9wGFXdVvNbcLbZmk4nlEkoz90bd\/53l5F1p3OSvR2ey108X+Tr0jb\/QbFEXtAkqD0rtt8Hl7seanFhrQ1oa0AADAA6llQk7u5opwVOCiuBHX+TorBXOxzgc3zGPmtOlY+i01Rt7Wl3m4n5rzqyTo9M1hzuQ1vPtcAuqxx9FYqFuMfUMJ2xzGVL+HiU67T\/r7neiIoGkjNR1JpNP1kodwuMfACOeXbfNedNUvomnqOPhwXM6Q9uXb\/NR2t5C+gpKJhw+pqAO8D9pCn5ZYbfQulkPDDBHknrwArP4JczKmnXk3wXrmQ2qbjKyKK00TvyytIaMEgtaTz8eXmpKz2yK0W6OljAyBmRw+8\/G5ULpinkudXPqGtZ9ZI4tpxk4Y0bEj4eBVoSWSwoUV0jdZ8dO78nBfXFthryP7u8eYIXNpNobpmjA7HHzcVt1I7g07WnOPqiPPZY003g07RDGPq8+ZJT+Hid\/7P+vuatQWQ3SKOemf0VbTniikBxn2E\/vhedP376Ta6lqmdDXwbSRkYzjrH4KbVe1FYpaiVl1tpLK+DBwDjpAOrv8AjySLTWFnKsZQl0sPFc\/yWFFFWK9xXmlyQI6mPaaHrae0exSqg007M0QnGcVKOgREXCQREQBc1xf0dsqn4zwwvOPArpXDe3Btiryf7tIP0SurUhN2i2R2i4+DTcTv+497vfj5KfUNpEFumKMHsef03KZXZ7zK9nVqMe5FYpfyv+UCqk5tpYA0H24G3vd5Kzqr6QzVVl1uR36afhaewDJ28x5K0LtTWxHZc4OXNt\/UIiKBpCqkXBqHWEj3ASUltHC0EZDn9vmD\/tCmNRXEWyyzzh\/DI4cERHPiPLHdufBc1go4bDp0TTkNc5nTTO8Nh4DA7+9WRyjcyVXjqKHBZv2OO4ONfrihpo2cQo2dJIcjDc7\/APr5q0KtaOgfNFV3eZzjJWynAJ2DQT8yR4KyOcGtLnEAAZJPUuT1tyJbNnF1H\/J38OH0Mqtar1E+3M9Ao8mqkZxOeP7Nu+\/fse7mq\/dNU1Mt+bUU8rxTU7sRxtdgOHXnHPJH4JXUEzaKF9TwuuF5nDuvLGZBxj2kjywrY07NORjrbZjjKNLhx\/eZP6Itwp7Y6ukaemqXHDnDfgHLzOT5KxzSsghfNIeFkbS5x7ANysU8EdNTxwRDDI2hrR7AoTWVw9CsT4mk9JUnoxjqH3vdt4qrfmbEls9DuRGaPudJE6WOaX8qrpy5rGtLtvaRy3zzXV\/SuvDneK3RbdWXfxd+iobRdK1lRU3abaGjidvtzxv7s+am9FQPdR1Vzmx0tbMXZweQJ+ZKunZNtGHZ3KpCnB87+C\/JZlV6HiuOuqypI+roo+ibkZweXh95duotRx2SNsbGiWqkGWsPIDtK5NEQuNuqK2TBkqpiSccwP2kquKai5GupONStGmuGb9izIuOhutFcXStpJukMLuF+GkAHv5Hkt9TUxUdNJUTvDI428TiVXZ3salKLWJPIg9bvLdOvH50rR8\/kpqiZ0dDTsxjhiaMdmy+cX\/UlRe3iMN6KlY7LY+s+0+1fTWtDWho2AGArJxcYpMx7PVjVrTlHSyXqZREVRuKtdPy7XNupdyymZ0p7Adz8mrGo6iS7Xan09SyYY8h1U5vUOePADPiFxm6RUWpL1dJCCYWCCJp5OfsAP0D71MaVtk1LSPrqxxfV1pD3OdzDcbA+3f4divfVSfI8uPxZSguLd+5ZfWxM01PHS00dPC3hjjaGtHsC2oioPTSsrIhdXv4NM1e+C7gA\/wB4XbZmdHZKFuMEU7Mj28IUTrmXo9Phu\/1kzW+4n5Kfp4zFTRRnmxgafAKb3EZ457RLsS9zYiIoGkrl9slQyq+mbOSysj3kjHKUd3b7OvvXfY75Beqbib9XUM2liPNp7R7FKKt3yxzx1P0xZ\/q6xm8kbeUo69u32dffzsTUlZmScJUpOpT04r3Xb6lkRRtjvEN6oBOzDZG+rLGD9k\/gig007M0xkpxUo6EkiIuEgorU8nR6crXZxlnDzxzIHzUqoXV\/9V6z\/R+u1ShvIpru1KT7H6HRp6PotP0Le2FrvPf5rdd6j0S0Vc\/WyJxHfjb3rFl\/oOg\/+tH+qFFa3qDHYxTtyX1ErWBoGSQN\/iAupXmQlLo9nvyRu0fTej6cgO3FMXSHHtOB7gFOLRRU4pKGCmGMRRtZt7Bhb1yTu2y2lDBTUeSCIiiWFW1KPpDUFqtJPqE9LI0DOR\/BrvNbdYVMzqentVKMzV0nCf8AKCPnjwBWuhHpevq2Y\/ZpoeEew7D8VrtRZfdXVNz4eKno29HC7OxPIH9Y+IV+luxHmN4sSWsnbwWpZqSmZR0kVNGAGRMDRgdgUNrG6G32joo3cM1SSxuDuB1nn3ean1821DXG7109Uwl0LHCnpg3fi6yefXv1dY7FGnHFK7LtsqdHSwx1ZjSVoNyurZZGE09P67j1F3UPPfuCsW10151mK3Rd3rfxd7vOUsltislnZG8ASBvHO8DmeZ78cvBRmio3S09bcpG4fVTk5zk4G\/xJU5TvdlFKh0ahTerd34FnXzbUt1beLk8sfmnpxwQhp+24nn+\/YO1WPWd7NBRihgcRPUNy5wOCxmfnuPNVnTdrNRqCljmblrGCd7SOQ5tz35afFKUbLGyO21XUmqEPEnLnA2xaIZRN\/n6otD9ty47u27hjyU7EYrBp1hm+zSwjiH5zuzxJ96ir9+X6ptNuBBZGTNI0ezffwb7151XMa240doDw2EfX1JyfVYO3wBPkuWxWT7y26puUo8LRRVrlVSTh9dUnNTWnijHFnoo8kY9mdgPYD2qxV1TLbtL2+0UYf6ZVxtw1gIIB3d45OPNVy5O9K4bhI0xwzSmOFgGSyNgAwN+oEKx6WhdebtUXqqjA6PDIWgeq04xgdwx55VsrJJvgYaDcqjgtZZX7NWywWO0x2e2spm8LpOcrwPtO\/ZyVP1nenVdebfC8iCnOH4Oz39fly78q3aguP0ZZ5p2nDz6jD\/iP75VQ0hZ5LlXem1Ic6mgcXDi3D5Nu3zPgqqfGcjXtV3h2anx9Dzc7K2z6epJJm\/lE0zXSjsADiB377qZ0jLV3KvrrpUSSBkhAZHxHg8B7MY8SuLXlxbLUQW2P1jF68mPziNh5b+IVqs1vFstNPSYAcxuX463Hc+9dlJ4M9Wco0l\/ktQ3Y+v7c7lhzg1pc4gADJJ6lC3Wl1HLWF9sr6eGnwAGPaCc9Z+yfiqpca\/UU8lXa5qttQIoy+cRNYAGt3OSAOX7FXGni4mmrtXRaxZu03aDe7tPcKkF1K2UvO\/235yAfPJ\/avoC+Z25upI7a025tQKV5LgYgNznB9vUvJm1DGc1M93iyeyT5kK6cHJ6mHZ9pVGG47vVn05F8x9KpQMVddeA4cth483Lcx1kkaeku1zI6wWdXmfYodD2mhbffgvNE\/rKRjp7VTOe0cdRl2TsBsN\/NT\/0nb\/79Tf8A9W\/ivm8oscd0pzE+qnpMZnMmOInfljHsXe6p0hnhjt1c93Vh3P8ASUnTySzKYbU1OUss7cfwX2Gspah3DDUwyu7GPBPuW5UGjnooKuOqtWnK6V8eeFznuwDy6gVL\/SGrKw4gtkFKx335Tu3zPyVbp2NcNqTWau+xN+yLMSAMk4AUJc9VUNEOjpXCtqXHDYoTxDPtI\/iuMaaulyc115urnMycwwbDHZyA9xUvbbFbrVvS04EmMGRxy4\/v7Fy0VrmTxVqm6sK5vXyODTlrrYKiquVeyOKarPF0TM+rnflnA95RWBFCTu7l1OmqccKCIi4WBQur\/wCq9Z\/o\/XappQ2rgXaYrAOxh\/TapQ3kU7R8mfc\/Q7LL\/QdB\/wDWj\/VChL0Dc9W223DeOnHTSDOB2+PIeamrI4OsVAR\/dox+iFCaZ\/8AkL9dbtza53RRntb\/AAa1Tjk2yip1o06fO3ksy0oiKo2hERAUGO4GnpL\/AHNp+sqJxDEdtsknx2+Cten7a212aCDhxI4ccuRvxHn5cvBUfTNNJc7hS0Rz6PTyuqX9h2aMebQPEr6U5wa0ucQABkk9Svq5ZHm7Csa6R8MvdkJqq5mjtvosDs1dWeijaDuAdifl3lVSCnD9SW+0j1o6R4DgPvPHrPPM9Yx\/pUrRVBuV0rtRVGfRKFjhTNdyJA6gevG+O1wUdoqN1VqJ9RIcujic\/J7TgfMqcVhiyirLpqseTeXcvv7Ft1RU+i6dq3ZwXs6Me3i2PuJWq3SQ2HScEs5DQyHjLScFznetw9+ThcWtuKeG30LXb1FQBgcz1f8AJRl+r23aeVrTi1W8fdGBJJyDR4nHsGSoRjeKRorVsFWUuKVl6sjKZkuo7\/0tS49G7MsxDs8EYPIdnYO9WbR8XpMlfd3NDTUS8EYAxwtG+MeIHgo+lgdatG1txmJFTcBgHG\/C44HdkEnyVl07SehWGkiLQ1xZxu73b7+alUlll3FOyUn0ictbXfjkvcibafSdaXOukP1VLH0YPU3q\/wCLlW45qi\/XmobA3E1c\/hLiP5uMY9vYB5Y611x1pp7Fe6luOOsqui4j15yT7iVKaboY7BZJ7zWNIlfHkNIwWtzsO9xx7l3du\/Art0rjHhnJ+f2IfWLYqaspLfACI6WAAZJ5k\/wVw0vSik09SN65GdKT28W\/wwvn9RUSXJ1xuEuS55aOX2cu2HgG4Vxu93mo6als9tw+4TMazDf7IYx4H4Yyk08KiS2epBVJ1npw9F6HLqiX6ZvFHYqaQZDi+V2dmnB27wAT4qxNjpbLaXCJgZBTRl2M88DJ8Sqhb6eHTWpwbjP6vQkiZwJBeQM46+she9SamNzo5KW2MkdTAAzzcJHXsPYPiouDdorQsjXjBTqT3+XcV+U1NbO65TbiScNLsAZJ35eC+sqlX6kiotM2mGEDHSscSB9olpJKk71fZXzi02bE1bLs57TkRDr37fgk+vaw2a2z4sTzy8W7mb\/fJo52Wm1fWV82xLf7Ifjjf2c1qls8Nh0pXBruOeWEiWUnHETtju3XfY9P09niLyemqpP5yZ3X7B++686tcW6YrCOxg83tUE1dRRfKEsEqtTWzsuWXrzNmmI+j05RNxjLOLljmSfmpVcFjaG2KgA\/u8Z82grvUJas1UlanFdiC0upKZ5y6nicfawFbl5c5rGF7jhrRknsCiTaXEq9HTxz69q3MiaIaeHAw0cPFhu3vPkrS1oaMNAA7Aqxoxjqj6Qujx61VOcZ7Bvt\/u9ytCsqa2M2yr4eLm2wiIqzUEREAREQBERAFxXmn9Ks1ZAGhznQu4Qe3GR712rDmhzS07gjBXU7O5GUcUWiq0F19H0CZ3OBkiY6Fu\/WThvkCPJSelaL0HT9O0jD5R0rtvzuXuwqbStqKieLTWOFgrXOk57gAePIOPkvpLWhrQ1oAAGAB1K2pllzMGyN1GpP+Kt48fYyiIqT0QtNVUx0dLLUynDImFx8FuVc1lWEUMNthcenrZAwAfm5\/HA81KKu7FVap0cHI5dAUzG2+pqsDjfL0eccgAD\/yXTqy4ycEVmozmprTwnB+y07b9+\/kVHUk02j5q2jfE+oZLh1M4N2c7HX2bc+4qU05aals8t5uefTqjI4CMdG3u6jsO4K2VsWNmGld0lQjk+PZ\/Zo1HFHZNICip9g9zYi7G7jzJPfhaNJ0ootQXGmAx0UbW+IxldOvGudY4eFpOKlucD\/C5Rn0u20akvEgjMs8pDIYwCeJ2V2N3Dv\/AAQquMNoTeSVvRnrWrpaq9UNHTEumDPVa3qLj7uS8zW2F9Zb9N07xIyJ3TVjmH7TuvyAx4hcNvnntN8q6y4nNVDTmVzX83Pdw4H6Qz2bqz6St80FFJX1nEausdxOL\/tBvV58\/LsUm8ESFOPT1W2s28+xL7nPrJolba7c0ACepADRtyw3w+0rM4iOMuA2aM4Vav8AiTVVkjdya8uA9uR+CkdSXSO12iR7t5JQY429pI+Cqauoo2xkozqTfC3ofOaOR88lJQPP1JqA7h7S7hBz4Ae9XC+TO1Bdo7JSyFsEDi+qlA2aR1Z93f3KIorFV1+nqSot7WiZtQ5ziX4J3ABHUMYP7VYY7dHp3TFZITxVMkJM0hOeJ5GB4AlXTkr5ann7PSngaluuzb7LaEPYrHBfLXXYcYWPqw6MsA24QdsdmHqy2jT1FaHPlj4pp3k5mk3d4dnzWnSFP6PpynP3pS6Q+J29wCm1TObu0ehs1CChGbWdjTNSU1S5rp6eOUt+yXsBI3B+IHktNTa6Sot8lB0QihkbwkRANx17LsRV3ZqcYvVFA1Da7jbrZSxVNwE1MyUMjAbjgONjnq2B6\/xVutFko7NC5lM08b8ccjju79ii9eN4rDGc\/ZqGn9Fw+asbHccbXYxxAHCslJuCMdGlCNeXYlb6npQOs3cOm5hnHE9g7\/WB+SnlXdcODdPEH70zQPeow3kX7S7UZdxMW1vBa6RmMcMDBjs9ULqWmkaWUcLTzEbR7luUXqWxVooKJ1PV+h6fqng4c9nRt73bfDKllVtWvFbcLZZxv00wkk3Gw5d\/LiUoK8kVbTJxpO2unmSum6T0KwUkRGHOZxu23y7ffzx4KUWGtDWhrQAAMADqWVFu7uWwioRUVwCIi4SCIiAIiIAiIgC8TSsghfNIeFkbS5x7ANyvareqauSqkgsNIfr6tw6Qg54Gcznr6s9wKlFXdiqrU6ODl+3IOzVz2aqjuNRE2OK4ue1jiNtzsR7cgA+K+gKA1BYo59PNp6VmH0TQ6HHPYbjxHvXdYbmLtaYanI6THBKB1PHPz5+KnNqSxIz7PF0pOnLjn9yRREVRtCqtI4XrWs1SHcVPbmcDOzi5fHi8gpi\/3Jtqs81Rn6wjgiGcZceXlz8Fp0xbfo2zRh4+un+tlPPc8h5Y96sjlFsy1OvVjDgs37EvgHGRy5LKIqzUaKyjhr6Z1PO3LHdnMe0HqVT0\/bqOg1PcIXtaW0rOON0pBLB256uauah7ppmgutQaiUyRyOADzGQOMDHPbfkFZCVk0zLXpOTjOKu0VmnpIdTayqJw7ipYyHk4+2G4AHjjyV9a0NaGtAAAwAOpVTS9NFS6ju0NO3hihwxoJyef7FbF2q87ENjjaDk9W3fzK1qeCphuNuulPTvqBTvw9jAScc+zv9y5ZaCuvIqLndoBFFTwP9HgH+U7nO\/YfBW9aK5nS0FRH+fE4eYK4p2siU9nTbk3k87dpE6M\/q1B\/mf+sV41tN0enJGZA6WRje\/fPyTRL+PTrG\/mSPHvz81z6qAr7ra7SGlxkk6R+\/JvLOO4O8lK3xCpv\/hpLikvPIsFvg9Gt1NBjh6OJrSO4LoRFSb0rKwREQ6VvXX9AN\/87fgVYIP5iP8Ayj4KC1rDLPY2shifI7pmnhY0k8j2KehBELARgho+Cm9xGaC+PPuXue1WdeE\/QkLBzdUtGO31XfsVmVY1t60Fvi5cdSN+zb9qU95Da\/kyLM1oa0NGwAwFlEUDSFV7YfpXWdZXbOhomdDGQc78v\/bl2+c3eLgy2WqerccFjcMHa47Aea4NI0RpLFHK\/eWqJmcSN9+Xu38VZHKLZlqderGHLN+xOIiKs1BERAEREAREQBERAaqmoipKWWpmdwxxNLnH2BVzStNNW1VVfqxpElQS2EH7rPZ7OQHce1eL\/K+\/XiGwUriGRO6SqeOQG3wz5kditEMUcELIYmBkbAGtaOQCs3Y9rMi+LVvwj6\/g9qouc7Sd\/e5wP0ZXuySBtE798+Hcrcuetoqe4Ur6apjD43jcdntHtUYytroW1qbmk46rQ3Nc17A9jg5rhkEHIIWJZY4YnSyvDGMGXOccABVpln1BaB0dqro5qYABsUw3b2nfl18j18kbp+7XSXivdwzAN\/R4eR28vHdSwrmV9NU0wO\/08zTSNk1Ze3VkvSC10p+pbnHE8Y\/j5BW5aqamho4GwU8YjjYMBoW1RlK+hZRp4Fd5t6hERRLgiIgKxpz+s18\/8o+LlZ1WLH\/XC8+HxVnVlTUzbL8vxfqF5kaXxuaOZBC9IqzSVrQrh9CyxnZ0dQ4OHgFrtx+ktb1tW3Bio2dED7eXycuYzVOnL5cGMp5Hw13rQvaMgPOSOfZ62e5TWmbU+12sNnwaiZ3SSnfOTyBz14V8sry5nm0k5YKf\/nXw0+5MIiKg9IIiIAiIgCrGrvXrrNBz6Sp5du7R81Z1WNS+vqKxMPITF36TfwVlPeM21fKa7vVFnREVZpKrqAfTWoaOyNf9VH9bUY6tuXfj9ZWlrQ1oa0AADAA6l4bTwtqHVDY2iV7Q1z8bkDkFsUnK6SKadPDKUnq\/TgERFEuCIiAIiIAiIgCiNRXttoosRYdVy+rDHjO\/bj991uvN4p7NROnlIdIRiOLO7z+HtUXp60TzTuvV2HHVynMTXco29R9ns7PFTilbEzNVqNvoqevPl+8Dr0zZvoq39JMOKrqPXlcR6zc\/d8PippEUW23dl1OCpxUY8AiIuEwiIgCIiAIiIAiIgKxa\/U13dY+XFEHY7fs7+9WdVfIg\/lEGT\/P023l\/+VaFZPh3GbZtJLk2ERFWaTGAcZHLksoiAIiIAiIgCIiAKsXr1tZWdo3IBJHs3\/BWdViuxL\/KDb28xHTk47Dh\/wCxThqzNtO6l2r1LOiIoGkIiIAiIgCIiAIiIAiIgI6osdBVXNlwniMkrGgAOOW7cjhSKIuttkVGMbtLUIiLhIIiIAiIgCIiAIiIAiIgIC40NU7WFtr4oXOibGWPePu7O5\/7lPoi63exXCmoNtcXcIiLhYEREAREQBERAEREAVYg+u\/lEqeroKYeOzf\/AGVnVXsRE2rrzNnPCQz34\/4qcNGzNXzlBdvomWhERQNIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAVX0nl12vsvIPqeX+p\/4q0Ks6Na7Fzkc0jiqiMkbkj+KnHdZmq\/Op+PoWZERQNIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAWim\/tf\/K5EXSL1RvREXCQREQBERAEREAREQBERAf\/Z",
    "razonSocial": "FUNDACION EDUCACIONAL HERMANA GILBERTA FEICHTLBAUER",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOEL ESTEBAN ARAYA",
    "correoContacto": "jaraya@colegioisma.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "552263360",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28641\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:40",
    "ubicacionGPS": "LatLng(lat: -23.6527269, lng: -70.3957281)",
    "horaLlegada": "15:36",
    "horaDespacho": "15:16",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 11/05/2026 15:39:58
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-bgKmImg5yW49-OIyf6D.DsFEtb2Fsu6Tp5x4x7lZRzb4WQuQeeR
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65291530",
    "serieinterna": "KY2606",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "321661",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12530",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADxATYDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABJEAABAwMCAgYGBQcLBAMBAAABAAIDBAURBiESMRNBUXGBkRQiYaGxwRUjMkLRJFKisuHw8QczNTZDVGJygpLCFlNz0iV04pP\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAA0EQACAQIDBAgGAgIDAAAAAAAAAQIDERIhMQQyQVETImFxgZGxwSMzodHh8ELxFIIkRFL\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALkuNypbXSmoqpOFo2A63HsAXutrae30r6mpkDI2Dc9vsHtVZt9vn1PcPpe5sLaNh\/J6c8nD8O3t7lOMb5vQz1ari1CGcn9O1myOr1HfwJqMR26jI9V793P+fwC6LbdLhSXkWa7uEj3s4oJ2gDj5nfw28ParCAAMAYAVZvRI1laOE+sQc454yVJNSysVThKklPE27q\/j2FnREVRtCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIihL9qWnspji4emncQXRg44W9ZPyXUm3ZEJ1I044pOyJtFqpphUUsU4bwiVgfjsyMrauEk75hERDoWHODWlziAAMknqWVW9T19RNNFYrfvPVD60j7rD+5z7O9SjHE7FdWoqccTOSQv1heXQhxFqo3ZJbn613757h3q2ta1jAxjQ1rRgADAAXLQUVNZ7dHTRuDY4xu9xxknmT3ldbXBzQ5pBBGQR1rsnfJaEKNNxu5bz1\/ewyqxSk3TXNRON4bfF0YJAPrcvDcu9uymL1cW2q1TVR+0Bhg7XHl1FcelLc6htDZZs9PVHpZMnlnkPL3krscotkKnXqxguGb9vqTaIirNQREQBERAEREARYc4NaXOIAAySepQdJqyhq651PwvYzi4WTH7Dj39XV5+K6ot6EJVIQaUnqTqIi4TCIiAIiIAiIgCIiAIiIAiLBIAyTgBAZRVyr1O+orfQLJB6XNn1pebAOvfI8+Xeu7T14deKB0skfBLE7gkA5E4HJTcGldlEa9OU8KZKoiw5wa0ucQABkk9SgXnBertFZ7e+pkIL8YjYT9t3YqfcLbN\/0\/UXq4kuraxzQGkY4G5GPcB3BSlIx2ptRvrZPWt1C4tgG2Hv2888\/JbtdOL7XTU7ftzVIA8j8yFfHqtLieZX+LCVR6LT7\/Ynbc0stlK08xCwe4LpXlrQxgaOQGF6VDPSSsrBERDpz11ZFQUUtVM4NZE3Jz7h5qD0tSSVL577VjM9W49GCB6rBsPhjuAWnUz5Ltd6OwQEhriJZ3DqH7Bk95Cs8UTIYmRRtDWMaGtaOoDkFZux7zKvi1r8I+v4IXWf9Wp\/8zP1gunTc\/pOnqKTsj4P9pLfkvGqoum03WNxu1od5EH5KGtl5badDRTZBly+OJv+IuJye7OV1K8LLmVzmqe0uUtMPubbgRqLVENubh9JQkvn7C4cxy7dufb2K1qF0vaHWu2l04PpNQeOXi5jsHx8yppRm1ey4F2zxdnOWss\/sgiIoGgIiIAiIgCIiAhtV17qCwTOjdwyTERNPZnn7gV5p9PU8unILfUsHHwcTnho4mvO5Iz19S4tWu9LuFqtQHF0swe8Zxty+BcrQrG8MVYyKKqVp30SS92V6x3KeCufY7iczxAdDITkyjG\/Puz3Kwqs6uYaSa33iP7dNMGOHLiad8Z8CPFWVrg5ocNwRkLkuEidFtOVN8PRmURFA0BERAEREAREQBERAFVLzX1F+rvoS1PPRg\/lU7fsgdY7vjyW\/Ud0nmmFjtYL6yb+dI26NpHb1dXh3qWtNpp7PRNpoBk83yEbvPaVYuqsT1Mk260nTjotX7fc9Wy10tppG09MzAH2nH7Tz2kqE0L61uq3j7Lqk4PgPxUzeaoUVmq6jOC2I8P+Y7D3kLj0jTejacp8\/alzIfE7e7CX6rbDilWhGPBP2RNKv6trpI6KO202TU1zujAG5DOvl5d2VPPe2ONz3nDWgknsCrGnY3Xe81V+mb6jSYqYHqHWeQ6tvE9i5BfyfAlXbdqcdZenEnLTb2Wu2Q0bMEsb6zh95x5nzUJqDNVqqzUfMMd0pA787\/7D71aFWIiKz+UGV2cijp8A8xyGf1z712DzbI14pQjTWjaX75FnREVZrC1zSsp4JJpDhkbS5x9gGVsVf1lWOgs4pYsGWseI2j2cz8h4qUVd2K6s+jg5cjTpCF9U+svc8YbJVyEM9jQd8ezO3+lWZc1vpGUFvgpGDaJgbz5nrPmulJO7uRowwU1F6+5x3aLp7PWRdboHgd+CqTpO3yXerjdUkupKA8TG9ReTnHu37gpvV10m4RZ6EF1TO0ukxjaPByPHHl3rg0BWYkqqFx+0BKz4H5eSuimqbZhrShU2qMXw\/uxdkRFnPUCIiAIiIAiIgCIiAq8Y9M\/lBkePWbRwYznkSP8A9nyKtCrOnMSajvkmS4tlDcnq3cPl7lZlOetjNs2cXLm36lb11\/QDf\/O34FWCD+Yj\/wAo+Cr2vHcNhjGPtVDR+i4\/JWNjeCNrc54QBlHuIQ+fPuXuekRFA0hERAEREAREQBcN4ucVot0lVIRkDEbT95+Ngu5VOqH\/AFPqVtM3egt+8hGCHuzy59eMeBU4K7z0KK9RxjaOryR26VtUlNTOuNYeOsrPWL3cw04IHzPh2KfRFGTu7k6dNU4qKK3rad30ZBQx7yVcwaBnmB+3hVgp4W01NFAz7MTAxvcBhVmbF31zHGOIw21nE7YY4ufxLfJWpTlkkimj1qk5+Hl+Svawr5ILcygpgTUVzujaBz4evzyB4lS9som262wUbTnomYJ7TzJ88qv0Qfe9Yz1hIdS24dHHjkXcvjk+StSSySiKPXnKr4LuX5Cq+kx6Tc7xXnfpJ+Fh7BknHw8lY6qXoKSab\/tsc7yGVA6Gi6PT5dv9ZM53uA+SLdZ2pnWguV37FjREVZpCq9Rm7a5hhGTDbWcbsbjj5\/Et8vKzOc1jC9xw1oyT2BVrRrXVJuF0fkuqpyGlw3wN\/wDljw9isjkmzNX604Q5u\/l+Szriu1yitVulq5T9kYY3853UF2qouP8A1ZqANHrWyhOc4OJXbbfv1d65FXd3oSr1HFWjvPT97DZZbZJHbq2814zVVcb3+s3eNuDy7\/hhQFFBLbLdQX+AH6uZzJgOtucfiPJX27O4LNWuxnhp5Dj\/AElROmaOKr0fFTzjijmDw4f6j+CsU8m2Y57OscacdUm79t1mT0M0dRAyaF4fHI0Oa4dYK2KraZrJbbWS6eriA+IkwPP3xzwPj5q0qqUcLN1Gp0kL8ePeERFEtCIiAIiIAiLDnBrS47ADJQFZ0gQ6svEgyeKp546suwrOqxoYF9tqqlww6WpOfIH5lWdTqbzM2yfJj+8Ssa0BkZboAM8dSNhz\/fdWdVi+flWsLNSc+izN2def+Cs67LdSFLOrUfcvJBERVmkIii9QXdlmtj5+cz8siH+LHPuC6k27IjOahFylojubVU76g07ZmGVvNgduPDxW5USlt0tlutmqZnvFTWSOEzMYxkgY2\/ze5XtSnFLQpoVZVE8Ss1\/YREUDQRWpLkbXZZpmHEr\/AKuMjqcevwGT4LXp+gZZbMw1JZFLKekmLsNAJ6vZgbearuqbhPW6ihoqSEzmkIxHgkOecHOx6th4HtUpTaXqK8+k36slmlJyIWPw1g7P4YV2FKCuzzlVlOu3BXtl2dpZgQRkHIK0XCrbQ2+eqdyiYXcs5PUoHSJfFV3ehD3OgpqjETXOyW7uB+ATWtQ51FTW2I\/W1kwAG+4B9ntIUVDr4S91\/gOpb+9PU2aMpXstcldMS6atkMjiRuQCfnk+Kk73X\/RtnqKoEB7WYZn847BdVLTspKWKnjGGRMDG9wGFXdVvNbcLbZmk4nlEkoz90bd\/53l5F1p3OSvR2ey108X+Tr0jb\/QbFEXtAkqD0rtt8Hl7seanFhrQ1oa0AADAA6llQk7u5opwVOCiuBHX+TorBXOxzgc3zGPmtOlY+i01Rt7Wl3m4n5rzqyTo9M1hzuQ1vPtcAuqxx9FYqFuMfUMJ2xzGVL+HiU67T\/r7neiIoGkjNR1JpNP1kodwuMfACOeXbfNedNUvomnqOPhwXM6Q9uXb\/NR2t5C+gpKJhw+pqAO8D9pCn5ZYbfQulkPDDBHknrwArP4JczKmnXk3wXrmQ2qbjKyKK00TvyytIaMEgtaTz8eXmpKz2yK0W6OljAyBmRw+8\/G5ULpinkudXPqGtZ9ZI4tpxk4Y0bEj4eBVoSWSwoUV0jdZ8dO78nBfXFthryP7u8eYIXNpNobpmjA7HHzcVt1I7g07WnOPqiPPZY003g07RDGPq8+ZJT+Hid\/7P+vuatQWQ3SKOemf0VbTniikBxn2E\/vhedP376Ta6lqmdDXwbSRkYzjrH4KbVe1FYpaiVl1tpLK+DBwDjpAOrv8AjySLTWFnKsZQl0sPFc\/yWFFFWK9xXmlyQI6mPaaHrae0exSqg007M0QnGcVKOgREXCQREQBc1xf0dsqn4zwwvOPArpXDe3Btiryf7tIP0SurUhN2i2R2i4+DTcTv+497vfj5KfUNpEFumKMHsef03KZXZ7zK9nVqMe5FYpfyv+UCqk5tpYA0H24G3vd5Kzqr6QzVVl1uR36afhaewDJ28x5K0LtTWxHZc4OXNt\/UIiKBpCqkXBqHWEj3ASUltHC0EZDn9vmD\/tCmNRXEWyyzzh\/DI4cERHPiPLHdufBc1go4bDp0TTkNc5nTTO8Nh4DA7+9WRyjcyVXjqKHBZv2OO4ONfrihpo2cQo2dJIcjDc7\/APr5q0KtaOgfNFV3eZzjJWynAJ2DQT8yR4KyOcGtLnEAAZJPUuT1tyJbNnF1H\/J38OH0Mqtar1E+3M9Ao8mqkZxOeP7Nu+\/fse7mq\/dNU1Mt+bUU8rxTU7sRxtdgOHXnHPJH4JXUEzaKF9TwuuF5nDuvLGZBxj2kjywrY07NORjrbZjjKNLhx\/eZP6Itwp7Y6ukaemqXHDnDfgHLzOT5KxzSsghfNIeFkbS5x7ANysU8EdNTxwRDDI2hrR7AoTWVw9CsT4mk9JUnoxjqH3vdt4qrfmbEls9DuRGaPudJE6WOaX8qrpy5rGtLtvaRy3zzXV\/SuvDneK3RbdWXfxd+iobRdK1lRU3abaGjidvtzxv7s+am9FQPdR1Vzmx0tbMXZweQJ+ZKunZNtGHZ3KpCnB87+C\/JZlV6HiuOuqypI+roo+ibkZweXh95duotRx2SNsbGiWqkGWsPIDtK5NEQuNuqK2TBkqpiSccwP2kquKai5GupONStGmuGb9izIuOhutFcXStpJukMLuF+GkAHv5Hkt9TUxUdNJUTvDI428TiVXZ3salKLWJPIg9bvLdOvH50rR8\/kpqiZ0dDTsxjhiaMdmy+cX\/UlRe3iMN6KlY7LY+s+0+1fTWtDWho2AGArJxcYpMx7PVjVrTlHSyXqZREVRuKtdPy7XNupdyymZ0p7Adz8mrGo6iS7Xan09SyYY8h1U5vUOePADPiFxm6RUWpL1dJCCYWCCJp5OfsAP0D71MaVtk1LSPrqxxfV1pD3OdzDcbA+3f4divfVSfI8uPxZSguLd+5ZfWxM01PHS00dPC3hjjaGtHsC2oioPTSsrIhdXv4NM1e+C7gA\/wB4XbZmdHZKFuMEU7Mj28IUTrmXo9Phu\/1kzW+4n5Kfp4zFTRRnmxgafAKb3EZ457RLsS9zYiIoGkrl9slQyq+mbOSysj3kjHKUd3b7OvvXfY75Beqbib9XUM2liPNp7R7FKKt3yxzx1P0xZ\/q6xm8kbeUo69u32dffzsTUlZmScJUpOpT04r3Xb6lkRRtjvEN6oBOzDZG+rLGD9k\/gig007M0xkpxUo6EkiIuEgorU8nR6crXZxlnDzxzIHzUqoXV\/9V6z\/R+u1ShvIpru1KT7H6HRp6PotP0Le2FrvPf5rdd6j0S0Vc\/WyJxHfjb3rFl\/oOg\/+tH+qFFa3qDHYxTtyX1ErWBoGSQN\/iAupXmQlLo9nvyRu0fTej6cgO3FMXSHHtOB7gFOLRRU4pKGCmGMRRtZt7Bhb1yTu2y2lDBTUeSCIiiWFW1KPpDUFqtJPqE9LI0DOR\/BrvNbdYVMzqentVKMzV0nCf8AKCPnjwBWuhHpevq2Y\/ZpoeEew7D8VrtRZfdXVNz4eKno29HC7OxPIH9Y+IV+luxHmN4sSWsnbwWpZqSmZR0kVNGAGRMDRgdgUNrG6G32joo3cM1SSxuDuB1nn3ean1821DXG7109Uwl0LHCnpg3fi6yefXv1dY7FGnHFK7LtsqdHSwx1ZjSVoNyurZZGE09P67j1F3UPPfuCsW10151mK3Rd3rfxd7vOUsltislnZG8ASBvHO8DmeZ78cvBRmio3S09bcpG4fVTk5zk4G\/xJU5TvdlFKh0ahTerd34FnXzbUt1beLk8sfmnpxwQhp+24nn+\/YO1WPWd7NBRihgcRPUNy5wOCxmfnuPNVnTdrNRqCljmblrGCd7SOQ5tz35afFKUbLGyO21XUmqEPEnLnA2xaIZRN\/n6otD9ty47u27hjyU7EYrBp1hm+zSwjiH5zuzxJ96ir9+X6ptNuBBZGTNI0ezffwb7151XMa240doDw2EfX1JyfVYO3wBPkuWxWT7y26puUo8LRRVrlVSTh9dUnNTWnijHFnoo8kY9mdgPYD2qxV1TLbtL2+0UYf6ZVxtw1gIIB3d45OPNVy5O9K4bhI0xwzSmOFgGSyNgAwN+oEKx6WhdebtUXqqjA6PDIWgeq04xgdwx55VsrJJvgYaDcqjgtZZX7NWywWO0x2e2spm8LpOcrwPtO\/ZyVP1nenVdebfC8iCnOH4Oz39fly78q3aguP0ZZ5p2nDz6jD\/iP75VQ0hZ5LlXem1Ic6mgcXDi3D5Nu3zPgqqfGcjXtV3h2anx9Dzc7K2z6epJJm\/lE0zXSjsADiB377qZ0jLV3KvrrpUSSBkhAZHxHg8B7MY8SuLXlxbLUQW2P1jF68mPziNh5b+IVqs1vFstNPSYAcxuX463Hc+9dlJ4M9Wco0l\/ktQ3Y+v7c7lhzg1pc4gADJJ6lC3Wl1HLWF9sr6eGnwAGPaCc9Z+yfiqpca\/UU8lXa5qttQIoy+cRNYAGt3OSAOX7FXGni4mmrtXRaxZu03aDe7tPcKkF1K2UvO\/235yAfPJ\/avoC+Z25upI7a025tQKV5LgYgNznB9vUvJm1DGc1M93iyeyT5kK6cHJ6mHZ9pVGG47vVn05F8x9KpQMVddeA4cth483Lcx1kkaeku1zI6wWdXmfYodD2mhbffgvNE\/rKRjp7VTOe0cdRl2TsBsN\/NT\/0nb\/79Tf8A9W\/ivm8oscd0pzE+qnpMZnMmOInfljHsXe6p0hnhjt1c93Vh3P8ASUnTySzKYbU1OUss7cfwX2Gspah3DDUwyu7GPBPuW5UGjnooKuOqtWnK6V8eeFznuwDy6gVL\/SGrKw4gtkFKx335Tu3zPyVbp2NcNqTWau+xN+yLMSAMk4AUJc9VUNEOjpXCtqXHDYoTxDPtI\/iuMaaulyc115urnMycwwbDHZyA9xUvbbFbrVvS04EmMGRxy4\/v7Fy0VrmTxVqm6sK5vXyODTlrrYKiquVeyOKarPF0TM+rnflnA95RWBFCTu7l1OmqccKCIi4WBQur\/wCq9Z\/o\/XappQ2rgXaYrAOxh\/TapQ3kU7R8mfc\/Q7LL\/QdB\/wDWj\/VChL0Dc9W223DeOnHTSDOB2+PIeamrI4OsVAR\/dox+iFCaZ\/8AkL9dbtza53RRntb\/AAa1Tjk2yip1o06fO3ksy0oiKo2hERAUGO4GnpL\/AHNp+sqJxDEdtsknx2+Cten7a212aCDhxI4ccuRvxHn5cvBUfTNNJc7hS0Rz6PTyuqX9h2aMebQPEr6U5wa0ucQABkk9Svq5ZHm7Csa6R8MvdkJqq5mjtvosDs1dWeijaDuAdifl3lVSCnD9SW+0j1o6R4DgPvPHrPPM9Yx\/pUrRVBuV0rtRVGfRKFjhTNdyJA6gevG+O1wUdoqN1VqJ9RIcujic\/J7TgfMqcVhiyirLpqseTeXcvv7Ft1RU+i6dq3ZwXs6Me3i2PuJWq3SQ2HScEs5DQyHjLScFznetw9+ThcWtuKeG30LXb1FQBgcz1f8AJRl+r23aeVrTi1W8fdGBJJyDR4nHsGSoRjeKRorVsFWUuKVl6sjKZkuo7\/0tS49G7MsxDs8EYPIdnYO9WbR8XpMlfd3NDTUS8EYAxwtG+MeIHgo+lgdatG1txmJFTcBgHG\/C44HdkEnyVl07SehWGkiLQ1xZxu73b7+alUlll3FOyUn0ictbXfjkvcibafSdaXOukP1VLH0YPU3q\/wCLlW45qi\/XmobA3E1c\/hLiP5uMY9vYB5Y611x1pp7Fe6luOOsqui4j15yT7iVKaboY7BZJ7zWNIlfHkNIwWtzsO9xx7l3du\/Art0rjHhnJ+f2IfWLYqaspLfACI6WAAZJ5k\/wVw0vSik09SN65GdKT28W\/wwvn9RUSXJ1xuEuS55aOX2cu2HgG4Vxu93mo6als9tw+4TMazDf7IYx4H4Yyk08KiS2epBVJ1npw9F6HLqiX6ZvFHYqaQZDi+V2dmnB27wAT4qxNjpbLaXCJgZBTRl2M88DJ8Sqhb6eHTWpwbjP6vQkiZwJBeQM46+she9SamNzo5KW2MkdTAAzzcJHXsPYPiouDdorQsjXjBTqT3+XcV+U1NbO65TbiScNLsAZJ35eC+sqlX6kiotM2mGEDHSscSB9olpJKk71fZXzi02bE1bLs57TkRDr37fgk+vaw2a2z4sTzy8W7mb\/fJo52Wm1fWV82xLf7Ifjjf2c1qls8Nh0pXBruOeWEiWUnHETtju3XfY9P09niLyemqpP5yZ3X7B++686tcW6YrCOxg83tUE1dRRfKEsEqtTWzsuWXrzNmmI+j05RNxjLOLljmSfmpVcFjaG2KgA\/u8Z82grvUJas1UlanFdiC0upKZ5y6nicfawFbl5c5rGF7jhrRknsCiTaXEq9HTxz69q3MiaIaeHAw0cPFhu3vPkrS1oaMNAA7Aqxoxjqj6Qujx61VOcZ7Bvt\/u9ytCsqa2M2yr4eLm2wiIqzUEREAREQBERAFxXmn9Ks1ZAGhznQu4Qe3GR712rDmhzS07gjBXU7O5GUcUWiq0F19H0CZ3OBkiY6Fu\/WThvkCPJSelaL0HT9O0jD5R0rtvzuXuwqbStqKieLTWOFgrXOk57gAePIOPkvpLWhrQ1oAAGAB1K2pllzMGyN1GpP+Kt48fYyiIqT0QtNVUx0dLLUynDImFx8FuVc1lWEUMNthcenrZAwAfm5\/HA81KKu7FVap0cHI5dAUzG2+pqsDjfL0eccgAD\/yXTqy4ycEVmozmprTwnB+y07b9+\/kVHUk02j5q2jfE+oZLh1M4N2c7HX2bc+4qU05aals8t5uefTqjI4CMdG3u6jsO4K2VsWNmGld0lQjk+PZ\/Zo1HFHZNICip9g9zYi7G7jzJPfhaNJ0ootQXGmAx0UbW+IxldOvGudY4eFpOKlucD\/C5Rn0u20akvEgjMs8pDIYwCeJ2V2N3Dv\/AAQquMNoTeSVvRnrWrpaq9UNHTEumDPVa3qLj7uS8zW2F9Zb9N07xIyJ3TVjmH7TuvyAx4hcNvnntN8q6y4nNVDTmVzX83Pdw4H6Qz2bqz6St80FFJX1nEausdxOL\/tBvV58\/LsUm8ESFOPT1W2s28+xL7nPrJolba7c0ACepADRtyw3w+0rM4iOMuA2aM4Vav8AiTVVkjdya8uA9uR+CkdSXSO12iR7t5JQY429pI+Cqauoo2xkozqTfC3ofOaOR88lJQPP1JqA7h7S7hBz4Ae9XC+TO1Bdo7JSyFsEDi+qlA2aR1Z93f3KIorFV1+nqSot7WiZtQ5ziX4J3ABHUMYP7VYY7dHp3TFZITxVMkJM0hOeJ5GB4AlXTkr5ann7PSngaluuzb7LaEPYrHBfLXXYcYWPqw6MsA24QdsdmHqy2jT1FaHPlj4pp3k5mk3d4dnzWnSFP6PpynP3pS6Q+J29wCm1TObu0ehs1CChGbWdjTNSU1S5rp6eOUt+yXsBI3B+IHktNTa6Sot8lB0QihkbwkRANx17LsRV3ZqcYvVFA1Da7jbrZSxVNwE1MyUMjAbjgONjnq2B6\/xVutFko7NC5lM08b8ccjju79ii9eN4rDGc\/ZqGn9Fw+asbHccbXYxxAHCslJuCMdGlCNeXYlb6npQOs3cOm5hnHE9g7\/WB+SnlXdcODdPEH70zQPeow3kX7S7UZdxMW1vBa6RmMcMDBjs9ULqWmkaWUcLTzEbR7luUXqWxVooKJ1PV+h6fqng4c9nRt73bfDKllVtWvFbcLZZxv00wkk3Gw5d\/LiUoK8kVbTJxpO2unmSum6T0KwUkRGHOZxu23y7ffzx4KUWGtDWhrQAAMADqWVFu7uWwioRUVwCIi4SCIiAIiIAiIgC8TSsghfNIeFkbS5x7ANyvareqauSqkgsNIfr6tw6Qg54Gcznr6s9wKlFXdiqrU6ODl+3IOzVz2aqjuNRE2OK4ue1jiNtzsR7cgA+K+gKA1BYo59PNp6VmH0TQ6HHPYbjxHvXdYbmLtaYanI6THBKB1PHPz5+KnNqSxIz7PF0pOnLjn9yRREVRtCqtI4XrWs1SHcVPbmcDOzi5fHi8gpi\/3Jtqs81Rn6wjgiGcZceXlz8Fp0xbfo2zRh4+un+tlPPc8h5Y96sjlFsy1OvVjDgs37EvgHGRy5LKIqzUaKyjhr6Z1PO3LHdnMe0HqVT0\/bqOg1PcIXtaW0rOON0pBLB256uauah7ppmgutQaiUyRyOADzGQOMDHPbfkFZCVk0zLXpOTjOKu0VmnpIdTayqJw7ipYyHk4+2G4AHjjyV9a0NaGtAAAwAOpVTS9NFS6ju0NO3hihwxoJyef7FbF2q87ENjjaDk9W3fzK1qeCphuNuulPTvqBTvw9jAScc+zv9y5ZaCuvIqLndoBFFTwP9HgH+U7nO\/YfBW9aK5nS0FRH+fE4eYK4p2siU9nTbk3k87dpE6M\/q1B\/mf+sV41tN0enJGZA6WRje\/fPyTRL+PTrG\/mSPHvz81z6qAr7ra7SGlxkk6R+\/JvLOO4O8lK3xCpv\/hpLikvPIsFvg9Gt1NBjh6OJrSO4LoRFSb0rKwREQ6VvXX9AN\/87fgVYIP5iP8Ayj4KC1rDLPY2shifI7pmnhY0k8j2KehBELARgho+Cm9xGaC+PPuXue1WdeE\/QkLBzdUtGO31XfsVmVY1t60Fvi5cdSN+zb9qU95Da\/kyLM1oa0NGwAwFlEUDSFV7YfpXWdZXbOhomdDGQc78v\/bl2+c3eLgy2WqerccFjcMHa47Aea4NI0RpLFHK\/eWqJmcSN9+Xu38VZHKLZlqderGHLN+xOIiKs1BERAEREAREQBERAaqmoipKWWpmdwxxNLnH2BVzStNNW1VVfqxpElQS2EH7rPZ7OQHce1eL\/K+\/XiGwUriGRO6SqeOQG3wz5kditEMUcELIYmBkbAGtaOQCs3Y9rMi+LVvwj6\/g9qouc7Sd\/e5wP0ZXuySBtE798+Hcrcuetoqe4Ur6apjD43jcdntHtUYytroW1qbmk46rQ3Nc17A9jg5rhkEHIIWJZY4YnSyvDGMGXOccABVpln1BaB0dqro5qYABsUw3b2nfl18j18kbp+7XSXivdwzAN\/R4eR28vHdSwrmV9NU0wO\/08zTSNk1Ze3VkvSC10p+pbnHE8Y\/j5BW5aqamho4GwU8YjjYMBoW1RlK+hZRp4Fd5t6hERRLgiIgKxpz+s18\/8o+LlZ1WLH\/XC8+HxVnVlTUzbL8vxfqF5kaXxuaOZBC9IqzSVrQrh9CyxnZ0dQ4OHgFrtx+ktb1tW3Bio2dED7eXycuYzVOnL5cGMp5Hw13rQvaMgPOSOfZ62e5TWmbU+12sNnwaiZ3SSnfOTyBz14V8sry5nm0k5YKf\/nXw0+5MIiKg9IIiIAiIgCrGrvXrrNBz6Sp5du7R81Z1WNS+vqKxMPITF36TfwVlPeM21fKa7vVFnREVZpKrqAfTWoaOyNf9VH9bUY6tuXfj9ZWlrQ1oa0AADAA6l4bTwtqHVDY2iV7Q1z8bkDkFsUnK6SKadPDKUnq\/TgERFEuCIiAIiIAiIgCiNRXttoosRYdVy+rDHjO\/bj991uvN4p7NROnlIdIRiOLO7z+HtUXp60TzTuvV2HHVynMTXco29R9ns7PFTilbEzNVqNvoqevPl+8Dr0zZvoq39JMOKrqPXlcR6zc\/d8PippEUW23dl1OCpxUY8AiIuEwiIgCIiAIiIAiIgKxa\/U13dY+XFEHY7fs7+9WdVfIg\/lEGT\/P023l\/+VaFZPh3GbZtJLk2ERFWaTGAcZHLksoiAIiIAiIgCIiAKsXr1tZWdo3IBJHs3\/BWdViuxL\/KDb28xHTk47Dh\/wCxThqzNtO6l2r1LOiIoGkIiIAiIgCIiAIiIAiIgI6osdBVXNlwniMkrGgAOOW7cjhSKIuttkVGMbtLUIiLhIIiIAiIgCIiAIiIAiIgIC40NU7WFtr4oXOibGWPePu7O5\/7lPoi63exXCmoNtcXcIiLhYEREAREQBERAEREAVYg+u\/lEqeroKYeOzf\/AGVnVXsRE2rrzNnPCQz34\/4qcNGzNXzlBdvomWhERQNIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAVX0nl12vsvIPqeX+p\/4q0Ks6Na7Fzkc0jiqiMkbkj+KnHdZmq\/Op+PoWZERQNIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAWim\/tf\/K5EXSL1RvREXCQREQBERAEREAREQBERAf\/Z",
    "razonSocial": "FUNDACION EDUCACIONAL HERMANA GILBERTA FEICHTLBAUER",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOEL ESTEBAN ARAYA",
    "correoContacto": "jaraya@colegioisma.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "552263360",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28641\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:40",
    "ubicacionGPS": "LatLng(lat: -23.6527269, lng: -70.3957281)",
    "horaLlegada": "15:36",
    "horaDespacho": "15:16",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/05/2026 15:39:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:65291530

[11/05/2026 15:39: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('65291530', 'KY2606', 1, 24456550, 321661, NOW(), 
				'15:16', '15:36', '15:40', 10, '•Entrega toner', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778528398.png', '', null, 'COMPLETADO','LatLng(lat: -23.6527269, lng: -70.3957281)' )
				
[11/05/2026 15:39:58] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200266
[11/05/2026 15:39:58] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200266', 'KYO-I647', 1)
				
[11/05/2026 15:39:58] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28641 and
				    IDproducto = 'KYO-I647'
				

11/05/2026 15:39:58 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
11/05/2026 15:39:58 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200266'                    
				WHERE idllamado = 12530			
				TO ENVIO: micorreo@miempresa.cl, jaraya@colegioisma.cl


11/05/2026 15:39:59 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12530			
				
11/05/2026 15:39:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


11/05/2026 15:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:39:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/2026 15:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                [11/05/2026 15:40: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/05/2026 15:40: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/05/2026 15:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:40:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/2026 15:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                [11/05/2026 15:40: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/05/2026 15:40:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/2026 15:40:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/2026 15:40:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12530
            GROUP BY l.idllamado;
            
11/05/2026 15:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12530
                
11/05/2026 15:40:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15:40:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15:40:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15:40:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            [11/05/2026 15:40:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                [11/05/2026 15:40:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:40:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                [11/05/2026 15:40:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:40:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:40:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:40:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:40:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                [11/05/2026 15:40:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:40:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:40:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            [11/05/2026 15:40:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:40:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15:40:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            [11/05/2026 15:40:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15:40:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15:40:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            [11/05/2026 15: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/05/2026 15: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 = 12529
                
11/05/2026 15:40:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15: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 = 12529
                
11/05/2026 15:40:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            [11/05/2026 15: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/05/2026 15: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 = 12529
                
11/05/2026 15:40:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            [11/05/2026 15: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/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15:40:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            [11/05/2026 15:40: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/05/2026 15:40:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            [11/05/2026 15:40: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/05/2026 15: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 = 12529
                [11/05/2026 15:40: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/05/2026 15:40:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15:40:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            [11/05/2026 15:40: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/05/2026 15:40: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/05/2026 15:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            [11/05/2026 15:40: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/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15:41:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15:41:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            [11/05/2026 15:41:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:41:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15:41:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                [11/05/2026 15:41:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 15:41:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 15:41:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15:41:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:41:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15:41:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:41:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:41:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:41:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:41:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15:41:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:41:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:41:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15:41:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/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 = 12529
                
11/05/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 = 12529
                
11/05/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 = 12529
                
11/05/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 = 12529
                
11/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/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 = 12529
                
11/05/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 = 12529
                
11/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/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 = 12529
                
11/05/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 = 12529
                
11/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/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 = 12529
                
11/05/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 = 12529
                
11/05/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 = 12529
                
11/05/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 = 12529
                
11/05/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 = 12529
                
11/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/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 = 12529
                
11/05/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 = 12529
                
11/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/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 = 12529
                
11/05/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 = 12529
                
11/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/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 = 12529
                
11/05/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 = 12529
                
11/05/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 = 12529
                
11/05/2026 15:41:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15:41:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:41:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:41:54 - logentry: =========================================
FECHA: 11/05/2026 15:41:54
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary--lLa8qp5a2mo+QkR2z7FhNXPokEZOPmk3x+RpFWj3PI7fEG28y9
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65291530",
    "serieinterna": "KY2598",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "210813",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12529",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADoAUIDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAQMEAgf\/xABHEAABAwMCAgYHBQUGBAcBAAABAAIDBAURBiESMRNBUYGRoRQiMmFxscEHFSNC0VKSwuHwJGKCotLxJTdydDM0R1NzhOI2\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QANBEAAgECAwQJAwQCAwAAAAAAAAECAxEhMUEEElFxEyIyYYGRscHRI6HhM0Jy8FLxBRRi\/9oADAMBAAIRAxEAPwD9mREQBERAERcOcGjLiAO0oDlERAEREAREQBERAEREAREQBERAEREAXBIAyTgBcqTu1ZUahuv3JbpeGlYM1Uzdx8PeOr3n3BSjG7KqtVU1xbyR21mpaquqXUWn6b0h7dnzkeo34dXefNdVLV3q23+kpLnWNqBVjk0Dhbz9w61RW+3UtspW09LEGMHM9bj2k9ZWFevW1lZ2g7gE\/NWRaeCRlqQqRSnKWN1yzKdERUm8IiIAsu6aittpPBUTcUv\/ALUY4nd\/UO9Zt0vlXX1rrTYQHy4PS1GfVYOvB+vgvdZtN0dp\/FP49U72pn88+7s+as3UleRldWVR7tLz08OJ027VdNXVjKWankpZJRlnSkAHs5459WMreUzqRxk1BZKduxE3GTj3j9CqZcklg0Soyk3KMne2vgERFA0BFnx3y3TV\/oUVS182+zdxnsytBdaazIxlGWTCIi4SCIiAIiIAiIgOHODWlziAAMknqUFcJqnUEVfdPSJIaKi2p2jbid2\/HB8wt3WFfJBbmUFMCaiud0bQOfD1+OQO8ry6gpmWjRTaFpblxYxxAxxOzxE+Supq1nxPP2qW\/vR0irvnovc3bLLJNZaOSUl0hhbxOc7iLjjnnryvcvPQQGmt1NTk5MUTGeAAXoVTzNsE1FJhERcJhERAEREAREQBERAEREARF01dXDQ0klVO7hjjGXEDKHG0ldmPqa7S00cduofWrqs8LQBu1pyM\/wBe\/sXtsdojstvbTsIfITxSPx7R\/RZGmKSW4Vc9\/rmESyuIpwSfUb1ke7fA71UKyWC3UZqKdR9NLw5fkKYH9s+0PI3FFTYz2ZH\/AO1TqX0jmtr7rdT7M03Cz4bn5FqQwTZ2vjOEO+\/kVCIirNIUxdbrU3esdZrM73VFSOTB1gFc6iutTVVTLHaXcVRL\/wCM9p9hvZnq9\/8ANbFptNPZ6JtNAMnm+Qjd57SrEt1XeZklJ1pOnHJZv2Xuc2q1U1oo209O33veebz2le1F1zSsp4JJpDhkbS5x9wGVBttmlKMI2WCRNuP3h9oDA3dlDB6xHLOP\/wBDwVQpjRsT52Vt2mz0lXKcZOdh\/M47lTqVTO3Ao2bGDn\/k7\/H2Cm9R3OonqmWO2HNTLtM4Z\/DaR2\/A5P8ANbNzuEVst8tXLyYNh1uPUFk6Ut8ghkvFXg1VcS\/ON2sJzj4HY\/DC7HBbzFZuclSjrny\/Jl3e0U9iZaRSM4pvSAHykes87d4+AXv1Fqaa217KOkja9zWtfM8jPCCRgD+usLi+H07VdqoGgOEJ6Z+2wHPcg7ez5rPpIxdaPUV1kAIex7Yzz2aOLn3MVixScjFJuMpQpYfhYlnBPHUwRzxO4o5GhzT2grsWRpWQy6ao3Ek4aW7+5xH0WuqGrOx6dOW\/BS4oIiLhMIiIAiIgJeZpuGv4m846GDiPZn\/dw8Pimqz6Zc7Va+Ykl43g8sZxy+HEudL4qb1ea3mHTcDDy2yerwXEYNb9oT5B6zKKDGc7AlvL\/MVflLkjzO1T\/nL7X+EVCIioPTCIiAIiIAiIgCIiAIiIAiIgClb9I6\/3iGwUzy2OI9JUyAZAwNh5+JHYt27XBlrtk1Y\/BLG+q0\/mceQ8Vl6Pt74KB9wqcuqa53SFx58PV45J7wrI4LeMtb6klRWuL5fk3oomQxMijaGsY0Na0dQHIL7RFWajPv1T6HYqyYHBERaD2E7DzK8+lKU0unaUH2pAZD\/iOR5YXg1lI+o9AtMXtVcwLsDkBt9c9ypWMbHG1jBhrQAB2BWPCC7zNHrV2+Ct54\/B9LG1LevumhDYcOq5zwRMB3H97H9brWllZDE+WRwaxjS5zj1AcypewRvvt3mv1S1wjjPR0zHYOB4dWfEnsXIJZvJHa83hThm\/stWamnrKLTR8UoDqyY8U0nPfsHu+q10RRbbd2WwgoRUY5BYGsqt0Fl9Hj3kq3iNoxnbmf071vqWnJu+uYYQCYbazid1jj5\/Mt\/dUoZ34FW0t7m6s5Yf3wN+2UTbdbaejbg9EwAkcies95yvUi8tyrWW63T1b+UTM\/E9Q8cKOLZdhCPcicvbjf9SU1ljJNPTnpKgjz8jj4uVX6kcfUxjR8AAFP6OoHRW99xnPHUVzi9zjz4cn5nJ8F2atr5Ka2to6cE1Fa7omAcz29fvA71ZJXaijJTluU5VpZvH4Rl2yf0yqvWonOJZEx7IM7YAGe44A8V2WZjaf7PqqQjHTRzH4nBb9F7LlRMs2iZ6WMjLIgHu\/ac4jJ815a6UUf2dwtAwZYmNG37RyfLKne+XEo3XTb3s1Ft82aekm8OmaMe5x\/wA5WyvFZ4TT2ajiPtCFvFvncjJ817VTJ3kz0KS3acV3IIiKJYEREAREQErpKURRXeaQkhk7nOPwyV2aMidNDW3WUfiVc5xnsG\/zJ8FiQ1fomnb3g4dNU9E3fnnOfLKsrJSeg2Wkp+tsYLvidz5kq+eCfeeZs3WcF\/im\/Fs96IioPTCIiAIiIAiIgCIiAIiIAiLhzg1pc4gADJJ6kBMajcbpe6CyM4jGT0tRwkj1f9gfEKna0NaGtAAAwAOpTGlo\/vG5V99kYcyyGOHPU3\/bhHiqhWTwtHgZdn616j19FkERdFbUto6GepcQBFG52\/uCrNLaSuydpv8Ai2uZ58Ew25nRjIyOLcfMu8FUqe0VTuZZnVUgPSVUrnknrHL5grdqJ46anknlcGsjaXOJOFOfatwM+zYU9964\/wB8Cf1VVyVBgsdGeKoq3DpOEjLWDf8An8AVuUNHFQUUVLC0NZE3Ax5nxWDpeGS4VdVf6kHincY4AfysB3xz+HcVTLs8OqcoLfbqvXLl+cwiIqzUdNXUso6SWpkIDImFxyewLA0XTOdR1F0mAM1bK53F7gf1yvrWlU+O1x0UOTLWSBgAIGQOfngd626GlbQ0MFKzcRMDc9uBzVmUOZl7e0d0V93+D0KV1M+S7XejsEBIa4iWdw6h\/IZPxIVRJIyKN0kjuFjAXOPYAprSUclbVV18mOXVLyyMHmGj+gO5IYXkNo67jS458kUscbIo2xxt4WMAa0dgClbc46g1ZNcPapKEcEJycE9RHx3Pgvfq25m32kwxE+kVZ6OMDnj8x8NviQvZYbYLTaYabA6THHKR1vPPw5dyLqxvxOT+pVUFlHF+y9zx6yfwaaqG\/tuY3\/MD9FlX1hnobBZm5JlEZcOwBobnPeVq6zGdNzkZ9VzDkdW4H1WXZnfemqop3esyiomBp7SWj\/U7wU4YRvwuZ9oxrOHGy8Lu5YoiKg9MIiIAiIgCIiA\/MaNprrxHbOHLH1xkf7wOflxL9OUJpCm6XU9ZUHlCH4+Jdj5ZV2rqzxsefsEbQcnq\/QIiKk9AIizrre6KztYap54pDhrGjJ+PwXUm8ERlKMFeTsjRREXCQREQBERAEREAWLqytNFp+fhdwvmxE3v5+QK2lL6gP3hqa1Wxu7WO6aQDs592zT4qcFeRn2mTVNpZvDzNix0It1mpqbhAeGZftj1juVoIii3d3LoxUYqK0CntaVTorM2ljP4tXIIwAcZHM\/Qd6oVLVZF011TU3OO3s6R2D+bY\/MtUoZ34FG0t9HurOWHn+Cht9I2ht8FK3lEwN55yetYWsKyV8VPZ6XeeteAfc3P1PkCqVStmH3rq6vuZGYqYdFEeHG\/LPgD4rsM3J6HK\/ZVKOuHhr9iko6ZlFRxU0YwyJgaF3IirNKSSsgiLprKllHRzVMnsxMLzvjOByQNpK7JxwF310AQHQ22PO4\/P\/uR+741KndGUz22yWvmyZq2UyEkcxn9cnvVEpzztwM+zLqb7zlj8fYxNXVnomnp8HDpyIh38\/IFe2y0foFmpaYjDmRjiH947nzJWLqXNff7VahyL+mk+H+zXL16tuZt9pMMRPpFWejjA54\/MfDb4kKVrpR4le+lUnUeUVb3+DwUbTf8AV8ta71qS34bFscF3V55PcFWLOsNsFptMNNgdJjjlI63nn4cu5aKjN3eBdQg4xvLN4sy9SRdNp2tZjOIuL93f6LH0DS8FuqKotwZZOEH3NH6krZ1HU+i6frJM4JjLB8Xer9VlaDqGyWeWD80MpPcRt5gqSv0bKJ7v\/bjfO399yoREVRuCIiAIiIAviaVsEL5X+zG0uPwC+1kaqqfRdO1bs+tI3ox7+I4PlldSu7EKktyDlwMrQjhLDXzFoDpJgTjvOPNVikfs\/wD\/ACNX\/wDKPkq5Tq9tlGx\/oR\/uoREVZqPl72xxue84a0Ek9gUBbuPU2sHVMp\/CiPSADOzGn1R1Hs81ua2uYpLUKNh\/FqjgjsYOf0HivnQ1uFNanVj2YkqXbE\/sDl558ldHqwcjzqz6baI0lksWU6IipPRCIsa\/3w2xsdLSs6auqNooxvjO2SupNuyITnGEd6R9XrUEFp4YWRmoq3+xCzn3rHqq\/VdNRuudR0EEDCC6DhBdg4A8M55\/HsWpYrALfxVlY7p7hNu+R2\/DnqH6rv1J\/wDztb\/8SsTimksTJONWcHOTawwS9z3UlQ2rpIqhoIErA7B6sjku5QjtQVFLarVbba8ekua3pNs8\/Zb35zt7u1XTc8I4iCcbkDCjKLiXUa6q4LS1zlS9mHp+sLrXH1mwYhYeodW37p8VR1Mzaallnd7MTC8742AysHRMLm2Z9U\/d9TM55OMZA2+YK7HCLZyr1qsI835f7KLIzjO65UpQVc111xNLHIRT0cbo8B2zurvyST3BVajKO6WUqqqJtcbHzJIyKN0kjuFjAXOPYAprR0Tqk113lzx1UxDcnkBv9cdy9er600en5g32pyIRz6+fkCvfZ6MW+0U1LjBjjHF\/1Hc+ZKksIcyqXXrpf4q\/izqv9w+7LLUVAJ4+Hgjx+0dge7n3Lp0tQ+gWGBpaWvlHSvB7T\/IBZ2pnNuV6ttl5tc\/pZcE5xv8AQO\/rnUAADAGAEeEUuIh160paRw+TlERVmoKd1nUP+7YaCE\/i1swYB2gHx58KolLHF114G84bdFnlj1v9z\/lU4Z34GbaX1Nxfuw+fsUdJTMo6SKmjADImBowOwLuWBUagmOqYLRSRsewH8dx5jYkgfAYPx2W8SAMk4AXGmsy2nOMrqOmBMUpFVrytnc4COjg4QT1bDPzcvi2Aal1DJdntPodGQyna4c3c8\/EHfvCwaevlmZW09K3iqrvUlvFy4WZye48RHcVfWu3xWu3xUkPJg3J5uJ5lWz6p5+z\/AFn3XbfPRe560RFQeoTOt5HSUdHQR+3VTgDrzjbl8XBddBG2za1lpGjENdFxM2\/MN+fc7xC+q8Gv13RU+BwUcfSHO+\/P\/SvvWUMkUFJdoW5kopg477YJH1A8VeslHiebNXlOsv2teSz9WUqLrp52VNPHPGQ5kjQ5pHYV2Kg9JO+IREQBERAFMazzU\/d1taTmpqBkDsG38Sp1L1f9t1\/SxZ9Wkh4nAduCfq1WU878DNtWNPd4tIaOaGVV3jYA1janDWjYDd3JVCmNJercb2w+02p3He79FTpU7Q2T9FePqwiLL1FcfuyyzztfwSuHBEeviPZ8Nz3KCV3YvnJQi5PQiNRVP3pc6qqa15ZG9tPCO077+R2\/vBfodDTCioIKVuMRRtZt14HNRFJb+iuVkthPE7HpU4GMZO+D3MA\/3V+rarwSRg2KL3pzlm\/9+4Xy97Y43PecNaCSewL6WPqqsNFp+oc04fKOib\/i5+WVUld2N1SahByeh2xX6jmsrrqC5sLAeIOGCDyx44Cy9M0MtdVS6grhmWcn0dpJ\/DbuD+g93xWRT03potFga8hnB6TV4OM8XrAH38OPEK8a1rGBjRhrRgDsCslaCstfQyUnKvJSllH1\/B9LJ1Q9sem61zuRYB3kgD5rWURru68csdridszEk2O38o8N+8KNNXki3aqip0ZN8jx6JtZq7oa1+0VLuP7zjy8Nz4L9DWXp23fdllggczglcOOUdfEe34bDuWou1Jb0jmyUeipJavFmRqmoFPpyrdkgvaGDBxnJx8srzxTmw6Kjl9VsjIAWg\/tu3HmV0a6c42mngYfWlqGjHaMH64Xh1bL6ZcqCxU+eFpbxAdROw8Bk96lCN0kUV6m5OclmkkubNXR1vNJZxUSD8arPSOcTuW\/l+p71uSyshifLI4NYxpc5x6gOZXLGNjjaxgw1oAA7ApLW90k\/BtFM715sOkwcZHIN7+fcFFJzkXylHZqPL1OqsusGpr5a6WkD+hjlL5A9uCcb9vYD4qiv12+5rY6qDA9\/EGsa44BJ\/llTmj7cyO+VsrfWZSt6EPHJzuRI8D4r71RN94X2Cg2ENFG6omJ3zgcRGPgB+8rGk5KKyRlhUnGjKo+1J29vk7dNSOu+oa67SMLeBjY2jiyAT2dzfP3qtU7omAssZqX7vqZXPLj142+YKolVU7Rr2VNUk3m8fMLgkAZJwAsCDUUtbqj7upImvpo2uEsmd8jrB7M4HeurWNZO2Kkt9JKWTVcuPVOCRyx3kjwRQd0jstogoSmsbYFBVVDKSllqJDhkTC93wAyo20Vn3VpyuvUpHpVbKRFn8x37ee5cT8Fq6wnfFZY6KJxdNVPbG0E7uA3P0HepK+TmVzaSF5NJb2thGHEh0m+T3kHuCtpxujHtdbdndaL7v4RuaEopJJaq6TD2\/wANhI5nOXH5eapb1P6NZayYc2wux8SMDzXFkohb7NS02MOawF\/\/AFHc+ZU7ru68EUdridu\/Ek2Oz8o8d+4KPbqFuGzbLjnb7s+dDWccJu0zRnJZDkcuou+Y8VZrJmmms+n4DR0ZqHRMY3om5zjG52UxX6r1AWHhozRs39boTnHxdt5I4yqO5yNSnslNQd78i8c4NGXEAdpWTWaos9EcOrGyuyPVh9fzGykaV9sukjX3m+1bnHfgcwhoPZncDwCo6al05SUM9Xb20sroYnScRcJHNwM9fJHBRzOx2mdRXhZc3d+SMG33evmvtbcbdbX1L6jDGl2SGNyOePcB1rUnptW3Knkhn9EgjlbwuY4g7Eb8gV69E03Q2ATOHrVEjnknmRy+nmqFJzSlZIjQoOdNOUnjjwzPzy2zaho6mS3Us\/G+ieCaU49dvFvgnq3HcV+gxl5jaZG8LyBxDPIqe1RRTwuivlBtUUm8gA9tnXn4fInsWzba+G50EVXAfVkG4zu09YK5N7yUizZo9FOVNt93L+4HqREVRtCIiAKX0uTXXm7XTiy18nRxnn6o\/kGrbvNX6DZ6upBw5kR4Tn8x2HmQvDpCl9F07BnHFMTIcDt5eQCsWEWzNPrVox4XfsjxacAGpr5gY\/F\/icqhTFl\/B1neKfHtgSb8+o\/xKnXKmY2X9O3e\/UKWvRF21TQ2jAdDB+LOM8+vB7gPFU73tjjc95w1oJJ7ApnSETqyor71KBxVMpYzbBDeZ+g7l2GCcjlfrONPi8eSPqlxJ9odbkkmKmGNuWzP1KplMUP\/ADEuX\/bD5RqnXJ6cjuzZS\/k\/UKI17Xcc9NQDIawdI8jlk7DvAz4q0llZDE+WRwaxjS5zj1Acyvyu7VM9zuL6wtOKp5EYB5tBwBjuU6MbyuZ\/+QqbtLcWbK7RdK+VlTdpmYfUO4Iz\/cHPHft\/hVSvPb6RtDb4KVvKJgbzzk9a9Crm953NdCn0dNRPPX1sduoZqub2Im8WO09Q7zgL84oqWa53+kdUuJkrJOmcAPy5J7vZPdhUd3mdqG+xWWnJNLA\/iqntzzGct+nxPuXFnhjqNa1srABFQxiKJo5NwA3HgHK6HUi+Jgr\/AF6kVonb5+CtREWc9Uk9a1EcVVaRKcRCYvfjcgAt6u8rP0o03fU9Rcp2jLAZAOoOJwPAZXbqww3PUVJQsl2jaelLd+DrPfgfJe\/QlOG22pqQwME02GgdgHb3laezTPIs6m2d1\/RFLLKyGJ8sjg1jGlznHqA5lQNszdLzX3+ZvDDSh0zQ7f1gPUHcBnuCpNZVRptPStBwZnCPPn9FlS0gs2gJARiaqDXPJHW4jbub5qNPBc8C7aXvVLaRV\/HQ0dFwdDYPSH+1USOkc53Mjl9D4qZNU6a33q6vILqqRsEZIxsTkj90Bb9yq\/uXRdPC04mmgbEMHcEt9YjzWHFAHWqw0WNquqdJIP8AEGj47ZUo5uXeZ6uEY01ovu8PcuLTTeh2mlpyCDHE0Oz24381xeK8W201FWThzGept+Y7DzIXtUXrGsFxuVJZqZ3E7pBxkHOHHYDuGfFUwW9LE9CvPoaWGeSNLRttNLavS5h+PVnjy7nw9W\/v5968tFi9a3qKvZ0NA3gYRuCdwPPiK366ojtNolmBDWU8WGZ7QMNHjgLC0W1lLYqqvlO75HOe88y1o7fFTu2nIpcFGVOjosX4fk8Go7kXajdKCTHbI8sGMt6U8j4kfu9681vtz5bja7fKPWdmsqMkgnO4B7gP3ivLp+gffb3mZodHxmecnfO\/Lt3J\/rCpNOj03Ut3uXNod0LDnmM\/o0K2XVVloYqadaak9X+X6JFHU1EVJSy1MzuGOJpc4+4L84r6aWupm3aqBE1fVcMbcnZmPePgAfcqPUNRJeLnDp+kf6jiH1T2n2QDy7ufxwvjUsEUVZYaCMBsfThuBtgZaOQ+JVdPq27zTtX1U+EcPF\/BWIiKg9M81RbqKrBFRSQy5OTxMBOVKarsFqt1rdV08JilL2saBIcZ69j7gVaKX1gRUVNqt2c9PUAuHuyBuP8AEfNWU295GPa4QdJtpXOmkodS2anidRzR11N0YJgfsW9ZAz8T193UvVR6ypTIILnTy0M3I8bSW5+Y8FSLoqqKlroxHVU8czRyD2g4+HYm+n2kSVCdNfTl4PFfJzT1VNWxcdPNHMwjmxwPipUdLo67EH1rVWP2PXGf68R8F7ptF210plpZJ6R2OUb9vPfzXUNEQPe30i5VUzGnPASN\/HKlHcWuBVVVeVnu4rW5TAgjIOQUXzFG2GJkTfZY0NHwCKk3n2iIgJrW0rnUFNb4t5KucNA7QP5kKhhiZTwRwxjDI2hrR7gMKaqv+I6+p4PyUMXG748\/4mqpVksIpGWj1qk5+Hl+SYZ+F9oknFt0tN6vv2H6FU6mJ\/8AmJTf9sfk5U65PTkd2f8Af\/JmDrCudSWV0EeTLVO6JoA6uvy271pWqiFvtVNSDnGwB3L2uZ88rBmJu+uoohxGC2s4jttx8+v3kfu96ql2WEUjlLr1JVPBeGf3JdhFJ9oknGf\/ADlMOHwH+gqoWNf7I+5GGqpJBFW0xzG8nAO+cHZeGSq1bOz0aOiggfjBnLs56iR2dvJda3ksSMZOi5Jpu7urd5xqm4Oq3ssFAeOpqHDpeE+y3njyz8PivDVW2GHV1nt0QBZBC0nbGS0ucSfjjPet+xafhs7XyueZquUfiyuOfeQPdnxWZIzpPtGjcTjo4Mjbn6pH1UoySwWiKKlOTtOpm2lyRVLF1Nefuq39HCeKrqPUiaD6zc\/m7vmtaonipaeSeZwZHG0ucT1BTNhp5b3dpNQVbXCNpLaRhxsNx5fPKrglm8jXXnLCnDN\/ZcTRslsZYLTJLUEGdzTLUyZznGTjJ7B9Vj6DlM890ldzkdG495eV7dX1b3wQ2em3qK14GAcYbnr25ZXm0jAy2Xe6W98nr8TejDhgva0uGfMKzODbzZldo7RCEco+rRWrKv8AeWWihyMuqZgWwMAzl3b8BkLuu13pbPSGeodknZkY9p59yyLRa6m61zb5d2lrwc08HUwcwcf12quMf3PI01ajv0dPtP7d5K1FFNba1vpDiZ5KN8kof+Uua4Y8x3q60vEIdOUbQMZYXHbtJP1UprL175UZ\/JTMx+8P1VdQVMdHpilqZThkVGxx7mBW1G3FGLZIxhXmtF\/fYwNR1YuepqGzt3iilaZfeTgnwb8yvVrL+1TWu252qKjLsdWMD+IrAtsdQ\/UNvuVTkem1Dnt4uzO260dX17qHUlHM0ZMNOXs\/6iXAeYClu2kkiHSb1Kc5ateWHsdd\/wA3u51gYf7La6dxy3lx45bHtH+VdVmPpV3sUDQcU8DnuPe8\/p4rRioH27QdVJICZ6lnSSHJz6xGM93PvXj0aGPvUs7scMNI0cROw2bn6pfqu2hzdfTRbzlZvzv7FXebpHaLbJVvwXD1Y2n8zjyH9dijLNQ1A1bQvrXl0s0fpLuI77tOM+A+S09tV6l65LXRD38Mjv5k+A96+7tUxWzWtPXVRLIPRiA7hJycO281GK3Vu62Lq0ukkqj7KaS88WfWtal80dNaYHDpZ3dI8E4w0cs9+fBYkV5ipNGG3sy6oqHuBxyY3PX8cEYW7YKGe43WpvlwiLePLII3t5NxjOD7tvfkrxXm0ULNSW6hpKdsZnk6WXh\/ZzyA5AYa5di4rqvQrqxqSvWWF8PB4G\/YrY2zWVrAMyuZ0khd+1jl8ApqwX6ntGnpjxdNXTTuLIuZcSAAT7ldOaHNLTuCMFZlFpy10FUamGnHSE5aXb8Hw7FWprHeNk6E049HhZNHn0zaJbfTy1NYD6bVO4pSXAkdfzJJXkvn4msLNFz4cvx3\/wAlTqYrPxPtDoQeUdMTjt2f+vkkW3JtirBQpxguK9SnREVRsCl6z+2a\/pIifVpYeLHvwT9R4KoUvZQKnWd3qiOLogIg4chyH8KshqzNtGLhHi\/TEqERFWaQiIgCIiALhzg1pc4gADJJ6lysjVFd6BYKh4dh8o6Jm+N3fyye5dSu7EJzUIuT0M7SAdWVdzuzs4qJuFm2Nhv9R4KoWXpyh9AsVNCRh7m8b987u3WopTd5Mr2eLjSSefyTVzb6LrW2VTuEMnY6HJO5dv8A6mrUvd2js1ufUvw6TlHGTjjP9brsutsjutGaeR7oyHBzXt5tI93Xtkd6zKTS59ObWXSukr3xH8Nrx6ref8vBdvFpN6FbjVg5KCzxvwPvSltmo7e+qqncVTWu6V+RuAdxn37k963URQk7u5opwVOCitAiIuEwo+81ItGtqavnB6CSHBIHuI+eCrBYeqLTLcaKOekH9rpXcceOZ7R5A9ynTaTxM20xlKneOax8jLf94awnjaYn0lqY4OOfak\/odmwz1qkqJ6SzW0yODYoIW4a0bfAD3rEj1rTRwBlVSVLapgxIwMGOLbODn3r5p7fW6jrxW3aJ0FFEfwqV35j2n9fBTaeuCKITiv03vTf2+F3H1pujmuNbJqKuaBJNtTs\/Ybyz4beJ61o3bT1LdZWzlz4KhowJo9nY\/r6rVa0NaGtAAAwAOpcqDm73RpjQgobksePPiYFFpChpqptTPJLVyM9npTkZ7cda30RRcm8ycKcKatFWIXUdLJW6kq4IhxPNGHAdvDh30XIrZr9b7fYaSORoYxgqnkYwGjl8j8cLSl9X7RIMbcdMc+\/Z36BUjIYoi4xxsYXnLi1oGT71c52SMMKHSTm72xafLMxL3YzNQ0pt7WtqKBwfCMYyAM46uZAWJTxVN11pD98UzYZI4w8RMII23GdyrlTH\/qJ\/9b6LkJOzRPaKMVKLWrWGhQ1dMyspJaaTPBKwsOPeF+fWiyV1VWXG301SIYo39FPJ2gF2BjryR7l+jqX0V+J951APEJKnY9vM\/VchJqLO7RSjUqwT7\/Q3rdQQ2yhjpKceowczzceslds9LT1TeCohjlb2PaCu1FXd3ubFFJbtsDhrQ1oa0AADAA6lMW8+n67rqjOWUkfRtx1HYf6lTSPbFG6R3ssBcfgFN6JjdJRVdfIPxKqoJJznIG\/zJU44RbM9XrVIQ8fIpkRFWagpg7\/aIM74ptvdsqdTEH\/MSp\/7YfJqshryM20fs\/kinREVZpCl9F\/jG51mP\/Hqfa7eZ\/iVFVydDRzyg44I3Oz8AsTREPR6ea\/BHSyud8eQ+isXYZmnjXguF37FCiIqzSEREAREQBSuos3TUdutDcmNh6WbABGP9gf3lUucGtLnEAAZJPUpbS7Rcrxcb24AhzzFET2bfQN8epWQwvIy7R1t2nxf2WJVIiKs1BERAEREAREQBERAcYGc43XKIgCIiAIiICYuP4ev7a8fngLSO5\/6+Sp1Mak\/B1HY5+QMpYT3t\/VU6slkmZqOE6i7\/VIKY\/8AUT\/630VOpitIotd0lRL6kVTD0Ye47cWCMfLxCQ15DaMovvRQ1c3o9HPPkDo43OyerAysTREPR6ea\/BHSyud8eQ+i9OqqsUun6gZw+cdEwdpPMeGV6rNRG32impT7UbPW2xudz5lcygH1toXcvX\/R7kRFA0mVqWq9E09WScWC5nRjty7b6rnTVN6Lp6jjIwTHxnP948X1WXrJ7qk2+1Rk8dTOCcdQG31z3Kma1rGBjRhrRgDsCseEEZY9avJ8Fbzx+D6REVZqCmIP+YlT\/wBsPk1U6mIdvtEqM7Zphj37NVkNeRm2jOH8l7lOiIqzSfLmtewse0Oa4YIIyCFxHFHDGI4o2xsHJrRgDuX2iCwREQBERAEREBi6rr30NkkEJ\/GqCIWY5788d2V67Jb\/ALstFPSkAPa3L8ftHcrMuFvnumrKXpoT6FRs4+IkYc47jbPaB1dRVEpvCKRmppyqym9MF7hERQNIREQBERAEREAREQBERAEREAREQExrf8KmoKsbGGpGD2bZ\/hVMCCMg5BWHrKATabndjJic148QPkStG0T+k2ikmJyXwtJ+ON\/NWPGCM0MK8lxSfsexZ16s0F6pBDK8xyMPFHI3m0\/ULRRQTad0XyiprdlkTMWlqyoqYjd7ka2ng3ZGQcu+O\/6qmRF1ybzI06Uad93UIiKJYZlRZ21N9prm+XanYWti4ds77+fkFpoi622RjBRvbUIiLhIKYk9T7RI+vpKbw2P6KnUvcMxfaBbnjlJAWn\/P\/JWQ15Gbacov\/wBIqERFWaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgPLcofSbZVQ4zxxOAGcb4WXoyoE+nIW5yYXuYfHPyIW8sbTtnnszauKR8bopJuOINOSB79h7lNNbrRnlF9NGS4NM2URFA0BERAEREAREQBERAFMak\/B1HY5+QMpYT3t\/VU6l9bHoYbfV\/8As1I38\/4VZT7Rm2r9Jvhb1KhERVmkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAsHWcPS6bmdjJiex48cfVby8V5g9JstZDw8RdC7hGM74yPNSi7STKq0d6nKPcfdsn9JtdLP1yQtcduvC9SxNHz9PpunGcmMuYe4nHkQttJKzaO0pb1OMuKCIiiWBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBcEAjBGQURAYGk6Krt1PWUtRE5jG1BMZP5hjGR7tgqBEUpO7uVUYKEFFaBERRLQiIgCIiAIiID\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL HERMANA GILBERTA FEICHTLBAUER",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOEL ESTEBAN ARAYA",
    "correoContacto": "jaraya@colegioisma.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "552263360",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28640\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:41",
    "ubicacionGPS": "LatLng(lat: -23.6527202, lng: -70.3957232)",
    "horaLlegada": "15:40",
    "horaDespacho": "15:40",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 11/05/2026 15:41:54
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary--lLa8qp5a2mo+QkR2z7FhNXPokEZOPmk3x+RpFWj3PI7fEG28y9
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65291530",
    "serieinterna": "KY2598",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "210813",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12529",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADoAUIDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAQMEAgf\/xABHEAABAwMCAgYHBQUGBAcBAAABAAIDBAURBiESMRNBUYGRoRQiMmFxscEHFSNC0VKSwuHwJGKCotLxJTdydDM0R1NzhOI2\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QANBEAAgECAwQJAwQCAwAAAAAAAAECAxEhMUEEElFxEyIyYYGRscHRI6HhM0Jy8FLxBRRi\/9oADAMBAAIRAxEAPwD9mREQBERAERcOcGjLiAO0oDlERAEREAREQBERAEREAREQBERAEREAXBIAyTgBcqTu1ZUahuv3JbpeGlYM1Uzdx8PeOr3n3BSjG7KqtVU1xbyR21mpaquqXUWn6b0h7dnzkeo34dXefNdVLV3q23+kpLnWNqBVjk0Dhbz9w61RW+3UtspW09LEGMHM9bj2k9ZWFevW1lZ2g7gE\/NWRaeCRlqQqRSnKWN1yzKdERUm8IiIAsu6aittpPBUTcUv\/ALUY4nd\/UO9Zt0vlXX1rrTYQHy4PS1GfVYOvB+vgvdZtN0dp\/FP49U72pn88+7s+as3UleRldWVR7tLz08OJ027VdNXVjKWankpZJRlnSkAHs5459WMreUzqRxk1BZKduxE3GTj3j9CqZcklg0Soyk3KMne2vgERFA0BFnx3y3TV\/oUVS182+zdxnsytBdaazIxlGWTCIi4SCIiAIiIAiIgOHODWlziAAMknqUFcJqnUEVfdPSJIaKi2p2jbid2\/HB8wt3WFfJBbmUFMCaiud0bQOfD1+OQO8ry6gpmWjRTaFpblxYxxAxxOzxE+Supq1nxPP2qW\/vR0irvnovc3bLLJNZaOSUl0hhbxOc7iLjjnnryvcvPQQGmt1NTk5MUTGeAAXoVTzNsE1FJhERcJhERAEREAREQBERAEREARF01dXDQ0klVO7hjjGXEDKHG0ldmPqa7S00cduofWrqs8LQBu1pyM\/wBe\/sXtsdojstvbTsIfITxSPx7R\/RZGmKSW4Vc9\/rmESyuIpwSfUb1ke7fA71UKyWC3UZqKdR9NLw5fkKYH9s+0PI3FFTYz2ZH\/AO1TqX0jmtr7rdT7M03Cz4bn5FqQwTZ2vjOEO+\/kVCIirNIUxdbrU3esdZrM73VFSOTB1gFc6iutTVVTLHaXcVRL\/wCM9p9hvZnq9\/8ANbFptNPZ6JtNAMnm+Qjd57SrEt1XeZklJ1pOnHJZv2Xuc2q1U1oo209O33veebz2le1F1zSsp4JJpDhkbS5x9wGVBttmlKMI2WCRNuP3h9oDA3dlDB6xHLOP\/wBDwVQpjRsT52Vt2mz0lXKcZOdh\/M47lTqVTO3Ao2bGDn\/k7\/H2Cm9R3OonqmWO2HNTLtM4Z\/DaR2\/A5P8ANbNzuEVst8tXLyYNh1uPUFk6Ut8ghkvFXg1VcS\/ON2sJzj4HY\/DC7HBbzFZuclSjrny\/Jl3e0U9iZaRSM4pvSAHykes87d4+AXv1Fqaa217KOkja9zWtfM8jPCCRgD+usLi+H07VdqoGgOEJ6Z+2wHPcg7ez5rPpIxdaPUV1kAIex7Yzz2aOLn3MVixScjFJuMpQpYfhYlnBPHUwRzxO4o5GhzT2grsWRpWQy6ao3Ek4aW7+5xH0WuqGrOx6dOW\/BS4oIiLhMIiIAiIgJeZpuGv4m846GDiPZn\/dw8Pimqz6Zc7Va+Ykl43g8sZxy+HEudL4qb1ea3mHTcDDy2yerwXEYNb9oT5B6zKKDGc7AlvL\/MVflLkjzO1T\/nL7X+EVCIioPTCIiAIiIAiIgCIiAIiIAiIgClb9I6\/3iGwUzy2OI9JUyAZAwNh5+JHYt27XBlrtk1Y\/BLG+q0\/mceQ8Vl6Pt74KB9wqcuqa53SFx58PV45J7wrI4LeMtb6klRWuL5fk3oomQxMijaGsY0Na0dQHIL7RFWajPv1T6HYqyYHBERaD2E7DzK8+lKU0unaUH2pAZD\/iOR5YXg1lI+o9AtMXtVcwLsDkBt9c9ypWMbHG1jBhrQAB2BWPCC7zNHrV2+Ct54\/B9LG1LevumhDYcOq5zwRMB3H97H9brWllZDE+WRwaxjS5zj1AcypewRvvt3mv1S1wjjPR0zHYOB4dWfEnsXIJZvJHa83hThm\/stWamnrKLTR8UoDqyY8U0nPfsHu+q10RRbbd2WwgoRUY5BYGsqt0Fl9Hj3kq3iNoxnbmf071vqWnJu+uYYQCYbazid1jj5\/Mt\/dUoZ34FW0t7m6s5Yf3wN+2UTbdbaejbg9EwAkcies95yvUi8tyrWW63T1b+UTM\/E9Q8cKOLZdhCPcicvbjf9SU1ljJNPTnpKgjz8jj4uVX6kcfUxjR8AAFP6OoHRW99xnPHUVzi9zjz4cn5nJ8F2atr5Ka2to6cE1Fa7omAcz29fvA71ZJXaijJTluU5VpZvH4Rl2yf0yqvWonOJZEx7IM7YAGe44A8V2WZjaf7PqqQjHTRzH4nBb9F7LlRMs2iZ6WMjLIgHu\/ac4jJ815a6UUf2dwtAwZYmNG37RyfLKne+XEo3XTb3s1Ft82aekm8OmaMe5x\/wA5WyvFZ4TT2ajiPtCFvFvncjJ817VTJ3kz0KS3acV3IIiKJYEREAREQErpKURRXeaQkhk7nOPwyV2aMidNDW3WUfiVc5xnsG\/zJ8FiQ1fomnb3g4dNU9E3fnnOfLKsrJSeg2Wkp+tsYLvidz5kq+eCfeeZs3WcF\/im\/Fs96IioPTCIiAIiIAiIgCIiAIiIAiLhzg1pc4gADJJ6kBMajcbpe6CyM4jGT0tRwkj1f9gfEKna0NaGtAAAwAOpTGlo\/vG5V99kYcyyGOHPU3\/bhHiqhWTwtHgZdn616j19FkERdFbUto6GepcQBFG52\/uCrNLaSuydpv8Ai2uZ58Ew25nRjIyOLcfMu8FUqe0VTuZZnVUgPSVUrnknrHL5grdqJ46anknlcGsjaXOJOFOfatwM+zYU9964\/wB8Cf1VVyVBgsdGeKoq3DpOEjLWDf8An8AVuUNHFQUUVLC0NZE3Ax5nxWDpeGS4VdVf6kHincY4AfysB3xz+HcVTLs8OqcoLfbqvXLl+cwiIqzUdNXUso6SWpkIDImFxyewLA0XTOdR1F0mAM1bK53F7gf1yvrWlU+O1x0UOTLWSBgAIGQOfngd626GlbQ0MFKzcRMDc9uBzVmUOZl7e0d0V93+D0KV1M+S7XejsEBIa4iWdw6h\/IZPxIVRJIyKN0kjuFjAXOPYAprSUclbVV18mOXVLyyMHmGj+gO5IYXkNo67jS458kUscbIo2xxt4WMAa0dgClbc46g1ZNcPapKEcEJycE9RHx3Pgvfq25m32kwxE+kVZ6OMDnj8x8NviQvZYbYLTaYabA6THHKR1vPPw5dyLqxvxOT+pVUFlHF+y9zx6yfwaaqG\/tuY3\/MD9FlX1hnobBZm5JlEZcOwBobnPeVq6zGdNzkZ9VzDkdW4H1WXZnfemqop3esyiomBp7SWj\/U7wU4YRvwuZ9oxrOHGy8Lu5YoiKg9MIiIAiIgCIiA\/MaNprrxHbOHLH1xkf7wOflxL9OUJpCm6XU9ZUHlCH4+Jdj5ZV2rqzxsefsEbQcnq\/QIiKk9AIizrre6KztYap54pDhrGjJ+PwXUm8ERlKMFeTsjRREXCQREQBERAEREAWLqytNFp+fhdwvmxE3v5+QK2lL6gP3hqa1Wxu7WO6aQDs592zT4qcFeRn2mTVNpZvDzNix0It1mpqbhAeGZftj1juVoIii3d3LoxUYqK0CntaVTorM2ljP4tXIIwAcZHM\/Qd6oVLVZF011TU3OO3s6R2D+bY\/MtUoZ34FG0t9HurOWHn+Cht9I2ht8FK3lEwN55yetYWsKyV8VPZ6XeeteAfc3P1PkCqVStmH3rq6vuZGYqYdFEeHG\/LPgD4rsM3J6HK\/ZVKOuHhr9iko6ZlFRxU0YwyJgaF3IirNKSSsgiLprKllHRzVMnsxMLzvjOByQNpK7JxwF310AQHQ22PO4\/P\/uR+741KndGUz22yWvmyZq2UyEkcxn9cnvVEpzztwM+zLqb7zlj8fYxNXVnomnp8HDpyIh38\/IFe2y0foFmpaYjDmRjiH947nzJWLqXNff7VahyL+mk+H+zXL16tuZt9pMMRPpFWejjA54\/MfDb4kKVrpR4le+lUnUeUVb3+DwUbTf8AV8ta71qS34bFscF3V55PcFWLOsNsFptMNNgdJjjlI63nn4cu5aKjN3eBdQg4xvLN4sy9SRdNp2tZjOIuL93f6LH0DS8FuqKotwZZOEH3NH6krZ1HU+i6frJM4JjLB8Xer9VlaDqGyWeWD80MpPcRt5gqSv0bKJ7v\/bjfO399yoREVRuCIiAIiIAviaVsEL5X+zG0uPwC+1kaqqfRdO1bs+tI3ox7+I4PlldSu7EKktyDlwMrQjhLDXzFoDpJgTjvOPNVikfs\/wD\/ACNX\/wDKPkq5Tq9tlGx\/oR\/uoREVZqPl72xxue84a0Ek9gUBbuPU2sHVMp\/CiPSADOzGn1R1Hs81ua2uYpLUKNh\/FqjgjsYOf0HivnQ1uFNanVj2YkqXbE\/sDl558ldHqwcjzqz6baI0lksWU6IipPRCIsa\/3w2xsdLSs6auqNooxvjO2SupNuyITnGEd6R9XrUEFp4YWRmoq3+xCzn3rHqq\/VdNRuudR0EEDCC6DhBdg4A8M55\/HsWpYrALfxVlY7p7hNu+R2\/DnqH6rv1J\/wDztb\/8SsTimksTJONWcHOTawwS9z3UlQ2rpIqhoIErA7B6sjku5QjtQVFLarVbba8ekua3pNs8\/Zb35zt7u1XTc8I4iCcbkDCjKLiXUa6q4LS1zlS9mHp+sLrXH1mwYhYeodW37p8VR1Mzaallnd7MTC8742AysHRMLm2Z9U\/d9TM55OMZA2+YK7HCLZyr1qsI835f7KLIzjO65UpQVc111xNLHIRT0cbo8B2zurvyST3BVajKO6WUqqqJtcbHzJIyKN0kjuFjAXOPYAprR0Tqk113lzx1UxDcnkBv9cdy9er600en5g32pyIRz6+fkCvfZ6MW+0U1LjBjjHF\/1Hc+ZKksIcyqXXrpf4q\/izqv9w+7LLUVAJ4+Hgjx+0dge7n3Lp0tQ+gWGBpaWvlHSvB7T\/IBZ2pnNuV6ttl5tc\/pZcE5xv8AQO\/rnUAADAGAEeEUuIh160paRw+TlERVmoKd1nUP+7YaCE\/i1swYB2gHx58KolLHF114G84bdFnlj1v9z\/lU4Z34GbaX1Nxfuw+fsUdJTMo6SKmjADImBowOwLuWBUagmOqYLRSRsewH8dx5jYkgfAYPx2W8SAMk4AXGmsy2nOMrqOmBMUpFVrytnc4COjg4QT1bDPzcvi2Aal1DJdntPodGQyna4c3c8\/EHfvCwaevlmZW09K3iqrvUlvFy4WZye48RHcVfWu3xWu3xUkPJg3J5uJ5lWz6p5+z\/AFn3XbfPRe560RFQeoTOt5HSUdHQR+3VTgDrzjbl8XBddBG2za1lpGjENdFxM2\/MN+fc7xC+q8Gv13RU+BwUcfSHO+\/P\/SvvWUMkUFJdoW5kopg477YJH1A8VeslHiebNXlOsv2teSz9WUqLrp52VNPHPGQ5kjQ5pHYV2Kg9JO+IREQBERAFMazzU\/d1taTmpqBkDsG38Sp1L1f9t1\/SxZ9Wkh4nAduCfq1WU878DNtWNPd4tIaOaGVV3jYA1janDWjYDd3JVCmNJercb2w+02p3He79FTpU7Q2T9FePqwiLL1FcfuyyzztfwSuHBEeviPZ8Nz3KCV3YvnJQi5PQiNRVP3pc6qqa15ZG9tPCO077+R2\/vBfodDTCioIKVuMRRtZt14HNRFJb+iuVkthPE7HpU4GMZO+D3MA\/3V+rarwSRg2KL3pzlm\/9+4Xy97Y43PecNaCSewL6WPqqsNFp+oc04fKOib\/i5+WVUld2N1SahByeh2xX6jmsrrqC5sLAeIOGCDyx44Cy9M0MtdVS6grhmWcn0dpJ\/DbuD+g93xWRT03potFga8hnB6TV4OM8XrAH38OPEK8a1rGBjRhrRgDsCslaCstfQyUnKvJSllH1\/B9LJ1Q9sem61zuRYB3kgD5rWURru68csdridszEk2O38o8N+8KNNXki3aqip0ZN8jx6JtZq7oa1+0VLuP7zjy8Nz4L9DWXp23fdllggczglcOOUdfEe34bDuWou1Jb0jmyUeipJavFmRqmoFPpyrdkgvaGDBxnJx8srzxTmw6Kjl9VsjIAWg\/tu3HmV0a6c42mngYfWlqGjHaMH64Xh1bL6ZcqCxU+eFpbxAdROw8Bk96lCN0kUV6m5OclmkkubNXR1vNJZxUSD8arPSOcTuW\/l+p71uSyshifLI4NYxpc5x6gOZXLGNjjaxgw1oAA7ApLW90k\/BtFM715sOkwcZHIN7+fcFFJzkXylHZqPL1OqsusGpr5a6WkD+hjlL5A9uCcb9vYD4qiv12+5rY6qDA9\/EGsa44BJ\/llTmj7cyO+VsrfWZSt6EPHJzuRI8D4r71RN94X2Cg2ENFG6omJ3zgcRGPgB+8rGk5KKyRlhUnGjKo+1J29vk7dNSOu+oa67SMLeBjY2jiyAT2dzfP3qtU7omAssZqX7vqZXPLj142+YKolVU7Rr2VNUk3m8fMLgkAZJwAsCDUUtbqj7upImvpo2uEsmd8jrB7M4HeurWNZO2Kkt9JKWTVcuPVOCRyx3kjwRQd0jstogoSmsbYFBVVDKSllqJDhkTC93wAyo20Vn3VpyuvUpHpVbKRFn8x37ee5cT8Fq6wnfFZY6KJxdNVPbG0E7uA3P0HepK+TmVzaSF5NJb2thGHEh0m+T3kHuCtpxujHtdbdndaL7v4RuaEopJJaq6TD2\/wANhI5nOXH5eapb1P6NZayYc2wux8SMDzXFkohb7NS02MOawF\/\/AFHc+ZU7ru68EUdridu\/Ek2Oz8o8d+4KPbqFuGzbLjnb7s+dDWccJu0zRnJZDkcuou+Y8VZrJmmms+n4DR0ZqHRMY3om5zjG52UxX6r1AWHhozRs39boTnHxdt5I4yqO5yNSnslNQd78i8c4NGXEAdpWTWaos9EcOrGyuyPVh9fzGykaV9sukjX3m+1bnHfgcwhoPZncDwCo6al05SUM9Xb20sroYnScRcJHNwM9fJHBRzOx2mdRXhZc3d+SMG33evmvtbcbdbX1L6jDGl2SGNyOePcB1rUnptW3Knkhn9EgjlbwuY4g7Eb8gV69E03Q2ATOHrVEjnknmRy+nmqFJzSlZIjQoOdNOUnjjwzPzy2zaho6mS3Us\/G+ieCaU49dvFvgnq3HcV+gxl5jaZG8LyBxDPIqe1RRTwuivlBtUUm8gA9tnXn4fInsWzba+G50EVXAfVkG4zu09YK5N7yUizZo9FOVNt93L+4HqREVRtCIiAKX0uTXXm7XTiy18nRxnn6o\/kGrbvNX6DZ6upBw5kR4Tn8x2HmQvDpCl9F07BnHFMTIcDt5eQCsWEWzNPrVox4XfsjxacAGpr5gY\/F\/icqhTFl\/B1neKfHtgSb8+o\/xKnXKmY2X9O3e\/UKWvRF21TQ2jAdDB+LOM8+vB7gPFU73tjjc95w1oJJ7ApnSETqyor71KBxVMpYzbBDeZ+g7l2GCcjlfrONPi8eSPqlxJ9odbkkmKmGNuWzP1KplMUP\/ADEuX\/bD5RqnXJ6cjuzZS\/k\/UKI17Xcc9NQDIawdI8jlk7DvAz4q0llZDE+WRwaxjS5zj1Acyvyu7VM9zuL6wtOKp5EYB5tBwBjuU6MbyuZ\/+QqbtLcWbK7RdK+VlTdpmYfUO4Iz\/cHPHft\/hVSvPb6RtDb4KVvKJgbzzk9a9Crm953NdCn0dNRPPX1sduoZqub2Im8WO09Q7zgL84oqWa53+kdUuJkrJOmcAPy5J7vZPdhUd3mdqG+xWWnJNLA\/iqntzzGct+nxPuXFnhjqNa1srABFQxiKJo5NwA3HgHK6HUi+Jgr\/AF6kVonb5+CtREWc9Uk9a1EcVVaRKcRCYvfjcgAt6u8rP0o03fU9Rcp2jLAZAOoOJwPAZXbqww3PUVJQsl2jaelLd+DrPfgfJe\/QlOG22pqQwME02GgdgHb3laezTPIs6m2d1\/RFLLKyGJ8sjg1jGlznHqA5lQNszdLzX3+ZvDDSh0zQ7f1gPUHcBnuCpNZVRptPStBwZnCPPn9FlS0gs2gJARiaqDXPJHW4jbub5qNPBc8C7aXvVLaRV\/HQ0dFwdDYPSH+1USOkc53Mjl9D4qZNU6a33q6vILqqRsEZIxsTkj90Bb9yq\/uXRdPC04mmgbEMHcEt9YjzWHFAHWqw0WNquqdJIP8AEGj47ZUo5uXeZ6uEY01ovu8PcuLTTeh2mlpyCDHE0Oz24381xeK8W201FWThzGept+Y7DzIXtUXrGsFxuVJZqZ3E7pBxkHOHHYDuGfFUwW9LE9CvPoaWGeSNLRttNLavS5h+PVnjy7nw9W\/v5968tFi9a3qKvZ0NA3gYRuCdwPPiK366ojtNolmBDWU8WGZ7QMNHjgLC0W1lLYqqvlO75HOe88y1o7fFTu2nIpcFGVOjosX4fk8Go7kXajdKCTHbI8sGMt6U8j4kfu9681vtz5bja7fKPWdmsqMkgnO4B7gP3ivLp+gffb3mZodHxmecnfO\/Lt3J\/rCpNOj03Ut3uXNod0LDnmM\/o0K2XVVloYqadaak9X+X6JFHU1EVJSy1MzuGOJpc4+4L84r6aWupm3aqBE1fVcMbcnZmPePgAfcqPUNRJeLnDp+kf6jiH1T2n2QDy7ufxwvjUsEUVZYaCMBsfThuBtgZaOQ+JVdPq27zTtX1U+EcPF\/BWIiKg9M81RbqKrBFRSQy5OTxMBOVKarsFqt1rdV08JilL2saBIcZ69j7gVaKX1gRUVNqt2c9PUAuHuyBuP8AEfNWU295GPa4QdJtpXOmkodS2anidRzR11N0YJgfsW9ZAz8T193UvVR6ypTIILnTy0M3I8bSW5+Y8FSLoqqKlroxHVU8czRyD2g4+HYm+n2kSVCdNfTl4PFfJzT1VNWxcdPNHMwjmxwPipUdLo67EH1rVWP2PXGf68R8F7ptF210plpZJ6R2OUb9vPfzXUNEQPe30i5VUzGnPASN\/HKlHcWuBVVVeVnu4rW5TAgjIOQUXzFG2GJkTfZY0NHwCKk3n2iIgJrW0rnUFNb4t5KucNA7QP5kKhhiZTwRwxjDI2hrR7gMKaqv+I6+p4PyUMXG748\/4mqpVksIpGWj1qk5+Hl+SYZ+F9oknFt0tN6vv2H6FU6mJ\/8AmJTf9sfk5U65PTkd2f8Af\/JmDrCudSWV0EeTLVO6JoA6uvy271pWqiFvtVNSDnGwB3L2uZ88rBmJu+uoohxGC2s4jttx8+v3kfu96ql2WEUjlLr1JVPBeGf3JdhFJ9oknGf\/ADlMOHwH+gqoWNf7I+5GGqpJBFW0xzG8nAO+cHZeGSq1bOz0aOiggfjBnLs56iR2dvJda3ksSMZOi5Jpu7urd5xqm4Oq3ssFAeOpqHDpeE+y3njyz8PivDVW2GHV1nt0QBZBC0nbGS0ucSfjjPet+xafhs7XyueZquUfiyuOfeQPdnxWZIzpPtGjcTjo4Mjbn6pH1UoySwWiKKlOTtOpm2lyRVLF1Nefuq39HCeKrqPUiaD6zc\/m7vmtaonipaeSeZwZHG0ucT1BTNhp5b3dpNQVbXCNpLaRhxsNx5fPKrglm8jXXnLCnDN\/ZcTRslsZYLTJLUEGdzTLUyZznGTjJ7B9Vj6DlM890ldzkdG495eV7dX1b3wQ2em3qK14GAcYbnr25ZXm0jAy2Xe6W98nr8TejDhgva0uGfMKzODbzZldo7RCEco+rRWrKv8AeWWihyMuqZgWwMAzl3b8BkLuu13pbPSGeodknZkY9p59yyLRa6m61zb5d2lrwc08HUwcwcf12quMf3PI01ajv0dPtP7d5K1FFNba1vpDiZ5KN8kof+Uua4Y8x3q60vEIdOUbQMZYXHbtJP1UprL175UZ\/JTMx+8P1VdQVMdHpilqZThkVGxx7mBW1G3FGLZIxhXmtF\/fYwNR1YuepqGzt3iilaZfeTgnwb8yvVrL+1TWu252qKjLsdWMD+IrAtsdQ\/UNvuVTkem1Dnt4uzO260dX17qHUlHM0ZMNOXs\/6iXAeYClu2kkiHSb1Kc5ateWHsdd\/wA3u51gYf7La6dxy3lx45bHtH+VdVmPpV3sUDQcU8DnuPe8\/p4rRioH27QdVJICZ6lnSSHJz6xGM93PvXj0aGPvUs7scMNI0cROw2bn6pfqu2hzdfTRbzlZvzv7FXebpHaLbJVvwXD1Y2n8zjyH9dijLNQ1A1bQvrXl0s0fpLuI77tOM+A+S09tV6l65LXRD38Mjv5k+A96+7tUxWzWtPXVRLIPRiA7hJycO281GK3Vu62Lq0ukkqj7KaS88WfWtal80dNaYHDpZ3dI8E4w0cs9+fBYkV5ipNGG3sy6oqHuBxyY3PX8cEYW7YKGe43WpvlwiLePLII3t5NxjOD7tvfkrxXm0ULNSW6hpKdsZnk6WXh\/ZzyA5AYa5di4rqvQrqxqSvWWF8PB4G\/YrY2zWVrAMyuZ0khd+1jl8ApqwX6ntGnpjxdNXTTuLIuZcSAAT7ldOaHNLTuCMFZlFpy10FUamGnHSE5aXb8Hw7FWprHeNk6E049HhZNHn0zaJbfTy1NYD6bVO4pSXAkdfzJJXkvn4msLNFz4cvx3\/wAlTqYrPxPtDoQeUdMTjt2f+vkkW3JtirBQpxguK9SnREVRsCl6z+2a\/pIifVpYeLHvwT9R4KoUvZQKnWd3qiOLogIg4chyH8KshqzNtGLhHi\/TEqERFWaQiIgCIiALhzg1pc4gADJJ6lysjVFd6BYKh4dh8o6Jm+N3fyye5dSu7EJzUIuT0M7SAdWVdzuzs4qJuFm2Nhv9R4KoWXpyh9AsVNCRh7m8b987u3WopTd5Mr2eLjSSefyTVzb6LrW2VTuEMnY6HJO5dv8A6mrUvd2js1ufUvw6TlHGTjjP9brsutsjutGaeR7oyHBzXt5tI93Xtkd6zKTS59ObWXSukr3xH8Nrx6ref8vBdvFpN6FbjVg5KCzxvwPvSltmo7e+qqncVTWu6V+RuAdxn37k963URQk7u5opwVOCitAiIuEwo+81ItGtqavnB6CSHBIHuI+eCrBYeqLTLcaKOekH9rpXcceOZ7R5A9ynTaTxM20xlKneOax8jLf94awnjaYn0lqY4OOfak\/odmwz1qkqJ6SzW0yODYoIW4a0bfAD3rEj1rTRwBlVSVLapgxIwMGOLbODn3r5p7fW6jrxW3aJ0FFEfwqV35j2n9fBTaeuCKITiv03vTf2+F3H1pujmuNbJqKuaBJNtTs\/Ybyz4beJ61o3bT1LdZWzlz4KhowJo9nY\/r6rVa0NaGtAAAwAOpcqDm73RpjQgobksePPiYFFpChpqptTPJLVyM9npTkZ7cda30RRcm8ycKcKatFWIXUdLJW6kq4IhxPNGHAdvDh30XIrZr9b7fYaSORoYxgqnkYwGjl8j8cLSl9X7RIMbcdMc+\/Z36BUjIYoi4xxsYXnLi1oGT71c52SMMKHSTm72xafLMxL3YzNQ0pt7WtqKBwfCMYyAM46uZAWJTxVN11pD98UzYZI4w8RMII23GdyrlTH\/qJ\/9b6LkJOzRPaKMVKLWrWGhQ1dMyspJaaTPBKwsOPeF+fWiyV1VWXG301SIYo39FPJ2gF2BjryR7l+jqX0V+J951APEJKnY9vM\/VchJqLO7RSjUqwT7\/Q3rdQQ2yhjpKceowczzceslds9LT1TeCohjlb2PaCu1FXd3ubFFJbtsDhrQ1oa0AADAA6lMW8+n67rqjOWUkfRtx1HYf6lTSPbFG6R3ssBcfgFN6JjdJRVdfIPxKqoJJznIG\/zJU44RbM9XrVIQ8fIpkRFWagpg7\/aIM74ptvdsqdTEH\/MSp\/7YfJqshryM20fs\/kinREVZpCl9F\/jG51mP\/Hqfa7eZ\/iVFVydDRzyg44I3Oz8AsTREPR6ea\/BHSyud8eQ+isXYZmnjXguF37FCiIqzSEREAREQBSuos3TUdutDcmNh6WbABGP9gf3lUucGtLnEAAZJPUpbS7Rcrxcb24AhzzFET2bfQN8epWQwvIy7R1t2nxf2WJVIiKs1BERAEREAREQBERAcYGc43XKIgCIiAIiICYuP4ev7a8fngLSO5\/6+Sp1Mak\/B1HY5+QMpYT3t\/VU6slkmZqOE6i7\/VIKY\/8AUT\/630VOpitIotd0lRL6kVTD0Ye47cWCMfLxCQ15DaMovvRQ1c3o9HPPkDo43OyerAysTREPR6ea\/BHSyud8eQ+i9OqqsUun6gZw+cdEwdpPMeGV6rNRG32impT7UbPW2xudz5lcygH1toXcvX\/R7kRFA0mVqWq9E09WScWC5nRjty7b6rnTVN6Lp6jjIwTHxnP948X1WXrJ7qk2+1Rk8dTOCcdQG31z3Kma1rGBjRhrRgDsCseEEZY9avJ8Fbzx+D6REVZqCmIP+YlT\/wBsPk1U6mIdvtEqM7Zphj37NVkNeRm2jOH8l7lOiIqzSfLmtewse0Oa4YIIyCFxHFHDGI4o2xsHJrRgDuX2iCwREQBERAEREBi6rr30NkkEJ\/GqCIWY5788d2V67Jb\/ALstFPSkAPa3L8ftHcrMuFvnumrKXpoT6FRs4+IkYc47jbPaB1dRVEpvCKRmppyqym9MF7hERQNIREQBERAEREAREQBERAEREAREQExrf8KmoKsbGGpGD2bZ\/hVMCCMg5BWHrKATabndjJic148QPkStG0T+k2ikmJyXwtJ+ON\/NWPGCM0MK8lxSfsexZ16s0F6pBDK8xyMPFHI3m0\/ULRRQTad0XyiprdlkTMWlqyoqYjd7ka2ng3ZGQcu+O\/6qmRF1ybzI06Uad93UIiKJYZlRZ21N9prm+XanYWti4ds77+fkFpoi622RjBRvbUIiLhIKYk9T7RI+vpKbw2P6KnUvcMxfaBbnjlJAWn\/P\/JWQ15Gbacov\/wBIqERFWaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgPLcofSbZVQ4zxxOAGcb4WXoyoE+nIW5yYXuYfHPyIW8sbTtnnszauKR8bopJuOINOSB79h7lNNbrRnlF9NGS4NM2URFA0BERAEREAREQBERAFMak\/B1HY5+QMpYT3t\/VU6l9bHoYbfV\/8As1I38\/4VZT7Rm2r9Jvhb1KhERVmkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAsHWcPS6bmdjJiex48cfVby8V5g9JstZDw8RdC7hGM74yPNSi7STKq0d6nKPcfdsn9JtdLP1yQtcduvC9SxNHz9PpunGcmMuYe4nHkQttJKzaO0pb1OMuKCIiiWBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBcEAjBGQURAYGk6Krt1PWUtRE5jG1BMZP5hjGR7tgqBEUpO7uVUYKEFFaBERRLQiIgCIiAIiID\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL HERMANA GILBERTA FEICHTLBAUER",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOEL ESTEBAN ARAYA",
    "correoContacto": "jaraya@colegioisma.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "552263360",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28640\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:41",
    "ubicacionGPS": "LatLng(lat: -23.6527202, lng: -70.3957232)",
    "horaLlegada": "15:40",
    "horaDespacho": "15:40",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/05/2026 15:41:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:65291530

[11/05/2026 15:41: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('65291530', 'KY2598', 1, 24456550, 210813, NOW(), 
				'15:40', '15:40', '15:41', 10, '•Entrega toner', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778528514.png', '', null, 'COMPLETADO','LatLng(lat: -23.6527202, lng: -70.3957232)' )
				
[11/05/2026 15:41:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200267
[11/05/2026 15:41:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200267', 'KYO-I647', 1)
				
[11/05/2026 15:41:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28640 and
				    IDproducto = 'KYO-I647'
				

11/05/2026 15:41:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
11/05/2026 15:41:54 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200267'                    
				WHERE idllamado = 12529			
				TO ENVIO: micorreo@miempresa.cl, jaraya@colegioisma.cl


11/05/2026 15:41:54 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12529			
				
11/05/2026 15:41:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


11/05/2026 15:41:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:41:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:41:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:41:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:41:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15:41:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                
11/05/2026 15:41:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12529
                [11/05/2026 15:42: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/05/2026 15:42:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15:42:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15:42:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15: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 = 12529
                
11/05/2026 15:42:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15: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 = 12529
                [11/05/2026 15:42: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/05/2026 15:42:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            
11/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15:42:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12529
            GROUP BY l.idllamado;
            [11/05/2026 15:42: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/05/2026 15:42: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/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                
11/05/2026 15: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 = 12529
                [11/05/2026 15: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 15:47:01] 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/05/2026 15:47: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;
                

11/05/2026 15:47:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12517
            GROUP BY l.idllamado;
            [11/05/2026 15:47: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/05/2026 15:47:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12517
            GROUP BY l.idllamado;
            
11/05/2026 15:47:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12517
            GROUP BY l.idllamado;
            [11/05/2026 15:47: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/05/2026 15:47:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15: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 = 12517
                
11/05/2026 15: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 = 12517
                
11/05/2026 15: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 = 12517
                
11/05/2026 15:47:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12517
            GROUP BY l.idllamado;
            
11/05/2026 15: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 = 12517
                
11/05/2026 15:47:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12517
            GROUP BY l.idllamado;
            
11/05/2026 15: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 = 12517
                
11/05/2026 15: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 = 12517
                
11/05/2026 15: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 = 12517
                
11/05/2026 15: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 = 12517
                
11/05/2026 15: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 = 12517
                
11/05/2026 15: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 = 12517
                
11/05/2026 15:47:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12517
            GROUP BY l.idllamado;
            
11/05/2026 15:47:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12517
            GROUP BY l.idllamado;
            
11/05/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12517
            GROUP BY l.idllamado;
            
11/05/2026 15:47:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12517
            GROUP BY l.idllamado;
            
11/05/2026 15:47:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:47:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:48:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12517
            GROUP BY l.idllamado;
            
11/05/2026 15:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:48:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12517
            GROUP BY l.idllamado;
            
11/05/2026 15:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15: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 = 12517
                
11/05/2026 15: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 = 12517
                
11/05/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:49:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12517
            GROUP BY l.idllamado;
            
11/05/2026 15:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:50:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12517
            GROUP BY l.idllamado;
            
11/05/2026 15:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:50:00 - logentry: =========================================
FECHA: 11/05/2026 15:50:00
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-nDvGU_1LVFbnfKCHlEiwOCP+NHgMzAvohsj11wVOuuw4OF9oZkQ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78317440",
    "serieinterna": "KY2666",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "atasco ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12517",
    "observacion": "se cambia fusor por atasco constante como acordeón \nunidad de imagen por manchas \ngoma de bandeja por desgaste ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACaAQ8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABCEAABAwMCAggEAwUHAgcAAAABAAIDBAURBiESMRMiQVFhcYGRFKGx0RUywSNCUuHwFiQzNENTwtLxByU3RIKSsv\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAwIEBAYBBAMAAAAAAAABAgMRIRIxBEFRcRMikdEyYaGx4fDBFDNCgSNyov\/aAAwDAQACEQMRAD8A\/ZkREAEREAEREAEREAEREAEREAERRqm40VGcVNXDCe58gB9kbnG0ldklFXO1BZ2tLjcqfAGdngqmm1TWXOc0tgo3SHk6eQbN8cdnr7J1CTIz4inHnd\/LJp5ZooGGSaRkbBzc9wAVFWaytsDxFSCStmJwGxNOM+fb6ZXCLSUtY8TXu4TVT85EbHngb4b\/AKYV7Q22itsfR0dOyEHmRuT5k7ld8i+Yl689lpXq\/Y4Wasrq6kdNX0ZpH8ZDGHIPDgYznfPPuViiJHlmiKaVm7hcKyOeakljpZhBM5uGSFueE+S7ouHWrqxlxU6rtWBPSxXKFv70f5iPTf5H72Fq1LQXSQw8RgqAcGKU4JPcO\/6q4VVdtPUN2cJZWuiqGjqzRnDhjl5qmqL3Rm8OrTzCV\/k\/ctUWZtN3qrbcBZbyetyp6g8pB2ZPj9dlpksotFadRVFdBERKVCIiACIiACIiACIiACIiACIiACIiACL4lljgidLM9scbBlznHAAWYqL5cr5UPo7DGY4WnhkrHDGPLu+vkmjFslUqxp77vlzLu5XqgtTM1c4a7GRG3dx9FTC+3q7j\/wAmtvRQk4FRUEbjvx9sqTbdI0NI\/p6smtqCcl8u4z5ffKkXnUFJZoxGB01S7AZAzn4Z7gnWm9oq7M8nUa1VJaV8t\/X2Kx1gvFUzpLvfjHGAeNkRw3Hidh39ipHUdtnmdR2SjnuNRnrVEzjwN8dsD1PzV0yzXXUMjai9zGnpwcspY9j693zPktJSUVNQQCClhZFGOxo5+Z7fVNr0kVw\/i5tZdXlv12Mxa9CQRgSXOXpnf7UZIaPM8z8kvGmoLVTyXS01EtHJTt4uAOLg4eZ398ha5UesKoU2npmk4Mzmxj1OT8gUsZylJZK1OGo06TaW3Pn6ljaqs19rpqpww6WMEjx7VLUO0Uxo7RSU7hh0cTQ4eON\/mpim98GuF9CvuERFwcIiIAIiIArb5Zob1QmGTqyMyYpP4T9lE0xdZKqnfb6skVtGeB4PNwGwPj4\/zV6srqBv4JfKS+wsPRyHo6kN7dtj7f8A5CpHzLSZKy8OSrL\/AH2\/BqkXgIIyDkFeqZrCIiACIiACIiACIiACIiACIiAC4VlZBQUr6mpkDI2DJJ7fAd5XSWVkMT5ZHBrGNLnOPYBzKyUUU2r7v8RMHNtNMf2beXSH+ufdy8U8Y3y9iFaq4WjHMnt79hFBcNX1AnqeOltLT1Igd5cf1z9lq6amgo4GwU8TYo2DAa0YCTTQUdOZJXshiYOZOAAstLX3HVkzqW3B1LbmnEs7tnPHh9vdNmfyRLy0N\/NN+r9kSbpqSWapNrscZqKs5DpR+WPvx9+XmpVm05Fb5DV1cnxdc45Mzsnh8s\/VTbXaaS0Uwhpo9\/3pD+Z58SpyVysrRHhRblrq5fTkv3qEREhpCyVY\/wDtDq6GjjPFR2\/ryEHYu7fngehU\/Ul6lpI22+35kuFQcNawZLG9\/n\/37FMsVnZZreIA7jleeOV\/8TvsqLyq5kqf80\/DWy39iyREUzWEREAEREAEREAFWaiohX2KpiwOJrONhI5Fu\/8AL1VmvCARgjIK6nZ3FnFTi4vmVWmKv4zT9K\/iy6NvRu827fTCtlmNFuMH4lbnHemqD2+Y\/wCK06aatJkuGk5Uot\/tgiKPU3Cjo\/8AM1UMJ7nvAKQs2krskIqGo1nZYB1ZpJz3Rxn9cBRf7WVtUcW+xVMrSccbsgfIY+afw5dCD4qisar9s\/Y1CLLiXWVYerDS0I7zg\/8AV9FJt9lu7KxlTcL1JKG5zDHkNdtjwHyQ423YKu5O0YP7F+iIkNAREQARF8uc1jC9xw1oyT3BAGc1LNNcK6msFI\/hdP153A\/lYM7H6+3erj+5WK1YyIqanb2nf+ZJ+qotKN+OrLhfagY6WQtjc8DqtHj4DA9FydHLrG6cRJZaqR5bsf8AFd6d4x5A+Ks1\/jyR58ajzUSvKW3b9ye01LVavqPjK\/jhtsbv2MA26Txz+voFqoYY6eFkMLAyNgw1rRsAvYoo4YmxRMDGMGGtaMABfanKV+xqpUlDLy3uwiIlLBVGoL4yz0gEYElXLtDHjOT3nw+q+75fILLTcTv2lQ\/aKIc3HvPgoVjskzqg3i7EyVsoyxjh\/gjy7\/oniklqZmq1JSfh09+b6fnofem7I+jY6vr8yV9R1nOduWA9nn3q+REsm27srTpxpx0xCIi4UCIiACIotXc6GhB+Kq4oiBnDnDPtzRa5xtJXZKRZufWtEXmKgpqitk7AxvCD+vyXIVGrbn\/hU8NujJ\/M\/wDNz8cn5BP4b54M74qntHzdv2xqCQBknACrqrUFpowemr4cjm1h4z7DKqhpCarIddrvUVPaWNOAD4Zz9ArCl0tZqQDFEyU98vXz6HZdtBbsNdeW0Uu79jL0d\/ZS6lrqi30ktZHVfljbkEnY5xgnnn3VuKzV1fvBRQUTCTh0n5vUH7LyWNlJ\/wCIFII2NjZNTEANGBsHf9I+S1KackrWRnoUpy1Jzas3tj5mXGmrvWDNyvsuD+aOHPCfoPkpFPoqzwnMrZqh3MmSTt9MLQIk8SRpXC0llq\/fP3ItNbaGjx8NSQxEdrWAH3UpESXuXSSwgiIg6EREAEREAFWajnNPp6tkbnPRFuw\/i2\/VWaqdURGXTda1rS4hgdgeBBz8k0fiRKtfw5W6Mz80s0GnLZZKDAqq9nG8Z\/cdknJ8foCtXbLfDa6COjgyWsG7jzcTzJWX0TSy1c8l1qH8XQsbTRDuw0fQY9ytmnqOz0mbhI6o+I+y7L3CIikbgqa+aigtAEEbenrJNmQt3xnkT9uZXmoNQMtEQhhb01bLtHEN8Z7T9u1ctO2J9Hx3G4\/tLhOS5zjv0YPZ59\/t50UUlqkZalSUpeHT35vp+T5stjlNQbtdz0tbJgtY4bQ+nf8ARaFcJq2kp5BHNUwxvOMNe8A78l2a4OaHNIIIyCO1LJt5ZWnCEFpieoiq67Udpt+RNWMc8Z\/Zx9d2e7bl64XEm9h5TjBXk7FovCQBknACzB1Jdbl1bNaH8BwRNPsCPLl8yg01dbkc3m7vLDzhp9gR8h8in0W+J2If1Gr+3Fv6L1ZZ1mprPRAiSsY9wH5YuuT7be6rBqq4XBxbZ7NLIDykm2b69nzVpQ6ctNvwYaNjnjH7STruz378vTCswABgDACLwWyuc0V5\/FK3b3fsZc2fUtydmvuwpYz\/AKcHZy22x9SpdJo2z0zg+SOSpeDnMz87+QwPdXyLjnLkMuGpp3au\/nk5U9NT0sfR08McTe5jQF1REhdJLCCIiDpmdRHoNTWOdo6z5TGfLLR\/yK0yy97JrtYWmijGTTHpnnHLcH\/iPdahPLZGajmpUa2v\/CCIiQ0hF8veyNhfI4Ma0ZLnHACpqzV1mo8j4np3D92AcXz5fNdUW9hJ1IQV5OxdosTU68qJnCK30A43HDTIS4n\/AOI7fVaOwm7GiLruWdK52WAAAhvcQNk0oOKuyNPiadWWmGfnyLNERIaQiIgAod2eI7PWPIBxA\/YnGdipi41UAqaSanJwJY3M9xhdW4sk3FpGV0FXt6Ce3P2ka7pWZ7QQAf091sF+bUnTUdGyvpurW2yUsmj55jJJyfUkHz8F+g0NbDcKOOqgdxMkGfI9oPkq1Y5ujFwNS8FB7r7fjYkKm1FffwinbHA0SVk54Yo+ZHjj+sqVeLtBZ6B9TKQXYxGzO73dgVTYLXJI8328HNVJ1oxJsIm9h8P0SRS+Jlq1STfhw369F+7Hexad+Dk\/ELi81Fxk3c5xyGZ7B4+PsrK63GO1W2askGejHVbn8zjyHuoFdq600TjG2Z1TIDjggbxfPl81m7lX3HVVwgtkdL8HwEv4JSeeObtu7w7U6jKTvLYhKtSow0Usv1z8yyt1hpqmikut\/lJlqOsDJIWCEE5Hdg\/JQ7Tqae3sltkUL7k5khFOYzgFnoP07VZx6QNVJ014uM1Y878LTwtB\/ruwuEdNBa9e09PSxCKKemPVby5O\/wClNdO98kXCpDS0tObX3bv15H3+G6kvRd+I1YoKc\/6MOCSO7Y\/U+is7dpi1W3gcynEsrf8AUl6xz5cgrdFJzbwbo8PCL1PL6vJ4AAMAYAXqIkNAREQAREQAREQAXjnBrS5xAAGST2KLWXSgoP8ANVcURxnhc7re3NZi+aupq6jkt9sZLLLUYj4uAgEHsAzkns5J4wciFXiKdNO7z0JGlh+J3e43t7QQ5\/RRHuH\/AG4fmtLUVNPSx9JUTRxN73uAWRttDqg22Ojg6K3QMBGXfndnck8yN\/JcpbZp+ildJeLu+vqP3mteSfI4yfmFSUU5bmSlVlTpry928K\/3Lip1nbI3COlE1ZK7ZrYmHc+Z\/TKjNuGqrocUlBHQRu5STcx78\/8A6qPTX3DDFpzT5IO3SuZgHB7cc\/Urv+E6lurcXK4MpIXfmih54zy2+5RpS\/JzxKlTZt\/9VZerKW6QRipENbcam7VpzwwQfla49md\/YD2U23aIlqeGa5OFM3\/YhGTjxOTj5rTWqx0NoiDaaIdIR1pXbud69nkFYrjqvaI8OCi3qqen53ZDobVQ21gbSU0cZxguAy4+Z5lTERRbub4xUVZIIiIOhERABEUWvudHbYukrKhkQ7ATu7yHMoSucclFXZntS0T7ZXMvtJEHMI6Orjxs9p2JPny9lDorkzTddHwPMlnrh0kR5mPv257cipc94umoo5Ka0UHBSvBa+oqAMEdvPb6qnFkp7Hdoor3GJqSdmGzMJDWO8fL7HwWmKxaR49V+fXS2vvyv7PmH1dde9RPq6SlNe2InoGvbhjB2ZycfPc+yum6Zud14ZL5c3luc\/Dxch68h7FfDKC76Zl47c411uJLjAd3DbPYPmPUKwpNYWmoHDNI6llHNkrTsfMbLkm\/8B6VOmm1XeXyeF+SdQ2S224D4WkjY4HPGes73O6p9LH4+63W7u36SToozj90dmfINVlcLzQNtlTJDXU8jhE7hDJQSTjbkqfTl4tVo0\/CyprY2yvLnuY0FxG+w28MJEpOLZonKmqsUmkld\/wAGtWYrv\/UO3b\/+1P0kX1Jreic4so6Oqqn5wOFuAfqfkqU1V3uuqhNTUjaWsjhwGS79G3HM5HPrd3auwg1e4tfiKctKi75Wxv0WPmuGorTcqNldVU9V8S7Ap48NJ9S0Y3PqtgpyjY1UqqqXVmmuoRFnrzqSSlrTQW6EVE7GF8pyMMABJHPnt8+9cjFydkNUqRpq8jQoqKm1ZbXWyKqq6hkUjx1om5c4HJHLn2KIdV1leSyzWiWbniWXZox5fcJtEib4mkks3v6moUCuvlst2RVVkbXjmwHid7DdU34LqC6HN0unw8RO8NPtseYOMfPK4OptJ2HBmc2qnaeRPSOyO8DYeq6oLv2Jzr1LXS0rrL2OztXVNa8x2a0zVB268gwBv3D7rz8J1LcjxXC6Noot+pBzG\/hj6lIb3ebnEGWS1Mp4B1RLNgADsIGw9BlejS9zuJ4rzeJHtPOKHYcvYeyfEei+rIeap1l\/5XuR30GkrMSaqf4uYc2ufxnPk3YeqrIKiurr98fabWHxRZZTt4OGOMdh7AD28+ZUy9WSgpp6Sz26n\/vVUQXSv6xaztPPbkTy5ZWwoaOKgooqWFoayJuBj5n3XXJJX3uLChKpNxxFLp17mc\/s9e7rveLqY4yB+xh5eo2H1VpRaWs9FgtpGzOH703XPty+St0UnOTNseGpxd2rvq8ngAAwBgBeoiQ0BERABERABERABcaqsp6GAz1UzIox+84\/LxVRd9Sto6oUFBTmsrTtwN5MPiolLpipuNQK3UM5mfjq07XdVngcfQe5TqPORmlXbemkrv6I8mv90vL3U9hpHMYDh1VLjA8uz6nwXe3aRgjl+KuspuFSdyZMlo9Dz9fZX8UUcMbY4o2xsaMNa0YA9F9oc+UcAuHTeqo9T+noeAADAGAFFudugutDJSTjqvGzhzaewhS0SJ2NDipKz2MtaLlNYp\/wa8ODY2\/5epOzC3sBP9Y5K8qrVbbjiSopIZi4DEnCMkdnWG6+7hbaS6U3w9XF0jM5G+C094KoG2nUNlAbaqxlXTggCGfm0bcs8hz5EKt1LKdmZLSpLTJao\/Ve5w1Np200Flnq6amMcrS0NIe4gZcM7E92VaWbT9qjt1LM6hhfM6FjnueOLLiASd\/FUt8uV6q7RNT1lldE3ZzpG5Ibgg5\/orvb9Q3k2+BtPYnzMbG1rZA44dgYzyTtT07\/AFM0ZUFWb08un4NbHGyJgZGxrGjkGjACyVqroI7ze71UvDYo3dE09rt9gPPhGy+qu46sZSS1UlNTUcUbS4nZx28MnmqGw2Csvsb+Kcw0jHF3E4cQc\/bsyOztXIwSTbZ2tXlKcY04u++cF7aDHU3F+obvUQwh4xTRyEN4W94z3eHeVNqtaWqE8MBlqn9gjZge5wq51l0vazxXCv8AiZBzaZMnOP4W79navINT0kDnRWSwOkAzlzG4JA7dgT7rripO9v4ORqSpLS5JPnzdz6uOpr8ykdUxWv4OAYHHNu7fuBx9CocWmZvwue7XGvkj6WIzSRMHWfncAnxONsKO+4XTWFZDQkwRNaXPAAPCMDmeZPd6lfWorJLQMpGT3KSqnqH8LekyGMA58ye8f1ydK1lszPKTqJ1HeUV1xnsdrBNpyitcdRcWwvq3F3VLTIcZ223APsrU6vkqsx2i0VFQQMBzhhrfbO3qFY2+wWWCMGClp5iBwueevk+pOFbAADAGAFGU4t3sbqNCrGCjqS7L+TL\/AITqG8uD7nXCigcN4KckHHcf5kqzt+mbVbuF0dMJJGnIkl6zvsPQK2XOeeKmhfNPI2ONgy5zjgBK5t4ReNCnF6nl9WdFnbjqkGoNDZoTW1Z24m7sb9\/ooUklx1fO6Omc6ktLTwuednS\/fy5d60dttVHaYOhpIg3+Jx3c7zK7ZR33E1zrf28R69e3uVdksVXDXOu10qTJWPaW8DfysB\/rs2WgREjk27svTpxpxtEIiLhQIiIAKLQW+K3slZFJK8SyGQ9I7OCeweClIi5xpN3CIiDoWZu17rK6sNpsID5cftahrhhg7cHs8\/bddtSXmenfFa7aOOuqttjvGD2+B5+WMqdY7PFZbeKdh45HHikf\/E77KiSitTMs5Sqy8ODslu\/4R82Sx09lpi1h6Sd+8kxG7vsFaIiRtt3ZohCMI6YrAREXBgiKJVXSgogfiayGMjmC8Z9uaLXOOSirtktFnanWtrjcY6Zs1XJ+6I2YBPdvv8lxN31LcMihs4pWEbPnO48d8fQp\/DlzM74qntF37ZNBXU\/xdBUU3+7E5nuMLL6d1JQW\/T7Iaybglgc5ojAJc4Zz+uPRSf7P3y4HN0vRaw844AQMd3YPkVna6mjsF1rKGKn6d0kbRTPkaHuaTjkMYPaOXcqQimtNzJXrVIyVVRtyz7LsddQaokvgZQ0cT4oHOGQ4jikOdgewDKsmaYqorbi73cwUkDSDFD+UDOdz2nPgcqDHbKe3X63UkxDfho\/iaqR7tg7njyGAPVWRdNrG4FjSY7RTu3PIyu\/T9B5p27JacIhBOcm6mZPCX7yRV2XTsF6uD542SRWyJ2Gl568vhn64\/mt\/FFHBG2OJjWMaMBrRgALyGGOnhZDCwMjYMNa0bALooTm5M9Lh+HjRjjd7kWC3UdLUPqIKZkcrxhzwN8Zzj3XxcrTR3aNkdZGXtYcgBxG\/opqJbu9yzhFrTbBm5dEUGAaSoqKZ45Oa7P8AP5rgLjddM1AiuYfXULiA2qGeJvnz9j7rVrnNDHUQvhmYHxvGHNcNiE6m38WSD4aKzS8r+nofHxlN8Iavp2dAG8RkzthZZkVTrG4vlkfJDaIHYYwbGU9\/9cuXipDtHF391Fwlbbw\/j6EHJJzy8NvutJT08VLAyCCMRxsGGtbyCLqO24uipWaVRWS+r9hDDHTwshhYGRsGGtaNgF0RFM2bBERABERABERABERABERAGTuEslh1RJdKmnM9LUtDekYzeHkOeOex27QrZmqLI\/lcIxtndrh9QrR7GSNLHtDmnmHDIKzFTbqHMZ+Cp8mQZ\/ZN3+StFKayefVlPh29Lw8lhJq2xxjPxwd4Njcf0UWXXFpZ\/hsqZsnA4YwMn1IUm02u3Oi4nUFMXBrdzC3PLyVrFTQQACGCOMDlwNAQ4xiFOrWq7NL\/AF+TODVdxqT\/AHKwVEjTye4nH0x80Mmsa7ZsNLQtI5kgn\/l9FqES60tkX8Cb+Kb\/ANWRmP7LXCs3uV8nkB5xxZDfrj5KTTaMstPgugfOR2yvP0GAr5FzxJdTq4aks2v3z9zjT0dNSN4aanihHdGwN+i7IiQuklhBQ57TQ1NfFXTU4fUQgBjy47YJI2zjmVMRdTsDipboobppSmutzFbNUStBAD428nAdmexXVPTxUsDIIIxHGwYa1vILoiHJtWYkaUIyckssIiLhQIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIA\/\/Z",
    "razonSocial": "MEDICINA EJERCICIO DEPORTE Y SALUD S A",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "CLINICA MEDS",
    "correoContacto": "jorge.cuadra@meds.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "ATASCA PAPEL ENTRE OTRAS COSAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56976513638",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R1152\",\"id_control\":\"28637\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R1185\",\"id_control\":\"28637\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R809\",\"id_control\":\"28639\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:50",
    "ubicacionGPS": "LatLng(lat: -23.620578, lng: -70.3924948)",
    "horaLlegada": "09:59",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 11/05/2026 15:50:00
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-nDvGU_1LVFbnfKCHlEiwOCP+NHgMzAvohsj11wVOuuw4OF9oZkQ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78317440",
    "serieinterna": "KY2666",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "atasco ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12517",
    "observacion": "se cambia fusor por atasco constante como acordeón \nunidad de imagen por manchas \ngoma de bandeja por desgaste ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACaAQ8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABCEAABAwMCAggEAwUHAgcAAAABAAIDBAURBiESMRMiQVFhcYGRFKGx0RUywSNCUuHwFiQzNENTwtLxByU3RIKSsv\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAwIEBAYBBAMAAAAAAAABAgMRIRIxBEFRcRMikdEyYaGx4fDBFDNCgSNyov\/aAAwDAQACEQMRAD8A\/ZkREAEREAEREAEREAEREAEREAERRqm40VGcVNXDCe58gB9kbnG0ldklFXO1BZ2tLjcqfAGdngqmm1TWXOc0tgo3SHk6eQbN8cdnr7J1CTIz4inHnd\/LJp5ZooGGSaRkbBzc9wAVFWaytsDxFSCStmJwGxNOM+fb6ZXCLSUtY8TXu4TVT85EbHngb4b\/AKYV7Q22itsfR0dOyEHmRuT5k7ld8i+Yl689lpXq\/Y4Wasrq6kdNX0ZpH8ZDGHIPDgYznfPPuViiJHlmiKaVm7hcKyOeakljpZhBM5uGSFueE+S7ouHWrqxlxU6rtWBPSxXKFv70f5iPTf5H72Fq1LQXSQw8RgqAcGKU4JPcO\/6q4VVdtPUN2cJZWuiqGjqzRnDhjl5qmqL3Rm8OrTzCV\/k\/ctUWZtN3qrbcBZbyetyp6g8pB2ZPj9dlpksotFadRVFdBERKVCIiACIiACIiACIiACIiACIiACIiACL4lljgidLM9scbBlznHAAWYqL5cr5UPo7DGY4WnhkrHDGPLu+vkmjFslUqxp77vlzLu5XqgtTM1c4a7GRG3dx9FTC+3q7j\/wAmtvRQk4FRUEbjvx9sqTbdI0NI\/p6smtqCcl8u4z5ffKkXnUFJZoxGB01S7AZAzn4Z7gnWm9oq7M8nUa1VJaV8t\/X2Kx1gvFUzpLvfjHGAeNkRw3Hidh39ipHUdtnmdR2SjnuNRnrVEzjwN8dsD1PzV0yzXXUMjai9zGnpwcspY9j693zPktJSUVNQQCClhZFGOxo5+Z7fVNr0kVw\/i5tZdXlv12Mxa9CQRgSXOXpnf7UZIaPM8z8kvGmoLVTyXS01EtHJTt4uAOLg4eZ398ha5UesKoU2npmk4Mzmxj1OT8gUsZylJZK1OGo06TaW3Pn6ljaqs19rpqpww6WMEjx7VLUO0Uxo7RSU7hh0cTQ4eON\/mpim98GuF9CvuERFwcIiIAIiIArb5Zob1QmGTqyMyYpP4T9lE0xdZKqnfb6skVtGeB4PNwGwPj4\/zV6srqBv4JfKS+wsPRyHo6kN7dtj7f8A5CpHzLSZKy8OSrL\/AH2\/BqkXgIIyDkFeqZrCIiACIiACIiACIiACIiACIiAC4VlZBQUr6mpkDI2DJJ7fAd5XSWVkMT5ZHBrGNLnOPYBzKyUUU2r7v8RMHNtNMf2beXSH+ufdy8U8Y3y9iFaq4WjHMnt79hFBcNX1AnqeOltLT1Igd5cf1z9lq6amgo4GwU8TYo2DAa0YCTTQUdOZJXshiYOZOAAstLX3HVkzqW3B1LbmnEs7tnPHh9vdNmfyRLy0N\/NN+r9kSbpqSWapNrscZqKs5DpR+WPvx9+XmpVm05Fb5DV1cnxdc45Mzsnh8s\/VTbXaaS0Uwhpo9\/3pD+Z58SpyVysrRHhRblrq5fTkv3qEREhpCyVY\/wDtDq6GjjPFR2\/ryEHYu7fngehU\/Ul6lpI22+35kuFQcNawZLG9\/n\/37FMsVnZZreIA7jleeOV\/8TvsqLyq5kqf80\/DWy39iyREUzWEREAEREAEREAFWaiohX2KpiwOJrONhI5Fu\/8AL1VmvCARgjIK6nZ3FnFTi4vmVWmKv4zT9K\/iy6NvRu827fTCtlmNFuMH4lbnHemqD2+Y\/wCK06aatJkuGk5Uot\/tgiKPU3Cjo\/8AM1UMJ7nvAKQs2krskIqGo1nZYB1ZpJz3Rxn9cBRf7WVtUcW+xVMrSccbsgfIY+afw5dCD4qisar9s\/Y1CLLiXWVYerDS0I7zg\/8AV9FJt9lu7KxlTcL1JKG5zDHkNdtjwHyQ423YKu5O0YP7F+iIkNAREQARF8uc1jC9xw1oyT3BAGc1LNNcK6msFI\/hdP153A\/lYM7H6+3erj+5WK1YyIqanb2nf+ZJ+qotKN+OrLhfagY6WQtjc8DqtHj4DA9FydHLrG6cRJZaqR5bsf8AFd6d4x5A+Ks1\/jyR58ajzUSvKW3b9ye01LVavqPjK\/jhtsbv2MA26Txz+voFqoYY6eFkMLAyNgw1rRsAvYoo4YmxRMDGMGGtaMABfanKV+xqpUlDLy3uwiIlLBVGoL4yz0gEYElXLtDHjOT3nw+q+75fILLTcTv2lQ\/aKIc3HvPgoVjskzqg3i7EyVsoyxjh\/gjy7\/oniklqZmq1JSfh09+b6fnofem7I+jY6vr8yV9R1nOduWA9nn3q+REsm27srTpxpx0xCIi4UCIiACIotXc6GhB+Kq4oiBnDnDPtzRa5xtJXZKRZufWtEXmKgpqitk7AxvCD+vyXIVGrbn\/hU8NujJ\/M\/wDNz8cn5BP4b54M74qntHzdv2xqCQBknACrqrUFpowemr4cjm1h4z7DKqhpCarIddrvUVPaWNOAD4Zz9ArCl0tZqQDFEyU98vXz6HZdtBbsNdeW0Uu79jL0d\/ZS6lrqi30ktZHVfljbkEnY5xgnnn3VuKzV1fvBRQUTCTh0n5vUH7LyWNlJ\/wCIFII2NjZNTEANGBsHf9I+S1KackrWRnoUpy1Jzas3tj5mXGmrvWDNyvsuD+aOHPCfoPkpFPoqzwnMrZqh3MmSTt9MLQIk8SRpXC0llq\/fP3ItNbaGjx8NSQxEdrWAH3UpESXuXSSwgiIg6EREAEREAFWajnNPp6tkbnPRFuw\/i2\/VWaqdURGXTda1rS4hgdgeBBz8k0fiRKtfw5W6Mz80s0GnLZZKDAqq9nG8Z\/cdknJ8foCtXbLfDa6COjgyWsG7jzcTzJWX0TSy1c8l1qH8XQsbTRDuw0fQY9ytmnqOz0mbhI6o+I+y7L3CIikbgqa+aigtAEEbenrJNmQt3xnkT9uZXmoNQMtEQhhb01bLtHEN8Z7T9u1ctO2J9Hx3G4\/tLhOS5zjv0YPZ59\/t50UUlqkZalSUpeHT35vp+T5stjlNQbtdz0tbJgtY4bQ+nf8ARaFcJq2kp5BHNUwxvOMNe8A78l2a4OaHNIIIyCO1LJt5ZWnCEFpieoiq67Udpt+RNWMc8Z\/Zx9d2e7bl64XEm9h5TjBXk7FovCQBknACzB1Jdbl1bNaH8BwRNPsCPLl8yg01dbkc3m7vLDzhp9gR8h8in0W+J2If1Gr+3Fv6L1ZZ1mprPRAiSsY9wH5YuuT7be6rBqq4XBxbZ7NLIDykm2b69nzVpQ6ctNvwYaNjnjH7STruz378vTCswABgDACLwWyuc0V5\/FK3b3fsZc2fUtydmvuwpYz\/AKcHZy22x9SpdJo2z0zg+SOSpeDnMz87+QwPdXyLjnLkMuGpp3au\/nk5U9NT0sfR08McTe5jQF1REhdJLCCIiDpmdRHoNTWOdo6z5TGfLLR\/yK0yy97JrtYWmijGTTHpnnHLcH\/iPdahPLZGajmpUa2v\/CCIiQ0hF8veyNhfI4Ma0ZLnHACpqzV1mo8j4np3D92AcXz5fNdUW9hJ1IQV5OxdosTU68qJnCK30A43HDTIS4n\/AOI7fVaOwm7GiLruWdK52WAAAhvcQNk0oOKuyNPiadWWmGfnyLNERIaQiIgAod2eI7PWPIBxA\/YnGdipi41UAqaSanJwJY3M9xhdW4sk3FpGV0FXt6Ce3P2ka7pWZ7QQAf091sF+bUnTUdGyvpurW2yUsmj55jJJyfUkHz8F+g0NbDcKOOqgdxMkGfI9oPkq1Y5ujFwNS8FB7r7fjYkKm1FffwinbHA0SVk54Yo+ZHjj+sqVeLtBZ6B9TKQXYxGzO73dgVTYLXJI8328HNVJ1oxJsIm9h8P0SRS+Jlq1STfhw369F+7Hexad+Dk\/ELi81Fxk3c5xyGZ7B4+PsrK63GO1W2askGejHVbn8zjyHuoFdq600TjG2Z1TIDjggbxfPl81m7lX3HVVwgtkdL8HwEv4JSeeObtu7w7U6jKTvLYhKtSow0Usv1z8yyt1hpqmikut\/lJlqOsDJIWCEE5Hdg\/JQ7Tqae3sltkUL7k5khFOYzgFnoP07VZx6QNVJ014uM1Y878LTwtB\/ruwuEdNBa9e09PSxCKKemPVby5O\/wClNdO98kXCpDS0tObX3bv15H3+G6kvRd+I1YoKc\/6MOCSO7Y\/U+is7dpi1W3gcynEsrf8AUl6xz5cgrdFJzbwbo8PCL1PL6vJ4AAMAYAXqIkNAREQAREQAREQAXjnBrS5xAAGST2KLWXSgoP8ANVcURxnhc7re3NZi+aupq6jkt9sZLLLUYj4uAgEHsAzkns5J4wciFXiKdNO7z0JGlh+J3e43t7QQ5\/RRHuH\/AG4fmtLUVNPSx9JUTRxN73uAWRttDqg22Ojg6K3QMBGXfndnck8yN\/JcpbZp+ildJeLu+vqP3mteSfI4yfmFSUU5bmSlVlTpry928K\/3Lip1nbI3COlE1ZK7ZrYmHc+Z\/TKjNuGqrocUlBHQRu5STcx78\/8A6qPTX3DDFpzT5IO3SuZgHB7cc\/Urv+E6lurcXK4MpIXfmih54zy2+5RpS\/JzxKlTZt\/9VZerKW6QRipENbcam7VpzwwQfla49md\/YD2U23aIlqeGa5OFM3\/YhGTjxOTj5rTWqx0NoiDaaIdIR1pXbud69nkFYrjqvaI8OCi3qqen53ZDobVQ21gbSU0cZxguAy4+Z5lTERRbub4xUVZIIiIOhERABEUWvudHbYukrKhkQ7ATu7yHMoSucclFXZntS0T7ZXMvtJEHMI6Orjxs9p2JPny9lDorkzTddHwPMlnrh0kR5mPv257cipc94umoo5Ka0UHBSvBa+oqAMEdvPb6qnFkp7Hdoor3GJqSdmGzMJDWO8fL7HwWmKxaR49V+fXS2vvyv7PmH1dde9RPq6SlNe2InoGvbhjB2ZycfPc+yum6Zud14ZL5c3luc\/Dxch68h7FfDKC76Zl47c411uJLjAd3DbPYPmPUKwpNYWmoHDNI6llHNkrTsfMbLkm\/8B6VOmm1XeXyeF+SdQ2S224D4WkjY4HPGes73O6p9LH4+63W7u36SToozj90dmfINVlcLzQNtlTJDXU8jhE7hDJQSTjbkqfTl4tVo0\/CyprY2yvLnuY0FxG+w28MJEpOLZonKmqsUmkld\/wAGtWYrv\/UO3b\/+1P0kX1Jreic4so6Oqqn5wOFuAfqfkqU1V3uuqhNTUjaWsjhwGS79G3HM5HPrd3auwg1e4tfiKctKi75Wxv0WPmuGorTcqNldVU9V8S7Ap48NJ9S0Y3PqtgpyjY1UqqqXVmmuoRFnrzqSSlrTQW6EVE7GF8pyMMABJHPnt8+9cjFydkNUqRpq8jQoqKm1ZbXWyKqq6hkUjx1om5c4HJHLn2KIdV1leSyzWiWbniWXZox5fcJtEib4mkks3v6moUCuvlst2RVVkbXjmwHid7DdU34LqC6HN0unw8RO8NPtseYOMfPK4OptJ2HBmc2qnaeRPSOyO8DYeq6oLv2Jzr1LXS0rrL2OztXVNa8x2a0zVB268gwBv3D7rz8J1LcjxXC6Noot+pBzG\/hj6lIb3ebnEGWS1Mp4B1RLNgADsIGw9BlejS9zuJ4rzeJHtPOKHYcvYeyfEei+rIeap1l\/5XuR30GkrMSaqf4uYc2ufxnPk3YeqrIKiurr98fabWHxRZZTt4OGOMdh7AD28+ZUy9WSgpp6Sz26n\/vVUQXSv6xaztPPbkTy5ZWwoaOKgooqWFoayJuBj5n3XXJJX3uLChKpNxxFLp17mc\/s9e7rveLqY4yB+xh5eo2H1VpRaWs9FgtpGzOH703XPty+St0UnOTNseGpxd2rvq8ngAAwBgBeoiQ0BERABERABERABcaqsp6GAz1UzIox+84\/LxVRd9Sto6oUFBTmsrTtwN5MPiolLpipuNQK3UM5mfjq07XdVngcfQe5TqPORmlXbemkrv6I8mv90vL3U9hpHMYDh1VLjA8uz6nwXe3aRgjl+KuspuFSdyZMlo9Dz9fZX8UUcMbY4o2xsaMNa0YA9F9oc+UcAuHTeqo9T+noeAADAGAFFudugutDJSTjqvGzhzaewhS0SJ2NDipKz2MtaLlNYp\/wa8ODY2\/5epOzC3sBP9Y5K8qrVbbjiSopIZi4DEnCMkdnWG6+7hbaS6U3w9XF0jM5G+C094KoG2nUNlAbaqxlXTggCGfm0bcs8hz5EKt1LKdmZLSpLTJao\/Ve5w1Np200Flnq6amMcrS0NIe4gZcM7E92VaWbT9qjt1LM6hhfM6FjnueOLLiASd\/FUt8uV6q7RNT1lldE3ZzpG5Ibgg5\/orvb9Q3k2+BtPYnzMbG1rZA44dgYzyTtT07\/AFM0ZUFWb08un4NbHGyJgZGxrGjkGjACyVqroI7ze71UvDYo3dE09rt9gPPhGy+qu46sZSS1UlNTUcUbS4nZx28MnmqGw2Csvsb+Kcw0jHF3E4cQc\/bsyOztXIwSTbZ2tXlKcY04u++cF7aDHU3F+obvUQwh4xTRyEN4W94z3eHeVNqtaWqE8MBlqn9gjZge5wq51l0vazxXCv8AiZBzaZMnOP4W79navINT0kDnRWSwOkAzlzG4JA7dgT7rripO9v4ORqSpLS5JPnzdz6uOpr8ykdUxWv4OAYHHNu7fuBx9CocWmZvwue7XGvkj6WIzSRMHWfncAnxONsKO+4XTWFZDQkwRNaXPAAPCMDmeZPd6lfWorJLQMpGT3KSqnqH8LekyGMA58ye8f1ydK1lszPKTqJ1HeUV1xnsdrBNpyitcdRcWwvq3F3VLTIcZ223APsrU6vkqsx2i0VFQQMBzhhrfbO3qFY2+wWWCMGClp5iBwueevk+pOFbAADAGAFGU4t3sbqNCrGCjqS7L+TL\/AITqG8uD7nXCigcN4KckHHcf5kqzt+mbVbuF0dMJJGnIkl6zvsPQK2XOeeKmhfNPI2ONgy5zjgBK5t4ReNCnF6nl9WdFnbjqkGoNDZoTW1Z24m7sb9\/ooUklx1fO6Omc6ktLTwuednS\/fy5d60dttVHaYOhpIg3+Jx3c7zK7ZR33E1zrf28R69e3uVdksVXDXOu10qTJWPaW8DfysB\/rs2WgREjk27svTpxpxtEIiLhQIiIAKLQW+K3slZFJK8SyGQ9I7OCeweClIi5xpN3CIiDoWZu17rK6sNpsID5cftahrhhg7cHs8\/bddtSXmenfFa7aOOuqttjvGD2+B5+WMqdY7PFZbeKdh45HHikf\/E77KiSitTMs5Sqy8ODslu\/4R82Sx09lpi1h6Sd+8kxG7vsFaIiRtt3ZohCMI6YrAREXBgiKJVXSgogfiayGMjmC8Z9uaLXOOSirtktFnanWtrjcY6Zs1XJ+6I2YBPdvv8lxN31LcMihs4pWEbPnO48d8fQp\/DlzM74qntF37ZNBXU\/xdBUU3+7E5nuMLL6d1JQW\/T7Iaybglgc5ojAJc4Zz+uPRSf7P3y4HN0vRaw844AQMd3YPkVna6mjsF1rKGKn6d0kbRTPkaHuaTjkMYPaOXcqQimtNzJXrVIyVVRtyz7LsddQaokvgZQ0cT4oHOGQ4jikOdgewDKsmaYqorbi73cwUkDSDFD+UDOdz2nPgcqDHbKe3X63UkxDfho\/iaqR7tg7njyGAPVWRdNrG4FjSY7RTu3PIyu\/T9B5p27JacIhBOcm6mZPCX7yRV2XTsF6uD542SRWyJ2Gl568vhn64\/mt\/FFHBG2OJjWMaMBrRgALyGGOnhZDCwMjYMNa0bALooTm5M9Lh+HjRjjd7kWC3UdLUPqIKZkcrxhzwN8Zzj3XxcrTR3aNkdZGXtYcgBxG\/opqJbu9yzhFrTbBm5dEUGAaSoqKZ45Oa7P8AP5rgLjddM1AiuYfXULiA2qGeJvnz9j7rVrnNDHUQvhmYHxvGHNcNiE6m38WSD4aKzS8r+nofHxlN8Iavp2dAG8RkzthZZkVTrG4vlkfJDaIHYYwbGU9\/9cuXipDtHF391Fwlbbw\/j6EHJJzy8NvutJT08VLAyCCMRxsGGtbyCLqO24uipWaVRWS+r9hDDHTwshhYGRsGGtaNgF0RFM2bBERABERABERABERABERAGTuEslh1RJdKmnM9LUtDekYzeHkOeOex27QrZmqLI\/lcIxtndrh9QrR7GSNLHtDmnmHDIKzFTbqHMZ+Cp8mQZ\/ZN3+StFKayefVlPh29Lw8lhJq2xxjPxwd4Njcf0UWXXFpZ\/hsqZsnA4YwMn1IUm02u3Oi4nUFMXBrdzC3PLyVrFTQQACGCOMDlwNAQ4xiFOrWq7NL\/AF+TODVdxqT\/AHKwVEjTye4nH0x80Mmsa7ZsNLQtI5kgn\/l9FqES60tkX8Cb+Kb\/ANWRmP7LXCs3uV8nkB5xxZDfrj5KTTaMstPgugfOR2yvP0GAr5FzxJdTq4aks2v3z9zjT0dNSN4aanihHdGwN+i7IiQuklhBQ57TQ1NfFXTU4fUQgBjy47YJI2zjmVMRdTsDipboobppSmutzFbNUStBAD428nAdmexXVPTxUsDIIIxHGwYa1vILoiHJtWYkaUIyckssIiLhQIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIA\/\/Z",
    "razonSocial": "MEDICINA EJERCICIO DEPORTE Y SALUD S A",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "CLINICA MEDS",
    "correoContacto": "jorge.cuadra@meds.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "ATASCA PAPEL ENTRE OTRAS COSAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56976513638",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R1152\",\"id_control\":\"28637\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R1185\",\"id_control\":\"28637\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R809\",\"id_control\":\"28639\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:50",
    "ubicacionGPS": "LatLng(lat: -23.620578, lng: -70.3924948)",
    "horaLlegada": "09:59",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/05/2026 15:50:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78317440

[11/05/2026 15:50:00] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('78317440', 'KY2666', 1, 27729424, 0, NOW(), 
				'08:00', '09:59', '15:50', 4, 'atasco ', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778529000.png', 'se cambia fusor por atasco constante como acordeón 
unidad de imagen por manchas 
goma de bandeja por desgaste ', null, 'COMPLETADO','LatLng(lat: -23.620578, lng: -70.3924948)' )
				
[11/05/2026 15:50:00] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200268
[11/05/2026 15:50:00] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200268', 'KYO-R1152', 1)
				
[11/05/2026 15:50:00] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28637 and
				    IDproducto = 'KYO-R1152'
				

11/05/2026 15:50:00 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R1152';
                [11/05/2026 15:50:00] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200268', 'KYO-R1185', 1)
				
[11/05/2026 15:50:00] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28637 and
				    IDproducto = 'KYO-R1185'
				

11/05/2026 15:50:00 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R1185';
                [11/05/2026 15:50:00] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200268', 'KYO-R809', 1)
				
[11/05/2026 15:50:00] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28639 and
				    IDproducto = 'KYO-R809'
				

11/05/2026 15:50:00 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R809';
                
11/05/2026 15:50:00 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200268'                    
				WHERE idllamado = 12517			
				TO ENVIO: micorreo@miempresa.cl, jorge.cuadra@meds.cl


11/05/2026 15:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:50:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:50:01 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12517			
				
11/05/2026 15:50:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


11/05/2026 15:50:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12517
            GROUP BY l.idllamado;
            
11/05/2026 15:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                [11/05/2026 15:50: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/05/2026 15:50:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:50:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12517
            GROUP BY l.idllamado;
            [11/05/2026 15:50: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/05/2026 15:50:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12517
            GROUP BY l.idllamado;
            
11/05/2026 15:50:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:50:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:50:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:50:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                
11/05/2026 15:50:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12517
                [11/05/2026 16:34:37] 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/05/2026 16:34: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 16:34: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 16:34:39] 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/05/2026 16:34:41] 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/05/2026 16:34: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/05/2026 16:34:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12534
            GROUP BY l.idllamado;
            [11/05/2026 16:35:41] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 16: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 = 12528
                [11/05/2026 16:35:41] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 16:35:41] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 16: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 = 12528
                
11/05/2026 16:35:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:35:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:35:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16:35:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:35:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            [11/05/2026 16:35:41] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 16:35:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16: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 = 12528
                
11/05/2026 16:35:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                [11/05/2026 16:35: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/05/2026 16:35:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:35:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            [11/05/2026 16:35: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/05/2026 16:35:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16:35:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            [11/05/2026 16:35: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/05/2026 16:35: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/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16:35:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:35:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            [11/05/2026 16:35: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/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16:35:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:35:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:35:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            [11/05/2026 16:35: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/05/2026 16:35: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/05/2026 16:35:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:35:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            [11/05/2026 16:35: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/05/2026 16:35: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/05/2026 16:35:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:35:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:35:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:35:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:35:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                [11/05/2026 16:35: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/05/2026 16:35:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:35:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:35:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:35:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:35:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                [11/05/2026 16:35: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/05/2026 16:35:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            [11/05/2026 16:35: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/05/2026 16:35:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:35:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:35:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                [11/05/2026 16:35: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/05/2026 16:35:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:35:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:35:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:35:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:35:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                [11/05/2026 16:35: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/05/2026 16:35: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/05/2026 16:35:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:35:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16:39:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16:39:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:39:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:39:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:39:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:39:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16:39:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            [11/05/2026 16:39:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 16:39:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 16:39:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 16: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 = 12528
                [11/05/2026 16:39:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[11/05/2026 16:39:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                [11/05/2026 16:39:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:39:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            [11/05/2026 16:39:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:39:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:39:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            [11/05/2026 16:39:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 16:39:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            [11/05/2026 16:39:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/05/2026 16:39:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:39:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:39:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:39:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:39:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:39:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:39:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:39:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16:42:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:42:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:42:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:42:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                [11/05/2026 16:42: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;
                

11/05/2026 16:42:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12534
            GROUP BY l.idllamado;
            
11/05/2026 16:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:43:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:43:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16:43:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16: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 = 12528
                
11/05/2026 16:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:44:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:44:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:25 - logentry: =========================================
FECHA: 11/05/2026 16:44:25
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-I90Qko4zMlAIh7_4CLm3MAinMOlp8LIKKRiPM3eGHmH_-xPps_n
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76053835",
    "serieinterna": "KY2380",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "391265",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se reemplazan gomas de alimontación de bandeja y ADF",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12528",
    "observacion": "•Servicio por atasco de papel en ADF",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADDAZwDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUBAgf\/xABJEAABAwMCAgcFBAYFDAMBAAABAAIDBAURBiESMRNBUWFxgZEUIqGx0SMyQsEHFTNScvAWJILC0iUmNUNTVWJzkrLh8TRkouL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAA0EQACAQMCAwcCBAYDAAAAAAAAAQIDETESIQRBURMiMmFxkaGxwRRCgeEFIzNS0fBEgvH\/2gAMAwEAAhEDEQA\/AP2ZcfUN0qrPDBVRQtkpxIBP+9g9n888LsLHUQRVVPJBM0PjkaWuB6wuppPchUjKUWouzFPPFVU8c8Lg+ORoc0jrCyKV0zUSWu5VOn6t5Ja4vp3H8QxuB5b+qql2UbMjRqdpC\/Pn6hERRLQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICb1hTvhipbxTt+3opQSR+7nr88epXdo6uOuo4qqE5ZK0OHd3L7ngjqYJIJW8UcjS1w7QVM6WnkttxqrBUu3jcXwE\/iHX8MH1Vnij6GV\/y61+Uvr+5VIiKs1BERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAERYKysgoaZ9RUyBkbBzJxnuHehxtJXZnRS8d\/vd1dxWm1htPn9rOcZ8N8emV7\/nn\/APT+Cs0PmzP+Ji94xbXoU6KXdWatom9JNQwVbMHLY+Y8hv8ANdaz3unvELnRtdFLGSHxP+81ccGlclCvGUtO6fmdJERQLwiIgCmNVtkt9ZRXynZkwO4JsfiaeQ+Y8wqdal0o\/b7XU0u2ZYyG5\/e6vjhSg7Mprwc6bSzy9TYikbNEyVmeF7Q4ZGNivtcDRlb7VY2wuP2lM4xkZ3xzH08l30krOxKlNVIKS5hERRLAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAvA4EkAgkcx2L1akNtp4LjPXsDumqAA8l2Rty+S6cd9rG2iIuHQiIgCIiALTiudLNc5rcxzungaHPBGNj2dvMeq3FL15NBrqiqNmx1kXROPaeXz4VKKvcprTcEmsXVyoREUS4KUna7UeqHUzsOobccvbvhz84wR5HyHkqeaToYJJTj3Gl2\/cFwdExNFmfUYPHPM5xJ7B1b9Wc+qsjsmzNWWucafLL\/QoWtDWhrQAAMADqXqIqzSFLalopLZWRagoGgPiIFQwbB4O2T8j5KpWvXQtqaCogf92SJzT5hSi7MprU+0g1z5ep9UdVHW0kVTEcslaHDfl3LMp\/RMrpNOsa456ORzR4c\/zVAklZtEqM9dNS6oIiKJYEREBL0X+S9cVVNsyGuj6Rg5Zdz\/xqoUvrOP2Y0F2YB0lNOAe0jmPl8VTMe2SNsjHBzXAFpHWFZPdJmWh3ZTp9Hf3PpERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIApvWsLxbYK6L79JMHA9gP\/nCpFp3ak9utNVTYyZInBv8WNvjhSg7STKa8NdOUTPTTtqaWKoYMNlYHjwIysq4Wjqr2nT0LSSTC4xnPduPgQu6uSVm0SpT1wUupq3P\/RVX\/wAh\/wD2lcTTNdTW\/ScE9XKIo+kc3iIJ34j2Lv1kYmop4icB8bm58QoGSTj\/AEfRt29ys4fmfzVkFqVvMy8RN06mtf2v7H6G1wc0OG4IyF6scH7CP+EfJZFUbUFjn\/YSfwn5LIta41DaS21NQ\/lHE53jsurIk7JtnE0L\/oB3\/Pd8gqRcHRlOYNOxOOftXueAR5fku8pVPEyjhlajH0CIigaAiIgOdqCk9tsVXAGlzujLmgcyRuPksOlqv2zT9M8n3owYzvn7pwPhhdYgEYIyCpjRrTSy3S3Hb2eoyAeeDkZ\/\/IVi3gzNPu14vqmvv\/kqERFWaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCItCovdrpCRNXwNI5tDwSPILqTeCMpRju3Y30XKbqeyPJxcI9hncEfMLdp66jqx\/VqqGb+B4d8kcWso5GpCWGmbCIi4TCIiAIiIAiIgCIiAl9I\/wBXrrvQ52iqMtHdkjn5BVCl7WOi15dYv3og\/bl+A\/mqhWVM3M3C7U9PRtfJ8uaHsLTyIwvzhz\/8y5oS0NdFXgED+Hv8Cv0lfmt0HQtvUG+PbmuAxy+\/9VOiZ+P2Sfk18fsfo0H7CP8AhHyWRY4P2Ef8I+SyKg9BYCm9XVJnbTWWD3p6yRpcOxgPiOsfAqgmmip4XzTPDI2DLnOOwCmtOsdeLxU6gnj4WD7KnacbdRPpt5lWQ273Qz8Q9VqSzL6cyjpaaOjpYqaIYZEwNHksyIqzQkkrIIiIdCIiAKYoAafX1wjYfcmhDy3lv7pz8\/VU6mD9j+kQY36em37tv\/5U4c\/QzcRmD80U6IigaQiLXp66lqpZYoZmvkhPC9nItPghxtLZmwiLiX2\/m3Pjo6OP2iumIDYxvwjtP5LqTbsiM6kacdUjeuF2obW0Oq6hsZIyG83HwC4ztc0OSY6OrkbnAcGDfv5rLbNMNbJ7bd5DW1b\/AHiJN2MPcOv5KgAAGAMAKfcXmULt5730\/pdk5Fri1ueGTxVFPnrezIHoc\/BUMU0c8TZYXtkjeMtc05BC+aimgq4TDUwsljPNrxkKWnoanSM5rbeHz295HTwuOSzvH1S0ZY2YcqtLee6+UVyLXoq2nuFKypppA+N42PZ3HvWwqzSmmroIiIdCIiAItK4XahtcfHWVDYyRlrObneA5rjxagut2nj\/VNsLKbiBdPU7At6\/5GVJRb3KZ1oRenn0RSovBnG\/NeqJcFx73qGG0hsMcZqKuT7kLPmfpzW7dK0W62zVbsfZt24uWScDOO8rk6WtLY6Vt1qj01bVDpOkfuWtPLHiPnhTila7M9WcnJU4Z69EarLFeb1mW8V8lPC8bU0R5DqyOXzK6VLpOy0o2oxK796Ul3w5fBdlEc5MR4amt2rvq9zmu09Z3DBt1P5MwtGp0VaJTxQCaleNwYpCcHzz8OxUCLinJcyUqFKWYolHu1Fp3GB+taJo7PfYB4b8sb7hdq0XqkvMPHTuIe0Djjdzb9V0VM6itbqOQX22\/ZVMRzKGjZ7TzJHzUk1PZ5KnGdBaou8en+GUyLXoKtlfQQVUf3ZWB2Ow9Y8ithVmpNNXQREQ6EREAREQEwz3P0iPx+Om39B9FTqYri6n19QSFx4JoS3n14cPoqdWT5ehm4fM15sL80vu1wu4GwNQw49V+lr811TmLUFfFsBKY3DqB2H1O6nR8Rm\/iP9NPz+zP0aD9hH\/CPksixRODaZjnEABgJJ6tlM115q7\/AFDrZZARFymqzsAO7+clVKLkzZUqxppXy8LqLvWSahuLbJb3n2djgaqZvLAPIHu+JVNTU8VJSxU0LeGOJoa0dwWvarVTWijbT07R2vfjd57VurspLCwcpU2m5z8T+PIIiKBeaV0utLaKXp6p+AThrRuXHuXEbWakvbCaSCO3U55Plzxnw+HUF8xRMvGtaj2hofDQM9xjv3tt\/mVVKzaPqZFqrNu9orbbmTLtPX1zif6RSjJ5AO+q8\/UupKU9LT3zp3gfs5gcO7t8qnRc7RkvwtPlf3ZLf0ju1pyL3a3GMHAng5fT4hazbtR3DW1vqqOXiYYix4c0tOcO238QrFzQ5pa4AgjBB61F3600s2rKKliYKYVDC5zoQGni33+AU4OLb2sZ68KsErSurrOc9S1RScdzu2mpW092YauiwA2qYD7nicbnuPqqWkrKevp21FLKJYncnD+dlXKLRrp1oz2w+hnUzqC21FDWNv8Aa2\/bR\/8AyIxnEjes\/X16lTLwgEYIyCkZaWdq01UjZmrbLlBdaFlXTn3XbFp5tPWCuDpZnt11ud1lIe90xjjOOQ7uvlgLE9v9EtQMcxxba64niaeUbvyxn08Fm0YWxG50ZP2kNSS7bq5f3SrLWi2jIqjnUhGeVe\/rbZlQiIqT0AvHNDmlrgCCMEHrXqICSAbpXUbGNJbba8YweUbh\/I8j3KtXI1Pb2XCxVDSPfhaZWHsIH0ysmna79YWKmmLuJ7WcD98niG2\/z81ZLvR1GWl\/LqOnyyvujpoi8JAGScAKs1HzLNHBE6WZ7Y42DLnOOAApme+3G91D6OwxcETTwvrHjYeHZ8\/BYiKjWFxeBIY7RTvx7pwZXfz6BVFNSwUdO2CmibFEzk1qssoZyZLzrvuu0evN+nkcGHS1PQQy1s7X3StA4vtTkOPcD+eVuWHUEF4jdEY+gqYtnwn5j+dl2FMaos8kZN6tjnxVcO8nRn7ze3y+IRPXtI5ODoLVTWyyuvn6lOi5dgvUd6t4mA4Zme7KzsPb4FdRQaadmaoTU4qUcM4GtQ46dk4QT9o3OOzK7FCAKCnAGAIm\/ILn6ppzUacrGgZLWB4\/skE\/AFcGiuUrLnYZhM8Q1FOIHs4vdLhlvIdecc+5WKOqBknUVOu2+aX1sWqIiqNoREQBYaxrH0U7JRmN0bg4doxusymdR3OSslFhtrwamclszuprcHIJ7\/kpRV2VVqihBt\/+mXRJcdPN4gABK7hwerb88qhWvQUcdvoYqSMktibjJ5k8yfM7rYSTvJsUYOFOMXyRN3eaSm1haXh56OVpjLc7E7j+8qRTGtPsW22tH3oKnY9Qzvz\/ALKp12XhTK6W1ScfNP3QRFiqKiGkp3zzyCOJgy5x6lA0N23ZlRTB1RcK95FmtLpmA8PSynAzv5dXant+st82ik7vfH+NT7N8zP8AiYPwpv0TPNTZi1DY5uQM3CTy\/E36qoX5\/f7pdJJKKW42w03s8vE1wzwuO2R8O1d+m1ra5ZBFUNnpX5welZsD5fRTlCWlFFLiKaqzu7XtnbkUK\/PNbQtbqNhJwJYmOJ8yPyV7TVdPWRiSmnjmYRnLHAqJ13ETeaR4dgvhDc9mHH6pR2mOPtKhddUb1dW1Wqa51strjHQxn+sVA5O8O7sHX4KloKCnttIylpWcEbfVx7T2lTlpuJ0242q7xtgYXudFUNBLX5PWeZ58+rrVTHLHNGJIpGyMcMhzTkHzXJ3WywWcNaTc5Pvc\/Ly\/3J9oiKo2BERATNKTTfpAq2ODWtqacOYABvgN\/MOVMpnVcT6OpoL1CN6eUNlAG5aT2+RHmqOGVk8LJozlkjQ5p7jurJbpMzUe7KcH1v7n2iIqzSFMXTDteWtoO4hJ\/wC\/6KnUwwCb9Ij+f2FN256h6feVkOfoZuJxFeaKSWKOaN0csbZGOGHNcMg+SlK+31emKv8AWVrc51C54M9NnZo+nf1eCrl45oc0tcAQRgg9ajGVidWkqi6NYZho6yCvpWVNO\/jjeMjtHcVnUj72kLy44P6qrHbAHPRO\/nPl4KtBBGQcgpKNsYFGo5pqWVk1LrbYbtQSUk2wdu1w5td1FQ1kqqnT+pjTVuQJCIpew\/uu+XkSv0VTeq9PPucTaykH9ahGOHre3sHep05LwvDM\/FUW7VYeJfJSIuRpy8tu9uaXuAqYhwzM689vn9V11W007M1wmpxUo4YREXCZ4QCMEZBUzosmGO40BO9NUnyzt\/dVOpfT\/DFqu9xHZzn8YGOrJOfiFZHwszVdqtN+q+CoXI1TWmhsNQ9ri10g6NpHMZ\/8ZXXXE1fT+0aenPDxGItkA36jv8CVGHiVyde6pSt0NmwW8W2y09PnLi3jef8AiO5+nkuktKz1sdfaaeojcHcTAHdzgNx6rdXJXu7kqaioLTiwXhAIwRkFerSu1zgtNC+pneAcYY3GS52NhhEr7IlKSirvBB0MdZapKq6UJ4m0k5jljweF7CSPTb5L9Boa2G4UcdVA7iZIM+B6wfBcjSVvkp7K51WwmSreZHiQZJBGN8+fqtCgJ0vqJ1teT7BWu4oHE7Ndy\/8AHoVdO02+qPPoJ0Ixb8Mvh8iskjbLG6N4y14LSO0FfnJhmjstXBn7a0VYcDncNccHH9poOe8r9IUgadkWsq6gmHDDc6c4I23I5+oco03a5ZxkNWn298fNiooqkVlFDUtxiVgdt3hZ1OaNqnmgnt0wDZaKUsLc8gSfzyF26u4UdAzjq6mOEYyON2CfAcyoSjaVjRSqqVNTZsL5e9kbC+RwY1oyXOOAFM1ernVE\/sdko31U5\/E5uGt8vrheN05dLu8SX2v+zBBFPCdvA9Q+Klot4tit8QpO1Javp7ntbqSouU7rfYInSuOz6nGzB2j6ldOx2KCzQE56Wqk\/azHm7uHd81vUlFTUEAgpYWRRjqaOfievzWdcctrLBKFF6tdR3fwvQIiKBoJ\/W0XSade7\/ZyMdyz148ua7FDN7Tb6ac\/62Jr\/AFAK1tQQ9PYK5mM\/YucPEb\/ksOlZjPpujc45LWlno4gfABWfkMy24h+a+j\/c66mdclxtVPEM8MlQ0Ox2YKplwtYUZq7BI9gJfTuErcdWOfwJ9Fyn4kd4lN0ZJdDtQxRwQshiYGRsAa1o5AL7Wnaa1lwtdPVNdnjYOLucNiPVbii9mXRacU1gmNd+7bKWQ8m1Iz\/0n6Lv1VDSVzOCqp45h1cbQceHYuXrCmNRp2ctGTEWyeh3+BK6FpqfbLTS1GRl8TScduN\/ipvwJmeKXbyT5pfc50OkLbTV8dXTOqISw54Gye6fPn8Vxddf6VoP4f7yt1J60t1TVVVvmp4JJcEtdwMJ4dxjPZ1qVOTc1dlXFUYxoNQXT6lLVUVLXR9HVQMlbvjiGcZ7D1KdfZLlYqg1NjlMtOSC+keQcjfOM\/8AtVKKtSaNNSjGe+H15nLsl7hvNOSB0dRHtLCebT9F1FL6lo5LZUx6goBwyROAqGDYPB2yfkfEdioaOrjrqOKqhOWStDh3dy7JLKwRpTld055XyupnREUDQYayljraSWml+5I0tOOY7\/JTumri+3zu0\/cMsmicRA5wwHt54+noqhcq+2OK804HF0VREcxTAbg9h7lOLWGZ6sJXVSGV8rodVFMUOo57dOLff4zC8D3Kk\/dkA7cfNUrZGPZ0jXtcz94HIXJRaJ06sai29uZ9KYsDvb9UXa4jJjbiFhO2Rt1f2R6rYv2oI4I\/YLfIZq6Y8DRCQ4x957+75LcsFpbZ7XHT\/wCtd78pzn3iN\/IclJLTFt8yqT7SqlHEd368jpoiKs1GrcqCG50EtJOPdkGxxu09RC4mla+WJ81jrDiekJEZP4m93ht5FUqndV22R8DLtRZbV0mHEt5uaD+XP1VkXfuszV4uLVWOVnzRRItO1XGK626Kri2Dx7zf3XDmFuKDVtjRGSkk0Sl\/stTQ1n68s4ImBLpo28j2nHX3hUtHO+ppIpnxOic9oJY7mFmRdcrqzKoUlCblHD5BERRLgpfDrfr9oByyvhySRsMA7erR6qoXIvtpnuElHU0b2R1NLMHNc\/OOHrG3PkPipwdnZlFeLcU45TTOuvlzWvYWPaHNcMEEZBC+kUC8lp7XcNO1UlXZIvaKWTeSlJJLT2jt+a+49c0AYBVUtVBL+JvCCAe45HyCpl8ujY85cxrj3jKs1J+JGXsZQ\/pysulrom5NYtqW9HabdU1Ux5cTMNHecZ\/LxSg09V1tW243+bpZQPcp2n3WeONvIeeVStaGjDQAOwL1c128KO9g5O9SV\/LCC5Wo7W262iWINzNGOOI434h1efJdVFFOzui+cFOLi8M5WnLmLpZoZXO4pWDo5c8+Idfnz81ztXwy05orvTA9LSSYdhuSWnffu2PqsdnzatX11t5Q1I6WIAHAPPbyJ9FR1lJHXUctLMMslaWnu71Y7RnfkZYp1qDi8rb9UTEk0dt1bSXGn3pLrGGlw5cRx+fCfMrv3OzUN36L2yNz+izwYcRjOM8vAKJlErbJV2mpGKm2ydLCe1hOHY9c\/wDpXdtqhXW2mqsgmWNrjjtxv8crs01Zor4aUZ6oSWz3t9fk40+ireeF9HLNSyM3aQ7iGe8Hf0IWOnudxsVRFSXt3S08h4WVY6jk8z4YVOtetoqe4Ur6apjD43jcdneO9RU77S3L3w6j3qWz+P1MzXNewPY4Oa4ZBByCF9KToKio0rXtttfIZKCY\/wBXmP4Dnl8d\/VVijKNiylV7Rb7NZQREUS0+Jo2zQvid917S0+BU9oiQ\/qiWmccugnc3wyAfnlUil9M\/1bUF6pHHcyiRoPPGT9Qpx8LRmqbVoP1X++xULxzQ5pa4AgjBB616igaSSPTaPr3O4XyWioeORyYnHPV\/O3eqmCohqoWzQSNkjcMhzTkFeywxzxOimY2SN4w5rhkEKak01X2yodUWGuMTDjNM\/dp5Dr2O3bv3qy6lnJk0zo+FXj05r08ihroG1VBUU7hkSxuafMLi6ImMmnWsP+qlc0b+f5rCLvqmJvDNZI3uHNzHbH0JXGstTe6easttBSsjnfJ0jhIf2Xr5c8qSg9LRTOvHtYySfNYZa0FzpbkJjTPLuhkMbsjG4W2uXYbQbPQmKSUSzSO45HgdeOWevfO53XUVUrX2NtNycE55CIi4WGOeCOpgkglbxRyNLXDtBU9o6Z0UVbbH54qOYgE7bHI5Y7s+apVLtxbNfljRiO4Q5xjYO7fVp\/6lZHdNGat3Zwn529\/3KhERVmkIiIDBV0dNXQGGqhbKwjGHdXgepcR+irc57THNUxtH4GybY7Bt4nzKokUlJrDKp0ac95K5zbZYLdafepYPtP8AaPOXevUukiLjbeScYRgrRVkERFwkF4QCMEZBXqIDFT00FJCIaaFkUYOeFgwFlREOJJbIIiIdCIiAIiIAiIgCIiAIiIAiIgJfU2KO+2i5YwBJ0cjsfhz9C5VCn9a05m0+6Vv3oJGvBHPs\/Ndi31Ptlup6nrlia8+JCse8UzNT7tacetn9jk6g0yy8SMqIJRBUAFrnY2eMY3\/nlsulaqE222QUbpelMTcceMZ3ytxFFybViyNGEZuaW7CIiiWmhebVFeLdJSvwH843kfdd1Fc7S9zlkifaq73Kyk93Dju9vb5bfBUC4GoLPUyzxXa1u4a6nG7c\/tG9nj8wpxd1pZmqxcZdrBb8\/Nfsd9FwKHVcEs8dJX08tFVOdwcLxlhdnGx8fmu+ouLWS2FSFRXiwpkZo\/0gE4LWVkGxxscD55b8VTLSrLVTVtZS1Uwf0tK7ijLXYHn6LsXbJGtByStlNM3URFEuCIiAKXrf8m67panOI66Po35PN3LHwYqhcDWNG+eze1REiWjeJWkDfHI\/XyU4Zt1M\/Ep9nqWVv7HfRattrmXK3QVkYwJW5I7DyI9craUGrF6akroIiIdCmNZMdB+r7nGMvpqgDA5nO\/8Ad+Kp1ydT0xqtO1bGjLms4xz\/AAkE8u4FTg7SRRxEdVKSX+2Oo1zXsD2nLXDIPaF9Lm6eqhV2CjlByREGHxbsfkukotWdi2EtUVLqERFwkEREAREQBERAEREAREQBERAEREAREQBEXxHLHKCY5GvAOCWnOD2ID7REQBERAEREBzr\/ABiWwVzSAcQOdv3DP5LDpaQyabonE5wwt9HEfksmpJOi07Wu4uHMRbnPbtj4ppuLodPUTOHh+z4seJzn4qf5P1M3\/I\/6\/c6aIigaQiIgCIiAxvhike174mOcw5a5zQS3wWREQBERAEREAREQBfLmtewscMtcMEdoX0iAn7Faq6zXSqpmjitjxxxOLwS1222OfL5KgRF2Tu7srp01TjpWAiIuFgXhAIwRkFeogJfSRNFXXO0OziCXjjyTy5f4fVVCl7kf1VrOjrs4irW9DIADknl\/h9FUKye7v1M3Dd2Lp\/2v4ygiIqzSEREAREQBERAEREAREQBERAEREAREQHhzjbmpLT1wprHLU2u5O9nndMZA+QnhdkAfe8uZ235quWpX2yjuUfBVQh5A9142c3wPMKcWlsyirTk2pQyjaBBGQcgr1S39HbraHcdkuBczO9PPy6\/Lr7l7Hqmut5bHfLVJDvvNEMt7OXL4rui\/hdyH4jTtUTXyvcqEXHh1XZJ2cQrms7Q9paR8Fk\/pJZv94w+pUdMuhaq1J\/mXudRFyzqWygZ\/WMW3itCr1pQtJit8clbOQeENaQ3PnufIIoSfI5LiKUVdyR86xkNRFR2mJpdLVzZ93fAHX6kHyKo42NijbG37rAGjwCnrJZKp9c683gtfVSD7OPH7L+R6eKo12VklFEKKk3KpJWv9AiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDjaqtzrjZJBH+1gPSsx1kA5Hpn4LYsFw\/Wdmp6lzg6Th4ZP4hsfr5roEAjBGQVgo6Glt8JhpIWwxlxcWt6yetSv3bFPZtVda5rf7GwiIolwREQBERAEREAREQBERAEREAREQBERAEREAXjmhzS1wBBGCD1oiA0JLDaJTl9up8\/8MYHyWP+jdm\/3dD6FEUtT6lbpU3+Vex6NOWZpyLdB5tyt2npKakZwU1PHC3sYwN+SIuNt5OxpwjhWMyIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "LEONPRODAL S.A.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOHANN GUERRERO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "ATASCA PAPEL",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R809\",\"id_control\":\"28636\",\"cantidad_usada\":1,\"cantidad_asignada\":2},{\"id_inventario\":\"KYO-R963\",\"id_control\":\"28636\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R1084\",\"id_control\":\"28638\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:44",
    "ubicacionGPS": "LatLng(lat: -23.5395426, lng: -70.3900892)",
    "horaLlegada": "16:38",
    "horaDespacho": "15:41",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 11/05/2026 16:44:25
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-I90Qko4zMlAIh7_4CLm3MAinMOlp8LIKKRiPM3eGHmH_-xPps_n
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76053835",
    "serieinterna": "KY2380",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "391265",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se reemplazan gomas de alimontación de bandeja y ADF",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12528",
    "observacion": "•Servicio por atasco de papel en ADF",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADDAZwDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUBAgf\/xABJEAABAwMCAgcFBAYFDAMBAAABAAIDBAURBiESMRNBUWFxgZEUIqGx0SMyQsEHFTNScvAWJILC0iUmNUNTVWJzkrLh8TRkouL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAA0EQACAQMCAwcCBAYDAAAAAAAAAQIDETESIQRBURMiMmFxkaGxwRRCgeEFIzNS0fBEgvH\/2gAMAwEAAhEDEQA\/AP2ZcfUN0qrPDBVRQtkpxIBP+9g9n888LsLHUQRVVPJBM0PjkaWuB6wuppPchUjKUWouzFPPFVU8c8Lg+ORoc0jrCyKV0zUSWu5VOn6t5Ja4vp3H8QxuB5b+qql2UbMjRqdpC\/Pn6hERRLQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICb1hTvhipbxTt+3opQSR+7nr88epXdo6uOuo4qqE5ZK0OHd3L7ngjqYJIJW8UcjS1w7QVM6WnkttxqrBUu3jcXwE\/iHX8MH1Vnij6GV\/y61+Uvr+5VIiKs1BERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAERYKysgoaZ9RUyBkbBzJxnuHehxtJXZnRS8d\/vd1dxWm1htPn9rOcZ8N8emV7\/nn\/APT+Cs0PmzP+Ji94xbXoU6KXdWatom9JNQwVbMHLY+Y8hv8ANdaz3unvELnRtdFLGSHxP+81ccGlclCvGUtO6fmdJERQLwiIgCmNVtkt9ZRXynZkwO4JsfiaeQ+Y8wqdal0o\/b7XU0u2ZYyG5\/e6vjhSg7Mprwc6bSzy9TYikbNEyVmeF7Q4ZGNivtcDRlb7VY2wuP2lM4xkZ3xzH08l30krOxKlNVIKS5hERRLAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAvA4EkAgkcx2L1akNtp4LjPXsDumqAA8l2Rty+S6cd9rG2iIuHQiIgCIiALTiudLNc5rcxzungaHPBGNj2dvMeq3FL15NBrqiqNmx1kXROPaeXz4VKKvcprTcEmsXVyoREUS4KUna7UeqHUzsOobccvbvhz84wR5HyHkqeaToYJJTj3Gl2\/cFwdExNFmfUYPHPM5xJ7B1b9Wc+qsjsmzNWWucafLL\/QoWtDWhrQAAMADqXqIqzSFLalopLZWRagoGgPiIFQwbB4O2T8j5KpWvXQtqaCogf92SJzT5hSi7MprU+0g1z5ep9UdVHW0kVTEcslaHDfl3LMp\/RMrpNOsa456ORzR4c\/zVAklZtEqM9dNS6oIiKJYEREBL0X+S9cVVNsyGuj6Rg5Zdz\/xqoUvrOP2Y0F2YB0lNOAe0jmPl8VTMe2SNsjHBzXAFpHWFZPdJmWh3ZTp9Hf3PpERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIApvWsLxbYK6L79JMHA9gP\/nCpFp3ak9utNVTYyZInBv8WNvjhSg7STKa8NdOUTPTTtqaWKoYMNlYHjwIysq4Wjqr2nT0LSSTC4xnPduPgQu6uSVm0SpT1wUupq3P\/RVX\/wAh\/wD2lcTTNdTW\/ScE9XKIo+kc3iIJ34j2Lv1kYmop4icB8bm58QoGSTj\/AEfRt29ys4fmfzVkFqVvMy8RN06mtf2v7H6G1wc0OG4IyF6scH7CP+EfJZFUbUFjn\/YSfwn5LIta41DaS21NQ\/lHE53jsurIk7JtnE0L\/oB3\/Pd8gqRcHRlOYNOxOOftXueAR5fku8pVPEyjhlajH0CIigaAiIgOdqCk9tsVXAGlzujLmgcyRuPksOlqv2zT9M8n3owYzvn7pwPhhdYgEYIyCpjRrTSy3S3Hb2eoyAeeDkZ\/\/IVi3gzNPu14vqmvv\/kqERFWaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCItCovdrpCRNXwNI5tDwSPILqTeCMpRju3Y30XKbqeyPJxcI9hncEfMLdp66jqx\/VqqGb+B4d8kcWso5GpCWGmbCIi4TCIiAIiIAiIgCIiAl9I\/wBXrrvQ52iqMtHdkjn5BVCl7WOi15dYv3og\/bl+A\/mqhWVM3M3C7U9PRtfJ8uaHsLTyIwvzhz\/8y5oS0NdFXgED+Hv8Cv0lfmt0HQtvUG+PbmuAxy+\/9VOiZ+P2Sfk18fsfo0H7CP8AhHyWRY4P2Ef8I+SyKg9BYCm9XVJnbTWWD3p6yRpcOxgPiOsfAqgmmip4XzTPDI2DLnOOwCmtOsdeLxU6gnj4WD7KnacbdRPpt5lWQ273Qz8Q9VqSzL6cyjpaaOjpYqaIYZEwNHksyIqzQkkrIIiIdCIiAKYoAafX1wjYfcmhDy3lv7pz8\/VU6mD9j+kQY36em37tv\/5U4c\/QzcRmD80U6IigaQiLXp66lqpZYoZmvkhPC9nItPghxtLZmwiLiX2\/m3Pjo6OP2iumIDYxvwjtP5LqTbsiM6kacdUjeuF2obW0Oq6hsZIyG83HwC4ztc0OSY6OrkbnAcGDfv5rLbNMNbJ7bd5DW1b\/AHiJN2MPcOv5KgAAGAMAKfcXmULt5730\/pdk5Fri1ueGTxVFPnrezIHoc\/BUMU0c8TZYXtkjeMtc05BC+aimgq4TDUwsljPNrxkKWnoanSM5rbeHz295HTwuOSzvH1S0ZY2YcqtLee6+UVyLXoq2nuFKypppA+N42PZ3HvWwqzSmmroIiIdCIiAItK4XahtcfHWVDYyRlrObneA5rjxagut2nj\/VNsLKbiBdPU7At6\/5GVJRb3KZ1oRenn0RSovBnG\/NeqJcFx73qGG0hsMcZqKuT7kLPmfpzW7dK0W62zVbsfZt24uWScDOO8rk6WtLY6Vt1qj01bVDpOkfuWtPLHiPnhTila7M9WcnJU4Z69EarLFeb1mW8V8lPC8bU0R5DqyOXzK6VLpOy0o2oxK796Ul3w5fBdlEc5MR4amt2rvq9zmu09Z3DBt1P5MwtGp0VaJTxQCaleNwYpCcHzz8OxUCLinJcyUqFKWYolHu1Fp3GB+taJo7PfYB4b8sb7hdq0XqkvMPHTuIe0Djjdzb9V0VM6itbqOQX22\/ZVMRzKGjZ7TzJHzUk1PZ5KnGdBaou8en+GUyLXoKtlfQQVUf3ZWB2Ow9Y8ithVmpNNXQREQ6EREAREQEwz3P0iPx+Om39B9FTqYri6n19QSFx4JoS3n14cPoqdWT5ehm4fM15sL80vu1wu4GwNQw49V+lr811TmLUFfFsBKY3DqB2H1O6nR8Rm\/iP9NPz+zP0aD9hH\/CPksixRODaZjnEABgJJ6tlM115q7\/AFDrZZARFymqzsAO7+clVKLkzZUqxppXy8LqLvWSahuLbJb3n2djgaqZvLAPIHu+JVNTU8VJSxU0LeGOJoa0dwWvarVTWijbT07R2vfjd57VurspLCwcpU2m5z8T+PIIiKBeaV0utLaKXp6p+AThrRuXHuXEbWakvbCaSCO3U55Plzxnw+HUF8xRMvGtaj2hofDQM9xjv3tt\/mVVKzaPqZFqrNu9orbbmTLtPX1zif6RSjJ5AO+q8\/UupKU9LT3zp3gfs5gcO7t8qnRc7RkvwtPlf3ZLf0ju1pyL3a3GMHAng5fT4hazbtR3DW1vqqOXiYYix4c0tOcO238QrFzQ5pa4AgjBB61F3600s2rKKliYKYVDC5zoQGni33+AU4OLb2sZ68KsErSurrOc9S1RScdzu2mpW092YauiwA2qYD7nicbnuPqqWkrKevp21FLKJYncnD+dlXKLRrp1oz2w+hnUzqC21FDWNv8Aa2\/bR\/8AyIxnEjes\/X16lTLwgEYIyCkZaWdq01UjZmrbLlBdaFlXTn3XbFp5tPWCuDpZnt11ud1lIe90xjjOOQ7uvlgLE9v9EtQMcxxba64niaeUbvyxn08Fm0YWxG50ZP2kNSS7bq5f3SrLWi2jIqjnUhGeVe\/rbZlQiIqT0AvHNDmlrgCCMEHrXqICSAbpXUbGNJbba8YweUbh\/I8j3KtXI1Pb2XCxVDSPfhaZWHsIH0ysmna79YWKmmLuJ7WcD98niG2\/z81ZLvR1GWl\/LqOnyyvujpoi8JAGScAKs1HzLNHBE6WZ7Y42DLnOOAApme+3G91D6OwxcETTwvrHjYeHZ8\/BYiKjWFxeBIY7RTvx7pwZXfz6BVFNSwUdO2CmibFEzk1qssoZyZLzrvuu0evN+nkcGHS1PQQy1s7X3StA4vtTkOPcD+eVuWHUEF4jdEY+gqYtnwn5j+dl2FMaos8kZN6tjnxVcO8nRn7ze3y+IRPXtI5ODoLVTWyyuvn6lOi5dgvUd6t4mA4Zme7KzsPb4FdRQaadmaoTU4qUcM4GtQ46dk4QT9o3OOzK7FCAKCnAGAIm\/ILn6ppzUacrGgZLWB4\/skE\/AFcGiuUrLnYZhM8Q1FOIHs4vdLhlvIdecc+5WKOqBknUVOu2+aX1sWqIiqNoREQBYaxrH0U7JRmN0bg4doxusymdR3OSslFhtrwamclszuprcHIJ7\/kpRV2VVqihBt\/+mXRJcdPN4gABK7hwerb88qhWvQUcdvoYqSMktibjJ5k8yfM7rYSTvJsUYOFOMXyRN3eaSm1haXh56OVpjLc7E7j+8qRTGtPsW22tH3oKnY9Qzvz\/ALKp12XhTK6W1ScfNP3QRFiqKiGkp3zzyCOJgy5x6lA0N23ZlRTB1RcK95FmtLpmA8PSynAzv5dXant+st82ik7vfH+NT7N8zP8AiYPwpv0TPNTZi1DY5uQM3CTy\/E36qoX5\/f7pdJJKKW42w03s8vE1wzwuO2R8O1d+m1ra5ZBFUNnpX5welZsD5fRTlCWlFFLiKaqzu7XtnbkUK\/PNbQtbqNhJwJYmOJ8yPyV7TVdPWRiSmnjmYRnLHAqJ13ETeaR4dgvhDc9mHH6pR2mOPtKhddUb1dW1Wqa51strjHQxn+sVA5O8O7sHX4KloKCnttIylpWcEbfVx7T2lTlpuJ0242q7xtgYXudFUNBLX5PWeZ58+rrVTHLHNGJIpGyMcMhzTkHzXJ3WywWcNaTc5Pvc\/Ly\/3J9oiKo2BERATNKTTfpAq2ODWtqacOYABvgN\/MOVMpnVcT6OpoL1CN6eUNlAG5aT2+RHmqOGVk8LJozlkjQ5p7jurJbpMzUe7KcH1v7n2iIqzSFMXTDteWtoO4hJ\/wC\/6KnUwwCb9Ij+f2FN256h6feVkOfoZuJxFeaKSWKOaN0csbZGOGHNcMg+SlK+31emKv8AWVrc51C54M9NnZo+nf1eCrl45oc0tcAQRgg9ajGVidWkqi6NYZho6yCvpWVNO\/jjeMjtHcVnUj72kLy44P6qrHbAHPRO\/nPl4KtBBGQcgpKNsYFGo5pqWVk1LrbYbtQSUk2wdu1w5td1FQ1kqqnT+pjTVuQJCIpew\/uu+XkSv0VTeq9PPucTaykH9ahGOHre3sHep05LwvDM\/FUW7VYeJfJSIuRpy8tu9uaXuAqYhwzM689vn9V11W007M1wmpxUo4YREXCZ4QCMEZBUzosmGO40BO9NUnyzt\/dVOpfT\/DFqu9xHZzn8YGOrJOfiFZHwszVdqtN+q+CoXI1TWmhsNQ9ri10g6NpHMZ\/8ZXXXE1fT+0aenPDxGItkA36jv8CVGHiVyde6pSt0NmwW8W2y09PnLi3jef8AiO5+nkuktKz1sdfaaeojcHcTAHdzgNx6rdXJXu7kqaioLTiwXhAIwRkFerSu1zgtNC+pneAcYY3GS52NhhEr7IlKSirvBB0MdZapKq6UJ4m0k5jljweF7CSPTb5L9Boa2G4UcdVA7iZIM+B6wfBcjSVvkp7K51WwmSreZHiQZJBGN8+fqtCgJ0vqJ1teT7BWu4oHE7Ndy\/8AHoVdO02+qPPoJ0Ixb8Mvh8iskjbLG6N4y14LSO0FfnJhmjstXBn7a0VYcDncNccHH9poOe8r9IUgadkWsq6gmHDDc6c4I23I5+oco03a5ZxkNWn298fNiooqkVlFDUtxiVgdt3hZ1OaNqnmgnt0wDZaKUsLc8gSfzyF26u4UdAzjq6mOEYyON2CfAcyoSjaVjRSqqVNTZsL5e9kbC+RwY1oyXOOAFM1ernVE\/sdko31U5\/E5uGt8vrheN05dLu8SX2v+zBBFPCdvA9Q+Klot4tit8QpO1Javp7ntbqSouU7rfYInSuOz6nGzB2j6ldOx2KCzQE56Wqk\/azHm7uHd81vUlFTUEAgpYWRRjqaOfievzWdcctrLBKFF6tdR3fwvQIiKBoJ\/W0XSade7\/ZyMdyz148ua7FDN7Tb6ac\/62Jr\/AFAK1tQQ9PYK5mM\/YucPEb\/ksOlZjPpujc45LWlno4gfABWfkMy24h+a+j\/c66mdclxtVPEM8MlQ0Ox2YKplwtYUZq7BI9gJfTuErcdWOfwJ9Fyn4kd4lN0ZJdDtQxRwQshiYGRsAa1o5AL7Wnaa1lwtdPVNdnjYOLucNiPVbii9mXRacU1gmNd+7bKWQ8m1Iz\/0n6Lv1VDSVzOCqp45h1cbQceHYuXrCmNRp2ctGTEWyeh3+BK6FpqfbLTS1GRl8TScduN\/ipvwJmeKXbyT5pfc50OkLbTV8dXTOqISw54Gye6fPn8Vxddf6VoP4f7yt1J60t1TVVVvmp4JJcEtdwMJ4dxjPZ1qVOTc1dlXFUYxoNQXT6lLVUVLXR9HVQMlbvjiGcZ7D1KdfZLlYqg1NjlMtOSC+keQcjfOM\/8AtVKKtSaNNSjGe+H15nLsl7hvNOSB0dRHtLCebT9F1FL6lo5LZUx6goBwyROAqGDYPB2yfkfEdioaOrjrqOKqhOWStDh3dy7JLKwRpTld055XyupnREUDQYayljraSWml+5I0tOOY7\/JTumri+3zu0\/cMsmicRA5wwHt54+noqhcq+2OK804HF0VREcxTAbg9h7lOLWGZ6sJXVSGV8rodVFMUOo57dOLff4zC8D3Kk\/dkA7cfNUrZGPZ0jXtcz94HIXJRaJ06sai29uZ9KYsDvb9UXa4jJjbiFhO2Rt1f2R6rYv2oI4I\/YLfIZq6Y8DRCQ4x957+75LcsFpbZ7XHT\/wCtd78pzn3iN\/IclJLTFt8yqT7SqlHEd368jpoiKs1GrcqCG50EtJOPdkGxxu09RC4mla+WJ81jrDiekJEZP4m93ht5FUqndV22R8DLtRZbV0mHEt5uaD+XP1VkXfuszV4uLVWOVnzRRItO1XGK626Kri2Dx7zf3XDmFuKDVtjRGSkk0Sl\/stTQ1n68s4ImBLpo28j2nHX3hUtHO+ppIpnxOic9oJY7mFmRdcrqzKoUlCblHD5BERRLgpfDrfr9oByyvhySRsMA7erR6qoXIvtpnuElHU0b2R1NLMHNc\/OOHrG3PkPipwdnZlFeLcU45TTOuvlzWvYWPaHNcMEEZBC+kUC8lp7XcNO1UlXZIvaKWTeSlJJLT2jt+a+49c0AYBVUtVBL+JvCCAe45HyCpl8ujY85cxrj3jKs1J+JGXsZQ\/pysulrom5NYtqW9HabdU1Ux5cTMNHecZ\/LxSg09V1tW243+bpZQPcp2n3WeONvIeeVStaGjDQAOwL1c128KO9g5O9SV\/LCC5Wo7W262iWINzNGOOI434h1efJdVFFOzui+cFOLi8M5WnLmLpZoZXO4pWDo5c8+Idfnz81ztXwy05orvTA9LSSYdhuSWnffu2PqsdnzatX11t5Q1I6WIAHAPPbyJ9FR1lJHXUctLMMslaWnu71Y7RnfkZYp1qDi8rb9UTEk0dt1bSXGn3pLrGGlw5cRx+fCfMrv3OzUN36L2yNz+izwYcRjOM8vAKJlErbJV2mpGKm2ydLCe1hOHY9c\/wDpXdtqhXW2mqsgmWNrjjtxv8crs01Zor4aUZ6oSWz3t9fk40+ireeF9HLNSyM3aQ7iGe8Hf0IWOnudxsVRFSXt3S08h4WVY6jk8z4YVOtetoqe4Ur6apjD43jcdneO9RU77S3L3w6j3qWz+P1MzXNewPY4Oa4ZBByCF9KToKio0rXtttfIZKCY\/wBXmP4Dnl8d\/VVijKNiylV7Rb7NZQREUS0+Jo2zQvid917S0+BU9oiQ\/qiWmccugnc3wyAfnlUil9M\/1bUF6pHHcyiRoPPGT9Qpx8LRmqbVoP1X++xULxzQ5pa4AgjBB616igaSSPTaPr3O4XyWioeORyYnHPV\/O3eqmCohqoWzQSNkjcMhzTkFeywxzxOimY2SN4w5rhkEKak01X2yodUWGuMTDjNM\/dp5Dr2O3bv3qy6lnJk0zo+FXj05r08ihroG1VBUU7hkSxuafMLi6ImMmnWsP+qlc0b+f5rCLvqmJvDNZI3uHNzHbH0JXGstTe6easttBSsjnfJ0jhIf2Xr5c8qSg9LRTOvHtYySfNYZa0FzpbkJjTPLuhkMbsjG4W2uXYbQbPQmKSUSzSO45HgdeOWevfO53XUVUrX2NtNycE55CIi4WGOeCOpgkglbxRyNLXDtBU9o6Z0UVbbH54qOYgE7bHI5Y7s+apVLtxbNfljRiO4Q5xjYO7fVp\/6lZHdNGat3Zwn529\/3KhERVmkIiIDBV0dNXQGGqhbKwjGHdXgepcR+irc57THNUxtH4GybY7Bt4nzKokUlJrDKp0ac95K5zbZYLdafepYPtP8AaPOXevUukiLjbeScYRgrRVkERFwkF4QCMEZBXqIDFT00FJCIaaFkUYOeFgwFlREOJJbIIiIdCIiAIiIAiIgCIiAIiIAiIgJfU2KO+2i5YwBJ0cjsfhz9C5VCn9a05m0+6Vv3oJGvBHPs\/Ndi31Ptlup6nrlia8+JCse8UzNT7tacetn9jk6g0yy8SMqIJRBUAFrnY2eMY3\/nlsulaqE222QUbpelMTcceMZ3ytxFFybViyNGEZuaW7CIiiWmhebVFeLdJSvwH843kfdd1Fc7S9zlkifaq73Kyk93Dju9vb5bfBUC4GoLPUyzxXa1u4a6nG7c\/tG9nj8wpxd1pZmqxcZdrBb8\/Nfsd9FwKHVcEs8dJX08tFVOdwcLxlhdnGx8fmu+ouLWS2FSFRXiwpkZo\/0gE4LWVkGxxscD55b8VTLSrLVTVtZS1Uwf0tK7ijLXYHn6LsXbJGtByStlNM3URFEuCIiAKXrf8m67panOI66Po35PN3LHwYqhcDWNG+eze1REiWjeJWkDfHI\/XyU4Zt1M\/Ep9nqWVv7HfRattrmXK3QVkYwJW5I7DyI9craUGrF6akroIiIdCmNZMdB+r7nGMvpqgDA5nO\/8Ad+Kp1ydT0xqtO1bGjLms4xz\/AAkE8u4FTg7SRRxEdVKSX+2Oo1zXsD2nLXDIPaF9Lm6eqhV2CjlByREGHxbsfkukotWdi2EtUVLqERFwkEREAREQBERAEREAREQBERAEREAREQBEXxHLHKCY5GvAOCWnOD2ID7REQBERAEREBzr\/ABiWwVzSAcQOdv3DP5LDpaQyabonE5wwt9HEfksmpJOi07Wu4uHMRbnPbtj4ppuLodPUTOHh+z4seJzn4qf5P1M3\/I\/6\/c6aIigaQiIgCIiAxvhike174mOcw5a5zQS3wWREQBERAEREAREQBfLmtewscMtcMEdoX0iAn7Faq6zXSqpmjitjxxxOLwS1222OfL5KgRF2Tu7srp01TjpWAiIuFgXhAIwRkFeogJfSRNFXXO0OziCXjjyTy5f4fVVCl7kf1VrOjrs4irW9DIADknl\/h9FUKye7v1M3Dd2Lp\/2v4ygiIqzSEREAREQBERAEREAREQBERAEREAREQHhzjbmpLT1wprHLU2u5O9nndMZA+QnhdkAfe8uZ235quWpX2yjuUfBVQh5A9142c3wPMKcWlsyirTk2pQyjaBBGQcgr1S39HbraHcdkuBczO9PPy6\/Lr7l7Hqmut5bHfLVJDvvNEMt7OXL4rui\/hdyH4jTtUTXyvcqEXHh1XZJ2cQrms7Q9paR8Fk\/pJZv94w+pUdMuhaq1J\/mXudRFyzqWygZ\/WMW3itCr1pQtJit8clbOQeENaQ3PnufIIoSfI5LiKUVdyR86xkNRFR2mJpdLVzZ93fAHX6kHyKo42NijbG37rAGjwCnrJZKp9c683gtfVSD7OPH7L+R6eKo12VklFEKKk3KpJWv9AiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDjaqtzrjZJBH+1gPSsx1kA5Hpn4LYsFw\/Wdmp6lzg6Th4ZP4hsfr5roEAjBGQVgo6Glt8JhpIWwxlxcWt6yetSv3bFPZtVda5rf7GwiIolwREQBERAEREAREQBERAEREAREQBERAEREAXjmhzS1wBBGCD1oiA0JLDaJTl9up8\/8MYHyWP+jdm\/3dD6FEUtT6lbpU3+Vex6NOWZpyLdB5tyt2npKakZwU1PHC3sYwN+SIuNt5OxpwjhWMyIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "LEONPRODAL S.A.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOHANN GUERRERO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "ATASCA PAPEL",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R809\",\"id_control\":\"28636\",\"cantidad_usada\":1,\"cantidad_asignada\":2},{\"id_inventario\":\"KYO-R963\",\"id_control\":\"28636\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R1084\",\"id_control\":\"28638\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:44",
    "ubicacionGPS": "LatLng(lat: -23.5395426, lng: -70.3900892)",
    "horaLlegada": "16:38",
    "horaDespacho": "15:41",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/05/2026 16:44:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76053835

[11/05/2026 16:44:25] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76053835', 'KY2380', 1, 24456550, 391265, NOW(), 
				'15:41', '16:38', '16:44', 4, '•Se reemplazan gomas de alimontación de bandeja y ADF', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778532265.png', '•Servicio por atasco de papel en ADF', null, 'COMPLETADO','LatLng(lat: -23.5395426, lng: -70.3900892)' )
				
[11/05/2026 16:44:25] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200269
[11/05/2026 16:44:25] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200269', 'KYO-R809', 1)
				
[11/05/2026 16:44:25] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28636 and
				    IDproducto = 'KYO-R809'
				

11/05/2026 16:44:25 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R809';
                [11/05/2026 16:44:25] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200269', 'KYO-R963', 1)
				
[11/05/2026 16:44:25] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28636 and
				    IDproducto = 'KYO-R963'
				

11/05/2026 16:44:25 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R963';
                [11/05/2026 16:44:25] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200269', 'KYO-R1084', 1)
				
[11/05/2026 16:44:25] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28638 and
				    IDproducto = 'KYO-R1084'
				

11/05/2026 16:44:25 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R1084';
                
11/05/2026 16:44:25 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200269'                    
				WHERE idllamado = 12528			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


11/05/2026 16:44:25 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12528			
				
11/05/2026 16:44:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


11/05/2026 16:44:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:44:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                [11/05/2026 16:44: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/05/2026 16:44: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/05/2026 16:44: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/05/2026 16:44:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:44:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:44:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                [11/05/2026 16:44: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/05/2026 16:44:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:44:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:44:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:44:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            [11/05/2026 16:44: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/05/2026 16:44:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:44:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12528
            GROUP BY l.idllamado;
            
11/05/2026 16:44:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                
11/05/2026 16:44:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12528
                [11/05/2026 17:04: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/05/2026 17:04: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/05/2026 17:04: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/05/2026 17:04:30] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[11/05/2026 17:04:30] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 18:25:49] 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/05/2026 18:25:49] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/05/2026 18:25: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/05/2026 18:25: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/05/2026 18:25: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/05/2026 18:25: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;
                

12/05/2026 08:29:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 08:29:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 08:29:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 08:29:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                [12/05/2026 08:29: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/05/2026 08:29:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 08:29:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 08:29:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 08:29:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [12/05/2026 08:29: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/05/2026 08:29:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 08:29:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 08:29:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 08:29:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 08: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 = 12533
                
12/05/2026 08: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 = 12533
                [12/05/2026 08:29:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 08:29:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 08:29:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 08: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 = 12533
                
12/05/2026 08: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 = 12533
                
12/05/2026 08: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 = 12533
                
12/05/2026 08: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 = 12533
                
12/05/2026 09:12:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 09:12:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 09:12:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        [12/05/2026 09:12: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/05/2026 09:12:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 09:12:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 09:12:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 09:12:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 09:12:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 09:12:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 09:12:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                [12/05/2026 09:12: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/05/2026 09:12: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/05/2026 09:12:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 09:12:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 09:12:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 09:12:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 09:12:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 09:12:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 09:12:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 09:12:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                [12/05/2026 09: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;
                

12/05/2026 09:12:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 09:12:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [12/05/2026 09: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;
                

12/05/2026 09:12:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        [12/05/2026 09: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;
                

12/05/2026 09:12:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 09:12:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 09:12:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 09:12:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 09:12:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 09: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 = 12533
                
12/05/2026 09: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 = 12533
                
12/05/2026 09: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 = 12533
                
12/05/2026 09: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 = 12533
                
12/05/2026 09: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 = 12533
                
12/05/2026 09: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 = 12533
                
12/05/2026 09: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 = 12533
                
12/05/2026 09: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 = 12533
                [12/05/2026 09:41: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/05/2026 09:41:39] 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/05/2026 09:41:41] 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/05/2026 09:41:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            [12/05/2026 09:41:48] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 09:55:35] 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/05/2026 09:55: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/05/2026 09:55: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/05/2026 09:56: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/05/2026 09:56:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12535
            GROUP BY l.idllamado;
            [12/05/2026 09:57:24] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 09:57: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/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12535
            GROUP BY l.idllamado;
            [12/05/2026 09:57: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/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12535
            GROUP BY l.idllamado;
            
12/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12535
            GROUP BY l.idllamado;
            
12/05/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 = 12535
                
12/05/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 = 12535
                
12/05/2026 09: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 = 12535
                
12/05/2026 09:57:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12535
            GROUP BY l.idllamado;
            
12/05/2026 09: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 = 12535
                
12/05/2026 09:57:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12535
            GROUP BY l.idllamado;
            
12/05/2026 09: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 = 12535
                
12/05/2026 09: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 = 12535
                
12/05/2026 09: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 = 12535
                
12/05/2026 09: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 = 12535
                
12/05/2026 09: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 = 12535
                
12/05/2026 09:57:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12535
            GROUP BY l.idllamado;
            
12/05/2026 09: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 = 12535
                
12/05/2026 09: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 = 12535
                
12/05/2026 09: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 = 12535
                
12/05/2026 09:57:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12535
            GROUP BY l.idllamado;
            
12/05/2026 09: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 = 12535
                
12/05/2026 09: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 = 12535
                
12/05/2026 09: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 = 12535
                
12/05/2026 09: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 = 12535
                
12/05/2026 09:58:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12535
                
12/05/2026 09:58:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12535
            GROUP BY l.idllamado;
            
12/05/2026 09:58:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12535
                
12/05/2026 09:58:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12535
            GROUP BY l.idllamado;
            
12/05/2026 09:58:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12535
                
12/05/2026 09:58:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12535
                
12/05/2026 09:58:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12535
                
12/05/2026 09:58:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12535
                
12/05/2026 09:59:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12535
            GROUP BY l.idllamado;
            
12/05/2026 09:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12535
                
12/05/2026 09:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12535
                
12/05/2026 09:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12535
            GROUP BY l.idllamado;
            
12/05/2026 09:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12535
                
12/05/2026 09:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12535
                
12/05/2026 09:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12535
                
12/05/2026 09:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12535
                
12/05/2026 09:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12535
                
12/05/2026 09:59:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12535
            GROUP BY l.idllamado;
            
12/05/2026 09:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12535
                
12/05/2026 09:59:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12535
                
12/05/2026 09:59:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12535
                
12/05/2026 09:59:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12535
                
12/05/2026 09:59:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12535
            GROUP BY l.idllamado;
            
12/05/2026 09:59:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12535
                
12/05/2026 09:59:55 - logentry: =========================================
FECHA: 12/05/2026 09:59:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-oNO1qyT9vHrHl64E8jkgR2NuxtrJOjQzySYthIFGlptBCMtW3Qa
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76844171",
    "serieinterna": "EP2267",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "96448",
    "contadorColor": "181118",
    "contadorScanner": "0",
    "detalle": "02 itin 1940",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12535",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABtAMADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA4EAABAwMBBQYEBQMFAQAAAAABAAIDBAUREgYhMUFRE2FxgZHBFCIysRVCodHwJDM2FiM0Q1Lx\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAIDBAH\/xAAsEQACAQMCAgkFAQAAAAAAAAAAAQIDESESMUFRBBMiMmFxscHwFCOB0eHx\/9oADAMBAAIRAxEAPwD9mREQBF4jljlBMcjX6Tg6TnB6L2gCIiAIioprvVS7WQ2ujDTDEwuqSRn\/AOY3ebl1JshOooWvxdi9REXCYREQBERAEREBxqaqCjp3T1MrYomcXOVFPtc2WpNNaqGaueMguHygHwxnHjhcKqJt+2vfQVOXUlDHrLASA5xxx9f0WmhghpohFBEyKNvBrBgBWWjHcy6qlVvS7JY8TOfEbY1Zw2lpaNvJziD7n7J+EbVSf3L5G3n8jefoFp0XNfJI79Mn3pN\/n9GY\/Bdpm7234E9HN3fZfQzbGlIc6SkrQN5aMNJ7uDVpkTW+Q+mitpNfkoqDaiCWcUdyhfb6vONEo+V3gf39Sr1QLrZ6O707oqiMa8YZKB8zPA+yq9n66rpa6WxXJ2qaEZgkP\/Yz33e\/RGk1dCM505KFTKez9mWd0vdDaIi6pmGvGWxNOXu8vdUbPxrah2X67bbjxA+uQff28VopbbRTVrayWmjfOxulr3DOB\/OalIpJLG52VKdSXafZ5Lj5sylvgbZNsHULHuEFVFrYHv1EnmfHLStWsztPmmvNnrm5a1s2iR43fLlvE+q0y7PKTI0Fpc4Lg\/UIiKs1EO7XBlrtk1Y\/BLG\/K0\/mceA9VWbJ0EkdHJcqrfU1x7QknOGflHv6dFCr3naLadlsaSaKhOufo5w5ep0+q1bWhrQ1oAAGAByVj7MbczLD7tVz4RwvPi\/Y+oiKs1BERAEREAREQGYsf+YXny+606zFj\/zC8+X3WnU57mbovcfm\/UIiKBpCIiALM7Rv7DaSxyxkte+Uxu0nBLS5ox4bytMsxdSKnba107BqMLDI\/dw4n2\/UKdPczdK7iXivU06IigaSm2roRXWCoAbmSEdqw44Y4\/plSbFWm4WWlqXO1PczDyf\/AENx\/UKe5oc0tcAQRgg81lbA59jvtRY5yeylPa0xPP8AgHq1WLMbcjLP7dZS4PH54GrVPtLdha7Y4RuPxU4LIGjjnmfLPrhW7nBrS5xAAGSTyWVtLXbR36S71EZ+EpTopQQQCQch3iOPiR0XIJbvZEq83ZQju\/jZbbPWk2m2CKUh1RI4yTOznLj39w91YzSGKCSQMLyxpcGtBJdgcBhdEUW7u7LYwUIqMeBXWq90l21shJZNGT2kL\/qbg48D5KxWY2ghFru9HfIm4brDKgNB3jB+Y454yOHRaYEEZByCuyS3RXSnJtxnuj6vhIAyTgBVNy2mtlse6GSUyzjd2UQ1HPfyCqHNve1MgZLC63W3i4O+qQefH0x4rqg93hHJ9Iinpjl8l78jVxzRS6uzkY\/SS12lwOCOIK9rFmOv2bvFVBbqKaeKoi\/2MuLsuAGXEZ7ndClWbzZjR3eurXlz3hk8I+ZrRknAxu4Z9uSl1fJlX1TSeqLxvyRtF5D2Oc5gcC5v1AHePFZy83x9ZPDarNKJZaj+7LGc6GHoeRxz5eKi1do\/0yaW5U9TI8RvDap0jzh7eH0j9N\/RcUOZOXSLN6VdLdlxbrPLR3y4XB8rCypI0NbnI65Vuo0FwoqljHw1UTw\/6cPG9SVBtt5LqcYxVo\/LhERcLAiIgPEsrIYnyyODWMaXOceQHErNbMMdcrtX32RgxI\/soTjkMewAz4r5f66a71w2etzhqJzUS53NA4j9\/RaKio4aCjipYG6Y4xgD7n1Vndj4syX62rjux9f4d0RFWawqLam3yVFEyupRironCRhA3kDiPfyV6oN4ucVot0lVIRkDEbT+Z+NwUotp4Kqyi6bUtjNXLaF99t9Nbbcz+rrBiZvJgGcjJ8M+C1VvoYbbQxUkDQGxtAJxjUeZPeViKSluNkEO0b4GuZMXGaEM0mNrjxxyzy6bluqSqiraWOpgdqjlbqaVZUVlZbGXosnKTlU73t\/eJ2REVJvIV3tzLpbpaZ4BcRqYSODhwKofwraSubHRz1jKOlhHZl0J+aQDcDu6jHQd3JatFJTaKKlCM3d\/6Vls2et1rw+GHXNzmk+ZxPt5KzRFxtvctjCMFaKsFznghqYjFPEyWN2MseMg4OeC6IuEmrkG3WehtTSKOAMLtznHe4jOePmpcsUc0TopWB7HjDmuGQQvaLrbeSKjGK0pYKSbZCzTTmb4d0bi7UQyQgE5zw5eSu0RG29zkacIX0q1wiKJXXShtsZfV1LI8flJy4+A4riVyTkoq7ZLWZuu0M9VVG02IdrUu3PmH0xjng+\/uo8tZdtqXmnoGPorcTh1Q4Yc8fzkPMrQ2u00topRBSsxn63n6nnqSrLKO+5lc5V8QxHnz8v2cLJZIbNTkA9pUSb5Zjxcf2VoiKDbbuzTCEYR0x2CIi4SCyVSRtTtKymaCaC3nMpwMPdnh4HGPI9VZbVXV1ttfZw\/8mqPZxgcR1I\/nEhSbDamWi1xU+kdqRqlcObj393DyVkeytRkqfdqdVwWX7IsJI2SxujkaHMeC1zSNxB4hZJ0dw2PnkfTROq7U86nN\/NF\/OvBa9eXNa9hY9oc1wwQRkEKMZWLatLXZp2a2Zyo6yCvpI6qmfrjkGQfYrus5Q2Sts16YLe7VbZsmVj3fQe7fvPDf3b1o0kkng7SlKUe2rNfMBERRLQiIgCIiAIiICvuN8t1qe2OsqND3DUGBpJI67h3FU7tsnVYcy1WqpqXjdqc3cD34z39Ffz26iqphNUUsU0gAAc9odgDOOPiVIDQ0YaAB0CmnFcDPKFaTxKy8smXdTbW3QYmqIbdEeLYz82M9Rk\/qFLt+yNvpJTPUl9bOTnXNvGfD98q+RHN7LAj0aF7yy\/HJ8AAGAMAL6iKBoCIiALxLKyGJ8sjg1jGlznHkBxK9rObU1T6p1PYqR47eseO0x+Rg37\/AL+AKlFXdiurU6uDl8uRrNDJtFepL3VN\/poHaaaMk7nDG\/38T3LWLjSUkNDSR0sDdMcYw0ZyuySldkaNPq453e\/mERFEuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgOVTUR0lNLUzO0xxNLnHuCzmykE1fU1N+q8l87iyEE50tzvx3cvI9VcXq1m8UHwnxDoGl7XOLRnUBy\/nRTKeCOmp44ImhrI2hrQBhTTSj4meUJTqpvZev8ADoiIoGgIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "SERVICIOS INTEGRALES RODRIGO LASTRA GOMEZ E.I.R.L",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "RODRIGO LASTRA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56979898873",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28650\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "09:59",
    "ubicacionGPS": "LatLng(lat: -22.4683945, lng: -68.9342403)",
    "horaLlegada": "09:56",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 09:59:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-oNO1qyT9vHrHl64E8jkgR2NuxtrJOjQzySYthIFGlptBCMtW3Qa
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76844171",
    "serieinterna": "EP2267",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "96448",
    "contadorColor": "181118",
    "contadorScanner": "0",
    "detalle": "02 itin 1940",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12535",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABtAMADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA4EAABAwMBBQYEBQMFAQAAAAABAAIDBAUREgYhMUFRE2FxgZHBFCIysRVCodHwJDM2FiM0Q1Lx\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAIDBAH\/xAAsEQACAQMCAgkFAQAAAAAAAAAAAQIDESESMUFRBBMiMmFxscHwFCOB0eHx\/9oADAMBAAIRAxEAPwD9mREQBF4jljlBMcjX6Tg6TnB6L2gCIiAIioprvVS7WQ2ujDTDEwuqSRn\/AOY3ebl1JshOooWvxdi9REXCYREQBERAEREBxqaqCjp3T1MrYomcXOVFPtc2WpNNaqGaueMguHygHwxnHjhcKqJt+2vfQVOXUlDHrLASA5xxx9f0WmhghpohFBEyKNvBrBgBWWjHcy6qlVvS7JY8TOfEbY1Zw2lpaNvJziD7n7J+EbVSf3L5G3n8jefoFp0XNfJI79Mn3pN\/n9GY\/Bdpm7234E9HN3fZfQzbGlIc6SkrQN5aMNJ7uDVpkTW+Q+mitpNfkoqDaiCWcUdyhfb6vONEo+V3gf39Sr1QLrZ6O707oqiMa8YZKB8zPA+yq9n66rpa6WxXJ2qaEZgkP\/Yz33e\/RGk1dCM505KFTKez9mWd0vdDaIi6pmGvGWxNOXu8vdUbPxrah2X67bbjxA+uQff28VopbbRTVrayWmjfOxulr3DOB\/OalIpJLG52VKdSXafZ5Lj5sylvgbZNsHULHuEFVFrYHv1EnmfHLStWsztPmmvNnrm5a1s2iR43fLlvE+q0y7PKTI0Fpc4Lg\/UIiKs1EO7XBlrtk1Y\/BLG\/K0\/mceA9VWbJ0EkdHJcqrfU1x7QknOGflHv6dFCr3naLadlsaSaKhOufo5w5ep0+q1bWhrQ1oAAGAByVj7MbczLD7tVz4RwvPi\/Y+oiKs1BERAEREAREQGYsf+YXny+606zFj\/zC8+X3WnU57mbovcfm\/UIiKBpCIiALM7Rv7DaSxyxkte+Uxu0nBLS5ox4bytMsxdSKnba107BqMLDI\/dw4n2\/UKdPczdK7iXivU06IigaSm2roRXWCoAbmSEdqw44Y4\/plSbFWm4WWlqXO1PczDyf\/AENx\/UKe5oc0tcAQRgg81lbA59jvtRY5yeylPa0xPP8AgHq1WLMbcjLP7dZS4PH54GrVPtLdha7Y4RuPxU4LIGjjnmfLPrhW7nBrS5xAAGSTyWVtLXbR36S71EZ+EpTopQQQCQch3iOPiR0XIJbvZEq83ZQju\/jZbbPWk2m2CKUh1RI4yTOznLj39w91YzSGKCSQMLyxpcGtBJdgcBhdEUW7u7LYwUIqMeBXWq90l21shJZNGT2kL\/qbg48D5KxWY2ghFru9HfIm4brDKgNB3jB+Y454yOHRaYEEZByCuyS3RXSnJtxnuj6vhIAyTgBVNy2mtlse6GSUyzjd2UQ1HPfyCqHNve1MgZLC63W3i4O+qQefH0x4rqg93hHJ9Iinpjl8l78jVxzRS6uzkY\/SS12lwOCOIK9rFmOv2bvFVBbqKaeKoi\/2MuLsuAGXEZ7ndClWbzZjR3eurXlz3hk8I+ZrRknAxu4Z9uSl1fJlX1TSeqLxvyRtF5D2Oc5gcC5v1AHePFZy83x9ZPDarNKJZaj+7LGc6GHoeRxz5eKi1do\/0yaW5U9TI8RvDap0jzh7eH0j9N\/RcUOZOXSLN6VdLdlxbrPLR3y4XB8rCypI0NbnI65Vuo0FwoqljHw1UTw\/6cPG9SVBtt5LqcYxVo\/LhERcLAiIgPEsrIYnyyODWMaXOceQHErNbMMdcrtX32RgxI\/soTjkMewAz4r5f66a71w2etzhqJzUS53NA4j9\/RaKio4aCjipYG6Y4xgD7n1Vndj4syX62rjux9f4d0RFWawqLam3yVFEyupRironCRhA3kDiPfyV6oN4ucVot0lVIRkDEbT+Z+NwUotp4Kqyi6bUtjNXLaF99t9Nbbcz+rrBiZvJgGcjJ8M+C1VvoYbbQxUkDQGxtAJxjUeZPeViKSluNkEO0b4GuZMXGaEM0mNrjxxyzy6bluqSqiraWOpgdqjlbqaVZUVlZbGXosnKTlU73t\/eJ2REVJvIV3tzLpbpaZ4BcRqYSODhwKofwraSubHRz1jKOlhHZl0J+aQDcDu6jHQd3JatFJTaKKlCM3d\/6Vls2et1rw+GHXNzmk+ZxPt5KzRFxtvctjCMFaKsFznghqYjFPEyWN2MseMg4OeC6IuEmrkG3WehtTSKOAMLtznHe4jOePmpcsUc0TopWB7HjDmuGQQvaLrbeSKjGK0pYKSbZCzTTmb4d0bi7UQyQgE5zw5eSu0RG29zkacIX0q1wiKJXXShtsZfV1LI8flJy4+A4riVyTkoq7ZLWZuu0M9VVG02IdrUu3PmH0xjng+\/uo8tZdtqXmnoGPorcTh1Q4Yc8fzkPMrQ2u00topRBSsxn63n6nnqSrLKO+5lc5V8QxHnz8v2cLJZIbNTkA9pUSb5Zjxcf2VoiKDbbuzTCEYR0x2CIi4SCyVSRtTtKymaCaC3nMpwMPdnh4HGPI9VZbVXV1ttfZw\/8mqPZxgcR1I\/nEhSbDamWi1xU+kdqRqlcObj393DyVkeytRkqfdqdVwWX7IsJI2SxujkaHMeC1zSNxB4hZJ0dw2PnkfTROq7U86nN\/NF\/OvBa9eXNa9hY9oc1wwQRkEKMZWLatLXZp2a2Zyo6yCvpI6qmfrjkGQfYrus5Q2Sts16YLe7VbZsmVj3fQe7fvPDf3b1o0kkng7SlKUe2rNfMBERRLQiIgCIiAIiICvuN8t1qe2OsqND3DUGBpJI67h3FU7tsnVYcy1WqpqXjdqc3cD34z39Ffz26iqphNUUsU0gAAc9odgDOOPiVIDQ0YaAB0CmnFcDPKFaTxKy8smXdTbW3QYmqIbdEeLYz82M9Rk\/qFLt+yNvpJTPUl9bOTnXNvGfD98q+RHN7LAj0aF7yy\/HJ8AAGAMAL6iKBoCIiALxLKyGJ8sjg1jGlznHkBxK9rObU1T6p1PYqR47eseO0x+Rg37\/AL+AKlFXdiurU6uDl8uRrNDJtFepL3VN\/poHaaaMk7nDG\/38T3LWLjSUkNDSR0sDdMcYw0ZyuySldkaNPq453e\/mERFEuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgOVTUR0lNLUzO0xxNLnHuCzmykE1fU1N+q8l87iyEE50tzvx3cvI9VcXq1m8UHwnxDoGl7XOLRnUBy\/nRTKeCOmp44ImhrI2hrQBhTTSj4meUJTqpvZev8ADoiIoGgIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "SERVICIOS INTEGRALES RODRIGO LASTRA GOMEZ E.I.R.L",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "RODRIGO LASTRA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56979898873",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28650\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "09:59",
    "ubicacionGPS": "LatLng(lat: -22.4683945, lng: -68.9342403)",
    "horaLlegada": "09:56",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 09:59:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76844171

[12/05/2026 09:59: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('76844171', 'EP2267', 1, 21773342, 96448, NOW(), 
				'08:00', '09:56', '09:59', 10, '02 itin 1940', -1, 
				'', '','1','181118',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778594395.png', '', null, 'COMPLETADO','LatLng(lat: -22.4683945, lng: -68.9342403)' )
				
[12/05/2026 09:59:55] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200270
[12/05/2026 09:59:55] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200270', 'EPS-I302', 2)
				
[12/05/2026 09:59:55] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28650 and
				    IDproducto = 'EPS-I302'
				

12/05/2026 09:59:55 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I302';
                
12/05/2026 09:59:55 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200270'                    
				WHERE idllamado = 12535			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


12/05/2026 09:59:56 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12535			
				
12/05/2026 09:59:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 09:59:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12535
                
12/05/2026 09:59:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12535
                
12/05/2026 09:59:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12535
            GROUP BY l.idllamado;
            
12/05/2026 09:59:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12535
                
12/05/2026 09:59:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12535
                
12/05/2026 09: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 = 12535
                
12/05/2026 09: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 = 12535
                [12/05/2026 09:59: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/05/2026 09:59:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12535
            GROUP BY l.idllamado;
            
12/05/2026 09: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 = 12535
                [12/05/2026 09:59: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/05/2026 09:59:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12535
            GROUP BY l.idllamado;
            
12/05/2026 09: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 = 12535
                
12/05/2026 09: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 = 12535
                
12/05/2026 09: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 = 12535
                [12/05/2026 10:00:06] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/05/2026 10:00:06] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[12/05/2026 10:00: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;
                
[12/05/2026 10:00: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;
				
[12/05/2026 10:07:57] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 10:07:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            [12/05/2026 10:11:42] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[12/05/2026 10:11:42] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/05/2026 10:11: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;
                
[12/05/2026 10:11:46] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 10:11:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            [12/05/2026 10:11:52] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12543
            GROUP BY l.idllamado;
            [12/05/2026 10:11: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;
                
[12/05/2026 10:11:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 10:17: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/05/2026 10:18:08] 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/05/2026 10:18: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/05/2026 10:19: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/05/2026 10:19:26] 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/05/2026 10:19: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/05/2026 10:20: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/05/2026 10:20:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 10:20:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 10:20:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        [12/05/2026 10:20: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/05/2026 10:20:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 10:20:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 10:20:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 10:20:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 10:20:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 10: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 = 12533
                
12/05/2026 10: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 = 12533
                
12/05/2026 10: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 = 12533
                
12/05/2026 10:20:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 10:20:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [12/05/2026 10:20: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/05/2026 10: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 = 12533
                
12/05/2026 10: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 = 12533
                
12/05/2026 10: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 = 12533
                
12/05/2026 10:20:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 10:20:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 10:20:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 10:20:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/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 = 12533
                [12/05/2026 10:20:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/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 = 12533
                
12/05/2026 10:20:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 10:20:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [12/05/2026 10:20:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 10:20:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 10:20:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/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 = 12533
                
12/05/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 = 12533
                [12/05/2026 10:20: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/05/2026 10:20:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 10:20:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 10:20:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 10:20:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/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 = 12533
                
12/05/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 = 12533
                
12/05/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 = 12533
                
12/05/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 = 12533
                [12/05/2026 10:22:23] 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/05/2026 10:22: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/05/2026 10:22:27] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 10:22:31] 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/05/2026 10:22:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12534
            GROUP BY l.idllamado;
            
12/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12534
            GROUP BY l.idllamado;
            [12/05/2026 10:22:54] 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/05/2026 10:22:56] 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/05/2026 10:22:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            [12/05/2026 10:22:58] 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/05/2026 10:23:43] 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/05/2026 10:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            
12/05/2026 10:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            [12/05/2026 10:23:44] 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/05/2026 10:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            [12/05/2026 10:23:44] 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/05/2026 10:34:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12543
            GROUP BY l.idllamado;
            [12/05/2026 10:34: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;
                
[12/05/2026 10:34: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/05/2026 10:34: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;
                
[12/05/2026 10:34: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;
                

12/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            [12/05/2026 10:34:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 10:55:32] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[12/05/2026 10:55:32] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/05/2026 10:55: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;
                

12/05/2026 10:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                [12/05/2026 10:55: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/05/2026 10:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            
12/05/2026 10:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            
12/05/2026 10:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            [12/05/2026 10:55: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/05/2026 10:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 10: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 = 12541
                
12/05/2026 10: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 = 12541
                [12/05/2026 10:55:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 10:55:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            
12/05/2026 10:55:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            
12/05/2026 10:55:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            [12/05/2026 10:55:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 10:55:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            
12/05/2026 10: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 = 12541
                
12/05/2026 10: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 = 12541
                
12/05/2026 10:55:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 10:55:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 10:55:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 10:55:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:41:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            [12/05/2026 11:41:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 11:41:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12543
            GROUP BY l.idllamado;
            [12/05/2026 11:41:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 11:41: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;
                
[12/05/2026 11:41: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;
                

12/05/2026 11:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
12/05/2026 11:41:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
12/05/2026 11:41:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            [12/05/2026 11:41: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;
                

12/05/2026 11:41:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                
12/05/2026 11:41:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                
12/05/2026 11:41:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            [12/05/2026 11:41:35] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 11:44: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;
                

12/05/2026 11:44:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12543
            GROUP BY l.idllamado;
            [12/05/2026 11:44: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;
                
[12/05/2026 11:44: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;
                
[12/05/2026 11:44:26] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[12/05/2026 11:44:26] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/05/2026 11:44: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;
                
[12/05/2026 11:44: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;
                

12/05/2026 11:44:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            [12/05/2026 11:46:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 11:47:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12553
            GROUP BY l.idllamado;
            [12/05/2026 11:47:00] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 11:47:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12553
            GROUP BY l.idllamado;
            [12/05/2026 11:47:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 11:47:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12553
            GROUP BY l.idllamado;
            
12/05/2026 11:47:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:47:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:47:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:47:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12553
            GROUP BY l.idllamado;
            
12/05/2026 11:47:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:47:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12553
            GROUP BY l.idllamado;
            
12/05/2026 11:47:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:47:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:47:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:47:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:47:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12553
            GROUP BY l.idllamado;
            
12/05/2026 11:47:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:47:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:47:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:47:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:47:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12553
            GROUP BY l.idllamado;
            
12/05/2026 11:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:47:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12553
            GROUP BY l.idllamado;
            
12/05/2026 11:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:47:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12553
            GROUP BY l.idllamado;
            
12/05/2026 11:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:47:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:47:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:47:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12553
            GROUP BY l.idllamado;
            
12/05/2026 11: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 = 12553
                
12/05/2026 11: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 = 12553
                
12/05/2026 11:47:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12553
            GROUP BY l.idllamado;
            
12/05/2026 11: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 = 12553
                
12/05/2026 11: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 = 12553
                
12/05/2026 11:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11: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 = 12553
                
12/05/2026 11:48:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12553
            GROUP BY l.idllamado;
            
12/05/2026 11: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 = 12553
                
12/05/2026 11:48:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12553
            GROUP BY l.idllamado;
            
12/05/2026 11: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 = 12553
                
12/05/2026 11: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 = 12553
                
12/05/2026 11: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 = 12553
                
12/05/2026 11: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 = 12553
                
12/05/2026 11:48:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12553
            GROUP BY l.idllamado;
            
12/05/2026 11:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:48:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12553
            GROUP BY l.idllamado;
            
12/05/2026 11:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:48:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:48:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:48:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12553
            GROUP BY l.idllamado;
            
12/05/2026 11:48:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11: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 = 12553
                
12/05/2026 11: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 = 12553
                
12/05/2026 11:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12553
            GROUP BY l.idllamado;
            
12/05/2026 11:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12553
                
12/05/2026 11:48:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12553
            GROUP BY l.idllamado;
            
12/05/2026 11: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 = 12553
                
12/05/2026 11:48:22 - logentry: =========================================
FECHA: 12/05/2026 11:48:22
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-mVZtkKoCweVdtMGOiBlV_-wufwezkSdovoL4U_nq6DMsaOlyxTP
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2518",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "432766",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se cambia rodillo de transferencia\n•Se cambian gomas de bandejo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12553",
    "observacion": "•Pendiente cambio ambas gomas de ADF",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADrAFgDASIAAhEBAxEB\/8QAGwABAQEBAAMBAAAAAAAAAAAAAAYFBAECBwP\/xABBEAABAwMBBAYGBwYGAwAAAAABAAIDBAURBhIhMUETUWFxgZEUIjKhscEHFSNCYoKiFiQzUrLRJUNywtLxU+Hi\/8QAGgEBAAMBAQEAAAAAAAAAAAAAAAIDBAEFBv\/EAC4RAAIBAgQEBAYDAQAAAAAAAAABAgMRBBIxQRMhUXEiMoGxBWGhwdHhIzPwkf\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIDnr62O3UM1XN7ETdrHWeQ8TgLK0tdKy701VU1IAZ0xEQA4DHDtxu5dawNcXV89WLfC49DBjpSOBed4B7h8+pVWn6L0Cx0sBbsv2Np4\/Ed5+OPBWuKjC71ZijVdTEOMdI+5pIiKo2hERAEREAREQBZ1+uYtNpmqcjpMbEQPN54eXHwWipW85vOqqO07AfBTDpp\/jg9mMD8ynBXfMorzcYeHV8l6mJDa2vq7VQyjM9W81M+RlwYd4B3dQcfE7l9FUtp\/8AxPUtyuriXMiPQxZxw\/6HvVSpVXd2KcHBRi5Ld\/RcgiIqjaEXB9dUH1qbYZsVIHsuaQM9WTzxvXeutNakYyjLRhERcJBERAek0rIIXzSHZZG0uceoDeVD2+sfS2W636R+xUVkhjh9bJBPV3Z\/T572sK30PT8rWuw+oIiG\/kePuB81hwULrldqGzbB9EtkYdUZGA553uHid3mVfTXhuzzsTNuoox1Xu\/wrso9M2822xwROx0kg6V+Os8vAYHgtZEVLd3c3QgoRUVsERFwmR+trQ4bN5pvVfHgS7O4\/hd4bh5LQ0xqRl3hFNOQysjbv6pB1jt6wtyeCOpgkglbtRyNLXDrBXzf0OotVdUCJ2Ku2vErN26SPO\/4g9xPUr42nHK9jzK2bD1uJHR6n0xFy26viuVBFWQ+zIM4PFp5jzXS5wa0ucQABkk8lRax6SaaujyizbTfKW8GYU+0HQkBwdjf2jHLctJdaadmcjKM1mi+RE63rwy6UVPxEA6ZwB4kncPd71taUtrqG1dPMP3msPSyHG\/B4D358SpyWmN\/1zNE\/fFE8h+7g1m49fP4q+a0NaGtAAAwAOStm7RUTBho8StOq+tkeURFSeiEREAUvq6ikgfDe6Zu1JB6kzOT4znj2byD2HsVQvSWJk0T4pGhzHtLXNPMHiFKMsruVVqfEg4kjpytZa7r9XB+1RVw6aleeRP3fcR3jtVJeSRZK8g4IppP6SoWtpX291Zbmvc2Wif09K4Zy5hxtDPdsn8pVjJWsuulaipiwOmpZMj+V2yQR5q2a5qRiw9R5JU3tf9r0ZK6Kkkp701jnHZq4HOA6yHHf+lyuK+tjt1DNVzexE3ax1nkPE4ChbY4QVGm6hvFxkhPL\/Mdz\/OuvXd125Y7XE7czEk2Ov7o8t\/iFKcc00VUK3Bwze609UmaOiKPZtstwkGZqqQ+t+EH++VTLis1N6HZqSn5sibtd5GT7yu1UTd5Nno0IZKUYhERRLgiIgCIiAl9ZUT4xT3iBu0+mOxI08HMJ59m8j8y59IVkMdRVWkPPRS\/bU5J34I3jvxjyKrJ4I6mCSCVu1HI0tcOsFfMpelsF4jZIHGSjmDmHhtx5z7\/mVoh445Ty8SuBWVVaPX\/dvYCpNurKSln3\/V9c957ss\/4nzX6R0clwr6GWr3zXGoMjs8o844dvreAGF+2qaeGTU0bmPBZVtjedk7xnd8BnxW5RxMqNdPbE3ENuphGzs3Yx+o+SscrK\/wAjHGk3Nwel0v8AeiKtERYz6AIiIAiIgCIiAKW1vaRU0AuMY+1phh\/4mE\/I\/EqpUxqqWa4VNNYaR2HznbmPHZaOGcefgFZTvmM2LUXRae+nfYimMLaRleZduRk4YGE7wAMg\/ADuKstGfvc9zubmkGonwM8uLsfqCj7tQSWm4T0LnEta4Fp\/mH3T5H4qw0DUxvtk9MGgPjl2yc+0COPuWir5Lo8nB8sQoy29yqREWM98IiIAiIgCIiA8OIa0uOcAZ3DKn9PW6q9PrbrcYtipmkLWA78N7N2R1eCoUUk7JorlTUpKT2I76QIY+ho59n7TaczPWOK5rDUQWy9UToXZprhTMjONwEowDnt2h+tdms2NrLlaaAuLellIcQOAcWj+6k5OnopJqFzyH00xcwjk9pwSO8DPgFpgrwseNiJ8PEOaXT\/tj60i5LXWtuNsp6tp\/isBPYeB94K61kase5FqSTQREQ6EREAREQBERARV0m9I+kKkiJOIDG3H6vmuTXFCaW7R1zPZqB1cHNx8se9fnFMJ\/pB2xw9LLeOeG75Ks1Tb\/rGxTta0GWIdJH3jj7srTfLKPY8fJxqVVrW916GNoG4F8VRb3uz0f2kY7Dud78easV8ssFabVeKWqfnonktdj+U7j5cfJfUgQRkHIKhWjaVzR8PqZqWV6o8oiKk9AIiIAiIgC9ZHtijdI72WAuPcF7LgvsphsVa8HB6BwHiMLqV3YjOWWLZB6Xa6bVNJK\/eZC+Q7Pc75hfSiARgjIKgdNx9Ff7UDxNI93mXlX6trPxGH4erUn3+yPnVTZiK642lseJGZqaTHFw5sHXlvvaqrSdzbcbJGwn7WmAieOwDcfL4FceroTRz0N8iBL6aVrZAObM5\/uPzLkhqIbLqwVDfUoLpG1zHDc0E4OT4+QcpPxxKYJUKz6aej0fo+RZIiLOesEREAREQBYWs5THpudo\/zHMaezeD8luqZ104utNPA32paloA69x+ZCnT8yM+KdqMuxy2WM\/tc2JuC2koI25LfwN8va+KsFL2doGtrrs+y2Nrf6f7KoXampHCq0H3Zz3CkbX2+ekfjErC3JHA8j4HepqwU0F5tL7TdG7ctvn2dkHBAHLPVxHgFWqTrtixaygrfYpq9pZIeQdzP9J80g7po5iElKM3po+z\/AGVTWhjAxvBowN+V7IirNYREQBERAFL6v+0rbNT4\/iVPzaPmqhS94HpGt7TT8mMMnH\/Uf9qsp+a5mxXOnl6tL6nnTv2up75N\/LIGe8j\/AGqnUxo\/16m7znjJU7\/Mnj4qnXKnmGF\/qT6392Fk6ltrblZJ49nMkQMkeBv2gOHiMjxWsiinZ3LpwU4uL3MrTdyFzssMhdmWMdHL\/qHPx3HxWqpSg2bDrCehPqU1wAfF1B2\/d57Q8lVqU1Z8ivDzcoWlquTCIigXhERAFL1LhJ9IVO47hT0pJ8nf8lUKPrZG\/thcJAM+jUDnP7tj\/wCgrKe\/Yy4p2Ue6OnQbT9Tzyu4vqD\/S3\/2qdYGi2Fum4ifvveR54+S31yp5mSwqtRj2CIigaDA1dbXVdsFXBkVFGekYRxxz+GfBaFluTbra4asY2nDEgHJw4ruIBGCMgqTtROntUTWp5xS1nrwZ4A8h8R4BWLxRt0Mk\/wCKqp7S5Pvt+CtREVZrCIiAKFusnRajv7s4zQhvmIx81dL5zqaXo9R3WPBPTRRs3DP\/AIz8ldRV2YMe8tNP5\/ZlhpePotN0Tethd5kn5rWXPQQGlt1NTu4xRMYfAALoVUndtmynHLBR6IIiLhMLC1Xa3V1t9KgyKqj+0jLeJA3ke7PeFuouxdnchUgqkHF7nBZbmy7WuKqaRtkbMjR91w4j5+KLEpGyWDVr6NjCaO4+uwAZ2Hf97u4hFKas+RXQm5RtLVcmVSIigXhQVxo3V30hmAAkdJG52OTQxpPwV6vybS07Kh1S2CMTvGHShg2nDduJ48h5KcJZbmevR4yiujufqiIoGgIiIAiIgPGBnON6LyiA\/9k=",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOHANN GUERRERO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "REVISIÓN",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:48",
    "ubicacionGPS": "LatLng(lat: -22.3452468, lng: -68.888855)",
    "horaLlegada": "11:46",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 11:48:22
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-mVZtkKoCweVdtMGOiBlV_-wufwezkSdovoL4U_nq6DMsaOlyxTP
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2518",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "432766",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se cambia rodillo de transferencia\n•Se cambian gomas de bandejo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12553",
    "observacion": "•Pendiente cambio ambas gomas de ADF",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADrAFgDASIAAhEBAxEB\/8QAGwABAQEBAAMBAAAAAAAAAAAAAAYFBAECBwP\/xABBEAABAwMBBAYGBwYGAwAAAAABAAIDBAURBhIhMUETUWFxgZEUIjKhscEHFSNCYoKiFiQzUrLRJUNywtLxU+Hi\/8QAGgEBAAMBAQEAAAAAAAAAAAAAAAIDBAEFBv\/EAC4RAAIBAgQEBAYDAQAAAAAAAAABAgMRBBIxQRMhUXEiMoGxBWGhwdHhIzPwkf\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIDnr62O3UM1XN7ETdrHWeQ8TgLK0tdKy701VU1IAZ0xEQA4DHDtxu5dawNcXV89WLfC49DBjpSOBed4B7h8+pVWn6L0Cx0sBbsv2Np4\/Ed5+OPBWuKjC71ZijVdTEOMdI+5pIiKo2hERAEREAREQBZ1+uYtNpmqcjpMbEQPN54eXHwWipW85vOqqO07AfBTDpp\/jg9mMD8ynBXfMorzcYeHV8l6mJDa2vq7VQyjM9W81M+RlwYd4B3dQcfE7l9FUtp\/8AxPUtyuriXMiPQxZxw\/6HvVSpVXd2KcHBRi5Ld\/RcgiIqjaEXB9dUH1qbYZsVIHsuaQM9WTzxvXeutNakYyjLRhERcJBERAek0rIIXzSHZZG0uceoDeVD2+sfS2W636R+xUVkhjh9bJBPV3Z\/T572sK30PT8rWuw+oIiG\/kePuB81hwULrldqGzbB9EtkYdUZGA553uHid3mVfTXhuzzsTNuoox1Xu\/wrso9M2822xwROx0kg6V+Os8vAYHgtZEVLd3c3QgoRUVsERFwmR+trQ4bN5pvVfHgS7O4\/hd4bh5LQ0xqRl3hFNOQysjbv6pB1jt6wtyeCOpgkglbtRyNLXDrBXzf0OotVdUCJ2Ku2vErN26SPO\/4g9xPUr42nHK9jzK2bD1uJHR6n0xFy26viuVBFWQ+zIM4PFp5jzXS5wa0ucQABkk8lRax6SaaujyizbTfKW8GYU+0HQkBwdjf2jHLctJdaadmcjKM1mi+RE63rwy6UVPxEA6ZwB4kncPd71taUtrqG1dPMP3msPSyHG\/B4D358SpyWmN\/1zNE\/fFE8h+7g1m49fP4q+a0NaGtAAAwAOStm7RUTBho8StOq+tkeURFSeiEREAUvq6ikgfDe6Zu1JB6kzOT4znj2byD2HsVQvSWJk0T4pGhzHtLXNPMHiFKMsruVVqfEg4kjpytZa7r9XB+1RVw6aleeRP3fcR3jtVJeSRZK8g4IppP6SoWtpX291Zbmvc2Wif09K4Zy5hxtDPdsn8pVjJWsuulaipiwOmpZMj+V2yQR5q2a5qRiw9R5JU3tf9r0ZK6Kkkp701jnHZq4HOA6yHHf+lyuK+tjt1DNVzexE3ax1nkPE4ChbY4QVGm6hvFxkhPL\/Mdz\/OuvXd125Y7XE7czEk2Ov7o8t\/iFKcc00VUK3Bwze609UmaOiKPZtstwkGZqqQ+t+EH++VTLis1N6HZqSn5sibtd5GT7yu1UTd5Nno0IZKUYhERRLgiIgCIiAl9ZUT4xT3iBu0+mOxI08HMJ59m8j8y59IVkMdRVWkPPRS\/bU5J34I3jvxjyKrJ4I6mCSCVu1HI0tcOsFfMpelsF4jZIHGSjmDmHhtx5z7\/mVoh445Ty8SuBWVVaPX\/dvYCpNurKSln3\/V9c957ss\/4nzX6R0clwr6GWr3zXGoMjs8o844dvreAGF+2qaeGTU0bmPBZVtjedk7xnd8BnxW5RxMqNdPbE3ENuphGzs3Yx+o+SscrK\/wAjHGk3Nwel0v8AeiKtERYz6AIiIAiIgCIiAKW1vaRU0AuMY+1phh\/4mE\/I\/EqpUxqqWa4VNNYaR2HznbmPHZaOGcefgFZTvmM2LUXRae+nfYimMLaRleZduRk4YGE7wAMg\/ADuKstGfvc9zubmkGonwM8uLsfqCj7tQSWm4T0LnEta4Fp\/mH3T5H4qw0DUxvtk9MGgPjl2yc+0COPuWir5Lo8nB8sQoy29yqREWM98IiIAiIgCIiA8OIa0uOcAZ3DKn9PW6q9PrbrcYtipmkLWA78N7N2R1eCoUUk7JorlTUpKT2I76QIY+ho59n7TaczPWOK5rDUQWy9UToXZprhTMjONwEowDnt2h+tdms2NrLlaaAuLellIcQOAcWj+6k5OnopJqFzyH00xcwjk9pwSO8DPgFpgrwseNiJ8PEOaXT\/tj60i5LXWtuNsp6tp\/isBPYeB94K61kase5FqSTQREQ6EREAREQBERARV0m9I+kKkiJOIDG3H6vmuTXFCaW7R1zPZqB1cHNx8se9fnFMJ\/pB2xw9LLeOeG75Ks1Tb\/rGxTta0GWIdJH3jj7srTfLKPY8fJxqVVrW916GNoG4F8VRb3uz0f2kY7Dud78easV8ssFabVeKWqfnonktdj+U7j5cfJfUgQRkHIKhWjaVzR8PqZqWV6o8oiKk9AIiIAiIgC9ZHtijdI72WAuPcF7LgvsphsVa8HB6BwHiMLqV3YjOWWLZB6Xa6bVNJK\/eZC+Q7Pc75hfSiARgjIKgdNx9Ff7UDxNI93mXlX6trPxGH4erUn3+yPnVTZiK642lseJGZqaTHFw5sHXlvvaqrSdzbcbJGwn7WmAieOwDcfL4FceroTRz0N8iBL6aVrZAObM5\/uPzLkhqIbLqwVDfUoLpG1zHDc0E4OT4+QcpPxxKYJUKz6aej0fo+RZIiLOesEREAREQBYWs5THpudo\/zHMaezeD8luqZ104utNPA32paloA69x+ZCnT8yM+KdqMuxy2WM\/tc2JuC2koI25LfwN8va+KsFL2doGtrrs+y2Nrf6f7KoXampHCq0H3Zz3CkbX2+ekfjErC3JHA8j4HepqwU0F5tL7TdG7ctvn2dkHBAHLPVxHgFWqTrtixaygrfYpq9pZIeQdzP9J80g7po5iElKM3po+z\/AGVTWhjAxvBowN+V7IirNYREQBERAFL6v+0rbNT4\/iVPzaPmqhS94HpGt7TT8mMMnH\/Uf9qsp+a5mxXOnl6tL6nnTv2up75N\/LIGe8j\/AGqnUxo\/16m7znjJU7\/Mnj4qnXKnmGF\/qT6392Fk6ltrblZJ49nMkQMkeBv2gOHiMjxWsiinZ3LpwU4uL3MrTdyFzssMhdmWMdHL\/qHPx3HxWqpSg2bDrCehPqU1wAfF1B2\/d57Q8lVqU1Z8ivDzcoWlquTCIigXhERAFL1LhJ9IVO47hT0pJ8nf8lUKPrZG\/thcJAM+jUDnP7tj\/wCgrKe\/Yy4p2Ue6OnQbT9Tzyu4vqD\/S3\/2qdYGi2Fum4ifvveR54+S31yp5mSwqtRj2CIigaDA1dbXVdsFXBkVFGekYRxxz+GfBaFluTbra4asY2nDEgHJw4ruIBGCMgqTtROntUTWp5xS1nrwZ4A8h8R4BWLxRt0Mk\/wCKqp7S5Pvt+CtREVZrCIiAKFusnRajv7s4zQhvmIx81dL5zqaXo9R3WPBPTRRs3DP\/AIz8ldRV2YMe8tNP5\/ZlhpePotN0Tethd5kn5rWXPQQGlt1NTu4xRMYfAALoVUndtmynHLBR6IIiLhMLC1Xa3V1t9KgyKqj+0jLeJA3ke7PeFuouxdnchUgqkHF7nBZbmy7WuKqaRtkbMjR91w4j5+KLEpGyWDVr6NjCaO4+uwAZ2Hf97u4hFKas+RXQm5RtLVcmVSIigXhQVxo3V30hmAAkdJG52OTQxpPwV6vybS07Kh1S2CMTvGHShg2nDduJ48h5KcJZbmevR4yiujufqiIoGgIiIAiIgPGBnON6LyiA\/9k=",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOHANN GUERRERO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "REVISIÓN",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:48",
    "ubicacionGPS": "LatLng(lat: -22.3452468, lng: -68.888855)",
    "horaLlegada": "11:46",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 11:48:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[12/05/2026 11:48: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('76050301', 'KY2518', 1, 24456550, 432766, NOW(), 
				'08:00', '11:46', '11:48', 4, '•Se cambia rodillo de transferencia
•Se cambian gomas de bandejo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778600902.png', '•Pendiente cambio ambas gomas de ADF', null, 'REPROGRAMADO','LatLng(lat: -22.3452468, lng: -68.888855)' )
				
[12/05/2026 11:48:22] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200271

12/05/2026 11:48:22 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200271'                    
				WHERE idllamado = 12553			
				
12/05/2026 11: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 = 12553
                TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


12/05/2026 11:48:23 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 12553			
				
12/05/2026 11:48:23 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('76050301', 'KY2518', 1, 'APP', 'sin otroTipo definido', -1, 'Sin otrafalla definida', 'REVISIÓN', '1', 'SI', now(), 'JOHANN GUERRERO', '984818954', 'tecnico@dsprint.cl', 12553)
				
12/05/2026 11:48:23 Insertado nuevo llamado creado idllamado: 12554APP
12/05/2026 11:48:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 11: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 = 12553
                
12/05/2026 11: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 = 12553
                
12/05/2026 11:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12553
            GROUP BY l.idllamado;
            
12/05/2026 11: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 = 12553
                
12/05/2026 11: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 = 12553
                
12/05/2026 11: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 = 12553
                
12/05/2026 11: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 = 12553
                
12/05/2026 11: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 = 12553
                
12/05/2026 11: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 = 12553
                
12/05/2026 11: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 = 12553
                
12/05/2026 11: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 = 12553
                
12/05/2026 11:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12553
            GROUP BY l.idllamado;
            
12/05/2026 11: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 = 12553
                [12/05/2026 11:48: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;
                
[12/05/2026 11:48: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;
                

12/05/2026 11:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12553
            GROUP BY l.idllamado;
            
12/05/2026 11: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 = 12553
                
12/05/2026 11: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 = 12553
                
12/05/2026 11: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 = 12553
                [12/05/2026 11:49: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/05/2026 11:49: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/05/2026 11:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12552
                
12/05/2026 11:50:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12552
            GROUP BY l.idllamado;
            [12/05/2026 11:50:02] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 11:50:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12552
            GROUP BY l.idllamado;
            
12/05/2026 11:50:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12552
            GROUP BY l.idllamado;
            [12/05/2026 11:50:02] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 11:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12552
                [12/05/2026 11:50: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/05/2026 11:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12552
                
12/05/2026 11:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12552
                
12/05/2026 11:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            [12/05/2026 11: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;
                

12/05/2026 11:50:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            [12/05/2026 11:50: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/05/2026 11:50:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            
12/05/2026 11:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:52:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            
12/05/2026 11:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            
12/05/2026 11:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:52:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:52:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            
12/05/2026 11:52:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:52:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:52:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:52:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:52:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:52:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            
12/05/2026 11:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:53:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            
12/05/2026 11:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:53:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            
12/05/2026 11: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 = 12541
                
12/05/2026 11: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 = 12541
                
12/05/2026 11: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 = 12541
                
12/05/2026 11: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 = 12541
                [12/05/2026 11:55:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 11:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 11:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 11:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 11:55:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 11:55:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 11:55:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 11:55:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 11:55:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 11:55:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 11:55:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 11:55:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [12/05/2026 11:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 11:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 11:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 11:55:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 11:55:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 11:55:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 11:55:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 11:55:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 11:55:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [12/05/2026 11:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 11:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 11:55:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 11:55:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 11:55:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 11:55:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 11:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 11:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 11:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                [12/05/2026 11:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 11:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 11:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 11:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 11:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 11:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                [12/05/2026 11:55:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 11:55:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 11:55:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 11:55:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 11:55:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 11:55:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 11:55:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 11:55:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 11:55:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 11:55:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        [12/05/2026 11:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 11:55:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 11:55:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/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 = 12533
                
12/05/2026 11:55:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/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 = 12533
                [12/05/2026 11:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/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 = 12533
                
12/05/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 = 12533
                
12/05/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 = 12533
                
12/05/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 = 12533
                
12/05/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 = 12533
                
12/05/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 = 12533
                
12/05/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 = 12533
                
12/05/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 = 12533
                
12/05/2026 11:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 11:55:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 11:55:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 11:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 11:55:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 11:55:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 11:55:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 11:55:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 11:55:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 11:55:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 11:55:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 11:55:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 11:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 11:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 11:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 11:55:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 11:55:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 11:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 11: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 = 12533
                
12/05/2026 11: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 = 12533
                
12/05/2026 11:55:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 11:55:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 11: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 = 12533
                
12/05/2026 11: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 = 12533
                
12/05/2026 11: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 = 12533
                
12/05/2026 11:55:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 11:55:39 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 11: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 = 12533
                
12/05/2026 11: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 = 12533
                
12/05/2026 11: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 = 12533
                
12/05/2026 11:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:58:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            
12/05/2026 11:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:58:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            
12/05/2026 11:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:59:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            
12/05/2026 11:59:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:59:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:59:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 11:59:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 12:00:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            
12/05/2026 12:00:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 12:00:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 12:00:12 - logentry: =========================================
FECHA: 12/05/2026 12:00:12
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-.pTCf61ewC17nSwRvw.XmycFHMvIp9QqCl4NSUgzTZbt8sOO7cq
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "6508799",
    "serieinterna": "KY2239",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "485423",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\ncambio de bandejas 1y2\nsalen con manchas al costado",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12541",
    "observacion": "Requiere:\nunid. de Fusión y\nUnid. de Imagen",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADJAM4DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABGEAABAwMCAgYFCAcFCQAAAAABAAIDBAURBiESMRNBUWGRoSJxgbHBFBUjMjZC0fAkUnJzgrLhFmKSwvEHJTM0Q1NlotL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIDBgQFBAMBAAAAAAAAAQIDEQQhMRIiQVFhgTJxobETkcHR8DNCRIJScuHx\/9oADAMBAAIRAxEAPwD+zIiIAiIgCIiAyNQXmS0RU4gibNPUS8DI3HGR\/qR4rnguFXNrSeh6X9Hhpw50fVk8Jz5rln\/3pryKL60Nvj4yOY4ufvLfBNNu+VakvVXsWh\/RtPaMnHk0K6yUex57qSnVSTy2rfJZ+pUoiKk9AIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAvxzg1pc4gADJJ6l+rOv9SaSw1kwOCIi0HsJ2HvXUruxGctmLlyMTS8ocLvfJgeF73EHl6Iy4+8eC6NDwFtmkqX5L6iZziT1429+Vwyn5r\/ANnbG8n1IHPbPGc\/yqks1KKKzUlPjBZEOL9o7nzJVs3k\/wA0MGHjvxT4K\/dnciIqT0QiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCmtbyu+aoKRg9Kpna3flgf1wqVTGoP0rVNloxvwOMxA7M5\/yHzU6fiM2K\/Sa52XzZ56lhbLV2WzN3Y6QF3UOEYHu4lVqXpiLhr6ebmyhh4GnPXy\/zO8FULs9EjmHzlOfW3yyCIirNQREQBERAEREAREQBERAEREAREQBERAEREAREQBSNRWQx69mnqXtYyipdi5wH3c7d\/pHZad81ALe9tFRx\/KLhLsyMbhues\/gompifN86Vdxdx1cMjY8AgDjJIPLsDTy7FfThxZ5uLrpNRjm079Mka+mtQW6gbWT10xbUVcxe4NYTgbnn6yVT0morTXO4YK1nEBkh4LPeAvi0WajprVTRyUkDpejBe4xgkkjfchfldpi01sDmfI44Hkei+FvCWn2c1GTg2WUoYinTSVn8\/c10UnBXV+mK6KiukzqmhlOI6k59HuOeWOzJ2VW1wc0OaQQRkEdahKNjTSqqpdaNao\/URFEtCIiAIiIAiIgCIiAIiIAiIgCLwrKyCgpJKqpfwRxjJPwCzbBcq+7dNVzQMho3HFOPvHHMntXdl2uVupFTUOLNlERcLAsbUN7NsijpqZnS1tUeGJgPLO2T7TstGvrYrfQzVc31Im8WO09Q9pwFgaaoX188moK8cU07j0DSc9G3cbe4d3rU4peJmetOTapw1fouZ2WDT7LYz5TUfS10u8khJdw56gT71F2\/N0vUVK3dk9YZnnrIG\/L1cXiv6XM\/o4JH5xwtJz2bKJ0DQiSrqK53\/AEm8Dd+s\/wBB5+FkJZSkzHXorbp0o6Z\/QukRFQeoc1fQwXKjkpahvEx49oPUQsHTNZNQ1s2nqw5fT5ML\/wBdvP3HPj2KnU3q+jcyGG802G1NE5pz2tzy8T5lWQd91mWvFxtVjqteqKRFz0FWyuoIKphGJWB2x5HrHiuhVmlNNXQREQ6EREAREQBERAEREAXnNNHTwvmmeGRsGXOcdgF9Oc1jC97g1rRkknAAUhLLPrG6mmhc+O00zvpHjbpD\/Xq7Bv3KUY38imrV2EkldvRH62OfWVyEsjXxWmncQ0ZIMp\/PgFXNa1jAxjQ1rRgADAAXzDDHTwshhYGRsGGtaNgF6JKV\/IUqWxdvNvVhEXHdrgy12yasfgljfRafvOPIeK4lfItlJRTbMK8CS\/3+KzwyYpaXElVgkZ5beHLvJ7FUNaGtDWgAAYAHUsDSFA6G2mvqATU1rjI5zsZIJ28eftVApTfBcDPh4tp1Jay9uBmairfkFiqpgfSLOBnrdt8c+xceiowzTkTg3Bke9xOOe+Pgs7Xc75jS2+IZdh87x3NB38A5a2kPsvR\/x\/zuUmrUymM9vFtcl9jaREVRvC8qmnZVUstPJ9WVhYdu0YXqiHGrqzJvRlRI2jqLbPkS0Upbhx5A\/wBQfFUil6fNBr+eIZayth4wOonGc\/8Aq7xVQp1Nb8zPhnubL4Nr87BERQNIREQBERAEREAX4SAMk4AX6pa8XKovdU6yWh2WnapqB9VresZ\/OeSlGN2VVaqpq\/HguZ51tbU6pr3Wy3uMdBGf0ioH3+4d3Z28+SpaKip7fSspqaMMjYNh2957152u2U9pomU1O3AG7ndbz1krsXZSvktCFKk1vzzk\/wAsgiIoGgKW1KPnW+W6ytBczi6afB5N+GwPiFUqW0s1tyu1xvThnjk6OInqHXz7uFWQyvLkZcRvbNPm\/RZsqGtDWhrQAAMADqX6i47rWi32upqzzjYS3lz5DzwoJXZpk1FNvgSrwbldb\/cOcVNSyQxkDbPCRz9h8VuaQ+y9H\/H\/ADuWdZ6M0uhayR4xJUwSyknmRwkDyGfatHSH2Xo\/4\/53K6b3Wup5+HTVRN6tN\/No2kRFQeiEREBManBpL3aLiNg2To3nONs\/gXKnU3rqIvsbJQDmKdrsjq2I+IVBDIJoI5QQQ9ocCO8KcvCmZqeVaa8n+fI9ERFA0hERAEREARFhajvj6FraCgBkuFRsxrRngHae\/s8V1Jt2RCpUjTjtSPDUF4nlmFltOX1ku0j2n\/hDr36j7vWtOy2eCzULaeLDnneSTGC8\/h2Lx0\/Y2WekJkIkq5d5pM5yewd3vWupSatsoppU5OXxKmvsvzUIiKBpCIiA4L5U\/JLJWT5ALYiBntOw8yuTSNN8m05T5+tLmQ+07eWFza4mMdhEYzmaZrcA8+Z+C3qWEU1JDAMYiY1gx3DCs0gZlvYh9F7\/APh6qY1i99UaGzwuw+rlBccZwBt8c+xU6l7afnbWdZXbOhoW9FGQes7f\/Xj48hk78hid6Kp\/5O3bibF0iZBp2shjHCyOke1o7AGEBcukPsvR\/wAf87l3XgF1lrmjcmmkA\/wlcGjyDpilA6i8H\/G5d\/Z3GmIX+r90baIirNIREQGPquPpdNVgxnDWu8HArosMpmsNC88+gaPAY+C89SfZ2t\/dFNN\/Z2i\/dBT\/AGdzN\/J\/r9TUREUDSEREARFmXy9w2Wk6Rw6SeTaKIHdx\/BdSbdkRnOMIuUtDy1DfG2imEcI6Ssn9GGMbn9oj85K89PWN1Cw11celuFR6T3u3LM\/d\/FeVjskxqPni7npK2XdjHDaEert9yoVNtJbKM9OEqkviT7Ll18wiIqzUEREAREQExqsGoulmowD6c\/ESOoZb8MqnUxfPthZvb71TqyXhRmo51Kj6r2OO61ot9rqas842Et5c+Q88LM0dRuprG2aTJkqnmVxJycch5DPtXPq6U1c9DZYiOKplDn78m5x+PgqWONkUbY428LGANaOwBHlDzOLfrt8Iq3dnnVR9NSTRfrxub4hYWhpC\/T\/CTngmc0d3I\/FUamNE\/RQ3ClOMxVJyByG2PguLwM7PKvB9H9CnREUDSEREBl6k+ztb+6Kab+ztF+6C+dUOLdN1pH6gHmF66fAbp+hA\/wCy0+Sn+zuZv5P9fqaKIigaQiLwrKuCgpZKmoeGRxjJPwHehxtJXZ5XS6U9ponVVQdhs1oO7z2BYlmtdRdK9t\/uww44NNB1MHUfiPFeFFST6ruDbpXsMdBCSKeA\/f7z3dvbjHUq5WPcVlqZYp15bcvCtOvX7BERVmsIiIAiIgCIiAmL7tq+zE7AkjPtVOpjVX0d5sc46qjB9XE3+q09R3AW2yVEwfwyPHRx\/tH+mT7FY1dRMkJKEqrfDP0MqygXbVVfdSQ6Kn+hhOPZnwB\/xKpWTpm3m22OCJ2OkkHSvx2nq9gwPYtZcm7vIsw8XGnd6vN9wpiykUus7vSZx0oEvuP+dU6l6z9D1\/STYLWVUPAXdRdgjHk1dhxRHEZOEuT98ioREVZpCIiAxNYPDNM1Q4sFxYB3+mPhld9nYY7LQsLeEtp4wR2HhGVja4e42qCmZ9eeoa0Z7MH44VHGxsUbY2\/VYAB6gpvwIzRzxEnySXufSIvGrq4KGmfU1MgjiYMklQNDaSuxV1cFDTPqamQRxMGSSpOCGr1jXiqqA+C1wO+jjBwZD+PaerkOspDDV6yrhU1IfBaoXfRx5wZD+eZ6uQ6yq+KKOGJsUTAxjBhrWjAAVvg8zGr4l3fg9\/8Ah+xxsijbHG0NY0YDQNgF9IiqNoREQBERAEREAREQE3raJwtcNZGBx00zXA9mf64XJcKiPUmoqCghaJKWFonmPUcgHHqxgfxLd1EITp+t+UO4WdEd\/wC993zwsXQMNOKComa7NQ6TheP1WgbfH8hXRdoX5HnVYt4jY4Ss32+5WIiKk9EKY1ox0MVDcox6dLOOXYd\/e0eKp1wXuiNws9TTNGXuZlg\/vDceYUoO0kymvBzpNI7WPbJG2Rjg5rgC0jrC+li6UrjW2KIOGJKf6F2Tvty8sLaXGrOxOnNTgpLiERFwmS+oCKzU9ot2chrule0de+d\/Y0qoUtaT846zuNcHcUdO3omEDbPLn7D4rZu16o7PTmSofl5HoRNPpP8Az2qySeUUZKMklOrJ5N+iyOitrae30r6mpkDI2Dc9vcO9TFLSVOrqwV1e10VtjJ6GDOOk\/PWfYF6UlsuGo6qOvvI6KjaeKGl5Z9f539SqmtDWhrQAAMADqS+xpqcUXiHeWUeXPz6dD5iijhibFEwMYwYa1owAF9oirNgREQBERAEREAREQBERATV+p629XWK0CN8NEzEsk2Pr9wPL2Hr3XM9kel9UtlA6O31zeEn7sbv9fInsVcuO6Wunu1E6lqBsd2uA3Ye0KxT4PQyVMO3ecXvXuvt5HWCCMg5BX6pS23aewT\/NV8eRE3\/l6nBIcOzP5wqlrmvaHMcHNPIg5BUZRaLqVVVF14rkfSIiiWkpb3NsWr6igLeCnrwHxdgdvgDzHgqtYeqbRJcaFk9LtV0p6SMjmR1gd+wx6l72G9xXmj4h6NRGAJoz1Ht9RVkt5bRkpP4c3Semq+q7Gqs6\/XH5rs89SN3gcMf7R2H4+xeVy1La7a09JUNlkG3RREOdnv7Pap2SKv1tVtkDTR0EGwLjxZPaB1nGO4e9GHF6CtXSThTzkz5tN5bbLXHR0Efyy5VZ6R5AJDCeWT14HxWzadNubP8AON4k+V1rsEB24j\/E+S0rXZqK0Q8FJFhxHpSO3c71ld67Keuyco4ZpL4mdtFwX3YREVRsCIiAIiIAiIgCIiAIiIAiIgCIiA5q230lxgMNXAyVvVkbt7wepT\/zFebLK51krBLA45+TTHZvjt7dlUopKTWRTUowm7vJ81qTA1Ld6PLblYptvvwAlufMeaf2z\/8AD1ngqdF3ajyIfCqrSp6Il3ahvtbltusb28sPnJxjyHmuH+yN5raqetqKuCllmGSIs75xkHHV4\/FWyLqqW8KIvCqf6km\/T2Iij0DMKgGtqojA12cRA8Tx3kgY6u1WVPTw0kDYKeNscbBgNaF6ouSnKWpZRw9Oj4EERFAvCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/2Q==",
    "razonSocial": "ALEJANDRO GUILLERMO GEMMEL MARTINEZ",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R1042\",\"id_control\":\"28655\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R963\",\"id_control\":\"28655\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R809\",\"id_control\":\"28655\",\"cantidad_usada\":1,\"cantidad_asignada\":2}]",
    "horaSalida": "12:00",
    "ubicacionGPS": "LatLng(lat: -22.4609378, lng: -68.9282469)",
    "horaLlegada": "09:58",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 12:00:12
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-.pTCf61ewC17nSwRvw.XmycFHMvIp9QqCl4NSUgzTZbt8sOO7cq
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "6508799",
    "serieinterna": "KY2239",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "485423",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\ncambio de bandejas 1y2\nsalen con manchas al costado",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12541",
    "observacion": "Requiere:\nunid. de Fusión y\nUnid. de Imagen",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADJAM4DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABGEAABAwMCAgYFCAcFCQAAAAABAAIDBAURBiESMRNBUWGRoSJxgbHBFBUjMjZC0fAkUnJzgrLhFmKSwvEHJTM0Q1NlotL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIDBgQFBAMBAAAAAAAAAQIDEQQhMRIiQVFhgTJxobETkcHR8DNCRIJScuHx\/9oADAMBAAIRAxEAPwD+zIiIAiIgCIiAyNQXmS0RU4gibNPUS8DI3HGR\/qR4rnguFXNrSeh6X9Hhpw50fVk8Jz5rln\/3pryKL60Nvj4yOY4ufvLfBNNu+VakvVXsWh\/RtPaMnHk0K6yUex57qSnVSTy2rfJZ+pUoiKk9AIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAvxzg1pc4gADJJ6l+rOv9SaSw1kwOCIi0HsJ2HvXUruxGctmLlyMTS8ocLvfJgeF73EHl6Iy4+8eC6NDwFtmkqX5L6iZziT1429+Vwyn5r\/ANnbG8n1IHPbPGc\/yqks1KKKzUlPjBZEOL9o7nzJVs3k\/wA0MGHjvxT4K\/dnciIqT0QiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCmtbyu+aoKRg9Kpna3flgf1wqVTGoP0rVNloxvwOMxA7M5\/yHzU6fiM2K\/Sa52XzZ56lhbLV2WzN3Y6QF3UOEYHu4lVqXpiLhr6ebmyhh4GnPXy\/zO8FULs9EjmHzlOfW3yyCIirNQREQBERAEREAREQBERAEREAREQBERAEREAREQBSNRWQx69mnqXtYyipdi5wH3c7d\/pHZad81ALe9tFRx\/KLhLsyMbhues\/gompifN86Vdxdx1cMjY8AgDjJIPLsDTy7FfThxZ5uLrpNRjm079Mka+mtQW6gbWT10xbUVcxe4NYTgbnn6yVT0morTXO4YK1nEBkh4LPeAvi0WajprVTRyUkDpejBe4xgkkjfchfldpi01sDmfI44Hkei+FvCWn2c1GTg2WUoYinTSVn8\/c10UnBXV+mK6KiukzqmhlOI6k59HuOeWOzJ2VW1wc0OaQQRkEdahKNjTSqqpdaNao\/URFEtCIiAIiIAiIgCIiAIiIAiIgCLwrKyCgpJKqpfwRxjJPwCzbBcq+7dNVzQMho3HFOPvHHMntXdl2uVupFTUOLNlERcLAsbUN7NsijpqZnS1tUeGJgPLO2T7TstGvrYrfQzVc31Im8WO09Q9pwFgaaoX188moK8cU07j0DSc9G3cbe4d3rU4peJmetOTapw1fouZ2WDT7LYz5TUfS10u8khJdw56gT71F2\/N0vUVK3dk9YZnnrIG\/L1cXiv6XM\/o4JH5xwtJz2bKJ0DQiSrqK53\/AEm8Dd+s\/wBB5+FkJZSkzHXorbp0o6Z\/QukRFQeoc1fQwXKjkpahvEx49oPUQsHTNZNQ1s2nqw5fT5ML\/wBdvP3HPj2KnU3q+jcyGG802G1NE5pz2tzy8T5lWQd91mWvFxtVjqteqKRFz0FWyuoIKphGJWB2x5HrHiuhVmlNNXQREQ6EREAREQBERAEREAXnNNHTwvmmeGRsGXOcdgF9Oc1jC97g1rRkknAAUhLLPrG6mmhc+O00zvpHjbpD\/Xq7Bv3KUY38imrV2EkldvRH62OfWVyEsjXxWmncQ0ZIMp\/PgFXNa1jAxjQ1rRgADAAXzDDHTwshhYGRsGGtaNgF6JKV\/IUqWxdvNvVhEXHdrgy12yasfgljfRafvOPIeK4lfItlJRTbMK8CS\/3+KzwyYpaXElVgkZ5beHLvJ7FUNaGtDWgAAYAHUsDSFA6G2mvqATU1rjI5zsZIJ28eftVApTfBcDPh4tp1Jay9uBmairfkFiqpgfSLOBnrdt8c+xceiowzTkTg3Bke9xOOe+Pgs7Xc75jS2+IZdh87x3NB38A5a2kPsvR\/x\/zuUmrUymM9vFtcl9jaREVRvC8qmnZVUstPJ9WVhYdu0YXqiHGrqzJvRlRI2jqLbPkS0Upbhx5A\/wBQfFUil6fNBr+eIZayth4wOonGc\/8Aq7xVQp1Nb8zPhnubL4Nr87BERQNIREQBERAEREAX4SAMk4AX6pa8XKovdU6yWh2WnapqB9VresZ\/OeSlGN2VVaqpq\/HguZ51tbU6pr3Wy3uMdBGf0ioH3+4d3Z28+SpaKip7fSspqaMMjYNh2957152u2U9pomU1O3AG7ndbz1krsXZSvktCFKk1vzzk\/wAsgiIoGgKW1KPnW+W6ytBczi6afB5N+GwPiFUqW0s1tyu1xvThnjk6OInqHXz7uFWQyvLkZcRvbNPm\/RZsqGtDWhrQAAMADqX6i47rWi32upqzzjYS3lz5DzwoJXZpk1FNvgSrwbldb\/cOcVNSyQxkDbPCRz9h8VuaQ+y9H\/H\/ADuWdZ6M0uhayR4xJUwSyknmRwkDyGfatHSH2Xo\/4\/53K6b3Wup5+HTVRN6tN\/No2kRFQeiEREBManBpL3aLiNg2To3nONs\/gXKnU3rqIvsbJQDmKdrsjq2I+IVBDIJoI5QQQ9ocCO8KcvCmZqeVaa8n+fI9ERFA0hERAEREARFhajvj6FraCgBkuFRsxrRngHae\/s8V1Jt2RCpUjTjtSPDUF4nlmFltOX1ku0j2n\/hDr36j7vWtOy2eCzULaeLDnneSTGC8\/h2Lx0\/Y2WekJkIkq5d5pM5yewd3vWupSatsoppU5OXxKmvsvzUIiKBpCIiA4L5U\/JLJWT5ALYiBntOw8yuTSNN8m05T5+tLmQ+07eWFza4mMdhEYzmaZrcA8+Z+C3qWEU1JDAMYiY1gx3DCs0gZlvYh9F7\/APh6qY1i99UaGzwuw+rlBccZwBt8c+xU6l7afnbWdZXbOhoW9FGQes7f\/Xj48hk78hid6Kp\/5O3bibF0iZBp2shjHCyOke1o7AGEBcukPsvR\/wAf87l3XgF1lrmjcmmkA\/wlcGjyDpilA6i8H\/G5d\/Z3GmIX+r90baIirNIREQGPquPpdNVgxnDWu8HArosMpmsNC88+gaPAY+C89SfZ2t\/dFNN\/Z2i\/dBT\/AGdzN\/J\/r9TUREUDSEREARFmXy9w2Wk6Rw6SeTaKIHdx\/BdSbdkRnOMIuUtDy1DfG2imEcI6Ssn9GGMbn9oj85K89PWN1Cw11celuFR6T3u3LM\/d\/FeVjskxqPni7npK2XdjHDaEert9yoVNtJbKM9OEqkviT7Ll18wiIqzUEREAREQExqsGoulmowD6c\/ESOoZb8MqnUxfPthZvb71TqyXhRmo51Kj6r2OO61ot9rqas842Et5c+Q88LM0dRuprG2aTJkqnmVxJycch5DPtXPq6U1c9DZYiOKplDn78m5x+PgqWONkUbY428LGANaOwBHlDzOLfrt8Iq3dnnVR9NSTRfrxub4hYWhpC\/T\/CTngmc0d3I\/FUamNE\/RQ3ClOMxVJyByG2PguLwM7PKvB9H9CnREUDSEREBl6k+ztb+6Kab+ztF+6C+dUOLdN1pH6gHmF66fAbp+hA\/wCy0+Sn+zuZv5P9fqaKIigaQiLwrKuCgpZKmoeGRxjJPwHehxtJXZ5XS6U9ponVVQdhs1oO7z2BYlmtdRdK9t\/uww44NNB1MHUfiPFeFFST6ruDbpXsMdBCSKeA\/f7z3dvbjHUq5WPcVlqZYp15bcvCtOvX7BERVmsIiIAiIgCIiAmL7tq+zE7AkjPtVOpjVX0d5sc46qjB9XE3+q09R3AW2yVEwfwyPHRx\/tH+mT7FY1dRMkJKEqrfDP0MqygXbVVfdSQ6Kn+hhOPZnwB\/xKpWTpm3m22OCJ2OkkHSvx2nq9gwPYtZcm7vIsw8XGnd6vN9wpiykUus7vSZx0oEvuP+dU6l6z9D1\/STYLWVUPAXdRdgjHk1dhxRHEZOEuT98ioREVZpCIiAxNYPDNM1Q4sFxYB3+mPhld9nYY7LQsLeEtp4wR2HhGVja4e42qCmZ9eeoa0Z7MH44VHGxsUbY2\/VYAB6gpvwIzRzxEnySXufSIvGrq4KGmfU1MgjiYMklQNDaSuxV1cFDTPqamQRxMGSSpOCGr1jXiqqA+C1wO+jjBwZD+PaerkOspDDV6yrhU1IfBaoXfRx5wZD+eZ6uQ6yq+KKOGJsUTAxjBhrWjAAVvg8zGr4l3fg9\/8Ah+xxsijbHG0NY0YDQNgF9IiqNoREQBERAEREAREQE3raJwtcNZGBx00zXA9mf64XJcKiPUmoqCghaJKWFonmPUcgHHqxgfxLd1EITp+t+UO4WdEd\/wC993zwsXQMNOKComa7NQ6TheP1WgbfH8hXRdoX5HnVYt4jY4Ss32+5WIiKk9EKY1ox0MVDcox6dLOOXYd\/e0eKp1wXuiNws9TTNGXuZlg\/vDceYUoO0kymvBzpNI7WPbJG2Rjg5rgC0jrC+li6UrjW2KIOGJKf6F2Tvty8sLaXGrOxOnNTgpLiERFwmS+oCKzU9ot2chrule0de+d\/Y0qoUtaT846zuNcHcUdO3omEDbPLn7D4rZu16o7PTmSofl5HoRNPpP8Az2qySeUUZKMklOrJ5N+iyOitrae30r6mpkDI2Dc9vcO9TFLSVOrqwV1e10VtjJ6GDOOk\/PWfYF6UlsuGo6qOvvI6KjaeKGl5Z9f539SqmtDWhrQAAMADqS+xpqcUXiHeWUeXPz6dD5iijhibFEwMYwYa1owAF9oirNgREQBERAEREAREQBERATV+p629XWK0CN8NEzEsk2Pr9wPL2Hr3XM9kel9UtlA6O31zeEn7sbv9fInsVcuO6Wunu1E6lqBsd2uA3Ye0KxT4PQyVMO3ecXvXuvt5HWCCMg5BX6pS23aewT\/NV8eRE3\/l6nBIcOzP5wqlrmvaHMcHNPIg5BUZRaLqVVVF14rkfSIiiWkpb3NsWr6igLeCnrwHxdgdvgDzHgqtYeqbRJcaFk9LtV0p6SMjmR1gd+wx6l72G9xXmj4h6NRGAJoz1Ht9RVkt5bRkpP4c3Semq+q7Gqs6\/XH5rs89SN3gcMf7R2H4+xeVy1La7a09JUNlkG3RREOdnv7Pap2SKv1tVtkDTR0EGwLjxZPaB1nGO4e9GHF6CtXSThTzkz5tN5bbLXHR0Efyy5VZ6R5AJDCeWT14HxWzadNubP8AON4k+V1rsEB24j\/E+S0rXZqK0Q8FJFhxHpSO3c71ld67Keuyco4ZpL4mdtFwX3YREVRsCIiAIiIAiIgCIiAIiIAiIgCIiA5q230lxgMNXAyVvVkbt7wepT\/zFebLK51krBLA45+TTHZvjt7dlUopKTWRTUowm7vJ81qTA1Ld6PLblYptvvwAlufMeaf2z\/8AD1ngqdF3ajyIfCqrSp6Il3ahvtbltusb28sPnJxjyHmuH+yN5raqetqKuCllmGSIs75xkHHV4\/FWyLqqW8KIvCqf6km\/T2Iij0DMKgGtqojA12cRA8Tx3kgY6u1WVPTw0kDYKeNscbBgNaF6ouSnKWpZRw9Oj4EERFAvCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/2Q==",
    "razonSocial": "ALEJANDRO GUILLERMO GEMMEL MARTINEZ",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R1042\",\"id_control\":\"28655\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R963\",\"id_control\":\"28655\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R809\",\"id_control\":\"28655\",\"cantidad_usada\":1,\"cantidad_asignada\":2}]",
    "horaSalida": "12:00",
    "ubicacionGPS": "LatLng(lat: -22.4609378, lng: -68.9282469)",
    "horaLlegada": "09:58",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 12:00:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:6508799

[12/05/2026 12:00: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('6508799', 'KY2239', 1, 21773342, 485423, NOW(), 
				'08:00', '09:58', '12:00', 4, 'Mantenimiento
cambio de bandejas 1y2
salen con manchas al costado', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778601612.png', 'Requiere:
unid. de Fusión y
Unid. de Imagen', null, 'REPROGRAMADO','LatLng(lat: -22.4609378, lng: -68.9282469)' )
				
[12/05/2026 12:00:12] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200272
[12/05/2026 12:00:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200272', 'KYO-R1042', 1)
				
[12/05/2026 12:00:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28655 and
				    IDproducto = 'KYO-R1042'
				

12/05/2026 12:00:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R1042';
                [12/05/2026 12:00:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200272', 'KYO-R963', 1)
				
[12/05/2026 12:00:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28655 and
				    IDproducto = 'KYO-R963'
				

12/05/2026 12:00:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R963';
                [12/05/2026 12:00:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200272', 'KYO-R809', 1)
				
[12/05/2026 12:00:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28655 and
				    IDproducto = 'KYO-R809'
				

12/05/2026 12:00:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R809';
                
12/05/2026 12:00:12 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200272'                    
				WHERE idllamado = 12541			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


12/05/2026 12:00:12 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 12541			
				
12/05/2026 12:00:12 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('6508799', 'KY2239', 1, 'APP', 'sin otroTipo definido', 9, 'Sin otrafalla definida', 'Sin coderror', '1', 'SI', now(), 'EFRAIN PACHA', '984818954', 'tecnico@dsprint.cl', 12541)
				
12/05/2026 12:00:12 Insertado nuevo llamado creado idllamado: 12555APP
12/05/2026 12:00:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 12:00:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 12:00:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 12: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 = 12541
                
12/05/2026 12: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 = 12541
                
12/05/2026 12:00:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            
12/05/2026 12: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 = 12541
                
12/05/2026 12: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 = 12541
                
12/05/2026 12:00:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            
12/05/2026 12:00:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 12:00:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                [12/05/2026 12:00: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/05/2026 12:00:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            [12/05/2026 12:00: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/05/2026 12:00:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 12:00:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 12:01:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            
12/05/2026 12:01:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                [12/05/2026 12:01:47] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 12:01:47] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 12:01:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 12:01:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            [12/05/2026 12:05:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 12:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12552
            GROUP BY l.idllamado;
            
12/05/2026 12:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12552
            GROUP BY l.idllamado;
            
12/05/2026 12:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12552
            GROUP BY l.idllamado;
            [12/05/2026 12:05:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 12:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12552
            GROUP BY l.idllamado;
            
12/05/2026 12: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 = 12552
                
12/05/2026 12: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 = 12552
                
12/05/2026 12: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 = 12552
                
12/05/2026 12: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 = 12552
                
12/05/2026 12: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 = 12552
                
12/05/2026 12: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 = 12552
                
12/05/2026 12:05:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12552
            GROUP BY l.idllamado;
            
12/05/2026 12:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12552
                
12/05/2026 12:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12552
                
12/05/2026 12:05:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12552
            GROUP BY l.idllamado;
            
12/05/2026 12:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12552
                
12/05/2026 12:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12552
                
12/05/2026 12:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12552
            GROUP BY l.idllamado;
            
12/05/2026 12:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12552
                
12/05/2026 12:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12552
                
12/05/2026 12:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12552
                
12/05/2026 12:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12552
                
12/05/2026 12:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12552
            GROUP BY l.idllamado;
            
12/05/2026 12:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12552
                
12/05/2026 12:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12552
                
12/05/2026 12:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12552
            GROUP BY l.idllamado;
            
12/05/2026 12:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12552
                
12/05/2026 12:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12552
                
12/05/2026 12:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12552
                
12/05/2026 12:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12552
            GROUP BY l.idllamado;
            
12/05/2026 12:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12552
                
12/05/2026 12:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12552
                
12/05/2026 12:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12552
                
12/05/2026 12: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 = 12552
                
12/05/2026 12:06:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12552
            GROUP BY l.idllamado;
            
12/05/2026 12:06:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12552
            GROUP BY l.idllamado;
            
12/05/2026 12: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 = 12552
                
12/05/2026 12: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 = 12552
                
12/05/2026 12: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 = 12552
                
12/05/2026 12: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 = 12552
                
12/05/2026 12:06:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12552
            GROUP BY l.idllamado;
            
12/05/2026 12: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 = 12552
                
12/05/2026 12: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 = 12552
                
12/05/2026 12: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 = 12552
                
12/05/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 = 12552
                
12/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12552
            GROUP BY l.idllamado;
            
12/05/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 = 12552
                
12/05/2026 12:06:25 - logentry: =========================================
FECHA: 12/05/2026 12:06:25
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-a2VX+XHr9J-iqGvK1geWv2BLgC2Q+z7Di+OqfQ..o_r-s+E2ON_
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2518",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "435878",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega 4 toner kyocera ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12552",
    "observacion": "Control de salida :: 28648",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD7AJEDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAwQHAQL\/xABCEAABAwMCAgcFBAcGBwAAAAABAAIDBAURBiESMRNBUWFxgZEUIqGxwSQygtEHIzZCsuHwFSVictLxMzRDUpKiwv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADMRAAIBAgIGCAUFAQAAAAAAAAABAgMRITEEEiJBUXETMmGhsdHh8AUjM4GRQlJiwfEU\/9oADAMBAAIRAxEAPwDsyIiAIiIAiIgCIiAIiIAiIgCIiAIi0rtc4bRb31Ux5bMb\/wBzuoLqV8ERlJRV3kR2obzUU0sFttmHV1S7AOx6MdpHf8gV7dbzVUtXQ22jayatmcDKOYDRz8M7nwC1bFSupKeo1FdnH2iZheeJu8bB2eIAx3YC80pBNX1NTfqvJfO4shBOeFud8d3V5HtVtkly8TDr1JySvZy7kv7ZaERFSegEREAREQBVOSslj\/SI2EyPMTmcPBxbDLM8vEK2KhXmYQa\/hlPJskWd+rAVtJXb5GPTJasYv+SL6iIqjYEREAREQBERAeOcGtLnEAAZJPUqkxh1bfnSvGbXRHhDc7Su338\/ljtW1qmvnlMVkt54qqr2fg8mYOQezPyBW\/8AY9LWHrdHAPxSOJ+pPkPBWxWqr72Y6jVSbi+rHPy8yM1JUPulwg09Su3kcH1DgfutG+Dt5+islPBHTU8cETQ1kbQ1oAwoDSdvlEct4q96mu94ZH3Wk528dvQKxqM8NlbidBOV6ss34bgiIoGkIiIAiIgC5trB3BqiV2M8IYcfhC6SudatiEmoK5xH\/DhY4f8AqPqrqHWPO+I\/RXP+mdEBBGQcgr1a1ulM9spZicmSFjs+IBWwXBoy4gDON1SegndXPUREOhERAFrXCuhttDLVzuAbG0kDOOI9QHeVsqo1jnarv\/sEZd\/Z1E7M7hj3n7jbx5DzKlGN3jkUVqjhG0c3kbGlKGWodLfq48VTVZDOwM237uWPAd6wXBx1LqVlrY8mho\/fmLcYc4fzOPVSmo7q202osh2qZh0dOxo3zsMjwz8lk07ajabW2OU8VRKTJM7tceryH1Vmt+r8Gfo02qCyWMu3\/SUa0NaGtAAAwAOpeoipN4REQBERAEREAVB1G3iv91GM\/ZGn4sV+VIvbM6lubefHb3O8MNB\/+VbSzMOnK9NLt\/plmsDuKwUJzn9Q0fBQGtKqWa4W+2U7sSOeH7E\/eJ4W\/X1UzpR\/Saao3djXD0cR9FX6Am869lqhkw0xJBxjZo4R6nddirSb4EK0tajCC\/VYurGCONrBnDQAMr6RFSeiERR96u0Vntz6l+HP5Rx5++7+ua6ld2RGUlGLk8kRup7rJGI7RQkOq6w8BIO8YPyz8sqRs9rgsttbA3h4gOKWTlxHrPgo\/TFplj6S712HVdZ74BG8bTv5Zz5bBfOrLhKGQ2ejyamuPCcHkwnG\/cd\/Qqy19hGNS1U681juXvezWtjTqXUT7u\/PsdEQynaR953PPkTn0VsWrbbfDa6CKkh3bGN3EbuPWStpQk7vDI0UKbhHazeLCIiiXBERAEREAREQBVG4M4tayxnfpqF4GP8AKfyVuVXqwG\/pDow4ZElMcej\/AMlZTzfIy6UrqPNHxp2v9j0TNUcjTmTh7zzHxIX3oWgbDan1pb+sqHkA\/wCFu3zyq7HUPZpKWgZlzpq\/gG\/MYB+YC6Fb6RtDb4KVvKJgbzzk9anUwT7WZtF+ZKL\/AGrvfobCIioPTMc00VPC+aZ4ZGwZc5x2AVWt0UmqLybrUjFDSv4aeMt+\/wB5+BPovbvVSajuzbJRS\/ZGe9UzMGRkdXhy8\/BWemp4qSmjp4W8McbQ1o7grOou1mT68\/4rvfkhU1EVJSy1MzuGOJpc49wVd0vTTV9XUX+tYWyTHhgaScNb14z1dXkVjvsj7\/eorBTvLYoj0lTIBnGBy+I8z3K0QxRwQshiYGRsAa1o5AJ1Y9rC+bVvuj3v0PtERVmsIiIAiIgCIiAIiIAqxdPd15a3DYmEgnu9\/wDNWdVTU8zaPUVpq37tYHFw7h\/urKedjLpTtBPg14les9O6p1ZDTHPBHUvk4DyHDudvwgei6YqDolrqvUNTWSYyI3OONvec4fzV+Uqz2rFPw+Py3LiwoLUt5loomUNDl1fU7RtaMlre3+vopK53GG1UElXP91mwaObj1AKF03bpqqoff7iM1E+8Dc7MYR1eRwO7xUIpLaZfWm21Shm+5e8iSsNnjstubADxSvPHK7tdj5BL\/d22e2Pn5yv9yIf4sc\/AKSJAGScAKp02NU6ldUuyaC3HEYzs92efgcZ8h2rsdp60jlR9HBU6ebwXmSOlrO62W7pKhmKuoJfITu4DqGfj4lTiIoNtu7L6cFTiox3BERcJhERAEREAREQBERAFTv0gQl7KB7Wku4ns2684wPgriqJryt4rnS0zTnoGcZ8SfyA9VbS66MWnNKg79hm0UxlPebjTAe8xvCDnnwuwVcZpoqeF80zwyNgy5zjsAqFoupJ1JI5w4faIn7eYP0Kk7hPNqu5utVE4soaZ2aiYbhx7u3rx28+pSqRvPEo0asoUFqq7u7I8pYpNW3d1XUh\/9l0xxDGdhIf65+QVuAAGAMAL4p4IqWnjghaGRxtDWgdQXlTURUlLLUzO4Y4mlzj3BVSes8DbSp9HFuTxebITVVykjgjtVG4+2VhDQG5y1hO588Y9VJ2m3stdsho2YJY33nD95x5n1UJpumkulyn1FVfvlzKdhH3WjbPpkeqtClLBapCinOTqvfly9QiIqzUEREAREQBERAEREAREQBc5rYRdYb3eMcQZKxkR57cQHywrnqKuNusdTO04eW8DDjO52\/mqjUV8dt0y2zwxiapnZ0lQQNowcHq6wAPRX0k80ebpsot6sskm\/vkiJpGvmqaCChmMVRK0xvdxYA4nOH8J\/orpVqtdPaKJtNTjbm5x5vPaVRKWmhpKSxXGNpEj6pwmcTzw8Y+APqukLtZkfh9NK7eeHevdwqtqOokut1p9PUzyGvIfUuHU3njyAz5hTl2uDLXbJqx+CWN91p\/eceQ9VF6ToHtpn3WqyaquJfkk7MPIefPwwq44LWNVd68lRW\/F8vUnKanjpaaOnhbwxxtDWjuCyoirNKVlZBERDoREQBERAEREAREQBFq19ypLZTmermEbeodbj2Adarbpbvq3LIAaC1u2L3D3pB9fl3lSjG+O4pqVlB6qxfD3ka+p7gL9XU1mtpEpEmXPB90ux8gM5K3LjZ4LHpKtMeZKiVrRLK45LiXAHy3Wtpq20rdU1r6YHoaEdG0k5JcdiSfJ3L\/eZ1f+y9Z+D+Nqubs1FZGGMHOnUrTzxt9iltkMmj8NPvU1cHeAc0\/ULpkbxJG145OAK5lTsdFabpSHcmGCoHhlp+T1dJLuy36Tp61zvfdTsDATzeW8uXj6JVV8iOhzUU3Lh4No0LnnUWo47SMiko8yTkdbuzcd+PMq0taGtDWgAAYAHUoTSltdQ2rp5h9prD0shxvg8h8c+ZU4qpvctxu0eLs5yzl7SCIigaAiIgCIiAIiIAiIgC0bvPXU9AX26nE9QXABp6h2reRdWDIyV01exWqDTEtRUi4X6b2qc7iHmxvce3w5eKmrlWNttsnqyBiFhLQdgTyA9cBbarOsHvqjQ2iFwD6qYFxxnhHIE\/E+Smm5yVzPOMaFJuGfe2Z9G0joLL7RJvJVvMjjnO3Ifn5rLq\/9l6z8H8bVLwxMghZDGOFkbQ1o7ANgojV\/7L1n4P42oneafaJw6PRnHgn4FZkgxXUkYH\/O2gN7feEZx8WhY7K2XUNTbrfK37LQML5ex3vZ+Puj1W1fy+msun66LHSQxMAzvn3WkbeS39BAR0dbC5hbKyYcYPVtjHqCrm7QuedCClXVN5Z9ydvyWtERZT2wiIgCIiAIiIAiIgCIiAIiIAqtbiLprasrDvHQs6KPB5Hcf61P3Osbb7bUVbiB0TCRnrPUPM4CidGUZp7IJ35MlU8yEl2duQ\/PzVkcItmWrtVYQ4Y+XeWBQur\/ANl6z8H8bVNKua2roYLG+kc4GWpc0NbncAEEnw2x5rkOsiektKjK\/BlWrHVN7omPha72W10cbckHBdhod58\/JqmNEVAfc68D\/rMZIfHr+Lipix2qnbpaOBgafa4OKR2Bklw+mceSrGh3mDUL4X+6XQuaWntBB+hV7alGSW48yNOVOtTm3jL34M6GiIsp7QREQBERAEREAREQBERAEREBWdYPdVOoLPEcPqpgXHHJo2+ufJWOGJkELIYxwsjaGtHYBsFWqb+9Ndzz8OYrfF0YdzHFyx6l3orQrJ4JIy0Nqc6nbb7L1PHODWlziAAMknqVBq4XagZdb3IHdDAzgpQQeQPPl2ZPPYlT2q66VsEVppBmprzwdezc7+vLwytiotrKDSVTRRD7lM\/JA+87hJPYuw2VfiV1100nDdFd+4zadeH6eoSOqID02VXpoTQ\/pGLANpJHux3OaT9VYtJPD9M0hHUHA+TionVD4qDU9qr37Dk89jQ7n6OPopR60lzIVUnRp1OGqy3oiKg9EIiIAiIgCIiAIiIAiIgC1rhViht9RVHfooy4DtONh6rZVb1tO\/8AsuGii3fVzNbjtA3+fCpRV5JFVaepTcjJo2kMNm9qkH62reZHHtGcD6nzU7LKyGJ8sjg1jGlznHqA5lfNLA2lpIadn3YmNYPADCgNWVUkzaey0rv19Y4ce42Zn6n5Fd68iu\/QUV2eP+mDTUT7veKvUFQ0hvEY6dp\/dH8hgeZVnnhbUU8kLtmyMLT4EYXxRUkdDRxUsIwyJuAs65KV3dE6NLUhZ5vPmVvRMzja56WTaSmnc0txjAO\/zyozXwdJWUUbGlzhG84HZt+S255xprVM1RN7tBcAHOcG54Xjw575\/wDJe07mag1d7XE0voqSEsDy3Z5ORsfM+iuWEtfcYJbVH\/nvtXt9r5\/gmrBWe3WOknzlxjDXZ7RsfkpFVfSHHRVNytEuxp5eNgIxkHbPhgNPmrQqpq0jdo83Kkm8\/IIiKBeEREAREQBERAEREAVWuX2\/XNBS\/uUjOldnt58vJqtKq+lwa683W7O3D5OijPPbx8A1WQwTZl0jacIcX4YllmlZBC+aQ8LI2lzj2AblVvTEDrlW1V\/qAeKV5ZA0k+60c\/y8ivdU1ktVUU9go3frasgynH3WZ\/kSe4d6n6OljoqOKliHuRNDQnVjzH1a3ZHx9DOiIqzUY56eGpj6OeJkrM54XtyMr5p6WCkjEdPCyJvY0YWZEucsr3KvdP7q1lRV42jrW9DJtnfYf6fQq0KD1fRGssEr2A9JTETNx3c\/gSfJb9orRcbVT1QIJewcWDycNiPVWSximZ6exVlDjj5m6iIqzSEREAREQBERAEREBH32s9gslVUZw4Rlrf8AMdh8StHTjIrRpSOonPC0sM8hx27j4YWvrV7paeitzDh1XOByzy2+bgvjU75K2Wm07QbF\/C6b\/CwEAePafAK6KvFLiYKlTVqyl+1WXN+0ZdLUz6uWpv1U0iaqeRG1w+4zqwceXgFZFipqeKkpYqaFvDHE0NaO4LKq5O7uaqVPo4Jb9\/MIiKJaEREB8vY2SN0b2hzXAhwPWFXdItnozXWuZshbTTHo3uGAR3fA+asiKSdk0Vyp3nGfAIiKJYEREAREQBERAEREBULrVxSauM7wXw2qnMjw3rdzx45c308cbWkKOWSOe9VfvVFa48JPUzP1PwAU7U0NLWRvjqIGSNkADsjcjOefiAssUTIYmRRtDWMaGtaOoDkFY57NkZI6O1V15O+b+\/oj7REVZrCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOHANN GUERRERO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:06",
    "ubicacionGPS": "LatLng(lat: -22.3452113, lng: -68.8888513)",
    "horaLlegada": "11:46",
    "horaDespacho": "11:48",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 12:06:25
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-a2VX+XHr9J-iqGvK1geWv2BLgC2Q+z7Di+OqfQ..o_r-s+E2ON_
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2518",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "435878",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega 4 toner kyocera ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12552",
    "observacion": "Control de salida :: 28648",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD7AJEDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAwQHAQL\/xABCEAABAwMCAgcFBAcGBwAAAAABAAIDBAURBiESMRNBUWFxgZEUIqGxwSQygtEHIzZCsuHwFSVictLxMzRDUpKiwv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADMRAAIBAgIGCAUFAQAAAAAAAAABAgMRITEEEiJBUXETMmGhsdHh8AUjM4GRQlJiwfEU\/9oADAMBAAIRAxEAPwDsyIiAIiIAiIgCIiAIiIAiIgCIiAIi0rtc4bRb31Ux5bMb\/wBzuoLqV8ERlJRV3kR2obzUU0sFttmHV1S7AOx6MdpHf8gV7dbzVUtXQ22jayatmcDKOYDRz8M7nwC1bFSupKeo1FdnH2iZheeJu8bB2eIAx3YC80pBNX1NTfqvJfO4shBOeFud8d3V5HtVtkly8TDr1JySvZy7kv7ZaERFSegEREAREQBVOSslj\/SI2EyPMTmcPBxbDLM8vEK2KhXmYQa\/hlPJskWd+rAVtJXb5GPTJasYv+SL6iIqjYEREAREQBERAeOcGtLnEAAZJPUqkxh1bfnSvGbXRHhDc7Su338\/ljtW1qmvnlMVkt54qqr2fg8mYOQezPyBW\/8AY9LWHrdHAPxSOJ+pPkPBWxWqr72Y6jVSbi+rHPy8yM1JUPulwg09Su3kcH1DgfutG+Dt5+islPBHTU8cETQ1kbQ1oAwoDSdvlEct4q96mu94ZH3Wk528dvQKxqM8NlbidBOV6ss34bgiIoGkIiIAiIgC5trB3BqiV2M8IYcfhC6SudatiEmoK5xH\/DhY4f8AqPqrqHWPO+I\/RXP+mdEBBGQcgr1a1ulM9spZicmSFjs+IBWwXBoy4gDON1SegndXPUREOhERAFrXCuhttDLVzuAbG0kDOOI9QHeVsqo1jnarv\/sEZd\/Z1E7M7hj3n7jbx5DzKlGN3jkUVqjhG0c3kbGlKGWodLfq48VTVZDOwM237uWPAd6wXBx1LqVlrY8mho\/fmLcYc4fzOPVSmo7q202osh2qZh0dOxo3zsMjwz8lk07ajabW2OU8VRKTJM7tceryH1Vmt+r8Gfo02qCyWMu3\/SUa0NaGtAAAwAOpeoipN4REQBERAEREAVB1G3iv91GM\/ZGn4sV+VIvbM6lubefHb3O8MNB\/+VbSzMOnK9NLt\/plmsDuKwUJzn9Q0fBQGtKqWa4W+2U7sSOeH7E\/eJ4W\/X1UzpR\/Saao3djXD0cR9FX6Am869lqhkw0xJBxjZo4R6nddirSb4EK0tajCC\/VYurGCONrBnDQAMr6RFSeiERR96u0Vntz6l+HP5Rx5++7+ua6ld2RGUlGLk8kRup7rJGI7RQkOq6w8BIO8YPyz8sqRs9rgsttbA3h4gOKWTlxHrPgo\/TFplj6S712HVdZ74BG8bTv5Zz5bBfOrLhKGQ2ejyamuPCcHkwnG\/cd\/Qqy19hGNS1U681juXvezWtjTqXUT7u\/PsdEQynaR953PPkTn0VsWrbbfDa6CKkh3bGN3EbuPWStpQk7vDI0UKbhHazeLCIiiXBERAEREAREQBVG4M4tayxnfpqF4GP8AKfyVuVXqwG\/pDow4ZElMcej\/AMlZTzfIy6UrqPNHxp2v9j0TNUcjTmTh7zzHxIX3oWgbDan1pb+sqHkA\/wCFu3zyq7HUPZpKWgZlzpq\/gG\/MYB+YC6Fb6RtDb4KVvKJgbzzk9anUwT7WZtF+ZKL\/AGrvfobCIioPTMc00VPC+aZ4ZGwZc5x2AVWt0UmqLybrUjFDSv4aeMt+\/wB5+BPovbvVSajuzbJRS\/ZGe9UzMGRkdXhy8\/BWemp4qSmjp4W8McbQ1o7grOou1mT68\/4rvfkhU1EVJSy1MzuGOJpc49wVd0vTTV9XUX+tYWyTHhgaScNb14z1dXkVjvsj7\/eorBTvLYoj0lTIBnGBy+I8z3K0QxRwQshiYGRsAa1o5AJ1Y9rC+bVvuj3v0PtERVmsIiIAiIgCIiAIiIAqxdPd15a3DYmEgnu9\/wDNWdVTU8zaPUVpq37tYHFw7h\/urKedjLpTtBPg14les9O6p1ZDTHPBHUvk4DyHDudvwgei6YqDolrqvUNTWSYyI3OONvec4fzV+Uqz2rFPw+Py3LiwoLUt5loomUNDl1fU7RtaMlre3+vopK53GG1UElXP91mwaObj1AKF03bpqqoff7iM1E+8Dc7MYR1eRwO7xUIpLaZfWm21Shm+5e8iSsNnjstubADxSvPHK7tdj5BL\/d22e2Pn5yv9yIf4sc\/AKSJAGScAKp02NU6ldUuyaC3HEYzs92efgcZ8h2rsdp60jlR9HBU6ebwXmSOlrO62W7pKhmKuoJfITu4DqGfj4lTiIoNtu7L6cFTiox3BERcJhERAEREAREQBERAFTv0gQl7KB7Wku4ns2684wPgriqJryt4rnS0zTnoGcZ8SfyA9VbS66MWnNKg79hm0UxlPebjTAe8xvCDnnwuwVcZpoqeF80zwyNgy5zjsAqFoupJ1JI5w4faIn7eYP0Kk7hPNqu5utVE4soaZ2aiYbhx7u3rx28+pSqRvPEo0asoUFqq7u7I8pYpNW3d1XUh\/9l0xxDGdhIf65+QVuAAGAMAL4p4IqWnjghaGRxtDWgdQXlTURUlLLUzO4Y4mlzj3BVSes8DbSp9HFuTxebITVVykjgjtVG4+2VhDQG5y1hO588Y9VJ2m3stdsho2YJY33nD95x5n1UJpumkulyn1FVfvlzKdhH3WjbPpkeqtClLBapCinOTqvfly9QiIqzUEREAREQBERAEREAREQBc5rYRdYb3eMcQZKxkR57cQHywrnqKuNusdTO04eW8DDjO52\/mqjUV8dt0y2zwxiapnZ0lQQNowcHq6wAPRX0k80ebpsot6sskm\/vkiJpGvmqaCChmMVRK0xvdxYA4nOH8J\/orpVqtdPaKJtNTjbm5x5vPaVRKWmhpKSxXGNpEj6pwmcTzw8Y+APqukLtZkfh9NK7eeHevdwqtqOokut1p9PUzyGvIfUuHU3njyAz5hTl2uDLXbJqx+CWN91p\/eceQ9VF6ToHtpn3WqyaquJfkk7MPIefPwwq44LWNVd68lRW\/F8vUnKanjpaaOnhbwxxtDWjuCyoirNKVlZBERDoREQBERAEREAREQBFq19ypLZTmermEbeodbj2Adarbpbvq3LIAaC1u2L3D3pB9fl3lSjG+O4pqVlB6qxfD3ka+p7gL9XU1mtpEpEmXPB90ux8gM5K3LjZ4LHpKtMeZKiVrRLK45LiXAHy3Wtpq20rdU1r6YHoaEdG0k5JcdiSfJ3L\/eZ1f+y9Z+D+Nqubs1FZGGMHOnUrTzxt9iltkMmj8NPvU1cHeAc0\/ULpkbxJG145OAK5lTsdFabpSHcmGCoHhlp+T1dJLuy36Tp61zvfdTsDATzeW8uXj6JVV8iOhzUU3Lh4No0LnnUWo47SMiko8yTkdbuzcd+PMq0taGtDWgAAYAHUoTSltdQ2rp5h9prD0shxvg8h8c+ZU4qpvctxu0eLs5yzl7SCIigaAiIgCIiAIiIAiIgC0bvPXU9AX26nE9QXABp6h2reRdWDIyV01exWqDTEtRUi4X6b2qc7iHmxvce3w5eKmrlWNttsnqyBiFhLQdgTyA9cBbarOsHvqjQ2iFwD6qYFxxnhHIE\/E+Smm5yVzPOMaFJuGfe2Z9G0joLL7RJvJVvMjjnO3Ifn5rLq\/9l6z8H8bVLwxMghZDGOFkbQ1o7ANgojV\/7L1n4P42oneafaJw6PRnHgn4FZkgxXUkYH\/O2gN7feEZx8WhY7K2XUNTbrfK37LQML5ex3vZ+Puj1W1fy+msun66LHSQxMAzvn3WkbeS39BAR0dbC5hbKyYcYPVtjHqCrm7QuedCClXVN5Z9ydvyWtERZT2wiIgCIiAIiIAiIgCIiAIiIAqtbiLprasrDvHQs6KPB5Hcf61P3Osbb7bUVbiB0TCRnrPUPM4CidGUZp7IJ35MlU8yEl2duQ\/PzVkcItmWrtVYQ4Y+XeWBQur\/ANl6z8H8bVNKua2roYLG+kc4GWpc0NbncAEEnw2x5rkOsiektKjK\/BlWrHVN7omPha72W10cbckHBdhod58\/JqmNEVAfc68D\/rMZIfHr+Lipix2qnbpaOBgafa4OKR2Bklw+mceSrGh3mDUL4X+6XQuaWntBB+hV7alGSW48yNOVOtTm3jL34M6GiIsp7QREQBERAEREAREQBERAEREBWdYPdVOoLPEcPqpgXHHJo2+ufJWOGJkELIYxwsjaGtHYBsFWqb+9Ndzz8OYrfF0YdzHFyx6l3orQrJ4JIy0Nqc6nbb7L1PHODWlziAAMknqVBq4XagZdb3IHdDAzgpQQeQPPl2ZPPYlT2q66VsEVppBmprzwdezc7+vLwytiotrKDSVTRRD7lM\/JA+87hJPYuw2VfiV1100nDdFd+4zadeH6eoSOqID02VXpoTQ\/pGLANpJHux3OaT9VYtJPD9M0hHUHA+TionVD4qDU9qr37Dk89jQ7n6OPopR60lzIVUnRp1OGqy3oiKg9EIiIAiIgCIiAIiIAiIgC1rhViht9RVHfooy4DtONh6rZVb1tO\/8AsuGii3fVzNbjtA3+fCpRV5JFVaepTcjJo2kMNm9qkH62reZHHtGcD6nzU7LKyGJ8sjg1jGlznHqA5lfNLA2lpIadn3YmNYPADCgNWVUkzaey0rv19Y4ce42Zn6n5Fd68iu\/QUV2eP+mDTUT7veKvUFQ0hvEY6dp\/dH8hgeZVnnhbUU8kLtmyMLT4EYXxRUkdDRxUsIwyJuAs65KV3dE6NLUhZ5vPmVvRMzja56WTaSmnc0txjAO\/zyozXwdJWUUbGlzhG84HZt+S255xprVM1RN7tBcAHOcG54Xjw575\/wDJe07mag1d7XE0voqSEsDy3Z5ORsfM+iuWEtfcYJbVH\/nvtXt9r5\/gmrBWe3WOknzlxjDXZ7RsfkpFVfSHHRVNytEuxp5eNgIxkHbPhgNPmrQqpq0jdo83Kkm8\/IIiKBeEREAREQBERAEREAVWuX2\/XNBS\/uUjOldnt58vJqtKq+lwa683W7O3D5OijPPbx8A1WQwTZl0jacIcX4YllmlZBC+aQ8LI2lzj2AblVvTEDrlW1V\/qAeKV5ZA0k+60c\/y8ivdU1ktVUU9go3frasgynH3WZ\/kSe4d6n6OljoqOKliHuRNDQnVjzH1a3ZHx9DOiIqzUY56eGpj6OeJkrM54XtyMr5p6WCkjEdPCyJvY0YWZEucsr3KvdP7q1lRV42jrW9DJtnfYf6fQq0KD1fRGssEr2A9JTETNx3c\/gSfJb9orRcbVT1QIJewcWDycNiPVWSximZ6exVlDjj5m6iIqzSEREAREQBERAEREBH32s9gslVUZw4Rlrf8AMdh8StHTjIrRpSOonPC0sM8hx27j4YWvrV7paeitzDh1XOByzy2+bgvjU75K2Wm07QbF\/C6b\/CwEAePafAK6KvFLiYKlTVqyl+1WXN+0ZdLUz6uWpv1U0iaqeRG1w+4zqwceXgFZFipqeKkpYqaFvDHE0NaO4LKq5O7uaqVPo4Jb9\/MIiKJaEREB8vY2SN0b2hzXAhwPWFXdItnozXWuZshbTTHo3uGAR3fA+asiKSdk0Vyp3nGfAIiKJYEREAREQBERAEREBULrVxSauM7wXw2qnMjw3rdzx45c308cbWkKOWSOe9VfvVFa48JPUzP1PwAU7U0NLWRvjqIGSNkADsjcjOefiAssUTIYmRRtDWMaGtaOoDkFY57NkZI6O1V15O+b+\/oj7REVZrCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOHANN GUERRERO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:06",
    "ubicacionGPS": "LatLng(lat: -22.3452113, lng: -68.8888513)",
    "horaLlegada": "11:46",
    "horaDespacho": "11:48",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 12:06:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[12/05/2026 12:06:25] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76050301', 'KY2518', 1, 24456550, 435878, NOW(), 
				'11:48', '11:46', '12:06', 10, '•Entrega 4 toner kyocera ', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778601985.png', 'Control de salida :: 28648', null, 'COMPLETADO','LatLng(lat: -22.3452113, lng: -68.8888513)' )
				
[12/05/2026 12:06:25] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200273

12/05/2026 12:06:25 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200273'                    
				WHERE idllamado = 12552			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


12/05/2026 12:06:25 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12552			
				
12/05/2026 12:06:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/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 = 12552
                
12/05/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 = 12552
                
12/05/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 = 12552
                
12/05/2026 12:06:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12552
            GROUP BY l.idllamado;
            
12/05/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 = 12552
                
12/05/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 = 12552
                
12/05/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 = 12552
                [12/05/2026 12:06: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;
                

12/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12552
            GROUP BY l.idllamado;
            [12/05/2026 12:06: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;
                

12/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12552
            GROUP BY l.idllamado;
            
12/05/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 = 12552
                
12/05/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 = 12552
                
12/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12552
            GROUP BY l.idllamado;
            
12/05/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 = 12552
                
12/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12552
            GROUP BY l.idllamado;
            
12/05/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 = 12552
                [12/05/2026 12:06: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;
                

12/05/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 = 12552
                
12/05/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 = 12552
                
12/05/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 = 12552
                
12/05/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 = 12552
                
12/05/2026 12: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 = 12541
                
12/05/2026 12: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 = 12541
                [12/05/2026 12:16: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/05/2026 12:16:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            
12/05/2026 12:16:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            [12/05/2026 12:16: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/05/2026 12:16:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 12:16:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12541
                
12/05/2026 12: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 = 12541
                
12/05/2026 12: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 = 12541
                [12/05/2026 12:16: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/05/2026 12:16:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            [12/05/2026 12:16: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/05/2026 12: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 = 12541
                
12/05/2026 12:16:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12541
            GROUP BY l.idllamado;
            
12/05/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 = 12541
                
12/05/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 = 12541
                
12/05/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 = 12541
                
12/05/2026 12: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 = 12533
                
12/05/2026 12: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 = 12533
                
12/05/2026 12: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 = 12533
                
12/05/2026 12: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 = 12533
                
12/05/2026 12: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 = 12533
                
12/05/2026 12: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 = 12533
                
12/05/2026 12:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/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 = 12533
                
12/05/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 = 12533
                
12/05/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 = 12533
                
12/05/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 = 12533
                
12/05/2026 12:26:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 12:26:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/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 = 12533
                
12/05/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 = 12533
                
12/05/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 = 12533
                
12/05/2026 12:26:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 12:26:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 12: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 = 12533
                
12/05/2026 12: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 = 12533
                
12/05/2026 12: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 = 12533
                
12/05/2026 12: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 = 12533
                
12/05/2026 12: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 = 12533
                
12/05/2026 12:26:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 12:26:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 12:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 12:26:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 12:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12: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 = 12533
                
12/05/2026 12: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 = 12533
                
12/05/2026 12:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:26:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12: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 = 12533
                
12/05/2026 12: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 = 12533
                
12/05/2026 12:27:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:27:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12: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 = 12533
                
12/05/2026 12: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 = 12533
                
12/05/2026 12:27:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:27:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:27:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 12:27:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 12: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 = 12533
                
12/05/2026 12: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 = 12533
                
12/05/2026 12:27:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 12:27:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 12: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 = 12533
                
12/05/2026 12: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 = 12533
                
12/05/2026 12: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 = 12533
                
12/05/2026 12: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 = 12533
                
12/05/2026 12:27:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:27:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:27:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:27:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:28:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 12:28:59 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 12:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:28:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 12:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:28:59 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 12:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 12:29:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 12:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 12:29:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 12:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:34 - logentry: =========================================
FECHA: 12/05/2026 12:29:34
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-qj6ggiSzW-jt_ga4VxByREO.P0kYR4NoHTvcbd0SD1Np5I5BQD3
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "74782810",
    "serieinterna": "EP3171",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "Chuquicamata",
    "ciudadmaquina": "Calama",
    "departamentomaquina": "rab infiniti Puerta nro 4",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Instalacion impresora",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12533",
    "observacion": "Instalacion impresora",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADBAPcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABIEAABAwMCAwUEBQkECgMBAAABAgMEAAURBiESMUETUWFxkSKBobEUFTLB0RYjM0JScpLh8CRDgtIlU1ViY3OistPxBxc2VP\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAgQDBgYCAwEAAAAAAAABAgMREiExQQQTcSJRgZGh0RQyQmGx4cHwIzNScv\/aAAwDAQACEQMRAD8A\/ZqUpQApSlAClKUAKUpQApSlAClKUAKUpQApSlAClKUAKUrhNmMwIbsqQrhbaGTjn4D1oONpK7KvUt\/FkipS2kLkvA9mDyTjqakadnv3KysypASHFZB4QQDgkZ+FYq4dtMiuXeYE\/SLgvsorPDnhSMZUM+QHvzW+tsMW+2x4gIPZICSR1PU+uatOKjG25hoVZ1azf020\/BKpSlRN4pSlAClKUAKUrg\/NixR\/aJLTW2fbWBQcbSzZ3pXJiSxJRxsPIdTgHKFA7HlSgE76HWlKUHRSlKAFKUoAVykyG4sZyQ8rhbbSVKPgK61ldQSXLzdWdPxFHgyFSlpxgAYOPdz88U0Y3ZKtU5cb77dSzsF0l3dl6U9GSzGUvEc59ogbHPvFW9co0duLGbjsp4W20hKR4CutcbTeQ1NSjFKTuxSlK4OKUpQApSlAClKUAKyl6dVfdQM2Jo\/2dkhySoHu5j4geZ8KttQXcWi3laBxSHTwMIxnKu\/HhVGG\/wAldMOSFn\/SM3biP2kkjlnw3PnVYLfyMXEzT7GyzfTu8TrGbRedWBbaB9CtSQ23gbFQ8cd\/j0BrWVU6atZtdmaacSA84ON3bByeh8htVtSzd3ZFeHg4wvLV5v8Av2FKUpDQKUpQAqHcrpEtMbt5bnCnOEpAyVHuArnebszZreuS5hS+TbecFaqzaI7oYXqXUGHFJSDHjdAf1dvu95p4xvmzNWr4Xhjr6Jd7IV41jcpB4IiFQmFDKVY9tY789Pd61fQtH24tIendtKeUApXarIweeNsHr1qk0zbnr7eXLtOHG0hfESeSl7YGO4D7q31UqSw9mJl4Wm616lXPuv7GTjxm7LrhqHCBbjy2OJTfGSMgK\/y9e80rpEJuOvJL4P5uC12YOevLHqVelKSexp4ZK0raXdjUUpSpmoUpSgBSlVd01FbrSCl97jdH903ur393vrqTeSFnOMFeTsjxqO8KtFuCmUlUh5XZtDGcHvrnYrUzp+3KdmOth908Tzy1AAeGT\/Wazanbnqy9IlwGgwiNjgW4QQ2e\/lueuN8Vbs6MS+sPXe4PzHMcuIgDwyd8elWcVGNmzz41J1ajnCN0tNl92Wj2pbMwcLuDWf8Adyr5CojmtbKj7Lrrn7rR+\/FTGtOWZn7NuYO+fbTxfOpbcCEz+iiMN\/utgVPsfc024h7peZQ\/l1AUT2USWtI68A3+NG9eWpakpUzKRnmShOB\/1VpQABgDAFCkKGFAEdxovDuDl1\/+\/T9lTE1RZphCUTUNqP6roKPidqtULQ4kLQoKSeRScg1XS9O2maD2sFoKP6zY4D55FVbmkHIfE5Zbk9FcP6izlJ8Mj+ddtB6OxzFXjqk+mX59zT0rKi+3uzFIvcDtmOshjGeXp8qvrfdoN0b44chLhAypHJSfMc6VwazKQrwm7aPuepMr4pQSkqUQABkk9K+1mtWTXXks2SEQqTLVhYyPZT492fkDRFYnYarUVODkcbWhWpL+u7vIIiRDwxUkbKIJwfv9O6vP\/wCk1h+1CtnopefvI94TUu7ym9M2BmFDGX3B2TWNiTjdfnk+pFTtP2lNntaGCB2yvadPP2u7PcKo3ZX8EYo03KSpvrLrsi0pSlRPRFKUoAVxlymoUVyS+rhbaTxKNdVKCUlSiAAMknpWSdW7q+7qjNLUm0xT7ak7dqr+vhv1poxvroRrVcCss29D1aor2o7t9dzW8Q28pjMq3zjbPrn3+VVOp7g5fb21boftIaX2aO5SycE+Xj51odTXFFqtSLdDTwvSU9kylO3AnYHy2OB\/KqbQluDk1+epPEhkdm0o\/tHmR7v+6rxeWN+B5tWN5Lh083nJ\/wB\/uhsLbb2bXAaiM7pbG6iN1HqTXZ51Edhx5w4Q2kqUfADNdKotXy\/o1hcaRu7JUGkJHM557eQ+NQSxSPTnJUqba2RH0SypUCTcHd3Jb5UT3gfzJpVzaIZt9pixSAFNtgLA\/a5n4k0om7ybOUIYKcYsmUpSlLCvKlJQgrWoJSkZJJwAK9Vlr7KfvN1Rp+EohsEKmLGNk5B+HzIFNGN2Sq1OXG+r26nyRdbjqGSuHY1djGRs5LOR6dfTfyrzNtFt01aHppBkTFDhbdd3PGeoHTqe\/atJChR7fFRGjNhDaBsO\/wAT41nb2DedUQ7SEgsxh2z\/AM8H3YH+KqRld2Whkq03GGKec3ku5X7ix0rbhb7GzlJDr47VzI335D0xVzSlSbu7m2nBQiorYUpXlxxDSCtxaUJHMqOAK4OeqrL\/AHVNotbj+R2qhwtJPVR648OdQ5msbVHUUMLXKcwcBpO2R0z+GazkiTdNWXRD0RhLSYWCAtQKUHOcnI8OWP1arCm73loYa\/FRUcNN3k+41tpdkQrMyq8ykpfVkkuKAI6geJxU2LPiTQoxZDb3Dz4FZxWDmNxUzMSZbt7uKjwpZbBDaT3Ejc+QxWj0tYnbS07Kl4Q++BltJwG0jod8E\/Lv3NdlBJXOUa85SUEslrnfz2uaBSQpJSoAgjBB61m7tpxUZf1jYR9GlN7qbQcJcHdjl7uRqUvVERd0bt8NpyY4pfCtTX2UDqc9cenjV3SLFAvJU66a1tv3eJUWnUDFwtLkx3DS2B+fQTjhPhnvqt07iQ7N1JPUEJcJS0VnZCBzPXy9x76qL7CcZ1Ou3wn+zRcuAuJBwASrfPoTjxqxuuZ8yPpe25THYCfpKhjZIx18PiSKrhW2\/wCDFzZt9vNxy6y29DpY0PagvS77ISUx2SURmieRwN\/66nwrV1yjR24kZqMynhbaSEpHgK61GUrs30afLjnq9eopSlKWFKVykyG4kZ2S8rhbaSVKPgKDjdldlBqy4PcLFnhK\/tMxWFY\/VTy92T17gauIseLZbWloKS2ywj21nbPeo+Jqk0ow7Pkyb\/LB43yUMgnPCnO+PDOw8jTU0p24zGdPwXMOuHikKGcITjIB+fp31ZrPB5mFTtF13q8kvx56memSn7ot64uIK3JazFhtkDZPX04gM96jW8tNvRa7YzDRglCfaUP1lHmfWs5ZGG7pqAyWR\/YbagMxh3kdefXc5x3Vr6KkvpOcHT1qPO\/9b8xWWnpVeNaR4mAqPb0hxzO44tj\/AJfj5Vo5UluHFdkunCGkFR91Z\/RcdS4km6PAF2Y6TnHQHf4k+lLHJORav25xp+L6L9mmpSlTNQpSlAFTqK8i0QMt4VKePCwjGcnbJ92flXPTNn+q7eFvDilP+26oj2hnfhz4fOq6Kn681m9KKuKNbhwN45FX\/vJ9wrV1SXZWEyU1zajqPRZL+WcZclEOI7JcICGkFRye4VQaPiPLZkXiUSXpyyR+6D95+AFcNZ3FK3I9nS6hsOqC31qOyU52z8+\/Yd9eRqGQ+hNu01BU4hoBAfWnCQO\/HIe\/0plF4epKpWhzs\/p272\/ZGsWtDaCtxQQlIyVKOAKo5+sLXEUW2VKlu42DO6c\/vfhmoqdKSrgsPXu5uPqx+ia2Sn38vQCryDaYFtSBEittkDHGBlR8zzpbQWuZbFXnosK++b8ijErVV29qNHatrChkKd3V8Rn4CvrejEvuB26XKRMV3ZwPjk+mKtLrqC32j2ZD2XSMhpAyr+VU5Tf9Sjcm1wFbcO\/GsfA\/IedMnLVZIjONO+GV5y7v7kj7cLjYdPxXY9vQ2JZQUAsjK0571nP3+VZi3oZ+idnNuwixXFcSmWgVrWeW4HLl19Ks5lhtw1BCs8RLi1D2pThVk4547ht8xWrY07Z42Ozt7JI6rHH880+KMV1M\/Jq15vJJRytnb0M9BurbXFF0xZFOKI3kO7Z8yfvI8qlDT97upBvN04GjgqYZ6juOMAfGtQlKUJCUJCUjkAMAV6qTqdxtjwqatN3Xcsl5Ih261w7UwGYjIQMe0rmpXiT1rpPmtW+C9Le+w0nix3noPecCpFZO\/vrvV4bsjBJZY\/OySlOeQzjnvzx5kVyKxPMpVkqVO0VnojPTjLK499UvEuW+pbTYOSlIwE7c+8e4VtdO2QWiES9hct48TrnM+WaxkiLNl3aC5IZVHMh0NssYILTaSAPEY8uhNfpdVqvJIw8FTTnKb2\/nV+IpSlZz1RSlKAFZjVD7lwmRrBGJ4nlBb5GfZSOXT3+4VopMhuJGdkvK4W2klSj4Cs9pFpctUy9SGwlyW4Q2e5IO+Pft\/hqkMu0Za7xtUlvr0\/ehbTpLFhsq3UpAQwjhbRjHEeQG3j99ZNanrZZHrg+D9aXdSkoGCFIQTvgenqnuqbcnGr9qDs3HALZbBxvryOFSuoPpj3GvVkZXqG8LvclHDFYPDFaJ+yRjf7\/Pyp4rCrsy1JOrPDDov5fhoi8sNsFptLMbA7THG6R1Wefpy91WNK+KUEpKlEAAZJPSot3dz0oxUIqK0RntYSlmE1bI5JkTVhISn9kHfOPHHxq7hRUQYTMVs5SygIBPXHWs1Y+K\/ajlXpwZjsfmo4UPTy2381VrKeeSUTPQ7cpVe\/JdF7ilKVM1CoF7n\/VtnkSgQFpRhGf2jsKn1ltePhFuisKJCXHuJXDzwB\/OngrySIcRPBSlJEzScEW6wNrcAQt7LqydsA8s+7FRbtrJhjjYtjf0t1IJU4PsIx18fl41GbTctWqwQqBaE7JASMuY5f1yHjTUMSNCiRLDbWOBc1xPGoDJIB5k9dznwwaoknLtamN1Jqj\/AI8orfd9Pc52TTxvhN5vDi3C8rKWx7PEBtk+G3Id1bBlhmM0GmGkNNp5JQMAVCcm2uxxG47slthDSAlKCcqx34G5qoc1VKuDyo9ht6nyDgvOjCR7vxPupXin0LQ5PDqz+bfdtmilS48JhT8l1LTaealGsyu8XbUL5YsqDGipOFyljBPl3eQ38q7R9Lyp0j6TqCYZRBylltRCB8vhWkbbQ02lttCUISMJSkYAHgK52Y\/djWq1tezH1fsU9r0tb7aQ6tP0qTzLzozv3gdPn41cKUlCCtRwlIyT3CvVV1\/eMexTXArhPZFIVvtnbp50t3J5llGFKDwqyRU6QSZsi4XlxGFSHeBBxjCRufu9K09VOmGEx9Ow0p\/WRxk95Uc\/fVtXZu8mLw8cNKN+vmKVBk3q2QyQ\/OYQoc08YKvQb1UP6wS68WLTBenOYzxBJSPTGflXFCT2Ozr04astrzdG7RbXJS8FQ9ltJP2ldBWb0IJbsibLdbCm3vtPK+0V5zgepJ91REJueqr6IVyWG2opKnUNAAI5AjO++dtycb1prpc4GnbclhOGldkoR20pzkj5bnmfGq2wrCtWY1Pm1Oc3aMfyVzObtrtx4JyzbkcGc5HFuPXJV\/DWpqi0lblwbR2juS9JUXFlWc+HP199XtTm87LY1cNFqGJ6vMUqPNmx7fFXJkuBDaBue\/wHjXqLKZmxkSI6wtpeeFQ64OKWztctiV8N8ztXltxDqAttQUk8iDsazupbw7xm0W7iMpYy6tJILSOZ36bfA1z0GhYtb7hUsoU7hPEO4DlTYOziZD4hOty0vE96wlvLZj2eKCXpywD+6D95+ANSL3MRp7TgaYIS5wBlnG2+Pte4ZPnUS2KF11nNm8QU1CT2TeMHc7c\/cr19aTUN5+nXvtGQHG4h7NhB6rPNXCRvuPgKrGN2o9xkqVsMZVL5vJdFue2Yjz\/YadZ4+NxQfuS9s74OM\/7ox\/irdxo7cSM1GZTwttJCUjwFVunbL9TwT2pC5Tx4nl89+7PhVvU6kruyNPDUcEcUtX6Lu9\/uKz2q7g4GW7PEwZU4hGM7pQTjPkdx5Zq8kyG4kZ2S8rhbaSVKPgKzemY7t0mvahmJAW4ShhO\/sgDBI+I9a5BW7T2GrycrUo6v0W5e2m3otdsZhowShPtKH6yjzPrUylKVu+ZojFRSSFKUrh0+HcYzjxrCajsj0Bpq5TJq5qu2ShSVDbh37+\/A9a3lQ7vBFytciJgcTiDw56K5g+tPCWFmbiaKqwa32Izmo7NGQsGY2OyA9hIOfAAdfdWVaNw1TqB6Zb1\/RENpCO1URxNpIxtjfJweXrVHEjPylPupcbSqI12ig6M5CcDGMHPQb7VobBaNRN28P26bGjtSDxcKxknG2fsn51fAoJ2eZ5nPqcRJKUezrkXcPR1sjq7SQHJjpwSp5W2fIffmr1ttDSAhtCUJHIJGAKzX0HWf+1of8A\/8dPoOs\/8Aa0P+Af8AjqTTesjfCcaa7NNrwXuaelZj6m1O9+nvqUf8pP4AU\/JW5L\/Taklq64HFsf4qXDHvKc6o9Kb817mnqvvzH0mxTGupaJHmNx8RVR+RnH+nvExzPPfn65oNB20niclS1nP7ad\/hXUop3uLKVaUXHBr9yVpa4sO6fipcebQttJQUlQHI7fDFQpmkWbrcHpZuxUHVcXClIOB3Zz05cqrLXp+3uX+da5qXeJv2mTx8OU\/fsR8aul6GtCs8KpCM9yxt6indoyumZoKdWmoygnbLW2mRTXDR8WAOM3phs9EyEgZ+O\/TpUVnVtxtqVRWlw320ghKm2eAA94ACflWmjaKszBytt1\/\/AJq\/wxVddIbE7UkSyxGG2WGMOyOBIGeuD7th+9TKalk8yU6FSn2odm+Vk2zlpS8W21tOx5qnGJTq+Jxx1Ox22Geffz768qQxqnWZKV8cWMgHf9dKTuPIk1K1XPanufVEKOiRK5uOcIPZAbkZ6ePdVJZ41zg2ty+wXkpDayhbShstIxv47n4V1K\/a0bFlJxao\/NGObt9v7mfoUyWxAiuSZCwhtsZJ+4eNRLHdxeoKpIZU0A4UgHfIHI5rHXy6StQRHZKUqYgRgnCTk8bhxtnqRk+Q86szcnLRpyDaoSSu4yGgUpTuW+I5yfHfb+VT5eX3Nfxd6jf0peZWarubl1muts4+iw1dmCN+NZO\/yOPAHvxVwq+ptsKPaLW19LnBsJPArjShZ55PXcn76kM6QiGxtwXStDhParWCCQvGPeBVrbLNBtDRREZ4Sr7S1bqV5muucLW7hKdCvjc27Yt+77IzNwgrsdgkOyHe3udxIbUrqAftJGOfL5V5ut1e0zbIVphEIkpQHHlbK4cnOPHJz7h4101TcGhqCM26cswUdspH7a87DH8PuJ9+bu7D6VMy5ij9KmBTy0EY4Uk4T64PwqkFe2Iy158tyVPbL382XUaZ9S6OL3ETKuS1cJKskDkTv\/XtVI0XYPs3aSO8MII\/6vwqBpyM5f7gwiWnii29oABOw57A9+d\/Sv0IAAYAwBSVJYbrdmjhaXNw1HpHJdd35n2lKh3a4ItdsemLwShPspP6yjyHrUEr5HqSkoptlDqR9y63eNp6MrCVELkqHQc\/gN\/eK0zLLcdlDLKAhtAwlKRsBVFpOAtERd0lZMmceMkk7I6fj5EVoaab+lbGehFu9WWsvRbClKUhpFKUoAUpSgD851hBRbryoskoblo41gd\/FuPUA1tbLcbfOgtIgOgpaQE9mogLQAMbj+hWSujM6+XqfPgn2baEhsp3Kik527z9o+nfVjDs1p1HDRcI6lRZZx2vYKxwr6+z0z4Y+daZWcVc8ii5RrSdNZP16Pqa2lZcW\/VdvJEa4tTWwNg\/9o+v419+utTR8CRYkuH\/AIJJHwJqODuZu+IS+aLXhf8ABp6VmPysnp2c05MQe72v8tfF3TU1xJbhWsQ0KGO1dOSPHfHh0NHLe4fFU38t34M0xcQFhBWkLVySTua9VQWjTAhTE3GbLclTRn2iTwjIwfE7H+VX9K0k8itOUpK8lYo77ZZUqQ1cbY+GJzI4QVclJ32+PWo8PVRju\/Q75HXDkJwC5jKFHHhy+IrSVHmRIstgoltNuNgZPGOXXn05UykrWZOVKSk503Z+jOcq5xY1tdnh1DjLSeLKFAhR6AHxyPWsLbJ8x0yPoRLl0uSzxLSdmUZ3PgefkAK53GDCmXVMDTwdc4z7ft\/m9u7wG+5q5h6Qu1v4jEurbKlgcRSg5PhmrJRis9zz5zq15rCsl3fxp+iwRaG9P6cmKZw5KUyrtHjtk48eg51lZFwH5NQrPDUXXHVFx8IGTni9lPj3+4Vo\/wAk5ssEXO9yHkn9RGcfE4+FWNs0xa7W6HmWlOOj7Ljp4iny6CuKcVq7spKhUqWUY4VaxDm6cee0vGtjDiULaKVKGMBZ6538SevKu9g099VrdlS3UyJjp3WBsgdw\/rwq8pUscrWNq4empqds0KUpSFypnacg3C5onyAtS0AAoJylQGeYPn0qp1raov0FVyytLyeFCQD7J3xy8vLlWsrC6ykuT5rkZn2mYDYW6Rv7RIH3j491VptuSzMHFxpwpSds3+S\/0lb\/AKBYmioAOSPzqtt9xsPTFXdQ7QtLlnhLTyLCP+0VMpJO7dzVRio04pdx8JAGScAVksnVt\/AwDbICs53w6r+ePTzqZqm5uoS1aIJzLmkJylWChOfv392atrXb27XbmobW4QPaV+0TzNMuyr7kZ\/5qnL+la9dl7ktKQlISkAADAA6V9pSpmsUr4VBIyogDvNQjerYJDccTmFOuKCUpSsKyTyG1dSbFcox1ZOpSlcGFV98uAtlofk5wsJ4W+f2jyqwrK3zjvWpYlnbIMdj88\/gg+o8tv8VPBXeZCvNwh2dXkifpO3G32JrjRwuv\/nV9+\/IemPjVdcokrTdyXeLe32kR0\/2lgdPEdw+XlWrAAGAMAUIBGCMg0Y3dtnHw65aismtGRLbdIt2iiRFc4k\/rJP2kHuIqZWfm6TZVI+l2ySu3yANuz+ydhtjoNvjUZNx1Rax2cq2pnoTjDjJOSOXT8K7hT+Vi86cMqsfFZr3RqaVmm9bwkr7OZDlRV4zhSc\/gfhXpzXNnQTwiQ5+62N\/UiucuXcN8VR\/6Ro6+EgDJOAKy51LdrkSiz2heARl1\/l9w+NfBpa43JfHe7qtaeLPYsn2fjsPSu4LfM7C\/EYv9cW\/RebJ8\/VdshgoZcMt7fDbO\/LvPKqaem53KIu43h0wbekZTFQrC3O4b9T4+laWDY7ZbsGLDbSsclkcSvU71R3viv+omLO2T9GikOSVDlnuz5bDxJ7qaLjfIjXjUce29cklpf7nvRNnMOGq4PJw7JA4M9Ec\/j9wrUV8SkJSEpAAAwAOlfanKWJ3NdGkqUFBbClK5Pyo8ZPFIfbaHe4sJ+dKUbS1OtKqH9U2Rj7U9Cj3Ngq+QqAvXENaiiHClSV5wAEgA\/M\/CnUJPYjLiaMdZI01Ky\/1xqadkQ7KIw6qfJBHlnHyp9RainY+n3vsRnPCwPwx4V3BbVi\/EYvki36fkubvdmLVBdfcWguJSeBsndSugx7xWNhTrU1p+cmVK7SfOClKw2SQeYGcDr418tNii3TUDiWFuv2+Put1z+8PdkY\/9DxraM2W1xwOyt8dJHI9mCfU70\/ZhkZUqvEPHkkrrv6szFm1hHiWmPDXFkvPtJ4fYAIIzt1z3dKnDVN0fH9l07IORspZOM\/w+XWuDynNJXp2T2RXbZygVkbltW\/4nzHlWradbeaS60sLQsZSpJyCK5JxWdtR6KqyWBzs1tZGFtrGpIU9+4fVZkPvbFTyuXkM1bfTNZr2+rYbfjxD\/ADmtPSldS+xSHC4FZTfp7GY4NZv\/AN5Djehx8DT6m1O9+nvqUf8AKT+AFaelcxvuQ\/w0XrJvxMwNGfSOE3G7S5RHMcWB8c+HpVlC01aIDiHGYaS4g5C1kqIPfvyNWtKHOT3Gjw9KLuo\/yKUpSFzjMkohQ3ZLhwhpBUaotHxnlx5F2lDL85wqB\/3c\/jn3Yr5rR5xVvj29nHaTHgnB6gEfeU1fRIyIcRqM2AENICRgdwqmkOpl+ev9or1f6O1K8O9oWV9kQHMHhJGRmsqI+tycfTGR44b\/AMtLGN9ylSrgt2W+hraVl023Vzu7t4Ybzt7KRn4JFPyXu7v6fUkjG2Qniwf+oU2FbsTnzelN+i\/k0rjTbqeFxtKxnOFDNeEMRoyfzbTTSR+ykJArOnRi3M9tepbnn\/M1zVoGMs5VcH1HxSDRaP8A0K6lbVU\/VGidulvYyHZ0dBHMKdSD86hu6osjJIVcGzj9gFXyFVH\/ANfxP\/7nv4RXVGgbYDlcmUrwCkj7q7an3iOfFvSCXifZ+t7aiK4IanHXyg9mezwkK6ZzVHY9TRLPFcKojj8p9ZU6vISPAD4n317tdggXW\/OpihxdsjjClqVu4rHQ+fwHjWsZ03ZmPsW5k8vtgr+eadunFWM8FxNaXMula6X6M47\/APILpz2NuQnuK3Cr5AVBf1xd3tm+wjjvSjJ+OflW\/RFjNJ4W47SE9yUACvXYtf6pH8IpVOC+ks+H4iWtX0Pzj60VNP8Abr\/MQOXC20cfAj5VNis6N4uJ+bJdUf8AXBQ\/7R99box2FDCmWyO4pFR3LTbXf0lviq8Syn8K7zF0FXByWbafVP3KiK5pBsgMmCD0LgHzVVwzOtxRhiXFKR+w4nHwqK5pmyuAhVvaGf2cp+RqM5ouyLOUx3EeCXVffmkbi92XjGtDSMfDL+C6Q805jgdQrPLhUDmqbVlwVDtYjtKIflq7NAScHHU59B764L0LaFZwqSjP7Lg29RVFD06xN1HJgx330xYf94VgqCtthgY559KaMY3vfQlWqV8ODDm8tf0bG1QI9ktrcYKQkgcTiiccSsDJ3r05e7U2cLuMUHu7VJqoRoW1g8Tr0p1XUqWPwqY3pKxtjH0EK8VOKP30rw3u2Vjz0koxSXX9HqXdLDOjLjSZ0VxpYwQXBWaj3VzSshTDUlm429asoSh4FbfuHL5HwrS\/krY\/9no\/iV+NeDpCwk5+gc\/+Kv8AGmjKCy2J1KXETakrJrfP2OkLU1onICkzENKPNDxCCPDfY+6rJD7Lv6N1C\/3VA1SnRdkIwI7g8Q6qoz+g7Y5u09IaPdxBQ+WfjS2g9GUUuJSzin4mnpVNZdPJszylomPPJUjhCF8k752HKrmkdk8jRByavJWYpSlcHFKUoAzF1SJutrZHG\/0dHaqzyG5I+QrT1RQrZL\/Kubc5SAGuANsEKByNt8dOXXvq9p5vRGehF9qTWr\/QpSlIaBSlKAFKUoAVRaqubkSCmHF3lTD2SEjng7Hr44Bq5kPtxo7j7qglDaSpRJxWasLDt7url\/lt4bB4YiVdAMj8ff5U8F9T2M1eTdqcdX6Ldl1ZrW3aLa3FRgqHtOKA+0rqan0pSt3d2XjFRSitEKUpXBhSlKAFKUoAjz5SYUB+Urk02VeZA2FUui4q2rQuW7+kluFZOMbch8cn3181tIKLQ3EbGXJToQB3gb\/PFXsSMiHEajNgBDSAkYHcKppDqZfn4j\/yvV\/o7UpSpmoUpSgBSlKAFKUoAUpSgBSlKAFKUoAUpSgBSlKAFKUoAzWsJC3kRbOyCXJjgzjoAR9\/yrQRo7cSM1GZTwttJCUjwFeFwYzk1uYtkGQ0kpQvqkH\/ANmpFM3kkiMKbVSU3v8AgUpSlLClKUAKUpQApSlAGXuH+kdcwoucohN9qodyuf8Ak\/rFais3p9la9R3qW60tJDnZtqI2Kcnkf8Ka0lPPZGbh1dSm92\/YUpSkNIpSlAClKUAKUpQApSlAClKUAKUpQApSlAClKUAKUpQApSlAClKUAKUpQApSlAClKUAKUpQApSlAClKUAKUpQApSlAClKUAKUpQB\/9k=",
    "razonSocial": "DSPRINT NUEVAS",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CLAUDIO ALCOCER",
    "correoContacto": "claudio.alcocer@rabinfinite.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56953211586",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1273\",\"id_control\":\"28644\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1274\",\"id_control\":\"28644\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1275\",\"id_control\":\"28644\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1276\",\"id_control\":\"28644\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R693\",\"id_control\":\"28644\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:29",
    "ubicacionGPS": "LatLng(lat: -22.3203544, lng: -68.8887418)",
    "horaLlegada": "11:48",
    "horaDespacho": "15:30",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 12:29:34
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-qj6ggiSzW-jt_ga4VxByREO.P0kYR4NoHTvcbd0SD1Np5I5BQD3
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "74782810",
    "serieinterna": "EP3171",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "Chuquicamata",
    "ciudadmaquina": "Calama",
    "departamentomaquina": "rab infiniti Puerta nro 4",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Instalacion impresora",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12533",
    "observacion": "Instalacion impresora",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADBAPcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABIEAABAwMCAwUEBQkECgMBAAABAgMEAAURBiESMUETUWFxkSKBobEUFTLB0RYjM0JScpLh8CRDgtIlU1ViY3OistPxBxc2VP\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAgQDBgYCAwEAAAAAAAABAgMREiExQQQTcSJRgZGh0RQyQmGx4cHwIzNScv\/aAAwDAQACEQMRAD8A\/ZqUpQApSlAClKUAKUpQApSlAClKUAKUpQApSlAClKUAKUrhNmMwIbsqQrhbaGTjn4D1oONpK7KvUt\/FkipS2kLkvA9mDyTjqakadnv3KysypASHFZB4QQDgkZ+FYq4dtMiuXeYE\/SLgvsorPDnhSMZUM+QHvzW+tsMW+2x4gIPZICSR1PU+uatOKjG25hoVZ1azf020\/BKpSlRN4pSlAClKUAKUrg\/NixR\/aJLTW2fbWBQcbSzZ3pXJiSxJRxsPIdTgHKFA7HlSgE76HWlKUHRSlKAFKUoAVykyG4sZyQ8rhbbSVKPgK61ldQSXLzdWdPxFHgyFSlpxgAYOPdz88U0Y3ZKtU5cb77dSzsF0l3dl6U9GSzGUvEc59ogbHPvFW9co0duLGbjsp4W20hKR4CutcbTeQ1NSjFKTuxSlK4OKUpQApSlAClKUAKyl6dVfdQM2Jo\/2dkhySoHu5j4geZ8KttQXcWi3laBxSHTwMIxnKu\/HhVGG\/wAldMOSFn\/SM3biP2kkjlnw3PnVYLfyMXEzT7GyzfTu8TrGbRedWBbaB9CtSQ23gbFQ8cd\/j0BrWVU6atZtdmaacSA84ON3bByeh8htVtSzd3ZFeHg4wvLV5v8Av2FKUpDQKUpQAqHcrpEtMbt5bnCnOEpAyVHuArnebszZreuS5hS+TbecFaqzaI7oYXqXUGHFJSDHjdAf1dvu95p4xvmzNWr4Xhjr6Jd7IV41jcpB4IiFQmFDKVY9tY789Pd61fQtH24tIendtKeUApXarIweeNsHr1qk0zbnr7eXLtOHG0hfESeSl7YGO4D7q31UqSw9mJl4Wm616lXPuv7GTjxm7LrhqHCBbjy2OJTfGSMgK\/y9e80rpEJuOvJL4P5uC12YOevLHqVelKSexp4ZK0raXdjUUpSpmoUpSgBSlVd01FbrSCl97jdH903ur393vrqTeSFnOMFeTsjxqO8KtFuCmUlUh5XZtDGcHvrnYrUzp+3KdmOth908Tzy1AAeGT\/Wazanbnqy9IlwGgwiNjgW4QQ2e\/lueuN8Vbs6MS+sPXe4PzHMcuIgDwyd8elWcVGNmzz41J1ajnCN0tNl92Wj2pbMwcLuDWf8Adyr5CojmtbKj7Lrrn7rR+\/FTGtOWZn7NuYO+fbTxfOpbcCEz+iiMN\/utgVPsfc024h7peZQ\/l1AUT2USWtI68A3+NG9eWpakpUzKRnmShOB\/1VpQABgDAFCkKGFAEdxovDuDl1\/+\/T9lTE1RZphCUTUNqP6roKPidqtULQ4kLQoKSeRScg1XS9O2maD2sFoKP6zY4D55FVbmkHIfE5Zbk9FcP6izlJ8Mj+ddtB6OxzFXjqk+mX59zT0rKi+3uzFIvcDtmOshjGeXp8qvrfdoN0b44chLhAypHJSfMc6VwazKQrwm7aPuepMr4pQSkqUQABkk9K+1mtWTXXks2SEQqTLVhYyPZT492fkDRFYnYarUVODkcbWhWpL+u7vIIiRDwxUkbKIJwfv9O6vP\/wCk1h+1CtnopefvI94TUu7ym9M2BmFDGX3B2TWNiTjdfnk+pFTtP2lNntaGCB2yvadPP2u7PcKo3ZX8EYo03KSpvrLrsi0pSlRPRFKUoAVxlymoUVyS+rhbaTxKNdVKCUlSiAAMknpWSdW7q+7qjNLUm0xT7ak7dqr+vhv1poxvroRrVcCss29D1aor2o7t9dzW8Q28pjMq3zjbPrn3+VVOp7g5fb21boftIaX2aO5SycE+Xj51odTXFFqtSLdDTwvSU9kylO3AnYHy2OB\/KqbQluDk1+epPEhkdm0o\/tHmR7v+6rxeWN+B5tWN5Lh083nJ\/wB\/uhsLbb2bXAaiM7pbG6iN1HqTXZ51Edhx5w4Q2kqUfADNdKotXy\/o1hcaRu7JUGkJHM557eQ+NQSxSPTnJUqba2RH0SypUCTcHd3Jb5UT3gfzJpVzaIZt9pixSAFNtgLA\/a5n4k0om7ybOUIYKcYsmUpSlLCvKlJQgrWoJSkZJJwAK9Vlr7KfvN1Rp+EohsEKmLGNk5B+HzIFNGN2Sq1OXG+r26nyRdbjqGSuHY1djGRs5LOR6dfTfyrzNtFt01aHppBkTFDhbdd3PGeoHTqe\/atJChR7fFRGjNhDaBsO\/wAT41nb2DedUQ7SEgsxh2z\/AM8H3YH+KqRld2Whkq03GGKec3ku5X7ix0rbhb7GzlJDr47VzI335D0xVzSlSbu7m2nBQiorYUpXlxxDSCtxaUJHMqOAK4OeqrL\/AHVNotbj+R2qhwtJPVR648OdQ5msbVHUUMLXKcwcBpO2R0z+GazkiTdNWXRD0RhLSYWCAtQKUHOcnI8OWP1arCm73loYa\/FRUcNN3k+41tpdkQrMyq8ykpfVkkuKAI6geJxU2LPiTQoxZDb3Dz4FZxWDmNxUzMSZbt7uKjwpZbBDaT3Ejc+QxWj0tYnbS07Kl4Q++BltJwG0jod8E\/Lv3NdlBJXOUa85SUEslrnfz2uaBSQpJSoAgjBB61m7tpxUZf1jYR9GlN7qbQcJcHdjl7uRqUvVERd0bt8NpyY4pfCtTX2UDqc9cenjV3SLFAvJU66a1tv3eJUWnUDFwtLkx3DS2B+fQTjhPhnvqt07iQ7N1JPUEJcJS0VnZCBzPXy9x76qL7CcZ1Ou3wn+zRcuAuJBwASrfPoTjxqxuuZ8yPpe25THYCfpKhjZIx18PiSKrhW2\/wCDFzZt9vNxy6y29DpY0PagvS77ISUx2SURmieRwN\/66nwrV1yjR24kZqMynhbaSEpHgK61GUrs30afLjnq9eopSlKWFKVykyG4kZ2S8rhbaSVKPgKDjdldlBqy4PcLFnhK\/tMxWFY\/VTy92T17gauIseLZbWloKS2ywj21nbPeo+Jqk0ow7Pkyb\/LB43yUMgnPCnO+PDOw8jTU0p24zGdPwXMOuHikKGcITjIB+fp31ZrPB5mFTtF13q8kvx56memSn7ot64uIK3JazFhtkDZPX04gM96jW8tNvRa7YzDRglCfaUP1lHmfWs5ZGG7pqAyWR\/YbagMxh3kdefXc5x3Vr6KkvpOcHT1qPO\/9b8xWWnpVeNaR4mAqPb0hxzO44tj\/AJfj5Vo5UluHFdkunCGkFR91Z\/RcdS4km6PAF2Y6TnHQHf4k+lLHJORav25xp+L6L9mmpSlTNQpSlAFTqK8i0QMt4VKePCwjGcnbJ92flXPTNn+q7eFvDilP+26oj2hnfhz4fOq6Kn681m9KKuKNbhwN45FX\/vJ9wrV1SXZWEyU1zajqPRZL+WcZclEOI7JcICGkFRye4VQaPiPLZkXiUSXpyyR+6D95+AFcNZ3FK3I9nS6hsOqC31qOyU52z8+\/Yd9eRqGQ+hNu01BU4hoBAfWnCQO\/HIe\/0plF4epKpWhzs\/p272\/ZGsWtDaCtxQQlIyVKOAKo5+sLXEUW2VKlu42DO6c\/vfhmoqdKSrgsPXu5uPqx+ia2Sn38vQCryDaYFtSBEittkDHGBlR8zzpbQWuZbFXnosK++b8ijErVV29qNHatrChkKd3V8Rn4CvrejEvuB26XKRMV3ZwPjk+mKtLrqC32j2ZD2XSMhpAyr+VU5Tf9Sjcm1wFbcO\/GsfA\/IedMnLVZIjONO+GV5y7v7kj7cLjYdPxXY9vQ2JZQUAsjK0571nP3+VZi3oZ+idnNuwixXFcSmWgVrWeW4HLl19Ks5lhtw1BCs8RLi1D2pThVk4547ht8xWrY07Z42Ozt7JI6rHH880+KMV1M\/Jq15vJJRytnb0M9BurbXFF0xZFOKI3kO7Z8yfvI8qlDT97upBvN04GjgqYZ6juOMAfGtQlKUJCUJCUjkAMAV6qTqdxtjwqatN3Xcsl5Ih261w7UwGYjIQMe0rmpXiT1rpPmtW+C9Le+w0nix3noPecCpFZO\/vrvV4bsjBJZY\/OySlOeQzjnvzx5kVyKxPMpVkqVO0VnojPTjLK499UvEuW+pbTYOSlIwE7c+8e4VtdO2QWiES9hct48TrnM+WaxkiLNl3aC5IZVHMh0NssYILTaSAPEY8uhNfpdVqvJIw8FTTnKb2\/nV+IpSlZz1RSlKAFZjVD7lwmRrBGJ4nlBb5GfZSOXT3+4VopMhuJGdkvK4W2klSj4Cs9pFpctUy9SGwlyW4Q2e5IO+Pft\/hqkMu0Za7xtUlvr0\/ehbTpLFhsq3UpAQwjhbRjHEeQG3j99ZNanrZZHrg+D9aXdSkoGCFIQTvgenqnuqbcnGr9qDs3HALZbBxvryOFSuoPpj3GvVkZXqG8LvclHDFYPDFaJ+yRjf7\/Pyp4rCrsy1JOrPDDov5fhoi8sNsFptLMbA7THG6R1Wefpy91WNK+KUEpKlEAAZJPSot3dz0oxUIqK0RntYSlmE1bI5JkTVhISn9kHfOPHHxq7hRUQYTMVs5SygIBPXHWs1Y+K\/ajlXpwZjsfmo4UPTy2381VrKeeSUTPQ7cpVe\/JdF7ilKVM1CoF7n\/VtnkSgQFpRhGf2jsKn1ltePhFuisKJCXHuJXDzwB\/OngrySIcRPBSlJEzScEW6wNrcAQt7LqydsA8s+7FRbtrJhjjYtjf0t1IJU4PsIx18fl41GbTctWqwQqBaE7JASMuY5f1yHjTUMSNCiRLDbWOBc1xPGoDJIB5k9dznwwaoknLtamN1Jqj\/AI8orfd9Pc52TTxvhN5vDi3C8rKWx7PEBtk+G3Id1bBlhmM0GmGkNNp5JQMAVCcm2uxxG47slthDSAlKCcqx34G5qoc1VKuDyo9ht6nyDgvOjCR7vxPupXin0LQ5PDqz+bfdtmilS48JhT8l1LTaealGsyu8XbUL5YsqDGipOFyljBPl3eQ38q7R9Lyp0j6TqCYZRBylltRCB8vhWkbbQ02lttCUISMJSkYAHgK52Y\/djWq1tezH1fsU9r0tb7aQ6tP0qTzLzozv3gdPn41cKUlCCtRwlIyT3CvVV1\/eMexTXArhPZFIVvtnbp50t3J5llGFKDwqyRU6QSZsi4XlxGFSHeBBxjCRufu9K09VOmGEx9Ow0p\/WRxk95Uc\/fVtXZu8mLw8cNKN+vmKVBk3q2QyQ\/OYQoc08YKvQb1UP6wS68WLTBenOYzxBJSPTGflXFCT2Ozr04astrzdG7RbXJS8FQ9ltJP2ldBWb0IJbsibLdbCm3vtPK+0V5zgepJ91REJueqr6IVyWG2opKnUNAAI5AjO++dtycb1prpc4GnbclhOGldkoR20pzkj5bnmfGq2wrCtWY1Pm1Oc3aMfyVzObtrtx4JyzbkcGc5HFuPXJV\/DWpqi0lblwbR2juS9JUXFlWc+HP199XtTm87LY1cNFqGJ6vMUqPNmx7fFXJkuBDaBue\/wHjXqLKZmxkSI6wtpeeFQ64OKWztctiV8N8ztXltxDqAttQUk8iDsazupbw7xm0W7iMpYy6tJILSOZ36bfA1z0GhYtb7hUsoU7hPEO4DlTYOziZD4hOty0vE96wlvLZj2eKCXpywD+6D95+ANSL3MRp7TgaYIS5wBlnG2+Pte4ZPnUS2KF11nNm8QU1CT2TeMHc7c\/cr19aTUN5+nXvtGQHG4h7NhB6rPNXCRvuPgKrGN2o9xkqVsMZVL5vJdFue2Yjz\/YadZ4+NxQfuS9s74OM\/7ox\/irdxo7cSM1GZTwttJCUjwFVunbL9TwT2pC5Tx4nl89+7PhVvU6kruyNPDUcEcUtX6Lu9\/uKz2q7g4GW7PEwZU4hGM7pQTjPkdx5Zq8kyG4kZ2S8rhbaSVKPgKzemY7t0mvahmJAW4ShhO\/sgDBI+I9a5BW7T2GrycrUo6v0W5e2m3otdsZhowShPtKH6yjzPrUylKVu+ZojFRSSFKUrh0+HcYzjxrCajsj0Bpq5TJq5qu2ShSVDbh37+\/A9a3lQ7vBFytciJgcTiDw56K5g+tPCWFmbiaKqwa32Izmo7NGQsGY2OyA9hIOfAAdfdWVaNw1TqB6Zb1\/RENpCO1URxNpIxtjfJweXrVHEjPylPupcbSqI12ig6M5CcDGMHPQb7VobBaNRN28P26bGjtSDxcKxknG2fsn51fAoJ2eZ5nPqcRJKUezrkXcPR1sjq7SQHJjpwSp5W2fIffmr1ttDSAhtCUJHIJGAKzX0HWf+1of8A\/8dPoOs\/8Aa0P+Af8AjqTTesjfCcaa7NNrwXuaelZj6m1O9+nvqUf8pP4AU\/JW5L\/Taklq64HFsf4qXDHvKc6o9Kb817mnqvvzH0mxTGupaJHmNx8RVR+RnH+nvExzPPfn65oNB20niclS1nP7ad\/hXUop3uLKVaUXHBr9yVpa4sO6fipcebQttJQUlQHI7fDFQpmkWbrcHpZuxUHVcXClIOB3Zz05cqrLXp+3uX+da5qXeJv2mTx8OU\/fsR8aul6GtCs8KpCM9yxt6indoyumZoKdWmoygnbLW2mRTXDR8WAOM3phs9EyEgZ+O\/TpUVnVtxtqVRWlw320ghKm2eAA94ACflWmjaKszBytt1\/\/AJq\/wxVddIbE7UkSyxGG2WGMOyOBIGeuD7th+9TKalk8yU6FSn2odm+Vk2zlpS8W21tOx5qnGJTq+Jxx1Ox22Geffz768qQxqnWZKV8cWMgHf9dKTuPIk1K1XPanufVEKOiRK5uOcIPZAbkZ6ePdVJZ41zg2ty+wXkpDayhbShstIxv47n4V1K\/a0bFlJxao\/NGObt9v7mfoUyWxAiuSZCwhtsZJ+4eNRLHdxeoKpIZU0A4UgHfIHI5rHXy6StQRHZKUqYgRgnCTk8bhxtnqRk+Q86szcnLRpyDaoSSu4yGgUpTuW+I5yfHfb+VT5eX3Nfxd6jf0peZWarubl1muts4+iw1dmCN+NZO\/yOPAHvxVwq+ptsKPaLW19LnBsJPArjShZ55PXcn76kM6QiGxtwXStDhParWCCQvGPeBVrbLNBtDRREZ4Sr7S1bqV5muucLW7hKdCvjc27Yt+77IzNwgrsdgkOyHe3udxIbUrqAftJGOfL5V5ut1e0zbIVphEIkpQHHlbK4cnOPHJz7h4101TcGhqCM26cswUdspH7a87DH8PuJ9+bu7D6VMy5ij9KmBTy0EY4Uk4T64PwqkFe2Iy158tyVPbL382XUaZ9S6OL3ETKuS1cJKskDkTv\/XtVI0XYPs3aSO8MII\/6vwqBpyM5f7gwiWnii29oABOw57A9+d\/Sv0IAAYAwBSVJYbrdmjhaXNw1HpHJdd35n2lKh3a4ItdsemLwShPspP6yjyHrUEr5HqSkoptlDqR9y63eNp6MrCVELkqHQc\/gN\/eK0zLLcdlDLKAhtAwlKRsBVFpOAtERd0lZMmceMkk7I6fj5EVoaab+lbGehFu9WWsvRbClKUhpFKUoAUpSgD851hBRbryoskoblo41gd\/FuPUA1tbLcbfOgtIgOgpaQE9mogLQAMbj+hWSujM6+XqfPgn2baEhsp3Kik527z9o+nfVjDs1p1HDRcI6lRZZx2vYKxwr6+z0z4Y+daZWcVc8ii5RrSdNZP16Pqa2lZcW\/VdvJEa4tTWwNg\/9o+v419+utTR8CRYkuH\/AIJJHwJqODuZu+IS+aLXhf8ABp6VmPysnp2c05MQe72v8tfF3TU1xJbhWsQ0KGO1dOSPHfHh0NHLe4fFU38t34M0xcQFhBWkLVySTua9VQWjTAhTE3GbLclTRn2iTwjIwfE7H+VX9K0k8itOUpK8lYo77ZZUqQ1cbY+GJzI4QVclJ32+PWo8PVRju\/Q75HXDkJwC5jKFHHhy+IrSVHmRIstgoltNuNgZPGOXXn05UykrWZOVKSk503Z+jOcq5xY1tdnh1DjLSeLKFAhR6AHxyPWsLbJ8x0yPoRLl0uSzxLSdmUZ3PgefkAK53GDCmXVMDTwdc4z7ft\/m9u7wG+5q5h6Qu1v4jEurbKlgcRSg5PhmrJRis9zz5zq15rCsl3fxp+iwRaG9P6cmKZw5KUyrtHjtk48eg51lZFwH5NQrPDUXXHVFx8IGTni9lPj3+4Vo\/wAk5ssEXO9yHkn9RGcfE4+FWNs0xa7W6HmWlOOj7Ljp4iny6CuKcVq7spKhUqWUY4VaxDm6cee0vGtjDiULaKVKGMBZ6538SevKu9g099VrdlS3UyJjp3WBsgdw\/rwq8pUscrWNq4empqds0KUpSFypnacg3C5onyAtS0AAoJylQGeYPn0qp1raov0FVyytLyeFCQD7J3xy8vLlWsrC6ykuT5rkZn2mYDYW6Rv7RIH3j491VptuSzMHFxpwpSds3+S\/0lb\/AKBYmioAOSPzqtt9xsPTFXdQ7QtLlnhLTyLCP+0VMpJO7dzVRio04pdx8JAGScAVksnVt\/AwDbICs53w6r+ePTzqZqm5uoS1aIJzLmkJylWChOfv392atrXb27XbmobW4QPaV+0TzNMuyr7kZ\/5qnL+la9dl7ktKQlISkAADAA6V9pSpmsUr4VBIyogDvNQjerYJDccTmFOuKCUpSsKyTyG1dSbFcox1ZOpSlcGFV98uAtlofk5wsJ4W+f2jyqwrK3zjvWpYlnbIMdj88\/gg+o8tv8VPBXeZCvNwh2dXkifpO3G32JrjRwuv\/nV9+\/IemPjVdcokrTdyXeLe32kR0\/2lgdPEdw+XlWrAAGAMAUIBGCMg0Y3dtnHw65aismtGRLbdIt2iiRFc4k\/rJP2kHuIqZWfm6TZVI+l2ySu3yANuz+ydhtjoNvjUZNx1Rax2cq2pnoTjDjJOSOXT8K7hT+Vi86cMqsfFZr3RqaVmm9bwkr7OZDlRV4zhSc\/gfhXpzXNnQTwiQ5+62N\/UiucuXcN8VR\/6Ro6+EgDJOAKy51LdrkSiz2heARl1\/l9w+NfBpa43JfHe7qtaeLPYsn2fjsPSu4LfM7C\/EYv9cW\/RebJ8\/VdshgoZcMt7fDbO\/LvPKqaem53KIu43h0wbekZTFQrC3O4b9T4+laWDY7ZbsGLDbSsclkcSvU71R3viv+omLO2T9GikOSVDlnuz5bDxJ7qaLjfIjXjUce29cklpf7nvRNnMOGq4PJw7JA4M9Ec\/j9wrUV8SkJSEpAAAwAOlfanKWJ3NdGkqUFBbClK5Pyo8ZPFIfbaHe4sJ+dKUbS1OtKqH9U2Rj7U9Cj3Ngq+QqAvXENaiiHClSV5wAEgA\/M\/CnUJPYjLiaMdZI01Ky\/1xqadkQ7KIw6qfJBHlnHyp9RainY+n3vsRnPCwPwx4V3BbVi\/EYvki36fkubvdmLVBdfcWguJSeBsndSugx7xWNhTrU1p+cmVK7SfOClKw2SQeYGcDr418tNii3TUDiWFuv2+Put1z+8PdkY\/9DxraM2W1xwOyt8dJHI9mCfU70\/ZhkZUqvEPHkkrrv6szFm1hHiWmPDXFkvPtJ4fYAIIzt1z3dKnDVN0fH9l07IORspZOM\/w+XWuDynNJXp2T2RXbZygVkbltW\/4nzHlWradbeaS60sLQsZSpJyCK5JxWdtR6KqyWBzs1tZGFtrGpIU9+4fVZkPvbFTyuXkM1bfTNZr2+rYbfjxD\/ADmtPSldS+xSHC4FZTfp7GY4NZv\/AN5Djehx8DT6m1O9+nvqUf8AKT+AFaelcxvuQ\/w0XrJvxMwNGfSOE3G7S5RHMcWB8c+HpVlC01aIDiHGYaS4g5C1kqIPfvyNWtKHOT3Gjw9KLuo\/yKUpSFzjMkohQ3ZLhwhpBUaotHxnlx5F2lDL85wqB\/3c\/jn3Yr5rR5xVvj29nHaTHgnB6gEfeU1fRIyIcRqM2AENICRgdwqmkOpl+ev9or1f6O1K8O9oWV9kQHMHhJGRmsqI+tycfTGR44b\/AMtLGN9ylSrgt2W+hraVl023Vzu7t4Ybzt7KRn4JFPyXu7v6fUkjG2Qniwf+oU2FbsTnzelN+i\/k0rjTbqeFxtKxnOFDNeEMRoyfzbTTSR+ykJArOnRi3M9tepbnn\/M1zVoGMs5VcH1HxSDRaP8A0K6lbVU\/VGidulvYyHZ0dBHMKdSD86hu6osjJIVcGzj9gFXyFVH\/ANfxP\/7nv4RXVGgbYDlcmUrwCkj7q7an3iOfFvSCXifZ+t7aiK4IanHXyg9mezwkK6ZzVHY9TRLPFcKojj8p9ZU6vISPAD4n317tdggXW\/OpihxdsjjClqVu4rHQ+fwHjWsZ03ZmPsW5k8vtgr+eadunFWM8FxNaXMula6X6M47\/APILpz2NuQnuK3Cr5AVBf1xd3tm+wjjvSjJ+OflW\/RFjNJ4W47SE9yUACvXYtf6pH8IpVOC+ks+H4iWtX0Pzj60VNP8Abr\/MQOXC20cfAj5VNis6N4uJ+bJdUf8AXBQ\/7R99box2FDCmWyO4pFR3LTbXf0lviq8Syn8K7zF0FXByWbafVP3KiK5pBsgMmCD0LgHzVVwzOtxRhiXFKR+w4nHwqK5pmyuAhVvaGf2cp+RqM5ouyLOUx3EeCXVffmkbi92XjGtDSMfDL+C6Q805jgdQrPLhUDmqbVlwVDtYjtKIflq7NAScHHU59B764L0LaFZwqSjP7Lg29RVFD06xN1HJgx330xYf94VgqCtthgY559KaMY3vfQlWqV8ODDm8tf0bG1QI9ktrcYKQkgcTiiccSsDJ3r05e7U2cLuMUHu7VJqoRoW1g8Tr0p1XUqWPwqY3pKxtjH0EK8VOKP30rw3u2Vjz0koxSXX9HqXdLDOjLjSZ0VxpYwQXBWaj3VzSshTDUlm429asoSh4FbfuHL5HwrS\/krY\/9no\/iV+NeDpCwk5+gc\/+Kv8AGmjKCy2J1KXETakrJrfP2OkLU1onICkzENKPNDxCCPDfY+6rJD7Lv6N1C\/3VA1SnRdkIwI7g8Q6qoz+g7Y5u09IaPdxBQ+WfjS2g9GUUuJSzin4mnpVNZdPJszylomPPJUjhCF8k752HKrmkdk8jRByavJWYpSlcHFKUoAzF1SJutrZHG\/0dHaqzyG5I+QrT1RQrZL\/Kubc5SAGuANsEKByNt8dOXXvq9p5vRGehF9qTWr\/QpSlIaBSlKAFKUoAVRaqubkSCmHF3lTD2SEjng7Hr44Bq5kPtxo7j7qglDaSpRJxWasLDt7url\/lt4bB4YiVdAMj8ff5U8F9T2M1eTdqcdX6Ldl1ZrW3aLa3FRgqHtOKA+0rqan0pSt3d2XjFRSitEKUpXBhSlKAFKUoAjz5SYUB+Urk02VeZA2FUui4q2rQuW7+kluFZOMbch8cn3181tIKLQ3EbGXJToQB3gb\/PFXsSMiHEajNgBDSAkYHcKppDqZfn4j\/yvV\/o7UpSpmoUpSgBSlKAFKUoAUpSgBSlKAFKUoAUpSgBSlKAFKUoAzWsJC3kRbOyCXJjgzjoAR9\/yrQRo7cSM1GZTwttJCUjwFeFwYzk1uYtkGQ0kpQvqkH\/ANmpFM3kkiMKbVSU3v8AgUpSlLClKUAKUpQApSlAGXuH+kdcwoucohN9qodyuf8Ak\/rFais3p9la9R3qW60tJDnZtqI2Kcnkf8Ka0lPPZGbh1dSm92\/YUpSkNIpSlAClKUAKUpQApSlAClKUAKUpQApSlAClKUAKUpQApSlAClKUAKUpQApSlAClKUAKUpQApSlAClKUAKUpQApSlAClKUAKUpQB\/9k=",
    "razonSocial": "DSPRINT NUEVAS",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CLAUDIO ALCOCER",
    "correoContacto": "claudio.alcocer@rabinfinite.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56953211586",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1273\",\"id_control\":\"28644\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1274\",\"id_control\":\"28644\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1275\",\"id_control\":\"28644\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1276\",\"id_control\":\"28644\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R693\",\"id_control\":\"28644\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:29",
    "ubicacionGPS": "LatLng(lat: -22.3203544, lng: -68.8887418)",
    "horaLlegada": "11:48",
    "horaDespacho": "15:30",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 12:29:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:74782810

[12/05/2026 12:29:34] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('74782810', 'EP3171', 1, 19969062, 0, NOW(), 
				'15:30', '11:48', '12:29', 1, 'Instalacion impresora', -1, 
				'', '','1','0',
				'0',2,'../csj.digital-service.cl/uploads/firmas/firma_0_1778603374.png', 'Instalacion impresora', null, 'COMPLETADO','LatLng(lat: -22.3203544, lng: -68.8887418)' )
				
[12/05/2026 12:29:34] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200274

12/05/2026 12:29:34 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '74782810'
				   AND serieintmaquina = 'EP3171'
		
12/05/2026 12:29:34 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP3171'
				   AND estado = 1
				
12/05/2026 12:29:34 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('74782810', 'EP3171', 2, 1, now(), 'Chuquicamata', 'Calama', 'rab infiniti Puerta nro 4');
				
=========================================
FECHA: 12/05/2026 12:29:34
listaInsumosUsadosConsolidado===

idReport:200274

idInventario:EPS-I1273

idControl:28644

cantidadAsignada:1

cantidadUsada:1

[12/05/2026 12:29:34] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200274', 'EPS-I1273', 1)
				
[12/05/2026 12:29:34] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28644 and
				    IDproducto = 'EPS-I1273'
				

12/05/2026 12:29:34 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1273';
                
=========================================
FECHA: 12/05/2026 12:29:34
listaInsumosUsadosConsolidado===

idReport:200274

idInventario:EPS-I1274

idControl:28644

cantidadAsignada:1

cantidadUsada:1

[12/05/2026 12:29:34] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200274', 'EPS-I1274', 1)
				
[12/05/2026 12:29:34] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28644 and
				    IDproducto = 'EPS-I1274'
				

12/05/2026 12:29:34 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1274';
                
=========================================
FECHA: 12/05/2026 12:29:34
listaInsumosUsadosConsolidado===

idReport:200274

idInventario:EPS-I1275

idControl:28644

cantidadAsignada:1

cantidadUsada:1

[12/05/2026 12:29:34] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200274', 'EPS-I1275', 1)
				
[12/05/2026 12:29:34] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28644 and
				    IDproducto = 'EPS-I1275'
				

12/05/2026 12:29:34 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1275';
                
=========================================
FECHA: 12/05/2026 12:29:34
listaInsumosUsadosConsolidado===

idReport:200274

idInventario:EPS-I1276

idControl:28644

cantidadAsignada:1

cantidadUsada:1

[12/05/2026 12:29:34] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200274', 'EPS-I1276', 1)
				
[12/05/2026 12:29:34] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28644 and
				    IDproducto = 'EPS-I1276'
				

12/05/2026 12:29:34 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1276';
                
=========================================
FECHA: 12/05/2026 12:29:34
listaInsumosUsadosConsolidado===

idReport:200274

idInventario:EPS-R693

idControl:28644

cantidadAsignada:1

cantidadUsada:1

[12/05/2026 12:29:34] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200274', 'EPS-R693', 1)
				
[12/05/2026 12:29:34] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28644 and
				    IDproducto = 'EPS-R693'
				

12/05/2026 12:29:34 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R693';
                
12/05/2026 12:29:34 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200274'                    
				WHERE idllamado = 12533			
				TO ENVIO: null, claudio.alcocer@rabinfinite.cl


12/05/2026 12:29:34 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12533			
				
12/05/2026 12:29:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 12:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 12:29:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 12:29:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                [12/05/2026 12:29: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/05/2026 12:29:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 12:29:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 12:29:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 12:29:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 12:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 12:29:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 12:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 12:29:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [12/05/2026 12:29: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/05/2026 12:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                [12/05/2026 12:29: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/05/2026 12:29: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/05/2026 12:29:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 12:29:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 12:29:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 12:29:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
12/05/2026 12:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 12:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
12/05/2026 13:06:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12540
                
12/05/2026 13:06:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 13:06:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            [12/05/2026 13:06: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/05/2026 13:06: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/05/2026 13: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 = 12540
                
12/05/2026 13: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 = 12540
                
12/05/2026 13: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 = 12540
                [12/05/2026 13:06: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/05/2026 13:06:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            [12/05/2026 13:06: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/05/2026 13:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 13:06:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 13:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 13:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 13:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 13:06:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            [12/05/2026 13:06: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/05/2026 13:06:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 13:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                [12/05/2026 13:06: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/05/2026 13:06:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12539
                
12/05/2026 13: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 = 12539
                
12/05/2026 13: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 = 12539
                
12/05/2026 13:06:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            [12/05/2026 13:06: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/05/2026 13:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 13:06:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            [12/05/2026 13:06: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/05/2026 13:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 13:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 13:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                [12/05/2026 13: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;
                
[12/05/2026 13: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;
                

12/05/2026 13: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 = 12538
                
12/05/2026 13:06:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 13:06:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 13:06:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12538
                
12/05/2026 13: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 = 12538
                
12/05/2026 13: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 = 12538
                
12/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            [12/05/2026 13:06: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/05/2026 13: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 = 12538
                
12/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            [12/05/2026 13:06: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/05/2026 13: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 = 12538
                
12/05/2026 13: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 = 12538
                
12/05/2026 13: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 = 12538
                [12/05/2026 13:06: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/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            [12/05/2026 13:06: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/05/2026 13: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 = 12537
                
12/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12537
                
12/05/2026 13:06:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 13:06:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                [12/05/2026 13:07: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/05/2026 13:07:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            [12/05/2026 13:07: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/05/2026 13:07:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 13:07:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 13:07:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 13: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 = 12537
                
12/05/2026 13: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 = 12537
                
12/05/2026 13: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 = 12536
                [12/05/2026 13:07: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/05/2026 13:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 13:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 13:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 13:07: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/05/2026 13:07:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 13:07:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 13:07:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                [12/05/2026 13:07: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/05/2026 13:07: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/05/2026 13:07:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 13:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 13:07:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 13:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 13:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 13:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                [12/05/2026 13:07: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/05/2026 13:07:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            
12/05/2026 13:07:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            [12/05/2026 13:07: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/05/2026 13:07:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            
12/05/2026 13:07:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:07:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:07:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:07:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            [12/05/2026 13:07: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/05/2026 13:07:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            
12/05/2026 13:07:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            
12/05/2026 13:07:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            [12/05/2026 13:07: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/05/2026 13:07:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:07:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:07:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:07:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:07:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:07:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            
12/05/2026 13:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:07:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12548
                
12/05/2026 13: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 = 12548
                
12/05/2026 13:07:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12548
                
12/05/2026 13: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 = 12548
                
12/05/2026 13: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 = 12548
                
12/05/2026 13: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 = 12548
                
12/05/2026 13: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 = 12548
                
12/05/2026 13:07:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12548
                
12/05/2026 13:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13: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 = 12548
                
12/05/2026 13:08:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12548
                
12/05/2026 13:08:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12548
                
12/05/2026 13: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 = 12548
                
12/05/2026 13:08:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:08:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:09:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            
12/05/2026 13:09:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:09:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:09:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:09:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:09:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            
12/05/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 = 12548
                
12/05/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 = 12548
                
12/05/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 = 12548
                
12/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            
12/05/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 = 12548
                
12/05/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 = 12548
                
12/05/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 = 12548
                [12/05/2026 13:19:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 13:19:50] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/05/2026 13:19:50] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[12/05/2026 13:19:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 13:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12548
                
12/05/2026 13: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 = 12548
                
12/05/2026 13:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12548
                
12/05/2026 13: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 = 12548
                
12/05/2026 13: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 = 12548
                
12/05/2026 13: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 = 12548
                
12/05/2026 13:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:25:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            
12/05/2026 13:25:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            
12/05/2026 13:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13: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 = 12548
                
12/05/2026 13: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 = 12548
                
12/05/2026 13:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                [12/05/2026 13:36:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 13:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                [12/05/2026 13:36:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 13:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:36:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                [12/05/2026 13:36: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/05/2026 13:36: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/05/2026 13:36:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:36:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:36:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:36:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12548
                
12/05/2026 13: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 = 12548
                
12/05/2026 13:36:25 - logentry: =========================================
FECHA: 12/05/2026 13:36:25
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-0HeVAwF7Ei5vG.DljiG2.b4qP6-R62+n-fdHE4jv50EClpoOOBl
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3031",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "77413",
    "contadorColor": "10856",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\ncambio de Repuesto",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12548",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADHARwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABMEAABAwMBBAYGBwQGBwkAAAABAAIDBAURBhIhMUETUWFxgZEUIjKhscEVFiMzQrLRUnSC8DU2cqLC4QckNEVUYtIlJkRTZXOSo+L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAA1EQACAQIDAwsDBAIDAAAAAAAAAQIDERIhMQRBURMiMmFxgaGxwdHhI0KRFDREglJyQ2Lx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQHlwJYQ12ySNx6lQacutU+qqrTc37VZTvJa47ttv8AO\/uPYtCs1qqhlhfDfaIYqKQ5kA\/Ezt+HcT1KcLPJmevijapHdquo0qKNb66K5UMVXCfUkbnH7J5jwKkqGhemmroIiIdCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC8ua17Cx7Q5rhggjIIXpEBk7YXaa1A+1zPIoav1qdzjuDurPu8utaxVGpbXHc7U\/LgyaEF8Ty7ZAPUT1FU1FrdjbXBHJTy1Nf7BYzdtY4HPb2DirWnNXWpijUjs8nCby1XsbBFmYY9S3eoElRJ9F0oIcI2b3OGc4O\/PLs7lplBqxpp1Medml1hERRLAiIgCIiAIiIAiIgCLxNK2GF8r\/ZY0uPcFGtdyhu1E2rgZIyNxIAkAB3HHIldtlcjiV8O8mIiLhIIiIAiIgCIiAIiIAiIgCIiAIiIAi8SyxwxuklkbGxoy5zjgDxWbqtXOqJ\/RbHRvrJv23NIYPDj54UlFy0KqlaFPpM0ksscETpZntjjYMuc44ACztRq\/p6j0Wy0UldL+2QQ0dvXjvwvEWmq66SNqNQVrpADltNEcNb8vLzWhpKOmoYRDSwMhYOTRjPf1qXNj1lV61TTmrx+DOfV27XiUS3yu2Ys5FPAdw+Q964XGkbpK6U1yooyKKQCGePJPj7s947VsVHrqKG4UclLO3aZIMdx5EdyKo756EZbLHDePS4vU7Me2SNsjHBzXAFpHML0s1pStmgknsVacT0h+zzxcz+cEdh7FpVGUcLsX0qiqQUgiIoloREQBERAEREAREQEC+PDLDXl3D0d482kKLpJhZpmjDuOHHzeSveqJOi03WuzjLA3zIHzXXT7OjsFC3rgafMZ+an9neZv5P8AX1LFERQNIREQBERAEREAREQBERAEREB8JAGScALP3HVcMU4o7XEa+qccYZva09\/Pw81ErZq3U11mtlLKYbfAQJpW8X9nbnlywMrQW21UlqpxDSRbI4lx3uce0qyyjqZcc6rap5Lj7e5St05XXaRs9\/rC4A5bTQnDW+P896v6SjpqGEQ0sDIWDk0Yz39a7oouTZbTowhmteO8IiKJaEREBmdV0ktLJT32ibieldiTA9pvb8O4q\/o6uKuo4qqE5ZK0OHZ2LrJGyWN0cjQ5jwWuaRuIPELL2CSSyXuosM5PRSEy0zncx1eQ8wVZ0o9hlf0qt90vP5NUiIqzUEREAREQBERAEREBS6v\/AKr1n8H52qbZf6DoP3aP8oULV\/8AVes\/g\/O1TbL\/AEHQfu0f5Qp\/Z3mZfuX\/AKrzZNREUDSEREAREQBERAEREAREQBERAZSxTfQ19q7RVtDDUSdLBIT7Y5cev45C1aqr9ZY7xSYB6Opi9aGUcWnq7ioVhv0j5vom6gxV0e4Odu6X\/P4qxrEsSMlN8jLk5aPR+hokRFWawiIgCIiAKh1XbpKmgbW0uRV0Z6Rjm+0RzHz8FfIuxdnchUgqkXFkCzXJl2tcVW3Ac4Ye0fhcOIU9ZKmP1a1SaP2aC4EOjHJjuzx3dxC1qlNWeWhXQqOUbS1WTCIigXhERAEREAREQFLq\/wDqvWfwfnaptl\/oOg\/do\/yhQtX\/ANV6z+D87VNsv9B0H7tH+UKf2d5mX7l\/6rzZNREUDSEREAREQBERAEREAREQBERAFV3uyQ3mnAJ6Ooj3xTDi0\/orRF1Np3RGcIzjhloZSlv9wskrKLUELjHwbWNBIO7ngb\/j3rTwVENVC2aCRskbhkOacgr5UU0FXCYamFksZ4teMhZufT9fZqh1ZYJ8x8XUchJad3fv+Pap82XUzN9Wj\/2j4r38zUoqK16qpax5p65voNW04MUuQCe84x3H3q9UHFrU0QqRqK8WERFwmEREBVaitQu1qfG0fbxfaQkcdocvFfNN3U3W0skkP+sRHo5hz2hz8R81bLJzO+rerOmxiiuW5\/U1+ePmfJxVkecsJlq\/TqKpueT9GaxERVmoIiIAiIgCIiAqNVN2tNVoxn1Qf7wXewO2rBQnOfsGj3L5qBm3p+uG\/wC5cd3YMrlpd+3puiO72CN3YSFP7O8zfyf6+pbIiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiICtutioLvGRUQgS49WVu5zT8+4ql6S+6X2nTk3K3N\/FtevGOvfv+I7lrEU1NrJ6FE6Ck8UcnxXrxIFrvVDeIi+kly5oy6Nww5veFPVDc9K01XMKuhkNDVtOQ+IYaT2gc+1RKbUVfaJGUmoKYtZuDapgJB3c8cT3eS7hT6JBVpU8qy793walFyp6mCrhE1NMyWM8HMOQuqrNKaeaCq9RWsXa0SwNGZWevF\/aHLx4eKtEXU7O5ycFOLi9GU2l7mbjaWtlJ9Ipz0UoPHdwPl7wVcrKXE\/VvUsdxYCKKuOzUAcndfz81qgQRkHIKlNb1vKaEnZwlrHL2Z9REUDQEUWe50FN9\/WwRnqdIAVWTaxskWdmpdKQM+pGfnhSUW9EVSrU49KSReosydd20nEVNVyHsY39V8+uf\/o9Z5LvJy4Ff6uj\/AJF9cYzLbaqMDJfC9uOvIKqdFyB+m4mg52Hvaezfn5qM7WTXMIfaawNIwTjgFVaX1NRWi3PpKts20ZS8OY0EAEAdeeRU1CWFqxnltNLloyvufob1FTU+rLJUbhWiM9UjS33kYVpDVU9SMwTxyjGcseHfBVOLWqN0akJ9FpnVFTaous9ptjJqXHTSShjcjPInh4K3btBgDjl2N57UtlcKacnFbj0iIuEwiIgCIiAIiIDnPUQU0fSVE0cLM42pHBo8yuTLjQyDLKyncP8Allafmlfb6S50\/QVkIljDg4DJGD15CqX6LsjjkQSM7Gyn5qSw7ymbqp8xJrt+C8ZLHJ7EjXbs7jle1mn6EtDuElUzfyePmF5+pFOz7m5VkfIesOHVuwu2hxIcpX\/w8fg06LMfVGrZ9xqCsjxw47vJwT6uXyP7rUczscNsO\/UphjxHK1d9N\/lGnRZj6J1VF9ze4n\/+43\/8lOh1nF\/4qjn8AP8ACEwLihy7WsH4e5p1znp4amJ0U8bZGOGC1wys56ZrKLcbdSTAcXBw3\/3h8E+ntRR\/eafLuXqE8feu4HuZx7TD7ov8M81OmKi1yurdP1D43jBdTPOWvAOcZ\/XzVhY9Qx3Uupp4jTVsX3kLt2esjPw5Kvk1hW07DJU6eqoWD8TiQPe0Knn1HBV6hpboyhlYyBpa8sw5z+r4qzDKS5yMrrUqUk6bst6s\/wA9R+gEgDJOAFAqL7aaXPS3CAEHBDXhxHgN6pZdcWeogkhkpqpzHsLXNLG+sCMY3OVNZa3TbGyOuFCyN4d9mPXk9XHPlnwUVTdrtFtTbI3SpyXeWl+1LZblb5aJjZ6hzxmNzI8BrhwO\/BUaz6ivUtGy30VubUTU42XPkdwG\/GRux1ceSu6fUemqeM+j1EMLRyZA5vu2VRVF8ttJqmK50FT0kNQ3Yqmhjhjt3gdh3dR61JLK2EoqStJVHUXB2tp4lj9G6quGDV3OOiYSfVh9oeX6r19So5v9tutZUDl62PjlXtPcqGqYHwVcT2nhh4UpV45LqNa2alLN87tdyih0bZYsbVO+Ujm+Q\/LCs4bXb6f7mip4+1sYBUpFFyk9WXRo049GKPgaGjDQAOoL6iKJaFltKxsZcbzRPY0tjqMhpGRjLh+i1KyENbTWfWtyNTIIoZYw4HGcuOyeA38yrIZpoy7Q1GcJPS\/mjQ1FktdVvmoIHHrDAD5hVc+ibY4l1M+elfncWSZA8\/1XCfWElW\/0eyUEtTKTgPe3DR24\/XCvbUK8ULfpJzDUE5OxjAHgnPitSK5CtKyjfrt6mLv9tuttbSMnr\/TojMOibIN+1255b+tXUGrnUsjYL3QyUchHthpLTw344+WV81n\/ALs\/eR8loqimgq4TDUwsljPFrxkKTknFYkVQpSjVmqcrWtrn8inqYKuETU0zJYzwcw5C6rMVOlJaJ5qrBVvpZhxjc8lrhv3b855biulBqnoqoW+9weh1QwC8kbB3cSeWfJQwXziaFXcXhqq3Xu\/Jo0Xxrg5oc0ggjII5r6oGkIiIAiIgCIiAIiIAig1N6tlGSJ66Bjhxbtgu8hvVTPre3h5jo4KirfnDdhmAfPf7lJQk9EUzr0odKSNIiy4uuqLhj0O1R0jCPbnO8du\/HX1L59WrvcBm63uTBIJihHqn4D3KWC2rIfqHLoRb8PMuK+\/2y2td6RVM2wPu2HacfAKmdqa5XTLLHbHubtY6eXgPl71ZUWlrRRHaFKJn\/tzet7uA8ArcAAYAwAl4rRXOYK0+lLCurX8mZj0tV3CcT324OqOYhjJDQf56gp1xuNu0xbgyKNjTj7KBm4uPWezrKtpdvon9Hjb2Ts56+So7Zpwtq3XG7vZV1hOW8S1nVgH+RyTFfpHHSdPKks3vZmqyC53C9W6W4eo+seCyH\/y2Ajl4k44+K3j7fRSN2X0cDh1GJp+SoLj6\/wDpBtjCdwpyR34k\/RaddqSyRDZqaTnfPPf2FY7Ttme9zzboMuxnDcDd1AcFDr9IWqeklbTUrYZy09G8OdgO5bs4V+igpyW80SoUpKzivwfmENmZWWaongD21tE7E8JPtN\/aHaN+e5Xlp0tbrjboqyjrauFzx646Rp2XcxuA\/kr5qKkltl6NTTyGGG5sMMj2nGy8888t4B\/+SqdOtvME1Q+25c+mcOlpnHAfxB3Z4jHetLblG6Z46hCnVwSjfd8\/g0f1SrY91PqKsib1et8nBPoPUkf3V\/2scNtp\/wA1YWbUNJd29F9zVtB24HcRjjg81bqhzknZnpQoUZxxQb7mzBXC6amtNe2idXNqZC3aDY4Q7cf4QVKpLnrKoALKJpB3ZljDPHeQtmi7yitoji2WSlflHYwdbBrWoH2omaMcIZGN\/KVUspprVc6V1ZaZJS8kdBKc9MTu3buO8L9SWY1r9hHbq7nT1I\/X\/CpwqXdrGfaNkUIupiba45nlmrJaZojk09VU4A3NaCP8IXsa7toOJaarjPaxv6rTL4Whww4AjqKrxR4Gzkqy0n4GG1NqK3XOih9Dkf08Ewe0PjwCOfvwtHFqiyyMB9PjacAkOBGPML3eLTTVdpqYmU0QlMZMZDACHDeN\/LeFVaYttpudihllooZJoy5kji3ByDz69xClzHHsM6VeFZq6u117i7Ze7U\/2blS8cYMzR81zrmWe7U\/RVM1PMwHcRKMtPYcrg\/SNifxoQDjlI8fNcXaKsrjkQyt7BKVFYNzZe+XatKKfe\/YroKuu0lO2nqi6rtTz9nM3eY+z\/Ly5rWQzR1ELJoXh8bxlrmncQs6dBWknImqx2B7f+lRWmq0ZWhjjJUWiZ25x3ujP6\/FSajPTUppyqUOmub23t8GwReIpY5omyxPD2PGWuacghe1SegFwqK2kpBmpqYYf7bw34qnuNhuVxrZXm9zQUzvZijaRgY4HBHPK802ibRC7amE1S7OftH4HuwppR3szudZu0Yd7fsdanWFlpzgVJmcDjETCffwUI6uq6s4tdlqJweD3g4HfgY96vaa0W6jA9HooGEfi2AXeZ3qYu3gtEcwV5ayS7F7mY\/7413\/C0DT3E4\/vfyV8GkamrGbpeamfPFjDgDzz28lqETlHuyH6aD6bb7WUlLpGy0pDvRemcOcri73cPcreGngpmbEEMcTf2WNDR7l0RQcm9S2FOEOirBERcLAiIgCIiA\/P7zqBs9\/pbhbGEvgaYgZmYaScjr6nc8Lc0RqTRxGsa1s5Hrhp3Aqt1LajcLNKyBuJo3dMwNbvc4cR3le9O3mO721jtsekRtDZm5356+48VbJpxTW4w0VKnWlGb1zXDrLZERVG4qdT0La6w1LXHBiaZWnPNoz8MhYrT1zmpb5HXTZEMrhDM\/kSRuJPXkZV9rDUTYI3WyleHSSAtnI\/C0\/h7yqe2UEwbU2WqDQ6sphUU457YGW92RnPctMFaGZ420yUtoWDVee5ehq7xpunuThUU7vRKxh2mzRjBJ7cfHio1mv8sdSbTegIayPcyRxw2Xq39fx71K0tczcrOzpCengPRSZ4nHA+XzVVqaB95v1LZ42xRkMMhnc3LhuO7u4bu1QWbwyNM2lFVqWr3cfnrJ9x1ZT01T6JQwPuFRvy2HeAe8A58FFLNWXV+S+O1wOwQAQX48MnPko2mqmKxVstquNMynqCfVqOUg5An4fqtkuStDJIlSUq6vOXcsrdu8pbXp30CrFXPcKirnAIDpDuwew57efNfNX03pGnZyBkxESAdxwfcSrtcqmBtTSy07zhsrCw9xGFFSeJNl7ox5NwitSPZ6oVtnpKjOS+Ju1u5jcfeCpqzeiJ3G0zUchO3SzObsnkDv8AjtLSLk1aTR2hPHSjILLaeAteoblanuAbI7pYRnO7j54I8lqVmNXUstO+mvlKPtqRwD+1ud2fh4qUM+bxIbQnFKovt8t5p0XCjq4q6jiqoTlkrQ4dnYu6rNCaauguNXSQV1M+mqYxJE8YIK7IgaTVmZfTlVLbLjPp+tlyYztUzj+JvHA8N\/mtQs3rCnfFDTXenb9tRyDaI\/YPX448yr6lqGVdJDUx+xKwPGeojKsnmsRmoXg3Se7Ts+DsiIqzUEREAREQBERAEREAREQBERAFmrtYKimrvpiyHo6gZMkIG6Tr3dvMePFaVeJJooW7UsjI29bnABSjJp5FVWnGpG0v\/DPQ62t4j2a2KanqG7pI9jIB7FFuesfSYjT2lj2uePWqJRstjHX\/AJqfc9SWSnYTmKtm\/CyMB2f4uAVfSWSvv8rKm7tFLRj1o6SMbOe\/q7zv7lalFZtWMM51ZfThO76l5vcZu32+d8v0i+gmrqKOQ9IW7i\/t5ntPxWtjmtuoLvRXOkr2wzUww6GRnruGeG89p3jPFaKGGOnhZDCwMjYMNa0bgFW3DTNruODJCYngYD4TsnHw9y46ik8yUNklSjaNnvd+PUyFaaWqt2qbjF0D\/RKr7VsmydkO44zjHM+5d77aKqeeG5Wx4ZXU4wAcYkb1Z8T5qD9F6jsrXG3Vra6HOehm4gdmT38CF7j1kKaQQ3a2z0b9+8DIOO\/Huylm3eOYUqcYOnVTjn+OxkGru9Fdo\/o\/UNI+gq2+xMGnDT14448x2qXY73JRVbbPcZ2SjhTVTXZa8chn4eSsH3jTt1i6KaqppGHlN6n5sdSo6\/T2nJ9p9Heaemcc4aZ2ubnzyFJWas1YrkpxljhJS77XXXufabZFhrXqu601O8VFKK6CnIa+WM72DeMkjII3cefWtfbrhBdKJlXTk7D+TtzmnqIVUoOOpto7RCrpqUFq\/wCz9bXGjLdllU0Ss7Tx3ebvJalZbVWaC62u7tbujk6OQ\/8ALxx5bS1AIIyDkFdnnZkdn5rlT4PweZ9VBYK6a9R3GKu2JY2zGMM2QAG9Sv1mNGf7z\/eT81yPRbJVG+Vgtzv5EeinfpK7ut1W8m3VJLoJXfgPb7gfA7lrgQRkHIKiXO2U12o3U1SzLTva4cWHrCztLX12lHNo7ox9RQ8Ip4xnY37h3dnLllS6ea1K03s7wvobnw6n1GuRR6Oupa+ATUszZWEZyPmOIUhVGtNNXRDu0Yms9ZGQTtQPG7uKgaPlMum6fJGWl7d39oqVqCrbRWKrlc7ZJiLGde0RgfFcdL0j6PT9NHJ7bgXnfniSR7sKf2d5nf7hW4epboiKBpCIiAIiIAiIgCIiAIiIAqq9NvjzE20SQRtIPSOkG8Hlxz8Faoup2dyM44la9uwy31dv9V\/tl\/ewbsiHOPkvcOhqAPElTU1FQ4ccuAB92fetMinykihbLS1av2tsgUNjtttIdS0jGPH4z6zvMqeiKDbepfGMYq0VYIiLhILxJFHMwslja9p4tcMhe1X3err6SnY630QqpHO2SC7Gz2rqV2RnJRi2zlPpmy1Li6S3xgk59QlnwIXL6oWH\/gP\/ALn\/APUoXpusZfZtlLEOtzhn8yej6ym3GspIQ7jgDd\/dKttJfd4mJuk\/+Jv+vuXLI7dYaF2zsUtO05OXHGcY589yp9GhzxcaqNuxSz1BdC3qGT\/l5L7FpSernZNe7jJWBhyIhkNzz+XDC0ccbIo2xxsaxjRhrWjAA7AotpJq97lkISlNSawpaIrNS0YrbBVR4y5jOkaeot3\/AAyPFNN1vp9hpZS7L2t6N+\/flu79D4q0IBGCMgrL6SPoNfc7QQR0Mu2zOd44fDZ80WcGuB2fMrxlxVvVepqVyhpaem2uggji2zl2wwN2j1nC6oqzTZBeJYo5o3RyxtkY4Yc1wyD4L2iHTOVejaQyGe3VE1BNnILHEt\/Uea5to9X0mRHX01S3ltjf8PmtOinje\/MzPZqd7xuux2MzFYLnc6qKe\/1UcsUZy2mjG7PbjHzWla0NaGtAAAwAOS+ouOTZZTpRp6aveERFEtCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCpX2ioZqyO6wGMQSRFk4PtE4wPg3yRF1NohOCna+53LpERcJhERAEREAREQH\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REVISIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R1299\",\"id_control\":\"28654\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:36",
    "ubicacionGPS": "LatLng(lat: -22.4424974, lng: -68.9330647)",
    "horaLlegada": "12:55",
    "horaDespacho": "12:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 13:36:25
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-0HeVAwF7Ei5vG.DljiG2.b4qP6-R62+n-fdHE4jv50EClpoOOBl
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3031",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "77413",
    "contadorColor": "10856",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\ncambio de Repuesto",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12548",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADHARwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABMEAABAwMBBAYGBwQGBwkAAAABAAIDBAURBhIhMUETUWFxgZEUIjKhscEVFiMzQrLRUnSC8DU2cqLC4QckNEVUYtIlJkRTZXOSo+L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAA1EQACAQIDAwsDBAIDAAAAAAAAAQIDERIhMQRBURMiMmFxgaGxwdHhI0KRFDREglJyQ2Lx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQHlwJYQ12ySNx6lQacutU+qqrTc37VZTvJa47ttv8AO\/uPYtCs1qqhlhfDfaIYqKQ5kA\/Ezt+HcT1KcLPJmevijapHdquo0qKNb66K5UMVXCfUkbnH7J5jwKkqGhemmroIiIdCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC8ua17Cx7Q5rhggjIIXpEBk7YXaa1A+1zPIoav1qdzjuDurPu8utaxVGpbXHc7U\/LgyaEF8Ty7ZAPUT1FU1FrdjbXBHJTy1Nf7BYzdtY4HPb2DirWnNXWpijUjs8nCby1XsbBFmYY9S3eoElRJ9F0oIcI2b3OGc4O\/PLs7lplBqxpp1Medml1hERRLAiIgCIiAIiIAiIgCLxNK2GF8r\/ZY0uPcFGtdyhu1E2rgZIyNxIAkAB3HHIldtlcjiV8O8mIiLhIIiIAiIgCIiAIiIAiIgCIiAIiIAi8SyxwxuklkbGxoy5zjgDxWbqtXOqJ\/RbHRvrJv23NIYPDj54UlFy0KqlaFPpM0ksscETpZntjjYMuc44ACztRq\/p6j0Wy0UldL+2QQ0dvXjvwvEWmq66SNqNQVrpADltNEcNb8vLzWhpKOmoYRDSwMhYOTRjPf1qXNj1lV61TTmrx+DOfV27XiUS3yu2Ys5FPAdw+Q964XGkbpK6U1yooyKKQCGePJPj7s947VsVHrqKG4UclLO3aZIMdx5EdyKo756EZbLHDePS4vU7Me2SNsjHBzXAFpHML0s1pStmgknsVacT0h+zzxcz+cEdh7FpVGUcLsX0qiqQUgiIoloREQBERAEREAREQEC+PDLDXl3D0d482kKLpJhZpmjDuOHHzeSveqJOi03WuzjLA3zIHzXXT7OjsFC3rgafMZ+an9neZv5P8AX1LFERQNIREQBERAEREAREQBERAEREB8JAGScALP3HVcMU4o7XEa+qccYZva09\/Pw81ErZq3U11mtlLKYbfAQJpW8X9nbnlywMrQW21UlqpxDSRbI4lx3uce0qyyjqZcc6rap5Lj7e5St05XXaRs9\/rC4A5bTQnDW+P896v6SjpqGEQ0sDIWDk0Yz39a7oouTZbTowhmteO8IiKJaEREBmdV0ktLJT32ibieldiTA9pvb8O4q\/o6uKuo4qqE5ZK0OHZ2LrJGyWN0cjQ5jwWuaRuIPELL2CSSyXuosM5PRSEy0zncx1eQ8wVZ0o9hlf0qt90vP5NUiIqzUEREAREQBERAEREBS6v\/AKr1n8H52qbZf6DoP3aP8oULV\/8AVes\/g\/O1TbL\/AEHQfu0f5Qp\/Z3mZfuX\/AKrzZNREUDSEREAREQBERAEREAREQBERAZSxTfQ19q7RVtDDUSdLBIT7Y5cev45C1aqr9ZY7xSYB6Opi9aGUcWnq7ioVhv0j5vom6gxV0e4Odu6X\/P4qxrEsSMlN8jLk5aPR+hokRFWawiIgCIiAKh1XbpKmgbW0uRV0Z6Rjm+0RzHz8FfIuxdnchUgqkXFkCzXJl2tcVW3Ac4Ye0fhcOIU9ZKmP1a1SaP2aC4EOjHJjuzx3dxC1qlNWeWhXQqOUbS1WTCIigXhERAEREAREQFLq\/wDqvWfwfnaptl\/oOg\/do\/yhQtX\/ANV6z+D87VNsv9B0H7tH+UKf2d5mX7l\/6rzZNREUDSEREAREQBERAEREAREQBERAFV3uyQ3mnAJ6Ooj3xTDi0\/orRF1Np3RGcIzjhloZSlv9wskrKLUELjHwbWNBIO7ngb\/j3rTwVENVC2aCRskbhkOacgr5UU0FXCYamFksZ4teMhZufT9fZqh1ZYJ8x8XUchJad3fv+Pap82XUzN9Wj\/2j4r38zUoqK16qpax5p65voNW04MUuQCe84x3H3q9UHFrU0QqRqK8WERFwmEREBVaitQu1qfG0fbxfaQkcdocvFfNN3U3W0skkP+sRHo5hz2hz8R81bLJzO+rerOmxiiuW5\/U1+ePmfJxVkecsJlq\/TqKpueT9GaxERVmoIiIAiIgCIiAqNVN2tNVoxn1Qf7wXewO2rBQnOfsGj3L5qBm3p+uG\/wC5cd3YMrlpd+3puiO72CN3YSFP7O8zfyf6+pbIiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiICtutioLvGRUQgS49WVu5zT8+4ql6S+6X2nTk3K3N\/FtevGOvfv+I7lrEU1NrJ6FE6Ck8UcnxXrxIFrvVDeIi+kly5oy6Nww5veFPVDc9K01XMKuhkNDVtOQ+IYaT2gc+1RKbUVfaJGUmoKYtZuDapgJB3c8cT3eS7hT6JBVpU8qy793walFyp6mCrhE1NMyWM8HMOQuqrNKaeaCq9RWsXa0SwNGZWevF\/aHLx4eKtEXU7O5ycFOLi9GU2l7mbjaWtlJ9Ipz0UoPHdwPl7wVcrKXE\/VvUsdxYCKKuOzUAcndfz81qgQRkHIKlNb1vKaEnZwlrHL2Z9REUDQEUWe50FN9\/WwRnqdIAVWTaxskWdmpdKQM+pGfnhSUW9EVSrU49KSReosydd20nEVNVyHsY39V8+uf\/o9Z5LvJy4Ff6uj\/AJF9cYzLbaqMDJfC9uOvIKqdFyB+m4mg52Hvaezfn5qM7WTXMIfaawNIwTjgFVaX1NRWi3PpKts20ZS8OY0EAEAdeeRU1CWFqxnltNLloyvufob1FTU+rLJUbhWiM9UjS33kYVpDVU9SMwTxyjGcseHfBVOLWqN0akJ9FpnVFTaous9ptjJqXHTSShjcjPInh4K3btBgDjl2N57UtlcKacnFbj0iIuEwiIgCIiAIiIDnPUQU0fSVE0cLM42pHBo8yuTLjQyDLKyncP8Allafmlfb6S50\/QVkIljDg4DJGD15CqX6LsjjkQSM7Gyn5qSw7ymbqp8xJrt+C8ZLHJ7EjXbs7jle1mn6EtDuElUzfyePmF5+pFOz7m5VkfIesOHVuwu2hxIcpX\/w8fg06LMfVGrZ9xqCsjxw47vJwT6uXyP7rUczscNsO\/UphjxHK1d9N\/lGnRZj6J1VF9ze4n\/+43\/8lOh1nF\/4qjn8AP8ACEwLihy7WsH4e5p1znp4amJ0U8bZGOGC1wys56ZrKLcbdSTAcXBw3\/3h8E+ntRR\/eafLuXqE8feu4HuZx7TD7ov8M81OmKi1yurdP1D43jBdTPOWvAOcZ\/XzVhY9Qx3Uupp4jTVsX3kLt2esjPw5Kvk1hW07DJU6eqoWD8TiQPe0Knn1HBV6hpboyhlYyBpa8sw5z+r4qzDKS5yMrrUqUk6bst6s\/wA9R+gEgDJOAFAqL7aaXPS3CAEHBDXhxHgN6pZdcWeogkhkpqpzHsLXNLG+sCMY3OVNZa3TbGyOuFCyN4d9mPXk9XHPlnwUVTdrtFtTbI3SpyXeWl+1LZblb5aJjZ6hzxmNzI8BrhwO\/BUaz6ivUtGy30VubUTU42XPkdwG\/GRux1ceSu6fUemqeM+j1EMLRyZA5vu2VRVF8ttJqmK50FT0kNQ3Yqmhjhjt3gdh3dR61JLK2EoqStJVHUXB2tp4lj9G6quGDV3OOiYSfVh9oeX6r19So5v9tutZUDl62PjlXtPcqGqYHwVcT2nhh4UpV45LqNa2alLN87tdyih0bZYsbVO+Ujm+Q\/LCs4bXb6f7mip4+1sYBUpFFyk9WXRo049GKPgaGjDQAOoL6iKJaFltKxsZcbzRPY0tjqMhpGRjLh+i1KyENbTWfWtyNTIIoZYw4HGcuOyeA38yrIZpoy7Q1GcJPS\/mjQ1FktdVvmoIHHrDAD5hVc+ibY4l1M+elfncWSZA8\/1XCfWElW\/0eyUEtTKTgPe3DR24\/XCvbUK8ULfpJzDUE5OxjAHgnPitSK5CtKyjfrt6mLv9tuttbSMnr\/TojMOibIN+1255b+tXUGrnUsjYL3QyUchHthpLTw344+WV81n\/ALs\/eR8loqimgq4TDUwsljPFrxkKTknFYkVQpSjVmqcrWtrn8inqYKuETU0zJYzwcw5C6rMVOlJaJ5qrBVvpZhxjc8lrhv3b855biulBqnoqoW+9weh1QwC8kbB3cSeWfJQwXziaFXcXhqq3Xu\/Jo0Xxrg5oc0ggjII5r6oGkIiIAiIgCIiAIiIAig1N6tlGSJ66Bjhxbtgu8hvVTPre3h5jo4KirfnDdhmAfPf7lJQk9EUzr0odKSNIiy4uuqLhj0O1R0jCPbnO8du\/HX1L59WrvcBm63uTBIJihHqn4D3KWC2rIfqHLoRb8PMuK+\/2y2td6RVM2wPu2HacfAKmdqa5XTLLHbHubtY6eXgPl71ZUWlrRRHaFKJn\/tzet7uA8ArcAAYAwAl4rRXOYK0+lLCurX8mZj0tV3CcT324OqOYhjJDQf56gp1xuNu0xbgyKNjTj7KBm4uPWezrKtpdvon9Hjb2Ts56+So7Zpwtq3XG7vZV1hOW8S1nVgH+RyTFfpHHSdPKks3vZmqyC53C9W6W4eo+seCyH\/y2Ajl4k44+K3j7fRSN2X0cDh1GJp+SoLj6\/wDpBtjCdwpyR34k\/RaddqSyRDZqaTnfPPf2FY7Ttme9zzboMuxnDcDd1AcFDr9IWqeklbTUrYZy09G8OdgO5bs4V+igpyW80SoUpKzivwfmENmZWWaongD21tE7E8JPtN\/aHaN+e5Xlp0tbrjboqyjrauFzx646Rp2XcxuA\/kr5qKkltl6NTTyGGG5sMMj2nGy8888t4B\/+SqdOtvME1Q+25c+mcOlpnHAfxB3Z4jHetLblG6Z46hCnVwSjfd8\/g0f1SrY91PqKsib1et8nBPoPUkf3V\/2scNtp\/wA1YWbUNJd29F9zVtB24HcRjjg81bqhzknZnpQoUZxxQb7mzBXC6amtNe2idXNqZC3aDY4Q7cf4QVKpLnrKoALKJpB3ZljDPHeQtmi7yitoji2WSlflHYwdbBrWoH2omaMcIZGN\/KVUspprVc6V1ZaZJS8kdBKc9MTu3buO8L9SWY1r9hHbq7nT1I\/X\/CpwqXdrGfaNkUIupiba45nlmrJaZojk09VU4A3NaCP8IXsa7toOJaarjPaxv6rTL4Whww4AjqKrxR4Gzkqy0n4GG1NqK3XOih9Dkf08Ewe0PjwCOfvwtHFqiyyMB9PjacAkOBGPML3eLTTVdpqYmU0QlMZMZDACHDeN\/LeFVaYttpudihllooZJoy5kji3ByDz69xClzHHsM6VeFZq6u117i7Ze7U\/2blS8cYMzR81zrmWe7U\/RVM1PMwHcRKMtPYcrg\/SNifxoQDjlI8fNcXaKsrjkQyt7BKVFYNzZe+XatKKfe\/YroKuu0lO2nqi6rtTz9nM3eY+z\/Ly5rWQzR1ELJoXh8bxlrmncQs6dBWknImqx2B7f+lRWmq0ZWhjjJUWiZ25x3ujP6\/FSajPTUppyqUOmub23t8GwReIpY5omyxPD2PGWuacghe1SegFwqK2kpBmpqYYf7bw34qnuNhuVxrZXm9zQUzvZijaRgY4HBHPK802ibRC7amE1S7OftH4HuwppR3szudZu0Yd7fsdanWFlpzgVJmcDjETCffwUI6uq6s4tdlqJweD3g4HfgY96vaa0W6jA9HooGEfi2AXeZ3qYu3gtEcwV5ayS7F7mY\/7413\/C0DT3E4\/vfyV8GkamrGbpeamfPFjDgDzz28lqETlHuyH6aD6bb7WUlLpGy0pDvRemcOcri73cPcreGngpmbEEMcTf2WNDR7l0RQcm9S2FOEOirBERcLAiIgCIiA\/P7zqBs9\/pbhbGEvgaYgZmYaScjr6nc8Lc0RqTRxGsa1s5Hrhp3Aqt1LajcLNKyBuJo3dMwNbvc4cR3le9O3mO721jtsekRtDZm5356+48VbJpxTW4w0VKnWlGb1zXDrLZERVG4qdT0La6w1LXHBiaZWnPNoz8MhYrT1zmpb5HXTZEMrhDM\/kSRuJPXkZV9rDUTYI3WyleHSSAtnI\/C0\/h7yqe2UEwbU2WqDQ6sphUU457YGW92RnPctMFaGZ420yUtoWDVee5ehq7xpunuThUU7vRKxh2mzRjBJ7cfHio1mv8sdSbTegIayPcyRxw2Xq39fx71K0tczcrOzpCengPRSZ4nHA+XzVVqaB95v1LZ42xRkMMhnc3LhuO7u4bu1QWbwyNM2lFVqWr3cfnrJ9x1ZT01T6JQwPuFRvy2HeAe8A58FFLNWXV+S+O1wOwQAQX48MnPko2mqmKxVstquNMynqCfVqOUg5An4fqtkuStDJIlSUq6vOXcsrdu8pbXp30CrFXPcKirnAIDpDuwew57efNfNX03pGnZyBkxESAdxwfcSrtcqmBtTSy07zhsrCw9xGFFSeJNl7ox5NwitSPZ6oVtnpKjOS+Ju1u5jcfeCpqzeiJ3G0zUchO3SzObsnkDv8AjtLSLk1aTR2hPHSjILLaeAteoblanuAbI7pYRnO7j54I8lqVmNXUstO+mvlKPtqRwD+1ud2fh4qUM+bxIbQnFKovt8t5p0XCjq4q6jiqoTlkrQ4dnYu6rNCaauguNXSQV1M+mqYxJE8YIK7IgaTVmZfTlVLbLjPp+tlyYztUzj+JvHA8N\/mtQs3rCnfFDTXenb9tRyDaI\/YPX448yr6lqGVdJDUx+xKwPGeojKsnmsRmoXg3Se7Ts+DsiIqzUEREAREQBERAEREAREQBERAFmrtYKimrvpiyHo6gZMkIG6Tr3dvMePFaVeJJooW7UsjI29bnABSjJp5FVWnGpG0v\/DPQ62t4j2a2KanqG7pI9jIB7FFuesfSYjT2lj2uePWqJRstjHX\/AJqfc9SWSnYTmKtm\/CyMB2f4uAVfSWSvv8rKm7tFLRj1o6SMbOe\/q7zv7lalFZtWMM51ZfThO76l5vcZu32+d8v0i+gmrqKOQ9IW7i\/t5ntPxWtjmtuoLvRXOkr2wzUww6GRnruGeG89p3jPFaKGGOnhZDCwMjYMNa0bgFW3DTNruODJCYngYD4TsnHw9y46ik8yUNklSjaNnvd+PUyFaaWqt2qbjF0D\/RKr7VsmydkO44zjHM+5d77aKqeeG5Wx4ZXU4wAcYkb1Z8T5qD9F6jsrXG3Vra6HOehm4gdmT38CF7j1kKaQQ3a2z0b9+8DIOO\/Huylm3eOYUqcYOnVTjn+OxkGru9Fdo\/o\/UNI+gq2+xMGnDT14448x2qXY73JRVbbPcZ2SjhTVTXZa8chn4eSsH3jTt1i6KaqppGHlN6n5sdSo6\/T2nJ9p9Heaemcc4aZ2ubnzyFJWas1YrkpxljhJS77XXXufabZFhrXqu601O8VFKK6CnIa+WM72DeMkjII3cefWtfbrhBdKJlXTk7D+TtzmnqIVUoOOpto7RCrpqUFq\/wCz9bXGjLdllU0Ss7Tx3ebvJalZbVWaC62u7tbujk6OQ\/8ALxx5bS1AIIyDkFdnnZkdn5rlT4PweZ9VBYK6a9R3GKu2JY2zGMM2QAG9Sv1mNGf7z\/eT81yPRbJVG+Vgtzv5EeinfpK7ut1W8m3VJLoJXfgPb7gfA7lrgQRkHIKiXO2U12o3U1SzLTva4cWHrCztLX12lHNo7ox9RQ8Ip4xnY37h3dnLllS6ea1K03s7wvobnw6n1GuRR6Oupa+ATUszZWEZyPmOIUhVGtNNXRDu0Yms9ZGQTtQPG7uKgaPlMum6fJGWl7d39oqVqCrbRWKrlc7ZJiLGde0RgfFcdL0j6PT9NHJ7bgXnfniSR7sKf2d5nf7hW4epboiKBpCIiAIiIAiIgCIiAIiIAqq9NvjzE20SQRtIPSOkG8Hlxz8Faoup2dyM44la9uwy31dv9V\/tl\/ewbsiHOPkvcOhqAPElTU1FQ4ccuAB92fetMinykihbLS1av2tsgUNjtttIdS0jGPH4z6zvMqeiKDbepfGMYq0VYIiLhILxJFHMwslja9p4tcMhe1X3err6SnY630QqpHO2SC7Gz2rqV2RnJRi2zlPpmy1Li6S3xgk59QlnwIXL6oWH\/gP\/ALn\/APUoXpusZfZtlLEOtzhn8yej6ym3GspIQ7jgDd\/dKttJfd4mJuk\/+Jv+vuXLI7dYaF2zsUtO05OXHGcY589yp9GhzxcaqNuxSz1BdC3qGT\/l5L7FpSernZNe7jJWBhyIhkNzz+XDC0ccbIo2xxsaxjRhrWjAA7AotpJq97lkISlNSawpaIrNS0YrbBVR4y5jOkaeot3\/AAyPFNN1vp9hpZS7L2t6N+\/flu79D4q0IBGCMgrL6SPoNfc7QQR0Mu2zOd44fDZ80WcGuB2fMrxlxVvVepqVyhpaem2uggji2zl2wwN2j1nC6oqzTZBeJYo5o3RyxtkY4Yc1wyD4L2iHTOVejaQyGe3VE1BNnILHEt\/Uea5to9X0mRHX01S3ltjf8PmtOinje\/MzPZqd7xuux2MzFYLnc6qKe\/1UcsUZy2mjG7PbjHzWla0NaGtAAAwAOS+ouOTZZTpRp6aveERFEtCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCpX2ioZqyO6wGMQSRFk4PtE4wPg3yRF1NohOCna+53LpERcJhERAEREAREQH\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REVISIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R1299\",\"id_control\":\"28654\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:36",
    "ubicacionGPS": "LatLng(lat: -22.4424974, lng: -68.9330647)",
    "horaLlegada": "12:55",
    "horaDespacho": "12:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 13:36:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[12/05/2026 13:36:25] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP3031', 1, 21773342, 77413, NOW(), 
				'12:00', '12:55', '13:36', 3, 'Mantenimiento
cambio de Repuesto', -1, 
				'', '','1','10856',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778607385.png', '', null, 'COMPLETADO','LatLng(lat: -22.4424974, lng: -68.9330647)' )
				
[12/05/2026 13:36:25] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200275
[12/05/2026 13:36:25] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200275', 'EPS-R1299', 1)
				
[12/05/2026 13:36:25] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28654 and
				    IDproducto = 'EPS-R1299'
				

12/05/2026 13:36:25 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R1299';
                
12/05/2026 13:36:25 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200275'                    
				WHERE idllamado = 12548			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


12/05/2026 13:36:25 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12548			
				
12/05/2026 13:36:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 13: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 = 12548
                
12/05/2026 13: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 = 12548
                
12/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12548
                
12/05/2026 13: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 = 12548
                
12/05/2026 13: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 = 12548
                
12/05/2026 13: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 = 12548
                
12/05/2026 13:36:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            [12/05/2026 13:36: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/05/2026 13:36: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/05/2026 13:36:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                [12/05/2026 13:36: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/05/2026 13:36:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:36:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            
12/05/2026 13:36:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            
12/05/2026 13:36:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12548
            GROUP BY l.idllamado;
            
12/05/2026 13:36:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:36:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:36:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:36:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:36:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                
12/05/2026 13:36:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12548
                [12/05/2026 13:36: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;
				
[12/05/2026 13:36: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;
                
[12/05/2026 13:37: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/05/2026 13:44: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/05/2026 13:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 13:44:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 13:44:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 13:44:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 13:44:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 13:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 13:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 13:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                [12/05/2026 13:44:09] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 13:44:09] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 13:44:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 13:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 13:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 13:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 13:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                [12/05/2026 13:44: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/05/2026 13:44:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            [12/05/2026 13:44: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/05/2026 13:44: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/05/2026 13:44:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 13:44:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 13:44:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 13:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 13:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 13:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 13:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 13:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 13:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 13:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 13:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 13:45:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            [12/05/2026 13:45: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/05/2026 13:45:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 13:45:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 13:45:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 13:45:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            [12/05/2026 13:45: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/05/2026 13:45: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/05/2026 13:45:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 13:45:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 13:45:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 13:45:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 13:45:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 13:45:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 13:45:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 13:45:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                [12/05/2026 13:45: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/05/2026 13:45: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/05/2026 13:45:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 13:45:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 13:45:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 13:45:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            [12/05/2026 13:45: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/05/2026 13:45:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 13:45:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 13:45:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 13:45:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 13:45:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 13:45:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 13:45:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 13:45:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 13:51:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 13:51:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 13:51:32] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 13:51:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 13:51:32] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 13:51:32] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 13:51:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 13:51:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 13:51:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 13:51:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 13:51:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 13:51:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 13:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 13:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 13:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 13:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 13:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 13:51: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/05/2026 13:51: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/05/2026 13:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 13:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 13:51: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/05/2026 13:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 13:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 13:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 13:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 13:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 13:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 13:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 13:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 13:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 13:51:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 13:51:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 13:51:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 13:51: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/05/2026 13:51:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 13:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:51:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 13:51: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/05/2026 13:51: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/05/2026 13:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13: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 = 12546
                
12/05/2026 13: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 = 12546
                
12/05/2026 13: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 = 12546
                
12/05/2026 13: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 = 12546
                
12/05/2026 13:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:51:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 13:51:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 13:51: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/05/2026 13:51:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 13:51:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 13:51: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/05/2026 13:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                [12/05/2026 13:51: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/05/2026 13:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:51:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:51:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:51:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:51:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                [12/05/2026 13:51: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/05/2026 13:51:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 13:51:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 13:51: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/05/2026 13:51:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 13:51: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/05/2026 13:51:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12546
                
12/05/2026 13:51:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12546
                
12/05/2026 13: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 = 12546
                
12/05/2026 13: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 = 12546
                
12/05/2026 13: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 = 12546
                
12/05/2026 13: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 = 12546
                
12/05/2026 13: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 = 12546
                
12/05/2026 13: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 = 12546
                [12/05/2026 13:52:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 13:52:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 13:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 13:52: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/05/2026 13:52:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 13:52: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/05/2026 13:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 13:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 13:52:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 13:52: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/05/2026 13:52: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/05/2026 13:52:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 13:52: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/05/2026 13:52:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 13:52:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 13:52:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                [12/05/2026 13:52:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 13:52:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 13:52:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 13:52:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 13:52:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 13:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 13:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 13:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 13:52:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            [12/05/2026 13:52: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/05/2026 13:52:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12547
                
12/05/2026 13:52:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            [12/05/2026 13:52: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/05/2026 13:52:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            [12/05/2026 13:52: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/05/2026 13:52:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            
12/05/2026 13:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            [12/05/2026 13:52: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/05/2026 13:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            
12/05/2026 13:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            
12/05/2026 13:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            [12/05/2026 13:52: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/05/2026 13:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            
12/05/2026 13:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            
12/05/2026 13:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                [12/05/2026 13:52: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/05/2026 13:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            
12/05/2026 13:52:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            
12/05/2026 13:52:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            
12/05/2026 13:52:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13:52:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            
12/05/2026 13:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13:52:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13:52:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13:54:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            
12/05/2026 13:54:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13:54:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12547
                
12/05/2026 13:54:29 - logentry: =========================================
FECHA: 12/05/2026 13:54:29
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-YuP.+V+3PYL8UxEprPUqdeuf_omiExn4CvBXYPQNbV_DHsOm02y
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3029",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "82150",
    "contadorColor": "4235",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\ncambio repuesto",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12547",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACaAQoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xABHEAABAwMBAwkEBgYIBwEAAAABAAIDBAURBhIhMRMiQVFhcYGRsRQyocEVIzNy0fAWQlJikuEHJDSCssLS4kVUVXN0otPx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMhEAAgECBAIJAwQDAQAAAAAAAAECAxESITFBE1EEIjJhcYGRodEUweEzQrHwJENS8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREARcveyNhfI4Ma0ZLnHACz9bq2IyOp7RTSXCcdMbSWN8uP53qSi3oV1KsKa6zNEqqu1Nabe9zJaoOkbxZGNo927cqkWO+3tmbxcPZ4Sc+zxAcOo43eeVb0OnLTb8GGjY54x9ZJz3Z69\/DwwpWitWU460+xGy7\/gq\/0sra3darLPMM4Ekm4Dvxu+K+AazrBxpaIEdh\/wBS1AAAwBgBfUxpaIcCcu3N+WRmPoXUzt7r8Aeprd3otJE1zYmNe7acGgOd1ldoouTZbTpRp6X83cIiKJaEREAREQBEVVqWvNusVRK3HKPHJsz1u3fAZPgupXdiM5qEXJ7FqirNO0XsNipYS0B5Ztvwc7zvVmjVmINyim1YIiLhIIiIAiIgCIiAIiIAiIgCIotfcKa2UxqKqTYaOA4lxxnACJXONqKuyUqC5arp4ZPZbbGa+rduDYxlo7yOPh8FXg3nVh3F1vth\/ilHz9O9aG2WehtMZZSQhpI5zzvc7vKsso66mXiVK36eS5\/C+SkhsFzvLxUX+qc2POW0kRwPHHD4ntVxDNbLZWRWmFjYJJWbbGtZgO8ek7irFZzWFFK6khudNunoX7eR+zu9CAfNE8TsxKCoQc4q73vr3mjRRbbWsuNugrGbhKzOM8D0jwOVKVbyNSakroIiIdCIiAIiIAiIgCIiALL6s\/rtytVrB3Sy7bweGOHDu2lqFl4P6\/8A0gTScWUMGyD24x\/md5KyGt+Rm6TnFQ5tI1CIirNIREQBERAEREAREQBERAEREB5zTR08L5pnhkbBlznHcAsnbaV+rLm67VzSKKF2xBATuJGOPZ19Z3dCs9ZSuj05MGuLdtzWnHSM\/wAlZ22JkFspYoxhrYmgDwVieGN0ZJri1cD0WfiSQABgDAC+oirNYXL2NkjdG9oc1wIcD0hdIgMrped9tuVXYKgn6txfAT0t\/wDzB81qlmNWRuoKqivkDCX079iXHS09fxHitHDMyogjnjOWSNDmnrBGQrJ52lzMvR+o3Se2ngeiIirNQREQBERAEREAREQBZjSLvaK68VhxmWoxu6Blx+a0c0nJQSScdhpd5BZ\/QsZbYnyE5Ms7nZ6eAHyU12WZqmdaC8WaRERQNIREQBERAEREAREQBERAEREBBvFv+k7VPSB2y57eYc8HDeFX6TuftltFHNltVR\/Vva7jgbgfl4K+WZv9oq6asF8s\/NqGD66ID7QdJx09o+asjZrCzLWUoSVWKvz8PwaZFWWW9095pQ+PmTNH1kJO9vb2jtVmoNNOzNEJxnHFF5BERcJEe4Uja+3z0j8YlYW5Izg9B8DvVLpCtkdSzWyoyJ6F+xg8S3Jx5YI8lollby76C1PS3doxBVDkajA7t\/lg\/wB0qyOacTLX6ko1eWT8H8M1SL4CCMg5BX1VmoIiIAiIgCIiAIiICvv0phsNc8ceQcPMY+a8NKxCLTdGOtpcfFxK89YScnpmqGcF5Y0fxD5ZU+zx8jZqKMjBbAwHv2RlT\/Z5mbXpHgv5f4JiIigaQiIgCIiAIiIAiIgCIiAIiIAiIgM9d9PymqFzszhT1rTlzRubIPTPqvWzakjrpDRVzRS3BhLXREEBx7M+ivFU3qwU13iLsCGqbvjnaMEHoz1j0ViknlIyypSg8dLzWz+GWyLM2u9VtvrG2q\/YbI4fU1Gdz+8\/PzWmUZRaLadWNRXX\/gVffLc26Wiem2cvLdqPscOH4eKsEXE7O5OUVKLi9yk0nchX2WON26amAieOndwPl6FXayrXCxa0czZLaa5gY6tvP4\/4lqlKazutyno8m4YZarIIiKBoCIiAIiIAiIgM7rh5bp4gfrytB+J+SvaVuxSwtznZY0Z8FntekixRAdNS0H+Fy0rQGtDRuAGApvsIzQzrz8F9z6iIoGkIiIAiIgCIiAIiIAqu8x3l3IutE0LNna5Vso97hjG7v6uKtEXU7O5GccUbXt4GY9o1lBvNHSVA6cED\/ME+ntQxb5tPOeBx5Mn5ZWnRSxrdFHAktJv2f2Mx+mMke6oslZERxGOHmAu49c2l26RlTERxDox8itIvOSGKX7SJj\/vNBS8eQ4ddaT9ipi1dY5cD2zYJ6HxuHxxhSor9aJjhlxp8\/vSBvqu5bNa588pb6ZxPTyQB81Fl0rZJRvoGN7WOc30KdTvH+QuT9V8nrcaS23ykNNJNE8nexzHguaesKu07cKunrJbFcjtTQDMUv7bert3b\/PqX2TQ9meCGidmelsnDzBVFeNOx2q6WyKlrJwaqXkw9x50e9o3EY\/aVkVFrDczVXVhJVcPjZ6+xv0WY\/Ry9wbqfUUzh1SA7viU9h1fT\/Z3OmnaOh7Rk\/wDr81XhWzNPHmtYP2f3JWrqCSrtHLwbp6R\/LNI44HHHr4KwtFeLlaqer3bUjOcB0OG4\/FUb5dYMY5klFR1THAhzcjeOke8PyVVWW63SxyT2ttqfO8OMpiBO00EDhgHI4KeBuNjO66hWxNNJ65b7G+RZg6yfF\/abLVxEcRjh5gLuLXVoeOeyojP7zAfQqHDlyNH1dH\/o0iKmj1bY5CAK4NJ6HRuHxxhSo77aZfcuVN3GUA\/FcwyWxYq1N6SXqT14TV1JTnE1VDEf35APVfHSU1bA+Fs7HtkYWnk3jOCOghU0OiLNGcvZNL2Pkx6YRJbnJyqf60n5kubVFkhztV8biBnmAu9AoUuubSw4jbUTE8NiPGfMhWMOnbPTnMdugznPPbteuVOip4IBiGGOMdTGgei7eHIhh6Q9Wl5XMJqK\/SXeGmjZbZ4WCYOY+TdtnGMDd81cfSGsHYLLPSgfvPGf8aaz\/wCGf+SPktOpuSUVZGenSnKrO83tpZGY9u1n\/wBJo\/4x\/wDRWNnqL7NLILtRQU7A0bBjIOT\/ABFWyKDldaGqNFxd8bfp8BFDuVPV1NO1tFV+yyteHbeztAgcQR+eC7uFY232+erc3bELC7ZzjJ6Ao2LXK176IkosrBctU1EDa+ClppqeQbTYgcHHn+e1SrZq2lqphSV0T6Gqzslsnuk9WejxUnBlEek020nlfS5oERFA0hERAEREAREQBERAERcySMijdJI9rGNGXOccADtKA+kgDJOAFlaeZ2odWNqYi40NvHMeNwc8\/j6ALmuu1ZqSWS2WZhFMebPVOGBg8QOz4laG122C00LKSDJa3eXHi49JKstgWepjcuPJKPZW\/NkxERVmwLLajaLXfbdemABpfyU5PDBHHy2vILUqq1NRmusNTE1hfI0B7ABk5B6PDKnB2kUdIi5U3bVZryLQEEZByCuJIYpftImP+80FZC06mujbdC76JfU00IEbpYs53Dq8lp7ZdKW7UoqKVzi3gQ5uC09R\/kkoOJylXp1ckeFdbrJBTvnq6KkZG0Zc\/kgDw7BlV9PadKXbfSxwyOxnZZI5rh\/dyPRNdRGSwBwG6Odrj5EfNdVelrbcaZtTQtNHM9m2x8RIac7xkdXdhSWl2ymor1HFQTtbxZzJoWzvADXVEeOlsg3+YK8\/0NfF\/Zb1WQkcN+ceRC4pb9cLNVsoNQN2mu9yrbwPVnd\/Nalrg5oc0ggjII6Ucpx3FOl0eppGzXkzM\/QGoYD\/AFfUL5B0cqD88rzldq2gYXz1tBIwb9p5a0ejV3cKy5XW+y2ihrWUTYQHOcfffwzjH8l3DomjLxLX1dRWSYwS52Afn8VK9u1\/BVgbbVFPLfFl9zM3jUNbXOp46uOmLqeQSNdA7Id34JVzF\/SFGftrc5u7iyXOfgF81PaaC1x299JTMhAqAHOGSSOO8neeC2QAAwBgBdlKFlkRo0q\/EksdnltczcWu7S84fHUx7uLmAj4FTI9WWOThXgH95jh6hW0kMUwAljY8DhtNBUOSxWmX37bTd4iAPwVd4cjZh6QtJJ+X5PjL9aJPduVMPvSBvqvG9TU9XYK1sM8cn1LiNh4Ocb\/kuZNKWOQ5dQNH3Xub6FRpNEWZ4Oy2eP7snDzyiwXuRl9Q4tNJ3738ErSsgl03RkEHDS047CQpF1s9Hd6d0VRGNvGGSgc5ncfksdZbJPPX11DDdp6OWkeWt5MnnjJGcAjqHmrn6G1PFjkL6x\/\/AHG+XQVKUUpXTKaVWUqSjKndabbZHjbrpW6frmWm8u24Hbqeo6AOrPV6dy1gIIyDkFY+4WnVNZTGnqn0dW3OWuGGuaesHAwVGo73fbI+Kzz0bJpQAIg928t6ACDgjcfRdcMWa1OU67ovDNPDtdexukWdpdRXSWrhgm09Uxh72tdLl2ywE8fd6O9aJVOLWpup1I1FeIREUSwIvhIAyTgBVVw1NardtNkqRJI04McXOd+A8SupN6EJzjBXk7FsvOaaKnjMk8rImDi57gAPErMm9368DZtFuNNHnHLzkcOsA7vVdxaQfVv5W9XGarfnIYx2Gj89mFPAl2mUcdz\/AEo379EelZrGmEwprXTyV87uGwCG+mT+d6jtsF1vconvtVyUOciliO4fIfErR0lBSUEfJ0tPHC3p2G4J7z0qQmNLsocCU\/1XfuWn5PGmpYKOEQ00LIoxwa0YC9kVVqO6OtNnlnjGZXcyPdwJ6T3euFBJt2L5SjTg29ET4KunqXStgmZIYnbD9k52T1L2WQ0IJmPuTJXl2y9gztZGedla9dnHC7EKFR1aam1a4REUS4y+kgaS43e25+rhm2o29mSPQNX2RjbJrOExMDKa5M2XNA3B46gO3H8RS383+kG5sA3GnafHDPxTU31mobDG33mzlx7tpn4FX6y8V9jzezRy1jLL1t\/Bc3mkFdZ6qmxkvjOyO0bx8QFD0lU+06dp8uBdFmM4HVw+BCulmtHQy0YuNE9jmthqDskgjPEf5Qq1nBo0zyrxfNNfcva6hprjSupqqMPjd5g9YPQVm6SrqdK1jbfcHmS3SH6ioP6nYVqnvZGwvkcGNaMlzjgBUt2vGn5qd9JW1cUrX7i2Pn4PXkcCF2Delro5XjFddNKS\/tmdXuxi5tjrKKUQ1sXOiladzuw\/iolFqh9HL7Ff4jTVDTgTBuWO4dXf0bu5RrfXVGmLi20XKQyUcm+mnx7u\/gezrHR3LTVtBSXCHkauBkzOjaG8dx4jwXXlk80VxTm3OnlLdbf3vKHWmxVaejqIHtkayZrxIxwIxgjj4rRQyCaCOUEEPaHAjtCxd509cbZQ1DKCV1Tb5AXPhcd8OCDkb9\/DiPJX+lrhDW2SnjZKx0sEYjkYDvbjcN3cEkuorClUfHakrNpe3IuURQbt9JexZtXJe0Bw3ScC3px28FWlc2SeFXJyLL\/pLeKI4uVjkxw24c4z8R8VKpdZWeocGySSU7iDkSsxg9WRlS4cildJpN2bs+\/IiyZt2vo5CQ2K4Q7JON2QOHflo81qFlNWVNJVW6CvoqyCSeima9pZIHEA9g7dk+C0tLUMq6SGpj9yVgeM9RGV2WiZGg0pzgvH1\/J7Ko1DZW3ih+rOxVQ86F\/DB6vH8FbooJtO6L5wjOLjLRlLpu8m6Ujoajm1lNzJgdxPbj17VdLL1rW2\/XNHLC0N9tYWy46eP+3yWoUppXutyqhKTTjLVOxW3G\/221OLKqpAlAzybBtO8hw8VTnUN5uvNs1rcyNzd0843eHR6q8Fltvtzq00kbqhxyXuyd\/Xg7gpoAAwBgBE4rY44VZvOVl3a+plxpm6XEl14vEhY474YDzceg8lbUOnLTb8Oho2F4xz5Oe7I6d\/DwwrNEc5MlDo9OLva75vMIiKBeEREAWf1hQ1FZbIpKWN8k0Moc1rGknfuWgRdi7O5XUpqpBwe5l9FVdG2idQhz2Vwe50zJBgk56O7q68rUKnvOnorm5tTBIaWtZvbOzcTu4HHqq5lTrOnY2H2ClqNgAcq54y7v549FY0pO6ZnhKVBYJRbS0aRqUWW+j7tc6qCrvssdHBTOD+RjcA1xBJ3nJxwG\/PA7sK0q9S2ejaS+tjkcP1Yjtk9m5RceWZbGurNy6q7zmC0PptSVd4fOzkpoQzY4FuA3eT\/dVXanv1DqV932SKKkHJwbW4l2P5k+IXD5Lrq55jia+hted73DD5R8\/TvWmoqKnt9KympowyNg3Dr7T2qTeFZ6lEIqrK8V1U7+L+CLeKq6U0cX0XRMqXvJDi92Azq3ZHb0qq9j1bXfb10FEw8WxDLh5D5q\/rayG30clVUEiKMAuLRk8cfNVTNZWN\/vVT2feid8gVyN7ZInVVPF1527r2IzdFQzOD7hcqurcOt2AfPJ6+lWdNpyz0mDFQRE9b+efjlcR6oskpGzcIxn9prm+oUmK82ufHJ3CmcT0cqAfJG57iEOjLONv5F2tdPd6F1LOMZ3seOLHdBVNp25z0lU+xXQ7M8O6B7j77egfh\/JaJk0UmNiVjs8NlwOVVajsn0tSB8B2KyA7ULwcHuz+cFci\/2slVg78Wnqvdf3Qt3Na9hY4Za4YI6wvzWmp6my3OqkppdqegcS6M5HKR5wT6EjqOehauz6qpKi3bVxqI6ephOzK15wXEdIHy6\/BZq\/3Bl0r5K+1QzBkUJjnmLcBzTzfQ46\/JW01JNpmPpdSnOMakXmvX+o31DVsr6KKqja5rZW5DXDBHYpCrdPMpo7HTMpJeVhDTh2MHeSTntyVZKh5M9Km24JsKLV0FBWYZV08Mpd7u20Z8DxUpRau201bPTTzsJkpX7cTg4jB\/IHki1OzV1a1yluWjrQaOeSnhfBI2NzmlshIyBkZByqmw2u7VdpZU0N6khBJbyTwdluOrefRbSqaX0kzRxMbh8FR6HcHaeAH6srgfgVapywswzoU+PFJWunply5HkKDWYGPpek3fuj\/QgtGqZd097jYDx5If7QtOihjfJF\/00d5P1ZSWrTcdBV+2VFXNWVWCBJITgDuye3p6Vdoii23qXQpxpq0UERFwmEREAREQBERAEREAVVeLbcLg6IUdzfRMaDt7A3nq3gg9fSrVF1OzuRnBTWFmaj0TRveJK2sqqp\/SXOwD6n4qyptOWekwYqCInrfzz8cqzRdc5Pcqj0elHNRR8AAGAMAL6iKJefHNDmlrgCCMEHpUZ9rt8v2lBTP8AvQtPyUpEuccU9UVz9P2eT3rbTj7sYb6KLLpCxykn2PYJOcskcPhnCu0UsUluVujSesV6GbfoW0Ozh1SzP7Mg3eYXH6A2r\/mKz+Nv+ladF3iT5lf0lD\/lGJvOlYrTFHcLfFy7Kc7U0U3ODm9fd1rU22akuFohkp4Wsp5WY5INAAHAtwPEKauWtaxoaxoa0cABgBHNyWZ2nQjTm3HR7GZmsFys9QaqwTbbHnn0kmA07uvI+R7V9bqyeieI71bJqbPCRgy389xWnXLmte3Zc0OHURldx37SIug4Z05W7tUGua9ge05a4ZB6wukRVmo+EAjBGQVntGUtRRW+pp6iCSIioJbyjCMjAGe3gtEiknZNFcqac1Plf3CIiiWBERAf\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REVISIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R1299\",\"id_control\":\"28653\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:54",
    "ubicacionGPS": "LatLng(lat: -22.4425273, lng: -68.9330515)",
    "horaLlegada": "12:56",
    "horaDespacho": "13:36",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 13:54:29
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-YuP.+V+3PYL8UxEprPUqdeuf_omiExn4CvBXYPQNbV_DHsOm02y
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3029",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "82150",
    "contadorColor": "4235",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\ncambio repuesto",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12547",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACaAQoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xABHEAABAwMBAwkEBgYIBwEAAAABAAIDBAURBhIhMRMiQVFhcYGRsRQyocEVIzNy0fAWQlJikuEHJDSCssLS4kVUVXN0otPx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMhEAAgECBAIJAwQDAQAAAAAAAAECAxESITFBE1EEIjJhcYGRodEUweEzQrHwJENS8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREARcveyNhfI4Ma0ZLnHACz9bq2IyOp7RTSXCcdMbSWN8uP53qSi3oV1KsKa6zNEqqu1Nabe9zJaoOkbxZGNo927cqkWO+3tmbxcPZ4Sc+zxAcOo43eeVb0OnLTb8GGjY54x9ZJz3Z69\/DwwpWitWU460+xGy7\/gq\/0sra3darLPMM4Ekm4Dvxu+K+AazrBxpaIEdh\/wBS1AAAwBgBfUxpaIcCcu3N+WRmPoXUzt7r8Aeprd3otJE1zYmNe7acGgOd1ldoouTZbTpRp6X83cIiKJaEREAREQBEVVqWvNusVRK3HKPHJsz1u3fAZPgupXdiM5qEXJ7FqirNO0XsNipYS0B5Ztvwc7zvVmjVmINyim1YIiLhIIiIAiIgCIiAIiIAiIgCIotfcKa2UxqKqTYaOA4lxxnACJXONqKuyUqC5arp4ZPZbbGa+rduDYxlo7yOPh8FXg3nVh3F1vth\/ilHz9O9aG2WehtMZZSQhpI5zzvc7vKsso66mXiVK36eS5\/C+SkhsFzvLxUX+qc2POW0kRwPHHD4ntVxDNbLZWRWmFjYJJWbbGtZgO8ek7irFZzWFFK6khudNunoX7eR+zu9CAfNE8TsxKCoQc4q73vr3mjRRbbWsuNugrGbhKzOM8D0jwOVKVbyNSakroIiIdCIiAIiIAiIgCIiALL6s\/rtytVrB3Sy7bweGOHDu2lqFl4P6\/8A0gTScWUMGyD24x\/md5KyGt+Rm6TnFQ5tI1CIirNIREQBERAEREAREQBERAEREB5zTR08L5pnhkbBlznHcAsnbaV+rLm67VzSKKF2xBATuJGOPZ19Z3dCs9ZSuj05MGuLdtzWnHSM\/wAlZ22JkFspYoxhrYmgDwVieGN0ZJri1cD0WfiSQABgDAC+oirNYXL2NkjdG9oc1wIcD0hdIgMrped9tuVXYKgn6txfAT0t\/wDzB81qlmNWRuoKqivkDCX079iXHS09fxHitHDMyogjnjOWSNDmnrBGQrJ52lzMvR+o3Se2ngeiIirNQREQBERAEREAREQBZjSLvaK68VhxmWoxu6Blx+a0c0nJQSScdhpd5BZ\/QsZbYnyE5Ms7nZ6eAHyU12WZqmdaC8WaRERQNIREQBERAEREAREQBERAEREBBvFv+k7VPSB2y57eYc8HDeFX6TuftltFHNltVR\/Vva7jgbgfl4K+WZv9oq6asF8s\/NqGD66ID7QdJx09o+asjZrCzLWUoSVWKvz8PwaZFWWW9095pQ+PmTNH1kJO9vb2jtVmoNNOzNEJxnHFF5BERcJEe4Uja+3z0j8YlYW5Izg9B8DvVLpCtkdSzWyoyJ6F+xg8S3Jx5YI8lollby76C1PS3doxBVDkajA7t\/lg\/wB0qyOacTLX6ko1eWT8H8M1SL4CCMg5BX1VmoIiIAiIgCIiAIiICvv0phsNc8ceQcPMY+a8NKxCLTdGOtpcfFxK89YScnpmqGcF5Y0fxD5ZU+zx8jZqKMjBbAwHv2RlT\/Z5mbXpHgv5f4JiIigaQiIgCIiAIiIAiIgCIiAIiIAiIgM9d9PymqFzszhT1rTlzRubIPTPqvWzakjrpDRVzRS3BhLXREEBx7M+ivFU3qwU13iLsCGqbvjnaMEHoz1j0ViknlIyypSg8dLzWz+GWyLM2u9VtvrG2q\/YbI4fU1Gdz+8\/PzWmUZRaLadWNRXX\/gVffLc26Wiem2cvLdqPscOH4eKsEXE7O5OUVKLi9yk0nchX2WON26amAieOndwPl6FXayrXCxa0czZLaa5gY6tvP4\/4lqlKazutyno8m4YZarIIiKBoCIiAIiIAiIgM7rh5bp4gfrytB+J+SvaVuxSwtznZY0Z8FntekixRAdNS0H+Fy0rQGtDRuAGApvsIzQzrz8F9z6iIoGkIiIAiIgCIiAIiIAqu8x3l3IutE0LNna5Vso97hjG7v6uKtEXU7O5GccUbXt4GY9o1lBvNHSVA6cED\/ME+ntQxb5tPOeBx5Mn5ZWnRSxrdFHAktJv2f2Mx+mMke6oslZERxGOHmAu49c2l26RlTERxDox8itIvOSGKX7SJj\/vNBS8eQ4ddaT9ipi1dY5cD2zYJ6HxuHxxhSor9aJjhlxp8\/vSBvqu5bNa588pb6ZxPTyQB81Fl0rZJRvoGN7WOc30KdTvH+QuT9V8nrcaS23ykNNJNE8nexzHguaesKu07cKunrJbFcjtTQDMUv7bert3b\/PqX2TQ9meCGidmelsnDzBVFeNOx2q6WyKlrJwaqXkw9x50e9o3EY\/aVkVFrDczVXVhJVcPjZ6+xv0WY\/Ry9wbqfUUzh1SA7viU9h1fT\/Z3OmnaOh7Rk\/wDr81XhWzNPHmtYP2f3JWrqCSrtHLwbp6R\/LNI44HHHr4KwtFeLlaqer3bUjOcB0OG4\/FUb5dYMY5klFR1THAhzcjeOke8PyVVWW63SxyT2ttqfO8OMpiBO00EDhgHI4KeBuNjO66hWxNNJ65b7G+RZg6yfF\/abLVxEcRjh5gLuLXVoeOeyojP7zAfQqHDlyNH1dH\/o0iKmj1bY5CAK4NJ6HRuHxxhSo77aZfcuVN3GUA\/FcwyWxYq1N6SXqT14TV1JTnE1VDEf35APVfHSU1bA+Fs7HtkYWnk3jOCOghU0OiLNGcvZNL2Pkx6YRJbnJyqf60n5kubVFkhztV8biBnmAu9AoUuubSw4jbUTE8NiPGfMhWMOnbPTnMdugznPPbteuVOip4IBiGGOMdTGgei7eHIhh6Q9Wl5XMJqK\/SXeGmjZbZ4WCYOY+TdtnGMDd81cfSGsHYLLPSgfvPGf8aaz\/wCGf+SPktOpuSUVZGenSnKrO83tpZGY9u1n\/wBJo\/4x\/wDRWNnqL7NLILtRQU7A0bBjIOT\/ABFWyKDldaGqNFxd8bfp8BFDuVPV1NO1tFV+yyteHbeztAgcQR+eC7uFY232+erc3bELC7ZzjJ6Ao2LXK176IkosrBctU1EDa+ClppqeQbTYgcHHn+e1SrZq2lqphSV0T6Gqzslsnuk9WejxUnBlEek020nlfS5oERFA0hERAEREAREQBERAERcySMijdJI9rGNGXOccADtKA+kgDJOAFlaeZ2odWNqYi40NvHMeNwc8\/j6ALmuu1ZqSWS2WZhFMebPVOGBg8QOz4laG122C00LKSDJa3eXHi49JKstgWepjcuPJKPZW\/NkxERVmwLLajaLXfbdemABpfyU5PDBHHy2vILUqq1NRmusNTE1hfI0B7ABk5B6PDKnB2kUdIi5U3bVZryLQEEZByCuJIYpftImP+80FZC06mujbdC76JfU00IEbpYs53Dq8lp7ZdKW7UoqKVzi3gQ5uC09R\/kkoOJylXp1ckeFdbrJBTvnq6KkZG0Zc\/kgDw7BlV9PadKXbfSxwyOxnZZI5rh\/dyPRNdRGSwBwG6Odrj5EfNdVelrbcaZtTQtNHM9m2x8RIac7xkdXdhSWl2ymor1HFQTtbxZzJoWzvADXVEeOlsg3+YK8\/0NfF\/Zb1WQkcN+ceRC4pb9cLNVsoNQN2mu9yrbwPVnd\/Nalrg5oc0ggjII6Ucpx3FOl0eppGzXkzM\/QGoYD\/AFfUL5B0cqD88rzldq2gYXz1tBIwb9p5a0ejV3cKy5XW+y2ihrWUTYQHOcfffwzjH8l3DomjLxLX1dRWSYwS52Afn8VK9u1\/BVgbbVFPLfFl9zM3jUNbXOp46uOmLqeQSNdA7Id34JVzF\/SFGftrc5u7iyXOfgF81PaaC1x299JTMhAqAHOGSSOO8neeC2QAAwBgBdlKFlkRo0q\/EksdnltczcWu7S84fHUx7uLmAj4FTI9WWOThXgH95jh6hW0kMUwAljY8DhtNBUOSxWmX37bTd4iAPwVd4cjZh6QtJJ+X5PjL9aJPduVMPvSBvqvG9TU9XYK1sM8cn1LiNh4Ocb\/kuZNKWOQ5dQNH3Xub6FRpNEWZ4Oy2eP7snDzyiwXuRl9Q4tNJ3738ErSsgl03RkEHDS047CQpF1s9Hd6d0VRGNvGGSgc5ncfksdZbJPPX11DDdp6OWkeWt5MnnjJGcAjqHmrn6G1PFjkL6x\/\/AHG+XQVKUUpXTKaVWUqSjKndabbZHjbrpW6frmWm8u24Hbqeo6AOrPV6dy1gIIyDkFY+4WnVNZTGnqn0dW3OWuGGuaesHAwVGo73fbI+Kzz0bJpQAIg928t6ACDgjcfRdcMWa1OU67ovDNPDtdexukWdpdRXSWrhgm09Uxh72tdLl2ywE8fd6O9aJVOLWpup1I1FeIREUSwIvhIAyTgBVVw1NardtNkqRJI04McXOd+A8SupN6EJzjBXk7FsvOaaKnjMk8rImDi57gAPErMm9368DZtFuNNHnHLzkcOsA7vVdxaQfVv5W9XGarfnIYx2Gj89mFPAl2mUcdz\/AEo379EelZrGmEwprXTyV87uGwCG+mT+d6jtsF1vconvtVyUOciliO4fIfErR0lBSUEfJ0tPHC3p2G4J7z0qQmNLsocCU\/1XfuWn5PGmpYKOEQ00LIoxwa0YC9kVVqO6OtNnlnjGZXcyPdwJ6T3euFBJt2L5SjTg29ET4KunqXStgmZIYnbD9k52T1L2WQ0IJmPuTJXl2y9gztZGedla9dnHC7EKFR1aam1a4REUS4y+kgaS43e25+rhm2o29mSPQNX2RjbJrOExMDKa5M2XNA3B46gO3H8RS383+kG5sA3GnafHDPxTU31mobDG33mzlx7tpn4FX6y8V9jzezRy1jLL1t\/Bc3mkFdZ6qmxkvjOyO0bx8QFD0lU+06dp8uBdFmM4HVw+BCulmtHQy0YuNE9jmthqDskgjPEf5Qq1nBo0zyrxfNNfcva6hprjSupqqMPjd5g9YPQVm6SrqdK1jbfcHmS3SH6ioP6nYVqnvZGwvkcGNaMlzjgBUt2vGn5qd9JW1cUrX7i2Pn4PXkcCF2Delro5XjFddNKS\/tmdXuxi5tjrKKUQ1sXOiladzuw\/iolFqh9HL7Ff4jTVDTgTBuWO4dXf0bu5RrfXVGmLi20XKQyUcm+mnx7u\/gezrHR3LTVtBSXCHkauBkzOjaG8dx4jwXXlk80VxTm3OnlLdbf3vKHWmxVaejqIHtkayZrxIxwIxgjj4rRQyCaCOUEEPaHAjtCxd509cbZQ1DKCV1Tb5AXPhcd8OCDkb9\/DiPJX+lrhDW2SnjZKx0sEYjkYDvbjcN3cEkuorClUfHakrNpe3IuURQbt9JexZtXJe0Bw3ScC3px28FWlc2SeFXJyLL\/pLeKI4uVjkxw24c4z8R8VKpdZWeocGySSU7iDkSsxg9WRlS4cildJpN2bs+\/IiyZt2vo5CQ2K4Q7JON2QOHflo81qFlNWVNJVW6CvoqyCSeima9pZIHEA9g7dk+C0tLUMq6SGpj9yVgeM9RGV2WiZGg0pzgvH1\/J7Ko1DZW3ih+rOxVQ86F\/DB6vH8FbooJtO6L5wjOLjLRlLpu8m6Ujoajm1lNzJgdxPbj17VdLL1rW2\/XNHLC0N9tYWy46eP+3yWoUppXutyqhKTTjLVOxW3G\/221OLKqpAlAzybBtO8hw8VTnUN5uvNs1rcyNzd0843eHR6q8Fltvtzq00kbqhxyXuyd\/Xg7gpoAAwBgBE4rY44VZvOVl3a+plxpm6XEl14vEhY474YDzceg8lbUOnLTb8Oho2F4xz5Oe7I6d\/DwwrNEc5MlDo9OLva75vMIiKBeEREAWf1hQ1FZbIpKWN8k0Moc1rGknfuWgRdi7O5XUpqpBwe5l9FVdG2idQhz2Vwe50zJBgk56O7q68rUKnvOnorm5tTBIaWtZvbOzcTu4HHqq5lTrOnY2H2ClqNgAcq54y7v549FY0pO6ZnhKVBYJRbS0aRqUWW+j7tc6qCrvssdHBTOD+RjcA1xBJ3nJxwG\/PA7sK0q9S2ejaS+tjkcP1Yjtk9m5RceWZbGurNy6q7zmC0PptSVd4fOzkpoQzY4FuA3eT\/dVXanv1DqV932SKKkHJwbW4l2P5k+IXD5Lrq55jia+hted73DD5R8\/TvWmoqKnt9KympowyNg3Dr7T2qTeFZ6lEIqrK8V1U7+L+CLeKq6U0cX0XRMqXvJDi92Azq3ZHb0qq9j1bXfb10FEw8WxDLh5D5q\/rayG30clVUEiKMAuLRk8cfNVTNZWN\/vVT2feid8gVyN7ZInVVPF1527r2IzdFQzOD7hcqurcOt2AfPJ6+lWdNpyz0mDFQRE9b+efjlcR6oskpGzcIxn9prm+oUmK82ufHJ3CmcT0cqAfJG57iEOjLONv5F2tdPd6F1LOMZ3seOLHdBVNp25z0lU+xXQ7M8O6B7j77egfh\/JaJk0UmNiVjs8NlwOVVajsn0tSB8B2KyA7ULwcHuz+cFci\/2slVg78Wnqvdf3Qt3Na9hY4Za4YI6wvzWmp6my3OqkppdqegcS6M5HKR5wT6EjqOehauz6qpKi3bVxqI6ephOzK15wXEdIHy6\/BZq\/3Bl0r5K+1QzBkUJjnmLcBzTzfQ46\/JW01JNpmPpdSnOMakXmvX+o31DVsr6KKqja5rZW5DXDBHYpCrdPMpo7HTMpJeVhDTh2MHeSTntyVZKh5M9Km24JsKLV0FBWYZV08Mpd7u20Z8DxUpRau201bPTTzsJkpX7cTg4jB\/IHki1OzV1a1yluWjrQaOeSnhfBI2NzmlshIyBkZByqmw2u7VdpZU0N6khBJbyTwdluOrefRbSqaX0kzRxMbh8FR6HcHaeAH6srgfgVapywswzoU+PFJWunply5HkKDWYGPpek3fuj\/QgtGqZd097jYDx5If7QtOihjfJF\/00d5P1ZSWrTcdBV+2VFXNWVWCBJITgDuye3p6Vdoii23qXQpxpq0UERFwmEREAREQBERAEREAVVeLbcLg6IUdzfRMaDt7A3nq3gg9fSrVF1OzuRnBTWFmaj0TRveJK2sqqp\/SXOwD6n4qyptOWekwYqCInrfzz8cqzRdc5Pcqj0elHNRR8AAGAMAL6iKJefHNDmlrgCCMEHpUZ9rt8v2lBTP8AvQtPyUpEuccU9UVz9P2eT3rbTj7sYb6KLLpCxykn2PYJOcskcPhnCu0UsUluVujSesV6GbfoW0Ozh1SzP7Mg3eYXH6A2r\/mKz+Nv+ladF3iT5lf0lD\/lGJvOlYrTFHcLfFy7Kc7U0U3ODm9fd1rU22akuFohkp4Wsp5WY5INAAHAtwPEKauWtaxoaxoa0cABgBHNyWZ2nQjTm3HR7GZmsFys9QaqwTbbHnn0kmA07uvI+R7V9bqyeieI71bJqbPCRgy389xWnXLmte3Zc0OHURldx37SIug4Z05W7tUGua9ge05a4ZB6wukRVmo+EAjBGQVntGUtRRW+pp6iCSIioJbyjCMjAGe3gtEiknZNFcqac1Plf3CIiiWBERAf\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REVISIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R1299\",\"id_control\":\"28653\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:54",
    "ubicacionGPS": "LatLng(lat: -22.4425273, lng: -68.9330515)",
    "horaLlegada": "12:56",
    "horaDespacho": "13:36",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 13:54:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[12/05/2026 13:54: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('61980920', 'EP3029', 1, 21773342, 82150, NOW(), 
				'13:36', '12:56', '13:54', 3, 'Mantenimiento
cambio repuesto', -1, 
				'', '','1','4235',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778608469.png', '', null, 'COMPLETADO','LatLng(lat: -22.4425273, lng: -68.9330515)' )
				
[12/05/2026 13:54:29] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200276
[12/05/2026 13:54:29] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200276', 'EPS-R1299', 1)
				
[12/05/2026 13:54:29] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28653 and
				    IDproducto = 'EPS-R1299'
				

12/05/2026 13:54:29 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R1299';
                
12/05/2026 13:54:29 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200276'                    
				WHERE idllamado = 12547			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


12/05/2026 13:54:29 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12547			
				
12/05/2026 13:54:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                [12/05/2026 13:54: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/05/2026 13:54: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/05/2026 13:54:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            
12/05/2026 13: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 = 12547
                
12/05/2026 13:54:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            
12/05/2026 13:54:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            
12/05/2026 13:54:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            [12/05/2026 13:54: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/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13: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 = 12547
                
12/05/2026 13:54:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            [12/05/2026 13:54: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/05/2026 13:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:54:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12547
            GROUP BY l.idllamado;
            
12/05/2026 13:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                
12/05/2026 13:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12547
                [12/05/2026 13:54:38] 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/05/2026 13:54:38] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/05/2026 14:04: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/05/2026 14:04:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 14:04: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/05/2026 14:04:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 14:04:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 14:04: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/05/2026 14:04:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 14:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 14:04:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 14:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 14:04: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/05/2026 14:04: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/05/2026 14:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 14:04: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/05/2026 14:04: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/05/2026 14:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 14:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 14:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 14:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 14:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                [12/05/2026 14:04: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/05/2026 14:04: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/05/2026 14:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 14:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 14:04: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;
                
[12/05/2026 14:04: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;
                

12/05/2026 14:04:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 14:04:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 14:04:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 14:04:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 14:04:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 14:04: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;
                

12/05/2026 14:04:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 14:04: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;
                

12/05/2026 14:04:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                [12/05/2026 14: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;
                

12/05/2026 14:04:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 14:04:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 14:04:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 14:04:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 14: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;
                

12/05/2026 14:04:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 14:04:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 14:04:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14:04:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 14: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 = 12536
                
12/05/2026 14: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 = 12536
                [12/05/2026 14:04: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/05/2026 14: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 = 12536
                [12/05/2026 14:04: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/05/2026 14: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 = 12536
                
12/05/2026 14: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 = 12536
                
12/05/2026 14: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 = 12536
                
12/05/2026 14: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 = 12536
                
12/05/2026 14: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 = 12536
                
12/05/2026 14: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 = 12536
                
12/05/2026 14: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 = 12536
                
12/05/2026 14:04:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 14:04:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 14:04:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 14:04: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/05/2026 14: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 = 12546
                [12/05/2026 14:04: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/05/2026 14:04:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 14:04: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/05/2026 14:04:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 14: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 = 12546
                
12/05/2026 14: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 = 12546
                
12/05/2026 14: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 = 12546
                
12/05/2026 14: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 = 12546
                
12/05/2026 14:04:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 14:04:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 14: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 = 12546
                [12/05/2026 14:04: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/05/2026 14: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 = 12546
                
12/05/2026 14: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 = 12546
                
12/05/2026 14: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 = 12546
                
12/05/2026 14: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 = 12546
                
12/05/2026 14: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 = 12546
                
12/05/2026 14: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 = 12546
                [12/05/2026 14: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;
                
[12/05/2026 14: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;
                

12/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 14: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 = 12546
                
12/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 14: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;
                

12/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 14: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 = 12546
                
12/05/2026 14: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 = 12546
                [12/05/2026 14:05: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/05/2026 14: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 = 12546
                
12/05/2026 14: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 = 12546
                
12/05/2026 14: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 = 12546
                
12/05/2026 14: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 = 12546
                
12/05/2026 14: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 = 12546
                
12/05/2026 14: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 = 12546
                
12/05/2026 14: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 = 12546
                
12/05/2026 14: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 = 12546
                
12/05/2026 14: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 = 12546
                
12/05/2026 14:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 14: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;
                

12/05/2026 14:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 14:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 14: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;
                

12/05/2026 14: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 = 12545
                
12/05/2026 14: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 = 12545
                
12/05/2026 14:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 14:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 14: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 = 12545
                
12/05/2026 14: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 = 12545
                [12/05/2026 14: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;
                

12/05/2026 14:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 14: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 = 12545
                [12/05/2026 14: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;
                

12/05/2026 14:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 14: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 = 12545
                
12/05/2026 14: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 = 12545
                
12/05/2026 14: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 = 12545
                
12/05/2026 14: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 = 12545
                
12/05/2026 14: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 = 12545
                
12/05/2026 14: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 = 12545
                
12/05/2026 14: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 = 12545
                
12/05/2026 14:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 14:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 14:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 14:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 14:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 14:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 14:05: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/05/2026 14:05: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/05/2026 14:05: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/05/2026 14:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 14:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 14:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 14:05: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/05/2026 14:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 14:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 14:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 14:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 14:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 14:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 14:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 14:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 14:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 15:07: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/05/2026 15:07:10] 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/05/2026 15:07:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 15:25: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/05/2026 15:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:25:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 15:25: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/05/2026 15:25:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:25:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:25:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:25:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:25:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 15:25: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/05/2026 15:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:25:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 15:25: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/05/2026 15:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:25:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:25:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:25:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:25:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:25:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:25:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 15: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/05/2026 15:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 15: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/05/2026 15: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/05/2026 15:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 15: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/05/2026 15:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 15:29: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/05/2026 15:29: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/05/2026 15:29:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 15:29: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/05/2026 15: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 = 12545
                
12/05/2026 15:29:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12545
                
12/05/2026 15:29:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 15:29: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/05/2026 15:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 15:29: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/05/2026 15:29:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:29:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:29: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/05/2026 15:29:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                [12/05/2026 15:29:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 15:29:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 15:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                [12/05/2026 15: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/05/2026 15:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15: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/05/2026 15:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                [12/05/2026 15: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/05/2026 15:29:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                [12/05/2026 15:29: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/05/2026 15:29:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:29:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:29:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:29:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 15:29:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 15:29:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 15:29:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 15:29:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 15:29:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 15:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 15:29: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/05/2026 15:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 15:29:33] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 15:29:33] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 15:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 15:29:33] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 15:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 15:29: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;
                

12/05/2026 15:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 15:29:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 15:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:29:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 15: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/05/2026 15: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/05/2026 15: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/05/2026 15:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                [12/05/2026 15: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/05/2026 15:29:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 15:29:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 15:29:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 15:29:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 15:29:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:29:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:29:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:29:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:29:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:29:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                [12/05/2026 15:29:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 15:29:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 15:29:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 15:29:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 15:29:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/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 = 12536
                
12/05/2026 15:29:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 15:29:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 15:29:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 15:29:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/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 = 12536
                
12/05/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 = 12536
                
12/05/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 = 12536
                
12/05/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 = 12536
                [12/05/2026 15:29:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/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 = 12536
                
12/05/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 = 12536
                
12/05/2026 15:29:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:29:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:29:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:29:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:29:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:29:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 15:29: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/05/2026 15:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 15:29: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/05/2026 15:29: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/05/2026 15:29: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/05/2026 15:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:29:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 15:29: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/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12545
                
12/05/2026 15: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 = 12545
                [12/05/2026 15:29: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/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 15:29: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/05/2026 15:29: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/05/2026 15: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 = 12545
                
12/05/2026 15: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 = 12545
                
12/05/2026 15: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 = 12545
                
12/05/2026 15: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 = 12545
                
12/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12545
                
12/05/2026 15: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 = 12545
                
12/05/2026 15: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 = 12545
                
12/05/2026 15: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 = 12545
                
12/05/2026 15: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 = 12545
                
12/05/2026 15: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 = 12545
                [12/05/2026 15:29: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/05/2026 15:29:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:29:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:29: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/05/2026 15:29:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:29:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:29:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:29: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/05/2026 15:29:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:29:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:29: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/05/2026 15:29:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:29:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                [12/05/2026 15:30: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/05/2026 15:30:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:30: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/05/2026 15:30:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12546
                
12/05/2026 15:30:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:30:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:30: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/05/2026 15:30:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12546
                [12/05/2026 15:30: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/05/2026 15:30:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                
12/05/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 = 12546
                
12/05/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 = 12546
                
12/05/2026 15:31:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 15:31:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            [12/05/2026 15:31: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/05/2026 15:31:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 15:31:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            [12/05/2026 15:31: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/05/2026 15:31:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 15:31:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            [12/05/2026 15:31: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/05/2026 15:31: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/05/2026 15:31:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 15:31:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                [12/05/2026 15:31: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/05/2026 15:31:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 15:31:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 15:31:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 15:31:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                [12/05/2026 15:31: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/05/2026 15:31:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 15:31:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 15:31:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                [12/05/2026 15:31: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/05/2026 15:31: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/05/2026 15:31:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 15:31:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                [12/05/2026 15:31:16] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 15:31:16] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 15:31:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 15:31:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12538
                
12/05/2026 15:31:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12538
                
12/05/2026 15:31:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 15:31:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12538
                
12/05/2026 15: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 = 12538
                
12/05/2026 15:31:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            [12/05/2026 15:31:16] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 15:31:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            [12/05/2026 15:31:16] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 15: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 = 12538
                
12/05/2026 15: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 = 12538
                
12/05/2026 15: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 = 12538
                
12/05/2026 15: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 = 12538
                
12/05/2026 15: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 = 12538
                
12/05/2026 15: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 = 12538
                
12/05/2026 15: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 = 12538
                
12/05/2026 15: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 = 12538
                [12/05/2026 15:31:22] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 15:31:22] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 15:31:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 15:31:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 15:31:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            [12/05/2026 15:31:22] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 15:31:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                [12/05/2026 15:31:22] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 15:31:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 15:31:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 15:31:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 15:31:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 15:31:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 15:31:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 15:31:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 15:31:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 15:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 15:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 15:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 15:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 15:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 15:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 15:31:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 15:31:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 15:31:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            [12/05/2026 15:31: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/05/2026 15:31:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 15:31:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            [12/05/2026 15:31: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/05/2026 15:31:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                [12/05/2026 15:31: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/05/2026 15:31: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/05/2026 15:31:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 15:31:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 15:31:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 15:31:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                [12/05/2026 15:31: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/05/2026 15: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 = 12539
                [12/05/2026 15:31: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/05/2026 15:31:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12539
                
12/05/2026 15:31:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 15:31:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12539
                [12/05/2026 15:31: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/05/2026 15:31:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12539
                
12/05/2026 15: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 = 12539
                
12/05/2026 15: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 = 12539
                
12/05/2026 15:31:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            [12/05/2026 15:31: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/05/2026 15:31:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12539
                
12/05/2026 15: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 = 12539
                
12/05/2026 15: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 = 12539
                
12/05/2026 15: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 = 12539
                
12/05/2026 15: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 = 12539
                
12/05/2026 15: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 = 12539
                
12/05/2026 15: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 = 12537
                
12/05/2026 15:31:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 15:31:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            [12/05/2026 15:31: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/05/2026 15:31: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/05/2026 15:31:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 15:31:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 15:31:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12537
                
12/05/2026 15:31:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 15:31:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            [12/05/2026 15:31: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/05/2026 15: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 = 12537
                [12/05/2026 15:31: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/05/2026 15: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 = 12537
                
12/05/2026 15: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 = 12537
                
12/05/2026 15: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 = 12537
                
12/05/2026 15: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 = 12537
                
12/05/2026 15: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 = 12537
                
12/05/2026 15: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 = 12537
                
12/05/2026 15: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 = 12537
                
12/05/2026 15: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 = 12537
                
12/05/2026 15: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 = 12537
                [12/05/2026 15:31: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;
                

12/05/2026 15:31:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 15:31:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                [12/05/2026 15: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;
                

12/05/2026 15:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 15:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 15:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 15:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 15:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                [12/05/2026 15: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;
                

12/05/2026 15:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 15:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 15:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                [12/05/2026 15: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;
                

12/05/2026 15:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 15:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 15:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 15:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 15:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 15:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 15:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 15:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 15:31:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 15:31:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 15:31:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 15:31:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 15:31: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/05/2026 15:31:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 15:31:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:31:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 15:31:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                [12/05/2026 15:31: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/05/2026 15:31:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:31:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:31:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                [12/05/2026 15:31: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/05/2026 15:31:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 15:31: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/05/2026 15:31:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:31:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:31:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:31:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:31:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:31:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:31:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 15:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 15:31: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/05/2026 15:31: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/05/2026 15:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 15:31: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/05/2026 15:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 15:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 15:31: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/05/2026 15:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 15:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 15:37:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 15:37: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/05/2026 15:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 15:37: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/05/2026 15:37: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/05/2026 15:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 15:37: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/05/2026 15:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15: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 = 12545
                
12/05/2026 15: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 = 12545
                [12/05/2026 15:37:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 15:37:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 15:37:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 15:37:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:37:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12545
                
12/05/2026 15:37:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12545
                
12/05/2026 15:37:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12545
                
12/05/2026 15: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 = 12545
                
12/05/2026 15: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 = 12545
                [12/05/2026 15:37:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 15: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 = 12545
                [12/05/2026 15:37:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 15:37:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:37:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:37:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:37:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:37:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:37:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:37:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:37:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:37:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:37:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:37: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/05/2026 15:37:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:37:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:37:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:37:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:37: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/05/2026 15:37: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/05/2026 15:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                [12/05/2026 15:37: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/05/2026 15:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                [12/05/2026 15:37: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/05/2026 15:37:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:37:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/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 = 12546
                
12/05/2026 15:37:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/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 = 12546
                
12/05/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 = 12546
                [12/05/2026 15:37: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/05/2026 15:37:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/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 = 12546
                
12/05/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 = 12546
                
12/05/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 = 12546
                [12/05/2026 15:37: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/05/2026 15:37:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:37:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:37: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/05/2026 15:37:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:37:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                [12/05/2026 15:37: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;
                

12/05/2026 15:37:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:37:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:37:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                [12/05/2026 15:37: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;
                
[12/05/2026 15:37: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/05/2026 15:37:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:37:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:37: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/05/2026 15:37:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:37:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:37:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:37:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:38:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12546
                [12/05/2026 15:38: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/05/2026 15:38:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:38:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:38:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:38: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/05/2026 15:38:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12546
                
12/05/2026 15:38:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12546
                
12/05/2026 15:38:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:38: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/05/2026 15:38: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/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                [12/05/2026 15:38: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/05/2026 15:38: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/05/2026 15:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12546
                [12/05/2026 15:38: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/05/2026 15:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                
12/05/2026 15:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                [12/05/2026 15:38: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/05/2026 15:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:38:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:38:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:38:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:38: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/05/2026 15:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:38:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:38:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:38: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/05/2026 15:38: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/05/2026 15:38: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/05/2026 15:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12546
                
12/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12546
                
12/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                
12/05/2026 15: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 = 12546
                
12/05/2026 15:38:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/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 = 12546
                
12/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:38: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/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:38: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/05/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 = 12546
                [12/05/2026 15:38: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/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:38: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/05/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 = 12546
                
12/05/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 = 12546
                
12/05/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 = 12546
                
12/05/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 = 12546
                
12/05/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 = 12546
                
12/05/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 = 12546
                
12/05/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 = 12546
                
12/05/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 = 12546
                
12/05/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 = 12546
                
12/05/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 = 12546
                
12/05/2026 15:39:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:39:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:39: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/05/2026 15:39:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:39:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:39: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/05/2026 15:39:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:39:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:39:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:39:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:39: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/05/2026 15:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                [12/05/2026 15:39: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/05/2026 15:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:39:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:39:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:39:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/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 = 12546
                
12/05/2026 15:41:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/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 = 12546
                
12/05/2026 15:41:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/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 = 12546
                
12/05/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 = 12546
                
12/05/2026 15:41:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:41:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:41:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:41:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:41:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:41:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:41:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:41:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:41:32 - logentry: =========================================
FECHA: 12/05/2026 15:41:32
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-OHWCh6GSXrjk+i_SkSL24ufCdBZefVOd+tMVYX4O-Oc2BB+gj1o
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3007",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "112719",
    "contadorColor": "38771",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\nCambio de repuestos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12546",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADWAN0DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABIEAABAwMCAgYGAwwJBQEAAAABAAIDBAURBiESMRNBUYGRoRQiYXGxwSMy0QcVJEJSdIKSwuHw8RYlNkVTYnKy0jM0NUNzN\/\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgMFBgUFAQEAAAAAAAABAgMREiExBCJBUWETMnGBwdGRobHh8BQjM0JS8WL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREBW6grprbZKmrg4ekYGhvENt3AfNR9MXw3qhcZQBUQnEmBsc8iPDyTV\/9l6z9D\/e1Udr4rLebZKXBtLc6WMO7A\/gHzx+sVdGKcOpgq1ZQ2hZ7tlfzbzNsiIqTeEREAREQBERAEREAREQBERAEREAREQBERAeEgDJOAFzhqIagvEUjXmNxa4A8iDgjxBVfqWs9CsFVIHFrns6NpHPLtlmYKaXS7bXdW8ZhqGBtU05PDxb8vd\/tVkYXVzLV2js52tlx6G7RfLHtkjbIxwc1wBaR1hfSrNQREQFNq1vFpmsGcbNPg8FVd1oxX6Go54sdJSwRvB68BoDsfHuWgvMJqLLWRNGXOhdgYzk42VfpORlXpeCN+HhofG8H3nbwIVsXaN+TMVWCnVcXxj6\/csbTXNuVrp6sEEyMHHjqd1jxypizGkZH0dRX2WVzi6mkLo8jm3OPsPetOoTVmX0JudNN68fEIiKJcEREAREQBERAQLpeqGzxh1XLhzvqxtGXO7lFoNVWm4PDGzmF55NmHD58vNQI2NrvugzOf6zaKAcORyOB\/wAire62Khu8ThUQgSkYbK0Yc37e9WWirJmRTrTblC1k7W526liizFnulVbK8WK7nLuVNOeTx1D5eS06jKNmXUqiqK68+gREUS0IiIAiIgMxrU9Ky3UhHE2apGR242\/aV5cbfFcLbLROAa17MNwPqkcj3FUeq9rvYnO+oKn1v1mfvWnVjdoxMsIqVWon0XyM9o+sldQzW2pyKihfwEH8nq8wR4LQrK3DNn1pS1oLhDXjo5ABtxbD48J8Vqlyet+Z3Z21Fwescvb5BERQNJ4QCMEZBWY0a400lytjs\/g1QSM+3I\/ZHitQsvH+AfdBkaRhldBlvvxn4tPirI5poy1t2cJ9bfE8vINq1ZQXQZENR9DMc7dm\/dg\/orUql1bR+l6fnLW5fCOkaesY5+WVLslabhZqWpccvcwB5\/zDY+YR5xTFPcrShzz9yeiIqzUEUK5XeitUXHVzBpxkMG7ne4Kgi+\/2pSZRUG2W8nLOD67x5Eg9w9hU1G6u9CidZReFK75L8yNYizB0LQD12VlYJRyfxt2Ph812sdwrae5S2S5npJmN44pQPrt\/jHmjirZMiq0lJKpG1+tzQoiKBpMxZARrC8ZHPGPFadZinzS\/dBqGnZtXBlo9wH\/ErTqc9UZtm7slyb+pUajsrbxbyIwBVRetC7rz+TnsP2L501dzdLfwTnFZTngmaRg57ce345Vyspc2\/eLVlLcYgGU9cejn324idz8D3FdjvLCRqrspqqtNH6PyNWiIqzWEREAREQGY1l6htlQTjoqkc+4\/JadZ7W8PS6ec\/wDwZWv+Lf2ld0cwqKKCYcpI2u555jKm+4jNDKvNc7P0KrV1C6tsMrowTJTkStxz25+RPgplkrvvjZ6aqyS5zMPzz4hsfMKa9jZI3RvaHNcCHA9YWa0mfQq25Wc5xBLxsB54O3wDfFdWcLcjktyunwkrea0NOiIqzUFmNXg0c1vvEeeKmmDXAbcTTvjPcR3rTqBe6I3CzVVM0Ze5hLB\/mG48wpQdpFNeDnTaWpL+iqYOqSKVvvDmkLO6RkfSTV9mlJ4qWUlmetp2yB5\/pKXpGs9M09Bk5dBmI93LyIUC7A2vWVBcGjEdYOik3O55Z8C3wU0tYlE53UKy8\/B\/c1S41VTFR00lTO7hjjHE44zgLsstqcy3S6UNihfhrz0s5HNrf5ZPgoRV2aK1R04XWvDxMvc7rLcb2y4VNN9EwtLYnDYxh2w9uc+a\/TaeaOop45oSDHI0OaR2FZSloaW46tuNO5gNLDTCBrR+LgNG3uwV303Vy2ysk09XHD4yXU7yMcY5kDzI71dUtJZcDBszlTm3N3Um1fqvc1CzFd\/+iW382PwkWnWXpz6b90CokaPUo4OHPtwP+R8FXDj4GvaP6L\/0vc1CIirNJl9UD0G82u78mMf0UjuwZz8C5acEEZByCq3UVB98bHUwgeuG8bNs7t38+Xeuel6706wU7ycvjHRO2xu3l5YVjzgnyMsNyvKPPP0Zbqp1LbW3KyTx8OZIgZI8DfiA5d4yO9WyKCdncvnBTi4viVWm7h98bJBISekjAjkzz4gBv3jB71arLaZ\/AL\/drWQQ0P6WME8m5+xzVqVKatLIr2eTlTV9Vl8AiIoF4REQFdf4PSLDWx9fQucN+sb\/ACUfSdQajTlKSd2AsPcSB5YVw4BzS07gjBWZ0Y404uFrf9alqDg9oO37PmrFnBmae7Xi+aa9TTrLVH9Xa+gl4cR10PAXf5uXxa3xWpWa1tC4W6nr48dJSTBwJ6gf3hq5T1tzG1K1PEv6u5pUXOCZlRTxzxnLJGB7T7CMrooGlO4REQGW0+Tb9TXS1nZjz00Y6h17dzh4KVrOkdU2F8rM8dM8SDHPHI\/HPco2pibberZeRnga7oZd8ADc\/Au8FoqmBlXSSwPOWTMLSRvsQrW7NSMMIXhOjy9c0c7ZV+nWynqsgmWMOOO3r81nNPSMqrpdr\/Njo2EtY7HJoGefL6ob+5crDWy02mbrRS7TUIkAG22Qdv1gfFKdlTT\/AHO8U8L5JJ+LIaCSGlxydv8AKPNSw2uit1cahJ8E35rImaKjdLTVtxeMPq6gnnnYb\/FxU6\/2V1zjjqKV\/RV1PvDJyz14KmWij9AtNLS4wY4xxf6jufMlTFW5b10aadFdiqcjKf0kvMUHostllNeQeEtB4T7cdx2Vlpu0S22lkmq96yqdxzHIOD2ZHvUy4XegtTQayobGXfVbglx7gqT+k9yuZc2yWpz2g46eY+r4bDz7lLOSyViq8Kc1jnia0X\/DUIsZcjqKjonVtwvENMPxYoh6xP5IwN\/Eq60vPXVNmjmrn8bnElji0hxGeZ7fZ\/BUXCyvcthtCnPBhaLlZXToNt1Hc7SfqOPTR7nYfycPBapZbUh+92obXdQCGl3QykZ5fycfBdhnePM5tG7hqcn8nkzUoiKs1GXu\/FbtY26uaPUqR0MmOvq3x7we5ahZrXUJdZop2\/Whnac45Agj44Whp5RPTRTDlIwOHeMqyWcUzLS3as4+D+P\/AA6IiKs1BFxqaqno4+kqZ44WZwHSODQT2brqCCMg5BQ5dXserLv\/AKt1+x5OI7hDjJ5cXZ4tHitQszrSN0NPR3OIfSUk4Pce3vA8VOnrbmZ9pyhj\/wAtP88jTKuv9P6VYq2Hh4iYi4DtI3HmFOikbNEyVhy17Q5p9hX04BzS07gjBUU7O5fJKcWuZUaUqPSdOUpPNgMZ7jgeWFy1hUT01hdJTzSQv6Ro4o3Fp8QouiHGOjraN31qeoOR2ZGPkV21t\/Z1\/wD9WKy37hixN7HfoQbJeai46gpG+kSOiNGA+MnYvGzjj3g7rXrLae0w63XIV4mBiMQLG4yTxcx7Mbe\/K1K5UtfIt2RVFT\/c1uVuoLcbpZp6ZgBkxxR\/6hv58u9cdLV4r7DA4uBkhHRPA6scvLCuFlKAtsWsKihI4KavAfF2B2+3jxDwSOcWhU\/bqxnweT9Cuv8AxW2+XGMbRXClLgM7ZG+fflp8VqNN\/wBnaL\/5BUuv6bipKSrxno5CwjqIIz+z5r6sepaCh01G2qlxPT5YYQPXducYHu61NpygrGWnKNLaZKTsrfc1T3sjYXyODGtGS5xwAs1V6jqrnUOoNPQmV\/J9S4Yaz2j7T3ArgyhuuqpBPXvfR27OWQDZzx1H957gtDGy3WSibGHQ0sDeRe4DJ955lQso9WaHKdXTdjz4v2K226Vp4X+lXJ5r6snJfISWj3A8+9TLtfaGyw\/TvzIR6kLPrH7Aqqs1LVXKY0WnoHTO5PqS3DWe0Z+J8FKtOl4KOX0yuf6ZWuOTI\/cA+wH4nyXWuMyMZLubOvPh92QqKz1l+rWXS9gNhb\/0aUcsdWfZ8fctUAAMAYAXqKEpNmmlSVNZavV8wqfVNCK6wVDeHLoR0rf0eflkK4XhAIwRkFcTs7kpwU4uL4lfYa4XGy01RnL+Dhftj1hsVYrLaXJtt3uNkeX8LHdLDxfk\/vBatSpTVpFezzc6avqsn4oqtTQekadrWYzwx8f6pz8l9acm6fT1C\/siDP1fV+Sm1cXT0c8O\/wBJG5u3tGFR6Hk49PBv+HK5vwPzT+hF5bQuq+jNEiIoGkzGvv8AwcP5y3\/a5TNJ3D06xxNdtLTfQvBO+3I+HzUPX3\/g4fzlv+1y+InOsetHwn1aS5+s3sD\/AOeR+kFclenY85ycNqcuGSfmapRLrR\/fC11FL+NIw8JzycN2nxAUtFSnY9CSUk0yh0fWOqLN6NKOGajeYnNPPHV9ncr5ZWMfefXLm8PDBcmkgk7cfPxzn9ZapTms78yjZm8GF6xy\/PIy9nHoWtLrSZ9WdvTD35B\/aK5VclZqe6QUjaaWnoaeQmYvBxJg+7Huz2nsXW7fgetrXV4w2oaYie07j9oLUKblaz6FEKeNSpt5J\/LU8a0NaGtAAAwAOpeoipN4We1hSSPt8Vwp2\/T0MgkDusN6\/PB7loVm73fXTSus9oYKmqlBa9wwWxjkfZnyCnC+LIz7S49m1Lj9SLqK\/UNbpuOLiJqKtjXNjZuWEEHfwIUOyaVZd7WLhNWvbNJtGWD\/AKfCcb9p2X1pyhitOoZrZcYY3zyRfRSbkHbJAz277+xWOjCac3G2OyTS1GxPWDkfs+aubwxaiYIR7arGVVa3VuTX4w2wagwGO1A\/gxjIBz4r7p9FUXSCavqZ62QYyXuwD8\/NaRFT2kjctlpcVfxbZyp6aGliEVPEyJg5NYMBdURQNCSWSCIiHQiIgMvqINtd\/t15HqsLuimPs93uLvALUKo1TQ+nafqWj68Q6Vv6O58srtYKwV9jpZ8ku4A1xP5Q2PwVjzimZoblaUeefoyxWY0R6lNXwDlHUnHhjl3LTrMaM\/vP85PzXI91ip\/NT8\/oadV97r5rZapqyCNsjo8eq47YJx81YLhW0wrKGemJwJY3Mz2ZCirXzLppuLUdTLaurG1+k6KraMCWZjsZzg8DsjxVrqu3mts7pYwenpT0sZaMnbmPD4BY1tWaqx0lqkfl8dbjhzkhpHZ7yV+mq6e5YwUGtox34pfHMhWesNwtFNVOaWukYOIHtGxPkpqIqXqehFNJJme1lQuntTayLImo39I1w5gdfwB7lb22uZcrdBWRjAlbkjsPIjxypD2NkjdG9oc1wIcD1hZjTEzrbdKywzHHA8yQE\/jN\/lg+Kms425GeX7dZPhLLzWh01tGWUVJXsbl9LUAjbqP7wFo45GyxtkYcteA4HtBUK90BuVnqaVoy97Ms3x6w3HmFE0lWel2CBrnZkgzE4dYxy8sI84eB1bu0Nf6X0LpEWWuV2rL5VutNlOIwSKiqB2AzjAPj7+rZRjG5ZVqqmuvBcz6ul2qrtWmz2V+CP+4qQdmDrAKtrPZKSy0\/RwN4pHD15XD1nH5D2LparVTWijbT07fa955vPaVNXZSystCFOk79pU7308DP6rtsk1LHcqT1auiPGCOZaNyO7n49q5abjdVXKqvMLoxTVbAHRjPEJNs58\/ELSEAjBGQViJK+HSd8l9FkjqaOpOXwRyDMRHz59ynFuUcKKK6jSqKq9OPjz9zcLwuDRlxAHaVl3aju90yyy2p4YRtPPgDHb2eZUats8gh9J1PfH8BI4YojsT7Bj4BRVPmyx7SmrwV+ui+LLa4attVFljJTVSg44Id9\/fyVBXauvNROKalpm0r3nDWD15M45HPX2bBeUdHNdnhljoBbqME5q5BmR3UcO59wPetRaNPUFnaDBHxzYwZn7uPu7O5T3IcMzMntG0PJ2jzXpxfyJVsZVst0Da9wdUhv0hB61KRFQz04qySCIiHTwgEYIyCstpYutt3uNkfxcLHdLDxH8Xl5gtWqWX1Qx1tulvvrCQI3iKYDrbufhxDwVkM7x5mXaN3DV\/z9HqahZjRn95\/nJ+a0zSHNDhuCMhZnRn95\/nJ+a5Hus7U\/mp+f0NOiL5c5rGlz3BrRzJOAFA0mEgsxk13NFkBsMvpHrAkOGQ7Hn5LerMV\/4Nr2gm2DZ4Sw+0+sPsWnVlRt2MeywUMaXMIiKs2BZnVlLJTS0t9pm5lpHgSD8puev4d60y5VNPHV00tNM3ijlaWuHsKlF2dyqtT7SDj+XPaeeOpp454jlkjQ5p9hUK3WeK21tZUxSuIq38bmHk05J28SqnSNVLTvqbHVH6akcSz2tzvj496067JOLaI0pRqxjNrNfJ8TPavuM1JRQ08b3wtqX8ElQGnEY6+XaM7DfYpabhpy00Taemr4d93vP1nntKvZqeCpZwTwxyt\/Je0OHmoB05Zid7dB3NwuqUcNmVypVO0c42875EWo1lZafIbO+YjqiYd+84Ch\/wBKblXbWqySvaRlssueH7O3rV9Ba7fSkugo4GOPNwYMnvUokAZJwAl4rRHezrS707eC9zLixXu7EuvFx6GInPo8GCO\/q+Knw6fsVpjM74IgGDeSodxfHZcblquCGX0S2xGvqzsBGMtHvI593io0OnK+8Siq1BVO4ebKWJ2Gt9\/Z3eKlvWzdkU2pqVqaxS5v39j7qNVSVcho7BRvq5QMdKW4Yz2\/zwF7QaVdNMK2+VDq2o5iMn1G+z2+Q96vqSjpqGEQ0sDIWDqaMZ9\/au6jjtlEuVByeKq79OH54njWhrQ1oAAGAB1L1EVZqCIiAIiIAoN5t4ulpqKPOHSN9U9jhuPMKci6nZ3IyipJxfEotKXL0q0+jTEtqKM9HI1x3wOR+XcouhvpKGtqf8WpO3cD81x1FRVNor3Xq3MJjkYW1TGnnn8b+OsLto+qpKXTodNUwx\/SOc7ieAR71c1utriefCTVWMJ\/1T89LGle9scbpHuDWtBLieoLHzTVesq401MXwWqF30kmMGQ\/xyHVzPUF0uVzl1POLVaWyej8YM9TuGlvWPd8cLT0dHBQUkdLTM4I4xgD5lRW4r8S5v8AUSwp7i169PA+4YWU8EcMYIZG0Nbk52AwF0RFUbNAiIgCIiAy2p4H225Ul\/gafo3hlQG\/jN\/lkeC08cjJY2yRu4mPAc09oK+Z4IqmF8M8bZI3jDmuGQV6xkcMTY2NDI2NAaBsGgKTldJFMKeCcmtH9T7XhIAyTgBUdfqqkgl9GoY319UdgyHcZ9p+zKiiz3i9njvNX6NTnf0WA\/E\/z7l1Q4vIi66bw01ify+JKr9VUkEvo1DG+vqjsGQ7jPtP2ZUUWe8Xs8d5q\/Rqc7+iwH4n+fcr2gtlHbYujo6dkQ6yBu73nmVKTEl3TnYyn\/K\/Jafci0Fso7bF0dHTsiHWQN3e88ypSIoN3NCioqyCIiHQiIgCIiAIiIAiIgKrU1Q2n07WOLscUfAPaXbfNVlp0lbJrbST1dO8yuiBe0uIznffHvXusC6smt1ojJBqZuJ+DjYbfMnuWla1rGBjRhrRgDsCsu4xVuJjwRq1pOSukkvU+Kamho4GwU8YjjYMBoXVEVZrSSVkEREOhEUWvudHbYukrKhkQ6gTu73DmUSucclFXZKXOaeGmiMs8rIo283POAFmnalud24o7FbXlo29ImIAHdy8z7l9Q6SmrCJr5cJqqTORGx\/qN9n8sKzBbvMzfqHPKlG\/XRHSt1hB0no9pgfX1B5cLTwj5n+N1wjsV5vJEl8rnQwk59GhOPHq+K0dJRUtDF0VLAyFnY0Yz7+1d0xpd1DsJTzqu\/RZL7kWgtlHbYujo6dkQ6yBu73nmVKRFW3c0qKirIIiIdCIiAIiIAiIgCIiAIiIAiKvvdzZabXLVOI4wOGMZxxOPL7e5dSu7EZSUYuT0RUWz+tdY1tfzho29DERuM8jv+ty7fHTql0rb3UNljdKPpqg9K8nnvyz3K6UpvPIp2eLVO71efxCLwkAZJwAqO4att1I7oaYuragnAjh3Gf9X2ZUVFvQtnUhTV5Oxeqqueo7Zaw5ss4klG3RRes7Pt7O9VL6PUl\/\/wC6kbbKR3\/qafXcPbj5ke5W1t03bLY0GKnEko\/9soDnd3Z3KeGK1ZR2lWp3FZc37FUK7Ul+YfQqdltpnDaWQnid7jj4DvUq36PoKZ3TVpdXVBOS6X6ufd19+VoEXHN6LI6tnjfFN4n19tD5YxkbAyNoY1owGtGAF9IigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKuulmprtJTuqS8tgdxBgPqu5ZyO5TZp4aaIyzysijbzc84AVBUanmq5XU1hon1kjdjM4Yjb\/AB7cKUVLVFFadNLDPjw+xoXvZGwvkcGNaMlzjgBZ+t1bEZHU9oppLhOOuNpLG+HP+N1xg0zX3Jwmv9fJICc+jRuw0e\/q8PFaGko6ahhENLAyFg6mjGff2qW7HqQvWqabq+f2M395L7e2g3ev9GhO\/o8I8jjbxyry22WgtTMUkAa7GDI7dx71PRcc28icKEIPFq+bzYREUC8IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDO1Omqi63SSe61pkpGu+gp4iQAPb2d257Qr6CnhpYWwwRtjjaMBrRgBEUpNvIopU4xvJLNnRERRLwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REVISIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R1299\",\"id_control\":\"28652\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:41",
    "ubicacionGPS": "LatLng(lat: -22.4439626, lng: -68.9069842)",
    "horaLlegada": "15:38",
    "horaDespacho": "13:54",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 15:41:32
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-OHWCh6GSXrjk+i_SkSL24ufCdBZefVOd+tMVYX4O-Oc2BB+gj1o
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3007",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "112719",
    "contadorColor": "38771",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\nCambio de repuestos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12546",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADWAN0DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABIEAABAwMCAgYGAwwJBQEAAAABAAIDBAURBiESMRNBUYGRoRQiYXGxwSMy0QcVJEJSdIKSwuHw8RYlNkVTYnKy0jM0NUNzN\/\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgMFBgUFAQEAAAAAAAABAgMREiExBCJBUWETMnGBwdGRobHh8BQjM0JS8WL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREBW6grprbZKmrg4ekYGhvENt3AfNR9MXw3qhcZQBUQnEmBsc8iPDyTV\/9l6z9D\/e1Udr4rLebZKXBtLc6WMO7A\/gHzx+sVdGKcOpgq1ZQ2hZ7tlfzbzNsiIqTeEREAREQBERAEREAREQBERAEREAREQBERAeEgDJOAFzhqIagvEUjXmNxa4A8iDgjxBVfqWs9CsFVIHFrns6NpHPLtlmYKaXS7bXdW8ZhqGBtU05PDxb8vd\/tVkYXVzLV2js52tlx6G7RfLHtkjbIxwc1wBaR1hfSrNQREQFNq1vFpmsGcbNPg8FVd1oxX6Go54sdJSwRvB68BoDsfHuWgvMJqLLWRNGXOhdgYzk42VfpORlXpeCN+HhofG8H3nbwIVsXaN+TMVWCnVcXxj6\/csbTXNuVrp6sEEyMHHjqd1jxypizGkZH0dRX2WVzi6mkLo8jm3OPsPetOoTVmX0JudNN68fEIiKJcEREAREQBERAQLpeqGzxh1XLhzvqxtGXO7lFoNVWm4PDGzmF55NmHD58vNQI2NrvugzOf6zaKAcORyOB\/wAire62Khu8ThUQgSkYbK0Yc37e9WWirJmRTrTblC1k7W526liizFnulVbK8WK7nLuVNOeTx1D5eS06jKNmXUqiqK68+gREUS0IiIAiIgMxrU9Ky3UhHE2apGR242\/aV5cbfFcLbLROAa17MNwPqkcj3FUeq9rvYnO+oKn1v1mfvWnVjdoxMsIqVWon0XyM9o+sldQzW2pyKihfwEH8nq8wR4LQrK3DNn1pS1oLhDXjo5ABtxbD48J8Vqlyet+Z3Z21Fwescvb5BERQNJ4QCMEZBWY0a400lytjs\/g1QSM+3I\/ZHitQsvH+AfdBkaRhldBlvvxn4tPirI5poy1t2cJ9bfE8vINq1ZQXQZENR9DMc7dm\/dg\/orUql1bR+l6fnLW5fCOkaesY5+WVLslabhZqWpccvcwB5\/zDY+YR5xTFPcrShzz9yeiIqzUEUK5XeitUXHVzBpxkMG7ne4Kgi+\/2pSZRUG2W8nLOD67x5Eg9w9hU1G6u9CidZReFK75L8yNYizB0LQD12VlYJRyfxt2Ph812sdwrae5S2S5npJmN44pQPrt\/jHmjirZMiq0lJKpG1+tzQoiKBpMxZARrC8ZHPGPFadZinzS\/dBqGnZtXBlo9wH\/ErTqc9UZtm7slyb+pUajsrbxbyIwBVRetC7rz+TnsP2L501dzdLfwTnFZTngmaRg57ce345Vyspc2\/eLVlLcYgGU9cejn324idz8D3FdjvLCRqrspqqtNH6PyNWiIqzWEREAREQGY1l6htlQTjoqkc+4\/JadZ7W8PS6ec\/wDwZWv+Lf2ld0cwqKKCYcpI2u555jKm+4jNDKvNc7P0KrV1C6tsMrowTJTkStxz25+RPgplkrvvjZ6aqyS5zMPzz4hsfMKa9jZI3RvaHNcCHA9YWa0mfQq25Wc5xBLxsB54O3wDfFdWcLcjktyunwkrea0NOiIqzUFmNXg0c1vvEeeKmmDXAbcTTvjPcR3rTqBe6I3CzVVM0Ze5hLB\/mG48wpQdpFNeDnTaWpL+iqYOqSKVvvDmkLO6RkfSTV9mlJ4qWUlmetp2yB5\/pKXpGs9M09Bk5dBmI93LyIUC7A2vWVBcGjEdYOik3O55Z8C3wU0tYlE53UKy8\/B\/c1S41VTFR00lTO7hjjHE44zgLsstqcy3S6UNihfhrz0s5HNrf5ZPgoRV2aK1R04XWvDxMvc7rLcb2y4VNN9EwtLYnDYxh2w9uc+a\/TaeaOop45oSDHI0OaR2FZSloaW46tuNO5gNLDTCBrR+LgNG3uwV303Vy2ysk09XHD4yXU7yMcY5kDzI71dUtJZcDBszlTm3N3Um1fqvc1CzFd\/+iW382PwkWnWXpz6b90CokaPUo4OHPtwP+R8FXDj4GvaP6L\/0vc1CIirNJl9UD0G82u78mMf0UjuwZz8C5acEEZByCq3UVB98bHUwgeuG8bNs7t38+Xeuel6706wU7ycvjHRO2xu3l5YVjzgnyMsNyvKPPP0Zbqp1LbW3KyTx8OZIgZI8DfiA5d4yO9WyKCdncvnBTi4viVWm7h98bJBISekjAjkzz4gBv3jB71arLaZ\/AL\/drWQQ0P6WME8m5+xzVqVKatLIr2eTlTV9Vl8AiIoF4REQFdf4PSLDWx9fQucN+sb\/ACUfSdQajTlKSd2AsPcSB5YVw4BzS07gjBWZ0Y404uFrf9alqDg9oO37PmrFnBmae7Xi+aa9TTrLVH9Xa+gl4cR10PAXf5uXxa3xWpWa1tC4W6nr48dJSTBwJ6gf3hq5T1tzG1K1PEv6u5pUXOCZlRTxzxnLJGB7T7CMrooGlO4REQGW0+Tb9TXS1nZjz00Y6h17dzh4KVrOkdU2F8rM8dM8SDHPHI\/HPco2pibberZeRnga7oZd8ADc\/Au8FoqmBlXSSwPOWTMLSRvsQrW7NSMMIXhOjy9c0c7ZV+nWynqsgmWMOOO3r81nNPSMqrpdr\/Njo2EtY7HJoGefL6ob+5crDWy02mbrRS7TUIkAG22Qdv1gfFKdlTT\/AHO8U8L5JJ+LIaCSGlxydv8AKPNSw2uit1cahJ8E35rImaKjdLTVtxeMPq6gnnnYb\/FxU6\/2V1zjjqKV\/RV1PvDJyz14KmWij9AtNLS4wY4xxf6jufMlTFW5b10aadFdiqcjKf0kvMUHostllNeQeEtB4T7cdx2Vlpu0S22lkmq96yqdxzHIOD2ZHvUy4XegtTQayobGXfVbglx7gqT+k9yuZc2yWpz2g46eY+r4bDz7lLOSyViq8Kc1jnia0X\/DUIsZcjqKjonVtwvENMPxYoh6xP5IwN\/Eq60vPXVNmjmrn8bnElji0hxGeZ7fZ\/BUXCyvcthtCnPBhaLlZXToNt1Hc7SfqOPTR7nYfycPBapZbUh+92obXdQCGl3QykZ5fycfBdhnePM5tG7hqcn8nkzUoiKs1GXu\/FbtY26uaPUqR0MmOvq3x7we5ahZrXUJdZop2\/Whnac45Agj44Whp5RPTRTDlIwOHeMqyWcUzLS3as4+D+P\/AA6IiKs1BFxqaqno4+kqZ44WZwHSODQT2brqCCMg5BQ5dXserLv\/AKt1+x5OI7hDjJ5cXZ4tHitQszrSN0NPR3OIfSUk4Pce3vA8VOnrbmZ9pyhj\/wAtP88jTKuv9P6VYq2Hh4iYi4DtI3HmFOikbNEyVhy17Q5p9hX04BzS07gjBUU7O5fJKcWuZUaUqPSdOUpPNgMZ7jgeWFy1hUT01hdJTzSQv6Ro4o3Fp8QouiHGOjraN31qeoOR2ZGPkV21t\/Z1\/wD9WKy37hixN7HfoQbJeai46gpG+kSOiNGA+MnYvGzjj3g7rXrLae0w63XIV4mBiMQLG4yTxcx7Mbe\/K1K5UtfIt2RVFT\/c1uVuoLcbpZp6ZgBkxxR\/6hv58u9cdLV4r7DA4uBkhHRPA6scvLCuFlKAtsWsKihI4KavAfF2B2+3jxDwSOcWhU\/bqxnweT9Cuv8AxW2+XGMbRXClLgM7ZG+fflp8VqNN\/wBnaL\/5BUuv6bipKSrxno5CwjqIIz+z5r6sepaCh01G2qlxPT5YYQPXducYHu61NpygrGWnKNLaZKTsrfc1T3sjYXyODGtGS5xwAs1V6jqrnUOoNPQmV\/J9S4Yaz2j7T3ArgyhuuqpBPXvfR27OWQDZzx1H957gtDGy3WSibGHQ0sDeRe4DJ955lQso9WaHKdXTdjz4v2K226Vp4X+lXJ5r6snJfISWj3A8+9TLtfaGyw\/TvzIR6kLPrH7Aqqs1LVXKY0WnoHTO5PqS3DWe0Z+J8FKtOl4KOX0yuf6ZWuOTI\/cA+wH4nyXWuMyMZLubOvPh92QqKz1l+rWXS9gNhb\/0aUcsdWfZ8fctUAAMAYAXqKEpNmmlSVNZavV8wqfVNCK6wVDeHLoR0rf0eflkK4XhAIwRkFcTs7kpwU4uL4lfYa4XGy01RnL+Dhftj1hsVYrLaXJtt3uNkeX8LHdLDxfk\/vBatSpTVpFezzc6avqsn4oqtTQekadrWYzwx8f6pz8l9acm6fT1C\/siDP1fV+Sm1cXT0c8O\/wBJG5u3tGFR6Hk49PBv+HK5vwPzT+hF5bQuq+jNEiIoGkzGvv8AwcP5y3\/a5TNJ3D06xxNdtLTfQvBO+3I+HzUPX3\/g4fzlv+1y+InOsetHwn1aS5+s3sD\/AOeR+kFclenY85ycNqcuGSfmapRLrR\/fC11FL+NIw8JzycN2nxAUtFSnY9CSUk0yh0fWOqLN6NKOGajeYnNPPHV9ncr5ZWMfefXLm8PDBcmkgk7cfPxzn9ZapTms78yjZm8GF6xy\/PIy9nHoWtLrSZ9WdvTD35B\/aK5VclZqe6QUjaaWnoaeQmYvBxJg+7Huz2nsXW7fgetrXV4w2oaYie07j9oLUKblaz6FEKeNSpt5J\/LU8a0NaGtAAAwAOpeoipN4We1hSSPt8Vwp2\/T0MgkDusN6\/PB7loVm73fXTSus9oYKmqlBa9wwWxjkfZnyCnC+LIz7S49m1Lj9SLqK\/UNbpuOLiJqKtjXNjZuWEEHfwIUOyaVZd7WLhNWvbNJtGWD\/AKfCcb9p2X1pyhitOoZrZcYY3zyRfRSbkHbJAz277+xWOjCac3G2OyTS1GxPWDkfs+aubwxaiYIR7arGVVa3VuTX4w2wagwGO1A\/gxjIBz4r7p9FUXSCavqZ62QYyXuwD8\/NaRFT2kjctlpcVfxbZyp6aGliEVPEyJg5NYMBdURQNCSWSCIiHQiIgMvqINtd\/t15HqsLuimPs93uLvALUKo1TQ+nafqWj68Q6Vv6O58srtYKwV9jpZ8ku4A1xP5Q2PwVjzimZoblaUeefoyxWY0R6lNXwDlHUnHhjl3LTrMaM\/vP85PzXI91ip\/NT8\/oadV97r5rZapqyCNsjo8eq47YJx81YLhW0wrKGemJwJY3Mz2ZCirXzLppuLUdTLaurG1+k6KraMCWZjsZzg8DsjxVrqu3mts7pYwenpT0sZaMnbmPD4BY1tWaqx0lqkfl8dbjhzkhpHZ7yV+mq6e5YwUGtox34pfHMhWesNwtFNVOaWukYOIHtGxPkpqIqXqehFNJJme1lQuntTayLImo39I1w5gdfwB7lb22uZcrdBWRjAlbkjsPIjxypD2NkjdG9oc1wIcD1hZjTEzrbdKywzHHA8yQE\/jN\/lg+Kms425GeX7dZPhLLzWh01tGWUVJXsbl9LUAjbqP7wFo45GyxtkYcteA4HtBUK90BuVnqaVoy97Ms3x6w3HmFE0lWel2CBrnZkgzE4dYxy8sI84eB1bu0Nf6X0LpEWWuV2rL5VutNlOIwSKiqB2AzjAPj7+rZRjG5ZVqqmuvBcz6ul2qrtWmz2V+CP+4qQdmDrAKtrPZKSy0\/RwN4pHD15XD1nH5D2LparVTWijbT07fa955vPaVNXZSystCFOk79pU7308DP6rtsk1LHcqT1auiPGCOZaNyO7n49q5abjdVXKqvMLoxTVbAHRjPEJNs58\/ELSEAjBGQViJK+HSd8l9FkjqaOpOXwRyDMRHz59ynFuUcKKK6jSqKq9OPjz9zcLwuDRlxAHaVl3aju90yyy2p4YRtPPgDHb2eZUats8gh9J1PfH8BI4YojsT7Bj4BRVPmyx7SmrwV+ui+LLa4attVFljJTVSg44Id9\/fyVBXauvNROKalpm0r3nDWD15M45HPX2bBeUdHNdnhljoBbqME5q5BmR3UcO59wPetRaNPUFnaDBHxzYwZn7uPu7O5T3IcMzMntG0PJ2jzXpxfyJVsZVst0Da9wdUhv0hB61KRFQz04qySCIiHTwgEYIyCstpYutt3uNkfxcLHdLDxH8Xl5gtWqWX1Qx1tulvvrCQI3iKYDrbufhxDwVkM7x5mXaN3DV\/z9HqahZjRn95\/nJ+a0zSHNDhuCMhZnRn95\/nJ+a5Hus7U\/mp+f0NOiL5c5rGlz3BrRzJOAFA0mEgsxk13NFkBsMvpHrAkOGQ7Hn5LerMV\/4Nr2gm2DZ4Sw+0+sPsWnVlRt2MeywUMaXMIiKs2BZnVlLJTS0t9pm5lpHgSD8puev4d60y5VNPHV00tNM3ijlaWuHsKlF2dyqtT7SDj+XPaeeOpp454jlkjQ5p9hUK3WeK21tZUxSuIq38bmHk05J28SqnSNVLTvqbHVH6akcSz2tzvj496067JOLaI0pRqxjNrNfJ8TPavuM1JRQ08b3wtqX8ElQGnEY6+XaM7DfYpabhpy00Taemr4d93vP1nntKvZqeCpZwTwxyt\/Je0OHmoB05Zid7dB3NwuqUcNmVypVO0c42875EWo1lZafIbO+YjqiYd+84Ch\/wBKblXbWqySvaRlssueH7O3rV9Ba7fSkugo4GOPNwYMnvUokAZJwAl4rRHezrS707eC9zLixXu7EuvFx6GInPo8GCO\/q+Knw6fsVpjM74IgGDeSodxfHZcblquCGX0S2xGvqzsBGMtHvI593io0OnK+8Siq1BVO4ebKWJ2Gt9\/Z3eKlvWzdkU2pqVqaxS5v39j7qNVSVcho7BRvq5QMdKW4Yz2\/zwF7QaVdNMK2+VDq2o5iMn1G+z2+Q96vqSjpqGEQ0sDIWDqaMZ9\/au6jjtlEuVByeKq79OH54njWhrQ1oAAGAB1L1EVZqCIiAIiIAoN5t4ulpqKPOHSN9U9jhuPMKci6nZ3IyipJxfEotKXL0q0+jTEtqKM9HI1x3wOR+XcouhvpKGtqf8WpO3cD81x1FRVNor3Xq3MJjkYW1TGnnn8b+OsLto+qpKXTodNUwx\/SOc7ieAR71c1utriefCTVWMJ\/1T89LGle9scbpHuDWtBLieoLHzTVesq401MXwWqF30kmMGQ\/xyHVzPUF0uVzl1POLVaWyej8YM9TuGlvWPd8cLT0dHBQUkdLTM4I4xgD5lRW4r8S5v8AUSwp7i169PA+4YWU8EcMYIZG0Nbk52AwF0RFUbNAiIgCIiAy2p4H225Ul\/gafo3hlQG\/jN\/lkeC08cjJY2yRu4mPAc09oK+Z4IqmF8M8bZI3jDmuGQV6xkcMTY2NDI2NAaBsGgKTldJFMKeCcmtH9T7XhIAyTgBUdfqqkgl9GoY319UdgyHcZ9p+zKiiz3i9njvNX6NTnf0WA\/E\/z7l1Q4vIi66bw01ify+JKr9VUkEvo1DG+vqjsGQ7jPtP2ZUUWe8Xs8d5q\/Rqc7+iwH4n+fcr2gtlHbYujo6dkQ6yBu73nmVKTEl3TnYyn\/K\/Jafci0Fso7bF0dHTsiHWQN3e88ypSIoN3NCioqyCIiHQiIgCIiAIiIAiIgKrU1Q2n07WOLscUfAPaXbfNVlp0lbJrbST1dO8yuiBe0uIznffHvXusC6smt1ojJBqZuJ+DjYbfMnuWla1rGBjRhrRgDsCsu4xVuJjwRq1pOSukkvU+Kamho4GwU8YjjYMBoXVEVZrSSVkEREOhEUWvudHbYukrKhkQ6gTu73DmUSucclFXZKXOaeGmiMs8rIo283POAFmnalud24o7FbXlo29ImIAHdy8z7l9Q6SmrCJr5cJqqTORGx\/qN9n8sKzBbvMzfqHPKlG\/XRHSt1hB0no9pgfX1B5cLTwj5n+N1wjsV5vJEl8rnQwk59GhOPHq+K0dJRUtDF0VLAyFnY0Yz7+1d0xpd1DsJTzqu\/RZL7kWgtlHbYujo6dkQ6yBu73nmVKRFW3c0qKirIIiIdCIiAIiIAiIgCIiAIiIAiKvvdzZabXLVOI4wOGMZxxOPL7e5dSu7EZSUYuT0RUWz+tdY1tfzho29DERuM8jv+ty7fHTql0rb3UNljdKPpqg9K8nnvyz3K6UpvPIp2eLVO71efxCLwkAZJwAqO4att1I7oaYuragnAjh3Gf9X2ZUVFvQtnUhTV5Oxeqqueo7Zaw5ss4klG3RRes7Pt7O9VL6PUl\/\/wC6kbbKR3\/qafXcPbj5ke5W1t03bLY0GKnEko\/9soDnd3Z3KeGK1ZR2lWp3FZc37FUK7Ul+YfQqdltpnDaWQnid7jj4DvUq36PoKZ3TVpdXVBOS6X6ufd19+VoEXHN6LI6tnjfFN4n19tD5YxkbAyNoY1owGtGAF9IigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKuulmprtJTuqS8tgdxBgPqu5ZyO5TZp4aaIyzysijbzc84AVBUanmq5XU1hon1kjdjM4Yjb\/AB7cKUVLVFFadNLDPjw+xoXvZGwvkcGNaMlzjgBZ+t1bEZHU9oppLhOOuNpLG+HP+N1xg0zX3Jwmv9fJICc+jRuw0e\/q8PFaGko6ahhENLAyFg6mjGff2qW7HqQvWqabq+f2M395L7e2g3ev9GhO\/o8I8jjbxyry22WgtTMUkAa7GDI7dx71PRcc28icKEIPFq+bzYREUC8IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDO1Omqi63SSe61pkpGu+gp4iQAPb2d257Qr6CnhpYWwwRtjjaMBrRgBEUpNvIopU4xvJLNnRERRLwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REVISIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R1299\",\"id_control\":\"28652\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:41",
    "ubicacionGPS": "LatLng(lat: -22.4439626, lng: -68.9069842)",
    "horaLlegada": "15:38",
    "horaDespacho": "13:54",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 15:41:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[12/05/2026 15:41: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('61980920', 'EP3007', 1, 21773342, 112719, NOW(), 
				'13:54', '15:38', '15:41', 4, 'Mantenimiento
Cambio de repuestos', -1, 
				'', '','1','38771',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778614892.png', '', null, 'COMPLETADO','LatLng(lat: -22.4439626, lng: -68.9069842)' )
				
[12/05/2026 15:41:32] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200277
[12/05/2026 15:41:32] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200277', 'EPS-R1299', 1)
				
[12/05/2026 15:41:32] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28652 and
				    IDproducto = 'EPS-R1299'
				

12/05/2026 15:41:32 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R1299';
                
12/05/2026 15:41:32 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200277'                    
				WHERE idllamado = 12546			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


12/05/2026 15:41:33 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12546			
				
12/05/2026 15:41:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/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 = 12546
                
12/05/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 = 12546
                
12/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/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 = 12546
                
12/05/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 = 12546
                
12/05/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 = 12546
                
12/05/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 = 12546
                [12/05/2026 15:41: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;
                
[12/05/2026 15:41: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;
                

12/05/2026 15:41:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/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 = 12546
                
12/05/2026 15:41:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:41:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:41: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;
                

12/05/2026 15:41:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/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 = 12546
                
12/05/2026 15:41:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/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 = 12546
                
12/05/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 = 12546
                
12/05/2026 15:41:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:41:36] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 15:41:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:41:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:41:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            
12/05/2026 15:41:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12546
            GROUP BY l.idllamado;
            [12/05/2026 15:41:36] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 15:41:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:41:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:41:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:41:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:41:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:41:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:41:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:41:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:41:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                
12/05/2026 15:41:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12546
                [12/05/2026 15:41:45] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/05/2026 15:41:45] 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/05/2026 15:41: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/05/2026 15:42:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:42:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:42:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 15:42: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/05/2026 15:42:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:42:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:42:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 15:42: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/05/2026 15:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 15:42: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/05/2026 15:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 15:42: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/05/2026 15:42:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:42:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:42:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 15:42: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/05/2026 15:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:42:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:42:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:42:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:42:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:47:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:47:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:47:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 15:47: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/05/2026 15:47:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:47:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:47:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:47:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 15:47: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/05/2026 15:47:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 15:47: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/05/2026 15:47:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:47:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            [12/05/2026 15:47: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/05/2026 15:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 15:47: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/05/2026 15:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15: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 = 12545
                
12/05/2026 15:47:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12545
                
12/05/2026 15: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 = 12545
                
12/05/2026 15:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:47:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:48:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15: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 = 12545
                
12/05/2026 15:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:48:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:49:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:49:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:49:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:49:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:49:58 - logentry: =========================================
FECHA: 12/05/2026 15:49:58
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-WaIW.dSsbq9UnOs061T1CVmjA2tTjlZ9_gG5Cvw0fDCdJq0gdLS
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3040",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "112837",
    "contadorColor": "44348",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\nCambio de repuesto",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12545",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADTARUDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABIEAABAwMBAwkFBAUKBgMAAAABAAIDBAURBhIhMRMiQVFhcYGRoRQyscHRFSPC4QclQlJ0JDU2Q2Jyc4Ky8BYzNEVT0pKi4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgMFBwQCAgMAAAAAAAABAgMRBCExEiJBUWETMnGRobHRM4HB4ULwFGIjUvH\/2gAMAwEAAhEDEQA\/AP7MiIgCIiAIiIAiLBvN8nirW2q1R8rXP94kbohjifiupNuyK6lSNNXkbyKTlrtQ6fkjmuTo62kkIbI9m7kzuHHA6u5VEM0dRAyaF4fHI0Oa4dIK7KNiNOqptq1muDPRERRLgiIgCIiA8xPCZjCJWGRvFmd4Xov5vWPqhebheYX76GsDcHpBLhx6twGO1f0SCaOpgjnidtRyNDmnrBVk4bNjNQxHatq1rex6IiKs0hERAcN5q56C01FVTNY6WJu0A8EjGRngR0ZXlYLsLxa2VJwJQdmVo6HD68V3VNOyqpZaeT3ZWFh3dYwoLSNZJbNQPt8p2WzOMTgeh7c4+Y8VbGKlF80Y6tWVOvG\/deX3P6EiIqjYEREAREQBERAEREAREQBERAEREAREQHLc61tuts9Y4Z5JmQOs8APPCyNJW58VG651TjJVVvPL3cdjo8+PkvHWsj5oqG2RuAdVzgcOrAHq4eSpIo2wxMiYMNY0NaOwKzSHiZVv13fSPu\/0edZSRV1HLSzDLJWlp7O1YejKmQ2+e3zDEtDKWEZ6CT8wVRqXox7Br2rgGQysi2wM9O4k+Yckc4tCru1IT+3n+yoREVZqCIiAIiICS0zSRXCnvUE4yJ5y1x89\/nvXVo2qk9intk7dmahkLSOwk\/PPovPRvNkurD7zak5Hn9F+LkRZdY01wL9mnrgY5eoEADy90+avlm3E8ynuQhV8U\/Bv5KpERUHphERAF\/NtWUpt+opJmFzDLieMjfvzv7t4J8l\/SVM63tjqu1sq4xl9KSSB0tOM+WB6q2lK0jFjqe3RbWqzN6gq2V9BBVxjDZmB2M5wekeB3LoUtoOu5a1y0bjl1O\/Lf7rt\/wAQfNVKhOOzJovoVO0pqfMIiKJcEREAREQBERAEREAREQBERAEREBMVYNZr6kiJ5lLBtkDr3\/Vqp1MW0GXXtzlxujhDBno3M+hVOpz4LoZsPntS5t\/AUxfcQ6us0wALnkxk9mf\/ANFU6mNUbr7YCNxNTjP+ZiU+8MV9O\/Ve6KdERQNIREQBERATGlvur3fIN+BPkZ\/vO\/JaWpLa252WaPH3kY5SM4zzh0eIyPFZttHIa9uUXRLCHjtPNPzKp1ZJ2kmY6EFKk6b5teplaauH2jY4JXEmRg5N5PSR0+IwfFaqldPkWvUlxtJIDJDysQLs9uPI+iqlyatLItw8nKmr6rJ\/YIiKBeF5zQsqIJIJBlkjS1w6wRgr0RBqfzzT7zZNXOo5XEBz3U5JHHJ5p8SG+a\/oaidc0MkFbT3aEYBwxxHQ4bwfL4Kwo6llZRw1LPdlYHjdjiFdU3kpGDCLs5Tovg7rwZ7IiKk3hEXFdLrS2ikNRUu3cGsHvPPUF1K+SOSkoq70O1FKRS6kvzjUU8gttIR92HDnHt4Z+AXrS3m52u5w2++CN0c5IiqW7gTn4cO3fvU9hmZYmOrTS58CmREVZqCIiAIiIAiIgCIiAmNP8\/VV7eeIeG+p+ip1MaX\/AJ\/v+173tG7PHG0\/8lTqdTvGbC\/Tv1fuwpjVP8+af\/ifxMVOpjVP8+af\/ifxMXafeGK+k\/Fe6KdERVmkIiIAiIgJi4fyXXdvnwQyeLk3HG4nnAb\/ACVOpjWgdTC3XJg51NUdHbv\/AA+qpmkOaHDeCMhWSzSZmo5VJx6380TGrI30FZQ3yCMONO\/Yl7Wnh8x4hUzXNewPY4Oa4ZBByCFxXuiNws1VTNGXuYSwf2hvHqFxaQrTWafhDjl8BMR7hw9CPJHnC\/I5HcruPCSv91r+DcREVZqCIiA5bnQR3K3TUcnCRuAf3T0HzWJoyrd7HPa5hszUUhaRnoJPwOfRUqgZrqy2a3mqmwmGIv5KfnA5zxd2cAfBWwTknExYiSpVIVPs\/D9F8i+AgjIOQV9VRtPxLKyGJ8sjg1jGlznHoA4lStopzqS7yXqrafZYXbFPC45GR093T39y79ZVjqWwPjZnbqXiIY6jvPoMeKz4r6aGigs9kpTWVUTA1z2jmNd+0d3HfnqHaVbFPZujDXqRdVRnos\/F8CuUtqq42WttklM6sjfUMG3FyfOw4dGRu38F8bpm53XZkvlyfs5yaeLgPHgD4Fa9Jp20URzDQxl370g2z68FxbMXe5KXa1ouKjZPn8IybRrK3tttPHXzOZUMaGvOw4g43A5HZglUdLVQVtO2oppBJE\/3XAbioKCsjt1Vc7XDQR1cklQW0rHMDw3eR08d2FWacs5s9u5OQtM8p25C3hnq8FKpGKzK8LWqTai80tenya6IipPQCIiAIiIAiIgJjTpxqi9tO4mTIHZk\/VU6mLR93re7R\/vMDt\/H9n6qnU6mpmwvca6v3CmNU\/z5p\/8AifxMVOpjUQ5bU9jhz7sm3\/8AYH8K7T7wxX0rdV7op0RFWaQiIgCLM1HV1FDYqmppX7E0ezsu2Qcc4A7j2Er3t1UZbNTVU79pzqdskjsdOyCTgLtsrlfaLb2Olzn1JSe2afq4hxazbHe3f8l801WCtsFLJnLmM5Nw6i3d8MHxXXQV9NdKQVNM7bicS3eMcN3BYWlf1fcblZXk\/cycpECd5aeny2fNTXda5FLaVaM1pJW\/K\/JTqXs7vsvVlwtbsiKpPLQgDDR04A7iR\/lVQpbVzDQ1tuvUY3wSCN+87xxA\/wBXmkM8uYxO6lUX8X6aMqVzxV9LPVzUkUwfNAAZGDPNz28F7tIc0OG8EZCmaUezfpAq2nc2ppwWjrIDfoVGKvcsqVHBxtxdinRcV3qKmktNRUUjWOmiZtNDwSMDjw7MrF0zqn7R2aOvcG1R9x+MCX80UW1dCVeEaipvVlOoPUFt9o1RU04zt1FPysWTuDmgnxzsnzKvFMVP336RKTH9TTHPk\/8A9gpU3ZtlOLgpxinzR7aOuwr7UKaR+Z6XmnJ3lvQfl4Lfe9scbpHuDWtBLiegL+fVrn6X1cZ42kQPO3st4OY47wO4+oC1bnXyamuMdntsp9jADqmdo3Eccf74nuU5Qu7rQqo4nZhsSzksrc+RmalvBvb2tgp5BQ00gDptg5yePdu6FT2ufT9ro2w0lfSNad7nOnbtOPWd60IbdSQUAoWQMNOG7JY4ZDu\/rXA7SNic4uNAMk53SvHzXHKLVuBKNCtCbqZNvnw8D7Waqs9Gwn2oTuH7MHPPnw9VmGe\/6kds07DbKBwwXuGXvHx8sd626axWqjdtQUMLXZztFu0R4laCjtRWiLeyq1PqSsuS+SP0rQxUOpLlTMy8QNDWudja4qwUxYefqy9PHAODfX8lTpUzkMIkqdlzfuERFWagiIgCIiAIiICYp\/u\/0iVXRylMPHc36eip1L3Etpde2+Y8Joiw56+cPoqhTnw8DNh8nNdX8hTFwAm\/SBbmYyI4C49h5\/5KnUvFib9Is2B\/yabfu7B\/7LsOPgMTpFf7IqERFWaQiIgMrUzQ7TlaD\/48+oXDpus9q0g5pOXwMfG7wGR6ELv1J\/R2t\/wipbSdRJStraGbmtqaYzRZO44B4d4\/0q6KvA8+rPZxK6qxuaJ\/o6z\/ABXrxvf6r1Rb7qN0cw5CboB6ASe45\/yr20T\/AEdZ\/ivXTqqh9u0\/UNAy+Ecqzvbx9Mpe1RnVFvCxa1STX2NhZmoaM11iq4WjL9jbaB0lu\/Hovun7h9pWWnqCQZNnYkx0OG78\/FaJAIwRkFV5xZr3atPo0ZOlqw1unqV7iC+NvJux\/Z3D0ws+7n2fW9qn90SMMZI6eI\/EF80e72WpudqLv+nnJYM8Rkgn0Hmvuqvu7xY5xxbUYI6xlqstvtGJybw0ZPVNejsUr2NkjdG9oc1wIcD0hQdDZhU+22cSBldRSmWmlwQcZAOT\/wDE9mVfKW1EHWm+0N6jaOTceRnPZ2+GfILlNvRFuLhFpTei18H8anVYb+Zmuobo5sFdBueH83b7erPDzyuazkXPVtdc48mnjjEcT8bndGQT\/dPDr89W42C23Z4lqYNqTGBIx2CQuuhoKa3U4p6SIRxgk4znJPSuOUbO3E7GlVbipu6WfV8jA13BTuszJ5N0zJQ2Igcc5yD2YGfALk0DXw8lPQODWy7XKNPS8cCPD5rr1fg1lnbKQ2H2nMhLgMDLfkSsDUNBPp6+trKM7Eb3cpE4Dc09Lf8AfQVbBbUNkx15OniHWSyVk\/uj+jIs+y3aG8W9lRGQHjdKwfsOWgs7VnZnqxkpRUloEX5e9kbC+RwY1oyXOOAFhXvU9tp6CoihqmTVDo3NY1nOGTu3kbkUW3kRqVI01eTObRe1O+6V5zipqMg4wDxP4lUKFsN3uNJaWUlus8tQ8uLnTOB2Mk9g6u1ahqNZTbhRUkG\/cdoHz5xVs4NyZjw9eMaSSTfgmUyLJ09dpLrSScu0NngfycmzwJxx+KKpqzszbCanFSRrIiLhMIiIAiIgJjV38nrrRXY3RVGHHsyDw8CqdYGtYOW07I\/GeRka\/wBcfNa9vqPardTVH\/lia87+sZU3nBGaGVea52f4OhS9i\/lGr7zU5J5M8lk9+PwKnJAGScAKZ0TtTw3Cuc3BqKgnJ4np\/Eke62KudWnHxfkv2U6IigaQi5X3Ojjr2UD6hjah4y1hPFdSWOKSehk6oeGabrSelgHmQFjjTklxslsqaaoMFTHThu1j3mnfjju4nzXVreqay0NomuzNUyNAjB3kA5z5gLfpYRTUkMAxiJjWDHYMK1NximjHKEataSeiS97nPaLc21WyGja7a2ASXdZJyV2EAjBGQV9RVt3dzXGKilFaIlbC77G1HWWV4LYpnGWn6uGceX+lVSm9XU8kDKW8026aieNrdxaT0+PxK3aOrirqOKqhOWStDh2dinPNKRnobkpUuWa8H8E+Q6h\/SCCBzK6DfjoIH1aPNNZ\/9s\/iR8l81c009wtNwG4Qz4cd3DIPyK+6z\/7Z\/Ej5KazcWZqmUKsOqfnYp1xXe3Nutsmo3ENLxzXEe64bwV2oqU7O56MoqScXoyf0pc3z0j7bVAsq6I7DmniWjcD4cPLrVApi8UVVQajpLxQQPlEpEdRHGMk9uO71AVMDkZ61KdtVxKcO5JOEtV6rgcl0tlNdqN1NUt5p3tcOLT1hTFdpq\/OovYW1kNZTAjkxKMPZjqJ4bt3HrVmiRm4nauHhVzZ\/K6eruembjNGz7qUDYe1wy1w6D9D2qop4NV3OnbMLpTwwyDI5MDPoPmtHUWnI71E2WIsjq4\/de4bnDqcs6j1DPY4RQXe3SsEAAbNAwbLh0btw8QrnLaV0szzo0ewm41JNQ4fs9WaLZPJylzudTWO6s4Hrn5LNqbVbq+9RWa10wZDA4uqpxkuBHRtHy7z2LuqNTV11caSx0M2XDDp3jGx3dA8Stix2WKzUpYHGSeU7U0p\/aP03lR2pRV2y1UqVV7NNZcX+E36mk1oa0NaAABgAdCzNQXdlmtj5+Mr+ZEP7WOPcF0XO501po3VNS\/DRua0cXnqCwLPRVV+uDb3dIw2JpzSwngB0Hu6c9J7FXGP8noaq1R37OHefp1NPS9tlttmZHUN2Z5HGR4JyRngPJFsIot3dy6EFCKiuAREXCYREQBERAcd3pva7RVwYyXxODR243eqz9H1An05TjOTEXMPnkehC3FMaQ\/k1Vdbd0QVGW9xyPwhTWcGZp7teL5pr8m1eZ\/ZrNWTdLYXY3dOMD1XFpGDkNN02eMm087+snHphc+t6gx2MU7cl9RK1gaBknG\/4gLboqcUlDBTDGIo2s3dgwu6QC3sQ+i9\/\/D3REVZpM262KgvEZ9ohAlxhszdzm\/XuKyG0mqbQDFRzR3GEHmCY4IHeSD4ZxwVSimptZFE6EZPaWT5onrZZa6e6Nu96kYZ2DEULPdj4j8\/FUKIouTZOnTjTVkERFwsPOeGOpgkglbtRyNLXDrBU1p2Z9nulRp+qdzcmSme4+8OrxG\/wKqVh6lsz6+BlZSEsrqXnRFvF2N+Pp+anBruszV4vKpHVeq4o+6uopK2wSNiifLLG9r2MY0kk5xuA7CVmXx0tXU6dgkaRNI5skrHDBb7ucg+PktnT94bebeJHANnjOzMwDGD19xWVSObedbzVTTtQW9nJtJ4F28fHa8lON1k+BRVUZ2lF9+y8ncqkRFSegEREAREQBflzWvaWvaHNPEEZBX6X5e9kbC+RwY1oyXOOAEB9AA4DCz7ve6OzQcpUvy9w5kTfef8AQdqy63Vb56g0VipjWTndyuOY3t7e84C9bTpkRVH2hdZfbK1x2ufvazq7z6Do4ZVijbORldZzezRz68F8nJb7PVX2qF1vgIj4wUudwHaOr49KqgABgDAC+ooyk2W0qSprLV6vmERFEtCIiAIiIAiIgCl3n7O18xxdiOvh2d53A9Xm0eaqFN6yhfHS0t0hGZKKYOO\/HNJHzA81OGtuZmxKtDbX8Xf59D8Xr9ZartttG9lP9\/KOHbjt4evlTqZ0q11fX3G9vaR7Q\/k4s\/uj16G+XlTJPKy5DD7ydT\/s\/TRBERQNIREQBERAEREAREQE\/cNKNqKuSpoa6W3umGJWxA7L+vcCOK1LXa6a0Uns1M07O0XFx4uPb8F2IpOTasyqNGnGW0lmERFEtCIuerr6OgZt1dTHCMZG27BPcOJQ42krs6F+XvZGwvkcGNaMlzjgBTU2rpaxxisdumqng4Mj2EMHl88L8\/8ADl0vDxLfLhsx5yKaDgPkPXvVmxbvZGZ4jaypLa9vM6a\/V1LHL7NbYn3CpO4CL3R49Ph5rkZYLte5RPfasxxZyKWI7h2dQ9SqGgtlHbYuTo6dkQ6SBvd3niV1JtJd0dhKpnVd+i0\/Zz0VDTW+nbBSwtjYOgcT2k9K6ERVmlJJWQREQ6EREAREQBERAEREAU9rGtLLa23wgPqK14Y1m4nGervwFvSyshifLI4NYxpc5x6AOJUxZWPv1\/mvUufZoCWUrHA46s+WT3nsU4L+T4GbESbSpx1l7cT30VVNfaX0TmcnNSSFsgxgnJJBPqPBUak6t7rBrFtUebR3EBr+prtwz54PiVWJPW\/MYZ2j2b1jl8egREUDSEREAREQBERAEX4lmigYZJpGRsHFz3ABZFZq2zUmR7Ty7h+zCNrPjw9V1Rb0ITqQh3nY2kUt\/wATXa4t\/VNlkLTwlmPNPwHqhs+pbk7NfdhSxn+rg6OG7dj4lT2LauxR\/kqX04t+3mzerLrQW\/8A6uriiP7pdzvLisWbWlO+QQ2yinrZScDA2R8z6L2pNGWimdtyskqX5zmV27yGM+K24YIadgjgiZEwcGsaGj0TcXUWxE9Wo+r+CZEerLsAXyR2yEgHDfe+Z9Qumj0bb4ZBNWSS1suSSZTzT4fUqhRc23wyOrDQveW8+v8AbHnDDFTxiOCJkTBwaxoAHgF6IigadAiIgCIiAIiIAiIgCIiAIiIAiIgJSsmuepayS3wQSUdBE\/Znlfuc\/HR+XnxVJR0kNBSR0tOzZijGGhe6KTldWKadLZbk3dv+2M6+Wll5tr6ZxDZAdqN5\/Zd9FjWvVcdHA2hvTZIaqF3JlxZkEdBP++1VS83wxSODpImPI4FzQcLqkrWZydKTntwdn7noiLmq7hR0LNqqqooR1OcAT3DiVDUubSV2dKKcqNaUIeYqCCeul6GxtIB8ePovEVGrbn\/yqeG3Rk+8\/wB7j25PoFPs3xyM7xNO9o73h\/bFQSAMk4AWZV6ks9Hulro3Hqj559Flt0fNWOD7tdqipP7jDgDuzn4LTpNM2ejHMoY3n96Xnn1XbQWrObdeWkUvH9fJmO1jLVbTbTaampIHvOG4duBn4hOR1dcT95NBbozxDcF2PDPxCpw0NGGgAdQX1NtLRDsJy7839siZi0VBI8SXGvqayTpy7A9cn1WxSWS2UODTUULHDg4t2neZ3ruRRc5PVlkKFKGaiERFEuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIsyu1FareCJqtjngHmR853du4eK6k3oRlOMFeTsaaKXGqq+4OLLNaJJhnAll3N8egea\/LrLqK6n9ZXQU0RBzFB8DjGfElT2Lauxn\/wAlS+nFy9vNm3XXy2W7IqqyNrxxYDtO8hvWO7VdXX5bZbTLP1SSjDe3hu9Quyg0laKHDuQ9oeMc6Y7XpwW0Ghow0ADqCXgtMxs15957K6Zvz\/RMfZep7lvrbkyijP8AVwcfT6le9Joq1Qc6o5Wrk6TI7A8h+aoUXO0lwyOrDU73lm+uZ409LT0kfJ00EcLP3Y2ho9F7IigaEkskEREOhERAEREAREQBERAEREAREQBERAEREAREQBERAEWdcb9bbWSypqQJAM8m3nO8ujxWMbvqG8bTbZb\/AGSEjmzzjBx1jO7yBU1BvMonXhF7Or5LMo6uspqGEzVU7IWDpccZ7utYE+rnVMvIWWglrX5xtuaQ0f77cL7TaPjle2e71k9dMOILzs93X8FQwwQ00QigiZFG3g1gwAu7i6kP+ep\/qvN\/BM\/YV8uxLrvcjBGSCIIOH0+K06HS9oocFlKJXjPPm558uHotdFxzkyUcPTi7tXfN5nwAAYAwAvqIoGgIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgOEWW2+3OrTSRuqHHJe7J39eDuC7kRdbbIqMY6IIiLhIIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REVISIÓN TECNICA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R1299\",\"id_control\":\"28651\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:49",
    "ubicacionGPS": "LatLng(lat: -22.4439549, lng: -68.9069746)",
    "horaLlegada": "15:35",
    "horaDespacho": "15:41",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 15:49:58
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-WaIW.dSsbq9UnOs061T1CVmjA2tTjlZ9_gG5Cvw0fDCdJq0gdLS
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3040",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "112837",
    "contadorColor": "44348",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\nCambio de repuesto",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12545",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADTARUDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABIEAABAwMBAwkFBAUKBgMAAAABAAIDBAURBhIhMRMiQVFhcYGRoRQyscHRFSPC4QclQlJ0JDU2Q2Jyc4Ky8BYzNEVT0pKi4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgMFBwQCAgMAAAAAAAABAgMRBCExEiJBUWETMnGRobHRM4HB4ULwFGIjUvH\/2gAMAwEAAhEDEQA\/AP7MiIgCIiAIiIAiLBvN8nirW2q1R8rXP94kbohjifiupNuyK6lSNNXkbyKTlrtQ6fkjmuTo62kkIbI9m7kzuHHA6u5VEM0dRAyaF4fHI0Oa4dIK7KNiNOqptq1muDPRERRLgiIgCIiA8xPCZjCJWGRvFmd4Xov5vWPqhebheYX76GsDcHpBLhx6twGO1f0SCaOpgjnidtRyNDmnrBVk4bNjNQxHatq1rex6IiKs0hERAcN5q56C01FVTNY6WJu0A8EjGRngR0ZXlYLsLxa2VJwJQdmVo6HD68V3VNOyqpZaeT3ZWFh3dYwoLSNZJbNQPt8p2WzOMTgeh7c4+Y8VbGKlF80Y6tWVOvG\/deX3P6EiIqjYEREAREQBERAEREAREQBERAEREAREQHLc61tuts9Y4Z5JmQOs8APPCyNJW58VG651TjJVVvPL3cdjo8+PkvHWsj5oqG2RuAdVzgcOrAHq4eSpIo2wxMiYMNY0NaOwKzSHiZVv13fSPu\/0edZSRV1HLSzDLJWlp7O1YejKmQ2+e3zDEtDKWEZ6CT8wVRqXox7Br2rgGQysi2wM9O4k+Yckc4tCru1IT+3n+yoREVZqCIiAIiICS0zSRXCnvUE4yJ5y1x89\/nvXVo2qk9intk7dmahkLSOwk\/PPovPRvNkurD7zak5Hn9F+LkRZdY01wL9mnrgY5eoEADy90+avlm3E8ynuQhV8U\/Bv5KpERUHphERAF\/NtWUpt+opJmFzDLieMjfvzv7t4J8l\/SVM63tjqu1sq4xl9KSSB0tOM+WB6q2lK0jFjqe3RbWqzN6gq2V9BBVxjDZmB2M5wekeB3LoUtoOu5a1y0bjl1O\/Lf7rt\/wAQfNVKhOOzJovoVO0pqfMIiKJcEREAREQBERAEREAREQBERAEREBMVYNZr6kiJ5lLBtkDr3\/Vqp1MW0GXXtzlxujhDBno3M+hVOpz4LoZsPntS5t\/AUxfcQ6us0wALnkxk9mf\/ANFU6mNUbr7YCNxNTjP+ZiU+8MV9O\/Ve6KdERQNIREQBERATGlvur3fIN+BPkZ\/vO\/JaWpLa252WaPH3kY5SM4zzh0eIyPFZttHIa9uUXRLCHjtPNPzKp1ZJ2kmY6EFKk6b5teplaauH2jY4JXEmRg5N5PSR0+IwfFaqldPkWvUlxtJIDJDysQLs9uPI+iqlyatLItw8nKmr6rJ\/YIiKBeF5zQsqIJIJBlkjS1w6wRgr0RBqfzzT7zZNXOo5XEBz3U5JHHJ5p8SG+a\/oaidc0MkFbT3aEYBwxxHQ4bwfL4Kwo6llZRw1LPdlYHjdjiFdU3kpGDCLs5Tovg7rwZ7IiKk3hEXFdLrS2ikNRUu3cGsHvPPUF1K+SOSkoq70O1FKRS6kvzjUU8gttIR92HDnHt4Z+AXrS3m52u5w2++CN0c5IiqW7gTn4cO3fvU9hmZYmOrTS58CmREVZqCIiAIiIAiIgCIiAmNP8\/VV7eeIeG+p+ip1MaX\/AJ\/v+173tG7PHG0\/8lTqdTvGbC\/Tv1fuwpjVP8+af\/ifxMVOpjVP8+af\/ifxMXafeGK+k\/Fe6KdERVmkIiIAiIgJi4fyXXdvnwQyeLk3HG4nnAb\/ACVOpjWgdTC3XJg51NUdHbv\/AA+qpmkOaHDeCMhWSzSZmo5VJx6380TGrI30FZQ3yCMONO\/Yl7Wnh8x4hUzXNewPY4Oa4ZBByCFxXuiNws1VTNGXuYSwf2hvHqFxaQrTWafhDjl8BMR7hw9CPJHnC\/I5HcruPCSv91r+DcREVZqCIiA5bnQR3K3TUcnCRuAf3T0HzWJoyrd7HPa5hszUUhaRnoJPwOfRUqgZrqy2a3mqmwmGIv5KfnA5zxd2cAfBWwTknExYiSpVIVPs\/D9F8i+AgjIOQV9VRtPxLKyGJ8sjg1jGlznHoA4lStopzqS7yXqrafZYXbFPC45GR093T39y79ZVjqWwPjZnbqXiIY6jvPoMeKz4r6aGigs9kpTWVUTA1z2jmNd+0d3HfnqHaVbFPZujDXqRdVRnos\/F8CuUtqq42WttklM6sjfUMG3FyfOw4dGRu38F8bpm53XZkvlyfs5yaeLgPHgD4Fa9Jp20URzDQxl370g2z68FxbMXe5KXa1ouKjZPn8IybRrK3tttPHXzOZUMaGvOw4g43A5HZglUdLVQVtO2oppBJE\/3XAbioKCsjt1Vc7XDQR1cklQW0rHMDw3eR08d2FWacs5s9u5OQtM8p25C3hnq8FKpGKzK8LWqTai80tenya6IipPQCIiAIiIAiIgJjTpxqi9tO4mTIHZk\/VU6mLR93re7R\/vMDt\/H9n6qnU6mpmwvca6v3CmNU\/z5p\/8AifxMVOpjUQ5bU9jhz7sm3\/8AYH8K7T7wxX0rdV7op0RFWaQiIgCLM1HV1FDYqmppX7E0ezsu2Qcc4A7j2Er3t1UZbNTVU79pzqdskjsdOyCTgLtsrlfaLb2Olzn1JSe2afq4hxazbHe3f8l801WCtsFLJnLmM5Nw6i3d8MHxXXQV9NdKQVNM7bicS3eMcN3BYWlf1fcblZXk\/cycpECd5aeny2fNTXda5FLaVaM1pJW\/K\/JTqXs7vsvVlwtbsiKpPLQgDDR04A7iR\/lVQpbVzDQ1tuvUY3wSCN+87xxA\/wBXmkM8uYxO6lUX8X6aMqVzxV9LPVzUkUwfNAAZGDPNz28F7tIc0OG8EZCmaUezfpAq2nc2ppwWjrIDfoVGKvcsqVHBxtxdinRcV3qKmktNRUUjWOmiZtNDwSMDjw7MrF0zqn7R2aOvcG1R9x+MCX80UW1dCVeEaipvVlOoPUFt9o1RU04zt1FPysWTuDmgnxzsnzKvFMVP336RKTH9TTHPk\/8A9gpU3ZtlOLgpxinzR7aOuwr7UKaR+Z6XmnJ3lvQfl4Lfe9scbpHuDWtBLiegL+fVrn6X1cZ42kQPO3st4OY47wO4+oC1bnXyamuMdntsp9jADqmdo3Eccf74nuU5Qu7rQqo4nZhsSzksrc+RmalvBvb2tgp5BQ00gDptg5yePdu6FT2ufT9ro2w0lfSNad7nOnbtOPWd60IbdSQUAoWQMNOG7JY4ZDu\/rXA7SNic4uNAMk53SvHzXHKLVuBKNCtCbqZNvnw8D7Waqs9Gwn2oTuH7MHPPnw9VmGe\/6kds07DbKBwwXuGXvHx8sd626axWqjdtQUMLXZztFu0R4laCjtRWiLeyq1PqSsuS+SP0rQxUOpLlTMy8QNDWudja4qwUxYefqy9PHAODfX8lTpUzkMIkqdlzfuERFWagiIgCIiAIiICYp\/u\/0iVXRylMPHc36eip1L3Etpde2+Y8Joiw56+cPoqhTnw8DNh8nNdX8hTFwAm\/SBbmYyI4C49h5\/5KnUvFib9Is2B\/yabfu7B\/7LsOPgMTpFf7IqERFWaQiIgMrUzQ7TlaD\/48+oXDpus9q0g5pOXwMfG7wGR6ELv1J\/R2t\/wipbSdRJStraGbmtqaYzRZO44B4d4\/0q6KvA8+rPZxK6qxuaJ\/o6z\/ABXrxvf6r1Rb7qN0cw5CboB6ASe45\/yr20T\/AEdZ\/ivXTqqh9u0\/UNAy+Ecqzvbx9Mpe1RnVFvCxa1STX2NhZmoaM11iq4WjL9jbaB0lu\/Hovun7h9pWWnqCQZNnYkx0OG78\/FaJAIwRkFV5xZr3atPo0ZOlqw1unqV7iC+NvJux\/Z3D0ws+7n2fW9qn90SMMZI6eI\/EF80e72WpudqLv+nnJYM8Rkgn0Hmvuqvu7xY5xxbUYI6xlqstvtGJybw0ZPVNejsUr2NkjdG9oc1wIcD0hQdDZhU+22cSBldRSmWmlwQcZAOT\/wDE9mVfKW1EHWm+0N6jaOTceRnPZ2+GfILlNvRFuLhFpTei18H8anVYb+Zmuobo5sFdBueH83b7erPDzyuazkXPVtdc48mnjjEcT8bndGQT\/dPDr89W42C23Z4lqYNqTGBIx2CQuuhoKa3U4p6SIRxgk4znJPSuOUbO3E7GlVbipu6WfV8jA13BTuszJ5N0zJQ2Igcc5yD2YGfALk0DXw8lPQODWy7XKNPS8cCPD5rr1fg1lnbKQ2H2nMhLgMDLfkSsDUNBPp6+trKM7Eb3cpE4Dc09Lf8AfQVbBbUNkx15OniHWSyVk\/uj+jIs+y3aG8W9lRGQHjdKwfsOWgs7VnZnqxkpRUloEX5e9kbC+RwY1oyXOOAFhXvU9tp6CoihqmTVDo3NY1nOGTu3kbkUW3kRqVI01eTObRe1O+6V5zipqMg4wDxP4lUKFsN3uNJaWUlus8tQ8uLnTOB2Mk9g6u1ahqNZTbhRUkG\/cdoHz5xVs4NyZjw9eMaSSTfgmUyLJ09dpLrSScu0NngfycmzwJxx+KKpqzszbCanFSRrIiLhMIiIAiIgJjV38nrrRXY3RVGHHsyDw8CqdYGtYOW07I\/GeRka\/wBcfNa9vqPardTVH\/lia87+sZU3nBGaGVea52f4OhS9i\/lGr7zU5J5M8lk9+PwKnJAGScAKZ0TtTw3Cuc3BqKgnJ4np\/Eke62KudWnHxfkv2U6IigaQi5X3Ojjr2UD6hjah4y1hPFdSWOKSehk6oeGabrSelgHmQFjjTklxslsqaaoMFTHThu1j3mnfjju4nzXVreqay0NomuzNUyNAjB3kA5z5gLfpYRTUkMAxiJjWDHYMK1NximjHKEataSeiS97nPaLc21WyGja7a2ASXdZJyV2EAjBGQV9RVt3dzXGKilFaIlbC77G1HWWV4LYpnGWn6uGceX+lVSm9XU8kDKW8026aieNrdxaT0+PxK3aOrirqOKqhOWStDh2dinPNKRnobkpUuWa8H8E+Q6h\/SCCBzK6DfjoIH1aPNNZ\/9s\/iR8l81c009wtNwG4Qz4cd3DIPyK+6z\/7Z\/Ej5KazcWZqmUKsOqfnYp1xXe3Nutsmo3ENLxzXEe64bwV2oqU7O56MoqScXoyf0pc3z0j7bVAsq6I7DmniWjcD4cPLrVApi8UVVQajpLxQQPlEpEdRHGMk9uO71AVMDkZ61KdtVxKcO5JOEtV6rgcl0tlNdqN1NUt5p3tcOLT1hTFdpq\/OovYW1kNZTAjkxKMPZjqJ4bt3HrVmiRm4nauHhVzZ\/K6eruembjNGz7qUDYe1wy1w6D9D2qop4NV3OnbMLpTwwyDI5MDPoPmtHUWnI71E2WIsjq4\/de4bnDqcs6j1DPY4RQXe3SsEAAbNAwbLh0btw8QrnLaV0szzo0ewm41JNQ4fs9WaLZPJylzudTWO6s4Hrn5LNqbVbq+9RWa10wZDA4uqpxkuBHRtHy7z2LuqNTV11caSx0M2XDDp3jGx3dA8Stix2WKzUpYHGSeU7U0p\/aP03lR2pRV2y1UqVV7NNZcX+E36mk1oa0NaAABgAdCzNQXdlmtj5+Mr+ZEP7WOPcF0XO501po3VNS\/DRua0cXnqCwLPRVV+uDb3dIw2JpzSwngB0Hu6c9J7FXGP8noaq1R37OHefp1NPS9tlttmZHUN2Z5HGR4JyRngPJFsIot3dy6EFCKiuAREXCYREQBERAcd3pva7RVwYyXxODR243eqz9H1An05TjOTEXMPnkehC3FMaQ\/k1Vdbd0QVGW9xyPwhTWcGZp7teL5pr8m1eZ\/ZrNWTdLYXY3dOMD1XFpGDkNN02eMm087+snHphc+t6gx2MU7cl9RK1gaBknG\/4gLboqcUlDBTDGIo2s3dgwu6QC3sQ+i9\/\/D3REVZpM262KgvEZ9ohAlxhszdzm\/XuKyG0mqbQDFRzR3GEHmCY4IHeSD4ZxwVSimptZFE6EZPaWT5onrZZa6e6Nu96kYZ2DEULPdj4j8\/FUKIouTZOnTjTVkERFwsPOeGOpgkglbtRyNLXDrBU1p2Z9nulRp+qdzcmSme4+8OrxG\/wKqVh6lsz6+BlZSEsrqXnRFvF2N+Pp+anBruszV4vKpHVeq4o+6uopK2wSNiifLLG9r2MY0kk5xuA7CVmXx0tXU6dgkaRNI5skrHDBb7ucg+PktnT94bebeJHANnjOzMwDGD19xWVSObedbzVTTtQW9nJtJ4F28fHa8lON1k+BRVUZ2lF9+y8ncqkRFSegEREAREQBflzWvaWvaHNPEEZBX6X5e9kbC+RwY1oyXOOAEB9AA4DCz7ve6OzQcpUvy9w5kTfef8AQdqy63Vb56g0VipjWTndyuOY3t7e84C9bTpkRVH2hdZfbK1x2ufvazq7z6Do4ZVijbORldZzezRz68F8nJb7PVX2qF1vgIj4wUudwHaOr49KqgABgDAC+ooyk2W0qSprLV6vmERFEtCIiAIiIAiIgCl3n7O18xxdiOvh2d53A9Xm0eaqFN6yhfHS0t0hGZKKYOO\/HNJHzA81OGtuZmxKtDbX8Xf59D8Xr9ZartttG9lP9\/KOHbjt4evlTqZ0q11fX3G9vaR7Q\/k4s\/uj16G+XlTJPKy5DD7ydT\/s\/TRBERQNIREQBERAEREAREQE\/cNKNqKuSpoa6W3umGJWxA7L+vcCOK1LXa6a0Uns1M07O0XFx4uPb8F2IpOTasyqNGnGW0lmERFEtCIuerr6OgZt1dTHCMZG27BPcOJQ42krs6F+XvZGwvkcGNaMlzjgBTU2rpaxxisdumqng4Mj2EMHl88L8\/8ADl0vDxLfLhsx5yKaDgPkPXvVmxbvZGZ4jaypLa9vM6a\/V1LHL7NbYn3CpO4CL3R49Ph5rkZYLte5RPfasxxZyKWI7h2dQ9SqGgtlHbYuTo6dkQ6SBvd3niV1JtJd0dhKpnVd+i0\/Zz0VDTW+nbBSwtjYOgcT2k9K6ERVmlJJWQREQ6EREAREQBERAEREAU9rGtLLa23wgPqK14Y1m4nGervwFvSyshifLI4NYxpc5x6AOJUxZWPv1\/mvUufZoCWUrHA46s+WT3nsU4L+T4GbESbSpx1l7cT30VVNfaX0TmcnNSSFsgxgnJJBPqPBUak6t7rBrFtUebR3EBr+prtwz54PiVWJPW\/MYZ2j2b1jl8egREUDSEREAREQBERAEX4lmigYZJpGRsHFz3ABZFZq2zUmR7Ty7h+zCNrPjw9V1Rb0ITqQh3nY2kUt\/wATXa4t\/VNlkLTwlmPNPwHqhs+pbk7NfdhSxn+rg6OG7dj4lT2LauxR\/kqX04t+3mzerLrQW\/8A6uriiP7pdzvLisWbWlO+QQ2yinrZScDA2R8z6L2pNGWimdtyskqX5zmV27yGM+K24YIadgjgiZEwcGsaGj0TcXUWxE9Wo+r+CZEerLsAXyR2yEgHDfe+Z9Qumj0bb4ZBNWSS1suSSZTzT4fUqhRc23wyOrDQveW8+v8AbHnDDFTxiOCJkTBwaxoAHgF6IigadAiIgCIiAIiIAiIgCIiAIiIAiIgJSsmuepayS3wQSUdBE\/Znlfuc\/HR+XnxVJR0kNBSR0tOzZijGGhe6KTldWKadLZbk3dv+2M6+Wll5tr6ZxDZAdqN5\/Zd9FjWvVcdHA2hvTZIaqF3JlxZkEdBP++1VS83wxSODpImPI4FzQcLqkrWZydKTntwdn7noiLmq7hR0LNqqqooR1OcAT3DiVDUubSV2dKKcqNaUIeYqCCeul6GxtIB8ePovEVGrbn\/yqeG3Rk+8\/wB7j25PoFPs3xyM7xNO9o73h\/bFQSAMk4AWZV6ks9Hulro3Hqj559Flt0fNWOD7tdqipP7jDgDuzn4LTpNM2ejHMoY3n96Xnn1XbQWrObdeWkUvH9fJmO1jLVbTbTaampIHvOG4duBn4hOR1dcT95NBbozxDcF2PDPxCpw0NGGgAdQX1NtLRDsJy7839siZi0VBI8SXGvqayTpy7A9cn1WxSWS2UODTUULHDg4t2neZ3ruRRc5PVlkKFKGaiERFEuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIsyu1FareCJqtjngHmR853du4eK6k3oRlOMFeTsaaKXGqq+4OLLNaJJhnAll3N8egea\/LrLqK6n9ZXQU0RBzFB8DjGfElT2Lauxn\/wAlS+nFy9vNm3XXy2W7IqqyNrxxYDtO8hvWO7VdXX5bZbTLP1SSjDe3hu9Quyg0laKHDuQ9oeMc6Y7XpwW0Ghow0ADqCXgtMxs15957K6Zvz\/RMfZep7lvrbkyijP8AVwcfT6le9Joq1Qc6o5Wrk6TI7A8h+aoUXO0lwyOrDU73lm+uZ409LT0kfJ00EcLP3Y2ho9F7IigaEkskEREOhERAEREAREQBERAEREAREQBERAEREAREQBERAEWdcb9bbWSypqQJAM8m3nO8ujxWMbvqG8bTbZb\/AGSEjmzzjBx1jO7yBU1BvMonXhF7Or5LMo6uspqGEzVU7IWDpccZ7utYE+rnVMvIWWglrX5xtuaQ0f77cL7TaPjle2e71k9dMOILzs93X8FQwwQ00QigiZFG3g1gwAu7i6kP+ep\/qvN\/BM\/YV8uxLrvcjBGSCIIOH0+K06HS9oocFlKJXjPPm558uHotdFxzkyUcPTi7tXfN5nwAAYAwAvqIoGgIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgOEWW2+3OrTSRuqHHJe7J39eDuC7kRdbbIqMY6IIiLhIIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REVISIÓN TECNICA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R1299\",\"id_control\":\"28651\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:49",
    "ubicacionGPS": "LatLng(lat: -22.4439549, lng: -68.9069746)",
    "horaLlegada": "15:35",
    "horaDespacho": "15:41",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 15:49:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[12/05/2026 15:49: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('61980920', 'EP3040', 1, 21773342, 112837, NOW(), 
				'15:41', '15:35', '15:49', 4, 'Mantenimiento
Cambio de repuesto', -1, 
				'', '','1','44348',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778615398.png', '', null, 'COMPLETADO','LatLng(lat: -22.4439549, lng: -68.9069746)' )
				
[12/05/2026 15:49:58] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200278
[12/05/2026 15:49:58] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200278', 'EPS-R1299', 1)
				
[12/05/2026 15:49:58] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28651 and
				    IDproducto = 'EPS-R1299'
				

12/05/2026 15:49:58 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R1299';
                
12/05/2026 15:49:58 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200278'                    
				WHERE idllamado = 12545			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


12/05/2026 15:49:58 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12545			
				
12/05/2026 15:49:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 15:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:49:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 15:50: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/05/2026 15:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 15:50: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/05/2026 15:50:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:50:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:50:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:50:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:50:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:50:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:50:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 15:50: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/05/2026 15:50:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:50:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 15:50: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/05/2026 15:50: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/05/2026 15:50:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                [12/05/2026 15:50: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/05/2026 15:50:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:50:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:50:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:50:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:50:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:50:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:50:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12545
            GROUP BY l.idllamado;
            
12/05/2026 15:50:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:50:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:50:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:50:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:50:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:50:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 15:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12545
                
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12540
                [12/05/2026 16:11:52] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            [12/05/2026 16:11:52] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12540
                [12/05/2026 16:11: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/05/2026 16:11: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/05/2026 16: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 = 12540
                [12/05/2026 16:11: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/05/2026 16: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 = 12540
                
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12540
                
12/05/2026 16: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 = 12540
                
12/05/2026 16: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 = 12540
                
12/05/2026 16: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 = 12540
                
12/05/2026 16: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 = 12540
                
12/05/2026 16: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 = 12540
                
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            [12/05/2026 16:11: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/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12540
                
12/05/2026 16: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 = 12540
                
12/05/2026 16: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 = 12540
                
12/05/2026 16: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 = 12540
                
12/05/2026 16:11:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:11:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:11:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:11:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:11:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:11:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                [12/05/2026 16:11: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/05/2026 16:11: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/05/2026 16:11:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            [12/05/2026 16:11: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/05/2026 16:11:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:11:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:11:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                [12/05/2026 16:11: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/05/2026 16:11:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:11:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:11:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                [12/05/2026 16:11: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/05/2026 16:11: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/05/2026 16:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:11:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:11:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:11:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:11:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:11:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:11:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:11:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16: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 = 12540
                
12/05/2026 16: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 = 12540
                
12/05/2026 16: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 = 12540
                
12/05/2026 16: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 = 12540
                
12/05/2026 16:11:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:11:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12539
                [12/05/2026 16:11: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/05/2026 16:11:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:11:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12539
                
12/05/2026 16:11:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12539
                [12/05/2026 16:11: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/05/2026 16: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 = 12539
                
12/05/2026 16:11:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            [12/05/2026 16:11: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/05/2026 16: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 = 12539
                [12/05/2026 16:11: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/05/2026 16:11:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            [12/05/2026 16:11: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/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16:11:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12539
                
12/05/2026 16:11:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            [12/05/2026 16:11: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/05/2026 16:11:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:11:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                [12/05/2026 16:11: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/05/2026 16:11:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                [12/05/2026 16:11: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/05/2026 16:11:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:11:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:11:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            [12/05/2026 16:11: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/05/2026 16:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:11:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:12:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            [12/05/2026 16:12: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/05/2026 16:12:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:12:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:12:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                [12/05/2026 16:12: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/05/2026 16:12: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/05/2026 16:12:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:12:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:12:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            [12/05/2026 16:12: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/05/2026 16:12: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/05/2026 16:12:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:12:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            [12/05/2026 16:12: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/05/2026 16:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            [12/05/2026 16:12: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/05/2026 16:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:12:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:12:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                [12/05/2026 16:12: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/05/2026 16:12:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            [12/05/2026 16:12: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/05/2026 16:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                [12/05/2026 16:12: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/05/2026 16:12:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:12:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            [12/05/2026 16:12: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/05/2026 16:12: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/05/2026 16:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:12:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            [12/05/2026 16:12: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/05/2026 16:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                [12/05/2026 16:12: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/05/2026 16:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:12:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                [12/05/2026 16:12: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/05/2026 16:12:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:12:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            [12/05/2026 16:12: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/05/2026 16:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                [12/05/2026 16:12: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/05/2026 16:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                [12/05/2026 16:12: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/05/2026 16:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16:12:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:12:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            [12/05/2026 16: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/05/2026 16:12:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:12:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12537
                
12/05/2026 16:12:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            [12/05/2026 16: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/05/2026 16: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/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                [12/05/2026 16:12: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/05/2026 16:12: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/05/2026 16:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            [12/05/2026 16:12: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/05/2026 16:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12537
                
12/05/2026 16:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12537
                [12/05/2026 16:12: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/05/2026 16:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12537
                
12/05/2026 16:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            [12/05/2026 16:12: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/05/2026 16:12: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/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                [12/05/2026 16: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;
                

12/05/2026 16:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                [12/05/2026 16: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;
                

12/05/2026 16: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 = 12536
                
12/05/2026 16:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 16: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;
                

12/05/2026 16: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 = 12536
                
12/05/2026 16:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                [12/05/2026 16: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;
                

12/05/2026 16:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 16: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;
                

12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                [12/05/2026 16: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;
                

12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16:12:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:12:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:12:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:12:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 16:12:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:12:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                [12/05/2026 16:12:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16:12:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:12:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                
12/05/2026 16:12:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:12:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16:12:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:12:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                [12/05/2026 16:12:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:12:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:12:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:12:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                [12/05/2026 16:12: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/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                [12/05/2026 16:20: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/05/2026 16:20: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/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                [12/05/2026 16:20: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/05/2026 16:20: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/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                [12/05/2026 16:20: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/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:20:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 16:20: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/05/2026 16: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 = 12536
                
12/05/2026 16:20:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16:20:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:20:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16:21:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 16:21:40] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:21:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:21:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:21:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16:21:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:21:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 16: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/05/2026 16:21:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                
12/05/2026 16:21:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 16: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/05/2026 16: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 = 12536
                [12/05/2026 16: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/05/2026 16:21:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:21:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 16: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/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                [12/05/2026 16: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/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16:21:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                
12/05/2026 16:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16:21:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16:21:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                
12/05/2026 16:21:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:21:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                
12/05/2026 16:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16:23:48 - logentry: =========================================
FECHA: 12/05/2026 16:23:48
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-OHp6-sVcp0DTwh.vf1ZG2ffwizE7JQ5_f7md8C_Y6NNhFfZoSkD
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "TO3080",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "68332",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\nCambio de repuesto",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12536",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADWAPYDASIAAhEBAxEB\/8QAGwABAQACAwEAAAAAAAAAAAAAAAYEBQEDBwL\/xABGEAABAwMCAgcFBQUFBgcAAAABAAIDBAURBiESMRMiQVFhgZEUcaGxwQcVMsLRIyRCUuE2Y5Ki0hZTcoLw8SYzNWJ0suL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQIEAwgBBAMAAAAAAAAAAQIDEQQSITFBUWEiMnGBkaGxwRMjM2LhctHw\/9oADAMBAAIRAxEAPwD2ZERAEREAREQBa66Xyhs5ibVyFrpfwhrSdhzJwtivN9Qvdda24XAcQhpHNgjPYTk\/1PmPOynFSeplxVZ0oXjuejggjIOQVyumjJNFASckxt+S7lWaU7q4REQ6EREAREQBERAFpvveo\/2q+6uCPoOh4+LB4s4784+C3KlKRrpftGrHtyWxwjJ7uq0fNTgk7mevJxyW4tFWiIoGgIiIAiIgCIiAIiIAiIgCIiAIiIAiIgOqqmFNSTTnGImOec+AyoERcOgZZj+Kar4iceX0VZqqp9l07VuzvI3ox48RwfhlTtypz90afswHWncHvaOzPf8A4j6FX09vM83Fu8muS927FnRgiigBGCI2\/Jdy4AAGAMALlUHopWVgiIh0IiIAiIgCIiAKU0jIa273evP4ZJAGHwyTj0wt\/d6j2S0Vc\/ayJxHvxt8VqNDU\/RWDpcbzSudnHMDb6FWR0g2ZKnarwjyu\/oo1qtSXKS1WaSpgIE3E1rMjIyTv8MraqM1\/VZ9joW5JJMjgD5Db1XKavJIniqn46MpLcqrbO+ptlLUSY45YWPdgdpaCVkrqpofZ6WKH\/dsDfQYXaovcujeyuERFwkEREAREQBERAEREAREQBERATGt3GSmoaMEjp6gA4Hdt9VxWD2jX9DEPwU8BcR3HDv1audQfttVWSD+R5k+IP5VxaCKvW91qc56FgiGOQ5D8pV60j5M8yfarNfyXsrlQiIqD0wiIgCIiAIiIAiIgJ7W1R0GnnRh2DPI1nv7fotraKX2K0UtNvlkQ4sjG\/M\/FTupZPvDUtstYPVY8Pk27z+gPqq5WS0ikZKfarzlysvthea3Gc3bWQ7YzUthbttgED+vmvQLnVexWypqs7xROc3342+KhLHScN5szHDryh9QSd8jrY+DPip0tE2UY55pQprn92PRURFQekEREAREQBEWLX3OjtsXSVlQyIdgJ3d7hzKJXOOSirsykWqs17++XzPio5Y6dmAyZ5\/Ge0Y\/7outNOzOQnGazR2NqiIuEgiIgCIiAlnn2n7RGnO1HT77cgWn\/AFr60SDNBX17h1qmpOc8zjf8xWFDMBctTVwGDDG6Jp577j5tC3WkYOg03TZ5ycTzv3k4+GFfLSPoeZQ7VZP\/ACfvY3SIioPTCIiAIiIAiIgCItdf6wUNjq5i4B3RljP+I7D5rqV3YjOSjFyfAmNPyfeeuKqtzxNYHuYee2zR8CrhRf2fQ7105H8jB8SforRWVe9YyYG\/4cz4tsnNazvNsgoIhmWsmawN7wDn58KxqSBrNdMp48FtHRhuwxjqj\/V8V91gFx17TQEZZRRdI7AzvzHu3LV9Wb9rrS7zHctaGZ9B+VSWkbdCmXbrZv5Jeib+SnREVB6YRY9dWwW6kfVVL+GNgz4k9w8VqbBqF9yoairrhBTRRP4Q7iwO\/fPkpKLauVyqwjNQb1Zvl0VdZTUMJmqp2QsHa44z7u9T9TqequErqXT9I+d4OHVD24Y33f19FzR6SdPOKu+VTq2b\/d5PAP8AruGApZLd4pddzdqSv14f35HxNf7neHup7BSER5wauUYA92dh8T4LuoNIQMmFVdZ3V9STk8ZyzPnz89vBUEUUcMbY4o2xsaMNa0YA8l9rme2kdDqw6bzVHmft6HDWhrQ1oAAGAB2IuUUDSEREAREQBEXVUydDSyy\/yMLvQIcbtqQLJT\/svealu\/tNW1vF55+qubXEIbVSRD+CBg\/yhQHRk6PpIGnh9prycn3cK9IAAGAMAK+qedgld36L3uzlERUHpBERAEREAREQBS+sJDVzUFojfvNJxyYOOFo2yfU+iqFGUsn3lcL1fHMDoqaF8cBHg07+g\/zKymtb8jJineKhz+FqzL0HGBaaiUDHSVBAGewAfqqdzg1pc4gADJJ7Fo9GR8GmoHfzue7\/ADEfRZOpKs0Vgq5Q7hcWcDe\/Ljj6pPWbQoNU8Mm+Cv8AZq9JNNbW3K8OyBPKWRggbDn\/AKfRc6V694vs381TgZ5jrP8A6LZaZpRSafpGYwXs6R2e92\/1Wt0Zu66OO5NScnv5qTd8xVTjldJPfV+39lOsW4XGltlKairkDGDkO1x7gO9a67apoLbmKN3tVVybFGc7+J7PmtPBp253+qFbfZXQsx1Im4Dsd2P4fmoxhxloi6pXd8lJXl7LxNNcNQSXe4dPUU5kghBdFTA9UeLu\/wAfotjpvS33lQMqa6eQUrnl0cDXYDjyJPdyx3rd3mhorPpatbSQNiBYGkjm7JA3PM81n6fiMNgomEYPQtdjHfv9VZKp2ezoY6eGbrWqu7tczYKeGlhbDBG2ONowGtGAF2IiznrJW0QREQBERAEREAREQBYF9k6KxVz\/AO4eB7yMfVZ602rZOj0zVkHBcGtHm4fTKlHWSKqztTk+jJhsZ9l0vT\/zTOe7GORkB+S9AUU2PhvOmoQMFtK1x9+CT8laqdR7GbBq2byXokERFUbgiIgCIsS43OktVMZ6uUMb\/COZce4DtRK5yUlFXZlopq3armq7nDTz0Rhhqiegec5cOw+KpVKUXHchTqwqK8TW6grfYLHVTh3C\/g4WH\/3HYfPPktLHTC2\/Z5LkcL5ouN2w3LyAPgQF26je653qgsTc9E4iao4T\/CM7eGwPqFkazeIdNSxtAaHvYwAbbZz9FZHSy5mOq8zqT4RTXnx+jM05H0WnqFuMZiDvXf6rWa1eZKaioG86qoA254G23mQvuTU1tsttp6fj6eaOFjeij7MADc9nzUxV19w1fc4IIoY43MB6NoceqNsknyXYRebM9iFevBUVSi7y0VkV9z1Ra7QzoWv6eVgwIojnHvPIKPtNNeLw6phoJDDTyyccx4sNBPYTzPuVJatEUVJwyVzvapR\/DyYPLt8\/RNFgAXIAYAqT9V1OMYvKRlCrVqQVXRO+iM6y6ZorO0PA6apxvK4cv+Edi3KIqG23dnpQpxpxyxVkTWupuCxshbu6aZox3gAn54VDTxdBTRRbfs2Bu3gMKb1UOnvNkpSTwunJcO\/dv9VUKcu6imnrWm\/Bff2ERFWaQiIgCIiAIiIAiIgCndcO4dP4x+KZo+Z+iolMa8JNmgjaes+pbgd\/Vd\/RTp95GbFP9CXgdUzeHXFnjJyG0f5ZFWKYrgB9odtAGAKU\/KRU67Ph4HMOrOfj9IIiKs1BEXDnBrS5xAAGST2IDorq2C3Uj6qpfwxsGfEnuHipuz2+TUVU683dnFFnFNTu\/CB347R8918ubLq+7luQ210UnMHPTH+o9AfFVE9TTUUIdPNFBGNgXuDR7gre6rLcx6VpZpdxe\/XwJ69N\/wDF9mDRyB2C3tyuENroJauc9Vg2A5uPYAoyuvMlZqxlba6d9cKaPgja1hwTg7454y7w5LiClumqLtJS3KqLI6Y8T2R4IYeWBjbPZvupuGivwM8cRaU1TV23py2Pm0agpbcaqvqGyVNfVvyI2nZo8T2Zz2Z5Lqvdde7rDB7bB7NSyyARR8OOI9++5+Ss7dp+2Wsh9NTDpAP\/ADHnid8eXktVqv8AaXax053a+py4f8zP1KKcXLREalCpGhacvJdXxZlW7SFqoQ1z4vaZW78cu4\/w8vmsTT49t1RdbhzZGegjPhnG3k0eqoK+pFHb6ipJx0UbneYC02iabobAJnDrVEjnknmRy+nxUMzcW2aXThGrCEFZK7+l8lCpjSPUuF6i5FlT+Hu3d+ip1MWEmHVt6pznrkSc\/HP5lGPdZZW0q031fwU6IigaSYuh6fXNqhaN44y8n\/F+nxVOpih\/etfV03NtPCGN7N+r\/wDpU6nPguhmw+ueXNv20CIigaQiIgCIiAIiIAiIgCmNa9aO3MP4XVIyP+veqdTGrOtdbHFy46nn3dZn6qdPvGbF\/svy+RcOr9oNseTsadw88P8A1VOpjUn7vqOyVXIGUxucOeMj9SqdJbJihpOouvykEXXNNFTxmSeVkTBzc9wAHmVoK\/WlBTvMNGySsm5DgGGk+\/mfILii5bFlSrCmu07FGpfWV8ZS0LrfTyNdNOOGThduxvbn38liTu1Jc6WSqrZ\/umjiaXODAWuIHhnJ9xIyvnR9gp6qGS41sInY55bCJRsQObiOR328irIxUe02Y6ladX9KmrX4vl4HVb7rc32+G36et72sYOvUSNBy7tO\/VG\/v2Wyp9Impk9qvta+ql5lgcQ1vhn9MKmYxkbAyNoY1owGtGAFiXmc09mrJRzbC7HvxsuZ232dCxYaMY3qO9uHD0JGy1cNpsd0u0bWtdLN0VOCO3mOfZvn\/AJVQaUtzqGzMfKD01SelfxHJ35Z8t\/NTGmKR94npqeQO9joSZXdgc8nYZ8h6HvXoSlVdtCrBRzJT4JWX2\/oKYv8A19V2VnLDi7PmP0VOpiszN9oVC3HVhpyT6O3+IUKe5pxPdS5tfJka0qjT6eka04M72x\/U\/JbW20wpLZTU4GOjia0+\/G\/xWi1X+9XS0W8DPST8bvdkD5ZVOj0ikKfarzfKy+wphn7t9oj+32qm9MAf6FTqYvf7vrGz1J5SAxd3aR+dchu0MTooy5Nf6KdEWFeKsUNoqqnOCyM8O+Osdh8SFFK7saJSUU2zS6SIqrjeLhniEs\/Cw89sk8\/cR6KnWk0hSGk07AXNw6YmU+fL4ALdqU32mUYaLVKN+OvrqERFA0BERAEREAREQBEWDX3q3W0fvVWxjv5B1neg3XUm9iMpRirydjOUxqn\/ANc0\/wD\/ACfzMWNV6743CK20D5Hu\/C6XtPg0c\/Vaa4wXu6XOihup6J1S7ETTjDASMnhHLz32V0KbTuzzsRioTg409dvDc3OtrjRSU0MUFTG+qgnDuFpzgYPaPHC63aqvN4e6Gy0HB\/eHDiPeT1R5rKdoeggt1QGmSoqTGejc44w7G2AMdvflZuj6sVNgjYRh9O4xP2xy5fAj0XbxUdNbHFCtKtaTy5lw6dTWQ6Qrrg8VF7uL3OJyYmHOPPkPIKit9mt9rB9jpmRuPN\/Nx8zus5fEsrIYnyyODWMaXOcewDmVU5ylobaeHp09Uteb3JnVlRJXVVLYKV37SocHSnub2Z9CfIKkpqeOkpoqaFvDHE0NaPAKc0wJLpdK2+zNw2Q9FADzaP8AtjfxPiqhdnpaJDDrO3VfHbwC6qmmhrKd9POzjikGHNyRkeS7UVZpaTVmYluttLaqUU9LHwtzkk83HvKy0RG7iMVFWQUxF+0+0Sf+6phy9zefqqdTFq\/ba6us3LgiDMf4R+VThx8DPiN4Lr9MRtFf9oD5M8TKGDAPce7\/ADH0VOpjSY9pud4rzv0k\/Cw9wyTj5eip0qb2GG1g5c22FOa0pDJao66PaWikDwd84JAOPPhPkqNdc0MdRC+GVocyRpa4HtBXIuzuW1af5IOPM+KKqjrqKGqiOWSsDh+in9YSOq30VlheBLVShzsj8LeQPz9Fi2+6S6VdNbLmyV8TcupXNGeIZ5efPwWZpykqK+tk1BXBofMMQM4T1G4xkZ8NvHc9qsUcrzcDHKr+aKpcXv05lFDEyCFkMY4WRtDWjuA2C+0RUnoBERAEREAREQHTUVdNSM46mojhb3veG\/NaCq1rSh\/Q22mmrpd9mgtHyyfRbC46dt91rWVVY2R7mMDOEPw0jJO+N+3vWbSUFHQM4KSmjhGMHgbgn3nmVNZUtdTPNV5OyaS9WTBpdWXneedtugJzwtPC7Hlv5EhZFJoW3REOqppqp3bvwNPpv8VTou\/kfDQisJTvefafUx6Sgo6BnBSU0cIxg8DcE+88ytBfP7YWbz+ap1MXz+2Fm8\/mkNxiElTSXNfJTqVtQNm1dV29wDYK0dLDgbZ3OP8A7DyCqlotT2qorIYK2hOKujdxsAG7hzx79vmuQfB8SWIi7Kcd4\/8AM3qmtYVsr46ezUm9RWuHEO5ufqfgCuY9a2\/7rbUS5FTjBpwDni9\/ce9NO22pmrZr5c4y2eY\/sGO5xNOfTbYeGe9SjHLrIqqVVWSp03vv0RvKCiit9DDSQ\/gibw57z2nzOSshEVRsSSVkEREOhERAFI2SfoarUlcXY4HuLT2jBeeXoq5eexTmLTV6laM9PVBgd7zk\/D5q2mrprwMWKlllF8rv2KLRNOYdOseRjppHP\/L+VUCwrNB7NZqOHtbC3O\/bjJ+KzVCTvJs0UI5KUY9AiIolp8vYyQYe0OGc4IyvpEQBERAEREAREQBERAEREAREQBTF8\/thZvP5qnUxfP7YWbz+asp7mbE9xeK+SnREVZpMX7soPafafY4emyHcfAM5HIrKREucUUtkEREOhERAEREAXmUJMumIaYHr1Fy3Paeo0fmXpq8y0yDVXi30pGWxTvm35fhB\/IFfS2bPNx2soR53XrY9MAAGAMALlEVB6QREQBERAEREAREQBERAEREAREQBERAFMX7q6tsrjsCSAfHP9VTqY1R1b\/YHDYmowT4cTP1VlPvGbFft36r5RToiKs0hERAEREAREQBERAF5\/oKn6S8TTnlFCR5kj6Ar0BYlDbKO2te2khEQkOXY7eePmpxlaLXMzVaLqVIS4RuZaIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKY1eejqrROPxR1Qx6tP0VOpnXR6O1U0wzxMqW4wcdhP0CnT7yM2L\/AGZFMiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCwLvaKe9UjaapfIxjXh4MZAOQCO0HvRF1O2qIyipKz2M9ERcJBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "MANTENCION PREVENTIVA",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R1289\",\"id_control\":\"28646\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:23",
    "ubicacionGPS": "LatLng(lat: -22.4383178, lng: -68.9245859)",
    "horaLlegada": "15:35",
    "horaDespacho": "15:49",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 16:23:48
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-OHp6-sVcp0DTwh.vf1ZG2ffwizE7JQ5_f7md8C_Y6NNhFfZoSkD
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "TO3080",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "68332",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\nCambio de repuesto",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12536",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADWAPYDASIAAhEBAxEB\/8QAGwABAQACAwEAAAAAAAAAAAAAAAYEBQEDBwL\/xABGEAABAwMCAgcFBQUFBgcAAAABAAIDBAURBiESMRMiQVFhgZEUcaGxwQcVMsLRIyRCUuE2Y5Ki0hZTcoLw8SYzNWJ0suL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQIEAwgBBAMAAAAAAAAAAQIDEQQSITFBUWEiMnGBkaGxwRMjM2LhctHw\/9oADAMBAAIRAxEAPwD2ZERAEREAREQBa66Xyhs5ibVyFrpfwhrSdhzJwtivN9Qvdda24XAcQhpHNgjPYTk\/1PmPOynFSeplxVZ0oXjuejggjIOQVyumjJNFASckxt+S7lWaU7q4REQ6EREAREQBERAFpvveo\/2q+6uCPoOh4+LB4s4784+C3KlKRrpftGrHtyWxwjJ7uq0fNTgk7mevJxyW4tFWiIoGgIiIAiIgCIiAIiIAiIgCIiAIiIAiIgOqqmFNSTTnGImOec+AyoERcOgZZj+Kar4iceX0VZqqp9l07VuzvI3ox48RwfhlTtypz90afswHWncHvaOzPf8A4j6FX09vM83Fu8muS927FnRgiigBGCI2\/Jdy4AAGAMALlUHopWVgiIh0IiIAiIgCIiAKU0jIa273evP4ZJAGHwyTj0wt\/d6j2S0Vc\/ayJxHvxt8VqNDU\/RWDpcbzSudnHMDb6FWR0g2ZKnarwjyu\/oo1qtSXKS1WaSpgIE3E1rMjIyTv8MraqM1\/VZ9joW5JJMjgD5Db1XKavJIniqn46MpLcqrbO+ptlLUSY45YWPdgdpaCVkrqpofZ6WKH\/dsDfQYXaovcujeyuERFwkEREAREQBERAEREAREQBERATGt3GSmoaMEjp6gA4Hdt9VxWD2jX9DEPwU8BcR3HDv1audQfttVWSD+R5k+IP5VxaCKvW91qc56FgiGOQ5D8pV60j5M8yfarNfyXsrlQiIqD0wiIgCIiAIiIAiIgJ7W1R0GnnRh2DPI1nv7fotraKX2K0UtNvlkQ4sjG\/M\/FTupZPvDUtstYPVY8Pk27z+gPqq5WS0ikZKfarzlysvthea3Gc3bWQ7YzUthbttgED+vmvQLnVexWypqs7xROc3342+KhLHScN5szHDryh9QSd8jrY+DPip0tE2UY55pQprn92PRURFQekEREAREQBEWLX3OjtsXSVlQyIdgJ3d7hzKJXOOSirsykWqs17++XzPio5Y6dmAyZ5\/Ge0Y\/7outNOzOQnGazR2NqiIuEgiIgCIiAlnn2n7RGnO1HT77cgWn\/AFr60SDNBX17h1qmpOc8zjf8xWFDMBctTVwGDDG6Jp577j5tC3WkYOg03TZ5ycTzv3k4+GFfLSPoeZQ7VZP\/ACfvY3SIioPTCIiAIiIAiIgCItdf6wUNjq5i4B3RljP+I7D5rqV3YjOSjFyfAmNPyfeeuKqtzxNYHuYee2zR8CrhRf2fQ7105H8jB8SforRWVe9YyYG\/4cz4tsnNazvNsgoIhmWsmawN7wDn58KxqSBrNdMp48FtHRhuwxjqj\/V8V91gFx17TQEZZRRdI7AzvzHu3LV9Wb9rrS7zHctaGZ9B+VSWkbdCmXbrZv5Jeib+SnREVB6YRY9dWwW6kfVVL+GNgz4k9w8VqbBqF9yoairrhBTRRP4Q7iwO\/fPkpKLauVyqwjNQb1Zvl0VdZTUMJmqp2QsHa44z7u9T9TqequErqXT9I+d4OHVD24Y33f19FzR6SdPOKu+VTq2b\/d5PAP8AruGApZLd4pddzdqSv14f35HxNf7neHup7BSER5wauUYA92dh8T4LuoNIQMmFVdZ3V9STk8ZyzPnz89vBUEUUcMbY4o2xsaMNa0YA8l9rme2kdDqw6bzVHmft6HDWhrQ1oAAGAB2IuUUDSEREAREQBEXVUydDSyy\/yMLvQIcbtqQLJT\/svealu\/tNW1vF55+qubXEIbVSRD+CBg\/yhQHRk6PpIGnh9prycn3cK9IAAGAMAK+qedgld36L3uzlERUHpBERAEREAREQBS+sJDVzUFojfvNJxyYOOFo2yfU+iqFGUsn3lcL1fHMDoqaF8cBHg07+g\/zKymtb8jJineKhz+FqzL0HGBaaiUDHSVBAGewAfqqdzg1pc4gADJJ7Fo9GR8GmoHfzue7\/ADEfRZOpKs0Vgq5Q7hcWcDe\/Ljj6pPWbQoNU8Mm+Cv8AZq9JNNbW3K8OyBPKWRggbDn\/AKfRc6V694vs381TgZ5jrP8A6LZaZpRSafpGYwXs6R2e92\/1Wt0Zu66OO5NScnv5qTd8xVTjldJPfV+39lOsW4XGltlKairkDGDkO1x7gO9a67apoLbmKN3tVVybFGc7+J7PmtPBp253+qFbfZXQsx1Im4Dsd2P4fmoxhxloi6pXd8lJXl7LxNNcNQSXe4dPUU5kghBdFTA9UeLu\/wAfotjpvS33lQMqa6eQUrnl0cDXYDjyJPdyx3rd3mhorPpatbSQNiBYGkjm7JA3PM81n6fiMNgomEYPQtdjHfv9VZKp2ezoY6eGbrWqu7tczYKeGlhbDBG2ONowGtGAF2IiznrJW0QREQBERAEREAREQBYF9k6KxVz\/AO4eB7yMfVZ602rZOj0zVkHBcGtHm4fTKlHWSKqztTk+jJhsZ9l0vT\/zTOe7GORkB+S9AUU2PhvOmoQMFtK1x9+CT8laqdR7GbBq2byXokERFUbgiIgCIsS43OktVMZ6uUMb\/COZce4DtRK5yUlFXZlopq3armq7nDTz0Rhhqiegec5cOw+KpVKUXHchTqwqK8TW6grfYLHVTh3C\/g4WH\/3HYfPPktLHTC2\/Z5LkcL5ouN2w3LyAPgQF26je653qgsTc9E4iao4T\/CM7eGwPqFkazeIdNSxtAaHvYwAbbZz9FZHSy5mOq8zqT4RTXnx+jM05H0WnqFuMZiDvXf6rWa1eZKaioG86qoA254G23mQvuTU1tsttp6fj6eaOFjeij7MADc9nzUxV19w1fc4IIoY43MB6NoceqNsknyXYRebM9iFevBUVSi7y0VkV9z1Ra7QzoWv6eVgwIojnHvPIKPtNNeLw6phoJDDTyyccx4sNBPYTzPuVJatEUVJwyVzvapR\/DyYPLt8\/RNFgAXIAYAqT9V1OMYvKRlCrVqQVXRO+iM6y6ZorO0PA6apxvK4cv+Edi3KIqG23dnpQpxpxyxVkTWupuCxshbu6aZox3gAn54VDTxdBTRRbfs2Bu3gMKb1UOnvNkpSTwunJcO\/dv9VUKcu6imnrWm\/Bff2ERFWaQiIgCIiAIiIAiIgCndcO4dP4x+KZo+Z+iolMa8JNmgjaes+pbgd\/Vd\/RTp95GbFP9CXgdUzeHXFnjJyG0f5ZFWKYrgB9odtAGAKU\/KRU67Ph4HMOrOfj9IIiKs1BEXDnBrS5xAAGST2IDorq2C3Uj6qpfwxsGfEnuHipuz2+TUVU683dnFFnFNTu\/CB347R8918ubLq+7luQ210UnMHPTH+o9AfFVE9TTUUIdPNFBGNgXuDR7gre6rLcx6VpZpdxe\/XwJ69N\/wDF9mDRyB2C3tyuENroJauc9Vg2A5uPYAoyuvMlZqxlba6d9cKaPgja1hwTg7454y7w5LiClumqLtJS3KqLI6Y8T2R4IYeWBjbPZvupuGivwM8cRaU1TV23py2Pm0agpbcaqvqGyVNfVvyI2nZo8T2Zz2Z5Lqvdde7rDB7bB7NSyyARR8OOI9++5+Ss7dp+2Wsh9NTDpAP\/ADHnid8eXktVqv8AaXax053a+py4f8zP1KKcXLREalCpGhacvJdXxZlW7SFqoQ1z4vaZW78cu4\/w8vmsTT49t1RdbhzZGegjPhnG3k0eqoK+pFHb6ipJx0UbneYC02iabobAJnDrVEjnknmRy+nxUMzcW2aXThGrCEFZK7+l8lCpjSPUuF6i5FlT+Hu3d+ip1MWEmHVt6pznrkSc\/HP5lGPdZZW0q031fwU6IigaSYuh6fXNqhaN44y8n\/F+nxVOpih\/etfV03NtPCGN7N+r\/wDpU6nPguhmw+ueXNv20CIigaQiIgCIiAIiIAiIgCmNa9aO3MP4XVIyP+veqdTGrOtdbHFy46nn3dZn6qdPvGbF\/svy+RcOr9oNseTsadw88P8A1VOpjUn7vqOyVXIGUxucOeMj9SqdJbJihpOouvykEXXNNFTxmSeVkTBzc9wAHmVoK\/WlBTvMNGySsm5DgGGk+\/mfILii5bFlSrCmu07FGpfWV8ZS0LrfTyNdNOOGThduxvbn38liTu1Jc6WSqrZ\/umjiaXODAWuIHhnJ9xIyvnR9gp6qGS41sInY55bCJRsQObiOR328irIxUe02Y6ladX9KmrX4vl4HVb7rc32+G36et72sYOvUSNBy7tO\/VG\/v2Wyp9Impk9qvta+ql5lgcQ1vhn9MKmYxkbAyNoY1owGtGAFiXmc09mrJRzbC7HvxsuZ232dCxYaMY3qO9uHD0JGy1cNpsd0u0bWtdLN0VOCO3mOfZvn\/AJVQaUtzqGzMfKD01SelfxHJ35Z8t\/NTGmKR94npqeQO9joSZXdgc8nYZ8h6HvXoSlVdtCrBRzJT4JWX2\/oKYv8A19V2VnLDi7PmP0VOpiszN9oVC3HVhpyT6O3+IUKe5pxPdS5tfJka0qjT6eka04M72x\/U\/JbW20wpLZTU4GOjia0+\/G\/xWi1X+9XS0W8DPST8bvdkD5ZVOj0ikKfarzfKy+wphn7t9oj+32qm9MAf6FTqYvf7vrGz1J5SAxd3aR+dchu0MTooy5Nf6KdEWFeKsUNoqqnOCyM8O+Osdh8SFFK7saJSUU2zS6SIqrjeLhniEs\/Cw89sk8\/cR6KnWk0hSGk07AXNw6YmU+fL4ALdqU32mUYaLVKN+OvrqERFA0BERAEREAREQBEWDX3q3W0fvVWxjv5B1neg3XUm9iMpRirydjOUxqn\/ANc0\/wD\/ACfzMWNV6743CK20D5Hu\/C6XtPg0c\/Vaa4wXu6XOihup6J1S7ETTjDASMnhHLz32V0KbTuzzsRioTg409dvDc3OtrjRSU0MUFTG+qgnDuFpzgYPaPHC63aqvN4e6Gy0HB\/eHDiPeT1R5rKdoeggt1QGmSoqTGejc44w7G2AMdvflZuj6sVNgjYRh9O4xP2xy5fAj0XbxUdNbHFCtKtaTy5lw6dTWQ6Qrrg8VF7uL3OJyYmHOPPkPIKit9mt9rB9jpmRuPN\/Nx8zus5fEsrIYnyyODWMaXOcewDmVU5ylobaeHp09Uteb3JnVlRJXVVLYKV37SocHSnub2Z9CfIKkpqeOkpoqaFvDHE0NaPAKc0wJLpdK2+zNw2Q9FADzaP8AtjfxPiqhdnpaJDDrO3VfHbwC6qmmhrKd9POzjikGHNyRkeS7UVZpaTVmYluttLaqUU9LHwtzkk83HvKy0RG7iMVFWQUxF+0+0Sf+6phy9zefqqdTFq\/ba6us3LgiDMf4R+VThx8DPiN4Lr9MRtFf9oD5M8TKGDAPce7\/ADH0VOpjSY9pud4rzv0k\/Cw9wyTj5eip0qb2GG1g5c22FOa0pDJao66PaWikDwd84JAOPPhPkqNdc0MdRC+GVocyRpa4HtBXIuzuW1af5IOPM+KKqjrqKGqiOWSsDh+in9YSOq30VlheBLVShzsj8LeQPz9Fi2+6S6VdNbLmyV8TcupXNGeIZ5efPwWZpykqK+tk1BXBofMMQM4T1G4xkZ8NvHc9qsUcrzcDHKr+aKpcXv05lFDEyCFkMY4WRtDWjuA2C+0RUnoBERAEREAREQHTUVdNSM46mojhb3veG\/NaCq1rSh\/Q22mmrpd9mgtHyyfRbC46dt91rWVVY2R7mMDOEPw0jJO+N+3vWbSUFHQM4KSmjhGMHgbgn3nmVNZUtdTPNV5OyaS9WTBpdWXneedtugJzwtPC7Hlv5EhZFJoW3REOqppqp3bvwNPpv8VTou\/kfDQisJTvefafUx6Sgo6BnBSU0cIxg8DcE+88ytBfP7YWbz+ap1MXz+2Fm8\/mkNxiElTSXNfJTqVtQNm1dV29wDYK0dLDgbZ3OP8A7DyCqlotT2qorIYK2hOKujdxsAG7hzx79vmuQfB8SWIi7Kcd4\/8AM3qmtYVsr46ezUm9RWuHEO5ufqfgCuY9a2\/7rbUS5FTjBpwDni9\/ce9NO22pmrZr5c4y2eY\/sGO5xNOfTbYeGe9SjHLrIqqVVWSp03vv0RvKCiit9DDSQ\/gibw57z2nzOSshEVRsSSVkEREOhERAFI2SfoarUlcXY4HuLT2jBeeXoq5eexTmLTV6laM9PVBgd7zk\/D5q2mrprwMWKlllF8rv2KLRNOYdOseRjppHP\/L+VUCwrNB7NZqOHtbC3O\/bjJ+KzVCTvJs0UI5KUY9AiIolp8vYyQYe0OGc4IyvpEQBERAEREAREQBERAEREAREQBTF8\/thZvP5qnUxfP7YWbz+asp7mbE9xeK+SnREVZpMX7soPafafY4emyHcfAM5HIrKREucUUtkEREOhERAEREAXmUJMumIaYHr1Fy3Paeo0fmXpq8y0yDVXi30pGWxTvm35fhB\/IFfS2bPNx2soR53XrY9MAAGAMALlEVB6QREQBERAEREAREQBERAEREAREQBERAFMX7q6tsrjsCSAfHP9VTqY1R1b\/YHDYmowT4cTP1VlPvGbFft36r5RToiKs0hERAEREAREQBERAF5\/oKn6S8TTnlFCR5kj6Ar0BYlDbKO2te2khEQkOXY7eePmpxlaLXMzVaLqVIS4RuZaIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKY1eejqrROPxR1Qx6tP0VOpnXR6O1U0wzxMqW4wcdhP0CnT7yM2L\/AGZFMiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCwLvaKe9UjaapfIxjXh4MZAOQCO0HvRF1O2qIyipKz2M9ERcJBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "MANTENCION PREVENTIVA",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R1289\",\"id_control\":\"28646\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:23",
    "ubicacionGPS": "LatLng(lat: -22.4383178, lng: -68.9245859)",
    "horaLlegada": "15:35",
    "horaDespacho": "15:49",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 16:23:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[12/05/2026 16:23: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('61980920', 'TO3080', 1, 21773342, 68332, NOW(), 
				'15:49', '15:35', '16:23', 4, 'Mantenimiento
Cambio de repuesto', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778617428.png', '', null, 'COMPLETADO','LatLng(lat: -22.4383178, lng: -68.9245859)' )
				
[12/05/2026 16:23:48] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200279
[12/05/2026 16:23:48] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200279', 'TOS-R1289', 1)
				
[12/05/2026 16:23:48] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28646 and
				    IDproducto = 'TOS-R1289'
				

12/05/2026 16:23:48 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R1289';
                
12/05/2026 16:23:48 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200279'                    
				WHERE idllamado = 12536			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


12/05/2026 16:23:49 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12536			
				
12/05/2026 16:23:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16:23:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                [12/05/2026 16: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;
                

12/05/2026 16: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 = 12536
                [12/05/2026 16: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;
                
[12/05/2026 16: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;
                

12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                [12/05/2026 16: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;
                

12/05/2026 16:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                
12/05/2026 16:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                [12/05/2026 16: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;
                

12/05/2026 16:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 16:23: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/05/2026 16:23:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 16:23: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/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16:23:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16:23:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:23:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:23:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:23:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 16:23: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/05/2026 16:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                [12/05/2026 16:23: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/05/2026 16:23: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/05/2026 16:23:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:23:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            [12/05/2026 16:23: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/05/2026 16:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                [12/05/2026 16:23: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/05/2026 16:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                [12/05/2026 16:23: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/05/2026 16:23: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/05/2026 16:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12536
            GROUP BY l.idllamado;
            
12/05/2026 16:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12536
                
12/05/2026 16: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 = 12536
                
12/05/2026 16: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 = 12536
                [12/05/2026 16:24: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/05/2026 16:24:01] 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/05/2026 16:24:13] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:24: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/05/2026 16:24: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/05/2026 16:24:36] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:24: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/05/2026 16:24:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:24:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:24:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:24:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:24:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:24:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:24:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:24:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            [12/05/2026 16:24: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/05/2026 16:24:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            [12/05/2026 16:24: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/05/2026 16:24: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/05/2026 16:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                [12/05/2026 16:24: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/05/2026 16:24:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            [12/05/2026 16:24: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/05/2026 16:24:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:24:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:24:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                [12/05/2026 16:24: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/05/2026 16:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:24:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            [12/05/2026 16:24: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/05/2026 16:24: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/05/2026 16:24:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:24:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:24:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                [12/05/2026 16:24: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/05/2026 16:24:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:24:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            [12/05/2026 16:24: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/05/2026 16:24:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            
12/05/2026 16:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            [12/05/2026 16:24:47] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:24:47] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            [12/05/2026 16:24:47] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16: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 = 12537
                
12/05/2026 16:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            [12/05/2026 16:24: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/05/2026 16:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12538
                [12/05/2026 16:24: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/05/2026 16:24: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/05/2026 16: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 = 12538
                
12/05/2026 16:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12538
                
12/05/2026 16: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 = 12538
                
12/05/2026 16:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            [12/05/2026 16:24: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/05/2026 16:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12538
                
12/05/2026 16: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 = 12538
                [12/05/2026 16:24: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/05/2026 16: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 = 12538
                
12/05/2026 16: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 = 12538
                
12/05/2026 16:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12538
                
12/05/2026 16:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                [12/05/2026 16:24: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/05/2026 16:24: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/05/2026 16:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
12/05/2026 16:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            [12/05/2026 16:24: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/05/2026 16:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12538
                [12/05/2026 16:24: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/05/2026 16:24: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/05/2026 16: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 = 12538
                [12/05/2026 16:24: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/05/2026 16: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 = 12538
                
12/05/2026 16: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 = 12538
                
12/05/2026 16:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12538
                
12/05/2026 16: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 = 12538
                
12/05/2026 16:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            [12/05/2026 16:24: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/05/2026 16:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12538
                
12/05/2026 16: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 = 12538
                
12/05/2026 16:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            [12/05/2026 16:24: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/05/2026 16:24: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/05/2026 16: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 = 12538
                
12/05/2026 16:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12538
                
12/05/2026 16: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 = 12538
                
12/05/2026 16: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 = 12538
                
12/05/2026 16: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 = 12538
                
12/05/2026 16: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 = 12538
                
12/05/2026 16: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 = 12538
                
12/05/2026 16: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 = 12538
                
12/05/2026 16: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 = 12538
                
12/05/2026 16: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 = 12538
                
12/05/2026 16: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 = 12538
                
12/05/2026 16: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 = 12538
                
12/05/2026 16: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 = 12538
                
12/05/2026 16: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 = 12538
                
12/05/2026 16: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 = 12538
                
12/05/2026 16: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 = 12538
                
12/05/2026 16:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                [12/05/2026 16:24:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            [12/05/2026 16:24:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:24:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                [12/05/2026 16:24:59] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:24:59] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            [12/05/2026 16:24:59] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:24:59] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16:25:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            [12/05/2026 16:25: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/05/2026 16:25:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            [12/05/2026 16:25: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/05/2026 16:25: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/05/2026 16: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 = 12539
                [12/05/2026 16:25: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/05/2026 16:25: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/05/2026 16:25:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:25:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16:25:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:25:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12539
                [12/05/2026 16:25: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/05/2026 16:25:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:25:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:25:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:25:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16:25:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12539
                
12/05/2026 16:25:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                [12/05/2026 16:25: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/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16: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 = 12539
                
12/05/2026 16:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            [12/05/2026 16:25: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/05/2026 16:25: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/05/2026 16:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            [12/05/2026 16:25: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/05/2026 16:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            [12/05/2026 16:25: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/05/2026 16:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                [12/05/2026 16:25: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/05/2026 16:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                [12/05/2026 16:25: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/05/2026 16:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                [12/05/2026 16:25: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/05/2026 16:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16: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 = 12540
                
12/05/2026 16: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 = 12540
                
12/05/2026 16: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 = 12540
                
12/05/2026 16:25:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            [12/05/2026 16:25:14] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:25:14] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:25:14] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:25:14] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:25:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            [12/05/2026 16:25: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/05/2026 16:25:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                [12/05/2026 16:25: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/05/2026 16:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                [12/05/2026 16:25: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/05/2026 16:25:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            [12/05/2026 16:25:16] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:25:16] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            [12/05/2026 16:25: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/05/2026 16:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                [12/05/2026 16:25: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/05/2026 16:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            [12/05/2026 16:25: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/05/2026 16:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            [12/05/2026 16:25: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/05/2026 16:25: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/05/2026 16:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            [12/05/2026 16:25: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/05/2026 16:25:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            [12/05/2026 16:25: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/05/2026 16:25: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/05/2026 16:25:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            [12/05/2026 16:25: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/05/2026 16:25:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            [12/05/2026 16:25: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/05/2026 16:25:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                [12/05/2026 16:25: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/05/2026 16:25:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                [12/05/2026 16:25: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/05/2026 16:25:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            
12/05/2026 16:25:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
12/05/2026 16:25:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                [12/05/2026 16:25: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;
                
[12/05/2026 16:25: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;
				
[12/05/2026 16:25: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;
                
[12/05/2026 16:25: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;
				
[12/05/2026 16:25: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;
                
[12/05/2026 16:25: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/05/2026 16:25: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/05/2026 16:25: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/05/2026 16:37:34] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 95585912 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '95585912'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[12/05/2026 16:37: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 = '95585912'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/05/2026 16:37:36] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:37:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        [12/05/2026 16:37:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:37:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12442
LIMIT 1;
        [12/05/2026 16:37:56] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            [12/05/2026 16:38:18] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            [12/05/2026 16:38:20] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:38:22] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:38:23] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            [12/05/2026 16:38:24] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:38:25] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            [12/05/2026 16:38:27] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:38:28] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            [12/05/2026 16:38:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:38:58] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:38:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 16:39:14] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:39:16] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:39:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 16:39:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12442
LIMIT 1;
        
12/05/2026 16:39:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 16:39:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12442
LIMIT 1;
        [12/05/2026 16:39:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:39:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 16:39:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12442
LIMIT 1;
        
12/05/2026 16:39:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:39:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:41:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 16:41:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12442
LIMIT 1;
        
12/05/2026 16:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:41:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:41:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 16:41:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12442
LIMIT 1;
        
12/05/2026 16:41:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:41:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:41:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:41:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:41:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 16:41:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12442
LIMIT 1;
        
12/05/2026 16:41:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:41:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:41:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16: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 = 12442
                
12/05/2026 16:41:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 16:41:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12442
LIMIT 1;
        
12/05/2026 16: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 = 12442
                
12/05/2026 16: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 = 12442
                
12/05/2026 16:41:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 16:41:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12442
LIMIT 1;
        
12/05/2026 16: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 = 12442
                
12/05/2026 16: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 = 12442
                
12/05/2026 16:41:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 16:41:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12442
LIMIT 1;
        
12/05/2026 16: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 = 12442
                
12/05/2026 16: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 = 12442
                
12/05/2026 16: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 = 12442
                
12/05/2026 16:42:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 16:42:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12442
LIMIT 1;
        
12/05/2026 16: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 = 12442
                
12/05/2026 16: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 = 12442
                
12/05/2026 16:42:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 16:42:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12442
LIMIT 1;
        
12/05/2026 16: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 = 12442
                
12/05/2026 16: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 = 12442
                
12/05/2026 16:42:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:42:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:42:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:42:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:42:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:42:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 16:42:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12442
LIMIT 1;
        
12/05/2026 16:42:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:42:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:42:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:42:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 16:42:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12442
LIMIT 1;
        
12/05/2026 16:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:42:46 - logentry: =========================================
FECHA: 12/05/2026 16:42:46
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-qo+c34SW91RTCTEm9LEWnu8sI8+lB02JK7-HcViAAofPbUstxMB
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2924",
    "correlativo": "3",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entregado , report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12442",
    "observacion": "Entregado , report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACkANgDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xAA7EAABBAIAAwUHAwIFAwUAAAABAAIDBAURBiExEkFRYYETInGRscHRFDKhI\/AHFVJT4SRichYlQtLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QALxEAAgEDAgMHAwQDAAAAAAAAAAECAxEhEjEyQVEEEyJxodHhYZGxI4HB8BRicv\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAiIgCIiAIiIAiIgOTG17VWoI7ls2pe0T7QtDeXgutERu5EVpVkEREJCIiALTatwUq7p7MojjaNlx\/vmteRyVXF1TYtydhg5AdS4+ACqdSC5xlkP1VztRY2F3uRg9fIHvPiVeMb5exz1a2lqEMyfL3LlDNHYgZNE4OZI0OaR3grYsIoY4ImxQsbHGwaa1o0AFmqG6vbIREQkIiIAiIgCIiAIq3kcpcvZ6vi8TI5ggf2rUgA0ANcvT+T8FZFZxsZwqKbaXIIiKpoEREAWl9qtG\/wBm+xE1+9dkvAO+X5HzC0ZjIMxmKntuOixumDxceQHzUBieF6uSxrbuV9tNbs\/1HPLyC0dw+WldRVrswqVZKWiCu9y2IqfNFkuEJRNDKbeLc8B0ch95nQde76eIVrrWYrlaOxA8Pjkb2mkKJRtnkTTq624tWa5G1ERVNgiIgC4MtmamHrGaw\/bj+yIH3nny\/K4c3xNDjnfpajRaunkIxzDP\/LX0+iqNDG3+KMu+SxKXMBHtpu5o8G93y5LWFO+ZbHDX7Vpfd0syO2hRu8YZJ1684sqRnWh0\/wDFv3KvUMMVeFkMLAyNg01rRyASvXiqwMggjEcbBprW9AtirOeryNqFBUld5k92ERFQ6AiIgCIiAIiIAobiXNf5TRDYdOtznsRMB5j\/ALtf3zUnbtw0aklqw\/sRRjbiq5gqs+Zyr+ILzXNY0ltSN3c3nz9N\/PZV4pcT2OatOWKcN36LqSXDuGGIo\/1QHW5femfvez3DfkpdEVW23dm0IKEVGOyCIiguERYTSxwQvmleGRsBc5x6AINiscUk5LMY3CMI09\/tZOvTn9g7\/hWlrQ1oa0AADQA7lVMTPHk+N7l2J4khjgAjcPMNH\/2VsWk8WRy9n8TnU6v0RhNFHPC+GVgfG8FrmnoQqtiJJOHM2\/DWH7q2Xdqs876noPt8deKtihuKMY7I4lzodixX\/qRFvXzHqPsog+T2ZavB2VSO69eqJlFF8O5QZbERTuO5We5L\/wCQ7\/Xr6rLL52jhot2JO1KR7sTObj+B5qNLvY072GjvG8HdPPFWhfNPI2ONg25zjoBVebM5HiKSSnhInQ1ubX238vl4fX4LyHF5HiedlzL9qtSB3FVadF3mfD49fDSzzF6R9iLhvCBsTiOzK9g0I2945fMnz8VpGKTtz\/Bx1aspxvtH1fsRLcbFZv8A+S4hxkAP\/W3XDmRvmB5eXefhtXijRr42oyrWZ2Y2D1J7yfNasViq2Iptr12+b3nq8+JXaqznqwbdnoKmtT3fp9AiIszqCIiAIiIAiIgCIoPifLyY+qyrU2bts9iEN6jmBv8AnQ\/4UpNuyKVJqnFyZG5KV\/E2eZiq7\/8Aoqp7dh7Xcn9Nj7D1PcrXFEyGJkUbQ1jGhrWjuA6BR+BxTcRjGQnnM\/35neLj15+XRSatJ8lsZUKbV5z4n\/bBERUOgIiwlljhidLK8MYwbc5x0AEB5NNFXhfNM8MjYNuc48gFTbti3xMyzZ2a+JqNc9vjMQOX993xW2SafjLJCCHtxYmu7339DIfz5d3XyUtxKIqPClmOGNrGNY1jWDkAC4BbRWlpczz6knWjKS4F6\/H5Ij\/D6HUd6bxLGjy1s\/cK5Ks8CRdjByP75J3H0AA\/Ksj3sjYXyODGtGy5x0Aq1czZt2NaaETJa57ENWF008jY42jZc46AUBd4sa+cU8LAb9l3eN9hv5\/gea1xcM28nMy1n7ZkIHKvHya31H2+ajRbMsEuvqemkrv0+5AV8nNFm7dXh+VjIr0oDHSN1o8+m+nMnu8FacTwvBSl\/WXZDduuOzI\/mAfIH6n+Fo4nxLGYaOxQiEMuPIkj9mNaHLfy1v0UzjL8eSx0NuPpI3ZH+k94+avOV43Rz0KKjUcamWsrp+y8yN4lzMtKJlGjt1+zyja0bLW+P9\/ZdGAwkeHqe9p9qUbml6knwB8Fy5bhiTIZUZCtkpKUvYDSWNJO\/EHtDXLQ0Puuf\/0lefyn4juSDw9716uKjw6bXLtVe9c3C\/TK\/tyyvkZGNve1o\/7jpcM2exNfftMjX5dQ14cfkFEs4Fxva7U1i1KfN4H2XdDwphISCKLXEd73ud\/BOlFoLma6u0PaKXm\/g0T8a4WHfYllm1\/txn76XMOMprGhQwtqxvvPLn6AqwQUKdXX6epDFr\/RGAtz3sjYXyODGtGy5x0Al4dBorveaXkvcrJyPFtobgxUNdvUGR3P+SPoozL289QAF7NRMkePdgrjbz8gNep+ik7vEtnIzuocPwmZ\/R9gj3WeY39Su3DcM18c79Vaf+rvOPadM\/no+W\/r1+CvdRy0crhKq9MJN\/W+P2ta5GcNUs\/LdZkL9qVsI3qKckl2x3N3y+KK3IspS1O53UaSpR0p3CIiqamuaaKvC+aZ4ZGwbc5x5AKs8PQyZnKz5+2wdjfYqtIHugHr8R09Ss+KrctuzWwFR39WyQZSN+630+BJHgFYq1eKpVirQt7McTQ1o8gtOGP1Zyv9WrblH8\/BtREWZ1BEWi5cr0Kz7FmURxsHMn6DxKENpK7M5poq8L5pnhkbBtznHkAqm51zjO06ONz62JidzdrnKR\/fp8UYLnGVsPkbJWxMR5N3oyn7\/b4q2QQRVoWQwRtjjYNNa0aAWvB5nJntH\/H5+DGpUgo1mVq0YjiYNABV\/jyYMwcce+ck4GvIAn8KzKm\/4hSERUI+5znu+XZ\/KinmaJ7W1Hs8rE1wpB7DhuoNc3gvPnskj+NKQvUoMjTkq2W9qOQaOjojwIXmOj9jjKsX+iFjfkAulVb8VzanBKmoPoctDHVMbB7GnC2JvU66uPme9dSIqt3NElFWR45oc0tcAQRog96q3DrnYnP3sG539IkywbO+XLl8iPkrUqvxH2aHEOJymtDtmKR3l\/8Ajj3rSGbxObtHh01Oj9HhloREWZ1BFhLNHBE6WZ7Y42DbnOOgAqzZ4iu5ad1Lh+AnR0608aa0eW+nr8laMWzKpVjT336cyXy+do4aLdiTtSke7Ezm4\/geahG47L8TvbNk3GlR3ttZvJzh4n8n5KQxPDEFGYXbkhuXie06R\/MNPkPuf4U6ralHhMe7nVzVwunuc9KjWx9dsFWFsbB3DqfMnvXQiLM6kklZBERCQue\/djx1Ga3N+yJva14nuHqdBdCq2ckfnM5BgoXf0Iz7Wy4eXdsHz18SFaKuzGtUcI43eF5mzhWlJZfNnrmzYtEiPta91nT7a+A81ZVixjY42sYNNaAAPALJJO7uTSpqnBRCIobN8RQYrVeJv6i6\/kyFvPXgTr6dVCTbsi05xhHVJ4OzKZWriKhsWXcujWD9zz4BV+pQu8U2m38q10NFh3DWB\/d8fz392lvxnDs9uyMpnX+2sO5tgP7WDu2Pt9VZle6jhbnOoSrO88R6dfP2MY42RRtjjY1jGjTWtGgB5BZIizOsKicdF02ap1R\/tAj4ucR9letg70enVUjiOMTcb0IyNhxi38O0taXEcPbs0rdWi7gADQGgF6iLI7giIgCj8piY8q6t7WV7WV5RJ2G9HkeP8\/NSCxkkZFG6SR7WMaNuc46AHmVKbTwVlGMlaWxkozMZ6lhoe1O7tyke5C0+878DzUVa4ktZSc0eHoTK7o+y4aazz5\/f0BXXiOGIaU3627Ibl4ntGR\/MNPlvv8\/or6UsyOd1pVHpo\/fl8kfFicrxJI2zmZHVqg5x1mciR5+HxPP4Kz1alelA2CtE2KNvRrQtyKspNmlOjGnnd9QiIqmwREQBERAc9+7HjqM1ub9kTe1rxPcPU6CheEasprT5Wzoz3n9vfg3n059PJauMHutSY\/ERnnamBfruA5fcn0VljjZFG2ONvZYwBrR4ALTaPmcq\/Ur\/AEj+X8GSLXNNFXhfNM8MjYNuc48gFVbGQyPFUzqmL7dWi3YksO2O2PD\/AI+arGLZpVrKnjdvZHRleIbFq0cVgme2sHk+cftj8dfn6rtwnDsGKJnlebNx\/wC6Z\/MjxA\/PVdmLxNXEVRBVZrf73n9zz4krtUuWLRKQoty11Mv0X96hFzXshUxsBmtztiZ3b6u8gO9V1+Zy3ELnQYWA1q+9OtS8j6eHps\/BQot5L1K0YO276LcmMrxBj8OOzYl7UutiJnNx\/Hqoj2nEnEHOEf5VUPRxJEjh9fp6rvxHDFXGv\/UTONu2TszSdx8h9+qm1a8Y7Gfd1Kuajsui\/l+xG4fCxYdkvYmlmlmIMskh32iN\/lQeSjMn+IdFo7ow75Bx+ytyh5MNK\/imLLe0b7OOIs7Gue9EfcpGWW2KtHwRjBYTRMIiLM6gi1z2IasLpp5GxxtGy5x0AqzPxDfzcpp8PwOa0cpLUg0Gjy8Pr5K0YtmVStGnh79OZK5jiGlh29mR3tbB\/bAw+8fj4KHixWW4lc2fMSuq099qOtHyJ+P5PP4KSxHDFXGv\/UTONu2TszSdx8h9+qm1bUo8Jj3U6uauF09+poqU61Cu2CrC2KNv\/wAW\/U+J81vRFmdSSSsgiIhIREQBERAEREBV4P8A3Hj2aRw3HQh7Ld\/6v7c75KeyORrYuo61acWxtOuQ2SfAKuunHD\/Flixbje2reHuzdQDsdfAKwixj8jVI9rBYhkHMFwcD8QtZLZ8jjovE1fxXfwVyKpf4ulbZuOdWxbXbjgB96TXf\/wA\/LxVqggirQshgjbHGwaa1o0AuKzncTSaPa3oG93ZY7tEeg2oifi2a4TDg8fNZk3oyPZ7jfPl99I1KXLAjKlRy5Xk\/3ZZJ54a0RlnlZFG3q550Aq5Z4onvzup8P1TZk1zncNNZ56P1PyKwg4WuZKUWc\/dfKeogjPJvr0Hp81ZKtSvSgbBWibFG3o1oUeGP1J\/Wq\/6r1+CBo8KGWYXM5ZddsdzCfcb+f4CsTGMjYGRtDGtGg1o0AskVZSctzenShTXhQREVTQIi48hlaWLh9rcnEYP7W9XO+AUpX2IlJRV2zsUJmOJquNd+mgabVwnQhj56Pn+OqjTdzfE\/uY9hx9HfOdx95\/w\/4+amcTw\/Qw7Q6CPtTa06Z\/Nx+Hh6K+lR4jl7ydXFLC6v+ERMHD+QzT22uILDw0c2VYzoN+Ph9fNWaCvDVhbDBG2ONo0GtGgFsRVlJs2p0Y08rfrzCIiqahERAEREAREQBERAEREBqsVobcLobETJY3dWvGwoSTgrDP8A2xyxje\/dk39dqwIrKTWzM50qc+JXIetwphaxBFNsjh3yku\/jp\/Clo42RMDI2NY0dA0aAWSKG29yYU4Q4VYIiKC4RFi97I2F8jgxrRsucdAIDJabVuvSgdPZlbFG3q5xVfucWunnNTB1XXJv9zR7A\/vxOgvKvC9i\/O25xBZNiTXKBp01nqPoP5Wmi2ZHK+0anppK\/15ff2PJOJLuXldV4fquOuTrUo01np+fkt2O4Shin\/V5SZ1+yefvkloPr19fkp6CCGtEIoImRRt6NYNALYjnbEcExoXeqq7v0+x4AANAaAXqIszpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiLku5Sjjmdq3aji8iduPoOaJXIclFXbOtYveyNhfI4Ma0bLnHQCrMnFli\/I6DBY6Sy4cvav5NHp+SFi3hrJ5XsyZ3JPLd7\/AE8WtD7fx6rTRbidjm\/yNWKS1fj7m6\/xhA2X9LioH37B5DsA9n8n0+a54+H8tmpGz522Y4t7FaI\/jkP5KsVLG08cwsp1mQg9eyOZ+J6rqTWlwodxKearv9Ft8mipSrUIBBVhZFGO5o6\/E9\/qt6IszpSSVkEREJCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCiJOGMXPkJb1iJ08krg7UjvdB8gPvtEVotq9jKpGMnFSV8krHGyJgZGxrGjoGjQCyRFU1CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "STIVEN VALDERRAMA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28629\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28629\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28629\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28629\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:42",
    "ubicacionGPS": "LatLng(lat: -23.6618722, lng: -70.4001507)",
    "horaLlegada": "16:38",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 16:42:46
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-qo+c34SW91RTCTEm9LEWnu8sI8+lB02JK7-HcViAAofPbUstxMB
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2924",
    "correlativo": "3",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entregado , report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12442",
    "observacion": "Entregado , report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACkANgDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xAA7EAABBAIAAwUHAwIFAwUAAAABAAIDBAURBiExEkFRYYETInGRscHRFDKhI\/AHFVJT4SRichYlQtLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QALxEAAgEDAgMHAwQDAAAAAAAAAAECAxEhEjEyQVEEEyJxodHhYZGxI4HB8BRicv\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAiIgCIiAIiIAiIgOTG17VWoI7ls2pe0T7QtDeXgutERu5EVpVkEREJCIiALTatwUq7p7MojjaNlx\/vmteRyVXF1TYtydhg5AdS4+ACqdSC5xlkP1VztRY2F3uRg9fIHvPiVeMb5exz1a2lqEMyfL3LlDNHYgZNE4OZI0OaR3grYsIoY4ImxQsbHGwaa1o0AFmqG6vbIREQkIiIAiIgCIiAIq3kcpcvZ6vi8TI5ggf2rUgA0ANcvT+T8FZFZxsZwqKbaXIIiKpoEREAWl9qtG\/wBm+xE1+9dkvAO+X5HzC0ZjIMxmKntuOixumDxceQHzUBieF6uSxrbuV9tNbs\/1HPLyC0dw+WldRVrswqVZKWiCu9y2IqfNFkuEJRNDKbeLc8B0ch95nQde76eIVrrWYrlaOxA8Pjkb2mkKJRtnkTTq624tWa5G1ERVNgiIgC4MtmamHrGaw\/bj+yIH3nny\/K4c3xNDjnfpajRaunkIxzDP\/LX0+iqNDG3+KMu+SxKXMBHtpu5o8G93y5LWFO+ZbHDX7Vpfd0syO2hRu8YZJ1684sqRnWh0\/wDFv3KvUMMVeFkMLAyNg01rRyASvXiqwMggjEcbBprW9AtirOeryNqFBUld5k92ERFQ6AiIgCIiAIiIAobiXNf5TRDYdOtznsRMB5j\/ALtf3zUnbtw0aklqw\/sRRjbiq5gqs+Zyr+ILzXNY0ltSN3c3nz9N\/PZV4pcT2OatOWKcN36LqSXDuGGIo\/1QHW5femfvez3DfkpdEVW23dm0IKEVGOyCIiguERYTSxwQvmleGRsBc5x6AINiscUk5LMY3CMI09\/tZOvTn9g7\/hWlrQ1oa0AADQA7lVMTPHk+N7l2J4khjgAjcPMNH\/2VsWk8WRy9n8TnU6v0RhNFHPC+GVgfG8FrmnoQqtiJJOHM2\/DWH7q2Xdqs876noPt8deKtihuKMY7I4lzodixX\/qRFvXzHqPsog+T2ZavB2VSO69eqJlFF8O5QZbERTuO5We5L\/wCQ7\/Xr6rLL52jhot2JO1KR7sTObj+B5qNLvY072GjvG8HdPPFWhfNPI2ONg25zjoBVebM5HiKSSnhInQ1ubX238vl4fX4LyHF5HiedlzL9qtSB3FVadF3mfD49fDSzzF6R9iLhvCBsTiOzK9g0I2945fMnz8VpGKTtz\/Bx1aspxvtH1fsRLcbFZv8A+S4hxkAP\/W3XDmRvmB5eXefhtXijRr42oyrWZ2Y2D1J7yfNasViq2Iptr12+b3nq8+JXaqznqwbdnoKmtT3fp9AiIszqCIiAIiIAiIgCIoPifLyY+qyrU2bts9iEN6jmBv8AnQ\/4UpNuyKVJqnFyZG5KV\/E2eZiq7\/8Aoqp7dh7Xcn9Nj7D1PcrXFEyGJkUbQ1jGhrWjuA6BR+BxTcRjGQnnM\/35neLj15+XRSatJ8lsZUKbV5z4n\/bBERUOgIiwlljhidLK8MYwbc5x0AEB5NNFXhfNM8MjYNuc48gFTbti3xMyzZ2a+JqNc9vjMQOX993xW2SafjLJCCHtxYmu7339DIfz5d3XyUtxKIqPClmOGNrGNY1jWDkAC4BbRWlpczz6knWjKS4F6\/H5Ij\/D6HUd6bxLGjy1s\/cK5Ks8CRdjByP75J3H0AA\/Ksj3sjYXyODGtGy5x0Aq1czZt2NaaETJa57ENWF008jY42jZc46AUBd4sa+cU8LAb9l3eN9hv5\/gea1xcM28nMy1n7ZkIHKvHya31H2+ajRbMsEuvqemkrv0+5AV8nNFm7dXh+VjIr0oDHSN1o8+m+nMnu8FacTwvBSl\/WXZDduuOzI\/mAfIH6n+Fo4nxLGYaOxQiEMuPIkj9mNaHLfy1v0UzjL8eSx0NuPpI3ZH+k94+avOV43Rz0KKjUcamWsrp+y8yN4lzMtKJlGjt1+zyja0bLW+P9\/ZdGAwkeHqe9p9qUbml6knwB8Fy5bhiTIZUZCtkpKUvYDSWNJO\/EHtDXLQ0Puuf\/0lefyn4juSDw9716uKjw6bXLtVe9c3C\/TK\/tyyvkZGNve1o\/7jpcM2exNfftMjX5dQ14cfkFEs4Fxva7U1i1KfN4H2XdDwphISCKLXEd73ud\/BOlFoLma6u0PaKXm\/g0T8a4WHfYllm1\/txn76XMOMprGhQwtqxvvPLn6AqwQUKdXX6epDFr\/RGAtz3sjYXyODGtGy5x0Al4dBorveaXkvcrJyPFtobgxUNdvUGR3P+SPoozL289QAF7NRMkePdgrjbz8gNep+ik7vEtnIzuocPwmZ\/R9gj3WeY39Su3DcM18c79Vaf+rvOPadM\/no+W\/r1+CvdRy0crhKq9MJN\/W+P2ta5GcNUs\/LdZkL9qVsI3qKckl2x3N3y+KK3IspS1O53UaSpR0p3CIiqamuaaKvC+aZ4ZGwbc5x5AKs8PQyZnKz5+2wdjfYqtIHugHr8R09Ss+KrctuzWwFR39WyQZSN+630+BJHgFYq1eKpVirQt7McTQ1o8gtOGP1Zyv9WrblH8\/BtREWZ1BEWi5cr0Kz7FmURxsHMn6DxKENpK7M5poq8L5pnhkbBtznHkAqm51zjO06ONz62JidzdrnKR\/fp8UYLnGVsPkbJWxMR5N3oyn7\/b4q2QQRVoWQwRtjjYNNa0aAWvB5nJntH\/H5+DGpUgo1mVq0YjiYNABV\/jyYMwcce+ck4GvIAn8KzKm\/4hSERUI+5znu+XZ\/KinmaJ7W1Hs8rE1wpB7DhuoNc3gvPnskj+NKQvUoMjTkq2W9qOQaOjojwIXmOj9jjKsX+iFjfkAulVb8VzanBKmoPoctDHVMbB7GnC2JvU66uPme9dSIqt3NElFWR45oc0tcAQRog96q3DrnYnP3sG539IkywbO+XLl8iPkrUqvxH2aHEOJymtDtmKR3l\/8Ajj3rSGbxObtHh01Oj9HhloREWZ1BFhLNHBE6WZ7Y42DbnOOgAqzZ4iu5ad1Lh+AnR0608aa0eW+nr8laMWzKpVjT336cyXy+do4aLdiTtSke7Ezm4\/geahG47L8TvbNk3GlR3ttZvJzh4n8n5KQxPDEFGYXbkhuXie06R\/MNPkPuf4U6ralHhMe7nVzVwunuc9KjWx9dsFWFsbB3DqfMnvXQiLM6kklZBERCQue\/djx1Ga3N+yJva14nuHqdBdCq2ckfnM5BgoXf0Iz7Wy4eXdsHz18SFaKuzGtUcI43eF5mzhWlJZfNnrmzYtEiPta91nT7a+A81ZVixjY42sYNNaAAPALJJO7uTSpqnBRCIobN8RQYrVeJv6i6\/kyFvPXgTr6dVCTbsi05xhHVJ4OzKZWriKhsWXcujWD9zz4BV+pQu8U2m38q10NFh3DWB\/d8fz392lvxnDs9uyMpnX+2sO5tgP7WDu2Pt9VZle6jhbnOoSrO88R6dfP2MY42RRtjjY1jGjTWtGgB5BZIizOsKicdF02ap1R\/tAj4ucR9letg70enVUjiOMTcb0IyNhxi38O0taXEcPbs0rdWi7gADQGgF6iLI7giIgCj8piY8q6t7WV7WV5RJ2G9HkeP8\/NSCxkkZFG6SR7WMaNuc46AHmVKbTwVlGMlaWxkozMZ6lhoe1O7tyke5C0+878DzUVa4ktZSc0eHoTK7o+y4aazz5\/f0BXXiOGIaU3627Ibl4ntGR\/MNPlvv8\/or6UsyOd1pVHpo\/fl8kfFicrxJI2zmZHVqg5x1mciR5+HxPP4Kz1alelA2CtE2KNvRrQtyKspNmlOjGnnd9QiIqmwREQBERAc9+7HjqM1ub9kTe1rxPcPU6CheEasprT5Wzoz3n9vfg3n059PJauMHutSY\/ERnnamBfruA5fcn0VljjZFG2ONvZYwBrR4ALTaPmcq\/Ur\/AEj+X8GSLXNNFXhfNM8MjYNuc48gFVbGQyPFUzqmL7dWi3YksO2O2PD\/AI+arGLZpVrKnjdvZHRleIbFq0cVgme2sHk+cftj8dfn6rtwnDsGKJnlebNx\/wC6Z\/MjxA\/PVdmLxNXEVRBVZrf73n9zz4krtUuWLRKQoty11Mv0X96hFzXshUxsBmtztiZ3b6u8gO9V1+Zy3ELnQYWA1q+9OtS8j6eHps\/BQot5L1K0YO276LcmMrxBj8OOzYl7UutiJnNx\/Hqoj2nEnEHOEf5VUPRxJEjh9fp6rvxHDFXGv\/UTONu2TszSdx8h9+qm1a8Y7Gfd1Kuajsui\/l+xG4fCxYdkvYmlmlmIMskh32iN\/lQeSjMn+IdFo7ow75Bx+ytyh5MNK\/imLLe0b7OOIs7Gue9EfcpGWW2KtHwRjBYTRMIiLM6gi1z2IasLpp5GxxtGy5x0AqzPxDfzcpp8PwOa0cpLUg0Gjy8Pr5K0YtmVStGnh79OZK5jiGlh29mR3tbB\/bAw+8fj4KHixWW4lc2fMSuq099qOtHyJ+P5PP4KSxHDFXGv\/UTONu2TszSdx8h9+qm1bUo8Jj3U6uauF09+poqU61Cu2CrC2KNv\/wAW\/U+J81vRFmdSSSsgiIhIREQBERAEREBV4P8A3Hj2aRw3HQh7Ld\/6v7c75KeyORrYuo61acWxtOuQ2SfAKuunHD\/Flixbje2reHuzdQDsdfAKwixj8jVI9rBYhkHMFwcD8QtZLZ8jjovE1fxXfwVyKpf4ulbZuOdWxbXbjgB96TXf\/wA\/LxVqggirQshgjbHGwaa1o0AuKzncTSaPa3oG93ZY7tEeg2oifi2a4TDg8fNZk3oyPZ7jfPl99I1KXLAjKlRy5Xk\/3ZZJ54a0RlnlZFG3q550Aq5Z4onvzup8P1TZk1zncNNZ56P1PyKwg4WuZKUWc\/dfKeogjPJvr0Hp81ZKtSvSgbBWibFG3o1oUeGP1J\/Wq\/6r1+CBo8KGWYXM5ZddsdzCfcb+f4CsTGMjYGRtDGtGg1o0AskVZSctzenShTXhQREVTQIi48hlaWLh9rcnEYP7W9XO+AUpX2IlJRV2zsUJmOJquNd+mgabVwnQhj56Pn+OqjTdzfE\/uY9hx9HfOdx95\/w\/4+amcTw\/Qw7Q6CPtTa06Z\/Nx+Hh6K+lR4jl7ydXFLC6v+ERMHD+QzT22uILDw0c2VYzoN+Ph9fNWaCvDVhbDBG2ONo0GtGgFsRVlJs2p0Y08rfrzCIiqahERAEREAREQBERAEREBqsVobcLobETJY3dWvGwoSTgrDP8A2xyxje\/dk39dqwIrKTWzM50qc+JXIetwphaxBFNsjh3yku\/jp\/Clo42RMDI2NY0dA0aAWSKG29yYU4Q4VYIiKC4RFi97I2F8jgxrRsucdAIDJabVuvSgdPZlbFG3q5xVfucWunnNTB1XXJv9zR7A\/vxOgvKvC9i\/O25xBZNiTXKBp01nqPoP5Wmi2ZHK+0anppK\/15ff2PJOJLuXldV4fquOuTrUo01np+fkt2O4Shin\/V5SZ1+yefvkloPr19fkp6CCGtEIoImRRt6NYNALYjnbEcExoXeqq7v0+x4AANAaAXqIszpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiLku5Sjjmdq3aji8iduPoOaJXIclFXbOtYveyNhfI4Ma0bLnHQCrMnFli\/I6DBY6Sy4cvav5NHp+SFi3hrJ5XsyZ3JPLd7\/AE8WtD7fx6rTRbidjm\/yNWKS1fj7m6\/xhA2X9LioH37B5DsA9n8n0+a54+H8tmpGz522Y4t7FaI\/jkP5KsVLG08cwsp1mQg9eyOZ+J6rqTWlwodxKearv9Ft8mipSrUIBBVhZFGO5o6\/E9\/qt6IszpSSVkEREJCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCiJOGMXPkJb1iJ08krg7UjvdB8gPvtEVotq9jKpGMnFSV8krHGyJgZGxrGjoGjQCyRFU1CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "STIVEN VALDERRAMA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28629\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28629\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28629\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28629\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:42",
    "ubicacionGPS": "LatLng(lat: -23.6618722, lng: -70.4001507)",
    "horaLlegada": "16:38",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 16:42:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[12/05/2026 16:42:46] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76121841', 'EP2924', 3, 95585912, 0, NOW(), 
				'08:00', '16:38', '16:42', 10, 'Entregado , report ya efectuado , se realiza nuevamente el cierre por error en el servidor', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778618566.png', 'Entregado , report ya efectuado , se realiza nuevamente el cierre por error en el servidor', null, 'COMPLETADO','LatLng(lat: -23.6618722, lng: -70.4001507)' )
				
[12/05/2026 16:42:46] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200280
[12/05/2026 16:42:46] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200280', 'EPS-I302', 1)
				
[12/05/2026 16:42:46] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28629 and
				    IDproducto = 'EPS-I302'
				

12/05/2026 16:42:46 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I302';
                [12/05/2026 16:42:46] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200280', 'EPS-I303', 1)
				
[12/05/2026 16:42:46] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28629 and
				    IDproducto = 'EPS-I303'
				

12/05/2026 16:42:46 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I303';
                [12/05/2026 16:42:46] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200280', 'EPS-I304', 1)
				
[12/05/2026 16:42:46] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28629 and
				    IDproducto = 'EPS-I304'
				

12/05/2026 16:42:46 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                [12/05/2026 16:42:46] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200280', 'EPS-I305', 1)
				
[12/05/2026 16:42:46] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28629 and
				    IDproducto = 'EPS-I305'
				

12/05/2026 16:42:46 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I305';
                
12/05/2026 16:42:46 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200280'                    
				WHERE idllamado = 12442			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


12/05/2026 16:42:46 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12442			
				
12/05/2026 16:42:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 16:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:42:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 16:42:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12442
LIMIT 1;
        
12/05/2026 16:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16: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 = 12442
                
12/05/2026 16: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 = 12442
                
12/05/2026 16: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 = 12442
                [12/05/2026 16:42:48] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:42:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 16:42: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12442
LIMIT 1;
        
12/05/2026 16: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 = 12442
                [12/05/2026 16:42:48] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12442
                
12/05/2026 16:42:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/05/2026 16:42: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12442
LIMIT 1;
        
12/05/2026 16: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 = 12442
                
12/05/2026 16:42:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:42:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12442
                
12/05/2026 16:42:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            
12/05/2026 16:42:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            [12/05/2026 16:42:51] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:42:51] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:42:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            
12/05/2026 16:42:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:42:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:42:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:42:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                [12/05/2026 16:42:56] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:42:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            
12/05/2026 16:42:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            
12/05/2026 16:42:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            
12/05/2026 16:42:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            
12/05/2026 16:42:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                [12/05/2026 16:42:56] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:42:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:42:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:42:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:42:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:42:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            
12/05/2026 16:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            
12/05/2026 16:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16: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 = 12518
                
12/05/2026 16:43:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12518
                
12/05/2026 16: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 = 12518
                
12/05/2026 16: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 = 12518
                
12/05/2026 16: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 = 12518
                
12/05/2026 16:43:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12518
                
12/05/2026 16:43:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12518
                
12/05/2026 16: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 = 12518
                
12/05/2026 16: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 = 12518
                
12/05/2026 16:43:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12518
                
12/05/2026 16: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 = 12518
                
12/05/2026 16: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 = 12518
                
12/05/2026 16:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            
12/05/2026 16:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            
12/05/2026 16:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            
12/05/2026 16:43:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            
12/05/2026 16:43:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:28 - logentry: =========================================
FECHA: 12/05/2026 16:43:28
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-melm6SC9htu.-X37iJBSCY-mdqlQ2YF+B5HEMIx3ZULlEY6waGB
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "9J3N529539",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entregado , report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12518",
    "observacion": "Entregado , report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACpANUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABAEAABAwMBBAcGAwYEBwAAAAABAAIDBAURIQYSMVETFEFhcYGRIjKhscHRFSPwFiQzQlLhQ2Jy8VOCkqKywtL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAuEQACAgEDAQUIAwEBAAAAAAAAAQIDERIhMUEEEyJR0SMyYXGBkaHBseHwFFL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBeZA90bmxv3HkENdjODzx2r0iAi26CppqJkVXU9ZnGS6TGM5OVKREe5xLCwEREOhERAEREAREQBERAEREAREQBERAEREARFQXraTqk34fbojVV7tN1oyIz38z3eq6otvCK7LI1xzIsrldaO0wdLVyhufdaNXO8AqKO4bRX5u\/QQRUNKfdllJ3nDu\/sPNSLZsswTCvvD+uVjtS1xyxp+vy5BaJTzGPG5So227yeleS5+rIdspKiiomw1NU6qkBJMjs5+JUxEUG8mmKUVhBERcOhFXXi9UtmgD5jvSPz0cQ4vP0VQb3tM2B1UbGwQtBcQXYeB4Zz8FNQbWSid8IPHL+CyahFBtN3pbxS9PTOOhw9jveYe9TlFprZlsZKSzHgIiLhIIi51FRFSwPnnkEcbBlzncAgbxuz25wa0ucQABkk9ix932xlmm6jZGGR7juiYNySf8o+p\/uqy\/bTVV5l6nRh0dM84a0aOl8e7uWl2a2bZaIBPUNY+scNTjPRjkD8yr1FQWZcnnO6faJ6KXhdX6FrbY6qK3QMrpBJUBv5jh2lSkRUPc9BLCwEREOhERAEREAXwkAZJwAhIAyTgBZKtrqnamufa7a7coYz+8VH9WvZ3aaDtUoxyVW2qtebfCOlwvlVeqo2qw5xwmquAaOBweXf6K2sliprNBhn5k7x+ZM4au7hyHcpVvt1La6YU9JEGMHE9rjzJ5qUuylthcEK6Xq12by\/C+QREUDQEREAXKpqIqSllqZnbscTS5x7guqy+1dRJXVVJYKZ2H1Lw6YjXdb2fInyClGOXgqus7uDl16fM82Olffri6\/VzT0bHkUkZ4AAnXy+a1S508EdNTxwRNDWRtDWgDC6JKWWKa+7jh89fmZOtYNndqaerhIipK87kzOwHnjzB9VrFRbY0nWbBJI0Hfp3CVpHdofgSrK1VfXrVTVXbJGC7x7fjlSlvFMqq8FsodOV+yWiKrvd9prNAC\/8AMnf\/AA4WnU9\/goJNvCNE5xhHVJ7Em5XOktVMairk3W8A0auceQHasFebpVXdzZakOZG\/Smo2Ekuzwcfpz7O0r1U1FTVXASV8fW7k47sNEG5ZF\/qHx3fXktRYdnG0DjW1xE9e87xedRH3D7q9JVrL5PMnKztUtEdo\/wC59PucdmdmRbgK2taHVjh7LeyIcvH\/AGWkRFTKTk8s9GqqNUdMQiIolgREQBERAERUG0l6npejt1tHSV9ToA3UsHPx+xK7FOTwiuyxVx1Mj3y4VF1rjs\/a3YcR+9S9jW6ZHx19Oau7XbKe00TKanbgDVzu157SVHsVljs9JukiSok1ml\/qP21VopSl0XBXVW895P3n+F5BERQNAREQBEVfdr1R2eAyVMg3yMsiHvP\/AFzXUm9kRlJRWZPYk1lZT0FM+oqZRHGwak\/Icyvz2O7VwvpvcUADamUxs3xxHDA8BjXn6L3fjdrjTxV9fmFkz92mpQD6n7nU+CtIqVrtqbba4sdHa4Q6Tdzjf4k+ZLVojFRW55N1srppLZJrHzf9ZNkiIsx7BzqIW1NNLA\/3ZWFjvAjCz+xM7\/wyeil9+kmLccgdfnlaRfnct5ls13u7LeY3dYlyJeLWak5x2+9j7q2Cck0Yu0WKqcLH8Uam\/wC0LLU0U9O0TVsg9iP+nvP2WRo2XC5XE9Vl6zcHfxKpzvZgGceyfqOenNfbNZLhfZ5JzM5kDziaodnek5gc\/wBeC39DQU1tpm09LEI2N9SeZPaptxrWFyZ4xs7XLXLaPT\/fv7EOyWCms0Ps\/m1D\/wCJM4anw5BWqLnLNFA3fmlZG3m9wA+KobbeWelGMa44jsjoiqKnamzUujq1kh5RZf8AEaKvdti6o0tloq6nXG8W4Hwz3qShJ9CuXaao7av2adFlxNtjXYLIaahaRoXYJ\/8Ab5Kku7rrHVMo3XqWqrXEAQU+Q0eJBGvkpKvL5KZ9r0rOl\/wfoaKusNHVUFohp6yXpJhknXO7k5xntRVtYZri3KKbWCxREXCRXXu7R2a3PqX4dJwjjJxvn9aqBsxaZImPutdh9bWe3kjVjTrju\/QUGmH7U7SvqXkuoLefyh2Pdn5HGfRa5WPwrT1Mlftp94+Fx6+gREVZrCIiAIuFXWU1BTunqpmxRt\/md8hzPcsxJcLrtTIYLWHUdACWvqH8Xd2nyHmVKMW9ymy6MNuX5E677TNpp+oW2Lrla7QBmrWHvxxXm1bNvdUG5Xp4qax5yGO1bHy8fkFY2ix0dlhLKdpMjh7crved9h3Ke5zWML3HDWjJPIKTkltErjVKb12\/bovUyl5mjq9rqeOQ\/kW2I1Euez+b\/wCF32OgkmZV3ifPSVkp3cn+UH76eSzXT1FeKl0I\/eLtUiNoxghgOT5ZLR\/ynvX6JR0rKKihpY\/diYGg88dqnPwxwZuze1tdnTn77L8fyd0US4XSjtcPS1c7Yx2N4ud4DtWdNfe9pyY7fG630J0dO73nDu\/t5lVqDe\/Q2WXxg9K3fkiDtRtTLNPJb6JxZAwlkrxo554EdwWetrqGKuifcGvlpwCXsj4k64HZ3L9Bodk7VSQhskAqpOLpJtST4cFXbTUtNaZ7VX01PFCyCo3XhjAMg4P0KvjOPuxPMu7Pc\/bWNbdD1FtXK6FkdrsFTJE0AMwCGgeQK+9f2urD+RboKVh4Ok4j1P0WpRU610R6HcTfvTf0wjMGx7R1h\/fL70TSNRACPLTC9x7EW\/e36qoqal594ufgH6\/FaRFzvJdDv\/LVzJZ+byV1NYLTSYMNvhBHAubvEeZypk88FJAZZpGRRMGrnHACr7xtDRWdu7I7pag+7Aw+0fHkqiCz3HaKZtZfHuhpeMVIw48zy+fgupN7yexx2Rg9FSy\/wvmJ7xcNo53UVka6GmGktW4YPly+fgrizWCks0Z6IGSd\/vzP94+HIKwgp4aWFsMEbY42jAa0YAXRcctsLglXTh65vMv4+QREUDQFRbW3B9HahTwOxUVbujYAcHHac58B5q9WV3PxbbxxeN6G3RjAJ03uPDxP\/apwW+X0M\/aJPRpjzLYvbRbmWq2w0jNSwe27+px4n1U1EUW87l8YqKSQRF5e9kbC+RwY1oyXOOAFw6elU3naGjs4EbszVLvcgZxPLPL9aKsrdoqq61Bt2zzS5\/8AiVJGGtHd9\/RWFm2bpbYRUSk1NadXTSa4Pdy8eKs0qO8jK7ZWPTV9+n08yupLHXXyp6\/fnOYz\/DpGnAA7+XzWojjZFG2ONjWMaMNa0YAHcF6RRlJstrqjXxz59QqXayvFBYZsOxJP+Uzz4\/DKulgtuq109zhoIiSIWZc1p4ud2Y8APVSrjmRV2uzu6W+r2Pew9A+prHV8oHRUzejj0\/mOp9Mn\/qVvc7jfqiukt9roTC1hwaqQaeIJ0+ZVpZbeLZaaekwN5jcvI7XHUqeuynmWSFPZ3GlQzjzM7btkoYp+t3SZ1fUnX2yS0Hz4+fotCAAMAYAX1FBycuTTXVCtYigqPbCm6xs5ORkuiLZBjuOD8CVeKFeGdJZa5mmtPJjP+kpF4kmcujqrkvgfbRUdbtNLOfedE3e\/1AYPxypipNkXH9mKXeyN3f1dy3iuFx2sjbOaK0wGuqycDdGWA+XH5d664tyaRXG6Maoym+Ui8qqunooHT1MrYo28XOKzMt7um0EjqaxwPggzh9XJpp3cvLJ8F0pdmau4TCr2hqnTuGradjsNb44+nqtLFDHBE2KFjY42DDWtGAAu+GPxZHFt3Phj+X6FRaNmaS2uFRKTVVhOTPJrg9w7PHirpEUG292aIVxrWIrAREXCYREQHlzmsYXuOGtGSeQWb2MjdM24XJ7QHVVQceWT83fBXlyJFrqyDgiB\/wD4lVexYA2bhI7XvJ9VYvcZmnvfFeSb\/RfIizdy2llmqfw6xRdZqScOlAyxn0Pjw8VGMXLgtstjWsyLK732is0QdUPzI4ZZE3VzvsO9UjKG7bUlstycaKgBBbTsGC8cz9z5BTrPsyyllNdcn9brnnJc7VrD3cz3+mFfqWVH3eSju53b2bLy9fQj0VDTW+nbBSwtjYOwcT3k9qkIirNSSSwgiIh08ve2ONz3nDWgknkFhNnITfNqZ7nMMsieZQD2En2B5Y+Cvtsrh1KxPiaT0lSejGOwfzfDTzUjZm1fhNnjje3E8v5kvME9nkNPVWx8MG\/Mw2rvb4w6R3f6LYuDcZIGTgZX1ZKWWTam\/shhcfwyieHue0aPeOR\/WmStaoSjg01295lpbfyERQLleqC1MzVzhrsZEbdXHyXEm+CcpRisyeET1T7Q3mhoKCeCaYGaWNzWxN1dqNCR2BVRut+2hO5aqfqVKdOsScSO4\/b1XqXYeJ9KxvW3PqHyB008mpI1yG8vPKsUVF+JmSd07IvuY5+L\/RW2Oz3a722GCWd1LbGlxAbo6TJ18R46LZW+10drh6KkgbGO13FzvE9qkRRMhiZFG0NYxoa1o7AOAXtRlNyLKOzxqS6vzCIigaQiIgCIiAIiIDxNG2aF8Tvde0tPgVltkrnT0OzsxrJ2xinncME68AcAduuVY3vaJtsmbR00D6mukALIwDjXnz8AszZrO2faWWnvcJbM9hnbHvYa4k5xpx4n0KuhHwvJ599vto93u918NyzkrLntZJ0FEx9Hbd7D5z7zxy\/sPNaG12qktFKIKWPH9bz7zzzJUtjGRsDI2hjWjAa0YAXpQlLOy4NNdOl65PMvP0CIigXhERAERVl4v1FZod6d2\/KR7ELT7TvsO9dSbeERnOMFqk8Iob9LFXbYUdJLIG09G3pJS47ob\/MdfANHmu1ZeqraCc22yhzYSd2arIxhvd+snuUOg2XqrzWy3K6A00U7t\/omn2nAnh3D4rTy1NrsFE1j3x00LR7LBxPgOJVzaWEt2edXGyeqUvDFv64\/R0tdtgtVCylpxo3VziNXu7SV9r7nR22LpKuoZEOwE6u8BxKzz9oLte3mGxUZiizg1Mo4fQfEqVbtkYI5etXWU3CpOpMmS0eR4+foouON5svja5LTRHbz6f2R33e8bQkx2WA0tLnDqqXQ+X9snwUu27I0NI\/p6smtqCcl8urc+H3yr5rQ1oa0AADAA7F9UXN8LYnHs6b1WPU\/x9EfAABgDAC+oigaQiIgCIiAIiIAiIgCIiA5mGIzicxMMobuiTdG8ByzyVFtNa6iR8N3t+euUnBoGd5ufpk+pWhRSjJp5K7K42RcWQLRdYLxQtqYTh3CRnax3JT1na\/ZqWOuNys1R1Wo4uixhj\/91xj2rq6A9DerVPE5uhliGWu01PL0KlozvEpV7r2uWPj0foahFnv23s27nenzjh0a5O21hmO7QW2qqnZxjGM+mT8Fzu5eRJ9qp\/8ARplwq6ymoYTNVTshYO1xxnw5rOvrNq7g0mGlht0Xa+U6gYOSc+HJU0jLc2ZvWJ6m\/wBdqBHG4mMHx4ny0UlX5sqs7XheFffb+39i5n2guF5eabZ6ncGg4fVSAADwz\/v3KLH+BWCodU11Ybjcgd44G9h3d2A+JyutPZ79c4xHVzttlHjDaanAGnLA+p8ldWzZ222nDqeHel\/4sntO\/t5KTcY7f77lUYW2PU19X0+S9SpFy2lvQabfSNt9O7\/GlIJI8x8h5qRR7H0rZus3KeS4VBOSZDhvpxPmfJaJFXrfTY0rs8W82PU\/jx9uDyxjI2BkbQxrRgNaMAL0iKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAvhAIwRkFfUQHEUdKDkU0II\/wAgVbedoaOytEDW9LUuHsQM7+GeSj3y91DaltqtLekrZeL8aRDn+uC7WTZyC15qJndZrH6vlfrg9uM\/PirEklmRllOUpOFX1fl6sro7Ve9oHdJeJzR0ucimi0Lh38vPPgtBQWyjtsXR0lOyIdpA1d4niVLRRcm9iyumMHnl+b5CIiiXBERAEREAREQBERAEREAREQBERAEREAREQBERAFzmLxBIYgTJundAxqcacdF0RAZDZaY0tznpqmjqDWVEjjLUFg3QRk+WfmteiKUpankppr7uOnOQiIolwREQBERAEREAREQBERAEREAREQBERAEREAREQH\/\/2Q==",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "SUCURSAL MALL ANGAMOS",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"GEN-I1017\",\"id_control\":\"28630\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"SEL-I391\",\"id_control\":\"28630\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"3M-I418\",\"id_control\":\"28630\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"SEL-I823\",\"id_control\":\"28630\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"GEN-I1000\",\"id_control\":\"28630\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:43",
    "ubicacionGPS": "LatLng(lat: -23.6618708, lng: -70.4001435)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:42",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 16:43:28
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-melm6SC9htu.-X37iJBSCY-mdqlQ2YF+B5HEMIx3ZULlEY6waGB
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "9J3N529539",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entregado , report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12518",
    "observacion": "Entregado , report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACpANUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABAEAABAwMBBAcGAwYEBwAAAAABAAIDBAURIQYSMVETFEFhcYGRIjKhscHRFSPwFiQzQlLhQ2Jy8VOCkqKywtL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAuEQACAgEDAQUIAwEBAAAAAAAAAQIDERIhMUEEEyJR0SMyYXGBkaHBseHwFFL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBeZA90bmxv3HkENdjODzx2r0iAi26CppqJkVXU9ZnGS6TGM5OVKREe5xLCwEREOhERAEREAREQBERAEREAREQBERAEREARFQXraTqk34fbojVV7tN1oyIz38z3eq6otvCK7LI1xzIsrldaO0wdLVyhufdaNXO8AqKO4bRX5u\/QQRUNKfdllJ3nDu\/sPNSLZsswTCvvD+uVjtS1xyxp+vy5BaJTzGPG5So227yeleS5+rIdspKiiomw1NU6qkBJMjs5+JUxEUG8mmKUVhBERcOhFXXi9UtmgD5jvSPz0cQ4vP0VQb3tM2B1UbGwQtBcQXYeB4Zz8FNQbWSid8IPHL+CyahFBtN3pbxS9PTOOhw9jveYe9TlFprZlsZKSzHgIiLhIIi51FRFSwPnnkEcbBlzncAgbxuz25wa0ucQABkk9ix932xlmm6jZGGR7juiYNySf8o+p\/uqy\/bTVV5l6nRh0dM84a0aOl8e7uWl2a2bZaIBPUNY+scNTjPRjkD8yr1FQWZcnnO6faJ6KXhdX6FrbY6qK3QMrpBJUBv5jh2lSkRUPc9BLCwEREOhERAEREAXwkAZJwAhIAyTgBZKtrqnamufa7a7coYz+8VH9WvZ3aaDtUoxyVW2qtebfCOlwvlVeqo2qw5xwmquAaOBweXf6K2sliprNBhn5k7x+ZM4au7hyHcpVvt1La6YU9JEGMHE9rjzJ5qUuylthcEK6Xq12by\/C+QREUDQEREAXKpqIqSllqZnbscTS5x7guqy+1dRJXVVJYKZ2H1Lw6YjXdb2fInyClGOXgqus7uDl16fM82Olffri6\/VzT0bHkUkZ4AAnXy+a1S508EdNTxwRNDWRtDWgDC6JKWWKa+7jh89fmZOtYNndqaerhIipK87kzOwHnjzB9VrFRbY0nWbBJI0Hfp3CVpHdofgSrK1VfXrVTVXbJGC7x7fjlSlvFMqq8FsodOV+yWiKrvd9prNAC\/8AMnf\/AA4WnU9\/goJNvCNE5xhHVJ7Em5XOktVMairk3W8A0auceQHasFebpVXdzZakOZG\/Smo2Ekuzwcfpz7O0r1U1FTVXASV8fW7k47sNEG5ZF\/qHx3fXktRYdnG0DjW1xE9e87xedRH3D7q9JVrL5PMnKztUtEdo\/wC59PucdmdmRbgK2taHVjh7LeyIcvH\/AGWkRFTKTk8s9GqqNUdMQiIolgREQBERAERUG0l6npejt1tHSV9ToA3UsHPx+xK7FOTwiuyxVx1Mj3y4VF1rjs\/a3YcR+9S9jW6ZHx19Oau7XbKe00TKanbgDVzu157SVHsVljs9JukiSok1ml\/qP21VopSl0XBXVW895P3n+F5BERQNAREQBEVfdr1R2eAyVMg3yMsiHvP\/AFzXUm9kRlJRWZPYk1lZT0FM+oqZRHGwak\/Icyvz2O7VwvpvcUADamUxs3xxHDA8BjXn6L3fjdrjTxV9fmFkz92mpQD6n7nU+CtIqVrtqbba4sdHa4Q6Tdzjf4k+ZLVojFRW55N1srppLZJrHzf9ZNkiIsx7BzqIW1NNLA\/3ZWFjvAjCz+xM7\/wyeil9+kmLccgdfnlaRfnct5ls13u7LeY3dYlyJeLWak5x2+9j7q2Cck0Yu0WKqcLH8Uam\/wC0LLU0U9O0TVsg9iP+nvP2WRo2XC5XE9Vl6zcHfxKpzvZgGceyfqOenNfbNZLhfZ5JzM5kDziaodnek5gc\/wBeC39DQU1tpm09LEI2N9SeZPaptxrWFyZ4xs7XLXLaPT\/fv7EOyWCms0Ps\/m1D\/wCJM4anw5BWqLnLNFA3fmlZG3m9wA+KobbeWelGMa44jsjoiqKnamzUujq1kh5RZf8AEaKvdti6o0tloq6nXG8W4Hwz3qShJ9CuXaao7av2adFlxNtjXYLIaahaRoXYJ\/8Ab5Kku7rrHVMo3XqWqrXEAQU+Q0eJBGvkpKvL5KZ9r0rOl\/wfoaKusNHVUFohp6yXpJhknXO7k5xntRVtYZri3KKbWCxREXCRXXu7R2a3PqX4dJwjjJxvn9aqBsxaZImPutdh9bWe3kjVjTrju\/QUGmH7U7SvqXkuoLefyh2Pdn5HGfRa5WPwrT1Mlftp94+Fx6+gREVZrCIiAIuFXWU1BTunqpmxRt\/md8hzPcsxJcLrtTIYLWHUdACWvqH8Xd2nyHmVKMW9ymy6MNuX5E677TNpp+oW2Lrla7QBmrWHvxxXm1bNvdUG5Xp4qax5yGO1bHy8fkFY2ix0dlhLKdpMjh7crved9h3Ke5zWML3HDWjJPIKTkltErjVKb12\/bovUyl5mjq9rqeOQ\/kW2I1Euez+b\/wCF32OgkmZV3ifPSVkp3cn+UH76eSzXT1FeKl0I\/eLtUiNoxghgOT5ZLR\/ynvX6JR0rKKihpY\/diYGg88dqnPwxwZuze1tdnTn77L8fyd0US4XSjtcPS1c7Yx2N4ud4DtWdNfe9pyY7fG630J0dO73nDu\/t5lVqDe\/Q2WXxg9K3fkiDtRtTLNPJb6JxZAwlkrxo554EdwWetrqGKuifcGvlpwCXsj4k64HZ3L9Bodk7VSQhskAqpOLpJtST4cFXbTUtNaZ7VX01PFCyCo3XhjAMg4P0KvjOPuxPMu7Pc\/bWNbdD1FtXK6FkdrsFTJE0AMwCGgeQK+9f2urD+RboKVh4Ok4j1P0WpRU610R6HcTfvTf0wjMGx7R1h\/fL70TSNRACPLTC9x7EW\/e36qoqal594ufgH6\/FaRFzvJdDv\/LVzJZ+byV1NYLTSYMNvhBHAubvEeZypk88FJAZZpGRRMGrnHACr7xtDRWdu7I7pag+7Aw+0fHkqiCz3HaKZtZfHuhpeMVIw48zy+fgupN7yexx2Rg9FSy\/wvmJ7xcNo53UVka6GmGktW4YPly+fgrizWCks0Z6IGSd\/vzP94+HIKwgp4aWFsMEbY42jAa0YAXRcctsLglXTh65vMv4+QREUDQFRbW3B9HahTwOxUVbujYAcHHac58B5q9WV3PxbbxxeN6G3RjAJ03uPDxP\/apwW+X0M\/aJPRpjzLYvbRbmWq2w0jNSwe27+px4n1U1EUW87l8YqKSQRF5e9kbC+RwY1oyXOOAFw6elU3naGjs4EbszVLvcgZxPLPL9aKsrdoqq61Bt2zzS5\/8AiVJGGtHd9\/RWFm2bpbYRUSk1NadXTSa4Pdy8eKs0qO8jK7ZWPTV9+n08yupLHXXyp6\/fnOYz\/DpGnAA7+XzWojjZFG2ONjWMaMNa0YAHcF6RRlJstrqjXxz59QqXayvFBYZsOxJP+Uzz4\/DKulgtuq109zhoIiSIWZc1p4ud2Y8APVSrjmRV2uzu6W+r2Pew9A+prHV8oHRUzejj0\/mOp9Mn\/qVvc7jfqiukt9roTC1hwaqQaeIJ0+ZVpZbeLZaaekwN5jcvI7XHUqeuynmWSFPZ3GlQzjzM7btkoYp+t3SZ1fUnX2yS0Hz4+fotCAAMAYAX1FBycuTTXVCtYigqPbCm6xs5ORkuiLZBjuOD8CVeKFeGdJZa5mmtPJjP+kpF4kmcujqrkvgfbRUdbtNLOfedE3e\/1AYPxypipNkXH9mKXeyN3f1dy3iuFx2sjbOaK0wGuqycDdGWA+XH5d664tyaRXG6Maoym+Ui8qqunooHT1MrYo28XOKzMt7um0EjqaxwPggzh9XJpp3cvLJ8F0pdmau4TCr2hqnTuGradjsNb44+nqtLFDHBE2KFjY42DDWtGAAu+GPxZHFt3Phj+X6FRaNmaS2uFRKTVVhOTPJrg9w7PHirpEUG292aIVxrWIrAREXCYREQHlzmsYXuOGtGSeQWb2MjdM24XJ7QHVVQceWT83fBXlyJFrqyDgiB\/wD4lVexYA2bhI7XvJ9VYvcZmnvfFeSb\/RfIizdy2llmqfw6xRdZqScOlAyxn0Pjw8VGMXLgtstjWsyLK732is0QdUPzI4ZZE3VzvsO9UjKG7bUlstycaKgBBbTsGC8cz9z5BTrPsyyllNdcn9brnnJc7VrD3cz3+mFfqWVH3eSju53b2bLy9fQj0VDTW+nbBSwtjYOwcT3k9qkIirNSSSwgiIh08ve2ONz3nDWgknkFhNnITfNqZ7nMMsieZQD2En2B5Y+Cvtsrh1KxPiaT0lSejGOwfzfDTzUjZm1fhNnjje3E8v5kvME9nkNPVWx8MG\/Mw2rvb4w6R3f6LYuDcZIGTgZX1ZKWWTam\/shhcfwyieHue0aPeOR\/WmStaoSjg01295lpbfyERQLleqC1MzVzhrsZEbdXHyXEm+CcpRisyeET1T7Q3mhoKCeCaYGaWNzWxN1dqNCR2BVRut+2hO5aqfqVKdOsScSO4\/b1XqXYeJ9KxvW3PqHyB008mpI1yG8vPKsUVF+JmSd07IvuY5+L\/RW2Oz3a722GCWd1LbGlxAbo6TJ18R46LZW+10drh6KkgbGO13FzvE9qkRRMhiZFG0NYxoa1o7AOAXtRlNyLKOzxqS6vzCIigaQiIgCIiAIiIDxNG2aF8Tvde0tPgVltkrnT0OzsxrJ2xinncME68AcAduuVY3vaJtsmbR00D6mukALIwDjXnz8AszZrO2faWWnvcJbM9hnbHvYa4k5xpx4n0KuhHwvJ599vto93u918NyzkrLntZJ0FEx9Hbd7D5z7zxy\/sPNaG12qktFKIKWPH9bz7zzzJUtjGRsDI2hjWjAa0YAXpQlLOy4NNdOl65PMvP0CIigXhERAERVl4v1FZod6d2\/KR7ELT7TvsO9dSbeERnOMFqk8Iob9LFXbYUdJLIG09G3pJS47ob\/MdfANHmu1ZeqraCc22yhzYSd2arIxhvd+snuUOg2XqrzWy3K6A00U7t\/omn2nAnh3D4rTy1NrsFE1j3x00LR7LBxPgOJVzaWEt2edXGyeqUvDFv64\/R0tdtgtVCylpxo3VziNXu7SV9r7nR22LpKuoZEOwE6u8BxKzz9oLte3mGxUZiizg1Mo4fQfEqVbtkYI5etXWU3CpOpMmS0eR4+foouON5svja5LTRHbz6f2R33e8bQkx2WA0tLnDqqXQ+X9snwUu27I0NI\/p6smtqCcl8urc+H3yr5rQ1oa0AADAA7F9UXN8LYnHs6b1WPU\/x9EfAABgDAC+oigaQiIgCIiAIiIAiIgCIiA5mGIzicxMMobuiTdG8ByzyVFtNa6iR8N3t+euUnBoGd5ufpk+pWhRSjJp5K7K42RcWQLRdYLxQtqYTh3CRnax3JT1na\/ZqWOuNys1R1Wo4uixhj\/91xj2rq6A9DerVPE5uhliGWu01PL0KlozvEpV7r2uWPj0foahFnv23s27nenzjh0a5O21hmO7QW2qqnZxjGM+mT8Fzu5eRJ9qp\/8ARplwq6ymoYTNVTshYO1xxnw5rOvrNq7g0mGlht0Xa+U6gYOSc+HJU0jLc2ZvWJ6m\/wBdqBHG4mMHx4ny0UlX5sqs7XheFffb+39i5n2guF5eabZ6ncGg4fVSAADwz\/v3KLH+BWCodU11Ybjcgd44G9h3d2A+JyutPZ79c4xHVzttlHjDaanAGnLA+p8ldWzZ222nDqeHel\/4sntO\/t5KTcY7f77lUYW2PU19X0+S9SpFy2lvQabfSNt9O7\/GlIJI8x8h5qRR7H0rZus3KeS4VBOSZDhvpxPmfJaJFXrfTY0rs8W82PU\/jx9uDyxjI2BkbQxrRgNaMAL0iKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAvhAIwRkFfUQHEUdKDkU0II\/wAgVbedoaOytEDW9LUuHsQM7+GeSj3y91DaltqtLekrZeL8aRDn+uC7WTZyC15qJndZrH6vlfrg9uM\/PirEklmRllOUpOFX1fl6sro7Ve9oHdJeJzR0ucimi0Lh38vPPgtBQWyjtsXR0lOyIdpA1d4niVLRRcm9iyumMHnl+b5CIiiXBERAEREAREQBERAEREAREQBERAEREAREQBERAFzmLxBIYgTJundAxqcacdF0RAZDZaY0tznpqmjqDWVEjjLUFg3QRk+WfmteiKUpankppr7uOnOQiIolwREQBERAEREAREQBERAEREAREQBERAEREAREQH\/\/2Q==",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "SUCURSAL MALL ANGAMOS",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"GEN-I1017\",\"id_control\":\"28630\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"SEL-I391\",\"id_control\":\"28630\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"3M-I418\",\"id_control\":\"28630\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"SEL-I823\",\"id_control\":\"28630\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"GEN-I1000\",\"id_control\":\"28630\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:43",
    "ubicacionGPS": "LatLng(lat: -23.6618708, lng: -70.4001435)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:42",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 16:43:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[12/05/2026 16:43:28] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76121841', '9J3N529539', 2, 95585912, 0, NOW(), 
				'16:42', '16:38', '16:43', 10, 'Entregado , report ya efectuado , se realiza nuevamente el cierre por error en el servidor', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778618608.png', 'Entregado , report ya efectuado , se realiza nuevamente el cierre por error en el servidor', null, 'COMPLETADO','LatLng(lat: -23.6618708, lng: -70.4001435)' )
				
[12/05/2026 16:43:28] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200281
[12/05/2026 16:43:28] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200281', 'GEN-I1017', 3)
				
[12/05/2026 16:43:28] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28630 and
				    IDproducto = 'GEN-I1017'
				

12/05/2026 16:43:28 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'GEN-I1017';
                [12/05/2026 16:43:28] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200281', 'SEL-I391', 2)
				
[12/05/2026 16:43:28] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28630 and
				    IDproducto = 'SEL-I391'
				

12/05/2026 16:43:28 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'SEL-I391';
                [12/05/2026 16:43:28] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200281', '3M-I418', 1)
				
[12/05/2026 16:43:28] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28630 and
				    IDproducto = '3M-I418'
				

12/05/2026 16:43:28 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = '3M-I418';
                [12/05/2026 16:43:28] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200281', 'SEL-I823', 1)
				
[12/05/2026 16:43:28] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28630 and
				    IDproducto = 'SEL-I823'
				

12/05/2026 16:43:28 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'SEL-I823';
                [12/05/2026 16:43:28] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200281', 'GEN-I1000', 1)
				
[12/05/2026 16:43:28] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28630 and
				    IDproducto = 'GEN-I1000'
				

12/05/2026 16:43:28 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'GEN-I1000';
                
12/05/2026 16:43:28 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200281'                    
				WHERE idllamado = 12518			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


12/05/2026 16:43:28 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12518			
				
12/05/2026 16:43:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 16:43:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            
12/05/2026 16:43:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            
12/05/2026 16:43:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            
12/05/2026 16:43:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            [12/05/2026 16:43:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:43:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:43:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:43:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12518
            GROUP BY l.idllamado;
            
12/05/2026 16:43:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                
12/05/2026 16:43:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12518
                [12/05/2026 16:43:33] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:43:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                [12/05/2026 16:43:33] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:43:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16:43:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16:43:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16:43:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16:43:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                [12/05/2026 16:43:33] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:43:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16:43:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                [12/05/2026 16:43:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:43:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            [12/05/2026 16:43:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:43:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            [12/05/2026 16:43:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:43:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16:43:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16:43:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16:43:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16:43:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16:43:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16:43:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16:43:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16:43:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16:43:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16:43:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16:43:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:43:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16: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 = 12521
                
12/05/2026 16: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 = 12521
                
12/05/2026 16:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:44:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:44:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16: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 = 12521
                
12/05/2026 16: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 = 12521
                
12/05/2026 16: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 = 12521
                
12/05/2026 16: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 = 12521
                
12/05/2026 16: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 = 12521
                
12/05/2026 16:44:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12521
                
12/05/2026 16: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 = 12521
                
12/05/2026 16: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 = 12521
                
12/05/2026 16:44:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16:44:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:44:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:44:18 - logentry: =========================================
FECHA: 12/05/2026 16:44:18
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-kcVArsWORAjwzsoAZ7u8R8cUakM2BbnXg259D7-jcqhVEnPivdu
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "9J3N529539",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "CSJ TALLER MANTENCION",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "DEPARTAMENTO",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entregado",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12521",
    "observacion": "Entregado",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACuAOEDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABCEAABAwMBBAcGAwQIBwAAAAABAAIDBAURBhIhMUETFFFhcYGRIjKhscHRFeHwFiNCQwckNERicqLxJTNSU8LS4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC4RAAIBAgQDBwQDAQAAAAAAAAABAgMREiExQQRRYRMiMnGBodEUkcHhIzPwsf\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAiLmqrjRUWes1UURAzhzgD6Ja5xtJXZ0oouHUtmqJRFHXx7ROAHAtyfEhSYIIyDkFdaa1ORnGfhdzKIi4SCIiALkt1PU0tL0VXWGrk2iekLA3d2YXWiHLK9wiIh0IiIAiw5wa0ucQABkk8lVrlqmWpfJSWVoOwD0tW\/cyMdo+\/oCpRi5aFVWtCkryLBWXKit7QaupjhzwDjvPkulrg5oc0ggjII5r51ZNPz36ufVVMr3Uof7czs5lPYM\/NfQ4omQxMijaGsY0Na0cgOAUpxUcrlXD1p1U5ONlse0RFWagiIgCIiAIiIAiLDnBrS5xAAGSTyQGVwXK9UFqZmrnDXYyI273HyUPW6iqrlVG3aeaJH\/AMypI9lg7vv6LptelKSjk6zWONbVO3ufLvAPaAfmVZhSzkZXWlN2pK\/Xb9nIa\/UF+y230\/4dSn+dNuc4do\/L1XTRaNtsDulqzJWzk5c+VxwT4ffKsCLmN6LI6uHi3ep3n1+CMn05aKiPYNBCzA3OibsOHfkLbabY200QpWzyzAEkGQ8ByA7F3Io4naxaqUFLElmERFwsCjL1eobPTbRHSTv3RxDi4rTcNVWy3VLYHyGR2cPMYyGDv\/JRunoH3q7z3+qb7AOxTMODsgfYfElWKFs5aGWpXTfZ033n7dTMdv1VXQuqJrkykkdvZCM4A7Djh8Su6yXuoqaua23KIQ1sPMbhIO75+CnFV9XxSUT6W90p2Zqd4Y\/H8TT293LzXU8bsyE4Ogu0i27a9UWhFrhmZUQRzxnLJGhzT2gjIWxVG3ULlr7jS2ymNRVyiNnAdrj2Ac1x3vUFNZ49j\/nVTx+7hbxOeBPcq7NCIsXfVMvSyuGaehHZ4chv4eueCsjC+bMtbiMN4x19l5\/B6raup1BE+qqpH26zRcD\/ABTHsHafh4rFttct+bHGyF1DZojlrB705zxJ5nv5cl1UNprtQVEVfeGiKkjH7ikaMDHeOQ4ePgrW1rWMDGNDWtGAAMABTlPDkjPSoOq8c9Pd\/C6HmGGKnhZDCwMjYMNa0bgFsRFQeloEREAREQBERAERa554qaB88zwyOMbTnHkEDdhUVEVLA+eeQRxsGXOdwCqks9y1dOYKQOpbU12HyncZPv4cO1eIoarWVeZ5nPhtULsMYDgyH9c+XAc1boYYqeFkMLAyNgw1rRuAVuUPMx97iOkP+\/o00FupbZTCnpIhGzie1x7Sea6kRVN3NaSirIIiIdCItVRUQ0kDp6iRscbBkucUON2zZsJAGScAKrXK8VN7rDaLI4FhGJ6ocAOeD2d\/PktctVX6umNNRh1Na2uxJMRvk4bvy9exWO3WyktVMIKSIMb\/ABHi5x7Seassoa6mRylXyjlHnz8vk+dXq2wUt3jtdEC+Roax7ySS97sb8chvG4L6RQ0jKChhpIyS2JgaCefeqPp5wumtZKwjaaDJK3duA4D5hfQFOq3kmU8DCPeqLd2XkFwXul67Zaun2douiJaP8Q3j4gLvRUp2dz0JRUouL3ITSFT1nTlPk5dETGfI7vgQpWqmNPSTTtYXmNhcGjicBV7Q\/wC7o62n5R1J+QH0S66hqaurNqsTOlnO6Sce6ztwfr6KyUbzdjJTrKPDxctbWIKjuEFO51cQa29VMhDY3tOIDnnnG\/w4cNysVp04\/rJud5f1mtcchh3tj37v1wC8w6ItvUwyqdLLUO3vna8g5PYOHqF4OjZISBQXuspmjgCc\/IhTlKL0Znp0asLOcb9L783fV+pZ0VY\/BdTQ74L8HkcOlafqCnQ6zi\/vVHP5Af8AiFXgXNGzt5LWD9vks6KsdLrOP+70cvPiB5cQn4nq6PfLZqdw\/wADv\/srmDqh9St4v7FnRVf9or9EczadleOyMu+xW2DWMLqiOGrt9TSmQ7O1JgAHvJxuTs5BcVS3dvNMsaIigaQiIgMOcGtLnEAAZJPJVGeWXV14FJA5zbVTOzK8bukP64d29bL5W1F9r\/wK2O\/dg\/1qYb2gdnl8TuVjoaKC3UjKWmZsxsHmT2nvVi7ivuY5fzywrwrXr08uZshhip4WQwsDI2DDWtG4BbERVmzQIiIAi8SzRwROlme2ONgy5zjgAKs1Ooa28VLqHT8WRvD6p4w1o7R2fPuUoxbKqlWNPXXluS13v1HZ2YkPS1DhlkDPeP2Chqez3DUVQ2uvT3RUoOYaVu447xy+fgpG0aYpLa\/rE7jV1ZO0ZpBnB7h9eKm1LEo+Ep7KdV3q6cvnmeIoY4ImxQsbHGwYa1owAFx3uo6rZKyYcWxOA8SMD4ld6g9YymPTdQAcF5a3\/UD9FGKvJF1Z4aUmtkQH9H8ebhVy492INz4n8le1Tv6P2bLLg\/kXMA58Nrn5q4qdXxsz8CrcPH1\/6FrnnipoXzTyNjjYMuc44AXPc7pS2mkdUVL8Ae60e889gCrkNHW6ql69c3Opbaw5igBxtjtP39FGMb5vQuqVsLwRV5f7UibPFdLo+so7dJ0NJNKXTT4I3b93n2K8Wu00topRBSsxn33n3nntJUJoKMC1VMoGzt1BAHcGj7q0KVWWdijg6SVNTer\/ANkERFUbgiIgCLnra6mt9O6eqmbGwczxPcBzValr7rqh5htjX0dBvD6h+4v7R+Q8ypRi3nsU1K0YZavkd921RBRy9ToWdcrXHAjZvAPeR8gtNqsFXPWsu17mMlSDmOEH2Yuz\/YfFSVosVDZosU8e1KR7Ur97j9h3KSUnJLKJXGlKbxVftsvkIiKs1BQupLu+3UjaelG1W1Z6OFoO8Z3Z+O7vUw97Y43PecNaCSewKr2WJ18v099mGYIXGKlGd27ngjvz4lTglq9jPXk8oR1fst2S2n7QLPbGwuO1NIduZ3a48vAfripREUW23dl0IKEVGOiCIvEsscMbpJZGxsaMuc44A81wke1FXnUNHZ2Frz0tQR7MDDvPj2BRlVqKsu07qHT0Rd\/11TxhrfDP19Oa7bRpiltr+sTONXVk5M0nI9w+vFWYVHORldWVR2o\/fb05kdBZrpqGZtVfJXQUwILKRns5HeOXnv8ABWempoKOBsFPE2KNgwGtGAtFbdaC3DNXVxxHGdknLj5DeoV+r31Uhhs9snq3Z2Q9ww0dh\/3wnen5EU6NB5u8n6ssywSAMk4AVYFPq+4b5aqCgjdxawAkfM\/FZGi21J27ndKuqfx44A9cphS1ZPtpy8EH65E++4UUbtl9ZA09hlaPqq\/raphl0+0xTMeHTtGWOyDuJ5eC6WaLsrWbJilf3mU\/RQWq9O0FpoIqmlMoe6URlrn5BGCfoFKCjiVmUcTKt2MsUVbz\/RJaBZ\/wyqkxgOnx6NH3VguVfHbKCWrla9zYxwaMknl4eKqmg7m1pktjo8FxMrXg8TgAgjwCuFTTQ1kDoKiMSRvGC0rlTKeZPhHi4ZYHn+SrWehGoasXa7TRy5J6ClDgQ1ueY+nqpLUV5gorZLT08jJKqZvRxxMOSMjjgcMA\/JaptEWaX3GTQ\/5JM\/PK6rdpi1W2bpooC+QHLXynaLfDsXXKLdyMKVaMXFJJvV3v+DbYKA22y09M9uJANp4PHJOfy8lJIiqbu7m2EVCKitgiKBuWrKSlkNNRMdXVZOy2OIZGfHn5Iot6EZ1IU1eTsTj3sjYXyODGtGS5xwAq3WasdPOaSxUxrZsb5MHZb5c\/gFqZYLte5RPfasxRZyKWI7h3dg+JVjo6Glt8AgpIWxRjk3n4niVPux6lN6tXTur3\/RA0mlZKuoFbfqk1c3KEH2G935DA8VZGMZGwMjaGNaMBrRgBekUZSctS2nShT8KCIiiWhERAV\/WVYYLQKSMgzVjxG1vPHP6DzUtbaJtutsFI3GImAEjmeZ9cqAqWi46\/ghdvZQxbZGOfEH1c30VpVksopGWl36s58sl6a+4Ra56iGlhdNPI2ONoyXOOAFS71rZ8+aa1kwsIw6oePaP8AlHLx4+C5GDloTrcRToq8mWK8aio7QOjOZ6p3uwRnfnlns\/W5RAtFyvmKy\/1PVaVp2hTN9nA7+zzyfBRlpFWAZLPa5J6mQZNbVfEgHcPUncVMM0rWXCQS3u6ST7gTFFuaD8vQBW2UNzFjnXzcbrlovV7+mRmXU9otcLaO0QdZeDhscLSG58eflleBS6ovTQ6oqY7ZA4e5GDt48OPxCn6C2Udti6Okp2RDmQN7vE8SutV40tEaVQnJfySy5LJfJA0Oj7VSAOmjNVLzdKcg+XBTjGMjYGRtDGtGA1owAvSKDk3qXwpwpq0VYIiLhYFU9fvxbqVuOMpP+k\/dWskAZJwAqBrO9QXGaOkpfbjp3HblHAuPIfFW0k3JGLjpqNBpvU3aEtsklXJcZA4RxN2I8jc4njjw+qvShtJRmPTNICMEhzvVx+imVyo7yZPhKahRilvn9wiKLueorbactqJtqX\/tR+078vNQSb0NEpxgrydkSijLtqC32duKiXalI3RM3uP281Eda1DqHIpI\/wALoz\/NfnbcO7n6Y8VI2zS9utzhK5hqajOTLNv39oHL5qeFR8Rn7WpU\/qWXN\/hEX0d\/1M7akcbZbyfc3h7x8z8Ap62WWgtMYbSwAPxgyu3vd4n7LvRcc28loThQjF4nm+b\/ANkERFAvCIiAIiIAiIgKzZ8DWd2BHtFgIyc7sj05blZlVroW2jWNHcXENhrGGKQ45jAyf9PoVaVZPZmbh8sUN0375lSl0zdr1UGW8XAMja72Ioxnd4cAfVTFu01araAYqYSyA56SYBzvLkPJSqLjnJ5HYcNTi8Vrvm8zAAAwBgBZRFA0BERAEREAXPW11Nb6d09VM2Ng5nie4Dmoi66phpZTR25nXa4nZDGAlrT344+A+C5qPTFTXztrtQ1BnlHu04Pss7jjd5D1KmoWzkZpV23hpK79kaZaq56tkMFG19HbMkPmcN8g7PyHmtOrbVSWrT1PFSx7LRUDLifacdl28nmrkxjI2BkbQxrRgNaMAKt66fCbK2J0kfS9K17WF2HEbxkDnxU4SvJJaFFeio0ZSk7ytr8Erp9nR2Chb2wNd6jP1Xq5XqgtTM1c4a7GRG3e4+SrtPX3u70kFJaKc0dLHG1hqZNxcAMbuzyz4qTtek6Khk6xVONbUneXyjIB7QD8yuOKTvInCrOUVGkvV6fs4TU3\/UjQKSP8NoXfzXE7bx3fljxUla9LW62ESFnWJ+PSy78HuHAfNTSKLm9FkWx4eKeKfefX8IIiKBoCItNVVQUNM+pqZBHFGMucRnHLkhxtJXZuReIpWTRMljcHMe0Oa4cweBXtDoREQBERAEREBG320svFsfTE4kHtRO7HD9YUfp2\/CZjbZcSYa+L2Nl4x0gG71ViUZdrDRXcB0oMc7cbE8e5wxw8lOLVrMz1KclLtKeu65kmiqrafVdnOzBJHcqZmMB2A7ZA79\/xPzXv9rK2EYq7DVRuG4luSCe7I8e1d7N7ZkfqYrxpr0+Czoqx+2ZO5tmrCeQxx+CftTdJf7PpypPaXbX\/qudnI79VR2fsyzrBIAyTgBVnrer6zdHRU1G0\/xPIJHxPyWBpSuryHXq7yzDceiiOGg+e74LuBLVjt5S8EG\/PI7K\/V1royY4pDVz5wI4RnJ8eHplR4p9Raid\/WnG2UR4xtGHuHZjj64Hcp632a32sHqdMyNx4v4uPmd6xcr1QWpmaucNdjIjbvcfJdTSyiiEoSkr1pWXJZL7i2WahtEQZSwgOxh0rsF7vEpcr1QWpmaucNdjIjbvcfJQJut+1Cdi1U\/UqU7usScSO4\/b1UjbNKUFE4T1ANZVHe6SbeM9w++SjVs5sRqOSw0I5c3p6czgbeL9fnFtppRR0xP9olGT5cvQHxXdQ6Uo4JjVVr319S45L5t4z4c\/NTqKLnssiyPDq96jxPrp9jAAAwBgBZRFA0BERAEREAXiWKOaN0csbZGOGHNcMg+S9ogMNaGtDWgAAYAHJZREAREQBERAEREAREQBERAERcFyvVBamZq5w12MiNu9x8l1JvQjKUYq8nZHeuC5XqgtTM1c4a7GRG3e4+SgTdb9qE7Fqp+pUp3dYk4kdx+3qu626RoaR\/T1ZNbUE5L5d7c+H3yp4VHxGbtp1P6llzen7OE3W\/ahOxaqfqVKd3WJOJHcft6rutukaGkf09WTW1BOS+Xe3Ph98qeAAGAMALK45vRZEo8Or4qjxPr+EYAAGAMALKIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiw5wa0ucQABkk8kBlc1dcKS2wGarnbEzlni7uA5qErtUSVFT1GxQdbnd\/N\/gb+u07vFKHSplm65fKg11RyYSdhv3+XcrMFs5GV13N4aSv12\/foc7r\/AHW+vNPY6Uwwnc6ql5fQfErtt2kqKlk6xWOdXVJOXPm3jPbjn55U6xjI2BkbQxrRgNaMAL0uOe0cjseHTeKo8T9vRGAABgDACyiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqzqOepr7rS2KleWNlAfUPad4bn6AH1Csyim2cjUj7s6YOaYdhsezgtPjz\/NTg0ncorxlOKit3n5HXQW2ktlOIKSERt5nm49pPNdSIoN3LklFWQREQ6EREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "WILIIAM",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "PENDRIVE",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"SAN-I1085\",\"id_control\":\"28633\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:44",
    "ubicacionGPS": "LatLng(lat: -23.6618566, lng: -70.4001531)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:43",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "0",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 16:44:18
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-kcVArsWORAjwzsoAZ7u8R8cUakM2BbnXg259D7-jcqhVEnPivdu
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "9J3N529539",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "CSJ TALLER MANTENCION",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "DEPARTAMENTO",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entregado",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12521",
    "observacion": "Entregado",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACuAOEDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABCEAABAwMBBAcGAwQIBwAAAAABAAIDBAURBhIhMUETFFFhcYGRIjKhscHRFeHwFiNCQwckNERicqLxJTNSU8LS4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC4RAAIBAgQDBwQDAQAAAAAAAAABAgMREiExQQRRYRMiMnGBodEUkcHhIzPwsf\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAiLmqrjRUWes1UURAzhzgD6Ja5xtJXZ0oouHUtmqJRFHXx7ROAHAtyfEhSYIIyDkFdaa1ORnGfhdzKIi4SCIiALkt1PU0tL0VXWGrk2iekLA3d2YXWiHLK9wiIh0IiIAiw5wa0ucQABkk8lVrlqmWpfJSWVoOwD0tW\/cyMdo+\/oCpRi5aFVWtCkryLBWXKit7QaupjhzwDjvPkulrg5oc0ggjII5r51ZNPz36ufVVMr3Uof7czs5lPYM\/NfQ4omQxMijaGsY0Na0cgOAUpxUcrlXD1p1U5ONlse0RFWagiIgCIiAIiIAiLDnBrS5xAAGSTyQGVwXK9UFqZmrnDXYyI273HyUPW6iqrlVG3aeaJH\/AMypI9lg7vv6LptelKSjk6zWONbVO3ufLvAPaAfmVZhSzkZXWlN2pK\/Xb9nIa\/UF+y230\/4dSn+dNuc4do\/L1XTRaNtsDulqzJWzk5c+VxwT4ffKsCLmN6LI6uHi3ep3n1+CMn05aKiPYNBCzA3OibsOHfkLbabY200QpWzyzAEkGQ8ByA7F3Io4naxaqUFLElmERFwsCjL1eobPTbRHSTv3RxDi4rTcNVWy3VLYHyGR2cPMYyGDv\/JRunoH3q7z3+qb7AOxTMODsgfYfElWKFs5aGWpXTfZ033n7dTMdv1VXQuqJrkykkdvZCM4A7Djh8Su6yXuoqaua23KIQ1sPMbhIO75+CnFV9XxSUT6W90p2Zqd4Y\/H8TT293LzXU8bsyE4Ogu0i27a9UWhFrhmZUQRzxnLJGhzT2gjIWxVG3ULlr7jS2ymNRVyiNnAdrj2Ac1x3vUFNZ49j\/nVTx+7hbxOeBPcq7NCIsXfVMvSyuGaehHZ4chv4eueCsjC+bMtbiMN4x19l5\/B6raup1BE+qqpH26zRcD\/ABTHsHafh4rFttct+bHGyF1DZojlrB705zxJ5nv5cl1UNprtQVEVfeGiKkjH7ikaMDHeOQ4ePgrW1rWMDGNDWtGAAMABTlPDkjPSoOq8c9Pd\/C6HmGGKnhZDCwMjYMNa0bgFsRFQeloEREAREQBERAERa554qaB88zwyOMbTnHkEDdhUVEVLA+eeQRxsGXOdwCqks9y1dOYKQOpbU12HyncZPv4cO1eIoarWVeZ5nPhtULsMYDgyH9c+XAc1boYYqeFkMLAyNgw1rRuAVuUPMx97iOkP+\/o00FupbZTCnpIhGzie1x7Sea6kRVN3NaSirIIiIdCItVRUQ0kDp6iRscbBkucUON2zZsJAGScAKrXK8VN7rDaLI4FhGJ6ocAOeD2d\/PktctVX6umNNRh1Na2uxJMRvk4bvy9exWO3WyktVMIKSIMb\/ABHi5x7Seassoa6mRylXyjlHnz8vk+dXq2wUt3jtdEC+Roax7ySS97sb8chvG4L6RQ0jKChhpIyS2JgaCefeqPp5wumtZKwjaaDJK3duA4D5hfQFOq3kmU8DCPeqLd2XkFwXul67Zaun2douiJaP8Q3j4gLvRUp2dz0JRUouL3ITSFT1nTlPk5dETGfI7vgQpWqmNPSTTtYXmNhcGjicBV7Q\/wC7o62n5R1J+QH0S66hqaurNqsTOlnO6Sce6ztwfr6KyUbzdjJTrKPDxctbWIKjuEFO51cQa29VMhDY3tOIDnnnG\/w4cNysVp04\/rJud5f1mtcchh3tj37v1wC8w6ItvUwyqdLLUO3vna8g5PYOHqF4OjZISBQXuspmjgCc\/IhTlKL0Znp0asLOcb9L783fV+pZ0VY\/BdTQ74L8HkcOlafqCnQ6zi\/vVHP5Af8AiFXgXNGzt5LWD9vks6KsdLrOP+70cvPiB5cQn4nq6PfLZqdw\/wADv\/srmDqh9St4v7FnRVf9or9EczadleOyMu+xW2DWMLqiOGrt9TSmQ7O1JgAHvJxuTs5BcVS3dvNMsaIigaQiIgMOcGtLnEAAZJPJVGeWXV14FJA5zbVTOzK8bukP64d29bL5W1F9r\/wK2O\/dg\/1qYb2gdnl8TuVjoaKC3UjKWmZsxsHmT2nvVi7ivuY5fzywrwrXr08uZshhip4WQwsDI2DDWtG4BbERVmzQIiIAi8SzRwROlme2ONgy5zjgAKs1Ooa28VLqHT8WRvD6p4w1o7R2fPuUoxbKqlWNPXXluS13v1HZ2YkPS1DhlkDPeP2Chqez3DUVQ2uvT3RUoOYaVu447xy+fgpG0aYpLa\/rE7jV1ZO0ZpBnB7h9eKm1LEo+Ep7KdV3q6cvnmeIoY4ImxQsbHGwYa1owAFx3uo6rZKyYcWxOA8SMD4ld6g9YymPTdQAcF5a3\/UD9FGKvJF1Z4aUmtkQH9H8ebhVy492INz4n8le1Tv6P2bLLg\/kXMA58Nrn5q4qdXxsz8CrcPH1\/6FrnnipoXzTyNjjYMuc44AXPc7pS2mkdUVL8Ae60e889gCrkNHW6ql69c3Opbaw5igBxtjtP39FGMb5vQuqVsLwRV5f7UibPFdLo+so7dJ0NJNKXTT4I3b93n2K8Wu00topRBSsxn33n3nntJUJoKMC1VMoGzt1BAHcGj7q0KVWWdijg6SVNTer\/ANkERFUbgiIgCLnra6mt9O6eqmbGwczxPcBzValr7rqh5htjX0dBvD6h+4v7R+Q8ypRi3nsU1K0YZavkd921RBRy9ToWdcrXHAjZvAPeR8gtNqsFXPWsu17mMlSDmOEH2Yuz\/YfFSVosVDZosU8e1KR7Ur97j9h3KSUnJLKJXGlKbxVftsvkIiKs1BQupLu+3UjaelG1W1Z6OFoO8Z3Z+O7vUw97Y43PecNaCSewKr2WJ18v099mGYIXGKlGd27ngjvz4lTglq9jPXk8oR1fst2S2n7QLPbGwuO1NIduZ3a48vAfripREUW23dl0IKEVGOiCIvEsscMbpJZGxsaMuc44A81wke1FXnUNHZ2Frz0tQR7MDDvPj2BRlVqKsu07qHT0Rd\/11TxhrfDP19Oa7bRpiltr+sTONXVk5M0nI9w+vFWYVHORldWVR2o\/fb05kdBZrpqGZtVfJXQUwILKRns5HeOXnv8ABWempoKOBsFPE2KNgwGtGAtFbdaC3DNXVxxHGdknLj5DeoV+r31Uhhs9snq3Z2Q9ww0dh\/3wnen5EU6NB5u8n6ssywSAMk4AVYFPq+4b5aqCgjdxawAkfM\/FZGi21J27ndKuqfx44A9cphS1ZPtpy8EH65E++4UUbtl9ZA09hlaPqq\/raphl0+0xTMeHTtGWOyDuJ5eC6WaLsrWbJilf3mU\/RQWq9O0FpoIqmlMoe6URlrn5BGCfoFKCjiVmUcTKt2MsUVbz\/RJaBZ\/wyqkxgOnx6NH3VguVfHbKCWrla9zYxwaMknl4eKqmg7m1pktjo8FxMrXg8TgAgjwCuFTTQ1kDoKiMSRvGC0rlTKeZPhHi4ZYHn+SrWehGoasXa7TRy5J6ClDgQ1ueY+nqpLUV5gorZLT08jJKqZvRxxMOSMjjgcMA\/JaptEWaX3GTQ\/5JM\/PK6rdpi1W2bpooC+QHLXynaLfDsXXKLdyMKVaMXFJJvV3v+DbYKA22y09M9uJANp4PHJOfy8lJIiqbu7m2EVCKitgiKBuWrKSlkNNRMdXVZOy2OIZGfHn5Iot6EZ1IU1eTsTj3sjYXyODGtGS5xwAq3WasdPOaSxUxrZsb5MHZb5c\/gFqZYLte5RPfasxRZyKWI7h3dg+JVjo6Glt8AgpIWxRjk3n4niVPux6lN6tXTur3\/RA0mlZKuoFbfqk1c3KEH2G935DA8VZGMZGwMjaGNaMBrRgBekUZSctS2nShT8KCIiiWhERAV\/WVYYLQKSMgzVjxG1vPHP6DzUtbaJtutsFI3GImAEjmeZ9cqAqWi46\/ghdvZQxbZGOfEH1c30VpVksopGWl36s58sl6a+4Ra56iGlhdNPI2ONoyXOOAFS71rZ8+aa1kwsIw6oePaP8AlHLx4+C5GDloTrcRToq8mWK8aio7QOjOZ6p3uwRnfnlns\/W5RAtFyvmKy\/1PVaVp2hTN9nA7+zzyfBRlpFWAZLPa5J6mQZNbVfEgHcPUncVMM0rWXCQS3u6ST7gTFFuaD8vQBW2UNzFjnXzcbrlovV7+mRmXU9otcLaO0QdZeDhscLSG58eflleBS6ovTQ6oqY7ZA4e5GDt48OPxCn6C2Udti6Okp2RDmQN7vE8SutV40tEaVQnJfySy5LJfJA0Oj7VSAOmjNVLzdKcg+XBTjGMjYGRtDGtGA1owAvSKDk3qXwpwpq0VYIiLhYFU9fvxbqVuOMpP+k\/dWskAZJwAqBrO9QXGaOkpfbjp3HblHAuPIfFW0k3JGLjpqNBpvU3aEtsklXJcZA4RxN2I8jc4njjw+qvShtJRmPTNICMEhzvVx+imVyo7yZPhKahRilvn9wiKLueorbactqJtqX\/tR+078vNQSb0NEpxgrydkSijLtqC32duKiXalI3RM3uP281Eda1DqHIpI\/wALoz\/NfnbcO7n6Y8VI2zS9utzhK5hqajOTLNv39oHL5qeFR8Rn7WpU\/qWXN\/hEX0d\/1M7akcbZbyfc3h7x8z8Ap62WWgtMYbSwAPxgyu3vd4n7LvRcc28loThQjF4nm+b\/ANkERFAvCIiAIiIAiIgKzZ8DWd2BHtFgIyc7sj05blZlVroW2jWNHcXENhrGGKQ45jAyf9PoVaVZPZmbh8sUN0375lSl0zdr1UGW8XAMja72Ioxnd4cAfVTFu01araAYqYSyA56SYBzvLkPJSqLjnJ5HYcNTi8Vrvm8zAAAwBgBZRFA0BERAEREAXPW11Nb6d09VM2Ng5nie4Dmoi66phpZTR25nXa4nZDGAlrT344+A+C5qPTFTXztrtQ1BnlHu04Pss7jjd5D1KmoWzkZpV23hpK79kaZaq56tkMFG19HbMkPmcN8g7PyHmtOrbVSWrT1PFSx7LRUDLifacdl28nmrkxjI2BkbQxrRgNaMAKt66fCbK2J0kfS9K17WF2HEbxkDnxU4SvJJaFFeio0ZSk7ytr8Erp9nR2Chb2wNd6jP1Xq5XqgtTM1c4a7GRG3e4+SrtPX3u70kFJaKc0dLHG1hqZNxcAMbuzyz4qTtek6Khk6xVONbUneXyjIB7QD8yuOKTvInCrOUVGkvV6fs4TU3\/UjQKSP8NoXfzXE7bx3fljxUla9LW62ESFnWJ+PSy78HuHAfNTSKLm9FkWx4eKeKfefX8IIiKBoCItNVVQUNM+pqZBHFGMucRnHLkhxtJXZuReIpWTRMljcHMe0Oa4cweBXtDoREQBERAEREBG320svFsfTE4kHtRO7HD9YUfp2\/CZjbZcSYa+L2Nl4x0gG71ViUZdrDRXcB0oMc7cbE8e5wxw8lOLVrMz1KclLtKeu65kmiqrafVdnOzBJHcqZmMB2A7ZA79\/xPzXv9rK2EYq7DVRuG4luSCe7I8e1d7N7ZkfqYrxpr0+Czoqx+2ZO5tmrCeQxx+CftTdJf7PpypPaXbX\/qudnI79VR2fsyzrBIAyTgBVnrer6zdHRU1G0\/xPIJHxPyWBpSuryHXq7yzDceiiOGg+e74LuBLVjt5S8EG\/PI7K\/V1royY4pDVz5wI4RnJ8eHplR4p9Raid\/WnG2UR4xtGHuHZjj64Hcp632a32sHqdMyNx4v4uPmd6xcr1QWpmaucNdjIjbvcfJdTSyiiEoSkr1pWXJZL7i2WahtEQZSwgOxh0rsF7vEpcr1QWpmaucNdjIjbvcfJQJut+1Cdi1U\/UqU7usScSO4\/b1UjbNKUFE4T1ANZVHe6SbeM9w++SjVs5sRqOSw0I5c3p6czgbeL9fnFtppRR0xP9olGT5cvQHxXdQ6Uo4JjVVr319S45L5t4z4c\/NTqKLnssiyPDq96jxPrp9jAAAwBgBZRFA0BERAEREAXiWKOaN0csbZGOGHNcMg+S9ogMNaGtDWgAAYAHJZREAREQBERAEREAREQBERAERcFyvVBamZq5w12MiNu9x8l1JvQjKUYq8nZHeuC5XqgtTM1c4a7GRG3e4+SgTdb9qE7Fqp+pUp3dYk4kdx+3qu626RoaR\/T1ZNbUE5L5d7c+H3yp4VHxGbtp1P6llzen7OE3W\/ahOxaqfqVKd3WJOJHcft6rutukaGkf09WTW1BOS+Xe3Ph98qeAAGAMALK45vRZEo8Or4qjxPr+EYAAGAMALKIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiw5wa0ucQABkk8kBlc1dcKS2wGarnbEzlni7uA5qErtUSVFT1GxQdbnd\/N\/gb+u07vFKHSplm65fKg11RyYSdhv3+XcrMFs5GV13N4aSv12\/foc7r\/AHW+vNPY6Uwwnc6ql5fQfErtt2kqKlk6xWOdXVJOXPm3jPbjn55U6xjI2BkbQxrRgNaMAL0uOe0cjseHTeKo8T9vRGAABgDACyiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqzqOepr7rS2KleWNlAfUPad4bn6AH1Csyim2cjUj7s6YOaYdhsezgtPjz\/NTg0ncorxlOKit3n5HXQW2ktlOIKSERt5nm49pPNdSIoN3LklFWQREQ6EREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "WILIIAM",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "PENDRIVE",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"SAN-I1085\",\"id_control\":\"28633\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:44",
    "ubicacionGPS": "LatLng(lat: -23.6618566, lng: -70.4001531)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:43",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "0",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 16:44:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[12/05/2026 16:44: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('76121841', '9J3N529539', 2, 95585912, 0, NOW(), 
				'16:43', '16:38', '16:44', 10, 'Entregado', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778618658.png', 'Entregado', null, 'COMPLETADO','LatLng(lat: -23.6618566, lng: -70.4001531)' )
				
[12/05/2026 16:44:18] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200282
[12/05/2026 16:44:18] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200282', 'SAN-I1085', 1)
				
[12/05/2026 16:44:18] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28633 and
				    IDproducto = 'SAN-I1085'
				

12/05/2026 16:44:18 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'SAN-I1085';
                
12/05/2026 16:44:18 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200282'                    
				WHERE idllamado = 12521			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


12/05/2026 16:44:19 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12521			
				
12/05/2026 16:44:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 16:44:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:44:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:44:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16:44:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:44:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:44:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:44:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:44:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:44:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:44:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            [12/05/2026 16:44:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:44:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:44:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                [12/05/2026 16:44:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:44:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:44:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            [12/05/2026 16:44:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:44:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16:44:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12521
                
12/05/2026 16: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 = 12521
                
12/05/2026 16: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 = 12521
                
12/05/2026 16: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 = 12521
                
12/05/2026 16: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 = 12521
                [12/05/2026 16:44:22] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:44:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16:44:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12521
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12521
                
12/05/2026 16: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 = 12521
                
12/05/2026 16: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 = 12521
                
12/05/2026 16: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 = 12521
                
12/05/2026 16:44:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:44:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12521
                
12/05/2026 16:44:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:44:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:44:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:44:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                [12/05/2026 16:44:24] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:44:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            [12/05/2026 16:44:24] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:44:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                [12/05/2026 16:44:24] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:44:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            [12/05/2026 16:44:24] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:44:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:44:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:44:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                [12/05/2026 16:44:33] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:44:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:44:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:44:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:44:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:44:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                [12/05/2026 16:44:33] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:44:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:44:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:44:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:44:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:44:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                [12/05/2026 16:44:34] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:44:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                [12/05/2026 16:44:34] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:44:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16: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 = 12527
                
12/05/2026 16:44:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12527
                
12/05/2026 16: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 = 12527
                
12/05/2026 16:44:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12527
                
12/05/2026 16:44:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:44:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:44:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:45:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:45:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:45:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:45:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:47 - logentry: =========================================
FECHA: 12/05/2026 16:45:47
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-AoXhlI4dkWofGXjLuI_uctmUdJgmGRN94X8yU69dhe3NbCfkBfG
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "12576383",
    "serieinterna": "TO3090",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12527",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACqANUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA\/EAABAwMCAgYIBAQEBwAAAAABAAIDBAURBiESMRNBUWFxgRQiMpGhscHRFSND8CQzQuEHUmKiJXKCkrLi8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAwICBwkAAwEAAAAAAAABAgMRIRIxBFETIjJBcaHRIzNhgZGxweHwQlJi8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAERfHODWlziAAMknqQH1FSVurrTRvMYmdUSDbhhbxb+PJQjq2ueOODTtXJFzD\/WGR5NKmqcn3GeXE0k7avpn7GoRQrVcfxOldP6NLT4eWcEowdgPv8FNUWrYLoyUldBQrcy4sEwuEkD8yExdFnZp6jlTUS51q7TCIi4dCIiAIiIAiIgCIs7dtXU1G809Cz0ypHPh9hniev8Ae6lGLlhFdSrCmryZokWAtM171Jd45n1L2QQPDnFuzG9wHWVv12cdOCFCt0yckrIIiKBeEREAREQBEVJftQC2cNLSs6evmwI4gM4z1n7LqTbsiE6kacdUiVd73R2aAPqHZe72Im+07+3eqSKivGp3dLcZH0NAcFtOzZzx++s+5TLNp18c34hd5PSq5+4DjxNj\/v8AsLQKd1HbczqE62amFy9fQg0Nmt1tH8LSsY483c3HzKnIig23uaYxUVaKsERFwkEREAUavr6e20jqmpfwxt22GST3BSVkpg7VGpOhIzbre48RxtI7bI\/fUO9SjG++xTWqOCSju9jqy76hr4jW0dAyOmYeJsb\/AGpW4yMdvljmrax3iK80ImaOCVh4ZY+trvsrEAAYAwAsqIzZdbtEZ4aa4tJc3qDu7\/q\/8lPEk1Ypeui4ycrp4fqatERVGwLy97I2F8jgxrRkuccALlWVtPQUzqmqkEcbOZPyHavz29agq9Q1LaWnjkbTlwDIGbuee\/t+ishByMvEcTGiub5FjfdTyV5fBQzmnomnEk42dJ3NH77yAuNm09UXaNhfF6JbjuT+pN2HP7HYFZWDR7Yejq7mOOQbsp+bWePatYpymoq0TNS4adZ9JW+n99vqcaSkgoadtPTRNjjbyDR8V2RFQekkkrIIiIdCIiAIi41VTFR0slTO7hjiaXOKHG0ldkK+3qKy0XSEcc8mWwx\/5j9goWnLJLTOkudy9evqDn1tzGOzx+myiWWmlv8AdHX2ta4QRuxRxE7DB5+RHv8ABatWPqrSvmZaadaXSy2W3r6BERVmsIiIAiIgCLxLLHDE6WV4Yxgy5zjgALJXLWFU\/pJLVT8VLTuAkne3Z2+MDxyO9SjFy2KateFJXkW+qbgaGyyNYT01R+VGG88nnjyXewWttptMNPgdKRxSnHNx5+7l5KjjlGpNVxHLTS0MQeWHBHGRuO\/cjP8AyrXKUurFRK6XtKjqdywvyFmNYfkVFprRsYanGfcfotOsxrz1bRTSDm2pbj\/td9lyn2kd4v3MmadQrrdaa0Ubqiod3MYObz2BVt61dRWsuhh\/iakf0tPqt8T9Pkqi02qp1VKbpeJX9APVijZsHb747B8T27LsYY1S2IVOIvLo6WZeS8Ssd+Mawr8hv5TTt1RxD7\/FbSy6eo7LHmMdJORh8zhue4dgVjBBFTQshgjbHGwYa1owAuiSqN4WEKPCxpvXJ3lzCIirNgREQBERAEREAWSuMkmp742107sUNI7iqHh2z+W23mB5qy1Pdn2+hbBSv\/jalwZEAdxnmfp4ld9P2hlmtjIOcz8PlP8Aqxy8ArI9VajJV9rPolst\/QsYYo4IWQxMDI2ANa0cgF7RFWa9giIgCIiALy97I2F8jgxrRkuccALzNNFTwvmmeGRsGXOcdgFkppK3WVV0MAfT2mJ\/ryHnIR9e7q5nqUoxv4FNWrowldvZH2rqJ9X13oNFxR2yF4M03LjPd9B5lS9VU0Fv0k6lpogyJr2NAHjnPer6joqegpm01LGI42cgPme1ZjXdU5zKS2RgF0z+M56uofEn3KyLvJJbGWtDo6M5zd5NfyRO0Zb\/AEOyNnfHwy1J4yest\/p+G\/mtAvMcbIo2xxt4WMAa0dgC+ucGtLnEAAZJPUq5PU7mylBU4KK7j5JIyKN0kj2sY0Zc5xwAO8rAalvrr4Y6elicKJsoAlLd3vx9jyVjWTVGr7n6FSPfHa4D+bKP6z++Q8171LSQUpslupYxGw1GGgeLR9VbBKLV9zBxE5VYS09leefsfL9aKOxaXlZSMPSSOa18rhl7hnJGeobfvK0tup20ltpqdnKOJrfHZc7vbWXa2y0b3cPGMtdjPC4ciqjTt4MbvwS4\/lVdOeCPiO0jRy37fmo5lEvSjSrbWTVl6GkREVRsCIiAIiIAiIgC8ve2ONz3nDWgknsC9LO6wrXto4bZAR09c8MA\/wBOR9SFKK1OxXVqKnByZHscT77fJr9O38mI9HTNztsOeCO\/PiVqlHoKKO3UMNJD7ETeHPaes+ZyVISTuyNGm4Qzu8vxCIiiXBERAFFr7lSWynM9XMI29Q63HsA61Cveoaa0M6MfnVbh+XC3n59n1Vfb9PVNxqBctQP6V5GWUx9mPx+3vU1HF5bGedZ6tFPL8l4+hHZBctW1DZapr6S1MdlsecOk+\/j1dS1dPTxUsDIIIxHGwYa1vIL21oa0NaAABgAdS+rkpXx3EqVJQy3dvdhfn9XMLxr2KP2o4phGAMnZm5+IK3NbUto6GepcQBFG52\/cFgtFRuqdRmd+CY43yEntO31VlNWTkZeMeqdOnzZ+iLMalqai410WnqI8LpgHzSHOzdzj4fILQ1VQykpJql\/sxMLz5DKoNG08ktPUXeoPFPWSE539kH759yjDC1F1dubVJd+\/h+y9oKGC3UcdLTsDWMGPE9ZPes\/fP4jWVnpsk9GOlx2bk5\/2fBahZekzW6\/qpR7FJDwZPbgD6n3d6Q3bHEJaYwXe16\/g1Cqr1Yaa7xcRxDUtH5c7R6w8e0K1RQTad0aJwjNaZLBlaW\/V9jlFFqCN7mZwysY0lpGOvbf5rSU1XT1kYkpp45mEZyxwK9T08NTE6KeNsjHDBa4ZWfq9J9FKamy1b6GYcmcRLDz8xzPb4KfVl8DOlVpbdZef7NIiyjNQ3m0AMvdtfJG04NRCBv37bfJW1Jqaz1gHBWxxuJxwyngPxXHCSJQ4inLF7Pk8Fqi8seyRgexwc08i05BXpQNAREQBZWiP4xreoqTh0NvZ0bNv6tx8+I+QV\/dKv0C11NV1xRkt8er44VXo2j9HsgncS6SqeZCXHfHIfLPmrI4i2ZavXqxhyy\/lt5l+iIqzUERfHODWlziAAMknqQH1Z+9ajfBUfhtqj9Kr37HhGRH4949w61Fr73VXuqNqsJ25TVXINHI4PZ3+5W9lsdNZYC2MmSZ\/8yZw3d9h3KyyjmRkdSVZ6ae3e\/Qi2PTraF3p1c70i4SHidI454Cez7q9RFBtt3Zop04046YhERcJlBrOqMFgfG0+tUPbGB19p+SrdBUwY6vmPMObGN+WMk93Z7l81lVh11oqYEkU7HTvDfeB\/t+Ks9F0xp9PRvPOZ7n9fLl9FftS8TzF7TjL\/wCv9+RrSpNPp2RoODO9sfLzPwBVrbaUUVtpqYfpRtafHG\/xVFrne30bTuDUjI7ditOoPsI1QzXm+SX5Oc8zKanknkOGRML3eAGSs\/o2F0lNV3SRuJK2dzt+sAn6k+5e9ZVb47XHQwN4pq6QRtAO+MjOPPA81c2+kbQ2+ClbyiYG885PWm0PE526\/wAIrzf6JCIirNQREQHwgEYIyCqyr03Z63JloY2uP9UY4Dnt258+tWipbpqm3WwmMP8ASJ+XRRb4PeeQ+alHVfqlVV0lG9S1viQ36LijeX0Fyq6VxOdnZwfLBVTXV9xsRLYtRx1jmHHRObxOPjzx71Y+i6h1E3iqZRbKNw2jb7bh39fvx4K1tumrXbWjo6dssg36WUBzs93Z5K3VbtO5h6Fz91HSud2vI+6euFZcra2atpzFJnAPBwh47QCc\/TsRWqKlu7PRhFxik3czetZnut9PQRfzKycNAzzA7vEtWgghbT08cLPZjYGjbGwGFm7mBWa6ttPjibBGZXdeDufo33rUKcsRSKKXWqzl8vp\/6ERVF71FTWdvRD86rePUhbuc9WexQSbdkXTnGEdUngn11fTW6mdUVUojY0dfM9wHWVmDJdNXyFsXHQ2se04+1L9\/l4rtRaeq7tUi4ahdxOwOjpmnAaO\/7e9ahrQ1oa0AADAA6lO6htuZ9M6\/axHl3vx5Eagt1LbKYU9LEGNHM9bjjGT2lSkRVt3NSSirIIiIdCIo9dUiioJ6p2MRRufv14HJDjaSuz88vlSa+8XCRnrF8raeMA7EA8x5t+K\/RaSmZR0kVNGAGRMDRgdgX51pxjJrxSvnIEdOH1Mz3nl2E9Q3Dffz5K\/qLhV6orfQbW+SChjP51SNuLuH0HX1rTUjey7keRwtRR1VHlyeF5\/kk63iLrIyZoBME7Xb9m4+ZCu\/TqdtAK6SVrIDGJOMnbBGV9rKSKtopaSUZjlYWntHes+zR7pTHDW3KeakgcejhB24erw22+yqWlxs2bpqpCo5QV7pfVHOyxy6gvDr7UscynhJZTRlx5jG\/wA89\/gtWucMMVPCyGFgZGwYa1o2AXRRlK7LaNPo45y3v4hFwq6ymoYTNVTshYOtxxnw7VQTawFRP6NZqGSukI9sgtaO\/HPHjhFFvYVK1OniTz5mmVVcdSWy3NIfUCaUZ\/KhIc7z7PNVTbNqK7EG6XH0WE54oIDvjs2295Ktbdpu12wAxU4kkH6suHO\/t5KVord3KtdafYjZc36FQ5l+1P7WbXQHqPtyD4E\/AeKuLZp63WrD4Yukm65pPWd\/byVoi45t4WEThQjF6pZfN\/2AiIoF4REQGXox0\/8AiFXPO4hpwG9xw37laWWWOGN0ksjY2NGXOccAeay1DJJDqm+zRx9NNHFlkfIuxjb5L6yzXXUMjai9zGnpwcspY9j59nxPgrpRTeWYKVRxTUVdtvw372e6zUtVcpjRaegdM7k+pLcNZ3jPzPuU2yacithNTUv9Krn7vmfvjwz8+ataWjp6GAQUsLIox\/S0fHvXZQcsWiXQoty11Hd+S8AiIoGkIiIAiIgCz+sq6KnsUtP0oE0+A1udyMjJx2YGEvGpDDOLfaovS65+3q7tj8e0\/LrWZ1DZaigooq2vqXz1lRJh55tbtyz++WArqcMps8\/iuI9nKMFfm+5fs86b03Pd8zSyGKi4uF+DgvxvgfdfoVNSwUdO2CmibFEzk1qi2OhFus1NTcIDwzL9sesdyrBRqTcmW8Lw8aUFjL3CKtuOoLZayWVNSOkA\/lsHE74cvNUxuN\/1AMWyn9ApHfrynDnDu\/sPNcUG8lk68IvSsvki8uV6oLUzNXOGuxkRt3cfJUjr3fL0zFmt5p4ScekTEfDO3uypdt0jQ0j+nqya2oJyXy7tz4ffKvgABgDAC7eMdskNNap2npXJb\/X0M3TaPjle2e71k9dMOYLzw+Hb8loYIIaaIRQRMijbyawYAXRFFyb3LadGFPsoIiKJaEREAREQBERAZfBoP8QMkEMroNjvgnH\/AK\/FahZ3WFFK+ihudM7hnoH8Yx1tyM+7APhlXFtuEN0oY6uA+q8btzu09YKsllJmWj1Kkqb8V8\/2SkRFWagiIgCKPV19JQR9JVVEcLerjdgnwHWs+\/VdTcJX09itz6lw\/Wk2aPL7kKSi3sU1K0IYbzy7zRVVXT0UDp6mVsUbebnFZioutz1LK+kszDBR+zJUvGC4deOzwG\/gu8Gl6mvmbVX+tdUPByIGHDG93\/zHiVNrNQ2aywiBsrCYxhsEAzju22HmppJbZZROUpq9R6Y+b9Pud7PY6OywcFO3ikcB0krubvsO5S6uspaKAy1czIo+15593es2K\/Ut8bmhpmW+ncdpZPaI8\/oPNd6XRtL0rp7nUS18zuZeS0fPJ96NZvJnY1Hp00YY5vC9TzNrAVE\/o1moZK6Qj2yC1o78c8eOFzNp1JeBm43BtFC5uDDDz8wPuVpoIIaaIRQRMijbyawYAXRc1pdlEuglP3kr\/BYXqVFu0varaWvZT9LK39SU8R93Ie5W6IoNt7l8IRgrRVgiIuEwiIgCIiAIiIAiIgCIiA+EAjBGQVlqm3XDTtY+ts0XT0bxmWl\/y946\/r5LVIpRlYqqUlU+DWzKCDWdpkJbUOlpZAcOZLGdj1jbPxUp+p7IxvEbhGR3An5BTam30dYP4mlhm3zl7ASojdO2ZpyLdB5typdT4lduIWE0\/qV8+tra1wjpI56uR2zQxmMnz3+C4Gs1VdiW01Iy2xZHrS+18fstLBS09M3hp4I4h2RsDfkudfcKW2UpqKuURxg4HaT2DvRSX+KIypzavUnZfDHmU1Ho+mbOam5VElwnJzmTZvuzv+9l1rtRWmzM9Fp2tklBw2CmaMA9hxsPmoAmvmqB+R\/w63k\/zNw+QfX4DxVzatP2+zjip4uKXGDK\/dx+3kpP\/tldNN+4jZc3\/Z+ZUeg6ivzHGuqRbaZ\/KGMesR37\/M+StrXp23WkB0EPHKP1ZN3eXZ5K0RQc28GiHDwi9Ty+bCIigXhERAEREAREQBERAEREAREQBERAEREAREQBERAcaqpjo6WSpmJEcTS52Bk4WXoKCbU9y\/FrlGW0TNqeAn2h2kdnb2+C1rmhzS1wBBGCD1oAAMAYAUlLSsFFSl0klqeF3BrQ1oa0AADAA6l9RFEvCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/Z",
    "razonSocial": "HEIDI PATRICIA CAVIERES ARAYA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "MARITZA DAZA MILLA",
    "correoContacto": "casillaescrituras@notariacavieres.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE LAS HOJAS SALEN MANCHADAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56985009233",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:45",
    "ubicacionGPS": "LatLng(lat: -23.6618739, lng: -70.4001494)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:44",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 16:45:47
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-AoXhlI4dkWofGXjLuI_uctmUdJgmGRN94X8yU69dhe3NbCfkBfG
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "12576383",
    "serieinterna": "TO3090",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12527",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACqANUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA\/EAABAwMCAgYIBAQEBwAAAAABAAIDBAURBiESMRNBUWFxgRQiMpGhscHRFSND8CQzQuEHUmKiJXKCkrLi8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAwICBwkAAwEAAAAAAAABAgMRIRIxBFETIjJBcaHRIzNhgZGxweHwQlJi8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAERfHODWlziAAMknqQH1FSVurrTRvMYmdUSDbhhbxb+PJQjq2ueOODTtXJFzD\/WGR5NKmqcn3GeXE0k7avpn7GoRQrVcfxOldP6NLT4eWcEowdgPv8FNUWrYLoyUldBQrcy4sEwuEkD8yExdFnZp6jlTUS51q7TCIi4dCIiAIiIAiIgCIs7dtXU1G809Cz0ypHPh9hniev8Ae6lGLlhFdSrCmryZokWAtM171Jd45n1L2QQPDnFuzG9wHWVv12cdOCFCt0yckrIIiKBeEREAREQBEVJftQC2cNLSs6evmwI4gM4z1n7LqTbsiE6kacdUiVd73R2aAPqHZe72Im+07+3eqSKivGp3dLcZH0NAcFtOzZzx++s+5TLNp18c34hd5PSq5+4DjxNj\/v8AsLQKd1HbczqE62amFy9fQg0Nmt1tH8LSsY483c3HzKnIig23uaYxUVaKsERFwkEREAUavr6e20jqmpfwxt22GST3BSVkpg7VGpOhIzbre48RxtI7bI\/fUO9SjG++xTWqOCSju9jqy76hr4jW0dAyOmYeJsb\/AGpW4yMdvljmrax3iK80ImaOCVh4ZY+trvsrEAAYAwAsqIzZdbtEZ4aa4tJc3qDu7\/q\/8lPEk1Ypeui4ycrp4fqatERVGwLy97I2F8jgxrRkuccALlWVtPQUzqmqkEcbOZPyHavz29agq9Q1LaWnjkbTlwDIGbuee\/t+ishByMvEcTGiub5FjfdTyV5fBQzmnomnEk42dJ3NH77yAuNm09UXaNhfF6JbjuT+pN2HP7HYFZWDR7Yejq7mOOQbsp+bWePatYpymoq0TNS4adZ9JW+n99vqcaSkgoadtPTRNjjbyDR8V2RFQekkkrIIiIdCIiAIi41VTFR0slTO7hjiaXOKHG0ldkK+3qKy0XSEcc8mWwx\/5j9goWnLJLTOkudy9evqDn1tzGOzx+myiWWmlv8AdHX2ta4QRuxRxE7DB5+RHv8ABatWPqrSvmZaadaXSy2W3r6BERVmsIiIAiIgCLxLLHDE6WV4Yxgy5zjgALJXLWFU\/pJLVT8VLTuAkne3Z2+MDxyO9SjFy2KateFJXkW+qbgaGyyNYT01R+VGG88nnjyXewWttptMNPgdKRxSnHNx5+7l5KjjlGpNVxHLTS0MQeWHBHGRuO\/cjP8AyrXKUurFRK6XtKjqdywvyFmNYfkVFprRsYanGfcfotOsxrz1bRTSDm2pbj\/td9lyn2kd4v3MmadQrrdaa0Ubqiod3MYObz2BVt61dRWsuhh\/iakf0tPqt8T9Pkqi02qp1VKbpeJX9APVijZsHb747B8T27LsYY1S2IVOIvLo6WZeS8Ssd+Mawr8hv5TTt1RxD7\/FbSy6eo7LHmMdJORh8zhue4dgVjBBFTQshgjbHGwYa1owAuiSqN4WEKPCxpvXJ3lzCIirNgREQBERAEREAWSuMkmp742107sUNI7iqHh2z+W23mB5qy1Pdn2+hbBSv\/jalwZEAdxnmfp4ld9P2hlmtjIOcz8PlP8Aqxy8ArI9VajJV9rPolst\/QsYYo4IWQxMDI2ANa0cgF7RFWa9giIgCIiALy97I2F8jgxrRkuccALzNNFTwvmmeGRsGXOcdgFkppK3WVV0MAfT2mJ\/ryHnIR9e7q5nqUoxv4FNWrowldvZH2rqJ9X13oNFxR2yF4M03LjPd9B5lS9VU0Fv0k6lpogyJr2NAHjnPer6joqegpm01LGI42cgPme1ZjXdU5zKS2RgF0z+M56uofEn3KyLvJJbGWtDo6M5zd5NfyRO0Zb\/AEOyNnfHwy1J4yest\/p+G\/mtAvMcbIo2xxt4WMAa0dgC+ucGtLnEAAZJPUq5PU7mylBU4KK7j5JIyKN0kj2sY0Zc5xwAO8rAalvrr4Y6elicKJsoAlLd3vx9jyVjWTVGr7n6FSPfHa4D+bKP6z++Q8171LSQUpslupYxGw1GGgeLR9VbBKLV9zBxE5VYS09leefsfL9aKOxaXlZSMPSSOa18rhl7hnJGeobfvK0tup20ltpqdnKOJrfHZc7vbWXa2y0b3cPGMtdjPC4ciqjTt4MbvwS4\/lVdOeCPiO0jRy37fmo5lEvSjSrbWTVl6GkREVRsCIiAIiIAiIgC8ve2ONz3nDWgknsC9LO6wrXto4bZAR09c8MA\/wBOR9SFKK1OxXVqKnByZHscT77fJr9O38mI9HTNztsOeCO\/PiVqlHoKKO3UMNJD7ETeHPaes+ZyVISTuyNGm4Qzu8vxCIiiXBERAFFr7lSWynM9XMI29Q63HsA61Cveoaa0M6MfnVbh+XC3n59n1Vfb9PVNxqBctQP6V5GWUx9mPx+3vU1HF5bGedZ6tFPL8l4+hHZBctW1DZapr6S1MdlsecOk+\/j1dS1dPTxUsDIIIxHGwYa1vIL21oa0NaAABgAdS+rkpXx3EqVJQy3dvdhfn9XMLxr2KP2o4phGAMnZm5+IK3NbUto6GepcQBFG52\/cFgtFRuqdRmd+CY43yEntO31VlNWTkZeMeqdOnzZ+iLMalqai410WnqI8LpgHzSHOzdzj4fILQ1VQykpJql\/sxMLz5DKoNG08ktPUXeoPFPWSE539kH759yjDC1F1dubVJd+\/h+y9oKGC3UcdLTsDWMGPE9ZPes\/fP4jWVnpsk9GOlx2bk5\/2fBahZekzW6\/qpR7FJDwZPbgD6n3d6Q3bHEJaYwXe16\/g1Cqr1Yaa7xcRxDUtH5c7R6w8e0K1RQTad0aJwjNaZLBlaW\/V9jlFFqCN7mZwysY0lpGOvbf5rSU1XT1kYkpp45mEZyxwK9T08NTE6KeNsjHDBa4ZWfq9J9FKamy1b6GYcmcRLDz8xzPb4KfVl8DOlVpbdZef7NIiyjNQ3m0AMvdtfJG04NRCBv37bfJW1Jqaz1gHBWxxuJxwyngPxXHCSJQ4inLF7Pk8Fqi8seyRgexwc08i05BXpQNAREQBZWiP4xreoqTh0NvZ0bNv6tx8+I+QV\/dKv0C11NV1xRkt8er44VXo2j9HsgncS6SqeZCXHfHIfLPmrI4i2ZavXqxhyy\/lt5l+iIqzUERfHODWlziAAMknqQH1Z+9ajfBUfhtqj9Kr37HhGRH4949w61Fr73VXuqNqsJ25TVXINHI4PZ3+5W9lsdNZYC2MmSZ\/8yZw3d9h3KyyjmRkdSVZ6ae3e\/Qi2PTraF3p1c70i4SHidI454Cez7q9RFBtt3Zop04046YhERcJlBrOqMFgfG0+tUPbGB19p+SrdBUwY6vmPMObGN+WMk93Z7l81lVh11oqYEkU7HTvDfeB\/t+Ks9F0xp9PRvPOZ7n9fLl9FftS8TzF7TjL\/wCv9+RrSpNPp2RoODO9sfLzPwBVrbaUUVtpqYfpRtafHG\/xVFrne30bTuDUjI7ditOoPsI1QzXm+SX5Oc8zKanknkOGRML3eAGSs\/o2F0lNV3SRuJK2dzt+sAn6k+5e9ZVb47XHQwN4pq6QRtAO+MjOPPA81c2+kbQ2+ClbyiYG885PWm0PE526\/wAIrzf6JCIirNQREQHwgEYIyCqyr03Z63JloY2uP9UY4Dnt258+tWipbpqm3WwmMP8ASJ+XRRb4PeeQ+alHVfqlVV0lG9S1viQ36LijeX0Fyq6VxOdnZwfLBVTXV9xsRLYtRx1jmHHRObxOPjzx71Y+i6h1E3iqZRbKNw2jb7bh39fvx4K1tumrXbWjo6dssg36WUBzs93Z5K3VbtO5h6Fz91HSud2vI+6euFZcra2atpzFJnAPBwh47QCc\/TsRWqKlu7PRhFxik3czetZnut9PQRfzKycNAzzA7vEtWgghbT08cLPZjYGjbGwGFm7mBWa6ttPjibBGZXdeDufo33rUKcsRSKKXWqzl8vp\/6ERVF71FTWdvRD86rePUhbuc9WexQSbdkXTnGEdUngn11fTW6mdUVUojY0dfM9wHWVmDJdNXyFsXHQ2se04+1L9\/l4rtRaeq7tUi4ahdxOwOjpmnAaO\/7e9ahrQ1oa0AADAA6lO6htuZ9M6\/axHl3vx5Eagt1LbKYU9LEGNHM9bjjGT2lSkRVt3NSSirIIiIdCIo9dUiioJ6p2MRRufv14HJDjaSuz88vlSa+8XCRnrF8raeMA7EA8x5t+K\/RaSmZR0kVNGAGRMDRgdgX51pxjJrxSvnIEdOH1Mz3nl2E9Q3Dffz5K\/qLhV6orfQbW+SChjP51SNuLuH0HX1rTUjey7keRwtRR1VHlyeF5\/kk63iLrIyZoBME7Xb9m4+ZCu\/TqdtAK6SVrIDGJOMnbBGV9rKSKtopaSUZjlYWntHes+zR7pTHDW3KeakgcejhB24erw22+yqWlxs2bpqpCo5QV7pfVHOyxy6gvDr7UscynhJZTRlx5jG\/wA89\/gtWucMMVPCyGFgZGwYa1o2AXRRlK7LaNPo45y3v4hFwq6ymoYTNVTshYOtxxnw7VQTawFRP6NZqGSukI9sgtaO\/HPHjhFFvYVK1OniTz5mmVVcdSWy3NIfUCaUZ\/KhIc7z7PNVTbNqK7EG6XH0WE54oIDvjs2295Ktbdpu12wAxU4kkH6suHO\/t5KVord3KtdafYjZc36FQ5l+1P7WbXQHqPtyD4E\/AeKuLZp63WrD4Yukm65pPWd\/byVoi45t4WEThQjF6pZfN\/2AiIoF4REQGXox0\/8AiFXPO4hpwG9xw37laWWWOGN0ksjY2NGXOccAeay1DJJDqm+zRx9NNHFlkfIuxjb5L6yzXXUMjai9zGnpwcspY9j59nxPgrpRTeWYKVRxTUVdtvw372e6zUtVcpjRaegdM7k+pLcNZ3jPzPuU2yacithNTUv9Krn7vmfvjwz8+ataWjp6GAQUsLIox\/S0fHvXZQcsWiXQoty11Hd+S8AiIoGkIiIAiIgCz+sq6KnsUtP0oE0+A1udyMjJx2YGEvGpDDOLfaovS65+3q7tj8e0\/LrWZ1DZaigooq2vqXz1lRJh55tbtyz++WArqcMps8\/iuI9nKMFfm+5fs86b03Pd8zSyGKi4uF+DgvxvgfdfoVNSwUdO2CmibFEzk1qi2OhFus1NTcIDwzL9sesdyrBRqTcmW8Lw8aUFjL3CKtuOoLZayWVNSOkA\/lsHE74cvNUxuN\/1AMWyn9ApHfrynDnDu\/sPNcUG8lk68IvSsvki8uV6oLUzNXOGuxkRt3cfJUjr3fL0zFmt5p4ScekTEfDO3uypdt0jQ0j+nqya2oJyXy7tz4ffKvgABgDAC7eMdskNNap2npXJb\/X0M3TaPjle2e71k9dMOYLzw+Hb8loYIIaaIRQRMijbyawYAXRFFyb3LadGFPsoIiKJaEREAREQBERAZfBoP8QMkEMroNjvgnH\/AK\/FahZ3WFFK+ihudM7hnoH8Yx1tyM+7APhlXFtuEN0oY6uA+q8btzu09YKsllJmWj1Kkqb8V8\/2SkRFWagiIgCKPV19JQR9JVVEcLerjdgnwHWs+\/VdTcJX09itz6lw\/Wk2aPL7kKSi3sU1K0IYbzy7zRVVXT0UDp6mVsUbebnFZioutz1LK+kszDBR+zJUvGC4deOzwG\/gu8Gl6mvmbVX+tdUPByIGHDG93\/zHiVNrNQ2aywiBsrCYxhsEAzju22HmppJbZZROUpq9R6Y+b9Pud7PY6OywcFO3ikcB0krubvsO5S6uspaKAy1czIo+15593es2K\/Ut8bmhpmW+ncdpZPaI8\/oPNd6XRtL0rp7nUS18zuZeS0fPJ96NZvJnY1Hp00YY5vC9TzNrAVE\/o1moZK6Qj2yC1o78c8eOFzNp1JeBm43BtFC5uDDDz8wPuVpoIIaaIRQRMijbyawYAXRc1pdlEuglP3kr\/BYXqVFu0varaWvZT9LK39SU8R93Ie5W6IoNt7l8IRgrRVgiIuEwiIgCIiAIiIAiIgCIiA+EAjBGQVlqm3XDTtY+ts0XT0bxmWl\/y946\/r5LVIpRlYqqUlU+DWzKCDWdpkJbUOlpZAcOZLGdj1jbPxUp+p7IxvEbhGR3An5BTam30dYP4mlhm3zl7ASojdO2ZpyLdB5typdT4lduIWE0\/qV8+tra1wjpI56uR2zQxmMnz3+C4Gs1VdiW01Iy2xZHrS+18fstLBS09M3hp4I4h2RsDfkudfcKW2UpqKuURxg4HaT2DvRSX+KIypzavUnZfDHmU1Ho+mbOam5VElwnJzmTZvuzv+9l1rtRWmzM9Fp2tklBw2CmaMA9hxsPmoAmvmqB+R\/w63k\/zNw+QfX4DxVzatP2+zjip4uKXGDK\/dx+3kpP\/tldNN+4jZc3\/Z+ZUeg6ivzHGuqRbaZ\/KGMesR37\/M+StrXp23WkB0EPHKP1ZN3eXZ5K0RQc28GiHDwi9Ty+bCIigXhERAEREAREQBERAEREAREQBERAEREAREQBERAcaqpjo6WSpmJEcTS52Bk4WXoKCbU9y\/FrlGW0TNqeAn2h2kdnb2+C1rmhzS1wBBGCD1oAAMAYAUlLSsFFSl0klqeF3BrQ1oa0AADAA6l9RFEvCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/Z",
    "razonSocial": "HEIDI PATRICIA CAVIERES ARAYA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "MARITZA DAZA MILLA",
    "correoContacto": "casillaescrituras@notariacavieres.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE LAS HOJAS SALEN MANCHADAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56985009233",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:45",
    "ubicacionGPS": "LatLng(lat: -23.6618739, lng: -70.4001494)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:44",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 16:45:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:12576383

[12/05/2026 16:45:47] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('12576383', 'TO3090', 1, 95585912, 0, NOW(), 
				'16:44', '16:38', '16:45', 4, 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778618747.png', 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', null, 'COMPLETADO','LatLng(lat: -23.6618739, lng: -70.4001494)' )
				
[12/05/2026 16:45:47] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200283

12/05/2026 16:45:47 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200283'                    
				WHERE idllamado = 12527			
				TO ENVIO: micorreo@miempresa.cl, casillaescrituras@notariacavieres.cl


12/05/2026 16:45:48 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12527			
				
12/05/2026 16:45:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 16: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 = 12527
                
12/05/2026 16: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 = 12527
                
12/05/2026 16: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 = 12527
                
12/05/2026 16:45:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12527
                
12/05/2026 16: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 = 12527
                
12/05/2026 16: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 = 12527
                
12/05/2026 16:45:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            [12/05/2026 16:45:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:45:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:45:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:45:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:45:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:45:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:45:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            [12/05/2026 16:45:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:45:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:45:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            [12/05/2026 16:45:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:45:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12527
            GROUP BY l.idllamado;
            
12/05/2026 16:45:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                
12/05/2026 16:45:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12527
                [12/05/2026 16:45:52] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:45:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:45:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                [12/05/2026 16:45:52] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:45:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            [12/05/2026 16:45:52] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:45:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:45:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:45:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                [12/05/2026 16:45:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            [12/05/2026 16:45:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:45:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:45:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:45:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:45:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                [12/05/2026 16:45:55] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:45:55] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:45:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:45:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:45:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            [12/05/2026 16:45:55] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:45:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:45:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:45:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                [12/05/2026 16:45:55] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:45:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:45:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                [12/05/2026 16:45:55] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:45:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:45:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:45:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:45:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:45:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:46:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:46:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:46:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:46:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:46:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:46:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:46:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:46:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:33 - logentry: =========================================
FECHA: 12/05/2026 16:46:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-EovByZKV8vBNICHT9SjXRFTeYR8M5CwW2uyva9SbdUqeWldu5Ud
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2312",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12378",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACDAMgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCBwH\/xAA\/EAABAwMBBAcGAwYFBQAAAAABAAIDBAURBhIhMUETUWFxgZGxFCIjMqHBQtHwBxUWM1LhJENEcsJTVWKS4v\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgMHAQgCAwAAAAAAAAABAgMREiExBBMyQVFhcaEigZGxwdHh8AUzFCNS\/9oADAMBAAIRAxEAPwD7MiIgAiIgAqi8ajorPiN5M1QeEMZ3+PUoF21DNUVRtNjb01S7c+Zu9sY54PZ18lNsunYLWOnnd7TWO3umfv2exufXiqKKSvIyyqyqPDS975fkgCq1Vdt9NTRW2Bw3Ol3u9M\/QK5tFLXUlI5lwqxVTOeXB4HAYG7zz5qeiVyvlYpCjheJybf7yCIiUsEREAEREAEREAEREAEREAEXOaaKnhfNM8MjYMuc47gFka\/VVZdaoW+wxnL\/84jDj14zwHaU0YOWhGrXhSWevTmbJF4iEgiaJnNdJj3i0YBPYF7SlgiIgAiIgAsxfrrU11eLDaXfFfunlHBg5jI4dvkp2pLu63UraemBfWVZ6OFrTvBO7a+u7tXvT1lbaKH4mHVUvvTyZzk9XgqRtFYmZardSW6j739Ped7RZ6Wz0gggblx+eQj3nn9clPREjbbuzRGKisMdAiIuDBERABEUO5XSltVKaiqk2R+Fo+Z56gF1K+hyUlFXZxvl5is1CZnDblcMRs\/qO76b1nrVQ12p6N1ZV3SeMbZaGMbgDG\/dvxz5KgvV0nvlVJVSt2I4mARtaNzQTuBJ57z5dS+g2GkFDY6SAYyIw52Os7z6qzW7j3PMhP\/KrNPhSKT2m86YqGmvmdX255wZeLmHrJPDuJwtNS1MNZTR1MD9uKQZaV7mijnhfDKwPjeC1zTwIWXtLnaf1FLZnkmkqffp3H8J6vHh4BJxruaVehJK94v0f2NWiLxLNHBE6WZ7Y42DLnOOAApmvQ9qtu99obNFmok2pSPdiZvcfyHas9edZvkLobThjASHVLxx\/2j9dyqbTp+tv05ne+RkDiOkqJiS5\/d1\/28FaNKyvI86rtjbwUVdnqWquusbi2nYOjhbv2G\/JGOs9ZW3tFmpLNTCKnbl5A6SUj3nn9cl1t1spLVTCCkiDG\/iPFzj1k81LSznfJaFtn2bA8c3eT5hERTNYREQAXKpqIqSllqZnbMcTS5x7Auqy2o5pbrdafT9NJhriH1RHIbiPIb\/EJoxuyVapu4XWvLyNPQS3i6T3+sj+GcspGuA3AE7\/AA4Z7StSuVNTx0tNHTwt2Y42hrR2BdUSldhRp7uNnrz8hERKVCIiACIs\/e9RmlnFttkftFfIdkAbxGe3rPZy5rsYuTsidSpGnHFIkXzUVNZ29E0dNVvHuQt+\/V91AtmnqmuqW3O\/v6abjHTn5Wb+Y+3mpVj062hd7dXO9ouEh2nSOOdgnq\/NXqdyUcokI05VXjq6cl9+58vbi6X80+B\/ia3LuYDQTw8CfIL6gvnuh6f2m\/SVLgPgxucO87vQlfQk1Z52I\/x8fYc3zYVBq63GptgrYd09EelaR\/SOPpnwV+vEzomQvdM5jYwDtl5AaBzzlTi7O5tqwU4OLIVFdY6mxx3LII6LaeM8HDiPPKwlyulZfZmNldtl5+BSwHI47tr9Z7l2t1RXGqqbFZ6ljoJpSWyu5N54z2Y8lfR6GoGU0YE8zaluCZmuxk893V9VdKNN5nmSdXaoJR0Wvdni0aPaHNqbtsyPHy07f5bPLj6d61LWhrQ1oAAGAByWY\/c2paA5orwKlg4MqM5I8c+qfvzUdCD7fZOma3i+A8uvdn9dSSScudzTSnCirODXfX1RqEWcg1vbHu2KmOeleDgh7MgeW\/6K3pLtb67Hs1ZDIT+EPG15cVNwktUaYV6c+GSJiIiUqEREAR6+tjt1DNVzfJE3ax1nkPE4CpdI0chgmu1Uc1Fc4uz1Nz3rjq976ypt9njODUS7T9+MDgPUnwWliiZDEyKNoaxjQ1rRyA4BU0j5Mq\/2V30j83+D2iIpmoIiIAL8c4NaXOIAAySeSg3W80Vnh26qT3yMsjbvc7uH3VA2C8ardt1DnUFsJ3Rt+aQffvO7sTqN83oQqV1F4Yq8un36HW436rulUbZp733Y+JU\/haOw8u\/yVpZLDTWWA7HxKh4+JMRvd2DqCl0FupbZTCnpIhGzietx6yealIcsrLQ5TovFjqO8vReAuc\/8iT\/afRdFGuUvQWyql3\/Dhe7d2NJSrUvJ2TZmv2f04bRVdTje+QMz3DP\/ACWskkZEwvke1jRxLjgBZvSDJXaUkbTPEcz3SbDzvAdjAPokekH1UnS3m5T1bs52GnDR1\/oYVZ2cm2zDQc4UYKEb5e47Ver6NjzBb4Za+fgBE07Oe\/n4BRGWO7X6Rs98qDBADltLHjh2\/wB8nuWhobbRW2Po6OnZCDxI3k95O8qUlxJcJXcyqf2u\/ZafkyWoKOnsNXa7nRwNhjgk6OUMHFp\/ttcetawEEZByCqvU1IKzT9WwjLmM6Ru7JBbv9MjxXrTlUaywUkzjl2xsuPa04+yHnFMKaUK0orRq\/wBH9CzREUzUcZ6Wmqm7NRTxTDqkYHeqqKrR1mqR7sDoD1xPI+hyOSvUTKTWjJzpQnxK5l\/4WuNGdq23ydn\/AIS5I9cdXJDPrChOZKemrmDcSzAP29FqFRXrUkdC72OiZ7VXvOy2Nm\/YPb+XonUpSdrXM1SlTpRxKTj4f0PNt1THWVzKCropqOpeNwkG4nfu34PLqRflmsE7Kw3W7y9NXO+UA+7GPz+iJZ4b5FqDqOF6n6u5HhHtf7Qp3OOfZKf3eY3geXzuWoWYsxH8Z3cH5tkYO\/hkf2WnRPVeBdm4ZPq38wiKquuordaWubNMHzAboWb3ePV4pUm8kXnOMFeTsize9kbC+RwY1oyXOOAFmavU1TcKk0OnoOmk4OqHD3Wdoz6nyK4soLvql7ZrkTRUAILadvF\/b\/c+AWmoqGmt9O2ClhbGwchxPaTzT2jHXNmbFUrcPsx68346FTa9Lw00wrLjKa6sznbfktaewHie3u3BXyIkcm9S9OnGmrRQREXCgVRqmYQ6brHH8TA0b+sgfdW6zuuHluniB+OZoP1P2TwV5IhtDtRk+zOmjGhum4SOLnvJ\/wDYq+VPpRmxpmjG\/wCVx39riVcLk+JndnVqMfCCIiUseXNa9hY4Za4YI6ws1otzoIrhbXb3UtQcnvyP+P1WnVbZ7NHaGT4mfNJPIXvkcACT4J01haITg3VjJcrlkiKJX3OjtsXSVdQyIcgTvd3DiUiVyzkoq7JajVtwpLdAZqudkTeWTvd2Ac1QG9Xi+ksslMKen3g1U\/2\/R8F1odH07ZvabpO+vqCcnbJ2fzP63KmFLiZm30p\/1K\/d6fkjSXq66iLqaywOpoM4fVSHBA7Orwye5W9m0\/R2Zm1GOlqHDD53Dee7qCs2MZGwMjaGNaMBrRgBelxyysskNCjZ45u7+XgIiJDQZgk0P7QMkAMrYMDHM4\/+Pqpt01TbrYTGH+0T8Oii34PaeA9VE1pbZKm3x1sGelpTkgc2nj9vqpWnbRaoKGCspIdp8jAekkO04HmOzByNyt7LSkzAt7GpKnDLnfz28kBx1Nfme61tqpXdZO2R6+isbVpe3WtzZdg1FQDnpZd+D1gcvVXKJHN6LIvHZ4p4pZvuEREhoCIiACIiACyuv5ALRTx83Th3k0\/mtUsf+0F2Kehb1vefoPzVKXGjJtjtQkXunWlunqEH\/pA+as1Bsrdix0LcY\/w8eR27IU5JLVl6StCK7BEXCrrKahhM1VOyFg5uOM93WuDtpK7O64VdZTUMJmqp2QsHNxxnu61nqrV7qmX2WxUj6yY\/5jmkNHbjj54Xqm0vNXTNrL\/VOqZcDZhacNZ2bvt9VTBbORme0Y8qSv35fvg8SaiuN4lfT6fpfcacOqpRuHcDuHjnuXei0jCZvarvUPr6k8dsnYH5+nYr+KGOCJsULGxxsGGtaMABe1zHbKOR1bPieKq8T9PgfjWhrQ1oAAGAByX6iJDSEREAEREAeXsbJG6N7Q5rgQ4HmFlbNI\/T19kslQ4up6g7dM88ieXjw7x2rWKo1JaDdrdiL3amA7cLueeYz2+oCeDWj0ZnrweU4ar16ot0VRpu7m7W7Mvu1MB2Jm888jjt9QVbpWmnZlYTU4qUdGERFwcIiIAIiIALH\/tBB9noTjdtv9AtZPPDTRGWeVkUbeLnnACyV1v1JeKplHQ2t1yfHlzJCS0NPDOMcOHEhUpJ4rmPbHF0nBvNmrpY\/Z6OGJ2B0cbWnfwwFWXDVNrt7ujMxnl\/oh97zPBVzbHfLy1xvNeYInf6eHH1xu9VcW7T9stZD6amHSAfzHnad9eHgi0Vq7nVKtNWgsK76\/Ap\/wB46mvOz7DRtt8BO+WXBOPEeg8V3ptG0pldUXSokr5ncS4lo+hyfNaNFzG+WQy2aLd6jxPvp8NDlBTQUsYjp4WRMH4WNAC6oiQ0JWyQREQdCIiACIiACIiACIiAMzerdWWy4fvy0M2nYPtMI\/GOJKtbTe6K8w7dNJ8RoBfE7c5n594ViqG66VpqyUVVFIaGqbva+IYBO\/iBjf2qiakrSMrhOnJyp5p6r7F8iy3t+pbLIG1tKLlTAfzYR72Os4+48VIpta2ibdM6WmdzEjCd\/hlc3cuWZ1bTTvaXsvvkaFFV\/wASWb\/uMPmVU3nW1PTDoraG1Ep4yHOw380KEm7WGntNKCu5I0tRUwUkJmqZmRRji55wFm6jVFZcZnUun6N0xG41D24aO3B4ePks\/HcKWtlbVXmaruEu8spom7LB3nI+g81exVGoq2NsFstsdqphu23gAgdxHV2Km7UdTG9pdXKOS7Zv7IgXO3xUEQqb\/WvuFa8fCpWvIG\/6gd2FeaUtBt9E+qmibHPVYeWgfI3iG9nHh+S6WrTFNQVHttRK+srCcmWTkesBXaWc7qyK0NntLHJW9X5b6hERSNwREQAREQAREQAREQAREQAREQAREQAREQAUeooaOqOailhlOMZewEoiDjSeTIh03Zjxt8R8CvTbBaGvLxb4C4nJyzPqiJsT6ibqn\/yvgTIaaCnBEEEcQPHYYG+i6oiUdK2gREQdCIiACIiACIiACIiACIiACIiACIiAP\/\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "ROBERTO HERRERA CARREÑO",
    "correoContacto": "roberto.herrera@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:46",
    "ubicacionGPS": "LatLng(lat: -23.66187, lng: -70.4001312)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:45",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 16:46:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-EovByZKV8vBNICHT9SjXRFTeYR8M5CwW2uyva9SbdUqeWldu5Ud
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2312",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12378",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACDAMgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCBwH\/xAA\/EAABAwMBBAcGAwYFBQAAAAABAAIDBAURBhIhMUETUWFxgZGxFCIjMqHBQtHwBxUWM1LhJENEcsJTVWKS4v\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgMHAQgCAwAAAAAAAAABAgMREiExBBMyQVFhcaEigZGxwdHh8AUzFCNS\/9oADAMBAAIRAxEAPwD7MiIgAiIgAqi8ajorPiN5M1QeEMZ3+PUoF21DNUVRtNjb01S7c+Zu9sY54PZ18lNsunYLWOnnd7TWO3umfv2exufXiqKKSvIyyqyqPDS975fkgCq1Vdt9NTRW2Bw3Ol3u9M\/QK5tFLXUlI5lwqxVTOeXB4HAYG7zz5qeiVyvlYpCjheJybf7yCIiUsEREAEREAEREAEREAEREAEXOaaKnhfNM8MjYMuc47gFka\/VVZdaoW+wxnL\/84jDj14zwHaU0YOWhGrXhSWevTmbJF4iEgiaJnNdJj3i0YBPYF7SlgiIgAiIgAsxfrrU11eLDaXfFfunlHBg5jI4dvkp2pLu63UraemBfWVZ6OFrTvBO7a+u7tXvT1lbaKH4mHVUvvTyZzk9XgqRtFYmZardSW6j739Ped7RZ6Wz0gggblx+eQj3nn9clPREjbbuzRGKisMdAiIuDBERABEUO5XSltVKaiqk2R+Fo+Z56gF1K+hyUlFXZxvl5is1CZnDblcMRs\/qO76b1nrVQ12p6N1ZV3SeMbZaGMbgDG\/dvxz5KgvV0nvlVJVSt2I4mARtaNzQTuBJ57z5dS+g2GkFDY6SAYyIw52Os7z6qzW7j3PMhP\/KrNPhSKT2m86YqGmvmdX255wZeLmHrJPDuJwtNS1MNZTR1MD9uKQZaV7mijnhfDKwPjeC1zTwIWXtLnaf1FLZnkmkqffp3H8J6vHh4BJxruaVehJK94v0f2NWiLxLNHBE6WZ7Y42DLnOOAApmvQ9qtu99obNFmok2pSPdiZvcfyHas9edZvkLobThjASHVLxx\/2j9dyqbTp+tv05ne+RkDiOkqJiS5\/d1\/28FaNKyvI86rtjbwUVdnqWquusbi2nYOjhbv2G\/JGOs9ZW3tFmpLNTCKnbl5A6SUj3nn9cl1t1spLVTCCkiDG\/iPFzj1k81LSznfJaFtn2bA8c3eT5hERTNYREQAXKpqIqSllqZnbMcTS5x7Auqy2o5pbrdafT9NJhriH1RHIbiPIb\/EJoxuyVapu4XWvLyNPQS3i6T3+sj+GcspGuA3AE7\/AA4Z7StSuVNTx0tNHTwt2Y42hrR2BdUSldhRp7uNnrz8hERKVCIiACIs\/e9RmlnFttkftFfIdkAbxGe3rPZy5rsYuTsidSpGnHFIkXzUVNZ29E0dNVvHuQt+\/V91AtmnqmuqW3O\/v6abjHTn5Wb+Y+3mpVj062hd7dXO9ouEh2nSOOdgnq\/NXqdyUcokI05VXjq6cl9+58vbi6X80+B\/ia3LuYDQTw8CfIL6gvnuh6f2m\/SVLgPgxucO87vQlfQk1Z52I\/x8fYc3zYVBq63GptgrYd09EelaR\/SOPpnwV+vEzomQvdM5jYwDtl5AaBzzlTi7O5tqwU4OLIVFdY6mxx3LII6LaeM8HDiPPKwlyulZfZmNldtl5+BSwHI47tr9Z7l2t1RXGqqbFZ6ljoJpSWyu5N54z2Y8lfR6GoGU0YE8zaluCZmuxk893V9VdKNN5nmSdXaoJR0Wvdni0aPaHNqbtsyPHy07f5bPLj6d61LWhrQ1oAAGAByWY\/c2paA5orwKlg4MqM5I8c+qfvzUdCD7fZOma3i+A8uvdn9dSSScudzTSnCirODXfX1RqEWcg1vbHu2KmOeleDgh7MgeW\/6K3pLtb67Hs1ZDIT+EPG15cVNwktUaYV6c+GSJiIiUqEREAR6+tjt1DNVzfJE3ax1nkPE4CpdI0chgmu1Uc1Fc4uz1Nz3rjq976ypt9njODUS7T9+MDgPUnwWliiZDEyKNoaxjQ1rRyA4BU0j5Mq\/2V30j83+D2iIpmoIiIAL8c4NaXOIAAySeSg3W80Vnh26qT3yMsjbvc7uH3VA2C8ardt1DnUFsJ3Rt+aQffvO7sTqN83oQqV1F4Yq8un36HW436rulUbZp733Y+JU\/haOw8u\/yVpZLDTWWA7HxKh4+JMRvd2DqCl0FupbZTCnpIhGzietx6yealIcsrLQ5TovFjqO8vReAuc\/8iT\/afRdFGuUvQWyql3\/Dhe7d2NJSrUvJ2TZmv2f04bRVdTje+QMz3DP\/ACWskkZEwvke1jRxLjgBZvSDJXaUkbTPEcz3SbDzvAdjAPokekH1UnS3m5T1bs52GnDR1\/oYVZ2cm2zDQc4UYKEb5e47Ver6NjzBb4Za+fgBE07Oe\/n4BRGWO7X6Rs98qDBADltLHjh2\/wB8nuWhobbRW2Po6OnZCDxI3k95O8qUlxJcJXcyqf2u\/ZafkyWoKOnsNXa7nRwNhjgk6OUMHFp\/ttcetawEEZByCqvU1IKzT9WwjLmM6Ru7JBbv9MjxXrTlUaywUkzjl2xsuPa04+yHnFMKaUK0orRq\/wBH9CzREUzUcZ6Wmqm7NRTxTDqkYHeqqKrR1mqR7sDoD1xPI+hyOSvUTKTWjJzpQnxK5l\/4WuNGdq23ydn\/AIS5I9cdXJDPrChOZKemrmDcSzAP29FqFRXrUkdC72OiZ7VXvOy2Nm\/YPb+XonUpSdrXM1SlTpRxKTj4f0PNt1THWVzKCropqOpeNwkG4nfu34PLqRflmsE7Kw3W7y9NXO+UA+7GPz+iJZ4b5FqDqOF6n6u5HhHtf7Qp3OOfZKf3eY3geXzuWoWYsxH8Z3cH5tkYO\/hkf2WnRPVeBdm4ZPq38wiKquuordaWubNMHzAboWb3ePV4pUm8kXnOMFeTsize9kbC+RwY1oyXOOAFmavU1TcKk0OnoOmk4OqHD3Wdoz6nyK4soLvql7ZrkTRUAILadvF\/b\/c+AWmoqGmt9O2ClhbGwchxPaTzT2jHXNmbFUrcPsx68346FTa9Lw00wrLjKa6sznbfktaewHie3u3BXyIkcm9S9OnGmrRQREXCgVRqmYQ6brHH8TA0b+sgfdW6zuuHluniB+OZoP1P2TwV5IhtDtRk+zOmjGhum4SOLnvJ\/wDYq+VPpRmxpmjG\/wCVx39riVcLk+JndnVqMfCCIiUseXNa9hY4Za4YI6ws1otzoIrhbXb3UtQcnvyP+P1WnVbZ7NHaGT4mfNJPIXvkcACT4J01haITg3VjJcrlkiKJX3OjtsXSVdQyIcgTvd3DiUiVyzkoq7JajVtwpLdAZqudkTeWTvd2Ac1QG9Xi+ksslMKen3g1U\/2\/R8F1odH07ZvabpO+vqCcnbJ2fzP63KmFLiZm30p\/1K\/d6fkjSXq66iLqaywOpoM4fVSHBA7Orwye5W9m0\/R2Zm1GOlqHDD53Dee7qCs2MZGwMjaGNaMBrRgBelxyysskNCjZ45u7+XgIiJDQZgk0P7QMkAMrYMDHM4\/+Pqpt01TbrYTGH+0T8Oii34PaeA9VE1pbZKm3x1sGelpTkgc2nj9vqpWnbRaoKGCspIdp8jAekkO04HmOzByNyt7LSkzAt7GpKnDLnfz28kBx1Nfme61tqpXdZO2R6+isbVpe3WtzZdg1FQDnpZd+D1gcvVXKJHN6LIvHZ4p4pZvuEREhoCIiACIiACyuv5ALRTx83Th3k0\/mtUsf+0F2Kehb1vefoPzVKXGjJtjtQkXunWlunqEH\/pA+as1Bsrdix0LcY\/w8eR27IU5JLVl6StCK7BEXCrrKahhM1VOyFg5uOM93WuDtpK7O64VdZTUMJmqp2QsHNxxnu61nqrV7qmX2WxUj6yY\/5jmkNHbjj54Xqm0vNXTNrL\/VOqZcDZhacNZ2bvt9VTBbORme0Y8qSv35fvg8SaiuN4lfT6fpfcacOqpRuHcDuHjnuXei0jCZvarvUPr6k8dsnYH5+nYr+KGOCJsULGxxsGGtaMABe1zHbKOR1bPieKq8T9PgfjWhrQ1oAAGAByX6iJDSEREAEREAeXsbJG6N7Q5rgQ4HmFlbNI\/T19kslQ4up6g7dM88ieXjw7x2rWKo1JaDdrdiL3amA7cLueeYz2+oCeDWj0ZnrweU4ar16ot0VRpu7m7W7Mvu1MB2Jm888jjt9QVbpWmnZlYTU4qUdGERFwcIiIAIiIALH\/tBB9noTjdtv9AtZPPDTRGWeVkUbeLnnACyV1v1JeKplHQ2t1yfHlzJCS0NPDOMcOHEhUpJ4rmPbHF0nBvNmrpY\/Z6OGJ2B0cbWnfwwFWXDVNrt7ujMxnl\/oh97zPBVzbHfLy1xvNeYInf6eHH1xu9VcW7T9stZD6amHSAfzHnad9eHgi0Vq7nVKtNWgsK76\/Ap\/wB46mvOz7DRtt8BO+WXBOPEeg8V3ptG0pldUXSokr5ncS4lo+hyfNaNFzG+WQy2aLd6jxPvp8NDlBTQUsYjp4WRMH4WNAC6oiQ0JWyQREQdCIiACIiACIiACIiAMzerdWWy4fvy0M2nYPtMI\/GOJKtbTe6K8w7dNJ8RoBfE7c5n594ViqG66VpqyUVVFIaGqbva+IYBO\/iBjf2qiakrSMrhOnJyp5p6r7F8iy3t+pbLIG1tKLlTAfzYR72Os4+48VIpta2ibdM6WmdzEjCd\/hlc3cuWZ1bTTvaXsvvkaFFV\/wASWb\/uMPmVU3nW1PTDoraG1Ep4yHOw380KEm7WGntNKCu5I0tRUwUkJmqZmRRji55wFm6jVFZcZnUun6N0xG41D24aO3B4ePks\/HcKWtlbVXmaruEu8spom7LB3nI+g81exVGoq2NsFstsdqphu23gAgdxHV2Km7UdTG9pdXKOS7Zv7IgXO3xUEQqb\/WvuFa8fCpWvIG\/6gd2FeaUtBt9E+qmibHPVYeWgfI3iG9nHh+S6WrTFNQVHttRK+srCcmWTkesBXaWc7qyK0NntLHJW9X5b6hERSNwREQAREQAREQAREQAREQAREQAREQAREQAUeooaOqOailhlOMZewEoiDjSeTIh03Zjxt8R8CvTbBaGvLxb4C4nJyzPqiJsT6ibqn\/yvgTIaaCnBEEEcQPHYYG+i6oiUdK2gREQdCIiACIiACIiACIiACIiACIiACIiAP\/\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "ROBERTO HERRERA CARREÑO",
    "correoContacto": "roberto.herrera@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:46",
    "ubicacionGPS": "LatLng(lat: -23.66187, lng: -70.4001312)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:45",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 16:46:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[12/05/2026 16:46:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76050301', 'EP2312', 1, 95585912, 0, NOW(), 
				'16:45', '16:38', '16:46', 3, 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778618793.png', 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', null, 'COMPLETADO','LatLng(lat: -23.66187, lng: -70.4001312)' )
				
[12/05/2026 16:46:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200284

12/05/2026 16:46:33 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200284'                    
				WHERE idllamado = 12378			
				TO ENVIO: micorreo@miempresa.cl, roberto.herrera@berliam.cl


12/05/2026 16:46:33 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12378			
				
12/05/2026 16:46:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 16:46:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:46:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:46:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                [12/05/2026 16:46:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                [12/05/2026 16:46:36] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            [12/05/2026 16:46:36] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            [12/05/2026 16:46:36] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:46:36] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                [12/05/2026 16:46:36] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12378
            GROUP BY l.idllamado;
            
12/05/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12378
                
12/05/2026 16: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 = 12377
                [12/05/2026 16:46:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12377
                
12/05/2026 16: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 = 12377
                
12/05/2026 16:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            [12/05/2026 16:46:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12377
                
12/05/2026 16: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 = 12377
                
12/05/2026 16: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 = 12377
                [12/05/2026 16:46:41] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:46:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:46:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            [12/05/2026 16:46:41] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:46:41] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:46:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                [12/05/2026 16:46:41] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:46:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:46:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                [12/05/2026 16:46:47] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:46:47] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:46:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            [12/05/2026 16:46:47] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:46:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:46:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:46:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            [12/05/2026 16:46:47] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:46:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:46:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            [12/05/2026 16:46:48] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:46:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:46:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            [12/05/2026 16:46:48] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:46:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:46:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:46:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16: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 = 12377
                
12/05/2026 16:46:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12377
                
12/05/2026 16:46:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:46:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:46:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:46:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:47:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:47:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:47:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:47:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:47:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:47:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:47:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:47:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:47:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:47:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:47:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:47:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:47:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:47:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:47:14 - logentry: =========================================
FECHA: 12/05/2026 16:47:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-y1aP4gClGeFnQPpxJ-hSoLxIHIOuZrj5kwX._BfzZp2H8npd6Pz
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2827",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12377",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACNAMcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAwUGAwQGCgMAAAABAAIDBAURBiESMWETQVFxgRQikaGxwRUy0SNCwuEHM1NigvAWJDVDRFJykqLSsuLx\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECAwYFAwQDAAAAAAAAAAECAxESITEEEyJBUbFhcYGh0TKRwRTh8PEjM1L\/2gAMAwEAAhEDEQA\/AP2ZERABERABEWdu2pHip\/DbLF7VWu2Lhu2Px9R8B8k0YuWhOpUjTV5FtcLrRWuHtaycRg\/lbzc7yCozqe53HazWeR7f7WbYfp812tmlY2S+23eQ11Y7c8Zy1p+\/rt0WhAAGAMAJrxj4kUq1TNvCvczJodX1R4pLjTUrSPyMG4+X3Uy12u80ta2Wtu3tMIBzHjmcbK7Rcc3oNHZ4p3u36sIiJDQERZ+u1HObi+gtFEayaHPak7NafDPn9MeXVFvQnUqRpq8jQIs\/btUtlqxQ3OmdQ1ROGh2eF3hz5dPFaBDi1qFOpGorxYREXCgREQARFR3bVNLbqplHFG+qqS8NdHHzbn6noupN5ISdSNNXk7F4i+A5GfFfVwcIiIAIiIAIizOobnPWVkdhtj\/2s21RIN+zb3j4Zz\/NNGOJ2J1aipxuzhX3et1BXOtVkdwwNGJ6nux0Ph9fJXtps1JZqfsqZmXke\/I78z\/P9F7tVrp7RRNpqcbc3OPN58Spq7KXJaEqVJp46mcu3ggiIkNIREQAREQBHrqj2SgnqefZRucB4kDYKl0TS9lZPaXAmSqkL3OJySAcD7\/FSNXTdjpuqwd38LB6uGflldNO1FK61U1LDOySSKBheGnkSN\/mqL6DK2ntKT5Lv\/R7vdkp71SdlL7krd45QN2n7jooGmLpUukms9xJ9rpOTicl7fvjbfvBWiWX1VHJba6jv1MzLondnNj95vd9xnqEReJYWcrR3b30fXxX7GoRc4ZmVEEc8ZyyRoc0+IIyF0UzXqF8c4NaXOIAAySe5fHOaxhe9wa1oySTgALC32\/1V+qDa7TG98JOCW85f0anhByZCvXjRjd68kSL\/rIyH2OzuOXHhdOBuejf1+Cm6Y0yaHFwrxxVb92tO\/Z58eq7af0pBag2oqeGar8f3Y\/Lr1WhTSkksMTPRoTnLe1teS6BERSN4REQARFzmmip4XzTPDI2DLnOOwCA0K3UV5FooMx4dVTHhgZjOTtk+mfovGm7KbVSulqDx1lSeOVx5joq2yRSagu777VNIgiPDSxF2eEjv\/z3notWqS4Vh+5kpLey3r05fPr2CIimawiIgAiIgAiLL3u91FdV\/gtl9+d200zTswd4B7up9OaaMXJkqtWNON3\/AGV2sb\/HWD8MpMSMY8GWQbgu7mhSNMUUdFqq4QwPJighEfvHdxy3J+IPxXC8WeK109otkR45J6nL3nbjd7o+G6sdIft6y71h5y1OOg3J2Pqruyp5HmRUpbSnPXtk3bsadR7hSNr7fPSPxiVhbkjke4+h3UhFm0PXaTVmZ7R9ZJJQTUFS7NRRSmNwJ34e755Hor2eeKmhfNPI2ONgy5zjgBZG8VLdOatbcA1zoaqE9oxpGSeX1DT8VCiFy1tcAZSYKGE7hv5W9B4u69yu4Yni5Hnx2h01ukryWXwybV1ldq+c0VuDoLew\/tZnD8\/+fD4rQ2iyUdmg7OmZl7h78rvzP\/QdFLpKSChpmU1NGI4mDAAXZTlO6stDTSoWeOecv5oEREhoCIiACIiACzGqppbhVU1gpHYfOQ+Z2CQ1o5Zx8fQLSTSsghfNIeFkbS5x8ANys1pSB9dV1l+qN31Dy2LI3DR\/kD0KpDLi6GXaLytSXPXy5\/Bo6anipKWKmhbwxxNDWjoF1RFM0pWVkEREHQiIgAvjnBrS5xAAGST3LjWVlPQUz6iplEcbBuT9B4lZd8ty1hM5lM51HamnDnn80v6+XJNGN8+RGrWUOFZyfI63K81F8qDabE7IP9fU8mtHQ+HXv7lc2ey0lmpuyp25e4DtJTzefsOi70FupbZTCnpIhGzmfFx8Se9Sl2UsrLQWnSeLHUzl28jIa0nEdztR4i0wl0uR3YLT\/Cp2iIOy06x\/9tK5\/P8Aw\/wqj19KfxWmjG3DBnPm4j7KTbv9J57bT0NHTsoYGNA7d+ziDvnfz7grNXppGBVLbXN2b8vQ1lXX0lBH2lVURwt7uN2CfId6z02pK27yOpLBSvOdjVSDDW9f\/wB36LvSaPpWz+03GeSvnO5Mh93Pl3+qv4oo4Y2xxRtjY0Ya1owB6KV4x0zNtq1TXhXv9+RirzpWSmss1dNVSVVc0h8jySRw8iB8c5Ph3Ky01qC0GhhomcNHIwAFjzgPd3kHvz13WjmiZPC+GQZZI0tcOh2WM0\/ZqGrNbablTAz0kuWPBw7hO3Mcxtnf\/mTqWKLxGeVJ0a0XStnln8m1BBGQcgr6suNK11B\/sm8zRMx\/VybjOc923y\/RfcazgOAaSpxtk4GfokwJ6M07+a+qD9MzTosx+J6uYMPs1O5391wxj\/vKfierXDDbNTh3dxO\/+y5gfVB+pj\/y\/szTosx2us6jbsKOmz35Bx8yq28z3q3xcVdfWRyuBLIIB7x8M4Ax3brqp3driy2pRV8L7dzcos5pSK9hkk90le6KRo7NsryXg+OO5EslZ2L0p7yKlax01nVup7E6GPeSpeIgAMkjmfpj1VrbaNlvt0FIwDETADjvPefU5Kob6BWattFC4cTWZmLTyPM\/wLUJpZRSJU+KtOXSy\/LCIimaQiIgAodzulJaaU1FW\/hHJrRu5x8AFCvOo6a1\/sImmprH7MhZvg9fDy5qDbbBV19U2539\/ayc4qb92PzH2+KdRyvLQzTrNvBTzfsvP4OFHQV2qallfdmmGhYcw0wOOLz78de\/uWriijhibFEwMYwYa1owAF7RclK49KkqeererCIiUsfnetCajUohbu4RsYMnvO\/3X6E1rWMDGjDWjAHgFgZQaz+kQDnw1LTt\/cA\/9V+gK1TSKPP2RXnUn49giIonoBZW8MFo1XQ3RoLYqk9lOeQzyyfTB\/wrVKi1jStqNOzPxl0JbI3brg\/IlPB8VjPtMb021qs\/sXqKJaqk1dppahxy6SJpceuN\/mu89RDSwumnkbHG0ZLnHACW2diyknHEdFGrbjR26PtKupjhGMgOO58hzPos9NqStvErqPT9MfB1TKMBo8R4evwXag0fA2X2q6zvr6g7njJ4f1Pr8E+BL6jPv5Tyoq\/jy\/cjyX+63yR1PYqUxQ54TVS7Y69PmVYWrS9NQTCsqpH1lYdzLIcgHxGfqVdMYyNgZG0Ma0YDWjAC9LjnyWR2NDPFUeJ+y8kEREhpMxD+3\/pEqM\/8PTDHqG\/+y06y9l97Wd4eTuAB6ZH6LUKk9V5GbZs4yfVvuERVt3vtDZos1EnFKR7sTN3H9B1SJN5IvKcYLFJ2ROnnipoXzTyNjjYMuc44AWXnvlxv8zqSwxuihBw+reMY8vD6+S+QW25annbWXYvpaNpzFTNyC4fz8efktTBTw0sLYYI2xxtGA1owAnyh4szf5K+nDH3fwVll07SWhvaf19W7d87xvnvx4K3REjbbuzRCEYRwxVkERFwcIi5zSiCCSZ3KNpcfQZQGhiNOt9r1vV1AGQx0r8nuycD6rdrIaCpnGKsrpMkyPDAT03P1C16rVfFYxbFG1G75tsIiKRtCiXSLtrVVx5xxQvAOcYOCo101FbrSC2ebjlH+6j3d6+HqqF0V91TOJg6S20GOHh4yOMeOP3j54CpGL1eSM1WvFXhHN9EcbPqmG22GCjZFJU1gLg2No2GSSN\/XkFOhsFxvcoqtQTlsY3jpYzgN8\/D5nqrm1WOhs8XDTRZkP5pX7vd693kFYrspq\/CTp7NJxSqu6XLl69TnBTw0sLYYI2xxtGA1owAuiIpG1K2SCIiACIiAMxbx2GvbjGeUsAeMf4f5rRzzw00RlnlZFG3m55wAs3c\/9S1xbqojEdTGYifF24+7VNuWmYbtchU1dVM6FoAFODhoPmqySdm+hipucVOMFd3fvmQazU1TcpzQ6ehMryPeqHDAZ1GfqVLtOl4KOX2yuf7ZWuOTI\/cA9AfqVcU1LBRwNgpoWRRt5NaMLslc8rRKRoXeOo7v2XkEREhpCIiACIiAChXiOomtFVFSs45pIyxoyBnO3Mqao9dWRW+ilq5ziOJuT18B6nZdWos7YXfQx0ENTHPZbEwzQyMJqKnhduMknHPbAHzHetyslYnMhNVqa7TMh9qyIg4nIbnuHM8gB0HVepL3db+91PY6cwQZw+rk226eHpk+StNOTMFCpGnG71ei52Whd3S+UFoj4qqb3z+WJm73en3KojPqLUZxTN\/DaJ377tnuH1+GB1VhadK0dvk9pqHGsqicmSXkD0H3OVepLxjpmX3dSr9bsui\/L+CltelrdbCJCz2ifn2su+D0HIfVXSIkbbzZeFOMFaKsERFwcIiIAIiIAIiIAotXUElXafaICRNRu7VpHPA54+vop1muTLra4app95wxIPBw5hTiARgjIKyEjnaQvrpS1xtdad8b9m7+XzHkqR4o4eZkqPdVN5yeT\/DNgi8xyMljbJG4OY8BzXA7EHkV6UzWEREAEREAEVPddT261PML3mef+yi3IPXw+vRZ653y8VEQdPMy0QO3DASZnDyG\/wD8QqRptmaptVOF1qzW112oLa0mrqo4yBngzlx8hzWNudXc9X1HY22mk9iidsXYaCfFx5d\/JcLRpiovVR7TOZoaQ79pIcvl6j9d\/Vb+kpIKGmZTU0YjiYMABPw09M2Z1vdqXFwx92Z636PYXNmvE5q5GABkbXERtA5Du+Gw6LSsYyNgZG0Ma0YDWjAC9IpSk5amynShTVooIiJSoREQAREQAREQAREQAREQAXCso4K+lkpqhgfHIMEfcdV3RBxpNWZjwLno+R3Cx9fa3Eu2GDF+n0PRaKgvNvuTA6lqmOPewnDgfIqaQCMEZBVLcNJWmvLn9iYJHbl0Jxk+XJUxRl9RmVOpS\/15ro\/wy7RZWXTFfSRl9PqGrYxv7hyf4vsvENjutU8xv1HVBuMnAO\/\/AJIwx6hvqidnT90auSRkTC+R7WNHMuOAFjdU6q3FDbKgcJH7WeI59GlT49EUTnB9ZV1NS8cyXYB39T81aUNhtlteZKakY15x77veI27ieS6nCLvqJUW0VY4corzuzIWa1Xaoi4qGlZRtduaycZkd\/wBPh6D1Wht2kaCkk7eqc6uqCcl8w2z5frlX6LkqkmNS2SnC18\/50CIimawiIgAiIgAiIgAiIgAiIgAiIgAiIgD\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "ROBERTO HERRERA CARREÑO",
    "correoContacto": "roberto.herrera@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:47",
    "ubicacionGPS": "LatLng(lat: -23.6618676, lng: -70.4001767)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:46",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 16:47:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-y1aP4gClGeFnQPpxJ-hSoLxIHIOuZrj5kwX._BfzZp2H8npd6Pz
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2827",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12377",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACNAMcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAwUGAwQGCgMAAAABAAIDBAURBiESMWETQVFxgRQikaGxwRUy0SNCwuEHM1NigvAWJDVDRFJykqLSsuLx\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECAwYFAwQDAAAAAAAAAAECAxESITEEEyJBUbFhcYGh0TKRwRTh8PEjM1L\/2gAMAwEAAhEDEQA\/AP2ZERABERABEWdu2pHip\/DbLF7VWu2Lhu2Px9R8B8k0YuWhOpUjTV5FtcLrRWuHtaycRg\/lbzc7yCozqe53HazWeR7f7WbYfp812tmlY2S+23eQ11Y7c8Zy1p+\/rt0WhAAGAMAJrxj4kUq1TNvCvczJodX1R4pLjTUrSPyMG4+X3Uy12u80ta2Wtu3tMIBzHjmcbK7Rcc3oNHZ4p3u36sIiJDQERZ+u1HObi+gtFEayaHPak7NafDPn9MeXVFvQnUqRpq8jQIs\/btUtlqxQ3OmdQ1ROGh2eF3hz5dPFaBDi1qFOpGorxYREXCgREQARFR3bVNLbqplHFG+qqS8NdHHzbn6noupN5ISdSNNXk7F4i+A5GfFfVwcIiIAIiIAIizOobnPWVkdhtj\/2s21RIN+zb3j4Zz\/NNGOJ2J1aipxuzhX3et1BXOtVkdwwNGJ6nux0Ph9fJXtps1JZqfsqZmXke\/I78z\/P9F7tVrp7RRNpqcbc3OPN58Spq7KXJaEqVJp46mcu3ggiIkNIREQAREQBHrqj2SgnqefZRucB4kDYKl0TS9lZPaXAmSqkL3OJySAcD7\/FSNXTdjpuqwd38LB6uGflldNO1FK61U1LDOySSKBheGnkSN\/mqL6DK2ntKT5Lv\/R7vdkp71SdlL7krd45QN2n7jooGmLpUukms9xJ9rpOTicl7fvjbfvBWiWX1VHJba6jv1MzLondnNj95vd9xnqEReJYWcrR3b30fXxX7GoRc4ZmVEEc8ZyyRoc0+IIyF0UzXqF8c4NaXOIAAySe5fHOaxhe9wa1oySTgALC32\/1V+qDa7TG98JOCW85f0anhByZCvXjRjd68kSL\/rIyH2OzuOXHhdOBuejf1+Cm6Y0yaHFwrxxVb92tO\/Z58eq7af0pBag2oqeGar8f3Y\/Lr1WhTSkksMTPRoTnLe1teS6BERSN4REQARFzmmip4XzTPDI2DLnOOwCA0K3UV5FooMx4dVTHhgZjOTtk+mfovGm7KbVSulqDx1lSeOVx5joq2yRSagu777VNIgiPDSxF2eEjv\/z3notWqS4Vh+5kpLey3r05fPr2CIimawiIgAiIgAiLL3u91FdV\/gtl9+d200zTswd4B7up9OaaMXJkqtWNON3\/AGV2sb\/HWD8MpMSMY8GWQbgu7mhSNMUUdFqq4QwPJighEfvHdxy3J+IPxXC8WeK109otkR45J6nL3nbjd7o+G6sdIft6y71h5y1OOg3J2Pqruyp5HmRUpbSnPXtk3bsadR7hSNr7fPSPxiVhbkjke4+h3UhFm0PXaTVmZ7R9ZJJQTUFS7NRRSmNwJ34e755Hor2eeKmhfNPI2ONgy5zjgBZG8VLdOatbcA1zoaqE9oxpGSeX1DT8VCiFy1tcAZSYKGE7hv5W9B4u69yu4Yni5Hnx2h01ukryWXwybV1ldq+c0VuDoLew\/tZnD8\/+fD4rQ2iyUdmg7OmZl7h78rvzP\/QdFLpKSChpmU1NGI4mDAAXZTlO6stDTSoWeOecv5oEREhoCIiACIiACzGqppbhVU1gpHYfOQ+Z2CQ1o5Zx8fQLSTSsghfNIeFkbS5x8ANys1pSB9dV1l+qN31Dy2LI3DR\/kD0KpDLi6GXaLytSXPXy5\/Bo6anipKWKmhbwxxNDWjoF1RFM0pWVkEREHQiIgAvjnBrS5xAAGST3LjWVlPQUz6iplEcbBuT9B4lZd8ty1hM5lM51HamnDnn80v6+XJNGN8+RGrWUOFZyfI63K81F8qDabE7IP9fU8mtHQ+HXv7lc2ey0lmpuyp25e4DtJTzefsOi70FupbZTCnpIhGzmfFx8Se9Sl2UsrLQWnSeLHUzl28jIa0nEdztR4i0wl0uR3YLT\/Cp2iIOy06x\/9tK5\/P8Aw\/wqj19KfxWmjG3DBnPm4j7KTbv9J57bT0NHTsoYGNA7d+ziDvnfz7grNXppGBVLbXN2b8vQ1lXX0lBH2lVURwt7uN2CfId6z02pK27yOpLBSvOdjVSDDW9f\/wB36LvSaPpWz+03GeSvnO5Mh93Pl3+qv4oo4Y2xxRtjY0Ya1owB6KV4x0zNtq1TXhXv9+RirzpWSmss1dNVSVVc0h8jySRw8iB8c5Ph3Ky01qC0GhhomcNHIwAFjzgPd3kHvz13WjmiZPC+GQZZI0tcOh2WM0\/ZqGrNbablTAz0kuWPBw7hO3Mcxtnf\/mTqWKLxGeVJ0a0XStnln8m1BBGQcgr6suNK11B\/sm8zRMx\/VybjOc923y\/RfcazgOAaSpxtk4GfokwJ6M07+a+qD9MzTosx+J6uYMPs1O5391wxj\/vKfierXDDbNTh3dxO\/+y5gfVB+pj\/y\/szTosx2us6jbsKOmz35Bx8yq28z3q3xcVdfWRyuBLIIB7x8M4Ax3brqp3driy2pRV8L7dzcos5pSK9hkk90le6KRo7NsryXg+OO5EslZ2L0p7yKlax01nVup7E6GPeSpeIgAMkjmfpj1VrbaNlvt0FIwDETADjvPefU5Kob6BWattFC4cTWZmLTyPM\/wLUJpZRSJU+KtOXSy\/LCIimaQiIgAodzulJaaU1FW\/hHJrRu5x8AFCvOo6a1\/sImmprH7MhZvg9fDy5qDbbBV19U2539\/ayc4qb92PzH2+KdRyvLQzTrNvBTzfsvP4OFHQV2qallfdmmGhYcw0wOOLz78de\/uWriijhibFEwMYwYa1owAF7RclK49KkqeererCIiUsfnetCajUohbu4RsYMnvO\/3X6E1rWMDGjDWjAHgFgZQaz+kQDnw1LTt\/cA\/9V+gK1TSKPP2RXnUn49giIonoBZW8MFo1XQ3RoLYqk9lOeQzyyfTB\/wrVKi1jStqNOzPxl0JbI3brg\/IlPB8VjPtMb021qs\/sXqKJaqk1dppahxy6SJpceuN\/mu89RDSwumnkbHG0ZLnHACW2diyknHEdFGrbjR26PtKupjhGMgOO58hzPos9NqStvErqPT9MfB1TKMBo8R4evwXag0fA2X2q6zvr6g7njJ4f1Pr8E+BL6jPv5Tyoq\/jy\/cjyX+63yR1PYqUxQ54TVS7Y69PmVYWrS9NQTCsqpH1lYdzLIcgHxGfqVdMYyNgZG0Ma0YDWjAC9LjnyWR2NDPFUeJ+y8kEREhpMxD+3\/pEqM\/8PTDHqG\/+y06y9l97Wd4eTuAB6ZH6LUKk9V5GbZs4yfVvuERVt3vtDZos1EnFKR7sTN3H9B1SJN5IvKcYLFJ2ROnnipoXzTyNjjYMuc44AWXnvlxv8zqSwxuihBw+reMY8vD6+S+QW25annbWXYvpaNpzFTNyC4fz8efktTBTw0sLYYI2xxtGA1owAnyh4szf5K+nDH3fwVll07SWhvaf19W7d87xvnvx4K3REjbbuzRCEYRwxVkERFwcIi5zSiCCSZ3KNpcfQZQGhiNOt9r1vV1AGQx0r8nuycD6rdrIaCpnGKsrpMkyPDAT03P1C16rVfFYxbFG1G75tsIiKRtCiXSLtrVVx5xxQvAOcYOCo101FbrSC2ebjlH+6j3d6+HqqF0V91TOJg6S20GOHh4yOMeOP3j54CpGL1eSM1WvFXhHN9EcbPqmG22GCjZFJU1gLg2No2GSSN\/XkFOhsFxvcoqtQTlsY3jpYzgN8\/D5nqrm1WOhs8XDTRZkP5pX7vd693kFYrspq\/CTp7NJxSqu6XLl69TnBTw0sLYYI2xxtGA1owAuiIpG1K2SCIiACIiAMxbx2GvbjGeUsAeMf4f5rRzzw00RlnlZFG3m55wAs3c\/9S1xbqojEdTGYifF24+7VNuWmYbtchU1dVM6FoAFODhoPmqySdm+hipucVOMFd3fvmQazU1TcpzQ6ehMryPeqHDAZ1GfqVLtOl4KOX2yuf7ZWuOTI\/cA9AfqVcU1LBRwNgpoWRRt5NaMLslc8rRKRoXeOo7v2XkEREhpCIiACIiAChXiOomtFVFSs45pIyxoyBnO3Mqao9dWRW+ilq5ziOJuT18B6nZdWos7YXfQx0ENTHPZbEwzQyMJqKnhduMknHPbAHzHetyslYnMhNVqa7TMh9qyIg4nIbnuHM8gB0HVepL3db+91PY6cwQZw+rk226eHpk+StNOTMFCpGnG71ei52Whd3S+UFoj4qqb3z+WJm73en3KojPqLUZxTN\/DaJ377tnuH1+GB1VhadK0dvk9pqHGsqicmSXkD0H3OVepLxjpmX3dSr9bsui\/L+CltelrdbCJCz2ifn2su+D0HIfVXSIkbbzZeFOMFaKsERFwcIiIAIiIAIiIAotXUElXafaICRNRu7VpHPA54+vop1muTLra4app95wxIPBw5hTiARgjIKyEjnaQvrpS1xtdad8b9m7+XzHkqR4o4eZkqPdVN5yeT\/DNgi8xyMljbJG4OY8BzXA7EHkV6UzWEREAEREAEVPddT261PML3mef+yi3IPXw+vRZ653y8VEQdPMy0QO3DASZnDyG\/wD8QqRptmaptVOF1qzW112oLa0mrqo4yBngzlx8hzWNudXc9X1HY22mk9iidsXYaCfFx5d\/JcLRpiovVR7TOZoaQ79pIcvl6j9d\/Vb+kpIKGmZTU0YjiYMABPw09M2Z1vdqXFwx92Z636PYXNmvE5q5GABkbXERtA5Du+Gw6LSsYyNgZG0Ma0YDWjAC9IpSk5amynShTVooIiJSoREQAREQAREQAREQAREQAXCso4K+lkpqhgfHIMEfcdV3RBxpNWZjwLno+R3Cx9fa3Eu2GDF+n0PRaKgvNvuTA6lqmOPewnDgfIqaQCMEZBVLcNJWmvLn9iYJHbl0Jxk+XJUxRl9RmVOpS\/15ro\/wy7RZWXTFfSRl9PqGrYxv7hyf4vsvENjutU8xv1HVBuMnAO\/\/AJIwx6hvqidnT90auSRkTC+R7WNHMuOAFjdU6q3FDbKgcJH7WeI59GlT49EUTnB9ZV1NS8cyXYB39T81aUNhtlteZKakY15x77veI27ieS6nCLvqJUW0VY4corzuzIWa1Xaoi4qGlZRtduaycZkd\/wBPh6D1Wht2kaCkk7eqc6uqCcl8w2z5frlX6LkqkmNS2SnC18\/50CIimawiIgAiIgAiIgAiIgAiIgAiIgAiIgD\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "ROBERTO HERRERA CARREÑO",
    "correoContacto": "roberto.herrera@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:47",
    "ubicacionGPS": "LatLng(lat: -23.6618676, lng: -70.4001767)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:46",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 16:47:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[12/05/2026 16:47:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76050301', 'EP2827', 1, 95585912, 0, NOW(), 
				'16:46', '16:38', '16:47', 3, 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778618834.png', 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', null, 'COMPLETADO','LatLng(lat: -23.6618676, lng: -70.4001767)' )
				
[12/05/2026 16:47:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200285

12/05/2026 16:47:14 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200285'                    
				WHERE idllamado = 12377			
				TO ENVIO: micorreo@miempresa.cl, roberto.herrera@berliam.cl


12/05/2026 16:47:14 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12377			
				
12/05/2026 16:47:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 16:47:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:47:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:47:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:47:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:47:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:47:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:47:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:47:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:47:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:47:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            [12/05/2026 16:47:16] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:47:16] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:47:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:47:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                [12/05/2026 16:47:16] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:47:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                
12/05/2026 16:47:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12377
                [12/05/2026 16:47:16] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:47:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12377
                
12/05/2026 16: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 = 12377
                [12/05/2026 16:47:17] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:47:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:47:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:47:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:47:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            [12/05/2026 16:47:17] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12377
                
12/05/2026 16: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 = 12377
                
12/05/2026 16:47:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12377
                
12/05/2026 16: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 = 12377
                
12/05/2026 16:47:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:47:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            
12/05/2026 16:47:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12377
            GROUP BY l.idllamado;
            [12/05/2026 16:47:17] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12377
                
12/05/2026 16: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 = 12377
                
12/05/2026 16: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 = 12377
                
12/05/2026 16: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 = 12377
                
12/05/2026 16: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 = 12377
                
12/05/2026 16: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 = 12377
                
12/05/2026 16: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 = 12377
                
12/05/2026 16: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 = 12377
                
12/05/2026 16: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 = 12377
                
12/05/2026 16: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 = 12377
                
12/05/2026 16: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 = 12377
                
12/05/2026 16: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 = 12377
                
12/05/2026 16: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 = 12377
                
12/05/2026 16: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 = 12377
                
12/05/2026 16:47:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                [12/05/2026 16:47:24] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:47:24] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:47:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            [12/05/2026 16:47:24] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:47:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                [12/05/2026 16:47:25] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:47:25] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                [12/05/2026 16:47:25] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                [12/05/2026 16:47:25] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            [12/05/2026 16:47:34] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:47:34] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                [12/05/2026 16:47:34] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12128
                
12/05/2026 16:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            [12/05/2026 16:47:34] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12128
                
12/05/2026 16:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            [12/05/2026 16:47:34] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:47:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            [12/05/2026 16:47:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:47:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12128
                
12/05/2026 16:47:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:47:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:47:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                [12/05/2026 16:47:43] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:47:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:47:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            [12/05/2026 16:47:43] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:47:43] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:47:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:47:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            [12/05/2026 16:47:44] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:47:44] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:47:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                [12/05/2026 16:47:44] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:47:44] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:47:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                [12/05/2026 16:47:47] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            [12/05/2026 16:47:47] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            [12/05/2026 16:47:47] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            [12/05/2026 16:47:47] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            [12/05/2026 16:47:47] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            [12/05/2026 16:47:47] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:47:48] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:47:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:47:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:47:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:47:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:47:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:48:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:48:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:48:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:48:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16:48:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:48:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:48:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:48:20 - logentry: =========================================
FECHA: 12/05/2026 16:48:20
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-vTGPO_8kaU9kJk275B7lXayXD2U-EvxS7Lm6Tvyr0Z49sBlJ09J
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76318598",
    "serieinterna": "TO2788",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12128",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB7ALwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA8EAABAwMCAgcFBgUEAwAAAAABAAIDBAURBiESMRNBUWFxgZEUMqGx0SIjM0LB4QcVJGLwQ1KiwmOCsv\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC4RAAIBAgQDBgcBAQAAAAAAAAABAgMRBBIhMTJBURMiYXGh0RQjM4GxwfDhkf\/aAAwDAQACEQMRAD8A\/ZkREAERcaqrp6KB09TK2KNvNzig42krs7LxJLHCwvlkaxo5uccBZeTUF1vTnQWKkdHHnHtMg2x57D4ldIdGtnLZbvcKiskHVxnhHdk7\/JUyJcTM3buf0o38dkW7r9aGnBuVN5SgqTT1tLVt4qapimH\/AI3h3y8R6qvGlLGBj2Bm397vqotTou3PPSUT5qKYbtdG8kA+B39CEWh1O5sQtWk\/uaFFS2OG+Uk8lLcpGVMDGgxz8WXHu7T5+qukjVmWhPPG9rBEXxzg1pc4gADJJ6lwcEgDJOAFVS6ossJIfXsyOfC1zvkFmNT6iluMUkFBkUMbgySUbdI45wPDY+OF30Va6SpbWy1NLHM1rwyMTMDuHnnu7Fbs0o5pHnvFynVVOl\/1mupa+krmB9NUMlBGRwnfHgpCzVz0yace22FxpaqPfo2naTHVvy8ORU7T18beKQiQCOrh2lj5eY\/zZI4q10aIVXmyVFZ+jLdERIaAiKHcrpSWmm6erk4Wk4a0DLnHsAXUr7HJSUVd7EskAZJwAqC6awoKImKmzWT\/AO2M\/ZHifplU1wuNbdoDU18zrbaXHDGNGZJ\/Adfjy8VztVhnu7eKOP2C2OPbmSYDtPX8uwK0aaWsjzqmKqTeWiv79LxZzj1HqK91jYKDEZ62xMGB3knOFvoekELOmLTJgcXDyz3LhQW2ktlOIKSERt6z1uPaT1qUpzknsjTh6U4K85XbCIod0udPaaJ1VUHYbNaObndQHolSvoaJSUVd7HK8XyjssAkqHFz3e5E33nft3qlpLNXagnZcL4SyAZMVIMjA7+z5le7BaJ62rdfLu3iml\/BieNmDqOPl681qE7ahotzJGEq\/enw8l+37HiKGOCJsULGxxsGGtaMABe0RTNmwREQARFzmmip4XzTPDI2DLnOOwCA2PbnBrS5xAAGST1LJ1dXV6rrn2+3vMVtjOJ5wPxO4foPMrzPV1urqn2ShD6e2MP3sx2Mn+dnqtPRUVPb6VlNTRhkbBsO3vPeqcG+5jbeIdlwfn\/DJ6ypqe22WioaWMRx9KXYHMkNxk9p3Vvo2n6DT0Ti0NMz3SYHjgfABVH8QpB\/QxZGRxuI9P3Wrt9KKK3U9KP8ASja095A3+KaT+WiVKC+Lm1skkSVltRUU1rrWahtww9hxURjk8dp\/XyK1K8SxMmifFI0OY9pa5p6weYU4yys2VafaRtz5eZzo6uOuo4qqE5ZK0OHd3LusvptxtN4rbDK8lgd0tPnrB5\/DHoVfXKsFvt09UcExMLmgnGTjYIlGzshaVXNTzS5b\/YhXzUFPZ4uADpqt+OjgbzOes9yy85dSVYrLuTXXSX8GiaMtj7OIf9VEtJuNxrpZqKMy10hJdVS8oh3dh7\/ILZWTTtPaMzPd09Y\/35nc9+ePqrNKmjAnUxUrrb0Xu\/REG16bnqaoXO+vE053ZT\/kjHVnq8vmtKAAMAYAX1FGUnLc9GnSjTVohERKVCyDAdW6gc9wzbKE8PDk4lO+D5\/LxVnqy5PoLO6OHJnqj0TMDcZ5n0281LsNsFptMNNgdJjjlI63nn6cvJUj3Y5jJU+bVVPktX+kWKIimawiIgAiKDdrtS2ekM9S7c7MYObz2D6rqTeiFlJRV5bHS4XCmtlK6oqpOBg5DrcewBZqKC46umbNV8VLamuyyMbOl+vj6LpQWerv9U263vIiBzBS9XD393LvPWtU1oa0NaAABgAdSpdQ23MqjKvrLSPTr5+Hgc6enhpIGwU8bY42DAa0LqiKRrStojHamaKrV9rpeYHAXb9Rec\/ALYrJh7Kr+I24yKeIhp7+H9ytYqT2SMuH1lUl4\/gIodwutFa4elrJxGD7rebneAWd9pvOqnFlKHUFtOzpD7zx1+PgNu9cUW9eRSpXjB5Vq+i\/tCPqy5UcF4pKuilD62md94G7tLewn1GO9SKWx3DUPRVt7q\/6dzeOKCI4GCNj2D4lWsOmLfTWqeihiBfNGWumeMuyeR8jjYdij6OrZJrbJRTn76ik6Mjsb1fEEeSpm7vd5GRUm61qu0tbLa669SLZK51gq3WK4jgj4yaecjDXA8gfH55C1ag3a00t4pDBUt3G7Hjmw9o+ioY6+76XBiuTDW0DcBlQwjiaOzfn4H1StZ9VuWjJ4fuy4eT6efuaxFBt95t9zaPZKpj3Ee4Thw8ipym01uaoyUleLuERFwYy9x\/rtdUFM4Ho6WPpSP7tzn1DVqFmLV99rm6THJ6OIMGf\/Xl6LTqk+SM2H1zS6t+mgREUzSERZ266mcKj+X2aL2yrdkEt3az6\/JMouWxOpUjTV5E6932nstOC\/wC8qH\/hwg7u7+4KrtVkrLjWi7377Ug\/CpyNmeI\/T1Umy6bdTVH8xuc3tNe\/fJ3bH4d\/+BX6ZtR0iQjTlVeepouS9wiIpmsIi41c3s9HPPkDo43OyerAyg43ZXPz6hu76fVNZXx0klU55kDI2bnntvv1K\/8AaNV3RuIqeK2xOOC5+78ef0Cq\/wCH7c3KqdnlCBjzH0W8WipJKVrHmYSnKpTzOTSbei9ygodJUkMwqa+WSvqdiXTHLc+HX5kq+AAGAMAL6ig5N7noQpwpq0UFlzm066GMiC5R9Ww4\/rkf8lqFnNaU7jbIa+Ife0UoeDjOAefx4fRNDe3UliVaGdbx19\/Q0a+OaHNLXAEEYIPWuVLUMq6SGpj9yVgePAjK7JDQmmrlJX6StVc50jYnU8pyeOI43znOOSgfybUdrObddBVRDOIp+fxyPiFqlznqIaWF008jY42jJc44ATqcttzPLD0uJaPqtDNjVVdQODL1aJIRvmWHdvZyO3xWipKuCupmVNO\/jjeMg4wszVXav1KZKKzRmKlzwy1LxjI6wPXlzV\/arZDabfHSQkuDd3OPNzjzKaaSXRiUJzlJpO8ev9uUttd0Ou7nCc\/eRB4J36mn9fgtOsvd\/wCg1nba0kiOob0Lj38v+w9FqFyfJj4fTPHo366hc554qaF808jY42DLnOOAFwuVzpLVTGoq5OFvING7nHsA61moqOv1dUNq60vprY05ihBwZB2\/v6LkY31ew1WtleSKvLp7nqe53HVE7qSzh1NRNOJal2xd3ftz7cK\/tNmo7PT9FTM+2QOOQ+889\/0UuCnhpYWwwRtjjaMBrRgBdESlfRbHKdGzzzd5fjyCIiQ0BERABVWppug05WvyRmPh2\/uIH6q1We1u\/h068ZxxytHj1\/omgryRHEPLSk\/BlT\/D9mKqtJG\/Rsx4HJW3WR0RGBWXVwbgNexje4Au2+S1yarxsjgVagvv+QiIpmwKPX0jK6gnpXgYlYW79R6j6qQoFyvVBamZq5w12MiNu7j5LqvfQSbiovNsVeiqp0lofRyAiWkkLC0jkCc\/PKvp6mCljMlRMyJg\/M9wAWCttZdK29V81hiEQqTxPMnCeDfnv357VeQaPE8wqLzXS10mPdyWtHdnOfTCrOKzXbMOHrTdNRhG9tL7I9VesIHP9ntFPJX1BG3Cwho\/U\/5uuMOn7lepW1OoKghjTltLGcAenL4nvC0dJR01DCIaWBkLB1NGM+Pau6XOlwov2Ep61Xfw5f6c4IIqaFkMEbY42DDWtGAF0RFM1JWKDWVC6qsvTxtzLSvEjcDJxyPzz5KPLrKN9LBHQU76yulYCY2tOGHG+e3fs+CuLxQTXK3vpYap1MZNnODQct6wfLsIWZga7RV3IljM1vqsAT8P2mHs2+XXzHJWhZxs9zz6+enUzLSLsmydQacqa6pFw1BJ08mPsU\/5WePV5LTAADAGAF5imjnibLC9skbxlrmnIIXtTlJvc10qUaa7vPn1CIiUqEREAEREAFmdeOxYoh21DR\/xctMs7riPj0\/xb\/Yma75j9U9PiRnxX0JeRXabqvZLHebjHyEjjGSNyQMjPqFodPVNVWWOmqKxwdNICSQAMjJxy25YWIZU8Ol6e1QlolrqgveXHADQQAT2bjn\/AGlaY6ptdvp4aKi6SukjYI2NgbkHAxzPh1ZVZxb2Riw1aMbZpWSXq9TRqrumordaQWzzcco\/0o93efZ5qpA1PfW4fwWqmJ32IkI+f\/yrO16at1rIkZF00\/Pppd3Z7uofNTyxjua+0qVPpqy6v2Koz6l1A7EDDaqQ\/ndkPI8efpgd6sbdpO2UJEksftc\/MyTb5Phy\/VXaLjm9loNHDxvmn3n4+xxho6amlllggZG+YgyFrccRHauyIkLpJbBERB0IiIALlU00NZA6CojEkbxgtK6og40mrMyL6O7aVldNb+Kttxdl1PuXM+Bx4jzCu7Tf6C8M+4lDZcbxPOHct8do71ZqnummaC5vM3CaeozxdNFsSdtz28lTMpcRm7KdL6Wq6P8ATLhFlvZ9WWonoZ4rlC3cCT3iMd+D8Svo1fUUu1ystVBjm5oyPEZA+aOzfLU78TFcacfNfs1CLOx64szwC4zsz1Oj5ehK8T66tUcZMTJ5n9TeHhHmSudnLod+KoWvmRpVzmmip4zJPKyJg5ue4ADzKw9Rqi\/3I4t1G+JjsY6KMyO8zjHwUaPS9\/ujxLV8TSeTqiTJ9NyOadUrcTsZ5Y3NpSg2ais1jZ6TIbM6ocOqFuficBZm6amrNQxm3U1CAyUj7IJe8kHPPYD0VvRaCpI8Oral8x\/2sHCPXn8lo6O3UdvYWUlNHCDz4RufE8yu3px21OdniqytNqK6IzFs0Kwxtkukz3P2xFG7YDsJ+i0tFaqC3NDaSljix+YDLvU7qWinKcpbmqlh6VLhQRESFwiIgAiIgAiIgAiIgAiIgAiIgAq28X2jssPFO\/ilcMsib7zvoO9WSiyW2jmrWVslMx9RGMNkI3C6rX1EqZ3HubmabaLrqSUVNyLaGkdyhjbh5Gc75+Z9FoaCzW+2MDaWlYwjm8jLj4k7qciZzb0J06EIPNu+rCIiQuEREAEREAEREAEREAEREAEREAEREAf\/2Q==",
    "razonSocial": "SOCIEDAD DE INVERSIONES SANTA LAURA SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "Tania Julio",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "4",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "956560743",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:48",
    "ubicacionGPS": "LatLng(lat: -23.661895, lng: -70.4001649)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:47",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 16:48:20
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-vTGPO_8kaU9kJk275B7lXayXD2U-EvxS7Lm6Tvyr0Z49sBlJ09J
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76318598",
    "serieinterna": "TO2788",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12128",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB7ALwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA8EAABAwMCAgcFBgUEAwAAAAABAAIDBAURBiESMRNBUWFxgZEUMqGx0SIjM0LB4QcVJGLwQ1KiwmOCsv\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC4RAAIBAgQDBgcBAQAAAAAAAAABAgMRBBIhMTJBURMiYXGh0RQjM4GxwfDhkf\/aAAwDAQACEQMRAD8A\/ZkREAERcaqrp6KB09TK2KNvNzig42krs7LxJLHCwvlkaxo5uccBZeTUF1vTnQWKkdHHnHtMg2x57D4ldIdGtnLZbvcKiskHVxnhHdk7\/JUyJcTM3buf0o38dkW7r9aGnBuVN5SgqTT1tLVt4qapimH\/AI3h3y8R6qvGlLGBj2Bm397vqotTou3PPSUT5qKYbtdG8kA+B39CEWh1O5sQtWk\/uaFFS2OG+Uk8lLcpGVMDGgxz8WXHu7T5+qukjVmWhPPG9rBEXxzg1pc4gADJJ6lwcEgDJOAFVS6ossJIfXsyOfC1zvkFmNT6iluMUkFBkUMbgySUbdI45wPDY+OF30Va6SpbWy1NLHM1rwyMTMDuHnnu7Fbs0o5pHnvFynVVOl\/1mupa+krmB9NUMlBGRwnfHgpCzVz0yace22FxpaqPfo2naTHVvy8ORU7T18beKQiQCOrh2lj5eY\/zZI4q10aIVXmyVFZ+jLdERIaAiKHcrpSWmm6erk4Wk4a0DLnHsAXUr7HJSUVd7EskAZJwAqC6awoKImKmzWT\/AO2M\/ZHifplU1wuNbdoDU18zrbaXHDGNGZJ\/Adfjy8VztVhnu7eKOP2C2OPbmSYDtPX8uwK0aaWsjzqmKqTeWiv79LxZzj1HqK91jYKDEZ62xMGB3knOFvoekELOmLTJgcXDyz3LhQW2ktlOIKSERt6z1uPaT1qUpzknsjTh6U4K85XbCIod0udPaaJ1VUHYbNaObndQHolSvoaJSUVd7HK8XyjssAkqHFz3e5E33nft3qlpLNXagnZcL4SyAZMVIMjA7+z5le7BaJ62rdfLu3iml\/BieNmDqOPl681qE7ahotzJGEq\/enw8l+37HiKGOCJsULGxxsGGtaMABe0RTNmwREQARFzmmip4XzTPDI2DLnOOwCA2PbnBrS5xAAGST1LJ1dXV6rrn2+3vMVtjOJ5wPxO4foPMrzPV1urqn2ShD6e2MP3sx2Mn+dnqtPRUVPb6VlNTRhkbBsO3vPeqcG+5jbeIdlwfn\/DJ6ypqe22WioaWMRx9KXYHMkNxk9p3Vvo2n6DT0Ti0NMz3SYHjgfABVH8QpB\/QxZGRxuI9P3Wrt9KKK3U9KP8ASja095A3+KaT+WiVKC+Lm1skkSVltRUU1rrWahtww9hxURjk8dp\/XyK1K8SxMmifFI0OY9pa5p6weYU4yys2VafaRtz5eZzo6uOuo4qqE5ZK0OHd3LusvptxtN4rbDK8lgd0tPnrB5\/DHoVfXKsFvt09UcExMLmgnGTjYIlGzshaVXNTzS5b\/YhXzUFPZ4uADpqt+OjgbzOes9yy85dSVYrLuTXXSX8GiaMtj7OIf9VEtJuNxrpZqKMy10hJdVS8oh3dh7\/ILZWTTtPaMzPd09Y\/35nc9+ePqrNKmjAnUxUrrb0Xu\/REG16bnqaoXO+vE053ZT\/kjHVnq8vmtKAAMAYAX1FGUnLc9GnSjTVohERKVCyDAdW6gc9wzbKE8PDk4lO+D5\/LxVnqy5PoLO6OHJnqj0TMDcZ5n0281LsNsFptMNNgdJjjlI63nn6cvJUj3Y5jJU+bVVPktX+kWKIimawiIgAiKDdrtS2ekM9S7c7MYObz2D6rqTeiFlJRV5bHS4XCmtlK6oqpOBg5DrcewBZqKC46umbNV8VLamuyyMbOl+vj6LpQWerv9U263vIiBzBS9XD393LvPWtU1oa0NaAABgAdSpdQ23MqjKvrLSPTr5+Hgc6enhpIGwU8bY42DAa0LqiKRrStojHamaKrV9rpeYHAXb9Rec\/ALYrJh7Kr+I24yKeIhp7+H9ytYqT2SMuH1lUl4\/gIodwutFa4elrJxGD7rebneAWd9pvOqnFlKHUFtOzpD7zx1+PgNu9cUW9eRSpXjB5Vq+i\/tCPqy5UcF4pKuilD62md94G7tLewn1GO9SKWx3DUPRVt7q\/6dzeOKCI4GCNj2D4lWsOmLfTWqeihiBfNGWumeMuyeR8jjYdij6OrZJrbJRTn76ik6Mjsb1fEEeSpm7vd5GRUm61qu0tbLa669SLZK51gq3WK4jgj4yaecjDXA8gfH55C1ag3a00t4pDBUt3G7Hjmw9o+ioY6+76XBiuTDW0DcBlQwjiaOzfn4H1StZ9VuWjJ4fuy4eT6efuaxFBt95t9zaPZKpj3Ee4Thw8ipym01uaoyUleLuERFwYy9x\/rtdUFM4Ho6WPpSP7tzn1DVqFmLV99rm6THJ6OIMGf\/Xl6LTqk+SM2H1zS6t+mgREUzSERZ266mcKj+X2aL2yrdkEt3az6\/JMouWxOpUjTV5E6932nstOC\/wC8qH\/hwg7u7+4KrtVkrLjWi7377Ug\/CpyNmeI\/T1Umy6bdTVH8xuc3tNe\/fJ3bH4d\/+BX6ZtR0iQjTlVeepouS9wiIpmsIi41c3s9HPPkDo43OyerAyg43ZXPz6hu76fVNZXx0klU55kDI2bnntvv1K\/8AaNV3RuIqeK2xOOC5+78ef0Cq\/wCH7c3KqdnlCBjzH0W8WipJKVrHmYSnKpTzOTSbei9ygodJUkMwqa+WSvqdiXTHLc+HX5kq+AAGAMAL6ig5N7noQpwpq0UFlzm066GMiC5R9Ww4\/rkf8lqFnNaU7jbIa+Ife0UoeDjOAefx4fRNDe3UliVaGdbx19\/Q0a+OaHNLXAEEYIPWuVLUMq6SGpj9yVgePAjK7JDQmmrlJX6StVc50jYnU8pyeOI43znOOSgfybUdrObddBVRDOIp+fxyPiFqlznqIaWF008jY42jJc44ATqcttzPLD0uJaPqtDNjVVdQODL1aJIRvmWHdvZyO3xWipKuCupmVNO\/jjeMg4wszVXav1KZKKzRmKlzwy1LxjI6wPXlzV\/arZDabfHSQkuDd3OPNzjzKaaSXRiUJzlJpO8ev9uUttd0Ou7nCc\/eRB4J36mn9fgtOsvd\/wCg1nba0kiOob0Lj38v+w9FqFyfJj4fTPHo366hc554qaF808jY42DLnOOAFwuVzpLVTGoq5OFvING7nHsA61moqOv1dUNq60vprY05ihBwZB2\/v6LkY31ew1WtleSKvLp7nqe53HVE7qSzh1NRNOJal2xd3ftz7cK\/tNmo7PT9FTM+2QOOQ+889\/0UuCnhpYWwwRtjjaMBrRgBdESlfRbHKdGzzzd5fjyCIiQ0BERABVWppug05WvyRmPh2\/uIH6q1We1u\/h068ZxxytHj1\/omgryRHEPLSk\/BlT\/D9mKqtJG\/Rsx4HJW3WR0RGBWXVwbgNexje4Au2+S1yarxsjgVagvv+QiIpmwKPX0jK6gnpXgYlYW79R6j6qQoFyvVBamZq5w12MiNu7j5LqvfQSbiovNsVeiqp0lofRyAiWkkLC0jkCc\/PKvp6mCljMlRMyJg\/M9wAWCttZdK29V81hiEQqTxPMnCeDfnv357VeQaPE8wqLzXS10mPdyWtHdnOfTCrOKzXbMOHrTdNRhG9tL7I9VesIHP9ntFPJX1BG3Cwho\/U\/5uuMOn7lepW1OoKghjTltLGcAenL4nvC0dJR01DCIaWBkLB1NGM+Pau6XOlwov2Ep61Xfw5f6c4IIqaFkMEbY42DDWtGAF0RFM1JWKDWVC6qsvTxtzLSvEjcDJxyPzz5KPLrKN9LBHQU76yulYCY2tOGHG+e3fs+CuLxQTXK3vpYap1MZNnODQct6wfLsIWZga7RV3IljM1vqsAT8P2mHs2+XXzHJWhZxs9zz6+enUzLSLsmydQacqa6pFw1BJ08mPsU\/5WePV5LTAADAGAF5imjnibLC9skbxlrmnIIXtTlJvc10qUaa7vPn1CIiUqEREAEREAFmdeOxYoh21DR\/xctMs7riPj0\/xb\/Yma75j9U9PiRnxX0JeRXabqvZLHebjHyEjjGSNyQMjPqFodPVNVWWOmqKxwdNICSQAMjJxy25YWIZU8Ol6e1QlolrqgveXHADQQAT2bjn\/AGlaY6ptdvp4aKi6SukjYI2NgbkHAxzPh1ZVZxb2Riw1aMbZpWSXq9TRqrumordaQWzzcco\/0o93efZ5qpA1PfW4fwWqmJ32IkI+f\/yrO16at1rIkZF00\/Pppd3Z7uofNTyxjua+0qVPpqy6v2Koz6l1A7EDDaqQ\/ndkPI8efpgd6sbdpO2UJEksftc\/MyTb5Phy\/VXaLjm9loNHDxvmn3n4+xxho6amlllggZG+YgyFrccRHauyIkLpJbBERB0IiIALlU00NZA6CojEkbxgtK6og40mrMyL6O7aVldNb+Kttxdl1PuXM+Bx4jzCu7Tf6C8M+4lDZcbxPOHct8do71ZqnummaC5vM3CaeozxdNFsSdtz28lTMpcRm7KdL6Wq6P8ATLhFlvZ9WWonoZ4rlC3cCT3iMd+D8Svo1fUUu1ystVBjm5oyPEZA+aOzfLU78TFcacfNfs1CLOx64szwC4zsz1Oj5ehK8T66tUcZMTJ5n9TeHhHmSudnLod+KoWvmRpVzmmip4zJPKyJg5ue4ADzKw9Rqi\/3I4t1G+JjsY6KMyO8zjHwUaPS9\/ujxLV8TSeTqiTJ9NyOadUrcTsZ5Y3NpSg2ais1jZ6TIbM6ocOqFuficBZm6amrNQxm3U1CAyUj7IJe8kHPPYD0VvRaCpI8Oral8x\/2sHCPXn8lo6O3UdvYWUlNHCDz4RufE8yu3px21OdniqytNqK6IzFs0Kwxtkukz3P2xFG7YDsJ+i0tFaqC3NDaSljix+YDLvU7qWinKcpbmqlh6VLhQRESFwiIgAiIgAiIgAiIgAiIgAiIgAq28X2jssPFO\/ilcMsib7zvoO9WSiyW2jmrWVslMx9RGMNkI3C6rX1EqZ3HubmabaLrqSUVNyLaGkdyhjbh5Gc75+Z9FoaCzW+2MDaWlYwjm8jLj4k7qciZzb0J06EIPNu+rCIiQuEREAEREAEREAEREAEREAEREAEREAf\/2Q==",
    "razonSocial": "SOCIEDAD DE INVERSIONES SANTA LAURA SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "Tania Julio",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "4",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "956560743",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:48",
    "ubicacionGPS": "LatLng(lat: -23.661895, lng: -70.4001649)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:47",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 16:48:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76318598

[12/05/2026 16:48: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('76318598', 'TO2788', 1, 95585912, 0, NOW(), 
				'16:47', '16:38', '16:48', 16, 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778618900.png', 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', null, 'COMPLETADO','LatLng(lat: -23.661895, lng: -70.4001649)' )
				
[12/05/2026 16:48:20] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200286

12/05/2026 16:48:20 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200286'                    
				WHERE idllamado = 12128			
				TO ENVIO: micorreo@miempresa.cl, null


12/05/2026 16:48:20 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12128			
				
12/05/2026 16:48:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 16:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:48:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:48:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            [12/05/2026 16:48:23] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:48:23] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:48:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16:48:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                [12/05/2026 16:48:23] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:48:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:48:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            [12/05/2026 16:48:23] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12128
                
12/05/2026 16:48:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            [12/05/2026 16:48:23] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:48:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            [12/05/2026 16:48:23] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:48:23] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12128
                
12/05/2026 16:48:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            [12/05/2026 16:48:24] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12128
                
12/05/2026 16:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12128
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16: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 = 12128
                
12/05/2026 16:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            [12/05/2026 16:48:26] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                [12/05/2026 16:48:26] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            [12/05/2026 16:48:26] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            [12/05/2026 16:48:26] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            [12/05/2026 16:48:26] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:48:26] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:48:26] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12196
                
12/05/2026 16:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                [12/05/2026 16:48:27] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12196
                
12/05/2026 16:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            [12/05/2026 16:48:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            [12/05/2026 16:48:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:48:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            [12/05/2026 16:48:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                [12/05/2026 16:48:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:48:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12196
                
12/05/2026 16:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16:48:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            [12/05/2026 16:48:31] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:48:31] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            [12/05/2026 16:48:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:48:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            [12/05/2026 16:48:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:48:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                [12/05/2026 16:48:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:48:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            [12/05/2026 16:48:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            [12/05/2026 16:48:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:48:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:48:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                [12/05/2026 16:48:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16: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 = 12196
                [12/05/2026 16:48:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                [12/05/2026 16:48:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            [12/05/2026 16:48:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:48:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12196
                
12/05/2026 16:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                [12/05/2026 16:48:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:48:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            [12/05/2026 16:48:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12196
                
12/05/2026 16:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            [12/05/2026 16:48:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12196
                
12/05/2026 16:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16:48:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16:48:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16:48:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16:48:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:49:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:49:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:49:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:49:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:49:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:49:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:49:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:49:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:49:04 - logentry: =========================================
FECHA: 12/05/2026 16:49:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Y7e3CV7yz4GcPMe787I8sH3Ln58Lg6s9j_Y.pF8KYec+HcuA9A8
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "TO2905",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12196",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAMoDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABAEAABAwMBBAcGAggFBQAAAAABAAIDBAURBhIhMUETIlFhgZGxFDJxocHRFfAjJDVCQ3Sy4QcWJTPxJjRigpL\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQMCAggGAQUAAAAAAAAAAQIDETESIUFRBBMyYXGhwdEUIoGx4fCRBTNCUvH\/2gAMAwEAAhEDEQA\/APsyIiACIuO53OmtNG6pqX4aNzWji89gXUrnJSUVd4OieohpYXTTyNjjaMlzjgBVyTU9bcZTDYLeZwDh08oIaPT5nwXPSW6s1XM24XXahoR\/s07SRtd\/9+J+CtcEENNEIoImRRt4NYMAJ7RjndmVOpW3j8sfN+xXG2zVdRh892hh\/wDBjfXAHqn4dqyl60N1hqBzZIBk+Y+oVnRGt8hvho\/7P+WQdoud4mrfZLpbOhIYXdMw9X6jyPqpxESN3ZaEXFWbuERaqmpio6aSoneGRxt2nErgzaSuzyqq4KKnfUVMojiYMucVDWjVMd3uslJDTvEYYXNee7t7OKjIIavWVaKipD4LTC7qR5wZCPr2nlwHNb9LQsk1BdqqJjWxRu6GPZG7Zzy8GhW0JJ3yYevqTqR07Rb\/AJ\/Ba0RFE3hERABR9zvdBaIy6qmG3jIibve7w+6jrvqGb2v8Ls8fT1pJDnbi2PHH8ncsrVpaCmf7XcXe3Vrt7nydZoPdnj8T8lRRSV5GaVWU3ppfV8F7sjq\/Ut7dRvraegbSUjSNmSU5Lt+7AOM57h4qxWaqnrbRTVNQzZkkYCe\/v8eKr8j\/APNt+bEwk2uiO052zuld2ePpntVta0NaGtAAAwAOS7OySVtyfR9cpuWq6x4956iIpG0IiIAIiIAwmljghfNK8MjYC5zjwAVUo6d+rLq+4Vefw6meWwREbpO8\/LPkt+pqiW5VsGn6N2HynbndvGy0DOD6+SsNLTRUdLHTQjEcTQ1oPYqL5VfizJJddU0\/4x83+DaAAMAYAXqIpmsIiIAIi8c4NaXOIAAySeSAPHOaxhe9wa1oySTgAKo9JPrK5OjaXRWmmd1iNxlPL88h3rOsrajVVcbbbnOjt8Z\/WKgD3+4fQc\/grNRUcFBSR0tMzYjjGAPqVXsLvMbfxErLsLz\/AARWoLlHp+ytZSs6N7\/0cIYMBnafD1ULY9Lmqs8dfHWz01XKHFpaerzA7+\/OVHaxrH1t5laMdFSYiB7XHefr5L6BQ04paGnpwMdFG1mPgMJneEFbLIQUekV5X7Mdl+\/QgLdfKu21otd\/Ia93+1U\/uv8AHHz81ZlwXe1QXegfTTNG1gmN+N7Hcio\/SlxlqKSW31e6qoXdG4HiW8AfkR5dqRpSWpGmDlTn1cndPD9GT6Iimaiox0N30xUzTUVKyvppn5LW5MuOWTjPqMngue8awNVQuoYaeajqJCGyOkOOjHPv+XBWO+XqKy0Ykc3pJpDsxRj94\/YLgsenh0c1ZeIY6iqqztObI0HYB34xyP8AZXTVtUkebOnJS6qjLbj3f9OjT77TR22OlpK2nkcN8hEgy5\/M4O9TShJ9H2WYkilMRPON5HLsOQuIaQnpN9svNTBjg128fA4x6JHpbvcvF1qaUdCaXJ+5aEVX\/wCr7bndT3GNp\/8AbHyPrx5rKLWccMgiutvqKJ\/AktyPng+qOrfDcb4mC7acfFeuCzIuWiudDcW7VHVRzYGSGnrAd44hdSm1Y0KSkrphc9fWx26hmq5vcibtY7TyHicBdCq2opHXe80thhd1GkS1JHIchxHLf4jsTRV2SrVHCF1nC8TPR9FI+OovNXvqK1x2T2Nz9T8gFZlixjY42sYMNaAAOwLJEpanc7SpqnBRCIiUqEREAeOcGtLnEAAZJPJVOtrKnVVa62W55joI\/wDfqAMh\/d8O7mvbxX1F\/r\/wS1PxEP8Aup8Zbjs+HqVY6Cgp7bSMpaVmxG3zce09pVF8iu8mOTdeTiuys9\/d7igoKe20jKWlZsRt83HtPaV0OcGtLjuAGSvVprHbFFO\/ONmNxz2bkmWarKMduB83o9u5VlMH+\/WVxfIT2DHn7zl9OXzjR7RPqGm6uBBG84G8E4Iz8\/kvo6tWzY8\/+nK8HLmwqrdM2XV1LcWuDYK4dFNk7s7hn+k+BVqUHq+iNZp+YtGXwESj4Dj8ifJTg\/mszV0mLdO6yt19CcUfebvBZqF1RKQXndHHne8rlj1DTU+m6e5VMm058YAaD1nvG4geIK4LRaai71gvd4GdrfT054NbyOPz2rqjbeQs6zlaNPL8lzMrHaKqvqmXu8uL5j1oISN0Y4g45dwVnREspOTK0qSpxsgiIlKha5YYqiMxzRMlYeLXtBHkVsWmrq6ehp3VFVK2KJvFzvzvQjjtbcrOorHQ2yjkutA40dRERshh6riSOR4H4KwUtTUy0kMjqY7T2NccnZ3kdnL4KuRtm1hdY6h8ZjtVK7qtcMGU8\/zyHerc1oa0NaAABgAclWbsknkyUEnKU4K0X595hUTspqaWokzsRML3YHIDJVd0dTvmjqrxMSZayU4zyaD993gt2s6swWMwMyZKp4jAAySOJ9MeKl7fSCht9PSjf0UYaT2nG8+a5iHiM\/nr24RXm\/wdKIimagiIgAqxfrvVVlWbHaBtTv6s0oO5g5jPLjvPhxXl3v8AUVlYLRYuvO7IlnHBg54Pd2+W9SljskNlpSxp6SeTfLKf3j9lRLTuzHObrPRDHF+iNtntMFnoW08QBcd8jwPecu9ESN3d2aoxUUorAXLdCBaawk4Agf8A0ldS4r1+w6\/+Wk\/pKFk5PsMp+gIs3Opl39WHZ83A\/RX1Uz\/D2Pq18pHEsaD\/APWformqVu2zL0BW6OvqFH3qvo6C2yurH4ZI0sDBxeSOAWV2utNZ6M1NQc8mMHF57AoS2WiqvVa28XpvV409MeDRyyOz15pYx4vBWrUd+rhvJ+XiROkbMLq5tVVyl9PSPxHATkF3Hf3eqv6rGh99HWngDUnd2bgrOmqtuRPoUFGimuIREUjYERQN21RBRy+x0LPbK1xwI2bwD3kegXVFvAlSpGmryZ3Xa80lmp+lqX5eR1I2+8\/4fdQdLarhqOojrr2TFSt60NK04yO\/s9T3LqtOnZDU\/id6eKitdgtYd7Y+zuyPL1ViT3Udo5M6hKs9VTZcvf2MIoo4YmxRMDGMGGtaMABZoimayrag\/XtVWi38WsPTPb2787\/Bp81aVWKP9Y\/xBrXHeIKcBp78N+5VnVJ8EZuj7ucub+2wREUzSFV71dqq5V7rFZz+k3iomzuYOYz6+S33y+Te0i0Wn9JXS7nOHCIff0XbY7JDZaUsaeknk3yyn94\/ZUS0q7Mk5OtLq4Pbi\/RG20Wels9IIIG5cffkI6zz+eS70RI227s0xiorTHAREXBguK9fsOv\/AJaT+krtXFev2HX\/AMtJ\/SV2OUJU7D8CC0BHi1VMmfen2fJo+6tSrmhmbOnyd3WmcfkB9FY01Ttsj0RWoR8Cl1tVSv1kZLwXxwUwDIWujJY48ifPPlyCnq3Udsp6CSeOugkeGZYxkjXOJ5bsrvqqOmrY+jqoI5m9j25x8FHx6WskcwmbQM2gdoZe4jPHgThNqi7XEVKtBy0Nb873NOjqJ9FYI+kGHTvMvHkcAfIBTq8AAGAMAKKuepbZay5ks\/STD+FF1nePIeKR3m9i0dFCmk3ZIllH3S90NoiLqmYbeMtiacvd4fVQYqNSagd+rs\/C6Q\/vuyHkevlj4qRt2lLZQOEskZqp85Mk2\/f244fVNpUe0yfW1Kn9tbc37EbtX3VOW4Nst554O1IPU\/IfFTlqsdDaIg2miHSEdaV29zvHl8ApFFxzb2WB4UFF6pby5v05BERIXCIiAKzZN+sLwcjlu8lZlV6Nxpdf1kR3NqIA5meZwD9HK0J55Rm6N2WuTf3Cr18vk\/tH4TaG9LXSbnObwiH39FlqS9T0r4bZbsOrqo7Iwd8YPPx+mV12SyQ2anIB6Sok3yzHi4\/ZdSUVqZyc5VJOnDa2X6Lv+xjYrFDZqcknpaqXfLMeJ7h3eqlkRI227svCEYR0xwERFwcIijb7VXCjt\/tFuhZM+NwMjXAnLOeB5LqV3YWclGLkySXFev2HX\/y0n9JWNou9NeaMVFOcOG6SMnew9n915fn9HYK53bA9vmMfVdSalZiSlGVNyT2scGim7OnIjn3pHn54+in1CaVc2HStI+RwY0B5JcdwG27flY12rrbTP6GnL62Y7msgGQT8ftlNJOUnYlSqQp0YanbZE6oi46ntdtJY6bp5gcdFD1jnv5BRTqXUmoce0vFso3fwx75HeOPnj4KYtenbdaQHQQ7co\/iyb3eHZ4I0xjkOsq1OwrLm\/REW5uoNQjB\/0qiPeekePX08VKWvTtutIDoIduUfxZN7vDs8FKIuObwsDwoRT1S3fN\/uwRESFwiIgAiIgAiIgCrakxb9Q2q646u10Uh38P8Ahx8laVEant5uNinjazakj\/SRgdo\/tlZ6duIudkgmJBkaOjkHY4fcYPiqPeKfIyw+StKPPf0ZqtNkdS3KruNXIZqiZ5DHOA6re7Hb8gplESNt5LwhGCtEIiLg4REQARRNz1LbbW4xySmafOOhh6zge\/kPFRTpNTX5wEMZtVIT7zjh5Hr6J1Bvd7GefSIp6Y7vkjRfOi03fILnRSsb0x2aimDt5HaB2ehwvbhfK7UVFPR2q1yuhfudM84yM8uXzK4r1ZaOhlgoIHy1lyrHAGSR2dgZ447+\/sKu9FTCjoYKYb+ija3PbgKjaSTyzHThUnOcL6Y8Ut8\/u5Vrdo+qqKSNl1rp2xNA2KWN25vx4jy81Y6C0W+2j9UpWRuxgvxlx8TvXainKcpZNtPo9Onhb8wiIkLhERABERABERABERABERABVNsn+WNSOje0Mt1ectIG5jv+T5YVsXFdLXT3aidS1A3He14G9h7Qni0tnghWpuSTjlY\/e87UVToLtW6enZbLyxzqfOIasbwG9\/dw7x5K0xSxzRtkikbIxwy1zTkHxXJRaO0qsai5PijNF45wa0ucQABkk8lVqq8XK+1b6Kwjo4GHElYdw8Dy8N\/wRGLZ2pVjTzu3wJm5363Wlp9pnHSYyImdZ58OXjhQgn1DqN2IGm2ULv4hHXcPU+GB3qRtWl6K3u6ebNXVHe6WXfg9w\/JUvNNFTxmSeVkTBxc9wAHiU14xxuR0VKm9R2XJer9iOtWnbdaWtdDCHzAb5n73eHZ4L2+XyCy02079JUP3RRDi49p7lH1+q2ySGiskRrat24OA6je\/v9O9bbPp2SGp\/EbtN7XWnBbneI\/h3\/JdtxmKpprq6C+vBe7Fgs9QyofeLm8urqgbm8BG08sdvop9EU5Nt3NNOmqcdKCIi4UCIiACIiACIiACIiACIiACIiACIiANNVSU9bA6CpibLG7i1wVcfpWutz3SWK5vhDjkwynqn6HxCImUmsEalGFTdrfnxI+71GqKqB1rnotokbbpKdpO23szw4+i66G7XSio2UlHpieNsYwS8nrHt90ZRFa6awYNEo1G1J3xw9jc5+sa07IipqBvAuyCfVyyh0eagiS8XKescMHYDiGg\/E\/2RFPW+Gxs+Gg95ty8X6E7R2+jt7Nikpo4QeOy3efieJXSiKeTQkkrIIiIOhERABERABERABERABERABERABERAH\/\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": " estefany barrales ",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "5",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:49",
    "ubicacionGPS": "LatLng(lat: -23.6618846, lng: -70.4001486)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:48",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 16:49:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Y7e3CV7yz4GcPMe787I8sH3Ln58Lg6s9j_Y.pF8KYec+HcuA9A8
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "TO2905",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12196",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAMoDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABAEAABAwMBBAcGAggFBQAAAAABAAIDBAURBhIhMUETIlFhgZGxFDJxocHRFfAjJDVCQ3Sy4QcWJTPxJjRigpL\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQMCAggGAQUAAAAAAAAAAQIDETESIUFRBBMyYXGhwdEUIoGx4fCRBTNCUvH\/2gAMAwEAAhEDEQA\/APsyIiACIuO53OmtNG6pqX4aNzWji89gXUrnJSUVd4OieohpYXTTyNjjaMlzjgBVyTU9bcZTDYLeZwDh08oIaPT5nwXPSW6s1XM24XXahoR\/s07SRtd\/9+J+CtcEENNEIoImRRt4NYMAJ7RjndmVOpW3j8sfN+xXG2zVdRh892hh\/wDBjfXAHqn4dqyl60N1hqBzZIBk+Y+oVnRGt8hvho\/7P+WQdoud4mrfZLpbOhIYXdMw9X6jyPqpxESN3ZaEXFWbuERaqmpio6aSoneGRxt2nErgzaSuzyqq4KKnfUVMojiYMucVDWjVMd3uslJDTvEYYXNee7t7OKjIIavWVaKipD4LTC7qR5wZCPr2nlwHNb9LQsk1BdqqJjWxRu6GPZG7Zzy8GhW0JJ3yYevqTqR07Rb\/AJ\/Ba0RFE3hERABR9zvdBaIy6qmG3jIibve7w+6jrvqGb2v8Ls8fT1pJDnbi2PHH8ncsrVpaCmf7XcXe3Vrt7nydZoPdnj8T8lRRSV5GaVWU3ppfV8F7sjq\/Ut7dRvraegbSUjSNmSU5Lt+7AOM57h4qxWaqnrbRTVNQzZkkYCe\/v8eKr8j\/APNt+bEwk2uiO052zuld2ePpntVta0NaGtAAAwAOS7OySVtyfR9cpuWq6x4956iIpG0IiIAIiIAwmljghfNK8MjYC5zjwAVUo6d+rLq+4Vefw6meWwREbpO8\/LPkt+pqiW5VsGn6N2HynbndvGy0DOD6+SsNLTRUdLHTQjEcTQ1oPYqL5VfizJJddU0\/4x83+DaAAMAYAXqIpmsIiIAIi8c4NaXOIAAySeSAPHOaxhe9wa1oySTgAKo9JPrK5OjaXRWmmd1iNxlPL88h3rOsrajVVcbbbnOjt8Z\/WKgD3+4fQc\/grNRUcFBSR0tMzYjjGAPqVXsLvMbfxErLsLz\/AARWoLlHp+ytZSs6N7\/0cIYMBnafD1ULY9Lmqs8dfHWz01XKHFpaerzA7+\/OVHaxrH1t5laMdFSYiB7XHefr5L6BQ04paGnpwMdFG1mPgMJneEFbLIQUekV5X7Mdl+\/QgLdfKu21otd\/Ia93+1U\/uv8AHHz81ZlwXe1QXegfTTNG1gmN+N7Hcio\/SlxlqKSW31e6qoXdG4HiW8AfkR5dqRpSWpGmDlTn1cndPD9GT6Iimaiox0N30xUzTUVKyvppn5LW5MuOWTjPqMngue8awNVQuoYaeajqJCGyOkOOjHPv+XBWO+XqKy0Ykc3pJpDsxRj94\/YLgsenh0c1ZeIY6iqqztObI0HYB34xyP8AZXTVtUkebOnJS6qjLbj3f9OjT77TR22OlpK2nkcN8hEgy5\/M4O9TShJ9H2WYkilMRPON5HLsOQuIaQnpN9svNTBjg128fA4x6JHpbvcvF1qaUdCaXJ+5aEVX\/wCr7bndT3GNp\/8AbHyPrx5rKLWccMgiutvqKJ\/AktyPng+qOrfDcb4mC7acfFeuCzIuWiudDcW7VHVRzYGSGnrAd44hdSm1Y0KSkrphc9fWx26hmq5vcibtY7TyHicBdCq2opHXe80thhd1GkS1JHIchxHLf4jsTRV2SrVHCF1nC8TPR9FI+OovNXvqK1x2T2Nz9T8gFZlixjY42sYMNaAAOwLJEpanc7SpqnBRCIiUqEREAeOcGtLnEAAZJPJVOtrKnVVa62W55joI\/wDfqAMh\/d8O7mvbxX1F\/r\/wS1PxEP8Aup8Zbjs+HqVY6Cgp7bSMpaVmxG3zce09pVF8iu8mOTdeTiuys9\/d7igoKe20jKWlZsRt83HtPaV0OcGtLjuAGSvVprHbFFO\/ONmNxz2bkmWarKMduB83o9u5VlMH+\/WVxfIT2DHn7zl9OXzjR7RPqGm6uBBG84G8E4Iz8\/kvo6tWzY8\/+nK8HLmwqrdM2XV1LcWuDYK4dFNk7s7hn+k+BVqUHq+iNZp+YtGXwESj4Dj8ifJTg\/mszV0mLdO6yt19CcUfebvBZqF1RKQXndHHne8rlj1DTU+m6e5VMm058YAaD1nvG4geIK4LRaai71gvd4GdrfT054NbyOPz2rqjbeQs6zlaNPL8lzMrHaKqvqmXu8uL5j1oISN0Y4g45dwVnREspOTK0qSpxsgiIlKha5YYqiMxzRMlYeLXtBHkVsWmrq6ehp3VFVK2KJvFzvzvQjjtbcrOorHQ2yjkutA40dRERshh6riSOR4H4KwUtTUy0kMjqY7T2NccnZ3kdnL4KuRtm1hdY6h8ZjtVK7qtcMGU8\/zyHerc1oa0NaAABgAclWbsknkyUEnKU4K0X595hUTspqaWokzsRML3YHIDJVd0dTvmjqrxMSZayU4zyaD993gt2s6swWMwMyZKp4jAAySOJ9MeKl7fSCht9PSjf0UYaT2nG8+a5iHiM\/nr24RXm\/wdKIimagiIgAqxfrvVVlWbHaBtTv6s0oO5g5jPLjvPhxXl3v8AUVlYLRYuvO7IlnHBg54Pd2+W9SljskNlpSxp6SeTfLKf3j9lRLTuzHObrPRDHF+iNtntMFnoW08QBcd8jwPecu9ESN3d2aoxUUorAXLdCBaawk4Agf8A0ldS4r1+w6\/+Wk\/pKFk5PsMp+gIs3Opl39WHZ83A\/RX1Uz\/D2Pq18pHEsaD\/APWformqVu2zL0BW6OvqFH3qvo6C2yurH4ZI0sDBxeSOAWV2utNZ6M1NQc8mMHF57AoS2WiqvVa28XpvV409MeDRyyOz15pYx4vBWrUd+rhvJ+XiROkbMLq5tVVyl9PSPxHATkF3Hf3eqv6rGh99HWngDUnd2bgrOmqtuRPoUFGimuIREUjYERQN21RBRy+x0LPbK1xwI2bwD3kegXVFvAlSpGmryZ3Xa80lmp+lqX5eR1I2+8\/4fdQdLarhqOojrr2TFSt60NK04yO\/s9T3LqtOnZDU\/id6eKitdgtYd7Y+zuyPL1ViT3Udo5M6hKs9VTZcvf2MIoo4YmxRMDGMGGtaMABZoimayrag\/XtVWi38WsPTPb2787\/Bp81aVWKP9Y\/xBrXHeIKcBp78N+5VnVJ8EZuj7ucub+2wREUzSFV71dqq5V7rFZz+k3iomzuYOYz6+S33y+Te0i0Wn9JXS7nOHCIff0XbY7JDZaUsaeknk3yyn94\/ZUS0q7Mk5OtLq4Pbi\/RG20Wels9IIIG5cffkI6zz+eS70RI227s0xiorTHAREXBguK9fsOv\/AJaT+krtXFev2HX\/AMtJ\/SV2OUJU7D8CC0BHi1VMmfen2fJo+6tSrmhmbOnyd3WmcfkB9FY01Ttsj0RWoR8Cl1tVSv1kZLwXxwUwDIWujJY48ifPPlyCnq3Udsp6CSeOugkeGZYxkjXOJ5bsrvqqOmrY+jqoI5m9j25x8FHx6WskcwmbQM2gdoZe4jPHgThNqi7XEVKtBy0Nb873NOjqJ9FYI+kGHTvMvHkcAfIBTq8AAGAMAKKuepbZay5ks\/STD+FF1nePIeKR3m9i0dFCmk3ZIllH3S90NoiLqmYbeMtiacvd4fVQYqNSagd+rs\/C6Q\/vuyHkevlj4qRt2lLZQOEskZqp85Mk2\/f244fVNpUe0yfW1Kn9tbc37EbtX3VOW4Nst554O1IPU\/IfFTlqsdDaIg2miHSEdaV29zvHl8ApFFxzb2WB4UFF6pby5v05BERIXCIiAKzZN+sLwcjlu8lZlV6Nxpdf1kR3NqIA5meZwD9HK0J55Rm6N2WuTf3Cr18vk\/tH4TaG9LXSbnObwiH39FlqS9T0r4bZbsOrqo7Iwd8YPPx+mV12SyQ2anIB6Sok3yzHi4\/ZdSUVqZyc5VJOnDa2X6Lv+xjYrFDZqcknpaqXfLMeJ7h3eqlkRI227svCEYR0xwERFwcIijb7VXCjt\/tFuhZM+NwMjXAnLOeB5LqV3YWclGLkySXFev2HX\/y0n9JWNou9NeaMVFOcOG6SMnew9n915fn9HYK53bA9vmMfVdSalZiSlGVNyT2scGim7OnIjn3pHn54+in1CaVc2HStI+RwY0B5JcdwG27flY12rrbTP6GnL62Y7msgGQT8ftlNJOUnYlSqQp0YanbZE6oi46ntdtJY6bp5gcdFD1jnv5BRTqXUmoce0vFso3fwx75HeOPnj4KYtenbdaQHQQ7co\/iyb3eHZ4I0xjkOsq1OwrLm\/REW5uoNQjB\/0qiPeekePX08VKWvTtutIDoIduUfxZN7vDs8FKIuObwsDwoRT1S3fN\/uwRESFwiIgAiIgAiIgCrakxb9Q2q646u10Uh38P8Ahx8laVEant5uNinjazakj\/SRgdo\/tlZ6duIudkgmJBkaOjkHY4fcYPiqPeKfIyw+StKPPf0ZqtNkdS3KruNXIZqiZ5DHOA6re7Hb8gplESNt5LwhGCtEIiLg4REQARRNz1LbbW4xySmafOOhh6zge\/kPFRTpNTX5wEMZtVIT7zjh5Hr6J1Bvd7GefSIp6Y7vkjRfOi03fILnRSsb0x2aimDt5HaB2ehwvbhfK7UVFPR2q1yuhfudM84yM8uXzK4r1ZaOhlgoIHy1lyrHAGSR2dgZ447+\/sKu9FTCjoYKYb+ija3PbgKjaSTyzHThUnOcL6Y8Ut8\/u5Vrdo+qqKSNl1rp2xNA2KWN25vx4jy81Y6C0W+2j9UpWRuxgvxlx8TvXainKcpZNtPo9Onhb8wiIkLhERABERABERABERABERABVNsn+WNSOje0Mt1ectIG5jv+T5YVsXFdLXT3aidS1A3He14G9h7Qni0tnghWpuSTjlY\/e87UVToLtW6enZbLyxzqfOIasbwG9\/dw7x5K0xSxzRtkikbIxwy1zTkHxXJRaO0qsai5PijNF45wa0ucQABkk8lVqq8XK+1b6Kwjo4GHElYdw8Dy8N\/wRGLZ2pVjTzu3wJm5363Wlp9pnHSYyImdZ58OXjhQgn1DqN2IGm2ULv4hHXcPU+GB3qRtWl6K3u6ebNXVHe6WXfg9w\/JUvNNFTxmSeVkTBxc9wAHiU14xxuR0VKm9R2XJer9iOtWnbdaWtdDCHzAb5n73eHZ4L2+XyCy02079JUP3RRDi49p7lH1+q2ySGiskRrat24OA6je\/v9O9bbPp2SGp\/EbtN7XWnBbneI\/h3\/JdtxmKpprq6C+vBe7Fgs9QyofeLm8urqgbm8BG08sdvop9EU5Nt3NNOmqcdKCIi4UCIiACIiACIiACIiACIiACIiACIiANNVSU9bA6CpibLG7i1wVcfpWutz3SWK5vhDjkwynqn6HxCImUmsEalGFTdrfnxI+71GqKqB1rnotokbbpKdpO23szw4+i66G7XSio2UlHpieNsYwS8nrHt90ZRFa6awYNEo1G1J3xw9jc5+sa07IipqBvAuyCfVyyh0eagiS8XKescMHYDiGg\/E\/2RFPW+Gxs+Gg95ty8X6E7R2+jt7Nikpo4QeOy3efieJXSiKeTQkkrIIiIOhERABERABERABERABERABERABERAH\/\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": " estefany barrales ",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "5",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:49",
    "ubicacionGPS": "LatLng(lat: -23.6618846, lng: -70.4001486)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:48",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 16:49:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[12/05/2026 16:49: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('76050301', 'TO2905', 1, 95585912, 0, NOW(), 
				'16:48', '16:38', '16:49', 16, 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778618944.png', 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', null, 'COMPLETADO','LatLng(lat: -23.6618846, lng: -70.4001486)' )
				
[12/05/2026 16:49:04] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200287

12/05/2026 16:49:04 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200287'                    
				WHERE idllamado = 12196			
				TO ENVIO: micorreo@miempresa.cl, null


12/05/2026 16:49:04 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12196			
				
12/05/2026 16:49:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 16:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16:49:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            [12/05/2026 16:49:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12196
                
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                [12/05/2026 16:49:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:49:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            [12/05/2026 16:49:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                
12/05/2026 16:49:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            [12/05/2026 16:49:08] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:49:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                [12/05/2026 16:49:08] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:49:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:49:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:49:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16:49:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12196
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12196
                [12/05/2026 16:49:08] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                [12/05/2026 16:49:08] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:49:08] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                
12/05/2026 16: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 = 12196
                [12/05/2026 16:49:09] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:49:09] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12208
                
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            [12/05/2026 16:49:09] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12208
                
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12208
                
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12208
                
12/05/2026 16: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 = 12208
                
12/05/2026 16: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 = 12208
                
12/05/2026 16:49:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            [12/05/2026 16:49:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:49:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12208
                
12/05/2026 16:49:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12208
                
12/05/2026 16:49:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12208
                
12/05/2026 16: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 = 12208
                
12/05/2026 16:49:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            [12/05/2026 16:49:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            [12/05/2026 16:49:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:49:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12208
                
12/05/2026 16: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 = 12208
                
12/05/2026 16: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 = 12208
                [12/05/2026 16:49:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12208
                
12/05/2026 16: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 = 12208
                
12/05/2026 16: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 = 12208
                
12/05/2026 16: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 = 12208
                
12/05/2026 16: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 = 12208
                
12/05/2026 16: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 = 12208
                
12/05/2026 16: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 = 12208
                
12/05/2026 16: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 = 12208
                
12/05/2026 16: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 = 12208
                
12/05/2026 16: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 = 12208
                
12/05/2026 16: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 = 12208
                
12/05/2026 16: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 = 12208
                
12/05/2026 16:49:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            [12/05/2026 16:49:15] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                [12/05/2026 16:49:15] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                [12/05/2026 16:49:15] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                [12/05/2026 16:49:15] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            [12/05/2026 16:49:15] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:49:15] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            [12/05/2026 16:49:15] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            [12/05/2026 16:49:16] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            [12/05/2026 16:49:16] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16: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 = 12208
                
12/05/2026 16: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 = 12208
                
12/05/2026 16:49:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:42 - logentry: =========================================
FECHA: 12/05/2026 16:49:42
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-aHmPzmIvXGvaeqXp40jw.GA0k_-O7M1YSCJJX6TzvisuTnvrFTb
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "96808790",
    "serieinterna": "EP2500",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12208",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACOAOYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABFEAABAwMBBAcFAwgIBwAAAAABAAIDBAURBhIhMUETUWFxgZGhFCIyscEVI9EWM0JDUmLh8CQ0NXOSosLxByZEU4Ky0v\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADERAAIBAgMECQQCAwAAAAAAAAABAgMREiExBDJBURMiYXGRobHR4RSBwfAjMyRi8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBFwrK2noKZ1TVSCONnEn5DrWY9puurHuZSh1DbCcGU\/G\/1393DvVoxvnwMalZQeFZt8C2uWqLZbXdG6Uzy5x0cOHEHt5BV4v2oK\/wDs+ydG08Hzk479+Fa2zT9utTG9BTtdKOMzxl5Pfy8FZq14rRGeCtPelbsXuzMGDWc\/ve1UdNnfs4Bx2fCU+xtUO9519YHDgA3d8lp0TG+SJ+mjxk\/FmYFDrCD3mXOlnA37Dm8f8v1Xyb5qK2\/2laBNGDgyQHl17s\/RalEx80Pp2t2bXn6lNb9VWm4AAVHQSE46Ob3T58PVXKrblYLbdWn2inDZOUsfuvHjz8cqNZLNX2iokjfcDUUOz93G4e80\/QY6jvUNRauiYyrRkozV1zX5Rdoi5snhklfEyVjpI\/jY1wJb3jkqHRc6IiIAi8JAGScAKjrtW22kk6CAvrJ84DIBkZ7\/AMMqVFvQpOpCmrydi9UeqrqSiANVUxQ54dI8DPcs7\/zTfG\/oWqAntEhHz+Sk0ujLZG4yVRlrJXHJdK8jJ8Pqr4UtWYdNUn\/XH7vL5Ok+srJD8NQ+U9UcZ+uFFGuaSTPQUNXIc4A2Rv8AIlXsFsoKb8xRQRnrbGAVJAAGAMAKLw5E4K71kl3L5I9BV+3UcdT0T4g8Z2X8QpKIqHQk0swiIhIREQBERAFEuVyprVROqql+y0bmgcXO5Adq7zTRU8L5pnhkbBlznHcAspQQS6uuH2lWtLKCndswwcnnt9M+XJXjG+b0MK1RxtGG8\/257QW+s1RUsud3GxRsOYKYcHDrPZ28+5axrWsYGMaGtaMAAYAC9AAGAMAL1RKVyaVJU1zb1YREVTYIiIAiIgCrbxfKSyxMdUEue8+7G34iOZXW63WmtFG6oqHdjGDi89QX5\/fYqypgZea\/3JKt+Iof2YwP9vnzWtOGJ56HFtW0OlFqGvoai+3qaojp7Zag72quYHZyAY2EZ8Dj0UWu0q+225tbb6iU11N95I7aP3vM7vPv7VJ0fbNmB92qBtT1J9zawdhvYe36LTI5YHaJEKPTxx1NXp2fJBs9yZdbbHVNGy47ns\/ZcOIXxdr5Q2eEuqJAZCPdhacud+A7SsrUTVmnL3V2y3RtAry00+TjYLjgEeORv6gr61aYgpJjW1z\/AGutccl7t7WnsB495Rxis3oIVqs1giussm+HyQG0l61Q3brpDb6E7xCwe9IO3+Pkr222WgtTMUkAa7GDI7e4+KnoqubeXA3hQjF4nm+bCIiobhERAEREAREQBERAERVWorqbTa3SRDaqJSI4W9bjz8B9FKV3ZFZzUIuT4FVe5pdQXdlipXlsER2qqUDIBHL+efctNBBFTQMghYGRxjZa0cgqvTVpFrtjTI0+1VAD53HjnkPDPnlXCtN8FoY0IPOpPV+S5BERUOgIiIAiIgChXW6U9oonVNQd3BrRxeeoLpX19PbaR9VVP2I2+bj1DrKzVtoajUtyF4uTCykjP9GpzwPb3dfX3K8Y8Xoc9Wq08EN5+XaztarVUXmqbeby0EEZp6Y\/C1vIkKNqqnN21JbrWyTBLSXfugnJPfhvyWxWOsL\/ALU1nX15OWRAtZ57I9AVeMm25cjnrUoxjGlq5PPt4s10UTIYmRRtDWMaGtaOQHAL7RFiegZTW9O+NlHc4N0tNJja9R5Eequ7NdobxQtnYQ2Vu6WPmxy+rzRC4Wipptnac+M7A\/eG8eqyNltM9VbIbpaJ+hr4XmORhOGSYOfkR2LZWlDPgcE3OltDcVdNad3I3iLMw6udSyMgvdDJRyOGdtoy0+HEeqvaW40VcM0tVFN2NcCfLis3FrU6oVqc8k8\/MkoiKpqEREAREQBERAEREAWSomflHqqS4Ow+hofci6nO5HHfk57ArPVlxNvsUpYcSTnomnO8ZG8+WVJsNtFqtEFMfzmNqQ\/vHj5cPBaLqxuctT+SqocFm\/wWKIizOoIiIAiIgCi3C40trpjUVcoYwcBzceoDrUO9ahpbQzY\/PVTtzIGHec8M9QVbQWKqu9V9p38ZP6ql4Bg7R9PNXUcry0OepWd8FPOXku840VFVaqrW3K5NMdBGfuKfPxdv4nn3LWtaGtDWgAAYAHJAABgDAC9USlctSpKmuberItyqRSWypqCcdHE5wx143eqz2gYcW6qqDxkm2cnicDP+oqw1hO6DTdRskgyFrMjqJGfQEeK+dGxGPTcBP6xz3f5iPorrKmzCTxbVFck34l6iIsjtCy+mc0d+u9u4MEnSMHUM\/gQtQshc6yns2uG1kzsRTU33haMnOCBu\/wDELSGd0cu0NQcJvg\/U1c0MVRGY54mSsPFr2gg+BVHV6LtFQS6JslM\/kYn7s9xz6YUY6hu92lMdkt+xEf8AqKgbu\/q+auLNS3GlpnNuVYKqVztoEDc3szz8ktKHEi9Ku7YbrnYqBpm70mfYb\/LjO5koOB6n5IIdZ04x7RSVOOvHlwC1CJ0j4lvpoLdbXc2Zj7Y1TD+fscb\/AO6d+BKflhURf1uw1kHPmd3XvAWnRRijxQ6Got2o\/ukzPQ63s0uNt80Of2484\/w5VpS3i21pAp62GRx4N2wHeR3812noqSp\/rFLDN\/eRh3zVVVaPstSN1O6B37UTyPQ5Hop6jH+RHk\/L3LxFlfsC+2s7VquxlYMfcz8O3jkfJdKXVU9LVNo77RGkkPCUfAf4doJTBfddwtoSdqicfTxNMi8a4OaHNIIIyCOaLM6TMX8faGp7Vbc5aw9M8Dq47z3N9VqFmaI+1a9rXnJbTw7Ld\/A4aP8A6WmV58Ec1DNzlzfpkERFQ6QiL5e9kbC+RwY1oyXOOAEB9LPXjUUjagW2zR+01ztxLd7Y\/p9BzUSsvNbqGofbbI0tp+E1WQRgc8dXzKu7PZKSy0\/RwN2pHD35XD3nfgOxaWUc5anI6kqzw08lxft7kOyabZQu9srne1V7ztOkcchh7M8+1XqIqNtu7OinTjTjhigiIoLmZ15Js2KNufjnaOPY4q3sUPQWKijPHoGk95GfqqHX7iaSihHF8pIHcMfVSavUctHM622+2VNVPTgMLi0gZwMHA3kY38ltZuCSPP6SMNonKXJL8mkVTcdTWu25a+oEsoB+7iO0e4ngPFVTrdqa9AtrqplBTuO+KPe4jq3fUq3tenbdaQHQQ7co\/Wyb3eHV4KtorVm3SVam5Gy5v2KgV2pb8z+hU7LdTO4SyE7RHYfwHiqy9afZYoaS4vmkq5BUDptsDDufPuPHPFb5VGqqcVGnKsYyWNDx2YIPyyrRn1kloZVtmTpuUneSX7kWrS0sBb8JG7uX0q6wT+0WGik59C1p3cxu+isVk1Z2O2EsUVLmERFBYIiIAiIgCj1tFT3ClfTVMYfG8bx1do7VIXKpqYqOmkqJ3hkcbdpxKldhErWeLQzVjqpbLcKuzVcj5IogHwPONzer14dhRNP08l5uFZe6uM9BP7kDHb9wOM+GMeJRaTtfM5Nnx4Orpwvy4H3ZPd1jeATvIBx4rTrMUh9m\/wCIFZG7hUU4LN3E+6fo5adVnqi+zbrXJv1CIqG9aiNLN9n22P2mvfuAAyGd\/b8uaqotuyNqlSNON5E+63mis8O3VSe+Rlkbd7ndw+qoGUt01bI2Wt2qK2NOWRD4pP56z4BTLVpgMm9vu8ntla87Xvb2s\/H5DktEr3Ud3U58E62dTKPL39jhR0dPQUzKemiEcbBuA+Z6yu6IszqSSVkEREJCIiAyOsPvrzZqdvxGX5uaPotbgDOBx4rFVUdV+X1LDVVImb0hkiGB7jTkhvhj681tlpPJJHHs7xTqS7beCCIizOwLjVQippJoCMiWNzD4jC7IhDV1Yzmh5zJYTC7cYJXMx2Hf8yVo1mNK\/dXi+U3ANqMtHZl38Fp1epvM59lf8MVyy8MgiIqHSEREARFS3TVFDb39BCDWVROBDCc7+onl6lSk3oUnUjBXk7FrUVENJA6eokbHGwZLnFZRoqtZVm04PgtEL9w4GUj6\/LvXRlmuuoqhtRe3GnpWHaZSsOCe\/q7+PctTFDHBE2KFjY42DDWtGAAr5Q01Oa0q76ytHzfweQwxU8LIYWBkbBhrWjcAi6Iszs0MxqtklBW0F8hbk079iXHEtP8Au4eK0kUrJomSxuDmPaHNcOYPArnWUkddRy0swyyVpaeztWe0zXS2+pk0\/cDsywk9A48Ht44HzHlyWm9HuOW\/RVs9JevyaCvZUPoJ20jtmcsPRntWTt+ndR2573UtTSROkOXyO9557MlpW0RRGbirF6lCNSSk27rkZuG16odMx9TeYtkOBc1jeIHLc0clpERQ5XL06aho393cIiKpoERQbneKG0xh9XMGkjLWDe53cFKTehWUlFXk7InKnvWo6S0sMbSJ6t25kDN5z29XzVZ9oX3UY2bdCbfROODUPOHEdn8PNWlo03Q2lxlAM9SeM0m857OpXwqO8c3Szq5UlZc3+FxMvZI6uXXAfcMGpa0yPHVlm4eAI8lv1k7G0VGtrtU5JEQMfDnkD\/SVrFNV3aK7FHDB97CIiyO0KNcKNlwoZaR73sEoxtMOCOakomhDSasymsOnxZXTyOqn1Es2A5zhjh\/urlF45waMuIA6ypbbd2VhCNOOGOh6ipq7Vdposj2jp5ACdiEbXDt4Kt+2NR3fdbLcKSIgYlmG\/vGdx8irKDZlLaaadlm+SzNPNNFTxmSeVkTBxc9wAHiVRV+srfAeiog+unJw1sYOM9\/PwyuUekHVTxLeLlPVvznYadloPP8AkYV7R26jt7Cykpo4QeOyN57zxKnqLtK3rz0WFeL9jOst2ob771yqjQUrv1EW5xHUf4nwV3bLJQWiMNpYRt4wZXb3u8fwVgihzbyLwoQg8TzfNhERUNwiIgCp9QWJt4ga+J\/Q1cO+KQdfUT1Z8lcIpTad0UnCM4uMtDNWrUroJDbr9ilq48APfua8dZI3Dv4LSNcHNDmkEEZBHNQ7haaG6R7FZTtkIGGv4Ob3HiqP8kq2i\/sm8zwt\/wC3Jw9N3or9WXYc6dallbEvM1KLLiLWdP7vTUlQAOJxv7OAXu1rObdsUcH724\/imDtRb6j\/AEl4GnUCvvdutjSaqqY137A95x8Aqb8nb7W5FyvrmtO4sgBw4eg9FNotJWmjc17oTUyA525jn04eYS0VqyOkrS3Y27\/ZEB97vN8+6stE6ngcN9VPu3dnLyyVLt2k6Omf7TXOdXVR3ufKcjPcePiptVqC0UGWzVsQc3dsMO0R2YHBVkmubYHbMMFVMQf0WAbuvirdZrqqxk+hjK9Wd3+8DSAADAGAF6sv+VVymP8ARdPVLhx2nE8P8K9+09WTbobNBHnnI7h\/mCr0b4m31VN7t39mX9PQ0tLLNLBC2N87tqRw\/SO\/efMqQsxsazn\/AFlHT+Rx6FPsjVU26e+RsB49E38AEw82QqzWUab8EvyadfEk0ULdqWRkbetzgAs3+Styl\/rOoqp4PFrdrH\/t9F9R6Gt21tVFRVTuzv2ngZ9M+qYY8yekrPSHi\/8ApZz6hs9MMyXGA9jHbZ8m5VbNre3bWxSQVFU88AxmAT47\/RTYNLWSD4aFjj1yEu+ZVlBS09M3Zp4I4h1RsDfkl4IW2iWrS8zNtuOqrocUlBHQRu4STcR58f8ACvRpCeteH3e7T1B\/YZuA58\/wWoRMbWmQ+mjL+xuXf7IgUNjtluwaWjja8cHkbTvM71PRFRtvU3jGMVaKsERFBYIiIAiIgCIiAIiIAiIgCIiAjV9dBbaOSqqHbLGDxJ5ALORQ3fVJNRLUvoLa4\/dxs+KQdv8AHd2K0vFkku9dSOlnAo4HbT4dn4z\/ADu81btaGtDWgAAYAHJaJqKy1OaUJVZtSyivP4Kii0rZ6JoxSiZ4\/Tm94+XD0VrHDFC3ZijZG3qa0AL7RUbb1NoU4QyirBERQXCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "SOUTHERNROCK GEOPHYSICS SA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "jazmin Vega",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "3",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "552892080",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:49",
    "ubicacionGPS": "LatLng(lat: -23.6618625, lng: -70.4001016)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:49",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 16:49:42
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-aHmPzmIvXGvaeqXp40jw.GA0k_-O7M1YSCJJX6TzvisuTnvrFTb
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "96808790",
    "serieinterna": "EP2500",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12208",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACOAOYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABFEAABAwMBBAcFAwgIBwAAAAABAAIDBAURBhIhMUETUWFxgZGhFCIyscEVI9EWM0JDUmLh8CQ0NXOSosLxByZEU4Ky0v\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADERAAIBAgMECQQCAwAAAAAAAAABAgMREiExBDJBURMiYXGRobHR4RSBwfAjMyRi8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBFwrK2noKZ1TVSCONnEn5DrWY9puurHuZSh1DbCcGU\/G\/1393DvVoxvnwMalZQeFZt8C2uWqLZbXdG6Uzy5x0cOHEHt5BV4v2oK\/wDs+ydG08Hzk479+Fa2zT9utTG9BTtdKOMzxl5Pfy8FZq14rRGeCtPelbsXuzMGDWc\/ve1UdNnfs4Bx2fCU+xtUO9519YHDgA3d8lp0TG+SJ+mjxk\/FmYFDrCD3mXOlnA37Dm8f8v1Xyb5qK2\/2laBNGDgyQHl17s\/RalEx80Pp2t2bXn6lNb9VWm4AAVHQSE46Ob3T58PVXKrblYLbdWn2inDZOUsfuvHjz8cqNZLNX2iokjfcDUUOz93G4e80\/QY6jvUNRauiYyrRkozV1zX5Rdoi5snhklfEyVjpI\/jY1wJb3jkqHRc6IiIAi8JAGScAKjrtW22kk6CAvrJ84DIBkZ7\/AMMqVFvQpOpCmrydi9UeqrqSiANVUxQ54dI8DPcs7\/zTfG\/oWqAntEhHz+Sk0ujLZG4yVRlrJXHJdK8jJ8Pqr4UtWYdNUn\/XH7vL5Ok+srJD8NQ+U9UcZ+uFFGuaSTPQUNXIc4A2Rv8AIlXsFsoKb8xRQRnrbGAVJAAGAMAKLw5E4K71kl3L5I9BV+3UcdT0T4g8Z2X8QpKIqHQk0swiIhIREQBERAFEuVyprVROqql+y0bmgcXO5Adq7zTRU8L5pnhkbBlznHcAspQQS6uuH2lWtLKCndswwcnnt9M+XJXjG+b0MK1RxtGG8\/257QW+s1RUsud3GxRsOYKYcHDrPZ28+5axrWsYGMaGtaMAAYAC9AAGAMAL1RKVyaVJU1zb1YREVTYIiIAiIgCrbxfKSyxMdUEue8+7G34iOZXW63WmtFG6oqHdjGDi89QX5\/fYqypgZea\/3JKt+Iof2YwP9vnzWtOGJ56HFtW0OlFqGvoai+3qaojp7Zag72quYHZyAY2EZ8Dj0UWu0q+225tbb6iU11N95I7aP3vM7vPv7VJ0fbNmB92qBtT1J9zawdhvYe36LTI5YHaJEKPTxx1NXp2fJBs9yZdbbHVNGy47ns\/ZcOIXxdr5Q2eEuqJAZCPdhacud+A7SsrUTVmnL3V2y3RtAry00+TjYLjgEeORv6gr61aYgpJjW1z\/AGutccl7t7WnsB495Rxis3oIVqs1giussm+HyQG0l61Q3brpDb6E7xCwe9IO3+Pkr222WgtTMUkAa7GDI7e4+KnoqubeXA3hQjF4nm+bCIiobhERAEREAREQBERAERVWorqbTa3SRDaqJSI4W9bjz8B9FKV3ZFZzUIuT4FVe5pdQXdlipXlsER2qqUDIBHL+efctNBBFTQMghYGRxjZa0cgqvTVpFrtjTI0+1VAD53HjnkPDPnlXCtN8FoY0IPOpPV+S5BERUOgIiIAiIgChXW6U9oonVNQd3BrRxeeoLpX19PbaR9VVP2I2+bj1DrKzVtoajUtyF4uTCykjP9GpzwPb3dfX3K8Y8Xoc9Wq08EN5+XaztarVUXmqbeby0EEZp6Y\/C1vIkKNqqnN21JbrWyTBLSXfugnJPfhvyWxWOsL\/ALU1nX15OWRAtZ57I9AVeMm25cjnrUoxjGlq5PPt4s10UTIYmRRtDWMaGtaOQHAL7RFiegZTW9O+NlHc4N0tNJja9R5Eequ7NdobxQtnYQ2Vu6WPmxy+rzRC4Wipptnac+M7A\/eG8eqyNltM9VbIbpaJ+hr4XmORhOGSYOfkR2LZWlDPgcE3OltDcVdNad3I3iLMw6udSyMgvdDJRyOGdtoy0+HEeqvaW40VcM0tVFN2NcCfLis3FrU6oVqc8k8\/MkoiKpqEREAREQBERAEREAWSomflHqqS4Ow+hofci6nO5HHfk57ArPVlxNvsUpYcSTnomnO8ZG8+WVJsNtFqtEFMfzmNqQ\/vHj5cPBaLqxuctT+SqocFm\/wWKIizOoIiIAiIgCi3C40trpjUVcoYwcBzceoDrUO9ahpbQzY\/PVTtzIGHec8M9QVbQWKqu9V9p38ZP6ql4Bg7R9PNXUcry0OepWd8FPOXku840VFVaqrW3K5NMdBGfuKfPxdv4nn3LWtaGtDWgAAYAHJAABgDAC9USlctSpKmuberItyqRSWypqCcdHE5wx143eqz2gYcW6qqDxkm2cnicDP+oqw1hO6DTdRskgyFrMjqJGfQEeK+dGxGPTcBP6xz3f5iPorrKmzCTxbVFck34l6iIsjtCy+mc0d+u9u4MEnSMHUM\/gQtQshc6yns2uG1kzsRTU33haMnOCBu\/wDELSGd0cu0NQcJvg\/U1c0MVRGY54mSsPFr2gg+BVHV6LtFQS6JslM\/kYn7s9xz6YUY6hu92lMdkt+xEf8AqKgbu\/q+auLNS3GlpnNuVYKqVztoEDc3szz8ktKHEi9Ku7YbrnYqBpm70mfYb\/LjO5koOB6n5IIdZ04x7RSVOOvHlwC1CJ0j4lvpoLdbXc2Zj7Y1TD+fscb\/AO6d+BKflhURf1uw1kHPmd3XvAWnRRijxQ6Got2o\/ukzPQ63s0uNt80Of2484\/w5VpS3i21pAp62GRx4N2wHeR3812noqSp\/rFLDN\/eRh3zVVVaPstSN1O6B37UTyPQ5Hop6jH+RHk\/L3LxFlfsC+2s7VquxlYMfcz8O3jkfJdKXVU9LVNo77RGkkPCUfAf4doJTBfddwtoSdqicfTxNMi8a4OaHNIIIyCOaLM6TMX8faGp7Vbc5aw9M8Dq47z3N9VqFmaI+1a9rXnJbTw7Ld\/A4aP8A6WmV58Ec1DNzlzfpkERFQ6QiL5e9kbC+RwY1oyXOOAEB9LPXjUUjagW2zR+01ztxLd7Y\/p9BzUSsvNbqGofbbI0tp+E1WQRgc8dXzKu7PZKSy0\/RwN2pHD35XD3nfgOxaWUc5anI6kqzw08lxft7kOyabZQu9srne1V7ztOkcchh7M8+1XqIqNtu7OinTjTjhigiIoLmZ15Js2KNufjnaOPY4q3sUPQWKijPHoGk95GfqqHX7iaSihHF8pIHcMfVSavUctHM622+2VNVPTgMLi0gZwMHA3kY38ltZuCSPP6SMNonKXJL8mkVTcdTWu25a+oEsoB+7iO0e4ngPFVTrdqa9AtrqplBTuO+KPe4jq3fUq3tenbdaQHQQ7co\/Wyb3eHV4KtorVm3SVam5Gy5v2KgV2pb8z+hU7LdTO4SyE7RHYfwHiqy9afZYoaS4vmkq5BUDptsDDufPuPHPFb5VGqqcVGnKsYyWNDx2YIPyyrRn1kloZVtmTpuUneSX7kWrS0sBb8JG7uX0q6wT+0WGik59C1p3cxu+isVk1Z2O2EsUVLmERFBYIiIAiIgCj1tFT3ClfTVMYfG8bx1do7VIXKpqYqOmkqJ3hkcbdpxKldhErWeLQzVjqpbLcKuzVcj5IogHwPONzer14dhRNP08l5uFZe6uM9BP7kDHb9wOM+GMeJRaTtfM5Nnx4Orpwvy4H3ZPd1jeATvIBx4rTrMUh9m\/wCIFZG7hUU4LN3E+6fo5adVnqi+zbrXJv1CIqG9aiNLN9n22P2mvfuAAyGd\/b8uaqotuyNqlSNON5E+63mis8O3VSe+Rlkbd7ndw+qoGUt01bI2Wt2qK2NOWRD4pP56z4BTLVpgMm9vu8ntla87Xvb2s\/H5DktEr3Ud3U58E62dTKPL39jhR0dPQUzKemiEcbBuA+Z6yu6IszqSSVkEREJCIiAyOsPvrzZqdvxGX5uaPotbgDOBx4rFVUdV+X1LDVVImb0hkiGB7jTkhvhj681tlpPJJHHs7xTqS7beCCIizOwLjVQippJoCMiWNzD4jC7IhDV1Yzmh5zJYTC7cYJXMx2Hf8yVo1mNK\/dXi+U3ANqMtHZl38Fp1epvM59lf8MVyy8MgiIqHSEREARFS3TVFDb39BCDWVROBDCc7+onl6lSk3oUnUjBXk7FrUVENJA6eokbHGwZLnFZRoqtZVm04PgtEL9w4GUj6\/LvXRlmuuoqhtRe3GnpWHaZSsOCe\/q7+PctTFDHBE2KFjY42DDWtGAAr5Q01Oa0q76ytHzfweQwxU8LIYWBkbBhrWjcAi6Iszs0MxqtklBW0F8hbk079iXHEtP8Au4eK0kUrJomSxuDmPaHNcOYPArnWUkddRy0swyyVpaeztWe0zXS2+pk0\/cDsywk9A48Ht44HzHlyWm9HuOW\/RVs9JevyaCvZUPoJ20jtmcsPRntWTt+ndR2573UtTSROkOXyO9557MlpW0RRGbirF6lCNSSk27rkZuG16odMx9TeYtkOBc1jeIHLc0clpERQ5XL06aho393cIiKpoERQbneKG0xh9XMGkjLWDe53cFKTehWUlFXk7InKnvWo6S0sMbSJ6t25kDN5z29XzVZ9oX3UY2bdCbfROODUPOHEdn8PNWlo03Q2lxlAM9SeM0m857OpXwqO8c3Szq5UlZc3+FxMvZI6uXXAfcMGpa0yPHVlm4eAI8lv1k7G0VGtrtU5JEQMfDnkD\/SVrFNV3aK7FHDB97CIiyO0KNcKNlwoZaR73sEoxtMOCOakomhDSasymsOnxZXTyOqn1Es2A5zhjh\/urlF45waMuIA6ypbbd2VhCNOOGOh6ipq7Vdposj2jp5ACdiEbXDt4Kt+2NR3fdbLcKSIgYlmG\/vGdx8irKDZlLaaadlm+SzNPNNFTxmSeVkTBxc9wAHiVRV+srfAeiog+unJw1sYOM9\/PwyuUekHVTxLeLlPVvznYadloPP8AkYV7R26jt7Cykpo4QeOyN57zxKnqLtK3rz0WFeL9jOst2ob771yqjQUrv1EW5xHUf4nwV3bLJQWiMNpYRt4wZXb3u8fwVgihzbyLwoQg8TzfNhERUNwiIgCp9QWJt4ga+J\/Q1cO+KQdfUT1Z8lcIpTad0UnCM4uMtDNWrUroJDbr9ilq48APfua8dZI3Dv4LSNcHNDmkEEZBHNQ7haaG6R7FZTtkIGGv4Ob3HiqP8kq2i\/sm8zwt\/wC3Jw9N3or9WXYc6dallbEvM1KLLiLWdP7vTUlQAOJxv7OAXu1rObdsUcH724\/imDtRb6j\/AEl4GnUCvvdutjSaqqY137A95x8Aqb8nb7W5FyvrmtO4sgBw4eg9FNotJWmjc17oTUyA525jn04eYS0VqyOkrS3Y27\/ZEB97vN8+6stE6ngcN9VPu3dnLyyVLt2k6Omf7TXOdXVR3ufKcjPcePiptVqC0UGWzVsQc3dsMO0R2YHBVkmubYHbMMFVMQf0WAbuvirdZrqqxk+hjK9Wd3+8DSAADAGAF6sv+VVymP8ARdPVLhx2nE8P8K9+09WTbobNBHnnI7h\/mCr0b4m31VN7t39mX9PQ0tLLNLBC2N87tqRw\/SO\/efMqQsxsazn\/AFlHT+Rx6FPsjVU26e+RsB49E38AEw82QqzWUab8EvyadfEk0ULdqWRkbetzgAs3+Styl\/rOoqp4PFrdrH\/t9F9R6Gt21tVFRVTuzv2ngZ9M+qYY8yekrPSHi\/8ApZz6hs9MMyXGA9jHbZ8m5VbNre3bWxSQVFU88AxmAT47\/RTYNLWSD4aFjj1yEu+ZVlBS09M3Zp4I4h1RsDfkl4IW2iWrS8zNtuOqrocUlBHQRu4STcR58f8ACvRpCeteH3e7T1B\/YZuA58\/wWoRMbWmQ+mjL+xuXf7IgUNjtluwaWjja8cHkbTvM71PRFRtvU3jGMVaKsERFBYIiIAiIgCIiAIiIAiIgCIiAjV9dBbaOSqqHbLGDxJ5ALORQ3fVJNRLUvoLa4\/dxs+KQdv8AHd2K0vFkku9dSOlnAo4HbT4dn4z\/ADu81btaGtDWgAAYAHJaJqKy1OaUJVZtSyivP4Kii0rZ6JoxSiZ4\/Tm94+XD0VrHDFC3ZijZG3qa0AL7RUbb1NoU4QyirBERQXCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "SOUTHERNROCK GEOPHYSICS SA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "jazmin Vega",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "3",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "552892080",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:49",
    "ubicacionGPS": "LatLng(lat: -23.6618625, lng: -70.4001016)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:49",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 16:49:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:96808790

[12/05/2026 16:49:42] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('96808790', 'EP2500', 1, 95585912, 0, NOW(), 
				'16:49', '16:38', '16:49', 16, 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778618982.png', 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', null, 'COMPLETADO','LatLng(lat: -23.6618625, lng: -70.4001016)' )
				
[12/05/2026 16:49:42] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200288

12/05/2026 16:49:42 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200288'                    
				WHERE idllamado = 12208			
				TO ENVIO: micorreo@miempresa.cl, null


12/05/2026 16:49:42 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12208			
				
12/05/2026 16:49:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 16: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 = 12208
                
12/05/2026 16: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 = 12208
                
12/05/2026 16:49:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12208
                
12/05/2026 16: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 = 12208
                
12/05/2026 16: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 = 12208
                
12/05/2026 16: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 = 12208
                
12/05/2026 16:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                [12/05/2026 16:49:45] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            [12/05/2026 16:49:45] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                [12/05/2026 16:49:45] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                [12/05/2026 16:49:45] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            [12/05/2026 16:49:45] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            [12/05/2026 16:49:45] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            [12/05/2026 16:49:46] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:49:46] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                [12/05/2026 16:49:46] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:49:46] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12208
            GROUP BY l.idllamado;
            
12/05/2026 16:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12208
                
12/05/2026 16:49:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            [12/05/2026 16:49:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                [12/05/2026 16:49:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            [12/05/2026 16:49:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                [12/05/2026 16:49:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:49:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                [12/05/2026 16:49:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                [12/05/2026 16:49:51] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                [12/05/2026 16:49:51] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            [12/05/2026 16:49:51] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:49:51] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                [12/05/2026 16:49:57] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            [12/05/2026 16:49:57] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            [12/05/2026 16:49:57] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                [12/05/2026 16:49:58] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                [12/05/2026 16:49:58] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:49:58] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            [12/05/2026 16:49:58] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                [12/05/2026 16:49:58] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                [12/05/2026 16:49:59] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                [12/05/2026 16:49:59] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:49:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:50:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16: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 = 12214
                
12/05/2026 16:50:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12214
                
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12214
                
12/05/2026 16: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 = 12214
                
12/05/2026 16: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 = 12214
                
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12214
                
12/05/2026 16: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 = 12214
                
12/05/2026 16: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 = 12214
                
12/05/2026 16:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:23 - logentry: =========================================
FECHA: 12/05/2026 16:50:23
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-LHRkwoa6mw_Yp+Ex9vxQ9xk2EQSnn2MjZ44_p2Ls62z0Jlcmrt_
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76112106",
    "serieinterna": "EP2832",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12214",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABqAMkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQBAgf\/xAA\/EAABAwMCAwQJAQQJBQAAAAABAAIDBAURBiESMUETUWGRFCIycYGhscHRMxUj4fAHFiQlQkNSYrI0U3KCkv\/EABgBAAMBAQAAAAAAAAAAAAAAAAACAwQB\/8QALxEAAgECBAMGBwADAAAAAAAAAAECAxESITFBBFFhIjJxgZHRExShscHh8CMzQv\/aAAwDAQACEQMRAD8A\/ZkREAEREAERV1xv9stmW1NS3tAP02es7yHL4rqTegspxgrydixRZf8ArZWV2RaLPNOM4Esmzfl+UFNq+tGZaunom9WtAJ+QP1T4HvkQ+Zi+4m\/BGoRZgaWuj95tSVZ8G8QH\/JXtupJKKhjp5amSpe3PFLISS45z1JStJaMeE5yfajbzR1IiJSwRFBWVlPQUz6iplEcbBuT9B3lBxtJXZOizdo1RLd7vLDHTtZRxsLzI4+sAOp6b7fNey62tsdQ6OOOaWJntTMb6o3wn+HK9rEFxVJxxXyNGi+IpWTRNljcHMeMtI6hfaQ0BERABEXLcLlSWun7ermEbeQHMuPcB1Qlc42oq7OpVV11Fb7SC2WTtZ+kMe7ifHu+KqPT73qbLLew2+hOQ6d\/tPHh\/DzVpadM0FqIlDe3qOfbSjJB8B0+qphUe8Zvizqf6llzf4W58WOe81tRJWV8TaemezEUH+Ib8z\/HyV2iJG7svCOGNm7hERcHCjnnipoXzTyNjjYMuc44AUddXU1tpXVNVIGRt8ye4DqVmIaOu1dUirri+ntjDmKAc5B\/PXy708Y3zehCrVwvDFXk\/67JH3S56mlfTWkGkoxtJUvG5938PkrC26TtlAOKSIVUx5yTAO38ByCt4YYqeFkMLAyNgw1rRsApEOeyyQsKCviqZv+0R4AAMAYAXqIkNIREQARFxXW601oo3VFQ7wYwc3nuC6lfJCykoq70F0utLaKQ1FS7bk1g9p57gs0KesvrXXi9N7G307DJHS7jiAHPv37+vTZdNstFVeq1t4vTfV509MeTR0yO769V0a0rPR7J6MzJlqnhjQBkkcz9h8VWNk8K1MNRucHUnlFaLn4+xlbDRVd5lnpYMQQyPD6qVv+nfDR89vwt9DaaGC3OoI4GiBzeFwxu7xJ6nxUVitTLRa46cNHakcUrsbucfxyVkuVJ4nkU4Xh1Th2tX\/WMzpGR9JJXWWUkupJSWE7ZaT3fP\/wBlpllro0WzWtBXD1Y6wdlId93ezv5t8lqVyebvzH4bJOm\/+Xby2CIuK73D9l2yarEfaOYPVbnGSkSu7F5SUU2zkvuoYbQ1sMbO3rJdo4W\/In4+a4bVpyapnbc7681FQ7dsDvZj7sj7clJp2yu7Q3q44krakcbQR+mD9DjHuWgY9kgyxwcM4yDlO3hyiZoQdV46mmy\/L6noAAwBgBeoimawiIgAo5poqeF80zwyNgy5zjsApFlb5NJfbzHp+meWwx+vVSAZxjfHzHxPgmjG7JVqnw43WbeniRUMM2r7ga6sBbbad2IYOXGfH7+S1zWhrQ1oAAGAB0XxTwRUtPHBC0MjjaGtA6BSIlK\/gco0sCu829WEREpYIiIAIiz101MGymgtEfpla7YcO7WH7\/QdV1Rb0J1KkaavI7r3fKey04c\/95O\/9KJvNx+wVVaLNV3KrbeL4eJ5A7GnIwGjpkfPHmumz6cfBUm5XWX0quduCd2x+7x\/kK\/TtqKtEhGnKq8dTJbL3Cw9W83rXsUAy6GleAQeXqbu+ey2k0oggkmdyjaXH4DKxug6d01ZWV8gBcAGB3iTk\/QLtPJOQvE9ucKfN39DbIiKRtM5reAvsralmz6aVrw7qAdvqR5K+pZxU0kNQ3lKxrx8RlVep6qiZZaumnqY2SPiPBGXes48xtz5hUdr1TPHaqahordLV1McZBOMNABONhz29yqouUDDKrClXd3ql6o2qodTXO0MoJqKtm4nvG0cYDntPQ9w+K5DbdS3gf2+vZQQuGeygG\/u2P3Ksbdpe1214lbEZ5hv2kx4jnwHILiUY5tjylUqrDGNk937GODtTyWctxVvoc88esW\/8sfJaXTF1skdAyjpZjC8ElzJyA5x6nPI\/DuWkVZcdO2y6cTp6cNkd\/mx+q73+PxTOalk1YnHhp0nig7vr+ORZosqbVqCxR\/3VVitp24\/cTDce757AhT02r4WTimutJLQTciXglufr\/PNJge2ZZcRFO1RYX109TRooaaqp6yIS00zJWH\/ABMdlTJDQmnmiuvt0baLVLVH2\/ZjHe48vz8FyaWtjqS3+mVPrVdYe1kc4bgHcD7+8rhu7RetW0trcSaekb2szehPPH\/EfE\/HVKj7MbczND\/JVc3pHJeO\/sERFM1BERABc9bXU1vp3T1UzY2DqeZ8AOqrbzqWmtbvRoWmqrHbCFm\/CemfxzXDR6fq7tOK\/ULy9w\/TpmnDWjx\/HmnUcry0M06zbwU1d\/ReJDJWXPVknYUTH0dt4sPnPtPHd\/AfFX9qs9HZ6fsqWP1j7cjvaf7z9l2sYyNgZG0Ma0YDWjAC+kOV8loNToqLxyd5c\/YIiJC5VanmMGnK14zuzg2\/3EN+6pLNXjT1gpA6klnfWudKBH05DfPhhdGuqhzbbT0cYy6pl5d4HTzIWkghbT08cLPZjYGjbGwGFW9oK+5icXPiJOLtZJeuf2M4NSXmqy2j0\/KCP8UpIH0H1Xz+ztU3TAra5lBFndkJ9b5flalFzHbRFPl3Lvzb+n2M\/S6LtUEREzH1MpBzJI48+\/AUOhZP7nmgJ9aKdwO\/eB\/FaZZfS37q93yDmBPxA5\/3OXcTlF3JunClVhgVtV9DUIiKRtCIiAChqaSnrIzHUwRzMIxh7QV5V1lNQwmaqnZCwdXHGfd3rMy3a66kkdTWaN1NSDaSpfsSPDu9w39yeMW8yFWrCHZebexxVtJQ02oqam0+JRVB+ZuzkJY1u2Rn5nfHTwW6VbZ7HSWaDggHFK4DjlcN3fgeCskTlcXh6Tgm3lfZaIzFlPHrK7udu5oDQTzAyNvkPJadZejPoev6yJ5wKuHij25nAP2ctQuz1QcN3Wur+4ReEgDJOAFnbjqnNQaCzQem1Z24huxv5+nilUXLQrUqxpq8mXVdcKS2wGarnbEzpnm7wA6rOPu151C4x2WE0tJnBqZNifd3fDPwU9DpV89QK6+1BrJzv2R9hv59wwFo2MZGwMjaGNaMBrRgBNeMdM2Qw1ave7K5b\/orLNp6js7A5g7WoI9ad43Pu7grVESNtu7NMIRgsMVZBERcGCIiAMXfX+n64oKPALYCziHPO\/EflhbRYTT5Nw1xUVeNmGR48B7I+RW7VamVkYuEeLHPmwiIpG0LMW39zr65xcg+EPHTPsfkrTrMM9T+kOTr2lMPhsPwnhv4GbiNYPqvyadEVNdNUW62kxNeamoH+VFvg+J5BKk3oWnUjBXk7Fys\/c9VRwz+hWyL06rdsAzdrT445\/DzXF6PqHUg\/tTv2bRO5xgYc9v188DwV\/bLPQ2mMspIQ0kYc87ud7yntGOuZnx1KvcyXN6+S9ympNM1NwqG12oJzNJzbTtPqs8Dj6DzK0scbIo2xxsaxjRhrWjAA8AvpEspN6lqdKNPT13CIiUqZ3VdJMxtPeKX9WhPE4d7f55+BK72agtxtUVxlnbFFIPZJy7i6twOZVk5oc0tcAQRgg9Vhrtp5tluLbjHSCrtrXcT4S4kx55\/Du+arG0lZmKtjot1IaPXp19zrM111c\/s4WOorXnDnn2pB9\/otFbbVR2mDsqSINz7Tju53vK9ttyorlTCSila5jduEDBb4YXYllJ6aFaNKPfbxN7+wRESGgIiIAIijmnhp2F88rImDm57g0fNAN2JFDVS9hSTTcQb2cbncR5DAzlUVw1tbKQFtNxVcgOMM9Vv\/wBH7ZWcr9T3C60tQ01UFJDjHYtB4pAemcH7KsaUmYqvG0oJpO7OTT9bV0lU2OheBPUSsZwluct3zz27l+or8+01dbLZ6ft6hkr61xILmtzwt7h06K5Oto5v+itdXUHGdxj6ZT1YuUskZuDq06VPtS125GoRZf8AauqK7IpbS2kaeTpuY88d\/cn9X79cCf2leyxjhvHT5wR3dB9VPBbVm35hy7kW\/p9y7rLzbaDIqayKNzebeLLvIbrHVF7dV6sZXWemkqXCEs4C3HEd99um454Wio9H2ekwXQGof\/qmdn5claxUVJBJ2kNLDG\/h4eJkYBxnOMjpldUox0zJzp1qtsTSV75ZszZst+vYabtWimgO5gh5\/HG3mSrq3WC2WsA01M3tB\/mP9Z3meXwViiVzbyLQ4eEXi1fN5hERIXCIiACIiAC8c0OaWuAIIwQeq9RAGertKQunFXaZjb6kf9vIadx06e4bKA3PU1rdittza+IH9WDmR34HnyH41CJ8b3zM74dJ3g8L6aemhmYtc24ktqIKmB4O4LQcfP7KdutLI4ZM8jfAxFXkkUcoxJG147nDKhNtoHHLqKnJ7zE38JkovYlKVaGWJPy\/ZTya3szAeF08n\/jHz88KA61E7cUFpq6h3Tb8ZWiZSU0YAZTxNAGBwsAwplxuK2Giq01fHby\/ZkXS6svYHZQi2Q55uJa47+O\/yC+6fQ0T39rcq+apkP8Ap28yck\/JatEfEe2R35WDd5tyfX2KaPSVji5UIce9z3H7r4uWlqCpt0lPSU0FNK7HDLwZI3z\/AAV4iXHLW5R8PStbCjht1qpqCjhhbDEXsjDXyBgy8gbldyIuN3KRioqyCIi4MEREAEREAEREAEREAEREAf\/Z",
    "razonSocial": "HERNANDEZ Y CORNEJO CAPACITACION TDA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "jacqueline hernadez",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "NUEVA CONEXION A PC",
    "codError": "Sin coderror",
    "prioridad": "3",
    "telefonocontacto": "974980506",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:50",
    "ubicacionGPS": "LatLng(lat: -23.6618795, lng: -70.4001354)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:49",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 16:50:23
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-LHRkwoa6mw_Yp+Ex9vxQ9xk2EQSnn2MjZ44_p2Ls62z0Jlcmrt_
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76112106",
    "serieinterna": "EP2832",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12214",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABqAMkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQBAgf\/xAA\/EAABAwMCAwQJAQQJBQAAAAABAAIDBAURBiESMUETUWGRFCIycYGhscHRMxUj4fAHFiQlQkNSYrI0U3KCkv\/EABgBAAMBAQAAAAAAAAAAAAAAAAACAwQB\/8QALxEAAgECBAMGBwADAAAAAAAAAAECAxESITFBBFFhIjJxgZHRExShscHh8CMzQv\/aAAwDAQACEQMRAD8A\/ZkREAEREAERV1xv9stmW1NS3tAP02es7yHL4rqTegspxgrydixRZf8ArZWV2RaLPNOM4Esmzfl+UFNq+tGZaunom9WtAJ+QP1T4HvkQ+Zi+4m\/BGoRZgaWuj95tSVZ8G8QH\/JXtupJKKhjp5amSpe3PFLISS45z1JStJaMeE5yfajbzR1IiJSwRFBWVlPQUz6iplEcbBuT9B3lBxtJXZOizdo1RLd7vLDHTtZRxsLzI4+sAOp6b7fNey62tsdQ6OOOaWJntTMb6o3wn+HK9rEFxVJxxXyNGi+IpWTRNljcHMeMtI6hfaQ0BERABEXLcLlSWun7ermEbeQHMuPcB1Qlc42oq7OpVV11Fb7SC2WTtZ+kMe7ifHu+KqPT73qbLLew2+hOQ6d\/tPHh\/DzVpadM0FqIlDe3qOfbSjJB8B0+qphUe8Zvizqf6llzf4W58WOe81tRJWV8TaemezEUH+Ib8z\/HyV2iJG7svCOGNm7hERcHCjnnipoXzTyNjjYMuc44AUddXU1tpXVNVIGRt8ye4DqVmIaOu1dUirri+ntjDmKAc5B\/PXy708Y3zehCrVwvDFXk\/67JH3S56mlfTWkGkoxtJUvG5938PkrC26TtlAOKSIVUx5yTAO38ByCt4YYqeFkMLAyNgw1rRsApEOeyyQsKCviqZv+0R4AAMAYAXqIkNIREQARFxXW601oo3VFQ7wYwc3nuC6lfJCykoq70F0utLaKQ1FS7bk1g9p57gs0KesvrXXi9N7G307DJHS7jiAHPv37+vTZdNstFVeq1t4vTfV509MeTR0yO769V0a0rPR7J6MzJlqnhjQBkkcz9h8VWNk8K1MNRucHUnlFaLn4+xlbDRVd5lnpYMQQyPD6qVv+nfDR89vwt9DaaGC3OoI4GiBzeFwxu7xJ6nxUVitTLRa46cNHakcUrsbucfxyVkuVJ4nkU4Xh1Th2tX\/WMzpGR9JJXWWUkupJSWE7ZaT3fP\/wBlpllro0WzWtBXD1Y6wdlId93ezv5t8lqVyebvzH4bJOm\/+Xby2CIuK73D9l2yarEfaOYPVbnGSkSu7F5SUU2zkvuoYbQ1sMbO3rJdo4W\/In4+a4bVpyapnbc7681FQ7dsDvZj7sj7clJp2yu7Q3q44krakcbQR+mD9DjHuWgY9kgyxwcM4yDlO3hyiZoQdV46mmy\/L6noAAwBgBeoimawiIgAo5poqeF80zwyNgy5zjsApFlb5NJfbzHp+meWwx+vVSAZxjfHzHxPgmjG7JVqnw43WbeniRUMM2r7ga6sBbbad2IYOXGfH7+S1zWhrQ1oAAGAB0XxTwRUtPHBC0MjjaGtA6BSIlK\/gco0sCu829WEREpYIiIAIiz101MGymgtEfpla7YcO7WH7\/QdV1Rb0J1KkaavI7r3fKey04c\/95O\/9KJvNx+wVVaLNV3KrbeL4eJ5A7GnIwGjpkfPHmumz6cfBUm5XWX0quduCd2x+7x\/kK\/TtqKtEhGnKq8dTJbL3Cw9W83rXsUAy6GleAQeXqbu+ey2k0oggkmdyjaXH4DKxug6d01ZWV8gBcAGB3iTk\/QLtPJOQvE9ucKfN39DbIiKRtM5reAvsralmz6aVrw7qAdvqR5K+pZxU0kNQ3lKxrx8RlVep6qiZZaumnqY2SPiPBGXes48xtz5hUdr1TPHaqahordLV1McZBOMNABONhz29yqouUDDKrClXd3ql6o2qodTXO0MoJqKtm4nvG0cYDntPQ9w+K5DbdS3gf2+vZQQuGeygG\/u2P3Ksbdpe1214lbEZ5hv2kx4jnwHILiUY5tjylUqrDGNk937GODtTyWctxVvoc88esW\/8sfJaXTF1skdAyjpZjC8ElzJyA5x6nPI\/DuWkVZcdO2y6cTp6cNkd\/mx+q73+PxTOalk1YnHhp0nig7vr+ORZosqbVqCxR\/3VVitp24\/cTDce757AhT02r4WTimutJLQTciXglufr\/PNJge2ZZcRFO1RYX109TRooaaqp6yIS00zJWH\/ABMdlTJDQmnmiuvt0baLVLVH2\/ZjHe48vz8FyaWtjqS3+mVPrVdYe1kc4bgHcD7+8rhu7RetW0trcSaekb2szehPPH\/EfE\/HVKj7MbczND\/JVc3pHJeO\/sERFM1BERABc9bXU1vp3T1UzY2DqeZ8AOqrbzqWmtbvRoWmqrHbCFm\/CemfxzXDR6fq7tOK\/ULy9w\/TpmnDWjx\/HmnUcry0M06zbwU1d\/ReJDJWXPVknYUTH0dt4sPnPtPHd\/AfFX9qs9HZ6fsqWP1j7cjvaf7z9l2sYyNgZG0Ma0YDWjAC+kOV8loNToqLxyd5c\/YIiJC5VanmMGnK14zuzg2\/3EN+6pLNXjT1gpA6klnfWudKBH05DfPhhdGuqhzbbT0cYy6pl5d4HTzIWkghbT08cLPZjYGjbGwGFW9oK+5icXPiJOLtZJeuf2M4NSXmqy2j0\/KCP8UpIH0H1Xz+ztU3TAra5lBFndkJ9b5flalFzHbRFPl3Lvzb+n2M\/S6LtUEREzH1MpBzJI48+\/AUOhZP7nmgJ9aKdwO\/eB\/FaZZfS37q93yDmBPxA5\/3OXcTlF3JunClVhgVtV9DUIiKRtCIiAChqaSnrIzHUwRzMIxh7QV5V1lNQwmaqnZCwdXHGfd3rMy3a66kkdTWaN1NSDaSpfsSPDu9w39yeMW8yFWrCHZebexxVtJQ02oqam0+JRVB+ZuzkJY1u2Rn5nfHTwW6VbZ7HSWaDggHFK4DjlcN3fgeCskTlcXh6Tgm3lfZaIzFlPHrK7udu5oDQTzAyNvkPJadZejPoev6yJ5wKuHij25nAP2ctQuz1QcN3Wur+4ReEgDJOAFnbjqnNQaCzQem1Z24huxv5+nilUXLQrUqxpq8mXVdcKS2wGarnbEzpnm7wA6rOPu151C4x2WE0tJnBqZNifd3fDPwU9DpV89QK6+1BrJzv2R9hv59wwFo2MZGwMjaGNaMBrRgBNeMdM2Qw1ave7K5b\/orLNp6js7A5g7WoI9ad43Pu7grVESNtu7NMIRgsMVZBERcGCIiAMXfX+n64oKPALYCziHPO\/EflhbRYTT5Nw1xUVeNmGR48B7I+RW7VamVkYuEeLHPmwiIpG0LMW39zr65xcg+EPHTPsfkrTrMM9T+kOTr2lMPhsPwnhv4GbiNYPqvyadEVNdNUW62kxNeamoH+VFvg+J5BKk3oWnUjBXk7Fys\/c9VRwz+hWyL06rdsAzdrT445\/DzXF6PqHUg\/tTv2bRO5xgYc9v188DwV\/bLPQ2mMspIQ0kYc87ud7yntGOuZnx1KvcyXN6+S9ympNM1NwqG12oJzNJzbTtPqs8Dj6DzK0scbIo2xxsaxjRhrWjAA8AvpEspN6lqdKNPT13CIiUqZ3VdJMxtPeKX9WhPE4d7f55+BK72agtxtUVxlnbFFIPZJy7i6twOZVk5oc0tcAQRgg9Vhrtp5tluLbjHSCrtrXcT4S4kx55\/Du+arG0lZmKtjot1IaPXp19zrM111c\/s4WOorXnDnn2pB9\/otFbbVR2mDsqSINz7Tju53vK9ttyorlTCSila5jduEDBb4YXYllJ6aFaNKPfbxN7+wRESGgIiIAIijmnhp2F88rImDm57g0fNAN2JFDVS9hSTTcQb2cbncR5DAzlUVw1tbKQFtNxVcgOMM9Vv\/wBH7ZWcr9T3C60tQ01UFJDjHYtB4pAemcH7KsaUmYqvG0oJpO7OTT9bV0lU2OheBPUSsZwluct3zz27l+or8+01dbLZ6ft6hkr61xILmtzwt7h06K5Oto5v+itdXUHGdxj6ZT1YuUskZuDq06VPtS125GoRZf8AauqK7IpbS2kaeTpuY88d\/cn9X79cCf2leyxjhvHT5wR3dB9VPBbVm35hy7kW\/p9y7rLzbaDIqayKNzebeLLvIbrHVF7dV6sZXWemkqXCEs4C3HEd99um454Wio9H2ekwXQGof\/qmdn5claxUVJBJ2kNLDG\/h4eJkYBxnOMjpldUox0zJzp1qtsTSV75ZszZst+vYabtWimgO5gh5\/HG3mSrq3WC2WsA01M3tB\/mP9Z3meXwViiVzbyLQ4eEXi1fN5hERIXCIiACIiAC8c0OaWuAIIwQeq9RAGertKQunFXaZjb6kf9vIadx06e4bKA3PU1rdittza+IH9WDmR34HnyH41CJ8b3zM74dJ3g8L6aemhmYtc24ktqIKmB4O4LQcfP7KdutLI4ZM8jfAxFXkkUcoxJG147nDKhNtoHHLqKnJ7zE38JkovYlKVaGWJPy\/ZTya3szAeF08n\/jHz88KA61E7cUFpq6h3Tb8ZWiZSU0YAZTxNAGBwsAwplxuK2Giq01fHby\/ZkXS6svYHZQi2Q55uJa47+O\/yC+6fQ0T39rcq+apkP8Ap28yck\/JatEfEe2R35WDd5tyfX2KaPSVji5UIce9z3H7r4uWlqCpt0lPSU0FNK7HDLwZI3z\/AAV4iXHLW5R8PStbCjht1qpqCjhhbDEXsjDXyBgy8gbldyIuN3KRioqyCIi4MEREAEREAEREAEREAEREAf\/Z",
    "razonSocial": "HERNANDEZ Y CORNEJO CAPACITACION TDA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "jacqueline hernadez",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "NUEVA CONEXION A PC",
    "codError": "Sin coderror",
    "prioridad": "3",
    "telefonocontacto": "974980506",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:50",
    "ubicacionGPS": "LatLng(lat: -23.6618795, lng: -70.4001354)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:49",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 16:50:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76112106

[12/05/2026 16:50:23] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76112106', 'EP2832', 1, 95585912, 0, NOW(), 
				'16:49', '16:38', '16:50', 16, 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778619023.png', 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', null, 'COMPLETADO','LatLng(lat: -23.6618795, lng: -70.4001354)' )
				
[12/05/2026 16:50:23] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200289

12/05/2026 16:50:23 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200289'                    
				WHERE idllamado = 12214			
				TO ENVIO: micorreo@miempresa.cl, null


12/05/2026 16:50:23 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12214			
				
12/05/2026 16:50:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 16:50:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:50:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            [12/05/2026 16:50:26] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:50:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:50:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12214
                [12/05/2026 16:50:26] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12214
                
12/05/2026 16:50:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12214
                
12/05/2026 16: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 = 12214
                
12/05/2026 16: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 = 12214
                
12/05/2026 16: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 = 12214
                [12/05/2026 16:50:26] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12214
                
12/05/2026 16:50:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:50:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:50:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:50:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:50:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            [12/05/2026 16:50:26] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12214
                
12/05/2026 16:50:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:50:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:50:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            [12/05/2026 16:50:26] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:50:26] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12214
                
12/05/2026 16: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 = 12214
                
12/05/2026 16: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 = 12214
                [12/05/2026 16:50:26] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:50:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                [12/05/2026 16:50:27] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                [12/05/2026 16:50:27] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            [12/05/2026 16:50:27] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:50:27] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12214
            GROUP BY l.idllamado;
            
12/05/2026 16:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12214
                
12/05/2026 16:50:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                [12/05/2026 16:50:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:50:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            [12/05/2026 16:50:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:50:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            [12/05/2026 16:50:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                [12/05/2026 16:50:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:50:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                [12/05/2026 16:50:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:50:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                [12/05/2026 16:50:31] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:50:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            [12/05/2026 16:50:31] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:50:31] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:50:31] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                [12/05/2026 16:50:31] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                [12/05/2026 16:50:31] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                [12/05/2026 16:50:37] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12194
                
12/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12194
                
12/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16:50:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            [12/05/2026 16:50:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                [12/05/2026 16:50:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:50:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            [12/05/2026 16:50:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                [12/05/2026 16:50:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16:50:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12194
                [12/05/2026 16:50:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:50:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:50:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12194
                [12/05/2026 16:50:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:50:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            [12/05/2026 16:50:39] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:50:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12194
                [12/05/2026 16:50:39] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                [12/05/2026 16:50:39] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12194
                
12/05/2026 16:50:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12194
                
12/05/2026 16:50:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16:50:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:50:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:50:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16:51:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:51:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:51:03 - logentry: =========================================
FECHA: 12/05/2026 16:51:03
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-2YEPE+U31hj3oSJ0J1OLMEbHfWiRZlQngXDrS58Zk.-G1SnhjyH
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2888",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12194",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABrANMDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABAEAABAwMBBAcHAQUGBwAAAAABAAIDBAURBhIhMUETFFFhcYGxFSIykaHB0UIWI0NS8AeCk8Lh8SUzNERUYpL\/xAAZAQACAwEAAAAAAAAAAAAAAAAAAgEDBAX\/xAAwEQACAQIDBQYHAAMAAAAAAAAAAQIDERIhMQQTQVHRFCIyYYGRM1JxobHh8CNiov\/aAAwDAQACEQMRAD8A+zIiIAIiIAIijLtfqKzsxM\/bmIy2Fm9x\/ClJt2QspxgrydkSajK\/UNrtuRPVNL8f8uP3nfTh5qE6DUeo99Q\/2ZRO\/QMhzh4cT54Cl6HS9qojt9WE8vOSb3s+XAfJPhjHVmfe1anw42XN9CO\/aytrd1qss8wzgSSbgPHG76p0esq3eZaWhacbhjPo5WcAAYAwAvUY0tETuJS8c36ZFYNq1TEHSxXiKSQg+44bvLIVgoxUikj64YzPj3zH8K3olcrlkKSg7pv3CIiUtCIiACIiACIiACIuesrqW3wGermbFGObufgOJQQ2krs6FyV9zo7bF0lXUMiHIE73eA4lV5+oLte3mGxUZiizg1Mo4fYfUrqt+kadjzU3WV1fVO3kvJ2R5c\/P5KzAl4jNv5VMqSv5vT9mh+r5615is1rmqXZHvvG4eOOHmV22qPUb61s9zlgjg2SDTsAJz4j8qaYxkbAyNoY1owGtGAFkoclokNGjO+Kc2\/sgiIkNAREQARFXb7e53VAtFoHSVshw9w4RDnv5H08VMYtuxXUqRpxuz283+XrXsqzsE9c44ceUfb5j6LbZdNx0DzWVr+t17ztOldvDT3Z9fRdFjscFlptlv7yofvllPFx7B3KUTuSWUSqFJye8q68FwX78wiIqzSEREAEREAEXHcLpR2uHpKqUNz8LBvc89gCrpnvOqjs0wdb7Y44Mh+KQc\/Hy3d6dRbz4FFStGDwrN8l\/ZE5Nf7dT3JtvkmPTO3bm5APYcc1w3y81IrI7TaverZPjdjIiGOfZxzn8qv6gpqXTtfbG0sW26AdK4vO952t2T4hWHS1qdS077jVAurKz33OcckNO8Dx5ny7E7jGKxGVVatWbpac7cF1PLPdayO6zWe7PDqkEvhkDcCRvHd5eh7FYFV9XtNFPb7zHnbp5Q1wBxtN44+hHmrMx7ZI2yMcHNcAWkcwkksk0aKMmnKm3p+GZIiJDSQV5v8tLVC222mNTXObnGPdZ4+S5qPSr6uZtbfqh1XORnohua3uOOPlgeKzu1quFLc3Xq0ys6TYxNDKfdcAP6\/Kjx\/aBswkSW\/M4dj3ZfcI8cflXpO3cObOcFN9o9Fw\/b+pcWMZGwMjaGNaMBrRgBZLRS1lNWxCSmnjlbgZ2HA48cLeqDopprIIiIJCIiACItVTURUlLLUzO2Y4mlzj3BBDdldkXqO9+x6NohAfVzHZiZxI\/9sc005YvZFO6SdwkrJztSycSO7P9ZUfpymlu9fJqGuAJcSynYW7mgcx9R81aVZLurCvUy0lvZb2WnDr6hERVmsIiIAIijbvfaOzxZmftzOHuQs3ucfsO9Sk27IWU4wWKTsiQkkZFG6SR7WMaMuc44AHeVWazUlXcpXUWnqd8ruDqlzcNb3jPqfktcdruep5W1N3L6SjBzHSt3E+P5O\/swrNS0lPRQNgpomxRt4NaE\/djrmzNepW07sfu+hCW7SdPFKKu5yur6snJMhJaD4c\/P5KwAADAGAF6sXvbHG57zhrQST2BK5OWpfCnCmrRRT7jFFeNeQUrsPip4x0gyeWXY+ZAVyVE0a99fqSrrpd5MbnHJzgucPtlXtPVyaXIzbG8cZVObZF6kputaerI8ZIj2xu\/l977JpqpNVp6jkJyRHsH+6cfZZXO82uiikirKqPJBa6Jp2nb+78qn6er72+hdbrRC3AkLnVDx8APLfu5HtUxi3AipWjCums7q1lqXypq6ejj6SpnjhZnGXuAUBU6xikkNPaaSWtnzgHZwzx7fRe0+j45pG1F4rJq6fmC4hnh2+ngp+npqeki6KmhjhZnOyxoaM+SXuLzLP8APU\/1Xu+hW4rJebw9st8rTFCDkUsWAD3HG71KmobHa4KQ0rKKIxO+IObku7yTvXeihzbHhQhHPV83mVys0bSFxmts8tBPnILHEt\/I39hWjr+o7I89fgFxpQB+9iGHcccvHmPPmrUiMb45ivZop3pvC\/LT20Im36mtVy3R1Ijf\/JN7p\/BUsou46ctdzLnz0wbK7+LH7rs9vYfPKgaiO66RjEkVxjqaPg2CfceI3N39m\/d2cFOGMvCK6tSlnUV1zXQuSLit1dJXW+GpdTlpkbnDXNI9USNWNKkmro7VWdWTS1lTRWKDOap4fLg\/oB9NxP8AdVmVZosVGvq57v4EAa0dnw\/k\/NNDW\/Io2nOKh8zsWKngjpqeOCJoayNoa0AYWxESGlK2QRFoq6ymoYTNVTshYObjjPh2oIbSV2b1rnqIaWF008jY42jJc44AVbl1XU3CR1PYqF8zs4M8ow1vl+T5LKLS09fMKi\/Vz6lwORDGcMHd\/thWYLeIzdox5Ulfz4f30MKjUtZdZnUWn6Zz87jVPGGt79\/Dz+S7LPpmGhlNZWv65XOO0ZX7w092eff6KZgp4aWFsMEbY42jAa0YAWxQ55WjkTGhd4qju\/svogiIkNIUXqSo6rp6sk2sEx7A\/vbvupRVjXk\/R2aKEcZZhndyAP3wngrySKNolhoyfkV7S891gNT7LoWzySbLTI\/4WDf3jtHyU\/7D1Bcxm53boI3cYYOzsOMD1XugodizTSkEGScgHtAA++VaFZUnaTsZNl2dSoxxN25cCFoNJ2mg97oOsP3e9N72PAcFw2MdS1fd6MgDpsTN+ef86tCq90JoNbW+qAwyrZ0Tj2nh92\/JLFuV0y6rThSwyirWf5yLQiIqjYERR1xv9stYIqalvSD+Gz3nfIcPNSk3oLKcYK8nYkVoq6ymoYTNVTshYObjjPh2qt+277e2kWig6tCd3WJj9Rnd8srdTaPjle2e71k9dMOILzs+Hb6J8CXiZn38p\/CjfzeS\/ZjPqmpuEpprBRPqHcDPIMMb34\/OPBbKLSxlm63fKh1fP+lridho7Mfbgp+CCGmiEUETIo28GsGAFsUY7ZRyJVDE71Xf8e3U8AAGAMAIvUSGkKs28dDr24MeMGWAObjn8Ksyq+oh7Mv9uvOQ2Pa6GUnPA5+xPyTw4ozbTkoz5NdC0IvAQRkHIK9SGkrdbqKuqKt9DZrdJJMxxbJLM3DWcv6JPLgVD1tFSW+QVGoK19xrnY2aWN27zPIfLzUrcL7U11U+2aeYHy5\/e1AHus7SD9\/ku2zaaprW7rMzjVVjt5mfv2Tzx+eKvTUVy\/JzJQlWlZO\/nwX0XFkXR2e5XkRvrcW6gY4PipIBsnuz65PyCto3DGc969WEk0ULdqWRkbe1zgAqpScjbTpRpLX1M0UdLqC0Q527jT5HENftei5n6usbP++2j2NjcfsjDLkS61JayXuTSKvnW1lBwJZT3iMrD9ubPtYxUYzx6MflTu5chO1UfmRY1Tddyl1RQwfpa18pB4HGPwfmpWLWdkkdg1D4+90bvsq7rOQSX0naBbFSDA7ckj\/NnyT04tTzM211oSoPC76Fj0dH0emqc83l7j\/9EfZTii7O+Kh07RGolZE0QNcXSODQMjPPxWiq1dZaUkda6Zw5RNLvrw+qRpyk7GinOFKlFSdskTaretY9m3U1c0EvpahrgR2H\/UBa\/wBrK6tA9l2SeUHhJJnZ+m76rTVW3VF5p5Y66anpoHDJhaAc4wQN2eY7U0YuLuyqtWjVpuME3fyLFLdaGnpY6ioqY4WSMD27bsEgjO4cSoeo1nRmQw26mnrpjnZDGkAn1+ijtKaftlyt5q6lj55GyFhBcQ0YAxw38COKt9PS09JH0dNBHCz+WNoaPohqEXbUaEq9WKkmop+r6Fc6HVF6cRLI21Urh8LcF+PX6hd9r0tbrYRIWdYn49LLvwe4cB6qaRK5vRZFkdngnilm\/MIiJDQEREAEREAFw3i2Mu1slpHkNLhljj+lw4Fdy0VlZT0FM+oqZRHGwbyfQdpUq98hZqLi1LQhNMXbatklJXO6Ke3jZl6Q4w0cD5Yx\/uo243p+oZhSU1Q2htu1sy1MzgzpO0Dy5fPCi7qye9VU96prfIKJpa15BwZADgn6d+FbaCnsd8s8UcNNG6njORFwdG7vxv8Ayr2lHvfyOXCU6q3SeS\/6XTmcdNetOafo+r0sxlI3uMbdpzz2k8PqvDqa71o\/4bYpSDwkmzsn0H1U3S2i3URa6no4mObwds5cPM712qtyjyua40qtrYrLkl1KubXqe5NxWXRlGw\/pg4+G7Hqs4tEUJf0lZU1NU\/mXPxn7\/VWVFG8lwG7LT1ln9cyIi0tZIcbNAx2ObyXZ+ZXSyy2qPey3UoPb0LSfRdyKMTfEtVKmtIr2OdtBRMGG0kDR3RgL2VlJBA58zIY4mD3i4AABRl11VbbXtM6TrE4\/hxHOD3ngFFQ0F31S5s90eaSg3FsEe4vHI\/6nyCZRer0KZVoJ4KavL+1I2+3mO7TtoLTQsdGH5LmxAukI7BjcFC3A1Mle6OWnEEpDWGIDhwxx58F9ToqGmt9O2ClhbGwchxPeTzVCEHtHXr48ZaKtxd4MOT6K6nNZ2Whztq2eas5O7k7eRP0+iKXIfcKuerfjgXbI4fP6qZpbNbaL\/p6KFh\/m2cn5nfzXaizucnqzqwoUoeGIRESlxy2620trpur0kexHtFxyckk\/0PkupEQ3chJRVkEREEhERABERABERAETeNR0VnHRvJmqDwhj4+fYoqmslwvtSyuvztiFpJjpBux49nqp+O00EVfJXMpmdZk+KQ5J8s8PJdifEku6ZnRlUleo8uC68zFsbGRiNjGtYBgNAwAPBQFdpCkmmNTQTSUE+cgw7mjyGMcOSsKKFJrQtnShUVpIqvWdUWVrusQMukAPxM+MDyGfocLa3XFAx\/R1NLVQP5gtBHr9lZVi9jJG7L2hw7CMpsSeqKtzUj4J++ZAftvZv55v8Nan68tLW5bFVOPYGD8qf6lSf+LD\/hhbWxsYctY1p7hhF4cgwV\/mXt+ys\/tTcawYttjnfk7pJM7Ppj6rH2PqG8OBulcKSAjfBAd58cbvqVakRjtoiOzuXxJN\/ZfYg6LSFpoqhs7YnyuaBgSu2gD24xxU4iJHJvUvhThTVoqwVetOnp6PUdbcqh0bmSue6IMJ3bTid\/eB6qwohSauROnGbTfAIiKCwIiIAIiIAIiIAIiIAIiIAIiIA\/\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "carlos perez ",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "wsp",
    "idFalla": "5",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "978727631",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:51",
    "ubicacionGPS": "LatLng(lat: -23.6618746, lng: -70.4001359)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:50",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 16:51:03
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-2YEPE+U31hj3oSJ0J1OLMEbHfWiRZlQngXDrS58Zk.-G1SnhjyH
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2888",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12194",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABrANMDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABAEAABAwMBBAcHAQUGBwAAAAABAAIDBAURBhIhMUETFFFhcYGxFSIykaHB0UIWI0NS8AeCk8Lh8SUzNERUYpL\/xAAZAQACAwEAAAAAAAAAAAAAAAAAAgEDBAX\/xAAwEQACAQIDBQYHAAMAAAAAAAAAAQIDERIhMQQTQVHRFCIyYYGRM1JxobHh8CNiov\/aAAwDAQACEQMRAD8A+zIiIAIiIAIijLtfqKzsxM\/bmIy2Fm9x\/ClJt2QspxgrydkSajK\/UNrtuRPVNL8f8uP3nfTh5qE6DUeo99Q\/2ZRO\/QMhzh4cT54Cl6HS9qojt9WE8vOSb3s+XAfJPhjHVmfe1anw42XN9CO\/aytrd1qss8wzgSSbgPHG76p0esq3eZaWhacbhjPo5WcAAYAwAvUY0tETuJS8c36ZFYNq1TEHSxXiKSQg+44bvLIVgoxUikj64YzPj3zH8K3olcrlkKSg7pv3CIiUtCIiACIiACIiACIuesrqW3wGermbFGObufgOJQQ2krs6FyV9zo7bF0lXUMiHIE73eA4lV5+oLte3mGxUZiizg1Mo4fYfUrqt+kadjzU3WV1fVO3kvJ2R5c\/P5KzAl4jNv5VMqSv5vT9mh+r5615is1rmqXZHvvG4eOOHmV22qPUb61s9zlgjg2SDTsAJz4j8qaYxkbAyNoY1owGtGAFkoclokNGjO+Kc2\/sgiIkNAREQARFXb7e53VAtFoHSVshw9w4RDnv5H08VMYtuxXUqRpxuz283+XrXsqzsE9c44ceUfb5j6LbZdNx0DzWVr+t17ztOldvDT3Z9fRdFjscFlptlv7yofvllPFx7B3KUTuSWUSqFJye8q68FwX78wiIqzSEREAEREAEXHcLpR2uHpKqUNz8LBvc89gCrpnvOqjs0wdb7Y44Mh+KQc\/Hy3d6dRbz4FFStGDwrN8l\/ZE5Nf7dT3JtvkmPTO3bm5APYcc1w3y81IrI7TaverZPjdjIiGOfZxzn8qv6gpqXTtfbG0sW26AdK4vO952t2T4hWHS1qdS077jVAurKz33OcckNO8Dx5ny7E7jGKxGVVatWbpac7cF1PLPdayO6zWe7PDqkEvhkDcCRvHd5eh7FYFV9XtNFPb7zHnbp5Q1wBxtN44+hHmrMx7ZI2yMcHNcAWkcwkksk0aKMmnKm3p+GZIiJDSQV5v8tLVC222mNTXObnGPdZ4+S5qPSr6uZtbfqh1XORnohua3uOOPlgeKzu1quFLc3Xq0ys6TYxNDKfdcAP6\/Kjx\/aBswkSW\/M4dj3ZfcI8cflXpO3cObOcFN9o9Fw\/b+pcWMZGwMjaGNaMBrRgBZLRS1lNWxCSmnjlbgZ2HA48cLeqDopprIIiIJCIiACItVTURUlLLUzO2Y4mlzj3BBDdldkXqO9+x6NohAfVzHZiZxI\/9sc005YvZFO6SdwkrJztSycSO7P9ZUfpymlu9fJqGuAJcSynYW7mgcx9R81aVZLurCvUy0lvZb2WnDr6hERVmsIiIAIijbvfaOzxZmftzOHuQs3ucfsO9Sk27IWU4wWKTsiQkkZFG6SR7WMaMuc44AHeVWazUlXcpXUWnqd8ruDqlzcNb3jPqfktcdruep5W1N3L6SjBzHSt3E+P5O\/swrNS0lPRQNgpomxRt4NaE\/djrmzNepW07sfu+hCW7SdPFKKu5yur6snJMhJaD4c\/P5KwAADAGAF6sXvbHG57zhrQST2BK5OWpfCnCmrRRT7jFFeNeQUrsPip4x0gyeWXY+ZAVyVE0a99fqSrrpd5MbnHJzgucPtlXtPVyaXIzbG8cZVObZF6kputaerI8ZIj2xu\/l977JpqpNVp6jkJyRHsH+6cfZZXO82uiikirKqPJBa6Jp2nb+78qn6er72+hdbrRC3AkLnVDx8APLfu5HtUxi3AipWjCums7q1lqXypq6ejj6SpnjhZnGXuAUBU6xikkNPaaSWtnzgHZwzx7fRe0+j45pG1F4rJq6fmC4hnh2+ngp+npqeki6KmhjhZnOyxoaM+SXuLzLP8APU\/1Xu+hW4rJebw9st8rTFCDkUsWAD3HG71KmobHa4KQ0rKKIxO+IObku7yTvXeihzbHhQhHPV83mVys0bSFxmts8tBPnILHEt\/I39hWjr+o7I89fgFxpQB+9iGHcccvHmPPmrUiMb45ivZop3pvC\/LT20Im36mtVy3R1Ijf\/JN7p\/BUsou46ctdzLnz0wbK7+LH7rs9vYfPKgaiO66RjEkVxjqaPg2CfceI3N39m\/d2cFOGMvCK6tSlnUV1zXQuSLit1dJXW+GpdTlpkbnDXNI9USNWNKkmro7VWdWTS1lTRWKDOap4fLg\/oB9NxP8AdVmVZosVGvq57v4EAa0dnw\/k\/NNDW\/Io2nOKh8zsWKngjpqeOCJoayNoa0AYWxESGlK2QRFoq6ymoYTNVTshYObjjPh2oIbSV2b1rnqIaWF008jY42jJc44AVbl1XU3CR1PYqF8zs4M8ow1vl+T5LKLS09fMKi\/Vz6lwORDGcMHd\/thWYLeIzdox5Ulfz4f30MKjUtZdZnUWn6Zz87jVPGGt79\/Dz+S7LPpmGhlNZWv65XOO0ZX7w092eff6KZgp4aWFsMEbY42jAa0YAWxQ55WjkTGhd4qju\/svogiIkNIUXqSo6rp6sk2sEx7A\/vbvupRVjXk\/R2aKEcZZhndyAP3wngrySKNolhoyfkV7S891gNT7LoWzySbLTI\/4WDf3jtHyU\/7D1Bcxm53boI3cYYOzsOMD1XugodizTSkEGScgHtAA++VaFZUnaTsZNl2dSoxxN25cCFoNJ2mg97oOsP3e9N72PAcFw2MdS1fd6MgDpsTN+ef86tCq90JoNbW+qAwyrZ0Tj2nh92\/JLFuV0y6rThSwyirWf5yLQiIqjYERR1xv9stYIqalvSD+Gz3nfIcPNSk3oLKcYK8nYkVoq6ymoYTNVTshYObjjPh2qt+277e2kWig6tCd3WJj9Rnd8srdTaPjle2e71k9dMOILzs+Hb6J8CXiZn38p\/CjfzeS\/ZjPqmpuEpprBRPqHcDPIMMb34\/OPBbKLSxlm63fKh1fP+lridho7Mfbgp+CCGmiEUETIo28GsGAFsUY7ZRyJVDE71Xf8e3U8AAGAMAIvUSGkKs28dDr24MeMGWAObjn8Ksyq+oh7Mv9uvOQ2Pa6GUnPA5+xPyTw4ozbTkoz5NdC0IvAQRkHIK9SGkrdbqKuqKt9DZrdJJMxxbJLM3DWcv6JPLgVD1tFSW+QVGoK19xrnY2aWN27zPIfLzUrcL7U11U+2aeYHy5\/e1AHus7SD9\/ku2zaaprW7rMzjVVjt5mfv2Tzx+eKvTUVy\/JzJQlWlZO\/nwX0XFkXR2e5XkRvrcW6gY4PipIBsnuz65PyCto3DGc969WEk0ULdqWRkbe1zgAqpScjbTpRpLX1M0UdLqC0Q527jT5HENftei5n6usbP++2j2NjcfsjDLkS61JayXuTSKvnW1lBwJZT3iMrD9ubPtYxUYzx6MflTu5chO1UfmRY1Tddyl1RQwfpa18pB4HGPwfmpWLWdkkdg1D4+90bvsq7rOQSX0naBbFSDA7ckj\/NnyT04tTzM211oSoPC76Fj0dH0emqc83l7j\/9EfZTii7O+Kh07RGolZE0QNcXSODQMjPPxWiq1dZaUkda6Zw5RNLvrw+qRpyk7GinOFKlFSdskTaretY9m3U1c0EvpahrgR2H\/UBa\/wBrK6tA9l2SeUHhJJnZ+m76rTVW3VF5p5Y66anpoHDJhaAc4wQN2eY7U0YuLuyqtWjVpuME3fyLFLdaGnpY6ioqY4WSMD27bsEgjO4cSoeo1nRmQw26mnrpjnZDGkAn1+ijtKaftlyt5q6lj55GyFhBcQ0YAxw38COKt9PS09JH0dNBHCz+WNoaPohqEXbUaEq9WKkmop+r6Fc6HVF6cRLI21Urh8LcF+PX6hd9r0tbrYRIWdYn49LLvwe4cB6qaRK5vRZFkdngnilm\/MIiJDQEREAEREAFw3i2Mu1slpHkNLhljj+lw4Fdy0VlZT0FM+oqZRHGwbyfQdpUq98hZqLi1LQhNMXbatklJXO6Ke3jZl6Q4w0cD5Yx\/uo243p+oZhSU1Q2htu1sy1MzgzpO0Dy5fPCi7qye9VU96prfIKJpa15BwZADgn6d+FbaCnsd8s8UcNNG6njORFwdG7vxv8Ayr2lHvfyOXCU6q3SeS\/6XTmcdNetOafo+r0sxlI3uMbdpzz2k8PqvDqa71o\/4bYpSDwkmzsn0H1U3S2i3URa6no4mObwds5cPM712qtyjyua40qtrYrLkl1KubXqe5NxWXRlGw\/pg4+G7Hqs4tEUJf0lZU1NU\/mXPxn7\/VWVFG8lwG7LT1ln9cyIi0tZIcbNAx2ObyXZ+ZXSyy2qPey3UoPb0LSfRdyKMTfEtVKmtIr2OdtBRMGG0kDR3RgL2VlJBA58zIY4mD3i4AABRl11VbbXtM6TrE4\/hxHOD3ngFFQ0F31S5s90eaSg3FsEe4vHI\/6nyCZRer0KZVoJ4KavL+1I2+3mO7TtoLTQsdGH5LmxAukI7BjcFC3A1Mle6OWnEEpDWGIDhwxx58F9ToqGmt9O2ClhbGwchxPeTzVCEHtHXr48ZaKtxd4MOT6K6nNZ2Whztq2eas5O7k7eRP0+iKXIfcKuerfjgXbI4fP6qZpbNbaL\/p6KFh\/m2cn5nfzXaizucnqzqwoUoeGIRESlxy2620trpur0kexHtFxyckk\/0PkupEQ3chJRVkEREEhERABERABERAETeNR0VnHRvJmqDwhj4+fYoqmslwvtSyuvztiFpJjpBux49nqp+O00EVfJXMpmdZk+KQ5J8s8PJdifEku6ZnRlUleo8uC68zFsbGRiNjGtYBgNAwAPBQFdpCkmmNTQTSUE+cgw7mjyGMcOSsKKFJrQtnShUVpIqvWdUWVrusQMukAPxM+MDyGfocLa3XFAx\/R1NLVQP5gtBHr9lZVi9jJG7L2hw7CMpsSeqKtzUj4J++ZAftvZv55v8Nan68tLW5bFVOPYGD8qf6lSf+LD\/hhbWxsYctY1p7hhF4cgwV\/mXt+ys\/tTcawYttjnfk7pJM7Ppj6rH2PqG8OBulcKSAjfBAd58cbvqVakRjtoiOzuXxJN\/ZfYg6LSFpoqhs7YnyuaBgSu2gD24xxU4iJHJvUvhThTVoqwVetOnp6PUdbcqh0bmSue6IMJ3bTid\/eB6qwohSauROnGbTfAIiKCwIiIAIiIAIiIAIiIAIiIAIiIA\/\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "carlos perez ",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "wsp",
    "idFalla": "5",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "978727631",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:51",
    "ubicacionGPS": "LatLng(lat: -23.6618746, lng: -70.4001359)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:50",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 16:51:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[12/05/2026 16:51: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('76050301', 'KY2888', 2, 95585912, 0, NOW(), 
				'16:50', '16:38', '16:51', 16, 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778619063.png', 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', null, 'COMPLETADO','LatLng(lat: -23.6618746, lng: -70.4001359)' )
				
[12/05/2026 16:51:03] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200290

12/05/2026 16:51:03 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200290'                    
				WHERE idllamado = 12194			
				TO ENVIO: micorreo@miempresa.cl, null


12/05/2026 16:51:03 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12194			
				
12/05/2026 16:51:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 16:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:51:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:51:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            [12/05/2026 16:51:06] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:51:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:51:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:51:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:51:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            [12/05/2026 16:51:06] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:51:06] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                [12/05/2026 16:51:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            [12/05/2026 16:51:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                [12/05/2026 16:51:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:51:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:51:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:51:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:51:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:51:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            [12/05/2026 16:51:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:51:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                
12/05/2026 16:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12194
                [12/05/2026 16:51:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:51:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:51:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16:51:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12194
                [12/05/2026 16:51:08] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:51:08] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12194
                
12/05/2026 16:51:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16:51:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:51:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16:51:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            [12/05/2026 16:51:08] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12194
                
12/05/2026 16:51:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16:51:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12194
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12223
                
12/05/2026 16:51:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            [12/05/2026 16:51:09] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            [12/05/2026 16:51:09] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12194
                
12/05/2026 16: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 = 12223
                
12/05/2026 16:51:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12223
                
12/05/2026 16:51:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12223
                
12/05/2026 16:51:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12223
                
12/05/2026 16:51:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12223
                
12/05/2026 16:51:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            [12/05/2026 16:51:09] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12223
                [12/05/2026 16:51:09] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            [12/05/2026 16:51:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:51:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                [12/05/2026 16:51:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            [12/05/2026 16:51:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                [12/05/2026 16:51:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                [12/05/2026 16:51:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            [12/05/2026 16:51:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            [12/05/2026 16:51:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            [12/05/2026 16:51:12] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12223
                
12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            [12/05/2026 16:51:12] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            [12/05/2026 16:51:12] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:51:12] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            [12/05/2026 16:51:12] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12223
                
12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            [12/05/2026 16:51:12] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            [12/05/2026 16:51:12] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                [12/05/2026 16:51:12] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:51:12] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            [12/05/2026 16:51:12] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:51:12] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            [12/05/2026 16:51:12] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12223
                
12/05/2026 16:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16:51:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12223
                
12/05/2026 16:51:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:36 - logentry: =========================================
FECHA: 12/05/2026 16:51:36
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-FC5DRJn..KdfHvD5LbyxDwB28RdfrqQ3zLjFMDdSe2jaWp9CLEy
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78031724",
    "serieinterna": "KY3095",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12223",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACHAOUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQCAQf\/xABBEAABAwMBBAgEAwUFCQAAAAABAAIDBAURBhIhMUETIlFhcYGRoRQyscEVQtEjJEPC4TM0cqLwBxYmNURSU+Lx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgEDAgIJAwUBAQAAAAAAAAECAxEhEjEEURMiMkFhcYGR0aGx8BQjUmLhM8H\/2gAMAwEAAhEDEQA\/AP2ZERAEREAUc88NNEZZ5WRRt4uecAKnvOpYqCUUdHH8XXOOBEzeGnvx9PouKLTVZd5m1l\/qnnm2mjOAwdhI+3qpqGLywZpV7vTTV39F5snq9Z2+KToqOOWtlJwBE3A9f0ChFw1XX\/3e2xUbHDc6Y7x5E+PJaCkt9HQM2KSmjhGMHYbgnxPEroXdUVsh0VWXbn7Y+u5mPgtZu3\/ilGzP5dkbv8iFms6Y7XS0dXz2cAeXBq06LmvwQ\/Tr+UvczMerpKRwivNsnpHY+doy0+v6lX1HXUtwhE1JOyVh5tO8eI4jzUssUc0bo5Y2yMcMOa4ZB8lnazS0tLKauwVLqOfnEXHYd9fQ7vBd6svA5+9Tz2l9fhmlRZ+16lL6gW+7QGjrG4ALvlkPb3fRaBQcWty6nUjUV4hEXJV3OhoTiqqooj2Odv8ARcSuTclFXbOtFHDPFUR9JDI17e1p4dykQ6ncIiIAiIgC56ytpqCAz1UzYmDm48e4dqgu93prNRmoqDlx3Rxg73ns\/qqOgstVf52XS+k7HGGlG4Ad\/d7nn2KcY4u9jPUqtS0QV5fbzPUN6vV7qg60U7IKNjxmWcfOAd4\/+b+9aleWMZGwMjaGNaMBrRgBelyTT2ROnCUe1K7f5gIiKJaEREARF5kkZFG6SRwaxgLnOJ3ADiUB9c4NaXOIAAySeSy9dfau8VRttgBwDiWr4BgzyP358lC+e46vnfDSk0tqY7D5MdaTu7\/DlzWmoaCmttM2npYhGxvqT2k81ZZQ33MmqVfEMR58\/L5OOyWCls0WWgS1Lh153Dee4dgVqiKDbbuzTCEYR0xWAiIuEgiIgCIiAr7tZaO8QbFTH12jqSt+Zn6+C+2yCa2WpsVfWMlMIOZXdUBvLJPZ2rxd77Q2aLNRJtSkdWJm9x\/Qd6wl7vlxu5dHO3oYousYG7gAcYJ7TvCuhCUlbuMFevSoyckry\/NzR1V7r73VPoLC0tjacSVh3AeHZ9V2UWkLbAzbrGmsqHb3ySuO8+Gfqvuj6E0dgic4naqCZSMYwDw9gFeqMpWdok6VLpEqlXLfsvQydH\/wzqb8Py74CuwYATnYdnh67vMLWLNa3hP4XDWMyJKaYOBB4A\/1wtDTzNqaaKdnyysD2+BGUllKRKj1Jyp9yyvUkREVZqCiqaiKkpn1EztmOMZJUq5LpQ\/iNsnpNrZMjeq7sIOQfUBdVr5IyuovTuUFlt8t9q\/x26DabnFNCR1QAdxx\/rtWqWStl9qLEYrTfKfoQ0BsMzN7S3v3+48wtVFLHNG2SKRsjHDLXNOQfNTqXv4GbhXDTZdrv53PaIirNYREQBERAFlbxVTX+7ixUUhbTRnNXK0cCPy+3r4K31Dc\/wAJtEtQ3+0d1I\/8R8\/FRaZtItlra54zU1AEkzickniB5Z9cqyPVWoy1b1Jqktt35cvUsaOjgoKWOmp2BkcYwB9z3qdEVZpSSVkEREOhERAERU941HSWo9C3NRVu3Mgj3nPLPZ9V1Jt2RCc4wWqTsWdRUw0kLpqiVkUbeLnnAWan1FcLzKaXT9O8Nzh9VI3DW\/p57+5faaw117nbXX+RwYDmOjacBo7+z69pWlgghpohFBEyKNvBrBgBT6sfFmf92t\/WP1fwZsWSmsVBUXeuea2uYwuL5D1ds8MZ78bz\/RZ+Ck+KZb7fn94uEpnqHAbwzPVG7uDnY7x5aHWsxkgo7YxwD6qYZJ5Ac\/U+yi0tD8fdqy77+hZ+wpweTRj7AepVqk1HUzHUpxdZUorH439LL1NW1oa0NaAABgAcl9RFmPXK+\/QCpsNbGf8AwucPEDI9wubSdQajTlKSd7AWHyJA9sK4IBGCMgrNaHcWUFXSnf0NSQD5D9FYswZmljiIvmmv\/TTIi8Nlje9zGSNc5hw4A5LfHsVZpPaIiAhq6Snrqd0FVE2WN3FrlmpdNXK0SOqNP1rtknLqaUjDvsfPHitWilGTRTUowqZe\/PvKC36qhlnFHc4X0NXnGy8HZdv3YP67lfrhudoortD0dXCHEfLINz2+BWf6O86VfmLauFtGNoHO1GO4Z3fTwUrRltuVa6lLt5XP5RrkXBa71Q3iIvpJcuaMujcMOb4hd6g01hmmMoyV4u6CIi4SMvf8XLU9stYG0yM9NKMbscd58B7rULMW\/wDeNfXGV28QwhjeePl\/r6rTqyfcjNw+XOfN\/bAREVZpCL4SAMk4AVPX6rtNBlpqBO\/Hywdb34LqTexCdSEFeTsXK5K+50dti6SrqGRDkCd7vAcSqD8R1Je2t\/D6QW+nd\/GlIJI7RkfQea6qPSFGyU1FxlkuFQd5dKTs+nPzU9KXaZR005\/8o+rwvlnHJd7xqF5jssLqWlG51TLuJ8P6ZPgrW0aborSelGaipPzTScc88Dl9e9WzWhrQ1oAAGAByX1cc8WWEShQSeqbu\/wA2QRFHNKyngkmkOGRtLnHuAyoGjY\/PtW1rqnUckMeXdEwQtHDeeP1x5di3Fnt7LZaoKRowWNy89rjvJ9VhtLUr7tqU1kuMROM7+9xO73OfJbatvtrt4\/eayNrv+xp2neg3q+p3QR5fCNNyrzdrvBYIsu\/WT6rLLTa6iqdw2nDAG7sGfsgpNU3Y\/vVTHboDuLIt78eX6hQ0Nb4Nf6mLxBOXl8l7W3WgtzS6rqo4sflJy70G9YuzXmsgq7gy10Tqx9RPttODstbk7z2ZzzwtBSaOtkD+lqekrZicl0ztxPgPvlcthjbSavu9KxoY0gPa0DAAyD\/MpR0pO2TPVVaU4OXVz3Ze3sBZL\/dNp1zuppo3fwYOGOw4wPqri1WKhs4eaWMh7xhz3OJJ7lYooObeDVChCD1bvm8hERQLwiIgCIiAoLtpaKpk+Mtr\/gqxhDmlnVY49pAHHvUdr1G+KpNsvY6CsacNkI6snZw3D6LRrgulopLtTmOojAeB1JQOuw9x+ysUr4kZpUXF66WHy7md6Kg0nWVM1JUUlS4yuo5TEJc5Dhv3A88Y90UJKzsW05qpBSRz2jEetrtFjBcwO3nw\/ULTrH3StbYtaGtkikkZUU2C2MDJ5fyhTfiOpbzs\/AUYt8BO+WUgn3H0HmrZRbszJSrRp6oWbd3hGjq6ymoYTNVTshYObjjPh2qgm1gKif4azUMldIR85Ba0d+OOPHC9UujaXpXT3Oolr5ncS8lo+uT6rQQQQ00QigiZFG3g1gwAo9ReJb+\/U\/qvd\/H3Mw2wXu8lz7zcHQRu\/wCnhO7zxu+qurfYLZbNl1NTN6Ro\/tH9Z3ry8lYouObeCcOHpwd93zeWERFAvCIiALPa1rhSWN0DTh9S4MAxy4n9PNaFYnUDXXvV1La2DajgA6TBO4HrOPphWU1eWTLxcmqTS3ePcksmmX1On4SaqWkdUP6STo+MjMYaPTJ58fS5otKWeiAIpRM8fnmO0fTh7K4a0NaGtAAAwAOSOcGjLiAO0rjqSZ2nw1KCWLtHxjGRsDI2hjWjAa0YAXpQxVdNPIY4aiKR4GS1jwSPIKZQNCaewWY\/u\/8AtD4D95ps8Owf+q06zF7xBrGzz83gx7vHH8xVkN2jPxOIxlyaNOiIqzSEREAREQBEVbdL9b7Qw\/ETAy4yIWb3ny5eJXUm8IjKcYK8nZFksveb\/LWTus9kaZqh\/VkmbwjHA4P35eKhL79qgbLWfhtvcd7jnbePv7BaC12ijtFP0NLHgne553uce8qdlDfcyuU6+IYjz5+XyeLJaIrNbm0zMOkPWkkA+Z3+tyKxRQbbd2aoxUIqMdkZjWcb4GUN1iHWpJxndyO\/6jHmtLHI2WNsjDlrwHA9oK5rnRC422ekJ2TKwhruw8iqvSNe6e2uoZwW1NC7ontPHA4emMeSnvDyM66ld\/2+6\/wv0RFWagiIgCIiAIiIDy97Y43PecNaCSewLI6OiNfcrheZW73vLWZycZOTjwGArXV9Z8Hp6YA4dORE3z4+wKk07TstmnKfpnCPqdLI55wBnfvzw3YVixBvmY59fiIx7oq5Jeae7VMUbLXVxU5yekLxvI3YwcHvWVvFsorf\/wAzuVVca146kLHY38s5yQFaVmoKy7VJoNPM2sD9pUuGA3w\/X0XfZdN09rcaiV5qax\/zTP348P14qabgslVSK4iXUV\/F7LyXeVuk9NT0EpuFYBG9zcMi4loPb2LWIiqlJyd2bKNKNKGmIWX1mOhfa648IKnfy44P8q1Cz+toRJp17z\/CkY4bu\/H3XafaRDilejL82yaBFBQzGooKeY8ZImu454gFTEgDJOAFAvTurn1FVVupbRQgiWsY94\/JF1z7cPNVR1LdLqHsslseAMft5uXlwz5lTUJMpnxFOLte75LJqHvZGwvkcGNaMlzjgBUldrC10oLYZDVy43MhGQfPguNmlKu4TCe+3F9QQN0Ue4D7egV7Q2mgtrQKSljjIGNvGXHxPFdtBb5Iaq89lpXjl+xQPdqa\/ABkYtVI7mXdcj6\/RWVr0tbrbiQs+InBz0sozv7hyVyi45u1lglHh4p6pZfiERFA0BERAFmr5baqhrxfrW3alYP28IHzt5nv\/plaVFKMrMrq01UjZnBarzR3inElNINsDrxE9ZniPuu9Z26aaeKoXGySCkrAcubwY\/y4A+yhj1XVW8iK+WyWBwIb0rBlrjjj2HyJUtF8xKFXdPq1sePc\/g1CKlj1dY5G5+N2DzDo3Aj2Xo6rsbRk17fJjj9lHRLkW9PS\/kvcuEWdl1xZo\/kM8v8Agjx9SFD\/AL1XGrGLdYp5MndJJnZ9hj3XejlyIPiqOyd\/LJqFHNNFTxmSeVkTBxc9wAHmVm9jWNdg7dNQNJ4bicf5l9j0YyeXprrcKitf3kgce05P0XdKW7OdNOXYg\/XH+lbqq7U96fTUVtDqt7Hlzg1hIdu4A8V2w6dut4cyW91XRQNxs0sO4Adm7cPcrSUlBSUEfR0tPHC3nsNwT4nmpJp4adhfPKyJg4ue4NHuu9JZWiQXDXk51Xv3bI80tHT0MAgpYWRRj8rR796mVHVaws1LkCodO4flhaT7nA91xnVNxrDi2WOd4PCSUED23dvNR0SeSx8RRj1U\/bP2NQvjnBoy4gDtKzBp9YV+6SemoGHiGcfbPb28l9GjTUHauV2q6o8cZwPfPd6LulLdjppy7EH64Laov9ppc9LcIAW8Q120R5DKorvqq2XGgnoKeKqqHTNw0sZjfy47+OOStqbStlpTtNomyO7ZSX+x3K0hghp27MMTIm9jGgD2ROC2OOFeatJpL3MdaZ9Vtt8dJTUYbG04ZNUN2S1vLcT9iu06VuFwcHXi8yyA8Y4dzfLl7LUIjqO+FY5HhY2Sm2\/UqqPTVoogOjomPdzfL1yfX7K1RFBtvc0xhGCtFWCIi4SCIiAIiIAiIgCIiAL45oc0tcAQRgg819RAcUtmtc7tuS30zndvRDJXkWO1A5\/DqY+MYK70XdT5kOjhyRDFSU0H9lTxR789RgCmUc00VPC6aaRscbRlznHACzs+p6mvqDTWGkdUkZDp3tw1p5f6PouqLkRnUhSw\/Y0U88NNEZZ5WRRt4uecALP1OsqYzNgttNLXTOOBsggePAn2UcelKq4StnvtxfUEfwY9zR5\/oAtDSUdNQwiGlgZCwcmjGfHtUuqvEqvXqbdVe7+DOGHVt1d+1mitsXYzjx7sn3Cmg0VRl4lrquorJBx23YB+p7Oa0iLnSPuwdXCw3neXn+WOKls9togPh6KFhH5tgF3qd67URRbb3NEYqKskERFw6EREAREQBERAEREAREQBERAEREAREQBERAF5k2xG4xgF+Dsg8M8kRAZeLT1zvM7ajUFRiNpy2miduHpuHue9aSlpKeigbBTRNijbwa0IilKTZTTowp5W\/N7kyIiiXBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/2Q==",
    "razonSocial": "SERVICIOS MEDICOS  CEGMED SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "francisca",
    "correoContacto": "null",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "CONEXION Y CONFIGUARCION",
    "prioridad": "2",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:51",
    "ubicacionGPS": "LatLng(lat: -23.6618827, lng: -70.4001863)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:51",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 16:51:36
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-FC5DRJn..KdfHvD5LbyxDwB28RdfrqQ3zLjFMDdSe2jaWp9CLEy
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78031724",
    "serieinterna": "KY3095",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12223",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACHAOUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQCAQf\/xABBEAABAwMBBAgEAwUFCQAAAAABAAIDBAURBhIhMUETIlFhcYGRoRQyscEVQtEjJEPC4TM0cqLwBxYmNURSU+Lx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgEDAgIJAwUBAQAAAAAAAAECAxEhEjEEURMiMkFhcYGR0aGx8BQjUmLhM8H\/2gAMAwEAAhEDEQA\/AP2ZERAEREAUc88NNEZZ5WRRt4uecAKnvOpYqCUUdHH8XXOOBEzeGnvx9PouKLTVZd5m1l\/qnnm2mjOAwdhI+3qpqGLywZpV7vTTV39F5snq9Z2+KToqOOWtlJwBE3A9f0ChFw1XX\/3e2xUbHDc6Y7x5E+PJaCkt9HQM2KSmjhGMHYbgnxPEroXdUVsh0VWXbn7Y+u5mPgtZu3\/ilGzP5dkbv8iFms6Y7XS0dXz2cAeXBq06LmvwQ\/Tr+UvczMerpKRwivNsnpHY+doy0+v6lX1HXUtwhE1JOyVh5tO8eI4jzUssUc0bo5Y2yMcMOa4ZB8lnazS0tLKauwVLqOfnEXHYd9fQ7vBd6svA5+9Tz2l9fhmlRZ+16lL6gW+7QGjrG4ALvlkPb3fRaBQcWty6nUjUV4hEXJV3OhoTiqqooj2Odv8ARcSuTclFXbOtFHDPFUR9JDI17e1p4dykQ6ncIiIAiIgC56ytpqCAz1UzYmDm48e4dqgu93prNRmoqDlx3Rxg73ns\/qqOgstVf52XS+k7HGGlG4Ad\/d7nn2KcY4u9jPUqtS0QV5fbzPUN6vV7qg60U7IKNjxmWcfOAd4\/+b+9aleWMZGwMjaGNaMBrRgBelyTT2ROnCUe1K7f5gIiKJaEREARF5kkZFG6SRwaxgLnOJ3ADiUB9c4NaXOIAAySeSy9dfau8VRttgBwDiWr4BgzyP358lC+e46vnfDSk0tqY7D5MdaTu7\/DlzWmoaCmttM2npYhGxvqT2k81ZZQ33MmqVfEMR58\/L5OOyWCls0WWgS1Lh153Dee4dgVqiKDbbuzTCEYR0xWAiIuEgiIgCIiAr7tZaO8QbFTH12jqSt+Zn6+C+2yCa2WpsVfWMlMIOZXdUBvLJPZ2rxd77Q2aLNRJtSkdWJm9x\/Qd6wl7vlxu5dHO3oYousYG7gAcYJ7TvCuhCUlbuMFevSoyckry\/NzR1V7r73VPoLC0tjacSVh3AeHZ9V2UWkLbAzbrGmsqHb3ySuO8+Gfqvuj6E0dgic4naqCZSMYwDw9gFeqMpWdok6VLpEqlXLfsvQydH\/wzqb8Py74CuwYATnYdnh67vMLWLNa3hP4XDWMyJKaYOBB4A\/1wtDTzNqaaKdnyysD2+BGUllKRKj1Jyp9yyvUkREVZqCiqaiKkpn1EztmOMZJUq5LpQ\/iNsnpNrZMjeq7sIOQfUBdVr5IyuovTuUFlt8t9q\/x26DabnFNCR1QAdxx\/rtWqWStl9qLEYrTfKfoQ0BsMzN7S3v3+48wtVFLHNG2SKRsjHDLXNOQfNTqXv4GbhXDTZdrv53PaIirNYREQBERAFlbxVTX+7ixUUhbTRnNXK0cCPy+3r4K31Dc\/wAJtEtQ3+0d1I\/8R8\/FRaZtItlra54zU1AEkzickniB5Z9cqyPVWoy1b1Jqktt35cvUsaOjgoKWOmp2BkcYwB9z3qdEVZpSSVkEREOhERAERU941HSWo9C3NRVu3Mgj3nPLPZ9V1Jt2RCc4wWqTsWdRUw0kLpqiVkUbeLnnAWan1FcLzKaXT9O8Nzh9VI3DW\/p57+5faaw117nbXX+RwYDmOjacBo7+z69pWlgghpohFBEyKNvBrBgBT6sfFmf92t\/WP1fwZsWSmsVBUXeuea2uYwuL5D1ds8MZ78bz\/RZ+Ck+KZb7fn94uEpnqHAbwzPVG7uDnY7x5aHWsxkgo7YxwD6qYZJ5Ac\/U+yi0tD8fdqy77+hZ+wpweTRj7AepVqk1HUzHUpxdZUorH439LL1NW1oa0NaAABgAcl9RFmPXK+\/QCpsNbGf8AwucPEDI9wubSdQajTlKSd7AWHyJA9sK4IBGCMgrNaHcWUFXSnf0NSQD5D9FYswZmljiIvmmv\/TTIi8Nlje9zGSNc5hw4A5LfHsVZpPaIiAhq6Snrqd0FVE2WN3FrlmpdNXK0SOqNP1rtknLqaUjDvsfPHitWilGTRTUowqZe\/PvKC36qhlnFHc4X0NXnGy8HZdv3YP67lfrhudoortD0dXCHEfLINz2+BWf6O86VfmLauFtGNoHO1GO4Z3fTwUrRltuVa6lLt5XP5RrkXBa71Q3iIvpJcuaMujcMOb4hd6g01hmmMoyV4u6CIi4SMvf8XLU9stYG0yM9NKMbscd58B7rULMW\/wDeNfXGV28QwhjeePl\/r6rTqyfcjNw+XOfN\/bAREVZpCL4SAMk4AVPX6rtNBlpqBO\/Hywdb34LqTexCdSEFeTsXK5K+50dti6SrqGRDkCd7vAcSqD8R1Je2t\/D6QW+nd\/GlIJI7RkfQea6qPSFGyU1FxlkuFQd5dKTs+nPzU9KXaZR005\/8o+rwvlnHJd7xqF5jssLqWlG51TLuJ8P6ZPgrW0aborSelGaipPzTScc88Dl9e9WzWhrQ1oAAGAByX1cc8WWEShQSeqbu\/wA2QRFHNKyngkmkOGRtLnHuAyoGjY\/PtW1rqnUckMeXdEwQtHDeeP1x5di3Fnt7LZaoKRowWNy89rjvJ9VhtLUr7tqU1kuMROM7+9xO73OfJbatvtrt4\/eayNrv+xp2neg3q+p3QR5fCNNyrzdrvBYIsu\/WT6rLLTa6iqdw2nDAG7sGfsgpNU3Y\/vVTHboDuLIt78eX6hQ0Nb4Nf6mLxBOXl8l7W3WgtzS6rqo4sflJy70G9YuzXmsgq7gy10Tqx9RPttODstbk7z2ZzzwtBSaOtkD+lqekrZicl0ztxPgPvlcthjbSavu9KxoY0gPa0DAAyD\/MpR0pO2TPVVaU4OXVz3Ze3sBZL\/dNp1zuppo3fwYOGOw4wPqri1WKhs4eaWMh7xhz3OJJ7lYooObeDVChCD1bvm8hERQLwiIgCIiAoLtpaKpk+Mtr\/gqxhDmlnVY49pAHHvUdr1G+KpNsvY6CsacNkI6snZw3D6LRrgulopLtTmOojAeB1JQOuw9x+ysUr4kZpUXF66WHy7md6Kg0nWVM1JUUlS4yuo5TEJc5Dhv3A88Y90UJKzsW05qpBSRz2jEetrtFjBcwO3nw\/ULTrH3StbYtaGtkikkZUU2C2MDJ5fyhTfiOpbzs\/AUYt8BO+WUgn3H0HmrZRbszJSrRp6oWbd3hGjq6ymoYTNVTshYObjjPh2qgm1gKif4azUMldIR85Ba0d+OOPHC9UujaXpXT3Oolr5ncS8lo+uT6rQQQQ00QigiZFG3g1gwAo9ReJb+\/U\/qvd\/H3Mw2wXu8lz7zcHQRu\/wCnhO7zxu+qurfYLZbNl1NTN6Ro\/tH9Z3ry8lYouObeCcOHpwd93zeWERFAvCIiALPa1rhSWN0DTh9S4MAxy4n9PNaFYnUDXXvV1La2DajgA6TBO4HrOPphWU1eWTLxcmqTS3ePcksmmX1On4SaqWkdUP6STo+MjMYaPTJ58fS5otKWeiAIpRM8fnmO0fTh7K4a0NaGtAAAwAOSOcGjLiAO0rjqSZ2nw1KCWLtHxjGRsDI2hjWjAa0YAXpQxVdNPIY4aiKR4GS1jwSPIKZQNCaewWY\/u\/8AtD4D95ps8Owf+q06zF7xBrGzz83gx7vHH8xVkN2jPxOIxlyaNOiIqzSEREAREQBEVbdL9b7Qw\/ETAy4yIWb3ny5eJXUm8IjKcYK8nZFksveb\/LWTus9kaZqh\/VkmbwjHA4P35eKhL79qgbLWfhtvcd7jnbePv7BaC12ijtFP0NLHgne553uce8qdlDfcyuU6+IYjz5+XyeLJaIrNbm0zMOkPWkkA+Z3+tyKxRQbbd2aoxUIqMdkZjWcb4GUN1iHWpJxndyO\/6jHmtLHI2WNsjDlrwHA9oK5rnRC422ekJ2TKwhruw8iqvSNe6e2uoZwW1NC7ontPHA4emMeSnvDyM66ld\/2+6\/wv0RFWagiIgCIiAIiIDy97Y43PecNaCSewLI6OiNfcrheZW73vLWZycZOTjwGArXV9Z8Hp6YA4dORE3z4+wKk07TstmnKfpnCPqdLI55wBnfvzw3YVixBvmY59fiIx7oq5Jeae7VMUbLXVxU5yekLxvI3YwcHvWVvFsorf\/wAzuVVca146kLHY38s5yQFaVmoKy7VJoNPM2sD9pUuGA3w\/X0XfZdN09rcaiV5qax\/zTP348P14qabgslVSK4iXUV\/F7LyXeVuk9NT0EpuFYBG9zcMi4loPb2LWIiqlJyd2bKNKNKGmIWX1mOhfa648IKnfy44P8q1Cz+toRJp17z\/CkY4bu\/H3XafaRDilejL82yaBFBQzGooKeY8ZImu454gFTEgDJOAFAvTurn1FVVupbRQgiWsY94\/JF1z7cPNVR1LdLqHsslseAMft5uXlwz5lTUJMpnxFOLte75LJqHvZGwvkcGNaMlzjgBUldrC10oLYZDVy43MhGQfPguNmlKu4TCe+3F9QQN0Ue4D7egV7Q2mgtrQKSljjIGNvGXHxPFdtBb5Iaq89lpXjl+xQPdqa\/ABkYtVI7mXdcj6\/RWVr0tbrbiQs+InBz0sozv7hyVyi45u1lglHh4p6pZfiERFA0BERAFmr5baqhrxfrW3alYP28IHzt5nv\/plaVFKMrMrq01UjZnBarzR3inElNINsDrxE9ZniPuu9Z26aaeKoXGySCkrAcubwY\/y4A+yhj1XVW8iK+WyWBwIb0rBlrjjj2HyJUtF8xKFXdPq1sePc\/g1CKlj1dY5G5+N2DzDo3Aj2Xo6rsbRk17fJjj9lHRLkW9PS\/kvcuEWdl1xZo\/kM8v8Agjx9SFD\/AL1XGrGLdYp5MndJJnZ9hj3XejlyIPiqOyd\/LJqFHNNFTxmSeVkTBxc9wAHmVm9jWNdg7dNQNJ4bicf5l9j0YyeXprrcKitf3kgce05P0XdKW7OdNOXYg\/XH+lbqq7U96fTUVtDqt7Hlzg1hIdu4A8V2w6dut4cyW91XRQNxs0sO4Adm7cPcrSUlBSUEfR0tPHC3nsNwT4nmpJp4adhfPKyJg4ue4NHuu9JZWiQXDXk51Xv3bI80tHT0MAgpYWRRj8rR796mVHVaws1LkCodO4flhaT7nA91xnVNxrDi2WOd4PCSUED23dvNR0SeSx8RRj1U\/bP2NQvjnBoy4gDtKzBp9YV+6SemoGHiGcfbPb28l9GjTUHauV2q6o8cZwPfPd6LulLdjppy7EH64Laov9ppc9LcIAW8Q120R5DKorvqq2XGgnoKeKqqHTNw0sZjfy47+OOStqbStlpTtNomyO7ZSX+x3K0hghp27MMTIm9jGgD2ROC2OOFeatJpL3MdaZ9Vtt8dJTUYbG04ZNUN2S1vLcT9iu06VuFwcHXi8yyA8Y4dzfLl7LUIjqO+FY5HhY2Sm2\/UqqPTVoogOjomPdzfL1yfX7K1RFBtvc0xhGCtFWCIi4SCIiAIiIAiIgCIiAL45oc0tcAQRgg819RAcUtmtc7tuS30zndvRDJXkWO1A5\/DqY+MYK70XdT5kOjhyRDFSU0H9lTxR789RgCmUc00VPC6aaRscbRlznHACzs+p6mvqDTWGkdUkZDp3tw1p5f6PouqLkRnUhSw\/Y0U88NNEZZ5WRRt4uecALP1OsqYzNgttNLXTOOBsggePAn2UcelKq4StnvtxfUEfwY9zR5\/oAtDSUdNQwiGlgZCwcmjGfHtUuqvEqvXqbdVe7+DOGHVt1d+1mitsXYzjx7sn3Cmg0VRl4lrquorJBx23YB+p7Oa0iLnSPuwdXCw3neXn+WOKls9togPh6KFhH5tgF3qd67URRbb3NEYqKskERFw6EREAREQBERAEREAREQBERAEREAREQBERAF5k2xG4xgF+Dsg8M8kRAZeLT1zvM7ajUFRiNpy2miduHpuHue9aSlpKeigbBTRNijbwa0IilKTZTTowp5W\/N7kyIiiXBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/2Q==",
    "razonSocial": "SERVICIOS MEDICOS  CEGMED SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "francisca",
    "correoContacto": "null",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "CONEXION Y CONFIGUARCION",
    "prioridad": "2",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:51",
    "ubicacionGPS": "LatLng(lat: -23.6618827, lng: -70.4001863)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:51",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 16:51:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78031724

[12/05/2026 16:51: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('78031724', 'KY3095', 1, 95585912, 0, NOW(), 
				'16:51', '16:38', '16:51', 16, 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778619096.png', 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', null, 'COMPLETADO','LatLng(lat: -23.6618827, lng: -70.4001863)' )
				
[12/05/2026 16:51:36] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200291

12/05/2026 16:51:36 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200291'                    
				WHERE idllamado = 12223			
				TO ENVIO: null, null


12/05/2026 16:51:37 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12223			
				
12/05/2026 16:51:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16:51:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16:51:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            [12/05/2026 16:51:39] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            [12/05/2026 16:51:39] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:51:39] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16: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 = 12223
                
12/05/2026 16:51:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            [12/05/2026 16:51:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:51:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                [12/05/2026 16:51:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            [12/05/2026 16:51:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:51:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            [12/05/2026 16:51:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:51:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            [12/05/2026 16:51:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                [12/05/2026 16:51:41] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                [12/05/2026 16:51:41] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12223
            GROUP BY l.idllamado;
            
12/05/2026 16:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12223
                
12/05/2026 16:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            [12/05/2026 16:51:43] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:51:43] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                [12/05/2026 16:51:43] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                [12/05/2026 16:51:43] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            [12/05/2026 16:51:44] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                [12/05/2026 16:51:44] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            [12/05/2026 16:51:44] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            [12/05/2026 16:51:44] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                [12/05/2026 16:51:44] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:51:44] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            [12/05/2026 16:51:44] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                [12/05/2026 16:51:44] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                [12/05/2026 16:51:44] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            [12/05/2026 16:51:49] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            [12/05/2026 16:51:49] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12289
                
12/05/2026 16:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            [12/05/2026 16:51:49] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12289
                
12/05/2026 16:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            [12/05/2026 16:51:49] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12289
                
12/05/2026 16: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 = 12289
                [12/05/2026 16:51:49] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12289
                
12/05/2026 16:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            [12/05/2026 16:51:49] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:51:49] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16: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 = 12289
                
12/05/2026 16: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 = 12289
                
12/05/2026 16: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 = 12289
                [12/05/2026 16:51:49] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            [12/05/2026 16:51:49] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12289
                
12/05/2026 16: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 = 12289
                
12/05/2026 16: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 = 12289
                
12/05/2026 16: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 = 12289
                
12/05/2026 16: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 = 12289
                
12/05/2026 16: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 = 12289
                
12/05/2026 16: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 = 12289
                
12/05/2026 16:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12289
                
12/05/2026 16: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 = 12289
                
12/05/2026 16:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            [12/05/2026 16:51:49] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12289
                
12/05/2026 16:51:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            [12/05/2026 16:51:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                [12/05/2026 16:51:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:51:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:51:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16: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 = 12289
                
12/05/2026 16: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 = 12289
                
12/05/2026 16: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 = 12289
                
12/05/2026 16:51:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12289
                
12/05/2026 16: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 = 12289
                
12/05/2026 16: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 = 12289
                
12/05/2026 16: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 = 12289
                
12/05/2026 16:51:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12289
                
12/05/2026 16:51:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:51:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:51:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16: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 = 12289
                
12/05/2026 16: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 = 12289
                
12/05/2026 16:52:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:14 - logentry: =========================================
FECHA: 12/05/2026 16:52:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-jQEyTTolU.t4ysbBZOQawmc1YY1ZBTNh4xtTWaT7ECz-9IYL.NI
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76548103",
    "serieinterna": "KY2317",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12289",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACdAN0DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABCEAABAwMCAgYIAggEBwEAAAABAAIDBAURBiESMUFRYXGBkRMUIjKhscHRI0IVFjZScpKy8AdD0uEkJTREVWKigv\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADERAAIBAgMFBwQCAwEAAAAAAAABAgMREiExBDJBUWETInGRocHRFIGx4TPwQkOC8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEXlzmsaXPcGtHMk4AUKa92qAkSXCnBHMCQEjwClJvQrKUY6snoqwajszjgXGDxdhToaqnqRmCeOUYzljw75I01qRGpCWjudURFBcIiIAiIgCIiAIiIAiLxLNHBE6WZ7Y42DLnOOAAg0Pa4VdbS0MXpaqdkLOtxxnu61np9R1l1qX0en4OLGxqnj2W9u\/wBfJe6PRtOXmou08ldUO55cQ0fU\/wB7LTAlvHK68p5Ulfrw\/Z8n1gJ5jT2ahlrpMe9gtaO3GM+eF5ZBq+uy+Sqp6FrvyAAkd2x+a0kEENNEIoImRRt5NYMALomJLRE9jOWc5v7ZL5OcLHxwRskeZHtaA55\/McbldERZnSEREARfHODWlziAAMknoWbr9SzVVSbfYIfWp\/zTc2M7erx5d6tGLloZ1Ksaa7xdXC6Udrh9JVztjB91vNzu4KgffL1evYslA+CE\/wDczgDy6PLKkW3ScUc\/rl2lNdVk5PESWA\/Xx27FoQABgDACteMdMzHDVq7zwrktfMzLdHOq3mW73OeqkO\/Cw8LWnxz8gp0ekrHFyoQ49bnuP1Vyihzk+JeOzUl\/j55\/kqnaYsr2lpt8WD1ZB8wVCm0RanO46d09M8HLSx+QD45WiRQpyXEmWz0paxRlTb9T2feirG3CnaBiOX3sDo3+h8OSk2\/WFJPJ6tcI3UFSDhzZdm57+jx81oVCuFpobpHwVlO2QgYa\/k5vceatiT3kZ9jOGdKX2ea+UTGuDmhzSCCMgjpXGsraegpnVNVII42cyfkOtZh1Hd9LPdLQudX28uy6A7vGRudht3jxCrL7f4blc6eOoilZR04D3wObhz34zwnq6B5lSqd3loZ1NrwReJWl1\/uhaQ0dw1XIaurnlo7f\/kwxO3f2\/wC5C+S0lw0lK2qpp5ay25\/FieclgJ5gcvHzXbTV8ud1uVRDNBDHTxDcNbj0fQGjyJ36j3LTOa17Cx7Q5rhggjIIUyk4uz0K0qUKsMcW8XP+8Ohxoq2nuFKypppA+N42PV2HtUhZGNrtJX5sXETbK13s55Ru\/wBvl3LXLOUbaaHVRqOaalk1qERVF71BDaeGFjDUVkg\/DhbnPeVCTbsi85xhHFJ5Eq6XaltFKZ6p+M+4we889QCz0FuuWqZhV3Vz6WhGDFTsPvDr\/wBz4LvatP1NXWfpa+u9JOTxRwflj6sj6ee606vdQ01OZQlXzqZR5c\/H4ONLSU9FA2CmibFG3k1oXZEWZ1pJKyCIiEhERAF8JAGScAL6s3qaunnnisNAfx6ofiuxkNYeeerbJPZ3q0Vd2M6tRU44mR6yrqdVVjrdb3mO3xn8eoH5+wfZaOgt9LbaYU9JEI2Dnjm49ZPSV4tdtgtNCykgyWt3LjzceklTFMpcFoZ0qTXfnnJ+nRBERUOgIiIAiIgCLxLNHBE6WZ7Y42DLnOOAAsrPdLhqeofRWYmno27S1LhgkdQ6u7n3BWjFsxq1lTy1b0RLveqW0kjqK2x+tVmNy3dsff1n+z1Km0\/SQstNZqGsb6aeMvMQfu3OM5x1lx8FdVFppLBpquFKzikdA4Pld7zsjHh3KnrHer\/4f0NKzd9VIAAOn2i77LaNrWjzOCrjx4qnBNpcFyLrRtI6Cy+sSbyVbzI45ztyH38VfrjSwClpIadvKKNrB4DC7LGTu7no0oYKajyK2\/20XWzzU\/DmQDji\/jHLz5eK4aWuTrlZY3S59NAfRSZ5kjkfIj4q5WVpCLJrSemc\/EFxb6Rg6A8k\/XiHiFaOcWjGp3KsZ8Hk\/Y1SycEkNu1pUyXFr2uqdqaZ49gcgQD3YGfDpWsUO5Wuku1N6Crj4mg5a4HDmnrBVYtLUvWpuaTjqsyYiyLGX\/TBDGN\/SFtadg0ZexvzHxHcrm2aktt0DWxziOZ23opDh2dth181Lg1ms0RDaIt4ZZPk\/bmWqIiodAREQBERAR6+tjt1DNVze5E3ix1noHicBUWkqOSds17rQHVNW72CR7rRtt1Z+QC+avkfUyUFnj51coLzjk0EdPiT4LRxRMhiZFG0NYxoa1o6AOQWm7HxOX+Sv0j+X8I9oiLM6giIgCIiALhWVtPQUzqmqkEcbOZPyHWod4vtJZ4syn0kzvchYfad9gqeks9ff6mO43t5jgBLoqQZGB29XzV1HK70OepWs8FNXl+PE5M9c1lVB0jX01ojOeHplI7f7A71q6enhpIGwU8bY42DAa0L2xjI2BkbQxrRgNaMAL0olK+S0LUqWDNu8nqyp1Q4t03WkfuAeZCzcbBWV2m6DdzI4RO4bY69\/wCX4rR6q\/Zqt\/hH9QWe0yBPqWHI\/wCnt7Mfyt\/1LWG42ce0514x52\/N\/Y3CIiwPSCzms6Rz7ZHXxACajkDw7\/1z98LRqNcG08lDNDUyMjjlYWEvcGjcY5nvVou0kzKtBTpuLPtvq219vgq2YxKwOwDyPSPA7KQsbpnUtBb7P6rXVHC+GQhgDXO4mnfO3blaS1XamvFM6opePga\/gPG3BzgH6qZQcWylGvCpFZ52Jyqbppq2XUmSWH0cx\/zYvZJ7+g+KtkVU2tDWcIzVpK5lxZNQ2ve23YVEYz+FUDr78\/RfP1puVAcXezSRtHOSHdv2+K1KK+O+qMPp3H+OTXqvUpqXVlmqtvWxC7OMTAt+PL4q0hqqepGYJ45RjOWPDvkotVY7VWD8eghcf3mt4T5jBVVNoe1ufx08tRTOHu8D8geYz8U7j6E32iPBP0NIiyztP3yhaTQ38ljdw2oBw0eOejsVhpi51N2tbp6oN42ylgc1uA4DG\/xUOOV0yYVm5YJRaZAf\/wAV\/iGwE8QpKfOB0ZHT\/P8AJahZizfia1u8jvea0NHdt9gtOk+C6EbNmpPm38BERUOkIirbvfaKzRB1Q\/MjhlkTd3O+w7VKTbsispRgsUnZE+WWOGN0krwxjRkuccALMVOoq671JotPREgHD6p49kDszy8d+xeIqC7aolbPcy6kt+QW07Tgv\/vrPgtPS0lPRQNgpomxRt5NaFfKOubOa9Svp3Y+r+CptGmKe3y+t1UjqytJyZpCTg9g+p+CvERUbbd2dEKcaatFBERQXKbVruHTNYcZ2aPN4CzGkrhR2+eqrKybgYGRwtOCckg7bfwrS6wIGmKvJ58GP52qo0NSQVNvqjUQRzNErQBI0OAwM8j3reNuzdzzKyk9rio8vknTa4tbPZgZUVDugNZgHz+y5m\/3+tPDQWJ0Wfzz5x8cLSRU8EAxDDHGOpjQPkuipiitEdXZVZb0\/Jf+mXFq1PcHZrbqyljJB4IBuOzbHzK6Q6It\/F6SrqKiqkPMufgH6\/FaRFHaS4BbLT1ln45mNbbKKzaxipzSsfSVkWIxIOIMd2F3d\/8AS2DWtY0NY0NaOQAwAs3rWJ0VPRXONuZKScHwO\/zA81pI5GyxtkYcteA4HrBUzd0mVoRUJzgl18z0iIszrCIiAIigXi7QWegfUykF2MRszu93UpSu7IrKSinJ6FXqq5P4I7NR4dVVp4HYPuNJHPv38Mq4ttBFbKCKkiG0Y3OB7R6SqfTNsndJJe7iSayqGzSMcDejbuA8Fo1eTssKMKKcm6suOnRfsy9A4U2vrhCRwieIOb2nDT\/qWoWW1I\/9Gahtd22EeTFKcch0\/AnyWpSfBjZ8nOHJ\/nMLy97I2F8jgxrRkuccAKlu2qaS3SerQNNXVk4EUfQe0\/QKvjs941C8TXqZ1LS820sRwT3j75PcoUMrvISrq+Gmrv0+7O9bqiSpqf0fYofWZ3bGbHsM7e3v5d67WfTLKWU11yf63XPOS527WHs6z2+WFbUVvpLdAIaSBkTenA3d2k9Kko5WVoiNFyeKq7v0QREVDpCIiAIiICi1n+zU\/wDEz+oKNoOPhsUjse\/O48uxoUnWf7NT\/wATP6gmjI+DTUDs++57v\/oj6Lb\/AFfc4Gr7Z\/z7l6iL45wa0ucQABkk9CxO8+os\/ZrrW3m8VE8R4LXEDG0Foy9+2+efb5LQKZKzszOnUVRYloVepKb1rT1ZHjJEfGNv3fa+iaaqTVaeo5CckR8B\/wDycfRWUkbZY3RvGWvBaR1grNaJe+KlrbfIfbpagg9mdvm0q6zgzKXd2iL5pryzNOiIszpCIoF3vFLZ6Qzzuy4+5GD7Tz\/fSpSbdkVlJRWKWh6ut1prRRuqKh3Yxg5vPUFR2i2VN6rG3q8N9nnT05GzR0H++fNfbXaaq8VrLzeRgDenpuho6Cft09K1Cu2oqy1OaMXWeOe7wXu\/gIiLM6yn1Uylfp+oFU4saMFjg3OH9H28Vm7bW3jU0bLc2qZTwwsAme04e8cu89vR181uZYYp2cEsbJG5B4XtBGRyWb1DQz26sjv9taA+EYqIxsHt6\/LbyPQtoSVrcTg2mnLF2nDilq0W1psVDZ48U0WZCPalfu5328FYqLbrhBdKKOrp3ZY8bg82npB7VKWTvfM7KagorBoERFBcIiIAiIgCIiAotZ\/s1P8AxM\/qC76XYGabogOlhPmSV71Db57pZ5aSnLBI4tI4zgbEFdrZAbfZ6eGYtaYYQJDnABA33Wl+5bqcqg\/qHPhb3Jqyt7u892ndZLMDI53s1Ew91reRGerrPglxvNRfKs2mxu9gjE9VvgDpwert6ehXlptNLZ6QQUzdzu955vPWfsiWDN6lZSdd4IPu8X7L5Pdst8NroI6ODJawbuPNxPMlS0RZt3OuMVFWQWZtQ9U1tdKcnAnYJR055Hw5laZQDaYDehdeN4mEfo+HbhI6+WVaLtcyqwcnFrgyei5VFTDSQumqJWRRt5uecBZie+XG\/wAzqSwxuihBw+reMY7ur59yRi2KlaNPJ5vlxLO9ajp7XiCJvrNY\/ZsLNyO\/Hy5qFadPTVFULtfHemqXbshdu2MdGR2dXQp1l05SWj8beercPamfzz046lcKzkkrRM40pVHiq\/ZcvlhERZnUEREAXxzQ5pa4AgjBB6V9RAY+qhn0hcXV1Kx0lsncBJEPyE\/Ls8lqaOtp6+mbU0sgkjfyI+R6l1kjZLG6ORjXscMOa4ZBHaFmKmw3Cz1Tq2wzZjJLn0b88J26N9\/n2rS6nrqcmGVB3irx5cvDp0NSizcOsqeKY091pZaGZvvZHE3PLo3+auqa50NYAaarhlycYa8Z8uaq4yWptCtTnuslIiKpqEXxzg0ZcQB1lV9Vf7VRg+mrosj8rHcR8h3KUm9CspxjnJ2LFeXOaxpc9wa0cyTgBZmXV01Y50VktstU8HHpHtPAO3b6kLz+rl1vEokvlfwxcxTwHYdnUPir4Lb2RzvaFLKksX48yVX6upY5fVrbE+4VJ2Ai90ePT4eaitsd4vjhJfKswQZyKWDbz6PPJV\/QWyjtsXo6SnZEOkgbu7zzKlpiS3R2Mp51XfotP2RqG30ttpxBSQtiYNzjmT1k9Kkoiz1OlJJWQRcaiqp6SP0lTPHCz96RwaPiqCr1lA5\/oLTTS1052GGkN7+sqyi3oZ1K0Ke8zSEgDJOAFQ3HVVPC\/wBVtjPX6s7Bke7R3kc\/BRf0Le75h14rfVqc7mmg59x6PPKvLbaKG0xejpIQ0kYc87ud3lWtGOuZliq1N1YVzevl8lJT6crLrOyt1BUF55tpWbNb2HH081pIIIaaIRQRMijbyawYAXRFWUmzWnRjT0158QiIqmoREQBERAEREAREQHGopaerZwVMEczep7Qfmqep0ZZagktgfAT0xPPyOQr5FZSa0ZnOlTnvJMzH6kxM2hulZGzobxD6YT9UKr\/z9Z8f9S06K3aS5mX0lHl6szLdDUL96msq5ndZeB9D2eSn0ul7PSPa9lG1728nSEu+B2VuoFbe7ZbuIVNZGx7ebAeJ3kN1GKcsrjsaFPvNJeJNYxkbAyNoY1owGtGAF6WYdrL1kltrtVTVkHGcYA8s9q+el1hXNw2CmoWke847\/X5dCns3xyH1MHuJvwRqFAq75a6HaoroWn90HicPAZKpjpOvrR\/zO9zyg842Z4ficfBT6TSdmpMH1QTOBzxTEuz4cvgloLVjHXluxt4v2RCfrOKeQxWu31NbIOpuB37ZPwXgR6uubvxJILdEeYbu7G\/Lmc+IWmjijhYGRRtY0cmtGAvaYktEOxnLfm\/tl+zOU2i6ISelr6ieulwMmRxA+\/xV7T0tPSR+jpoI4WfuxtDR8F2RVcm9TSFGnT3UERFU1CIiAIiIAiIgCIiAIiIAiIgCIiAKtu99orNEHVD8yOGWRN3c77DtVkqS3aXpqSskraqZ9dUvdkSSj3fDr7fLCtG3EyqupkoefIrhTah1I0uqZf0ZRu5RtB43Dt6fPHcrGh0laaIh7oTUyZzxzni37uSu0Uub0WRSOzQTxSzfNnljGRsDI2hjWjAa0YAXpEVDoCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "BLINKEND SEGURIDAD SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "EUGENIA",
    "correoContacto": "egonzalez@blinkend.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "OTRO TIPO",
    "otroTipo": "VISITA TÉCNICA",
    "idFalla": "-2",
    "otraFalla": "CAMBIO DE UNID DE IMAGEN Y FUSOR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "944927696",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:52",
    "ubicacionGPS": "LatLng(lat: -23.6618819, lng: -70.4001766)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:51",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 16:52:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-jQEyTTolU.t4ysbBZOQawmc1YY1ZBTNh4xtTWaT7ECz-9IYL.NI
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76548103",
    "serieinterna": "KY2317",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12289",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACdAN0DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABCEAABAwMCAgYIAggEBwEAAAABAAIDBAURBiESMUFRYXGBkRMUIjKhscHRI0IVFjZScpKy8AdD0uEkJTREVWKigv\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADERAAIBAgMFBwQCAwEAAAAAAAABAgMREiExBDJBUWETInGRocHRFIGx4TPwQkOC8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEXlzmsaXPcGtHMk4AUKa92qAkSXCnBHMCQEjwClJvQrKUY6snoqwajszjgXGDxdhToaqnqRmCeOUYzljw75I01qRGpCWjudURFBcIiIAiIgCIiAIiIAiLxLNHBE6WZ7Y42DLnOOAAg0Pa4VdbS0MXpaqdkLOtxxnu61np9R1l1qX0en4OLGxqnj2W9u\/wBfJe6PRtOXmou08ldUO55cQ0fU\/wB7LTAlvHK68p5Ulfrw\/Z8n1gJ5jT2ahlrpMe9gtaO3GM+eF5ZBq+uy+Sqp6FrvyAAkd2x+a0kEENNEIoImRRt5NYMALomJLRE9jOWc5v7ZL5OcLHxwRskeZHtaA55\/McbldERZnSEREARfHODWlziAAMknoWbr9SzVVSbfYIfWp\/zTc2M7erx5d6tGLloZ1Ksaa7xdXC6Udrh9JVztjB91vNzu4KgffL1evYslA+CE\/wDczgDy6PLKkW3ScUc\/rl2lNdVk5PESWA\/Xx27FoQABgDACteMdMzHDVq7zwrktfMzLdHOq3mW73OeqkO\/Cw8LWnxz8gp0ekrHFyoQ49bnuP1Vyihzk+JeOzUl\/j55\/kqnaYsr2lpt8WD1ZB8wVCm0RanO46d09M8HLSx+QD45WiRQpyXEmWz0paxRlTb9T2feirG3CnaBiOX3sDo3+h8OSk2\/WFJPJ6tcI3UFSDhzZdm57+jx81oVCuFpobpHwVlO2QgYa\/k5vceatiT3kZ9jOGdKX2ea+UTGuDmhzSCCMgjpXGsraegpnVNVII42cyfkOtZh1Hd9LPdLQudX28uy6A7vGRudht3jxCrL7f4blc6eOoilZR04D3wObhz34zwnq6B5lSqd3loZ1NrwReJWl1\/uhaQ0dw1XIaurnlo7f\/kwxO3f2\/wC5C+S0lw0lK2qpp5ay25\/FieclgJ5gcvHzXbTV8ud1uVRDNBDHTxDcNbj0fQGjyJ36j3LTOa17Cx7Q5rhggjIIUyk4uz0K0qUKsMcW8XP+8Ohxoq2nuFKypppA+N42PV2HtUhZGNrtJX5sXETbK13s55Ru\/wBvl3LXLOUbaaHVRqOaalk1qERVF71BDaeGFjDUVkg\/DhbnPeVCTbsi85xhHFJ5Eq6XaltFKZ6p+M+4we889QCz0FuuWqZhV3Vz6WhGDFTsPvDr\/wBz4LvatP1NXWfpa+u9JOTxRwflj6sj6ee606vdQ01OZQlXzqZR5c\/H4ONLSU9FA2CmibFG3k1oXZEWZ1pJKyCIiEhERAF8JAGScAL6s3qaunnnisNAfx6ofiuxkNYeeerbJPZ3q0Vd2M6tRU44mR6yrqdVVjrdb3mO3xn8eoH5+wfZaOgt9LbaYU9JEI2Dnjm49ZPSV4tdtgtNCykgyWt3LjzceklTFMpcFoZ0qTXfnnJ+nRBERUOgIiIAiIgCLxLNHBE6WZ7Y42DLnOOAAsrPdLhqeofRWYmno27S1LhgkdQ6u7n3BWjFsxq1lTy1b0RLveqW0kjqK2x+tVmNy3dsff1n+z1Km0\/SQstNZqGsb6aeMvMQfu3OM5x1lx8FdVFppLBpquFKzikdA4Pld7zsjHh3KnrHer\/4f0NKzd9VIAAOn2i77LaNrWjzOCrjx4qnBNpcFyLrRtI6Cy+sSbyVbzI45ztyH38VfrjSwClpIadvKKNrB4DC7LGTu7no0oYKajyK2\/20XWzzU\/DmQDji\/jHLz5eK4aWuTrlZY3S59NAfRSZ5kjkfIj4q5WVpCLJrSemc\/EFxb6Rg6A8k\/XiHiFaOcWjGp3KsZ8Hk\/Y1SycEkNu1pUyXFr2uqdqaZ49gcgQD3YGfDpWsUO5Wuku1N6Crj4mg5a4HDmnrBVYtLUvWpuaTjqsyYiyLGX\/TBDGN\/SFtadg0ZexvzHxHcrm2aktt0DWxziOZ23opDh2dth181Lg1ms0RDaIt4ZZPk\/bmWqIiodAREQBERAR6+tjt1DNVze5E3ix1noHicBUWkqOSds17rQHVNW72CR7rRtt1Z+QC+avkfUyUFnj51coLzjk0EdPiT4LRxRMhiZFG0NYxoa1o6AOQWm7HxOX+Sv0j+X8I9oiLM6giIgCIiALhWVtPQUzqmqkEcbOZPyHWod4vtJZ4syn0kzvchYfad9gqeks9ff6mO43t5jgBLoqQZGB29XzV1HK70OepWs8FNXl+PE5M9c1lVB0jX01ojOeHplI7f7A71q6enhpIGwU8bY42DAa0L2xjI2BkbQxrRgNaMAL0olK+S0LUqWDNu8nqyp1Q4t03WkfuAeZCzcbBWV2m6DdzI4RO4bY69\/wCX4rR6q\/Zqt\/hH9QWe0yBPqWHI\/wCnt7Mfyt\/1LWG42ce0514x52\/N\/Y3CIiwPSCzms6Rz7ZHXxACajkDw7\/1z98LRqNcG08lDNDUyMjjlYWEvcGjcY5nvVou0kzKtBTpuLPtvq219vgq2YxKwOwDyPSPA7KQsbpnUtBb7P6rXVHC+GQhgDXO4mnfO3blaS1XamvFM6opePga\/gPG3BzgH6qZQcWylGvCpFZ52Jyqbppq2XUmSWH0cx\/zYvZJ7+g+KtkVU2tDWcIzVpK5lxZNQ2ve23YVEYz+FUDr78\/RfP1puVAcXezSRtHOSHdv2+K1KK+O+qMPp3H+OTXqvUpqXVlmqtvWxC7OMTAt+PL4q0hqqepGYJ45RjOWPDvkotVY7VWD8eghcf3mt4T5jBVVNoe1ufx08tRTOHu8D8geYz8U7j6E32iPBP0NIiyztP3yhaTQ38ljdw2oBw0eOejsVhpi51N2tbp6oN42ylgc1uA4DG\/xUOOV0yYVm5YJRaZAf\/wAV\/iGwE8QpKfOB0ZHT\/P8AJahZizfia1u8jvea0NHdt9gtOk+C6EbNmpPm38BERUOkIirbvfaKzRB1Q\/MjhlkTd3O+w7VKTbsispRgsUnZE+WWOGN0krwxjRkuccALMVOoq671JotPREgHD6p49kDszy8d+xeIqC7aolbPcy6kt+QW07Tgv\/vrPgtPS0lPRQNgpomxRt5NaFfKOubOa9Svp3Y+r+CptGmKe3y+t1UjqytJyZpCTg9g+p+CvERUbbd2dEKcaatFBERQXKbVruHTNYcZ2aPN4CzGkrhR2+eqrKybgYGRwtOCckg7bfwrS6wIGmKvJ58GP52qo0NSQVNvqjUQRzNErQBI0OAwM8j3reNuzdzzKyk9rio8vknTa4tbPZgZUVDugNZgHz+y5m\/3+tPDQWJ0Wfzz5x8cLSRU8EAxDDHGOpjQPkuipiitEdXZVZb0\/Jf+mXFq1PcHZrbqyljJB4IBuOzbHzK6Q6It\/F6SrqKiqkPMufgH6\/FaRFHaS4BbLT1ln45mNbbKKzaxipzSsfSVkWIxIOIMd2F3d\/8AS2DWtY0NY0NaOQAwAs3rWJ0VPRXONuZKScHwO\/zA81pI5GyxtkYcteA4HrBUzd0mVoRUJzgl18z0iIszrCIiAIigXi7QWegfUykF2MRszu93UpSu7IrKSinJ6FXqq5P4I7NR4dVVp4HYPuNJHPv38Mq4ttBFbKCKkiG0Y3OB7R6SqfTNsndJJe7iSayqGzSMcDejbuA8Fo1eTssKMKKcm6suOnRfsy9A4U2vrhCRwieIOb2nDT\/qWoWW1I\/9Gahtd22EeTFKcch0\/AnyWpSfBjZ8nOHJ\/nMLy97I2F8jgxrRkuccAKlu2qaS3SerQNNXVk4EUfQe0\/QKvjs941C8TXqZ1LS820sRwT3j75PcoUMrvISrq+Gmrv0+7O9bqiSpqf0fYofWZ3bGbHsM7e3v5d67WfTLKWU11yf63XPOS527WHs6z2+WFbUVvpLdAIaSBkTenA3d2k9Kko5WVoiNFyeKq7v0QREVDpCIiAIiICi1n+zU\/wDEz+oKNoOPhsUjse\/O48uxoUnWf7NT\/wATP6gmjI+DTUDs++57v\/oj6Lb\/AFfc4Gr7Z\/z7l6iL45wa0ucQABkk9CxO8+os\/ZrrW3m8VE8R4LXEDG0Foy9+2+efb5LQKZKzszOnUVRYloVepKb1rT1ZHjJEfGNv3fa+iaaqTVaeo5CckR8B\/wDycfRWUkbZY3RvGWvBaR1grNaJe+KlrbfIfbpagg9mdvm0q6zgzKXd2iL5pryzNOiIszpCIoF3vFLZ6Qzzuy4+5GD7Tz\/fSpSbdkVlJRWKWh6ut1prRRuqKh3Yxg5vPUFR2i2VN6rG3q8N9nnT05GzR0H++fNfbXaaq8VrLzeRgDenpuho6Cft09K1Cu2oqy1OaMXWeOe7wXu\/gIiLM6yn1Uylfp+oFU4saMFjg3OH9H28Vm7bW3jU0bLc2qZTwwsAme04e8cu89vR181uZYYp2cEsbJG5B4XtBGRyWb1DQz26sjv9taA+EYqIxsHt6\/LbyPQtoSVrcTg2mnLF2nDilq0W1psVDZ48U0WZCPalfu5328FYqLbrhBdKKOrp3ZY8bg82npB7VKWTvfM7KagorBoERFBcIiIAiIgCIiAotZ\/s1P8AxM\/qC76XYGabogOlhPmSV71Db57pZ5aSnLBI4tI4zgbEFdrZAbfZ6eGYtaYYQJDnABA33Wl+5bqcqg\/qHPhb3Jqyt7u892ndZLMDI53s1Ew91reRGerrPglxvNRfKs2mxu9gjE9VvgDpwert6ehXlptNLZ6QQUzdzu955vPWfsiWDN6lZSdd4IPu8X7L5Pdst8NroI6ODJawbuPNxPMlS0RZt3OuMVFWQWZtQ9U1tdKcnAnYJR055Hw5laZQDaYDehdeN4mEfo+HbhI6+WVaLtcyqwcnFrgyei5VFTDSQumqJWRRt5uecBZie+XG\/wAzqSwxuihBw+reMY7ur59yRi2KlaNPJ5vlxLO9ajp7XiCJvrNY\/ZsLNyO\/Hy5qFadPTVFULtfHemqXbshdu2MdGR2dXQp1l05SWj8beercPamfzz046lcKzkkrRM40pVHiq\/ZcvlhERZnUEREAXxzQ5pa4AgjBB6V9RAY+qhn0hcXV1Kx0lsncBJEPyE\/Ls8lqaOtp6+mbU0sgkjfyI+R6l1kjZLG6ORjXscMOa4ZBHaFmKmw3Cz1Tq2wzZjJLn0b88J26N9\/n2rS6nrqcmGVB3irx5cvDp0NSizcOsqeKY091pZaGZvvZHE3PLo3+auqa50NYAaarhlycYa8Z8uaq4yWptCtTnuslIiKpqEXxzg0ZcQB1lV9Vf7VRg+mrosj8rHcR8h3KUm9CspxjnJ2LFeXOaxpc9wa0cyTgBZmXV01Y50VktstU8HHpHtPAO3b6kLz+rl1vEokvlfwxcxTwHYdnUPir4Lb2RzvaFLKksX48yVX6upY5fVrbE+4VJ2Ai90ePT4eaitsd4vjhJfKswQZyKWDbz6PPJV\/QWyjtsXo6SnZEOkgbu7zzKlpiS3R2Mp51XfotP2RqG30ttpxBSQtiYNzjmT1k9Kkoiz1OlJJWQRcaiqp6SP0lTPHCz96RwaPiqCr1lA5\/oLTTS1052GGkN7+sqyi3oZ1K0Ke8zSEgDJOAFQ3HVVPC\/wBVtjPX6s7Bke7R3kc\/BRf0Le75h14rfVqc7mmg59x6PPKvLbaKG0xejpIQ0kYc87ud3lWtGOuZliq1N1YVzevl8lJT6crLrOyt1BUF55tpWbNb2HH081pIIIaaIRQRMijbyawYAXRFWUmzWnRjT0158QiIqmoREQBERAEREAREQHGopaerZwVMEczep7Qfmqep0ZZagktgfAT0xPPyOQr5FZSa0ZnOlTnvJMzH6kxM2hulZGzobxD6YT9UKr\/z9Z8f9S06K3aS5mX0lHl6szLdDUL96msq5ndZeB9D2eSn0ul7PSPa9lG1728nSEu+B2VuoFbe7ZbuIVNZGx7ebAeJ3kN1GKcsrjsaFPvNJeJNYxkbAyNoY1owGtGAF6WYdrL1kltrtVTVkHGcYA8s9q+el1hXNw2CmoWke847\/X5dCns3xyH1MHuJvwRqFAq75a6HaoroWn90HicPAZKpjpOvrR\/zO9zyg842Z4ficfBT6TSdmpMH1QTOBzxTEuz4cvgloLVjHXluxt4v2RCfrOKeQxWu31NbIOpuB37ZPwXgR6uubvxJILdEeYbu7G\/Lmc+IWmjijhYGRRtY0cmtGAvaYktEOxnLfm\/tl+zOU2i6ISelr6ieulwMmRxA+\/xV7T0tPSR+jpoI4WfuxtDR8F2RVcm9TSFGnT3UERFU1CIiAIiIAiIgCIiAIiIAiIgCIiAKtu99orNEHVD8yOGWRN3c77DtVkqS3aXpqSskraqZ9dUvdkSSj3fDr7fLCtG3EyqupkoefIrhTah1I0uqZf0ZRu5RtB43Dt6fPHcrGh0laaIh7oTUyZzxzni37uSu0Uub0WRSOzQTxSzfNnljGRsDI2hjWjAa0YAXpEVDoCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "BLINKEND SEGURIDAD SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "EUGENIA",
    "correoContacto": "egonzalez@blinkend.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "OTRO TIPO",
    "otroTipo": "VISITA TÉCNICA",
    "idFalla": "-2",
    "otraFalla": "CAMBIO DE UNID DE IMAGEN Y FUSOR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "944927696",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:52",
    "ubicacionGPS": "LatLng(lat: -23.6618819, lng: -70.4001766)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:51",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 16:52:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76548103

[12/05/2026 16:52:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76548103', 'KY2317', 1, 95585912, 0, NOW(), 
				'16:51', '16:38', '16:52', 16, 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778619134.png', 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', null, 'COMPLETADO','LatLng(lat: -23.6618819, lng: -70.4001766)' )
				
[12/05/2026 16:52:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200292

12/05/2026 16:52:14 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200292'                    
				WHERE idllamado = 12289			
				TO ENVIO: micorreo@miempresa.cl, egonzalez@blinkend.cl


12/05/2026 16:52:14 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12289			
				
12/05/2026 16:52:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 16:52:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                [12/05/2026 16:52:17] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:52:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            [12/05/2026 16:52:17] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:52:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            [12/05/2026 16:52:18] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            [12/05/2026 16:52:18] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:52:18] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:52:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            [12/05/2026 16:52:18] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:52:18] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            [12/05/2026 16:52:19] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:52:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            [12/05/2026 16:52:19] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:52:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                [12/05/2026 16:52:19] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                [12/05/2026 16:52:19] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:52:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            [12/05/2026 16:52:19] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:52:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                [12/05/2026 16:52:19] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                [12/05/2026 16:52:20] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12289
            GROUP BY l.idllamado;
            
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12289
                
12/05/2026 16:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                [12/05/2026 16:52:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            [12/05/2026 16:52:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                [12/05/2026 16:52:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:52:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                [12/05/2026 16:52:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            [12/05/2026 16:52:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                [12/05/2026 16:52:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            [12/05/2026 16:52:22] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:52:22] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:52:22] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                [12/05/2026 16:52:22] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:52:22] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            [12/05/2026 16:52:22] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                [12/05/2026 16:52:22] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                [12/05/2026 16:52:24] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[12/05/2026 16:52:24] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/05/2026 16:53:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:53:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                [12/05/2026 16:53:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:53:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            [12/05/2026 16:53:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:53:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            [12/05/2026 16:53:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:53:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            [12/05/2026 16:53:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:53:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:53:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:53:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            [12/05/2026 16:53:54] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:53:54] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:53:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            [12/05/2026 16:53:54] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:53:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            [12/05/2026 16:53:54] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:53:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:53:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            [12/05/2026 16:53:54] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:53:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:53:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            [12/05/2026 16:53:54] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:53:54] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:53:54] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:53:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:53:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:53:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:53:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:53:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            [12/05/2026 16:53:54] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:53:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:53:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:53:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:53:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:53:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                [12/05/2026 16:53:55] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:53:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:54:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:54:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:54:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:54:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:54:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/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 = 12385
                
12/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/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 = 12385
                
12/05/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 = 12385
                
12/05/2026 16: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 = 12385
                
12/05/2026 16:54:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12385
                
12/05/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 = 12385
                
12/05/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 = 12385
                
12/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/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 = 12385
                
12/05/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 = 12385
                
12/05/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 = 12385
                
12/05/2026 16:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:54:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:54:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:54:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12385
                
12/05/2026 16: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 = 12385
                
12/05/2026 16:56:15 - logentry: =========================================
FECHA: 12/05/2026 16:56:15
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-FA8NB.cDvbLTtrixolEI2l8f-GbD33IWwOYxMqpVe4gK86aWOjt
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76009735",
    "serieinterna": "KY3100",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12385",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACjAP8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xAA\/EAABAwMBAwoFAwIFAwUAAAABAAIDBAURBhIhMRMiQVFhcYGRobEUMkLB0RUjQ+HwNFJyosIHFiQlMzXS8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgQCCAcAAwAAAAAAAAABAgMREiExUQRBEzJhcYGRodEUIjNCscHhI\/Dx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREAREQFXfb7DY6dkkjOUfISGMDsZwP\/zzU2irIa+jiqqd21HKMjPHtHms5NG28a55GRm3T0MPOBG4kj8uHkvrS73W66V9ikB2YnmWEuPFu77EHzVrgsPaYo15Orn1W7LvXvmahERVG0IiIAiKBdLzQ2iLbq5cOIy2Nu9zu4LqTeSIykoq8nZE4kAZJwAqK4asoqaT4eja+uqjubHCMjPf+Mqv5O96q50jjbra76B80g+\/oO9dLg6j05Tfp1ngJuNUNlpHOfjrJ9grFBJ2epjnXm44o5R3er7l7nCzXq9V+phTVLmMjjDjLAwDDBjrGd4OOJ4rYqp0\/ZmWihG2Nqql50785JPVnsVsozabyLuGhOMPnd28wiIoGgIiIAiIgCIiAIo9ZXUtvgM1XOyFnW48ewDifBZ46iut3lMViocRAkGonG4dvV4b1JRbKalaEHZ67LU00s0UDDJNIyNg+p7gAqer1fZqTIFQZ3DohbtevD1UKLR7qqTl71cJaqU7yxhw0dmT0d2Fd0dot1AAKWjijI4O2cu8zvUrQXaV4q89EortzZSf903Or\/8AjrFO9p3NkkzjPgMeq9+N1jLvbbaWIdTnDJ\/3LTomNckd6Cb6034WRmOX1mzn\/CUcmfoyN3+4e69g1DeoZoo7hY5ByjtjbhBwD6+\/WtMi5jXNDoJLSb9GERFA0hfL3tjjc95w1oJJ6gvpU+qq34HT9Q4HD5RyTd\/+bj6ZXUruxCpNQg5PkQNGMdUC4XWQc6qnOM9AGT\/y9F5egLdq62XEN5s\/7L+\/hnycPJXFiof06y01OW7LwwOeMY5x3lVutqcy2ITNztU8rX7h4fdWp3qGOVNw4ZbrPx1NEi40dQ2rooKlvCWNrx4jK7Kk3J3V0ERZm6XWou9YbNZnE78VNQODG9IBUoxuV1Kipq715Lc+7pqSR9V+mWRgqawnBfjLGdfYfZfdq0tHDJ8bdX\/G1rjtEvOWsPZ1qfbLVRWKi2IsNAGZJn4Bd2k9Sp6vUNddqk0Onoidk4kqnjmju\/PorFnlHQyySi1Otm+SX++pZXvUNNaI9huJqt2AyBp37+k9QUbT9kninfdro7br59+D\/GD0d+N3ZwXaz6ap7bJ8VO81Va45dNJvwenH54q6UW0laJbGnKclOpy0W39CIirNQREQBERAERQLreaOzwcpVSc4g7Ebd7n9y6k3kiMpKKvJ5E5zg1pc4gADJJ6Fm63VL56n4GxU5rJzxk+hv99Z3d6jR0V31U7l66R9Db3fJAw4c8df9T4BaSgt1JbYORo4WxN4nHFx7T0qdox1zZmxVK3V+WO\/N92xSUOlHS1ArL5Umtn6IyeY38924LRsYyNgZG0Ma0YDWjAC+kUZSctS6nShTXyoIiKJaEREAREQBEVZe73DZ6cHZ5Wpk3RQt4uPX3LqTbsiM5xhHFLQj6k1Ayy0wZHh1VKOY09A6yqWrrJNQV1ippWsaZMzysbwxk9fY0+ag3i3VMdr\/UbmXSXGtla1keP\/AG28cY69wGOjPerWw0wOrakfRQ07IGgdYAHHwd5rQlGMbo8qVSpVqYZZJ2y9f0a5Q7vTfF2irgxkvicGjtxu9VMRZ07M9aSUk0yj0fVfE6dgBOXQl0Z39RyPQhXiy+jx8LV3a39EE+W92SPsFI1JqOnoKCSKkqY31b+YAx2TH1k44YU5RbnZGSlWUOHUp8v1kcLxdKq517rFaDh3CpnHBg6R9vRShNaNI27keUHKYyWjBklPXj+ws7ZIL5JSGntlOaRkp2pquUYc\/uJ6Bv4ea0Nr0nR0MoqalzqyqztcpLwB6wPucqclGOVyilKpUeNLN83ol2bleyhuuqpBPXvfR27OWQDc546D\/U+AWno6KnoKZtNSxiONnAD3PWu6KqUm8uRtp0YweLV7hERRLgiIgCIiAIiob9qF1FMLdb4jPcJRzQBkMz0nrPT7rqi5OyK6lSNOOKR0v2oG2zZpaVnxFdNujiG\/ZzwJ\/CjWjTskk\/6neyKisfgiN29sfVu4Z9ApFg0+22g1dW7l6+Xe+R2\/ZzxAPuVdqbko5RKY05VHjq+C27+0IiKs1BERAEREAREQBF45wa0ucQABkk9Cy1dfau8Vf6ZYCdx\/dquAaM9HZ29PQpRi5FVSrGms9eS3Jt61LHQyGiomGqr3bmxtGQ09vb2L4s2n5WVRul3eKiuectB3ti7u32Uuy2Cls0PMHKVDx+5M7iT2dQXO8x3+aoYy0zQQwlnOe8DO1k9h6MdCnddWJQ4y+pVV9kuXuyBqRzajUdoonn9thMzx2Dfv8Gn1UbS10oqWmrq6tq44nVNSTsudlx6c4G\/6lSVFHU1ct0qa2vMxoGBjpGnc9xOA3uzlaTT2l7Y+001VVU3LTysDyXk4wd43ZxwwrGoxhZmOnKpUr4ord5+XLxOk+tqHlOSoqeorH9Gw3AP39Fz\/AFLVdf8A4W1x0bCdzpjzh549lpIaeCmZsQQxxN\/ysaGj0XRVYorRG\/oqsuvPyy9z8+ZZqqp1S+gulY8SVMW298OBt7uB6Ojq6FZXzS8Fvtjaq1wnlqd4keXc4uaO\/qxnzXe+Yo9YWisOAJP2j5kZ\/wB61CnKbVmZqXDU5Y4PW+vPcg2m6093om1NO7fwewnew9RU5Z2u0u5tX8dZaj4Kpzkt\/jO7qxu\/quP65qC3u2bhZjOwHHKwbt3WcZHsoYU+qaFWlDKqvFZr+GoRZuPXNsJLZ4amB44hzAd\/gV2GtLIRkzyDsMTlzo5bElxNF\/ci+RZ12uLM0ZBnd2CP+q4nXVI\/\/DW+rlPUQB7Ep0ctjj4qgvuNQiyFVriop8B1nkizw5WQtz3DZU3T+oqy9VTg+hEVOGn91uSM7t2V105JXYjxdKUsEXn3M0SIotyuENroJauc81g3AcXHoAVaVzRJqKuyvv8Aff00Mo6Vpmr590cbfpzuyfsvNP2H9Ma6qqn8tXz75JCc4z0D8qJpi2SzSOv1x59XU748\/SwjAPiN3d3rTKyTwrCjLSi6j6Wfgtu3vCIirNYREQBERAERc554aaIyzysijbxc84AQN2Oig3O70Vog5Wrl2SflY3e5\/cP7CparU9VcJzSaepjUPHzzubhrfP3K72vS0cM3xt0lNbVuOcv3tafurMKWcjK60pvDRV+3l\/SFyF31Y4PqNq323ojHzSfn27CtLQ0FNbaZtPSxCNjfMnrJ6VJRRlJvLkWU6Kg8Tze4XGsqG0lFPUu4RRuefAZXZUurp+Q03U44ybLBu6yM+mVyKu0iVWWCDlsjJua5mjmYaTNcqzPHiBu9wv0KCFtPTxws+WNgaN2NwGFjuQM140\/bBvbSwNmkGdwdxPsPNbVW1HoZODjZt7WX7fqwiIqTeZnXDCy3UtWz56eoBB6sg\/cBaRjxJG17eDgCFUatj5XTVWOloa4eDgpdklM1kopDjJgZnHXjCm84IzRy4iS3Sf5RORFFrrlRW2PlKyoZCDwB3k9wG8qCVzQ2oq7O8kMUwAljY8DhtNBwo8tDbmtdJLSUoAGXOdG3d4qhk1VWXGc09hoDPg4M0ow0e2PE+C9j0tWXCbl79cHT4ORDESGj2x4DxVmG3WdjK6yn9OOLt5eZ1rdS2Sik5OmgbVzEYAp2Aju2vxlcA\/VN7DS0MtdOTx+sj39lfUNpoLa0CkpY4yBjbxlx7zxUxMSWiOqjUl15WWyy9dSgt+kLfSycvVF9bOTkvm4Z68fnKvWMZGwMjaGNaMBrRgBfSKDk3qXQpQpq0VYLKXkHUGooLOwn4al\/cqCM7z1Z7t3iVeXq4ttVqmqj8wGGDrceHQVC0tbXUlu+LqBtVdYTLI8jnYO8D795U4\/KsRTW\/wAklS8X3f0u2tDWhrQAAMADoXqIqzUEREAREQBeEgDJOAFU3XUtutW1G6TlqgbhDFvOe3q9+xVIpr\/qU\/8AmONuoHcY2jnPHV1+e7sU1B6vJGedeKeGGb7P3sTblquCGX4S2xGvqzuAjGWjvI4+Hmo0GnrheJBVagqnhp3tpYnYa3v6B4b+1XlttNFaYeSpIQ3PzPO9zu8qau4kuqRVGVTOq79nL+nGlpKeigbBTRNijbwa0LsiKs0pJKyCIiHQsxrN3Lm224H\/ABNSMjr4D\/ktOsRq6s5HUcDg7dT0xdu4hx2sf8VZSV5GTjJKNF352JunMXHUdzum4xtIihO7h2eDR5rVKm0pRCi0\/Tj6phyzuH1cPTCuVybvInw0XGkr6vPzCKBW3q227IqauNjh9AO07yG9U8mr31chis9tmq3ZxtuGG9n9nC4oSZKdenB2bz9S8usJqLRWQgZL4Hgd+DhZqxant1t07BFUyl00ZcOSjbl2Nokdnqu36Hfb03\/1i4fDxE5+HhAO7qON3nlctFUFI6GrdLTxvmhn2Q97ckDdj1B4K1KKi75mSU6kq0XFWums\/Y6m6aivUgbbKQ0FOf55m7yPEewPepFHo+lbP8Tcp5LhOd5Mm5vl0+a0SKvG9FkaFw8W71Hifbp5aHyxjI2BkbQxrRgNaMAL6RFA0hERAEREBl9TZr77arSPke7lZB1tz1dzXLULMU3\/AJX\/AFBqnHhTU4DT24b\/APYrTqyeSSM1DOU57u3lkERc554aaIyzysijbxc84AVZpbsdF4SAMk4AWcqdXxSyGns9JLXz9Bawhg+\/t3rgywXi8v5S+1rooSc\/DQu3em73VmC3WyMz4hN2prF+PMnV2rbbSSchAX1k+cBkAyM9\/wCMqB8PqW\/uBnk\/S6Q\/Q04eR2jj547lfW+zW+1g\/B0zI3Hi\/i4+J3qcmJLqo50NSp9SXgvfUq7Xp23WkB0EO3KP5ZN7vDq8FaIig23mzRCEYK0VZBERcJBERAEXhIAyTgBU9fqq0UAINUJ5ANzIednx4DzXUm9CE6kYK8nYuV+Z6leKvVk7Hv2GcoyPacdzRgAn3K0Qu2o7zzbdQNooXNyJp857wf6FUenrS27agnbXOM7Idp0ji4\/uOzgdvb4K+msF2zzOLqdPhhBavuNBNrCkjc2ktVLLXSDmta3IGB27yV8NoNTXguNdWi3QE7ooQC7zBz6+C0dLR01FFyVLAyFnUxuMrsq8aXVRs6CcvqS8Fkvco6LSFooztvhNTJnO1Odr04eiumMZGwMjaGNaMBrRgBfSKDk3qXwpwgrRVgsxpT9u7XyE8W1Oe\/nP\/vxWnVbQWdlBc62tbMXfFuB2NnAb49O8qSas0V1IN1ISXK\/4LJERQLwiIgCIiAIiIDMWTfrG8E7yABnxC06zFs\/Z13dITu5SIPHb8p+5WnU6mpm4bqNdr\/Jm67UFylr30Fptj3yRnD5JhzR0dBx45XKPStZcZxUX6vM+DkQxHDR7Y8B4rUomO2mQfDqbvUd+zkcKSjpqGEQ0sDIWDoaMZ7+td0RQNCSSsgiIh0IiIAvCQBknACo7tqeGkl+DoIzW1rjgRs3gHtx7D0UBmn7te3tmvtWYouIpoj\/YHqpqGV3kZpV88NNYn6eZZ1uq7PQ5BqeWePphG168PVV7r7frmCLVaTDGeEs\/T1EZwPdXVDY7ZbsGlo42vHB5G07zO9T128Voh0dafWlbu92ZYaVuFxcH3q7SSjIJhi+X8DyVxb7DbbYGmnpWco3+R42n+asUXHOTJQ4enB3Sz3ebPCcDPUsxoijlhpauqqInRyzS45wIOB39pK1CLilZNEpU1KcZ7X9QirbjqC2WvLaipBkH8TOc7y6PFUzq+\/ahzHQU3wFG7cZpSQ5w7Ony811QbzIzrwi8KzeyLep1DQ090htoL5Z5XhpEYyGZ61aKss9ho7NGeRBkmccumeOcfwFZrkrciVPpLXn\/AMCIiiWhERAEREAREQBERAZe6EW\/WtvqyNmOpZyTzkDJ3j0y1ahUWrrca6yvkjbmamPKMI446fTf4KdZbk262uGrGNpwxIB0OHFWSzimZafyVZQfPNfsnoiKs1BERAEReEgDJOAEAJAGScALL3G81N6rDaLG7m\/zVbTuaOnB+\/T0da51dbV6rqnUFsc6GgYcT1BGNvsH46elaG2WultNI2npmYA+Zx+Z56yVZZQzepjcpV3hhlHm9+73OFmsVHZYdmBu3K4c+Z3zO\/A7FZoig227s1RhGCwxVkEReEgDJOAFwkeoqa4aqtVvIZyxqZDwZBh3rwVY+TUt\/OzFH+l0jvqccPI9\/YKag9XkZ5cRBPDHN7IuLpqK3WkFs823KP4o97vHq8VS8vqPUe6nZ+mUTvrOQ5w7+J8MBWlr0tbrYRIWfET8eVl34PYOA91dLuKMdCHR1an1HZbL9v2KW16Wt1sIkLPiJ+PKy78HsHAe6ukRQbbzZohTjBWirBERcJhERAEREAREQBERAEREAWRkjl0hdX1MbC+1VThttaD+0f79Ny1y+JYo54nRSsD2PGC09KlGVimrSxpNZNaHkE8VTCyaCRskbxlrmnIK6LJy2K62Gd9RYJeVgdvfTSnOe7r8we9dqfWlMxwhudJPRTY520wkfn0UsF845la4lRyqrC\/TzNMirYtRWebGzcYBkZ57tn3wujr3aWjJudJ4TNP3UML2LlVg\/uRORVUmp7LF81wiP+nLvYKFLre0M3R8vM48AyPG\/wAcLqhJ8iMuIpR1kvMv4oYoGbEUbI25J2WNAGTxX2suNSXqtwLbYn4PB82dk+w6ulDQ6suG6or4aGMje2H5h5d3X0qWB82V\/ERfUi34e5o6iqp6WPlKiaOJvW9wCpavWdopn7EcklS7hiFmRnvOPRcoNE0AfylbPUVkh4l78A+W\/wBVdUlsoaED4WkiiIGNprRnz4p8i7Tt+IltH1fsUAvWpLlltBZxTN4cpP0dozj2K9GmLncHE3e8yvYeMUO4H7DyWoRMdtFYfDKX1JN\/jyRW2+wWy2EOpqZvKAY5R\/Od5nh4KyRFBtvUvjCMFaKsERFwkEREAREQBERAEREAREQBERAEREAREQBc5qeCpZsTwxyt\/wAr2hw9URA1fUrZNL2SX5rfGP8ASS32K+BpGxNORQDxlefuiKWOW5V0FJ\/avJHaPTlmiI2bdAcf5m7XupsNJTU26Cnii\/0MDfZEXG29SUacI6Kx2REXCYREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/2Q==",
    "razonSocial": "LORBRAND S.A",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "CONSTANZA",
    "correoContacto": "cgonzalez@lorbrand.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "DICE APAGUE EL INTERRUPTOR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "988341940",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:56",
    "ubicacionGPS": "LatLng(lat: -23.6618717, lng: -70.4001294)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:52",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 16:56:15
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-FA8NB.cDvbLTtrixolEI2l8f-GbD33IWwOYxMqpVe4gK86aWOjt
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76009735",
    "serieinterna": "KY3100",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12385",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACjAP8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xAA\/EAABAwMBAwoFAwIFAwUAAAABAAIDBAURBhIhMRMiQVFhcYGRobEUMkLB0RUjQ+HwNFJyosIHFiQlMzXS8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgQCCAcAAwAAAAAAAAABAgMREiExUQRBEzJhcYGRodEUIjNCscHhI\/Dx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREAREQFXfb7DY6dkkjOUfISGMDsZwP\/zzU2irIa+jiqqd21HKMjPHtHms5NG28a55GRm3T0MPOBG4kj8uHkvrS73W66V9ikB2YnmWEuPFu77EHzVrgsPaYo15Orn1W7LvXvmahERVG0IiIAiKBdLzQ2iLbq5cOIy2Nu9zu4LqTeSIykoq8nZE4kAZJwAqK4asoqaT4eja+uqjubHCMjPf+Mqv5O96q50jjbra76B80g+\/oO9dLg6j05Tfp1ngJuNUNlpHOfjrJ9grFBJ2epjnXm44o5R3er7l7nCzXq9V+phTVLmMjjDjLAwDDBjrGd4OOJ4rYqp0\/ZmWihG2Nqql50785JPVnsVsozabyLuGhOMPnd28wiIoGgIiIAiIgCIiAIo9ZXUtvgM1XOyFnW48ewDifBZ46iut3lMViocRAkGonG4dvV4b1JRbKalaEHZ67LU00s0UDDJNIyNg+p7gAqer1fZqTIFQZ3DohbtevD1UKLR7qqTl71cJaqU7yxhw0dmT0d2Fd0dot1AAKWjijI4O2cu8zvUrQXaV4q89EortzZSf903Or\/8AjrFO9p3NkkzjPgMeq9+N1jLvbbaWIdTnDJ\/3LTomNckd6Cb6034WRmOX1mzn\/CUcmfoyN3+4e69g1DeoZoo7hY5ByjtjbhBwD6+\/WtMi5jXNDoJLSb9GERFA0hfL3tjjc95w1oJJ6gvpU+qq34HT9Q4HD5RyTd\/+bj6ZXUruxCpNQg5PkQNGMdUC4XWQc6qnOM9AGT\/y9F5egLdq62XEN5s\/7L+\/hnycPJXFiof06y01OW7LwwOeMY5x3lVutqcy2ITNztU8rX7h4fdWp3qGOVNw4ZbrPx1NEi40dQ2rooKlvCWNrx4jK7Kk3J3V0ERZm6XWou9YbNZnE78VNQODG9IBUoxuV1Kipq715Lc+7pqSR9V+mWRgqawnBfjLGdfYfZfdq0tHDJ8bdX\/G1rjtEvOWsPZ1qfbLVRWKi2IsNAGZJn4Bd2k9Sp6vUNddqk0Onoidk4kqnjmju\/PorFnlHQyySi1Otm+SX++pZXvUNNaI9huJqt2AyBp37+k9QUbT9kninfdro7br59+D\/GD0d+N3ZwXaz6ap7bJ8VO81Va45dNJvwenH54q6UW0laJbGnKclOpy0W39CIirNQREQBERAERQLreaOzwcpVSc4g7Ebd7n9y6k3kiMpKKvJ5E5zg1pc4gADJJ6Fm63VL56n4GxU5rJzxk+hv99Z3d6jR0V31U7l66R9Db3fJAw4c8df9T4BaSgt1JbYORo4WxN4nHFx7T0qdox1zZmxVK3V+WO\/N92xSUOlHS1ArL5Umtn6IyeY38924LRsYyNgZG0Ma0YDWjAC+kUZSctS6nShTXyoIiKJaEREAREQBEVZe73DZ6cHZ5Wpk3RQt4uPX3LqTbsiM5xhHFLQj6k1Ayy0wZHh1VKOY09A6yqWrrJNQV1ippWsaZMzysbwxk9fY0+ag3i3VMdr\/UbmXSXGtla1keP\/AG28cY69wGOjPerWw0wOrakfRQ07IGgdYAHHwd5rQlGMbo8qVSpVqYZZJ2y9f0a5Q7vTfF2irgxkvicGjtxu9VMRZ07M9aSUk0yj0fVfE6dgBOXQl0Z39RyPQhXiy+jx8LV3a39EE+W92SPsFI1JqOnoKCSKkqY31b+YAx2TH1k44YU5RbnZGSlWUOHUp8v1kcLxdKq517rFaDh3CpnHBg6R9vRShNaNI27keUHKYyWjBklPXj+ws7ZIL5JSGntlOaRkp2pquUYc\/uJ6Bv4ea0Nr0nR0MoqalzqyqztcpLwB6wPucqclGOVyilKpUeNLN83ol2bleyhuuqpBPXvfR27OWQDc546D\/U+AWno6KnoKZtNSxiONnAD3PWu6KqUm8uRtp0YweLV7hERRLgiIgCIiAIiob9qF1FMLdb4jPcJRzQBkMz0nrPT7rqi5OyK6lSNOOKR0v2oG2zZpaVnxFdNujiG\/ZzwJ\/CjWjTskk\/6neyKisfgiN29sfVu4Z9ApFg0+22g1dW7l6+Xe+R2\/ZzxAPuVdqbko5RKY05VHjq+C27+0IiKs1BERAEREAREQBF45wa0ucQABkk9Cy1dfau8Vf6ZYCdx\/dquAaM9HZ29PQpRi5FVSrGms9eS3Jt61LHQyGiomGqr3bmxtGQ09vb2L4s2n5WVRul3eKiuectB3ti7u32Uuy2Cls0PMHKVDx+5M7iT2dQXO8x3+aoYy0zQQwlnOe8DO1k9h6MdCnddWJQ4y+pVV9kuXuyBqRzajUdoonn9thMzx2Dfv8Gn1UbS10oqWmrq6tq44nVNSTsudlx6c4G\/6lSVFHU1ct0qa2vMxoGBjpGnc9xOA3uzlaTT2l7Y+001VVU3LTysDyXk4wd43ZxwwrGoxhZmOnKpUr4ord5+XLxOk+tqHlOSoqeorH9Gw3AP39Fz\/AFLVdf8A4W1x0bCdzpjzh549lpIaeCmZsQQxxN\/ysaGj0XRVYorRG\/oqsuvPyy9z8+ZZqqp1S+gulY8SVMW298OBt7uB6Ojq6FZXzS8Fvtjaq1wnlqd4keXc4uaO\/qxnzXe+Yo9YWisOAJP2j5kZ\/wB61CnKbVmZqXDU5Y4PW+vPcg2m6093om1NO7fwewnew9RU5Z2u0u5tX8dZaj4Kpzkt\/jO7qxu\/quP65qC3u2bhZjOwHHKwbt3WcZHsoYU+qaFWlDKqvFZr+GoRZuPXNsJLZ4amB44hzAd\/gV2GtLIRkzyDsMTlzo5bElxNF\/ci+RZ12uLM0ZBnd2CP+q4nXVI\/\/DW+rlPUQB7Ep0ctjj4qgvuNQiyFVriop8B1nkizw5WQtz3DZU3T+oqy9VTg+hEVOGn91uSM7t2V105JXYjxdKUsEXn3M0SIotyuENroJauc81g3AcXHoAVaVzRJqKuyvv8Aff00Mo6Vpmr590cbfpzuyfsvNP2H9Ma6qqn8tXz75JCc4z0D8qJpi2SzSOv1x59XU748\/SwjAPiN3d3rTKyTwrCjLSi6j6Wfgtu3vCIirNYREQBERAERc554aaIyzysijbxc84AQN2Oig3O70Vog5Wrl2SflY3e5\/cP7CparU9VcJzSaepjUPHzzubhrfP3K72vS0cM3xt0lNbVuOcv3tafurMKWcjK60pvDRV+3l\/SFyF31Y4PqNq323ojHzSfn27CtLQ0FNbaZtPSxCNjfMnrJ6VJRRlJvLkWU6Kg8Tze4XGsqG0lFPUu4RRuefAZXZUurp+Q03U44ybLBu6yM+mVyKu0iVWWCDlsjJua5mjmYaTNcqzPHiBu9wv0KCFtPTxws+WNgaN2NwGFjuQM140\/bBvbSwNmkGdwdxPsPNbVW1HoZODjZt7WX7fqwiIqTeZnXDCy3UtWz56eoBB6sg\/cBaRjxJG17eDgCFUatj5XTVWOloa4eDgpdklM1kopDjJgZnHXjCm84IzRy4iS3Sf5RORFFrrlRW2PlKyoZCDwB3k9wG8qCVzQ2oq7O8kMUwAljY8DhtNBwo8tDbmtdJLSUoAGXOdG3d4qhk1VWXGc09hoDPg4M0ow0e2PE+C9j0tWXCbl79cHT4ORDESGj2x4DxVmG3WdjK6yn9OOLt5eZ1rdS2Sik5OmgbVzEYAp2Aju2vxlcA\/VN7DS0MtdOTx+sj39lfUNpoLa0CkpY4yBjbxlx7zxUxMSWiOqjUl15WWyy9dSgt+kLfSycvVF9bOTkvm4Z68fnKvWMZGwMjaGNaMBrRgBfSKDk3qXQpQpq0VYLKXkHUGooLOwn4al\/cqCM7z1Z7t3iVeXq4ttVqmqj8wGGDrceHQVC0tbXUlu+LqBtVdYTLI8jnYO8D795U4\/KsRTW\/wAklS8X3f0u2tDWhrQAAMADoXqIqzUEREAREQBeEgDJOAFU3XUtutW1G6TlqgbhDFvOe3q9+xVIpr\/qU\/8AmONuoHcY2jnPHV1+e7sU1B6vJGedeKeGGb7P3sTblquCGX4S2xGvqzuAjGWjvI4+Hmo0GnrheJBVagqnhp3tpYnYa3v6B4b+1XlttNFaYeSpIQ3PzPO9zu8qau4kuqRVGVTOq79nL+nGlpKeigbBTRNijbwa0LsiKs0pJKyCIiHQsxrN3Lm224H\/ABNSMjr4D\/ktOsRq6s5HUcDg7dT0xdu4hx2sf8VZSV5GTjJKNF352JunMXHUdzum4xtIihO7h2eDR5rVKm0pRCi0\/Tj6phyzuH1cPTCuVybvInw0XGkr6vPzCKBW3q227IqauNjh9AO07yG9U8mr31chis9tmq3ZxtuGG9n9nC4oSZKdenB2bz9S8usJqLRWQgZL4Hgd+DhZqxant1t07BFUyl00ZcOSjbl2Nokdnqu36Hfb03\/1i4fDxE5+HhAO7qON3nlctFUFI6GrdLTxvmhn2Q97ckDdj1B4K1KKi75mSU6kq0XFWums\/Y6m6aivUgbbKQ0FOf55m7yPEewPepFHo+lbP8Tcp5LhOd5Mm5vl0+a0SKvG9FkaFw8W71Hifbp5aHyxjI2BkbQxrRgNaMAL6RFA0hERAEREBl9TZr77arSPke7lZB1tz1dzXLULMU3\/AJX\/AFBqnHhTU4DT24b\/APYrTqyeSSM1DOU57u3lkERc554aaIyzysijbxc84AVZpbsdF4SAMk4AWcqdXxSyGns9JLXz9Bawhg+\/t3rgywXi8v5S+1rooSc\/DQu3em73VmC3WyMz4hN2prF+PMnV2rbbSSchAX1k+cBkAyM9\/wCMqB8PqW\/uBnk\/S6Q\/Q04eR2jj547lfW+zW+1g\/B0zI3Hi\/i4+J3qcmJLqo50NSp9SXgvfUq7Xp23WkB0EO3KP5ZN7vDq8FaIig23mzRCEYK0VZBERcJBERAEXhIAyTgBU9fqq0UAINUJ5ANzIednx4DzXUm9CE6kYK8nYuV+Z6leKvVk7Hv2GcoyPacdzRgAn3K0Qu2o7zzbdQNooXNyJp857wf6FUenrS27agnbXOM7Idp0ji4\/uOzgdvb4K+msF2zzOLqdPhhBavuNBNrCkjc2ktVLLXSDmta3IGB27yV8NoNTXguNdWi3QE7ooQC7zBz6+C0dLR01FFyVLAyFnUxuMrsq8aXVRs6CcvqS8Fkvco6LSFooztvhNTJnO1Odr04eiumMZGwMjaGNaMBrRgBfSKDk3qXwpwgrRVgsxpT9u7XyE8W1Oe\/nP\/vxWnVbQWdlBc62tbMXfFuB2NnAb49O8qSas0V1IN1ISXK\/4LJERQLwiIgCIiAIiIDMWTfrG8E7yABnxC06zFs\/Z13dITu5SIPHb8p+5WnU6mpm4bqNdr\/Jm67UFylr30Fptj3yRnD5JhzR0dBx45XKPStZcZxUX6vM+DkQxHDR7Y8B4rUomO2mQfDqbvUd+zkcKSjpqGEQ0sDIWDoaMZ7+td0RQNCSSsgiIh0IiIAvCQBknACo7tqeGkl+DoIzW1rjgRs3gHtx7D0UBmn7te3tmvtWYouIpoj\/YHqpqGV3kZpV88NNYn6eZZ1uq7PQ5BqeWePphG168PVV7r7frmCLVaTDGeEs\/T1EZwPdXVDY7ZbsGlo42vHB5G07zO9T128Voh0dafWlbu92ZYaVuFxcH3q7SSjIJhi+X8DyVxb7DbbYGmnpWco3+R42n+asUXHOTJQ4enB3Sz3ebPCcDPUsxoijlhpauqqInRyzS45wIOB39pK1CLilZNEpU1KcZ7X9QirbjqC2WvLaipBkH8TOc7y6PFUzq+\/ahzHQU3wFG7cZpSQ5w7Ony811QbzIzrwi8KzeyLep1DQ090htoL5Z5XhpEYyGZ61aKss9ho7NGeRBkmccumeOcfwFZrkrciVPpLXn\/AMCIiiWhERAEREAREQBERAZe6EW\/WtvqyNmOpZyTzkDJ3j0y1ahUWrrca6yvkjbmamPKMI446fTf4KdZbk262uGrGNpwxIB0OHFWSzimZafyVZQfPNfsnoiKs1BERAEReEgDJOAEAJAGScALL3G81N6rDaLG7m\/zVbTuaOnB+\/T0da51dbV6rqnUFsc6GgYcT1BGNvsH46elaG2WultNI2npmYA+Zx+Z56yVZZQzepjcpV3hhlHm9+73OFmsVHZYdmBu3K4c+Z3zO\/A7FZoig227s1RhGCwxVkEReEgDJOAFwkeoqa4aqtVvIZyxqZDwZBh3rwVY+TUt\/OzFH+l0jvqccPI9\/YKag9XkZ5cRBPDHN7IuLpqK3WkFs823KP4o97vHq8VS8vqPUe6nZ+mUTvrOQ5w7+J8MBWlr0tbrYRIWfET8eVl34PYOA91dLuKMdCHR1an1HZbL9v2KW16Wt1sIkLPiJ+PKy78HsHAe6ukRQbbzZohTjBWirBERcJhERAEREAREQBERAEREAWRkjl0hdX1MbC+1VThttaD+0f79Ny1y+JYo54nRSsD2PGC09KlGVimrSxpNZNaHkE8VTCyaCRskbxlrmnIK6LJy2K62Gd9RYJeVgdvfTSnOe7r8we9dqfWlMxwhudJPRTY520wkfn0UsF845la4lRyqrC\/TzNMirYtRWebGzcYBkZ57tn3wujr3aWjJudJ4TNP3UML2LlVg\/uRORVUmp7LF81wiP+nLvYKFLre0M3R8vM48AyPG\/wAcLqhJ8iMuIpR1kvMv4oYoGbEUbI25J2WNAGTxX2suNSXqtwLbYn4PB82dk+w6ulDQ6suG6or4aGMje2H5h5d3X0qWB82V\/ERfUi34e5o6iqp6WPlKiaOJvW9wCpavWdopn7EcklS7hiFmRnvOPRcoNE0AfylbPUVkh4l78A+W\/wBVdUlsoaED4WkiiIGNprRnz4p8i7Tt+IltH1fsUAvWpLlltBZxTN4cpP0dozj2K9GmLncHE3e8yvYeMUO4H7DyWoRMdtFYfDKX1JN\/jyRW2+wWy2EOpqZvKAY5R\/Od5nh4KyRFBtvUvjCMFaKsERFwkEREAREQBERAEREAREQBERAEREAREQBc5qeCpZsTwxyt\/wAr2hw9URA1fUrZNL2SX5rfGP8ASS32K+BpGxNORQDxlefuiKWOW5V0FJ\/avJHaPTlmiI2bdAcf5m7XupsNJTU26Cnii\/0MDfZEXG29SUacI6Kx2REXCYREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/2Q==",
    "razonSocial": "LORBRAND S.A",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "CONSTANZA",
    "correoContacto": "cgonzalez@lorbrand.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "DICE APAGUE EL INTERRUPTOR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "988341940",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:56",
    "ubicacionGPS": "LatLng(lat: -23.6618717, lng: -70.4001294)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:52",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 16:56:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76009735

[12/05/2026 16:56: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('76009735', 'KY3100', 1, 95585912, 0, NOW(), 
				'16:52', '16:38', '16:56', 16, 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778619375.png', 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', null, 'COMPLETADO','LatLng(lat: -23.6618717, lng: -70.4001294)' )
				
[12/05/2026 16:56:15] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200293

12/05/2026 16:56:15 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200293'                    
				WHERE idllamado = 12385			
				TO ENVIO: null, cgonzalez@lorbrand.cl


12/05/2026 16:56:16 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12385			
				
12/05/2026 16:56:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 16: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 = 12385
                
12/05/2026 16: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 = 12385
                
12/05/2026 16:56:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16: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 = 12385
                
12/05/2026 16: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 = 12385
                
12/05/2026 16: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 = 12385
                
12/05/2026 16: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 = 12385
                
12/05/2026 16:56:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:56:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            [12/05/2026 16:56:43] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:56:43] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:56:43] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:56:43] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:56:43] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:56:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            [12/05/2026 16:56:44] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            [12/05/2026 16:56:44] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            [12/05/2026 16:56:44] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:56:44] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:56:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            [12/05/2026 16:56:45] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:56:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                [12/05/2026 16:56:45] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:56:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            [12/05/2026 16:56:45] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:56:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                [12/05/2026 16:56:45] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 16:56:45] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:56:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                [12/05/2026 16:56:45] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 16:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:56:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:56:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:56:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12385
            GROUP BY l.idllamado;
            
12/05/2026 16:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12385
                
12/05/2026 16: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 = 12385
                
12/05/2026 16: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 = 12385
                
12/05/2026 16: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 = 12385
                [12/05/2026 16: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;
                
[12/05/2026 16:57: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;
				
[12/05/2026 16:57: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;
                

12/05/2026 17:05:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                
12/05/2026 17:05:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                [12/05/2026 17:05:18] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12519
                [12/05/2026 17:05:18] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:05:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            [12/05/2026 17:05:18] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17:05:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            [12/05/2026 17:05:18] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:05:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                [12/05/2026 17:05:19] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                
12/05/2026 17:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            [12/05/2026 17:05:19] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            [12/05/2026 17:05:19] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:05:19] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                [12/05/2026 17:05:20] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                [12/05/2026 17:05:20] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12519
                
12/05/2026 17:05:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                [12/05/2026 17:05:20] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:05:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17:05:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17:05:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            [12/05/2026 17:05:20] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:05:20] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:05:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            [12/05/2026 17:05:20] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:05:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                
12/05/2026 17:05:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                [12/05/2026 17:05:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                [12/05/2026 17:05:22] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:05:22] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            [12/05/2026 17:05:22] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            [12/05/2026 17:05:22] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:05:22] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            [12/05/2026 17:05:22] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                [12/05/2026 17:05:22] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                [12/05/2026 17:05:22] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            [12/05/2026 17:05:23] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:05:23] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            [12/05/2026 17:05:23] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                [12/05/2026 17:05:23] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:05:23] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                [12/05/2026 17:05:23] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            [12/05/2026 17:05:23] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17:05:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                
12/05/2026 17:05:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17:05:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:05:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17:05:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17:06:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                
12/05/2026 17:06:04 - logentry: =========================================
FECHA: 12/05/2026 17:06:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-7.yJo+UKZ0vhPCEiKWCdakSa4T1WZJjMftJ86l_iWUMjBu-bFTr
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "BR-1544",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega, report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12519",
    "observacion": "entrega, report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB3AOUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABEEAABAwMCAgYIAgYHCQAAAAABAAIDBAURBiESMRNBUWFxgRQiMpGhscHRFUIWIyQ0Q\/AHRFJTcrLhJTM2Y3OSwtLx\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDAQQF\/8QAMBEAAgECAwUGBgMBAAAAAAAAAAECAxESITEEE0FRYSIygZGx0RQzcaHB4SMk8EL\/2gAMAwEAAhEDEQA\/AP2ZERABEWXuN5qrxXOtFkI4cYnqgThg7iPn19SaMWyVSqqaz14LmWNy1NbbXMIZZHyS5wY4m8RHj1KuN51LWnNDZRAztqDv47lvyVnadO0NqHG1gmqCcumeBnPd2K1TXitFckoVp5zlbovczHRazm\/rFHT5PYDj4FPw7WA9YXil4jzHCMf5Fp0WY+iN+GXGUvMzBdrKlGeGjrOEdWBnv\/KjdYSUjgy72uelOfbaMg+\/HzPJadfL2MkYWPaHNPMOGQVuJPVBuZx7k345keiuVFcWcdJUMlHXjYjyO\/WFKWfrtI0skwqrbI6gqWnIMfsE+HV5e5RoNQ19nmZR3+nIZsG1cYJaduvtPh7kYU+6ZvpQdqqt14fo1KLnDNFUQsmheHxvGWuadiF0Uzq1CIiACLJMku9+uNcaK4mkipZejjA3D+\/I8OzrXRtfqazu\/b6NtwgA3kg9ob89h8x581Td9TlW0rXC7czUoq21X6gu8bfR5gJsZdC44cPv4hWSRprJnRGcZq8XdBERYMEXy97I2F8jgxrRkuccALM1eo6y51DqHT8BkPJ1U4eqzvH3PkE0YtkqlWNPXXlxL2vudHbYukq6hkQ6gTu7wHMrL1+upuj46ChIjLi0TTg4PkOvzXGspLfZJGvuLn3e7S8onEloJ5ZHX4Hn2KxtempaqZtxvrhLJjMdNj1Ix2EcvLl25VVGEVdnDOpXqywQy\/H1f4Q0tUX2vmNbXScVI9pDQ4cJJ23AA3HetQvAABgDAC9UpO7ud1Km6ccLd\/qEREpUIipNTXh9vpWUtJl1bVnghA6twM\/Hbv8ABak27ISpNU4uTIV3ulTd682SzuxjPpM\/U0dY8O3t5K7tVqprRRtp6dve955vPaVwsFlistAIm+tNJh0z+09ngFaJpSXdWhGlTd95U7z+3QIiJDpCIiACIiAC5VFNBVwmGphZLGebXjIXVEGNJ5MpbRp82aumfTVjzRyD93eM4d25\/n4K6RFrbbuxYQjBYY6BERYOZnQx6S3Vc53MlS7JPM7A7+9aZZjQnq2qpi58FSd+31W\/ZadPU7zObZPkRKK7aXpq54qaN5oqxpyJY8jOB2A7eIUa16jmp6sWq9x9DUg4ZMfZeOrP3WmVfeLTDd6IwvwyRp4opcZLHfbtC1SvlIydFxeOlk+XB\/7mWCLO6cus7ZXWW55FbBnhcTnpG+PXt7wrG7Xuis0XFUyZeR6kTd3O8uzvKVxadika0HDG3Zeh8akppKqwVUcT2tcGh4Ljj2SDj4LNUF8qqqip7PZKRkNSWYmlOMDGxcPhufspbKW6atlbLWh1FbAcsiHtSfz2+5S7jpKn6Fk1pzSVdOB0bmu2djt7+9VWGKws4qiqVZbymrK1urXTkSrLpuntRNRK81NY\/d0z98Hu+6uVnrVqVzqg2+8xijrG4wXbNk+316loVOeK+Z2UHTwWp6f7UIiJC4REQAWUtDBfNVVd2c4SQUh6On7PEd3M+Llb6krjb7FUzN9tzeBm2d3bfc+S803QC3WOni4QHvb0km+cuP8ApgeSosotnLU7daMOCzf4LVERTOoIiIAIiIAIiIAIiIAIioLnqunp3ejW5np1W48LWx5LQfEc\/ALVFvQnUqQpq8mXc9RDSwumnkbHG0ZLnHACzs2pKu5PdT2Gn4yD61RKMMaP7W\/19y50+nK67ztrdQzEj8tLG7AaO\/HLy371oughpKF0UMbIomMOGtGANk\/Zj1ZC9Wrn3V9\/0ZvQE7H26qh3MjZuNx7QQAN\/IrWL870NKY79wbjpYXDnzxv9F+iLaqtMXYZ4qC6BeEgDJOAFwrq+mt1M6oqpRGxo6+Z7gOsrME3bVzzwF1Da+WfzSj6\/LxSRjfPgXqVlB4Ury5EHU93pZLtBWWt5fUUoIfM0ZZz236+vu361eWPTkURbcq+T0ysmAfxuPE1uR1dp7\/cvL7a6O36Sq4KWERtAa4kc3EOG5Ks7I90ljonO9roGg+IGFSUuxkclOl\/O95m7X6X0J6IiieiV92stHeIDHUxjjAwyUe0z+exUQkvul8moJudvaPaBw6Mdu+48Nx4LWonU7ZPQhUoKTxRdpc\/fmV1rvlBd2ZpZvXHON4w4eXX5ZViqK6aVpaxwqKF3oNW05EsWQCfAYx4j4qNQX6st9Yy2X9jY3kARVI9l\/ifr71uFPOIirSg8NVePD9GmReAgjIOQUUzqMxqvNbcrXaW8pZekfnsG3y4lqFmWftX9IcgP9UptsjtA5f8Af81plSeSSOahnKc+tvIIiKZ0hERABERABFXXC+222Nd6TVM42\/wmHif7urzVO7UN4upLbLa3tiI2nnGPd1fEp1BvMhOvTg7Xu+SzZp3vZGwvkcGNaMlzjgBUFdrGghd0NCx9dOdmtjB4c+PX5ZXBuk6q4SNnvlykqHAf7qPZrfP7AK9oLZR22Lo6SnZEOsgbu8TzK20F1EvXqaLCuub8tCgFu1BqBv8AtOcUFI7nBEMOcO\/\/AFPkru22WgtTMUkAa7GDI7dx81PRY5t5DwoRi8TzfNhcK39xqP8ApO+S7qNcn9HbKp+3qwvO\/wDhKValZd1mC0S0yahYT\/DieR\/Pmt5cq+K2UElZNngjA2HMknACx39H8RNwq5sbMiDc47Tn\/wAVtqmniq6WWmmbxRytLXDuKrVax5nBsMZLZ8tXczFBZqrUFQy63s\/qT60FKOQae3u5eK1bWhrQ1oAAGAB1LMy6TqKRzn2W6S0ud+ieSW+8fYr4\/HrzZcC90XSw7Dp4QPpt27bIksWjGpyVBfyRa5vUtdTODdOVpP8Ad495C+tOtLdPUIP90D71T6jv1BcNOPjoqhsklQ9rBGNnjfPs8+rHYtFboDTW2mgIwY4mtIxjcAJWmoWfMpCSnXcou6t+SSiIpnWEXy5zWDLnBo7zhQ5r1a6cEy3CnaRzHSAn3Ddak2K5RjqycoV0tdLdqQ09UzI5tcObD2hVM+trcH9HSRVFW88hGzAJ89\/guDnakv4DBELXRvHrEn1yOzt38AnUJLN5HPOvTknGPa6L\/WJOkZ5\/RamgmkEoopTHHIORbkj5gorO1Wmls9J6PTA7nLnu9px70SyacrorRjKFNRlqU1nJk1rd5CfZYG49w+i06zFj\/wCMLz5fNadbU1J7N3H9X6hEVVdNSW20yGKolc6YDPRxtyft8UqTeSLznGCvJ2RarnNNFTxmSeVkTBzc9wAHmVmTqG93TLbRaXMYQQJpuXPmM4HluvqLSdRXPZNfLjJUuG\/RMOGjz+wCfBbvM5\/iHP5Ub9dEd6vWFGyU09vhlr5\/yiJvqk+PM+QUU0epr61pq52W2nPOOPIeR4fcjwWio7dR29hZSU0cIPPhG58TzKkoxJd1BuZz+ZLwWS9ylt+lLVQEvMPpMh\/PUYd8OSuQABgDAC9RI23qXhThBWirBERYOEREAFWaikMenq5wOMxFvv2+qnVFVT0sfSVE0cTe17gFktS6qt1XbJqGjc+V8uB0gbhowQTz36uxPCLbRzbRVhCnK7zsSdAwcFpnnIwZJsDvAA+pK1DnBoy4gDtKxVlh1K60w09BHDR05HEJ5McT8nOcb9vZ5qcNHy1ZD7tdqipd\/YacAdwzn5BPNJybbIbPUnGlGMIN\/XJFnVals1JtJXxuOcYj9f5ZVY\/WjKgOZb7XU1Z5ezgfDKtKXTdno946GNx7ZBxn4qza0NGGgAdgS3guBfDXlrJL6K\/r7GJZS3iaoFTS6ao6d3EXB0mxB8C4fLrVh6HrGf2rhSwDsa0Z\/wAv1WnRDqdBY7Kl\/wBP09DLiw6ik3l1A5h7GA4+i9\/Q+ol\/er9WTA8+Yz7yVp0RvJDfC0uN34szLdCWvnJPVSO6yXjf4KbDpKxwkEUQeRjd73H4ZwrlFmOXMZbNRWkUcYKWnpWcFPBHE3sY0BdkRIWSSyQREQaZe2uFNry5QuIb00Qc0dpw0\/dahZfURNu1Ja7oNmOJhkONgP8A44+5ahUnnZnNs+TnDk\/XMLg6ipX1HpLqaJ02MdIWAux4ruimdDSeoREQaEREAERRa65UVtj6SsqGQg8gdyfADcoSuY2oq7JS+XvZGwvkcGNaMlzjgBZmXVFdcX9DYbc+UcjPK3DR9B5nyRmlKm4SsqL7cX1Lh\/Bj2aPP7AKmC3edjm+IxZUlfrovP2JFZrK2wPEVIJK2UuxwxNOPf1+WVF6TVl3OGsjtkByMkevjzyfdhaChttFbY+jo6dkIPMjcnxJ3KkPeyNhfI4Ma0ZLnHACMUVog3VSfzJeCy++pnKfRVK6TprlVT10pxkucQD9fioerqWkpaSgttJTxwmeYewMEgbbnr3d1rT0dyorgZBSVDJuiID+Hqzy+SzN1P4jr2ipWgubShrnjGwI9f5cKaMpOWfAhWp0o0rU0u00r+PM1zGNjjaxgw1oAA7AvpEUT0QiIgAiIgAiIgAiIgAiIgAiIgCr1FbPxazy07RmVv6yL\/EPvuPNcdLXQ3O0MEh\/X0\/6uTPM45HzHxyrpZa5UVZY7ubvbIOlp5f3mBpxntOP53PeqRzWE5aqdOaqrTR+\/galFXWy\/W67NHo046TGTE\/1Xjy6\/LKsUjTWTOiMozV4u6CLxzg0ZcQB2lZ28axoqBro6Mtqqjl6p9RvievyWxi5ZIWpVhTV5uxoiQBknACprhqu1UBDBN6TIfyU+HfHksdJeDc3F92uNS6N3KlpG48jnA+atLfUvpmt\/B9LSF35aicEuPfnG23YVXdW1OF7a55Qy+78l+SX6bqe+NIo6Zlup3HAkkyH48T9B5qXSaPo2SCouE0tfUdbpXHh93M+ZK4AayreZpaFpHcf\/AGXv6MXSqH7ffp3A+0yLIB+OPghu3FIIxxO7g5PrZLy\/RfS1VDQRhss8FOxo2a5waAO4KoqtaWiAhsL5Klx6o2H64Sn0VZ4TxStmqHcyZJOvywrelt1FRY9GpIYSBjLGAH380nYXU6P7EuUfv7FALxqS5P4aG1CkjP8AEn5jqzvj5FG6VrLgekvd0lmyB+qiOGg\/L4da1CIx20VjfhlL5jcvTyRFoLdSW2DoaOFsTeZxzce89ajw2SCG9zXXpZHyyt4S12MN5DbbsGFZIkuy27hZK2mgREWDhERABERABERABERABERABERABERAFNcdLWq5P43xGGTrfCQ0nl3Y6lB\/QpoJDLrVtbnZoPJETqclxIS2alJ3cSnu2jqxlYyK3ufVMLOImV7QWnK0dLpGzQRs46QSSNA4nPe52T4cvgiLXUk1YnT2SjGTlYtYKGkpTmnpYYT\/AMuMN+S7oimdSSWSCIiDQiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgD\/\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "BASTIAN",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "BOLSA DE BASURA",
    "prioridad": "3",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"VIR-I507\",\"id_control\":\"28631\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "17:06",
    "ubicacionGPS": "LatLng(lat: -23.6618639, lng: -70.4001396)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:56",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 17:06:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-7.yJo+UKZ0vhPCEiKWCdakSa4T1WZJjMftJ86l_iWUMjBu-bFTr
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "BR-1544",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega, report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12519",
    "observacion": "entrega, report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB3AOUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABEEAABAwMCAgYIAgYHCQAAAAABAAIDBAURBiESMRNBUWFxgRQiMpGhscHRFUIWIyQ0Q\/AHRFJTcrLhJTM2Y3OSwtLx\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDAQQF\/8QAMBEAAgECAwUGBgMBAAAAAAAAAAECAxESITEEE0FRYSIygZGx0RQzcaHB4SMk8EL\/2gAMAwEAAhEDEQA\/AP2ZERABEWXuN5qrxXOtFkI4cYnqgThg7iPn19SaMWyVSqqaz14LmWNy1NbbXMIZZHyS5wY4m8RHj1KuN51LWnNDZRAztqDv47lvyVnadO0NqHG1gmqCcumeBnPd2K1TXitFckoVp5zlbovczHRazm\/rFHT5PYDj4FPw7WA9YXil4jzHCMf5Fp0WY+iN+GXGUvMzBdrKlGeGjrOEdWBnv\/KjdYSUjgy72uelOfbaMg+\/HzPJadfL2MkYWPaHNPMOGQVuJPVBuZx7k345keiuVFcWcdJUMlHXjYjyO\/WFKWfrtI0skwqrbI6gqWnIMfsE+HV5e5RoNQ19nmZR3+nIZsG1cYJaduvtPh7kYU+6ZvpQdqqt14fo1KLnDNFUQsmheHxvGWuadiF0Uzq1CIiACLJMku9+uNcaK4mkipZejjA3D+\/I8OzrXRtfqazu\/b6NtwgA3kg9ob89h8x581Td9TlW0rXC7czUoq21X6gu8bfR5gJsZdC44cPv4hWSRprJnRGcZq8XdBERYMEXy97I2F8jgxrRkuccALM1eo6y51DqHT8BkPJ1U4eqzvH3PkE0YtkqlWNPXXlxL2vudHbYukq6hkQ6gTu7wHMrL1+upuj46ChIjLi0TTg4PkOvzXGspLfZJGvuLn3e7S8onEloJ5ZHX4Hn2KxtempaqZtxvrhLJjMdNj1Ix2EcvLl25VVGEVdnDOpXqywQy\/H1f4Q0tUX2vmNbXScVI9pDQ4cJJ23AA3HetQvAABgDAC9UpO7ud1Km6ccLd\/qEREpUIipNTXh9vpWUtJl1bVnghA6twM\/Hbv8ABak27ISpNU4uTIV3ulTd682SzuxjPpM\/U0dY8O3t5K7tVqprRRtp6dve955vPaVwsFlistAIm+tNJh0z+09ngFaJpSXdWhGlTd95U7z+3QIiJDpCIiACIiAC5VFNBVwmGphZLGebXjIXVEGNJ5MpbRp82aumfTVjzRyD93eM4d25\/n4K6RFrbbuxYQjBYY6BERYOZnQx6S3Vc53MlS7JPM7A7+9aZZjQnq2qpi58FSd+31W\/ZadPU7zObZPkRKK7aXpq54qaN5oqxpyJY8jOB2A7eIUa16jmp6sWq9x9DUg4ZMfZeOrP3WmVfeLTDd6IwvwyRp4opcZLHfbtC1SvlIydFxeOlk+XB\/7mWCLO6cus7ZXWW55FbBnhcTnpG+PXt7wrG7Xuis0XFUyZeR6kTd3O8uzvKVxadika0HDG3Zeh8akppKqwVUcT2tcGh4Ljj2SDj4LNUF8qqqip7PZKRkNSWYmlOMDGxcPhufspbKW6atlbLWh1FbAcsiHtSfz2+5S7jpKn6Fk1pzSVdOB0bmu2djt7+9VWGKws4qiqVZbymrK1urXTkSrLpuntRNRK81NY\/d0z98Hu+6uVnrVqVzqg2+8xijrG4wXbNk+316loVOeK+Z2UHTwWp6f7UIiJC4REQAWUtDBfNVVd2c4SQUh6On7PEd3M+Llb6krjb7FUzN9tzeBm2d3bfc+S803QC3WOni4QHvb0km+cuP8ApgeSosotnLU7daMOCzf4LVERTOoIiIAIiIAIiIAIiIAIioLnqunp3ejW5np1W48LWx5LQfEc\/ALVFvQnUqQpq8mXc9RDSwumnkbHG0ZLnHACzs2pKu5PdT2Gn4yD61RKMMaP7W\/19y50+nK67ztrdQzEj8tLG7AaO\/HLy371oughpKF0UMbIomMOGtGANk\/Zj1ZC9Wrn3V9\/0ZvQE7H26qh3MjZuNx7QQAN\/IrWL870NKY79wbjpYXDnzxv9F+iLaqtMXYZ4qC6BeEgDJOAFwrq+mt1M6oqpRGxo6+Z7gOsrME3bVzzwF1Da+WfzSj6\/LxSRjfPgXqVlB4Ury5EHU93pZLtBWWt5fUUoIfM0ZZz236+vu361eWPTkURbcq+T0ysmAfxuPE1uR1dp7\/cvL7a6O36Sq4KWERtAa4kc3EOG5Ks7I90ljonO9roGg+IGFSUuxkclOl\/O95m7X6X0J6IiieiV92stHeIDHUxjjAwyUe0z+exUQkvul8moJudvaPaBw6Mdu+48Nx4LWonU7ZPQhUoKTxRdpc\/fmV1rvlBd2ZpZvXHON4w4eXX5ZViqK6aVpaxwqKF3oNW05EsWQCfAYx4j4qNQX6st9Yy2X9jY3kARVI9l\/ifr71uFPOIirSg8NVePD9GmReAgjIOQUUzqMxqvNbcrXaW8pZekfnsG3y4lqFmWftX9IcgP9UptsjtA5f8Af81plSeSSOahnKc+tvIIiKZ0hERABERABFXXC+222Nd6TVM42\/wmHif7urzVO7UN4upLbLa3tiI2nnGPd1fEp1BvMhOvTg7Xu+SzZp3vZGwvkcGNaMlzjgBUFdrGghd0NCx9dOdmtjB4c+PX5ZXBuk6q4SNnvlykqHAf7qPZrfP7AK9oLZR22Lo6SnZEOsgbu8TzK20F1EvXqaLCuub8tCgFu1BqBv8AtOcUFI7nBEMOcO\/\/AFPkru22WgtTMUkAa7GDI7dx81PRY5t5DwoRi8TzfNhcK39xqP8ApO+S7qNcn9HbKp+3qwvO\/wDhKValZd1mC0S0yahYT\/DieR\/Pmt5cq+K2UElZNngjA2HMknACx39H8RNwq5sbMiDc47Tn\/wAVtqmniq6WWmmbxRytLXDuKrVax5nBsMZLZ8tXczFBZqrUFQy63s\/qT60FKOQae3u5eK1bWhrQ1oAAGAB1LMy6TqKRzn2W6S0ud+ieSW+8fYr4\/HrzZcC90XSw7Dp4QPpt27bIksWjGpyVBfyRa5vUtdTODdOVpP8Ad495C+tOtLdPUIP90D71T6jv1BcNOPjoqhsklQ9rBGNnjfPs8+rHYtFboDTW2mgIwY4mtIxjcAJWmoWfMpCSnXcou6t+SSiIpnWEXy5zWDLnBo7zhQ5r1a6cEy3CnaRzHSAn3Ddak2K5RjqycoV0tdLdqQ09UzI5tcObD2hVM+trcH9HSRVFW88hGzAJ89\/guDnakv4DBELXRvHrEn1yOzt38AnUJLN5HPOvTknGPa6L\/WJOkZ5\/RamgmkEoopTHHIORbkj5gorO1Wmls9J6PTA7nLnu9px70SyacrorRjKFNRlqU1nJk1rd5CfZYG49w+i06zFj\/wCMLz5fNadbU1J7N3H9X6hEVVdNSW20yGKolc6YDPRxtyft8UqTeSLznGCvJ2RarnNNFTxmSeVkTBzc9wAHmVmTqG93TLbRaXMYQQJpuXPmM4HluvqLSdRXPZNfLjJUuG\/RMOGjz+wCfBbvM5\/iHP5Ub9dEd6vWFGyU09vhlr5\/yiJvqk+PM+QUU0epr61pq52W2nPOOPIeR4fcjwWio7dR29hZSU0cIPPhG58TzKkoxJd1BuZz+ZLwWS9ylt+lLVQEvMPpMh\/PUYd8OSuQABgDAC9RI23qXhThBWirBERYOEREAFWaikMenq5wOMxFvv2+qnVFVT0sfSVE0cTe17gFktS6qt1XbJqGjc+V8uB0gbhowQTz36uxPCLbRzbRVhCnK7zsSdAwcFpnnIwZJsDvAA+pK1DnBoy4gDtKxVlh1K60w09BHDR05HEJ5McT8nOcb9vZ5qcNHy1ZD7tdqipd\/YacAdwzn5BPNJybbIbPUnGlGMIN\/XJFnVals1JtJXxuOcYj9f5ZVY\/WjKgOZb7XU1Z5ezgfDKtKXTdno946GNx7ZBxn4qza0NGGgAdgS3guBfDXlrJL6K\/r7GJZS3iaoFTS6ao6d3EXB0mxB8C4fLrVh6HrGf2rhSwDsa0Z\/wAv1WnRDqdBY7Kl\/wBP09DLiw6ik3l1A5h7GA4+i9\/Q+ol\/er9WTA8+Yz7yVp0RvJDfC0uN34szLdCWvnJPVSO6yXjf4KbDpKxwkEUQeRjd73H4ZwrlFmOXMZbNRWkUcYKWnpWcFPBHE3sY0BdkRIWSSyQREQaZe2uFNry5QuIb00Qc0dpw0\/dahZfURNu1Ja7oNmOJhkONgP8A44+5ahUnnZnNs+TnDk\/XMLg6ipX1HpLqaJ02MdIWAux4ruimdDSeoREQaEREAERRa65UVtj6SsqGQg8gdyfADcoSuY2oq7JS+XvZGwvkcGNaMlzjgBZmXVFdcX9DYbc+UcjPK3DR9B5nyRmlKm4SsqL7cX1Lh\/Bj2aPP7AKmC3edjm+IxZUlfrovP2JFZrK2wPEVIJK2UuxwxNOPf1+WVF6TVl3OGsjtkByMkevjzyfdhaChttFbY+jo6dkIPMjcnxJ3KkPeyNhfI4Ma0ZLnHACMUVog3VSfzJeCy++pnKfRVK6TprlVT10pxkucQD9fioerqWkpaSgttJTxwmeYewMEgbbnr3d1rT0dyorgZBSVDJuiID+Hqzy+SzN1P4jr2ipWgubShrnjGwI9f5cKaMpOWfAhWp0o0rU0u00r+PM1zGNjjaxgw1oAA7AvpEUT0QiIgAiIgAiIgAiIgAiIgAiIgCr1FbPxazy07RmVv6yL\/EPvuPNcdLXQ3O0MEh\/X0\/6uTPM45HzHxyrpZa5UVZY7ubvbIOlp5f3mBpxntOP53PeqRzWE5aqdOaqrTR+\/galFXWy\/W67NHo046TGTE\/1Xjy6\/LKsUjTWTOiMozV4u6CLxzg0ZcQB2lZ28axoqBro6Mtqqjl6p9RvievyWxi5ZIWpVhTV5uxoiQBknACprhqu1UBDBN6TIfyU+HfHksdJeDc3F92uNS6N3KlpG48jnA+atLfUvpmt\/B9LSF35aicEuPfnG23YVXdW1OF7a55Qy+78l+SX6bqe+NIo6Zlup3HAkkyH48T9B5qXSaPo2SCouE0tfUdbpXHh93M+ZK4AayreZpaFpHcf\/AGXv6MXSqH7ffp3A+0yLIB+OPghu3FIIxxO7g5PrZLy\/RfS1VDQRhss8FOxo2a5waAO4KoqtaWiAhsL5Klx6o2H64Sn0VZ4TxStmqHcyZJOvywrelt1FRY9GpIYSBjLGAH380nYXU6P7EuUfv7FALxqS5P4aG1CkjP8AEn5jqzvj5FG6VrLgekvd0lmyB+qiOGg\/L4da1CIx20VjfhlL5jcvTyRFoLdSW2DoaOFsTeZxzce89ajw2SCG9zXXpZHyyt4S12MN5DbbsGFZIkuy27hZK2mgREWDhERABERABERABERABERABERABERAFNcdLWq5P43xGGTrfCQ0nl3Y6lB\/QpoJDLrVtbnZoPJETqclxIS2alJ3cSnu2jqxlYyK3ufVMLOImV7QWnK0dLpGzQRs46QSSNA4nPe52T4cvgiLXUk1YnT2SjGTlYtYKGkpTmnpYYT\/AMuMN+S7oimdSSWSCIiDQiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgD\/\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "BASTIAN",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "BOLSA DE BASURA",
    "prioridad": "3",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"VIR-I507\",\"id_control\":\"28631\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "17:06",
    "ubicacionGPS": "LatLng(lat: -23.6618639, lng: -70.4001396)",
    "horaLlegada": "16:38",
    "horaDespacho": "16:56",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 17:06:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[12/05/2026 17: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('76121841', 'BR-1544', 1, 95585912, 0, NOW(), 
				'16:56', '16:38', '17:06', 10, 'entrega, report ya efectuado , se realiza nuevamente el cierre por error en el servidor', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778619964.png', 'entrega, report ya efectuado , se realiza nuevamente el cierre por error en el servidor', null, 'COMPLETADO','LatLng(lat: -23.6618639, lng: -70.4001396)' )
				
[12/05/2026 17:06:04] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200294
[12/05/2026 17:06:04] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200294', 'VIR-I507', 1)
				
[12/05/2026 17:06:04] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28631 and
				    IDproducto = 'VIR-I507'
				

12/05/2026 17:06:04 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'VIR-I507';
                
12/05/2026 17:06:04 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200294'                    
				WHERE idllamado = 12519			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


12/05/2026 17:06:04 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12519			
				
12/05/2026 17:06:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17:06:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            [12/05/2026 17:06:06] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:06:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                [12/05/2026 17:06:06] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:06:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:06:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                [12/05/2026 17:06:06] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:06:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:06:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:06:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:06:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            [12/05/2026 17:06:06] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:06:06] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:06:06] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:06:06] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:06:06] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12519
                
12/05/2026 17:06:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17:06:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                [12/05/2026 17:06:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:06:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            [12/05/2026 17:06:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            [12/05/2026 17:06:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:06:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                [12/05/2026 17:06:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            [12/05/2026 17:06:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12519
                
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            [12/05/2026 17:06:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12519
                
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12519
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                [12/05/2026 17:06:09] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:06:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:06:09] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:06:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:06:09] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:06:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12519
                
12/05/2026 17: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 = 12141
                [12/05/2026 17:06:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:06:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                
12/05/2026 17:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                [12/05/2026 17:06:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                [12/05/2026 17:06:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:06:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                [12/05/2026 17:06:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:06:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17:06:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                [12/05/2026 17:06:11] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:06:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                
12/05/2026 17:06:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:06:11] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12141
                
12/05/2026 17:06:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                [12/05/2026 17:06:11] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                [12/05/2026 17:06:11] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:06:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                [12/05/2026 17:06:11] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17:06:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                [12/05/2026 17:06:11] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12141
                
12/05/2026 17:06:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:06:11] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12141
                
12/05/2026 17:06:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:06:11] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:06:12] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:06:12] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:06:12] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                [12/05/2026 17:06:12] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12141
                
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:06:12] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:06:12] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:06:12] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:06:12] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12141
                
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                [12/05/2026 17:06:12] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12141
                
12/05/2026 17:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:06:13] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:06:13] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:06:13] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:06:13] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                [12/05/2026 17:06:13] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12141
                
12/05/2026 17:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17:06:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17:06:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17:06:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17:06:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:06:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:06:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17:06:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17:06:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17:06:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:06:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:06:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17:07:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:07:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:07:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:07:01 - logentry: =========================================
FECHA: 12/05/2026 17:07:01
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-AIFA2eoXnI.Bt6H1n8eO3bv1gIv.Te9QVPCpbVsddEm9SRkrU9q
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76662759",
    "serieinterna": "EP2054",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12141",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACOANgDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABAEAABAwMCAgcGAwUHBQEAAAABAAIDBAURBiESMRNBUWFxgZEUIjKhscEVQtEjJFLh8AclM1NiwtI0VWNykuL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQMCAwcDAwUAAAAAAAAAAQIDESESMQRBURMyYXGBodEikeEFM\/AUQrHB0v\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAi56iuo6TPtFVDDgZw94CjZdXWOI49t4j\/ojcfsuqLeyK5Vace9JImkVedrezNcAHTuGeYj\/AFW2DWFlmdw+0uj\/APeMgeqlol0ILiaLxqROItFLW0tbH0lLURzN7WOBwt6gXJpq6CIiHQiIgCIiAIiIAiKIu+pKG0uERJnqTyhj3Oe\/sXUm3ZEJzjBXk7IliQBknACgLrrG30AcynPtcw2ww+6D3n9MqEudRcKiLp79VuoqWUe5RQ\/4jx4dXi70Xtq0zNdC2Wpg9goRgthbnjl7yTv5nyAyrlCKzIwVOJqzeiks+P8AMev2O3T13vl5uhncGNoRkPbwbDsweZPL1RWmCCKmhZDBG2ONgw1rRgBFVJpvCNlGnKEbSd2bERFEuCIiALF72RsL5HBjWjJc44AUPdtTUtueaaFrqusOwhi3we89X1UdFZLtfpG1N7qHU8GctpY9tu\/s88nwU1DF3gzyr5001d+y82dNdq+Bsvs1qgfcJz\/lg8I\/Xy271z\/hWpLu4SV9wFBGRnooCcjxwfqSrFR0NLb4BDSQMhZ2NHPvJ5nzXQu6ku6iPYyn+7L0WF8lfg0XaIjxTNmqXdssh+2FIw2K0wACO3U+3W6MOPqV3ooucnuyyNClHaKNPslMGlop4uE8xwDC0zWm3VAxNQ079sZMYyPNdiLl2WOMXuiJptM2qjuDK2npzHIzJADyW5II5HxUsiI23ucjCMFaKsFjJIyKN0kjg1jAXOcTsAOZWSrGo6iW5XOn09TOLRKQ+oe08m88egz6LsY3ZGrU7ON+fLzPDqS5XOZ8dit\/SMYSDPLs3I88curnuveHWbPe46OTO\/Dtt3dSsFFRwUFJHS0zOCOMYA+5W9S1pbIqVCclec3fwwirjVdbb5Gx3y1vgDjgSxbt\/n5FWKkq6eup21FLK2WJ3Jzf62WcsUc0bo5Y2yMcMOa4ZB8lVLjaqjTcrrtZ3EwA5npiTgDtHd9E+mXgzjdWjlvVH3XyW5YSzRwROlme2ONgy5zjgAKFqNXW2G3xVLCZZJm5ZA34uzfs3ChauOpuLG3DUdSaKiG8VK0+8\/ux+u\/gipvmdqcTFYhl+y82dk16uOoZ3Udja6GnG0lW7Yjw7PLfwXBFJRWuc0VigNyubyQal4BDD2jq+3aSt8AuWoYm0tuh\/DLS3DeLGHPH3\/rJKs1stNHaacQ0kXD\/ABPO7neJU21HH89TNCE6z1X9f+V\/sjLTpdlPOK+5y+2Vp3y\/drD3Z5qwIipcnLc306caatFBERcLAiLwkAZJwAgMZZY4YnSyvDGMGXOccABVaou1y1HUSUdk\/Y0jdpKp2QT4dY8OfgsK2abV1wFBROcy2wOBmmG3Ge7t7vVWmkpIKGmZTU0YjiYMABWYhvuY25V3aLtHr18vA4bPp+hs0Y6FnHPj3pnj3j4dg7h81KIig227s1QhGC0xVkERFwkEREAREQBYySMijdJI9rGNGXOccADvK4rreaKzw8dVJ75GWRt3c7wH3UDFQXbVErZ7mXUlvyC2nacF\/wDXafJTUb5exRUraXoiry\/m5sr9VT1HTRWWHjbCMyVUmAxveM\/fn6KHtbrxTU0mpeNkjS\/gkEnN7M7kdg4uzsUzqoR0Fmp7VQMZD7XKGBrRzHX38+FTzKCFlrFv4QYhF0RGNiMYVmpRjhbmTsqlSq9Uspel3sZ0dXHXUcVVCcslaHDu7lvVb0PI82WSF5B6GdzRjs2P1yrIqpKzaNtGfaU1J8woTVdxqLbaC+naMyO4C4t4gB9N1NOcGtLnEAAZJPUqtXXyqvlQ62WIHg5TVTh7oHd3d\/X1dq7BXdyHETUYON8vbqVy11MVpubvZYGXOV7G+zu4SC1xx1evorPb9OT11QLjqCTp5iPcp\/ysHYf0+qhr1p2Kystpp6iRs8kvA+YHcHbcDqxv1qXB1ZajuIbnCPJw+h+v6Xyd1eLPNow0NxqRbS5LKz15v3LO1oa0NaAABgAdS9Vah1rSNk6K4UlRRSdYc3iA3x4\/JTVJdbfXD92rIZD\/AAh2\/pzWdwkt0epCvTniLOtERRLgiIgCrGobjNXVjNP2146SbaokG\/A3rHpz9OtTd1uEdrt0tXKdmD3Rzy47AKM0nbH0tE+uqcmrrTxvLueM5HVtzyrI4WpmWs3OSpR57+X5JS2W6G1UEdJB8LNy483HrJXWiKDd8mmMVFWQREXDoREQBEWmqq6eigdPUytijbzc4ocbSV2blXrrqbgqPw+0R+2VriWnh3aw\/cj0XHNdbpqZ76WzxmmpOUlRJsXDu7PDn4KctFko7NB0dMzL3D35XfE\/9B3Kyyj3tzL2k62KeF1+Pkj7TpkRzC4XZ\/tdc48R4t2sPd2lWFEUHJy3L6dONNWiVe6j23W9sps5bTsMrusNO5\/2t+SsznNYwvccNaMk9gVagBl\/tEqMjHQ0wx37N\/5KYvs\/s1jrZQcEQuAPYSMD5lTktkUUpWVSb6v2IjQrXG0TykYElS4geQ61P1lZT0FM+oqZRHGwbk\/QdpUFZ62lsOkaWeqdjjDnBoHvPJJIAHhhctHQV2qqmO4XUGGgYcw04Px9\/h39fUpSjeTb2K6dRwpRpxzK328zxzrjrGYtic+jtLXYJ\/NNv8\/oO9WehoKa3UzaeliEbGjq5nvJ6ytsUUcMTYomBjGDDWtGAAs1CUr4WxopUdD1Sd5PmVjWWC+1t6zUjYc+pWdVi9kVer7RR8+jBlIzjv38mclZ12XdSI0s1aj8UvsjVPTQVTOCogjmZ\/DIwOHzUNV6Ns1SCWQvp3H80Tz9DkKeRRUmtmWzpQn3lcq507e6I\/3bfXlo5MnyQPqO3qQ3jUlsHFcbYyohBGXwHfHlnu5gK0Liut1prRRuqKh3cxg5vPYFJSbw1colQjTWqMnH1x7ntsulLdqQVFK\/I5Oa7HE09hCKL0lSzsp6qvnhEJrpekZGNuFu+Nsbc0UZJJ2RdRlKdNSluc2qf7wvFsswGWyP6WQb\/DnGdu4OVoa0NaGtAAAwAOpVihzWa9rZT8FLFwt8cAfqrQpTwkiqh9Upz6u32wERFWagiIgCxe9kbC+RwY1oyXOOAFC3bVNHb3+z04NZVk4EURzg95+3NcDLHdr9I2e+VBggBy2ljxy7\/wCeT4KahzeDPKur6aa1P2XmzbWasdPOaSx0rq2b\/MweBv6+OwXlLpior5RV6hqXVEg+CBrsMZ6fQfNT9HQ0tvgEFJC2KMdTevxPMroXddu6RVBzd6rv4cvz6mEUMcETYoWNjjYMNa0YACzRFWatgiIgKvZyJdbXeXOS1gZ29g+y91vcI47YLex3FPUPb7jRk8IOfrhNMftL9fZf\/Pwgjkfef+gUZqGhnrNYsjoSyWoEbZC14ADcb4Pbtj1WhJa88jypSkuGen+5tfdskLJpiZ7oKy8yGV8LGthgJ2jA5A\/p65VqVXfqqvt7sXazSxtB3liOW88de3z7FK0WorVX4EVYxrz+SQ8J+armpvLNNCdCC0RefHf3JNEWitqRR0M9Scfso3O36yByVZrbsrsr1t\/f9c3CqBPBSs6IY7eW\/o5WhV7RdO6OyuqpN5KqV0hPdnH2Pqu6u1FareCJqtjngfBH7zvDbl5qyablZGWhJQpa5u18\/ck1i97I2F8jgxrRkuccAKru1Hd7oSyy2t4YRtPPgefZ8ysmaVrLhIJb3c5JthmKI4bn0x6BNFu8zv8AUOX7cW\/HZG2t1UJJTSWSndXVB242g8DO\/v8AkO9eW\/TU9TVNuN+m9pqBu2HPuM7O7yG3ipyioKS3Q9DSQMhZ18I3PieZ810JqtiJ1UXJ6qrv4cvz6hERVmkrFpPBre7Rcsxh2\/P8p+6s6rFYTbNcU1W8lsNbH0RcTtnGAPUN9VZ1OfJmbh8ao9G\/kItc88dNA+eZ3BHGOJzuwKty6krrtI6m0\/SPdvh1VKMNb67evouRi2WVK0aeHv05k5cbrR2qDpauYMH5WjdzvAKvGsvWqAWULPw+gOxlf8T\/AA\/l6rrt2koIpva7pMa+qJzl5JaD58\/P0VhAAGAMAKV4x2yynRVq9\/6V0W\/q\/gjbRYaGzx\/u8fFKRh0z93H9B3KTRFBtvLNMYRgtMVZBERcJBERAEREBVtJPa2a8zu2j9oLs9w4ivdJNfXVlwvcuc1Ehjj4hyaN\/+I8lCwVnsumbvI04NVVdE3z3PyypWi1Na7PZ6Wjh46qZke7Ym7Bx3O5788srTKLzbmeRSqQWjW7JXfq2WwgEYIyCoi4aZs1Y10k1OyB25MkR4Md\/Z6hRvt2qrqf3Sjjt8R5Pl+Ll3\/YLNuj31juku90nqnk54WHDQe7OfoFWlp3djXKp2qtGnfzwvfJD1dZNp\/3LdqJlW1vKBzePA699x8x1+eZuepdRUD6SOhZ0MoGZWsLMgHPxE4Vro7BaqHHQUMQcPzOHE71KkV11FyRXHhKjxKVl0X5KjBpO51FLHT3C6mOCNvCIIM4IB6+Qz5KWotK2ehPE2kEz\/wCKb3\/kdvkphFB1JM0Q4alHNrvxyeAADAGAF6iKBoCIiAIiICI1JaPxe2Fse1RCeOE9\/WPP64Xmm7z+LUGJfdqoPcmaeee3z+uVMKtXe1VdvuP43Z2l0h\/x6doJ6XtOP67VZFprSzLUi6c+1j6\/PoWNzWvYWPaHNcMEEZBC8iijhjbHFG2NjRhrWjAHkoq06loboBGXCnqs4dBIcHPYD1\/VTCg01hl8JwmtUXcIiLhMIiIAiKMrtRWq3giarY54HwR+87w25ea6k3sRlOMFeTsSa8JAGScAKlV2vZX5bbqPhGQA+bcnu4R+q4BS6ov5Al9o6F3PjPRsxns2yrFSe8sGOXHQvamnJ+Bba\/VNpoAQ6pE0gGQyH3s+fL5qIOob7d4pZLTRsp6dg3mkwSMc+e3lgrO3aDpYSH3CY1B\/gZlrfXn9FP1EEFDZ6iOmhZFGyF5DGDA+Erv0LbJxLiKibm9K6Lc+cWKhF0ulLRPe90JcXyMyQAAN\/XAC+kUVqoLcMUlJHEcY4gMuPmd1Vf7P6TMtXWnqaIm+e5+gV2Xa0nqsQ\/T6SVLW1lhERUHpBERAEREAREQBERAEREAREQEVc9N2y6vMk8HBKecsZ4XHx6j5qM\/AL\/QOzbL1xszkRz5wO4Zz9laEU1NrBRLh6cnqtZ9Vgq\/tOs4jw+wUk\/8Aq4gP9wXv4rqv\/skP\/wBf\/pWV72RsL5HBjWjJc44AVarNUy1s5obBTuqJ84Mxb7jR2\/zO3ipRerkiipFU1mo\/LDf+DRV33U1LF0s9BRU0fLMsgB8hx7+ijqbUep7tJ0dDG0kDcxxDA8S7YKbodKmWb2y+VBrqjqYSeBv6\/TuVhiijhjbHFG2NjRhrWjAHkpOcVsiEaFabvKbS9\/wVWPT1\/uDD+J3h8TSP8OM5zt14wPquqm0PaYR+26WoON+J2B8lY0UHUkaFwtJZau\/HJyUtroKH\/pqOGI4xxNYM+vNdaIq27mhRUVZILVVQ+00k0HFw9KxzOLGcZGFtRA1dWI6x2gWW3+yCUSnjLy\/g4c57snsUiiLrbbuzkYqEVGOyCIi4SCIiAIiIAiIgCIiAIiIAiIgC4bpdqS0UxmqZNz8MY+J57l3KuUFiNZdai5XV7ah7JS2Fo+FoaTjIx8uSlFLdlNWU1aMN2craK5arkE9a59HbQQWQD4nj+us+istFQ01vp2wUsLY2DqHM95PWuhElJvHIU6MYPU8vqERFEuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/9k=",
    "razonSocial": "TRANSPORTES MICHEA SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "jorge rosemblut",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "wsp",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "mantencion",
    "prioridad": "2",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "17:07",
    "ubicacionGPS": "LatLng(lat: -23.6618818, lng: -70.4001558)",
    "horaLlegada": "16:38",
    "horaDespacho": "17:06",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 12/05/2026 17:07:01
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-AIFA2eoXnI.Bt6H1n8eO3bv1gIv.Te9QVPCpbVsddEm9SRkrU9q
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76662759",
    "serieinterna": "EP2054",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12141",
    "observacion": "report ya efectuado , se realiza nuevamente el cierre por error en el servidor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACOANgDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABAEAABAwMCAgcGAwUHBQEAAAABAAIDBAURBiESMRNBUWFxgZEUIjKhscEVQtEjJFLh8AclM1NiwtI0VWNykuL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQMCAwcDAwUAAAAAAAAAAQIDESESMQRBURMyYXGBodEikeEFM\/AUQrHB0v\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAi56iuo6TPtFVDDgZw94CjZdXWOI49t4j\/ojcfsuqLeyK5Vace9JImkVedrezNcAHTuGeYj\/AFW2DWFlmdw+0uj\/APeMgeqlol0ILiaLxqROItFLW0tbH0lLURzN7WOBwt6gXJpq6CIiHQiIgCIiAIiIAiKIu+pKG0uERJnqTyhj3Oe\/sXUm3ZEJzjBXk7IliQBknACgLrrG30AcynPtcw2ww+6D3n9MqEudRcKiLp79VuoqWUe5RQ\/4jx4dXi70Xtq0zNdC2Wpg9goRgthbnjl7yTv5nyAyrlCKzIwVOJqzeiks+P8AMev2O3T13vl5uhncGNoRkPbwbDsweZPL1RWmCCKmhZDBG2ONgw1rRgBFVJpvCNlGnKEbSd2bERFEuCIiALF72RsL5HBjWjJc44AUPdtTUtueaaFrqusOwhi3we89X1UdFZLtfpG1N7qHU8GctpY9tu\/s88nwU1DF3gzyr5001d+y82dNdq+Bsvs1qgfcJz\/lg8I\/Xy271z\/hWpLu4SV9wFBGRnooCcjxwfqSrFR0NLb4BDSQMhZ2NHPvJ5nzXQu6ku6iPYyn+7L0WF8lfg0XaIjxTNmqXdssh+2FIw2K0wACO3U+3W6MOPqV3ooucnuyyNClHaKNPslMGlop4uE8xwDC0zWm3VAxNQ079sZMYyPNdiLl2WOMXuiJptM2qjuDK2npzHIzJADyW5II5HxUsiI23ucjCMFaKsFjJIyKN0kjg1jAXOcTsAOZWSrGo6iW5XOn09TOLRKQ+oe08m88egz6LsY3ZGrU7ON+fLzPDqS5XOZ8dit\/SMYSDPLs3I88curnuveHWbPe46OTO\/Dtt3dSsFFRwUFJHS0zOCOMYA+5W9S1pbIqVCclec3fwwirjVdbb5Gx3y1vgDjgSxbt\/n5FWKkq6eup21FLK2WJ3Jzf62WcsUc0bo5Y2yMcMOa4ZB8lVLjaqjTcrrtZ3EwA5npiTgDtHd9E+mXgzjdWjlvVH3XyW5YSzRwROlme2ONgy5zjgAKFqNXW2G3xVLCZZJm5ZA34uzfs3ChauOpuLG3DUdSaKiG8VK0+8\/ux+u\/gipvmdqcTFYhl+y82dk16uOoZ3Udja6GnG0lW7Yjw7PLfwXBFJRWuc0VigNyubyQal4BDD2jq+3aSt8AuWoYm0tuh\/DLS3DeLGHPH3\/rJKs1stNHaacQ0kXD\/ABPO7neJU21HH89TNCE6z1X9f+V\/sjLTpdlPOK+5y+2Vp3y\/drD3Z5qwIipcnLc306caatFBERcLAiLwkAZJwAgMZZY4YnSyvDGMGXOccABVaou1y1HUSUdk\/Y0jdpKp2QT4dY8OfgsK2abV1wFBROcy2wOBmmG3Ge7t7vVWmkpIKGmZTU0YjiYMABWYhvuY25V3aLtHr18vA4bPp+hs0Y6FnHPj3pnj3j4dg7h81KIig227s1QhGC0xVkERFwkEREAREQBYySMijdJI9rGNGXOccADvK4rreaKzw8dVJ75GWRt3c7wH3UDFQXbVErZ7mXUlvyC2nacF\/wDXafJTUb5exRUraXoiry\/m5sr9VT1HTRWWHjbCMyVUmAxveM\/fn6KHtbrxTU0mpeNkjS\/gkEnN7M7kdg4uzsUzqoR0Fmp7VQMZD7XKGBrRzHX38+FTzKCFlrFv4QYhF0RGNiMYVmpRjhbmTsqlSq9Uspel3sZ0dXHXUcVVCcslaHDu7lvVb0PI82WSF5B6GdzRjs2P1yrIqpKzaNtGfaU1J8woTVdxqLbaC+naMyO4C4t4gB9N1NOcGtLnEAAZJPUqtXXyqvlQ62WIHg5TVTh7oHd3d\/X1dq7BXdyHETUYON8vbqVy11MVpubvZYGXOV7G+zu4SC1xx1evorPb9OT11QLjqCTp5iPcp\/ysHYf0+qhr1p2Kystpp6iRs8kvA+YHcHbcDqxv1qXB1ZajuIbnCPJw+h+v6Xyd1eLPNow0NxqRbS5LKz15v3LO1oa0NaAABgAdS9Vah1rSNk6K4UlRRSdYc3iA3x4\/JTVJdbfXD92rIZD\/AAh2\/pzWdwkt0epCvTniLOtERRLgiIgCrGobjNXVjNP2146SbaokG\/A3rHpz9OtTd1uEdrt0tXKdmD3Rzy47AKM0nbH0tE+uqcmrrTxvLueM5HVtzyrI4WpmWs3OSpR57+X5JS2W6G1UEdJB8LNy483HrJXWiKDd8mmMVFWQREXDoREQBEWmqq6eigdPUytijbzc4ocbSV2blXrrqbgqPw+0R+2VriWnh3aw\/cj0XHNdbpqZ76WzxmmpOUlRJsXDu7PDn4KctFko7NB0dMzL3D35XfE\/9B3Kyyj3tzL2k62KeF1+Pkj7TpkRzC4XZ\/tdc48R4t2sPd2lWFEUHJy3L6dONNWiVe6j23W9sps5bTsMrusNO5\/2t+SsznNYwvccNaMk9gVagBl\/tEqMjHQ0wx37N\/5KYvs\/s1jrZQcEQuAPYSMD5lTktkUUpWVSb6v2IjQrXG0TykYElS4geQ61P1lZT0FM+oqZRHGwbk\/QdpUFZ62lsOkaWeqdjjDnBoHvPJJIAHhhctHQV2qqmO4XUGGgYcw04Px9\/h39fUpSjeTb2K6dRwpRpxzK328zxzrjrGYtic+jtLXYJ\/NNv8\/oO9WehoKa3UzaeliEbGjq5nvJ6ytsUUcMTYomBjGDDWtGAAs1CUr4WxopUdD1Sd5PmVjWWC+1t6zUjYc+pWdVi9kVer7RR8+jBlIzjv38mclZ12XdSI0s1aj8UvsjVPTQVTOCogjmZ\/DIwOHzUNV6Ns1SCWQvp3H80Tz9DkKeRRUmtmWzpQn3lcq507e6I\/3bfXlo5MnyQPqO3qQ3jUlsHFcbYyohBGXwHfHlnu5gK0Liut1prRRuqKh3cxg5vPYFJSbw1colQjTWqMnH1x7ntsulLdqQVFK\/I5Oa7HE09hCKL0lSzsp6qvnhEJrpekZGNuFu+Nsbc0UZJJ2RdRlKdNSluc2qf7wvFsswGWyP6WQb\/DnGdu4OVoa0NaGtAAAwAOpVihzWa9rZT8FLFwt8cAfqrQpTwkiqh9Upz6u32wERFWagiIgCxe9kbC+RwY1oyXOOAFC3bVNHb3+z04NZVk4EURzg95+3NcDLHdr9I2e+VBggBy2ljxy7\/wCeT4KahzeDPKur6aa1P2XmzbWasdPOaSx0rq2b\/MweBv6+OwXlLpior5RV6hqXVEg+CBrsMZ6fQfNT9HQ0tvgEFJC2KMdTevxPMroXddu6RVBzd6rv4cvz6mEUMcETYoWNjjYMNa0YACzRFWatgiIgKvZyJdbXeXOS1gZ29g+y91vcI47YLex3FPUPb7jRk8IOfrhNMftL9fZf\/Pwgjkfef+gUZqGhnrNYsjoSyWoEbZC14ADcb4Pbtj1WhJa88jypSkuGen+5tfdskLJpiZ7oKy8yGV8LGthgJ2jA5A\/p65VqVXfqqvt7sXazSxtB3liOW88de3z7FK0WorVX4EVYxrz+SQ8J+armpvLNNCdCC0RefHf3JNEWitqRR0M9Scfso3O36yByVZrbsrsr1t\/f9c3CqBPBSs6IY7eW\/o5WhV7RdO6OyuqpN5KqV0hPdnH2Pqu6u1FareCJqtjngfBH7zvDbl5qyablZGWhJQpa5u18\/ck1i97I2F8jgxrRkuccAKru1Hd7oSyy2t4YRtPPgefZ8ysmaVrLhIJb3c5JthmKI4bn0x6BNFu8zv8AUOX7cW\/HZG2t1UJJTSWSndXVB242g8DO\/v8AkO9eW\/TU9TVNuN+m9pqBu2HPuM7O7yG3ipyioKS3Q9DSQMhZ18I3PieZ810JqtiJ1UXJ6qrv4cvz6hERVmkrFpPBre7Rcsxh2\/P8p+6s6rFYTbNcU1W8lsNbH0RcTtnGAPUN9VZ1OfJmbh8ao9G\/kItc88dNA+eZ3BHGOJzuwKty6krrtI6m0\/SPdvh1VKMNb67evouRi2WVK0aeHv05k5cbrR2qDpauYMH5WjdzvAKvGsvWqAWULPw+gOxlf8T\/AA\/l6rrt2koIpva7pMa+qJzl5JaD58\/P0VhAAGAMAKV4x2yynRVq9\/6V0W\/q\/gjbRYaGzx\/u8fFKRh0z93H9B3KTRFBtvLNMYRgtMVZBERcJBERAEREBVtJPa2a8zu2j9oLs9w4ivdJNfXVlwvcuc1Ehjj4hyaN\/+I8lCwVnsumbvI04NVVdE3z3PyypWi1Na7PZ6Wjh46qZke7Ym7Bx3O5788srTKLzbmeRSqQWjW7JXfq2WwgEYIyCoi4aZs1Y10k1OyB25MkR4Md\/Z6hRvt2qrqf3Sjjt8R5Pl+Ll3\/YLNuj31juku90nqnk54WHDQe7OfoFWlp3djXKp2qtGnfzwvfJD1dZNp\/3LdqJlW1vKBzePA699x8x1+eZuepdRUD6SOhZ0MoGZWsLMgHPxE4Vro7BaqHHQUMQcPzOHE71KkV11FyRXHhKjxKVl0X5KjBpO51FLHT3C6mOCNvCIIM4IB6+Qz5KWotK2ehPE2kEz\/wCKb3\/kdvkphFB1JM0Q4alHNrvxyeAADAGAF6iKBoCIiAIiICI1JaPxe2Fse1RCeOE9\/WPP64Xmm7z+LUGJfdqoPcmaeee3z+uVMKtXe1VdvuP43Z2l0h\/x6doJ6XtOP67VZFprSzLUi6c+1j6\/PoWNzWvYWPaHNcMEEZBC8iijhjbHFG2NjRhrWjAHkoq06loboBGXCnqs4dBIcHPYD1\/VTCg01hl8JwmtUXcIiLhMIiIAiKMrtRWq3giarY54HwR+87w25ea6k3sRlOMFeTsSa8JAGScAKlV2vZX5bbqPhGQA+bcnu4R+q4BS6ov5Al9o6F3PjPRsxns2yrFSe8sGOXHQvamnJ+Bba\/VNpoAQ6pE0gGQyH3s+fL5qIOob7d4pZLTRsp6dg3mkwSMc+e3lgrO3aDpYSH3CY1B\/gZlrfXn9FP1EEFDZ6iOmhZFGyF5DGDA+Erv0LbJxLiKibm9K6Lc+cWKhF0ulLRPe90JcXyMyQAAN\/XAC+kUVqoLcMUlJHEcY4gMuPmd1Vf7P6TMtXWnqaIm+e5+gV2Xa0nqsQ\/T6SVLW1lhERUHpBERAEREAREQBERAEREAREQEVc9N2y6vMk8HBKecsZ4XHx6j5qM\/AL\/QOzbL1xszkRz5wO4Zz9laEU1NrBRLh6cnqtZ9Vgq\/tOs4jw+wUk\/8Aq4gP9wXv4rqv\/skP\/wBf\/pWV72RsL5HBjWjJc44AVarNUy1s5obBTuqJ84Mxb7jR2\/zO3ipRerkiipFU1mo\/LDf+DRV33U1LF0s9BRU0fLMsgB8hx7+ijqbUep7tJ0dDG0kDcxxDA8S7YKbodKmWb2y+VBrqjqYSeBv6\/TuVhiijhjbHFG2NjRhrWjAHkpOcVsiEaFabvKbS9\/wVWPT1\/uDD+J3h8TSP8OM5zt14wPquqm0PaYR+26WoON+J2B8lY0UHUkaFwtJZau\/HJyUtroKH\/pqOGI4xxNYM+vNdaIq27mhRUVZILVVQ+00k0HFw9KxzOLGcZGFtRA1dWI6x2gWW3+yCUSnjLy\/g4c57snsUiiLrbbuzkYqEVGOyCIi4SCIiAIiIAiIgCIiAIiIAiIgC4bpdqS0UxmqZNz8MY+J57l3KuUFiNZdai5XV7ah7JS2Fo+FoaTjIx8uSlFLdlNWU1aMN2craK5arkE9a59HbQQWQD4nj+us+istFQ01vp2wUsLY2DqHM95PWuhElJvHIU6MYPU8vqERFEuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/9k=",
    "razonSocial": "TRANSPORTES MICHEA SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "jorge rosemblut",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "wsp",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "mantencion",
    "prioridad": "2",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "17:07",
    "ubicacionGPS": "LatLng(lat: -23.6618818, lng: -70.4001558)",
    "horaLlegada": "16:38",
    "horaDespacho": "17:06",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/05/2026 17:07:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76662759

[12/05/2026 17:07:01] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76662759', 'EP2054', 1, 95585912, 0, NOW(), 
				'17:06', '16:38', '17:07', 16, 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778620021.png', 'report ya efectuado , se realiza nuevamente el cierre por error en el servidor', null, 'COMPLETADO','LatLng(lat: -23.6618818, lng: -70.4001558)' )
				
[12/05/2026 17:07:01] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200295

12/05/2026 17:07:01 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200295'                    
				WHERE idllamado = 12141			
				TO ENVIO: micorreo@miempresa.cl, null


12/05/2026 17:07:01 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12141			
				
12/05/2026 17:07:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17:07:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                
12/05/2026 17: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 = 12141
                [12/05/2026 17:09:37] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:09:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                [12/05/2026 17:09:37] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:09:37] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:09:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:09:37] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:09:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                [12/05/2026 17:09:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:09:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:09:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:09:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:09:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:09:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:09:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:09:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:09:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:09:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                [12/05/2026 17:09:39] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:09:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:09:39] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:09:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:09:39] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:09:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                [12/05/2026 17:09:39] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:09:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            [12/05/2026 17:09:39] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:09:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                [12/05/2026 17:09:39] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:09:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                [12/05/2026 17:09:39] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:09:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                [12/05/2026 17:09:39] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:09:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12141
            GROUP BY l.idllamado;
            
12/05/2026 17:09:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                
12/05/2026 17:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12141
                [12/05/2026 17:10:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:36] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:36] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:36] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                [12/05/2026 17:10:36] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                [12/05/2026 17:10:37] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:37] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                [12/05/2026 17:10:37] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17:10:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:37] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                [12/05/2026 17:10:37] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17:10:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:37] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:37] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:37] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:37] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                [12/05/2026 17:10:37] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17:10:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                [12/05/2026 17:10:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:10:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                [12/05/2026 17:10:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                [12/05/2026 17:10:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                [12/05/2026 17:10:39] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:39] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                [12/05/2026 17:10:39] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:10:39] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                [12/05/2026 17:10:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17:10:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                [12/05/2026 17:10:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:10:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:10:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                [12/05/2026 17:10:41] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:41] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:42] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:42] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:42] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                [12/05/2026 17:10:42] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                [12/05/2026 17:10:42] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:42] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:42] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                [12/05/2026 17:10:42] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17:10:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                [12/05/2026 17:10:43] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                [12/05/2026 17:10:43] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:43] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:43] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:43] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:43] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                [12/05/2026 17:10:43] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:43] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                [12/05/2026 17:10:43] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                [12/05/2026 17:10:45] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                [12/05/2026 17:10:45] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:10:45] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                [12/05/2026 17:10:45] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:45] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                [12/05/2026 17:10:46] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:46] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                [12/05/2026 17:10:46] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:46] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:46] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:46] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:10:46] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:46] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:10:46] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:47] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:47] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                [12/05/2026 17:10:47] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:52] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:52] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                [12/05/2026 17:10:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:10:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:10:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                [12/05/2026 17:10:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:10:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                [12/05/2026 17:10:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                [12/05/2026 17:10:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                [12/05/2026 17:10:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:10:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:10:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:10:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:10:54] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:10:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:10:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                [12/05/2026 17:11:01] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:11:01] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:11:01] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:11:01] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                [12/05/2026 17:11:01] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:11:01] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:11:01] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:11:01] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:11:01] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:11:01] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:11:01] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:11:01] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:11:01] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:11:01] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:11:02] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                [12/05/2026 17:11:02] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            [12/05/2026 17:11:02] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                [12/05/2026 17:11:02] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17: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 = 12559
                
12/05/2026 17:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:14:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                
12/05/2026 17:14:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                [12/05/2026 17:53: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/05/2026 17:53:37] 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/05/2026 17:53:40] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:53:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12558
            GROUP BY l.idllamado;
            [12/05/2026 17:53:44] 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/05/2026 17:53:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12558
            GROUP BY l.idllamado;
            [12/05/2026 17:53:47] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:53:49] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:53:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12560
            GROUP BY l.idllamado;
            [12/05/2026 17:53:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12560
            GROUP BY l.idllamado;
            [12/05/2026 17:54:42] 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/05/2026 17:55:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12560
            GROUP BY l.idllamado;
            [12/05/2026 17:55:19] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:55:20] 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/05/2026 17:55:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12560
            GROUP BY l.idllamado;
            [12/05/2026 17:55:23] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            [12/05/2026 17:55: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/05/2026 17:56:10] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:56:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            
12/05/2026 17:56:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            
12/05/2026 17:56:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            [12/05/2026 17:56:11] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:56:11] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 17:56:11] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/05/2026 17:56:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            
12/05/2026 17:56:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            [12/05/2026 17:56:11] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[12/05/2026 18:05: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/05/2026 18:05: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/05/2026 18:05: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/05/2026 18:05:38] 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/05/2026 18:05:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12560
            GROUP BY l.idllamado;
            [12/05/2026 18:05:54] 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;
                
[13/05/2026 08:23: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;
                
[13/05/2026 08:23:43] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[13/05/2026 08:23:43] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[13/05/2026 08:23: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;
                

13/05/2026 08:23:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 08:23:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
13/05/2026 08:23:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
13/05/2026 08:23:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                [13/05/2026 08:23:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 08:23:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 08:23:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [13/05/2026 08:23:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 08:23:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 08:23:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
13/05/2026 08:23:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 08:23:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
13/05/2026 08:23:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 08:23:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
13/05/2026 08: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 = 12533
                
13/05/2026 08: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 = 12533
                
13/05/2026 08: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 = 12533
                
13/05/2026 08: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 = 12533
                [13/05/2026 08:23:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[13/05/2026 08:23:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 08:23:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 08:23: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
13/05/2026 08: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 = 12533
                
13/05/2026 08:23:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 08:23: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
13/05/2026 08: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 = 12533
                
13/05/2026 08:23:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 08:23: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
13/05/2026 08:23:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 08:23:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
13/05/2026 08: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 = 12533
                [13/05/2026 08: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;
                

13/05/2026 08:23:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 08:23:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
13/05/2026 08:23:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 08:23:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
13/05/2026 08: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 = 12533
                
13/05/2026 08: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 = 12533
                
13/05/2026 08:23:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 08:23:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
13/05/2026 08: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 = 12533
                [13/05/2026 08: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;
                
[13/05/2026 08: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;
                
[13/05/2026 08: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;
                

13/05/2026 08:23:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 08:23:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
13/05/2026 08:23:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 08:23:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
13/05/2026 08: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 = 12533
                [13/05/2026 08: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;
                

13/05/2026 08: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 = 12533
                [13/05/2026 08: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;
                

13/05/2026 08:23:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 08:23:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
13/05/2026 08: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 = 12533
                
13/05/2026 08: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 = 12533
                
13/05/2026 08:23:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 08:23:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
13/05/2026 08: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 = 12533
                
13/05/2026 08: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 = 12533
                
13/05/2026 08:23:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        [13/05/2026 08:23:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 08:23:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        
13/05/2026 08:23:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 08:23:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        [13/05/2026 08:23:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 08: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 = 12533
                
13/05/2026 08: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 = 12533
                
13/05/2026 08: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 = 12533
                
13/05/2026 08: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 = 12533
                
13/05/2026 08: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 = 12533
                
13/05/2026 08: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 = 12533
                [13/05/2026 08:34: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;
                
[13/05/2026 08:34: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;
                
[13/05/2026 08:34: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;
				
[13/05/2026 08:34: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;
                
[13/05/2026 08:39: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;
                
[13/05/2026 08:39: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;
				
[13/05/2026 08:39: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;
                
[13/05/2026 08:46: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[13/05/2026 08:46:06] 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;
                
[13/05/2026 08:46:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 08:46:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12560
            GROUP BY l.idllamado;
            [13/05/2026 08:46:11] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[13/05/2026 08:46: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;
                

13/05/2026 08:46:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12560
            GROUP BY l.idllamado;
            [13/05/2026 08:46:22] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[13/05/2026 08:46:23] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 08:46:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12558
            GROUP BY l.idllamado;
            
13/05/2026 08:46:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12558
            GROUP BY l.idllamado;
            [13/05/2026 08:46:41] 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;
                
[13/05/2026 08:46:46] 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;
                
[13/05/2026 09:13: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;
                
[13/05/2026 09:13: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;
				
[13/05/2026 09:13: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;
                
[13/05/2026 09:15: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[13/05/2026 09:15:39] 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;
                
[13/05/2026 09: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;
                
[13/05/2026 09:15: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;
                

13/05/2026 09:15:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:15:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12557
LIMIT 1;
        [13/05/2026 09: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;
                

13/05/2026 09:19:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:19:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12557
LIMIT 1;
        [13/05/2026 09:19: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;
                
[13/05/2026 09:20:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 09:20:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:20:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12557
LIMIT 1;
        
13/05/2026 09:20:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:20:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12557
LIMIT 1;
        
13/05/2026 09: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 = 12557
                
13/05/2026 09: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 = 12557
                
13/05/2026 09:20:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:20:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12557
LIMIT 1;
        [13/05/2026 09:20:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[13/05/2026 09:20: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;
                

13/05/2026 09:20:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:20: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12557
LIMIT 1;
        
13/05/2026 09:20:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:20: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12557
LIMIT 1;
        
13/05/2026 09:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09: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 = 12557
                
13/05/2026 09:21:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12557
LIMIT 1;
        
13/05/2026 09: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 = 12557
                
13/05/2026 09:21:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09:21:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:21:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12557
LIMIT 1;
        
13/05/2026 09:21:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09: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 = 12557
                
13/05/2026 09: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 = 12557
                
13/05/2026 09:21:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:21:13 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12557
LIMIT 1;
        
13/05/2026 09: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 = 12557
                
13/05/2026 09: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 = 12557
                
13/05/2026 09:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09:21:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:21:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12557
LIMIT 1;
        
13/05/2026 09:21:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09:21:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09:24:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:24:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12557
LIMIT 1;
        
13/05/2026 09: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 = 12557
                
13/05/2026 09: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 = 12557
                
13/05/2026 09:24:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:24:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12557
LIMIT 1;
        
13/05/2026 09: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 = 12557
                
13/05/2026 09: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 = 12557
                
13/05/2026 09: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 = 12557
                
13/05/2026 09: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 = 12557
                
13/05/2026 09:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09:24:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:24:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12557
LIMIT 1;
        
13/05/2026 09:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09:24:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:24:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12557
LIMIT 1;
        
13/05/2026 09:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09:24:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:24: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12557
LIMIT 1;
        
13/05/2026 09: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 = 12557
                
13/05/2026 09: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 = 12557
                
13/05/2026 09: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 = 12557
                
13/05/2026 09: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 = 12557
                
13/05/2026 09:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09:24:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:24:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12557
LIMIT 1;
        
13/05/2026 09:24:58 - logentry: =========================================
FECHA: 13/05/2026 09:24:58
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Suqt5_4Y8xZc4NB-i6JCqUTflTiS3ur_t89Ktgz3+XssqWPg1Te
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "74782810",
    "serieinterna": "EP3169",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Ceco - Crt",
    "ciudadmaquina": "Calama",
    "departamentomaquina": "oficina",
    "rutTecnico": "21773342",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega en Pto Seco",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12557",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB5ALYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA9EAABAwMBBQUGBAUCBwAAAAABAAIDBAURIQYSMUFRE2FxgbEUFSKRodEjMkLBM0NS4fE0wmJygpKi0vD\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQIEBQMDAwUAAAAAAAAAAQIDERIhMUEEEyJR0WFxoRSx8CMykUJiweHx\/9oADAMBAAIRAxEAPwD9mREQAREQAVfdb1R2eDfqZBvkfBGPzO\/t3qLftoG2zdpaVntFdNpHENd3PAn7KPaNnH9v7yvT\/aq1xyA45bH07v2CdRSV5GadWTlgp67vZf79CPGdqL5mZkjLXTk5jaR8RHyz6eC+vtu1FHG6oiuwqXsGREW53+7ValF3H6HPplvJ373K2x3iO80RmawxyMduyMPIqyWY2VOLzfmDRoqtB\/1PWnSzSUsh+Hm5005a+HYIiJS4REQAREQAREQAREQAReZJGRRukke1jGjLnOOAB3lZWrvNftBUvt9jBZTggS1fDTu6epTRi2Sq1Y0\/VvRGihuVFUVklHDUMknibvPY3XA8eCKPZrHSWWAsgBdI4fiSu4u+w7kXHa+Q1NzcevUskRFwcKrvt6is9JnG\/Uy5bDGNS49fBcrptNR2yqNM5kk0jBvTCMD8NuNDrpx3RjP6vJVtippb7dH36tDuyY4ijYeAAJ9PXKpGNuqWhlqVrvl031fYmbN2R9JGa+4N37hOS5zn6lgPLx6\/JX6Ikk23dlqdONOOGIRFDutaLfa6mrPGNhLeHHgPrhCV8h5NRTbKPY78apu9Xk\/jVP7uP+5ahUeyFJ7Js9CTjenJlOB14fQBXiao7yZDhotUY3\/L5hERIaAiIgCq2jubrTZpaiIgTOIZGTjRx5+QyfJS7b7V7ugNa4uqCwGQkAHJ5YGiz11f752to7ZHl0NGe1nIOmdD9h4latPJWikZqcnOpKV8ll5CIiQ0hRbhcqS10xnq5QxvIc3HoBzVdetpILY72WmZ7VXP0bCzXBPDOPTiolv2cqK2qFy2geJ5sfBTn8rB0I4eXzynUcryM06zcsFPN\/C9\/BGZDctr5RJUh1JaQ7LWD80n38eHTK1FJR09BTMp6aIRxsGgHqepXZrQ1oa0AADAA5L6uSlfLYelRUOp5t7hERKWCh3W4Mtdtmq3kfAPhB5uOgHzUxY3a6rjqrnDQPefZqRvb1ABxnoPE5AH\/MnhHE7EOIq8um2tdiogt9TX1sNA+QuqawiereTq1mhAOeePix3t6L9GiijghZDEwMjYA1rRwAWf2QonillulQPx6xxdpwDOQAytGmqSu7EeDpYYY3q\/t+ZhERSNoWZ20nMlLS2yIjtayYDHPAP3IWmWWo3C87bTVIdv09uZuM003tR672vcE8Nb9jNxLvFU1rLLz8GlghbT08cLPyxsDRpjQDC6IiQ0pWCIiAC41dSyjpJamQgMiYXHJ6BdlmtsppJoKW0way1soGAeABH7kfIpoq7sSrVOXTcj1sdTSupJ7pUjM9bIXbx47o9Nc+WFo1ypqeOkpoqaFu7HE0NaO4LxW11PbqV1TVSCONvXiT0HUok8UjlOKpU0nsd3ODWlziAAMknksxX36ru1UbZs8d5382qOjWDuP7\/LquBfdNr3kRF9DaxoSfzS\/f08VpqC30ttphT0kQjYOOOLj1J5lNZQ11JYp18o5R77v28kGy7PUtnb2n8aqf8AnnfxPh0VuiJG23dmiEIwjhirIIiLg4REQB4mlZBC+aQ7rI2lzj0A1K\/MomyXy7tY7DH185c\/d1LWDp8jx\/pHitptfW+x7PzNBw+oIiGvXj9AVTbFUgmr56zQsp4xCzdOmeZ89T5q9Ppi5HmcV+rWjS\/n89vubKKJkMTIo2hrGNDWtHIDgF7RFA9MIiIAgXu4e7LRUVQID2twzP8AUdAoeydA+hsrHSg9tUuMr8jXXhny9SoV\/Avd+o7IzJjhPbVJB4Dp44P\/AJBadrQ1oa0AADAA5KjyjbuZY9dZy2jkvffwfURFM1BERABZS1bt82sqboRv09GOzgPInXX1PmFa7TXA22xzytx2kg7Jmep5+QyfJVEVxj2WslNQxQdrcZhvuhGpDj\/VjuwMd3mqwTtluYq848xKWkc3\/gur1faWyU2\/N8crh+HCDq77DvVRQ2OqvlQ2537IbxhpBoGjv6eHHr0Uiy2GY1Pva8u7audq1hwRF08\/RaJcuo5RGVOVZ4qmmy8+D41oa0NaAABgAcl9RFM1hERABERABERAGF2+q3+8KWma7Aij7TzJx\/t+q0ezFv8Ad1igjd+eUdq\/Tm7l5DA8lmLjTm87emmI\/Da9odpn4Wtyf3+a3ytN2gonncNHHXqVX3sgiIonohR6+tit9DNVzfkibvY6nkPM4CkLKbSyvu94pNn6dxDd4SVDh+kf2GT5hNFXZGvU5cLrXRe5K2SpZDSTXSpGamueXl3\/AA8sdOf06LQrzHGyKNscbd1jAGtHQBekSd3calDlwUQiIlKBEUG9VdRQ2moqaVjXSRtyN46NHM9+BrhdSu7CykoxcnsZTbGslqr7S2+mjMr6fB3OO892DjHhj5lX1isIt+9WVju3uE2r5Ha7ueQ+6g7F0RkgmvFUTLUVDyGvcMkAcTnvPotSqzlZYEYuHpY5c+er09OwVHcrxdqaskho7M+ojj\/m5OH\/AAg6aciSOfBXiKSaWqNk4uSsnYzlNtnRumEFwppqCXpI0kD6Z+i0EUsc0bZIpGyMcMtc05B81zqqOmrY+zqoI5m9HtzhZyawXGxymrsE5ez9dJIch3fx1+hT2jLTIhirU\/3dS9Nf43NUip7JtHTXgGEgwVbB8cLvrjr6q4SNNOzLwnGccUXkERFwcIiIAy9kaBtneCQN7AxnjjI\/stQsncpnbPbVC5SMJo61u5I9oyWnA+wPhnotTFLHPE2WF7ZI3jLXNOQQqT2Zl4ZpYobpv5PaIo9bW01vpnVFVKI428zzPQdSpmltJXZzu1wZa7ZNWPwSxvwtP6nHgPmqvZWgmZBLdaz\/AFNcd8ggjdbnT7+GFX0sdTtfcm1lVF2drgcezid\/MP79\/Ll1WvAAGAMAKj6Vh3MtP9afM\/pWnnwfURFM1hERABZ3bKpe23Q2+Entq6URjHQEZ+pHzWiWWiBvG3MkuCYLazdBB03\/APJP\/b5J4a37GbiW8GBayy8\/BoqKlZQ0UNLGcthYGAnnjmu6IkNCSSsgiIg6EREAU182ejupbUwSmmrYv4czdM9AcevJRLVtE+Go913z8GsYd1shHwydNeXjwWkUG62ilu9K6CoYM4+CQD4mHuTqStaRmnSaljp5P4f53JyLJR19z2Vm9muIkraAkblUM5YOh4\/LPgtRT1MFXCJqaZksZ4OYchclFoenWU8tGtjqiIlLHKppoauB0E7A+N4wQdP8LN+4r1Znn3JWiWmyT7PNjQn\/AO46eq1KJlJolUoxnm8n3WpmPa9snAs93UjdMb4cP\/f9l7p9mJqyoFVfqs1cjdWxNOGN7v8AC0iLuN7ZE\/pov9zb9zy1rWMDGNDWtGAAMABekRIaQiIgAiIgDlVTtpaSaof+WJjnnwAyqDYiFwtMtXJkyVMxcXEcQNPXKkbYzvh2cn3DgyFrDpnQnVWNqpxS2mlgH6Img95xr9U+kPczPq4hf2r7\/wDCWiIkNIREQAREQAREQBzmhjqIXwzMD43jDmuGhCpKLZ6otV4EtuqhFQSay07suOccs+uc+Kv0TKTWROdKM2m9UEREpQIiIAIiIAIiIAIiIAIiIAzW3TZHWOJsbS7NS0EAZ5O\/fC0jWhrQ1oAAGAByX1EzeSRONO03Pvb4CIiUoEREAEREAEREAEREAEREAf\/Z",
    "razonSocial": "DSPRINT NUEVAS",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "PATRICIO GONZALEZ",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28664\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28664\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28664\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28664\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R1249\",\"id_control\":\"28664\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "09:24",
    "ubicacionGPS": "LatLng(lat: -23.6618576, lng: -70.3999561)",
    "horaLlegada": "09:16",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 13/05/2026 09:24:58
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Suqt5_4Y8xZc4NB-i6JCqUTflTiS3ur_t89Ktgz3+XssqWPg1Te
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "74782810",
    "serieinterna": "EP3169",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Ceco - Crt",
    "ciudadmaquina": "Calama",
    "departamentomaquina": "oficina",
    "rutTecnico": "21773342",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega en Pto Seco",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12557",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB5ALYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA9EAABAwMBBQUGBAUCBwAAAAABAAIDBAURIQYSMUFRE2FxgbEUFSKRodEjMkLBM0NS4fE0wmJygpKi0vD\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQIEBQMDAwUAAAAAAAAAAQIDERIhMUEEEyJR0WFxoRSx8CMykUJiweHx\/9oADAMBAAIRAxEAPwD9mREQAREQAVfdb1R2eDfqZBvkfBGPzO\/t3qLftoG2zdpaVntFdNpHENd3PAn7KPaNnH9v7yvT\/aq1xyA45bH07v2CdRSV5GadWTlgp67vZf79CPGdqL5mZkjLXTk5jaR8RHyz6eC+vtu1FHG6oiuwqXsGREW53+7ValF3H6HPplvJ373K2x3iO80RmawxyMduyMPIqyWY2VOLzfmDRoqtB\/1PWnSzSUsh+Hm5005a+HYIiJS4REQAREQAREQAREQAReZJGRRukke1jGjLnOOAB3lZWrvNftBUvt9jBZTggS1fDTu6epTRi2Sq1Y0\/VvRGihuVFUVklHDUMknibvPY3XA8eCKPZrHSWWAsgBdI4fiSu4u+w7kXHa+Q1NzcevUskRFwcKrvt6is9JnG\/Uy5bDGNS49fBcrptNR2yqNM5kk0jBvTCMD8NuNDrpx3RjP6vJVtippb7dH36tDuyY4ijYeAAJ9PXKpGNuqWhlqVrvl031fYmbN2R9JGa+4N37hOS5zn6lgPLx6\/JX6Ikk23dlqdONOOGIRFDutaLfa6mrPGNhLeHHgPrhCV8h5NRTbKPY78apu9Xk\/jVP7uP+5ahUeyFJ7Js9CTjenJlOB14fQBXiao7yZDhotUY3\/L5hERIaAiIgCq2jubrTZpaiIgTOIZGTjRx5+QyfJS7b7V7ugNa4uqCwGQkAHJ5YGiz11f752to7ZHl0NGe1nIOmdD9h4latPJWikZqcnOpKV8ll5CIiQ0hRbhcqS10xnq5QxvIc3HoBzVdetpILY72WmZ7VXP0bCzXBPDOPTiolv2cqK2qFy2geJ5sfBTn8rB0I4eXzynUcryM06zcsFPN\/C9\/BGZDctr5RJUh1JaQ7LWD80n38eHTK1FJR09BTMp6aIRxsGgHqepXZrQ1oa0AADAA5L6uSlfLYelRUOp5t7hERKWCh3W4Mtdtmq3kfAPhB5uOgHzUxY3a6rjqrnDQPefZqRvb1ABxnoPE5AH\/MnhHE7EOIq8um2tdiogt9TX1sNA+QuqawiereTq1mhAOeePix3t6L9GiijghZDEwMjYA1rRwAWf2QonillulQPx6xxdpwDOQAytGmqSu7EeDpYYY3q\/t+ZhERSNoWZ20nMlLS2yIjtayYDHPAP3IWmWWo3C87bTVIdv09uZuM003tR672vcE8Nb9jNxLvFU1rLLz8GlghbT08cLPyxsDRpjQDC6IiQ0pWCIiAC41dSyjpJamQgMiYXHJ6BdlmtsppJoKW0way1soGAeABH7kfIpoq7sSrVOXTcj1sdTSupJ7pUjM9bIXbx47o9Nc+WFo1ypqeOkpoqaFu7HE0NaO4LxW11PbqV1TVSCONvXiT0HUok8UjlOKpU0nsd3ODWlziAAMknksxX36ru1UbZs8d5382qOjWDuP7\/LquBfdNr3kRF9DaxoSfzS\/f08VpqC30ttphT0kQjYOOOLj1J5lNZQ11JYp18o5R77v28kGy7PUtnb2n8aqf8AnnfxPh0VuiJG23dmiEIwjhirIIiLg4REQB4mlZBC+aQ7rI2lzj0A1K\/MomyXy7tY7DH185c\/d1LWDp8jx\/pHitptfW+x7PzNBw+oIiGvXj9AVTbFUgmr56zQsp4xCzdOmeZ89T5q9Ppi5HmcV+rWjS\/n89vubKKJkMTIo2hrGNDWtHIDgF7RFA9MIiIAgXu4e7LRUVQID2twzP8AUdAoeydA+hsrHSg9tUuMr8jXXhny9SoV\/Avd+o7IzJjhPbVJB4Dp44P\/AJBadrQ1oa0AADAA5KjyjbuZY9dZy2jkvffwfURFM1BERABZS1bt82sqboRv09GOzgPInXX1PmFa7TXA22xzytx2kg7Jmep5+QyfJVEVxj2WslNQxQdrcZhvuhGpDj\/VjuwMd3mqwTtluYq848xKWkc3\/gur1faWyU2\/N8crh+HCDq77DvVRQ2OqvlQ2537IbxhpBoGjv6eHHr0Uiy2GY1Pva8u7audq1hwRF08\/RaJcuo5RGVOVZ4qmmy8+D41oa0NaAABgAcl9RFM1hERABERABERAGF2+q3+8KWma7Aij7TzJx\/t+q0ezFv8Ad1igjd+eUdq\/Tm7l5DA8lmLjTm87emmI\/Da9odpn4Wtyf3+a3ytN2gonncNHHXqVX3sgiIonohR6+tit9DNVzfkibvY6nkPM4CkLKbSyvu94pNn6dxDd4SVDh+kf2GT5hNFXZGvU5cLrXRe5K2SpZDSTXSpGamueXl3\/AA8sdOf06LQrzHGyKNscbd1jAGtHQBekSd3calDlwUQiIlKBEUG9VdRQ2moqaVjXSRtyN46NHM9+BrhdSu7CykoxcnsZTbGslqr7S2+mjMr6fB3OO892DjHhj5lX1isIt+9WVju3uE2r5Ha7ueQ+6g7F0RkgmvFUTLUVDyGvcMkAcTnvPotSqzlZYEYuHpY5c+er09OwVHcrxdqaskho7M+ojj\/m5OH\/AAg6aciSOfBXiKSaWqNk4uSsnYzlNtnRumEFwppqCXpI0kD6Z+i0EUsc0bZIpGyMcMtc05B81zqqOmrY+zqoI5m9HtzhZyawXGxymrsE5ez9dJIch3fx1+hT2jLTIhirU\/3dS9Nf43NUip7JtHTXgGEgwVbB8cLvrjr6q4SNNOzLwnGccUXkERFwcIiIAy9kaBtneCQN7AxnjjI\/stQsncpnbPbVC5SMJo61u5I9oyWnA+wPhnotTFLHPE2WF7ZI3jLXNOQQqT2Zl4ZpYobpv5PaIo9bW01vpnVFVKI428zzPQdSpmltJXZzu1wZa7ZNWPwSxvwtP6nHgPmqvZWgmZBLdaz\/AFNcd8ggjdbnT7+GFX0sdTtfcm1lVF2drgcezid\/MP79\/Ll1WvAAGAMAKj6Vh3MtP9afM\/pWnnwfURFM1hERABZ3bKpe23Q2+Entq6URjHQEZ+pHzWiWWiBvG3MkuCYLazdBB03\/APJP\/b5J4a37GbiW8GBayy8\/BoqKlZQ0UNLGcthYGAnnjmu6IkNCSSsgiIg6EREAU182ejupbUwSmmrYv4czdM9AcevJRLVtE+Go913z8GsYd1shHwydNeXjwWkUG62ilu9K6CoYM4+CQD4mHuTqStaRmnSaljp5P4f53JyLJR19z2Vm9muIkraAkblUM5YOh4\/LPgtRT1MFXCJqaZksZ4OYchclFoenWU8tGtjqiIlLHKppoauB0E7A+N4wQdP8LN+4r1Znn3JWiWmyT7PNjQn\/AO46eq1KJlJolUoxnm8n3WpmPa9snAs93UjdMb4cP\/f9l7p9mJqyoFVfqs1cjdWxNOGN7v8AC0iLuN7ZE\/pov9zb9zy1rWMDGNDWtGAAMABekRIaQiIgAiIgDlVTtpaSaof+WJjnnwAyqDYiFwtMtXJkyVMxcXEcQNPXKkbYzvh2cn3DgyFrDpnQnVWNqpxS2mlgH6Img95xr9U+kPczPq4hf2r7\/wDCWiIkNIREQAREQAREQBzmhjqIXwzMD43jDmuGhCpKLZ6otV4EtuqhFQSay07suOccs+uc+Kv0TKTWROdKM2m9UEREpQIiIAIiIAIiIAIiIAIiIAzW3TZHWOJsbS7NS0EAZ5O\/fC0jWhrQ1oAAGAByX1EzeSRONO03Pvb4CIiUoEREAEREAEREAEREAEREAf\/Z",
    "razonSocial": "DSPRINT NUEVAS",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "PATRICIO GONZALEZ",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28664\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28664\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28664\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28664\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R1249\",\"id_control\":\"28664\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "09:24",
    "ubicacionGPS": "LatLng(lat: -23.6618576, lng: -70.3999561)",
    "horaLlegada": "09:16",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


13/05/2026 09:24:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:74782810

[13/05/2026 09:24: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('74782810', 'EP3169', 1, 21773342, 0, NOW(), 
				'08:00', '09:16', '09:24', 1, 'entrega en Pto Seco', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778678698.png', '', null, 'COMPLETADO','LatLng(lat: -23.6618576, lng: -70.3999561)' )
				
[13/05/2026 09:24:58] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200296

13/05/2026 09:24:58 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '74782810'
				   AND serieintmaquina = 'EP3169'
		
13/05/2026 09:24:58 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP3169'
				   AND estado = 1
				
13/05/2026 09:24:58 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('74782810', 'EP3169', 2, 1, now(), 'Ceco - Crt', 'Calama', 'oficina');
				
=========================================
FECHA: 13/05/2026 09:24:58
listaInsumosUsadosConsolidado===

idReport:200296

idInventario:EPS-I1240

idControl:28664

cantidadAsignada:1

cantidadUsada:1

[13/05/2026 09:24:58] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200296', 'EPS-I1240', 1)
				
[13/05/2026 09:24:58] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28664 and
				    IDproducto = 'EPS-I1240'
				

13/05/2026 09:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09:24:58 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1240';
                
=========================================
FECHA: 13/05/2026 09:24:58
listaInsumosUsadosConsolidado===

idReport:200296

idInventario:EPS-I1241

idControl:28664

cantidadAsignada:1

cantidadUsada:1

[13/05/2026 09:24:58] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200296', 'EPS-I1241', 1)
				
[13/05/2026 09:24:58] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28664 and
				    IDproducto = 'EPS-I1241'
				

13/05/2026 09:24:58 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1241';
                
=========================================
FECHA: 13/05/2026 09:24:58
listaInsumosUsadosConsolidado===

idReport:200296

idInventario:EPS-I1242

idControl:28664

cantidadAsignada:1

cantidadUsada:1

[13/05/2026 09:24:58] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200296', 'EPS-I1242', 1)
				
[13/05/2026 09:24:58] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28664 and
				    IDproducto = 'EPS-I1242'
				

13/05/2026 09:24:58 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1242';
                
=========================================
FECHA: 13/05/2026 09:24:58
listaInsumosUsadosConsolidado===

idReport:200296

idInventario:EPS-I1243

idControl:28664

cantidadAsignada:1

cantidadUsada:1

[13/05/2026 09:24:58] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200296', 'EPS-I1243', 1)
				
[13/05/2026 09:24:58] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28664 and
				    IDproducto = 'EPS-I1243'
				

13/05/2026 09:24:58 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1243';
                
=========================================
FECHA: 13/05/2026 09:24:58
listaInsumosUsadosConsolidado===

idReport:200296

idInventario:EPS-R1249

idControl:28664

cantidadAsignada:1

cantidadUsada:1

[13/05/2026 09:24:58] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200296', 'EPS-R1249', 1)
				
[13/05/2026 09:24:58] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28664 and
				    IDproducto = 'EPS-R1249'
				

13/05/2026 09:24:58 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R1249';
                
13/05/2026 09:24:58 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200296'                    
				WHERE idllamado = 12557			
				TO ENVIO: null, tecnico@dsprint.cl


13/05/2026 09:24:59 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12557			
				
13/05/2026 09:24:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


13/05/2026 09:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09:25:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:25:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12557
LIMIT 1;
        
13/05/2026 09:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                
13/05/2026 09:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                [13/05/2026 09:25: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;
                

13/05/2026 09:25:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:25:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12557
LIMIT 1;
        
13/05/2026 09:25:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:25:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12557
LIMIT 1;
        
13/05/2026 09:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12557
                [13/05/2026 09:25: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;
                

13/05/2026 09: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 = 12557
                
13/05/2026 09: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 = 12557
                
13/05/2026 09: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 = 12557
                
13/05/2026 09:25:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:25:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        [13/05/2026 09:25: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;
                

13/05/2026 09:25:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:25:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        [13/05/2026 09:25: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;
                

13/05/2026 09:25:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:25:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        
13/05/2026 09: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 = 12556
                
13/05/2026 09: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 = 12556
                
13/05/2026 09:25:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:25:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                [13/05/2026 09:25: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;
                

13/05/2026 09:25:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:25:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        
13/05/2026 09:25:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:25:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        [13/05/2026 09:25: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;
                

13/05/2026 09:25:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:25:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        
13/05/2026 09:25:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:25:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        
13/05/2026 09: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 = 12556
                
13/05/2026 09: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 = 12556
                
13/05/2026 09:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:25:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:25:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:25:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:25:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        
13/05/2026 09:25:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:25:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:25:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:25:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        
13/05/2026 09:25:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:25:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:26:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:26:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        
13/05/2026 09:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:26:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:26:42 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        
13/05/2026 09:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:27:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:27:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        
13/05/2026 09:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:27:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:27:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        
13/05/2026 09:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09: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 = 12556
                
13/05/2026 09:28:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:28:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        
13/05/2026 09: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 = 12556
                
13/05/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 = 12556
                
13/05/2026 09:28:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:28:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        
13/05/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 = 12556
                
13/05/2026 09:28:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:28:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        
13/05/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 = 12556
                
13/05/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 = 12556
                
13/05/2026 09:28:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:28:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09: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 = 12556
                
13/05/2026 09: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 = 12556
                
13/05/2026 09:28:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:28:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:28:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        
13/05/2026 09:28:15 - logentry: =========================================
FECHA: 13/05/2026 09:28:15
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-R9nwglI7tGLW53xiXwRUsPxAV7TfRNbzujFVuukxI2X+j9JJ6lk
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "74782810",
    "serieinterna": "EP3170",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Ceco - Crt",
    "ciudadmaquina": "Calama",
    "departamentomaquina": "oficina",
    "rutTecnico": "21773342",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega en Pto Seco",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12556",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABTAKwDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFAwQCBwH\/xAA8EAABAwMCAwUFAwsFAAAAAAABAAIDBAURBiESMVETQXGBoSJhkbHBFCPRFRYlMjNCUpLh8PEHJENzsv\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADARAAIBAwEECAUFAAAAAAAAAAABAgMRMSESEyJBBDJRYZGhwdEjceHw8RRCUmKB\/9oADAMBAAIRAxEAPwD9mWTqC8OtNLH2DBLUzPDYoz37jPj3DzWspi2EX3VFRcnHNPQ\/dU46u39r5nzHRXill8jCvJpKEcv7bKVhcY2l7Q1xA4mg5wfFfM00dPC+aZ4ZGwZc5x2AXRSd4q5NRXNlkoJCaZpzVStGRseWfdj4+CiMbsmrU3ce1vHezVoNT2y41rqSCRweDhpeA0P5\/q778vVa6xrpp2mrLVHSQ5ikpm\/7d4O7SBtnxXxpm7y11NJSVpxXUp4ZGu2JHX6H+qlpNXiUhUnGahU54fobiIiodIREQBERAFzmlZTwSTSHDI2lzj7gMropzWVW8UEFugce2rpQwAfw5H1I9VaKu7GdWpu4OR7NOXKru1udVVUTYw6RwjIPNv8AQ5Hl8ddeehpGUFDDSRklsTA0E9\/vXoUSs3oTTUlBKTuwi+XvZGwvkcGNaMlzjgBZ0+orPTZ7S4QkjuYeP5ZRJvBMpxj1nY00U1JregdIY6SmqKl+NsN4Qfr6L6p7pqK41EZgtTKSm4hxuqCeIjv6Hce5W2JczH9TTbtF3+RRoiKh0Gffqz7BZKqoBAcGcLc9TsPmvNpSjFHp6n\/imHau2xz5emF4dZySVDKG1Q7vq5twBkgDb6+ipWMbGxrGDDWgADoFo9IfM5Y8Vdv+Kt46mRqe8G1W7hhBNTUkxxAcxtu7yyPMhdbBaGWe3NiO88mHzOO+XY5Z6D++ayKMt1Hqp1aMOo7cMREcnv7jy8\/IdVVpLhWyKXxJurywvVhS93Z+TdX2yshPB9sPZStH7xyBk\/zD4KoUzWn8r6ypaaPeO2t7WR2MgOODj\/z69FEMk9J6qSzdW8fYpkRFQ6QiIgCIiAKWi\/S2u5JOcNtj4RvtxcvmT\/KqGuqm0NDPVP3ETC7HXA5KBsJvFfHUUtvHZmok46msOxA6Z8ydt9+7da046NnD0qolOELX5+GPMsrpqK3WkFs83HKP+KPd3n081li56jvLf0dRR0UDxtPOd+Xd\/gr3WvS1uthEhZ9on59rLvg+4ch81tKLxWNTRQq1Ou7LsXv7EvHo01R7S73Ooqn45NOAPM5z6LTg0zZafHBb4nf9mX\/PK1UUOcnzLx6PSjiPqc4oYoGcEMTI29GNAHouiIqG+AiIgJipzV\/6gUrCQWUsBdjocH8R6L1atuZt9pMMJP2irPZRgc8fvH4beJC8ts++15c5uYjhDPA+yPoV8wAX3WL6g5dS20cMZxs5\/j45PkFvbVX5I87aexJRzKTX3\/iNiw2wWm0w02B2mOOUjveefw5eS0URYt3d2d8YqEVFYRn3u6ss9skq3AOcCGxsJxxOPd8z5LyaWt76S2GpqMmqrXdtK489+Q9c+JKzQPzq1GXh3HbKHAxkgSO33Hn6AdVWq74VY56fxam85LRer9AiIszqCIiAIiICN1y+vfNS0jHAU05w1gdu9+e\/3bhVVFRxUFHFSwNDWRtxsMZPeVPPaLvrpoOHQ26PPL9\/\/JHwVStJvhSOShG9SdTvt4fU8NHdqStrKikic4TU5w9rhjvxt1XuU3qG2VFNUsvlrGKmHeZjR+0b37d+y1rTdqa8UbaincM4HHHndh6H8VDjpdGlOo9t0555d6PciIqG4REQBERARbKs0N41HUt\/WZH7Pidh6lbOkqIUthikLAJKkmV5AxnPLyxhSOoHuivNzpWjL6mVmAOnP8F+iwxCCCOJvKNoaPIYW9TSK7zzei8VWX9b+bZ0WFqq6Oo6IUNOC6rrfu4w3mASAT64H9FrVlZBQUklVUv4I4xkn6BTunaWe7V0moLgwBzvZp4y3Zo\/iHqPiVnBfuZ015N2pRy\/Jdps2O1stFripRu\/9aR2Objz+g8loIiq3d3ZvGKhFRWEERFBYIiIAuFbVMoaKaqkGWwsLyB347l3U7rSeQWmOiha50lZK2MAd\/fj44Voq7SMq09im5H80bSPbQzXKYHtq6QvJPQE\/UlUa4UVM2jooaZgHDEwM278Bd0k7u4ow3dNRClrzYqi31RvNjyyZpzLABs8d+B8x8N1UokZOLFWlGorP8GbZr1T3im42fdztH3sLju0\/Ue9aSnbxp+VlSLrZcQ1rDl0bcBsvXbqfVd7LqSC5E01S37JWsPC6GQ44j7s\/Lmpcbq8TOFVxe7q55Pk\/r3G2iIqHSEREBF6jgp\/z0trpCAJTHxjwdgZ8eSs3ODWlziAAMknuWbebHS3mnLJWhsoGGSgDiaM5wsl+nr7XRiluN5DqUEbRj2ngddhnu5k9VrpJK7wcSU6U5NRvta\/k4OfJrG6uga9zLVSuySBgyn+8+AVcxjY42xsaGtaAGgdwXGioqe30rKamjDI2DYdfefevQqSlfRYNqNJwvKWsnkIiKpuEREAREQBTFxBrNc2+DHs00RlJPXf8AqdfPC3j4+EcWMZxvhWi7GVWnvEl3p+B9IiKpqEREAWTedPUl4AkcTDVNADJ2c24OeWd1rIpTad0UnCM1syV0SkV6umn5RT3yJ09NnEdVGMk+O\/z38VS0tXT1sDZ6aVssbuTmlfcsUc8TopmNkjeMOa4ZBCnZ9JyUlQ6qsda+jkJ\/ZuOWH3eGcc8q\/DLOjOe1WljiXmvcpUU1FqWqtsjafUFE6Ak4bUxDiY7+\/d8AqCnqYKuETU0zJYzycw5Cq4tG1OrCeiz2czqiIqmoREQBERAEREAREQBERAEREAREQBERAEREB8SxRzRujljbIxww5rhkHyXKioKW3QmGkhEUbnF5aM8yiJcjZV721P\/9k=",
    "razonSocial": "DSPRINT NUEVAS",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "PATRICIO GONZALEZ",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28662\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28663\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28663\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28663\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28663\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R1249\",\"id_control\":\"28663\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "09:28",
    "ubicacionGPS": "LatLng(lat: -23.6618354, lng: -70.3999407)",
    "horaLlegada": "09:16",
    "horaDespacho": "09:24",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 13/05/2026 09:28:15
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-R9nwglI7tGLW53xiXwRUsPxAV7TfRNbzujFVuukxI2X+j9JJ6lk
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "74782810",
    "serieinterna": "EP3170",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Ceco - Crt",
    "ciudadmaquina": "Calama",
    "departamentomaquina": "oficina",
    "rutTecnico": "21773342",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega en Pto Seco",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12556",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABTAKwDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFAwQCBwH\/xAA8EAABAwMCAwUFAwsFAAAAAAABAAIDBAURBiESMVETQXGBoSJhkbHBFCPRFRYlMjNCUpLh8PEHJENzsv\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADARAAIBAwEECAUFAAAAAAAAAAABAgMRMSESEyJBBDJRYZGhwdEjceHw8RRCUmKB\/9oADAMBAAIRAxEAPwD9mWTqC8OtNLH2DBLUzPDYoz37jPj3DzWspi2EX3VFRcnHNPQ\/dU46u39r5nzHRXill8jCvJpKEcv7bKVhcY2l7Q1xA4mg5wfFfM00dPC+aZ4ZGwZc5x2AXRSd4q5NRXNlkoJCaZpzVStGRseWfdj4+CiMbsmrU3ce1vHezVoNT2y41rqSCRweDhpeA0P5\/q778vVa6xrpp2mrLVHSQ5ikpm\/7d4O7SBtnxXxpm7y11NJSVpxXUp4ZGu2JHX6H+qlpNXiUhUnGahU54fobiIiodIREQBERAFzmlZTwSTSHDI2lzj7gMropzWVW8UEFugce2rpQwAfw5H1I9VaKu7GdWpu4OR7NOXKru1udVVUTYw6RwjIPNv8AQ5Hl8ddeehpGUFDDSRklsTA0E9\/vXoUSs3oTTUlBKTuwi+XvZGwvkcGNaMlzjgBZ0+orPTZ7S4QkjuYeP5ZRJvBMpxj1nY00U1JregdIY6SmqKl+NsN4Qfr6L6p7pqK41EZgtTKSm4hxuqCeIjv6Hce5W2JczH9TTbtF3+RRoiKh0Gffqz7BZKqoBAcGcLc9TsPmvNpSjFHp6n\/imHau2xz5emF4dZySVDKG1Q7vq5twBkgDb6+ipWMbGxrGDDWgADoFo9IfM5Y8Vdv+Kt46mRqe8G1W7hhBNTUkxxAcxtu7yyPMhdbBaGWe3NiO88mHzOO+XY5Z6D++ayKMt1Hqp1aMOo7cMREcnv7jy8\/IdVVpLhWyKXxJurywvVhS93Z+TdX2yshPB9sPZStH7xyBk\/zD4KoUzWn8r6ypaaPeO2t7WR2MgOODj\/z69FEMk9J6qSzdW8fYpkRFQ6QiIgCIiAKWi\/S2u5JOcNtj4RvtxcvmT\/KqGuqm0NDPVP3ETC7HXA5KBsJvFfHUUtvHZmok46msOxA6Z8ydt9+7da046NnD0qolOELX5+GPMsrpqK3WkFs83HKP+KPd3n081li56jvLf0dRR0UDxtPOd+Xd\/gr3WvS1uthEhZ9on59rLvg+4ch81tKLxWNTRQq1Ou7LsXv7EvHo01R7S73Ooqn45NOAPM5z6LTg0zZafHBb4nf9mX\/PK1UUOcnzLx6PSjiPqc4oYoGcEMTI29GNAHouiIqG+AiIgJipzV\/6gUrCQWUsBdjocH8R6L1atuZt9pMMJP2irPZRgc8fvH4beJC8ts++15c5uYjhDPA+yPoV8wAX3WL6g5dS20cMZxs5\/j45PkFvbVX5I87aexJRzKTX3\/iNiw2wWm0w02B2mOOUjveefw5eS0URYt3d2d8YqEVFYRn3u6ss9skq3AOcCGxsJxxOPd8z5LyaWt76S2GpqMmqrXdtK489+Q9c+JKzQPzq1GXh3HbKHAxkgSO33Hn6AdVWq74VY56fxam85LRer9AiIszqCIiAIiICN1y+vfNS0jHAU05w1gdu9+e\/3bhVVFRxUFHFSwNDWRtxsMZPeVPPaLvrpoOHQ26PPL9\/\/JHwVStJvhSOShG9SdTvt4fU8NHdqStrKikic4TU5w9rhjvxt1XuU3qG2VFNUsvlrGKmHeZjR+0b37d+y1rTdqa8UbaincM4HHHndh6H8VDjpdGlOo9t0555d6PciIqG4REQBERARbKs0N41HUt\/WZH7Pidh6lbOkqIUthikLAJKkmV5AxnPLyxhSOoHuivNzpWjL6mVmAOnP8F+iwxCCCOJvKNoaPIYW9TSK7zzei8VWX9b+bZ0WFqq6Oo6IUNOC6rrfu4w3mASAT64H9FrVlZBQUklVUv4I4xkn6BTunaWe7V0moLgwBzvZp4y3Zo\/iHqPiVnBfuZ015N2pRy\/Jdps2O1stFripRu\/9aR2Objz+g8loIiq3d3ZvGKhFRWEERFBYIiIAuFbVMoaKaqkGWwsLyB347l3U7rSeQWmOiha50lZK2MAd\/fj44Voq7SMq09im5H80bSPbQzXKYHtq6QvJPQE\/UlUa4UVM2jooaZgHDEwM278Bd0k7u4ow3dNRClrzYqi31RvNjyyZpzLABs8d+B8x8N1UokZOLFWlGorP8GbZr1T3im42fdztH3sLju0\/Ue9aSnbxp+VlSLrZcQ1rDl0bcBsvXbqfVd7LqSC5E01S37JWsPC6GQ44j7s\/Lmpcbq8TOFVxe7q55Pk\/r3G2iIqHSEREBF6jgp\/z0trpCAJTHxjwdgZ8eSs3ODWlziAAMknuWbebHS3mnLJWhsoGGSgDiaM5wsl+nr7XRiluN5DqUEbRj2ngddhnu5k9VrpJK7wcSU6U5NRvta\/k4OfJrG6uga9zLVSuySBgyn+8+AVcxjY42xsaGtaAGgdwXGioqe30rKamjDI2DYdfefevQqSlfRYNqNJwvKWsnkIiKpuEREAREQBTFxBrNc2+DHs00RlJPXf8AqdfPC3j4+EcWMZxvhWi7GVWnvEl3p+B9IiKpqEREAWTedPUl4AkcTDVNADJ2c24OeWd1rIpTad0UnCM1syV0SkV6umn5RT3yJ09NnEdVGMk+O\/z38VS0tXT1sDZ6aVssbuTmlfcsUc8TopmNkjeMOa4ZBCnZ9JyUlQ6qsda+jkJ\/ZuOWH3eGcc8q\/DLOjOe1WljiXmvcpUU1FqWqtsjafUFE6Ak4bUxDiY7+\/d8AqCnqYKuETU0zJYzycw5Cq4tG1OrCeiz2czqiIqmoREQBERAEREAREQBERAEREAREQBERAEREB8SxRzRujljbIxww5rhkHyXKioKW3QmGkhEUbnF5aM8yiJcjZV721P\/9k=",
    "razonSocial": "DSPRINT NUEVAS",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "PATRICIO GONZALEZ",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28662\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28663\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28663\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28663\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28663\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R1249\",\"id_control\":\"28663\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "09:28",
    "ubicacionGPS": "LatLng(lat: -23.6618354, lng: -70.3999407)",
    "horaLlegada": "09:16",
    "horaDespacho": "09:24",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


13/05/2026 09:28:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:74782810

[13/05/2026 09:28: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('74782810', 'EP3170', 1, 21773342, 0, NOW(), 
				'09:24', '09:16', '09:28', 1, 'entrega en Pto Seco', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778678895.png', '', null, 'COMPLETADO','LatLng(lat: -23.6618354, lng: -70.3999407)' )
				
[13/05/2026 09:28:15] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200297

13/05/2026 09:28:15 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '74782810'
				   AND serieintmaquina = 'EP3170'
		
13/05/2026 09:28:15 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP3170'
				   AND estado = 1
				
13/05/2026 09:28:15 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('74782810', 'EP3170', 2, 1, now(), 'Ceco - Crt', 'Calama', 'oficina');
				
=========================================
FECHA: 13/05/2026 09:28:15
listaInsumosUsadosConsolidado===

idReport:200297

idInventario:EPS-I302

idControl:28662

cantidadAsignada:1

cantidadUsada:1

[13/05/2026 09:28:15] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200297', 'EPS-I302', 1)
				
[13/05/2026 09:28:15] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28662 and
				    IDproducto = 'EPS-I302'
				

13/05/2026 09:28:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:28:15 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I302';
                
=========================================
FECHA: 13/05/2026 09:28:15
listaInsumosUsadosConsolidado===

idReport:200297

idInventario:EPS-I1240

idControl:28663

cantidadAsignada:1

cantidadUsada:1

[13/05/2026 09:28:15] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200297', 'EPS-I1240', 1)
				
[13/05/2026 09:28:15] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28663 and
				    IDproducto = 'EPS-I1240'
				

13/05/2026 09:28:15 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1240';
                
=========================================
FECHA: 13/05/2026 09:28:15
listaInsumosUsadosConsolidado===

idReport:200297

idInventario:EPS-I1241

idControl:28663

cantidadAsignada:1

cantidadUsada:1

[13/05/2026 09:28:15] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200297', 'EPS-I1241', 1)
				
[13/05/2026 09:28:15] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28663 and
				    IDproducto = 'EPS-I1241'
				

13/05/2026 09:28:15 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1241';
                
=========================================
FECHA: 13/05/2026 09:28:15
listaInsumosUsadosConsolidado===

idReport:200297

idInventario:EPS-I1242

idControl:28663

cantidadAsignada:1

cantidadUsada:1

[13/05/2026 09:28:15] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200297', 'EPS-I1242', 1)
				
[13/05/2026 09:28:15] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28663 and
				    IDproducto = 'EPS-I1242'
				

13/05/2026 09:28:15 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1242';
                
=========================================
FECHA: 13/05/2026 09:28:15
listaInsumosUsadosConsolidado===

idReport:200297

idInventario:EPS-I1243

idControl:28663

cantidadAsignada:1

cantidadUsada:1

[13/05/2026 09:28:15] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200297', 'EPS-I1243', 1)
				
[13/05/2026 09:28:15] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28663 and
				    IDproducto = 'EPS-I1243'
				

13/05/2026 09:28:15 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1243';
                
=========================================
FECHA: 13/05/2026 09:28:15
listaInsumosUsadosConsolidado===

idReport:200297

idInventario:EPS-R1249

idControl:28663

cantidadAsignada:1

cantidadUsada:1

[13/05/2026 09:28:15] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200297', 'EPS-R1249', 1)
				
[13/05/2026 09:28:15] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28663 and
				    IDproducto = 'EPS-R1249'
				

13/05/2026 09:28:15 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R1249';
                
13/05/2026 09:28:15 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200297'                    
				WHERE idllamado = 12556			
				TO ENVIO: null, tecnico@dsprint.cl


13/05/2026 09:28:15 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12556			
				
13/05/2026 09:28:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


13/05/2026 09:28:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:28:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:28:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:28:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        
13/05/2026 09:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                [13/05/2026 09: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;
                

13/05/2026 09:28:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:28:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        
13/05/2026 09:28:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:28:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        
13/05/2026 09:28:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:28:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:28:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:28:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        
13/05/2026 09:28:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        [13/05/2026 09: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;
                

13/05/2026 09:28:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        
13/05/2026 09:28:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:28:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                [13/05/2026 09:28: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;
                

13/05/2026 09:28:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:28:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:28:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:28:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                [13/05/2026 09:28: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;
                
[13/05/2026 09:28:49] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[13/05/2026 09:28:49] 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;
                

13/05/2026 09:28:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:28:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        [13/05/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;
                

13/05/2026 09:28:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                [13/05/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;
                

13/05/2026 09:28:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:28:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        
13/05/2026 09:28:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:28:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        [13/05/2026 09:28: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

13/05/2026 09:28:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:28:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:28:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:28:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
13/05/2026 09:28:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12556
LIMIT 1;
        [13/05/2026 09:28:56] 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;
                

13/05/2026 09:28:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:28:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:28:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                
13/05/2026 09:28:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12556
                [13/05/2026 09:40:39] 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;
                
[13/05/2026 09:40: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[13/05/2026 09:40:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 09:40:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12516
            GROUP BY l.idllamado;
            [13/05/2026 09:40: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;
                

13/05/2026 09:40:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12516
            GROUP BY l.idllamado;
            
13/05/2026 09:40:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12516
            GROUP BY l.idllamado;
            [13/05/2026 09:40: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;
                

13/05/2026 09: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 = 12516
                
13/05/2026 09: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 = 12516
                
13/05/2026 09: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 = 12516
                
13/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12516
            GROUP BY l.idllamado;
            
13/05/2026 09: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 = 12516
                
13/05/2026 09: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 = 12516
                
13/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12516
            GROUP BY l.idllamado;
            
13/05/2026 09: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 = 12516
                
13/05/2026 09: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 = 12516
                
13/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12516
            GROUP BY l.idllamado;
            
13/05/2026 09: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 = 12516
                
13/05/2026 09: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 = 12516
                
13/05/2026 09: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 = 12516
                
13/05/2026 09:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12516
            GROUP BY l.idllamado;
            
13/05/2026 09:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/2026 09:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/2026 09:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12516
            GROUP BY l.idllamado;
            
13/05/2026 09:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/2026 09:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12516
            GROUP BY l.idllamado;
            
13/05/2026 09:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/2026 09:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/2026 09:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/2026 09:41:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/2026 09:41:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12516
            GROUP BY l.idllamado;
            
13/05/2026 09:41:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/2026 09:41:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12516
            GROUP BY l.idllamado;
            
13/05/2026 09:41:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/2026 09:41:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/2026 09:41:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/2026 09:41:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12516
            GROUP BY l.idllamado;
            
13/05/2026 09:41:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/2026 09:42:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/2026 09:42:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/2026 09: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 = 12516
                
13/05/2026 09:42:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12516
            GROUP BY l.idllamado;
            
13/05/2026 09: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 = 12516
                
13/05/2026 09:42:13 - logentry: =========================================
FECHA: 13/05/2026 09:42:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-_GReHYepjn6AKYA_nz-CETRxIe0y-jr+HeK+YXufeE37Fty-VSm
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76148340",
    "serieinterna": "TO2005",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "1534993",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se hace cambio de grilla",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12516",
    "observacion": "Cambio de RGR2431",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADfATEDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCBwH\/xABQEAABAwMBAwgFBQsKBAcAAAABAAIDBAURBhIhMRNBUWGBkaGxFCJxwdEVIzJCshYzNlJTYnKiwtLwByQlN0NzdIKS4SY0NURUVWR10+Lx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QANBEAAgECBAMGBQMEAwAAAAAAAAECAxEEEiExQVFxEyIyYYGRFDOxwdEjQqE0UmLwcuHx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQHlU1EVJTSVEztmONpc49QU1FPqDUDnVNFUR0VFlwjcRvfzZ6ebjuX3q2aWrno7HA7Dqp4dJv+qDu7NxPYqOngjpqeOCJoayNoa0AYVi7qvxZklerUcb2S5cWTht2qqON0sF0jqnj+zeOPsz\/suu0alirZzRVkfolc1xaYncD7D0rcWTfrFFeKYOB5OqiGYpRxB6D1eSZlLSR10p0+9Td\/J\/7oayLC03epKxj7fXgsr6bc8O+uBuz7elbqg007Mvp1FUjmQREXCYREQBERAEREAREQBERAEREAXO+tpo62OjdKBPK0uYzB3gc\/guhS+owItTWOYDe+XYyOP0m\/vKUVd2Kq1R045lzX1KhERRLQiIgCIiAIiIAiIgCIiAIiIAiIgCIv4SAMk4AQEtbcV+ua+pcARSM5NmBwP0f3lVKY0SDNBX17h61TUnOeJxv\/AGiqdWVPFYzYXWnm5tsIiKs0kxqqI26qpL7Ts+chkDJtndttPT5doVJDKyeFk0TtqORoc13SDvBXhc6UV1sqKY\/2kZA3Z383iszRtUanT0TXbzA4x8ejePAhWPWF+Rmj3K7XCSv6o3URFWaQiIgCIiAIiIAiIgCIiAIiIApjWnzfyZU\/kqkbu4+5U6ntbw8rp5z\/AMjK1\/m39pTp+JGbFK9GRQovGkm9Jo4J\/wArG1\/eMr2UDQndXCIiHQiIgCIiAIiIAiIgCIiAIiIAuW5v5O1Vb842YHnPR6pXUuC+uLbDXkf+HeO8ELq3IVHaDZwaMZsabgd+O97v1iPct5Y+k2humaMDoce9xWwuz8TIYdWox6IIiKJcFMaJJbBXxE52Kk4P8exU6mNFEPiuEjTlr6k4P8e0KcfCzNU+dD1KdERQNIREQBERAEREAREQBERAEREAWZqSET6drWHmiLuH4u\/3LTXnURCemlhPCRhae0YXU7O5Ccc0HHmZ2mZuX05RP6I9j\/SS33LVU5oaUvsLozuMMzm46OB95VGuzVpMhh5ZqUX5BERRLgiIgCIiAIiIAiIgCIiAIiIAsvUjtnTtac4+awtRZGqvwarf0R9oKUfEiqt8qXRn3ptuzp2iGMfNZWovzOkrrm2mbdIZiIqDk4uTyQCDkdvAd6\/SIJmVFPHOw5ZIwPaeojKlUjZ3KMLXVSOVK1kj0REVZsOK71ot9pqao5+bYdnH4x3DxIXBo+jNHp6EuBDpyZSD17h4ALi1VJ8o3GgsUTyDK\/lJtnmb\/wDmT3KnYxscbWMGGtAAHQFY9IW5mWPfruXCOnq9z6REVZqCIiAIiIAiIgCIiAIiIAiIgCIiAmNK\/wA2ut4oeAjn2mDqyR5YVOpeE+h\/yhTM5quDI9oAP7JVQrKm9zNhtIOPJtfyERFWaQiIgCIiAIiIAiIgCIiAIiIAsjVX4NVv6I+0FrrI1V+DVb+iPtBSh4kVV\/lS6MnrFRh2h7o9\/CQPcP8AK3I8QqHSkjpdNUbncQ1zewOIHkuOgh5DQD2\/jUcr+8OPvXTpD8F6P\/P9tysm7p9TJh45ZwX+P3RtLyqaiKkpZamZ2zHE0uceoL1UleZzqW6xWWikPo0TtupmaMgEZ3fxznqVcY3ZqrVOzjpu9j30vDJcKuqv9SDtTuMcAP1WA78cfZ2FUy84YYqeFkMLAyNgw1rRuAXoknd3O0qfZwtx49TznmZTU8k8pxHEwvccZwAMlZ1o1DRXh744XbMrN+w48Ru3jvX3qFwbp+uJ\/IuHepR9FJb7FbL\/AEnqzQACbB3OaXHGe\/Hb1KcYprUor1p06mmyV2XqLzgmZUwRzxnLJGhzT1FeiqNidwiIgCzL9eBZqET8kZZHu2GN68c601Maww6otER4OqRv7R8VOCTlZlGIm4Um47mxZrrHeLcyrjGySS17M52XDm8j2rvUvYc2\/VV0tjSRE\/55jcYA4Hd2O8FULk1Z6HaE3OHe3Wj9AiIolwXnNNFTwvmmeGRsGXOcdwC9FK3+omvd2j0\/RuIjaQ6reMYAyD4eeFKMbsqrVOzjfjw6nXYtTC9XGopmwBjIwXxvzvLcgbx07+lb6k6emjt2u4aeAYjdSBoHQA3\/AOqrF2aSehXhpTlFqbu02iX1KPQ9Q2i5fV2+SeTwAz8HFVCwtY0npWnpXAZdA4SDd2HwJWla6r06101TuzJE0uwc78b\/ABXXrFMU+7WnHnZ\/ZnWiIqzSEREAREQBERAEREAREQBERAFi6vJGmKzBx9D7bVtLF1f+C9Z\/k+21Sh4kU4j5M+j+h8Q\/gIf\/AG932CvvSH4L0f8An+25c9NMHaALyP8Asns7gQsi3Xqdtjo7NaWGSukDtp44RAuJ49OD2K3K2mvMyKrGE4yf9v4Ne+3yU1As9p+crpfVc4HdEOff0+S0LHZ4rLbxTsO3I47Uj\/xnfBfFjscVmpyNrlqiQ5kmI3knmHUtVVyatlRpp05OXaVN+XIIiKBoMPWMvJabqMEgvcxoIP5wPuXu2h5fSjKEgZdRtZw+tsjHiuHXRIsAweM7c9xW\/AAKeMAYAYPJWbRRlSzV5J8kvqY2jak1GnYQXbToXOjPVg5A7iFuqW0iTTXG7288Ip9poz1ke4KpXKi7zJYV3oxvw09tAiIoGgKY1V85ebHAOeoyfZtN\/wB1TqY1H+E1j\/vT5tVlPxGbFfK9V9UK7FLr2hlbu9IhLXcwO53f9XuVOpjU\/qagsLxxM+z+sz4qnXJbJijpOpHz+qQREUDSZl\/uzLPa5J8jlnDZib0u6fYOK5tLWl1ut3LVDc1dSS+Rx3uAPAZ8faVwU7BqXUz6p+H0NAdmMbsOf7MZxz9gVWrJd1ZTJT\/Vqdo9lovuyYn\/AKxKb\/DHycqdTE\/9YlN\/hj5OVOk+HQlh95\/8n9jyqoG1NLLA4AiRhacjpCwdEzudaZKOQYkpJnMI6jv88qjUtbj8na5rqQuIZWs5Vg\/Gdx\/fSOsWhV7tWE\/T3\/7KlERVmkIiIAiIgCIiAIo7U1ZVtv0VNJcZ7fSuYNiWIHBPOTgjp6d2OG9dDbBe2s26TUskwPAvyR35KsyaJtmT4huTjGN7dCpRS\/oesofo3GlmA5iB+6PNBddU0RxV2hlU0fWhO8jsz5Jk5NEviUvFFr0\/BUIpmPW9IxwZW0VVSvPS3IHkfBaMWprLKwPbcImjGcPy09xXHCS4Eo4ilLaSNVYesXsbpmqa5wDnlgaCd59dp3LjqtXuqZfRbFSPrJj\/AGjmkNHXjj34Wde7FWi0VF0u9aZqpgaI42fQZlwB8+bxU4QtJNmevXU6clTV9HrwM1t0uUulzRwRbNHTjZmmPF2X5DRn2jcFZ6ZtsFBZ6d7Ig2aeJr5H43nIzjsyomjqX1Nkgs8J+dnrtrdxDcD37+xfpjGCONrG8GgAKVV2VinAxzSzt3skv\/D6REWc9UIiICb11\/0Bv9+3yKoIPvEf6I8lha3j29Ovd+JK13u962qF\/K0FPJ+PE094CsfgRmh\/US6L7k9bAI9f3SMD6UAdn\/QfeqhTFD\/WJcv8MPKNU65PddBhtpdX9QiIoGkKY1H+E1j\/AL0+bVTqY1L6morE88DMW\/rN+Ksp+IzYr5fqvqhqn\/rmn\/8AE\/tMVOpjUh5XUlihA3tlLz7Mt\/dVOuS8KFL5tTqvogsLVtzNvtJhiJ9IqzycYHHH1j3bvaQterqoqKlkqZ3bMcTdpxU1YqSa+3A364tOw12KSI8AAePZ570gv3PZCvNv9OG7\/hczasNsFptMNNgcpjblI53nj3cOxaKIot3d2XxioRUVsiYn\/rEpv8MfJyp1MXD5nX1tlzhssBYes4d8QqdTnw6FGH3mvP7IKW1e11FV268R5zBKGP38Rxx9odqqVwXyh+UbNU0oGXuZlg\/OG8eIXIO0iWIg502lvw9DtY9skbZGODmuALSOcL6WHpm6RT6dgknmYww\/NOL3Y4cN56iO9e1Rqiy0xw6vjeeiMF\/iNy44u9kdjWg4KTaVzWRTDtcUsj9iioKqod0BoHllfz5Z1PVH+a2NsLT+XJyO8t8lLs5cSHxVJ+HXomyoXnLNFAAZZWRgnAL3AZU0LVqquOau7MpWH6sPEd2PNesGiLeHiSsnqKt+cu234B7t\/imWK3Y7WrLww99PyUiLz5CL8kz\/AEhFWaNT4q6Omr6d0FVC2WN31XeY6D1qdOla63SuksdzdA12\/kpTlue4g9yqUUlJrYqqUYVHdrXnxJjltZwbvRaOp68gftBOW1nL\/wBrRwdoP7RVK97I27T3Bo6ScLimvtpgBMlxp93M2QOPcFJSb2RVKko71GvUxZLTqiuZsVVzp44+cMYD28Pevqi0LboSXVcj6knm+g0dy6J9a2WHOxLLNj8nGffhcw1m+ffSWarnHMR\/sCp\/qW0Vih\/CJ3k8z9WUFFQ0tvpxBSQtijHMOf2k7ys7VrS7TFYB0MPc9q4Rf9QzH5nTz2f3jiN3bhZ18vd\/ZbnxV9up4IZwYySck5HN63V0LkYSzJsnVxFPspRSdrcmcmh6OGovL5nnJp49pjSPrHdns3+C\/Q1+XaaqLlDcnNtbYnzyRkbMnAjcekdCquU1m\/dyFHH15HxKlVi3LcowVZQpWUW+iKdFMD7s+OaPdzbt6f8AGf8A6PwVWTzRt+I\/wl7FOimPSNZjf6FRuxzZG\/8AWT5S1ez6dmpnZ4bLh++UyeaHxK\/tfszR1RC6fTdaxoyQwP7GkOPkvvTs7ajT9E9v1Ygw+1u73LIfedQSROjn0+XRvaWvDSckHcVlWDU4sdI+hq6WZxjkJ3bizpBB4b\/NTyNxsZ3iKcayk9E1bVM2LZ85r66Sjg2EM+x8FTqEs2obfDf7jXVD3wx1JHJgsJPHnxlU33T2TYD\/AJQjwRngc92FycZX2J4atTyu8lu+PmaqLEfq+xs3em7R\/Nid8Fzya5s7CQ30h+OdsfHvIUckuRe8TRX7l7lGpjWzTFBQVoP3ipGR7d+f1U+7mkf94t9ZJnh6o39xK4bxequ9W2SjjsNZ65Dmv2SdnBznGz\/GVOEJKSbRnr4ilOk4xevqdtQ4VuvqRo3spqfbx1kE58W9yqF+cWCqvBrpq6hohVyck2FxduAAAA6N\/qhdtRqDUs1d8mNigjqX7i2EBxZ25IHT1KUqbbtyKqOKjGLk09XyO+9ukv19iskBcKeAh9S9vAHjg+A9p6lUQxRwQshiYGRsAa1o4AKPoNMahpWuay5xU4kOXFhLnde\/HvXWNIVU\/wDz19q5gfqgnHiSoyUdrllKVVNzcHd9F6FFNV01NvnqIov03hvmuCbU1lgPr3CI\/oZf9kFcUOh7PEPnBPMccXyY8sLvh03ZoBhluhP6Y2\/PKj3C++IeyS92S2oNRUFZcbdVUbpHupJdp2Wlu0Mg4GfZ4rUOrK+cfzGwVMjTwe4HHgPeuzUVljrLJJDSU8bJYyHsayMDJ5x2r007WXOtp5HXGBsYYWsjdggvIHrE9vv6FO8ct7bGZQqqs4uVr66Iz\/SNZVRwykpqRp+sSD7z5ILDqKqP89vxjB4iAHf3bKqEUM74I0\/DJ+KTfr+LEFb9O0bdTT2u4cpIBHykTtrZ5Tp8zz8yrKfT9opfvVvg9r27Z7zlZGrY5KKroL5CzaNM\/Yl6253ftDtVMx7ZI2yMcHNcAWkc4XZybSdyrD0qcJShlV0\/4Ya1rGhrGhrRwAGAF9IiqNwREQBERActxkqorfNJRMa+oa3LGuBIJUXVSazqnZcypjHREAzHdvV8inGeXgZ61Dtf3NdD80Fku8j9urtlXUu6XS\/wV\/Zf6IeH1enI2Nf9DlXvIyOPPgr9KXjVUlPWwOgqYmyxu4tcFZ23NGV4BJd2Wvml+CTo6y7hjZrfpuiYwjc9gbv7QRldfp2spNwtdIwHgS4bv1\/cv4dNXC1SOksNeY2k7ToZjkO6uHt\/jev6X6zeeTEdIwZxym7vxk+S62ntYiozirSzelrfQ5q+7aooIOVrPQqdvMSQS49AGTlcMVDqDUT4bo8U+I90QlaA0jp2cHPatqi0o+WpFXfKs10w4Rkksb3+WAFRgADAGAFxzUdiccNOprUbtyvqflNujrqS+sp6WZsFW2UxB7hkB29pzuPkrD0HWf8A5tR\/6B\/8antRR\/JmrjONwMjJx35PiCv0cEEZByCpVJbOxThKKbnBtqz4OxM\/J+sXbnXelA6WtGfsJ8kapdkPvkYH5rd\/kqdFTnfJG74aPGT92S507fZPvmo5W547Adu8Qn3I1js8tqGrfnjx3jtcVUIu9pIfC0uN\/d\/klzoeB4+duVW88OI4LEqrDb7ZqE0lS+Z9K6nMsZLgDkAkgkD8083OF+hqS\/lAhidQ0s5diVkha0dIIyfId6nTnJys2ZsThqUKeeMdUc+ltNW+4Wv0yugdI58jtgbbmjZG7mPTlbcmkbHI3HoWweYtkcCPFdlliigstHHC4OYIWkOHPkZJ713KEpyzPUvo4akqaTinpyJWo0FROdtU1XPCebaAcAfBfEdg1FbTmhuFPM1vBsjME44cQfNVqJ2kuJ34Sle8VZ+TJj5W1RRbqqzMqQPrQHeR2Z8l8Sa3iZTyNnoKmmqNg7DXAEbXNvOOfqVUpTUsj7veaOw053BwlncBnZ3e4ZPXkKUXGT1RVWVSlG8Zvkk7GLZqOaSkDaPUEFM+p31ETnbLxgnGOc7sk4x71Y2WxUlmhJhJlmkHrzO4u+AXlUaTstQBmjEZHPG4t\/2XAdI1VH61pvFRBjgyQ5B7u3mXZSUuNiFKjOjZ5L25P7MqEUt6Zq23b6ijhr4xxdF9Lwx5L1g1rQ7YjrqaoopMZO2zIHv6ebmVfZvhqaViqe0tOuhSIualuNFXDNLVRTdTXAnu4rpUNjQmmroIiIdCIiA5blQsuVuno5DgStwD0HiD34WTo+sdJbX0ExxUULzG5p44yce8dioFKXBgsWrqe4tOzTV2Y5ugO6e\/B71ZHVOJlrdycavo+j\/DKtERVmoIiIAiIgCIiAIiIAiIgCIiAjf5QKPLKWtaDuJiefEe9UtnqPSrNRzF20Xwt2j143+OV5323i52eoptnafsl0f6Y3j4dqz9E1bZ7C2Hay+ne5pHQCcjz8Fa3en0MUY5MU\/8l\/KKFERVG0IiIAo+phbqzUz4Np3oVCxzXOG7Lzu3do7mrU1Nd5KCmZR0eXV1UdmIN3lu\/j7h\/suqw2plotkcGyBK4B0pHO7G\/fzqyPdWYyVP1p9nwWr+yMjTNZLbayXT1cQHxEmB5+uOOB596qVjagsZujGVFNIYa2n3xPBxnnwe3n5l52TUTK0+hV4FNcIzsujdu2z0j4JJZu8hSl2T7Ke3B\/bqbqIsa8alo7VmFp9IqzubCw5IPX0eagk27I0TnGCzSdke19vcFlozK\/D5n7oos73H4Bcml7VPR00lbXFzqyrO08uzlreYHr\/jmXLZbFU1dabzfBtVBOYoXDdGObI8h28VUKcmorKiinGVSfaTVktl92ERFWagvKelp6puxUQRzN6JGBw8V6ohxpPRk\/V6MtU7tuASUkgOQYn7gfYfdhc\/yXqa1gCguLK2Ju4Rzjfjm493Ec3ZUIp9pLjqUPDU73jo\/LQl2auqaNzWXm0zU\/DMjAdnuPxK2KG+Wy4gejVcbnkD1HHZd3Fd7mhzS1wBBGCDzrFuGkrTX7ThB6PKR9OH1fDgu3g99COWvDZ5uuj9zbRSr7fqazgmgrRXwNG6KYesB0b\/AHH3L1g1jHDIYbvRTUMgOM7Jc0+\/n60yPhqdWJinaosvXb32KVZeorZ8rWeWnaMyt+ci\/SHx3jtXZSV1LXxmSkqI5mg4JY7OPb0LoUE3Fl0lGpBrgzI0xcXXGyROkdmaL5qTPHI4eGFrqVZ\/w9q4x\/Rornvb0Nfn4nucFVKU1rdcSrDybjllutH\/AL5hERQNAREQBERAEREAREQBERAF+cW2vk0\/qapBB9FEzopucBuTg56uPev0dR8tFTya4q6OqY10NdT5DefOAcjoPqkq2m1qmYcZGTcJRetyua5r2B7HBzXDIIOQQvpSMVZX6Sn9Eq4pKm1l3zU43mME8D8O5brdQWd8ImFyp9kjODIA7\/Sd\/gouDWxdCvGWktGt0zRWZer5S2Wm5SU7UrvvcQO93X7OtZtXqz0h5pbJSy1k7gcSbOGN6+vtwF6WjTb46r5Ru83pdaRuDt7Y\/ifALqjbWRGVZ1O7R18+C\/J8adtNTJO69XbLqub72w\/2bfZzezm9qpERRlJydy6nTVOOVBZl20\/QXhpM8ezLjAmZucPitNFxNrVEpwjNWkromPuSrMbA1DWcmPot37v1lqW3T9ttbtuCDalznlZDtO7+bsWmik5yZVHD0oO6X3CIigXhERAEREAREQBERAF5zQQ1MfJzxMlYfqvaHDuK9EQNXJmt0exk3pdmqX0NQODQ47B948R1LzZqS5WeRsF\/oyWnc2phG49nA9mPYqpfEsUc0bo5Y2yMcMOa4ZB7FZnvpLUyvD5Xek8r\/j2MW9U0GorA6ShkEr4zykLmcdocR28O5dGnbqLtaY5nOBmYNiUfnDn7eKza7TM9DOa7T8xglGC6m2vVk39JPgd3sWDbL2+1ajklqIPR2TnZqYW7g134wHUd\/aVNRUo2RmlWdKqpVFa+j5Pkz9FRfwEEZByCv6qD0wiIgCIiAIiIAiIgCIiAKX1MBRX60XLgBJyUjscBn4FyqFiavozWafnLBl8GJR7Bx8MnsU4PvGfExbpO2619tTZkjZLG6ORjXscMOa4ZBHWFlO0tZHP2jQMzjGA9wHdnC6LJWm4WalqXHL3MAefzhuPiF3rl3F2J5YVUpNXPKnpaekj5OnhjhYPqsaAPBeqIoliSWiCIiHQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAs282OkvUAZOC2Ro+blbxb8R1LSRdTad0RlCM1lkro5bdRuoKCKldO+fkhgPfxI\/jwXUiLj1OpJKyCIiHQiIgCIiAIiIAiIgC+ZI2yxujeMteC0jpBX0iAmNGSPgZXWqU+tSTnG\/mO7zGe1U6ln\/0br9j9oNjr4cHPTjh7ctHeqlWVN78zNhtIOD\/AGu34\/gIiKs0hERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQEzrSN0NPR3OIfOUk4PYentA71RQzMqII54zlkjQ5p6QRkLwulELjbKikyAZWENJ4B3Me\/C8bFSVNDZ6elqy0yxgj1Tndnd4KbacUZ4xcazfBr+UaKIigaAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOHANN GUERRERO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "APP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REPARACIÓN SOLICITA INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "09:42",
    "ubicacionGPS": "LatLng(lat: -23.5660244, lng: -70.3943083)",
    "horaLlegada": "09:14",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 13/05/2026 09:42:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-_GReHYepjn6AKYA_nz-CETRxIe0y-jr+HeK+YXufeE37Fty-VSm
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76148340",
    "serieinterna": "TO2005",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "1534993",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se hace cambio de grilla",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12516",
    "observacion": "Cambio de RGR2431",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADfATEDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCBwH\/xABQEAABAwMBAwgFBQsKBAcAAAABAAIDBAURBhIhMRNBUWGBkaGxFCJxwdEVIzJCshYzNlJTYnKiwtLwByQlN0NzdIKS4SY0NURUVWR10+Lx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QANBEAAgECBAMGBQMEAwAAAAAAAAECAxEEEiExQVFxEyIyYYGRFDOxwdEjQqE0UmLwcuHx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQHlU1EVJTSVEztmONpc49QU1FPqDUDnVNFUR0VFlwjcRvfzZ6ebjuX3q2aWrno7HA7Dqp4dJv+qDu7NxPYqOngjpqeOCJoayNoa0AYVi7qvxZklerUcb2S5cWTht2qqON0sF0jqnj+zeOPsz\/suu0alirZzRVkfolc1xaYncD7D0rcWTfrFFeKYOB5OqiGYpRxB6D1eSZlLSR10p0+9Td\/J\/7oayLC03epKxj7fXgsr6bc8O+uBuz7elbqg007Mvp1FUjmQREXCYREQBERAEREAREQBERAEREAXO+tpo62OjdKBPK0uYzB3gc\/guhS+owItTWOYDe+XYyOP0m\/vKUVd2Kq1R045lzX1KhERRLQiIgCIiAIiIAiIgCIiAIiIAiIgCIv4SAMk4AQEtbcV+ua+pcARSM5NmBwP0f3lVKY0SDNBX17h61TUnOeJxv\/AGiqdWVPFYzYXWnm5tsIiKs0kxqqI26qpL7Ts+chkDJtndttPT5doVJDKyeFk0TtqORoc13SDvBXhc6UV1sqKY\/2kZA3Z383iszRtUanT0TXbzA4x8ejePAhWPWF+Rmj3K7XCSv6o3URFWaQiIgCIiAIiIAiIgCIiAIiIApjWnzfyZU\/kqkbu4+5U6ntbw8rp5z\/AMjK1\/m39pTp+JGbFK9GRQovGkm9Jo4J\/wArG1\/eMr2UDQndXCIiHQiIgCIiAIiIAiIgCIiAIiIAuW5v5O1Vb842YHnPR6pXUuC+uLbDXkf+HeO8ELq3IVHaDZwaMZsabgd+O97v1iPct5Y+k2humaMDoce9xWwuz8TIYdWox6IIiKJcFMaJJbBXxE52Kk4P8exU6mNFEPiuEjTlr6k4P8e0KcfCzNU+dD1KdERQNIREQBERAEREAREQBERAEREAWZqSET6drWHmiLuH4u\/3LTXnURCemlhPCRhae0YXU7O5Ccc0HHmZ2mZuX05RP6I9j\/SS33LVU5oaUvsLozuMMzm46OB95VGuzVpMhh5ZqUX5BERRLgiIgCIiAIiIAiIgCIiAIiIAsvUjtnTtac4+awtRZGqvwarf0R9oKUfEiqt8qXRn3ptuzp2iGMfNZWovzOkrrm2mbdIZiIqDk4uTyQCDkdvAd6\/SIJmVFPHOw5ZIwPaeojKlUjZ3KMLXVSOVK1kj0REVZsOK71ot9pqao5+bYdnH4x3DxIXBo+jNHp6EuBDpyZSD17h4ALi1VJ8o3GgsUTyDK\/lJtnmb\/wDmT3KnYxscbWMGGtAAHQFY9IW5mWPfruXCOnq9z6REVZqCIiAIiIAiIgCIiAIiIAiIgCIiAmNK\/wA2ut4oeAjn2mDqyR5YVOpeE+h\/yhTM5quDI9oAP7JVQrKm9zNhtIOPJtfyERFWaQiIgCIiAIiIAiIgCIiAIiIAsjVX4NVv6I+0FrrI1V+DVb+iPtBSh4kVV\/lS6MnrFRh2h7o9\/CQPcP8AK3I8QqHSkjpdNUbncQ1zewOIHkuOgh5DQD2\/jUcr+8OPvXTpD8F6P\/P9tysm7p9TJh45ZwX+P3RtLyqaiKkpZamZ2zHE0uceoL1UleZzqW6xWWikPo0TtupmaMgEZ3fxznqVcY3ZqrVOzjpu9j30vDJcKuqv9SDtTuMcAP1WA78cfZ2FUy84YYqeFkMLAyNgw1rRuAXoknd3O0qfZwtx49TznmZTU8k8pxHEwvccZwAMlZ1o1DRXh744XbMrN+w48Ru3jvX3qFwbp+uJ\/IuHepR9FJb7FbL\/AEnqzQACbB3OaXHGe\/Hb1KcYprUor1p06mmyV2XqLzgmZUwRzxnLJGhzT1FeiqNidwiIgCzL9eBZqET8kZZHu2GN68c601Maww6otER4OqRv7R8VOCTlZlGIm4Um47mxZrrHeLcyrjGySS17M52XDm8j2rvUvYc2\/VV0tjSRE\/55jcYA4Hd2O8FULk1Z6HaE3OHe3Wj9AiIolwXnNNFTwvmmeGRsGXOcdwC9FK3+omvd2j0\/RuIjaQ6reMYAyD4eeFKMbsqrVOzjfjw6nXYtTC9XGopmwBjIwXxvzvLcgbx07+lb6k6emjt2u4aeAYjdSBoHQA3\/AOqrF2aSehXhpTlFqbu02iX1KPQ9Q2i5fV2+SeTwAz8HFVCwtY0npWnpXAZdA4SDd2HwJWla6r06101TuzJE0uwc78b\/ABXXrFMU+7WnHnZ\/ZnWiIqzSEREAREQBERAEREAREQBERAFi6vJGmKzBx9D7bVtLF1f+C9Z\/k+21Sh4kU4j5M+j+h8Q\/gIf\/AG932CvvSH4L0f8An+25c9NMHaALyP8Asns7gQsi3Xqdtjo7NaWGSukDtp44RAuJ49OD2K3K2mvMyKrGE4yf9v4Ne+3yU1As9p+crpfVc4HdEOff0+S0LHZ4rLbxTsO3I47Uj\/xnfBfFjscVmpyNrlqiQ5kmI3knmHUtVVyatlRpp05OXaVN+XIIiKBoMPWMvJabqMEgvcxoIP5wPuXu2h5fSjKEgZdRtZw+tsjHiuHXRIsAweM7c9xW\/AAKeMAYAYPJWbRRlSzV5J8kvqY2jak1GnYQXbToXOjPVg5A7iFuqW0iTTXG7288Ip9poz1ke4KpXKi7zJYV3oxvw09tAiIoGgKY1V85ebHAOeoyfZtN\/wB1TqY1H+E1j\/vT5tVlPxGbFfK9V9UK7FLr2hlbu9IhLXcwO53f9XuVOpjU\/qagsLxxM+z+sz4qnXJbJijpOpHz+qQREUDSZl\/uzLPa5J8jlnDZib0u6fYOK5tLWl1ut3LVDc1dSS+Rx3uAPAZ8faVwU7BqXUz6p+H0NAdmMbsOf7MZxz9gVWrJd1ZTJT\/Vqdo9lovuyYn\/AKxKb\/DHycqdTE\/9YlN\/hj5OVOk+HQlh95\/8n9jyqoG1NLLA4AiRhacjpCwdEzudaZKOQYkpJnMI6jv88qjUtbj8na5rqQuIZWs5Vg\/Gdx\/fSOsWhV7tWE\/T3\/7KlERVmkIiIAiIgCIiAIo7U1ZVtv0VNJcZ7fSuYNiWIHBPOTgjp6d2OG9dDbBe2s26TUskwPAvyR35KsyaJtmT4huTjGN7dCpRS\/oesofo3GlmA5iB+6PNBddU0RxV2hlU0fWhO8jsz5Jk5NEviUvFFr0\/BUIpmPW9IxwZW0VVSvPS3IHkfBaMWprLKwPbcImjGcPy09xXHCS4Eo4ilLaSNVYesXsbpmqa5wDnlgaCd59dp3LjqtXuqZfRbFSPrJj\/AGjmkNHXjj34Wde7FWi0VF0u9aZqpgaI42fQZlwB8+bxU4QtJNmevXU6clTV9HrwM1t0uUulzRwRbNHTjZmmPF2X5DRn2jcFZ6ZtsFBZ6d7Ig2aeJr5H43nIzjsyomjqX1Nkgs8J+dnrtrdxDcD37+xfpjGCONrG8GgAKVV2VinAxzSzt3skv\/D6REWc9UIiICb11\/0Bv9+3yKoIPvEf6I8lha3j29Ovd+JK13u962qF\/K0FPJ+PE094CsfgRmh\/US6L7k9bAI9f3SMD6UAdn\/QfeqhTFD\/WJcv8MPKNU65PddBhtpdX9QiIoGkKY1H+E1j\/AL0+bVTqY1L6morE88DMW\/rN+Ksp+IzYr5fqvqhqn\/rmn\/8AE\/tMVOpjUh5XUlihA3tlLz7Mt\/dVOuS8KFL5tTqvogsLVtzNvtJhiJ9IqzycYHHH1j3bvaQterqoqKlkqZ3bMcTdpxU1YqSa+3A364tOw12KSI8AAePZ570gv3PZCvNv9OG7\/hczasNsFptMNNgcpjblI53nj3cOxaKIot3d2XxioRUVsiYn\/rEpv8MfJyp1MXD5nX1tlzhssBYes4d8QqdTnw6FGH3mvP7IKW1e11FV268R5zBKGP38Rxx9odqqVwXyh+UbNU0oGXuZlg\/OG8eIXIO0iWIg502lvw9DtY9skbZGODmuALSOcL6WHpm6RT6dgknmYww\/NOL3Y4cN56iO9e1Rqiy0xw6vjeeiMF\/iNy44u9kdjWg4KTaVzWRTDtcUsj9iioKqod0BoHllfz5Z1PVH+a2NsLT+XJyO8t8lLs5cSHxVJ+HXomyoXnLNFAAZZWRgnAL3AZU0LVqquOau7MpWH6sPEd2PNesGiLeHiSsnqKt+cu234B7t\/imWK3Y7WrLww99PyUiLz5CL8kz\/AEhFWaNT4q6Omr6d0FVC2WN31XeY6D1qdOla63SuksdzdA12\/kpTlue4g9yqUUlJrYqqUYVHdrXnxJjltZwbvRaOp68gftBOW1nL\/wBrRwdoP7RVK97I27T3Bo6ScLimvtpgBMlxp93M2QOPcFJSb2RVKko71GvUxZLTqiuZsVVzp44+cMYD28Pevqi0LboSXVcj6knm+g0dy6J9a2WHOxLLNj8nGffhcw1m+ffSWarnHMR\/sCp\/qW0Vih\/CJ3k8z9WUFFQ0tvpxBSQtijHMOf2k7ys7VrS7TFYB0MPc9q4Rf9QzH5nTz2f3jiN3bhZ18vd\/ZbnxV9up4IZwYySck5HN63V0LkYSzJsnVxFPspRSdrcmcmh6OGovL5nnJp49pjSPrHdns3+C\/Q1+XaaqLlDcnNtbYnzyRkbMnAjcekdCquU1m\/dyFHH15HxKlVi3LcowVZQpWUW+iKdFMD7s+OaPdzbt6f8AGf8A6PwVWTzRt+I\/wl7FOimPSNZjf6FRuxzZG\/8AWT5S1ez6dmpnZ4bLh++UyeaHxK\/tfszR1RC6fTdaxoyQwP7GkOPkvvTs7ajT9E9v1Ygw+1u73LIfedQSROjn0+XRvaWvDSckHcVlWDU4sdI+hq6WZxjkJ3bizpBB4b\/NTyNxsZ3iKcayk9E1bVM2LZ85r66Sjg2EM+x8FTqEs2obfDf7jXVD3wx1JHJgsJPHnxlU33T2TYD\/AJQjwRngc92FycZX2J4atTyu8lu+PmaqLEfq+xs3em7R\/Nid8Fzya5s7CQ30h+OdsfHvIUckuRe8TRX7l7lGpjWzTFBQVoP3ipGR7d+f1U+7mkf94t9ZJnh6o39xK4bxequ9W2SjjsNZ65Dmv2SdnBznGz\/GVOEJKSbRnr4ilOk4xevqdtQ4VuvqRo3spqfbx1kE58W9yqF+cWCqvBrpq6hohVyck2FxduAAAA6N\/qhdtRqDUs1d8mNigjqX7i2EBxZ25IHT1KUqbbtyKqOKjGLk09XyO+9ukv19iskBcKeAh9S9vAHjg+A9p6lUQxRwQshiYGRsAa1o4AKPoNMahpWuay5xU4kOXFhLnde\/HvXWNIVU\/wDz19q5gfqgnHiSoyUdrllKVVNzcHd9F6FFNV01NvnqIov03hvmuCbU1lgPr3CI\/oZf9kFcUOh7PEPnBPMccXyY8sLvh03ZoBhluhP6Y2\/PKj3C++IeyS92S2oNRUFZcbdVUbpHupJdp2Wlu0Mg4GfZ4rUOrK+cfzGwVMjTwe4HHgPeuzUVljrLJJDSU8bJYyHsayMDJ5x2r007WXOtp5HXGBsYYWsjdggvIHrE9vv6FO8ct7bGZQqqs4uVr66Iz\/SNZVRwykpqRp+sSD7z5ILDqKqP89vxjB4iAHf3bKqEUM74I0\/DJ+KTfr+LEFb9O0bdTT2u4cpIBHykTtrZ5Tp8zz8yrKfT9opfvVvg9r27Z7zlZGrY5KKroL5CzaNM\/Yl6253ftDtVMx7ZI2yMcHNcAWkc4XZybSdyrD0qcJShlV0\/4Ya1rGhrGhrRwAGAF9IiqNwREQBERActxkqorfNJRMa+oa3LGuBIJUXVSazqnZcypjHREAzHdvV8inGeXgZ61Dtf3NdD80Fku8j9urtlXUu6XS\/wV\/Zf6IeH1enI2Nf9DlXvIyOPPgr9KXjVUlPWwOgqYmyxu4tcFZ23NGV4BJd2Wvml+CTo6y7hjZrfpuiYwjc9gbv7QRldfp2spNwtdIwHgS4bv1\/cv4dNXC1SOksNeY2k7ToZjkO6uHt\/jev6X6zeeTEdIwZxym7vxk+S62ntYiozirSzelrfQ5q+7aooIOVrPQqdvMSQS49AGTlcMVDqDUT4bo8U+I90QlaA0jp2cHPatqi0o+WpFXfKs10w4Rkksb3+WAFRgADAGAFxzUdiccNOprUbtyvqflNujrqS+sp6WZsFW2UxB7hkB29pzuPkrD0HWf8A5tR\/6B\/8antRR\/JmrjONwMjJx35PiCv0cEEZByCpVJbOxThKKbnBtqz4OxM\/J+sXbnXelA6WtGfsJ8kapdkPvkYH5rd\/kqdFTnfJG74aPGT92S507fZPvmo5W547Adu8Qn3I1js8tqGrfnjx3jtcVUIu9pIfC0uN\/d\/klzoeB4+duVW88OI4LEqrDb7ZqE0lS+Z9K6nMsZLgDkAkgkD8083OF+hqS\/lAhidQ0s5diVkha0dIIyfId6nTnJys2ZsThqUKeeMdUc+ltNW+4Wv0yugdI58jtgbbmjZG7mPTlbcmkbHI3HoWweYtkcCPFdlliigstHHC4OYIWkOHPkZJ713KEpyzPUvo4akqaTinpyJWo0FROdtU1XPCebaAcAfBfEdg1FbTmhuFPM1vBsjME44cQfNVqJ2kuJ34Sle8VZ+TJj5W1RRbqqzMqQPrQHeR2Z8l8Sa3iZTyNnoKmmqNg7DXAEbXNvOOfqVUpTUsj7veaOw053BwlncBnZ3e4ZPXkKUXGT1RVWVSlG8Zvkk7GLZqOaSkDaPUEFM+p31ETnbLxgnGOc7sk4x71Y2WxUlmhJhJlmkHrzO4u+AXlUaTstQBmjEZHPG4t\/2XAdI1VH61pvFRBjgyQ5B7u3mXZSUuNiFKjOjZ5L25P7MqEUt6Zq23b6ijhr4xxdF9Lwx5L1g1rQ7YjrqaoopMZO2zIHv6ebmVfZvhqaViqe0tOuhSIualuNFXDNLVRTdTXAnu4rpUNjQmmroIiIdCIiA5blQsuVuno5DgStwD0HiD34WTo+sdJbX0ExxUULzG5p44yce8dioFKXBgsWrqe4tOzTV2Y5ugO6e\/B71ZHVOJlrdycavo+j\/DKtERVmoIiIAiIgCIiAIiIAiIgCIiAjf5QKPLKWtaDuJiefEe9UtnqPSrNRzF20Xwt2j143+OV5323i52eoptnafsl0f6Y3j4dqz9E1bZ7C2Hay+ne5pHQCcjz8Fa3en0MUY5MU\/8l\/KKFERVG0IiIAo+phbqzUz4Np3oVCxzXOG7Lzu3do7mrU1Nd5KCmZR0eXV1UdmIN3lu\/j7h\/suqw2plotkcGyBK4B0pHO7G\/fzqyPdWYyVP1p9nwWr+yMjTNZLbayXT1cQHxEmB5+uOOB596qVjagsZujGVFNIYa2n3xPBxnnwe3n5l52TUTK0+hV4FNcIzsujdu2z0j4JJZu8hSl2T7Ke3B\/bqbqIsa8alo7VmFp9IqzubCw5IPX0eagk27I0TnGCzSdke19vcFlozK\/D5n7oos73H4Bcml7VPR00lbXFzqyrO08uzlreYHr\/jmXLZbFU1dabzfBtVBOYoXDdGObI8h28VUKcmorKiinGVSfaTVktl92ERFWagvKelp6puxUQRzN6JGBw8V6ohxpPRk\/V6MtU7tuASUkgOQYn7gfYfdhc\/yXqa1gCguLK2Ju4Rzjfjm493Ec3ZUIp9pLjqUPDU73jo\/LQl2auqaNzWXm0zU\/DMjAdnuPxK2KG+Wy4gejVcbnkD1HHZd3Fd7mhzS1wBBGCDzrFuGkrTX7ThB6PKR9OH1fDgu3g99COWvDZ5uuj9zbRSr7fqazgmgrRXwNG6KYesB0b\/AHH3L1g1jHDIYbvRTUMgOM7Jc0+\/n60yPhqdWJinaosvXb32KVZeorZ8rWeWnaMyt+ci\/SHx3jtXZSV1LXxmSkqI5mg4JY7OPb0LoUE3Fl0lGpBrgzI0xcXXGyROkdmaL5qTPHI4eGFrqVZ\/w9q4x\/Rornvb0Nfn4nucFVKU1rdcSrDybjllutH\/AL5hERQNAREQBERAEREAREQBERAF+cW2vk0\/qapBB9FEzopucBuTg56uPev0dR8tFTya4q6OqY10NdT5DefOAcjoPqkq2m1qmYcZGTcJRetyua5r2B7HBzXDIIOQQvpSMVZX6Sn9Eq4pKm1l3zU43mME8D8O5brdQWd8ImFyp9kjODIA7\/Sd\/gouDWxdCvGWktGt0zRWZer5S2Wm5SU7UrvvcQO93X7OtZtXqz0h5pbJSy1k7gcSbOGN6+vtwF6WjTb46r5Ru83pdaRuDt7Y\/ifALqjbWRGVZ1O7R18+C\/J8adtNTJO69XbLqub72w\/2bfZzezm9qpERRlJydy6nTVOOVBZl20\/QXhpM8ezLjAmZucPitNFxNrVEpwjNWkromPuSrMbA1DWcmPot37v1lqW3T9ttbtuCDalznlZDtO7+bsWmik5yZVHD0oO6X3CIigXhERAEREAREQBERAF5zQQ1MfJzxMlYfqvaHDuK9EQNXJmt0exk3pdmqX0NQODQ47B948R1LzZqS5WeRsF\/oyWnc2phG49nA9mPYqpfEsUc0bo5Y2yMcMOa4ZB7FZnvpLUyvD5Xek8r\/j2MW9U0GorA6ShkEr4zykLmcdocR28O5dGnbqLtaY5nOBmYNiUfnDn7eKza7TM9DOa7T8xglGC6m2vVk39JPgd3sWDbL2+1ajklqIPR2TnZqYW7g134wHUd\/aVNRUo2RmlWdKqpVFa+j5Pkz9FRfwEEZByCv6qD0wiIgCIiAIiIAiIgCIiAKX1MBRX60XLgBJyUjscBn4FyqFiavozWafnLBl8GJR7Bx8MnsU4PvGfExbpO2619tTZkjZLG6ORjXscMOa4ZBHWFlO0tZHP2jQMzjGA9wHdnC6LJWm4WalqXHL3MAefzhuPiF3rl3F2J5YVUpNXPKnpaekj5OnhjhYPqsaAPBeqIoliSWiCIiHQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAs282OkvUAZOC2Ro+blbxb8R1LSRdTad0RlCM1lkro5bdRuoKCKldO+fkhgPfxI\/jwXUiLj1OpJKyCIiHQiIgCIiAIiIAiIgC+ZI2yxujeMteC0jpBX0iAmNGSPgZXWqU+tSTnG\/mO7zGe1U6ln\/0br9j9oNjr4cHPTjh7ctHeqlWVN78zNhtIOD\/AGu34\/gIiKs0hERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQEzrSN0NPR3OIfOUk4PYentA71RQzMqII54zlkjQ5p6QRkLwulELjbKikyAZWENJ4B3Me\/C8bFSVNDZ6elqy0yxgj1Tndnd4KbacUZ4xcazfBr+UaKIigaAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOHANN GUERRERO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "APP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REPARACIÓN SOLICITA INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "939156579",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "09:42",
    "ubicacionGPS": "LatLng(lat: -23.5660244, lng: -70.3943083)",
    "horaLlegada": "09:14",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


13/05/2026 09:42:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76148340

[13/05/2026 09:42: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('76148340', 'TO2005', 1, 24456550, 1534993, NOW(), 
				'08:00', '09:14', '09:42', 10, '•Se hace cambio de grilla', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778679733.png', 'Cambio de RGR2431', null, 'COMPLETADO','LatLng(lat: -23.5660244, lng: -70.3943083)' )
				
[13/05/2026 09:42:13] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200298

13/05/2026 09:42:13 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200298'                    
				WHERE idllamado = 12516			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


13/05/2026 09:42:13 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12516			
				
13/05/2026 09:42:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


13/05/2026 09:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/2026 09:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/2026 09:42:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12516
            GROUP BY l.idllamado;
            
13/05/2026 09:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/2026 09:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/2026 09:42:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/2026 09:42:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/2026 09:42:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12516
            GROUP BY l.idllamado;
            
13/05/2026 09:42:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                [13/05/2026 09:42:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 09:42:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12516
            GROUP BY l.idllamado;
            [13/05/2026 09:42:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 09:42:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12516
                
13/05/2026 09: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 = 12516
                
13/05/2026 09: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 = 12516
                [13/05/2026 09:49:01] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[13/05/2026 09:49:01] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[13/05/2026 09:49:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[13/05/2026 10:14:37] 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;
                
[13/05/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 = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				
[13/05/2026 10:14:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                
[13/05/2026 10:14: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;
                
[13/05/2026 10:14:48] 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;
                
[13/05/2026 10:14: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 = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				
[13/05/2026 10:14:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                
[13/05/2026 10:14:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 10:14:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            
13/05/2026 10:15:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            [13/05/2026 10:15:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 10:15:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            [13/05/2026 10:15: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;
                

13/05/2026 10:15:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            [13/05/2026 10:15:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 10:15:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            [13/05/2026 10:15:15] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                
[13/05/2026 10:16:28] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				
[13/05/2026 10:16:28] 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;
                
[13/05/2026 10:16:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 10:16:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            [13/05/2026 10:16:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                
[13/05/2026 10:16:36] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            
13/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            
13/05/2026 10: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 = 12550
                
13/05/2026 10: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 = 12550
                
13/05/2026 10:16:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:16:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            
13/05/2026 10:16:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:16:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            
13/05/2026 10:16:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:16:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:16:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:16:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10: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 = 12550
                
13/05/2026 10:16:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            
13/05/2026 10: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 = 12550
                
13/05/2026 10: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 = 12550
                
13/05/2026 10: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 = 12550
                
13/05/2026 10: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 = 12550
                
13/05/2026 10:16:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            
13/05/2026 10: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 = 12550
                
13/05/2026 10: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 = 12550
                
13/05/2026 10: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 = 12550
                
13/05/2026 10:17:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:17:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            
13/05/2026 10:17:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:17:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:17:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            
13/05/2026 10:17:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:17:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:17:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10: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 = 12550
                
13/05/2026 10:18:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            
13/05/2026 10:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            
13/05/2026 10:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:18:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            
13/05/2026 10:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10: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 = 12550
                
13/05/2026 10: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 = 12550
                
13/05/2026 10:18:14 - logentry: =========================================
FECHA: 13/05/2026 10:18:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-XaCjx7-.xd+zYPoS7JszexyV4s+cIG_Af_mdlMZqa7SVL+.HhRx
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "BR1344",
    "correlativo": "6",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "orden 28660",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12550",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADJAIoDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABHEAABAwMCAgUJBQMICwAAAAABAAIDBAURBiESMRNBUWGhFCIycYGRscHRBxUWIzM0QvAkQ1KiwtLh4iY3VGNkcnN0gpKy\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAIDBAH\/xAAwEQACAQIDBQcEAgMAAAAAAAAAAQIDERIhMQQTQVFxMmGBkaHB0SJCseEjM2Jy8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAF566up7dSPqqqTgjZzPWT2Bd7nBrS5xAAGST1KTgjdqy9yTzgm10ji2NudpHbc+3t9RAUoxvm9CmrUcbRjq9DnDWamvkflFCIaCmccNMm5cO3kfkuf3dqymHSRXWGoPMseB8x9FTNaGtDWgAAYAHUvqlj5IrWz37UnfqYFt1HI+4fdt1pDSVZPmY3Y72+v2LfWLqi1feNrdJE3+U0\/5kTh6W3MZ\/jcBd+nrmbrZ4ah36g8yT\/mHX7eftXJJNYkdpylGbpzd+KZpoiKBpCIiAIiIAiIgCIiAIiICe1hcHwUDLfTZdU1zujDRz4ev35A9pWrabey12yGjZgljfOcP3nHmfesKhBvGtKmsPC6noG9HGc5HFuNv6x93rVSrJZJRMtH65yqvoui+WERFWagpjRw6Ca7UY2ZBVHhb2cx\/ZCp1MaexHqi9xZALnh+B17nfx8VOPZZmq5Vab6\/gp0RFA0hERAEREAREQBERAF56+qbRUE9U7lFGXesgbBehYOs6k0+nZWg4Mz2xj35PgCpRV2kV1Z4KcpckcNF0phsfTvB6SpkdIS7mRyHwz7VQry2un8ktdLT4wY4mtO2N8b7etepJO8mzlGGCnGPcERFEtCmKP8j7Qa1vVNTg478N+hVOph4LPtDjwM8dLv3bH6KcOPQzbR9j\/wAkU6IigaQiIgCIiAIiIAiIgCl9Ufyu9Wi2k4Y6XpH94yPoVUKYuPn\/AGgWxh5CnLvB\/wBFZT1uZtqzgo82l6lOiIqzSEREAUw38z7RHf7qm6\/UOXvVOpih\/wBYly\/7YfCNThx6GbaNYf7L3KdERQNIREQBERAEREAREQBS2qHeQ3y03M7Rsf0cjuwZ+hcqleS52+G6UMlLMBhwy12M8LuoqUHZ5lNeDnBpa8PA9QIIyDkFfVNacuk1NK6x3Q8FTAeGF55SN6hn4dypUlHC7EqVRVI3QREUSwKYoN\/tDuRG4FMBn2RqnUxZfzNZXiT+iA3bl1fRThozNX7UF3+zKdERQNIREQBERAEREAREQBERAZl6sdNeoA2QmOZn6czRu36juWRR3utsVS23X1r3xF2Iq3chw7+34hVS89bRU9wpX01TGHxvG47O8d6mpZWehnqUXfHTdpfnqdzXNewPY4Oa4ZBByCFyUpJZb1Y5HTWSp6enJLjSydXcBy92CvVb9YUk8nk1wjdQVIOHNl2bn19Xt96OHGOZyO0JPDUWF+nmUKmNMfmX6\/S\/8RwgjkfOf9AqZrg5oc0ggjII61M6MIl+86kbiWpO4Ox5n5pHssVc6tNdfwU6IigaQiIgCIiAIiIAiIgCIiAIi81XcKOhZxVVVFCOxzgCfUOZTU42krs9K8dwtNDdI+Csp2yEDDX8nN9R5rGqNa0rpOhttLPXSnkGtIB8M+C4f6WXU\/zVsgce4vx4nPuVihJZvIzSr05\/Sli6K\/6PPParnpmN9RbLm11K3LjBUEAY+GeXLGcrx6Z1Nb7Pa309RHN0hkL\/ADADxZAHb3Bei66Vho7TU19ZXVFXUMZkOedsnA7z4rTsVjts+nKYVFFC90sfE95aOI539LmrHKOHPMxRp1VWtBYbLRu\/\/DobrCpqhm32OpnaeTznHfyB+K+m6asf+nZIW55cbv8AMF8fpWstxdJYrnJAScmGU5af47wvgv8AfLYCLraTKwEjpoOXhkfDwXLRfZSLMVRf3Sa6JW\/ByOoL7b\/zLrZgIQPOfA7PDz3OCdv47lQUdZBX0kdVTP445BkH5FYX44sz4jxNn3GCx0YOfHC46Lje2CtkbC6Klll44A7ng5+XD1lRlHK7Vi2lV\/kUIzxJ+hTIiKo3BFj3fUtFaJxTytkkmc0ODGN6icbleD8RXyp\/Y9PyNHU6YkD4D4qahJ5lEtopxeG933ZlOvhcGjLiAO0qZ6HWNZkvnpaIH90AE\/B3xT8HSVTg66Xeqqsfug4HjlMKWrI76cuxB+ORoVmqLPR5D6xkjh+7F5\/iNlm\/iq4V5LbRZpZR1SS+j7cbeK1qPT1poSHQ0UfGOTnjjI9WeS0gABgDAC7eC0RzBXl2pW6fL+CXFr1Pcv265to4yfQg9Ln3fUr00WjLXTEPqBJVybZMrts+ofPK3nvZGwvkcGNaMlzjgBYdZrC2U7xFTdJWzO2a2AZGezP0yuqU5ZIjKlQp\/VUd335mzT01PSx9HTwxxN7GNAXapby\/VdyANJQxUETgCHS7u8fovo0vc6s5uV9ndnmyIkN+nZ1LmDmySrt5U4N+i9Tt1tVsisL4ONvHNI1vDnfAPF8gu6LUdkt9FBTmtYeijazhjBfyGOYU9ctO0NHe7ZQROkk8ofxTOlfuW56sDbr8FWwWC00\/6dvgz2uZxHxUnhUUiiDrTqykklouff7mVJrmhJLaWkqp3dzQB8c+C+fia7zfs+nKjHU55d\/dVKxjI28LGho7AMLkoYo8jRuqz1n5JfslDcNSSPMg09T5PW7GeztXZ99amj\/UsIdtk8Dv8StiuvdttwPlVXGxwOOAec73DdYkuqK+6HobDbpXZ2M8rdm\/L3n2Kau\/tKJ4YO28d+Ss35WO6HVzmVEcFxtVRRuk2aTuCfaB81Rg5Ge1TdFpR0tQKy91RrpiP0z6Dev2+rYKlUJ4ftL9n3tnvPDn42Me76bpbrIagSSU9WBgTMcfcRn4YWcINW2rPRTxXKIb4kPnYx34PiVUoim0rM7LZ4N4lk+4mGayNM8R3W11FK\/OMgZB798eGVpUuprNWYDK6Njj+7L5nxWm5rXtLXtDmnmCMgrOqtOWerJMtBEHHm5g4D69sLt4Pgcw146ST6r4+DRZIyVvFG9r29rTkLkpp+h7eHcdNU1VO\/ta8EfDPiuP4dvsAIptQyuHUJQduzrK5hjwY3tZaw8mv0ei46amu1e+SsuUppMgx07BjHt5dvUtOhtNBbWgUlLHGQMcYGXH1nmsTyLWMXo3OllHY5oz\/wDKdBrP\/a6P3D+6pNNq2JFUZQjJy3bv5+5TopjyDWL\/AErtSsB6mtGR\/UT7h1DN+vqFzP8ApA\/LCjgXMt38npB+nycXuZU\/aCXPIDaKmyS7YDI\/zrUqtS2ak2kr43HOMR+f8MqW09p2G+uqqquqZ5Wsl4Gva7eQ9ZJOe5VVNpqz0mOjoInEdcg4z4qc8KdmZ6DrSi5RSSbbzMs6vnrHmO0WmeoP9N4wB68Z29oQ2zUt3yLhXsoYTv0UAyfVsfmVThoaMNAA7AvqjjS0RfuJS\/sk36IxKHSNponCR0LqmQHPHO7i8OXgtljGRsDI2hjWjAa0YAXJFByb1L4U4QVoqwREXCYREQBERAEREAREQBeC+VQo7JWT9YiIHrOw8SF71Na2mc6hpbfEMy1kwAG\/If4lqlBXkkU154KUmezSlN5Np6myMOlBldtjmdvDC2V1wQtp6eOFnoxsDRtjYDC7FyTu7k6ccEFHkERFwmEREAREQBERAEREAREQBERAFK08gvmtXTNaXU1tZwtcDsX5Pzz\/AOq3rtU+R2mqqASDHE4tx2428Vm6No202nopOHD5yZHHt3wPAD3qyOUWzLV+urGnw1fhp6m8iIqzUEREAREQBERAEREAREQBERAEREBP61n6HTz2ZI6aRrNh\/wCX9lbFBAKW309OP5qJrN+4LA1Zipr7Tb2nzpJ+I55AbD6qnU3lFGannXm+Vl7hERQNIREQBERAEREAREQBERAEREAREQE35PPLrsTVFJI6OKD8mVvot58\/eRjt96pERSbuV06eC\/e7hERRLAiIgCIiAIiID\/\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "YARITZA MATURANA",
    "correoContacto": "dsprintmallangamos@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:18",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "10:16",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 13/05/2026 10:18:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-XaCjx7-.xd+zYPoS7JszexyV4s+cIG_Af_mdlMZqa7SVL+.HhRx
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "BR1344",
    "correlativo": "6",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "orden 28660",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12550",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADJAIoDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABHEAABAwMCAgUJBQMICwAAAAABAAIDBAURBiESMRNBUWGhFCIycYGRscHRBxUWIzM0QvAkQ1KiwtLh4iY3VGNkcnN0gpKy\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAIDBAH\/xAAwEQACAQIDBQcEAgMAAAAAAAAAAQIDERIhMQQTQVFxMmGBkaHB0SJCseEjM2Jy8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAF566up7dSPqqqTgjZzPWT2Bd7nBrS5xAAGST1KTgjdqy9yTzgm10ji2NudpHbc+3t9RAUoxvm9CmrUcbRjq9DnDWamvkflFCIaCmccNMm5cO3kfkuf3dqymHSRXWGoPMseB8x9FTNaGtDWgAAYAHUvqlj5IrWz37UnfqYFt1HI+4fdt1pDSVZPmY3Y72+v2LfWLqi1feNrdJE3+U0\/5kTh6W3MZ\/jcBd+nrmbrZ4ah36g8yT\/mHX7eftXJJNYkdpylGbpzd+KZpoiKBpCIiAIiIAiIgCIiAIiICe1hcHwUDLfTZdU1zujDRz4ev35A9pWrabey12yGjZgljfOcP3nHmfesKhBvGtKmsPC6noG9HGc5HFuNv6x93rVSrJZJRMtH65yqvoui+WERFWagpjRw6Ca7UY2ZBVHhb2cx\/ZCp1MaexHqi9xZALnh+B17nfx8VOPZZmq5Vab6\/gp0RFA0hERAEREAREQBERAF56+qbRUE9U7lFGXesgbBehYOs6k0+nZWg4Mz2xj35PgCpRV2kV1Z4KcpckcNF0phsfTvB6SpkdIS7mRyHwz7VQry2un8ktdLT4wY4mtO2N8b7etepJO8mzlGGCnGPcERFEtCmKP8j7Qa1vVNTg478N+hVOph4LPtDjwM8dLv3bH6KcOPQzbR9j\/wAkU6IigaQiIgCIiAIiIAiIgCl9Ufyu9Wi2k4Y6XpH94yPoVUKYuPn\/AGgWxh5CnLvB\/wBFZT1uZtqzgo82l6lOiIqzSEREAUw38z7RHf7qm6\/UOXvVOpih\/wBYly\/7YfCNThx6GbaNYf7L3KdERQNIREQBERAEREAREQBS2qHeQ3y03M7Rsf0cjuwZ+hcqleS52+G6UMlLMBhwy12M8LuoqUHZ5lNeDnBpa8PA9QIIyDkFfVNacuk1NK6x3Q8FTAeGF55SN6hn4dypUlHC7EqVRVI3QREUSwKYoN\/tDuRG4FMBn2RqnUxZfzNZXiT+iA3bl1fRThozNX7UF3+zKdERQNIREQBERAEREAREQBERAZl6sdNeoA2QmOZn6czRu36juWRR3utsVS23X1r3xF2Iq3chw7+34hVS89bRU9wpX01TGHxvG47O8d6mpZWehnqUXfHTdpfnqdzXNewPY4Oa4ZBByCFyUpJZb1Y5HTWSp6enJLjSydXcBy92CvVb9YUk8nk1wjdQVIOHNl2bn19Xt96OHGOZyO0JPDUWF+nmUKmNMfmX6\/S\/8RwgjkfOf9AqZrg5oc0ggjII61M6MIl+86kbiWpO4Ox5n5pHssVc6tNdfwU6IigaQiIgCIiAIiIAiIgCIiAIi81XcKOhZxVVVFCOxzgCfUOZTU42krs9K8dwtNDdI+Csp2yEDDX8nN9R5rGqNa0rpOhttLPXSnkGtIB8M+C4f6WXU\/zVsgce4vx4nPuVihJZvIzSr05\/Sli6K\/6PPParnpmN9RbLm11K3LjBUEAY+GeXLGcrx6Z1Nb7Pa309RHN0hkL\/ADADxZAHb3Bei66Vho7TU19ZXVFXUMZkOedsnA7z4rTsVjts+nKYVFFC90sfE95aOI539LmrHKOHPMxRp1VWtBYbLRu\/\/DobrCpqhm32OpnaeTznHfyB+K+m6asf+nZIW55cbv8AMF8fpWstxdJYrnJAScmGU5af47wvgv8AfLYCLraTKwEjpoOXhkfDwXLRfZSLMVRf3Sa6JW\/ByOoL7b\/zLrZgIQPOfA7PDz3OCdv47lQUdZBX0kdVTP445BkH5FYX44sz4jxNn3GCx0YOfHC46Lje2CtkbC6Klll44A7ng5+XD1lRlHK7Vi2lV\/kUIzxJ+hTIiKo3BFj3fUtFaJxTytkkmc0ODGN6icbleD8RXyp\/Y9PyNHU6YkD4D4qahJ5lEtopxeG933ZlOvhcGjLiAO0qZ6HWNZkvnpaIH90AE\/B3xT8HSVTg66Xeqqsfug4HjlMKWrI76cuxB+ORoVmqLPR5D6xkjh+7F5\/iNlm\/iq4V5LbRZpZR1SS+j7cbeK1qPT1poSHQ0UfGOTnjjI9WeS0gABgDAC7eC0RzBXl2pW6fL+CXFr1Pcv265to4yfQg9Ln3fUr00WjLXTEPqBJVybZMrts+ofPK3nvZGwvkcGNaMlzjgBYdZrC2U7xFTdJWzO2a2AZGezP0yuqU5ZIjKlQp\/VUd335mzT01PSx9HTwxxN7GNAXapby\/VdyANJQxUETgCHS7u8fovo0vc6s5uV9ndnmyIkN+nZ1LmDmySrt5U4N+i9Tt1tVsisL4ONvHNI1vDnfAPF8gu6LUdkt9FBTmtYeijazhjBfyGOYU9ctO0NHe7ZQROkk8ofxTOlfuW56sDbr8FWwWC00\/6dvgz2uZxHxUnhUUiiDrTqykklouff7mVJrmhJLaWkqp3dzQB8c+C+fia7zfs+nKjHU55d\/dVKxjI28LGho7AMLkoYo8jRuqz1n5JfslDcNSSPMg09T5PW7GeztXZ99amj\/UsIdtk8Dv8StiuvdttwPlVXGxwOOAec73DdYkuqK+6HobDbpXZ2M8rdm\/L3n2Kau\/tKJ4YO28d+Ss35WO6HVzmVEcFxtVRRuk2aTuCfaB81Rg5Ge1TdFpR0tQKy91RrpiP0z6Dev2+rYKlUJ4ftL9n3tnvPDn42Me76bpbrIagSSU9WBgTMcfcRn4YWcINW2rPRTxXKIb4kPnYx34PiVUoim0rM7LZ4N4lk+4mGayNM8R3W11FK\/OMgZB798eGVpUuprNWYDK6Njj+7L5nxWm5rXtLXtDmnmCMgrOqtOWerJMtBEHHm5g4D69sLt4Pgcw146ST6r4+DRZIyVvFG9r29rTkLkpp+h7eHcdNU1VO\/ta8EfDPiuP4dvsAIptQyuHUJQduzrK5hjwY3tZaw8mv0ei46amu1e+SsuUppMgx07BjHt5dvUtOhtNBbWgUlLHGQMcYGXH1nmsTyLWMXo3OllHY5oz\/wDKdBrP\/a6P3D+6pNNq2JFUZQjJy3bv5+5TopjyDWL\/AErtSsB6mtGR\/UT7h1DN+vqFzP8ApA\/LCjgXMt38npB+nycXuZU\/aCXPIDaKmyS7YDI\/zrUqtS2ak2kr43HOMR+f8MqW09p2G+uqqquqZ5Wsl4Gva7eQ9ZJOe5VVNpqz0mOjoInEdcg4z4qc8KdmZ6DrSi5RSSbbzMs6vnrHmO0WmeoP9N4wB68Z29oQ2zUt3yLhXsoYTv0UAyfVsfmVThoaMNAA7AvqjjS0RfuJS\/sk36IxKHSNponCR0LqmQHPHO7i8OXgtljGRsDI2hjWjAa0YAXJFByb1L4U4QVoqwREXCYREQBERAEREAREQBeC+VQo7JWT9YiIHrOw8SF71Na2mc6hpbfEMy1kwAG\/If4lqlBXkkU154KUmezSlN5Np6myMOlBldtjmdvDC2V1wQtp6eOFnoxsDRtjYDC7FyTu7k6ccEFHkERFwmEREAREQBERAEREAREQBERAFK08gvmtXTNaXU1tZwtcDsX5Pzz\/AOq3rtU+R2mqqASDHE4tx2428Vm6No202nopOHD5yZHHt3wPAD3qyOUWzLV+urGnw1fhp6m8iIqzUEREAREQBERAEREAREQBERAEREBP61n6HTz2ZI6aRrNh\/wCX9lbFBAKW309OP5qJrN+4LA1Zipr7Tb2nzpJ+I55AbD6qnU3lFGannXm+Vl7hERQNIREQBERAEREAREQBERAEREAREQE35PPLrsTVFJI6OKD8mVvot58\/eRjt96pERSbuV06eC\/e7hERRLAiIgCIiAIiID\/\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "YARITZA MATURANA",
    "correoContacto": "dsprintmallangamos@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:18",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "10:16",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


13/05/2026 10:18:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[13/05/2026 10:18:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76121841', 'BR1344', 6, 9291721, 0, NOW(), 
				'08:00', '10:16', '10:18', 10, 'orden 28660', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778681894.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[13/05/2026 10:18:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200299

13/05/2026 10:18:14 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200299'                    
				WHERE idllamado = 12550			
				TO ENVIO: micorreo@miempresa.cl, dsprintmallangamos@gmail.com


13/05/2026 10:18:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            
13/05/2026 10:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:18:14 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12550			
				
13/05/2026 10:18:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


13/05/2026 10:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:18:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            
13/05/2026 10:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:18:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:18:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                [13/05/2026 10:18:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                
[13/05/2026 10:18:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 10:18:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            
13/05/2026 10:18:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            
13/05/2026 10:18:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:18:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10: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 = 12550
                
13/05/2026 10: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 = 12550
                [13/05/2026 10:18:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                
[13/05/2026 10:18:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 10: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 = 12550
                
13/05/2026 10:18:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            
13/05/2026 10:18:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            
13/05/2026 10: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 = 12550
                
13/05/2026 10: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 = 12550
                
13/05/2026 10:18:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            [13/05/2026 10:18:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 10:18:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            [13/05/2026 10:18:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 10: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 = 12550
                
13/05/2026 10:18:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                [13/05/2026 10:18:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                
[13/05/2026 10:18:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 10:18:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            
13/05/2026 10:18:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12550
                
13/05/2026 10:18:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12550
            GROUP BY l.idllamado;
            
13/05/2026 10: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 = 12550
                
13/05/2026 10: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 = 12550
                [13/05/2026 10:19: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[13/05/2026 10:19:01] 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;
                
[13/05/2026 10:19:03] 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;
                
[13/05/2026 10:19:09] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12564
            GROUP BY l.idllamado;
            
13/05/2026 10:20:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12564
            GROUP BY l.idllamado;
            [13/05/2026 10:20:03] 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;
                
[13/05/2026 10:26:06] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[13/05/2026 10:26:06] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[13/05/2026 10:26:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[13/05/2026 10:26:09] 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;
                
[13/05/2026 10:26:09] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' 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;
				
[13/05/2026 10:26:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[13/05/2026 10:51: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;
                
[13/05/2026 10:51: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;
				

[13/05/2026 10:51: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;
                
[13/05/2026 11:01:38] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[13/05/2026 11:01:38] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[13/05/2026 12:34:13] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[13/05/2026 12:34: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;
                

[13/05/2026 12:34: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;
                

13/05/2026 12:34:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

[13/05/2026 12:34:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 12:34:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
13/05/2026 12:34:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
[13/05/2026 12:34:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 12:34:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
13/05/2026 12:34:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12:34:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12:34:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

[13/05/2026 12:34:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 12:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
13/05/2026 12:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
13/05/2026 12:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
13/05/2026 12: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 = 12178
                

13/05/2026 12:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
[13/05/2026 12:34:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 12: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 = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12: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 = 12178
                

13/05/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 = 12178
                

13/05/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 = 12178
                

13/05/2026 12:34:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12:34:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/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 = 12178
                

13/05/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 = 12178
                

13/05/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 = 12178
                

13/05/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 = 12178
                

13/05/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 = 12178
                

13/05/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 = 12178
                

13/05/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 = 12178
                

13/05/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 = 12178
                

13/05/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 = 12178
                

13/05/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 = 12178
                

13/05/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 = 12178
                

13/05/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 = 12178
                

13/05/2026 12:34:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
13/05/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 = 12178
                

13/05/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 = 12178
                

13/05/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 = 12178
                

13/05/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 = 12178
                

13/05/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 = 12178
                

13/05/2026 12:34:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
13/05/2026 12:34:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
13/05/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 = 12178
                

13/05/2026 12:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12:34:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
13/05/2026 12:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12:34:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
13/05/2026 12:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12:34:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
13/05/2026 12:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12: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 = 12178
                

13/05/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 = 12178
                

13/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
13/05/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 = 12178
                

13/05/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 = 12178
                

13/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
13/05/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 = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
13/05/2026 12: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 = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12:34:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
13/05/2026 12: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 = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12:34:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
13/05/2026 12: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 = 12178
                

13/05/2026 12:34:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12:34:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12:38:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
13/05/2026 12: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 = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12:38:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
13/05/2026 12:38:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12:38:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12:39:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
13/05/2026 12:39:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12:39:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12:39:01 - logentry: =========================================
FECHA: 13/05/2026 12:39:01
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-WDo8N+946mVKgqaupDf8E1BA3SsK3XIeei6+N4cgmNoU2A.tgl9
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65152165",
    "serieinterna": "EP2105",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "86971",
    "contadorColor": "125339",
    "contadorScanner": "0",
    "detalle": "•Entrega de tintas epson",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12178",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADIAZADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABOEAABBAECAwMIBgYGBwcFAAABAAIDBAUGERIhMRNBURQiMmFxgZGhFSOxwdHwFiQzQlJiJXJzotLhNDU2U4LC8UNEVWN0kuIHJlRWsv\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADIRAAIBAgMFBgYDAQEBAAAAAAABAgMREiExBBNBUXEiMmGBkaEUI7HB0eFCUvAzYvH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAfCdhuUa4OALSCD0IUDO2fJMLamG+4jIG3iVmtI3pqFtuPt8m2mCSIkq6heLZzzrqFRQfE2qIiodAREQBERAEREAREQBERAEREAREQBEXOxPFVgfPM8MjYN3OPcgbtmyPk8pVxNU2LL9h0a0dXHwCoWW9S53hkqRsx1U9HPO5ePhv8ADZc8bSk1Rkfpi+3apGeGCA8wdvH881rQABsBsAtHaGXE4446\/avaPDm\/EzePy1+hmG4nMPa8yD6mcdHHw6e5aVUWrceLmIdOzlNV+sYQOfLqFPw136QxFazvu57AHf1hyPzCSs1iRek5Qm6Unfiun6JyIq3N5lmFqNsPhdLxO4QAdlRJt2RvOShFyloWSLnBKJ68czRsJGhw943XRQWTuEREAREQBERAEREAREQBERAEREAREQBERAEREAREQGc1rPtjIqrT51iUN2Hh1XPUtB1bG070DQJaHD3b7tXzKf0hrKjUB4mV29o4d3jz+C0Vuu23UlrvG7ZGFpC1vhSOHBvXUfkvL9nmjabeow2WchK0O28FIWa0dYe2vYxkxHaVJCB6wtKqSVnY6aM95TUgiIqmoREQBERAEREAREQBERAEREAWa1dI+0aeHhds+1KC4fyj\/P7FpVl6jRkNd2ZzzbSi4G7+PT73K8Nb8jm2nOKh\/Z2\/Jo68EdWtHXibwxxtDWj1BdURUOhK2SPEjBJE5h6OBCz2i3mOlbpO9KtOQfz7lpFmMADHqfLxAeaSHe\/8lXj3Wjnq5VYPqvb9GnWX17\/qiH+2+5ahZjXIDsZWYT6U4HySn30Nr\/4SLHS9kWdP1nb7ljeB3tCtlmNFuMMV2i7kYJuQP59S06TVpMts0sVKLYREVDcIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAL50G6+qNkbAq46xOf+zjcfkiIbsrsoNPfr2o8nkCNwx3ZsPh+dlqFn9GV3RYMTP34p3l5J71oFep3jDZlakm+OfqZaT+jNcRu32ius2\/4vzstSs5rKs40Yb0fJ9WQO337le1LDbdSKww7iRgcplmkytHs1Jw8\/U7IiLM6giIgCIiAIiIAiIgCIiAIiID4eizOjSJzkrvUzWPS8ep+9aKzIYqssg6sYSPcFRaHYGaf3H78zifkPuWi7jOapnXgurNEihSZehFkBQfYa2wQNmn19B7VNVLNG6knowsxhf9sMt\/VH3LTrMYX\/bDLf1R9ytHRmFfvw6\/ZmnWY1n9Z9HVx1dYBWnWX1Ge21Hh63UdpxO+ISn3htX\/ACa52+oq747XE8JADLkfE0+v8hahZfVjfJchjckN\/q5eE+xadrg5ocOhG4UzzSYodmU4cnf1PqIizOkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKg1lYMWF7Bp86xI2Mfer9ZfNny\/VWNoDm2L614H59SvT7xz7S\/ltLjl6l\/j64qY+CuBt2cYB9vepKIqG6VlZEe9WbcpTV3DcSMIVLo2052PlpSn6yrIW7HrstEsrF\/RmuHMDgIrrNyP5lpHOLRzVuxUhPy9TVIiLM6gi+FwaN3EAeJUaXJ0IATJchbt\/OEsQ5JaslIshn9XtjfHBi52u3O8koG4HqUGjrKxUslliQ2qwHp8HC7daqlJq5xy22jGeG\/mb1FmP0tszDerhrDgehcORT6a1I\/nHggAehLv81XdyNPiqfC78madFmPpHVTuQxcTSe8uXx1nVvCX+T12NaOe+yYHzHxK\/q\/Qv7t+tjq5ntSiNm+3PvVVBrHFTStjc6SMuIAL2bBZplbO6okFwmJ7IXcIDjs3f2d6s58HqG5CYZ5KgYR3MG\/gtMEVk2cz2mtN3pxy6a+5rYpY5oxJE9r2OG4c07gr2vzyetmtNOhh8t7KCc7cbebWnfv8AirsUNVEbjJRfBVdNLiaw2qUsnB3WpeZd3Bhrr\/4YHn+6VX6Pbw6Zrn+IvP8AeP4KqydTUsOMsvsXonw9m7tGjqW7c1wxQ1JDgo5KUlcVQxzmh224G53+9Th7NrmbrvfKTi9PufKWKGoW5S+XEWO2\/V3g9Nuny2Wg0zlH5LHFlg\/rNd3BKD19R\/Pgs5pyTP18X\/R1eKSB7y7dx578gfsXOK5l8PnnzOx7BNf5CHfk47jp7\/tV5RxXRhSqqnhnZ565c+J+gLM6d+t1FmJxzAfwb+\/\/ACXiTU+Tgjc6xhZGtaPOIPRVmntQR46Gw+WnPIbEpeXsbuFRQkos6Km0U5VIZ6XN4svb\/WNfVI+6KHi+0ruzWuKJ2kE8Z\/mYqulmcfJq+xeksNjhMfCxzgeZSMZK+RNavSnhSktUXuqqht4CcNG7oxxj3KRgbfluFrTd\/AGn2jkvX0jjrkLo23IHB7SPTAVNo6UQi7jS4EwSkt2O+7T3\/Yq27FuRo5JV009Vb0NOiIszrCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAi8SzRQML5ZGRtHe5wAVPb1diKu4E5mcO6Ju6lRb0M51IQ7zsXR5DdZjT4N\/UeSyTubWO7Jh\/Ps+a4XtV5GanLNTxroq7RsZpfuUfC6Xt3Ma2SbIPhhmPHwR9T7StVHDF3OKpW3lSKpq9s+X1NPczuMob9vbZxfwtO5+Sp3art3XFmIxcsw32Ej+QXOanpnAjecCzYaN+Fx43E\/YF8OUzmQj4sfSZj6gG5lkA6eP5CKK1t6idao3Zu3gs366ELN2c7Wq9tfyDa5efMgi6lUUcrIGRXzdL7bZARHzJA9ZV1p7CfT1ie3kZZJ4WO4Wu4iOM+PsWpdp\/GspywQVI2GRhbxAc\/itHOMMjljs9Sv8xacLu76lUzUuWyDA7G4hzmkenIeS9eTasuj6y3DUae5g5hdNG2XGjNQlP1lSQt69y0ayk8Lskd1Km6sFKUnn5GYbo58zuO9lbEru\/hOwUmLRuHjILoXyH+d5KvkVd5LmarZqK\/j9zH6Vo1LF\/ITeTMMbJOCMFvJq0OQxVa5jpa3YMHE08OzQNj3Kn0T+wyH\/qT9i06tUbUjPZYRdBXWtyg0fcfYxBglO76rzF7h0V+sxpIkXcoweiJuQWnVaneZpszbpK4VXqWwaun7cjXbOLOEbHbqdlaKh1mSNOy+t7ftUQzki1d2pSa5MlacqtqYGpGBsXRh7t\/E8z9qtFHx\/8Aq6v\/AGTfsUhRJ3ZemlGCS5FZqGgzIYWxE4buYwvZ6nAbj8Fz0vd8uwFZ5O74x2b9\/Ecvs2Vsszo4GvPlqG54K9jzR7dx\/wAoV1nB+BjLs14vmmvTMtdQ\/wCoL39i77FFwbS7R0LR1MDx8ypmebx4G8N9toHn4BR9Ku49MVOX7rh\/eIRdzzIavtFv\/P3I+iXA6eaB3SOBXHWjDFFRvsA7SvONj6j\/AJgJok9nUu1P9zZP4fcpOsmg6bnd\/C5hH\/uCtpVMddj6L6HzVl\/sMA5rDs+1sxo37j1+SsMTQbRxVaq5g3YwcQI359T81mccRqTMUyQTVx8DeLfoX7Dl8R8ltFWfZWE1oPezdXhovucX1a8g2fBG4etoVPDpOg29YnnjZMyb0WFvoexXyKqk1obypQnZyWhRSaOw0nSBzD4teQs9ewDcdqGtVr2ZYIrI2bIDuQ7wW+Wd1lXLsZHcZv2lWQPG3grwnK9mzk2nZ6ag5Rjmszl9BZ+t\/ouaL29zZAU4tX1RsRWsju26q\/o2W3KMNlpBEjA7kpCjG+KNVs8bXjJrzMx+kGcr8rWDcduvZnfkvbNaVGkC3Ts1j\/M3fZaRc5IYpQRJG14PXcbqMUeKJ3VVd2fqivrakxFrky6wHwf5v2qwisQzDeKZkn9VwKr7Om8RaJMlKME97PNPyVfLomgQfJp7Fc93C\/cfNTaD4jFtEdUn52NIizB0\/m6nOlmnuH8EvRfPpDVNAfrNCK20dXR9fz7kwX0Y+Ia78Gvf6GoRZqLWlZrgy9TsVHH+Ju4+5WtTOYy7t2FyMk\/uuPCfmquElqi8K9KekiwRfF9VTYIiIAiIgPEj+zjc\/YnhG+wHVYPJa1vWS+GozyYcWwI5vPv+HRaPUuWmpQx06XEbto8LA1u5A8VGr6JoCmWWXySWX83TNcQQfUPxW0MMVeRwbQ6tSWCk7W1M3Hp7UGUAllZJ5371h+3y6q0qaXztMbwz0o3d5DAT8eFS3UM9gR2lGz5bVYOcMh2LR6t1Hl1tLcjjrY+sI7UpDeKRw4Wn1f5rRylLu2scip0af\/S6l9elit1G\/M04WVMheilZLz7Ng8PHkurLOqb+Ja2vC5ldrQAY2hhcPV\/kveExclnVUrb7\/K3V28Urnc28Xh7t\/kt2AGgADYDuCrKajZWNKNCVVym5NLTXMw+AnwlCcDIQywXh1dZBPP4clcanycYwzY6crJHWniNhjdvy7+it7uNp5BgbbrslA6Fw5j3rFZDBCvqSGjiXFrwztQJXbtBG\/wCCiLjOV2XqRqUKeBWaeWWptMXSbj8bBVaNuBg39vepazdbUs9KVtXPVXVpCdhMBuxy0UcjJWNkjcHMcNw4HcFZSTTzO2lOElaPDgZf\/VOtu8Q327dOXEtUs5rKo51GK\/EB2lR4dv37K7o2W3KUNlh3EjA5WlmkzOj2KkqfmvP9khERZnUZjRP7DIf+pP2LTrMaL81mRYT5wslaG1MK1SackARsLufqC0qd9nLsrtQTM\/o76w5Gflu6wRyWmWd0VE5uIfM4EdvK543WiUVO8y2yr5MQqfVUXa6ctjva0O+BCuFGyNd1vHWK7Ts6WJzR7SOSrF2aZpVjig480cMDL2uCpPPXsWg+3ZWCoNG2BLgmwnk+u9zHD37\/AHq\/UzVpMihLFSi\/ALMac\/2mzn9qPtctOsxpb6zNZyc99jYezid\/kpj3WZ1f+tPq\/oXuTaX4u00dTC8fIqr0Y4O03CP4XvHzV1OztIJGcvOaRzWf0M\/fBPYd92TuBB7uQUruMSy2iPR\/Y8aX+qzOar9wn4h8XfiF71vdhhwrqhcDLO5vC0HmADvv8lAGUgwWqcrJY34XxhzWjmXu5bD5lQcjQs28Tcz2QAZJNwCCI\/ujiHP4fatFHtqT8DilVaoSpR1zv4LM1emsdFj8NAI+bpmCR7tuZJG6tlFxY2xNMeEDP\/5CZC\/Bjab7Nh4a1o5DvJ8AsXdyPRhhhTXBJDIZGrjK5ntShje4d7j4BZ5uXz2bfvi6oq1t\/wBrKOv59S+YfGS56c5fLt4mE\/UQH0QPHZatrQ1oa0AAcgArO0MtWYreV+1fDH3f4Mz9AZ+bzpdQSRu8GA7faF4m0vmZYHxv1BLI1w2LHA7H1dVqkTeSJ+FpvW\/qzBYPN5PFwyQOrGzVrPLX8I85ns9XtWyx2SrZSqLFZ4c09R3tPgVQRkY3W8kThtFfZ39C5eMjXfpfJNyVJp8jmdtPGOjVeSUn4nNRnOjHN3Sdn4ePQ1qLnBNHYgZNE7iY8btPiF0WB6adwiIgCIiA5ywQzN4ZYmPHg5u6qrelMRa5isIXfxRHh+Ss7VuvSgdPZlbFG3qSqefWWHhfwiSSQfxMZy+avHF\/E56ro6VLeZFOn8xjiXYvKvewcxFMfyPkvsOqbdIshzeOkgc53CJWDzT93zVvjs5j8oeGtPu\/bfgcNnbeOymywxTxmOaNsjHDYtcNwVLlwkjONJWxUZfdHirbr3YBPWlbLGejmrsspdwVvCTnJYEuPfJWPMEeAHf7OvgrnC5mHM1DLG0skYeGWM9Wn8FDjldaGlOs3LBNWl7PoWSIiodBl8eDd1zenldv5Izgjbt07vvPxWjs2YKcDp7EjY42DcucVl22o8FrC2659XBbj42yHpy5\/iPgudeva1hcFq210OMid9XHvsX\/AJ7z7gtnG+b0PPp1cCcYq8m3\/wDX4HsvyGrrDmxPfUxLTsXdHS\/n4Kxu6cw0OHfG6sGMhaXdqNuPl38RV1DDHXhbDCwMjYNmtaOQCotY2nRYfyaM\/WWniMAdSO9QpNtJZF50owpynUzdv8kZ3AuyuHp\/Sdeo2zVmcQ9o9MAd++3Ifgthic9RzEe8EnDKOsTyA4e7vCkY2oKGNr1R\/wBmwA+3v+arcvpipkXGxB+rWx5zZGcgT60lKMnmRTpVaMFgd\/D8MvFmYN\/09m4xsew83cd3qXOHUGQwsjauegc9pOzLMe2x935K8z2oG60pXIZWPhsxcAe1wIJ\/JSMWripWjPC1qmro0d6hWyNd1e1EJGHx6j1g9yzJbk9Iv4g828Xxej+8z8Fr15kjZLG6ORocxw2II5EKsZWyehvUoqbxLKXMitkrZnGOML2yQzsI38PaqjR8721bGOlJ7SpIWji8FEnisaQvGzWY6TGTO+sZ1MZQTxVtX1rlcgwZFnM796vhyaWhzOq8cZSyksn0fHpc1yIixPQMxp79V1HlafRpdxtCk6vuGvhzXj5y2nCNo32Pr+74qLOBT17C\/ntah2237\/yF5tD6Z1nFACHQUG8T+XLi8Pj9i3teSl4Hm3apSprW7Xr+i+xVQUcXXrd7GAH2qYiLFu56MUopJBERQSZXCOGO1bkse7ZonPaR8\/fsPcfktUsxqyKSlYpZuuzd9Z\/DJt3tP5I960cErZ4I5mHdr2hw9hWk80pHLQ7LlT5O66M6LMaN8+TKTctn2e7oeZP3rQXJ\/JqM8\/Tso3P+A3VLomDsdOsf\/vpXP6\/8P\/KoXcZM868Fyu\/saA9Fj9PZKtho8sy3KGMgskNb3uPMbDx9FW2Z1LXxrvJq7fKrjuQhZz29v4dVncFjG39T2m5iHedre2MfRu526j\/iCvCPZd9DCvVvViqequvDM5MkdlNU072RqGOtaftC08uIDkPbzIV\/rd\/DhY4\/95O1v2n7l41pE6OlVvRAB1WYHfwB9Xt2XPUszchZw9Ng4hYkEpHgOX4lWTxOLMnHdxqQbu3bzuaaCPsq8cf8DA34BZrURdkc\/j8QCezJ7SUAnmPyCtSsxVAfr60SOccA2+A\/FZw1bOvaFeMYc2kaZrQ1oa0AAcgB3L6iLM6giIgM3rCs5taDJRcXaVJAfN8FYSWaOYpGn2sb5LEPF2YduRyUy9WZcpTV5GhzZGEbL84wliWnqCuXncMk7EuI5AeC2gsUeh51ee5q6ZS1Nbo2y92OlpSenVkLPcoOay9jH6ugHbPEHC0Oj4iGnfxAUjHAU9b3YATtYj49j8VT6xhM2ek238yAO5epWik59TKpOUdnSWsXb0N+CCARzBX1QMJObOFqTE83RjdT1g1Z2PUjLFFPmERUtXU1O5mX46LiJHJsg6OI6ok3oRKpGLSk9SDlYvLNW1qdsF1V0e7Wu5Bzhz5ePRaGOnViYGR14mtHQBgAUTMYaPKwjzzFOz0JW77j1cvWqkjV9Qdm19WyxvSR+wO3r5had5KzObOlOTcW78Vn5HnVVWtRfRyEETYpGWAHdmOHiHu9i1IO7QfUvzXOZrJXAypbfWcWP4h2HnbH2gkKdXoanzzwbU8teAjhJf8AVgt9TR1V3T7Kuzmp7SlVlu4t3sb1ZazEMLq+rPAAyHIbskZvtu7f18upafitHUripUirh5eImBoc7qdlnMhIMrrKlUhPE2hvJJy3API\/4R7VnDV8jr2juxfG6saleXvbGwve4Na0bknoF6Wa1bcll8nwtQ\/X3HDj27mev2\/cVWMcTsa1aipwcituQ2NZZKXydzWVKYIjeR6ZO3f69laYLNmJ7cRkoG07MQDWDo149Xr+1XVClDjqUVWBuzI27b+J7yfaouawdbNQBkvmSt9CVo5t\/EK+NPsvQ5lQqQ+ZF3lx5Pw8uBZrL3P6W1rBW9KGizjeCNxxdfwXGLLZPTbhWy0TrFbmIp2cz7130a3yjy7JPPn2JjsO8Dr9\/wAlKjhTkRKqq0o09He7XQ06IixO85zwRWYXQzxiSN42c096xmd0qcezy\/GvPZwnjMLiTw+xbdeXsbIxzHDdrhsQrxm4swrUIVVZ68yiwOqauVY2GZwhtfwHo72FX6\/P5cTUp5eXGW3OgZI7jrWQNuE+HsVvSzdzDTijm2Hst9o7XcfaVeUE84nNR2mSWGr0v+fyaaWJk8T4pWhzHjZwPeF+cZyjZwVtkAJdWbJ2sDj3epfo8cjJoxJG8PY4bhwO4KrtQ4xuUxMsWw7Ro42HwIVacsLzNNro72F46rQnVZhYqRTA78bA7cexdlRaRvC3hWRHcSVj2bgVaXr1fHVX2bLw1jfiT4BVcbSsb06ilTU3yM3rd7q0lG3C4CZjiB4q00zjHUMcJZt\/KbB45STv16BZq3Rv6gqWsxNxsbGN68Q72961+EuC9h60+\/MsAPtC1nlBI46Fp7Q5tarL6XJ6IiwPRCIiAj3qjL1Gaq\/pKwjfwPcfceao9I3XtjnxFkkT03ENB6lu\/wB34K+sW69SMyWJmRNHe47LCZfLh2aOWwzJPq2cMshZ5p7t\/s+C1gnJNHFtNSNKcal8+K8P0afVltlbT9lvEOOUBjRv13PP5bqgx0+Xy2Nr43GMNWtFGGy2Hctz37H49Oar5KD8jlceya8bk1zaSRw3LWN35j5HwX6NFFHDG2OJjWMaNmtaNgFZ2hG2pjBS2mo5PJLLrxK7EafpYhvFG3tJz6Uzx5x9ngqtwFX\/AOoTSeQt1+p8QP8A4rULMap\/VctiL45Bk3A8+rcfduqQbbd+JvXhGnTTirJNMuM1T8vw9muG8TnMPCPWOY+ayGl5JsnnKpmbu2hXLentA+0fBbyR7WRue4gNaCSSsToq3E7N3Whgb24L2bcthxdNvf8AJWg+wzPaIrf089ftmjcLMUv9vb39iPsC06y915xes4LL27RXGdmXd2\/52VIcUb7Rlhk+DRK1RkJoIYKNRxFi28NaWjcgd6i4a9ZxGTdhspN2nF50EzjyPq5rxiQ\/N6osZN5Pk9X6uIb8ifzufgrbP4cZantGeCxEeKJ\/gfBXyXZZhac260OGi5r9lqiodPZuS0H0b47K7X5ODuXGPFW01+pX\/bWYmf1nBZuLTsdkKsZxxJnPLWxRxdiyf3GHYeJX5fPBPTmr2Zm8Pa7St5bd61Oq89UtNho17IdE5+80kfnbAd3rVbqPJY\/IU60VOObeuOEPc3YELopJx4ank7bOFRu0u7p1LjtA\/W1OZh4jLWBdt7F51FAP0nq8RPDYhcw\/AqgwFy8zJtsV6jrkkUXAGj90Kfnzn5oosjdqx12QOHAW+kN\/FMNpIhVVOjJ2et9C+0ZOXYZ0LiSYJCzmVdy260A3lnjjHi5wCwmmsRZy8NiRuRlrMEnntjHpHbffqr6PRGLa7ilfPM7v4n8j8lnOMcTuzr2epWdKOGPm2dctqfFw05o4rjJJnMIaI\/O5+5YyldFWxQmrVJHzsceLcbdoT4Ee1a3NYLHUdO2zVpxteGbhx5kcx3lVc5BraZ2P8P3K8MNsjn2hVXPttZJadSeP0tyTd\/qcew9N+v3n7F6bo+SyQcnlrFkd7Adh89\/sWnXxZbx8Mjv+Gg++2+rMZfxVGvqTF4+lEGcJ7SQg8zt4n3fNbRZbCubk9UX8oCDFCOyjJPL2\/L5rvlNT\/WmjiIzbtu5btG7WfirSTk0jGjOnTjKeiby8sjpqPNPqMFChvJfn81rWjcsB7\/apGAwrMRTHHs+1Jzlk6knw38FywOCdQc65dl7e7L6Tjz4d+4FXapJpLCjanCUpbyevBcv2FldPsbktTZPKP3cIndlCT3d32D5rTTv7OvI\/fbhYTv7ln9DM4cG+TYbyTuJPuAUxyi2RV7VaEer\/AN6mkREWZ1FDq+32OHNZmxltOEbW9\/rUBukLVGGOfGXnw2g0cbSfNce\/8ldLbHZTXEEDm7w0Y+N245b9f8K1K1xOCSRwqlGvUlKXDJeRloNUW8fKK2dpuiP++YNwfX\/0V9UylG83etZjk9QPNSJIo5mcEsbXtPc4bhUlvR+Nn3fXD6svc6N3IH2KLxeuRphr09HiXjky+RZjyDU+PDRVux242j0ZeRRmqblMiPKYqaN3TjjG4UYG9MyfiUu+mi4y2Jr5emYJhs4c2P72lZ42zRjbiNQ1zLX6MsbHYD2qyh1liJOT5JInd4ew8l3fm8FejMUtuvI1w5teVZYlk0ZzdKo8UJK\/16lHjL7cDkGVmWRYxto7xScW\/AfBbLdvDvuNj3rA57H6firGWhbAl382NrtwT9y8M8g8lj8t1DYLiOccRLgPV1V5QUsznp15UW4OzXDMY\/L\/AEDnb8fZulbI8hrGHq7fkririr+fstu5neOu3nFWHL4rLus0qGchtY9kr4IyCA8bFx71q\/0rvSt3rYWd4\/mVpp6pGOzzg7xqPJPRZmjMMZgMPCBGW8PCOmyzeln+Q5LIYhx5RScce57kGa1JL6GE4N+nESqPI5DK0cqzKTQQwTbcBaDvxe0KkYOzR01tognGaTy8OB+iIsBDq7P25AytBG8noGxEqXZr6xyMQLi2Frhzax4YfxVd01qzRbbGSvCLfkaW\/msfjQfKbLGuA34Ad3H3KkGdzGaeY8RT7GEnbt5e5VNbT2aqyukfj4bMhPpSv4lbsvaojaGMxULWjkAOQCthitMzLfVJvtJxXgs\/U6waQilm8oytqS7KerSdmj8+5XrKdaOsazIGNhI2LA3YELPHNalbzOE3A7gSo9\/VWVrVHts4l1Z0gLWPJPIlQ4zlxNI1aFJNpNeT+pVYW3Xw+oZpix76fG+BkhHJnMc\/l81+hse2Rgexwc1w3BHQr8\/xWcxdPDOxd2nK\/tCXSu5bbnvHu2+C84vVDsNM6CMvs0OLdgfyc0epXnByObZ9phRSTeT9mfoiz2ta\/bYB0m3OCRr\/ALvvVTLruzPJ2dWtFFv0fK\/7UsjLZGnK+3maccPDu6NpBCpGm4tNm9XaadWEoQz\/AN4lrncp2ekmTNdtJbjY1ux\/iHP5bqmlhr6du4i1HKwlo4LHPc8+vL3n5KDp7Dz5+XgsTy+S1xt6W+3qHgr\/ACOjqEGJsuqskdYDOJrnO3O45q\/Zg8NzD5teO9UdFl5Z+5Mn1jiItxHI+Z3hG0nf3rPak1DBl6jIWUp43h\/FG9\/L2rRaYioz4SvOytC2Ro4XnhG4cPX81Bh\/+4dVCdjQ6lj\/ADQT0c71e\/7FWOGLeWhrV3tSmliXa4W\/2hXaeyGXZQNbF4+Jxa48cjj1PrVt5Hqy1+1uwVQeoYN\/xXnJ4izirpy2HB5neaAdHewKxoalxt6LczthkA86OTkQUk79qKFKCj8upJprxsn0KW1oy3JFJYOSfLb23G42B96q8fDgoWSMy0NiO1ECXNe7k8juC2lnPYyrCZHW43bdA125KzhpWdX5JtmeI1qMY2advOcpjKTXa0KVqNOMlus5ctfM7aWwkMxlyU1WNsUx+piI4gG+PNWmopaNLCzxyMY0yN4WMaACT6lBZpzMUBwY7MERdzJB0CkUdL7WfK8rZN2cejxeiFVtN4mzWEJxp7uMLPi3axk8FPYxP9JxbviY\/s7EfeB3Le2mQZjDSNa8dlPHuHeComQRUdW2KUrAauQZuGnk3de36cytbjrY\/IdnTkGxa482+xWm1J30M6EZ04ONrrNNeP4Zz0G5jILsHGC9soO3iNtt1rVjbWMk0rLVyFTikjaOC0f4vWtRBkaliqyyydnZvG4JdsqVFd4kdOyvBDdSyaGTreWY2xXHWSMge3uWEr2nTTYmi9hbPUn4XNI7twtZb1ViKgI8pErhy4Yxxc1kclZfqDNxvxdV8M4G+5OxJHer00+KObbJwbTg7vS3mfoznBo3cQB4krLan1LHHC7H0HdrPIOF7mc+EfivDNMZe9EGZPKv4P4GndXeMwOPxTR2EIMnfI\/m5UWGObzOmTrVlhSwrm9fQzGJwGYt02QSyGjTJ3c1vJ8niStZjcRSxUXBVhDSRs555ud7SpqKspuRpS2eFLTNhERUOg5zs7WCSP8AjaW\/ELP6HkLsJJG7k6OdwI9oB+9aRZbFH6H1ZcxzgRBb2lhJ6b9dh8SPcFpHOLRzVezVhLhmvU1KIizOk8CKNsjpAwB7gA523M7dF7REAREQBQ8pfr42k+xZHEwfugb7lTFFyFCHI1XV5huD0PgfFSrXzKzxYXh1MxNYymZ28jwcMUbuYkmaNyF5g0I+V\/aXbbWk8yyJvT1L1P8ASumgexyEE9cejHK7zgvNbXr3nhlx5e7wicujtW7Gh5PyMVq97+3sWsGjcPCdzE+U\/wA7twp8WGxdYbx0oWgd5bv9qyt\/XF0+ZXqCvv8AvSjc\/BRYrMORcH5TPyN3HoMaQB6lXBN5yZoto2eLtTivZfUnaykpNdTdWfDxxyblse3Ie5Tjq187WxYzHzWX7AcRGzVypV9IQ7Fs8Uzxz3lcSVZyaiwdCPhZYj2H7sTd0drJWuTG+KU3NRvyzK3yDU2W\/wBLtNpREegzqu40VQFaQPfJNO5p2ke7oVwl1zC9\/Z0qb5nHpxHhC+fSeo73KFlSoD\/FICU7fQX2d85v1\/R20fa4IJsZM1rJ6riDy2JCvZ8hTrAmazEzbru4LB5jFXaUjchaviXtXBszoTs4D71f09MYJ8TJ3zGzxgODnydfck4x71yaFWqlu1HTm+HAlz6vw8J2bYMp\/wDLaSoh1ZZnPDRw9iQnoXjYFW1ejiao2hhrM+BUsTQAbCWMD1OCpeK0R0Ya0tZpdF+TOGXVt7cNhhpsPeeoVNXxd3N559O3efYiq\/tJR0B8B7\/sWi1Jm\/JIGU6bmvtWvMaQ70N+W\/zUjA4+viKAjM0bp3+dK\/iHMq6k1G9jmlSVSooOTaWt37HOvpHD1+ZrmU+Mjt1ZDHUmxhgqQ8I7uALobVdvWeMe14Xh2QpsBLrcI2\/8wLJuTO2MKUNEkU2Q0ZjLj+OIOrOPXs+h9yjxaCoN\/aWJZOXcAFeOzGNYdnXYR\/xLk7UWIaNzfi29qupVDGVHZb3aRkqWClbqC5jK96WsYmh7CD6Q5dfirY4rU9bdsOTZOzbkJAodvM4+DV9bIV7LZIXx8Exb3def2fBW79Z4Zm\/1sjtv4WK8nPLI5aUaCxJytZvjwKahidS1+2qM4IIrJJe8HcNPqWpxOLhxFFtWEl23Nzj1cVUO1rUP7GnZl9jV5\/Su5KP1fCWCTyHH4qslOXA1pS2elpK\/uadV1zA4y8\/jnqtLidyRy3VT9LamnP1WIbED0LyvvZ6vn9KWtCD4dQqqLXE2lWhNWwN+X5LCDTGIrva9lVpLenEd1aeaxoHJoHTuWaOC1BOPrs4QPBrUGjS872MraefUdlLSesiIylHuU7eiL6XIU4G8UtqJoHi8Kvn1ZhoOtsP\/ALMErhFovEsO8gllP8z1YQYLF1v2VKIHxLd1HYRe+0Pgl7mTzucjyNqpZoVpy+vJvxlnUeCtfpbUlwfquKbAD0dIVpGxRsGzY2tHgBsvalzVrWKR2eeJyc9eWRlZMTqXItLLeQihjdycxg3BCp72mpsROx8sMt6n+92Z2IPsX6EviKq0RPY4SWbd+bzMWMjioIBFiMQ59uQcuOPfhPr3VxpzCy0A+5ddx25\/S\/lHgroRRtdxCNoPiAvahzurIvT2fDJSk9NMrIIiLM6giIgCIiAKl1Lh3ZKm2at5tyueKJwOxPqV0uU1iGszjnlZE3xe4BTFtO6M6kIzg4y0KzAZyPK1uzkIbbh82Vh7yO8K4WF1Daxcd1uQxV0Musd5wjHJ67s11MYYovo\/ey7Ybuds0nxWrpt5xOOG1xheFR5riuP7NmvjnNaC5xAA7yVlHzanuN4pZ62OiPi4b+4\/5qFLSxzQHZTUkk7+8Ru3B+1QqfiaS2p8I+tkamznMZU37a7ECO4Hc\/JVUutazjw0qdi0fEN2G6qYbmmq7+GpjJ7rwerm77\/ap8eXzMoDcfgWwN7jINtvsVsCXAxe0zlpJeSbOhzGpLnKrimwg9HyHovjsRnbYD8ll2wR7ecyPkvooaquj6\/Ix1WnujHP5L03RzZTxXclZnd3+dsCl0uRGGpPVSfV2+hF+i9M0CHXb3lMg\/jk4t\/cF0ZqbD1\/q8bjHzEdAyPZWlbSuHrHdtRrz4yHi+1WcVaCAbRQsYB\/C0BVc1xuzWFCotLR6K79zMPv53I8q+Fhiaej5mg\/auB0jkr3O5ZgiBO\/DHGtmijeNaF3ssZd9t\/7wMxW0Jjo9jPLLN4jfYfJSzo\/CkbeTEex5V4ih1JPiXWzUUrKKM+dFYbbzY5WnxEhXk6Kxm3mvnafESFaJExy5j4aj\/VGbOice4bOnsEeBes\/YwzMPkXRZE2DTd+zmjJ5e1foi5zQxWInRTRtkY7q1w3BVo1ZLUyqbHTkuyrMzVfS+Htxh8F6WRp8JVVZfH4igBBVsT2rb+TI2SbgH1q9l0ZjnSl8Mk8APVsb+SnYzT+PxYDoYuKXvkfzcrY0s7mT2aUuzgS8SgxeiRJXEuSleJncw1jvRHr9an\/oVQ\/\/ACLH\/vWjRUdST4nRHZKMVbCZ0aKxm3nPncfEyFe26LwoIJhkcfXIeav0UY5cy3w1H+qKRukcK3\/uu\/tcV2GmcMDv5BGfarVFGOXMsqFJfxXoZfU2nqUeFklpVWRSQkSeY3qO\/wDPqVjg2ULuKr2o60PE5oD9mDk7oVaua17CxwBa4bEHvUehjq2MgMFVnBGXF+2+\/Mqcd42ZRUFGriSVrHdsMTfRjYPY0L2iKh0hERAEREAREQBERAEREAREQBERAEREAREQGb1NbzsdhkGLhcYnR7ukY3c7kkbb93T5rONweemk7a1jpLRPdLN\/8l+jotY1MKskcVTZFVlilJmKq4jPRc61CjUI2HEWgn4811n0nlcm9rsjkIvM9HgZ\/wBFsEUb1krY6drNtrqfn+R0rex8oma1+QrN9JgcQ4Db1fcp+Hm0nLwsNVsE2\/NtnnsfaVsVX3sHjsi0+UVWFx\/fA2d8VbeXVpFPhFCWKnbo\/wAkuGKu1gMDIw3uLANl1WXOmMjj3Odh8q+NpO\/ZS8x+fcgzGo8cCL+LFpg59pCefy\/BVwX0Zqq7jlOLXuvY1CLPV9aYuR3BYE1V4OxEjN9vgrWvl8daG8N2B\/q4wD8FVxktUawrU592SJiL51G4X1VNQiIgCIiAIiIAiIgCIiAIiIAiIgCKPLkKUG\/a24GbczxSAKFNqbDQcn34yfBgLvsClRb0RSVSEdWi1RZyTXGKa7hiZYmPdwsGx+JXP9KMnZ5UsFOd+jpNwPsH2q27lyMXtVHg79MzTosx22sLfow1agPTi2P4oMLqOwP1nOdl\/ZA\/5Jg5sb9vuwf0+ppiQBuTsFGlyVGHftbkDNjtzkCov0LZKQ63k7Ux7+e2\/wAd1Ji0Zh4+b4pJT\/PIUtDmMdd6QS6v8EiTU+GjeGG61zidvNBKtQQ4Ag7g8wq+DAYmvsY6EO46EsBPxVioeHgaU95\/O3kERFU1CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA4WKVW03hsV45R\/O0FVc+kMNNzFZ0Z8WSEfLfZEVlJrRmcqUJ95JkP8AQ3sCTRy1uv4c99j7tk+hdSw\/sc6H7dO0b\/1RFO8lxMvhaa0uujY7LWcPLyipP69gPuC+fSGr4R5+Krygd7Xcz\/e+5EU4\/BEOg1pN+p9Goc8wfWafeT\/KT\/mn6VZPv01b\/vf4ERXSi+ByynVjpN+34H6X2hydgLYd3jny\/up+l9j\/AMBt\/P8AwoitgjyMviK39vp+B+l9j\/wG38\/8KfpXkv8A9auf3v8AAiI4R5EqvWf8vp+B+kmbPIadmBPTcn8E+mtTP5swbAP5nf5oio7Lgbx3ktZv2\/A8s1jJy+jqsXr4h\/iKdjrOX\/vVSH3A\/wDKURVx+CN\/h76zl6j6F1JMNp872friH4bIdGmf\/TcvbnPjvt9u6Io3kuBPwtN63fVskRaMw0e3HFJKR3vkPP4bKbDp3Dwehj4Dt3ubxfaiKHOT4l40KUdIr0JsdaCEARQxsAGwDWgLoiKpqklofUREJCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/2Q==",
    "razonSocial": "FUNDACION EDUCACIONAL NETLAND SCHOOL",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ANLLELY ARELLANO",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "IMPRIME EN BN Y TIENE TINTAS COLOR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "965872793",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I661\",\"id_control\":\"28669\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I662\",\"id_control\":\"28669\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I663\",\"id_control\":\"p28669\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I664\",\"id_control\":\"28669\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:39",
    "ubicacionGPS": "LatLng(lat: -23.5583504, lng: -70.3974376)",
    "horaLlegada": "12:27",
    "horaDespacho": "09:42",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 13/05/2026 12:39:01
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-WDo8N+946mVKgqaupDf8E1BA3SsK3XIeei6+N4cgmNoU2A.tgl9
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65152165",
    "serieinterna": "EP2105",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "86971",
    "contadorColor": "125339",
    "contadorScanner": "0",
    "detalle": "•Entrega de tintas epson",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12178",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADIAZADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABOEAABBAECAwMIBgYGBwcFAAABAAIDBAUGERIhMRNBURQiMmFxgZGhFSOxwdHwFiQzQlJiJXJzotLhNDU2U4LC8UNEVWN0kuIHJlRWsv\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADIRAAIBAgMFBgYDAQEBAAAAAAABAgMREiExBBNBUXEiMmGBkaEUI7HB0eFCUvAzYvH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAfCdhuUa4OALSCD0IUDO2fJMLamG+4jIG3iVmtI3pqFtuPt8m2mCSIkq6heLZzzrqFRQfE2qIiodAREQBERAEREAREQBERAEREAREQBEXOxPFVgfPM8MjYN3OPcgbtmyPk8pVxNU2LL9h0a0dXHwCoWW9S53hkqRsx1U9HPO5ePhv8ADZc8bSk1Rkfpi+3apGeGCA8wdvH881rQABsBsAtHaGXE4446\/avaPDm\/EzePy1+hmG4nMPa8yD6mcdHHw6e5aVUWrceLmIdOzlNV+sYQOfLqFPw136QxFazvu57AHf1hyPzCSs1iRek5Qm6Unfiun6JyIq3N5lmFqNsPhdLxO4QAdlRJt2RvOShFyloWSLnBKJ68czRsJGhw943XRQWTuEREAREQBERAEREAREQBERAEREAREQBERAEREAREQGc1rPtjIqrT51iUN2Hh1XPUtB1bG070DQJaHD3b7tXzKf0hrKjUB4mV29o4d3jz+C0Vuu23UlrvG7ZGFpC1vhSOHBvXUfkvL9nmjabeow2WchK0O28FIWa0dYe2vYxkxHaVJCB6wtKqSVnY6aM95TUgiIqmoREQBERAEREAREQBERAEREAWa1dI+0aeHhds+1KC4fyj\/P7FpVl6jRkNd2ZzzbSi4G7+PT73K8Nb8jm2nOKh\/Z2\/Jo68EdWtHXibwxxtDWj1BdURUOhK2SPEjBJE5h6OBCz2i3mOlbpO9KtOQfz7lpFmMADHqfLxAeaSHe\/8lXj3Wjnq5VYPqvb9GnWX17\/qiH+2+5ahZjXIDsZWYT6U4HySn30Nr\/4SLHS9kWdP1nb7ljeB3tCtlmNFuMMV2i7kYJuQP59S06TVpMts0sVKLYREVDcIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAL50G6+qNkbAq46xOf+zjcfkiIbsrsoNPfr2o8nkCNwx3ZsPh+dlqFn9GV3RYMTP34p3l5J71oFep3jDZlakm+OfqZaT+jNcRu32ius2\/4vzstSs5rKs40Yb0fJ9WQO337le1LDbdSKww7iRgcplmkytHs1Jw8\/U7IiLM6giIgCIiAIiIAiIgCIiAIiID4eizOjSJzkrvUzWPS8ep+9aKzIYqssg6sYSPcFRaHYGaf3H78zifkPuWi7jOapnXgurNEihSZehFkBQfYa2wQNmn19B7VNVLNG6knowsxhf9sMt\/VH3LTrMYX\/bDLf1R9ytHRmFfvw6\/ZmnWY1n9Z9HVx1dYBWnWX1Ge21Hh63UdpxO+ISn3htX\/ACa52+oq747XE8JADLkfE0+v8hahZfVjfJchjckN\/q5eE+xadrg5ocOhG4UzzSYodmU4cnf1PqIizOkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKg1lYMWF7Bp86xI2Mfer9ZfNny\/VWNoDm2L614H59SvT7xz7S\/ltLjl6l\/j64qY+CuBt2cYB9vepKIqG6VlZEe9WbcpTV3DcSMIVLo2052PlpSn6yrIW7HrstEsrF\/RmuHMDgIrrNyP5lpHOLRzVuxUhPy9TVIiLM6gi+FwaN3EAeJUaXJ0IATJchbt\/OEsQ5JaslIshn9XtjfHBi52u3O8koG4HqUGjrKxUslliQ2qwHp8HC7daqlJq5xy22jGeG\/mb1FmP0tszDerhrDgehcORT6a1I\/nHggAehLv81XdyNPiqfC78madFmPpHVTuQxcTSe8uXx1nVvCX+T12NaOe+yYHzHxK\/q\/Qv7t+tjq5ntSiNm+3PvVVBrHFTStjc6SMuIAL2bBZplbO6okFwmJ7IXcIDjs3f2d6s58HqG5CYZ5KgYR3MG\/gtMEVk2cz2mtN3pxy6a+5rYpY5oxJE9r2OG4c07gr2vzyetmtNOhh8t7KCc7cbebWnfv8AirsUNVEbjJRfBVdNLiaw2qUsnB3WpeZd3Bhrr\/4YHn+6VX6Pbw6Zrn+IvP8AeP4KqydTUsOMsvsXonw9m7tGjqW7c1wxQ1JDgo5KUlcVQxzmh224G53+9Th7NrmbrvfKTi9PufKWKGoW5S+XEWO2\/V3g9Nuny2Wg0zlH5LHFlg\/rNd3BKD19R\/Pgs5pyTP18X\/R1eKSB7y7dx578gfsXOK5l8PnnzOx7BNf5CHfk47jp7\/tV5RxXRhSqqnhnZ565c+J+gLM6d+t1FmJxzAfwb+\/\/ACXiTU+Tgjc6xhZGtaPOIPRVmntQR46Gw+WnPIbEpeXsbuFRQkos6Km0U5VIZ6XN4svb\/WNfVI+6KHi+0ruzWuKJ2kE8Z\/mYqulmcfJq+xeksNjhMfCxzgeZSMZK+RNavSnhSktUXuqqht4CcNG7oxxj3KRgbfluFrTd\/AGn2jkvX0jjrkLo23IHB7SPTAVNo6UQi7jS4EwSkt2O+7T3\/Yq27FuRo5JV009Vb0NOiIszrCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAi8SzRQML5ZGRtHe5wAVPb1diKu4E5mcO6Ju6lRb0M51IQ7zsXR5DdZjT4N\/UeSyTubWO7Jh\/Ps+a4XtV5GanLNTxroq7RsZpfuUfC6Xt3Ma2SbIPhhmPHwR9T7StVHDF3OKpW3lSKpq9s+X1NPczuMob9vbZxfwtO5+Sp3art3XFmIxcsw32Ej+QXOanpnAjecCzYaN+Fx43E\/YF8OUzmQj4sfSZj6gG5lkA6eP5CKK1t6idao3Zu3gs366ELN2c7Wq9tfyDa5efMgi6lUUcrIGRXzdL7bZARHzJA9ZV1p7CfT1ie3kZZJ4WO4Wu4iOM+PsWpdp\/GspywQVI2GRhbxAc\/itHOMMjljs9Sv8xacLu76lUzUuWyDA7G4hzmkenIeS9eTasuj6y3DUae5g5hdNG2XGjNQlP1lSQt69y0ayk8Lskd1Km6sFKUnn5GYbo58zuO9lbEru\/hOwUmLRuHjILoXyH+d5KvkVd5LmarZqK\/j9zH6Vo1LF\/ITeTMMbJOCMFvJq0OQxVa5jpa3YMHE08OzQNj3Kn0T+wyH\/qT9i06tUbUjPZYRdBXWtyg0fcfYxBglO76rzF7h0V+sxpIkXcoweiJuQWnVaneZpszbpK4VXqWwaun7cjXbOLOEbHbqdlaKh1mSNOy+t7ftUQzki1d2pSa5MlacqtqYGpGBsXRh7t\/E8z9qtFHx\/8Aq6v\/AGTfsUhRJ3ZemlGCS5FZqGgzIYWxE4buYwvZ6nAbj8Fz0vd8uwFZ5O74x2b9\/Ecvs2Vsszo4GvPlqG54K9jzR7dx\/wAoV1nB+BjLs14vmmvTMtdQ\/wCoL39i77FFwbS7R0LR1MDx8ypmebx4G8N9toHn4BR9Ku49MVOX7rh\/eIRdzzIavtFv\/P3I+iXA6eaB3SOBXHWjDFFRvsA7SvONj6j\/AJgJok9nUu1P9zZP4fcpOsmg6bnd\/C5hH\/uCtpVMddj6L6HzVl\/sMA5rDs+1sxo37j1+SsMTQbRxVaq5g3YwcQI359T81mccRqTMUyQTVx8DeLfoX7Dl8R8ltFWfZWE1oPezdXhovucX1a8g2fBG4etoVPDpOg29YnnjZMyb0WFvoexXyKqk1obypQnZyWhRSaOw0nSBzD4teQs9ewDcdqGtVr2ZYIrI2bIDuQ7wW+Wd1lXLsZHcZv2lWQPG3grwnK9mzk2nZ6ag5Rjmszl9BZ+t\/ouaL29zZAU4tX1RsRWsju26q\/o2W3KMNlpBEjA7kpCjG+KNVs8bXjJrzMx+kGcr8rWDcduvZnfkvbNaVGkC3Ts1j\/M3fZaRc5IYpQRJG14PXcbqMUeKJ3VVd2fqivrakxFrky6wHwf5v2qwisQzDeKZkn9VwKr7Om8RaJMlKME97PNPyVfLomgQfJp7Fc93C\/cfNTaD4jFtEdUn52NIizB0\/m6nOlmnuH8EvRfPpDVNAfrNCK20dXR9fz7kwX0Y+Ia78Gvf6GoRZqLWlZrgy9TsVHH+Ju4+5WtTOYy7t2FyMk\/uuPCfmquElqi8K9KekiwRfF9VTYIiIAiIgPEj+zjc\/YnhG+wHVYPJa1vWS+GozyYcWwI5vPv+HRaPUuWmpQx06XEbto8LA1u5A8VGr6JoCmWWXySWX83TNcQQfUPxW0MMVeRwbQ6tSWCk7W1M3Hp7UGUAllZJ5371h+3y6q0qaXztMbwz0o3d5DAT8eFS3UM9gR2lGz5bVYOcMh2LR6t1Hl1tLcjjrY+sI7UpDeKRw4Wn1f5rRylLu2scip0af\/S6l9elit1G\/M04WVMheilZLz7Ng8PHkurLOqb+Ja2vC5ldrQAY2hhcPV\/kveExclnVUrb7\/K3V28Urnc28Xh7t\/kt2AGgADYDuCrKajZWNKNCVVym5NLTXMw+AnwlCcDIQywXh1dZBPP4clcanycYwzY6crJHWniNhjdvy7+it7uNp5BgbbrslA6Fw5j3rFZDBCvqSGjiXFrwztQJXbtBG\/wCCiLjOV2XqRqUKeBWaeWWptMXSbj8bBVaNuBg39vepazdbUs9KVtXPVXVpCdhMBuxy0UcjJWNkjcHMcNw4HcFZSTTzO2lOElaPDgZf\/VOtu8Q327dOXEtUs5rKo51GK\/EB2lR4dv37K7o2W3KUNlh3EjA5WlmkzOj2KkqfmvP9khERZnUZjRP7DIf+pP2LTrMaL81mRYT5wslaG1MK1SackARsLufqC0qd9nLsrtQTM\/o76w5Gflu6wRyWmWd0VE5uIfM4EdvK543WiUVO8y2yr5MQqfVUXa6ctjva0O+BCuFGyNd1vHWK7Ts6WJzR7SOSrF2aZpVjig480cMDL2uCpPPXsWg+3ZWCoNG2BLgmwnk+u9zHD37\/AHq\/UzVpMihLFSi\/ALMac\/2mzn9qPtctOsxpb6zNZyc99jYezid\/kpj3WZ1f+tPq\/oXuTaX4u00dTC8fIqr0Y4O03CP4XvHzV1OztIJGcvOaRzWf0M\/fBPYd92TuBB7uQUruMSy2iPR\/Y8aX+qzOar9wn4h8XfiF71vdhhwrqhcDLO5vC0HmADvv8lAGUgwWqcrJY34XxhzWjmXu5bD5lQcjQs28Tcz2QAZJNwCCI\/ujiHP4fatFHtqT8DilVaoSpR1zv4LM1emsdFj8NAI+bpmCR7tuZJG6tlFxY2xNMeEDP\/5CZC\/Bjab7Nh4a1o5DvJ8AsXdyPRhhhTXBJDIZGrjK5ntShje4d7j4BZ5uXz2bfvi6oq1t\/wBrKOv59S+YfGS56c5fLt4mE\/UQH0QPHZatrQ1oa0AAcgArO0MtWYreV+1fDH3f4Mz9AZ+bzpdQSRu8GA7faF4m0vmZYHxv1BLI1w2LHA7H1dVqkTeSJ+FpvW\/qzBYPN5PFwyQOrGzVrPLX8I85ns9XtWyx2SrZSqLFZ4c09R3tPgVQRkY3W8kThtFfZ39C5eMjXfpfJNyVJp8jmdtPGOjVeSUn4nNRnOjHN3Sdn4ePQ1qLnBNHYgZNE7iY8btPiF0WB6adwiIgCIiA5ywQzN4ZYmPHg5u6qrelMRa5isIXfxRHh+Ss7VuvSgdPZlbFG3qSqefWWHhfwiSSQfxMZy+avHF\/E56ro6VLeZFOn8xjiXYvKvewcxFMfyPkvsOqbdIshzeOkgc53CJWDzT93zVvjs5j8oeGtPu\/bfgcNnbeOymywxTxmOaNsjHDYtcNwVLlwkjONJWxUZfdHirbr3YBPWlbLGejmrsspdwVvCTnJYEuPfJWPMEeAHf7OvgrnC5mHM1DLG0skYeGWM9Wn8FDjldaGlOs3LBNWl7PoWSIiodBl8eDd1zenldv5Izgjbt07vvPxWjs2YKcDp7EjY42DcucVl22o8FrC2659XBbj42yHpy5\/iPgudeva1hcFq210OMid9XHvsX\/AJ7z7gtnG+b0PPp1cCcYq8m3\/wDX4HsvyGrrDmxPfUxLTsXdHS\/n4Kxu6cw0OHfG6sGMhaXdqNuPl38RV1DDHXhbDCwMjYNmtaOQCotY2nRYfyaM\/WWniMAdSO9QpNtJZF50owpynUzdv8kZ3AuyuHp\/Sdeo2zVmcQ9o9MAd++3Ifgthic9RzEe8EnDKOsTyA4e7vCkY2oKGNr1R\/wBmwA+3v+arcvpipkXGxB+rWx5zZGcgT60lKMnmRTpVaMFgd\/D8MvFmYN\/09m4xsew83cd3qXOHUGQwsjauegc9pOzLMe2x935K8z2oG60pXIZWPhsxcAe1wIJ\/JSMWripWjPC1qmro0d6hWyNd1e1EJGHx6j1g9yzJbk9Iv4g828Xxej+8z8Fr15kjZLG6ORocxw2II5EKsZWyehvUoqbxLKXMitkrZnGOML2yQzsI38PaqjR8721bGOlJ7SpIWji8FEnisaQvGzWY6TGTO+sZ1MZQTxVtX1rlcgwZFnM796vhyaWhzOq8cZSyksn0fHpc1yIixPQMxp79V1HlafRpdxtCk6vuGvhzXj5y2nCNo32Pr+74qLOBT17C\/ntah2237\/yF5tD6Z1nFACHQUG8T+XLi8Pj9i3teSl4Hm3apSprW7Xr+i+xVQUcXXrd7GAH2qYiLFu56MUopJBERQSZXCOGO1bkse7ZonPaR8\/fsPcfktUsxqyKSlYpZuuzd9Z\/DJt3tP5I960cErZ4I5mHdr2hw9hWk80pHLQ7LlT5O66M6LMaN8+TKTctn2e7oeZP3rQXJ\/JqM8\/Tso3P+A3VLomDsdOsf\/vpXP6\/8P\/KoXcZM868Fyu\/saA9Fj9PZKtho8sy3KGMgskNb3uPMbDx9FW2Z1LXxrvJq7fKrjuQhZz29v4dVncFjG39T2m5iHedre2MfRu526j\/iCvCPZd9DCvVvViqequvDM5MkdlNU072RqGOtaftC08uIDkPbzIV\/rd\/DhY4\/95O1v2n7l41pE6OlVvRAB1WYHfwB9Xt2XPUszchZw9Ng4hYkEpHgOX4lWTxOLMnHdxqQbu3bzuaaCPsq8cf8DA34BZrURdkc\/j8QCezJ7SUAnmPyCtSsxVAfr60SOccA2+A\/FZw1bOvaFeMYc2kaZrQ1oa0AAcgB3L6iLM6giIgM3rCs5taDJRcXaVJAfN8FYSWaOYpGn2sb5LEPF2YduRyUy9WZcpTV5GhzZGEbL84wliWnqCuXncMk7EuI5AeC2gsUeh51ee5q6ZS1Nbo2y92OlpSenVkLPcoOay9jH6ugHbPEHC0Oj4iGnfxAUjHAU9b3YATtYj49j8VT6xhM2ek238yAO5epWik59TKpOUdnSWsXb0N+CCARzBX1QMJObOFqTE83RjdT1g1Z2PUjLFFPmERUtXU1O5mX46LiJHJsg6OI6ok3oRKpGLSk9SDlYvLNW1qdsF1V0e7Wu5Bzhz5ePRaGOnViYGR14mtHQBgAUTMYaPKwjzzFOz0JW77j1cvWqkjV9Qdm19WyxvSR+wO3r5had5KzObOlOTcW78Vn5HnVVWtRfRyEETYpGWAHdmOHiHu9i1IO7QfUvzXOZrJXAypbfWcWP4h2HnbH2gkKdXoanzzwbU8teAjhJf8AVgt9TR1V3T7Kuzmp7SlVlu4t3sb1ZazEMLq+rPAAyHIbskZvtu7f18upafitHUripUirh5eImBoc7qdlnMhIMrrKlUhPE2hvJJy3API\/4R7VnDV8jr2juxfG6saleXvbGwve4Na0bknoF6Wa1bcll8nwtQ\/X3HDj27mev2\/cVWMcTsa1aipwcituQ2NZZKXydzWVKYIjeR6ZO3f69laYLNmJ7cRkoG07MQDWDo149Xr+1XVClDjqUVWBuzI27b+J7yfaouawdbNQBkvmSt9CVo5t\/EK+NPsvQ5lQqQ+ZF3lx5Pw8uBZrL3P6W1rBW9KGizjeCNxxdfwXGLLZPTbhWy0TrFbmIp2cz7130a3yjy7JPPn2JjsO8Dr9\/wAlKjhTkRKqq0o09He7XQ06IixO85zwRWYXQzxiSN42c096xmd0qcezy\/GvPZwnjMLiTw+xbdeXsbIxzHDdrhsQrxm4swrUIVVZ68yiwOqauVY2GZwhtfwHo72FX6\/P5cTUp5eXGW3OgZI7jrWQNuE+HsVvSzdzDTijm2Hst9o7XcfaVeUE84nNR2mSWGr0v+fyaaWJk8T4pWhzHjZwPeF+cZyjZwVtkAJdWbJ2sDj3epfo8cjJoxJG8PY4bhwO4KrtQ4xuUxMsWw7Ro42HwIVacsLzNNro72F46rQnVZhYqRTA78bA7cexdlRaRvC3hWRHcSVj2bgVaXr1fHVX2bLw1jfiT4BVcbSsb06ilTU3yM3rd7q0lG3C4CZjiB4q00zjHUMcJZt\/KbB45STv16BZq3Rv6gqWsxNxsbGN68Q72961+EuC9h60+\/MsAPtC1nlBI46Fp7Q5tarL6XJ6IiwPRCIiAj3qjL1Gaq\/pKwjfwPcfceao9I3XtjnxFkkT03ENB6lu\/wB34K+sW69SMyWJmRNHe47LCZfLh2aOWwzJPq2cMshZ5p7t\/s+C1gnJNHFtNSNKcal8+K8P0afVltlbT9lvEOOUBjRv13PP5bqgx0+Xy2Nr43GMNWtFGGy2Hctz37H49Oar5KD8jlceya8bk1zaSRw3LWN35j5HwX6NFFHDG2OJjWMaNmtaNgFZ2hG2pjBS2mo5PJLLrxK7EafpYhvFG3tJz6Uzx5x9ngqtwFX\/AOoTSeQt1+p8QP8A4rULMap\/VctiL45Bk3A8+rcfduqQbbd+JvXhGnTTirJNMuM1T8vw9muG8TnMPCPWOY+ayGl5JsnnKpmbu2hXLentA+0fBbyR7WRue4gNaCSSsToq3E7N3Whgb24L2bcthxdNvf8AJWg+wzPaIrf089ftmjcLMUv9vb39iPsC06y915xes4LL27RXGdmXd2\/52VIcUb7Rlhk+DRK1RkJoIYKNRxFi28NaWjcgd6i4a9ZxGTdhspN2nF50EzjyPq5rxiQ\/N6osZN5Pk9X6uIb8ifzufgrbP4cZantGeCxEeKJ\/gfBXyXZZhac260OGi5r9lqiodPZuS0H0b47K7X5ODuXGPFW01+pX\/bWYmf1nBZuLTsdkKsZxxJnPLWxRxdiyf3GHYeJX5fPBPTmr2Zm8Pa7St5bd61Oq89UtNho17IdE5+80kfnbAd3rVbqPJY\/IU60VOObeuOEPc3YELopJx4ank7bOFRu0u7p1LjtA\/W1OZh4jLWBdt7F51FAP0nq8RPDYhcw\/AqgwFy8zJtsV6jrkkUXAGj90Kfnzn5oosjdqx12QOHAW+kN\/FMNpIhVVOjJ2et9C+0ZOXYZ0LiSYJCzmVdy260A3lnjjHi5wCwmmsRZy8NiRuRlrMEnntjHpHbffqr6PRGLa7ilfPM7v4n8j8lnOMcTuzr2epWdKOGPm2dctqfFw05o4rjJJnMIaI\/O5+5YyldFWxQmrVJHzsceLcbdoT4Ee1a3NYLHUdO2zVpxteGbhx5kcx3lVc5BraZ2P8P3K8MNsjn2hVXPttZJadSeP0tyTd\/qcew9N+v3n7F6bo+SyQcnlrFkd7Adh89\/sWnXxZbx8Mjv+Gg++2+rMZfxVGvqTF4+lEGcJ7SQg8zt4n3fNbRZbCubk9UX8oCDFCOyjJPL2\/L5rvlNT\/WmjiIzbtu5btG7WfirSTk0jGjOnTjKeiby8sjpqPNPqMFChvJfn81rWjcsB7\/apGAwrMRTHHs+1Jzlk6knw38FywOCdQc65dl7e7L6Tjz4d+4FXapJpLCjanCUpbyevBcv2FldPsbktTZPKP3cIndlCT3d32D5rTTv7OvI\/fbhYTv7ln9DM4cG+TYbyTuJPuAUxyi2RV7VaEer\/AN6mkREWZ1FDq+32OHNZmxltOEbW9\/rUBukLVGGOfGXnw2g0cbSfNce\/8ldLbHZTXEEDm7w0Y+N245b9f8K1K1xOCSRwqlGvUlKXDJeRloNUW8fKK2dpuiP++YNwfX\/0V9UylG83etZjk9QPNSJIo5mcEsbXtPc4bhUlvR+Nn3fXD6svc6N3IH2KLxeuRphr09HiXjky+RZjyDU+PDRVux242j0ZeRRmqblMiPKYqaN3TjjG4UYG9MyfiUu+mi4y2Jr5emYJhs4c2P72lZ42zRjbiNQ1zLX6MsbHYD2qyh1liJOT5JInd4ew8l3fm8FejMUtuvI1w5teVZYlk0ZzdKo8UJK\/16lHjL7cDkGVmWRYxto7xScW\/AfBbLdvDvuNj3rA57H6firGWhbAl382NrtwT9y8M8g8lj8t1DYLiOccRLgPV1V5QUsznp15UW4OzXDMY\/L\/AEDnb8fZulbI8hrGHq7fkririr+fstu5neOu3nFWHL4rLus0qGchtY9kr4IyCA8bFx71q\/0rvSt3rYWd4\/mVpp6pGOzzg7xqPJPRZmjMMZgMPCBGW8PCOmyzeln+Q5LIYhx5RScce57kGa1JL6GE4N+nESqPI5DK0cqzKTQQwTbcBaDvxe0KkYOzR01tognGaTy8OB+iIsBDq7P25AytBG8noGxEqXZr6xyMQLi2Frhzax4YfxVd01qzRbbGSvCLfkaW\/msfjQfKbLGuA34Ad3H3KkGdzGaeY8RT7GEnbt5e5VNbT2aqyukfj4bMhPpSv4lbsvaojaGMxULWjkAOQCthitMzLfVJvtJxXgs\/U6waQilm8oytqS7KerSdmj8+5XrKdaOsazIGNhI2LA3YELPHNalbzOE3A7gSo9\/VWVrVHts4l1Z0gLWPJPIlQ4zlxNI1aFJNpNeT+pVYW3Xw+oZpix76fG+BkhHJnMc\/l81+hse2Rgexwc1w3BHQr8\/xWcxdPDOxd2nK\/tCXSu5bbnvHu2+C84vVDsNM6CMvs0OLdgfyc0epXnByObZ9phRSTeT9mfoiz2ta\/bYB0m3OCRr\/ALvvVTLruzPJ2dWtFFv0fK\/7UsjLZGnK+3maccPDu6NpBCpGm4tNm9XaadWEoQz\/AN4lrncp2ekmTNdtJbjY1ux\/iHP5bqmlhr6du4i1HKwlo4LHPc8+vL3n5KDp7Dz5+XgsTy+S1xt6W+3qHgr\/ACOjqEGJsuqskdYDOJrnO3O45q\/Zg8NzD5teO9UdFl5Z+5Mn1jiItxHI+Z3hG0nf3rPak1DBl6jIWUp43h\/FG9\/L2rRaYioz4SvOytC2Ro4XnhG4cPX81Bh\/+4dVCdjQ6lj\/ADQT0c71e\/7FWOGLeWhrV3tSmliXa4W\/2hXaeyGXZQNbF4+Jxa48cjj1PrVt5Hqy1+1uwVQeoYN\/xXnJ4izirpy2HB5neaAdHewKxoalxt6LczthkA86OTkQUk79qKFKCj8upJprxsn0KW1oy3JFJYOSfLb23G42B96q8fDgoWSMy0NiO1ECXNe7k8juC2lnPYyrCZHW43bdA125KzhpWdX5JtmeI1qMY2advOcpjKTXa0KVqNOMlus5ctfM7aWwkMxlyU1WNsUx+piI4gG+PNWmopaNLCzxyMY0yN4WMaACT6lBZpzMUBwY7MERdzJB0CkUdL7WfK8rZN2cejxeiFVtN4mzWEJxp7uMLPi3axk8FPYxP9JxbviY\/s7EfeB3Le2mQZjDSNa8dlPHuHeComQRUdW2KUrAauQZuGnk3de36cytbjrY\/IdnTkGxa482+xWm1J30M6EZ04ONrrNNeP4Zz0G5jILsHGC9soO3iNtt1rVjbWMk0rLVyFTikjaOC0f4vWtRBkaliqyyydnZvG4JdsqVFd4kdOyvBDdSyaGTreWY2xXHWSMge3uWEr2nTTYmi9hbPUn4XNI7twtZb1ViKgI8pErhy4Yxxc1kclZfqDNxvxdV8M4G+5OxJHer00+KObbJwbTg7vS3mfoznBo3cQB4krLan1LHHC7H0HdrPIOF7mc+EfivDNMZe9EGZPKv4P4GndXeMwOPxTR2EIMnfI\/m5UWGObzOmTrVlhSwrm9fQzGJwGYt02QSyGjTJ3c1vJ8niStZjcRSxUXBVhDSRs555ud7SpqKspuRpS2eFLTNhERUOg5zs7WCSP8AjaW\/ELP6HkLsJJG7k6OdwI9oB+9aRZbFH6H1ZcxzgRBb2lhJ6b9dh8SPcFpHOLRzVezVhLhmvU1KIizOk8CKNsjpAwB7gA523M7dF7REAREQBQ8pfr42k+xZHEwfugb7lTFFyFCHI1XV5huD0PgfFSrXzKzxYXh1MxNYymZ28jwcMUbuYkmaNyF5g0I+V\/aXbbWk8yyJvT1L1P8ASumgexyEE9cejHK7zgvNbXr3nhlx5e7wicujtW7Gh5PyMVq97+3sWsGjcPCdzE+U\/wA7twp8WGxdYbx0oWgd5bv9qyt\/XF0+ZXqCvv8AvSjc\/BRYrMORcH5TPyN3HoMaQB6lXBN5yZoto2eLtTivZfUnaykpNdTdWfDxxyblse3Ie5Tjq187WxYzHzWX7AcRGzVypV9IQ7Fs8Uzxz3lcSVZyaiwdCPhZYj2H7sTd0drJWuTG+KU3NRvyzK3yDU2W\/wBLtNpREegzqu40VQFaQPfJNO5p2ke7oVwl1zC9\/Z0qb5nHpxHhC+fSeo73KFlSoD\/FICU7fQX2d85v1\/R20fa4IJsZM1rJ6riDy2JCvZ8hTrAmazEzbru4LB5jFXaUjchaviXtXBszoTs4D71f09MYJ8TJ3zGzxgODnydfck4x71yaFWqlu1HTm+HAlz6vw8J2bYMp\/wDLaSoh1ZZnPDRw9iQnoXjYFW1ejiao2hhrM+BUsTQAbCWMD1OCpeK0R0Ya0tZpdF+TOGXVt7cNhhpsPeeoVNXxd3N559O3efYiq\/tJR0B8B7\/sWi1Jm\/JIGU6bmvtWvMaQ70N+W\/zUjA4+viKAjM0bp3+dK\/iHMq6k1G9jmlSVSooOTaWt37HOvpHD1+ZrmU+Mjt1ZDHUmxhgqQ8I7uALobVdvWeMe14Xh2QpsBLrcI2\/8wLJuTO2MKUNEkU2Q0ZjLj+OIOrOPXs+h9yjxaCoN\/aWJZOXcAFeOzGNYdnXYR\/xLk7UWIaNzfi29qupVDGVHZb3aRkqWClbqC5jK96WsYmh7CD6Q5dfirY4rU9bdsOTZOzbkJAodvM4+DV9bIV7LZIXx8Exb3def2fBW79Z4Zm\/1sjtv4WK8nPLI5aUaCxJytZvjwKahidS1+2qM4IIrJJe8HcNPqWpxOLhxFFtWEl23Nzj1cVUO1rUP7GnZl9jV5\/Su5KP1fCWCTyHH4qslOXA1pS2elpK\/uadV1zA4y8\/jnqtLidyRy3VT9LamnP1WIbED0LyvvZ6vn9KWtCD4dQqqLXE2lWhNWwN+X5LCDTGIrva9lVpLenEd1aeaxoHJoHTuWaOC1BOPrs4QPBrUGjS872MraefUdlLSesiIylHuU7eiL6XIU4G8UtqJoHi8Kvn1ZhoOtsP\/ALMErhFovEsO8gllP8z1YQYLF1v2VKIHxLd1HYRe+0Pgl7mTzucjyNqpZoVpy+vJvxlnUeCtfpbUlwfquKbAD0dIVpGxRsGzY2tHgBsvalzVrWKR2eeJyc9eWRlZMTqXItLLeQihjdycxg3BCp72mpsROx8sMt6n+92Z2IPsX6EviKq0RPY4SWbd+bzMWMjioIBFiMQ59uQcuOPfhPr3VxpzCy0A+5ddx25\/S\/lHgroRRtdxCNoPiAvahzurIvT2fDJSk9NMrIIiLM6giIgCIiAKl1Lh3ZKm2at5tyueKJwOxPqV0uU1iGszjnlZE3xe4BTFtO6M6kIzg4y0KzAZyPK1uzkIbbh82Vh7yO8K4WF1Daxcd1uQxV0Musd5wjHJ67s11MYYovo\/ey7Ybuds0nxWrpt5xOOG1xheFR5riuP7NmvjnNaC5xAA7yVlHzanuN4pZ62OiPi4b+4\/5qFLSxzQHZTUkk7+8Ru3B+1QqfiaS2p8I+tkamznMZU37a7ECO4Hc\/JVUutazjw0qdi0fEN2G6qYbmmq7+GpjJ7rwerm77\/ap8eXzMoDcfgWwN7jINtvsVsCXAxe0zlpJeSbOhzGpLnKrimwg9HyHovjsRnbYD8ll2wR7ecyPkvooaquj6\/Ix1WnujHP5L03RzZTxXclZnd3+dsCl0uRGGpPVSfV2+hF+i9M0CHXb3lMg\/jk4t\/cF0ZqbD1\/q8bjHzEdAyPZWlbSuHrHdtRrz4yHi+1WcVaCAbRQsYB\/C0BVc1xuzWFCotLR6K79zMPv53I8q+Fhiaej5mg\/auB0jkr3O5ZgiBO\/DHGtmijeNaF3ssZd9t\/7wMxW0Jjo9jPLLN4jfYfJSzo\/CkbeTEex5V4ih1JPiXWzUUrKKM+dFYbbzY5WnxEhXk6Kxm3mvnafESFaJExy5j4aj\/VGbOice4bOnsEeBes\/YwzMPkXRZE2DTd+zmjJ5e1foi5zQxWInRTRtkY7q1w3BVo1ZLUyqbHTkuyrMzVfS+Htxh8F6WRp8JVVZfH4igBBVsT2rb+TI2SbgH1q9l0ZjnSl8Mk8APVsb+SnYzT+PxYDoYuKXvkfzcrY0s7mT2aUuzgS8SgxeiRJXEuSleJncw1jvRHr9an\/oVQ\/\/ACLH\/vWjRUdST4nRHZKMVbCZ0aKxm3nPncfEyFe26LwoIJhkcfXIeav0UY5cy3w1H+qKRukcK3\/uu\/tcV2GmcMDv5BGfarVFGOXMsqFJfxXoZfU2nqUeFklpVWRSQkSeY3qO\/wDPqVjg2ULuKr2o60PE5oD9mDk7oVaua17CxwBa4bEHvUehjq2MgMFVnBGXF+2+\/Mqcd42ZRUFGriSVrHdsMTfRjYPY0L2iKh0hERAEREAREQBERAEREAREQBERAEREAREQGb1NbzsdhkGLhcYnR7ukY3c7kkbb93T5rONweemk7a1jpLRPdLN\/8l+jotY1MKskcVTZFVlilJmKq4jPRc61CjUI2HEWgn4811n0nlcm9rsjkIvM9HgZ\/wBFsEUb1krY6drNtrqfn+R0rex8oma1+QrN9JgcQ4Db1fcp+Hm0nLwsNVsE2\/NtnnsfaVsVX3sHjsi0+UVWFx\/fA2d8VbeXVpFPhFCWKnbo\/wAkuGKu1gMDIw3uLANl1WXOmMjj3Odh8q+NpO\/ZS8x+fcgzGo8cCL+LFpg59pCefy\/BVwX0Zqq7jlOLXuvY1CLPV9aYuR3BYE1V4OxEjN9vgrWvl8daG8N2B\/q4wD8FVxktUawrU592SJiL51G4X1VNQiIgCIiAIiIAiIgCIiAIiIAiIgCKPLkKUG\/a24GbczxSAKFNqbDQcn34yfBgLvsClRb0RSVSEdWi1RZyTXGKa7hiZYmPdwsGx+JXP9KMnZ5UsFOd+jpNwPsH2q27lyMXtVHg79MzTosx22sLfow1agPTi2P4oMLqOwP1nOdl\/ZA\/5Jg5sb9vuwf0+ppiQBuTsFGlyVGHftbkDNjtzkCov0LZKQ63k7Ux7+e2\/wAd1Ji0Zh4+b4pJT\/PIUtDmMdd6QS6v8EiTU+GjeGG61zidvNBKtQQ4Ag7g8wq+DAYmvsY6EO46EsBPxVioeHgaU95\/O3kERFU1CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA4WKVW03hsV45R\/O0FVc+kMNNzFZ0Z8WSEfLfZEVlJrRmcqUJ95JkP8AQ3sCTRy1uv4c99j7tk+hdSw\/sc6H7dO0b\/1RFO8lxMvhaa0uujY7LWcPLyipP69gPuC+fSGr4R5+Krygd7Xcz\/e+5EU4\/BEOg1pN+p9Goc8wfWafeT\/KT\/mn6VZPv01b\/vf4ERXSi+ByynVjpN+34H6X2hydgLYd3jny\/up+l9j\/AMBt\/P8AwoitgjyMviK39vp+B+l9j\/wG38\/8KfpXkv8A9auf3v8AAiI4R5EqvWf8vp+B+kmbPIadmBPTcn8E+mtTP5swbAP5nf5oio7Lgbx3ktZv2\/A8s1jJy+jqsXr4h\/iKdjrOX\/vVSH3A\/wDKURVx+CN\/h76zl6j6F1JMNp872friH4bIdGmf\/TcvbnPjvt9u6Io3kuBPwtN63fVskRaMw0e3HFJKR3vkPP4bKbDp3Dwehj4Dt3ubxfaiKHOT4l40KUdIr0JsdaCEARQxsAGwDWgLoiKpqklofUREJCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/2Q==",
    "razonSocial": "FUNDACION EDUCACIONAL NETLAND SCHOOL",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ANLLELY ARELLANO",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "IMPRIME EN BN Y TIENE TINTAS COLOR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "965872793",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I661\",\"id_control\":\"28669\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I662\",\"id_control\":\"28669\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I663\",\"id_control\":\"p28669\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I664\",\"id_control\":\"28669\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:39",
    "ubicacionGPS": "LatLng(lat: -23.5583504, lng: -70.3974376)",
    "horaLlegada": "12:27",
    "horaDespacho": "09:42",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


13/05/2026 12:39:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:65152165

[13/05/2026 12:39:01] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('65152165', 'EP2105', 1, 24456550, 86971, NOW(), 
				'09:42', '12:27', '12:39', 10, '•Entrega de tintas epson', -1, 
				'', '','1','125339',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778690341.png', '', null, 'COMPLETADO','LatLng(lat: -23.5583504, lng: -70.3974376)' )
				
[13/05/2026 12:39:01] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200300
[13/05/2026 12:39:01] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200300', 'EPS-I661', 1)
				
[13/05/2026 12:39:01] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28669 and
				    IDproducto = 'EPS-I661'
				

13/05/2026 12:39:01 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I661';
                [13/05/2026 12:39:01] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200300', 'EPS-I662', 1)
				
[13/05/2026 12:39:01] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28669 and
				    IDproducto = 'EPS-I662'
				

13/05/2026 12:39:01 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I662';
                [13/05/2026 12:39:01] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200300', 'EPS-I663', 1)
				
[13/05/2026 12:39:01] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = p28669 and
				    IDproducto = 'EPS-I663'
				

13/05/2026 12:39:01 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I663';
                [13/05/2026 12:39:01] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200300', 'EPS-I664', 1)
				
[13/05/2026 12:39:01] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28669 and
				    IDproducto = 'EPS-I664'
				

13/05/2026 12:39:01 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I664';
                
13/05/2026 12:39:01 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200300'                    
				WHERE idllamado = 12178			
				TO ENVIO: micorreo@miempresa.cl, null


13/05/2026 12:39:01 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12178			
				
13/05/2026 12:39:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


13/05/2026 12:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12:39:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
13/05/2026 12:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12:39:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
[13/05/2026 12:39:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 12: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 = 12178
                

13/05/2026 12:39:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
13/05/2026 12:39:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
[13/05/2026 12:39:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 12: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 = 12178
                

[13/05/2026 12:39:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 12: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 = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12:39:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12178
            GROUP BY l.idllamado;
            
13/05/2026 12: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 = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12: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 = 12178
                

13/05/2026 12: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 = 12178
                
[13/05/2026 13:13:42] 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;
                
[13/05/2026 13:13:42] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

[13/05/2026 13:13: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;
                

[13/05/2026 13:13: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;
                

13/05/2026 13:13:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/2026 13: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 = 12562
                

[13/05/2026 13:13: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;
                

[13/05/2026 13:13: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;
                

13/05/2026 13:13:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/2026 13:13:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/2026 13: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 = 12562
                

13/05/2026 13: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 = 12562
                

13/05/2026 13: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 = 12562
                

13/05/2026 13:13:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/2026 13:13:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/2026 13: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 = 12562
                

13/05/2026 13: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 = 12562
                

13/05/2026 13: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 = 12562
                

13/05/2026 13: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 = 12562
                

[13/05/2026 13:13:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 13:13:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
[13/05/2026 13:13:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 13:13:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/2026 13:13:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/2026 13:13:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:13:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/2026 13:13:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:13:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/2026 13:13:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:13:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

[13/05/2026 13:13:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 13:13:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/2026 13:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/2026 13:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/2026 13:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/2026 13:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/2026 13:14:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/2026 13:14:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/2026 13:14:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/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 = 12562
                

13/05/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 = 12562
                

13/05/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 = 12562
                

13/05/2026 13:14:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/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 = 12562
                

13/05/2026 13: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 = 12562
                

13/05/2026 13:14:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/2026 13: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 = 12562
                

13/05/2026 13:14:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/2026 13: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 = 12562
                

13/05/2026 13: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 = 12562
                

13/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/2026 13:14:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:42 - logentry: =========================================
FECHA: 13/05/2026 13:14:42
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-DHIX9nDIf6iqZl9.an3fqXP3BuHziWDTg-AEp_sekHm52.NYrSv
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76522970",
    "serieinterna": "KY2546",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "181302",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12562",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAKYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA7EAABAwMCAgcGBAYBBQAAAAABAgMEAAURBiESMRNBUWGBkaEUIjJxsdEjQsHwFTM0Q1LhFiRTYsLx\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgIBAgQFAgUFAAAAAAAAAAECAxEhMQQSQVETImFx0ULwFIGRseEjMjNSwf\/aAAwDAQACEQMRAD8A\/ZqUpQApSlAClKUAKVzffajMrefcS22gZUpRwBWYcvF11C8qPZEGNFBwuUsYPh2eG\/ypoxbJWXRr03b6FvdNRW60gpfe43R\/ab3V49njVWLrqS7YXboCIbB5OvnJPfv9j86sLTpmDayHSPaJJ3Lzoyc9oHV9e+rimzFbLJLkts1m8Lsvn4MwLXqx3Knbyw2TuEoT6fCK8Jv91sklLOoGUrYXsiSyOZ7f2Aa1VcpEdqXHXHfQFtuDCkmjnzugfDtawk8+ryemXW32UPNLC21gKSociK91m9HvLaROtbiiownilJUd8En02z41pKWSw8FarPEgpClKUpUUpSgBSlcZctmDEclPq4W2xlRAzQcbSWWdqVndJuTZqZdzlOr6OS6eiaJylIHMj0HhSmksPAlVniQUsbmipSlKUFKVHmz4tuYD0t0NNlQSCe0\/v0o3ONpLLJFR5s2Pb4q5MlwIbQNz29w76TJ0eBEVKkOBDSRnPb3DtrNw4kjVcxNxuCS3bmz+BHz8feaeMc6vYjba4vkhrJ\/eWeWIc3V0gS5xXHtiTllkHBc+f38q1TLLUdlDLKAhtAwlKRsBXtKQlISkAADAA6q+1yUs+x2qpQ1ere7FKUpSwpSlAGYs22tLuG9mykFQ\/wDLb\/daesvpfMi+3qWeRe4EntGVfoBWoqlm5m4X\/Hnu3+4pSlTNIpSlACsbqicq83OPYISiSHfxldWfsBkn\/VX9\/uybPa3H8guqHC0Nvi7cdYFZ7QltUtx66PDP5G1E7k\/mP0qsFhObMPEzc5qiPXf2NfGjtxYzUdoYbaQEJB7AMUrrSpG1LGiFKUoOnxSglJUogADJJ6qxy3W9S3pyTIWE2i3fFxK91w77+P0x21ZavuDrFvRBihRkTVhscPMA\/fl59lUrUJd1dZsEJYEGCQZTyT\/MWefrkD\/Qq0I4WTzuJs5pqtLOOnd9F7dWSW239Y3MPuhxq0x1e4g\/3D+\/LlWvSlKEBCEhKUjAAGABXlllqOyhllAQ2gYSlI2ArpU5Sz7Guqrky28t7sUpSlLClKUAKjzpIhQH5SsYabUvfrwOVSKzespihBZtrCvx5rgTgf45++PWmisvBK6fh1uR70VFLNj6dYPHJcU4SrmRyH0z41oa4xY6IkRmMj4WkBA8Biu1EnltnaoeHWo9hSlKUoKUqi1bdv4ZaFIbVh+TltHcPzHy28RXYrLwhLJquDm+hmr8+9qTUyIEXKm2VdEkgZA395fy\/QCt5FjNQ4rcZkYbaSEpB7KzehrV7PCXcXU4cke63nqQD+p+grVVSx\/Suhl4St4dst5fsKUpUjaKUqr1JN9gsMp0HClI6NG3Wrb\/AHXUsvAs5KEXJ9DG3S4e3XWVObWFnPssQA9uxUPAnxUD1VtLDakWi1tR+EdMRxOqHWo9\/dy8Ky+i7eZsoTXUnoIY4GgTzcO5Phn1HZW6q1rx5UYOCrcs3S3f2\/vsKUpUD0RSlc2nmn0lTLiXEg4yk5FAHSlKUAKylscN\/wBWPXD4osEdGzkbE7jI9T5VZ6ouJt9nX0Z\/HfPRNgbkk89vlXew2wWm0sxsDpMcbpHWs8\/Ll4VRaRz3Ms\/6lqh0Wr\/58ljSlKmahSlKAPK1pbbUtZwlIJJ7BWCbbd1jqVbi+IQWDjY4wjfHirH7xVprK5uqDdlhgrek4LgSMnGdh448qurJaW7NbkRkYU5zccAxxn97VWPkjnqzDYvxFvh\/THf1fYsEpCUhKQAAMADqr7SlSNwpSlACsZr2QtxyFb29yolwpzzJ2T+tbOshCZRe9byZiiFMQMBGNwVDYeoUfAVSvR83YycXmUFWt5PBf2O3C12liKQAsJy5g59486sKUpG8vJpjFRioroKUrhNmMwIbsp9XC22Mk\/QedcOtpLLM\/rC9KjMfw6Io+0PIKlqSrHAgbnzANddERDHsXSqSQZDhWM9nIfSstLS\/LaM18o9pu7vC0g78LYPpuEgdwPbW4ZuFotkRqN7fFSllASAHBnYdmc1eSxDlR5lM\/EvdsnhJafn\/ABr+ZZ14W623jpHEoznHEcZwMn0qkk6yszDai3IU+sDZCEK3PzIxWGul1kXh4vPuqKivCGQPdQO6lhU5b6Fr+NrrXl1Zq4ROpNUOTF4XAgZS0NsKVyz353PlWsrG2zUsW2wG4kS1TFttjdRSMqVzJOKlHWgAybRLAHdXZQk3ohab6oRzKWr1e5qKVmP+aAbqtEwDrOOVfRru1g4WxLQrrBQnb1pPDl2L\/i6f9jTVXXy7t2W3qkLAW4Twtoz8R+1V51vZgM8bx7ujrPtx5mtL0uQvLUNs8PP4E9g7zzpo1vOZbEruKWOWp5ky60hAW6l69zBxSZayUE\/lTnfHZk+gFaevDTSGWkNNpCUISEpSOoDkK90kpczyaaa1XBRFKUpSopSlAEC9TxbLRIlcQC0ow3nrUdh61UaFjdHZ3ZJJKn3Tz7Bt9c1E1\/NKWY0JJICiXF788bD9akJcl2zQcdyGg8YbClHrSlRKir1qyj5Pc86VifEtvaCNHImRYmPaZLLOeXSLCc+dU0zWdojKCGluSl5xhlOw8TjPhmoFm03Z7lGTLelu3BwgdJxOY4TzwQN\/WtLFt8OCCIsVpnPPgSAT40rUI+paMr7FlYS\/X+CgF81FN\/obH0ST+Z8\/fh76p1Kvmp5y7W7JZCGTxucA9xONuY57mtBqa8OR0t2yBhc2UeHA5oSev5\/\/AGoVwZTpbS\/scYlcqYrgK0jckjcjw2HzzVIvst9jLam21KTaW\/xoVdksCL5NkGTNdfjRcNIcCt19mM5wnH1FW9xtOmbBE6aRG6VzHuIU6Spw\/LOMdpx9qkiQxpHTbKXUhT5H8sH43DufAdv3qsjxjHQvUuozxOn+njkcj+UY+g6uZruW3nOhxVwrio8q5t230IQixra0b3c4rXG+cxIKU4SO8jsG3n31I0dBXcro\/eJQ4i2v3SeRWRvt3Aj5ZFVlwTcL7OYW8Mype7DIIwhvc5PWO35ZNaOZO\/hzbWnrCgLlkcK1pGzfao9\/0ppZxjqyNSjz8zXlj+rf3+hLvWpExHf4fb0GTPWeEISMhHz7+7zqKnSkm5FL98uLry8fym8BKT3dXkKs7NZI1mYK1FLklY\/FfVzJ7uwfWpT11t0ckPT46COpTqc+VR5saQPQ8Pn817\/LovllHp5Tltv0+yqeccZSA60XDk74J88+nfWlcKA2ouFIQBlRVyA76xQvtuY1o\/PU\/wAUdTIQFpSTk4H2rlqTVTdzjpg28OhtZy6vhwVD\/ED98qZ1ylJEYcTXVXJZzhvC\/YkMRBqu7iQlgM2qMcABISXT4du3yHfWyQhDaAhtIQlIwEpGAKyUG83JqIiJadOOobQMJU6Tg9ZJ2Hf113CdZTPiXEhA7HkT\/wC1ckm\/RDU2RispOTe7S+cGoqJKukCD\/UzGWjjPCpYz5c6o\/wDis+Xvcb7IcB5tt5A9Tjn3dVSY2jLLHwVMLfI63Vn6DApcQW7L898v7YY938HmTrazMA9G46+R1NtkfXFRxqe6zCP4dYXVIJ2W6SAR5AetaCPb4UX+niMNd6GwK5Xa4ItdsemLwShPupP5lHkPOhOOyQso24cpzwvRfOSHYL0\/dDJYlRwzIjL4XAg5SOe3M77GlcdHwVRrMJDoPTS1F1RPMjq9N\/GlLPHM8FOHcnUnLcy2tHul1E6gnPRNoQM9W2f1r9AhsBq3MR1I2QylBSR2DGK\/OdREPaimBR3L6U9+MY+1fp1Vt0jFGPg\/NdbL1+TOS9J8ElUqzzFwHDjLaSeA\/b1qunXjU1iLSJa4kkuEhGE5KvAY7eytPdbrGtENUiQruQgc1nsFU1otUm53BN8uwwrYx2OpA6jg\/vO9cjLTMth7a0pclLak+2y9WVFtZ1BbZz0920rlSHx8bihlPby5dXlUORqSRLuzN1fhpWzHPC20T7oVz+LHPIzWw1TJmRrMsQmlOLePRqKRkpSQckd\/V41nbbY49jZFzv6gkpOWo2Qok9uOs93nVIyTXM0Zrapwkq4SeFq29iJLkXcyU3y5QAtpJHRIeOEJzywnOT20nOXy6spvUuO17IwMpQvZs74+EnJyauIUGVqmam5XNBagoP8A08f\/ACHb8u\/r+VfNXtXCdKi2uFFdLJHECnZBPYerYY86FJZSFlVLw5Ty8Pbu339jOxJl2k3cSIboVNlgp9xIJSOXWPd2HgK0MTRM1kqWbytlS\/j6FJ975nIzV1YbBHskchOHJCx+I7jn3DsFW1JO3Xymmjgly5t1fvsZlOhYCjl+XLdPesD9KktaNsjRBMZThA\/O4r9KvaVPxJdzUuGpX0o\/OH3WIl9uUWFAS445+BHRwAhB2BIB69tq2GnbIizwR0iUmW5u8sb+Ge6pMWzW+HNcmMRgh9z4l5J588Z5ZqdTTsysIlRw3JJylvrj0FKUqRtFKUoAVmL3FlXy\/R7WWlohMAPOr3AX1bHHPmPE1p6U0ZcryStrVkeV7HxKQlISkAADAA6qV9pSlT861fDXF1J7QoYakFKkk9wAP7761kzVVpitktyUyHSPcbaOeI9W\/IVC102o2Zp1IBDb4KgRnbB\/XHnVrBs1pj8EmLCZSSApC8cRG2xBP6VdtOKbPOhXOF01W1rh6+udiqtdpk3aam8XpJz\/AGIyhsgdRIrTUrP3fVDcd32G2I9snKPCEo3Sg9\/ae7zxU9ZvQ0rw+Hjlv5bJt6vkWyxukdPG6r+WyDgq+w76qrbZpN4li7X1Of8AsxSPdSO8fp512tGnHPajc7ysSZqjkIO6W+zx9B61oq62o6REUJWvms0XRfPwfAABgDAFfaUqZrFKUoAUpSgBSlKAFKUoAUpSgBSlKAFKUoAiXOA3crc9Ec5OJwD\/AInqPnWciXq52SIi3SLRIkrYHClxOcFPVyBHdtSlVr10Zj4nMMWReHselRdSagURJV\/DIZ5oT8Sh9T44HdV3abJCszXDGbysj33VbqV49ncKUpZSe3QpVTFed6vuyxpSlIaBSlKAFKUoAUpSgBSlKAFKUoAUpSgBSlKAFKUoA\/\/Z",
    "razonSocial": "SOCIEDAD EMPRENORT LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "KARIN JOFRE JERIA",
    "correoContacto": "karin.jofre.jeria@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "56984552116",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28668\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:14",
    "ubicacionGPS": "LatLng(lat: -23.6491638, lng: -70.3963155)",
    "horaLlegada": "13:13",
    "horaDespacho": "12:39",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 13/05/2026 13:14:42
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-DHIX9nDIf6iqZl9.an3fqXP3BuHziWDTg-AEp_sekHm52.NYrSv
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76522970",
    "serieinterna": "KY2546",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "181302",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12562",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAKYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA7EAABAwMCAgcGBAYBBQAAAAABAgMEAAURBiESMRNBUWGBkaEUIjJxsdEjQsHwFTM0Q1LhFiRTYsLx\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgIBAgQFAgUFAAAAAAAAAAECAxEhMQQSQVETImFx0ULwFIGRseEjMjNSwf\/aAAwDAQACEQMRAD8A\/ZqUpQApSlAClKUAKVzffajMrefcS22gZUpRwBWYcvF11C8qPZEGNFBwuUsYPh2eG\/ypoxbJWXRr03b6FvdNRW60gpfe43R\/ab3V49njVWLrqS7YXboCIbB5OvnJPfv9j86sLTpmDayHSPaJJ3Lzoyc9oHV9e+rimzFbLJLkts1m8Lsvn4MwLXqx3Knbyw2TuEoT6fCK8Jv91sklLOoGUrYXsiSyOZ7f2Aa1VcpEdqXHXHfQFtuDCkmjnzugfDtawk8+ryemXW32UPNLC21gKSociK91m9HvLaROtbiiownilJUd8En02z41pKWSw8FarPEgpClKUpUUpSgBSlcZctmDEclPq4W2xlRAzQcbSWWdqVndJuTZqZdzlOr6OS6eiaJylIHMj0HhSmksPAlVniQUsbmipSlKUFKVHmz4tuYD0t0NNlQSCe0\/v0o3ONpLLJFR5s2Pb4q5MlwIbQNz29w76TJ0eBEVKkOBDSRnPb3DtrNw4kjVcxNxuCS3bmz+BHz8feaeMc6vYjba4vkhrJ\/eWeWIc3V0gS5xXHtiTllkHBc+f38q1TLLUdlDLKAhtAwlKRsBXtKQlISkAADAA6q+1yUs+x2qpQ1ere7FKUpSwpSlAGYs22tLuG9mykFQ\/wDLb\/daesvpfMi+3qWeRe4EntGVfoBWoqlm5m4X\/Hnu3+4pSlTNIpSlACsbqicq83OPYISiSHfxldWfsBkn\/VX9\/uybPa3H8guqHC0Nvi7cdYFZ7QltUtx66PDP5G1E7k\/mP0qsFhObMPEzc5qiPXf2NfGjtxYzUdoYbaQEJB7AMUrrSpG1LGiFKUoOnxSglJUogADJJ6qxy3W9S3pyTIWE2i3fFxK91w77+P0x21ZavuDrFvRBihRkTVhscPMA\/fl59lUrUJd1dZsEJYEGCQZTyT\/MWefrkD\/Qq0I4WTzuJs5pqtLOOnd9F7dWSW239Y3MPuhxq0x1e4g\/3D+\/LlWvSlKEBCEhKUjAAGABXlllqOyhllAQ2gYSlI2ArpU5Sz7Guqrky28t7sUpSlLClKUAKjzpIhQH5SsYabUvfrwOVSKzespihBZtrCvx5rgTgf45++PWmisvBK6fh1uR70VFLNj6dYPHJcU4SrmRyH0z41oa4xY6IkRmMj4WkBA8Biu1EnltnaoeHWo9hSlKUoKUqi1bdv4ZaFIbVh+TltHcPzHy28RXYrLwhLJquDm+hmr8+9qTUyIEXKm2VdEkgZA395fy\/QCt5FjNQ4rcZkYbaSEpB7KzehrV7PCXcXU4cke63nqQD+p+grVVSx\/Suhl4St4dst5fsKUpUjaKUqr1JN9gsMp0HClI6NG3Wrb\/AHXUsvAs5KEXJ9DG3S4e3XWVObWFnPssQA9uxUPAnxUD1VtLDakWi1tR+EdMRxOqHWo9\/dy8Ky+i7eZsoTXUnoIY4GgTzcO5Phn1HZW6q1rx5UYOCrcs3S3f2\/vsKUpUD0RSlc2nmn0lTLiXEg4yk5FAHSlKUAKylscN\/wBWPXD4osEdGzkbE7jI9T5VZ6ouJt9nX0Z\/HfPRNgbkk89vlXew2wWm0sxsDpMcbpHWs8\/Ll4VRaRz3Ms\/6lqh0Wr\/58ljSlKmahSlKAPK1pbbUtZwlIJJ7BWCbbd1jqVbi+IQWDjY4wjfHirH7xVprK5uqDdlhgrek4LgSMnGdh448qurJaW7NbkRkYU5zccAxxn97VWPkjnqzDYvxFvh\/THf1fYsEpCUhKQAAMADqr7SlSNwpSlACsZr2QtxyFb29yolwpzzJ2T+tbOshCZRe9byZiiFMQMBGNwVDYeoUfAVSvR83YycXmUFWt5PBf2O3C12liKQAsJy5g59486sKUpG8vJpjFRioroKUrhNmMwIbsp9XC22Mk\/QedcOtpLLM\/rC9KjMfw6Io+0PIKlqSrHAgbnzANddERDHsXSqSQZDhWM9nIfSstLS\/LaM18o9pu7vC0g78LYPpuEgdwPbW4ZuFotkRqN7fFSllASAHBnYdmc1eSxDlR5lM\/EvdsnhJafn\/ABr+ZZ14W623jpHEoznHEcZwMn0qkk6yszDai3IU+sDZCEK3PzIxWGul1kXh4vPuqKivCGQPdQO6lhU5b6Fr+NrrXl1Zq4ROpNUOTF4XAgZS0NsKVyz353PlWsrG2zUsW2wG4kS1TFttjdRSMqVzJOKlHWgAybRLAHdXZQk3ohab6oRzKWr1e5qKVmP+aAbqtEwDrOOVfRru1g4WxLQrrBQnb1pPDl2L\/i6f9jTVXXy7t2W3qkLAW4Twtoz8R+1V51vZgM8bx7ujrPtx5mtL0uQvLUNs8PP4E9g7zzpo1vOZbEruKWOWp5ky60hAW6l69zBxSZayUE\/lTnfHZk+gFaevDTSGWkNNpCUISEpSOoDkK90kpczyaaa1XBRFKUpSopSlAEC9TxbLRIlcQC0ow3nrUdh61UaFjdHZ3ZJJKn3Tz7Bt9c1E1\/NKWY0JJICiXF788bD9akJcl2zQcdyGg8YbClHrSlRKir1qyj5Pc86VifEtvaCNHImRYmPaZLLOeXSLCc+dU0zWdojKCGluSl5xhlOw8TjPhmoFm03Z7lGTLelu3BwgdJxOY4TzwQN\/WtLFt8OCCIsVpnPPgSAT40rUI+paMr7FlYS\/X+CgF81FN\/obH0ST+Z8\/fh76p1Kvmp5y7W7JZCGTxucA9xONuY57mtBqa8OR0t2yBhc2UeHA5oSev5\/\/AGoVwZTpbS\/scYlcqYrgK0jckjcjw2HzzVIvst9jLam21KTaW\/xoVdksCL5NkGTNdfjRcNIcCt19mM5wnH1FW9xtOmbBE6aRG6VzHuIU6Spw\/LOMdpx9qkiQxpHTbKXUhT5H8sH43DufAdv3qsjxjHQvUuozxOn+njkcj+UY+g6uZruW3nOhxVwrio8q5t230IQixra0b3c4rXG+cxIKU4SO8jsG3n31I0dBXcro\/eJQ4i2v3SeRWRvt3Aj5ZFVlwTcL7OYW8Mype7DIIwhvc5PWO35ZNaOZO\/hzbWnrCgLlkcK1pGzfao9\/0ppZxjqyNSjz8zXlj+rf3+hLvWpExHf4fb0GTPWeEISMhHz7+7zqKnSkm5FL98uLry8fym8BKT3dXkKs7NZI1mYK1FLklY\/FfVzJ7uwfWpT11t0ckPT46COpTqc+VR5saQPQ8Pn817\/LovllHp5Tltv0+yqeccZSA60XDk74J88+nfWlcKA2ouFIQBlRVyA76xQvtuY1o\/PU\/wAUdTIQFpSTk4H2rlqTVTdzjpg28OhtZy6vhwVD\/ED98qZ1ylJEYcTXVXJZzhvC\/YkMRBqu7iQlgM2qMcABISXT4du3yHfWyQhDaAhtIQlIwEpGAKyUG83JqIiJadOOobQMJU6Tg9ZJ2Hf113CdZTPiXEhA7HkT\/wC1ckm\/RDU2RispOTe7S+cGoqJKukCD\/UzGWjjPCpYz5c6o\/wDis+Xvcb7IcB5tt5A9Tjn3dVSY2jLLHwVMLfI63Vn6DApcQW7L898v7YY938HmTrazMA9G46+R1NtkfXFRxqe6zCP4dYXVIJ2W6SAR5AetaCPb4UX+niMNd6GwK5Xa4ItdsemLwShPupP5lHkPOhOOyQso24cpzwvRfOSHYL0\/dDJYlRwzIjL4XAg5SOe3M77GlcdHwVRrMJDoPTS1F1RPMjq9N\/GlLPHM8FOHcnUnLcy2tHul1E6gnPRNoQM9W2f1r9AhsBq3MR1I2QylBSR2DGK\/OdREPaimBR3L6U9+MY+1fp1Vt0jFGPg\/NdbL1+TOS9J8ElUqzzFwHDjLaSeA\/b1qunXjU1iLSJa4kkuEhGE5KvAY7eytPdbrGtENUiQruQgc1nsFU1otUm53BN8uwwrYx2OpA6jg\/vO9cjLTMth7a0pclLak+2y9WVFtZ1BbZz0920rlSHx8bihlPby5dXlUORqSRLuzN1fhpWzHPC20T7oVz+LHPIzWw1TJmRrMsQmlOLePRqKRkpSQckd\/V41nbbY49jZFzv6gkpOWo2Qok9uOs93nVIyTXM0Zrapwkq4SeFq29iJLkXcyU3y5QAtpJHRIeOEJzywnOT20nOXy6spvUuO17IwMpQvZs74+EnJyauIUGVqmam5XNBagoP8A08f\/ACHb8u\/r+VfNXtXCdKi2uFFdLJHECnZBPYerYY86FJZSFlVLw5Ty8Pbu339jOxJl2k3cSIboVNlgp9xIJSOXWPd2HgK0MTRM1kqWbytlS\/j6FJ975nIzV1YbBHskchOHJCx+I7jn3DsFW1JO3Xymmjgly5t1fvsZlOhYCjl+XLdPesD9KktaNsjRBMZThA\/O4r9KvaVPxJdzUuGpX0o\/OH3WIl9uUWFAS445+BHRwAhB2BIB69tq2GnbIizwR0iUmW5u8sb+Ge6pMWzW+HNcmMRgh9z4l5J588Z5ZqdTTsysIlRw3JJylvrj0FKUqRtFKUoAVmL3FlXy\/R7WWlohMAPOr3AX1bHHPmPE1p6U0ZcryStrVkeV7HxKQlISkAADAA6qV9pSlT861fDXF1J7QoYakFKkk9wAP7761kzVVpitktyUyHSPcbaOeI9W\/IVC102o2Zp1IBDb4KgRnbB\/XHnVrBs1pj8EmLCZSSApC8cRG2xBP6VdtOKbPOhXOF01W1rh6+udiqtdpk3aam8XpJz\/AGIyhsgdRIrTUrP3fVDcd32G2I9snKPCEo3Sg9\/ae7zxU9ZvQ0rw+Hjlv5bJt6vkWyxukdPG6r+WyDgq+w76qrbZpN4li7X1Of8AsxSPdSO8fp512tGnHPajc7ysSZqjkIO6W+zx9B61oq62o6REUJWvms0XRfPwfAABgDAFfaUqZrFKUoAUpSgBSlKAFKUoAUpSgBSlKAFKUoAiXOA3crc9Ec5OJwD\/AInqPnWciXq52SIi3SLRIkrYHClxOcFPVyBHdtSlVr10Zj4nMMWReHselRdSagURJV\/DIZ5oT8Sh9T44HdV3abJCszXDGbysj33VbqV49ncKUpZSe3QpVTFed6vuyxpSlIaBSlKAFKUoAUpSgBSlKAFKUoAUpSgBSlKAFKUoA\/\/Z",
    "razonSocial": "SOCIEDAD EMPRENORT LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "KARIN JOFRE JERIA",
    "correoContacto": "karin.jofre.jeria@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "56984552116",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28668\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:14",
    "ubicacionGPS": "LatLng(lat: -23.6491638, lng: -70.3963155)",
    "horaLlegada": "13:13",
    "horaDespacho": "12:39",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


13/05/2026 13:14:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76522970

[13/05/2026 13:14:42] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76522970', 'KY2546', 1, 24456550, 181302, NOW(), 
				'12:39', '13:13', '13:14', 10, '•Entrega de toner', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778692482.png', '', null, 'COMPLETADO','LatLng(lat: -23.6491638, lng: -70.3963155)' )
				
[13/05/2026 13:14:42] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200301
[13/05/2026 13:14:42] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200301', 'KYO-I647', 1)
				
[13/05/2026 13:14:42] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28668 and
				    IDproducto = 'KYO-I647'
				

13/05/2026 13:14:42 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
13/05/2026 13:14:42 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200301'                    
				WHERE idllamado = 12562			
				TO ENVIO: micorreo@miempresa.cl, karin.jofre.jeria@gmail.com


13/05/2026 13:14:42 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12562			
				
13/05/2026 13:14:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


13/05/2026 13:14:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/2026 13:14:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/2026 13:14:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/2026 13:14:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
[13/05/2026 13:14: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;
                

13/05/2026 13:14:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/2026 13:14:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12562
                

13/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/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 = 12562
                

[13/05/2026 13:14:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[13/05/2026 13:14:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[13/05/2026 13:14:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/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 = 12562
                

13/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12562
            GROUP BY l.idllamado;
            
13/05/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 = 12562
                

13/05/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 = 12562
                

13/05/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 = 12562
                

13/05/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 = 12562
                

13/05/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 = 12562
                

13/05/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 = 12562
                

[13/05/2026 14: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;
                
[13/05/2026 14:28: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;
				
[13/05/2026 14:28: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;
                

[13/05/2026 14:28: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;
                

[13/05/2026 14:41: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;
                
[13/05/2026 14:41: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;
				
[13/05/2026 14:41: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;
                

[13/05/2026 14:41: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;
                

[13/05/2026 14:51:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[13/05/2026 14:51:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 14:51:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 14:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

[13/05/2026 14:51:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 14:51:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 14:51:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 14:51:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 14:51:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 14:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 14:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 14:51:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
[13/05/2026 14:51:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 14:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 14:51:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 14:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 14:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 14:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 14:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 14:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 14:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 14:51:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 14:51:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 14:51:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 14:51:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 14:51:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 14:51:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 14:51:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 14:51:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 14:51:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
[13/05/2026 14:51: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;
                

[13/05/2026 14:51: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;
                

13/05/2026 14:51:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 14:51:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 14:51:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

[13/05/2026 14:51: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;
                

[13/05/2026 14:51: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;
                

13/05/2026 14:51:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 14:51:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

[13/05/2026 14:51: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;
                

[13/05/2026 14:51: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;
                

13/05/2026 14:51:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/2026 14:51:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/2026 14:51:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
[13/05/2026 14:51: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;
                

13/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/2026 14:51:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 14:51:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 14:51:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 14:51:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 14:51:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 14:51:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
[13/05/2026 14:51: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;
                

13/05/2026 14:51:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 14:51:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 14:51:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 14:51:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 14: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 = 12565
                

13/05/2026 14: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 = 12565
                

[13/05/2026 14:58:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[13/05/2026 14:58:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[13/05/2026 14:58:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 14:58:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
[13/05/2026 14:58:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 14:58:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/2026 14:58:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/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 = 12565
                

13/05/2026 14:58:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/2026 14:58:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/2026 14:58:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/2026 15:56:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/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 = 12565
                

[13/05/2026 15:56: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;
                

13/05/2026 15:56:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/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 = 12565
                

13/05/2026 15:56:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/2026 15:56:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/2026 15: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 = 12565
                

[13/05/2026 15:56:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 15:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/2026 15:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
[13/05/2026 15:56:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[13/05/2026 15:56:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 15: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 = 12565
                

13/05/2026 15:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/2026 15: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 = 12565
                

13/05/2026 15: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 = 12565
                

13/05/2026 15: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 = 12565
                

13/05/2026 15: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 = 12565
                

13/05/2026 15: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 = 12565
                

13/05/2026 15: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 = 12565
                

13/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/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 = 12565
                

[13/05/2026 15:56:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
[13/05/2026 15:56:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
[13/05/2026 15:56:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
[13/05/2026 15:56:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/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 = 12565
                

13/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/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 = 12565
                

13/05/2026 15:56:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/2026 15: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 = 12565
                

13/05/2026 15: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 = 12565
                

13/05/2026 15:56:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/2026 15:56:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/2026 15:56:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
[13/05/2026 15:56: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;
                

[13/05/2026 15:56: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;
                

13/05/2026 15: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 = 12565
                

13/05/2026 15:56:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
[13/05/2026 15:56: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;
                

13/05/2026 15:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 15:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 15:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 15:56:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/2026 15:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 15:56:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/2026 15:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

[13/05/2026 15:56: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;
                

13/05/2026 15:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 15:56:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/2026 15:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 15:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 15:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 15:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 15:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 15:56:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 15:56:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

[13/05/2026 15:56: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;
                

[13/05/2026 15:56: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;
                

13/05/2026 15:56:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 15:56:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/2026 15:56:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 15:56:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/2026 15:56:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
[13/05/2026 15:56: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;
                

13/05/2026 15:56:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 15:56:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/2026 15:56:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/2026 15:56:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

[13/05/2026 15:56: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;
                

13/05/2026 15:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 15:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            
13/05/2026 15:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 15:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 15:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 15:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 15:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 15:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 15:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12565
                

13/05/2026 15:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 15:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
[13/05/2026 15:56: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;
                

13/05/2026 15:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/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 = 12566
                

[13/05/2026 15:56:30] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/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 = 12566
                

13/05/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 = 12566
                

[13/05/2026 15:56:30] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/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 = 12566
                

13/05/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 = 12566
                

13/05/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
[13/05/2026 15:56:30] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/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 = 12566
                

13/05/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 = 12566
                

13/05/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 = 12566
                

13/05/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 = 12566
                

13/05/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 = 12566
                

13/05/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 = 12566
                

13/05/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 = 12566
                

[13/05/2026 15:56: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;
                

13/05/2026 15:56:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 15:56:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/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 = 12566
                

[13/05/2026 15:56: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;
                

13/05/2026 15:56:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
[13/05/2026 15:56: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;
                

13/05/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 = 12566
                

13/05/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 = 12566
                

13/05/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 = 12566
                

13/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/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 = 12566
                

13/05/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 = 12566
                

13/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
[13/05/2026 15:56:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/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 = 12566
                

13/05/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 = 12566
                

13/05/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 = 12566
                

13/05/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 = 12566
                

13/05/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 = 12566
                

13/05/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 = 12566
                

13/05/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 = 12566
                

13/05/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 = 12566
                

13/05/2026 15:56:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 15:56:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 15:56:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 15:56:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 15:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 15:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 15:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 15:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 15:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 15:57:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 15:57:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15: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 = 12566
                

13/05/2026 15: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 = 12566
                

13/05/2026 15:57:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 15:57:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:06 - logentry: =========================================
FECHA: 13/05/2026 15:57:06
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-xJ7mzXYjnyIpeQyAd4TRgEzc321vi4l2I4Hcz85_yQyBWuSCDcT
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76689118",
    "serieinterna": "KY2715",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "1683902",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se entregan toner y residual",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12566",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAKYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA7EAABAwMCAgcGBAYBBQAAAAABAgMEAAURBiESMRNBUWGBkaEUIjJxsdEjQsHwFTM0Q1LhFiRTYsLx\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgIBAgQFAgUFAAAAAAAAAAECAxEhMQQSQVETImFx0ULwFIGRseEjMjNSwf\/aAAwDAQACEQMRAD8A\/ZqUpQApSlAClKUAKVzffajMrefcS22gZUpRwBWYcvF11C8qPZEGNFBwuUsYPh2eG\/ypoxbJWXRr03b6FvdNRW60gpfe43R\/ab3V49njVWLrqS7YXboCIbB5OvnJPfv9j86sLTpmDayHSPaJJ3Lzoyc9oHV9e+rimzFbLJLkts1m8Lsvn4MwLXqx3Knbyw2TuEoT6fCK8Jv91sklLOoGUrYXsiSyOZ7f2Aa1VcpEdqXHXHfQFtuDCkmjnzugfDtawk8+ryemXW32UPNLC21gKSociK91m9HvLaROtbiiownilJUd8En02z41pKWSw8FarPEgpClKUpUUpSgBSlcZctmDEclPq4W2xlRAzQcbSWWdqVndJuTZqZdzlOr6OS6eiaJylIHMj0HhSmksPAlVniQUsbmipSlKUFKVHmz4tuYD0t0NNlQSCe0\/v0o3ONpLLJFR5s2Pb4q5MlwIbQNz29w76TJ0eBEVKkOBDSRnPb3DtrNw4kjVcxNxuCS3bmz+BHz8feaeMc6vYjba4vkhrJ\/eWeWIc3V0gS5xXHtiTllkHBc+f38q1TLLUdlDLKAhtAwlKRsBXtKQlISkAADAA6q+1yUs+x2qpQ1ere7FKUpSwpSlAGYs22tLuG9mykFQ\/wDLb\/daesvpfMi+3qWeRe4EntGVfoBWoqlm5m4X\/Hnu3+4pSlTNIpSlACsbqicq83OPYISiSHfxldWfsBkn\/VX9\/uybPa3H8guqHC0Nvi7cdYFZ7QltUtx66PDP5G1E7k\/mP0qsFhObMPEzc5qiPXf2NfGjtxYzUdoYbaQEJB7AMUrrSpG1LGiFKUoOnxSglJUogADJJ6qxy3W9S3pyTIWE2i3fFxK91w77+P0x21ZavuDrFvRBihRkTVhscPMA\/fl59lUrUJd1dZsEJYEGCQZTyT\/MWefrkD\/Qq0I4WTzuJs5pqtLOOnd9F7dWSW239Y3MPuhxq0x1e4g\/3D+\/LlWvSlKEBCEhKUjAAGABXlllqOyhllAQ2gYSlI2ArpU5Sz7Guqrky28t7sUpSlLClKUAKjzpIhQH5SsYabUvfrwOVSKzespihBZtrCvx5rgTgf45++PWmisvBK6fh1uR70VFLNj6dYPHJcU4SrmRyH0z41oa4xY6IkRmMj4WkBA8Biu1EnltnaoeHWo9hSlKUoKUqi1bdv4ZaFIbVh+TltHcPzHy28RXYrLwhLJquDm+hmr8+9qTUyIEXKm2VdEkgZA395fy\/QCt5FjNQ4rcZkYbaSEpB7KzehrV7PCXcXU4cke63nqQD+p+grVVSx\/Suhl4St4dst5fsKUpUjaKUqr1JN9gsMp0HClI6NG3Wrb\/AHXUsvAs5KEXJ9DG3S4e3XWVObWFnPssQA9uxUPAnxUD1VtLDakWi1tR+EdMRxOqHWo9\/dy8Ky+i7eZsoTXUnoIY4GgTzcO5Phn1HZW6q1rx5UYOCrcs3S3f2\/vsKUpUD0RSlc2nmn0lTLiXEg4yk5FAHSlKUAKylscN\/wBWPXD4osEdGzkbE7jI9T5VZ6ouJt9nX0Z\/HfPRNgbkk89vlXew2wWm0sxsDpMcbpHWs8\/Ll4VRaRz3Ms\/6lqh0Wr\/58ljSlKmahSlKAPK1pbbUtZwlIJJ7BWCbbd1jqVbi+IQWDjY4wjfHirH7xVprK5uqDdlhgrek4LgSMnGdh448qurJaW7NbkRkYU5zccAxxn97VWPkjnqzDYvxFvh\/THf1fYsEpCUhKQAAMADqr7SlSNwpSlACsZr2QtxyFb29yolwpzzJ2T+tbOshCZRe9byZiiFMQMBGNwVDYeoUfAVSvR83YycXmUFWt5PBf2O3C12liKQAsJy5g59486sKUpG8vJpjFRioroKUrhNmMwIbsp9XC22Mk\/QedcOtpLLM\/rC9KjMfw6Io+0PIKlqSrHAgbnzANddERDHsXSqSQZDhWM9nIfSstLS\/LaM18o9pu7vC0g78LYPpuEgdwPbW4ZuFotkRqN7fFSllASAHBnYdmc1eSxDlR5lM\/EvdsnhJafn\/ABr+ZZ14W623jpHEoznHEcZwMn0qkk6yszDai3IU+sDZCEK3PzIxWGul1kXh4vPuqKivCGQPdQO6lhU5b6Fr+NrrXl1Zq4ROpNUOTF4XAgZS0NsKVyz353PlWsrG2zUsW2wG4kS1TFttjdRSMqVzJOKlHWgAybRLAHdXZQk3ohab6oRzKWr1e5qKVmP+aAbqtEwDrOOVfRru1g4WxLQrrBQnb1pPDl2L\/i6f9jTVXXy7t2W3qkLAW4Twtoz8R+1V51vZgM8bx7ujrPtx5mtL0uQvLUNs8PP4E9g7zzpo1vOZbEruKWOWp5ky60hAW6l69zBxSZayUE\/lTnfHZk+gFaevDTSGWkNNpCUISEpSOoDkK90kpczyaaa1XBRFKUpSopSlAEC9TxbLRIlcQC0ow3nrUdh61UaFjdHZ3ZJJKn3Tz7Bt9c1E1\/NKWY0JJICiXF788bD9akJcl2zQcdyGg8YbClHrSlRKir1qyj5Pc86VifEtvaCNHImRYmPaZLLOeXSLCc+dU0zWdojKCGluSl5xhlOw8TjPhmoFm03Z7lGTLelu3BwgdJxOY4TzwQN\/WtLFt8OCCIsVpnPPgSAT40rUI+paMr7FlYS\/X+CgF81FN\/obH0ST+Z8\/fh76p1Kvmp5y7W7JZCGTxucA9xONuY57mtBqa8OR0t2yBhc2UeHA5oSev5\/\/AGoVwZTpbS\/scYlcqYrgK0jckjcjw2HzzVIvst9jLam21KTaW\/xoVdksCL5NkGTNdfjRcNIcCt19mM5wnH1FW9xtOmbBE6aRG6VzHuIU6Spw\/LOMdpx9qkiQxpHTbKXUhT5H8sH43DufAdv3qsjxjHQvUuozxOn+njkcj+UY+g6uZruW3nOhxVwrio8q5t230IQixra0b3c4rXG+cxIKU4SO8jsG3n31I0dBXcro\/eJQ4i2v3SeRWRvt3Aj5ZFVlwTcL7OYW8Mype7DIIwhvc5PWO35ZNaOZO\/hzbWnrCgLlkcK1pGzfao9\/0ppZxjqyNSjz8zXlj+rf3+hLvWpExHf4fb0GTPWeEISMhHz7+7zqKnSkm5FL98uLry8fym8BKT3dXkKs7NZI1mYK1FLklY\/FfVzJ7uwfWpT11t0ckPT46COpTqc+VR5saQPQ8Pn817\/LovllHp5Tltv0+yqeccZSA60XDk74J88+nfWlcKA2ouFIQBlRVyA76xQvtuY1o\/PU\/wAUdTIQFpSTk4H2rlqTVTdzjpg28OhtZy6vhwVD\/ED98qZ1ylJEYcTXVXJZzhvC\/YkMRBqu7iQlgM2qMcABISXT4du3yHfWyQhDaAhtIQlIwEpGAKyUG83JqIiJadOOobQMJU6Tg9ZJ2Hf113CdZTPiXEhA7HkT\/wC1ckm\/RDU2RispOTe7S+cGoqJKukCD\/UzGWjjPCpYz5c6o\/wDis+Xvcb7IcB5tt5A9Tjn3dVSY2jLLHwVMLfI63Vn6DApcQW7L898v7YY938HmTrazMA9G46+R1NtkfXFRxqe6zCP4dYXVIJ2W6SAR5AetaCPb4UX+niMNd6GwK5Xa4ItdsemLwShPupP5lHkPOhOOyQso24cpzwvRfOSHYL0\/dDJYlRwzIjL4XAg5SOe3M77GlcdHwVRrMJDoPTS1F1RPMjq9N\/GlLPHM8FOHcnUnLcy2tHul1E6gnPRNoQM9W2f1r9AhsBq3MR1I2QylBSR2DGK\/OdREPaimBR3L6U9+MY+1fp1Vt0jFGPg\/NdbL1+TOS9J8ElUqzzFwHDjLaSeA\/b1qunXjU1iLSJa4kkuEhGE5KvAY7eytPdbrGtENUiQruQgc1nsFU1otUm53BN8uwwrYx2OpA6jg\/vO9cjLTMth7a0pclLak+2y9WVFtZ1BbZz0920rlSHx8bihlPby5dXlUORqSRLuzN1fhpWzHPC20T7oVz+LHPIzWw1TJmRrMsQmlOLePRqKRkpSQckd\/V41nbbY49jZFzv6gkpOWo2Qok9uOs93nVIyTXM0Zrapwkq4SeFq29iJLkXcyU3y5QAtpJHRIeOEJzywnOT20nOXy6spvUuO17IwMpQvZs74+EnJyauIUGVqmam5XNBagoP8A08f\/ACHb8u\/r+VfNXtXCdKi2uFFdLJHECnZBPYerYY86FJZSFlVLw5Ty8Pbu339jOxJl2k3cSIboVNlgp9xIJSOXWPd2HgK0MTRM1kqWbytlS\/j6FJ975nIzV1YbBHskchOHJCx+I7jn3DsFW1JO3Xymmjgly5t1fvsZlOhYCjl+XLdPesD9KktaNsjRBMZThA\/O4r9KvaVPxJdzUuGpX0o\/OH3WIl9uUWFAS445+BHRwAhB2BIB69tq2GnbIizwR0iUmW5u8sb+Ge6pMWzW+HNcmMRgh9z4l5J588Z5ZqdTTsysIlRw3JJylvrj0FKUqRtFKUoAVmL3FlXy\/R7WWlohMAPOr3AX1bHHPmPE1p6U0ZcryStrVkeV7HxKQlISkAADAA6qV9pSlT861fDXF1J7QoYakFKkk9wAP7761kzVVpitktyUyHSPcbaOeI9W\/IVC102o2Zp1IBDb4KgRnbB\/XHnVrBs1pj8EmLCZSSApC8cRG2xBP6VdtOKbPOhXOF01W1rh6+udiqtdpk3aam8XpJz\/AGIyhsgdRIrTUrP3fVDcd32G2I9snKPCEo3Sg9\/ae7zxU9ZvQ0rw+Hjlv5bJt6vkWyxukdPG6r+WyDgq+w76qrbZpN4li7X1Of8AsxSPdSO8fp512tGnHPajc7ysSZqjkIO6W+zx9B61oq62o6REUJWvms0XRfPwfAABgDAFfaUqZrFKUoAUpSgBSlKAFKUoAUpSgBSlKAFKUoAiXOA3crc9Ec5OJwD\/AInqPnWciXq52SIi3SLRIkrYHClxOcFPVyBHdtSlVr10Zj4nMMWReHselRdSagURJV\/DIZ5oT8Sh9T44HdV3abJCszXDGbysj33VbqV49ncKUpZSe3QpVTFed6vuyxpSlIaBSlKAFKUoAUpSgBSlKAFKUoAUpSgBSlKAFKUoA\/\/Z",
    "razonSocial": "SOC. POR ACCIONES EDUCACION BRAC SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JORGE CAMARILLO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE NO SCANEA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56968558211",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R877\",\"id_control\":\"28670\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I1008\",\"id_control\":\"28670\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:57",
    "ubicacionGPS": "LatLng(lat: -23.6507366, lng: -70.3988948)",
    "horaLlegada": "15:26",
    "horaDespacho": "13:14",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 13/05/2026 15:57:06
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-xJ7mzXYjnyIpeQyAd4TRgEzc321vi4l2I4Hcz85_yQyBWuSCDcT
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76689118",
    "serieinterna": "KY2715",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "1683902",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se entregan toner y residual",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12566",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAKYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA7EAABAwMCAgcGBAYBBQAAAAABAgMEAAURBiESMRNBUWGBkaEUIjJxsdEjQsHwFTM0Q1LhFiRTYsLx\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgIBAgQFAgUFAAAAAAAAAAECAxEhMQQSQVETImFx0ULwFIGRseEjMjNSwf\/aAAwDAQACEQMRAD8A\/ZqUpQApSlAClKUAKVzffajMrefcS22gZUpRwBWYcvF11C8qPZEGNFBwuUsYPh2eG\/ypoxbJWXRr03b6FvdNRW60gpfe43R\/ab3V49njVWLrqS7YXboCIbB5OvnJPfv9j86sLTpmDayHSPaJJ3Lzoyc9oHV9e+rimzFbLJLkts1m8Lsvn4MwLXqx3Knbyw2TuEoT6fCK8Jv91sklLOoGUrYXsiSyOZ7f2Aa1VcpEdqXHXHfQFtuDCkmjnzugfDtawk8+ryemXW32UPNLC21gKSociK91m9HvLaROtbiiownilJUd8En02z41pKWSw8FarPEgpClKUpUUpSgBSlcZctmDEclPq4W2xlRAzQcbSWWdqVndJuTZqZdzlOr6OS6eiaJylIHMj0HhSmksPAlVniQUsbmipSlKUFKVHmz4tuYD0t0NNlQSCe0\/v0o3ONpLLJFR5s2Pb4q5MlwIbQNz29w76TJ0eBEVKkOBDSRnPb3DtrNw4kjVcxNxuCS3bmz+BHz8feaeMc6vYjba4vkhrJ\/eWeWIc3V0gS5xXHtiTllkHBc+f38q1TLLUdlDLKAhtAwlKRsBXtKQlISkAADAA6q+1yUs+x2qpQ1ere7FKUpSwpSlAGYs22tLuG9mykFQ\/wDLb\/daesvpfMi+3qWeRe4EntGVfoBWoqlm5m4X\/Hnu3+4pSlTNIpSlACsbqicq83OPYISiSHfxldWfsBkn\/VX9\/uybPa3H8guqHC0Nvi7cdYFZ7QltUtx66PDP5G1E7k\/mP0qsFhObMPEzc5qiPXf2NfGjtxYzUdoYbaQEJB7AMUrrSpG1LGiFKUoOnxSglJUogADJJ6qxy3W9S3pyTIWE2i3fFxK91w77+P0x21ZavuDrFvRBihRkTVhscPMA\/fl59lUrUJd1dZsEJYEGCQZTyT\/MWefrkD\/Qq0I4WTzuJs5pqtLOOnd9F7dWSW239Y3MPuhxq0x1e4g\/3D+\/LlWvSlKEBCEhKUjAAGABXlllqOyhllAQ2gYSlI2ArpU5Sz7Guqrky28t7sUpSlLClKUAKjzpIhQH5SsYabUvfrwOVSKzespihBZtrCvx5rgTgf45++PWmisvBK6fh1uR70VFLNj6dYPHJcU4SrmRyH0z41oa4xY6IkRmMj4WkBA8Biu1EnltnaoeHWo9hSlKUoKUqi1bdv4ZaFIbVh+TltHcPzHy28RXYrLwhLJquDm+hmr8+9qTUyIEXKm2VdEkgZA395fy\/QCt5FjNQ4rcZkYbaSEpB7KzehrV7PCXcXU4cke63nqQD+p+grVVSx\/Suhl4St4dst5fsKUpUjaKUqr1JN9gsMp0HClI6NG3Wrb\/AHXUsvAs5KEXJ9DG3S4e3XWVObWFnPssQA9uxUPAnxUD1VtLDakWi1tR+EdMRxOqHWo9\/dy8Ky+i7eZsoTXUnoIY4GgTzcO5Phn1HZW6q1rx5UYOCrcs3S3f2\/vsKUpUD0RSlc2nmn0lTLiXEg4yk5FAHSlKUAKylscN\/wBWPXD4osEdGzkbE7jI9T5VZ6ouJt9nX0Z\/HfPRNgbkk89vlXew2wWm0sxsDpMcbpHWs8\/Ll4VRaRz3Ms\/6lqh0Wr\/58ljSlKmahSlKAPK1pbbUtZwlIJJ7BWCbbd1jqVbi+IQWDjY4wjfHirH7xVprK5uqDdlhgrek4LgSMnGdh448qurJaW7NbkRkYU5zccAxxn97VWPkjnqzDYvxFvh\/THf1fYsEpCUhKQAAMADqr7SlSNwpSlACsZr2QtxyFb29yolwpzzJ2T+tbOshCZRe9byZiiFMQMBGNwVDYeoUfAVSvR83YycXmUFWt5PBf2O3C12liKQAsJy5g59486sKUpG8vJpjFRioroKUrhNmMwIbsp9XC22Mk\/QedcOtpLLM\/rC9KjMfw6Io+0PIKlqSrHAgbnzANddERDHsXSqSQZDhWM9nIfSstLS\/LaM18o9pu7vC0g78LYPpuEgdwPbW4ZuFotkRqN7fFSllASAHBnYdmc1eSxDlR5lM\/EvdsnhJafn\/ABr+ZZ14W623jpHEoznHEcZwMn0qkk6yszDai3IU+sDZCEK3PzIxWGul1kXh4vPuqKivCGQPdQO6lhU5b6Fr+NrrXl1Zq4ROpNUOTF4XAgZS0NsKVyz353PlWsrG2zUsW2wG4kS1TFttjdRSMqVzJOKlHWgAybRLAHdXZQk3ohab6oRzKWr1e5qKVmP+aAbqtEwDrOOVfRru1g4WxLQrrBQnb1pPDl2L\/i6f9jTVXXy7t2W3qkLAW4Twtoz8R+1V51vZgM8bx7ujrPtx5mtL0uQvLUNs8PP4E9g7zzpo1vOZbEruKWOWp5ky60hAW6l69zBxSZayUE\/lTnfHZk+gFaevDTSGWkNNpCUISEpSOoDkK90kpczyaaa1XBRFKUpSopSlAEC9TxbLRIlcQC0ow3nrUdh61UaFjdHZ3ZJJKn3Tz7Bt9c1E1\/NKWY0JJICiXF788bD9akJcl2zQcdyGg8YbClHrSlRKir1qyj5Pc86VifEtvaCNHImRYmPaZLLOeXSLCc+dU0zWdojKCGluSl5xhlOw8TjPhmoFm03Z7lGTLelu3BwgdJxOY4TzwQN\/WtLFt8OCCIsVpnPPgSAT40rUI+paMr7FlYS\/X+CgF81FN\/obH0ST+Z8\/fh76p1Kvmp5y7W7JZCGTxucA9xONuY57mtBqa8OR0t2yBhc2UeHA5oSev5\/\/AGoVwZTpbS\/scYlcqYrgK0jckjcjw2HzzVIvst9jLam21KTaW\/xoVdksCL5NkGTNdfjRcNIcCt19mM5wnH1FW9xtOmbBE6aRG6VzHuIU6Spw\/LOMdpx9qkiQxpHTbKXUhT5H8sH43DufAdv3qsjxjHQvUuozxOn+njkcj+UY+g6uZruW3nOhxVwrio8q5t230IQixra0b3c4rXG+cxIKU4SO8jsG3n31I0dBXcro\/eJQ4i2v3SeRWRvt3Aj5ZFVlwTcL7OYW8Mype7DIIwhvc5PWO35ZNaOZO\/hzbWnrCgLlkcK1pGzfao9\/0ppZxjqyNSjz8zXlj+rf3+hLvWpExHf4fb0GTPWeEISMhHz7+7zqKnSkm5FL98uLry8fym8BKT3dXkKs7NZI1mYK1FLklY\/FfVzJ7uwfWpT11t0ckPT46COpTqc+VR5saQPQ8Pn817\/LovllHp5Tltv0+yqeccZSA60XDk74J88+nfWlcKA2ouFIQBlRVyA76xQvtuY1o\/PU\/wAUdTIQFpSTk4H2rlqTVTdzjpg28OhtZy6vhwVD\/ED98qZ1ylJEYcTXVXJZzhvC\/YkMRBqu7iQlgM2qMcABISXT4du3yHfWyQhDaAhtIQlIwEpGAKyUG83JqIiJadOOobQMJU6Tg9ZJ2Hf113CdZTPiXEhA7HkT\/wC1ckm\/RDU2RispOTe7S+cGoqJKukCD\/UzGWjjPCpYz5c6o\/wDis+Xvcb7IcB5tt5A9Tjn3dVSY2jLLHwVMLfI63Vn6DApcQW7L898v7YY938HmTrazMA9G46+R1NtkfXFRxqe6zCP4dYXVIJ2W6SAR5AetaCPb4UX+niMNd6GwK5Xa4ItdsemLwShPupP5lHkPOhOOyQso24cpzwvRfOSHYL0\/dDJYlRwzIjL4XAg5SOe3M77GlcdHwVRrMJDoPTS1F1RPMjq9N\/GlLPHM8FOHcnUnLcy2tHul1E6gnPRNoQM9W2f1r9AhsBq3MR1I2QylBSR2DGK\/OdREPaimBR3L6U9+MY+1fp1Vt0jFGPg\/NdbL1+TOS9J8ElUqzzFwHDjLaSeA\/b1qunXjU1iLSJa4kkuEhGE5KvAY7eytPdbrGtENUiQruQgc1nsFU1otUm53BN8uwwrYx2OpA6jg\/vO9cjLTMth7a0pclLak+2y9WVFtZ1BbZz0920rlSHx8bihlPby5dXlUORqSRLuzN1fhpWzHPC20T7oVz+LHPIzWw1TJmRrMsQmlOLePRqKRkpSQckd\/V41nbbY49jZFzv6gkpOWo2Qok9uOs93nVIyTXM0Zrapwkq4SeFq29iJLkXcyU3y5QAtpJHRIeOEJzywnOT20nOXy6spvUuO17IwMpQvZs74+EnJyauIUGVqmam5XNBagoP8A08f\/ACHb8u\/r+VfNXtXCdKi2uFFdLJHECnZBPYerYY86FJZSFlVLw5Ty8Pbu339jOxJl2k3cSIboVNlgp9xIJSOXWPd2HgK0MTRM1kqWbytlS\/j6FJ975nIzV1YbBHskchOHJCx+I7jn3DsFW1JO3Xymmjgly5t1fvsZlOhYCjl+XLdPesD9KktaNsjRBMZThA\/O4r9KvaVPxJdzUuGpX0o\/OH3WIl9uUWFAS445+BHRwAhB2BIB69tq2GnbIizwR0iUmW5u8sb+Ge6pMWzW+HNcmMRgh9z4l5J588Z5ZqdTTsysIlRw3JJylvrj0FKUqRtFKUoAVmL3FlXy\/R7WWlohMAPOr3AX1bHHPmPE1p6U0ZcryStrVkeV7HxKQlISkAADAA6qV9pSlT861fDXF1J7QoYakFKkk9wAP7761kzVVpitktyUyHSPcbaOeI9W\/IVC102o2Zp1IBDb4KgRnbB\/XHnVrBs1pj8EmLCZSSApC8cRG2xBP6VdtOKbPOhXOF01W1rh6+udiqtdpk3aam8XpJz\/AGIyhsgdRIrTUrP3fVDcd32G2I9snKPCEo3Sg9\/ae7zxU9ZvQ0rw+Hjlv5bJt6vkWyxukdPG6r+WyDgq+w76qrbZpN4li7X1Of8AsxSPdSO8fp512tGnHPajc7ysSZqjkIO6W+zx9B61oq62o6REUJWvms0XRfPwfAABgDAFfaUqZrFKUoAUpSgBSlKAFKUoAUpSgBSlKAFKUoAiXOA3crc9Ec5OJwD\/AInqPnWciXq52SIi3SLRIkrYHClxOcFPVyBHdtSlVr10Zj4nMMWReHselRdSagURJV\/DIZ5oT8Sh9T44HdV3abJCszXDGbysj33VbqV49ncKUpZSe3QpVTFed6vuyxpSlIaBSlKAFKUoAUpSgBSlKAFKUoAUpSgBSlKAFKUoA\/\/Z",
    "razonSocial": "SOC. POR ACCIONES EDUCACION BRAC SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JORGE CAMARILLO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE NO SCANEA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56968558211",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R877\",\"id_control\":\"28670\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I1008\",\"id_control\":\"28670\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:57",
    "ubicacionGPS": "LatLng(lat: -23.6507366, lng: -70.3988948)",
    "horaLlegada": "15:26",
    "horaDespacho": "13:14",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


13/05/2026 15:57:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76689118

[13/05/2026 15:57: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('76689118', 'KY2715', 1, 24456550, 1683902, NOW(), 
				'13:14', '15:26', '15:57', 10, '•Se entregan toner y residual', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778702226.png', '', null, 'COMPLETADO','LatLng(lat: -23.6507366, lng: -70.3988948)' )
				
[13/05/2026 15:57:06] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200302
[13/05/2026 15:57:06] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200302', 'TOS-R877', 1)
				
[13/05/2026 15:57:06] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28670 and
				    IDproducto = 'TOS-R877'
				

13/05/2026 15:57:06 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R877';
                [13/05/2026 15:57:06] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200302', 'TOS-I1008', 1)
				
[13/05/2026 15:57:06] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28670 and
				    IDproducto = 'TOS-I1008'
				

13/05/2026 15:57:06 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I1008';
                
13/05/2026 15:57:06 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200302'                    
				WHERE idllamado = 12566			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


13/05/2026 15:57:06 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12566			
				
13/05/2026 15:57:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


13/05/2026 15:57:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 15:57:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

[13/05/2026 15:57: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;
                

13/05/2026 15:57:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
[13/05/2026 15:57: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;
                

13/05/2026 15:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
[13/05/2026 15:57: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;
                

13/05/2026 15:57:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 15:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 15:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 15:57:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 15:57:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 15:57:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12566
            GROUP BY l.idllamado;
            
13/05/2026 15:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

[13/05/2026 15:57: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;
                

[13/05/2026 15:57: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;
                

13/05/2026 15:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12566
                

13/05/2026 15: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 = 12566
                

13/05/2026 15: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 = 12566
                

13/05/2026 15: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 = 12566
                

13/05/2026 15: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 = 12566
                

[13/05/2026 15:57: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;
                

13/05/2026 15:57:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
[13/05/2026 15:57: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;
                

13/05/2026 15:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:57:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:57:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
[13/05/2026 15:57: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;
                

13/05/2026 15:57:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:57:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
[13/05/2026 15:57: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;
                

[13/05/2026 15:57: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;
                

13/05/2026 15:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:57:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

[13/05/2026 15:57: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;
                

[13/05/2026 15:57: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;
                

13/05/2026 15:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:57:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
[13/05/2026 15:57: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;
                

13/05/2026 15:57:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:57:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:57:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:57:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:57:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
[13/05/2026 15:57: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;
                

13/05/2026 15:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

[13/05/2026 15:57: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;
                

13/05/2026 15:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15: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 = 12477
                

13/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15: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 = 12477
                

13/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15: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 = 12477
                

13/05/2026 15: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 = 12477
                

13/05/2026 15: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 = 12477
                

13/05/2026 15:57:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15: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 = 12477
                

13/05/2026 15:57:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:57:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:57:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:59:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:59:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15: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 = 12477
                

13/05/2026 15: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 = 12477
                

13/05/2026 15:59:13 - logentry: =========================================
FECHA: 13/05/2026 15:59:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-pxMahWmqthNs0Gj5XLRsuRuOawA6Kf.iu2IJb9IHXyzCYVx4Xy+
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "14108776",
    "serieinterna": "KY2950",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "227755",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Atasco 4401 :: Sensor duplex 2 no detecta paso del papel al tiempo correcto\n•Este sensor está por dentro de la impresora, se debe desarmar a profundidad para evaluar",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12477",
    "observacion": "•Recomendable cambio de equipo y revisión en taller",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADNAT8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABBEAABAwMBBAcGBQIDCAMAAAABAAIDBAURBhIhMUETIlFhcYGRIzKhscHRFBVC4fBikhYlMwckNENVcrLxJlJj\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECAwYFAwUBAQAAAAAAAAECAxESITEEMkFRYXETIpGh0YGx4RQjM0LB8FL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREARVd01FbrSC2ebblH\/Kj3u8+zzVTt6j1D\/pj8qonfqOekcPn8h3qag3myideMXhjm+S\/wCyL+sulDbxmrqo4ju6pd1vTiqWTW1I5+xRUVTVv\/pbgH5nl2LtSaOtkD+lqekrZicl0ztxPgPrlXcMMVPGI4ImRMHBrGgAeQXfIupC20T4qPu\/gzn5vqis\/wCEsrKdvbOd49SPkvBS6xqBl9dS0wPFoAJ\/8T81qETHySO\/p296bf1t9jMfkepP+v8AwKGz6nb\/AKd8Yc8dpv7FadFzxGP00Ob9WZcy6woDtSR01wZzDMA+XA\/ArtR6xpHvEFxgloJ+YkHV58+PLsWiUast9HcIjFV07Jm\/1DePA8R5LuKL1Rzwqkc4T+jz\/J3a5r2hzHBzTwIOQV9LITUdfpKb8XRyPqrYT7SAnfGDz\/f1Wnoq2nuFKypppA+N43Hs7j3qMo2zWhOnVxPDJWkuHwSERFEvCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiKjvOpYqCQUlHGautedkRNyQ09+Ofd8l1Jt2RCdSNNXkyyr7lSWynM9XMI28hzcewDms5+Y3vUpMVviNBRH3qh\/vOHcft6rvb9NS1dQLlfpPxE7t4gPuM7ARz8OHitKAAMAYAU7xjpmzPhqVs5eWPLi+\/IqLTpm32rEgZ09RnJmlGSD3Dl8+9XCIoNt5s0QhGCtFWQREXCYREQBERAEVTYbu+7MqjJG2N0E5YA053clbLrTTsyEJqccUdD5c1r2Fj2hzXDBBGQQsrTB2mdS\/hBlttrz7PPBj+zPju8CFrFSatoBW2KV43SU3tmkcd3H4Z9FKDzs+JVtEXhxx1jn8ou0UCx1puFmpqlztp7mYef6huPyU9Ras7F0ZKUVJcQiIuEgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiLMXW61N3rHWazO7qipHBg5gFSjG5VVqqmrvXguZ7ddQVFVVG1WJvS1B3PnHux9uPv9VY2Sw09nhJz0tTJvkmdxJ7B2Bd7TaaWz0ggpm7zve88XntP2U5dcla0dCunSbl4lTN+y\/wC5hERQNIREQBERAEREAREQGX0h1K+9QYx0dTw7N7h9FqFmLDhmq70wc3BxJ8f3K06nU3jNsv8AFbk392FyqmCSkmY7g6NwPouqj10nQ2+plJxsROdnwBUVqaJaO5TaIc92nwHHOzK4DfnduWhWf0VHsadY7BAfI52Tz5fRaBSqbzKNm\/hj2CIigaAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiptRXp1rp2Q0zekrKk7ELBvIPDOF1Jt2RCc4wi5SIWoLpUVddHYrW\/2su6eRv8Ay28x3buKubVaqa0Ubaenb3veeLz2lRNOWQWejJmIfVzHalfx8s\/zerhSk1urQpowbfiT1fsuXyERFA0hERAEREAREQBERAEREBmLXu13dQdxMQOP7Vp1mLP7TW13lPFrAz5fZadTnqjNs26+7+4VRqmpFNp2rdnBezox37Rx8sq3WX1c411XbrLGetPKHvwd4bwz\/wCR8kgryRLaZYaTtq8vUttPU5pbBRROGD0QcR2bXW+qsl41oa0NaAABgAcl6ot3dy2EcMVHkERFwkEREARcaispaRu1U1EUI7ZHhvzVdJqqyREh1e04OCWsc4eoC6ot6IhKpCO80i3RVcepLNKQG3GEZOOsS35qfDVU9SMwTxyjGcseHfJGmtRGpCW67nVF5tDa2cjOM4Xq4TCIiAIiIAiIgCIiA4VlXDQUklVUP2YoxlxWc05RzXSvl1DXsAc87MEZbuaBjrD5epXl6lffdQw2OFx\/Dw4kqi0nfzI+Q8T3LURRMhiZFG0NYxoa1o5AcArN2PVmRfvVb\/1j7v8AB9oiKs1hERAEREAREQBERAEREARF4SAMk4AQGZ0z7XUF8nznE+wOe7adz8gtOsxodu3Q1lVjHTVJ+AB+q06nU3jNsv8ACnzv9wsrYw686mrLy4ewg9jB493ln+5TdW3M2+0mGIn8RVno4wOOP1H03eJCm2O3flVogpT74G1Jvz1jxXVlG\/M5P9yso8I5vvw+SwREVZqCIs3dNSSy1JtliZ+IqySHSAZbH39h8eHipRi5aFdSrGmryLa5XihtMW3VzBpPusG9zvAfVUIq79qN+1QtNuoeUr9zn945ny3d6mW3SkEMv4u5ymvqnbyZN7R5Hj5+ivwABgDACleMdMyjBVq7\/lXJa\/V\/BnaXRVvY7pK6WatlPEvcWtPkN\/xVnHYbRE3ZbbaYj+qMOPqVYLwkAZJwAoucnxLY0KUNIorJNN2aUEOt0IyMdUFvyWZqoLdS3ZlNpyJ0tccguD9qOIcDvPMdudysLleKm+VZtFjd1CPb1Q4Adx7PnyV1abNSWan6KmZl5HXkd7z\/AB+ysTcVm\/oZXCNaVqaSS4\/HyUv+CIzTmR9wndX5LxMTu2+3t885Vhpm5z19HLDVkGppH9HIRz7z37irpZfSzxLe75IwDYM+4jO\/rO\/nmuXcou5Pw40asFDK97+hqERFUbQiIgCIiAKFdrgy12yasfgljeq0\/qceA9VNWTvT3X3UtNZojmCmPS1B4jP\/AKOPFynBXeZRXqOEMtXku5N0nbH0tE+uqcmqrTtvLuIHH6k+iv141oa0NaAABgAcl6oyd3cnTpqnBRQREXCwIiIAiIgCIiAIiIAiIgCh3ecU1oq5j+mF2O843fFTFntbVBhsBibnaqJWx4Hr9FKKvJIqrSwU5S6HXR0HQ6bgJGDKXPPrgfABXij0FMKO309MBjoo2t8wFVaqujqOiFDTguq632cYbxAJAJ+OB+y7vyyIJqhRV+CIFC4aj1U+uxmjt\/Vi4Yc7O4\/XyHatYq+yWtlotkdK3Bd70jgPeceJ+nkrBJu7y0O0IOMby1ebCIstd7nVXqtNls7urwqagcGjmM9nz4LkY4mSq1VTV+PBcxc7vVXqtdZ7K7q8KipHBo54PZ8+SurVaKSz0ohpmdY+\/Ifeee\/7L6tVqprRRtp6dve954vPaVNXZS4LQhSpO+OpnL7dEERfLnNYwve4Na0ZJJwAFA0HrnBrS5xAAGSTyWSrq+s1RVSWy1O6OiZunqSPe7vDu5+CVNbVasrH0FvcYrbGfbT43v7h9vVaaioae3UraaljEcbeziT2ntKs3M3qY23tDtHd58+3Q52y2U1po201MzDRvc48XntKmIig3c1xioqy0I1xrGW+3z1chAETCRnmeQ8zgKo0ZRugsv4iQ5kq3mQnPLgPqfNcNYTOqjSWWB3tqqQOcOxo4fH5LRwxMp4I4YxhkbQ1o7gMKekO5mXnrt8Ir3f4OiIirNQREQBERAc5pWU8Ek0hwyNpc49wGVntGRvnp6u6z75quY7+4fuT6LvrOr\/DaekYHAOnc2MfM\/AKztVGLfa6akAwY4wHf93E\/HKs0h3Mr89dL\/yvdktERVmoIiIAiIgCIiAIiIAiIgCIiALLag\/zDU9qtrd7Y3dNIB2Zzv8AJp9VqVl7Hi46sulx3lkOIYzy7N39vx71ZDK7M20ebDT5v2WZpKieKlp5J5nBkcbS5xPILM6fhlvV1mv9W32YJZSsODsjJ+XzJXzeZ5dQ3htjpHkU0RzVStbwIzu\/nPwWohhip4WQwsDI2DDWtG4BN2PVkV+9Uv8A1j7v8fc6IioNTXmWlYy3W87dfUnZAbxYDz7j2eZUIpydkX1KipxxMjXm7VNzrjY7M4F5H+8Tg7mDmM\/M+Su7Vaqa0Ubaenb3veeLz2lcbFZILLRiJmHzP3yy43uP2Cs1KUlotCulTlfxKm8\/boEReOcGtLnEAAZJPJQNB45zWML3uDWtGSScABZKrq6rVta6goHOitsR9tPj\/U\/nIeZSrq6rVta6goHOitsR9tPj\/U\/nIeZWnoqKnt9KympowyNg3Dt7z3q3c7mNt7Q7Lc+\/4FFRU9vpWU1NGGRsG4dvee9SERVGtJJWQXKpqIqSllqZnbMcTS5x7guqyt+qJr5dGWCiceiY4OrHjGAMg\/D547FKMbsqrVPDjda8O596ZhluVdUagqh1pSY4BvGGjdnj5eIK06508EVLTxwQtDI42hrQOQXRJO7O0afhwtx49wiIoloREQBERAZfUuazUNotw4bfSvA4kZ+zXLULMOPS\/wC0No34hpuXLI\/dadWT0SM1DOU5dbegREVZpCIiAIiIAiIgCIiAIiIAiIgIl0q\/wFrqarnFGS3x5fHCylFWfkOj2SMGa24PcYwPe7M+QwfEqfrerxQwW9r2tdUyAuLicNaOZxyzj0UbTlK+8XEXWZpbSUjRDSxOPuloAz\/OZ7lfFWhdnm1puVfBDW1u19X6F1p2zC0UGJMOqpjtTvznJ34Hln5q2RFS227s3wgoRUY6Ih3S5QWmhfVz5LW7g0cXHkAqfTFtne+S+XAk1dUOqCMbLN2PgB5KLX\/\/ACPVkdAOtR0HWm7HO5j1w31WtAAGAMAKb8sbcWZ4\/vVMT0jp34s9REVZrPCQBknACydbW1Oqa91st7jHQRn\/AHioH6+4d3Z28eC+rtdKi+1brLZzmM7qmoHugcwD2fNX1rtdPaaJtLTjcN7nkb3ntKsSwK71Mcm68sMd1avn0X+nWioqe30rKamjDI2DcO3vPepCIqzWkkrIIiptRX1top2xQt6Wsn3QxgZxyyR\/MrqTbsiM5xpxcpaHHUl6mpnR2y3Dbr6ncNneYx2+P2JUux2SKzUpbnpKiXfNKd+0fso2nbG6hY6ursyXCfrPc7eWZ5K9U5NJYUU0oSlLxZ68Fy\/IREVZpCIiAIiIAiIgMxb8Sa\/uT\/8A6QBu\/luZw9D6rTrL2c51tdy7c7YAA7t37LUKc9UZtm3W+r+4REUDSEREAREQBERAEREAREQBEVRqa6\/lNnkkY7E8vs4u0E8\/Ib\/RdSu7IhOahFyeiMhcRLqfVj4afIY09GHH9LG8XeuT5r9ApaaKjpY6aEYjiaGtB7FUaVsn5TbukmZiqn3yZ4tHJqvVZUlfJaIzbLRcU6k96QVffLj+VWieqHvgbMe7PWPBWCy2oc3TUVus7SeiaemmGMjz8gf7lGCu8y2vNwpvDq8l3ZM0lbDb7SJpQfxFWekkJ44\/SPTf4kq9RFGTu7llOCpwUVwCy13udVeq02Wzu6vCpqBwaOYz2fPgvbpdqi81Zs9kdkcKipHBo5gH68+Su7Vaqa0Ubaenb3veeLz2lTSwZvUzyk67wQ3eL\/xf6LVaqa0Ubaenb3veeLz2lTURQbvmzTGKirLQIiqr3fYLNAAR0tTIPZQji49p7kSbdkJzjCOKTyPb3e4bNTgkdJUSbooRxcfsoVisczal13up6Sul3taeEQP1x6L5slindVm8Xk9LWP3sjPCL9\/l4rRqbairIzwhKrLxKiy4L\/X1+wREVZqCIiAIiIAiIgCIiAy8W1Tf7Q5QG4bU044cOA4\/2lahZfU4FFfLTdODWydFIccBn7Fy1CsnmkzNQylOPW\/qERFWaQiIgCIiAIiIAiIgCIiA8c4NaXOIAAySeSxdEf8V6qNW7\/g6LBY1wxnjj1O\/wC763u7442Wmn3vnAMuOIGdwHjj+ZVvpq1flNojjePbS+0lPeeXkMfFWpYY4uLMM5eNWVNaRzffgi3REVRuCy1h\/zHVNzuZyWRHoYyfTd5N+K1Kx2mLnR2yir311QyF5qXZa73zuHLirILJ2MldpVIYnlm\/RGwc4NaXOIAAySeSydddqvUVa61WZ2zTYxPU45d3d8\/BeS1Fz1dJ0FKx1Jas4fK4daQA8P29StLQUFPbaRlLSs2I2+rj2ntKWUNdTjctoyjlHnz7dOpztVqprRRtp6dve954vPaVNRFBu+bNUYqKstAiLPXzUMkE4ttpjNRXvODsjIj8e\/4DmkYuTsiNSpGnHFI7X\/AFCy1NFPTt6eukHs42jOz3n7c1wsWn5Yp\/zS7PM9e8ZAdv6P9\/kpFi0+22l1XVv\/ABNfLvfK7fs9w+6ulNySVolMKcqkvEqfRcvyERFWagiIgCIuFTW0tG3aqaiOEf1uAQ42krs7os5Va1t7H9FRRTVsh4CNuB8d\/wAFy\/F6suYH4ekit0Z\/VL73x3\/BT8N8cjO9pp3tHzPpn+DTkgDJOAFWVWpLPR7pK6Nx7Iztn4KrGkZ6x23d7vUVGd5Yw4aD3Z+wVnSaZs9G0BlFHI4fqlG2T67h5LtoLVjHXlpFLv8Aj5K06zFQ8stlqqat3bjGPTKkW6o1LVVsb6ylp6WlwdocXHdu554+CvWtaxoaxoa0cABgBfS45LgjqpVL3nN\/TIqNUUBuFhqI2NBkjAkZntHH4ZHmuun7ibpZoKl5Bkxsyf8AcN3x4+asSARgjIKylC46a1LJQS7qKvO1A7GA13IfT0K6vNGxGp+3VU+Dyf8AnwaxERVmoIiIAiIgCIiAIiIAuVTURUlLLUzO2Y4mlzj3BdVi9TXV12uENhoZOo+QMmfyLs8PAcT+ynCOJlFeqqUL8eHc56boJb5e5r3WA9Gx+WBwyHHgBnsaMfBbhcaSkhoaSOlp2bEUYw0Lsk5YmNno+FCz1evcIiKBeFWv0\/a5K41klIx8xJcS4bs+HA+farJF1NrQjKEZbyueNaGtDWgAAYAHJeoi4SC8JAGScALnUVENJA6eokbHGwZLnFZWaruOrZnU1CH0tsBLZJyN8nd+3qpRjfsU1ayhks29ESLnqGprql1ssDOmm4SVA91m\/kfr6Kysdigs0JIPS1Mm+WZ3E9w7lJttrpLTTdBSR7LScucTlzj2kqYuuStaOhGnSeLHUzfsu3yERQ6260FuGaurjiOM7JOXHyG9RSvoXuSirtkxFmZNXuqnmKz22erfnG24bLQeX8OF8\/l2p7tvra9lBE7B6OD3h3bvuVPA1rkZ\/wBTF5U05dtPUvK260FuGaurjiOM7JOXHyG9Uc2s+neYrRbp6t+\/rFpA8cDJI9FLotH2mkO1JE6pfv60xz8OCu442RMDI2NY0cA0YAS8F1OWrz1aj7szP4XVd0B6eqitsR\/THvf3bxv+IXWl0Vb2P6WtlmrZDxMjsD4b\/itGi54j4ZHVs1O95eZ9c\/wcKaipaNuzTU8cI\/oaAu6IoGhJJWQREQ6EREAVVqGztvFuMbd1RH14XZxh3Z5q1RdTad0RnBTi4y0ZSaZu77jRup6rLa2lOxM13E43Z+\/ertZ++2aodUNu9qd0ddCOswcJR2ePzUmyaipbu3oj7GraOvC7cd3HHb81OSv5kZ6dRwfhVNeD5\/kt0RFWagiIgCIiAIvCQBknACzN0v8AU11UbVYW9LKd0tQPdjHcfr6b1KMXIqqVY01dnW+3qd1QLPaOvWybnvbwiHPfyPy8VUW60x2jWVDTPk2nCAu2sYDnbLh\/PBaWyWSGzU5APSVEm+WY8XH7L4v9lN1hjmp5Ohrac7UMgOPIqxSS8q0Mk6M5pVZbyadunLuW6LMN1PW2wtivdukZ1tkVEQ6rsbs4+x58FZU2pbNVNyyviYcbxKdjHrhQcJI0x2inLK9nyeRaoo7a+ieMtq4HDukBXZr2Pzsua7HYcqFi5NPQ+kRfL3sjYXyODGtGS5xwAh0+lWXi\/UVmh2p3bcpHUhaes77DvVXV6mqbhUGh09CZpOD6hzeqzvGfmfiutDYqCzP\/ADG61bJasnJmnfhod3Z4lWKNt4ySrOeVL14L5IsFpuOpJ2Vd7zDSt3xUzDg+fZ8\/BamKGOCJsULGxxsGGtaMABUVZrS1U\/UpzJVychE3Az4n6ZUX8dqq7HFLSMt0JI68o62Md\/HyC61KWuSIQqUqbeG8pcbZv4NNPPDTRGWeVkUbeLnnACoa3WVBDIYaKOSumBwBGMNPn9gudPo6OZ7Z7vWz10oG9peQ3wzx+SvqS30dAzYpKaOEYwdhuCfE8SueRdSy9eelor1fwZ7odUXpxEsjbVSuHutwX4+fxCl0GjrVSYfMw1cuN7pTkE+H\/tXyLjm9FkSjs0L3l5n1\/wCsfMcbImBkbGsaOAaMAL6RFA0BERAEREAREQBERAEREAREQBU1407FcZG1VNJ+DrWHImYN7vHHzVyi6m07ohOEZrDJGVp9RXC0PZS6gpHNbwbVMGQ7dzxuJ8PRaGkuFHXs26SpjmH9Lt48RxC7SwxTxmOaNkjDxa9oIPkVRVejLXPIJafpaSQDd0Lt2e3B+mFO8Za5FCjWp5ReJddfU0CLHVdqudpGzBfqksdjDXDOyN\/aVxihvFU4xm+ztGM5DcfIrvhrW5F7TJOzg790bYkAZJwAqa4artVB1WzfipTwZBh2\/vPBQhozpji4Xerqm5zs5xv8yVb0FitttIdTUrGvH63dZ3qVy0F1JYq89Eo98ykfT33UzR+I\/wAsoSd8e\/bkHf8AvgLQW62UdqpxBSQhg\/U7i557SealoouTeXAsp0YxeJ5vmwiIolx45oc0tcAQRgg81WVGmrNVO2pLfED\/APnln\/iQrRF1NrQjKEZ7yuUDtFWV2MQyN8JT9VxdoO0uxiWqb4Pb9WrSopeJLmUvZaL\/AKozH+BqX\/qFZ\/cPso9foqofBHBR3GR0YJc9lQ8kZ3YwAMdq16LviS5kXsdFq1jI02kLpHC2H87dBHuy2FpGfiM+alw6ItjX7dTLUVTue2\/A+G\/4rRojqS5nVslFcL98yNSW6ioWgUtLFDgYy1oBPieJUlEVepoSSVkEREOhERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "CARLOS FELIPE URBINA RESZCZYNSKI",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "RICARDO",
    "correoContacto": "ricardo.notariaurbina@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "APP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56957345361",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:59",
    "ubicacionGPS": "LatLng(lat: -23.6507302, lng: -70.3988732)",
    "horaLlegada": "15:26",
    "horaDespacho": "15:57",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 13/05/2026 15:59:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-pxMahWmqthNs0Gj5XLRsuRuOawA6Kf.iu2IJb9IHXyzCYVx4Xy+
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "14108776",
    "serieinterna": "KY2950",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "227755",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Atasco 4401 :: Sensor duplex 2 no detecta paso del papel al tiempo correcto\n•Este sensor está por dentro de la impresora, se debe desarmar a profundidad para evaluar",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12477",
    "observacion": "•Recomendable cambio de equipo y revisión en taller",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADNAT8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABBEAABAwMBBAcGBQIDCAMAAAABAAIDBAURBhIhMUETIlFhcYGRIzKhscHRFBVC4fBikhYlMwckNENVcrLxJlJj\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECAwYFAwUBAQAAAAAAAAECAxESITEEMkFRYXETIpGh0YGx4RQjM0LB8FL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREARVd01FbrSC2ebblH\/Kj3u8+zzVTt6j1D\/pj8qonfqOekcPn8h3qag3myideMXhjm+S\/wCyL+sulDbxmrqo4ju6pd1vTiqWTW1I5+xRUVTVv\/pbgH5nl2LtSaOtkD+lqekrZicl0ztxPgPrlXcMMVPGI4ImRMHBrGgAeQXfIupC20T4qPu\/gzn5vqis\/wCEsrKdvbOd49SPkvBS6xqBl9dS0wPFoAJ\/8T81qETHySO\/p296bf1t9jMfkepP+v8AwKGz6nb\/AKd8Yc8dpv7FadFzxGP00Ob9WZcy6woDtSR01wZzDMA+XA\/ArtR6xpHvEFxgloJ+YkHV58+PLsWiUast9HcIjFV07Jm\/1DePA8R5LuKL1Rzwqkc4T+jz\/J3a5r2hzHBzTwIOQV9LITUdfpKb8XRyPqrYT7SAnfGDz\/f1Wnoq2nuFKypppA+N43Hs7j3qMo2zWhOnVxPDJWkuHwSERFEvCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiKjvOpYqCQUlHGautedkRNyQ09+Ofd8l1Jt2RCdSNNXkyyr7lSWynM9XMI28hzcewDms5+Y3vUpMVviNBRH3qh\/vOHcft6rvb9NS1dQLlfpPxE7t4gPuM7ARz8OHitKAAMAYAU7xjpmzPhqVs5eWPLi+\/IqLTpm32rEgZ09RnJmlGSD3Dl8+9XCIoNt5s0QhGCtFWQREXCYREQBERAEVTYbu+7MqjJG2N0E5YA053clbLrTTsyEJqccUdD5c1r2Fj2hzXDBBGQQsrTB2mdS\/hBlttrz7PPBj+zPju8CFrFSatoBW2KV43SU3tmkcd3H4Z9FKDzs+JVtEXhxx1jn8ou0UCx1puFmpqlztp7mYef6huPyU9Ras7F0ZKUVJcQiIuEgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiLMXW61N3rHWazO7qipHBg5gFSjG5VVqqmrvXguZ7ddQVFVVG1WJvS1B3PnHux9uPv9VY2Sw09nhJz0tTJvkmdxJ7B2Bd7TaaWz0ggpm7zve88XntP2U5dcla0dCunSbl4lTN+y\/wC5hERQNIREQBERAEREAREQGX0h1K+9QYx0dTw7N7h9FqFmLDhmq70wc3BxJ8f3K06nU3jNsv8AFbk392FyqmCSkmY7g6NwPouqj10nQ2+plJxsROdnwBUVqaJaO5TaIc92nwHHOzK4DfnduWhWf0VHsadY7BAfI52Tz5fRaBSqbzKNm\/hj2CIigaAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiptRXp1rp2Q0zekrKk7ELBvIPDOF1Jt2RCc4wi5SIWoLpUVddHYrW\/2su6eRv8Ay28x3buKubVaqa0Ubaenb3veeLz2lRNOWQWejJmIfVzHalfx8s\/zerhSk1urQpowbfiT1fsuXyERFA0hERAEREAREQBERAEREBmLXu13dQdxMQOP7Vp1mLP7TW13lPFrAz5fZadTnqjNs26+7+4VRqmpFNp2rdnBezox37Rx8sq3WX1c411XbrLGetPKHvwd4bwz\/wCR8kgryRLaZYaTtq8vUttPU5pbBRROGD0QcR2bXW+qsl41oa0NaAABgAcl6ot3dy2EcMVHkERFwkEREARcaispaRu1U1EUI7ZHhvzVdJqqyREh1e04OCWsc4eoC6ot6IhKpCO80i3RVcepLNKQG3GEZOOsS35qfDVU9SMwTxyjGcseHfJGmtRGpCW67nVF5tDa2cjOM4Xq4TCIiAIiIAiIgCIiA4VlXDQUklVUP2YoxlxWc05RzXSvl1DXsAc87MEZbuaBjrD5epXl6lffdQw2OFx\/Dw4kqi0nfzI+Q8T3LURRMhiZFG0NYxoa1o5AcArN2PVmRfvVb\/1j7v8AB9oiKs1hERAEREAREQBERAEREARF4SAMk4AQGZ0z7XUF8nznE+wOe7adz8gtOsxodu3Q1lVjHTVJ+AB+q06nU3jNsv8ACnzv9wsrYw686mrLy4ewg9jB493ln+5TdW3M2+0mGIn8RVno4wOOP1H03eJCm2O3flVogpT74G1Jvz1jxXVlG\/M5P9yso8I5vvw+SwREVZqCIs3dNSSy1JtliZ+IqySHSAZbH39h8eHipRi5aFdSrGmryLa5XihtMW3VzBpPusG9zvAfVUIq79qN+1QtNuoeUr9zn945ny3d6mW3SkEMv4u5ymvqnbyZN7R5Hj5+ivwABgDACleMdMyjBVq7\/lXJa\/V\/BnaXRVvY7pK6WatlPEvcWtPkN\/xVnHYbRE3ZbbaYj+qMOPqVYLwkAZJwAoucnxLY0KUNIorJNN2aUEOt0IyMdUFvyWZqoLdS3ZlNpyJ0tccguD9qOIcDvPMdudysLleKm+VZtFjd1CPb1Q4Adx7PnyV1abNSWan6KmZl5HXkd7z\/AB+ysTcVm\/oZXCNaVqaSS4\/HyUv+CIzTmR9wndX5LxMTu2+3t885Vhpm5z19HLDVkGppH9HIRz7z37irpZfSzxLe75IwDYM+4jO\/rO\/nmuXcou5Pw40asFDK97+hqERFUbQiIgCIiAKFdrgy12yasfgljeq0\/qceA9VNWTvT3X3UtNZojmCmPS1B4jP\/AKOPFynBXeZRXqOEMtXku5N0nbH0tE+uqcmqrTtvLuIHH6k+iv141oa0NaAABgAcl6oyd3cnTpqnBRQREXCwIiIAiIgCIiAIiIAiIgCh3ecU1oq5j+mF2O843fFTFntbVBhsBibnaqJWx4Hr9FKKvJIqrSwU5S6HXR0HQ6bgJGDKXPPrgfABXij0FMKO309MBjoo2t8wFVaqujqOiFDTguq632cYbxAJAJ+OB+y7vyyIJqhRV+CIFC4aj1U+uxmjt\/Vi4Yc7O4\/XyHatYq+yWtlotkdK3Bd70jgPeceJ+nkrBJu7y0O0IOMby1ebCIstd7nVXqtNls7urwqagcGjmM9nz4LkY4mSq1VTV+PBcxc7vVXqtdZ7K7q8KipHBo54PZ8+SurVaKSz0ohpmdY+\/Ifeee\/7L6tVqprRRtp6dve954vPaVNXZS4LQhSpO+OpnL7dEERfLnNYwve4Na0ZJJwAFA0HrnBrS5xAAGSTyWSrq+s1RVSWy1O6OiZunqSPe7vDu5+CVNbVasrH0FvcYrbGfbT43v7h9vVaaioae3UraaljEcbeziT2ntKs3M3qY23tDtHd58+3Q52y2U1po201MzDRvc48XntKmIig3c1xioqy0I1xrGW+3z1chAETCRnmeQ8zgKo0ZRugsv4iQ5kq3mQnPLgPqfNcNYTOqjSWWB3tqqQOcOxo4fH5LRwxMp4I4YxhkbQ1o7gMKekO5mXnrt8Ir3f4OiIirNQREQBERAc5pWU8Ek0hwyNpc49wGVntGRvnp6u6z75quY7+4fuT6LvrOr\/DaekYHAOnc2MfM\/AKztVGLfa6akAwY4wHf93E\/HKs0h3Mr89dL\/yvdktERVmoIiIAiIgCIiAIiIAiIgCIiALLag\/zDU9qtrd7Y3dNIB2Zzv8AJp9VqVl7Hi46sulx3lkOIYzy7N39vx71ZDK7M20ebDT5v2WZpKieKlp5J5nBkcbS5xPILM6fhlvV1mv9W32YJZSsODsjJ+XzJXzeZ5dQ3htjpHkU0RzVStbwIzu\/nPwWohhip4WQwsDI2DDWtG4BN2PVkV+9Uv8A1j7v8fc6IioNTXmWlYy3W87dfUnZAbxYDz7j2eZUIpydkX1KipxxMjXm7VNzrjY7M4F5H+8Tg7mDmM\/M+Su7Vaqa0Ubaenb3veeLz2lcbFZILLRiJmHzP3yy43uP2Cs1KUlotCulTlfxKm8\/boEReOcGtLnEAAZJPJQNB45zWML3uDWtGSScABZKrq6rVta6goHOitsR9tPj\/U\/nIeZSrq6rVta6goHOitsR9tPj\/U\/nIeZWnoqKnt9KympowyNg3Dt7z3q3c7mNt7Q7Lc+\/4FFRU9vpWU1NGGRsG4dvee9SERVGtJJWQXKpqIqSllqZnbMcTS5x7guqyt+qJr5dGWCiceiY4OrHjGAMg\/D547FKMbsqrVPDjda8O596ZhluVdUagqh1pSY4BvGGjdnj5eIK06508EVLTxwQtDI42hrQOQXRJO7O0afhwtx49wiIoloREQBERAZfUuazUNotw4bfSvA4kZ+zXLULMOPS\/wC0No34hpuXLI\/dadWT0SM1DOU5dbegREVZpCIiAIiIAiIgCIiAIiIAiIgIl0q\/wFrqarnFGS3x5fHCylFWfkOj2SMGa24PcYwPe7M+QwfEqfrerxQwW9r2tdUyAuLicNaOZxyzj0UbTlK+8XEXWZpbSUjRDSxOPuloAz\/OZ7lfFWhdnm1puVfBDW1u19X6F1p2zC0UGJMOqpjtTvznJ34Hln5q2RFS227s3wgoRUY6Ih3S5QWmhfVz5LW7g0cXHkAqfTFtne+S+XAk1dUOqCMbLN2PgB5KLX\/\/ACPVkdAOtR0HWm7HO5j1w31WtAAGAMAKb8sbcWZ4\/vVMT0jp34s9REVZrPCQBknACydbW1Oqa91st7jHQRn\/AHioH6+4d3Z28eC+rtdKi+1brLZzmM7qmoHugcwD2fNX1rtdPaaJtLTjcN7nkb3ntKsSwK71Mcm68sMd1avn0X+nWioqe30rKamjDI2DcO3vPepCIqzWkkrIIiptRX1top2xQt6Wsn3QxgZxyyR\/MrqTbsiM5xpxcpaHHUl6mpnR2y3Dbr6ncNneYx2+P2JUux2SKzUpbnpKiXfNKd+0fso2nbG6hY6ursyXCfrPc7eWZ5K9U5NJYUU0oSlLxZ68Fy\/IREVZpCIiAIiIAiIgMxb8Sa\/uT\/8A6QBu\/luZw9D6rTrL2c51tdy7c7YAA7t37LUKc9UZtm3W+r+4REUDSEREAREQBERAEREAREQBEVRqa6\/lNnkkY7E8vs4u0E8\/Ib\/RdSu7IhOahFyeiMhcRLqfVj4afIY09GHH9LG8XeuT5r9ApaaKjpY6aEYjiaGtB7FUaVsn5TbukmZiqn3yZ4tHJqvVZUlfJaIzbLRcU6k96QVffLj+VWieqHvgbMe7PWPBWCy2oc3TUVus7SeiaemmGMjz8gf7lGCu8y2vNwpvDq8l3ZM0lbDb7SJpQfxFWekkJ44\/SPTf4kq9RFGTu7llOCpwUVwCy13udVeq02Wzu6vCpqBwaOYz2fPgvbpdqi81Zs9kdkcKipHBo5gH68+Su7Vaqa0Ubaenb3veeLz2lTSwZvUzyk67wQ3eL\/xf6LVaqa0Ubaenb3veeLz2lTURQbvmzTGKirLQIiqr3fYLNAAR0tTIPZQji49p7kSbdkJzjCOKTyPb3e4bNTgkdJUSbooRxcfsoVisczal13up6Sul3taeEQP1x6L5slindVm8Xk9LWP3sjPCL9\/l4rRqbairIzwhKrLxKiy4L\/X1+wREVZqCIiAIiIAiIgCIiAy8W1Tf7Q5QG4bU044cOA4\/2lahZfU4FFfLTdODWydFIccBn7Fy1CsnmkzNQylOPW\/qERFWaQiIgCIiAIiIAiIgCIiA8c4NaXOIAAySeSxdEf8V6qNW7\/g6LBY1wxnjj1O\/wC763u7442Wmn3vnAMuOIGdwHjj+ZVvpq1flNojjePbS+0lPeeXkMfFWpYY4uLMM5eNWVNaRzffgi3REVRuCy1h\/zHVNzuZyWRHoYyfTd5N+K1Kx2mLnR2yir311QyF5qXZa73zuHLirILJ2MldpVIYnlm\/RGwc4NaXOIAAySeSydddqvUVa61WZ2zTYxPU45d3d8\/BeS1Fz1dJ0FKx1Jas4fK4daQA8P29StLQUFPbaRlLSs2I2+rj2ntKWUNdTjctoyjlHnz7dOpztVqprRRtp6dve954vPaVNRFBu+bNUYqKstAiLPXzUMkE4ttpjNRXvODsjIj8e\/4DmkYuTsiNSpGnHFI7X\/AFCy1NFPTt6eukHs42jOz3n7c1wsWn5Yp\/zS7PM9e8ZAdv6P9\/kpFi0+22l1XVv\/ABNfLvfK7fs9w+6ulNySVolMKcqkvEqfRcvyERFWagiIgCIuFTW0tG3aqaiOEf1uAQ42krs7os5Va1t7H9FRRTVsh4CNuB8d\/wAFy\/F6suYH4ekit0Z\/VL73x3\/BT8N8cjO9pp3tHzPpn+DTkgDJOAFWVWpLPR7pK6Nx7Iztn4KrGkZ6x23d7vUVGd5Yw4aD3Z+wVnSaZs9G0BlFHI4fqlG2T67h5LtoLVjHXlpFLv8Aj5K06zFQ8stlqqat3bjGPTKkW6o1LVVsb6ylp6WlwdocXHdu554+CvWtaxoaxoa0cABgBfS45LgjqpVL3nN\/TIqNUUBuFhqI2NBkjAkZntHH4ZHmuun7ibpZoKl5Bkxsyf8AcN3x4+asSARgjIKylC46a1LJQS7qKvO1A7GA13IfT0K6vNGxGp+3VU+Dyf8AnwaxERVmoIiIAiIgCIiAIiIAuVTURUlLLUzO2Y4mlzj3BdVi9TXV12uENhoZOo+QMmfyLs8PAcT+ynCOJlFeqqUL8eHc56boJb5e5r3WA9Gx+WBwyHHgBnsaMfBbhcaSkhoaSOlp2bEUYw0Lsk5YmNno+FCz1evcIiKBeFWv0\/a5K41klIx8xJcS4bs+HA+farJF1NrQjKEZbyueNaGtDWgAAYAHJeoi4SC8JAGScALnUVENJA6eokbHGwZLnFZWaruOrZnU1CH0tsBLZJyN8nd+3qpRjfsU1ayhks29ESLnqGprql1ssDOmm4SVA91m\/kfr6Kysdigs0JIPS1Mm+WZ3E9w7lJttrpLTTdBSR7LScucTlzj2kqYuuStaOhGnSeLHUzfsu3yERQ6260FuGaurjiOM7JOXHyG9RSvoXuSirtkxFmZNXuqnmKz22erfnG24bLQeX8OF8\/l2p7tvra9lBE7B6OD3h3bvuVPA1rkZ\/wBTF5U05dtPUvK260FuGaurjiOM7JOXHyG9Uc2s+neYrRbp6t+\/rFpA8cDJI9FLotH2mkO1JE6pfv60xz8OCu442RMDI2NY0cA0YAS8F1OWrz1aj7szP4XVd0B6eqitsR\/THvf3bxv+IXWl0Vb2P6WtlmrZDxMjsD4b\/itGi54j4ZHVs1O95eZ9c\/wcKaipaNuzTU8cI\/oaAu6IoGhJJWQREQ6EREAVVqGztvFuMbd1RH14XZxh3Z5q1RdTad0RnBTi4y0ZSaZu77jRup6rLa2lOxM13E43Z+\/ertZ++2aodUNu9qd0ddCOswcJR2ePzUmyaipbu3oj7GraOvC7cd3HHb81OSv5kZ6dRwfhVNeD5\/kt0RFWagiIgCIiAIvCQBknACzN0v8AU11UbVYW9LKd0tQPdjHcfr6b1KMXIqqVY01dnW+3qd1QLPaOvWybnvbwiHPfyPy8VUW60x2jWVDTPk2nCAu2sYDnbLh\/PBaWyWSGzU5APSVEm+WY8XH7L4v9lN1hjmp5Ohrac7UMgOPIqxSS8q0Mk6M5pVZbyadunLuW6LMN1PW2wtivdukZ1tkVEQ6rsbs4+x58FZU2pbNVNyyviYcbxKdjHrhQcJI0x2inLK9nyeRaoo7a+ieMtq4HDukBXZr2Pzsua7HYcqFi5NPQ+kRfL3sjYXyODGtGS5xwAh0+lWXi\/UVmh2p3bcpHUhaes77DvVXV6mqbhUGh09CZpOD6hzeqzvGfmfiutDYqCzP\/ADG61bJasnJmnfhod3Z4lWKNt4ySrOeVL14L5IsFpuOpJ2Vd7zDSt3xUzDg+fZ8\/BamKGOCJsULGxxsGGtaMABUVZrS1U\/UpzJVychE3Az4n6ZUX8dqq7HFLSMt0JI68o62Md\/HyC61KWuSIQqUqbeG8pcbZv4NNPPDTRGWeVkUbeLnnACoa3WVBDIYaKOSumBwBGMNPn9gudPo6OZ7Z7vWz10oG9peQ3wzx+SvqS30dAzYpKaOEYwdhuCfE8SueRdSy9eelor1fwZ7odUXpxEsjbVSuHutwX4+fxCl0GjrVSYfMw1cuN7pTkE+H\/tXyLjm9FkSjs0L3l5n1\/wCsfMcbImBkbGsaOAaMAL6RFA0BERAEREAREQBERAEREAREQBU1407FcZG1VNJ+DrWHImYN7vHHzVyi6m07ohOEZrDJGVp9RXC0PZS6gpHNbwbVMGQ7dzxuJ8PRaGkuFHXs26SpjmH9Lt48RxC7SwxTxmOaNkjDxa9oIPkVRVejLXPIJafpaSQDd0Lt2e3B+mFO8Za5FCjWp5ReJddfU0CLHVdqudpGzBfqksdjDXDOyN\/aVxihvFU4xm+ztGM5DcfIrvhrW5F7TJOzg790bYkAZJwAqa4artVB1WzfipTwZBh2\/vPBQhozpji4Xerqm5zs5xv8yVb0FitttIdTUrGvH63dZ3qVy0F1JYq89Eo98ykfT33UzR+I\/wAsoSd8e\/bkHf8AvgLQW62UdqpxBSQhg\/U7i557SealoouTeXAsp0YxeJ5vmwiIolx45oc0tcAQRgg81WVGmrNVO2pLfED\/APnln\/iQrRF1NrQjKEZ7yuUDtFWV2MQyN8JT9VxdoO0uxiWqb4Pb9WrSopeJLmUvZaL\/AKozH+BqX\/qFZ\/cPso9foqofBHBR3GR0YJc9lQ8kZ3YwAMdq16LviS5kXsdFq1jI02kLpHC2H87dBHuy2FpGfiM+alw6ItjX7dTLUVTue2\/A+G\/4rRojqS5nVslFcL98yNSW6ioWgUtLFDgYy1oBPieJUlEVepoSSVkEREOhERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "CARLOS FELIPE URBINA RESZCZYNSKI",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "RICARDO",
    "correoContacto": "ricardo.notariaurbina@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "APP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56957345361",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:59",
    "ubicacionGPS": "LatLng(lat: -23.6507302, lng: -70.3988732)",
    "horaLlegada": "15:26",
    "horaDespacho": "15:57",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


13/05/2026 15:59:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:14108776

[13/05/2026 15:59: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('14108776', 'KY2950', 2, 24456550, 227755, NOW(), 
				'15:57', '15:26', '15:59', 4, '•Atasco 4401 :: Sensor duplex 2 no detecta paso del papel al tiempo correcto
•Este sensor está por dentro de la impresora, se debe desarmar a profundidad para evaluar', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778702353.png', '•Recomendable cambio de equipo y revisión en taller', null, 'REPROGRAMADO','LatLng(lat: -23.6507302, lng: -70.3988732)' )
				
[13/05/2026 15:59:13] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200303

13/05/2026 15:59:13 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200303'                    
				WHERE idllamado = 12477			
				TO ENVIO: micorreo@miempresa.cl, ricardo.notariaurbina@gmail.com


13/05/2026 15:59:13 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 12477			
				
13/05/2026 15:59:13 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('14108776', 'KY2950', 2, 'APP', 'sin otroTipo definido', -1, 'Sin otrafalla definida', 'TONER', '1', 'SI', now(), 'RICARDO', '+56957345361', 'ricardo.notariaurbina@gmail.com', 12477)
				
13/05/2026 15:59:13 Insertado nuevo llamado creado idllamado: 12575APP
13/05/2026 15:59:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


13/05/2026 15:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/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 = 12477
                

13/05/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 = 12477
                

13/05/2026 15:59:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
[13/05/2026 15:59: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;
                

13/05/2026 15:59:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

[13/05/2026 15:59: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;
                

13/05/2026 15:59:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:59:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
[13/05/2026 15:59: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;
                

[13/05/2026 15:59: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;
                

13/05/2026 15:59:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:59:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:59:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
[13/05/2026 15:59: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;
                

13/05/2026 15:59:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:59:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
13/05/2026 15:59:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12477
            GROUP BY l.idllamado;
            
[13/05/2026 15:59: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;
                

13/05/2026 15:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 15:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12477
                

13/05/2026 16:02:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
13/05/2026 16:02:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
13/05/2026 16:02:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
[13/05/2026 16:02:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 16: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 = 12544
                

13/05/2026 16:02:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
13/05/2026 16: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 = 12544
                

13/05/2026 16: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 = 12544
                

13/05/2026 16:02:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
13/05/2026 16: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 = 12544
                

13/05/2026 16: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 = 12544
                

13/05/2026 16: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 = 12544
                

[13/05/2026 16:02:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[13/05/2026 16:02:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[13/05/2026 16:02:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 16: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 = 12544
                

[13/05/2026 16:02:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[13/05/2026 16:02:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
13/05/2026 16: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 = 12544
                

13/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
13/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
13/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
13/05/2026 16: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 = 12544
                

13/05/2026 16: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 = 12544
                

13/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
13/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
13/05/2026 16: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 = 12544
                

13/05/2026 16: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 = 12544
                

13/05/2026 16: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 = 12544
                

13/05/2026 16: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 = 12544
                

13/05/2026 16: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 = 12544
                

13/05/2026 16: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 = 12544
                

13/05/2026 16: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 = 12544
                

13/05/2026 16:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

13/05/2026 16:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

13/05/2026 16:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

13/05/2026 16:03:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
13/05/2026 16:03:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
13/05/2026 16:03:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

13/05/2026 16:03:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

[13/05/2026 16:03: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;
                

[13/05/2026 16:03: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;
                

[13/05/2026 16:03: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;
                

13/05/2026 16:03:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
13/05/2026 16:03:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
13/05/2026 16:03:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
13/05/2026 16:03:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

13/05/2026 16:03:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

13/05/2026 16:03:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
13/05/2026 16:03:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

13/05/2026 16:03:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
[13/05/2026 16:03: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;
                

[13/05/2026 16:03: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;
                

13/05/2026 16:03:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

13/05/2026 16:03:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
13/05/2026 16:03:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

13/05/2026 16:03:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

13/05/2026 16:03:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
13/05/2026 16:03:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12544
            GROUP BY l.idllamado;
            
13/05/2026 16:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

[13/05/2026 16:03: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;
                

13/05/2026 16:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

13/05/2026 16:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

13/05/2026 16:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

13/05/2026 16:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

13/05/2026 16:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

13/05/2026 16:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

13/05/2026 16:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

13/05/2026 16:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

13/05/2026 16:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

13/05/2026 16:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

13/05/2026 16:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12544
                

13/05/2026 16:03:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
[13/05/2026 16: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;
                

[13/05/2026 16: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;
                

13/05/2026 16:03:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:03:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16: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 = 12571
                

[13/05/2026 16: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;
                

13/05/2026 16: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 = 12571
                

13/05/2026 16:03:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16: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 = 12571
                

13/05/2026 16: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 = 12571
                

13/05/2026 16: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 = 12571
                

13/05/2026 16: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 = 12571
                

13/05/2026 16:03:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:03:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:03:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

[13/05/2026 16:03: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;
                

13/05/2026 16:03:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:03:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:03:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

[13/05/2026 16:03: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;
                

[13/05/2026 16:03: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;
                

13/05/2026 16:03:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:03:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:03:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:03:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:03:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:03:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:03:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:03:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:03:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:03:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:03:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:03:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:03:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

[13/05/2026 16:30: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;
                

[13/05/2026 16:30: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;
                

13/05/2026 16:30:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
[13/05/2026 16:30: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;
                

13/05/2026 16:30:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

[13/05/2026 16:30: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;
                

13/05/2026 16:30:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

[13/05/2026 16:30: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;
                

13/05/2026 16:30:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
[13/05/2026 16:30: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;
                

13/05/2026 16:30:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

[13/05/2026 16:30: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;
                

13/05/2026 16:30:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

[13/05/2026 16:30: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;
                

13/05/2026 16:30:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

[13/05/2026 16:30: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;
                

13/05/2026 16:30:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
[13/05/2026 16:30:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[13/05/2026 16:30:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 16:30:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
[13/05/2026 16:30:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 16:30:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
[13/05/2026 16:30:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[13/05/2026 16:30:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 16:30:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

[13/05/2026 16:30:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 16:30:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
[13/05/2026 16:30:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[13/05/2026 16:30:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[13/05/2026 16:30:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 16:30:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:31:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:31:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:31:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:31:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:31:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:31:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:31:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:31:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16: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 = 12571
                

13/05/2026 16: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 = 12571
                

13/05/2026 16:31:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:39 - logentry: =========================================
FECHA: 13/05/2026 16:31:39
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-IwRGOjFM1Pc0z5p2gVnE_rMjlhIWP1FrQ6S9HY7QGn7+TGfIivN
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65195060",
    "serieinterna": "TO2786",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "178993",
    "contadorColor": "310055",
    "contadorScanner": "0",
    "detalle": "•Se hace entlega de toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12571",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADWAQgDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABKEAABAwMBAwcHBQ0IAwEAAAABAAIDBAURBhIhMRNBUWGBkaEUIjJxscHRFRYjdNIHJDM3QlJTYnKiwuHwJTRDVoKSsvE1NkRU\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMxEAAgECAwQJAwQDAQAAAAAAAAECAxESITEEQVFhExQiMnGRobHRgcHhM1Ji8CNCcvH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBEXhvNYbfZ6qqBw5kZ2T+sdw8SF1K7sRlJRTk9x47dfJbjfqyjhhY6kphjlsnO1w9Ryc49S6qO4VZ1lW0E0xdAIQ+JmBgej8SuekKLySwxSOH0lSTK443nPDwx3ryS\/Q\/dEhxu5am39e4\/ZVtldpcDFinghKTzbXruKdERUm8IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCl9ZSPqfIbRCfPqpQT5ucAbh4nPYqhS8QFf90CV+NplDBsg9B\/px7lZT1vwM205wUP3O3yUsUbYYmRMGGsaGtHUFN134xLb9WPskVOpi8+ZrW0P45aW47\/AIpDV+A2nKMfFe5ToiKs0hERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB8JAGScAKY0f9+VF0uhH4efZaTzAb8eI7lt3mfyay1kvO2F2N3PjA8V4tIwchpumzxk2nnf0k48MKxZQbM0+1XiuCb+xtKYvn\/uFm7faqdTF7wdY2cc4BOB6\/wDtKeo2nuLxXuU6IirNIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAYur37Gmavfgu2AP94Xssrdix0LcY+948jr2QszW8mxp4tzjlJWt9fE+5bdJHyNHBERjYja3HqCm+4jNHPaJckvdncpiu+l+6Dbm8RHTkkdBw\/wDkqdTDPvj7oj8b\/Jqbf1ZA+0kN\/gNo0iv5Ip0RFA0hERAEXmqrhRUQzVVUMPU94BPYsmfWtlhzsSyzY\/Rxn34UlGT0RVOtTh3pJG+il\/ndV1BxQ2KpmHM45HsB9q+\/KOrp90Vpp4h0vdw\/e9yl0b3lfWqb7t34JlOimOT1nJ53LUcX6uAfcU5DWf8A+uj7h9lMHNDrH8JeRTopjY1mzdylHJ17vgE5XWcf\/wA9HLz8QOziFzBzQ6x\/CXkU6KY+WtTQ7p7CHkceScfcSnz0bTlouFpq6XPHIzjo44To5bh1qku9deKZTosel1XZao4FY2J3RKCzxO7xWs1zXtDmODmngQcgqLTWpdCpCfddzkiKP0pf6mpuk9DWSulMhLo3O5iOI9WPYuqLab4EJ1ownGL3lgiIolwREQBERAEREAREQBERATGtztUlDB+kqRuPDh\/NU6mNX+fWWeLiH1Po9O9vxVOpy7qM1P8AWqfT2Cl9PjltV3uo\/MeI\/Ej+Fbtfc6O2xcpV1DIhzAne71DiVE2GuvDm1otNFyjqiXbdM8+azq37s7\/5KUItxZXtFSKqwWtruy10L972RsL5HBjWjJc44AWLXavtNGdhkxqpM42YBtePDxXjbpOquL2z3y5yTux+Ci3Naeo8O4BbdFaLfbmgUtJHGQMbWMuPad65aC1zJ4q89FhXPN+RiG9ajryRQWcQM5nzk+\/HR0L58g6gr\/8AyF6MTTxZAD7sDoVSiY7aI71fF35N+i9CfptFWiA7UrZal3OZH\/DC16e30dKAKelhix+YwBelFFyk9WWQo04d2KQREUS0IiIAiIgC+EAjBGQV9RAZtXp+01rSJaGIE\/lsbsO9eQsh+kamheZLLdZackk8nIfNO7q94PgqlFNTkiiez05u7WfLIlm6iu1py2+W1xj2sCoh4dvN7FMUAEEIvMDvpaWrBkZtb+TOMZHRnzf9S\/T3NDmlrgCCMEHnX57Z9OfK9BWS09QYKhkro2jOGObu3HG9WwlGzehg2mlUUopPFrbiX8E8dTBHPE7ajkaHNPSCuxRVivzrC91mu7Hx8m\/DJOIaD09XOD1qyimjnibLC9skbxlrmnIIVUouLN9CtGrHnvRzREUC8IiIAiIgCIiAIix73qKntIELWmeseBycLek8M\/1vXUm3ZEJzjCOKTyMzVlRFFfLKZXhjIZTI9x5htN+yuU2objeZHU2n6Y7A3PqpRgN9QPDxPUsgUldcdV0UN9GTOwyckDua0B2BgcN7VexQxwRNihY2ONgw1rRgAK6VopLUwUlOtKck8Kb+ui8iSqtMQUNsq7jdKl9ZVNicQXE7Idjd1nfj4LV0hT+T6cpz+VKXSHtO7wAXn1vOWWVlMzJfUzNYAOcDf7QFu0sApaSGnbwijawdgwoyk3DMspUoRrvCtF6s7kRFUbgiIgCIiAIiIAiIgCIiAIiIAiIgCmNDf3Gt+sn2BU6mdDYdbKp7QcOqXb88dw+KnHuszVP14fX7DV1lNTGy5U0YfPBjlGFuQ9nWOfHsWRb6iazwsutse+ptrziopjxhPP8AyPer1SNxpZtLVz7lRsMtuqDipgPBuT\/Pd3c6shK6wsz7RRwT6WOXHlz+Smoq2nuFKypppA+N43Ho6j1r0KNdtWFzb1ZyZ7TUnMsI\/I6x0dHVwVbTVMVZTR1EDw+ORu00hVyjbNaGqjVx9mWq\/t1yO1ERQLwiIgCIpe7XirudcbLZT5+8T1A4MHPg83r7lKMXJlVWqqau\/wD07bxqCV8\/yXZBy9Y8lrntwRHjj2+C9Nk05FbCampf5VWyHL5n78Hqzv7V32SyU9lpOSi8+V2+SUje4+4dS01JySVoldOk5PpKuvDcvzzJiu\/GJbfqx9kip1MV34xLb9WPskVOk93gNn1n\/wBfZEvqECs1RZ6EjIaTK4dIzn+AqoUvZj8pavuVed7KYcjGRw44z1+ie9VCTyshs\/axT4v2yCIirNIREQBERAEREAREQBERAEREAREQHTWS8hRTzZ2eTjc7PRgZWJoiPk9Pg49OVzvXwHuXr1RP5PpyseDguZsf7iB712adg8n0\/RRkAHkg7A\/W3+9Wf6GZ57QuS93+DSXCWKOaJ0UrA9jxhzXDIIXNFWaSNfGdK15pZ8zWauJaQ7fyZPH+ucdYXbZZZLBe3WeV+3SVR26WTO7fwHbw9frVJX0MFyo5KWobtMeO0HmIUPJBO+mmsNTk1tDmWjk35e0by0dWBkerqWiLU1n\/AHmeXVg6Ek46bvvH67uZ+gos2wXH5Us0FS52ZMbMn7Q3Hv49qKhqzselCSnFSW80kRY2o738j0bRCA+rmOzEziR+tjnRJt2Ryc404uUtDyahu800ostpcXVkpxI5n+G3nGeY9fMtOyWaCy0IgiO29x2pJCN7j8OgLz6csfyRTvknfylZUHalfnOOrPv51sqUmksK0KaVOTfS1NeHBf3UIiKBpJiu\/GJbfqx9kioauobSUc1Q4gNiYXnPUMqervxiW36sfZIu\/WdWYLGYGZMlU8RgAZJHE+zHarWruKMUZ4I1ZcG\/ZHHRMJbZHVDsl9RM55cefG72gqiXmt1KKG3U9KP8KMNPrxv8V6VCTvJs0UYYKcYhERRLQinLld7jUXwWuzmMPhbykrnjc7H5PA44gZ6d25evT97+V4JI5mCKrgOzKzh2getTcGlcojXhKeA2EXTU1UFHTunqZWxRM4ucph12veoXuZZ4vJaTODUybie34d65GLZ2pWjTy1fBFTLUQQb5po48\/nuA9q+Q1VPUfgZ45f2Hg+z1hYEGi6J30lwqJ6yYgAuc\/ZHZz+K41mkWU8fL2SeWlqYwSBtkh\/VkndwUrQ0uV9JXSvgy8c\/gpkWRp+9\/K9PI2aPkqqndsys947lrqDTTsy+E4zipR0CIi4TCIiAIiICY1m91QLfaoz51VOM45gMD+LwVKxjY42sYMNaAAOgKYBF311tNcHQ22PB3\/l\/9n93vqVZLJJGWj2pznzt5fkIiKs1BTur6BzqSO60xLamhcHAjnbn3ce9US4SxtmifE8Za9pa4dRUouzuV1aaqQcSP0VVsFyraWMbMUzRNGzO5vSPEDsRY2mJH0+paRjsAhzoj3Hu3lFZWVpGTYJ4qVuD\/ACfpMsrIYnyyODWMaXOceYDiVMWKF19vU9+qAeThdydK08MAHfw6+8noXfrKqeKGG2wZM1dIGgDoBGfHC26Cijt1DDSQ+hE3Zz0nnPaclRXZjfiWy\/y1sO6Of13eR6ERFWagiIgJiu\/GJbfqx9ki8moq6ObV9tpJMOip3sLmneNpxHR1bK9N4e2HW1smedlohdl3V53x8Vkw2qS+2u53fZ++Hz7cGBg4bkkdoOPW1aYpZN8DyKrl2oR1xX+iSZfos2wXIXWzw1G1mQDYl\/bHHv49q0lnas7HqwkpxUlvC4TSsghfNIdlkbS5x6AN5XNYWr6vyawyRM3y1LhExo4nPHd6h4pFXdiNWeCDlwPNo6OSp8uu8zcPrJjs784AJO7qycdi+XeCW06ghvNNBLJFI0tqI4RnaPAbu0dy27VRC32qmpBxjYA7h6XE+OV7FNz7TZTGh\/ijF6rP6klBQV2qK5lbdI3U9vjwYafO9\/X\/AD7lVxxsijbHG0NY0YDQNwC5IoylctpUlTu9W9WERFEtJW\/wyWS7w3+lYTG47FUxu7IPP2+0BU1PPFVU8c8Lg+ORoc0jnCTwRVMD4JmB8cg2XNPOFN2GWWyXaWxVTy6F\/n0sjt2er+ucdas70eaMn6NT+MvR\/n3KhERVmsIiIAvFdblFarfJVyn0RhoxnaceAXbXV9NbqZ1RVSiNjRz8T1Ac5U3R0lVqmtbcbg10VviOaenz6fWfipxjvehnq1WuxDvP05s9mj6CWmtj6uozy9a\/lHZGDjmz68k9qoF8AAGAMAL6oyd3cspU1TgorcERFwsC6KyqZRUU1VJ6MTC4jpxzLnPUQ0sLpp5GxxtGS5xwApOqqJ9ZVTaSja+K2wvzLM4YLz1e4deSpxjfXQorVcCss5PRGTSU8sFXZK2faMlZWOdg8MbTBkeskn+skrKusUNZPbpGyGFtveHMY0ZBA2cD90IuzlisV7NRdLEny9szM\/v33QCDhzKKAEDmzj2+f4KnUxawYtdXSN4wZIg5pPOPN4d\/gqdcnu8CWzaSfNhERQNIREQET90AObPQvBIyyRuQfVn2qos1GbfZ6WlIw5kY2h+sd58SVK6wr2P1BQ0p3spi1zxnncQcdwHerhXTuoRRhoKL2ipJckSlKRp3VklK47NFcfOjzwa\/o78jtCq1k6is\/wAsW7k4yG1ER24nZxv6M9a6bDffLIzR145CvgGJGv3beN2R71F9pYidN9FN03o8190bik5GnUGs9hwzSWwbxnIc\/Px8GrQv2o6a229zqaeKWpcdmNrXB2Dzk46Fnadudms9sAnuEZqZvpJiGucc9BIznC7GLSbsQrVITqKm2rLN\/ZFaiwX6zsjPRqHv\/Zid7wF53a7tQwGQ1TyeADG\/FR6OXAue1UV\/simRTHz4pjubbqwnmGyN\/inzykdujslY89GP5LvRy4HOt0f3e5Topj52XB34LTlY\/HH0t37qfOm6\/wCWKzvd9hc6OQ61S4+j+CnWRqCzuulKx9O4R1lOduGTgQeOM83Ab1n\/ADpuv+WKzvd9hPnTdf8ALFZ3u+wuqEk7ohOvQnFxlfyfwemx6iFWfIbiPJ7hGdktcMcp1jr6u5byhLxUz3luZ9K1rJgMNlYXBw6j5m8LxRT6ppstp4rkyPPmtfE5+B2hTdO+ayKI7Y4dlpyXGz9bn6M97I2F8jgxrRkuccAKbrNVS1VSaGw05qp84Mrh5jesfE7vWpyRt6rJP7ToLrVRA5EYDmD\/AIlbVJdLrSU4gt2ln07BwD9rxyASnRqPMPanUyV4rwbftZHro9KvnqfLb3UmrnO8RgkMZvz\/AEBgKja0NaGtAAAwAOZTPl+sJdzLVTRjpc4fa9yclrOff5RR0+ebAOPAqMk3q0W05wprsQl5fJTrjJIyJhfI9rGjiXHACmRZNTTDE9+DMfogePcF9ZomCV4kuFwqqt\/STjPfk+K5hjvZb0tV92Hm0vk0qnUtnpXbL66N7s42Ysv9mVmO1fPWkx2e1T1DzuD5Bho6zjm7QtWm05Z6TBioIiel\/nnxytJrQ0YaAB0BLwWiGCvLWSXh+fgmItM1l0nbVagqzKRvFPGcNHVke7vVJBBFTQshgjbHGwYa1owAuxFGUmyynRhTzWvHeERFEtMC+WarkrortanMbWQjzmO4SjhjPqyPgvN88JqR2xcrPUwEHe5oOCOkZA9qqEU1JWs1czyotScqcrX+qJxmurO\/0m1DP2ox7iVxfru0N4R1T9\/Mwe8qhfBDL+EiY\/8AaaCvrIo4\/Qja3djcMJeHA5gr\/vXl+SaGt4ZBiC2VcjjwGBv7so7VN2ewvh07UBgGdqQux\/xVQsbVdRJDYpY4Wlz6giIYzgbRwcnm6N\/SpJxbtYhUjVjByc9OSIKrFfXxVF4kgAikmGZdw2TzAb843+AVZFTavrYmyG4U0DHDaADRnf8A6Vzu1sFDoR1I0YdCxjnc+XbQLvaVs2SUT2SikBBzAwHHSBg+KnKd1dIzUdnw1HGUndpN57zGOmLrOdqp1FUZO\/ZYCBn\/AHe5fDoSge0mWsq3yH8ouHwVQir6SRs6pR3q\/i2T1Hom004Jna+pcfz3EAdgXvj09Z4wA23U5x+cza9q0kUXOT3k40KUVZRR5WWy3x42KGmbjhsxNGPBehrGMzsta3PQMLki5ctUUtEERFw6EREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAeW5QeVWyqg\/SROaPXhZWi5jLpyNpz9E9zN\/rz71vqX0U4QNuNvPpU9STjw\/hVi7jM08q8HxTX3KhERVmkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKXg\/szXk0Z3R3CLaaB+d\/wBh3eqhTWso3Qw0V0jHn0c4Oeo79\/aB3qcNbcTNtOUFP9rv8+hSouEUjZomSsOWvaHNPUVzUDSEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAF5rhQw3KhlpJ87EgxkcQeYhERZHGk1ZnmsVDWW23CkrJ45jG4iMszuZzA5WkiKUtSFJWgkgiIolgREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/2Q==",
    "razonSocial": "FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ALEJANDRA GUERRERO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I895\",\"id_control\":\"28673\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I898\",\"id_control\":\"28673\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:31",
    "ubicacionGPS": "LatLng(lat: -23.5852863, lng: -70.3794474)",
    "horaLlegada": "16:28",
    "horaDespacho": "15:59",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 13/05/2026 16:31:39
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-IwRGOjFM1Pc0z5p2gVnE_rMjlhIWP1FrQ6S9HY7QGn7+TGfIivN
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65195060",
    "serieinterna": "TO2786",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "178993",
    "contadorColor": "310055",
    "contadorScanner": "0",
    "detalle": "•Se hace entlega de toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12571",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADWAQgDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABKEAABAwMBAwcHBQ0IAwEAAAABAAIDBAURBhIhMRNBUWGBkaEUIjJxscHRFRYjdNIHJDM3QlJTYnKiwuHwJTRDVoKSsvE1NkRU\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMxEAAgECAwQJAwQDAQAAAAAAAAECAxESITEEQVFhExQiMnGRobHRgcHhM1Ji8CNCcvH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBEXhvNYbfZ6qqBw5kZ2T+sdw8SF1K7sRlJRTk9x47dfJbjfqyjhhY6kphjlsnO1w9Ryc49S6qO4VZ1lW0E0xdAIQ+JmBgej8SuekKLySwxSOH0lSTK443nPDwx3ryS\/Q\/dEhxu5am39e4\/ZVtldpcDFinghKTzbXruKdERUm8IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCl9ZSPqfIbRCfPqpQT5ucAbh4nPYqhS8QFf90CV+NplDBsg9B\/px7lZT1vwM205wUP3O3yUsUbYYmRMGGsaGtHUFN134xLb9WPskVOpi8+ZrW0P45aW47\/AIpDV+A2nKMfFe5ToiKs0hERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB8JAGScAKY0f9+VF0uhH4efZaTzAb8eI7lt3mfyay1kvO2F2N3PjA8V4tIwchpumzxk2nnf0k48MKxZQbM0+1XiuCb+xtKYvn\/uFm7faqdTF7wdY2cc4BOB6\/wDtKeo2nuLxXuU6IirNIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAYur37Gmavfgu2AP94Xssrdix0LcY+948jr2QszW8mxp4tzjlJWt9fE+5bdJHyNHBERjYja3HqCm+4jNHPaJckvdncpiu+l+6Dbm8RHTkkdBw\/wDkqdTDPvj7oj8b\/Jqbf1ZA+0kN\/gNo0iv5Ip0RFA0hERAEXmqrhRUQzVVUMPU94BPYsmfWtlhzsSyzY\/Rxn34UlGT0RVOtTh3pJG+il\/ndV1BxQ2KpmHM45HsB9q+\/KOrp90Vpp4h0vdw\/e9yl0b3lfWqb7t34JlOimOT1nJ53LUcX6uAfcU5DWf8A+uj7h9lMHNDrH8JeRTopjY1mzdylHJ17vgE5XWcf\/wA9HLz8QOziFzBzQ6x\/CXkU6KY+WtTQ7p7CHkceScfcSnz0bTlouFpq6XPHIzjo44To5bh1qku9deKZTosel1XZao4FY2J3RKCzxO7xWs1zXtDmODmngQcgqLTWpdCpCfddzkiKP0pf6mpuk9DWSulMhLo3O5iOI9WPYuqLab4EJ1ownGL3lgiIolwREQBERAEREAREQBERATGtztUlDB+kqRuPDh\/NU6mNX+fWWeLiH1Po9O9vxVOpy7qM1P8AWqfT2Cl9PjltV3uo\/MeI\/Ej+Fbtfc6O2xcpV1DIhzAne71DiVE2GuvDm1otNFyjqiXbdM8+azq37s7\/5KUItxZXtFSKqwWtruy10L972RsL5HBjWjJc44AWLXavtNGdhkxqpM42YBtePDxXjbpOquL2z3y5yTux+Ci3Naeo8O4BbdFaLfbmgUtJHGQMbWMuPad65aC1zJ4q89FhXPN+RiG9ajryRQWcQM5nzk+\/HR0L58g6gr\/8AyF6MTTxZAD7sDoVSiY7aI71fF35N+i9CfptFWiA7UrZal3OZH\/DC16e30dKAKelhix+YwBelFFyk9WWQo04d2KQREUS0IiIAiIgC+EAjBGQV9RAZtXp+01rSJaGIE\/lsbsO9eQsh+kamheZLLdZackk8nIfNO7q94PgqlFNTkiiez05u7WfLIlm6iu1py2+W1xj2sCoh4dvN7FMUAEEIvMDvpaWrBkZtb+TOMZHRnzf9S\/T3NDmlrgCCMEHnX57Z9OfK9BWS09QYKhkro2jOGObu3HG9WwlGzehg2mlUUopPFrbiX8E8dTBHPE7ajkaHNPSCuxRVivzrC91mu7Hx8m\/DJOIaD09XOD1qyimjnibLC9skbxlrmnIIVUouLN9CtGrHnvRzREUC8IiIAiIgCIiAIix73qKntIELWmeseBycLek8M\/1vXUm3ZEJzjCOKTyMzVlRFFfLKZXhjIZTI9x5htN+yuU2objeZHU2n6Y7A3PqpRgN9QPDxPUsgUldcdV0UN9GTOwyckDua0B2BgcN7VexQxwRNihY2ONgw1rRgAK6VopLUwUlOtKck8Kb+ui8iSqtMQUNsq7jdKl9ZVNicQXE7Idjd1nfj4LV0hT+T6cpz+VKXSHtO7wAXn1vOWWVlMzJfUzNYAOcDf7QFu0sApaSGnbwijawdgwoyk3DMspUoRrvCtF6s7kRFUbgiIgCIiAIiIAiIgCIiAIiIAiIgCmNDf3Gt+sn2BU6mdDYdbKp7QcOqXb88dw+KnHuszVP14fX7DV1lNTGy5U0YfPBjlGFuQ9nWOfHsWRb6iazwsutse+ptrziopjxhPP8AyPer1SNxpZtLVz7lRsMtuqDipgPBuT\/Pd3c6shK6wsz7RRwT6WOXHlz+Smoq2nuFKypppA+N43Ho6j1r0KNdtWFzb1ZyZ7TUnMsI\/I6x0dHVwVbTVMVZTR1EDw+ORu00hVyjbNaGqjVx9mWq\/t1yO1ERQLwiIgCIpe7XirudcbLZT5+8T1A4MHPg83r7lKMXJlVWqqau\/wD07bxqCV8\/yXZBy9Y8lrntwRHjj2+C9Nk05FbCampf5VWyHL5n78Hqzv7V32SyU9lpOSi8+V2+SUje4+4dS01JySVoldOk5PpKuvDcvzzJiu\/GJbfqx9kip1MV34xLb9WPskVOk93gNn1n\/wBfZEvqECs1RZ6EjIaTK4dIzn+AqoUvZj8pavuVed7KYcjGRw44z1+ie9VCTyshs\/axT4v2yCIirNIREQBERAEREAREQBERAEREAREQHTWS8hRTzZ2eTjc7PRgZWJoiPk9Pg49OVzvXwHuXr1RP5PpyseDguZsf7iB712adg8n0\/RRkAHkg7A\/W3+9Wf6GZ57QuS93+DSXCWKOaJ0UrA9jxhzXDIIXNFWaSNfGdK15pZ8zWauJaQ7fyZPH+ucdYXbZZZLBe3WeV+3SVR26WTO7fwHbw9frVJX0MFyo5KWobtMeO0HmIUPJBO+mmsNTk1tDmWjk35e0by0dWBkerqWiLU1n\/AHmeXVg6Ek46bvvH67uZ+gos2wXH5Us0FS52ZMbMn7Q3Hv49qKhqzselCSnFSW80kRY2o738j0bRCA+rmOzEziR+tjnRJt2Ryc404uUtDyahu800ostpcXVkpxI5n+G3nGeY9fMtOyWaCy0IgiO29x2pJCN7j8OgLz6csfyRTvknfylZUHalfnOOrPv51sqUmksK0KaVOTfS1NeHBf3UIiKBpJiu\/GJbfqx9kioauobSUc1Q4gNiYXnPUMqervxiW36sfZIu\/WdWYLGYGZMlU8RgAZJHE+zHarWruKMUZ4I1ZcG\/ZHHRMJbZHVDsl9RM55cefG72gqiXmt1KKG3U9KP8KMNPrxv8V6VCTvJs0UYYKcYhERRLQinLld7jUXwWuzmMPhbykrnjc7H5PA44gZ6d25evT97+V4JI5mCKrgOzKzh2getTcGlcojXhKeA2EXTU1UFHTunqZWxRM4ucph12veoXuZZ4vJaTODUybie34d65GLZ2pWjTy1fBFTLUQQb5po48\/nuA9q+Q1VPUfgZ45f2Hg+z1hYEGi6J30lwqJ6yYgAuc\/ZHZz+K41mkWU8fL2SeWlqYwSBtkh\/VkndwUrQ0uV9JXSvgy8c\/gpkWRp+9\/K9PI2aPkqqndsys947lrqDTTsy+E4zipR0CIi4TCIiAIiICY1m91QLfaoz51VOM45gMD+LwVKxjY42sYMNaAAOgKYBF311tNcHQ22PB3\/l\/9n93vqVZLJJGWj2pznzt5fkIiKs1BTur6BzqSO60xLamhcHAjnbn3ce9US4SxtmifE8Za9pa4dRUouzuV1aaqQcSP0VVsFyraWMbMUzRNGzO5vSPEDsRY2mJH0+paRjsAhzoj3Hu3lFZWVpGTYJ4qVuD\/ACfpMsrIYnyyODWMaXOceYDiVMWKF19vU9+qAeThdydK08MAHfw6+8noXfrKqeKGG2wZM1dIGgDoBGfHC26Cijt1DDSQ+hE3Zz0nnPaclRXZjfiWy\/y1sO6Of13eR6ERFWagiIgJiu\/GJbfqx9ki8moq6ObV9tpJMOip3sLmneNpxHR1bK9N4e2HW1smedlohdl3V53x8Vkw2qS+2u53fZ++Hz7cGBg4bkkdoOPW1aYpZN8DyKrl2oR1xX+iSZfos2wXIXWzw1G1mQDYl\/bHHv49q0lnas7HqwkpxUlvC4TSsghfNIdlkbS5x6AN5XNYWr6vyawyRM3y1LhExo4nPHd6h4pFXdiNWeCDlwPNo6OSp8uu8zcPrJjs784AJO7qycdi+XeCW06ghvNNBLJFI0tqI4RnaPAbu0dy27VRC32qmpBxjYA7h6XE+OV7FNz7TZTGh\/ijF6rP6klBQV2qK5lbdI3U9vjwYafO9\/X\/AD7lVxxsijbHG0NY0YDQNwC5IoylctpUlTu9W9WERFEtJW\/wyWS7w3+lYTG47FUxu7IPP2+0BU1PPFVU8c8Lg+ORoc0jnCTwRVMD4JmB8cg2XNPOFN2GWWyXaWxVTy6F\/n0sjt2er+ucdas70eaMn6NT+MvR\/n3KhERVmsIiIAvFdblFarfJVyn0RhoxnaceAXbXV9NbqZ1RVSiNjRz8T1Ac5U3R0lVqmtbcbg10VviOaenz6fWfipxjvehnq1WuxDvP05s9mj6CWmtj6uozy9a\/lHZGDjmz68k9qoF8AAGAMAL6oyd3cspU1TgorcERFwsC6KyqZRUU1VJ6MTC4jpxzLnPUQ0sLpp5GxxtGS5xwApOqqJ9ZVTaSja+K2wvzLM4YLz1e4deSpxjfXQorVcCss5PRGTSU8sFXZK2faMlZWOdg8MbTBkeskn+skrKusUNZPbpGyGFtveHMY0ZBA2cD90IuzlisV7NRdLEny9szM\/v33QCDhzKKAEDmzj2+f4KnUxawYtdXSN4wZIg5pPOPN4d\/gqdcnu8CWzaSfNhERQNIREQET90AObPQvBIyyRuQfVn2qos1GbfZ6WlIw5kY2h+sd58SVK6wr2P1BQ0p3spi1zxnncQcdwHerhXTuoRRhoKL2ipJckSlKRp3VklK47NFcfOjzwa\/o78jtCq1k6is\/wAsW7k4yG1ER24nZxv6M9a6bDffLIzR145CvgGJGv3beN2R71F9pYidN9FN03o8190bik5GnUGs9hwzSWwbxnIc\/Px8GrQv2o6a229zqaeKWpcdmNrXB2Dzk46Fnadudms9sAnuEZqZvpJiGucc9BIznC7GLSbsQrVITqKm2rLN\/ZFaiwX6zsjPRqHv\/Zid7wF53a7tQwGQ1TyeADG\/FR6OXAue1UV\/simRTHz4pjubbqwnmGyN\/inzykdujslY89GP5LvRy4HOt0f3e5Topj52XB34LTlY\/HH0t37qfOm6\/wCWKzvd9hc6OQ61S4+j+CnWRqCzuulKx9O4R1lOduGTgQeOM83Ab1n\/ADpuv+WKzvd9hPnTdf8ALFZ3u+wuqEk7ohOvQnFxlfyfwemx6iFWfIbiPJ7hGdktcMcp1jr6u5byhLxUz3luZ9K1rJgMNlYXBw6j5m8LxRT6ppstp4rkyPPmtfE5+B2hTdO+ayKI7Y4dlpyXGz9bn6M97I2F8jgxrRkuccAKbrNVS1VSaGw05qp84Mrh5jesfE7vWpyRt6rJP7ToLrVRA5EYDmD\/AIlbVJdLrSU4gt2ln07BwD9rxyASnRqPMPanUyV4rwbftZHro9KvnqfLb3UmrnO8RgkMZvz\/AEBgKja0NaGtAAAwAOZTPl+sJdzLVTRjpc4fa9yclrOff5RR0+ebAOPAqMk3q0W05wprsQl5fJTrjJIyJhfI9rGjiXHACmRZNTTDE9+DMfogePcF9ZomCV4kuFwqqt\/STjPfk+K5hjvZb0tV92Hm0vk0qnUtnpXbL66N7s42Ysv9mVmO1fPWkx2e1T1DzuD5Bho6zjm7QtWm05Z6TBioIiel\/nnxytJrQ0YaAB0BLwWiGCvLWSXh+fgmItM1l0nbVagqzKRvFPGcNHVke7vVJBBFTQshgjbHGwYa1owAuxFGUmyynRhTzWvHeERFEtMC+WarkrortanMbWQjzmO4SjhjPqyPgvN88JqR2xcrPUwEHe5oOCOkZA9qqEU1JWs1czyotScqcrX+qJxmurO\/0m1DP2ox7iVxfru0N4R1T9\/Mwe8qhfBDL+EiY\/8AaaCvrIo4\/Qja3djcMJeHA5gr\/vXl+SaGt4ZBiC2VcjjwGBv7so7VN2ewvh07UBgGdqQux\/xVQsbVdRJDYpY4Wlz6giIYzgbRwcnm6N\/SpJxbtYhUjVjByc9OSIKrFfXxVF4kgAikmGZdw2TzAb843+AVZFTavrYmyG4U0DHDaADRnf8A6Vzu1sFDoR1I0YdCxjnc+XbQLvaVs2SUT2SikBBzAwHHSBg+KnKd1dIzUdnw1HGUndpN57zGOmLrOdqp1FUZO\/ZYCBn\/AHe5fDoSge0mWsq3yH8ouHwVQir6SRs6pR3q\/i2T1Hom004Jna+pcfz3EAdgXvj09Z4wA23U5x+cza9q0kUXOT3k40KUVZRR5WWy3x42KGmbjhsxNGPBehrGMzsta3PQMLki5ctUUtEERFw6EREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAeW5QeVWyqg\/SROaPXhZWi5jLpyNpz9E9zN\/rz71vqX0U4QNuNvPpU9STjw\/hVi7jM08q8HxTX3KhERVmkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKXg\/szXk0Z3R3CLaaB+d\/wBh3eqhTWso3Qw0V0jHn0c4Oeo79\/aB3qcNbcTNtOUFP9rv8+hSouEUjZomSsOWvaHNPUVzUDSEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAF5rhQw3KhlpJ87EgxkcQeYhERZHGk1ZnmsVDWW23CkrJ45jG4iMszuZzA5WkiKUtSFJWgkgiIolgREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/2Q==",
    "razonSocial": "FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ALEJANDRA GUERRERO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I895\",\"id_control\":\"28673\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I898\",\"id_control\":\"28673\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:31",
    "ubicacionGPS": "LatLng(lat: -23.5852863, lng: -70.3794474)",
    "horaLlegada": "16:28",
    "horaDespacho": "15:59",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


13/05/2026 16:31:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:65195060

[13/05/2026 16:31: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('65195060', 'TO2786', 1, 24456550, 178993, NOW(), 
				'15:59', '16:28', '16:31', 10, '•Se hace entlega de toner', -1, 
				'', '','1','310055',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778704299.png', '', null, 'COMPLETADO','LatLng(lat: -23.5852863, lng: -70.3794474)' )
				
[13/05/2026 16:31:39] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200304
[13/05/2026 16:31:39] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200304', 'TOS-I895', 1)
				
[13/05/2026 16:31:39] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28673 and
				    IDproducto = 'TOS-I895'
				

13/05/2026 16:31:39 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I895';
                [13/05/2026 16:31:39] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200304', 'TOS-I898', 1)
				
[13/05/2026 16:31:39] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28673 and
				    IDproducto = 'TOS-I898'
				

13/05/2026 16:31:39 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I898';
                
13/05/2026 16:31:39 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200304'                    
				WHERE idllamado = 12571			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


13/05/2026 16:31:39 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12571			
				
13/05/2026 16:31:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


13/05/2026 16:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:31:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

[13/05/2026 16:31:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 16:31:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:31:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:31:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:31:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

[13/05/2026 16:31:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

13/05/2026 16:31:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:31:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
[13/05/2026 16:31: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;
                

[13/05/2026 16:31: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;
                

13/05/2026 16:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
[13/05/2026 16:31: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;
                

13/05/2026 16:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

[13/05/2026 16:31: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;
                

13/05/2026 16:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
[13/05/2026 16:31: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;
                

13/05/2026 16:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12571
            GROUP BY l.idllamado;
            
13/05/2026 16:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                

13/05/2026 16:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12571
                
[13/05/2026 16:32: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[13/05/2026 16:32:47] 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;
                

[13/05/2026 16:33:31] 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;
                

[13/05/2026 16:33:34] 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;
                

13/05/2026 16:33:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            
[13/05/2026 17:24: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;
                

13/05/2026 17:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12567
            GROUP BY l.idllamado;
            
13/05/2026 17: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 = 12567
                

13/05/2026 17:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12567
            GROUP BY l.idllamado;
            
[13/05/2026 17:24: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;
                

13/05/2026 17:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12567
            GROUP BY l.idllamado;
            
13/05/2026 17:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12567
            GROUP BY l.idllamado;
            
13/05/2026 17: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 = 12567
                

13/05/2026 17: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 = 12567
                

13/05/2026 17: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 = 12567
                

[13/05/2026 17:24: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;
                

13/05/2026 17:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12567
            GROUP BY l.idllamado;
            
13/05/2026 17: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 = 12567
                

[13/05/2026 17:24: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;
                

13/05/2026 17: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 = 12567
                

13/05/2026 17: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 = 12567
                

13/05/2026 17: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 = 12567
                

13/05/2026 17:24:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12567
                

13/05/2026 17:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12567
                

[13/05/2026 17:24: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;
                

[13/05/2026 17:24: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;
                

13/05/2026 17:24:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12567
            GROUP BY l.idllamado;
            
13/05/2026 17:24:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12567
            GROUP BY l.idllamado;
            
13/05/2026 17:24:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12567
            GROUP BY l.idllamado;
            
13/05/2026 17:24:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12567
            GROUP BY l.idllamado;
            
[13/05/2026 17:24: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;
                

13/05/2026 17:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12567
                

13/05/2026 17:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12567
                

13/05/2026 17:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12567
                

13/05/2026 17:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12567
                

13/05/2026 17:24:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12567
            GROUP BY l.idllamado;
            
[13/05/2026 17:24: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;
                

13/05/2026 17:24:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12567
            GROUP BY l.idllamado;
            
[13/05/2026 17:24: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;
                

13/05/2026 17:24:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12567
            GROUP BY l.idllamado;
            
13/05/2026 17:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12567
                

13/05/2026 17:24:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12567
            GROUP BY l.idllamado;
            
[13/05/2026 17:24: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;
                

13/05/2026 17:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12567
                

13/05/2026 17:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12567
                

13/05/2026 17:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12567
                

13/05/2026 17:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12567
                

13/05/2026 17:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12567
                

13/05/2026 17:24:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12567
            GROUP BY l.idllamado;
            
13/05/2026 17:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12567
                

13/05/2026 17:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12567
                
[14/05/2026 07:10: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[14/05/2026 07:10:03] 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;
                

[14/05/2026 07:10:06] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 07:10:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            
[14/05/2026 07:10: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;
                

14/05/2026 07:10:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            
[14/05/2026 07:10:11] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 07:10:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            
[14/05/2026 07:10:12] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 07:10:13] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 07:10:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12573
            GROUP BY l.idllamado;
            
[14/05/2026 07:10: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;
                

14/05/2026 07:10:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12573
            GROUP BY l.idllamado;
            
[14/05/2026 07:10:17] 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;
                

14/05/2026 07:10:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12573
            GROUP BY l.idllamado;
            
[14/05/2026 07:10:18] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 07:10:20] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 07:10:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            
[14/05/2026 07:10:28] 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;
                

[14/05/2026 07:10: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;
                

14/05/2026 07:10:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            
[14/05/2026 07:10: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;
                

14/05/2026 07:10:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12577
            GROUP BY l.idllamado;
            
[14/05/2026 07:10: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;
                
[14/05/2026 08:30:28] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[14/05/2026 08:30:28] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[14/05/2026 08:30: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;
                

[14/05/2026 08:43: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;
                

[14/05/2026 08:43: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;
                
[14/05/2026 08:43: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;
                
[14/05/2026 08:43: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;
				
[14/05/2026 08:43: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;
				
[14/05/2026 08:43: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;
                

[14/05/2026 08:43: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;
                
[14/05/2026 08:54:26] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[14/05/2026 08:54:26] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 7373114 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '7373114'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[14/05/2026 08:54: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;
                
[14/05/2026 08:58:43] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[14/05/2026 08:58:43] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[14/05/2026 08:58:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[14/05/2026 08:58:45] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[14/05/2026 08:58:45] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[14/05/2026 08:58:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[14/05/2026 09:23:44] 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;
                
[14/05/2026 09:23: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				

[14/05/2026 09:24:09] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 09:24:19] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 09:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

[14/05/2026 09:24: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;
                

[14/05/2026 09:24:34] 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;
                

14/05/2026 09:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12558
            GROUP BY l.idllamado;
            

[14/05/2026 09:24:38] 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;
                

14/05/2026 09:24:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12560
            GROUP BY l.idllamado;
            

[14/05/2026 09:24:40] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 09:24:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 09:24:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12564
            GROUP BY l.idllamado;
            

[14/05/2026 09:24:53] 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;
                

[14/05/2026 09:25:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 09:25:11] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 09:25:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            
[14/05/2026 09:29:00] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[14/05/2026 09:29:00] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[14/05/2026 09:29: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;
                

[14/05/2026 09:29: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;
                

14/05/2026 09:29:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12570
            GROUP BY l.idllamado;
            

[14/05/2026 09:29: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;
                

[14/05/2026 09:29: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;
                

14/05/2026 09:29:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

[14/05/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;
                
[14/05/2026 09:29: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;
                
[14/05/2026 09:29: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;
				
[14/05/2026 09:29: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;
                
[14/05/2026 09:29: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;
				
[14/05/2026 09:32: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;
                
[14/05/2026 09:32: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;
				

[14/05/2026 09:32: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;
                
[14/05/2026 09:32:18] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[14/05/2026 09:32:18] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[14/05/2026 09:33: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;
                

14/05/2026 09:33:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12570
            GROUP BY l.idllamado;
            

[14/05/2026 09:33: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;
                

14/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12570
            GROUP BY l.idllamado;
            

[14/05/2026 09:33: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;
                

14/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12570
            GROUP BY l.idllamado;
            

14/05/2026 09: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 = 12570
                

14/05/2026 09: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 = 12570
                
[14/05/2026 09:34:51] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[14/05/2026 09:34:51] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[14/05/2026 09:34: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;
                

[14/05/2026 09:34: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;
                

[14/05/2026 09:34: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;
                

14/05/2026 09:34:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

14/05/2026 09:34:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

14/05/2026 09:34:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

14/05/2026 09:34:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

14/05/2026 09:34:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

14/05/2026 09:34:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

[14/05/2026 09:34: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;
                

14/05/2026 09:34:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

14/05/2026 09:34:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

14/05/2026 09:34:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

[14/05/2026 09:34: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;
                

[14/05/2026 09:34: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;
                

[14/05/2026 09:34: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;
                

14/05/2026 09:34:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

14/05/2026 09:34:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

14/05/2026 09:34:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

[14/05/2026 09:34: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;
                

14/05/2026 09:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

[14/05/2026 09:34: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;
                

14/05/2026 09:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

[14/05/2026 09:34: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;
                

14/05/2026 09:34:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

14/05/2026 09:34:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

14/05/2026 09:34:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

[14/05/2026 09:34: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;
                

[14/05/2026 09:34: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;
                

14/05/2026 09:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

14/05/2026 09:34:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

14/05/2026 09:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

[14/05/2026 09:34: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;
                

14/05/2026 09:34:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

14/05/2026 09:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

[14/05/2026 09:34: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;
                

14/05/2026 09:34:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

[14/05/2026 09:34: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;
                

14/05/2026 09:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

14/05/2026 09:34:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

14/05/2026 09:34:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

14/05/2026 09:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

[14/05/2026 09:34: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;
                

14/05/2026 09:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

[14/05/2026 09:34: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;
                

14/05/2026 09:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

[14/05/2026 09:34: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;
                

14/05/2026 09:34:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

14/05/2026 09:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

14/05/2026 09:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

[14/05/2026 09: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;
                

[14/05/2026 09: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;
                

14/05/2026 09:34:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

14/05/2026 09:34:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

14/05/2026 09:34:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 09:34:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12533
LIMIT 1;
        

14/05/2026 09:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 09:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

[14/05/2026 09:34: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;
                

14/05/2026 09:35:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:35:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12570
            GROUP BY l.idllamado;
            

14/05/2026 09:35:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:35:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12570
            GROUP BY l.idllamado;
            

14/05/2026 09:35:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:35:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:35:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:35:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:35:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12570
            GROUP BY l.idllamado;
            

14/05/2026 09:35:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:35:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:35:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:35:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:35:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12570
            GROUP BY l.idllamado;
            

14/05/2026 09: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 = 12570
                

14/05/2026 09: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 = 12570
                

14/05/2026 09: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 = 12570
                

14/05/2026 09: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 = 12570
                

14/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12570
            GROUP BY l.idllamado;
            

14/05/2026 09: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 = 12570
                

14/05/2026 09: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 = 12570
                

14/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12570
            GROUP BY l.idllamado;
            

14/05/2026 09: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 = 12570
                

14/05/2026 09: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 = 12570
                

14/05/2026 09: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 = 12570
                

14/05/2026 09: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 = 12570
                

14/05/2026 09:37:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12570
            GROUP BY l.idllamado;
            

14/05/2026 09:37:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:37:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:37:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12570
            GROUP BY l.idllamado;
            

14/05/2026 09:37:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:37:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:37:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:37:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12570
            GROUP BY l.idllamado;
            

14/05/2026 09: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 = 12570
                

14/05/2026 09: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 = 12570
                

14/05/2026 09: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 = 12570
                

14/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12570
            GROUP BY l.idllamado;
            

14/05/2026 09: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 = 12570
                

14/05/2026 09: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 = 12570
                

14/05/2026 09: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 = 12570
                

14/05/2026 09:41:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12570
            GROUP BY l.idllamado;
            

14/05/2026 09:41:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:41:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:41:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12570
            GROUP BY l.idllamado;
            

14/05/2026 09:41:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:41:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:41:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:41:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:41:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12570
            GROUP BY l.idllamado;
            

14/05/2026 09:41:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:41:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:41:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:41:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09: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 = 12570
                

14/05/2026 09: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 = 12570
                

14/05/2026 09: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 = 12570
                

14/05/2026 09: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 = 12570
                

14/05/2026 09:42:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:42:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12570
            GROUP BY l.idllamado;
            

14/05/2026 09:42:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:42:40 - logentry: =========================================
FECHA: 14/05/2026 09:42:40
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-SRgIpLEwl7I-zbYWnya0IqCkayk5LwX_p515CPQSbE60Qm0OPii
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76056333",
    "serieinterna": "KY2372",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "416992",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\ncambio repuestos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12570",
    "observacion": "Rkit 2442 no existe en bodega\nprox viaje \ncambio panel completo ó\nplaca de números (boton Inicio, Defectuoso)",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABdAOADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABGEAABAwMBBQQGBgUKBwAAAAABAAIDBAURBhIhMUFRE2FxkRQiMoGhwRUjQrHR8BYkM2KiNDVDRFVyc3Th8VJUY5KywtL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAuEQACAQIDBQgDAAMAAAAAAAAAAQIDERIhMQQTQVGBFCIyYXGhsdGRwfBSYuH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBFyqamCjgdPUStijYMlzjgLMSXi7ahmdBZIzTUzdz6mTcT4dPdv8FaMWzGpWjTy1fJamgrrtQW1pNXUsjIGdnOXH3cVSO1hJVucy0WqoqnD7bhgNPfjP3hSLdpCgpXdtWE11Qd7nTb258Ofvyr1jGRsDI2hjWjAa0YAVu4vMztXnq8K\/L+jM7Osq0ZDqWhBHsnB+Tl9+hdTO3uvwB6Nbu+5adFGN8ET2aL1k31Mx9B6k\/t\/+Ep9B6k\/t\/8AhK06JvGOyw5v8szBoNXU7sxXSnnaPsvaMn+H5p9JaspvVntME44B0buPfuPyC06Jj5pDs9vDNrrf5MwdYzU2+4WSrpgOLhvHxAVhSaos9ZgMrGRuJxsy+p9+5WxAIwRkFV1Zp601wPbUUYcR7bBsO8wpvB8Bgrx0kn6r6LBj2SND2ODmngWnIK9LMO0hNRF8lmuk1M45wx5y092R+BXym1LWWyp9D1DT9k442J425aR1OPl5Jgv4XcjfuLtVjbz1RqEXOGaOohZNC8PjeMtc07iF0WZ1ahfHODWlziAAMknkvqj18git1TITgMie7PTAKEN2VzjabtBeaQ1VOyRjA8sxIACSAOhPVTlQaKYW6ciJ4Oe8jzx8ldyTRRftJWM\/vOAVpK0mkZUZuVKMpcUdEXEVdM44bURE9A8LsqmqaegREQkIiIAo9bW09vpX1NTIGRsG89e4d6kLJT41TqM0uSbfbzl+Nwe7OMcd+cHf0B6q0Y310Ma1RwSUdXofKehqtW1Ta64B0NtYT2MAOC\/v\/wBfJauKKOCJsULGxxsGGtaMABfWtaxgYxoa1owABgAL0kpXFKkoZvNvVhERVNgiIgCIiAIiIAiIgC5VFNBVwmGphZLGeLXjIXVEIaTyZkZ6Kr0jP6ZQOkqLa4\/XQOOSzvH4+a01FW09wpWVNNIHxvG49O4967Oa17Cx7Q5rhggjIIWZtzP0e1K+2jPodcO0gz9l3MfLyWl8a8zltuJK3hfs\/o1CqtTzGDTla8Z3s2N37xDfmrVYHUdzqb5HVOpci3UJGXDhK4kAH47glON5E7VVVOm1xaf90OtorLzcrdT221M9FhhZiWpdzOcnB\/Df4K1j0RbyXPqqiqqZHnLnOfjJ69firayNDbFQBoAHo0Z3f3QpymU3fLIpS2aLgnU739yM87RFmLSA2dpI4iTgoztO3a0fW2S4Pla3+rzncR3cu7l4rVIq7yXE0ey0uCs\/LIorRqZlbUegV0JpK4EgscMNceg71eqrvdkhvNOAT2dRHvimHFp\/BRLBeaiWeS03QbFdANxP9KBz8fvG9S0mroQnKnLBUzvo\/wBPzL9EWcrr7cKi6S2yzUzJJIf2krz6o458jjyKqotmtSpGmrsn6juJtllnnYSJHDYjI5OPNeNM2r6Js8cb24nl+sl6gnl7hu81lb\/V3dlRRw3pkRja8SgQ4JIB38+n54rb264010pG1VK4ujccbxgg9CryTjA5aVSNWu28mlkn7kpERZHcF5c5rcbTgMnAyeJXpRbhbaa6U4gqmFzGvDxhxBBHePepXmRK9stSUiIoJIdtkr5adzrjBHDNtkNbG7ILeRUxEUsiKsrXCIuMFXT1L5WQzMkdC7YkDTktPQqBdHZERCQiIgCzGqf580\/\/AJn\/ANmLTrKxP+n9Wtni9ajt4ID+r+7xPwHVaU9bnNtOcVBatr5uS9W3CSmt7KKmLvSqxwjjDOOMjPnnHvXG72xlt0NNRMIzGxpc4fadtgk+a807Rcdd1Ekgy2hjAYDg7yAPmf8AdaCtphWUU1MXFnasLNofZyOKm+Gy6mahvccvVL+9ThY3B1ioCP8Al4x5NCnLO6MrO0tTqGQFs9G8tc1244JJHzHuWiVJq0mjehJSpRa5BERVNgs5quikZFFeaMbNVRkEkD2md\/h92Vo1zmibPBJC\/wBmRpafAjCtF2dzOrT3kHE422tZcbdBWMGBKzOOh5jzVFpQsjul4gefr+32jk7yMn5n4r3oWV0lgc08I53NHhgH5lfNQUFTQ1zL\/bW5liH6xGP6RvXy4+APJXsk3E5XJypwrctf2ebmBLr21wuGWiAu37xwf+C+acY2m1Jd6SFuzC0gtaOA38APeVDrLrSVN+s92ZIBGcxSMPtRO55\/7vgpul8Vl3u1zZuikl7NnPOOf3eas01Hp+zGElKsrf5X6YTToiLA9QIiIAi+EgDJOAF4gqIKmMSQTRysPB0bg4eYQi60OiIiEhcYaSnglllhhYySYgyOaMFx712Xxrg5oc0ggjII5oRZH1ERCQvL3sjYXyODGtGS5xwAqKv1fQwDs6Jr66c+y2MHHHHHnv6ZUNlju1+kbPfKgwQA5bSx44d\/+uT4K6hxlkc0toTeGmsT9vyK+9VN+qHWqxhwjO6er4AN7vzv5dVfWq109oom01ON3FzjxeepXako6ehp2wUsQijbwA+Z5rukpZWWhanSaeObvL49DMW4ii1tcIp3BrqpodF0dzx4\/gtOqbUNjN1hjnpndlW052oZBuzzwT48Oij2vUxdP6BeIvQqxuAC7c2T8PuUtYldGcJKjJwlo3k\/XgRbvE\/T1+jvcDS6nqT2dSwbsE8\/n4jvWoiljnhZNE8PjeA5rhwIXirpYq2lkpp27UcrdlwWZslbNYK02O6OxESTTTnc0jPD3\/A7k8S80L7ip\/rL2f8A01iIizOsIijXGf0W21NQDgxROcPEAoQ3ZXZQ6B\/mOb\/Mu\/8AFq0xAIwRkFUOioTFp2NxbjtZHP8AHfj5LpftRw2tno9Pieuf6rIm79knmcfdxK0knKbSOWjONLZ4ufIzesbZQU9a11ET6VKS6SnY3IAwSXd3h4lSLFqmG2W2GCpt00cHATxjIeeZ5fDKubFYBTQSVVwzNW1QPaOfgloP2fx8lF0YMUddbZ2h5pqghzXDI6fe0rRyTjZ52OSNKcaynHu4r\/zLqkvdsrv5PWxPP\/CXbLvI71NBBGQcgqmq9JWareXmm7JxzkxOLffjgoR0Faic9vVju22\/\/KytDmduLaFrFPrb9GkkljibtSSNYAM5ccKprtV2iha4GpE8g4Mh9bPv4fFRI9C2iNwJfUyYOcOeN\/duCtaCyW22kOpaSNjx9s+s7zO9O4vMX2iXBL3+iljiueqXMlqQ6htoOeyBIfL7\/Lfu4r1U6cqbSXVenpjE8N9eF5LhIByGffx6netOinG+Gg7NFq8neXPj05GepNX0vaej3OGSgqG+0Hglvny96szfLSG7X0nSY\/xm58srtVUNLWs2KqnjlHLabkjwKrhpKxB216AM\/wCI\/HllO4xbaI5Jp+uXwVlxuk+o52W2yueINr9YqdnAA7uf5C62Ctfa7jLp+tcctcXU0jvtg8uPPj5haKnpoKSIQ08LIowc7LBgKFeLFR3qFrKgFsjPYlZ7Q7u8dynFHw8DN0aie8TvL2tyLJZvVVyLhFZaQh9TWO2HgH2Gnr45+HRc\/wBHb7C3soNQSdmNzdsHIHmVY2fTtJaHvnDn1FTITtTScd\/T871CwxzvcmTq1Vgw4eb+ibQW6mt0DY4ImNdsgOe1oBfgYyVKRFm3c60lFWQREQkKHcLVRXSLYq4Gv3YDuDh4Eb1MRSnbQiUVJWaMubXfbEM2mq9NpW\/1af2mjuP4Y8FDuOoKG403oN7ttRSy8nhudh3UZwVtF5c1r2lr2hzTxBGQVdT4tHLLZna0JWXJ5owtk1c63yGkrpzVUrR9XMGnab3b95\/PJbCnu1vq4RNBWQuYf3wCPEHeFHqdN2ercXS0EYc7iWZZ792FX1GhrVKPqXTQH91+0PirN05Z6GdOG00lbKS9y9NdSAZNVCAP+oFmdValoX22ago5xNLLgFzN7WjO\/fw8l9boCjDvWrZiOmyArmi09aqBrRDRxue3eJJBtOz1yfkoWCLvqTLtFWLi0o36meoam9XGgpqG0QPo6SNga6ql4v6ke\/PDPir2zaco7Qe2BM9U72p3jf34HJW6Krm3kjWns8YtOTu17eiCr6K0Q0Nxq62N7y6rILmHgD\/vlWCKt7G7im03wCIigsEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "TRANSPORTES SOLUCIONES LOGISTICAS S.A.",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "WILLIAMS AREVALO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28672\",\"cantidad_usada\":1,\"cantidad_asignada\":2},{\"id_inventario\":\"KYO-R809\",\"id_control\":\"28677\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R963\",\"id_control\":\"28677\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R1042\",\"id_control\":\"28677\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "09:42",
    "ubicacionGPS": "LatLng(lat: -23.1040089, lng: -70.4332972)",
    "horaLlegada": "09:33",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 14/05/2026 09:42:40
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-SRgIpLEwl7I-zbYWnya0IqCkayk5LwX_p515CPQSbE60Qm0OPii
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76056333",
    "serieinterna": "KY2372",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "416992",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\ncambio repuestos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12570",
    "observacion": "Rkit 2442 no existe en bodega\nprox viaje \ncambio panel completo ó\nplaca de números (boton Inicio, Defectuoso)",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABdAOADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABGEAABAwMBBQQGBgUKBwAAAAABAAIDBAURBhIhMUFRE2FxkRQiMoGhwRUjQrHR8BYkM2KiNDVDRFVyc3Th8VJUY5KywtL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAuEQACAQIDBQgDAAMAAAAAAAAAAQIDERIhMQQTQVGBFCIyYXGhsdGRwfBSYuH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBFyqamCjgdPUStijYMlzjgLMSXi7ahmdBZIzTUzdz6mTcT4dPdv8FaMWzGpWjTy1fJamgrrtQW1pNXUsjIGdnOXH3cVSO1hJVucy0WqoqnD7bhgNPfjP3hSLdpCgpXdtWE11Qd7nTb258Ofvyr1jGRsDI2hjWjAa0YAVu4vMztXnq8K\/L+jM7Osq0ZDqWhBHsnB+Tl9+hdTO3uvwB6Nbu+5adFGN8ET2aL1k31Mx9B6k\/t\/+Ep9B6k\/t\/8AhK06JvGOyw5v8szBoNXU7sxXSnnaPsvaMn+H5p9JaspvVntME44B0buPfuPyC06Jj5pDs9vDNrrf5MwdYzU2+4WSrpgOLhvHxAVhSaos9ZgMrGRuJxsy+p9+5WxAIwRkFV1Zp601wPbUUYcR7bBsO8wpvB8Bgrx0kn6r6LBj2SND2ODmngWnIK9LMO0hNRF8lmuk1M45wx5y092R+BXym1LWWyp9D1DT9k442J425aR1OPl5Jgv4XcjfuLtVjbz1RqEXOGaOohZNC8PjeMtc07iF0WZ1ahfHODWlziAAMknkvqj18git1TITgMie7PTAKEN2VzjabtBeaQ1VOyRjA8sxIACSAOhPVTlQaKYW6ciJ4Oe8jzx8ldyTRRftJWM\/vOAVpK0mkZUZuVKMpcUdEXEVdM44bURE9A8LsqmqaegREQkIiIAo9bW09vpX1NTIGRsG89e4d6kLJT41TqM0uSbfbzl+Nwe7OMcd+cHf0B6q0Y310Ma1RwSUdXofKehqtW1Ta64B0NtYT2MAOC\/v\/wBfJauKKOCJsULGxxsGGtaMABfWtaxgYxoa1owABgAL0kpXFKkoZvNvVhERVNgiIgCIiAIiIAiIgC5VFNBVwmGphZLGeLXjIXVEIaTyZkZ6Kr0jP6ZQOkqLa4\/XQOOSzvH4+a01FW09wpWVNNIHxvG49O4967Oa17Cx7Q5rhggjIIWZtzP0e1K+2jPodcO0gz9l3MfLyWl8a8zltuJK3hfs\/o1CqtTzGDTla8Z3s2N37xDfmrVYHUdzqb5HVOpci3UJGXDhK4kAH47glON5E7VVVOm1xaf90OtorLzcrdT221M9FhhZiWpdzOcnB\/Df4K1j0RbyXPqqiqqZHnLnOfjJ69firayNDbFQBoAHo0Z3f3QpymU3fLIpS2aLgnU739yM87RFmLSA2dpI4iTgoztO3a0fW2S4Pla3+rzncR3cu7l4rVIq7yXE0ey0uCs\/LIorRqZlbUegV0JpK4EgscMNceg71eqrvdkhvNOAT2dRHvimHFp\/BRLBeaiWeS03QbFdANxP9KBz8fvG9S0mroQnKnLBUzvo\/wBPzL9EWcrr7cKi6S2yzUzJJIf2krz6o458jjyKqotmtSpGmrsn6juJtllnnYSJHDYjI5OPNeNM2r6Js8cb24nl+sl6gnl7hu81lb\/V3dlRRw3pkRja8SgQ4JIB38+n54rb264010pG1VK4ujccbxgg9CryTjA5aVSNWu28mlkn7kpERZHcF5c5rcbTgMnAyeJXpRbhbaa6U4gqmFzGvDxhxBBHePepXmRK9stSUiIoJIdtkr5adzrjBHDNtkNbG7ILeRUxEUsiKsrXCIuMFXT1L5WQzMkdC7YkDTktPQqBdHZERCQiIgCzGqf580\/\/AJn\/ANmLTrKxP+n9Wtni9ajt4ID+r+7xPwHVaU9bnNtOcVBatr5uS9W3CSmt7KKmLvSqxwjjDOOMjPnnHvXG72xlt0NNRMIzGxpc4fadtgk+a807Rcdd1Ekgy2hjAYDg7yAPmf8AdaCtphWUU1MXFnasLNofZyOKm+Gy6mahvccvVL+9ThY3B1ioCP8Al4x5NCnLO6MrO0tTqGQFs9G8tc1244JJHzHuWiVJq0mjehJSpRa5BERVNgs5quikZFFeaMbNVRkEkD2md\/h92Vo1zmibPBJC\/wBmRpafAjCtF2dzOrT3kHE422tZcbdBWMGBKzOOh5jzVFpQsjul4gefr+32jk7yMn5n4r3oWV0lgc08I53NHhgH5lfNQUFTQ1zL\/bW5liH6xGP6RvXy4+APJXsk3E5XJypwrctf2ebmBLr21wuGWiAu37xwf+C+acY2m1Jd6SFuzC0gtaOA38APeVDrLrSVN+s92ZIBGcxSMPtRO55\/7vgpul8Vl3u1zZuikl7NnPOOf3eas01Hp+zGElKsrf5X6YTToiLA9QIiIAi+EgDJOAF4gqIKmMSQTRysPB0bg4eYQi60OiIiEhcYaSnglllhhYySYgyOaMFx712Xxrg5oc0ggjII5oRZH1ERCQvL3sjYXyODGtGS5xwAqKv1fQwDs6Jr66c+y2MHHHHHnv6ZUNlju1+kbPfKgwQA5bSx44d\/+uT4K6hxlkc0toTeGmsT9vyK+9VN+qHWqxhwjO6er4AN7vzv5dVfWq109oom01ON3FzjxeepXako6ehp2wUsQijbwA+Z5rukpZWWhanSaeObvL49DMW4ii1tcIp3BrqpodF0dzx4\/gtOqbUNjN1hjnpndlW052oZBuzzwT48Oij2vUxdP6BeIvQqxuAC7c2T8PuUtYldGcJKjJwlo3k\/XgRbvE\/T1+jvcDS6nqT2dSwbsE8\/n4jvWoiljnhZNE8PjeA5rhwIXirpYq2lkpp27UcrdlwWZslbNYK02O6OxESTTTnc0jPD3\/A7k8S80L7ip\/rL2f8A01iIizOsIijXGf0W21NQDgxROcPEAoQ3ZXZQ6B\/mOb\/Mu\/8AFq0xAIwRkFUOioTFp2NxbjtZHP8AHfj5LpftRw2tno9Pieuf6rIm79knmcfdxK0knKbSOWjONLZ4ufIzesbZQU9a11ET6VKS6SnY3IAwSXd3h4lSLFqmG2W2GCpt00cHATxjIeeZ5fDKubFYBTQSVVwzNW1QPaOfgloP2fx8lF0YMUddbZ2h5pqghzXDI6fe0rRyTjZ52OSNKcaynHu4r\/zLqkvdsrv5PWxPP\/CXbLvI71NBBGQcgqmq9JWareXmm7JxzkxOLffjgoR0Faic9vVju22\/\/KytDmduLaFrFPrb9GkkljibtSSNYAM5ccKprtV2iha4GpE8g4Mh9bPv4fFRI9C2iNwJfUyYOcOeN\/duCtaCyW22kOpaSNjx9s+s7zO9O4vMX2iXBL3+iljiueqXMlqQ6htoOeyBIfL7\/Lfu4r1U6cqbSXVenpjE8N9eF5LhIByGffx6netOinG+Gg7NFq8neXPj05GepNX0vaej3OGSgqG+0Hglvny96szfLSG7X0nSY\/xm58srtVUNLWs2KqnjlHLabkjwKrhpKxB216AM\/wCI\/HllO4xbaI5Jp+uXwVlxuk+o52W2yueINr9YqdnAA7uf5C62Ctfa7jLp+tcctcXU0jvtg8uPPj5haKnpoKSIQ08LIowc7LBgKFeLFR3qFrKgFsjPYlZ7Q7u8dynFHw8DN0aie8TvL2tyLJZvVVyLhFZaQh9TWO2HgH2Gnr45+HRc\/wBHb7C3soNQSdmNzdsHIHmVY2fTtJaHvnDn1FTITtTScd\/T871CwxzvcmTq1Vgw4eb+ibQW6mt0DY4ImNdsgOe1oBfgYyVKRFm3c60lFWQREQkKHcLVRXSLYq4Gv3YDuDh4Eb1MRSnbQiUVJWaMubXfbEM2mq9NpW\/1af2mjuP4Y8FDuOoKG403oN7ttRSy8nhudh3UZwVtF5c1r2lr2hzTxBGQVdT4tHLLZna0JWXJ5owtk1c63yGkrpzVUrR9XMGnab3b95\/PJbCnu1vq4RNBWQuYf3wCPEHeFHqdN2ercXS0EYc7iWZZ792FX1GhrVKPqXTQH91+0PirN05Z6GdOG00lbKS9y9NdSAZNVCAP+oFmdValoX22ago5xNLLgFzN7WjO\/fw8l9boCjDvWrZiOmyArmi09aqBrRDRxue3eJJBtOz1yfkoWCLvqTLtFWLi0o36meoam9XGgpqG0QPo6SNga6ql4v6ke\/PDPir2zaco7Qe2BM9U72p3jf34HJW6Krm3kjWns8YtOTu17eiCr6K0Q0Nxq62N7y6rILmHgD\/vlWCKt7G7im03wCIigsEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "TRANSPORTES SOLUCIONES LOGISTICAS S.A.",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "WILLIAMS AREVALO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28672\",\"cantidad_usada\":1,\"cantidad_asignada\":2},{\"id_inventario\":\"KYO-R809\",\"id_control\":\"28677\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R963\",\"id_control\":\"28677\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R1042\",\"id_control\":\"28677\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "09:42",
    "ubicacionGPS": "LatLng(lat: -23.1040089, lng: -70.4332972)",
    "horaLlegada": "09:33",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


14/05/2026 09:42:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76056333

[14/05/2026 09:42:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76056333', 'KY2372', 2, 21773342, 416992, NOW(), 
				'08:00', '09:33', '09:42', 4, 'Mantenimiento
cambio repuestos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778766160.png', 'Rkit 2442 no existe en bodega
prox viaje 
cambio panel completo ó
placa de números (boton Inicio, Defectuoso)', null, 'REPROGRAMADO','LatLng(lat: -23.1040089, lng: -70.4332972)' )
				
[14/05/2026 09:42:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200305
[14/05/2026 09:42:40] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200305', 'KYO-I647', 1)
				
[14/05/2026 09:42:40] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28672 and
				    IDproducto = 'KYO-I647'
				

14/05/2026 09:42:40 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                [14/05/2026 09:42:40] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200305', 'KYO-R809', 1)
				
[14/05/2026 09:42:40] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28677 and
				    IDproducto = 'KYO-R809'
				

14/05/2026 09:42:40 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R809';
                [14/05/2026 09:42:40] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200305', 'KYO-R963', 1)
				
[14/05/2026 09:42:40] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28677 and
				    IDproducto = 'KYO-R963'
				

14/05/2026 09:42:40 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R963';
                [14/05/2026 09:42:40] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200305', 'KYO-R1042', 1)
				
[14/05/2026 09:42:40] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28677 and
				    IDproducto = 'KYO-R1042'
				

14/05/2026 09:42:40 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R1042';
                
14/05/2026 09:42:40 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200305'                    
				WHERE idllamado = 12570			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


14/05/2026 09:42:40 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 12570			
				
14/05/2026 09:42:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:42:40 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('76056333', 'KY2372', 2, 'APP', 'sin otroTipo definido', -2, 'INSUMOS', 'Sin coderror', '1', 'SI', now(), 'WILLIAMS AREVALO', '984818954', 'tecnico@dsprint.cl', 12570)
				
14/05/2026 09:42:40 Insertado nuevo llamado creado idllamado: 12578APP
14/05/2026 09:42:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


14/05/2026 09:42:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:42:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:42:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:42:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12570
            GROUP BY l.idllamado;
            

14/05/2026 09:42:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:42:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:42:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:42:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:42:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12570
            GROUP BY l.idllamado;
            

14/05/2026 09:42:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

[14/05/2026 09:42: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;
                

14/05/2026 09:42:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:42:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12570
            GROUP BY l.idllamado;
            

[14/05/2026 09:42: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;
                

14/05/2026 09:42:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:42:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:42:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:42:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12570
                

14/05/2026 09:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 09:47:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 09:47:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

[14/05/2026 09:47: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;
                

14/05/2026 09:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

[14/05/2026 09:47: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;
                

14/05/2026 09:47:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 09:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 09:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

[14/05/2026 09:50: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;
                

[14/05/2026 09:50: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;
                

14/05/2026 09:50:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 09:50:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 09:50:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 09:50:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 09:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 09:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

[14/05/2026 09:50: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;
                

14/05/2026 09:50:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

[14/05/2026 09:50: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;
                

14/05/2026 09:50:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 09:50:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 09:50:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 09:50:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 09:50:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 09:50:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

[14/05/2026 09:50: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;
                

14/05/2026 09:50:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 09:50:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

[14/05/2026 09:50: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;
                

14/05/2026 09:50:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 09:50:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 09:50:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 09:50:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

[14/05/2026 10:09: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;
                

14/05/2026 10:09:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

[14/05/2026 10:09: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;
                

14/05/2026 10:09:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:09:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:09:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:09:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:09:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:09:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

[14/05/2026 10:11: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;
                

[14/05/2026 10:11: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;
                

14/05/2026 10:11:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:11:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:11:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:11:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:11:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:11:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                
[14/05/2026 10:12:14] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[14/05/2026 10:12:14] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[14/05/2026 10:27: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;
                

14/05/2026 10:27:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:27:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:27:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

[14/05/2026 10:27: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;
                

[14/05/2026 10:27: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;
                

14/05/2026 10:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:27:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:27:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:27:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:27:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

[14/05/2026 10:27: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;
                

14/05/2026 10:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

[14/05/2026 10:27: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;
                

14/05/2026 10:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:27:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:27:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:27:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:27:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:28:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:28:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:28:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:28:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:28:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:28:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:28:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:28:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:28:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:28:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:28:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:28:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:28:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:28:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:28:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:28:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:28:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:28:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:28:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:28:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:28:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:28:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                
[14/05/2026 10:28:59] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[14/05/2026 10:28:59] 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;
                

[14/05/2026 10:29: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;
                
[14/05/2026 10:29:10] 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;
                
[14/05/2026 10:29: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

[14/05/2026 10:29:12] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 10:29:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 10:29:16] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 10:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

[14/05/2026 10:29:21] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 10:29: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;
                

14/05/2026 10:29:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

[14/05/2026 10:29: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;
                

14/05/2026 10:29:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12577
            GROUP BY l.idllamado;
            

[14/05/2026 10:29:45] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 10:29:55] 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;
                

[14/05/2026 10:29: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;
                

14/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

14/05/2026 10:30:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:30:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:30:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:30:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:30:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:30:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:30:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:30:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:30:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:31:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:31:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:31:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:31:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:31:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:31:08 - logentry: =========================================
FECHA: 14/05/2026 10:31:08
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-tGxj20CNJhN9fnROw4lAk6sE+nc3vlkRQSzowrNpGYvRBzcHJ0o
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "96849540",
    "serieinterna": "KY2074",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "288628",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\ncambio de repuestos\n01 Toner  iton 2174",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12513",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC5AJQDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABGEAABAwMCAgUIBQgJBQAAAAABAAIDBAURBiESMRNBUWGhFCIycYGRscEHFSNC0SRSU3SiwuHwFjM0NTdDYoKSRXKy0vH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQIEAggFBQEAAAAAAAAAAQIDEQQSITFBURMiMmFxgZGxMzShwdEjQmLh8HL\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIqrcKio1FeDaqKbo6Onw6omY\/0txsMd4wPepRjcqq1OjW129kWhrmvaHMcHNPIg5BWSqunoha9U3C0QySGnZE2RrXHODhu\/r87wVqSSsxSqdJG7Vnt6BERRLQoKov0sWq4LSxkZgczMjiDxBxBIwc4x6PUp1UOeQyfSO0k5xM1o9jQrKcU735GXFVHBRtxaL4iIqzUEREAREQBERAEREAREQERqW6\/VVnkkY\/hnl+zi7iRz9g8cL3TdsNstLGyg+UTHpZiefEer2DxyoyvDrzrGnoQWupqBvSyDP3u\/28I96tKsekUjLT\/UqynwWi+5WKH\/ES5fqw+Eas6rFD\/iJcv1YfCNWdcnw8DuG2l\/0\/cKLffYWagjs4ieZHtyX5GB5pd8ApRfO7FVeW67ZVZ2lllc31cLseC7CN03yOYis6coRXF\/Q+iL55HIJPpCLh1VZb7sj5L6GvmVocZNXQy8w+qcc9u5\/FSpbMoxz61Nd59NREVJ6IREQBERAEREAREQBeOcGtLnEAAZJPUvVGajqvJLBWSh2HGMsB73bfNdSu7EZyyxcnwIvR4dVy3G7SA5qZsNyMYA3+YHsVnUVpml8j09SMIw57Okd\/u3+BClVKbvJlWHi40op7\/krGn\/ttVXuf8x4j8SP3VZ1WNGef9Zz8+kqTv28z81Z0qdojhfhJ87+5w3uo8lslZMObYnAesjA8SqZYKbybUNlz6UtM+Q+3pMeGFP62mLbI2nZkvqJmsDR143+IC5WQCLXVDA3cU1GG7chhrh81ZDSD8zLiOtXj3W+r\/otE0nRQSSc+Bpd7gvnNhj4LjaHZ9Od7vgPkr5en9HZK545infj18JVMszOG56fDuuOR2D\/3P\/AJT7LO4vWrBf7dH0FERUHpBERAEREAREQBERAFWtbvc+30tGw4dU1AHsH8SFZVWL4PKtX2al59HmbHtz+4p0+1czYr4TjzsvVllYxsbGsYMNaAAOwLRcanyO3VNTnBiic4esDZdKgtZVPk+nJmg4MzmxjfvyfAFcirySLKsslOUuSMdFQGHTsbz\/nSOf44\/dU+uS1U3klppacjBjiaHDvxv4rrSTvJsUY5KcY9xVtSHyrUlmoNi0P6Vze0Z\/BpWUfn\/SJL1dHTe\/Yfikf5X9IcpO4o6bAJ6sgcv+Z8UtxEv0gXJ4OQyANGeo+Z+BVuyt3GF6zzc5+yJLUzg3TlaT+jx7yAq1axw6jsAyCfIervEh+asOriW6YrCOxg\/baoO1Af0ntAb1W1hPd5h\/FIdh+Z3EfMR8vcuqIioPSCIiAIiIAiIgCIiAKsM\/KPpEfjfyam37sgf+yl6q\/WqiJE9dC1w5taeIj2DPYqxbb7a4dUXGvmqOGKZobE\/gccjbOwG3JWwi7N2MWIq080FmW\/Mu6q+rPy25Wq1g7Sy8bweWOXL1cSlodQ2ecgMuMGTy4ncPxURbz9aa3qqwHihoo+jjcNxnlz5dblyCad3wO15xqRUIu92vyy0oiwlkEUT5DyY0uPsVZsK3pf8pvV6rTydNwMPdk9XqwmnT02p75Nj0ZOD9oj91atH1FPQafmrKyaOISzuPG44zgD552UXaLvWsrLm61ULquarm4w8g8LBlxBPv7locW3Kx5MakYxpN979blh1o4N03MD957APeq8280tv1FT1WTUMZRsiPQkHzuEDC91Fb7wy1Ctu1fxuMgaKdnotyD2bZ2\/iu6zUdPR61kgpo+FkdIDjOcEhuT4+K7FJR57kasp1KyaVtt\/M6Bqu51P9isE72nk5+cfD5rL691E0FztPktAyQ1xyrOuG8XOK0W6SqkIyBiNp+8\/GwVSkm7KJtlTnFOUqj9Ea7NeYrxA9zYzDNEeGWJx3Yd+4dhUkoHSdDNBb5aypaWz1shlcDnYZOM59ZPtCnlGaSloW0JSlTTnuERFEuCIoC\/3mojqY7RbBxV1QPSz\/Vjt9eBnuG67FNuyK6lRU45mbbzqWmtbxTRMNVVu2EMZ5evs9XNR7bLfL20Pu1eaaEnIpo2jl2Hq9+VJWPT0FpZ0zz09ZIMyTO33PPGf5KmFPMo9koVKdXWq9OS+\/Mh6TStmpNxRtld+dMePwO3gofT1voqm\/XpslFA+KGXhY18bSGec4bDq5K4KsaT8663yXlx1PLs85\/4rqk2m2yNSlCNSnFJcfY2X6z2KitVRVSUMbS1mGcBLSXHYcu9Rtl0k6W2U9bHcJ6Splbx5YNgPu9h5fFdmp3vuN0obLG4CMnpqg55NHb2bA+C2V2qQ+TyCw05q6jGA5rfMYOW3bj3KScsqSKZxodK3JaLTTi\/I55bpftOY+somV1JnAnYcHr5\/xHtWi5axkrqaeC1Uj+HoiZZZObG4wdge\/nld1NpSSslbV36rfVzcxEDhje7\/AOYXPq2w22mtb66niFPNGWtAj2a\/JxjHqPgupwbS4kZxxEacmnaPJ7+po05pOmrKGCurpHyteCWQjZoGevrPgu3QrWmhrJWDDH1JDR2AAfiuK3aglttq+r7lTGDFM51NIOUgwSB6+9S2i4+DTcTv0j3u8cfJJuVncYZU88FBapO\/Pgc+vv7jh\/WW\/wDi5KDf6Q7kRuBTAZ9kaa886zU7B6TqluB\/td+K8tTh\/Ta7yZAY2MAk7Y9H8CuLsev2JVPmfOPtIsk00dPC+aZ4ZGwZc5x2AVViD9X3dlQ+Mi1UhIa1xx0rv5x7PWsayafV9x8hpHPjtkDvtph\/mH+eXvVrpqaKjpo6eBgZHG3ha0KHYXeX\/MS\/gvq\/wbURFWbAiIgOG8XOK0W6SqkIyBiNp+8\/GwUZpW0vp6d1yrcvravzi92ctacbev8AgtF+cblqa32gZdC37WduNnDng+weKtCsfVjbmZYrpKrk9o6Lx4hERVmoKk2K80VpZdZ6uT7R9QS2NvpP58h7eamL3qRtHJ5BQM8pr3nhaxu4YT29\/cqPbrZPd7uKThPSF5dO\/I81uRk\/z2hX04dV5tjy8VXtUiqerV\/qTFBY6zVFbNdaiTyammccFu7ngbYHdtjdXSgt1JbKcQUkIjb1nrce0nrW6CCOmgZDCwMjYMNaBjAWxVym5eBroYeNLXeXFhVzXMnBp8NzjpJmt9exPyVjVY1v9pSUNOfRkqRn3EfNKfaQxT\/RkdWpKSA6Xl6eIOdTxDgJ5tdsOpQ2m71UWhtPQ3NhbSTs6SnmPJoO+57Ph6lM6zl6LTc7c4MjmN8QfktNyZa4dKU1Nc5A0CBgYWDL+ING7QpxfVs+Jnqpqs5RdnFf5M062e0RW5znDo\/KAT2YUNTQT6i1BXihmdFRzuzM\/GCWZ2278fioySpuFW2go658hpwR0QcMZaTjOeZ7Fa9GRMjqru6JvDH04awDkAC7A8VY1kgZIyWJr8k\/XYsVFRU9vpWU1NGGRsGw7e8966ERZT20klZBEWLm8TC3JGRjIOCEOmSLlttvhtdE2lgc9zGknL3ZJJOSiM4rtakDbG+Ua7uc7sHoowxo7PRHyPvVoVXgeLbrqeOVvDHXxjo3nYF3P4gj3K0Kye68DPhtpLjdhV6\/XydlQ20WpvS10uxLf8ofj8FI3u5i02uWqwC8Dhjaetx5fj7FXaOWDTVsdc68ia6VoL2NJy7B5eodZ93UkI8SGIq2eRO3FvkvyzOeKn0lQtbT4qbvVeaHu3dv1gdmfeVloSItirnSNHTCUNc47nvGfWuqwWaaSc3m7faVkhzG13KNvVt1fId616M\/6n+sn5qbfVaKKcGqsHay1svLj3ss6IvCQBknACoPTPVV9YuAqbQ15AYanLs7dbV1XDVtFTSeT0TXV9SThrIdxn19fsyq7d4brX3K1\/XQbEyqm6NkMZ3jbloPbucj3K6nBp3Z5+KrxlBwhq9PDfmb9WX2nurYrZQEzHpQS9vouOCAB281LW3So6cV14m8tqtsNPoM7u\/4dy47jQ01PqWyW6lhaxkRMvC3nzzknr9DwVvSUrRSiKNLpKspVdWreGxWddUvSWdlU1vn08oJcBuGnbn68Ln0DM19NWB0gMzpQ5zTzxjn78qy3ClZXW+opZCA2WMtyfunGx9h3XzayVj7TPFco35a2To54x+YcEfA+0BSh1qbiV4h9DiY1ODPqSLFj2yRtkY4Oa4AtI6wsJqmCmbxTzxxNHW9waPFZz07q1zaij6e+2uqrG0lPWRyzOBIa3JzgZ58lILrTW5yMoy1i7hERcJEVfrIy8UgDT0dTEeKGTOMHsJ7FH2zUrqYmivwNLUxnhErmnhkx15G2fA5VlUbe7Qy8UYp3FjDxg8ZZkgDsU4yW0tjNUpyT6Snv7ld1tdaOppqanp6iKctk6R7WOyMY23HrXXpqgiuMpvdbUsq6txy1gIIh7Nuo\/BZu0HajGGiWpa4D0g8bn3Lll0IYo3OoLjIybG3GMA92RuPFW5oZcqZjdOv0vSSgn3XLc97I28T3Bo7ScKl2O9W+0Vt58omAa6fMXAM9IMu5Y27PeouWw3SllL7jbqmsYORhmz7dgT4Ly21VHb7xUOktEkrHD7KCRvE5nvXY00k+JCpiZynFtZbc7\/gsR1Pcri7gstqe9vFjpph5vyA96DTd1umH3q6v4f0EAAGPXy8CshrFxHDHZasnqbj+CDVdwecRacq39u7hj9lRtJdlWLc9KXxJuXk7eiJi22WgtTMUkAa7GDI7dx9qh9U\/wB+af8A1n95ifWuqqr+zWaOAdsztx7yPgoa9wXx9xtjbnVwsfLLwwOiH9UctyeQ7R19SQi812ztarHossIu2nCy3RMUxNb9IFTJkllHBwg788AY97ne5TdVebbRf2ithYR93iyfcN+tU3T+nW36GorKyrnwZS3LTvIdiSc+tWWm0lZqYg+S9M4DGZXF3hy8FyainZs7h5VnFyjFatu7f2OKs1rQOikio4aiokLSAQzAG3Pffb1Kp0Fiudyp2S0VIeDcGXpA0Owe8\/BXy+Ngt+m67oYo4WGIswxoaPO83q9a90vD0Gm6Jnawu\/5En5rqmoxvFEKlCVaso1ZcL6acSJp9Pahlp44aq9GniY0NDIckgdmRjs710Q6ItrTx1U1RVPxuXvwPDfxVkRQ6SRrWFpLdX8dTio7Pbre7jpaOKJ\/54GXe87rtRFBtvc0RioqyVgiIuHQiIgCIiAKr1OKT6QqZ5PC2qgwd+ZwRj9kK0KsazBpjbrm0EmmqBnHWOf7virKe9uZmxWkM3JplnReNIc0OG4IyF6qzSFTfpAe6OS2vYcOaZCD2HzFclTNcuhnuNspXv4d3F57GuLRnwKspdtGPHfAfl7k7pik8j09SsIIc9vSOz\/q3+GFLLxrQ1oa0AADAA6l6oN3dzTCKhFRXAr2tpej069mf62Vrfn8lM0MPk9vpoMEdHE1uD1YACr+tj00duoRuaipGG4542\/eVoUn2EUw1rzfJJfcIiKBpCIiAIiIAiIgCIiAKM1DRmusVXC0ZfwcbQOst3x4KTRdTs7kZxU4uL4kTpmrFZYKZ3Fl0beid\/t2+GFLKp2xw05qOe2yAto6wh0Dydmu7Pl7ArYpTVncpw83KFnutGYSyshifLI4NYxpc5x6gOZXzu5RzXilrtQPyyOOVscI\/05x4ZHvPYpy\/V0t7rG2K2Pz535RMD5oAz5vf39+ApeutMR07NbKVhawRERtB3JG495+KnF5LN7sz1k8RdLZX83\/R3Uc3lNFBP+lja\/nnmMrcoXSdW2q0\/TjPnwjo3Dsxy8MKVqaiOkppamZ3DHE0uce4KtqzsbKc1Kmp9xW6ki46+p4QAWUMXG718\/i5qtKrWj4JZW1l2qGObJWy5bxfm89u7Jx7FZV2e9uRVhleLm\/3O\/4+gREUDSEREAREQBERAEREAREQHDdbTS3elMFSzcZ4HgbsPaFDN03emt6AahlFPggeaeIDq6\/mrOikptaFM6EJvM9\/QjrNZKWy0xigBc928krubj8h3KRRFxtt3ZZGMYLLFaFTmbUaTu01VHA6W11Ry9ke5jdz5e\/ux6lhUTVesJ4qeCnkprbG4Plkk2L+z+fareinn421Mzw37c3V5f3yMIomQxMijaGsY0Na0dQHILNEVZrCIiAIiIAiIgP\/2Q==",
    "razonSocial": "TRANSPORTE VIGAL S.A",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "CAROLINA VELIZ L.",
    "correoContacto": "secretariamejillones@vigal.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "SOLICITA VISITA DE UN TÉCNICO E INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56951985837",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R1042\",\"id_control\":\"28678\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R809\",\"id_control\":\"28678\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R963\",\"id_control\":\"28678\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:31",
    "ubicacionGPS": "LatLng(lat: -23.1010006, lng: -70.4410062)",
    "horaLlegada": "09:54",
    "horaDespacho": "09:42",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 14/05/2026 10:31:08
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-tGxj20CNJhN9fnROw4lAk6sE+nc3vlkRQSzowrNpGYvRBzcHJ0o
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "96849540",
    "serieinterna": "KY2074",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "288628",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\ncambio de repuestos\n01 Toner  iton 2174",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12513",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC5AJQDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABGEAABAwMCAgUIBQgJBQAAAAABAAIDBAURBiESMRNBUWGhFCIycYGRscEHFSNC0SRSU3SiwuHwFjM0NTdDYoKSRXKy0vH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQIEAggFBQEAAAAAAAAAAQIDEQQSITFBURMiMmFxgZGxMzShwdEjQmLh8HL\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIqrcKio1FeDaqKbo6Onw6omY\/0txsMd4wPepRjcqq1OjW129kWhrmvaHMcHNPIg5BWSqunoha9U3C0QySGnZE2RrXHODhu\/r87wVqSSsxSqdJG7Vnt6BERRLQoKov0sWq4LSxkZgczMjiDxBxBIwc4x6PUp1UOeQyfSO0k5xM1o9jQrKcU735GXFVHBRtxaL4iIqzUEREAREQBERAEREAREQERqW6\/VVnkkY\/hnl+zi7iRz9g8cL3TdsNstLGyg+UTHpZiefEer2DxyoyvDrzrGnoQWupqBvSyDP3u\/28I96tKsekUjLT\/UqynwWi+5WKH\/ES5fqw+Eas6rFD\/iJcv1YfCNWdcnw8DuG2l\/0\/cKLffYWagjs4ieZHtyX5GB5pd8ApRfO7FVeW67ZVZ2lllc31cLseC7CN03yOYis6coRXF\/Q+iL55HIJPpCLh1VZb7sj5L6GvmVocZNXQy8w+qcc9u5\/FSpbMoxz61Nd59NREVJ6IREQBERAEREAREQBeOcGtLnEAAZJPUvVGajqvJLBWSh2HGMsB73bfNdSu7EZyyxcnwIvR4dVy3G7SA5qZsNyMYA3+YHsVnUVpml8j09SMIw57Okd\/u3+BClVKbvJlWHi40op7\/krGn\/ttVXuf8x4j8SP3VZ1WNGef9Zz8+kqTv28z81Z0qdojhfhJ87+5w3uo8lslZMObYnAesjA8SqZYKbybUNlz6UtM+Q+3pMeGFP62mLbI2nZkvqJmsDR143+IC5WQCLXVDA3cU1GG7chhrh81ZDSD8zLiOtXj3W+r\/otE0nRQSSc+Bpd7gvnNhj4LjaHZ9Od7vgPkr5en9HZK545infj18JVMszOG56fDuuOR2D\/3P\/AJT7LO4vWrBf7dH0FERUHpBERAEREAREQBERAFWtbvc+30tGw4dU1AHsH8SFZVWL4PKtX2al59HmbHtz+4p0+1czYr4TjzsvVllYxsbGsYMNaAAOwLRcanyO3VNTnBiic4esDZdKgtZVPk+nJmg4MzmxjfvyfAFcirySLKsslOUuSMdFQGHTsbz\/nSOf44\/dU+uS1U3klppacjBjiaHDvxv4rrSTvJsUY5KcY9xVtSHyrUlmoNi0P6Vze0Z\/BpWUfn\/SJL1dHTe\/Yfikf5X9IcpO4o6bAJ6sgcv+Z8UtxEv0gXJ4OQyANGeo+Z+BVuyt3GF6zzc5+yJLUzg3TlaT+jx7yAq1axw6jsAyCfIervEh+asOriW6YrCOxg\/baoO1Af0ntAb1W1hPd5h\/FIdh+Z3EfMR8vcuqIioPSCIiAIiIAiIgCIiAKsM\/KPpEfjfyam37sgf+yl6q\/WqiJE9dC1w5taeIj2DPYqxbb7a4dUXGvmqOGKZobE\/gccjbOwG3JWwi7N2MWIq080FmW\/Mu6q+rPy25Wq1g7Sy8bweWOXL1cSlodQ2ecgMuMGTy4ncPxURbz9aa3qqwHihoo+jjcNxnlz5dblyCad3wO15xqRUIu92vyy0oiwlkEUT5DyY0uPsVZsK3pf8pvV6rTydNwMPdk9XqwmnT02p75Nj0ZOD9oj91atH1FPQafmrKyaOISzuPG44zgD552UXaLvWsrLm61ULquarm4w8g8LBlxBPv7locW3Kx5MakYxpN979blh1o4N03MD957APeq8280tv1FT1WTUMZRsiPQkHzuEDC91Fb7wy1Ctu1fxuMgaKdnotyD2bZ2\/iu6zUdPR61kgpo+FkdIDjOcEhuT4+K7FJR57kasp1KyaVtt\/M6Bqu51P9isE72nk5+cfD5rL691E0FztPktAyQ1xyrOuG8XOK0W6SqkIyBiNp+8\/GwVSkm7KJtlTnFOUqj9Ea7NeYrxA9zYzDNEeGWJx3Yd+4dhUkoHSdDNBb5aypaWz1shlcDnYZOM59ZPtCnlGaSloW0JSlTTnuERFEuCIoC\/3mojqY7RbBxV1QPSz\/Vjt9eBnuG67FNuyK6lRU45mbbzqWmtbxTRMNVVu2EMZ5evs9XNR7bLfL20Pu1eaaEnIpo2jl2Hq9+VJWPT0FpZ0zz09ZIMyTO33PPGf5KmFPMo9koVKdXWq9OS+\/Mh6TStmpNxRtld+dMePwO3gofT1voqm\/XpslFA+KGXhY18bSGec4bDq5K4KsaT8663yXlx1PLs85\/4rqk2m2yNSlCNSnFJcfY2X6z2KitVRVSUMbS1mGcBLSXHYcu9Rtl0k6W2U9bHcJ6Splbx5YNgPu9h5fFdmp3vuN0obLG4CMnpqg55NHb2bA+C2V2qQ+TyCw05q6jGA5rfMYOW3bj3KScsqSKZxodK3JaLTTi\/I55bpftOY+somV1JnAnYcHr5\/xHtWi5axkrqaeC1Uj+HoiZZZObG4wdge\/nld1NpSSslbV36rfVzcxEDhje7\/AOYXPq2w22mtb66niFPNGWtAj2a\/JxjHqPgupwbS4kZxxEacmnaPJ7+po05pOmrKGCurpHyteCWQjZoGevrPgu3QrWmhrJWDDH1JDR2AAfiuK3aglttq+r7lTGDFM51NIOUgwSB6+9S2i4+DTcTv0j3u8cfJJuVncYZU88FBapO\/Pgc+vv7jh\/WW\/wDi5KDf6Q7kRuBTAZ9kaa886zU7B6TqluB\/td+K8tTh\/Ta7yZAY2MAk7Y9H8CuLsev2JVPmfOPtIsk00dPC+aZ4ZGwZc5x2AVViD9X3dlQ+Mi1UhIa1xx0rv5x7PWsayafV9x8hpHPjtkDvtph\/mH+eXvVrpqaKjpo6eBgZHG3ha0KHYXeX\/MS\/gvq\/wbURFWbAiIgOG8XOK0W6SqkIyBiNp+8\/GwUZpW0vp6d1yrcvravzi92ctacbev8AgtF+cblqa32gZdC37WduNnDng+weKtCsfVjbmZYrpKrk9o6Lx4hERVmoKk2K80VpZdZ6uT7R9QS2NvpP58h7eamL3qRtHJ5BQM8pr3nhaxu4YT29\/cqPbrZPd7uKThPSF5dO\/I81uRk\/z2hX04dV5tjy8VXtUiqerV\/qTFBY6zVFbNdaiTyammccFu7ngbYHdtjdXSgt1JbKcQUkIjb1nrce0nrW6CCOmgZDCwMjYMNaBjAWxVym5eBroYeNLXeXFhVzXMnBp8NzjpJmt9exPyVjVY1v9pSUNOfRkqRn3EfNKfaQxT\/RkdWpKSA6Xl6eIOdTxDgJ5tdsOpQ2m71UWhtPQ3NhbSTs6SnmPJoO+57Ph6lM6zl6LTc7c4MjmN8QfktNyZa4dKU1Nc5A0CBgYWDL+ING7QpxfVs+Jnqpqs5RdnFf5M062e0RW5znDo\/KAT2YUNTQT6i1BXihmdFRzuzM\/GCWZ2278fioySpuFW2go658hpwR0QcMZaTjOeZ7Fa9GRMjqru6JvDH04awDkAC7A8VY1kgZIyWJr8k\/XYsVFRU9vpWU1NGGRsGw7e8966ERZT20klZBEWLm8TC3JGRjIOCEOmSLlttvhtdE2lgc9zGknL3ZJJOSiM4rtakDbG+Ua7uc7sHoowxo7PRHyPvVoVXgeLbrqeOVvDHXxjo3nYF3P4gj3K0Kye68DPhtpLjdhV6\/XydlQ20WpvS10uxLf8ofj8FI3u5i02uWqwC8Dhjaetx5fj7FXaOWDTVsdc68ia6VoL2NJy7B5eodZ93UkI8SGIq2eRO3FvkvyzOeKn0lQtbT4qbvVeaHu3dv1gdmfeVloSItirnSNHTCUNc47nvGfWuqwWaaSc3m7faVkhzG13KNvVt1fId616M\/6n+sn5qbfVaKKcGqsHay1svLj3ss6IvCQBknACoPTPVV9YuAqbQ15AYanLs7dbV1XDVtFTSeT0TXV9SThrIdxn19fsyq7d4brX3K1\/XQbEyqm6NkMZ3jbloPbucj3K6nBp3Z5+KrxlBwhq9PDfmb9WX2nurYrZQEzHpQS9vouOCAB281LW3So6cV14m8tqtsNPoM7u\/4dy47jQ01PqWyW6lhaxkRMvC3nzzknr9DwVvSUrRSiKNLpKspVdWreGxWddUvSWdlU1vn08oJcBuGnbn68Ln0DM19NWB0gMzpQ5zTzxjn78qy3ClZXW+opZCA2WMtyfunGx9h3XzayVj7TPFco35a2To54x+YcEfA+0BSh1qbiV4h9DiY1ODPqSLFj2yRtkY4Oa4AtI6wsJqmCmbxTzxxNHW9waPFZz07q1zaij6e+2uqrG0lPWRyzOBIa3JzgZ58lILrTW5yMoy1i7hERcJEVfrIy8UgDT0dTEeKGTOMHsJ7FH2zUrqYmivwNLUxnhErmnhkx15G2fA5VlUbe7Qy8UYp3FjDxg8ZZkgDsU4yW0tjNUpyT6Snv7ld1tdaOppqanp6iKctk6R7WOyMY23HrXXpqgiuMpvdbUsq6txy1gIIh7Nuo\/BZu0HajGGiWpa4D0g8bn3Lll0IYo3OoLjIybG3GMA92RuPFW5oZcqZjdOv0vSSgn3XLc97I28T3Bo7ScKl2O9W+0Vt58omAa6fMXAM9IMu5Y27PeouWw3SllL7jbqmsYORhmz7dgT4Ly21VHb7xUOktEkrHD7KCRvE5nvXY00k+JCpiZynFtZbc7\/gsR1Pcri7gstqe9vFjpph5vyA96DTd1umH3q6v4f0EAAGPXy8CshrFxHDHZasnqbj+CDVdwecRacq39u7hj9lRtJdlWLc9KXxJuXk7eiJi22WgtTMUkAa7GDI7dx9qh9U\/wB+af8A1n95ifWuqqr+zWaOAdsztx7yPgoa9wXx9xtjbnVwsfLLwwOiH9UctyeQ7R19SQi812ztarHossIu2nCy3RMUxNb9IFTJkllHBwg788AY97ne5TdVebbRf2ithYR93iyfcN+tU3T+nW36GorKyrnwZS3LTvIdiSc+tWWm0lZqYg+S9M4DGZXF3hy8FyainZs7h5VnFyjFatu7f2OKs1rQOikio4aiokLSAQzAG3Pffb1Kp0Fiudyp2S0VIeDcGXpA0Owe8\/BXy+Ngt+m67oYo4WGIswxoaPO83q9a90vD0Gm6Jnawu\/5En5rqmoxvFEKlCVaso1ZcL6acSJp9Pahlp44aq9GniY0NDIckgdmRjs710Q6ItrTx1U1RVPxuXvwPDfxVkRQ6SRrWFpLdX8dTio7Pbre7jpaOKJ\/54GXe87rtRFBtvc0RioqyVgiIuHQiIgCIiAKr1OKT6QqZ5PC2qgwd+ZwRj9kK0KsazBpjbrm0EmmqBnHWOf7virKe9uZmxWkM3JplnReNIc0OG4IyF6qzSFTfpAe6OS2vYcOaZCD2HzFclTNcuhnuNspXv4d3F57GuLRnwKspdtGPHfAfl7k7pik8j09SsIIc9vSOz\/q3+GFLLxrQ1oa0AADAA6l6oN3dzTCKhFRXAr2tpej069mf62Vrfn8lM0MPk9vpoMEdHE1uD1YACr+tj00duoRuaipGG4542\/eVoUn2EUw1rzfJJfcIiKBpCIiAIiIAiIgCIiAKM1DRmusVXC0ZfwcbQOst3x4KTRdTs7kZxU4uL4kTpmrFZYKZ3Fl0beid\/t2+GFLKp2xw05qOe2yAto6wh0Dydmu7Pl7ArYpTVncpw83KFnutGYSyshifLI4NYxpc5x6gOZXzu5RzXilrtQPyyOOVscI\/05x4ZHvPYpy\/V0t7rG2K2Pz535RMD5oAz5vf39+ApeutMR07NbKVhawRERtB3JG495+KnF5LN7sz1k8RdLZX83\/R3Uc3lNFBP+lja\/nnmMrcoXSdW2q0\/TjPnwjo3Dsxy8MKVqaiOkppamZ3DHE0uce4KtqzsbKc1Kmp9xW6ki46+p4QAWUMXG718\/i5qtKrWj4JZW1l2qGObJWy5bxfm89u7Jx7FZV2e9uRVhleLm\/3O\/4+gREUDSEREAREQBERAEREAREQHDdbTS3elMFSzcZ4HgbsPaFDN03emt6AahlFPggeaeIDq6\/mrOikptaFM6EJvM9\/QjrNZKWy0xigBc928krubj8h3KRRFxtt3ZZGMYLLFaFTmbUaTu01VHA6W11Ry9ke5jdz5e\/ux6lhUTVesJ4qeCnkprbG4Plkk2L+z+fareinn421Mzw37c3V5f3yMIomQxMijaGsY0Na0dQHILNEVZrCIiAIiIAiIgP\/2Q==",
    "razonSocial": "TRANSPORTE VIGAL S.A",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "CAROLINA VELIZ L.",
    "correoContacto": "secretariamejillones@vigal.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "SOLICITA VISITA DE UN TÉCNICO E INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56951985837",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R1042\",\"id_control\":\"28678\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R809\",\"id_control\":\"28678\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R963\",\"id_control\":\"28678\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:31",
    "ubicacionGPS": "LatLng(lat: -23.1010006, lng: -70.4410062)",
    "horaLlegada": "09:54",
    "horaDespacho": "09:42",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


14/05/2026 10:31:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:96849540

[14/05/2026 10:31: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('96849540', 'KY2074', 1, 21773342, 288628, NOW(), 
				'09:42', '09:54', '10:31', 4, 'Mantenimiento
cambio de repuestos
01 Toner  iton 2174', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778769068.png', '', null, 'COMPLETADO','LatLng(lat: -23.1010006, lng: -70.4410062)' )
				
[14/05/2026 10:31:08] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200306
[14/05/2026 10:31:08] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200306', 'KYO-R1042', 1)
				
[14/05/2026 10:31:08] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28678 and
				    IDproducto = 'KYO-R1042'
				

14/05/2026 10:31:08 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R1042';
                [14/05/2026 10:31:08] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200306', 'KYO-R809', 1)
				
[14/05/2026 10:31:08] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28678 and
				    IDproducto = 'KYO-R809'
				

14/05/2026 10:31:08 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R809';
                [14/05/2026 10:31:08] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200306', 'KYO-R963', 1)
				
[14/05/2026 10:31:08] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28678 and
				    IDproducto = 'KYO-R963'
				

14/05/2026 10:31:08 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R963';
                
14/05/2026 10:31:08 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200306'                    
				WHERE idllamado = 12513			
				TO ENVIO: micorreo@miempresa.cl, secretariamejillones@vigal.cl


14/05/2026 10:31:08 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12513			
				
14/05/2026 10:31:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


14/05/2026 10:31:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:31:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:31:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/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 = 12513
                

14/05/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 = 12513
                

[14/05/2026 10:31: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;
                

14/05/2026 10:31:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:31:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:31:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:31:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:31:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:31:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

[14/05/2026 10:31: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;
                

14/05/2026 10:31:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:31:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:31:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

[14/05/2026 10:31: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;
                

14/05/2026 10:31:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12513
            GROUP BY l.idllamado;
            

14/05/2026 10:31:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:31:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:31:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:31:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12513
                

14/05/2026 10:35:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

[14/05/2026 10:35:42] 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;
                

[14/05/2026 10:35: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;
                

14/05/2026 10:35:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

[14/05/2026 10:35: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;
                

[14/05/2026 10:35: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;
                

14/05/2026 10:35:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

[14/05/2026 10:35: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;
                

[14/05/2026 10:36: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;
                

14/05/2026 10:36:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

[14/05/2026 10:36: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;
                

[14/05/2026 10:36:12] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 10:47: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;
                

14/05/2026 10:47:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

[14/05/2026 10:47: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;
                

14/05/2026 10:47:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

[14/05/2026 10:47:09] 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;
                

14/05/2026 10:47:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 10:47:11] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 10:47:13] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 10:47:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 10:47:14] 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;
                

14/05/2026 10:47:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 10:50: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;
                

14/05/2026 10:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 10:50:16] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 10:50:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 10:50:23] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 10:50:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 10:50:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 10:50:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

[14/05/2026 10:50:54] 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;
                

14/05/2026 10:50:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 10:50: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;
                

[14/05/2026 10:50: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;
                

14/05/2026 10:50:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 10:51: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;
                

[14/05/2026 10:51: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;
                

14/05/2026 10:51:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 10:51:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 10:51:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

[14/05/2026 10:51: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;
                

14/05/2026 10:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 10:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 10:51:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 10: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 = 12580
                

14/05/2026 10: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 = 12580
                

14/05/2026 10:51:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 10: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 = 12580
                

14/05/2026 10: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 = 12580
                

14/05/2026 10: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 = 12580
                

14/05/2026 10: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 = 12580
                

14/05/2026 10:51:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 10: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 = 12580
                

14/05/2026 10: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 = 12580
                

14/05/2026 10:51:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 10: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 = 12580
                

14/05/2026 10: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 = 12580
                

14/05/2026 10:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 10:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                
[14/05/2026 10:54: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[14/05/2026 10:54:51] 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;
                

[14/05/2026 10:54: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;
                
[14/05/2026 11:04:20] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[14/05/2026 11:04:20] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

[14/05/2026 11:04: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;
                
[14/05/2026 11:04:34] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[14/05/2026 11:04:34] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

[14/05/2026 11:04: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;
                

14/05/2026 11:05:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

[14/05/2026 11:05: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;
                

14/05/2026 11:05:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

14/05/2026 11:05:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

14/05/2026 11:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:05:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

[14/05/2026 11:05: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;
                

[14/05/2026 11:05: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;
                

14/05/2026 11:05:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

14/05/2026 11:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:13:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

14/05/2026 11:13:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

[14/05/2026 11: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;
                

14/05/2026 11:13:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:13:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

[14/05/2026 11: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;
                

14/05/2026 11:13:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

14/05/2026 11:13:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:13:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

14/05/2026 11:13:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:13:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

[14/05/2026 11: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;
                

14/05/2026 11:13:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

14/05/2026 11:13:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:13:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:13:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:13:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:13:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:13:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11: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 = 12585
                

14/05/2026 11: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 = 12585
                

14/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

14/05/2026 11: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 = 12585
                

14/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

14/05/2026 11: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 = 12585
                

14/05/2026 11: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 = 12585
                

14/05/2026 11: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 = 12585
                

14/05/2026 11:13:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:13:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

14/05/2026 11:13:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:13:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:13:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:13:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

14/05/2026 11:13:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:13:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:13:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:13:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

14/05/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 = 12585
                

14/05/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 = 12585
                

14/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

14/05/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 = 12585
                

14/05/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 = 12585
                

14/05/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 = 12585
                

14/05/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 = 12585
                

14/05/2026 11:15:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

14/05/2026 11: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 = 12585
                

14/05/2026 11: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 = 12585
                

14/05/2026 11:15:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

14/05/2026 11: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 = 12585
                

14/05/2026 11: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 = 12585
                

14/05/2026 11: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 = 12585
                

14/05/2026 11: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 = 12585
                

14/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

14/05/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 = 12585
                

14/05/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 = 12585
                

14/05/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 = 12585
                

14/05/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 = 12585
                

14/05/2026 11:21:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

14/05/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 = 12585
                

14/05/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 = 12585
                

14/05/2026 11:21:50 - logentry: =========================================
FECHA: 14/05/2026 11:21:50
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-l6AV63j60Xmo37zd+CJLPb6rYYgkiJ1SbSp..XMSI0ff8BrPH13
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "TO3122",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "7208",
    "contadorColor": "9399",
    "contadorScanner": "0",
    "detalle": "Mantenimiento, ajustes y\nLimpieza general",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12585",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC5AQIDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABGEAABAwMCAwUEBggDBgcAAAABAAIDBAURBiESMUETUWFxgSKRobEUFjJCwdEVIzNDUuHw8WVykiQlNIKisjZTYmNzwtL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAA0EQACAQIEAggGAgEFAAAAAAAAAQIDERIhMUEEURMiMmFxgbHRI5GhweHwFEIFJDM0UmL\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgC8veyNhfI4Ma0ZLnHAC11dXBQ0z6mpkEcTBkkqqj6drObftKO0sPT7Up+R+Q8VKMb5vQoq1sDwpXk9iUoNQvul4dBQ0pkoYwRJUHb2umPy5qcWijo6egpm01LGI42cgPme9b0k1fInTjNR67uwiIolgREQBERAEREAUbqCskoLHVVML+CRjQGuxyJIH4qSVZ1fOakUtlg3nq5A47\/ZaD+fyKlBXkijiJ4aTa128SZs8k01mo5Z3ccj4Wuc7vyMrtWuGIQQRxN5RtDR6DC2Lj1LYpqKTCIi4SCIiAIiIAiIgCIiAIiIAiIgCIiALnra2nt9K+pqZAyNg3Pf4DxWyeeKmgfPM8MjjHE5x6BVWigm1dXG4Vocy2wPIggP3z3n8fd3qcY3zehRVquNoxzk\/27MU1JVavqvpteHw2xh\/Uwg44\/H+foFbIoo4YmxRMDGMGGtaMABZa1rGBjGhrWjAAGAAvS5KVztKkqebzb1YREUS4IiIAiIgCIiAIo2732is0QdUPzI4ZZE3dzvyHioRtJe9T8Mla82+hzlsTM8b+7+59ymo3V3oUTrqLwxV5cvfkTdZqC1UGRPWx8QBPAw8R7sbKs2O6W+qv9RdrjWMincSyCJ4IDG7DOeQ22595XObJRXK8fou1MIgpzmoq3HiJ8B08B69ArbPpyzz0\/Yut8DBjZ0bA1w9RurOrFW5mROvXliytF9+b\/BJNcHNDmkEEZBHVZVSiM+lLzFSmR0lrqjhnEP2Rz3+Gfd5K2qqUbG2lUx3TVmtQiIoloREQBERAEREAREQBERAEREAWHODWlziAAMknosqrX+tnvNd9X7acEHNTLnYNHMfEZ8du9SjG7KqtRU4332XM1Svl1fd3U0T3NtNKfbc3btXf18N+qtUMMdPCyGFgZGwYa1o2AWuhooLdSMpaZnDGwY8Se8+K6F2Ur5LQjRpON5Szk9fbwCIigXhERAEREAREQBQt+1A22cNLSs+kV020cQ34c8ifyW2\/XuOz0ns4fVSjEMXMk9+O5cmnLM+hikuNyPFXT5c9zzvG3uz39\/uU4pJYmZqlSUpdHT13fL8mLJp2SKoNzu8n0muduOLcR\/z+XRc95vU1yqTZbNxPkeeGadvJg6gH5n3LFfeqi\/VBtVjz2Z2nqsEBo8P63U3aLRTWajFPTjLjvJIRu89\/wDJTbtnLUpjFTXR0uzu+f7zM2m1U9oom01O3fm9+N3nvK7kRVN3zZtjFRVloQ2rKT6Xp2pw0l0QErcdMc\/hldVjqTWWSjnOeJ0QDs9SNifeFsuoDrRWNO4NO8H\/AElRujSTpmnB6OeB\/qKn\/TzKNOI8V6P8k6iIqzSEREAREQBERAEREAREQBEXNcK6G20MtXO4BsbSQM44j0A8SizONpK7IzUl6dQRNoaQOfX1IxE1vNoJxn8lu0\/ZmWihHGOKql9qeTOST3Z8FH6aoJqyqkv9eMyzkmnaTns2nP4bDw81ZlZJ2WFGalF1JdLLy8PdhERVmoIiIAiIgCIiAKsXrWUNFKYKGL6S+Nw7V+fYbvuAep5j801BdamrrW2K1O\/WvH+0SjlG3rv025+7mqrWGOaqhtlph7eGFw3Dd6h\/Vx8OYHcPNX06a1Z5nFcVJXjT8L9\/Jfcn7YYWyP1PfJGsMpP0aM5JA8B125e9e8XPWEm4fQ2oHb+KX8\/kPEhdNu0vJNO2uvkgqJh9mD92wdBjl6DbzVlAAGAMALkppPLUnSoSlG08ly3fj7GihoKa3UzaeliEbGjpzPiT1K6ERU6m9JJWQREQ6c9dj9H1PFjHZOznyKh9EgjTrMjnI\/HvUrdSG2iscdgKd5P+kqN0aCNM05PVzyP9RVi7DM0v+RHwfqidREVZpCIiAIiIAiIgCIiAIiIAqhK46uvohYT+i6I8ReBtK7u\/rpnvXdqm5SsjitNET9MrSGjBwWNJxn15eWVJ2e2RWi3R0sYGQMyOH3n43KsXVV9zJU+NPo\/6rX29zta0NaGtAAAwAOiyiKs1hERAEREARFF3TUVutILZ5uOUfuo93evd6rqTeSIznGCvJ2RKKuao1Gy30zqWima6tkPD7ByYx1z3HuUdW3O+XOjlqiDa7cxuS\/77x0A5E5OBtgb800pa4aKhkv8AX9Gl0WebQM5d5np\/NWqCjnIw1OIlUfR01a+75cyvPorlE2OmeHxy1hBEODxyA9XdcZ6H3L6LZ7RT2ihZBExvacI7SQDd7up8lEaZpZbjWTagro8SyHhp2nOGNxgkfL396s6VZt5HOCoKK6Tnp4fkIiKk9EIiIAiIgI7UEvY6frnbbwubv4jH4rVpeLsdN0Td92F2\/iSfxWjWUpj03OB+8cxv\/UD+C76J0NBZKXtpWRRxQMBc44H2QrP6eZlv\/qG+S+\/4O5FVLjrqmhcY7fAal3LjcS1ufAYyfgpLTlVeKuCWa6wiJriDEOHhOOu3d5rjg0rslHiac54I5+hMoiKBoCIiAIiIAiIgC5rhXQ22hlq53ANjaSBnHEegHiV0qqXMjUmoGWlhJpKMl9Q5rsZdyxy5jl6lSirvMprVHCPV1eSNumKOatqZr\/XbyVBIgaTns25P9h4easyw1oa0NaAABgAdFlJSxO52lTVOOEIiKJaEXl72RsL5HBjWjJc44AUBV6wo2SGnt8MtfUdGxNPD7+voCpKLehXOrCn2mWFQt01TbrYTGH\/SJ+XZRb4PieQ+ajmW3UN8cXXKqNBTH9xCcOI7v7k+SmLbp62WrDqenBlA\/aye07+XphStGOuZTjq1OwrLm\/b3IkDUl\/BJItNI7kACZCPgfkpG26Ytltw8Q9vMDkyze0c+A5BTC1zSsp4JJpDhkbS5x8AMrjm3kiUaEIvFLN83+5FW1TUOudzp7HC53A39bUlgyQAM\/AZOOpIXLcLxBfYqKyW9jqdkkgZK1+3C1vJu2fP0C7NMuHY3DUda0MM7nFp7mDmB67f8q5LVYG6ljrLpcHPY6olPYmM8gOu\/Mch6FXKy129TBLpKmcdZ7f8Alfv1LlTwR01PHBE0NZG0NaAMLYqsKPVNnHBRzx3GAfZbN9oDu3IPd1XoaquFOS2usNQw9HR5IPw8e9VYG9Hc2riYxVppx8vYs6KsfXmjZ+1oKxgH2vZG3xT692937KjrH45+w3b4rnRy5Hf5dD\/sWdFWBrVkhxBaquQ47gN\/ivP6a1NWgGjsggaTznP58K70ctx\/KpPs3fgmWlaairpqRnHU1EcLe97w35qrVdLqEwPnut8hoacc+yG48NgM+WVB0dhqL7Vl9I6Y0wPtVVT949cD8MlSVNatlNTi5p4YwzfP2JPVt9o7nTw0NA8zvEwc7hacO2IAHfzWBp2+3+Zs90mFPH91hH2R3Bo5eq90VmpaPWlNR03E5tLD2kriclzsHfw5tV2XZTwJKJVToOvKUqvO1lpkQ9r0xbLU9ssURlmbyklOSPIcgphEVLbebPRhCMFaKsFWL\/V1NdfKKzUMzonNeJZ3sO7cb\/Ab77HIViqaiOkppamZ3DHE0ucfAKvaRhfUvrL1URhslXIQwg8m9ceu3\/KpwyTkUV25ONJb6+CLKBgY7kWUVZqCIiAIiICNv11ZaLXLUcQ7Ujhiaerj4eHP0XLpS1Ot1r7Sbepqj2khzk46DPx9So\/iOo9W8OeKhtpyd9nvH88+jfFWxWPqxwmSn8Wo6myyX3f2CLXNPDTRGWeVkUbebnnACr1RquSrmNLYaN9ZL1lcMMb4\/wB8KKi3oXVKsKfafuWGaeGmiMs8rIo283POAFXKrVzqif6LY6N9ZN\/G5pDB6c\/fhIdLVNwlFTf619Q7mIIzhjfX8seasFJR01DCIaWBkLB0aMZ8+9S6se8q+NU06q+vsivN03crsWyX24vLeYp4cAD15fA+amYaOgsdDK+ngZFHGwueersDqeZXeqZq7UFXTVM9qjZD2MkQBcWni359cfBdWKbsRqKlw0XPfnqyzWm4i629tY2J0bHucGBxGSA4gHby\/rmu1RunY+z0\/QtxjMIdyxz3\/FSSrlq7Gik24JvWwVe1nUvZao6KIntKyURjHUZ\/srCqvcP9465oqXOWUUfauHc7n\/8Aj+sKUNb8iriW+jwrfL5nnUTX0doodP0LuKSoLY9zuWjGSe7Jx8VY6OlZRUcNLH9mJgaD346quW0NvWsKu4OaTDQjsos8i7cZ\/wC4+oVqXZ5JIjw6UpSqbaLwQREVZrCIiAKMvN9pbNCDLmSZ\/wBiFh9p3j4DxXLqPUkVmi7KHhkq3j2WHkwd5\/JVfS9S6XUvb1zGyve10jppjjs9s8Xd3DyVsad1iZhr8UozVKDze\/ImqOyVt+nbcb84tj2MVK3YAePd81aWMZGwMjaGNaMBrRgBQdfrC1UZLIpDVy9Gw7gn\/Ny92VD3PUV++iumMDLbCdmcf7R\/gMjfnnOB5ruGUu44qtCgnZ3e+\/zZ2acmjqbxd7vK9rInPEbHvcOXn5BqkKzVtmpMj6T27h92EcWfXl8VQnWiqjoKeeY9m2qlDYWO+8CPteA3HvX0egsdttwaaekjEjR+0Lcu953ClUUU7sq4WpWnHDFJbtvv7iI+uT5f+EstZP05Y37tgU+sd8aON2m5iwbEAnPy\/BWdRV41DQ2ZhEz+0nIy2Fn2vXuCrTTdlE0TjOCxTqW8kVu7Xyqv5gsrKOSikmlaJRKenToNuvoFdKanjpKaKmhbwxxNDWjwCp+n7VNe7m6\/1+BG6UujZz4iOXoMY9FdV2pZdVEeEUpXqT308AiIqjcEREAURqa6\/omzySMdieX9XF3gnr6Df3KXVFul2pazUxnqn8VFbfsMG5lfnkB4keWGqynG7MvFVcELJ2by\/PkWPTNq\/RNnjje3E8v6yXvBPT0G3vXPc9UwQSGkt0ZrqwnAZGCWg+JHP0XCYL5qg5lebfbH8mY9t7fLrnx281P2yz0NpjLKSENJHtPO7neZXXZO8s2QhjlFQpK0Vu9fJfdkJFpusvEray\/1LiebaaM4DfDP5e9WOlpKeigbBTRNijbya0LcoDUV5mpnw2y34dXVR4QQf2QONz\/XTKjeU3Ysw0+Hi57\/AFZPotNKyaOljZUS9tMGjjfgDiPXYLcoGhZoL5zrUgahkBGcwsA8F9GXzjW\/\/iJ\/\/wATVdQ7R5\/+R\/2fMuWmJDLpyicSDhnDt4Ej8FKr5t9YpqSwUFBRSuikbxPlkYdxl7sN9xz7l9CoqqCspI56aXtYnjZ3X18VGpBp3LeFrxqRUFqkjeqbb6sRV2orx\/5WWRu79zjf0arg94jY57uTQSV84a+R2mOyBHbXKuxz2LQB0\/zELtNXuQ4ueFxfK7+ll6lq0bSfRrAyVw9uoeZCeuOQ+Az6qfWunhbTU0UDPsxMDG+QGFsUJO7ua6UMEFHkERRFx1RaraXMfUdrK393EOI+\/kPeuJN6HZzjBXk7EuoLUmpIrND2MJD6x49lvRg7z+SgLrqm9SxN7KD6FFOcRYGZHjwz8wFIUWnLdbaA3G+ntpscchkcS1p7sfePnndWqCjnIxS4mVW8aOXNvYp1VUsniDnCSSokcXyzSc3dwHhz89uWFYrHpeG4UbbndKhzYjktYDwjhHeeg57Be4qCfWFS6oLPoVvhHBAGtG\/p1\/DkpEaMMoDK271VREMYYSRjHLmT02Vspq1r2MVHh5OWPDiW23maH3e1Wt4o9PUEdXVkcIexuQPN3N3oceKib1aaztKZ1wqO2uVbIGtjaciNv9yPDnz6XqgtlHbYuzo6dkQ6kDd3meZVVkuUE+qau5TytNNbIy2Juftv3GB4k8W\/gFCEs8jRXpWilUeuy0XN\/I6ZohcNZUlHCAaa1xhzt+R6eGc8PuKsVbcKS3QGarnZE3pk7u8AOqolhuFyc6pFso+1raqTilqH7tjH9yTufRWGj0oJJxV3qqdX1H8BP6tvh4\/AeC5OKTzZPh6spJunHNvXZcvHI533i76hcYbLAaWm5OqpRg+h\/LJ8lF3WwQU9RR2qB7p7hVP45p374G+TjO3U9+3NXtxhpKdzjwxQxNJOBgNaFXtNRPuVdV6gqGkGdxjp2n7rB\/YD0PeuRnbNaHatDE1GTvJ\/Rb29CwU1PHSU0VNC3hjiaGtHgFtRFSeglZWQREQ6ERcN4uTbVbJqwt4iwYa3OOJx5LqV3YjKSinJ7HJqW8xWm2yAS8NTK0thA3IP8XoovTmj46cR1tybxzfaZCeTPPvKhrPS1d91QJK4l\/Z4llzkcI6N8NyNvNfRlbLqLCjDRS4mfSzWSyS+4REVJ6Bx3W4R2u2zVcn3B7I\/iceQ96idL26R3aXusOaqtHEBjZjCdsee3phaLjxX\/U8VswTR0R7WcZGHEdPjjyyVaGtDWhrQAAMADorH1Y25mWPxauLaOnjuzKIirNQXzzXTGsv7Hfx07SfPLh+CvNfcaS2U5nq5hG3oOrj3AdVSqmnr9XT1Fyig4IIGcMDDzfv5b9SfcrqWTxPQ8\/jmpw6OOcj1oe1R1c1RV1EIkiY3sm8QyCSN\/h81ITUFdpWrNZbg6otzyO1p87t6ZHf03963aVuLYgyzSUMtJLGwvxJzdvzOcH4dFZ0nNqTuc4ehCVFYXmt+8hW3+33S1VRpJwJRA89k\/Z49k9OvplVPTzPpt0tNMD7NPxzOz0PETt\/parDqTTtrloaiuDRTTxsLg5hDWvIGwIO2\/vVR09V19FcHSW6kFTM5hZwlpdgc87EY5KyCWF4TPxEpqtBVPpvny8j6i97I2F8jgxrRkuccAKArNYUrZvo1tgkuFQTgCMez7+Z9B6qtVcl2rKrN9prg6EcooY+Fufdj5qVoNQ0dti7OjsFTEOpDd3eZ5lQ6O3eXvi3N2TwrvWfyN4teor1IXXOrNBTn9xA7cj0PzJ8lJ0NitVihfURxZdG0udNKeJwA578h6KPOp7pVYbb7FMSfvS5x+Hj1Wqeg1Ld43R3OpgoKR37RrMHb+vFHi0bsjsXTXWgnKXN+7IujvVL+lKi8VjfpVY93BS00bTtyAOTy7u\/mcKVp7Hcb9O2sv0hjgByykacY8+75+ShJLfR2eo7Sl1FBxjYFkRc4eozhYpbjfq+pbDSVtZMx7uEvDMBuevz7uSsavnExwnheGqr9ytm+\/PM+hsZFTwtjY1scbAA0DYAKMrtUWihyH1QleMexD7Z9\/L4qObops+DcbpVVTgc88fPKlqLT1qoDxQUUfF\/E\/wBo\/HkqLQW9z08VeWSio+OfoV25asustG6ehoH0tODgzyjJO+Ns7fP4KEmszWw26MySPuFwcHlnRjCdiepJ55z0PmrFfJDe9R09nY\/FNS\/ralwOAMc9\/AbZ73L3p5rbvfqu9cAEMX6mnGMcIxjPLu\/7lcnhjdKx586bq1MMnfO3u16FkpaWGipY6aBgZHG0NA\/E+K3IvEsrIYnyyODWMaXOcegHMrLqezkkV7VtXJKKey0x\/X1rhx4PJmfxPyKnqWmjo6WKmiGGRMDR6Ktaaifd7xV6gqGkN4jHTtP3R\/IYHqVa1ZPLqmah126r308PyERFWagiIgChNXMhfpyo7Z\/Dw8JZ4uzsFNqralfJdLvQ2KH7DnCWf\/L\/AGz7wpwXWM\/Eu1Jrnl8yMsDNQWmiMtJaop4anEnGXe24Y2+9y59OqlvrRc6ckVmnqlo58UeSPlj4qytaGtDWgAAYAHRZXXNN3aK4cNKnFRhNr5FY+uf+D1nuT65\/4PWe5WdaawkUU5BwRG75JePIk6dZK+P6Ioun7\/8AQH1tQ6hqKmSql4nPjGw5nH\/UVM\/XP\/B6z3LdogAadbgc5XZVhUpyjieRTw9Or0UWp28isfWa7T7Uunpx04pOLAPuWOy1dcj+slgt0Z5hm7sfHf1CtCrt7vsr6g2e0Ay1snsvkbyiHXfv+XmuRd3kidSGGN6k2+5ZX+RW6izNr7wLfSVc9bUtP+01Up9loGxwOe3mr\/R0kNBSR0tOzhijGGhRNDDbNJW3gqKljZH+1I4\/aefAc8KLqtVV1yJjtUTKWHODVVLg0D37D4lSlinktCql0fD3lLtPZZ+RsrKunoNdmpqpRFE2l+0fLp3rbLqW4XQmKwW6R43BqJhho8unvPoomIaepJjUXW4PulVzIaHOb7zz9\/opSPVFZURhlosMzmDAa5ww0egGPiuuOmRXCpqnK13eyzf4NFXpuRtuqbjfK6Sqniic5jA48LTjYe\/HLAXXonsINPvlc5rOKZxe5xxyA6+Sh9QVGpJKOOO4CGGKpeGCCPGXHmMnfG+Oq82TTlLPeau3XCR5fS+01sbsB46nl4jr1XWrw6zIRlhrro492fNloqtVWak2dWtldjOIQX59Rt8VH\/W6prdrVZqifJwHvGGg+ONu7qpek0\/aaLhMFDFxNOQ544nA+ZypAAAYAwAqrwWiN+CvLtSS8F7lY7LV9wzxy09vjdzDcF2PTJ+IWW6LbUP7S53Sqq3478Y9+VZ0XOke2R3+LB9u78WRlNpyz0mDFQRE97\/bPxypINDRhoAHcFlFFtvUvjCMcoqwXHdrgy12yasfgljfZafvOPIe9diqDydW6gaxpzbKE8XFg4ldtkevy81KKu89CqvUcI2j2np+9xHBk9FpwyHidcL5JgcuIsJ\/+2f+oK6Wm3stdsho2YJY32nD7zjzPvUJTUtRcdYTVE9O6Kmt7ezga4EAnoR39T5YVnUqktijhaSTcuWS+782FCapbWz21tHQwvkdUyCN7gMhrfHuHiptFWnZ3NdSGOLjfU56Ciit9DDSQ\/Yibw57z1PqcldCIuEkklZBERDoREQHiWVkMT5ZHBrGNLnOPQDmVWtJwvrqutvs5y+oeWRg8w0f0B6LfrGskitjKGBvFNXPEbR1xtnHwHqpi3UbLfb4KSMACJgG3U9T6nJVmkfEyv4ldLaPq\/wdKIirNQWHNDmlrgCCMEHqsogKdZ7mzTNVV2q6OdHE1\/HDLwEgg+Q6\/mpR+srG3lVOft0id+IUvUUtNVM4KmnimaDnEjA4Z9fM+9amWm2xnLLfStP\/AKYWj8FY5RebRkjSrQWGDVu9Z+pXpbtd9Ql9NZ6d1LSnLX1MoIPjg9PTJ8lIU+nP0dZ5qe3z8FbKBxVTtiTn1wOamw0NGGgAdwWVxz2RKNBXxTd36eHIpDNBVc0hfV3FmScktaXk+pwpOn0PbI3B9TJPUu68T+EH3b\/FWRF11ZvcjHg6Ef6nDS2a2URBp6GFjhydw5d7zuu5EUG29TTGKirJWKtdP94a3t1JzZSN7V3g7n+DV71NTTUFbBqClzmAhk7B95mf549y6rVa6uLUNyuVW1rRKeCEg5JZ+GwapqSNksbo5GhzHgtc0jYg8wrHKzVjJGi5xk3k27ry0NVHVwV9LHU07w+OQZB\/A+K3qnyUlbpGskqqNrqi1v8Aakizuz+3f3c+9WK2Xmhu0IkpZgXdY3EB7fMKMo2zWhbSrYngnlL90O5ERQNARcdddqC3RufU1MbC0fYzlx8hzVddV3jVQMVHGaC3k4fM4+08dw7\/ACG3eVNRbz2KKleMHhWb5I3Xa8VN2qjZ7J7edp6gHDWDqAR8\/cpu1WyC00DKWAbD2nuPNzupS12qltFIKembtzc8\/aee8rtSUlotDlKnK+Ofa9O5BERQNAREQBERAEREAREQFZ+izXLW7p5opG01AwCMuHsudjIx6nPoPJWZEUnK5XTpqF+93CIiiWBERAEREAREQBERAEREAREQBQdfpG017i\/s3QPJLi6EgZJ8CpxF1NrQhOnCorSVysfVKtj9mn1FWRNznHtfg4IdJVso4KnUVZLGTu32t\/e4qzopdJIp\/iUeX1fuQVDo+0UR4nRPqHf+87I9w296nGtDWhrQAAMADosoouTepbCnCmrRVgiIuFgREQBERAEREAREQBERAf\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:21",
    "ubicacionGPS": "LatLng(lat: -23.1005977, lng: -70.4525031)",
    "horaLlegada": "10:59",
    "horaDespacho": "10:31",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 14/05/2026 11:21:50
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-l6AV63j60Xmo37zd+CJLPb6rYYgkiJ1SbSp..XMSI0ff8BrPH13
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "TO3122",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "7208",
    "contadorColor": "9399",
    "contadorScanner": "0",
    "detalle": "Mantenimiento, ajustes y\nLimpieza general",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12585",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC5AQIDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABGEAABAwMCAwUEBggDBgcAAAABAAIDBAURBiESMUETUWFxgSKRobEUFjJCwdEVIzNDUuHw8WVykiQlNIKisjZTYmNzwtL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAA0EQACAQIEAggGAgEFAAAAAAAAAQIDERIhMUEEURMiMmFxgbHRI5GhweHwFEIFJDM0UmL\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgC8veyNhfI4Ma0ZLnHAC11dXBQ0z6mpkEcTBkkqqj6drObftKO0sPT7Up+R+Q8VKMb5vQoq1sDwpXk9iUoNQvul4dBQ0pkoYwRJUHb2umPy5qcWijo6egpm01LGI42cgPme9b0k1fInTjNR67uwiIolgREQBERAEREAUbqCskoLHVVML+CRjQGuxyJIH4qSVZ1fOakUtlg3nq5A47\/ZaD+fyKlBXkijiJ4aTa128SZs8k01mo5Z3ccj4Wuc7vyMrtWuGIQQRxN5RtDR6DC2Lj1LYpqKTCIi4SCIiAIiIAiIgCIiAIiIAiIgCIiALnra2nt9K+pqZAyNg3Pf4DxWyeeKmgfPM8MjjHE5x6BVWigm1dXG4Vocy2wPIggP3z3n8fd3qcY3zehRVquNoxzk\/27MU1JVavqvpteHw2xh\/Uwg44\/H+foFbIoo4YmxRMDGMGGtaMABZa1rGBjGhrWjAAGAAvS5KVztKkqebzb1YREUS4IiIAiIgCIiAIo2732is0QdUPzI4ZZE3dzvyHioRtJe9T8Mla82+hzlsTM8b+7+59ymo3V3oUTrqLwxV5cvfkTdZqC1UGRPWx8QBPAw8R7sbKs2O6W+qv9RdrjWMincSyCJ4IDG7DOeQ22595XObJRXK8fou1MIgpzmoq3HiJ8B08B69ArbPpyzz0\/Yut8DBjZ0bA1w9RurOrFW5mROvXliytF9+b\/BJNcHNDmkEEZBHVZVSiM+lLzFSmR0lrqjhnEP2Rz3+Gfd5K2qqUbG2lUx3TVmtQiIoloREQBERAEREAREQBERAEREAWHODWlziAAMknosqrX+tnvNd9X7acEHNTLnYNHMfEZ8du9SjG7KqtRU4332XM1Svl1fd3U0T3NtNKfbc3btXf18N+qtUMMdPCyGFgZGwYa1o2AWuhooLdSMpaZnDGwY8Se8+K6F2Ur5LQjRpON5Szk9fbwCIigXhERAEREAREQBQt+1A22cNLSs+kV020cQ34c8ifyW2\/XuOz0ns4fVSjEMXMk9+O5cmnLM+hikuNyPFXT5c9zzvG3uz39\/uU4pJYmZqlSUpdHT13fL8mLJp2SKoNzu8n0muduOLcR\/z+XRc95vU1yqTZbNxPkeeGadvJg6gH5n3LFfeqi\/VBtVjz2Z2nqsEBo8P63U3aLRTWajFPTjLjvJIRu89\/wDJTbtnLUpjFTXR0uzu+f7zM2m1U9oom01O3fm9+N3nvK7kRVN3zZtjFRVloQ2rKT6Xp2pw0l0QErcdMc\/hldVjqTWWSjnOeJ0QDs9SNifeFsuoDrRWNO4NO8H\/AElRujSTpmnB6OeB\/qKn\/TzKNOI8V6P8k6iIqzSEREAREQBERAEREAREQBEXNcK6G20MtXO4BsbSQM44j0A8SizONpK7IzUl6dQRNoaQOfX1IxE1vNoJxn8lu0\/ZmWihHGOKql9qeTOST3Z8FH6aoJqyqkv9eMyzkmnaTns2nP4bDw81ZlZJ2WFGalF1JdLLy8PdhERVmoIiIAiIgCIiAKsXrWUNFKYKGL6S+Nw7V+fYbvuAep5j801BdamrrW2K1O\/WvH+0SjlG3rv025+7mqrWGOaqhtlph7eGFw3Dd6h\/Vx8OYHcPNX06a1Z5nFcVJXjT8L9\/Jfcn7YYWyP1PfJGsMpP0aM5JA8B125e9e8XPWEm4fQ2oHb+KX8\/kPEhdNu0vJNO2uvkgqJh9mD92wdBjl6DbzVlAAGAMALkppPLUnSoSlG08ly3fj7GihoKa3UzaeliEbGjpzPiT1K6ERU6m9JJWQREQ6c9dj9H1PFjHZOznyKh9EgjTrMjnI\/HvUrdSG2iscdgKd5P+kqN0aCNM05PVzyP9RVi7DM0v+RHwfqidREVZpCIiAIiIAiIgCIiAIiIAqhK46uvohYT+i6I8ReBtK7u\/rpnvXdqm5SsjitNET9MrSGjBwWNJxn15eWVJ2e2RWi3R0sYGQMyOH3n43KsXVV9zJU+NPo\/6rX29zta0NaGtAAAwAOiyiKs1hERAEREARFF3TUVutILZ5uOUfuo93evd6rqTeSIznGCvJ2RKKuao1Gy30zqWima6tkPD7ByYx1z3HuUdW3O+XOjlqiDa7cxuS\/77x0A5E5OBtgb800pa4aKhkv8AX9Gl0WebQM5d5np\/NWqCjnIw1OIlUfR01a+75cyvPorlE2OmeHxy1hBEODxyA9XdcZ6H3L6LZ7RT2ihZBExvacI7SQDd7up8lEaZpZbjWTagro8SyHhp2nOGNxgkfL396s6VZt5HOCoKK6Tnp4fkIiKk9EIiIAiIgI7UEvY6frnbbwubv4jH4rVpeLsdN0Td92F2\/iSfxWjWUpj03OB+8cxv\/UD+C76J0NBZKXtpWRRxQMBc44H2QrP6eZlv\/qG+S+\/4O5FVLjrqmhcY7fAal3LjcS1ufAYyfgpLTlVeKuCWa6wiJriDEOHhOOu3d5rjg0rslHiac54I5+hMoiKBoCIiAIiIAiIgC5rhXQ22hlq53ANjaSBnHEegHiV0qqXMjUmoGWlhJpKMl9Q5rsZdyxy5jl6lSirvMprVHCPV1eSNumKOatqZr\/XbyVBIgaTns25P9h4easyw1oa0NaAABgAdFlJSxO52lTVOOEIiKJaEXl72RsL5HBjWjJc44AUBV6wo2SGnt8MtfUdGxNPD7+voCpKLehXOrCn2mWFQt01TbrYTGH\/SJ+XZRb4PieQ+ajmW3UN8cXXKqNBTH9xCcOI7v7k+SmLbp62WrDqenBlA\/aye07+XphStGOuZTjq1OwrLm\/b3IkDUl\/BJItNI7kACZCPgfkpG26Ytltw8Q9vMDkyze0c+A5BTC1zSsp4JJpDhkbS5x8AMrjm3kiUaEIvFLN83+5FW1TUOudzp7HC53A39bUlgyQAM\/AZOOpIXLcLxBfYqKyW9jqdkkgZK1+3C1vJu2fP0C7NMuHY3DUda0MM7nFp7mDmB67f8q5LVYG6ljrLpcHPY6olPYmM8gOu\/Mch6FXKy129TBLpKmcdZ7f8Alfv1LlTwR01PHBE0NZG0NaAMLYqsKPVNnHBRzx3GAfZbN9oDu3IPd1XoaquFOS2usNQw9HR5IPw8e9VYG9Hc2riYxVppx8vYs6KsfXmjZ+1oKxgH2vZG3xT692937KjrH45+w3b4rnRy5Hf5dD\/sWdFWBrVkhxBaquQ47gN\/ivP6a1NWgGjsggaTznP58K70ctx\/KpPs3fgmWlaairpqRnHU1EcLe97w35qrVdLqEwPnut8hoacc+yG48NgM+WVB0dhqL7Vl9I6Y0wPtVVT949cD8MlSVNatlNTi5p4YwzfP2JPVt9o7nTw0NA8zvEwc7hacO2IAHfzWBp2+3+Zs90mFPH91hH2R3Bo5eq90VmpaPWlNR03E5tLD2kriclzsHfw5tV2XZTwJKJVToOvKUqvO1lpkQ9r0xbLU9ssURlmbyklOSPIcgphEVLbebPRhCMFaKsFWL\/V1NdfKKzUMzonNeJZ3sO7cb\/Ab77HIViqaiOkppamZ3DHE0ucfAKvaRhfUvrL1URhslXIQwg8m9ceu3\/KpwyTkUV25ONJb6+CLKBgY7kWUVZqCIiAIiICNv11ZaLXLUcQ7Ujhiaerj4eHP0XLpS1Ot1r7Sbepqj2khzk46DPx9So\/iOo9W8OeKhtpyd9nvH88+jfFWxWPqxwmSn8Wo6myyX3f2CLXNPDTRGWeVkUbebnnACr1RquSrmNLYaN9ZL1lcMMb4\/wB8KKi3oXVKsKfafuWGaeGmiMs8rIo283POAFXKrVzqif6LY6N9ZN\/G5pDB6c\/fhIdLVNwlFTf619Q7mIIzhjfX8seasFJR01DCIaWBkLB0aMZ8+9S6se8q+NU06q+vsivN03crsWyX24vLeYp4cAD15fA+amYaOgsdDK+ngZFHGwueersDqeZXeqZq7UFXTVM9qjZD2MkQBcWni359cfBdWKbsRqKlw0XPfnqyzWm4i629tY2J0bHucGBxGSA4gHby\/rmu1RunY+z0\/QtxjMIdyxz3\/FSSrlq7Gik24JvWwVe1nUvZao6KIntKyURjHUZ\/srCqvcP9465oqXOWUUfauHc7n\/8Aj+sKUNb8iriW+jwrfL5nnUTX0doodP0LuKSoLY9zuWjGSe7Jx8VY6OlZRUcNLH9mJgaD346quW0NvWsKu4OaTDQjsos8i7cZ\/wC4+oVqXZ5JIjw6UpSqbaLwQREVZrCIiAKMvN9pbNCDLmSZ\/wBiFh9p3j4DxXLqPUkVmi7KHhkq3j2WHkwd5\/JVfS9S6XUvb1zGyve10jppjjs9s8Xd3DyVsad1iZhr8UozVKDze\/ImqOyVt+nbcb84tj2MVK3YAePd81aWMZGwMjaGNaMBrRgBQdfrC1UZLIpDVy9Gw7gn\/Ny92VD3PUV++iumMDLbCdmcf7R\/gMjfnnOB5ruGUu44qtCgnZ3e+\/zZ2acmjqbxd7vK9rInPEbHvcOXn5BqkKzVtmpMj6T27h92EcWfXl8VQnWiqjoKeeY9m2qlDYWO+8CPteA3HvX0egsdttwaaekjEjR+0Lcu953ClUUU7sq4WpWnHDFJbtvv7iI+uT5f+EstZP05Y37tgU+sd8aON2m5iwbEAnPy\/BWdRV41DQ2ZhEz+0nIy2Fn2vXuCrTTdlE0TjOCxTqW8kVu7Xyqv5gsrKOSikmlaJRKenToNuvoFdKanjpKaKmhbwxxNDWjwCp+n7VNe7m6\/1+BG6UujZz4iOXoMY9FdV2pZdVEeEUpXqT308AiIqjcEREAURqa6\/omzySMdieX9XF3gnr6Df3KXVFul2pazUxnqn8VFbfsMG5lfnkB4keWGqynG7MvFVcELJ2by\/PkWPTNq\/RNnjje3E8v6yXvBPT0G3vXPc9UwQSGkt0ZrqwnAZGCWg+JHP0XCYL5qg5lebfbH8mY9t7fLrnx281P2yz0NpjLKSENJHtPO7neZXXZO8s2QhjlFQpK0Vu9fJfdkJFpusvEray\/1LiebaaM4DfDP5e9WOlpKeigbBTRNijbya0LcoDUV5mpnw2y34dXVR4QQf2QONz\/XTKjeU3Ysw0+Hi57\/AFZPotNKyaOljZUS9tMGjjfgDiPXYLcoGhZoL5zrUgahkBGcwsA8F9GXzjW\/\/iJ\/\/wATVdQ7R5\/+R\/2fMuWmJDLpyicSDhnDt4Ej8FKr5t9YpqSwUFBRSuikbxPlkYdxl7sN9xz7l9CoqqCspI56aXtYnjZ3X18VGpBp3LeFrxqRUFqkjeqbb6sRV2orx\/5WWRu79zjf0arg94jY57uTQSV84a+R2mOyBHbXKuxz2LQB0\/zELtNXuQ4ueFxfK7+ll6lq0bSfRrAyVw9uoeZCeuOQ+Az6qfWunhbTU0UDPsxMDG+QGFsUJO7ua6UMEFHkERRFx1RaraXMfUdrK393EOI+\/kPeuJN6HZzjBXk7EuoLUmpIrND2MJD6x49lvRg7z+SgLrqm9SxN7KD6FFOcRYGZHjwz8wFIUWnLdbaA3G+ntpscchkcS1p7sfePnndWqCjnIxS4mVW8aOXNvYp1VUsniDnCSSokcXyzSc3dwHhz89uWFYrHpeG4UbbndKhzYjktYDwjhHeeg57Be4qCfWFS6oLPoVvhHBAGtG\/p1\/DkpEaMMoDK271VREMYYSRjHLmT02Vspq1r2MVHh5OWPDiW23maH3e1Wt4o9PUEdXVkcIexuQPN3N3oceKib1aaztKZ1wqO2uVbIGtjaciNv9yPDnz6XqgtlHbYuzo6dkQ6kDd3meZVVkuUE+qau5TytNNbIy2Juftv3GB4k8W\/gFCEs8jRXpWilUeuy0XN\/I6ZohcNZUlHCAaa1xhzt+R6eGc8PuKsVbcKS3QGarnZE3pk7u8AOqolhuFyc6pFso+1raqTilqH7tjH9yTufRWGj0oJJxV3qqdX1H8BP6tvh4\/AeC5OKTzZPh6spJunHNvXZcvHI533i76hcYbLAaWm5OqpRg+h\/LJ8lF3WwQU9RR2qB7p7hVP45p374G+TjO3U9+3NXtxhpKdzjwxQxNJOBgNaFXtNRPuVdV6gqGkGdxjp2n7rB\/YD0PeuRnbNaHatDE1GTvJ\/Rb29CwU1PHSU0VNC3hjiaGtHgFtRFSeglZWQREQ6ERcN4uTbVbJqwt4iwYa3OOJx5LqV3YjKSinJ7HJqW8xWm2yAS8NTK0thA3IP8XoovTmj46cR1tybxzfaZCeTPPvKhrPS1d91QJK4l\/Z4llzkcI6N8NyNvNfRlbLqLCjDRS4mfSzWSyS+4REVJ6Bx3W4R2u2zVcn3B7I\/iceQ96idL26R3aXusOaqtHEBjZjCdsee3phaLjxX\/U8VswTR0R7WcZGHEdPjjyyVaGtDWhrQAAMADorH1Y25mWPxauLaOnjuzKIirNQXzzXTGsv7Hfx07SfPLh+CvNfcaS2U5nq5hG3oOrj3AdVSqmnr9XT1Fyig4IIGcMDDzfv5b9SfcrqWTxPQ8\/jmpw6OOcj1oe1R1c1RV1EIkiY3sm8QyCSN\/h81ITUFdpWrNZbg6otzyO1p87t6ZHf03963aVuLYgyzSUMtJLGwvxJzdvzOcH4dFZ0nNqTuc4ehCVFYXmt+8hW3+33S1VRpJwJRA89k\/Z49k9OvplVPTzPpt0tNMD7NPxzOz0PETt\/parDqTTtrloaiuDRTTxsLg5hDWvIGwIO2\/vVR09V19FcHSW6kFTM5hZwlpdgc87EY5KyCWF4TPxEpqtBVPpvny8j6i97I2F8jgxrRkuccAKArNYUrZvo1tgkuFQTgCMez7+Z9B6qtVcl2rKrN9prg6EcooY+Fufdj5qVoNQ0dti7OjsFTEOpDd3eZ5lQ6O3eXvi3N2TwrvWfyN4teor1IXXOrNBTn9xA7cj0PzJ8lJ0NitVihfURxZdG0udNKeJwA578h6KPOp7pVYbb7FMSfvS5x+Hj1Wqeg1Ld43R3OpgoKR37RrMHb+vFHi0bsjsXTXWgnKXN+7IujvVL+lKi8VjfpVY93BS00bTtyAOTy7u\/mcKVp7Hcb9O2sv0hjgByykacY8+75+ShJLfR2eo7Sl1FBxjYFkRc4eozhYpbjfq+pbDSVtZMx7uEvDMBuevz7uSsavnExwnheGqr9ytm+\/PM+hsZFTwtjY1scbAA0DYAKMrtUWihyH1QleMexD7Z9\/L4qObops+DcbpVVTgc88fPKlqLT1qoDxQUUfF\/E\/wBo\/HkqLQW9z08VeWSio+OfoV25asustG6ehoH0tODgzyjJO+Ns7fP4KEmszWw26MySPuFwcHlnRjCdiepJ55z0PmrFfJDe9R09nY\/FNS\/ralwOAMc9\/AbZ73L3p5rbvfqu9cAEMX6mnGMcIxjPLu\/7lcnhjdKx586bq1MMnfO3u16FkpaWGipY6aBgZHG0NA\/E+K3IvEsrIYnyyODWMaXOcegHMrLqezkkV7VtXJKKey0x\/X1rhx4PJmfxPyKnqWmjo6WKmiGGRMDR6Ktaaifd7xV6gqGkN4jHTtP3R\/IYHqVa1ZPLqmah126r308PyERFWagiIgChNXMhfpyo7Z\/Dw8JZ4uzsFNqralfJdLvQ2KH7DnCWf\/L\/AGz7wpwXWM\/Eu1Jrnl8yMsDNQWmiMtJaop4anEnGXe24Y2+9y59OqlvrRc6ckVmnqlo58UeSPlj4qytaGtDWgAAYAHRZXXNN3aK4cNKnFRhNr5FY+uf+D1nuT65\/4PWe5WdaawkUU5BwRG75JePIk6dZK+P6Ioun7\/8AQH1tQ6hqKmSql4nPjGw5nH\/UVM\/XP\/B6z3LdogAadbgc5XZVhUpyjieRTw9Or0UWp28isfWa7T7Uunpx04pOLAPuWOy1dcj+slgt0Z5hm7sfHf1CtCrt7vsr6g2e0Ay1snsvkbyiHXfv+XmuRd3kidSGGN6k2+5ZX+RW6izNr7wLfSVc9bUtP+01Up9loGxwOe3mr\/R0kNBSR0tOzhijGGhRNDDbNJW3gqKljZH+1I4\/aefAc8KLqtVV1yJjtUTKWHODVVLg0D37D4lSlinktCql0fD3lLtPZZ+RsrKunoNdmpqpRFE2l+0fLp3rbLqW4XQmKwW6R43BqJhho8unvPoomIaepJjUXW4PulVzIaHOb7zz9\/opSPVFZURhlosMzmDAa5ww0egGPiuuOmRXCpqnK13eyzf4NFXpuRtuqbjfK6Sqniic5jA48LTjYe\/HLAXXonsINPvlc5rOKZxe5xxyA6+Sh9QVGpJKOOO4CGGKpeGCCPGXHmMnfG+Oq82TTlLPeau3XCR5fS+01sbsB46nl4jr1XWrw6zIRlhrro492fNloqtVWak2dWtldjOIQX59Rt8VH\/W6prdrVZqifJwHvGGg+ONu7qpek0\/aaLhMFDFxNOQ544nA+ZypAAAYAwAqrwWiN+CvLtSS8F7lY7LV9wzxy09vjdzDcF2PTJ+IWW6LbUP7S53Sqq3478Y9+VZ0XOke2R3+LB9u78WRlNpyz0mDFQRE97\/bPxypINDRhoAHcFlFFtvUvjCMcoqwXHdrgy12yasfgljfZafvOPIe9diqDydW6gaxpzbKE8XFg4ldtkevy81KKu89CqvUcI2j2np+9xHBk9FpwyHidcL5JgcuIsJ\/+2f+oK6Wm3stdsho2YJY32nD7zjzPvUJTUtRcdYTVE9O6Kmt7ezga4EAnoR39T5YVnUqktijhaSTcuWS+782FCapbWz21tHQwvkdUyCN7gMhrfHuHiptFWnZ3NdSGOLjfU56Ciit9DDSQ\/Yibw57z1PqcldCIuEkklZBERDoREQHiWVkMT5ZHBrGNLnOPQDmVWtJwvrqutvs5y+oeWRg8w0f0B6LfrGskitjKGBvFNXPEbR1xtnHwHqpi3UbLfb4KSMACJgG3U9T6nJVmkfEyv4ldLaPq\/wdKIirNQWHNDmlrgCCMEHqsogKdZ7mzTNVV2q6OdHE1\/HDLwEgg+Q6\/mpR+srG3lVOft0id+IUvUUtNVM4KmnimaDnEjA4Z9fM+9amWm2xnLLfStP\/AKYWj8FY5RebRkjSrQWGDVu9Z+pXpbtd9Ql9NZ6d1LSnLX1MoIPjg9PTJ8lIU+nP0dZ5qe3z8FbKBxVTtiTn1wOamw0NGGgAdwWVxz2RKNBXxTd36eHIpDNBVc0hfV3FmScktaXk+pwpOn0PbI3B9TJPUu68T+EH3b\/FWRF11ZvcjHg6Ef6nDS2a2URBp6GFjhydw5d7zuu5EUG29TTGKirJWKtdP94a3t1JzZSN7V3g7n+DV71NTTUFbBqClzmAhk7B95mf549y6rVa6uLUNyuVW1rRKeCEg5JZ+GwapqSNksbo5GhzHgtc0jYg8wrHKzVjJGi5xk3k27ry0NVHVwV9LHU07w+OQZB\/A+K3qnyUlbpGskqqNrqi1v8Aakizuz+3f3c+9WK2Xmhu0IkpZgXdY3EB7fMKMo2zWhbSrYngnlL90O5ERQNARcdddqC3RufU1MbC0fYzlx8hzVddV3jVQMVHGaC3k4fM4+08dw7\/ACG3eVNRbz2KKleMHhWb5I3Xa8VN2qjZ7J7edp6gHDWDqAR8\/cpu1WyC00DKWAbD2nuPNzupS12qltFIKembtzc8\/aee8rtSUlotDlKnK+Ofa9O5BERQNAREQBERAEREAREQFZ+izXLW7p5opG01AwCMuHsudjIx6nPoPJWZEUnK5XTpqF+93CIiiWBERAEREAREQBERAEREAREQBQdfpG017i\/s3QPJLi6EgZJ8CpxF1NrQhOnCorSVysfVKtj9mn1FWRNznHtfg4IdJVso4KnUVZLGTu32t\/e4qzopdJIp\/iUeX1fuQVDo+0UR4nRPqHf+87I9w296nGtDWhrQAAMADosoouTepbCnCmrRVgiIuFgREQBERAEREAREQBERAf\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:21",
    "ubicacionGPS": "LatLng(lat: -23.1005977, lng: -70.4525031)",
    "horaLlegada": "10:59",
    "horaDespacho": "10:31",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


14/05/2026 11:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[14/05/2026 11:21: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('69020400', 'TO3122', 1, 21773342, 7208, NOW(), 
				'10:31', '10:59', '11:21', 3, 'Mantenimiento, ajustes y
Limpieza general', -1, 
				'', '','1','9399',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778772110.png', '', null, 'COMPLETADO','LatLng(lat: -23.1005977, lng: -70.4525031)' )
				
[14/05/2026 11:21:50] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200307

14/05/2026 11:21:50 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200307'                    
				WHERE idllamado = 12585			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


14/05/2026 11:21:50 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12585			
				
14/05/2026 11:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


14/05/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 = 12585
                

14/05/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 = 12585
                

14/05/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 = 12585
                

14/05/2026 11:21:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

14/05/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 = 12585
                

14/05/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 = 12585
                

14/05/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 = 12585
                

14/05/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 = 12585
                

14/05/2026 11:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

14/05/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 = 12585
                

[14/05/2026 11:21: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;
                

[14/05/2026 11:21: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;
                

14/05/2026 11:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

14/05/2026 11:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

[14/05/2026 11:21: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;
                

14/05/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 = 12585
                

14/05/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 = 12585
                

14/05/2026 11:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

14/05/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 = 12585
                

14/05/2026 11:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

[14/05/2026 11:21: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;
                

14/05/2026 11:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12585
            GROUP BY l.idllamado;
            

14/05/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 = 12585
                

14/05/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 = 12585
                

14/05/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 = 12585
                

14/05/2026 11:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                

14/05/2026 11:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12585
                
[14/05/2026 11:23:40] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[14/05/2026 11:23:40] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

[14/05/2026 11:23: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;
                
[14/05/2026 11:23:47] 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;
                
[14/05/2026 11:23: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

[14/05/2026 11:24: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;
                

14/05/2026 11:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

[14/05/2026 11:24:14] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 11:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 11:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 11:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

[14/05/2026 11:24:14] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 11:24:14] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 11:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 11:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 11:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

[14/05/2026 11:24:14] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 11:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 11:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                
[14/05/2026 11:50:09] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' 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;
				
[14/05/2026 11:50:09] 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;
                

[14/05/2026 11:50: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;
                

[14/05/2026 11:50: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;
                

14/05/2026 11:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 11:50:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 11:50:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

[14/05/2026 11:50: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;
                

14/05/2026 11:50:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:50:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 11:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 11:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 11:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 11:51:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 11:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11: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 = 12581
                

14/05/2026 11: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 = 12581
                

14/05/2026 11: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 = 12581
                

14/05/2026 11: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 = 12581
                

14/05/2026 11:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 11:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 11:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 11:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/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 = 12581
                

14/05/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 = 12581
                

14/05/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 = 12581
                

14/05/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 = 12581
                

[14/05/2026 11:54:49] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 11:54:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

[14/05/2026 11:54: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;
                

[14/05/2026 11:54:54] 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;
                

14/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

[14/05/2026 11:54: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;
                

14/05/2026 11:54:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

[14/05/2026 11:54:58] 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;
                

[14/05/2026 11:55: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;
                

14/05/2026 11:55:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 11:55: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;
                

[14/05/2026 11:55: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;
                

14/05/2026 11:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12577
            GROUP BY l.idllamado;
            

[14/05/2026 11:55:09] 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;
                

14/05/2026 11:55:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12577
            GROUP BY l.idllamado;
            

[14/05/2026 11:55:13] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 11:55:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12577
            GROUP BY l.idllamado;
            

14/05/2026 11:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:55:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12577
            GROUP BY l.idllamado;
            

14/05/2026 11:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:55:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12577
            GROUP BY l.idllamado;
            

14/05/2026 11:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:55:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12577
            GROUP BY l.idllamado;
            

14/05/2026 11:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12577
            GROUP BY l.idllamado;
            

14/05/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 = 12577
                

14/05/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 = 12577
                

14/05/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 = 12577
                

14/05/2026 11:55:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12577
            GROUP BY l.idllamado;
            

14/05/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 = 12577
                

14/05/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 = 12577
                

14/05/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 = 12577
                

14/05/2026 11:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12577
            GROUP BY l.idllamado;
            

14/05/2026 11: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 = 12577
                

14/05/2026 11: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 = 12577
                

14/05/2026 11: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 = 12577
                

14/05/2026 11: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 = 12577
                

14/05/2026 11:55:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12577
            GROUP BY l.idllamado;
            

14/05/2026 11: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 = 12577
                

14/05/2026 11: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 = 12577
                

14/05/2026 11:55:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12577
            GROUP BY l.idllamado;
            

14/05/2026 11: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 = 12577
                

14/05/2026 11: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 = 12577
                

14/05/2026 11:55:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:55:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11: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 = 12577
                

14/05/2026 11: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 = 12577
                

14/05/2026 11:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:56:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12577
            GROUP BY l.idllamado;
            

14/05/2026 11:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/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 = 12577
                

14/05/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 = 12577
                

14/05/2026 11:56:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12577
            GROUP BY l.idllamado;
            

14/05/2026 11:56:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:56:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:56:43 - logentry: =========================================
FECHA: 14/05/2026 11:56:43
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-e_4cu7max-SDNKX71TVcDk6BBuS26OzFU_iw-pFmpZf80G8XGYL
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "TO2162",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "570536",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "limpieza de unidad ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12577",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABoALgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xAA5EAABAwMCBAIJAQYHAAAAAAABAAIDBAURBiESMUFRYXETFCKBkaGxwdEVIzJCcuHxJDNSU2KS8P\/EABgBAQADAQAAAAAAAAAAAAAAAAABAgME\/8QALhEAAgEDAgQEBQUBAAAAAAAAAAECAxExEiEEIkFREzKBoUJhseHwFCMzccHR\/9oADAMBAAIRAxEAPwD9mREQBERAEREAXjnBrS5xAAGST0VJddVUdvf6vTg1lWTgRRdD4n7DdQI7Ve9QESXeoNHSk5FLFsXDx7e\/PkFdQ2u9jnlxCvpgtT\/Ms73PVkfG6is8b6yrcCGujHE1p7jvj4KPDSawrI+OetjpcDZmG5d\/1H3WioLZR22L0dHTsiHUgbu8zzK7TSsp4JJpDhkbS5x8AMqdSW0UU8GcuapL0WyKvTV1lu1tdJUACaKQsfgc+v3Vws1odrjaZ6h2czTuIz2wPvlaVRNJSdjTh5OVKLkERFQ3CIiAIiIAiIgCIiAIiIAiIgCLxzg1pc4gADJJ6LN12ppquoNBYIfWp+s2PYYO\/wDU7eatGLlgzqVY01zFvc7zQ2iLjq5sOIy2Nu7neQVBm+aoJA4rbbj3HtSD6n5DzUy16Vjhn9dukvr1Y45Jdu1p8M8\/\/bLQq11HGTDRUrfybLt\/1ldarHQWePFNF+0Iw6V27nfjyCsURUbb3Z0xjGCtFWQVBrC4NprQ6kYc1FWRGxgO+M7n7e9Xc00dPC+aZ4ZGwZc5x2AWXsUcl+vkl\/qGcMEX7OnjJzggc\/mfefBWgvifQw4iTaVOOZfTqzQWmj\/T7VTUmMOjjAd\/NzPzJUxEVW77nRGKikkERFBIREQBERAEREAREQBERAFCud2o7TTmarl4f9LBu53kFAvl7q6OoZb7dRPnq5m8TXFvsgd\/FcLZpc+sev3qX12rdya7djPz9FdRSV5HNOrJy0U1v36IhiC7atcJJ3OoLYd2sB9qQffzO3mtLQW6ktlOIKSERt6nq49yeqlIolJvboWp0VB6nvLv+YCIiqbhEVPqK9i0UQEOH1cx4Yo+Z88KUm3ZFJzjCLlLBW3+omvd1j0\/RuIjaQ6reMYDcg\/L64WlpqeOkpoqaFvDHE0NaPAKs07ZBaKImbD6uY8UsnM+WVcK0msLBlRhLepPL9l2CIiodAREQBERAEREAREQBERAEREB5gZzjdeoiAIiIAiLxzg1pc4gADJJ6IDjWVkFBSSVVS\/gjjGSfsFnbDST3m5O1BXggAltLGRsG77\/AD28clRyZdaXMsHFHaqR2cjYyu\/OPgD4rXsY2ONsbGhrWgBoHQLR8it1OOP789XwrHzff0PpERZnYEReBwJIBBI5jsgPUREAREQBEXOaVsEL5n54WNLjwgk4HgEGDoij0VbBcKVlVTP44n5wcY5HCkIQmmroIiISEREAREQBERAFlb7WT3yv\/QLa4gNdmqmHJoHMe7r47KVqS9y0rorbbvarqk4GN\/Rg9fP+6mWOyQ2WlLGn0k8m8sp\/iP4WkeVamclRutLwo46v\/CZRUVPb6VlNTRhkbBsO\/ifFSEVNdtTUVscYI81NXnDYI99+xPTy5qiTkzeUoUo3eyLaWWOCJ0sz2xxsGXOccABZur1c6omNLY6R9ZN\/uFp4R44\/OFzisl01BI2pvkzoIM5bSR7fHt78nyWkpKOmoYRDSwMhYOjRjPn3V+WOd2YXq1fLyr3+xnWafvVyw+73aRjSN4YDj442+RSbRkVHTumtdXUsqo\/abxPBDyNwDgBalE8SRP6SlbdXffqVGmrq+72hk0pzMwlkh23I64HLOVbrMaPw2ou8TdmMqjgdBuR9lp1E1aTsX4eTlSTeQiIqG4Xy5rXsLHtDmuGCCMghfSIDIRl+kL06N4c61VZLg4An0R\/p9MdldDU9kczjFwjxjO4IPwxlWUsMU8Topo2SRu5se0EH3FQHadsz3Fxt0GT2bgfALTVGXmORUqtPam1b59CM\/V9jZt67xH\/jE8\/ZRZNd2lmeBlTIemGAfUq4js1ri\/ct1KPH0TfwpTIYov8ALjYz+VoCi8OxbTxDzJL0+5R2\/VIuNbHTxW2qDHnBlLdm7dUV+iq2nhGtOMormd\/YIiKDQKtvl5istAZ3gPkceGKPP7x\/AUyrqoqKlkqZyRHE3icQMrN2Shmvtb+uXPJY13+FhIwGgdcK8UsvBz1qkk1CHmft8yXpqzS0wkuVwHFXVJ4jxc4wengf7K5qqunooHT1MrYo283OKqLnqqko5DTUbTXVR2DIfaAPiR9AodNp2uu1Q2t1DNnG7KVh9lvnjl7virNX5pGUZqC8Oirv29Wc5btdNSSOprNG6mpBtJUv2JHh28hv5K4tGnaG0ND2N9LUfxTvHte7srKKKOCJsULGxxsGGtaMABfaq57WWDWFCz1zd5fT+giIqHQFHr62K30M1XN+5E3ix3PQe84CkLH65uUYdT20vdwuIkn4QCQ3O2PHn8u6tCOqVjDiKvhU3In6LpXxWh9VKSX1cpk3GNuXLzz8loVQ6cmutVxT1MLKah9G1tNABu0Dke+Md1fKZ+ZjhrKkkgiIqG4REQBERAEREAREQBERAZzWlNW1dugjpYZJWCXMjY+fYePMqNFa9QXWJsNXUNt1E0cLYIRvwjYDvjzPuRFoptROOVCM6rbbwi8tlkoLRGG0sI48YMrt3u9\/4VgiKjbeTqjGMVaKsgiIoLBERAFFnt1HVVLKiemZJLGMNc4ZwERL2IaTySkREJCIiAIiIAiIgCIiAIiID\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "STIVEN VALDERRAMA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I650\",\"id_control\":\"28681\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:56",
    "ubicacionGPS": "LatLng(lat: -22.0850134, lng: -70.195776)",
    "horaLlegada": "10:49",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 14/05/2026 11:56:43
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-e_4cu7max-SDNKX71TVcDk6BBuS26OzFU_iw-pFmpZf80G8XGYL
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "TO2162",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "570536",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "limpieza de unidad ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12577",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABoALgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xAA5EAABAwMCBAIJAQYHAAAAAAABAAIDBAURBiESMUFRYXETFCKBkaGxwdEVIzJCcuHxJDNSU2KS8P\/EABgBAQADAQAAAAAAAAAAAAAAAAABAgME\/8QALhEAAgEDAgQEBQUBAAAAAAAAAAECAxExEiEEIkFREzKBoUJhseHwFCMzccHR\/9oADAMBAAIRAxEAPwD9mREQBERAEREAXjnBrS5xAAGST0VJddVUdvf6vTg1lWTgRRdD4n7DdQI7Ve9QESXeoNHSk5FLFsXDx7e\/PkFdQ2u9jnlxCvpgtT\/Ms73PVkfG6is8b6yrcCGujHE1p7jvj4KPDSawrI+OetjpcDZmG5d\/1H3WioLZR22L0dHTsiHUgbu8zzK7TSsp4JJpDhkbS5x8AMqdSW0UU8GcuapL0WyKvTV1lu1tdJUACaKQsfgc+v3Vws1odrjaZ6h2czTuIz2wPvlaVRNJSdjTh5OVKLkERFQ3CIiAIiIAiIgCIiAIiIAiIgCLxzg1pc4gADJJ6LN12ppquoNBYIfWp+s2PYYO\/wDU7eatGLlgzqVY01zFvc7zQ2iLjq5sOIy2Nu7neQVBm+aoJA4rbbj3HtSD6n5DzUy16Vjhn9dukvr1Y45Jdu1p8M8\/\/bLQq11HGTDRUrfybLt\/1ldarHQWePFNF+0Iw6V27nfjyCsURUbb3Z0xjGCtFWQVBrC4NprQ6kYc1FWRGxgO+M7n7e9Xc00dPC+aZ4ZGwZc5x2AWXsUcl+vkl\/qGcMEX7OnjJzggc\/mfefBWgvifQw4iTaVOOZfTqzQWmj\/T7VTUmMOjjAd\/NzPzJUxEVW77nRGKikkERFBIREQBERAEREAREQBERAFCud2o7TTmarl4f9LBu53kFAvl7q6OoZb7dRPnq5m8TXFvsgd\/FcLZpc+sev3qX12rdya7djPz9FdRSV5HNOrJy0U1v36IhiC7atcJJ3OoLYd2sB9qQffzO3mtLQW6ktlOIKSERt6nq49yeqlIolJvboWp0VB6nvLv+YCIiqbhEVPqK9i0UQEOH1cx4Yo+Z88KUm3ZFJzjCLlLBW3+omvd1j0\/RuIjaQ6reMYDcg\/L64WlpqeOkpoqaFvDHE0NaPAKs07ZBaKImbD6uY8UsnM+WVcK0msLBlRhLepPL9l2CIiodAREQBERAEREAREQBERAEREB5gZzjdeoiAIiIAiLxzg1pc4gADJJ6IDjWVkFBSSVVS\/gjjGSfsFnbDST3m5O1BXggAltLGRsG77\/AD28clRyZdaXMsHFHaqR2cjYyu\/OPgD4rXsY2ONsbGhrWgBoHQLR8it1OOP789XwrHzff0PpERZnYEReBwJIBBI5jsgPUREAREQBEXOaVsEL5n54WNLjwgk4HgEGDoij0VbBcKVlVTP44n5wcY5HCkIQmmroIiISEREAREQBERAFlb7WT3yv\/QLa4gNdmqmHJoHMe7r47KVqS9y0rorbbvarqk4GN\/Rg9fP+6mWOyQ2WlLGn0k8m8sp\/iP4WkeVamclRutLwo46v\/CZRUVPb6VlNTRhkbBsO\/ifFSEVNdtTUVscYI81NXnDYI99+xPTy5qiTkzeUoUo3eyLaWWOCJ0sz2xxsGXOccABZur1c6omNLY6R9ZN\/uFp4R44\/OFzisl01BI2pvkzoIM5bSR7fHt78nyWkpKOmoYRDSwMhYOjRjPn3V+WOd2YXq1fLyr3+xnWafvVyw+73aRjSN4YDj442+RSbRkVHTumtdXUsqo\/abxPBDyNwDgBalE8SRP6SlbdXffqVGmrq+72hk0pzMwlkh23I64HLOVbrMaPw2ou8TdmMqjgdBuR9lp1E1aTsX4eTlSTeQiIqG4Xy5rXsLHtDmuGCCMghfSIDIRl+kL06N4c61VZLg4An0R\/p9MdldDU9kczjFwjxjO4IPwxlWUsMU8Topo2SRu5se0EH3FQHadsz3Fxt0GT2bgfALTVGXmORUqtPam1b59CM\/V9jZt67xH\/jE8\/ZRZNd2lmeBlTIemGAfUq4js1ri\/ct1KPH0TfwpTIYov8ALjYz+VoCi8OxbTxDzJL0+5R2\/VIuNbHTxW2qDHnBlLdm7dUV+iq2nhGtOMormd\/YIiKDQKtvl5istAZ3gPkceGKPP7x\/AUyrqoqKlkqZyRHE3icQMrN2Shmvtb+uXPJY13+FhIwGgdcK8UsvBz1qkk1CHmft8yXpqzS0wkuVwHFXVJ4jxc4wengf7K5qqunooHT1MrYo283OKqLnqqko5DTUbTXVR2DIfaAPiR9AodNp2uu1Q2t1DNnG7KVh9lvnjl7virNX5pGUZqC8Oirv29Wc5btdNSSOprNG6mpBtJUv2JHh28hv5K4tGnaG0ND2N9LUfxTvHte7srKKKOCJsULGxxsGGtaMABfaq57WWDWFCz1zd5fT+giIqHQFHr62K30M1XN+5E3ix3PQe84CkLH65uUYdT20vdwuIkn4QCQ3O2PHn8u6tCOqVjDiKvhU3In6LpXxWh9VKSX1cpk3GNuXLzz8loVQ6cmutVxT1MLKah9G1tNABu0Dke+Md1fKZ+ZjhrKkkgiIqG4REQBERAEREAREQBERAZzWlNW1dugjpYZJWCXMjY+fYePMqNFa9QXWJsNXUNt1E0cLYIRvwjYDvjzPuRFoptROOVCM6rbbwi8tlkoLRGG0sI48YMrt3u9\/4VgiKjbeTqjGMVaKsgiIoLBERAFFnt1HVVLKiemZJLGMNc4ZwERL2IaTySkREJCIiAIiIAiIgCIiAIiID\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "STIVEN VALDERRAMA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I650\",\"id_control\":\"28681\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:56",
    "ubicacionGPS": "LatLng(lat: -22.0850134, lng: -70.195776)",
    "horaLlegada": "10:49",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


14/05/2026 11:56:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[14/05/2026 11:56: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', 'TO2162', 2, 27729424, 570536, NOW(), 
				'08:00', '10:49', '11:56', 4, 'limpieza de unidad ', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778774203.png', '', null, 'COMPLETADO','LatLng(lat: -22.0850134, lng: -70.195776)' )
				
[14/05/2026 11:56:43] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200308
[14/05/2026 11:56:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200308', 'TOS-I650', 1)
				
[14/05/2026 11:56:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28681 and
				    IDproducto = 'TOS-I650'
				

14/05/2026 11:56:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I650';
                
14/05/2026 11:56:43 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200308'                    
				WHERE idllamado = 12577			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


14/05/2026 11:56:44 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12577			
				
14/05/2026 11:56:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


14/05/2026 11:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:56:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12577
            GROUP BY l.idllamado;
            

14/05/2026 11:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

[14/05/2026 11:56: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;
                

14/05/2026 11:56:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12577
            GROUP BY l.idllamado;
            

[14/05/2026 11:56: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;
                

14/05/2026 11:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:56:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12577
            GROUP BY l.idllamado;
            

14/05/2026 11:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12577
                

14/05/2026 11: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 = 12577
                

14/05/2026 11: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 = 12577
                

[14/05/2026 11:57:51] 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;
                

14/05/2026 11:59:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

[14/05/2026 11:59: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;
                

14/05/2026 11:59:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

[14/05/2026 11:59: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;
                

14/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 11:59:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

[14/05/2026 11:59: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;
                

14/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 11:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 11:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 11: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 = 12586
                

[14/05/2026 11:59:07] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 11:59:07] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 11:59:07] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 11:59:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

14/05/2026 11:59:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

14/05/2026 11: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 = 12586
                

14/05/2026 11: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 = 12586
                

14/05/2026 11: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 = 12586
                

14/05/2026 11:59:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 11:59:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 11:59:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 11: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 = 12580
                

[14/05/2026 11:59: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;
                

[14/05/2026 11:59: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;
                

[14/05/2026 11:59: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;
                

14/05/2026 11: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 = 12580
                

14/05/2026 11: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 = 12580
                

14/05/2026 11: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 = 12580
                

[14/05/2026 11:59:12] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 11:59:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 11: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 = 12580
                

14/05/2026 11:59:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 11:59:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 11:59:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

[14/05/2026 11:59:12] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 11: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 = 12580
                

14/05/2026 11: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 = 12580
                

14/05/2026 11: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 = 12580
                

14/05/2026 11: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 = 12580
                

14/05/2026 11: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 = 12580
                

14/05/2026 11:59:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 11: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 = 12587
                

[14/05/2026 11:59: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;
                

14/05/2026 11:59:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

[14/05/2026 11:59: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;
                

14/05/2026 11:59:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 11:59:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 11: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 = 12587
                

14/05/2026 11:59:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 11: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 = 12587
                

14/05/2026 11:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

[14/05/2026 11:59: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;
                

14/05/2026 11:59:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 11:59:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 11:59:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 11:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

[14/05/2026 11:59: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;
                

14/05/2026 11:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:59:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 11:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 11:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11: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 = 12587
                

14/05/2026 11: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 = 12587
                

14/05/2026 11: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 = 12580
                

14/05/2026 11: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 = 12580
                

14/05/2026 11:59:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 11:59:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 11:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 11:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 11:59:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:59:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:59:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 11:59:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:59:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:59:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:59:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:59:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 11:59:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 11:59:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11: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 = 12580
                

14/05/2026 11: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 = 12580
                

14/05/2026 11: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 = 12580
                

14/05/2026 11:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 11:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 11:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 11:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:59:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 11:59:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11:59:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 11: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 = 12587
                

14/05/2026 11:59:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 11: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 = 12587
                

14/05/2026 11: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 = 12587
                

14/05/2026 11: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 = 12587
                

14/05/2026 12:00:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:00:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 12:00:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:00:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 12:00:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:00:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:00:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:00:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12: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 = 12581
                

14/05/2026 12: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 = 12581
                

14/05/2026 12: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 = 12581
                

14/05/2026 12: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 = 12581
                

14/05/2026 12:00:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12581
                

14/05/2026 12: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 = 12581
                

14/05/2026 12: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 = 12581
                

14/05/2026 12: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 = 12581
                

14/05/2026 12: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 = 12581
                

14/05/2026 12: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 = 12581
                

14/05/2026 12:00:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/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 = 12580
                

14/05/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 = 12580
                

14/05/2026 12:00:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 12:00:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/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 = 12581
                

14/05/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 = 12581
                

14/05/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 = 12581
                

14/05/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 = 12581
                

14/05/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 = 12581
                

14/05/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 = 12580
                

14/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/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 = 12581
                

14/05/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 = 12580
                

14/05/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 = 12580
                

14/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/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 = 12580
                

14/05/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 = 12580
                

14/05/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 = 12580
                

14/05/2026 12:00:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 12:00:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 12:00:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/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 = 12580
                

14/05/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 = 12580
                

14/05/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 = 12580
                

14/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/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 = 12580
                

14/05/2026 12:00:27 - logentry: =========================================
FECHA: 14/05/2026 12:00:27
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Q0H3PSFxIyvVvTlOR53LObd6yrGQMIpUvihBtFYHYeOQpOa+Rck
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2554",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "37114",
    "contadorColor": "12556",
    "contadorScanner": "0",
    "detalle": "atasco bandeja posterior \nse hace limpieza ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12580",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACNAMADASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABEEAABAwMCAgUIBQgLAQAAAAABAAIDBAURBiESMUFRYYGRExQiMnGhwdEjM7HC4RU1NkJDUnLxBxYkJTRzdJKy0vBU\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALREAAgECAwYFBQEBAAAAAAAAAAECAxESITEEMkFRcaETIjNh0RQjgZGxUkL\/2gAMAwEAAhEDEQA\/AP2ZERAEXl5cGOLAC7B4Qekrm6fu5vNvdUPjEcjJCx7B0EfzXbO1yDmlJRerOoiIuEwi+EgDJOAFMV9+q7tVG2af3d+1qj6rR2H48+pSjFsqqVY01nry5nYuN8t1qafOqloeBnyTTl57vmuKzUl6uZ\/umzERnlLOfRI9w95W\/bNLUFDiWdgq6o7ullGd+sD4812gABgDACleK0VyrDWqZyeFclr+yY\/JurZwHS3aCHPNrBy8Gr6Ldq2mOYrrBUNHNrxgu8W\/FU6LmN8kd+mj\/p\/tkzSapnpJxSX6kNJJgYlHqu3A\/wDEEqla4OaHNIIIyCOlYK2hp7jSupqqMSRu6+YPWOoqctlTUacuws1dKX0k29LM7o6OH8OjvXbKSy1IqU6LSm7xfHl1+SrREVZrCIiAIiIAiIgCIiAIiIApW0E2zWVfQO+rqx5Zmx58\/i7wVUpjU+KK9Wi5tABbL5KRx5cP8i5WQzuuZl2nJRqcn20ZToinNTXCqlmistsJ86qBmRw\/UZ2no+XtUYq7sXVaipxxM1btX1eobg+y2p3DTsOKmoHLtHs+32KhtlsprTRtpqZmGjdzjzeesrzabVT2iibTU7d+b343eesreXZS4LQrpUmn4k959vZBERQNAREQBcfVFt\/KVkmYxgdNEPKR9eRzA9oyuwi6nZ3ITgpxcXxObp+4m6WaCpeQZMcMn8Q29\/PvXSUvpPFJc7vbRgNim4o29mSPby4VUKU1aWRXs83Omm9fgIiKBeEREAREQBERAEREAU3rqMPsLXcOSydpz1bEfFUintbfo6\/\/ADWKdPeRn2r0ZdDq1FfFRWl1dKcsjiD+1xxsO84HeuNpKikmbNe6xodU1biWHhxwt6x1Z+wBa9\/kfXR2mxw+tUhkknWGgfzPcqqKJkMTIo2hrGNDWtHQByC6\/LHqQj92rd6R\/r+Ee0RFWawiIgCIiAIiICYg\/s\/9IVQ3kKmnBHbgD\/qVTqYuH0Wv7c8ftIC0juf+HgqdTnw6GbZ8sa938hERQNIREQBERAEWhXXy2W7IqqyNrxzYDxO8BuuZSas\/KNfFBQ2yolic8B8ztgwHp2z9qkoSauUyr04vC3mUSIiiXBT2tv0df\/msVCpzXMnk7A0A4Lp2geBPwU6e8jPtXoy6GnaQK3WZl5to6RrQcdPCB953gq9SmkmA3q8OJ3je2Mb52y4fdVWu1NbENk9PFzb\/AKERFWawiIgCIiAIiICY1D9HqiySfvPLd+XMfNU6mNU\/nzT\/APqfvMVOpy3UZqPq1F7r+IIi59zvdBaIy6qmHHjIibu93d81FJvJF8pRirydkdBaVfd7fbG5q6pkZ6GZy49w3XCbWakvwPmkTbbSOG0rx6ZHZ8wB7Vt27SNBSSeXqnOrqgnJfMNs+z55U8KW8zP406npRy5vT5NV2qLjcncFktbpGk48tMPRHwHijbFfrmAbrdjDGecUHT1g4wPtVQAAMAYAX1MdtEPp3L1JN9l2OLRaSs9Fwu828vI39eU8WT7OXuXYYxkbAyNoY1owGtGAF6RQcm9S+FOEFaKsERFwmFMa1+lht9Nn62qHb2cunmqdS+ofp9VWSnyfQf5Tb2g\/dU6e8Ztq9JrnZdz7p4mn1ReqRxwXvErRnO2T8HBU6lL04WnV9Bci7giqQY5SXbdWT3EHuXRn1bZIDjzzjO\/1bCfgpSi5WaK6NSFNShN2s33zO0im366tDRs2pf7Ix8SvH9frV\/8APWf7G\/8AZR8OfIs+rof6RTop2PXFnf6xnj\/ij+RK3afU1mqR6Fwib2SHg\/5YXHCS4E47RSlpJHVRYo6mCb6qaOT+FwKyqJanfQIi8veyNhfI4Ma0ZLnHACHSa1T+fNP\/AOp+8xUFXWU1DCZqqdkLB0uOM+zrUZfbs+6agoxZgap9LkjDTwl2d+7Yb8l06XSktZP55f6l1VMeUTXHgaOr8Bge1XOKwrEedCrJ1J+Er3az4aHia\/XS9yup7DTFkOeF1XKMAdo6veexbts0rSUknnNY411W7d0k3pAHsB+0rtRRRwxtjijbGxow1rRgDuXtQc+EcjRGhd4qju+y6IIiKBpCIiAIiIAiLFU1EdJTS1MzuGOJpc49gQ43ZXZ8qquCip31FTKI4mDLnFQ5q67UOqHVVn+iMUXC2SXYMbyJ6f3jtuujQ09RqytFxrmujt0RIggz9Z0HPx8Fk0axs1TdK9rWhks\/BGGjAAGTgdxHgr0lBN8TzqkpV5wWkW\/y7cT47Rbqqne+vuU9RWFpDXF2WNPRz3I8Fg0xPbYnG03Cigir4nloc+Np8p1b9asVzbxY6O9QhlQ0tkb6krPWb8x2KKnfKRbLZlBqdJZrnxN9sMTMcEbG45YaBhe1Kti1VZRwxmK507QA0HZwHuP2r2dZ+Qc5tbaKuAtOHY9LHjhcwN6Zk1tMI76ceqKKSlp5frII35\/eYCtGo03ZqkkyW+EE8+AFn\/HC5Z11RPw2moquaQ8m8IG\/cSg1FfKr\/Caekb1OlJx7wF1QmvYjKvs8stfxcySaGs7\/AFfOI\/4ZPmCtWo0xQ24Am\/T0jegPkA7OxZDbtVXPHndwjoYzzZDzHhz\/ANyz02irax\/lat81ZId3GR+AT17b+9SxNayKXSU9ylbrl\/MyYfPcZKwU1nu9xryOkcTWgd7j4kBduHSdyuETTebrM4ZB8i15djvO2e4qpp6aClj4KeFkTepowsqi6r4E6exRW+7+2djRtdnorRD5Olj3xh0jt3O9pW8iKttvNm2MVFWisgiIuEgiIgCIiAIiIApO8ySajvDbJSv4aaA8dTKBycMjH\/un2LtX+5i1WiWpBAkOGRjrcfwye5YNM2ptttbHv3qakCSZ+ckk7gd2ftVkfKsRlrfcmqS01fTl+TYuckVqsFQ6FrY2QwlsbRsATsPeQtXSFMabTlPxDDpSZD3nb3YWrrWZ7qCmt8X1lZMGgb7gfiWqhghbT08cLPVjYGjbGwGEeUOoj5q7t\/yrfsyIiKs1BERAfAAOQwvqIgCIiAIiIAiIgCIiAIiIAiIgCIiAl9QBtx1NbLU9vFG36aQdBG+x7m+\/wqFL20eda7uM7+UEQY0Z5chn3HxXcu1wZa7ZNWPwSxvotP6zjyHirJLSKMlGS89R83+lkcKYG6a8jYPSit8XE7A24ufP2keCqVP6Qt8lPb311UM1Na8yOLh6XCeXjz7wqBcm87ciWzJ4XN6yz+OwREUDSEREAREQBERAEREAREQBERAEREAREQBERAS9lcG6uvTnEAAAknoWCTOrNQNY3e2UR4uLhOJTtkd+D3A9a6Vy0tBX10lUyqmpzM0NmZGdpAD079WPBdajo6egpm01LGI42cgPtPWrXJLNamCNCb8kt27fXMzNaGtDWgAAYAHQvqIqjeEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "STIVEN VALDERRAMA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:00",
    "ubicacionGPS": "LatLng(lat: -22.0850894, lng: -70.1957432)",
    "horaLlegada": "10:49",
    "horaDespacho": "11:56",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 14/05/2026 12:00:27
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Q0H3PSFxIyvVvTlOR53LObd6yrGQMIpUvihBtFYHYeOQpOa+Rck
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2554",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "37114",
    "contadorColor": "12556",
    "contadorScanner": "0",
    "detalle": "atasco bandeja posterior \nse hace limpieza ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12580",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACNAMADASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABEEAABAwMCAgUIBQgLAQAAAAABAAIDBAURBiESMUFRYYGRExQiMnGhwdEjM7HC4RU1NkJDUnLxBxYkJTRzdJKy0vBU\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALREAAgECAwYFBQEBAAAAAAAAAAECAxESITEEMkFRcaETIjNh0RQjgZGxUkL\/2gAMAwEAAhEDEQA\/AP2ZERAEXl5cGOLAC7B4Qekrm6fu5vNvdUPjEcjJCx7B0EfzXbO1yDmlJRerOoiIuEwi+EgDJOAFMV9+q7tVG2af3d+1qj6rR2H48+pSjFsqqVY01nry5nYuN8t1qafOqloeBnyTTl57vmuKzUl6uZ\/umzERnlLOfRI9w95W\/bNLUFDiWdgq6o7ullGd+sD4812gABgDACleK0VyrDWqZyeFclr+yY\/JurZwHS3aCHPNrBy8Gr6Ldq2mOYrrBUNHNrxgu8W\/FU6LmN8kd+mj\/p\/tkzSapnpJxSX6kNJJgYlHqu3A\/wDEEqla4OaHNIIIyCOlYK2hp7jSupqqMSRu6+YPWOoqctlTUacuws1dKX0k29LM7o6OH8OjvXbKSy1IqU6LSm7xfHl1+SrREVZrCIiAIiIAiIgCIiAIiIApW0E2zWVfQO+rqx5Zmx58\/i7wVUpjU+KK9Wi5tABbL5KRx5cP8i5WQzuuZl2nJRqcn20ZToinNTXCqlmistsJ86qBmRw\/UZ2no+XtUYq7sXVaipxxM1btX1eobg+y2p3DTsOKmoHLtHs+32KhtlsprTRtpqZmGjdzjzeesrzabVT2iibTU7d+b343eesreXZS4LQrpUmn4k959vZBERQNAREQBcfVFt\/KVkmYxgdNEPKR9eRzA9oyuwi6nZ3ITgpxcXxObp+4m6WaCpeQZMcMn8Q29\/PvXSUvpPFJc7vbRgNim4o29mSPby4VUKU1aWRXs83Omm9fgIiKBeEREAREQBERAEREAU3rqMPsLXcOSydpz1bEfFUintbfo6\/\/ADWKdPeRn2r0ZdDq1FfFRWl1dKcsjiD+1xxsO84HeuNpKikmbNe6xodU1biWHhxwt6x1Z+wBa9\/kfXR2mxw+tUhkknWGgfzPcqqKJkMTIo2hrGNDWtHQByC6\/LHqQj92rd6R\/r+Ee0RFWawiIgCIiAIiICYg\/s\/9IVQ3kKmnBHbgD\/qVTqYuH0Wv7c8ftIC0juf+HgqdTnw6GbZ8sa938hERQNIREQBERAEWhXXy2W7IqqyNrxzYDxO8BuuZSas\/KNfFBQ2yolic8B8ztgwHp2z9qkoSauUyr04vC3mUSIiiXBT2tv0df\/msVCpzXMnk7A0A4Lp2geBPwU6e8jPtXoy6GnaQK3WZl5to6RrQcdPCB953gq9SmkmA3q8OJ3je2Mb52y4fdVWu1NbENk9PFzb\/AKERFWawiIgCIiAIiICY1D9HqiySfvPLd+XMfNU6mNU\/nzT\/APqfvMVOpy3UZqPq1F7r+IIi59zvdBaIy6qmHHjIibu93d81FJvJF8pRirydkdBaVfd7fbG5q6pkZ6GZy49w3XCbWakvwPmkTbbSOG0rx6ZHZ8wB7Vt27SNBSSeXqnOrqgnJfMNs+z55U8KW8zP406npRy5vT5NV2qLjcncFktbpGk48tMPRHwHijbFfrmAbrdjDGecUHT1g4wPtVQAAMAYAX1MdtEPp3L1JN9l2OLRaSs9Fwu828vI39eU8WT7OXuXYYxkbAyNoY1owGtGAF6RQcm9S+FOEFaKsERFwmFMa1+lht9Nn62qHb2cunmqdS+ofp9VWSnyfQf5Tb2g\/dU6e8Ztq9JrnZdz7p4mn1ReqRxwXvErRnO2T8HBU6lL04WnV9Bci7giqQY5SXbdWT3EHuXRn1bZIDjzzjO\/1bCfgpSi5WaK6NSFNShN2s33zO0im366tDRs2pf7Ix8SvH9frV\/8APWf7G\/8AZR8OfIs+rof6RTop2PXFnf6xnj\/ij+RK3afU1mqR6Fwib2SHg\/5YXHCS4E47RSlpJHVRYo6mCb6qaOT+FwKyqJanfQIi8veyNhfI4Ma0ZLnHACHSa1T+fNP\/AOp+8xUFXWU1DCZqqdkLB0uOM+zrUZfbs+6agoxZgap9LkjDTwl2d+7Yb8l06XSktZP55f6l1VMeUTXHgaOr8Bge1XOKwrEedCrJ1J+Er3az4aHia\/XS9yup7DTFkOeF1XKMAdo6veexbts0rSUknnNY411W7d0k3pAHsB+0rtRRRwxtjijbGxow1rRgDuXtQc+EcjRGhd4qju+y6IIiKBpCIiAIiIAiLFU1EdJTS1MzuGOJpc49gQ43ZXZ8qquCip31FTKI4mDLnFQ5q67UOqHVVn+iMUXC2SXYMbyJ6f3jtuujQ09RqytFxrmujt0RIggz9Z0HPx8Fk0axs1TdK9rWhks\/BGGjAAGTgdxHgr0lBN8TzqkpV5wWkW\/y7cT47Rbqqne+vuU9RWFpDXF2WNPRz3I8Fg0xPbYnG03Cigir4nloc+Np8p1b9asVzbxY6O9QhlQ0tkb6krPWb8x2KKnfKRbLZlBqdJZrnxN9sMTMcEbG45YaBhe1Kti1VZRwxmK507QA0HZwHuP2r2dZ+Qc5tbaKuAtOHY9LHjhcwN6Zk1tMI76ceqKKSlp5frII35\/eYCtGo03ZqkkyW+EE8+AFn\/HC5Z11RPw2moquaQ8m8IG\/cSg1FfKr\/Caekb1OlJx7wF1QmvYjKvs8stfxcySaGs7\/AFfOI\/4ZPmCtWo0xQ24Am\/T0jegPkA7OxZDbtVXPHndwjoYzzZDzHhz\/ANyz02irax\/lat81ZId3GR+AT17b+9SxNayKXSU9ylbrl\/MyYfPcZKwU1nu9xryOkcTWgd7j4kBduHSdyuETTebrM4ZB8i15djvO2e4qpp6aClj4KeFkTepowsqi6r4E6exRW+7+2djRtdnorRD5Olj3xh0jt3O9pW8iKttvNm2MVFWisgiIuEgiIgCIiAIiIApO8ySajvDbJSv4aaA8dTKBycMjH\/un2LtX+5i1WiWpBAkOGRjrcfwye5YNM2ptttbHv3qakCSZ+ckk7gd2ftVkfKsRlrfcmqS01fTl+TYuckVqsFQ6FrY2QwlsbRsATsPeQtXSFMabTlPxDDpSZD3nb3YWrrWZ7qCmt8X1lZMGgb7gfiWqhghbT08cLPVjYGjbGwGEeUOoj5q7t\/yrfsyIiKs1BERAfAAOQwvqIgCIiAIiIAiIgCIiAIiIAiIgCIiAl9QBtx1NbLU9vFG36aQdBG+x7m+\/wqFL20eda7uM7+UEQY0Z5chn3HxXcu1wZa7ZNWPwSxvotP6zjyHirJLSKMlGS89R83+lkcKYG6a8jYPSit8XE7A24ufP2keCqVP6Qt8lPb311UM1Na8yOLh6XCeXjz7wqBcm87ciWzJ4XN6yz+OwREUDSEREAREQBERAEREAREQBERAEREAREQBERAS9lcG6uvTnEAAAknoWCTOrNQNY3e2UR4uLhOJTtkd+D3A9a6Vy0tBX10lUyqmpzM0NmZGdpAD079WPBdajo6egpm01LGI42cgPtPWrXJLNamCNCb8kt27fXMzNaGtDWgAAYAHQvqIqjeEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "STIVEN VALDERRAMA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:00",
    "ubicacionGPS": "LatLng(lat: -22.0850894, lng: -70.1957432)",
    "horaLlegada": "10:49",
    "horaDespacho": "11:56",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


14/05/2026 12:00:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[14/05/2026 12:00: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('61980920', 'EP2554', 2, 27729424, 37114, NOW(), 
				'11:56', '10:49', '12:00', 3, 'atasco bandeja posterior 
se hace limpieza ', -1, 
				'', '','1','12556',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778774427.png', '', null, 'COMPLETADO','LatLng(lat: -22.0850894, lng: -70.1957432)' )
				
[14/05/2026 12:00:27] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200309

14/05/2026 12:00:27 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200309'                    
				WHERE idllamado = 12580			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


14/05/2026 12:00:27 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12580			
				
14/05/2026 12:00:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


14/05/2026 12:00:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 12:00:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 12:00:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 12:00:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 12:00:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 12:00:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 12:00:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 12:00:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 12:00:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 12:01:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 12:01:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 12:01:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 12:01:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 12:01:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 12:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 12:01:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 12:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 12:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 12:01:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 12:01:44 - logentry: =========================================
FECHA: 14/05/2026 12:01:44
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-sgFSdAVoA6X3rqyW+.w9l2iII1FOaZWo7CLO+vrgXynemz7D.pm
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76063288",
    "serieinterna": "EP2091",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "55241",
    "contadorColor": "184523",
    "contadorScanner": "0",
    "detalle": "•Al imprimir varias hojas, más de 20, la correa de sincronización del papel y cabezal se desalinea, lo que causa que la impresión se corra y de distorcione",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12581",
    "observacion": "•Recomendable revisión a taller",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADZANkDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABIEAABAwMCAgYHAwgHCAMAAAABAAIDBAURBiESMRNBUWGBkRQiMnGhsdFCwfAHFSMkUnLh8RYzYoKSssIlJjQ1NkNk0kR0ov\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAgMGBAUFAQEAAAAAAAABAgMREiExBCJBUWFxEzKR0SOBobHBFDNC4fBSYv\/aAAwDAQACEQMRAD8A\/syIiAIiIAiLxkrKWIkSVMLC3nxPAwhxtLU9kXlFVU8\/9TPHJ+48H5L1QJp6BERDoREQBERAcV0ulLaaQ1FS8DqY3reewLCgh1PdIxXemMomOPFHT8PMdWevf8YXwSNSat4cB1DbefY92eXZu4eIaq1WeRdTGk68m77q0tx6mRp28\/najcJgGVcLi2aPGCOw4\/G+VrqWrWNsmsaasb6sFwzHIBn2tvv4T5qpXJpariW0JSacZarL+wiIoF4REQBERAEREAREQBEXnNNFTwvmmeGRsGXOcdgEGh9kgDJOAFPXHV0MU5o7ZA6uqc4HBu0Hw5+HmuJ9RcNXzvhpS6ltTTwvkPtSfjs5b79So7da6O1QCGkhDBj1nc3O7yetWWUfNqZMc637eUeft7mCyy367jpLrcXUsbjnoIeeOw4OB8V0x6Js7GgSNmlIGCXSEZ8lQoueJLgSWy0v5K765k5Poe1S5dG6ohfzBbJnfxyuZ77\/AKadxOd+cbc0gEnd7G5x7\/mFWL8IBGCMgrqqPjmHs0NYbr6HLbblTXWjbVUriWE4IOxaew9661JiM6a1RGyEcNBcTjh6mv5Y7sE+RVYoyVtNCdGo5JqWq1CIiiXBctzqvQrZU1Wd4onOb78bfFdSwNavLdOSgcnPYD55+5SirySKq0sFOUlwR+6NpTT2Fkz95Kl7pXE7k9Q38M+K3lzW6NkVtpo2N4WtiaAPALpSTu2xRhgpxj0MTV1F6ZYZXtzx0xEzcd3P4E+S7LLW\/nGz01STlzmAPyftDY\/ELtkjbLG6N4y14LSO0FTWjZHwCvtUmSaSc8JPYSR8xnxUlnDsVPcrp\/8ASt80U6IirNQRF4MraWSpdTMqI3TN5sDhkIcbS1PdERDoREQBERAFIV9TLq24m2ULyyggdxTzDk\/sx8cdvPqWnqy5PoLO6OHJnqj0TMDcZ5ny28V12O1x2i2R0zQOPHFI7G7nH8Y8FZHdWIyVb1Z+EtFr+EdlPTxUlOyngYGRxjDWheqIqzUlbJBERDoREQEzrlhFpgqG+1DUNOezY\/fhUjHiSNr28nAELA1uQNPEHrlaB8Vt0mfQ4OLOejbnPuU35EZoZV59l+T2REUDSFO64z\/R\/YbdM3PxVEsHWcbpNNzFv2HscfdnH3qcPMjPtKvRl2NmmLTSxFvslgx7sL1XJa5mz2qklbsHwsOOzYLrUXqXRd4phS7QaD8oR6mV0G2+2QPqz4qoUvqjNPfLLWDYCbgcRscZHX7iVOnrYo2nKKlya9ioRFgalvU1II7dbvXr6k8IDdywHr9\/81CKcnZFtSpGnHEzmu10q7tXmzWZ2OE\/rNQOTR2Z\/GeXauO72WLTUFHcqB0hfTygTEk\/pATnfHVtjxVDYrNFZKDoGHjkeeKWTHtH6BeeqY2y6brA7qYHD3ggq1StJJaGOdFypyqT81vTsakUjZomSsOWvaHNPcV9rPsMpmsNE9xyTC0HwGFoKpqzsboSxRT5hERcJBERAS92zcdZ26h5x0w6Z2eWef3DzVQpm0Hpda3WVxJcxgYOwDI+gVMrJ8EZtnzxT5t\/TIIiKs0hERAEREBMa2\/TwW+hHtVFSMY57DH+pU6l6gfnXXUMQGYbdHxuI3HFz+Zb5eVQrJZJIzUd6pOfW3oERFWaQuC+RdPY62MYyYXHfuGV3r5ewSRuY7k4EFdTs7kZRxRaMjScgk01SEEnhDmnPc4rZUzoh5ZQVVE\/26aoII9\/8QVTKU1aTKtmd6MewUxrr1LdSTfsVI3HPkT9yp1N67ANgbkcp248ilPzojtf7EjVvN1hs9vfUyEF+MRs\/bd1D6rM0xapWmS8V\/rVlZ6wyP6tp6vHb3DAXDbIptU3UXCr4hRUTgKdhHtntPkM+AVguvdWHiRp\/Gn4j0Wnv7BZOqZBHputcetgb5uA+9ayxdX\/APS9Z\/c\/ztUYeZFtd2pS7P7HRp5jo9P0LXczC13gdx81pLisv\/I6D\/60f+ULtXJaslSVoR7BERcLAiIgJix\/9YXnw+ap1L0BFNr6viccCeEOb1ZOGn6qoVlTUzbN5Wur+4REVZpCIiALxqqmOjpZamU4ZEwuPgvZTOsK2R8dPZqTeorXDiHY3P3n4AqUVd2Kq1Tw4OQ0VTufSVN0mAMtZKTnHUDv8SfJUy8aSmZR0kVNGAGRMDRgdgXsknd3FGn4dNRCIiiWhERATFh\/VtXXqlPOQiX45\/1qnUxP+qflBgdjarp8E89wD\/6hU6nPVMzbNkpR5N+\/5CgtZXo18poabD6ancHSSN637jGe7P4wt3Ul3midHaLf61bV+rkHeNp2z3dfuxlZd\/tEVm0fHTMw6QztdJIB7TsH+SnTSTTZn2ucpxlCGi19itooY6ahghibwsZG0AeC915wf1Ef7o+S9FSz0IqyQWFrOTg01O3HtuY3\/wDQP3LdUzrYulpKKhYAX1NQAMnuxy97gp0\/MijanajLt9zctcZhtNHETksgY3PuaF1L5a1rGBjRhrRgDsC+lBl8VZJBERDoREQEvef1TWdpq84EwMJ79yP9YVQpvW0D\/wA2QVsXt0kwdnsB2+eFv007KqmiqIzlkrA4e4hWSzimZqW7VnHs\/wDeh6oiKs0hERAfL3tjjc95w1oJJ7ApbTUT7teau\/zj1eIx04PUOXwGB4ldOrK55hjs9KA6priG4\/Zbnn44x5rZt1Gy32+CkjAAiYAcdZ6z4nJVi3Y9zK\/i1kuEfv8A0dKIirNQREQBEXlNVU9PvPPHFtn13hvzQ42lqTuqf0F6slXyDZ+Fx7st\/itS+3qKy0XSEcc8mWwx\/tH6BYmsbjbqy1RinrYZJopg4CN4ceRC4LddKC5XeS6XurazonYpoCCQ3rzsOrb3lXqN4pvgebOuoVZRi1eVs+CyzN7TVllpGyXC4jjr6g8Ti7csB6u49vgF468JFhjAxvUNB\/wuWpDf7RUO4Y7hBxZwA5\/Dn3ZWRrpzJLRSxhwPSVLSCN9uF2\/xC5G7mmyyqoR2aUYO5TNaGMDRyAwvpEVJvCl7nis11bafGW08ZkdtyO5Hyb5qoUtp7\/aOpbrc3AkMcIY8jq5eGzR5qyGV2ZtozcIc39sypREVZpCIiAIiIDnr6VtdQT0rjgTRlmewkbFYujqt7rfLb5yBPQymMt6w3+eR4KiUrMDZtbMmJDaa5N4Xdzv5gf4lZHNOJlrbk41Pk\/n\/AGVSIirNQXnUTx01PJPK4NZG0ucScL0UvqeolulbDp6ieOOQh87t8NAGQD8\/JSjG7Kq1Tw4X48O405Tvut0n1FUtIDyWUzCPZbyz5beaqF5U1PFSUsVNC3hjiaGtHcF6pKV2KNPw4W48e4X4SAMk4AWfd71SWaDpKhxc8j1I27ud9B3rCNPf9Tf8Q78329\/2AMOe33cz44C6oXzehGpXUXhirvl78jVuGq7Tbxj0gVDzn1YCHY955BZwu2pbs0G3W9lHC4bSzHJ94z9Ctm32K22xrfRqVnG3\/uvHE\/z6vBaK7iitEQ8OrPzyt0XuS\/8ARq8VeTX3+X9yHOPmB8F+\/wBD7HQQvqa2WaRjBxPdLJgfDB\/mqSaWOCF80rwyNgLnOPIBSeZ9Z12PXhtNO\/3GV348lKMpPjZFVSlShZKOKT0vmZVJYm3x1XW01MaOijjcIGZyZHAbbk9vPyW3pWgtlxsUUk1DTySxudG9xYMkjcfAhUsMMVPCyGFgZGwYa1o2AU3pItpq+7W7iGYp+Jo7Rkg\/ILrm5RfQhHZ40qkb53vfvqaNRpay1DC00LGE9cZLSPJS9\/sLbTVUMNvmkcamY8EUhGA7LQN\/Ec1fqWqv9o6+p4PsUMXG738\/9TVynKV9Se1UaeFWVm2kdlpv8ktUbbdYhS1zcANJ2k2G4PLffkt1Y2prSLhbzPEOGrph0kTwPW23x4\/Ne+n7ibnZoKh5HSY4ZMHPrDr8efioSSaxIvpylGfhzz4p\/wC4nvdKv0C11NV1xRkt9\/V8cLM0bSGnsEcrgOOocZCesjOBv4fFc+sJ31ApLNA79JWSAu7mg9fjv4KihiZTwRwxjDI2hrR3AYXdIdyK367fCKt82eiIirNQREQBFyXC4Mt7YXPhll6aVsQ6NucZ6yutLHFJN2Cy9Q2sXW1SRNH6eP14T1hw6vHktRF1Ozujk4KcXF6Mx9M3Y3W1NMp\/WIP0cueZI6\/H55WwpO5NdprULLpEwihqzwVAA2a7tx8fPtVW1wc0OaQQRkEdalNLVaMpoTbThLVf5M4rxc4rRbpKqQjIGI2n7T8bBZulrdIyKS61jT6ZWkuORgtaTnGOrOx8lwvYdT6pcx4L7bQZBG\/C94\/j8B3quXXuq3FkIfFqY3osl+X7BZd+vMdmoekPrTyZbDGPtHt9w2XfU1EVJSy1MzuGOJpc49wUxYqKW\/1f5+ue4a7hpofsgA8\/A58QVyKWr0J1qkk1Th5n9Op1WWwSGb863h3T1snrBjuUXdjt+SocjOM7r9UxqF5teobbdyT0JzDLzwAc7+RP+FM5s48Ozwul39ynXy5zWML3uDWtGSScABec9XT01MameZjIQM8ZO38VBXzUz7tL0MLnR0TXYMbfbm7M7cvl38khByYr7TCis9eR1Xu8tvspp2Tej2uB2ZZiN5SOoDr7h4lUtgrbdVW8R2wFsMB4OEtIx19fPPNYdi0w6qMdbdYQyJo\/Q0mMADtd9PPsXTpMA3W+Ssx0bqnDSP3n\/UKyeHDZcDLQdVVFKa83rp9EU6l3fqX5Qm4BDa2DfsyAf\/T4qoUxq0CjrbXdsHEEwbJgblvPn4HzUKetuZq2nKClyaZTOcGtLnEAAZJPUpnSLH1dVcbu8ECpl4Y8jAwCT9B4L61XfaSK0TUtPVRyTzepwxvyWjrzju28VnWe4Xh1tgorLbBFGAeKpm3Dj1u6hz6t1KMXgfUpq1oePFa2zyzzLR7mNjc6QgMAJcXcgO9Q+ntQUVioaqlqXve9s7ixrBxZGAOfLqWgdLVNY30m+3WWXhbkxxbBoHf9AsW3S09u0lVVroWelzzOhgeWgkDhGcHmMet8FKMVZrUqrVamOMrYbJ65\/Q9Keru94v8ALdrZRtfwgxxmTGIxj388fMqptFNfI6h8t1rIZWObhkcQ9k5HcO9eun7cLXZoKcj9IRxyfvHn9PBaShOd8kjRs9BxSlJu7z6BERVGwIiIAiIgCIiA5bjQRXKglo5vZkGMjm09R81HRXyut1tmsHRvdcI5Ohhc0ZHCT+Me8ditqmoipKWWpmdwxxNLnHuCgnQ3Ksik1ZgNkjma5kWNujbsT7uQ8CVdTzWen5PP2ttSThrZ37f7QsLDamWi1xU\/COmI4pXDrce\/u5eC0ly22vhudBFVwH1ZBuM7tPWCupVSvfM201FQSjoTGqZXV9wobDE8t9IcHzYGcN6vkT4Kjhhip4WQwsDI2DDWtGwCm7aGy62uVRUPw6FgZGHOxgbDl4fHvW\/U3CjpIjLUVUUbB1lw\/BU5cIoz0Wm5VJc7fJHSsbUlxtlNQPp65ondKMMgbguJ6j3e9Z0+pq27SOpNP0j3E7GpeMBvfvsPHyXbaNMxUU3ptdKayuJyZHnIae7PX3\/JFHDnISquru0ldc+H9mBb9K3O60rPTamSlpmnMMLyXloP9knZU1r01bLVh8UPSTDfpZfWcPd2eC1SQBknACw7hq610XEyOQ1UwOAyLcZ\/e5eWV1ynPJEY0aGzrFLXmzalcWxPcNiGkhSWlLnQW2xTT1lSyN8k7nYccvdsOrmf4r0c7U9+aA1jbXSu5nOHkfP5Lzm\/J\/GeF0NxeHj2ukjDg4+e3xXUopWkyupOrOSnSjpfXLU6Hatqa97orJa5KhwG8kuzR7wPqFnXu2Xma3TVd3ucMQaOKOmafVJHV2Z59q0Y9M3mJrWM1BK1jdg1rSAB3br0i0dDLIJrnXT10uMeuSGj45+KknCLyISp16qtNP1SX0MfSFi9NqGXOaJjaeLZjNzxvA9rfv396vFM6KmfHSVdtmBEtJMcg9h\/iD5qmVdVtyzNOxwjGimuOvcy9S1IpdP1j+LhLo+Ad5dt96ktNUpu9xpIy39UtzONwI9p7jnfx+DFpa6qnyeiWqAF0kz+MtB3PU0eJz5LcsFobZ7YyDnK\/wBeU\/2scvcFNPDT6sonF1tptwjr9zTREVB6QREQBERAEREARFgakvM1MYrZbjxV1UeEYO8YPX3H+JXYpydkV1KipxxM4btUP1JeGWajcDSQnjqJRuMjO3Pf6+5VMVPDDTtp442tia3hDANsdi4bHZ4rLbxTsPHI48Uj\/wBp30WkpSa0WhXRptXnPzP6dCSpGu0vqI0jnYt1ccxudya7sz8PdhVqzNQWoXi1SU7QOlb68RPU4fXkufTF2dcaAwVBPpdL6kodzPUCfLddlvLEQp\/CqeFwea\/KPW56bt12m6aoY9sm2XMdjOPx8Auan0XZoJA90ck2PsyPyPhhd1wvtttjXek1TONv\/aYeJ\/l1eKxX369XkiOy0D4Inf8AyZh1d3V812ONrXIjU\/TqWcby6K7KCSWgtFIC90NLA3kNmjwHWsOp1e6pm9GsdG+slP23NIaPDn54X3R6OgLunu1RJXTu3OXENB+Z\/GyoIIIaaIRQRMijbyawYAXN1dSdq01\/yvV+yJkaaud2LZb5cncOc+jw8h48vgfety32a32sH0OmZG48383HxO67kUXNvIshQpwd0rvm82ERFEuCIiAk7uXWHVMF2GfRqsdHP2A7D7gfArXvGoaK00rnmVks3JkLXAknv7B3rurKOCvpn09TGHxvG4+imbvZ7Vp20zVcEBdUOPBE+Q8XC455A7bDPkrU4ysmYakalFScLWefbmeWkIpbrcqm9VxMkjDwRkjYE88dmBgeKslmaftotdnhp8YkI45D2uP4A8FpqM3eRds1NwpJPXVhERQNAREQBERAEREBx3W4x2q2zVkgz0Y9VufaceQ81kaWtsjg+91p46qsHE3I9hp7PeMeGFw6iq4K7UcNtrKkQUVOBJLnHrOxkfAgea0KrWdppmiOl6SqdjDWRMwB3ZOPhlXKLUbJamB1acqrlN2UdO\/MoV5zzw00RlnlZFG3m55wApn0\/VV1OKSiZb4j9uXnjHfv5BelPo5s0wnvNdLXSYxw5IA7s5yfgo4EvMy3x5T\/AG4t9Xkvc+6vWlBG\/oqKKWtlOMCNuGnuyd\/gpy4su1PXOuk8MlrhrXcEjoTktBxzGc52z1davqS30dAzgpKaOEYweBuCfeeZX1WUsVdSS0s4zHK0tdjmuxnGLyRXU2epVjvyz4W09zItOl7TSwsnDG1r5AHCWUBwOd8gcluAADAGAFMaYqprfWTaerfbhy6B\/wC03nt8\/PsVQozvfMu2fBg3Vbn3CIigaAiIgCIiAIiIApfUINw1JarY13qtJmkA7Bv8mnzVQpmkAn\/KBWvJBEFOA3HUcN+pU4atmbac1GPNr3\/BTIiKBpCIiAIiIAiIgCIiA5Ku10NfIySqpmSuYMNLupfdNb6Oj\/4alhhPaxgB810Iu3ehHBG97ZhERcJBERAT2rKGR1PFdKYhtRRHi4t\/Z8Oz7ytmgrYrjQxVcBPRytyM8weRHgchezmtewscMtcMEdoUtp50lnv1VYpnExv\/AElOSeYx9P8AKVYt6NuRll8Kqnwll8+HqVaIirNQREQBERAEREAUpVzt0\/q59dUtIpK2PhMgBPCRjn5eSq15VFNBVwmGphZLGebXjIUou2pTVpuaWF5rNH7DNFUQsmheHxvGWuadiF6KYdpWroHvksl1kp+I5MUm7T5fTl8XRazi9X0ijn\/tYA+4KWFPRkPGnHzwfyzKdFMf75\/+H8E\/3z\/8P4Jg6ofqP\/EvQp0UyDrIHJFGR2bL9g1NV0RZFfqE0pc7hEzASw\/Pu6+tcwPgP1Mf5JruilREUDSEREAREQBERAEREAU1q+GSnZS3mm2mo5Bxd7Sevx2\/vFUq57hSNr7fPSPxiVhbkjkeo+B3UouzuVVoY6bitfyfdLUMqqWKoj9mVgeN+0ZXqp7RVS6axdC\/2qaV0fhz+9UKSVm0dpT8SmpcwiIolgREQBERAEREAREQBERAF8vYyQYe0OGc4IyvpEAREQBERAEREAREQBERAEREBOWWmmtuo7lTOgf0VSemZKAS3mds\/wB74KjRFKTu7ldOn4ccKCIiiWBERAEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ELISA GIL GARCÍA",
    "correoContacto": "mlgil@services-ges.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "976545794",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:01",
    "ubicacionGPS": "LatLng(lat: -24.9351337, lng: -69.9291424)",
    "horaLlegada": "10:42",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 14/05/2026 12:01:44
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-sgFSdAVoA6X3rqyW+.w9l2iII1FOaZWo7CLO+vrgXynemz7D.pm
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76063288",
    "serieinterna": "EP2091",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "55241",
    "contadorColor": "184523",
    "contadorScanner": "0",
    "detalle": "•Al imprimir varias hojas, más de 20, la correa de sincronización del papel y cabezal se desalinea, lo que causa que la impresión se corra y de distorcione",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12581",
    "observacion": "•Recomendable revisión a taller",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADZANkDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABIEAABAwMCAgYHAwgHCAMAAAABAAIDBAURBiESMRNBUWGBkRQiMnGhsdFCwfAHFSMkUnLh8RYzYoKSssIlJjQ1NkNk0kR0ov\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAgMGBAUFAQEAAAAAAAABAgMREiExBCJBUWFxEzKR0SOBobHBFDNC4fBSYv\/aAAwDAQACEQMRAD8A\/syIiAIiIAiLxkrKWIkSVMLC3nxPAwhxtLU9kXlFVU8\/9TPHJ+48H5L1QJp6BERDoREQBERAcV0ulLaaQ1FS8DqY3reewLCgh1PdIxXemMomOPFHT8PMdWevf8YXwSNSat4cB1DbefY92eXZu4eIaq1WeRdTGk68m77q0tx6mRp28\/najcJgGVcLi2aPGCOw4\/G+VrqWrWNsmsaasb6sFwzHIBn2tvv4T5qpXJpariW0JSacZarL+wiIoF4REQBERAEREAREQBEXnNNFTwvmmeGRsGXOcdgEGh9kgDJOAFPXHV0MU5o7ZA6uqc4HBu0Hw5+HmuJ9RcNXzvhpS6ltTTwvkPtSfjs5b79So7da6O1QCGkhDBj1nc3O7yetWWUfNqZMc637eUeft7mCyy367jpLrcXUsbjnoIeeOw4OB8V0x6Js7GgSNmlIGCXSEZ8lQoueJLgSWy0v5K765k5Poe1S5dG6ohfzBbJnfxyuZ77\/AKadxOd+cbc0gEnd7G5x7\/mFWL8IBGCMgrqqPjmHs0NYbr6HLbblTXWjbVUriWE4IOxaew9661JiM6a1RGyEcNBcTjh6mv5Y7sE+RVYoyVtNCdGo5JqWq1CIiiXBctzqvQrZU1Wd4onOb78bfFdSwNavLdOSgcnPYD55+5SirySKq0sFOUlwR+6NpTT2Fkz95Kl7pXE7k9Q38M+K3lzW6NkVtpo2N4WtiaAPALpSTu2xRhgpxj0MTV1F6ZYZXtzx0xEzcd3P4E+S7LLW\/nGz01STlzmAPyftDY\/ELtkjbLG6N4y14LSO0FTWjZHwCvtUmSaSc8JPYSR8xnxUlnDsVPcrp\/8ASt80U6IirNQRF4MraWSpdTMqI3TN5sDhkIcbS1PdERDoREQBERAFIV9TLq24m2ULyyggdxTzDk\/sx8cdvPqWnqy5PoLO6OHJnqj0TMDcZ5ny28V12O1x2i2R0zQOPHFI7G7nH8Y8FZHdWIyVb1Z+EtFr+EdlPTxUlOyngYGRxjDWheqIqzUlbJBERDoREQEzrlhFpgqG+1DUNOezY\/fhUjHiSNr28nAELA1uQNPEHrlaB8Vt0mfQ4OLOejbnPuU35EZoZV59l+T2REUDSFO64z\/R\/YbdM3PxVEsHWcbpNNzFv2HscfdnH3qcPMjPtKvRl2NmmLTSxFvslgx7sL1XJa5mz2qklbsHwsOOzYLrUXqXRd4phS7QaD8oR6mV0G2+2QPqz4qoUvqjNPfLLWDYCbgcRscZHX7iVOnrYo2nKKlya9ioRFgalvU1II7dbvXr6k8IDdywHr9\/81CKcnZFtSpGnHEzmu10q7tXmzWZ2OE\/rNQOTR2Z\/GeXauO72WLTUFHcqB0hfTygTEk\/pATnfHVtjxVDYrNFZKDoGHjkeeKWTHtH6BeeqY2y6brA7qYHD3ggq1StJJaGOdFypyqT81vTsakUjZomSsOWvaHNPcV9rPsMpmsNE9xyTC0HwGFoKpqzsboSxRT5hERcJBERAS92zcdZ26h5x0w6Z2eWef3DzVQpm0Hpda3WVxJcxgYOwDI+gVMrJ8EZtnzxT5t\/TIIiKs0hERAEREBMa2\/TwW+hHtVFSMY57DH+pU6l6gfnXXUMQGYbdHxuI3HFz+Zb5eVQrJZJIzUd6pOfW3oERFWaQuC+RdPY62MYyYXHfuGV3r5ewSRuY7k4EFdTs7kZRxRaMjScgk01SEEnhDmnPc4rZUzoh5ZQVVE\/26aoII9\/8QVTKU1aTKtmd6MewUxrr1LdSTfsVI3HPkT9yp1N67ANgbkcp248ilPzojtf7EjVvN1hs9vfUyEF+MRs\/bd1D6rM0xapWmS8V\/rVlZ6wyP6tp6vHb3DAXDbIptU3UXCr4hRUTgKdhHtntPkM+AVguvdWHiRp\/Gn4j0Wnv7BZOqZBHputcetgb5uA+9ayxdX\/APS9Z\/c\/ztUYeZFtd2pS7P7HRp5jo9P0LXczC13gdx81pLisv\/I6D\/60f+ULtXJaslSVoR7BERcLAiIgJix\/9YXnw+ap1L0BFNr6viccCeEOb1ZOGn6qoVlTUzbN5Wur+4REVZpCIiALxqqmOjpZamU4ZEwuPgvZTOsK2R8dPZqTeorXDiHY3P3n4AqUVd2Kq1Tw4OQ0VTufSVN0mAMtZKTnHUDv8SfJUy8aSmZR0kVNGAGRMDRgdgXsknd3FGn4dNRCIiiWhERATFh\/VtXXqlPOQiX45\/1qnUxP+qflBgdjarp8E89wD\/6hU6nPVMzbNkpR5N+\/5CgtZXo18poabD6ancHSSN637jGe7P4wt3Ul3midHaLf61bV+rkHeNp2z3dfuxlZd\/tEVm0fHTMw6QztdJIB7TsH+SnTSTTZn2ucpxlCGi19itooY6ahghibwsZG0AeC915wf1Ef7o+S9FSz0IqyQWFrOTg01O3HtuY3\/wDQP3LdUzrYulpKKhYAX1NQAMnuxy97gp0\/MijanajLt9zctcZhtNHETksgY3PuaF1L5a1rGBjRhrRgDsC+lBl8VZJBERDoREQEvef1TWdpq84EwMJ79yP9YVQpvW0D\/wA2QVsXt0kwdnsB2+eFv007KqmiqIzlkrA4e4hWSzimZqW7VnHs\/wDeh6oiKs0hERAfL3tjjc95w1oJJ7ApbTUT7teau\/zj1eIx04PUOXwGB4ldOrK55hjs9KA6priG4\/Zbnn44x5rZt1Gy32+CkjAAiYAcdZ6z4nJVi3Y9zK\/i1kuEfv8A0dKIirNQREQBEXlNVU9PvPPHFtn13hvzQ42lqTuqf0F6slXyDZ+Fx7st\/itS+3qKy0XSEcc8mWwx\/tH6BYmsbjbqy1RinrYZJopg4CN4ceRC4LddKC5XeS6XurazonYpoCCQ3rzsOrb3lXqN4pvgebOuoVZRi1eVs+CyzN7TVllpGyXC4jjr6g8Ti7csB6u49vgF468JFhjAxvUNB\/wuWpDf7RUO4Y7hBxZwA5\/Dn3ZWRrpzJLRSxhwPSVLSCN9uF2\/xC5G7mmyyqoR2aUYO5TNaGMDRyAwvpEVJvCl7nis11bafGW08ZkdtyO5Hyb5qoUtp7\/aOpbrc3AkMcIY8jq5eGzR5qyGV2ZtozcIc39sypREVZpCIiAIiIDnr6VtdQT0rjgTRlmewkbFYujqt7rfLb5yBPQymMt6w3+eR4KiUrMDZtbMmJDaa5N4Xdzv5gf4lZHNOJlrbk41Pk\/n\/AGVSIirNQXnUTx01PJPK4NZG0ucScL0UvqeolulbDp6ieOOQh87t8NAGQD8\/JSjG7Kq1Tw4X48O405Tvut0n1FUtIDyWUzCPZbyz5beaqF5U1PFSUsVNC3hjiaGtHcF6pKV2KNPw4W48e4X4SAMk4AWfd71SWaDpKhxc8j1I27ud9B3rCNPf9Tf8Q78329\/2AMOe33cz44C6oXzehGpXUXhirvl78jVuGq7Tbxj0gVDzn1YCHY955BZwu2pbs0G3W9lHC4bSzHJ94z9Ctm32K22xrfRqVnG3\/uvHE\/z6vBaK7iitEQ8OrPzyt0XuS\/8ARq8VeTX3+X9yHOPmB8F+\/wBD7HQQvqa2WaRjBxPdLJgfDB\/mqSaWOCF80rwyNgLnOPIBSeZ9Z12PXhtNO\/3GV348lKMpPjZFVSlShZKOKT0vmZVJYm3x1XW01MaOijjcIGZyZHAbbk9vPyW3pWgtlxsUUk1DTySxudG9xYMkjcfAhUsMMVPCyGFgZGwYa1o2AU3pItpq+7W7iGYp+Jo7Rkg\/ILrm5RfQhHZ40qkb53vfvqaNRpay1DC00LGE9cZLSPJS9\/sLbTVUMNvmkcamY8EUhGA7LQN\/Ec1fqWqv9o6+p4PsUMXG738\/9TVynKV9Se1UaeFWVm2kdlpv8ktUbbdYhS1zcANJ2k2G4PLffkt1Y2prSLhbzPEOGrph0kTwPW23x4\/Ne+n7ibnZoKh5HSY4ZMHPrDr8efioSSaxIvpylGfhzz4p\/wC4nvdKv0C11NV1xRkt9\/V8cLM0bSGnsEcrgOOocZCesjOBv4fFc+sJ31ApLNA79JWSAu7mg9fjv4KihiZTwRwxjDI2hrR3AYXdIdyK367fCKt82eiIirNQREQBFyXC4Mt7YXPhll6aVsQ6NucZ6yutLHFJN2Cy9Q2sXW1SRNH6eP14T1hw6vHktRF1Ozujk4KcXF6Mx9M3Y3W1NMp\/WIP0cueZI6\/H55WwpO5NdprULLpEwihqzwVAA2a7tx8fPtVW1wc0OaQQRkEdalNLVaMpoTbThLVf5M4rxc4rRbpKqQjIGI2n7T8bBZulrdIyKS61jT6ZWkuORgtaTnGOrOx8lwvYdT6pcx4L7bQZBG\/C94\/j8B3quXXuq3FkIfFqY3osl+X7BZd+vMdmoekPrTyZbDGPtHt9w2XfU1EVJSy1MzuGOJpc49wUxYqKW\/1f5+ue4a7hpofsgA8\/A58QVyKWr0J1qkk1Th5n9Op1WWwSGb863h3T1snrBjuUXdjt+SocjOM7r9UxqF5teobbdyT0JzDLzwAc7+RP+FM5s48Ozwul39ynXy5zWML3uDWtGSScABec9XT01MameZjIQM8ZO38VBXzUz7tL0MLnR0TXYMbfbm7M7cvl38khByYr7TCis9eR1Xu8tvspp2Tej2uB2ZZiN5SOoDr7h4lUtgrbdVW8R2wFsMB4OEtIx19fPPNYdi0w6qMdbdYQyJo\/Q0mMADtd9PPsXTpMA3W+Ssx0bqnDSP3n\/UKyeHDZcDLQdVVFKa83rp9EU6l3fqX5Qm4BDa2DfsyAf\/T4qoUxq0CjrbXdsHEEwbJgblvPn4HzUKetuZq2nKClyaZTOcGtLnEAAZJPUpnSLH1dVcbu8ECpl4Y8jAwCT9B4L61XfaSK0TUtPVRyTzepwxvyWjrzju28VnWe4Xh1tgorLbBFGAeKpm3Dj1u6hz6t1KMXgfUpq1oePFa2zyzzLR7mNjc6QgMAJcXcgO9Q+ntQUVioaqlqXve9s7ixrBxZGAOfLqWgdLVNY30m+3WWXhbkxxbBoHf9AsW3S09u0lVVroWelzzOhgeWgkDhGcHmMet8FKMVZrUqrVamOMrYbJ65\/Q9Keru94v8ALdrZRtfwgxxmTGIxj388fMqptFNfI6h8t1rIZWObhkcQ9k5HcO9eun7cLXZoKcj9IRxyfvHn9PBaShOd8kjRs9BxSlJu7z6BERVGwIiIAiIgCIiA5bjQRXKglo5vZkGMjm09R81HRXyut1tmsHRvdcI5Ohhc0ZHCT+Me8ditqmoipKWWpmdwxxNLnHuCgnQ3Ksik1ZgNkjma5kWNujbsT7uQ8CVdTzWen5PP2ttSThrZ37f7QsLDamWi1xU\/COmI4pXDrce\/u5eC0ly22vhudBFVwH1ZBuM7tPWCupVSvfM201FQSjoTGqZXV9wobDE8t9IcHzYGcN6vkT4Kjhhip4WQwsDI2DDWtGwCm7aGy62uVRUPw6FgZGHOxgbDl4fHvW\/U3CjpIjLUVUUbB1lw\/BU5cIoz0Wm5VJc7fJHSsbUlxtlNQPp65ondKMMgbguJ6j3e9Z0+pq27SOpNP0j3E7GpeMBvfvsPHyXbaNMxUU3ptdKayuJyZHnIae7PX3\/JFHDnISquru0ldc+H9mBb9K3O60rPTamSlpmnMMLyXloP9knZU1r01bLVh8UPSTDfpZfWcPd2eC1SQBknACw7hq610XEyOQ1UwOAyLcZ\/e5eWV1ynPJEY0aGzrFLXmzalcWxPcNiGkhSWlLnQW2xTT1lSyN8k7nYccvdsOrmf4r0c7U9+aA1jbXSu5nOHkfP5Lzm\/J\/GeF0NxeHj2ukjDg4+e3xXUopWkyupOrOSnSjpfXLU6Hatqa97orJa5KhwG8kuzR7wPqFnXu2Xma3TVd3ucMQaOKOmafVJHV2Z59q0Y9M3mJrWM1BK1jdg1rSAB3br0i0dDLIJrnXT10uMeuSGj45+KknCLyISp16qtNP1SX0MfSFi9NqGXOaJjaeLZjNzxvA9rfv396vFM6KmfHSVdtmBEtJMcg9h\/iD5qmVdVtyzNOxwjGimuOvcy9S1IpdP1j+LhLo+Ad5dt96ktNUpu9xpIy39UtzONwI9p7jnfx+DFpa6qnyeiWqAF0kz+MtB3PU0eJz5LcsFobZ7YyDnK\/wBeU\/2scvcFNPDT6sonF1tptwjr9zTREVB6QREQBERAEREARFgakvM1MYrZbjxV1UeEYO8YPX3H+JXYpydkV1KipxxM4btUP1JeGWajcDSQnjqJRuMjO3Pf6+5VMVPDDTtp442tia3hDANsdi4bHZ4rLbxTsPHI48Uj\/wBp30WkpSa0WhXRptXnPzP6dCSpGu0vqI0jnYt1ccxudya7sz8PdhVqzNQWoXi1SU7QOlb68RPU4fXkufTF2dcaAwVBPpdL6kodzPUCfLddlvLEQp\/CqeFwea\/KPW56bt12m6aoY9sm2XMdjOPx8Auan0XZoJA90ck2PsyPyPhhd1wvtttjXek1TONv\/aYeJ\/l1eKxX369XkiOy0D4Inf8AyZh1d3V812ONrXIjU\/TqWcby6K7KCSWgtFIC90NLA3kNmjwHWsOp1e6pm9GsdG+slP23NIaPDn54X3R6OgLunu1RJXTu3OXENB+Z\/GyoIIIaaIRQRMijbyawYAXN1dSdq01\/yvV+yJkaaud2LZb5cncOc+jw8h48vgfety32a32sH0OmZG48383HxO67kUXNvIshQpwd0rvm82ERFEuCIiAk7uXWHVMF2GfRqsdHP2A7D7gfArXvGoaK00rnmVks3JkLXAknv7B3rurKOCvpn09TGHxvG4+imbvZ7Vp20zVcEBdUOPBE+Q8XC455A7bDPkrU4ysmYakalFScLWefbmeWkIpbrcqm9VxMkjDwRkjYE88dmBgeKslmaftotdnhp8YkI45D2uP4A8FpqM3eRds1NwpJPXVhERQNAREQBERAEREBx3W4x2q2zVkgz0Y9VufaceQ81kaWtsjg+91p46qsHE3I9hp7PeMeGFw6iq4K7UcNtrKkQUVOBJLnHrOxkfAgea0KrWdppmiOl6SqdjDWRMwB3ZOPhlXKLUbJamB1acqrlN2UdO\/MoV5zzw00RlnlZFG3m55wApn0\/VV1OKSiZb4j9uXnjHfv5BelPo5s0wnvNdLXSYxw5IA7s5yfgo4EvMy3x5T\/AG4t9Xkvc+6vWlBG\/oqKKWtlOMCNuGnuyd\/gpy4su1PXOuk8MlrhrXcEjoTktBxzGc52z1davqS30dAzgpKaOEYweBuCfeeZX1WUsVdSS0s4zHK0tdjmuxnGLyRXU2epVjvyz4W09zItOl7TSwsnDG1r5AHCWUBwOd8gcluAADAGAFMaYqprfWTaerfbhy6B\/wC03nt8\/PsVQozvfMu2fBg3Vbn3CIigaAiIgCIiAIiIApfUINw1JarY13qtJmkA7Bv8mnzVQpmkAn\/KBWvJBEFOA3HUcN+pU4atmbac1GPNr3\/BTIiKBpCIiAIiIAiIgCIiA5Ku10NfIySqpmSuYMNLupfdNb6Oj\/4alhhPaxgB810Iu3ehHBG97ZhERcJBERAT2rKGR1PFdKYhtRRHi4t\/Z8Oz7ytmgrYrjQxVcBPRytyM8weRHgchezmtewscMtcMEdoUtp50lnv1VYpnExv\/AElOSeYx9P8AKVYt6NuRll8Kqnwll8+HqVaIirNQREQBERAEREAUpVzt0\/q59dUtIpK2PhMgBPCRjn5eSq15VFNBVwmGphZLGebXjIUou2pTVpuaWF5rNH7DNFUQsmheHxvGWuadiF6KYdpWroHvksl1kp+I5MUm7T5fTl8XRazi9X0ijn\/tYA+4KWFPRkPGnHzwfyzKdFMf75\/+H8E\/3z\/8P4Jg6ofqP\/EvQp0UyDrIHJFGR2bL9g1NV0RZFfqE0pc7hEzASw\/Pu6+tcwPgP1Mf5JruilREUDSEREAREQBERAEREAU1q+GSnZS3mm2mo5Bxd7Sevx2\/vFUq57hSNr7fPSPxiVhbkjkeo+B3UouzuVVoY6bitfyfdLUMqqWKoj9mVgeN+0ZXqp7RVS6axdC\/2qaV0fhz+9UKSVm0dpT8SmpcwiIolgREQBERAEREAREQBERAF8vYyQYe0OGc4IyvpEAREQBERAEREAREQBERAEREBOWWmmtuo7lTOgf0VSemZKAS3mds\/wB74KjRFKTu7ldOn4ccKCIiiWBERAEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ELISA GIL GARCÍA",
    "correoContacto": "mlgil@services-ges.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "976545794",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:01",
    "ubicacionGPS": "LatLng(lat: -24.9351337, lng: -69.9291424)",
    "horaLlegada": "10:42",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


14/05/2026 12:01:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76063288

[14/05/2026 12:01: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('76063288', 'EP2091', 1, 24456550, 55241, NOW(), 
				'08:00', '10:42', '12:01', 4, '•Al imprimir varias hojas, más de 20, la correa de sincronización del papel y cabezal se desalinea, lo que causa que la impresión se corra y de distorcione', -1, 
				'', '','1','184523',
				'0',2,'../csj.digital-service.cl/uploads/firmas/firma_0_1778774504.png', '•Recomendable revisión a taller', null, 'REPROGRAMADO','LatLng(lat: -24.9351337, lng: -69.9291424)' )
				
[14/05/2026 12:01:44] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200310

14/05/2026 12:01:44 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200310'                    
				WHERE idllamado = 12581			
				TO ENVIO: micorreo@miempresa.cl, mlgil@services-ges.com


14/05/2026 12:01:44 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 12581			
				
14/05/2026 12:01:44 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('76063288', 'EP2091', 1, 'APP', 'sin otroTipo definido', 9, 'Sin otrafalla definida', 'Sin coderror', '1', 'SI', now(), 'ELISA GIL GARCÍA', '976545794', 'mlgil@services-ges.com', 12581)
				
14/05/2026 12:01:44 Insertado nuevo llamado creado idllamado: 12588APP
14/05/2026 12:01:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


14/05/2026 12: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 = 12581
                

14/05/2026 12: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 = 12581
                

14/05/2026 12:01:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 12:01:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 12:01:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12581
            GROUP BY l.idllamado;
            

14/05/2026 12:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

14/05/2026 12:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12581
                

[14/05/2026 12:01: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;
                

[14/05/2026 12:01: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;
                

14/05/2026 12:01:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

[14/05/2026 12:01: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;
                

[14/05/2026 12:01: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;
                

14/05/2026 12:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:01:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:01:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:02:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12:02:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:02:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12:02:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

[14/05/2026 12:02: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;
                

[14/05/2026 12:02: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;
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12587
                

14/05/2026 12:02:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12587
                

14/05/2026 12: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 = 12587
                

14/05/2026 12:02:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12587
                

14/05/2026 12:02:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12:02:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12587
                

14/05/2026 12: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 = 12587
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12:02:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12:02:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12587
                

14/05/2026 12: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 = 12587
                

14/05/2026 12: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 = 12587
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12587
                

14/05/2026 12: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 = 12582
                

14/05/2026 12:02:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:02:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12:02:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12:02:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:02:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:02:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:02:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:02:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12:02:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:03:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:03:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12:03:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12:03:14 - logentry: =========================================
FECHA: 14/05/2026 12:03:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-KsPUUl5BJJzC_5LKsONJI12H1rJ5xYqBSFHBuKHbx8fDehc4bdK
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76063288",
    "serieinterna": "EP2230",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "219860",
    "contadorColor": "235887",
    "contadorScanner": "0",
    "detalle": "•Impresora en buen estado, cliente pide no realizar nada mayor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12582",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADfAQUDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABHEAABAwMCAgcFBQMJBwUAAAABAAIDBAURBiESMRNBUWFxgZEUIjKhsRVCwdHwI1JyBzOCkqKywtLhFiQlNmJ08TVFU5Pi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECBAMHAwQDAAAAAAAAAAECAxESITFBBDJREyJxgaGx0WGR4RQjM\/BCUsH\/2gAMAwEAAhEDEQA\/AP7MiIgCIiAIiIAiIgCIiAIiIAiIgCxtTXWa1W0OpgDUSu4GAjPiR38vyWype+YuOrLXbtyyHM0g6u3f+r8+9TgrvMz8RJxp93V5fc7dN3l9yp309W4e3U5xK3AGe\/b0P4LbUveo3WbUdHeIR+yqXCCoA689foM+LVTggjIOQUmlqtxQlKzhLVf1M\/URFA0BERAEREAREQBERAEREAREQBERAEWHX6tt1vrnUsoleWYD3MbkNOeRzjxXTTajs9WWiKviDncmv9w588KWCVr2KVXpN4cSuaaL8BBGQcgr9US4IiIAiIgCIiAIi5LrVmhtdTUt2dHGSDjOD1HHWupXOSaim2YlZdq+6XaS2WSSNggbxSVDjtnPLkfD17F72i\/zvr32q7RCCsb8DgPdkH65dq9NJUZprHHJJvLUEyPJznsGc9wTVFpbcba6WJn+9U444nN2dtzH661Z3b4TElVwdsnnrba3Q21MWYe16yutU4l3QDom55N3xt\/VPqVq2C5\/a1oiqXEdLuyUDqcPz2PmsrRv7WS6VXMy1J37eZ\/FcSspE5yVSdO2jz9DQ1RR+26fqmD4o29K3bPw7n5ZXtYawV1jpJ8kkxhrs8+IbH5haDmhzS07gjBUxo0mmkudrJz7NUEtOOY3H+EeqLOD+hKXdrxf+yt9s\/kqERFWaQiIgCIiAIiIAiIgCIiAIiIAiIgJaNjKDXM0MzQ+K4xcTQW5HEO3+qfULUqtM2erB46GNjj96L3D8lna0ZJBFQ3SFuX0k4Pkd9+7IA81RxSNmiZKw5a9oc09xVsm7KSMdOEXKdOSvnf7\/kmn6UqreRLZbnNE5mSIpTlpOO7bs5hG6prLY5sN8t0kZ4uETxD3Xd+PyPkqhfEsUc0bo5Y2yMcMOa4ZB8lzHfmzJfp8OdJ29V9jypK6lr4ulpZmytwDtzGdxkcx5roUzXaZmoZTXafldBMCC6n4vck7tz8jt4Lps2pWV0\/sFdEaWvaSHMIw1xHZ+R+a445XidjWalgqqz9GbqIigaQiIgCydUkt03WkfuAf2gtZYesSf9makAE5LOX8QP4KUOZFNd2pS8Gddgbw2ChGMfsW5HktFclqAbaKNo2Ap2Af1QutclqydNWgl9CPt077FdLzQOGGCJ9VER3DOw8D8lo6KgEWnI3g\/wA9I959eH\/CsnXLHU1dTVjMDpoXwu27j\/m+S39LAt03RA\/uE\/2irp8l+pgoK3EOn\/re3nY1lLQn7P8A5QJo3Owyuh4mjHXj\/wDLvVVKl9W5oq+1XRuwhm4HnuO+PQOUKetupp4nKKn0aZUIiKs0hERAEREAREQBERAEREAREQBERAclzomXG2z0j+UrMDuPMH1AWXo6sfPZvZZQRLRvMTgTvjmPy8lvqVi\/4Prp8ezYLkzi5\/e559QR\/SVkc4tGWr3Kkank\/PT1KpERVmoLG1BYWXeASQkQ1sR4ophsTjqJ7PotlF1Np3RCcIzjhloYGnr3PVSyWy5N6Ovp+fL3x2+Pgt9T+prLJUtbc6A9HXU3vAt5vA6vEf6Lvsd3ivNuZUMwJB7srB9135dinJJrEimlKUZdlPXZ9V8o0URFWaQsfVkYk01WAjOA1w8nBbC47vTe12irgxkvicGjvxt81KLtJMrqxxU5L6M+LI8yWOhcf\/gZ9F3rD0fVe06dgBOXQl0Z37DkfIhbiSVpM5Rlipxf0JbX0XFaIJetk4HkQfyC2rHF0NioWdfQMJ8SM\/iszXDg3TxB+9M0D5rR0\/N7RYKKQ8+ha302\/BTf8aKIpLipeCNFZGqaM1un6lrRl8Y6Vv8AR3PyytdfhAIwRkFVp2dzTOCnFxe5m6erftCx005OXhnA\/fO42\/181pqX0k72GtuNle7JhlMkYwd27A8\/6PqqhSmrSK+Hm5U03rp9giIoF4REQBERAEREAREQBERAEREAU3rOlkNFT3GDaailDwdth2+oCpF5VVOyrpZaeQZZKwsd4EYUouzuVVqfaQcT8pKmOspIqmI+5KwPHdkL2U1o6pdHDU2id+ZqOUgD\/pz1eefUKlSSs7CjU7SCkERFEtCka5jtL6hZcIRigrXcM7cbMP63Hmq5c1woILlRSUlQ3LJBz62nqI7wpRlZ56FNam5x7uq0Ohrg5oc0ggjII61+qb0vVTUs1TYax\/FNSHMR\/eYf\/I9e5UiSVnYlSqdpHEERFEsJXTgNr1HcrRjEZPSxDJ2HV8nD0VUpXUR+zNR227k4jJ6KU4JwN\/wcfRVSsnnaXUy8P3cVPo\/R5omNev4bJEzrdUD04XLQ0r\/y1Rfwn+8VifygTcQo6ZoyffkPgMf6rb0r\/wAtUX8J\/vFSa\/aRTB34yXh8GuiIqT0CWvuLNqWhvGHdDNmKcjOBtgZ8t8f9KqAQRkHIK5Lrb47pbZqST7490\/uuHI+qw9P6ip4LI6O5TCGWiPRODvicOrA5k7EeSstijlsZE1RqtPSWfnv8lQsS66npaCb2SmjdW1hOBDFvg9hPb3DdZxrrrqmUxW\/jobcCQ+c\/E\/uH5DzK2bTYKCztzTR8UpGHSv3cfy8kwqPMO0nV\/iyXX4Rkik1Xdcunq2W2F3JjPjA6uW\/zC+hosHL33esdKeb88\/14qnRO0e2RL9LTfNd+LJyzXGsorq6xXOQzS4LoJyd3txnB9Dz7OtUamb04s1jZy0lpIIJG2Rk7KmXJ7PqKDaxQb0YREUDSfhOBnsXLbbgy50gqY4pYmlxbwyjDtl1ounLO4REXDoREQBERASuoWOs17pL7Aw9G49HUho2I7fMf3Qqhj2yRtkY4Oa4AtI6wvGuoobhRyUs7eJkgx4HqI8FgaSq5ad9TY6t37akcTHnrb3fXzVnNHwMi\/arW2l7\/AJKdERVmsIiICV1RC62XOjv8AP7N4ZOB94f+Mj0VQx7ZI2yMcHNcAWkdYXDfaL7QstVTY95zCWfxDcfMLn0tWCtsFO7iy6IGJ3ly+WCrHnG\/QyxWCu47Sz89\/wDhsIiKs1GRqmj9s0\/UtAy6MdI3xG\/0yvbT9X7bYqScuLndGGuJ5kjY\/Rd72NkjdG9oc1wIcD1hTGnXOs16q7DMfccTLTOP3hjl6D+yVYs4tdDLPuVlLZ5eexl60kE986Pm2npsuyes5x9Wqr08ws0\/Qg9cLT67qLukhqZ79Wg5b0jIAc8xxDl\/9YV7bYxFbKWMcmQsaPJoU6mUEjNwverzn1+bf8OlF8SzRwROlme2ONgy5zjgAKWq7vX6infb7Kwx02eGWrdtt3dn18FVGLZuq1Y08tW9Ed121PHTT+w26I1tcTgMbu1h7yOfgPUKcntc1tvFHX35kU0VXIemA+Fjj2427\/IqwtFko7NB0dMzL3D35XfE\/wDIdy+r1bW3W1zUhxxOGYyepw5KyM1F2RlqUKlSOKbzWaW35O1rWsYGMaGtaMAAYAC+liaUuLq60NimP7elPRSA89uRPl9CttVSVnY2U5qcFJbhERcJkxd8S62tMTfjawv8t\/8AKVTqZps1evqqTGWUsHC12OvDcj5lUynPZGbh83OXV+2QREUDSEREAREQBERAEREAUxqilloKqDUFG0dJAQ2dv77eQ\/LzHYqdfMkbJY3RyNDmPBa5pGxB5hSjLC7lVWn2kMP28Tyo6uOuo4qqE5ZK0OHd3L3UpaZHadvr7LM4mlqXcdNI48ieQ\/Dxx2qrSUbM5RqY456rJ+IREUS4KX0QQymroCOF8dQctxjG3+hVQpjRvvy3WccpKnb5nn5qyPKzNU\/mp+fsU6IirNIU7qylkjhgvFMQ2ooXA5P3mk8vX6lUSmdZTySR0VqhPv1kwB69gRjI8SPRTp8yM\/FW7J3\/AK9vUnnwuGl6NrX5muFaXucDk7ZaPmc+av6urprbSOnqJBHFGMZP0Hav5\/XQR2DUkMMkj5KSmk9ojYDkjO+PH3QFtUFvrdUVUdzuw4KNhJgpx94dvh39fgrppOzehg4ecoNwiu9kvtq35ny32zWdQC9r6W0xnIH3pT+P0Cqqalgo6dsFNE2KJnJrV6Na1jAxjQ1rRgADAAX0qJSvktD0aVLB3m7ye4REUS4lqP8A4TriopscMNwZxsAGBxDf\/N6qpUzqkOiu1lqmA5ZUcJx1jLfwBVMrJ5pMzUO7KcOj98wvlzmsYXuOGtGSewL6WdqCr9isVXMHAO6MtaT2nYfVQSu7F85KMXJ7GRotvtDLhc37yVNQRkjfA3\/xfJVCyNLU3s2naUH4pG9Idsc9x8sLXUpu8mVcNHDSin\/bhERQLwiIgCIiAIiIAiIgCIiAytQ2Zt4t5Y0AVEXvQvzjB7M9h\/Jeem7ubnQmOoJ9spzwTNcMEntx+twVsqVvdNNYrs2\/UTC6F54auNvXnr\/XXjtVke8sJlqrs5dqtN\/Dr5exVIvKmqYqymjqIHh8cjeJpC9VWaU01dHNcKptDb6iqccCKMuG2d8bfNZOi6V1Np5j3c55HSY7BsB\/dXlq+czx0tnh3mq5W8Td\/hB\/Pv6lv01PHS00VPEMRxMDGg9gGFZpDxM679e+0V6s9URFWaQo2S4U1Tqmpuc8p9jtbOBu2eJ+4wPPPoOrlv6huX2VZ5pwcSO9yP8AiP6J8lEWC3sqKWeuriTQUeXmMH+cfgbH5evirqccm2edxdV9pGnHx\/vudNtt7tYXOvrap5iAaOEM5AkYaPAALd07dpad4sd0HR1cPuxOdykb1b\/rIX3oqldDYzO8HjqZXSZIxtyH0J819atp7dJbenrJegmj\/mJG\/HxdgHWPpzXZSTlh2I0qbp0lWT72rvvc3XvZGwvkcGNaMlzjgBTVXqeprqh1Fp+nNRIPincPdb4Z+p9CsKkrKnUNVT0V5uHs9M1gcARwdMerc8ye3u2V5RUNNb6dsFLC2Ng6hzPeT1qLioa5sthVnxPI7R9fwc1lo66jo3NuFX7TPI\/jccfDkDYdo27looirbu7myMVFWRMa0\/8AbP8AuR+Cp1L6mzWX20W5mMmTpX+GfyDlUKcuVFFLOrUfh7BTGtXulioLc0nNVPg4G5xgfVwVOpav\/wB917QwD4aWLjd47n\/KlPmv0HFZ08PVpFOxjY42sYMNaAAOwL6RFWaQiIgCIiAIiIAiIgCIiAIiIAviaKOeF8MrA+N4LXNPIhfaINSTs0j9PX2SyVDi6nqDx0zz1E9Xny8R3qsWRqS0G7W7EXu1MB44XdeesZ7\/AKgLCqNVun0twA4uEp9nLRz5bux3jbxKttjzRhVRcPeEtNV8HVZOK86mq7ySTT046GDIHZ1c+ok\/0lVLPsduFrtMFKQA8NzJg59481oKM3d5F9CDhDvavN+LC85poqeF80zwyNgy5zjsAvRfz3VF6lvFY6iouJ1NBku4fvkcz4Dq\/wBUhDEznEV1RhffY8LvcarVN4ZTUjXGIEthjPzcf1std1vF1ZFYrc93sNG4GpqCRl7ve5DG\/Lw9AvjTVOyzWCqvlQ333txFtkhucD1d9Avy3XRmnrHH7hqLjXu6VsYzyds0nb5defS99I7HmQS56r5s34bLzKC7Xij0\/RRsDOJ\/DwwQN5nGw8As212Wpu1WLvfRxE7wUx5MHVkfh6r2sthm9o+1ryemrnnLWncRdndn6KiVLajkj0I05VWpVMlsvn4M662Oiu8AjqI8PaCI5G7Fn5+Cwm3G6aVlMFxbLX0JILKkZy3u3+hPmq5fjmhzS1wBBGCD1rilbJ6FlSim8UHaXX56nHb7tQ3SPjo6hshAy5nJzfEc10zTRU8L5pnhkbBlznHYBYtZo+11MvTQtkpJM5zA7A9OrywudmiqdzsVNwqp4\/3C7C7aHUhj4hKzim+tzzsQkvOoqq+PbinjBip8jn1ZHlnP8Sql509PFSwMggjEcbBhrW8gvRRlK7LaNPs42erzfiFMWX9vrO7zncxtEYPmP8qp1MaW\/wDXNQf9z\/ieux5WV1s6lNfV+zKdERQNIREQBERAEREAREQBERAEREAREQH45wa0ucQABkk9S\/nLquI6gdqBlCXW9tSATjHvY+LHb1+OFQ6qrZKmSGwUeTUVRBkI5NZufwz4DvWvFZ6SKzi19GDCWcLsDBcet3jndXRagrvcwVouvPDH\/H36fJ2xyMljbJG4OY8BzXA7EHkV9KX05VS2uvm0\/XO3jJdTOP32nfA+vqFUKuUbM1UqnaRvvv4mDq+6SW60FkJAkqCY855NxuR3qTktT7bpZ1TPGRPXSsYxpG7WDLvmQPkv6LNTQVAb00TJOEhzeIZwQQfqApnXVRCaWmpGuLqsyh8cbRk43GfXYK2nLSKMXF0earJ7WRyarm6GjoNP0kfFIA0ubHvyGAO\/JyfTtWvp3Tjbaz2usPTV0g3c48XRjsB7e\/8AR\/dPWE0QNwryZbhPu9z9+jz1Dv7T5LeUZTssKLaNC8u1ms9l0XyERFUbQiIgCIiAIiIApjThEOpr5TuBDnyiQZ7MuP8AiCp1MakpZrdXw6ho2kuiw2oaPvN5Z9NvRThnddTNxF44ai\/xfpoU6Lnoa2C40jKqmfxRvHmD2HvXQoGhNNXQREQ6EXPV3CjoGcdXUxwjGRxuwT4DmVgS6ulrHGKyW2areDgyPaQwdh2\/HCkot6FU61OGTefqUrnNY0ue4NaOZJwAsO4aut9JJ0FNx1lQdg2EZGfH8srlFhvF2IN6uHBCTxez0\/hyP6K2rfZrfawfY6ZkbjzfzcfM7qVorXMqxVqnKsK+uv2Pm0VNxqoHy3GkZSku\/ZsByeHv7\/RFoIoN3ZoisKs3cIiLhIIiIAuG8XOK0W6SqkIyBiNp+8\/GwXZJIyKN0kjg1jAXOcTsAOZUnAx+r7z7VKxwtVKcMY446R3eP1tgKcY3zehRWqOKwx5np8nZpa1yNEt4rhmrrCXAObgxjJ5eP0wqJEXJSxO5OlTVOKiib1hQSOpYrrS7VFE4OyOfDn8Dv6rZtlfHcrdDVx8pG5I\/dPWPVdTmhzS1wBBGCD1qFNZV6XutbbKOPpm1BD6Zg34XO5beG3kFOKxq26M9SSoVO0ej18dihvuoGWzhpaZnT18u0cTRnGeRP5LnsGn5IJftS6PM1fJk4cciPP4\/IdS9bBYDQF1dXO6a4TbveTngz1Dv71urjkkrRJQpyqSVSp5Lp+QiIqzUEREAREQBERAEREAX45oc0tcAQRgg9a\/UQEzV6XqaSpkrbDWmmlecuid8J3zgfkQV+G6aqp8Nls8U2AAXRu5n1VOinj6q5m\/TpO8G4+GhMm66pe7EdliZk4HG7OPE8QXyKPV9b\/PV9PRsPNrAC4eg\/FVCJj6JD9Pfmm3529iepdG0LJemrppq6Xtldt3bc\/mt2CCGmiEUETIo28msGAF6IuOTepbClCnyqwREUSwIiIAiIgCIsbU94Nqt3DCCampJjiA5jbd3lkeZC6k27IhUmqcXKWiM271U2oLq2yUEhFM33qqZo28P1zJ7lSUdJDQUkdLTs4YoxhoXFp60iz2xsLt55DxzOznLj1eS1FKT2WhVRpv+SfM\/T6BF4VlZT0FM+oqZRHGwbk\/QdpUw+pumrZHR0RdR2wHhdKfik\/XZ6lcjG+exKpWUHhWbex03XUkk1R9l2NntFW4lrpB8Mfh2+PId6zrhpiot1s+1WVL5rjA\/ppX5yDvvjw55Peqi12mktFMIaaPf70h+J57yu1zQ5pa4AgjBB61PHh5Sl8O6ibqvPbojltlfHcrdDVx8pG5I\/dPWPVdalbE\/7E1BVWORx6GU9LTE+GcenzaqpQmrMuoVHOGeqyfiERFEuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIApO5yx0+taepuTnR0sbAIXn4eLHd3k+g6lWLxqKSmq2htTTxzAZwJGB2M9mVKMrMprU3OKS2dzOfqmyMBJr2HHU0E\/gs5+qK+5ODLFa5JATgzTtw0ehx6nyWuywWhhy23U\/mwFd7GMjYGRtDGtGA1owApXgtEQwV5ZSkkvp+Sbp9MVNfO2qv9W6ocNxAx2GD08uSpI42RRtjjY1jGjDWtGAB3BfSKMpN6llOlGnp+QiIolpN6wo3imgu9NtUULw7OM5bn8D+K3aOrjrqOKqhOWStDh3dy+5oWVEEkEgyyRpa4doIwVM2KaWx3iWw1Tv2MhL6V5HPu\/XWO9WLvRt0Mr\/AGq2LaXv+SqREVZqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCwNXW11XbBVwZFRRnpGEc8df0z5LfRdi8LuV1KaqQcXucFluTbra4asY4nDEgHU4c13rBtdmqbTfql9OWfZ1Q3i4M44HZ5Aevkt5dklfI5RcnDvrNBERRLQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ELISA GIL GARCÍA",
    "correoContacto": "mlgil@services-ges.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "976545794",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:03",
    "ubicacionGPS": "LatLng(lat: -24.9351574, lng: -69.9291692)",
    "horaLlegada": "10:42",
    "horaDespacho": "12:01",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 14/05/2026 12:03:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-KsPUUl5BJJzC_5LKsONJI12H1rJ5xYqBSFHBuKHbx8fDehc4bdK
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76063288",
    "serieinterna": "EP2230",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "219860",
    "contadorColor": "235887",
    "contadorScanner": "0",
    "detalle": "•Impresora en buen estado, cliente pide no realizar nada mayor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12582",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADfAQUDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABHEAABAwMCAgcFBQMJBwUAAAABAAIDBAURBiESMRNBUWFxgZEUIjKhsRVCwdHwI1JyBzOCkqKywtLhFiQlNmJ08TVFU5Pi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECBAMHAwQDAAAAAAAAAAECAxESITFBBDJREyJxgaGx0WGR4RQjM\/BCUsH\/2gAMAwEAAhEDEQA\/AP7MiIgCIiAIiIAiIgCIiAIiIAiIgCxtTXWa1W0OpgDUSu4GAjPiR38vyWype+YuOrLXbtyyHM0g6u3f+r8+9TgrvMz8RJxp93V5fc7dN3l9yp309W4e3U5xK3AGe\/b0P4LbUveo3WbUdHeIR+yqXCCoA689foM+LVTggjIOQUmlqtxQlKzhLVf1M\/URFA0BERAEREAREQBERAEREAREQBERAEWHX6tt1vrnUsoleWYD3MbkNOeRzjxXTTajs9WWiKviDncmv9w588KWCVr2KVXpN4cSuaaL8BBGQcgr9US4IiIAiIgCIiAIi5LrVmhtdTUt2dHGSDjOD1HHWupXOSaim2YlZdq+6XaS2WSSNggbxSVDjtnPLkfD17F72i\/zvr32q7RCCsb8DgPdkH65dq9NJUZprHHJJvLUEyPJznsGc9wTVFpbcba6WJn+9U444nN2dtzH661Z3b4TElVwdsnnrba3Q21MWYe16yutU4l3QDom55N3xt\/VPqVq2C5\/a1oiqXEdLuyUDqcPz2PmsrRv7WS6VXMy1J37eZ\/FcSspE5yVSdO2jz9DQ1RR+26fqmD4o29K3bPw7n5ZXtYawV1jpJ8kkxhrs8+IbH5haDmhzS07gjBUxo0mmkudrJz7NUEtOOY3H+EeqLOD+hKXdrxf+yt9s\/kqERFWaQiIgCIiAIiIAiIgCIiAIiIAiIgJaNjKDXM0MzQ+K4xcTQW5HEO3+qfULUqtM2erB46GNjj96L3D8lna0ZJBFQ3SFuX0k4Pkd9+7IA81RxSNmiZKw5a9oc09xVsm7KSMdOEXKdOSvnf7\/kmn6UqreRLZbnNE5mSIpTlpOO7bs5hG6prLY5sN8t0kZ4uETxD3Xd+PyPkqhfEsUc0bo5Y2yMcMOa4ZB8lzHfmzJfp8OdJ29V9jypK6lr4ulpZmytwDtzGdxkcx5roUzXaZmoZTXafldBMCC6n4vck7tz8jt4Lps2pWV0\/sFdEaWvaSHMIw1xHZ+R+a445XidjWalgqqz9GbqIigaQiIgCydUkt03WkfuAf2gtZYesSf9makAE5LOX8QP4KUOZFNd2pS8Gddgbw2ChGMfsW5HktFclqAbaKNo2Ap2Af1QutclqydNWgl9CPt077FdLzQOGGCJ9VER3DOw8D8lo6KgEWnI3g\/wA9I959eH\/CsnXLHU1dTVjMDpoXwu27j\/m+S39LAt03RA\/uE\/2irp8l+pgoK3EOn\/re3nY1lLQn7P8A5QJo3Owyuh4mjHXj\/wDLvVVKl9W5oq+1XRuwhm4HnuO+PQOUKetupp4nKKn0aZUIiKs0hERAEREAREQBERAEREAREQBERAclzomXG2z0j+UrMDuPMH1AWXo6sfPZvZZQRLRvMTgTvjmPy8lvqVi\/4Prp8ezYLkzi5\/e559QR\/SVkc4tGWr3Kkank\/PT1KpERVmoLG1BYWXeASQkQ1sR4ophsTjqJ7PotlF1Np3RCcIzjhloYGnr3PVSyWy5N6Ovp+fL3x2+Pgt9T+prLJUtbc6A9HXU3vAt5vA6vEf6Lvsd3ivNuZUMwJB7srB9135dinJJrEimlKUZdlPXZ9V8o0URFWaQsfVkYk01WAjOA1w8nBbC47vTe12irgxkvicGjvxt81KLtJMrqxxU5L6M+LI8yWOhcf\/gZ9F3rD0fVe06dgBOXQl0Z37DkfIhbiSVpM5Rlipxf0JbX0XFaIJetk4HkQfyC2rHF0NioWdfQMJ8SM\/iszXDg3TxB+9M0D5rR0\/N7RYKKQ8+ha302\/BTf8aKIpLipeCNFZGqaM1un6lrRl8Y6Vv8AR3PyytdfhAIwRkFVp2dzTOCnFxe5m6erftCx005OXhnA\/fO42\/181pqX0k72GtuNle7JhlMkYwd27A8\/6PqqhSmrSK+Hm5U03rp9giIoF4REQBERAEREAREQBERAEREAU3rOlkNFT3GDaailDwdth2+oCpF5VVOyrpZaeQZZKwsd4EYUouzuVVqfaQcT8pKmOspIqmI+5KwPHdkL2U1o6pdHDU2id+ZqOUgD\/pz1eefUKlSSs7CjU7SCkERFEtCka5jtL6hZcIRigrXcM7cbMP63Hmq5c1woILlRSUlQ3LJBz62nqI7wpRlZ56FNam5x7uq0Ohrg5oc0ggjII61+qb0vVTUs1TYax\/FNSHMR\/eYf\/I9e5UiSVnYlSqdpHEERFEsJXTgNr1HcrRjEZPSxDJ2HV8nD0VUpXUR+zNR227k4jJ6KU4JwN\/wcfRVSsnnaXUy8P3cVPo\/R5omNev4bJEzrdUD04XLQ0r\/y1Rfwn+8VifygTcQo6ZoyffkPgMf6rb0r\/wAtUX8J\/vFSa\/aRTB34yXh8GuiIqT0CWvuLNqWhvGHdDNmKcjOBtgZ8t8f9KqAQRkHIK5Lrb47pbZqST7490\/uuHI+qw9P6ip4LI6O5TCGWiPRODvicOrA5k7EeSstijlsZE1RqtPSWfnv8lQsS66npaCb2SmjdW1hOBDFvg9hPb3DdZxrrrqmUxW\/jobcCQ+c\/E\/uH5DzK2bTYKCztzTR8UpGHSv3cfy8kwqPMO0nV\/iyXX4Rkik1Xdcunq2W2F3JjPjA6uW\/zC+hosHL33esdKeb88\/14qnRO0e2RL9LTfNd+LJyzXGsorq6xXOQzS4LoJyd3txnB9Dz7OtUamb04s1jZy0lpIIJG2Rk7KmXJ7PqKDaxQb0YREUDSfhOBnsXLbbgy50gqY4pYmlxbwyjDtl1ounLO4REXDoREQBERASuoWOs17pL7Aw9G49HUho2I7fMf3Qqhj2yRtkY4Oa4AtI6wvGuoobhRyUs7eJkgx4HqI8FgaSq5ad9TY6t37akcTHnrb3fXzVnNHwMi\/arW2l7\/AJKdERVmsIiICV1RC62XOjv8AP7N4ZOB94f+Mj0VQx7ZI2yMcHNcAWkdYXDfaL7QstVTY95zCWfxDcfMLn0tWCtsFO7iy6IGJ3ly+WCrHnG\/QyxWCu47Sz89\/wDhsIiKs1GRqmj9s0\/UtAy6MdI3xG\/0yvbT9X7bYqScuLndGGuJ5kjY\/Rd72NkjdG9oc1wIcD1hTGnXOs16q7DMfccTLTOP3hjl6D+yVYs4tdDLPuVlLZ5eexl60kE986Pm2npsuyes5x9Wqr08ws0\/Qg9cLT67qLukhqZ79Wg5b0jIAc8xxDl\/9YV7bYxFbKWMcmQsaPJoU6mUEjNwverzn1+bf8OlF8SzRwROlme2ONgy5zjgAKWq7vX6infb7Kwx02eGWrdtt3dn18FVGLZuq1Y08tW9Ed121PHTT+w26I1tcTgMbu1h7yOfgPUKcntc1tvFHX35kU0VXIemA+Fjj2427\/IqwtFko7NB0dMzL3D35XfE\/wDIdy+r1bW3W1zUhxxOGYyepw5KyM1F2RlqUKlSOKbzWaW35O1rWsYGMaGtaMAAYAC+liaUuLq60NimP7elPRSA89uRPl9CttVSVnY2U5qcFJbhERcJkxd8S62tMTfjawv8t\/8AKVTqZps1evqqTGWUsHC12OvDcj5lUynPZGbh83OXV+2QREUDSEREAREQBERAEREAUxqilloKqDUFG0dJAQ2dv77eQ\/LzHYqdfMkbJY3RyNDmPBa5pGxB5hSjLC7lVWn2kMP28Tyo6uOuo4qqE5ZK0OHd3L3UpaZHadvr7LM4mlqXcdNI48ieQ\/Dxx2qrSUbM5RqY456rJ+IREUS4KX0QQymroCOF8dQctxjG3+hVQpjRvvy3WccpKnb5nn5qyPKzNU\/mp+fsU6IirNIU7qylkjhgvFMQ2ooXA5P3mk8vX6lUSmdZTySR0VqhPv1kwB69gRjI8SPRTp8yM\/FW7J3\/AK9vUnnwuGl6NrX5muFaXucDk7ZaPmc+av6urprbSOnqJBHFGMZP0Hav5\/XQR2DUkMMkj5KSmk9ojYDkjO+PH3QFtUFvrdUVUdzuw4KNhJgpx94dvh39fgrppOzehg4ecoNwiu9kvtq35ny32zWdQC9r6W0xnIH3pT+P0Cqqalgo6dsFNE2KJnJrV6Na1jAxjQ1rRgADAAX0qJSvktD0aVLB3m7ye4REUS4lqP8A4TriopscMNwZxsAGBxDf\/N6qpUzqkOiu1lqmA5ZUcJx1jLfwBVMrJ5pMzUO7KcOj98wvlzmsYXuOGtGSewL6WdqCr9isVXMHAO6MtaT2nYfVQSu7F85KMXJ7GRotvtDLhc37yVNQRkjfA3\/xfJVCyNLU3s2naUH4pG9Idsc9x8sLXUpu8mVcNHDSin\/bhERQLwiIgCIiAIiIAiIgCIiAytQ2Zt4t5Y0AVEXvQvzjB7M9h\/Jeem7ubnQmOoJ9spzwTNcMEntx+twVsqVvdNNYrs2\/UTC6F54auNvXnr\/XXjtVke8sJlqrs5dqtN\/Dr5exVIvKmqYqymjqIHh8cjeJpC9VWaU01dHNcKptDb6iqccCKMuG2d8bfNZOi6V1Np5j3c55HSY7BsB\/dXlq+czx0tnh3mq5W8Td\/hB\/Pv6lv01PHS00VPEMRxMDGg9gGFZpDxM679e+0V6s9URFWaQo2S4U1Tqmpuc8p9jtbOBu2eJ+4wPPPoOrlv6huX2VZ5pwcSO9yP8AiP6J8lEWC3sqKWeuriTQUeXmMH+cfgbH5evirqccm2edxdV9pGnHx\/vudNtt7tYXOvrap5iAaOEM5AkYaPAALd07dpad4sd0HR1cPuxOdykb1b\/rIX3oqldDYzO8HjqZXSZIxtyH0J819atp7dJbenrJegmj\/mJG\/HxdgHWPpzXZSTlh2I0qbp0lWT72rvvc3XvZGwvkcGNaMlzjgBTVXqeprqh1Fp+nNRIPincPdb4Z+p9CsKkrKnUNVT0V5uHs9M1gcARwdMerc8ye3u2V5RUNNb6dsFLC2Ng6hzPeT1qLioa5sthVnxPI7R9fwc1lo66jo3NuFX7TPI\/jccfDkDYdo27looirbu7myMVFWRMa0\/8AbP8AuR+Cp1L6mzWX20W5mMmTpX+GfyDlUKcuVFFLOrUfh7BTGtXulioLc0nNVPg4G5xgfVwVOpav\/wB917QwD4aWLjd47n\/KlPmv0HFZ08PVpFOxjY42sYMNaAAOwL6RFWaQiIgCIiAIiIAiIgCIiAIiIAviaKOeF8MrA+N4LXNPIhfaINSTs0j9PX2SyVDi6nqDx0zz1E9Xny8R3qsWRqS0G7W7EXu1MB44XdeesZ7\/AKgLCqNVun0twA4uEp9nLRz5bux3jbxKttjzRhVRcPeEtNV8HVZOK86mq7ySTT046GDIHZ1c+ok\/0lVLPsduFrtMFKQA8NzJg59481oKM3d5F9CDhDvavN+LC85poqeF80zwyNgy5zjsAvRfz3VF6lvFY6iouJ1NBku4fvkcz4Dq\/wBUhDEznEV1RhffY8LvcarVN4ZTUjXGIEthjPzcf1std1vF1ZFYrc93sNG4GpqCRl7ve5DG\/Lw9AvjTVOyzWCqvlQ333txFtkhucD1d9Avy3XRmnrHH7hqLjXu6VsYzyds0nb5defS99I7HmQS56r5s34bLzKC7Xij0\/RRsDOJ\/DwwQN5nGw8As212Wpu1WLvfRxE7wUx5MHVkfh6r2sthm9o+1ryemrnnLWncRdndn6KiVLajkj0I05VWpVMlsvn4M662Oiu8AjqI8PaCI5G7Fn5+Cwm3G6aVlMFxbLX0JILKkZy3u3+hPmq5fjmhzS1wBBGCD1rilbJ6FlSim8UHaXX56nHb7tQ3SPjo6hshAy5nJzfEc10zTRU8L5pnhkbBlznHYBYtZo+11MvTQtkpJM5zA7A9OrywudmiqdzsVNwqp4\/3C7C7aHUhj4hKzim+tzzsQkvOoqq+PbinjBip8jn1ZHlnP8Sql509PFSwMggjEcbBhrW8gvRRlK7LaNPs42erzfiFMWX9vrO7zncxtEYPmP8qp1MaW\/wDXNQf9z\/ieux5WV1s6lNfV+zKdERQNIREQBERAEREAREQBERAEREAREQH45wa0ucQABkk9S\/nLquI6gdqBlCXW9tSATjHvY+LHb1+OFQ6qrZKmSGwUeTUVRBkI5NZufwz4DvWvFZ6SKzi19GDCWcLsDBcet3jndXRagrvcwVouvPDH\/H36fJ2xyMljbJG4OY8BzXA7EHkV9KX05VS2uvm0\/XO3jJdTOP32nfA+vqFUKuUbM1UqnaRvvv4mDq+6SW60FkJAkqCY855NxuR3qTktT7bpZ1TPGRPXSsYxpG7WDLvmQPkv6LNTQVAb00TJOEhzeIZwQQfqApnXVRCaWmpGuLqsyh8cbRk43GfXYK2nLSKMXF0earJ7WRyarm6GjoNP0kfFIA0ubHvyGAO\/JyfTtWvp3Tjbaz2usPTV0g3c48XRjsB7e\/8AR\/dPWE0QNwryZbhPu9z9+jz1Dv7T5LeUZTssKLaNC8u1ms9l0XyERFUbQiIgCIiAIiIApjThEOpr5TuBDnyiQZ7MuP8AiCp1MakpZrdXw6ho2kuiw2oaPvN5Z9NvRThnddTNxF44ai\/xfpoU6Lnoa2C40jKqmfxRvHmD2HvXQoGhNNXQREQ6EXPV3CjoGcdXUxwjGRxuwT4DmVgS6ulrHGKyW2areDgyPaQwdh2\/HCkot6FU61OGTefqUrnNY0ue4NaOZJwAsO4aut9JJ0FNx1lQdg2EZGfH8srlFhvF2IN6uHBCTxez0\/hyP6K2rfZrfawfY6ZkbjzfzcfM7qVorXMqxVqnKsK+uv2Pm0VNxqoHy3GkZSku\/ZsByeHv7\/RFoIoN3ZoisKs3cIiLhIIiIAuG8XOK0W6SqkIyBiNp+8\/GwXZJIyKN0kjg1jAXOcTsAOZUnAx+r7z7VKxwtVKcMY446R3eP1tgKcY3zehRWqOKwx5np8nZpa1yNEt4rhmrrCXAObgxjJ5eP0wqJEXJSxO5OlTVOKiib1hQSOpYrrS7VFE4OyOfDn8Dv6rZtlfHcrdDVx8pG5I\/dPWPVdTmhzS1wBBGCD1qFNZV6XutbbKOPpm1BD6Zg34XO5beG3kFOKxq26M9SSoVO0ej18dihvuoGWzhpaZnT18u0cTRnGeRP5LnsGn5IJftS6PM1fJk4cciPP4\/IdS9bBYDQF1dXO6a4TbveTngz1Dv71urjkkrRJQpyqSVSp5Lp+QiIqzUEREAREQBERAEREAX45oc0tcAQRgg9a\/UQEzV6XqaSpkrbDWmmlecuid8J3zgfkQV+G6aqp8Nls8U2AAXRu5n1VOinj6q5m\/TpO8G4+GhMm66pe7EdliZk4HG7OPE8QXyKPV9b\/PV9PRsPNrAC4eg\/FVCJj6JD9Pfmm3529iepdG0LJemrppq6Xtldt3bc\/mt2CCGmiEUETIo28msGAF6IuOTepbClCnyqwREUSwIiIAiIgCIsbU94Nqt3DCCampJjiA5jbd3lkeZC6k27IhUmqcXKWiM271U2oLq2yUEhFM33qqZo28P1zJ7lSUdJDQUkdLTs4YoxhoXFp60iz2xsLt55DxzOznLj1eS1FKT2WhVRpv+SfM\/T6BF4VlZT0FM+oqZRHGwbk\/QdpUw+pumrZHR0RdR2wHhdKfik\/XZ6lcjG+exKpWUHhWbex03XUkk1R9l2NntFW4lrpB8Mfh2+PId6zrhpiot1s+1WVL5rjA\/ppX5yDvvjw55Peqi12mktFMIaaPf70h+J57yu1zQ5pa4AgjBB61PHh5Sl8O6ibqvPbojltlfHcrdDVx8pG5I\/dPWPVdalbE\/7E1BVWORx6GU9LTE+GcenzaqpQmrMuoVHOGeqyfiERFEuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIApO5yx0+taepuTnR0sbAIXn4eLHd3k+g6lWLxqKSmq2htTTxzAZwJGB2M9mVKMrMprU3OKS2dzOfqmyMBJr2HHU0E\/gs5+qK+5ODLFa5JATgzTtw0ehx6nyWuywWhhy23U\/mwFd7GMjYGRtDGtGA1owApXgtEQwV5ZSkkvp+Sbp9MVNfO2qv9W6ocNxAx2GD08uSpI42RRtjjY1jGjDWtGAB3BfSKMpN6llOlGnp+QiIolpN6wo3imgu9NtUULw7OM5bn8D+K3aOrjrqOKqhOWStDh3dy+5oWVEEkEgyyRpa4doIwVM2KaWx3iWw1Tv2MhL6V5HPu\/XWO9WLvRt0Mr\/AGq2LaXv+SqREVZqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCwNXW11XbBVwZFRRnpGEc8df0z5LfRdi8LuV1KaqQcXucFluTbra4asY4nDEgHU4c13rBtdmqbTfql9OWfZ1Q3i4M44HZ5Aevkt5dklfI5RcnDvrNBERRLQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ELISA GIL GARCÍA",
    "correoContacto": "mlgil@services-ges.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "976545794",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:03",
    "ubicacionGPS": "LatLng(lat: -24.9351574, lng: -69.9291692)",
    "horaLlegada": "10:42",
    "horaDespacho": "12:01",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


14/05/2026 12:03:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76063288

[14/05/2026 12:03:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76063288', 'EP2230', 1, 24456550, 219860, NOW(), 
				'12:01', '10:42', '12:03', 3, '•Impresora en buen estado, cliente pide no realizar nada mayor', -1, 
				'', '','1','235887',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778774594.png', '', null, 'COMPLETADO','LatLng(lat: -24.9351574, lng: -69.9291692)' )
				
[14/05/2026 12:03:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200311

14/05/2026 12:03:14 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200311'                    
				WHERE idllamado = 12582			
				TO ENVIO: micorreo@miempresa.cl, mlgil@services-ges.com


14/05/2026 12:03:14 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12582			
				
14/05/2026 12:03:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

[14/05/2026 12:03: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;
                

[14/05/2026 12:03: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;
                

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12582
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

[14/05/2026 12:03: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;
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12: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 = 12582
                

14/05/2026 12:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 12:04:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:24 - logentry: =========================================
FECHA: 14/05/2026 12:04:24
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-DWK0RIUO94ay23vBchGeoCSNVIzfrn3MDiCTfNrLtAzJT9CkCjQ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "TO3121",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "1877",
    "contadorColor": "5838",
    "contadorScanner": "0",
    "detalle": "Mantenimiento, ajustes y\nLimpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12587",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADXAQ0DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABGEAABAwMCAwUGAwUECAcBAAABAAIDBAURBiESMUETUWFxgRQikaGxwSMy0SRC0uHwBxVSYhYlM0NTssLxJjRHY3KChJL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQIDBAgGAwEAAAAAAAAAAQIDERIhMQRBUWETIjJxocHR8BQjgZGx4TNSYkL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEXOaaOnhfNM8MjYMuc47AKNarrBd6U1FO2QMDy3324zjqF2ztcjiipYb5k1ERcJBERAEREAVDf7hVUV3s0VPKWMqJy2VuBhwy0fcq+WY1R71\/sDRuRUZI8OJn6KcFeRn2ltU7rivyjToiKBoCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAL45wa0ucQABkk9F9WSvFbUagugsltkIp2n9qmby8R5D5lSjHEyqrVVNcW9EeayafV1x9ho3ujtkDszTD\/eH+uXx7lq6enipYGQQRiONgw1reQXOhooLdSMpaZnDGwY8Se8+KkLspXyWhGlScbylnJ+7IIiKBeEREAREQBZi6\/ja5tUI37OMvOOn5v0WnWKddaem1Xc7nUuyylZ2MbGndzuWB8HKymtTJtUklFPivDM2FRUQ0kDp6iRscbBkucVmpLxdtQudDZIjT0wPC+ql2Pp\/LfyXintFw1LMytvZMNKBmGmYcZHee76nwWqiijgibFCxscbBhrWjAATKPNhY6\/+Y+L9DNN0NSSsaayuqppsbva4Ac89QT1716sM9Zbr1PYqyc1DGt7SCRxycd39ciFplmP\/AFE\/\/N9l1Sck0yE6UKMoygrZpGnREVRuCIiAIiIAiIgCIiAIiIAiIgCIiAIirb5eI7LbzUObxvceGNmccR\/RdSbdkRnJQi5S0RA1LeZYHR2q3gPrar3dj\/swds+Z+WMqwsdois1vbTsIfITxSPx+Z36KDpqzS0wkuVwHFXVJ4jxc4wengf8Asr9Tk0lhRnpRlKXSz13LgvVhERVmoIiIAiIgCIuNVUw0dNJUzv4IoxlxQ42krsj3i6RWm3SVUhHEBiNhP53dAsvpXTZqntu9xGWudxxRkfmOfzHw7h18ucETz6x1HDG9pZTR5PAD+SMc\/U7DPkv0NrQ1oa0AADAA6K5\/LVt7MELbVUxvsx05vifURFSegFl6LE39ode7GRFTgA464Z+pWoWY07io1Ne6kcmyCMHv3I\/6VOGjZmr5zguf4TNOiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIDnNNHTwvmmeGRsGXOcdgFlrRBJqa7uvVXGBSQHgp4Xb7jr88+fkvt4qJNRXdljo5MUsZ4qmVozgjO39dfJaiCCKmgZBCwMjjHC1o6BWdhc2ZP55\/5j4v8AR0Xh8scbmtfI1pccNBOM+S9rL3U+262tlIBltM0yuzyB3P8A0t+KjFXZdVqYEmt7SNQiIoloREQBERAfHODWlziAAMknovz\/AFBfG3arfHx5oKd+GRsO87+\/y+g8SFZa1vvYxm1UzxxvH456tGxA9fp5rjo\/Toe2K61e4B4oIz3\/AOI\/Db4q+EVGONnl7RUlWqdBT+pbaUsbrTQmWduKmfBeM54R0Hhz3V+iKmTcndnoU6cacFCOiCIi4WHlzmsYXuOGtGSe4LN6HYX2+qq3N4TPUE48AB9yVb32f2ax1soOCIXAHuJGB8youk6f2fTlKOsgMh9Tt8sKxZQZmlntEVwTfkXKIirNIREQBERAEREAREQBERAEREAVJqa8SW6mjpqTJrqo8EIABxuBn54H8laVlXDQUklVUP4YoxlxWd05RzXSvl1DXsAc88MEZGzQMe8Pp8SpxS7TM1ebbVOGr8Fx9C10\/aGWa2Mg5yv9+U\/5scvIK0RFFtt3ZfCChFRjogsxbSKrXdynJyIIhG0HofdH2PxWnWV0nJHLebzL2jeOSclrC73uEOdvju3CnHRsz1s6lOPP8I1SIirNQRFAuN7t9qYTVVDQ\/pG3d59F1JvQjKUYq8nYnqgv2q6S1NfBARPV4IDWn3Yz\/mP2+iguq77qY4oWm3UB\/wB6\/Ic8eB6+nxUCzWOkrNRE0zS6ioC0Pe\/OZXj+fTuHirYwSzkYau0TnaNJa735epArrDVwwwzVz3Or6+bEceckd5d47jYcvkv0WkpmUdJFTRgBkTA0YHcFnGkXbXRIIdDbY8bH9\/8A7k\/\/AM\/HUrlSTaSZLZKUYuUo93218QiIqjcEREBndcTGOwdkM5nmazA68z9gryjg9looKf8A4UbWfAYWd1N+13+z2\/O3ado8DuyP0ctQrJZRSM1PrVpy4WXn5hERVmkIiIAiIgCIiAIiIAiIgCIqTU12fbqJsFMf2ypPBEARkZ6\/ZdSu7IhUmqcXJlbcpX6mvzLTTv8A2KlPHUPa7aTlkfYep6LVRRMhiZFG0NYxoa1o6Acgq7T9oZZrYyDnK\/35T\/mxy8grRSk1otCqhBq859p+7BR62tp7fSvqamQMjYNz3+A8VIWQkcdW34QtObXRHiLgDiV223rv6ea5GN9dCVao4JKOr0L2huxrLK64upnwcLHO4X9QBnI8CsjoIk32ck5Jpnf8zVfajvlup7TVUUVQx074zG2OPfGdt8bDZZHTRujbm9tqYwzviIcZOTWkjf4471fCPUluPOr1bV6ave3A\/TpJGRML5HtY0cy44AVBXayt8Duyo2vrpycBkQIGfPG\/plcYtIzVjmy3u5TVTwc9mxx4B4b\/AGAV7Q22itsfZ0dOyEHmRuT5k7lVdRczbevPRYV936Gf7PVF7LhI9tqpndAPfx9fop9u0na6AB0kXtU3MyTDO\/gOSu0XHN6LIlHZ4J4pZvmUeqbg6htYpqf\/AMzWHsYmjY4PM\/PHqF7oaaLTWm3F4y6JhllwPzP7voPRVlBx3\/V81ccilt\/uRDll24\/U\/BdtYzyTspLPBntKyUcWB+6D+u\/op20j9zO55Sr\/AEXvmzpoukfHapK2Yky1sheSRgkAkD55PqtEucMTKeCOGMYZG0NaPADC6KuTu7mylT6OCjwCIiiWBEXOeZtPTyTP\/LGwuO+NgMoG7Gaof9Ya7rKj3Syjj7NvXfl\/EtSs1omFxt1TXSY46qcuOB0H8yVpVOp2rcDNsq+Xie+7+4REUDSEREAREQBERAEREAREQHKpqI6SmlqZncMcTS5x8As1YKea9XWTUFY0iMEspGHGzcn6fXK46ouMFwuEdnNQIIIncdVKcYG2wHed+XefBdxqqMhlFYbZJU8I4W7cLG+nd54Vyi1HLeefOtCVXrPKPi\/1+TUqvr75bLbkVNXG14OCxp4nfAbqldadR3n3rhXsoYXDeGHJPkQD9yp9DpWz20GR0ImcBkvqMOA9OQUcMVqy7pKs+xGy4v0KO66zkrYXUlvpXME+YxLIcEg7bDofVdbdoytNIIa24vhhcS51PCdifE8ifQ8l3sjX33UE14la4UlP7lI0jbuyB5bnxPgtWpylhyiZ6NHpm6lV34bsjFans9ss1kaylph280rWB7jxOOMk8+XLpjmpNmgEGt62JuOGGjZHty2bGPsu+paSqr7vaoIopDC2TjkkawlrdxzPkD8V50mfbLhdbnjaWbgYRyxz+mF2\/UuyOBLaEoq2a8E7\/k06Ishqq8zuuVLardOWScbe0cw\/vE4a305\/BUxi5OxurVVSjiZr1UanuYtllme3eWUdnGPE8z6D7K2aCGgElxA5nqsxcv8AWutKOh\/NFRM7aQEZGdj\/AA8+\/wCPYK7zI7RJqFo6vJfUtdPW0WuzQ05aBIRxyeLj\/LA9FVUB\/vLXNZUkZjoWdkw9zuX8f9ZWjqp20tJNUP8AyxMc8+QGVQaJp3C1S1j\/AM9VM53LoNvrldTycmVyilOnSWiz+37NIiIqzYEREAVHrCs9k09MB+aciIeu5+QKvFlNSTx1Oo7fRSvDYKf9omcdgAN9z5D5qdNXkZ9qlhpNLfl9y\/tFH7BaaWlxgxxji\/8Akdz8yVKa5r28TXBw7wcrCXK\/1+o60W21NdHA84zyc8dS49G\/14LWWyihsNnbC+cujhBe+R52HU47h4LsotZvVkKNeM3hguqt56vF2gs9EaiYguJwxmcF57v5rNaarbrer8+ulqHtp4wQ6MZ4CDyaBy8e9UtfXVGpLwCyLJl\/CgiLvyDvPz\/oL9As9sitFujpYwMgZkcP3n43Km0oRz1ZnhOW01rp9SPiTkRFQemEVNetR09qIp4mGprH7NhZvg+P6LpYY7s2nkmu04c+YhzIg3HZeH026KWF2uypVoueBZ8eRaoiKJaERZm43ytuFa612FmZGj8WocMBnln6\/BSjFsqqVY01dlrdb7QWdgNVIS88ombuPp+qzV11Pen0ntNNSGgpcgNkkALnk92fsOnNXdp0vR293b1B9sqicmWUZwfAH681Wy\/+KNTez7Ot9uJL9tnu5Y594OPAHvVkcKfEx1nWlGzdm9EvN+gsmkqeopm192D556j8Qsc4gDO+TjclamGCGmiEUETIo28msGAF0RVyk5amulRhSVooKg1hXOprR7LE7E9Y7smgcyP3vsPVX6zDg2764ALQ6G2x5329\/p54J+Xx7DW73EdpbwYVrLL39C7tVAy2W2CkbgmNo4nAY4ndSpiLnNNHTwvmmeGRsGXOcdgFHVlySjGy0RV6nuIt9mkwR2s57KME4znnv0GM7\/RSLFQf3bZ6enP5+EOftj3jz\/T0VFQRyaqu\/wDeVTltDSPxTRluOM55n4DPwWtU5dVYTPSfSTdXdovUg3i5xWi3SVUhGQMRtP7z8bBYzSFHLX6ikrKkuc6nBkeXdXnYA\/M+il3aode7nUvIzbrU1zieEkSvHT1I+A8VbaMpDBYxUPyZKp5kJJycch9M+qn2IPizM26+0R\/qvL9l7NKyCF80h4WRtLnHuA3KzejY31Pt13mHv1UpA97OAN\/qcei76xrXwWptHDvNWvETR1I6\/YeqsLK2lgt0dHSzRyinbwPLDkcXX55UNId5obU9oS\/qvF\/oiavqPZ9OVAHOUtjHqd\/kCp9op\/ZLRSQdWRNB88b\/ADVJq8GqqrVbgM9vUcTh0wMD6ErTrjygiUOtXk+CS8wiIoGkIi5zTR08L5pnhkbBlznHYBBoJpo6eF80zwyNgy5zjsAvzOqbU6m1DO+jjdJ2j\/dJ2DWDYE922FM1FeKq9slfTNey207gOIgjtHeP1x3LW6Yt4t9jgaWASyjtJDjck7jPkMBaF8tX3nlVH8XU6NdlZ34nqxWKnslLwMw+d4\/Elxz8B4Ki1vdyQy0UziXuIdMG5z\/lb65z8Fo7vd6azUZqKg5cdo4wd3nu\/ms1palbebtVXyqHvsk\/DZjYEj7DGFGH95Fte1ls9LJvwRZ6U0+LXSipqYx7ZKN879m3u8+9aFFWXXUFvs44aiXilxkRM3cf09VW25s1RVOhTtokWLnNYwve4Na0ZJJwAFmK2\/1d4qTbdPDJx+JVHYNHh3efPuXIUl61Q4Orc2+3ndsbT7zh0z3+uPJaaioqa30zaeliEcbeg6nvPeVKyhrmyq86\/Z6seO993AgWXTtLZ\/xcmeqcPfmfz8cdyt0RQbbd2aIQjCOGKsgiIuEyDeoqiaz1MVIXCZzMN4efPfG46ZVRpG4WwUDaGEdhVM3mZJsXu5Ejv36dFpVWXTT1uu546mHhl\/4sZ4Xcuvf6qcWrWZnqU5Y1UhrpZ+8jjqe7G2WwthcRVVB4IQ3n4kbdM\/NdrBaW2e1xwYBlcOKU7fm7s9QFjaG23GvuMlRbZxVRUEmIX1L85OeYHnur7++9SUm1XYe3x1gJ3+HErHCywpmWnXxTdSadtFldczToswNYzNH41jq2E8uZ+oCf6Zk7Ns1YT0GOfyVfRy4Gn4ujx8GaKpmbTUss7vyxMLzv0AyqHRcLjbZrhJvLWzOe446An75VZedSXKptMzHWaWlglHAZZCevoF0oLZqea2wUraqKipg0cJY738c85Hn3hTULRzM7rqdZOKbsuG995o7neqC0xl1VOA\/GRG3d7vIfqqARXTVk7XVDH0Nrachn70uD8\/p5qyt+k7fRS9vNx1k5IJfPg794H65V4o3UeyX9HUq\/yZLgvNnOngjpaeOCFoZHG0NaB0Co9U3aSmp222iBfW1Y4Q1o3DDkEjx6fHuVpdLlBaaF9XPktbsGjm49AFTact1RU1Ul+uTf2ibeBpP+zYfDpscDwSK\/6YrSbtRhq\/Be9CTFp4UumJbXC4GWRh45Mfmcf6wqy33a92+3w0DdPzvfC3h7Qk8J+X3WslljhidLK8MYwZc5xwAFn36tilo66oponiGnZiOZw2e87AYx6+S7FuW65CrCnTatLDlb6FHHS3LVd8mbVzMp\/YwWuMQ4gzfkN987756Kfoqijjr7jUQlxhY7sYy45Lt8k7bdB8V3tkTrLouorJD+POx0pLj1ds36j4qdpCl9l07BnHFMTIcDv5fIBTlLqtLTQz0KXzISetm35EO6Zl15aoTybEX\/APP\/AArTrMOHH\/aIzJ\/JTbfA\/qtOq57u42bPm5vn6BF4lljgidLM9scbBlznHAAWZq9S1dymdRafp3Snk6qcMNb5Z+p+CjGLkWVK0aeuvDeW93vtFZog6ofmRwyyJu7nfoPFYqpqLtqq7so3\/gtPvCL92Nvee8+fyWptOl4aOb22vlNbWu3L5N2tPhn6n5KhtV6isD672+lmfcZZjxhvCRjGfzeZOVdCyvhzZ5+0OcnHpXhi93rzZMu1DA+42rTtIzEEZ7WYA747z0zgH4hWt51NTWx\/s0LDVVh2ELN8Hpn9Oazdstt3v9bUXaOpFIydxaZAcuA22b12AA6LVWjT9FZ2B0be0qCPenf+Y\/ouSwq18yVHpJ3cFZPfyWlkV1qsFTV1n97X0iScnMcH7sfmPt8d15GnrzbXyiy3OOKGR\/F2crBttv0PcOgWoRV9IzUtlp2tnfjfMy5suqKnapvrIx17EEfQBT7Zpe3W5wlcw1NRnJlm337wOn1VyiObeR2Oz008TzfPMIiKBoCIiAIiIAs\/q25yUtFHQ0uXVVa7s2hpwQOW3jkgfFX7nBrS5xAAGST0WVszDfdTVN5kGaemPZU4PLP\/AGJPm4KcFve4zbRJtKnHWX43l9abcy1W2GkZuWD33f4nHmfipqIot3zNEYqKSQREXDpmtdv4bCwb+9O0fJx+y0ULOyhZH\/gaB8FntdRmSwscNhHO1x2Pc4fUhaCnnjqqeOeFwfHI0OaR1Cm+wjND+efcvM6LnUVEVLA+eeQRxsGXOdyC43C5UlrpjPVyhjeg6uPcB1WbYy46vnY+ojdSWph4g3PvS939ckjG+b0JVa2F4Y5y4ep5pIptXXU1lU1zbXTuIhiO3aHx+p+C14AAwBgBeIYY6eFkMLAyNgw1rRsAui5KVztGlgV3m3qzLX4zXy9xWCGTsoY2iWocN89w+Y59T4BcbzSxT3G26bo4+CnYe1mDe7x9M+pCsb1Yqmoq23O1VAp65gwcgAPHjtufPKpaSa6Wa8VVwudrmqJZhw9rEctA25c+e3dy+F0dMvbMNVNSamtXr\/ngbOWmhnp3U8sTHwuHCWEbYXuONkUbY42hrGANa0DYAcgs1\/pbWu2Zp2sc7oPe\/hXx1Xqy5OxTUUVviP70py4eef4VXglvNXxNN9lNvkmHubH\/AGgGSRwYwUu7nHAG3eutbq6HtTS2mnfcKj\/I08I+5\/rdUVfZpotRW+O8VbqwVZ4XOBxg5xwjwyR3LcUVBSW+HsaSBkLOvCNz5nmfVSlhVnqUUelm5RXVz+ufgZyLT91vUgmv9U5kXNtNEcY8+g+Z8VpaWkp6KBsFNE2KNvJrQuyKuUmzXToxp5rXi9Qs1q+tdIyGzUvvVNY4A4P5W5HPwJ+hV5cK6G20MtXO4BsbSQM44j0A8SqPS9JLVzz3+sH41USImn9xmf5YHgPFSgrdZlddubVGOr15L3kXtBRRW+hhpIfyRN4c956n1OSpCIqzSkkrIIiIdCIiAIiIAiIgCIiAo9WXF1FavZ4T+01Z7KMA4OOp+3qFOs9vbbLVBSAbsbl573Hc\/NUNEDf9XS1zs+y2\/wByMEYy7Jx9z8AtYrJZJRMtH5k3V3aLu\/bCIirNQREQHOaGKoidFMwPY4YLXDYrOjSlZSOLbbep6eAknsjkgeW\/2WmRSUmtCqpRhUzkigo9IUcU3tFfNLcJ+rpzlvw\/UlXwAAwBgBfUXHJvU7CnCmrRVgiIuFgREQBERAUWrLdLW2sTUwJqKV4lZw8z3gfI+inWa5x3W3RzteDJwgSsHNj+ox5qcQCMEZBWdq9NVFLVSVtgqRRyvHvREDsz5DBU001ZmacZQn0kVe+q8zRrhV1lNQwmaqnZCwdXHGfLvWfzrOQCPho4\/wD3Nu\/1+i9U+lJKqcVV9rX1so5RtJDB9Plhdwpas4605ZQg788kRIIptXXn2qZrm2mmdiNh27Qj9evhsteAAMAYAXmKKOGJsUTAxjBhrWjAAXtRlK5ZSpYE23dvVhERRLgiIgCIiAIiIAiIgCqtSXI2uyzTMOJX\/hxnucevoMn0Vqsrcmm+aup6BriaagHaTY5cXPH0HxU4K7zKNom4wtHV5ItdNW11rssMMgxK\/wDEkGOTj09BgeitURRbu7lsIKEVFbgiIuEgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAj11WygoZquQEtiYXEDr4Kk0bRkUM1ymae3rZC8k\/4c\/rk\/Bc9YTvqXUdlgfiSrkBeB0bnbPhnf\/6rRwxMp4I4YxhkbQ1o8AMKzSHeZV8yvfdH8v8AR0REVZqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgKSns9QdU1F1qTGYwwMpw3mNgCfr8Vdoi622QhBQvbfmERFwmEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:04",
    "ubicacionGPS": "LatLng(lat: -23.1006162, lng: -70.4524889)",
    "horaLlegada": "11:23",
    "horaDespacho": "11:21",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 14/05/2026 12:04:24
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-DWK0RIUO94ay23vBchGeoCSNVIzfrn3MDiCTfNrLtAzJT9CkCjQ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "TO3121",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "1877",
    "contadorColor": "5838",
    "contadorScanner": "0",
    "detalle": "Mantenimiento, ajustes y\nLimpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12587",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADXAQ0DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABGEAABAwMCAwUGAwUECAcBAAABAAIDBAURBiESMUETUWFxgRQikaGxwSMy0SRC0uHwBxVSYhYlM0NTssLxJjRHY3KChJL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQIDBAgGAwEAAAAAAAAAAQIDERIhMQRBUWETIjJxocHR8BQjgZGx4TNSYkL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEXOaaOnhfNM8MjYMuc47AKNarrBd6U1FO2QMDy3324zjqF2ztcjiipYb5k1ERcJBERAEREAVDf7hVUV3s0VPKWMqJy2VuBhwy0fcq+WY1R71\/sDRuRUZI8OJn6KcFeRn2ltU7rivyjToiKBoCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAL45wa0ucQABkk9F9WSvFbUagugsltkIp2n9qmby8R5D5lSjHEyqrVVNcW9EeayafV1x9ho3ujtkDszTD\/eH+uXx7lq6enipYGQQRiONgw1reQXOhooLdSMpaZnDGwY8Se8+KkLspXyWhGlScbylnJ+7IIiKBeEREAREQBZi6\/ja5tUI37OMvOOn5v0WnWKddaem1Xc7nUuyylZ2MbGndzuWB8HKymtTJtUklFPivDM2FRUQ0kDp6iRscbBkucVmpLxdtQudDZIjT0wPC+ql2Pp\/LfyXintFw1LMytvZMNKBmGmYcZHee76nwWqiijgibFCxscbBhrWjAATKPNhY6\/+Y+L9DNN0NSSsaayuqppsbva4Ac89QT1716sM9Zbr1PYqyc1DGt7SCRxycd39ciFplmP\/AFE\/\/N9l1Sck0yE6UKMoygrZpGnREVRuCIiAIiIAiIgCIiAIiIAiIgCIiAIirb5eI7LbzUObxvceGNmccR\/RdSbdkRnJQi5S0RA1LeZYHR2q3gPrar3dj\/swds+Z+WMqwsdois1vbTsIfITxSPx+Z36KDpqzS0wkuVwHFXVJ4jxc4wengf8Asr9Tk0lhRnpRlKXSz13LgvVhERVmoIiIAiIgCIuNVUw0dNJUzv4IoxlxQ42krsj3i6RWm3SVUhHEBiNhP53dAsvpXTZqntu9xGWudxxRkfmOfzHw7h18ucETz6x1HDG9pZTR5PAD+SMc\/U7DPkv0NrQ1oa0AADAA6K5\/LVt7MELbVUxvsx05vifURFSegFl6LE39ode7GRFTgA464Z+pWoWY07io1Ne6kcmyCMHv3I\/6VOGjZmr5zguf4TNOiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIDnNNHTwvmmeGRsGXOcdgFlrRBJqa7uvVXGBSQHgp4Xb7jr88+fkvt4qJNRXdljo5MUsZ4qmVozgjO39dfJaiCCKmgZBCwMjjHC1o6BWdhc2ZP55\/5j4v8AR0Xh8scbmtfI1pccNBOM+S9rL3U+262tlIBltM0yuzyB3P8A0t+KjFXZdVqYEmt7SNQiIoloREQBERAfHODWlziAAMknovz\/AFBfG3arfHx5oKd+GRsO87+\/y+g8SFZa1vvYxm1UzxxvH456tGxA9fp5rjo\/Toe2K61e4B4oIz3\/AOI\/Db4q+EVGONnl7RUlWqdBT+pbaUsbrTQmWduKmfBeM54R0Hhz3V+iKmTcndnoU6cacFCOiCIi4WHlzmsYXuOGtGSe4LN6HYX2+qq3N4TPUE48AB9yVb32f2ax1soOCIXAHuJGB8youk6f2fTlKOsgMh9Tt8sKxZQZmlntEVwTfkXKIirNIREQBERAEREAREQBERAEREAVJqa8SW6mjpqTJrqo8EIABxuBn54H8laVlXDQUklVUP4YoxlxWd05RzXSvl1DXsAc88MEZGzQMe8Pp8SpxS7TM1ebbVOGr8Fx9C10\/aGWa2Mg5yv9+U\/5scvIK0RFFtt3ZfCChFRjogsxbSKrXdynJyIIhG0HofdH2PxWnWV0nJHLebzL2jeOSclrC73uEOdvju3CnHRsz1s6lOPP8I1SIirNQRFAuN7t9qYTVVDQ\/pG3d59F1JvQjKUYq8nYnqgv2q6S1NfBARPV4IDWn3Yz\/mP2+iguq77qY4oWm3UB\/wB6\/Ic8eB6+nxUCzWOkrNRE0zS6ioC0Pe\/OZXj+fTuHirYwSzkYau0TnaNJa735epArrDVwwwzVz3Or6+bEceckd5d47jYcvkv0WkpmUdJFTRgBkTA0YHcFnGkXbXRIIdDbY8bH9\/8A7k\/\/AM\/HUrlSTaSZLZKUYuUo93218QiIqjcEREBndcTGOwdkM5nmazA68z9gryjg9looKf8A4UbWfAYWd1N+13+z2\/O3ado8DuyP0ctQrJZRSM1PrVpy4WXn5hERVmkIiIAiIgCIiAIiIAiIgCIqTU12fbqJsFMf2ypPBEARkZ6\/ZdSu7IhUmqcXJlbcpX6mvzLTTv8A2KlPHUPa7aTlkfYep6LVRRMhiZFG0NYxoa1o6Acgq7T9oZZrYyDnK\/35T\/mxy8grRSk1otCqhBq859p+7BR62tp7fSvqamQMjYNz3+A8VIWQkcdW34QtObXRHiLgDiV223rv6ea5GN9dCVao4JKOr0L2huxrLK64upnwcLHO4X9QBnI8CsjoIk32ck5Jpnf8zVfajvlup7TVUUVQx074zG2OPfGdt8bDZZHTRujbm9tqYwzviIcZOTWkjf4471fCPUluPOr1bV6ave3A\/TpJGRML5HtY0cy44AVBXayt8Duyo2vrpycBkQIGfPG\/plcYtIzVjmy3u5TVTwc9mxx4B4b\/AGAV7Q22itsfZ0dOyEHmRuT5k7lVdRczbevPRYV936Gf7PVF7LhI9tqpndAPfx9fop9u0na6AB0kXtU3MyTDO\/gOSu0XHN6LIlHZ4J4pZvmUeqbg6htYpqf\/AMzWHsYmjY4PM\/PHqF7oaaLTWm3F4y6JhllwPzP7voPRVlBx3\/V81ccilt\/uRDll24\/U\/BdtYzyTspLPBntKyUcWB+6D+u\/op20j9zO55Sr\/AEXvmzpoukfHapK2Yky1sheSRgkAkD55PqtEucMTKeCOGMYZG0NaPADC6KuTu7mylT6OCjwCIiiWBEXOeZtPTyTP\/LGwuO+NgMoG7Gaof9Ya7rKj3Syjj7NvXfl\/EtSs1omFxt1TXSY46qcuOB0H8yVpVOp2rcDNsq+Xie+7+4REUDSEREAREQBERAEREAREQHKpqI6SmlqZncMcTS5x8As1YKea9XWTUFY0iMEspGHGzcn6fXK46ouMFwuEdnNQIIIncdVKcYG2wHed+XefBdxqqMhlFYbZJU8I4W7cLG+nd54Vyi1HLeefOtCVXrPKPi\/1+TUqvr75bLbkVNXG14OCxp4nfAbqldadR3n3rhXsoYXDeGHJPkQD9yp9DpWz20GR0ImcBkvqMOA9OQUcMVqy7pKs+xGy4v0KO66zkrYXUlvpXME+YxLIcEg7bDofVdbdoytNIIa24vhhcS51PCdifE8ifQ8l3sjX33UE14la4UlP7lI0jbuyB5bnxPgtWpylhyiZ6NHpm6lV34bsjFans9ss1kaylph280rWB7jxOOMk8+XLpjmpNmgEGt62JuOGGjZHty2bGPsu+paSqr7vaoIopDC2TjkkawlrdxzPkD8V50mfbLhdbnjaWbgYRyxz+mF2\/UuyOBLaEoq2a8E7\/k06Ishqq8zuuVLardOWScbe0cw\/vE4a305\/BUxi5OxurVVSjiZr1UanuYtllme3eWUdnGPE8z6D7K2aCGgElxA5nqsxcv8AWutKOh\/NFRM7aQEZGdj\/AA8+\/wCPYK7zI7RJqFo6vJfUtdPW0WuzQ05aBIRxyeLj\/LA9FVUB\/vLXNZUkZjoWdkw9zuX8f9ZWjqp20tJNUP8AyxMc8+QGVQaJp3C1S1j\/AM9VM53LoNvrldTycmVyilOnSWiz+37NIiIqzYEREAVHrCs9k09MB+aciIeu5+QKvFlNSTx1Oo7fRSvDYKf9omcdgAN9z5D5qdNXkZ9qlhpNLfl9y\/tFH7BaaWlxgxxji\/8Akdz8yVKa5r28TXBw7wcrCXK\/1+o60W21NdHA84zyc8dS49G\/14LWWyihsNnbC+cujhBe+R52HU47h4LsotZvVkKNeM3hguqt56vF2gs9EaiYguJwxmcF57v5rNaarbrer8+ulqHtp4wQ6MZ4CDyaBy8e9UtfXVGpLwCyLJl\/CgiLvyDvPz\/oL9As9sitFujpYwMgZkcP3n43Km0oRz1ZnhOW01rp9SPiTkRFQemEVNetR09qIp4mGprH7NhZvg+P6LpYY7s2nkmu04c+YhzIg3HZeH026KWF2uypVoueBZ8eRaoiKJaERZm43ytuFa612FmZGj8WocMBnln6\/BSjFsqqVY01dlrdb7QWdgNVIS88ombuPp+qzV11Pen0ntNNSGgpcgNkkALnk92fsOnNXdp0vR293b1B9sqicmWUZwfAH681Wy\/+KNTez7Ot9uJL9tnu5Y594OPAHvVkcKfEx1nWlGzdm9EvN+gsmkqeopm192D556j8Qsc4gDO+TjclamGCGmiEUETIo28msGAF0RVyk5amulRhSVooKg1hXOprR7LE7E9Y7smgcyP3vsPVX6zDg2764ALQ6G2x5329\/p54J+Xx7DW73EdpbwYVrLL39C7tVAy2W2CkbgmNo4nAY4ndSpiLnNNHTwvmmeGRsGXOcdgFHVlySjGy0RV6nuIt9mkwR2s57KME4znnv0GM7\/RSLFQf3bZ6enP5+EOftj3jz\/T0VFQRyaqu\/wDeVTltDSPxTRluOM55n4DPwWtU5dVYTPSfSTdXdovUg3i5xWi3SVUhGQMRtP7z8bBYzSFHLX6ikrKkuc6nBkeXdXnYA\/M+il3aode7nUvIzbrU1zieEkSvHT1I+A8VbaMpDBYxUPyZKp5kJJycch9M+qn2IPizM26+0R\/qvL9l7NKyCF80h4WRtLnHuA3KzejY31Pt13mHv1UpA97OAN\/qcei76xrXwWptHDvNWvETR1I6\/YeqsLK2lgt0dHSzRyinbwPLDkcXX55UNId5obU9oS\/qvF\/oiavqPZ9OVAHOUtjHqd\/kCp9op\/ZLRSQdWRNB88b\/ADVJq8GqqrVbgM9vUcTh0wMD6ErTrjygiUOtXk+CS8wiIoGkIi5zTR08L5pnhkbBlznHYBBoJpo6eF80zwyNgy5zjsAvzOqbU6m1DO+jjdJ2j\/dJ2DWDYE922FM1FeKq9slfTNey207gOIgjtHeP1x3LW6Yt4t9jgaWASyjtJDjck7jPkMBaF8tX3nlVH8XU6NdlZ34nqxWKnslLwMw+d4\/Elxz8B4Ki1vdyQy0UziXuIdMG5z\/lb65z8Fo7vd6azUZqKg5cdo4wd3nu\/ms1palbebtVXyqHvsk\/DZjYEj7DGFGH95Fte1ls9LJvwRZ6U0+LXSipqYx7ZKN879m3u8+9aFFWXXUFvs44aiXilxkRM3cf09VW25s1RVOhTtokWLnNYwve4Na0ZJJwAFmK2\/1d4qTbdPDJx+JVHYNHh3efPuXIUl61Q4Orc2+3ndsbT7zh0z3+uPJaaioqa30zaeliEcbeg6nvPeVKyhrmyq86\/Z6seO993AgWXTtLZ\/xcmeqcPfmfz8cdyt0RQbbd2aIQjCOGKsgiIuEyDeoqiaz1MVIXCZzMN4efPfG46ZVRpG4WwUDaGEdhVM3mZJsXu5Ejv36dFpVWXTT1uu546mHhl\/4sZ4Xcuvf6qcWrWZnqU5Y1UhrpZ+8jjqe7G2WwthcRVVB4IQ3n4kbdM\/NdrBaW2e1xwYBlcOKU7fm7s9QFjaG23GvuMlRbZxVRUEmIX1L85OeYHnur7++9SUm1XYe3x1gJ3+HErHCywpmWnXxTdSadtFldczToswNYzNH41jq2E8uZ+oCf6Zk7Ns1YT0GOfyVfRy4Gn4ujx8GaKpmbTUss7vyxMLzv0AyqHRcLjbZrhJvLWzOe446An75VZedSXKptMzHWaWlglHAZZCevoF0oLZqea2wUraqKipg0cJY738c85Hn3hTULRzM7rqdZOKbsuG995o7neqC0xl1VOA\/GRG3d7vIfqqARXTVk7XVDH0Nrachn70uD8\/p5qyt+k7fRS9vNx1k5IJfPg794H65V4o3UeyX9HUq\/yZLgvNnOngjpaeOCFoZHG0NaB0Co9U3aSmp222iBfW1Y4Q1o3DDkEjx6fHuVpdLlBaaF9XPktbsGjm49AFTact1RU1Ul+uTf2ibeBpP+zYfDpscDwSK\/6YrSbtRhq\/Be9CTFp4UumJbXC4GWRh45Mfmcf6wqy33a92+3w0DdPzvfC3h7Qk8J+X3WslljhidLK8MYwZc5xwAFn36tilo66oponiGnZiOZw2e87AYx6+S7FuW65CrCnTatLDlb6FHHS3LVd8mbVzMp\/YwWuMQ4gzfkN987756Kfoqijjr7jUQlxhY7sYy45Lt8k7bdB8V3tkTrLouorJD+POx0pLj1ds36j4qdpCl9l07BnHFMTIcDv5fIBTlLqtLTQz0KXzISetm35EO6Zl15aoTybEX\/APP\/AArTrMOHH\/aIzJ\/JTbfA\/qtOq57u42bPm5vn6BF4lljgidLM9scbBlznHAAWZq9S1dymdRafp3Snk6qcMNb5Z+p+CjGLkWVK0aeuvDeW93vtFZog6ofmRwyyJu7nfoPFYqpqLtqq7so3\/gtPvCL92Nvee8+fyWptOl4aOb22vlNbWu3L5N2tPhn6n5KhtV6isD672+lmfcZZjxhvCRjGfzeZOVdCyvhzZ5+0OcnHpXhi93rzZMu1DA+42rTtIzEEZ7WYA747z0zgH4hWt51NTWx\/s0LDVVh2ELN8Hpn9Oazdstt3v9bUXaOpFIydxaZAcuA22b12AA6LVWjT9FZ2B0be0qCPenf+Y\/ouSwq18yVHpJ3cFZPfyWlkV1qsFTV1n97X0iScnMcH7sfmPt8d15GnrzbXyiy3OOKGR\/F2crBttv0PcOgWoRV9IzUtlp2tnfjfMy5suqKnapvrIx17EEfQBT7Zpe3W5wlcw1NRnJlm337wOn1VyiObeR2Oz008TzfPMIiKBoCIiAIiIAs\/q25yUtFHQ0uXVVa7s2hpwQOW3jkgfFX7nBrS5xAAGST0WVszDfdTVN5kGaemPZU4PLP\/AGJPm4KcFve4zbRJtKnHWX43l9abcy1W2GkZuWD33f4nHmfipqIot3zNEYqKSQREXDpmtdv4bCwb+9O0fJx+y0ULOyhZH\/gaB8FntdRmSwscNhHO1x2Pc4fUhaCnnjqqeOeFwfHI0OaR1Cm+wjND+efcvM6LnUVEVLA+eeQRxsGXOdyC43C5UlrpjPVyhjeg6uPcB1WbYy46vnY+ojdSWph4g3PvS939ckjG+b0JVa2F4Y5y4ep5pIptXXU1lU1zbXTuIhiO3aHx+p+C14AAwBgBeIYY6eFkMLAyNgw1rRsAui5KVztGlgV3m3qzLX4zXy9xWCGTsoY2iWocN89w+Y59T4BcbzSxT3G26bo4+CnYe1mDe7x9M+pCsb1Yqmoq23O1VAp65gwcgAPHjtufPKpaSa6Wa8VVwudrmqJZhw9rEctA25c+e3dy+F0dMvbMNVNSamtXr\/ngbOWmhnp3U8sTHwuHCWEbYXuONkUbY42hrGANa0DYAcgs1\/pbWu2Zp2sc7oPe\/hXx1Xqy5OxTUUVviP70py4eef4VXglvNXxNN9lNvkmHubH\/AGgGSRwYwUu7nHAG3eutbq6HtTS2mnfcKj\/I08I+5\/rdUVfZpotRW+O8VbqwVZ4XOBxg5xwjwyR3LcUVBSW+HsaSBkLOvCNz5nmfVSlhVnqUUelm5RXVz+ufgZyLT91vUgmv9U5kXNtNEcY8+g+Z8VpaWkp6KBsFNE2KNvJrQuyKuUmzXToxp5rXi9Qs1q+tdIyGzUvvVNY4A4P5W5HPwJ+hV5cK6G20MtXO4BsbSQM44j0A8SqPS9JLVzz3+sH41USImn9xmf5YHgPFSgrdZlddubVGOr15L3kXtBRRW+hhpIfyRN4c956n1OSpCIqzSkkrIIiIdCIiAIiIAiIgCIiAo9WXF1FavZ4T+01Z7KMA4OOp+3qFOs9vbbLVBSAbsbl573Hc\/NUNEDf9XS1zs+y2\/wByMEYy7Jx9z8AtYrJZJRMtH5k3V3aLu\/bCIirNQREQHOaGKoidFMwPY4YLXDYrOjSlZSOLbbep6eAknsjkgeW\/2WmRSUmtCqpRhUzkigo9IUcU3tFfNLcJ+rpzlvw\/UlXwAAwBgBfUXHJvU7CnCmrRVgiIuFgREQBERAUWrLdLW2sTUwJqKV4lZw8z3gfI+inWa5x3W3RzteDJwgSsHNj+ox5qcQCMEZBWdq9NVFLVSVtgqRRyvHvREDsz5DBU001ZmacZQn0kVe+q8zRrhV1lNQwmaqnZCwdXHGfLvWfzrOQCPho4\/wD3Nu\/1+i9U+lJKqcVV9rX1so5RtJDB9Plhdwpas4605ZQg788kRIIptXXn2qZrm2mmdiNh27Qj9evhsteAAMAYAXmKKOGJsUTAxjBhrWjAAXtRlK5ZSpYE23dvVhERRLgiIgCIiAIiIAiIgCqtSXI2uyzTMOJX\/hxnucevoMn0Vqsrcmm+aup6BriaagHaTY5cXPH0HxU4K7zKNom4wtHV5ItdNW11rssMMgxK\/wDEkGOTj09BgeitURRbu7lsIKEVFbgiIuEgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAj11WygoZquQEtiYXEDr4Kk0bRkUM1ymae3rZC8k\/4c\/rk\/Bc9YTvqXUdlgfiSrkBeB0bnbPhnf\/6rRwxMp4I4YxhkbQ1o8AMKzSHeZV8yvfdH8v8AR0REVZqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgKSns9QdU1F1qTGYwwMpw3mNgCfr8Vdoi622QhBQvbfmERFwmEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:04",
    "ubicacionGPS": "LatLng(lat: -23.1006162, lng: -70.4524889)",
    "horaLlegada": "11:23",
    "horaDespacho": "11:21",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


14/05/2026 12:04:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[14/05/2026 12:04: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('69020400', 'TO3121', 1, 21773342, 1877, NOW(), 
				'11:21', '11:23', '12:04', 3, 'Mantenimiento, ajustes y
Limpieza', -1, 
				'', '','1','5838',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778774664.png', '', null, 'COMPLETADO','LatLng(lat: -23.1006162, lng: -70.4524889)' )
				
[14/05/2026 12:04:24] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200312

14/05/2026 12:04:24 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200312'                    
				WHERE idllamado = 12587			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


14/05/2026 12:04:24 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12587			
				
14/05/2026 12:04:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


14/05/2026 12:04:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 12:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

[14/05/2026 12:04: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;
                

14/05/2026 12:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 12:04:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 12:04:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 12:04:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

[14/05/2026 12:04: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;
                

14/05/2026 12:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

[14/05/2026 12:04: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;
                

14/05/2026 12:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

14/05/2026 12:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12587
            GROUP BY l.idllamado;
            

[14/05/2026 12:04: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;
                

14/05/2026 12:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

[14/05/2026 12:04: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;
                

14/05/2026 12:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

14/05/2026 12:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12587
                

[14/05/2026 12:05:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12583
                

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12583
                

14/05/2026 12: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 = 12583
                

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

[14/05/2026 12:05:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 12: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 = 12583
                

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

[14/05/2026 12:05:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 12: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 = 12583
                

14/05/2026 12: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 = 12583
                

14/05/2026 12: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 = 12583
                

14/05/2026 12: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 = 12583
                

[14/05/2026 12:05: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;
                

[14/05/2026 12:05: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;
                

14/05/2026 12:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

[14/05/2026 12:05: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;
                

14/05/2026 12:05:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:05:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12:05:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:05:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                
[14/05/2026 12:05:10] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[14/05/2026 12:05:10] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

14/05/2026 12:05:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:05:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:05:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:05:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

[14/05/2026 12:05: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;
                

14/05/2026 12: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 = 12537
                

14/05/2026 12:05:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

14/05/2026 12:05:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

14/05/2026 12:05:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

14/05/2026 12:05:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12:05:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

[14/05/2026 12:05: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;
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

[14/05/2026 12:05: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;
                

14/05/2026 12: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 = 12537
                

14/05/2026 12:05:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

14/05/2026 12:05:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12537
                

[14/05/2026 12:05: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;
                

14/05/2026 12:05:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

[14/05/2026 12:05: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;
                

14/05/2026 12:05:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

[14/05/2026 12:05: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;
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12:06:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                

[14/05/2026 12:06: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;
                

14/05/2026 12:06:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                

[14/05/2026 12:06: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;
                

[14/05/2026 12:06: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;
                

14/05/2026 12:06:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

14/05/2026 12:06:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

14/05/2026 12:06:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

14/05/2026 12:06:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                

14/05/2026 12:06:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                

[14/05/2026 12:06: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;
                

14/05/2026 12:06:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

14/05/2026 12:06:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12537
                

14/05/2026 12:06:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

14/05/2026 12:06:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

[14/05/2026 12:06: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;
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12:06:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12:06:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

[14/05/2026 12:06: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;
                

14/05/2026 12:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                

14/05/2026 12:06:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

[14/05/2026 12:06: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;
                

14/05/2026 12:06:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

[14/05/2026 12:06: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;
                

[14/05/2026 12:06: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;
                

14/05/2026 12:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                

14/05/2026 12:06:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

14/05/2026 12:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                

14/05/2026 12:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                

14/05/2026 12:06:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

14/05/2026 12:06:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

14/05/2026 12:06:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

14/05/2026 12:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                

14/05/2026 12:06:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12537
            GROUP BY l.idllamado;
            

14/05/2026 12:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12537
                

[14/05/2026 12:06: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;
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                

14/05/2026 12: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 = 12537
                
[14/05/2026 12:07:18] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[14/05/2026 12:07:18] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

14/05/2026 12:07:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 12:07:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 12:07:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 12:07:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

[14/05/2026 12:07: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;
                

14/05/2026 12:07:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

[14/05/2026 12:07: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;
                

14/05/2026 12:07:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 12:07:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 12:07:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 12:07:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12580
            GROUP BY l.idllamado;
            

14/05/2026 12:07:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

[14/05/2026 12:07: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;
                

14/05/2026 12:07:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 12:07:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 12:07:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 12:07:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12580
                

14/05/2026 12:14:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

[14/05/2026 12:14: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;
                

14/05/2026 12:14:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

14/05/2026 12:14:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

14/05/2026 12:14:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

14/05/2026 12:14:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

14/05/2026 12:14:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

[14/05/2026 12:14: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;
                

14/05/2026 12:14:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

[14/05/2026 12:14: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;
                

14/05/2026 12:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

14/05/2026 12:14:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

14/05/2026 12:14:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

14/05/2026 12:14:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

14/05/2026 12:14:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

[14/05/2026 12:14: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;
                

14/05/2026 12:14:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

[14/05/2026 12:14: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;
                

[14/05/2026 12:14: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;
                

14/05/2026 12:14:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

[14/05/2026 12:14:09] 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;
                

14/05/2026 12:14:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

14/05/2026 12:14:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

14/05/2026 12:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

[14/05/2026 12:14:09] 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;
                

14/05/2026 12:14:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

[14/05/2026 12:14:09] 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;
                

14/05/2026 12:14:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

14/05/2026 12:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 12:14:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 12:14:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 12:14: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;
                

[14/05/2026 12:14: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;
                

14/05/2026 12:14:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 12:14: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;
                

14/05/2026 12:14:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 12:14:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

[14/05/2026 12:14:17] 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;
                

14/05/2026 12: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 = 12579
                

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 12:14:18] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 12:14:18] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 12: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 = 12579
                

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12579
                

14/05/2026 12: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 = 12579
                

14/05/2026 12: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 = 12579
                

14/05/2026 12: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 = 12579
                

14/05/2026 12: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 = 12579
                

14/05/2026 12: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 = 12579
                

14/05/2026 12:14:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

14/05/2026 12:14:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

14/05/2026 12:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 12:14:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

[14/05/2026 12:14:22] 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;
                

14/05/2026 12:14:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

14/05/2026 12:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

[14/05/2026 12:14:22] 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;
                

[14/05/2026 12:14:22] 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;
                

14/05/2026 12:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 12:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 12:14:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

14/05/2026 12:14:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 12:14:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 12:14:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 12:14:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 12:14:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12576
                

[14/05/2026 12:14:27] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 12:14:27] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 12: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 = 12576
                

14/05/2026 12:14:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

14/05/2026 12:14:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

14/05/2026 12:14:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

[14/05/2026 12:14:27] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 12: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 = 12576
                

14/05/2026 12: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 = 12576
                

14/05/2026 12: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 = 12576
                

14/05/2026 12: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 = 12576
                

14/05/2026 12: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 = 12576
                

14/05/2026 12: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 = 12576
                

14/05/2026 12:14:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

14/05/2026 12:14:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

14/05/2026 12:14:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

[14/05/2026 12:14: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;
                

[14/05/2026 12:14: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;
                

14/05/2026 12:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

[14/05/2026 12:14: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;
                

14/05/2026 12:14:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

14/05/2026 12:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12586
                

14/05/2026 12: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 = 12586
                

14/05/2026 12: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 = 12586
                

14/05/2026 12: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 = 12586
                

14/05/2026 12:14:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

14/05/2026 12:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

[14/05/2026 12:14: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;
                

14/05/2026 12:14:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

14/05/2026 12:14:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

14/05/2026 12:14:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

[14/05/2026 12:14: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;
                

14/05/2026 12:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

[14/05/2026 12:14: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;
                

14/05/2026 12:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

14/05/2026 12:14:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 12:14: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;
                

14/05/2026 12:14:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 12:14:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 12:14:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 12:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 12:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

[14/05/2026 12:14: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;
                

[14/05/2026 12:14: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;
                

14/05/2026 12:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 12:14: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;
                

14/05/2026 12:14:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 12:14: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;
                

14/05/2026 12:14:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 12:14:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 12:14: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;
                

14/05/2026 12:14:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

[14/05/2026 12:14:40] 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;
                

[14/05/2026 12:14:40] 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;
                

14/05/2026 12:14:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 12:14:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 12:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 12:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 12:14:40] 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;
                

14/05/2026 12:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 12:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

[14/05/2026 12:23: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;
                
[14/05/2026 12:23:40] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[14/05/2026 12:23:40] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

14/05/2026 12:27:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 12:27:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 12:27:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 12:27:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 12:27:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                

14/05/2026 12:27:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12533
                
[14/05/2026 12: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[14/05/2026 12:27: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;
                

[14/05/2026 12:27:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 12:27:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 12:27:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 12:27:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

[14/05/2026 12:27:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 12:27:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 12:27:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

[14/05/2026 12:27:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 12:27:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 12:27:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 12:27:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 12:27:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 12:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 12:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 12:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 12:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 12:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 12:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

[14/05/2026 12:27: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;
                

14/05/2026 12:27:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 12:27: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;
                

[14/05/2026 12:27: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;
                

14/05/2026 12:27:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 12:27: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;
                

14/05/2026 12:27:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 12:27:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 12:27:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 12:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 12:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 12:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 12:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 12:27:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 12:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 12:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 12:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 12:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 12:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 12:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 12:27:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 12:27:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                
[14/05/2026 12: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[14/05/2026 12:29:29] 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;
                

[14/05/2026 12:29: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;
                
[14/05/2026 12:29: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;
				
[14/05/2026 12:29: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;
                

[14/05/2026 12:29: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;
                
[14/05/2026 12:29:44] 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;
                
[14/05/2026 12:29: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

[14/05/2026 12:29: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;
                

14/05/2026 12:29:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12:29:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:29:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

[14/05/2026 12:29: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;
                

[14/05/2026 12:29: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;
                

14/05/2026 12:29:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:29:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12:29:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:29:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

[14/05/2026 12:29: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;
                

14/05/2026 12:29:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12:29:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12:29:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:29:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:29:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:29:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

[14/05/2026 12:30: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;
                

14/05/2026 12: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 = 12583
                

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

[14/05/2026 12:30: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;
                

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

[14/05/2026 12:30: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;
                

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12583
                

14/05/2026 12: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 = 12583
                

14/05/2026 12: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 = 12583
                

14/05/2026 12:30:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12583
                

14/05/2026 12: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 = 12583
                

14/05/2026 12: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 = 12583
                

14/05/2026 12: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 = 12583
                
[14/05/2026 12:30:02] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[14/05/2026 12:30:02] 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;
                

[14/05/2026 12:30: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;
                
[14/05/2026 12:30:29] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[14/05/2026 12:30:29] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

[14/05/2026 12:30: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;
                
[14/05/2026 12:30:53] 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;
                
[14/05/2026 12:30:53] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

[14/05/2026 12:30: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;
                

[14/05/2026 12:31: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;
                

14/05/2026 12: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 = 12583
                

14/05/2026 12:31:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

[14/05/2026 12:31: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;
                

[14/05/2026 12:31: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;
                

14/05/2026 12:31:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12583
                

14/05/2026 12:31:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12583
                

14/05/2026 12:31:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12:31:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12583
                

14/05/2026 12:31:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:31:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:38:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12:38:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:38:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:38:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12:38:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12583
                

14/05/2026 12: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 = 12583
                

14/05/2026 12:38:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12:38:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

[14/05/2026 12:38: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;
                

14/05/2026 12:38:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

[14/05/2026 12:38: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;
                

[14/05/2026 12:38: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;
                

14/05/2026 12: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 = 12583
                

14/05/2026 12: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 = 12583
                

14/05/2026 12: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 = 12583
                

14/05/2026 12: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 = 12583
                

14/05/2026 12:38:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:38:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12583
                

14/05/2026 12: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 = 12583
                

14/05/2026 12: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 = 12583
                

14/05/2026 12: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 = 12583
                

14/05/2026 12:38:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12:38:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:38:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:38:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12:38:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:38:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:38:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12:38:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12: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 = 12583
                

14/05/2026 12: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 = 12583
                

14/05/2026 12:38:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12583
                

14/05/2026 12: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 = 12583
                

14/05/2026 12:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 12:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                
[14/05/2026 12:39: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[14/05/2026 12:39:41] 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;
                

[14/05/2026 12:39:42] 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;
                

[14/05/2026 12:39: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;
                

14/05/2026 12:39:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

14/05/2026 12:40:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

[14/05/2026 12:40: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;
                

[14/05/2026 12:40: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;
                

14/05/2026 12:40:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 12:40:06] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 12:40:17] 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;
                

14/05/2026 12: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 = 12579
                

14/05/2026 12: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 = 12579
                

14/05/2026 12:40:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 12:40:20] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 12:40: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;
                

[14/05/2026 12:40:24] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 12:40:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

[14/05/2026 12:40:27] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 12:40: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;
                

14/05/2026 12:40:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

[14/05/2026 12:40:33] 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;
                

14/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

[14/05/2026 12:40: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;
                

[14/05/2026 12:40: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;
                

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12573
            GROUP BY l.idllamado;
            

[14/05/2026 12:40: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;
                

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12573
            GROUP BY l.idllamado;
            

[14/05/2026 12:40: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;
                

[14/05/2026 12:46: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;
                

[14/05/2026 12:46: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;
                

14/05/2026 12:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 12:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 12:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 12:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 12:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

[14/05/2026 12:46: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;
                

14/05/2026 12:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 12:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:46:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 12:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

[14/05/2026 12:46: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;
                

14/05/2026 12:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

[14/05/2026 12:46: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;
                

14/05/2026 12:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

[14/05/2026 12:46: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;
                

14/05/2026 12:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:46:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 12:46:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 12:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:46:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:46:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:46:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:46:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:46:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:46:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

[14/05/2026 12:47: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;
                

14/05/2026 12:47:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 12:47:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

[14/05/2026 12:47: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;
                

14/05/2026 12:47:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 12:47:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 12:47:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 12:47:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 12:47:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

[14/05/2026 12:47: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;
                

14/05/2026 12:47:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

[14/05/2026 12:47: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;
                

14/05/2026 12:47:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

[14/05/2026 12:47: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;
                

14/05/2026 12:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 12:47:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 12:47:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:47:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:48:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:48:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 12:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:48:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:48:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 12:48:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12592
                

14/05/2026 12: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 = 12592
                

14/05/2026 12: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 = 12592
                

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12592
                

14/05/2026 12: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 = 12592
                

14/05/2026 12: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 = 12592
                

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12592
                

14/05/2026 12: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 = 12592
                

14/05/2026 12: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 = 12592
                

14/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12592
                

14/05/2026 12: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 = 12592
                

14/05/2026 12: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 = 12592
                

14/05/2026 12:59:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 12: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 = 12592
                

14/05/2026 12: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 = 12592
                

14/05/2026 12: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 = 12592
                

14/05/2026 12: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 = 12592
                

14/05/2026 13:00:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 13:00:29 - logentry: =========================================
FECHA: 14/05/2026 13:00:29
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-rhdJlULFiI9R_t6HAP8N4hJpfCFkdw3P2Mh-bTSCy0fHuQHawkj
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3124",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "453",
    "contadorColor": "3573",
    "contadorScanner": "0",
    "detalle": "Mantenimiento, ajustes\nlimpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12592",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADoAPgDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABEEAABAwMBBAcGAwUHAgcAAAABAAIDBAURBhIhMUETIlFhcYGRFDKhscHRFSNCUmKC4fAWJDNDkqLxNNIHJVNVY3LC\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMhEAAgECAwQJBAMAAwAAAAAAAAECAxESITEEQVFhEyIycYGhsdHwFDPB4UJSkSNicv\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAiIgCIiAIiIAiLwkAZJwAgPVx3K60dpg6arlDf2Wje53gFD3LUss1T+HWKL2qpJw6UDLGfQ+PDxWVs0pHHMK27Smtq3byHnLGn6\/LuViilnIyutKbw0lfnuXuLZdL1d7hHURUrae2An\/ABPekHb9d27vKsS8AAGAMAL1Rk76IupwcVm7sIiKJYEREAREQEbdLwy2VdDTvhLxWS9Hth2AzeBn4\/NSSrGserPaZeOxU8O3ePsrOptLCmUQm3UnF7regREUC8IiIAiIgCIiAIiIAiIgCIiAIiIAiKNvV7pbLTCWfryO3RxNO932HeupNuyIylGCxSeR1VtbTW+mdUVUojjbzPM9g7SqwX3TV7yIy+htgOCT70o+vy8Vso7LW36qbcr4SyIHMVJwwO\/s+ZVpa1rGBjGhrWjAAGAAp3UNNTLadftZR4b338jmt1spLVTCCkiDG\/qPEuPaTzXWiKtu5rjFRVkEREOhERAEREAREQFY1kNp9rYPedVDA9FZ1TdSXOj\/ALSWzpJ2uipHdJIWHa2Tngcc+qNylmaxsj5Az2pzc\/qdG4D5K1xk4qyMMK1NVZtyS09CcRYxyMlYHxuDmngQVkqjcEREAREQBERAEREAREQBERAERRt8vMNloDPJ1pHdWKP9p327V1Jt2RGUlCLlLQxvl8gstNtO\/MqH7oohxce09yjrNYJqioF3vZMtW47UcTuEQ5bvpy8VlYLNNJN+NXb8ysl60bXcIm8t3I\/LxVjU28OSM0YOq1OppuX5fP0CIirNYREQBERAEREARYuc1jC97g1rRkknAAVXrL7WXqrNtsGWgH82rO4NHd2ePHsUoxbKqlWNNZ6vRcSSuupaC1u6LaNRUk4EMRyQew9nzUYygv8AqBwluFQ63Urh\/gRZDiO8ff0UrZ9O0dpja\/ZE1TjrTvGTnu7Auy5Vrbdbp6t+MRMJAPM8h64UrpZRKHTlNYqzsuC\/LKlYLNRO1RWxNi6WmoxsASgPy7OMndjk5WuS026WIxPoacsJzjowN\/aovR1E+ntBqpf8WseZT4cvqfNWBKkniGy0oqkm1rn\/AKVWy7di1FNZHyE0szelptrjns+B\/wBKtSq+pwGagsMjQA90+yXY3kbTN3xPqrQk87PiT2fquVPcn65hERVmkIiIAiIgCIiAIiIAiLxzg1pc4gADJJ5IDludxgtVC+rqD1W7g0cXHkAoGzW2ovNY2+3ZvYaaDk1vEH7eq0wNfq+8+0yNItVIdlrHf5ju8eY8sDmrcAAMAYAVj6itvMcV08sT7K058\/Y9REVZsCIiAIiIAsXvZGwvkcGNaMlzjgBaK+4U1tpXVNVIGMaOHNx7AOZVago63VtR7ZXOfT2wH8qAHBkGef39FOMb5vQoqVcLwxV5cPcty1zTR08L5pnhkbBlznHcAtcstNbaF0kh6OCBnecAclV446zWVSJZS+ntMT8tZwMh+vjyzuSMb5vQVauC0Urye75uEjq7WNU5kLn0tpjdvfjBl+\/yCtFFQ09upW01LGI429nEntPaVshhjp4WQwsDI2DDWtG4BbElK+S0FKjgeKWcnv8AYKs6nc66XCisMDjmR3SzkfpYP6J9O1T1fXQW6jkqqh4axgz4nkB3qF0tTSVBqb5VD8+td1B+zGOXwx\/CF2GXWI13japLfr3fvQsEcbIo2xxt2WMAa0dgCyRFWaSsan61\/sLAN4qM+W0z7KzqsX0dLq6yxfskv3ceOforOpy7KM1H7lR816IIiKBpCIiAIiIAiIgCIiAKrahrJ7tXt09b3Yc7rVEmdzR2fLPkFK6gu7LNbHz8ZX9SIfvY4+AWnTVofb6R1TVZdW1R6SZzuIzvx9+9WR6qxMy1m6kuij493DxJKhooLdSMpaZmzGwY7ye0966ERVmlJJWQREQ6EREAWqpqIqSmkqJnbMcbS5x7gtqqVxlk1Pe22umd\/caRwdUvB3PPZ8wPM8lKMbsprVMEcs29DGgpJdWV\/wCKV7NmgiJbBAf1Y7T8+3hyVrllhpad0kjmxRRtySdwaAkUUNLTtjja2KKNuABuDQFVJ5JNW3n2WF7xaaY5ke3d0jv6+G9S7b5Ip+xHjOXm\/ZHgbVayrtp23DaIH7hwMpH9eXirbFFHBCyGJgZGwBrWjgAvIYY6eFkMLAyNgw1rRuAWxRlK+S0LqVLBdt3k9X83BeOcGtLnEAAZJPJeqr3u4z3irNitWCHbqmf9LAOIz8\/HCRjdnatRU4337lxNE7n6vvPs0biLVSHac9v+Y7uPmfLJ5q3NaGtDWgAAYAHJctst0FqoY6SAdVg3uPFx5krrXZSvktCNGm4pyl2nr7eARF4SAMk4AUC8rDx7V\/4iM4OFLTdnDcf+9WhUOmv8FJqe51hikqZJT0ULYxkuwcenVHwWi93q\/VDmRy7VEJThlNGSJHA7t\/Pu34z2K903JpHlw2qFOMpattl9bWUz6o0rZ2Ona3adGHZIHafUIq3pCyU9GZKiWVkldGdh7Ac9BkcPHv8ALtRVSSTsjdRnKcMUlYtSIiiXBERAEREAWL3tjY57zhrQST2BZKtaqrJKl0Nio8mercOk2SOqwb+3uz4AqUVd2KqtTo4ORz22J+pr8+7VDP7lSnYp2Obuk44P1PkOStq56Ciit9DDSQ+5E3Zz2nmfM5K6ElK7OUaeCOerzYREUS44rrdaez0ftVSHuZtBoDMEknxI7F1sdtsa8AjaAODyVZ1D\/wCY6jtdra7LWnpZWjs47\/Jp9fBWhSaskU05uU5LcsvcIiKJcQerLk+gs7o4cmeqPRMwN4zxPpu811WG1MtFrip9kdKRtSuHNx7+7h5KIjDb1raRz+tBbG9UYGNvP3yfJSOor2LRRAQ4fVzHZij4nxwrWnZRRijOOKVaWiyX5\/1nBqC4VNwrxp62nryj+8S\/sN5j04+OFO223w2ugipIB1WDeTxceZK4NOWT8Ioi6bDquY7Ur+JH7uf63qYJAGScAKMmuytCyjCTfST1fkuHuerF72RsL5HBjWjJc44AURcNUW6iIiieayod7sUHWyfHgo02u86jlbJdX+xUWcimYesfH+foihveR2VdXwwWJ\/NWe3C9VF+mNrsROyd01SdwDe7njvU1aLNSWamEVO3LyB0kpHWef65LooqGmt9O2ClhbGwchxPeTzWuuutDbWF1XUxxnGQ0nLj4DiUbv1YnI08L6Sq8\/Jdx2LGSRkTDJI9rGN4uccAKrnUt0u23HY7Y4tBx7RKQAPLhnzPgs2aUqbhKyovtxfUuH+THuaPP7ALuC3aZz6hz+1G\/PRG+r1fRMeYLfFLX1HBrYmnB8+fkFG11BfbnRTVd2qm0dLHG5\/s8fE4Gd4+5PgrRQ22itsfR0dOyEHiRvJ8Sd5Vc1dqGH2eS00Z6aaXDZC3eGjPDvJUoPO0UU101Tcq0vBae7I2z10VnszPZYBPda1x6IBuXMbwGfQnHNb6qkdp6i9vq3uqbzW5ZGSc9ESN5HaRuHmANym9P6dp7JB08xD6pzevI7gwdg+pXDZRJftQT3ibb9kgOzStOQCeGfTJPee5Sck22tClUZKMYvtPRcOL7yU09ZhaKH80B1XL1ppM5yeQz3IpdFQ227s9OEFCKjHRBERcJhERAERYSyxwQvmleGRsBc5x4AINDVXVkVBRS1Uzg1kTcnPwHqqHabxVy3eqrae3uq7hUHq5d1I2\/8DGchbq66VGrbxDbaYujoi\/J3byBxcfLgPBXSgt1JbKcQUkIjbzPNx7SeavyprPVnnNy2qpeDtGO\/nyILodY1m91RS0QP6WgEj4H5p+B6k\/9\/wD9pVnRV43wNH00XrJvxZWBQ6wpxllzpZgB7rxvP+36rwXDV1KcTWuCoaP1MIyfR30VoXHda0W+11NWeMbCW8OPAfHC6p3ysiMqCirqbVufuUmgv8jL9U3eroZ5Ms2MM4RYxnl2D4qwx63szwC580eeTo+HplbNH0Xsen4nObh9QTKd3I8PgB6qXlo6WY5lpopD++wFSnKN7WKqFOsqaalrnmuJFDWFhIz7dju6J\/2Xj9YWNrHFlZtOAJDeieMns91d5s1rJybbSEn\/AOBv2ULqyht1Fp+Z8NBTRSvc1rXsiaCN+Tvx2ArkVBu2ZZUltEIOTay5P3I\/TF8tdto6matqiKqolL3tEbju5bwO88+a4qPUNJLfZLvdBM98e6nijaCGjf2kcM+pytzqGmuNRb7LTQRRuhibLWVDYxnOyCetxPHHiR2K2GsstrjDBPSQCMYDWubkbuwb1ZJpPTNmOnGpJJOSSj6\/7u9SJ\/tHea\/Itdkfs8pJjgH5Ds5rw6evN2eXXi5mOJw\/6enO4dx5bvPxXRU62tELtmEzVLs4\/LZgfHC5\/wAZ1JcnltvtQpY+HSVHLv34z5AqNpLRWLnKnJ2lNz5LTy9yYoLRbbLCXQRMjwOtM89bHeSuOv1faaPLY5TVS5wGQjI\/1cPRcrdKVdfh16u0s\/bHEcN7uO74BTVBZ7fbAfZKVkbiMF\/Fx8zvUHh1buXx6Vq0IqK+bkQXtWpr44tp4Ra6b9uQHbI89\/oB4rrt+kKCleZqsmvnJyXzDd\/p++VPouOb0WRKOzxvin1nz9tDFjGRsDI2hjWjAa0YAWS8JAGScAKq3C9VN9qjabGeod09VyA7j2d\/PkuRi5FlSrGmue5Gy63mqudabNZDl53T1A4MHPB+vooyCyU0GqKG1xgSezN6aokcPedxxjs93d3+tqttro7HQmOFuABtSSH3nYHE\/ZUmyGtu+q3VdPK+LakMkr2jGGZ93s37grovJ20R51eLUoOpnJvTguH7LPqutlbSRWul31Ne7owOxvM\/Twz2KXoKKK30MNJD7kTdnPaeZ8zkqu2cfjWqqu7F4fBS\/lQfLI7uJ\/iU\/T3ShqquWlgqWSTRZ22N5Yxn5hVyVlhNdGSlJ1HvyXcvc60RFWawiIgCIiAKl6ouIudVJb4pNmjox0lVIB+oZGz6kAd57lN6nvBtVu2YQTU1JMcQHEbt7vLI8yFWZbXKJqPTrSennd7RWyg57cDPcM+JIV1OP8medtdRv\/jj4+Oi8fQltE2zoqWW5yxhslUSIwBgNZnl4n5BWlYRRMhiZFG0NYxoa1o5AcAs1XKWJ3NlGmqUFBBERRLSL1Ln+ztbgkER5yD3hUw3J1x07brMx\/5zqno3Z3ktyNk9w62P4Vd79GJLDXtPKne70GfoqHo+m9o1HAcHZhDpDjuGB8SFop2wN8DytsxdPGK\/kreZ9JhiZBCyGMbLI2hrR2Abgs0WEsrIYnyyODWMaXOceQHErOepkkRV+vhtLqWGGITVFTJstj7uGfHJGPNRmvnPFppWHnNl2BuyGn7lYWLa1BqOovUrfyaf8unaeR5fDJ8XKP1rcmVF2ho2uzHTYMnZtHj8MLRCNppHl16rlQnNvJ5I6bVov2yjZVXCrma+oAe5jOO\/fvJzkruq7Jp3T9H7XUU7pXNPUD3kl7uIGOHwVjmmjp4XzTPDI2DLnOO4BfOL5cKm\/VrHNyIXS9FSR7PvDOM+PD17ki5TebyO1oUdmh1Y3l8zLdpSUVds9qNBT0uXFrOhYG7YHP1yPVTq56CkZQ0EFKze2Jgbnt710KmTu7noUouMEnqERFEsC8c4NaXOIAAySeSOcGtLnEAAZJPJVSrq6nVVY63295jt0Z\/PqB+vuClGNyqrVUFxb0QrKyr1TVvt9seYqCM4nqP2+4fbmrDbrbS2qlFNSR7LAckneXHtJWdFRU9vpWU1NGGRsG4dvee9cV+vsFkpC9xD6h4PRR9p7T3KTeLqxKoxVJOrVefpyRHaxvIpaM22nO1UVI2XBvFrT9+HqsKiGPSmkpWRnaqJ+qS7GS9wwfQZ7VT6SrqJb1HVmE1dQ6TbDOO07l8eXcui61VaLux14d7RJHhzoM9VvPZ3bhyzhXqna0TzHtWJyqWz0XL9mmE1rIaVkEj2SiTbgiYN7s8Xn0A38lZNA0Z26ytLtoZETXDO\/mfotclHNaLJWXeuIFfWt6NjQMdEHch2HHpjCsmnqH8PsdNARh5Ztvz+0d59M48lGpPquxZstBqqm9yv+ESaIizHshERAF45wa0ucQABkk8l6oTVtf7FY5GsdiWoPRMA47+Pw+a7FXdiFSahBye4i7fM25Xar1HVv\/uVGHNgac7sDjg93xPcurSNK+YVN6qWnp6x5DcjGGeg4n5BR1zp3xUVt0tSECabD6gjf3nPnk+QVyp4I6anjgiaGsjaGtAGFbN2WXxGGhBynnuzf\/p+yNiIipPRCiLbeZLhea6kbE0wUxAEodv2uBHz9OfKVc4MYXHgBlVzQzC61VFS\/wB+eocT6D6kqaSwtlFSUukhFc\/Il745rLFXlxwPZ5B5lpAVP0DG43eolx1RAW57y5v2U3q+8QUltloQduonZjZafcb2n+t690TRR09ibUgfmVLi5xI5AkAfAnzU11ab5mWolU2uKT7KzLEqZrW9kg2ulfwAdO5rvLZ+RPkpjUF9\/D4xSUjTNXTDZYxm8szuyfXcq1V2P2Q2u2SkSVNbP0lQ\/OcDcMZ7gXeaU4pO7G2VZSi6cPHx3FhszYtP6SbUTjBDDM8cCXO4Dx90KBZaH1Gj625StzU1EnT5J\/SD\/Nx9FK6zmdJFR2qI7LqmUF2OAaO3uyc+S019e+8GOwWJwMDWBs8+OqGDdgd3z5KUb68SuqoX6P8AqrJcWzQ2trdXsht0IdDSxsaauYjJc4Y3evD+S6LFBDc78+qix7FbWCClbnif2vmfMdihqG51NDbLjaqYF8m3sRiNuSckh7sjedwAHiOxXWw2wWm0w02B0mNuUjm88fTh5JPqqyObOulmm87Zv8L8kiiIs56wRFU9RXt1VVuslFOyAHdU1D3bIYOYz8\/RSjFydiqrVjSjdmNwr59UXE2m2SFlGzfUTgbneHd2dvgrNQ0UFupGUtMzZjYMd5Pae9VuC\/WHTtAKaic+qcMklg993Mlx3emVC1urbvdJG09IDT7Zw1kGdtx8ePphW4JSyWSMC2inSeKbxTfD0LjfL\/S2WnLnkSTu9yEHee89gXze41dVXVbqqsz0kvWBIIGzyx3K5WXTMVDC+53nEs4HSEPO0IwN+T2lQFFNDVXWa+3MjoGSF7Y875H8WtA7t3dwzxU6eGN7ZlG1upUw48r7uHNlntVHSaX0\/wC21cbRUlm1IT7xJ4MHwCj9MWY3OqffbgNsvkL4mHmc+94Dl4KJu890v1ZSOlYYoqp+KWDPBucbWPPj9F9DpoIqGjjgZhsULA0E7sADioSbiubNFGMas0kurHTm+JW9QZuupbdaBvijPTTDZ3du\/wAh\/uVqVZ0s019xuN6eD+c\/ooj+6N\/if0+npZlCeVo8DVs\/WUqn9n5bgiIqzSEREAVWv5bV6rtVFK8iGNpncOW7J\/8AwrSqNriOZl5pJYSQ6aAwjB47yCPMPwrKSvIx7Y8NK\/NepI6YEl0utdfZm9V56KDPJo7PLHxVoXHaqBtstkFG0g9G3rEc3cSfVdijN3ZdQg4QSeu\/vCKPr75bLbkVNXG14OCxp2neg3qEfqe5XTMVjtkhBOBUSjqj6DzK6oNnJ7RTg7Xu+CzZZK18LKOXp5mQxlhaXvOAMhUWx3q4R0Ys1qgY+odI4iZx3Nbu344dv81Nw6UmrXiov1fLVyZz0THYYO7\/AIwuus0laauNjWQGmdGMNfB1T59vmpxcI5PMzVIV6rU4rDbnn+jXbNMU1LFJNc3NrKqYfmySHIHcM\/NaKvUUVPi1afpvaaho2W7AyyP7\/LvQaHonEdPW1coHAF48uSmrfa6K1xGOjgEYJyTxJ8TxXHKOrdyUKdS2GKUVx1ZHWPTraF5rq93tFwkO06R2\/YPYPuvb\/aKurqaavt72Cqpfda89U7\/+VOLGR7Yo3SO91gJPgFHG73L+ggqeDd8zKHBbK7U19njudTj2Nuw8xtG7eeqOXHO89iulBbqS2U4gpIRG3mebj2k81CaJY59vqq1\/vVNQXeQ\/mSrKpVJO+Ep2SlFQ6R6vefN4qSpprlX1lEc1NuqC9zc++wkg4+vcVe7Vdaa70baind3PYeLD2FRV8tNdFcmXq0YdUsbsyxOO6Qf8cu4Y3qsG7utd1dW01M+imdumo3N6jt+8g8hu7Nx7RlTa6RZGWM3skmnp8zX5R9JRQFBrK1VcG1PL7LIBlzH5Pocb0rNZ2imiLoZXVMnJjGkepIVWCV7WPQ+po4cWJE8SAMk4AVE1DWaf\/EJpIqY1lVIQHkSFsQO7mOPDl371yVVwvmqagwwRSCHd+VHuYB+8efmpS16FIAddJ8tznoYju8z9vVWxioZyZgq1Z7T1aUcuLKzQWqtvNU5lHACAes4dVjB4\/wBFfQbHpyksrNsDpalw60rhw7h2fVd5dRWqjGTFS08YwM4aB\/NVyqvdXqKQ26yRvjiO6aqeMYb3dnzXHOU9MkSp0KWzZyzl809z29101\/qvwS1OJaHZqZweqB2d4+y6LZougopGy1MjquRh6oeMMH8PrzUtarVTWijbT07e97zxee0rrewSMcw5w4EHCg52yjoaY7OpPpKqvLyRV7Ti9asq7metBSDoofHeM\/M+aktU1xoLBUPa4h8o6JhBxvPH4ZXZa7XTWijFLSh2xkuLnHJcTzPw9FGait1VdK+207Yi6kbIXzu3bsY5Huz6rt05rgRcJwoNfyfq\/Y7dPUfsNipIcAO2A93i7efmpJEVbd3c1wioxUVuCIi4SCIiAKkXGnqtTalqGUcojbQMDWSE7g8Hu78+itV4uDLZa56txwWNwwdrjuA9VH6QoDSWVszyXS1Z6VxOeB4fDf5qyDwpyMldKrNUt2r\/AB5nKW6yzsh9Jjht4HqvDYtRV3\/X3zoW5zs04P02fqrQi5je5EvpovtSb8SFodJ2midtmE1D852pztfDh8FMgADAGAF6ii23qXQpwgrRVgiIuEwiIgCjNSVBptPVsgOCY9jP\/wBjs\/VSarmuZNjT+z\/6kzW\/M\/RSgryRTtEsNKT5HfpqnFNp2iYBjajDz\/F1vqpRaaWIwUkMJGDHG1uPAYW5cbu7k6ccMFHgFwXWstlHT9JcjCW8mvaHF3gOajrpcr1NXy2200WwWYD6qT3RkZ3cuff4LG3aShimFXc5nV9VnOXkloPnx8\/RTUUs2yiVWU240435vT9kG63yaoqGut9qht1I3cZyzZ2h4DcfL1XYNHV1tlM1uqKaoy3BZUxDf65+n3uIAAwBgBervSvRaEFsVPWWb46FXbNrKBoa2jo5A0YABAz\/ALghj1lWYzJS0Qzvxg\/9ytCLmPkiz6f\/ALy\/0rUGkennE95r5a9zfdYSQ0fH5YVhhghpohFBEyKNvBrBgBbEUXJvUsp0YU+ygiIoloREQBERAEREARFi5zWML3HDWjJPYEBWdTOkud2obHCQWPd0s+OTR2+WfgrO1oa0NaAABgAclV9LRm43SvvsjMCV5jhzyH\/GyPVWlWTytHgZdn616r3+i0CIirNQREQBERAEREAVY1v1qagjdno3VI2uzh\/Mqzqsa76tspZDwbUjP+k\/ZTp9pGba\/syLOiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCgtX15pLK6FgLpas9E0DPA8fhu81OqrVOLxraGDBdBbmbbuzb3H57PofKcFnd7jPtMngwrV5E5Z7ey2WuCkaMFjcvPa47yfVdqIot3dy6MVFKK3BERcJBERAEREAREQBVjXfWtlLGeDqkZ\/0n7qzqsa03ttrTvBqRkdqnT7SM21\/ZkWdERQNIREQBERAEREAREQBERAEREAREQBERAaaupZR0ktTIQGRMLjk9gUDo2jeKKe5zt\/OrZC7J47OT8zn4LzWc8klLTWqDBmrZQ3BPIEfXHop+kpmUdJFTRgBkTA0YHYFZpDvMvbr8orzf6NyIirNQREQBERAEREAREQBVjVvWuVkYPedU7h5t+6s65Ky20tdPTTVEZc+lftxEEjB3fYeilB2dymvB1IOK5ep1oiKJcEREAREQBERAEREAREQBERAEREAREQFdioqqt1nLW1MBbTUbAyAubucSOI7eLjnwViRFKTuU0oKKb4thERRLgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/9k=",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:00",
    "ubicacionGPS": "LatLng(lat: -23.1006266, lng: -70.4524126)",
    "horaLlegada": "12:43",
    "horaDespacho": "12:04",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 14/05/2026 13:00:29
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-rhdJlULFiI9R_t6HAP8N4hJpfCFkdw3P2Mh-bTSCy0fHuQHawkj
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3124",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "453",
    "contadorColor": "3573",
    "contadorScanner": "0",
    "detalle": "Mantenimiento, ajustes\nlimpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12592",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADoAPgDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABEEAABAwMBBAcGAwUHAgcAAAABAAIDBAURBhIhMUETIlFhcYGRFDKhscHRFSNCUmKC4fAWJDNDkqLxNNIHJVNVY3LC\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMhEAAgECAwQJBAMAAwAAAAAAAAECAxESITEEQVFhEyIycYGhsdHwFDPB4UJSkSNicv\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAiIgCIiAIiIAiLwkAZJwAgPVx3K60dpg6arlDf2Wje53gFD3LUss1T+HWKL2qpJw6UDLGfQ+PDxWVs0pHHMK27Smtq3byHnLGn6\/LuViilnIyutKbw0lfnuXuLZdL1d7hHURUrae2An\/ABPekHb9d27vKsS8AAGAMAL1Rk76IupwcVm7sIiKJYEREAREQEbdLwy2VdDTvhLxWS9Hth2AzeBn4\/NSSrGserPaZeOxU8O3ePsrOptLCmUQm3UnF7regREUC8IiIAiIgCIiAIiIAiIgCIiAIiIAiKNvV7pbLTCWfryO3RxNO932HeupNuyIylGCxSeR1VtbTW+mdUVUojjbzPM9g7SqwX3TV7yIy+htgOCT70o+vy8Vso7LW36qbcr4SyIHMVJwwO\/s+ZVpa1rGBjGhrWjAAGAAp3UNNTLadftZR4b338jmt1spLVTCCkiDG\/qPEuPaTzXWiKtu5rjFRVkEREOhERAEREAREQFY1kNp9rYPedVDA9FZ1TdSXOj\/ALSWzpJ2uipHdJIWHa2Tngcc+qNylmaxsj5Az2pzc\/qdG4D5K1xk4qyMMK1NVZtyS09CcRYxyMlYHxuDmngQVkqjcEREAREQBERAEREAREQBERAERRt8vMNloDPJ1pHdWKP9p327V1Jt2RGUlCLlLQxvl8gstNtO\/MqH7oohxce09yjrNYJqioF3vZMtW47UcTuEQ5bvpy8VlYLNNJN+NXb8ysl60bXcIm8t3I\/LxVjU28OSM0YOq1OppuX5fP0CIirNYREQBERAEREARYuc1jC97g1rRkknAAVXrL7WXqrNtsGWgH82rO4NHd2ePHsUoxbKqlWNNZ6vRcSSuupaC1u6LaNRUk4EMRyQew9nzUYygv8AqBwluFQ63Urh\/gRZDiO8ff0UrZ9O0dpja\/ZE1TjrTvGTnu7Auy5Vrbdbp6t+MRMJAPM8h64UrpZRKHTlNYqzsuC\/LKlYLNRO1RWxNi6WmoxsASgPy7OMndjk5WuS026WIxPoacsJzjowN\/aovR1E+ntBqpf8WseZT4cvqfNWBKkniGy0oqkm1rn\/AKVWy7di1FNZHyE0szelptrjns+B\/wBKtSq+pwGagsMjQA90+yXY3kbTN3xPqrQk87PiT2fquVPcn65hERVmkIiIAiIgCIiAIiIAiLxzg1pc4gADJJ5IDludxgtVC+rqD1W7g0cXHkAoGzW2ovNY2+3ZvYaaDk1vEH7eq0wNfq+8+0yNItVIdlrHf5ju8eY8sDmrcAAMAYAVj6itvMcV08sT7K058\/Y9REVZsCIiAIiIAsXvZGwvkcGNaMlzjgBaK+4U1tpXVNVIGMaOHNx7AOZVago63VtR7ZXOfT2wH8qAHBkGef39FOMb5vQoqVcLwxV5cPcty1zTR08L5pnhkbBlznHcAtcstNbaF0kh6OCBnecAclV446zWVSJZS+ntMT8tZwMh+vjyzuSMb5vQVauC0Urye75uEjq7WNU5kLn0tpjdvfjBl+\/yCtFFQ09upW01LGI429nEntPaVshhjp4WQwsDI2DDWtG4BbElK+S0FKjgeKWcnv8AYKs6nc66XCisMDjmR3SzkfpYP6J9O1T1fXQW6jkqqh4axgz4nkB3qF0tTSVBqb5VD8+td1B+zGOXwx\/CF2GXWI13japLfr3fvQsEcbIo2xxt2WMAa0dgCyRFWaSsan61\/sLAN4qM+W0z7KzqsX0dLq6yxfskv3ceOforOpy7KM1H7lR816IIiKBpCIiAIiIAiIgCIiAKrahrJ7tXt09b3Yc7rVEmdzR2fLPkFK6gu7LNbHz8ZX9SIfvY4+AWnTVofb6R1TVZdW1R6SZzuIzvx9+9WR6qxMy1m6kuij493DxJKhooLdSMpaZmzGwY7ye0966ERVmlJJWQREQ6EREAWqpqIqSmkqJnbMcbS5x7gtqqVxlk1Pe22umd\/caRwdUvB3PPZ8wPM8lKMbsprVMEcs29DGgpJdWV\/wCKV7NmgiJbBAf1Y7T8+3hyVrllhpad0kjmxRRtySdwaAkUUNLTtjja2KKNuABuDQFVJ5JNW3n2WF7xaaY5ke3d0jv6+G9S7b5Ip+xHjOXm\/ZHgbVayrtp23DaIH7hwMpH9eXirbFFHBCyGJgZGwBrWjgAvIYY6eFkMLAyNgw1rRuAWxRlK+S0LqVLBdt3k9X83BeOcGtLnEAAZJPJeqr3u4z3irNitWCHbqmf9LAOIz8\/HCRjdnatRU4337lxNE7n6vvPs0biLVSHac9v+Y7uPmfLJ5q3NaGtDWgAAYAHJctst0FqoY6SAdVg3uPFx5krrXZSvktCNGm4pyl2nr7eARF4SAMk4AUC8rDx7V\/4iM4OFLTdnDcf+9WhUOmv8FJqe51hikqZJT0ULYxkuwcenVHwWi93q\/VDmRy7VEJThlNGSJHA7t\/Pu34z2K903JpHlw2qFOMpattl9bWUz6o0rZ2Ona3adGHZIHafUIq3pCyU9GZKiWVkldGdh7Ac9BkcPHv8ALtRVSSTsjdRnKcMUlYtSIiiXBERAEREAWL3tjY57zhrQST2BZKtaqrJKl0Nio8mercOk2SOqwb+3uz4AqUVd2KqtTo4ORz22J+pr8+7VDP7lSnYp2Obuk44P1PkOStq56Ciit9DDSQ+5E3Zz2nmfM5K6ElK7OUaeCOerzYREUS44rrdaez0ftVSHuZtBoDMEknxI7F1sdtsa8AjaAODyVZ1D\/wCY6jtdra7LWnpZWjs47\/Jp9fBWhSaskU05uU5LcsvcIiKJcQerLk+gs7o4cmeqPRMwN4zxPpu811WG1MtFrip9kdKRtSuHNx7+7h5KIjDb1raRz+tBbG9UYGNvP3yfJSOor2LRRAQ4fVzHZij4nxwrWnZRRijOOKVaWiyX5\/1nBqC4VNwrxp62nryj+8S\/sN5j04+OFO223w2ugipIB1WDeTxceZK4NOWT8Ioi6bDquY7Ur+JH7uf63qYJAGScAKMmuytCyjCTfST1fkuHuerF72RsL5HBjWjJc44AURcNUW6iIiieayod7sUHWyfHgo02u86jlbJdX+xUWcimYesfH+foihveR2VdXwwWJ\/NWe3C9VF+mNrsROyd01SdwDe7njvU1aLNSWamEVO3LyB0kpHWef65LooqGmt9O2ClhbGwchxPeTzWuuutDbWF1XUxxnGQ0nLj4DiUbv1YnI08L6Sq8\/Jdx2LGSRkTDJI9rGN4uccAKrnUt0u23HY7Y4tBx7RKQAPLhnzPgs2aUqbhKyovtxfUuH+THuaPP7ALuC3aZz6hz+1G\/PRG+r1fRMeYLfFLX1HBrYmnB8+fkFG11BfbnRTVd2qm0dLHG5\/s8fE4Gd4+5PgrRQ22itsfR0dOyEHiRvJ8Sd5Vc1dqGH2eS00Z6aaXDZC3eGjPDvJUoPO0UU101Tcq0vBae7I2z10VnszPZYBPda1x6IBuXMbwGfQnHNb6qkdp6i9vq3uqbzW5ZGSc9ESN5HaRuHmANym9P6dp7JB08xD6pzevI7gwdg+pXDZRJftQT3ibb9kgOzStOQCeGfTJPee5Sck22tClUZKMYvtPRcOL7yU09ZhaKH80B1XL1ppM5yeQz3IpdFQ227s9OEFCKjHRBERcJhERAERYSyxwQvmleGRsBc5x4AINDVXVkVBRS1Uzg1kTcnPwHqqHabxVy3eqrae3uq7hUHq5d1I2\/8DGchbq66VGrbxDbaYujoi\/J3byBxcfLgPBXSgt1JbKcQUkIjbzPNx7SeavyprPVnnNy2qpeDtGO\/nyILodY1m91RS0QP6WgEj4H5p+B6k\/9\/wD9pVnRV43wNH00XrJvxZWBQ6wpxllzpZgB7rxvP+36rwXDV1KcTWuCoaP1MIyfR30VoXHda0W+11NWeMbCW8OPAfHC6p3ysiMqCirqbVufuUmgv8jL9U3eroZ5Ms2MM4RYxnl2D4qwx63szwC580eeTo+HplbNH0Xsen4nObh9QTKd3I8PgB6qXlo6WY5lpopD++wFSnKN7WKqFOsqaalrnmuJFDWFhIz7dju6J\/2Xj9YWNrHFlZtOAJDeieMns91d5s1rJybbSEn\/AOBv2ULqyht1Fp+Z8NBTRSvc1rXsiaCN+Tvx2ArkVBu2ZZUltEIOTay5P3I\/TF8tdto6matqiKqolL3tEbju5bwO88+a4qPUNJLfZLvdBM98e6nijaCGjf2kcM+pytzqGmuNRb7LTQRRuhibLWVDYxnOyCetxPHHiR2K2GsstrjDBPSQCMYDWubkbuwb1ZJpPTNmOnGpJJOSSj6\/7u9SJ\/tHea\/Itdkfs8pJjgH5Ds5rw6evN2eXXi5mOJw\/6enO4dx5bvPxXRU62tELtmEzVLs4\/LZgfHC5\/wAZ1JcnltvtQpY+HSVHLv34z5AqNpLRWLnKnJ2lNz5LTy9yYoLRbbLCXQRMjwOtM89bHeSuOv1faaPLY5TVS5wGQjI\/1cPRcrdKVdfh16u0s\/bHEcN7uO74BTVBZ7fbAfZKVkbiMF\/Fx8zvUHh1buXx6Vq0IqK+bkQXtWpr44tp4Ra6b9uQHbI89\/oB4rrt+kKCleZqsmvnJyXzDd\/p++VPouOb0WRKOzxvin1nz9tDFjGRsDI2hjWjAa0YAWS8JAGScAKq3C9VN9qjabGeod09VyA7j2d\/PkuRi5FlSrGmue5Gy63mqudabNZDl53T1A4MHPB+vooyCyU0GqKG1xgSezN6aokcPedxxjs93d3+tqttro7HQmOFuABtSSH3nYHE\/ZUmyGtu+q3VdPK+LakMkr2jGGZ93s37grovJ20R51eLUoOpnJvTguH7LPqutlbSRWul31Ne7owOxvM\/Twz2KXoKKK30MNJD7kTdnPaeZ8zkqu2cfjWqqu7F4fBS\/lQfLI7uJ\/iU\/T3ShqquWlgqWSTRZ22N5Yxn5hVyVlhNdGSlJ1HvyXcvc60RFWawiIgCIiAKl6ouIudVJb4pNmjox0lVIB+oZGz6kAd57lN6nvBtVu2YQTU1JMcQHEbt7vLI8yFWZbXKJqPTrSennd7RWyg57cDPcM+JIV1OP8medtdRv\/jj4+Oi8fQltE2zoqWW5yxhslUSIwBgNZnl4n5BWlYRRMhiZFG0NYxoa1o5AcAs1XKWJ3NlGmqUFBBERRLSL1Ln+ztbgkER5yD3hUw3J1x07brMx\/5zqno3Z3ktyNk9w62P4Vd79GJLDXtPKne70GfoqHo+m9o1HAcHZhDpDjuGB8SFop2wN8DytsxdPGK\/kreZ9JhiZBCyGMbLI2hrR2Abgs0WEsrIYnyyODWMaXOceQHErOepkkRV+vhtLqWGGITVFTJstj7uGfHJGPNRmvnPFppWHnNl2BuyGn7lYWLa1BqOovUrfyaf8unaeR5fDJ8XKP1rcmVF2ho2uzHTYMnZtHj8MLRCNppHl16rlQnNvJ5I6bVov2yjZVXCrma+oAe5jOO\/fvJzkruq7Jp3T9H7XUU7pXNPUD3kl7uIGOHwVjmmjp4XzTPDI2DLnOO4BfOL5cKm\/VrHNyIXS9FSR7PvDOM+PD17ki5TebyO1oUdmh1Y3l8zLdpSUVds9qNBT0uXFrOhYG7YHP1yPVTq56CkZQ0EFKze2Jgbnt710KmTu7noUouMEnqERFEsC8c4NaXOIAAySeSOcGtLnEAAZJPJVSrq6nVVY63295jt0Z\/PqB+vuClGNyqrVUFxb0QrKyr1TVvt9seYqCM4nqP2+4fbmrDbrbS2qlFNSR7LAckneXHtJWdFRU9vpWU1NGGRsG4dvee9cV+vsFkpC9xD6h4PRR9p7T3KTeLqxKoxVJOrVefpyRHaxvIpaM22nO1UVI2XBvFrT9+HqsKiGPSmkpWRnaqJ+qS7GS9wwfQZ7VT6SrqJb1HVmE1dQ6TbDOO07l8eXcui61VaLux14d7RJHhzoM9VvPZ3bhyzhXqna0TzHtWJyqWz0XL9mmE1rIaVkEj2SiTbgiYN7s8Xn0A38lZNA0Z26ytLtoZETXDO\/mfotclHNaLJWXeuIFfWt6NjQMdEHch2HHpjCsmnqH8PsdNARh5Ztvz+0d59M48lGpPquxZstBqqm9yv+ESaIizHshERAF45wa0ucQABkk8l6oTVtf7FY5GsdiWoPRMA47+Pw+a7FXdiFSahBye4i7fM25Xar1HVv\/uVGHNgac7sDjg93xPcurSNK+YVN6qWnp6x5DcjGGeg4n5BR1zp3xUVt0tSECabD6gjf3nPnk+QVyp4I6anjgiaGsjaGtAGFbN2WXxGGhBynnuzf\/p+yNiIipPRCiLbeZLhea6kbE0wUxAEodv2uBHz9OfKVc4MYXHgBlVzQzC61VFS\/wB+eocT6D6kqaSwtlFSUukhFc\/Il745rLFXlxwPZ5B5lpAVP0DG43eolx1RAW57y5v2U3q+8QUltloQduonZjZafcb2n+t690TRR09ibUgfmVLi5xI5AkAfAnzU11ab5mWolU2uKT7KzLEqZrW9kg2ulfwAdO5rvLZ+RPkpjUF9\/D4xSUjTNXTDZYxm8szuyfXcq1V2P2Q2u2SkSVNbP0lQ\/OcDcMZ7gXeaU4pO7G2VZSi6cPHx3FhszYtP6SbUTjBDDM8cCXO4Dx90KBZaH1Gj625StzU1EnT5J\/SD\/Nx9FK6zmdJFR2qI7LqmUF2OAaO3uyc+S019e+8GOwWJwMDWBs8+OqGDdgd3z5KUb68SuqoX6P8AqrJcWzQ2trdXsht0IdDSxsaauYjJc4Y3evD+S6LFBDc78+qix7FbWCClbnif2vmfMdihqG51NDbLjaqYF8m3sRiNuSckh7sjedwAHiOxXWw2wWm0w02B0mNuUjm88fTh5JPqqyObOulmm87Zv8L8kiiIs56wRFU9RXt1VVuslFOyAHdU1D3bIYOYz8\/RSjFydiqrVjSjdmNwr59UXE2m2SFlGzfUTgbneHd2dvgrNQ0UFupGUtMzZjYMd5Pae9VuC\/WHTtAKaic+qcMklg993Mlx3emVC1urbvdJG09IDT7Zw1kGdtx8ePphW4JSyWSMC2inSeKbxTfD0LjfL\/S2WnLnkSTu9yEHee89gXze41dVXVbqqsz0kvWBIIGzyx3K5WXTMVDC+53nEs4HSEPO0IwN+T2lQFFNDVXWa+3MjoGSF7Y875H8WtA7t3dwzxU6eGN7ZlG1upUw48r7uHNlntVHSaX0\/wC21cbRUlm1IT7xJ4MHwCj9MWY3OqffbgNsvkL4mHmc+94Dl4KJu890v1ZSOlYYoqp+KWDPBucbWPPj9F9DpoIqGjjgZhsULA0E7sADioSbiubNFGMas0kurHTm+JW9QZuupbdaBvijPTTDZ3du\/wAh\/uVqVZ0s019xuN6eD+c\/ooj+6N\/if0+npZlCeVo8DVs\/WUqn9n5bgiIqzSEREAVWv5bV6rtVFK8iGNpncOW7J\/8AwrSqNriOZl5pJYSQ6aAwjB47yCPMPwrKSvIx7Y8NK\/NepI6YEl0utdfZm9V56KDPJo7PLHxVoXHaqBtstkFG0g9G3rEc3cSfVdijN3ZdQg4QSeu\/vCKPr75bLbkVNXG14OCxp2neg3qEfqe5XTMVjtkhBOBUSjqj6DzK6oNnJ7RTg7Xu+CzZZK18LKOXp5mQxlhaXvOAMhUWx3q4R0Ys1qgY+odI4iZx3Nbu344dv81Nw6UmrXiov1fLVyZz0THYYO7\/AIwuus0laauNjWQGmdGMNfB1T59vmpxcI5PMzVIV6rU4rDbnn+jXbNMU1LFJNc3NrKqYfmySHIHcM\/NaKvUUVPi1afpvaaho2W7AyyP7\/LvQaHonEdPW1coHAF48uSmrfa6K1xGOjgEYJyTxJ8TxXHKOrdyUKdS2GKUVx1ZHWPTraF5rq93tFwkO06R2\/YPYPuvb\/aKurqaavt72Cqpfda89U7\/+VOLGR7Yo3SO91gJPgFHG73L+ggqeDd8zKHBbK7U19njudTj2Nuw8xtG7eeqOXHO89iulBbqS2U4gpIRG3mebj2k81CaJY59vqq1\/vVNQXeQ\/mSrKpVJO+Ep2SlFQ6R6vefN4qSpprlX1lEc1NuqC9zc++wkg4+vcVe7Vdaa70baind3PYeLD2FRV8tNdFcmXq0YdUsbsyxOO6Qf8cu4Y3qsG7utd1dW01M+imdumo3N6jt+8g8hu7Nx7RlTa6RZGWM3skmnp8zX5R9JRQFBrK1VcG1PL7LIBlzH5Pocb0rNZ2imiLoZXVMnJjGkepIVWCV7WPQ+po4cWJE8SAMk4AVE1DWaf\/EJpIqY1lVIQHkSFsQO7mOPDl371yVVwvmqagwwRSCHd+VHuYB+8efmpS16FIAddJ8tznoYju8z9vVWxioZyZgq1Z7T1aUcuLKzQWqtvNU5lHACAes4dVjB4\/wBFfQbHpyksrNsDpalw60rhw7h2fVd5dRWqjGTFS08YwM4aB\/NVyqvdXqKQ26yRvjiO6aqeMYb3dnzXHOU9MkSp0KWzZyzl809z29101\/qvwS1OJaHZqZweqB2d4+y6LZougopGy1MjquRh6oeMMH8PrzUtarVTWijbT07e97zxee0rrewSMcw5w4EHCg52yjoaY7OpPpKqvLyRV7Ti9asq7metBSDoofHeM\/M+aktU1xoLBUPa4h8o6JhBxvPH4ZXZa7XTWijFLSh2xkuLnHJcTzPw9FGait1VdK+207Yi6kbIXzu3bsY5Huz6rt05rgRcJwoNfyfq\/Y7dPUfsNipIcAO2A93i7efmpJEVbd3c1wioxUVuCIi4SCIiAKkXGnqtTalqGUcojbQMDWSE7g8Hu78+itV4uDLZa56txwWNwwdrjuA9VH6QoDSWVszyXS1Z6VxOeB4fDf5qyDwpyMldKrNUt2r\/AB5nKW6yzsh9Jjht4HqvDYtRV3\/X3zoW5zs04P02fqrQi5je5EvpovtSb8SFodJ2midtmE1D852pztfDh8FMgADAGAF6ii23qXQpwgrRVgiIuEwiIgCjNSVBptPVsgOCY9jP\/wBjs\/VSarmuZNjT+z\/6kzW\/M\/RSgryRTtEsNKT5HfpqnFNp2iYBjajDz\/F1vqpRaaWIwUkMJGDHG1uPAYW5cbu7k6ccMFHgFwXWstlHT9JcjCW8mvaHF3gOajrpcr1NXy2200WwWYD6qT3RkZ3cuff4LG3aShimFXc5nV9VnOXkloPnx8\/RTUUs2yiVWU240435vT9kG63yaoqGut9qht1I3cZyzZ2h4DcfL1XYNHV1tlM1uqKaoy3BZUxDf65+n3uIAAwBgBervSvRaEFsVPWWb46FXbNrKBoa2jo5A0YABAz\/ALghj1lWYzJS0Qzvxg\/9ytCLmPkiz6f\/ALy\/0rUGkennE95r5a9zfdYSQ0fH5YVhhghpohFBEyKNvBrBgBbEUXJvUsp0YU+ygiIoloREQBERAEREARFi5zWML3HDWjJPYEBWdTOkud2obHCQWPd0s+OTR2+WfgrO1oa0NaAABgAclV9LRm43SvvsjMCV5jhzyH\/GyPVWlWTytHgZdn616r3+i0CIirNQREQBERAEREAVY1v1qagjdno3VI2uzh\/Mqzqsa76tspZDwbUjP+k\/ZTp9pGba\/syLOiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCgtX15pLK6FgLpas9E0DPA8fhu81OqrVOLxraGDBdBbmbbuzb3H57PofKcFnd7jPtMngwrV5E5Z7ey2WuCkaMFjcvPa47yfVdqIot3dy6MVFKK3BERcJBERAEREAREQBVjXfWtlLGeDqkZ\/0n7qzqsa03ttrTvBqRkdqnT7SM21\/ZkWdERQNIREQBERAEREAREQBERAEREAREQBERAaaupZR0ktTIQGRMLjk9gUDo2jeKKe5zt\/OrZC7J47OT8zn4LzWc8klLTWqDBmrZQ3BPIEfXHop+kpmUdJFTRgBkTA0YHYFZpDvMvbr8orzf6NyIirNQREQBERAEREAREQBVjVvWuVkYPedU7h5t+6s65Ky20tdPTTVEZc+lftxEEjB3fYeilB2dymvB1IOK5ep1oiKJcEREAREQBERAEREAREQBERAEREAREQFdioqqt1nLW1MBbTUbAyAubucSOI7eLjnwViRFKTuU0oKKb4thERRLgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/9k=",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:00",
    "ubicacionGPS": "LatLng(lat: -23.1006266, lng: -70.4524126)",
    "horaLlegada": "12:43",
    "horaDespacho": "12:04",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


14/05/2026 13:00:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[14/05/2026 13:00:29] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69020400', 'EP3124', 1, 21773342, 453, NOW(), 
				'12:04', '12:43', '13:00', 3, 'Mantenimiento, ajustes
limpieza', -1, 
				'', '','1','3573',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778778029.png', '', null, 'COMPLETADO','LatLng(lat: -23.1006266, lng: -70.4524126)' )
				
[14/05/2026 13:00:29] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200313

14/05/2026 13:00:29 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200313'                    
				WHERE idllamado = 12592			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


14/05/2026 13:00:29 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12592			
				
14/05/2026 13:00:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


14/05/2026 13:00:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 13:00:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 13:00:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 13:00:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

[14/05/2026 13:00: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;
                

14/05/2026 13:00:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 13:00:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

[14/05/2026 13:00: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;
                

14/05/2026 13:00:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

[14/05/2026 13:00: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;
                

14/05/2026 13:00:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 13:00:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

[14/05/2026 13:00: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;
                

14/05/2026 13:00:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

[14/05/2026 13:00: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;
                

14/05/2026 13:00:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

[14/05/2026 13:00: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;
                

14/05/2026 13:00:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 13:00:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12592
            GROUP BY l.idllamado;
            

14/05/2026 13:00:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:00:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12592
                

14/05/2026 13:08:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 13:08:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 13:08:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 13:08:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 13:08:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 13:08:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 13:08:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 13:08:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 13: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 = 12583
                

14/05/2026 13: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 = 12583
                

14/05/2026 13:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 13: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 = 12583
                

14/05/2026 13: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 = 12583
                

14/05/2026 13:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 13: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 = 12583
                

14/05/2026 13: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 = 12583
                

14/05/2026 13: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 = 12583
                

14/05/2026 13:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 13: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 = 12583
                

14/05/2026 13:08:57 - logentry: =========================================
FECHA: 14/05/2026 13:08:57
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-zjkXLbq8kL0jhwJMQ_eGAvZsrZNLqPg+.BK8Fwu-ikG6.fNsV6v
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76063288",
    "serieinterna": "EP1996",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "57002",
    "contadorColor": "18065",
    "contadorScanner": "0",
    "detalle": "•Limpieza guía de cabezal\n•Mantención de gomas de alimentación\n•Limpieza dúplex\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12583",
    "observacion": "•Pendiente cambio goma de bandeja 2",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADgANgDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAIBAwf\/xABHEAABAwMCAgYHAwgIBgMAAAABAAIDBAURBiESMRNBUWFxoRQiMoGRscEVI9EHJDNCdJLC8BZDorLS4eLxNDVSVWKCNjdF\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMxEAAgECAwUGBgICAwAAAAAAAAECAxESITEyQVFh0QQTInGhsRQzUoGRwULhI\/A0YvH\/2gAMAwEAAhEDEQA\/AP6zdLpS2ik9IqnENJ4WtAyXHsWE26amu7eO30UdHA4bSTc\/Pn8EbE2863mM4a+G3xgNYcnLu8eJPwCqlZlHdmZFjrNvFaKyy3\/cmDQ6zJz9rUY7uEf4F89E1nGQ77RpJQDu0NG\/9gfNVCLmPkiXwy+qX5ZL+laxpXcUlFTVLMbhpAI8wfmvUesPRpWQXi3z0T3Z9fhJb49uPDKpl+c9PDUxOinjbIxwwWuGV3Enqjnc1I7E398z5T1MFXCJqaZksZ5OYchfqper07VWuY11gmcwgEyU7ncXHvnAznzWnYr5HeaYkt6Kpi2liPUe0d3yXHHK60JQrPFgmrP0fkaqIigaAiIgCKe1VfZ7RHBFRgGeUlxJGQGgb7fzyK1bVXNuVsp6tpGZGDiA6ndY+OVJxaVypVoSqOmtUdiytQ3gWeg44wH1Mp4YYyM8R6zju\/BaqlWZvWt3OLA6ntjcA\/8An+Oc\/ursEm7vcRrzaiox1eR7tN2uFHdm2y9PDnTsa6CTGMkjl9PEd6p1iaqtra20STMaOnpR0rHY3wNyM8+Q8guux3AXOz09TxZeW4k2x6w2K7KzWJEKTcJulJ33o0ERFWagiIgCIiAIiIAiIgJix\/8AzC8+75qnUzCRQa9mY8nhrocsPeANv7LviFTKc9UZuzZRa4N+4REUDSEREAUzqO3y0M7L9bsslhOZ2t5Pb1nHz\/yVMvEsbZonxPGWvaWuHcVKMsLuVVaaqRsflQVkdwoYauL2JWB2M5wese47LoUzoaR\/2TPTvO8E7hjPLYfXKpkkrSaFGfeU1J7wiIolpLVjG1ev6aKRoeyOlIc08tw7\/EveiDwUNZS5yIakgHHVgfgvkJ4vyiT534aYY7tm\/imi\/wD9P9pP1V8tn7I82n89PnL2Ru3KtbbrbPVuxiJhIB6z1D44WVo6jfT2c1Uo+9rHmUnu6vqfeufWkjpoaG2RnD6ucD3DA+bh8FSRRthiZEwYaxoa0dwUNIeZoXjrv\/qvV\/0eiARgjIKmNKh1vudys5JLIn8ceTvj\/Yt81UKXl\/MvyhRPHKtp8E94H+gJDNNHa+UoT52\/JUIiKs0hERAEREAREQBERATWsIZadtJeaYAS0cg4j2tJ+WdveqGCeOpgjnidxRyNDmntBXmspY62jlpZfYlYWnuysDSE8sAqrNU\/paJ\/q5PNpJ5d34qzWHkZfl1+UvddV7FKiIqzUEREAREQExpT1bzfmD2W1Ow\/9n\/gqdS+ij0zLlWc+nqT6x5nr\/iVQp1Nozdk+Svv7sIiKBpJiD\/7Eqf2YfJq+6JPFTV7\/wDqqj1dyPzF+UGMt\/rabDsnuPV7gvmhv+Brf2k\/IK+Wz9kebT+clzl+j5Wfnmv6SIn1aWHix34J+o+CqFL2YemazutZnIhHQ+Bzj+AqoUJ7kaezZqUuLfQKY1EOh1NY5weEvkLCRzxkDH9pU6mNU\/8APNP\/ALT\/ABMSntDtXyr817op0RFWaQiIgCIiAIiIAi+ZAxk8+SID6pfUDXWe+Ut9hjLmP+6qQB1dvw\/uhVC5bjQRXKglo5vZkGMjm09R+KlF2ZTWpucLLXVeZ0Me2SNsjHBzXAFpHWF6U5pStljZLZa0cFTRnDcn2mZ6vD5EKjSSs7EqVRVIKQREUSwL8ayXoKKebPD0cbnZ7MDK\/ZYOsK00tjfCwEy1ThE0Dn2nyGPepRV2kV1Z4IOXA8aIhMenWPxjpZXO8er6KhXJaqP0C101L1xRgO8evzXWkneTZyjDBTjHggiIolpLag\/MtVWi4HZrj0Lj2b4\/jK+6JcI7XWyu9j0hzs9RAAX762pjNYTM3PFTytft2cvqs61y\/Z35PqioGGul4+EjmSTwA+Xkr1nD0PMfg7S3uSb9Ev0dmimumpa2veMPqagnxA359e7iqZTdnrrfYNO0jKyobFJIzpCz2nHi3Gw7sL8v6UXK5uLLJanPYDjppvZ+gHxUZRcpNrQupVYUqcYt58NWVKmNU\/8APNP\/ALT\/ABMX1tv1XUlsk10gp+vo2NzjuOB9VjXq33iluVrbUXIVE8k2KdzhtG7Ldzt2kfBdhFKWpDtFaUqew93DiuZfopml1FW0FYyiv1N0JecMnYPVPZnG3wxjsVMq5RaNlOrGosgiIolgREQBERAclbbaevlppZi8OppOkZwuxv3outF27I4Ve9giIuEiZ1Pb56eeO\/W8EVFN+mA\/WYOv4c+7wW3bLjBdaGOrgPqvG7TzaesFdRAIwRkFSRLtI308xaq12eRxE7+fiPBWLxK29GSf+GeP+L15Pj1K5F8BBGQcgr6qzWFK1HBftZRw446a2jL99i\/\/AHwPcVsX+5NtVnmqM\/eEcEQzjLjy+HP3L8NLW4UFmje8O6epHSylx3JPLyVkfCsRlq\/5Kip7tX+kbKIirNQRfjVVlPQwGeqmZFGP1nHy71NzahuV6ldTafpiGNOHVUmwHuPLzPcpRi2U1K0KeT14bzQ1RcaSls9TTyzsE00RayPPrHPcoijq666UtLYI3Do3TZBxuBz+A3K1dQWCG1WV1XUzvqq6eVrTK4nAO5OB4DmfJc2mq10eo6eoli4Iqhvo8Z4c8gAMHt2AJ7ytMElC6zPJrynOuozyvZfZveU9u0hbqN4mqOKtn5l83s57Q38crdAAGAMAL6iyuTep7EKcKatFWCmb64y6ss1Pk4aTJgbdef4VTKXP53+URpaMikptz7j\/AI1KGrZV2nOMY8Wvc0NVQRzaeqXPaC6IB7HY3aQeYXRYZnT2Kikf7RiA+G30XDrOoEGnJm9cz2sHxz8gVqWynNLa6WncMOjha13iBuu\/wC\/5DtwXudSIirNIREQBERAEREAREQBctyt8VzoJaSbYSDZ2M8J6iupETscaUlZk3pW4SRdJY631amk2bv7TeweHyVIpzVVFLEyO90Xq1VH7RH6zP8vkSlz1MxunIqqmP5xWN4ImN5tdyd8D9Fa44s1vMkKiopwm9nTmv9yOeQDUmq+iyXUNuGXYds5\/VyPb5AqrUfb7pbNL20UYd6VXOPFIyH1gXHkOLl2DbK6HajvZYZW2F0cI34pHEYHac4XZRb00IUq0IJuT8Tzds7cvsVCwbzqVlHL6BQM9JuDiGtYBkNJ7e\/uU5XaxuNwoSyKA0secSzRZcQD1A9XxVJpels8VIZLdKKiUn7yZww8nwO4CYMCvIfEd\/LBSdufRHLS6Xnr5hWagqXVEv6sDThrO7b6eao444aWAMjayKKMbADAaF8qKiGkgdPUSNjjYMlzipaae5arkdFTE0lpBw+Rww6QfX5dqjnPXQseChlFXk\/y\/M5bpXR6rv1La6ZxbTRucXSge1tkke4YHitnUVlE9ljFCzgmocPgDRg4HMD5+ICztIUFPJda64QMLYIXdDBvkEdZPacAfvKwUpywtJbiqhS72nKVTWXtuM+yXMXa1Q1eAHkcMjR1OHP8AH3rQUi8v0lfDLwk2ytdvg\/o3f5fLwVa1wc0OaQQRkEdahNWd1oaaFRyWGW0tev3PqmNKkVt1u10aD0csvBH3gb\/Lh+K79UXNttskxB+9nHRRjvI3PuGfJe7FSNs+n4mz\/dljDLMXH2Sdznw+i6sot8SE3irJfTm\/ZGXfy66alt9pYfu4\/vpfV\/HuHmqlTGko5K2qrr5McuqXlkYPMNH8ge5U6TytHgd7P4k6j\/k\/TcERFWaQiIgCIiAIiIAiIgCIiA8SiN0T2y46MtIdxcsdeV\/LaChF0vTaGlqCyEvf0TpBnDdznHbgKt1jdHshjtNIeKoqjwva3chp2A95PkVwXe0w6ct1tqoXs9Lp5vXfjeXO58QMY8CtFPwrzPK7XapPTKOvQ3oaSz6WoemdwRkDBlfvJIewfgFkNjuOsZWvnDqO1NOQ0e1Lv\/PcO9fpbLRPqCpF4vO8TsGnpwfV4e\/u+fWqtrQ1oa0AADAA6lBvDzZfCm6q0tDhx8z8KWipqOkbSwQtZCBjhxz8e1SupaGhsj47hbqgUNZn1YoxkSf+vUPJaV41M2nmNBbIjV1rthwDLWHv7f5yuF1uistM+83qVtZcHkdG159UO6gO0jHcB5rsE07v\/wBI15QmnCC037l\/fkZAucd1rDJqKpfHFTgcFKyMgvJ923f19i2LzfqV9oit9jdxS1BEbGRNLSxud8eJ2+K5XaYrq62m7OkBuUrhO1gGBjmB48vkVQ2WGOppIq6otkVNWO3cRHwknt5Z3ypycdeBTRhVd4vLFv328\/0dVpt7LXbIKNpz0bfWPa47k\/FdiIs7d8z1YxUUkjnraKnuFK+mqYw+N43HZ3jvU5TC+6ck9EZSvuVDxfdub7bQeru58iMd6q0XVK2RVUpKTUk7PiSkcNfqa609RWUj6OipHcTY383u8s8vn2rp1hVSGjhtdPkz1zw0AH9UEZz3Zx5qhc4NaXOIAAySepSlj4r9qOqvUgzTwfdU4cPh4bb+LlNO+e5GepDCu7TvKer5b\/QpKCijt1DDSQ+xE3hz2nrPvOSuhcFyvVBamZq5w12MiNu7j7lg\/at91C7gtdOaKkJwah\/MjuP4fFRUXLNl0q0KfgWb4Ioqi50NJMyGoqoo5JCGtYXb5+i6gQRkHIKxLbpS30LmzzA1dUHcRmlJ9rtxnHxytxclbcTpuo1easERFEtCIiAIiIAiIgC4bvdae0ULqidwzjEbOt7uxdNTURUlNJUTO4Y42lzj3BRU4n1BFU32rjDaSlY5tNCT7R7T3ZxntxhThG+b0M3aKzgrR2n\/ALc57JWM9KrNRXR3SOjIbGNvWkIOAB1YAWrRWKov75bpeuIGVhFPBnHRg8j\/AD4lY2nKBtdGJrhI2O2UjiSCcCSQ9R7TjHkOtUFRqmW4S+h2CB08rjgzPGGs78H6q+d7+E86hhcE6unDe3x6HLYdQ01osktLXyYmpJXMbE3dzhnO3vyvWL5qnfJtlvO2N+KQeWfIeK5LfbHW\/WUEVzMdVNUxul4yPVD9zkdvsns5+CuVCbUXdbzRQhOrDDN2Syt1Zn2myUVmh4KWP13e3K7dzv57Fh1obqfUkVNGzipLeczOzlryTy59eMfFd2pb0+jjbQUBL7hUENa1gyWA9fj2fFddgs7LNbWwc5X+vK7tdjkO4KKbSxPUtlGM5KjFeFa\/pdTTREVRtCIvL3sjYXyODGtGS5xwAgPSKeq9YUbJTT2+GWvn\/VETfVJ8eZ9wXHJR6hu0Est0rW22kALnRsbvwjnnG+Mdp9ysUHvyM0u0x0gsT5afnQ\/XV9+hitz6CknZJUTngeI3Z4G9YOOs8sd5XBaqbUVTQRUNLH9l0rBh8jhh7ydye34Y8V60VZ45KiW6OZmJpLacPwTz3J7wMD3lWqnKSh4UZ6VOfaH3s3a+5cPMxLfpS3UbzNO11bOdzJUetv4cvjkraAAGAMAL6ipbb1N0KcIK0VYIiLhMIiIAiIgCIiAIimtS3WeWZtjtZLqyYgSEbcDcZ59W3kpRjidiurUVOOJnNXyyasu4t1KS2gpH5qJA7Z+\/V8Dj3lb1xo4xYKqkgiDWine1jGjYbHC9Wm1wWigZTQjfm93W93WV3LspZ2WiKqdF2bntS16ENpjTlJc6BlTU1EkrI5HB1OD6odt8xhWkFNBSxiOnhZEwfqsaAFLyGp0ldJ52wGa11buNwZzidvsBnH47di0H6ysjI+L0l5djdgidkd24x5qc1KTus0UdndKjHDKyktTl1iPRX266tbxOppwHDtHPHl5rrvuomUEbKeiHpFbUAdExozjPIn6BYl6v1TfbVPDRWyUUww6SeXqA9bbqB27T5rT0haaSK3xXIEzVE7d5Hj2OYIHyyu2tFOW4ipudWUaTyds\/TLidFgsLqDira5\/TXCbJe878GeoH+e7v3Fx1t1oLcM1dXHEcZ4ScuPuG6w5tZtneYbRb56yTHPhIA78DfHwULSm7mnHRoLDfqVC4K69223A+lVcbHA44B6zs+A3WIKDVF3JNZWC3Qk\/o4T62Pd9Su+i0laaN\/SvidUy5zxzu4t\/Dl5JhitWc7yrPYjbm+hwSanuN0+6sVtlcCcekSt9UfQe8+5eo9KVVwlbPfbi+oI\/qY9mj3\/gAqZjGRsDI2hjWjAa0YAXpMdtlWHw+LOq8Xt+DlobbRW2Po6OnZCDzI3J8SdysTVNZJVTQWCkd9\/VkGUgeyz+Rk9w71u19bHbqGarm9iJvFjtPUPecBYWkqOSds17rQHVNW71CR7LRtt2Z+QCR+pnKudqMMr68l\/ehvUdLHRUcVLEPUiaGhfuiKs1JJKyCIiHQiIgCIiAIiIAiIgMvUN3bZrY+cbzP9SIf+WOfgFz6bsz6GJ1dWlz7hUjMrnHJaCc4+WV+WrKWd\/oFdHE6eOjm45YWgkuGQeWO48+1fkNd2wRhzqerDtstDG7e\/KtSbh4TDKpBV26rtbT9spkUv\/TT0k8NutFXUuPaMfLKenavrP0NugpWO5OkIyPHJ+i53b3lvxVN7N35JlO5oc0tcAQRgg9axaqs01b5XSzChbNnJLI2ufnPcM8wuL+jV1uW94vDy05+5g9nHkPIrQo9K2eiwW0gleP1pjxeXLyS0VvIuVWppBLz6Iy6vVbLhBLR2u11FWJGOY4luAARjkM\/RZmn6K83KlfQxXE0dNTSFsjW7PBPMbc+vmVesYyNgZG0Ma0YDWjACmbUPs\/Wtxo8BrKpglb1ZPPb4u+CnGSs0kU1KMu8i6kr3yyyOyk0haKb1pIn1Un\/AFzuz5DAWzFDFAwRwxsjYP1WNAC9oqXJvU2wpwhsqwREXCwIiICZ1k90\/wBn2tufzucZwdxggfxeSo4omQxMijaGsY0Na0dQHIKb1G8U2obRVzEMga\/hc8jYHvKpmuDmhzSCCMgjrVktlGalnVm3rl7H1ERVmkIiIAiIgCIiAIiIAiIgC8iNgdxBjQ7txuvSIAiIgCIiAKXvGabWtpqR\/WtMRxzPMb\/vKoUxq\/7istFbyENTgn3g\/QqyntWM3asqd+DT9SnREVZpCIiAIiIDmr7fS3KmNPVxCRh5Z5tPaD1FTzLTqOz\/AHdsrY6qmA9WObmPjy9xVUikpNZFNSjGbxaPiiY+1NWt2dZYCe1rtv7yfauq\/wDskP73+pU6LuNcEQ7iX1v06Ex9q6r\/AOyQ\/vf6kF21UN3WOIgcwHb\/AN5U6JjXAdxL636dCX\/pbV0pDbjY6mEdb25IPbjIHzWpbtR2u5uEcNQGyuxiOT1XHbkO33di1FLXagnrdSU7aa1iNsL2vkrCMB4592cb9a6sMt1iEu+pWeLFyt0KlERVmwIiIAiIgCIiAIiIAiIgCn9bQGXTr3AZ6KRr+We73c1QLkutMKy1VVORnjicB44281KLtJMqrQx05R5Hugn9Kt9PUZz0sTXfELoWFo2q9J07C0kl0DnRkk9+R5ELdSSs2jtKeOnGXFBERRLAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICX0l+Z3C62wt4eim42DuyR8uH4qoUxVA0GvaWcHhZWwljj2kDGPJqp1ZPN34mbs2UXDg2v2ERFWaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICb1pTvFBBcYQBNRzBwf2D\/fC36adlVTRVEZyyVgcPAhfncKRtdb6ilcNpYy0dxxsfis7ScdVBYo6erhfC+J7mgPGCRnOfNT1h5GZJxrvhJeqNpERQNIREQBERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ELISA GIL GARCÍA",
    "correoContacto": "mlgil@services-ges.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "976545794",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:08",
    "ubicacionGPS": "LatLng(lat: -24.9351625, lng: -69.9291908)",
    "horaLlegada": "10:42",
    "horaDespacho": "12:03",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 14/05/2026 13:08:57
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-zjkXLbq8kL0jhwJMQ_eGAvZsrZNLqPg+.BK8Fwu-ikG6.fNsV6v
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76063288",
    "serieinterna": "EP1996",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "57002",
    "contadorColor": "18065",
    "contadorScanner": "0",
    "detalle": "•Limpieza guía de cabezal\n•Mantención de gomas de alimentación\n•Limpieza dúplex\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12583",
    "observacion": "•Pendiente cambio goma de bandeja 2",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADgANgDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAIBAwf\/xABHEAABAwMCAgYHAwgIBgMAAAABAAIDBAURBiESMRNBUWFxoRQiMoGRscEVI9EHJDNCdJLC8BZDorLS4eLxNDVSVWKCNjdF\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMxEAAgECAwUGBgICAwAAAAAAAAECAxESITEyQVFh0QQTInGhsRQzUoGRwULhI\/A0YvH\/2gAMAwEAAhEDEQA\/AP6zdLpS2ik9IqnENJ4WtAyXHsWE26amu7eO30UdHA4bSTc\/Pn8EbE2863mM4a+G3xgNYcnLu8eJPwCqlZlHdmZFjrNvFaKyy3\/cmDQ6zJz9rUY7uEf4F89E1nGQ77RpJQDu0NG\/9gfNVCLmPkiXwy+qX5ZL+laxpXcUlFTVLMbhpAI8wfmvUesPRpWQXi3z0T3Z9fhJb49uPDKpl+c9PDUxOinjbIxwwWuGV3Enqjnc1I7E398z5T1MFXCJqaZksZ5OYchfqper07VWuY11gmcwgEyU7ncXHvnAznzWnYr5HeaYkt6Kpi2liPUe0d3yXHHK60JQrPFgmrP0fkaqIigaAiIgCKe1VfZ7RHBFRgGeUlxJGQGgb7fzyK1bVXNuVsp6tpGZGDiA6ndY+OVJxaVypVoSqOmtUdiytQ3gWeg44wH1Mp4YYyM8R6zju\/BaqlWZvWt3OLA6ntjcA\/8An+Oc\/ursEm7vcRrzaiox1eR7tN2uFHdm2y9PDnTsa6CTGMkjl9PEd6p1iaqtra20STMaOnpR0rHY3wNyM8+Q8guux3AXOz09TxZeW4k2x6w2K7KzWJEKTcJulJ33o0ERFWagiIgCIiAIiIAiIgJix\/8AzC8+75qnUzCRQa9mY8nhrocsPeANv7LviFTKc9UZuzZRa4N+4REUDSEREAUzqO3y0M7L9bsslhOZ2t5Pb1nHz\/yVMvEsbZonxPGWvaWuHcVKMsLuVVaaqRsflQVkdwoYauL2JWB2M5wese47LoUzoaR\/2TPTvO8E7hjPLYfXKpkkrSaFGfeU1J7wiIolpLVjG1ev6aKRoeyOlIc08tw7\/EveiDwUNZS5yIakgHHVgfgvkJ4vyiT534aYY7tm\/imi\/wD9P9pP1V8tn7I82n89PnL2Ru3KtbbrbPVuxiJhIB6z1D44WVo6jfT2c1Uo+9rHmUnu6vqfeufWkjpoaG2RnD6ucD3DA+bh8FSRRthiZEwYaxoa0dwUNIeZoXjrv\/qvV\/0eiARgjIKmNKh1vudys5JLIn8ceTvj\/Yt81UKXl\/MvyhRPHKtp8E94H+gJDNNHa+UoT52\/JUIiKs0hERAEREAREQBERATWsIZadtJeaYAS0cg4j2tJ+WdveqGCeOpgjnidxRyNDmntBXmspY62jlpZfYlYWnuysDSE8sAqrNU\/paJ\/q5PNpJ5d34qzWHkZfl1+UvddV7FKiIqzUEREAREQExpT1bzfmD2W1Ow\/9n\/gqdS+ij0zLlWc+nqT6x5nr\/iVQp1Nozdk+Svv7sIiKBpJiD\/7Eqf2YfJq+6JPFTV7\/wDqqj1dyPzF+UGMt\/rabDsnuPV7gvmhv+Brf2k\/IK+Wz9kebT+clzl+j5Wfnmv6SIn1aWHix34J+o+CqFL2YemazutZnIhHQ+Bzj+AqoUJ7kaezZqUuLfQKY1EOh1NY5weEvkLCRzxkDH9pU6mNU\/8APNP\/ALT\/ABMSntDtXyr817op0RFWaQiIgCIiAIiIAi+ZAxk8+SID6pfUDXWe+Ut9hjLmP+6qQB1dvw\/uhVC5bjQRXKglo5vZkGMjm09R+KlF2ZTWpucLLXVeZ0Me2SNsjHBzXAFpHWF6U5pStljZLZa0cFTRnDcn2mZ6vD5EKjSSs7EqVRVIKQREUSwL8ayXoKKebPD0cbnZ7MDK\/ZYOsK00tjfCwEy1ThE0Dn2nyGPepRV2kV1Z4IOXA8aIhMenWPxjpZXO8er6KhXJaqP0C101L1xRgO8evzXWkneTZyjDBTjHggiIolpLag\/MtVWi4HZrj0Lj2b4\/jK+6JcI7XWyu9j0hzs9RAAX762pjNYTM3PFTytft2cvqs61y\/Z35PqioGGul4+EjmSTwA+Xkr1nD0PMfg7S3uSb9Ev0dmimumpa2veMPqagnxA359e7iqZTdnrrfYNO0jKyobFJIzpCz2nHi3Gw7sL8v6UXK5uLLJanPYDjppvZ+gHxUZRcpNrQupVYUqcYt58NWVKmNU\/8APNP\/ALT\/ABMX1tv1XUlsk10gp+vo2NzjuOB9VjXq33iluVrbUXIVE8k2KdzhtG7Ldzt2kfBdhFKWpDtFaUqew93DiuZfopml1FW0FYyiv1N0JecMnYPVPZnG3wxjsVMq5RaNlOrGosgiIolgREQBERAclbbaevlppZi8OppOkZwuxv3outF27I4Ve9giIuEiZ1Pb56eeO\/W8EVFN+mA\/WYOv4c+7wW3bLjBdaGOrgPqvG7TzaesFdRAIwRkFSRLtI308xaq12eRxE7+fiPBWLxK29GSf+GeP+L15Pj1K5F8BBGQcgr6qzWFK1HBftZRw446a2jL99i\/\/AHwPcVsX+5NtVnmqM\/eEcEQzjLjy+HP3L8NLW4UFmje8O6epHSylx3JPLyVkfCsRlq\/5Kip7tX+kbKIirNQRfjVVlPQwGeqmZFGP1nHy71NzahuV6ldTafpiGNOHVUmwHuPLzPcpRi2U1K0KeT14bzQ1RcaSls9TTyzsE00RayPPrHPcoijq666UtLYI3Do3TZBxuBz+A3K1dQWCG1WV1XUzvqq6eVrTK4nAO5OB4DmfJc2mq10eo6eoli4Iqhvo8Z4c8gAMHt2AJ7ytMElC6zPJrynOuozyvZfZveU9u0hbqN4mqOKtn5l83s57Q38crdAAGAMAL6iyuTep7EKcKatFWCmb64y6ss1Pk4aTJgbdef4VTKXP53+URpaMikptz7j\/AI1KGrZV2nOMY8Wvc0NVQRzaeqXPaC6IB7HY3aQeYXRYZnT2Kikf7RiA+G30XDrOoEGnJm9cz2sHxz8gVqWynNLa6WncMOjha13iBuu\/wC\/5DtwXudSIirNIREQBERAEREAREQBctyt8VzoJaSbYSDZ2M8J6iupETscaUlZk3pW4SRdJY631amk2bv7TeweHyVIpzVVFLEyO90Xq1VH7RH6zP8vkSlz1MxunIqqmP5xWN4ImN5tdyd8D9Fa44s1vMkKiopwm9nTmv9yOeQDUmq+iyXUNuGXYds5\/VyPb5AqrUfb7pbNL20UYd6VXOPFIyH1gXHkOLl2DbK6HajvZYZW2F0cI34pHEYHac4XZRb00IUq0IJuT8Tzds7cvsVCwbzqVlHL6BQM9JuDiGtYBkNJ7e\/uU5XaxuNwoSyKA0secSzRZcQD1A9XxVJpels8VIZLdKKiUn7yZww8nwO4CYMCvIfEd\/LBSdufRHLS6Xnr5hWagqXVEv6sDThrO7b6eao444aWAMjayKKMbADAaF8qKiGkgdPUSNjjYMlzipaae5arkdFTE0lpBw+Rww6QfX5dqjnPXQseChlFXk\/y\/M5bpXR6rv1La6ZxbTRucXSge1tkke4YHitnUVlE9ljFCzgmocPgDRg4HMD5+ICztIUFPJda64QMLYIXdDBvkEdZPacAfvKwUpywtJbiqhS72nKVTWXtuM+yXMXa1Q1eAHkcMjR1OHP8AH3rQUi8v0lfDLwk2ytdvg\/o3f5fLwVa1wc0OaQQRkEdahNWd1oaaFRyWGW0tev3PqmNKkVt1u10aD0csvBH3gb\/Lh+K79UXNttskxB+9nHRRjvI3PuGfJe7FSNs+n4mz\/dljDLMXH2Sdznw+i6sot8SE3irJfTm\/ZGXfy66alt9pYfu4\/vpfV\/HuHmqlTGko5K2qrr5McuqXlkYPMNH8ge5U6TytHgd7P4k6j\/k\/TcERFWaQiIgCIiAIiIAiIgCIiA8SiN0T2y46MtIdxcsdeV\/LaChF0vTaGlqCyEvf0TpBnDdznHbgKt1jdHshjtNIeKoqjwva3chp2A95PkVwXe0w6ct1tqoXs9Lp5vXfjeXO58QMY8CtFPwrzPK7XapPTKOvQ3oaSz6WoemdwRkDBlfvJIewfgFkNjuOsZWvnDqO1NOQ0e1Lv\/PcO9fpbLRPqCpF4vO8TsGnpwfV4e\/u+fWqtrQ1oa0AADAA6lBvDzZfCm6q0tDhx8z8KWipqOkbSwQtZCBjhxz8e1SupaGhsj47hbqgUNZn1YoxkSf+vUPJaV41M2nmNBbIjV1rthwDLWHv7f5yuF1uistM+83qVtZcHkdG159UO6gO0jHcB5rsE07v\/wBI15QmnCC037l\/fkZAucd1rDJqKpfHFTgcFKyMgvJ923f19i2LzfqV9oit9jdxS1BEbGRNLSxud8eJ2+K5XaYrq62m7OkBuUrhO1gGBjmB48vkVQ2WGOppIq6otkVNWO3cRHwknt5Z3ypycdeBTRhVd4vLFv328\/0dVpt7LXbIKNpz0bfWPa47k\/FdiIs7d8z1YxUUkjnraKnuFK+mqYw+N43HZ3jvU5TC+6ck9EZSvuVDxfdub7bQeru58iMd6q0XVK2RVUpKTUk7PiSkcNfqa609RWUj6OipHcTY383u8s8vn2rp1hVSGjhtdPkz1zw0AH9UEZz3Zx5qhc4NaXOIAAySepSlj4r9qOqvUgzTwfdU4cPh4bb+LlNO+e5GepDCu7TvKer5b\/QpKCijt1DDSQ+xE3hz2nrPvOSuhcFyvVBamZq5w12MiNu7j7lg\/at91C7gtdOaKkJwah\/MjuP4fFRUXLNl0q0KfgWb4Ioqi50NJMyGoqoo5JCGtYXb5+i6gQRkHIKxLbpS30LmzzA1dUHcRmlJ9rtxnHxytxclbcTpuo1easERFEtCIiAIiIAiIgC4bvdae0ULqidwzjEbOt7uxdNTURUlNJUTO4Y42lzj3BRU4n1BFU32rjDaSlY5tNCT7R7T3ZxntxhThG+b0M3aKzgrR2n\/ALc57JWM9KrNRXR3SOjIbGNvWkIOAB1YAWrRWKov75bpeuIGVhFPBnHRg8j\/AD4lY2nKBtdGJrhI2O2UjiSCcCSQ9R7TjHkOtUFRqmW4S+h2CB08rjgzPGGs78H6q+d7+E86hhcE6unDe3x6HLYdQ01osktLXyYmpJXMbE3dzhnO3vyvWL5qnfJtlvO2N+KQeWfIeK5LfbHW\/WUEVzMdVNUxul4yPVD9zkdvsns5+CuVCbUXdbzRQhOrDDN2Syt1Zn2myUVmh4KWP13e3K7dzv57Fh1obqfUkVNGzipLeczOzlryTy59eMfFd2pb0+jjbQUBL7hUENa1gyWA9fj2fFddgs7LNbWwc5X+vK7tdjkO4KKbSxPUtlGM5KjFeFa\/pdTTREVRtCIvL3sjYXyODGtGS5xwAgPSKeq9YUbJTT2+GWvn\/VETfVJ8eZ9wXHJR6hu0Est0rW22kALnRsbvwjnnG+Mdp9ysUHvyM0u0x0gsT5afnQ\/XV9+hitz6CknZJUTngeI3Z4G9YOOs8sd5XBaqbUVTQRUNLH9l0rBh8jhh7ydye34Y8V60VZ45KiW6OZmJpLacPwTz3J7wMD3lWqnKSh4UZ6VOfaH3s3a+5cPMxLfpS3UbzNO11bOdzJUetv4cvjkraAAGAMAL6ipbb1N0KcIK0VYIiLhMIiIAiIgCIiAIimtS3WeWZtjtZLqyYgSEbcDcZ59W3kpRjidiurUVOOJnNXyyasu4t1KS2gpH5qJA7Z+\/V8Dj3lb1xo4xYKqkgiDWine1jGjYbHC9Wm1wWigZTQjfm93W93WV3LspZ2WiKqdF2bntS16ENpjTlJc6BlTU1EkrI5HB1OD6odt8xhWkFNBSxiOnhZEwfqsaAFLyGp0ldJ52wGa11buNwZzidvsBnH47di0H6ysjI+L0l5djdgidkd24x5qc1KTus0UdndKjHDKyktTl1iPRX266tbxOppwHDtHPHl5rrvuomUEbKeiHpFbUAdExozjPIn6BYl6v1TfbVPDRWyUUww6SeXqA9bbqB27T5rT0haaSK3xXIEzVE7d5Hj2OYIHyyu2tFOW4ipudWUaTyds\/TLidFgsLqDira5\/TXCbJe878GeoH+e7v3Fx1t1oLcM1dXHEcZ4ScuPuG6w5tZtneYbRb56yTHPhIA78DfHwULSm7mnHRoLDfqVC4K69223A+lVcbHA44B6zs+A3WIKDVF3JNZWC3Qk\/o4T62Pd9Su+i0laaN\/SvidUy5zxzu4t\/Dl5JhitWc7yrPYjbm+hwSanuN0+6sVtlcCcekSt9UfQe8+5eo9KVVwlbPfbi+oI\/qY9mj3\/gAqZjGRsDI2hjWjAa0YAXpMdtlWHw+LOq8Xt+DlobbRW2Po6OnZCDzI3J8SdysTVNZJVTQWCkd9\/VkGUgeyz+Rk9w71u19bHbqGarm9iJvFjtPUPecBYWkqOSds17rQHVNW71CR7LRtt2Z+QCR+pnKudqMMr68l\/ehvUdLHRUcVLEPUiaGhfuiKs1JJKyCIiHQiIgCIiAIiIAiIgMvUN3bZrY+cbzP9SIf+WOfgFz6bsz6GJ1dWlz7hUjMrnHJaCc4+WV+WrKWd\/oFdHE6eOjm45YWgkuGQeWO48+1fkNd2wRhzqerDtstDG7e\/KtSbh4TDKpBV26rtbT9spkUv\/TT0k8NutFXUuPaMfLKenavrP0NugpWO5OkIyPHJ+i53b3lvxVN7N35JlO5oc0tcAQRgg9axaqs01b5XSzChbNnJLI2ufnPcM8wuL+jV1uW94vDy05+5g9nHkPIrQo9K2eiwW0gleP1pjxeXLyS0VvIuVWppBLz6Iy6vVbLhBLR2u11FWJGOY4luAARjkM\/RZmn6K83KlfQxXE0dNTSFsjW7PBPMbc+vmVesYyNgZG0Ma0YDWjACmbUPs\/Wtxo8BrKpglb1ZPPb4u+CnGSs0kU1KMu8i6kr3yyyOyk0haKb1pIn1Un\/AFzuz5DAWzFDFAwRwxsjYP1WNAC9oqXJvU2wpwhsqwREXCwIiICZ1k90\/wBn2tufzucZwdxggfxeSo4omQxMijaGsY0Na0dQHIKb1G8U2obRVzEMga\/hc8jYHvKpmuDmhzSCCMgjrVktlGalnVm3rl7H1ERVmkIiIAiIgCIiAIiIAiIgC8iNgdxBjQ7txuvSIAiIgCIiAKXvGabWtpqR\/WtMRxzPMb\/vKoUxq\/7istFbyENTgn3g\/QqyntWM3asqd+DT9SnREVZpCIiAIiIDmr7fS3KmNPVxCRh5Z5tPaD1FTzLTqOz\/AHdsrY6qmA9WObmPjy9xVUikpNZFNSjGbxaPiiY+1NWt2dZYCe1rtv7yfauq\/wDskP73+pU6LuNcEQ7iX1v06Ex9q6r\/AOyQ\/vf6kF21UN3WOIgcwHb\/AN5U6JjXAdxL636dCX\/pbV0pDbjY6mEdb25IPbjIHzWpbtR2u5uEcNQGyuxiOT1XHbkO33di1FLXagnrdSU7aa1iNsL2vkrCMB4592cb9a6sMt1iEu+pWeLFyt0KlERVmwIiIAiIgCIiAIiIAiIgCn9bQGXTr3AZ6KRr+We73c1QLkutMKy1VVORnjicB44281KLtJMqrQx05R5Hugn9Kt9PUZz0sTXfELoWFo2q9J07C0kl0DnRkk9+R5ELdSSs2jtKeOnGXFBERRLAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICX0l+Z3C62wt4eim42DuyR8uH4qoUxVA0GvaWcHhZWwljj2kDGPJqp1ZPN34mbs2UXDg2v2ERFWaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICb1pTvFBBcYQBNRzBwf2D\/fC36adlVTRVEZyyVgcPAhfncKRtdb6ilcNpYy0dxxsfis7ScdVBYo6erhfC+J7mgPGCRnOfNT1h5GZJxrvhJeqNpERQNIREQBERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ELISA GIL GARCÍA",
    "correoContacto": "mlgil@services-ges.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "976545794",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:08",
    "ubicacionGPS": "LatLng(lat: -24.9351625, lng: -69.9291908)",
    "horaLlegada": "10:42",
    "horaDespacho": "12:03",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


14/05/2026 13:08:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76063288

[14/05/2026 13:08:57] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76063288', 'EP1996', 1, 24456550, 57002, NOW(), 
				'12:03', '10:42', '13:08', 3, '•Limpieza guía de cabezal
•Mantención de gomas de alimentación
•Limpieza dúplex
', -1, 
				'', '','1','18065',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778778537.png', '•Pendiente cambio goma de bandeja 2', null, 'REPROGRAMADO','LatLng(lat: -24.9351625, lng: -69.9291908)' )
				
[14/05/2026 13:08:57] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200314

14/05/2026 13:08:57 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200314'                    
				WHERE idllamado = 12583			
				TO ENVIO: micorreo@miempresa.cl, mlgil@services-ges.com


14/05/2026 13:08:57 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 12583			
				
14/05/2026 13:08:57 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('76063288', 'EP1996', 1, 'APP', 'sin otroTipo definido', 9, 'Sin otrafalla definida', 'Sin coderror', '1', 'SI', now(), 'ELISA GIL GARCÍA', '976545794', 'mlgil@services-ges.com', 12583)
				
14/05/2026 13:08:57 Insertado nuevo llamado creado idllamado: 12594APP
14/05/2026 13:08:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


14/05/2026 13: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 = 12583
                

14/05/2026 13: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 = 12583
                

14/05/2026 13: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 = 12583
                

14/05/2026 13: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 = 12583
                

14/05/2026 13: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 = 12583
                

14/05/2026 13: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 = 12583
                

14/05/2026 13: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 = 12583
                

14/05/2026 13: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 = 12583
                

14/05/2026 13:08:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 13: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 = 12583
                

14/05/2026 13: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 = 12583
                

[14/05/2026 13:08: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;
                

14/05/2026 13:08:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 13:08:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 13:08:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 13:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

[14/05/2026 13:08: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;
                

14/05/2026 13:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

14/05/2026 13:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

[14/05/2026 13:08: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;
                

14/05/2026 13:08:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12583
            GROUP BY l.idllamado;
            

[14/05/2026 13:08: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;
                

14/05/2026 13:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

14/05/2026 13:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12583
                

[14/05/2026 13:09: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;
                

[14/05/2026 13:09: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;
                

14/05/2026 13:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

[14/05/2026 13:09: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;
                

14/05/2026 13:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

[14/05/2026 13:09: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;
                

14/05/2026 13:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

[14/05/2026 13: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;
                

14/05/2026 13:09:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

[14/05/2026 13: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;
                

14/05/2026 13:09:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13: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 = 12591
                

[14/05/2026 13: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;
                

14/05/2026 13: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 = 12591
                

14/05/2026 13:09:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13:09:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13: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 = 12591
                

14/05/2026 13:09:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

[14/05/2026 13:09:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13:09:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

[14/05/2026 13:09: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;
                

14/05/2026 13:09:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

[14/05/2026 13:09: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;
                

[14/05/2026 13:09: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;
                

[14/05/2026 13:09: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;
                

14/05/2026 13:09:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:09:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

[14/05/2026 13:09: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;
                

14/05/2026 13:09:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:09:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

[14/05/2026 13:09: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;
                

14/05/2026 13:09:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/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 = 12591
                

14/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

[14/05/2026 13:10: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;
                

14/05/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 = 12591
                

14/05/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 = 12591
                

[14/05/2026 13:10: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;
                

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/2026 13:10:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/2026 13:10:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13:10:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:10:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:10:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:10:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:10:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:10:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:10:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:10:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:10:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:10:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:10:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:10:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:10:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:10:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:10:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:10:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:10:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:10:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13: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 = 12591
                

14/05/2026 13:10:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13: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 = 12591
                

14/05/2026 13:10:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:10:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:10:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

[14/05/2026 13:10: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;
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

[14/05/2026 13:10: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;
                

14/05/2026 13:10:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:10:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

[14/05/2026 13:10: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;
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

[14/05/2026 13:10: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;
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13:10:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:10:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:10:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:10:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

[14/05/2026 13:10:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13:10:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

[14/05/2026 13:10:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 13:10:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

[14/05/2026 13:10:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 13: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 = 12591
                

14/05/2026 13:10:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

[14/05/2026 13:10:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 13: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 = 12591
                

14/05/2026 13:10:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13:10:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13:10:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13:10:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/2026 13:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13:11:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:11:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:11:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:11:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:11:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/2026 13:11:43 - logentry: =========================================
FECHA: 14/05/2026 13:11:43
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Dj+QhN6bNnS0eXyNSHZDbaQFLzHAK-kaVlyiNGykzyGselYkKSh
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76063288",
    "serieinterna": "EP2231",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "102029",
    "contadorColor": "130094",
    "contadorScanner": "0",
    "detalle": "•Al imprimir varias hojas, la sincronización del papel y el cabezal se pierde, lo que causa la distorción en la impresión, al igual que con la EP2230",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12591",
    "observacion": "•Recomendable mantención a taller",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADzAS4DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABHEAABAwMCAgcFBQQGCgMBAAABAAIDBAURBiESMRNBUWFxgZEUIqGxwRUjJDLRM0JS4QclNJLw8RY2Q1VicnN0gsJEotKy\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgEDAgMGBgMAAwEAAAAAAAECAxEhEjEEQVETIjJhcdGBkaGx4fAzQsEUI1Lx\/9oADAMBAAIRAxEAPwD+zL4lmjgidLM9scbBlznHAAX2pK4SO1PfvsqGTFBTYdO9h\/MewdXMgeRKlGNymrU0LGW9j3k1NXXGV8VgoDUNYcOnlGG+QyPj6L8FDrCZvv3SliBHJrRkf\/X6qhpqWCjp2wU0TYomcmtXspa0tkVqhKWZyd\/LCJgWTUgOft7Pdgr89j1hTH7u4U1QwbAOAyfH3fqqhE1vod\/40eTa+LJY3vUNtd\/WVpE8QxmSD+Wfp8VoW7VVruDujEpp5eXBNhpzv18upbKzrlYrddQTVU46TGOlbs8ef6peL3Rzs60PDK\/k\/c0UUo6hvunZC+3PdcKED9g85e3bA\/wPRbFpv1FdmlsTjFO04dBJgPGOe3WFxxxdZJwrpvTJWf7t1NNERQLwiIgCIiAIvGeqp6VnHUTxxN7XuAXxT3GiqnlkFVFI8c2teCfRdsyOqN7XOlERcJBERAEXnNNFTwvmmeGRsGXOcdgFLQauqHVYqZqcR2uSUxMkOxHee3l8evClGLlsU1K0KbSk9ytREUS4IiIAiIgCIiAIiIAiIgCIiAzNQXH7Ls09Q04kI4I\/+Y\/4J8l56Ztv2dZ4+Peef72V2ckk9We4fVZ2pM3G\/wBrs+\/A53TSDtAz9Gu9VUKx4il1M0O\/WlL\/AM49wiIqzSEREAREQBYt401SXJ3tERNLWN3bNHtk\/wDF2+PNbSLqbTuiE6caitJEvQ6iqrZUCg1EwQu4R0dQBkP8cZ9fVU7XBzQ5pBBGQR1rnrrfS3KnMFXC2RpBwSN294PUVMQ1FdpGtbS1kjqi1ynEch5xns7vDl1jrCnZT23M+qVDE3ePXmvX3LBF8tc17A9jg5rhkEHIIX0qzWFjX6\/C1htNTR9PXTbRxDfGeRI+i7Lvco7VbZat+5aMMbj8zuoLK03apeN97uJ462qGWgj9m0\/yx4DZTilbUzPVnJy7OG\/N9EeNt0oKiM1V9fJUVMp4iwvOGDs269z4dS963RttlhcaIPo5se65jyQT1ZB6sjqVCidpK97nFwtLTpcff5k7Yr3UiqNnvDSysj\/JIeUg\/Xv6\/HnRLG1JZRdqHihAbVw+9E8c\/wDlz3\/NfWm7uLvbGuefxEPuTAjG\/b5\/quySa1I5TlKEuym79H1\/KNdEXxNKyCF80h4WRtLnHsA3KrNRNakqJLpcYNPUp\/aOD6h4P5WjfB8sH0XferTHLpiWhp2kCCIGIDnlu\/mTjHmuLSMZrJa69SsAkqZS1mOpo3P09FTK2T0tJcjHSgqsZTl\/b7cvcydM1zrhYqeWQl0jB0byRzI+e2FrKY0h+Gq7tb+TYKjLR3EkfQKnUZq0mW8PJypJvf2wERFAvCIiAIiIAiIgCIiAIiICXpwKj+kOpdjanpxv34b\/APoqoUxafc1xdmOHvGMOGeePd\/UKnU57r0M3DeGT839wiIoGkIiIAiIgCIiALwraOCvpJKWpZxxyDBH1C90Q40mrMk7ZWT6cugs1weX0kp\/Czu5N7j8u49xVYsrUVqF2tMkLWgzMHHEf+IdXnyXzpq6G6WiN8hzPF93LnnkdfmN\/HKsl3lqM1K9OfZPbde3wM7UI+09RW20cWYhmaVoI78Z8gfVVCmLeem17cXvJcYoA1nFvwj3eXZ1+pVOuTxZHaGXOfV\/bAREUDSFKOZ9g6zje0hlJcwQR1B\/+ZH95Van9Z0RqbIahg+8pXiQEDJxyP6+SnB5t1M3ExejWt45\/fgUCndY1hbQxW2Fx9orXhgaP4cjn54Wva6wXC2U9WOcrATtjfr+OVhU\/9b63mmJJhtrOBoPLj3Hz4vT07BWd3yOV5aqajH+2Phz+hQUFFHbqGGkh\/JE3hz2nrPmcldCIq9zSkkrIl6T8P\/SFWMGzZ4AcY68NP0KqFMVv3X9INA7qkpyM9+H\/AMlTqyfL0M\/D41rzfuERFWaQiIgCIiAIiIAiIgCIiAmB+G\/pDOdvaqbbG2cAev5CqdS+qyaC52q7Ae7FL0chx1HfHpxKnBBGQcgqyeUmZqGJzh53+Z+oiKs0hERAEREAREQBERAFL0YNp1vPStJFPXs6VoxsHc\/nxeoVQpfVTegu9nrWnhLZuBxx1ZBx8\/VWQy7dTNxOIqfRr2FIRSa\/q45D\/a4AYj27A\/8Aq70VQpnV9PNB7LeaX9pRv97bm0n5Z281v0dXHXUcVVCcslaHDu7kllJnKL0zlTfW\/wAH+T3REVZqC85oWVEEkEgyyRpa4doIwV6Ig3JDTtebTarrTTH3rc9xAJzknIAHdkfFaGjaR0Fl9ok3kq3mRxznbkP181P6noJo9SmCnJay5hmQ0bE8QB+IB81dwxMp4I4YxhkbQ1o7gMK6bVrrmedw0W6ml\/0x8\/weiIipPRJi9jGsLM4bE5GRz5\/zVOpjUW2p7GRsTIRnzCp1ZLZGaj\/JU9f8QREVZpCIiAIiIAiIgCIiAIiIDNv9u+1LPNTgZfjjYB\/ENwPPl5rz03cm3GzQuLszQgRygnfiG2T481rKTqc6Z1OKvPDb7icS7bMf\/mc+Z7FZHvLSZar7Oaqctn\/jKxF+AgjIOQV+qs1BERAEREAREQBERAFMa5\/sNF\/3I+RVOpjXP9hov+5HyKsp+NGbi\/4ZFHPBHUwSQSt4o5Glrh2gqa0vM+23KssE5JETi+Anrb\/lg+qqVN6ogfR1FLfqduZKRwbKB+8w7fUjzSGe71FdabVVy39OfuUiLzgnjqYI54ncUcjQ5p7QV6Ks0p3CIvGrqG0lJLUv3bEwux24HJDjdldkLqeqqJ9RSVFLxlttazJG3Cc\/qfgrqlqGVdJDUx\/klYHjwIypvTlrNZp+tmqMiW5l5LiOQ3wfUkrp0ZVGWzupJAWy0khY4Hqyc\/qPJXTs1Zcjz+HclU1S\/vn9+BQoiKk9EmNR\/wCs1j\/6p+bVTqY1H\/rNY\/8Aqn5tVOrJeFGaj\/JU9V9kERFWaQiIgCIiAIiIAiIgCIiALiuttiu1vkpJduIZa7+F3UV2oup2yclFSTT2JvTVzlildYrhxCqpshjncntHZ9O0KkWFqOyGvjbXUZMdfT+9G5vNwG+P0Xtp++MvFIQ\/3KuLaaPGMHtHcpyV1qRmpSdOXZT+D6r3RroiKs1BERAEREAREQBS+sj0k1pphu6Wp2HUeQ+qqFMXL8Xrq2043bBEZHdx3P0b6qyn4rmbis09PVpfUp141VOyrpJqaT8krCw+BGF7IqzQ1dWZN6PqHwxVVnqHff0UpAB\/hz1eefUKkUpfWiy6koryw8MU7uiqMemfT\/8AlVQIIyDkFWTz3upn4dtJ03vH7cj9U5rSpe21xUMILpq2UMa0EZIBB+ePVUak6TN61fPXvf8Ag7aOBhzgF2\/1yfILkN79BxLbjoW8se\/0KWipm0dFDTMA4YmBm3XgKfsX4LVl4oXDHSkTN36s52\/v\/BdNw1db6SUQUwfWzk44Idxnx\/TKm62S9Tagpqp8Qts9Z9zEe7Yb+oCnCLd78zPXrQi46M6Xy+R\/QXODRlxAHaVxSXu1RnDrhTZ7BKCfQLGboxtQ7jud0qqt3VvgA+eV2w6RskI\/sfGe173H6qNoLmaNdeW0UvV+xjXy72+p1BaJ4aqN8cD8yOB2aMj9FQN1FZnuDRcYMntdgepU\/eLRbodS2qlipWMilJMjAMB263n6Ysj2lpt8YB\/hJB9QVKWiyM9Lt9c7W38+iNKOWOZgfFI17Tyc05C+1Mu0aynl6a13CopJBuATlpI8MH581+2q+1lLWstV8i6KYjEU5O0nieW\/aoaU\/CzQq8otKpG1+e6KVERQNIREQBERAEREAREQBERAFN6gtE8FQL3aQW1cW8kbRtKOvbr7+1UiKUZOLuV1aaqRszPs13gvNC2oiIDxtJHndhWgpW826ex1RvlpGGf\/ACYB+Vw7cdny59qoLdcILpRR1dO7LHjcHm09YPeuyit1sV0qjb7OfiX18zqREUDQEREAREQBTFsHtmuLlVfmZBGIh18J2H0d8VvXCsjt9BNVyn3YmE+J6h5nAWNoykfHbJa2Yfe1shkJ23HV8c+qsjiLZlq96rCHTJRIiKs1GZqGh+0LJURN\/aNb0kZxkhzd9vl5r501WCtsFLJnLmM6Nw7C3b5YPmtCoqIaSB09RI2ONgyXOK\/ntsfVVdbW2y0VQp6OZ7pHSO90tjB\/Qjv8BlWxWqLRhrVFSrKSy2rW+xS6i1PS0FLLT00wkq3NLR0Zz0Z7Se1ZVn0jXVFI1lxqH01MTxezMxxOPa7+eT4LxsFlp62+9NTM4qGidwl7zxdM4Zwccuw+GOtXqlJ6FaJXSpviX2lXbZLkcdFaqG3D8LTRxuxgvxlx8XHcrE1ccV1m\/wC5+rVTqY1R99fLJTDmZ+J3hlv6FQg7yyaOJio0Wkun3RToiKs1ExfP9cLN5\/NU6mK373+kGgb1R05OO\/D\/AOSp1ZPZGahmU35\/4gsTV1G2qsEzw37ynxKx3WMc\/hlbazdRPDNPVxdy6Ej12UYeJFldJ0pJ9D1s9U6ts9JUvdxPfE0uPa7kfiu1ZWmG8GnKMZB9wnI8StVcluztJt04t9EERFwsCIiAIiIAuOO2wxXWa4tfIZpmBjml3ugDsHl\/jK7EXbnHFO1wiIuHQiIgPwgEYIyCpKeOXSF29qha51qqnYkYN+iP+OXoq5eVTTRVlNJTzsD45G8LgVKMrb7FNalrV1hrY+oZY54WTRPD43gOa4ciF9qStdRLpi6izVr+KjnJdTTHbBPUfP478iq1JRsxSq9os4a3QREUS4Ii\/HODWlziAAMknqQExqyZ1dV0Vig9588gfLg7taP5ZPkqWKJkMTIo2hrGNDWtHUByCmtNNkul3rr5MPdc7ooOezR2eWPit6rudDQg+1VcURAzwucM+nNWS5RRkotPVWlz29EdS4rpdaW0UhqKl23JrB+Z57Asyr1rZ4InGGV9Q8cmNYRk+JCl6e+UlZdDX3tk9S9p+4gjaOBvqf8AHWuxpt5aIVuMhHuwau\/kjao7ZXaonbX3jjho2nMNMMjiHb4d\/M9y4NZtpqO4UraNwikEBjfGzZoYc4Bx25Pkt+4alZTWWOpbE5lXUtIggcMuBzgEjs614UGmBNa6h9yPHXVrSXvP7h5tx8M+impWd3sUzpqcezp5k8t\/b\/4bFoooLfa4KenIcwN4uIfvE75Xap\/R1c6otJo5QRPRO6N4PPG+PqPJUCpkmpO5voyjKnFx2CmLl+I15bYeqKEvPcfeP0Cp1MW8iu11XztxwUsQjBHbsD\/7eg712HN+RXxGdMerX0yU6IigaSXgPT\/0iVGP9hTY28G\/\/pVCl9NAzaivlQTnhm4BjkRxO\/QKoVlTexm4bMHLq39wpzWkzjbYKCLeWsmawDtAP68Ko1J07vtvW752ZdTW5nCHZ2Ltx88\/3VyG9+g4l3hoW8se\/wBCnpoG01LFTs\/LEwMHgBheqIoGhKysgiIh0IiIAiIgCIiAIiIAiIgCIiAzr5aY7xbX07gBIBxRP\/hd+h5FcWlrtJWUz6GsyK2kPC8OGCRyB+n+a3lK6hgfZrrDqGmBLS4R1LB1g7Z\/x14VkcrSZay7OSrL4+n4KpF5wTx1MEc8TuKORoc09oK9FWak7hTGrb3Gyjfa6OTpauc8D2R7lresbdZ5Y7yvvVF7kppGWyimEVTMOJ8pOBE3tJ8Ae\/CzNDWoSzS3SZvEGEshLhzPW7028yroxstbMFas5z7Cnz3fQ+7ZZdRS2+KlNQy2UrQctaPvHZ6z\/mF5XC12mxmOERSXO4zEBjHu2B7cD5HKotQXtlno\/uwJKuX3YY+eT2kdixKOWl01Ca65udUXaqGTGN3Nz1d3Vn4KSlJ5KalOlB6E9t282+G1+h2WDSrKV\/t1xjjfVOPE2INHBF5DYn5fFet01TTUpNFbGe11jjwtZGMtafLn4BcjafUGoxxVUv2ZRO\/2TQeNw+frjwW7a7NQ2iLgpIsOIw6R27neJUZNXvLLLqcZOOmktK6vd\/vmZ9msE0dUbpdpOnrn7hpwWxeH8tgt9EVTk27s106caatElbkH2LVVPcY8Npa4iKcYAAPafgc9xVUpbV9xt1RRPtgeZ6suBYyJvEWuB6\/iO1cln1RdpIOh+zhVezNAkLX4fgbZIPl8Va4OUUzHGvClVlC+HnGc8\/cq7jWMt9vnq5CAImEjPWeoeZwFj6Oo3xWx9dO7inrnmRzusjfGfPJ81xVFRVasrYKWKmmpqCF4fO+TLS4g4Lduvn81VxRMhiZFG0NYxoa1o6gOQUX3Y25lsH2tXWtlt6n2vOaVlPBJNIcMjaXOPcBleixNXVRptPTBpAdMWxtyR1nf4AqEVd2NFSeiDl0OXRMTzbqitkxx1U5dt3fzJVKuKzUnsNnpKYjDmRDiGP3jufiSu1dm7ybIUIaKUYmTqS7C0Wl8rSOmkPBEO88z5DPwX7py2uttojZKPxEv3kpI3yd8Hw5LJY0al1QZiC6gtpAbnbifz5Edo37gO1ValLux0ldL\/sqOpyWF\/rCIirNQREQBERAEREAREQBERAEREAREQBeVTTxVdNJTzN4o5Glrh3FeqIcavhkvpqea23Go0\/Vv4jF79O49beeB659VR1NRFSUstTM7hjiaXOPcFPavppac0t7pR99RvAee1pO2e7OR\/wCS9dQ3Snm0k+ojl4famNEYzuckZHlvlWtamn1MUZ9jGcH\/AFyvTl7EjTtqNRXst4sPrHkzEfuRgjYZHUB8l\/Qpiyz2Z3s8LntposMY0ZJwNv5+aytHWc262+0ygdNVAO\/5WY2Hxz6diol2pJN2WyOcJRcabnLxS\/fyfzy301+u9wfWtYWTPJBqZW4bGB1N\/wAlVWvTNFbZfaHk1NVnPTS7nPaO9bAAAwBgBfqjKo3tgspcLCnl5fmEReVTURUlLLUzO4Y4mlzj3BVmpuyuzhmvcMN+htJjJfLGX9IHDDdnHB\/u\/FZV1u9Td6gWqxP4uL9tUtJAYM42PZ3jyXBabCdSmovFwlli6eUhjYyN24IPMHbkB4FV1Db6W204gpIhGwb45knvKtemD8zFB1a6d8RfzsctosFDZ429DHxzAe9M78xPXjsWXf6GotlcNQW1oLmD8RH1Ob1n\/HiqdfhAIwRkFRU3e7L5UIOGiOLbeRzW64QXSijq6d2WPG4PNp6we9dSkailrtK3CWtoIumtkpBlhHNnh9D5HtVHQXKjucAmpJmyDrHW3uI6klG2VscpVdXcniS\/bo61KXZ4veq6S1MbxwUh6Wc9+xx8h4lbd4u9NZ6N00zxxkYjYNy4+HYuHS1tmpqaavrB+LrH8bsnJDeoZ+Pp2Lse6tRGt\/2SVJer9Pybyw9V3Q2619FEOKeqPRsbvnH7x235bbdoW4pKhB1FquS4nDqKgPBDv+Zw5H1y7PguQWbvkd4iT0qEd5Y92blhtgtNphpsDpMccpHW88\/Tl5LRRFFu7uy+MVCKitkERFwkEREAREQBERAEREAREQBERAEREAREQHhW+zmimFWWtpywiQuO2Otfy+lgZWx1Mbql5bSwvkp4zydg5Phtv5KrvNRLqG8NsVI7FNEc1UoB90jO308T3Jqa3R22OiudJD7lIRFKwDZ0Z2wfUj\/yWin3cc2eVxS7ZuS8Mfr1+Rs6cnFRp+icCDwxBhx1cO30Wmo\/TlbHaLlJa5HH2arcJaOU8nAjYeew8QrBVTVpG3hp66a6rDCIigaApO6VM2o7v9i0UgbSQ4fUTNwQ7HV37427fBdF9vc0tR9jWcdLVye7I8coh179vf1ePLTsdojstvbTsIfITxSPx+Y\/orF3Vd7mSb7aXZx8K3f+e52wQR00DIIWBkbBhrQMYC9ERVmtKwREQH45oc0tcAQRgg9aw6vSlHLN0tJLJQuP5hBs0+Xqt1F1Sa2ITpwmrSRgUGkqWnqvaq2okr58gh03IEeud1vosqv1JardkS1TXvBx0cXvuHjjl5rt5TZBKlQj0Rz6tuZt9pMMRPtFWejjA54\/ePpt4kLssduFps8NM4++0cUhztxHc+nLyUhJVXLU99ZV2ynDW0nDwdKW4j32J8xnG\/JbA0nV1zuO8XeafJyY49m8+\/b4K1xSik2Y4VZVKrqQjfkuS8zUrdSWmgB6WsY9\/wDBF758NuXmssaquFwcW2ezSyA8pJtm+fV8Vp0emrRRAdHRMe7rfL75Pr9FqAADAGAFC8FsrmjRXn4pW9Pd+xz281homGvDBUEkvazk3c4HkMBdKLCumq6Khd0FL+NqicCOI5APeR8huopOTwXSnGlHvM3Vz1Fwo6QkVNVDEQM4e8A+inWUOpL3l9ZWfZtO45bFGPe+G\/qfJddNouzwbyxyVLusyyH6YUtMVuyrtas\/BHHnj6HX\/pJZv94w+pXZS3CjrgTS1Mc2CQeB2Vx\/6N2b\/d0PoVlXnT4t0ZutkzSzwDiexhOHtHPby5ciiUHhHHOvBapJNeV7lSi5LXXNuVtgq2t4ekbkt7D1rrUGrYNMWpJNBERcOhERAEREAREQBYuqLu6120NgJ9pqDwRcPMdp+XqFtKXqI\/btewxzNzHSQ8bARsTz+BIPkpwSvdmfiJSULR3eDT0\/Zo7PbwzGaiUB07zvl3ZnsG60Kmniq6WWmmbxRytLXDuK9UUW23ctjCMY6EsENQW1tfDU6erH8FZQvL6abG\/CfpuD59y74NQV9kcaW\/073NBDY6qIZD\/1+faF9apjfbq+jv1Owkwu6OYA44mnl9R5hUcb4qumZI0B8UrA4ZGxBGQrZSxd7Mw06TUnGLtJfVcr+mxjS60skcfG2eSU4\/IyJ2fjgfFcT6y\/aid0dFA+20TvzTSDDnDu6\/T1VFHbaCKTpI6KnY\/+JsTQfXC6VHVFbIvdKrPE5Y8sfUzrPZKSzU\/RwN4pCPflI9538u5aKIoNtu7NEYxgtMVgIi4a68262j8VVMY48m83HyCJN7CUlFXk7Hciln6vnrXmKzWuapdke+8bDxxy8yvn7H1Jdh\/WVxbSROBBih3PPkcbfEqehrxYM\/8AyVL+NOX2+ZtXC+222Nd7TVM42\/7Jh4n+nV5rGOqLlcnllktTns4sdNN+X6Aeq0aDSlpoMOFOJ34\/NP73w5LYAAGAMAJeK2Vxprz8T0ry3+ZLtsF9uLg663gsYecUPWOzbA5eK9Ku02rTVomrIadsk8Y+7km948R2Hdtz2HUqVSuqibjdrbZmkESP6SUbnA8u7iXYycnbkV1aUKUHJK8uV85ZpaXoBQ2WNzmuE1R97IXc8nlnyx8VsL8a0NaGtAAAwAOpfMs0cETpZntjjYMuc44ACrbu7muEVTgorkfazrtfKKzRg1LyZHDLYmbud+g71k1WqKivndR6fpjUSY3ncMNZ5H5n4rqtOmYqWX224P8AbK5xy5792tPcD8\/kp6UsyKHWlUemj8+X5OAw37U\/7X+rbe79zfjkb39vwHit222WgtTMUkAa7GDI7dx813ouObeOROFCMXqeX1f7gIiKBeF41Ya6jnD\/AMpjcHeGF7LN1DP7Np+tkzjMRaD3u936rqV2Qm9MG2cGiC46dZxchK7h3HL\/ADyqFZOl4PZ9OUbCMFzOP+8SfqtZdnmTIcOrUop9EERFEuCIiAIiIAiIgCmdRRT2270t\/ghMrIW9HO0Hk3ff4nfwVMvwgEYIyCpRdmV1afaRtexx2+7UN0j46OobIQMuZyc3xHNdqwq7SNuq5TPAZKSYkuL4TjJPPb9MLlFp1RRnhpbyydmDkzjJPPHMH5qWmL2ZV2lWOJxv5r2N+upI6+hmpJPyysLScZx3+XNYelK2SIz2Ssd+Io3EMz+8zu8PkQvgN1nGccdHJ1529OQWLd4dQ0VU2+1DIoZWYYXRYOOY3G\/h6KcY3Wm5nq1mpKoovG+OR\/QV+EgDJOAFKwW\/U1xgjmffomxSNDmuhbuRzHIBejdGe0YNyu9XVY6uLHzz3eihpS3Zeq1SXhg\/i0vc1qvUFpouIT10XE04LWHicD4BZL9YPqnGO0WyeqdnHG4YaPT+S0KXS9npCHNo2SOH70vvfDl8FqsYyNgZG0Ma0YDWjACXguVzumvLdpemfv7EwLfqi7ZNbXNt8Rx93Bz+Bz6ldtFpC0UZ43wmpkzninPF8OXwW4i45vlg7Hhqad5Zfnk+WMZGwMjaGNaMBrRgBfSIoGgIiIApOSthodcTzXB5hi6ANhe7JbnA6+rOCqxc9Xb6OvDRV00c3Act425x4eilFpblNanKaWl5TuYtdrK3w\/d0IfWzuOGsjaQM+ON\/LK5Y7Rd9QyNlvchpqVp4m0sexPj2ee\/gqOlt1FQ59lpYoSRgljQCfPyXSpakvCivsZz\/AJXddFt+TxpaSnooGwU0TYo28mtC9kRVmlJJWQREQ6EREAWDrKUx6ekjbzmkZGNu\/PlyW8vwgHmMrsXZ3K6kNcHG+54UEJp7dTQEYMcTGY8AAuhEXCaVlYIiIdCIiAIiIAiIgCIiAIiIAvCspI66jlpZhlkrS093evdEONJqzJjSVVLTPqbFV7TUriY89bT2eufNU6mdVU0lFNT36kH31M4NlA\/fZ3\/Lz7lv0dXHXUcVVCcslaHDu7lZPPeM1B6G6T5ben7g90RFWagiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA+Joo54XwysD43gtc08iFMWCZ9ku81gqnkxuPHSvdtkHq8\/mCqpYOrba+rtoq6cltTRkyNcOfD1j6+SnB\/1fMzV4tWqR3j9VzRvIuGz3KO7W2KrZsXDD2\/wuHMLuUWrOxfGSklJbBERcJBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREBzUNupLbE6KjhETHuLyAScnzXSiJe5xJJWQREQ6EREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/9k=",
    "razonSocial": "GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOHANN GUERRERO",
    "correoContacto": "jguerrero@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "MANTENCIÓN PREVENTIVA",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:11",
    "ubicacionGPS": "LatLng(lat: -24.9351504, lng: -69.9291688)",
    "horaLlegada": "12:31",
    "horaDespacho": "13:08",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 14/05/2026 13:11:43
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Dj+QhN6bNnS0eXyNSHZDbaQFLzHAK-kaVlyiNGykzyGselYkKSh
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76063288",
    "serieinterna": "EP2231",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "102029",
    "contadorColor": "130094",
    "contadorScanner": "0",
    "detalle": "•Al imprimir varias hojas, la sincronización del papel y el cabezal se pierde, lo que causa la distorción en la impresión, al igual que con la EP2230",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12591",
    "observacion": "•Recomendable mantención a taller",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADzAS4DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABHEAABAwMCAgcFBQQGCgMBAAABAAIDBAURBiESMRNBUWFxgZEUIqGxwRUjJDLRM0JS4QclNJLw8RY2Q1VicnN0gsJEotKy\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgEDAgMGBgMAAwEAAAAAAAECAxEhEjEEQVETIjJhcdGBkaGx4fAzQsEUI1Lx\/9oADAMBAAIRAxEAPwD+zL4lmjgidLM9scbBlznHAAX2pK4SO1PfvsqGTFBTYdO9h\/MewdXMgeRKlGNymrU0LGW9j3k1NXXGV8VgoDUNYcOnlGG+QyPj6L8FDrCZvv3SliBHJrRkf\/X6qhpqWCjp2wU0TYomcmtXspa0tkVqhKWZyd\/LCJgWTUgOft7Pdgr89j1hTH7u4U1QwbAOAyfH3fqqhE1vod\/40eTa+LJY3vUNtd\/WVpE8QxmSD+Wfp8VoW7VVruDujEpp5eXBNhpzv18upbKzrlYrddQTVU46TGOlbs8ef6peL3Rzs60PDK\/k\/c0UUo6hvunZC+3PdcKED9g85e3bA\/wPRbFpv1FdmlsTjFO04dBJgPGOe3WFxxxdZJwrpvTJWf7t1NNERQLwiIgCIiAIvGeqp6VnHUTxxN7XuAXxT3GiqnlkFVFI8c2teCfRdsyOqN7XOlERcJBERAEXnNNFTwvmmeGRsGXOcdgFLQauqHVYqZqcR2uSUxMkOxHee3l8evClGLlsU1K0KbSk9ytREUS4IiIAiIgCIiAIiIAiIgCIiAzNQXH7Ls09Q04kI4I\/+Y\/4J8l56Ztv2dZ4+Peef72V2ckk9We4fVZ2pM3G\/wBrs+\/A53TSDtAz9Gu9VUKx4il1M0O\/WlL\/AM49wiIqzSEREAREQBYt401SXJ3tERNLWN3bNHtk\/wDF2+PNbSLqbTuiE6caitJEvQ6iqrZUCg1EwQu4R0dQBkP8cZ9fVU7XBzQ5pBBGQR1rnrrfS3KnMFXC2RpBwSN294PUVMQ1FdpGtbS1kjqi1ynEch5xns7vDl1jrCnZT23M+qVDE3ePXmvX3LBF8tc17A9jg5rhkEHIIX0qzWFjX6\/C1htNTR9PXTbRxDfGeRI+i7Lvco7VbZat+5aMMbj8zuoLK03apeN97uJ462qGWgj9m0\/yx4DZTilbUzPVnJy7OG\/N9EeNt0oKiM1V9fJUVMp4iwvOGDs269z4dS963RttlhcaIPo5se65jyQT1ZB6sjqVCidpK97nFwtLTpcff5k7Yr3UiqNnvDSysj\/JIeUg\/Xv6\/HnRLG1JZRdqHihAbVw+9E8c\/wDlz3\/NfWm7uLvbGuefxEPuTAjG\/b5\/quySa1I5TlKEuym79H1\/KNdEXxNKyCF80h4WRtLnHsA3KrNRNakqJLpcYNPUp\/aOD6h4P5WjfB8sH0XferTHLpiWhp2kCCIGIDnlu\/mTjHmuLSMZrJa69SsAkqZS1mOpo3P09FTK2T0tJcjHSgqsZTl\/b7cvcydM1zrhYqeWQl0jB0byRzI+e2FrKY0h+Gq7tb+TYKjLR3EkfQKnUZq0mW8PJypJvf2wERFAvCIiAIiIAiIgCIiAIiICXpwKj+kOpdjanpxv34b\/APoqoUxafc1xdmOHvGMOGeePd\/UKnU57r0M3DeGT839wiIoGkIiIAiIgCIiALwraOCvpJKWpZxxyDBH1C90Q40mrMk7ZWT6cugs1weX0kp\/Czu5N7j8u49xVYsrUVqF2tMkLWgzMHHEf+IdXnyXzpq6G6WiN8hzPF93LnnkdfmN\/HKsl3lqM1K9OfZPbde3wM7UI+09RW20cWYhmaVoI78Z8gfVVCmLeem17cXvJcYoA1nFvwj3eXZ1+pVOuTxZHaGXOfV\/bAREUDSFKOZ9g6zje0hlJcwQR1B\/+ZH95Van9Z0RqbIahg+8pXiQEDJxyP6+SnB5t1M3ExejWt45\/fgUCndY1hbQxW2Fx9orXhgaP4cjn54Wva6wXC2U9WOcrATtjfr+OVhU\/9b63mmJJhtrOBoPLj3Hz4vT07BWd3yOV5aqajH+2Phz+hQUFFHbqGGkh\/JE3hz2nrPmcldCIq9zSkkrIl6T8P\/SFWMGzZ4AcY68NP0KqFMVv3X9INA7qkpyM9+H\/AMlTqyfL0M\/D41rzfuERFWaQiIgCIiAIiIAiIgCIiAmB+G\/pDOdvaqbbG2cAev5CqdS+qyaC52q7Ae7FL0chx1HfHpxKnBBGQcgqyeUmZqGJzh53+Z+oiKs0hERAEREAREQBERAFL0YNp1vPStJFPXs6VoxsHc\/nxeoVQpfVTegu9nrWnhLZuBxx1ZBx8\/VWQy7dTNxOIqfRr2FIRSa\/q45D\/a4AYj27A\/8Aq70VQpnV9PNB7LeaX9pRv97bm0n5Z281v0dXHXUcVVCcslaHDu7kllJnKL0zlTfW\/wAH+T3REVZqC85oWVEEkEgyyRpa4doIwV6Ig3JDTtebTarrTTH3rc9xAJzknIAHdkfFaGjaR0Fl9ok3kq3mRxznbkP181P6noJo9SmCnJay5hmQ0bE8QB+IB81dwxMp4I4YxhkbQ1o7gMK6bVrrmedw0W6ml\/0x8\/weiIipPRJi9jGsLM4bE5GRz5\/zVOpjUW2p7GRsTIRnzCp1ZLZGaj\/JU9f8QREVZpCIiAIiIAiIgCIiAIiIDNv9u+1LPNTgZfjjYB\/ENwPPl5rz03cm3GzQuLszQgRygnfiG2T481rKTqc6Z1OKvPDb7icS7bMf\/mc+Z7FZHvLSZar7Oaqctn\/jKxF+AgjIOQV+qs1BERAEREAREQBERAFMa5\/sNF\/3I+RVOpjXP9hov+5HyKsp+NGbi\/4ZFHPBHUwSQSt4o5Glrh2gqa0vM+23KssE5JETi+Anrb\/lg+qqVN6ogfR1FLfqduZKRwbKB+8w7fUjzSGe71FdabVVy39OfuUiLzgnjqYI54ncUcjQ5p7QV6Ks0p3CIvGrqG0lJLUv3bEwux24HJDjdldkLqeqqJ9RSVFLxlttazJG3Cc\/qfgrqlqGVdJDUx\/klYHjwIypvTlrNZp+tmqMiW5l5LiOQ3wfUkrp0ZVGWzupJAWy0khY4Hqyc\/qPJXTs1Zcjz+HclU1S\/vn9+BQoiKk9EmNR\/wCs1j\/6p+bVTqY1H\/rNY\/8Aqn5tVOrJeFGaj\/JU9V9kERFWaQiIgCIiAIiIAiIgCIiALiuttiu1vkpJduIZa7+F3UV2oup2yclFSTT2JvTVzlildYrhxCqpshjncntHZ9O0KkWFqOyGvjbXUZMdfT+9G5vNwG+P0Xtp++MvFIQ\/3KuLaaPGMHtHcpyV1qRmpSdOXZT+D6r3RroiKs1BERAEREAREQBS+sj0k1pphu6Wp2HUeQ+qqFMXL8Xrq2043bBEZHdx3P0b6qyn4rmbis09PVpfUp141VOyrpJqaT8krCw+BGF7IqzQ1dWZN6PqHwxVVnqHff0UpAB\/hz1eefUKkUpfWiy6koryw8MU7uiqMemfT\/8AlVQIIyDkFWTz3upn4dtJ03vH7cj9U5rSpe21xUMILpq2UMa0EZIBB+ePVUak6TN61fPXvf8Ag7aOBhzgF2\/1yfILkN79BxLbjoW8se\/0KWipm0dFDTMA4YmBm3XgKfsX4LVl4oXDHSkTN36s52\/v\/BdNw1db6SUQUwfWzk44Idxnx\/TKm62S9Tagpqp8Qts9Z9zEe7Yb+oCnCLd78zPXrQi46M6Xy+R\/QXODRlxAHaVxSXu1RnDrhTZ7BKCfQLGboxtQ7jud0qqt3VvgA+eV2w6RskI\/sfGe173H6qNoLmaNdeW0UvV+xjXy72+p1BaJ4aqN8cD8yOB2aMj9FQN1FZnuDRcYMntdgepU\/eLRbodS2qlipWMilJMjAMB263n6Ysj2lpt8YB\/hJB9QVKWiyM9Lt9c7W38+iNKOWOZgfFI17Tyc05C+1Mu0aynl6a13CopJBuATlpI8MH581+2q+1lLWstV8i6KYjEU5O0nieW\/aoaU\/CzQq8otKpG1+e6KVERQNIREQBERAEREAREQBERAFN6gtE8FQL3aQW1cW8kbRtKOvbr7+1UiKUZOLuV1aaqRszPs13gvNC2oiIDxtJHndhWgpW826ex1RvlpGGf\/ACYB+Vw7cdny59qoLdcILpRR1dO7LHjcHm09YPeuyit1sV0qjb7OfiX18zqREUDQEREAREQBTFsHtmuLlVfmZBGIh18J2H0d8VvXCsjt9BNVyn3YmE+J6h5nAWNoykfHbJa2Yfe1shkJ23HV8c+qsjiLZlq96rCHTJRIiKs1GZqGh+0LJURN\/aNb0kZxkhzd9vl5r501WCtsFLJnLmM6Nw7C3b5YPmtCoqIaSB09RI2ONgyXOK\/ntsfVVdbW2y0VQp6OZ7pHSO90tjB\/Qjv8BlWxWqLRhrVFSrKSy2rW+xS6i1PS0FLLT00wkq3NLR0Zz0Z7Se1ZVn0jXVFI1lxqH01MTxezMxxOPa7+eT4LxsFlp62+9NTM4qGidwl7zxdM4Zwccuw+GOtXqlJ6FaJXSpviX2lXbZLkcdFaqG3D8LTRxuxgvxlx8XHcrE1ccV1m\/wC5+rVTqY1R99fLJTDmZ+J3hlv6FQg7yyaOJio0Wkun3RToiKs1ExfP9cLN5\/NU6mK373+kGgb1R05OO\/D\/AOSp1ZPZGahmU35\/4gsTV1G2qsEzw37ynxKx3WMc\/hlbazdRPDNPVxdy6Ej12UYeJFldJ0pJ9D1s9U6ts9JUvdxPfE0uPa7kfiu1ZWmG8GnKMZB9wnI8StVcluztJt04t9EERFwsCIiAIiIAuOO2wxXWa4tfIZpmBjml3ugDsHl\/jK7EXbnHFO1wiIuHQiIgPwgEYIyCpKeOXSF29qha51qqnYkYN+iP+OXoq5eVTTRVlNJTzsD45G8LgVKMrb7FNalrV1hrY+oZY54WTRPD43gOa4ciF9qStdRLpi6izVr+KjnJdTTHbBPUfP478iq1JRsxSq9os4a3QREUS4Ii\/HODWlziAAMknqQExqyZ1dV0Vig9588gfLg7taP5ZPkqWKJkMTIo2hrGNDWtHUByCmtNNkul3rr5MPdc7ooOezR2eWPit6rudDQg+1VcURAzwucM+nNWS5RRkotPVWlz29EdS4rpdaW0UhqKl23JrB+Z57Asyr1rZ4InGGV9Q8cmNYRk+JCl6e+UlZdDX3tk9S9p+4gjaOBvqf8AHWuxpt5aIVuMhHuwau\/kjao7ZXaonbX3jjho2nMNMMjiHb4d\/M9y4NZtpqO4UraNwikEBjfGzZoYc4Bx25Pkt+4alZTWWOpbE5lXUtIggcMuBzgEjs614UGmBNa6h9yPHXVrSXvP7h5tx8M+impWd3sUzpqcezp5k8t\/b\/4bFoooLfa4KenIcwN4uIfvE75Xap\/R1c6otJo5QRPRO6N4PPG+PqPJUCpkmpO5voyjKnFx2CmLl+I15bYeqKEvPcfeP0Cp1MW8iu11XztxwUsQjBHbsD\/7eg712HN+RXxGdMerX0yU6IigaSXgPT\/0iVGP9hTY28G\/\/pVCl9NAzaivlQTnhm4BjkRxO\/QKoVlTexm4bMHLq39wpzWkzjbYKCLeWsmawDtAP68Ko1J07vtvW752ZdTW5nCHZ2Ltx88\/3VyG9+g4l3hoW8se\/wBCnpoG01LFTs\/LEwMHgBheqIoGhKysgiIh0IiIAiIgCIiAIiIAiIgCIiAzr5aY7xbX07gBIBxRP\/hd+h5FcWlrtJWUz6GsyK2kPC8OGCRyB+n+a3lK6hgfZrrDqGmBLS4R1LB1g7Z\/x14VkcrSZay7OSrL4+n4KpF5wTx1MEc8TuKORoc09oK9FWak7hTGrb3Gyjfa6OTpauc8D2R7lresbdZ5Y7yvvVF7kppGWyimEVTMOJ8pOBE3tJ8Ae\/CzNDWoSzS3SZvEGEshLhzPW7028yroxstbMFas5z7Cnz3fQ+7ZZdRS2+KlNQy2UrQctaPvHZ6z\/mF5XC12mxmOERSXO4zEBjHu2B7cD5HKotQXtlno\/uwJKuX3YY+eT2kdixKOWl01Ca65udUXaqGTGN3Nz1d3Vn4KSlJ5KalOlB6E9t282+G1+h2WDSrKV\/t1xjjfVOPE2INHBF5DYn5fFet01TTUpNFbGe11jjwtZGMtafLn4BcjafUGoxxVUv2ZRO\/2TQeNw+frjwW7a7NQ2iLgpIsOIw6R27neJUZNXvLLLqcZOOmktK6vd\/vmZ9msE0dUbpdpOnrn7hpwWxeH8tgt9EVTk27s106caatElbkH2LVVPcY8Npa4iKcYAAPafgc9xVUpbV9xt1RRPtgeZ6suBYyJvEWuB6\/iO1cln1RdpIOh+zhVezNAkLX4fgbZIPl8Va4OUUzHGvClVlC+HnGc8\/cq7jWMt9vnq5CAImEjPWeoeZwFj6Oo3xWx9dO7inrnmRzusjfGfPJ81xVFRVasrYKWKmmpqCF4fO+TLS4g4Lduvn81VxRMhiZFG0NYxoa1o6gOQUX3Y25lsH2tXWtlt6n2vOaVlPBJNIcMjaXOPcBleixNXVRptPTBpAdMWxtyR1nf4AqEVd2NFSeiDl0OXRMTzbqitkxx1U5dt3fzJVKuKzUnsNnpKYjDmRDiGP3jufiSu1dm7ybIUIaKUYmTqS7C0Wl8rSOmkPBEO88z5DPwX7py2uttojZKPxEv3kpI3yd8Hw5LJY0al1QZiC6gtpAbnbifz5Edo37gO1ValLux0ldL\/sqOpyWF\/rCIirNQREQBERAEREAREQBERAEREAREQBeVTTxVdNJTzN4o5Glrh3FeqIcavhkvpqea23Go0\/Vv4jF79O49beeB659VR1NRFSUstTM7hjiaXOPcFPavppac0t7pR99RvAee1pO2e7OR\/wCS9dQ3Snm0k+ojl4famNEYzuckZHlvlWtamn1MUZ9jGcH\/AFyvTl7EjTtqNRXst4sPrHkzEfuRgjYZHUB8l\/Qpiyz2Z3s8LntposMY0ZJwNv5+aytHWc262+0ygdNVAO\/5WY2Hxz6diol2pJN2WyOcJRcabnLxS\/fyfzy301+u9wfWtYWTPJBqZW4bGB1N\/wAlVWvTNFbZfaHk1NVnPTS7nPaO9bAAAwBgBfqjKo3tgspcLCnl5fmEReVTURUlLLUzO4Y4mlzj3BVmpuyuzhmvcMN+htJjJfLGX9IHDDdnHB\/u\/FZV1u9Td6gWqxP4uL9tUtJAYM42PZ3jyXBabCdSmovFwlli6eUhjYyN24IPMHbkB4FV1Db6W204gpIhGwb45knvKtemD8zFB1a6d8RfzsctosFDZ429DHxzAe9M78xPXjsWXf6GotlcNQW1oLmD8RH1Ob1n\/HiqdfhAIwRkFRU3e7L5UIOGiOLbeRzW64QXSijq6d2WPG4PNp6we9dSkailrtK3CWtoIumtkpBlhHNnh9D5HtVHQXKjucAmpJmyDrHW3uI6klG2VscpVdXcniS\/bo61KXZ4veq6S1MbxwUh6Wc9+xx8h4lbd4u9NZ6N00zxxkYjYNy4+HYuHS1tmpqaavrB+LrH8bsnJDeoZ+Pp2Lse6tRGt\/2SVJer9Pybyw9V3Q2619FEOKeqPRsbvnH7x235bbdoW4pKhB1FquS4nDqKgPBDv+Zw5H1y7PguQWbvkd4iT0qEd5Y92blhtgtNphpsDpMccpHW88\/Tl5LRRFFu7uy+MVCKitkERFwkEREAREQBERAEREAREQBERAEREAREQHhW+zmimFWWtpywiQuO2Otfy+lgZWx1Mbql5bSwvkp4zydg5Phtv5KrvNRLqG8NsVI7FNEc1UoB90jO308T3Jqa3R22OiudJD7lIRFKwDZ0Z2wfUj\/yWin3cc2eVxS7ZuS8Mfr1+Rs6cnFRp+icCDwxBhx1cO30Wmo\/TlbHaLlJa5HH2arcJaOU8nAjYeew8QrBVTVpG3hp66a6rDCIigaApO6VM2o7v9i0UgbSQ4fUTNwQ7HV37427fBdF9vc0tR9jWcdLVye7I8coh179vf1ePLTsdojstvbTsIfITxSPx+Y\/orF3Vd7mSb7aXZx8K3f+e52wQR00DIIWBkbBhrQMYC9ERVmtKwREQH45oc0tcAQRgg9aw6vSlHLN0tJLJQuP5hBs0+Xqt1F1Sa2ITpwmrSRgUGkqWnqvaq2okr58gh03IEeud1vosqv1JardkS1TXvBx0cXvuHjjl5rt5TZBKlQj0Rz6tuZt9pMMRPtFWejjA54\/ePpt4kLssduFps8NM4++0cUhztxHc+nLyUhJVXLU99ZV2ynDW0nDwdKW4j32J8xnG\/JbA0nV1zuO8XeafJyY49m8+\/b4K1xSik2Y4VZVKrqQjfkuS8zUrdSWmgB6WsY9\/wDBF758NuXmssaquFwcW2ezSyA8pJtm+fV8Vp0emrRRAdHRMe7rfL75Pr9FqAADAGAFC8FsrmjRXn4pW9Pd+xz281homGvDBUEkvazk3c4HkMBdKLCumq6Khd0FL+NqicCOI5APeR8huopOTwXSnGlHvM3Vz1Fwo6QkVNVDEQM4e8A+inWUOpL3l9ZWfZtO45bFGPe+G\/qfJddNouzwbyxyVLusyyH6YUtMVuyrtas\/BHHnj6HX\/pJZv94w+pXZS3CjrgTS1Mc2CQeB2Vx\/6N2b\/d0PoVlXnT4t0ZutkzSzwDiexhOHtHPby5ciiUHhHHOvBapJNeV7lSi5LXXNuVtgq2t4ekbkt7D1rrUGrYNMWpJNBERcOhERAEREAREQBYuqLu6120NgJ9pqDwRcPMdp+XqFtKXqI\/btewxzNzHSQ8bARsTz+BIPkpwSvdmfiJSULR3eDT0\/Zo7PbwzGaiUB07zvl3ZnsG60Kmniq6WWmmbxRytLXDuK9UUW23ctjCMY6EsENQW1tfDU6erH8FZQvL6abG\/CfpuD59y74NQV9kcaW\/073NBDY6qIZD\/1+faF9apjfbq+jv1Owkwu6OYA44mnl9R5hUcb4qumZI0B8UrA4ZGxBGQrZSxd7Mw06TUnGLtJfVcr+mxjS60skcfG2eSU4\/IyJ2fjgfFcT6y\/aid0dFA+20TvzTSDDnDu6\/T1VFHbaCKTpI6KnY\/+JsTQfXC6VHVFbIvdKrPE5Y8sfUzrPZKSzU\/RwN4pCPflI9538u5aKIoNtu7NEYxgtMVgIi4a68262j8VVMY48m83HyCJN7CUlFXk7Hciln6vnrXmKzWuapdke+8bDxxy8yvn7H1Jdh\/WVxbSROBBih3PPkcbfEqehrxYM\/8AyVL+NOX2+ZtXC+222Nd7TVM42\/7Jh4n+nV5rGOqLlcnllktTns4sdNN+X6Aeq0aDSlpoMOFOJ34\/NP73w5LYAAGAMAJeK2Vxprz8T0ry3+ZLtsF9uLg663gsYecUPWOzbA5eK9Ku02rTVomrIadsk8Y+7km948R2Hdtz2HUqVSuqibjdrbZmkESP6SUbnA8u7iXYycnbkV1aUKUHJK8uV85ZpaXoBQ2WNzmuE1R97IXc8nlnyx8VsL8a0NaGtAAAwAOpfMs0cETpZntjjYMuc44ACrbu7muEVTgorkfazrtfKKzRg1LyZHDLYmbud+g71k1WqKivndR6fpjUSY3ncMNZ5H5n4rqtOmYqWX224P8AbK5xy5792tPcD8\/kp6UsyKHWlUemj8+X5OAw37U\/7X+rbe79zfjkb39vwHit222WgtTMUkAa7GDI7dx813ouObeOROFCMXqeX1f7gIiKBeF41Ya6jnD\/AMpjcHeGF7LN1DP7Np+tkzjMRaD3u936rqV2Qm9MG2cGiC46dZxchK7h3HL\/ADyqFZOl4PZ9OUbCMFzOP+8SfqtZdnmTIcOrUop9EERFEuCIiAIiIAiIgCmdRRT2270t\/ghMrIW9HO0Hk3ff4nfwVMvwgEYIyCpRdmV1afaRtexx2+7UN0j46OobIQMuZyc3xHNdqwq7SNuq5TPAZKSYkuL4TjJPPb9MLlFp1RRnhpbyydmDkzjJPPHMH5qWmL2ZV2lWOJxv5r2N+upI6+hmpJPyysLScZx3+XNYelK2SIz2Ssd+Io3EMz+8zu8PkQvgN1nGccdHJ1529OQWLd4dQ0VU2+1DIoZWYYXRYOOY3G\/h6KcY3Wm5nq1mpKoovG+OR\/QV+EgDJOAFKwW\/U1xgjmffomxSNDmuhbuRzHIBejdGe0YNyu9XVY6uLHzz3eihpS3Zeq1SXhg\/i0vc1qvUFpouIT10XE04LWHicD4BZL9YPqnGO0WyeqdnHG4YaPT+S0KXS9npCHNo2SOH70vvfDl8FqsYyNgZG0Ma0YDWjACXguVzumvLdpemfv7EwLfqi7ZNbXNt8Rx93Bz+Bz6ldtFpC0UZ43wmpkzninPF8OXwW4i45vlg7Hhqad5Zfnk+WMZGwMjaGNaMBrRgBfSIoGgIiIApOSthodcTzXB5hi6ANhe7JbnA6+rOCqxc9Xb6OvDRV00c3Act425x4eilFpblNanKaWl5TuYtdrK3w\/d0IfWzuOGsjaQM+ON\/LK5Y7Rd9QyNlvchpqVp4m0sexPj2ee\/gqOlt1FQ59lpYoSRgljQCfPyXSpakvCivsZz\/AJXddFt+TxpaSnooGwU0TYo28mtC9kRVmlJJWQREQ6EREAWDrKUx6ekjbzmkZGNu\/PlyW8vwgHmMrsXZ3K6kNcHG+54UEJp7dTQEYMcTGY8AAuhEXCaVlYIiIdCIiAIiIAiIgCIiAIiIAvCspI66jlpZhlkrS093evdEONJqzJjSVVLTPqbFV7TUriY89bT2eufNU6mdVU0lFNT36kH31M4NlA\/fZ3\/Lz7lv0dXHXUcVVCcslaHDu7lZPPeM1B6G6T5ben7g90RFWagiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA+Joo54XwysD43gtc08iFMWCZ9ku81gqnkxuPHSvdtkHq8\/mCqpYOrba+rtoq6cltTRkyNcOfD1j6+SnB\/1fMzV4tWqR3j9VzRvIuGz3KO7W2KrZsXDD2\/wuHMLuUWrOxfGSklJbBERcJBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREBzUNupLbE6KjhETHuLyAScnzXSiJe5xJJWQREQ6EREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/9k=",
    "razonSocial": "GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOHANN GUERRERO",
    "correoContacto": "jguerrero@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "MANTENCIÓN PREVENTIVA",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:11",
    "ubicacionGPS": "LatLng(lat: -24.9351504, lng: -69.9291688)",
    "horaLlegada": "12:31",
    "horaDespacho": "13:08",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


14/05/2026 13:11:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76063288

[14/05/2026 13:11: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('76063288', 'EP2231', 1, 24456550, 102029, NOW(), 
				'13:08', '12:31', '13:11', 4, '•Al imprimir varias hojas, la sincronización del papel y el cabezal se pierde, lo que causa la distorción en la impresión, al igual que con la EP2230', -1, 
				'', '','1','130094',
				'0',2,'../csj.digital-service.cl/uploads/firmas/firma_0_1778778703.png', '•Recomendable mantención a taller', null, 'REPROGRAMADO','LatLng(lat: -24.9351504, lng: -69.9291688)' )
				
[14/05/2026 13:11:43] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200315

14/05/2026 13:11:43 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200315'                    
				WHERE idllamado = 12591			
				TO ENVIO: micorreo@miempresa.cl, jguerrero@dsprint.cl


14/05/2026 13:11:43 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 12591			
				
14/05/2026 13:11:43 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('76063288', 'EP2231', 1, 'APP', 'sin otroTipo definido', -1, 'Sin otrafalla definida', 'MANTENCIÓN PREVENTIVA', '1', 'SI', now(), 'JOHANN GUERRERO', '984818954', 'jguerrero@dsprint.cl', 12591)
				
14/05/2026 13:11:43 Insertado nuevo llamado creado idllamado: 12596APP
14/05/2026 13:11:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


14/05/2026 13: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 = 12591
                

14/05/2026 13: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 = 12591
                

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/2026 13:11:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/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 = 12591
                

14/05/2026 13:11:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

[14/05/2026 13:11: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;
                

[14/05/2026 13:11: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;
                

14/05/2026 13:11:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:11:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

[14/05/2026 13:11: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;
                

[14/05/2026 13:11: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;
                

14/05/2026 13:11:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:11:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:11:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:11:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:11:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

[14/05/2026 13:11:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 13:11:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:11:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12591
            GROUP BY l.idllamado;
            

14/05/2026 13:11:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/2026 13:11:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12591
                

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/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 = 12591
                

14/05/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 = 12591
                
[14/05/2026 13:16: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;
                
[14/05/2026 13:16: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;
				

14/05/2026 13:26:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 13:26: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;
                

[14/05/2026 13:26: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;
                

14/05/2026 13:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 13:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 13:26:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 13:26:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 13:26:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 13:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 13:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 13:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 13:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 13:26:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 13:26:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 13:26:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 13:26: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;
                

[14/05/2026 13:26: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;
                

14/05/2026 13:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 13:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 13:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 13:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 13:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 13:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                
[14/05/2026 13:56: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[14/05/2026 13:56:22] 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;
                

[14/05/2026 13:56:24] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 13:56: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;
                

14/05/2026 13:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

[14/05/2026 13:56: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;
                

[14/05/2026 13:56: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;
                

14/05/2026 13:56:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 13:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 13:56: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;
                

14/05/2026 13:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 13:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 13:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

[14/05/2026 13:56: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;
                

14/05/2026 13:56:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 13:57: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;
                

14/05/2026 13:57:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

[14/05/2026 13:57: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;
                

14/05/2026 13:57:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

14/05/2026 13:57:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

[14/05/2026 13:57: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;
                

14/05/2026 13:57:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 13:57:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:00:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

[14/05/2026 14:00:58] 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;
                

14/05/2026 14:01:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

14/05/2026 14:01:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

[14/05/2026 14:01: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;
                

14/05/2026 14:01:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:01:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:01:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

14/05/2026 14:01:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:01:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:01:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:01:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

14/05/2026 14:01:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:01:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:01:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:01:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:01:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

14/05/2026 14:01:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:01:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:01:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:01:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:01:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

14/05/2026 14:01:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14: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 = 12576
                

14/05/2026 14: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 = 12576
                

14/05/2026 14:01:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

14/05/2026 14:01:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:01:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

14/05/2026 14:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14: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 = 12576
                

14/05/2026 14: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 = 12576
                

14/05/2026 14: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 = 12576
                

14/05/2026 14: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 = 12576
                

14/05/2026 14: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 = 12576
                

14/05/2026 14: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 = 12576
                

14/05/2026 14: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 = 12576
                

14/05/2026 14: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 = 12576
                

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12576
                

14/05/2026 14: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 = 12576
                

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12576
                

14/05/2026 14: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 = 12576
                

14/05/2026 14: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 = 12576
                

14/05/2026 14: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 = 12576
                

14/05/2026 14: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 = 12576
                

14/05/2026 14:03:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12576
                

14/05/2026 14: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 = 12576
                

14/05/2026 14: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 = 12576
                

14/05/2026 14:03:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

14/05/2026 14:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:03:30 - logentry: =========================================
FECHA: 14/05/2026 14:03:30
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-i5qe-0dtaI4UZDyInj96CAFqzjM3zpDHwduLN4F9Cv4ACouNjSi
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2051",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "35535",
    "contadorColor": "51995",
    "contadorScanner": "0",
    "detalle": "01\/ itin 1940\n01\/ itin 1941\n01\/itin 1942\n01\/ itin 1943",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12576",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC6ATMDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABJEAABAwMBBAYHBAUHDQAAAAABAAIDBAURBhIhMUEUIlFhcaETMoGRscHwFSNC0VJicuHxBzOCkrLC0iQlNDU2N0NTY3N0ouL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQIEAggHAAMBAAAAAAAAAQIDERIhMVEyQQQTImFxscHRFDOBkaHh8CM0QvH\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIuC63mis8PpKqTrEZZG3e53gPmupN5IjKSirydkdxIAyTgBQtx1ZbKEmOKTpc\/ARw78nx4fNRjYLxqt23UudQWwndG31pB8\/E7u5T9tstBamYpIA12MGR29x9qnaMdTOqlWr8tWW79F7kK2q1dcgHQU0FBGTuMo6w8Qcny5L0Ldq2ACVl0p5X\/AIo3Dcfe38lZ0THskd+HvrJ38StUuqJ6Sq6FfKQ00mcMmaDsv34+iPcFZAQRkHIK4L7QC5Weopg3Lywuj\/aG8ea5dJVxrrBCXZ24SYnEnOccPIhcaTWJCEpQqdXJ3yumTSIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCItVTURUlNJUTO2Y42lzj3BDjds2bUXPQ1kVwoo6uEPEcoy3bGDxwiBNNXR0IiIdCIiAIiIAiIgCIiAIirFzvtXcKs2uwN9JJwlqQeqwdx+fuUoxciqpVjTV3\/6dF61KKOcW+3RdKr3nAaBkMPf2n6KxbNMMZP8AaF2f0ytf1iH72sPYO3C67LYaazxEj72pfvkncN7j3dgUqpOSWUSqNKU3jq\/Rcl7sIiKs1BERAFWNB9W0VMZ4tqXZ\/qt\/JWOaUQQSSu4RtLj7BlQGh43CxOldjMs7nZxjkB8QVNcDM0\/nw8H6FjREUDSEREAREQBERAEREAREQBERAEWirraWhi9LVTshZ2uOM+HaoB+r31Uhis9snq3Z2Q9ww0dh\/jhSUW9CqpWp08pPMsyqmoJX327w2ClLgyJ3pKp45Dd8M+8jsXv7O1Pdd9bXsoInYPo4PWHdu\/MqWs9jpbNG4Q5fK8deV\/F28n5qStDO+ZRLHX7OG0ed\/I74oo4IWQxMDI2ANa0cAEXtFWbNAiIgCIiAIiIAiIgCw5wa0ucQABkk8l5lljhidLK8MYwZc5xwAFUpqut1fUvpKIup7ZG7Es3Ayd37vepRjcpq1VCyWbeiPdbcq3UtU+3WZxjpGHE9T+kOGB3cd3PwVgtdqpbRSCnpm7uLnn1nntK20VFT2+lZTU0YZGwbh295710LspcloRpUmnjm7y8vAIiKBoCIiAIiICK1NMINO1ri7Z2o9gd+0cfNZ03B0fTtEztiD+P6XW+ajdbSOko6Ogj9eqnAHPIG7h4kKyRsbFG2NvqsAA8ArHlBGaPa6RJ7JL75npERVmkIiIAiIgCIiAIiIAi4LleqC1MzVzhrsZEbd7j7FAm637UJ2LVT9CpTu6RJxI7j+XvU1BvMoqV4QeHV7IsVfdKG2s2qypZFuyGk9Z3gOJVfkv8AeL070VjonRQk46VKPhyHmV22\/SVFTSdIrXOr6knLnzbxnw5+3KnWtDWhrQAAMADku3jHTMhhrVOJ4V3a\/f2K7RaRh9KKq7VD7hUfruOyPmfrcrBFFHDG2OKNsbGjDWtGAPYvaKLk3qXU6UKa7KCIiiWBERAEREARFGX27\/ZFIx7I\/STTSCONh4E9+8eHtXUruyIzmoRcnoSaKBteoZZK02y6wClrBgAj1JD3ePLtU8jTWpGnUjUV4heJZY4YnSyvDGMGXOccABenODWlziAAMknkqdUTVWsbi6kpnmG1wO+8kHGQ\/XAcuJ7F2Mb+BGrV6tJJXb0Qmmq9ZVxpqYvgtULvvJMYMh+uA5cTyCtlJSQUNMympoxHEwYACUlJBQ0zKamjEcTBgALcuylfJaHKVLD2pZyf9ZdwREUC8IiIAiIgCIiAq9aen68o6fdsUcRkdv35xn\/CrQqvpgdOvV1uxOWvk9FGf1f4BqtCsnqlsZujZxc92\/YIiKs0hERAEREARc9ZXUtvgM9XM2KMc3c\/AcSq26\/3W+vMFjpTDCdzqqbl8h5lSjFspqVoU3Z5vZak9cbzb7U3NXUNa48GDe4+wKCNxv8AqAYtlP0Ckd\/x5Thzh3fuHtXbbtJ0dLL0mse+uqicmSU5Ge3H55U8pXjHTMrwVavG8K2Wv1fsQFt0jQ0j\/T1ZNbUE5L5d4z4fnlTwAAwBgBZRQcm9S6nThTVoqwREXCwIiIAiIgCIiAIiIAqxqL77U1kgc0ENk29\/iPyVnVYrvvf5Qbe3O6OnJI78P\/d7lOnrczdJzglu15ndqOyi60XpIepWQdaF4OD24+ua9abvBvFt25cCoiOxKOG\/tx3\/AJqXXz3Uk7bfqCpbbar0RqmbNTjg1xOTv893aVKCxrCV15KhLrVzya32Ja61s+orp9iW6TYpmf6TO3gccvl3nuVjoKWloaYUtIGtZFuIByc9\/eue32qC1Wo09H6xYSZQN73Y4qqWW01Vxtz7jQ3CWGujkc0gv2mvwNw7uJ7Qu5SVk7JEbzpzTkryf4S5L+zL4irVFqeemqhRX6m6JL+GfeGP+u0HHgrI1wc0OaQQRkEc1W4tamunVjUXZMoiKJYEREAREQBR99rOgWSqqM4cIy1v7R3DzKkFWNZvdUC32qM9aqnGccgMD+95KUFeSKekTcKTa1O7SlEKLT9OPxTD0zuH4uHlhTK8sY2NjWMGGtAAHYF6XG7u5OnBQgorkERFwmERQl21PR255p4QaurJ2RDFvwe88vDiupNuyITqRpq8nYmJZY4InSzPbHGwZc5xwAFXKrVM1dKaPT9M6pm4GZzcMYO3f8\/NaYrJddQSNqb3UOggzltIzdu7+z25PgrNS0dPQwCClhZFGPwtHn3qfZj3sz3q1tOzH8\/ogKLSbpqgVl8qTWzcRHk7Dfz8NwVjYxkbAyNoY1owGtGAF6RRlJy1LqdKFNdlBERRLQiIgCIiAIiIAiIgCIiAIiIAqxP\/ALxKb\/xj8HKzqkakr5bbq1lTAzblFNssH6x2gPirKau2jJ0uSjGMnyaJjUl7lpNi3W\/r19RuaG8WA8\/H+KUmlaaKyTUk2JKmobmSYjJDuIx4H3r1p2yGijNfWky3CoG097uLM\/h8e1TqOWHKIhSdR46i10Wy9yuaSuEphltFYcVVEdkNPNg3eXDwwua3O+wtXVNveA2nrz6SE8gd+B8R7lt1NTS26up9QUgJdEQyoaPxN7T8Pcum+0TL9ZI6uiJM7AJqdzTh3bjx+anlryZTaSWH\/qGa71\/ZEpX26kudOYKuESN5Hm09oPJVujqqrStxZbrhKZLdMcQTH8Hj2DtHtU1p+7tu9tbK4gVEfUmZww7tx3\/XBb7tbIbtb5KSYcd7Hfou5FQTwvDLQvnFVIqrS18+5nYCCMg5BWVXdLXCbZls9ccVdGcDJ9ZnLHbj4EKxKMlZ2LqVRVIqSCIiiWBERAFV5x07+UCGMnLKKDaIHbj\/AOmq0Kr6YPTL5eLhkFrpfRsPaMn5AKyGSbM1fOUIbvyzLQiLDnBrS5xAAGSTyVZpMrkuF0o7XD6WrnbGOTeLneA5qGr9Uumn6FYoDW1B3GQDqM\/Px3BZt2ls1HTr1N02qJyGnexv5\/BWKNs5GV13N4aSv38l7nIau96oy2hb9n0HAyu9Z4+uz3qatOn6CztDoI9qbGHTP3uP5exSYAAwBgBZXHO6sskShQSeKTvLf22CIigaAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA1VNRHSU0tTM7ZjiaXOPcFRrZVvu+taasqo8MlDnU7SODWh2PcQfapG5zSanvQs9M8CjpjtzyNO5\/DcPfjxyeS91kMdJrm0shYGRtpyxrGjAAw\/81fFYU97Hm1pupJNcKa+rv6FqREVB6RrnhjqYJIJW7UcjS1w7QVV7HPLYLu+w1biYZDtUshHHPL2\/HxVsUPqOz\/atDtQ9WrgO3C8bjnsz3\/HCnBrR6GevB5VIar8rYia9rtMaiZcYs9BrnbM4xua763+9W1rg5oc0ggjII5qAt1TDqqwSUtWNmdg2Jhje13JwHL+IWrS9dPTTS2GvyJ6b+aOPWZ9cO7wUpJtd6KaU1CStwy07nseNT00lurqbUNKOtC4MnaPxN4Z+XtCskE0dTBHPE7ajkaHNPaCvFZSRV1HLSzDLJWlp7u9QOkJ54BVWaq\/nKN52d\/FpPw5+1c4o+BYv8da3KXn+yyoiKs1BERAYcQ1pcdwAyVWtBg\/Y08jvWfUuOe3qt\/ep24zR09vqJJJBG0Ru6xON+FSNP3O6Otn2XaKT70vLn1DvVYD5fXBWwi3FmKvUUK0L7P0Lhdb1Q2iIvqZRtkZbE3e53gPmoEU141W4Pqi6gtpOWxj1njl4+J3dykLVpeCkl6ZXv6bWuOTJJvDT3A\/E+Snly6jwkurnW+ZktvdnLQW6ktlOIKSERt5nm49pPNdSIq27mpJRVkEREOhERAEREAREQBERAEREAREQBERAEREAUJqa7SUFKyko9o11WdmENGSN4yfPd+5TTnBrS5xAAGSTyVYsDTeL3WXqUOMLHejpg5uBj9Lxx8SpwXN8jPXk8qcdX5cyU0\/aGWa2Mg4yv68p\/Wxw8Aoy\/8A3Wq7LNw2nFmeHMDj\/SVnVY1rmCK314BJpqkHd7\/7q7B3nnzIV4KFC0dFb8Ms6LDSHNDhvBGQsqs1hERAVW9QyWC8Mv1KwmCU7FXGOeef1zHetupKYz0tPqC2OBmpgJA5o9ePjv8AD4Eqw1EEdVTyQTND45GlrgeYVZsk8ljukmn61xMMh2qSR3BwPL2\/HParou6vzXkYKlNRk4vhl+H+\/Mn7ZXx3O3w1cRGJG9YZ9U8woK6f5q1lRV43R1rfQybs5O4f4fcVrtTnaf1NNaXnFJVn0lPngCeHwx7Au\/WNJ0mwSSNB26dwlaR3bj5EriVpW5MSk6lFt8UfNe5OouS1Vn2ha6ar5yxguwPxc\/PK03W+0NnjzUy5kI6sTN7nfl7VXZ3sbHUio428iRUBdNVU1LL0SgZ06scdlrI97Qe8jj4DyXDs33VOHZNst55ZO1IPInyHip212ShtEQbTQjbxh0rhl7vb8lO0Y6mfrKlX5eS3fovcr89juVypJ6++1LmmKNz4qaM9VpAJ38vn3qS0YANNwYHF78\/1ipS5\/wCqqv8A7D\/7JUZoz\/ZqD9p\/9orrk3AhClGnXVtn5onURFUbgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgIDWFa+ntApoT99WPEQHPHP5D2qTtNvZa7ZDRswSxvWcPxOPE+9QdcHXLXNJTbjHQx+ldvzg8fZv2VaFZLKKRlpdurKe2S9fyFEappOmaeqmgZdG30jd36O\/4ZUusEAjBGQVBOzuXzgpxcXzI7T1WK2xUkodtOEYY7t2m7j8FJKrWUiyajq7M7LYKg+mps8OHDyx\/RVpUpqzK+jzcoWeqyf0CIigXhQ+pLN9rUGYurVQdeFw457Pb8cKYWqoqYKSEzVMzIoxxc84C7FtO6IVIxnBxloU+eSTUum21kfVuNtdl2OJwMk+3GfEKcprzQ1+nhVVs0cccrDHMHHG\/GHAfXNVKrvfQrzV19iDhTzANkc6PqbZ5gcu3f3rZbrJDR36jprq1k8NVHtxOY4hm0d47M8MY7wtDgrZnkwryU+zm9G+WyZ6sFdeqih+yrU1rWNeS6qcPUafhz7SrJatK0dvf0ioJrKsnJll5HuHzO9cen2NodU3ehY0MY7ErGN3Boz2cvWCtChUk75GnotFOKc82svC2wREVJ6Bz1zQ631LTvBicD7iofRJJ05GDykeB71L3KQRWyqkPBkL3H2NKidFMLdORE8HPeR78fJWLgZml\/sR8H6E+iIqzSEREAREQBERAEREAREQBERAEREAREQBERAEREBWbY0v13dJXAtIhDQDuyOrv8lZlV9RUs9quEeoaBgcWdWpYPxN4Z+XuKn6G4U1xpxNTSh4wNpuesw9hHIqyeaTRloPDKVN63b8bnSiIqzUQGq7dNUUsVfRtJq6J4ezZGS4Z3jv5H39qmKKoNXRQ1BYYzIwOLTxaexbi4NGXEAdpUPW6ps9ANk1ImcBuZANrz4eannJWSKHgpTc27XJla5p4aaIyzysijbxc84AVZOoL5dMi0WoxRnIE03yzgA+9bIdK1FdK2ov9e+qcOELDssHw8gF3BbiZD4hz+VG\/fojNRquSrmNLYaN9ZLzlcMMb3\/xwlPpiorphVagrDVP4tgYSGN+u7zVgp6aCkhENNCyKMcGsGAtqY7cJ1UHLOq793L+8TjqLXRz259AYGMgc3AaxuA3sI71RKhk0VvmttS8trbVJ6WncM9aMkZx4bneHgvo6ruq7K+tgbX0YxV045cXt5jv\/iF2nKzsyrpdHFDFFZry\/WqOCCuZLq223KMbMdwptl37QyCN\/eAFcV8oo68xCi23j\/JKkPYN+cEgnux1fMr6uu1Y2sR6DVxqX3+69wiIqT0CI1RUim07VuzgvZ6Md+0cfDK3afp+i2CiiIwfRBxGMYJ3n4qH1HLJdL1RWKAnZ2hLORyH7hk+0Kzta1jAxow1owB2BWPKKRlh260pLRZerPSIirNQREQBERAEREAREQBERAEREAREQBERAEREAREQGHNDmlrgCCMEHmq7U6RZFUCqs9U+hl35aDlvDl2fXBWNFJSa0K6lKFTiRWW2\/V8bhi70z25yQWjJ\/wDRY+xdTVO6qvwiH\/Qb+QarOi7jexV8NHm392VluiaeVwdW3CrqSDzcBn35UnQ6dtVvAMNIxzwB15Os7x38PYpNEc5PmSj0elB3UQiIoF4REQBERAVbVlnpIbJU1VPTtZIZGPeWjj+H2ceSsFuqOl26mqP+bE1x8SFi50prbZU0rcbUsTmtz243eaitGVXSLBHESdune6N2R35HkVZrDwMiSh0iy0a\/Kf7J9aqmojpKaWpmdsxxNLnHuC2qqXyV9\/vMdhpn4hiO3UyAZwRy+Xie5RjG7La1Tq43Wr08TdpKnfUPrL1UMDZauQhv6rQd44doHuVlWuGGOnhZDCwMjYMNa0bgFsSTu7naVPq4KIREUS0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqi+Y6Y1NPLM1zbdXdYvDSQ1+8+\/Odw5FW5a5oIahno54mSsznZe0OGfapwdnYorwvFSTs1mV666qglp+iWaQ1FbP1WbDT1O\/fjfxwpCwWVloogHdaqlAdPITkl3Z4BYslLTQxF0VPFG4tbvawA8FLLs3bsoroJ1H1s9eXcERFWawiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "STIVEN",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "14:03",
    "ubicacionGPS": "LatLng(lat: -22.085755, lng: -70.1894198)",
    "horaLlegada": "10:49",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 14/05/2026 14:03:30
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-i5qe-0dtaI4UZDyInj96CAFqzjM3zpDHwduLN4F9Cv4ACouNjSi
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2051",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "35535",
    "contadorColor": "51995",
    "contadorScanner": "0",
    "detalle": "01\/ itin 1940\n01\/ itin 1941\n01\/itin 1942\n01\/ itin 1943",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12576",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC6ATMDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABJEAABAwMBBAYHBAUHDQAAAAABAAIDBAURBhIhMUEUIlFhcaETMoGRscHwFSNC0VJicuHxBzOCkrLC0iQlNDU2N0NTY3N0ouL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQIEAggHAAMBAAAAAAAAAQIDERIhMVEyQQQTImFxscHRFDOBkaHh8CM0QvH\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIuC63mis8PpKqTrEZZG3e53gPmupN5IjKSirydkdxIAyTgBQtx1ZbKEmOKTpc\/ARw78nx4fNRjYLxqt23UudQWwndG31pB8\/E7u5T9tstBamYpIA12MGR29x9qnaMdTOqlWr8tWW79F7kK2q1dcgHQU0FBGTuMo6w8Qcny5L0Ldq2ACVl0p5X\/AIo3Dcfe38lZ0THskd+HvrJ38StUuqJ6Sq6FfKQ00mcMmaDsv34+iPcFZAQRkHIK4L7QC5Weopg3Lywuj\/aG8ea5dJVxrrBCXZ24SYnEnOccPIhcaTWJCEpQqdXJ3yumTSIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCItVTURUlNJUTO2Y42lzj3BDjds2bUXPQ1kVwoo6uEPEcoy3bGDxwiBNNXR0IiIdCIiAIiIAiIgCIiAIirFzvtXcKs2uwN9JJwlqQeqwdx+fuUoxciqpVjTV3\/6dF61KKOcW+3RdKr3nAaBkMPf2n6KxbNMMZP8AaF2f0ytf1iH72sPYO3C67LYaazxEj72pfvkncN7j3dgUqpOSWUSqNKU3jq\/Rcl7sIiKs1BERAFWNB9W0VMZ4tqXZ\/qt\/JWOaUQQSSu4RtLj7BlQGh43CxOldjMs7nZxjkB8QVNcDM0\/nw8H6FjREUDSEREAREQBERAEREAREQBERAEWirraWhi9LVTshZ2uOM+HaoB+r31Uhis9snq3Z2Q9ww0dh\/jhSUW9CqpWp08pPMsyqmoJX327w2ClLgyJ3pKp45Dd8M+8jsXv7O1Pdd9bXsoInYPo4PWHdu\/MqWs9jpbNG4Q5fK8deV\/F28n5qStDO+ZRLHX7OG0ed\/I74oo4IWQxMDI2ANa0cAEXtFWbNAiIgCIiAIiIAiIgCw5wa0ucQABkk8l5lljhidLK8MYwZc5xwAFUpqut1fUvpKIup7ZG7Es3Ayd37vepRjcpq1VCyWbeiPdbcq3UtU+3WZxjpGHE9T+kOGB3cd3PwVgtdqpbRSCnpm7uLnn1nntK20VFT2+lZTU0YZGwbh295710LspcloRpUmnjm7y8vAIiKBoCIiAIiICK1NMINO1ri7Z2o9gd+0cfNZ03B0fTtEztiD+P6XW+ajdbSOko6Ogj9eqnAHPIG7h4kKyRsbFG2NvqsAA8ArHlBGaPa6RJ7JL75npERVmkIiIAiIgCIiAIiIAi4LleqC1MzVzhrsZEbd7j7FAm637UJ2LVT9CpTu6RJxI7j+XvU1BvMoqV4QeHV7IsVfdKG2s2qypZFuyGk9Z3gOJVfkv8AeL070VjonRQk46VKPhyHmV22\/SVFTSdIrXOr6knLnzbxnw5+3KnWtDWhrQAAMADku3jHTMhhrVOJ4V3a\/f2K7RaRh9KKq7VD7hUfruOyPmfrcrBFFHDG2OKNsbGjDWtGAPYvaKLk3qXU6UKa7KCIiiWBERAEREARFGX27\/ZFIx7I\/STTSCONh4E9+8eHtXUruyIzmoRcnoSaKBteoZZK02y6wClrBgAj1JD3ePLtU8jTWpGnUjUV4heJZY4YnSyvDGMGXOccABenODWlziAAMknkqdUTVWsbi6kpnmG1wO+8kHGQ\/XAcuJ7F2Mb+BGrV6tJJXb0Qmmq9ZVxpqYvgtULvvJMYMh+uA5cTyCtlJSQUNMympoxHEwYACUlJBQ0zKamjEcTBgALcuylfJaHKVLD2pZyf9ZdwREUC8IiIAiIgCIiAq9aen68o6fdsUcRkdv35xn\/CrQqvpgdOvV1uxOWvk9FGf1f4BqtCsnqlsZujZxc92\/YIiKs0hERAEREARc9ZXUtvgM9XM2KMc3c\/AcSq26\/3W+vMFjpTDCdzqqbl8h5lSjFspqVoU3Z5vZak9cbzb7U3NXUNa48GDe4+wKCNxv8AqAYtlP0Ckd\/x5Thzh3fuHtXbbtJ0dLL0mse+uqicmSU5Ge3H55U8pXjHTMrwVavG8K2Wv1fsQFt0jQ0j\/T1ZNbUE5L5d4z4fnlTwAAwBgBZRQcm9S6nThTVoqwREXCwIiIAiIgCIiAIiIAqxqL77U1kgc0ENk29\/iPyVnVYrvvf5Qbe3O6OnJI78P\/d7lOnrczdJzglu15ndqOyi60XpIepWQdaF4OD24+ua9abvBvFt25cCoiOxKOG\/tx3\/AJqXXz3Uk7bfqCpbbar0RqmbNTjg1xOTv893aVKCxrCV15KhLrVzya32Ja61s+orp9iW6TYpmf6TO3gccvl3nuVjoKWloaYUtIGtZFuIByc9\/eue32qC1Wo09H6xYSZQN73Y4qqWW01Vxtz7jQ3CWGujkc0gv2mvwNw7uJ7Qu5SVk7JEbzpzTkryf4S5L+zL4irVFqeemqhRX6m6JL+GfeGP+u0HHgrI1wc0OaQQRkEc1W4tamunVjUXZMoiKJYEREAREQBR99rOgWSqqM4cIy1v7R3DzKkFWNZvdUC32qM9aqnGccgMD+95KUFeSKekTcKTa1O7SlEKLT9OPxTD0zuH4uHlhTK8sY2NjWMGGtAAHYF6XG7u5OnBQgorkERFwmERQl21PR255p4QaurJ2RDFvwe88vDiupNuyITqRpq8nYmJZY4InSzPbHGwZc5xwAFXKrVM1dKaPT9M6pm4GZzcMYO3f8\/NaYrJddQSNqb3UOggzltIzdu7+z25PgrNS0dPQwCClhZFGPwtHn3qfZj3sz3q1tOzH8\/ogKLSbpqgVl8qTWzcRHk7Dfz8NwVjYxkbAyNoY1owGtGAF6RRlJy1LqdKFNdlBERRLQiIgCIiAIiIAiIgCIiAIiIAqxP\/ALxKb\/xj8HKzqkakr5bbq1lTAzblFNssH6x2gPirKau2jJ0uSjGMnyaJjUl7lpNi3W\/r19RuaG8WA8\/H+KUmlaaKyTUk2JKmobmSYjJDuIx4H3r1p2yGijNfWky3CoG097uLM\/h8e1TqOWHKIhSdR46i10Wy9yuaSuEphltFYcVVEdkNPNg3eXDwwua3O+wtXVNveA2nrz6SE8gd+B8R7lt1NTS26up9QUgJdEQyoaPxN7T8Pcum+0TL9ZI6uiJM7AJqdzTh3bjx+anlryZTaSWH\/qGa71\/ZEpX26kudOYKuESN5Hm09oPJVujqqrStxZbrhKZLdMcQTH8Hj2DtHtU1p+7tu9tbK4gVEfUmZww7tx3\/XBb7tbIbtb5KSYcd7Hfou5FQTwvDLQvnFVIqrS18+5nYCCMg5BWVXdLXCbZls9ccVdGcDJ9ZnLHbj4EKxKMlZ2LqVRVIqSCIiiWBERAFV5x07+UCGMnLKKDaIHbj\/AOmq0Kr6YPTL5eLhkFrpfRsPaMn5AKyGSbM1fOUIbvyzLQiLDnBrS5xAAGSTyVZpMrkuF0o7XD6WrnbGOTeLneA5qGr9Uumn6FYoDW1B3GQDqM\/Px3BZt2ls1HTr1N02qJyGnexv5\/BWKNs5GV13N4aSv38l7nIau96oy2hb9n0HAyu9Z4+uz3qatOn6CztDoI9qbGHTP3uP5exSYAAwBgBZXHO6sskShQSeKTvLf22CIigaAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA1VNRHSU0tTM7ZjiaXOPcFRrZVvu+taasqo8MlDnU7SODWh2PcQfapG5zSanvQs9M8CjpjtzyNO5\/DcPfjxyeS91kMdJrm0shYGRtpyxrGjAAw\/81fFYU97Hm1pupJNcKa+rv6FqREVB6RrnhjqYJIJW7UcjS1w7QVV7HPLYLu+w1biYZDtUshHHPL2\/HxVsUPqOz\/atDtQ9WrgO3C8bjnsz3\/HCnBrR6GevB5VIar8rYia9rtMaiZcYs9BrnbM4xua763+9W1rg5oc0ggjII5qAt1TDqqwSUtWNmdg2Jhje13JwHL+IWrS9dPTTS2GvyJ6b+aOPWZ9cO7wUpJtd6KaU1CStwy07nseNT00lurqbUNKOtC4MnaPxN4Z+XtCskE0dTBHPE7ajkaHNPaCvFZSRV1HLSzDLJWlp7u9QOkJ54BVWaq\/nKN52d\/FpPw5+1c4o+BYv8da3KXn+yyoiKs1BERAYcQ1pcdwAyVWtBg\/Y08jvWfUuOe3qt\/ep24zR09vqJJJBG0Ru6xON+FSNP3O6Otn2XaKT70vLn1DvVYD5fXBWwi3FmKvUUK0L7P0Lhdb1Q2iIvqZRtkZbE3e53gPmoEU141W4Pqi6gtpOWxj1njl4+J3dykLVpeCkl6ZXv6bWuOTJJvDT3A\/E+Snly6jwkurnW+ZktvdnLQW6ktlOIKSERt5nm49pPNdSIq27mpJRVkEREOhERAEREAREQBERAEREAREQBERAEREAUJqa7SUFKyko9o11WdmENGSN4yfPd+5TTnBrS5xAAGSTyVYsDTeL3WXqUOMLHejpg5uBj9Lxx8SpwXN8jPXk8qcdX5cyU0\/aGWa2Mg4yv68p\/Wxw8Aoy\/8A3Wq7LNw2nFmeHMDj\/SVnVY1rmCK314BJpqkHd7\/7q7B3nnzIV4KFC0dFb8Ms6LDSHNDhvBGQsqs1hERAVW9QyWC8Mv1KwmCU7FXGOeef1zHetupKYz0tPqC2OBmpgJA5o9ePjv8AD4Eqw1EEdVTyQTND45GlrgeYVZsk8ljukmn61xMMh2qSR3BwPL2\/HParou6vzXkYKlNRk4vhl+H+\/Mn7ZXx3O3w1cRGJG9YZ9U8woK6f5q1lRV43R1rfQybs5O4f4fcVrtTnaf1NNaXnFJVn0lPngCeHwx7Au\/WNJ0mwSSNB26dwlaR3bj5EriVpW5MSk6lFt8UfNe5OouS1Vn2ha6ar5yxguwPxc\/PK03W+0NnjzUy5kI6sTN7nfl7VXZ3sbHUio428iRUBdNVU1LL0SgZ06scdlrI97Qe8jj4DyXDs33VOHZNst55ZO1IPInyHip212ShtEQbTQjbxh0rhl7vb8lO0Y6mfrKlX5eS3fovcr89juVypJ6++1LmmKNz4qaM9VpAJ38vn3qS0YANNwYHF78\/1ipS5\/wCqqv8A7D\/7JUZoz\/ZqD9p\/9orrk3AhClGnXVtn5onURFUbgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgIDWFa+ntApoT99WPEQHPHP5D2qTtNvZa7ZDRswSxvWcPxOPE+9QdcHXLXNJTbjHQx+ldvzg8fZv2VaFZLKKRlpdurKe2S9fyFEappOmaeqmgZdG30jd36O\/4ZUusEAjBGQVBOzuXzgpxcXzI7T1WK2xUkodtOEYY7t2m7j8FJKrWUiyajq7M7LYKg+mps8OHDyx\/RVpUpqzK+jzcoWeqyf0CIigXhQ+pLN9rUGYurVQdeFw457Pb8cKYWqoqYKSEzVMzIoxxc84C7FtO6IVIxnBxloU+eSTUum21kfVuNtdl2OJwMk+3GfEKcprzQ1+nhVVs0cccrDHMHHG\/GHAfXNVKrvfQrzV19iDhTzANkc6PqbZ5gcu3f3rZbrJDR36jprq1k8NVHtxOY4hm0d47M8MY7wtDgrZnkwryU+zm9G+WyZ6sFdeqih+yrU1rWNeS6qcPUafhz7SrJatK0dvf0ioJrKsnJll5HuHzO9cen2NodU3ehY0MY7ErGN3Boz2cvWCtChUk75GnotFOKc82svC2wREVJ6Bz1zQ631LTvBicD7iofRJJ05GDykeB71L3KQRWyqkPBkL3H2NKidFMLdORE8HPeR78fJWLgZml\/sR8H6E+iIqzSEREAREQBERAEREAREQBERAEREAREQBERAEREBWbY0v13dJXAtIhDQDuyOrv8lZlV9RUs9quEeoaBgcWdWpYPxN4Z+XuKn6G4U1xpxNTSh4wNpuesw9hHIqyeaTRloPDKVN63b8bnSiIqzUQGq7dNUUsVfRtJq6J4ezZGS4Z3jv5H39qmKKoNXRQ1BYYzIwOLTxaexbi4NGXEAdpUPW6ps9ANk1ImcBuZANrz4eannJWSKHgpTc27XJla5p4aaIyzysijbxc84AVZOoL5dMi0WoxRnIE03yzgA+9bIdK1FdK2ov9e+qcOELDssHw8gF3BbiZD4hz+VG\/fojNRquSrmNLYaN9ZLzlcMMb3\/xwlPpiorphVagrDVP4tgYSGN+u7zVgp6aCkhENNCyKMcGsGAtqY7cJ1UHLOq793L+8TjqLXRz259AYGMgc3AaxuA3sI71RKhk0VvmttS8trbVJ6WncM9aMkZx4bneHgvo6ruq7K+tgbX0YxV045cXt5jv\/iF2nKzsyrpdHFDFFZry\/WqOCCuZLq223KMbMdwptl37QyCN\/eAFcV8oo68xCi23j\/JKkPYN+cEgnux1fMr6uu1Y2sR6DVxqX3+69wiIqT0CI1RUim07VuzgvZ6Md+0cfDK3afp+i2CiiIwfRBxGMYJ3n4qH1HLJdL1RWKAnZ2hLORyH7hk+0Kzta1jAxow1owB2BWPKKRlh260pLRZerPSIirNQREQBERAEREAREQBERAEREAREQBERAEREAREQGHNDmlrgCCMEHmq7U6RZFUCqs9U+hl35aDlvDl2fXBWNFJSa0K6lKFTiRWW2\/V8bhi70z25yQWjJ\/wDRY+xdTVO6qvwiH\/Qb+QarOi7jexV8NHm392VluiaeVwdW3CrqSDzcBn35UnQ6dtVvAMNIxzwB15Os7x38PYpNEc5PmSj0elB3UQiIoF4REQBERAVbVlnpIbJU1VPTtZIZGPeWjj+H2ceSsFuqOl26mqP+bE1x8SFi50prbZU0rcbUsTmtz243eaitGVXSLBHESdune6N2R35HkVZrDwMiSh0iy0a\/Kf7J9aqmojpKaWpmdsxxNLnHuC2qqXyV9\/vMdhpn4hiO3UyAZwRy+Xie5RjG7La1Tq43Wr08TdpKnfUPrL1UMDZauQhv6rQd44doHuVlWuGGOnhZDCwMjYMNa0bgFsSTu7naVPq4KIREUS0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqi+Y6Y1NPLM1zbdXdYvDSQ1+8+\/Odw5FW5a5oIahno54mSsznZe0OGfapwdnYorwvFSTs1mV666qglp+iWaQ1FbP1WbDT1O\/fjfxwpCwWVloogHdaqlAdPITkl3Z4BYslLTQxF0VPFG4tbvawA8FLLs3bsoroJ1H1s9eXcERFWawiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "STIVEN",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "14:03",
    "ubicacionGPS": "LatLng(lat: -22.085755, lng: -70.1894198)",
    "horaLlegada": "10:49",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


14/05/2026 14:03:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[14/05/2026 14:03: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('61980920', 'KY2051', 2, 27729424, 35535, NOW(), 
				'08:00', '10:49', '14:03', 10, '01/ itin 1940
01/ itin 1941
01/itin 1942
01/ itin 1943', -1, 
				'', '','1','51995',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778781810.png', '', null, 'COMPLETADO','LatLng(lat: -22.085755, lng: -70.1894198)' )
				
[14/05/2026 14:03:30] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200316

14/05/2026 14:03:30 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200316'                    
				WHERE idllamado = 12576			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


14/05/2026 14:03:30 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12576			
				
14/05/2026 14:03:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


14/05/2026 14:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:03:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:03:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:03:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

14/05/2026 14:03:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:03:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:03:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:03:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:03:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

[14/05/2026 14:03: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;
                

14/05/2026 14:03:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

14/05/2026 14:03:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12576
            GROUP BY l.idllamado;
            

[14/05/2026 14:03: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;
                

14/05/2026 14:03:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:03:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:03:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:03:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:03:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

14/05/2026 14:03:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12576
                

[14/05/2026 14:11: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;
                

14/05/2026 14:11:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:11:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

[14/05/2026 14:11:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 14:11:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:11:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

[14/05/2026 14:11:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 14:11:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:11:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:11:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

[14/05/2026 14:11:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

[14/05/2026 14:11: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;
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12598
                

[14/05/2026 14:11: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;
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14:11:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:11:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

[14/05/2026 14:11:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 14:11:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12598
                

14/05/2026 14:11:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:11:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:11:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

[14/05/2026 14:11:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 14:11:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12598
                

14/05/2026 14:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:11:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:11:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:11:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

[14/05/2026 14:11: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;
                

[14/05/2026 14:11: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;
                

[14/05/2026 14:11: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;
                

14/05/2026 14:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:12:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:12:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14: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 = 12579
                

[14/05/2026 14:14:27] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 14:14:27] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 14:14:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 14:14:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12579
                

14/05/2026 14: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 = 12579
                

14/05/2026 14: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 = 12579
                

14/05/2026 14:14:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 14:14:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 14:14: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;
                

14/05/2026 14:14:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:14:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 14:14:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 14:14:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

[14/05/2026 14:14: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;
                

14/05/2026 14:14:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14: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 = 12579
                

14/05/2026 14: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 = 12579
                

14/05/2026 14: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 = 12579
                

14/05/2026 14: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 = 12579
                

14/05/2026 14:14:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 14:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:14:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 14:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:14:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:14:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:14:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 14:14:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:14:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14:14:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14: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 = 12579
                

14/05/2026 14: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 = 12579
                

14/05/2026 14:15:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:15:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 14:15:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:15:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 14:15:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:15:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14: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 = 12579
                

14/05/2026 14: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 = 12579
                

14/05/2026 14:15:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 14:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 14:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 14:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

[14/05/2026 14:16: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;
                

[14/05/2026 14:16: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;
                

14/05/2026 14:16:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14:16:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14:16:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

[14/05/2026 14:16: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;
                

14/05/2026 14: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 = 12598
                

[14/05/2026 14:16: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;
                

14/05/2026 14:16:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

[14/05/2026 14:16: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;
                

14/05/2026 14:16:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

[14/05/2026 14:16: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;
                

14/05/2026 14:16:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

[14/05/2026 14:16: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;
                

14/05/2026 14:16:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

[14/05/2026 14:16: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;
                

14/05/2026 14:16:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

[14/05/2026 14:16: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;
                

[14/05/2026 14:16: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;
                

14/05/2026 14:16:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12579
                

14/05/2026 14: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 = 12579
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12598
                

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14:16:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14: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 = 12579
                

14/05/2026 14: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 = 12579
                

14/05/2026 14:16:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 14:16:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:16:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:16:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:16:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14: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 = 12598
                

14/05/2026 14: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 = 12598
                

14/05/2026 14:17:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 14:17:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:17:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14: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 = 12598
                

14/05/2026 14:17:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12598
                

14/05/2026 14:17:04 - logentry: =========================================
FECHA: 14/05/2026 14:17:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-__RRLsw1Twk6q_kQcxerkVvVbW.cLHOHZCzIk6rvWUeFsJhRIFx
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2857",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "sin contador maquina en error \nhay que cambiar sensor del carro de impresión o cambiar maquina",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12579",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADCAMMDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAQIEAwf\/xABDEAABAwMCAgcFBAYJBQEAAAABAAIDBAURBiESMRNBUXGBkaEUImGxwSMy0eEHFUJDUsIWJCUzYnKi0vBEU1SCkvH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIEAwUHBAMAAAAAAAAAAQIDEQQSITFBUWETIjKRoSMzcYGxwdEUQuHwJGLx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAXjr6erqOg9kq\/Z+CUOk93i429i9iLqdjklmVmERFw6EREAREQBERAFxxDiDcjJGQFyvzmOtqKO+VF6aS6Bta6J4J\/ZdnbyHoFOEM1zPXrqja63P0ZFwCCMg5BXKgaAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKBt1L7fo26zkDj6cyj4cIDj6Eq+UpoyHpLBXUjxuZ3sd4tAVsHZN\/Ax4iOepGPNS+xs6eqjWWCjmO56MNJ7S33T8lpKc0NN0lgLCf7qZzfDY\/VUahNWk0XYeWalF9AiIolwREQBERAEREARTmorhWPuNJZrdMYZqgcT5Bza3Pw7j4L7aevFRVy1FuuDQ2upXHiwMB7c8x3beYU8jtcoWIi6mT+35G6iIoF4REQBERAEXhvNLNWWmohppXxzFuWOYcHI3A8cY8V4NIXF1fZWxynM1Keidnngfd9NvBSy925U6lqig1ujdREUS0IiIApjRv2cl1px92OpOPUfRU6mNP\/AGGqr3TnYveJMeJP8ynHwszVdKtN\/H6HOigGU9fHkHhqT+H0VMpjRe7bk4bg1Jwe1U6VPExhPcxCIigaQiIgCIiAIi8d3qvYrRVVO+WRHhwcb8h6rqV3Y5JqKbZh2T+09V3K5844PsY+r4Z9D5rrqUG03mhvkTTw8XRVHD1jq9M+QXt0fSNptPxPDQHTuMjsd+B6AL0ampBWafq2EZcxnSN2yQW7\/LI8Vbfv24bGFU28Nfj4vnuagIIyDkFcrL03V+22CklIwWs6M97fd+mVqKpqzsbYSU4qS4hERcJBERAFHPlFg1wQMMpq8AuGdgSef\/0D4FWKk9e0jn0NNWszmF5a4jqB6\/Meqsp72fEyYtNU863jqViLOsVwFzs9PU8XE\/hDZP8AONj+PitFQas7GmMlKKkuIREXCQUrKRbf0gNkJAZWwYcccsD8WDzVUpPXcL201JXRnD4ZC3PeM\/RWU97czLitKedftaZ9tCjitNRLuOOpdtj4BUyw9HwmHTdOTnMhc\/B7zj0C3Fyo+8yWGVqMfgERFA0BERAEREAU5rSZxtsFBFvLWTNYB2gH8eFUal7lis11bqbGW08ZkdtyO5+jVOn4r8jNin7PKuNl5lHTQtpqWKBv3YmBg26gML6OAc0tO4IwVyigaErKxL6MJpnXG1uyTTVBIJ6wdv5fVVCl6b+pfpAqIy7DayDiaO04B\/lcqhWVN78zPhdIZeTaCIirNIREQBeC9UX6ws9VTBvE50ZLB\/iG49QF70XU7O5GUVKLi+J+e6Ouxt1YKaYn2esdwtPU14\/HI9F+hKFdZo5b7crK8iNs49opn8P3Xc8D4YJHh8Fs6dvEzpn2a5DhrqfYE\/vGj8sd43V1RKXeR52Em6a7OfOy+PL7ooURFQemFPa2qGRaefE4jime1rQeexzt5KhUpI8ak1SyOPejtZy8kZD35\/L0PapwWt+RmxL7mRby0NLSlS2p07TcIAMQMbgB1j8sLZUrY+Gy6nrbPuIp8SwZ5cs4Hhkf+qqkmu8dw0m6aT3Wj+QREUDQEREAREQBTFD9t+kC4PduIqcNbnq2Z+fmqdTGnj0uqb3KOTXhnjkj6KcdmZq+s6a6\/ZlOiIoGkmL2eg1jZ5xzkBjPdnH8yp1Mas+zudlqBsWVOM9XNvPyVOpy8KM1HSpUXVfQIiKBpCIiAIiICX1c2Shq7feom8Rpn8EgzzB5fzDxXsvllbdoo6+hk4K2IB8MrT98cwPwK0LtQtuVrqKQgEyMPBnqd1Hzws3R9eayyMie77WlPROHWAPu+m3grU3lTXAxShHtXCW0tfmjraNUQ1BFHciKWtZ7rhIOFrj8M8j8PJb7XBzQ5pBBGQR1rx3G0UN1Zw1kAkwMNdkgjuIWKNEUrDwx3CrbD1x8Q38sLncfQmnXhpbN6eZ9r7fJxN+qrQ0zVr9nObuIvHt+S99itEdmtzadpDpD70rx+078EtFiobMwimYTI4YfK85c78PBaS45K1kSp05OXaVN\/oTer6d8UNNeKdv29FKCT2tz1+OPMrdo6uKuo4qqE5ZK0OHw+C7zwx1MEkEreKORpa4doKmLFNLYbvJYatxMMhL6WR22c9Xj8+9dXejbiiLfZVr8JfX+SrREVZqCIiAIiIApnSYBuN6kJBc6p383fiVTKY0v9nfL7D1Co4h8Ped+SnHwszVfe0\/n9CnREUDSTGuvcttJN\/BUjcc+RP0VOpvXQzYGnbadp9CqCB3HTxvzniYDnt2U34EZoe\/n8F9z6Isi76lobQejcTNUHlDHufE9SzBS6g1Ewuqpv1ZSOHuxMGXPHx3z547kUHa70R2ddJ5Yq76fdm1XX22W0ltTVsa8c2N953kFkHWEtU4i12eqqm\/xkYHoD817qDSlpoMOFOJ34+9P73pyWwAAMAYAXbwXC5HLXnu1H4a+r\/BMnVNzp2ulrLBPHC0Zc8E7ei3bfcaW6UwqKSUSMzg9RaewhekgEYIyCpSRg07q2J0LeGjuWGuaAAGvz1eJB8SmktlZnG6lFpyldfQrFK0P9la4qqTlFXs6Ro2Hvbn\/AHBVSmNYRGndQXiNuXUkwD8DctJyPUY\/9khvbmSxOkVUX7Xf8lOi6xyNljbIw5a8BwPaCuyrNIREQBY2pbQbpb+OAYrKc8cLgcHPZn4\/PC2C4NGXEAdpWTWaps9EeF9W2V38MI4\/UbeqlG97oprdnkaqOyZ207dxd7a17z\/WIvcmbjHvdvitVSV3p5LNXx6itreKCXeqjB2cHb58fQ4VNR1kFfSR1VM\/jjkGQfoV2S4rYhQqN+zn4l6rmfdERQNIREQBTFr+w11dIPuiSISY6ifdP8x9VTqXqM0v6QqZ42bVU5DvAH\/aFOHFdDNiNHCXVeuhUIiKBpJrXZAsLAeuoaB5OXF1vVY6ojstnZx1ZYOlk\/7X5\/Hqz2rrr5wFmgb1moB\/0u\/FerSNsFFaW1MozU1X2j3Hng8hn17yrlZQTZ50s8sRKEXa6V2fWy6bpLSBM4dPVuGXzP3368dnzWyiKptt3ZuhCMI5YqyCIi4TCwtYUpqLBJKzPSUz2ytI5jGx9CVurw3sB1irwf8AxpD\/AKSpRdpIqrRzU5Lod7XVe3WumqdsyRNLsHO+N\/VcXajFwtVTSkZMkZ4f8w3HqAvFpIuOmKPi54f5cbsLZR6S0OU\/aUlm4r7GFo+sNXp+JriC6AmI9w5ehC3VC0F8ptOV92p3tfKwz5hYw7cz18hthfKS+aj1ATFQQPiidkfYjHm8\/krXTbd+Bjp4uMKai9ZLSy6FdcL7bbY13tNUzjb+6YeJ\/l1eKmK\/Xk8pcy20vA3Gz5Rl3kNh6rig0FUSnjuFU2MHfgi953iTt81UW+xW22Nb7NSs42\/vXjif59Xguezj1O\/5Vb\/Rev8AfIkY7DqHUDhPXzmJh5dMcbfBg5eiordpC1UIa58XtMrd+OXcf\/PL5rdRRlUk9Ni6nhKcHd6vmzq9jZI3RvaHNcCHA9YUoG1Gj68lrXzWmofyGSYXH\/nj3qtXSWJk0bo5GhzHDBBUYyt8C2rSz2admtmdKaqgrIGz00zJY3cnNOV9lK1GnbhaJX1en6otZzdSPJIO3Vnn4+a0LPqSnuTvZ52+yVjcAwyHHEf8OefdzXXHS8SEK2uSorP0fwNpERQNIUvrEGlmtt0awH2ecBx7Rzx6FVCzNRUntthq4R94M4297d\/opwdpIoxEXKk0t\/waTSHNDhuCMhcrJ0xVis0\/Sv4suYzo3fAt2+WD4rWUWrOxZCSnFSXEltZNNVWWig2LZ5zxDftaPqVUNaGtDWgAAYAHUpi4ZqdfW+EbtghLz8D7x\/2qoU5bJFFHWpUl1t5IIiKs1BEXgrr5bLdkVVZG145sB4neQ3XUm9iMpRirydj3rG1ZUtptO1OecoEbRnG5P4ZWLX67l6MuoKLDOLAln6+4D8VjwUt91XKXvle+Jrt3yHhjafgO3uCujTa1loefWxkZJ06Su2bVLqu32ex01LBxVU7I92tBa1pO5yT39WV2ZBqTUjAamUW6jcPusBDnjuznzIC0rNpWgtAE0mKiobv0rxs0\/wCEdXevLfr77Ziz2d\/T1NQeF0kZ2YOvf59gS6b7q+ZxxnGmu2enCK4ng0hZqGqnrKqSETxRS8EBkGR15yOR24VahoaMNAA7AvJabdHardFSRkngHvEnOXHmfNexVzlmlc14akqVNK2oREUDQEXgrr5bLdkVVZG145sB4neQ3WO7WL6oltptVTVkc3EYDfLP0UlCT4FM8RTg7N6lOuskjImF8j2saOZccAKZMesLiCHPp7cwjk07+YyR6Ls3RjJ3iS53KqrH9+B65KllS3ZDtpy8EH89P5PfV6ps1HkOrGyOH7MQ4\/lspy5zzancx1uskjHggtq3nhOB1Z5epVRSaftNCQ6Chi4huHPHGQe85wtJFKMdkQlRq1Vao0l0\/LPjSxSQ0scUsnSPY0AvxjKL7IqzWlZWC4IBGCMgrlEOkvpVwt9xuVlc7+6l6SIE5Jb\/APnD5qoUtfcWzVVsuQcGsn+xl7uWT4O\/0qlqJm01NLO\/7sTC93cBlWT1s+Zlw7yqVN\/tfpuibtY9t1vcqvmymYIhvyOw\/lcqhS+kDHSWSouVVI2MVErnuc7YYG3zyvnU6wqKup9lsdCah+cGR4JHfgdXxJXZRcpWXAqpVoU6alLeWvmVE00VPGZJ5WRMHNz3AAeJWFWaxoo5TT0EMtfPyaIm+6T38z4BY9Zpm\/XIGpudwgbwjOHvOGeQwFnTMNlgeKa\/xmXl0dI0+8fi4Y7FKNOPO5VWxVZbRyrra5uGjvt1Y+pu9d+rKIDLomHhPD8fzPgsGqrrRQF0NqoxUPAx7VU+9v2tadvMeCUVtv8AqBrQ6aofT5z0lRK4s8M8\/BUVNoGgYwe0VM8r8b8BDRnyKsvGO78jOoVayvTj83v8v4Juio4KqcVt8uLYoyclhdxSv8BktH\/AqNmraKGJlFZbbPUFvusYBwt+p9Fp0+lbLTEEUTZCDnMpLvQ7LVjijhYGRRtY0cmtGAq5VIs10cLVprRpdd36ks6z3+\/PzdqkUdMf+niOSfL6k9y37baaK0w9FSQhufvPO7nd5X3qKqnpI+kqZ44WfxSODR6rBqNXxyyGns9JNXT9RDCGD49vy71DvS0WxdajQeaTvLrqykWZXaitVvDhNWMc8bdHGeN2ezA5eKyG2S+3lgdd7gaaMu4ughG+Ow42+a06DS9poGjgpRM8ftze+fw9EtFbs72lafgjZdfwZv8ASm4XEllns8smdhLLs0d\/V6rt+pL\/AHTBul16CI84afbbsOMeuVTAADAGAFyme2yO\/p3L3km\/RehiUOkrRRcLvZ+ne3fimPFv3cvRbLGMjYGRtDGtGA1owAuyKDk3uXQpwgrRVgiIuEwiIgCIiAIvBcrzQWlnFVzhriMtjG7ndwWI2832+5baKJtJAdvaJ\/p+QKkoN6lE68IPLu+SPRrUU77GRJMxk0b2viaXYLjyOPAlY111ZPXWMxQUjmse1sc07jtxEZLW+vgtii0fTNm9puc77hOdzx54fz\/5ssD2FsGrYrKZQKRtV0zWnbBLQQM9wA+Kvhl23sefiO2vm8ObT\/ppUmiZJqONtxr5Dws+zhjHuxk79fPn2Ddd4tG1NNG5jb7NDC0ZwxpaM9ZPvL1asutRa3W98Ur2RmYulDObmjG3qV4xT3jVjg+pLqC25y2MfeePr3nb4Lic2rt6E5U6EZdnGLcl1f1MKotkVdW+xWeWpr3tOZJnkCMfH8\/LKrLHpKjtjRLUhlVUn9pwy1vcD8\/kteht9LbacQUkLYmDc45k9pPWvhcL5brYwmpqWcY26Nh4nk934qMqkpaRLKeFp0vaVLX9Ee8AAYAwAhIAyTgBS41HeLmMWi0ODDymnOGkdfYPVc\/0Zudyc196urntBz0MGw89h6KOS3iZd+oze7i36LzZ76\/VdooMg1IneBngh97wzy9VnC5alvQabfRtt9O799KQSR4jl3DxWzb7DbbYGmnpWdI3968cT\/NaKZorZDs6s\/HKy5L8k1T6Mp3TdPc6yeulzk8R4Wnv5n1W\/TUlPRx9HTQRwsznDGgL7IouTe5bTo06fhQREUS0IiIAiIgCIiAIiIAiIgPHU2qgrKplVU0scssbeFrnjOBnPLkvWAAMAYAXKLtziik7pHWSRkUbpJHcLGAucewBfm04hqqWqu08rm1lTU5o2R\/e2O+wOw3AzzyOtVWsrhJS2oUkDXmWsd0YLWk+71jvPLHxK+WmdLi3NZWVwD6ojLGHcRfmroWjHMzzsQpVqqpxWi36X\/uhJ1clc25wVF56dz2yNyJG7cIwSAPEbKpOp7rcMC0WaRzXcpZuX0HqqaSKOUASRteAcgOGcHtXdcdRPgTp4ScG7T0fn5ksbHqG5t\/tK7+zsdzigHw5HGB8176DSdpoTxmE1Mmc8c+HenJbSKDnLYvjhqad2rvrqcAADAGAFyiKBoCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgOrmtdjiaDwnIyORXZEXTi3YREXDoREQBERAEREAREQBERAEREAREQBERAEREAREQH\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "STIVEN VALDERRAMA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "14:17",
    "ubicacionGPS": "LatLng(lat: -22.0856214, lng: -70.1891048)",
    "horaLlegada": "10:49",
    "horaDespacho": "14:03",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 14/05/2026 14:17:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-__RRLsw1Twk6q_kQcxerkVvVbW.cLHOHZCzIk6rvWUeFsJhRIFx
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2857",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "sin contador maquina en error \nhay que cambiar sensor del carro de impresión o cambiar maquina",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12579",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADCAMMDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAQIEAwf\/xABDEAABAwMCAgcFBAYJBQEAAAABAAIDBAURBiESMRNBUXGBkaEUImGxwSMy0eEHFUJDUsIWJCUzYnKi0vBEU1SCkvH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIEAwUHBAMAAAAAAAAAAQIDEQQSITFBUWETIjKRoSMzcYGxwdEUQuHwJGLx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAXjr6erqOg9kq\/Z+CUOk93i429i9iLqdjklmVmERFw6EREAREQBERAFxxDiDcjJGQFyvzmOtqKO+VF6aS6Bta6J4J\/ZdnbyHoFOEM1zPXrqja63P0ZFwCCMg5BXKgaAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKBt1L7fo26zkDj6cyj4cIDj6Eq+UpoyHpLBXUjxuZ3sd4tAVsHZN\/Ax4iOepGPNS+xs6eqjWWCjmO56MNJ7S33T8lpKc0NN0lgLCf7qZzfDY\/VUahNWk0XYeWalF9AiIolwREQBERAEREARTmorhWPuNJZrdMYZqgcT5Bza3Pw7j4L7aevFRVy1FuuDQ2upXHiwMB7c8x3beYU8jtcoWIi6mT+35G6iIoF4REQBERAEXhvNLNWWmohppXxzFuWOYcHI3A8cY8V4NIXF1fZWxynM1Keidnngfd9NvBSy925U6lqig1ujdREUS0IiIApjRv2cl1px92OpOPUfRU6mNP\/AGGqr3TnYveJMeJP8ynHwszVdKtN\/H6HOigGU9fHkHhqT+H0VMpjRe7bk4bg1Jwe1U6VPExhPcxCIigaQiIgCIiAIi8d3qvYrRVVO+WRHhwcb8h6rqV3Y5JqKbZh2T+09V3K5844PsY+r4Z9D5rrqUG03mhvkTTw8XRVHD1jq9M+QXt0fSNptPxPDQHTuMjsd+B6AL0ampBWafq2EZcxnSN2yQW7\/LI8Vbfv24bGFU28Nfj4vnuagIIyDkFcrL03V+22CklIwWs6M97fd+mVqKpqzsbYSU4qS4hERcJBERAFHPlFg1wQMMpq8AuGdgSef\/0D4FWKk9e0jn0NNWszmF5a4jqB6\/Meqsp72fEyYtNU863jqViLOsVwFzs9PU8XE\/hDZP8AONj+PitFQas7GmMlKKkuIREXCQUrKRbf0gNkJAZWwYcccsD8WDzVUpPXcL201JXRnD4ZC3PeM\/RWU97czLitKedftaZ9tCjitNRLuOOpdtj4BUyw9HwmHTdOTnMhc\/B7zj0C3Fyo+8yWGVqMfgERFA0BERAEREAU5rSZxtsFBFvLWTNYB2gH8eFUal7lis11bqbGW08ZkdtyO5+jVOn4r8jNin7PKuNl5lHTQtpqWKBv3YmBg26gML6OAc0tO4IwVyigaErKxL6MJpnXG1uyTTVBIJ6wdv5fVVCl6b+pfpAqIy7DayDiaO04B\/lcqhWVN78zPhdIZeTaCIirNIREQBeC9UX6ws9VTBvE50ZLB\/iG49QF70XU7O5GUVKLi+J+e6Ouxt1YKaYn2esdwtPU14\/HI9F+hKFdZo5b7crK8iNs49opn8P3Xc8D4YJHh8Fs6dvEzpn2a5DhrqfYE\/vGj8sd43V1RKXeR52Em6a7OfOy+PL7ooURFQemFPa2qGRaefE4jime1rQeexzt5KhUpI8ak1SyOPejtZy8kZD35\/L0PapwWt+RmxL7mRby0NLSlS2p07TcIAMQMbgB1j8sLZUrY+Gy6nrbPuIp8SwZ5cs4Hhkf+qqkmu8dw0m6aT3Wj+QREUDQEREAREQBTFD9t+kC4PduIqcNbnq2Z+fmqdTGnj0uqb3KOTXhnjkj6KcdmZq+s6a6\/ZlOiIoGkmL2eg1jZ5xzkBjPdnH8yp1Mas+zudlqBsWVOM9XNvPyVOpy8KM1HSpUXVfQIiKBpCIiAIiICX1c2Shq7feom8Rpn8EgzzB5fzDxXsvllbdoo6+hk4K2IB8MrT98cwPwK0LtQtuVrqKQgEyMPBnqd1Hzws3R9eayyMie77WlPROHWAPu+m3grU3lTXAxShHtXCW0tfmjraNUQ1BFHciKWtZ7rhIOFrj8M8j8PJb7XBzQ5pBBGQR1rx3G0UN1Zw1kAkwMNdkgjuIWKNEUrDwx3CrbD1x8Q38sLncfQmnXhpbN6eZ9r7fJxN+qrQ0zVr9nObuIvHt+S99itEdmtzadpDpD70rx+078EtFiobMwimYTI4YfK85c78PBaS45K1kSp05OXaVN\/oTer6d8UNNeKdv29FKCT2tz1+OPMrdo6uKuo4qqE5ZK0OHw+C7zwx1MEkEreKORpa4doKmLFNLYbvJYatxMMhL6WR22c9Xj8+9dXejbiiLfZVr8JfX+SrREVZqCIiAIiIApnSYBuN6kJBc6p383fiVTKY0v9nfL7D1Co4h8Ped+SnHwszVfe0\/n9CnREUDSTGuvcttJN\/BUjcc+RP0VOpvXQzYGnbadp9CqCB3HTxvzniYDnt2U34EZoe\/n8F9z6Isi76lobQejcTNUHlDHufE9SzBS6g1Ewuqpv1ZSOHuxMGXPHx3z547kUHa70R2ddJ5Yq76fdm1XX22W0ltTVsa8c2N953kFkHWEtU4i12eqqm\/xkYHoD817qDSlpoMOFOJ34+9P73pyWwAAMAYAXbwXC5HLXnu1H4a+r\/BMnVNzp2ulrLBPHC0Zc8E7ei3bfcaW6UwqKSUSMzg9RaewhekgEYIyCpSRg07q2J0LeGjuWGuaAAGvz1eJB8SmktlZnG6lFpyldfQrFK0P9la4qqTlFXs6Ro2Hvbn\/AHBVSmNYRGndQXiNuXUkwD8DctJyPUY\/9khvbmSxOkVUX7Xf8lOi6xyNljbIw5a8BwPaCuyrNIREQBY2pbQbpb+OAYrKc8cLgcHPZn4\/PC2C4NGXEAdpWTWaps9EeF9W2V38MI4\/UbeqlG97oprdnkaqOyZ207dxd7a17z\/WIvcmbjHvdvitVSV3p5LNXx6itreKCXeqjB2cHb58fQ4VNR1kFfSR1VM\/jjkGQfoV2S4rYhQqN+zn4l6rmfdERQNIREQBTFr+w11dIPuiSISY6ifdP8x9VTqXqM0v6QqZ42bVU5DvAH\/aFOHFdDNiNHCXVeuhUIiKBpJrXZAsLAeuoaB5OXF1vVY6ojstnZx1ZYOlk\/7X5\/Hqz2rrr5wFmgb1moB\/0u\/FerSNsFFaW1MozU1X2j3Hng8hn17yrlZQTZ50s8sRKEXa6V2fWy6bpLSBM4dPVuGXzP3368dnzWyiKptt3ZuhCMI5YqyCIi4TCwtYUpqLBJKzPSUz2ytI5jGx9CVurw3sB1irwf8AxpD\/AKSpRdpIqrRzU5Lod7XVe3WumqdsyRNLsHO+N\/VcXajFwtVTSkZMkZ4f8w3HqAvFpIuOmKPi54f5cbsLZR6S0OU\/aUlm4r7GFo+sNXp+JriC6AmI9w5ehC3VC0F8ptOV92p3tfKwz5hYw7cz18hthfKS+aj1ATFQQPiidkfYjHm8\/krXTbd+Bjp4uMKai9ZLSy6FdcL7bbY13tNUzjb+6YeJ\/l1eKmK\/Xk8pcy20vA3Gz5Rl3kNh6rig0FUSnjuFU2MHfgi953iTt81UW+xW22Nb7NSs42\/vXjif59Xguezj1O\/5Vb\/Rev8AfIkY7DqHUDhPXzmJh5dMcbfBg5eiordpC1UIa58XtMrd+OXcf\/PL5rdRRlUk9Ni6nhKcHd6vmzq9jZI3RvaHNcCHA9YUoG1Gj68lrXzWmofyGSYXH\/nj3qtXSWJk0bo5GhzHDBBUYyt8C2rSz2admtmdKaqgrIGz00zJY3cnNOV9lK1GnbhaJX1en6otZzdSPJIO3Vnn4+a0LPqSnuTvZ52+yVjcAwyHHEf8OefdzXXHS8SEK2uSorP0fwNpERQNIUvrEGlmtt0awH2ecBx7Rzx6FVCzNRUntthq4R94M4297d\/opwdpIoxEXKk0t\/waTSHNDhuCMhcrJ0xVis0\/Sv4suYzo3fAt2+WD4rWUWrOxZCSnFSXEltZNNVWWig2LZ5zxDftaPqVUNaGtDWgAAYAHUpi4ZqdfW+EbtghLz8D7x\/2qoU5bJFFHWpUl1t5IIiKs1BEXgrr5bLdkVVZG145sB4neQ3XUm9iMpRirydj3rG1ZUtptO1OecoEbRnG5P4ZWLX67l6MuoKLDOLAln6+4D8VjwUt91XKXvle+Jrt3yHhjafgO3uCujTa1loefWxkZJ06Su2bVLqu32ex01LBxVU7I92tBa1pO5yT39WV2ZBqTUjAamUW6jcPusBDnjuznzIC0rNpWgtAE0mKiobv0rxs0\/wCEdXevLfr77Ziz2d\/T1NQeF0kZ2YOvf59gS6b7q+ZxxnGmu2enCK4ng0hZqGqnrKqSETxRS8EBkGR15yOR24VahoaMNAA7AvJabdHardFSRkngHvEnOXHmfNexVzlmlc14akqVNK2oREUDQEXgrr5bLdkVVZG145sB4neQ3WO7WL6oltptVTVkc3EYDfLP0UlCT4FM8RTg7N6lOuskjImF8j2saOZccAKZMesLiCHPp7cwjk07+YyR6Ls3RjJ3iS53KqrH9+B65KllS3ZDtpy8EH89P5PfV6ps1HkOrGyOH7MQ4\/lspy5zzancx1uskjHggtq3nhOB1Z5epVRSaftNCQ6Chi4huHPHGQe85wtJFKMdkQlRq1Vao0l0\/LPjSxSQ0scUsnSPY0AvxjKL7IqzWlZWC4IBGCMgrlEOkvpVwt9xuVlc7+6l6SIE5Jb\/APnD5qoUtfcWzVVsuQcGsn+xl7uWT4O\/0qlqJm01NLO\/7sTC93cBlWT1s+Zlw7yqVN\/tfpuibtY9t1vcqvmymYIhvyOw\/lcqhS+kDHSWSouVVI2MVErnuc7YYG3zyvnU6wqKup9lsdCah+cGR4JHfgdXxJXZRcpWXAqpVoU6alLeWvmVE00VPGZJ5WRMHNz3AAeJWFWaxoo5TT0EMtfPyaIm+6T38z4BY9Zpm\/XIGpudwgbwjOHvOGeQwFnTMNlgeKa\/xmXl0dI0+8fi4Y7FKNOPO5VWxVZbRyrra5uGjvt1Y+pu9d+rKIDLomHhPD8fzPgsGqrrRQF0NqoxUPAx7VU+9v2tadvMeCUVtv8AqBrQ6aofT5z0lRK4s8M8\/BUVNoGgYwe0VM8r8b8BDRnyKsvGO78jOoVayvTj83v8v4Juio4KqcVt8uLYoyclhdxSv8BktH\/AqNmraKGJlFZbbPUFvusYBwt+p9Fp0+lbLTEEUTZCDnMpLvQ7LVjijhYGRRtY0cmtGAq5VIs10cLVprRpdd36ks6z3+\/PzdqkUdMf+niOSfL6k9y37baaK0w9FSQhufvPO7nd5X3qKqnpI+kqZ44WfxSODR6rBqNXxyyGns9JNXT9RDCGD49vy71DvS0WxdajQeaTvLrqykWZXaitVvDhNWMc8bdHGeN2ezA5eKyG2S+3lgdd7gaaMu4ughG+Ow42+a06DS9poGjgpRM8ftze+fw9EtFbs72lafgjZdfwZv8ASm4XEllns8smdhLLs0d\/V6rt+pL\/AHTBul16CI84afbbsOMeuVTAADAGAFyme2yO\/p3L3km\/RehiUOkrRRcLvZ+ne3fimPFv3cvRbLGMjYGRtDGtGA1owAuyKDk3uXQpwgrRVgiIuEwiIgCIiAIvBcrzQWlnFVzhriMtjG7ndwWI2832+5baKJtJAdvaJ\/p+QKkoN6lE68IPLu+SPRrUU77GRJMxk0b2viaXYLjyOPAlY111ZPXWMxQUjmse1sc07jtxEZLW+vgtii0fTNm9puc77hOdzx54fz\/5ssD2FsGrYrKZQKRtV0zWnbBLQQM9wA+Kvhl23sefiO2vm8ObT\/ppUmiZJqONtxr5Dws+zhjHuxk79fPn2Ddd4tG1NNG5jb7NDC0ZwxpaM9ZPvL1asutRa3W98Ur2RmYulDObmjG3qV4xT3jVjg+pLqC25y2MfeePr3nb4Lic2rt6E5U6EZdnGLcl1f1MKotkVdW+xWeWpr3tOZJnkCMfH8\/LKrLHpKjtjRLUhlVUn9pwy1vcD8\/kteht9LbacQUkLYmDc45k9pPWvhcL5brYwmpqWcY26Nh4nk934qMqkpaRLKeFp0vaVLX9Ee8AAYAwAhIAyTgBS41HeLmMWi0ODDymnOGkdfYPVc\/0Zudyc196urntBz0MGw89h6KOS3iZd+oze7i36LzZ76\/VdooMg1IneBngh97wzy9VnC5alvQabfRtt9O799KQSR4jl3DxWzb7DbbYGmnpWdI3968cT\/NaKZorZDs6s\/HKy5L8k1T6Mp3TdPc6yeulzk8R4Wnv5n1W\/TUlPRx9HTQRwsznDGgL7IouTe5bTo06fhQREUS0IiIAiIgCIiAIiIAiIgPHU2qgrKplVU0scssbeFrnjOBnPLkvWAAMAYAXKLtziik7pHWSRkUbpJHcLGAucewBfm04hqqWqu08rm1lTU5o2R\/e2O+wOw3AzzyOtVWsrhJS2oUkDXmWsd0YLWk+71jvPLHxK+WmdLi3NZWVwD6ojLGHcRfmroWjHMzzsQpVqqpxWi36X\/uhJ1clc25wVF56dz2yNyJG7cIwSAPEbKpOp7rcMC0WaRzXcpZuX0HqqaSKOUASRteAcgOGcHtXdcdRPgTp4ScG7T0fn5ksbHqG5t\/tK7+zsdzigHw5HGB8176DSdpoTxmE1Mmc8c+HenJbSKDnLYvjhqad2rvrqcAADAGAFyiKBoCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgOrmtdjiaDwnIyORXZEXTi3YREXDoREQBERAEREAREQBERAEREAREQBERAEREAREQH\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "STIVEN VALDERRAMA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "14:17",
    "ubicacionGPS": "LatLng(lat: -22.0856214, lng: -70.1891048)",
    "horaLlegada": "10:49",
    "horaDespacho": "14:03",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


14/05/2026 14:17:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[14/05/2026 14:17:04] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP2857', 1, 27729424, 0, NOW(), 
				'14:03', '10:49', '14:17', 3, 'sin contador maquina en error 
hay que cambiar sensor del carro de impresión o cambiar maquina', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778782624.png', '', null, 'REPROGRAMADO','LatLng(lat: -22.0856214, lng: -70.1891048)' )
				
[14/05/2026 14:17:04] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200317

14/05/2026 14:17:04 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200317'                    
				WHERE idllamado = 12579			
				
14/05/2026 14:17:04 - logentry: =========================================
FECHA: 14/05/2026 14:17:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-7sY_Ny9kkxOsEaeUfC3xlD3.tXiGF8GH0PJO2_gp-UHA4drRUmG
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76451015",
    "serieinterna": "TO2390",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "159981",
    "contadorColor": "373361",
    "contadorScanner": "0",
    "detalle": "•Se soluciona atasco de ADF, guía de papel estaba deformaba y atascaba el papel al pasar\n•Continúa atasco en bandeja 2, pendiente revisión\n•Se cambias gomas de ADF y Bandeja 2\n•Se configura bypass para imprimir en A4\n\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12598",
    "observacion": "•Se usa RKIT2122 y RGOM2246\n•Atasco E140 en bandeja 2\n",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADKARIDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABJEAABAwMBAwkEBwUFBgcAAAABAAIDBAURBhIhMRMUIkFRYXGRsYGhwdEVFjJCVZLhIyQzUtM0Q3LS8AdEc4Ky8SU1U1Rik+L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAzEQACAQIDBAkDBAMBAAAAAAAAAQIDERIhMQQyQVETFCJhcYGRodFSscEjM+HwJEJiov\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBcaqsp6GAz1UzIox95x93eq696hpbQzkx+2q3j9nA3ec9RPYFXUWnqu61AuGoXl7uMdMDhrB39nh5qajld6GedZ4sFNXfsvEO1Pcbk8ssVsdKwHHLzbm+XD3+xei2armO3NeIYd+dljc\/BaSKKOGNscUbY2NGGtaMAexfa7jS0RHoHLOcm\/DJexlm3W92J8Tb1HHPSE7JqY95b44+QWnjkZLG2SNwcx4DmuB3EHgVyrKSOuo5aWYZZK0tPd3qj0dNK2mq7bO\/bfQzGMHsG\/d5go7SVxHFSqKDd09DRoiKs1BEVLddU0FtJijdzqpzgQxHO\/sJ6vVdSbyRCdSNNXk7FySAMk4AVHcNXWui2mRyGqmBwGRbxn\/ABcPLKgttd71CHOus5oqVxy2njHSI7\/1z4BXltstBamYpIA12MGR29x9qnaMdcyjHVqbiwrm9fT5KYXrUtYP3SxthB4GZ3Dv34UyzXmsnr5LZc4GRVcbNvMZ3EbsdZ7VeLLWSRtz1bcblE0GnYwRMf2ndvH5T5hdTTTyISU6c49ttt+xqURFUbQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqS+38W8iiom8vcJcBkYGdnPWfkuV8v0rKgWq0t5aul6JIORF+vou1h0+y1g1NS81FdKMySuOcZ4gE+vWrFFJXkZZ1JVJdHT83y\/k+bHp1lE7ntcecXCQ7TpHHOwT1D5q8RFBtt3ZfTpxpxwxCIi4TCy+kCJa281QO6Wp+Lj8VdXmvbbbTUVTnYc1hDO9x3D3qDpCiNHp+Eu+1OTMePXw9wCsWUGZZ9qvFLhd\/gvFXXW90NnhL6mTL\/uxM3uPs6vEqrumoZ6mqNrsTOWqScPm+7H293t4eK72nS8FHLzyufzytccmR+8A9wPqUUUs5B1pTeGl68F8kARX7Ux25Hm3W5\/Bg+29vqfbgK8tlit9qGaaHMvXNJ0nn29XswrFFxzbyWhOFCMXieb5v+5BEVXfL3DZ6bOOUqZN0MQ3lx7T3KKTbsi2c4wjiloRNT3Ywwi2UbtqtquhsgEljTuJ3cCrCzWuO0W2OlZguHSkcB9p3WVWWCyy0ck13uzwa2YFzi4jEQ69\/D5DcuNVqKtutQ+h0\/DtEHD6p\/2Wju\/XyVlrrDExqeF9LU1ei42+S7uF3oLU0GsqGxl32W4JcfYFSHVddXgts1olm34Eso6Pu+ak23SdLTv51cHc+q3Hac+Te0HwPHxPuV8AAMAYAXLxXeWWrVM28K7s36mZ5pq+sGZK6npGni1oBPuB9V4bXqmlHLQ3ZlS9v908bnea1CJjfJHerR+p+rKixXt1zEtPVQ8hW0+6WPGBx6sq3WZt2J9eXKaMgsjhDCQcHOGjB7eB8lplyaSeRLZ5SlDtZ2bXoERFAvCIiAIiIAiIgCIiAIiIAqLUd8fRMbQ0H7S4T4DGtGSwHr8ezzU+73OO022Wrk3kDDG\/zO6gqvS9rlHKXmvBdWVZLgHDfG3Px3eAwpxSSxMzVZylLooavV8l8kvT1jZZ6PMnTq5t80mc7+wf63q3RFFtt3ZdCEYRUY6BERcJhEWdvt9lbUMtFqxJXTHZLgciL9evuXYxcnZFdSpGnG7It1d9Y74y3Md+4UZL6iQOwCeBGccRw9pSruNdf6l9sso5Ckj6E1TjAx2Ds8OvuCraKhlq5H2G2yYpo3g11UPvnhgd24gDr3lbaioqe30rKamjDI2DcO3vPerpNRMFKM6zbeSevwu5czjarTS2ikFPTM3\/AH3kdJ57SpyIqW75s9GMVFWWgRFm7pqWSWo+jLG3nFY4lpkxlrO079x9F2MXLQjUqxpq8iXfdQxWkCCFnOK2TGxCMnHeceiiWm0OpXSXu+yh1Vja6Z6MI+fhwUqx6eZbXOrKqQ1NfJvfK7fs56h81V1kkmrLxzCBz22ylOZ5G7tt2\/h8PaVYraLzZjniupzWfCP5f9yPl8ldrGpdFA59LaY3Yc\/gZe7v8OA61qKKip7fSspqaMMjYNw7e8966U9PFSwMggjEcbBhrW8AuihKV8loaaVHD2pZyfH47giIoF4UC83SO0W2SqkwXDoxtP3ndQU172xxuke4Na0EuJ6gsnDtavu7ah8WLVSEtDXHHKO8PL2eKnGN83oUVqjisMd56fPkWWlbdLSW51VU76mtPKyE8TneM9+9XiIoyd3cspwVOKiuAREXCYREQBERAEREAREQBeOcGtLnEAAZJPUvVntXV8kdEy2UoLqmuOwA0bwzr8+HhlSiruxXVqKnByZCYHar1E57xm20DtnYJ3SO34OO\/wBPFa5QrTb2Wu2Q0bMEsb0nD7zjxPmpq7J3eWhChTcY3lvPX+9wREUC8IvCQBknACy9wvlTeKo2uwEn\/wBaqG4MHcfj5dqlGLkVVKsaaz14LmSL3fJjUC0Wf9rWybnPbwiHXv7fRVVVSizRNs1uJnuteMTT53tb1+A4+zf2K1ZS0Wj7LLU55WocMGRw3yP6h3DK80va5GCW71w2qusO0AW4MYJPr6YVqaSutPuYpRnUmlLef\/lfL5lnZrVDZ7eymjAL8Zkf\/O7rPyU9EVLd3dnoRiopRWgXKoqIaSB09RI2ONgyXOKg3m\/UlmiBlPKTO3MhYekfkFTU1mr9RTtrr450VNnMVI0kbu\/s9fBSUcrvQpqVrPBBXl9vE+am5XHVErqO0NfT0IOJal4xtDgf+3Htwr+1Wiks9KIaZnSP25D9p57\/AJKZFDHBE2KFjY42DDWtGAAvXvbHG57zhrQST2BHK6stBTo4Xjm7y+3gUOqrhPHDDa6LPOq5wYCCQWtzvOfd4KztNshtFvZSwjhve7+Z3WVQ6aifd7xV6gqGkN2jHTtP3R+gwPaVq12eSwkaH6knWfHTw\/kIiKs1BeOcGtLnEAAZJPUjnBrS5xAAGST1LJVtbVaqrXW22uMdBGf29Rj7Xd8h1+ClGNymrVVNc29EK2tqdVVxtttcY6CM\/vFQPvDsHwHX4LT0VHBQUkdLTM2I4xgD4lfNBQU9tpGUtKzYjb5uPae0qSuylfJaHKVJxeOecn\/bIIucs8MDS6aVkYHW9wCr59SWan+3cYT\/AMMl\/wD05UUm9CyU4R3nYtEWdl1xZ4z0OXl3fcj+ZC5fX61f+3rPyN\/zKXRz5FL2qgv9kadFnotb2aQnadPFj+ePj5ZVvRXOhuIPNKqOYt4hp3j2cVxxktUWQrU55RkmSkRFEtCIiAIiIAsrY+UvWpau8v8A4FPmGDr8vZkn\/ErDVdwfQ2V7YT+2qDyTAOO\/jj2eqk2K2\/RVogpTvkA2pDn7x3n5exWLKN+Zln+pWUeEc348PksURFWaguc9RDSwumnkbHG0ZLnHACgXm\/UlmiBlPKTO3MhYekfkFTU9lr9RSsrb3I6KnyTHSNyCB39nr4Kajld6GepWs8EFeX28T5qK6t1bO6itu3T29pxNUOGC\/u\/TzwtHbrbS2qlFNSR7LM5JO8uPaSu8FPDSwthgjbHG0YDWjAChX25i02iaqBHKY2Ygetx4eOOPsRvF2UcjBU06lR3fP4KSqH1n1K2mbvoLfvkIwQ92eHHrxj2FaxU2l7c632dnK75pzyshPHJ4b8nKk3W9UVoiL6mUbZGWxN3ud4D4rss3hRyjaEHUqZN5v8InucGtLnEAAZJPUs1W6nmrKh1BYIDUz9cxHQaO3f6nd4qPza8arcH1TjQW072xtPSeO\/t9u7uWmoqClt1OKekiEcY7OJ7yetLKOubOYqlbd7MefF+HLxKmzaYiopBW1zzVV7jtOe85DT3dp7\/RXyIoOTbuy+nTjTVooLP6wrpYLYyipwTPXP5JoB3kdePHIHtWgWVaPpXXjnZzDbo8Dpfe8PEn8qlDW\/Iq2lvBgWssvn2NBbKJtutsFG055JmCe08SfPKlIig3c0RSikkFznnipoXzTyNjjYMuc44AXKvuFLbaY1FXKI2Dhni49gHWVi624m9zNnu1RzK2NO1FTje+X2Df7TuHV1qcYORnr7RGnktf7qTpKm46uqHQ0gNNamOxJIdxk7v081oomW6x0LYg+Kmhb1vcG7R7STxKz7LtdblC2m09bTS0rRhs8oAAHd1eWSpNPo+OaRtReKyaun6wXEM8O308FOSWjyRnpOTeKCxN8XkvLuPKjWDJZXU9nopa6UDc4NIb444+i+Po3U916dbcGUEbsfsoM7Q8vmVoqelp6SPk6aCOFn8sbQ0e5dlHGluov6CU\/wByV+5ZL5M1Foa2Ah1RNUTvwNrLg0HyGferCDTNlp8bFvidjrky\/wBcq1Rcc5PiTjs9KOkUcoqaCAAQwRxgcNhgC6oigXJW0OUtLTz\/AMaCOT\/GwH1WW1JY6K2UwulBt0s8cjQGxk7Lsns6j5DctNW11Nb6d09VM2Ng6zxPcB1rMRMqdYXKKpnhdBbKZ2WMcP4p6\/Hh7Arad1nwMm04JLAleT07u81NLK6ekhmeMOkja4jGMEjKLsiqNa0CIiHQiKPX1bKGgnqn7xEwux29yanG0ldmdnYL3rZsLjmmtrNpzSNxf\/3I\/KtUs7oyme22S182TNWymQkjiM\/PJ9quLhcqS10xnq5QxvUOtx7AOtWT1wrgZqFlB1JZXz+PYkucGtLnEAAZJPUs1W6kqK2oNBp+Hl5fv1BHQYO0fM9nWowF11c8bYfQWrjgHpS9nj6eK0tBbqW2Uwp6SIRs4ntce0nrSyjrqcxTrbmUefF+HyVln0zFQzc9rJTV1xOTI45DT3Z6+9XqIoNtu7NFOnGmrRQWT1G5tx1HQWxzmiCH9tOXDAA47ye4e9aK4XGltdMairlDGDgOtx7AO1Yu22qXVlzqrlPIYaZ0my5rc7TgAMNzw3AD5KymrdpmTa53tSjm29O4tqrUVbdKl9Dp+HbxufVP+y3w\/XyUu16Xp6Wbnlc81tY7BMkm8NPcD6n3K1oqKmt9M2npYhHG3qHWe09pUhRc+ES2NC7xVXd+y8AiIoGkIiIDlUzspaWWof8AYiYXu8AMrP6Khe6gqbhL\/ErJi4nfvA\/UuXfWdXzbT0jA4B07mxj1PuCs7ZScxtlNSnjFGGu8cb\/erNIeJlfb2hf8r3ZLVRe9RUdmiIc4S1JHRhB3+J7AvjUE94DoaS0wb58h8+P4fwHiudo0tT0Mgq6x5rK0nLpHnIB7Rnr7yiSSvI7UnUlJwprzen8maFqv2qanndSBFGfsuky1oHY0cf8AXFaS2aPt9C4S1BNbN\/NKOiP+X55V+iSqSeSyIU9jpxeKWb5s8AAGAMAL1EVZsCIiAIvHODWlziAAMknqVDcdX0FK7kaMGuqDua2He3Pj1+zK6ouWhXUqwpq8nYv1QXXVVPSyc0t7ee1jjstZHvaD3kcfAe5RG0Go760m4VQt9M7+5jb0iO\/r8z7FdWyyUFojDaWEbeMGV297vb8lO0Y65lOOrV3FhXN6+S+SnotNVNxnbX6gmMz+LKcHos7jj0C0zWtYwMY0Na0YAAwAF9Ioyk5altOlGmsvXiERFEtCIiALN62qHC2Q0Me+SrmDQM8QN\/rsrQTzw00RlnlZFG3i55wAsNdJ5NV6jhgtjyGU7N0pyAMHJd29gCsprO\/Ix7ZO1PAtXlYuqzUFNaIYbXbo+eVbGtjZGze0YGN\/f3L4t+mZaqf6Qv8AJzmocN0Oegzy3HwG7xVpaLFQ2aLFPHtSkdKV+9x+Q7lZI5W3TsaLnZ1fJcF8ngAAwBgBeoirNYREQH57eqxtZc6+aulEUlI3k6emO\/aO8A5G7dnP6blfabuNqt9ipoJK+nbIRtvBkGQTvx6BRNcilzRRvbEyWWTpy7I2msHfxxv9yuPqrY\/w9n5nfNaJOLgrnl06dRV5ONm1z78zt9P2j8Spv\/sC9bfrQ44FypvbKAuH1Vsf4ez8zvmvDpSxuGDQN9j3D4qrsd5r\/wAn\/n3J7LlQSfYrad27O6Vp+KkqgfoqyubgQyMPaJT8VHGhqRn8GvrI8cOkN3kAu2hzGOutYJ+f8GnRZj6p10X9m1DVxj+U5+DggsupW7234Ejhlu70XMMeY6aotab9UeajzW6ktFu4tD+We0cSAfk0rULAiC\/TascwVUEtfSQg7bgA0NIG4dEfz9nWrum+txqYuXNIItsbfD7Od6nKOSVyijW7UpYXm+XLI0aIipPQCL5e9kbC+RwY1oyXOOAFU1mqrNRkh1WJXj7sQ2\/eN3vXUm9CE6kIZydi4RZc6uqqwhtqs1RPtbg+QYAPfjd2dafR2p7tvra9lBE7B5OD7Q7t3zKnga1yKesxl+2nL+82XtZdaC3\/ANrq4oj\/ACl3S8uKo5dYPqpORs1umq35xtvbhv8ArxwpFHo200ztuVj6p\/bM7I49gV3DDFTxiOCJkTBwaxoAHsCXgu85avPVqK7s2Zhmn7veZOVvtaYos7qaEj4bvVaCgtdDbWbNJTMi3YLgOk7xPEqWii5tllOhCDvq+b1CIiiXBERAEREAVVedQUdmZsyHlahwyyBp3nx7Aot9v09NO222uIz18oyMDIYPnuX1ZtNx0UnPq53Oa952nSOOQw93zViikryM06spywUvN8F8sgU9kuOoJW1l9e6KEEujpW5aR49nqmjYIpK2518LAyEyclE1owA3j6bK0F2qeZ2mqqASDHE4tx243e9QNH0\/N9OU5PGUukPtO73AKWJuLKVRjGtFLN5tv2LtFGnuVDTEiesgiI4h8gB8lVVWs7PBkRyyVL842YmHf7TgKtRb0RqnWpw3pJF8vCQBknACzDb3qG6DFttIp43f31Qeo9YzjPkV8jS1yuLg69XZ8jM5MMXD4AeSlgtvMq6w5ftxb9l7lrV6ms9H\/ErWPd1CLp58tyq36kutzbsWW1SgO4TzDdjt7PeVbUWnbVQD9jRsLsYLn9InzVkAAMAYAS8VojuCtPelbw+WYWjt1S7WlPFdZW1cojMsmR0QcHAHgcdS3ay9rzPru6THhHEGAH\/lHwPmtQlR3aIbJFRjK3NhFxnqqelZt1E8cTe17gFVVGrrLT5\/ejKRndGwnPt4e9QUW9EaJ1YQ3mkXaLLnWZqB\/wCHWirqT\/hxj8ue\/wAkFx1ZV74LVDTNPXKd48z8FPo5cSrrVN7t34JmoXOWaKBu3NKyNva9wA96zYsmpK0\/v175Bp+7ADw9myukeiLftbdVUVNS8\/aLn4B+PvTDFasdLVluw9Xb5K633i3UuqLrXVNSwMd0I3NBdtDI4Yz2BWMmuLbtbFPBU1DurZYAD78+5QdHWyhqOfSy0scoZPsxmRu0GgZ4Z8Vr44YoW7MUbI29jWgBSm4p6GfZ41pU7qSSd3pfiZo6ivtUP3KwSM7HTZx8PVeCm1hXECaqgoWHc4MwT7MZ9VqUUcaWiNHQN702\/b7GZboxk7xJc7lVVj\/HA9+SrWjsFqocchQxBw+84bTvMqxRRc5PiThs9KGaieAADAGAF6iKJcEREAREQBERAEREAREQFNdtNU1zqhVtnlp6kAASRu7AfmoP1Qqvx+s9\/wDmWnRTU5LIzy2alJ3aMFqOyVFqtokfeKmo5SQRiJ2cO4nt7lZw6LdyTI57tVGIAZiYcAdw3ke5fWqgaq8WahacbU227uGR+q1Cm5yUUZqez0pVZ5ZKy1ZQ0+jLLBguhknIOcySH0GArOltlBRAc2pIYiOtrBnz49SlrnPUQ00RlnlZEwcXPdgKtyk+JsjSpQzSSOiLOVGsqZ0nI2ylnr5c4Gw0hvpn3LiaPVN3\/tVTHbYTnoxHLvcd\/tK7gfHIre0xeUFi8PnQ0dRV01I0uqKiOFoGcveB6qmqdaWeA7MT5alx6omdftwvim0VbWP5WrfNWSHe4yPwCe3dv96uKW20NCBzWkhiIGNprBnz4ld7C7x\/kS5R93+DEWe4Xia6XGptVCyR1S\/L+U4R7zjfkb96ufojU1wwa27tpmHiyDiO7dj1K90bvlurnfbNT0vf+q06lOdpZIz7NQx005SfHK9lr3Gcg0TbWvMlXLPVyO+0XvwCe3dv96tqaz22kA5ChgYRwdsAnzO9TUVbnJ6s1woUobsUeAADAGAF6iKJcF4SAMk4AXq5z\/wJP8J9EDM5oJuLHMcYzUu39vRatOs3oX\/yB3\/Hd6BaRTqb7M2yfsR8AiIoGkIiIAiIgCIiAIiIAi+JJY4WF8sjWNHFzjgKHT3y2VVbzOnrGSzYJAZkg+3h712zZFzinZsnoiLhIIiIAiIgMvMBWf7QoWkZFJT5IG\/BwTv\/ADD3K+r7jSW2DlqyZsTeAzxce4daxUd6kg1FdKilh5ernfyFO3jkZxnww0K7odMOqajn99lNVUO3iEnoR93f6eKvlFK2I86jVk8Spq7bfgjgdRXa8y8nYqHYiBwaiYbvkPeusGkOcTmpvdbJWyH7gJDR7ePlhaRjGRsDI2hjWjAa0YAX0oY7buRetnUs6rxfb0ONLR01FFyVLAyFnYxuMrsiKs0pJKyCIiHTMaR3XC9NO4ip3js3uWnWY00dnUN+ZxzOHZ4fed81p1OpvGbZf2l5\/dhERQNIREQBeOaHNLTvBGCvUQGY0G4\/QszDxZUO3Y4dFv6rTrK6QljpDdKeaVsYhqTnbcBjiPgryS92qI4fcaUHs5VpVlRNydjJs04xoxuycip5dV2SIHNc1x7GMcfgocmubW12zFFUzHq2WAA+ZyuKEnwLHtNGOskaRFlxqy4VABpNP1MgP3jnGPY1BUaxqyQylpqNv8zsH4n0XejfEj1qD3U34JmoXzJIyJhfI9rGjiXHACzP0BqGqOay\/ujB3EQA4x7NlfceiKJzw+sq6qpd17T8A\/H3phitWOlqvdh6tfyWVRqSzUxxJcIif\/gS\/wD6cqvl1xamHZhZUTu6tiPHqVOg0zZafGxb4nY65Mv9cqxip4IBiGGOMdjGgeiXghbaHq0vK5mvrJe6zDaCwSNJP25idnh4Ae9Po7VdeP3m5x0bCT0IvtD2j5rUomO2iOdXct+bft9jMxaIpHOD6+tqat\/WS7APqfermhs9vtoHNKWONwGNvGXeZ3qaii5yerLIUKUHeMQiIolwREQBfL3iONz3cGgkr6UK8ScjZq2QHBbA8jx2ThdWbIydotmPsGn5brRG5x10tLViZwa9uTkYHeD1kcVbC16shBEN6geCf7xufVpUzR8Qj01THGC8vcfzEegCu1bObxNGKhs0HSi802uDZmOY6z\/FqP8AIP6acx1n+LUf5B\/TWnRQx9yLurL6perMxzHWf4tR\/kH9NOY6z\/FqP8g\/prTomPuQ6svql6szHMdZ\/i1H+Qf005jrP8Wo\/wAg\/prTomPuQ6svql6swFDTagGoq2CnroI63Z2ppHNGy8buHR7x1BXHMdZ\/i1H+Qf00d+6\/7RG4\/wB7pt\/sB\/yLTqc56ZGehQTUlieTfFmY5jrP8Wo\/yD+mnMdZ\/i1H+Qf01p0UMfcjR1ZfVL1ZmOY6z\/FqP8g\/pp9F6sO83qAE8cN\/\/K06JjfJDq0fqfqzMfQGoH\/b1C9uOGyD8wn1QqZN1Tf6yUH7Q37\/ADcVp0TpJDqtLjd+b+TNRaFtTHbUslTMc5O08AHyGVLZpGxs\/wBx2j2ukcfirpEc5PiSWzUVpFFfHYbTEQWW6myOBMYPqpkcMUIAiiYwAYAa0BdEUW29S1QjHRBERcJBERAEREAREQBERAEREAREQBVGqpOS01WO7Whvm4D4q3VJq2GpqLDJBSwSTPe9uWsGTgb8+5ShvIpr36KVuTJVgj5KwULc8YGu8xn4qxXGkg5tRwU+79lG1m7uGF2XG7snBYYpBERcJhERAEREBmNRfu2pbLWdTnmJx7sj\/MVp1m9cwl9kjnaOlBO12ewEEeuFf00zamlinactlYHjwIyrJZxTM1PKtOPg\/wAfg6oiKs0hERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAV99pueWOsh2S4mIloHWRvHvAXLTRl+r9I2eN8b2NLS14wdxIHuVqilfKxX0f6mPusERFEsCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/\/Z",
    "razonSocial": "FERROVIAL ENERGIA CONSTRUCCION SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOHANN GUERRERO",
    "correoContacto": "jguerrero@dsprint.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "ATASCO DE PAPEL",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "14:17",
    "ubicacionGPS": "LatLng(lat: -24.9396506, lng: -69.9301389)",
    "horaLlegada": "13:28",
    "horaDespacho": "13:11",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 14/05/2026 14:17:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-7sY_Ny9kkxOsEaeUfC3xlD3.tXiGF8GH0PJO2_gp-UHA4drRUmG
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76451015",
    "serieinterna": "TO2390",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "159981",
    "contadorColor": "373361",
    "contadorScanner": "0",
    "detalle": "•Se soluciona atasco de ADF, guía de papel estaba deformaba y atascaba el papel al pasar\n•Continúa atasco en bandeja 2, pendiente revisión\n•Se cambias gomas de ADF y Bandeja 2\n•Se configura bypass para imprimir en A4\n\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12598",
    "observacion": "•Se usa RKIT2122 y RGOM2246\n•Atasco E140 en bandeja 2\n",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADKARIDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABJEAABAwMBAwkEBwUFBgcAAAABAAIDBAURBhIhMRMUIkFRYXGRsYGhwdEVFjJCVZLhIyQzUtM0Q3LS8AdEc4Ky8SU1U1Rik+L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAzEQACAQIDBAkDBAMBAAAAAAAAAQIDERIhMQQyQVETFCJhcYGRodFSscEjM+HwJEJiov\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBcaqsp6GAz1UzIox95x93eq696hpbQzkx+2q3j9nA3ec9RPYFXUWnqu61AuGoXl7uMdMDhrB39nh5qajld6GedZ4sFNXfsvEO1Pcbk8ssVsdKwHHLzbm+XD3+xei2armO3NeIYd+dljc\/BaSKKOGNscUbY2NGGtaMAexfa7jS0RHoHLOcm\/DJexlm3W92J8Tb1HHPSE7JqY95b44+QWnjkZLG2SNwcx4DmuB3EHgVyrKSOuo5aWYZZK0tPd3qj0dNK2mq7bO\/bfQzGMHsG\/d5go7SVxHFSqKDd09DRoiKs1BEVLddU0FtJijdzqpzgQxHO\/sJ6vVdSbyRCdSNNXk7FySAMk4AVHcNXWui2mRyGqmBwGRbxn\/ABcPLKgttd71CHOus5oqVxy2njHSI7\/1z4BXltstBamYpIA12MGR29x9qnaMdcyjHVqbiwrm9fT5KYXrUtYP3SxthB4GZ3Dv34UyzXmsnr5LZc4GRVcbNvMZ3EbsdZ7VeLLWSRtz1bcblE0GnYwRMf2ndvH5T5hdTTTyISU6c49ttt+xqURFUbQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqS+38W8iiom8vcJcBkYGdnPWfkuV8v0rKgWq0t5aul6JIORF+vou1h0+y1g1NS81FdKMySuOcZ4gE+vWrFFJXkZZ1JVJdHT83y\/k+bHp1lE7ntcecXCQ7TpHHOwT1D5q8RFBtt3ZfTpxpxwxCIi4TCy+kCJa281QO6Wp+Lj8VdXmvbbbTUVTnYc1hDO9x3D3qDpCiNHp+Eu+1OTMePXw9wCsWUGZZ9qvFLhd\/gvFXXW90NnhL6mTL\/uxM3uPs6vEqrumoZ6mqNrsTOWqScPm+7H293t4eK72nS8FHLzyufzytccmR+8A9wPqUUUs5B1pTeGl68F8kARX7Ux25Hm3W5\/Bg+29vqfbgK8tlit9qGaaHMvXNJ0nn29XswrFFxzbyWhOFCMXieb5v+5BEVXfL3DZ6bOOUqZN0MQ3lx7T3KKTbsi2c4wjiloRNT3Ywwi2UbtqtquhsgEljTuJ3cCrCzWuO0W2OlZguHSkcB9p3WVWWCyy0ck13uzwa2YFzi4jEQ69\/D5DcuNVqKtutQ+h0\/DtEHD6p\/2Wju\/XyVlrrDExqeF9LU1ei42+S7uF3oLU0GsqGxl32W4JcfYFSHVddXgts1olm34Eso6Pu+ak23SdLTv51cHc+q3Hac+Te0HwPHxPuV8AAMAYAXLxXeWWrVM28K7s36mZ5pq+sGZK6npGni1oBPuB9V4bXqmlHLQ3ZlS9v908bnea1CJjfJHerR+p+rKixXt1zEtPVQ8hW0+6WPGBx6sq3WZt2J9eXKaMgsjhDCQcHOGjB7eB8lplyaSeRLZ5SlDtZ2bXoERFAvCIiAIiIAiIgCIiAIiIAqLUd8fRMbQ0H7S4T4DGtGSwHr8ezzU+73OO022Wrk3kDDG\/zO6gqvS9rlHKXmvBdWVZLgHDfG3Px3eAwpxSSxMzVZylLooavV8l8kvT1jZZ6PMnTq5t80mc7+wf63q3RFFtt3ZdCEYRUY6BERcJhEWdvt9lbUMtFqxJXTHZLgciL9evuXYxcnZFdSpGnG7It1d9Y74y3Md+4UZL6iQOwCeBGccRw9pSruNdf6l9sso5Ckj6E1TjAx2Ds8OvuCraKhlq5H2G2yYpo3g11UPvnhgd24gDr3lbaioqe30rKamjDI2DcO3vPerpNRMFKM6zbeSevwu5czjarTS2ikFPTM3\/AH3kdJ57SpyIqW75s9GMVFWWgRFm7pqWSWo+jLG3nFY4lpkxlrO079x9F2MXLQjUqxpq8iXfdQxWkCCFnOK2TGxCMnHeceiiWm0OpXSXu+yh1Vja6Z6MI+fhwUqx6eZbXOrKqQ1NfJvfK7fs56h81V1kkmrLxzCBz22ylOZ5G7tt2\/h8PaVYraLzZjniupzWfCP5f9yPl8ldrGpdFA59LaY3Yc\/gZe7v8OA61qKKip7fSspqaMMjYNw7e8966U9PFSwMggjEcbBhrW8AuihKV8loaaVHD2pZyfH47giIoF4UC83SO0W2SqkwXDoxtP3ndQU172xxuke4Na0EuJ6gsnDtavu7ah8WLVSEtDXHHKO8PL2eKnGN83oUVqjisMd56fPkWWlbdLSW51VU76mtPKyE8TneM9+9XiIoyd3cspwVOKiuAREXCYREQBERAEREAREQBeOcGtLnEAAZJPUvVntXV8kdEy2UoLqmuOwA0bwzr8+HhlSiruxXVqKnByZCYHar1E57xm20DtnYJ3SO34OO\/wBPFa5QrTb2Wu2Q0bMEsb0nD7zjxPmpq7J3eWhChTcY3lvPX+9wREUC8IvCQBknACy9wvlTeKo2uwEn\/wBaqG4MHcfj5dqlGLkVVKsaaz14LmSL3fJjUC0Wf9rWybnPbwiHXv7fRVVVSizRNs1uJnuteMTT53tb1+A4+zf2K1ZS0Wj7LLU55WocMGRw3yP6h3DK80va5GCW71w2qusO0AW4MYJPr6YVqaSutPuYpRnUmlLef\/lfL5lnZrVDZ7eymjAL8Zkf\/O7rPyU9EVLd3dnoRiopRWgXKoqIaSB09RI2ONgyXOKg3m\/UlmiBlPKTO3MhYekfkFTU1mr9RTtrr450VNnMVI0kbu\/s9fBSUcrvQpqVrPBBXl9vE+am5XHVErqO0NfT0IOJal4xtDgf+3Htwr+1Wiks9KIaZnSP25D9p57\/AJKZFDHBE2KFjY42DDWtGAAvXvbHG57zhrQST2BHK6stBTo4Xjm7y+3gUOqrhPHDDa6LPOq5wYCCQWtzvOfd4KztNshtFvZSwjhve7+Z3WVQ6aifd7xV6gqGkN2jHTtP3R+gwPaVq12eSwkaH6knWfHTw\/kIiKs1BeOcGtLnEAAZJPUjnBrS5xAAGST1LJVtbVaqrXW22uMdBGf29Rj7Xd8h1+ClGNymrVVNc29EK2tqdVVxtttcY6CM\/vFQPvDsHwHX4LT0VHBQUkdLTM2I4xgD4lfNBQU9tpGUtKzYjb5uPae0qSuylfJaHKVJxeOecn\/bIIucs8MDS6aVkYHW9wCr59SWan+3cYT\/AMMl\/wD05UUm9CyU4R3nYtEWdl1xZ4z0OXl3fcj+ZC5fX61f+3rPyN\/zKXRz5FL2qgv9kadFnotb2aQnadPFj+ePj5ZVvRXOhuIPNKqOYt4hp3j2cVxxktUWQrU55RkmSkRFEtCIiAIiIAsrY+UvWpau8v8A4FPmGDr8vZkn\/ErDVdwfQ2V7YT+2qDyTAOO\/jj2eqk2K2\/RVogpTvkA2pDn7x3n5exWLKN+Zln+pWUeEc348PksURFWaguc9RDSwumnkbHG0ZLnHACgXm\/UlmiBlPKTO3MhYekfkFTU9lr9RSsrb3I6KnyTHSNyCB39nr4Kajld6GepWs8EFeX28T5qK6t1bO6itu3T29pxNUOGC\/u\/TzwtHbrbS2qlFNSR7LM5JO8uPaSu8FPDSwthgjbHG0YDWjAChX25i02iaqBHKY2Ygetx4eOOPsRvF2UcjBU06lR3fP4KSqH1n1K2mbvoLfvkIwQ92eHHrxj2FaxU2l7c632dnK75pzyshPHJ4b8nKk3W9UVoiL6mUbZGWxN3ud4D4rss3hRyjaEHUqZN5v8InucGtLnEAAZJPUs1W6nmrKh1BYIDUz9cxHQaO3f6nd4qPza8arcH1TjQW072xtPSeO\/t9u7uWmoqClt1OKekiEcY7OJ7yetLKOubOYqlbd7MefF+HLxKmzaYiopBW1zzVV7jtOe85DT3dp7\/RXyIoOTbuy+nTjTVooLP6wrpYLYyipwTPXP5JoB3kdePHIHtWgWVaPpXXjnZzDbo8Dpfe8PEn8qlDW\/Iq2lvBgWssvn2NBbKJtutsFG055JmCe08SfPKlIig3c0RSikkFznnipoXzTyNjjYMuc44AXKvuFLbaY1FXKI2Dhni49gHWVi624m9zNnu1RzK2NO1FTje+X2Df7TuHV1qcYORnr7RGnktf7qTpKm46uqHQ0gNNamOxJIdxk7v081oomW6x0LYg+Kmhb1vcG7R7STxKz7LtdblC2m09bTS0rRhs8oAAHd1eWSpNPo+OaRtReKyaun6wXEM8O308FOSWjyRnpOTeKCxN8XkvLuPKjWDJZXU9nopa6UDc4NIb444+i+Po3U916dbcGUEbsfsoM7Q8vmVoqelp6SPk6aCOFn8sbQ0e5dlHGluov6CU\/wByV+5ZL5M1Foa2Ah1RNUTvwNrLg0HyGferCDTNlp8bFvidjrky\/wBcq1Rcc5PiTjs9KOkUcoqaCAAQwRxgcNhgC6oigXJW0OUtLTz\/AMaCOT\/GwH1WW1JY6K2UwulBt0s8cjQGxk7Lsns6j5DctNW11Nb6d09VM2Ng6zxPcB1rMRMqdYXKKpnhdBbKZ2WMcP4p6\/Hh7Arad1nwMm04JLAleT07u81NLK6ekhmeMOkja4jGMEjKLsiqNa0CIiHQiKPX1bKGgnqn7xEwux29yanG0ldmdnYL3rZsLjmmtrNpzSNxf\/3I\/KtUs7oyme22S182TNWymQkjiM\/PJ9quLhcqS10xnq5QxvUOtx7AOtWT1wrgZqFlB1JZXz+PYkucGtLnEAAZJPUs1W6kqK2oNBp+Hl5fv1BHQYO0fM9nWowF11c8bYfQWrjgHpS9nj6eK0tBbqW2Uwp6SIRs4ntce0nrSyjrqcxTrbmUefF+HyVln0zFQzc9rJTV1xOTI45DT3Z6+9XqIoNtu7NFOnGmrRQWT1G5tx1HQWxzmiCH9tOXDAA47ye4e9aK4XGltdMairlDGDgOtx7AO1Yu22qXVlzqrlPIYaZ0my5rc7TgAMNzw3AD5KymrdpmTa53tSjm29O4tqrUVbdKl9Dp+HbxufVP+y3w\/XyUu16Xp6Wbnlc81tY7BMkm8NPcD6n3K1oqKmt9M2npYhHG3qHWe09pUhRc+ES2NC7xVXd+y8AiIoGkIiIDlUzspaWWof8AYiYXu8AMrP6Khe6gqbhL\/ErJi4nfvA\/UuXfWdXzbT0jA4B07mxj1PuCs7ZScxtlNSnjFGGu8cb\/erNIeJlfb2hf8r3ZLVRe9RUdmiIc4S1JHRhB3+J7AvjUE94DoaS0wb58h8+P4fwHiudo0tT0Mgq6x5rK0nLpHnIB7Rnr7yiSSvI7UnUlJwprzen8maFqv2qanndSBFGfsuky1oHY0cf8AXFaS2aPt9C4S1BNbN\/NKOiP+X55V+iSqSeSyIU9jpxeKWb5s8AAGAMAL1EVZsCIiAIvHODWlziAAMknqVDcdX0FK7kaMGuqDua2He3Pj1+zK6ouWhXUqwpq8nYv1QXXVVPSyc0t7ee1jjstZHvaD3kcfAe5RG0Go760m4VQt9M7+5jb0iO\/r8z7FdWyyUFojDaWEbeMGV297vb8lO0Y65lOOrV3FhXN6+S+SnotNVNxnbX6gmMz+LKcHos7jj0C0zWtYwMY0Na0YAAwAF9Ioyk5altOlGmsvXiERFEtCIiALN62qHC2Q0Me+SrmDQM8QN\/rsrQTzw00RlnlZFG3i55wAsNdJ5NV6jhgtjyGU7N0pyAMHJd29gCsprO\/Ix7ZO1PAtXlYuqzUFNaIYbXbo+eVbGtjZGze0YGN\/f3L4t+mZaqf6Qv8AJzmocN0Oegzy3HwG7xVpaLFQ2aLFPHtSkdKV+9x+Q7lZI5W3TsaLnZ1fJcF8ngAAwBgBeoirNYREQH57eqxtZc6+aulEUlI3k6emO\/aO8A5G7dnP6blfabuNqt9ipoJK+nbIRtvBkGQTvx6BRNcilzRRvbEyWWTpy7I2msHfxxv9yuPqrY\/w9n5nfNaJOLgrnl06dRV5ONm1z78zt9P2j8Spv\/sC9bfrQ44FypvbKAuH1Vsf4ez8zvmvDpSxuGDQN9j3D4qrsd5r\/wAn\/n3J7LlQSfYrad27O6Vp+KkqgfoqyubgQyMPaJT8VHGhqRn8GvrI8cOkN3kAu2hzGOutYJ+f8GnRZj6p10X9m1DVxj+U5+DggsupW7234Ejhlu70XMMeY6aotab9UeajzW6ktFu4tD+We0cSAfk0rULAiC\/TascwVUEtfSQg7bgA0NIG4dEfz9nWrum+txqYuXNIItsbfD7Od6nKOSVyijW7UpYXm+XLI0aIipPQCL5e9kbC+RwY1oyXOOAFU1mqrNRkh1WJXj7sQ2\/eN3vXUm9CE6kIZydi4RZc6uqqwhtqs1RPtbg+QYAPfjd2dafR2p7tvra9lBE7B5OD7Q7t3zKnga1yKesxl+2nL+82XtZdaC3\/ANrq4oj\/ACl3S8uKo5dYPqpORs1umq35xtvbhv8ArxwpFHo200ztuVj6p\/bM7I49gV3DDFTxiOCJkTBwaxoAHsCXgu85avPVqK7s2Zhmn7veZOVvtaYos7qaEj4bvVaCgtdDbWbNJTMi3YLgOk7xPEqWii5tllOhCDvq+b1CIiiXBERAEREAVVedQUdmZsyHlahwyyBp3nx7Aot9v09NO222uIz18oyMDIYPnuX1ZtNx0UnPq53Oa952nSOOQw93zViikryM06spywUvN8F8sgU9kuOoJW1l9e6KEEujpW5aR49nqmjYIpK2518LAyEyclE1owA3j6bK0F2qeZ2mqqASDHE4tx243e9QNH0\/N9OU5PGUukPtO73AKWJuLKVRjGtFLN5tv2LtFGnuVDTEiesgiI4h8gB8lVVWs7PBkRyyVL842YmHf7TgKtRb0RqnWpw3pJF8vCQBknACzDb3qG6DFttIp43f31Qeo9YzjPkV8jS1yuLg69XZ8jM5MMXD4AeSlgtvMq6w5ftxb9l7lrV6ms9H\/ErWPd1CLp58tyq36kutzbsWW1SgO4TzDdjt7PeVbUWnbVQD9jRsLsYLn9InzVkAAMAYAS8VojuCtPelbw+WYWjt1S7WlPFdZW1cojMsmR0QcHAHgcdS3ay9rzPru6THhHEGAH\/lHwPmtQlR3aIbJFRjK3NhFxnqqelZt1E8cTe17gFVVGrrLT5\/ejKRndGwnPt4e9QUW9EaJ1YQ3mkXaLLnWZqB\/wCHWirqT\/hxj8ue\/wAkFx1ZV74LVDTNPXKd48z8FPo5cSrrVN7t34JmoXOWaKBu3NKyNva9wA96zYsmpK0\/v175Bp+7ADw9myukeiLftbdVUVNS8\/aLn4B+PvTDFasdLVluw9Xb5K633i3UuqLrXVNSwMd0I3NBdtDI4Yz2BWMmuLbtbFPBU1DurZYAD78+5QdHWyhqOfSy0scoZPsxmRu0GgZ4Z8Vr44YoW7MUbI29jWgBSm4p6GfZ41pU7qSSd3pfiZo6ivtUP3KwSM7HTZx8PVeCm1hXECaqgoWHc4MwT7MZ9VqUUcaWiNHQN702\/b7GZboxk7xJc7lVVj\/HA9+SrWjsFqocchQxBw+84bTvMqxRRc5PiThs9KGaieAADAGAF6iKJcEREAREQBERAEREAREQFNdtNU1zqhVtnlp6kAASRu7AfmoP1Qqvx+s9\/wDmWnRTU5LIzy2alJ3aMFqOyVFqtokfeKmo5SQRiJ2cO4nt7lZw6LdyTI57tVGIAZiYcAdw3ke5fWqgaq8WahacbU227uGR+q1Cm5yUUZqez0pVZ5ZKy1ZQ0+jLLBguhknIOcySH0GArOltlBRAc2pIYiOtrBnz49SlrnPUQ00RlnlZEwcXPdgKtyk+JsjSpQzSSOiLOVGsqZ0nI2ylnr5c4Gw0hvpn3LiaPVN3\/tVTHbYTnoxHLvcd\/tK7gfHIre0xeUFi8PnQ0dRV01I0uqKiOFoGcveB6qmqdaWeA7MT5alx6omdftwvim0VbWP5WrfNWSHe4yPwCe3dv96uKW20NCBzWkhiIGNprBnz4ld7C7x\/kS5R93+DEWe4Xia6XGptVCyR1S\/L+U4R7zjfkb96ufojU1wwa27tpmHiyDiO7dj1K90bvlurnfbNT0vf+q06lOdpZIz7NQx005SfHK9lr3Gcg0TbWvMlXLPVyO+0XvwCe3dv96tqaz22kA5ChgYRwdsAnzO9TUVbnJ6s1woUobsUeAADAGAF6iKJcF4SAMk4AXq5z\/wJP8J9EDM5oJuLHMcYzUu39vRatOs3oX\/yB3\/Hd6BaRTqb7M2yfsR8AiIoGkIiIAiIgCIiAIiIAi+JJY4WF8sjWNHFzjgKHT3y2VVbzOnrGSzYJAZkg+3h712zZFzinZsnoiLhIIiIAiIgMvMBWf7QoWkZFJT5IG\/BwTv\/ADD3K+r7jSW2DlqyZsTeAzxce4daxUd6kg1FdKilh5ernfyFO3jkZxnww0K7odMOqajn99lNVUO3iEnoR93f6eKvlFK2I86jVk8Spq7bfgjgdRXa8y8nYqHYiBwaiYbvkPeusGkOcTmpvdbJWyH7gJDR7ePlhaRjGRsDI2hjWjAa0YAX0oY7buRetnUs6rxfb0ONLR01FFyVLAyFnYxuMrsiKs0pJKyCIiHTMaR3XC9NO4ip3js3uWnWY00dnUN+ZxzOHZ4fed81p1OpvGbZf2l5\/dhERQNIREQBeOaHNLTvBGCvUQGY0G4\/QszDxZUO3Y4dFv6rTrK6QljpDdKeaVsYhqTnbcBjiPgryS92qI4fcaUHs5VpVlRNydjJs04xoxuycip5dV2SIHNc1x7GMcfgocmubW12zFFUzHq2WAA+ZyuKEnwLHtNGOskaRFlxqy4VABpNP1MgP3jnGPY1BUaxqyQylpqNv8zsH4n0XejfEj1qD3U34JmoXzJIyJhfI9rGjiXHACzP0BqGqOay\/ujB3EQA4x7NlfceiKJzw+sq6qpd17T8A\/H3phitWOlqvdh6tfyWVRqSzUxxJcIif\/gS\/wD6cqvl1xamHZhZUTu6tiPHqVOg0zZafGxb4nY65Mv9cqxip4IBiGGOMdjGgeiXghbaHq0vK5mvrJe6zDaCwSNJP25idnh4Ae9Po7VdeP3m5x0bCT0IvtD2j5rUomO2iOdXct+bft9jMxaIpHOD6+tqat\/WS7APqfermhs9vtoHNKWONwGNvGXeZ3qaii5yerLIUKUHeMQiIolwREQBfL3iONz3cGgkr6UK8ScjZq2QHBbA8jx2ThdWbIydotmPsGn5brRG5x10tLViZwa9uTkYHeD1kcVbC16shBEN6geCf7xufVpUzR8Qj01THGC8vcfzEegCu1bObxNGKhs0HSi802uDZmOY6z\/FqP8AIP6acx1n+LUf5B\/TWnRQx9yLurL6perMxzHWf4tR\/kH9NOY6z\/FqP8g\/prTomPuQ6svql6szHMdZ\/i1H+Qf005jrP8Wo\/wAg\/prTomPuQ6svql6swFDTagGoq2CnroI63Z2ppHNGy8buHR7x1BXHMdZ\/i1H+Qf00d+6\/7RG4\/wB7pt\/sB\/yLTqc56ZGehQTUlieTfFmY5jrP8Wo\/yD+mnMdZ\/i1H+Qf01p0UMfcjR1ZfVL1ZmOY6z\/FqP8g\/pp9F6sO83qAE8cN\/\/K06JjfJDq0fqfqzMfQGoH\/b1C9uOGyD8wn1QqZN1Tf6yUH7Q37\/ADcVp0TpJDqtLjd+b+TNRaFtTHbUslTMc5O08AHyGVLZpGxs\/wBx2j2ukcfirpEc5PiSWzUVpFFfHYbTEQWW6myOBMYPqpkcMUIAiiYwAYAa0BdEUW29S1QjHRBERcJBERAEREAREQBERAEREAREQBVGqpOS01WO7Whvm4D4q3VJq2GpqLDJBSwSTPe9uWsGTgb8+5ShvIpr36KVuTJVgj5KwULc8YGu8xn4qxXGkg5tRwU+79lG1m7uGF2XG7snBYYpBERcJhERAEREBmNRfu2pbLWdTnmJx7sj\/MVp1m9cwl9kjnaOlBO12ewEEeuFf00zamlinactlYHjwIyrJZxTM1PKtOPg\/wAfg6oiKs0hERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAV99pueWOsh2S4mIloHWRvHvAXLTRl+r9I2eN8b2NLS14wdxIHuVqilfKxX0f6mPusERFEsCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/\/Z",
    "razonSocial": "FERROVIAL ENERGIA CONSTRUCCION SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOHANN GUERRERO",
    "correoContacto": "jguerrero@dsprint.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "ATASCO DE PAPEL",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "14:17",
    "ubicacionGPS": "LatLng(lat: -24.9396506, lng: -69.9301389)",
    "horaLlegada": "13:28",
    "horaDespacho": "13:11",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


14/05/2026 14:17:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl

====revisando rut=====================================
rut:76451015

[14/05/2026 14:17: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('76451015', 'TO2390', 1, 24456550, 159981, NOW(), 
				'13:11', '13:28', '14:17', 4, '•Se soluciona atasco de ADF, guía de papel estaba deformaba y atascaba el papel al pasar
•Continúa atasco en bandeja 2, pendiente revisión
•Se cambias gomas de ADF y Bandeja 2
•Se configura bypass para imprimir en A4

', -1, 
				'', '','1','373361',
				'0',2,'../csj.digital-service.cl/uploads/firmas/firma_0_1778782624.png', '•Se usa RKIT2122 y RGOM2246
•Atasco E140 en bandeja 2
', null, 'REPROGRAMADO','LatLng(lat: -24.9396506, lng: -69.9301389)' )
				
[14/05/2026 14:17:04] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200318

14/05/2026 14:17:04 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200318'                    
				WHERE idllamado = 12598			
				
14/05/2026 14: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 = 12579
                
TO ENVIO: null, jguerrero@dsprint.cl


14/05/2026 14: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 = 12579
                

14/05/2026 14:17:04 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 12579			
				
14/05/2026 14:17:04 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('61980920', 'EP2857', 1, 'APP', 'sin otroTipo definido', -1, 'Sin otrafalla definida', 'TINTAS', '1', 'SI', now(), 'STIVEN VALDERRAMA', '984818954', 'tecnico@dsprint.cl', 12579)
				
14/05/2026 14:17:04 Insertado nuevo llamado creado idllamado: 12600APP
14/05/2026 14:17:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


14/05/2026 14:17:04 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 12598			
				TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


14/05/2026 14:17:04 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('76451015', 'TO2390', 1, 'APP', 'sin otroTipo definido', -2, 'ATASCO DE PAPEL', 'Sin coderror', '1', 'SI', now(), 'JOHANN GUERRERO', '984818954', 'jguerrero@dsprint.cl', 12598)
				
14/05/2026 14:17:04 Insertado nuevo llamado creado idllamado: 12601APP
14/05/2026 14:17:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


14/05/2026 14: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 = 12598
                

14/05/2026 14:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:17:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:17:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:17:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:17:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

[14/05/2026 14:17:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 14:17:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

[14/05/2026 14:17:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 14:17:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 14:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

[14/05/2026 14:17:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 14:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:17:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:17:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:17:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

[14/05/2026 14:17: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;
                

14/05/2026 14:17:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:17:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:17:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:17:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:17:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:17:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

[14/05/2026 14:17: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;
                

14/05/2026 14:17:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12598
            GROUP BY l.idllamado;
            

14/05/2026 14:17:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

[14/05/2026 14:17: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;
                

14/05/2026 14:17:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:17:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:17:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:17:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:17:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:17:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:17:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:17:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:17:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12598
                

14/05/2026 14:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

[14/05/2026 14:17:14] 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;
                

14/05/2026 14:17:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 14:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

[14/05/2026 14:17: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;
                

14/05/2026 14:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14: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 = 12579
                

14/05/2026 14: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 = 12579
                

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12579
                

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12579
                

[14/05/2026 14:17:18] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 14:17:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12579
            GROUP BY l.idllamado;
            

14/05/2026 14:17:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:17:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12579
                

14/05/2026 14:30:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:30:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 14:30: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;
                

[14/05/2026 14:30: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;
                

14/05/2026 14:30:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:30:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

[14/05/2026 14:30: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;
                

14/05/2026 14:30:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:30:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:30:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:30:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:30:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:30:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

[14/05/2026 14:30: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;
                

14/05/2026 14:30:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:30:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:30:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:30:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:30:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:30:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:30:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:30:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:39:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:39:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:39:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

[14/05/2026 14:39: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;
                

[14/05/2026 14:39: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;
                

14/05/2026 14:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

[14/05/2026 14:39: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;
                

14/05/2026 14:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:39:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:39:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

[14/05/2026 14:39: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;
                

14/05/2026 14:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

[14/05/2026 14:39: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;
                

14/05/2026 14:39:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:39:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

[14/05/2026 14:39: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;
                

14/05/2026 14:39:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:39:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:39:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

[14/05/2026 14:39: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;
                

14/05/2026 14:39:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:39:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:39:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:39:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

[14/05/2026 14:39: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;
                

14/05/2026 14:39:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:39:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 14:39: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;
                

14/05/2026 14:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

[14/05/2026 14:39: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;
                

14/05/2026 14:39:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

[14/05/2026 14:39: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;
                

14/05/2026 14:39:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 14:39: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;
                

14/05/2026 14:39:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

[14/05/2026 14:39: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;
                

14/05/2026 14:39:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 14:39: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;
                

[14/05/2026 14:39: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;
                

14/05/2026 14:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:39:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:39:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 14:39: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;
                

14/05/2026 14:39:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:39:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

[14/05/2026 14:40: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;
                

[14/05/2026 14:40: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;
                

14/05/2026 14:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

[14/05/2026 14:40: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;
                

14/05/2026 14:40:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 14:40: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;
                

14/05/2026 14:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

[14/05/2026 14:40: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;
                

14/05/2026 14:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

[14/05/2026 14:40: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;
                

[14/05/2026 14:40: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;
                

14/05/2026 14:40:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 14:40: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;
                

14/05/2026 14:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 14:40: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;
                

14/05/2026 14:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 14:40: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;
                

[14/05/2026 14:40: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;
                

14/05/2026 14:40:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

[14/05/2026 14:40: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;
                

14/05/2026 14:40:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

[14/05/2026 14:40: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;
                

[14/05/2026 14:40: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;
                

14/05/2026 14: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 = 12584
                

14/05/2026 14:40:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 14:40: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;
                

14/05/2026 14:40:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 14:40: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;
                

14/05/2026 14:40:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12584
                

14/05/2026 14:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 14: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;
                

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

[14/05/2026 14: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;
                

[14/05/2026 14: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;
                

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

[14/05/2026 14: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;
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14:40:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 14:40: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;
                

[14/05/2026 14:40: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;
                

14/05/2026 14:40:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 14:40: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;
                

14/05/2026 14:40:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 14:40: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;
                

14/05/2026 14:40:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:41:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14:41:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:41:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:41:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:41:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:41:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:41:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:41:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12584
                

14/05/2026 14:41:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:41:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:42:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:42:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14:42:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:42:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14:42:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:42:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14:43:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14:43:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14: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 = 12584
                

14/05/2026 14:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:43:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:43:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:39 - logentry: =========================================
FECHA: 14/05/2026 14:43:39
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-d9-tAnwuxUCSnTDkhpf8Rfat3RGyu_JofAEP8B-DAFzQQ1T2YHP
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "RE3194",
    "correlativo": "1",
    "ddServicio": "Taller",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Cambio de rodillo de calor toshiba",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12584",
    "observacion": "Cambio de rodillo de calor \nfusor toshiba",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACRAPQDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABBEAABAwMBBQUEBggFBQAAAAABAAIDBAURBhIhMUFhE1GBkaEUInGxFSMywdHwFjNCUoLC4fEHJEOismJjktLi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECBAMHAwQDAAAAAAAAAAECAxESITFBIlGBBBMjYXGhwTLR8BQzseFCYpH\/2gAMAwEAAhEDEQA\/AP7MiIgCIiAIixr9qCK0MbDG3t6yX9XCN\/ifzvXUm3ZEJzjCOKTyNCuuFJbYe1q52xNJwM8SegWENXzVOX26y1VVE0nLhkfDgCvlu0zLVzC4X6U1E7t4gJ91nQ\/gN3xVKxjI2BkbQxrRgNaMAKfDHzKF31TO+Fe5n2i+Ul3a8REsmj+3C7c5q0lKahZ9C3yivULA2N7+zqADjaJB3nrjPkqoEEZByCuSSyaJ0ZybcJ6o+oiKBeEREBhX281NnuFE5zGewSu2ZXY94H+2\/wACtwEEZByCuW6W+K6W6WklG5490\/uu5HzWTpSvmdDNaqw\/5qhdsb+beA+OPlhTsnG62M2KUKuGWktPXkUK85po6eF80zwyNgy5zjuAXopGoMmq79LQCQtttEcyFv8AqO4cfjnHQFcjG5OrUwJJK7eh0v1c6pe5tptlRWhh3ybJDT+evkkOrpIJ2x3a1z0LXnAlIJb47h6ZVDT08VLAyCCMRxsGGtbwC866iguNI+lqWbUbxjqD3jqpXjyK3Tr2vjz5Wy+57Me2SNsjHBzXAFpHML9KWsFZNaLk\/T9wfkA5pZCdxB4Dx5dchVKjKNmW0qiqRvvv6hERRLQiIgCIiAIiIAiIgCIiAIi56+ugt1HJVVDw1jBn4nkB1TU42krs4L\/eXWyKOCmZ2lbUe7CzGd+QM+q8bHp0Ucnt9wf7RcXklzychmeQ69fBcmnKOa51z9RVwAfLlsEeNzW7hkeo8zzVQrJPCsKMtOPevvZabL59QiIqzWZGqKP2zT9UwDLo29o3+HefTK9dPVZrrDSTuOX7Gy45zkt3Z9MrvmjbNC+J32XtLT8Cp3Q8rvoqekkPv087mlvcD\/XKsWcDNLh7QnzX8FKiIqzSEREAUvqGN9nvFNqCBhMe6Oqa3mOAPlu8AqheFZSRV1HLSzDLJWlp6dVKLsymtTxwstdvUz7\/AHRtNp2Wspntf2jWiN2\/B2iO7plfrTltZbbNAwNIkkYJJNob9ojOPDgoqZ1QySn03VtLm09ZxGRlh\/oSfFf0kAAYAwApzWGNjPQn31Rza0Vuu59REVRuMLVtuNXajVQgipoz2sbm8cDiPv8ABd9muLbraoasbnOGHjucNxXaQCMEZBUvpcm3Xq52Z25rX9rEDjh\/Yt8lYs425GWXh1lLaWXXYqURFWagiIgCIiAIiIAiIgCIiAKVuWdQaljtQ30dH9ZPu4nu3jrjj3rZv1zFptM1TkdpjYiB5vPDy4+C49JWw2+0iaYH2irPayE8cfsjy3\/ElWRyWIy1fEmqW2r9OXU3GtDWhrQAAMADkvqIqzUEREAUvYneyauvFFwEh7YDxz\/OqhTEx7H\/ABDpwPd7em3\/APVgO\/8AX0U4aNGavk4S8\/5yKdERQNIREQBERARes3R0N8ttwbHl7SHOH72w4EfNV9NUR1dNFUwu2o5WhzT0KmdVQx1N\/s0ErdqOR5a4d4JC+6XnkttwqtP1TiTE4vgJ5jicfPzVzV4I86nNw7RJPRv3t8lUiIqT0Qpe+M+jtVWy6AYZMexlIHA8Mk\/A\/wC1VCntbw9pYDKOMErX57uX3qdP6rGbtS8JyWqz\/wCFCi8KKoFXQwVI\/wBWNr\/MZXuoGhO6ugiIh0IiIAiIgCIiAIiydSXM2y0vdET7RMeyhA47R5+A9cLqV3YhOahFyexlVLhqLVUdMxwfRW\/3nkO3Of555AeB71VrJ03aRaLSyJwHbSHblPU8B4DHqtZSm87LRFVCDUXKWrzf26BERQNAREQBTF4+q1taJjuDmFmf\/IfzLcuF0o7XD2tXO2Mcm8XO+A5qKud1qb\/erf7FA6kLXH2eWb9o9\/A93VW04tu+xi7XViko3zusupfkgDJOAFwTX20079iW4QB3MB4OPJZH6IS1pD7tdqiodzaw4aPhnPoAu+DStkgbsiha84wTI4uJ8yo2gtWWY68tIper+x0Nv1ofjZuNPv8A+4AuyKaKdu1FKyQd7HArMdpWxuzm3s39znD71k3LTbrNEblZJpIpIPffE520HNH9M7jyXbReSZxzrwV5RTXkVqLjtNwbdLZDWNGz2gOW9xBwfkuxQas7GmMlJJrcmNUfU3qyVR+w2fZPTe3+q+6vppac0t7pR9dRvAf1aTuz0zkfxFemt4DJYhM3caeZr8+nzIWxE6K6WtjntDoqqEFzejhw9VYnZJmKVPHOpDnZr86H7o6uKuo4qqE5ZK0OHTovdTOjp5YWVdnqCNujkIaRzBJzjx\/5KmUJKzsaaNTvKakFmakDDp2uDxkdkfPl6rTWDrKqZBp+WJzgH1Dmsb5gn0CQzkjldpUpN8mdOmdr9HKLbOT2fpk49FqrltcBpbVSQOGHRwsafjgZXUuSzbJUlaEU+QREXCwIiIAiIgCIiA+OcGtLnEAAZJPJSlBnVF+dcZGk2+iOzAx7ftOwOPofJe+oq6ora2PT9vcBLOP8w\/8AcZjOPL8Oa27dQRWyhipId7YxvdgAuPMnCsXCr7syS8aph\/xjr5vl0OpERVmsw4LlUs1dUW2eQugfEHwAhu47s8Bnv8luKZ1YyShqqK+QNy6nf2co\/eaeH3jxCooZmVEEc8ZyyRoc094IyFOSyTRnpSanKEno79Geiy7\/AHhtoodto2qiX3YGbOcuWopYh921zg4EFuZkDPF39z6dUgk3dna83GKUdXkelp0tGXR3C7PfVVbwHlkn2WHuI548l+awCo19QxNHuU8BcR3HDv8A5VJLLHBC+aV4ZGwFznHgApvTDX3K41t+lGO2cYomkcGjH3ADzUlJu8mUTpQi4U4LV3fTmU6IiqNwXwgEYIyCvqICY0YDAbnRA5jp6khu\/PeP5QqdTGisSw3CrG8TVJ3nd1\/mVOp1PqZm7J+zH83OW50orbZU02MmSMgfHG71WXo2qNRp+ONxJfTvdE7PEcx6EDwW8pWxbNt1Zc7buayb62Mbh1wPB3ouxzi0cqcNaEueXyhX5tOt6SsGRDXN7J5wMZ4fPZKpppo6eF80rg1kbS5xPIBY+rqA1tikfGCZaciVmD3cfTPkveikiv8Ap2MyE4ni2XlpIIcNx9QjzimcheFScFvmvn3MuXVFwrnObZbaZGAkGom+wOPwA7+Kw4I71qi5bDqtj20h2hMG\/VtO7hgb849FvN0c+RkcFZdZpqaL7MLRsj544Y9Vv0VFT2+mZT00YZG0eJ6nvKnjjH6ShUK1Z+K2l+cjA+iNVRb4b5G890jd3yKH9M4PexSVON+zuGenJU6KvH5I0\/pltJrqTEWrpKSoFPfLfJRuPCRoJafDu+GVRU9TBVwiammZLGeDmHISopoKuEw1MLJYzxa8ZCm6nS9RbZXVmn6h8cm7NO92Wu38Mk+hz8V3hl5EfGpf7L3\/ALKlFh2fUsVbL7FXM9luDTsuiIIDj0\/D5rcUGmnZmiFSNRXiwiIuEwiIgPIU0AqTUiFgmLdkyBo2iO7PgvVEQ5awREQ6cl1o\/pC11NJzljIbk\/tcvXCzdHVftNgjjcTt07jE4HpvHoQt1TFvItGsayjedmG4DtYiebuOOnF3kFZHOLRmqcFWM+eX29ynUvXxVtk1FNd6ekfVwVMYa9jM7TTu6HuHmVUIoxlYsq08aWdmiUljv2pHmnqaf6NoNr6xpPvvwe\/G\/wAgFS0tNFR0sdNA3ZjiaGtC9kRyvkcp0lBuTd29wiIolwXLc6gUtsqpyf1cTj443LqU9rGrfHa2UMLS6ateI2AcSMjP3DxUoq8kiqtPBTcj96MgMOnIXEYMr3Pwfjj7lvLnoKVtFQQUreEUYb8SBvK6Ek7ts7ShgpxjyQUtqqOW3XCjv1OCexIjlaObd\/zyR5KpXhW0kVfRy0swyyVuDuBx3Hf3HekXZ3I1qfeQaWu3qfs9nU0+Mh8crOPEEEKe0Y90ENdbJXEvpJyMHkDu3eIPmmlq2op5ZrFXAial\/VOPBzPzvHT4L8gew\/4gnG5tbT53nn+Weqna14md1MThVXOz6\/2U6IiqNwREQBERAZt3sVDeYsVEezKB7srNzh+I6LHor3VWOr+jL7ksJ+pqwNxHXp8uaqlzV9vpblTGnq4hIw8M8WnvB5FTjLZ6GepRd8dPKX8+p0NcHNDmkEEZBHNfVKWStmsVxNiuT8xuOaWYncQeA\/PPcqtclGzJ0qqqRvo91yCIiiWhERAEREAWHqm1SV9AKimJbV0hMkZHEjmPz3LcRdTs7kKkFUi4vczbDdm3i1x1O4Sj3ZWjk4cfA8VpKWjaLHrTsoxs01yZnA3AP3\/f\/wAlUqU0k8iuhNyjaWqyYREUC8IiIApSiDr7rCWuJJpbeNiLiMu\/vk+AWjqa8fRtv7KEbdXU\/VxMH2hndtY\/O9e+n7X9E2iKmcB2py+TBzlx\/IHgrFwxvzMs\/EqqGyzfwvk00RFWagiIgJvVFLNS1NLfaRm1JSHEjRxc0n+pHiuW7VkVTcLFd6QGRj5Nh2wCXDePd3c97tyrSARgjIKwotH2yG4irZ2gaHbYhJBZnly4cfNWxkrZmKtQm28Gjt0a3N5ERVG0IiIAiIgCIiAzL9Zor1b3Qu3TMy6J\/c78CufTF1muFHJT1m6spH9nKDxPcT5EeC21LXlv0FqGlvMfu09S7sqkA4GccfIZ\/h6qyPEsJlqru5qqvR+nPoVKL4CCMg5BRVmo+oiIAiIgCIiAmtY00uzQV9PE6SWmnG5jSTg7+XVo81SDeM4x0X1FJu6SK408M5S52CIiiWBc9fXQW6jkqqh4axgz8TyA6pXV9NbqZ1RVSiNjRz4noBzKl4Kau1bWsq61hgtkTj2cPN5H54+A5qcY3zehnq1XHghnJ\/l2dGnaOa6Vz9Q3Bo2pPdp4yNzAOYz+eJVQvjWhrQ1oAAGAByX1clK7J0qapxtvv5sIiKJaEREAXLQXGnuLZnU+3iGV0TtpuPeC6kQ473CIiHQiIgCIiAIiIAuC9W1t1tc1IcbThmMnk4cF3oup2dyMoqUXF6MntMXmGaxwsqZQyWAmJ21zxw9CEW+1jGZ2Ghu0cnAxk96LrabuQpwnGKi3p+cz9IiKJaEREARTtXddQUFbK11pFXTl57F0Oc7Od2cZ+XevMaxkaPrbJWszw3cfQKfdy2Mz7TTTtK66MpkUw3V1W7Gzp+sOeGM7\/wDavjrvqetaW0lmFLkfamO8fDOPkndy3H6qm\/pu+jKZ72RsL5HBjWjJc44AWBV6rjfMaWz0z7hUd7R7jepPP5dV5R6Xra94kvlzkqBxMEZ2WZ+XkAt+ko6ahhENLAyFg5NGM\/HvThXmL1qmnCvf7IwKXTVTX1gr9QTCZ43sp2H3GdD+HmSqVrQ1oa0AADAA5L6i5KTepZTpRp6BERRLQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "BASTIAN",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REPARAR FUSOR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R639\",\"id_control\":\"28683\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "14:43",
    "ubicacionGPS": "LatLng(lat: -23.661816, lng: -70.3999586)",
    "horaLlegada": "14:40",
    "horaDespacho": "12:29",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 14/05/2026 14:43:39
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-d9-tAnwuxUCSnTDkhpf8Rfat3RGyu_JofAEP8B-DAFzQQ1T2YHP
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "RE3194",
    "correlativo": "1",
    "ddServicio": "Taller",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Cambio de rodillo de calor toshiba",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12584",
    "observacion": "Cambio de rodillo de calor \nfusor toshiba",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACRAPQDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABBEAABAwMBBQUEBggFBQAAAAABAAIDBAURBhIhMUFhE1GBkaEUInGxFSMywdHwFjNCUoLC4fEHJEOismJjktLi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECBAMHAwQDAAAAAAAAAAECAxESITFBIlGBBBMjYXGhwTLR8BQzseFCYpH\/2gAMAwEAAhEDEQA\/AP7MiIgCIiAIixr9qCK0MbDG3t6yX9XCN\/ifzvXUm3ZEJzjCOKTyNCuuFJbYe1q52xNJwM8SegWENXzVOX26y1VVE0nLhkfDgCvlu0zLVzC4X6U1E7t4gJ91nQ\/gN3xVKxjI2BkbQxrRgNaMAKfDHzKF31TO+Fe5n2i+Ul3a8REsmj+3C7c5q0lKahZ9C3yivULA2N7+zqADjaJB3nrjPkqoEEZByCuSSyaJ0ZybcJ6o+oiKBeEREBhX281NnuFE5zGewSu2ZXY94H+2\/wACtwEEZByCuW6W+K6W6WklG5490\/uu5HzWTpSvmdDNaqw\/5qhdsb+beA+OPlhTsnG62M2KUKuGWktPXkUK85po6eF80zwyNgy5zjuAXopGoMmq79LQCQtttEcyFv8AqO4cfjnHQFcjG5OrUwJJK7eh0v1c6pe5tptlRWhh3ybJDT+evkkOrpIJ2x3a1z0LXnAlIJb47h6ZVDT08VLAyCCMRxsGGtbwC866iguNI+lqWbUbxjqD3jqpXjyK3Tr2vjz5Wy+57Me2SNsjHBzXAFpHML9KWsFZNaLk\/T9wfkA5pZCdxB4Dx5dchVKjKNmW0qiqRvvv6hERRLQiIgCIiAIiIAiIgCIiAIi56+ugt1HJVVDw1jBn4nkB1TU42krs4L\/eXWyKOCmZ2lbUe7CzGd+QM+q8bHp0Ucnt9wf7RcXklzychmeQ69fBcmnKOa51z9RVwAfLlsEeNzW7hkeo8zzVQrJPCsKMtOPevvZabL59QiIqzWZGqKP2zT9UwDLo29o3+HefTK9dPVZrrDSTuOX7Gy45zkt3Z9MrvmjbNC+J32XtLT8Cp3Q8rvoqekkPv087mlvcD\/XKsWcDNLh7QnzX8FKiIqzSEREAUvqGN9nvFNqCBhMe6Oqa3mOAPlu8AqheFZSRV1HLSzDLJWlp6dVKLsymtTxwstdvUz7\/AHRtNp2Wspntf2jWiN2\/B2iO7plfrTltZbbNAwNIkkYJJNob9ojOPDgoqZ1QySn03VtLm09ZxGRlh\/oSfFf0kAAYAwApzWGNjPQn31Rza0Vuu59REVRuMLVtuNXajVQgipoz2sbm8cDiPv8ABd9muLbraoasbnOGHjucNxXaQCMEZBUvpcm3Xq52Z25rX9rEDjh\/Yt8lYs425GWXh1lLaWXXYqURFWagiIgCIiAIiIAiIgCIiAKVuWdQaljtQ30dH9ZPu4nu3jrjj3rZv1zFptM1TkdpjYiB5vPDy4+C49JWw2+0iaYH2irPayE8cfsjy3\/ElWRyWIy1fEmqW2r9OXU3GtDWhrQAAMADkvqIqzUEREAUvYneyauvFFwEh7YDxz\/OqhTEx7H\/ABDpwPd7em3\/APVgO\/8AX0U4aNGavk4S8\/5yKdERQNIREQBERARes3R0N8ttwbHl7SHOH72w4EfNV9NUR1dNFUwu2o5WhzT0KmdVQx1N\/s0ErdqOR5a4d4JC+6XnkttwqtP1TiTE4vgJ5jicfPzVzV4I86nNw7RJPRv3t8lUiIqT0Qpe+M+jtVWy6AYZMexlIHA8Mk\/A\/wC1VCntbw9pYDKOMErX57uX3qdP6rGbtS8JyWqz\/wCFCi8KKoFXQwVI\/wBWNr\/MZXuoGhO6ugiIh0IiIAiIgCIiAIiydSXM2y0vdET7RMeyhA47R5+A9cLqV3YhOahFyexlVLhqLVUdMxwfRW\/3nkO3Of555AeB71VrJ03aRaLSyJwHbSHblPU8B4DHqtZSm87LRFVCDUXKWrzf26BERQNAREQBTF4+q1taJjuDmFmf\/IfzLcuF0o7XD2tXO2Mcm8XO+A5qKud1qb\/erf7FA6kLXH2eWb9o9\/A93VW04tu+xi7XViko3zusupfkgDJOAFwTX20079iW4QB3MB4OPJZH6IS1pD7tdqiodzaw4aPhnPoAu+DStkgbsiha84wTI4uJ8yo2gtWWY68tIper+x0Nv1ofjZuNPv8A+4AuyKaKdu1FKyQd7HArMdpWxuzm3s39znD71k3LTbrNEblZJpIpIPffE520HNH9M7jyXbReSZxzrwV5RTXkVqLjtNwbdLZDWNGz2gOW9xBwfkuxQas7GmMlJJrcmNUfU3qyVR+w2fZPTe3+q+6vppac0t7pR9dRvAf1aTuz0zkfxFemt4DJYhM3caeZr8+nzIWxE6K6WtjntDoqqEFzejhw9VYnZJmKVPHOpDnZr86H7o6uKuo4qqE5ZK0OHTovdTOjp5YWVdnqCNujkIaRzBJzjx\/5KmUJKzsaaNTvKakFmakDDp2uDxkdkfPl6rTWDrKqZBp+WJzgH1Dmsb5gn0CQzkjldpUpN8mdOmdr9HKLbOT2fpk49FqrltcBpbVSQOGHRwsafjgZXUuSzbJUlaEU+QREXCwIiIAiIgCIiA+OcGtLnEAAZJPJSlBnVF+dcZGk2+iOzAx7ftOwOPofJe+oq6ora2PT9vcBLOP8w\/8AcZjOPL8Oa27dQRWyhipId7YxvdgAuPMnCsXCr7syS8aph\/xjr5vl0OpERVmsw4LlUs1dUW2eQugfEHwAhu47s8Bnv8luKZ1YyShqqK+QNy6nf2co\/eaeH3jxCooZmVEEc8ZyyRoc094IyFOSyTRnpSanKEno79Geiy7\/AHhtoodto2qiX3YGbOcuWopYh921zg4EFuZkDPF39z6dUgk3dna83GKUdXkelp0tGXR3C7PfVVbwHlkn2WHuI548l+awCo19QxNHuU8BcR3HDv8A5VJLLHBC+aV4ZGwFznHgApvTDX3K41t+lGO2cYomkcGjH3ADzUlJu8mUTpQi4U4LV3fTmU6IiqNwXwgEYIyCvqICY0YDAbnRA5jp6khu\/PeP5QqdTGisSw3CrG8TVJ3nd1\/mVOp1PqZm7J+zH83OW50orbZU02MmSMgfHG71WXo2qNRp+ONxJfTvdE7PEcx6EDwW8pWxbNt1Zc7buayb62Mbh1wPB3ouxzi0cqcNaEueXyhX5tOt6SsGRDXN7J5wMZ4fPZKpppo6eF80rg1kbS5xPIBY+rqA1tikfGCZaciVmD3cfTPkveikiv8Ap2MyE4ni2XlpIIcNx9QjzimcheFScFvmvn3MuXVFwrnObZbaZGAkGom+wOPwA7+Kw4I71qi5bDqtj20h2hMG\/VtO7hgb849FvN0c+RkcFZdZpqaL7MLRsj544Y9Vv0VFT2+mZT00YZG0eJ6nvKnjjH6ShUK1Z+K2l+cjA+iNVRb4b5G890jd3yKH9M4PexSVON+zuGenJU6KvH5I0\/pltJrqTEWrpKSoFPfLfJRuPCRoJafDu+GVRU9TBVwiammZLGeDmHISopoKuEw1MLJYzxa8ZCm6nS9RbZXVmn6h8cm7NO92Wu38Mk+hz8V3hl5EfGpf7L3\/ALKlFh2fUsVbL7FXM9luDTsuiIIDj0\/D5rcUGmnZmiFSNRXiwiIuEwiIgPIU0AqTUiFgmLdkyBo2iO7PgvVEQ5awREQ6cl1o\/pC11NJzljIbk\/tcvXCzdHVftNgjjcTt07jE4HpvHoQt1TFvItGsayjedmG4DtYiebuOOnF3kFZHOLRmqcFWM+eX29ynUvXxVtk1FNd6ekfVwVMYa9jM7TTu6HuHmVUIoxlYsq08aWdmiUljv2pHmnqaf6NoNr6xpPvvwe\/G\/wAgFS0tNFR0sdNA3ZjiaGtC9kRyvkcp0lBuTd29wiIolwXLc6gUtsqpyf1cTj443LqU9rGrfHa2UMLS6ateI2AcSMjP3DxUoq8kiqtPBTcj96MgMOnIXEYMr3Pwfjj7lvLnoKVtFQQUreEUYb8SBvK6Ek7ts7ShgpxjyQUtqqOW3XCjv1OCexIjlaObd\/zyR5KpXhW0kVfRy0swyyVuDuBx3Hf3HekXZ3I1qfeQaWu3qfs9nU0+Mh8crOPEEEKe0Y90ENdbJXEvpJyMHkDu3eIPmmlq2op5ZrFXAial\/VOPBzPzvHT4L8gew\/4gnG5tbT53nn+Weqna14md1MThVXOz6\/2U6IiqNwREQBERAZt3sVDeYsVEezKB7srNzh+I6LHor3VWOr+jL7ksJ+pqwNxHXp8uaqlzV9vpblTGnq4hIw8M8WnvB5FTjLZ6GepRd8dPKX8+p0NcHNDmkEEZBHNfVKWStmsVxNiuT8xuOaWYncQeA\/PPcqtclGzJ0qqqRvo91yCIiiWhERAEREAWHqm1SV9AKimJbV0hMkZHEjmPz3LcRdTs7kKkFUi4vczbDdm3i1x1O4Sj3ZWjk4cfA8VpKWjaLHrTsoxs01yZnA3AP3\/f\/wAlUqU0k8iuhNyjaWqyYREUC8IiIApSiDr7rCWuJJpbeNiLiMu\/vk+AWjqa8fRtv7KEbdXU\/VxMH2hndtY\/O9e+n7X9E2iKmcB2py+TBzlx\/IHgrFwxvzMs\/EqqGyzfwvk00RFWagiIgJvVFLNS1NLfaRm1JSHEjRxc0n+pHiuW7VkVTcLFd6QGRj5Nh2wCXDePd3c97tyrSARgjIKwotH2yG4irZ2gaHbYhJBZnly4cfNWxkrZmKtQm28Gjt0a3N5ERVG0IiIAiIgCIiAzL9Zor1b3Qu3TMy6J\/c78CufTF1muFHJT1m6spH9nKDxPcT5EeC21LXlv0FqGlvMfu09S7sqkA4GccfIZ\/h6qyPEsJlqru5qqvR+nPoVKL4CCMg5BRVmo+oiIAiIgCIiAmtY00uzQV9PE6SWmnG5jSTg7+XVo81SDeM4x0X1FJu6SK408M5S52CIiiWBc9fXQW6jkqqh4axgz8TyA6pXV9NbqZ1RVSiNjRz4noBzKl4Kau1bWsq61hgtkTj2cPN5H54+A5qcY3zehnq1XHghnJ\/l2dGnaOa6Vz9Q3Bo2pPdp4yNzAOYz+eJVQvjWhrQ1oAAGAByX1clK7J0qapxtvv5sIiKJaEREAXLQXGnuLZnU+3iGV0TtpuPeC6kQ473CIiHQiIgCIiAIiIAuC9W1t1tc1IcbThmMnk4cF3oup2dyMoqUXF6MntMXmGaxwsqZQyWAmJ21zxw9CEW+1jGZ2Ghu0cnAxk96LrabuQpwnGKi3p+cz9IiKJaEREARTtXddQUFbK11pFXTl57F0Oc7Od2cZ+XevMaxkaPrbJWszw3cfQKfdy2Mz7TTTtK66MpkUw3V1W7Gzp+sOeGM7\/wDavjrvqetaW0lmFLkfamO8fDOPkndy3H6qm\/pu+jKZ72RsL5HBjWjJc44AWBV6rjfMaWz0z7hUd7R7jepPP5dV5R6Xra94kvlzkqBxMEZ2WZ+XkAt+ko6ahhENLAyFg5NGM\/HvThXmL1qmnCvf7IwKXTVTX1gr9QTCZ43sp2H3GdD+HmSqVrQ1oa0AADAA5L6i5KTepZTpRp6BERRLQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "BASTIAN",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REPARAR FUSOR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R639\",\"id_control\":\"28683\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "14:43",
    "ubicacionGPS": "LatLng(lat: -23.661816, lng: -70.3999586)",
    "horaLlegada": "14:40",
    "horaDespacho": "12:29",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


14/05/2026 14:43:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[14/05/2026 14:43: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('76121841', 'RE3194', 1, 19969062, 0, NOW(), 
				'12:29', '14:40', '14:43', 4, 'Cambio de rodillo de calor toshiba', -1, 
				'', '','1','0',
				'0',3,'../csj.digital-service.cl/uploads/firmas/firma_0_1778784219.png', 'Cambio de rodillo de calor 
fusor toshiba', null, 'COMPLETADO','LatLng(lat: -23.661816, lng: -70.3999586)' )
				
[14/05/2026 14:43:39] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200319
[14/05/2026 14:43:39] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200319', 'TOS-R639', 1)
				
[14/05/2026 14:43:39] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28683 and
				    IDproducto = 'TOS-R639'
				

14/05/2026 14:43:39 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R639';
                
14/05/2026 14:43:39 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200319'                    
				WHERE idllamado = 12584			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


14/05/2026 14:43:40 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12584			
				
14/05/2026 14:43:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


14/05/2026 14:43:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:43:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

[14/05/2026 14:43: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;
                

14/05/2026 14:43:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:43:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 14:43: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;
                

14/05/2026 14:43:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:43:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:43:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:43:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 14:43: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;
                

[14/05/2026 14:43: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;
                

14/05/2026 14:43:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

[14/05/2026 14:43: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;
                

14/05/2026 14:43:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12584
            GROUP BY l.idllamado;
            

14/05/2026 14:43:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                

14/05/2026 14:43:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12584
                
[14/05/2026 14:43: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;
				
[14/05/2026 14:43: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;
                

[14/05/2026 14:43: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;
                
[14/05/2026 14:43: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;
                
[14/05/2026 14:43: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;
				
[14/05/2026 15:03: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;
                
[14/05/2026 15:03: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;
				

[14/05/2026 15:04: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;
                

14/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12602
            GROUP BY l.idllamado;
            

[14/05/2026 15: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;
                

14/05/2026 15:38:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12602
            GROUP BY l.idllamado;
            

[14/05/2026 15:38: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;
                

14/05/2026 15:38:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12602
            GROUP BY l.idllamado;
            

14/05/2026 15:38:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:38:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:38:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:38:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12602
            GROUP BY l.idllamado;
            

14/05/2026 15:38:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:38:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12602
            GROUP BY l.idllamado;
            

14/05/2026 15:38:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:38:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/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 = 12602
                

14/05/2026 15:38:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12602
            GROUP BY l.idllamado;
            

14/05/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 = 12602
                

14/05/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 = 12602
                

14/05/2026 15:38:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/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 = 12602
                

14/05/2026 15:38:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12602
            GROUP BY l.idllamado;
            

14/05/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 = 12602
                

14/05/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 = 12602
                

14/05/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 = 12602
                

14/05/2026 15:38:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:38:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12602
            GROUP BY l.idllamado;
            

14/05/2026 15:38:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:38:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:38:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12602
            GROUP BY l.idllamado;
            

14/05/2026 15:38:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:38:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:38:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:42:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:42:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:42:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12602
            GROUP BY l.idllamado;
            

14/05/2026 15:42:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:42:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12602
            GROUP BY l.idllamado;
            

14/05/2026 15:42:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:42:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:42:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:42:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:42:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12602
            GROUP BY l.idllamado;
            

14/05/2026 15:42:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:42:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:42:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:43:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12602
            GROUP BY l.idllamado;
            

14/05/2026 15:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:43:06 - logentry: =========================================
FECHA: 14/05/2026 15:43:06
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Sa6YSJMT.dthp_8QHB.qbJHD50hsYcvsyrUVP.krl88NGbTGkm4
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "TO3144",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "6467",
    "contadorColor": "27354",
    "contadorScanner": "0",
    "detalle": "Mantenimiento, ajustes y\nlimpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12602",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACnAKEDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYCBAUBAwf\/xABIEAABAwMCAgYGBAoHCQAAAAABAAIDBAURBiESMRNBUYGRoRQiMmFxsQcWI8EVJDRCgrLR0uHwJUNSdJKiwjU2N2JjcnPi8f\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC8RAAIBAgMHAwMEAwAAAAAAAAABAgMREiExBBMyQVFxsSJhgTORwSNCoeEUctH\/2gAMAwEAAhEDEQA\/AP2ZERAEREB8auoFLRzVDsYiYX7nsGVo6dr6m52eKrqmsD3kgcAwCAcZ5+4rW1jVejadmAxmZzYxn37nyBXRtFL6FaKWm3yyIcWRjfmfNXt6LnPibr4Vol5NxERUOgIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAmNVgVdztFuxkSTcb88sZA+WVTqXgHp30gTSHJbRQcLT2EjGP8zlULSeSSOah6pTn1dvtkERFmdIREQBERAEREARFi97I2F8jgxrRkuccAIDJFzzfbSJRGbhBxE4HrjtxzW+CCMg5BUtNFVKMtGeoiKCwREQBERAERYSyCKJ8h5MaXHuQE1pTNRdrzWu\/Pn4W55gZdt4YVQpvQrCLHJI7nLUOdnuA+4qkV6nEzm2Vfop9c\/uERFQ6QiIgCIiAIiIDCWVkMT5ZHBrGNLnOPUBzKk+Gp1lWOJfLBaIXbY2Mp2\/n3LLWt0ka2O2UznhxHSzlmcho5Dbx7h2rp6SifFpul43ZLuJw35Ak4C1SwxxczhnNVq255LX39jL6qWQQGIULQCMcXES745yuTTmq0ndoKOSZ89tqjwsc\/nG7+cKuXH1TRenafqWtHrxDpW\/o7nyyojJt2eherRjGOOmrNdPB2EXO0\/WenWOknJy4s4XfEbH5LoqjVnY6YSUoqS5hERQWNC73aCzUjamojlexzwzEYBIJBPWR2LeBBGQcgrl6moxW2CqjwOJjekaT1cO58sjvWWnq1tfY6WYP43tYGSE8+IbHPz71a3puYqb3rg9LXX5OmtS6yGK0Vkg5sge4dzSttaV6\/2HX\/AN2k\/VKhal58DNDRzOHTNMc+0Xn4esR9y7i4ukP916P9P9dy7SmfEymz\/Rh2XgIi8JAGScAKpseouLc9U263ZjY\/0qfqjh38TyC0vStU3YA0tNFbIHDIfKcv8x\/pHxV1B6s55bRBPDHN+xTopdukauVpdWX2qkeTn1c7eJXwtEUtv1abdT1stVCIuKcyHODg46\/ePFTgXJld\/NNYoWTdtUV6xc5rGF7jhrRknsCyXG1ZWeh6eqMHDpgIm9\/PyyqJXdjepNQg5PkSdQ\/0y2Xa+SsIdVSthg4upuQT5ADxV3a4fR7VSQ4xwQsB+OApK8UIpbNY7QW4fNMC8AEZccZ\/XVutajukcWyQanK+tl93mwvCARgjIK9RYnoExokmKmrqMneCpO3UNsf6VTqY0rter+0bAVOw7PWeqdXqcRzbJ9FfPkIiKh0nhAIwRkFS+nCbTfK6xyPy0npYN+r9uMeBVSpfVbXW+ut97hA4oX9HJ\/zNPLy4h3rSGd49Tl2j02qr9vh6lQtO8Austc0bk00gH+EraY9skbZGODmuALSOsLyaNs0L4ney9pafgVRZM6JLFFo4+jyDpikweXHn\/G5dtTWhpCbNLC4kmGdzee3IHbzVKrT4mZbM70Y9gufd7RHd44opZ5I2McSRGfa2610EVU2ndGsoqSwy0NC22WgtTMUkAa7GDI7dx71vOcGtLnEAAZJPUvV45oc0tcAQRgg9aNt6iMVFWirEZXavrq6rNFZac5cS1rizLz7wOrv5YWNHa9QabjlrWNp6lrhxSxtOXnvxnwKrKK2UVu4\/RKZkJkxxFo5raWm8SySyONbNOTxVJerlbkaVqutNd6NtRTu9z2Hmw9hXFvf9J6pt1sG8cH28vV78Z7urt8Pnwix61Y2P1Ka5N3aG7B\/\/AN\/WW7Y7fVNvFyuVbEY5Jn8EQJB9QHt59Q7OSmyjmiHKVVKnJZ3z+M\/5NW+Zn1hZqfd3BmTh7N85\/wAvkqhTFQOl+kSl3z0NMe7Z37yp1WeiRtQzlN+\/4QRF4SAMk4AWZ0kzpP17rfJh7D6nY\/pPP3hU6mNDfaW+sqOuSpPyB+9U6vU4mc2yfRT7+QiIqHSFq3OgjuVumo5OUjcA\/wBk9R8VtIidiJJSVmcPSddJVWj0eoBbUUbzC9rue3LI6uzuXcUpOPq7qwVR2o7lkPJ5MfnOfH5lVavNZ3XMw2eTw4Jaxy\/5\/BMaU+yu17pj+ZUZHwy7+Cp1Lxu9B+kKRp2bXQZHxx\/6HxVQlTW5Gy5Qceja\/kIiKh0hERAEREBMax9Se0zD22VOx7wfuCp1MauImrrRRsyZX1HFgDkMgfz8CqdXlwo5qX1qnx4Jin+1+kSq\/wCjTD5N\/eVOpih\/4iXL+7D5RqnSfLsNm0l\/s\/IWje6kUlkrJycFsTg34kYHmQt5Tetpn\/guCii9uqna3HaB\/HhUQV5JF688FKUjZ0jTejadp885cyHbtO3lhdtfOCFtPTxws9mNgaNsbAYX0USd3ctThggo9AiIoNAiIgOfe7THeLc+le7gd7TH9juruWlpm6T1UU1BWtLauiIY7PNw5Z8vku6sQ1ocXBoBdzIHNWxZWMnT\/UU0+\/uTOrPxK5Wq6gHhil4JCDjbnjw4lULjaspPS9O1OGkuiAlbjqxz8srZsVV6bY6OfckxAOJOckbHzCs84JmUPTXlHqk\/wdBERZnUEReEgDJOAEB6vhWVcFBSyVNQ8MjjGSfuHvXOr9U2mhy01AnlxtHD6xPfy81y47ZcdT1Qqru19JRMOYqVp3d8f28+zCuoc5aHNOuuGnnLx3Prp+Gout2mv1ZG5rMGOka7m1uTn7x3lU6xjjZFG2ONoaxowGgbALJRJ3ZpSp7uNtXz7kxH+K\/SJLxD8rpvV7gP3CqdS+p+KgvFtvAZxRxO6OTfAA3+4nwVOCCMg5BUzzSZnQylOPvf7nqmKgfhbW0EQ9aG2s43Y39c7\/Ph8PDt3S4RWu3S1cp2YPVHPJOwC5Wkbe+GikuVQPxivd0hJ6m5yPHJPeFMck5EVvXONNd38f2UKIizOoIiIAiIgCIiAwljbNE+J4y17S1w9xU3o2V1OK20TOHSUsxLRnO3I492R5qnUtXZtWtqWrGRDXt6N\/IDi5fulaQzTRy1\/TKNTo7Ps\/7KlfGrjmlpJY6eboZXNIZJjPCe1fZFmdLV1YmBYtQu2fqBwaf7IOV79T5JyBX3usqmD80kjPiT71TIr7yRz\/4tLnd\/LObb7BbLYQ6mpm9IBjpH+s7xPLuXSRFVtvU3jCMFaKsERFBY1rhQxXKhlpJvZkHPGcHqPipynu1z0\/F6DcKCaqZHhsM0QJDhjllViKylZWZjUpOTxRdmSnoF11JcIZrlTikoIH8TYHe0\/wCI8s7bclVAADAGAF6iSlcmnSULu929WERFU1CIiAIiIAiIgCn9aU3TWJ0zR69O8PB7Adj8\/JUC1rjT+l22ppxzlic0fEjZWi7STMq0MdOUfY9oakVlBBUj+tja7xC2FwdGT9NpyFp5xPczzz967ySVm0TSnjpxl1QREVTQIiIAiIgCIiAIiIAiIgCIiA4VfbL9LXyT0d4EUROWRuZsNuR2Woa3VNrLX1lPDXQA4e6EesB27Y+WFUIrqfVHO6Gd4yaff8HIteprZdSGRTdFMf6qX1XH4dR7l11y7vp6gvEf20fRy9U0YAd39oXMbJqDT4DJYxdKJgwHs2kYB\/Pv+IU4VLhK7ypTyqK66r8op0U6zW9q4cTMqIZB7THR7gr4VWqJrniisdPKZpdume3AYO3+JUbuXQl7VStk7meijwU9fA0AMjqTj5fcFTLn2S0ss1uZSteZHZ4nuPWT2dgXQUTacm0X2eDhSUZahERVNgiIgCLGSRkTC+R7WNHMuOAFzqjUdnpTiSviP\/Zl\/wCrlSk3oVlOMeJ2OminJtb2phAiZUTk8uCPGfEhfP6zXap2otPz78nykgfIfNW3cjB7VS5O\/bMp0Ux0msaoZEVJSdYBIO3Z1p+BtUT\/AJRfWR\/+Jv7AEwdWhv2+GD8eSnWDpY2ODXyNaXHABOMqb+p88u1XfaycHmMkZ8SV9qXRdrpp2TF9RK9jg4F8mN+4BLR6hVKz\/Zb5KFERUOkIiIAiIgPnJTwSnMkMbz2uaCsmRsibwxsaxvY0YCIhFlqZIiISEREAXMu9PdaroorbVMpmODumkcMu6sY80RSnZ3KzjiVmc2PRcErhJcq+qrJB2uwPeN8nzXRp9N2ambhlvhd75Bx\/PKIrOcnzMo7PSjpE6EVPBAMQwxxjsY0D5L6IiobpW0CIiAIiIAiIgP\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCION PREVENTIVO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:43",
    "ubicacionGPS": "LatLng(lat: -23.1000844, lng: -70.4479838)",
    "horaLlegada": "15:01",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 14/05/2026 15:43:06
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Sa6YSJMT.dthp_8QHB.qbJHD50hsYcvsyrUVP.krl88NGbTGkm4
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "TO3144",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "6467",
    "contadorColor": "27354",
    "contadorScanner": "0",
    "detalle": "Mantenimiento, ajustes y\nlimpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12602",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACnAKEDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYCBAUBAwf\/xABIEAABAwMCAgYGBAoHCQAAAAABAAIDBAURBiESMRNBUYGRoRQiMmFxsQcWI8EVJDRCgrLR0uHwJUNSdJKiwjU2N2JjcnPi8f\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC8RAAIBAgMHAwMEAwAAAAAAAAABAgMREiExBBMyQVFxsSJhgTORwSNCoeEUctH\/2gAMAwEAAhEDEQA\/AP2ZERAEREB8auoFLRzVDsYiYX7nsGVo6dr6m52eKrqmsD3kgcAwCAcZ5+4rW1jVejadmAxmZzYxn37nyBXRtFL6FaKWm3yyIcWRjfmfNXt6LnPibr4Vol5NxERUOgIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAmNVgVdztFuxkSTcb88sZA+WVTqXgHp30gTSHJbRQcLT2EjGP8zlULSeSSOah6pTn1dvtkERFmdIREQBERAEREARFi97I2F8jgxrRkuccAIDJFzzfbSJRGbhBxE4HrjtxzW+CCMg5BUtNFVKMtGeoiKCwREQBERAERYSyCKJ8h5MaXHuQE1pTNRdrzWu\/Pn4W55gZdt4YVQpvQrCLHJI7nLUOdnuA+4qkV6nEzm2Vfop9c\/uERFQ6QiIgCIiAIiIDCWVkMT5ZHBrGNLnOPUBzKk+Gp1lWOJfLBaIXbY2Mp2\/n3LLWt0ka2O2UznhxHSzlmcho5Dbx7h2rp6SifFpul43ZLuJw35Ak4C1SwxxczhnNVq255LX39jL6qWQQGIULQCMcXES745yuTTmq0ndoKOSZ89tqjwsc\/nG7+cKuXH1TRenafqWtHrxDpW\/o7nyyojJt2eherRjGOOmrNdPB2EXO0\/WenWOknJy4s4XfEbH5LoqjVnY6YSUoqS5hERQWNC73aCzUjamojlexzwzEYBIJBPWR2LeBBGQcgrl6moxW2CqjwOJjekaT1cO58sjvWWnq1tfY6WYP43tYGSE8+IbHPz71a3puYqb3rg9LXX5OmtS6yGK0Vkg5sge4dzSttaV6\/2HX\/AN2k\/VKhal58DNDRzOHTNMc+0Xn4esR9y7i4ukP916P9P9dy7SmfEymz\/Rh2XgIi8JAGScAKpseouLc9U263ZjY\/0qfqjh38TyC0vStU3YA0tNFbIHDIfKcv8x\/pHxV1B6s55bRBPDHN+xTopdukauVpdWX2qkeTn1c7eJXwtEUtv1abdT1stVCIuKcyHODg46\/ePFTgXJld\/NNYoWTdtUV6xc5rGF7jhrRknsCyXG1ZWeh6eqMHDpgIm9\/PyyqJXdjepNQg5PkSdQ\/0y2Xa+SsIdVSthg4upuQT5ADxV3a4fR7VSQ4xwQsB+OApK8UIpbNY7QW4fNMC8AEZccZ\/XVutajukcWyQanK+tl93mwvCARgjIK9RYnoExokmKmrqMneCpO3UNsf6VTqY0rter+0bAVOw7PWeqdXqcRzbJ9FfPkIiKh0nhAIwRkFS+nCbTfK6xyPy0npYN+r9uMeBVSpfVbXW+ut97hA4oX9HJ\/zNPLy4h3rSGd49Tl2j02qr9vh6lQtO8Austc0bk00gH+EraY9skbZGODmuALSOsLyaNs0L4ney9pafgVRZM6JLFFo4+jyDpikweXHn\/G5dtTWhpCbNLC4kmGdzee3IHbzVKrT4mZbM70Y9gufd7RHd44opZ5I2McSRGfa2610EVU2ndGsoqSwy0NC22WgtTMUkAa7GDI7dx71vOcGtLnEAAZJPUvV45oc0tcAQRgg9aNt6iMVFWirEZXavrq6rNFZac5cS1rizLz7wOrv5YWNHa9QabjlrWNp6lrhxSxtOXnvxnwKrKK2UVu4\/RKZkJkxxFo5raWm8SySyONbNOTxVJerlbkaVqutNd6NtRTu9z2Hmw9hXFvf9J6pt1sG8cH28vV78Z7urt8Pnwix61Y2P1Ka5N3aG7B\/\/AN\/WW7Y7fVNvFyuVbEY5Jn8EQJB9QHt59Q7OSmyjmiHKVVKnJZ3z+M\/5NW+Zn1hZqfd3BmTh7N85\/wAvkqhTFQOl+kSl3z0NMe7Z37yp1WeiRtQzlN+\/4QRF4SAMk4AWZ0kzpP17rfJh7D6nY\/pPP3hU6mNDfaW+sqOuSpPyB+9U6vU4mc2yfRT7+QiIqHSFq3OgjuVumo5OUjcA\/wBk9R8VtIidiJJSVmcPSddJVWj0eoBbUUbzC9rue3LI6uzuXcUpOPq7qwVR2o7lkPJ5MfnOfH5lVavNZ3XMw2eTw4Jaxy\/5\/BMaU+yu17pj+ZUZHwy7+Cp1Lxu9B+kKRp2bXQZHxx\/6HxVQlTW5Gy5Qceja\/kIiKh0hERAEREBMax9Se0zD22VOx7wfuCp1MauImrrRRsyZX1HFgDkMgfz8CqdXlwo5qX1qnx4Jin+1+kSq\/wCjTD5N\/eVOpih\/4iXL+7D5RqnSfLsNm0l\/s\/IWje6kUlkrJycFsTg34kYHmQt5Tetpn\/guCii9uqna3HaB\/HhUQV5JF688FKUjZ0jTejadp885cyHbtO3lhdtfOCFtPTxws9mNgaNsbAYX0USd3ctThggo9AiIoNAiIgOfe7THeLc+le7gd7TH9juruWlpm6T1UU1BWtLauiIY7PNw5Z8vku6sQ1ocXBoBdzIHNWxZWMnT\/UU0+\/uTOrPxK5Wq6gHhil4JCDjbnjw4lULjaspPS9O1OGkuiAlbjqxz8srZsVV6bY6OfckxAOJOckbHzCs84JmUPTXlHqk\/wdBERZnUEReEgDJOAEB6vhWVcFBSyVNQ8MjjGSfuHvXOr9U2mhy01AnlxtHD6xPfy81y47ZcdT1Qqru19JRMOYqVp3d8f28+zCuoc5aHNOuuGnnLx3Prp+Gout2mv1ZG5rMGOka7m1uTn7x3lU6xjjZFG2ONoaxowGgbALJRJ3ZpSp7uNtXz7kxH+K\/SJLxD8rpvV7gP3CqdS+p+KgvFtvAZxRxO6OTfAA3+4nwVOCCMg5BUzzSZnQylOPvf7nqmKgfhbW0EQ9aG2s43Y39c7\/Ph8PDt3S4RWu3S1cp2YPVHPJOwC5Wkbe+GikuVQPxivd0hJ6m5yPHJPeFMck5EVvXONNd38f2UKIizOoIiIAiIgCIiAwljbNE+J4y17S1w9xU3o2V1OK20TOHSUsxLRnO3I492R5qnUtXZtWtqWrGRDXt6N\/IDi5fulaQzTRy1\/TKNTo7Ps\/7KlfGrjmlpJY6eboZXNIZJjPCe1fZFmdLV1YmBYtQu2fqBwaf7IOV79T5JyBX3usqmD80kjPiT71TIr7yRz\/4tLnd\/LObb7BbLYQ6mpm9IBjpH+s7xPLuXSRFVtvU3jCMFaKsERFBY1rhQxXKhlpJvZkHPGcHqPipynu1z0\/F6DcKCaqZHhsM0QJDhjllViKylZWZjUpOTxRdmSnoF11JcIZrlTikoIH8TYHe0\/wCI8s7bclVAADAGAF6iSlcmnSULu929WERFU1CIiAIiIAiIgCn9aU3TWJ0zR69O8PB7Adj8\/JUC1rjT+l22ppxzlic0fEjZWi7STMq0MdOUfY9oakVlBBUj+tja7xC2FwdGT9NpyFp5xPczzz967ySVm0TSnjpxl1QREVTQIiIAiIgCIiAIiIAiIgCIiA4VfbL9LXyT0d4EUROWRuZsNuR2Woa3VNrLX1lPDXQA4e6EesB27Y+WFUIrqfVHO6Gd4yaff8HIteprZdSGRTdFMf6qX1XH4dR7l11y7vp6gvEf20fRy9U0YAd39oXMbJqDT4DJYxdKJgwHs2kYB\/Pv+IU4VLhK7ypTyqK66r8op0U6zW9q4cTMqIZB7THR7gr4VWqJrniisdPKZpdume3AYO3+JUbuXQl7VStk7meijwU9fA0AMjqTj5fcFTLn2S0ss1uZSteZHZ4nuPWT2dgXQUTacm0X2eDhSUZahERVNgiIgCLGSRkTC+R7WNHMuOAFzqjUdnpTiSviP\/Zl\/wCrlSk3oVlOMeJ2OminJtb2phAiZUTk8uCPGfEhfP6zXap2otPz78nykgfIfNW3cjB7VS5O\/bMp0Ux0msaoZEVJSdYBIO3Z1p+BtUT\/AJRfWR\/+Jv7AEwdWhv2+GD8eSnWDpY2ODXyNaXHABOMqb+p88u1XfaycHmMkZ8SV9qXRdrpp2TF9RK9jg4F8mN+4BLR6hVKz\/Zb5KFERUOkIiIAiIgPnJTwSnMkMbz2uaCsmRsibwxsaxvY0YCIhFlqZIiISEREAXMu9PdaroorbVMpmODumkcMu6sY80RSnZ3KzjiVmc2PRcErhJcq+qrJB2uwPeN8nzXRp9N2ambhlvhd75Bx\/PKIrOcnzMo7PSjpE6EVPBAMQwxxjsY0D5L6IiobpW0CIiAIiIAiIgP\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCION PREVENTIVO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:43",
    "ubicacionGPS": "LatLng(lat: -23.1000844, lng: -70.4479838)",
    "horaLlegada": "15:01",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


14/05/2026 15:43:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[14/05/2026 15:43: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('69020400', 'TO3144', 1, 21773342, 6467, NOW(), 
				'08:00', '15:01', '15:43', 3, 'Mantenimiento, ajustes y
limpieza', -1, 
				'', '','1','27354',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778787786.png', '', null, 'COMPLETADO','LatLng(lat: -23.1000844, lng: -70.4479838)' )
				
[14/05/2026 15:43:06] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200320

14/05/2026 15:43:06 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200320'                    
				WHERE idllamado = 12602			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


14/05/2026 15:43:06 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12602			
				
14/05/2026 15:43:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


14/05/2026 15:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:43:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:43:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12602
            GROUP BY l.idllamado;
            

14/05/2026 15:43:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:43:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12602
            GROUP BY l.idllamado;
            

[14/05/2026 15:43:09] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 15:43:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12602
            GROUP BY l.idllamado;
            

[14/05/2026 15:43:09] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 15:43:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                

14/05/2026 15:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12602
                
[14/05/2026 15:49: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[14/05/2026 15:49:50] 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;
                

[14/05/2026 15:49: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;
                

[14/05/2026 15:49: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;
                

14/05/2026 15:49:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 15:49:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

[14/05/2026 15:50: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;
                
[14/05/2026 16:02: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;
                
[14/05/2026 16:02: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;
				
[14/05/2026 16:05: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[14/05/2026 16:05:05] 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;
                

[14/05/2026 16:05:06] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 16:05:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:05:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

[14/05/2026 16:05: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;
                

[14/05/2026 16:05: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;
                

14/05/2026 16:05:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:05:10 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:05:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:05:10 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16:05:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:05:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16:05:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:05:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16:05:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:05:13 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16:05:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:05:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:05:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16:05:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:05:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:05:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:05:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:05:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:05:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:05:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:05:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:05:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:05:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16:06:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:06:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16: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 = 12599
                

14/05/2026 16:06:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:06:02 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:06:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:06:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:06:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:06:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16:06:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:06:03 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16:06:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:06:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16:06:17 - logentry: =========================================
FECHA: 14/05/2026 16:06:17
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary--KykUNoR18ZQX1GDdZVn7TN3pSSZDQqP99g0bmDB9T5M++pqB0y
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "TO2428",
    "correlativo": "3",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "107653",
    "contadorColor": "null",
    "contadorScanner": "null",
    "detalle": "se realiza cambio se unidad de imagen ya que esta llego al fin de su vida útil\n01 RUNI2295",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12599",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACMAL4DASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xAA\/EAABAwMBBgMGBAIJBQEAAAABAAIDBAURBhIhMUFRYSJxgRMUkbHB0SMyQqGC4RUkNlJyorLC8AczYpLS8f\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC0RAAICAQIEBAYDAQEAAAAAAAABAhEDIUESMVFxBCJh0RMykaHh8DOBsULB\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIvAQRkHIKA9REQBERAYSyxwQvmleGRsBc5x4AKpC+6hroJ7pQU8LaKI7o34LiBvJ7\/8AMLp1VUT1tTTWGicfaTkOmc39LOG\/txJ8h1U\/FBHRUDYIWgRwx7LQegHNaKoq3uck+LLNxi6S6dfwa7VcYrrb46uEENdkEHiCDhdirehc\/wBAOySfx3Y7bgrIqzVSaNcE3PFGT3QRYveyNhfI4Ma0ZLnHACr9bq2Eze62infX1J4bAOwO\/f5d0UW+RbJlhjXmZYHvZGwvkcGNaMlzjgBV+t1bEZHU9oppLhOOcbSWN+HH\/m9aotP3G7uE+oKt2znLaSE4aPMj6Z81YKSjpqGEQ0sDIWDk0Yz59Vbyx9TK8uTl5V9\/wV5sGsaxrpXVVNRHILYtkH6H98rtsd2rKirqLbcodirpxtFzB4S3dgk8MnKlqmojpKaWpmdsxxNLnHsFX9LROraqsv0rS11U8siBP6Bj7AceSm7i20Z8Lx5IxjJtvnb2LKiIsjtCIiAIiIAiIgNczDLBJG15YXtIDmnBGRxBUHoyrlqrK5k73PkgldHlxJONxG\/1x6KwKr6bxTajvNGBsgye0aMcBk\/\/AEFeOsWc2R8OWD62v36FoREVDpC56+tit9DNVzfkibtY6nkPU4C6FWNUPdcq+isULj+K4STlozst5fU\/DqrRVsxzZOCDa57dzPSdG+YVF7qm\/j1jzsZAy1mfr9Apa91HutkrJhxbE4DzIwP3K64omQxMijaGsY0Na0cgOAUbqNlJLZZoq2q92idg7Y3kkEHAHPhwU3xSspwfCwNLnX3Nekqf3fTlKD+aQGQ+pOP2ws7vqKhtLS17\/bVHAQRnLvXooWK43S8RR0VghfS0ULBH7zLxIAxx8um\/yUvaNM0NrImcPeariZpBvz1A5fPurSSTuRljnOUFDEtFu\/8AzqRkdsvGpXNmu8ppKI+JtNHucemf5\/AKxUFupLbB7GjhbE3iccXHuea6kVJSb0OjHhjB3zfVhYuc1jC97g1rRkknAAWupqoKOndPUytiiZxc5VWSW46wnMVPt0lqacOeRvk+\/Dhy5pGN67DLmUNErk+SM6urqNXVRt9BmO3RuHt5yPz4O4D6K0U1PHS00dPC3ZjjaGtHYLCioqe30rKamjDI2DcOvc910KZSvRciMWJxuU3cn+0giIqG4REQBERAEREAVXjJpv8AqHK0DAqqfl2A3\/5VaFWLxmDW1oqOT2GPPxH+5aQ3Xoc3idFGXRr2LOiIszpMJZWQxPlkcGsY0uc48gOJVZ0pCa6rrb\/UHLpnlkWf0tHH9sD0K2a2uYpLUKNh\/FqjgjowcfoPioy20l2vlDBSxA261xMAyD4pep75OTyC2jHyX1PPzZU86ildbev4Ja5arjbMaK0RGuqzuGwMsafr6bu61Uml5q2cV1\/qHVE\/KEHwNHTd8hu81lNW2\/TDo7ZbKN1TWSDJYze49No9+nIb+me6z31tynmpJ6d1LVwnxRO6dfkmqVxQXDOdZZW+m35ZKsYyNgZG0Ma0YDWjAC11NXT0cftKmeOFmcZe4BQl41I+KpFutEQq612443tZ9z8ua1UmkveJPer7VPrJz+gOIY3t\/wDmAqKO8jd5m3w4ldfRHc3VljdN7IV7c5xkscG\/HGF03G80VsohVTShzXD8MMIJk8lD3+Sw26nNELbBNUyjDIYowHZO4HIGR8yq7Y20FFJU1N4Li+hcGxUxOSXknO7sQtFjTVnNPxOSEuBtX16dybprdX6qqG1t2DqehbvhpxuLu\/X158la4oo4ImxQsbHGwYa1owAFVhqi6Mkp6me3MjoqiQsYCcPd04nz343\/ALq2Kk73N\/DfDduOr3b\/AHkERFmdYREQBERAEREAREQBVjWOYai01fKGp4+oP+1WdVfXc0BtDIDKz2wla8R7XixgjOPVaY\/mRzeL\/hkWckAZJwAq7ctUk1BoLLD75VnILmjLG9+\/yXIyK9apaDO80FuOBsAeOUcz6\/Dz5yNe2h0tYJnUkQY8t2GO\/U954Enj1PpuUqKTp6sznlnOLlHyx67\/ANEDp62zXTUFRU3NzasUvhc5x2ml\/IDkQN\/b4q13q6R2a1vqi0OIw2NnDaceA+Z9FzaVtwt9jhy0iWce1kyN+\/gPhhRt1ay+atpbYSXU9I0yTDkT0+Q9Spfmn6IzgnhwKvml\/r9jr0taX08DrlW\/iVtX4i9xyWtOCB5qFvDpblq4xWV4E\/sfZSyjcGnJDjnywMhXG4CoNvn91J9vsHYwN5PTiFWbBSRaYo6i43dwimlOwxpOXEDeQB1J+QSMruW4y46UcS0jzb\/dycs1lpbHR7LSHSkZlmdxP2A6KLuGoqm4VDrdp+L2z8YfU\/pZ3H3+C5wLtq53iDqC1n\/2lGf3+XmrLQW6ltlMKekiEbOJ6uPUnmodJ3LVl48WSPDj8sOu77e5BR0Nv0nRvuFbJ71WP4Pfxc7o3p5ri0vZW3SolvlcwH2kznRx48JOcl3lnI9Fp1FbrneNStgERETQGMeAdlreJJ77+X0Vhu9xptN2VscWGvDPZ07OJJA4ny4n+au2605sxjGLm3JVCH3ZHXQm86uo6CMOdBQn2k5HAO44PwA9SrUqLbNL3xtO+tbWGkqH+JsR\/M45z4umcDr3Uk3VNZbHNhvlukjO1sieIeF3fH2Poqyjekdi+HNwXLKmuLf\/AD9ZaEWmkq6eupmVNNKJIn8HBbliegmmrQREQkIiIAiIgC1zTw00RlnlZFG3i55wAoi8anpbc73enHvdYTsiKPfsnvj5cVwQafuN6e2q1BUODBvZSx7gPPp8+6uoaXLQ5pZ9eDGrf2XdntRqOtu87qPT0JI\/VVSNwGjtnh67+y4bxpllvsFTXVM7qquJaXSuJwMuAOOvHif2Vzgp4aWFsMEbY42jAa0YAUTq\/wDsvWfwf62q8Z+ZKJjlwXjlPI7dPstNkd1pdt2aidjG1TxnH8IUFec3nVVHadgPgph7af54PbGB\/Epi2zx02m6SeU4ZHRsc49gwKK0dBJOyrvE+faVkp2cn9IP33eihaXItPzqGPrq+yLKSAMk4AVY0dmrnud0dvNRPstPQccf5h8FM3yqFHZKuYkAiJwbk8yMD9yqdZJLxX2tlstjPd4QSZ6knjk8jy3Y3Df5JCNxZGfIo5oqrq3X2LHd9Tw0U3uVFGayuJ2RGzeGnvjn2+S5rdpmWpqBcL9L7zUHeICcsZ2PI+Q3eak7PYaKzQ7MDduUjxzOHid9h2UmocktImiwyyPizfTZe54AAMAYAXqIszqCja6x0dwuFPW1G259OfC3a8JxvGR571JIpTa5FZQjJVJBYSxRzRujljbIxww5rhkH0WaKCxppqWCjhENNCyKMcGtGAtyIhCSSpBERCQiKCu+p4aKb3KijNZXE7IjZvDT3xz7fJSotukUyZI41cmStbXU1vp3T1UzY2DmeJ7Ac1WX1931Q90Nta6ioMkOqHbi8dP5D1K3UWmqm4ztr9QTGZ\/FlOD4Wdjj5BWZjGRsDI2hjWjAa0YAV7jHlqznrJm+byx6bvv0I60WChszP6vHtSkYdM\/e4\/YdgpNEVG23bOmEIwXDFUgoXV\/wDZes\/g\/wBbVNKC1nJsaanb\/fcxv+YH6KYfMjLxH8M+zIu7Vcz9OWi0Uu+ethiB\/wAOyPrj0BUlVXqg07SRW6DNTUxsDGQs3knv0z04qq29l1vdzjkoC6IQwtgExGBE0NxuPInfw37+Sudn05Q2ce0YDNUHjNJx9Oi2mox0Zw4JZMrcoKtrfRdCrX6ju9TbHXS7TeyG0BFStG5uevTd5nyV0tcQgtNJE0ABkLBu8gtlXR09dD7GqiEsec7LuGVua0NaGtAAAwAOSzlPiVHXi8P8PI5Xdr+z1ERZnUEREAREQBERAEREAWEsscETpZntjjYMuc44AC1V1bBbqR9VUv2Y2DPcnoO6rEUFy1dOJ6supbU12WRDcZPv58OivGN6vkYZcvC+GKuT29zOpu1w1FUvobJmGmbulqnbs+XT5nspmz2Gis0OzA3blI8czh4nfYdl201LBR07YKaJsUTODWrcjlpS5EY8NPjm7l\/nYIiKh0BEVeu+phDP\/R9qj97rnHZGzvaw9+p+XNSouT0M8mSONXIkrreaOzwe0qpPEQdiNu9z\/JUXUVbdq+CCqrm+700pJggzxwPzY58eJ67laLVpktnNfeZRWVjsEB29sf3+S47i9t21zR0W58VGNp4zkbWNo\/7QtocMXoef4lZMkPNpbSS9\/YnLDbxbLNT0xzt7O0\/P947z9vRSKIsW7dnpQioxUVsERFBYIiIAiIgCIiAIiIAiIgKpURMvusJKKrf\/AFaiYHMh2vzndxHqfTCtTWhrQ1oAAGAByUPeNPMuMzaynndS1seNmUb+GcAj1Uey7ahs5MdytxrYWgATQbz5n4cwFq1xJUcUZfBlJzXN8+f17FpRVuPXNpdukZUxEcQ6MfQrezWVjf8Amqns\/wAUTvoCq8EuhqvE4X\/0idXjnBrS5xAAGSTyUI7WNibjFYXeUT\/qFAak1PDcxFQ0U7o6VxzPLsnJ7Y6fNTHHJvkVyeLxQi2mm+5IV15qr\/UvtdjyIuE9UdwDe379zyU1Z7JSWWn9nA3akcPHK4eJx+g7KCo9WWW3UjKWgo6pzWDgGNyepO\/eVvOq66qIbbbHUSbQ3PkyB05DHHurOMqpKkYY8uK+Ocrl6bdieuFdDbaGWrncA2NpIGcbR5AdyoDR1K+c1V7nz7Wre4Nz\/dzv5dd3oo2+W691lufXXR+XNx7GlgbnYJIyTjtnqrZZaQ0NmpKdzdlzIhtDGMOO8\/uSoaUYabl4yllzptUkrR3IiLI7giIgCIiAIiIAiIgCIiAIiIAiIgMJIYpRiSNjx\/5NBWh9rt8v\/coKZ\/8AihafoupFNsq4p80VbUooaGnbQ0FtpjW1nhY1kDchvM8Ph\/JSdn09R2uhZC6KOaXO0+VzASSemeAWxlopRfZLm7bfOWNDdp3hZuI3DyH7lSSvKWlI58eJObm16Ixa1rBhrQ0dhhZIizOoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:06",
    "ubicacionGPS": "LatLng(lat: -29.9325283, lng: -71.2469701)",
    "horaLlegada": "14:12",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 14/05/2026 16:06:17
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary--KykUNoR18ZQX1GDdZVn7TN3pSSZDQqP99g0bmDB9T5M++pqB0y
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "TO2428",
    "correlativo": "3",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "107653",
    "contadorColor": "null",
    "contadorScanner": "null",
    "detalle": "se realiza cambio se unidad de imagen ya que esta llego al fin de su vida útil\n01 RUNI2295",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12599",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACMAL4DASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xAA\/EAABAwMBBgMGBAIJBQEAAAABAAIDBAURBhIhMUFRYSJxgRMUkbHB0SMyQqGC4RUkNlJyorLC8AczYpLS8f\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC0RAAICAQIEBAYDAQEAAAAAAAABAhEDIUESMVFxBCJh0RMykaHh8DOBsULB\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIvAQRkHIKA9REQBERAYSyxwQvmleGRsBc5x4AKpC+6hroJ7pQU8LaKI7o34LiBvJ7\/8AMLp1VUT1tTTWGicfaTkOmc39LOG\/txJ8h1U\/FBHRUDYIWgRwx7LQegHNaKoq3uck+LLNxi6S6dfwa7VcYrrb46uEENdkEHiCDhdirehc\/wBAOySfx3Y7bgrIqzVSaNcE3PFGT3QRYveyNhfI4Ma0ZLnHACr9bq2Eze62infX1J4bAOwO\/f5d0UW+RbJlhjXmZYHvZGwvkcGNaMlzjgBV+t1bEZHU9oppLhOOcbSWN+HH\/m9aotP3G7uE+oKt2znLaSE4aPMj6Z81YKSjpqGEQ0sDIWDk0Yz59Vbyx9TK8uTl5V9\/wV5sGsaxrpXVVNRHILYtkH6H98rtsd2rKirqLbcodirpxtFzB4S3dgk8MnKlqmojpKaWpmdsxxNLnHsFX9LROraqsv0rS11U8siBP6Bj7AceSm7i20Z8Lx5IxjJtvnb2LKiIsjtCIiAIiIAiIgNczDLBJG15YXtIDmnBGRxBUHoyrlqrK5k73PkgldHlxJONxG\/1x6KwKr6bxTajvNGBsgye0aMcBk\/\/AEFeOsWc2R8OWD62v36FoREVDpC56+tit9DNVzfkibtY6nkPU4C6FWNUPdcq+isULj+K4STlozst5fU\/DqrRVsxzZOCDa57dzPSdG+YVF7qm\/j1jzsZAy1mfr9Apa91HutkrJhxbE4DzIwP3K64omQxMijaGsY0Na0cgOAUbqNlJLZZoq2q92idg7Y3kkEHAHPhwU3xSspwfCwNLnX3Nekqf3fTlKD+aQGQ+pOP2ws7vqKhtLS17\/bVHAQRnLvXooWK43S8RR0VghfS0ULBH7zLxIAxx8um\/yUvaNM0NrImcPeariZpBvz1A5fPurSSTuRljnOUFDEtFu\/8AzqRkdsvGpXNmu8ppKI+JtNHucemf5\/AKxUFupLbB7GjhbE3iccXHuea6kVJSb0OjHhjB3zfVhYuc1jC97g1rRkknAAWupqoKOndPUytiiZxc5VWSW46wnMVPt0lqacOeRvk+\/Dhy5pGN67DLmUNErk+SM6urqNXVRt9BmO3RuHt5yPz4O4D6K0U1PHS00dPC3ZjjaGtHYLCioqe30rKamjDI2DcOvc910KZSvRciMWJxuU3cn+0giIqG4REQBERAEREAVXjJpv8AqHK0DAqqfl2A3\/5VaFWLxmDW1oqOT2GPPxH+5aQ3Xoc3idFGXRr2LOiIszpMJZWQxPlkcGsY0uc48gOJVZ0pCa6rrb\/UHLpnlkWf0tHH9sD0K2a2uYpLUKNh\/FqjgjowcfoPioy20l2vlDBSxA261xMAyD4pep75OTyC2jHyX1PPzZU86ildbev4Ja5arjbMaK0RGuqzuGwMsafr6bu61Uml5q2cV1\/qHVE\/KEHwNHTd8hu81lNW2\/TDo7ZbKN1TWSDJYze49No9+nIb+me6z31tynmpJ6d1LVwnxRO6dfkmqVxQXDOdZZW+m35ZKsYyNgZG0Ma0YDWjAC11NXT0cftKmeOFmcZe4BQl41I+KpFutEQq612443tZ9z8ua1UmkveJPer7VPrJz+gOIY3t\/wDmAqKO8jd5m3w4ldfRHc3VljdN7IV7c5xkscG\/HGF03G80VsohVTShzXD8MMIJk8lD3+Sw26nNELbBNUyjDIYowHZO4HIGR8yq7Y20FFJU1N4Li+hcGxUxOSXknO7sQtFjTVnNPxOSEuBtX16dybprdX6qqG1t2DqehbvhpxuLu\/X158la4oo4ImxQsbHGwYa1owAFVhqi6Mkp6me3MjoqiQsYCcPd04nz343\/ALq2Kk73N\/DfDduOr3b\/AHkERFmdYREQBERAEREAREQBVjWOYai01fKGp4+oP+1WdVfXc0BtDIDKz2wla8R7XixgjOPVaY\/mRzeL\/hkWckAZJwAq7ctUk1BoLLD75VnILmjLG9+\/yXIyK9apaDO80FuOBsAeOUcz6\/Dz5yNe2h0tYJnUkQY8t2GO\/U954Enj1PpuUqKTp6sznlnOLlHyx67\/ANEDp62zXTUFRU3NzasUvhc5x2ml\/IDkQN\/b4q13q6R2a1vqi0OIw2NnDaceA+Z9FzaVtwt9jhy0iWce1kyN+\/gPhhRt1ay+atpbYSXU9I0yTDkT0+Q9Spfmn6IzgnhwKvml\/r9jr0taX08DrlW\/iVtX4i9xyWtOCB5qFvDpblq4xWV4E\/sfZSyjcGnJDjnywMhXG4CoNvn91J9vsHYwN5PTiFWbBSRaYo6i43dwimlOwxpOXEDeQB1J+QSMruW4y46UcS0jzb\/dycs1lpbHR7LSHSkZlmdxP2A6KLuGoqm4VDrdp+L2z8YfU\/pZ3H3+C5wLtq53iDqC1n\/2lGf3+XmrLQW6ltlMKekiEbOJ6uPUnmodJ3LVl48WSPDj8sOu77e5BR0Nv0nRvuFbJ71WP4Pfxc7o3p5ri0vZW3SolvlcwH2kznRx48JOcl3lnI9Fp1FbrneNStgERETQGMeAdlreJJ77+X0Vhu9xptN2VscWGvDPZ07OJJA4ny4n+au2605sxjGLm3JVCH3ZHXQm86uo6CMOdBQn2k5HAO44PwA9SrUqLbNL3xtO+tbWGkqH+JsR\/M45z4umcDr3Uk3VNZbHNhvlukjO1sieIeF3fH2Poqyjekdi+HNwXLKmuLf\/AD9ZaEWmkq6eupmVNNKJIn8HBbliegmmrQREQkIiIAiIgC1zTw00RlnlZFG3i55wAoi8anpbc73enHvdYTsiKPfsnvj5cVwQafuN6e2q1BUODBvZSx7gPPp8+6uoaXLQ5pZ9eDGrf2XdntRqOtu87qPT0JI\/VVSNwGjtnh67+y4bxpllvsFTXVM7qquJaXSuJwMuAOOvHif2Vzgp4aWFsMEbY42jAa0YAUTq\/wDsvWfwf62q8Z+ZKJjlwXjlPI7dPstNkd1pdt2aidjG1TxnH8IUFec3nVVHadgPgph7af54PbGB\/Epi2zx02m6SeU4ZHRsc49gwKK0dBJOyrvE+faVkp2cn9IP33eihaXItPzqGPrq+yLKSAMk4AVY0dmrnud0dvNRPstPQccf5h8FM3yqFHZKuYkAiJwbk8yMD9yqdZJLxX2tlstjPd4QSZ6knjk8jy3Y3Df5JCNxZGfIo5oqrq3X2LHd9Tw0U3uVFGayuJ2RGzeGnvjn2+S5rdpmWpqBcL9L7zUHeICcsZ2PI+Q3eak7PYaKzQ7MDduUjxzOHid9h2UmocktImiwyyPizfTZe54AAMAYAXqIszqCja6x0dwuFPW1G259OfC3a8JxvGR571JIpTa5FZQjJVJBYSxRzRujljbIxww5rhkH0WaKCxppqWCjhENNCyKMcGtGAtyIhCSSpBERCQiKCu+p4aKb3KijNZXE7IjZvDT3xz7fJSotukUyZI41cmStbXU1vp3T1UzY2DmeJ7Ac1WX1931Q90Nta6ioMkOqHbi8dP5D1K3UWmqm4ztr9QTGZ\/FlOD4Wdjj5BWZjGRsDI2hjWjAa0YAV7jHlqznrJm+byx6bvv0I60WChszP6vHtSkYdM\/e4\/YdgpNEVG23bOmEIwXDFUgoXV\/wDZes\/g\/wBbVNKC1nJsaanb\/fcxv+YH6KYfMjLxH8M+zIu7Vcz9OWi0Uu+ethiB\/wAOyPrj0BUlVXqg07SRW6DNTUxsDGQs3knv0z04qq29l1vdzjkoC6IQwtgExGBE0NxuPInfw37+Sudn05Q2ce0YDNUHjNJx9Oi2mox0Zw4JZMrcoKtrfRdCrX6ju9TbHXS7TeyG0BFStG5uevTd5nyV0tcQgtNJE0ABkLBu8gtlXR09dD7GqiEsec7LuGVua0NaGtAAAwAOSzlPiVHXi8P8PI5Xdr+z1ERZnUEREAREQBERAEREAWEsscETpZntjjYMuc44AC1V1bBbqR9VUv2Y2DPcnoO6rEUFy1dOJ6supbU12WRDcZPv58OivGN6vkYZcvC+GKuT29zOpu1w1FUvobJmGmbulqnbs+XT5nspmz2Gis0OzA3blI8czh4nfYdl201LBR07YKaJsUTODWrcjlpS5EY8NPjm7l\/nYIiKh0BEVeu+phDP\/R9qj97rnHZGzvaw9+p+XNSouT0M8mSONXIkrreaOzwe0qpPEQdiNu9z\/JUXUVbdq+CCqrm+700pJggzxwPzY58eJ67laLVpktnNfeZRWVjsEB29sf3+S47i9t21zR0W58VGNp4zkbWNo\/7QtocMXoef4lZMkPNpbSS9\/YnLDbxbLNT0xzt7O0\/P947z9vRSKIsW7dnpQioxUVsERFBYIiIAiIgCIiAIiIAiIgKpURMvusJKKrf\/AFaiYHMh2vzndxHqfTCtTWhrQ1oAAGAByUPeNPMuMzaynndS1seNmUb+GcAj1Uey7ahs5MdytxrYWgATQbz5n4cwFq1xJUcUZfBlJzXN8+f17FpRVuPXNpdukZUxEcQ6MfQrezWVjf8Amqns\/wAUTvoCq8EuhqvE4X\/0idXjnBrS5xAAGSTyUI7WNibjFYXeUT\/qFAak1PDcxFQ0U7o6VxzPLsnJ7Y6fNTHHJvkVyeLxQi2mm+5IV15qr\/UvtdjyIuE9UdwDe379zyU1Z7JSWWn9nA3akcPHK4eJx+g7KCo9WWW3UjKWgo6pzWDgGNyepO\/eVvOq66qIbbbHUSbQ3PkyB05DHHurOMqpKkYY8uK+Ocrl6bdieuFdDbaGWrncA2NpIGcbR5AdyoDR1K+c1V7nz7Wre4Nz\/dzv5dd3oo2+W691lufXXR+XNx7GlgbnYJIyTjtnqrZZaQ0NmpKdzdlzIhtDGMOO8\/uSoaUYabl4yllzptUkrR3IiLI7giIgCIiAIiIAiIgCIiAIiIAiIgMJIYpRiSNjx\/5NBWh9rt8v\/coKZ\/8AihafoupFNsq4p80VbUooaGnbQ0FtpjW1nhY1kDchvM8Ph\/JSdn09R2uhZC6KOaXO0+VzASSemeAWxlopRfZLm7bfOWNDdp3hZuI3DyH7lSSvKWlI58eJObm16Ixa1rBhrQ0dhhZIizOoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:06",
    "ubicacionGPS": "LatLng(lat: -29.9325283, lng: -71.2469701)",
    "horaLlegada": "14:12",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


14/05/2026 16:06:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[14/05/2026 16:06: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', 'TO2428', 3, 20988335, 107653, NOW(), 
				'08:00', '14:12', '16:06', 4, 'se realiza cambio se unidad de imagen ya que esta llego al fin de su vida útil
01 RUNI2295', -1, 
				'', '','1','null',
				'null',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778789177.png', '', null, 'COMPLETADO','LatLng(lat: -29.9325283, lng: -71.2469701)' )
				
[14/05/2026 16:06:17] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 0
TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


14/05/2026 16:06:17 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12599			
				
14/05/2026 16:06:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16:06:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:06:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16:06:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

[14/05/2026 16:06:21] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 16:06:21] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 16: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 = 12599
                

14/05/2026 16:06:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

[14/05/2026 16:06: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;
                

14/05/2026 16:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:06:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:06:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:06:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:06:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

[14/05/2026 16:06: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;
                

14/05/2026 16:06:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:06:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/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 = 12599
                

14/05/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 = 12599
                

[14/05/2026 16:07: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;
                

14/05/2026 16:08:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:08:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:08:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:08:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

[14/05/2026 16:08: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;
                

14/05/2026 16:08:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:08:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

[14/05/2026 16:10:25] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 16:10:25] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 16:10:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:10:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:10:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16: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 = 12599
                

14/05/2026 16:10:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16:10:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16:10:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

[14/05/2026 16:10:27] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 16:10:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

[14/05/2026 16:10:27] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 16:10:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16:10:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:10:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:10:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:10:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

[14/05/2026 16:10:29] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 16: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 = 12603
                

[14/05/2026 16:10:29] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 16:10:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16:10:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16:10:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16:10:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:10:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16:10:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:10:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:10:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16:10:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:10:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:10:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:10:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:10:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16:10:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:10:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:10:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16:10:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:10:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:10:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:10:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:10:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:10:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16: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 = 12603
                

14/05/2026 16:10:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16:12:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16: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 = 12603
                

14/05/2026 16:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16: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 = 12603
                

14/05/2026 16:12:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16:12:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16:12:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16:12:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16:12:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16: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 = 12603
                

14/05/2026 16:12:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16:12:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:12:36 - logentry: =========================================
FECHA: 14/05/2026 16:12:36
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-W2V0Ofw.YPNO67V8kYaHkjujkT8Qf.a-ZD5fdYEKQBBBZK_hNL2
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76669222",
    "serieinterna": "TO2093",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "107653",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza cambio de unidad de imagen ya que esta llego al fin de su vida útil\n01 RUNI2295",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12603",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC0ARYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABCEAABAwMBBAcGAwQIBwAAAAABAAIDBAURIQYSMVETQWFxkaGxFCIyQoHBI1LRFTPh8BYkQ2KCksLxNDZEU3Jzsv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC8RAAIBAgMFBwQDAQAAAAAAAAABAgMREiExBBNBUWEiMnGBkbHRI6HB4TNC8CT\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREARFSxXaoO1s9rlEYgEIdFod4nAPPtd4BdSuQnNQtfi7F0iIuEwiIgCIuFZWQUFJJVVL9yOMZJ+wQ42krsVlZT0FM6pqpBHGziT6Dms\/Q3O73+5Mmov6pbIZPec4AumAPD69nDtXGjpKjautbcrg0x26M\/gU+fjx1n+exatjGRsDI2hjWjAa0YAVjtHLiZYudZ4r2j93+j6REVZrCIiAIii3GvhtlDLVznDYxkDrceoDvRK5xtRV2SkVBs5U3que+rrw1tJKHGFh0cPe06uGM8exX67JWdiFOaqRxJBERcLAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALL3cik23tVUdBMwxHXidR\/qC1CzG2wdBDb69oy6mqBj1\/wBKsp96xm2rKni5NP7mnReAgjIOQV6qzSEREB4SAMk4AWQmztffeha4\/sujOS5oIEjtNPXHZnmpu1FwqJHRWS3HNXVfHg\/CzBz3Z9AVb2u2wWmhZSQZLW6lx4uPWSrF2VfiZJ\/Wnu\/6rXr0+SU1rWMDGNDWtGAAMABfSIqzWEREAREQHzJIyKN0kjg1jAXOcToAOJWTpmP2uvDqmdr\/ANlUxxEw6b7tOPr4Bdb9Vz3m5N2foCQAQ6qkB0DdNPPXtwFoqOkhoKSOlp2bsUYw0KxdhX4syP688P8AVa9Xy8EdmtDWhrQAAMADqXqiV9zo7ZCZaudsYxo3PvO7h1rKyXi67VTOo7ZEaWl4Syk64PM9XcFyMG8+BOrXhTeHV8kaejvNDX1k1LSzdJJD8RDTu\/Q8EXlptFLZ6QQUzck6vkPxPPaii7XyLaePD29SeiIuEwiIgCIiAIiIAiIgCIiAIiIAiIgCpNsIOn2bqDjJjLXj6EZ8iVdqJdYTUWishAyXwPA78HClF2kmV1o4qco9Dy0T+02ikmJyXwtJ78a+amKj2OmEuzdOM5MZcw\/5ifQhXiSVpNHKMsVOMuiCi3GvhtlDLVzn3YxoM6uPUApSyV7cb\/tJTWWMk09OekqCPPyOO9yQV3mcr1HCGWryXiSdlrfPK6W+XDWqq\/gyBozAwRyz6LSLxrQ1oa0AADAA6l6kpYnclSpqnHCgiIolgREQBZ7aG+ywzstNsG\/XzkNJH9mD98a9g1XbaXaBtlpQ2LDqqUHo2n5R+Y\/zqsvaq6eITS22B1TcJhmetm0ZFnUgZ0+px3K6EMsTMG07Qk91F58efl1NRbaCg2ZoDLVTsEz9Zp3nVx5DrVJeNuXODobUzdB0M0g1\/wAI\/XwVR7LWXqv6OKV9xqfnmORFF9T1eHYCtdZdkqO2Fs8+Kmq47xHuNP8AdH39FJqMc5ZsojKtVWCisMef+\/3Uz9p2Vr7xKK26SSRxOOTvnMkg+vALcUdHT0FM2mpYxHGzgB6nmu6KqU3I3UNmhRWWvMIiKBoCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAvHAOaWnUEYK9RAZjYYllBWUxz+FUnj3AfZadZjZLLbpfIjxbU8f8T\/0WnU6neZm2T+FefuQ7tcGWu2TVj8Esb7rT8zjwHiq3ZO3PpqB1ZUgmqrHGR7nDXB+me1Q7+De9oqOytcehh\/FqAP5440\/xLUtaGtDWgAAYAHUuvsxtzOR+pWcuEcl48T1ERVmoIuFXWU1DCZqqdkLB1uOM93NUE21NRXzGmsFC6pcDgzyAhg+mnnjuUlFvQqqVoU8m8+XE0U08NNEZZ5WRRt4uecALK3XbqCLeitsXTP\/AO68YaO4cT5LNX+apfV9HV3D2udh98M\/dxnkO3ngePVEt9uq7nUdDSQmV3Wepo5k9S0RpRSvI8mtt1SUsFNW9y8MNGYmXnaCsdUzVA3o6WIjJHVnkOzT7KypbPcb81hrm\/s62t1jpIhul3aR9z4dasbJspTWxzKipd7TVt4OPws5YHZz9FfquVTkaqOytq9TLpz8X+DhSUdNQU7YKWFsUbflaPM8z2ruiKk9BJJWQREQ6EREAREQBERAEREAREQBERAEREAREQBERAEREBmNnP8Ama+f+0erloaupZR0ktTIQGRMLjk8gs9YwBthecDHD1X1tpVv9igtkDh01bKG4690H9ceataxTSMNOpu6Epcm\/cbH0sskVTeKgky1zyRrwaCfvn6ALSqhn2gtFipoqJsnTPhYGCOAZOmmvUPHKhiq2mvZc2ngFrpj88gO+R9dfADvRxcnd5I7TqQpRVNZvpzL+uudFbY9+rqGRaZDSfePcOJVB\/SK7XiUxWOh3Ys4NRONB9h5qXb9j7fSvM1WXV05OS+bhnu\/XKvWMZGwMjaGNaMBrRgBcvGOmZPDWqd54V019TOU+yHT1HtV6rZK6X8gJDR2c8d2FXbRbSxUkbrVZgyJjRuySRjAHY3HqpO0N+nrJzZ7KHSyu0lkj105A+pXew7H09AG1FeGz1HEMxlkf6nt\/wB1YnbtT9DJKOJuns68Zfszez2zE92n36lskNKzVziMF\/Y3Pqv0Kioaa307YKWFsbB1Die0nrUhFXOo5mvZ9lhQWWb5hERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAi5z1ENNGZJ5WRMAyXPdgKjq9srbDJ0VKJKyUnAbC3Qnv6\/plSUW9CudWFPvOxoFwq6ymoYTNVTshYOtxxnu5rOGbay7j8KGO2QuHF5w79QfoF3pdjaXpXT3OoluEzuJeS0euT4qWFLvMp305\/xx83kvkpKe9S\/wBKq6ptVKa01Ld2Matxw94jHDTsXzT0FftTfJorpUdEaRu68RgEN1+EYOOeuvBWFtkgt20l7qGsbHDTQ6MboMDGg8PNTdiqVzLVJXSkmWslLySBqAceufFWuWFXXQwU6bqSUZO6u21w1+Sxt2z9stZD6amHSAfvHned58PorJFTXnaOmtf4ETTU1j9GQs1we3l3cVRnJnqN06MeSLGtraa30zqiqlEcbes9Z5DmVhr3tLXXd7KWhjkhppnbjMaPmOcceXYrij2frLtUiv2hfvYH4dM04a3v\/TxVRfH1lsvs1X7PHE0DoqeTdy2McQQOo49T1q6mop82eftVSrKF32Yv18+RZwSUOxlqDZQyW5Sty5jTqeQ7GjzXbZS5Xa7VVVV1Tx7Jwa3dwA7k3uHH6LI2q3VO0F2EbnvdvHemmdrujnnn1Bfp1HSQ0FJHS07N2KMYaEqWiratjZHOrJSWUI6Lmd0RFnPVCIiAIiIAiIgCIiAIiIAiIgCIiAIii1VzoKIH2mrhiI6nPGfDj1Ja5xyUVdslIs5UbbW1kgipY56uQ6NEbMAnlrr5Lj+1Nqbj\/wAHa46Njvnm4jxxz5Ke7lxyM72qnpHPwzNSodXdrfQ59prIYyPlLxveHFUf9GrxXa3S+SYJ1jgBDT6DyUul2Os1Nq6ndO4HOZnk+QwPJdtFasbytLuxt4v8Ijz7a0jpOht1LPWyn4Q1pAP38lzcdrbqDuthtkR5\/GR5n0WkgpoKZm5TwRwtPVG0NHkuqYktEc3NSXfn6ZfszUGxdM+XprnWT10pOTlxa0\/fzV7SUFHQM3KSmjhGMHcbgnvPEqQii5N6lsKNOn3UERFEtPziuqd19+EYJfU1TYW7oySN5xOP8o8VvaOGO3WyGFzgxkEQDnOOgwNSSvzOlrIheWS1Tj7O2pM7gNd45zjt4Y+pWnZBc9rpGy1WaS1B2WRjR0nL\/fhyWmpHS+h42y1c20rvgvO\/pmdau\/1t6qDQWBhDScSVZGA0dnL15KysuzlJaPxtZ6tw96Z\/HPXjkrGjo6egpm01LGI42cAPU811kkZFG6SRwaxgLnOJ0AHEqly4R0PQhRzx1Hd\/ZeHyca2tp7fSvqamQMjYNTz7B2r83uFbWbU3pjI2auO5DFnRreOT6kr62ivkl8rw2Le9mjO7CzGpPM9pWu2W2fbaqQVE7P65K33s\/IPy+mVckqcbvUwznLbKm7j3Vr\/vYn2S0RWa3spo8Oefelf+d36clYoizttu7PVjFQiox0QREXCQREQBERAEREAREQBFnbneLpLd3WqzwxmRjd6SWQgho8dOPXr2YXE2HaGuOa6+dEPywA\/bdU8HNmZ17tqEW\/Y0ktRBAMzTRxjm9wHqqyo2pstNkOrmPI6ogX5+o0UKHYe2NeX1EtRUuPHffj0181Z0+z9opR+Fb4O97d8+Jyu9hC+0S0SX3Kh22rZ8i3WuqqnA44Y9Mr0Vm11d+5oaeiYeDpD7w8T9lpg0NGGgAcgvUxJaIbmo+9N+WRlxs1d6wZuV9lwfijhzun0HkpVLsbZ4MGSOSpdnOZX9f0x5q+Rc3kjq2aks2r+OfucaekpqRm5TU8cLeTGBvouyIoF6SWSCIiHQiIgCIiAKh2g2mprXG+nhPTVhGNxvyacSVHud\/qa2qNrsLelmOklQPhjHMH7+Cj11lpNn9mquZx6armYGOldqSXHBxy4lWxik1iMVavKUZbrRav46lbsXaIbhVy1VVH0jKfdDGu1BceY68ALfgADAGAFQbFUvs+z7JC3Dp3ueeeOA9PNaBcqyvJktjpqFFc3mFitt74d4Wumk0xmctPg37n6LTXm6xWe3SVUmC7hGwn4ndQWX2Tsb66qdeLgwkF+\/EHfO4nJd\/P2XaaS7TIbVKU2qENXr0RM2S2aFJG241rMzvGYmOH7scz2+i1aIoSk5O7NNKlGlDDEIiKJaEREAREQBERAEREAREQGdv9uqqetivdrj36mLSVmfjbjHD+erkp9mv1HeoS6AlkrR78Tj7w7e0dqs1R3bZqGtqPbaSQ0lcCCJW8Ce0c+1WJpqzM0oTpyc6ed9V+UXiLLUu0tZbKptDtFD0b3Y3KhgG64czjTw8FpopY54mywvbJG8Za5pyCFGUWiynWjU015cT7REUS0IiIAiIgCIiAIij11dTW6ldU1UgZG3xJ5AdZTU42krs6TTR08L5pnhkbBlznHQBZSora\/ayc0duD6a3NOJZ3AgvHL+HikVLX7XziprC+ltbHfhwg4Mnb\/HwWrggipoWQwRtjjYMNa0YAVmUPEydraOkPu\/hEe12ultNIKelZgcXOPF55lUG31SY7ZT04OOll3j2ho\/UhatYTa54r9p6O3jUN3GEZ+Zzv0wu0853Zza7QoOMeORsLVB7NaaSDGCyFoPfjXzUtEVTzNkVhSRlNu6IS0EVZ0r8xHdEedDnrx3BaSibu0NO3GMRNGOWigbTUUlfYaiCFhfL7rmNHEkEfbKmWsSi10onYWStiaHtPEEDBVjd4IzRhh2iTtqkSkRFWagiIgCIiAIiIAiIgCIiAIiIAiIgONTSwVkJhqYWSxni1wyFmJrLc9nZXVVjkdPTEgy0r\/ec7u01+mvetailGTRTUoxqZ6PnxKqzbQUl3Zuj8Gpbo+nefeHdzVqqS8bNQXCQVVLIaOtaciaPTePbj1UCO\/3KxPbTX+nMsZOGVUWDnTlpnyPYVLCpd0qVaVLKrpz4efI1SKPRV9JcIempJ2TM6906jvHEfVSFXoak01dBERDoRFVX2\/Q2aBo3elqZNIoRxPaez1XUm3ZEZzjCOKTyO12vNJZ6YzVL8uPwRA+889n6qiobNV3+qbdL5lsI1hpeAx28h5ld7Ts9NUVIu18d01U7VkJ1bGOrI7OXAd60qndRyjqZlCVZ4qisuC+fg8a0NaGtAAAwAOpeoirNZzmlZTwSTSHDI2lzj2AZX53ZjJX7W0tZOAz2mV0rQeze4dxGFodprg6ukbYLfmSeZw6ZzP7NoOcH7\/xXC4UjLTtBs+yMkta3oQXdeuM9\/vK+CsurPM2l7yaa0i163\/BrkRFQemEREAREQBERAEREAREQBERAEREAREQBERAEREAXxLFHNG6OWNsjHDDmuGQfovtEBm6rY+Fk\/tVoqZKCfqDXHd469v04LkLvtDZ8tudu9shGAJoOPecfcBalFPG+OZmezpO9N4X009Cjotr7PWYDpzTv5TDdHjwVnHcaGb91WU8n\/jK0\/dcqyzW24Emqo4pHH5sYd4jVZTaW1WG2RiGmgkNbMMRRRyE47TnPh1qSUZOyK51K1KOKVmvNfJo79fobLTjQSVMg\/Ci59p7PVV9jtQjmN4vE7JK2TUB7hiL+Poolq2FhdSNkuckomdr0cbgAwcjpqVObsNZ2uyfaHDkZP0C72ErJldq9SSnKKtwV9OuhbPvNrj+O40o7Ombn1UOba2yQ\/8AWh55MY4\/bC+Y9j7HHqaQvP8Aekd+qmQ2K0wACO3U+nW6MOPiVHsdTR\/0vkvV\/BTv23hm9y3W6qqpfy7uB5ZPkvDHtRemBsro7XA7ju\/GR45\/+VpmMZG3dY0NHIDC+kxJaI5uZy\/knfwy\/ZW2ex0lmic2DefI\/V8r9XO\/gpVRQ0tVLDLPC2R8Dt6Nx+U6ajwCkIoNtu5eqcYxwpZBERcJhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBV0Vjoo7tLdC18lTJwLzkM0xpy0CIpJ6lU0m435liiIoloREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/2Q==",
    "razonSocial": "TUTORIAS PREU GAUSS LA SERENA SPA ",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "SUBDIRECTO.IVREGION@PREUGAUS.COM",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CAMBIO UNIDAD DE IMAGEN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:12",
    "ubicacionGPS": "LatLng(lat: -29.9325279, lng: -71.2467579)",
    "horaLlegada": "16:10",
    "horaDespacho": "16:06",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 14/05/2026 16:12:36
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-W2V0Ofw.YPNO67V8kYaHkjujkT8Qf.a-ZD5fdYEKQBBBZK_hNL2
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76669222",
    "serieinterna": "TO2093",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "107653",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza cambio de unidad de imagen ya que esta llego al fin de su vida útil\n01 RUNI2295",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12603",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC0ARYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABCEAABAwMBBAcGAwQIBwAAAAABAAIDBAURIQYSMVETQWFxkaGxFCIyQoHBI1LRFTPh8BYkQ2KCksLxNDZEU3Jzsv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC8RAAIBAgMFBwQDAQAAAAAAAAABAgMREiExBBNBUWEiMnGBkbHRI6HB4TNC8CT\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREARFSxXaoO1s9rlEYgEIdFod4nAPPtd4BdSuQnNQtfi7F0iIuEwiIgCIuFZWQUFJJVVL9yOMZJ+wQ42krsVlZT0FM6pqpBHGziT6Dms\/Q3O73+5Mmov6pbIZPec4AumAPD69nDtXGjpKjautbcrg0x26M\/gU+fjx1n+exatjGRsDI2hjWjAa0YAVjtHLiZYudZ4r2j93+j6REVZrCIiAIii3GvhtlDLVznDYxkDrceoDvRK5xtRV2SkVBs5U3que+rrw1tJKHGFh0cPe06uGM8exX67JWdiFOaqRxJBERcLAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALL3cik23tVUdBMwxHXidR\/qC1CzG2wdBDb69oy6mqBj1\/wBKsp96xm2rKni5NP7mnReAgjIOQV6qzSEREB4SAMk4AWQmztffeha4\/sujOS5oIEjtNPXHZnmpu1FwqJHRWS3HNXVfHg\/CzBz3Z9AVb2u2wWmhZSQZLW6lx4uPWSrF2VfiZJ\/Wnu\/6rXr0+SU1rWMDGNDWtGAAMABfSIqzWEREAREQHzJIyKN0kjg1jAXOcToAOJWTpmP2uvDqmdr\/ANlUxxEw6b7tOPr4Bdb9Vz3m5N2foCQAQ6qkB0DdNPPXtwFoqOkhoKSOlp2bsUYw0KxdhX4syP688P8AVa9Xy8EdmtDWhrQAAMADqXqiV9zo7ZCZaudsYxo3PvO7h1rKyXi67VTOo7ZEaWl4Syk64PM9XcFyMG8+BOrXhTeHV8kaejvNDX1k1LSzdJJD8RDTu\/Q8EXlptFLZ6QQUzck6vkPxPPaii7XyLaePD29SeiIuEwiIgCIiAIiIAiIgCIiAIiIAiIgCpNsIOn2bqDjJjLXj6EZ8iVdqJdYTUWishAyXwPA78HClF2kmV1o4qco9Dy0T+02ikmJyXwtJ78a+amKj2OmEuzdOM5MZcw\/5ifQhXiSVpNHKMsVOMuiCi3GvhtlDLVzn3YxoM6uPUApSyV7cb\/tJTWWMk09OekqCPPyOO9yQV3mcr1HCGWryXiSdlrfPK6W+XDWqq\/gyBozAwRyz6LSLxrQ1oa0AADAA6l6kpYnclSpqnHCgiIolgREQBZ7aG+ywzstNsG\/XzkNJH9mD98a9g1XbaXaBtlpQ2LDqqUHo2n5R+Y\/zqsvaq6eITS22B1TcJhmetm0ZFnUgZ0+px3K6EMsTMG07Qk91F58efl1NRbaCg2ZoDLVTsEz9Zp3nVx5DrVJeNuXODobUzdB0M0g1\/wAI\/XwVR7LWXqv6OKV9xqfnmORFF9T1eHYCtdZdkqO2Fs8+Kmq47xHuNP8AdH39FJqMc5ZsojKtVWCisMef+\/3Uz9p2Vr7xKK26SSRxOOTvnMkg+vALcUdHT0FM2mpYxHGzgB6nmu6KqU3I3UNmhRWWvMIiKBoCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAvHAOaWnUEYK9RAZjYYllBWUxz+FUnj3AfZadZjZLLbpfIjxbU8f8T\/0WnU6neZm2T+FefuQ7tcGWu2TVj8Esb7rT8zjwHiq3ZO3PpqB1ZUgmqrHGR7nDXB+me1Q7+De9oqOytcehh\/FqAP5440\/xLUtaGtDWgAAYAHUuvsxtzOR+pWcuEcl48T1ERVmoIuFXWU1DCZqqdkLB1uOM93NUE21NRXzGmsFC6pcDgzyAhg+mnnjuUlFvQqqVoU8m8+XE0U08NNEZZ5WRRt4uecALK3XbqCLeitsXTP\/AO68YaO4cT5LNX+apfV9HV3D2udh98M\/dxnkO3ngePVEt9uq7nUdDSQmV3Wepo5k9S0RpRSvI8mtt1SUsFNW9y8MNGYmXnaCsdUzVA3o6WIjJHVnkOzT7KypbPcb81hrm\/s62t1jpIhul3aR9z4dasbJspTWxzKipd7TVt4OPws5YHZz9FfquVTkaqOytq9TLpz8X+DhSUdNQU7YKWFsUbflaPM8z2ruiKk9BJJWQREQ6EREAREQBERAEREAREQBERAEREAREQBERAEREBmNnP8Ama+f+0erloaupZR0ktTIQGRMLjk8gs9YwBthecDHD1X1tpVv9igtkDh01bKG4690H9ceataxTSMNOpu6Epcm\/cbH0sskVTeKgky1zyRrwaCfvn6ALSqhn2gtFipoqJsnTPhYGCOAZOmmvUPHKhiq2mvZc2ngFrpj88gO+R9dfADvRxcnd5I7TqQpRVNZvpzL+uudFbY9+rqGRaZDSfePcOJVB\/SK7XiUxWOh3Ys4NRONB9h5qXb9j7fSvM1WXV05OS+bhnu\/XKvWMZGwMjaGNaMBrRgBcvGOmZPDWqd54V019TOU+yHT1HtV6rZK6X8gJDR2c8d2FXbRbSxUkbrVZgyJjRuySRjAHY3HqpO0N+nrJzZ7KHSyu0lkj105A+pXew7H09AG1FeGz1HEMxlkf6nt\/wB1YnbtT9DJKOJuns68Zfszez2zE92n36lskNKzVziMF\/Y3Pqv0Kioaa307YKWFsbB1Die0nrUhFXOo5mvZ9lhQWWb5hERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAi5z1ENNGZJ5WRMAyXPdgKjq9srbDJ0VKJKyUnAbC3Qnv6\/plSUW9CudWFPvOxoFwq6ymoYTNVTshYOtxxnu5rOGbay7j8KGO2QuHF5w79QfoF3pdjaXpXT3OoluEzuJeS0euT4qWFLvMp305\/xx83kvkpKe9S\/wBKq6ptVKa01Ld2Matxw94jHDTsXzT0FftTfJorpUdEaRu68RgEN1+EYOOeuvBWFtkgt20l7qGsbHDTQ6MboMDGg8PNTdiqVzLVJXSkmWslLySBqAceufFWuWFXXQwU6bqSUZO6u21w1+Sxt2z9stZD6amHSAfvHned58PorJFTXnaOmtf4ETTU1j9GQs1we3l3cVRnJnqN06MeSLGtraa30zqiqlEcbes9Z5DmVhr3tLXXd7KWhjkhppnbjMaPmOcceXYrij2frLtUiv2hfvYH4dM04a3v\/TxVRfH1lsvs1X7PHE0DoqeTdy2McQQOo49T1q6mop82eftVSrKF32Yv18+RZwSUOxlqDZQyW5Sty5jTqeQ7GjzXbZS5Xa7VVVV1Tx7Jwa3dwA7k3uHH6LI2q3VO0F2EbnvdvHemmdrujnnn1Bfp1HSQ0FJHS07N2KMYaEqWiratjZHOrJSWUI6Lmd0RFnPVCIiAIiIAiIgCIiAIiIAiIgCIiAIii1VzoKIH2mrhiI6nPGfDj1Ja5xyUVdslIs5UbbW1kgipY56uQ6NEbMAnlrr5Lj+1Nqbj\/wAHa46Njvnm4jxxz5Ke7lxyM72qnpHPwzNSodXdrfQ59prIYyPlLxveHFUf9GrxXa3S+SYJ1jgBDT6DyUul2Os1Nq6ndO4HOZnk+QwPJdtFasbytLuxt4v8Ijz7a0jpOht1LPWyn4Q1pAP38lzcdrbqDuthtkR5\/GR5n0WkgpoKZm5TwRwtPVG0NHkuqYktEc3NSXfn6ZfszUGxdM+XprnWT10pOTlxa0\/fzV7SUFHQM3KSmjhGMHcbgnvPEqQii5N6lsKNOn3UERFEtPziuqd19+EYJfU1TYW7oySN5xOP8o8VvaOGO3WyGFzgxkEQDnOOgwNSSvzOlrIheWS1Tj7O2pM7gNd45zjt4Y+pWnZBc9rpGy1WaS1B2WRjR0nL\/fhyWmpHS+h42y1c20rvgvO\/pmdau\/1t6qDQWBhDScSVZGA0dnL15KysuzlJaPxtZ6tw96Z\/HPXjkrGjo6egpm01LGI42cAPU811kkZFG6SRwaxgLnOJ0AHEqly4R0PQhRzx1Hd\/ZeHyca2tp7fSvqamQMjYNTz7B2r83uFbWbU3pjI2auO5DFnRreOT6kr62ivkl8rw2Le9mjO7CzGpPM9pWu2W2fbaqQVE7P65K33s\/IPy+mVckqcbvUwznLbKm7j3Vr\/vYn2S0RWa3spo8Oefelf+d36clYoizttu7PVjFQiox0QREXCQREQBERAEREAREQBFnbneLpLd3WqzwxmRjd6SWQgho8dOPXr2YXE2HaGuOa6+dEPywA\/bdU8HNmZ17tqEW\/Y0ktRBAMzTRxjm9wHqqyo2pstNkOrmPI6ogX5+o0UKHYe2NeX1EtRUuPHffj0181Z0+z9opR+Fb4O97d8+Jyu9hC+0S0SX3Kh22rZ8i3WuqqnA44Y9Mr0Vm11d+5oaeiYeDpD7w8T9lpg0NGGgAcgvUxJaIbmo+9N+WRlxs1d6wZuV9lwfijhzun0HkpVLsbZ4MGSOSpdnOZX9f0x5q+Rc3kjq2aks2r+OfucaekpqRm5TU8cLeTGBvouyIoF6SWSCIiHQiIgCIiAKh2g2mprXG+nhPTVhGNxvyacSVHud\/qa2qNrsLelmOklQPhjHMH7+Cj11lpNn9mquZx6armYGOldqSXHBxy4lWxik1iMVavKUZbrRav46lbsXaIbhVy1VVH0jKfdDGu1BceY68ALfgADAGAFQbFUvs+z7JC3Dp3ueeeOA9PNaBcqyvJktjpqFFc3mFitt74d4Wumk0xmctPg37n6LTXm6xWe3SVUmC7hGwn4ndQWX2Tsb66qdeLgwkF+\/EHfO4nJd\/P2XaaS7TIbVKU2qENXr0RM2S2aFJG241rMzvGYmOH7scz2+i1aIoSk5O7NNKlGlDDEIiKJaEREAREQBERAEREAREQGdv9uqqetivdrj36mLSVmfjbjHD+erkp9mv1HeoS6AlkrR78Tj7w7e0dqs1R3bZqGtqPbaSQ0lcCCJW8Ce0c+1WJpqzM0oTpyc6ed9V+UXiLLUu0tZbKptDtFD0b3Y3KhgG64czjTw8FpopY54mywvbJG8Za5pyCFGUWiynWjU015cT7REUS0IiIAiIgCIiAIij11dTW6ldU1UgZG3xJ5AdZTU42krs6TTR08L5pnhkbBlznHQBZSora\/ayc0duD6a3NOJZ3AgvHL+HikVLX7XziprC+ltbHfhwg4Mnb\/HwWrggipoWQwRtjjYMNa0YAVmUPEydraOkPu\/hEe12ultNIKelZgcXOPF55lUG31SY7ZT04OOll3j2ho\/UhatYTa54r9p6O3jUN3GEZ+Zzv0wu0853Zza7QoOMeORsLVB7NaaSDGCyFoPfjXzUtEVTzNkVhSRlNu6IS0EVZ0r8xHdEedDnrx3BaSibu0NO3GMRNGOWigbTUUlfYaiCFhfL7rmNHEkEfbKmWsSi10onYWStiaHtPEEDBVjd4IzRhh2iTtqkSkRFWagiIgCIiAIiIAiIgCIiAIiIAiIgONTSwVkJhqYWSxni1wyFmJrLc9nZXVVjkdPTEgy0r\/ec7u01+mvetailGTRTUoxqZ6PnxKqzbQUl3Zuj8Gpbo+nefeHdzVqqS8bNQXCQVVLIaOtaciaPTePbj1UCO\/3KxPbTX+nMsZOGVUWDnTlpnyPYVLCpd0qVaVLKrpz4efI1SKPRV9JcIempJ2TM6906jvHEfVSFXoak01dBERDoRFVX2\/Q2aBo3elqZNIoRxPaez1XUm3ZEZzjCOKTyO12vNJZ6YzVL8uPwRA+889n6qiobNV3+qbdL5lsI1hpeAx28h5ld7Ts9NUVIu18d01U7VkJ1bGOrI7OXAd60qndRyjqZlCVZ4qisuC+fg8a0NaGtAAAwAOpeoirNZzmlZTwSTSHDI2lzj2AZX53ZjJX7W0tZOAz2mV0rQeze4dxGFodprg6ukbYLfmSeZw6ZzP7NoOcH7\/xXC4UjLTtBs+yMkta3oQXdeuM9\/vK+CsurPM2l7yaa0i163\/BrkRFQemEREAREQBERAEREAREQBERAEREAREQBERAEREAXxLFHNG6OWNsjHDDmuGQfovtEBm6rY+Fk\/tVoqZKCfqDXHd469v04LkLvtDZ8tudu9shGAJoOPecfcBalFPG+OZmezpO9N4X009Cjotr7PWYDpzTv5TDdHjwVnHcaGb91WU8n\/jK0\/dcqyzW24Emqo4pHH5sYd4jVZTaW1WG2RiGmgkNbMMRRRyE47TnPh1qSUZOyK51K1KOKVmvNfJo79fobLTjQSVMg\/Ci59p7PVV9jtQjmN4vE7JK2TUB7hiL+Poolq2FhdSNkuckomdr0cbgAwcjpqVObsNZ2uyfaHDkZP0C72ErJldq9SSnKKtwV9OuhbPvNrj+O40o7Ombn1UOba2yQ\/8AWh55MY4\/bC+Y9j7HHqaQvP8Aekd+qmQ2K0wACO3U+nW6MOPiVHsdTR\/0vkvV\/BTv23hm9y3W6qqpfy7uB5ZPkvDHtRemBsro7XA7ju\/GR45\/+VpmMZG3dY0NHIDC+kxJaI5uZy\/knfwy\/ZW2ex0lmic2DefI\/V8r9XO\/gpVRQ0tVLDLPC2R8Dt6Nx+U6ajwCkIoNtu5eqcYxwpZBERcJhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBV0Vjoo7tLdC18lTJwLzkM0xpy0CIpJ6lU0m435liiIoloREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/2Q==",
    "razonSocial": "TUTORIAS PREU GAUSS LA SERENA SPA ",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "SUBDIRECTO.IVREGION@PREUGAUS.COM",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CAMBIO UNIDAD DE IMAGEN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:12",
    "ubicacionGPS": "LatLng(lat: -29.9325279, lng: -71.2467579)",
    "horaLlegada": "16:10",
    "horaDespacho": "16:06",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


14/05/2026 16:12:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76669222

[14/05/2026 16:12: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('76669222', 'TO2093', 1, 20988335, 107653, NOW(), 
				'16:06', '16:10', '16:12', 4, 'se realiza cambio de unidad de imagen ya que esta llego al fin de su vida útil
01 RUNI2295', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778789556.png', '', null, 'COMPLETADO','LatLng(lat: -29.9325279, lng: -71.2467579)' )
				
[14/05/2026 16:12:36] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200321

14/05/2026 16:12:36 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200321'                    
				WHERE idllamado = 12603			
				TO ENVIO: SUBDIRECTO.IVREGION@PREUGAUS.COM, tecnico@dsprint.cl


14/05/2026 16:12:36 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12603			
				
14/05/2026 16:12:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


14/05/2026 16:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:12:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

14/05/2026 16:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12603
                

[14/05/2026 16:12:41] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 16:12:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16:12:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

[14/05/2026 16:12:41] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 16:12:42] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 16:12:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16:12:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12603
            GROUP BY l.idllamado;
            

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16: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 = 12603
                

14/05/2026 16:12:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:12:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

[14/05/2026 16:12:44] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 16:12:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:12:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:12:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:12:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:12:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:12:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:12:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:12:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:12:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:12:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:12:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:12:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

[14/05/2026 16:12:44] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 16:12:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

[14/05/2026 16:12: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;
                

14/05/2026 16:12:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:12:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:12:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                
[14/05/2026 16:28: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[14/05/2026 16:28:57] 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;
                

[14/05/2026 16:28: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;
                

14/05/2026 16:29:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:29:03 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12604
LIMIT 1;
        

[14/05/2026 16:29:03] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 16:29: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;
                

14/05/2026 16:29:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:29:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

[14/05/2026 16:29: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;
                

[14/05/2026 16:29: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;
                

14/05/2026 16:29:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:29:10 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

[14/05/2026 16:29: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;
                

[14/05/2026 16:29:14] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 16:29:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:29:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

[14/05/2026 16:29:16] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 16:29:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

[14/05/2026 16:29:17] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[14/05/2026 16:29:19] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                
[14/05/2026 16:37: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[14/05/2026 16:37:29] 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;
                

[14/05/2026 16:37: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;
                

[14/05/2026 16:37:37] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 16:37:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:37:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:37:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:37:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:37:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:37:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

[14/05/2026 16:37:42] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 16:37:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:37:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:37:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:37:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:37:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:37:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:37:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:37:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:37:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:37:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:37:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:37:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:37:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:37:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:37:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:37:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:37:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:37:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:37:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:37:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:37:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:37:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:37:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:37:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:38:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16: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 = 12599
                

14/05/2026 16:38:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16:38:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:38:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16:38:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:38:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:38:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:38:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:38:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:38:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:38:42 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:38:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:38:42 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16:38:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:38:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:38:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:38:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16:38:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:38:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:38:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:38:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:38:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:38:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:38:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:38:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:38:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:38:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:38:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:38:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:38:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:38:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:38:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:38:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:38:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:38:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:38:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:38:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:38:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16:38:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:38:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:38:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:38:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:38:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:38:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16:38:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:38:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16:38:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:38:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16: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 = 12599
                

14/05/2026 16:38:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:38:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16: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 = 12599
                

14/05/2026 16:38:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:38:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16: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 = 12599
                

14/05/2026 16:38:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:38:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16: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 = 12599
                

14/05/2026 16:39:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:39:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:39:06 - logentry: =========================================
FECHA: 14/05/2026 16:39:06
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-1TyIrwCWkSu_hiL3t6Z92r6Grue20dJq_BmGl6x.nzcf.dYN6bW
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "TO2428",
    "correlativo": "3",
    "ddServicio": "Ciudad",
    "ubicacion": "Colegio Palau",
    "ciudadmaquina": "La Serena",
    "departamentomaquina": "Central de apuntes",
    "rutTecnico": "20988335",
    "contador": "47190",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza instalación de equipo y se da inducción de uso de este",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12599",
    "observacion": "",
    "firma": "",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:39",
    "ubicacionGPS": "LatLng(lat: -29.9255436, lng: -71.2579185)",
    "horaLlegada": "14:12",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "68213"
}
=========================================
FECHA: 14/05/2026 16:39:06
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-1TyIrwCWkSu_hiL3t6Z92r6Grue20dJq_BmGl6x.nzcf.dYN6bW
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "TO2428",
    "correlativo": "3",
    "ddServicio": "Ciudad",
    "ubicacion": "Colegio Palau",
    "ciudadmaquina": "La Serena",
    "departamentomaquina": "Central de apuntes",
    "rutTecnico": "20988335",
    "contador": "47190",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza instalación de equipo y se da inducción de uso de este",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12599",
    "observacion": "",
    "firma": "",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:39",
    "ubicacionGPS": "LatLng(lat: -29.9255436, lng: -71.2579185)",
    "horaLlegada": "14:12",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "68213"
}
==========DATOS ENVIADOS===============================


14/05/2026 16:39:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[14/05/2026 16:39: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('76121841', 'TO2428', 3, 20988335, 47190, NOW(), 
				'08:00', '14:12', '16:39', 1, 'se realiza instalación de equipo y se da inducción de uso de este', -1, 
				'', '','1','0',
				'0',1,'', '', 68213, 'COMPLETADO','LatLng(lat: -29.9255436, lng: -71.2579185)' )
				
[14/05/2026 16:39:06] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200322

14/05/2026 16:39:06 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'TO2428'
		
14/05/2026 16:39:06 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'TO2428'
				   AND estado = 1
				
14/05/2026 16:39:06 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'TO2428', 4, 1, now(), 'Colegio Palau', 'La Serena', 'Central de apuntes');
				
14/05/2026 16:39:06 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200322'                    
				WHERE idllamado = 12599			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


14/05/2026 16:39:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:39:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:39:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:39:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:39:06 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12599			
				
14/05/2026 16:39:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


14/05/2026 16:39:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:39:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:39:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:39:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:39:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:39:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:39:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:39:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

[14/05/2026 16:39:16] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 16:39:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:39:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

14/05/2026 16:39:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
14/05/2026 16:39:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12599
LIMIT 1;
        

[14/05/2026 16:39:16] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

14/05/2026 16:39:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

14/05/2026 16:39:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12599
                

[14/05/2026 16:48: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;
                
[14/05/2026 20:36: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;
				
[14/05/2026 20:36: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;
                

[14/05/2026 20:36: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;
                
[15/05/2026 10:42: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;
				
[15/05/2026 10:42: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;
                

[15/05/2026 10:42:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 10:42:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[15/05/2026 10:42:51] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[15/05/2026 10:42:51] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[15/05/2026 11:28:47] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 20988335 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '20988335'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[15/05/2026 11:28: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

[15/05/2026 11:28: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;
                

15/05/2026 11:28:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:28:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12604
LIMIT 1;
        

[15/05/2026 11:28: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;
                

15/05/2026 11:28:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:28:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12604
LIMIT 1;
        

[15/05/2026 11:28: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;
                

15/05/2026 11:28:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:28:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12604
LIMIT 1;
        

15/05/2026 11:28:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:28:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:28:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:28:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:28:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12604
LIMIT 1;
        

15/05/2026 11:28:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:28:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:28:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:28:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12604
LIMIT 1;
        

15/05/2026 11:28:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:28:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:28:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:28:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:28:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12604
LIMIT 1;
        

15/05/2026 11:28:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:29:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:29:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12604
LIMIT 1;
        

15/05/2026 11:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:29:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:29:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12604
LIMIT 1;
        

15/05/2026 11:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:29:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:29:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12604
LIMIT 1;
        

15/05/2026 11:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:29:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:29:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:29:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:29:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12604
LIMIT 1;
        

15/05/2026 11:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:29:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:29:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12604
LIMIT 1;
        

15/05/2026 11:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:29:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:29:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:29:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:29:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:29:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12604
LIMIT 1;
        

15/05/2026 11:29:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/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 = 12604
                

15/05/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 = 12604
                

15/05/2026 11: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 = 12604
                

15/05/2026 11:31:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:31:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12604
LIMIT 1;
        

15/05/2026 11: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 = 12604
                

15/05/2026 11:31:24 - logentry: =========================================
FECHA: 15/05/2026 11:31:24
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Pv3cZORDpj-6n-ho90aP5de4Js_T2gFD3IJSbpxAjAoRmcOaGNU
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "KY3156",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "mercosur",
    "ciudadmaquina": "Coquimbo",
    "departamentomaquina": "romana 6",
    "rutTecnico": "20988335",
    "contador": "5",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se instala maquina, se da inducción de uso se conecta a un pc para imprimir y escanear.",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12604",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABnAMQDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA5EAABAwMBBQUGBQIHAAAAAAABAAIDBAURIQYSMUFREzJhcbEUIiOBkcEHFaHR4UKCFjM0UsLi8P\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC4RAAICAQMCBAQGAwAAAAAAAAABAgMREiExQVEEMmHRE3GRoRQiQoHh8HLB8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAXxzg1pc4gADJJ5KNX3GltlMairlEbOA6uPQDms1i77XOG8DQ2snh\/VKM\/r6eavGOd3wYWXKD0pZl2\/vB6uO2LpLlT0VoayUula10j+68k43R4eK1qx\/5fSw7Z2+gpoWshpITIernanJPPXC2CmeFjBn4Z2ScnN9cBERZnWEREAREQBERAEREAREQBERAEREAREQBEXKoqIaSB09RI2ONgyXOKEN43Z1VJedpIqB4pKNntdc47ohZrunxx6Kvlvdy2gldS2KJ0MAOH1cmmPLp6+StrNs9R2dgcwdrUEe9O8any6BaaVHzHK7ZW7Vcd\/buVtv2aqK2oFx2glM8x7tOe6wdDy+Q081pmtDWhrQAAMADkvqKspOXJtXVGtYX8mYh1\/ESozrimGPDRq06zJJi\/EMDQ9tTdOGn\/VaZTPp8jPw\/6\/8AJhERUOkIiIAiIgCIiAIiIAiIgCIiAIiIAi5zTxU0RlmkbGxvFzjhZee+XG\/zOpLDG6KEHElW8Yx5dPXyVoxbMbLo17Pd9upaXnaSjtPwh8eqd3YWanPj09VWQ2S5bQTtq788xQN1jpGHGPPp6+Ss7Ns3R2n4p+PVO70z9Tnw6equFbUo+UyVU7d7eO3v3PEUUcETYoWNjjYMNa0YAC9oizOvgIiIDMXI+zbdW2Y9yaIx5PX3h9wtOsxtmDTG23NoJNLUagc84P8Ax\/VaZpDmhw1BGQry8qZzU7WTj65+qPqIiodIREQBERAEREAREQBERAEREAVZeL7SWeHMp7SZ3chYfed+wUC7bRvM35fZGe11jjguaMtj+32C62bZtlHL7fXv9puD9XPOoafDx8VoopbyOWVspvRV+76L3ZAgs9w2jmbW3txhphrFSsJB8z09fJaiCnhpYWwwRtjjaMBrRgBdEVZSbNK6Y178t9QiIqmwREQBEVdLe6WG9R2qTfZLIzea5ww0nkAeedfmMcVKTfBWUox5Zz2mpTV7PVkY4tZ2g\/tOfsudmutONmKWsqpWRMZGGOcTzb7v1OOCn11fS0ETXVMrGdodxjXHvE8v54BYO0WsS3xlrugnghBMsVO46OPQ\/IfotIrMdzium67k47trHtkvztLcLpUOisNB2sbO9PLoD5cMf+0XOeu2ns8ftdc2Crp2n32xYBAwdc401xqtRFFHBE2KFjY42DDWtGAAvr2NkjdG9oc1wIcDzCjUu2xr8CxrLm8\/b6HKirIa+kjqqd2Y5BkZ4jwK7rL7JuNvr7jZJTgwydpEDxLT\/G6fmtQqyWHg0psdkE3z1+YREVTYIiIAiIgCIqm97QUtmi3XHtalw9yBp1PiegUpNvCKTnGEdUnhEyvuNJbKcz1cwjbyHNx6Ac1mjUXjaxxZTB1Bbc4dIe88ffyGniu9tsVVdagXPaD33n\/LpTo1g8R9vqtO1oa0NaAABgAclfKhxuzn0zv3ltHt1fzINqs1FZ4ezpY\/eIw+R2rneZ+ynoio23uzpjFRWIrCCIigsEREAXzeG9u5GcZwvMcsc0YkjeHtIyCDlZa51AotvqF5cQyaIB4zpk7zR9laMc7GNtqrSfdpGsWS28Yx1DS1Mbx2kU25lp1GQfuxa1ZCz0EV12juNZK17oYJ\/hEuOC7JGn0z9FavZ6uxl4rMoqtfq\/6T4KafaOwOprtSvp6iN26HubglwGjxnz15HVUsME13p3WqpeIrxbDmCQnWRo5Z8NNfI9Vulm9qqCSIw3yjGKijILwP6mfx6Eq0Jb4M76cR1c459V7rktLJV1lZbhJXUzqedrixwIxvY5hWCi26viuVBFVw92QZweLTzH1UpZPk7K\/It8+pRXmxTVNZHc7bN2FdHoTnR7fodfPRS7HdmXah7TIE0Z3JWjk7r5fyrJZistNztN1ludlDJWTkdtTO5knXHr4ZV09SwzCcXVLXFbPlf7NOizA2zMH+vs9ZTddM+oC8v2trK4GOz2meV54SSj3R540\/VPhyJ\/F09H9malFDtf5gKBn5mYzU673Z8Mcs+Pkio9joi8rJMRc5po6eF80zwyNgy5zjoAsrJcLttRK+C2A0lACWvqDxf4fwPmVMY5MrLlXty30Jt52ikZUNttnYKmuk0y3BbH9s+nNdLLs3HQv9srX+1V7zvOkfruHw\/f0Uy0WOjssJZTtJkcPfld3nfsPBWKlySWIlIVOUtdvPRdF\/PqFm7vUT0219qIlkEMrSwsa7QnUaj+4LSLNbaRvjpqK4xtLnUdQHEgcAeZ+YA+aV+bA8TlV6l0w\/uaVFzgmjqYI54nb0cjQ5p6groqHSnkKnF3l\/xUbW9gbF2O+w83Hj+\/0VwsxtFm3bQ2278Ih8KVwHAZxrr0cforwWXgwvk4RUl0az8jTqLc6d9Va6qniPxJInNb540Uhj2SMD43B7XDIc05BXC4V0NtoZaudwDY2kgZxvHkB4lVWc7Gs8aXngymxt0ioWVlHcKtsHZEbrZpAADqHAZ+Wig3Cmqdoqi4Xima8w0wDYNO9jBOnHgS75q02a2epK63GtuVMJZJ5S9mSR7unIHqDx5ea1UMMVPE2KGNsbGjAa0YAW0pqMm1yebV4edtMYzf5fv6GaqtrYn2Bpgfm4zt7MQsHvMfwJx6fJWmztsNrtTI5GtE8hL5S1oGp5adOCkxWm3wVPtEVHCyX\/AHBvl+wUxZyksYR111T1a7HlpYX97heXNa9hY9oc1wwQRkEL0iodJBtdpprPBJBS7+4+QvIe7OCcaD6KciKW87srGKisLgIiKCwREQBERAUF2sdbeboxtRVhtsYA7smDDi7mD+\/LpzV3DDHTwshhYGRsGGtaNAERS5NrBnGuMZOS5Z0REUGgXCspIq6jlpZhlkrS0+HiiIQ0msMr9mqOut9rNJWgAxyOEeHA5Zy4eOVboilvLyVhBQioroFwrKOCvpX01TGJInjUFEUFmk1hmeGytfQOJtN4lijzpFIdBrnxH6LrS7LSSVTaq8V8lc9mrWZIa06HT5jlhEV\/iSOdeFqT4\/bO30NEAAMAYAX1EVDpCIiAIiIAiIgCIiAIiIAiIgP\/2Q==",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "JOSE TORREJON",
    "correoContacto": "eordonez@mercosurltda.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56992532005",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:31",
    "ubicacionGPS": "LatLng(lat: -30.0160936, lng: -71.3762213)",
    "horaLlegada": "09:30",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 15/05/2026 11:31:24
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Pv3cZORDpj-6n-ho90aP5de4Js_T2gFD3IJSbpxAjAoRmcOaGNU
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "KY3156",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "mercosur",
    "ciudadmaquina": "Coquimbo",
    "departamentomaquina": "romana 6",
    "rutTecnico": "20988335",
    "contador": "5",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se instala maquina, se da inducción de uso se conecta a un pc para imprimir y escanear.",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12604",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABnAMQDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA5EAABAwMBBQUGBQIHAAAAAAABAAIDBAURIQYSMUFREzJhcbEUIiOBkcEHFaHR4UKCFjM0UsLi8P\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC4RAAICAQMCBAQGAwAAAAAAAAABAgMREiExQVEEMmHRE3GRoRQiQoHh8HLB8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAXxzg1pc4gADJJ5KNX3GltlMairlEbOA6uPQDms1i77XOG8DQ2snh\/VKM\/r6eavGOd3wYWXKD0pZl2\/vB6uO2LpLlT0VoayUula10j+68k43R4eK1qx\/5fSw7Z2+gpoWshpITIernanJPPXC2CmeFjBn4Z2ScnN9cBERZnWEREAREQBERAEREAREQBERAEREAREQBEXKoqIaSB09RI2ONgyXOKEN43Z1VJedpIqB4pKNntdc47ohZrunxx6Kvlvdy2gldS2KJ0MAOH1cmmPLp6+StrNs9R2dgcwdrUEe9O8any6BaaVHzHK7ZW7Vcd\/buVtv2aqK2oFx2glM8x7tOe6wdDy+Q081pmtDWhrQAAMADkvqKspOXJtXVGtYX8mYh1\/ESozrimGPDRq06zJJi\/EMDQ9tTdOGn\/VaZTPp8jPw\/6\/8AJhERUOkIiIAiIgCIiAIiIAiIgCIiAIiIAi5zTxU0RlmkbGxvFzjhZee+XG\/zOpLDG6KEHElW8Yx5dPXyVoxbMbLo17Pd9upaXnaSjtPwh8eqd3YWanPj09VWQ2S5bQTtq788xQN1jpGHGPPp6+Ss7Ns3R2n4p+PVO70z9Tnw6equFbUo+UyVU7d7eO3v3PEUUcETYoWNjjYMNa0YAC9oizOvgIiIDMXI+zbdW2Y9yaIx5PX3h9wtOsxtmDTG23NoJNLUagc84P8Ax\/VaZpDmhw1BGQry8qZzU7WTj65+qPqIiodIREQBERAEREAREQBERAEREAVZeL7SWeHMp7SZ3chYfed+wUC7bRvM35fZGe11jjguaMtj+32C62bZtlHL7fXv9puD9XPOoafDx8VoopbyOWVspvRV+76L3ZAgs9w2jmbW3txhphrFSsJB8z09fJaiCnhpYWwwRtjjaMBrRgBdEVZSbNK6Y178t9QiIqmwREQBEVdLe6WG9R2qTfZLIzea5ww0nkAeedfmMcVKTfBWUox5Zz2mpTV7PVkY4tZ2g\/tOfsudmutONmKWsqpWRMZGGOcTzb7v1OOCn11fS0ETXVMrGdodxjXHvE8v54BYO0WsS3xlrugnghBMsVO46OPQ\/IfotIrMdzium67k47trHtkvztLcLpUOisNB2sbO9PLoD5cMf+0XOeu2ns8ftdc2Crp2n32xYBAwdc401xqtRFFHBE2KFjY42DDWtGAAvr2NkjdG9oc1wIcDzCjUu2xr8CxrLm8\/b6HKirIa+kjqqd2Y5BkZ4jwK7rL7JuNvr7jZJTgwydpEDxLT\/G6fmtQqyWHg0psdkE3z1+YREVTYIiIAiIgCIqm97QUtmi3XHtalw9yBp1PiegUpNvCKTnGEdUnhEyvuNJbKcz1cwjbyHNx6Ac1mjUXjaxxZTB1Bbc4dIe88ffyGniu9tsVVdagXPaD33n\/LpTo1g8R9vqtO1oa0NaAABgAclfKhxuzn0zv3ltHt1fzINqs1FZ4ezpY\/eIw+R2rneZ+ynoio23uzpjFRWIrCCIigsEREAXzeG9u5GcZwvMcsc0YkjeHtIyCDlZa51AotvqF5cQyaIB4zpk7zR9laMc7GNtqrSfdpGsWS28Yx1DS1Mbx2kU25lp1GQfuxa1ZCz0EV12juNZK17oYJ\/hEuOC7JGn0z9FavZ6uxl4rMoqtfq\/6T4KafaOwOprtSvp6iN26HubglwGjxnz15HVUsME13p3WqpeIrxbDmCQnWRo5Z8NNfI9Vulm9qqCSIw3yjGKijILwP6mfx6Eq0Jb4M76cR1c459V7rktLJV1lZbhJXUzqedrixwIxvY5hWCi26viuVBFVw92QZweLTzH1UpZPk7K\/It8+pRXmxTVNZHc7bN2FdHoTnR7fodfPRS7HdmXah7TIE0Z3JWjk7r5fyrJZistNztN1ludlDJWTkdtTO5knXHr4ZV09SwzCcXVLXFbPlf7NOizA2zMH+vs9ZTddM+oC8v2trK4GOz2meV54SSj3R540\/VPhyJ\/F09H9malFDtf5gKBn5mYzU673Z8Mcs+Pkio9joi8rJMRc5po6eF80zwyNgy5zjoAsrJcLttRK+C2A0lACWvqDxf4fwPmVMY5MrLlXty30Jt52ikZUNttnYKmuk0y3BbH9s+nNdLLs3HQv9srX+1V7zvOkfruHw\/f0Uy0WOjssJZTtJkcPfld3nfsPBWKlySWIlIVOUtdvPRdF\/PqFm7vUT0219qIlkEMrSwsa7QnUaj+4LSLNbaRvjpqK4xtLnUdQHEgcAeZ+YA+aV+bA8TlV6l0w\/uaVFzgmjqYI54nb0cjQ5p6groqHSnkKnF3l\/xUbW9gbF2O+w83Hj+\/0VwsxtFm3bQ2278Ih8KVwHAZxrr0cforwWXgwvk4RUl0az8jTqLc6d9Va6qniPxJInNb540Uhj2SMD43B7XDIc05BXC4V0NtoZaudwDY2kgZxvHkB4lVWc7Gs8aXngymxt0ioWVlHcKtsHZEbrZpAADqHAZ+Wig3Cmqdoqi4Xima8w0wDYNO9jBOnHgS75q02a2epK63GtuVMJZJ5S9mSR7unIHqDx5ea1UMMVPE2KGNsbGjAa0YAW0pqMm1yebV4edtMYzf5fv6GaqtrYn2Bpgfm4zt7MQsHvMfwJx6fJWmztsNrtTI5GtE8hL5S1oGp5adOCkxWm3wVPtEVHCyX\/AHBvl+wUxZyksYR111T1a7HlpYX97heXNa9hY9oc1wwQRkEL0iodJBtdpprPBJBS7+4+QvIe7OCcaD6KciKW87srGKisLgIiKCwREQBERAUF2sdbeboxtRVhtsYA7smDDi7mD+\/LpzV3DDHTwshhYGRsGGtaNAERS5NrBnGuMZOS5Z0REUGgXCspIq6jlpZhlkrS0+HiiIQ0msMr9mqOut9rNJWgAxyOEeHA5Zy4eOVboilvLyVhBQioroFwrKOCvpX01TGJInjUFEUFmk1hmeGytfQOJtN4lijzpFIdBrnxH6LrS7LSSVTaq8V8lc9mrWZIa06HT5jlhEV\/iSOdeFqT4\/bO30NEAAMAYAX1EVDpCIiAIiIAiIgCIiAIiIAiIgP\/2Q==",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "JOSE TORREJON",
    "correoContacto": "eordonez@mercosurltda.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56992532005",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:31",
    "ubicacionGPS": "LatLng(lat: -30.0160936, lng: -71.3762213)",
    "horaLlegada": "09:30",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/05/2026 11:31:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[15/05/2026 11:31: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('76121841', 'KY3156', 1, 20988335, 5, NOW(), 
				'08:00', '09:30', '11:31', 1, 'se instala maquina, se da inducción de uso se conecta a un pc para imprimir y escanear.', -1, 
				'', '','1','0',
				'0',2,'../csj.digital-service.cl/uploads/firmas/firma_0_1778859084.png', '', null, 'COMPLETADO','LatLng(lat: -30.0160936, lng: -71.3762213)' )
				
[15/05/2026 11:31:24] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200324

15/05/2026 11:31:24 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'KY3156'
		
15/05/2026 11:31:24 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY3156'
				   AND estado = 1
				
15/05/2026 11:31:24 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'KY3156', 2, 1, now(), 'mercosur', 'Coquimbo', 'romana 6');
				
15/05/2026 11:31:24 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200324'                    
				WHERE idllamado = 12604			
				TO ENVIO: micorreo@miempresa.cl, eordonez@mercosurltda.cl


15/05/2026 11:31:24 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12604			
				
15/05/2026 11:31:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 11:31:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11:31:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12604
                

15/05/2026 11: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 = 12604
                

15/05/2026 11:31:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:31:26 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12604
LIMIT 1;
        

15/05/2026 11: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 = 12604
                

15/05/2026 11:31:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:31:26 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12604
LIMIT 1;
        

[15/05/2026 11:31: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;
                

15/05/2026 11: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 = 12604
                

15/05/2026 11:31:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:31:26 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12604
LIMIT 1;
        

[15/05/2026 11:31: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;
                

15/05/2026 11: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 = 12604
                

15/05/2026 11: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 = 12604
                

15/05/2026 11: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 = 12604
                

[15/05/2026 11:31:28] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 11:31:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:31:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

15/05/2026 11:31:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:31:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:31:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

15/05/2026 11:31:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

15/05/2026 11: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 = 12605
                

[15/05/2026 11:31:28] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 11: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 = 12605
                

15/05/2026 11: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 = 12605
                

15/05/2026 11: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 = 12605
                

15/05/2026 11:31:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:31:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

15/05/2026 11:31:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:31:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

15/05/2026 11: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 = 12605
                

15/05/2026 11:31:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:31:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

[15/05/2026 11:31:30] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 11:31:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:31:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

[15/05/2026 11:31:30] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 11: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 = 12605
                

15/05/2026 11: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 = 12605
                

15/05/2026 11: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 = 12605
                

15/05/2026 11: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 = 12605
                

15/05/2026 11: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 = 12605
                

15/05/2026 11:31:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:31:33 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

15/05/2026 11: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 = 12605
                

15/05/2026 11: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 = 12605
                

15/05/2026 11: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 = 12605
                

15/05/2026 11:31:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:31:33 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

15/05/2026 11: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 = 12605
                

15/05/2026 11:31:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:31:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:31:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:31:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

15/05/2026 11:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:31:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:31:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

15/05/2026 11:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:31:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:31:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:31:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:31:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

15/05/2026 11:31:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:31:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

15/05/2026 11:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:32:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:32:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

15/05/2026 11: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 = 12605
                

15/05/2026 11: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 = 12605
                

15/05/2026 11: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 = 12605
                

15/05/2026 11:32:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:32:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

15/05/2026 11: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 = 12605
                

15/05/2026 11: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 = 12605
                

15/05/2026 11:32:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:32:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

15/05/2026 11: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 = 12605
                

15/05/2026 11: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 = 12605
                

15/05/2026 11: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 = 12605
                

15/05/2026 11:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:32:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:32:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

15/05/2026 11:32:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:32:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:32:31 - logentry: =========================================
FECHA: 15/05/2026 11:32:31
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-sT+ztnb26Nxu7J0NIZR00RV9Aep_dIcAb42eUQ-LYjqQdX31pAy
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP3157",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "mercosur",
    "ciudadmaquina": "Coquimbo ",
    "departamentomaquina": "oficina ",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se instala maquina, se da inducción de uso se conecta a un pc para imprimir y escanear",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12605",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABlAJ8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xAA6EAABAwMCAwYDBwIGAwAAAAABAAIDBAURBiESMUETUWFxgZEUIrEHIzJDocHRUsIVJDNC4fBTktL\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAQIEA\/\/EAC8RAAICAQMCBAQFBQAAAAAAAAABAhEDEiExBFETMpHRQWGx4SIzQnHBI3KBofD\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEVNdtUW+1OMJcZ6gbdlHuQfE9Pqq1tJqDUQL6uc22jfjhhYPmcPHr7+yuoOrexnl1EU9MFqfy\/llpcdUWq2lzH1Hayt\/LiHEffkPdUtRqm5SVtG5tMaGillDQ+dhPGNtyeg36eKvbZp222nDqeHil\/8snzO\/wCPRcNX07Z9OzuIPFCWyMI6EHH0JVouF1RxyrO4OTlVb0vcu0UKzTGostHK45c6FuTnOTjdTVzapmyL1JMIiKCwREQBERAEREAREQBFV3TUVutILZ5uOUflR7u9e71VL2+o9R7U7P8ADKJ3+85DnDz5n0wPFXUG93wZ59RGL0x3fZF1dNRW60gtnm45R+VHu717vVVGdQakwA02qhPM79o8fX6DzVnadM2+1YkDO3qM5M0oyQfAdPr4q4U6ox4K+HkyfmOl2X8v2Ku16dt1pAdBDxyj82Td3p3eitERUbb3ZohCMFUVSCiXWA1Npq4WjLpIXtHng4UtFC2JkrTRRaNn7bTkLesTnMO3jn91erMaN+4kutD0p6k\/uP7Vp1fJ5mcOld4Y+npsERFQ0BERAERc5p4aaIyzysijbzc84AQN0dF4SAMk4AWbn1eJ6g0tmopK6X+vdrR4+XnhcWafu95k7W+1piiztTQkftt9V00V5tjM+oUnWNavp6k6v1dbqSXsIOOsnOwZAMjPdn+MqAIdTX5\/FNIbVS\/0tyHkfX3x5K\/oLPb7YP8AKUrI3YwX83H1O6mpqS8qI8HJk\/Ml\/he\/JUW3TNstp42w9vNnPazYc7Ph0Ct0RUbb5O8IRgqiqCIiguFiaS7XSgvV0pqajkriZyQC4\/IMnH1C2yzFD9z9oFwZzEtOHD2Z\/wArpDhmTqU7hTrevVA3TVrhxsssAaNyHO3x\/wCysrHe2XiKVrojBUQO4ZYnc2nf+OXRWqzFjPxerbvWxg9k3EWQflcRgZ8fw\/r4ptJPYip4pxWpu+4thFHri40xGBUsEjcn8R2O3ufZadZe\/wCaDVVpuAIDZD2L\/LOMn0d+i1CT+DL9Ps5w7P67hEUWvuVHbIe1rJ2xNPIHm7yHMrmlZobUVbJSi11yorbH2lZUMhB5A7k+QG5Wdk1Bdr28w2GjdHFyNTKBt+w\/UqTQaPgbL8VdZ319Qdzxk8P8n19l00JeYzePKe2JX83x9zhNqmsuUpprBRPlPIzyDZvpyHr7L2m002uqjLfLj8bUtGTAyTAYPTcemFp2MZGwMjaGNaMBrRgBZqjwz7Qq4cIHHTDBHkzn7KVLnTscp46cXleq3Xy9Pc0VPTQUkIhpoWRRjk1gwF1RFyNySWyCIiEhEWO1FcLi69VEFHVmGOiphM9oOMnY\/rxAK0Y6nRxzZVijqas2DnBrS5xAAGST0XOCpgqo+0p5mSszjiY4EA9yoa29Odo5lS8g1FXF2bWsAPE47HAU3TNufbLJDDK0tleS+Rp6E9PbClxpWyI5tU1GPFX7FhS1lNWxmSlnZMwHhLmOyAe79Vnpz2X2h0+2O2pT67O\/+VRaQqaySvp6CnkfHCyR883CdnDDRg+2PVX1SeL7Q6TJPy0xwPR38ldNGltfIyLP42OMq\/Uix1HcXWyyzzRu4ZXDgjPc49fQZKactTbTamRYHayfPKQc5JH0Uy4UMVyo30s+eB+M8J3VFCzVdtDKaKOlrYWEBr3uweHPiQeXn05qi3jRonccutptVtXw7nXWtN21gdMM8VPI14I88furmgqm11vgqmEESsDtu\/qPdfVVTsq6Samk\/BKwsOO4jCotFVLnWyahlP3tHKWlvcDy\/XiTmH7DydR\/cv8Aa+xIvd+loallvoaR9TWytywY+Vvif++qjUGlzPN8ffZPi6p+\/Zk\/Izw8fLl5rRcLePj4RxYxnG+F9KNVKkWeHXLVN32Xw+58sYyNgZG0Ma0YDWjAC+kRUNAWYd919obN\/wDVpenkeft9Fp1mL5mDWFnqGfik+7Oe7JH95V4ctGbqdoxfZo06IvHODWlziAAMknoqGk+Wyxue5jZGlzebQdwqux3qS7S1rJIBF8NLwDBznnz9lX6LL6llwuMhJdUVHU77b\/3foqqxXKO36rrGSOxT1cz2B55Bwdkb+uPULro5XYwPqX\/Tk9k7+xvF+fahdJb7ldg+F4+NY0Ry8OBjIJGfEA+y3NdX01upnVFVKI2NHXmfADqVnLYyo1LeBdauF0dBTZFNG8fjJ6+PLfxwN8FMe274J6tLJWOL\/F\/12cNP6frKuSmrLqCIKZgFPTuGPUjpvv4+S2SIqSk5Pc0YcMcUaRX2ux0NndKaNjm9rji4nZ5Zxj3VRVAx\/aFRueMNkpyGk8icOWnVXebI27dg9tQ+mngfxMlYMkKYy33KZcX4Esa4adFoi8GwxnPivVQ0lVeLtU2t8bmW6SqgcDxyRu3Yem2FQ6cuEVVq+slpo5WQ1MZcWvG7XjBOcZHPi91ssg5weXNMDOcbq6kkqozTwylNS1bJ3VHqIioaQiIgCzOrXGKvss4JAjqd+7m3+FplltcSCKK3yOBIZUcRx4K+PzIzdXthb\/b6mpUO7ukZZ6x0Qy8Qvx7L5tFybd7cysbC+IPJHC7wONj1U1wDmlp3BGCq8Pc7WpwuL5Mjbb3R2PR8DmvY+peHFsXFklxcdz3AKTadLxSWN0FzjPb1D+1c7I4mEjp3HmrGl01aaOp+IipcyA5Bc4ux78\/VWq6Smv0mbH0728WtlSRnqfRdrilDpXT1DQctZK\/YewHh7LQNaGtDWgAAYAHReoubk3yaIYoY\/KqCIig6BERAEREBDjtdPHdpbmDIZpWBhBdloA7h05f9ypiIpbshRUeAiIoJCIiAKuvNmgvVK2CZ7mcLuJr2gZCIpTadorKKmtMuCXR0sVDSRUsAxHE0Nbnn5rsiKCUklSCIiEhERAEREAREQBERAEREB\/\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "JOSE TORREJON",
    "correoContacto": "eordonez@mercosurltda.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56992532005",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:32",
    "ubicacionGPS": "LatLng(lat: -30.016004, lng: -71.3761387)",
    "horaLlegada": "11:29",
    "horaDespacho": "11:31",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 15/05/2026 11:32:31
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-sT+ztnb26Nxu7J0NIZR00RV9Aep_dIcAb42eUQ-LYjqQdX31pAy
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP3157",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "mercosur",
    "ciudadmaquina": "Coquimbo ",
    "departamentomaquina": "oficina ",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se instala maquina, se da inducción de uso se conecta a un pc para imprimir y escanear",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12605",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABlAJ8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xAA6EAABAwMCAwYDBwIGAwAAAAABAAIDBAURBiESMUETUWFxgZEUIrEHIzJDocHRUsIVJDNC4fBTktL\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAQIEA\/\/EAC8RAAICAQMCBAQFBQAAAAAAAAABAhEDEiExBFETMpHRQWGx4SIzQnHBI3KBofD\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEVNdtUW+1OMJcZ6gbdlHuQfE9Pqq1tJqDUQL6uc22jfjhhYPmcPHr7+yuoOrexnl1EU9MFqfy\/llpcdUWq2lzH1Hayt\/LiHEffkPdUtRqm5SVtG5tMaGillDQ+dhPGNtyeg36eKvbZp222nDqeHil\/8snzO\/wCPRcNX07Z9OzuIPFCWyMI6EHH0JVouF1RxyrO4OTlVb0vcu0UKzTGostHK45c6FuTnOTjdTVzapmyL1JMIiKCwREQBERAEREAREQBFV3TUVutILZ5uOUflR7u9e71VL2+o9R7U7P8ADKJ3+85DnDz5n0wPFXUG93wZ59RGL0x3fZF1dNRW60gtnm45R+VHu717vVVGdQakwA02qhPM79o8fX6DzVnadM2+1YkDO3qM5M0oyQfAdPr4q4U6ox4K+HkyfmOl2X8v2Ku16dt1pAdBDxyj82Td3p3eitERUbb3ZohCMFUVSCiXWA1Npq4WjLpIXtHng4UtFC2JkrTRRaNn7bTkLesTnMO3jn91erMaN+4kutD0p6k\/uP7Vp1fJ5mcOld4Y+npsERFQ0BERAERc5p4aaIyzysijbzc84AQN0dF4SAMk4AWbn1eJ6g0tmopK6X+vdrR4+XnhcWafu95k7W+1piiztTQkftt9V00V5tjM+oUnWNavp6k6v1dbqSXsIOOsnOwZAMjPdn+MqAIdTX5\/FNIbVS\/0tyHkfX3x5K\/oLPb7YP8AKUrI3YwX83H1O6mpqS8qI8HJk\/Ml\/he\/JUW3TNstp42w9vNnPazYc7Ph0Ct0RUbb5O8IRgqiqCIiguFiaS7XSgvV0pqajkriZyQC4\/IMnH1C2yzFD9z9oFwZzEtOHD2Z\/wArpDhmTqU7hTrevVA3TVrhxsssAaNyHO3x\/wCysrHe2XiKVrojBUQO4ZYnc2nf+OXRWqzFjPxerbvWxg9k3EWQflcRgZ8fw\/r4ptJPYip4pxWpu+4thFHri40xGBUsEjcn8R2O3ufZadZe\/wCaDVVpuAIDZD2L\/LOMn0d+i1CT+DL9Ps5w7P67hEUWvuVHbIe1rJ2xNPIHm7yHMrmlZobUVbJSi11yorbH2lZUMhB5A7k+QG5Wdk1Bdr28w2GjdHFyNTKBt+w\/UqTQaPgbL8VdZ319Qdzxk8P8n19l00JeYzePKe2JX83x9zhNqmsuUpprBRPlPIzyDZvpyHr7L2m002uqjLfLj8bUtGTAyTAYPTcemFp2MZGwMjaGNaMBrRgBZqjwz7Qq4cIHHTDBHkzn7KVLnTscp46cXleq3Xy9Pc0VPTQUkIhpoWRRjk1gwF1RFyNySWyCIiEhEWO1FcLi69VEFHVmGOiphM9oOMnY\/rxAK0Y6nRxzZVijqas2DnBrS5xAAGST0XOCpgqo+0p5mSszjiY4EA9yoa29Odo5lS8g1FXF2bWsAPE47HAU3TNufbLJDDK0tleS+Rp6E9PbClxpWyI5tU1GPFX7FhS1lNWxmSlnZMwHhLmOyAe79Vnpz2X2h0+2O2pT67O\/+VRaQqaySvp6CnkfHCyR883CdnDDRg+2PVX1SeL7Q6TJPy0xwPR38ldNGltfIyLP42OMq\/Uix1HcXWyyzzRu4ZXDgjPc49fQZKactTbTamRYHayfPKQc5JH0Uy4UMVyo30s+eB+M8J3VFCzVdtDKaKOlrYWEBr3uweHPiQeXn05qi3jRonccutptVtXw7nXWtN21gdMM8VPI14I88furmgqm11vgqmEESsDtu\/qPdfVVTsq6Samk\/BKwsOO4jCotFVLnWyahlP3tHKWlvcDy\/XiTmH7DydR\/cv8Aa+xIvd+loallvoaR9TWytywY+Vvif++qjUGlzPN8ffZPi6p+\/Zk\/Izw8fLl5rRcLePj4RxYxnG+F9KNVKkWeHXLVN32Xw+58sYyNgZG0Ma0YDWjAC+kRUNAWYd919obN\/wDVpenkeft9Fp1mL5mDWFnqGfik+7Oe7JH95V4ctGbqdoxfZo06IvHODWlziAAMknoqGk+Wyxue5jZGlzebQdwqux3qS7S1rJIBF8NLwDBznnz9lX6LL6llwuMhJdUVHU77b\/3foqqxXKO36rrGSOxT1cz2B55Bwdkb+uPULro5XYwPqX\/Tk9k7+xvF+fahdJb7ldg+F4+NY0Ry8OBjIJGfEA+y3NdX01upnVFVKI2NHXmfADqVnLYyo1LeBdauF0dBTZFNG8fjJ6+PLfxwN8FMe274J6tLJWOL\/F\/12cNP6frKuSmrLqCIKZgFPTuGPUjpvv4+S2SIqSk5Pc0YcMcUaRX2ux0NndKaNjm9rji4nZ5Zxj3VRVAx\/aFRueMNkpyGk8icOWnVXebI27dg9tQ+mngfxMlYMkKYy33KZcX4Esa4adFoi8GwxnPivVQ0lVeLtU2t8bmW6SqgcDxyRu3Yem2FQ6cuEVVq+slpo5WQ1MZcWvG7XjBOcZHPi91ssg5weXNMDOcbq6kkqozTwylNS1bJ3VHqIioaQiIgCzOrXGKvss4JAjqd+7m3+FplltcSCKK3yOBIZUcRx4K+PzIzdXthb\/b6mpUO7ukZZ6x0Qy8Qvx7L5tFybd7cysbC+IPJHC7wONj1U1wDmlp3BGCq8Pc7WpwuL5Mjbb3R2PR8DmvY+peHFsXFklxcdz3AKTadLxSWN0FzjPb1D+1c7I4mEjp3HmrGl01aaOp+IipcyA5Bc4ux78\/VWq6Smv0mbH0728WtlSRnqfRdrilDpXT1DQctZK\/YewHh7LQNaGtDWgAAYAHReoubk3yaIYoY\/KqCIig6BERAEREBDjtdPHdpbmDIZpWBhBdloA7h05f9ypiIpbshRUeAiIoJCIiAKuvNmgvVK2CZ7mcLuJr2gZCIpTadorKKmtMuCXR0sVDSRUsAxHE0Nbnn5rsiKCUklSCIiEhERAEREAREQBERAEREB\/\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "JOSE TORREJON",
    "correoContacto": "eordonez@mercosurltda.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56992532005",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:32",
    "ubicacionGPS": "LatLng(lat: -30.016004, lng: -71.3761387)",
    "horaLlegada": "11:29",
    "horaDespacho": "11:31",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/05/2026 11:32:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[15/05/2026 11:32: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('76121841', 'EP3157', 1, 20988335, 0, NOW(), 
				'11:31', '11:29', '11:32', 1, 'se instala maquina, se da inducción de uso se conecta a un pc para imprimir y escanear', -1, 
				'', '','1','0',
				'0',2,'../csj.digital-service.cl/uploads/firmas/firma_0_1778859151.png', '', null, 'COMPLETADO','LatLng(lat: -30.016004, lng: -71.3761387)' )
				
[15/05/2026 11:32:31] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200325

15/05/2026 11:32:31 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'EP3157'
		
15/05/2026 11:32:31 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP3157'
				   AND estado = 1
				
15/05/2026 11:32:31 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'EP3157', 2, 1, now(), 'mercosur', 'Coquimbo ', 'oficina ');
				
15/05/2026 11:32:31 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200325'                    
				WHERE idllamado = 12605			
				TO ENVIO: micorreo@miempresa.cl, eordonez@mercosurltda.cl


15/05/2026 11:32:31 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12605			
				
15/05/2026 11:32:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 11: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 = 12605
                

15/05/2026 11: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 = 12605
                

15/05/2026 11:32:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:32:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:32:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:32:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

15/05/2026 11:32:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11:32:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12605
                

15/05/2026 11: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 = 12605
                

15/05/2026 11: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 = 12605
                

15/05/2026 11:32:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[15/05/2026 11:32: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;
                

15/05/2026 11:32:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

15/05/2026 11: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 = 12605
                

[15/05/2026 11:32: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;
                

15/05/2026 11: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 = 12605
                

15/05/2026 11: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 = 12605
                

[15/05/2026 11:32: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;
                

15/05/2026 11:32:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:32:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

15/05/2026 11:32:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:32:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

15/05/2026 11: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 = 12605
                

15/05/2026 11: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 = 12605
                

15/05/2026 11: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 = 12605
                

15/05/2026 11:32:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 11:32:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12605
LIMIT 1;
        

15/05/2026 11: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 = 12605
                

15/05/2026 11: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 = 12605
                

15/05/2026 11: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 = 12605
                

15/05/2026 11: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 = 12605
                
[15/05/2026 11:58:25] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[15/05/2026 11:58:25] 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;
                

[15/05/2026 11:58:28] 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;
                

15/05/2026 11:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

[15/05/2026 11:58:36] 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;
                

15/05/2026 11:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/2026 11:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

[15/05/2026 11:58:42] 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;
                

15/05/2026 11:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 11:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 11:59:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/2026 11: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 = 12609
                

15/05/2026 11: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 = 12609
                

15/05/2026 11: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 = 12609
                

15/05/2026 11:59:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/2026 11: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 = 12609
                

15/05/2026 11: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 = 12609
                

15/05/2026 11: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 = 12609
                

15/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/2026 11: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 = 12609
                

15/05/2026 11: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 = 12609
                

15/05/2026 11:59:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 11:59:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 11:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 11:59:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/2026 11:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 11:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 11:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 11:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 11:59:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/2026 11:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 11:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 11:59:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/2026 11:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 11:59:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 11:59:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                
[15/05/2026 12:04:09] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' 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;
				
[15/05/2026 12:04:09] 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;
                

[15/05/2026 12:04:11] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:04:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12219
            GROUP BY l.idllamado;
            

[15/05/2026 12:04:25] 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;
                

15/05/2026 12:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/2026 12:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/2026 12:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:04:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/2026 12:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:04:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:04:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:04:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12219
            GROUP BY l.idllamado;
            

15/05/2026 12:04:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12219
            GROUP BY l.idllamado;
            

[15/05/2026 12:04: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;
                

15/05/2026 12:04:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                

15/05/2026 12:04:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                

15/05/2026 12:04:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12219
            GROUP BY l.idllamado;
            

[15/05/2026 12:04: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;
                

[15/05/2026 12:04: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;
                

15/05/2026 12:04:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12219
            GROUP BY l.idllamado;
            

15/05/2026 12:04:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12219
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12:05:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12219
            GROUP BY l.idllamado;
            

15/05/2026 12:05:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                

15/05/2026 12:05:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                

15/05/2026 12:05:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12219
            GROUP BY l.idllamado;
            

15/05/2026 12:05:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12219
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12:05:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12219
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12219
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12219
                

15/05/2026 12:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12219
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12:05:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12219
            GROUP BY l.idllamado;
            

15/05/2026 12:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                

15/05/2026 12:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                

15/05/2026 12:05:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12219
            GROUP BY l.idllamado;
            

15/05/2026 12:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                

15/05/2026 12:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                

15/05/2026 12:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                

15/05/2026 12:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12:05:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12219
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12219
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12:05:50 - logentry: =========================================
FECHA: 15/05/2026 12:05:50
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-fkoEfV4n0.920JaAbNP5SkxvaR7SU78tutiJHKLnzhEaO0StNlA
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65152162",
    "serieinterna": "EP2106",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "sin contador ni ep se entrega en portería ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12219",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD2AOcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQCAQf\/xAA9EAABAwMBBQYEBAQFBQEAAAABAAIDBAURIQYSMUFREyJhcYGRFKGxwRUjMtEzQuHwQ1JicpIHJCUmU\/H\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAtEQACAQIEBAQHAQEAAAAAAAAAAQIDERIhMUEEUXHRE2GBsSIjMpGhweHwYv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBERAEREAVTf74yzUoLGiWqlOIouvifBeL5tDDaQIImGorJB3IW646E\/txUFksc\/xJu13Pa10mrWnURDw8fopqKSvIzVKjk\/Dp67vl\/TusTLk23B11k36iR5eBgDcaeDdPX3wrJEUW7u5fCOGKQREXCQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFnr5tDJBOLbaozUV7zg7oyI\/Px+Q5r1tJfX0Ybbrf+ZcJ+6Gt1MYPPz6e\/n0WCxRWem3nfmVcozNKdTnoPD6qxJJYmZZzlUl4dN25vl5Lz9jxYtn220mrq3\/E18ur5Xa7vgM\/VXSIoNtu7L4U4044YhERcJhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAWevV+m+I\/CbMO2rnHDnDURdfDP0UF7vdRW1f4LZe\/O7SaZp0YOYB5eJ9OKtbJYqay025EN+Zw\/MlI1cfsPBWJKKuzJKcqsnCnpu\/0vP2IbFs9FaQZ5n\/EVsmd+Y5OPAZ+quURQbbd2aIQjTjhisgiIuEwiIgCIiAIiIAiIgCIiAIiIAiIgCIs7Pc6qu2phoLfLuwUveqjunDjnVv7eJ8F1K5XUqKFr75GiREXCwIiIAiIgCzm0F4mll\/BbTmSsl0kc0\/wm89eR+i+3q+zOqfwizjta1+j3jhF116\/TzXfZLJDZ6YtDu1qJNZZTxcf2ViWHNmWc3Vbpw03f6Xn7Cx2SnstGIowHTPAMsvNx\/ZWaIoNtu7NEIRhFRjoERFwkEREAREQBERAEREAREQBERAEREARFHPPFTQPnmeGRxjec48ggbsV+0F3ZZrY+fjK\/uRD\/AFY4+QUOzFodarbvTZNTUESSl3EdG+mvuVV26Obau6i6VQLKGkfiniI\/UeOvsM+yvr3TV1XbJILfO2GZxHecSNOYBHA+P\/6rXksP3MUW6knWtdLT9v1OKpvk818itdrZHI5hDqiR2rWt0yBjnqr1VtlstNZaURwjelcB2sh4vP2HgrJQlbY0UlO156v8BERRLQsze71VVNd+C2XJqifzZRwjHPXl4n04qW\/3uaOpZZ7WN+vn0Lh\/hA\/fGvgNV22OxwWWm3W\/mVD9ZZTxceg8FYkoq7Mk5Sqy8ODyWr\/S8\/Y+2Sx09lpy2P8AMnfrLK7i4\/YKzRVW0tw\/DrHPKCBJIOzZnqf6ZPoo5yZd8FGnlkkV9hqJrrtFca9sxNLH+TE0O7rvHHpn1WlVVs1QC3WKniLQJHjtJMcydfpgeitV2bTeRHh4tU1i1ef3CIigXhERAERfHODWlziAAMknkgPqpb5tNR2Zpj\/j1J4RNPD\/AHHkqm97VyTNlp7O7uRg9tVHg0cO6fv7Lk2R2fdV1H4pWs34ASYg\/jI7P6j4fdXKmksUjz6nEynPw6OvPZGk2eq7pXUz6m4wsjZId6EDQ7vkrdcVVeLbRP7OorYY3ji0vGR5hT01XT1kXa00zJWdWnKrd3nY102ksGK7\/JMiIoloREQBEXxzg1pc4gADJJ5IDxUVEVLA+eeQRxsGXOdwCyrfidsqrLg+ntELuHOYj+\/RfHGXbG6vhDzHa6N+u6f4x6\/L0HmtXDDHTwshhYGRsGGtaNAFZ9HUx58Q\/wDj3\/nuIYY6eFkMLAyNgw1rRoApEVPd7zNaK+l7WBrqGbuvlB7zXeXt81BJtmmc4043ehcIiLhMKive0bKN\/wADQD4m4SHdaxoyGHx8fD3XLdL3V3CuNosJBk4TVHJg54P39tVY2XZ+ms7C8Htqp\/8AEndxOeIHQKxJRzkZJVJVXhpabvt5kdgsP4aH1dW\/tq+fWWQ67udcBXSKvr75bbYD8VVMa7ONxvednyHD1UXeTLoqFGFtEWCw21d2jrLxS0kEQrIqc77mRnPaO\/y6Z4AfMqeorbttHHK6MOt9rjBMkjtHPAGT5+XDqVJsHbxHSz3BzMOld2cZJ13Rx+f0VsYqCxMxVaj4hqlDJPfp5EzHbY1zBIw01CDyeBn2wVoaJlTHRxMrJWzTgd97RgE+SnRVOV9jZTpYHfE31YREUS4Iq6tv1roC5tRWxte04LGnecD5DVU7torneXGGw0LmM4GpnAw3yHD6+SmoNlE+Ipxdr3fJZsu7leKG0xb9XMGk\/pYNXO8h91nJnXXaaF88wfQWljS8taMvmaNdBz+nmrG27KQwzmsucvx9U7UmQZa0+R4+vsr9zQ5pa4AgjBB5rt4x0K3CpW+vJcu\/ZH5Y6pFdVx0tLRvfSMdmOmjGHPPVxGST1PoMLUMs+0NzibHWVkdvptwNEFOOA6YB+5WlpqKkowRS00MOePZsDc+eFOpSq30RVS4LDfHK9+WRQxbK2KgpnSTQdoI2lz5ZXE6AanHD5Lk2PYH1NxqaWMxUMkuIWHOD4jT76cF92lrZrjWRbP0Du\/KQah4\/kbxwfqfRaCho4rfRRUkAxHE3A8ep9TquNvDnuShCDq\/ArKPudCIiqNwREQBZjaKuludazZ23ubvy61EmdGAa4+WvoOa7to73+D0bRCA+rmO7EziR\/qxzTZ2yfhFK587hJWTnelk4nyyrI\/CsTMtVupLwo+vTl6lhb6GG20MVJA0BsbQCcY3jzJ8SulEVeppSSVkF5cxj8b7Q7dORkZweq9Ih0Ks2hr3W6x1NQx27Ju7rCOIcdM+nH0VmsvtXmvuNsszdRLL2sg6NGmevDeU4K8ijiJuNN210Xqd+y1ubb7LCSwNmnHayHGCSeA9By81Hc9pjRVhoqa3VFVUcgGlox14Z4+GPFXjWhrQ1oAAGAByTAznGq5iTd2d8JxpqEHaxlvgNqbu7NZWNt0JP8OI97Hp9yu+h2RtNE4SOhdUyA5353b3y4fJXaLrm9siMeGpp3lm\/PMz22Va6C0tpIsGaseI2jw5\/YequLdRst9vgpIwAImAaczzPqclZuhB2i2rkuJw6ioDuQ6\/qcOB98uz5LWrsskokaPzJyq7aLou7CIirNQVZtBcxarPNUA4kcNyL\/ceHtx9FZrLbQf8Ak9pbdam5LYj20unLp7A+6nBXeZRxE3Gm8OryXqdFk2bom0UNVW07Z6yUdo90moBOuMcNFfsYyNgZG0Ma0YDWjAC9IouTepOnTjTVooIiLhYFW326stFskqMt7UjdiaebuSsXODWlziAAMknksnB\/7TtL8QR\/2FuOGa6SOzx9cA+QHVTgr5vQz16jilGP1PTv6Fjs1Z30NO+srN51fVd6UuOS0Zzj7n+ivERRbbd2W06apxUUERFwmFFU1EdJTS1Mzt2OJpc4+AUqzO1E0lwq6WwUxO9O4STkfysB0zx8\/QKUVd2Kq1Tw4N77dTxs7SSXe4S7Q1uu84spmEaNA0yPmPPJWpUdPBHTU8cETQ1kbQ1oAwpElK7FGn4cbb79QiIoloREQBUVPaqo7W1FzqGjsRFuQYI6Afv7q9RdTsQnTU7X2dwiIuEwqLaq5vpKAUdN3qusPZRtBGQDoT9grxzg1pc4gADJJ5LK2Uu2g2hnvEgPw1KTHTA5wT1x1xqfEjopwW72M3ESdlTjrL23L2z21tptkVI0hxaMvcM95x4ldyIot3dy+MVFKK0QREXCRz19bFb6Garm\/RE3ex1PIepwFS7K0dS8T3mv1qa3BboNGaY8s6adAFBepTfb9BYoSewhcJaojw5Z9ceZHRahrQ1oa0AADAA5Kx\/DG3Myx+bVxbR99\/sfURFWagiIgKDay4vp6OO30zy2qrXBjN3iBkZ8s5x7qztNvZa7ZDRswSxvecP5nHifdUG0U4t+1Ftr6lr3UscbuGuHa8vVqkO181WS202ioqeQe4YAPjjP1CuwtxSRgVWEa0nN56JeX9NOqi47T2q277X1Allb\/hxd458+AVPUW+9V0PxN9ubKGkaMujiOD5HGnzPkqyktMV6qPh7VSOp7e12JaqXvPk8s8PIevRIwjq2cqcTU0hGzel9ft3NHYNpjfKuaEUjomxsDg7e3hx5n2+aK1t9vpbZStp6WIMYOJ5uPUnmUVcmm8jXSU1BKbuyWpqI6SmlqZnbscTS5x8As3snTyV1VVX+qb+ZUOLYgeTeePYD0Km2xqZjR09spiO1rZA0jOu6CPuR6ZV7SUzKOkipowAyJgaMDoFL6Y9Sp\/Mr22j7v+EyKOaaOnhfNM8MjYMuc46ALNW2onvu0\/wCJRCWOhpWGNm8SA84OdPX5BRUbpstnVUGo6t\/65qURFEtCIiAIiIAiKCsq4aCkkqqh+7FGMuKHG0ldlLtZcXMpmWmlJNXWkN3QDkMPE+uMeWVa2q3x2u2w0kf8g7x\/zOPE+6pNmaSW4Vcu0Fcz82Y4p2nPcbqDj6e\/VadWSyWFGainOTrPfTp\/QiIqzUFDVSSxUsj4I+1la07jM43jyUyIceaKLZe0TW+mlqq0ZrKt2\/ISckDjjzySSr1EXZO7uyNOmqcVFBERcJhEXiWWOCJ0sz2xxsGXOccABBofXsZIMPaHDOcEZVbd79RWWINkO\/OR3IGfqP7BVVVtBXXid1Fs9CS0HD6pww0eXT6+C7rPszS21\/xM7jVVhOTNJrg+H78VZhUfqMjqyqO1L77enMrqez3DaOZtbfHOhphrFSN0OPHp9fJamKKOCJsULGxxsGGtaMABe0UZSbLadGNPPVvVhERRLjLzD47\/AKgRRuO8yig3sDkcc\/8AkPktJPPFTQvmnkbHGwZc5xwAseLrS2ja27VVaTvFgbG1oyXcNPDQDjhTR0Fw2sqG1VwL6S3NOY6cHV\/j\/X2V0o6X0POp1rYlFXk2+2Z5e+r2yq+zja6C0wv1fwMh+\/lyytZT08VLAyCCMRxsGGtbwCQwx08LIYWBkbBhrWjQBSKuUr5LQ1UqWC8pO8nq\/wDbBERRLwiIgCIiALK3mR9+v0NkhB+FgcH1Txkentp5nwVvf7s2z2uSfIMrhuxDT9XXHMBc+y1ofa7aXTg\/FVB35d7iOg\/vqVZH4ViMtX5k1SWmr6cvUuIomQxMijaGsY0Na0cgOAXtEVZqCIiAIiIAiIgCIqq83+ks0eJD2tQ4dyBh7x8+gXUm3ZEZzjBYpOyOu4XGltlKairkDGDgObj0A6rNxUtftdM2prC6mtbXZjhB1k46\/wBfbqpaGx1V6qxdL80j\/wCVLwDR4j7e61DWhrQ1oAAGAByU7qGmplUZV3eeUeXPr2I6emhpIWw08TIo28GsGApURVmtK2SCIiHQiIgIZaSmme18tPG9zTkFzASNMfdTIiHLJBERDoREQBERAERVt\/uH4ZZaioBO\/u7keP8AMdAfTj6LqV3YjOShFyexTMY7aXagzPbmhtpAaN7R7s5zw8BkeAWrVPsrQfAWGBrgQ+X814PU8PlhXClN52WxTw8WoYpavNhERQNAREQBERAF8c4NaXOIAAySeSgra6nt1K6pqpBHG3rxJ6DqVmGx3PbBwkkLqG1g91oPel\/f6ealGN83oUVK2B4Yq8uR0V+0dVX1Lrfs\/F20mMPqf5WeI5ep+a7LPs3DQSGrrH\/F1zjl0r9Q0+Gfr9FZUFvpbbTCnpIhGwcccXHqTzK6V1yytEjCi28dR3f4XTuERFA0hERAEREAREQBERAEREAREQBERAFltox+K3y32UNcY97tZiOnT2z\/AMgtSsjNVx2jbapqqyF\/Z1ETWRyMbnU7vH2I06easp6mXimsKT0bV+hrQABgDAC+oirNQREQBERAFw3a7UtnpDPUu1OjGD9Tz0H7qC936ns8OP4tU\/SKFvEnx6BV1p2fqaqrF1vru1nOscB\/TH5jh6e+qmoq15aGapVbl4dPN\/hdexDRWqu2iqm3G9gspm96ClGg9R008z5LVtaGtDWgAAYAHJfUXJSbLKVJU1zb1YREUS0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgC8ua12N5oO6cjI4FekQBERAEREAVDe9pG0cnwFAz4mved1rG6hhPXx8FzXXaGpq6s2qxM7Wc6STj9MfXB+\/srGybP01nj3\/41U8fmTO4nPEDwViioq8jJKpKq8FLTd9vM5rJs4KSU3C4v+JuD9S5xyGeXj4+yv0RQcm3dl9OnGnHDEIiLhYEREAREQBERAEREAREQBERAEREAREQBERAEREARFDU1UFHTunqZWxRM4uchxtJXZI5zWML3uDWtGSScABZWtuVdtJUvt1mJjpGndnqjwcOg\/vJ8lG51dtlUFsTn0lpjOrsd6U\/36DxWpo6OnoKZtNSxiONnAD6nqrMoa6mS8uIyWUefPp5EFqtNLaKQU9MzX+d5HeeepXciKDd82aoxUVZaBERcJBERAEREAREQBERAEREAREQBERAEREAREQBERAERVl7vlPZacOk\/MnfpFE3i4\/YLqTbsiM5xhHFJ5E90ulLaaQ1FU\/A4NaOLz0CztNQVm1tQ2uuYdBb2H8mnBwXjr\/XnyU9sslXc6wXW\/jefxipj+lnmPt7rTAADAGAFO6hktTKoyru88o8ufXseYoo4ImxQsbHGwYa1owAF7RFWbNAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDxKJDE8RECTdO6XcAeWVR2XZ50NR+J3Of4utfqHcWs05eKIpJtJ2KJwjKpG+xfoiKJeEREAREQBERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "christian jara",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "wsp",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "961204249",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I748\",\"id_control\":\"28696\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:05",
    "ubicacionGPS": "LatLng(lat: -23.5915685, lng: -70.395855)",
    "horaLlegada": "11:08",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 15/05/2026 12:05:50
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-fkoEfV4n0.920JaAbNP5SkxvaR7SU78tutiJHKLnzhEaO0StNlA
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65152162",
    "serieinterna": "EP2106",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "sin contador ni ep se entrega en portería ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12219",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD2AOcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQCAQf\/xAA9EAABAwMBBQYEBAQFBQEAAAABAAIDBAURIQYSMUFREyJhcYGRFKGxwRUjMtEzQuHwQ1JicpIHJCUmU\/H\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAtEQACAQIEBAQHAQEAAAAAAAAAAQIDERIhMUEEUXHRE2GBsSIjMpGhweHwYv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBERAEREAVTf74yzUoLGiWqlOIouvifBeL5tDDaQIImGorJB3IW646E\/txUFksc\/xJu13Pa10mrWnURDw8fopqKSvIzVKjk\/Dp67vl\/TusTLk23B11k36iR5eBgDcaeDdPX3wrJEUW7u5fCOGKQREXCQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFnr5tDJBOLbaozUV7zg7oyI\/Px+Q5r1tJfX0Ybbrf+ZcJ+6Gt1MYPPz6e\/n0WCxRWem3nfmVcozNKdTnoPD6qxJJYmZZzlUl4dN25vl5Lz9jxYtn220mrq3\/E18ur5Xa7vgM\/VXSIoNtu7L4U4044YhERcJhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAWevV+m+I\/CbMO2rnHDnDURdfDP0UF7vdRW1f4LZe\/O7SaZp0YOYB5eJ9OKtbJYqay025EN+Zw\/MlI1cfsPBWJKKuzJKcqsnCnpu\/0vP2IbFs9FaQZ5n\/EVsmd+Y5OPAZ+quURQbbd2aIQjTjhisgiIuEwiIgCIiAIiIAiIgCIiAIiIAiIgCIs7Pc6qu2phoLfLuwUveqjunDjnVv7eJ8F1K5XUqKFr75GiREXCwIiIAiIgCzm0F4mll\/BbTmSsl0kc0\/wm89eR+i+3q+zOqfwizjta1+j3jhF116\/TzXfZLJDZ6YtDu1qJNZZTxcf2ViWHNmWc3Vbpw03f6Xn7Cx2SnstGIowHTPAMsvNx\/ZWaIoNtu7NEIRhFRjoERFwkEREAREQBERAEREAREQBERAEREARFHPPFTQPnmeGRxjec48ggbsV+0F3ZZrY+fjK\/uRD\/AFY4+QUOzFodarbvTZNTUESSl3EdG+mvuVV26Obau6i6VQLKGkfiniI\/UeOvsM+yvr3TV1XbJILfO2GZxHecSNOYBHA+P\/6rXksP3MUW6knWtdLT9v1OKpvk818itdrZHI5hDqiR2rWt0yBjnqr1VtlstNZaURwjelcB2sh4vP2HgrJQlbY0UlO156v8BERRLQsze71VVNd+C2XJqifzZRwjHPXl4n04qW\/3uaOpZZ7WN+vn0Lh\/hA\/fGvgNV22OxwWWm3W\/mVD9ZZTxceg8FYkoq7Mk5Sqy8ODyWr\/S8\/Y+2Sx09lpy2P8AMnfrLK7i4\/YKzRVW0tw\/DrHPKCBJIOzZnqf6ZPoo5yZd8FGnlkkV9hqJrrtFca9sxNLH+TE0O7rvHHpn1WlVVs1QC3WKniLQJHjtJMcydfpgeitV2bTeRHh4tU1i1ef3CIigXhERAERfHODWlziAAMknkgPqpb5tNR2Zpj\/j1J4RNPD\/AHHkqm97VyTNlp7O7uRg9tVHg0cO6fv7Lk2R2fdV1H4pWs34ASYg\/jI7P6j4fdXKmksUjz6nEynPw6OvPZGk2eq7pXUz6m4wsjZId6EDQ7vkrdcVVeLbRP7OorYY3ji0vGR5hT01XT1kXa00zJWdWnKrd3nY102ksGK7\/JMiIoloREQBEXxzg1pc4gADJJ5IDxUVEVLA+eeQRxsGXOdwCyrfidsqrLg+ntELuHOYj+\/RfHGXbG6vhDzHa6N+u6f4x6\/L0HmtXDDHTwshhYGRsGGtaNAFZ9HUx58Q\/wDj3\/nuIYY6eFkMLAyNgw1rRoApEVPd7zNaK+l7WBrqGbuvlB7zXeXt81BJtmmc4043ehcIiLhMKive0bKN\/wADQD4m4SHdaxoyGHx8fD3XLdL3V3CuNosJBk4TVHJg54P39tVY2XZ+ms7C8Htqp\/8AEndxOeIHQKxJRzkZJVJVXhpabvt5kdgsP4aH1dW\/tq+fWWQ67udcBXSKvr75bbYD8VVMa7ONxvednyHD1UXeTLoqFGFtEWCw21d2jrLxS0kEQrIqc77mRnPaO\/y6Z4AfMqeorbttHHK6MOt9rjBMkjtHPAGT5+XDqVJsHbxHSz3BzMOld2cZJ13Rx+f0VsYqCxMxVaj4hqlDJPfp5EzHbY1zBIw01CDyeBn2wVoaJlTHRxMrJWzTgd97RgE+SnRVOV9jZTpYHfE31YREUS4Iq6tv1roC5tRWxte04LGnecD5DVU7torneXGGw0LmM4GpnAw3yHD6+SmoNlE+Ipxdr3fJZsu7leKG0xb9XMGk\/pYNXO8h91nJnXXaaF88wfQWljS8taMvmaNdBz+nmrG27KQwzmsucvx9U7UmQZa0+R4+vsr9zQ5pa4AgjBB5rt4x0K3CpW+vJcu\/ZH5Y6pFdVx0tLRvfSMdmOmjGHPPVxGST1PoMLUMs+0NzibHWVkdvptwNEFOOA6YB+5WlpqKkowRS00MOePZsDc+eFOpSq30RVS4LDfHK9+WRQxbK2KgpnSTQdoI2lz5ZXE6AanHD5Lk2PYH1NxqaWMxUMkuIWHOD4jT76cF92lrZrjWRbP0Du\/KQah4\/kbxwfqfRaCho4rfRRUkAxHE3A8ep9TquNvDnuShCDq\/ArKPudCIiqNwREQBZjaKuludazZ23ubvy61EmdGAa4+WvoOa7to73+D0bRCA+rmO7EziR\/qxzTZ2yfhFK587hJWTnelk4nyyrI\/CsTMtVupLwo+vTl6lhb6GG20MVJA0BsbQCcY3jzJ8SulEVeppSSVkF5cxj8b7Q7dORkZweq9Ih0Ks2hr3W6x1NQx27Ju7rCOIcdM+nH0VmsvtXmvuNsszdRLL2sg6NGmevDeU4K8ijiJuNN210Xqd+y1ubb7LCSwNmnHayHGCSeA9By81Hc9pjRVhoqa3VFVUcgGlox14Z4+GPFXjWhrQ1oAAGAByTAznGq5iTd2d8JxpqEHaxlvgNqbu7NZWNt0JP8OI97Hp9yu+h2RtNE4SOhdUyA5353b3y4fJXaLrm9siMeGpp3lm\/PMz22Va6C0tpIsGaseI2jw5\/YequLdRst9vgpIwAImAaczzPqclZuhB2i2rkuJw6ioDuQ6\/qcOB98uz5LWrsskokaPzJyq7aLou7CIirNQVZtBcxarPNUA4kcNyL\/ceHtx9FZrLbQf8Ak9pbdam5LYj20unLp7A+6nBXeZRxE3Gm8OryXqdFk2bom0UNVW07Z6yUdo90moBOuMcNFfsYyNgZG0Ma0YDWjAC9IouTepOnTjTVooIiLhYFW326stFskqMt7UjdiaebuSsXODWlziAAMknksnB\/7TtL8QR\/2FuOGa6SOzx9cA+QHVTgr5vQz16jilGP1PTv6Fjs1Z30NO+srN51fVd6UuOS0Zzj7n+ivERRbbd2W06apxUUERFwmFFU1EdJTS1Mzt2OJpc4+AUqzO1E0lwq6WwUxO9O4STkfysB0zx8\/QKUVd2Kq1Tw4N77dTxs7SSXe4S7Q1uu84spmEaNA0yPmPPJWpUdPBHTU8cETQ1kbQ1oAwpElK7FGn4cbb79QiIoloREQBUVPaqo7W1FzqGjsRFuQYI6Afv7q9RdTsQnTU7X2dwiIuEwqLaq5vpKAUdN3qusPZRtBGQDoT9grxzg1pc4gADJJ5LK2Uu2g2hnvEgPw1KTHTA5wT1x1xqfEjopwW72M3ESdlTjrL23L2z21tptkVI0hxaMvcM95x4ldyIot3dy+MVFKK0QREXCRz19bFb6Garm\/RE3ex1PIepwFS7K0dS8T3mv1qa3BboNGaY8s6adAFBepTfb9BYoSewhcJaojw5Z9ceZHRahrQ1oa0AADAA5Kx\/DG3Myx+bVxbR99\/sfURFWagiIgKDay4vp6OO30zy2qrXBjN3iBkZ8s5x7qztNvZa7ZDRswSxvecP5nHifdUG0U4t+1Ftr6lr3UscbuGuHa8vVqkO181WS202ioqeQe4YAPjjP1CuwtxSRgVWEa0nN56JeX9NOqi47T2q277X1Allb\/hxd458+AVPUW+9V0PxN9ubKGkaMujiOD5HGnzPkqyktMV6qPh7VSOp7e12JaqXvPk8s8PIevRIwjq2cqcTU0hGzel9ft3NHYNpjfKuaEUjomxsDg7e3hx5n2+aK1t9vpbZStp6WIMYOJ5uPUnmUVcmm8jXSU1BKbuyWpqI6SmlqZnbscTS5x8As3snTyV1VVX+qb+ZUOLYgeTeePYD0Km2xqZjR09spiO1rZA0jOu6CPuR6ZV7SUzKOkipowAyJgaMDoFL6Y9Sp\/Mr22j7v+EyKOaaOnhfNM8MjYMuc46ALNW2onvu0\/wCJRCWOhpWGNm8SA84OdPX5BRUbpstnVUGo6t\/65qURFEtCIiAIiIAiKCsq4aCkkqqh+7FGMuKHG0ldlLtZcXMpmWmlJNXWkN3QDkMPE+uMeWVa2q3x2u2w0kf8g7x\/zOPE+6pNmaSW4Vcu0Fcz82Y4p2nPcbqDj6e\/VadWSyWFGainOTrPfTp\/QiIqzUFDVSSxUsj4I+1la07jM43jyUyIceaKLZe0TW+mlqq0ZrKt2\/ISckDjjzySSr1EXZO7uyNOmqcVFBERcJhEXiWWOCJ0sz2xxsGXOccABBofXsZIMPaHDOcEZVbd79RWWINkO\/OR3IGfqP7BVVVtBXXid1Fs9CS0HD6pww0eXT6+C7rPszS21\/xM7jVVhOTNJrg+H78VZhUfqMjqyqO1L77enMrqez3DaOZtbfHOhphrFSN0OPHp9fJamKKOCJsULGxxsGGtaMABe0UZSbLadGNPPVvVhERRLjLzD47\/AKgRRuO8yig3sDkcc\/8AkPktJPPFTQvmnkbHGwZc5xwAseLrS2ja27VVaTvFgbG1oyXcNPDQDjhTR0Fw2sqG1VwL6S3NOY6cHV\/j\/X2V0o6X0POp1rYlFXk2+2Z5e+r2yq+zja6C0wv1fwMh+\/lyytZT08VLAyCCMRxsGGtbwCQwx08LIYWBkbBhrWjQBSKuUr5LQ1UqWC8pO8nq\/wDbBERRLwiIgCIiALK3mR9+v0NkhB+FgcH1Txkentp5nwVvf7s2z2uSfIMrhuxDT9XXHMBc+y1ofa7aXTg\/FVB35d7iOg\/vqVZH4ViMtX5k1SWmr6cvUuIomQxMijaGsY0Na0cgOAXtEVZqCIiAIiIAiIgCIqq83+ks0eJD2tQ4dyBh7x8+gXUm3ZEZzjBYpOyOu4XGltlKairkDGDgObj0A6rNxUtftdM2prC6mtbXZjhB1k46\/wBfbqpaGx1V6qxdL80j\/wCVLwDR4j7e61DWhrQ1oAAGAByU7qGmplUZV3eeUeXPr2I6emhpIWw08TIo28GsGApURVmtK2SCIiHQiIgIZaSmme18tPG9zTkFzASNMfdTIiHLJBERDoREQBERAERVt\/uH4ZZaioBO\/u7keP8AMdAfTj6LqV3YjOShFyexTMY7aXagzPbmhtpAaN7R7s5zw8BkeAWrVPsrQfAWGBrgQ+X814PU8PlhXClN52WxTw8WoYpavNhERQNAREQBERAF8c4NaXOIAAySeSgra6nt1K6pqpBHG3rxJ6DqVmGx3PbBwkkLqG1g91oPel\/f6ealGN83oUVK2B4Yq8uR0V+0dVX1Lrfs\/F20mMPqf5WeI5ep+a7LPs3DQSGrrH\/F1zjl0r9Q0+Gfr9FZUFvpbbTCnpIhGwcccXHqTzK6V1yytEjCi28dR3f4XTuERFA0hERAEREAREQBERAEREAREQBERAFltox+K3y32UNcY97tZiOnT2z\/AMgtSsjNVx2jbapqqyF\/Z1ETWRyMbnU7vH2I06easp6mXimsKT0bV+hrQABgDAC+oirNQREQBERAFw3a7UtnpDPUu1OjGD9Tz0H7qC936ns8OP4tU\/SKFvEnx6BV1p2fqaqrF1vru1nOscB\/TH5jh6e+qmoq15aGapVbl4dPN\/hdexDRWqu2iqm3G9gspm96ClGg9R008z5LVtaGtDWgAAYAHJfUXJSbLKVJU1zb1YREUS0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgC8ua12N5oO6cjI4FekQBERAEREAVDe9pG0cnwFAz4mved1rG6hhPXx8FzXXaGpq6s2qxM7Wc6STj9MfXB+\/srGybP01nj3\/41U8fmTO4nPEDwViioq8jJKpKq8FLTd9vM5rJs4KSU3C4v+JuD9S5xyGeXj4+yv0RQcm3dl9OnGnHDEIiLhYEREAREQBERAEREAREQBERAEREAREQBERAEREARFDU1UFHTunqZWxRM4uchxtJXZI5zWML3uDWtGSScABZWtuVdtJUvt1mJjpGndnqjwcOg\/vJ8lG51dtlUFsTn0lpjOrsd6U\/36DxWpo6OnoKZtNSxiONnAD6nqrMoa6mS8uIyWUefPp5EFqtNLaKQU9MzX+d5HeeepXciKDd82aoxUVZaBERcJBERAEREAREQBERAEREAREQBERAEREAREQBERAERVl7vlPZacOk\/MnfpFE3i4\/YLqTbsiM5xhHFJ5E90ulLaaQ1FU\/A4NaOLz0CztNQVm1tQ2uuYdBb2H8mnBwXjr\/XnyU9sslXc6wXW\/jefxipj+lnmPt7rTAADAGAFO6hktTKoyru88o8ufXseYoo4ImxQsbHGwYa1owAF7RFWbNAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDxKJDE8RECTdO6XcAeWVR2XZ50NR+J3Of4utfqHcWs05eKIpJtJ2KJwjKpG+xfoiKJeEREAREQBERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "christian jara",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "wsp",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "961204249",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I748\",\"id_control\":\"28696\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:05",
    "ubicacionGPS": "LatLng(lat: -23.5915685, lng: -70.395855)",
    "horaLlegada": "11:08",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/05/2026 12:05:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:65152162

[15/05/2026 12:05: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('65152162', 'EP2106', 1, 27729424, 0, NOW(), 
				'08:00', '11:08', '12:05', 10, 'sin contador ni ep se entrega en portería ', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778861150.png', '', null, 'COMPLETADO','LatLng(lat: -23.5915685, lng: -70.395855)' )
				
[15/05/2026 12:05:50] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200326
[15/05/2026 12:05:50] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200326', 'EPS-I748', 1)
				
[15/05/2026 12:05:50] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28696 and
				    IDproducto = 'EPS-I748'
				

15/05/2026 12:05:50 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I748';
                
15/05/2026 12:05:50 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200326'                    
				WHERE idllamado = 12219			
				TO ENVIO: micorreo@miempresa.cl, null


15/05/2026 12:05:51 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12219			
				
15/05/2026 12:05:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 12: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 = 12219
                

15/05/2026 12: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 = 12219
                

15/05/2026 12:05:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                

15/05/2026 12:05:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                

15/05/2026 12:05:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12219
            GROUP BY l.idllamado;
            

15/05/2026 12:05:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                

15/05/2026 12:05:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                

15/05/2026 12:05:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                

15/05/2026 12:05:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                

[15/05/2026 12:05: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;
                

15/05/2026 12:05:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                

15/05/2026 12:05:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12219
            GROUP BY l.idllamado;
            

15/05/2026 12:05:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12219
            GROUP BY l.idllamado;
            

[15/05/2026 12:05: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;
                

15/05/2026 12:05:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                

15/05/2026 12:05:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                

15/05/2026 12:05:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                

15/05/2026 12:05:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                

15/05/2026 12:05:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12219
                
[15/05/2026 12:20: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[15/05/2026 12:20:43] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[15/05/2026 12:20:46] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:20: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;
                

[15/05/2026 12:20: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;
                

15/05/2026 12:20:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

[15/05/2026 12:20: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;
                

15/05/2026 12:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

[15/05/2026 12:20:53] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

[15/05/2026 12:20:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:20:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:20:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:20:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

[15/05/2026 12:20:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:20:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:21:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:21:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

[15/05/2026 12:21:02] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12:21:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

[15/05/2026 12:21:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:21:07] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:21:07] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:21:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

[15/05/2026 12:21:09] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:21: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;
                

15/05/2026 12:21:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12543
            GROUP BY l.idllamado;
            

[15/05/2026 12:21: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;
                

[15/05/2026 12:21: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;
                

[15/05/2026 12:21: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;
                

15/05/2026 12:21:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

[15/05/2026 12:21:12] 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;
                

15/05/2026 12:21:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/2026 12:21:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:21:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12609
                

15/05/2026 12: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 = 12609
                

15/05/2026 12: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 = 12609
                

15/05/2026 12: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 = 12609
                

15/05/2026 12:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12609
                

15/05/2026 12: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 = 12609
                

15/05/2026 12:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/2026 12:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:23:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/2026 12:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:23:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

[15/05/2026 12:23:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:23:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:23:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12609
                

15/05/2026 12: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 = 12609
                

15/05/2026 12:23:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12609
                

15/05/2026 12: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 = 12609
                

15/05/2026 12:23:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:23:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

[15/05/2026 12:23:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:23:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:23:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

[15/05/2026 12:23:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:23:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:24: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;
                

[15/05/2026 12:24: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;
                

15/05/2026 12:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

[15/05/2026 12:24: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;
                

[15/05/2026 12:24: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;
                

[15/05/2026 12:24:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:24:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:24: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;
                

15/05/2026 12:24:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

[15/05/2026 12:24: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;
                

[15/05/2026 12:24:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:24:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

[15/05/2026 12:24:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

[15/05/2026 12:25:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:25:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:25:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

[15/05/2026 12:25:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:25:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:25:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:25:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:25:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

[15/05/2026 12:25:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:25:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:25:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

[15/05/2026 12:25:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:25:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:25:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:25:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

[15/05/2026 12:25: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;
                

15/05/2026 12:25:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

[15/05/2026 12:25: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;
                

[15/05/2026 12:25: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;
                

[15/05/2026 12:25: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;
                

[15/05/2026 12:25: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;
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

[15/05/2026 12:25:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:25:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:25: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;
                

[15/05/2026 12:25: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;
                

15/05/2026 12:25:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/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 = 12609
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/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 = 12609
                

15/05/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 = 12609
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/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 = 12609
                

[15/05/2026 12:25: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;
                

[15/05/2026 12:25: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;
                

15/05/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 = 12609
                

15/05/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 = 12609
                

[15/05/2026 12:25:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:25:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

[15/05/2026 12:25:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:25:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:25:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/2026 12:25:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:25:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:25:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

[15/05/2026 12:25:43] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:25:43] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:25:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

[15/05/2026 12:25:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:25:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:25:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:25:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12: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 = 12609
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12609
                

15/05/2026 12:26:02 - logentry: =========================================
FECHA: 15/05/2026 12:26:02
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-mgffF6fRve8w5nRU3yzIk6wjaKS0vP2uoLWNPLNZoVfLo_Zy+70
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78863090",
    "serieinterna": "TO2784",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "705252",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se entrega :\n01 toner\n02 cartuchos de corchetes",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12609",
    "observacion": "entrega de inzumos y reparación de corchetera",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACzASkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABCEAABAwMCAwYCCQIDBwUBAAABAAIDBAURBiESMUETUWFxgZEioRQVIzJCscHR8FLxFiQzB0NTgpLS4SUmNKKyYv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAwICCAYCAwEAAAAAAAABAgMRIRIxQVEEEyJhcYGh0TKRscHh8CNCFDPxYv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBQbpeKO0Qtkq5COPPAxoy52Bnb+dQpyyVqZ9fagqbvUnNJRu4acF3wgjr6AZPiQpxSeWUVqko2jHd\/rZzrdZz1ZjprTSTMmlIDHyAZ59BvnZa6IvMTDIAH8I4sDr171l7KXag1FPeZG\/5am+ypx3nfB8wCT\/AMwWrXallhIr6M5yTnKV77BERVmsIiIAi4VlZT0FM6pqpBHGzmT+Q71Es98pL1HI6m4g6Ijja4bjPL8iu2drkHUipKDeSyREXCYREQBERAEREAREQBERAEREAREQBFxqqunoYDPUytijBALnd5Xrtov+Kz\/qCWOXV7HRERDoREQBERAEREAREQFJqy4voLM9kOe2qT2TMc9+ePT81S3GOW32ei01RZdWVWDOQ7lncjPn8h4r1qC4RS6jZ2wD6S1tEj2j8TyRgeO\/CMeZ7wp+mLfPNNNfa8f5ir3jGfusOMfIDHgr12Yps8ubdas4x8PBcfm8F3b6GG20MVJA0BsbQCcY4j1J8SpKIqNz00klZBERDoXiWWOCF80rwyNgLnOPIBe1kq6rn1VcH2qheY6GE5qJx+PfkP078Z6KUY3KatXq1jLeyI81QdQ1ktzqA9lnoQcMOftXDfceJxnwwrLRdNK23T10zQ11ZKXgAY2\/vlRLyO3rqLS1u+zgaA6fG+GjffPgM+JIWriiZDEyKNoaxjQ1rR0A5BWTl2bGWhTvVcnlrd9\/stj2iIqT0AiIgCIiAIiIAiIgC+OcGtLnEAAZJPRRrjcKe10UlXUuwxg2A5uPQDxWJuxr7vb3XetcYIHEMo6VpOXEnHdvtk56+CnGGozV+kKlhK7N+CCMg5BX1QrMyWOz0jZ3F0vZNLi5xcckZ5lTVF4ZfF3SYRF5kkZFG6SR3CxgLnHuAXCRmNRkXa\/UFkAcYw7tZyO7+2d\/ELS9jF\/wmf8ASFm9JMkrquvvc2S6ofwR5HJo\/jR6LUKyeOzyMvR1qTqP+304BERVmoIiIAiIgCIiAL45wa0ucQABkk9F9WW1vdzSUbLfC7ElQCZPBnL5n8ipRjqdiqtVVKDm+BSWO0v1Fep6+Yf5Vsxe\/iH3yTnhX6G1oa0NaAABgAdFV6boTb7FTQu++5vaO35F2+FaqVSWplXRaKp07vd5YRF5c5rBlzg0eJwqzUekRVeoLuyz2x82ftX5ZEMZ+LHPHcupXdkRnNQi5PZFZfbnUXC4DT9rOJH7VEvRjcbj25+3NT+zotKWF7mD4YxkkjLpHnYfzuXnTNm+qrf2kw4quo+OVxHxNz+HPh+arbkf8S6jbaWlwo6Il87mn7zhtj3OPdW4b0rZGFuUY9ZL45YS5fvEmaToJG0sl1qsmqriXkknZnT9\/LC0C+NaGtDWgAAYAHRfVVJ3dzZSpqnBRQREXCwIiIAiIgCIiALjV1cNDSSVVQ\/gijGXFdXODWlziAAMknosTcLi2\/1s3bTGGy0Ry9wO8zugHeT08FOEdTKK9bq443e37yJVFS1GrKwXGvaY7dE77Cn\/AK\/E\/wA8F9uTBftVwW4DNJQjjmAGxPcfkPdWLL5QDTc1bQfDFTxlrWEAFp5NH5e686Sofo9qNXID9IrHmWQu54ycD9fUqd2rv5GVQjJxgne+W+f6y9REVJ6IWc1XcX9nHZqQB9TXENO\/3G5HPz39MqffL3DZ6bOO0qZNoYhuXHvPgomnrNUQzSXW5v466o3IIH2Y7vborIq3aZlrSc31UPPuXuy0tdELbbKejBB7JgBIGMnmT75UtEVbdzTFKKSQREQ6EREAREQBERAcqmojpKaWpmdwxxNLnHwC\/OHxVN5ulNLUjD7hPlrHHHDGO4npucYP4fJX93nk1Nd22WkkApIDx1Ezd9x0+ePPyX2xxNr9VVVaxhbTUTOxpxw4A5jb\/wCx9VfDsJvieXXfXzUVte3jz+S+pqwABgDAC+ovhIAyTgBUHqHKrq4aGkkqqh\/BFGMuK\/PrlXXHUFypiOOKCZ\/BTNaMjHEAXHv8\/DCuqh8mrL0aSJ7haqY5kew7SO8\/53pYoYrnqSouEfD9EoWiCma3ljkCPDGT6q+KUFd7nl15SryUI\/De3jbd+C+pqooxFEyMEkMaGguOScd6y8jDf9ZcJy6ktg+IHkX55epHs1XV+uYtNpmqcjtMcEQPV55e3P0UXS9vFusrZZiRLUDtpXPOMZ5Z37lCOE5GmradSNPgsv7HbUV3Fmtbpmkds88EQIzv3+gXjTVpNrtje1B+kz\/aTE5zk9D5ZVVSMdqnUBrpMm3ULsQDbDnjB+fP2C1qS7K0il\/LUdXgsL7sIiKs1hEXxzg1pc4gADJJ6ID6ixtz1lUGrDLbE11K2VrDMWkmQ9zR79618JkMLDK0NkLRxgHYHqpSg4rJTTrwqNqPA9oo9bW09vpX1NTIGRsG57\/AeKydVdb1dqSe4U5dQUEDXOadw6XHLl7d3suxg5HKteNPG75G0RV9iqZ6yyUtRUnilezLj3781IrqtlBQzVcgJbEwuIHXwUbZsWKacNfDczOtL92Lfqqmkw94\/wAwRza04wPUc\/DzWZjo6ipp6amJeXyOxTw5AwDklzvPp1O\/QDNlp20y6huktxrm8cAeXSdz38+Hy3XoXtkFzudxjDH1BIp6OMDOBnGcdBgDzJ81qXZWlHh1G6r62o7J7eC\/fmSJaLjmpdL0OHtjcJa6To47ZPpy9gtrFEyGJkUbQ1jGhrWjoByCqNM2X6poOOf4quf45XHmM\/hz4fmrpUTld2R6vRqWmOpqzfouCCrL3e6ey0nay\/HK7aKIHdx\/QeK4XvUUVtLaamZ9KrpDhkLd8Hxx+SjWjT8slUbreiJqx5y2M7ti7vX8lxRSzI7Uqyk+rpb8+C\/PcfLFaJ6mudfbqM1Eu8UThjsh\/bl+60iIuSk2y2nTVONkERFEsCIiAIiIAiIgCotT3Waip4qOiZ2lXVksY0ZyG9Tt13Hz7lY3S5QWmhfVz5LW7Bo5uPQBU2nrdUVdZJfbk1pfPvBGQHcDehB6bcvdTirdpmatNt9VDd+iPUlPHpPSs3Zu4pyMGQDdz3bA+Q\/RStK2\/wCr7FAHNIkmHavyMHJ5fLCgal\/9Tvdts7fiZx9tMAen9s+61C7JvTniQpQXWu20cL7hZzVVzkDYrPROzV1h4Twn7jT3+f5ZVxc7hDa6CSsnyWsGzRzcTyAVNpa31Erpb5cCTU1e7B0DMDBx+Xh5pFW7TJV5OTVKO737l+RcjBpbSppoMGWQdm0n8TyPid7Z+QVhp23fVllggc3hlcO0l234j3+Ww9FUPb\/iHWIB+Kjtg3HQvz+pHs1Xd8uTbVapqniAkxwxZ6vI2\/f0XZXso8WV09KlKp\/WOF5blFX\/APuPVkdAPio6D4pu5zuo98N9131LXzVlVHYKA5lnIFQ4DPZtOP03Ph5rlRmPS2mHVk2DW1I4sE7vceQ5nOM5U3TNnko4X19aS+vqt3ucclrTvj+fopNpZ5bFcVKfZ4yy+5cF+95a2+hhttDFSQNAbG0AnGOI9SfEr7WV9Jb42vq52QtccAuPMqNe7vFZaA1MjeN5PDHHnHEViWUNwv8AqJkNbKXuAD5dsiFvPh2xjoPM+ajGGrLLq1dUrU6auz9Fa5r2B7HBzXDIIOQQvS8taGMDW8mjA3yvSqNgWW1BW1F3r\/8AD1uyDkOqZejW93luM+OAp2o70bdA2kpgX1tUOCFrebc7Z9+SrJI2aUsDgDxXWsy0PGS4knp5A+6thG2fkYukVFK8L4W7+3izlbqSGv1NHBSNxQWgfDsDxv6knvLhz7mrV1tbT2+lfU1MgZGwbnv8B4qhoJKTSOn4zWHFTMO0dGPvOcenoMfNcaK1V+oqplxvf2dM3eGlAxkeP8yfJdkru72RXSk6cdMVebz3Lx8EfKKjq9VVbbjcmmO3xnMFP\/V4nv8APr5KRrCaR1JS2ikA7WskDQ0bYaPyGcexWka0NaGtAAAwAOiytrAvWr6u4vBdDRDsocjbO4\/7j6hFK7vwRKpT0R6tO8pbv6+hpqaBtLSxU7d2xMDQe\/AWV1RcHXOvh09SfefI3tX5yB1x6cz5K11DffqqNlPTN7WuqMCKMDOM7ZI8+Q6rOi01ml6iju8kLqvAcanhOezJB\/Q8+We7bKmv7PyOdJqXXVx2XxdyNJWGDTenHCnaAImBrDyLnHbiPj1VJoezfAbpUN6lsAI5d7v09CrdmqrDVx8MlUGgkZZLGR+mFLhvNmZC1sVwpGMaMBvatGB5Ll5KLVtyWmlOpGepWisIsCQBknACzFffay61Ztmn8OOPtarPwtHgf19u9Rqu6VWqqo221v7Cj5SzP2Lx3Y5+nutLbLZTWmjbTUzMNG7nHm895XLKGXuS1yru0HaPPn4e5EsunaWzgy5M9U8fHM\/n447lboig227s0whGEdMVZBERcJhERAEREAUOvulNbXQipLwJncIcG5a3luT0G4UxcKyip6+mdT1UYkjduQe9dVr5Iz1aezudeNnAH8Q4SMh2dlV3HU1qtzDx1LZpOkcJDnevQeqgu0LaHSF\/HUgHkwPGB8sqyoNP2u2kOp6RvGDnjeeI57xnl6KVoIov0iWEkvO5T01vrNS17LjdI3U9HH\/o0pJBd4nwPz8lqCWsZkkNa0eQAXpUuq7j9X2OXhdwyz\/ZMwd9+Z9spdzaR1RjQhKby92+ZA0yTdb1cb1J8TeLsocg7N\/tj3K073tjjdI9wa1oJcT0CgWG3\/Vlmp6Y\/fDeJ+2PiO59uXoqfUVZPdq9mnre7DieKokB2aO4\/L5Bda1SxsVxl1NFN5k\/Vs5Qsk1devpL2kWqkPCxp\/3rvL+bYHNXd8ucdmtMkzS1snDwQs73cht3Dn6KZR0cFBSR0tMzgjjGAP1KzO+o9XdXUFtP\/K54P7\/Jviu4k+5EWpUoWXxy\/fki10xbX260NEw+3nPayE88noTlVlY4X7VbabiH0O2DjlOcAv69R5eGD3q6v1zFptM1TkdpjgiB6vPL25+iyTW1NLZ6e0Uu9xuhMk\/xbhhB2OeWRufVdjd3kQruMFGktll9\/JebLGmadUajdVPybfb3Yi7nvyN\/I4z5YWpmmjp4XzTPDI2DLnOOwC4Wy3w2ugjo4MlrBu483E8yVR6jnfdLlT6epn47RwfUlv4WjfB27t\/ZR+J2Wxar0ablLMn9eRWTVf1hNVahq28VJTZjoo3DZzuhOx89+qvdKWs0VsFTO0fSqs9pI4jcA8h+vmVWGlZdtRQ2uB4bQWhoyB+JwxkHvORjPgVsFKcsWK+jU7zc3m3q+L+yCgXi6w2i3vqJXDjwRGw\/jd0CmSyshifLI4NYxpc5x6AcysrQxy6qvRuNQC230b8U7CPvnPP5An0ChFXy9jTWqONow+J7e52slCWMfqK9Sf5hwLm8ewiZ5eXLw8VXw1jKyql1Nc2ltJAeCkhJOXPHLHz9fJSdSXBlzrPqiOQspoDx1kwAw0Dpv4\/Mrna6E6mqm1U8XY2ulPDTU4GA7z\/X2Vq21MwPMlTp5t6vi33L6kmyWuS71br9dWNd2u9PAdw0cgceQ\/ValfAABgDAC+qmUtTPRpUlTjZb8XzKzUFyba7NPPxYkcOCLB34jy9ufoqahuFPpfTEDXjjrJx2gg\/ES7lnuGMKFrSukqbvTW6CISmEh3Bji43u5DHlj3V1ZNOfRpfrG5PNRcJDxEuORGfDx8fZW2UYK5ic51K7VPhi\/Ln5nmwWOVtQ68XT466f4g0j\/SB\/XG3gNloUWdumpyKn6vs0X0ysOQS3drP3\/JV5mzV\/H0eFv+tna9\/UFuhMtdSU5e8fCxsY434\/nNZ+3aZN7qzXPphb6Eu+GEZ4nj15efsru1aYDZvp94k+mVr8H4t2s\/f8loVLXpwmU\/4\/XPVUVly4+b+xnanRdudG76I6Wmlx8LmvJGRyyPPB9F30nXz19nzUP7R8Mhj7TiyXAAbk9+\/5Lzqe9MoKQ0UP2lZVNLGMad2g7Z\/ZTbHbBabVFS83jLnnvcf5j0Rt6O0dhGCr2pq1ln7FgiIqjaEREAREQBERAEREAREQBZe5ZuutKSgzxQUTO2kaRtxc\/wDt595Wnc4NaXOIAAySei\/P6G+GOvr6+niM9fWydnTxYzwt55PX+n2VtNN3aMXS5xjpjLZv6fqNJqS9Poom0FCDJcKnaNrdywHr+3v0XbT1kbaKLMmH1cvxTScznuz3BcLDYpqWd1yucgmr5RgnnwDz78DG3TZXy5JpLSidOEpy62a8Fy\/JX3yuFus1TU8QDwzDMnHxHYKNpS3\/AFfYoeJnDLMO0fkb78vlhV9\/xedQUdka4dlGe2qMHlty88f\/AKV1d65lptE1SAB2bcMby3OwAS1opcziknVlUe0ce5nL1VQXS\/OZO8fV9qbxTdz355e+G+\/epmlqOaqqajUFYB2lWSIm\/wBLc\/8AgAeA8VnrTQyXOaG1tc4sL\/pFc\/f0bny+bj3L9Bc6noKPicWwwQM9GtAU5vStKM3RourJ1Zbb+f4XqRrzdYrPbpKqTBdyjYT953QLO0rX2CxVF7qzxXGs+4XbkcW4Bz5ZPl4LpbYZ9UXNt3qx2dFTOLaeEjPEe85+Z8MdF6c5+pNUdmBm324nLsbPfy5+fLwHiiVsfP2JTm6jU1xxH7sstMWk2u2cUp4qipIklcRuMjZueuN\/UlXKKsv14jstvNQ5vHI48MTO92OvgqsyZtShRp9yKrU9XLcKuCwULyJZXA1BAPwN6A+G+T5DvXe911Ppuxso6LDJXNLIW8W7c83+\/wA1909azbKWa6XNx+mTNL5nvOeBnPHyyf8Aws3DTVmsb4+d7nMpWHBdj\/TZ0aPH+6uSTxwRgqTmlqS7c9u5DTtpnvfFG8uZRNfxVEgJzO8ch7H0z4r9Ahhjp4WQwsDI2DDWtGwC501NTW6kbBC1sMMY23wB4kqML\/aC9zBcafLBknjGPfkVXOTm8GmhSh0eKUnllis9qPVEVpY6npi2WsO2OYj8T4+CjVF7uN9nfRWGMxwtdh9Y7YDy7vzVTdrNSW6oo7aZi6aoPaVVS\/GzM9M8uTj6e0oQV+0VV+kycH1W3P29y70jbc0xu9WDJWVLi5sjzkhvh57\/AJK5uV1o7TB21XKG\/wBLRu53kFQzakqqyT6Dp2jMoYOHt3j4Wj1\/X2Um36WaZxXXiY1tWTnDvuN8Mdce3gklm8jtOdo6KKv38PyQuO9ar\/08222n8X4pR+vyHmtDbLRR2mDsqWPG3xPdu53mf05KYAAMAYAX1Qcr4Wxop0VF6pO8uftyCpL7fxbyKKib29wlwGRgZ4c9T+y433UjaYut1tzPcJDwAMGRGT+vh7rvYLAy2M+k1B7avlGZJDvw56D9+q6opK8iE6kqkurp+b5fk5WLTrqSd1yuUn0i4S7kncR57vHx9Ar9EUHJyd2XU6cacdMQiIuFgREQBERAEREAREQBF4lljhjdJLI2NjRlznHAHqsxVX+tvVQbfYGODc4kq3DAaPDu\/PuUoxbKqlWNPfflxPurNSxUsEttpTx1EjS2Rw5Rg8\/XHspemtOQ2iBs8n2lXI0cTiMcAP4QqJ9jgp9RW22MJnlz29TMebtycc9ht81u1ZNqMUomWhGVSrKpUW2F3Bc55mU1PJPIcMiYXu8gMldFn9Y1fZWgUbHATVjxG0eGQT+g9VXFXdjXVn1cHLkctHU75o6q8TEmWslOM9Gg\/vt6Km1nd3VF0ZQxfHFTOBcwjIc\/xGPT1Wlq6iPTWm2AkF0UYjYM\/efj+5WW0dbXXK7PragcUUB4zkbOkPL23Psro2u5s82smow6NHd7mp0xZxaLY0PbionAfKcYI22afLJVXdJpdUXY2ekeG0dM4PnmG+SNsD3Ptnopup7xJTxttlB8ddVfAGt5saevge71Km2m209gtPZuc34Gl80uMZ6k+QH5KF2u092aHFS\/hj8K39vcg6krm2u2RWygj4Z6odlCxg+6OR8ueArGyWqOz21lK0hz\/vSPAxxOP8x6Kl07Tm8Xapv9S3LC4spmux8IHXwIG3qVqlyWFpJ0Frl1r8F4fk5zTR08L5pnhkbBlznHYBZazwP1Ld5L1WR\/5WI8FPC45AIxv\/Op8EutRLqa7fUtG8NpISHVEw3zjoPXbz8lqaeCOlp44IWhkcbQ1oHQJ8C72c\/3z\/8AMfV+yFRBHU08kEoJZI0tcAcbearQy26VtTnNHBHnqRxSO6DPerZYfUrLrW6gbCyjfUQRAGKLGWHPV2D3+WyQWp2vgl0mfVx1pXlsjnXVL7sz6yvE8lHQD\/41LGfjl8R\/3FVdVRPkfS1RoW0lHNMI4oznicNsknmfP2WrtunnNmddL9MyWo2cGEjs4wOWem3sFUX65f4ivNHRWlxLoXO4ZCcAu2OR4Dh5q6Ms2R5tWk9Gqe72XF\/vI0NfeLXpmkbTRsbxNHwU8fPzPd5lZ+2WibVtbNdq95jgL+EMZzdgDYdw8fNdLvZqex2R75Huq7hVOETZH7kZ+9wjyyM+K1Vnt7LZa4KRowWNy897juT7qF1GN1ualCVarpqLsrNvpc70tJT0UDYKaJsUbeTWhdl8JAGScAKjuGrbdSEw0zvplTybHFyz4u5e2VUk5PBulOFJdp2Rb1VXT0UDp6mVsUbebnFZiW7XTUkjqazRupqQbSVL9iR4d3kN\/Je6SwVt7qBcL+9wbnMdIDgNHj3fn3rTxRRwRNihY2ONgw1rRgAKXZj3sotUr79mPq\/Yr7PYaKzQ8MDeOUj45nD4nfsPBWaIoNtu7NMIRgtMVZBERcJBERAEREAREQHl72RsL5HBjWjJc44AXEXCic4tFZASOYErf3WWqaOK8avqaG51EgDYx2EbHgAjnjlzwc+iszouyHGIJGkHpIT+as0xW7Mqq1Zt6Iqydsv8E+e+WqmZxS3CAD\/+Xhx9gqqXV8dS\/sLPRzVs55ZbwtHiev5KXBpOyQP4hRB5HLtHFw9iVawwQ07BHBEyJg5NY0NHyXLwXed015btLwy\/UzDNPXa8yia\/VZjiByKaI7fLYfMrS0tJT0UDYKaJsUbeTWhdlUamuX1dZ5ODeef7KJuMkk9ceA\/RLubsdUKdCLn6vcrbARc9T3K6h3HFH9jEc7Y7x6D5rUqusNsFptMNNgdpjjlI6vPP25eisUm7vB3o8HGn2t3l+YWVjP1vrtzs5htrMDDvxf3J\/wCn0Wir6ttDQT1TuUTC7lnJ6LGU08tp0nLV8RdW3WXDPgycZx+\/uFKCw\/kU9JmlKKeyy\/Lb1I+rbobrXmCny6Cld2Yx+OQnfHfy2\/8AK0Bq4NI6fp4HtD6p7domnPE88\/QKjrLS+y1Nq46N9S2Nhe8MH35jk4J7gQ0eQVzZ7PV1tyN7vLeGb\/cwf8MdD6d3qrJadK5GSkqjqydu0\/RfuEdtOWWenllulydx11TuQf8Adg9PP8uS8auqpHxU1op89rXPDSR0aCP56FaNZjhFb\/tBIeQRRU+WtPQ4H\/f8lXF3lqfA2VYKnSVOPF2+e5f0FFFb6GGkh+5E3hz3nqfU5Kp9TXiSBjLXQHjrav4MNO7Gnr4H+673rUdLagYWETVjhhkTd8Hpxd35rjpuyS0nHcbh8dfUbuLubAenn\/ZcSt2pHZy1fw0vN8l7k6yWiKzW5tMzDpD8UkgH3nfzZWKIoNtu7NMYqEVGOyCrbvfaGzRZqJOKUj4YmbuP7DxVbc9STS1Zttjh+k1OcOlxlkff4evLzXa0aZipZfp1wf8AS69\/xOe\/drT4fv8AkpqKWZGeVaU3ppfPgvdleygu+qHtmuTnUVBkFtO3YvHf\/wCT6BLJR0\/+Mq11LC2Onoo+zaG\/1bDc9Ts7xWsc5rGF7jhrRknuCzGjXNjtdfc5\/g7WZz3E\/wBIGefqVJSbiymVGMakE8vdvwF1xdNZ0FBjMVIO1k5EZ57j0aPVT7rqeit5MEOaurJw2GLffxP8KzNrtd01BU1VwbOKSCqcQ97d3EZ+6Mb45c8Z8VrbVYKCzs\/y8XFL1mfu8+vT0XZaVZPgRourU1SirXe75cLIpm2q+6gcH3ac0dId\/o8WziPL98+SvrdZrfam4pKdrXHm87uPqVORVubeDXToQg9W75sIiKBeEREAREQBERAEREAREQFFqSzy1jIq+hJbXUp4mY\/GAc8PvuPXvUmxXuK80fGMMnj2mi\/pPf5K0Wau+nqiCsN3sj+yqRvJCOUnf793XzViaktLMtSMqcusgr33X3RpUVFa9V0NaRBUu+iVQ2dHLsCfA\/vurt0jGRmR72tYBkuJwAPNQcWsMuhUhNXiz65wa0ucQABkk9FkqUO1Xf215a4W2iOIg7bifseXsT4YXq7XKbUNQLPaRxQOwZ6n8OAeQPd+a0lBQwW6jjpadgaxgx5nqT4qfwLvM7fXzsvhXq\/YkIiKs2Gb1zM5libG04EszWu58gCfzAUKxUkl7usdxlYWUVA1sVKwj72BsfTY+3ctVV0dNXQGCqhbLGTnhcOq6RRRwRNihY2ONgw1rRgAKxTtGyMkujudbXJ4xjwPaIirNYVHc9OGtr3VtNXSUk0jeCQsGeJvy7h\/ArxF1NrYhOnGorSKy2aet1rPHDDxzdZZPid6d3orNFEuNzpLVTGoq5OFvING7nHuA6pmTOJQpRxhElzmsYXvcGtaMkk4ACylZcq\/U1S6gsxMVG3aaqII4h1A\/bmfJfGwXTVsglncaO1cWWMH3pADt5+u3mtPSUdPQ07aemiEcbeQH5qeIeJnvLpGFiPq\/wAHC1WmltFIKemZv+N5HxPPeVORFBu+WaoxUVZbEG9zGCyVsjdnCFwBzjBIwD81l5Jm23\/Z5FGHDtKw4G\/eST8hhXGs6jsNOStyAZntYPfP6Kpmg+mXex2fOWUkDZJhnG+Af0HuroLH7wPP6TJ9Y0t7W+b9jUWqiFvtdNSDnGwB3LnzPzypiIqG7noxiopJBERDoREQBERAEREAREQBERAEREAREQEC42W33VuKunDnDk8bOHqPJVP+A7Txl3a1WM\/d424\/\/OVpUUlOS2ZTOhSm7yirkeioaa3Uwp6SFsUY3wOp7yepUhEUS1JJWQREQ6EREAREQBEUG8XEWq2TVnZ9oWDZuQNzsM+q6ld2IykopyfA5Xq+Utlpu0lPHK7\/AE4QcF37DxVTbLLU3eq+tr83izvDSu+60eI\/T3Xay2J88\/1xdy2eqlw6Nh3bGOhwev5ea0am2o4W5mjCVZ66m3BfdnwAAYAwAvqIqzWEREBltbzMDLdBK4COSfifkbYGMn\/7L1pKJ1ZU117lOXVLyxgwNmg\/2Hoq3WTHV+o6Ogi3cYwMjfBc4\/oAtlR0sdFRxUsQ+CJoaFc3amlzPOpxdTpMpcF9bf8ATuiIqT0QiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC8vYyRvC9oc3IOHDI23CIgPSIiAIiIAiIgObqeF0zZjEwyt+6\/h3HTmuiIgsEREAREQBERAEREAREQBERAEREAREQH\/\/Z",
    "razonSocial": "SOCIEDAD  EDUCACIONAL INMA LTDA.",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "RENDIC",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MAQUINAS NO CORCHETEAN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56946496376",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1057\",\"id_control\":\"28695\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I1056\",\"id_control\":\"28695\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:26",
    "ubicacionGPS": "LatLng(lat: -23.699272, lng: -70.4217729)",
    "horaLlegada": "10:38",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 15/05/2026 12:26:02
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-mgffF6fRve8w5nRU3yzIk6wjaKS0vP2uoLWNPLNZoVfLo_Zy+70
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78863090",
    "serieinterna": "TO2784",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "705252",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se entrega :\n01 toner\n02 cartuchos de corchetes",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12609",
    "observacion": "entrega de inzumos y reparación de corchetera",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACzASkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABCEAABAwMCAwYCCQIDBwUBAAABAAIDBAURBiESMUETUWFxgZEioRQVIzJCscHR8FLxFiQzB0NTgpLS4SUmNKKyYv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAwICCAYCAwEAAAAAAAABAgMRIRIxQVEEEyJhcYGh0TKRscHh8CNCFDPxYv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBQbpeKO0Qtkq5COPPAxoy52Bnb+dQpyyVqZ9fagqbvUnNJRu4acF3wgjr6AZPiQpxSeWUVqko2jHd\/rZzrdZz1ZjprTSTMmlIDHyAZ59BvnZa6IvMTDIAH8I4sDr171l7KXag1FPeZG\/5am+ypx3nfB8wCT\/AMwWrXallhIr6M5yTnKV77BERVmsIiIAi4VlZT0FM6pqpBHGzmT+Q71Es98pL1HI6m4g6Ijja4bjPL8iu2drkHUipKDeSyREXCYREQBERAEREAREQBERAEREAREQBFxqqunoYDPUytijBALnd5Xrtov+Kz\/qCWOXV7HRERDoREQBERAEREAREQFJqy4voLM9kOe2qT2TMc9+ePT81S3GOW32ei01RZdWVWDOQ7lncjPn8h4r1qC4RS6jZ2wD6S1tEj2j8TyRgeO\/CMeZ7wp+mLfPNNNfa8f5ir3jGfusOMfIDHgr12Yps8ubdas4x8PBcfm8F3b6GG20MVJA0BsbQCcY4j1J8SpKIqNz00klZBERDoXiWWOCF80rwyNgLnOPIBe1kq6rn1VcH2qheY6GE5qJx+PfkP078Z6KUY3KatXq1jLeyI81QdQ1ktzqA9lnoQcMOftXDfceJxnwwrLRdNK23T10zQ11ZKXgAY2\/vlRLyO3rqLS1u+zgaA6fG+GjffPgM+JIWriiZDEyKNoaxjQ1rR0A5BWTl2bGWhTvVcnlrd9\/stj2iIqT0AiIgCIiAIiIAiIgC+OcGtLnEAAZJPRRrjcKe10UlXUuwxg2A5uPQDxWJuxr7vb3XetcYIHEMo6VpOXEnHdvtk56+CnGGozV+kKlhK7N+CCMg5BX1QrMyWOz0jZ3F0vZNLi5xcckZ5lTVF4ZfF3SYRF5kkZFG6SR3CxgLnHuAXCRmNRkXa\/UFkAcYw7tZyO7+2d\/ELS9jF\/wmf8ASFm9JMkrquvvc2S6ofwR5HJo\/jR6LUKyeOzyMvR1qTqP+304BERVmoIiIAiIgCIiAL45wa0ucQABkk9F9WW1vdzSUbLfC7ElQCZPBnL5n8ipRjqdiqtVVKDm+BSWO0v1Fep6+Yf5Vsxe\/iH3yTnhX6G1oa0NaAABgAdFV6boTb7FTQu++5vaO35F2+FaqVSWplXRaKp07vd5YRF5c5rBlzg0eJwqzUekRVeoLuyz2x82ftX5ZEMZ+LHPHcupXdkRnNQi5PZFZfbnUXC4DT9rOJH7VEvRjcbj25+3NT+zotKWF7mD4YxkkjLpHnYfzuXnTNm+qrf2kw4quo+OVxHxNz+HPh+arbkf8S6jbaWlwo6Il87mn7zhtj3OPdW4b0rZGFuUY9ZL45YS5fvEmaToJG0sl1qsmqriXkknZnT9\/LC0C+NaGtDWgAAYAHRfVVJ3dzZSpqnBRQREXCwIiIAiIgCIiALjV1cNDSSVVQ\/gijGXFdXODWlziAAMknosTcLi2\/1s3bTGGy0Ry9wO8zugHeT08FOEdTKK9bq443e37yJVFS1GrKwXGvaY7dE77Cn\/AK\/E\/wA8F9uTBftVwW4DNJQjjmAGxPcfkPdWLL5QDTc1bQfDFTxlrWEAFp5NH5e686Sofo9qNXID9IrHmWQu54ycD9fUqd2rv5GVQjJxgne+W+f6y9REVJ6IWc1XcX9nHZqQB9TXENO\/3G5HPz39MqffL3DZ6bOO0qZNoYhuXHvPgomnrNUQzSXW5v466o3IIH2Y7vborIq3aZlrSc31UPPuXuy0tdELbbKejBB7JgBIGMnmT75UtEVbdzTFKKSQREQ6EREAREQBERAcqmojpKaWpmdwxxNLnHwC\/OHxVN5ulNLUjD7hPlrHHHDGO4npucYP4fJX93nk1Nd22WkkApIDx1Ezd9x0+ePPyX2xxNr9VVVaxhbTUTOxpxw4A5jb\/wCx9VfDsJvieXXfXzUVte3jz+S+pqwABgDAC+ovhIAyTgBUHqHKrq4aGkkqqh\/BFGMuK\/PrlXXHUFypiOOKCZ\/BTNaMjHEAXHv8\/DCuqh8mrL0aSJ7haqY5kew7SO8\/53pYoYrnqSouEfD9EoWiCma3ljkCPDGT6q+KUFd7nl15SryUI\/De3jbd+C+pqooxFEyMEkMaGguOScd6y8jDf9ZcJy6ktg+IHkX55epHs1XV+uYtNpmqcjtMcEQPV55e3P0UXS9vFusrZZiRLUDtpXPOMZ5Z37lCOE5GmradSNPgsv7HbUV3Fmtbpmkds88EQIzv3+gXjTVpNrtje1B+kz\/aTE5zk9D5ZVVSMdqnUBrpMm3ULsQDbDnjB+fP2C1qS7K0il\/LUdXgsL7sIiKs1hEXxzg1pc4gADJJ6ID6ixtz1lUGrDLbE11K2VrDMWkmQ9zR79618JkMLDK0NkLRxgHYHqpSg4rJTTrwqNqPA9oo9bW09vpX1NTIGRsG57\/AeKydVdb1dqSe4U5dQUEDXOadw6XHLl7d3suxg5HKteNPG75G0RV9iqZ6yyUtRUnilezLj3781IrqtlBQzVcgJbEwuIHXwUbZsWKacNfDczOtL92Lfqqmkw94\/wAwRza04wPUc\/DzWZjo6ipp6amJeXyOxTw5AwDklzvPp1O\/QDNlp20y6huktxrm8cAeXSdz38+Hy3XoXtkFzudxjDH1BIp6OMDOBnGcdBgDzJ81qXZWlHh1G6r62o7J7eC\/fmSJaLjmpdL0OHtjcJa6To47ZPpy9gtrFEyGJkUbQ1jGhrWjoByCqNM2X6poOOf4quf45XHmM\/hz4fmrpUTld2R6vRqWmOpqzfouCCrL3e6ey0nay\/HK7aKIHdx\/QeK4XvUUVtLaamZ9KrpDhkLd8Hxx+SjWjT8slUbreiJqx5y2M7ti7vX8lxRSzI7Uqyk+rpb8+C\/PcfLFaJ6mudfbqM1Eu8UThjsh\/bl+60iIuSk2y2nTVONkERFEsCIiAIiIAiIgCotT3Waip4qOiZ2lXVksY0ZyG9Tt13Hz7lY3S5QWmhfVz5LW7Bo5uPQBU2nrdUVdZJfbk1pfPvBGQHcDehB6bcvdTirdpmatNt9VDd+iPUlPHpPSs3Zu4pyMGQDdz3bA+Q\/RStK2\/wCr7FAHNIkmHavyMHJ5fLCgal\/9Tvdts7fiZx9tMAen9s+61C7JvTniQpQXWu20cL7hZzVVzkDYrPROzV1h4Twn7jT3+f5ZVxc7hDa6CSsnyWsGzRzcTyAVNpa31Erpb5cCTU1e7B0DMDBx+Xh5pFW7TJV5OTVKO737l+RcjBpbSppoMGWQdm0n8TyPid7Z+QVhp23fVllggc3hlcO0l234j3+Ww9FUPb\/iHWIB+Kjtg3HQvz+pHs1Xd8uTbVapqniAkxwxZ6vI2\/f0XZXso8WV09KlKp\/WOF5blFX\/APuPVkdAPio6D4pu5zuo98N9131LXzVlVHYKA5lnIFQ4DPZtOP03Ph5rlRmPS2mHVk2DW1I4sE7vceQ5nOM5U3TNnko4X19aS+vqt3ucclrTvj+fopNpZ5bFcVKfZ4yy+5cF+95a2+hhttDFSQNAbG0AnGOI9SfEr7WV9Jb42vq52QtccAuPMqNe7vFZaA1MjeN5PDHHnHEViWUNwv8AqJkNbKXuAD5dsiFvPh2xjoPM+ajGGrLLq1dUrU6auz9Fa5r2B7HBzXDIIOQQvS8taGMDW8mjA3yvSqNgWW1BW1F3r\/8AD1uyDkOqZejW93luM+OAp2o70bdA2kpgX1tUOCFrebc7Z9+SrJI2aUsDgDxXWsy0PGS4knp5A+6thG2fkYukVFK8L4W7+3izlbqSGv1NHBSNxQWgfDsDxv6knvLhz7mrV1tbT2+lfU1MgZGwbnv8B4qhoJKTSOn4zWHFTMO0dGPvOcenoMfNcaK1V+oqplxvf2dM3eGlAxkeP8yfJdkru72RXSk6cdMVebz3Lx8EfKKjq9VVbbjcmmO3xnMFP\/V4nv8APr5KRrCaR1JS2ikA7WskDQ0bYaPyGcexWka0NaGtAAAwAOiytrAvWr6u4vBdDRDsocjbO4\/7j6hFK7vwRKpT0R6tO8pbv6+hpqaBtLSxU7d2xMDQe\/AWV1RcHXOvh09SfefI3tX5yB1x6cz5K11DffqqNlPTN7WuqMCKMDOM7ZI8+Q6rOi01ml6iju8kLqvAcanhOezJB\/Q8+We7bKmv7PyOdJqXXVx2XxdyNJWGDTenHCnaAImBrDyLnHbiPj1VJoezfAbpUN6lsAI5d7v09CrdmqrDVx8MlUGgkZZLGR+mFLhvNmZC1sVwpGMaMBvatGB5Ll5KLVtyWmlOpGepWisIsCQBknACzFffay61Ztmn8OOPtarPwtHgf19u9Rqu6VWqqo221v7Cj5SzP2Lx3Y5+nutLbLZTWmjbTUzMNG7nHm895XLKGXuS1yru0HaPPn4e5EsunaWzgy5M9U8fHM\/n447lboig227s0whGEdMVZBERcJhERAEREAUOvulNbXQipLwJncIcG5a3luT0G4UxcKyip6+mdT1UYkjduQe9dVr5Iz1aezudeNnAH8Q4SMh2dlV3HU1qtzDx1LZpOkcJDnevQeqgu0LaHSF\/HUgHkwPGB8sqyoNP2u2kOp6RvGDnjeeI57xnl6KVoIov0iWEkvO5T01vrNS17LjdI3U9HH\/o0pJBd4nwPz8lqCWsZkkNa0eQAXpUuq7j9X2OXhdwyz\/ZMwd9+Z9spdzaR1RjQhKby92+ZA0yTdb1cb1J8TeLsocg7N\/tj3K073tjjdI9wa1oJcT0CgWG3\/Vlmp6Y\/fDeJ+2PiO59uXoqfUVZPdq9mnre7DieKokB2aO4\/L5Bda1SxsVxl1NFN5k\/Vs5Qsk1devpL2kWqkPCxp\/3rvL+bYHNXd8ucdmtMkzS1snDwQs73cht3Dn6KZR0cFBSR0tMzgjjGAP1KzO+o9XdXUFtP\/K54P7\/Jviu4k+5EWpUoWXxy\/fki10xbX260NEw+3nPayE88noTlVlY4X7VbabiH0O2DjlOcAv69R5eGD3q6v1zFptM1TkdpjgiB6vPL25+iyTW1NLZ6e0Uu9xuhMk\/xbhhB2OeWRufVdjd3kQruMFGktll9\/JebLGmadUajdVPybfb3Yi7nvyN\/I4z5YWpmmjp4XzTPDI2DLnOOwC4Wy3w2ugjo4MlrBu483E8yVR6jnfdLlT6epn47RwfUlv4WjfB27t\/ZR+J2Wxar0ablLMn9eRWTVf1hNVahq28VJTZjoo3DZzuhOx89+qvdKWs0VsFTO0fSqs9pI4jcA8h+vmVWGlZdtRQ2uB4bQWhoyB+JwxkHvORjPgVsFKcsWK+jU7zc3m3q+L+yCgXi6w2i3vqJXDjwRGw\/jd0CmSyshifLI4NYxpc5x6AcysrQxy6qvRuNQC230b8U7CPvnPP5An0ChFXy9jTWqONow+J7e52slCWMfqK9Sf5hwLm8ewiZ5eXLw8VXw1jKyql1Nc2ltJAeCkhJOXPHLHz9fJSdSXBlzrPqiOQspoDx1kwAw0Dpv4\/Mrna6E6mqm1U8XY2ulPDTU4GA7z\/X2Vq21MwPMlTp5t6vi33L6kmyWuS71br9dWNd2u9PAdw0cgceQ\/ValfAABgDAC+qmUtTPRpUlTjZb8XzKzUFyba7NPPxYkcOCLB34jy9ufoqahuFPpfTEDXjjrJx2gg\/ES7lnuGMKFrSukqbvTW6CISmEh3Bji43u5DHlj3V1ZNOfRpfrG5PNRcJDxEuORGfDx8fZW2UYK5ic51K7VPhi\/Ln5nmwWOVtQ68XT466f4g0j\/SB\/XG3gNloUWdumpyKn6vs0X0ysOQS3drP3\/JV5mzV\/H0eFv+tna9\/UFuhMtdSU5e8fCxsY434\/nNZ+3aZN7qzXPphb6Eu+GEZ4nj15efsru1aYDZvp94k+mVr8H4t2s\/f8loVLXpwmU\/4\/XPVUVly4+b+xnanRdudG76I6Wmlx8LmvJGRyyPPB9F30nXz19nzUP7R8Mhj7TiyXAAbk9+\/5Lzqe9MoKQ0UP2lZVNLGMad2g7Z\/ZTbHbBabVFS83jLnnvcf5j0Rt6O0dhGCr2pq1ln7FgiIqjaEREAREQBERAEREAREQBZe5ZuutKSgzxQUTO2kaRtxc\/wDt595Wnc4NaXOIAAySei\/P6G+GOvr6+niM9fWydnTxYzwt55PX+n2VtNN3aMXS5xjpjLZv6fqNJqS9Poom0FCDJcKnaNrdywHr+3v0XbT1kbaKLMmH1cvxTScznuz3BcLDYpqWd1yucgmr5RgnnwDz78DG3TZXy5JpLSidOEpy62a8Fy\/JX3yuFus1TU8QDwzDMnHxHYKNpS3\/AFfYoeJnDLMO0fkb78vlhV9\/xedQUdka4dlGe2qMHlty88f\/AKV1d65lptE1SAB2bcMby3OwAS1opcziknVlUe0ce5nL1VQXS\/OZO8fV9qbxTdz355e+G+\/epmlqOaqqajUFYB2lWSIm\/wBLc\/8AgAeA8VnrTQyXOaG1tc4sL\/pFc\/f0bny+bj3L9Bc6noKPicWwwQM9GtAU5vStKM3RourJ1Zbb+f4XqRrzdYrPbpKqTBdyjYT953QLO0rX2CxVF7qzxXGs+4XbkcW4Bz5ZPl4LpbYZ9UXNt3qx2dFTOLaeEjPEe85+Z8MdF6c5+pNUdmBm324nLsbPfy5+fLwHiiVsfP2JTm6jU1xxH7sstMWk2u2cUp4qipIklcRuMjZueuN\/UlXKKsv14jstvNQ5vHI48MTO92OvgqsyZtShRp9yKrU9XLcKuCwULyJZXA1BAPwN6A+G+T5DvXe911Ppuxso6LDJXNLIW8W7c83+\/wA1909azbKWa6XNx+mTNL5nvOeBnPHyyf8Aws3DTVmsb4+d7nMpWHBdj\/TZ0aPH+6uSTxwRgqTmlqS7c9u5DTtpnvfFG8uZRNfxVEgJzO8ch7H0z4r9Ahhjp4WQwsDI2DDWtGwC501NTW6kbBC1sMMY23wB4kqML\/aC9zBcafLBknjGPfkVXOTm8GmhSh0eKUnllis9qPVEVpY6npi2WsO2OYj8T4+CjVF7uN9nfRWGMxwtdh9Y7YDy7vzVTdrNSW6oo7aZi6aoPaVVS\/GzM9M8uTj6e0oQV+0VV+kycH1W3P29y70jbc0xu9WDJWVLi5sjzkhvh57\/AJK5uV1o7TB21XKG\/wBLRu53kFQzakqqyT6Dp2jMoYOHt3j4Wj1\/X2Um36WaZxXXiY1tWTnDvuN8Mdce3gklm8jtOdo6KKv38PyQuO9ar\/08222n8X4pR+vyHmtDbLRR2mDsqWPG3xPdu53mf05KYAAMAYAX1Qcr4Wxop0VF6pO8uftyCpL7fxbyKKib29wlwGRgZ4c9T+y433UjaYut1tzPcJDwAMGRGT+vh7rvYLAy2M+k1B7avlGZJDvw56D9+q6opK8iE6kqkurp+b5fk5WLTrqSd1yuUn0i4S7kncR57vHx9Ar9EUHJyd2XU6cacdMQiIuFgREQBERAEREAREQBF4lljhjdJLI2NjRlznHAHqsxVX+tvVQbfYGODc4kq3DAaPDu\/PuUoxbKqlWNPfflxPurNSxUsEttpTx1EjS2Rw5Rg8\/XHspemtOQ2iBs8n2lXI0cTiMcAP4QqJ9jgp9RW22MJnlz29TMebtycc9ht81u1ZNqMUomWhGVSrKpUW2F3Bc55mU1PJPIcMiYXu8gMldFn9Y1fZWgUbHATVjxG0eGQT+g9VXFXdjXVn1cHLkctHU75o6q8TEmWslOM9Gg\/vt6Km1nd3VF0ZQxfHFTOBcwjIc\/xGPT1Wlq6iPTWm2AkF0UYjYM\/efj+5WW0dbXXK7PragcUUB4zkbOkPL23Psro2u5s82smow6NHd7mp0xZxaLY0PbionAfKcYI22afLJVXdJpdUXY2ekeG0dM4PnmG+SNsD3Ptnopup7xJTxttlB8ddVfAGt5saevge71Km2m209gtPZuc34Gl80uMZ6k+QH5KF2u092aHFS\/hj8K39vcg6krm2u2RWygj4Z6odlCxg+6OR8ueArGyWqOz21lK0hz\/vSPAxxOP8x6Kl07Tm8Xapv9S3LC4spmux8IHXwIG3qVqlyWFpJ0Frl1r8F4fk5zTR08L5pnhkbBlznHYBZazwP1Ld5L1WR\/5WI8FPC45AIxv\/Op8EutRLqa7fUtG8NpISHVEw3zjoPXbz8lqaeCOlp44IWhkcbQ1oHQJ8C72c\/3z\/8AMfV+yFRBHU08kEoJZI0tcAcbearQy26VtTnNHBHnqRxSO6DPerZYfUrLrW6gbCyjfUQRAGKLGWHPV2D3+WyQWp2vgl0mfVx1pXlsjnXVL7sz6yvE8lHQD\/41LGfjl8R\/3FVdVRPkfS1RoW0lHNMI4oznicNsknmfP2WrtunnNmddL9MyWo2cGEjs4wOWem3sFUX65f4ivNHRWlxLoXO4ZCcAu2OR4Dh5q6Ms2R5tWk9Gqe72XF\/vI0NfeLXpmkbTRsbxNHwU8fPzPd5lZ+2WibVtbNdq95jgL+EMZzdgDYdw8fNdLvZqex2R75Huq7hVOETZH7kZ+9wjyyM+K1Vnt7LZa4KRowWNy897juT7qF1GN1ualCVarpqLsrNvpc70tJT0UDYKaJsUbeTWhdl8JAGScAKjuGrbdSEw0zvplTybHFyz4u5e2VUk5PBulOFJdp2Rb1VXT0UDp6mVsUbebnFZiW7XTUkjqazRupqQbSVL9iR4d3kN\/Je6SwVt7qBcL+9wbnMdIDgNHj3fn3rTxRRwRNihY2ONgw1rRgAKXZj3sotUr79mPq\/Yr7PYaKzQ8MDeOUj45nD4nfsPBWaIoNtu7NMIRgtMVZBERcJBERAEREAREQHl72RsL5HBjWjJc44AXEXCic4tFZASOYErf3WWqaOK8avqaG51EgDYx2EbHgAjnjlzwc+iszouyHGIJGkHpIT+as0xW7Mqq1Zt6Iqydsv8E+e+WqmZxS3CAD\/+Xhx9gqqXV8dS\/sLPRzVs55ZbwtHiev5KXBpOyQP4hRB5HLtHFw9iVawwQ07BHBEyJg5NY0NHyXLwXed015btLwy\/UzDNPXa8yia\/VZjiByKaI7fLYfMrS0tJT0UDYKaJsUbeTWhdlUamuX1dZ5ODeef7KJuMkk9ceA\/RLubsdUKdCLn6vcrbARc9T3K6h3HFH9jEc7Y7x6D5rUqusNsFptMNNgdpjjlI6vPP25eisUm7vB3o8HGn2t3l+YWVjP1vrtzs5htrMDDvxf3J\/wCn0Wir6ttDQT1TuUTC7lnJ6LGU08tp0nLV8RdW3WXDPgycZx+\/uFKCw\/kU9JmlKKeyy\/Lb1I+rbobrXmCny6Cld2Yx+OQnfHfy2\/8AK0Bq4NI6fp4HtD6p7domnPE88\/QKjrLS+y1Nq46N9S2Nhe8MH35jk4J7gQ0eQVzZ7PV1tyN7vLeGb\/cwf8MdD6d3qrJadK5GSkqjqydu0\/RfuEdtOWWenllulydx11TuQf8Adg9PP8uS8auqpHxU1op89rXPDSR0aCP56FaNZjhFb\/tBIeQRRU+WtPQ4H\/f8lXF3lqfA2VYKnSVOPF2+e5f0FFFb6GGkh+5E3hz3nqfU5Kp9TXiSBjLXQHjrav4MNO7Gnr4H+673rUdLagYWETVjhhkTd8Hpxd35rjpuyS0nHcbh8dfUbuLubAenn\/ZcSt2pHZy1fw0vN8l7k6yWiKzW5tMzDpD8UkgH3nfzZWKIoNtu7NMYqEVGOyCrbvfaGzRZqJOKUj4YmbuP7DxVbc9STS1Zttjh+k1OcOlxlkff4evLzXa0aZipZfp1wf8AS69\/xOe\/drT4fv8AkpqKWZGeVaU3ppfPgvdleygu+qHtmuTnUVBkFtO3YvHf\/wCT6BLJR0\/+Mq11LC2Onoo+zaG\/1bDc9Ts7xWsc5rGF7jhrRknuCzGjXNjtdfc5\/g7WZz3E\/wBIGefqVJSbiymVGMakE8vdvwF1xdNZ0FBjMVIO1k5EZ57j0aPVT7rqeit5MEOaurJw2GLffxP8KzNrtd01BU1VwbOKSCqcQ97d3EZ+6Mb45c8Z8VrbVYKCzs\/y8XFL1mfu8+vT0XZaVZPgRourU1SirXe75cLIpm2q+6gcH3ac0dId\/o8WziPL98+SvrdZrfam4pKdrXHm87uPqVORVubeDXToQg9W75sIiKBeEREAREQBERAEREAREQFFqSzy1jIq+hJbXUp4mY\/GAc8PvuPXvUmxXuK80fGMMnj2mi\/pPf5K0Wau+nqiCsN3sj+yqRvJCOUnf793XzViaktLMtSMqcusgr33X3RpUVFa9V0NaRBUu+iVQ2dHLsCfA\/vurt0jGRmR72tYBkuJwAPNQcWsMuhUhNXiz65wa0ucQABkk9FkqUO1Xf215a4W2iOIg7bifseXsT4YXq7XKbUNQLPaRxQOwZ6n8OAeQPd+a0lBQwW6jjpadgaxgx5nqT4qfwLvM7fXzsvhXq\/YkIiKs2Gb1zM5libG04EszWu58gCfzAUKxUkl7usdxlYWUVA1sVKwj72BsfTY+3ctVV0dNXQGCqhbLGTnhcOq6RRRwRNihY2ONgw1rRgAKxTtGyMkujudbXJ4xjwPaIirNYVHc9OGtr3VtNXSUk0jeCQsGeJvy7h\/ArxF1NrYhOnGorSKy2aet1rPHDDxzdZZPid6d3orNFEuNzpLVTGoq5OFvING7nHuA6pmTOJQpRxhElzmsYXvcGtaMkk4ACylZcq\/U1S6gsxMVG3aaqII4h1A\/bmfJfGwXTVsglncaO1cWWMH3pADt5+u3mtPSUdPQ07aemiEcbeQH5qeIeJnvLpGFiPq\/wAHC1WmltFIKemZv+N5HxPPeVORFBu+WaoxUVZbEG9zGCyVsjdnCFwBzjBIwD81l5Jm23\/Z5FGHDtKw4G\/eST8hhXGs6jsNOStyAZntYPfP6Kpmg+mXex2fOWUkDZJhnG+Af0HuroLH7wPP6TJ9Y0t7W+b9jUWqiFvtdNSDnGwB3LnzPzypiIqG7noxiopJBERDoREQBERAEREAREQBERAEREAREQEC42W33VuKunDnDk8bOHqPJVP+A7Txl3a1WM\/d424\/\/OVpUUlOS2ZTOhSm7yirkeioaa3Uwp6SFsUY3wOp7yepUhEUS1JJWQREQ6EREAREQBEUG8XEWq2TVnZ9oWDZuQNzsM+q6ld2IykopyfA5Xq+Utlpu0lPHK7\/AE4QcF37DxVTbLLU3eq+tr83izvDSu+60eI\/T3Xay2J88\/1xdy2eqlw6Nh3bGOhwev5ea0am2o4W5mjCVZ66m3BfdnwAAYAwAvqIqzWEREBltbzMDLdBK4COSfifkbYGMn\/7L1pKJ1ZU117lOXVLyxgwNmg\/2Hoq3WTHV+o6Ogi3cYwMjfBc4\/oAtlR0sdFRxUsQ+CJoaFc3amlzPOpxdTpMpcF9bf8ATuiIqT0QiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC8vYyRvC9oc3IOHDI23CIgPSIiAIiIAiIgObqeF0zZjEwyt+6\/h3HTmuiIgsEREAREQBERAEREAREQBERAEREAREQH\/\/Z",
    "razonSocial": "SOCIEDAD  EDUCACIONAL INMA LTDA.",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "RENDIC",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MAQUINAS NO CORCHETEAN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56946496376",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1057\",\"id_control\":\"28695\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I1056\",\"id_control\":\"28695\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:26",
    "ubicacionGPS": "LatLng(lat: -23.699272, lng: -70.4217729)",
    "horaLlegada": "10:38",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/05/2026 12:26:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78863090

[15/05/2026 12:26:02] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('78863090', 'TO2784', 1, 7373114, 705252, NOW(), 
				'08:00', '10:38', '12:26', 10, 'se entrega :
01 toner
02 cartuchos de corchetes', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778862362.png', 'entrega de inzumos y reparación de corchetera', null, 'COMPLETADO','LatLng(lat: -23.699272, lng: -70.4217729)' )
				
[15/05/2026 12:26:02] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200327
[15/05/2026 12:26:02] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200327', 'TOS-I1057', 1)
				
[15/05/2026 12:26:02] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28695 and
				    IDproducto = 'TOS-I1057'
				

15/05/2026 12:26:02 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I1057';
                [15/05/2026 12:26:02] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200327', 'TOS-I1056', 2)
				
[15/05/2026 12:26:02] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28695 and
				    IDproducto = 'TOS-I1056'
				

15/05/2026 12:26:02 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I1056';
                
15/05/2026 12:26:02 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200327'                    
				WHERE idllamado = 12609			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


15/05/2026 12:26:02 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12609			
				
15/05/2026 12:26:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 12: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 = 12609
                

15/05/2026 12: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 = 12609
                

15/05/2026 12: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 = 12609
                

15/05/2026 12:26:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12609
                

15/05/2026 12: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 = 12609
                

15/05/2026 12: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 = 12609
                

[15/05/2026 12:26:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12: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 = 12609
                

15/05/2026 12:26:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

[15/05/2026 12:26:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:26:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12609
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12609
                

15/05/2026 12:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

15/05/2026 12:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12609
                

[15/05/2026 12:26:22] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:26:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12608
            GROUP BY l.idllamado;
            

15/05/2026 12:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12608
            GROUP BY l.idllamado;
            

15/05/2026 12:26:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12608
            GROUP BY l.idllamado;
            

[15/05/2026 12:26:22] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12608
            GROUP BY l.idllamado;
            

[15/05/2026 12:26:27] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:26:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12608
            GROUP BY l.idllamado;
            

15/05/2026 12:26:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12608
            GROUP BY l.idllamado;
            

15/05/2026 12:26:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12608
            GROUP BY l.idllamado;
            

15/05/2026 12:26:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

[15/05/2026 12:26:27] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:26:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12608
            GROUP BY l.idllamado;
            

15/05/2026 12:26:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12608
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12608
                

15/05/2026 12: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 = 12608
                

15/05/2026 12: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 = 12608
                

15/05/2026 12:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12608
            GROUP BY l.idllamado;
            

15/05/2026 12:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12608
            GROUP BY l.idllamado;
            

15/05/2026 12:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12608
            GROUP BY l.idllamado;
            

15/05/2026 12:26:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12608
            GROUP BY l.idllamado;
            

15/05/2026 12:26:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:26:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                
[15/05/2026 12:27: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;
				
[15/05/2026 12:27: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;
                

[15/05/2026 12: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;
                

15/05/2026 12:27:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

[15/05/2026 12:27: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;
                

[15/05/2026 12:27:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:27:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

[15/05/2026 12:27:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:27:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:27:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:27:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

[15/05/2026 12:27: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;
                

15/05/2026 12:27:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12589
            GROUP BY l.idllamado;
            

[15/05/2026 12:27: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;
                

[15/05/2026 12:27:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:27: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;
                

15/05/2026 12:27:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

[15/05/2026 12:27: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;
                

[15/05/2026 12:27: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;
                

15/05/2026 12:27:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

[15/05/2026 12:27:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:27:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:27:46] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:27:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

[15/05/2026 12:27:46] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:27:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:27:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:27: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;
                

[15/05/2026 12:27: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;
                

15/05/2026 12:27:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:27:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

[15/05/2026 12:27:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:27:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:27:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:27:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

[15/05/2026 12:27:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:28:00] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:28:00] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:28:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

[15/05/2026 12:28:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:28:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:28: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;
                

[15/05/2026 12:28: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;
                

[15/05/2026 12:28: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;
                

[15/05/2026 12:28: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;
                

15/05/2026 12:28:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12589
            GROUP BY l.idllamado;
            

15/05/2026 12:28:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12589
            GROUP BY l.idllamado;
            

[15/05/2026 12:28:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:28:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12589
            GROUP BY l.idllamado;
            

15/05/2026 12:28:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12:28:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12:28:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12589
            GROUP BY l.idllamado;
            

[15/05/2026 12:28:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:28:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:28:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:28:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:28:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12608
            GROUP BY l.idllamado;
            

15/05/2026 12:28:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:28:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:28:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12608
            GROUP BY l.idllamado;
            

15/05/2026 12:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:28:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:28:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12608
            GROUP BY l.idllamado;
            

15/05/2026 12:28:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12608
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12608
                

15/05/2026 12: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 = 12608
                

15/05/2026 12:29:14 - logentry: =========================================
FECHA: 15/05/2026 12:29:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-S6qSXxDphrKztE2ktILnmRN-0L3zB+NYHADlMWq94R46Jgy7Zfy
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78863090",
    "serieinterna": "TO2785",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "424247",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "limpieza general y revisión de corchetera",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12608",
    "observacion": "mantención y revisión de corchetera",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADPAQ8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAggDBQQIBQUAAAABAAIDBAURBiESMRMiQVFhcYGRFKGxIzLB0fAVQlKCBxYzNpKy4fFDYnKi0iQ1U3PC\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMhEAAgECBAQFAwQBBQAAAAAAAAECAxESITFBBFFhcRMigcHRMrHwI0KRoTM0RFJy4f\/aAAwDAQACEQMRAD8A\/ZkREAREQBfHODWlziAAMknsX1V2oKn4Sw1kwOD0RaD3F3VH1UpXdis5YYuT2KnT+oay8Xuqi4GfCNaXN23bvgb7c9+xadZHQFGY6KprHAfavDG9+G8\/r8lrlepZSsjn4RzlRUpvNhERZnUEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBZXX1T0drp6YHBml4j4ho\/MhapYusqBeNdUtI6MGCleQP+YtGTn1GPRaU15r8jk4t\/p4FrLI09oohb7TTU2MOZGOLbHW5n5qaiKjd3c6oxUUkgiIoJCIiAIiqLxqSis0jIpeKWZ4z0bMZaOwnPJSk27IpOcYLFJ2RboucEzainjmZ92RgcN87EZXRQXTuEREAREQBERAEREAReXvZGwvkcGNaMlzjgBcaeupKpzm09TFKWnBDHg4\/WD7JYi6TsSEREJCIiAIiIAiIgCIiAIih3C6UVrh6WsnEYP3W83O8gpSvoRKSirtkbUF5baKHLOtUzZbAzGcu7\/TKzWk6CWn1RM2Zxc+GDief+Z3DsfHc+ysLPSVF8uzr3cI3Np4z\/AOkif2YOx9PmfJe9Kfb3W9Vh346jhae4Zdt9PZbfTFo813q1oTel8uy39TToiLA9MIiIAiIgI1wrobbQy1c7gGxtJAzjiPYB4lYupo5\/6u1l7uRL6urDWxtdsGsLgfTIHt5lWV\/H7a1FR2Rr\/sYvtagDyz74\/wAyXx\/7bvEGn6YYigPSVDgNmgDYDyz7kdy3gsNvzI83iJeI5dMl1b+DQWphjtFGxxJIgYCTzzwhS18a0NaGtAAAwAOxfViz0YqySCIigkIiIAiIgChXW6U9oonVNQduTWjm89wXWurYLdSPqql\/DGwZ8Se4eKzVHRT6qr2XS4MMdDEcU9OR9\/xPge3vxhXjG+b0OetVa8kPqf5dintNw1MWVt3mfBSu60dLGeY7D4fXyUm4aQphG2e0ZpKuHeMh5IcR35+q0iKfElfIhcLTt5s3z3KjTt4ddaJwnbwVdO7o524xv3+uD6gq3WYpT8Fr2qgaSGVcIfw9hcBnPyd7ladRNWeRbh5OULS1Tt\/AREVDcIiIAiIgIV2rn263S1UcDpnMGeEeaz9NrOtq4y+nsE84acF0T3OAPoxa1ZybTlZR18tbZK0U7pjmSGRuWuPP6+2VpDDazOSuq11KDy3St7nE3HVdxyKS3MoWHk+b7w9\/\/FSKDScLKn4y5zvrqjORxnLRvtt2\/TwVnaJbjLSE3OBkUzXlo4Ds4D97wycqcjk1ksiYUIytKbb7\/B4lkEUT5DyY0uPos9oaMtsssjt3SVDjn0A\/NXVzf0dqq35xwwPOe7qlVmjGcOmoDjHG558+sR+ChfQyZZ8RFck\/YvURFQ6QiIgC4VtUyhopqqQZbCwvIHbjsXdZnVsstZJR2OmdiSreHP8ABg7T4bE\/yq0Vd2Mq1Tw4OS127kOzyOt9lr9R1hPxNUT0fvtgeLvkArPR9u+FtIq5W5qKsmRz3buLTy3+fqq66xtu98o9PU+fhaMB0xB2wBy28MDzcVr2tDWhrQAAMADsWk3l3OXh6fn6Ry9d2fURFid4REQBFVSagomXhlqaS+oc7DiPut2zjPf+atVLTWpWM4yvhegREUFjJ3N7tSagZaIyfg6Ml9Q5rscR5Y5cxy91q2tDWhrQAAMADsWZ0R9tT19YRvNUczz2Gef8y060nk8PI5eGWKLqPWX4giIszqMxUfaf0iUvBt0VMePx2d+YWnWXtJ+O1rc6rm2maIm7cjy\/\/JWoV57Loc3DZqUubfwERFQ6QiIgCIiAIiIAiIgIF9cW2KuI\/wDgf9FG0oA3TNGB\/C4\/9xUi\/AmwV2Bn7B\/0XDShB01R4Oeq7\/MVf9nqc3+5X\/X3LdERUOkIiIAsXQ1rX3O66kmOIYQYafLvvHGwA8gP8SudV3F1DZnsiJ6epPRR4Bzvzx44WebbX1VXQ6cZxdDSfbVrhnHGdyM+A2B8VtBZXZ5\/E1G5qMdvu9Pdl3pC3vhoZLjUDNTXO6Qk8+HmPfJPqFoV8a0NaGtAAAwAOxfVlJ3dzspU1TgooIiKDQKo1JdxaLW+RpxPL1Its79\/ordfnOpa2W+6ibRUvXZE7oYh2FxPWPv29wWlOOKWZycXWdKn5dXkiZoS3unrZ7lKC4RdVjiebjz+X1W6UKngpLHamsLmxQQM67ztk9pPiVnnVV11XO+Ohc6jtjXYM2MOf5fl7qZeeV9ilO3DU1T1k9jXIsVdLSNKNprlQ1FRIBKGyskeOFwwccsePutm1zXsD2nLXDIPeFSUbZo6KVVybjJWaMzpBwoqm4Wd+0kMpkbntbsPwHutQs1qKgqqWuhv1uYXywjE0bf329\/jtt7dytbVeqO8QcdNIOMAF8R+8z9d6tNX8yMqEvDfgy206osFDutb+zrXU1e2YmEtz\/FyHzwpiydzkdqW9x2qmfmipjx1EjScPwRkD6e\/cqxV3maV6mCOWryRP0jQPo7M2Sbj6apcZHh+cju\/P1V6vIDWNAADWjYDkAvSiTu7l6cFTgorYIiKDQIuFXWU1DCZqqdkLB2uOM+Xes9LqWuukjqfT9E6QA4dUyjDW\/h7+ysotmVStCnk9eW5oautpqCAz1UzIox2uPPyHb6KrtOoZLxXuZT2+VtIGk\/EPOMny5fNRqLSET5PirzO+uqTzBeeAeHefp4LRMYyNgZG0Ma0YDWjACl4UralI+NNpvyrlq\/U9IiKh0BERARLs0Ps9a08jTyD\/tKrtHOLtM0wP7peB\/iKsrn\/AO1Vf\/0P\/wApVZoz+7UH\/U\/\/ADFaL6H3OZ\/6hdn90Xq5VFRDSQOnqJGxxsGS5xXG43OktVMairk4W8g0buce4DtWcp6Gq1bUiuuHHDbmH7CAHBf4\/wCvsojG+b0LVK2F4IZy\/M2XVu1Db7nUGCnkdx4y3ibji58vbP8AscWiytPE2XXnDSxiOCgp+B3RjDdwdtvF3\/b4Kdqq5mjtvwtO7NXVnoo2g7gHYn8PMqXHNJGcKzVOUp7N+pSzV7bld6q8uaH0dqYehBxiSTOG792d\/bvVvpCikgtj62oJM9c\/pXE8yOw+uSfVVFwt5pLba9OxAdPVSiWoI9j\/AL9zVtI42RRtjjbwsYA1o7gFab8tkY8PBuo5S1X3fwsj0vhIAyTgBCQBknACw2pdSmuc+koZiykjOJJm\/wDEO+w8Nv0FSEHJ5HVXrxoxuzaU1ZTVjHPpp2TNaeEljsgFdlQaPtjqC09LIwNlqTxkYwQ3sBzv2n3V+okknZF6UpTgpSVmyk1VdzabWehfw1E54YyDuO8+n4qp0Xa20dJLeashgcw8Bd+6wfed8v1lR5YH6s1XIDxfA0nUcRtgDPzJz6eSn6gnkrayn0zbgIwQDMWnAYwD7vljB9lslZYf5POcsdR1nosormzj0c2sri2RwfFaaZ3VzsZT2\/rs9VrYoo4ImxQsbHGwYa1owAFzo6SGgpI6WnZwxRjDQu6ylK+S0O6jSweaWcnq\/wA2KHWkZfpuZw\/cexx\/xAfirS2v6W10kn8cDHe7Qq\/V\/wDdes\/k\/wA7VMs7g2w0LnEACljJJ7OqE\/Z6lVlxD7L7s5X+7ss9sfNn7V+WRDn1sHB8gsXZ7DU1V5qKaed9HVQxiUPYN2l2D2Efxdiu6Bv9Z9QOuUgLqCjPDAxzdnOxvn6+ym3awVdXd46+iqxTlzRHPuclmd8enl5rSLUPLuctSDrtVLXSeS5rdlDJHe5Ls+yU13lqHNbiV7jgNb25O57R6lTaLR90po3QtvHw8TjlwgBy7vzyV7ZbJTWanLY+vM\/+0ldzd\/orNRKo9EaU+ETWKpe\/d5dDNM0VSuc19VX1c72\/ddx4I5cua9aXqZoauus88hf8G\/7HiG\/Bk\/6e\/ctE5wa0ucQABkk9iy2npmT3O63yQiKleeFj37bA9\/kB7qE3KLuTKnClUhgyve\/axqlnLjqaR9YbbZIRVVXJz\/3Gd\/n55wo1VdrhqOd9BZGmOlB4Zqt22R4d31Pgr20Wels9IIIG5cfvyEdZ5\/XYoso5y1LucqztTyXP4+Spo9J9PKKu+VL62o\/g4jwN\/P5BaKKKOGNscUbY2NGGtaMAei9oquTeptTpQp\/SgiIqmoREQBERAR7g3jttS3OOKF4z6FZzTt1p7Zo5tTUOwI5HtDQd3uzkALTVMkcVNLJNII42tPE93IBYTSlldd2iSreXUVNIeGLse8gZ+WFrBJxdzhrylGtHBq019i1tNsqL9Vtvd4AMfOmp\/wB0DsJHd9Voq6sittBLVS7MhZnA2z3D1OApAAAwBgBZjVkzq6qorFBhzqiQPlwRlrR9Nsn0ULzy6F2lw9JtZt\/2zpo+mLLfPc6kBstZI55e7+H18cn2UeyB1\/1HUXmQE01MejpgeWe\/2383BdtS1Luip9PW1v21QA0taR1IwOXsPYFXtvoYbbQxUkDQGxtAJxjiPaT4lWbyb5mcKd5RprSOvV\/mZR0wNXr6okkzw0tPiPI5HYHH+I9yvK64UttpzPVSiNoGw7XeAHaq27WCSprWXK3VPwlc0YL8Za8Y7R7KPSaVMlYK281RrpRjDHDqD8\/LkoeF2bZaPiwcoxjm3e+xBlfddTwvmlf+zbS0EuJ+9I0bk+O3p5rhY7RDeK\/p2wmO2UbsQNI3md3k9ucAn0Cs9X1UroKaz0g+2rXhpxsA0Hl7\/IFXtBRx2+hhpIt2xMDcnt7z6lWcrRyMo0FOraTvbV83y7EhUmqbt+zbYYot6mp+zjaOficfL1V05wa0ucQABkk9ixVvqW3rUlReKp5ZQ0ILo+LPCMbD1\/ex3qkFd3ex0cTUaShHWX9c2W9NHBpLTRklwZsZdsOtIRs3bmPwXnSttlYyW71hzVV3WwR9xpOfnsfQKBSRz6uunxlUwttdO4iOIn+0P65+3eteAAMAYAUydlbd6lKMVNqSXljp8\/B9REWR2lLq\/wDuvWfyf52qprK+We1Wqw0biJ6uliEjh+4wtGc+gOR3fO11g4DTFUCQCSwDx67VC0daZIoP2pWAmeZjWxcX7sYAAPqAPQBbRsoXZ51ZSlxGCO6V+12X1tt8NroIqSAdVg3J5uPaSpSIsW7noJKKsgvEsscETpZntjjYMuc44AC4XG5UtrpTUVcnAwbAcy49wC\/P7tfrhqOpbTU8b2wk9SCPcu8Xd\/0C0hTcuxzcRxUaKtq+RO1PqxlfA+goAehccSSnbjHcB3KRbbJXXekgiqmGhtsRBbA3Z0vi7vJ7\/YKw09pKG2FlVV4mqsZA5tjPh3nxWkV5TUVaJhS4epUfiV3rscaalgo6dsFNE2KJnJrV2RFgegkkrIIiISEREAREQBfHODWlziAAMknsRzg1pc4gADJJ7Fk62rqtVVbrdbXmK3xnE9R\/H4D8u1WjG5lVqqmubeiPlbPPq6v+AonFltgcDPONuM+H4e\/cu2hQG2+saNgKkgewWgoaGnt1IylpmcMbB6k9pPiqDRPUp6+EnrsqjxDu2x+BWmK8WlocipuNaEpO7d7\/AAjSSyshifLI4NYxpc5x7AOZWWsErJprjqasy2PrCLiOeFg5gb8+Q9+9SNZVjxRQWyB321bIG4HPhyPqcfNQ7lGJ5KPSdud9lGGmpkaRsAcnPjnfzISEcu\/2Jr1P1Mv2\/wByehK0tSy1lVU36rz0lSS2EEHqsz\/sB5LTLlTU8dJTRU0LeGOJoa0eAXVZyd3c6qNPw4Jb79wiKs1FVmisNVM14a\/g4W9u52\/FQld2LzkoRcnsVNj4r1qSrvDwehpz0NPuCO38Dn+ZalVWmqNtFp+kYBhz2CR3iXb\/AEwPRWUsscEL5pXhkbAXOceQCtN3lkY8PHDTvLV5v1KHV9wfBb2W+nyamuPRta3nw5wffOPUqgs2nLnVOdRVbX01FHKHygjBkOBgDv29sq2sUTr9epr9UMIiiPR0zCdhgc\/nnzJ7lqlfFgWFHOqK4ifiyeWy6f8Apzhhjp4WQwsDI2DDWtGwC6IixPQ0CIqPUN6NGwUFES+4VHVjazcsz2n8FKTbsilSpGnHFIzusbo+41MlJTnNNRHMjgdnPOB8ske62dqaWWija4klsDAc\/wDSFlrvaf2TosxPPFPJM2SZ2c5cfHwUt+qeKCGhssDqyr6NoJ4Tws2H67ltJYopRPOpz8OrKVV5tLL2NLNPDTRGWeVkUbebnnACzFy13SQZZQQmpduON\/VaPHvPyVFX9NU1AFdVuuVcT1KWA5Yw+JH0b7q9sWjoocVV1jZJMd2wDBYzz7D9PNFCEVeRLr160sNJW6\/n2KantV51ZUisqpDHATgSPHVA7mN7f1utnaLHRWaItpmEvd9+R5y5ysAABgDAC+qkqjllsdNHhYU3iecubCIizOoIiIAiIgCIiAytc6sv+opbXFVSU1JSNzKWHDnH0O\/4LkX3LSNSx088ldbJDguP3oz+H0Pgu9xbXWTUL7rT0klXTVLAyVkeSWnbft7vLdcame8aoxRw0bqGhJBlkk5uHP8ALYe66FtyPKlk3rjvlr6dLH2qrqjVlWbfbnuit7MGefGC\/wAAPwWloaKC3UjKWmZwxsGPEnvPis5p98livE1hqT9lITJTSOGOL9D5hatZzyyWh1cMsV5y+rR9OgWY0yejv19hH3en4h4dZy06zFo6ut7s0bAsBI8er+aiOjLVsqlN9fZlbfq6sh1fmCB0kzIwylBaccRG5A5HGStDp6y\/smlc+ciSsnPFNJz9B+uatujYXh5Y3iHJ2N16Uud1ZEU+HUajm3fl0CIizOoLOa5z\/V8Yzjpm59itGod1t7bnbpaRzuHjGxzyI3CtB2kmZV4OdOUVuiRAAKeMAYAYPosteKybUN0bZLe8\/DMINVM3lz3GfD5nyXo2\/U9VSstsslPTUzAI3TRnrPYBjvP4K+tVqprRRtp6dvi955vPeVfKOerMHjrLDZqO\/Xod6Wmio6WOmgbwxxNDWhdkRZHWkkrIIiyeoNYMg46O1u6SfkZhu1vl3n5K0YuTsjOrWhSjikyff9Qfs4toqJonr5dmsG4Z4n8vVUVHXQWmoPwzTdr1Uf2j27tjJ7Ae3zHyUe1aRrq7iqrhK6kicOJxceu8Hc57vX2U9layAm1aUphK8j7WrO+PHJ+vLuC3tFKyzPMc6s34k8uW79Fz6srtRx3P4Vs13uDBO9w4KKM5DR3nGw+fmplstN1udM2OJgtVudjia0EPl25k8znx2XC9afbbxRPqKh9VWVVQBK8nn4Aevb8lv1Ep2irFqPD46ssd1a2+fq\/gr7ZZKC0RhtLCOPGDK7d7vX8lYIiwbb1PUjGMVaKsgiIoLBERAEREAREQBERAEREBn9X0XSW5lwiDxPRvDw6M4dw533+forigq219vgq2YxKwOwDnB7R6HZdJoWVEEkEgyyRpa4d4IwVm9Lzm21tTp+pJ6SJ5fC4\/vN\/W\/utNY9jlf6da+0vuahZi3gt\/pBuYaOqadpPnhn+q06zFr313dSdyIgM\/4VENH2Jr\/VDv7M06IiodIREQBERAERc554qaF808jY42DLnOOAEDdj05zWML3HDWjJPcFl6\/XVNFJ0VBTPqnk4DieFp8u0\/JQr1f668UNSLbTPZQRD7ScjBeM9nd2eKtdP2202y0w3ElnG+MOdPMRt4DPL6rZQUVeR58q86s8FJ2W7+CJ+y9Q3\/LrlVfAUzv+BGNyO4jP1PopUs9g0mwRxRB9V\/C3DpTnvPZ+tlwqL5cL9MaOwRujhBxJWPGMeXd9fJWNn01R2oidw+Iqz96Z++\/bgdn1Ut2Xm\/giEcUr0s3\/wAn7fliq+Dvmp3A1+bfQc+ibs5\/mPz9lpKC3UlspxBSQiNvae1x7ye1SkWUpN5bHVToxg8TzfNmY1H9vqSyU55NlLz47j8lp1mLnmTXtri7Gwl2\/wDP+S06mWiK0c51H19kERFQ6QiIgCIiAIiIAiIgCIiAIiIAqLUdnlqhHcbfltfTbsLdi8d3198K9RSm07opUpqpHCyhoNXW2opeKrlFJO3aSJ4Ox8Nt1w0pG+qqrjd5GlnxUuGNONmj8eQ9Fc1Fot1XMJqiihlkGOs5ueSlRxsijbHG0NY0YDQNgFdyjZ23MI0qjknUadvzM9IiLM6giIgCIiAh3O501po3VNS\/DRs1o5vPcFnYaKu1bO2suHFTW5hzDADu\/wAf9fZR7\/T18upRLNbJq6njaOiia4lnmcDw3Hf2kKU6i1LfMMq3stlJjdkfNw8gc+5C3SUVe55tSo6s3FxbS2593yO97u1BS291mt8TaiaVpibBDyZnvx2+CptOWj9tNdT3Crl6KhdwikG2Mk7k+eR3+K1dqsFBZ25p4y6UjeV5y4\/l6KovBFg1LTXVg4aerzHUADbPf+PoUjJZxiRVpSuqlXTS2yXvmaaGCGmiEUETIo28msGAF0XwEEZByCvqwPTWWgREQGXcel\/pFbj\/AINNvt4H\/wAlqFmbUDJre6yuxlsYYMY5dX\/xWmV57djm4bST5thERUOkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKHdbbFdrfJSTbcQy138LuwqYilO2ZEoqSaehm9M3OaKR1juILaunHUJ3D2dm\/gPktIqDU9nfVQi4UWWV9L1muacFzR2fkptivEV5t7Z24bK3qyszu0\/kVeSusSOajJwl4UvTqvlFkiIszqMxYevqy9PHIODfn\/otOsxpwE6kvjgMt6bGezOXLTq9TU5uF\/x+r+7CIiodIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBZi7Wuos9W69WcYA61TTjk8dpH68Vp0VoysZVaSqKz12fIhWq6U13o21NO7n99hO7D3FS3vbGxz3nDWgknuCz9bp2ppq59xsVSKaZ274XDqSd\/8Atj2XCag1Pdqd1LWzU9LEdnlgyXj9eSthi808jHxakVhlFt9NH8HvRbXTQ19xcMOq6gnzxk593H2WmUeho4bfRRUkAIjibgZ5nvJ8Sd1IVZO7ubUYOnTUWERFU1CIiAIiIAiIgCIiAIiID\/\/Z",
    "razonSocial": "SOCIEDAD  EDUCACIONAL INMA LTDA.",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "RENDIC",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56946496376",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:29",
    "ubicacionGPS": "LatLng(lat: -23.6992431, lng: -70.422004)",
    "horaLlegada": "10:38",
    "horaDespacho": "12:26",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 15/05/2026 12:29:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-S6qSXxDphrKztE2ktILnmRN-0L3zB+NYHADlMWq94R46Jgy7Zfy
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78863090",
    "serieinterna": "TO2785",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "424247",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "limpieza general y revisión de corchetera",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12608",
    "observacion": "mantención y revisión de corchetera",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADPAQ8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAggDBQQIBQUAAAABAAIDBAURBiESMRMiQVFhcYGRFKGxIzLB0fAVQlKCBxYzNpKy4fFDYnKi0iQ1U3PC\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMhEAAgECBAQFAwQBBQAAAAAAAAECAxESITFBBFFhcRMigcHRMrHwI0KRoTM0RFJy4f\/aAAwDAQACEQMRAD8A\/ZkREAREQBfHODWlziAAMknsX1V2oKn4Sw1kwOD0RaD3F3VH1UpXdis5YYuT2KnT+oay8Xuqi4GfCNaXN23bvgb7c9+xadZHQFGY6KprHAfavDG9+G8\/r8lrlepZSsjn4RzlRUpvNhERZnUEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBZXX1T0drp6YHBml4j4ho\/MhapYusqBeNdUtI6MGCleQP+YtGTn1GPRaU15r8jk4t\/p4FrLI09oohb7TTU2MOZGOLbHW5n5qaiKjd3c6oxUUkgiIoJCIiAIiqLxqSis0jIpeKWZ4z0bMZaOwnPJSk27IpOcYLFJ2RboucEzainjmZ92RgcN87EZXRQXTuEREAREQBERAEREAReXvZGwvkcGNaMlzjgBcaeupKpzm09TFKWnBDHg4\/WD7JYi6TsSEREJCIiAIiIAiIgCIiAIih3C6UVrh6WsnEYP3W83O8gpSvoRKSirtkbUF5baKHLOtUzZbAzGcu7\/TKzWk6CWn1RM2Zxc+GDief+Z3DsfHc+ysLPSVF8uzr3cI3Np4z\/AOkif2YOx9PmfJe9Kfb3W9Vh346jhae4Zdt9PZbfTFo813q1oTel8uy39TToiLA9MIiIAiIgI1wrobbQy1c7gGxtJAzjiPYB4lYupo5\/6u1l7uRL6urDWxtdsGsLgfTIHt5lWV\/H7a1FR2Rr\/sYvtagDyz74\/wAyXx\/7bvEGn6YYigPSVDgNmgDYDyz7kdy3gsNvzI83iJeI5dMl1b+DQWphjtFGxxJIgYCTzzwhS18a0NaGtAAAwAOxfViz0YqySCIigkIiIAiIgChXW6U9oonVNQduTWjm89wXWurYLdSPqql\/DGwZ8Se4eKzVHRT6qr2XS4MMdDEcU9OR9\/xPge3vxhXjG+b0OetVa8kPqf5dintNw1MWVt3mfBSu60dLGeY7D4fXyUm4aQphG2e0ZpKuHeMh5IcR35+q0iKfElfIhcLTt5s3z3KjTt4ddaJwnbwVdO7o524xv3+uD6gq3WYpT8Fr2qgaSGVcIfw9hcBnPyd7ladRNWeRbh5OULS1Tt\/AREVDcIiIAiIgIV2rn263S1UcDpnMGeEeaz9NrOtq4y+nsE84acF0T3OAPoxa1ZybTlZR18tbZK0U7pjmSGRuWuPP6+2VpDDazOSuq11KDy3St7nE3HVdxyKS3MoWHk+b7w9\/\/FSKDScLKn4y5zvrqjORxnLRvtt2\/TwVnaJbjLSE3OBkUzXlo4Ds4D97wycqcjk1ksiYUIytKbb7\/B4lkEUT5DyY0uPos9oaMtsssjt3SVDjn0A\/NXVzf0dqq35xwwPOe7qlVmjGcOmoDjHG558+sR+ChfQyZZ8RFck\/YvURFQ6QiIgC4VtUyhopqqQZbCwvIHbjsXdZnVsstZJR2OmdiSreHP8ABg7T4bE\/yq0Vd2Mq1Tw4OS127kOzyOt9lr9R1hPxNUT0fvtgeLvkArPR9u+FtIq5W5qKsmRz3buLTy3+fqq66xtu98o9PU+fhaMB0xB2wBy28MDzcVr2tDWhrQAAMADsWk3l3OXh6fn6Ry9d2fURFid4REQBFVSagomXhlqaS+oc7DiPut2zjPf+atVLTWpWM4yvhegREUFjJ3N7tSagZaIyfg6Ml9Q5rscR5Y5cxy91q2tDWhrQAAMADsWZ0R9tT19YRvNUczz2Gef8y060nk8PI5eGWKLqPWX4giIszqMxUfaf0iUvBt0VMePx2d+YWnWXtJ+O1rc6rm2maIm7cjy\/\/JWoV57Loc3DZqUubfwERFQ6QiIgCIiAIiIAiIgIF9cW2KuI\/wDgf9FG0oA3TNGB\/C4\/9xUi\/AmwV2Bn7B\/0XDShB01R4Oeq7\/MVf9nqc3+5X\/X3LdERUOkIiIAsXQ1rX3O66kmOIYQYafLvvHGwA8gP8SudV3F1DZnsiJ6epPRR4Bzvzx44WebbX1VXQ6cZxdDSfbVrhnHGdyM+A2B8VtBZXZ5\/E1G5qMdvu9Pdl3pC3vhoZLjUDNTXO6Qk8+HmPfJPqFoV8a0NaGtAAAwAOxfVlJ3dzspU1TgooIiKDQKo1JdxaLW+RpxPL1Its79\/ordfnOpa2W+6ibRUvXZE7oYh2FxPWPv29wWlOOKWZycXWdKn5dXkiZoS3unrZ7lKC4RdVjiebjz+X1W6UKngpLHamsLmxQQM67ztk9pPiVnnVV11XO+Ohc6jtjXYM2MOf5fl7qZeeV9ilO3DU1T1k9jXIsVdLSNKNprlQ1FRIBKGyskeOFwwccsePutm1zXsD2nLXDIPeFSUbZo6KVVybjJWaMzpBwoqm4Wd+0kMpkbntbsPwHutQs1qKgqqWuhv1uYXywjE0bf329\/jtt7dytbVeqO8QcdNIOMAF8R+8z9d6tNX8yMqEvDfgy206osFDutb+zrXU1e2YmEtz\/FyHzwpiydzkdqW9x2qmfmipjx1EjScPwRkD6e\/cqxV3maV6mCOWryRP0jQPo7M2Sbj6apcZHh+cju\/P1V6vIDWNAADWjYDkAvSiTu7l6cFTgorYIiKDQIuFXWU1DCZqqdkLB2uOM+Xes9LqWuukjqfT9E6QA4dUyjDW\/h7+ysotmVStCnk9eW5oautpqCAz1UzIox2uPPyHb6KrtOoZLxXuZT2+VtIGk\/EPOMny5fNRqLSET5PirzO+uqTzBeeAeHefp4LRMYyNgZG0Ma0YDWjACl4UralI+NNpvyrlq\/U9IiKh0BERARLs0Ps9a08jTyD\/tKrtHOLtM0wP7peB\/iKsrn\/AO1Vf\/0P\/wApVZoz+7UH\/U\/\/ADFaL6H3OZ\/6hdn90Xq5VFRDSQOnqJGxxsGS5xXG43OktVMairk4W8g0buce4DtWcp6Gq1bUiuuHHDbmH7CAHBf4\/wCvsojG+b0LVK2F4IZy\/M2XVu1Db7nUGCnkdx4y3ibji58vbP8AscWiytPE2XXnDSxiOCgp+B3RjDdwdtvF3\/b4Kdqq5mjtvwtO7NXVnoo2g7gHYn8PMqXHNJGcKzVOUp7N+pSzV7bld6q8uaH0dqYehBxiSTOG792d\/bvVvpCikgtj62oJM9c\/pXE8yOw+uSfVVFwt5pLba9OxAdPVSiWoI9j\/AL9zVtI42RRtjjbwsYA1o7gFab8tkY8PBuo5S1X3fwsj0vhIAyTgBCQBknACw2pdSmuc+koZiykjOJJm\/wDEO+w8Nv0FSEHJ5HVXrxoxuzaU1ZTVjHPpp2TNaeEljsgFdlQaPtjqC09LIwNlqTxkYwQ3sBzv2n3V+okknZF6UpTgpSVmyk1VdzabWehfw1E54YyDuO8+n4qp0Xa20dJLeashgcw8Bd+6wfed8v1lR5YH6s1XIDxfA0nUcRtgDPzJz6eSn6gnkrayn0zbgIwQDMWnAYwD7vljB9lslZYf5POcsdR1nosormzj0c2sri2RwfFaaZ3VzsZT2\/rs9VrYoo4ImxQsbHGwYa1owAFzo6SGgpI6WnZwxRjDQu6ylK+S0O6jSweaWcnq\/wA2KHWkZfpuZw\/cexx\/xAfirS2v6W10kn8cDHe7Qq\/V\/wDdes\/k\/wA7VMs7g2w0LnEACljJJ7OqE\/Z6lVlxD7L7s5X+7ss9sfNn7V+WRDn1sHB8gsXZ7DU1V5qKaed9HVQxiUPYN2l2D2Efxdiu6Bv9Z9QOuUgLqCjPDAxzdnOxvn6+ym3awVdXd46+iqxTlzRHPuclmd8enl5rSLUPLuctSDrtVLXSeS5rdlDJHe5Ls+yU13lqHNbiV7jgNb25O57R6lTaLR90po3QtvHw8TjlwgBy7vzyV7ZbJTWanLY+vM\/+0ldzd\/orNRKo9EaU+ETWKpe\/d5dDNM0VSuc19VX1c72\/ddx4I5cua9aXqZoauus88hf8G\/7HiG\/Bk\/6e\/ctE5wa0ucQABkk9iy2npmT3O63yQiKleeFj37bA9\/kB7qE3KLuTKnClUhgyve\/axqlnLjqaR9YbbZIRVVXJz\/3Gd\/n55wo1VdrhqOd9BZGmOlB4Zqt22R4d31Pgr20Wels9IIIG5cfvyEdZ5\/XYoso5y1LucqztTyXP4+Spo9J9PKKu+VL62o\/g4jwN\/P5BaKKKOGNscUbY2NGGtaMAei9oquTeptTpQp\/SgiIqmoREQBERAR7g3jttS3OOKF4z6FZzTt1p7Zo5tTUOwI5HtDQd3uzkALTVMkcVNLJNII42tPE93IBYTSlldd2iSreXUVNIeGLse8gZ+WFrBJxdzhrylGtHBq019i1tNsqL9Vtvd4AMfOmp\/wB0DsJHd9Voq6sittBLVS7MhZnA2z3D1OApAAAwBgBZjVkzq6qorFBhzqiQPlwRlrR9Nsn0ULzy6F2lw9JtZt\/2zpo+mLLfPc6kBstZI55e7+H18cn2UeyB1\/1HUXmQE01MejpgeWe\/2383BdtS1Luip9PW1v21QA0taR1IwOXsPYFXtvoYbbQxUkDQGxtAJxjiPaT4lWbyb5mcKd5RprSOvV\/mZR0wNXr6okkzw0tPiPI5HYHH+I9yvK64UttpzPVSiNoGw7XeAHaq27WCSprWXK3VPwlc0YL8Za8Y7R7KPSaVMlYK281RrpRjDHDqD8\/LkoeF2bZaPiwcoxjm3e+xBlfddTwvmlf+zbS0EuJ+9I0bk+O3p5rhY7RDeK\/p2wmO2UbsQNI3md3k9ucAn0Cs9X1UroKaz0g+2rXhpxsA0Hl7\/IFXtBRx2+hhpIt2xMDcnt7z6lWcrRyMo0FOraTvbV83y7EhUmqbt+zbYYot6mp+zjaOficfL1V05wa0ucQABkk9ixVvqW3rUlReKp5ZQ0ILo+LPCMbD1\/ex3qkFd3ex0cTUaShHWX9c2W9NHBpLTRklwZsZdsOtIRs3bmPwXnSttlYyW71hzVV3WwR9xpOfnsfQKBSRz6uunxlUwttdO4iOIn+0P65+3eteAAMAYAUydlbd6lKMVNqSXljp8\/B9REWR2lLq\/wDuvWfyf52qprK+We1Wqw0biJ6uliEjh+4wtGc+gOR3fO11g4DTFUCQCSwDx67VC0daZIoP2pWAmeZjWxcX7sYAAPqAPQBbRsoXZ51ZSlxGCO6V+12X1tt8NroIqSAdVg3J5uPaSpSIsW7noJKKsgvEsscETpZntjjYMuc44AC4XG5UtrpTUVcnAwbAcy49wC\/P7tfrhqOpbTU8b2wk9SCPcu8Xd\/0C0hTcuxzcRxUaKtq+RO1PqxlfA+goAehccSSnbjHcB3KRbbJXXekgiqmGhtsRBbA3Z0vi7vJ7\/YKw09pKG2FlVV4mqsZA5tjPh3nxWkV5TUVaJhS4epUfiV3rscaalgo6dsFNE2KJnJrV2RFgegkkrIIiISEREAREQBfHODWlziAAMknsRzg1pc4gADJJ7Fk62rqtVVbrdbXmK3xnE9R\/H4D8u1WjG5lVqqmubeiPlbPPq6v+AonFltgcDPONuM+H4e\/cu2hQG2+saNgKkgewWgoaGnt1IylpmcMbB6k9pPiqDRPUp6+EnrsqjxDu2x+BWmK8WlocipuNaEpO7d7\/AAjSSyshifLI4NYxpc5x7AOZWWsErJprjqasy2PrCLiOeFg5gb8+Q9+9SNZVjxRQWyB321bIG4HPhyPqcfNQ7lGJ5KPSdud9lGGmpkaRsAcnPjnfzISEcu\/2Jr1P1Mv2\/wByehK0tSy1lVU36rz0lSS2EEHqsz\/sB5LTLlTU8dJTRU0LeGOJoa0eAXVZyd3c6qNPw4Jb79wiKs1FVmisNVM14a\/g4W9u52\/FQld2LzkoRcnsVNj4r1qSrvDwehpz0NPuCO38Dn+ZalVWmqNtFp+kYBhz2CR3iXb\/AEwPRWUsscEL5pXhkbAXOceQCtN3lkY8PHDTvLV5v1KHV9wfBb2W+nyamuPRta3nw5wffOPUqgs2nLnVOdRVbX01FHKHygjBkOBgDv29sq2sUTr9epr9UMIiiPR0zCdhgc\/nnzJ7lqlfFgWFHOqK4ifiyeWy6f8Apzhhjp4WQwsDI2DDWtGwC6IixPQ0CIqPUN6NGwUFES+4VHVjazcsz2n8FKTbsilSpGnHFIzusbo+41MlJTnNNRHMjgdnPOB8ske62dqaWWija4klsDAc\/wDSFlrvaf2TosxPPFPJM2SZ2c5cfHwUt+qeKCGhssDqyr6NoJ4Tws2H67ltJYopRPOpz8OrKVV5tLL2NLNPDTRGWeVkUbebnnACzFy13SQZZQQmpduON\/VaPHvPyVFX9NU1AFdVuuVcT1KWA5Yw+JH0b7q9sWjoocVV1jZJMd2wDBYzz7D9PNFCEVeRLr160sNJW6\/n2KantV51ZUisqpDHATgSPHVA7mN7f1utnaLHRWaItpmEvd9+R5y5ysAABgDAC+qkqjllsdNHhYU3iecubCIizOoIiIAiIgCIiAytc6sv+opbXFVSU1JSNzKWHDnH0O\/4LkX3LSNSx088ldbJDguP3oz+H0Pgu9xbXWTUL7rT0klXTVLAyVkeSWnbft7vLdcame8aoxRw0bqGhJBlkk5uHP8ALYe66FtyPKlk3rjvlr6dLH2qrqjVlWbfbnuit7MGefGC\/wAAPwWloaKC3UjKWmZwxsGPEnvPis5p98livE1hqT9lITJTSOGOL9D5hatZzyyWh1cMsV5y+rR9OgWY0yejv19hH3en4h4dZy06zFo6ut7s0bAsBI8er+aiOjLVsqlN9fZlbfq6sh1fmCB0kzIwylBaccRG5A5HGStDp6y\/smlc+ciSsnPFNJz9B+uatujYXh5Y3iHJ2N16Uud1ZEU+HUajm3fl0CIizOoLOa5z\/V8Yzjpm59itGod1t7bnbpaRzuHjGxzyI3CtB2kmZV4OdOUVuiRAAKeMAYAYPosteKybUN0bZLe8\/DMINVM3lz3GfD5nyXo2\/U9VSstsslPTUzAI3TRnrPYBjvP4K+tVqprRRtp6dvi955vPeVfKOerMHjrLDZqO\/Xod6Wmio6WOmgbwxxNDWhdkRZHWkkrIIiyeoNYMg46O1u6SfkZhu1vl3n5K0YuTsjOrWhSjikyff9Qfs4toqJonr5dmsG4Z4n8vVUVHXQWmoPwzTdr1Uf2j27tjJ7Ae3zHyUe1aRrq7iqrhK6kicOJxceu8Hc57vX2U9layAm1aUphK8j7WrO+PHJ+vLuC3tFKyzPMc6s34k8uW79Fz6srtRx3P4Vs13uDBO9w4KKM5DR3nGw+fmplstN1udM2OJgtVudjia0EPl25k8znx2XC9afbbxRPqKh9VWVVQBK8nn4Aevb8lv1Ep2irFqPD46ssd1a2+fq\/gr7ZZKC0RhtLCOPGDK7d7vX8lYIiwbb1PUjGMVaKsgiIoLBERAEREAREQBERAEREBn9X0XSW5lwiDxPRvDw6M4dw533+forigq219vgq2YxKwOwDnB7R6HZdJoWVEEkEgyyRpa4d4IwVm9Lzm21tTp+pJ6SJ5fC4\/vN\/W\/utNY9jlf6da+0vuahZi3gt\/pBuYaOqadpPnhn+q06zFr313dSdyIgM\/4VENH2Jr\/VDv7M06IiodIREQBERAERc554qaF808jY42DLnOOAEDdj05zWML3HDWjJPcFl6\/XVNFJ0VBTPqnk4DieFp8u0\/JQr1f668UNSLbTPZQRD7ScjBeM9nd2eKtdP2202y0w3ElnG+MOdPMRt4DPL6rZQUVeR58q86s8FJ2W7+CJ+y9Q3\/LrlVfAUzv+BGNyO4jP1PopUs9g0mwRxRB9V\/C3DpTnvPZ+tlwqL5cL9MaOwRujhBxJWPGMeXd9fJWNn01R2oidw+Iqz96Z++\/bgdn1Ut2Xm\/giEcUr0s3\/wAn7fliq+Dvmp3A1+bfQc+ibs5\/mPz9lpKC3UlspxBSQiNvae1x7ye1SkWUpN5bHVToxg8TzfNmY1H9vqSyU55NlLz47j8lp1mLnmTXtri7Gwl2\/wDP+S06mWiK0c51H19kERFQ6QiIgCIiAIiIAiIgCIiAIiIAqLUdnlqhHcbfltfTbsLdi8d3198K9RSm07opUpqpHCyhoNXW2opeKrlFJO3aSJ4Ox8Nt1w0pG+qqrjd5GlnxUuGNONmj8eQ9Fc1Fot1XMJqiihlkGOs5ueSlRxsijbHG0NY0YDQNgFdyjZ23MI0qjknUadvzM9IiLM6giIgCIiAh3O501po3VNS\/DRs1o5vPcFnYaKu1bO2suHFTW5hzDADu\/wAf9fZR7\/T18upRLNbJq6njaOiia4lnmcDw3Hf2kKU6i1LfMMq3stlJjdkfNw8gc+5C3SUVe55tSo6s3FxbS2593yO97u1BS291mt8TaiaVpibBDyZnvx2+CptOWj9tNdT3Crl6KhdwikG2Mk7k+eR3+K1dqsFBZ25p4y6UjeV5y4\/l6KovBFg1LTXVg4aerzHUADbPf+PoUjJZxiRVpSuqlXTS2yXvmaaGCGmiEUETIo28msGAF0XwEEZByCvqwPTWWgREQGXcel\/pFbj\/AINNvt4H\/wAlqFmbUDJre6yuxlsYYMY5dX\/xWmV57djm4bST5thERUOkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKHdbbFdrfJSTbcQy138LuwqYilO2ZEoqSaehm9M3OaKR1juILaunHUJ3D2dm\/gPktIqDU9nfVQi4UWWV9L1muacFzR2fkptivEV5t7Z24bK3qyszu0\/kVeSusSOajJwl4UvTqvlFkiIszqMxYevqy9PHIODfn\/otOsxpwE6kvjgMt6bGezOXLTq9TU5uF\/x+r+7CIiodIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBZi7Wuos9W69WcYA61TTjk8dpH68Vp0VoysZVaSqKz12fIhWq6U13o21NO7n99hO7D3FS3vbGxz3nDWgknuCz9bp2ppq59xsVSKaZ274XDqSd\/8Atj2XCag1Pdqd1LWzU9LEdnlgyXj9eSthi808jHxakVhlFt9NH8HvRbXTQ19xcMOq6gnzxk593H2WmUeho4bfRRUkAIjibgZ5nvJ8Sd1IVZO7ubUYOnTUWERFU1CIiAIiIAiIgCIiAIiID\/\/Z",
    "razonSocial": "SOCIEDAD  EDUCACIONAL INMA LTDA.",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "RENDIC",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56946496376",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:29",
    "ubicacionGPS": "LatLng(lat: -23.6992431, lng: -70.422004)",
    "horaLlegada": "10:38",
    "horaDespacho": "12:26",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/05/2026 12:29:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78863090

[15/05/2026 12:29:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('78863090', 'TO2785', 1, 7373114, 424247, NOW(), 
				'12:26', '10:38', '12:29', 4, 'limpieza general y revisión de corchetera', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778862554.png', 'mantención y revisión de corchetera', null, 'COMPLETADO','LatLng(lat: -23.6992431, lng: -70.422004)' )
				
[15/05/2026 12:29:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200328

15/05/2026 12:29:14 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200328'                    
				WHERE idllamado = 12608			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


15/05/2026 12:29:14 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12608			
				
15/05/2026 12:29:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 12: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 = 12608
                
TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 12: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 = 12608
                

15/05/2026 12:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:29:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12608
            GROUP BY l.idllamado;
            

15/05/2026 12:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:29:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12608
            GROUP BY l.idllamado;
            

15/05/2026 12:29:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12608
            GROUP BY l.idllamado;
            

15/05/2026 12:29:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12608
            GROUP BY l.idllamado;
            

15/05/2026 12:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

[15/05/2026 12:29:16] 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;
                

[15/05/2026 12:29:16] 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;
                

[15/05/2026 12:29:16] 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;
                

15/05/2026 12:29:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12608
            GROUP BY l.idllamado;
            

15/05/2026 12:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12608
                

15/05/2026 12:29:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[15/05/2026 12:29:19] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:29:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:29:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 12:29:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 12:29:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:29:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 12:29:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[15/05/2026 12:29:19] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:29:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:29:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 12:29:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 12:29:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 12:29:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 12:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 12:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

[15/05/2026 12:29:20] 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;
                

15/05/2026 12:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 12:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 12:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 12:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 12:29:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

[15/05/2026 12:29:26] 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;
                

[15/05/2026 12:29:26] 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;
                

15/05/2026 12:29:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12:29:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:29:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:29:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:29:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12:29:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

[15/05/2026 12:29:28] 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;
                

15/05/2026 12:29:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

[15/05/2026 12:29:28] 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;
                

15/05/2026 12:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:29:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12:29:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12:29:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

[15/05/2026 12:29: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;
                

15/05/2026 12: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 = 12611
                

15/05/2026 12: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 = 12611
                

[15/05/2026 12:29: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;
                

15/05/2026 12: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 = 12611
                

15/05/2026 12: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 = 12611
                

15/05/2026 12:29:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 12:29:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

[15/05/2026 12:29:41] 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;
                

15/05/2026 12:29:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:29:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 12:29:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:29:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

[15/05/2026 12:29:41] 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;
                

15/05/2026 12:29:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:29:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

[15/05/2026 12:29:41] 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;
                

15/05/2026 12:29:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 12:29:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 12:29:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:29:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 12:29:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:29:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 12:29:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 12:29:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 12:29:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 12:29:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 12:29:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:29:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

[15/05/2026 12:29: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;
                

[15/05/2026 12:29: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;
                

15/05/2026 12:29:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12:29:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12:29:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12:29:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:29:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:29:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:29:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:29:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:29:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:29:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:29:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:29:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:29:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:29:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12611
                

15/05/2026 12:30:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12:30:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12: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 = 12611
                

15/05/2026 12:30:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12611
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12611
                

15/05/2026 12: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 = 12611
                

15/05/2026 12: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 = 12611
                

15/05/2026 12: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 = 12611
                

15/05/2026 12: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 = 12611
                

15/05/2026 12: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 = 12611
                

15/05/2026 12:30:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12611
                

15/05/2026 12:30:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12:30:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:32 - logentry: =========================================
FECHA: 15/05/2026 12:30:32
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-.2Zbiqlm_+46gsYi5w0ho61OmEW2+gkscz5D31QtpYomsQkVriV
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65152165",
    "serieinterna": "EP2105",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se dejan en recepción sin contador ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12611",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADUANUDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABAEAABAwMBBAcECAQFBQAAAAABAAIDBAURIQYSMUETUWFxgZGhFCKx0RUjMjNCUsHwB8LS4RYkQ6LxJWJygpL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQIFAgUDBAMBAAAAAAAAAQIDERIhMUFRBBMiMmFxgSPR4aGxwfAzQpHx\/9oADAMBAAIRAxEAPwD+zIiIAiIgCIiAIiIAiIgCIiAIiIDJ2gvDrTRsMLQ+pnfuQtI0z1nUfshZkkG11G0VbamGpwd59M0Z044GeONeBz3r6v5D9q7NE9+7G0l\/vHAzn+wVOrb4UsjHhdWcrtq2SsZFm2hpLu3ovuatoO\/A7iMccHmtdYt52aprmRUQO9lrGnImjGN4\/wDdjj38VzWa\/wAkdR9E3r6msj0bI44bL1a9Z9e9ccU1eJKNWUGoVfh8\/ZlGiIqzUEREAREQBERAEREAREQBERAEREAREQBERAEREAWRtHeH2mjYIGtfVVD9yFruHafDTzC11Lvb7f8AxBaxxJbQwbwGcAHA\/rCnBJvMo6iUlFKOrdjHu9klpZbbLdKuSc1Mu5O7OBHkgkA+J17FrTWG72dpmslwklY077qaXB3uvHLXw+C7tr6I1lglewHpKYiZuOzj6EnwXbZa36Rs9NVE5c5gD8n8Q0PqFY5vCmZY9PBVZQ0yTT34Z82W7R3igbO0BkjTuyx5+y5fN6sdLeqbo5RuSt+7mAyW\/Mdiy6T\/AKXtzUUjMNhr4+lDQPxan4h3mqdVy8LujRT+rTcamdsmTFpvFXbK4WW9H39BBUHg8csnn3+ap1m32zxXm3ugdhsrfeikI+y75HmuHZm8S1DZLZX4ZW0p3cHi9o59\/wDyutKSxI5CTpT7cnk9H\/BQIiKs1BERAEWJf76beG0VE3prhPpGwDO7nmV67O2iS00DmzymSomd0kpJyA7981LDldlKq3qYIq9tXwayIiiXBERAEREAREQBERAEREAXwyaKUkRyMeW8d1wOF9qXtjvo3bWuonHDKxvSx68+P9XkpJXuVVKmBx4bsVCmLXrt3dSdSIgM\/wDyqdSc84sO2E1ZWNIpa1gaJQ04adOPkpQzuirqHZwk9E\/uVT2NkjdG9oc1wIcDzCmtjpDTOr7Q92XUsxLcnUtOn6eq2Yb3apyBHcKck8AZACfArIu1HWU9yF8spbMS3E8LNekAx1ceXkkVrFnKsleNSOdtbcM+Lid7+IFsa3Ac2AknPY\/T99aqFOWijrq2+TXm4U3suGdHDC7Ujtz59+VRrk9kS6dO0pcu4WBtFZp6iSO6W07lfTagD\/UHV3\/8LfRRi2ndFtSmqkcLMuxXuG9Um+BuVEeBNH+U9Y7FqKWv1umtVb\/iC2D32nNTHyc3mfn5rft1fDc6GOrpz7jxwPFp5gqUktVoV0akrunPzL9VydSyNoL4yz0gEYElXLpDHjOT1ns+K9L7eobJRdM\/DpX5EUeftH5BcFhs0z5zebt9ZWy6xtPCJvLTkfgkUrYmcq1JOXbp688fng9NnLG+iDq+vJkuE+r3OOdwHl39a3kRRbbd2W06caccMQiIuFgREQBERAEREAREQBERAFL7WN9huFtvLR9zJ0chAzlvH+rzVQuK725l1ts1I47pePcd+V3I\/vllSg7Mprwc6bS12OwEEZByCvienhqYnRTxtkY4YLXDKw9lLlJNTSWyr92qoTuEHm0aDy4eSoEacXYlTmqsFLkxptkrHNkmiDCRxY9wx4ZwuOTYW27+\/BUVUDhw3Xg49M+q6dqrnJb7c2Kmfu1VS\/o48aEdZHVy81q0UMlNRQwzTOmkYwB8jjkuPMqWKaV7lHaoTm4YFkftHTiko4qcPdJ0bA3edxd2leyIqzUlZWQREQ6fjmhzS1wBBGCDzUgSdkdoM8LZXHtxEf7fDuVgpjbSR1RDSWqGNr56qUEZ\/DjTPZx49QKsp625MvVK0Ma1Wn2+TztEJ2hvs15qBvUkDiyljcDjIxh2PXvPYqtTeyVw3IHWWpYIaqkJAZjG+3Oc+vjxVIlTWx3pbdvFu9fcIiKs0hERAEREAREQBERAEREAREQBERAS+0dPNabjDtBRMzu+5UtHBzes\/DyVFSVUVbSx1MDt6OVu80rO2mr\/AKPs0kpiZM15EbmP4OBysOiqpdla1sVRvutdW0Pidx6NxGcfp5HrVtsUfUwuoqNZ8PX0fPydWBeNudQHQW1mn\/n\/AGJ\/2+dSprYmJ76KruEn26ucnvA7e8lUqjU1twW9NnDG9ZZ\/b9AiIoGkLxmqoKZ0TZpmRmV+5GHHG87qC9l4z0lPUvifNCyR0Lt+MuGS09YRHHe2R7KYqx7Rt\/RskcN2CAua3rOD8\/RU6lr\/AIo9rLPXYP1h6JxHfj+dThqZ+pyinsmv3Pfae1yENvNC7crKQbxwPttHHy+GVqWe5R3a2xVbNC4Ye38rhxC7SARgjIKk6UnZrag0XCgrzvR54Md1eencQurxRtuiM\/o1Me0tffZlaiIqzWEREAREQBERAEREAREQBERAEREBK7fShtpp4s6vn3sZ4gNPzC5rvXwy7D0MTmdJPUNYyMY1BboSPLHiui+Qtu211BbntL4Yoy+TjgZyf5Qv207Iy0dyjnqqoTQ0xzBHjxz2YJ9FoTioq\/ueVONSdWeBZPw+2n5GzNfNbZzs\/cmNilj1gONHg5JGefPXvVUsfaKyC7UgdCQyshO9DJnB7s\/vC77f7V7BD7aGioDAJN05GVVKz8RsoqVN9t5paP04OlERQNIREQBZG0NnkvFLCyGYQyRSh4cRnTgfn4LXRdTad0QnBTi4y0PwZxrxWZtDaxdbVJE0fXx+\/CeYcOXjwWoiJ2dzs4KcXF6MxtmLs66WsCZ3+apz0cwPHPInv+IK2VJ3Zr9ndoo7xGD7HVHcqGt5Hr\/XwKq2uDmhzSCCMgjmpTW63KaE3ZwlrH+pn6iIoGgIiIAiIgCIiAIiIAiIgI3bK7VdFdqSKnke0Mj6Uhpxve9zxr+FVH0hALWLi527D0XSk8dMZ81OXCmZddtzSyZDY6JzCW8RkHX\/AHrmitF+npYrDM1sVHG\/efM3XfZvZxnsOuO7qV7jFpI8yNSpGpNpXTdl7o79koZ6uorb5VDD6p5YwHk0HXw0A\/8AVU684II6aBkMLAyNgw1oGMBeiqk7u5uo0+3BRCIiiWhERAEREAREQBERActzoI7lbpqOThI3AP5TyPmsbZKukEM1nqziqonFoHWzP6H0IVGpbaiKW13Glv8ASjVhEc4H4m9vhp5KyGawmWusDVZba+34KlF5wTR1MEc8Tt6ORoc09YKKs1J3PRERAEREAREQBERAEReNVUMpKSapf9mJhefAZQ43ZXZPWQmq2yvFWBpEBD6gfyKnU5sTA5tnfVPdvPqpXPJxjhp8cqjU6nmsZ+lX0lJ75\/8AQiIoGkIiIAiIgCIiAIiIAiIgC8aqmirKWSmnbvRytLXBeyIcaTVmTezb622MqbZWQSvZTPHRSMjJDgcn+\/iipEUm7u5XTpuEVFPQIp693Otfc4LPa3tjneN+SR3Bg6tR8FyG537Z6UfSrBW0ROOnjA3h8PXzXVBtFcupjGTVnZavYrEXhR1kFfTNqKaQPjdzHI9RXuoGhNNXQREQ6EXhWVkFBTOqKmQMjbzPM9QX3BPFUwtmgkbJG77LmnIKW3OYle25gVu1jKPaAW4xNMTXNY+Uu4E49Bn0K+ts6t0dpbRRazVsgjaAdSAQT+g8VL3OLe+mZpvdqGVjC0HiG5eNOzh5BbVoE20V\/bdZonspKRgbCHHi7Hrqc57lowqNpcHlKvUqYqb1lp6K7T\/Yp6CkbQ0EFK3hEwN45yea6ERZz1UklZBERDoREQBERAEREAREQBERAEREAREQEXVUMd327qKaSWVjI4gS6N2CCGt4HvK67TUVNmupsNxf01PI3\/Kyu4Efl\/THX2FZTKv2L+Ib3OJa2Sbo3dzhgeuFv7Y0jprKamIYmpHiVrgNQM4OPj4LQ9ovRo8mnpOrHzJv5XBnVcM+yNz9tpGvfbJ3fXRDhGT+9PJVlPURVUDJ4JBJG8Za5vArmo5IrtZ4ZJmslZURAvbjQkjUeanqOWTZS8mhqC822qdmB5OQw\/s6+BUH4vdGmL7LTXkf6fhlciKWvV8qK+q+hbId+Z+ks7Towc8H4ny1UIxcmaKtWNON3\/6fF3ndtFeorLSnepIXb9VI0HGRnTPp3nsX7Y6iSw3eSxVZPQyu3qSQ8Dnl4\/Edq2rJZoLLQiCI773HekkI1cfl1BfN8skN5pg0u6Ooj1hlHFp+SniXl2M3Zqf5f9\/44\/u5gbb22lBgqYhuVdTKIyAcB4xxPdgearKWmjpKaOniaGsjaGjAxwCwqGwXB92hr7rWCc0o3YmgceokjHMnlrgKjXJvJK5OhT8cqjja4REVZrCIiAIiIAiIgCIiAIiIAiIgCIiAIiICAv8AbnT7U1kLPvZoBLDw94gAn0a7qVFTXOO9bKVEriDIKd7Zm9Tt0\/HiFz7XU80ApbzStzLRv9\/HNvy+a5pLFNWB1wsdU2GC4x4midww7O95Z8NVoupRVzylGVOrNRV77ej3+HdGnseXHZumDiTguAyOW8V13uho661zR1rmxxtG8JT\/AKZ616WqgbbLZDRtIPRjUgYySclfVypPbrbUUoIBlYWjPXyVTfjubYwaoKDV8iEttfcr10FjNc2CAAjpMEPkaOXbpy07Vb2q0UlopuhpWan7cjtXPPaVi1ezdTLYaQtc1lzomDo3Re7nGu739vX3rR2dvQvFEelAZVQndmZ29eO1Tm7q8dDN00e3NKp5msn6cfBroiKk9EIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID4lijnhfDKwPjeC1zTwIWZaLH9D1NQYap7qaU5bA7hGez99S1kXU2lYg4RclJrNBERcJhSl8p5bDd2X6jYTA87tXG3nnn4\/HvVWviWKOeF8MrA+N4LXNPAhSjKzKq1PuRssnt7nzT1EVXTsqIHh8cgy1wXqpG1zSbMXl1pq3H2KpdvU8p4NPV+h7cHmq5JRszlGp3I55NahERRLgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDPvVphvFvfTyAB41iefwOWbs1dpC99luHu1lKN0En7xo\/XHmNVRLC2ksslY1lwoCWV9Nqwt\/GBrjv6lOLTWFmarBxl3Ya7rlfc3UWNYtoYLs3oJAYa2MYkieMZI4kfLiFsqLTTsy6E41I4ovIIiLhMIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAzqmxUNTcYbgYzHUQuDt6M7u\/j83WtFEUm8kVwilKVkERFEsCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL NETLAND SCHOOL",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "ANLLELY",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56965872793",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I720\",\"id_control\":\"28697\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I721\",\"id_control\":\"28697\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I722\",\"id_control\":\"28697\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I719\",\"id_control\":\"28697\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:30",
    "ubicacionGPS": "LatLng(lat: -23.5584854, lng: -70.397368)",
    "horaLlegada": "11:08",
    "horaDespacho": "12:05",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 15/05/2026 12:30:32
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-.2Zbiqlm_+46gsYi5w0ho61OmEW2+gkscz5D31QtpYomsQkVriV
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65152165",
    "serieinterna": "EP2105",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se dejan en recepción sin contador ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12611",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADUANUDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABAEAABAwMBBAcECAQFBQAAAAABAAIDBAURIQYSMUETUWFxgZGhFCKx0RUjMjNCUsHwB8LS4RYkQ6LxJWJygpL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQIFAgUDBAMBAAAAAAAAAQIDERIhMUFRBBMiMmFxgSPR4aGxwfAzQpHx\/9oADAMBAAIRAxEAPwD+zIiIAiIgCIiAIiIAiIgCIiAIiIDJ2gvDrTRsMLQ+pnfuQtI0z1nUfshZkkG11G0VbamGpwd59M0Z044GeONeBz3r6v5D9q7NE9+7G0l\/vHAzn+wVOrb4UsjHhdWcrtq2SsZFm2hpLu3ovuatoO\/A7iMccHmtdYt52aprmRUQO9lrGnImjGN4\/wDdjj38VzWa\/wAkdR9E3r6msj0bI44bL1a9Z9e9ccU1eJKNWUGoVfh8\/ZlGiIqzUEREAREQBERAEREAREQBERAEREAREQBERAEREAWRtHeH2mjYIGtfVVD9yFruHafDTzC11Lvb7f8AxBaxxJbQwbwGcAHA\/rCnBJvMo6iUlFKOrdjHu9klpZbbLdKuSc1Mu5O7OBHkgkA+J17FrTWG72dpmslwklY077qaXB3uvHLXw+C7tr6I1lglewHpKYiZuOzj6EnwXbZa36Rs9NVE5c5gD8n8Q0PqFY5vCmZY9PBVZQ0yTT34Z82W7R3igbO0BkjTuyx5+y5fN6sdLeqbo5RuSt+7mAyW\/Mdiy6T\/AKXtzUUjMNhr4+lDQPxan4h3mqdVy8LujRT+rTcamdsmTFpvFXbK4WW9H39BBUHg8csnn3+ap1m32zxXm3ugdhsrfeikI+y75HmuHZm8S1DZLZX4ZW0p3cHi9o59\/wDyutKSxI5CTpT7cnk9H\/BQIiKs1BERAEWJf76beG0VE3prhPpGwDO7nmV67O2iS00DmzymSomd0kpJyA7981LDldlKq3qYIq9tXwayIiiXBERAEREAREQBERAEREAXwyaKUkRyMeW8d1wOF9qXtjvo3bWuonHDKxvSx68+P9XkpJXuVVKmBx4bsVCmLXrt3dSdSIgM\/wDyqdSc84sO2E1ZWNIpa1gaJQ04adOPkpQzuirqHZwk9E\/uVT2NkjdG9oc1wIcDzCmtjpDTOr7Q92XUsxLcnUtOn6eq2Yb3apyBHcKck8AZACfArIu1HWU9yF8spbMS3E8LNekAx1ceXkkVrFnKsleNSOdtbcM+Lid7+IFsa3Ac2AknPY\/T99aqFOWijrq2+TXm4U3suGdHDC7Ujtz59+VRrk9kS6dO0pcu4WBtFZp6iSO6W07lfTagD\/UHV3\/8LfRRi2ndFtSmqkcLMuxXuG9Um+BuVEeBNH+U9Y7FqKWv1umtVb\/iC2D32nNTHyc3mfn5rft1fDc6GOrpz7jxwPFp5gqUktVoV0akrunPzL9VydSyNoL4yz0gEYElXLpDHjOT1ns+K9L7eobJRdM\/DpX5EUeftH5BcFhs0z5zebt9ZWy6xtPCJvLTkfgkUrYmcq1JOXbp688fng9NnLG+iDq+vJkuE+r3OOdwHl39a3kRRbbd2W06caccMQiIuFgREQBERAEREAREQBERAFL7WN9huFtvLR9zJ0chAzlvH+rzVQuK725l1ts1I47pePcd+V3I\/vllSg7Mprwc6bS12OwEEZByCvienhqYnRTxtkY4YLXDKw9lLlJNTSWyr92qoTuEHm0aDy4eSoEacXYlTmqsFLkxptkrHNkmiDCRxY9wx4ZwuOTYW27+\/BUVUDhw3Xg49M+q6dqrnJb7c2Kmfu1VS\/o48aEdZHVy81q0UMlNRQwzTOmkYwB8jjkuPMqWKaV7lHaoTm4YFkftHTiko4qcPdJ0bA3edxd2leyIqzUlZWQREQ6fjmhzS1wBBGCDzUgSdkdoM8LZXHtxEf7fDuVgpjbSR1RDSWqGNr56qUEZ\/DjTPZx49QKsp625MvVK0Ma1Wn2+TztEJ2hvs15qBvUkDiyljcDjIxh2PXvPYqtTeyVw3IHWWpYIaqkJAZjG+3Oc+vjxVIlTWx3pbdvFu9fcIiKs0hERAEREAREQBERAEREAREQBERAS+0dPNabjDtBRMzu+5UtHBzes\/DyVFSVUVbSx1MDt6OVu80rO2mr\/AKPs0kpiZM15EbmP4OBysOiqpdla1sVRvutdW0Pidx6NxGcfp5HrVtsUfUwuoqNZ8PX0fPydWBeNudQHQW1mn\/n\/AGJ\/2+dSprYmJ76KruEn26ucnvA7e8lUqjU1twW9NnDG9ZZ\/b9AiIoGkLxmqoKZ0TZpmRmV+5GHHG87qC9l4z0lPUvifNCyR0Lt+MuGS09YRHHe2R7KYqx7Rt\/RskcN2CAua3rOD8\/RU6lr\/AIo9rLPXYP1h6JxHfj+dThqZ+pyinsmv3Pfae1yENvNC7crKQbxwPttHHy+GVqWe5R3a2xVbNC4Ye38rhxC7SARgjIKk6UnZrag0XCgrzvR54Md1eencQurxRtuiM\/o1Me0tffZlaiIqzWEREAREQBERAEREAREQBERAEREBK7fShtpp4s6vn3sZ4gNPzC5rvXwy7D0MTmdJPUNYyMY1BboSPLHiui+Qtu211BbntL4Yoy+TjgZyf5Qv207Iy0dyjnqqoTQ0xzBHjxz2YJ9FoTioq\/ueVONSdWeBZPw+2n5GzNfNbZzs\/cmNilj1gONHg5JGefPXvVUsfaKyC7UgdCQyshO9DJnB7s\/vC77f7V7BD7aGioDAJN05GVVKz8RsoqVN9t5paP04OlERQNIREQBZG0NnkvFLCyGYQyRSh4cRnTgfn4LXRdTad0QnBTi4y0PwZxrxWZtDaxdbVJE0fXx+\/CeYcOXjwWoiJ2dzs4KcXF6MxtmLs66WsCZ3+apz0cwPHPInv+IK2VJ3Zr9ndoo7xGD7HVHcqGt5Hr\/XwKq2uDmhzSCCMgjmpTW63KaE3ZwlrH+pn6iIoGgIiIAiIgCIiAIiIAiIgI3bK7VdFdqSKnke0Mj6Uhpxve9zxr+FVH0hALWLi527D0XSk8dMZ81OXCmZddtzSyZDY6JzCW8RkHX\/AHrmitF+npYrDM1sVHG\/efM3XfZvZxnsOuO7qV7jFpI8yNSpGpNpXTdl7o79koZ6uorb5VDD6p5YwHk0HXw0A\/8AVU684II6aBkMLAyNgw1oGMBeiqk7u5uo0+3BRCIiiWhERAEREAREQBERActzoI7lbpqOThI3AP5TyPmsbZKukEM1nqziqonFoHWzP6H0IVGpbaiKW13Glv8ASjVhEc4H4m9vhp5KyGawmWusDVZba+34KlF5wTR1MEc8Tt6ORoc09YKKs1J3PRERAEREAREQBERAEReNVUMpKSapf9mJhefAZQ43ZXZPWQmq2yvFWBpEBD6gfyKnU5sTA5tnfVPdvPqpXPJxjhp8cqjU6nmsZ+lX0lJ75\/8AQiIoGkIiIAiIgCIiAIiIAiIgC8aqmirKWSmnbvRytLXBeyIcaTVmTezb622MqbZWQSvZTPHRSMjJDgcn+\/iipEUm7u5XTpuEVFPQIp693Otfc4LPa3tjneN+SR3Bg6tR8FyG537Z6UfSrBW0ROOnjA3h8PXzXVBtFcupjGTVnZavYrEXhR1kFfTNqKaQPjdzHI9RXuoGhNNXQREQ6EXhWVkFBTOqKmQMjbzPM9QX3BPFUwtmgkbJG77LmnIKW3OYle25gVu1jKPaAW4xNMTXNY+Uu4E49Bn0K+ts6t0dpbRRazVsgjaAdSAQT+g8VL3OLe+mZpvdqGVjC0HiG5eNOzh5BbVoE20V\/bdZonspKRgbCHHi7Hrqc57lowqNpcHlKvUqYqb1lp6K7T\/Yp6CkbQ0EFK3hEwN45yea6ERZz1UklZBERDoREQBERAEREAREQBERAEREAREQEXVUMd327qKaSWVjI4gS6N2CCGt4HvK67TUVNmupsNxf01PI3\/Kyu4Efl\/THX2FZTKv2L+Ib3OJa2Sbo3dzhgeuFv7Y0jprKamIYmpHiVrgNQM4OPj4LQ9ovRo8mnpOrHzJv5XBnVcM+yNz9tpGvfbJ3fXRDhGT+9PJVlPURVUDJ4JBJG8Za5vArmo5IrtZ4ZJmslZURAvbjQkjUeanqOWTZS8mhqC822qdmB5OQw\/s6+BUH4vdGmL7LTXkf6fhlciKWvV8qK+q+hbId+Z+ks7Towc8H4ny1UIxcmaKtWNON3\/6fF3ndtFeorLSnepIXb9VI0HGRnTPp3nsX7Y6iSw3eSxVZPQyu3qSQ8Dnl4\/Edq2rJZoLLQiCI773HekkI1cfl1BfN8skN5pg0u6Ooj1hlHFp+SniXl2M3Zqf5f9\/44\/u5gbb22lBgqYhuVdTKIyAcB4xxPdgearKWmjpKaOniaGsjaGjAxwCwqGwXB92hr7rWCc0o3YmgceokjHMnlrgKjXJvJK5OhT8cqjja4REVZrCIiAIiIAiIgCIiAIiIAiIgCIiAIiICAv8AbnT7U1kLPvZoBLDw94gAn0a7qVFTXOO9bKVEriDIKd7Zm9Tt0\/HiFz7XU80ApbzStzLRv9\/HNvy+a5pLFNWB1wsdU2GC4x4midww7O95Z8NVoupRVzylGVOrNRV77ej3+HdGnseXHZumDiTguAyOW8V13uho661zR1rmxxtG8JT\/AKZ616WqgbbLZDRtIPRjUgYySclfVypPbrbUUoIBlYWjPXyVTfjubYwaoKDV8iEttfcr10FjNc2CAAjpMEPkaOXbpy07Vb2q0UlopuhpWan7cjtXPPaVi1ezdTLYaQtc1lzomDo3Re7nGu739vX3rR2dvQvFEelAZVQndmZ29eO1Tm7q8dDN00e3NKp5msn6cfBroiKk9EIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID4lijnhfDKwPjeC1zTwIWZaLH9D1NQYap7qaU5bA7hGez99S1kXU2lYg4RclJrNBERcJhSl8p5bDd2X6jYTA87tXG3nnn4\/HvVWviWKOeF8MrA+N4LXNPAhSjKzKq1PuRssnt7nzT1EVXTsqIHh8cgy1wXqpG1zSbMXl1pq3H2KpdvU8p4NPV+h7cHmq5JRszlGp3I55NahERRLgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDPvVphvFvfTyAB41iefwOWbs1dpC99luHu1lKN0En7xo\/XHmNVRLC2ksslY1lwoCWV9Nqwt\/GBrjv6lOLTWFmarBxl3Ya7rlfc3UWNYtoYLs3oJAYa2MYkieMZI4kfLiFsqLTTsy6E41I4ovIIiLhMIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAzqmxUNTcYbgYzHUQuDt6M7u\/j83WtFEUm8kVwilKVkERFEsCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL NETLAND SCHOOL",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "ANLLELY",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56965872793",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I720\",\"id_control\":\"28697\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I721\",\"id_control\":\"28697\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I722\",\"id_control\":\"28697\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I719\",\"id_control\":\"28697\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:30",
    "ubicacionGPS": "LatLng(lat: -23.5584854, lng: -70.397368)",
    "horaLlegada": "11:08",
    "horaDespacho": "12:05",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/05/2026 12:30:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:65152165

[15/05/2026 12:30: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('65152165', 'EP2105', 1, 27729424, 0, NOW(), 
				'12:05', '11:08', '12:30', 10, 'se dejan en recepción sin contador ', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778862632.png', '', null, 'COMPLETADO','LatLng(lat: -23.5584854, lng: -70.397368)' )
				
[15/05/2026 12:30:32] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200329
[15/05/2026 12:30:32] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200329', 'EPS-I720', 1)
				
[15/05/2026 12:30:32] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28697 and
				    IDproducto = 'EPS-I720'
				

15/05/2026 12:30:32 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I720';
                [15/05/2026 12:30:32] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200329', 'EPS-I721', 1)
				
[15/05/2026 12:30:32] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28697 and
				    IDproducto = 'EPS-I721'
				

15/05/2026 12:30:32 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I721';
                [15/05/2026 12:30:32] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200329', 'EPS-I722', 1)
				
[15/05/2026 12:30:32] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28697 and
				    IDproducto = 'EPS-I722'
				

15/05/2026 12:30:32 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I722';
                [15/05/2026 12:30:32] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200329', 'EPS-I719', 1)
				
[15/05/2026 12:30:32] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28697 and
				    IDproducto = 'EPS-I719'
				

15/05/2026 12:30:32 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I719';
                
15/05/2026 12:30:32 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200329'                    
				WHERE idllamado = 12611			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


15/05/2026 12:30:32 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12611			
				
15/05/2026 12:30:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 12:30:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12:30:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

[15/05/2026 12:30: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;
                

[15/05/2026 12:30: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;
                

15/05/2026 12:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

[15/05/2026 12:30: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;
                

15/05/2026 12:30:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12:30:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12:30:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12:30:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12611
            GROUP BY l.idllamado;
            

15/05/2026 12:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12611
                

15/05/2026 12:30:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

15/05/2026 12:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:30:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

15/05/2026 12:30:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

15/05/2026 12:30:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

[15/05/2026 12:30:40] 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;
                

15/05/2026 12:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:30:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

15/05/2026 12:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

[15/05/2026 12:30:40] 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;
                

[15/05/2026 12:30:41] 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;
                

15/05/2026 12:30:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:30:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:30:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:30:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:30:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

15/05/2026 12:30:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:30:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

[15/05/2026 12:30: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;
                

15/05/2026 12:30:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

15/05/2026 12:30:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

15/05/2026 12:30:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

[15/05/2026 12:30: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;
                

15/05/2026 12:30:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

[15/05/2026 12:30: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;
                

15/05/2026 12:30:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:30:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

15/05/2026 12:30:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:30:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:30:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:30:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:30:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:30:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12613
                

15/05/2026 12: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 = 12613
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12613
                

15/05/2026 12: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 = 12613
                

15/05/2026 12: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 = 12613
                

15/05/2026 12: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 = 12613
                

15/05/2026 12: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 = 12613
                

15/05/2026 12:30:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12613
                

15/05/2026 12: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 = 12613
                

15/05/2026 12: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 = 12613
                

15/05/2026 12:31:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

15/05/2026 12:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

15/05/2026 12:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

15/05/2026 12:31:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

15/05/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 = 12613
                

15/05/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 = 12613
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

15/05/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 = 12613
                

15/05/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 = 12613
                

15/05/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 = 12613
                

15/05/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 = 12613
                

15/05/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 = 12613
                

15/05/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 = 12613
                

15/05/2026 12:31:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12: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 = 12613
                

15/05/2026 12:31:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12613
                

15/05/2026 12: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 = 12613
                

15/05/2026 12: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 = 12613
                

15/05/2026 12:31:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

15/05/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 = 12613
                

15/05/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 = 12613
                

15/05/2026 12:31:30 - logentry: =========================================
FECHA: 15/05/2026 12:31:30
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary--U6.mlp5XqQS-Ca_KJJ2gAaroP0EiGlczAiVOK+inUcNpoMUuMa
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65152165",
    "serieinterna": "KY2138",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se deja en recepción sin contador ni ky",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12613",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADZARYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA\/EAABAwMBBAcFBgQFBQAAAAAAAQIDBAURBhIhMUETIlFhcZGhFDKBscEVI0LR4fAkUsLxM0OCktIHFkRTov\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC4RAAIBAwIEAwgDAQAAAAAAAAABAgMRIRIxBEFRwRMicTJhgaGx0eHwIzPxQv\/aAAwDAQACEQMRAD8A\/ZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR6aupax0jaadkqxO2X7K52VJAOJpq6BRXnUElJVtt1up1qa5yZ2cbmp+fPsLmaVsEEkz0VWxtVyo1MrhEzuQzmj4X1C1t5nZsvrJV2N+cNzvx3Z3f6ScUrNsorSk5KnF2b+gS26qVG1DrpD0jd\/QonVdvzhd2O4k2LUD62ofbrhF0FfFxbjCPx2fP5F8ZjWVIkdPBd4epUUsjesm5VTO7yX5qSTUsMqnCVFeJBt23Tzc04OcEzainjmb7sjEcngqZOhUbU7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGXsKpSatvFFw6RUlanLjn+s1BmKxPYtfUc3usq4VY5e1cKmPRppyyfJmbhsKUejf37kG9xrLZK1icVgf8iJpKRsmmqTZX3Uc1e5dpS4ciOarV3oqYUzOi1dTJcba9etTVHPv3f0+oWYMT8teL6pruWmoLototMlSxGrKqoyNHcNpf0RTHXisvNJbfYbm\/pY6xjZGOxjZXa2lRVxvXljwLvUq\/aF+tdoRctc7pZU7W\/2a4j6rjnvV4htNGjXOp4nSv7lVNyL6f7kLKdla5j4pynq0t4sl729zVUUSw0NPEucsia1cpjgh3KfTF0fdLQ18y5nhXo5c8VVOC\/FPXJcFEk07M9GnJSgpR2AAOFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmNZ5pnWy4p\/49Rhe1c7\/6VNMioqZRcopS6wg6fTdQuMrGrXp8FTPoqk+0VHtVnpJ85V8LcrnO\/G\/1LHmCM0PLXkuqT7EwjQW+lpqmaphhayWdcyOTipJBWaGk9zDT3mKi1Xcq2RjpZ40SGmiTm7cn0XzL3TFqnoaaWqr+tW1TtqRyrlUTki+v7QmMsdvZc1uKQJ0678rwz2+JYFkppqyMlHh5Rm5TfN2+PMy1Gn2ZruopmJsw10XSI1P5uOfNHeZqTLarxRXS03TeiRy7Ei5\/DnPy2jUieUmSoeWU4dH9cgAFZqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEuNHNW07Y4KySkc2RrlfHxVE5fEI5JtK6VyWAAdAAAI9wp\/ardU0\/\/ALYnMTd2pgqNFT9Np2Nmc9DI5nrn6l+ZbSKrT3G729eEU+01M96p9ELFmDM1Ty14PrddzUgo6nU0LbrBbqKBayV78Pcx2GtTmueeOfgXhBprcuhUjO+l7AAHCZSaupvadO1G7LosSJ8F3+iqTbNVLW2akqFXLnxJtLjmm5fVFJFVAlTSTU6rhJY3M80wUeiJ1ksSwu3LTzOZj1+aqWbw9DM\/LxC96+n+miABWaQAZnUN1qKqrZYrS5VqJFxPI3\/Lb2Z+flzJRjqdiqrUVON3\/pY0t+p627T0FNFJL0DculTGznKJhPP0UHe02qntFE2mp27+L343vXtUB2vg7TU9PneScACJYAAAAAAAAAAAAAAAAAAAAAAAAAAAAfFVETKrhEOc1TDTQLPNKyOJqZV7lwgONpbnRVREyq4RD8+qZH3bVtTBaavo2VabD5OTkRqbWO3gviWc9ZXaumWkoGvpra1fvZ3Jvf3fp5ny5UFPYr5Y5KRnRx7XROXiq78Kq9qrtKXwWn1PN4ifjJNeyms9eWDRWq0UtopWwU7EzjryKnWeveTgClu+WejGKirLYAA4SBl9O\/weprzQY2Uc5JWp2Jn8nIagzFUi0evqWZM7FZCrHL3oi7vRpOGzRmr4cJ9H9cGnAKm\/3uOz0nVTpKqXqwxpvVV7VTsIpNuyLpzjCLlLYjalvclGxlvt+X19QuGo3erE7fHs8yVYbJHZ6TrYfVSpmaXiqr2Z7CNpuyPo2Or6\/MlfUdZznb1Yi8vHtL4nJpLSiilCU5eLPfkun5AAKzUAAAAAAAcqmojpKaWpmdsxxNVzl7kI9ru1Jd4HTUjlVrXbLkcmFQ7Z2uR1xUtN8k0AHCQAAAAAAAAAAAAAAAPjnI1qucqIiJlVXkRJKZ7bilc6tkZCyJWuhVcM7dpTO1NZVasrXUFA50VtjXE0+9Nv98k+Kk1G5RUraMWy9l1K7U2p3XGRaCgc5abOHq1N8q9idxY0tluN+fFNeVfBRxInRUuV2lwmEV3f2qu\/wNFSWmgomRNgpY2rCmGvVqK7fxXPaTCTqJK0UUR4WUpOVWV78uRzhhjp4WQwsRkbEw1rU3Ihn9cROWzxVLPep52uz2JvT54NIVuoadaqwVsSIqr0SuRETOVTf9CMHaSZfXhqoyiuhOhlbPBHMz3ZGo5PBUydCs03I6TT1Er2q1Uj2cL3Lj6FmRas7FkJaoqXUAA4TB5VrVcjlaiuTguN6Hor71dorPb31MmHP4Rszvcv6cTqTbsiMpKMXKWyF3vNJZqZZah2Xqi9HEi9Z6\/vmVGnLVUVNS++XZu1US74WOT\/AA07ccu7s+Is1glq523m9OWaokTajhcm6NOWU+nLxNOTbUVZGaEZVZKpNWS2XdgAFZrAAAAAAABwWtpEn9nWphSZVx0fSJteXEHG0tyj1pPJ9nQUEK\/e1kyMRO1E\/VWkbTcKWrUtxtSZ2FY2Rq+GP+Xoe6rFz15TwcY6CPpHJx63H5q3yPVR\/Df9QqZ+cJU06ouOa4X\/AIoXr2dPuuebLNXxekkuz+bNOACg9MAAAAAAAAAAAA8SyshifLI5GsY1XOcvJE4qUtjvVTdJq2plbHFbo3YhkcitVfiq44JlfEqNZX5j3\/ZFPIrWo5PaJG7\/APT39q+XacqG33C\/0cFIxi0NpiROXWm7+9V49niXKFo3Z50+JbraKebfN\/ZEqrq6rVta6goHOitsS\/fT4\/xP3yT4qaeioqe30rKamjRkbE3J296959o6OnoKZtNSxpHGzgifNe07kJSvhbGqlScXrnmT\/bIAAgXgAAAAAAAAHiWVkMT5ZHI1jGq5zl5InFTK26KTVF7dc6hFShpHbNOxW7n7+PyVfgh21TUz1tTT2GiVekqFR0zkz1GZ545cVXwTtNBR0kNBSR0tOzZijTDULF5Y35syS\/mqaf8AmPzf4O4AKzWAAAAAACPW1tPb6V9TUyIyNib17e5O8kGQVv8A3bf1621bKFeWcSr+\/TxJRjffYprVHBJR3ex9jdedVqr2yuttu\/CrUXak9d\/y8SU\/RVmjpFR\/TIrGqqy7a54cccPQ0TWtYxGMajWtTCIiYREKjVlUtLp2pVqLmVEj3LjGePpkmptu0cFEqEIwc6nmduf7gotBSsfXV22qumc1rkcq8UyufmhP1R9zerJUt95J9lU7Uy381INopktWqbbAzd7TQIsiZzvVFVfVpO1l1ZLU9PebUphfL8ib\/sv1M0LrhWnun3TNOADOesAD4qoiZVcIgB9Oc1RDTM255WRt7XuwZ+s1PLVVXsNhg9rm\/FL+Bqc\/7ru8TzTaQWedKq9VslZN\/I1yta348fLBPRb2jM67k7Ulf38v30L6lr6Stz7LUxTbPHYci4JBj1oqej1pSUlsh6BrWdJMqPXC8eS55bt38xsDkklsSo1JTTUllOwM\/qO9y0z47ZbevX1C46u9Y07fH6bzvqK+JaKZscCdJWT7oo03471T95U86fsa0DVra1emuE++R7t+znkn1JRSS1MhVnKcvCh8X0\/J6temqGhpEZUQx1M7lR8skjdrLu7PIuERETCJhEPoINt7l8KcYK0UAAcJgAAAAAAAAAg3i5stNtlq3IjnImGM\/mdyT6+CKTjL6jxc7\/bLQi5ajlllRN+7+yL5+coK7yU15uEG477L4kjS9pkgifdK3r1tZ11VeLWrvx3L+iGgAOSd3clTpqnFRQABwsAAAAAAKTVlxdQWZ7Is9PUr0Ueym\/fxXy9VQl2O1stFripU3v8Aekdji5eP0T4FNdNm6a0oaFUR0dG1ZZM79\/H6N8\/PUlksRSMtPz1ZT6YXcGY1uqyUVFS5w2apTKp4Kn1NOVl7skN7pWwyyviVi7TXNRFx4ocg0pJsnxEJTpOMdypt2zc9a1VZEv3NGzomrhcKuMbuX83p8PWuurbaR6+62pTK\/BfyLm02qms9GlNTpnm968Xr2qVutolk069yf5cjHL54+pJSTmrGedNx4aV93ds0AI9DL09vppt33kTXbu9EUjXi9UllpukqF2nuz0cbeL1+id5XZt2Rsc4xjqbwS6mqgo6d09TK2KJnFzjLzVdfq6R1LRNdS2xHYfOqb5Mcv08z1S2m4ajnZX3tyx0qLtQ0jd2U7+z5r3GpiijgibFCxscbEw1rUwiITxD1M1p198R+b+yI9utlJaqZKekj2W8Vcu9zl7VXmSZJGRRukkdssYiucvYiHoi3KmfWW2ppo1RHyxuYiquE3pghu8mm2iNorYodIxy11RW3yoXr1L9hjc7kRP2iJ4L2k6+ajhtaJBTtSprXrhsLd+PHHy4lNQUWp5KCO1sYy3U0SKjpfxOyuVxhe\/ljxLyz6corPmRm1NULxlk4\/BORbLTe7MVHxXTUIK3VvrzsiLZLDM2oW63d\/TVz97WrvSJPz+RoQCqUm3dmynTjTjaIABwsAAAAAAAAAAAABl7EySv1Tc7lK1WtiXoY0dyTw8E\/+jUAknZMqnT1yi29sgAES0AAAAAAAAAzNmVZNZXd7sK5rUai4343bvRPI0xmLWvR65urFXG3GjkRV3r7v5mnJz3M3Dew\/V\/UAAgaQU2rW7WmaxM43NXyeilyVGqXRt05WJI5G5aiJv4rlMISh7SKa\/8AVL0ZFS+U9n0rQTyptSOp2NiiRd71RqenacLJZKitq\/tq9ded2+GFybmJyVU5dyfHiRdLWaWvSC53LL2QNRlLGvDCfix4\/mbInJqN0jPRhKsoznstl3fYAAqNwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABl7ti26xoK\/KpHVN6F+E4rw3+bfI1BVaitjrpaZIosdOxduJV\/mTl8UyfNO3dt2tyK538TDhk7eee344+ZY8xT6GWH8dWUHzyu5bAArNQMXWUlfqR9dV1aSQUlIx\/s0KoqK9yJuXenn5G0PMjEkjcxeDkVCUZaSmtS8VWbwU2kJUk01S9rNpq\/wC5foXZmtCvVbLLE73o6hyKnwT9TSnZq0mc4Z3ox9AACBeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADK3mjnsd3bfaCNXQvz7XG1eKc1+Pz8TVHxzUc1WuRFRUwqLzJRlZlVWmqkbbNbHCirqe40ramlkSSN3ZxRexexSQUVLpttuvLaygqXwwPz00HJdy4RO7P17S9Ekr4O03NrzqzAAIlhmNIr0NdeKLh0VRlE7sqn0Q05mLd\/Ca7uEHBtREkid67l+rjTk6m9zNwuKeno2vmAAQNIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmL2vsGr7VXY6syLC75f1J5GnKTV1EtXYJnNTMlOqTNVOWOPoqk6z1\/2naqerwiOkb1kTk5Ny+pY8xTM1PyVpQ657MmgArNIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB5exskbo3tRzXIqOReaGYsHTWe+1VllavQyqs1OuN2P7eqGpBJSsmiqdPVKMk7NAAES0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\/\/Z",
    "razonSocial": "FUNDACION EDUCACIONAL NETLAND SCHOOL",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "ANLLELY",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28699\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:31",
    "ubicacionGPS": "LatLng(lat: -23.5584764, lng: -70.396767)",
    "horaLlegada": "11:08",
    "horaDespacho": "12:30",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 15/05/2026 12:31:30
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary--U6.mlp5XqQS-Ca_KJJ2gAaroP0EiGlczAiVOK+inUcNpoMUuMa
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65152165",
    "serieinterna": "KY2138",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se deja en recepción sin contador ni ky",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12613",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADZARYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA\/EAABAwMBBAcFBgQFBQAAAAAAAQIDBAURBhIhMUETIlFhcZGhFDKBscEVI0LR4fAkUsLxM0OCktIHFkRTov\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC4RAAIBAwIEAwgDAQAAAAAAAAABAgMRIRIxBEFRwRMicTJhgaGx0eHwIzPxQv\/aAAwDAQACEQMRAD8A\/ZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR6aupax0jaadkqxO2X7K52VJAOJpq6BRXnUElJVtt1up1qa5yZ2cbmp+fPsLmaVsEEkz0VWxtVyo1MrhEzuQzmj4X1C1t5nZsvrJV2N+cNzvx3Z3f6ScUrNsorSk5KnF2b+gS26qVG1DrpD0jd\/QonVdvzhd2O4k2LUD62ofbrhF0FfFxbjCPx2fP5F8ZjWVIkdPBd4epUUsjesm5VTO7yX5qSTUsMqnCVFeJBt23Tzc04OcEzainjmb7sjEcngqZOhUbU7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGXsKpSatvFFw6RUlanLjn+s1BmKxPYtfUc3usq4VY5e1cKmPRppyyfJmbhsKUejf37kG9xrLZK1icVgf8iJpKRsmmqTZX3Uc1e5dpS4ciOarV3oqYUzOi1dTJcba9etTVHPv3f0+oWYMT8teL6pruWmoLototMlSxGrKqoyNHcNpf0RTHXisvNJbfYbm\/pY6xjZGOxjZXa2lRVxvXljwLvUq\/aF+tdoRctc7pZU7W\/2a4j6rjnvV4htNGjXOp4nSv7lVNyL6f7kLKdla5j4pynq0t4sl729zVUUSw0NPEucsia1cpjgh3KfTF0fdLQ18y5nhXo5c8VVOC\/FPXJcFEk07M9GnJSgpR2AAOFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmNZ5pnWy4p\/49Rhe1c7\/6VNMioqZRcopS6wg6fTdQuMrGrXp8FTPoqk+0VHtVnpJ85V8LcrnO\/G\/1LHmCM0PLXkuqT7EwjQW+lpqmaphhayWdcyOTipJBWaGk9zDT3mKi1Xcq2RjpZ40SGmiTm7cn0XzL3TFqnoaaWqr+tW1TtqRyrlUTki+v7QmMsdvZc1uKQJ0678rwz2+JYFkppqyMlHh5Rm5TfN2+PMy1Gn2ZruopmJsw10XSI1P5uOfNHeZqTLarxRXS03TeiRy7Ei5\/DnPy2jUieUmSoeWU4dH9cgAFZqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEuNHNW07Y4KySkc2RrlfHxVE5fEI5JtK6VyWAAdAAAI9wp\/ardU0\/\/ALYnMTd2pgqNFT9Np2Nmc9DI5nrn6l+ZbSKrT3G729eEU+01M96p9ELFmDM1Ty14PrddzUgo6nU0LbrBbqKBayV78Pcx2GtTmueeOfgXhBprcuhUjO+l7AAHCZSaupvadO1G7LosSJ8F3+iqTbNVLW2akqFXLnxJtLjmm5fVFJFVAlTSTU6rhJY3M80wUeiJ1ksSwu3LTzOZj1+aqWbw9DM\/LxC96+n+miABWaQAZnUN1qKqrZYrS5VqJFxPI3\/Lb2Z+flzJRjqdiqrUVON3\/pY0t+p627T0FNFJL0DculTGznKJhPP0UHe02qntFE2mp27+L343vXtUB2vg7TU9PneScACJYAAAAAAAAAAAAAAAAAAAAAAAAAAAAfFVETKrhEOc1TDTQLPNKyOJqZV7lwgONpbnRVREyq4RD8+qZH3bVtTBaavo2VabD5OTkRqbWO3gviWc9ZXaumWkoGvpra1fvZ3Jvf3fp5ny5UFPYr5Y5KRnRx7XROXiq78Kq9qrtKXwWn1PN4ifjJNeyms9eWDRWq0UtopWwU7EzjryKnWeveTgClu+WejGKirLYAA4SBl9O\/weprzQY2Uc5JWp2Jn8nIagzFUi0evqWZM7FZCrHL3oi7vRpOGzRmr4cJ9H9cGnAKm\/3uOz0nVTpKqXqwxpvVV7VTsIpNuyLpzjCLlLYjalvclGxlvt+X19QuGo3erE7fHs8yVYbJHZ6TrYfVSpmaXiqr2Z7CNpuyPo2Or6\/MlfUdZznb1Yi8vHtL4nJpLSiilCU5eLPfkun5AAKzUAAAAAAAcqmojpKaWpmdsxxNVzl7kI9ru1Jd4HTUjlVrXbLkcmFQ7Z2uR1xUtN8k0AHCQAAAAAAAAAAAAAAAPjnI1qucqIiJlVXkRJKZ7bilc6tkZCyJWuhVcM7dpTO1NZVasrXUFA50VtjXE0+9Nv98k+Kk1G5RUraMWy9l1K7U2p3XGRaCgc5abOHq1N8q9idxY0tluN+fFNeVfBRxInRUuV2lwmEV3f2qu\/wNFSWmgomRNgpY2rCmGvVqK7fxXPaTCTqJK0UUR4WUpOVWV78uRzhhjp4WQwsRkbEw1rU3Ihn9cROWzxVLPep52uz2JvT54NIVuoadaqwVsSIqr0SuRETOVTf9CMHaSZfXhqoyiuhOhlbPBHMz3ZGo5PBUydCs03I6TT1Er2q1Uj2cL3Lj6FmRas7FkJaoqXUAA4TB5VrVcjlaiuTguN6Hor71dorPb31MmHP4Rszvcv6cTqTbsiMpKMXKWyF3vNJZqZZah2Xqi9HEi9Z6\/vmVGnLVUVNS++XZu1US74WOT\/AA07ccu7s+Is1glq523m9OWaokTajhcm6NOWU+nLxNOTbUVZGaEZVZKpNWS2XdgAFZrAAAAAAABwWtpEn9nWphSZVx0fSJteXEHG0tyj1pPJ9nQUEK\/e1kyMRO1E\/VWkbTcKWrUtxtSZ2FY2Rq+GP+Xoe6rFz15TwcY6CPpHJx63H5q3yPVR\/Df9QqZ+cJU06ouOa4X\/AIoXr2dPuuebLNXxekkuz+bNOACg9MAAAAAAAAAAAA8SyshifLI5GsY1XOcvJE4qUtjvVTdJq2plbHFbo3YhkcitVfiq44JlfEqNZX5j3\/ZFPIrWo5PaJG7\/APT39q+XacqG33C\/0cFIxi0NpiROXWm7+9V49niXKFo3Z50+JbraKebfN\/ZEqrq6rVta6goHOitsS\/fT4\/xP3yT4qaeioqe30rKamjRkbE3J296959o6OnoKZtNSxpHGzgifNe07kJSvhbGqlScXrnmT\/bIAAgXgAAAAAAAAHiWVkMT5ZHI1jGq5zl5InFTK26KTVF7dc6hFShpHbNOxW7n7+PyVfgh21TUz1tTT2GiVekqFR0zkz1GZ545cVXwTtNBR0kNBSR0tOzZijTDULF5Y35syS\/mqaf8AmPzf4O4AKzWAAAAAACPW1tPb6V9TUyIyNib17e5O8kGQVv8A3bf1621bKFeWcSr+\/TxJRjffYprVHBJR3ex9jdedVqr2yuttu\/CrUXak9d\/y8SU\/RVmjpFR\/TIrGqqy7a54cccPQ0TWtYxGMajWtTCIiYREKjVlUtLp2pVqLmVEj3LjGePpkmptu0cFEqEIwc6nmduf7gotBSsfXV22qumc1rkcq8UyufmhP1R9zerJUt95J9lU7Uy381INopktWqbbAzd7TQIsiZzvVFVfVpO1l1ZLU9PebUphfL8ib\/sv1M0LrhWnun3TNOADOesAD4qoiZVcIgB9Oc1RDTM255WRt7XuwZ+s1PLVVXsNhg9rm\/FL+Bqc\/7ru8TzTaQWedKq9VslZN\/I1yta348fLBPRb2jM67k7Ulf38v30L6lr6Stz7LUxTbPHYci4JBj1oqej1pSUlsh6BrWdJMqPXC8eS55bt38xsDkklsSo1JTTUllOwM\/qO9y0z47ZbevX1C46u9Y07fH6bzvqK+JaKZscCdJWT7oo03471T95U86fsa0DVra1emuE++R7t+znkn1JRSS1MhVnKcvCh8X0\/J6temqGhpEZUQx1M7lR8skjdrLu7PIuERETCJhEPoINt7l8KcYK0UAAcJgAAAAAAAAAg3i5stNtlq3IjnImGM\/mdyT6+CKTjL6jxc7\/bLQi5ajlllRN+7+yL5+coK7yU15uEG477L4kjS9pkgifdK3r1tZ11VeLWrvx3L+iGgAOSd3clTpqnFRQABwsAAAAAAKTVlxdQWZ7Is9PUr0Ueym\/fxXy9VQl2O1stFripU3v8Aekdji5eP0T4FNdNm6a0oaFUR0dG1ZZM79\/H6N8\/PUlksRSMtPz1ZT6YXcGY1uqyUVFS5w2apTKp4Kn1NOVl7skN7pWwyyviVi7TXNRFx4ocg0pJsnxEJTpOMdypt2zc9a1VZEv3NGzomrhcKuMbuX83p8PWuurbaR6+62pTK\/BfyLm02qms9GlNTpnm968Xr2qVutolk069yf5cjHL54+pJSTmrGedNx4aV93ds0AI9DL09vppt33kTXbu9EUjXi9UllpukqF2nuz0cbeL1+id5XZt2Rsc4xjqbwS6mqgo6d09TK2KJnFzjLzVdfq6R1LRNdS2xHYfOqb5Mcv08z1S2m4ajnZX3tyx0qLtQ0jd2U7+z5r3GpiijgibFCxscbEw1rUwiITxD1M1p198R+b+yI9utlJaqZKekj2W8Vcu9zl7VXmSZJGRRukkdssYiucvYiHoi3KmfWW2ppo1RHyxuYiquE3pghu8mm2iNorYodIxy11RW3yoXr1L9hjc7kRP2iJ4L2k6+ajhtaJBTtSprXrhsLd+PHHy4lNQUWp5KCO1sYy3U0SKjpfxOyuVxhe\/ljxLyz6corPmRm1NULxlk4\/BORbLTe7MVHxXTUIK3VvrzsiLZLDM2oW63d\/TVz97WrvSJPz+RoQCqUm3dmynTjTjaIABwsAAAAAAAAAAAABl7EySv1Tc7lK1WtiXoY0dyTw8E\/+jUAknZMqnT1yi29sgAES0AAAAAAAAAzNmVZNZXd7sK5rUai4343bvRPI0xmLWvR65urFXG3GjkRV3r7v5mnJz3M3Dew\/V\/UAAgaQU2rW7WmaxM43NXyeilyVGqXRt05WJI5G5aiJv4rlMISh7SKa\/8AVL0ZFS+U9n0rQTyptSOp2NiiRd71RqenacLJZKitq\/tq9ded2+GFybmJyVU5dyfHiRdLWaWvSC53LL2QNRlLGvDCfix4\/mbInJqN0jPRhKsoznstl3fYAAqNwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABl7ti26xoK\/KpHVN6F+E4rw3+bfI1BVaitjrpaZIosdOxduJV\/mTl8UyfNO3dt2tyK538TDhk7eee344+ZY8xT6GWH8dWUHzyu5bAArNQMXWUlfqR9dV1aSQUlIx\/s0KoqK9yJuXenn5G0PMjEkjcxeDkVCUZaSmtS8VWbwU2kJUk01S9rNpq\/wC5foXZmtCvVbLLE73o6hyKnwT9TSnZq0mc4Z3ox9AACBeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADK3mjnsd3bfaCNXQvz7XG1eKc1+Pz8TVHxzUc1WuRFRUwqLzJRlZlVWmqkbbNbHCirqe40ramlkSSN3ZxRexexSQUVLpttuvLaygqXwwPz00HJdy4RO7P17S9Ekr4O03NrzqzAAIlhmNIr0NdeKLh0VRlE7sqn0Q05mLd\/Ca7uEHBtREkid67l+rjTk6m9zNwuKeno2vmAAQNIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmL2vsGr7VXY6syLC75f1J5GnKTV1EtXYJnNTMlOqTNVOWOPoqk6z1\/2naqerwiOkb1kTk5Ny+pY8xTM1PyVpQ657MmgArNIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB5exskbo3tRzXIqOReaGYsHTWe+1VllavQyqs1OuN2P7eqGpBJSsmiqdPVKMk7NAAES0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\/\/Z",
    "razonSocial": "FUNDACION EDUCACIONAL NETLAND SCHOOL",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "ANLLELY",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28699\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:31",
    "ubicacionGPS": "LatLng(lat: -23.5584764, lng: -70.396767)",
    "horaLlegada": "11:08",
    "horaDespacho": "12:30",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/05/2026 12:31:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:65152165

[15/05/2026 12:31: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('65152165', 'KY2138', 2, 27729424, 0, NOW(), 
				'12:30', '11:08', '12:31', 10, 'se deja en recepción sin contador ni ky', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778862690.png', '', null, 'COMPLETADO','LatLng(lat: -23.5584764, lng: -70.396767)' )
				
[15/05/2026 12:31:30] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200330
[15/05/2026 12:31:30] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200330', 'KYO-I647', 2)
				
[15/05/2026 12:31:30] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28699 and
				    IDproducto = 'KYO-I647'
				

15/05/2026 12:31:30 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'KYO-I647';
                
15/05/2026 12:31:30 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200330'                    
				WHERE idllamado = 12613			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


15/05/2026 12:31:30 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12613			
				
15/05/2026 12:31:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/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 = 12613
                

15/05/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 = 12613
                

15/05/2026 12:31:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

15/05/2026 12:31:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

15/05/2026 12:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

[15/05/2026 12: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;
                

15/05/2026 12:31:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

15/05/2026 12:31:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

[15/05/2026 12: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;
                

15/05/2026 12:31:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

15/05/2026 12:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

[15/05/2026 12: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;
                

15/05/2026 12:31:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12613
            GROUP BY l.idllamado;
            

[15/05/2026 12: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;
                

15/05/2026 12:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12613
                

15/05/2026 12:31:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

15/05/2026 12:31:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

15/05/2026 12:31:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

[15/05/2026 12:31: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;
                

15/05/2026 12:31:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

15/05/2026 12:31:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

15/05/2026 12:31:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

[15/05/2026 12:31: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;
                

15/05/2026 12:31:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

[15/05/2026 12:31: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;
                

15/05/2026 12:31:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12612
                

[15/05/2026 12:31: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;
                

15/05/2026 12: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 = 12612
                

15/05/2026 12: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 = 12612
                

15/05/2026 12: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 = 12612
                

15/05/2026 12: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 = 12612
                

15/05/2026 12: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 = 12612
                

15/05/2026 12: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 = 12612
                

15/05/2026 12: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 = 12612
                

15/05/2026 12: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 = 12612
                

15/05/2026 12: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 = 12612
                

15/05/2026 12:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

15/05/2026 12:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

[15/05/2026 12:31:48] 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;
                

15/05/2026 12:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

15/05/2026 12:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

15/05/2026 12:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

15/05/2026 12:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

15/05/2026 12:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

[15/05/2026 12:31:48] 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;
                

[15/05/2026 12:31:48] 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;
                

15/05/2026 12:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

[15/05/2026 12:31:48] 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;
                

15/05/2026 12:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

[15/05/2026 12:31: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;
                

15/05/2026 12:31:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

15/05/2026 12:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

[15/05/2026 12:31:54] 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;
                

15/05/2026 12:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

[15/05/2026 12:31:54] 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;
                

15/05/2026 12:31:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

15/05/2026 12:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

15/05/2026 12:31:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

15/05/2026 12:31:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

15/05/2026 12:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

[15/05/2026 12:31:54] 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;
                

15/05/2026 12:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:31:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

[15/05/2026 12:34: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;
                

[15/05/2026 12:34: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;
                

15/05/2026 12:34:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12589
            GROUP BY l.idllamado;
            

[15/05/2026 12:34:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:34:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12589
            GROUP BY l.idllamado;
            

15/05/2026 12:34:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12589
            GROUP BY l.idllamado;
            

15/05/2026 12:34:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12:34:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/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 = 12589
                

15/05/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 = 12589
                

15/05/2026 12: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 = 12589
                

15/05/2026 12: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 = 12589
                

15/05/2026 12:34:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12589
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12589
                

15/05/2026 12: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 = 12589
                

15/05/2026 12:34:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12589
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12589
                

15/05/2026 12: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 = 12589
                

15/05/2026 12: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 = 12589
                

15/05/2026 12: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 = 12589
                

15/05/2026 12: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 = 12589
                

15/05/2026 12: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 = 12589
                

15/05/2026 12:34:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12589
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12589
                

15/05/2026 12: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 = 12589
                

15/05/2026 12: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 = 12589
                

15/05/2026 12: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 = 12589
                

15/05/2026 12: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 = 12589
                

15/05/2026 12: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 = 12589
                

15/05/2026 12: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 = 12589
                

15/05/2026 12: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 = 12589
                

15/05/2026 12: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 = 12589
                

15/05/2026 12: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 = 12589
                

15/05/2026 12: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 = 12589
                

15/05/2026 12: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 = 12589
                

15/05/2026 12:34:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12589
            GROUP BY l.idllamado;
            

15/05/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 = 12589
                

15/05/2026 12:34:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12589
            GROUP BY l.idllamado;
            

15/05/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 = 12589
                

15/05/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 = 12589
                

15/05/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 = 12589
                

15/05/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 = 12589
                

15/05/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 = 12589
                

15/05/2026 12:34:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12589
            GROUP BY l.idllamado;
            

15/05/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 = 12589
                

15/05/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 = 12589
                

15/05/2026 12:34:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12:34:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12: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 = 12589
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12589
            GROUP BY l.idllamado;
            

15/05/2026 12:34:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12:34:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12:34:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12589
            GROUP BY l.idllamado;
            

15/05/2026 12:34:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12:34:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12:34:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12589
            GROUP BY l.idllamado;
            

15/05/2026 12:34:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12: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 = 12589
                

15/05/2026 12: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 = 12589
                

15/05/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12:34:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12589
            GROUP BY l.idllamado;
            

15/05/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12:34:55 - logentry: =========================================
FECHA: 15/05/2026 12:34:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-h1rqXjHg1N1TdxjMDdfE7qgy_P29QG3oZajHNssm.e951qGsfk7
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2645",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12589",
    "observacion": "•Entrega en puerto seco",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD5AS4DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABJEAACAQMBBAcFBAUICQUAAAAAAQIDBAURBhIhMRNBUWFxgZEiMrHB0RQjQqEVM3SS8CRFUmKCssLhBxYlJjQ1NkNzcpOi4vH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQIDBQYFBQEAAAAAAAAAAQIDERIhMQQiMkFREzNhcdHwgaGxweEUI0JSkST\/2gAMAwEAAhEDEQA\/AP7MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZmfy8cPjJ1+dWfsUl\/W05+COpXdkRnNQi5S0Ry5XaCdG8WNxdD7XfPnFe7Dxfacrxm1N2+lq5WlbNr9XTXBei+p2bL4d4zHdJcR\/ldw9+o5e8uyOv5+LNsm5KOUTNGnKqsVRtX5LKxMOx2sslv0MhQu1pxp1Fxfhqvmj6tdr40qit8xZ1bKtru7+69x9\/Hiuff4lKeVxbULui6NzRhVpvnGa1QxJ6ol2Mo505P45oW9zQu6KrW1aFWm+UoPVHqSd5hb3Z6tLIYSpOdvF71WzbbWnX4\/Fd5u4nL2uYtFXt5aNcJ0370H3nJRyutCVOq3LBNWl9fI7wAQLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASlaH6e20VKT1tcbHVxfJz1+un7pT160be3qVp+7Tg5PjpwS1J\/YqhN2Nzf1f1l5Xcm+1Lv8XIsjkmzLW35xp8tX8PyUgAKzUAAACXy+Lr4a7ebw8eXG4t0uEl1td3b6lQfjSa0a1TJRlZlVWkqitz5PocuMyVDK2MLu3fsy4OL5xfWmdZIXFOWyGYV3QjJ4u6e7Ugv+3L+OK80VsJxqU41ISUoyScWutHZRtmtCNGo5XjLiWvqfQAIF4AAAAAAAAAB+SkoxcpNJJatvqJu+2rlVruzwds72v11EvYj9fHgiUYuWhXUqwpq8mUkpKK1k0l2s8I5Cynru3lCWnZVi\/mT0NlbzJT6bO5GdVviqNJ6Ri\/h6I65bGYZ6NUasWutVZakrRWrKu0rSzULLxZupprVPVM\/SWqbN32HjK4wV\/VbT1dtV0cZrs6l\/HM78LtHSyTdtdUnaXsHuyoz1W89OrXwfA445XWZ2Nbew1FZ\/J\/E2gAQNAAAAAAAAAAAAAAAAAABjbWXH2fZy5fXU3YLza1\/LU6sJbK0wlnRS0caUW\/FrV\/m2Y+2u9XoWFjF8bi4XBc31cP3imSSWiWiRN5QRmhvV5PokvufoAIGkAAAAAA576yo5CzqWteO9CotPB9TXgYOy99Vta1TAXzar2+vRN\/ijz0+nd4FMTO11tK2+zZu3W7WtKiU2lzg31+fD+0yyGe6zLXTharHlr5e8ymB5WtxC6taVxT92rBTXHtWp6lZpTuroAAHQAAAeF5e29hbSubqoqdOHNv4LtPm\/v7fG2k7q6nuU4+sn2LtZN2lnc7V3ayGSi6eOpt9Bb8t\/vf1JxjfN6FFWq4vBDOT93Z8J5DbKq+M7LFQfUvaqv5\/Bd5TWGNtMZbqhaUVTj1vrk+1vrOiEIU4KFOKhGK0UYrRI+hKV8loKdFQeKWcuoABAvBi7QbPU8tTVeg1RvaXGnVXDXTqb+fUbQOptO6IThGpHDLQwtnM1UvY1LC\/W5kLbhOLWm+l1+PabpN7T2FahUp56wW7c2v61Je\/Dv8Ovu8Daxt\/RydhSu6D9mouK14xfWmSkk95FNGUk3Snqvmvep1AAgaQAAAAAAAAAAAAAACX2i1r7UYS3X4KnScOfNP\/CVBL8Lr\/SL1v7Jbemq\/+5UFk9EjNQzlOXj9MgACs0gAAAAAA58haRv8fXtJ6aVYOOrXJ9T8nxOgDQ40mrMndjrucsfVx9dpV7Gq6bj1qP8A+6ryKIl3BY7b+PR6RhfUG5Lv4\/OK9SoJz1v1M+zN4MD\/AIu3v4AAEDSDnvb23x9rO5uaihTguL7e5d57ykoxcpNJJatvqJGo5bX5zootrF2UtXJL9bL\/AD4+XiSjG+uhRWqOCSjnJ6H1Z2VztVexyWRi6ePpv+T27\/H3vuKyMVGKjFJJLRJdQjFRioxSSS0SXUfolK5KlSVNdW9WAARLQAAAAAD8aTWjWqZJ4pvZ7aitipvS1vPboa8k+pfFeSK0wNrsbK7xiu6GquLN9JBrnp1\/DXyJwednzM20RdlUjrHP1Rvg4cNkFlMVQu1opTjpNLqkuDPavfWlrUp069xTpzqNKEZSSctXpwRGzvYvU4uKlfI6AAcJAAAAAAAAAAAAExh\/vNtsvVfOMFD4fQpyY2Z9vaHPT5aV93T+1P6FOTqambZe7v1b+oABA0gAAAAAAAAExlf+usV\/4n\/iKcl8k1U2+xlOL4xotv0m\/kVBZPReRmocU\/P7IAHPf3tPHWNa7re5Sjvadr6l5vRFepobSV2Ye1OQr1ZUsHj3vXV37+nVDR6p+PwXebOMx9HF2FOzoauMFxk+cm+bZi7KWdav02cvtJ3N2\/YbS9mC4cOzs8EilLJu26jNQTm3Wlz08F+QACs1AAAAAAAAAA\/Gk1o1qmfoAJbZ1vF7QZDCvRUnJ1qK15J6cPRr0OLaK0q5zaapZUpNu2tXKMU+G9z07tdV+R3Z1\/YtrcTfLgqutGT079P8f5DZxO72lzF++MVPooS56rX6RRovbf8AA8txUv8Anf8Ab5WuaOzGSeTwlGpUnv1qetOo+vVcm\/FaM1yVsdzA7X17H3bfIRU6XYpceHrvL0KoqmrO6NmzybhaWqyYABA0AAAAAAAA5sjU6HGXVX+hRnL0TCON2VzB2L+9\/Sd0uMaty9GuT5v5lOYGxVFUtnKc0tOlqTm+\/jp8jfJ1OJlGyq1GPvUAAgaAAAAAAAAcWYyEMZiq93J6OEdILtk+CXqdSu7EZSUU2+RhYtrJ7b317HR0rWHRRa7eXykVRg7H2UrXCRrVN7pLqTqycuej5fXzN4lN52Kdmi1TxPV5\/wCgl9p3PKZOywVGTSnLpazi\/diteflq\/TuKStVhb0Klao9IU4uUn3Jak3spbzvry8z1xxnXm4UdeqP8aLyZ2GV5Edo32qS56+SKWlShRpQpU4qMIRUYxXUlyR9gFZqAAAAAAAAAAAAAAAJvbmkpYSnWXCdGvFp+Ka+h+7EUZRwsrmbbncVZS1fYuHx19T021lu7OVVp71SC\/PX5HZs7RVDZ6xglprSU\/wB7j8y2\/wC3bxMKhfbG\/A49rsbK7xiu6GquLN9JBrnp1\/DXyNHDZBZTE295ppKpH2l2SXB\/mjslGM4OElrGS0a7USuz0p4XPXWCqtulUbqW7fXw1+H904t6NuhZL9uspcpZfHl6FYACs1AAAAAAAzs\/PcwF89dNaEl6rQ0TK2nlu7OXr019jT1aRKPEius7U5PwZ87KR3NmrNaaezJ+smzXM3Z2O7s9YrXX7lP14mkJcTOUValFeCAAIloAAAAAAJTMVJZ\/P0cLQ1drby37qcddNetfLxfcdO0Geq0q0MTi\/vL+s91tf9vX5\/Dmd+CwlHC2jpxl0lapo6tR\/if04ssW6sTMlR9tLs46LX09TSjFRioxSSS0SXUfoBWazB2yvHa4GdKD0qXMlSSXNrm\/yWnmaWKslj8VbWi504JS5e9zf56mFm\/9o7XYzHcXTorpqi6u3j+6vUqSyWUUjLT3q059MvuwACs1AAAAAAAAAAAAAAAEnt5WlK1tLKnrKdWo57kVq3otF8SlsaXQWFvR03ejpRjp2aJInbVxze2la5T37bHw6OKfFOXFfHe49yKksnklEyUFiqTq9cl8ATu1lpWpxtsxaL7+xlrJdsOv0+DZRHxVpQrUp0qkVKE4uMovrT5ojF2dy+rT7SDieVjd07+yo3VP3asVLTXXR9a8mdBK4CvPDZivs\/cNum26ltOXWnx09PzTKoSjZkaNTHC71WT8wACJcDill7GGQ+wyrJVuHDTrfJeJ2SkoxcpNJJatvqIiyxL2js8tetLfrVtbZ6acY9\/Y9UicYp5sz1qk4NKCu39i4MTbGSjsxdJ\/icEv30xsxlpZGwdCvwu7X2KqfPsT\/I8ttm1s5US66kE\/U7FWmkyNWop7PKS5pmpiIuGGsYvmremv\/ijsOexSjj7aK4JUopeiOgg9TRBWigADhIAGbkdoMZi24XNyukS\/VwW9L8uXmdSb0IynGCvJ2NInMvtBUqXKxWF++vJvSVRcY0u3z+Byzv8AN7SqVCxoOxsppa15+9JPTk\/DqXqbuJw1phrforaGs2vbqS96fj9CdlHXUzOcq2VPKPX09TnwWz9HERdWcunvKi+8rPj4pa9\/qbABBtt3ZohCMI4YrIAA4TJfGL7Tt1k68uPQ01CKfV7q+T9SoJjB\/wDWGZ8viU5OpqZtm4G\/F\/UAAgaQAAAAAAAAAAAAY20uZWLx7hRlrd11uUor3lr+Ly+Jp3VzSs7Wpc15btOlFykybwNtWzWWqZ+9jJU4txtIPThHj8NfXUnBLiehmrzeVOGr+S6mrs5iP0PioUZpdPUe\/Vf9Z9Xly9TVAIttu7L4QUIqMdEAAcJGLtJhp5O0jXtXuXtq9+jJcG9OOmvw7z92ezqy9vKnWj0V5Q9mrTfBvvS\/jQ2TAzOz9avdrJ4qv9mv48+qNTx\/jR9ZYmmsLM1SEoT7SGfVdfyb4Jqx2voQirfMQqWl1DhNuD3ZPlqtPDwPS\/2wsaVBLH63txN7sIQi9E+rX6I52cr2sd\/U0cOLF6\/4fm1eRkreGItJb13etQ3V+GD5vz5eGpr4yxhjcdRtKfKnHRvtfW\/UzMDhK1G4qZbJS37+4XFNfql2Ly0XcuBvCTSWFHKUZSk6s1ZvRdESuYpzwOfpZqhFu3uH0d1FJvTv9Fr4rvOjbOcamzTqQkpRlODi11o272zoX9pUtbmG\/TqLRr5o\/n+ZlfYiyq4K6Tq27mp21Z\/0U+X+XV5lkN5rqjNtN6MZr+Mvk\/yf0Cy\/4G3\/APFH4HueFi07C3aeqdKPwR7lL1PQjwoExnZSyu0FrhI1alOjuOpWdNpaPR6dXd+ZTSkoxcpNJJatvqJnZ2KyWcyGakpOEmqVFyXV16ei9WThldlG0b2Gn1fyWp9VNka1WpPfzV26c3q4ceWvLnp+R243ZbFY2SqQo9NVXKpVe814LkjYBxzk8rko7PSi7qOYABAvAAAAAAJfG60NvMlRfBVaSmu\/3X82VBLbUb+OzGNzMHNQhPoq3HVKOvZ3py9CojJSipRaaa1TXWWTzSZlobrnDo7\/AO5n6ACs1AAAAAAAAAAAAEpkVW2lz\/6Mg5xsLNp3Ek\/ffNfRebKijSp0KMKNKChTglGMVySPO2sre0lVlQpRputPfnoubPclKV8kU0qeFuUtX7SAB+SkoxcpNJJatvqIlxj3+aq0NoLLFW9OnN1vaqt66xjx5eSbNkldnU8ptFkcxLV04voaLb1Wnd5JfvFUTmksjPQlKac3o3l5AAEDQeFxZWt2v5Rb06vDTWcU3\/HF+p822OsrN621pRovthBJ+p0g7dkcMb3tmAAcJAmtu3FYKGqWrrxSbXc\/oUpMbff8jo\/tMf7sidPjRm2vuJeR5UsVndn\/APlc43dq\/alb1WtVy105cefJ+R6LbGpQW7fYa7o1Fz0XBvz0KgHcafEjioShlTk0umpJ18vk9o6crPG2VS2oVPZqXFTg0nz7u3Xi3xKLG2FLGWFK0o8Y01xlok5Prb0OoEXK6siynSwvFJ3YABEuAAAAAAAAAOTJ2FPJY6taVOVSOif9F9T9TF2UyFSmqmDvfZurRtR1fvR7vD4aFKYe0GBlkNy9sZ9DkKHGE1w3+5v4E4tWwszVoSUlVhquXVG4DEwW0Eb9fZL2P2e\/p8J05cN7TrS+RtkWmnZl1OpGpHFEAA4TAAAAAAAAAAAABhbW5KVjiXQo6u4un0dNR56fifpw80bkpKMXKTSSWrb6iSsP949rKl+\/as7D2aPZKXU\/XWXoTgs7vkZtok8KhHWWXqyhw+PhjMVQtIrRwjrN9snxb9TtAIt3dy+MVFKK5AAHCQAAAAAAJjbvSWJtqfXK5j\/dl9SnJjbXSVPHQfKVytV2k6fEjNtfcyKcAEDSAAAAAAAAAAAAAAAAAAZGY2dtMvJVm3RuYrSNaHPu1XXoZiyma2fn0eVoO9tVyuKPNc3x17urhy5lUCanlZ5medBOWKDs\/eqMyw2ixWR0VC7gpt6dHU9mXo+fkaZj32y2Iv25TtlSm3q50Xuv05fkZy2czGM44nMScE9ehrLhpp5r8l1HbRejI460OKN\/L0ZUgl1ktrLThcYmlcxX4qT4v0b+B+rbN0Xpf4e8tn4a+HNI52cuR39VTXFdeaZTgnFt1h29N24Xf0a+p9f674b+nW\/9sdnLod\/VUf7IoQTstuMPHTTp5eFP6s86m3WP3fuLW6qy04eykvXXwHZy6B7VQX8kUx5169G2pOrXqwpU485TeiRN\/pvaO94WOD6Fc96u9OHnofa2UrX9SNbN5CrcyT4U4ezHT+OzQ7gtxM527l3cW\/PJHLfZK72qk8diaU4Wm8unuZcNV2afnpzfdxKewsaGOs6drbwUYQWni+tvvPu2tqFnQjQt6UaVOC0UYrRHqclK+S0JUqTi8c3eT95AAEC8AAAAAAAAAExtp\/Nn7SvkU5MbafzZ+0r5FlPiRm2vuX75lOACs0gAAAAAAAAAAAAAAAAAAAAAAAAAAHm7ehJaSo02uxxR8uztXztqL\/sI9gLnMK6HlG1t4a7tCnHXsgkfcYQhruxjHXsWh9ACyQAAOgAAAAAAAAAHNeZCzsIKV3c06KfLelxfguswau187ufRYXHVrueujnOOkV6fPQkot6FM61OGUnn8ynBn4Z5R2cpZZU413NuMYaezHsenmaBxqzLIyxK9rAmNtP5s\/aV8inJjbT+bP2lfInT4kUbX3L98ynABWaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcmTsp5CxnbU7mpbSk0+kp81ozqOSbSulc6ZSjCLlOSjFc23okZtztJhrXXpL+lJrqpvf+GpmrYm2qy3rzIXdw++SXhz1NG12Zw1o9adjTlLtqaz+JO0FzM+LaJaRS83f6GbLbJ3MtzF4q5u2nxbWiXpr3n50W1+SlpUq0MdSfNQ0ctO7TV6+aKaMYwiowioxXJJaJH0MaWiHYTlxzfwy\/JO2WxmPoT6a8nUva2urlUekW\/D6tm9Ro0remqdClClBcowikl5I9ARcm9S2nShT4VYAAiWAmNtvZpY6o+Ubla\/x5FOTG3ns4i2qLnG5jp+7L6E6fEjNtfcyKcAEDSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACc25i5YCOkdd2vF8uXBlGYe2NPf2ZuXpq4OEuX9ZL5k4cSKNpV6MvI2KEt6hTlrrrFPXt4HoceJqdLh7KprrvUIN8dfwo7CL1LYu8UwADhIAAAAHjdXdvZUJV7mrGlTjzlJg42krs9jHy201him6Tl09xy6Gk9Wn3vq+Jl1Mhl9pa7pYrW0sIvSVzJaOfd\/kvNmvitncdiYxlRoqdZLjWnxl5dnkWYVHiM3azq5Usl1f2XMy4VNqc1BSh0eLoS7V7bXnx+Bs4fH3GOtpwub6peVJz3nOevDglotW+w0Accr5E4UVF4m2375aAAEC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHheWlG\/tKlrcRcqVRaSSeh7gHGk1ZnlbW9O0tqdvRju06UVGK110SPUABK2SAAB0AAA5clkKWLx9W8rJuNNe6ubbeiXqTdljL7aW5WQzO9Ts096ja6tJrt8O\/m+5FJkf+Cl\/6of3kdRNSwrLUzzpdpPeeS5ep8UqNOhSjSowjTpwWkYxWiSPsAgaNAAAD\/9k=",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "CAMILA VELIZ",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56936380484",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28688\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28688\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28688\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28688\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:34",
    "ubicacionGPS": "LatLng(lat: -22.4407086, lng: -68.8856864)",
    "horaLlegada": "12:26",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 15/05/2026 12:34:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-h1rqXjHg1N1TdxjMDdfE7qgy_P29QG3oZajHNssm.e951qGsfk7
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2645",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12589",
    "observacion": "•Entrega en puerto seco",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD5AS4DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABJEAACAQMBBAcFBAUICQUAAAAAAQIDBAURBhIhMRNBUWFxgZEiMrHB0RQjQqEVM3SS8CRFUmKCssLhBxYlJjQ1NkNzcpOi4vH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQIDBQYFBQEAAAAAAAAAAQIDERIhMQQiMkFREzNhcdHwgaGxweEUI0JSkST\/2gAMAwEAAhEDEQA\/AP7MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZmfy8cPjJ1+dWfsUl\/W05+COpXdkRnNQi5S0Ry5XaCdG8WNxdD7XfPnFe7Dxfacrxm1N2+lq5WlbNr9XTXBei+p2bL4d4zHdJcR\/ldw9+o5e8uyOv5+LNsm5KOUTNGnKqsVRtX5LKxMOx2sslv0MhQu1pxp1Fxfhqvmj6tdr40qit8xZ1bKtru7+69x9\/Hiuff4lKeVxbULui6NzRhVpvnGa1QxJ6ol2Mo505P45oW9zQu6KrW1aFWm+UoPVHqSd5hb3Z6tLIYSpOdvF71WzbbWnX4\/Fd5u4nL2uYtFXt5aNcJ0370H3nJRyutCVOq3LBNWl9fI7wAQLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASlaH6e20VKT1tcbHVxfJz1+un7pT160be3qVp+7Tg5PjpwS1J\/YqhN2Nzf1f1l5Xcm+1Lv8XIsjkmzLW35xp8tX8PyUgAKzUAAACXy+Lr4a7ebw8eXG4t0uEl1td3b6lQfjSa0a1TJRlZlVWkqitz5PocuMyVDK2MLu3fsy4OL5xfWmdZIXFOWyGYV3QjJ4u6e7Ugv+3L+OK80VsJxqU41ISUoyScWutHZRtmtCNGo5XjLiWvqfQAIF4AAAAAAAAAB+SkoxcpNJJatvqJu+2rlVruzwds72v11EvYj9fHgiUYuWhXUqwpq8mUkpKK1k0l2s8I5Cynru3lCWnZVi\/mT0NlbzJT6bO5GdVviqNJ6Ri\/h6I65bGYZ6NUasWutVZakrRWrKu0rSzULLxZupprVPVM\/SWqbN32HjK4wV\/VbT1dtV0cZrs6l\/HM78LtHSyTdtdUnaXsHuyoz1W89OrXwfA445XWZ2Nbew1FZ\/J\/E2gAQNAAAAAAAAAAAAAAAAAABjbWXH2fZy5fXU3YLza1\/LU6sJbK0wlnRS0caUW\/FrV\/m2Y+2u9XoWFjF8bi4XBc31cP3imSSWiWiRN5QRmhvV5PokvufoAIGkAAAAAA576yo5CzqWteO9CotPB9TXgYOy99Vta1TAXzar2+vRN\/ijz0+nd4FMTO11tK2+zZu3W7WtKiU2lzg31+fD+0yyGe6zLXTharHlr5e8ymB5WtxC6taVxT92rBTXHtWp6lZpTuroAAHQAAAeF5e29hbSubqoqdOHNv4LtPm\/v7fG2k7q6nuU4+sn2LtZN2lnc7V3ayGSi6eOpt9Bb8t\/vf1JxjfN6FFWq4vBDOT93Z8J5DbKq+M7LFQfUvaqv5\/Bd5TWGNtMZbqhaUVTj1vrk+1vrOiEIU4KFOKhGK0UYrRI+hKV8loKdFQeKWcuoABAvBi7QbPU8tTVeg1RvaXGnVXDXTqb+fUbQOptO6IThGpHDLQwtnM1UvY1LC\/W5kLbhOLWm+l1+PabpN7T2FahUp56wW7c2v61Je\/Dv8Ovu8Daxt\/RydhSu6D9mouK14xfWmSkk95FNGUk3Snqvmvep1AAgaQAAAAAAAAAAAAAACX2i1r7UYS3X4KnScOfNP\/CVBL8Lr\/SL1v7Jbemq\/+5UFk9EjNQzlOXj9MgACs0gAAAAAA58haRv8fXtJ6aVYOOrXJ9T8nxOgDQ40mrMndjrucsfVx9dpV7Gq6bj1qP8A+6ryKIl3BY7b+PR6RhfUG5Lv4\/OK9SoJz1v1M+zN4MD\/AIu3v4AAEDSDnvb23x9rO5uaihTguL7e5d57ykoxcpNJJatvqJGo5bX5zootrF2UtXJL9bL\/AD4+XiSjG+uhRWqOCSjnJ6H1Z2VztVexyWRi6ePpv+T27\/H3vuKyMVGKjFJJLRJdQjFRioxSSS0SXUfolK5KlSVNdW9WAARLQAAAAAD8aTWjWqZJ4pvZ7aitipvS1vPboa8k+pfFeSK0wNrsbK7xiu6GquLN9JBrnp1\/DXyJwednzM20RdlUjrHP1Rvg4cNkFlMVQu1opTjpNLqkuDPavfWlrUp069xTpzqNKEZSSctXpwRGzvYvU4uKlfI6AAcJAAAAAAAAAAAAExh\/vNtsvVfOMFD4fQpyY2Z9vaHPT5aV93T+1P6FOTqambZe7v1b+oABA0gAAAAAAAAExlf+usV\/4n\/iKcl8k1U2+xlOL4xotv0m\/kVBZPReRmocU\/P7IAHPf3tPHWNa7re5Sjvadr6l5vRFepobSV2Ye1OQr1ZUsHj3vXV37+nVDR6p+PwXebOMx9HF2FOzoauMFxk+cm+bZi7KWdav02cvtJ3N2\/YbS9mC4cOzs8EilLJu26jNQTm3Wlz08F+QACs1AAAAAAAAAA\/Gk1o1qmfoAJbZ1vF7QZDCvRUnJ1qK15J6cPRr0OLaK0q5zaapZUpNu2tXKMU+G9z07tdV+R3Z1\/YtrcTfLgqutGT079P8f5DZxO72lzF++MVPooS56rX6RRovbf8AA8txUv8Anf8Ab5WuaOzGSeTwlGpUnv1qetOo+vVcm\/FaM1yVsdzA7X17H3bfIRU6XYpceHrvL0KoqmrO6NmzybhaWqyYABA0AAAAAAAA5sjU6HGXVX+hRnL0TCON2VzB2L+9\/Sd0uMaty9GuT5v5lOYGxVFUtnKc0tOlqTm+\/jp8jfJ1OJlGyq1GPvUAAgaAAAAAAAAcWYyEMZiq93J6OEdILtk+CXqdSu7EZSUU2+RhYtrJ7b317HR0rWHRRa7eXykVRg7H2UrXCRrVN7pLqTqycuej5fXzN4lN52Kdmi1TxPV5\/wCgl9p3PKZOywVGTSnLpazi\/diteflq\/TuKStVhb0Klao9IU4uUn3Jak3spbzvry8z1xxnXm4UdeqP8aLyZ2GV5Edo32qS56+SKWlShRpQpU4qMIRUYxXUlyR9gFZqAAAAAAAAAAAAAAAJvbmkpYSnWXCdGvFp+Ka+h+7EUZRwsrmbbncVZS1fYuHx19T021lu7OVVp71SC\/PX5HZs7RVDZ6xglprSU\/wB7j8y2\/wC3bxMKhfbG\/A49rsbK7xiu6GquLN9JBrnp1\/DXyNHDZBZTE295ppKpH2l2SXB\/mjslGM4OElrGS0a7USuz0p4XPXWCqtulUbqW7fXw1+H904t6NuhZL9uspcpZfHl6FYACs1AAAAAAAzs\/PcwF89dNaEl6rQ0TK2nlu7OXr019jT1aRKPEius7U5PwZ87KR3NmrNaaezJ+smzXM3Z2O7s9YrXX7lP14mkJcTOUValFeCAAIloAAAAAAJTMVJZ\/P0cLQ1drby37qcddNetfLxfcdO0Geq0q0MTi\/vL+s91tf9vX5\/Dmd+CwlHC2jpxl0lapo6tR\/if04ssW6sTMlR9tLs46LX09TSjFRioxSSS0SXUfoBWazB2yvHa4GdKD0qXMlSSXNrm\/yWnmaWKslj8VbWi504JS5e9zf56mFm\/9o7XYzHcXTorpqi6u3j+6vUqSyWUUjLT3q059MvuwACs1AAAAAAAAAAAAAAAEnt5WlK1tLKnrKdWo57kVq3otF8SlsaXQWFvR03ejpRjp2aJInbVxze2la5T37bHw6OKfFOXFfHe49yKksnklEyUFiqTq9cl8ATu1lpWpxtsxaL7+xlrJdsOv0+DZRHxVpQrUp0qkVKE4uMovrT5ojF2dy+rT7SDieVjd07+yo3VP3asVLTXXR9a8mdBK4CvPDZivs\/cNum26ltOXWnx09PzTKoSjZkaNTHC71WT8wACJcDill7GGQ+wyrJVuHDTrfJeJ2SkoxcpNJJatvqIiyxL2js8tetLfrVtbZ6acY9\/Y9UicYp5sz1qk4NKCu39i4MTbGSjsxdJ\/icEv30xsxlpZGwdCvwu7X2KqfPsT\/I8ttm1s5US66kE\/U7FWmkyNWop7PKS5pmpiIuGGsYvmremv\/ijsOexSjj7aK4JUopeiOgg9TRBWigADhIAGbkdoMZi24XNyukS\/VwW9L8uXmdSb0IynGCvJ2NInMvtBUqXKxWF++vJvSVRcY0u3z+Byzv8AN7SqVCxoOxsppa15+9JPTk\/DqXqbuJw1phrforaGs2vbqS96fj9CdlHXUzOcq2VPKPX09TnwWz9HERdWcunvKi+8rPj4pa9\/qbABBtt3ZohCMI4YrIAA4TJfGL7Tt1k68uPQ01CKfV7q+T9SoJjB\/wDWGZ8viU5OpqZtm4G\/F\/UAAgaQAAAAAAAAAAAAY20uZWLx7hRlrd11uUor3lr+Ly+Jp3VzSs7Wpc15btOlFykybwNtWzWWqZ+9jJU4txtIPThHj8NfXUnBLiehmrzeVOGr+S6mrs5iP0PioUZpdPUe\/Vf9Z9Xly9TVAIttu7L4QUIqMdEAAcJGLtJhp5O0jXtXuXtq9+jJcG9OOmvw7z92ezqy9vKnWj0V5Q9mrTfBvvS\/jQ2TAzOz9avdrJ4qv9mv48+qNTx\/jR9ZYmmsLM1SEoT7SGfVdfyb4Jqx2voQirfMQqWl1DhNuD3ZPlqtPDwPS\/2wsaVBLH63txN7sIQi9E+rX6I52cr2sd\/U0cOLF6\/4fm1eRkreGItJb13etQ3V+GD5vz5eGpr4yxhjcdRtKfKnHRvtfW\/UzMDhK1G4qZbJS37+4XFNfql2Ly0XcuBvCTSWFHKUZSk6s1ZvRdESuYpzwOfpZqhFu3uH0d1FJvTv9Fr4rvOjbOcamzTqQkpRlODi11o272zoX9pUtbmG\/TqLRr5o\/n+ZlfYiyq4K6Tq27mp21Z\/0U+X+XV5lkN5rqjNtN6MZr+Mvk\/yf0Cy\/4G3\/APFH4HueFi07C3aeqdKPwR7lL1PQjwoExnZSyu0FrhI1alOjuOpWdNpaPR6dXd+ZTSkoxcpNJJatvqJnZ2KyWcyGakpOEmqVFyXV16ei9WThldlG0b2Gn1fyWp9VNka1WpPfzV26c3q4ceWvLnp+R243ZbFY2SqQo9NVXKpVe814LkjYBxzk8rko7PSi7qOYABAvAAAAAAJfG60NvMlRfBVaSmu\/3X82VBLbUb+OzGNzMHNQhPoq3HVKOvZ3py9CojJSipRaaa1TXWWTzSZlobrnDo7\/AO5n6ACs1AAAAAAAAAAAAEpkVW2lz\/6Mg5xsLNp3Ek\/ffNfRebKijSp0KMKNKChTglGMVySPO2sre0lVlQpRputPfnoubPclKV8kU0qeFuUtX7SAB+SkoxcpNJJatvqIlxj3+aq0NoLLFW9OnN1vaqt66xjx5eSbNkldnU8ptFkcxLV04voaLb1Wnd5JfvFUTmksjPQlKac3o3l5AAEDQeFxZWt2v5Rb06vDTWcU3\/HF+p822OsrN621pRovthBJ+p0g7dkcMb3tmAAcJAmtu3FYKGqWrrxSbXc\/oUpMbff8jo\/tMf7sidPjRm2vuJeR5UsVndn\/APlc43dq\/alb1WtVy105cefJ+R6LbGpQW7fYa7o1Fz0XBvz0KgHcafEjioShlTk0umpJ18vk9o6crPG2VS2oVPZqXFTg0nz7u3Xi3xKLG2FLGWFK0o8Y01xlok5Prb0OoEXK6siynSwvFJ3YABEuAAAAAAAAAOTJ2FPJY6taVOVSOif9F9T9TF2UyFSmqmDvfZurRtR1fvR7vD4aFKYe0GBlkNy9sZ9DkKHGE1w3+5v4E4tWwszVoSUlVhquXVG4DEwW0Eb9fZL2P2e\/p8J05cN7TrS+RtkWmnZl1OpGpHFEAA4TAAAAAAAAAAAABhbW5KVjiXQo6u4un0dNR56fifpw80bkpKMXKTSSWrb6iSsP949rKl+\/as7D2aPZKXU\/XWXoTgs7vkZtok8KhHWWXqyhw+PhjMVQtIrRwjrN9snxb9TtAIt3dy+MVFKK5AAHCQAAAAAAJjbvSWJtqfXK5j\/dl9SnJjbXSVPHQfKVytV2k6fEjNtfcyKcAEDSAAAAAAAAAAAAAAAAAAZGY2dtMvJVm3RuYrSNaHPu1XXoZiyma2fn0eVoO9tVyuKPNc3x17urhy5lUCanlZ5medBOWKDs\/eqMyw2ixWR0VC7gpt6dHU9mXo+fkaZj32y2Iv25TtlSm3q50Xuv05fkZy2czGM44nMScE9ehrLhpp5r8l1HbRejI460OKN\/L0ZUgl1ktrLThcYmlcxX4qT4v0b+B+rbN0Xpf4e8tn4a+HNI52cuR39VTXFdeaZTgnFt1h29N24Xf0a+p9f674b+nW\/9sdnLod\/VUf7IoQTstuMPHTTp5eFP6s86m3WP3fuLW6qy04eykvXXwHZy6B7VQX8kUx5169G2pOrXqwpU485TeiRN\/pvaO94WOD6Fc96u9OHnofa2UrX9SNbN5CrcyT4U4ezHT+OzQ7gtxM527l3cW\/PJHLfZK72qk8diaU4Wm8unuZcNV2afnpzfdxKewsaGOs6drbwUYQWni+tvvPu2tqFnQjQt6UaVOC0UYrRHqclK+S0JUqTi8c3eT95AAEC8AAAAAAAAAExtp\/Nn7SvkU5MbafzZ+0r5FlPiRm2vuX75lOACs0gAAAAAAAAAAAAAAAAAAAAAAAAAAHm7ehJaSo02uxxR8uztXztqL\/sI9gLnMK6HlG1t4a7tCnHXsgkfcYQhruxjHXsWh9ACyQAAOgAAAAAAAAAHNeZCzsIKV3c06KfLelxfguswau187ufRYXHVrueujnOOkV6fPQkot6FM61OGUnn8ynBn4Z5R2cpZZU413NuMYaezHsenmaBxqzLIyxK9rAmNtP5s\/aV8inJjbT+bP2lfInT4kUbX3L98ynABWaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcmTsp5CxnbU7mpbSk0+kp81ozqOSbSulc6ZSjCLlOSjFc23okZtztJhrXXpL+lJrqpvf+GpmrYm2qy3rzIXdw++SXhz1NG12Zw1o9adjTlLtqaz+JO0FzM+LaJaRS83f6GbLbJ3MtzF4q5u2nxbWiXpr3n50W1+SlpUq0MdSfNQ0ctO7TV6+aKaMYwiowioxXJJaJH0MaWiHYTlxzfwy\/JO2WxmPoT6a8nUva2urlUekW\/D6tm9Ro0remqdClClBcowikl5I9ARcm9S2nShT4VYAAiWAmNtvZpY6o+Ubla\/x5FOTG3ns4i2qLnG5jp+7L6E6fEjNtfcyKcAEDSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACc25i5YCOkdd2vF8uXBlGYe2NPf2ZuXpq4OEuX9ZL5k4cSKNpV6MvI2KEt6hTlrrrFPXt4HoceJqdLh7KprrvUIN8dfwo7CL1LYu8UwADhIAAAAHjdXdvZUJV7mrGlTjzlJg42krs9jHy201him6Tl09xy6Gk9Wn3vq+Jl1Mhl9pa7pYrW0sIvSVzJaOfd\/kvNmvitncdiYxlRoqdZLjWnxl5dnkWYVHiM3azq5Usl1f2XMy4VNqc1BSh0eLoS7V7bXnx+Bs4fH3GOtpwub6peVJz3nOevDglotW+w0Accr5E4UVF4m2375aAAEC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHheWlG\/tKlrcRcqVRaSSeh7gHGk1ZnlbW9O0tqdvRju06UVGK110SPUABK2SAAB0AAA5clkKWLx9W8rJuNNe6ubbeiXqTdljL7aW5WQzO9Ts096ja6tJrt8O\/m+5FJkf+Cl\/6of3kdRNSwrLUzzpdpPeeS5ep8UqNOhSjSowjTpwWkYxWiSPsAgaNAAAD\/9k=",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "CAMILA VELIZ",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56936380484",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28688\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28688\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28688\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28688\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:34",
    "ubicacionGPS": "LatLng(lat: -22.4407086, lng: -68.8856864)",
    "horaLlegada": "12:26",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/05/2026 12:34:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[15/05/2026 12:34: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('76050301', 'EP2645', 1, 24456550, 0, NOW(), 
				'08:00', '12:26', '12:34', 10, '•Entrega de insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778862895.png', '•Entrega en puerto seco', null, 'COMPLETADO','LatLng(lat: -22.4407086, lng: -68.8856864)' )
				
[15/05/2026 12:34:55] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200331
[15/05/2026 12:34:55] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200331', 'EPS-I302', 2)
				
[15/05/2026 12:34:55] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28688 and
				    IDproducto = 'EPS-I302'
				

15/05/2026 12:34:55 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I302';
                [15/05/2026 12:34:55] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200331', 'EPS-I303', 2)
				
[15/05/2026 12:34:55] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28688 and
				    IDproducto = 'EPS-I303'
				

15/05/2026 12:34:55 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I303';
                [15/05/2026 12:34:55] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200331', 'EPS-I304', 2)
				
[15/05/2026 12:34:55] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28688 and
				    IDproducto = 'EPS-I304'
				

15/05/2026 12:34:55 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I304';
                [15/05/2026 12:34:55] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200331', 'EPS-I305', 2)
				
[15/05/2026 12:34:55] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28688 and
				    IDproducto = 'EPS-I305'
				

15/05/2026 12:34:55 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I305';
                
15/05/2026 12:34:55 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200331'                    
				WHERE idllamado = 12589			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


15/05/2026 12:34:56 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12589			
				
15/05/2026 12:34:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 12:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                
TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 12:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12:34:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12589
            GROUP BY l.idllamado;
            

15/05/2026 12:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12:34:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12589
            GROUP BY l.idllamado;
            

[15/05/2026 12:34:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12:34:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12589
            GROUP BY l.idllamado;
            

[15/05/2026 12:34:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12:34:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12:34:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12589
                

15/05/2026 12: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 = 12590
                

15/05/2026 12:35:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

[15/05/2026 12:35:00] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:35:00] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:35:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

15/05/2026 12:35:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12590
                

15/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/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 = 12590
                

[15/05/2026 12:35: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;
                

15/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

15/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

15/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

15/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

15/05/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 = 12590
                

[15/05/2026 12:35: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;
                

15/05/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 = 12590
                

15/05/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 = 12590
                

15/05/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 = 12590
                

15/05/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 = 12590
                

15/05/2026 12:35:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

15/05/2026 12:35:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

15/05/2026 12:35:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

15/05/2026 12:35:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

15/05/2026 12:35:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12: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 = 12590
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12590
                

15/05/2026 12: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 = 12590
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12590
                

15/05/2026 12: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 = 12590
                

15/05/2026 12: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 = 12590
                

15/05/2026 12:35:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

15/05/2026 12:35:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

15/05/2026 12:35:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

15/05/2026 12:35:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

15/05/2026 12:35:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:53 - logentry: =========================================
FECHA: 15/05/2026 12:35:53
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-pJmXZJhWXTy08vziUD5Cn2fOH6+-c5LAQ1Tny1CpsKBciG9miBp
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2456",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12590",
    "observacion": "•Entrega en puerto seco",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD2AVkDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABHEAACAQMCAwMIBQgIBgMAAAAAAQIDBBEFBhIhMRNBkSJRYXGBobHBFBUjMtE2QlJzkrLh8AckMzRDcsLxJTVigqLSFnTi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMxEAAgECAwUGBQQDAQAAAAAAAAECAxESITEEMkFRcSJhgaGxwRMUNJHRM0Lh8CNS8XL\/2gAMAwEAAhEDEQA\/AP2YA+SkoxcpNJJZbfcAfJThDHHJR4nhZeMvzHIkYyqbt11Si1DTtOqZTX+K8\/PHsXrK4lKOEppVfiXaWXDvAAIlwAAAAAAAABgajq91pO4reFzJPTrqPDF8K+zl6\/Xj2P0G+Zm4NMjqukVqHDmrFcdJ96kunj09p0bW1R6npEFUf29v9nUz1eOj9q9+SbV43RmjJwquEnk817o2gAQNIAAAAAAAAAAAAAAAAAAAAAAAAPFeatZ2F1bW1xUcaly+GmlFvnyXPHnbPaSunOWubuuL9pu2sF2dJSXLi5rPxfgSir3bKatRxwxjq3\/0qgARLgAAAAADK3LcXFpoFzXtajp1YKOJLqlxJP3Hr0y4ld6Xa3E3mdWjGUn6WufvOjcFPtdv30cZxRlLwWfkdO1ajq7as5Nt4i48\/RJr5E7djxM938xbhb3NcAEDQCa3XeVq\/Y6HY4nc3b8tJryYLnz83n9SZQXNxTtbapcVpcNOnFyk\/Qic2nbzvri61+6i+1uJuNLLylH0eGPYWQy7T4GWu3JqkuOvTib+n2NHTbGlaUIpRpxSbxjife36WekAreZpSSVkAADoAAAAAAAAAJSmnom95w4OG21JZjjopf75\/aKsm97UJrTqF\/SX2lnWUk8dE\/4qJZT1tzM20q0Ma1jn+fIpAddvWjcW1KvH7tWCmueeTWTsKzSnfMAAAAAAAAAAHVc3FK0tqlxWlw06cXKT9CBxu2bOcpRhFynJRiurbwkcaVejXjxUasKi88JJ\/D1EnStr7eNT6Tc1J22lxn9nSXWeMr+X4HZqm35aLR+stEnVhUoc50nLii488v3\/ABLMC0bzMvzE2scY9nz6pFYDx6VqFPVNOpXlLkpryo\/oyXVHsINWyNUZKSTQABw6AAAZuv6h9WaLcXCb4+Hgp4\/SfJP2dfYdG1dP+r9CoKUWqlZdrPK55fT3YM\/cf\/Fdf07RYqTpxfbVsdMf7J\/tFSWPKKXMyw7dZy4Ry\/IABWagAAAAADz38VPTrmL6OjNe5mRsqTltymn+bUml4mxe\/wBxuP1UvgYuyPydh+tkWLcZml9RHo\/YoQAVmknd4V68rS20y2\/tb+rwexYz72vZk3LO2hZWdK2prEKUFFHbhPGV06H0k5ZWKo07VHNvUAAiWgAAAAAAAAAAAAzNx0u229fR58qTly9HP5GmdF7T7WxuKfTjpSj4o6nZkKixQaPDtir223LKXmhw+Da+Rqk9sipx7dhH9CrKPz+ZQnZq0mQ2d3pRfcgACJcAAAAAACX3bcVb25tNAtX9pcyU6r80c8vg2\/UioJfQ0tR3ZqeovLhQ+xpvnh93L2R95ZDK8uRm2ntJU1+5+XEo7a3pWlrStqMeGnSioxXoR2NJrDWUz6Cs0JJKyJfbTem61qWiyk+CMu2orGFjv9zj4MqCX1L+ob50+6w1C7h2Un55dPnEqCyednzM+zZKUOT8tUAAVmkAGXuO8+g6DdVU8SlDgj65cvnk6ld2IzkoRcnwMnay+sdY1PWZLKnPs6Teen+yiVRlbZs\/oWgWtNpqc49pLPnlz+GDVJTd5FWzxcaSvq834gAEC8AAAAAA6L3+43H6qXwMXZH5Ow\/WyNm\/koadcyfRUZv3MyNlRcduU2\/zqk2vEsW4zNL6iPR+xvgArNIAAAAAAAAAAAAAAAAAAAABMbE8nSrml14Ll8\/P5MfwKcmNjf3G9\/8Asv4IpyypvMzbJ+hEAArNIAAAAAB11qnZUKlTGeCLl4In9jUlHRJ1m3KdatJyk+vLC\/n1m1qXLS7t4z9hPl\/2szNmfk1Q\/wA0\/wB5k1uMzSz2iPR+xugAgaSZ3tF0rSyvY\/et7lPxWf8ASiljJSipLmmsoxN40VV23cPGXTcZr9pL4NmjpVZ3GkWdZvLnQg368LJN7iM0Mq8lzSfqj1gAgaQS+7pO8vNN0iD\/ALerxz54wunzl4FQS7SvP6ROaz9DtvDK9\/3yynrfkZtpzgoc2kU8YqMVGKSSWEl3H0ArNIAAAAAAAAB49Xk4aNfSXVW9R\/8AizwbOio7YtWvznNv9to9W4J8G3758\/7GS5elYOna0eDbdksY8hvxk2Wfs8TM\/qV\/590a4AKzSAAAAAAAAAAAAAAAAAAD42kst4SPp57+qqGnXNZvCp0Zyz6k2DjdlcwNieVpVzV6cdy+Xm8mP4lOT+yqfBt2EsffqSlnz93y9xQE6m8yjZVajHoAAQNAAAAAAB5dT\/5Vd\/qJ\/uszNmfk1Q\/zT\/eZp6n\/AMqu\/wBRP91mZsz8mqH+af7zLFuMzP6hdH6o3QAVmk8GuU+10K+jjP2E2uWeiyebadRVNtWbXcpRfPPSTRoX0O00+5hz8qlJcvUzH2TPi25TXLyak178\/MsW4ZnltC6P1RQAArNIJfbC+la7rF\/yw6vZw5d2X8kijuqytrStXeMUoSm8+hZMHY9v2ehOu0+KvVlLL70uXyZZHKLZmqZ1oLld+3uUYAKzSAAAAAAAAAYW8qvZ7auI881JQjy7vKT+RpaVR7DSLOl14KEE353hGHviXHY2drnHbXK9ya+ZTJJLCWEix7iM0M68nySXqz6ACs0gAAAAAAAAAAAAAAAAAAx911+w23dvPOaUF6ctJ+7JsExvGTup6dpMG+K6rpyx3Jcvnnp3E4K8kUbTLDSl9vvka+g0JW2hWVKSxJUk2vM3z+ZoHGMYwgoRWIxWEvMjkRbu7lsI4YqPIAA4SAAAAAAPLqf\/ACq7\/UT\/AHWZmzPyaof5p\/vM1r2HaWNxDGeKlJY8\/IxdkT4tuwWc8FWS9Xf8yxbjM0vqI9H7FCACs0nXcNRtqsnySg2\/AwNjJrb7b760mvBG5e\/3G4\/VS+Bi7I\/J2H62RYtxmaf1Eej9ihABWaTK3PcO225eTT5yhwftNR+Zz29Q+jbfsqeMZpKTXpl5XzMzfE5PSqFtD79e4ilnzYfzwUVKmqVKFNdIRUV7CbygjNHPaJPkkvucwAQNIAAAAAAAABMa+1dbq0ayxns5Os16M5\/0MpyXs2r3ft3WT8i0o8C9fJfORUFk+CM1DNzlzfpkAAVmkAAAAAAAAAAAAAAAAAAErQf1rvyrVxxUtPp8Czhri6fFy8Ci1C7jY6fXupdKUHLpnL7jF2XaSpaTO8qr7W8qObeMPC5L35ftLI5RbMtXt1IQ8X4aeZRAArNQAAAAAAAAB8lFSi4vmmsMmdhyf1PXpS6wuH+7H+JTkxtbFDWdatP0a\/Eu7lmXd4E47rM1TKtB9V5fwU4AIGk82pT7PTLqfLyaM3z\/AMrMrZcOHbdF8\/KnN+\/HyPbr9TstAvpY60JR8Vj5nTtWn2W2rOPni5eMm\/mWfs8TM89oXR+qNcAFZpJjdX2usaHbdVK4zJejMf4lOTGr\/a730miusYOb9XlP\/SU5ZLRIzUc6lR9\/sgCL3nfXVPVLelZ1pqVGk6s4wljHPPPwyVOmXsNR02hdw6VYZfofRrxTOODUUyUK8Z1JU+R6wAQLwAAAcak40qcqkvuwTk\/UjkY27Lz6Ht64w8SrJUo+3r7snYq7sQqTwQcnwPFsqnKrbXuozWJ3dw31zyXP4yZTGfoVp9B0S0t3ylGmnJel8372aB2bvJshs8MFKKYABEuAAAAAAAAAAAAAAAAAAJneVepWo2ukUE3VvaqzjuSa+ePBlFb0Kdtb06FJYhTioxXoRM6XjWt33eouMuxsl2VHPRvms\/vPHpRVFk8komWh25Sqc8l0X8gAFZqAAAAAAAAABMUv6l\/SDVi+l7b5ivSkv\/RlOS+6GrDWNK1V\/dhU7Obb5Jf7OXgWQ1sZtpyip8mmVAAKzSYO86zpbbrRX+JOEevpz8jT0ui7fSbSi+sKEIvljmoowt5v6TPTdNXN3Fwm0vN09n3n4FQWPKCM0M683ySXuAAVmkmI\/b\/0iSxz7C25+jkv\/YpyY0X7beesV3zcEqefBf6SllKMIOcniMVlvzIsnqkZtm3ZS5tkzY043u+NTnUip06dBUuF+lRT+EvE5bNnOgr\/AEycm\/olbyeLrht\/h7xsqMqtre6hNYndXDbz5lz6+uTPlNuw3\/UUsqnf0PJ8zkkv\/V+JN8Y\/3IzU8lCrzb8\/6inABQekAAACV3CvrTc2m6SlxU4fa1Vw55eZ+xe8qiX24vrLXtS1iSzDi7Ki3z5L1ehLx8bIZXZl2jtYafN+SzKgAFZqAAAAAAAAAAAAAAAAAABj7n1NaZotWSa7Wsuypr0vq\/Ys+42CR\/KTeH6VlpnhKWfm17VEnBZ3fAz7RNqOGOryX97jb29pq0vRqNu4pVGuOp6ZP+GF7DTAIt3dy6EVCKiuAABwkAAAAAAAAADI3TafTNvXUUsypx7SPLzc\/hk1zjOEalOVOcVKMk1JPvR1OzuQqRxwceZ4Nv3f03QrSu5OUuzUZN9W1yfwNEmdo1JWlW+0Wq25WtVyg33xfL8H\/wBxSTnGnTlObxGKbb8yJTVpFdCeKkm\/HwJmo1qW\/wCnBeVTsKOXh8uL\/eS8CoJnZ8HcvUNWmnxXVdqOe6K5\/PHsKYT1tyI7NnBz\/wBm3+AACBpJjavl6xrtb9K5ws9V5U\/4GzrVb6Pot7VzhqhPHrawveY2y\/LjqVXqp3L8rz\/zk7963HY7fnSTSdepGC8c\/IuavUsYacsOyuXX1Z3bRodhtu2z1qcU3z87ePdg8u87aasaGp0Hw1rKopJpdza+eDb062+h6dbW2MOlSjF+tLmdtehTuaFShVjxU6kXGS86ZDFaeIt+DegqfccbS5p3lpSuaT8irBTXoyjuJPRbqW3NQnol\/JqjOXFbV5ck89389\/rKw5KNmTo1PiRz1WvUAHTd3dCxtp3NzUVOlBZbZEtbSV2ZG7dTen6S6NJv6Rdvs6aXXH5z8OXraPZoWm\/VWkULV86iXFUefznzf4ewxdIo1dx6v9eXcOG2oPhtaTfen19nx9RVlkuysJmo\/wCSbqvTRdOfiAAVmoAAAAAAAAAAAAAAAAAAxdz6vLStN4aOXc3DdOko9V55ezl4o79A0iOj6ZCh1qz8uq\/+rHT1IxrCK3FumpqMnxWlg+CguWJNdH48\/ArCyXZWEy0v8k3Vemi934gAFZqAAAAAAAAAAAAAAAJXXoPR9xWetwfDSrSVG4+GfBf+J7d3XytdAqQhJOdy1Sgk+qfXp6PiaGrafDVNMrWc8Jzj5Mn+bJdH4kdpDvda1WxsLuGKWlpuopd7Tws+nkl7GXRtJJvgedWxU5ShH9+nXj+Sw0Wy+rtHtbVrEoQ8r\/M+b97Z7gCpu7ub4xUYqK4A4VaipUp1H0hFyfsOZ5NVqOlpF5UXWFvOS9kWFqJOybMXYlNw0Gcn+fcSkvCK+Rw1vGp7q03TFlwo5rVe709fZ7\/D17NpqG2beS\/PlOT\/AGmvkeTav\/ENU1PWZf4lTsqb\/wCnr3+jhLXvSkYIq9KlT52+yzKgAFJ6J4tU0q11e0dvcx5dYzX3oPzowIU9x7exSpU1qllFvCWeNLzeddPSisBNSaVuBRUoqTxJ2fNEvLdmoSfBR29dObeFnOP3TgtF1XcFzCvrc1QtoYcLak8Z9fm9fXzFWDuO26rEPl3L9STa5aHClSp0aUaVKChCCxGMVhJHMArNQAAAAAAAAAAAAAAAAAAMHdmoztrCNlbNu6vJdnCMXzw\/bn0G8eCvpFC51WhqNSdR1KCxGGfI7+ePPzJRaTuyqtGUoOMeJy0nT4aXplGzhhuEfKkvzpPq\/E9oBxu+ZZGKikkAAcOgAAAAAAAAAAAAAAHi1bUIaXpla8nhuEfJi\/zpPovEi7SlqGi0rXcc3OcLmTdzHPNxk+T9vX1485q643r+47bRacm6Fu+0uWun84ePXIp6tvRr20rarTjKjKPC4Y5Y8xcngXUwSg68207YdOv9yPtvXpXVvTr0ZKdOpFSi13o7CQsLqptTVHpd7LNhXk5W9Zv7nr+fj3lcmmsp5TK5RsaaNX4izya1R9Mvck+Dbt684zSx48jUMLeVRQ2zcRf58oRX7SfyEN5Cu7UpPuZ4Z6gtJ2HbtYVWtS4Kab75Zy\/Ynk2NvWD07RLehOHBUceKom+knzZNaPTnuHU7Jyi3Y6XRhHmuU5pL4tL2L0lwTqZZGfZljePglZe7AAKjcAAAAAAAAAAAAAcZSjBZlJRXpeDkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADJ3FrK0iwzTxK6rPhoQxnL5Zfsz8DSrVqVvRnWrTUKcFmUpPkkTGkUp7i1qetXMf6rQfDa0231T5P5+v1E4pavQz15tWhDefl3mjtnRvqrT+0rLiu7jy6smvKjn832fE2gCLbbuy2nBU4qMeB5NR0211S2dvdU+KOcp98X50T1GGtbXm6ajLUdOSbio546a8Hj1dPVzKwHVK2XAhUoqTxJ2fMnqe9dKlTbqqvRnHlKEqfNPzZ9hh7m3BW1SydGhZ1KdmqizWqxw5S58vR3+foW87S2qT4529KUs5y4Jsnt9+VpVtS6cdyufm8mX4lkHHErIy7TGt8GWKXlqbWkafQ0zTaVtQT4ccTb6yb6tntAKm7u5ujFRSSAAOEgAAAAAAAAAAACW1dy1PeOn6epSVO2Xa1MSxz6\/BJe0qSW2tm\/1jVNXfOM59lTfPp1+CiVJZPKy5GXZu0pVOb8tET91qN1p27KFK5rSlY3dPhpJpJQnlePPHX9IoDJ3JpP1tpcqdP+8Unx0XnvXd7Ufdu6stW0uE5P7el5FaL68S7\/AG\/icavG6Owk4VXCXHNe6NUAEDSAAAAAAAAAAAAAAAAAAAAAAAAACW1zWa+oXf1Hozcqs3ivWj0gu9Z+L9hKMXJlVWqqcbv\/AKdWq3NXc2rfUtnPhtKL4rislnLXcvby9fqKm2t6VpbU7ejHhp04qMV6EebSdKt9Iso21vHn1nNrnN+dnuOyknktCNGm1ec95+XcAAQLwAAATG8vKnpcF96VysLw\/EpyY3V5etaDS6p3OWv+6H8SynvGba\/0X4eqKcAFZpAAAAAAAAAAAABm7hvPoOhXdbKUnBwjnzy5L4mkTG8pu4enaXBvN1XTkk+eFy\/1e70E4K8kUbRNwpSa1NHbFm7Lb9rTnFxnOLqST\/6nn4YNY4xjGEFCKxGKwl5kciLd3cshFQiorgCS1alU21rUNYtov6Hcy4bmnHon5\/mvTnzladdxQpXVvUoVoqdOpFxkn3o7GVmQrU\/iRyya0FGtSuKMK1GanTmsxlF8mjsJGzuau0b\/AOrr2Tnp1aTdCu19x9+fn4lbGSlFSi001lNd4lG3QUquNWeTWqPoAIlwAAAAAAAAAAAAAAAAAAOM5wpwc6klCMVlyk8JGfq2u2Oj083NTNR\/dpQ5yf4e0w4WGrbpqKtqMpWWn5Thbx+9Jfz3v2Imo3zehnqV0nggry5fnkc73W7zXbiWm6FGUYZxVu3ySXofd6+vmNnRdEttEteyo+XUlzqVWsOb+S9B67Oyt7C2jbWtNU6cOiXxfnO8OWVloKdFqWOo7y9OgB8TT6PJ9IGgAAAAAAExr3l7s0WD6KTl7\/4FOTGpeXv\/AEuHTFByz7J\/gWU9TNtO4lza9SnABWaQAAAAAAAAAAAATFb+u\/0gUab5xsqHE0u5tdX+0vcU5L7fbut16zd4yoS7JSfrx\/p+BZDRszV85QjzfpmVAAKzSAAAee9sbfUbWVtc0+OnL2NPzp9xMRuNT2hONO5Tu9K4sQnH70PMv4dCvPkoqUXGSTTWGn3k4ytk9CipRxPFF2lz\/J57HULXUrdV7StGpFpZSfOPoa7mekm73aShX+maNdSsrhLCjnMHyxjzr3+o6o7i1fSsx1rS5ygnhV6C5fh70dwJ7pD48oZVVbvWa\/gqQZdjuPSb\/Co3kIzefIqeQ\/eahBprU0RnGavF3AAOEgAAAAeC61zSrPPb39GLXWMZcUl7FlnUm9CMpRirydj3gm628qNSfZaZY3F7Ufmi4x+b6+g6\/o+69W\/t7ilplJ58ml973c\/eiWB8cih7TF5QTl0\/Oht6hq1jpdPjvLiNNtZjDrKXqXUwnq+t68+DR7X6HbPl9JrdWvR\/DPrPbYbS060q9vccd7Xby513lZ9X45NxJJYSwkdvGOmZzBVqbzwrktfv+DE0ra1pYVfpVzOV7dt5dWrzw\/Ol83k3ACDbepfCnGmrRVgADhMmbjb2p2V5VvdG1KSdWTnKhW5xk28v0d77vacaO7LixqOhrunVLaa5KrTjmL\/nHVNlQcKtKnWpyp1acakJLEoyWU\/YWY77yMzoOLvTlbu1R57PVbDUEnaXdKq3+apeV4PmeswrzZ2j3WXCjK3m++lLHueUeT6h1\/TnnTdZ7WC5qlcZ8OeV8OowxejHxK0d6F+n4ZUAl3qm6rSfDX0mlcRXSVLq\/Bv4Bb2hRko3+lXVq84ffjxSHw5cB81TW9ddUyoJi58r+kS0zz4LZ49HKf4s1tL1yx1jtFaVJOVPHFGUWsJ9DJl5X9Ikc8+C25ejk\/xYimm78iNaUZxg4u6xIpwAVmsAAAAAAAAAAAA+NpLLeEiZ2OnUs727f+PcvqufTPzKC9\/uNx+ql8DF2QktuxwutWWSxbjM0868F3P2KEAFZpAAAAAAB8aTWGspgAGVebZ0i9blUs4Qm+sqXkN+HIzVtC4teWm63dW8f0HzT8GvT3AE1OS4meez0pZ4c\/t6H36r3ZRWKOtUJpvn2kfxizplLdkG4PULRyi8PyP\/AMgFys+B587xdk392Iy3ZOSgtQs05PCfB0\/8Tuek7rr4VfWqUFnm6S7vZFAB2WiFO8nZt\/dnz\/4hcXWPrHW7q4j3xXJe9v4HvttpaLbJf1RVZL86rJyz7OnuAKXOXM9COzUlnh++fqatKjSoR4KNKFOPmhFJe47ACBo0AAAAAAAAAAAAAAAB8aTWGspgAHClQo0eLsqUKfF14IpZOr6vtVqDv+xX0lw4O0y\/u+rp7QDt2cwrkekAHDoAAAAAAAAAAABwrU1WozpN4U4uOfNk8OhaU9H02NpKsqrUnLiUcdQDt3axBxTkpcTRABwmf\/\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "CAMILA VELIZ",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56936380484",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28689\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28689\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28689\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28689\",\"cantidad_usada\":3,\"cantidad_asignada\":3}]",
    "horaSalida": "12:35",
    "ubicacionGPS": "LatLng(lat: -22.4407041, lng: -68.8856832)",
    "horaLlegada": "12:26",
    "horaDespacho": "12:34",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 15/05/2026 12:35:53
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-pJmXZJhWXTy08vziUD5Cn2fOH6+-c5LAQ1Tny1CpsKBciG9miBp
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2456",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12590",
    "observacion": "•Entrega en puerto seco",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD2AVkDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABHEAACAQMCAwMIBQgIBgMAAAAAAQIDBBEFBhIhMRNBkSJRYXGBobHBFBUjMtE2QlJzkrLh8AckMzRDcsLxJTVigqLSFnTi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMxEAAgECAwUGBQQDAQAAAAAAAAECAxESITEEMkFRcSJhgaGxwRMUNJHRM0Lh8CNS8XL\/2gAMAwEAAhEDEQA\/AP2YA+SkoxcpNJJZbfcAfJThDHHJR4nhZeMvzHIkYyqbt11Si1DTtOqZTX+K8\/PHsXrK4lKOEppVfiXaWXDvAAIlwAAAAAAAABgajq91pO4reFzJPTrqPDF8K+zl6\/Xj2P0G+Zm4NMjqukVqHDmrFcdJ96kunj09p0bW1R6npEFUf29v9nUz1eOj9q9+SbV43RmjJwquEnk817o2gAQNIAAAAAAAAAAAAAAAAAAAAAAAAPFeatZ2F1bW1xUcaly+GmlFvnyXPHnbPaSunOWubuuL9pu2sF2dJSXLi5rPxfgSir3bKatRxwxjq3\/0qgARLgAAAAADK3LcXFpoFzXtajp1YKOJLqlxJP3Hr0y4ld6Xa3E3mdWjGUn6WufvOjcFPtdv30cZxRlLwWfkdO1ajq7as5Nt4i48\/RJr5E7djxM938xbhb3NcAEDQCa3XeVq\/Y6HY4nc3b8tJryYLnz83n9SZQXNxTtbapcVpcNOnFyk\/Qic2nbzvri61+6i+1uJuNLLylH0eGPYWQy7T4GWu3JqkuOvTib+n2NHTbGlaUIpRpxSbxjife36WekAreZpSSVkAADoAAAAAAAAAJSmnom95w4OG21JZjjopf75\/aKsm97UJrTqF\/SX2lnWUk8dE\/4qJZT1tzM20q0Ma1jn+fIpAddvWjcW1KvH7tWCmueeTWTsKzSnfMAAAAAAAAAAHVc3FK0tqlxWlw06cXKT9CBxu2bOcpRhFynJRiurbwkcaVejXjxUasKi88JJ\/D1EnStr7eNT6Tc1J22lxn9nSXWeMr+X4HZqm35aLR+stEnVhUoc50nLii488v3\/ABLMC0bzMvzE2scY9nz6pFYDx6VqFPVNOpXlLkpryo\/oyXVHsINWyNUZKSTQABw6AAAZuv6h9WaLcXCb4+Hgp4\/SfJP2dfYdG1dP+r9CoKUWqlZdrPK55fT3YM\/cf\/Fdf07RYqTpxfbVsdMf7J\/tFSWPKKXMyw7dZy4Ry\/IABWagAAAAADz38VPTrmL6OjNe5mRsqTltymn+bUml4mxe\/wBxuP1UvgYuyPydh+tkWLcZml9RHo\/YoQAVmknd4V68rS20y2\/tb+rwexYz72vZk3LO2hZWdK2prEKUFFHbhPGV06H0k5ZWKo07VHNvUAAiWgAAAAAAAAAAAAzNx0u229fR58qTly9HP5GmdF7T7WxuKfTjpSj4o6nZkKixQaPDtir223LKXmhw+Da+Rqk9sipx7dhH9CrKPz+ZQnZq0mQ2d3pRfcgACJcAAAAAACX3bcVb25tNAtX9pcyU6r80c8vg2\/UioJfQ0tR3ZqeovLhQ+xpvnh93L2R95ZDK8uRm2ntJU1+5+XEo7a3pWlrStqMeGnSioxXoR2NJrDWUz6Cs0JJKyJfbTem61qWiyk+CMu2orGFjv9zj4MqCX1L+ob50+6w1C7h2Un55dPnEqCyednzM+zZKUOT8tUAAVmkAGXuO8+g6DdVU8SlDgj65cvnk6ld2IzkoRcnwMnay+sdY1PWZLKnPs6Teen+yiVRlbZs\/oWgWtNpqc49pLPnlz+GDVJTd5FWzxcaSvq834gAEC8AAAAAA6L3+43H6qXwMXZH5Ow\/WyNm\/koadcyfRUZv3MyNlRcduU2\/zqk2vEsW4zNL6iPR+xvgArNIAAAAAAAAAAAAAAAAAAAABMbE8nSrml14Ll8\/P5MfwKcmNjf3G9\/8Asv4IpyypvMzbJ+hEAArNIAAAAAB11qnZUKlTGeCLl4In9jUlHRJ1m3KdatJyk+vLC\/n1m1qXLS7t4z9hPl\/2szNmfk1Q\/wA0\/wB5k1uMzSz2iPR+xugAgaSZ3tF0rSyvY\/et7lPxWf8ASiljJSipLmmsoxN40VV23cPGXTcZr9pL4NmjpVZ3GkWdZvLnQg368LJN7iM0Mq8lzSfqj1gAgaQS+7pO8vNN0iD\/ALerxz54wunzl4FQS7SvP6ROaz9DtvDK9\/3yynrfkZtpzgoc2kU8YqMVGKSSWEl3H0ArNIAAAAAAAAB49Xk4aNfSXVW9R\/8AizwbOio7YtWvznNv9to9W4J8G3758\/7GS5elYOna0eDbdksY8hvxk2Wfs8TM\/qV\/590a4AKzSAAAAAAAAAAAAAAAAAAD42kst4SPp57+qqGnXNZvCp0Zyz6k2DjdlcwNieVpVzV6cdy+Xm8mP4lOT+yqfBt2EsffqSlnz93y9xQE6m8yjZVajHoAAQNAAAAAAB5dT\/5Vd\/qJ\/uszNmfk1Q\/zT\/eZp6n\/AMqu\/wBRP91mZsz8mqH+af7zLFuMzP6hdH6o3QAVmk8GuU+10K+jjP2E2uWeiyebadRVNtWbXcpRfPPSTRoX0O00+5hz8qlJcvUzH2TPi25TXLyak178\/MsW4ZnltC6P1RQAArNIJfbC+la7rF\/yw6vZw5d2X8kijuqytrStXeMUoSm8+hZMHY9v2ehOu0+KvVlLL70uXyZZHKLZmqZ1oLld+3uUYAKzSAAAAAAAAAYW8qvZ7auI881JQjy7vKT+RpaVR7DSLOl14KEE353hGHviXHY2drnHbXK9ya+ZTJJLCWEix7iM0M68nySXqz6ACs0gAAAAAAAAAAAAAAAAAAx911+w23dvPOaUF6ctJ+7JsExvGTup6dpMG+K6rpyx3Jcvnnp3E4K8kUbTLDSl9vvka+g0JW2hWVKSxJUk2vM3z+ZoHGMYwgoRWIxWEvMjkRbu7lsI4YqPIAA4SAAAAAAPLqf\/ACq7\/UT\/AHWZmzPyaof5p\/vM1r2HaWNxDGeKlJY8\/IxdkT4tuwWc8FWS9Xf8yxbjM0vqI9H7FCACs0nXcNRtqsnySg2\/AwNjJrb7b760mvBG5e\/3G4\/VS+Bi7I\/J2H62RYtxmaf1Eej9ihABWaTK3PcO225eTT5yhwftNR+Zz29Q+jbfsqeMZpKTXpl5XzMzfE5PSqFtD79e4ilnzYfzwUVKmqVKFNdIRUV7CbygjNHPaJPkkvucwAQNIAAAAAAAABMa+1dbq0ayxns5Os16M5\/0MpyXs2r3ft3WT8i0o8C9fJfORUFk+CM1DNzlzfpkAAVmkAAAAAAAAAAAAAAAAAAErQf1rvyrVxxUtPp8Czhri6fFy8Ci1C7jY6fXupdKUHLpnL7jF2XaSpaTO8qr7W8qObeMPC5L35ftLI5RbMtXt1IQ8X4aeZRAArNQAAAAAAAAB8lFSi4vmmsMmdhyf1PXpS6wuH+7H+JTkxtbFDWdatP0a\/Eu7lmXd4E47rM1TKtB9V5fwU4AIGk82pT7PTLqfLyaM3z\/AMrMrZcOHbdF8\/KnN+\/HyPbr9TstAvpY60JR8Vj5nTtWn2W2rOPni5eMm\/mWfs8TM89oXR+qNcAFZpJjdX2usaHbdVK4zJejMf4lOTGr\/a730miusYOb9XlP\/SU5ZLRIzUc6lR9\/sgCL3nfXVPVLelZ1pqVGk6s4wljHPPPwyVOmXsNR02hdw6VYZfofRrxTOODUUyUK8Z1JU+R6wAQLwAAAcak40qcqkvuwTk\/UjkY27Lz6Ht64w8SrJUo+3r7snYq7sQqTwQcnwPFsqnKrbXuozWJ3dw31zyXP4yZTGfoVp9B0S0t3ylGmnJel8372aB2bvJshs8MFKKYABEuAAAAAAAAAAAAAAAAAAJneVepWo2ukUE3VvaqzjuSa+ePBlFb0Kdtb06FJYhTioxXoRM6XjWt33eouMuxsl2VHPRvms\/vPHpRVFk8komWh25Sqc8l0X8gAFZqAAAAAAAAABMUv6l\/SDVi+l7b5ivSkv\/RlOS+6GrDWNK1V\/dhU7Obb5Jf7OXgWQ1sZtpyip8mmVAAKzSYO86zpbbrRX+JOEevpz8jT0ui7fSbSi+sKEIvljmoowt5v6TPTdNXN3Fwm0vN09n3n4FQWPKCM0M683ySXuAAVmkmI\/b\/0iSxz7C25+jkv\/YpyY0X7beesV3zcEqefBf6SllKMIOcniMVlvzIsnqkZtm3ZS5tkzY043u+NTnUip06dBUuF+lRT+EvE5bNnOgr\/AEycm\/olbyeLrht\/h7xsqMqtre6hNYndXDbz5lz6+uTPlNuw3\/UUsqnf0PJ8zkkv\/V+JN8Y\/3IzU8lCrzb8\/6inABQekAAACV3CvrTc2m6SlxU4fa1Vw55eZ+xe8qiX24vrLXtS1iSzDi7Ki3z5L1ehLx8bIZXZl2jtYafN+SzKgAFZqAAAAAAAAAAAAAAAAAABj7n1NaZotWSa7Wsuypr0vq\/Ys+42CR\/KTeH6VlpnhKWfm17VEnBZ3fAz7RNqOGOryX97jb29pq0vRqNu4pVGuOp6ZP+GF7DTAIt3dy6EVCKiuAABwkAAAAAAAAADI3TafTNvXUUsypx7SPLzc\/hk1zjOEalOVOcVKMk1JPvR1OzuQqRxwceZ4Nv3f03QrSu5OUuzUZN9W1yfwNEmdo1JWlW+0Wq25WtVyg33xfL8H\/wBxSTnGnTlObxGKbb8yJTVpFdCeKkm\/HwJmo1qW\/wCnBeVTsKOXh8uL\/eS8CoJnZ8HcvUNWmnxXVdqOe6K5\/PHsKYT1tyI7NnBz\/wBm3+AACBpJjavl6xrtb9K5ws9V5U\/4GzrVb6Pot7VzhqhPHrawveY2y\/LjqVXqp3L8rz\/zk7963HY7fnSTSdepGC8c\/IuavUsYacsOyuXX1Z3bRodhtu2z1qcU3z87ePdg8u87aasaGp0Hw1rKopJpdza+eDb062+h6dbW2MOlSjF+tLmdtehTuaFShVjxU6kXGS86ZDFaeIt+DegqfccbS5p3lpSuaT8irBTXoyjuJPRbqW3NQnol\/JqjOXFbV5ck89389\/rKw5KNmTo1PiRz1WvUAHTd3dCxtp3NzUVOlBZbZEtbSV2ZG7dTen6S6NJv6Rdvs6aXXH5z8OXraPZoWm\/VWkULV86iXFUefznzf4ewxdIo1dx6v9eXcOG2oPhtaTfen19nx9RVlkuysJmo\/wCSbqvTRdOfiAAVmoAAAAAAAAAAAAAAAAAAxdz6vLStN4aOXc3DdOko9V55ezl4o79A0iOj6ZCh1qz8uq\/+rHT1IxrCK3FumpqMnxWlg+CguWJNdH48\/ArCyXZWEy0v8k3Vemi934gAFZqAAAAAAAAAAAAAAAJXXoPR9xWetwfDSrSVG4+GfBf+J7d3XytdAqQhJOdy1Sgk+qfXp6PiaGrafDVNMrWc8Jzj5Mn+bJdH4kdpDvda1WxsLuGKWlpuopd7Tws+nkl7GXRtJJvgedWxU5ShH9+nXj+Sw0Wy+rtHtbVrEoQ8r\/M+b97Z7gCpu7ub4xUYqK4A4VaipUp1H0hFyfsOZ5NVqOlpF5UXWFvOS9kWFqJOybMXYlNw0Gcn+fcSkvCK+Rw1vGp7q03TFlwo5rVe709fZ7\/D17NpqG2beS\/PlOT\/AGmvkeTav\/ENU1PWZf4lTsqb\/wCnr3+jhLXvSkYIq9KlT52+yzKgAFJ6J4tU0q11e0dvcx5dYzX3oPzowIU9x7exSpU1qllFvCWeNLzeddPSisBNSaVuBRUoqTxJ2fNEvLdmoSfBR29dObeFnOP3TgtF1XcFzCvrc1QtoYcLak8Z9fm9fXzFWDuO26rEPl3L9STa5aHClSp0aUaVKChCCxGMVhJHMArNQAAAAAAAAAAAAAAAAAAMHdmoztrCNlbNu6vJdnCMXzw\/bn0G8eCvpFC51WhqNSdR1KCxGGfI7+ePPzJRaTuyqtGUoOMeJy0nT4aXplGzhhuEfKkvzpPq\/E9oBxu+ZZGKikkAAcOgAAAAAAAAAAAAAAHi1bUIaXpla8nhuEfJi\/zpPovEi7SlqGi0rXcc3OcLmTdzHPNxk+T9vX1485q643r+47bRacm6Fu+0uWun84ePXIp6tvRr20rarTjKjKPC4Y5Y8xcngXUwSg68207YdOv9yPtvXpXVvTr0ZKdOpFSi13o7CQsLqptTVHpd7LNhXk5W9Zv7nr+fj3lcmmsp5TK5RsaaNX4izya1R9Mvck+Dbt684zSx48jUMLeVRQ2zcRf58oRX7SfyEN5Cu7UpPuZ4Z6gtJ2HbtYVWtS4Kab75Zy\/Ynk2NvWD07RLehOHBUceKom+knzZNaPTnuHU7Jyi3Y6XRhHmuU5pL4tL2L0lwTqZZGfZljePglZe7AAKjcAAAAAAAAAAAAAcZSjBZlJRXpeDkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADJ3FrK0iwzTxK6rPhoQxnL5Zfsz8DSrVqVvRnWrTUKcFmUpPkkTGkUp7i1qetXMf6rQfDa0231T5P5+v1E4pavQz15tWhDefl3mjtnRvqrT+0rLiu7jy6smvKjn832fE2gCLbbuy2nBU4qMeB5NR0211S2dvdU+KOcp98X50T1GGtbXm6ajLUdOSbio546a8Hj1dPVzKwHVK2XAhUoqTxJ2fMnqe9dKlTbqqvRnHlKEqfNPzZ9hh7m3BW1SydGhZ1KdmqizWqxw5S58vR3+foW87S2qT4529KUs5y4Jsnt9+VpVtS6cdyufm8mX4lkHHErIy7TGt8GWKXlqbWkafQ0zTaVtQT4ccTb6yb6tntAKm7u5ujFRSSAAOEgAAAAAAAAAAACW1dy1PeOn6epSVO2Xa1MSxz6\/BJe0qSW2tm\/1jVNXfOM59lTfPp1+CiVJZPKy5GXZu0pVOb8tET91qN1p27KFK5rSlY3dPhpJpJQnlePPHX9IoDJ3JpP1tpcqdP+8Unx0XnvXd7Ufdu6stW0uE5P7el5FaL68S7\/AG\/icavG6Owk4VXCXHNe6NUAEDSAAAAAAAAAAAAAAAAAAAAAAAAACW1zWa+oXf1Hozcqs3ivWj0gu9Z+L9hKMXJlVWqqcbv\/AKdWq3NXc2rfUtnPhtKL4rislnLXcvby9fqKm2t6VpbU7ejHhp04qMV6EebSdKt9Iso21vHn1nNrnN+dnuOyknktCNGm1ec95+XcAAQLwAAATG8vKnpcF96VysLw\/EpyY3V5etaDS6p3OWv+6H8SynvGba\/0X4eqKcAFZpAAAAAAAAAAAABm7hvPoOhXdbKUnBwjnzy5L4mkTG8pu4enaXBvN1XTkk+eFy\/1e70E4K8kUbRNwpSa1NHbFm7Lb9rTnFxnOLqST\/6nn4YNY4xjGEFCKxGKwl5kciLd3cshFQiorgCS1alU21rUNYtov6Hcy4bmnHon5\/mvTnzladdxQpXVvUoVoqdOpFxkn3o7GVmQrU\/iRyya0FGtSuKMK1GanTmsxlF8mjsJGzuau0b\/AOrr2Tnp1aTdCu19x9+fn4lbGSlFSi001lNd4lG3QUquNWeTWqPoAIlwAAAAAAAAAAAAAAAAAAOM5wpwc6klCMVlyk8JGfq2u2Oj083NTNR\/dpQ5yf4e0w4WGrbpqKtqMpWWn5Thbx+9Jfz3v2Imo3zehnqV0nggry5fnkc73W7zXbiWm6FGUYZxVu3ySXofd6+vmNnRdEttEteyo+XUlzqVWsOb+S9B67Oyt7C2jbWtNU6cOiXxfnO8OWVloKdFqWOo7y9OgB8TT6PJ9IGgAAAAAAExr3l7s0WD6KTl7\/4FOTGpeXv\/AEuHTFByz7J\/gWU9TNtO4lza9SnABWaQAAAAAAAAAAAATFb+u\/0gUab5xsqHE0u5tdX+0vcU5L7fbut16zd4yoS7JSfrx\/p+BZDRszV85QjzfpmVAAKzSAAAee9sbfUbWVtc0+OnL2NPzp9xMRuNT2hONO5Tu9K4sQnH70PMv4dCvPkoqUXGSTTWGn3k4ytk9CipRxPFF2lz\/J57HULXUrdV7StGpFpZSfOPoa7mekm73aShX+maNdSsrhLCjnMHyxjzr3+o6o7i1fSsx1rS5ygnhV6C5fh70dwJ7pD48oZVVbvWa\/gqQZdjuPSb\/Co3kIzefIqeQ\/eahBprU0RnGavF3AAOEgAAAAeC61zSrPPb39GLXWMZcUl7FlnUm9CMpRirydj3gm628qNSfZaZY3F7Ufmi4x+b6+g6\/o+69W\/t7ilplJ58ml973c\/eiWB8cih7TF5QTl0\/Oht6hq1jpdPjvLiNNtZjDrKXqXUwnq+t68+DR7X6HbPl9JrdWvR\/DPrPbYbS060q9vccd7Xby513lZ9X45NxJJYSwkdvGOmZzBVqbzwrktfv+DE0ra1pYVfpVzOV7dt5dWrzw\/Ol83k3ACDbepfCnGmrRVgADhMmbjb2p2V5VvdG1KSdWTnKhW5xk28v0d77vacaO7LixqOhrunVLaa5KrTjmL\/nHVNlQcKtKnWpyp1acakJLEoyWU\/YWY77yMzoOLvTlbu1R57PVbDUEnaXdKq3+apeV4PmeswrzZ2j3WXCjK3m++lLHueUeT6h1\/TnnTdZ7WC5qlcZ8OeV8OowxejHxK0d6F+n4ZUAl3qm6rSfDX0mlcRXSVLq\/Bv4Bb2hRko3+lXVq84ffjxSHw5cB81TW9ddUyoJi58r+kS0zz4LZ49HKf4s1tL1yx1jtFaVJOVPHFGUWsJ9DJl5X9Ikc8+C25ejk\/xYimm78iNaUZxg4u6xIpwAVmsAAAAAAAAAAAA+NpLLeEiZ2OnUs727f+PcvqufTPzKC9\/uNx+ql8DF2QktuxwutWWSxbjM0868F3P2KEAFZpAAAAAAB8aTWGspgAGVebZ0i9blUs4Qm+sqXkN+HIzVtC4teWm63dW8f0HzT8GvT3AE1OS4meez0pZ4c\/t6H36r3ZRWKOtUJpvn2kfxizplLdkG4PULRyi8PyP\/AMgFys+B587xdk392Iy3ZOSgtQs05PCfB0\/8Tuek7rr4VfWqUFnm6S7vZFAB2WiFO8nZt\/dnz\/4hcXWPrHW7q4j3xXJe9v4HvttpaLbJf1RVZL86rJyz7OnuAKXOXM9COzUlnh++fqatKjSoR4KNKFOPmhFJe47ACBo0AAAAAAAAAAAAAAAB8aTWGspgAHClQo0eLsqUKfF14IpZOr6vtVqDv+xX0lw4O0y\/u+rp7QDt2cwrkekAHDoAAAAAAAAAAABwrU1WozpN4U4uOfNk8OhaU9H02NpKsqrUnLiUcdQDt3axBxTkpcTRABwmf\/\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "CAMILA VELIZ",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56936380484",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28689\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28689\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28689\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28689\",\"cantidad_usada\":3,\"cantidad_asignada\":3}]",
    "horaSalida": "12:35",
    "ubicacionGPS": "LatLng(lat: -22.4407041, lng: -68.8856832)",
    "horaLlegada": "12:26",
    "horaDespacho": "12:34",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/05/2026 12:35:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[15/05/2026 12:35: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', 'EP2456', 1, 24456550, 0, NOW(), 
				'12:34', '12:26', '12:35', 10, '•Entrega de insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778862953.png', '•Entrega en puerto seco', null, 'COMPLETADO','LatLng(lat: -22.4407041, lng: -68.8856832)' )
				
[15/05/2026 12:35:53] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200332
[15/05/2026 12:35:53] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200332', 'EPS-I302', 3)
				
[15/05/2026 12:35:53] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28689 and
				    IDproducto = 'EPS-I302'
				

15/05/2026 12:35:53 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I302';
                [15/05/2026 12:35:53] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200332', 'EPS-I304', 3)
				
[15/05/2026 12:35:53] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28689 and
				    IDproducto = 'EPS-I304'
				

15/05/2026 12:35:53 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I304';
                [15/05/2026 12:35:53] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200332', 'EPS-I303', 3)
				
[15/05/2026 12:35:53] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28689 and
				    IDproducto = 'EPS-I303'
				

15/05/2026 12:35:53 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I303';
                [15/05/2026 12:35:53] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200332', 'EPS-I305', 3)
				
[15/05/2026 12:35:53] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28689 and
				    IDproducto = 'EPS-I305'
				

15/05/2026 12:35:53 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I305';
                
15/05/2026 12:35:53 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200332'                    
				WHERE idllamado = 12590			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


15/05/2026 12:35:54 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12590			
				
15/05/2026 12:35:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 12:35:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

15/05/2026 12:35:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

[15/05/2026 12:35:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:35:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:35:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

15/05/2026 12:35:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

[15/05/2026 12:35:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:35:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

15/05/2026 12:35:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

15/05/2026 12:35:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12590
            GROUP BY l.idllamado;
            

15/05/2026 12:35:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

15/05/2026 12:35:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12590
                

[15/05/2026 12:35:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:35:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:35:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

[15/05/2026 12:35:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:35:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12:35:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:35:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12:35:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12:35:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:35:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12:35:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:35:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:35:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:35:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:35:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:35:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:36:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

[15/05/2026 12:36:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:36:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:36:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:36:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

[15/05/2026 12:36:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:36:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12:36:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12:36:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12:36:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:36:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:36:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12:36:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:36:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:36:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:36:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:36:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:36:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:36:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12:36:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12:36:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12593
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12593
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12:36:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12:36:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12:36:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12:36:38 - logentry: =========================================
FECHA: 15/05/2026 12:36:38
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-fDrhStBlbvp+6ch0nB58FHH13G.rSk9X7QeN4Pe1I5jtBe3dG_m
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2615",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12593",
    "observacion": "•Entrega en puerto seco",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD0AU0DASIAAhEBAxEB\/8QAGwABAQEBAAMBAAAAAAAAAAAAAAYFBAECAwf\/xABDEAACAQMBBAcFBAcGBwEAAAAAAQIDBBEFBhIhMRNBUWGBkaEUInGxwRUjMtEHFiRCUuHwM0OSorLxNkVzdILC0iX\/xAAZAQEBAQEBAQAAAAAAAAAAAAAAAwQCAQX\/xAAxEQACAQICCAQGAwEBAAAAAAAAAQIDESExEiIyQVFxgbEEE2HRIzORocHhFEJicvD\/2gAMAwEAAhEDEQA\/AP2YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5769oadaTurme7TgvFvsXeMzxtJXZ5vLy3sLadxc1VTpwXFv5LtZOvXdY1mo4aHZ9Hbp49prLGfhnh6M+OnWF3tRcfaWrOULNP7i2TaTX5cOfWVsIQpwUKcVCMVhRisJFMIerMqc6+KejH7v2Jr7F2mnhz16KfZGPD5HiVLa\/Tt6VOvb6hBLKjJcfo\/XqKgDTfA6\/jR3Sa6sw9I2moX9VWl1Sdne5cXRn1tdmeXwZuGVregW2sUd7CpXUF93XjwafUn2o49C1uu7mekaslC+pcIyfKqvq+vvDSavE8jUlTloVN+T9\/UoQATNQAAAAAAAAAAAAAPnWrUrejOtWmoU4LMpSfBIDI920llvCRh3+1dpQrxtbGDvrmUsblLil4rn4GbOpf7YXM6dGUrXSYPDm48avHq7\/AJdZQ6bo9jpNLctKKi3+Kb4yl8X9CllHazMnmVKvy8Fx9kY8b3a+ru1I6bbU45\/DKSy1\/i4HrT2pvrGvTo63pcreM3uqtTfu58eHqVB87i3pXVCdCvTVSnNYlGXJjSW9HrozWMZu\/rawo1qVxRhWozU6c1mMovg0fQkrOdXZTWPYbiblpty80akn+B56\/Pj4MrTmUbFKVTTWODWaAAOSwAAAAAAAAAAAAAAAAAAAAAJHUXLaXaVaVGb9hs\/eruPXJcHx8ceZu69qa0nSa1zldJjcpJ9c3y8ufgc+y+mPTtJjKrl17h9JUbeefLrZSOqtIy1viTVLdm\/bqbEYqMVGKSSWEl1HkAmagAAAYW0+j+32ivLfML20W\/SlHm0uOPqu83QeptO6OKkFUi4szNA1aOsaXC5aSqr3KsV1SX58zTJO1jLZ\/bCVsliz1HjBdUZf75XwaKw6mknhkToTco2lmsGAAcFwAAAAAAAAD1lKMIOc5KMYrLbeEkSFxVr7Yar7LbycNKtpJ1Ki4dI\/65dnPuPvrV5X1zU46Hp0pqlCWLypFcEs4a8OPxZRWVlb6fawtramoU4Lgu3vfeUWor7zHL48tFbKz9fTlxPpQoUrahChRgoU6a3YxXUj6AEzYlYAAAzde0mGsaXUt3wqR9+k+yS5efI59ltUep6RBVH9\/b\/d1M83jk\/FeuTaJSEvsLbWUN3dtdTSxjkp\/wC+f8RSOMWjLV+HUjU3PB\/gqwATNQAAAAAAAAAAAAAAAAAAAPWUowg5yeIxWW+xAEtqqhru1ttpmXKhZp1KyzlN8Hj5LxZVkxsbGV09Q1aqnv3NbCz2Lj9ceBTlJ4PR4GXw2tF1H\/Z\/bcAATNQAAAAABOba2sp6VTvqfCrZ1VNPrSbw\/Xd8jcsrlXljQuUsKrTjPHZlC+oRurC4t5LKq05RfijG2JuHX2ejB\/3NSVNej\/8AYpnDkZtnxH\/S+6KAAEzSAAAAAADH2l1f7L01qk\/2q4zCjFc89bXwz8jXlJRi5SaSSy2+olNLT2k2gqatUWbSzahbxlFrL55581z8UdwSzeSM9ebSUI5v\/wA2auzmjrSdPxU966re\/XnlvL44Xhn5muActtu7KwgoRUY5IAA8OwAAAT22ltKpoyuqfCraVY1IyXNLl9U\/AoT4X1uruxuLZ\/3tOUPNYOouzTJVoadNx4njT7uN\/p9C7hjFWClhPk+teD4HQT2xNy62gqjLO9b1ZQ49nP6lCJK0mhRnp04y4oAA5KgAAAAAAAAAAAAAAAx9qr32LZ+5kpYnVXRR483Ln6ZNgl9q8XmqaTpvB9JW35p9mUvlvHcFeRDxMnGk7ZvD64Gts9Z+w6FaUcJScFOWO2XF\/M0gDlu7uVhFRiorcAAeHQAAAAAAJjYv7uOpW\/XTuX+X0KcmNj\/eutYmvwyueD8ZfmUjsszVfnU+vYpwATNIAAAAABPbYahOhYQ0+2zK5vpdGornu9fnlLxZq6Vp8NM02jaReXBZnL+KT4t+ZgaRBa5tVd6tKSqULR9Hb9nxXdzfxkVZSWCUTLR+JN1XyXJe7AAJmoAAAAAAAAAl9nf2PabWLDG6pSVWK7Fn8pIqCXupKz\/SBbTS4Xdvuyffx\/8AlFQUnmmZvDYKUeDfuAATNIAAAAAAAAAAAAAAAJeji+\/SDVmsuNlQwn1J4xj\/ADP1Kgl9kH7Xdapqb49PX3Yvu4vHqikcE2Zq2M4R9b\/QqAATNIAAAAAAAAAJfYb7yyvbjGOluX8k\/qbuqV422l3VeTwoUpPxxwM3Y2g6OzlFvh0spT4rHXj6FFsMzTxrxXBN9kboAJmkAAAGTtPfewaDcVI\/jqLo48ccZcPlk1iW2nf2jremaMuMZT6Wqs9X+ykdwV5EPEScabtm8F1NTZuwWnaHb0t1Kc49JU45zJ\/ywvA1QDlu7uVhFQiorcAAeHQAAAAAAAABL7UpUtb0S461X3Xjs3o\/zKgmNsvdnpc1+KNysPy\/IpyktlGal82ouXYAAmaQSuhXte62x1SMq05UoKUYwc24rEkspeBT1aipUp1HyhFyfgRuwMJ1bq\/up8ZNRWcc8tt\/IpBasmZK8n51OK4v7ItQATNYAAAAAAAABx6tX9m0i8rZScKM2s9uOHqZ+x1Dodm6Daw6rlN+eF6JHttdVdLZq6xzlux85L6HZolJUNEsqa6qEG\/i1llP6dTNn4jku7\/R3AAmaQAAAAAAAADA20uXQ2fnSi\/euKkaaxzfW\/ka2nW3sem21tjDpUoxfxxx9Se1Nx1va+106M26NkulrY5Z4PH+leLKopLCKRlpa9Wc+GH0zAAJmoAAAEvomNT2q1LU3lwo4o0uru5eHr5b+o3Psem3NznDpUpSXxxw9TI2KtfZ9noVHHDrzlU78cl8ikcItmaprVoR4Xf4RQAAmaQAAAAAAAAAAACY20\/5Z\/3K+hTkxtp\/yz\/uV9CnKS2UZqfzqnTsAATNJmbR3XsmgXlVSxJ03BPvlw+py7HWUbTZ+lPdxO4bqSfb1L0SOLb666PTLe1T41qu8\/hFfm0UlpR9ns6FDCXR04xwurCwUeEOZkWt4l\/5Xc+wAJmsAAAAAAAAAm9uqm5oEY\/x14x9G\/oUFCHRW9On\/BBR8kTm3fvaZa03ylcrP+F\/mU529hGaHz58l+QADg0gAAAAAA49V1CnpenVbuq+EF7q55k+CR2EjVc9q9oOgjJrTbGWXOK\/tJcOGfPw+J3FXeORCtUcI2jm8jv2SsZU7GepXCftN8+kk28+7l48858jfPEYqMVGKSSWEl1Hk5k7u53TgqcFFAAHhQAAAwds7l2+ztWKeHWnGn65fomamm2ytNMtrdLHR0oxee3HH1MLa79qu9K01cemr70l1YWFl+bKc7eEEZoa1eb4WX5AAODSAAAAAAAAAAAATG13319o9rH8VS5zns4xX19CnJi9\/btu7OhDlZ0ukqP1+sfMpykskjNRxqTl62+iAAJmkgtr6ju9qLa1azGChDHDi5PL+aL0\/M7+q6+0VXU+LowvYQTfXj+UT9MLVFZRR8\/wctKpUlxfuAARPoAAAAAAAAidqNo7231lWtjWUIW6i5465ZT4vs5LHe\/DqMXJ2RGvWjRjpSO\/bT3vsynz3rle728vzKcldppTq3mgRnHdqVK6bWMYeYZ+ZVHUtlE6WNWo+XYAAmagAZi2h02WprT41t6s3j3VlZzjHxPUm8jmU4x2maYBha3tJCxl7HYx9qv5vdjTisqD78dfcEm3ZHlSpGnHSkem1OrTt6EdNsvvL2791QisuMXlN\/E0dF0uGj6bTtINSkveqSSxvSfN\/JeBn7P6BVs61TUtSqdNqFbOW3lQT7O\/\/ZG+dSaS0URpRlKXmzVnuXBe7AAODSAAAAAATFf9s\/SBQpy4xtKG8l34fH\/MvIpyYs\/f\/SJf5\/ctljyh+ZTnc93IzeH\/ALv\/AEwADg0gAAAAAAAAA8SkoxcpNJJZbfUeTI2pvvYNAuJxluzqrooYeHl8\/TJ6ld2OKk1CLk9xnbKR9u1DUtZkv7aq6dPh+7z+PLd8vKoMzZ2y9g0K1ote84b8\/jLj9ceBpnU3eRPw8XGmr55\/UHLqd2rHTLm6zh0qbcfjjh64OomdtbiUrK202k\/vbysklx4pPu72jyCvJI9rz0KbkYFaydtsZaXU1xqXfSya4trDS+XqfokZKUVJcU1lGDtPaRp7I1aFOOVbwpqPwTS+WTS0ar0+i2VTOXKhDPxxxO5vSjf1IUIeVUcPRfk7QASNoAAAAAB6VakaNKdWbxGEXKT7kfmlhv6vrVKE5ZneXDqVOOWopPsxjg5eS4dtntde+xbP1sPEq7VGPjz9EzE2UsvZdpK9Gonv29qlh5xFvdbxn4v1L08ItnzPFfErQp7t\/X9I79pff2i0KD5Ks5f5o\/kU5MbR\/wDE2h\/9V\/OJTnEtlGqj8ypzXZAAEzSZG02q\/ZOj1KkJYr1fu6Xam+vwXHyMT9Vru2sLCvaQpVrmhmc6FWK3ZSfHm8Pqxh9x06l\/+1tda2MHJ0LH7ys0sre549EvFlSVvoJWMXlqvOTlksF+SXnbbV6tBUbmpb6dRfCfRPMmvBv5o1dJ0Cx0eC6CnvVmsSrT4yf5I0wcubasWhQjF6TxfFgAHBcAAAAAAAAAmNH97bbV5Pg1BLHby4+nqU5L2y9m\/SFcx\/Cri3yk+t4jy\/wv1KgpPNcjN4bZkvV9wACZpAAAAAAAAABK7QZ1XaXTtIXGlTfTVlu8O3j4L\/MVMmoxcnnCWeCyTWy9Od7qeo61Ui100+jpZ\/hXPnx6o+RSGF5GXxGs40+Lx5IpgATNQJfK1Tb3HF0tOpd6W9\/vL086O6uIWlrVuKjxClBzl8Esk9sVQnKzutTrY6W9rOWcPkm\/q2UjgmzLW1qkKfX6fs3r61V7YV7Vvd6anKGezK5mLsXcyqaNK0qJqpaVZQlF81l5+eV4FESlRfq\/tiqz4Wmp8JPqjPP5+kmI4pxFbUqRqbsn1\/ZVgAmagAAAAfK5uKVpa1bmtLdp0ouUn3IHjdldk5rqlqW1GmadGLlTovpauFwXXhv4R9TzY\/cbf38JL+2oKUXnn+H+fkedk6FS8q3Wu3K+9upuMF\/DFPGFw7seB52ntq1leW2v2sXKVtiNaKfOGf5tPwL79A+dZuPn+t+mXbE9do\/+JtD\/AOq\/nEpyR1a8o3+t7P3VvPep1J5XauMeD7yuOJ5I0UGnObXFdkDk1O\/p6bp9a7qNYhHgn1vqR1SkoxcpNJJZbfUSNzOW1+sxtaW\/9l2rzUqR4b8v64LxZ5GN3jkd1qjhG0dp5Hdsfp86FhPULnMrm+l0jk+e71eeW\/FFCeEklhLCR5OZPSdzulTVOCitwAB4UAAAAAAAAAAAAJfWGrPbXSruXCFaDpN54N8V\/wCyKgn9sbSVbRvaqW901pNVIuPNLr\/PwNjT7uN\/p9C7hjFWClhPk+teD4FJYxTM1LVqzjxx\/B0AAmaQAAAAAAAAAesYxhBQisRisJdiPYAAAAE5tndzjp1LT6Lbr3tRQUV1rP54Rt2NpCwsaNpTbcaUFFN9feTunt69tZV1FOM7OyXR0Wnzl248W8\/AqiksEomWjrzlV6Lkv2DO13So6xpc7Vvdmnv05dkly+ePE0QcJ2d0aJRU4uLyZg7M6zK8t3YXnuX1r7k4y5yS4Z\/P+ZvE\/r2iV53ENX0qW5fUeLiuVVdnx+Z16Jr9trFHdyqV1BfeUJcGn1tdqO5K+sjPSm4Pyqme58V7mqACZqBLbVXFXULq30CzbdStJSrtLO5Hqz3dfgjb1bVKGkWE7mtLD5QjjLlLqRnbMadWhGrqt9Fe2Xjy+GHGPZ2ccJ+RSOGszLXfmPyVvz5fs2ra3pWlrStqMd2nSioxXcj3lGM4OE4qUZLDTWU0ewJmlJJWIDWdJnomu2UtO+9lVqOpSoz5KWVw5rhyXVyNj9atRpYjX2eulPr3W2n3\/hG03ubQ6DPnmvu4\/wDKH5lOWlJWV1c+fTotVJqnLRxXYlK9LXto6kqNSP2ZYLn1yqL6+i+JR2Njb6daQtbWnuU4cl1t9rOgE3K+Brp0VB6Td3xAAOSwAAAAAAAAAAAAAAB861GFxQqUKizCpFxku1NYZN7JV3Z173Q60n0ltVlKm3+9Hlw9H\/5FQTO1FlWtK9HX7CL6e3a6ZLlKHf8AJ9z7ikMdXiZq6cWqq3Z8imBz2N7R1Czp3VCW9Cos\/B9afwOgmaE01dAAA9AAAAAAAAABh7V6m7LS\/Z6Mv2m7fRU0nxSfN\/T4tGzVqwo0p1aklGEIuUpPqS5sl9FjU17aGvrNZS9lt24WsZcuzK8OL733HcFve4zV5Oypxzl23s2tB0xaTpNG2wukxv1Wuub5+XLwNEA5bu7svGKhFRWSAAPDoGHq+zNC\/qu7tars73Kkq0Otrtxy+KNwHqbTujidONRWkiVhqu0WjwdPUNOd\/CH9\/SlzXgvjzSZ7T2tvaqcLPQ7idTknLOE\/gl9SoB3pLeiHk1FhGo7dH9yZsdBvdQvY6jr9RTlB\/dWyScY8v6x5spgDmUmy1OlGmsAADkoTG1nu6nolVP3oXPBPr96H5FOTG3PuWNlX5dHcrj2cG\/oU53LZRmp\/OqdOwABwaQAAAAAAAAAAAADw2kst4SMm82o0ezyp3kKkl+7S9\/1XA9SbyOJzjBXk7GuCX\/XCvdPGm6LdXC\/ilwx5J\/M2dIub+6tZVNQtFa1N\/EYJ5zHC4+eT1wazOIV4Tdo49Gd56yjGcHCcVKMlhprKaPYHJYkaNSpshrDtqrb0q7lmnN8eil\/XPu4lbGSlFSi001lNdZ8L6xt9StJ2tzDepzXin1Nd5M2V7dbKXS0\/U5Opp839xcYzu9z\/ACK7fMxp\/wAd2ew\/t6ciuB606kKtONSnOM4SWYyi8pruZ7EjYAAAAAAACc1faCdastL0RqveVHuyqR\/DSXXx7fkdRi28CdSpGmrs59eva+t332Dpj4RebqrnhFLq+Hb38Cks7SjYWlO1t4btKmsRRxaHolHRbVwi+kr1ONWq\/wB5\/kah7JrJZE6NOSbqT2n9lwAAODQAAAAAAAAAAAAAAAT229LpNnnLh93VjL5r6m3aVens6Fbj95TjLj3rJn7U0+l2bvY4ziCl5ST+h9dn6nS7P2Ms5xRjHyWPodvYMyw8Q\/VLuzRABwaQAAAAAAAZus65aaLQU67cqkl93Sjzl+S7z1Jt2RzKcYLSk7I76tanQpSq1pxp04LMpSeEkTtfaqreV5Wug2cryqlxqy4Qj549cHwt9G1HaKau9ar1KFtJ5p2kHjC6s9nz+BTWtnb2NBULWjClTX7sV6953aMc8WZk6tXLVj937E2tmtU1bcqa5qcnFPPs9JJJePLPg\/ia9ns7pNi1KjZU99cpTW+18M8jTB45yZSHh6cXe13xeLAAOC4AAAPheWVvf20ra6pqpTnzT+a7D7gHjSasyTlp2tbNzlPSX7bYtuTtpLMo\/Drfh5Ghp21umX03SqzdpWTxuV+C8+Xng3Dg1DRNO1PLurWE5tY6RcJeaKaSe0ZvJnT+U8ODy6cDujJSipRaaaymus8kxLYqlSnKdhqV1a54pRecPwwFs3rcXhbR13FPr3sv1PNGPE982qs6f0aKczr\/AF7TNNg3cXUN9f3cHvTfgvqZP6pXlxwvteuq0XzhHKXq33dR3WWymj2OGrbppr96s9705eh7aCzY068so25v2MqV9rW1D6KwpSsLF53q8uc1\/XUvM3tJ0Wz0egqdtTW+1idV\/in\/AF2HekksJYSPJ45XVlkdU6Ki9KTvLj7cAADguACfvtstOsL2raVaN1KdKW7JxjHH+o9UXLInUqQpq83YoATH6+abLKp2t5KXZuR\/+jx+t17WS9k0C6qZ5N5xjwid+XLgS\/l0d0u5UAmPtPau4\/sNHo0U+KdWXFLxa+R4VntjcrNTULa3XPCSb9Iv5jQ4tD+RfZi309yoPnUrUqKbq1YQSWW5SSJv9VtTrvN3tDcS7YwTx\/q+h9Kew2lxlvVatzWfXvTST8lkaMeI8ys8ofV+1zZo6pYXFx7PQvaFSr\/BComzrM2x2e0rTq0a9raKFWKaU3JyaysPmzSOHbcWhp217X9AADw7OHWodJol9Bc3bzx8d1nHsjPf2ZtO2O9F\/wCJmpd01Vs69N8p05RfijE2IqOezyi\/3Ksor0f1KLYZmlh4iPqn3RQgAmaQAAAAZeu61S0e0zjfuauY0aa4uT7fgepNuyOZzjCLlLI+O0G0ENIpKjRj017V4U6S44z1v8us59E2enCr9p6u\/aL6pxxN7yp\/z9F1DZ7QJ0JvVNTbq39b3vf49Hn6\/LkUR22oq0TNCEqr8yp0XD1fr2AAJmsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAExsL7mnXdH+C5fB8+SX0Kcl9lmqWt65bZ5V95fDel\/IpHZZmq4Vqb59v0VAAJmkAAA5729oafaVLq4lu06ay+19y7ye0KxrazfraDUep4tqWMKMVyfzx5n01ixvdb16lY1KdSnplGKnUmuCnLjyfp3cWUkYqMVGKSSWEl1FL6KwzZls6tS72Y\/d8eh5ABM1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4rfSra11K5v6e+qtykppv3eHYAereTmk3Hn+GdoAPCgAAAAAAAAAAAAAAAAAB\/\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "CAMILA VELIZ",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56936380484",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28690\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28690\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28690\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28690\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:36",
    "ubicacionGPS": "LatLng(lat: -22.4407003, lng: -68.8856774)",
    "horaLlegada": "12:26",
    "horaDespacho": "12:35",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 15/05/2026 12:36:38
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-fDrhStBlbvp+6ch0nB58FHH13G.rSk9X7QeN4Pe1I5jtBe3dG_m
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2615",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12593",
    "observacion": "•Entrega en puerto seco",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD0AU0DASIAAhEBAxEB\/8QAGwABAQEBAAMBAAAAAAAAAAAAAAYFBAECAwf\/xABDEAACAQMBBAcFBAcGBwEAAAAAAQIDBBEFBhIhMRNBUWGBkaEUInGxwRUjMtEHFiRCUuHwM0OSorLxNkVzdILC0iX\/xAAZAQEBAQEBAQAAAAAAAAAAAAAAAwQCAQX\/xAAxEQACAQICCAQGAwEBAAAAAAAAAQIDESExEiIyQVFxgbEEE2HRIzORocHhFEJicvD\/2gAMAwEAAhEDEQA\/AP2YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5769oadaTurme7TgvFvsXeMzxtJXZ5vLy3sLadxc1VTpwXFv5LtZOvXdY1mo4aHZ9Hbp49prLGfhnh6M+OnWF3tRcfaWrOULNP7i2TaTX5cOfWVsIQpwUKcVCMVhRisJFMIerMqc6+KejH7v2Jr7F2mnhz16KfZGPD5HiVLa\/Tt6VOvb6hBLKjJcfo\/XqKgDTfA6\/jR3Sa6sw9I2moX9VWl1Sdne5cXRn1tdmeXwZuGVregW2sUd7CpXUF93XjwafUn2o49C1uu7mekaslC+pcIyfKqvq+vvDSavE8jUlTloVN+T9\/UoQATNQAAAAAAAAAAAAAPnWrUrejOtWmoU4LMpSfBIDI920llvCRh3+1dpQrxtbGDvrmUsblLil4rn4GbOpf7YXM6dGUrXSYPDm48avHq7\/AJdZQ6bo9jpNLctKKi3+Kb4yl8X9CllHazMnmVKvy8Fx9kY8b3a+ru1I6bbU45\/DKSy1\/i4HrT2pvrGvTo63pcreM3uqtTfu58eHqVB87i3pXVCdCvTVSnNYlGXJjSW9HrozWMZu\/rawo1qVxRhWozU6c1mMovg0fQkrOdXZTWPYbiblpty80akn+B56\/Pj4MrTmUbFKVTTWODWaAAOSwAAAAAAAAAAAAAAAAAAAAAJHUXLaXaVaVGb9hs\/eruPXJcHx8ceZu69qa0nSa1zldJjcpJ9c3y8ufgc+y+mPTtJjKrl17h9JUbeefLrZSOqtIy1viTVLdm\/bqbEYqMVGKSSWEl1HkAmagAAAYW0+j+32ivLfML20W\/SlHm0uOPqu83QeptO6OKkFUi4szNA1aOsaXC5aSqr3KsV1SX58zTJO1jLZ\/bCVsliz1HjBdUZf75XwaKw6mknhkToTco2lmsGAAcFwAAAAAAAAD1lKMIOc5KMYrLbeEkSFxVr7Yar7LbycNKtpJ1Ki4dI\/65dnPuPvrV5X1zU46Hp0pqlCWLypFcEs4a8OPxZRWVlb6fawtramoU4Lgu3vfeUWor7zHL48tFbKz9fTlxPpQoUrahChRgoU6a3YxXUj6AEzYlYAAAzde0mGsaXUt3wqR9+k+yS5efI59ltUep6RBVH9\/b\/d1M83jk\/FeuTaJSEvsLbWUN3dtdTSxjkp\/wC+f8RSOMWjLV+HUjU3PB\/gqwATNQAAAAAAAAAAAAAAAAAAAPWUowg5yeIxWW+xAEtqqhru1ttpmXKhZp1KyzlN8Hj5LxZVkxsbGV09Q1aqnv3NbCz2Lj9ceBTlJ4PR4GXw2tF1H\/Z\/bcAATNQAAAAABOba2sp6VTvqfCrZ1VNPrSbw\/Xd8jcsrlXljQuUsKrTjPHZlC+oRurC4t5LKq05RfijG2JuHX2ejB\/3NSVNej\/8AYpnDkZtnxH\/S+6KAAEzSAAAAAADH2l1f7L01qk\/2q4zCjFc89bXwz8jXlJRi5SaSSy2+olNLT2k2gqatUWbSzahbxlFrL55581z8UdwSzeSM9ebSUI5v\/wA2auzmjrSdPxU966re\/XnlvL44Xhn5muActtu7KwgoRUY5IAA8OwAAAT22ltKpoyuqfCraVY1IyXNLl9U\/AoT4X1uruxuLZ\/3tOUPNYOouzTJVoadNx4njT7uN\/p9C7hjFWClhPk+teD4HQT2xNy62gqjLO9b1ZQ49nP6lCJK0mhRnp04y4oAA5KgAAAAAAAAAAAAAAAx9qr32LZ+5kpYnVXRR483Ln6ZNgl9q8XmqaTpvB9JW35p9mUvlvHcFeRDxMnGk7ZvD64Gts9Z+w6FaUcJScFOWO2XF\/M0gDlu7uVhFRiorcAAeHQAAAAAAJjYv7uOpW\/XTuX+X0KcmNj\/eutYmvwyueD8ZfmUjsszVfnU+vYpwATNIAAAAABPbYahOhYQ0+2zK5vpdGornu9fnlLxZq6Vp8NM02jaReXBZnL+KT4t+ZgaRBa5tVd6tKSqULR9Hb9nxXdzfxkVZSWCUTLR+JN1XyXJe7AAJmoAAAAAAAAAl9nf2PabWLDG6pSVWK7Fn8pIqCXupKz\/SBbTS4Xdvuyffx\/8AlFQUnmmZvDYKUeDfuAATNIAAAAAAAAAAAAAAAJeji+\/SDVmsuNlQwn1J4xj\/ADP1Kgl9kH7Xdapqb49PX3Yvu4vHqikcE2Zq2M4R9b\/QqAATNIAAAAAAAAAJfYb7yyvbjGOluX8k\/qbuqV422l3VeTwoUpPxxwM3Y2g6OzlFvh0spT4rHXj6FFsMzTxrxXBN9kboAJmkAAAGTtPfewaDcVI\/jqLo48ccZcPlk1iW2nf2jremaMuMZT6Wqs9X+ykdwV5EPEScabtm8F1NTZuwWnaHb0t1Kc49JU45zJ\/ywvA1QDlu7uVhFQiorcAAeHQAAAAAAAABL7UpUtb0S461X3Xjs3o\/zKgmNsvdnpc1+KNysPy\/IpyktlGal82ouXYAAmaQSuhXte62x1SMq05UoKUYwc24rEkspeBT1aipUp1HyhFyfgRuwMJ1bq\/up8ZNRWcc8tt\/IpBasmZK8n51OK4v7ItQATNYAAAAAAAABx6tX9m0i8rZScKM2s9uOHqZ+x1Dodm6Daw6rlN+eF6JHttdVdLZq6xzlux85L6HZolJUNEsqa6qEG\/i1llP6dTNn4jku7\/R3AAmaQAAAAAAAADA20uXQ2fnSi\/euKkaaxzfW\/ka2nW3sem21tjDpUoxfxxx9Se1Nx1va+106M26NkulrY5Z4PH+leLKopLCKRlpa9Wc+GH0zAAJmoAAAEvomNT2q1LU3lwo4o0uru5eHr5b+o3Psem3NznDpUpSXxxw9TI2KtfZ9noVHHDrzlU78cl8ikcItmaprVoR4Xf4RQAAmaQAAAAAAAAAAACY20\/5Z\/3K+hTkxtp\/yz\/uV9CnKS2UZqfzqnTsAATNJmbR3XsmgXlVSxJ03BPvlw+py7HWUbTZ+lPdxO4bqSfb1L0SOLb666PTLe1T41qu8\/hFfm0UlpR9ns6FDCXR04xwurCwUeEOZkWt4l\/5Xc+wAJmsAAAAAAAAAm9uqm5oEY\/x14x9G\/oUFCHRW9On\/BBR8kTm3fvaZa03ylcrP+F\/mU529hGaHz58l+QADg0gAAAAAA49V1CnpenVbuq+EF7q55k+CR2EjVc9q9oOgjJrTbGWXOK\/tJcOGfPw+J3FXeORCtUcI2jm8jv2SsZU7GepXCftN8+kk28+7l48858jfPEYqMVGKSSWEl1Hk5k7u53TgqcFFAAHhQAAAwds7l2+ztWKeHWnGn65fomamm2ytNMtrdLHR0oxee3HH1MLa79qu9K01cemr70l1YWFl+bKc7eEEZoa1eb4WX5AAODSAAAAAAAAAAAATG13319o9rH8VS5zns4xX19CnJi9\/btu7OhDlZ0ukqP1+sfMpykskjNRxqTl62+iAAJmkgtr6ju9qLa1azGChDHDi5PL+aL0\/M7+q6+0VXU+LowvYQTfXj+UT9MLVFZRR8\/wctKpUlxfuAARPoAAAAAAAAidqNo7231lWtjWUIW6i5465ZT4vs5LHe\/DqMXJ2RGvWjRjpSO\/bT3vsynz3rle728vzKcldppTq3mgRnHdqVK6bWMYeYZ+ZVHUtlE6WNWo+XYAAmagAZi2h02WprT41t6s3j3VlZzjHxPUm8jmU4x2maYBha3tJCxl7HYx9qv5vdjTisqD78dfcEm3ZHlSpGnHSkem1OrTt6EdNsvvL2791QisuMXlN\/E0dF0uGj6bTtINSkveqSSxvSfN\/JeBn7P6BVs61TUtSqdNqFbOW3lQT7O\/\/ZG+dSaS0URpRlKXmzVnuXBe7AAODSAAAAAATFf9s\/SBQpy4xtKG8l34fH\/MvIpyYs\/f\/SJf5\/ctljyh+ZTnc93IzeH\/ALv\/AEwADg0gAAAAAAAAA8SkoxcpNJJZbfUeTI2pvvYNAuJxluzqrooYeHl8\/TJ6ld2OKk1CLk9xnbKR9u1DUtZkv7aq6dPh+7z+PLd8vKoMzZ2y9g0K1ote84b8\/jLj9ceBpnU3eRPw8XGmr55\/UHLqd2rHTLm6zh0qbcfjjh64OomdtbiUrK202k\/vbysklx4pPu72jyCvJI9rz0KbkYFaydtsZaXU1xqXfSya4trDS+XqfokZKUVJcU1lGDtPaRp7I1aFOOVbwpqPwTS+WTS0ar0+i2VTOXKhDPxxxO5vSjf1IUIeVUcPRfk7QASNoAAAAAB6VakaNKdWbxGEXKT7kfmlhv6vrVKE5ZneXDqVOOWopPsxjg5eS4dtntde+xbP1sPEq7VGPjz9EzE2UsvZdpK9Gonv29qlh5xFvdbxn4v1L08ItnzPFfErQp7t\/X9I79pff2i0KD5Ks5f5o\/kU5MbR\/wDE2h\/9V\/OJTnEtlGqj8ypzXZAAEzSZG02q\/ZOj1KkJYr1fu6Xam+vwXHyMT9Vru2sLCvaQpVrmhmc6FWK3ZSfHm8Pqxh9x06l\/+1tda2MHJ0LH7ys0sre549EvFlSVvoJWMXlqvOTlksF+SXnbbV6tBUbmpb6dRfCfRPMmvBv5o1dJ0Cx0eC6CnvVmsSrT4yf5I0wcubasWhQjF6TxfFgAHBcAAAAAAAAAmNH97bbV5Pg1BLHby4+nqU5L2y9m\/SFcx\/Cri3yk+t4jy\/wv1KgpPNcjN4bZkvV9wACZpAAAAAAAAABK7QZ1XaXTtIXGlTfTVlu8O3j4L\/MVMmoxcnnCWeCyTWy9Od7qeo61Ui100+jpZ\/hXPnx6o+RSGF5GXxGs40+Lx5IpgATNQJfK1Tb3HF0tOpd6W9\/vL086O6uIWlrVuKjxClBzl8Esk9sVQnKzutTrY6W9rOWcPkm\/q2UjgmzLW1qkKfX6fs3r61V7YV7Vvd6anKGezK5mLsXcyqaNK0qJqpaVZQlF81l5+eV4FESlRfq\/tiqz4Wmp8JPqjPP5+kmI4pxFbUqRqbsn1\/ZVgAmagAAAAfK5uKVpa1bmtLdp0ouUn3IHjdldk5rqlqW1GmadGLlTovpauFwXXhv4R9TzY\/cbf38JL+2oKUXnn+H+fkedk6FS8q3Wu3K+9upuMF\/DFPGFw7seB52ntq1leW2v2sXKVtiNaKfOGf5tPwL79A+dZuPn+t+mXbE9do\/+JtD\/AOq\/nEpyR1a8o3+t7P3VvPep1J5XauMeD7yuOJ5I0UGnObXFdkDk1O\/p6bp9a7qNYhHgn1vqR1SkoxcpNJJZbfUSNzOW1+sxtaW\/9l2rzUqR4b8v64LxZ5GN3jkd1qjhG0dp5Hdsfp86FhPULnMrm+l0jk+e71eeW\/FFCeEklhLCR5OZPSdzulTVOCitwAB4UAAAAAAAAAAAAJfWGrPbXSruXCFaDpN54N8V\/wCyKgn9sbSVbRvaqW901pNVIuPNLr\/PwNjT7uN\/p9C7hjFWClhPk+teD4FJYxTM1LVqzjxx\/B0AAmaQAAAAAAAAAesYxhBQisRisJdiPYAAAAE5tndzjp1LT6Lbr3tRQUV1rP54Rt2NpCwsaNpTbcaUFFN9feTunt69tZV1FOM7OyXR0Wnzl248W8\/AqiksEomWjrzlV6Lkv2DO13So6xpc7Vvdmnv05dkly+ePE0QcJ2d0aJRU4uLyZg7M6zK8t3YXnuX1r7k4y5yS4Z\/P+ZvE\/r2iV53ENX0qW5fUeLiuVVdnx+Z16Jr9trFHdyqV1BfeUJcGn1tdqO5K+sjPSm4Pyqme58V7mqACZqBLbVXFXULq30CzbdStJSrtLO5Hqz3dfgjb1bVKGkWE7mtLD5QjjLlLqRnbMadWhGrqt9Fe2Xjy+GHGPZ2ccJ+RSOGszLXfmPyVvz5fs2ra3pWlrStqMd2nSioxXcj3lGM4OE4qUZLDTWU0ewJmlJJWIDWdJnomu2UtO+9lVqOpSoz5KWVw5rhyXVyNj9atRpYjX2eulPr3W2n3\/hG03ubQ6DPnmvu4\/wDKH5lOWlJWV1c+fTotVJqnLRxXYlK9LXto6kqNSP2ZYLn1yqL6+i+JR2Njb6daQtbWnuU4cl1t9rOgE3K+Brp0VB6Td3xAAOSwAAAAAAAAAAAAAAB861GFxQqUKizCpFxku1NYZN7JV3Z173Q60n0ltVlKm3+9Hlw9H\/5FQTO1FlWtK9HX7CL6e3a6ZLlKHf8AJ9z7ikMdXiZq6cWqq3Z8imBz2N7R1Czp3VCW9Cos\/B9afwOgmaE01dAAA9AAAAAAAAABh7V6m7LS\/Z6Mv2m7fRU0nxSfN\/T4tGzVqwo0p1aklGEIuUpPqS5sl9FjU17aGvrNZS9lt24WsZcuzK8OL733HcFve4zV5Oypxzl23s2tB0xaTpNG2wukxv1Wuub5+XLwNEA5bu7svGKhFRWSAAPDoGHq+zNC\/qu7tars73Kkq0Otrtxy+KNwHqbTujidONRWkiVhqu0WjwdPUNOd\/CH9\/SlzXgvjzSZ7T2tvaqcLPQ7idTknLOE\/gl9SoB3pLeiHk1FhGo7dH9yZsdBvdQvY6jr9RTlB\/dWyScY8v6x5spgDmUmy1OlGmsAADkoTG1nu6nolVP3oXPBPr96H5FOTG3PuWNlX5dHcrj2cG\/oU53LZRmp\/OqdOwABwaQAAAAAAAAAAAADw2kst4SMm82o0ezyp3kKkl+7S9\/1XA9SbyOJzjBXk7GuCX\/XCvdPGm6LdXC\/ilwx5J\/M2dIub+6tZVNQtFa1N\/EYJ5zHC4+eT1wazOIV4Tdo49Gd56yjGcHCcVKMlhprKaPYHJYkaNSpshrDtqrb0q7lmnN8eil\/XPu4lbGSlFSi001lNdZ8L6xt9StJ2tzDepzXin1Nd5M2V7dbKXS0\/U5Opp839xcYzu9z\/ACK7fMxp\/wAd2ew\/t6ciuB606kKtONSnOM4SWYyi8pruZ7EjYAAAAAAACc1faCdastL0RqveVHuyqR\/DSXXx7fkdRi28CdSpGmrs59eva+t332Dpj4RebqrnhFLq+Hb38Cks7SjYWlO1t4btKmsRRxaHolHRbVwi+kr1ONWq\/wB5\/kah7JrJZE6NOSbqT2n9lwAAODQAAAAAAAAAAAAAAAT229LpNnnLh93VjL5r6m3aVens6Fbj95TjLj3rJn7U0+l2bvY4ziCl5ST+h9dn6nS7P2Ms5xRjHyWPodvYMyw8Q\/VLuzRABwaQAAAAAAAZus65aaLQU67cqkl93Sjzl+S7z1Jt2RzKcYLSk7I76tanQpSq1pxp04LMpSeEkTtfaqreV5Wug2cryqlxqy4Qj549cHwt9G1HaKau9ar1KFtJ5p2kHjC6s9nz+BTWtnb2NBULWjClTX7sV6953aMc8WZk6tXLVj937E2tmtU1bcqa5qcnFPPs9JJJePLPg\/ia9ns7pNi1KjZU99cpTW+18M8jTB45yZSHh6cXe13xeLAAOC4AAAPheWVvf20ra6pqpTnzT+a7D7gHjSasyTlp2tbNzlPSX7bYtuTtpLMo\/Drfh5Ghp21umX03SqzdpWTxuV+C8+Xng3Dg1DRNO1PLurWE5tY6RcJeaKaSe0ZvJnT+U8ODy6cDujJSipRaaaymus8kxLYqlSnKdhqV1a54pRecPwwFs3rcXhbR13FPr3sv1PNGPE982qs6f0aKczr\/AF7TNNg3cXUN9f3cHvTfgvqZP6pXlxwvteuq0XzhHKXq33dR3WWymj2OGrbppr96s9705eh7aCzY068so25v2MqV9rW1D6KwpSsLF53q8uc1\/XUvM3tJ0Wz0egqdtTW+1idV\/in\/AF2HekksJYSPJ45XVlkdU6Ki9KTvLj7cAADguACfvtstOsL2raVaN1KdKW7JxjHH+o9UXLInUqQpq83YoATH6+abLKp2t5KXZuR\/+jx+t17WS9k0C6qZ5N5xjwid+XLgS\/l0d0u5UAmPtPau4\/sNHo0U+KdWXFLxa+R4VntjcrNTULa3XPCSb9Iv5jQ4tD+RfZi309yoPnUrUqKbq1YQSWW5SSJv9VtTrvN3tDcS7YwTx\/q+h9Kew2lxlvVatzWfXvTST8lkaMeI8ys8ofV+1zZo6pYXFx7PQvaFSr\/BComzrM2x2e0rTq0a9raKFWKaU3JyaysPmzSOHbcWhp217X9AADw7OHWodJol9Bc3bzx8d1nHsjPf2ZtO2O9F\/wCJmpd01Vs69N8p05RfijE2IqOezyi\/3Ksor0f1KLYZmlh4iPqn3RQgAmaQAAAAZeu61S0e0zjfuauY0aa4uT7fgepNuyOZzjCLlLI+O0G0ENIpKjRj017V4U6S44z1v8us59E2enCr9p6u\/aL6pxxN7yp\/z9F1DZ7QJ0JvVNTbq39b3vf49Hn6\/LkUR22oq0TNCEqr8yp0XD1fr2AAJmsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAExsL7mnXdH+C5fB8+SX0Kcl9lmqWt65bZ5V95fDel\/IpHZZmq4Vqb59v0VAAJmkAAA5729oafaVLq4lu06ay+19y7ye0KxrazfraDUep4tqWMKMVyfzx5n01ixvdb16lY1KdSnplGKnUmuCnLjyfp3cWUkYqMVGKSSWEl1FL6KwzZls6tS72Y\/d8eh5ABM1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4rfSra11K5v6e+qtykppv3eHYAereTmk3Hn+GdoAPCgAAAAAAAAAAAAAAAAAB\/\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "CAMILA VELIZ",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56936380484",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28690\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28690\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28690\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28690\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:36",
    "ubicacionGPS": "LatLng(lat: -22.4407003, lng: -68.8856774)",
    "horaLlegada": "12:26",
    "horaDespacho": "12:35",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/05/2026 12:36:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[15/05/2026 12:36: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('76050301', 'EP2615', 1, 24456550, 0, NOW(), 
				'12:35', '12:26', '12:36', 10, '•Entrega de insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778862998.png', '•Entrega en puerto seco', null, 'COMPLETADO','LatLng(lat: -22.4407003, lng: -68.8856774)' )
				
[15/05/2026 12:36:38] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200333
[15/05/2026 12:36:38] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200333', 'EPS-I302', 2)
				
[15/05/2026 12:36:38] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28690 and
				    IDproducto = 'EPS-I302'
				

15/05/2026 12:36:38 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I302';
                [15/05/2026 12:36:38] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200333', 'EPS-I303', 2)
				
[15/05/2026 12:36:38] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28690 and
				    IDproducto = 'EPS-I303'
				

15/05/2026 12:36:38 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I303';
                [15/05/2026 12:36:38] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200333', 'EPS-I304', 2)
				
[15/05/2026 12:36:38] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28690 and
				    IDproducto = 'EPS-I304'
				

15/05/2026 12:36:38 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I304';
                [15/05/2026 12:36:38] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200333', 'EPS-I305', 2)
				
[15/05/2026 12:36:38] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28690 and
				    IDproducto = 'EPS-I305'
				

15/05/2026 12:36:38 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I305';
                
15/05/2026 12:36:38 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200333'                    
				WHERE idllamado = 12593			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


15/05/2026 12:36:38 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12593			
				
15/05/2026 12:36:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 12: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 = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12:36:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12:36:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:36:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:36:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:36:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12:36:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

[15/05/2026 12:36:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:36:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:36:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:36:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:36:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12:36:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:36:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:36:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

[15/05/2026 12:36:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:36:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12:36:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12593
            GROUP BY l.idllamado;
            

15/05/2026 12:36:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12:36:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12: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 = 12593
                

15/05/2026 12:36:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

[15/05/2026 12:36: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;
                

15/05/2026 12: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 = 12595
                

15/05/2026 12: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 = 12595
                

15/05/2026 12: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 = 12595
                

15/05/2026 12:36:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12:36:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

[15/05/2026 12:36: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;
                

[15/05/2026 12:36: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;
                

15/05/2026 12:36:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12595
                

15/05/2026 12:36:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12595
                

[15/05/2026 12:36: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;
                

15/05/2026 12: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 = 12595
                

15/05/2026 12:36:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12595
                

15/05/2026 12:36:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12595
                

15/05/2026 12: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 = 12595
                

15/05/2026 12: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 = 12595
                

15/05/2026 12: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 = 12595
                

15/05/2026 12: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 = 12595
                

15/05/2026 12:36:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12:36:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12:36:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

[15/05/2026 12:36:46] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:36:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12:36:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12:36:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:36:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

[15/05/2026 12:36:46] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:36:46] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:36:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:36:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12:36:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

[15/05/2026 12:36:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:36:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12:36:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12: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 = 12595
                

15/05/2026 12: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 = 12595
                

15/05/2026 12:37:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12:37:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12595
                

15/05/2026 12: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 = 12595
                

15/05/2026 12:37:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12:37:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12:37:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12595
                

15/05/2026 12: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 = 12595
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12595
                

15/05/2026 12: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 = 12595
                

15/05/2026 12: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 = 12595
                

15/05/2026 12: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 = 12595
                

15/05/2026 12:37:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12:37:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12595
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12595
                

15/05/2026 12: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 = 12595
                

15/05/2026 12: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 = 12595
                

15/05/2026 12: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 = 12595
                

15/05/2026 12:37:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12:37:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:29 - logentry: =========================================
FECHA: 15/05/2026 12:37:29
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-6pQIYxopCxo1phx-JppRtcEdXQi5-Gg7YgLDr_tBpf3BAghIW2p
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "96846410",
    "serieinterna": "EP2622",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Etrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12595",
    "observacion": "•Entrega en puerto seco",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD1AUcDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABGEAABAwMBAwgFCAcIAwEAAAAAAQIDBAURBhIhMRNBUWFxgZHBFCKhsdEVIyQyMzZScwdCU3KS4fAWJTRDYrLC0jVE8eL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAA0EQACAQIDBAgFBAMBAAAAAAAAAQIDERIhMQQyQVETImFxgZHB0TNCobHhFCNE8DRSgmL\/2gAMAwEAAhEDEQA\/AP7MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4fLHG5rXyNar1w1FXGew+yWvf95auttuTKxwJy0icE6f+KeJUkmrJFVOpjlJcE7AAES0HlUslkpZWQScnK5iox+M7Lsbl8T1AONXMPTF1mraeWjrlVK2kdsS7WMqmdy+X\/wBNwlb41bHf6a+RovITLyVSie\/wTPa0qUVFTKLlFJzXFcSihJ2dOWsftwZ+gAgaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc9dOtNb6moTOYonP3J0Iqg43ZXJ\/T\/wBP1PdrkqqrWLyMar0Z+DU8SoJ\/RUCRaeZLnLqiR71Xv2f+JQE6m8UbKv2k3xz8wACBoAAAOC9W9tztNRSr9ZzcsXHByb0OPSVd6bYomu2uUp15F+0u\/dw9iobZL2v+6tZVtAu6Otby0e\/O\/ev\/AG8ELI5xaM1TqVYz55P0KgAFZpAAAAAAAAAAAAABi3XVFFbaj0VjJKqq\/ZRb8L0KvT1bzqTeSITqRpq8nY2gS+1qy7IqsSG2RcyOT11T2r7j9XTd6+0TUtRyicG4ds\/7vIngS1ZT08nuwb8l9ynBKrdL3p6RqXdqVdFnZSoiTLs55+HtTm4lJS1UNbTMqKd6PjkTKKhFxaJ060Zu2j5M9gARLgAAAAAAAAAAAAAAAAAAAAAZOqJOS03Wu6WI3xVE8zWMDWr1bpyVE4OexF8c+RKG8inaHalJ9jO3TsXI6foW9MKO8d\/maRz29iR22lY3g2FiJ4IdBx5snTVoJdgABwmAAACX1ejqKe33iNPWppdlyIuMou\/HsVO8qDgvlD8o2appUTL3MyxP9Sb09qEoO0imvBzptLU7WPbJG2Rjkc1yIrVTnQ+jF0nWLW6fgVztp8OYnZ6uHsVDaOSVnYnTmpwUlxAAOEwAAAAAAAZOorx8kW\/aiTaqZV2IWYzlede46k27IhOahFylojjv16qFqUs9oTbrZdz3p\/lJ5L18x22Sw01mgw3EtQ7fJM5N69nQh56as3yXQrJOu3V1C7cr1T1kz+rn+t5sk5O3VRTSpuT6WprwXL8gAFZpPiWKOaJ0UrEex6Yc1yZRUJGWGo0bcUqIVfLaZ34kZxWNfj0Lz8F5ixPGrpYq2lkpp27UcrdlyE4ytroUVqWNXWUloz7hljnhZNE9HxvRHNcnBUPsm9LTy0U1TYat2ZaVdqJfxMXo8c95SHJKzsSpVOkgpf24ABEtAAAAAAAAAAAAAAAAAABPa3+7r\/zWlCT2t\/u6\/wDNaTp7yM+0\/Bl3G1Rf4Gn\/ACm+49zwov8AA0\/5Tfce5F6l0d1AAHCQAAAAABL6a+g6gu9rVFRNvlY06G5+DmlQTFX9D1\/SSJubVwK13WuF+DSnLJ6pmbZsoyhyb9wACs0gAAAAAH4qoiZVcIhKUDF1HqZ9zcirR0K7EHDDnJz+K58DR1bcVt9jk5NyNlnXkm79+\/iqd2TsslB8m2enpVREe1mX4\/Eu9SxdWN+Zln+5VUOCzfp7neACs1AAAAAAExqtslvrKK+U7MrA7Ymx+s1eCe9O9ClY9skbZGORzXIitVOdDlu1GlwtVTSqmVkjXZ\/eTentRDP0hWel2CJjvr06rE5MY4cPYqeBY84X5GaPUrtcJZ+K1NwAFZpAAAAAAAJO+anq7Tf2wI1r6VjUc9qN9ZUVOntKiGZlRBHPGuWSNRzV6UVMoScWkmUwrQnKUVqj0ABEuAAAAAABPa3+7r\/zWlCT+tkVdOvwnCRmfEnT3kZ9p+DLuNmi\/wADT\/lN9x7nhQqi0FOqLlFib7kPci9S6O6gADhIAAAAAAl9X\/Rqy016J9jUYXrTKL5KVBO64i5TT+1+zma73p5m7Sy8vSQzftGNd4pkse4jNTyrzXOz9D1ABWaQAAAAACWvf946utlu3rHCnLSJzdO\/+FPEqSYt\/wBI17cJFTKQwo1q8cbmp8fFSnLJ8EZtnzc5c39sgACs0gAAAAAAl9P\/AEHVF3t6pspIvLMTqz8HJ4FQS9wT0LXVBUJuZVRrG7rXen\/UshndGbaMnCfJ\/fIqAAVmkAAAAAAk62nim122nnbtR1VIrVRd27C8PA9NMVE1uuFTYKtyqsSq6nVf1m9Xv8T91N9EvtnuHBEl5N7uhMp3cFcfOrGrb6633uJqbUMnJydaLvT2bXiX6pLmeY\/25ymvlefc7FSD5Y9skbZGORzXIitVOdD6KD0wAAAAAAS+ua9kNsbROjcrqhctenBNlUVc+wqCT1\/DtW2lm\/BKrePSn8iynvoy7Y2qErFBaXpJZ6J7eCwM\/wBqHYSuhLik9ukoXvzJA7aYi\/gX+efFCqIzVpNFlCoqlKMkAARLgAAAAADE1gza0zVLvy1WLu\/eQ7rO\/lLLQv3b6ePOP3UOfUzUdpytRf2efBUPvTq7Wn6LguIkTd1bifyeJmX+Q+71NIAEDSAAAAAATFj++F57veU5MW9Vh19co1XdJAjk8G\/zKcnPUzbNutdr+4ABA0gAAAAAAmNW+rc7HInFtTu\/iZ8CnJfXCJHSUNTj7KpTf3KvkWU95Gba\/gvw+5UAArNIAAAAABhaxpPSbBJI1F26dyStVOrcvsVRVql70Y+TGXSU+3hPxt3+9DZqIW1NNLA\/6srFY7sVME9ouZyW6e3T45SklVqsXmavlnJYn1e4x1IrprPSSt5fg7tLVi1unqV7lRXxt5N2P9O5PZg1yX0iq0dbc7S7KJBNtRoq71Th7kb4lQcmrSZbs0nKkr66eWQABAvAAABhayg5bTkzueJzXpv68eZunDe4uWslbHu3wPxnqTJKLtJMqrRxU5LsIqwyfJ9ytFWqYZVsfC9d29Ucqez1D+hkDSUfyjoORzMrLRzOezC9GFX2KpXWO4NudogqUdl+zsyZ4o5OPx7yyrnmY9ieFYOaTX2ZoAApPRAAAAAAMvUn3drfyhpv7u0X5Q1J93a38oab+7tF+UWfJ4mb+T\/z6moACs0gAAAAAEvXZp9f0EvBs8CtXtw7+RUEvqz5i52atzhsdRhy82MtX3IpUFktEzNRynOPbfzQABWaQAAAAAATeuv\/AADfz2+5SkJvXX\/gG\/nt9yk6e+jPtXwJdxQQfYR\/up7j0POD7CP91PcehAvWgAAOgAAAla9G2HV0Fei7NNXosc27cjt2\/q34XxKoytSW5LnZJ4kTMkacpH+8icO9Mp3k4OzzKNog5QvHVZozJ8W\/X8Em5rK6FWuVd2\/Hxa3xKggqy5NqrVZLkr\/nqSdIpenKYX2o3PeXpKorWKtmmpOVtNfNAAFRsAAAB8vYkkbmO4ORUU+gASmg1xQ1tM9N8c29F60x5HxG5NJX10T1VLXWrtNdjKRO6M\/1uwemlvmL\/e6ZF9XlconUjnfFDeutthu1BJSTbkdva5OLXcyl0pWm76M86lTcqEXHeje3np4nWioqZRcop+kzp66TUlQ6xXRdmoh3QvXhI3mTPu\/kUxXKOF2NtKoqkboAAiWAAAGXqT7u1v5Q0393aL8o8tWzJDpurXO96NYnXlyeWTrskPo9kool4pC3PaqZUn8niZv5Hh6ncACBpAAAAAAMHWVK6o0\/JIzO1A9siY444L789xp2yqSttlNU5yskaKvbjf7T2qqdlVSy08n1ZWKxd3SmCf0VUPbQ1Ftm3S0cqtVM8EVV3eKKWaw7jK+ptC\/9L6r8FKACs1AAAAAAAmdeqqWKJE56lqL\/AAuKYmNa+uy3Q\/jqU3Jx6PMnT3kZtr+DIpmtRrUam5ETCH6AQNIAAAAAAAAB\/OtXW2S2Vr1hylJVu5XZ5mvTOfevcvUX9LJy1HDL+ONrvFDM1ZTsqNO1KvajliRHsVeZUXj4KpzaOvDa62to5HJy9K1G46Wcy93Auk3KCfI8+mo0dpcf9ldFEACk9AAAAAAAlbYvI6\/uUWMbcWf9i+ZVEfK\/kP0ksVUwkrETjx9THvQsCypw7jJsrymuUmZV9skV5pcIqR1Me+GbnavQvUZ1r1K6lmS2XzMFVHuSZ+Ea9OtfPgpTHJcLZSXSn5CshSRqLlq5wrV6UU4pK1pE6lKWLHTdn9H\/AHmdTXI5qOaqKiplFTnP0lXWe+WLL7PVel06f+vNxThw6dyc2Ow+o9bwwqkdxt9RTSpuXCZTKduDuBvdzI\/qYxyqLC\/p5lQCeXW9nRqqizuxzJGc0up6+6sWCyW2baemOXlwiM68cPFfE50cjr2qktHfuzPrVD1udxorFC92XvSSdW79hvNnuyvgUzWtYxGNTDWphE6EMiw2L5Ma+pqpFqK6bfLKqquOpPibIk1ojtGEructX9EAAQNAAAAAAAJOt2bHrOCsRqtp69uxIqcNrOF9uyvepWGNqq3OuNkkSP7WBeVZjnVEXKeGfYTg87PiZ9oi3DFHVZo2QZtguPypZoKlzsyY2ZP3k3L48e80iLVnYuhJTipLiAAcJAAAAl9S4qNR2SlzjZl5R2\/imU\/6qVBLuxV\/pERFTa9Ep+jhu\/8A2WU9bmbac4qPNr3KgAFZpAAAAAAAAAMvUn3drfyiY9AloLPbtQW9qpNDGnLsTg9vSvuXq37sZKfUn3drfyj8061r9NUbHtRzXRYVFTKKm8tjLDG\/aYatNVK1uz63O2hrYbhRx1UDtpkiZ7F50XsOgkM1Gjbgu50toqX7sZVYl\/rxRCrhmiqIWTQvR8b0y1zV3KhGUbZrQvo1cfVllJa\/3kegAIF4AABD6jm9H1vQzZREakWVVcbtpclwfzzXCq3ULHJuVIWqnipf08qT00UycJGI5O9Ml1RdWLMGzS\/eqx7T0ABSbwfLmte1WvajmrxRUyin0ADySlp2uVyQRoq8VRiHqADiSQAAOgAAAz47vHLfJbU2J3KRR7bn5TGN3Nx\/WQ0CYtSpPrq6zt4MiSPGf3U\/4koq9ymrNxcUuLKcAES4AAAk7W7+z+qJrU5Nmlq\/Xg6M83mnchWGLqi1uuFtSaDKVVIvKxKnHdxT2J3oh02K6tu9riqcokuNmVqfquTj48e8sl1liMtH9ubpPTVd3LwNEAFZqAAABL6SzWXC63Rd7ZpthmOjevuVpp6kr0t1jqJdpEe9vJx7s5cv8sr3DTVAtusVPE7G29OUfjpdv9iYTuLFlBvmZZ9avFcs\/RepqgArNQAAAAAAAABl6k+7tb+UfunEVunqJFx9knBcnjq16M0zVqvOjUTvch1WNmxYqFuc\/R2L7EJ\/J4mb+R\/z6nVUU8VXTvp52I+ORMOapJ008+jq11LVukmtkrvmpE3qxV6venehYnnPTw1ULoZ42yRuTCtcmUURlbJ6EqtLE1KLtJCGaKohZNC9HxvTLXNXcqHoSUtFdNLTLUW5X1tvVfXpt+We\/wAU7zbtV+oLvG30eZEmxl0Llw5Pj2oHDitDlOum8E8pf3Q0gAQNBCasg9I1DKz8NCr\/AOHK+RTaZm5fTlE\/oj2P4VVvkZDYkumta5MepBTLEqqvSmPNfDrOjQ0rnWR8LuMM7m46Ewi+9VL57luVjzKGW0OXO\/0sUgAKD0wAAAAAAAAAAAAS+kVSeuvFXnPK1G7sy5fMo6qZKakmnXGImOeuepMmDoaLYsLpFyqyzOcqr3J5Fi3GZqmdeC5XfoUYAKzSAAACQqEdpPUCVLEX5NrVw9qLuY7+XHsyV5y3GghudDJSVCeo9OKcWrzKhOMrPPQorU3NXjqtDpa5HNRzVRUVMoqc5+kzp24TUNY\/T1wVOVh+wk4bbejw4eHMUxyUbMlSqKpG\/wDbgA5rhXQ22hlq53IjY2qqJnG0vMidakVmWNpK7J27vS+aqpLS1qSQUi8pUdHYvVwTtcVZPaQo3to5blU+tUVr9tXKufV5udev2dBQk562XAz7Om06j1ln4cAACBpAAAAAAAAAJzXMmxp\/Z\/aTNb718jepo+RpYovwMRvghO6s+k3Kz0Cb+Un2nJ0JlEz4KvgU5N7qM1POtN9y9fUAAgaQYlz0vR1j3VNKrqOs3qksK7KKvWieW82wdTa0ITpxqK0kTCrq+gc5jGU9wjauGudhHY8U3+J+Ou+qJEVkdkZG9U3OcuUT248SoBPGuRT0D4TZj6es0lrimlqpGyVdS\/blem\/29qqZ+mvomoLzQKn+ZyrezK+TkKgl5V9D\/SHG7mrKfC7uhF\/6IdTcr3IVIKl0eHg7eZUAAqNgAAAAAAAAAAABlamm5DTla\/KpmPZ3f6lRPM+tNw8hp2iZjGYkf\/F63mZuuptiyMhTe6aZqY6URFX34KGni5Cmih3fNsRu7qTBY8oIzRz2hvkl9T0ABWaQAAAAADF1HZVudOyoplVlbTLtRPbuVcb8fDr7VPvT17S70itmTk6yD1Zo1TC56cf1g1yZ1Fap6aobfLSmzUxb5mN\/zG9OOfr6iyLxLCzLVi6culh4r170UxIzPdq29tp41VbVSO2nuRN0jv63dmT4rtQzX6GmttpRWTVTfpCqn2acFTPRx7sdJS2u2QWmhZSU6bk3ucvFzudVO2wK71IOS2iWGO6te3s9zra1GtRrURERMIicx+gFRtAAAAAAAAAAB5VNRFSUstTM7ZjiarnL1IDjdldk2n94\/pAyiK6Oghxw3IuPi72dRUk1o2B8tNVXWdE5WtmVUXqRfjnwKUnU1tyM+zK8Mb+Z39voAAQNIAAAAOK6XSltNItRVPwnBrU4vXoQ6lfJHJSUVd6HaS+rvotfabijtlIZ9l69WUX3Ip9WZt1vVwjvFZI6mpWIvIU7VXDt2Mr1b+PP2HTrKn5fTkzkblYXNkTxwvsVSyKwzSMdWTq0JSStxXhmboOS1VHpdppaheMkTVXtxv8AadZU1Y2ReJJoAAHQAAAAAAAACY1Z87dbJTLvbJU5ciceLU81KcmNRY\/tPY8\/tF96FOTluozUvi1H2r7AAEDSAAAAAADiu7a99ukZbXMbUOwiK5cYTnx1naDqdmRksSaI6WwV2nGR3K2SrPLGzFTGqZR6c6onR\/8ATfs18pL1Ar4FVsjU+cidxb8U6zSJ276elSoS52VUp61i5c1MI2Xyz7FJ4lPKWpl6OVDOlmuK9iiBiWTUUdfmkrWpS18a7Lon+rtr1Z9xtkGmnZmmFSNSOKIABwmAAAAAACa1ZWS1CQ2Oh9epq19dEX6rU37+jhnsRTXu91p7RQuqJ3JnGI2c73dBl6ZtlQskt6uSL6bU8EcmNhvZzcE7iyKt1mZa7c30MeOvYvyblJTMo6SKmjREZExGphOhD2AKzSkkrIAAHQAYN71KyietDQNWpr37msYm0jF6+vqOqLbsiupUjTjikdN7vsFmgRFTlamRPmoU4uXpXqM22WGruNU26X93KScYqZfqsTmynl4nvZNOupp1uN0k9Jr3rtZVcpH2df8ASFATbUcolEacqrx1NOC9z8RERMImEQ8K+n9Lt9RTY+1jc1O1UOgFZqaTVmT+iqhZtPtid9aCRzFRePT5lAS+msUeobvbtyJt8qxE5kz8HIVBOpvFGyu9JJ8MvLIAAgaAAAAAAAAACY1X83drHMnFtTjt9Zn9d5Tk3reF62eOpjT1qeZrlXoRd3vwb9NO2ppYqhiYbKxHp2KmSyW6jNTyrTXOz9D1ABWaQAAAAAAAAAAADKu+nKC8+vOxWTomElYuF7+ZTIWrvumE2aqP5SoG7klaio5iIiceOO\/xKwE1N6PNGedBN4ouz5r15mXb9R2q5I1IaprJHf5Uvqu7OvuNQyK\/TFpuDtuSlSN\/44vVVfIzk0tcqLHyZfJmMRPs5cqieXMnMdtB6OxHHXhvRv3ezKgEx6FrKPhc6SROCIrU8fqDY1m\/dylHH17vgowdqO\/qH\/pLy\/JTmLddUUNuzDE5KmqVcNijXO\/rXmOF2nLzcsfKl6VGKqK6KFuE8k9imrbNP220rt00OZf2si7Tu7o7haK1dzjnWnlFYVzfsZltslbcK5LrfsLI37GmT6rO1PLxKYAjKTZdTpRpqyABxVt3t9uXFXVxxOxnYVcux2JvOJN6E5SUVdux2njVVdPRQOnqZWxRt4ucpPy6rmrlWGxW+WpkzhZJG4Y3r4+\/B8waXrK+pbVX+tWoVFykDF9VOrmx3eJPBbeyMz2jFlSV+3h5+x8TXi46jkfR2aJ8FKq4fWP3buro9\/Ya9msFJZo15JFknf8AXmf9ZezoQ0YoY4ImxQsbHGxMNa1MIiH2ccsrLQlCjaWObvL7dwABA0AAAEvWfQdfUkyqqMrIdhV696Y9jSoJnWsDmUdLcot0lHMi53cF\/miFFBMyop452LlkjEe1epUyWSzimZaPVqTh4+f5PQAFZqAAAAAAAAAOS60fyha6mk55Y1Ru\/wDW5vbgytH3Bai1rRSpsz0S8m5q8cc3mncUBM3e3VtruLr3aG8or0+k0+Prp0on9L7SyOawmasnCaqrhk+78FMDEodW2ytlbC50kEy5yyVi7lTimU7ARcWtUWxq05K8WbYAIlgAAAAAAAAAAAAAAAAAAAAAAAAOCqsltrqtKqqpWyyo1GorlXGOzOADqbWhGUYyVpK52xxsiYjI2NY1OCNTCIfQBwkAAAAAAAAActyomXG3T0b3bKSs2drGdleZfE+bTSrRWqmplkWXk2Im0qYyAdu7WIYVjxcTsABwmAAAAAAAAAAAAeawQrKkyxMWROD9lMpuxx7AABY\/\/9k=",
    "razonSocial": "STEEL INGENIERIA S.A.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "CLAUDIO CARVAJAL",
    "correoContacto": "claudio.carvaja@veltislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56941499852",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28691\",\"cantidad_usada\":4,\"cantidad_asignada\":4},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28691\",\"cantidad_usada\":11,\"cantidad_asignada\":11},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28691\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28691\",\"cantidad_usada\":5,\"cantidad_asignada\":5},{\"id_inventario\":\"EPS-R640\",\"id_control\":\"28691\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:37",
    "ubicacionGPS": "LatLng(lat: -22.4407009, lng: -68.8856947)",
    "horaLlegada": "12:26",
    "horaDespacho": "12:36",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 15/05/2026 12:37:29
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-6pQIYxopCxo1phx-JppRtcEdXQi5-Gg7YgLDr_tBpf3BAghIW2p
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "96846410",
    "serieinterna": "EP2622",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Etrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12595",
    "observacion": "•Entrega en puerto seco",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD1AUcDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABGEAABAwMBAwgFCAcIAwEAAAAAAQIDBAURBhIhMRNBUWFxgZHBFCKhsdEVIyQyMzZScwdCU3KS4fAWJTRDYrLC0jVE8eL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAA0EQACAQIDBAgFBAMBAAAAAAAAAQIDERIhMQQyQVETImFxgZHB0TNCobHhFCNE8DRSgmL\/2gAMAwEAAhEDEQA\/AP7MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4fLHG5rXyNar1w1FXGew+yWvf95auttuTKxwJy0icE6f+KeJUkmrJFVOpjlJcE7AAES0HlUslkpZWQScnK5iox+M7Lsbl8T1AONXMPTF1mraeWjrlVK2kdsS7WMqmdy+X\/wBNwlb41bHf6a+RovITLyVSie\/wTPa0qUVFTKLlFJzXFcSihJ2dOWsftwZ+gAgaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc9dOtNb6moTOYonP3J0Iqg43ZXJ\/T\/wBP1PdrkqqrWLyMar0Z+DU8SoJ\/RUCRaeZLnLqiR71Xv2f+JQE6m8UbKv2k3xz8wACBoAAAOC9W9tztNRSr9ZzcsXHByb0OPSVd6bYomu2uUp15F+0u\/dw9iobZL2v+6tZVtAu6Otby0e\/O\/ev\/AG8ELI5xaM1TqVYz55P0KgAFZpAAAAAAAAAAAAABi3XVFFbaj0VjJKqq\/ZRb8L0KvT1bzqTeSITqRpq8nY2gS+1qy7IqsSG2RcyOT11T2r7j9XTd6+0TUtRyicG4ds\/7vIngS1ZT08nuwb8l9ynBKrdL3p6RqXdqVdFnZSoiTLs55+HtTm4lJS1UNbTMqKd6PjkTKKhFxaJ060Zu2j5M9gARLgAAAAAAAAAAAAAAAAAAAAAZOqJOS03Wu6WI3xVE8zWMDWr1bpyVE4OexF8c+RKG8inaHalJ9jO3TsXI6foW9MKO8d\/maRz29iR22lY3g2FiJ4IdBx5snTVoJdgABwmAAACX1ejqKe33iNPWppdlyIuMou\/HsVO8qDgvlD8o2appUTL3MyxP9Sb09qEoO0imvBzptLU7WPbJG2Rjkc1yIrVTnQ+jF0nWLW6fgVztp8OYnZ6uHsVDaOSVnYnTmpwUlxAAOEwAAAAAAAZOorx8kW\/aiTaqZV2IWYzlede46k27IhOahFylojjv16qFqUs9oTbrZdz3p\/lJ5L18x22Sw01mgw3EtQ7fJM5N69nQh56as3yXQrJOu3V1C7cr1T1kz+rn+t5sk5O3VRTSpuT6WprwXL8gAFZpPiWKOaJ0UrEex6Yc1yZRUJGWGo0bcUqIVfLaZ34kZxWNfj0Lz8F5ixPGrpYq2lkpp27UcrdlyE4ytroUVqWNXWUloz7hljnhZNE9HxvRHNcnBUPsm9LTy0U1TYat2ZaVdqJfxMXo8c95SHJKzsSpVOkgpf24ABEtAAAAAAAAAAAAAAAAAABPa3+7r\/zWlCT2t\/u6\/wDNaTp7yM+0\/Bl3G1Rf4Gn\/ACm+49zwov8AA0\/5Tfce5F6l0d1AAHCQAAAAABL6a+g6gu9rVFRNvlY06G5+DmlQTFX9D1\/SSJubVwK13WuF+DSnLJ6pmbZsoyhyb9wACs0gAAAAAH4qoiZVcIhKUDF1HqZ9zcirR0K7EHDDnJz+K58DR1bcVt9jk5NyNlnXkm79+\/iqd2TsslB8m2enpVREe1mX4\/Eu9SxdWN+Zln+5VUOCzfp7neACs1AAAAAAExqtslvrKK+U7MrA7Ymx+s1eCe9O9ClY9skbZGORzXIitVOdDlu1GlwtVTSqmVkjXZ\/eTentRDP0hWel2CJjvr06rE5MY4cPYqeBY84X5GaPUrtcJZ+K1NwAFZpAAAAAAAJO+anq7Tf2wI1r6VjUc9qN9ZUVOntKiGZlRBHPGuWSNRzV6UVMoScWkmUwrQnKUVqj0ABEuAAAAAABPa3+7r\/zWlCT+tkVdOvwnCRmfEnT3kZ9p+DLuNmi\/wADT\/lN9x7nhQqi0FOqLlFib7kPci9S6O6gADhIAAAAAAl9X\/Rqy016J9jUYXrTKL5KVBO64i5TT+1+zma73p5m7Sy8vSQzftGNd4pkse4jNTyrzXOz9D1ABWaQAAAAACWvf946utlu3rHCnLSJzdO\/+FPEqSYt\/wBI17cJFTKQwo1q8cbmp8fFSnLJ8EZtnzc5c39sgACs0gAAAAAAl9P\/AEHVF3t6pspIvLMTqz8HJ4FQS9wT0LXVBUJuZVRrG7rXen\/UshndGbaMnCfJ\/fIqAAVmkAAAAAAk62nim122nnbtR1VIrVRd27C8PA9NMVE1uuFTYKtyqsSq6nVf1m9Xv8T91N9EvtnuHBEl5N7uhMp3cFcfOrGrb6633uJqbUMnJydaLvT2bXiX6pLmeY\/25ymvlefc7FSD5Y9skbZGORzXIitVOdD6KD0wAAAAAAS+ua9kNsbROjcrqhctenBNlUVc+wqCT1\/DtW2lm\/BKrePSn8iynvoy7Y2qErFBaXpJZ6J7eCwM\/wBqHYSuhLik9ukoXvzJA7aYi\/gX+efFCqIzVpNFlCoqlKMkAARLgAAAAADE1gza0zVLvy1WLu\/eQ7rO\/lLLQv3b6ePOP3UOfUzUdpytRf2efBUPvTq7Wn6LguIkTd1bifyeJmX+Q+71NIAEDSAAAAAATFj++F57veU5MW9Vh19co1XdJAjk8G\/zKcnPUzbNutdr+4ABA0gAAAAAAmNW+rc7HInFtTu\/iZ8CnJfXCJHSUNTj7KpTf3KvkWU95Gba\/gvw+5UAArNIAAAAABhaxpPSbBJI1F26dyStVOrcvsVRVql70Y+TGXSU+3hPxt3+9DZqIW1NNLA\/6srFY7sVME9ouZyW6e3T45SklVqsXmavlnJYn1e4x1IrprPSSt5fg7tLVi1unqV7lRXxt5N2P9O5PZg1yX0iq0dbc7S7KJBNtRoq71Th7kb4lQcmrSZbs0nKkr66eWQABAvAAABhayg5bTkzueJzXpv68eZunDe4uWslbHu3wPxnqTJKLtJMqrRxU5LsIqwyfJ9ytFWqYZVsfC9d29Ucqez1D+hkDSUfyjoORzMrLRzOezC9GFX2KpXWO4NudogqUdl+zsyZ4o5OPx7yyrnmY9ieFYOaTX2ZoAApPRAAAAAAMvUn3drfyhpv7u0X5Q1J93a38oab+7tF+UWfJ4mb+T\/z6moACs0gAAAAAEvXZp9f0EvBs8CtXtw7+RUEvqz5i52atzhsdRhy82MtX3IpUFktEzNRynOPbfzQABWaQAAAAAATeuv\/AADfz2+5SkJvXX\/gG\/nt9yk6e+jPtXwJdxQQfYR\/up7j0POD7CP91PcehAvWgAAOgAAAla9G2HV0Fei7NNXosc27cjt2\/q34XxKoytSW5LnZJ4kTMkacpH+8icO9Mp3k4OzzKNog5QvHVZozJ8W\/X8Em5rK6FWuVd2\/Hxa3xKggqy5NqrVZLkr\/nqSdIpenKYX2o3PeXpKorWKtmmpOVtNfNAAFRsAAAB8vYkkbmO4ORUU+gASmg1xQ1tM9N8c29F60x5HxG5NJX10T1VLXWrtNdjKRO6M\/1uwemlvmL\/e6ZF9XlconUjnfFDeutthu1BJSTbkdva5OLXcyl0pWm76M86lTcqEXHeje3np4nWioqZRcop+kzp66TUlQ6xXRdmoh3QvXhI3mTPu\/kUxXKOF2NtKoqkboAAiWAAAGXqT7u1v5Q0393aL8o8tWzJDpurXO96NYnXlyeWTrskPo9kool4pC3PaqZUn8niZv5Hh6ncACBpAAAAAAMHWVK6o0\/JIzO1A9siY444L789xp2yqSttlNU5yskaKvbjf7T2qqdlVSy08n1ZWKxd3SmCf0VUPbQ1Ftm3S0cqtVM8EVV3eKKWaw7jK+ptC\/9L6r8FKACs1AAAAAAAmdeqqWKJE56lqL\/AAuKYmNa+uy3Q\/jqU3Jx6PMnT3kZtr+DIpmtRrUam5ETCH6AQNIAAAAAAAAB\/OtXW2S2Vr1hylJVu5XZ5mvTOfevcvUX9LJy1HDL+ONrvFDM1ZTsqNO1KvajliRHsVeZUXj4KpzaOvDa62to5HJy9K1G46Wcy93Auk3KCfI8+mo0dpcf9ldFEACk9AAAAAAAlbYvI6\/uUWMbcWf9i+ZVEfK\/kP0ksVUwkrETjx9THvQsCypw7jJsrymuUmZV9skV5pcIqR1Me+GbnavQvUZ1r1K6lmS2XzMFVHuSZ+Ea9OtfPgpTHJcLZSXSn5CshSRqLlq5wrV6UU4pK1pE6lKWLHTdn9H\/AHmdTXI5qOaqKiplFTnP0lXWe+WLL7PVel06f+vNxThw6dyc2Ow+o9bwwqkdxt9RTSpuXCZTKduDuBvdzI\/qYxyqLC\/p5lQCeXW9nRqqizuxzJGc0up6+6sWCyW2baemOXlwiM68cPFfE50cjr2qktHfuzPrVD1udxorFC92XvSSdW79hvNnuyvgUzWtYxGNTDWphE6EMiw2L5Ma+pqpFqK6bfLKqquOpPibIk1ojtGEructX9EAAQNAAAAAAAJOt2bHrOCsRqtp69uxIqcNrOF9uyvepWGNqq3OuNkkSP7WBeVZjnVEXKeGfYTg87PiZ9oi3DFHVZo2QZtguPypZoKlzsyY2ZP3k3L48e80iLVnYuhJTipLiAAcJAAAAl9S4qNR2SlzjZl5R2\/imU\/6qVBLuxV\/pERFTa9Ep+jhu\/8A2WU9bmbac4qPNr3KgAFZpAAAAAAAAAMvUn3drfyiY9AloLPbtQW9qpNDGnLsTg9vSvuXq37sZKfUn3drfyj8061r9NUbHtRzXRYVFTKKm8tjLDG\/aYatNVK1uz63O2hrYbhRx1UDtpkiZ7F50XsOgkM1Gjbgu50toqX7sZVYl\/rxRCrhmiqIWTQvR8b0y1zV3KhGUbZrQvo1cfVllJa\/3kegAIF4AABD6jm9H1vQzZREakWVVcbtpclwfzzXCq3ULHJuVIWqnipf08qT00UycJGI5O9Ml1RdWLMGzS\/eqx7T0ABSbwfLmte1WvajmrxRUyin0ADySlp2uVyQRoq8VRiHqADiSQAAOgAAAz47vHLfJbU2J3KRR7bn5TGN3Nx\/WQ0CYtSpPrq6zt4MiSPGf3U\/4koq9ymrNxcUuLKcAES4AAAk7W7+z+qJrU5Nmlq\/Xg6M83mnchWGLqi1uuFtSaDKVVIvKxKnHdxT2J3oh02K6tu9riqcokuNmVqfquTj48e8sl1liMtH9ubpPTVd3LwNEAFZqAAABL6SzWXC63Rd7ZpthmOjevuVpp6kr0t1jqJdpEe9vJx7s5cv8sr3DTVAtusVPE7G29OUfjpdv9iYTuLFlBvmZZ9avFcs\/RepqgArNQAAAAAAAABl6k+7tb+UfunEVunqJFx9knBcnjq16M0zVqvOjUTvch1WNmxYqFuc\/R2L7EJ\/J4mb+R\/z6nVUU8VXTvp52I+ORMOapJ008+jq11LVukmtkrvmpE3qxV6venehYnnPTw1ULoZ42yRuTCtcmUURlbJ6EqtLE1KLtJCGaKohZNC9HxvTLXNXcqHoSUtFdNLTLUW5X1tvVfXpt+We\/wAU7zbtV+oLvG30eZEmxl0Llw5Pj2oHDitDlOum8E8pf3Q0gAQNBCasg9I1DKz8NCr\/AOHK+RTaZm5fTlE\/oj2P4VVvkZDYkumta5MepBTLEqqvSmPNfDrOjQ0rnWR8LuMM7m46Ewi+9VL57luVjzKGW0OXO\/0sUgAKD0wAAAAAAAAAAAAS+kVSeuvFXnPK1G7sy5fMo6qZKakmnXGImOeuepMmDoaLYsLpFyqyzOcqr3J5Fi3GZqmdeC5XfoUYAKzSAAACQqEdpPUCVLEX5NrVw9qLuY7+XHsyV5y3GghudDJSVCeo9OKcWrzKhOMrPPQorU3NXjqtDpa5HNRzVRUVMoqc5+kzp24TUNY\/T1wVOVh+wk4bbejw4eHMUxyUbMlSqKpG\/wDbgA5rhXQ22hlq53IjY2qqJnG0vMidakVmWNpK7J27vS+aqpLS1qSQUi8pUdHYvVwTtcVZPaQo3to5blU+tUVr9tXKufV5udev2dBQk562XAz7Om06j1ln4cAACBpAAAAAAAAAJzXMmxp\/Z\/aTNb718jepo+RpYovwMRvghO6s+k3Kz0Cb+Un2nJ0JlEz4KvgU5N7qM1POtN9y9fUAAgaQYlz0vR1j3VNKrqOs3qksK7KKvWieW82wdTa0ITpxqK0kTCrq+gc5jGU9wjauGudhHY8U3+J+Ou+qJEVkdkZG9U3OcuUT248SoBPGuRT0D4TZj6es0lrimlqpGyVdS\/blem\/29qqZ+mvomoLzQKn+ZyrezK+TkKgl5V9D\/SHG7mrKfC7uhF\/6IdTcr3IVIKl0eHg7eZUAAqNgAAAAAAAAAAABlamm5DTla\/KpmPZ3f6lRPM+tNw8hp2iZjGYkf\/F63mZuuptiyMhTe6aZqY6URFX34KGni5Cmih3fNsRu7qTBY8oIzRz2hvkl9T0ABWaQAAAAADF1HZVudOyoplVlbTLtRPbuVcb8fDr7VPvT17S70itmTk6yD1Zo1TC56cf1g1yZ1Fap6aobfLSmzUxb5mN\/zG9OOfr6iyLxLCzLVi6culh4r170UxIzPdq29tp41VbVSO2nuRN0jv63dmT4rtQzX6GmttpRWTVTfpCqn2acFTPRx7sdJS2u2QWmhZSU6bk3ucvFzudVO2wK71IOS2iWGO6te3s9zra1GtRrURERMIicx+gFRtAAAAAAAAAAB5VNRFSUstTM7ZjiarnL1IDjdldk2n94\/pAyiK6Oghxw3IuPi72dRUk1o2B8tNVXWdE5WtmVUXqRfjnwKUnU1tyM+zK8Mb+Z39voAAQNIAAAAOK6XSltNItRVPwnBrU4vXoQ6lfJHJSUVd6HaS+rvotfabijtlIZ9l69WUX3Ip9WZt1vVwjvFZI6mpWIvIU7VXDt2Mr1b+PP2HTrKn5fTkzkblYXNkTxwvsVSyKwzSMdWTq0JSStxXhmboOS1VHpdppaheMkTVXtxv8AadZU1Y2ReJJoAAHQAAAAAAAACY1Z87dbJTLvbJU5ciceLU81KcmNRY\/tPY8\/tF96FOTluozUvi1H2r7AAEDSAAAAAADiu7a99ukZbXMbUOwiK5cYTnx1naDqdmRksSaI6WwV2nGR3K2SrPLGzFTGqZR6c6onR\/8ATfs18pL1Ar4FVsjU+cidxb8U6zSJ276elSoS52VUp61i5c1MI2Xyz7FJ4lPKWpl6OVDOlmuK9iiBiWTUUdfmkrWpS18a7Lon+rtr1Z9xtkGmnZmmFSNSOKIABwmAAAAAACa1ZWS1CQ2Oh9epq19dEX6rU37+jhnsRTXu91p7RQuqJ3JnGI2c73dBl6ZtlQskt6uSL6bU8EcmNhvZzcE7iyKt1mZa7c30MeOvYvyblJTMo6SKmjREZExGphOhD2AKzSkkrIAAHQAYN71KyietDQNWpr37msYm0jF6+vqOqLbsiupUjTjikdN7vsFmgRFTlamRPmoU4uXpXqM22WGruNU26X93KScYqZfqsTmynl4nvZNOupp1uN0k9Jr3rtZVcpH2df8ASFATbUcolEacqrx1NOC9z8RERMImEQ8K+n9Lt9RTY+1jc1O1UOgFZqaTVmT+iqhZtPtid9aCRzFRePT5lAS+msUeobvbtyJt8qxE5kz8HIVBOpvFGyu9JJ8MvLIAAgaAAAAAAAAACY1X83drHMnFtTjt9Zn9d5Tk3reF62eOpjT1qeZrlXoRd3vwb9NO2ppYqhiYbKxHp2KmSyW6jNTyrTXOz9D1ABWaQAAAAAAAAAAADKu+nKC8+vOxWTomElYuF7+ZTIWrvumE2aqP5SoG7klaio5iIiceOO\/xKwE1N6PNGedBN4ouz5r15mXb9R2q5I1IaprJHf5Uvqu7OvuNQyK\/TFpuDtuSlSN\/44vVVfIzk0tcqLHyZfJmMRPs5cqieXMnMdtB6OxHHXhvRv3ezKgEx6FrKPhc6SROCIrU8fqDY1m\/dylHH17vgowdqO\/qH\/pLy\/JTmLddUUNuzDE5KmqVcNijXO\/rXmOF2nLzcsfKl6VGKqK6KFuE8k9imrbNP220rt00OZf2si7Tu7o7haK1dzjnWnlFYVzfsZltslbcK5LrfsLI37GmT6rO1PLxKYAjKTZdTpRpqyABxVt3t9uXFXVxxOxnYVcux2JvOJN6E5SUVdux2njVVdPRQOnqZWxRt4ucpPy6rmrlWGxW+WpkzhZJG4Y3r4+\/B8waXrK+pbVX+tWoVFykDF9VOrmx3eJPBbeyMz2jFlSV+3h5+x8TXi46jkfR2aJ8FKq4fWP3buro9\/Ya9msFJZo15JFknf8AXmf9ZezoQ0YoY4ImxQsbHGxMNa1MIiH2ccsrLQlCjaWObvL7dwABA0AAAEvWfQdfUkyqqMrIdhV696Y9jSoJnWsDmUdLcot0lHMi53cF\/miFFBMyop452LlkjEe1epUyWSzimZaPVqTh4+f5PQAFZqAAAAAAAAAOS60fyha6mk55Y1Ru\/wDW5vbgytH3Bai1rRSpsz0S8m5q8cc3mncUBM3e3VtruLr3aG8or0+k0+Prp0on9L7SyOawmasnCaqrhk+78FMDEodW2ytlbC50kEy5yyVi7lTimU7ARcWtUWxq05K8WbYAIlgAAAAAAAAAAAAAAAAAAAAAAAAOCqsltrqtKqqpWyyo1GorlXGOzOADqbWhGUYyVpK52xxsiYjI2NY1OCNTCIfQBwkAAAAAAAAActyomXG3T0b3bKSs2drGdleZfE+bTSrRWqmplkWXk2Im0qYyAdu7WIYVjxcTsABwmAAAAAAAAAAAAeawQrKkyxMWROD9lMpuxx7AABY\/\/9k=",
    "razonSocial": "STEEL INGENIERIA S.A.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "CLAUDIO CARVAJAL",
    "correoContacto": "claudio.carvaja@veltislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56941499852",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28691\",\"cantidad_usada\":4,\"cantidad_asignada\":4},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28691\",\"cantidad_usada\":11,\"cantidad_asignada\":11},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28691\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28691\",\"cantidad_usada\":5,\"cantidad_asignada\":5},{\"id_inventario\":\"EPS-R640\",\"id_control\":\"28691\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:37",
    "ubicacionGPS": "LatLng(lat: -22.4407009, lng: -68.8856947)",
    "horaLlegada": "12:26",
    "horaDespacho": "12:36",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/05/2026 12:37:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:96846410

[15/05/2026 12:37:29] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('96846410', 'EP2622', 1, 24456550, 0, NOW(), 
				'12:36', '12:26', '12:37', 10, '•Etrega de insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778863049.png', '•Entrega en puerto seco', null, 'COMPLETADO','LatLng(lat: -22.4407009, lng: -68.8856947)' )
				
[15/05/2026 12:37:29] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200334
[15/05/2026 12:37:29] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200334', 'EPS-I302', 4)
				
[15/05/2026 12:37:29] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 4
				WHERE
				    IDcontrol = 28691 and
				    IDproducto = 'EPS-I302'
				

15/05/2026 12:37:29 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 4)
                WHERE ID = 'EPS-I302';
                [15/05/2026 12:37:29] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200334', 'EPS-I303', 11)
				
[15/05/2026 12:37:29] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 11
				WHERE
				    IDcontrol = 28691 and
				    IDproducto = 'EPS-I303'
				

15/05/2026 12:37:29 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 11)
                WHERE ID = 'EPS-I303';
                [15/05/2026 12:37:29] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200334', 'EPS-I304', 3)
				
[15/05/2026 12:37:29] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28691 and
				    IDproducto = 'EPS-I304'
				

15/05/2026 12:37:29 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I304';
                [15/05/2026 12:37:29] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200334', 'EPS-I305', 5)
				
[15/05/2026 12:37:29] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 5
				WHERE
				    IDcontrol = 28691 and
				    IDproducto = 'EPS-I305'
				

15/05/2026 12:37:29 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 5)
                WHERE ID = 'EPS-I305';
                [15/05/2026 12:37:29] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200334', 'EPS-R640', 1)
				
[15/05/2026 12:37:29] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28691 and
				    IDproducto = 'EPS-R640'
				

15/05/2026 12:37:29 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R640';
                
15/05/2026 12:37:29 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200334'                    
				WHERE idllamado = 12595			
				TO ENVIO: micorreo@miempresa.cl, claudio.carvaja@veltislatam.com


15/05/2026 12:37:29 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12595			
				
15/05/2026 12:37:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 12:37:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12:37:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12:37:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

[15/05/2026 12:37:31] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:37:31] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

[15/05/2026 12:37:31] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

[15/05/2026 12:37:31] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

[15/05/2026 12:37:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:37:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12:37:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12595
            GROUP BY l.idllamado;
            

15/05/2026 12:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12595
                

15/05/2026 12:37:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[15/05/2026 12:37: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;
                

15/05/2026 12:37:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

[15/05/2026 12:37: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;
                

15/05/2026 12:37:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

[15/05/2026 12:37: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;
                

15/05/2026 12:37:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[15/05/2026 12:37: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;
                

15/05/2026 12:37:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

[15/05/2026 12:37: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;
                

15/05/2026 12:37:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

[15/05/2026 12:37:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:37:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

[15/05/2026 12:37:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:37:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

[15/05/2026 12:37:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:37:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

[15/05/2026 12:37:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:37:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

[15/05/2026 12:37:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:37:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:42 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:42 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12: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 = 12597
                

15/05/2026 12: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 = 12597
                

15/05/2026 12: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 = 12597
                

15/05/2026 12:37:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

[15/05/2026 12: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;
                

15/05/2026 12:37:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

[15/05/2026 12:37:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:37:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

[15/05/2026 12:37:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:37:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

[15/05/2026 12:37:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:37:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

[15/05/2026 12:37:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:37:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                
[15/05/2026 12:37:55] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[15/05/2026 12: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/05/2026 12:37:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

[15/05/2026 12: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;
                

15/05/2026 12:37:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[15/05/2026 12: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;
                

15/05/2026 12:37:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

[15/05/2026 12: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;
                

[15/05/2026 12: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;
                

15/05/2026 12:37:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:37:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:37:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

[15/05/2026 12:37:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:37:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:37:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

[15/05/2026 12:38: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;
                

15/05/2026 12: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 = 12597
                

15/05/2026 12:38:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:38:02 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12: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 = 12597
                

15/05/2026 12: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 = 12597
                

15/05/2026 12:38:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:38:02 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12: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 = 12597
                

15/05/2026 12:38:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:38:03 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12: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 = 12597
                

15/05/2026 12: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 = 12597
                

15/05/2026 12: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 = 12597
                

15/05/2026 12:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:38:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 12:38: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;
                

15/05/2026 12:38:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:38:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:38:10 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:38:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:38:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:38:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

[15/05/2026 12:38: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;
                

15/05/2026 12:38:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 12:38:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:38:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:38:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:38:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:38:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:38:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:38:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:38:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

[15/05/2026 12: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;
                

15/05/2026 12: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 = 12597
                

15/05/2026 12: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 = 12597
                

[15/05/2026 12:38: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;
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 12:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:38:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:38:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:38:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:38:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12: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 = 12597
                

15/05/2026 12: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 = 12597
                

[15/05/2026 12: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;
                

15/05/2026 12:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

[15/05/2026 12:38: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;
                

[15/05/2026 12: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;
                

15/05/2026 12:39:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:39:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:39:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:39:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:39:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:39:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:39:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:33 - logentry: =========================================
FECHA: 15/05/2026 12:39:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-97B-ZDrPgM.JpmT1Xb5TR.ScZxNelM4w5.EbEXtJzpu.7BvH+E_
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP3164",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "CECO BS-103-CRT004AD01",
    "ciudadmaquina": "Calama",
    "departamentomaquina": "Faena Radomiro Tomic",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de impresora e insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12597",
    "observacion": "•Entrega en puerto seco",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD1ATMDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABIEAACAQMCAwMIBQYMBwEAAAAAAQIDBBEFBhIhMUFRkRMiMmFxgaGxFCPBwtEVJEJSsuEHMzQ1NnJzdIKSovAlJkNTYtLxZP\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADMRAAIBAgIHBgYBBQAAAAAAAAABAgMRITEEEiIyQVFxYYGhscHREyMzQpHhNBREUoLw\/9oADAMBAAIRAxEAPwD+zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHldXELS1q3FR4hSg5y9iWQcbsrs4Za1TW4I6RCm5ydPjnNP0OTeGvZjxNMmdoWrqxutarvirXlSSi+6KfP4\/JFMTmknZFNCUpw1pccunAAAgXgAAE9oGpXcdQutH1Or5S5ovjp1Gsccf9tP3+ooSX3XCpp95Y67bwzK3nwVcdsX0+cl70U0JxqU41ISUoyScWu1E5rKSM1BtOVOXDyeXsfQAIGkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE9vS6lR0T6NTy6l1UjTSXXHV\/JL3lCTGqN329tNtOThawdaXLo+v3Yk4b1+Rn0lv4eqs3h+Tf0+0jY6fQtY9KUFHrnL7ToAIF6SSsgAAdAAAOLWLSN9pF1bSWeOm+H+sua+KRwbPu3d7eoqTTlRbpPC7unwaNwmNlfVU9RtP+zcvp07vulixgzNPCvF8016lOACs0gAAAAAAAAAAAAA+ZzhTg51JKEYrLlJ4SAPoGDeby0e0bjGrO4l3UY5Xi8I5VvGtJOcNDu5U+bUufNeBP4cuRnelUU7a3qVAJmO+LKMlG5s7ug33xWF8UbllqdlqMOK0uIVeWcLk8d+HzOOElmiUK9ObtFnUACJcAAAAAAAAAAAAAAAAAACX0T873jq943nyOKK9XPH3CoJfY\/1trf3WP465fXr0z94sjutmarjVpx6v8L9lQACs0gAAAAAAmNrP\/jevr\/8AV96ZTkxtZP8ALevvHL6V96ZOO6zNV+rT7\/IpwAQNIAAAAAAAAAAPyUlGLlJpJLLb7ADk1TUrfSbGd1cS81coxXWcuxInqOm6luiSu9SrStrCazSt6fJyjnk3+PhhH5awnu3WpXdaM\/yVavFKEuSnLl1Xb3+CK1JJYSwkW7mWZjS\/qHd7nDt7ehyWWk2GnwUbW1p08fpYzJ+98zsAK275muMVFWSPmcIVIOE4qUX1UllMwb7aVrUq\/SdNqy0+5TynT9Bvr07Pdy9RQAKTWRCdKFRWkiXtdw3Wk3UdO3BDhlhKncw5xku9\/j4lPGSlFSi001lNdpz3+n2upWzt7ukqkH0z1i+9PsZO6Pe1tv6jLRNSqPyEnm1ry6Nd3++jJ2UldZlClKjJRm7xeT5dj9yrABWawAAAAAAAAAAAAAADm1Gp5HTLqr+pRnLwTMnZVLye3KUv+5Ocvjj7Dq3NU8lty9lnGafD4tL7T623Dye3bKPfST8ef2ln2d5meOkLsXmzTABWaQAAAAAATGykqtLULxL+OuX5z6vHP7xt6tcK10i7r5w4UZNe3HL4mfs6h5HbdBtYdVym\/HC+CRYsIMzTxrxXJN+huAArNIAAAAAAAAAJvdt3VqQoaLaNO4vH5ybx5mftfyZRtpLLeEiW29GOsa9e65LMoQl5K34ljHLr4ftMnDDa5GbSG2lTX3eXEodPsqWnWNK0orzaccZx6T7W\/azpAIZmhJJWQAAOgAAAzta0ijrNhKhUSVRLNKo1zhL8O80QdTad0RlFTi4yyMDa+q1bqhV0+8yryzbjPL9JZxn3dPDvN8ltx0p6Rq1tr9vyi5KlcxX6S7\/Dl7kU8JxqU41ISUoyScWu1Eppby4lFCTV6cs14rgfQAIGkAAAAAAAAAAAAw94y4ds3Kx6Tgv9Sf2GhpMeDRrKOc8NvTWf8KM7ef8ARqv\/AFoftI09M\/mq0\/sIfsom9zvMy\/kPovNnUACBpAAAAAAJ3ety4aTTtIN8d3VjDC7lz+eDcs7eNpZULaPSlTjBe5YJutJ6xvmlSSboabHifLlxe\/148PeVRZLCKRlpbdSc+5d37AAKzUAAAAAAAAAZG6LyVlt+5qQbU5rycWuzi5fLJ6bdsVp+hW1H9KUOOfPPOXP93uMreH55caXpaf8AH1+KSXYlyz8X4FOkksJYSLHhBIyw2q8nySXq\/Q\/QAVmoAAAAAAAAA5dSsYalp1ezqPCqxwn3Pqn44MnaF5OenVNPr8rixqOnJZ54zy+OV7igJavGOk75oVYx4aWowcZdfT\/+qPiyyOKcTLW2Jxqdz6P9lSAZGj6\/R1e7ureFJ0pW7SxJ5cllpv5eJBJtXL3OMWot4s1wAcJgAAAAAAAAGFvP+jVf+tD9pGnpn81Wn9hD9lGZvP8Ao1X\/AK0P2kaemfzVaf2EP2UWPcRmj\/IfRebOoAFZpABzXGo2lpXpUK9eFOpWeIRk8ZFrnG0sWdJyalfU9N0+tdVJJKEXwp\/pPsR1NpLLeEiSuZy3brkbWjKX5Ms3xVZrpOXPp7ensyycY3eORTWqOCtHN5Hds+xrUNNqXty2699Pysm8Zcex+\/LfvKA\/IxUYqMUkksJLsP0jJ3dydKCpwUVwAAOFgAAAAAAAABMV0rz+EGhBtuNpb8WOzPP\/ANl4FOTGkfW731as+sYKC9nmr7pTk58F2GbRsVKXNv2AAIGkAAAAAAAAAE3vahNadQv6S+ss6yknjon+9RKQ4tYtVe6Pd2+MudKXDz7VzXxSJQdpJlNeGvTlE6betG5tqVeHo1YKcfY1kgtq1lT3hVg\/+r5WK5+vP2FLs+5+kbcoJ5cqTlTefU8r4NEdp1R2e4aN62lTV5KnKT7E+Tz7my6Ed5GHSKl\/hVO\/yP6aADOeoAAAAAAAc99eUrCzqXVZtU6ay8LPqOTSdesdYi\/o83Gos5pz5S5dq71zO2drkHUipareJz7wjxbYu+WWuBr\/ADo7tGlx6JYyby3b08v18KPDclPyu3b2PdS4vDn9g23U8rt2yl3UuHw5fYS+zvKf7n\/X1NQAEDSCK1+lW1ndLtbZNysqClhNc3nP3o+BaSkoxcpNJJZbfYTO007291PVn6NetwU+WOS5\/Josg7XkZNJXxHGnzfgjxq3G4tw\/msLOWl27X1tSpnLXdzSfu+JQ6XplDSbGFpbrkucpPrKXa2dgOOV1ZZFlOiovWbu+YABAvAAAAAAAAAAAAJjQ\/wCmGs+75lOTGiLh3jrCfJtJperJTk6mZm0XcfV+YABA0gAAAAAAAAAAAEvtD81utW07Pm0LjMV6ua+xGBK3dXQNTqrrRvVUTXVdV2dOpv6co2u\/dQo9lalxrHf5r\/E8ds2ivdI1ejPDderKLw8pPHL4s03s3LoeRqa6jT5ayKeyuFd2NC4i8qrTjPxWT3J\/ZtxxaPK0m\/rLSrKnJerOV82vcUBRJWbR6dKevTUgACJYAAAYm8KqpbauV2zcYr\/MvsTMq+0GdtpFlq2nRVG9taMJ1OHpNcPP2tfFHTvx50ahTT86dzHEc9fNl+4puFcPDhYxjBapOMUYpU1VqyT4JerMlX9LWts3Fej\/ANW3nGUe2MuF5R47Nnx7at4\/qSnH\/U39pxaBTnpetX+iVGlRqJ1qPPHJ8uXfy\/ZPTYkn+Ra1OXKVO4kmvdH952StF2I05uVSDlnZp9VYpgD8lJRi5SaSSy2+wpN5i7r1GVjo06dJvy9y\/JU8J559cevB2aJp\/wCS9It7SSXHGOZ4\/WfN\/h7jC02FTcuuy1WsmrK0lw20JQ5TfPnz9z8CsLJbK1TLR+ZN1eGS6c+8AArNQAAAAAAAAAAAAAABMWf1H8IN7HsrW6ePXiP4MpyYv\/qN\/wCn1H6NWg4+\/Ev3FOWT4dDNo+Guu1+4ABWaQAAAAAAAAAAACX1CP0ff2nVkuVak4vl24kvwP3Y38hvf7y\/khuTzdyaFJ8k6zSfr4o\/iNjfyG9\/vL+SL39O55scNKt2vxSPnheg7yjw+baarya7FU\/8Ar\/1FSYu6tLepaRJ0ot17d+Up46+teHyR06HqtPV9Mp3MWlUxw1Y\/qyXX8feQljFM0Uvl1JU+DxXr4+ZogArNQAABMbkzd7i0axiuLFTys498cr7IyKcl9F\/4puvUdTfOnb\/U0uWPVnwT\/wAxUFk8LIzaPtOVTm\/BYEzuqjUsbuz1+3jmVtJQqrvi\/wD6170eeyqsJVNUp035ka6lFep5\/Apq1GncUJ0asVKFSLjJPtTIXSrfVdM1jUrHSHTqSptNqt+lFPl3frE4vWg0Z6sXSrxmsn52L2UlGLlJpJLLb7CSvb6vujUnpOnVHCxp87ivH9Jdy9Xd39eh7PQda1Z41jU+ChnnRoJLP2eOSgsbG2021jbWtNQpx8W+9vtZDCPay5qpWwa1Y+L9j6tLSjY20Le3goU4LCSXxPYArNSSSsgAAdAAAAAAAAAAAAAAAJjeUfo0tN1OOc21wk8d3X7vxKWE41KcakJKUZJOLXaji1ux\/KOj3NrhuUoZhjrxLmvijj2jfSvdBpRqNupbt0pZ68unwa8Cx4w6GWOxXa\/yV\/wbYAKzUAAAAAAAAAAAATG53xa\/oEUstXDbXq4ofgNjfyG9\/vL+SGv4qbs0anlLgbm36s5+wbETekXFVrDncy9noxL39M82OOl36+SKck6n\/Ku4fKKPDpt+8SfZTl\/t+D9RWHPe2VvqFrO2uaanTmua7vWvWVRlbPI2Vqbmk45rI94yUoqUWmmsprtP0kaN3f7SqO1vKc7rTeJKnXXWmn\/vp4FLZ6hZ6hSVW0uIVo\/+L5r2rqveJRax4CnWjPB4S5HSZuv6lHStHrXGfrGuCks4zJ9PDr7jtubmhZ0JV7irGlTgsuUnhErHy279Wp1nSdPSrSTceNfxz7V8Pd7WdhG+LyI16jS1I7zy9zX2rYfQNBoRkmp1frZp976fDBsAEW7u5bCChFRXAEvb5tP4QriL9G7t00vYl\/6sqCY17813Zo150U26Tfvx98nDNop0nBRlya9vUpwAVmkAAAAAAAAAAAAAAAAAAAAAEpYyWibyubSbcaGoefTy\/wBLr8+JeBVmFuvSp3+nxubfKubRupTcVza7UvBP3E4NXs+Jn0iL1VOOccfc3QZ+iapT1fTKdzFrjxw1Yr9GXaaBFqzsy6MlKKksmAAcJAAAAAAAAAEjqs+PekZN4VrZTl\/plz+PwO3ZEOHbsHjHHVk\/b2fYY9esquq7kvZNONK3dun2JvEe3t81lFtWj5HbdnHtlFz6Y6tv7S+eELdDzKG1Xb6vxS9DXABQemfNSnCrB06kIzhLrGSymYNxs3Tak\/KWsq1pPn\/FT5c\/bz+JQAkpNZFc6UKm8rk3S2VY+UjO7ubi64eSjOWE18\/BooaVGnQpRpUYRp04LEYxWEkfYDk3mcp0oU91WAAIloJnfNOS0y3u6fp29dPK7E1+KRTGZuK1V3oF5S7VTc17Y+d9hODtJFGkR1qUl2GjTqRq041IPMZpST70z6Mna919L29aTcsyhHycv8Lx8sGsRas7FlOWvBS5gAHCYAAAAAAAAAAAAAAAAAAAABIXCltPcCuYJ\/k29eJxT5Ql+7r7MldGSlFSi001lNdpz39jQ1KzqWtxHihNe9PsaJ\/Qb2vo1+9v6i+WfzWrh4mn2f79aLHtq\/FGSPyJ6v2vLsfLvKkAFZrAAAAAAB8VqsaFGdWfo04uT9iPsx913Ttdu3TXpVEqa\/xPD+GTqV3YhUnqQcuRGxqyqaDKjF\/nOq3vKKefNWOv+Jn9FtqMba1pUI+jSgoLljklgjNmWFa9uo31wn5CzhwW8X6PE+rXxb9b9RcFtV42MWgweprvj\/3mAAUnoAAAAAAAAAA\/JRUouL5prDP0AEvsxu2eo6ZJtu2uHjPaun3fiVBLU2rD+EGpDCUb6hle3H4wfiVJZUzvzM2i4QcOTaAAKzSAAAAAAAAAAAAADM3Bqr0fSp3UIxlU4lCnGXRt\/uydSu7IjOShFyeSNMHhZzuKllRndQjCvKCc4xzhPu5g4dTurnuAAdBma5olHWrTycpeTrQ50qi\/Rfr9Rpg6m07ojOEZxcZZExpev3VjdLSteh5OpHlTuX6M+7L+3x5lMmmsp5TOTUtLtNWtvIXdPiinmMk8Si+9MnvoO4duRf0CotRs08+Smm5RXcln5eBOyllgzMpVKOEtqPPiupWgnLXe2nVJKneU61nU5ZU45S965\/A1KWuaVW9DUbZvudRJ\/Ei4SWaLY16U8pI7wcFbXdJoJupqNvy7I1FJ+CMy43pp6qKjZUq15Wk+GEYR4VJ+18\/gFCTyQlXpRzkignOFODnUkoRisuUnhIhdw6xHX7+20u0XFbOvFeUXWcunLuSUjQjpOs7imqmsVnaWmeKNtT6v293vz7D3ht+dHctnVoW0aen2lN8LUlznh83zznLXP1FkdWLxeJkrOrWilFWi2uv6RvWdpRsLSna28OGlTWIo9wCk9BJJWQAPmcnGnKSi5NJtRXb6gdPoHNYXVS8sqderbVLac85pVPSjzOkZHE01dAAA6AAAAAAS+682WqaVqq5RpVfJ1H6nz+XEVBjbstVdbduf1qSVWPu6\/DJ06FdfTNDs67fE5UkpP1rk\/iix4wTM0NmvKPOz9DQABWaQAAAAAAAAAAAD8bSWW8JEnTm90bmVSOZabp7yuuKk+z4\/Bes6dzX1xXuqGg2DxVu19dJLPBB\/uy36vabOmafR0uwp2dDLjBc5PrJvq2WLZV+LMkvnVNRbqz7Xy9zrABWawAAAAAAAADwuLK1u1i5tqVZYx58FL5mdU2polR5djGL74zkvhnBsA6pNZMrlThLeSZj0dqaJRaasYya7ZzlL4N4NK3s7W0jw21vSorupwUfkewDk3mxGnCG6kgADhYAAAAAAAAAAAAAAAAAAedxRjc21WhP0asHCXsawT+ya0lpdeyqcqlrXlFrHRP8AfkpCXtEtN35c26WKd\/S8pFf+XVvxUvEsjjFozVdmpCfd+f2VAAKzSAAAAAAAAADk1S\/hpmm17yfPyceS730S8TrPirRpV6UqVanCpTl1hOKafuZ1Z4kZJtO2ZgbW0yahU1m9867vW5pSjjyabfT28vdgoj8jFRioxSSSwkuw\/TsnrO5GlTVOCigACJYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACW3X+Y6tpWqrkqdXgqP1Zz8uIqTF3da\/Stu3GF51LFRe7r8Mk4O0kZ9Ji3Sds1j+MTaBw6LdK90a0uMpuVJKWO9cn8UzuItWdi6MlKKa4gAHCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPO4oxubarQn6NWDhL2NYAAavgcG3tPem6TC2dbyqUpNPh4cZfQ0wDrd3chTiowSQABwmAAAAAAAAAAAAAAAf\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "CRISTIAN SOTELO LOPEZ",
    "correoContacto": "cristian.sotelo@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "981897311",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28693\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28693\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28693\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28693\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:39",
    "ubicacionGPS": "LatLng(lat: -22.4406966, lng: -68.8856796)",
    "horaLlegada": "12:26",
    "horaDespacho": "12:37",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 15/05/2026 12:39:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-97B-ZDrPgM.JpmT1Xb5TR.ScZxNelM4w5.EbEXtJzpu.7BvH+E_
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP3164",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "CECO BS-103-CRT004AD01",
    "ciudadmaquina": "Calama",
    "departamentomaquina": "Faena Radomiro Tomic",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de impresora e insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12597",
    "observacion": "•Entrega en puerto seco",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD1ATMDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABIEAACAQMCAwMIBQYMBwEAAAAAAQIDBBEFBhIhMUFRkRMiMmFxgaGxFCPBwtEVJEJSsuEHMzQ1NnJzdIKSovAlJkNTYtLxZP\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADMRAAIBAgIHBgYBBQAAAAAAAAABAgMRITEEEiIyQVFxYYGhscHREyMzQpHhNBREUoLw\/9oADAMBAAIRAxEAPwD+zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHldXELS1q3FR4hSg5y9iWQcbsrs4Za1TW4I6RCm5ydPjnNP0OTeGvZjxNMmdoWrqxutarvirXlSSi+6KfP4\/JFMTmknZFNCUpw1pccunAAAgXgAAE9oGpXcdQutH1Or5S5ovjp1Gsccf9tP3+ooSX3XCpp95Y67bwzK3nwVcdsX0+cl70U0JxqU41ISUoyScWu1E5rKSM1BtOVOXDyeXsfQAIGkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE9vS6lR0T6NTy6l1UjTSXXHV\/JL3lCTGqN329tNtOThawdaXLo+v3Yk4b1+Rn0lv4eqs3h+Tf0+0jY6fQtY9KUFHrnL7ToAIF6SSsgAAdAAAOLWLSN9pF1bSWeOm+H+sua+KRwbPu3d7eoqTTlRbpPC7unwaNwmNlfVU9RtP+zcvp07vulixgzNPCvF8016lOACs0gAAAAAAAAAAAAA+ZzhTg51JKEYrLlJ4SAPoGDeby0e0bjGrO4l3UY5Xi8I5VvGtJOcNDu5U+bUufNeBP4cuRnelUU7a3qVAJmO+LKMlG5s7ug33xWF8UbllqdlqMOK0uIVeWcLk8d+HzOOElmiUK9ObtFnUACJcAAAAAAAAAAAAAAAAAACX0T873jq943nyOKK9XPH3CoJfY\/1trf3WP465fXr0z94sjutmarjVpx6v8L9lQACs0gAAAAAAmNrP\/jevr\/8AV96ZTkxtZP8ALevvHL6V96ZOO6zNV+rT7\/IpwAQNIAAAAAAAAAAPyUlGLlJpJLLb7ADk1TUrfSbGd1cS81coxXWcuxInqOm6luiSu9SrStrCazSt6fJyjnk3+PhhH5awnu3WpXdaM\/yVavFKEuSnLl1Xb3+CK1JJYSwkW7mWZjS\/qHd7nDt7ehyWWk2GnwUbW1p08fpYzJ+98zsAK275muMVFWSPmcIVIOE4qUX1UllMwb7aVrUq\/SdNqy0+5TynT9Bvr07Pdy9RQAKTWRCdKFRWkiXtdw3Wk3UdO3BDhlhKncw5xku9\/j4lPGSlFSi001lNdpz3+n2upWzt7ukqkH0z1i+9PsZO6Pe1tv6jLRNSqPyEnm1ry6Nd3++jJ2UldZlClKjJRm7xeT5dj9yrABWawAAAAAAAAAAAAAADm1Gp5HTLqr+pRnLwTMnZVLye3KUv+5Ocvjj7Dq3NU8lty9lnGafD4tL7T623Dye3bKPfST8ef2ln2d5meOkLsXmzTABWaQAAAAAATGykqtLULxL+OuX5z6vHP7xt6tcK10i7r5w4UZNe3HL4mfs6h5HbdBtYdVym\/HC+CRYsIMzTxrxXJN+huAArNIAAAAAAAAAJvdt3VqQoaLaNO4vH5ybx5mftfyZRtpLLeEiW29GOsa9e65LMoQl5K34ljHLr4ftMnDDa5GbSG2lTX3eXEodPsqWnWNK0orzaccZx6T7W\/azpAIZmhJJWQAAOgAAAzta0ijrNhKhUSVRLNKo1zhL8O80QdTad0RlFTi4yyMDa+q1bqhV0+8yryzbjPL9JZxn3dPDvN8ltx0p6Rq1tr9vyi5KlcxX6S7\/Dl7kU8JxqU41ISUoyScWu1Eppby4lFCTV6cs14rgfQAIGkAAAAAAAAAAAAw94y4ds3Kx6Tgv9Sf2GhpMeDRrKOc8NvTWf8KM7ef8ARqv\/AFoftI09M\/mq0\/sIfsom9zvMy\/kPovNnUACBpAAAAAAJ3ety4aTTtIN8d3VjDC7lz+eDcs7eNpZULaPSlTjBe5YJutJ6xvmlSSboabHifLlxe\/148PeVRZLCKRlpbdSc+5d37AAKzUAAAAAAAAAZG6LyVlt+5qQbU5rycWuzi5fLJ6bdsVp+hW1H9KUOOfPPOXP93uMreH55caXpaf8AH1+KSXYlyz8X4FOkksJYSLHhBIyw2q8nySXq\/Q\/QAVmoAAAAAAAAA5dSsYalp1ezqPCqxwn3Pqn44MnaF5OenVNPr8rixqOnJZ54zy+OV7igJavGOk75oVYx4aWowcZdfT\/+qPiyyOKcTLW2Jxqdz6P9lSAZGj6\/R1e7ureFJ0pW7SxJ5cllpv5eJBJtXL3OMWot4s1wAcJgAAAAAAAAGFvP+jVf+tD9pGnpn81Wn9hD9lGZvP8Ao1X\/AK0P2kaemfzVaf2EP2UWPcRmj\/IfRebOoAFZpABzXGo2lpXpUK9eFOpWeIRk8ZFrnG0sWdJyalfU9N0+tdVJJKEXwp\/pPsR1NpLLeEiSuZy3brkbWjKX5Ms3xVZrpOXPp7ensyycY3eORTWqOCtHN5Hds+xrUNNqXty2699Pysm8Zcex+\/LfvKA\/IxUYqMUkksJLsP0jJ3dydKCpwUVwAAOFgAAAAAAAABMV0rz+EGhBtuNpb8WOzPP\/ANl4FOTGkfW731as+sYKC9nmr7pTk58F2GbRsVKXNv2AAIGkAAAAAAAAAE3vahNadQv6S+ss6yknjon+9RKQ4tYtVe6Pd2+MudKXDz7VzXxSJQdpJlNeGvTlE6betG5tqVeHo1YKcfY1kgtq1lT3hVg\/+r5WK5+vP2FLs+5+kbcoJ5cqTlTefU8r4NEdp1R2e4aN62lTV5KnKT7E+Tz7my6Ed5GHSKl\/hVO\/yP6aADOeoAAAAAAAc99eUrCzqXVZtU6ay8LPqOTSdesdYi\/o83Gos5pz5S5dq71zO2drkHUipareJz7wjxbYu+WWuBr\/ADo7tGlx6JYyby3b08v18KPDclPyu3b2PdS4vDn9g23U8rt2yl3UuHw5fYS+zvKf7n\/X1NQAEDSCK1+lW1ndLtbZNysqClhNc3nP3o+BaSkoxcpNJJZbfYTO007291PVn6NetwU+WOS5\/Josg7XkZNJXxHGnzfgjxq3G4tw\/msLOWl27X1tSpnLXdzSfu+JQ6XplDSbGFpbrkucpPrKXa2dgOOV1ZZFlOiovWbu+YABAvAAAAAAAAAAAAJjQ\/wCmGs+75lOTGiLh3jrCfJtJperJTk6mZm0XcfV+YABA0gAAAAAAAAAAAEvtD81utW07Pm0LjMV6ua+xGBK3dXQNTqrrRvVUTXVdV2dOpv6co2u\/dQo9lalxrHf5r\/E8ds2ivdI1ejPDderKLw8pPHL4s03s3LoeRqa6jT5ayKeyuFd2NC4i8qrTjPxWT3J\/ZtxxaPK0m\/rLSrKnJerOV82vcUBRJWbR6dKevTUgACJYAAAYm8KqpbauV2zcYr\/MvsTMq+0GdtpFlq2nRVG9taMJ1OHpNcPP2tfFHTvx50ahTT86dzHEc9fNl+4puFcPDhYxjBapOMUYpU1VqyT4JerMlX9LWts3Fej\/ANW3nGUe2MuF5R47Nnx7at4\/qSnH\/U39pxaBTnpetX+iVGlRqJ1qPPHJ8uXfy\/ZPTYkn+Ra1OXKVO4kmvdH952StF2I05uVSDlnZp9VYpgD8lJRi5SaSSy2+wpN5i7r1GVjo06dJvy9y\/JU8J559cevB2aJp\/wCS9It7SSXHGOZ4\/WfN\/h7jC02FTcuuy1WsmrK0lw20JQ5TfPnz9z8CsLJbK1TLR+ZN1eGS6c+8AArNQAAAAAAAAAAAAAABMWf1H8IN7HsrW6ePXiP4MpyYv\/qN\/wCn1H6NWg4+\/Ev3FOWT4dDNo+Guu1+4ABWaQAAAAAAAAAAACX1CP0ff2nVkuVak4vl24kvwP3Y38hvf7y\/khuTzdyaFJ8k6zSfr4o\/iNjfyG9\/vL+SL39O55scNKt2vxSPnheg7yjw+baarya7FU\/8Ar\/1FSYu6tLepaRJ0ot17d+Up46+teHyR06HqtPV9Mp3MWlUxw1Y\/qyXX8feQljFM0Uvl1JU+DxXr4+ZogArNQAABMbkzd7i0axiuLFTys498cr7IyKcl9F\/4puvUdTfOnb\/U0uWPVnwT\/wAxUFk8LIzaPtOVTm\/BYEzuqjUsbuz1+3jmVtJQqrvi\/wD6170eeyqsJVNUp035ka6lFep5\/Apq1GncUJ0asVKFSLjJPtTIXSrfVdM1jUrHSHTqSptNqt+lFPl3frE4vWg0Z6sXSrxmsn52L2UlGLlJpJLLb7CSvb6vujUnpOnVHCxp87ivH9Jdy9Xd39eh7PQda1Z41jU+ChnnRoJLP2eOSgsbG2021jbWtNQpx8W+9vtZDCPay5qpWwa1Y+L9j6tLSjY20Le3goU4LCSXxPYArNSSSsgAAdAAAAAAAAAAAAAAAJjeUfo0tN1OOc21wk8d3X7vxKWE41KcakJKUZJOLXaji1ux\/KOj3NrhuUoZhjrxLmvijj2jfSvdBpRqNupbt0pZ68unwa8Cx4w6GWOxXa\/yV\/wbYAKzUAAAAAAAAAAAATG53xa\/oEUstXDbXq4ofgNjfyG9\/vL+SGv4qbs0anlLgbm36s5+wbETekXFVrDncy9noxL39M82OOl36+SKck6n\/Ku4fKKPDpt+8SfZTl\/t+D9RWHPe2VvqFrO2uaanTmua7vWvWVRlbPI2Vqbmk45rI94yUoqUWmmsprtP0kaN3f7SqO1vKc7rTeJKnXXWmn\/vp4FLZ6hZ6hSVW0uIVo\/+L5r2rqveJRax4CnWjPB4S5HSZuv6lHStHrXGfrGuCks4zJ9PDr7jtubmhZ0JV7irGlTgsuUnhErHy279Wp1nSdPSrSTceNfxz7V8Pd7WdhG+LyI16jS1I7zy9zX2rYfQNBoRkmp1frZp976fDBsAEW7u5bCChFRXAEvb5tP4QriL9G7t00vYl\/6sqCY17813Zo150U26Tfvx98nDNop0nBRlya9vUpwAVmkAAAAAAAAAAAAAAAAAAAAAEpYyWibyubSbcaGoefTy\/wBLr8+JeBVmFuvSp3+nxubfKubRupTcVza7UvBP3E4NXs+Jn0iL1VOOccfc3QZ+iapT1fTKdzFrjxw1Yr9GXaaBFqzsy6MlKKksmAAcJAAAAAAAAAEjqs+PekZN4VrZTl\/plz+PwO3ZEOHbsHjHHVk\/b2fYY9esquq7kvZNONK3dun2JvEe3t81lFtWj5HbdnHtlFz6Y6tv7S+eELdDzKG1Xb6vxS9DXABQemfNSnCrB06kIzhLrGSymYNxs3Tak\/KWsq1pPn\/FT5c\/bz+JQAkpNZFc6UKm8rk3S2VY+UjO7ubi64eSjOWE18\/BooaVGnQpRpUYRp04LEYxWEkfYDk3mcp0oU91WAAIloJnfNOS0y3u6fp29dPK7E1+KRTGZuK1V3oF5S7VTc17Y+d9hODtJFGkR1qUl2GjTqRq041IPMZpST70z6Mna919L29aTcsyhHycv8Lx8sGsRas7FlOWvBS5gAHCYAAAAAAAAAAAAAAAAAAAABIXCltPcCuYJ\/k29eJxT5Ql+7r7MldGSlFSi001lNdpz39jQ1KzqWtxHihNe9PsaJ\/Qb2vo1+9v6i+WfzWrh4mn2f79aLHtq\/FGSPyJ6v2vLsfLvKkAFZrAAAAAAB8VqsaFGdWfo04uT9iPsx913Ttdu3TXpVEqa\/xPD+GTqV3YhUnqQcuRGxqyqaDKjF\/nOq3vKKefNWOv+Jn9FtqMba1pUI+jSgoLljklgjNmWFa9uo31wn5CzhwW8X6PE+rXxb9b9RcFtV42MWgweprvj\/3mAAUnoAAAAAAAAAA\/JRUouL5prDP0AEvsxu2eo6ZJtu2uHjPaun3fiVBLU2rD+EGpDCUb6hle3H4wfiVJZUzvzM2i4QcOTaAAKzSAAAAAAAAAAAAADM3Bqr0fSp3UIxlU4lCnGXRt\/uydSu7IjOShFyeSNMHhZzuKllRndQjCvKCc4xzhPu5g4dTurnuAAdBma5olHWrTycpeTrQ50qi\/Rfr9Rpg6m07ojOEZxcZZExpev3VjdLSteh5OpHlTuX6M+7L+3x5lMmmsp5TOTUtLtNWtvIXdPiinmMk8Si+9MnvoO4duRf0CotRs08+Smm5RXcln5eBOyllgzMpVKOEtqPPiupWgnLXe2nVJKneU61nU5ZU45S965\/A1KWuaVW9DUbZvudRJ\/Ei4SWaLY16U8pI7wcFbXdJoJupqNvy7I1FJ+CMy43pp6qKjZUq15Wk+GEYR4VJ+18\/gFCTyQlXpRzkignOFODnUkoRisuUnhIhdw6xHX7+20u0XFbOvFeUXWcunLuSUjQjpOs7imqmsVnaWmeKNtT6v293vz7D3ht+dHctnVoW0aen2lN8LUlznh83zznLXP1FkdWLxeJkrOrWilFWi2uv6RvWdpRsLSna28OGlTWIo9wCk9BJJWQAPmcnGnKSi5NJtRXb6gdPoHNYXVS8sqderbVLac85pVPSjzOkZHE01dAAA6AAAAAAS+682WqaVqq5RpVfJ1H6nz+XEVBjbstVdbduf1qSVWPu6\/DJ06FdfTNDs67fE5UkpP1rk\/iix4wTM0NmvKPOz9DQABWaQAAAAAAAAAAAD8bSWW8JEnTm90bmVSOZabp7yuuKk+z4\/Bes6dzX1xXuqGg2DxVu19dJLPBB\/uy36vabOmafR0uwp2dDLjBc5PrJvq2WLZV+LMkvnVNRbqz7Xy9zrABWawAAAAAAAADwuLK1u1i5tqVZYx58FL5mdU2polR5djGL74zkvhnBsA6pNZMrlThLeSZj0dqaJRaasYya7ZzlL4N4NK3s7W0jw21vSorupwUfkewDk3mxGnCG6kgADhYAAAAAAAAAAAAAAAAAAedxRjc21WhP0asHCXsawT+ya0lpdeyqcqlrXlFrHRP8AfkpCXtEtN35c26WKd\/S8pFf+XVvxUvEsjjFozVdmpCfd+f2VAAKzSAAAAAAAAADk1S\/hpmm17yfPyceS730S8TrPirRpV6UqVanCpTl1hOKafuZ1Z4kZJtO2ZgbW0yahU1m9867vW5pSjjyabfT28vdgoj8jFRioxSSSwkuw\/TsnrO5GlTVOCigACJYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACW3X+Y6tpWqrkqdXgqP1Zz8uIqTF3da\/Stu3GF51LFRe7r8Mk4O0kZ9Ji3Sds1j+MTaBw6LdK90a0uMpuVJKWO9cn8UzuItWdi6MlKKa4gAHCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPO4oxubarQn6NWDhL2NYAAavgcG3tPem6TC2dbyqUpNPh4cZfQ0wDrd3chTiowSQABwmAAAAAAAAAAAAAAAf\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "CRISTIAN SOTELO LOPEZ",
    "correoContacto": "cristian.sotelo@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "981897311",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28693\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28693\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28693\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28693\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:39",
    "ubicacionGPS": "LatLng(lat: -22.4406966, lng: -68.8856796)",
    "horaLlegada": "12:26",
    "horaDespacho": "12:37",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/05/2026 12:39:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[15/05/2026 12:39:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76121841', 'EP3164', 2, 24456550, 0, NOW(), 
				'12:37', '12:26', '12:39', 1, '•Entrega de impresora e insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778863173.png', '•Entrega en puerto seco', null, 'COMPLETADO','LatLng(lat: -22.4406966, lng: -68.8856796)' )
				
[15/05/2026 12:39:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200335

15/05/2026 12:39:33 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'EP3164'
		
15/05/2026 12:39:33 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP3164'
				   AND estado = 1
				
15/05/2026 12:39:33 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'EP3164', 3, 1, now(), 'CECO BS-103-CRT004AD01', 'Calama', 'Faena Radomiro Tomic');
				
=========================================
FECHA: 15/05/2026 12:39:33
listaInsumosUsadosConsolidado===

idReport:200335

idInventario:EPS-I1240

idControl:28693

cantidadAsignada:1

cantidadUsada:1

[15/05/2026 12:39:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200335', 'EPS-I1240', 1)
				
[15/05/2026 12:39:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28693 and
				    IDproducto = 'EPS-I1240'
				

15/05/2026 12:39:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1240';
                
=========================================
FECHA: 15/05/2026 12:39:33
listaInsumosUsadosConsolidado===

idReport:200335

idInventario:EPS-I1241

idControl:28693

cantidadAsignada:1

cantidadUsada:1

[15/05/2026 12:39:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200335', 'EPS-I1241', 1)
				
[15/05/2026 12:39:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28693 and
				    IDproducto = 'EPS-I1241'
				

15/05/2026 12:39:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1241';
                
=========================================
FECHA: 15/05/2026 12:39:33
listaInsumosUsadosConsolidado===

idReport:200335

idInventario:EPS-I1242

idControl:28693

cantidadAsignada:1

cantidadUsada:1

[15/05/2026 12:39:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200335', 'EPS-I1242', 1)
				
[15/05/2026 12:39:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28693 and
				    IDproducto = 'EPS-I1242'
				

15/05/2026 12:39:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1242';
                
=========================================
FECHA: 15/05/2026 12:39:33
listaInsumosUsadosConsolidado===

idReport:200335

idInventario:EPS-I1243

idControl:28693

cantidadAsignada:1

cantidadUsada:1

[15/05/2026 12:39:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200335', 'EPS-I1243', 1)
				
[15/05/2026 12:39:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28693 and
				    IDproducto = 'EPS-I1243'
				

15/05/2026 12:39:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1243';
                
15/05/2026 12:39:33 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200335'                    
				WHERE idllamado = 12597			
				TO ENVIO: micorreo@miempresa.cl, cristian.sotelo@berliam.cl


15/05/2026 12:39:33 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12597			
				
15/05/2026 12:39:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 12:39:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:39:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:39:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:39:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

[15/05/2026 12:39: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;
                

15/05/2026 12:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:39:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:39:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:39:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

[15/05/2026 12:39: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;
                

[15/05/2026 12:39: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;
                

15/05/2026 12:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:39:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:39:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:39:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:39:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:39:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:39:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

[15/05/2026 12:39: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;
                

[15/05/2026 12:39: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;
                

15/05/2026 12:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:39:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:39:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:39:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 12:39:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12597
LIMIT 1;
        

15/05/2026 12:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

[15/05/2026 12:39:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

15/05/2026 12:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12597
                

[15/05/2026 12:39: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;
                

15/05/2026 12:39:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

[15/05/2026 12:39: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;
                

15/05/2026 12:39:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

[15/05/2026 12:39: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;
                

15/05/2026 12:39:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

[15/05/2026 12:39: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;
                

15/05/2026 12:39:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

[15/05/2026 12:39: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;
                

15/05/2026 12:39:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

[15/05/2026 12:39: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;
                

15/05/2026 12:39:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

[15/05/2026 12:39: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;
                

[15/05/2026 12:39: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;
                

15/05/2026 12:39:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

[15/05/2026 12:39: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;
                

[15/05/2026 12:39: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;
                

15/05/2026 12:39:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

[15/05/2026 12:39: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;
                

15/05/2026 12:39:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

[15/05/2026 12:39: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;
                

15/05/2026 12:39:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:40:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:09 - logentry: =========================================
FECHA: 15/05/2026 12:40:09
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-AclyNgls8vMeTo8QUY5kmKK84K3eUrX_HGs0sV5xzM5e1dfD13P
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "TO2787",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12606",
    "observacion": "•Entrega en puerto seco",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADoAVIDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABIEAACAQMCAgQICQoFBAMAAAAAAQIDBBEFBhIhEzFBkRRRYXGBobHBIiMkMkKissLRBxU1NlJydJLh8BYzQ4LSJTRTYkTi8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADQRAAIBAgMFBwMEAQUAAAAAAAABAgMRBCExEjJBUXEiYYGRobHBEzPRI0JS4fAkNGJy8f\/aAAwDAQACEQMRAD8A\/swAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj7m1a50bTYXNtTpzlKqoNVE2kmm+xrxI2Cc3ym9vprsrRb7mTgk5JMoxEnGlJx1sUSaaynlM\/Tzt2pW1KS5pwTXcehAuWaAAB0HxVc40pumk5qLcU\/GfYAMnbmr1NZ01160YQrQqOE4wTST611t9jNYl9A\/6funVdMxiFR9NTXYl14Xol6ioJzVnkUYeTlT7WqyfgAAQLwAAAAAAAAAAADnqX1nSr9BUu6EKuM9HKolLuOgytQ23pep15XFxbvppYzUjNpvHLzGNUt9V2nJ1rWcr3TE050pPM4LHm5eddxNRT0eZmlVnTd5R7PNfKK4HJpup2uq2kbm1nmL5OL5Si\/E0dZBqxojJSV0AADoAAAAAAAAAAAAAAAAAAAAAAAAAAAMLeUOLbNw+XwZQf1kvebplbnpurty9ikniHFz8jT9xKG8imur0pLuZ1aVPpNIs58\/hW8Hz\/AHUdZmbdqdLt6xl4qSj3cvcaZyWrJ03eCfcAAcJgAAEtr7Wnbp0rUuJRhUbozbfUurL9EvUVJg7zten2\/UqJPjt5xqRa8+H6maemXSvdMtrnOXUppvz45+sslnFMy0+zWnHnZ\/DOsAFZqAAAAAAAAAAAAB+NJrDWUz9ABI3K\/wAJ67C4pZWmXrxOmuqnLx+\/zZXYVqaaynlM4da02Oq6XWtHjiks02+yS6jP2jqM7vS3a18q4sn0c0+vHZ7GvQWPtRuZIfpVfp8HmvlfJvgArNYAAAAMDedxXttCc7epOm5VVGTg8fBaeUdiruxXUn9ODk+Bvgx9saqtU0inKUs1qKVOryxl45Pu9eTYDVnZnYTU4qS4gAHCYAAAAAAAAAAAAAAAOTVafTaTeU8Z4qE19VnWfM48dOUc44k1k6tTkldNGJs2p0m2rdN54JTj9Zv3m6TWxJt6HUg+Tp3Elh9nKLKUlU3mUYZ3ox6AAEDQAAAeN5bxu7KvbS6qtOUH6Vgw9k3MquhuhN\/CtqsoY8S6\/a33FES+382m6NZsX1Tl00fIs5++iyOcWjNU7NaEud18\/BUAArNIAAAAAAAAAAAAAAAJdZ0nfTzlUNSp9vJcf45X1ioJnetCULO11KlyqWdZPPLqf9UidPW3MzYnKG2v2u\/59CmB50K0Li3p14PMKkFOL8jWT0IGlO4AAAMTeEHPbNy19Fwf1kbZwa5Q8I0O9pY4m6Mml42lletEou0kVVo7VOS7mTOiT\/NWuWXDnwfVbWEmupKpjn68\/wAxakNXoO92PZ3lKTdxp8nhxeXFKWH6uF+gsNPvI3+n0LuKwqsFLGc4fau8nUXEzYSVux3Jrx19TpABUbgAAAAAAAAAAAAAAAAACY2V8XDUbd\/Op3Lz7PcU5Mbb+J3HrlDqTqqaXpl+JTk6m8ZsL9pLlf3AAIGkAAAEvX+S\/lDt5ZaV1b4fbnk\/+KKgmNxJ0dzaJcp44qjpt+TK\/wCTLKetjNicoqXJr3KcAFZpAAAAAAAAAAAAAAABxaza+G6Pd2+MudJ8PnXNetHaDqdncjKKkmnxMTaF34Vt2hlpyot0pY7MdXqaNsl9qYs9U1bTMcKp1uOnHH0ctezhKglNdplOGk3SV9Vl5ZAAEDQD8aTWGspn6ACS23QUZaxoNbKhGb4U3l8Lys8\/Jwv0nTsmvL811rKo30lpWlFrxJ8\/bxHlcY0zftCtjFO\/pcEnz+d1e2Me8\/dN+Qb51C1y1C7h0sV45dfvkXyzT8zzKfYlFcm4+DzRUAAoPTAAAAAAAAAAAAAAAAAAJex+J\/KDfwzyq26a8+If1KgmLn4j8odq3yVe2az4+UvwKcsnw6GbD5ba73+QSW79U1LTdRtPA60o05wb4Es8Uk+3vRWkvvNKlV0q7ceJUbnmvH1P7op72ZzF3+i2nbT3NrR9Tp6vptO7guFy5ThnPDJdaO4l9sZ0zWNQ0SUpOMH0tHP7PL3OPcyoIzVnkWUJudNOWuj6oEvvT4tabcZ\/y7le5+4qCa35Hi0Gm8\/NuIv6sl7ztPeRDF\/ZkUoPmEuOnGWMcSTwfRA0gAAAAAAAAAAAAAAAAAEw34N+UNJf\/KtueeXUvX8z+8FOTGvfJ92aLc9fSSdL14++U5ZPRMzUMpTj3++YABWaQAACc3raynpVO+p8qtnVU0+1JvD9fD3HHqdxD\/EGhavTT4bmKg3jHJ8vv+oqbq3hd2la2qfMqwcH5msH8+qyqVNpzt5tKtpd3h884i8r7XsL6eat\/mZ5uKWxJyXHPxj\/AEf0cHla11c2lG4j1VYRmvSsnqUHop3VwAAdAAAAAAAAAAObUbl2em3NzHHFSpSks9WUuRn7Y1qprWnTqV1BV6c3GShyWOtPHq9BLZdrlbqRU1B6s2QARLCX3D8n3Rot0ljin0bfZjKX3mVBM74i4WFpdR+dQuU8rrXJv3IpYyUoqS5prKLJbqZmpZVZro\/T+j9JrfdNS0KEsc4V4vPoaKUwt5w4ttV3jPBKD83wkvecp7yO4pXoy6HBuXjsb3TdwUpfNcadVLqcXl+ziXcVUJxqU41ISUoyScWu1GZ4JDVtsUreeH01tBqT7JcKafecu07+pWsqmnXK4biwl0Ul\/wCvUvY16EdecehCD2KvdLPx4m+T290nt5t9lWLXrKEnN8zUdv4f060UvW\/ccp7yJ4r7Muhu2jcrOhJ826cW+49jytoOna0oPrjBL1HqQZfHRAAA6AAAAAAAAAAAAAAAS+980rewu1ydG5XP0Z+6VBPb3pue3nJfQqxk\/WvebdpUVWzoVF1TpxkvSix7iM0Mq81zS+T2ABWaQAAAQuu0fA9ev6EklR1G2c4rOFxxXEn5+KOP9xdE3vW0nLTqWoUZcNWzmpZS54bS9uPWWU3aRkxkNqldcM\/z6HbtW4Vxty0ecuEXB+TDa9mDXJfYVXi0atT5fArv1pFQcmrSZZhpbVGL7gACBeAAAAAAAAAZe5KnRbdvZeOlw9\/L3k1tBzsNaVvL4NO9tY1Yx8vWvvFFur9Wr391faRPXi8AsdvazFf5MIU6uFluOM+zi7y+GcLczzcTlXU\/4pP1sy4B+JprKeUz9KD0jF3dS6XbV1hZcOGS9Eln1ZOzRayuNFsqqeW6EMvypYfrPTU6HhOl3VDtqUZRXPtwZmza\/Tbcox7aUpQfLy595Z+zxM2mI6r2f9m6Yu7\/ANV7z\/Z9uJtGLu\/9V7z\/AGfbiRhvIniPsz6P2O3Rf0HYfw1P7KMTcFGro2qUtwWuXBtQuqa5KUerP99uDb0X9B2H8NT+yjqq0qdalKlVgpwmsSjJZTR1StIi6f1KSWjyt1Pi0u6F9bQubaoqlKaymid3pONZadYKSc61wpcPX5PvB6JqWg3U6+guNa3qfPtq0uS83NdXf5z00vS9SutbesaxTp05Rhw0qMcPh8T7cdvpZJJRe0mU1JVKkfpONm9eXW5SAAqNwAAAAAAAAAAAAAAAAABibwinti6b7HBr+eJ36O3LRbGT5t21Nv8AlRybq\/Vq9\/dX2ke+g4\/MNjjq6CPsJ\/s8TMv9w\/8Ar8s0AAQNIAAAPOvQp3NCpQqx4qdSLjJeNM9AA1cj9kU5WV9qlhVkukpyjyXbhyTfsLA\/n2oXs9H3zcXUE3CM4uql2wlGOfb34L+E41KcakJKUZJOLXai2qs9rmYsHJbLp\/xb9z6ABUbQAAAAAAAADI3V+rV7+6vtI4qlj+cNh0qKjmcbaNSHLLzFZ5efq9J2brajtm8b\/ZivrI6NDj\/0GxTXJ0Icnz5NFidop95klFTrOL4x+Ty21eK90C1qZzKEOjkvE48vZh+k1SV2u3pus6lo08qMZdLSyscurPpTj3FUcmrSLMPJypq+qyfgCX2b8nrapp7WPB7jKz5cr7qKgl9PXgu\/dQo5xCvR40vG\/gv\/AJHY6NEa2VSEu+3mioMXd\/6r3n+z7cTaMTeMlHbF0n9JwS\/nTIw3kTxH2Z9H7Hdov6DsP4an9lHacekRcNGsYvrVvTX1Udhx6k6e4ugABwmAAAAAAAAAAAAAAAAAAAAAYm8JJbYuk+1wS\/nid+kRcNGsYy6429NPnn6KMbfVXh0OnSSy6teKx6G\/ciio01RowpJ5UIqOfHgm9xGaOeIk+SXyfYAIGkAAAAAAkby0p3G+KtrWWYXlo4vycuv6p0bUvKttUr6DetKvaP4vP0o9fvz5n5D81T4rfelVv2qTh9pfePrdVjWoVKGu2KxXtHmpj6UP7yn5GX6pRfFHmJOEpVI8G79Hb\/0pQc2n39DUrKnd28swqLq7YvtT8qOkoeR6SaaugAAdAAAAAAMHec+DbdeP7c4R+sn7jU02HRaXaU\/2KEF3RRib7qOOh06a5upXisehv8CipU1SpQprqhFRXoJvcRmjniJdyXyTO6OLTNY07W4Rk4QfRVseL\/8AHLuRUJprKeUzl1OwhqenVrObcVUjhSXY+xmXtS\/qztZ6ZePF3Zvhaby3Dsfo6u7xnX2o9Dkf06zXCWfjxN8mNV+S730u56lWg6T7cvmvvIpyY3quhhp1+s5trlevD+6Ke9Y7isqe1yafqU5Pb3lw7dks44qsV5+33FAmmsp5TJnfLdTT7S1Tw61yufZ1Ne85T3kdxTtRl0KGzjwWVCGMcNOKx4uR7H5GKjFRXJJYR+kC9KysAADoAAAAAAAAAAAAAAAAAAAABMbs+P1LRrNf6lxlvxLMV733FOS+oZu9+afRjnFvSc5Pxdb\/AAKgslokZqOdSpLvt5IAArNIAAAAABMbk+DuTQpPknWaT8vFH8SmlFSi4ySaaw0+0md0\/pzb\/wDE\/egU5ZLdRmpfdqdV7IkIuW0NbVJvOl3ss5f+lL+\/V5iuTTWU8pnNqOn0NUsqlpcRzCa5NdcX2NeUwNF1Kvo14tB1V4xytq\/VGS7F+HcH21fiQj+hLZe69O58vwVIAKzYAAAAAATG7fjtR0W0\/wDJc5bXWucV733FOS9eX5w39b0o4cLGi5S87X\/2iVBZLJJGajnOcu+3kgTG47CtYXkNwafH4yj\/AJ8F9OPjfo5P0FOfkoqUXGSTTWGn2kYy2Xcsq01Ujb\/LnNp1\/R1Kxp3dB5jNdX7L7UcG7Lbwnbl0lHilTSqLCzjD5vuyZl9a3e1ruWoabHpNPqNOvb\/seVeLz95tW+oWGvafVp21eM+lpuM4PlKOVjmvT5iVrNSWhTt\/Ui6U8pW8+9H3olz4XolnWby5UoqT8qWH60Y2t\/Ld36VZJcUaHx00upc88\/5V3+U+Nq6rRstuVleTVNWdWUWs8+fPGPHnJ67WtK9zc3euXtPhq3MsUoyjzjHyZ7MYS8xK2y2yrb+rCnBcbN+H9lMACk9AAAAAAAAAAAAAAGRue+q6foNetQqOnVbjGEl2NtZ9WTqV3YhOahFyfA1wZtjQuqun21StdT6WdKMp\/vNLPUwLBSbV7GkADhMAHzOap05Tl1RTbAJnQ\/lm8NXvM8SopUV34+4VBNbHg5aXcXMl8KvcSfowve2UpOpvWM2F+0pc7vzAAIGkAAAAAAmN0\/pzb\/8AE\/egU5Mbp\/Tm3\/4n70CnLJbqM1L7tTqvZAzdb0W31qz6Kr8GpDLpVO2D\/DyGkCCbTui+UYzi4y0JbRtcuNPulo2uPgrR5Uq0nlTXUsv2Pv5lScGq6Raaxaujcw+EvmVF86D8n4GDTvtU2tVVDUVO909tKFyuuHn6+5+hk7Kea1MqlKhlPOPPl1\/JWg57K\/tNRo9NaV4VodvC+a86616ToK9DWmmroHxVqwo0p1aklGEIuUpPsS62fZM7l1Kd5UWhabirc1X8dzWIx7U34yUY7TsV1aipxv5dRs+ErqV\/rFVYndVmorPVFc\/fj0FMc9hZU9OsaNpR+ZSjw58b7X6XlnQJO7uKMHTpqL1+QACJafkoqUXGSTTWGn2mDe7P0+4quvaSnY1+yVF\/BT8eOz0YN8HVJrQrnShUVpK5A6XoNCW57nTNRqVLjo49KnlpVHybz3+ovIxjCChCKjGKwklhJEzrL8B3npd618CtHoW\/LzX3l3FQWVG3ZmfCwjDbilo\/TgAAVGwAAAAAAAAAAAAEvup\/nDUtN0WP+rU6Wp5IrK8\/VxFQSu3c6tuLUNZal0UX0VFt8v7wl\/MWQyvLkZcR2tmn\/J+i1KlJJYSwkD9BWaiZ1+rfaNqlLWqVSda0aVKtRb5RXk8\/t85RW9eldW9OvRkp06kVKLXahWo0rijOjWgp05rEoyXJolLKtW2jqMrG8blptxNujW6+B+X395Yu0u9GRt0Z3e6\/R\/hleedal01CpScnHji45XZlH3GSlFSi001lNdp+lZr1OLStMo6RYRtKEpSjFt8Uutts7QDrd8zkYqKSWgABw6AAAAAATGu\/Hbv0ahH50G6j82c\/dZTktbJXv5Qbmr1xs6PCnjtwl96XcVJZPgjNh83OXN+2QABWaQfMoxnFxnFSi+tNZTPoAE3dbOoRru50q6q2FbHLgbcfxXefCs94UVwQ1G2qpPlKUVnH8pTgntvjmZnhoXvG66OxLvSt03q4LvV6VvTfJ9DHnj0Je01dG0G00WlLos1K0\/n1p\/Ol5PIjTAc21YlChCMtrV97uAAQLwAAAAACc3tRk9IpXdPlO1rRnxeJPl7cG9a11c2lG4j1VYRmvSsnhq9r4bpN1bKPFKpSkor\/ANscvXgz9n3XhO3aCbzKi5U3z8TyvU0Waw6GZdnEP\/kvY3AAVmkAAAAAAAAAAAAyN0X3gGgXE1LE6q6KHPHOX9Mv0Hpt2xWn6FbUfpShxz555y5\/09BlbkX5y1\/S9IXOPE61VLny9nUn3lQWPKKRlh260pcsvlgAFZqBz31jbalaytrqmp05d6fjT7GdAGhxpNWZIUL672jdRsdQ46+mzfxNdLLh5P6d3iKylWp16UatGcalOazGUXlNHxdWlC9t529zSVSlNYlFkzKx1ba03V09yvdOy5Tt386Ppx616UWZT6mRbdDvh6r8orAZ2k63ZazR47ap8ZFJzpS5Sh+PnRokGmsmaoyjNbUXdAAHCQAAAPOtVhb0Klao8QpxcpPyJZPQlNe1OprF4tv6Y1JzfyisuqCTy16O3uJRjtMqrVVTjfjw6nrsylUrUr7VKueO8rNrPiWX7W16CmPGztadlaUraisQpRUVzPYSd3cUaf06aiwACJaAAAADF1bSNSu7vwmy1epavhUeiw+HHf1832HUk9SE5OKulc2gYWm2+5aF9TV\/eW1xa8+JxWJdTx9FduDdDVhCe2r2a6gAHCYAAAAAAJbbeNP3BquktvHF0tNZ6l+OJR7ipJbWG9N3jp1+uVO5XQ1MdvZz713FkM7oy4jsuNTk\/R5FSACs1AAAAAAAAAAAAEvbfH\/lDupJ5VC3Xsj+JUEvQl4F+UCvTqLEbygnBvC7E\/uyRUFk+HQzYbSXVgAFZpAAAAAAMPVNr2t7V8KtZys7tc1VpPGXjtx7UcP5z3FoijHULLw+gml09L53q96WSqBNT4PMzyw6vtQey+78GDbbz0W4xxV50G+yrB+1ZRp0NV065x0F9bzb7FUWe4XWl2F7\/wBzZ0arznMoLPf1mbX2botaTkredJv\/AMdRpdzO9hnP9RHk\/Nfk2KlzQpJupXpwS6+KaWDhutxaRaL42\/pN+Km+N+rJwQ2Po0XmSrz8kqn4I7bfbGjWzThY05SXbUzL2nLQF8Q9El4tmRca1qe4PkuiWtWhQnyndVOXLtx4vRl+Y2tF0S20S16Kj8OpLnUqtYc37l5DQhCFOChTioRisKMVhI+g5ZWWhKFG0tubu\/boAAQLwAAAAAAAAAAAAAAAAAAAAAYO8rN3Ogzqxzx20lUWM+Z+p+o3jzr0YXFvUoTWYVIOEl5GsEouzuV1YbcHHmeGlXn5w0u2u+2rTTly+l2+vJ1k1sutOna3WmVeVWzrNdWOT\/qn3opRNWk0RoT26akwACJcAAAAAAAAAYe49MubjwfUNPS8MtHmK7Zx8X9+Nnpo+47PVKcac5qhdrlOhN4efJnr9psGdd6Dpt5dU7qrbJVqclJTg3Ft9fPHXzJppqzM8qc4z26fHVGiACBoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJynZV7He8q9KhN217RbnOMfgwkuvL86X8xRgEpO9imlFR2kuYABEuAAAAAAAAAAAAAAAP\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "GABRIEL ANDAY",
    "correoContacto": "gabriel.alday@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56987294555",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:40",
    "ubicacionGPS": "LatLng(lat: -22.4407051, lng: -68.88568)",
    "horaLlegada": "12:20",
    "horaDespacho": "12:39",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 15/05/2026 12:40:09
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-AclyNgls8vMeTo8QUY5kmKK84K3eUrX_HGs0sV5xzM5e1dfD13P
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "TO2787",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12606",
    "observacion": "•Entrega en puerto seco",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADoAVIDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABIEAACAQMCAgQICQoFBAMAAAAAAQIDBBEFBhIhEzFBkRRRYXGBobHBIiMkMkKissLRBxU1NlJydJLh8BYzQ4LSJTRTYkTi8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADQRAAIBAgMFBwMEAQUAAAAAAAABAgMRBCExEjJBUXEiYYGRobHBEzPRI0JS4fAkNGJy8f\/aAAwDAQACEQMRAD8A\/swAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj7m1a50bTYXNtTpzlKqoNVE2kmm+xrxI2Cc3ym9vprsrRb7mTgk5JMoxEnGlJx1sUSaaynlM\/Tzt2pW1KS5pwTXcehAuWaAAB0HxVc40pumk5qLcU\/GfYAMnbmr1NZ01160YQrQqOE4wTST611t9jNYl9A\/6funVdMxiFR9NTXYl14Xol6ioJzVnkUYeTlT7WqyfgAAQLwAAAAAAAAAAADnqX1nSr9BUu6EKuM9HKolLuOgytQ23pep15XFxbvppYzUjNpvHLzGNUt9V2nJ1rWcr3TE050pPM4LHm5eddxNRT0eZmlVnTd5R7PNfKK4HJpup2uq2kbm1nmL5OL5Si\/E0dZBqxojJSV0AADoAAAAAAAAAAAAAAAAAAAAAAAAAAAMLeUOLbNw+XwZQf1kvebplbnpurty9ikniHFz8jT9xKG8imur0pLuZ1aVPpNIs58\/hW8Hz\/AHUdZmbdqdLt6xl4qSj3cvcaZyWrJ03eCfcAAcJgAAEtr7Wnbp0rUuJRhUbozbfUurL9EvUVJg7zten2\/UqJPjt5xqRa8+H6maemXSvdMtrnOXUppvz45+sslnFMy0+zWnHnZ\/DOsAFZqAAAAAAAAAAAAB+NJrDWUz9ABI3K\/wAJ67C4pZWmXrxOmuqnLx+\/zZXYVqaaynlM4da02Oq6XWtHjiks02+yS6jP2jqM7vS3a18q4sn0c0+vHZ7GvQWPtRuZIfpVfp8HmvlfJvgArNYAAAAMDedxXttCc7epOm5VVGTg8fBaeUdiruxXUn9ODk+Bvgx9saqtU0inKUs1qKVOryxl45Pu9eTYDVnZnYTU4qS4gAHCYAAAAAAAAAAAAAAAOTVafTaTeU8Z4qE19VnWfM48dOUc44k1k6tTkldNGJs2p0m2rdN54JTj9Zv3m6TWxJt6HUg+Tp3Elh9nKLKUlU3mUYZ3ox6AAEDQAAAeN5bxu7KvbS6qtOUH6Vgw9k3MquhuhN\/CtqsoY8S6\/a33FES+382m6NZsX1Tl00fIs5++iyOcWjNU7NaEud18\/BUAArNIAAAAAAAAAAAAAAAJdZ0nfTzlUNSp9vJcf45X1ioJnetCULO11KlyqWdZPPLqf9UidPW3MzYnKG2v2u\/59CmB50K0Li3p14PMKkFOL8jWT0IGlO4AAAMTeEHPbNy19Fwf1kbZwa5Q8I0O9pY4m6Mml42lletEou0kVVo7VOS7mTOiT\/NWuWXDnwfVbWEmupKpjn68\/wAxakNXoO92PZ3lKTdxp8nhxeXFKWH6uF+gsNPvI3+n0LuKwqsFLGc4fau8nUXEzYSVux3Jrx19TpABUbgAAAAAAAAAAAAAAAAACY2V8XDUbd\/Op3Lz7PcU5Mbb+J3HrlDqTqqaXpl+JTk6m8ZsL9pLlf3AAIGkAAAEvX+S\/lDt5ZaV1b4fbnk\/+KKgmNxJ0dzaJcp44qjpt+TK\/wCTLKetjNicoqXJr3KcAFZpAAAAAAAAAAAAAAABxaza+G6Pd2+MudJ8PnXNetHaDqdncjKKkmnxMTaF34Vt2hlpyot0pY7MdXqaNsl9qYs9U1bTMcKp1uOnHH0ctezhKglNdplOGk3SV9Vl5ZAAEDQD8aTWGspn6ACS23QUZaxoNbKhGb4U3l8Lys8\/Jwv0nTsmvL811rKo30lpWlFrxJ8\/bxHlcY0zftCtjFO\/pcEnz+d1e2Me8\/dN+Qb51C1y1C7h0sV45dfvkXyzT8zzKfYlFcm4+DzRUAAoPTAAAAAAAAAAAAAAAAAAJex+J\/KDfwzyq26a8+If1KgmLn4j8odq3yVe2az4+UvwKcsnw6GbD5ba73+QSW79U1LTdRtPA60o05wb4Es8Uk+3vRWkvvNKlV0q7ceJUbnmvH1P7op72ZzF3+i2nbT3NrR9Tp6vptO7guFy5ThnPDJdaO4l9sZ0zWNQ0SUpOMH0tHP7PL3OPcyoIzVnkWUJudNOWuj6oEvvT4tabcZ\/y7le5+4qCa35Hi0Gm8\/NuIv6sl7ztPeRDF\/ZkUoPmEuOnGWMcSTwfRA0gAAAAAAAAAAAAAAAAAEw34N+UNJf\/KtueeXUvX8z+8FOTGvfJ92aLc9fSSdL14++U5ZPRMzUMpTj3++YABWaQAACc3raynpVO+p8qtnVU0+1JvD9fD3HHqdxD\/EGhavTT4bmKg3jHJ8vv+oqbq3hd2la2qfMqwcH5msH8+qyqVNpzt5tKtpd3h884i8r7XsL6eat\/mZ5uKWxJyXHPxj\/AEf0cHla11c2lG4j1VYRmvSsnqUHop3VwAAdAAAAAAAAAAObUbl2em3NzHHFSpSks9WUuRn7Y1qprWnTqV1BV6c3GShyWOtPHq9BLZdrlbqRU1B6s2QARLCX3D8n3Rot0ljin0bfZjKX3mVBM74i4WFpdR+dQuU8rrXJv3IpYyUoqS5prKLJbqZmpZVZro\/T+j9JrfdNS0KEsc4V4vPoaKUwt5w4ttV3jPBKD83wkvecp7yO4pXoy6HBuXjsb3TdwUpfNcadVLqcXl+ziXcVUJxqU41ISUoyScWu1GZ4JDVtsUreeH01tBqT7JcKafecu07+pWsqmnXK4biwl0Ul\/wCvUvY16EdecehCD2KvdLPx4m+T290nt5t9lWLXrKEnN8zUdv4f060UvW\/ccp7yJ4r7Muhu2jcrOhJ826cW+49jytoOna0oPrjBL1HqQZfHRAAA6AAAAAAAAAAAAAAAS+980rewu1ydG5XP0Z+6VBPb3pue3nJfQqxk\/WvebdpUVWzoVF1TpxkvSix7iM0Mq81zS+T2ABWaQAAAQuu0fA9ev6EklR1G2c4rOFxxXEn5+KOP9xdE3vW0nLTqWoUZcNWzmpZS54bS9uPWWU3aRkxkNqldcM\/z6HbtW4Vxty0ecuEXB+TDa9mDXJfYVXi0atT5fArv1pFQcmrSZZhpbVGL7gACBeAAAAAAAAAZe5KnRbdvZeOlw9\/L3k1tBzsNaVvL4NO9tY1Yx8vWvvFFur9Wr391faRPXi8AsdvazFf5MIU6uFluOM+zi7y+GcLczzcTlXU\/4pP1sy4B+JprKeUz9KD0jF3dS6XbV1hZcOGS9Eln1ZOzRayuNFsqqeW6EMvypYfrPTU6HhOl3VDtqUZRXPtwZmza\/Tbcox7aUpQfLy595Z+zxM2mI6r2f9m6Yu7\/ANV7z\/Z9uJtGLu\/9V7z\/AGfbiRhvIniPsz6P2O3Rf0HYfw1P7KMTcFGro2qUtwWuXBtQuqa5KUerP99uDb0X9B2H8NT+yjqq0qdalKlVgpwmsSjJZTR1StIi6f1KSWjyt1Pi0u6F9bQubaoqlKaymid3pONZadYKSc61wpcPX5PvB6JqWg3U6+guNa3qfPtq0uS83NdXf5z00vS9SutbesaxTp05Rhw0qMcPh8T7cdvpZJJRe0mU1JVKkfpONm9eXW5SAAqNwAAAAAAAAAAAAAAAAABibwinti6b7HBr+eJ36O3LRbGT5t21Nv8AlRybq\/Vq9\/dX2ke+g4\/MNjjq6CPsJ\/s8TMv9w\/8Ar8s0AAQNIAAAPOvQp3NCpQqx4qdSLjJeNM9AA1cj9kU5WV9qlhVkukpyjyXbhyTfsLA\/n2oXs9H3zcXUE3CM4uql2wlGOfb34L+E41KcakJKUZJOLXai2qs9rmYsHJbLp\/xb9z6ABUbQAAAAAAAADI3V+rV7+6vtI4qlj+cNh0qKjmcbaNSHLLzFZ5efq9J2brajtm8b\/ZivrI6NDj\/0GxTXJ0Icnz5NFidop95klFTrOL4x+Ty21eK90C1qZzKEOjkvE48vZh+k1SV2u3pus6lo08qMZdLSyscurPpTj3FUcmrSLMPJypq+qyfgCX2b8nrapp7WPB7jKz5cr7qKgl9PXgu\/dQo5xCvR40vG\/gv\/AJHY6NEa2VSEu+3mioMXd\/6r3n+z7cTaMTeMlHbF0n9JwS\/nTIw3kTxH2Z9H7Hdov6DsP4an9lHacekRcNGsYvrVvTX1Udhx6k6e4ugABwmAAAAAAAAAAAAAAAAAAAAAYm8JJbYuk+1wS\/nid+kRcNGsYy6429NPnn6KMbfVXh0OnSSy6teKx6G\/ciio01RowpJ5UIqOfHgm9xGaOeIk+SXyfYAIGkAAAAAAkby0p3G+KtrWWYXlo4vycuv6p0bUvKttUr6DetKvaP4vP0o9fvz5n5D81T4rfelVv2qTh9pfePrdVjWoVKGu2KxXtHmpj6UP7yn5GX6pRfFHmJOEpVI8G79Hb\/0pQc2n39DUrKnd28swqLq7YvtT8qOkoeR6SaaugAAdAAAAAAMHec+DbdeP7c4R+sn7jU02HRaXaU\/2KEF3RRib7qOOh06a5upXisehv8CipU1SpQprqhFRXoJvcRmjniJdyXyTO6OLTNY07W4Rk4QfRVseL\/8AHLuRUJprKeUzl1OwhqenVrObcVUjhSXY+xmXtS\/qztZ6ZePF3Zvhaby3Dsfo6u7xnX2o9Dkf06zXCWfjxN8mNV+S730u56lWg6T7cvmvvIpyY3quhhp1+s5trlevD+6Ke9Y7isqe1yafqU5Pb3lw7dks44qsV5+33FAmmsp5TJnfLdTT7S1Tw61yufZ1Ne85T3kdxTtRl0KGzjwWVCGMcNOKx4uR7H5GKjFRXJJYR+kC9KysAADoAAAAAAAAAAAAAAAAAAAABMbs+P1LRrNf6lxlvxLMV733FOS+oZu9+afRjnFvSc5Pxdb\/AAKgslokZqOdSpLvt5IAArNIAAAAABMbk+DuTQpPknWaT8vFH8SmlFSi4ySaaw0+0md0\/pzb\/wDE\/egU5ZLdRmpfdqdV7IkIuW0NbVJvOl3ss5f+lL+\/V5iuTTWU8pnNqOn0NUsqlpcRzCa5NdcX2NeUwNF1Kvo14tB1V4xytq\/VGS7F+HcH21fiQj+hLZe69O58vwVIAKzYAAAAAATG7fjtR0W0\/wDJc5bXWucV733FOS9eX5w39b0o4cLGi5S87X\/2iVBZLJJGajnOcu+3kgTG47CtYXkNwafH4yj\/AJ8F9OPjfo5P0FOfkoqUXGSTTWGn2kYy2Xcsq01Ujb\/LnNp1\/R1Kxp3dB5jNdX7L7UcG7Lbwnbl0lHilTSqLCzjD5vuyZl9a3e1ruWoabHpNPqNOvb\/seVeLz95tW+oWGvafVp21eM+lpuM4PlKOVjmvT5iVrNSWhTt\/Ui6U8pW8+9H3olz4XolnWby5UoqT8qWH60Y2t\/Ld36VZJcUaHx00upc88\/5V3+U+Nq6rRstuVleTVNWdWUWs8+fPGPHnJ67WtK9zc3euXtPhq3MsUoyjzjHyZ7MYS8xK2y2yrb+rCnBcbN+H9lMACk9AAAAAAAAAAAAAAGRue+q6foNetQqOnVbjGEl2NtZ9WTqV3YhOahFyfA1wZtjQuqun21StdT6WdKMp\/vNLPUwLBSbV7GkADhMAHzOap05Tl1RTbAJnQ\/lm8NXvM8SopUV34+4VBNbHg5aXcXMl8KvcSfowve2UpOpvWM2F+0pc7vzAAIGkAAAAAAmN0\/pzb\/8AE\/egU5Mbp\/Tm3\/4n70CnLJbqM1L7tTqvZAzdb0W31qz6Kr8GpDLpVO2D\/DyGkCCbTui+UYzi4y0JbRtcuNPulo2uPgrR5Uq0nlTXUsv2Pv5lScGq6Raaxaujcw+EvmVF86D8n4GDTvtU2tVVDUVO909tKFyuuHn6+5+hk7Kea1MqlKhlPOPPl1\/JWg57K\/tNRo9NaV4VodvC+a86616ToK9DWmmroHxVqwo0p1aklGEIuUpPsS62fZM7l1Kd5UWhabirc1X8dzWIx7U34yUY7TsV1aipxv5dRs+ErqV\/rFVYndVmorPVFc\/fj0FMc9hZU9OsaNpR+ZSjw58b7X6XlnQJO7uKMHTpqL1+QACJafkoqUXGSTTWGn2mDe7P0+4quvaSnY1+yVF\/BT8eOz0YN8HVJrQrnShUVpK5A6XoNCW57nTNRqVLjo49KnlpVHybz3+ovIxjCChCKjGKwklhJEzrL8B3npd618CtHoW\/LzX3l3FQWVG3ZmfCwjDbilo\/TgAAVGwAAAAAAAAAAAAEvup\/nDUtN0WP+rU6Wp5IrK8\/VxFQSu3c6tuLUNZal0UX0VFt8v7wl\/MWQyvLkZcR2tmn\/J+i1KlJJYSwkD9BWaiZ1+rfaNqlLWqVSda0aVKtRb5RXk8\/t85RW9eldW9OvRkp06kVKLXahWo0rijOjWgp05rEoyXJolLKtW2jqMrG8blptxNujW6+B+X395Yu0u9GRt0Z3e6\/R\/hleedal01CpScnHji45XZlH3GSlFSi001lNdp+lZr1OLStMo6RYRtKEpSjFt8Uutts7QDrd8zkYqKSWgABw6AAAAAATGu\/Hbv0ahH50G6j82c\/dZTktbJXv5Qbmr1xs6PCnjtwl96XcVJZPgjNh83OXN+2QABWaQfMoxnFxnFSi+tNZTPoAE3dbOoRru50q6q2FbHLgbcfxXefCs94UVwQ1G2qpPlKUVnH8pTgntvjmZnhoXvG66OxLvSt03q4LvV6VvTfJ9DHnj0Je01dG0G00WlLos1K0\/n1p\/Ol5PIjTAc21YlChCMtrV97uAAQLwAAAAACc3tRk9IpXdPlO1rRnxeJPl7cG9a11c2lG4j1VYRmvSsnhq9r4bpN1bKPFKpSkor\/ANscvXgz9n3XhO3aCbzKi5U3z8TyvU0Waw6GZdnEP\/kvY3AAVmkAAAAAAAAAAAAyN0X3gGgXE1LE6q6KHPHOX9Mv0Hpt2xWn6FbUfpShxz555y5\/09BlbkX5y1\/S9IXOPE61VLny9nUn3lQWPKKRlh260pcsvlgAFZqBz31jbalaytrqmp05d6fjT7GdAGhxpNWZIUL672jdRsdQ46+mzfxNdLLh5P6d3iKylWp16UatGcalOazGUXlNHxdWlC9t529zSVSlNYlFkzKx1ba03V09yvdOy5Tt386Ppx616UWZT6mRbdDvh6r8orAZ2k63ZazR47ap8ZFJzpS5Sh+PnRokGmsmaoyjNbUXdAAHCQAAAPOtVhb0Klao8QpxcpPyJZPQlNe1OprF4tv6Y1JzfyisuqCTy16O3uJRjtMqrVVTjfjw6nrsylUrUr7VKueO8rNrPiWX7W16CmPGztadlaUraisQpRUVzPYSd3cUaf06aiwACJaAAAADF1bSNSu7vwmy1epavhUeiw+HHf1832HUk9SE5OKulc2gYWm2+5aF9TV\/eW1xa8+JxWJdTx9FduDdDVhCe2r2a6gAHCYAAAAAAJbbeNP3BquktvHF0tNZ6l+OJR7ipJbWG9N3jp1+uVO5XQ1MdvZz713FkM7oy4jsuNTk\/R5FSACs1AAAAAAAAAAAAEvbfH\/lDupJ5VC3Xsj+JUEvQl4F+UCvTqLEbygnBvC7E\/uyRUFk+HQzYbSXVgAFZpAAAAAAMPVNr2t7V8KtZys7tc1VpPGXjtx7UcP5z3FoijHULLw+gml09L53q96WSqBNT4PMzyw6vtQey+78GDbbz0W4xxV50G+yrB+1ZRp0NV065x0F9bzb7FUWe4XWl2F7\/wBzZ0arznMoLPf1mbX2botaTkredJv\/AMdRpdzO9hnP9RHk\/Nfk2KlzQpJupXpwS6+KaWDhutxaRaL42\/pN+Km+N+rJwQ2Po0XmSrz8kqn4I7bfbGjWzThY05SXbUzL2nLQF8Q9El4tmRca1qe4PkuiWtWhQnyndVOXLtx4vRl+Y2tF0S20S16Kj8OpLnUqtYc37l5DQhCFOChTioRisKMVhI+g5ZWWhKFG0tubu\/boAAQLwAAAAAAAAAAAAAAAAAAAAAYO8rN3Ogzqxzx20lUWM+Z+p+o3jzr0YXFvUoTWYVIOEl5GsEouzuV1YbcHHmeGlXn5w0u2u+2rTTly+l2+vJ1k1sutOna3WmVeVWzrNdWOT\/qn3opRNWk0RoT26akwACJcAAAAAAAAAYe49MubjwfUNPS8MtHmK7Zx8X9+Nnpo+47PVKcac5qhdrlOhN4efJnr9psGdd6Dpt5dU7qrbJVqclJTg3Ft9fPHXzJppqzM8qc4z26fHVGiACBoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJynZV7He8q9KhN217RbnOMfgwkuvL86X8xRgEpO9imlFR2kuYABEuAAAAAAAAAAAAAAAP\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "GABRIEL ANDAY",
    "correoContacto": "gabriel.alday@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56987294555",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:40",
    "ubicacionGPS": "LatLng(lat: -22.4407051, lng: -68.88568)",
    "horaLlegada": "12:20",
    "horaDespacho": "12:39",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/05/2026 12:40:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[15/05/2026 12:40:09] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76050301', 'TO2787', 1, 24456550, 0, NOW(), 
				'12:39', '12:20', '12:40', 10, '•Entrega de insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778863209.png', '•Entrega en puerto seco', null, 'COMPLETADO','LatLng(lat: -22.4407051, lng: -68.88568)' )
				
[15/05/2026 12:40:09] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200336

15/05/2026 12:40:09 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200336'                    
				WHERE idllamado = 12606			
				TO ENVIO: micorreo@miempresa.cl, gabriel.alday@berliam.cl


15/05/2026 12:40:09 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12606			
				
15/05/2026 12:40:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 12:40:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:40:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

[15/05/2026 12:40: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;
                

15/05/2026 12:40:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

[15/05/2026 12:40: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;
                

[15/05/2026 12:40: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;
                

[15/05/2026 12:40: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;
                

[15/05/2026 12:40: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;
                

15/05/2026 12:40:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:40:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

[15/05/2026 12:40: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;
                

15/05/2026 12:40:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:40:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:40:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:40:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:40:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:40:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

[15/05/2026 12:40: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;
                

15/05/2026 12:40:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:40:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:40:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:40:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12606
            GROUP BY l.idllamado;
            

15/05/2026 12:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

15/05/2026 12:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12606
                

[15/05/2026 12:40:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:40:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:40:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

[15/05/2026 12:40:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

[15/05/2026 12:40:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12607
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12607
                

[15/05/2026 12:40: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;
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12607
                

[15/05/2026 12:40: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;
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12607
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12607
                

[15/05/2026 12:40: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;
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

[15/05/2026 12:40:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12: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 = 12607
                

[15/05/2026 12:40:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:40:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

[15/05/2026 12:40:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:40:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12: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 = 12607
                

15/05/2026 12:40:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

[15/05/2026 12:40:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12:40:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

[15/05/2026 12:40:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:40:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

[15/05/2026 12:40:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12:40:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12607
                

15/05/2026 12: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 = 12607
                

15/05/2026 12:40:53 - logentry: =========================================
FECHA: 15/05/2026 12:40:53
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-DUhzo9BSZpwNLLZHN1-mIKV8tZbJvgcagw2ef762zUWFOCQsFR0
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2871",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12607",
    "observacion": "•Entrega en puerto seco",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD5ATwDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABJEAACAQMCAgUIBQgHCAMAAAAAAQIDBBEFBiExEhNBUYEUImFxkaGxwQcVIzLRNkJScpKywuEkMzRzotLwFiU1U2J0gvEmQ1T\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAA4EQACAQIDBQYDBwMFAAAAAAAAAQIDEQQhMRIyQVGBEyJhcbHBM6HRFCNCcpHh8AU08SREUmKC\/9oADAMBAAIRAxEAPwD+zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLqV7DTtOr3c+VKOcd75L3hK5xtRV2ZtXWbmpumlpdnCnOjCDlcSfFx9j4di8TcJ\/aVjUp2VTUrnLub6XWNvi1Ds5+31YKAnOydkU0HKUdqXHPyQABAvAAAMTb2r3F\/UvbW8UVcWtVxfRjhOPJe9P3G2S92vqrfNvccqWow6uTb4dLgvlH2lQTmlqjPQk2nGWqdvoAAQNAAAAAAAAOS\/1Oz02l1l3cQpLsTfGXqXNhK5xyUVdnWCX\/2wrXc3HS9IuLmMVlylw9yT+J+\/X+4KeJVNvTlHtUG8\/Ms7ORn+1UuF30ZTgnLbedlKrGjfW9axqP8A5kcpfPn6OzsN63uaF1SVW3rQq03+dCSaIuLWpZCrCpus9QARLQAAAAAAAAAAAAAAAAAAAAAAAAS25Kk9V1my0GlnoNqrXeOz\/wBZ9qKepUhSpyqVJdGEE5SfckTO0ozv73UNaqqWa9ToU+klwjzx+6vAshleXIy4jvONLnr5IpoQjTpxhBYjFJJdyPoArNQAAAAABM73g4WFreQ4Tt7hNPGcZ\/mkUkJqpTjOPKSTRk7roOvtu7UecEp+xpv3ZOjQa6udBsqi\/wCTGL9aWH70WPOCM0csRJc0n7GgACs0gAAAAmNwarc3d9DQtKn9tV4V6i\/+td2fVz9hKMdp2KqtRU43Z9aluG6ub2WmaDTVauv6yvhONP1dni\/efths+hGr5Vqted\/cPi+m30fxfj7DV0jSLbRrNW9usyfGpUa4zff\/ACO8k52yiVRobb2q2b5cEfMIQpwUKcVCMVhRisJH0AVmo8bm0t7ym6dzQp1oNYxOKZN3W27rSKsr7btdwljz7efnKS54Wfn7SqBKMmimpRhUzevPiZOibgttYp9D+puoL7SjLmsc2vQaxObh0ObmtX0tdXfUH02opfaLt4d\/x5Glomr0tZ0+NxBdGa82pDP3Zfh3HZJW2kQpVJKXZ1NeD5miAZl3uDTbK\/jY16\/RrPGVjhHPe+zvIpN6F8pxirydjTABwkAAAAAAAAAAAAAc1bULWhd0rSrWUa1b+rg0\/OOkHE09AAAdJ7ed7KhpMbOlh1byappPu7fkvE19Nso6dptC0jjFKCTa7X2v25J+rnV99U6ay6OnQ6T4cOlz+LX7PiVRZLKKRlpd+pKp0XTX5gAFZqAAAAAAOe+p9dp9zSaz06Uo49aZj7JqdPblOOc9XUnH1cc\/M3pRU4OL5NYJvYcm9EqwfBwuJLHb92JYtxmaeVePk\/YpgAVmkAHzUqQpU5VKklGEE5Sk3wSXNgGRuTWvqqzVOguneXD6FKC4tf8AVj\/XE\/du6ItIsm62J3dZ9KrU5v1ZM3QqUte1qtr1xBqlSfV20G+Cwufvz62+4qiyXdWz+pkpLtZdq9OH16gAFZrAAAAAABI6pSltjW6erW0WrK5l0LilHkn349rXpz3lcc99Z0tQsa1pWWYVY4fofY\/B8SUZWeZTWp7cctVofl3eU7fTat7GSlCFJ1IvslwyvaRtroMb7at1qdzmpe1ulWjN80ov54ftRz1dWr0tq19HrZVzRrxoNZ4uHF+5xx6mi5tbONvplOyWMQpKD4cHw4sszprqZE44qWeiXzf0sc+373y\/Q7Ws8qSh0JdJ5eVwy\/Xz8TSJnY03HS7i1nwqULhpx7k0vmmUxCatJo1YeTnSi3yAAIF4AAAAAAAABK7h\/K3Rf1l+8VRK7gWd3aNwb85cv1iqLJ6Iy0PiVPP2B43lzCzs61zU+7Sg5vjjOFyPYn953LpaG7eGesuqkacUufPL+GPEjFXaRdVnsU3LkfGzLaX1fW1Gqvtr2rKbb7k388lGc+n2qstPt7ZLHVU4x8UuJ0CTu2zlGGxTUQAZ9LWKNXXK2kqnONWjTU3N46Mlw5fte5nEmycpKNr8TQABwkAAACY2T5lLUaD507l5+HLwKcmdmZlHUpvOJXT4v\/XpJx3WZqnxodfQpgAQNIJ7d13PyOjpltxuL6agopZ83tz7vf3FCStgnrO9Lm9fRlb2C6un2rpcVw\/xP2esnDW\/IzYhtxUFrLL6\/IorCyp6dY0bSj9ylHo5732vxeWdABDU0JJKyAAB0AAAAAAAAAht46fC31u0v0kqdxJKpw\/Oi1x8Vj2FyS2\/qedHoVMfdrpcu+L\/AAN3SLry3SbW5culKpSi5P8A6scffktlnBMxUUo4ipFcbMxNof27Wf8AufnIpyY2z5m4dehzzX6Wf\/Kf4lORqbxZhfhLr6sAAgaQAAAAAAAACX11pbw0bLxz+JUEXuyu6W6tLak06ahLh+u\/wLQsmu7EyUJXqVF4+wJfVMapvOxsGulSs49bUT4rPPl4R59\/tqCX27m83LrF\/wA4qfUxlzys\/hFCGV2SxHecYc36ZlQACs0glr2as\/pAtKnKNzQ6EuzL4r5IqSP3hONvrukXLXGE02\/QpJ\/iWU83Yy4t2pqXJr1LAAFZqAAABM7Hi1YXjaaTuXh9\/BFFcVeotqtbh9nBy4+hZMDY1Lq9vuXH7StKXuS+RNbjM0868PJ+xRgAgaTk1S78g0u5uu2lTbj6+z34MvZto7fQo1p8alzN1ZN8X3Lj4Z8Tz3vWlDRIW8OM7mtGCinzS4\/FI3rWira0o0FjFKEYLHoWCzSHmZt7EflXzZ6gArNIAAAAAAAAAAABgb0ourt2rJLPVTjPHjj5nlsa567QnRfOhVlHwfH5s1tatnd6NeUEsylSl0V6Usr3kt9H1fFe9t3+dGM1w7m0\/ii5Z02efPuYyL5qxobc\/KbXP71fGRTkxtzD3LrjTT+1x\/iZTkam8X4X4fV+rAAKzSAAAAAAAAAfz3fFWS3BT456ujHC7uLZ\/QYyUoqS4prKP57vGk6mv3DSy4W8Ze9fiXGlVvKNJtKuW3OjBtvvwi6puRPOwr+\/qI9L24VpY17l4xSpynx9CyYuyrd09CVeeXO4qSm3J5bWcfJvxPbeFd0duXGFxqOMP8Sb9yO\/SKCttItKK\/Noxz6Xjj7yGkDQ+9iPJev+DsABA0giPpC\/r7H9WfxRbkpuqjC417R6E1mFSUoSXobSLKTtIyY1bVFry9Tf0m78u0m1uc5dSmnL9bk\/fk7Ca2ZWlStrvS6r+0s6zXLHB\/zT9qKUjNWk0W0J7dNSYABEuOLWZ9Xol9LpKOLeeG+\/ovBw7Pj0dsWnDDfTb\/bZ87xuOo25XjnEqsowXH05fuTNHSLfyTSLSh2wpRT9eOPvLPwdTNriPJer\/Y7AAVmkl9yZudx6NZPjDrOslHPPiua9SftZUEvJdf8ASJDPHye24ejKf+YqCyeiRmoZynLx9AACs0gAAAAAAAAAAAH40msNZTITalP6v3fdWfS4KNSmvTiSa9yLwkLqkrH6RLatlKN1DPPtcXHHtSLabyaMWKj3qc+T9To2p52r67UXKVzw\/an+JTkxsvzvrOpz6Vy\/O7+f4lORqbxZhPgrr6sAAgaQAAAAAAAACL1Kj5burVqeONLT5Y9L6McfvG1tGr1u2rXLy4dKL8JPHuwcGgxVzurW6zWYxl1T4+lr+E+tmSlbx1DTJ\/etbh8e1p8P4feXy3bcrHm0Mqqn\/wAtr1\/Yb4bqWVlaJ8a9yuXqa+ZTJJLCWEiZ3F\/SNz6LavlGbqNLjniny\/8AH4lOQluo00s6tR+S+X7gAFZpBMbg8\/dWiQXNTcvevwKcmNW4750lPilTbx+0WU9TNidxLxXqfF7nR97W92lLqNQiqc3nh0uX+V+0qjL3BpP1vpcqEHitB9ZSececjy2zq\/1np6p15NXdBdGrGX3n3S8Q+9G\/I5T+7quD0ea9zZAPirVhRpTq1JKMIRcpSfYlzZWaia3Q\/LtY0rSY8VOp1tRNZ83\/ANKRUEvoClq+v3euThiil1Vvnhw5Z9i95UFk8rRM2H7zlU5v5IAArNJMWfn\/AEiX+fzLZY9kPxKcmNK87fWqz54pJZ7vu8Pd7inJz1XkZsNuyfi\/UAAgaQAAAAAAAAAAAARO+6k7fUtPuacsTgnKL7mmmi2Ivfjiruxc0nHq6nB9vItpb5jx3wH09Tu2JBrRa1WXOpcSee\/gvnkpiV2FeKppte0f3qNTpL1S\/mmVRypvsnhGnQjYAArNIAAAAAAAPC9r+TWNxcf8qlKfLuWQcbsrk9srNb6zu+L665+8+3m\/4vefkv8Ade\/FJpqlqNLCfBLpf+17zp2TR6rbsJ4x11Sc+fPj0f4T53lZTraXC9oxbrWc+sTT4qPb8E\/Avv8AeNdDz1FrDRmtVn\/Oh41P6R9IlLj\/AGa2+Kf+cqCQ27eR1Ldt7exwustYvC7OEMrwwV5Cpk0vAvwrUoykuLYABWagTGq\/l1pX90\/4inJi4XlH0hWy5q3tm8d3CX+Ze4nDV+RmxOkV4r1KcntY0Ct5YtW0eXU3sXmcFhRqrt9GfiUIIqTTyLalONRWkS8N23tvBU7\/AES4jWXB9Wn0X6s\/izzrz1ndDVrK0np9i39rKT86WH6Us8uS8SsBPbSzSKXQnJWnNtdDxtLSjY2lO1t4dClTWIo9gCs0pJKyAAB0mNG8zemrwfNxUvh+JTkxp3mfSBqcFydBS90PxKcnPVGbDbrXi\/UAAgaQAAAAAAAAAAAAQf0gVM6la08\/douXPvb\/AALw\/nW9Zyr7j6qPnOFKEIpenL+ZdR3zB\/UHahbmzq02C29qOlXkuFvqFso1Hn7snjj74v2l2ZOsaLDUdC8iSXWUoJ0X3SSwvB8jz2vqj1HS1TrNq6tfs60ZLD9Dfs9qZyT2ltEqC7GfZvR5r3+ptAAqNoAAAAAAMbdlx5Pty6fbUSprxfH3ZNkl96uVeGnafFvNzccl24wv4icFeSM+Jls0ZNfy+Rs6Jb+S6JZ0XzjSi362sv3s7K1KFejOjUXShUi4yXenwZ9JJLCWEj9It3dy6MUoqJD7W6rSdz3mnVKqk5Zp058lJp5x68Fwfz9aVU1TUtcuLZyjd2lx0qPRfFvpS5enzeBU7f1uGr2eJ+bd0vNrU2sPPfjuLaqvmYMHPZXZvxt+prgApPRBMabi435qVaLTjSoqmvQ\/NXyZQXt3Cxsq11U+7Sg5Nd\/oMTZttVVhX1GusVb6q6j4c1l\/NssjlFszVe9VhDr+hRAArNIAAAAAAAABMW\/D6RLrHDNss+nhEpyYu\/6P9INnLsr27TfpxL8EU5ZPh5GbD\/jX\/ZgAFZpAAAAAAAAAAAAB\/O60frL6QHD7yV0k+HZDmvZE\/oVScaVOVSX3YJyfqR\/PdnRnd7ndzNcYwqVG\/S+D\/eLqWSbPPxnenThzZ\/RCT1ZT29uOnq9OMvI7rzLhR5J9\/wA\/BlYc99ZUdQs6lrXj0oVFj1Psa9RXGVnmaq1Nzjlqs0e0JxqU41ISUoyScWu1H0S23b2tpd7Pb2ovE4PNvUfKa7l8vFFSJR2WdpVFUjfjx8GAARLQAAAS6l9bb581qVDTqeH6Z\/yb\/wAPt3dTv6em6fWu6jWIR4J9r7EZWz7Gpb6XK8r\/ANdez61trj0ez5vxLI5RbMtXv1I0+r6afMoAAVmomNo+fqGtVebnc\/e7+MvxPbWtBru7+ttHn1V9H70cpRq+3hn3M8dk+dS1GouUrl4\/14lOWzk4zyMVCnGpQSl\/Mybst4W6cbfVqM7K5XCWYvoevvXy7zUq69pFGDnLUrZpfoVFJ+xcTou7G1v6ap3dvTrRTylOOceruOCntXQ6c+nHT4N5z50pSXsbOXgydsRHJNPzMe8vLndt0tPsIVKWnRl9vXlHHSxxx+CKuhRhbUKdCmsQpxUYr0I\/aVGnQpqnShGEFyjFYR9kZSvktCylScW5Sd2wACJcAAAAAAAAAS+6X5HrGkajjhCr0JyXdlfJsqDE3faeV7drtLMqLVVeHP3Nnbo12r7R7W5zlzprpetcH70yx5wTM0O7XlHnZ+zO4AFZpAAAAAAAAAAAAMfdd2rTbty8+dVXVR4\/pcH7smN9H9rihd3jX3pKnHwWX8Ufn0gXeKdpZLtbqy8OC+LN\/b1j9X6HbUGsTcOnPP6T4v2Zx4F27T8zzrdpjL8Io0wAUnomZrmiUdZtlFy6u4p8aNVc4v8AA4NC12q7h6Rqy6u+pPoxk+VVfj8SiM3V9CstZpKNxDFSKxCrHhKP4r0E1JWszPUpyUu0p68fE0gSVO\/1zbUXS1C3lf2cI+ZXpfmJd7x8faadtu3RbimpO76l9sasWmvkHB8MxHE03lLJ8mbR+NpLLeEjIr7q0WhTc\/LFUwvu04uTf+vSZMrrW905hZxen6dLg6s151Rdvr9S4d7Cg+OQliILKOb5IXdee7NWhZWqb061lmvU6TSqerHqePaVsYqMVGKSSWEl2HJpemW2k2cba2jwXGUnzm+9nYJNPJaHaNNxvKe89foAAQLyY2N\/Yb3\/ALl\/BFOTGz\/MudXoPnTuePta5eBTllTeZmwnwY\/ziAAVmkAAAAAAAAAAAAAAA+K1KFejOjUWYVIuMl6HwJzZdSVG3vNMqv7S0rteD7vFP2lMSt9nSN72135yoX8VTm1y6XL\/ACv2lkM04mWv3Jxqcsn5P9yqABWagAAAAAAAAAAcOsanS0jTql1UaylinF\/nTxwR1K7siMpKKcnoS97bR1zfvk1TzqNtFdPtTiknj9p48S2JXZ+mX9vXub++g07qClGTazJt5ba7CqJ1HnbkZsJF7Lm1Zyd\/oAAVmsAAAHBX0PS7manWsKEpJYz0cfA7wdTa0IyjGWTVzgoaHpVtUVSjYUYyXJ9HOPad4Abb1EYxjlFWAAOEgAACY299junW6D4Oc1Ux4t\/xFOS9lml9IV\/Bfdq26fuh\/MqCdTW5mw2UGuTfqAAQNIAAAAAAAAAAAAB+SkoxcnwSWWYe0tQvNT0mpXvavWzVZxjLopebhdy78nUsrkHNKahz9jdMfdGnS1LRakaSzWovraeOeVzXsybACdncTgpxcXxMvbuqLVtIpV5PNWHmVf1l2+PPxNQkZf8AxTcXTz\/u\/UH53DCpSz8s+x+grU01lPKZKas7rRlVCblHZlvLJ\/XqfoAIGgAAAAHzKUYQc5yUYxWW28JIASlGEHOclGMVltvCSJKlGW79a8olF\/VVm+ioSbXWy48fhn0Y7z7u7u53VeS0\/T5unp1N\/b3H6foRS2VnQsLSna20OhTprCXzZZuLxMb\/ANRKy3F839D3ABWbAAAAAAAAAAAAAAAAAACXv822\/wCwqr7teg4vsy\/O\/kVBMbs+w1LRrzlGncYk\/RmL+TKcslomZqOU5x8b\/qgACs0gAAAAAAAAAAAHPqEuhpt1LGejRm8eDMjZUejtyk8\/eqTfvx8jV1RpaTeNvCVCf7rMzZqa21b5XOU8ftMsW4zNL+4j5P1RugArNJy6jYUNTsqlrcRzGa4PCzF969JM2uo3205xstWjKvZNtUK0FlxXd6vRzRYHnWo0rijOjWgp05rEoyXBonGVsnoUVKW09uLtL+an5b3NC7oqtbVoVab5Sg8o9SZq7VuLKs62hajUtG3l0Ztyhn\/XemfKvt3WixW0+hdR\/Sg+L9j+R3YT0ZDt5RyqRfTNFQCZWt7kab+oUsL9J8T5dXd9\/wCbGjb2EeTk8N\/Pv9xzYfM79pjwi30ZQXt\/a6dbuvd1o0oLll8W+5LtZMznqG8K7p0nOz0mLxKTXnVe3\/XYvTyOyz2jRVVV9UuqmoVU8rrH5q8OfyKCEIU4KFOKhGKwoxWEjt4x0zZFwqVt\/KPLi\/M8bKyt9PtYW1tTUKcFwXf6X6ToAKzUkkrIAAHQAAAAAAAAAAAAAAAAACd3vbSraD10OdvVjNtPs5fNG5Z3EbuyoXMeVWnGa8Vk89TtVe6Zc2zin1lKUVnvxw9+DL2Zcu427Si3l0Zyp5969zLNYeRm3cR+Zen+TeABWaQAAAAAAAAAAADg1ySjoV+3\/wDnqL2xaOXaUXHbFmn3TftnI6Nf\/wCAX39xL4HjtX8mrL9V\/vMs\/B1Mz\/uV+X3NcAFZpAAAAAAAAAAAAAAAAAAAAAJ+83dRt7ura0LG5uatKbhLoR4ZXtPD\/aXWbjha7drrPKVVvHwXxKZJLksH6T2o8jO6dVvf\/RIytHuNauJVXqtpQt4JLq1B5b9fF\/I1QCLd2XQjsq17gAHCQAAAAAAJfa2LLWdW0uTw41espxznzc8\/Y4lQSurp6ZvHT7+OVC6XVVOL4vl84vwLIZ3RlxHdcanJ\/J5FUACs1AAAAAAAAAAAAGdr\/wDwC+\/uJfA8dq\/k1Zfqv95ntr\/\/AAC+\/uJfA8dq\/k1Zfqv95ln4Opm\/3P8A59zXABWaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYO8bGpeaHKdGMpVLeaqJRTba5P458DeB2Ls7kKkFUg4vieFjVqV7G3rVYOFSpTjKUWsNNrjwPcA4SSsgAAdAAAAAAAAAOHWqVSvot5SpQc5zoyUYrm3g8dt0atvt+0pVqcqdSMXmMlhri+w1AdvlYr7Ndpt+Fj\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "GABRIEL ANDAY",
    "correoContacto": "gabriel.alday@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56987294555",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28694\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:40",
    "ubicacionGPS": "LatLng(lat: -22.4407104, lng: -68.8856729)",
    "horaLlegada": "12:20",
    "horaDespacho": "12:40",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 15/05/2026 12:40:53
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-DUhzo9BSZpwNLLZHN1-mIKV8tZbJvgcagw2ef762zUWFOCQsFR0
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2871",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12607",
    "observacion": "•Entrega en puerto seco",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD5ATwDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABJEAACAQMCAgUIBQgHCAMAAAAAAQIDBBEFBiExEhNBUYEUImFxkaGxwQcVIzLRNkJScpKywuEkMzRzotLwFiU1U2J0gvEmQ1T\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAA4EQACAQIDBQYDBwMFAAAAAAAAAQIDEQQhMRIyQVGBEyJhcbHBM6HRFCNCcpHh8AU08SREUmKC\/9oADAMBAAIRAxEAPwD+zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLqV7DTtOr3c+VKOcd75L3hK5xtRV2ZtXWbmpumlpdnCnOjCDlcSfFx9j4di8TcJ\/aVjUp2VTUrnLub6XWNvi1Ds5+31YKAnOydkU0HKUdqXHPyQABAvAAAMTb2r3F\/UvbW8UVcWtVxfRjhOPJe9P3G2S92vqrfNvccqWow6uTb4dLgvlH2lQTmlqjPQk2nGWqdvoAAQNAAAAAAAAOS\/1Oz02l1l3cQpLsTfGXqXNhK5xyUVdnWCX\/2wrXc3HS9IuLmMVlylw9yT+J+\/X+4KeJVNvTlHtUG8\/Ms7ORn+1UuF30ZTgnLbedlKrGjfW9axqP8A5kcpfPn6OzsN63uaF1SVW3rQq03+dCSaIuLWpZCrCpus9QARLQAAAAAAAAAAAAAAAAAAAAAAAAS25Kk9V1my0GlnoNqrXeOz\/wBZ9qKepUhSpyqVJdGEE5SfckTO0ozv73UNaqqWa9ToU+klwjzx+6vAshleXIy4jvONLnr5IpoQjTpxhBYjFJJdyPoArNQAAAAABM73g4WFreQ4Tt7hNPGcZ\/mkUkJqpTjOPKSTRk7roOvtu7UecEp+xpv3ZOjQa6udBsqi\/wCTGL9aWH70WPOCM0csRJc0n7GgACs0gAAAAmNwarc3d9DQtKn9tV4V6i\/+td2fVz9hKMdp2KqtRU43Z9aluG6ub2WmaDTVauv6yvhONP1dni\/efths+hGr5Vqted\/cPi+m30fxfj7DV0jSLbRrNW9usyfGpUa4zff\/ACO8k52yiVRobb2q2b5cEfMIQpwUKcVCMVhRisJH0AVmo8bm0t7ym6dzQp1oNYxOKZN3W27rSKsr7btdwljz7efnKS54Wfn7SqBKMmimpRhUzevPiZOibgttYp9D+puoL7SjLmsc2vQaxObh0ObmtX0tdXfUH02opfaLt4d\/x5Glomr0tZ0+NxBdGa82pDP3Zfh3HZJW2kQpVJKXZ1NeD5miAZl3uDTbK\/jY16\/RrPGVjhHPe+zvIpN6F8pxirydjTABwkAAAAAAAAAAAAAc1bULWhd0rSrWUa1b+rg0\/OOkHE09AAAdJ7ed7KhpMbOlh1byappPu7fkvE19Nso6dptC0jjFKCTa7X2v25J+rnV99U6ay6OnQ6T4cOlz+LX7PiVRZLKKRlpd+pKp0XTX5gAFZqAAAAAAOe+p9dp9zSaz06Uo49aZj7JqdPblOOc9XUnH1cc\/M3pRU4OL5NYJvYcm9EqwfBwuJLHb92JYtxmaeVePk\/YpgAVmkAHzUqQpU5VKklGEE5Sk3wSXNgGRuTWvqqzVOguneXD6FKC4tf8AVj\/XE\/du6ItIsm62J3dZ9KrU5v1ZM3QqUte1qtr1xBqlSfV20G+Cwufvz62+4qiyXdWz+pkpLtZdq9OH16gAFZrAAAAAABI6pSltjW6erW0WrK5l0LilHkn349rXpz3lcc99Z0tQsa1pWWYVY4fofY\/B8SUZWeZTWp7cctVofl3eU7fTat7GSlCFJ1IvslwyvaRtroMb7at1qdzmpe1ulWjN80ov54ftRz1dWr0tq19HrZVzRrxoNZ4uHF+5xx6mi5tbONvplOyWMQpKD4cHw4sszprqZE44qWeiXzf0sc+373y\/Q7Ws8qSh0JdJ5eVwy\/Xz8TSJnY03HS7i1nwqULhpx7k0vmmUxCatJo1YeTnSi3yAAIF4AAAAAAAABK7h\/K3Rf1l+8VRK7gWd3aNwb85cv1iqLJ6Iy0PiVPP2B43lzCzs61zU+7Sg5vjjOFyPYn953LpaG7eGesuqkacUufPL+GPEjFXaRdVnsU3LkfGzLaX1fW1Gqvtr2rKbb7k388lGc+n2qstPt7ZLHVU4x8UuJ0CTu2zlGGxTUQAZ9LWKNXXK2kqnONWjTU3N46Mlw5fte5nEmycpKNr8TQABwkAAACY2T5lLUaD507l5+HLwKcmdmZlHUpvOJXT4v\/XpJx3WZqnxodfQpgAQNIJ7d13PyOjpltxuL6agopZ83tz7vf3FCStgnrO9Lm9fRlb2C6un2rpcVw\/xP2esnDW\/IzYhtxUFrLL6\/IorCyp6dY0bSj9ylHo5732vxeWdABDU0JJKyAAB0AAAAAAAAAht46fC31u0v0kqdxJKpw\/Oi1x8Vj2FyS2\/qedHoVMfdrpcu+L\/AAN3SLry3SbW5culKpSi5P8A6scffktlnBMxUUo4ipFcbMxNof27Wf8AufnIpyY2z5m4dehzzX6Wf\/Kf4lORqbxZhfhLr6sAAgaQAAAAAAAACX11pbw0bLxz+JUEXuyu6W6tLak06ahLh+u\/wLQsmu7EyUJXqVF4+wJfVMapvOxsGulSs49bUT4rPPl4R59\/tqCX27m83LrF\/wA4qfUxlzys\/hFCGV2SxHecYc36ZlQACs0glr2as\/pAtKnKNzQ6EuzL4r5IqSP3hONvrukXLXGE02\/QpJ\/iWU83Yy4t2pqXJr1LAAFZqAAABM7Hi1YXjaaTuXh9\/BFFcVeotqtbh9nBy4+hZMDY1Lq9vuXH7StKXuS+RNbjM0868PJ+xRgAgaTk1S78g0u5uu2lTbj6+z34MvZto7fQo1p8alzN1ZN8X3Lj4Z8Tz3vWlDRIW8OM7mtGCinzS4\/FI3rWira0o0FjFKEYLHoWCzSHmZt7EflXzZ6gArNIAAAAAAAAAAABgb0ourt2rJLPVTjPHjj5nlsa567QnRfOhVlHwfH5s1tatnd6NeUEsylSl0V6Usr3kt9H1fFe9t3+dGM1w7m0\/ii5Z02efPuYyL5qxobc\/KbXP71fGRTkxtzD3LrjTT+1x\/iZTkam8X4X4fV+rAAKzSAAAAAAAAAfz3fFWS3BT456ujHC7uLZ\/QYyUoqS4prKP57vGk6mv3DSy4W8Ze9fiXGlVvKNJtKuW3OjBtvvwi6puRPOwr+\/qI9L24VpY17l4xSpynx9CyYuyrd09CVeeXO4qSm3J5bWcfJvxPbeFd0duXGFxqOMP8Sb9yO\/SKCttItKK\/Noxz6Xjj7yGkDQ+9iPJev+DsABA0giPpC\/r7H9WfxRbkpuqjC417R6E1mFSUoSXobSLKTtIyY1bVFry9Tf0m78u0m1uc5dSmnL9bk\/fk7Ca2ZWlStrvS6r+0s6zXLHB\/zT9qKUjNWk0W0J7dNSYABEuOLWZ9Xol9LpKOLeeG+\/ovBw7Pj0dsWnDDfTb\/bZ87xuOo25XjnEqsowXH05fuTNHSLfyTSLSh2wpRT9eOPvLPwdTNriPJer\/Y7AAVmkl9yZudx6NZPjDrOslHPPiua9SftZUEvJdf8ASJDPHye24ejKf+YqCyeiRmoZynLx9AACs0gAAAAAAAAAAAH40msNZTITalP6v3fdWfS4KNSmvTiSa9yLwkLqkrH6RLatlKN1DPPtcXHHtSLabyaMWKj3qc+T9To2p52r67UXKVzw\/an+JTkxsvzvrOpz6Vy\/O7+f4lORqbxZhPgrr6sAAgaQAAAAAAAACL1Kj5burVqeONLT5Y9L6McfvG1tGr1u2rXLy4dKL8JPHuwcGgxVzurW6zWYxl1T4+lr+E+tmSlbx1DTJ\/etbh8e1p8P4feXy3bcrHm0Mqqn\/wAtr1\/Yb4bqWVlaJ8a9yuXqa+ZTJJLCWEiZ3F\/SNz6LavlGbqNLjniny\/8AH4lOQluo00s6tR+S+X7gAFZpBMbg8\/dWiQXNTcvevwKcmNW4750lPilTbx+0WU9TNidxLxXqfF7nR97W92lLqNQiqc3nh0uX+V+0qjL3BpP1vpcqEHitB9ZSececjy2zq\/1np6p15NXdBdGrGX3n3S8Q+9G\/I5T+7quD0ea9zZAPirVhRpTq1JKMIRcpSfYlzZWaia3Q\/LtY0rSY8VOp1tRNZ83\/ANKRUEvoClq+v3euThiil1Vvnhw5Z9i95UFk8rRM2H7zlU5v5IAArNJMWfn\/AEiX+fzLZY9kPxKcmNK87fWqz54pJZ7vu8Pd7inJz1XkZsNuyfi\/UAAgaQAAAAAAAAAAAARO+6k7fUtPuacsTgnKL7mmmi2Ivfjiruxc0nHq6nB9vItpb5jx3wH09Tu2JBrRa1WXOpcSee\/gvnkpiV2FeKppte0f3qNTpL1S\/mmVRypvsnhGnQjYAArNIAAAAAAAPC9r+TWNxcf8qlKfLuWQcbsrk9srNb6zu+L665+8+3m\/4vefkv8Ade\/FJpqlqNLCfBLpf+17zp2TR6rbsJ4x11Sc+fPj0f4T53lZTraXC9oxbrWc+sTT4qPb8E\/Avv8AeNdDz1FrDRmtVn\/Oh41P6R9IlLj\/AGa2+Kf+cqCQ27eR1Ldt7exwustYvC7OEMrwwV5Cpk0vAvwrUoykuLYABWagTGq\/l1pX90\/4inJi4XlH0hWy5q3tm8d3CX+Ze4nDV+RmxOkV4r1KcntY0Ct5YtW0eXU3sXmcFhRqrt9GfiUIIqTTyLalONRWkS8N23tvBU7\/AES4jWXB9Wn0X6s\/izzrz1ndDVrK0np9i39rKT86WH6Us8uS8SsBPbSzSKXQnJWnNtdDxtLSjY2lO1t4dClTWIo9gCs0pJKyAAB0mNG8zemrwfNxUvh+JTkxp3mfSBqcFydBS90PxKcnPVGbDbrXi\/UAAgaQAAAAAAAAAAAAQf0gVM6la08\/douXPvb\/AALw\/nW9Zyr7j6qPnOFKEIpenL+ZdR3zB\/UHahbmzq02C29qOlXkuFvqFso1Hn7snjj74v2l2ZOsaLDUdC8iSXWUoJ0X3SSwvB8jz2vqj1HS1TrNq6tfs60ZLD9Dfs9qZyT2ltEqC7GfZvR5r3+ptAAqNoAAAAAAMbdlx5Pty6fbUSprxfH3ZNkl96uVeGnafFvNzccl24wv4icFeSM+Jls0ZNfy+Rs6Jb+S6JZ0XzjSi362sv3s7K1KFejOjUXShUi4yXenwZ9JJLCWEj9It3dy6MUoqJD7W6rSdz3mnVKqk5Zp058lJp5x68Fwfz9aVU1TUtcuLZyjd2lx0qPRfFvpS5enzeBU7f1uGr2eJ+bd0vNrU2sPPfjuLaqvmYMHPZXZvxt+prgApPRBMabi435qVaLTjSoqmvQ\/NXyZQXt3Cxsq11U+7Sg5Nd\/oMTZttVVhX1GusVb6q6j4c1l\/NssjlFszVe9VhDr+hRAArNIAAAAAAAABMW\/D6RLrHDNss+nhEpyYu\/6P9INnLsr27TfpxL8EU5ZPh5GbD\/jX\/ZgAFZpAAAAAAAAAAAAB\/O60frL6QHD7yV0k+HZDmvZE\/oVScaVOVSX3YJyfqR\/PdnRnd7ndzNcYwqVG\/S+D\/eLqWSbPPxnenThzZ\/RCT1ZT29uOnq9OMvI7rzLhR5J9\/wA\/BlYc99ZUdQs6lrXj0oVFj1Psa9RXGVnmaq1Nzjlqs0e0JxqU41ISUoyScWu1H0S23b2tpd7Pb2ovE4PNvUfKa7l8vFFSJR2WdpVFUjfjx8GAARLQAAAS6l9bb581qVDTqeH6Z\/yb\/wAPt3dTv6em6fWu6jWIR4J9r7EZWz7Gpb6XK8r\/ANdez61trj0ez5vxLI5RbMtXv1I0+r6afMoAAVmomNo+fqGtVebnc\/e7+MvxPbWtBru7+ttHn1V9H70cpRq+3hn3M8dk+dS1GouUrl4\/14lOWzk4zyMVCnGpQSl\/Mybst4W6cbfVqM7K5XCWYvoevvXy7zUq69pFGDnLUrZpfoVFJ+xcTou7G1v6ap3dvTrRTylOOceruOCntXQ6c+nHT4N5z50pSXsbOXgydsRHJNPzMe8vLndt0tPsIVKWnRl9vXlHHSxxx+CKuhRhbUKdCmsQpxUYr0I\/aVGnQpqnShGEFyjFYR9kZSvktCylScW5Sd2wACJcAAAAAAAAAS+6X5HrGkajjhCr0JyXdlfJsqDE3faeV7drtLMqLVVeHP3Nnbo12r7R7W5zlzprpetcH70yx5wTM0O7XlHnZ+zO4AFZpAAAAAAAAAAAAMfdd2rTbty8+dVXVR4\/pcH7smN9H9rihd3jX3pKnHwWX8Ufn0gXeKdpZLtbqy8OC+LN\/b1j9X6HbUGsTcOnPP6T4v2Zx4F27T8zzrdpjL8Io0wAUnomZrmiUdZtlFy6u4p8aNVc4v8AA4NC12q7h6Rqy6u+pPoxk+VVfj8SiM3V9CstZpKNxDFSKxCrHhKP4r0E1JWszPUpyUu0p68fE0gSVO\/1zbUXS1C3lf2cI+ZXpfmJd7x8faadtu3RbimpO76l9sasWmvkHB8MxHE03lLJ8mbR+NpLLeEjIr7q0WhTc\/LFUwvu04uTf+vSZMrrW905hZxen6dLg6s151Rdvr9S4d7Cg+OQliILKOb5IXdee7NWhZWqb061lmvU6TSqerHqePaVsYqMVGKSSWEl2HJpemW2k2cba2jwXGUnzm+9nYJNPJaHaNNxvKe89foAAQLyY2N\/Yb3\/ALl\/BFOTGz\/MudXoPnTuePta5eBTllTeZmwnwY\/ziAAVmkAAAAAAAAAAAAAAA+K1KFejOjUWYVIuMl6HwJzZdSVG3vNMqv7S0rteD7vFP2lMSt9nSN72135yoX8VTm1y6XL\/ACv2lkM04mWv3Jxqcsn5P9yqABWagAAAAAAAAAAcOsanS0jTql1UaylinF\/nTxwR1K7siMpKKcnoS97bR1zfvk1TzqNtFdPtTiknj9p48S2JXZ+mX9vXub++g07qClGTazJt5ba7CqJ1HnbkZsJF7Lm1Zyd\/oAAVmsAAAHBX0PS7manWsKEpJYz0cfA7wdTa0IyjGWTVzgoaHpVtUVSjYUYyXJ9HOPad4Abb1EYxjlFWAAOEgAACY299junW6D4Oc1Ux4t\/xFOS9lml9IV\/Bfdq26fuh\/MqCdTW5mw2UGuTfqAAQNIAAAAAAAAAAAAB+SkoxcnwSWWYe0tQvNT0mpXvavWzVZxjLopebhdy78nUsrkHNKahz9jdMfdGnS1LRakaSzWovraeOeVzXsybACdncTgpxcXxMvbuqLVtIpV5PNWHmVf1l2+PPxNQkZf8AxTcXTz\/u\/UH53DCpSz8s+x+grU01lPKZKas7rRlVCblHZlvLJ\/XqfoAIGgAAAAHzKUYQc5yUYxWW28JIASlGEHOclGMVltvCSJKlGW79a8olF\/VVm+ioSbXWy48fhn0Y7z7u7u53VeS0\/T5unp1N\/b3H6foRS2VnQsLSna20OhTprCXzZZuLxMb\/ANRKy3F839D3ABWbAAAAAAAAAAAAAAAAAACXv822\/wCwqr7teg4vsy\/O\/kVBMbs+w1LRrzlGncYk\/RmL+TKcslomZqOU5x8b\/qgACs0gAAAAAAAAAAAHPqEuhpt1LGejRm8eDMjZUejtyk8\/eqTfvx8jV1RpaTeNvCVCf7rMzZqa21b5XOU8ftMsW4zNL+4j5P1RugArNJy6jYUNTsqlrcRzGa4PCzF969JM2uo3205xstWjKvZNtUK0FlxXd6vRzRYHnWo0rijOjWgp05rEoyXBonGVsnoUVKW09uLtL+an5b3NC7oqtbVoVab5Sg8o9SZq7VuLKs62hajUtG3l0Ztyhn\/XemfKvt3WixW0+hdR\/Sg+L9j+R3YT0ZDt5RyqRfTNFQCZWt7kab+oUsL9J8T5dXd9\/wCbGjb2EeTk8N\/Pv9xzYfM79pjwi30ZQXt\/a6dbuvd1o0oLll8W+5LtZMznqG8K7p0nOz0mLxKTXnVe3\/XYvTyOyz2jRVVV9UuqmoVU8rrH5q8OfyKCEIU4KFOKhGKwoxWEjt4x0zZFwqVt\/KPLi\/M8bKyt9PtYW1tTUKcFwXf6X6ToAKzUkkrIAAHQAAAAAAAAAAAAAAAAACd3vbSraD10OdvVjNtPs5fNG5Z3EbuyoXMeVWnGa8Vk89TtVe6Zc2zin1lKUVnvxw9+DL2Zcu427Si3l0Zyp5969zLNYeRm3cR+Zen+TeABWaQAAAAAAAAAAADg1ySjoV+3\/wDnqL2xaOXaUXHbFmn3TftnI6Nf\/wCAX39xL4HjtX8mrL9V\/vMs\/B1Mz\/uV+X3NcAFZpAAAAAAAAAAAAAAAAAAAAAJ+83dRt7ura0LG5uatKbhLoR4ZXtPD\/aXWbjha7drrPKVVvHwXxKZJLksH6T2o8jO6dVvf\/RIytHuNauJVXqtpQt4JLq1B5b9fF\/I1QCLd2XQjsq17gAHCQAAAAAAJfa2LLWdW0uTw41espxznzc8\/Y4lQSurp6ZvHT7+OVC6XVVOL4vl84vwLIZ3RlxHdcanJ\/J5FUACs1AAAAAAAAAAAAGdr\/wDwC+\/uJfA8dq\/k1Zfqv95ntr\/\/AAC+\/uJfA8dq\/k1Zfqv95ln4Opm\/3P8A59zXABWaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYO8bGpeaHKdGMpVLeaqJRTba5P458DeB2Ls7kKkFUg4vieFjVqV7G3rVYOFSpTjKUWsNNrjwPcA4SSsgAAdAAAAAAAAAOHWqVSvot5SpQc5zoyUYrm3g8dt0atvt+0pVqcqdSMXmMlhri+w1AdvlYr7Ndpt+Fj\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "GABRIEL ANDAY",
    "correoContacto": "gabriel.alday@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56987294555",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28694\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:40",
    "ubicacionGPS": "LatLng(lat: -22.4407104, lng: -68.8856729)",
    "horaLlegada": "12:20",
    "horaDespacho": "12:40",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/05/2026 12:40:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[15/05/2026 12:40: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', 'EP2871', 1, 24456550, 0, NOW(), 
				'12:40', '12:20', '12:40', 10, '•Entrega de insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778863253.png', '•Entrega en puerto seco', null, 'COMPLETADO','LatLng(lat: -22.4407104, lng: -68.8856729)' )
				
[15/05/2026 12:40:53] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200337
[15/05/2026 12:40:53] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200337', 'EPS-I302', 2)
				
[15/05/2026 12:40:53] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28694 and
				    IDproducto = 'EPS-I302'
				

15/05/2026 12:40:53 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I302';
                
15/05/2026 12:40:53 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200337'                    
				WHERE idllamado = 12607			
				TO ENVIO: micorreo@miempresa.cl, gabriel.alday@berliam.cl


15/05/2026 12:40:53 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12607			
				
15/05/2026 12:40:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 12:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

[15/05/2026 12:40:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:40:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

[15/05/2026 12:40:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:40:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

[15/05/2026 12:40:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

[15/05/2026 12:40:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:40:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

[15/05/2026 12:40:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

[15/05/2026 12:40:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:40:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

[15/05/2026 12:40:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:40:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:40:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12607
            GROUP BY l.idllamado;
            

15/05/2026 12:40:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                

15/05/2026 12:40:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12607
                
[15/05/2026 12:41:13] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[15/05/2026 12:41:13] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[15/05/2026 12:41:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[15/05/2026 12: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;
				
[15/05/2026 12: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;
                
[15/05/2026 12:42:02] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[15/05/2026 12:42:02] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[15/05/2026 12:42: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;
                

15/05/2026 12:42:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12618
            GROUP BY l.idllamado;
            

[15/05/2026 12:42: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;
                

15/05/2026 12:42:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12618
            GROUP BY l.idllamado;
            

[15/05/2026 12:42: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;
                

[15/05/2026 12:42: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;
                

[15/05/2026 12:44:14] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:44:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 12:44:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 12:44: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;
                

15/05/2026 12:44:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 12:44:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

[15/05/2026 12:44: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;
                

[15/05/2026 12:44: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;
                
[15/05/2026 12:44: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[15/05/2026 12:44:37] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[15/05/2026 12:44: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;
                

15/05/2026 12:46:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

[15/05/2026 12:46:14] 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;
                

[15/05/2026 12:46:14] 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;
                

[15/05/2026 12:46:14] 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;
                

15/05/2026 12:46:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

15/05/2026 12:46:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:46:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:46:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:46:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

15/05/2026 12:46:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

[15/05/2026 12:46:14] 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;
                

15/05/2026 12:46:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

15/05/2026 12:46:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

15/05/2026 12:46:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:46:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

15/05/2026 12:46:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:46:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:46:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:46:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:46:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:46:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

15/05/2026 12:46:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

[15/05/2026 12:46:29] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:46:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

[15/05/2026 12:46:29] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:46:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:46:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:46:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:46:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

[15/05/2026 12:46:29] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:46:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:46:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

[15/05/2026 12:46:29] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:46:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:46:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:46:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:46:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:46:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:46:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

[15/05/2026 12:46: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;
                

15/05/2026 12:46:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:46:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

[15/05/2026 12:46: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;
                

15/05/2026 12:46:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

[15/05/2026 12:46: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;
                

15/05/2026 12:46:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

[15/05/2026 12:46: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;
                

15/05/2026 12:46:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:46:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:46:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:46:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:46:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:49:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:38 - logentry: =========================================
FECHA: 15/05/2026 12:49:38
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-58W5h-740Aa3qjyAT0o6Tf8q4EGBAQ_Ma4+TEwPnARRQR6-++Ln
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "13011790",
    "serieinterna": "EXTO1809",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "30902",
    "contadorColor": "9102",
    "contadorScanner": "0",
    "detalle": "insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12610",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABZAQQDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABIEAABAwMBBAYHBQMHDQAAAAABAAIDBAURBhIhMUETUWGBkbEUIkJxocHRFRYjMuFSkvAHJDNDVWLCJTQ1NmNydIKTorLS4v\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgMFBgYDAQAAAAAAAAABAgMREiExBBNBUXEiMmGBkdEUUqGxweEjQvDx\/9oADAMBAAIRAxEAPwD7MiIgAiKr3O6Vl5r32azva1jf6epB3NHMfLdvTRjclVqqms9eCN1w1JJLVm3WSH0mqBw9\/sMxx3+O\/wA1qFp1S8B773Gx+Pytbu8sfBTNptNLZ6QQUzd53vefzPPWfou5NiSyiiSoynnUbvyTskVf0rV1BnpqSCuYPajwD4DHkrM0lzQS0tJ5HGR4LJErd+BWnTcP7N9QiIlKhERABEUVcNSWu2ksmqQ+QcY4vWI+QXUm9BZzjBXk7EqirH3yfP8A5jZaypHux5Ao6u1ZXHFPboaJn7UpBI8e\/km3b4kPiqb7t30TLOigrXa71DXtqrldumABBhYDsnI7h8FOpWrFoScldqwRFDX6+Ot3R0lJH01dPjo48cBnGUJNuyCc4wjikTKKrQ6XuVSGzXG9T9Nna2YzkNPV\/AwsZZ77pkiSeT7Rt4wHPI9eMcB29XHIT4E8kyG\/lFXnBpf7UtaLRR1cNfSR1VO\/aikGWlb1M0ppq6CIiDoREQAREQAREQAREQAREQBAasuMlPRR0FISaqtdsNDc5DeZ3dw7ypGz2uG0W+OmiA2sAyOHtuxvKhKUm665qJnkOitzNiMccO4eOdrwHUrSqSySiZaKxzlUfReX7CIimagiKKr9S2q35bLVNe8HBji9ZwPdw711JvQWU4wV5OxKoqx99WzYNHaauob1gYx4AoNZiJzTW2mrpoycbZGceICbdy5EPi6Pzfcs6566uprdSuqaqQMjb4k9QHMrTS3m31lC+thqW9DGPXLt2x7wVX6SKTV11fWVQcLZTOxBEdwkPWfn7wEKPM7UrZJU829Pfoeg3rVQ22P+zrccgc3SDr7fL3qYtmnLbamgwwB8uN8snrO\/TuUo1oa0NaAABgAcl6hzbyWgQoRTxSzlzf45BERIaAiIgDxzg1pc4gADJJ5KraVidc6+svtQHuc+Qsg2vZbzx3EDxUvqOf0bT1bIHbJMRbn\/AHvV+ax01Tim09RtDQC+MSHt2t\/zVFlBsyzWOvGPJX\/CJVYua17Cx7Q5rhggjIIWSKZqKnai7T2pprU8kUlYdunzwDur5dwVsUDq6gdVWj0qLdPRHpWOHEAfm8s9yxdqmGOx01WWGSqqG7LIWDJL84PDllVac0mjHCSoOUJPJZrpy9Scmmip4zJNI2Ng4uccBR\/3ksxkEYr4yXHAIzjPvxjmomj03U3Wb0\/UMjnud+Sma4gMHUccPcO8qXGnLMIDD9nQbLhgnZ9b97iPFctBasZTrzzikl46\/okIpY5o2yRSNkY4Za5pyD3qFrdXW2jqTAOknLHYe6IAtb1788lB3KKq0dNIaB7zR1jC0bRyY34OPqP0Vg0zbI6GxQsLQ59Q0SSZGc5HDwXcMUrvMRVqlSW7Ss1rx6W6khQXCludK2ppJRJGTg8i09RHIrpVSq436UvUdXTjFsq3hszAN0Z\/jeO9Wxrg5oc0ggjII5pJRtmtC9Ko5XjLVa+56oqivsVbeqq2MidtUwJ6TIwcYBHvyfgpGaVsEEkzsBsbS45ONwGeKpOhpX1F8rZpDl8kRc49pcCmjG8Wydaq41IQXEvSIimagiLxw2mkHmMIArOivx4rjWneZ6k5PXz\/AMSs6rOh3Flvq6V\/54al2RjGMgcveCrFNNHTwvmmeGRsGXOcdwCpU77M2y2VCLNiiLxqShtH4byZpzwij3nPaeSi571cdQyvo7E0wwN\/pKt\/q9w6vP3KUtGnKK0jpAOnqXb3TyDJz2dXn2owqPeOb2dXKlpz9uZFiivupMOr5DbqFwyIWH13jt\/XwUvQ6ctNvwYaNjnjH4knruz17+HdhSiLjm3kh4bPCLxPN82eAADAGAEc0OaWuAIIwQea9RIXPnmpKSlotQilp5DT09SGekRxjAaNrkOB4A4V+pqeOkpoqaFuzHE0NaOwL5rWg3J81Y92Zauu6KI5Bw0Dh2\/mZ4L6er1ckkebsVnOckun1\/6ERFA9IIiIAKOu96pbPAHTkukeD0cTeLyPJY3q+U1mhG3+JUP\/AKOEHe49Z6h2qLstjqaqt+2r1l1STmKEjAjxw3eQ5e9PGKteWhmqVZOW7p6\/YjbxU6guFlq6qrijpKHDcQOb67vXGD1+XuVssv8AoOg\/4aP\/AMQtGpIum09Wt2Q7Ee3g59kh3L3L3Tk3T6eoX9UQZ+76vyTSd4eZOnBwr2bvlx6kmiIpG00VssEFFNLU46FjCXg8xjeFS9CUtLPWVE8rdqaAN6EO37IOcn38PFSur5ZKp1FZYH7L6yQF\/Y0Hdnv3\/wDKtVmp47drWto4gWxCmbsDrwGfqrRyg\/E86q8W0RyyTt5tfgtaIiieiV7W4B067I4StwmjLi6ss\/o8hJkpD0ZyPZ9n6dy91t\/q6\/f\/AFjPNcNjYKLV00LNzKmlbJs54uwCT47XirJXpnnTk47WnwyXrf2LJc6CO5W6ajk4SNwD+yeR8VEaQrppKSa21QInoHdHv\/Z3gDuwR4KwqruJoP5QhybXQb927IH1Z8Usc00XrdipGouj8\/2SWp6ltLp2scTgvZ0Y7S7d81XdFU5pr5UxOzn0Zrt4wRnZPzUjrUumhoKFrt9TUAYA3nl\/iWWm4JDfLxVPjMTel6NjdnG4E\/IDxTrKmzPU7e1x8PZv2LKiIoHpBEUZe75T2WnDpPxJ37oom8XH5BdSbdkLOcYRxSeRBR1kOmdT3H0oFlNVM6ZhaMlxzwHeXeCyhoq7Vswq68vpbc05igad7+39fBapNO3W+wy3C5S9FUkfzenxub2Hq\/jK7rbqropvQL3D6FUsH5yMMI+XkrvS8dTzI2vhqZQea8evsWGCnhpYWwwRtjjaMBrRgBbFix7JGh7HBzTwLTkFZLOeorWyCIuSrutBQAmqq4oyPZLsu444DehK4OSirtnWtVRURUsDpppGRsaMlzzgKvVGs4ZSYbTRz1kx4HYIb9fJa4tPXK8zNqNQVH4Y3spojgD344fE9qpgtnLIzPaFLKksT+nqRWjLS+srRVzAGmpXF0f96Td34GM+8DtV\/Vals9fZaySssYZJDIMy0sjjjcN2z8efNYjWMkA2a6zVcMg44G4nvwmmnN3RGg4bNDBPJ8+DLOirH3xkn3UNmqp3cN+7f3ArF1Vq24nZgo4bfGfbkO8eOfJLu3xL\/FU33bvoiyz1ENLC6aeRscbRkuccAKtyamrbrK6m0\/ROkxudUSjDW\/x2+Czg0gJ6gVV5rZK6X9je1o7Pd7sKwwU8NLC2GCNscbRgNaMAI7MfE5atU17K+v6Iaz6aZRz+n18vpde45Mjt4aez6+SnURI227svTpxpq0UaqmEVFLLAeEjCw94woHRE732V9NIMOppnMx1A7\/MlWNVax5t2rLnQSDZFSemiJPEZJ3dzj+6njnFojV7NWEuq\/wB6FpRaairpqRm3U1EcLet7w3zULVa0tEBDYnyVLjyiYfnhKot6IrOrTh3nY57di464rqojLaJnRN54dw7vaXuOi\/lDGP62l3+H\/wAqHsNbe3SVr7XRMlM02098pxsccDiO1eGgu1fqllNXV3QVXQ5MsI\/K3HDdjr+Kvhzd3wPLVW8ItRbblfw15l9kmihbtSyMjb1ucAFHz6is9NnpLhCSOTDt+WVGx6Gt20H1NTVVD+eXgA\/DPxXfBpey05yygjcf9oS\/zJUrQXE34tolpFLq7kFqbU1ruFolo6WWSSR5aQejIG5w61GQ3stvlBWQ0U0hipREYub8NIJbjl9Crde7dTjT9bHT08cWIi4CNgH5d\/L3Kt0E4fc9OTNxnoTEccdxc3iqwccOSMFeNRVVilnlovH9kr97a125mnaxzuQ9b\/1UVcrrV1t5tVRU2mag6GcDalz64LhuyWjhg+KvirWum\/5Ghk3hzKhpBA\/uu\/RJCUcVkjRtFOoqbbne2eiMKxpuOvKWA4MdDF0hHHfx7t5arQqtpgitvt3uQHqueI4yeYye8bg1WlLPJpFtmzi582\/YIiKZqI6+XeOy251S9u28nZjZ+076KPsdkmNR9sXc9JWy72McN0I93X5LnrB9q64p6RwDoKKLpHNIyM9\/aW+CtKo+yrLiZIre1HJ6Rdl15hc9bQUlwh6GrgZMzltDePceI7l0Ip6GppNWZWXaIpGOzS11VADnIDgfovPuvdoz+BqSpDep21u\/7lZ0T7yRn+Eo8FbzZWPulWTDFXqCrlaeLRkDtG9xXVR6Ps9L6z4XVL852pnZ+AwFOohzlzOrZqSd8Prn9zXDBDTsEcETImDg1jQ0fBbERIaErBEXPUV9FSPDKmrghcRkCSQNJHeg42lmzoRcDr5aW4zcqXf1TNPkV59v2j+0qb\/qBdwvkJvYfMiQRQlVq6y0pLfSumcOUTS748PiuL703GvB+yLNLI32ZJtzfhu6+aZQkTltNJO17vwz+xaFwVt6ttuyKqrjY4ewDtO8BvUK6y6iuuftK6imjP8AVQdR5HGM95K7aLSFnoyHGnNQ8c5jtDw4fBdwxWrF3lafcjbr7I5X6ufVvdFZ7ZPVuBx0hGGjqJ\/XCi6616mrquK4yxsgmyIx6O7D2NPPce08871eGMZGwMjaGNaMBrRgBZIU1HRHJbNKov5JvyyK5TaKtrH9JVyTVchOXF7sAnu3\/FTVJbqKhaBS0sUOBjLWgE+88SulErlJ6stCjTh3YlY0mDDcb1TEYMdRkDsJd9AluxU67uM53iCIMaDyPqjd4HxWmvk+7uqn3Donvp62J2WsHBwA8yB+8uzSNFPDS1FfVAtnrpOkcCMYGT29pVZaOXMxU7uUaXytt\/j7lhREUD0jF7GyRuje0Oa4EOB5hfOLZDJR6qpaCTP83qXAZGDg\/XAPevpK4zaqI3IXHoAKkcX547sb+5UhPDdGXaKDquLXB\/Q7FH3y2m7Wx9K15Y\/IcxwPMKQRInZ3NEoqUXF8SL09aPsW2Cnc4Pkc4vkcBzPLwClERDbbuwhBQiox0RH014ZUiQikq2GOQxkOhO8jnuRSCIyOJStmyuWmCYaxu08kT2tLWhrsbiN3PuVjRF2Tucp08Ct4t+oRESlAiIgAiIgAiIgAo+4WO23SVstbTdK9jdkHbc3A7iFIIuptaCyjGStJXIZukrE3OKAb+uR58ysvurY\/7PZ+876qXRdxy5k9xS+VeiOGms1spCDBQwMcODtgE+J3ruRFxtvUpGKjklYIiLgwREQAREQBi+NkrdmRjXgEHDhnevQABgDAC9RABERABERABERABERABERAH\/\/Z",
    "razonSocial": "IRMA ELENA SOTO MONDACA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "KONY",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE LOS COLORES SALEN EXTRAÑOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56982290455",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I256\",\"id_control\":\"28698\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I257\",\"id_control\":\"28698\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:49",
    "ubicacionGPS": "LatLng(lat: -23.5780469, lng: -70.3901632)",
    "horaLlegada": "11:08",
    "horaDespacho": "12:31",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 15/05/2026 12:49:38
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-58W5h-740Aa3qjyAT0o6Tf8q4EGBAQ_Ma4+TEwPnARRQR6-++Ln
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "13011790",
    "serieinterna": "EXTO1809",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "30902",
    "contadorColor": "9102",
    "contadorScanner": "0",
    "detalle": "insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12610",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABZAQQDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABIEAABAwMBBAYHBQMHDQAAAAABAAIDBAURBhIhMUETUWGBkbEUIkJxocHRFRYjMuFSkvAHJDNDVWLCJTQ1NmNydIKTorLS4v\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgMFBgYDAQAAAAAAAAABAgMREiExBBNBUXEiMmGBkdEUUqGxweEjQvDx\/9oADAMBAAIRAxEAPwD7MiIgAiKr3O6Vl5r32azva1jf6epB3NHMfLdvTRjclVqqms9eCN1w1JJLVm3WSH0mqBw9\/sMxx3+O\/wA1qFp1S8B773Gx+Pytbu8sfBTNptNLZ6QQUzd53vefzPPWfou5NiSyiiSoynnUbvyTskVf0rV1BnpqSCuYPajwD4DHkrM0lzQS0tJ5HGR4LJErd+BWnTcP7N9QiIlKhERABEUVcNSWu2ksmqQ+QcY4vWI+QXUm9BZzjBXk7EqirH3yfP8A5jZaypHux5Ao6u1ZXHFPboaJn7UpBI8e\/km3b4kPiqb7t30TLOigrXa71DXtqrldumABBhYDsnI7h8FOpWrFoScldqwRFDX6+Ot3R0lJH01dPjo48cBnGUJNuyCc4wjikTKKrQ6XuVSGzXG9T9Nna2YzkNPV\/AwsZZ77pkiSeT7Rt4wHPI9eMcB29XHIT4E8kyG\/lFXnBpf7UtaLRR1cNfSR1VO\/aikGWlb1M0ppq6CIiDoREQAREQAREQAREQAREQBAasuMlPRR0FISaqtdsNDc5DeZ3dw7ypGz2uG0W+OmiA2sAyOHtuxvKhKUm665qJnkOitzNiMccO4eOdrwHUrSqSySiZaKxzlUfReX7CIimagiKKr9S2q35bLVNe8HBji9ZwPdw711JvQWU4wV5OxKoqx99WzYNHaauob1gYx4AoNZiJzTW2mrpoycbZGceICbdy5EPi6Pzfcs6566uprdSuqaqQMjb4k9QHMrTS3m31lC+thqW9DGPXLt2x7wVX6SKTV11fWVQcLZTOxBEdwkPWfn7wEKPM7UrZJU829Pfoeg3rVQ22P+zrccgc3SDr7fL3qYtmnLbamgwwB8uN8snrO\/TuUo1oa0NaAABgAcl6hzbyWgQoRTxSzlzf45BERIaAiIgDxzg1pc4gADJJ5KraVidc6+svtQHuc+Qsg2vZbzx3EDxUvqOf0bT1bIHbJMRbn\/AHvV+ax01Tim09RtDQC+MSHt2t\/zVFlBsyzWOvGPJX\/CJVYua17Cx7Q5rhggjIIWSKZqKnai7T2pprU8kUlYdunzwDur5dwVsUDq6gdVWj0qLdPRHpWOHEAfm8s9yxdqmGOx01WWGSqqG7LIWDJL84PDllVac0mjHCSoOUJPJZrpy9Scmmip4zJNI2Ng4uccBR\/3ksxkEYr4yXHAIzjPvxjmomj03U3Wb0\/UMjnud+Sma4gMHUccPcO8qXGnLMIDD9nQbLhgnZ9b97iPFctBasZTrzzikl46\/okIpY5o2yRSNkY4Za5pyD3qFrdXW2jqTAOknLHYe6IAtb1788lB3KKq0dNIaB7zR1jC0bRyY34OPqP0Vg0zbI6GxQsLQ59Q0SSZGc5HDwXcMUrvMRVqlSW7Ss1rx6W6khQXCludK2ppJRJGTg8i09RHIrpVSq436UvUdXTjFsq3hszAN0Z\/jeO9Wxrg5oc0ggjII5pJRtmtC9Ko5XjLVa+56oqivsVbeqq2MidtUwJ6TIwcYBHvyfgpGaVsEEkzsBsbS45ONwGeKpOhpX1F8rZpDl8kRc49pcCmjG8Wydaq41IQXEvSIimagiLxw2mkHmMIArOivx4rjWneZ6k5PXz\/AMSs6rOh3Flvq6V\/54al2RjGMgcveCrFNNHTwvmmeGRsGXOcdwCpU77M2y2VCLNiiLxqShtH4byZpzwij3nPaeSi571cdQyvo7E0wwN\/pKt\/q9w6vP3KUtGnKK0jpAOnqXb3TyDJz2dXn2owqPeOb2dXKlpz9uZFiivupMOr5DbqFwyIWH13jt\/XwUvQ6ctNvwYaNjnjH4knruz17+HdhSiLjm3kh4bPCLxPN82eAADAGAEc0OaWuAIIwQea9RIXPnmpKSlotQilp5DT09SGekRxjAaNrkOB4A4V+pqeOkpoqaFuzHE0NaOwL5rWg3J81Y92Zauu6KI5Bw0Dh2\/mZ4L6er1ckkebsVnOckun1\/6ERFA9IIiIAKOu96pbPAHTkukeD0cTeLyPJY3q+U1mhG3+JUP\/AKOEHe49Z6h2qLstjqaqt+2r1l1STmKEjAjxw3eQ5e9PGKteWhmqVZOW7p6\/YjbxU6guFlq6qrijpKHDcQOb67vXGD1+XuVssv8AoOg\/4aP\/AMQtGpIum09Wt2Q7Ee3g59kh3L3L3Tk3T6eoX9UQZ+76vyTSd4eZOnBwr2bvlx6kmiIpG00VssEFFNLU46FjCXg8xjeFS9CUtLPWVE8rdqaAN6EO37IOcn38PFSur5ZKp1FZYH7L6yQF\/Y0Hdnv3\/wDKtVmp47drWto4gWxCmbsDrwGfqrRyg\/E86q8W0RyyTt5tfgtaIiieiV7W4B067I4StwmjLi6ss\/o8hJkpD0ZyPZ9n6dy91t\/q6\/f\/AFjPNcNjYKLV00LNzKmlbJs54uwCT47XirJXpnnTk47WnwyXrf2LJc6CO5W6ajk4SNwD+yeR8VEaQrppKSa21QInoHdHv\/Z3gDuwR4KwqruJoP5QhybXQb927IH1Z8Usc00XrdipGouj8\/2SWp6ltLp2scTgvZ0Y7S7d81XdFU5pr5UxOzn0Zrt4wRnZPzUjrUumhoKFrt9TUAYA3nl\/iWWm4JDfLxVPjMTel6NjdnG4E\/IDxTrKmzPU7e1x8PZv2LKiIoHpBEUZe75T2WnDpPxJ37oom8XH5BdSbdkLOcYRxSeRBR1kOmdT3H0oFlNVM6ZhaMlxzwHeXeCyhoq7Vswq68vpbc05igad7+39fBapNO3W+wy3C5S9FUkfzenxub2Hq\/jK7rbqropvQL3D6FUsH5yMMI+XkrvS8dTzI2vhqZQea8evsWGCnhpYWwwRtjjaMBrRgBbFix7JGh7HBzTwLTkFZLOeorWyCIuSrutBQAmqq4oyPZLsu444DehK4OSirtnWtVRURUsDpppGRsaMlzzgKvVGs4ZSYbTRz1kx4HYIb9fJa4tPXK8zNqNQVH4Y3spojgD344fE9qpgtnLIzPaFLKksT+nqRWjLS+srRVzAGmpXF0f96Td34GM+8DtV\/Vals9fZaySssYZJDIMy0sjjjcN2z8efNYjWMkA2a6zVcMg44G4nvwmmnN3RGg4bNDBPJ8+DLOirH3xkn3UNmqp3cN+7f3ArF1Vq24nZgo4bfGfbkO8eOfJLu3xL\/FU33bvoiyz1ENLC6aeRscbRkuccAKtyamrbrK6m0\/ROkxudUSjDW\/x2+Czg0gJ6gVV5rZK6X9je1o7Pd7sKwwU8NLC2GCNscbRgNaMAI7MfE5atU17K+v6Iaz6aZRz+n18vpde45Mjt4aez6+SnURI227svTpxpq0UaqmEVFLLAeEjCw94woHRE732V9NIMOppnMx1A7\/MlWNVax5t2rLnQSDZFSemiJPEZJ3dzj+6njnFojV7NWEuq\/wB6FpRaairpqRm3U1EcLet7w3zULVa0tEBDYnyVLjyiYfnhKot6IrOrTh3nY57di464rqojLaJnRN54dw7vaXuOi\/lDGP62l3+H\/wAqHsNbe3SVr7XRMlM02098pxsccDiO1eGgu1fqllNXV3QVXQ5MsI\/K3HDdjr+Kvhzd3wPLVW8ItRbblfw15l9kmihbtSyMjb1ucAFHz6is9NnpLhCSOTDt+WVGx6Gt20H1NTVVD+eXgA\/DPxXfBpey05yygjcf9oS\/zJUrQXE34tolpFLq7kFqbU1ruFolo6WWSSR5aQejIG5w61GQ3stvlBWQ0U0hipREYub8NIJbjl9Crde7dTjT9bHT08cWIi4CNgH5d\/L3Kt0E4fc9OTNxnoTEccdxc3iqwccOSMFeNRVVilnlovH9kr97a125mnaxzuQ9b\/1UVcrrV1t5tVRU2mag6GcDalz64LhuyWjhg+KvirWum\/5Ghk3hzKhpBA\/uu\/RJCUcVkjRtFOoqbbne2eiMKxpuOvKWA4MdDF0hHHfx7t5arQqtpgitvt3uQHqueI4yeYye8bg1WlLPJpFtmzi582\/YIiKZqI6+XeOy251S9u28nZjZ+076KPsdkmNR9sXc9JWy72McN0I93X5LnrB9q64p6RwDoKKLpHNIyM9\/aW+CtKo+yrLiZIre1HJ6Rdl15hc9bQUlwh6GrgZMzltDePceI7l0Ip6GppNWZWXaIpGOzS11VADnIDgfovPuvdoz+BqSpDep21u\/7lZ0T7yRn+Eo8FbzZWPulWTDFXqCrlaeLRkDtG9xXVR6Ps9L6z4XVL852pnZ+AwFOohzlzOrZqSd8Prn9zXDBDTsEcETImDg1jQ0fBbERIaErBEXPUV9FSPDKmrghcRkCSQNJHeg42lmzoRcDr5aW4zcqXf1TNPkV59v2j+0qb\/qBdwvkJvYfMiQRQlVq6y0pLfSumcOUTS748PiuL703GvB+yLNLI32ZJtzfhu6+aZQkTltNJO17vwz+xaFwVt6ttuyKqrjY4ewDtO8BvUK6y6iuuftK6imjP8AVQdR5HGM95K7aLSFnoyHGnNQ8c5jtDw4fBdwxWrF3lafcjbr7I5X6ufVvdFZ7ZPVuBx0hGGjqJ\/XCi6616mrquK4yxsgmyIx6O7D2NPPce08871eGMZGwMjaGNaMBrRgBZIU1HRHJbNKov5JvyyK5TaKtrH9JVyTVchOXF7sAnu3\/FTVJbqKhaBS0sUOBjLWgE+88SulErlJ6stCjTh3YlY0mDDcb1TEYMdRkDsJd9AluxU67uM53iCIMaDyPqjd4HxWmvk+7uqn3Donvp62J2WsHBwA8yB+8uzSNFPDS1FfVAtnrpOkcCMYGT29pVZaOXMxU7uUaXytt\/j7lhREUD0jF7GyRuje0Oa4EOB5hfOLZDJR6qpaCTP83qXAZGDg\/XAPevpK4zaqI3IXHoAKkcX547sb+5UhPDdGXaKDquLXB\/Q7FH3y2m7Wx9K15Y\/IcxwPMKQRInZ3NEoqUXF8SL09aPsW2Cnc4Pkc4vkcBzPLwClERDbbuwhBQiox0RH014ZUiQikq2GOQxkOhO8jnuRSCIyOJStmyuWmCYaxu08kT2tLWhrsbiN3PuVjRF2Tucp08Ct4t+oRESlAiIgAiIgAiIgAo+4WO23SVstbTdK9jdkHbc3A7iFIIuptaCyjGStJXIZukrE3OKAb+uR58ysvurY\/7PZ+876qXRdxy5k9xS+VeiOGms1spCDBQwMcODtgE+J3ruRFxtvUpGKjklYIiLgwREQAREQBi+NkrdmRjXgEHDhnevQABgDAC9RABERABERABERABERABERAH\/\/Z",
    "razonSocial": "IRMA ELENA SOTO MONDACA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "KONY",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE LOS COLORES SALEN EXTRAÑOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56982290455",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I256\",\"id_control\":\"28698\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I257\",\"id_control\":\"28698\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:49",
    "ubicacionGPS": "LatLng(lat: -23.5780469, lng: -70.3901632)",
    "horaLlegada": "11:08",
    "horaDespacho": "12:31",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/05/2026 12:49:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:13011790

[15/05/2026 12:49: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('13011790', 'EXTO1809', 1, 27729424, 30902, NOW(), 
				'12:31', '11:08', '12:49', 10, 'insumos', -1, 
				'', '','1','9102',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778863778.png', '', null, 'COMPLETADO','LatLng(lat: -23.5780469, lng: -70.3901632)' )
				
[15/05/2026 12:49:38] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200338
[15/05/2026 12:49:38] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200338', 'TOS-I256', 1)
				
[15/05/2026 12:49:38] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28698 and
				    IDproducto = 'TOS-I256'
				

15/05/2026 12:49:38 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I256';
                [15/05/2026 12:49:38] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200338', 'TOS-I257', 1)
				
[15/05/2026 12:49:38] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28698 and
				    IDproducto = 'TOS-I257'
				

15/05/2026 12:49:38 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I257';
                
15/05/2026 12:49:38 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200338'                    
				WHERE idllamado = 12610			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


15/05/2026 12:49:38 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12610			
				
15/05/2026 12:49:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

[15/05/2026 12:49: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;
                

[15/05/2026 12:49: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;
                

[15/05/2026 12:49: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;
                

15/05/2026 12: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 = 12610
                

15/05/2026 12: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 = 12610
                

15/05/2026 12:49:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:49:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12610
                

15/05/2026 12:49:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12: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 = 12610
                

15/05/2026 12:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

[15/05/2026 12:49:45] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

15/05/2026 12:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12610
            GROUP BY l.idllamado;
            

[15/05/2026 12:49:45] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 12:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                

15/05/2026 12:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12610
                
[15/05/2026 13:06: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[15/05/2026 13:06:06] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 20988335 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '20988335'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[15/05/2026 13:06:17] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 13:08: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;
                
[15/05/2026 13:08:20] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[15/05/2026 13:08:20] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 20988335 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '20988335'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[15/05/2026 13:08:21] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 13:09:06] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13:09:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12620
            GROUP BY l.idllamado;
            

[15/05/2026 13:09:09] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13:09:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12620
            GROUP BY l.idllamado;
            

15/05/2026 13:09:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12620
            GROUP BY l.idllamado;
            

[15/05/2026 13:09: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;
                

15/05/2026 13:09:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12620
            GROUP BY l.idllamado;
            

15/05/2026 13:09:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12620
            GROUP BY l.idllamado;
            

15/05/2026 13:09:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12620
            GROUP BY l.idllamado;
            

15/05/2026 13:09:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12620
            GROUP BY l.idllamado;
            

15/05/2026 13:09:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12620
            GROUP BY l.idllamado;
            

15/05/2026 13:09:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12620
            GROUP BY l.idllamado;
            

15/05/2026 13:09:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13: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 = 12620
                

15/05/2026 13: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 = 12620
                

15/05/2026 13:09:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12620
            GROUP BY l.idllamado;
            

15/05/2026 13:09:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12620
            GROUP BY l.idllamado;
            

15/05/2026 13:09:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12620
            GROUP BY l.idllamado;
            

15/05/2026 13:09:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12620
            GROUP BY l.idllamado;
            

15/05/2026 13:09:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12620
            GROUP BY l.idllamado;
            

15/05/2026 13:09:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12620
            GROUP BY l.idllamado;
            

15/05/2026 13:09:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12620
            GROUP BY l.idllamado;
            

15/05/2026 13:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:10:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:10:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12620
                

15/05/2026 13:10:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12620
            GROUP BY l.idllamado;
            

15/05/2026 13: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 = 12620
                

15/05/2026 13: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 = 12620
                

15/05/2026 13:10:13 - logentry: =========================================
FECHA: 15/05/2026 13:10:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-EkWo4VuRMEQBAyr+YPBS0euOUol4_K00tW8h74Vg1yo+hevPGpV
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "80230500",
    "serieinterna": "KY2792",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "no se puede tomar contador ya que maquina se encuentra trabajando\nse realiza entrega de toner\n01 iton2956",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12620",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABhASUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABLEAABAwMCAgUIBQUNCQAAAAABAAIDBAURBiESQRMxUWGRFBUWInGBobEjMsHR4TRCYnLwMzZDUlNVZXOCkrLS8QcXJEVjk6LC4v\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADIRAAIBAgMECAYCAwAAAAAAAAABAgMREiExE0FRkQQUYXGBocHRIjJCUrHwI+EzNHL\/2gAMAwEAAhEDEQA\/AP2ZEUSsulDb2k1dVHFgZ4S71vDrRK5Dkoq7ZKcCWkA4ONj2KNbYKqmomxVlT5TMCSZOHGcnqVNJra3l\/R0kFRVP5BrMA+O\/wXMahvsvrQ6fkDSM+uT+C0wSscz6RRvdO\/ddmnRR6CWonoo5aqEQzOGXRj83uUhZnSndXCIiEhERAEXKpqI6SmlqZncMcTS5x7gsTZrlcqjVFNLM\/Da4Ok6M5wGetj\/Dt7O9XjByTZz1a8acox3s3aIiodAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREBT3+9m1RxQ08fS1lSeGFnLOQMnxUa36UpAG1VzYamseMycby5oP2+\/K40UcdTrmtkqW5fBGOhDiCB3js\/ErTrRvCrI5IRVaTnPNJ2SOcUMUDOCGJkbexjQB8F0RFmdegREQBERAERRa+40lspzPVzCNvIc3HsA5olchtRV2Ueuqkx2mKmDg3yiUBxOfqjfl34XDSdKaytkurozHDCwU9MwgbNA3P495VbU1kmqr\/QQz0zoaRxd0QOcubzOf7PLs54W7hhjp4WQwsDI2DDWtGwC3k8EMO886lHb13V+lafvidERFgekEREAREQBERAEREAREQBERAEREAREQBF8JAGScALm6pgYMumjaO9wCEXSOqKK6529ueKuphjrzK3b4rk6+WluM3Kl37Jmn5FTZlXUgtWT0Vf5\/tH85U3\/AHAvB1JZgcecYdu9ThfAja0\/uXMs0Uejr6SvY59JURzBpw7gOce1FXQummrorL9YX172VtDMaeuhHqubsH9gPx371CZqivt\/0V4tUwe3GZYG7H3Hb3g4WoRXUsrNXMJUXixQdm+XIzHp3QPPDDR1cjuzhb9hKHVtZLtSWGqkP6WR8gtOiYo8CNnWetTyRmRdtUyuPRWONg3xxu5+9wXw3PVsLXST2aB7GjOInZcfcHk\/BadR6uupaGMyVVRHC0DPrOxn2DmpxdhDotK7qPy9iHZr7T3ljwxpiniA6SJ35ue\/bPYrCaeGmiMs8rIo29bnnACwvnWoqtVz1Ngh6V88XB9IzhA6su6+4dfgriLSk9dI2ovtwkqZAc9Ew4YO7\/QBTKCTzyMqXSJzjaKu1v0R8q9XOqJjS2OkfWTfyhaeEd+PvwvVDpeSpqPL79N5VOdxDn1Gd34Db2q+pKOmoYRDSwMhYOTRjPt7V3UY7ZRNVQcniqu\/Zu\/e8y9Q0f7wqNuABHSkNA2xs\/71qFmKw9H\/ALQqEnqkpzg9W+H\/AHfFadJ7u4no+s\/+n+EERFmdIRFymqYKcAzzxxA9XG4N+aENpanVFVT6mstPnjuETv6vL\/llQJNc2truGKKpmPLhYAD4nKuoSe4xl0ijHWSNIiy7tT3aoH\/BafnI5Okzj5favvT6xq\/q01LSDtcQT8z8k2b3leswfypvuTNOiy\/mbUtSB5XfhDnlCN\/gGr6dFNn\/AC67VdQe3OPnlThjvY21V\/LTfi0vcvprjQ0+emrII8DJDpAFBm1VZIPrVzHHsY0u+QUeHRdliILoZJcfx5D9mFOh0\/aIPqW6n25uYHH45T4O0X6Q9yXN+xWSa5tLSRGyplOcDhjG\/iV49MJ5d6SxVk4PUcEZ8AVo44YoQBFExgAwA1oC6KLx4DZ13rPkjHV+q73RxCWS0x0zXHDTMScn2ZC7wy6wrYWTRmkgY9oc07bg79\/amvYC+1wTggCOThIz15\/0V7ZnRustF0Tw9ggY0OHPAA+xXbSimkc8YTlWlCU3ZLuKXzRqqbae+RsB6+ib9wCj11jqKOldVXPU1UI27YHFv3AcW5K1skjIo3SSODWMBc5xOwA6yspTRnV12dVziTzZTOxFGdg923X8T4BIybz3E1aMI2iruT0u3zKajpLDWVbGVMtyYJSBHJMWtDzz5HbPfzWjboaztOT5Q7uMn4L1rOCE6dc4xj6F7CzAxjfGB7lc0MjprfTSvOXPia5x7yAkpu10yKXR6am4TSe8qm6MsYxmme7HbK7f4ro3SVibnFAN+2R5+ZVyizxy4nWuj0V9K5FR6K2P+b2f3nfevY01ZQMebodvarRExS4k7Gl9q5EWitlFbuk8jp2Q9Jjj4eeOr5opSKrdzRRUVZIIi4VdZBQ0z6ipkDI2DcoG0ldndVd01FbrSC2ebjlH8FHu739nvVObneNSvfDa4\/I6EnhdUv2cRzx9w8Va2nTVvtWJBH09QNzNIMnPcOXzWmFR+Y5trOr\/AIllxfot5WG4akvQAoKQW6B2xllOXEe8fIe9d6bRlH0nTXGeavmI9YyPIGfHPxWjWe1NeXRxi1W8iWuqfU4WndjSN9+R\/wBVKk27RyKTpQhHHVeJ9voiNYI4ajVFwqqWFjKWBghj4QRvt1D3HPuWqVfZLUyz2yOkaQ5wJdI8DHE48\/kPcrBVm7vI2oQcIZ6vPmERVl7vUVlpmPcwyzSnhiib1uP3dXiqpNuyNZzjCOKWhV376HVlln\/juMfxx\/7K7rbrQW4Zq6uOI4zwk5cf7I3WJ1E++VUVPX3CBtJCyThiDPrMJ3z28u7qWkt+kLVScMkjDVyYyXS7tPfw9XjlaySSV2cFKpUlUmqcdbPPLdwI8utYZXGO2W+prZB2NwPbtk\/Been1fXnMUFPQMPVx4J9+c\/IdSn1mobNaGGLpWFzDjoadoJHhsFXOvGorsSLXb\/JYDjE043I7RnbwBRLguYlLO0ptvhH99TzPYbo6N0101I6KMfW4SQ35gfBVM0OmKaXo43Vl0nJI4WOwCeW4Az7sq9h0k+qkE17uE1Y8HPRteQz9vZhXtJQUdAzgpKaOEYweBuCfaesqcdt\/oQujOeeG3fm\/YwTa6O11sPlWnqWCJzS8RyAukxvv6xOOrsCn0FxvFuiir5qYSUtQXltPDGMs5jqGw2+asbppma7ahZV1EzPJGho4BniwOXvPzWkAAGAMAJKcbIil0apiedktNP2xT2W+S3Colpayl8lqGAPawndzSOv4q1mmjp4XzTPDI2DLnOOwCpb3bKltfDebewOnpx9JGBvK3mPbjI7VB83XrUdSDdR5FQxu\/J2nd5B\/bc+4KmFPPRG6q1IXg02939kC7VVz1PFPPQRvZQUfrN5GUjrPecZOPtKvINX2jzeyeWYxyBo4oeA8WccuXv6ldwQRU0LIYI2xxsGGtaMAKL5ltfT9P5vp+kznPRjrznPtUuUXk0RGjVg8UZXb1v6GNvN0vFfTsuZElLbxKGxMa7hc7IPrbdf7Y5rfMe2SNsjHBzXAFpHMLlV0cFdSPpZ4w6J4wR2exZ\/0PliHR0l7q6en\/kmk49uxA7OX4G4yVtBGFWlJtfFft3+xoaqspqKLpaqdkLO17sZVDPrKB8phtdFPXyA9bW4b7eZ+C9U2irbG7jqnzVj\/APqPwPhv8VeU9LT0kfR00EcLP4sbQ0fBR8C7S\/8APPhFc37Ga8x3e\/ytlvk3k9O05bTQnn2nrHv3PsXpltvlgfM2ziOrpHnibDMd2Hu3H4rUom0fgOqw1u78d5lZbdqK+no7jNFRUefWjh63gH9uvwWkpKSGhpY6anZwRxjAHx+a7IquTeRpToxg8Wr4sotZAnTVRgdTmZ\/vBWdrObTRntgZ\/hCharZ0mmqxvY1rvBwP2LvYX9JYKF3ZAweAx9in6PEov9h9y\/LLBERUOkIiIAiIgCpNVWypudsa2l9d8L+k6I4w\/b2dfh1lXaKU7O5SpBVIuL3mWj1e2jjEdZZ6mmEY4XdG0cLSDjbONl69O6CT1aeirJZD1N4W7+BK06K+KPAx2VZZKfkZQ1eqLyCynpW22B38I\/64GO07+AVpZtOUlnJlBM9U4etM\/rPsHJW6KHN2ssiYUEpYpO77fQIiKh0BVOoqaiqrbitq\/JQx3HHLxfVcAcHHPr6l4veoGW1zaWlj8qrpDhsLd8d5x8lAotLS18ja6\/zPnnduIQcNaOw4+QWkVb4nkctWpjvTgrvfwRl665XCqp5aIVj7jSRkP6UxHIxzyRke9e5Z7zWRRG4CvfRloaOiaQ1wHwJ2PXut1d6WGHTlbDBEyONtO8hrW4AwMrlpOQSaaoznOA5pz3OK12iw3SOHqknUwSnqr+ehnrXdtKUB2opxK056SeMPIPdvt4BaGPVljl2Fe0H9Jjm\/MK0khil\/dImP\/WaCoklitMv17bTe0RAH4LJyjLW52QpVqatBrlb8M+x3u1SgcFxpTnkZWg+BUqOaKX9zlY\/9VwKqpNJWOQkmhDSebZHD4ZwokmhbQ\/6rqmP9WQfaCotDiXxdIWsU\/H+jSIsx6FiP8nu9ZEfb92EGmbzEPodSVBxyeHY\/xFMMeI2tVa0\/NGnRZjzPqmPeK+RuP6bfwKeSazZ\/zGjkz+iNv\/AJgXFDby3wfl7mnRZji1m3fgo34\/N23TyzWbNvNtHJ38Q\/zhMHah1hfbLkadFmPOermbPs1OT+i7\/7KeeNUs3fY4yP0XfiUwPiOsx4PkzTosx6Q36P9007I7n6hPV4FPS2vacS6cq2Hl9b\/KmzkOtUt9+T9jTosx6YyN2kslYw9mPwT0z\/AKHrPBNnLgOt0ePkzTosx6Z\/0PWeCemf9D1ngmzlwHW6PH8lnqT97tb\/AFRTTf73aL+qCornqymuNsnoo6KrbLUDgjywYJPvWhsMMlPY6SKVhY9sYBa4YI9ys01CzKU6kalfFF3VvUsERFkdgREQBERAEREAREQBERAFzqJDDTSygZLGFwHsC6L4QCMEZBQhmZ0bSMlpH3ed3TVc73AyO62gbY\/buWnWZn07cbfK+awVvRB7+J0Em4PvOc+\/x2Xk3fU1v\/LbQyqYPz4Ccnwz8uS1ksTumcVKexgoTi1bfqu80Fe0Pt1S09RiePgVUaLdnTkQ5Ne4fHP2qBVa1glop6fyGpiqpGFsbHNBGSMDv59iuNM0MtBYoIpwRK7L3AnOMnYeGEacYZlo1I1a6cHeyfoWyIiyOwIiIAiIgCIiAIiIAiIgCIiAIiIAiIgPhAIwRkFfURAEREAREQBERAEREAREQBERAEREAREQHOT68f632FdERCEEREJCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "CONGREGACION SALESIANA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "PAULINA UMAZOS",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "987249342",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:10",
    "ubicacionGPS": "LatLng(lat: -29.9093363, lng: -71.2516159)",
    "horaLlegada": "13:08",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 15/05/2026 13:10:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-EkWo4VuRMEQBAyr+YPBS0euOUol4_K00tW8h74Vg1yo+hevPGpV
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "80230500",
    "serieinterna": "KY2792",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "no se puede tomar contador ya que maquina se encuentra trabajando\nse realiza entrega de toner\n01 iton2956",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12620",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABhASUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABLEAABAwMCAgUIBQUNCQAAAAABAAIDBAURBiESQRMxUWGRFBUWInGBobEjMsHR4TRCYnLwMzZDUlNVZXOCkrLS8QcXJEVjk6LC4v\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADIRAAIBAgMECAYCAwAAAAAAAAABAgMREiExE0FRkQQUYXGBocHRIjJCUrHwI+EzNHL\/2gAMAwEAAhEDEQA\/AP2ZEUSsulDb2k1dVHFgZ4S71vDrRK5Dkoq7ZKcCWkA4ONj2KNbYKqmomxVlT5TMCSZOHGcnqVNJra3l\/R0kFRVP5BrMA+O\/wXMahvsvrQ6fkDSM+uT+C0wSscz6RRvdO\/ddmnRR6CWonoo5aqEQzOGXRj83uUhZnSndXCIiEhERAEXKpqI6SmlqZncMcTS5x7gsTZrlcqjVFNLM\/Da4Ok6M5wGetj\/Dt7O9XjByTZz1a8acox3s3aIiodAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREBT3+9m1RxQ08fS1lSeGFnLOQMnxUa36UpAG1VzYamseMycby5oP2+\/K40UcdTrmtkqW5fBGOhDiCB3js\/ErTrRvCrI5IRVaTnPNJ2SOcUMUDOCGJkbexjQB8F0RFmdegREQBERAERRa+40lspzPVzCNvIc3HsA5olchtRV2Ueuqkx2mKmDg3yiUBxOfqjfl34XDSdKaytkurozHDCwU9MwgbNA3P495VbU1kmqr\/QQz0zoaRxd0QOcubzOf7PLs54W7hhjp4WQwsDI2DDWtGwC3k8EMO886lHb13V+lafvidERFgekEREAREQBERAEREAREQBERAEREAREQBF8JAGScALm6pgYMumjaO9wCEXSOqKK6529ueKuphjrzK3b4rk6+WluM3Kl37Jmn5FTZlXUgtWT0Vf5\/tH85U3\/AHAvB1JZgcecYdu9ThfAja0\/uXMs0Uejr6SvY59JURzBpw7gOce1FXQummrorL9YX172VtDMaeuhHqubsH9gPx371CZqivt\/0V4tUwe3GZYG7H3Hb3g4WoRXUsrNXMJUXixQdm+XIzHp3QPPDDR1cjuzhb9hKHVtZLtSWGqkP6WR8gtOiYo8CNnWetTyRmRdtUyuPRWONg3xxu5+9wXw3PVsLXST2aB7GjOInZcfcHk\/BadR6uupaGMyVVRHC0DPrOxn2DmpxdhDotK7qPy9iHZr7T3ljwxpiniA6SJ35ue\/bPYrCaeGmiMs8rIo29bnnACwvnWoqtVz1Ngh6V88XB9IzhA6su6+4dfgriLSk9dI2ovtwkqZAc9Ew4YO7\/QBTKCTzyMqXSJzjaKu1v0R8q9XOqJjS2OkfWTfyhaeEd+PvwvVDpeSpqPL79N5VOdxDn1Gd34Db2q+pKOmoYRDSwMhYOTRjPt7V3UY7ZRNVQcniqu\/Zu\/e8y9Q0f7wqNuABHSkNA2xs\/71qFmKw9H\/ALQqEnqkpzg9W+H\/AHfFadJ7u4no+s\/+n+EERFmdIRFymqYKcAzzxxA9XG4N+aENpanVFVT6mstPnjuETv6vL\/llQJNc2truGKKpmPLhYAD4nKuoSe4xl0ijHWSNIiy7tT3aoH\/BafnI5Okzj5favvT6xq\/q01LSDtcQT8z8k2b3leswfypvuTNOiy\/mbUtSB5XfhDnlCN\/gGr6dFNn\/AC67VdQe3OPnlThjvY21V\/LTfi0vcvprjQ0+emrII8DJDpAFBm1VZIPrVzHHsY0u+QUeHRdliILoZJcfx5D9mFOh0\/aIPqW6n25uYHH45T4O0X6Q9yXN+xWSa5tLSRGyplOcDhjG\/iV49MJ5d6SxVk4PUcEZ8AVo44YoQBFExgAwA1oC6KLx4DZ13rPkjHV+q73RxCWS0x0zXHDTMScn2ZC7wy6wrYWTRmkgY9oc07bg79\/amvYC+1wTggCOThIz15\/0V7ZnRustF0Tw9ggY0OHPAA+xXbSimkc8YTlWlCU3ZLuKXzRqqbae+RsB6+ib9wCj11jqKOldVXPU1UI27YHFv3AcW5K1skjIo3SSODWMBc5xOwA6yspTRnV12dVziTzZTOxFGdg923X8T4BIybz3E1aMI2iruT0u3zKajpLDWVbGVMtyYJSBHJMWtDzz5HbPfzWjboaztOT5Q7uMn4L1rOCE6dc4xj6F7CzAxjfGB7lc0MjprfTSvOXPia5x7yAkpu10yKXR6am4TSe8qm6MsYxmme7HbK7f4ro3SVibnFAN+2R5+ZVyizxy4nWuj0V9K5FR6K2P+b2f3nfevY01ZQMebodvarRExS4k7Gl9q5EWitlFbuk8jp2Q9Jjj4eeOr5opSKrdzRRUVZIIi4VdZBQ0z6ipkDI2DcoG0ldndVd01FbrSC2ebjlH8FHu739nvVObneNSvfDa4\/I6EnhdUv2cRzx9w8Va2nTVvtWJBH09QNzNIMnPcOXzWmFR+Y5trOr\/AIllxfot5WG4akvQAoKQW6B2xllOXEe8fIe9d6bRlH0nTXGeavmI9YyPIGfHPxWjWe1NeXRxi1W8iWuqfU4WndjSN9+R\/wBVKk27RyKTpQhHHVeJ9voiNYI4ajVFwqqWFjKWBghj4QRvt1D3HPuWqVfZLUyz2yOkaQ5wJdI8DHE48\/kPcrBVm7vI2oQcIZ6vPmERVl7vUVlpmPcwyzSnhiib1uP3dXiqpNuyNZzjCOKWhV376HVlln\/juMfxx\/7K7rbrQW4Zq6uOI4zwk5cf7I3WJ1E++VUVPX3CBtJCyThiDPrMJ3z28u7qWkt+kLVScMkjDVyYyXS7tPfw9XjlaySSV2cFKpUlUmqcdbPPLdwI8utYZXGO2W+prZB2NwPbtk\/Been1fXnMUFPQMPVx4J9+c\/IdSn1mobNaGGLpWFzDjoadoJHhsFXOvGorsSLXb\/JYDjE043I7RnbwBRLguYlLO0ptvhH99TzPYbo6N0101I6KMfW4SQ35gfBVM0OmKaXo43Vl0nJI4WOwCeW4Az7sq9h0k+qkE17uE1Y8HPRteQz9vZhXtJQUdAzgpKaOEYweBuCfaesqcdt\/oQujOeeG3fm\/YwTa6O11sPlWnqWCJzS8RyAukxvv6xOOrsCn0FxvFuiir5qYSUtQXltPDGMs5jqGw2+asbppma7ahZV1EzPJGho4BniwOXvPzWkAAGAMAJKcbIil0apiedktNP2xT2W+S3Colpayl8lqGAPawndzSOv4q1mmjp4XzTPDI2DLnOOwCpb3bKltfDebewOnpx9JGBvK3mPbjI7VB83XrUdSDdR5FQxu\/J2nd5B\/bc+4KmFPPRG6q1IXg02939kC7VVz1PFPPQRvZQUfrN5GUjrPecZOPtKvINX2jzeyeWYxyBo4oeA8WccuXv6ldwQRU0LIYI2xxsGGtaMAKL5ltfT9P5vp+kznPRjrznPtUuUXk0RGjVg8UZXb1v6GNvN0vFfTsuZElLbxKGxMa7hc7IPrbdf7Y5rfMe2SNsjHBzXAFpHMLlV0cFdSPpZ4w6J4wR2exZ\/0PliHR0l7q6en\/kmk49uxA7OX4G4yVtBGFWlJtfFft3+xoaqspqKLpaqdkLO17sZVDPrKB8phtdFPXyA9bW4b7eZ+C9U2irbG7jqnzVj\/APqPwPhv8VeU9LT0kfR00EcLP4sbQ0fBR8C7S\/8APPhFc37Ga8x3e\/ytlvk3k9O05bTQnn2nrHv3PsXpltvlgfM2ziOrpHnibDMd2Hu3H4rUom0fgOqw1u78d5lZbdqK+no7jNFRUefWjh63gH9uvwWkpKSGhpY6anZwRxjAHx+a7IquTeRpToxg8Wr4sotZAnTVRgdTmZ\/vBWdrObTRntgZ\/hCharZ0mmqxvY1rvBwP2LvYX9JYKF3ZAweAx9in6PEov9h9y\/LLBERUOkIiIAiIgCpNVWypudsa2l9d8L+k6I4w\/b2dfh1lXaKU7O5SpBVIuL3mWj1e2jjEdZZ6mmEY4XdG0cLSDjbONl69O6CT1aeirJZD1N4W7+BK06K+KPAx2VZZKfkZQ1eqLyCynpW22B38I\/64GO07+AVpZtOUlnJlBM9U4etM\/rPsHJW6KHN2ssiYUEpYpO77fQIiKh0BVOoqaiqrbitq\/JQx3HHLxfVcAcHHPr6l4veoGW1zaWlj8qrpDhsLd8d5x8lAotLS18ja6\/zPnnduIQcNaOw4+QWkVb4nkctWpjvTgrvfwRl665XCqp5aIVj7jSRkP6UxHIxzyRke9e5Z7zWRRG4CvfRloaOiaQ1wHwJ2PXut1d6WGHTlbDBEyONtO8hrW4AwMrlpOQSaaoznOA5pz3OK12iw3SOHqknUwSnqr+ehnrXdtKUB2opxK056SeMPIPdvt4BaGPVljl2Fe0H9Jjm\/MK0khil\/dImP\/WaCoklitMv17bTe0RAH4LJyjLW52QpVqatBrlb8M+x3u1SgcFxpTnkZWg+BUqOaKX9zlY\/9VwKqpNJWOQkmhDSebZHD4ZwokmhbQ\/6rqmP9WQfaCotDiXxdIWsU\/H+jSIsx6FiP8nu9ZEfb92EGmbzEPodSVBxyeHY\/xFMMeI2tVa0\/NGnRZjzPqmPeK+RuP6bfwKeSazZ\/zGjkz+iNv\/AJgXFDby3wfl7mnRZji1m3fgo34\/N23TyzWbNvNtHJ38Q\/zhMHah1hfbLkadFmPOermbPs1OT+i7\/7KeeNUs3fY4yP0XfiUwPiOsx4PkzTosx6Q36P9007I7n6hPV4FPS2vacS6cq2Hl9b\/KmzkOtUt9+T9jTosx6YyN2kslYw9mPwT0z\/AKHrPBNnLgOt0ePkzTosx6Z\/0PWeCemf9D1ngmzlwHW6PH8lnqT97tb\/AFRTTf73aL+qCornqymuNsnoo6KrbLUDgjywYJPvWhsMMlPY6SKVhY9sYBa4YI9ys01CzKU6kalfFF3VvUsERFkdgREQBERAEREAREQBERAFzqJDDTSygZLGFwHsC6L4QCMEZBQhmZ0bSMlpH3ed3TVc73AyO62gbY\/buWnWZn07cbfK+awVvRB7+J0Em4PvOc+\/x2Xk3fU1v\/LbQyqYPz4Ccnwz8uS1ksTumcVKexgoTi1bfqu80Fe0Pt1S09RiePgVUaLdnTkQ5Ne4fHP2qBVa1glop6fyGpiqpGFsbHNBGSMDv59iuNM0MtBYoIpwRK7L3AnOMnYeGEacYZlo1I1a6cHeyfoWyIiyOwIiIAiIgCIiAIiIAiIgCIiAIiIAiIgPhAIwRkFfURAEREAREQBERAEREAREQBERAEREAREQHOT68f632FdERCEEREJCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "CONGREGACION SALESIANA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "PAULINA UMAZOS",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "987249342",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:10",
    "ubicacionGPS": "LatLng(lat: -29.9093363, lng: -71.2516159)",
    "horaLlegada": "13:08",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/05/2026 13:10:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:80230500

[15/05/2026 13:10: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('80230500', 'KY2792', 1, 20988335, 0, NOW(), 
				'08:00', '13:08', '13:10', 10, 'no se puede tomar contador ya que maquina se encuentra trabajando
se realiza entrega de toner
01 iton2956', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778865013.png', '', null, 'COMPLETADO','LatLng(lat: -29.9093363, lng: -71.2516159)' )
				
[15/05/2026 13:10:13] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200339

15/05/2026 13:10:13 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200339'                    
				WHERE idllamado = 12620			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


15/05/2026 13:10:14 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12620			
				
15/05/2026 13:10:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 13: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 = 12620
                

15/05/2026 13: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 = 12620
                

15/05/2026 13: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 = 12620
                

15/05/2026 13:10:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12620
            GROUP BY l.idllamado;
            

15/05/2026 13: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 = 12620
                

15/05/2026 13: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 = 12620
                

15/05/2026 13: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 = 12620
                

15/05/2026 13: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 = 12620
                

15/05/2026 13: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 = 12620
                

[15/05/2026 13:10:19] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12620
            GROUP BY l.idllamado;
            

15/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12620
            GROUP BY l.idllamado;
            

15/05/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 = 12620
                

[15/05/2026 13:10:19] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/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 = 12620
                

15/05/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 = 12620
                

15/05/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 = 12620
                

15/05/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 = 12620
                

15/05/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 = 12620
                

15/05/2026 13:21:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12618
            GROUP BY l.idllamado;
            

[15/05/2026 13:21:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13:21:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12618
            GROUP BY l.idllamado;
            

15/05/2026 13:21:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12618
            GROUP BY l.idllamado;
            

[15/05/2026 13:21: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;
                

15/05/2026 13:21:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:21:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13: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 = 12618
                

15/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12618
            GROUP BY l.idllamado;
            

15/05/2026 13: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 = 12618
                

15/05/2026 13: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 = 12618
                

15/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12618
            GROUP BY l.idllamado;
            

15/05/2026 13: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 = 12618
                

15/05/2026 13: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 = 12618
                

15/05/2026 13: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 = 12618
                

15/05/2026 13: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 = 12618
                

15/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12618
            GROUP BY l.idllamado;
            

15/05/2026 13: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 = 12618
                

15/05/2026 13: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 = 12618
                

15/05/2026 13: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 = 12618
                

15/05/2026 13: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 = 12618
                

15/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12618
            GROUP BY l.idllamado;
            

15/05/2026 13: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 = 12618
                

15/05/2026 13: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 = 12618
                

15/05/2026 13: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 = 12618
                

15/05/2026 13: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 = 12618
                

15/05/2026 13:21:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12618
            GROUP BY l.idllamado;
            

15/05/2026 13: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 = 12618
                

15/05/2026 13: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 = 12618
                

15/05/2026 13:21:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12618
            GROUP BY l.idllamado;
            

15/05/2026 13: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 = 12618
                

15/05/2026 13: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 = 12618
                

15/05/2026 13: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 = 12618
                

15/05/2026 13:26:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12618
            GROUP BY l.idllamado;
            

15/05/2026 13:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:26:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12618
            GROUP BY l.idllamado;
            

15/05/2026 13:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:26:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:26:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:26:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:26:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12618
            GROUP BY l.idllamado;
            

15/05/2026 13:26:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:26:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:26:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:27:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:27:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:27:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:27:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:27:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12618
            GROUP BY l.idllamado;
            

15/05/2026 13: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 = 12618
                

15/05/2026 13: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 = 12618
                

15/05/2026 13:27:40 - logentry: =========================================
FECHA: 15/05/2026 13:27:40
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-DSTMDBmLSQRE80xts_J71KpGCzWEZ3qIm+raviwuhd5HUMll3Uu
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2394",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "46098",
    "contadorColor": "173389",
    "contadorScanner": "0",
    "detalle": "01 Rgom 2393\n01 Rgom 2428\n01 Rkit 2577\nMantenimiento, ajustes, y\nlimpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12618",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACFAQoDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUBAgf\/xABJEAABAwMCAwQHAwcICgMAAAABAgMEAAURBiESMUETUWGRFCJxgaGxwRUjMgckQlLR0uEWJTNjcoKTojQ2R1Ric5KywvBVhPH\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMBBAX\/xAAyEQACAQIDBQcDBAMBAAAAAAABAgADERIhMQQiQVFhEzJxgZGhwRSx4SNCUtEzcvDx\/9oADAMBAAIRAxEAPwD9mpSlEIpSlEIrXhzos9ouxHkvICuEqT393xrYqR\/J+vMGW3xH1XQcd2R\/CmC3UmReoVqKnO\/tK6lKUstFKUohFKUohFKUohFKUohFKUohFKUohFKUohFKUohFa0+4RbbGMiW6G0Dlnmo9wHU183O4M2uA5MfyUoGyRzUTyAqfttokX+Qm73rdpQCo8YH1QnoT4fPrTqo1OkhVqkHAgu326mPtu\/3oE2eCmPHOwfewSd+Yzt8DWUWzVicOfbLCl5BKCn1T\/l+lUqUhKQlIAAGAB0r2tx8hEGzk5uxJ8bfaTtov0z7SVabwx2crmhaB6qx\/71+tUVS+ukpbt8WWlI7ZqQAlXUZST8wKqKxgLAibRLBmpsb24+MUpSknTFKUohFKUohFKVryp0SEnilSG2RjPrqAz7KJhIAuZsVFaDJamXCPvgBJwfAkfWuo\/ra0NK4Wy8+enZo2JzjqRU1Yr0m3XWdIRDfeS8TwoQN0jizvV1RsJFp51avT7amwbS\/2n6NSpj+XEZv\/AEi3TGh\/ZH1Irei6rs0o8ImBpWeToKPidqmUYcJ1rtNFjYMJ2aV4lQUkKSQQRkEda9pJeKUpRCKUpRCKUpRCKUpRCKUpRCKwTJjECI5Kkr4G2xkn6Cs9S13B1BqBqzoUfRYo7SSQcAnu9u48z3Uyi5zka1QouWpyE+WXtRagCpMZ1Fuhk\/dZHrKHf8PDn1r6RdbnYJrUW8uB+K6cIlBPI9c+flVOhCW20toSEpSAEgdBU\/rV9pFk9HU32jr7gDQ6gg7kfL306sGNrZTnqUzSQ1MRxD08LTS31bqDvtkE+OHVfx+XtquSkJSEpAAAwAOlTuiX0G0uROy7N6M6Q6N9yevwx7q6k292y3kpkzG0LHNAPEryG9Y9ycI4RtnKin2jHM6\/15TfpUw7rH0lws2e3Py3N8KUMJ9uBvj24rw2zUl5T\/OE1uCwsbssjJ9+\/wD5H2VmAjXKP9SrZUwW8NPWYteTIy7a1FS+hT6XwpTYVkgcKtz5iulF1Vb5EZyS6HYzKHEtpW6nZZVyxj2HPcK4FzsEK33a0QoiVFx1zLq3DkqAI6cu\/pX3rt1bsyNCaOzTKnVAcseP\/T8aqFUgLOJqtWmz1DbgLfnzlo062+yh5pYW2sBSVDkRX3XM04oq09CKiSeyG5rp1AixtPTRsShucUpSsjxXilBKSpRAAGST0r2pS9S5F9ugsducKWUH87dA2GDuPd3dTTKtzJVaoprfU8BMkm\/zrvLVB0+gYT+OWseqPZ\/77K+4mjY3aF+6SHJ76uZUogfPJ8\/dXcgwY9uiIjRmwhtA96j3nvNbFMXtkuUkuz4t6rmfYeUwR4UWInhjxmmQP1EAfKpmzOhvXVzZ5BwEj2gg\/U1W1AtP9h+UVSuinyg7d6cfWtTO\/hE2khDTI5y+rnzbDa54Pbw2yoj8aRwq8xXQpUwSNJ1sqsLMLyUVZbxp8F2yylSWRuYr2+efIbeHLBNdWzagi3dHBnsZSc8bCjuMc8d9dauDfNOJmL9Pt59HuDZ4krTt2hHQ+Pj50+INk05jTajnSzHL+p3qVyNO3r7YgntQESmTwvI5b9+PGuvSEEGxnQjq6hl0M150xuBCdluhSkNJ4lBI3pBmNz4TUtoKSh1PEkKG9T+up\/Y2xuE2r7ySvcDnwj+OPjVBb4\/olvjx8Edk0lJyc8hTFbKDJrULVig0A95sUpSkl4pWq\/c4Eb+nmsNnuU4Aa4V01vBjBKYA9KWTurBSlI9\/M0wRjoJGpXp0xdjKelRsXXEuQEsotRflK\/RaUQMezBNbfpWr5mA1Cjw0\/rLIJ+Z+VN2ZGskNrpsNwE+AnfnSkwYL8pe4aQVY78DlUzpaVCgW96fPmNNyJjilq41DiIGenPnk1zdSwrvEgpduV2L5ecCewRkIxjOeg2IG2K69i01ZJVsjTSwp9TiATxrOArkRgY6g0+FVTM6znNSpUrgKtiBx68cpsSNa2lo8LBelKzyabx88VwJE67ajvrbkKH2TkIcSW3CCEHPM5xvnG3hVwzEhwUFTMdlhKRklCAnYeyuDo5CpH2hdHN1SnyEk9w328N\/hWKVAJAjVUqu6o7a8uk4ibRPGpfQbhPUwuekuLVHJw5zPCeQ6HvqmhaRs8PBMf0hY\/SePF8OVams0qYag3NsfeRJA38Dvv70jzqkQtLjaXEKCkqAKSOooZyQCJtGhTWoykXIzF+v5httDSAhtCUJHIJGAK+qVrXGYi329+W4QA0gnfqeg95wKlrO8kKLmT8YC568ffGFNwGuAHOfW5fMq8q418fLt2vUgn+ibSwgc9yUg\/AKqh0bDWzalzHiFPTVlxR646Z+J99SkgrkXqfbEBWZdxGSnuClj\/wAs+6uhe8ek8etfslJ1Yk+oy+Jf2dkx7NDaPNLCM753xvW7XylKUICEjCUjAHcK1VMSk3QylTAIYawWCkbK\/WzXPqZ6w3FAAnG1hcJDLcSBCdcbkSnRhTaiCByxtvuSPKqNtJQ2lBUVFIA4jzPjUjAWi\/60cnIOY8JHC2c\/i5gH2ZJNWFO+QAkKBLs1ThoPKc++3L7KtD8obuAcLYx+kdh+33Vw7LNtmnbWFzX0pmSR2riEgqX3pB542PXHOtPWr8125sQShaoygFpQ3uVnrWKBOstpKVO2OYHE78bw4iO84OAPKqKm54zkqVz254Wyzv5zqjVFyuRULNZ1uJB\/pXzgeWw7utVFTA17aQMCPLAH\/An96n8vrV\/u8z\/oT+9SFGOiy9PaKS96peU9fmVyK29RTLgDkRpyQcDluSP+2qb+XduUPuokxZHP1E\/vVLLkvS493Wi3vLRJfDpcAJDGFKO+3crHSqUlK3vObbK1OoFCm9rn2n6eCCMg5Br2pCBftQSIDBiWcOoSgJ7Vaj6+NidyK2OLWcj9CHG69D7utS7MjUztG1Kwuqk+Up68JAGScAVM\/Y+qH8iRfEIB6spxg+4Cg0U28rin3SXJPXfGfPPWswrxM3tqh7qHzIH9zBc3mLFqhm5MuNlmUOCShKslJ\/Wx5H3HvrZv+qo0e3qTbJra5RUACkcWB1PdWOfoy2s2uSqMh1T6GypBUsk5G+MDyqdlsRHtO2tUZhtMp11Tayn8SiNu\/wAR59KsoVrGcFR61LEBYXz+MpqvXB25Xtua62t5wuJJaQP0RjYeR6eNV32zqeUfzWxpZB6vk5HmRWquEmHqexW5GMMMlRx1PrEn3lNWNZUcZZSmzUH3rsRnnbwkuI+spWeOXFignkACR8D86fyQlSU\/zhfJTwI3QknHxJ+VVFKn2h4Tr+lQ94k+JMi75YrLYbQt0NLekOHga7Vw8z1wMchk+2uxpuwMW22tKfYQqU4ONxSkglJP6I7sD61pzEpvOs2YpBWxb0do5g5BVsQD0548j7qitZjhAJkqNFDUZwBYZD5MmNU\/zdcrbekDHZOdm6QMkpP8OLzqmBBGQcg1P62\/1eUeodQQe6u3DJMJgk5JbT8qU5qDK08qzr4H\/vSSmrk+n6gtdtJPCogqA7lKwT5JNbmj3HIwmWd8AOQ3Mjfcg88eGRn+8K5jE4XP8obLnDlpsrbb4uoSlW\/nk1vXL+ZtZRLhnDM4dk5tyOw\/dPuNVIywdJxIw7Q1x\/K3la07V+fVGsU11JwoNKAPcTt9a19KMdhpuIMbrBWfHJJHwxWLWbnBpp9O3rqQn\/MD9K6dtbDNriNA5CGEJz34SKl+zznbrtHgPufxMGoIfp1jlsAZUUcSfaNx8qw6Wm+m6fjKJypodkrbqnYfDFdepLsZ+lLg85GjOTLdIJWUo\/E2f\/fOtXNcMyr+nUFThofiVtSd2kL1HeWrPEVxQ2VBcl1IyMjO2eXh7fZR+83W\/I9CtsB2KlZ4XnnTjhSe7u5Hvru2e0sWeCmOyMqO7i+qzWgYMzrFZvqDhXu8Tz6D5mWTJiWqAXXSllhlIAA7hyAFR+k3GJWqJUl9BQ88FusJUP1jk4PsPlmuhq5IFwtjkpRVB7ThW2kHn3nmDt7+fu6l00\/HuS23kOLiyGhht1oYKfLf49a0WC58YlQPUq7o7nDn\/wBwnUccQ02pxxaUISMqUo4AHialbnenL6tdrs5+6IPpMlQwlKOuPCs7eju1WDcrrKmo\/UUSAT7ya91HLiWGyLiQkNsOyAUJS2ACB1V9M+NYoW+WZm1mqFCX3V9zMGgY\/BbpUjGzjoSCRgkJH8fnVXXI0qwljTkQAbrSVnxJJNdelqG7GW2ZcNFR0kxfvV1bZVHYEkA+Of41T1M6wSuMu33VDZWIj3r79CQfpj31SIWlxtLiFBSVAFJHUVrd0GZSyquPA+0+qUpU50xUpo5lM2zXEr\/DJeWhXsKR+9VJNX2cGQvOOFpRz3bVxdEI4NOpV+u6pX0+lUGSGctQXroOh+J8aKfWLc\/AdP3kN4pKc8gf4hVUlS8IfZuu5cbHC3Ob7VI71c8\/BdVFZU1vzm7Kf08J4Zen4ilKUk6Z4QCMEZBr870nbXJd9BVksQlFZ4uis7D25GfdVHfr84h77KtSVPTnNlKRv2Xf78eVa+gUBNtlKBJBfwDjngD9tWW6oTPOqlK20Io4X\/8AJ9vfe\/lEj\/1MY\/JX71U9TH+0T\/630qnpH4eE6Nn\/AH\/7GKUpSTpkxpcdvfb3K5gv8CFdCOJX0AqnqY0aTx3QKPrelHOefWqenqd6c2y\/4gfH7yd1woJ08Qf0nUgfE1jv11ci2uPa4Y450ptKOBO5SkjBPt\/\/AGtbXkxpcaPAbWlb5dCyhJyobEDbx4q3rFZ3mX13i6r4prw2BOzQPT29PDlVBYKCZzOWeuyJyAJ5a385yodqRZ9Y2mIkhShGUpxYGOJRDm\/yHuruaqtr1zs5RHRxPtLDiADgnGxx7jXUMuMk4VIaB7isV8qnQ0jKpbAHeXBSFySDLrQpqjU75H2k5rJx46WiqkI4HluN9on9VXCSR51UoTwISnOeEAZqT1xOiSLOy0xKZdWJCVFKHAo44Vb4FUP21av\/AJOH\/jp\/bWkHCJlNlFZ7ngPmbtK0xeLWo4TcohPcH0\/trKJ0QjIlMkH+sFTsZ1B1OhmelYPTYv8AvLP+IK8VOhpGVS2AO8uCixhiXnOXrFhL2nHlkDiZUlxOe\/OPkTXQtMgyrREfJyVspJ9uN\/jXE1LqG2G1SYbUjtnXQUANjIB268q6em\/9XYX\/AChTkEJnOZHVtoOE8Pmbk6Y1b4Lst78DSeIgEZPhvUJdI8i5WqTf7hlKllCIrYOAlPF4jfr8TVbqhvtdNzU9yAryIP0rh3Z3tfyfRFDkA2nnnlt9KanlY9ZHa94lToFv5yntTfY2iG2eaGEA+3hFbdYIX+gx\/wDlJ+VZ6kdZ3oLKBNefCauEF6I7+F1JTn9U9D7q4Gmbi5EeXYLgeGQwSGSeS088D5jw9lU9cq92Jm7toWFdjJa3adTzB6Z9+9MpFrGRqo1xUTUe4nVpUozf7nY3DFvsZx5sH1ZbQyMeQz867EbUVoloCkT2Ukj8LiuA+zegoRNTaKbZXseR1n1qB3sdPzlbbsqTv4jH1rDpVrsdNw043Ukq8yT9a09YTo6tOOttPtOF1SAAlYJ5g7eVdKBKhQ7ZFYXLYRwMpT6ziQdgK2xwecniB2gm+g+5nI1eFQpdtvDY\/oHeBe\/MHcfJXnVOkhSQobgjIqf1DdrNJtL8VdwZUpxOUdme09YEEcs9a5Vn1Lc3ra1b7fbzJktI4S6pXqpGTjPu7z0psJZR0k+2SnWYXvfPLPOWTz7MZouvuoabTzUs4AqZlX6bfJBt9gSpCc\/eSyMADw7vnX0zpmdcyl7UE5buDlMds4Sn24+nnXWduVnszQjqkMR0tjHZI3I\/ujesAA0zMdmeoN7cX3\/E1I1ri6assp9B45AaUpbx\/Eo45DuGa80ZGMfTrSiMF5anD54HwAriah1S1dov2ZbWnVF5YSVKTjj32CRz3OK24sLVciO0wHWLawhIRwp3Vjlnqc+8UxU4d46yC1U7UdkLgC2XMzNPUmNr+E64oJQ5HI4icAbL\/h511JOpLNFz2k9pRHRs8fyzUnfbC5BlQHZ096YH3eB1xeRwjI2BOehNVcXTNmiHLcFtR73Mr+dYwWwJjUmrY3VQBnfPr4Tnua3hKUUQ4kmSscgE4B395+FY\/t3Uksfmli7IEbF7P14apm2m2UBDTaUJHJKRgV90uJRoJfsqrd5\/QW\/uQogastzj8uM2hCpK8uIZCVYOc5wc95rIzE1nOVh2SuMk\/pKUlPwTvVtWvOltwIT0p38DSSo+PcK3tCeAkzsiqLlzbxkCxptb+pl28Ti4Wh2jz6Ruk8+\/c5I+PdVANCwFHL8uW6fFYH0r70fEcER+5yU\/nE1wqJI34Qf25+FUda9Rr2BibPstIpiZdc\/LhJ5OiLMBgpfPiXK9GibKDktOnwLhqgpSY25zp+mo\/wARPz\/Ulus8Jp+NBiuolRyha3FFRTwq2wDnHMiqKPpSwvRmnRBzxoCs9svqP7VZ9VM9vpyWkDJSAob9ygaz2J7t7FCcyCexSCR3gY+lOXOEG850oUxXKlRpfTqZqHR9iIwIRHiHV\/trEdE2UnPZujw7Q1QUpMbc50nZqJ\/aPST38ibN+o9\/iGvRomyg57N0+HaGqClGNucz6aj\/ABEnrvabfbNOzjFjobUWsFZ3UeQ5net7TYI07ByMfdCtXWTwa02+nq4pCRv\/AMQPyFdK1tBi0xGh+gygfAVpO5nziKoG0EKMgPmfF6ANjn5GfzZz\/tNTCm1P\/k1bVgktkqwO4OEVV3RBctMxsDJUwsf5TXF02yLhov0Qqxxpdbz3ZJ3+Napst+sWsuKrh5qfidi0vpk2mK6kghTSc4PXGD8a3Kn9GSi7ZfRXBwuxHFNqSefPI+ZHuqgpGFmInRRbHTVukUpSllZ4pIUkpUAQRgg9a5T+l7LIyV29tJ\/qyUfIiutStBI0iMiv3heQmptPW+3iImG2tLkh4I3WTt4eYruJ0VZE5yy4r2un6Vr37841bZY3PsyXcDmN85\/yfCqeqs7BRnOOlQpNUfdFhYe0m3mNJ2N3gebjh1I3SoF1Q9o3xzqdF7XDvUidZ2FBiXhAS+nhTxeeOeevWrhyzW16aqY7DacfVjKlji5AAbHboK9uNqi3OAYbyOFvmnhAHAe8eZoVwNc5lTZqjd2wtpYTh\/YN9uqiu63XsG1YPYR84x3dB86yuWHTlgjGVLb7Th5F9XEVHuCeRPur4TZdSQUBm33lssp2SH05I80mvuLpLtZnpl5lrnOA5Sgn1QOmf2bCtv1y6RRTPCnvc2zmHTsNy53Jy9yWA2yBwQ2ykAJTvvjw7\/E1VV4lISkJSAABgAdK9qTNiM7aVIU1tOPqi3LuNlcS0PvmT2qNtyRzHln4VmsFzTdbQy\/xhToSEujqFDn58\/fXSqRlsSdK3czoTK3rfKVh5lIzwHw+nlTLvDDJVb0n7XhofgyupWhEvdsmthbM1ncfhUsBQ2zyNeSb9aoqCt2exsM4QsKJ9wpMJ0tLdqlr3Fp0Kkbm+vVF5RaYij6FHVxSHk8lHu+g8c91evXW6alWY1naXGhkYckujBI64\/hv7KoLVao1ohpjx0+K1nms95qgGDM6znY\/Ubq93iefQTaaaQy0hptIShCQlKR0A5CvulKlOyKUpRCYJscS4L8dQyHW1I8xiuHoeR2ti7A7KjuqSQe47\/U1R1LWpX2ZrSfAVs3MHbN7czz281eVUXNSJy1d2qj+XrpKmlKVOdUUpSiEl9bAvtW+CDvIkjAHM9P\/ACqnAAGAMAVMPg3XXTSEklm3N8SsYI4jv9R5VUVRsgBOajvVHfrb0nypIWgpPIjFTWiFFmJMt7gIdjvnIPcdvmk1T1KXRK9PajReGmVLiShwSAgcievwB8++hMwVmV9xlqcBr4Gfcc\/ZOuHo4GGbkjtB\/a3PzCvOqio673KHc77YnIDweUl\/1wkHKQVJ5j2ZqxocaEw2Yi7qpyB++cUpSpzqilKUQnOes7b1+j3YuqC2Gy2EY2P4v3q6NKVpJMVVC3txilKVkaKUpRCKUpRCK8UkKSUqAIIwQete0ohONJ0nZZKuIxA2r+qUUjy5V7H0rZY6wpMILIOfvFFQ8icV2KU2Nucj2FK98I9J8oQhtAQ2kISkYCUjAFfVKUstFKUohFKUohFTWr2HmBEvMUfewl+t4pJ6+Gdv7xqlr4dabeaU06gLQsYUlQyCKZTY3kqtPtEKzHDltTobUpk5Q6kKHh4VnqRhPO6RuCoMzKrdIXll7mEHuP186q2nW3m0uNOJcQoZSpJyD76GW2mkWjVxixyYaifdatyntWyA7LdOzY2GR6x6Csz77UZlbz7iW20DKlKOAKlFF7WNzCQCi0RlcRJ2Lp3H7fYPbWqt8zpCtVwjCveOk3tIW9bMFy4yBmTOV2hJ58PMeeSfeKoa8SkJSEpAAAwAOle0rG5vHpUxTQKIrxSQpJSoAgjBB617SslJpsWi3RX+3jwmWnM5CkJxjbG3dsTW5SlaSTMChcgIpSlZNilKUQilKUQilKUQilKUQilKUQilKUQilKUQilKUQilKUQilKUQilKUQmGTFYmMKYktJdbVjKVcjip46M9HWo227y4YV0Bz8iKUpgxGklUo06mbCfSNGIedSu5XOVN4f0VkjPxJqhYYajMoZYbS22gYSlIwBSlBYnWFOilPuiZKUpSysUpSiEUpSiE\/\/2Q==",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENIMIENTO CORRECTIVO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:27",
    "ubicacionGPS": "LatLng(lat: -23.3352712, lng: -69.8453553)",
    "horaLlegada": "12:42",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 15/05/2026 13:27:40
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-DSTMDBmLSQRE80xts_J71KpGCzWEZ3qIm+raviwuhd5HUMll3Uu
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2394",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "46098",
    "contadorColor": "173389",
    "contadorScanner": "0",
    "detalle": "01 Rgom 2393\n01 Rgom 2428\n01 Rkit 2577\nMantenimiento, ajustes, y\nlimpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12618",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACFAQoDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUBAgf\/xABJEAABAwMCAwQHAwcICgMAAAABAgMEAAURBiESMUETUWGRFCJxgaGxwRUjMgckQlLR0uEWJTNjcoKTojQ2R1Ric5KywvBVhPH\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMBBAX\/xAAyEQACAQIDBQcDBAMBAAAAAAABAgADERIhMQQiQVFhEzJxgZGhwRSx4SNCUtEzcvDx\/9oADAMBAAIRAxEAPwD9mpSlEIpSlEIrXhzos9ouxHkvICuEqT393xrYqR\/J+vMGW3xH1XQcd2R\/CmC3UmReoVqKnO\/tK6lKUstFKUohFKUohFKUohFKUohFKUohFKUohFKUohFKUohFa0+4RbbGMiW6G0Dlnmo9wHU183O4M2uA5MfyUoGyRzUTyAqfttokX+Qm73rdpQCo8YH1QnoT4fPrTqo1OkhVqkHAgu326mPtu\/3oE2eCmPHOwfewSd+Yzt8DWUWzVicOfbLCl5BKCn1T\/l+lUqUhKQlIAAGAB0r2tx8hEGzk5uxJ8bfaTtov0z7SVabwx2crmhaB6qx\/71+tUVS+ukpbt8WWlI7ZqQAlXUZST8wKqKxgLAibRLBmpsb24+MUpSknTFKUohFKUohFKVryp0SEnilSG2RjPrqAz7KJhIAuZsVFaDJamXCPvgBJwfAkfWuo\/ra0NK4Wy8+enZo2JzjqRU1Yr0m3XWdIRDfeS8TwoQN0jizvV1RsJFp51avT7amwbS\/2n6NSpj+XEZv\/AEi3TGh\/ZH1Irei6rs0o8ImBpWeToKPidqmUYcJ1rtNFjYMJ2aV4lQUkKSQQRkEda9pJeKUpRCKUpRCKUpRCKUpRCKUpRCKwTJjECI5Kkr4G2xkn6Cs9S13B1BqBqzoUfRYo7SSQcAnu9u48z3Uyi5zka1QouWpyE+WXtRagCpMZ1Fuhk\/dZHrKHf8PDn1r6RdbnYJrUW8uB+K6cIlBPI9c+flVOhCW20toSEpSAEgdBU\/rV9pFk9HU32jr7gDQ6gg7kfL306sGNrZTnqUzSQ1MRxD08LTS31bqDvtkE+OHVfx+XtquSkJSEpAAAwAOlTuiX0G0uROy7N6M6Q6N9yevwx7q6k292y3kpkzG0LHNAPEryG9Y9ycI4RtnKin2jHM6\/15TfpUw7rH0lws2e3Py3N8KUMJ9uBvj24rw2zUl5T\/OE1uCwsbssjJ9+\/wD5H2VmAjXKP9SrZUwW8NPWYteTIy7a1FS+hT6XwpTYVkgcKtz5iulF1Vb5EZyS6HYzKHEtpW6nZZVyxj2HPcK4FzsEK33a0QoiVFx1zLq3DkqAI6cu\/pX3rt1bsyNCaOzTKnVAcseP\/T8aqFUgLOJqtWmz1DbgLfnzlo062+yh5pYW2sBSVDkRX3XM04oq09CKiSeyG5rp1AixtPTRsShucUpSsjxXilBKSpRAAGST0r2pS9S5F9ugsducKWUH87dA2GDuPd3dTTKtzJVaoprfU8BMkm\/zrvLVB0+gYT+OWseqPZ\/77K+4mjY3aF+6SHJ76uZUogfPJ8\/dXcgwY9uiIjRmwhtA96j3nvNbFMXtkuUkuz4t6rmfYeUwR4UWInhjxmmQP1EAfKpmzOhvXVzZ5BwEj2gg\/U1W1AtP9h+UVSuinyg7d6cfWtTO\/hE2khDTI5y+rnzbDa54Pbw2yoj8aRwq8xXQpUwSNJ1sqsLMLyUVZbxp8F2yylSWRuYr2+efIbeHLBNdWzagi3dHBnsZSc8bCjuMc8d9dauDfNOJmL9Pt59HuDZ4krTt2hHQ+Pj50+INk05jTajnSzHL+p3qVyNO3r7YgntQESmTwvI5b9+PGuvSEEGxnQjq6hl0M150xuBCdluhSkNJ4lBI3pBmNz4TUtoKSh1PEkKG9T+up\/Y2xuE2r7ySvcDnwj+OPjVBb4\/olvjx8Edk0lJyc8hTFbKDJrULVig0A95sUpSkl4pWq\/c4Eb+nmsNnuU4Aa4V01vBjBKYA9KWTurBSlI9\/M0wRjoJGpXp0xdjKelRsXXEuQEsotRflK\/RaUQMezBNbfpWr5mA1Cjw0\/rLIJ+Z+VN2ZGskNrpsNwE+AnfnSkwYL8pe4aQVY78DlUzpaVCgW96fPmNNyJjilq41DiIGenPnk1zdSwrvEgpduV2L5ecCewRkIxjOeg2IG2K69i01ZJVsjTSwp9TiATxrOArkRgY6g0+FVTM6znNSpUrgKtiBx68cpsSNa2lo8LBelKzyabx88VwJE67ajvrbkKH2TkIcSW3CCEHPM5xvnG3hVwzEhwUFTMdlhKRklCAnYeyuDo5CpH2hdHN1SnyEk9w328N\/hWKVAJAjVUqu6o7a8uk4ibRPGpfQbhPUwuekuLVHJw5zPCeQ6HvqmhaRs8PBMf0hY\/SePF8OVams0qYag3NsfeRJA38Dvv70jzqkQtLjaXEKCkqAKSOooZyQCJtGhTWoykXIzF+v5httDSAhtCUJHIJGAK+qVrXGYi329+W4QA0gnfqeg95wKlrO8kKLmT8YC568ffGFNwGuAHOfW5fMq8q418fLt2vUgn+ibSwgc9yUg\/AKqh0bDWzalzHiFPTVlxR646Z+J99SkgrkXqfbEBWZdxGSnuClj\/wAs+6uhe8ek8etfslJ1Yk+oy+Jf2dkx7NDaPNLCM753xvW7XylKUICEjCUjAHcK1VMSk3QylTAIYawWCkbK\/WzXPqZ6w3FAAnG1hcJDLcSBCdcbkSnRhTaiCByxtvuSPKqNtJQ2lBUVFIA4jzPjUjAWi\/60cnIOY8JHC2c\/i5gH2ZJNWFO+QAkKBLs1ThoPKc++3L7KtD8obuAcLYx+kdh+33Vw7LNtmnbWFzX0pmSR2riEgqX3pB542PXHOtPWr8125sQShaoygFpQ3uVnrWKBOstpKVO2OYHE78bw4iO84OAPKqKm54zkqVz254Wyzv5zqjVFyuRULNZ1uJB\/pXzgeWw7utVFTA17aQMCPLAH\/An96n8vrV\/u8z\/oT+9SFGOiy9PaKS96peU9fmVyK29RTLgDkRpyQcDluSP+2qb+XduUPuokxZHP1E\/vVLLkvS493Wi3vLRJfDpcAJDGFKO+3crHSqUlK3vObbK1OoFCm9rn2n6eCCMg5Br2pCBftQSIDBiWcOoSgJ7Vaj6+NidyK2OLWcj9CHG69D7utS7MjUztG1Kwuqk+Up68JAGScAVM\/Y+qH8iRfEIB6spxg+4Cg0U28rin3SXJPXfGfPPWswrxM3tqh7qHzIH9zBc3mLFqhm5MuNlmUOCShKslJ\/Wx5H3HvrZv+qo0e3qTbJra5RUACkcWB1PdWOfoy2s2uSqMh1T6GypBUsk5G+MDyqdlsRHtO2tUZhtMp11Tayn8SiNu\/wAR59KsoVrGcFR61LEBYXz+MpqvXB25Xtua62t5wuJJaQP0RjYeR6eNV32zqeUfzWxpZB6vk5HmRWquEmHqexW5GMMMlRx1PrEn3lNWNZUcZZSmzUH3rsRnnbwkuI+spWeOXFignkACR8D86fyQlSU\/zhfJTwI3QknHxJ+VVFKn2h4Tr+lQ94k+JMi75YrLYbQt0NLekOHga7Vw8z1wMchk+2uxpuwMW22tKfYQqU4ONxSkglJP6I7sD61pzEpvOs2YpBWxb0do5g5BVsQD0548j7qitZjhAJkqNFDUZwBYZD5MmNU\/zdcrbekDHZOdm6QMkpP8OLzqmBBGQcg1P62\/1eUeodQQe6u3DJMJgk5JbT8qU5qDK08qzr4H\/vSSmrk+n6gtdtJPCogqA7lKwT5JNbmj3HIwmWd8AOQ3Mjfcg88eGRn+8K5jE4XP8obLnDlpsrbb4uoSlW\/nk1vXL+ZtZRLhnDM4dk5tyOw\/dPuNVIywdJxIw7Q1x\/K3la07V+fVGsU11JwoNKAPcTt9a19KMdhpuIMbrBWfHJJHwxWLWbnBpp9O3rqQn\/MD9K6dtbDNriNA5CGEJz34SKl+zznbrtHgPufxMGoIfp1jlsAZUUcSfaNx8qw6Wm+m6fjKJypodkrbqnYfDFdepLsZ+lLg85GjOTLdIJWUo\/E2f\/fOtXNcMyr+nUFThofiVtSd2kL1HeWrPEVxQ2VBcl1IyMjO2eXh7fZR+83W\/I9CtsB2KlZ4XnnTjhSe7u5Hvru2e0sWeCmOyMqO7i+qzWgYMzrFZvqDhXu8Tz6D5mWTJiWqAXXSllhlIAA7hyAFR+k3GJWqJUl9BQ88FusJUP1jk4PsPlmuhq5IFwtjkpRVB7ThW2kHn3nmDt7+fu6l00\/HuS23kOLiyGhht1oYKfLf49a0WC58YlQPUq7o7nDn\/wBwnUccQ02pxxaUISMqUo4AHialbnenL6tdrs5+6IPpMlQwlKOuPCs7eju1WDcrrKmo\/UUSAT7ya91HLiWGyLiQkNsOyAUJS2ACB1V9M+NYoW+WZm1mqFCX3V9zMGgY\/BbpUjGzjoSCRgkJH8fnVXXI0qwljTkQAbrSVnxJJNdelqG7GW2ZcNFR0kxfvV1bZVHYEkA+Of41T1M6wSuMu33VDZWIj3r79CQfpj31SIWlxtLiFBSVAFJHUVrd0GZSyquPA+0+qUpU50xUpo5lM2zXEr\/DJeWhXsKR+9VJNX2cGQvOOFpRz3bVxdEI4NOpV+u6pX0+lUGSGctQXroOh+J8aKfWLc\/AdP3kN4pKc8gf4hVUlS8IfZuu5cbHC3Ob7VI71c8\/BdVFZU1vzm7Kf08J4Zen4ilKUk6Z4QCMEZBr870nbXJd9BVksQlFZ4uis7D25GfdVHfr84h77KtSVPTnNlKRv2Xf78eVa+gUBNtlKBJBfwDjngD9tWW6oTPOqlK20Io4X\/8AJ9vfe\/lEj\/1MY\/JX71U9TH+0T\/630qnpH4eE6Nn\/AH\/7GKUpSTpkxpcdvfb3K5gv8CFdCOJX0AqnqY0aTx3QKPrelHOefWqenqd6c2y\/4gfH7yd1woJ08Qf0nUgfE1jv11ci2uPa4Y450ptKOBO5SkjBPt\/\/AGtbXkxpcaPAbWlb5dCyhJyobEDbx4q3rFZ3mX13i6r4prw2BOzQPT29PDlVBYKCZzOWeuyJyAJ5a385yodqRZ9Y2mIkhShGUpxYGOJRDm\/yHuruaqtr1zs5RHRxPtLDiADgnGxx7jXUMuMk4VIaB7isV8qnQ0jKpbAHeXBSFySDLrQpqjU75H2k5rJx46WiqkI4HluN9on9VXCSR51UoTwISnOeEAZqT1xOiSLOy0xKZdWJCVFKHAo44Vb4FUP21av\/AJOH\/jp\/bWkHCJlNlFZ7ngPmbtK0xeLWo4TcohPcH0\/trKJ0QjIlMkH+sFTsZ1B1OhmelYPTYv8AvLP+IK8VOhpGVS2AO8uCixhiXnOXrFhL2nHlkDiZUlxOe\/OPkTXQtMgyrREfJyVspJ9uN\/jXE1LqG2G1SYbUjtnXQUANjIB268q6em\/9XYX\/AChTkEJnOZHVtoOE8Pmbk6Y1b4Lst78DSeIgEZPhvUJdI8i5WqTf7hlKllCIrYOAlPF4jfr8TVbqhvtdNzU9yAryIP0rh3Z3tfyfRFDkA2nnnlt9KanlY9ZHa94lToFv5yntTfY2iG2eaGEA+3hFbdYIX+gx\/wDlJ+VZ6kdZ3oLKBNefCauEF6I7+F1JTn9U9D7q4Gmbi5EeXYLgeGQwSGSeS088D5jw9lU9cq92Jm7toWFdjJa3adTzB6Z9+9MpFrGRqo1xUTUe4nVpUozf7nY3DFvsZx5sH1ZbQyMeQz867EbUVoloCkT2Ukj8LiuA+zegoRNTaKbZXseR1n1qB3sdPzlbbsqTv4jH1rDpVrsdNw043Ukq8yT9a09YTo6tOOttPtOF1SAAlYJ5g7eVdKBKhQ7ZFYXLYRwMpT6ziQdgK2xwecniB2gm+g+5nI1eFQpdtvDY\/oHeBe\/MHcfJXnVOkhSQobgjIqf1DdrNJtL8VdwZUpxOUdme09YEEcs9a5Vn1Lc3ra1b7fbzJktI4S6pXqpGTjPu7z0psJZR0k+2SnWYXvfPLPOWTz7MZouvuoabTzUs4AqZlX6bfJBt9gSpCc\/eSyMADw7vnX0zpmdcyl7UE5buDlMds4Sn24+nnXWduVnszQjqkMR0tjHZI3I\/ujesAA0zMdmeoN7cX3\/E1I1ri6assp9B45AaUpbx\/Eo45DuGa80ZGMfTrSiMF5anD54HwAriah1S1dov2ZbWnVF5YSVKTjj32CRz3OK24sLVciO0wHWLawhIRwp3Vjlnqc+8UxU4d46yC1U7UdkLgC2XMzNPUmNr+E64oJQ5HI4icAbL\/h511JOpLNFz2k9pRHRs8fyzUnfbC5BlQHZ096YH3eB1xeRwjI2BOehNVcXTNmiHLcFtR73Mr+dYwWwJjUmrY3VQBnfPr4Tnua3hKUUQ4kmSscgE4B395+FY\/t3Uksfmli7IEbF7P14apm2m2UBDTaUJHJKRgV90uJRoJfsqrd5\/QW\/uQogastzj8uM2hCpK8uIZCVYOc5wc95rIzE1nOVh2SuMk\/pKUlPwTvVtWvOltwIT0p38DSSo+PcK3tCeAkzsiqLlzbxkCxptb+pl28Ti4Wh2jz6Ruk8+\/c5I+PdVANCwFHL8uW6fFYH0r70fEcER+5yU\/nE1wqJI34Qf25+FUda9Rr2BibPstIpiZdc\/LhJ5OiLMBgpfPiXK9GibKDktOnwLhqgpSY25zp+mo\/wARPz\/Ulus8Jp+NBiuolRyha3FFRTwq2wDnHMiqKPpSwvRmnRBzxoCs9svqP7VZ9VM9vpyWkDJSAob9ygaz2J7t7FCcyCexSCR3gY+lOXOEG850oUxXKlRpfTqZqHR9iIwIRHiHV\/trEdE2UnPZujw7Q1QUpMbc50nZqJ\/aPST38ibN+o9\/iGvRomyg57N0+HaGqClGNucz6aj\/ABEnrvabfbNOzjFjobUWsFZ3UeQ5net7TYI07ByMfdCtXWTwa02+nq4pCRv\/AMQPyFdK1tBi0xGh+gygfAVpO5nziKoG0EKMgPmfF6ANjn5GfzZz\/tNTCm1P\/k1bVgktkqwO4OEVV3RBctMxsDJUwsf5TXF02yLhov0Qqxxpdbz3ZJ3+Napst+sWsuKrh5qfidi0vpk2mK6kghTSc4PXGD8a3Kn9GSi7ZfRXBwuxHFNqSefPI+ZHuqgpGFmInRRbHTVukUpSllZ4pIUkpUAQRgg9a5T+l7LIyV29tJ\/qyUfIiutStBI0iMiv3heQmptPW+3iImG2tLkh4I3WTt4eYruJ0VZE5yy4r2un6Vr37841bZY3PsyXcDmN85\/yfCqeqs7BRnOOlQpNUfdFhYe0m3mNJ2N3gebjh1I3SoF1Q9o3xzqdF7XDvUidZ2FBiXhAS+nhTxeeOeevWrhyzW16aqY7DacfVjKlji5AAbHboK9uNqi3OAYbyOFvmnhAHAe8eZoVwNc5lTZqjd2wtpYTh\/YN9uqiu63XsG1YPYR84x3dB86yuWHTlgjGVLb7Th5F9XEVHuCeRPur4TZdSQUBm33lssp2SH05I80mvuLpLtZnpl5lrnOA5Sgn1QOmf2bCtv1y6RRTPCnvc2zmHTsNy53Jy9yWA2yBwQ2ykAJTvvjw7\/E1VV4lISkJSAABgAdK9qTNiM7aVIU1tOPqi3LuNlcS0PvmT2qNtyRzHln4VmsFzTdbQy\/xhToSEujqFDn58\/fXSqRlsSdK3czoTK3rfKVh5lIzwHw+nlTLvDDJVb0n7XhofgyupWhEvdsmthbM1ncfhUsBQ2zyNeSb9aoqCt2exsM4QsKJ9wpMJ0tLdqlr3Fp0Kkbm+vVF5RaYij6FHVxSHk8lHu+g8c91evXW6alWY1naXGhkYckujBI64\/hv7KoLVao1ohpjx0+K1nms95qgGDM6znY\/Ubq93iefQTaaaQy0hptIShCQlKR0A5CvulKlOyKUpRCYJscS4L8dQyHW1I8xiuHoeR2ti7A7KjuqSQe47\/U1R1LWpX2ZrSfAVs3MHbN7czz281eVUXNSJy1d2qj+XrpKmlKVOdUUpSiEl9bAvtW+CDvIkjAHM9P\/ACqnAAGAMAVMPg3XXTSEklm3N8SsYI4jv9R5VUVRsgBOajvVHfrb0nypIWgpPIjFTWiFFmJMt7gIdjvnIPcdvmk1T1KXRK9PajReGmVLiShwSAgcievwB8++hMwVmV9xlqcBr4Gfcc\/ZOuHo4GGbkjtB\/a3PzCvOqio673KHc77YnIDweUl\/1wkHKQVJ5j2ZqxocaEw2Yi7qpyB++cUpSpzqilKUQnOes7b1+j3YuqC2Gy2EY2P4v3q6NKVpJMVVC3txilKVkaKUpRCKUpRCK8UkKSUqAIIwQete0ohONJ0nZZKuIxA2r+qUUjy5V7H0rZY6wpMILIOfvFFQ8icV2KU2Nucj2FK98I9J8oQhtAQ2kISkYCUjAFfVKUstFKUohFKUohFTWr2HmBEvMUfewl+t4pJ6+Gdv7xqlr4dabeaU06gLQsYUlQyCKZTY3kqtPtEKzHDltTobUpk5Q6kKHh4VnqRhPO6RuCoMzKrdIXll7mEHuP186q2nW3m0uNOJcQoZSpJyD76GW2mkWjVxixyYaifdatyntWyA7LdOzY2GR6x6Csz77UZlbz7iW20DKlKOAKlFF7WNzCQCi0RlcRJ2Lp3H7fYPbWqt8zpCtVwjCveOk3tIW9bMFy4yBmTOV2hJ58PMeeSfeKoa8SkJSEpAAAwAOle0rG5vHpUxTQKIrxSQpJSoAgjBB617SslJpsWi3RX+3jwmWnM5CkJxjbG3dsTW5SlaSTMChcgIpSlZNilKUQilKUQilKUQilKUQilKUQilKUQilKUQilKUQilKUQilKUQilKUQmGTFYmMKYktJdbVjKVcjip46M9HWo227y4YV0Bz8iKUpgxGklUo06mbCfSNGIedSu5XOVN4f0VkjPxJqhYYajMoZYbS22gYSlIwBSlBYnWFOilPuiZKUpSysUpSiEUpSiE\/\/2Q==",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENIMIENTO CORRECTIVO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:27",
    "ubicacionGPS": "LatLng(lat: -23.3352712, lng: -69.8453553)",
    "horaLlegada": "12:42",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/05/2026 13:27:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69253200

[15/05/2026 13:27:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69253200', 'EP2394', 1, 21773342, 46098, NOW(), 
				'08:00', '12:42', '13:27', 4, '01 Rgom 2393
01 Rgom 2428
01 Rkit 2577
Mantenimiento, ajustes, y
limpieza', -1, 
				'', '','1','173389',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778866060.png', '', null, 'COMPLETADO','LatLng(lat: -23.3352712, lng: -69.8453553)' )
				
[15/05/2026 13:27:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200340

15/05/2026 13:27:40 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200340'                    
				WHERE idllamado = 12618			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


15/05/2026 13:27:40 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12618			
				
15/05/2026 13:27:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 13: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 = 12618
                

15/05/2026 13: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 = 12618
                

15/05/2026 13:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:27:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12618
            GROUP BY l.idllamado;
            

15/05/2026 13:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:27:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12618
            GROUP BY l.idllamado;
            

15/05/2026 13:27:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12618
            GROUP BY l.idllamado;
            

[15/05/2026 13:27: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;
                

15/05/2026 13:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

[15/05/2026 13:27: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;
                

15/05/2026 13:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

15/05/2026 13:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12618
                

[15/05/2026 13: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;
                

15/05/2026 13:27:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 13: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 = 12616
                

15/05/2026 13:27:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 13:27:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 13: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;
                

15/05/2026 13: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 = 12616
                

15/05/2026 13:27:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 13:27:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 13:27:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 13:27:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 13: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 = 12616
                

[15/05/2026 13:27: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;
                

[15/05/2026 13:27: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;
                

15/05/2026 13: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 = 12616
                

15/05/2026 13:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 13:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 13:27:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 13: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 = 12614
                

[15/05/2026 13:27: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;
                

[15/05/2026 13:27: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;
                

15/05/2026 13:27:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 13:27:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 13: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 = 12614
                

15/05/2026 13: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 = 12614
                

15/05/2026 13: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 = 12614
                

[15/05/2026 13: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;
                

15/05/2026 13:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 13:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 13:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 13:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 13: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 = 12614
                

[15/05/2026 13: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;
                

15/05/2026 13: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 = 12614
                

15/05/2026 13: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 = 12614
                

15/05/2026 13: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 = 12614
                

15/05/2026 13: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 = 12614
                

15/05/2026 13: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 = 12614
                

15/05/2026 13:47:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:47:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[15/05/2026 13:47:53] 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;
                

15/05/2026 13:47:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:47:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:47:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:47:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:47:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:47:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

[15/05/2026 13:47:53] 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;
                

15/05/2026 13:47:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:47:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13: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 = 12617
                

[15/05/2026 13:47:53] 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;
                

15/05/2026 13: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 = 12617
                

15/05/2026 13: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 = 12617
                

15/05/2026 13: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 = 12617
                

15/05/2026 13: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 = 12617
                

15/05/2026 13: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 = 12617
                

15/05/2026 13: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 = 12617
                

15/05/2026 13: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 = 12617
                

15/05/2026 13:48:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:04 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:04 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

[15/05/2026 13:48:04] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13: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 = 12617
                

[15/05/2026 13:48:04] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 13:48:04] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13: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 = 12617
                

15/05/2026 13:48:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:04 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:04 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13: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 = 12617
                

15/05/2026 13: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 = 12617
                

15/05/2026 13:48:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

[15/05/2026 13:48:06] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

[15/05/2026 13:48:06] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13:48:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

[15/05/2026 13:48:06] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

[15/05/2026 13:48:07] 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;
                

15/05/2026 13:48:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

[15/05/2026 13:48:07] 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;
                

15/05/2026 13:48:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

[15/05/2026 13:48:07] 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;
                

15/05/2026 13:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

[15/05/2026 13:48:07] 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;
                

15/05/2026 13:48:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[15/05/2026 13:48:07] 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;
                

15/05/2026 13:48:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

[15/05/2026 13:48:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 13:48:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13:48:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

[15/05/2026 13:48:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13:48:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

[15/05/2026 13:48:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

[15/05/2026 13:48:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13:48:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[15/05/2026 13:48:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13:48:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

[15/05/2026 13:48:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

[15/05/2026 13:48:09] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13:48:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

[15/05/2026 13:48:09] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

[15/05/2026 13:48:09] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

[15/05/2026 13:48:09] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13:48:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

[15/05/2026 13:48:09] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 13:48:09] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

[15/05/2026 13:48:09] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[15/05/2026 13:48:09] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13:48:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

[15/05/2026 13:48:09] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

[15/05/2026 13:48:27] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13:48:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

[15/05/2026 13:48:27] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13: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 = 12617
                

15/05/2026 13:48:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13: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 = 12617
                

15/05/2026 13:48:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[15/05/2026 13:48:27] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 13:48:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13: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 = 12617
                

15/05/2026 13: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 = 12617
                

15/05/2026 13: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 = 12617
                

15/05/2026 13: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 = 12617
                

15/05/2026 13: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 = 12617
                

15/05/2026 13: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 = 12617
                

15/05/2026 13:48:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

[15/05/2026 13:48:34] 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;
                

[15/05/2026 13:48:34] 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;
                

15/05/2026 13: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 = 12617
                

15/05/2026 13:48:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[15/05/2026 13:48:34] 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;
                

15/05/2026 13:48:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13:48:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 13:48:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12617
LIMIT 1;
        

15/05/2026 13: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 = 12617
                

15/05/2026 13: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 = 12617
                

15/05/2026 13: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 = 12617
                

15/05/2026 13:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                

15/05/2026 13:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12617
                
[15/05/2026 14:00: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;
				
[15/05/2026 14:00: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;
                

[15/05/2026 14:00: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;
                

15/05/2026 14:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:01:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 14:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:01:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 14:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:01:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 14:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14: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 = 12614
                

15/05/2026 14:02:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 14: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 = 12614
                

15/05/2026 14:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:02:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 14:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:02:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 14:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14: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 = 12614
                

15/05/2026 14: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 = 12614
                

15/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 14: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 = 12614
                

15/05/2026 14: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 = 12614
                

15/05/2026 14:02:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 14: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 = 12614
                

15/05/2026 14: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 = 12614
                

15/05/2026 14: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 = 12614
                

15/05/2026 14: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 = 12614
                

15/05/2026 14:02:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:02:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 14:02:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:02:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:02:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14: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 = 12614
                

15/05/2026 14: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 = 12614
                

15/05/2026 14: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 = 12614
                

15/05/2026 14: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 = 12614
                

15/05/2026 14:02:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 14:02:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:02:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:03:00 - logentry: =========================================
FECHA: 15/05/2026 14:03:00
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary--wmIEZurJkvrCPICJ6ZAF4zZyiDxmECoR5jBXEVsJ0xAhCzU_5e
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2565",
    "correlativo": "3",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mantenimiento, ajustes",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12614",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACGAQ8DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABJEAABAwMBBAcEBAoJAwUAAAABAAIDBAURBhIhMUETUWFxgZGxFCKhwRYjMvAVMzQ2cnOS0eHxByRCUmKissLSJWOCNTdDU3T\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAzEQACAQIDBQcCBQUAAAAAAAAAAQIDERIhMQQTMkFRImFxgZGx0aHBFEJS4fEjMzRi8P\/aAAwDAQACEQMRAD8A\/syIiAIiIAiIgC4rtc4bRb31Ux4bmN\/vO5BdqlK+P6Q6qZQk5pLeNqUf3ncwfgPPrUoJN5lFebhG0dXkhab3dZL7T01wAYysidJHGGY2W+8RnqPu9u5VamK7\/wBxLb\/+Y+kip1KdsmiGzYrSi3ez+yCIirNQREQBFmXW\/wBvtDSKiXalxuiZvcf3eKxxWamvrXCkgZbac8JJMhxHZuz5DxU1BvMonXhF4Vm+iKtFM\/Rq8tJkbqWoLzv2S12zn9r5L8C6XqwStbeGCro3ODW1MeAWd4x6+ZTBfRkd+48cWl119ipRcc12oKehZWyVLGwSAFjs\/az1BYX0hu13l2LJby2HePaJxu\/du6t64oNk514Qy1fRZlSimPwXquffNeYY+oRt4eTQvjrXqqmHSQXiOdwIzG9u4jxC7gXUhv5fof0+SoRTVNqqWmqvZL7RmheR7sgyWOPx3duSFRRSxzRtkikbIxwy1zTkHxXHFrUsp1YVOFn7REUS0IiIAiIgCIiAIiIAiIgCIiAIiIDyqZm01LLO77MTC87+QGVg6LhcbbNcJN8tbM57jjkCfnldmqpeh03WOzvc0N8yB817afgFPYKGMDH1LXHdjed59VNZQMz7W0JdFf1Mmo+t\/pEpf+zTH0d\/yVOpiH63+kSo\/wCzTD0b\/wAlTpPl4DZ\/zv8A2YREUDSFPXzUMkE4ttqjNRXvODsjIj7+34DmvupL3LSuittu96uqTgY39GDz7\/5rrsdigs9Pn8ZVSD66Y7y49Q7FYkkrsyznKpJ06btbV\/Zd\/sc9k02yhd7ZXO9qr3nadI47QYezPqt1EUG23dl9OnGnHDFBZ19rqKhtcrq5okjkaWiInfIeofv5LQc4NaXOIAAySeSlKBg1Tfn3OUE0FGQyCNw+27GcnxwfJSiub0RXWm0lCOr\/AOuY+mrZHUXeOku0cmGw9LBFI7DTk54eZx2HK\/obWhrQ1oAAGAByUxq5nsVVb7zGPfhlEbzni3jj\/UPFU7SHNDhvBGQpVHitIp2WCpOVPmvY+oiKo2nPWUNLcIDBVwtljPJ3LuPEKY6SfR1xbHI58toqHe5k5MR+\/mO1V65rhQxXKhlpJh7kjcZ\/unkfAqcZWyehRWpYu1HKS0+H3HQ1wc0OaQQRkEc19U3pWsngknsdafr6P8X\/AImfcjwKpFySs7E6VRVIYgiIolgREQBERAEREAREQBERAEREBga1cW6ckA\/tSMB81r0DQy3UzRwETB8AsbW35uv\/AFrFtUX5DT\/qm+im+BGaP+RLwX3J6zHp9a3ec7yxojzjuH+1VCl9GgzS3WuzkT1PEcDjJ\/3KoSpxWGy508XVt\/ULOvl3js1udUubtvJ2Y2Z+05aBIAyTgBSdA36TajfcpGZoKP3IWuAw53b558kik83oSrTcUow1enz5HdpmzSUkbrhcBt19Qdoudvcxp5dh6\/Jb6IoybbuydOmqcVFBERcLDA1fXS09tjo6YZnrn9E0DiRz88geK1LZQx223Q0kYA6NoDiB9p3MrBk\/6h\/SBHGd7KGHawOvH73DyVSrJZRSMtLt1JT8l5a\/UydUU\/tOnKxo4tZ0g\/8AE59AV+9Oz+06fopM5IiDSf0fd+S7qmIT0ssJGRIwtx3jCwdDTdJYCwn8VM5vhuPzTWB15bQn1XsUaIirNIREQEtftq16nt10YdmOc9BMcbuPPwP+VVKn9bUwn08+TGTBI14x34+a17dUe126mqP\/ALYmuPeQrJZxTMtPs1px62fydKIirNQREQBERAEREAREQBERAEREBPa2\/N1\/61i0ZakUmnnVBOOjptod+zu+K5NYR9JpupI4sLXD9oD0Kxr1qGlfpWGjimDqqeGMPa3fsDAJyeHLHiroxxJLvMFWoqVScm\/y\/JraMpjT6dicRgzPdIfPA+AC2JaumgOJqiKM9T3geqlaGxX6uoYIauuNvpo2BrIYvtEY\/tY+Z69wXfFom0MH1vTznrfJjf17sLklG7bZ2jKqqajCGi5ux46rvlMLS6lo6uGSWoPRno5GnZbzzv3Z4LUsUdDSWyCjpKqCYsb7zo3h207md3apmhsNtr9UVcEcBFFRt2XM23e+\/hxzkb88+S2KjRNpk96n6aleCC10chOD45XZYUsNyFN1pTdWyfLXp0yKFFJOk1BpomSd4uNvafecNzmD1HdvHcqO33CludK2opZQ9h4jm09RHIqtxtma6dZTeFqz6M6kRec0nRQSSDHuNLt\/YFEu0JzS\/wDWbzea4jc6YMbv5ZP8FTqc0NGG2F0mculnc4k9wHyVGp1OJmbZV\/RT65+oUvo8mCru1Cd3Q1GQMdpHyCqFLW4Cl19cIQQGzQ7YA6\/dP712OjRytlUpy77eqKlERVmoIi8KitpKQZqamGH9N4b6ocbSzZxak\/N2t\/VFfdNknT1ESckx\/NZeodR2ma0VVLDVtllkZstDGkjPfjC47RqyOmtVPRwW+qqZYmbLtkbvhn0VyhJw0MMq9KO0XxcvuWaKX\/D+op\/yfT7o9\/8A8pPzwg+mlSeFJR\/sn\/ko4HzZd+Ji+GLfkVCKY\/AOop\/yjUBj5fVA8PDC9qPTNVT1kVTPfKucxuDtkkgO7DkndjcuYY9Tqq1G+B+qKFERQNAXmZomzNhMrBK4ZawuG0R1gL0XO+gpZK6OufCDUxNLGSb8gH+Z810478joREXDoREQBEWJqa6zUNNHS0OXV1UdmJrRkgcz9\/kupXdiFSapxcmZ+oLtPc5ZrLaoxKQwmok4gADgPvx3KcpqSlqaW0wQxg1FTUuE7jknAIwO7B+CurDZorNQ9GPenkw6aQ\/2ndXcN6lNNW4jV8sL87FE6R4Gd2c7I9R5LRGSSaXI8qtSnKcXPWWXhmi\/X4lkEUT5DwY0uPgv2uW6Z\/BNZjj0D\/8ASVnWp68nZNmJoeIm1T1b8bdRO4kjqH8cqlWFo0tOmqfZO8Oftd+0flhbqlU4mUbMrUY+B8c0OaWuAIIwQeakp2u0pqBk8TSLZWnZcxvCN3YPj3EquWDrFlPNYJmSSxtkjIfGHOAO0DyHcT5pB526nNpj2Ma1WaN5eFb+Q1H6p3osGk1ha4bbT+0VDnTiIbbWRknPp8V4y6ukroZI7fZqmoY5pBe7cAOfAH1XVTlfQ49qo4eLXz9jq0T+brP1r1QqD02dQzWow2t9PFA2Q\/WyYJB3ZGN\/WDwWr9GbtV77hfpiD9qOIEA\/EDh2KU4rE7sp2etLdRUYN5eCKCoraSkGamphh\/TeG+qja6\/UEGsIblDMZ4GwlknRtOc4du34zyWzT6Ks8O+VktQSckyP5+GFw6kttJZ3W240kEcEdPUNEgYN7huI7\/snieaQw3sc2h13DE0kk0+p7nVddU\/+n2KomaeD35A9Ovt5L4JdZVh92GloR1nB\/wCXoqdpDmhw3gjIX1RxJaI0bmcuKb8siY+jN2q99wv0xB+1HECAfiBw7F70+irPCcytmqHcSZJOfhhUC46y60FA9rKqpZG93BvE8ccB3pjk8kcez0I9qS9c\/cw9TWy227TlQ6nooY5HFjWvDAXfaHM7+GVuWiEU9no4gMbMDAe\/Az8VhavcK6a12yM7XtEweccMcAc9xKqAABgDACSbwq5ylGO+k4rJJL7n1EWHqPUcNmpzHGQ+sePcZ\/c\/xH771BJt2RoqVI04uUnkbiLA0e+tqbZJWVlQ+Xp5CYw47mgE5x458lvpJWdjlOe8gpW1CLiqbtSUtfT0MjiZ6j7DWjO7rPx8l6vr6WOujoXzAVMrS9ke\/JA\/kfJLM7jj1OhERcJhFj3a+T2urZE211FTE5gcZYskBxJGzw7OvmuD6d0DN09FWRnq2W+PEhTUJPQoltNKLtJ2KdFMfT21nc2mrCeQ2G7\/APMn01jfugtVZIerZ8uGU3cuhH8XQ\/UU6mLF\/wBZ1DW3l+THAegps8AOZHh\/qK8avUl3lo5yywTRR9G7MkpdgDG88ByXFp76RttLGWynpo6eRznCZ5GXHOCTv5YxwU1BqLuZ6m0RnUikm0s9H5Fw97Y2Oe84a0Ek9QX89sdbPT6giuc+WwXCV7C4kYOTz7iQuy\/QagpLW+ouN2YWvOx0MQwHZ4g7hyz1r8VGjTHYTVmqkdPHD0giI91u7Lh6qUFGKzepVXnUqTTjFrDmV813ttPnpa+nYQcEGQZ8lmVWsLG2NzOnfMHDBEcZ59+AuTTthsdfaYKv2XpZC3Zk23k4eOO7OP4KggtlBTfiKKCM9bYwCq2oJ2NcZV6kU1ZJ+L+CJ03qCooKF9FS2yWtf0heCwkYBA4gA9S0K696jjjZJLFS22J7gGvlOTv34xvPfuXy\/Sv03qBl0pixzappEtPnGSOfzz15617WS1T3mdl8u8jJi4Zghbva0d3y81a8PFYxQVT+ypO68lbr1P39HL3WO2rhfngc2QZAPoPguW66StttstVVbc8szG5a57uBz1AKyU\/rSpEOn3wg+\/UPaxoHHjk+nxVcZyckjVW2elCnKTV3bnmemm7ZRMs1HUGjh6Z8YcZCwFx8VtgADAGAF4UFP7Lb6enxjoomswewYXQoSd2aqUFCCViX0QeihuFERgwVGSM9e7\/aqhS1txb9cV9KQQ2rZ0rT1nj1drvJVKlU4rlOy5U8PRtBcN5t4ulpqKPOHSN909ThvHxC7kUE7O5olFSTi+ZiaUrjVWdsEpPT0h6KRruIxw+G7wW2pS7iXTt+ZeIWE0dThlU1vI9ePiO49ap4J4qmFk0EjZI3jLXNOQVKa\/MuZRQnlu5ax9uTPOuqm0VDNVPIxEwu358OCg66Av0\/LeLi\/pKyveGwgncxuQcgdzcdyvqymZW0ctNJ9mVhaSOWea\/m8tDVXC7Os9FVSVFPA8tiMhOwwc+GcDiM8\/FWUrGXbsWSte+S8f4NzScEtxuf4Sl\/E0cDaaEHB3huD8Mn\/wAlV1dZTUMJmqp2QsHNxxnu61MUmmr\/AE9MKVt3jp4ADugBBz34B+K66bRdEJBNX1E9dJjeZHEA\/P4rk8Ld2ydDewhhjDPm2zwqNQ196kNLp+neG5w+qkbgN7ur17Fy3WwwWXT1TUyO9qrZdlpmk37OSM4z47+KsIYIaaIRQRMijbwawYAWPq6mnq7E6KnhfK\/pGnZYMnikZ5pLJHatB7uU5u8rengjQtEApbPSQg52YW5PWcb11ucGtLnEAAZJPJedKx0dLCx4w5rGgjqOFj6vrzSWV0LAXS1Z6JoGeB4\/Dd4qtLFKxplJUqV3yRxadY2736uvjsuYx3RU+0OAxx7N2P2iqYwxOmbMYmGVow15aNoDqBXNZ7ey2WuCkaMFjcvPW47yfNdq7N3eRyhTwQWLV5vxCIigXhERAEREBx3hpdZa5rQSTTSAAc\/dK4NHkHTFJg8NvP7bltOaHNLXAEEYIPNSNJO\/R1e+jrNp1tqHbUUwBOweoj78MqyOcWjLVe7qxqPS1vA99R4ud\/tloBy0OMsoG\/d\/IHz86cgEYIyCpbT7hddT3K6g7UUeIoTyx1jwb8VUSSMiYXyPaxo4lxwAk8rRGz9rFU6v6LIkxjSWoDnItlcd2OETv4eh7Fu3m8QWi2uqnEPc4YiYD9snh4c1jX6\/UVwifaaKn\/CM0u4Fn2Wu5HPPHZu7ViU9K+wXOnl1BTSSwBuIiHB7WH+HV6qzDis5a+5kdbdNwp8PXlG5vWWxGuDrrem9PUVI92N\/BjSOru8u9ebrZdtOVBntLnVlESS6lcT7g7BzPaN\/WqOkr6OubtUtTHMP8DskeC\/c9VT0zdqonjiHXI8N9VXjlfM1LZ6eBNPPqZdv1Ta67DHTezTZ2TFP7pB7+CzKp51FqyGmieHUduIfI4EYc7j47wB5rlvtXRahqRRWqhFVVEjNVgtDB38x37urK6odF1FJGHUd5mp5se9sAhrj4Ebs96mlGOejM0p1avZSxRTzayv3fwViKY9g1fANmK6U0zRw22jP+n5pjWY3Zo3Y57t6rwd6Nf4h84P0\/casY+hq6G+Qx7RpnbEn6JO71cPEKlY9skbZGODmuALSOYUnW0WrLhRyUtQ2kdFIBtAEDgc\/JcNrrNRsndY6eaCOSlBGJQM4B5Hn+5WYLx10M6r7uq3hdpd3MvEUjUQaijbtV2oaOlHVkNx\/lCzZ7hUwZB1YHkco43O+OMKKp35lktrUdYteNvkvJoY6iF8MzA+N4w5rhuIU67Sc9G977PdZqRrznoiSW\/fippt2v9RKY6KsrKkg4OzHw9UZd9RitZStqpX1D9wjBa45PX1ePBTVOS0ZmqbXRqWcoPx\/c6LnDdpLhHam3eWtqXEh8bHEMaO34qzs1ogs9A2CJoMhAMsnN7v3dS59P2JtogdJKRJWTDM0mSfAE\/crYUJzvkjTs2z4XvJavzsERFUbQiIgClpSbxrmOLJMFtZtEEbtv+ZH7Piqlc9NQUtJNPNTwiOSodtyuGfeP3J81KLtcpq03Oy5XuzoREUS4IiIAiIgCIiALN1DJDFYaySeNkjRGcNeMjaO5vxIWkpjW8rn0VJQsOHVM4HgP4kKUFeSKNolhpSZxWfR0FXaaerkqZ4J5W7X1ZwME5HEZ4Y++9dzNDUDjmoq6qY9rgPkqSNjYo2xt+ywADuCz5tQWiCR8ctfE18ZLXN35BHEKeObeRStm2eEVjSOiittHbmFlHTMhB47I3nvPFe8sUc0bo5Y2yMcMOa4ZB8Fjy6vscY\/LNs9TY3H5LkOtqeU7NFb6upd2NA9MqOCbzsWb+hFYVJeX7HtVaKs9Q4uayWAk5+qfu8iCvxFoazxkF3tEvY+T9wC8\/wvqis\/JLKynb1zu3jzI7OS+fgvVVbn2m7x0zTyhG8eQHqp9payM7VFu8aTflb3KCnpqO204jgjjp4h1bvM81zT3+00\/wCMuEGepr9o\/BZLdEU8pD664VVS8DjkD1yfitCDStkpzltCxx65HF3wJwo9jm7l6ddq0Ypefwck+uLPFno3TTn\/AAR49cLxGrqyoP8AUrDUzDk4k\/IH1VFDSU1MMQU8UX6DA30Xsl49Du7rvWdvBfJL+0awrnYjpqehYeDn4J+foueo0bcq5zqmruzX1OMNww4893LsVgibxrTI49ljLjbfi\/g\/m8domtsjm3Sw1FZl258Upx\/lB9QtCG40MP5JpGSQ8AXMJOe8tKuEUnVvqiqOxYOGX0V\/UlHRanvUboi2K1U2SCBkPI9fTK2bRYqKzRFtOzMjhh8rt7nfuHYtJFBzbVjRChGLxPN9WERFAvCIiAIiIAiIgCIiAIiIAiIgCIiALOuVnjuVZQ1L5XMNFJ0jQB9re07\/ANlEXU2s0RlFSVpGis6SwWmWZ00lBC6R7i5ziOJO8lERNrQSjGXErnrFZ7ZD+Lt9M3fnIiC6w0NGGgAdQREu2FFR0R9REXCQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "DANIEL FUENTELAZAR",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTA",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "14:03",
    "ubicacionGPS": "LatLng(lat: -23.3352783, lng: -69.8454012)",
    "horaLlegada": "12:44",
    "horaDespacho": "13:27",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 15/05/2026 14:03:00
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary--wmIEZurJkvrCPICJ6ZAF4zZyiDxmECoR5jBXEVsJ0xAhCzU_5e
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2565",
    "correlativo": "3",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mantenimiento, ajustes",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12614",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACGAQ8DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABJEAABAwMBBAcEBAoJAwUAAAABAAIDBAURBhIhMUETUWFxgZGxFCKhwRYjMvAVMzQ2cnOS0eHxByRCUmKissLSJWOCNTdDU3T\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAzEQACAQIDBQcCBQUAAAAAAAAAAQIDERIhMQQTMkFRImFxgZGx0aHBFEJS4fEjMzRi8P\/aAAwDAQACEQMRAD8A\/syIiAIiIAiIgC4rtc4bRb31Ux4bmN\/vO5BdqlK+P6Q6qZQk5pLeNqUf3ncwfgPPrUoJN5lFebhG0dXkhab3dZL7T01wAYysidJHGGY2W+8RnqPu9u5VamK7\/wBxLb\/+Y+kip1KdsmiGzYrSi3ez+yCIirNQREQBFmXW\/wBvtDSKiXalxuiZvcf3eKxxWamvrXCkgZbac8JJMhxHZuz5DxU1BvMonXhF4Vm+iKtFM\/Rq8tJkbqWoLzv2S12zn9r5L8C6XqwStbeGCro3ODW1MeAWd4x6+ZTBfRkd+48cWl119ipRcc12oKehZWyVLGwSAFjs\/az1BYX0hu13l2LJby2HePaJxu\/du6t64oNk514Qy1fRZlSimPwXquffNeYY+oRt4eTQvjrXqqmHSQXiOdwIzG9u4jxC7gXUhv5fof0+SoRTVNqqWmqvZL7RmheR7sgyWOPx3duSFRRSxzRtkikbIxwy1zTkHxXHFrUsp1YVOFn7REUS0IiIAiIgCIiAIiIAiIgCIiAIiIDyqZm01LLO77MTC87+QGVg6LhcbbNcJN8tbM57jjkCfnldmqpeh03WOzvc0N8yB817afgFPYKGMDH1LXHdjed59VNZQMz7W0JdFf1Mmo+t\/pEpf+zTH0d\/yVOpiH63+kSo\/wCzTD0b\/wAlTpPl4DZ\/zv8A2YREUDSFPXzUMkE4ttqjNRXvODsjIj7+34DmvupL3LSuittu96uqTgY39GDz7\/5rrsdigs9Pn8ZVSD66Y7y49Q7FYkkrsyznKpJ06btbV\/Zd\/sc9k02yhd7ZXO9qr3nadI47QYezPqt1EUG23dl9OnGnHDFBZ19rqKhtcrq5okjkaWiInfIeofv5LQc4NaXOIAAySeSlKBg1Tfn3OUE0FGQyCNw+27GcnxwfJSiub0RXWm0lCOr\/AOuY+mrZHUXeOku0cmGw9LBFI7DTk54eZx2HK\/obWhrQ1oAAGAByUxq5nsVVb7zGPfhlEbzni3jj\/UPFU7SHNDhvBGQpVHitIp2WCpOVPmvY+oiKo2nPWUNLcIDBVwtljPJ3LuPEKY6SfR1xbHI58toqHe5k5MR+\/mO1V65rhQxXKhlpJh7kjcZ\/unkfAqcZWyehRWpYu1HKS0+H3HQ1wc0OaQQRkEc19U3pWsngknsdafr6P8X\/AImfcjwKpFySs7E6VRVIYgiIolgREQBERAEREAREQBERAEREBga1cW6ckA\/tSMB81r0DQy3UzRwETB8AsbW35uv\/AFrFtUX5DT\/qm+im+BGaP+RLwX3J6zHp9a3ec7yxojzjuH+1VCl9GgzS3WuzkT1PEcDjJ\/3KoSpxWGy508XVt\/ULOvl3js1udUubtvJ2Y2Z+05aBIAyTgBSdA36TajfcpGZoKP3IWuAw53b558kik83oSrTcUow1enz5HdpmzSUkbrhcBt19Qdoudvcxp5dh6\/Jb6IoybbuydOmqcVFBERcLDA1fXS09tjo6YZnrn9E0DiRz88geK1LZQx223Q0kYA6NoDiB9p3MrBk\/6h\/SBHGd7KGHawOvH73DyVSrJZRSMtLt1JT8l5a\/UydUU\/tOnKxo4tZ0g\/8AE59AV+9Oz+06fopM5IiDSf0fd+S7qmIT0ssJGRIwtx3jCwdDTdJYCwn8VM5vhuPzTWB15bQn1XsUaIirNIREQEtftq16nt10YdmOc9BMcbuPPwP+VVKn9bUwn08+TGTBI14x34+a17dUe126mqP\/ALYmuPeQrJZxTMtPs1px62fydKIirNQREQBERAEREAREQBERAEREBPa2\/N1\/61i0ZakUmnnVBOOjptod+zu+K5NYR9JpupI4sLXD9oD0Kxr1qGlfpWGjimDqqeGMPa3fsDAJyeHLHiroxxJLvMFWoqVScm\/y\/JraMpjT6dicRgzPdIfPA+AC2JaumgOJqiKM9T3geqlaGxX6uoYIauuNvpo2BrIYvtEY\/tY+Z69wXfFom0MH1vTznrfJjf17sLklG7bZ2jKqqajCGi5ux46rvlMLS6lo6uGSWoPRno5GnZbzzv3Z4LUsUdDSWyCjpKqCYsb7zo3h207md3apmhsNtr9UVcEcBFFRt2XM23e+\/hxzkb88+S2KjRNpk96n6aleCC10chOD45XZYUsNyFN1pTdWyfLXp0yKFFJOk1BpomSd4uNvafecNzmD1HdvHcqO33CludK2opZQ9h4jm09RHIqtxtma6dZTeFqz6M6kRec0nRQSSDHuNLt\/YFEu0JzS\/wDWbzea4jc6YMbv5ZP8FTqc0NGG2F0mculnc4k9wHyVGp1OJmbZV\/RT65+oUvo8mCru1Cd3Q1GQMdpHyCqFLW4Cl19cIQQGzQ7YA6\/dP712OjRytlUpy77eqKlERVmoIi8KitpKQZqamGH9N4b6ocbSzZxak\/N2t\/VFfdNknT1ESckx\/NZeodR2ma0VVLDVtllkZstDGkjPfjC47RqyOmtVPRwW+qqZYmbLtkbvhn0VyhJw0MMq9KO0XxcvuWaKX\/D+op\/yfT7o9\/8A8pPzwg+mlSeFJR\/sn\/ko4HzZd+Ji+GLfkVCKY\/AOop\/yjUBj5fVA8PDC9qPTNVT1kVTPfKucxuDtkkgO7DkndjcuYY9Tqq1G+B+qKFERQNAXmZomzNhMrBK4ZawuG0R1gL0XO+gpZK6OufCDUxNLGSb8gH+Z810478joREXDoREQBEWJqa6zUNNHS0OXV1UdmJrRkgcz9\/kupXdiFSapxcmZ+oLtPc5ZrLaoxKQwmok4gADgPvx3KcpqSlqaW0wQxg1FTUuE7jknAIwO7B+CurDZorNQ9GPenkw6aQ\/2ndXcN6lNNW4jV8sL87FE6R4Gd2c7I9R5LRGSSaXI8qtSnKcXPWWXhmi\/X4lkEUT5DwY0uPgv2uW6Z\/BNZjj0D\/8ASVnWp68nZNmJoeIm1T1b8bdRO4kjqH8cqlWFo0tOmqfZO8Oftd+0flhbqlU4mUbMrUY+B8c0OaWuAIIwQeakp2u0pqBk8TSLZWnZcxvCN3YPj3EquWDrFlPNYJmSSxtkjIfGHOAO0DyHcT5pB526nNpj2Ma1WaN5eFb+Q1H6p3osGk1ha4bbT+0VDnTiIbbWRknPp8V4y6ukroZI7fZqmoY5pBe7cAOfAH1XVTlfQ49qo4eLXz9jq0T+brP1r1QqD02dQzWow2t9PFA2Q\/WyYJB3ZGN\/WDwWr9GbtV77hfpiD9qOIEA\/EDh2KU4rE7sp2etLdRUYN5eCKCoraSkGamphh\/TeG+qja6\/UEGsIblDMZ4GwlknRtOc4du34zyWzT6Ks8O+VktQSckyP5+GFw6kttJZ3W240kEcEdPUNEgYN7huI7\/snieaQw3sc2h13DE0kk0+p7nVddU\/+n2KomaeD35A9Ovt5L4JdZVh92GloR1nB\/wCXoqdpDmhw3gjIX1RxJaI0bmcuKb8siY+jN2q99wv0xB+1HECAfiBw7F70+irPCcytmqHcSZJOfhhUC46y60FA9rKqpZG93BvE8ccB3pjk8kcez0I9qS9c\/cw9TWy227TlQ6nooY5HFjWvDAXfaHM7+GVuWiEU9no4gMbMDAe\/Az8VhavcK6a12yM7XtEweccMcAc9xKqAABgDACSbwq5ylGO+k4rJJL7n1EWHqPUcNmpzHGQ+sePcZ\/c\/xH771BJt2RoqVI04uUnkbiLA0e+tqbZJWVlQ+Xp5CYw47mgE5x458lvpJWdjlOe8gpW1CLiqbtSUtfT0MjiZ6j7DWjO7rPx8l6vr6WOujoXzAVMrS9ke\/JA\/kfJLM7jj1OhERcJhFj3a+T2urZE211FTE5gcZYskBxJGzw7OvmuD6d0DN09FWRnq2W+PEhTUJPQoltNKLtJ2KdFMfT21nc2mrCeQ2G7\/APMn01jfugtVZIerZ8uGU3cuhH8XQ\/UU6mLF\/wBZ1DW3l+THAegps8AOZHh\/qK8avUl3lo5yywTRR9G7MkpdgDG88ByXFp76RttLGWynpo6eRznCZ5GXHOCTv5YxwU1BqLuZ6m0RnUikm0s9H5Fw97Y2Oe84a0Ek9QX89sdbPT6giuc+WwXCV7C4kYOTz7iQuy\/QagpLW+ouN2YWvOx0MQwHZ4g7hyz1r8VGjTHYTVmqkdPHD0giI91u7Lh6qUFGKzepVXnUqTTjFrDmV813ttPnpa+nYQcEGQZ8lmVWsLG2NzOnfMHDBEcZ59+AuTTthsdfaYKv2XpZC3Zk23k4eOO7OP4KggtlBTfiKKCM9bYwCq2oJ2NcZV6kU1ZJ+L+CJ03qCooKF9FS2yWtf0heCwkYBA4gA9S0K696jjjZJLFS22J7gGvlOTv34xvPfuXy\/Sv03qBl0pixzappEtPnGSOfzz15617WS1T3mdl8u8jJi4Zghbva0d3y81a8PFYxQVT+ypO68lbr1P39HL3WO2rhfngc2QZAPoPguW66StttstVVbc8szG5a57uBz1AKyU\/rSpEOn3wg+\/UPaxoHHjk+nxVcZyckjVW2elCnKTV3bnmemm7ZRMs1HUGjh6Z8YcZCwFx8VtgADAGAF4UFP7Lb6enxjoomswewYXQoSd2aqUFCCViX0QeihuFERgwVGSM9e7\/aqhS1txb9cV9KQQ2rZ0rT1nj1drvJVKlU4rlOy5U8PRtBcN5t4ulpqKPOHSN909ThvHxC7kUE7O5olFSTi+ZiaUrjVWdsEpPT0h6KRruIxw+G7wW2pS7iXTt+ZeIWE0dThlU1vI9ePiO49ap4J4qmFk0EjZI3jLXNOQVKa\/MuZRQnlu5ax9uTPOuqm0VDNVPIxEwu358OCg66Av0\/LeLi\/pKyveGwgncxuQcgdzcdyvqymZW0ctNJ9mVhaSOWea\/m8tDVXC7Os9FVSVFPA8tiMhOwwc+GcDiM8\/FWUrGXbsWSte+S8f4NzScEtxuf4Sl\/E0cDaaEHB3huD8Mn\/wAlV1dZTUMJmqp2QsHNxxnu61MUmmr\/AE9MKVt3jp4ADugBBz34B+K66bRdEJBNX1E9dJjeZHEA\/P4rk8Ld2ydDewhhjDPm2zwqNQ196kNLp+neG5w+qkbgN7ur17Fy3WwwWXT1TUyO9qrZdlpmk37OSM4z47+KsIYIaaIRQRMijbwawYAWPq6mnq7E6KnhfK\/pGnZYMnikZ5pLJHatB7uU5u8rengjQtEApbPSQg52YW5PWcb11ucGtLnEAAZJPJedKx0dLCx4w5rGgjqOFj6vrzSWV0LAXS1Z6JoGeB4\/Dd4qtLFKxplJUqV3yRxadY2736uvjsuYx3RU+0OAxx7N2P2iqYwxOmbMYmGVow15aNoDqBXNZ7ey2WuCkaMFjcvPW47yfNdq7N3eRyhTwQWLV5vxCIigXhERAEREBx3hpdZa5rQSTTSAAc\/dK4NHkHTFJg8NvP7bltOaHNLXAEEYIPNSNJO\/R1e+jrNp1tqHbUUwBOweoj78MqyOcWjLVe7qxqPS1vA99R4ud\/tloBy0OMsoG\/d\/IHz86cgEYIyCpbT7hddT3K6g7UUeIoTyx1jwb8VUSSMiYXyPaxo4lxwAk8rRGz9rFU6v6LIkxjSWoDnItlcd2OETv4eh7Fu3m8QWi2uqnEPc4YiYD9snh4c1jX6\/UVwifaaKn\/CM0u4Fn2Wu5HPPHZu7ViU9K+wXOnl1BTSSwBuIiHB7WH+HV6qzDis5a+5kdbdNwp8PXlG5vWWxGuDrrem9PUVI92N\/BjSOru8u9ebrZdtOVBntLnVlESS6lcT7g7BzPaN\/WqOkr6OubtUtTHMP8DskeC\/c9VT0zdqonjiHXI8N9VXjlfM1LZ6eBNPPqZdv1Ta67DHTezTZ2TFP7pB7+CzKp51FqyGmieHUduIfI4EYc7j47wB5rlvtXRahqRRWqhFVVEjNVgtDB38x37urK6odF1FJGHUd5mp5se9sAhrj4Ebs96mlGOejM0p1avZSxRTzayv3fwViKY9g1fANmK6U0zRw22jP+n5pjWY3Zo3Y57t6rwd6Nf4h84P0\/casY+hq6G+Qx7RpnbEn6JO71cPEKlY9skbZGODmuALSOYUnW0WrLhRyUtQ2kdFIBtAEDgc\/JcNrrNRsndY6eaCOSlBGJQM4B5Hn+5WYLx10M6r7uq3hdpd3MvEUjUQaijbtV2oaOlHVkNx\/lCzZ7hUwZB1YHkco43O+OMKKp35lktrUdYteNvkvJoY6iF8MzA+N4w5rhuIU67Sc9G977PdZqRrznoiSW\/fippt2v9RKY6KsrKkg4OzHw9UZd9RitZStqpX1D9wjBa45PX1ePBTVOS0ZmqbXRqWcoPx\/c6LnDdpLhHam3eWtqXEh8bHEMaO34qzs1ogs9A2CJoMhAMsnN7v3dS59P2JtogdJKRJWTDM0mSfAE\/crYUJzvkjTs2z4XvJavzsERFUbQiIgClpSbxrmOLJMFtZtEEbtv+ZH7Piqlc9NQUtJNPNTwiOSodtyuGfeP3J81KLtcpq03Oy5XuzoREUS4IiIAiIgCIiALN1DJDFYaySeNkjRGcNeMjaO5vxIWkpjW8rn0VJQsOHVM4HgP4kKUFeSKNolhpSZxWfR0FXaaerkqZ4J5W7X1ZwME5HEZ4Y++9dzNDUDjmoq6qY9rgPkqSNjYo2xt+ywADuCz5tQWiCR8ctfE18ZLXN35BHEKeObeRStm2eEVjSOiittHbmFlHTMhB47I3nvPFe8sUc0bo5Y2yMcMOa4ZB8Fjy6vscY\/LNs9TY3H5LkOtqeU7NFb6upd2NA9MqOCbzsWb+hFYVJeX7HtVaKs9Q4uayWAk5+qfu8iCvxFoazxkF3tEvY+T9wC8\/wvqis\/JLKynb1zu3jzI7OS+fgvVVbn2m7x0zTyhG8eQHqp9payM7VFu8aTflb3KCnpqO204jgjjp4h1bvM81zT3+00\/wCMuEGepr9o\/BZLdEU8pD664VVS8DjkD1yfitCDStkpzltCxx65HF3wJwo9jm7l6ddq0Ypefwck+uLPFno3TTn\/AAR49cLxGrqyoP8AUrDUzDk4k\/IH1VFDSU1MMQU8UX6DA30Xsl49Du7rvWdvBfJL+0awrnYjpqehYeDn4J+foueo0bcq5zqmruzX1OMNww4893LsVgibxrTI49ljLjbfi\/g\/m8domtsjm3Sw1FZl258Upx\/lB9QtCG40MP5JpGSQ8AXMJOe8tKuEUnVvqiqOxYOGX0V\/UlHRanvUboi2K1U2SCBkPI9fTK2bRYqKzRFtOzMjhh8rt7nfuHYtJFBzbVjRChGLxPN9WERFAvCIiAIiIAiIgCIiAIiIAiIgCIiALOuVnjuVZQ1L5XMNFJ0jQB9re07\/ANlEXU2s0RlFSVpGis6SwWmWZ00lBC6R7i5ziOJO8lERNrQSjGXErnrFZ7ZD+Lt9M3fnIiC6w0NGGgAdQREu2FFR0R9REXCQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "DANIEL FUENTELAZAR",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTA",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "14:03",
    "ubicacionGPS": "LatLng(lat: -23.3352783, lng: -69.8454012)",
    "horaLlegada": "12:44",
    "horaDespacho": "13:27",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/05/2026 14:03:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69253200

[15/05/2026 14:03:00] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69253200', 'EP2565', 3, 21773342, 0, NOW(), 
				'13:27', '12:44', '14:03', 3, 'Mantenimiento, ajustes', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778868180.png', '', null, 'COMPLETADO','LatLng(lat: -23.3352783, lng: -69.8454012)' )
				
[15/05/2026 14:03:00] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200341

15/05/2026 14:03:00 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200341'                    
				WHERE idllamado = 12614			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


15/05/2026 14:03:00 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12614			
				
15/05/2026 14:03:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 14:03:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:03:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:03:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 14:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

[15/05/2026 14:03: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;
                

15/05/2026 14:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

[15/05/2026 14:03: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;
                

[15/05/2026 14:03: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;
                

15/05/2026 14:03:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 14:03:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 14:03:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 14:03:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12614
            GROUP BY l.idllamado;
            

15/05/2026 14:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12614
                

15/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 14:03: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;
                

[15/05/2026 14:03: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;
                

15/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 14: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 = 12616
                

15/05/2026 14: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 = 12616
                

15/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 14:03: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;
                

15/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 14: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 = 12616
                

15/05/2026 14: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 = 12616
                

15/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 14: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 = 12616
                

15/05/2026 14: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 = 12616
                

15/05/2026 14: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 = 12616
                

15/05/2026 14: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 = 12616
                

15/05/2026 14: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 = 12616
                

[15/05/2026 14:03: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;
                

[15/05/2026 14:03: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;
                

[15/05/2026 14:03: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;
                

15/05/2026 14: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 = 12616
                

15/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 14: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 = 12616
                

15/05/2026 14: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 = 12616
                

15/05/2026 14: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 = 12616
                

15/05/2026 14: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 = 12616
                

15/05/2026 14: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 = 12616
                

15/05/2026 14: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 = 12616
                

15/05/2026 14: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 = 12616
                

15/05/2026 14:03:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 14:03: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;
                

[15/05/2026 14:03: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;
                

[15/05/2026 14:03: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;
                

15/05/2026 14:03:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 14:03:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 14:03:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 14: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 = 12616
                

15/05/2026 14: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 = 12616
                

15/05/2026 14: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 = 12616
                

15/05/2026 14: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 = 12616
                

15/05/2026 14: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 = 12616
                

15/05/2026 14: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 = 12616
                

15/05/2026 14: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 = 12616
                

15/05/2026 14:03:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

[15/05/2026 14:03: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;
                

15/05/2026 14:03:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

15/05/2026 14: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 = 12615
                

15/05/2026 14:03:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

[15/05/2026 14:03: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;
                

15/05/2026 14: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 = 12615
                

15/05/2026 14:03:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

15/05/2026 14:03:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

[15/05/2026 14:03: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;
                

15/05/2026 14: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 = 12615
                

15/05/2026 14: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 = 12615
                

15/05/2026 14: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 = 12615
                

15/05/2026 14: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 = 12615
                

15/05/2026 14: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 = 12615
                

15/05/2026 14: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 = 12615
                

15/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

15/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

[15/05/2026 14:03: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;
                

[15/05/2026 14:03: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;
                

15/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

15/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

[15/05/2026 14:03: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;
                

15/05/2026 14: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 = 12615
                

15/05/2026 14: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 = 12615
                

15/05/2026 14: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 = 12615
                

15/05/2026 14: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 = 12615
                

15/05/2026 14: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 = 12615
                

15/05/2026 14: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 = 12615
                

15/05/2026 14: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 = 12615
                

15/05/2026 14: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 = 12615
                

15/05/2026 15:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 15:20:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 15:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 15:20:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 15: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 = 12616
                

15/05/2026 15:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

[15/05/2026 15:20:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 15: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 = 12616
                

15/05/2026 15:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:21:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:21:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:21:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:21:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:21:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

[15/05/2026 15:21: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;
                

[15/05/2026 15:21: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;
                

[15/05/2026 15:21: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;
                

15/05/2026 15:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15:21:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:21:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:21:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 15:21: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;
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15:21:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 15:21: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;
                

15/05/2026 15:21:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 15:21: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;
                

15/05/2026 15: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 = 12616
                

15/05/2026 15:21:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 15:21: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;
                

15/05/2026 15:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 15:21: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;
                

15/05/2026 15:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

[15/05/2026 15:21: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;
                

15/05/2026 15:21:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:22:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:22:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

[15/05/2026 15:22: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;
                

[15/05/2026 15:22: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;
                

[15/05/2026 15:22: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;
                

15/05/2026 15:22:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:22:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:22:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:22:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:22:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:22:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                
[15/05/2026 15:22: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;
				
[15/05/2026 15:22: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;
                
[15/05/2026 15:22:09] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

[15/05/2026 15:22: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;
                

[15/05/2026 15:22: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;
                

15/05/2026 15:22:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:22:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                
[15/05/2026 15:22:09] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/05/2026 15:22:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:22:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

[15/05/2026 15:22: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;
                

15/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 15:22:13] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 15:22:13] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 15:22:13] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15:22:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15:22:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:22:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 15:22: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;
                

15/05/2026 15:22:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:22:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 15:22: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;
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

[15/05/2026 15:22: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;
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15:22:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

15/05/2026 15:22:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

[15/05/2026 15:22: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;
                

15/05/2026 15:22:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

[15/05/2026 15:22: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;
                

[15/05/2026 15:22: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;
                

15/05/2026 15:22:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

15/05/2026 15: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 = 12615
                

15/05/2026 15: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 = 12615
                

15/05/2026 15: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 = 12615
                

15/05/2026 15: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 = 12615
                

15/05/2026 15:22:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

15/05/2026 15:22:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12615
                

15/05/2026 15:22:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12615
                

15/05/2026 15:22:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12615
                

15/05/2026 15:22:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12615
                

15/05/2026 15: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 = 12615
                

15/05/2026 15:22:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

[15/05/2026 15: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;
                

[15/05/2026 15: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;
                

15/05/2026 15:22:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

15/05/2026 15:22:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

15/05/2026 15:22:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

15/05/2026 15: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 = 12615
                

[15/05/2026 15: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;
                

15/05/2026 15: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 = 12615
                

15/05/2026 15: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 = 12615
                

15/05/2026 15: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 = 12615
                

15/05/2026 15: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 = 12615
                

15/05/2026 15: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 = 12615
                

15/05/2026 15: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 = 12615
                
[15/05/2026 15:22:31] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[15/05/2026 15:22: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;
                

[15/05/2026 15:22:34] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 15:22:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:22:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15: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 = 12616
                

15/05/2026 15:22:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 15:22: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;
                

15/05/2026 15: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 = 12616
                

15/05/2026 15:22:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 15:22: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;
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15:22:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 15:22: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;
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

[15/05/2026 15:22: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;
                

15/05/2026 15:22:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 15:22: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;
                

15/05/2026 15:22:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 15:22: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;
                

15/05/2026 15:22:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15: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 = 12616
                

15/05/2026 15:22:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                
[15/05/2026 15:26: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;
                
[15/05/2026 15:26: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;
				

[15/05/2026 15:26: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;
                

[15/05/2026 15:26: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;
                

15/05/2026 15:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

[15/05/2026 15:26: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;
                

15/05/2026 15:26:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:26:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                
[15/05/2026 15:32: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[15/05/2026 15:32:56] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 20988335 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '20988335'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[15/05/2026 15:32:58] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 15:33:00] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 15:33:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 15:33:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

[15/05/2026 15:33: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;
                

[15/05/2026 15:33: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;
                

15/05/2026 15:33:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 15:33:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

15/05/2026 15:33:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 15:33:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

[15/05/2026 15:33: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;
                

[15/05/2026 15:33:12] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 15:33:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 15:33:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

[15/05/2026 15:33:13] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 15:33:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 15:33:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12623
LIMIT 1;
        

[15/05/2026 15:33:14] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 15:33:18] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 15:33:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12623
LIMIT 1;
        

15/05/2026 15:33:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12623
LIMIT 1;
        

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/2026 15:33:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 15:33:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12623
LIMIT 1;
        

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/2026 15:33:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 15:33:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12623
LIMIT 1;
        

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/2026 15:33:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 15:33:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12623
LIMIT 1;
        

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/2026 15:33:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 15:33:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12623
LIMIT 1;
        

15/05/2026 15:33:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 15:33:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 15:33:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 15:33:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 15:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 15:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 15:33:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 15:33:42 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12623
LIMIT 1;
        

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/2026 15:33:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 15:33:42 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12623
LIMIT 1;
        

15/05/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 = 12623
                

15/05/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 = 12623
                

15/05/2026 15:46:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:46:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:47:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:47:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:47:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:47:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:47:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:47:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:47:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:47:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:47:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:47:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:47:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:47:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:47:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:47:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:47:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:47:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:47:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:47:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:47:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:47:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:48:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:48:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:48:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:48:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                
[15/05/2026 15:48: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[15/05/2026 15:48:21] 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;
                

[15/05/2026 15:48:23] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12621
            GROUP BY l.idllamado;
            

[15/05/2026 15:48:25] 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;
                

15/05/2026 15:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:49:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12621
            GROUP BY l.idllamado;
            

[15/05/2026 15:49:26] 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;
                

15/05/2026 15:49:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12621
            GROUP BY l.idllamado;
            

[15/05/2026 15:49:29] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 15:49:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12621
            GROUP BY l.idllamado;
            

15/05/2026 15:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:49:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12621
            GROUP BY l.idllamado;
            

15/05/2026 15:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:49:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12621
            GROUP BY l.idllamado;
            

15/05/2026 15:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:49:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12621
            GROUP BY l.idllamado;
            

15/05/2026 15:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:49:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:49:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:49:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12621
            GROUP BY l.idllamado;
            

15/05/2026 15:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:49:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12621
            GROUP BY l.idllamado;
            

15/05/2026 15:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:49:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12621
            GROUP BY l.idllamado;
            

15/05/2026 15:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:50:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12621
            GROUP BY l.idllamado;
            

15/05/2026 15:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:50:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12621
            GROUP BY l.idllamado;
            

15/05/2026 15:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:50:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:50:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12621
            GROUP BY l.idllamado;
            

15/05/2026 15:50:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:50:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12621
            GROUP BY l.idllamado;
            

15/05/2026 15:50:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:50:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:51:00 - logentry: =========================================
FECHA: 15/05/2026 15:51:00
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-RWwVrY3FcLIj8GXhMz.BNiH4V_k_6OWPqv5T-8f3FNDEVF0ieNw
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76132593",
    "serieinterna": "EP2875",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "sin contador entregado en recepción\ngesta liparita",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12621",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACUANoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABFEAABAwMCAggDBAUJCQEAAAABAAIDBAURBiESMRMiQVFhcYGRFKGxIzLB0QczQsLwFTZDUmJyc4KSFiQ0U2Oi0uHxsv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAwIDBgYCAgMAAAAAAAABAgMRIRIxBEFREyIyYXGRgaGxweHwM0IUI1Jy0f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREARFQX3UxtNW2mgpTUyBvSSgEjhZv4bdm66ouTsiupUjTjqk8F+ii26vhudDHV056jxyPNp7QVKXGrE01JXQREQ6EREBmLjqia26nbQzMjFH1Q52CHDiA62c9h\/FaYEEZByCsXe7c256vkpHbOlpMxH+0BkfRXOkq81llZFI49PSnopA7mMcvlt6FWzitKaMNCrLtZQltd2+HIvERFUbgiIgCIiAIiIAiIgCIiAIiIAiIgCIiALLwtE36QqpsgBaylwAe0EN9+ZWoWYj6n6RJe3pKb22H5KcOfoZuI\/p\/2RytAfYdUTWg5+Fq8ywdwOM\/QEegWsWa1mx8FPR3SH9bSTjG22D3+oHutFDKyeFk0ZyyRoc0+B3XZ5SkcodyUqXTK9Ge0RFWagiIgMxWdT9IlBj9umOfZ\/5LlKDYNZNnzw0lzyH9wf8A\/cHycV1um2u7URsTERn\/AFKz1FaxdrRLA0ZlZ14v7w7PXl6q69rX5o87Q2puO6ldey+paIqbS90dc7U0TE\/E056OXi5kjkT5\/XKuVU1Z2ZupzU4qS5hERcJhERAEREAREQBERAEREAREQBERAFmKz7P9IVCSNpKYjPjh\/wCS06zF9+w1bZp8ffPRjJ254\/eU4bszcTiKfRr6ltqCn+KsFbF\/0i4ebesPouGlak1WnKRzj1o2mM\/5TgfLCt3AOaWncEYKzWhSW2upgPOKpcPkPyK6swYljiIvqmvbJpkRFWaQiIgMxdf59Wr\/AAj+8tOsxdf59Wr\/AAj+8tOrJ7IzUPFP1+yMjUCXTWpvj5HtNFcJC2TAwGE75Plufda0EEZByCoV4tjLtbJaR5DS4ZY4\/suHIqu0pcnz0jrbVZbWUXUe13MtGw9uXt3o+9G\/QjD\/AFVNHJ5XrzX3L9ERVmsIiIAiIgCIiAIiIAir7reqG0RF9TKOMjLYm7ud5D8VVUNTfr3Ww1YaKC3scHcDt3SjPv8AQeakotq5TKtGMtCy\/I0qIiiXBERAFl9bYhjt1aRnoKkdnr+6tQqDWkJl05K4DPRPa\/54\/FTp+JGfilejL92L9ZjR\/VqbvGOTanb3P5K5pa+nZaaWqqKiONskLXcTnBoJ4clZC06korVXXSaRkkjaqoLoxEOQy453I7wpRi2mkVVqsI1Kcm+v0NrcKoUVvqKlxx0UbneoGyqtJ3Wqu1BPNVODntmIGG4wMA4VLe9UT19onihtVRFBJhpqH5wBnyxvjHNRtMTX6OglbaaSGWJ0p4pJCNnYGw6w7PqpKn3HcqlxSdeKjdq3JM\/QEWKpb1qauuM9DAaQTwZ424GBg4O\/mp3SazZ\/Q0cmfEbfMKDptbtF8eKjJXUX7HysPS\/pDoW7ERU5yM+D\/wAwtQvz9tdfI9UmaW3skrWRYMLDtjA32J8FcnVlbBtV2Crj7nDOCfUKU4N2sU0OIhHU5XV2+TNOstqCB9musOoaUZbkMqWD9oHbP8doC7wa3tEruGXp6c9vSR5x\/pyrSOttl3gfAyogqWPBa6MOGSPLmopSg8ovnKnXjaElfl6kqnnjqqeOeFwfHI0OaR2hdFkrXUSaZu5s9ZITRTHippXDkT2Z+vj5rWqMo2ZZRqdpHOGtwiIolwREQBF5c5rGlz3BrRzJOAF6QBU2prtJabcDAC6oneI4wBnHef47SrlZSkY6+6wnq3nipLd1I8cnOHLz3yfQKcEr3fIz15NRUY7vH5Jdo0tBTuFZcj8XWv6znSHia0+Xb5laBEUXJyeSynTjTVooIiLhYERUN31Gaap\/k62wGrr3bcLd2sPj\/HmupNvBCpUjTV5FrXXCktsBmq52xNA2zzPkOZ5hZW53a46hoKhluo+joGsJkml2LuHfA9vH0U+26YdLN8ffZPjKt2\/RuOWM8Mcj5cloXRsdEYuEBhbw4A7FO8YvGTM41ay73dXTn8TEWexWuaxtu9znmljYHZj4sNaAcY7zyHIhUVBRGWoonggCpquiDCM4ALTn\/u+RUiGesltslnj42R07pZ5nDY8IGMEZ787eIUrTMfT3u2R\/sxMfK4cjnLsfRq05V22eRaE3CKjbb3xc0utjjTkm5GZGeu66aOg6HTcBIwZS559yB8gFw1xIxmn+FzsOfK0NHfzP4KYXstukuKPcRUfVI7Tw8\/dZ\/wCiXmerhcTKb5RMhZK18Opo7i7PQVtRJEXY7XEH03c0r9GWIbZzLoFkjB9vGXVDSO7O4\/0gHzAWostybdbXDVjHE4YkA7HDmu1c5XoR4O8O5Lmr++5T209Pry5y\/sxRBg8D1R+BWnWY0n9vcrzWH+kqMAdwy4\/iPZadQqb2L+FzT1dW38zjUUlNVsLainjmaRjD2A\/VU9Xo60VHWhjfSyDcPhedj2bHI9sK+UK4XegtcfHV1DGHsZzcfIDdci5cidWFJq9RIyd109f2UYp+nFyp2HqA\/fYe8Z35dmSPZWmlL1PUxvt1fHI2ppW7ve0jLf7WeR81ydqK83TIs1qe2MjaeYY9Rnb5lcpdNVVRx1d\/vAYwnL2xENHLvOB8irnlWkYIrTU10Ltc77W9WXddqS02\/ibNVsc9u3Rx9Z2e7bl6rjbNU0F1rTSQNla854S9oHEANzzWOr7laaVpp7LRMceTqqdvE47fsg8vb0Uiy2+9SS9LQU5he8dasqW74\/s5H0yfFOyio3ZxcZUlUUY5Xln5\/qN1WXCjt7OOrqY4QeXE7c+Q5lUEmqqu4zmnsNvdORsZpRho9Oz1Pou1Ho+lbP8AE3KeS4TncmTZvt2+pWgjjZEwRxsaxjeTWjACr7q8zZatU3ele7\/8MxHpWsuM4qL9XmfByIYjho+mPQeq08cbIo2xxt4WMAa0dwC9Ioyk3uW06MKfh3ZW6grzbrJU1DXFsnDwsI5hx2B9OfouGlba23WOHLcSzjpZMjfJ5D0GPmoOtCZxbbcMj4qowceGBz\/zLTNaGtDWgAAYAHYpPEF5lUe9Xb\/4q3vk+oiKs1BEWc1Pc5uKKzW85q6vYkHHA38PyClGOp2K6tRU46meLxf6mprDZ7I3pKlwIkmB2j78H8ezzVlZLHBZ6c4+1qZN5Zjzce7yXuz2Wls1KIoGZkcB0kh5vP5eCsV2Ula0diqnSk5dpU3+n71CqdRXkWigzHh1VMeGBmM5O2T6Z+is5ZWQxPlkcGsY0uc49gHMrLWeF+or1Je6lp+Fgdw0sbidiMb\/AI+Z8Eglu9jteclaEN38vMzknxNjbW0lSMyVlMw78wSQTnt26w8wrvQ9Nm4VlV2RRtgB7Cds\/wD5HuvGtYYBfbfJKRwvaGyDl1Q7nn1PsrDRDGwWCapkP35XOc7twAP\/AH7q+Ur079TzaNPTxWjlG\/78yJrDprpdKa00rXPfHG+VwA5nGQPl81Gmu7rxY6CzUzXGqe5rJgR90Mxv2A52PoVZ6UYbhX3C+SNcDNJwRcXY3\/5wj0WgioKOCofURU0bJX\/ec1uM8\/zKg5KPd6F8aMq16idlL6cv3zPdPTx01LHTRt+zjYGNB32AwslNJU6Puc\/Rwukt1Xl0fAP1b+wfh4jHctkuNTPT01O6WqkZHE37znnAVcZWNlWkpJNOzWzKTRtBUUVqe+dzSKh\/SNaBuOzJPjgFWVyvVBamZq5w12MiNu7j6Kkm1BX3h5pdO0zgxuz6mRuGtHhnl9fBSrfpWjpXuq7jJ8bUk8TpJfuj0PPzPyUms3kUU5vQoUVdLm9vyQjdb9qE8Fqp\/gqU7fEScyPA\/l7qZQaUt1Bmqr5Pi5h1nSTnqjxwfxyvFy1fTU8gpLXEa6oOzRGMsB7hj73p7qJHYLzfZGzXyqMMGcinZz9hsPPcqWbdEVd1yx35fJfYl3PWNJSuFNbWfGznqjg+4D6c\/T3VX\/s\/ftQ1AqbrMKaPsYeYHg0cvXdayhtVDbWBtJTRxnGC4DLj5nmVMUdaj4UXvh5Vf5pY6LYqLdpe1W0teyn6WVv9JKeI+3Ieyt0RVtt7mmEIwVoqwREXCYREQGY1WRTXO0V0mOhimw8924P5+y0zXBzQ5pBBGQR2rjWUkFdSvp6hgfG8YI7vEeKzkVLqOwZiowy40TfuMeQHtHy9t1ZiSS6GV3pVHK10+nI1S41VXT0UDp6mVsUbebnFZWTXNQ0vp\/5IeyracBheTg+Ixn0VJFcWVtWam+srKrhOWQxjDB8\/p7qSpPmVVOOprEMv5L1NQNZ0rzPJFSTOpYWEmc7BzuxoHj7+C86Vt0zzLe68Zqqs5ZnsYe0d2foAs\/d7vDdZKOhorfKylgdxvp2Nw5\/ljPZnfxV63U11c0Cm01UBjRgZ4h7dVScWlhblMK8ZVL1JXttZPf8ABqEWYF01bL+qssDf77uz1cEbUay2Jo6TxHEP\/JVaPNGz\/JXKL9mfdUVE1dVU9ho3lsk\/XmcM4a3szjs5n0HerKzVVB9ta6Bj2igPA7I2zk9vbuCszpy7RjUNTNcomsqKp\/A2X9ljhsWjn3jt7F1steKC13u6l4Mj5iGk8y7fHzd9VY4Y0mSnXTn2nW\/wSX6yr1I6W63Kvro8Op6MthyD4kbeueX\/ALVlJVOpNE0Vvpzmprsta1uMkOcc++cLvT2qRugKgRt4pqkdOctOSA4Ef9o+fquGjqKa41jbjVbw0bBFAOzOOzyznzKm2tPoUKE+085r2u8\/I1ttomW63QUjOUTcZ7zzPzUh72RsL5HBjWjJc44AVXd9RUNpaWvf01RyEEZy717lTuoLrqHFTeJhQW8dYQA4JHec\/U+wVCi3lnpSrRh3Kau18vVkuu1Yx83wdlhNdVO2DgOo3x8fp4rhDpuqrJBXajrukDOt0IdhjfM8h6e65u1Da7Qz4CwUfxMzjjqAkOPnzd\/G6+MsF5vzxNe6swQ5yKePGfbkPM5KttpXT6mRy7R2fffReFevUkVGq7fQ8NDZ6T4p\/JrIW4ZnwwN\/T3XFtkvd\/cJL1Vmmpycimi\/LkPM5K0NvtNDa4+Cjp2xkjDn83O8zzUxV60vCaVQlP+V46LC\/JDt9pobXHwUdO2MkYc\/m53meamIig3fc1RioqyQREXDoREQBERAEREAWavt5q6iuFlsp4ql362Zp\/VDtGezxPZy5qZqe8G1W7hhBNTUkxxAcxtu70yPUhe7BZY7RRjiaDVSjMz+e\/cPBWRSS1My1JSqS7KDt1f2+J9slgprND1ftah\/6yZw3Pl3BWqKPcJjTW2pnGcxQveMeAJUG3J5L4xjTjaKskUGlya+7XS6O3a6ToojnIDc5Iz\/p5LTqg0VCItORPGPtnveffh\/dV+pVPEyrhVakm+effIXmSRkUbpJHBrGAuc4nYAcyvFRUQ0kDp6iRscbBkucVlZ6mt1hKaWi4qa2sP2srhvJ\/Hd7rkY39CVWsoYWZPZFbpO3T3G8GvJe2np5C\/iyRl57Bj0z4ea70+nrpJcjb5GGO3tqTO9xO0gyAO055bZ7ytPZrZFYra+Ey9XpHSOc8gYHIZPkAqm8a2paUOitwFTLy6Q7Mb\/5fxurtcpSek8\/sKVKlF1XZ7+vkaKoqaagpjLPIyGFgxk7AeAX55Q3OohdW0dsqoqWlklMnTSnhLG8tuZ7uWSoUk111DWAOMtVL2NA2aPLkApxsElBdLbFd3cUdU7gLWOJLcYAGfUclOMFBWbyU1eInXkpQVkufrg60FdSUcwZZ6GW43F2f95mbnB7S1vZ5nBVzFpu6XbEt\/uD+HmKeIjbzxsPQHzWjo6Ckt8XRUlOyFvaGjn5ntUhUyqdDdT4SytN38lhfn4kShtlFbY+Ckp2RbYLgOsfM8ypaIqm7m1RUVZIIiIdCIiAIiIAiIgCIiAIiIDLtabprp\/SAOht8eWDI+9t3eJPstQso+dlg1jLNVEMprgzqydgdkc+7t9wtS1zXtDmODmnkQcgqyfIy8O13k97u\/wBvkelFukbprTWRN+8+B7R5lpXeWaKBhkmkZGwc3PcAFS12r7VSjhgkNXMdmxwjOT58vbKjFNvBbVnCMWpux50XUxS6ehha9pkhLg9udxlxI29V6u2qqS3vNNTNNZVnYRx7gHxP4BUEOnbje659c+nZaopSSccXE7PPbP5KDcdN1tDXijomVNS4tDjI1nC058icepV+iDllnmuvXhRSjHG1\/wAFhOwVczanVF0jjYN2UULsubnlkDOPr4rrVa5gp4RT2mhDWNbhjpOqG\/5R+ai0Og6+bDqyeOmb\/VHXd8tvmtLb9J2m39boPiH\/ANafDseQxhJOC3ycpU+Jl4Vpvze\/77GPEWotTvbx9NJEdw5w4Ih+B+ZV5bNCQRYfcpend\/y4yQ335n5LWgADAGAF9VbqvZYNUOBpp6pvU\/M401JT0cXRU0EcLO5jQMrP64HR2+kq2jrQVLSCDg4wT9QFpljdR2u9yTTQxufWUdTK17QcEwuzgAZIwN\/Lv7SuU\/FdsnxV1RcYr2Ni0hzQ4bgjIX1cqZr2UsTX\/fawB2+d8LqqzUtgiIh0IiIAiIgCIiAIiIAiIgCIiAjV1BTXGnMFVEHtOcd7TjGQezms3XaRoKQh9PPVxCQ4LWyDGMjblnt7URXUm9jz+MhG17ZPVHo+3TucZpaqUMIwHSD8lf0Vpt9u\/wCEpI4jjHEBl2PM7oi5UbvYlwlOGnVbJMREVRuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "GESTA SERVICIOS A LA MINERIA SPA.",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "CAROLAIN",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28703\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28703\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28703\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28703\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:51",
    "ubicacionGPS": "LatLng(lat: -23.5936617, lng: -70.3924143)",
    "horaLlegada": "15:49",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 15/05/2026 15:51:00
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-RWwVrY3FcLIj8GXhMz.BNiH4V_k_6OWPqv5T-8f3FNDEVF0ieNw
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76132593",
    "serieinterna": "EP2875",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "sin contador entregado en recepción\ngesta liparita",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12621",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACUANoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABFEAABAwMCAggDBAUJCQEAAAABAAIDBAURBiESMRMiQVFhcYGRFKGxIzLB0QczQsLwFTZDUmJyc4KSFiQ0U2Oi0uHxsv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAwIDBgYCAgMAAAAAAAABAgMRIRIxBEFREyIyYXGRgaGxweHwM0IUI1Jy0f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREARFQX3UxtNW2mgpTUyBvSSgEjhZv4bdm66ouTsiupUjTjqk8F+ii26vhudDHV056jxyPNp7QVKXGrE01JXQREQ6EREBmLjqia26nbQzMjFH1Q52CHDiA62c9h\/FaYEEZByCsXe7c256vkpHbOlpMxH+0BkfRXOkq81llZFI49PSnopA7mMcvlt6FWzitKaMNCrLtZQltd2+HIvERFUbgiIgCIiAIiIAiIgCIiAIiIAiIgCIiALLwtE36QqpsgBaylwAe0EN9+ZWoWYj6n6RJe3pKb22H5KcOfoZuI\/p\/2RytAfYdUTWg5+Fq8ywdwOM\/QEegWsWa1mx8FPR3SH9bSTjG22D3+oHutFDKyeFk0ZyyRoc0+B3XZ5SkcodyUqXTK9Ge0RFWagiIgMxWdT9IlBj9umOfZ\/5LlKDYNZNnzw0lzyH9wf8A\/cHycV1um2u7URsTERn\/AFKz1FaxdrRLA0ZlZ14v7w7PXl6q69rX5o87Q2puO6ldey+paIqbS90dc7U0TE\/E056OXi5kjkT5\/XKuVU1Z2ZupzU4qS5hERcJhERAEREAREQBERAEREAREQBERAFmKz7P9IVCSNpKYjPjh\/wCS06zF9+w1bZp8ffPRjJ254\/eU4bszcTiKfRr6ltqCn+KsFbF\/0i4ebesPouGlak1WnKRzj1o2mM\/5TgfLCt3AOaWncEYKzWhSW2upgPOKpcPkPyK6swYljiIvqmvbJpkRFWaQiIgMxdf59Wr\/AAj+8tOsxdf59Wr\/AAj+8tOrJ7IzUPFP1+yMjUCXTWpvj5HtNFcJC2TAwGE75Plufda0EEZByCoV4tjLtbJaR5DS4ZY4\/suHIqu0pcnz0jrbVZbWUXUe13MtGw9uXt3o+9G\/QjD\/AFVNHJ5XrzX3L9ERVmsIiIAiIgCIiAIiIAir7reqG0RF9TKOMjLYm7ud5D8VVUNTfr3Ww1YaKC3scHcDt3SjPv8AQeakotq5TKtGMtCy\/I0qIiiXBERAFl9bYhjt1aRnoKkdnr+6tQqDWkJl05K4DPRPa\/54\/FTp+JGfilejL92L9ZjR\/VqbvGOTanb3P5K5pa+nZaaWqqKiONskLXcTnBoJ4clZC06korVXXSaRkkjaqoLoxEOQy453I7wpRi2mkVVqsI1Kcm+v0NrcKoUVvqKlxx0UbneoGyqtJ3Wqu1BPNVODntmIGG4wMA4VLe9UT19onihtVRFBJhpqH5wBnyxvjHNRtMTX6OglbaaSGWJ0p4pJCNnYGw6w7PqpKn3HcqlxSdeKjdq3JM\/QEWKpb1qauuM9DAaQTwZ424GBg4O\/mp3SazZ\/Q0cmfEbfMKDptbtF8eKjJXUX7HysPS\/pDoW7ERU5yM+D\/wAwtQvz9tdfI9UmaW3skrWRYMLDtjA32J8FcnVlbBtV2Crj7nDOCfUKU4N2sU0OIhHU5XV2+TNOstqCB9musOoaUZbkMqWD9oHbP8doC7wa3tEruGXp6c9vSR5x\/pyrSOttl3gfAyogqWPBa6MOGSPLmopSg8ovnKnXjaElfl6kqnnjqqeOeFwfHI0OaR2hdFkrXUSaZu5s9ZITRTHippXDkT2Z+vj5rWqMo2ZZRqdpHOGtwiIolwREQBF5c5rGlz3BrRzJOAF6QBU2prtJabcDAC6oneI4wBnHef47SrlZSkY6+6wnq3nipLd1I8cnOHLz3yfQKcEr3fIz15NRUY7vH5Jdo0tBTuFZcj8XWv6znSHia0+Xb5laBEUXJyeSynTjTVooIiLhYERUN31Gaap\/k62wGrr3bcLd2sPj\/HmupNvBCpUjTV5FrXXCktsBmq52xNA2zzPkOZ5hZW53a46hoKhluo+joGsJkml2LuHfA9vH0U+26YdLN8ffZPjKt2\/RuOWM8Mcj5cloXRsdEYuEBhbw4A7FO8YvGTM41ay73dXTn8TEWexWuaxtu9znmljYHZj4sNaAcY7zyHIhUVBRGWoonggCpquiDCM4ALTn\/u+RUiGesltslnj42R07pZ5nDY8IGMEZ787eIUrTMfT3u2R\/sxMfK4cjnLsfRq05V22eRaE3CKjbb3xc0utjjTkm5GZGeu66aOg6HTcBIwZS559yB8gFw1xIxmn+FzsOfK0NHfzP4KYXstukuKPcRUfVI7Tw8\/dZ\/wCiXmerhcTKb5RMhZK18Opo7i7PQVtRJEXY7XEH03c0r9GWIbZzLoFkjB9vGXVDSO7O4\/0gHzAWostybdbXDVjHE4YkA7HDmu1c5XoR4O8O5Lmr++5T209Pry5y\/sxRBg8D1R+BWnWY0n9vcrzWH+kqMAdwy4\/iPZadQqb2L+FzT1dW38zjUUlNVsLainjmaRjD2A\/VU9Xo60VHWhjfSyDcPhedj2bHI9sK+UK4XegtcfHV1DGHsZzcfIDdci5cidWFJq9RIyd109f2UYp+nFyp2HqA\/fYe8Z35dmSPZWmlL1PUxvt1fHI2ppW7ve0jLf7WeR81ydqK83TIs1qe2MjaeYY9Rnb5lcpdNVVRx1d\/vAYwnL2xENHLvOB8irnlWkYIrTU10Ltc77W9WXddqS02\/ibNVsc9u3Rx9Z2e7bl6rjbNU0F1rTSQNla854S9oHEANzzWOr7laaVpp7LRMceTqqdvE47fsg8vb0Uiy2+9SS9LQU5he8dasqW74\/s5H0yfFOyio3ZxcZUlUUY5Xln5\/qN1WXCjt7OOrqY4QeXE7c+Q5lUEmqqu4zmnsNvdORsZpRho9Oz1Pou1Ho+lbP8AE3KeS4TncmTZvt2+pWgjjZEwRxsaxjeTWjACr7q8zZatU3ele7\/8MxHpWsuM4qL9XmfByIYjho+mPQeq08cbIo2xxt4WMAa0dwC9Ioyk3uW06MKfh3ZW6grzbrJU1DXFsnDwsI5hx2B9OfouGlba23WOHLcSzjpZMjfJ5D0GPmoOtCZxbbcMj4qowceGBz\/zLTNaGtDWgAAYAHYpPEF5lUe9Xb\/4q3vk+oiKs1BEWc1Pc5uKKzW85q6vYkHHA38PyClGOp2K6tRU46meLxf6mprDZ7I3pKlwIkmB2j78H8ezzVlZLHBZ6c4+1qZN5Zjzce7yXuz2Wls1KIoGZkcB0kh5vP5eCsV2Ula0diqnSk5dpU3+n71CqdRXkWigzHh1VMeGBmM5O2T6Z+is5ZWQxPlkcGsY0uc49gHMrLWeF+or1Je6lp+Fgdw0sbidiMb\/AI+Z8Eglu9jteclaEN38vMzknxNjbW0lSMyVlMw78wSQTnt26w8wrvQ9Nm4VlV2RRtgB7Cds\/wD5HuvGtYYBfbfJKRwvaGyDl1Q7nn1PsrDRDGwWCapkP35XOc7twAP\/AH7q+Ur079TzaNPTxWjlG\/78yJrDprpdKa00rXPfHG+VwA5nGQPl81Gmu7rxY6CzUzXGqe5rJgR90Mxv2A52PoVZ6UYbhX3C+SNcDNJwRcXY3\/5wj0WgioKOCofURU0bJX\/ec1uM8\/zKg5KPd6F8aMq16idlL6cv3zPdPTx01LHTRt+zjYGNB32AwslNJU6Puc\/Rwukt1Xl0fAP1b+wfh4jHctkuNTPT01O6WqkZHE37znnAVcZWNlWkpJNOzWzKTRtBUUVqe+dzSKh\/SNaBuOzJPjgFWVyvVBamZq5w12MiNu7j6Kkm1BX3h5pdO0zgxuz6mRuGtHhnl9fBSrfpWjpXuq7jJ8bUk8TpJfuj0PPzPyUms3kUU5vQoUVdLm9vyQjdb9qE8Fqp\/gqU7fEScyPA\/l7qZQaUt1Bmqr5Pi5h1nSTnqjxwfxyvFy1fTU8gpLXEa6oOzRGMsB7hj73p7qJHYLzfZGzXyqMMGcinZz9hsPPcqWbdEVd1yx35fJfYl3PWNJSuFNbWfGznqjg+4D6c\/T3VX\/s\/ftQ1AqbrMKaPsYeYHg0cvXdayhtVDbWBtJTRxnGC4DLj5nmVMUdaj4UXvh5Vf5pY6LYqLdpe1W0teyn6WVv9JKeI+3Ieyt0RVtt7mmEIwVoqwREXCYREQGY1WRTXO0V0mOhimw8924P5+y0zXBzQ5pBBGQR2rjWUkFdSvp6hgfG8YI7vEeKzkVLqOwZiowy40TfuMeQHtHy9t1ZiSS6GV3pVHK10+nI1S41VXT0UDp6mVsUbebnFZWTXNQ0vp\/5IeyracBheTg+Ixn0VJFcWVtWam+srKrhOWQxjDB8\/p7qSpPmVVOOprEMv5L1NQNZ0rzPJFSTOpYWEmc7BzuxoHj7+C86Vt0zzLe68Zqqs5ZnsYe0d2foAs\/d7vDdZKOhorfKylgdxvp2Nw5\/ljPZnfxV63U11c0Cm01UBjRgZ4h7dVScWlhblMK8ZVL1JXttZPf8ABqEWYF01bL+qssDf77uz1cEbUay2Jo6TxHEP\/JVaPNGz\/JXKL9mfdUVE1dVU9ho3lsk\/XmcM4a3szjs5n0HerKzVVB9ta6Bj2igPA7I2zk9vbuCszpy7RjUNTNcomsqKp\/A2X9ljhsWjn3jt7F1steKC13u6l4Mj5iGk8y7fHzd9VY4Y0mSnXTn2nW\/wSX6yr1I6W63Kvro8Op6MthyD4kbeueX\/ALVlJVOpNE0Vvpzmprsta1uMkOcc++cLvT2qRugKgRt4pqkdOctOSA4Ef9o+fquGjqKa41jbjVbw0bBFAOzOOzyznzKm2tPoUKE+085r2u8\/I1ttomW63QUjOUTcZ7zzPzUh72RsL5HBjWjJc44AVXd9RUNpaWvf01RyEEZy717lTuoLrqHFTeJhQW8dYQA4JHec\/U+wVCi3lnpSrRh3Kau18vVkuu1Yx83wdlhNdVO2DgOo3x8fp4rhDpuqrJBXajrukDOt0IdhjfM8h6e65u1Da7Qz4CwUfxMzjjqAkOPnzd\/G6+MsF5vzxNe6swQ5yKePGfbkPM5KttpXT6mRy7R2fffReFevUkVGq7fQ8NDZ6T4p\/JrIW4ZnwwN\/T3XFtkvd\/cJL1Vmmpycimi\/LkPM5K0NvtNDa4+Cjp2xkjDn83O8zzUxV60vCaVQlP+V46LC\/JDt9pobXHwUdO2MkYc\/m53meamIig3fc1RioqyQREXDoREQBERAEREAWavt5q6iuFlsp4ql362Zp\/VDtGezxPZy5qZqe8G1W7hhBNTUkxxAcxtu70yPUhe7BZY7RRjiaDVSjMz+e\/cPBWRSS1My1JSqS7KDt1f2+J9slgprND1ftah\/6yZw3Pl3BWqKPcJjTW2pnGcxQveMeAJUG3J5L4xjTjaKskUGlya+7XS6O3a6ToojnIDc5Iz\/p5LTqg0VCItORPGPtnveffh\/dV+pVPEyrhVakm+effIXmSRkUbpJHBrGAuc4nYAcyvFRUQ0kDp6iRscbBkucVlZ6mt1hKaWi4qa2sP2srhvJ\/Hd7rkY39CVWsoYWZPZFbpO3T3G8GvJe2np5C\/iyRl57Bj0z4ea70+nrpJcjb5GGO3tqTO9xO0gyAO055bZ7ytPZrZFYra+Ey9XpHSOc8gYHIZPkAqm8a2paUOitwFTLy6Q7Mb\/5fxurtcpSek8\/sKVKlF1XZ7+vkaKoqaagpjLPIyGFgxk7AeAX55Q3OohdW0dsqoqWlklMnTSnhLG8tuZ7uWSoUk111DWAOMtVL2NA2aPLkApxsElBdLbFd3cUdU7gLWOJLcYAGfUclOMFBWbyU1eInXkpQVkufrg60FdSUcwZZ6GW43F2f95mbnB7S1vZ5nBVzFpu6XbEt\/uD+HmKeIjbzxsPQHzWjo6Ckt8XRUlOyFvaGjn5ntUhUyqdDdT4SytN38lhfn4kShtlFbY+Ckp2RbYLgOsfM8ypaIqm7m1RUVZIIiIdCIiAIiIAiIgCIiAIiIDLtabprp\/SAOht8eWDI+9t3eJPstQso+dlg1jLNVEMprgzqydgdkc+7t9wtS1zXtDmODmnkQcgqyfIy8O13k97u\/wBvkelFukbprTWRN+8+B7R5lpXeWaKBhkmkZGwc3PcAFS12r7VSjhgkNXMdmxwjOT58vbKjFNvBbVnCMWpux50XUxS6ehha9pkhLg9udxlxI29V6u2qqS3vNNTNNZVnYRx7gHxP4BUEOnbje659c+nZaopSSccXE7PPbP5KDcdN1tDXijomVNS4tDjI1nC058icepV+iDllnmuvXhRSjHG1\/wAFhOwVczanVF0jjYN2UULsubnlkDOPr4rrVa5gp4RT2mhDWNbhjpOqG\/5R+ai0Og6+bDqyeOmb\/VHXd8tvmtLb9J2m39boPiH\/ANafDseQxhJOC3ycpU+Jl4Vpvze\/77GPEWotTvbx9NJEdw5w4Ih+B+ZV5bNCQRYfcpend\/y4yQ335n5LWgADAGAF9VbqvZYNUOBpp6pvU\/M401JT0cXRU0EcLO5jQMrP64HR2+kq2jrQVLSCDg4wT9QFpljdR2u9yTTQxufWUdTK17QcEwuzgAZIwN\/Lv7SuU\/FdsnxV1RcYr2Ni0hzQ4bgjIX1cqZr2UsTX\/fawB2+d8LqqzUtgiIh0IiIAiIgCIiAIiIAiIgCIiAjV1BTXGnMFVEHtOcd7TjGQezms3XaRoKQh9PPVxCQ4LWyDGMjblnt7URXUm9jz+MhG17ZPVHo+3TucZpaqUMIwHSD8lf0Vpt9u\/wCEpI4jjHEBl2PM7oi5UbvYlwlOGnVbJMREVRuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "GESTA SERVICIOS A LA MINERIA SPA.",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "CAROLAIN",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28703\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28703\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28703\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28703\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:51",
    "ubicacionGPS": "LatLng(lat: -23.5936617, lng: -70.3924143)",
    "horaLlegada": "15:49",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/05/2026 15:51:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76132593

[15/05/2026 15:51:00] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76132593', 'EP2875', 2, 27729424, 0, NOW(), 
				'08:00', '15:49', '15:51', 10, 'sin contador entregado en recepción
gesta liparita', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778874660.png', '', null, 'COMPLETADO','LatLng(lat: -23.5936617, lng: -70.3924143)' )
				
[15/05/2026 15:51:00] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200342
[15/05/2026 15:51:00] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200342', 'EPS-I302', 2)
				
[15/05/2026 15:51:00] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28703 and
				    IDproducto = 'EPS-I302'
				

15/05/2026 15:51:00 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I302';
                [15/05/2026 15:51:00] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200342', 'EPS-I303', 1)
				
[15/05/2026 15:51:00] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28703 and
				    IDproducto = 'EPS-I303'
				

15/05/2026 15:51:00 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I303';
                [15/05/2026 15:51:00] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200342', 'EPS-I304', 1)
				
[15/05/2026 15:51:00] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28703 and
				    IDproducto = 'EPS-I304'
				

15/05/2026 15:51:00 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                [15/05/2026 15:51:00] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200342', 'EPS-I305', 1)
				
[15/05/2026 15:51:00] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28703 and
				    IDproducto = 'EPS-I305'
				

15/05/2026 15:51:00 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I305';
                
15/05/2026 15:51:00 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200342'                    
				WHERE idllamado = 12621			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


15/05/2026 15:51:00 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12621			
				
15/05/2026 15:51:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 15: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 = 12621
                

15/05/2026 15: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 = 12621
                

15/05/2026 15:51:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12621
            GROUP BY l.idllamado;
            

15/05/2026 15: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 = 12621
                

15/05/2026 15: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 = 12621
                

15/05/2026 15: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 = 12621
                

15/05/2026 15: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 = 12621
                

15/05/2026 15: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 = 12621
                

15/05/2026 15:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

[15/05/2026 15:51: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;
                

15/05/2026 15:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

[15/05/2026 15:51: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;
                

15/05/2026 15:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:51:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12621
            GROUP BY l.idllamado;
            

15/05/2026 15:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:51:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12621
            GROUP BY l.idllamado;
            

15/05/2026 15:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12621
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15: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 = 12616
                

15/05/2026 15:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15: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 = 12616
                

15/05/2026 15:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15: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 = 12616
                

15/05/2026 15:53:33 - logentry: =========================================
FECHA: 15/05/2026 15:53:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-3KilQlUZxCpP+u8Ol4.MCGzu9f5-yO6D2fPYokQHaT-gs5hROBj
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "KY2513",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "62709",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Cambio de repuestos\nMantenimiento, ajustes,\nlimpieza,pruebas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12616",
    "observacion": "el Mantenimiento y cambio de repuestos, se efectuaron en la   Ky 2551 (M 3655)\npor error se activo este modelo que es 2040",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACwAMgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABKEAABAwMBBAUFCwkGBwAAAAABAAIDBAURBhIhMZETQVGhsRRhcYHBFSIjMjQ1QnSistEHJDZSYnOC4fAWksLS4vElJjNTVWPy\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMREAAgECBAIIBQUBAAAAAAAAAAECAxEEEiExUWETIjIzQXGhsVKBkcHhFCNC0fDC\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBUWqr3JZqGPoAOmmcWtz1ADefDmr1YS8OddbvdaguPQ22ndG0DeNo5b4l3ILSmk3qcuLqOFO0d3\/mauxV8lzs1PWStDXyA7QHDIcR7FYKp0vGI9N0TR1sLuZJ9qtlWXadjai26cW97IIiKpoEREAREQBERAEREAREQBERAEREAREQBERAEREB8yPbFG6R3xWAk+gLD0Df+TrxXOHvqqQ+nGRjvJWm1JUeS6erJNrBMewP4t3tVFVQml\/JsyMjfI1jv7zw5bQ2+ZwYl3m+UW\/roX+nWlunqEH\/ALIPNWSh2luxZqJuc7NPGM\/whTFlLdnXTVoJcgiIoNAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgMzraR0lHR0Efx6qcAdeQN3D0kL61oGw6aETc4EjGt9WfwXxds1utrZSje2nYZneY7z\/hbzTXJL7bS0zTh0tSMciPaFvHeKPNq6xqy+X++poaVpZSQtPERtHcuy8AAGAMAL1YHopWVgiIhIREQBEXjiGtLjuAGSgPUVHpi91F7p6iSojjZ0bw1uwDwx171eKWmnZlKdSNSKlHZhERQXCIiAIiIAiIgCIiAIiIAiIgMxQfnOvrhNxbBCGDzH3v+pNVfC3ix03EOqMuHmy3+aaU\/OLpeaxw3vn2W54gZdu8OSXr4bWVnhByWAvx2cTn7Pct\/5+S+x5u9C\/xS\/wCjToiLA9IIiIAiIgC41hIopyDgiN3guy4VvyGo\/dO8FK3IlszM\/k\/+Q1f70eC1qyX5P\/kNX+9Hgtar1e2zlwXcRCIizOsIiIAiIgCIiAIiIAiIgC+JX9FE+QjOy0nGccF9qDen9HZK544infj07JUpXZWTtFsqNCxbNjfKTkyzuOfUB7CvkA1P5RCc58lpuWR\/rUzSDNjTNLni7bP2iodj+E1heZeOzhmfX\/Jat9aTOCK\/box5r2uadERYnohERAEREAXCt+Q1H7p3gu64VvyGo\/dO8FK3Ky2ZndAMAs9Q\/rNQRya38VqVmNA\/Mc31l33WrTq9TtswwncRCIizOkIvA4Ozgg4ODheoAiIgCIiAIiIAiIgCqNUv6PTda7tYG83Ae1W6oNavLdOSgcHPYDzz7FaHaRjiHajJ8mTtPs6OwULe2Bp5jPtVTpD4SsvFR1yVPtcfar2i2Ke1U\/UyOBvINVJoRhFlmldxkqHHPbuHtyr+EmY2tUpR4J+1jSoiLI7AirK2\/UdBc6e3y7ZlnxgtA2W5OBnJVmpaaKqcZNpPYIiKCwUe4PEduqXu4NheTyKkKvv79iwVxzjMDhzGFK3KVHaDZW6Ha1ungQMF0rifOdw9i0Szuh3B2ngB9GVwPcVd1FbS0jdqoqYoQP13geKtPtsxwzSoRb4HdcawkUU5BwRG7wVRVaxs1NubUOncDjELCe84Heq+fUt0uFNI232WTonNcDLLnGMH0DvUqEhPE0ldJ3fLU80DVulpqune5zix4kBJz8bOe8d61jnNbjacBk4GTxK\/L7BFVyXKOmpa00bqphAkA4gZOObVrYdE0peJK6uqqqQEHJdsg+J71epGOa7ZyYOtUdJRjG9vG5pURFgeoEREAREQBERAFmtduDbDGD9KoaByctKsxr75jh+st+65Xp9tHNi+4l5F3XuNPZqlx3mOneeTSq7RkexpqB367nu+0R7Fw1Lf7aLRVUsVWyWeRmyGxna4nfvG7tVfab\/cW2uno7ZZ5JzEzZdK4EMzx9varqLcDGdamq61vZeGvibRc5qiCmZtzzRxN\/We4NHes2KDVdxwaq4R0EZ4sh+MOX+ZdIdE0Bd0lbU1FXIeJc\/APt71XLFbs26WrLsQ+un5MvqG4xzaodV08rZY4nRljm7wcAH178qyves3VEUTbYJ4Nl+10j2j32OrG\/rVZV0dIGXt8TGMbTzsZCM\/tEHGeO4LvqG6U91itcFLtTSQx4ka1p3khu4dfUV0WTtoeO51IqbzWb19WtC5pL3qespY5aW1wSMe33sjnD32OJ+MOwro+o1hsGSSKip2tGSXOGB68lVtgn1FWWqOktzoIKeJxZ078F2Sckb89vYrSLR5qHNkvFyqKxw37AcQ0es5PLCzeWL1sddN1KkU4uT+aS9rlNU6svVNJ0flVHM7OPgW7Q58CvmsvOo6uz1DqmlApHNAfI6LZ3E7sdq2lHZrdbw3yajiY5vB+zl3M71Va4l2bIyAZL55mta0cTjJ\/BIzi5JJE1KFWNOUpze2xjbfHeqikkitzql0DXZeyJ5AzjrAKmU8dsonF1yslxLhvd0jzgdzVe6Sh8gvN1t\/AMLS0eYZ394WsUzqWdrFMPg80FK+vNX2Mza71pWMgU7IqR43AyRYP97f4q6q6mF9pqZ4pWSsELztMcCPi54ryrs9urgfKaKGQnPvtnDuY3rP3fSVPSUNTVW+qnpujie50W2S1zQCS3t4Z454rPqyZ1vpqcXomuWhSUTXUENjubgRGZ3tc4dQ2v8A65L9IX5lLUV40nDTzUbX0RftwTjix207IP2ua3VgucVztUEjZWumawCVoIyHDcd3VlWqp7mGBnFNw4pP01LNERYHqBEUKvu9vto\/O6pkbsZDM5cfUN6lJvYiUlFXbsTUWXOqLhcnbFktT5G52emm3NHsHNeCwX25YddLu6JhAzDB4bsDxV8lu07HN+oUu7i5ei+rL6qulBQ\/KayGI4zsueM8uKp59a0G30dFBUVkh4BjMA89\/cutJoyzUuyXwvqHA5zK\/wBgwFc09NT0sfR08McTexjQE6i5i2Il4qPqzNms1Zc8Cno4rfG76Uvxh6c7+5VGp7NWUdujrK65yVcr5QzYIOyzIJON\/m7AthWX210ORUVsQcPotO07kFkdU6jpbxQtpqSKYtjmDzK5uGnAI3c+taQcm1ZaHHiY0lTead5ef2RM1VaLZabDmlpGMkfK1geSS4cTxPoWoE1PbqKIVM8cLWMDcvcGjcFiL5NfLi+hp7lGyniqZR0UcYBOeGeP7XaOKv6bRlC1\/S1889fLjeZHEDu396iSWVZmXpSk6suihppvp6Co1nQ9J0Nvgnr5jwbGwgHuz3Lg52q7oCcQ2uA9vx8d58Fo6elp6SPo6aCOFn6sbQ0dy+a5\/R2+pefoxOPcVRSS2R0ulUkrzl8lp+T89t9mhq9N191ndIZYnEM37icAknt49ym6WZFVahpXRRMApaQF5a0DLscT2n33d5lZ6dpXVGh54WAF87ZQ307wO8L70ZZp7dHUz1UTo5ZCGNa7duG\/PryOS2lPSR59Kh16TS0au\/cqbtY660Pnrqd5bS08wljDX9ZLeI7vUfMtvR1LayigqWjAmja8DOcZGcLnc6U1tsqaZoBdJGQ3IGNrG7j58Kt0hUdNYIo3P2nwOdG7PEYOQORWUnmjd+B3U6ao1ssdmvVF4svqDNbqq0W\/i1p6Zze0Zz4MPNadzg1pc4gADJJ6llrI4XfVtfdGnahgb0URxuPVkH0An1qIaXZbE9bLT4v0WrPuAik\/KFOwnAq6fIHaQB\/lK06zGoT5JqizVo+m4xOPYM4\/xladJ7Jk0NJTjwfvqFCvXzHX\/VpPulTVCvXzHX\/VpPulUjujap2H5EDSbGyaUpY3tDmuEgcD1jbcsmbTVWrULqWnqjSzOJNLITukHU0nz8OzIwtdpD9F6P8Aj++5d75Zor1RdE53RyxnaikH0T+C1U8s2jhlQ6WhBrdJexxsN8NxD6SrjMNfBuljIxnzhFTRW6\/jUFBPUwxvfCdl9Uw7pGdefPjOM8dyKk0k9Dow85yi1NbcTrf7zUvuhtkNYy3wtb8LNI3BPo\/lzXxQU2k6R4mmr46uYby+Z2QT244c8rSVdqoK9wfVUkcrhwLhv\/rco\/8AZuzf+Oh5KynG1jGVCo5uTs+F76HJ2qbDTs2RWsw3g1jHHwCiz63trfe00VRUvO5oazAJ9f4KzjsVpiILLdTZHAmMHxUyKnggGIYY4x2MaB4KLw4G2XEP+SXkjNPvWpa4EUFl8naeD5+I84zgdxXv9m7vcvni8PLDnMMG5vm7B3LUIme2ysR+mUu8k37fRFNSaTs1JgikEzh9KY7Xdw7l8aqpWO0xUxxRhuxsua1rccHDq9CvFHuFN5Zbqim65YnMHpIUKTzJsvKjBU5RirXRk4JfdLUFgZnaENG2R544dg+0DmtosJoWlkmuM1VJt7NPH0bc8ASeHjzW7VqujsY4JuVNzfi\/wFAvsnRWKuf\/AOh4HpIx7VPVHrGfodNzgHBlLWDmCe4FUiryR0VpZaUnyZ00nH0WmqMHiQ53NxKuFDtMIp7RRwjHvIWA46zjepiSd22TSjlpxXJBUFbp2obVPq7PXvo5ZCTI072uOSc\/11K\/RQpNbCdONRWkZd9o1VVsdT1l3p\/J5BsybDBktPH6A6vOr22W+G10EdHBktYN7jxcTxJUtFLk3oVhRjB5tW+buZvXETjZ4qlnxqedrs9g3jxwtBTzNqaaKdnxZWB7fQRlRrzSGus9VTNbtPfEdkdrhvHeAoGkKzyvT0LSQXwExO9XDuIVt4eRRdXENfEvYvFCvXzHX\/VpPulTVCvXzHX\/AFaT7pVI7o2qdh+RC0h+i9H\/AB\/fcrpUukP0Xo\/4\/vuV0pn2mUw\/cw8l7BERVNgiIgCIiAIiIAoN5fWstc3ufCZagtw3DgC3PWM8SOxTkUrRlZLMmrmP0bHNbbnX2qpAErWtkwDkf174LYLLXk+5WrqC45DYqkdDKS7HmyfURyWpV6mrUuJz4VZE6fwv03QWY1ifK5bZa273VFQHEdg4Z+0eS06y1Pm667mm2dqG3R7AJwQHbx4l3JIb34DE6xUPiaX9mpREWZ1BERAEREAWVsDvc3U9ztTiGskd0sQz693qPctUsxqQe5t9tl54MD+hmPUB\/sXcgtIa3XE5cR1ctTg\/R6M06rtQP2NP1x3\/APRcN3nGFYqg1pP0OnJWZwZntYOefYqwV5I0ryy0pPkyTpePotN0TcYywu5kn2q2Ua3Q+TWylgwR0cLGnIwdwCkqJO7bLUo5YRXBBERQaBERAEREAREQBERAVeobZ7q2mSFg+GZ8JEf2h+PBeaduou1qZI4\/DxfBzA8dodfrVqs5V2Gvo7lNcbJOyN82+SF\/xXHr9p\/3V1ZqzOaopQmqkVfwZYX67MtFrln22iZwIhaTvc70deM5Kj6Utj7daQ6ckz1Lulkyc4zwHLf61yotNSOrxcbxVeV1LTlrQMMb2bloEbSWVCEZTqdJNWtsvuERFQ6QiIgCIiAKs1DQe6NlqIAAXgbbM9o39\/D1qzRSnZ3KzipxcX4lTpm4e6Nlhe5xM0Q6OXPHaHb6sKsvv\/FtT0FpY4FkB6afdw68ch9peOtt2sVzqKi0QR1FNVHJidu2Dnd1+c+r1Kbp20T0jp7jX4NdVkl+PoAnOzx9C10TckcPXqRjSktt\/Jf2XqIixPQCIiA\/\/9k=",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "REPUESTOS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R807\",\"id_control\":\"28702\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R1042\",\"id_control\":\"28702\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R963\",\"id_control\":\"28702\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R809\",\"id_control\":\"28702\",\"cantidad_usada\":1,\"cantidad_asignada\":2}]",
    "horaSalida": "15:53",
    "ubicacionGPS": "LatLng(lat: -23.3360126, lng: -69.8466233)",
    "horaLlegada": "15:21",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 15/05/2026 15:53:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-3KilQlUZxCpP+u8Ol4.MCGzu9f5-yO6D2fPYokQHaT-gs5hROBj
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "KY2513",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "62709",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Cambio de repuestos\nMantenimiento, ajustes,\nlimpieza,pruebas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12616",
    "observacion": "el Mantenimiento y cambio de repuestos, se efectuaron en la   Ky 2551 (M 3655)\npor error se activo este modelo que es 2040",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACwAMgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABKEAABAwMBBAUFCwkGBwAAAAABAAIDBAURBhIhMZETQVGhsRRhcYHBFSIjMjQ1QnSistEHJDZSYnOC4fAWksLS4vElJjNTVWPy\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMREAAgECBAIIBQUBAAAAAAAAAAECAxEEEiExUWETIjIzQXGhsVKBkcHhFCNC0fDC\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBUWqr3JZqGPoAOmmcWtz1ADefDmr1YS8OddbvdaguPQ22ndG0DeNo5b4l3ILSmk3qcuLqOFO0d3\/mauxV8lzs1PWStDXyA7QHDIcR7FYKp0vGI9N0TR1sLuZJ9qtlWXadjai26cW97IIiKpoEREAREQBERAEREAREQBERAEREAREQBERAEREB8yPbFG6R3xWAk+gLD0Df+TrxXOHvqqQ+nGRjvJWm1JUeS6erJNrBMewP4t3tVFVQml\/JsyMjfI1jv7zw5bQ2+ZwYl3m+UW\/roX+nWlunqEH\/ALIPNWSh2luxZqJuc7NPGM\/whTFlLdnXTVoJcgiIoNAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgMzraR0lHR0Efx6qcAdeQN3D0kL61oGw6aETc4EjGt9WfwXxds1utrZSje2nYZneY7z\/hbzTXJL7bS0zTh0tSMciPaFvHeKPNq6xqy+X++poaVpZSQtPERtHcuy8AAGAMAL1YHopWVgiIhIREQBEXjiGtLjuAGSgPUVHpi91F7p6iSojjZ0bw1uwDwx171eKWmnZlKdSNSKlHZhERQXCIiAIiIAiIgCIiAIiIAiIgMxQfnOvrhNxbBCGDzH3v+pNVfC3ix03EOqMuHmy3+aaU\/OLpeaxw3vn2W54gZdu8OSXr4bWVnhByWAvx2cTn7Pct\/5+S+x5u9C\/xS\/wCjToiLA9IIiIAiIgC41hIopyDgiN3guy4VvyGo\/dO8FK3IlszM\/k\/+Q1f70eC1qyX5P\/kNX+9Hgtar1e2zlwXcRCIizOsIiIAiIgCIiAIiIAiIgC+JX9FE+QjOy0nGccF9qDen9HZK544infj07JUpXZWTtFsqNCxbNjfKTkyzuOfUB7CvkA1P5RCc58lpuWR\/rUzSDNjTNLni7bP2iodj+E1heZeOzhmfX\/Jat9aTOCK\/box5r2uadERYnohERAEREAXCt+Q1H7p3gu64VvyGo\/dO8FK3Ky2ZndAMAs9Q\/rNQRya38VqVmNA\/Mc31l33WrTq9TtswwncRCIizOkIvA4Ozgg4ODheoAiIgCIiAIiIAiIgCqNUv6PTda7tYG83Ae1W6oNavLdOSgcHPYDzz7FaHaRjiHajJ8mTtPs6OwULe2Bp5jPtVTpD4SsvFR1yVPtcfar2i2Ke1U\/UyOBvINVJoRhFlmldxkqHHPbuHtyr+EmY2tUpR4J+1jSoiLI7AirK2\/UdBc6e3y7ZlnxgtA2W5OBnJVmpaaKqcZNpPYIiKCwUe4PEduqXu4NheTyKkKvv79iwVxzjMDhzGFK3KVHaDZW6Ha1ungQMF0rifOdw9i0Szuh3B2ngB9GVwPcVd1FbS0jdqoqYoQP13geKtPtsxwzSoRb4HdcawkUU5BwRG7wVRVaxs1NubUOncDjELCe84Heq+fUt0uFNI232WTonNcDLLnGMH0DvUqEhPE0ldJ3fLU80DVulpqune5zix4kBJz8bOe8d61jnNbjacBk4GTxK\/L7BFVyXKOmpa00bqphAkA4gZOObVrYdE0peJK6uqqqQEHJdsg+J71epGOa7ZyYOtUdJRjG9vG5pURFgeoEREAREQBERAFmtduDbDGD9KoaByctKsxr75jh+st+65Xp9tHNi+4l5F3XuNPZqlx3mOneeTSq7RkexpqB367nu+0R7Fw1Lf7aLRVUsVWyWeRmyGxna4nfvG7tVfab\/cW2uno7ZZ5JzEzZdK4EMzx9varqLcDGdamq61vZeGvibRc5qiCmZtzzRxN\/We4NHes2KDVdxwaq4R0EZ4sh+MOX+ZdIdE0Bd0lbU1FXIeJc\/APt71XLFbs26WrLsQ+un5MvqG4xzaodV08rZY4nRljm7wcAH178qyves3VEUTbYJ4Nl+10j2j32OrG\/rVZV0dIGXt8TGMbTzsZCM\/tEHGeO4LvqG6U91itcFLtTSQx4ka1p3khu4dfUV0WTtoeO51IqbzWb19WtC5pL3qespY5aW1wSMe33sjnD32OJ+MOwro+o1hsGSSKip2tGSXOGB68lVtgn1FWWqOktzoIKeJxZ078F2Sckb89vYrSLR5qHNkvFyqKxw37AcQ0es5PLCzeWL1sddN1KkU4uT+aS9rlNU6svVNJ0flVHM7OPgW7Q58CvmsvOo6uz1DqmlApHNAfI6LZ3E7sdq2lHZrdbw3yajiY5vB+zl3M71Va4l2bIyAZL55mta0cTjJ\/BIzi5JJE1KFWNOUpze2xjbfHeqikkitzql0DXZeyJ5AzjrAKmU8dsonF1yslxLhvd0jzgdzVe6Sh8gvN1t\/AMLS0eYZ394WsUzqWdrFMPg80FK+vNX2Mza71pWMgU7IqR43AyRYP97f4q6q6mF9pqZ4pWSsELztMcCPi54ryrs9urgfKaKGQnPvtnDuY3rP3fSVPSUNTVW+qnpujie50W2S1zQCS3t4Z454rPqyZ1vpqcXomuWhSUTXUENjubgRGZ3tc4dQ2v8A65L9IX5lLUV40nDTzUbX0RftwTjix207IP2ua3VgucVztUEjZWumawCVoIyHDcd3VlWqp7mGBnFNw4pP01LNERYHqBEUKvu9vto\/O6pkbsZDM5cfUN6lJvYiUlFXbsTUWXOqLhcnbFktT5G52emm3NHsHNeCwX25YddLu6JhAzDB4bsDxV8lu07HN+oUu7i5ei+rL6qulBQ\/KayGI4zsueM8uKp59a0G30dFBUVkh4BjMA89\/cutJoyzUuyXwvqHA5zK\/wBgwFc09NT0sfR08McTexjQE6i5i2Il4qPqzNms1Zc8Cno4rfG76Uvxh6c7+5VGp7NWUdujrK65yVcr5QzYIOyzIJON\/m7AthWX210ORUVsQcPotO07kFkdU6jpbxQtpqSKYtjmDzK5uGnAI3c+taQcm1ZaHHiY0lTead5ef2RM1VaLZabDmlpGMkfK1geSS4cTxPoWoE1PbqKIVM8cLWMDcvcGjcFiL5NfLi+hp7lGyniqZR0UcYBOeGeP7XaOKv6bRlC1\/S1889fLjeZHEDu396iSWVZmXpSk6suihppvp6Co1nQ9J0Nvgnr5jwbGwgHuz3Lg52q7oCcQ2uA9vx8d58Fo6elp6SPo6aCOFn6sbQ0dy+a5\/R2+pefoxOPcVRSS2R0ulUkrzl8lp+T89t9mhq9N191ndIZYnEM37icAknt49ym6WZFVahpXRRMApaQF5a0DLscT2n33d5lZ6dpXVGh54WAF87ZQ307wO8L70ZZp7dHUz1UTo5ZCGNa7duG\/PryOS2lPSR59Kh16TS0au\/cqbtY660Pnrqd5bS08wljDX9ZLeI7vUfMtvR1LayigqWjAmja8DOcZGcLnc6U1tsqaZoBdJGQ3IGNrG7j58Kt0hUdNYIo3P2nwOdG7PEYOQORWUnmjd+B3U6ao1ssdmvVF4svqDNbqq0W\/i1p6Zze0Zz4MPNadzg1pc4gADJJ6llrI4XfVtfdGnahgb0URxuPVkH0An1qIaXZbE9bLT4v0WrPuAik\/KFOwnAq6fIHaQB\/lK06zGoT5JqizVo+m4xOPYM4\/xladJ7Jk0NJTjwfvqFCvXzHX\/VpPulTVCvXzHX\/VpPulUjujap2H5EDSbGyaUpY3tDmuEgcD1jbcsmbTVWrULqWnqjSzOJNLITukHU0nz8OzIwtdpD9F6P8Aj++5d75Zor1RdE53RyxnaikH0T+C1U8s2jhlQ6WhBrdJexxsN8NxD6SrjMNfBuljIxnzhFTRW6\/jUFBPUwxvfCdl9Uw7pGdefPjOM8dyKk0k9Dow85yi1NbcTrf7zUvuhtkNYy3wtb8LNI3BPo\/lzXxQU2k6R4mmr46uYby+Z2QT244c8rSVdqoK9wfVUkcrhwLhv\/rco\/8AZuzf+Oh5KynG1jGVCo5uTs+F76HJ2qbDTs2RWsw3g1jHHwCiz63trfe00VRUvO5oazAJ9f4KzjsVpiILLdTZHAmMHxUyKnggGIYY4x2MaB4KLw4G2XEP+SXkjNPvWpa4EUFl8naeD5+I84zgdxXv9m7vcvni8PLDnMMG5vm7B3LUIme2ysR+mUu8k37fRFNSaTs1JgikEzh9KY7Xdw7l8aqpWO0xUxxRhuxsua1rccHDq9CvFHuFN5Zbqim65YnMHpIUKTzJsvKjBU5RirXRk4JfdLUFgZnaENG2R544dg+0DmtosJoWlkmuM1VJt7NPH0bc8ASeHjzW7VqujsY4JuVNzfi\/wFAvsnRWKuf\/AOh4HpIx7VPVHrGfodNzgHBlLWDmCe4FUiryR0VpZaUnyZ00nH0WmqMHiQ53NxKuFDtMIp7RRwjHvIWA46zjepiSd22TSjlpxXJBUFbp2obVPq7PXvo5ZCTI072uOSc\/11K\/RQpNbCdONRWkZd9o1VVsdT1l3p\/J5BsybDBktPH6A6vOr22W+G10EdHBktYN7jxcTxJUtFLk3oVhRjB5tW+buZvXETjZ4qlnxqedrs9g3jxwtBTzNqaaKdnxZWB7fQRlRrzSGus9VTNbtPfEdkdrhvHeAoGkKzyvT0LSQXwExO9XDuIVt4eRRdXENfEvYvFCvXzHX\/VpPulTVCvXzHX\/AFaT7pVI7o2qdh+RC0h+i9H\/AB\/fcrpUukP0Xo\/4\/vuV0pn2mUw\/cw8l7BERVNgiIgCIiAIiIAoN5fWstc3ufCZagtw3DgC3PWM8SOxTkUrRlZLMmrmP0bHNbbnX2qpAErWtkwDkf174LYLLXk+5WrqC45DYqkdDKS7HmyfURyWpV6mrUuJz4VZE6fwv03QWY1ifK5bZa273VFQHEdg4Z+0eS06y1Pm667mm2dqG3R7AJwQHbx4l3JIb34DE6xUPiaX9mpREWZ1BERAEREAWVsDvc3U9ztTiGskd0sQz693qPctUsxqQe5t9tl54MD+hmPUB\/sXcgtIa3XE5cR1ctTg\/R6M06rtQP2NP1x3\/APRcN3nGFYqg1pP0OnJWZwZntYOefYqwV5I0ryy0pPkyTpePotN0TcYywu5kn2q2Ua3Q+TWylgwR0cLGnIwdwCkqJO7bLUo5YRXBBERQaBERAEREAREQBERAVeobZ7q2mSFg+GZ8JEf2h+PBeaduou1qZI4\/DxfBzA8dodfrVqs5V2Gvo7lNcbJOyN82+SF\/xXHr9p\/3V1ZqzOaopQmqkVfwZYX67MtFrln22iZwIhaTvc70deM5Kj6Utj7daQ6ckz1Lulkyc4zwHLf61yotNSOrxcbxVeV1LTlrQMMb2bloEbSWVCEZTqdJNWtsvuERFQ6QiIgCIiAKs1DQe6NlqIAAXgbbM9o39\/D1qzRSnZ3KzipxcX4lTpm4e6Nlhe5xM0Q6OXPHaHb6sKsvv\/FtT0FpY4FkB6afdw68ch9peOtt2sVzqKi0QR1FNVHJidu2Dnd1+c+r1Kbp20T0jp7jX4NdVkl+PoAnOzx9C10TckcPXqRjSktt\/Jf2XqIixPQCIiA\/\/9k=",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "REPUESTOS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R807\",\"id_control\":\"28702\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R1042\",\"id_control\":\"28702\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R963\",\"id_control\":\"28702\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R809\",\"id_control\":\"28702\",\"cantidad_usada\":1,\"cantidad_asignada\":2}]",
    "horaSalida": "15:53",
    "ubicacionGPS": "LatLng(lat: -23.3360126, lng: -69.8466233)",
    "horaLlegada": "15:21",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/05/2026 15:53:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69253200

[15/05/2026 15:53:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69253200', 'KY2513', 2, 21773342, 62709, NOW(), 
				'08:00', '15:21', '15:53', 4, 'Cambio de repuestos
Mantenimiento, ajustes,
limpieza,pruebas', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778874813.png', 'el Mantenimiento y cambio de repuestos, se efectuaron en la   Ky 2551 (M 3655)
por error se activo este modelo que es 2040', null, 'COMPLETADO','LatLng(lat: -23.3360126, lng: -69.8466233)' )
				
[15/05/2026 15:53:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200343
[15/05/2026 15:53:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200343', 'KYO-R807', 1)
				
[15/05/2026 15:53:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28702 and
				    IDproducto = 'KYO-R807'
				

15/05/2026 15:53:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R807';
                [15/05/2026 15:53:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200343', 'KYO-R1042', 1)
				
[15/05/2026 15:53:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28702 and
				    IDproducto = 'KYO-R1042'
				

15/05/2026 15:53:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R1042';
                [15/05/2026 15:53:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200343', 'KYO-R963', 1)
				
[15/05/2026 15:53:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28702 and
				    IDproducto = 'KYO-R963'
				

15/05/2026 15:53:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R963';
                [15/05/2026 15:53:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200343', 'KYO-R809', 1)
				
[15/05/2026 15:53:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28702 and
				    IDproducto = 'KYO-R809'
				

15/05/2026 15:53:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R809';
                
15/05/2026 15:53:33 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200343'                    
				WHERE idllamado = 12616			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


15/05/2026 15:53:33 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12616			
				
15/05/2026 15:53:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15: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 = 12616
                

15/05/2026 15:53:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:53:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

[15/05/2026 15:53:36] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 15:53:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:53:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12616
            GROUP BY l.idllamado;
            

15/05/2026 15:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

15/05/2026 15:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12616
                

[15/05/2026 15:53: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;
                

15/05/2026 16:01:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:01:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12623
LIMIT 1;
        

15/05/2026 16:01:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:01:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12623
LIMIT 1;
        

15/05/2026 16:01:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:01:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12623
LIMIT 1;
        

15/05/2026 16:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:01:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12623
LIMIT 1;
        

15/05/2026 16:01:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:22 - logentry: =========================================
FECHA: 15/05/2026 16:01:22
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-F8lIfGHtNdF2XXtN8TTEKZpg8J.KtMhvA9FiWrcM.5YDuWt3zEl
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61308000",
    "serieinterna": "TO2974",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "SAG",
    "ciudadmaquina": "LA SERENA",
    "departamentomaquina": "Administración",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se instala equipo, se da inducción de uso, se conecta en 5pc para imprimir\nse deja toner\n01 iton 2956",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12623",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADcAQwDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABJEAABAwMCAgUHCAULBAMAAAABAAIDBAURBiESMRNBUYGRFCJhcaGxwRUWIzJCUpLRB3SiwtIkMzVDVGNysuHw8SU0U4I2YuL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAzEQACAQIDBAgGAwADAAAAAAAAAQIDEQQhMRITQVEiMmFxgZGx0RQzUqHB8CNC4SRi8f\/aAAwDAQACEQMRAD8A\/syIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAsq+XyKzQN83paiU4jiB3JxzPozgd61HODWlziAAMknqUtp6F16vFTfaoBzGOMdKCNgB19wPiT2KcUtWUVpyVoQ1f25sMpdX1EflTq2GB5BLYCPfsfb2br3t2pZmV5tl7hbS1I2bKNmSflnt5H0KjWZfbPFeKF0ZAbOwZhkxu09mewrqknk0VujOC2qcm3yfE00WHpa7OuFvNPUZFXSHo5QeZ7D7N\/SFuKDVnZminNVIqS4hERcJhERAEREAREQBERAEREARF5VVQykpJqmQEshY57g3mQBnZDjdldnqi5bdXw3OgjrIA8Ry5wHjBGCR8F1I1YJqSugiIh0IiIAiIgCIiAIiIAiIgMXVta6hsExY4tklIjaQcc+fsBXXZKIW+z01PwhrmsBfgY847n2rG1OPLL5Z7fgFrpekeO0ZHwBVQrHlFIzQ6VaUuVl+WERFWaSY\/orXQ34YLlH6hxj45H7Sp1M61hcyjpbjFtJSTggjqB\/1AVHDKyeFk0ZyyRoc0+g7qyWaTM1HoznDx8\/9PtERVmkIiIAiIgCIiAIiIAiIgC57hH0ttqY8Z44Xt5Z5groXxKC6J7RuS0gIjkldNGHot\/FpyJufqPcOeevPxW+prQjg6wyAfZqHA+DVSqdTrMowrvRj3BERQNAREQBERAEREAREQBERATDx036RI879BTbY6tjz\/EqdTFD9J+kG4u5iOnAB7Dhn+qp1OfDuM2H0k\/+zCIigaTN1FCJ9P1zHDIEJd+Hf4L40xMZ9OUTyRszh2GPqkj4Ltr4+mt1TF9+J7fEFZGipOPTkbf\/AByPb7c\/FT\/p4mZ5Yhdqfqb6IsC7ambBN5Da4vLa12RwsGWsPpxz+HWoqLehbUqRpq8mbxcGjLiAO0r8ZIyVvFG9r29rTkKYi0vW3KQVN8uEjnncQRHAZ38vAd6+5tGQxO6e2Vk9LUNHmFzuIbe0KezHmU72s81DLvzKZFP2S9zmqNou7ejro\/qu6pR2j0+9UCg007Mup1I1I3QREXCwIiIAiIgCIs6pvlDSXFtDUSiKQsL+J+zQPX4+C6k3oRlKMVeTMnQnm2yqjHJtScfhH5Lfra6mt9O6eqmbGwdZ5n0Adah7NeamjkrqS10bquSecuiI+q0b7n2di2aTS81bOK6\/1DqifqhB8xo7NvcNvWrpxW1eR5+HrSdJQpq7+yPgXW8aim4LTH5HRB3nVMnN2D1fkPEKqXyxjI2BkbQxrRgNaMAL6VUmnojbTpuN3J3b\/cgiIoloREQBERAEREAREQExZPP1jeJOfCA3PZuNvYqdTGmPP1BfnnmKjh\/af+Sp1OpqZsL8u\/a\/VhERQNJ+OAc0tO4IwVL6InZDZpo5XYc2pcMY\/wDq1VKi9L\/9jUfrLvc1WRzizJWezVg12\/g09U3CoaILVQOAq6w4zkea34Z38CtCz2SkstP0cDeKRw8+Vw85x+A9CybeG1mua+eTBNLGGxgt+qdhnPqz4qnSTslFHaKU5yqPnZeHuERFWajC1VaX19C2pphirpTxsI5kdY+I9S7bJdGXe1xVTdn\/AFZG\/dcOf5960FLWtzrNqyptbtqes+lhGdm8zt7R3BWLpRtyMs\/46qnwlk+\/h7FSiLluNI+uoZKaOpkpnPx9JGdxvlVo0ttK6Opeb5oo88crG458TgMKc+ZEEm9Rc6yUnmeIb+OV9s0LaG4y6pfj70g38Ap2hzM+8rv+n3\/w2JLvbYf5y4UzfQZW596z6jWFkgBxUmU9kbCfadkj0dY4yCaQvwPtSO\/Nd8FnttM4OhoKdjhycIxnxXeh2j\/kPkvN+xhu1JdbqHMslreG9U82AAPVy9pWVf7HcoaNl1uVWKyRjmiWPGGtaTyBGOvbYDmr5c9wpG19vnpH4xKwtyRnB6j3HddjUs8kV1MK5we3Jt+S8iZ0kYI75dIqbAheGPiA5cO+PY4KuX8\/0RI6DUEsEreFzonMwdiCCNvYV\/QEqq0hgZbVHxYREVRtCIiAIiIAiIgCIiAIiICY0t\/TmoP1n956p1MaW\/pzUH6z+89U6nU6xmwvyl3v1YREUDSFF6X\/AOxqP1l3uarRRulGPkt9Q5jS4eUu3Az1NVsOqzHiPmw8fwddj\/8AmF57veqdTFvxDr64seRmWEOb+yqdRnqTw3Va7X6hERQNIUvrKJ1OaC7RYD6aYNccZ2O4z6iPaqhY2rIul01VjraGuHc4FTg7SRRiY7VGXn5Zmu1zXsD2nLXDIPaF9LPsUpnsVE88+haD3DHwWgotWdi2MtqKfMIiLhIIiIAiIgIOaP5I\/SDG4bRzShw3xs8YPtJ8FeKO13C6GaguLPrMdwE56x5w+Kr45GyxtkYcteA4HtBVs80mYsMtipUh238z6REVRtCL8yM4zuv1AEXy57Gloc4AuOACea+kAREQBERAEREBMaW\/pzUH6z+89U6ltMvZHedQvkcGNbU5LnHAHnPVLDPDUN4oZWSNBIy053Bx7wrKnWMuFa3SXf6s9ERFWaj8cQ1pcdgBkqa0ECLFKT11LiPwtW7cpBFbKqQ8mQvce5pWVouMs03C4\/be9w\/ER8FYuozNPOvHsT\/By3n+R6ztNXkgTjoTjtzj98KoU1raNzLfS1sY8+mqA4HsB\/1AVHHI2WNsjDlrwHA9oKSzimKXRqzj3Pz\/APD6REVZpC5bnSvrbZU0sZaHyxljS7kCR1rqRE7HJJSTTOGzUMlttFPRyua58TSHFvLmT8V3LAvl+ngrGWq1R9NXvIzkZEY5793gFzixajazpRfyZ+Li4Dng68b9\/LGPAKzZvm3qZlVUehTi3Yp0UsL3fLM4i80PTwDH08GM8tz2dR7Fv2+5Ul0g6akmEjRs4ci09hCi4tZllOtCbto+T1OpERRLgiIgMDWsHTadkfjPQyNf7cfFdmnZ\/KdP0UmckRBpP+HzfgvW9weU2StixkmFxHrAyPaFkaEqDLY3xE7wzED1EA+\/Ks1p+JjfRxXevQpURfjnBrS5xAAGST1Ks2EZpi4VVfqqse+eZ0RY93ASQ0ecANs42GytFH6Bpy6OtrnDeR4jHoxufeFVVTnMpJntOHNjcQew4VtTrWRjwd9ztS43ZIUdtOrKm41tRUPbEHmOn6Nx4cjkd\/QR68lammblUF01ouAIrKTbJI89vVj1bdxC\/NDta3TwIGC6VxPpOw+C8NQN+S9R2+8hzGRPIhmJHIb7+BPgFJ5tx8iiC3dONZavXufsVKIioPTCIiAIi5bnVGittRUj60cZLfX1e1FmcbSV2RNBbpbxqW5Qtme2i8pe+cxuwHDidwjvyfatSlpmWLWbKSlBbS1kGQzJdwkZ6zvzB\/EvD9Hzi51xc4kkmMknr+uuzUf0WpbFL96Us\/aaP3lpk3tOPYeTSjFUY1lrf82sU6IizHrmZqSXodO1zs4zEW+O3xX5pqLodO0TcYzHxeJz8Vx61k4NPPZxAdLKxu5575+C2KGHye300GCOjia3B6sABT\/oZlniH2L1Zx6kpvKtPVkeMkR8Y2+753wTTdT5Vp6jkzkiPgO\/3fN+C0nNa9hY9oc1wwQRkEKa0e80slwtEjjxUsxLc9bTt8Ae9dWcGJdGvF81b8+5ToiKs0hc9dUijoZ6kjPRMLgMZycbBdCydUZ+bdbw5zwDl6wuxV2kQqScYOS4I49IUAFG+6zjiqq1znFx3Ibnl3kZ8FRLO0\/w\/IFDw8ugb4439q+6u80FFVx0tRUNZLJjA54zyz2KUrykyqls06Ubux2uaHNLXAEEYIPWpq6ackpag3Sxu6GpYeJ0IA4X9oHZ6uRVMi5GTjoTqUo1FZmXY73DeqUvaOjnj2liP2T+S1FK3+CSx3WG\/wBK36Jx4KmNu2c9ff7wFTQTR1MEc8TuKORoc09oK7JLVaEKM5NuE9V9+09ERFA0H44BzS07gjBUZoZ5prlcaB3Mb\/hJB94Vooe3nyP9Ik8edpnvB2+8OL3q2GcZIxYno1Kcu23mXCw9X1\/kVhla0gPqPomg9h5+zPitxS12Bu2sKG3DJipB00oB2zz3\/ZHeowXSzLcTJqnZavLzPrQW1lnadiKl2R2ea1UkrOkiezbzmkbqb0Z9F8p0h+vDUnPtH7pVOu1OuzmF+RFE3oaQvscjDs6OdwIxjGwPxXVq2lFVp2p2y6LEjd+w7+zK4tOH5Pv90tB2bxdNFt9n47FvgVv10XT2+ph2+kic3f0ghdk7TuV0o7WG2H2o8LHUmrslHO45c6IAntI2PuXrX3GltsIlqpRG1xwMnc+pZOiZTJp1jT\/VyPaPHPxXLraMTvtdOeUs5ad\/UPiubKc7Hd844ZVFrZFLT1ENXTsngkEkTxlrh1r1U5omd77TLTSOy+mmLME8hgY+Ko1GSs7F9GpvKalzCwdZyOj03MG\/bexp9Wc\/BbynNdEiwDB5ztz4Fdh1kQxLtRl3HFoOMQ1F1iByGPY3PbgvXTq4kV9lIOCKr4tXno8AXS9gDAE7f8z16axGJrTJnBbVDGeXV+Ssfzf3kY4q2D\/fqKdERUHqEvrImee1UAHF09Rkt6tsDf8AEVUKWr\/5bryhgGOGli43H07n+FVKslkkjNRzqTl228kFL58h\/SDuMNrqfbHaB\/8Aj2qoUxrON8DKG6RDzqScZ26jv7xjvXKetuYxOUFP6WmU6L5jkbLG2Rhy14Dge0FfSgaQueuphWUE9Mf62NzfELoRDjSasye0XV9PYxTuwJKV7mEZ6icg+0juUrdC+vrq2pIzI6tEMQIIw0ZznsOAz2qhjcbHrR8XCG0tzALewP8A+c\/iCwLBRyVepIqV4yylnfM8HONiPiAtUcm5HjVW5QhReqdvb7H9IaOFoGScDmV+oiyntHjVU0dZSy00oyyVhae9ROla6ppdQi2VFQ90bGviYz7IIOc+wq2q6htJRzVDiA2Jhec+gZX8ppJ5KO40tdICfpBLk\/aAdv7ir6SvFo8zG1FTqQkvHuP64i\/AQRkHIK\/VQemFAXt3kOvI6gjhaZInknYYwAfcVfqC19EWXWmnG3HDw5HaCfzCuo9axgx+VJSXBplzPMyngknkOGRtLnH0BTuj4ZKl1bep2cL6yUhm\/JoO+PRnb\/1X5qmtlqbdR2+kIM1xLdgfs7HuGSO4FUNJTMo6SKmjADImBowOwKPVj3lvzK3ZH1f+E9Zg6k1pdqUjDZ29MM7Z3B\/eKp1LXwC3attlxAw2f6GTl6s+Dh4KpSedmMPltQ5P1zJa\/AWvVFuu2Po5foZSB3ZPcf2VUrK1LbhcrJPEATJGOljx94Dl3jI71+aauTblZIJOLMkQEcmTvxAc+8YPejzinyEOhWlHnmvyZ2gf6Dm\/WXf5Wr91u10dFR1jXYNPUA\/Hl3L80D\/Qc36y7\/K1aepKTyzT9XEObWcY9bd\/gpN2qlMIuWDsuRl6WeG3u9QtdlhmEjPUS74EKoUPoSR0txq3u59CweG3wVwo1VaRbgpbVFPv9QsHWcYfpuZx\/q3sd7cfFbyz77B5TYq2IN4iYXEDtIGR7lGLtJF1eO1SkuxmBoR5mlulQf6x7D\/mPxXRqnE13stKPOLp+Jw7Blu\/v8Fzfo+aRS1ruovaPYfzXuf+qa8GMmK3Rb9Xnf8AJ9iufzG+Rgp54WEeb\/NypRF5zzNp6eSZ\/wBWNhcd8bAZWc9RuxN2A+WarvFdnIYehB7RnH7gVQpvQ8RFmkqH7vnnc4ntAwPflUinU61jNhV\/Em+OfmFwXyj8vstVTgZc6Mln+Ibj2hd6KKdncvlFSi4viYukqzyvT1Pl2XQ5id6McvZhbSldPH5L1JcrQ4gMe7pYgSfXjwI8FVKU1aRThpN0knqsvIIiKBoMfUtq+VLWejcGT056SJ+cYI5jPVn8lKaVvAZqSSSp4Qa7Ic7YAPJz7Tt3hUmrK90NAy3wO\/lNc4RNAGfNJwfHOFj3jRkkVFBNbx0k8TGtlYDjjI+01aINbNpcTysSpb7bpK7ja\/73FuinrFqmlq6VsNfMynq4zwOEh4Q49u\/u7Vry3KhgjMktZAxo5kyBUuLTsehCtCcdpMytZVTorL5NH\/O1cjY2j0ZyfdjvU5drR0l1Zb4weOmt4PbxOaCdvWfetehc7U+oG3EskbQUP8xnHnPyN+Xf6MBelADU69r5sZZBCGAntw3\/AFV0XsKx59WKry2uDaS7le5oaYr219hp3g+dEOif62j8sHvWupW0B1l1VVWt78QVY6aAHt7PDI\/9QqpVTVnkbcPJyp2eqyfgFH\/pBhBpaOfG7XuZn1gH4KwUvr5oNmgd1ioA\/Zd+S7S66I4xXoSOLT3\/AFjUMdW4AxUNJGxuxOHcOPeXeHerVTOhKXobM+oOczynG3UNvflUyVH0rHMHFqkpPV5mBrSkNRYHSt+tTvbIMdnI+\/PctW21QrrbTVWQTLG1xx243Hjle08MdTBJBK3ijkaWuHaCprTEstruNVp+qdksPSQO+8088e\/xRZwtyOy\/jrqXCWXitCpUg2Q6Z1LNBkMoq8cbCeTHb\/Hb1EKvWLqyjhqrBUOl2dAOkY7G4I\/PkuQednxO4iLcduOsczl0I3hsDjjHFO4+vYD4KjIBGCMgqY0PcaaS1igDi2ohJcWuP1gTzH+\/eqhKnXYwjToRtyIvSscVt1PcLeXYIBbHn7QBz44Vov5xVNq3Xy43ii88UVSCeHkRvv6tt\/Wr23XCC50UdXTuyx43B5tPWD6VOquJRgppJ0+Tdu651L8IBGCMgr9XjVv6Ojnft5sbjv6lSb27K5E6PvENDTXCOSPAYw1DcHcgbcOfDHetnRlI9tuluEwJnrZC8uI5jP55KgYxE4R5ZI1gIE7277E\/kF\/XKZkMdNE2nDRCGjg4RgY7lprZeJ5OAbqNX\/rp4nqsjVNT5NpyrcDu9ojG\/PiOD7CVrqY1mXVDbfbGOw6qqBnHYNv3vYqYK8kehiZbNKTX7c1rBTGksNHCRgiIOI7Cdz71or5a1rGBjRhrRgDsC+lFu7uWwjsxUeQREXCRL6rjlt9dRX2BuTTu4JQBzaf+SO8KkgmjqYI54ncUcjQ5p7QV8VlJFXUctLMMslaWn0elYej6xwpprTPgT0TyMDrbn4HPsVnWj3GVfx1rcJeq90Ua85po6eF80zwyNgy5zjsAvskAZJwApG610mpriyz21\/FRgh1TM3kRnO3q6u0+pRjG7LK1VU49r0R6WSGS+32W\/wA7cU8WY6ZhO+3X7SfWfQqteVNTx0tNHTwt4Y42hrR6AvVJSuxRp7uNnq833kxqjS4rwa6hjaKlu8kf\/l\/196z7BbtOXU9G+nljq4\/rwSSHBxzI7fUrdZF203QXZ\/SyNdFOBtLFse\/tU41MrNmerhVt7yMU+af7kdNdW0lktrpnhrI4xhkbduI9QAWbpKhkipJrhUD6euf0jjkEY3Ixv6SvyHR1CJmy1U89WWnzRK7Ix2FUAAAwBgBRbSVkWxhOU1OatbRE3rCB0MdJd4Wt6Wklbkn7pPX27+8qhgmZUU8c8ZyyRge0+gjK86+jZX0M1JIcNlYWk4zj0r8t1H8n2+GkEhkETeHicMEo2nFIlGDjVbWj9TDq73drLcJTcKPyihccslgb9RuTjPp5bHHrWNqi\/wAN7oo4qOGfgheJJXPbgDqHX6faO1Xy83wQyRGJ8THRu5sLQQe5SjNJ3sVVMPUnFxU8n2fkz9NADTtFgY+j+K1F8sYyONscbQxjQA1rRgADqAX0q27u5phHZio8gp\/VNsmmjhulFhtXRHizjdzRvj04549aoESLs7nKlNVIuLOG03SC70DKmE78nt62O6wsjWNQ+Wnp7RTjinrJAMb8gfzx4L9qNO1dDcvL7FMyEybSwyfUP++xe1msdRFXPu11lE1bIMNaOUQPZ7tvirFsp7SZlk6s47qSz4vhY8Lnpb6KCptLxBXUrGtaQeESYGN\/T7+teB1jNHRyU8tBMLk3MYDWeYXdvb1jb0jtVYvwtBIJAJHI9i4p\/VmWPDtO9N7N\/wB8zJ09ajbbSIp2gzTEvmzvknqPbt8Vm1Vhr7PVOrrBJlrjmSkcfNPPlvv6ufpVSi5tu9ybw8HFR5aPiS7dW1kRdHU2GqbM3qZkg+z81x3Spv8AeKCpkdB8nUMcZe5rsh8gxnHac9w3VosvUruDTtac4+jx4nClGSurIpq0Z7D2ptq3cZ2nrVTVejm08kTWmqDy9wG+eIhru7ATStwkhfNYq1wFRSOIjJP129g9XP1H0LS023g07QjGPogfHdc2obE+4dHWUL+hr4COB4OOIZ5EpdNtM4qbjThUgs0tOaNxS4Pyprw7Zit8Xq87\/k\/s+Pn88KgU5pH2yf5UxwhjW+aTyz28+rHetTTdqktlC99SeKqqXmWU9hPIf76yUs4JtnXUVeUYw0Wb9jYREVRtCIiALCvOn31dW25W+fyauYPrb4kxyBx4de2y3UXU2ndEKlONRWkS8lq1DeMQ3KsjpqXk9kI86Tf4+vuW7brZSWqmFPSR8LeZcd3OPaT1rrRdcm8iEKMYPa1fNhERRLgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIvN08LM8crG455cBheLrnb254q6mGOeZW7e1dsyLklqzqWLq53DpirwcE8A\/bC7DerUBn5TpNv79v5rD1Zd7fVWGWGmrIZpHPb5rHgnGcqcIvaRnxFSG6lnwZuWVvBY6FuMfyePI9PCF3LCpdS2WloKeKSvZxMia04a48hjqC+ZNa2Vn1ZZZP8MR+OFxwk3odjXpRik5LzN9FMnW9LJtS2+smJOG+aBk9xK\/DqS9znhpNPTDOMOlJx7h703ch8VS4O\/cmU6KDuN41PDVRUrqiJlTLjFPA1rnN7M7HHbzVpQNqGUEDKtwdO1gD3DrPakobKudpYhVZOKTVuZ0IiKBoCIiAIi8airpqRnHU1EcLe17w33ocbSzZ7Ip+r1naqc8EBkq39kTNvE49mVzfLOpbiSKC0CmYR9ec7j0749xU93LiZ3iad7J3fZmVK8KitpKQZqamGH\/ABvDfep75vXyvObnenNYeccGcEdnUOvsK96fRNnhdxStmqD19JJzPdhNmK1Y3laXVhbvftc96jV1kp8jyvpXD7MTC7Pfy9q4jrWOY\/yK11dQB18ONu7K2aey2ulIMNBA0jk7gBPid12gADAGAEvBcBsV5ayS7l7kz8t6lqN6awiMf3zj8eFOi1nUb9PR0uerAOPYVTom2uCG4b6036ehMG0aplGJb5G3PPgbjfuAT5r3WT+e1JVEfdaHb\/tKnRN4x8LT43fiyY+Z0jt5L3WPPbn\/AFT5jUZ2dX1hHWOIb+xU6JvJcx8JR+n1Jj5g2r+0Vn42\/wAKfMG1f2is\/G3+FU6JvJ8x8JQ+lEx8wbV\/aKz8bf4U+YNq\/tFZ+Nv8Kp0TeT5j4Sh9KJj5g2r+0Vn42\/wp8wbV\/aKz8bf4VTom8nzHwlD6UTbNC2huMuqX4+9IN\/AL2boyyNxmne7HbK7fwK3kTeS5nVhqK\/qjFGkLCDnyDl\/ev\/NY+rLJa7dZumpaQRSmVrQ4OJ7e0qyU1rtwbYYwftVDQPBylCUnJZlWJo0o0ZNRWnI0KSwWqOniJt9O53AMl0Ydk49K7Y6GjhAEVJAzHLhjAXtG0sja08wAF9Ktts0xpwiskfgAAwBgBYt\/vpt7W0dCBNcJiBHGBnhz9o\/ktOvrYrfQzVc31Im8WO09Q7zgLC0vRyVU09\/q2\/T1ZIiBP1Wf7GB6B6VKKVtplVacm1Thq\/sjqsFgFtDqurd01fNvJITnhz1D81toii227sup04047MQiIuEwsq93sWdsQFJLUyzEiNjORxjme8dS1UXVa+ZGak42i7Mli3Vd45mO1wZB5+fj3+5e1Poq3tkMtbNNWSE5Je7hHPPIb+1UaKW2+GRQsNC959J9vtoc1Jb6OhZw0tLFCO1rQCfWeZXSiKGpoSSVkEREOhERAEREAREQBERAEREAREQBERAEREAWXf7P8t0UdN03RBkzZCeHOQAQR7VqIuptO6IzgpxcZaBERcJEtqhzrnc6GwxOI6RwkmLTybvz7snwVNFEyGJkUbQ1jGhrWjqA5BeQoKQV3lwgYKkt4TIBuRtz8BuuhSbukkU06bjOU3q\/QIiKJcf\/2Q==",
    "razonSocial": "SERVICIO AGRICOLA Y GANADERO ",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "CRISTIAN CASTILLO ZEPEDA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "SILBERTO.CABELLO@SAG.GOB.CL",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "995828986",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:01",
    "ubicacionGPS": "LatLng(lat: -29.9249856, lng: -71.2478887)",
    "horaLlegada": "15:05",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 15/05/2026 16:01:22
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-F8lIfGHtNdF2XXtN8TTEKZpg8J.KtMhvA9FiWrcM.5YDuWt3zEl
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61308000",
    "serieinterna": "TO2974",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "SAG",
    "ciudadmaquina": "LA SERENA",
    "departamentomaquina": "Administración",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se instala equipo, se da inducción de uso, se conecta en 5pc para imprimir\nse deja toner\n01 iton 2956",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12623",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADcAQwDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABJEAABAwMCAgUHCAULBAMAAAABAAIDBAURBiESMRNBUYGRFCJhcaGxwRUWIzJCUpLRB3SiwtIkMzVDVGNysuHw8SU0U4I2YuL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAzEQACAQIDBAgGAwADAAAAAAAAAQIDEQQhMRITQVEiMmFxgZGx0RQzUqHB8CNC4SRi8f\/aAAwDAQACEQMRAD8A\/syIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAsq+XyKzQN83paiU4jiB3JxzPozgd61HODWlziAAMknqUtp6F16vFTfaoBzGOMdKCNgB19wPiT2KcUtWUVpyVoQ1f25sMpdX1EflTq2GB5BLYCPfsfb2br3t2pZmV5tl7hbS1I2bKNmSflnt5H0KjWZfbPFeKF0ZAbOwZhkxu09mewrqknk0VujOC2qcm3yfE00WHpa7OuFvNPUZFXSHo5QeZ7D7N\/SFuKDVnZminNVIqS4hERcJhERAEREAREQBERAEREARF5VVQykpJqmQEshY57g3mQBnZDjdldnqi5bdXw3OgjrIA8Ry5wHjBGCR8F1I1YJqSugiIh0IiIAiIgCIiAIiIAiIgMXVta6hsExY4tklIjaQcc+fsBXXZKIW+z01PwhrmsBfgY847n2rG1OPLL5Z7fgFrpekeO0ZHwBVQrHlFIzQ6VaUuVl+WERFWaSY\/orXQ34YLlH6hxj45H7Sp1M61hcyjpbjFtJSTggjqB\/1AVHDKyeFk0ZyyRoc0+g7qyWaTM1HoznDx8\/9PtERVmkIiIAiIgCIiAIiIAiIgC57hH0ttqY8Z44Xt5Z5groXxKC6J7RuS0gIjkldNGHot\/FpyJufqPcOeevPxW+prQjg6wyAfZqHA+DVSqdTrMowrvRj3BERQNAREQBERAEREAREQBERATDx036RI879BTbY6tjz\/EqdTFD9J+kG4u5iOnAB7Dhn+qp1OfDuM2H0k\/+zCIigaTN1FCJ9P1zHDIEJd+Hf4L40xMZ9OUTyRszh2GPqkj4Ltr4+mt1TF9+J7fEFZGipOPTkbf\/AByPb7c\/FT\/p4mZ5Yhdqfqb6IsC7ambBN5Da4vLa12RwsGWsPpxz+HWoqLehbUqRpq8mbxcGjLiAO0r8ZIyVvFG9r29rTkKYi0vW3KQVN8uEjnncQRHAZ38vAd6+5tGQxO6e2Vk9LUNHmFzuIbe0KezHmU72s81DLvzKZFP2S9zmqNou7ejro\/qu6pR2j0+9UCg007Mup1I1I3QREXCwIiIAiIgCIs6pvlDSXFtDUSiKQsL+J+zQPX4+C6k3oRlKMVeTMnQnm2yqjHJtScfhH5Lfra6mt9O6eqmbGwdZ5n0Adah7NeamjkrqS10bquSecuiI+q0b7n2di2aTS81bOK6\/1DqifqhB8xo7NvcNvWrpxW1eR5+HrSdJQpq7+yPgXW8aim4LTH5HRB3nVMnN2D1fkPEKqXyxjI2BkbQxrRgNaMAL6VUmnojbTpuN3J3b\/cgiIoloREQBERAEREAREQExZPP1jeJOfCA3PZuNvYqdTGmPP1BfnnmKjh\/af+Sp1OpqZsL8u\/a\/VhERQNJ+OAc0tO4IwVL6InZDZpo5XYc2pcMY\/wDq1VKi9L\/9jUfrLvc1WRzizJWezVg12\/g09U3CoaILVQOAq6w4zkea34Z38CtCz2SkstP0cDeKRw8+Vw85x+A9CybeG1mua+eTBNLGGxgt+qdhnPqz4qnSTslFHaKU5yqPnZeHuERFWajC1VaX19C2pphirpTxsI5kdY+I9S7bJdGXe1xVTdn\/AFZG\/dcOf5960FLWtzrNqyptbtqes+lhGdm8zt7R3BWLpRtyMs\/46qnwlk+\/h7FSiLluNI+uoZKaOpkpnPx9JGdxvlVo0ttK6Opeb5oo88crG458TgMKc+ZEEm9Rc6yUnmeIb+OV9s0LaG4y6pfj70g38Ap2hzM+8rv+n3\/w2JLvbYf5y4UzfQZW596z6jWFkgBxUmU9kbCfadkj0dY4yCaQvwPtSO\/Nd8FnttM4OhoKdjhycIxnxXeh2j\/kPkvN+xhu1JdbqHMslreG9U82AAPVy9pWVf7HcoaNl1uVWKyRjmiWPGGtaTyBGOvbYDmr5c9wpG19vnpH4xKwtyRnB6j3HddjUs8kV1MK5we3Jt+S8iZ0kYI75dIqbAheGPiA5cO+PY4KuX8\/0RI6DUEsEreFzonMwdiCCNvYV\/QEqq0hgZbVHxYREVRtCIiAIiIAiIgCIiAIiICY0t\/TmoP1n956p1MaW\/pzUH6z+89U6nU6xmwvyl3v1YREUDSFF6X\/AOxqP1l3uarRRulGPkt9Q5jS4eUu3Az1NVsOqzHiPmw8fwddj\/8AmF57veqdTFvxDr64seRmWEOb+yqdRnqTw3Va7X6hERQNIUvrKJ1OaC7RYD6aYNccZ2O4z6iPaqhY2rIul01VjraGuHc4FTg7SRRiY7VGXn5Zmu1zXsD2nLXDIPaF9LPsUpnsVE88+haD3DHwWgotWdi2MtqKfMIiLhIIiIAiIgIOaP5I\/SDG4bRzShw3xs8YPtJ8FeKO13C6GaguLPrMdwE56x5w+Kr45GyxtkYcteA4HtBVs80mYsMtipUh238z6REVRtCL8yM4zuv1AEXy57Gloc4AuOACea+kAREQBERAEREBMaW\/pzUH6z+89U6ltMvZHedQvkcGNbU5LnHAHnPVLDPDUN4oZWSNBIy053Bx7wrKnWMuFa3SXf6s9ERFWaj8cQ1pcdgBkqa0ECLFKT11LiPwtW7cpBFbKqQ8mQvce5pWVouMs03C4\/be9w\/ER8FYuozNPOvHsT\/By3n+R6ztNXkgTjoTjtzj98KoU1raNzLfS1sY8+mqA4HsB\/1AVHHI2WNsjDlrwHA9oKSzimKXRqzj3Pz\/APD6REVZpC5bnSvrbZU0sZaHyxljS7kCR1rqRE7HJJSTTOGzUMlttFPRyua58TSHFvLmT8V3LAvl+ngrGWq1R9NXvIzkZEY5793gFzixajazpRfyZ+Li4Dng68b9\/LGPAKzZvm3qZlVUehTi3Yp0UsL3fLM4i80PTwDH08GM8tz2dR7Fv2+5Ul0g6akmEjRs4ci09hCi4tZllOtCbto+T1OpERRLgiIgMDWsHTadkfjPQyNf7cfFdmnZ\/KdP0UmckRBpP+HzfgvW9weU2StixkmFxHrAyPaFkaEqDLY3xE7wzED1EA+\/Ks1p+JjfRxXevQpURfjnBrS5xAAGST1Ks2EZpi4VVfqqse+eZ0RY93ASQ0ecANs42GytFH6Bpy6OtrnDeR4jHoxufeFVVTnMpJntOHNjcQew4VtTrWRjwd9ztS43ZIUdtOrKm41tRUPbEHmOn6Nx4cjkd\/QR68lammblUF01ouAIrKTbJI89vVj1bdxC\/NDta3TwIGC6VxPpOw+C8NQN+S9R2+8hzGRPIhmJHIb7+BPgFJ5tx8iiC3dONZavXufsVKIioPTCIiAIi5bnVGittRUj60cZLfX1e1FmcbSV2RNBbpbxqW5Qtme2i8pe+cxuwHDidwjvyfatSlpmWLWbKSlBbS1kGQzJdwkZ6zvzB\/EvD9Hzi51xc4kkmMknr+uuzUf0WpbFL96Us\/aaP3lpk3tOPYeTSjFUY1lrf82sU6IizHrmZqSXodO1zs4zEW+O3xX5pqLodO0TcYzHxeJz8Vx61k4NPPZxAdLKxu5575+C2KGHye300GCOjia3B6sABT\/oZlniH2L1Zx6kpvKtPVkeMkR8Y2+753wTTdT5Vp6jkzkiPgO\/3fN+C0nNa9hY9oc1wwQRkEKa0e80slwtEjjxUsxLc9bTt8Ae9dWcGJdGvF81b8+5ToiKs0hc9dUijoZ6kjPRMLgMZycbBdCydUZ+bdbw5zwDl6wuxV2kQqScYOS4I49IUAFG+6zjiqq1znFx3Ibnl3kZ8FRLO0\/w\/IFDw8ugb4439q+6u80FFVx0tRUNZLJjA54zyz2KUrykyqls06Ubux2uaHNLXAEEYIPWpq6ackpag3Sxu6GpYeJ0IA4X9oHZ6uRVMi5GTjoTqUo1FZmXY73DeqUvaOjnj2liP2T+S1FK3+CSx3WG\/wBK36Jx4KmNu2c9ff7wFTQTR1MEc8TuKORoc09oK7JLVaEKM5NuE9V9+09ERFA0H44BzS07gjBUZoZ5prlcaB3Mb\/hJB94Vooe3nyP9Ik8edpnvB2+8OL3q2GcZIxYno1Kcu23mXCw9X1\/kVhla0gPqPomg9h5+zPitxS12Bu2sKG3DJipB00oB2zz3\/ZHeowXSzLcTJqnZavLzPrQW1lnadiKl2R2ea1UkrOkiezbzmkbqb0Z9F8p0h+vDUnPtH7pVOu1OuzmF+RFE3oaQvscjDs6OdwIxjGwPxXVq2lFVp2p2y6LEjd+w7+zK4tOH5Pv90tB2bxdNFt9n47FvgVv10XT2+ph2+kic3f0ghdk7TuV0o7WG2H2o8LHUmrslHO45c6IAntI2PuXrX3GltsIlqpRG1xwMnc+pZOiZTJp1jT\/VyPaPHPxXLraMTvtdOeUs5ad\/UPiubKc7Hd844ZVFrZFLT1ENXTsngkEkTxlrh1r1U5omd77TLTSOy+mmLME8hgY+Ko1GSs7F9GpvKalzCwdZyOj03MG\/bexp9Wc\/BbynNdEiwDB5ztz4Fdh1kQxLtRl3HFoOMQ1F1iByGPY3PbgvXTq4kV9lIOCKr4tXno8AXS9gDAE7f8z16axGJrTJnBbVDGeXV+Ssfzf3kY4q2D\/fqKdERUHqEvrImee1UAHF09Rkt6tsDf8AEVUKWr\/5bryhgGOGli43H07n+FVKslkkjNRzqTl228kFL58h\/SDuMNrqfbHaB\/8Aj2qoUxrON8DKG6RDzqScZ26jv7xjvXKetuYxOUFP6WmU6L5jkbLG2Rhy14Dge0FfSgaQueuphWUE9Mf62NzfELoRDjSasye0XV9PYxTuwJKV7mEZ6icg+0juUrdC+vrq2pIzI6tEMQIIw0ZznsOAz2qhjcbHrR8XCG0tzALewP8A+c\/iCwLBRyVepIqV4yylnfM8HONiPiAtUcm5HjVW5QhReqdvb7H9IaOFoGScDmV+oiyntHjVU0dZSy00oyyVhae9ROla6ppdQi2VFQ90bGviYz7IIOc+wq2q6htJRzVDiA2Jhec+gZX8ppJ5KO40tdICfpBLk\/aAdv7ir6SvFo8zG1FTqQkvHuP64i\/AQRkHIK\/VQemFAXt3kOvI6gjhaZInknYYwAfcVfqC19EWXWmnG3HDw5HaCfzCuo9axgx+VJSXBplzPMyngknkOGRtLnH0BTuj4ZKl1bep2cL6yUhm\/JoO+PRnb\/1X5qmtlqbdR2+kIM1xLdgfs7HuGSO4FUNJTMo6SKmjADImBowOwKPVj3lvzK3ZH1f+E9Zg6k1pdqUjDZ29MM7Z3B\/eKp1LXwC3attlxAw2f6GTl6s+Dh4KpSedmMPltQ5P1zJa\/AWvVFuu2Po5foZSB3ZPcf2VUrK1LbhcrJPEATJGOljx94Dl3jI71+aauTblZIJOLMkQEcmTvxAc+8YPejzinyEOhWlHnmvyZ2gf6Dm\/WXf5Wr91u10dFR1jXYNPUA\/Hl3L80D\/Qc36y7\/K1aepKTyzT9XEObWcY9bd\/gpN2qlMIuWDsuRl6WeG3u9QtdlhmEjPUS74EKoUPoSR0txq3u59CweG3wVwo1VaRbgpbVFPv9QsHWcYfpuZx\/q3sd7cfFbyz77B5TYq2IN4iYXEDtIGR7lGLtJF1eO1SkuxmBoR5mlulQf6x7D\/mPxXRqnE13stKPOLp+Jw7Blu\/v8Fzfo+aRS1ruovaPYfzXuf+qa8GMmK3Rb9Xnf8AJ9iufzG+Rgp54WEeb\/NypRF5zzNp6eSZ\/wBWNhcd8bAZWc9RuxN2A+WarvFdnIYehB7RnH7gVQpvQ8RFmkqH7vnnc4ntAwPflUinU61jNhV\/Em+OfmFwXyj8vstVTgZc6Mln+Ibj2hd6KKdncvlFSi4viYukqzyvT1Pl2XQ5id6McvZhbSldPH5L1JcrQ4gMe7pYgSfXjwI8FVKU1aRThpN0knqsvIIiKBoMfUtq+VLWejcGT056SJ+cYI5jPVn8lKaVvAZqSSSp4Qa7Ic7YAPJz7Tt3hUmrK90NAy3wO\/lNc4RNAGfNJwfHOFj3jRkkVFBNbx0k8TGtlYDjjI+01aINbNpcTysSpb7bpK7ja\/73FuinrFqmlq6VsNfMynq4zwOEh4Q49u\/u7Vry3KhgjMktZAxo5kyBUuLTsehCtCcdpMytZVTorL5NH\/O1cjY2j0ZyfdjvU5drR0l1Zb4weOmt4PbxOaCdvWfetehc7U+oG3EskbQUP8xnHnPyN+Xf6MBelADU69r5sZZBCGAntw3\/AFV0XsKx59WKry2uDaS7le5oaYr219hp3g+dEOif62j8sHvWupW0B1l1VVWt78QVY6aAHt7PDI\/9QqpVTVnkbcPJyp2eqyfgFH\/pBhBpaOfG7XuZn1gH4KwUvr5oNmgd1ioA\/Zd+S7S66I4xXoSOLT3\/AFjUMdW4AxUNJGxuxOHcOPeXeHerVTOhKXobM+oOczynG3UNvflUyVH0rHMHFqkpPV5mBrSkNRYHSt+tTvbIMdnI+\/PctW21QrrbTVWQTLG1xx243Hjle08MdTBJBK3ijkaWuHaCprTEstruNVp+qdksPSQO+8088e\/xRZwtyOy\/jrqXCWXitCpUg2Q6Z1LNBkMoq8cbCeTHb\/Hb1EKvWLqyjhqrBUOl2dAOkY7G4I\/PkuQednxO4iLcduOsczl0I3hsDjjHFO4+vYD4KjIBGCMgqY0PcaaS1igDi2ohJcWuP1gTzH+\/eqhKnXYwjToRtyIvSscVt1PcLeXYIBbHn7QBz44Vov5xVNq3Xy43ii88UVSCeHkRvv6tt\/Wr23XCC50UdXTuyx43B5tPWD6VOquJRgppJ0+Tdu651L8IBGCMgr9XjVv6Ojnft5sbjv6lSb27K5E6PvENDTXCOSPAYw1DcHcgbcOfDHetnRlI9tuluEwJnrZC8uI5jP55KgYxE4R5ZI1gIE7277E\/kF\/XKZkMdNE2nDRCGjg4RgY7lprZeJ5OAbqNX\/rp4nqsjVNT5NpyrcDu9ojG\/PiOD7CVrqY1mXVDbfbGOw6qqBnHYNv3vYqYK8kehiZbNKTX7c1rBTGksNHCRgiIOI7Cdz71or5a1rGBjRhrRgDsC+lFu7uWwjsxUeQREXCRL6rjlt9dRX2BuTTu4JQBzaf+SO8KkgmjqYI54ncUcjQ5p7QV8VlJFXUctLMMslaWn0elYej6xwpprTPgT0TyMDrbn4HPsVnWj3GVfx1rcJeq90Ua85po6eF80zwyNgy5zjsAvskAZJwApG610mpriyz21\/FRgh1TM3kRnO3q6u0+pRjG7LK1VU49r0R6WSGS+32W\/wA7cU8WY6ZhO+3X7SfWfQqteVNTx0tNHTwt4Y42hrR6AvVJSuxRp7uNnq833kxqjS4rwa6hjaKlu8kf\/l\/196z7BbtOXU9G+nljq4\/rwSSHBxzI7fUrdZF203QXZ\/SyNdFOBtLFse\/tU41MrNmerhVt7yMU+af7kdNdW0lktrpnhrI4xhkbduI9QAWbpKhkipJrhUD6euf0jjkEY3Ixv6SvyHR1CJmy1U89WWnzRK7Ix2FUAAAwBgBRbSVkWxhOU1OatbRE3rCB0MdJd4Wt6Wklbkn7pPX27+8qhgmZUU8c8ZyyRge0+gjK86+jZX0M1JIcNlYWk4zj0r8t1H8n2+GkEhkETeHicMEo2nFIlGDjVbWj9TDq73drLcJTcKPyihccslgb9RuTjPp5bHHrWNqi\/wAN7oo4qOGfgheJJXPbgDqHX6faO1Xy83wQyRGJ8THRu5sLQQe5SjNJ3sVVMPUnFxU8n2fkz9NADTtFgY+j+K1F8sYyONscbQxjQA1rRgADqAX0q27u5phHZio8gp\/VNsmmjhulFhtXRHizjdzRvj04549aoESLs7nKlNVIuLOG03SC70DKmE78nt62O6wsjWNQ+Wnp7RTjinrJAMb8gfzx4L9qNO1dDcvL7FMyEybSwyfUP++xe1msdRFXPu11lE1bIMNaOUQPZ7tvirFsp7SZlk6s47qSz4vhY8Lnpb6KCptLxBXUrGtaQeESYGN\/T7+teB1jNHRyU8tBMLk3MYDWeYXdvb1jb0jtVYvwtBIJAJHI9i4p\/VmWPDtO9N7N\/wB8zJ09ajbbSIp2gzTEvmzvknqPbt8Vm1Vhr7PVOrrBJlrjmSkcfNPPlvv6ufpVSi5tu9ybw8HFR5aPiS7dW1kRdHU2GqbM3qZkg+z81x3Spv8AeKCpkdB8nUMcZe5rsh8gxnHac9w3VosvUruDTtac4+jx4nClGSurIpq0Z7D2ptq3cZ2nrVTVejm08kTWmqDy9wG+eIhru7ATStwkhfNYq1wFRSOIjJP129g9XP1H0LS023g07QjGPogfHdc2obE+4dHWUL+hr4COB4OOIZ5EpdNtM4qbjThUgs0tOaNxS4Pyprw7Zit8Xq87\/k\/s+Pn88KgU5pH2yf5UxwhjW+aTyz28+rHetTTdqktlC99SeKqqXmWU9hPIf76yUs4JtnXUVeUYw0Wb9jYREVRtCIiALCvOn31dW25W+fyauYPrb4kxyBx4de2y3UXU2ndEKlONRWkS8lq1DeMQ3KsjpqXk9kI86Tf4+vuW7brZSWqmFPSR8LeZcd3OPaT1rrRdcm8iEKMYPa1fNhERRLgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIvN08LM8crG455cBheLrnb254q6mGOeZW7e1dsyLklqzqWLq53DpirwcE8A\/bC7DerUBn5TpNv79v5rD1Zd7fVWGWGmrIZpHPb5rHgnGcqcIvaRnxFSG6lnwZuWVvBY6FuMfyePI9PCF3LCpdS2WloKeKSvZxMia04a48hjqC+ZNa2Vn1ZZZP8MR+OFxwk3odjXpRik5LzN9FMnW9LJtS2+smJOG+aBk9xK\/DqS9znhpNPTDOMOlJx7h703ch8VS4O\/cmU6KDuN41PDVRUrqiJlTLjFPA1rnN7M7HHbzVpQNqGUEDKtwdO1gD3DrPakobKudpYhVZOKTVuZ0IiKBoCIiAIi8airpqRnHU1EcLe17w33ocbSzZ7Ip+r1naqc8EBkq39kTNvE49mVzfLOpbiSKC0CmYR9ec7j0749xU93LiZ3iad7J3fZmVK8KitpKQZqamGH\/ABvDfep75vXyvObnenNYeccGcEdnUOvsK96fRNnhdxStmqD19JJzPdhNmK1Y3laXVhbvftc96jV1kp8jyvpXD7MTC7Pfy9q4jrWOY\/yK11dQB18ONu7K2aey2ulIMNBA0jk7gBPid12gADAGAEvBcBsV5ayS7l7kz8t6lqN6awiMf3zj8eFOi1nUb9PR0uerAOPYVTom2uCG4b6036ehMG0aplGJb5G3PPgbjfuAT5r3WT+e1JVEfdaHb\/tKnRN4x8LT43fiyY+Z0jt5L3WPPbn\/AFT5jUZ2dX1hHWOIb+xU6JvJcx8JR+n1Jj5g2r+0Vn42\/wAKfMG1f2is\/G3+FU6JvJ8x8JQ+lEx8wbV\/aKz8bf4U+YNq\/tFZ+Nv8Kp0TeT5j4Sh9KJj5g2r+0Vn42\/wp8wbV\/aKz8bf4VTom8nzHwlD6UTbNC2huMuqX4+9IN\/AL2boyyNxmne7HbK7fwK3kTeS5nVhqK\/qjFGkLCDnyDl\/ev\/NY+rLJa7dZumpaQRSmVrQ4OJ7e0qyU1rtwbYYwftVDQPBylCUnJZlWJo0o0ZNRWnI0KSwWqOniJt9O53AMl0Ydk49K7Y6GjhAEVJAzHLhjAXtG0sja08wAF9Ktts0xpwiskfgAAwBgBYt\/vpt7W0dCBNcJiBHGBnhz9o\/ktOvrYrfQzVc31Im8WO09Q7zgLC0vRyVU09\/q2\/T1ZIiBP1Wf7GB6B6VKKVtplVacm1Thq\/sjqsFgFtDqurd01fNvJITnhz1D81toii227sup04047MQiIuEwsq93sWdsQFJLUyzEiNjORxjme8dS1UXVa+ZGak42i7Mli3Vd45mO1wZB5+fj3+5e1Poq3tkMtbNNWSE5Je7hHPPIb+1UaKW2+GRQsNC959J9vtoc1Jb6OhZw0tLFCO1rQCfWeZXSiKGpoSSVkEREOhERAEREAREQBERAEREAREQBERAEREAWXf7P8t0UdN03RBkzZCeHOQAQR7VqIuptO6IzgpxcZaBERcJEtqhzrnc6GwxOI6RwkmLTybvz7snwVNFEyGJkUbQ1jGhrWjqA5BeQoKQV3lwgYKkt4TIBuRtz8BuuhSbukkU06bjOU3q\/QIiKJcf\/2Q==",
    "razonSocial": "SERVICIO AGRICOLA Y GANADERO ",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "CRISTIAN CASTILLO ZEPEDA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "SILBERTO.CABELLO@SAG.GOB.CL",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "995828986",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:01",
    "ubicacionGPS": "LatLng(lat: -29.9249856, lng: -71.2478887)",
    "horaLlegada": "15:05",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/05/2026 16:01:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61308000

[15/05/2026 16:01: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('61308000', 'TO2974', 2, 20988335, 0, NOW(), 
				'08:00', '15:05', '16:01', 1, 'se instala equipo, se da inducción de uso, se conecta en 5pc para imprimir
se deja toner
01 iton 2956', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778875282.png', '', null, 'COMPLETADO','LatLng(lat: -29.9249856, lng: -71.2478887)' )
				
[15/05/2026 16:01:22] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200344

15/05/2026 16:01:22 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '61308000'
				   AND serieintmaquina = 'TO2974'
		
15/05/2026 16:01:22 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'TO2974'
				   AND estado = 1
				
15/05/2026 16:01:22 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('61308000', 'TO2974', 1, 1, now(), 'SAG', 'LA SERENA', 'Administración');
				
15/05/2026 16:01:22 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200344'                    
				WHERE idllamado = 12623			
				TO ENVIO: SILBERTO.CABELLO@SAG.GOB.CL, tecnico@dsprint.cl


15/05/2026 16:01:22 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12623			
				
15/05/2026 16:01:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 16:01:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:01:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12623
LIMIT 1;
        

15/05/2026 16:01:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:01:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12623
LIMIT 1;
        

15/05/2026 16:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

[15/05/2026 16:01: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;
                

[15/05/2026 16:01: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;
                

15/05/2026 16:01:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:01:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12623
LIMIT 1;
        

15/05/2026 16:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12623
                

15/05/2026 16:01:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

[15/05/2026 16:01: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;
                

15/05/2026 16:01:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:01:26 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

15/05/2026 16:01:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[15/05/2026 16:01: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;
                

15/05/2026 16:01:26 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

15/05/2026 16:01:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:01:26 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

15/05/2026 16:01:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:01:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

15/05/2026 16:01:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:01:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

15/05/2026 16:01:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:01:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

15/05/2026 16:01:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:01:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

15/05/2026 16:01:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

[15/05/2026 16:01:27] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 16:01:27] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 16:01:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:01:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

15/05/2026 16:01:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:01:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

15/05/2026 16:01:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:01:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

15/05/2026 16:01:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:01:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

15/05/2026 16:01:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

15/05/2026 16:01:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:01:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

15/05/2026 16: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 = 12622
                

15/05/2026 16: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 = 12622
                

15/05/2026 16:01:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:01:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

15/05/2026 16: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 = 12622
                

15/05/2026 16: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 = 12622
                

15/05/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 = 12622
                

15/05/2026 16:02:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:02:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

15/05/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 = 12622
                

15/05/2026 16:02:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:02:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

15/05/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 = 12622
                

15/05/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 = 12622
                

15/05/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 = 12622
                

15/05/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 = 12622
                

15/05/2026 16:02:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:02:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

15/05/2026 16: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 = 12622
                

15/05/2026 16: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 = 12622
                

15/05/2026 16:02:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:02:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

15/05/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 = 12622
                

15/05/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 = 12622
                

15/05/2026 16:02:35 - logentry: =========================================
FECHA: 15/05/2026 16:02:35
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-PahaZSIA.lpCUgEv-8KP+eXeHf3.rjYCKh++sML9fsM1rSc6nRL
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61308000",
    "serieinterna": "TO2899",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "SAG",
    "ciudadmaquina": "LA SERENA",
    "departamentomaquina": "entrada",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se da inducción de uso y se instala en 3 pc para imprimir se realiza entrega de toner\n01 iton2956",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12622",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADFAQMDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABLEAABAwMCAgYGBAoHBwUAAAABAAIDBAURBiESMRNBUWGBkRQicaGxwRUyQtEHFiMkUmKCksLwQ3J0k6LS4SUzNERUVbI1U2PT8v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgMDCgcBAQEAAAAAAAABAgMREiExBEFREyIyYXGBkaGx0RQjM0JSweHwYlP\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBFjjnhle9kcrHujOHhrgS09\/ZyWRAncIiIAiIgCIiAIiIAiIgC1LpcIrVb5ayUFzYxs0faJ5DzW2pbUbTc9R2y0Z\/JD8tIMZyN\/k0+fWpQV3mU15uELx10Xaz5DHqu7RNqvS4qCNwyyLh3PWDyJ7OZSS56jsbuK400ddStHrTQ7Ed5\/1HiqpfCARgjIKlj6iv4dpXU3f\/bjWt9xpbnTieklD2HmORb7QtpSV2oJtO3Ft6tkZ9HcfzqBvLHbjqHwPcqajrIK+kjqqZ\/HHIMg\/Irko2zWhOlVbbhPKS8+tGdERQLwiIgCIiAIiIAiIgCIiAIiIAiIgJe2H0PXNxpiMNqWCRuTzOx+bvJVCl9Qk2\/UtquYADHHoZHY5Dv6uTj5KoVk87MzbPzXOHB+uYREVZpCIiAIiIAiIgCIiAKYpfzj8IVY\/Pq09OAPbhv3lU6mNPfldUXuYcmvDD7ckfwqcNGzNXzlBdfomU6IigaTy9jZI3RvaHNcCHA9YUrbHu03qB1old+Z1Z46dx3w47AZ8MeXaqxcbVFsNxtLnRA+kU56WIjntzHl7wFOD3PRmevB2U46r\/NHZRcvTt0F2tEU7jmVnqS\/1h1+PPxXUUWrOzLoTU4qS0YREXCQRcm\/3h9rp42U8Jlqqh3BC3G3F3rmmHWUbHVHpNLJsSKcgZHdkNG49qmoXVyiddRlhSbtwKhFyLDf47zHIx8RgqoTiSFx94\/nZddRaadmWQnGccUdAiIuEwiIgCIiAIiIDh6vojWafmLRl8BEo9g5+4nyW9ZqwXC0U1TxcTnxjjP6w2PvW5JG2WN0bxlrwWkdoKm9ISPpX19nlJ46WUuZxcy093gD+0rFnDsMsuZXT\/JW70UyIirNQREQBERAEREAREQBTGk\/Wut8l5cdTy7PWf8AeqdTGjRmS6yE5c6p39\/3qceizNV+tT7\/AEKdERQNIREQElTNOntXuphtR3LdnY13UPPbxCrVwdX0L6q0ekwnE1G7pmuHPA5\/f4LpWqtFxtdNVgjMrAXY6nciPMFWSzSkZaPy5yp7tV+\/M3ERFWaiXlHp\/wCECONxyyhg4sDPPGf4h5KoUvaDx64uz3\/XDAAMdXq\/cFUKc9y6jNs2alLi37EtqWn+irjTX+maQ5r+Coa044xj7hjyVOx7ZI2yMcHNcAWkdYWneqRtbZ6qBzeIuiJaP1gMj34WlpCoM+nKfidkxlzPZg7e7C684X4HI8yu4rSSv37ztoiKs1BFryV1HDIY5auCN45tdIAR4I24UT88NZA7HZK0\/NdsyOKPE2EWD02l\/wCph\/vAnptL\/wBTD\/eBLMYlxM6LXdXUbRl1XAB2mQLFJebXF9e40o7ulb96WYc4rVm6pW7EWfV9FcQGthrG9FKT27Anu5t8it2p1jZacerUOnd+jEwn3nA964V8vUuoLa+Kls9QYoyJOncCeDA35DHLPWrYRlfNZGLaa9Nx5srtZreXS1qy40dvYH1dTHCDy4jufYOZUtbnaj1FRtlbcoqWnGWEx\/XJHXt94XRo9G26GTpqp0lbLnJdKdifZ1+OVHCo9JlirVKivTjlxZu2q\/0l4nlipGS8MQyZHtw0+zf4rqLHDDFTxiOCJkTByaxoAHgFkUHa+RogpKPOd2ERFwmEREAREQBTGiPWpK55+s6pOT4D71TqY0N\/wNb\/AGk\/AKceizNU+tDvKdERQNIREQHmSNssbo3jLXgtI7QVN6Me+CKutcpy+knIGT1HbbxBPiqZTDQLf+EBwA9Svgzv1Ef\/AI96sjmmjNW5s4T67eP9KdERVmkmKH8n+EG4t5CSnBA7Thn+qp1MSZp\/wiRY29Jpt+\/AP+VU6nPd2GbZ\/uX\/AEz4QCMEZBUzo0mmdcraSfzaoyM9+R\/CPNU6mNPkHVV74MFnGMnvyf8AVI9FirlVpvt9CnREUDScis0vaK6qfUz05Mshy4iRwyfZla7tFWR2MQyN9kp+a76KWOXEpez0m7uK8Ce\/EmzfoTf3hT8SbN+hN\/eFUKLuOXEj8NR\/FE+NE2UHJilPcZCs0ekLHH\/yXEf1pHH5rtImOXE6tnor7V4GnT2m3UpBgoYIyPtCMZ81w9MYo7zdrU7HC2TpGN7jz9xaqhS1w\/2frqhqeTKxnRO7zy\/yrsXe6K60VBwmlo\/XI+WN\/wBC6irLI\/aGZ3TU\/iOXlt+yqpTWsKZ0UNLd4GZmopWkn9XPX448yu\/S1DKukhqY\/qSsDxnsIyk80pHaHMlKlwzXY\/YzIiKs1BERAEREAREQBTGhv+Brf7SfgFTqZ0MQbdVkAY9Jd6w69gpx6LM1T60O\/wDRTIiKBpCIiAKY1eBS1VquWMCCoDXHtGx+RVOuFrKDptOTO64nNeN+\/HzU6fSRn2pXoytuz8MzuotW2T+k2uln65IWuO3XhFB5F6d1c4WofzbVFlqgMcT+jJ6sZA\/iKp1Na4iJtENSwevTztcDjkDn54VFDI2aFkrfqvaHD2FTlnFMz0sq049j\/wB4HtTGlv8A1zUH9p\/ieqdcmzWh9tq7hO+QP9LmL27bgZJ3PiiawslUi3Ug1uv6HWREUC8ItG53ihtEbXVkvCX\/AFWgZLvDxXy3Xu33UfmtQ1z8ZMbtnAZ7F3C7XIcpDFgvmb6Ii4TCIiAKa1tE9tup66LHSUs4cCeoH\/UBUq0L5S+mWSsgxkuiJaMcyNx7wFKDtJMprwx0pIyyxQ3S2OjdvFUxdXYRzXE0bVOZT1Fpnceno5CAD+jnq8c+YW5pOp9J05SknLowYz3YO3uwude+Gyamo7wARDUZiqMDbljPlg\/sqaWsCicsoV139j9mVSIiqNp8JAGScAI1wc0OaQQRkEdam9TTT1lyobHBK6L0g8crmuweDf7ifBedL8VJdbpaxI50MDwYw45IHL4Y8lPBzbmb4j5uC2Wl+u1ynREUDSEREB5e7gY52M8IJwpzQbeGwyHP1qhx\/wALR8l3a9wZbqlx5CJ59xXI0U0t05GT9qR5HmproMzTzrx7H+jvoiKBpCIiALn36MSWGva4AgQPduM8hn5LoLTuwDrNWhxwDTyZP7JXY6ohUV4PsNPSj+k0zRuxjDXDn2OI+SLW0pJM3TdIGBvD6+Mtcftu7EUprnMqoS+VHsXobmpoPSNO1rMZ4Y+P905+S+6bn9I07RP7IuD931fkulJG2WN0bxlrwWkdoKm9IyPpJK+zSkl1LKXMJ62nu8M\/tLqzg0clza8XxVv37lMiIqzSEREBLW6KO66wuNRPDHIykAiaCMgHOM+3YrYvunGzZuFrb0FfFhzeDYPx1dxwsOm\/yepL7H+lMHb8\/rO+9U6tlJxlkYqNKNSk8SzbfqcjT98ZeKQh\/qVcW00eMYPaO5ddS2pKGW21kWoLewB8RxUMH2x2n4HwKoaGsiuFFFVwHMcrcju7R4HZRkl0loW0Zyu6c9V5ribCIigaAvhAIwRkFfUQExo4mmludsOcU1Rluew5H8I8109R0P0hYqmENy9rekZtk8Td9vby8VyoyKD8IMjMANroMj24+9h81UqybtJSMdCKlSdJ7ro5GmLgbjYoJHv4pI\/ych7x\/phddStmd9E6srrU4kRVJ6aEY2zzwPDI\/ZVUuTVnkWbPJyp2eqyfcTEv5X8IkOf6Km28j96+6cJn1He5hjhbKGA457kc\/BYX1DKTXNfUv+rFRl58GtK2dEwPFplq5D61VM5\/dgbfHKseUe5GWnnWt\/1J\/oo1pXe5RWm3SVcmCWjDGnPrO6gt1TOssyOtdOcFktSA4HcdQ5eJ\/kqqCvKxsrzcKbktTNRapa+rbTXGkfQvlwYnPPquB5b\/AD7VQLnXuzw3qgdBJhsjd4pMbtP3dq0dL3Oaohlt1b6tZRngcCTlzeWd\/wCeSk0mrohCc4TwTd76P9HRvTuCx1zs4\/N5MHv4StLSDeHTFJtgnjJ\/fKzamfwacrTv\/u8bd5AXEt+pIrXa6Siho5auRkDZJOiOeDJHPz88DrXUm4ZcSupUjCveT3fssEWpbrnSXWn6ekl42g4cCMFp7wttVNWNkZKSugiIh0Lnagf0dgrndsDh5jHzXRXF1dL0WmqrBwX8LR4uGfdlSj0kVVnalJ9TPelmdHpuib2sLvNxPzRbNli6GyUUZHCRAzI7DgZ96JLVnaStTiupG8parAtmu6WozwxV8fRu5bu5Y8wxVKm9bQO+i4a2MHpKSZrgewHb48K7T1txKtqXy8S+3PwKRFjp5m1NNFOz6srA9vsIysigaU75hERAS8WKD8IMrSA1tbT5by3O3zaVUKY1eySknt94iaT6LLiTG2Wk8vZzHili1XJc7p6JUQsi6UExcJ4uQ5Z8CrXFyipIw06saVR0pb3l3\/0pXsbJG6N7Q5rgQ4HrCldPyPst9qbFM49E89JTEnx9494KrFOawoJHUsV1pdqiicHZHPhz8jv5rkH9r3lu0JpKpHWPpvKNFr0FW2vt8FWzGJWB2Ac4PWPA7LYVZoTTV0EREOkxqwijuVpuecCKbgeeRLdj8OLzVOuFrKn9I05M4NyYXNkHdvg+4ldO11AqrXSzg56SJpPtxv71N5xTM0ObXmuNn+jh6uY+kkoLxE0l1LKA\/HW09RPgR+0qRj2yRtkY4Oa4AtI6wtK+Ufp9lqqcDLnRks\/rDce8LU0lWel6ep8uy6HMTu7HL3YXXnDsEeZXa\/JX71l7EzrJ0kGoHiLPFU07WkAcxnq7fqq3t1KKG3U9KP6KMNPecb+9SGp6uBusKHpWh8dP0fSAnPN2eQ7iDhXClN82KKdmiuWqPrCmdbRuZRUla1pJpqgEkdQP+oCploXyh+kbNU0oGXuZlg\/WG494VcHaSZp2iDnSlFG7HI2WNsjDlrwHA9oKl75H9D6korzGeGKdwiqOoe0+G\/7K6OlK4V1ggy4F8I6J2+eXL3YWPWcTZNNTuPONzHD28QHzKlHKdimq1Uocot2fgNZP4NNVDf03MH+IH5LmaLZw3Gua5xc6OKNm4xjGdvcmp53y6Pt3rcT5zET1Z9Qn44WelZ9Ga5khxww1kH5MkcyAD8j5qayg0Z5u+0xnuVvO54rm\/ixqOOthbihrzwzMA2a7tHnnzXX1HX1FvsktVS44gQOIjOAds+8LzqilbVadq2kZMbOkacci3f4Z815t7RetIxRSEflqfoy474cPVz5jKjdNKTL8LjKdOO9XXUY9LXyS8UkjakNE8JGeEEZaeR39i7q\/PdIvltup30UzQ10jXROB6iN9vL3r9CXKsUpZEtjqupS52qyCmtZymaCjtkWHS1c49U9g2+JHkqVS1C5151nUVR4XU1vb0ce2Rxcsjx4jn2LkNb8CW0u8VTX3Ze\/kU8bGxRtjb9VgAHsCL0igaQta4Uba+3z0jjgSsLc4zg9R81somhxpNWZwNHVj57N6LKCJaN5icHHfHMfd4LvqWt7TatbVlK71Yq5nSR52Dnc\/8yqVOet+JRszfJ4XqsvAIiKBoNW5ULLlbp6OQ4ErcA9h5g+eFAaRhkbqqFjwcwiTiB2x6pHxK\/SV+c3O5fRmtKito8FrJAHgDY+qA8e3OfFX0m2nE83bVGM4VXuf9P0ZY5oWVEEkEgyyRpa4doIwV4o6yCvpI6qmfxxyDIPyKzqjQ9FNSXUTOi5TFBXW17iX0k5GD1A7beLT5qmUvSn0DX1TD9ith42gdoGc+53mqhTqa34mfZcqeHg2jk6mrprfY5pqclspIa1w+zk7nyytiyVDqqyUcz38b3RN4nHmSBg+9cjXZ\/2FG3BJdUNAx7HL1omdzrTJRyDElJM5hHcd\/jlSw\/LuV8o\/isD0sduuphWUE9Mf6WNzfMLjaJqTLY+gd9emlczHdz+Z8lQqWsn5hq+6UB2bOOmb8f4j5Lkc4tE6vNqwlxuvb0KlS+mfzG+3a1kENa\/pY2n9HP3FqqFF6lnfZtSMuEX\/ADFK9nP7WCB7+FIK94nNpeDDU4PyZqi3u1AL7XsaHvDwKcnrAOf\/ABAHiqvTtf8ASNjppifXDeB++d27e\/n4rX0jR+iaegyMOnJlPjy9wC5zJH6X1BK2Rpba613EH49WN5+H3Y7FOTxXitxRSXIqNR\/dr35p\/orEXxrg5oc0ggjII619VB6RK05\/F7VkkMhxR3LBjJP1X9Q8yR4hb2sXhumakHm4sA\/fB+S2b7Zor1bzA7DZW+tFIfsu+49akrhcbjcKWDT1ZE5tc2oa1zzvxtwQCfMHPdlXx5zT4Hm1W6MJU9zvbv3exvXcGSm0zR7cTzHnHVgMHzW7rCmkjZS3eBoMlFIC7bmMjGe7PxWK4sbJre1UjG+pBFxezHEf4QqaeGOpgkglbxRyNLXDtBXHK1mSjS5RVF2LwSMTHxXO2hzHZiqYuY7HBcTQ8rjZ5aZ\/1qedzcdg2PxysOnqqaz3KTT9c7IB4qZ5OxHZ4\/HK96TAZdr7E0eqyp2\/ef8AcjjZNHY1MdSnLfmn\/u41NWwzU+oLdV0DcVcx4W7gBzgQAN\/bhb9DrGlJNPdWOoqph4XgtJaT3cyPHzWPU\/5S\/WGJm7xPxHHMDiZv7j5Lv1NDSVgxVU0U2OXGwHCNrCriMJ8rN03bPTdocK76oglh9Cs8pnrZ8NY5jdm57z1ro6ftDLNbGQc5X+vKf1scvYFtUlsoaDJpaWKInra3fzW0oOStZF8KUseOo7vyQREUDQEREBNawpnRQ0t3gZmailaSf1c9fjjzK79LUMq6SGpj+pKwPGewjK+1NPHVU0tPKMxysLHDuIwp7S1VJRT1FgrHYmp3Ewk7cbO74+w9ys6Uewy\/TrX3S9V7opkRFWajTutey2W2erdgmNp4Wk44ndQU9aNOMrtLyCqAbUVrunEnMt\/RO3cScfrFfLhM7VN7ZbKVx9BpTxVDwdn7jYY8h4nqVa1oa0NaAABgAdStu4K28xpKvUbecVl7+x+aWm61umLnJTzMcYw7E0Of8Q78ea\/RKKtp7hSsqaaQPjeNj2dx71zr9p2K8sErH9BVsGGSgc+49yi2G8aXq+kbDJHjIeXAmKUZx1Y7u\/zU2lUV1qZYyqbG8Ms4ehTXj1Na2mRpHGWFp36tx8yqdQlBfIqrUv0hd3Npegi4I4zG44z8OfPvXcrNZWmmYegldVS8gyNp38TsoyhLJWL6Neksc3KybMGqWmsulpt7QSHTdJIeoNyB8yvlGDa9cVNPkCG4R9KBy9bn18\/tcu1ZLHbKuoucl9ujAyeQYhi\/9tuMZ8tvE9qxaoDGXuyysbmfpsDHMjibz8z5ldX4EJJ2ddq2a8NPMqFMXsehavtNcNhNmF3Z2fxe5U6ndbUzpbGJ2D1qaVr89g5fEjyVdPpWNO1L5Ta3Z+BRKQ\/CCI\/RKMkflOkdw+zAz8lUUVQKuhgqQABNG1+B1ZGVKfhBb6lveWktBkBIP9X7lKl00Q2x32eTXV6lbTFjqWJ0W0ZYC3fO2Nl4raKnuFK+mqYw+N43HZ3jvXi1NLbRRtdnIgYDn+qFtqvRmlWlHMk20180vk0x+kqAf0biQ6MDJ27Pf7Ftxa1tJy2cT08jdnMfGcg9Y2VCsMtLTTkmanikJ58bAVPEn0kUKjOGVOWXB5k\/Va0ge4QWqkmq6h31QWED245la79JVtfDLW1lYW3J7g+M5w2PH2ds+7ljrVXHDFC3hijZG3sa0AL2mO3RD2d1Pqu\/kiCs9wfFq10l7qGQzRRGLidgAuGBuRtyyc8leAgjIOQVHWS20l8rbzNWw9I11RhhJw5m7uRHh5LOy1ajsZ4LXVMrqbG0U23D3bnbwI69lOaTetmZ9nlOnC9rpt9vedLUlmFzpBNC4R1dN68T8gct8E\/zhcbQ9dHJU3B1RMwVNS9ryDtxbnOOrm7l3rPUDVF5p3UU1JDQxSD15OLORnBHM\/yFvz6RtFRSxQugMbom8IkiPC4+3nnxyuXSjhkzrjKdVVacdOOVzREjLxrpjoj0kFvi3c07cW\/zPuVUtG32+istJ0EGI2ElznPdu49pKS3u1w\/7y40w2zgSg\/BQlztDTSXJpubV27m8i4NRrOywA8M75iOqOM\/PAWxZr8y8vkEdJPCxrQWvkGzu35LmCSV2iSr0pSwqV2dZERRLgsE9bSUpAqamGHIyOkkDfis65tfp+2XOpFRV05kkDeHPG4ZHgV1W3kJ47czXrPTr9aGZzcqbbskB+Cn9QVtlri2rpLoyGvpxmORrSeLrwSB\/OV2W6UsbMYoGbdr3H4lZm6fs7MYttPt2xg\/FWJwTurmacK9SOGWHzJ2h161lO1lfTOfKBu+HADvA8itK56wmujjSRO9BpZMh8hBc8jw5eCs\/oW1f9so\/7hv3L02021gw230rR3QtHyXccE72K3Q2mUcLnkT9rv2m7PRCnppnnre4xO4nntOy2Xa4szRkGd3cI\/8AVdgW2gByKGnBH\/xN+5ZG0tMw5bTxNPcwBRbi87FsadeKsmkuz+nAdry0txiKqd7GN+bl5\/HugdvHRVjx28LfvVK1jGZ4WhuewYXpcvDgS5Ov+a8P6SNTqehrh+WsE9Q3qL4wf561jp73DTOD6bSkrCPqvEfrd2\/CrJF3GuHmR5Co3dzz7ETH413J27NM1jm9R9b\/ACLw7Ulykc1x0pUl7T6jnBx4T+5sqpExR4EuSq\/+nkiYOor7jbTk2fa77lgrq3UlwoZqZ9iYI5WFpydx3jdVy06q60NFVQ01TOI5J\/qBwOD48gikr5IhOjK3PqO3d7ElYLhqSa1Mht1LTyQQEsEkhwc88fW7x1LcqY9V1kYjqLdQyNBDgHYOCP2ln0eOhqLtSjPDDUnAI5bkc+v6oVMpTlaWSKqFBzpK8n\/u4mBPrIDAo6MAd4\/zJ0us37dBRx9+R95VOihj6kaPh\/8AuXj\/AAmOi1m7f0ijZn7OBt7k9B1md\/pWjbnq4Rt\/gVOiY+pD4ZflLxJj0HWf\/dqP9wf\/AFrFVU2r6ekmnmu9L0cTHPdwsGcAZ\/Q7lWLjasqPR9OVR65AIx4nf3ZUoyu0rIrqUVCDlieS4sndPWe9T2sVFHcxSxTPc7hxkuOcEnyXU\/Fu9u2dqScDtaHZ\/wDJdix05pbJRwkYIhaSOwkZPvK30lUd3YUtlhyavfTiyY\/FS5O2fqasc3rHrf50OjZJBwz3uskbncZ+8lU6KPKSLPhKPDzfuTTNC2sHilmqpXdZc8fctuLSNjiwfQ+MjrfI4+7OF2kTHLiSWzUVpFGrBa7fTHMFFTxntbGAfNbSIoXuXKKWSQREQ6EREAREQBERAEREAREQBERAEREAWldLTSXenENUzPCctcNi0+1bqLqds0RlFSVnociw2FlkjmPpD55ZyDI9wxnBOMDx7110RG23dnIQjCKjHQIiLhMIiIApfWJNXLbbUwnNTPl2Oocs\/wCI+SqFKUJF41vU1ez4aBnRsOM77j48R\/nKsp5O\/Ay7TnFU\/wAnb3KoAAYAwAvqIqzUEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAatxohcKKSmM8sPH9uJ2CFjtNpp7PSmCDicXu4nvcclxRF27tYhgjix2zN5ERcJhERAEREAREQBERAf\/\/Z",
    "razonSocial": "SERVICIO AGRICOLA Y GANADERO ",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "CRISTIAN MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "SILBERTO.CABELLO@SAG.GOB.CL",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "995828986",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:02",
    "ubicacionGPS": "LatLng(lat: -29.9249822, lng: -71.2478911)",
    "horaLlegada": "15:05",
    "horaDespacho": "16:01",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 15/05/2026 16:02:35
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-PahaZSIA.lpCUgEv-8KP+eXeHf3.rjYCKh++sML9fsM1rSc6nRL
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61308000",
    "serieinterna": "TO2899",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "SAG",
    "ciudadmaquina": "LA SERENA",
    "departamentomaquina": "entrada",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se da inducción de uso y se instala en 3 pc para imprimir se realiza entrega de toner\n01 iton2956",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12622",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADFAQMDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABLEAABAwMCAgYGBAoHBwUAAAABAAIDBAURBiESMRNBUWGBkRQicaGxwRUyQtEHFiMkUmKCksLwQ3J0k6LS4SUzNERUVbI1U2PT8v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgMDCgcBAQEAAAAAAAABAgMREiExBEFREyIyYXGBkaGx0RQjM0JSweHwYlP\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBFjjnhle9kcrHujOHhrgS09\/ZyWRAncIiIAiIgCIiAIiIAiIgC1LpcIrVb5ayUFzYxs0faJ5DzW2pbUbTc9R2y0Z\/JD8tIMZyN\/k0+fWpQV3mU15uELx10Xaz5DHqu7RNqvS4qCNwyyLh3PWDyJ7OZSS56jsbuK400ddStHrTQ7Ed5\/1HiqpfCARgjIKlj6iv4dpXU3f\/bjWt9xpbnTieklD2HmORb7QtpSV2oJtO3Ft6tkZ9HcfzqBvLHbjqHwPcqajrIK+kjqqZ\/HHIMg\/Irko2zWhOlVbbhPKS8+tGdERQLwiIgCIiAIiIAiIgCIiAIiIAiIgJe2H0PXNxpiMNqWCRuTzOx+bvJVCl9Qk2\/UtquYADHHoZHY5Dv6uTj5KoVk87MzbPzXOHB+uYREVZpCIiAIiIAiIgCIiAKYpfzj8IVY\/Pq09OAPbhv3lU6mNPfldUXuYcmvDD7ckfwqcNGzNXzlBdfomU6IigaTy9jZI3RvaHNcCHA9YUrbHu03qB1old+Z1Z46dx3w47AZ8MeXaqxcbVFsNxtLnRA+kU56WIjntzHl7wFOD3PRmevB2U46r\/NHZRcvTt0F2tEU7jmVnqS\/1h1+PPxXUUWrOzLoTU4qS0YREXCQRcm\/3h9rp42U8Jlqqh3BC3G3F3rmmHWUbHVHpNLJsSKcgZHdkNG49qmoXVyiddRlhSbtwKhFyLDf47zHIx8RgqoTiSFx94\/nZddRaadmWQnGccUdAiIuEwiIgCIiAIiIDh6vojWafmLRl8BEo9g5+4nyW9ZqwXC0U1TxcTnxjjP6w2PvW5JG2WN0bxlrwWkdoKm9ISPpX19nlJ46WUuZxcy093gD+0rFnDsMsuZXT\/JW70UyIirNQREQBERAEREAREQBTGk\/Wut8l5cdTy7PWf8AeqdTGjRmS6yE5c6p39\/3qceizNV+tT7\/AEKdERQNIREQElTNOntXuphtR3LdnY13UPPbxCrVwdX0L6q0ekwnE1G7pmuHPA5\/f4LpWqtFxtdNVgjMrAXY6nciPMFWSzSkZaPy5yp7tV+\/M3ERFWaiXlHp\/wCECONxyyhg4sDPPGf4h5KoUvaDx64uz3\/XDAAMdXq\/cFUKc9y6jNs2alLi37EtqWn+irjTX+maQ5r+Coa044xj7hjyVOx7ZI2yMcHNcAWkdYWneqRtbZ6qBzeIuiJaP1gMj34WlpCoM+nKfidkxlzPZg7e7C684X4HI8yu4rSSv37ztoiKs1BFryV1HDIY5auCN45tdIAR4I24UT88NZA7HZK0\/NdsyOKPE2EWD02l\/wCph\/vAnptL\/wBTD\/eBLMYlxM6LXdXUbRl1XAB2mQLFJebXF9e40o7ulb96WYc4rVm6pW7EWfV9FcQGthrG9FKT27Anu5t8it2p1jZacerUOnd+jEwn3nA964V8vUuoLa+Kls9QYoyJOncCeDA35DHLPWrYRlfNZGLaa9Nx5srtZreXS1qy40dvYH1dTHCDy4jufYOZUtbnaj1FRtlbcoqWnGWEx\/XJHXt94XRo9G26GTpqp0lbLnJdKdifZ1+OVHCo9JlirVKivTjlxZu2q\/0l4nlipGS8MQyZHtw0+zf4rqLHDDFTxiOCJkTByaxoAHgFkUHa+RogpKPOd2ERFwmEREAREQBTGiPWpK55+s6pOT4D71TqY0N\/wNb\/AGk\/AKceizNU+tDvKdERQNIREQHmSNssbo3jLXgtI7QVN6Me+CKutcpy+knIGT1HbbxBPiqZTDQLf+EBwA9Svgzv1Ef\/AI96sjmmjNW5s4T67eP9KdERVmkmKH8n+EG4t5CSnBA7Thn+qp1MSZp\/wiRY29Jpt+\/AP+VU6nPd2GbZ\/uX\/AEz4QCMEZBUzo0mmdcraSfzaoyM9+R\/CPNU6mNPkHVV74MFnGMnvyf8AVI9FirlVpvt9CnREUDScis0vaK6qfUz05Mshy4iRwyfZla7tFWR2MQyN9kp+a76KWOXEpez0m7uK8Ce\/EmzfoTf3hT8SbN+hN\/eFUKLuOXEj8NR\/FE+NE2UHJilPcZCs0ekLHH\/yXEf1pHH5rtImOXE6tnor7V4GnT2m3UpBgoYIyPtCMZ81w9MYo7zdrU7HC2TpGN7jz9xaqhS1w\/2frqhqeTKxnRO7zy\/yrsXe6K60VBwmlo\/XI+WN\/wBC6irLI\/aGZ3TU\/iOXlt+yqpTWsKZ0UNLd4GZmopWkn9XPX448yu\/S1DKukhqY\/qSsDxnsIyk80pHaHMlKlwzXY\/YzIiKs1BERAEREAREQBTGhv+Brf7SfgFTqZ0MQbdVkAY9Jd6w69gpx6LM1T60O\/wDRTIiKBpCIiAKY1eBS1VquWMCCoDXHtGx+RVOuFrKDptOTO64nNeN+\/HzU6fSRn2pXoytuz8MzuotW2T+k2uln65IWuO3XhFB5F6d1c4WofzbVFlqgMcT+jJ6sZA\/iKp1Na4iJtENSwevTztcDjkDn54VFDI2aFkrfqvaHD2FTlnFMz0sq049j\/wB4HtTGlv8A1zUH9p\/ieqdcmzWh9tq7hO+QP9LmL27bgZJ3PiiawslUi3Ug1uv6HWREUC8ItG53ihtEbXVkvCX\/AFWgZLvDxXy3Xu33UfmtQ1z8ZMbtnAZ7F3C7XIcpDFgvmb6Ii4TCIiAKa1tE9tup66LHSUs4cCeoH\/UBUq0L5S+mWSsgxkuiJaMcyNx7wFKDtJMprwx0pIyyxQ3S2OjdvFUxdXYRzXE0bVOZT1Fpnceno5CAD+jnq8c+YW5pOp9J05SknLowYz3YO3uwude+Gyamo7wARDUZiqMDbljPlg\/sqaWsCicsoV139j9mVSIiqNp8JAGScAI1wc0OaQQRkEdam9TTT1lyobHBK6L0g8crmuweDf7ifBedL8VJdbpaxI50MDwYw45IHL4Y8lPBzbmb4j5uC2Wl+u1ynREUDSEREB5e7gY52M8IJwpzQbeGwyHP1qhx\/wALR8l3a9wZbqlx5CJ59xXI0U0t05GT9qR5HmproMzTzrx7H+jvoiKBpCIiALn36MSWGva4AgQPduM8hn5LoLTuwDrNWhxwDTyZP7JXY6ohUV4PsNPSj+k0zRuxjDXDn2OI+SLW0pJM3TdIGBvD6+Mtcftu7EUprnMqoS+VHsXobmpoPSNO1rMZ4Y+P905+S+6bn9I07RP7IuD931fkulJG2WN0bxlrwWkdoKm9IyPpJK+zSkl1LKXMJ62nu8M\/tLqzg0clza8XxVv37lMiIqzSEREBLW6KO66wuNRPDHIykAiaCMgHOM+3YrYvunGzZuFrb0FfFhzeDYPx1dxwsOm\/yepL7H+lMHb8\/rO+9U6tlJxlkYqNKNSk8SzbfqcjT98ZeKQh\/qVcW00eMYPaO5ddS2pKGW21kWoLewB8RxUMH2x2n4HwKoaGsiuFFFVwHMcrcju7R4HZRkl0loW0Zyu6c9V5ribCIigaAvhAIwRkFfUQExo4mmludsOcU1Rluew5H8I8109R0P0hYqmENy9rekZtk8Td9vby8VyoyKD8IMjMANroMj24+9h81UqybtJSMdCKlSdJ7ro5GmLgbjYoJHv4pI\/ych7x\/phddStmd9E6srrU4kRVJ6aEY2zzwPDI\/ZVUuTVnkWbPJyp2eqyfcTEv5X8IkOf6Km28j96+6cJn1He5hjhbKGA457kc\/BYX1DKTXNfUv+rFRl58GtK2dEwPFplq5D61VM5\/dgbfHKseUe5GWnnWt\/1J\/oo1pXe5RWm3SVcmCWjDGnPrO6gt1TOssyOtdOcFktSA4HcdQ5eJ\/kqqCvKxsrzcKbktTNRapa+rbTXGkfQvlwYnPPquB5b\/AD7VQLnXuzw3qgdBJhsjd4pMbtP3dq0dL3Oaohlt1b6tZRngcCTlzeWd\/wCeSk0mrohCc4TwTd76P9HRvTuCx1zs4\/N5MHv4StLSDeHTFJtgnjJ\/fKzamfwacrTv\/u8bd5AXEt+pIrXa6Siho5auRkDZJOiOeDJHPz88DrXUm4ZcSupUjCveT3fssEWpbrnSXWn6ekl42g4cCMFp7wttVNWNkZKSugiIh0Lnagf0dgrndsDh5jHzXRXF1dL0WmqrBwX8LR4uGfdlSj0kVVnalJ9TPelmdHpuib2sLvNxPzRbNli6GyUUZHCRAzI7DgZ96JLVnaStTiupG8parAtmu6WozwxV8fRu5bu5Y8wxVKm9bQO+i4a2MHpKSZrgewHb48K7T1txKtqXy8S+3PwKRFjp5m1NNFOz6srA9vsIysigaU75hERAS8WKD8IMrSA1tbT5by3O3zaVUKY1eySknt94iaT6LLiTG2Wk8vZzHili1XJc7p6JUQsi6UExcJ4uQ5Z8CrXFyipIw06saVR0pb3l3\/0pXsbJG6N7Q5rgQ4HrCldPyPst9qbFM49E89JTEnx9494KrFOawoJHUsV1pdqiicHZHPhz8jv5rkH9r3lu0JpKpHWPpvKNFr0FW2vt8FWzGJWB2Ac4PWPA7LYVZoTTV0EREOkxqwijuVpuecCKbgeeRLdj8OLzVOuFrKn9I05M4NyYXNkHdvg+4ldO11AqrXSzg56SJpPtxv71N5xTM0ObXmuNn+jh6uY+kkoLxE0l1LKA\/HW09RPgR+0qRj2yRtkY4Oa4AtI6wtK+Ufp9lqqcDLnRks\/rDce8LU0lWel6ep8uy6HMTu7HL3YXXnDsEeZXa\/JX71l7EzrJ0kGoHiLPFU07WkAcxnq7fqq3t1KKG3U9KP6KMNPecb+9SGp6uBusKHpWh8dP0fSAnPN2eQ7iDhXClN82KKdmiuWqPrCmdbRuZRUla1pJpqgEkdQP+oCploXyh+kbNU0oGXuZlg\/WG494VcHaSZp2iDnSlFG7HI2WNsjDlrwHA9oKl75H9D6korzGeGKdwiqOoe0+G\/7K6OlK4V1ggy4F8I6J2+eXL3YWPWcTZNNTuPONzHD28QHzKlHKdimq1Uocot2fgNZP4NNVDf03MH+IH5LmaLZw3Gua5xc6OKNm4xjGdvcmp53y6Pt3rcT5zET1Z9Qn44WelZ9Ga5khxww1kH5MkcyAD8j5qayg0Z5u+0xnuVvO54rm\/ixqOOthbihrzwzMA2a7tHnnzXX1HX1FvsktVS44gQOIjOAds+8LzqilbVadq2kZMbOkacci3f4Z815t7RetIxRSEflqfoy474cPVz5jKjdNKTL8LjKdOO9XXUY9LXyS8UkjakNE8JGeEEZaeR39i7q\/PdIvltup30UzQ10jXROB6iN9vL3r9CXKsUpZEtjqupS52qyCmtZymaCjtkWHS1c49U9g2+JHkqVS1C5151nUVR4XU1vb0ce2Rxcsjx4jn2LkNb8CW0u8VTX3Ze\/kU8bGxRtjb9VgAHsCL0igaQta4Uba+3z0jjgSsLc4zg9R81somhxpNWZwNHVj57N6LKCJaN5icHHfHMfd4LvqWt7TatbVlK71Yq5nSR52Dnc\/8yqVOet+JRszfJ4XqsvAIiKBoNW5ULLlbp6OQ4ErcA9h5g+eFAaRhkbqqFjwcwiTiB2x6pHxK\/SV+c3O5fRmtKito8FrJAHgDY+qA8e3OfFX0m2nE83bVGM4VXuf9P0ZY5oWVEEkEgyyRpa4doIwV4o6yCvpI6qmfxxyDIPyKzqjQ9FNSXUTOi5TFBXW17iX0k5GD1A7beLT5qmUvSn0DX1TD9ith42gdoGc+53mqhTqa34mfZcqeHg2jk6mrprfY5pqclspIa1w+zk7nyytiyVDqqyUcz38b3RN4nHmSBg+9cjXZ\/2FG3BJdUNAx7HL1omdzrTJRyDElJM5hHcd\/jlSw\/LuV8o\/isD0sduuphWUE9Mf6WNzfMLjaJqTLY+gd9emlczHdz+Z8lQqWsn5hq+6UB2bOOmb8f4j5Lkc4tE6vNqwlxuvb0KlS+mfzG+3a1kENa\/pY2n9HP3FqqFF6lnfZtSMuEX\/ADFK9nP7WCB7+FIK94nNpeDDU4PyZqi3u1AL7XsaHvDwKcnrAOf\/ABAHiqvTtf8ASNjppifXDeB++d27e\/n4rX0jR+iaegyMOnJlPjy9wC5zJH6X1BK2Rpba613EH49WN5+H3Y7FOTxXitxRSXIqNR\/dr35p\/orEXxrg5oc0ggjII619VB6RK05\/F7VkkMhxR3LBjJP1X9Q8yR4hb2sXhumakHm4sA\/fB+S2b7Zor1bzA7DZW+tFIfsu+49akrhcbjcKWDT1ZE5tc2oa1zzvxtwQCfMHPdlXx5zT4Hm1W6MJU9zvbv3exvXcGSm0zR7cTzHnHVgMHzW7rCmkjZS3eBoMlFIC7bmMjGe7PxWK4sbJre1UjG+pBFxezHEf4QqaeGOpgkglbxRyNLXDtBXHK1mSjS5RVF2LwSMTHxXO2hzHZiqYuY7HBcTQ8rjZ5aZ\/1qedzcdg2PxysOnqqaz3KTT9c7IB4qZ5OxHZ4\/HK96TAZdr7E0eqyp2\/ef8AcjjZNHY1MdSnLfmn\/u41NWwzU+oLdV0DcVcx4W7gBzgQAN\/bhb9DrGlJNPdWOoqph4XgtJaT3cyPHzWPU\/5S\/WGJm7xPxHHMDiZv7j5Lv1NDSVgxVU0U2OXGwHCNrCriMJ8rN03bPTdocK76oglh9Cs8pnrZ8NY5jdm57z1ro6ftDLNbGQc5X+vKf1scvYFtUlsoaDJpaWKInra3fzW0oOStZF8KUseOo7vyQREUDQEREBNawpnRQ0t3gZmailaSf1c9fjjzK79LUMq6SGpj+pKwPGewjK+1NPHVU0tPKMxysLHDuIwp7S1VJRT1FgrHYmp3Ewk7cbO74+w9ys6Uewy\/TrX3S9V7opkRFWajTutey2W2erdgmNp4Wk44ndQU9aNOMrtLyCqAbUVrunEnMt\/RO3cScfrFfLhM7VN7ZbKVx9BpTxVDwdn7jYY8h4nqVa1oa0NaAABgAdStu4K28xpKvUbecVl7+x+aWm61umLnJTzMcYw7E0Of8Q78ea\/RKKtp7hSsqaaQPjeNj2dx71zr9p2K8sErH9BVsGGSgc+49yi2G8aXq+kbDJHjIeXAmKUZx1Y7u\/zU2lUV1qZYyqbG8Ms4ehTXj1Na2mRpHGWFp36tx8yqdQlBfIqrUv0hd3Npegi4I4zG44z8OfPvXcrNZWmmYegldVS8gyNp38TsoyhLJWL6Neksc3KybMGqWmsulpt7QSHTdJIeoNyB8yvlGDa9cVNPkCG4R9KBy9bn18\/tcu1ZLHbKuoucl9ujAyeQYhi\/9tuMZ8tvE9qxaoDGXuyysbmfpsDHMjibz8z5ldX4EJJ2ddq2a8NPMqFMXsehavtNcNhNmF3Z2fxe5U6ndbUzpbGJ2D1qaVr89g5fEjyVdPpWNO1L5Ta3Z+BRKQ\/CCI\/RKMkflOkdw+zAz8lUUVQKuhgqQABNG1+B1ZGVKfhBb6lveWktBkBIP9X7lKl00Q2x32eTXV6lbTFjqWJ0W0ZYC3fO2Nl4raKnuFK+mqYw+N43HZ3jvXi1NLbRRtdnIgYDn+qFtqvRmlWlHMk20180vk0x+kqAf0biQ6MDJ27Pf7Ftxa1tJy2cT08jdnMfGcg9Y2VCsMtLTTkmanikJ58bAVPEn0kUKjOGVOWXB5k\/Va0ge4QWqkmq6h31QWED245la79JVtfDLW1lYW3J7g+M5w2PH2ds+7ljrVXHDFC3hijZG3sa0AL2mO3RD2d1Pqu\/kiCs9wfFq10l7qGQzRRGLidgAuGBuRtyyc8leAgjIOQVHWS20l8rbzNWw9I11RhhJw5m7uRHh5LOy1ajsZ4LXVMrqbG0U23D3bnbwI69lOaTetmZ9nlOnC9rpt9vedLUlmFzpBNC4R1dN68T8gct8E\/zhcbQ9dHJU3B1RMwVNS9ryDtxbnOOrm7l3rPUDVF5p3UU1JDQxSD15OLORnBHM\/yFvz6RtFRSxQugMbom8IkiPC4+3nnxyuXSjhkzrjKdVVacdOOVzREjLxrpjoj0kFvi3c07cW\/zPuVUtG32+istJ0EGI2ElznPdu49pKS3u1w\/7y40w2zgSg\/BQlztDTSXJpubV27m8i4NRrOywA8M75iOqOM\/PAWxZr8y8vkEdJPCxrQWvkGzu35LmCSV2iSr0pSwqV2dZERRLgsE9bSUpAqamGHIyOkkDfis65tfp+2XOpFRV05kkDeHPG4ZHgV1W3kJ47czXrPTr9aGZzcqbbskB+Cn9QVtlri2rpLoyGvpxmORrSeLrwSB\/OV2W6UsbMYoGbdr3H4lZm6fs7MYttPt2xg\/FWJwTurmacK9SOGWHzJ2h161lO1lfTOfKBu+HADvA8itK56wmujjSRO9BpZMh8hBc8jw5eCs\/oW1f9so\/7hv3L02021gw230rR3QtHyXccE72K3Q2mUcLnkT9rv2m7PRCnppnnre4xO4nntOy2Xa4szRkGd3cI\/8AVdgW2gByKGnBH\/xN+5ZG0tMw5bTxNPcwBRbi87FsadeKsmkuz+nAdry0txiKqd7GN+bl5\/HugdvHRVjx28LfvVK1jGZ4WhuewYXpcvDgS5Ov+a8P6SNTqehrh+WsE9Q3qL4wf561jp73DTOD6bSkrCPqvEfrd2\/CrJF3GuHmR5Co3dzz7ETH413J27NM1jm9R9b\/ACLw7Ulykc1x0pUl7T6jnBx4T+5sqpExR4EuSq\/+nkiYOor7jbTk2fa77lgrq3UlwoZqZ9iYI5WFpydx3jdVy06q60NFVQ01TOI5J\/qBwOD48gikr5IhOjK3PqO3d7ElYLhqSa1Mht1LTyQQEsEkhwc88fW7x1LcqY9V1kYjqLdQyNBDgHYOCP2ln0eOhqLtSjPDDUnAI5bkc+v6oVMpTlaWSKqFBzpK8n\/u4mBPrIDAo6MAd4\/zJ0us37dBRx9+R95VOihj6kaPh\/8AuXj\/AAmOi1m7f0ijZn7OBt7k9B1md\/pWjbnq4Rt\/gVOiY+pD4ZflLxJj0HWf\/dqP9wf\/AFrFVU2r6ekmnmu9L0cTHPdwsGcAZ\/Q7lWLjasqPR9OVR65AIx4nf3ZUoyu0rIrqUVCDlieS4sndPWe9T2sVFHcxSxTPc7hxkuOcEnyXU\/Fu9u2dqScDtaHZ\/wDJdix05pbJRwkYIhaSOwkZPvK30lUd3YUtlhyavfTiyY\/FS5O2fqasc3rHrf50OjZJBwz3uskbncZ+8lU6KPKSLPhKPDzfuTTNC2sHilmqpXdZc8fctuLSNjiwfQ+MjrfI4+7OF2kTHLiSWzUVpFGrBa7fTHMFFTxntbGAfNbSIoXuXKKWSQREQ6EREAREQBERAEREAREQBERAEREAWldLTSXenENUzPCctcNi0+1bqLqds0RlFSVnociw2FlkjmPpD55ZyDI9wxnBOMDx7110RG23dnIQjCKjHQIiLhMIiIApfWJNXLbbUwnNTPl2Oocs\/wCI+SqFKUJF41vU1ez4aBnRsOM77j48R\/nKsp5O\/Ay7TnFU\/wAnb3KoAAYAwAvqIqzUEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAatxohcKKSmM8sPH9uJ2CFjtNpp7PSmCDicXu4nvcclxRF27tYhgjix2zN5ERcJhERAEREAREQBERAf\/\/Z",
    "razonSocial": "SERVICIO AGRICOLA Y GANADERO ",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "CRISTIAN MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "SILBERTO.CABELLO@SAG.GOB.CL",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "995828986",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:02",
    "ubicacionGPS": "LatLng(lat: -29.9249822, lng: -71.2478911)",
    "horaLlegada": "15:05",
    "horaDespacho": "16:01",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/05/2026 16:02:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61308000

[15/05/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('61308000', 'TO2899', 2, 20988335, 0, NOW(), 
				'16:01', '15:05', '16:02', 1, 'se da inducción de uso y se instala en 3 pc para imprimir se realiza entrega de toner
01 iton2956', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1778875355.png', '', null, 'COMPLETADO','LatLng(lat: -29.9249822, lng: -71.2478911)' )
				
[15/05/2026 16:02:35] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200345

15/05/2026 16:02:35 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '61308000'
				   AND serieintmaquina = 'TO2899'
		
15/05/2026 16:02:35 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'TO2899'
				   AND estado = 1
				
15/05/2026 16:02:35 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('61308000', 'TO2899', 1, 1, now(), 'SAG', 'LA SERENA', 'entrada');
				
15/05/2026 16:02:35 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200345'                    
				WHERE idllamado = 12622			
				TO ENVIO: SILBERTO.CABELLO@SAG.GOB.CL, tecnico@dsprint.cl


15/05/2026 16:02:36 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12622			
				
15/05/2026 16:02:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


15/05/2026 16: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 = 12622
                

15/05/2026 16: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 = 12622
                

15/05/2026 16: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 = 12622
                

15/05/2026 16:02:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:02:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

15/05/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 = 12622
                

15/05/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 = 12622
                

15/05/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 = 12622
                

[15/05/2026 16:02:40] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 16:02:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:02:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

15/05/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 = 12622
                

15/05/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 = 12622
                

15/05/2026 16:02:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:02:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

15/05/2026 16:02:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:02:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

[15/05/2026 16:02:40] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/05/2026 16:02:40] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/05/2026 16:02:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/05/2026 16:02:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12622
LIMIT 1;
        

15/05/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 = 12622
                

15/05/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 = 12622
                

15/05/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 = 12622
                

15/05/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 = 12622
                

15/05/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 = 12622
                

15/05/2026 16:02:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12622
                

[15/05/2026 16:28: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;
                
[18/05/2026 09:51: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;
				

[18/05/2026 09:51: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;
                
[18/05/2026 09:51: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;
                

18/05/2026 09:51:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[18/05/2026 09:51:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[18/05/2026 09: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;
                

18/05/2026 09:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

18/05/2026 09:51:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[18/05/2026 09:51: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;
                

18/05/2026 09:51:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

18/05/2026 09:51:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[18/05/2026 09:51: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;
                

[18/05/2026 09:51: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;
                

[18/05/2026 09:51: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;
                

18/05/2026 09:51:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

18/05/2026 09:51:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[18/05/2026 09:51: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;
                
[18/05/2026 09:51: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[18/05/2026 09:51:37] 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;
                

[18/05/2026 09:51:40] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 09:51:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12626
            GROUP BY l.idllamado;
            

[18/05/2026 09:51:48] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

[18/05/2026 09:54:10] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

[18/05/2026 09:54:32] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 09:54:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12626
            GROUP BY l.idllamado;
            

[18/05/2026 10:01:26] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 10:01:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12626
            GROUP BY l.idllamado;
            

[18/05/2026 10:01: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;
                

[18/05/2026 10:03: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;
                

18/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[18/05/2026 10:03: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;
                

[18/05/2026 10:03:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12626
            GROUP BY l.idllamado;
            

18/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12626
            GROUP BY l.idllamado;
            

[18/05/2026 10:34:37] 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;
                

18/05/2026 10: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 = 12626
                

18/05/2026 10: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 = 12626
                

18/05/2026 10: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 = 12626
                

18/05/2026 10:34:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12626
            GROUP BY l.idllamado;
            

18/05/2026 10: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 = 12626
                

18/05/2026 10: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 = 12626
                

18/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12626
            GROUP BY l.idllamado;
            

18/05/2026 10: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 = 12626
                

18/05/2026 10: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 = 12626
                

18/05/2026 10: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 = 12626
                

18/05/2026 10: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 = 12626
                

18/05/2026 10:34:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12626
            GROUP BY l.idllamado;
            

18/05/2026 10: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 = 12626
                

18/05/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 = 12626
                

18/05/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 = 12626
                

18/05/2026 10:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12626
                

18/05/2026 10:34:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12626
            GROUP BY l.idllamado;
            

18/05/2026 10:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12626
                

18/05/2026 10:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12626
                

18/05/2026 10:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12626
                

18/05/2026 10:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12626
                

18/05/2026 10:34:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12626
            GROUP BY l.idllamado;
            

18/05/2026 10:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12626
                

18/05/2026 10:34:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12626
            GROUP BY l.idllamado;
            

18/05/2026 10:34:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12626
                

18/05/2026 10:34:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12626
                

18/05/2026 10:34:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12626
                

18/05/2026 10:34:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12626
                

18/05/2026 10:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12626
                

18/05/2026 10:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12626
                

18/05/2026 10:36:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12626
            GROUP BY l.idllamado;
            

18/05/2026 10:36:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12626
            GROUP BY l.idllamado;
            

18/05/2026 10:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12626
                

18/05/2026 10:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12626
                

18/05/2026 10:36:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12626
                

18/05/2026 10:36:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12626
                

18/05/2026 10: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 = 12626
                

18/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12626
            GROUP BY l.idllamado;
            

18/05/2026 10: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 = 12626
                

18/05/2026 10: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 = 12626
                

18/05/2026 10: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 = 12626
                

18/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12626
            GROUP BY l.idllamado;
            

18/05/2026 10: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 = 12626
                

18/05/2026 10:37:05 - logentry: =========================================
FECHA: 18/05/2026 10:37:05
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Nwf-Tm5c2biOpis2w.178OqxcUUg7XdN.0i4bfQdVJMc7m7YqwG
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "51064970",
    "serieinterna": "KY2678",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "213623",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "problema con copias manchadas no estaba presente",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12626",
    "observacion": "mantención",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACAANwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAgYHAwgJBQAAAAABAAIDBAURBiESMRNBUWFxgRQikaGxwdEVIzIWJEJSYnLh8DM1NlOCkqLC0kNjc7Lx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgEDAgMGBgIDAAAAAAAAAAECAxEhEjEEUWETIkFxgaEykbHB0eEU8CND8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBFUXq+Ntjo6aCPp62bHRwgHlnGVGtd7r\/ALUFsu9MyCd7ONjmnId3e53X1KWh2uUuvBT0GgREUS4IiIAiL45wa0ucQABkk9SA+rnNPDTRGWeVkUbebnnACoK\/V8DJjS2qB1fUk4HAMsz5c\/LbvXKLTlfd5RU6gqnEZy2lid6rfl7PapqFsywZnxGp6aS1P2+Z6qdVS1sxpLDSvqpuRmc0hjO\/\/wC481a2mluMNIRcq3pp3vLiWAANGBty\/nKlUlHTUMIhpYGQsHU0Yz49q7o5LZIlCnO+qcrv2CIigXhERAEREAREQBERAERcqmpio6d9RO8MjjGXOKHG0ldnVFHo62nuFOKimk44ySAcEcvFSECaaugiKPXzGnt1TODgxxPfnwBKBuyuZ7T7W3XUdxuzyS2J3RQtJzjbGfYP9RXrVI9Fu9nuA24JuB7uW2R8uJd9EwdDp1j\/AO+ke\/38P+1cNb4NHQt5k1Q2HM7FX\/7LHnNW4TU93n1vc06IioPSCKquuoqC0jhkk6WfkIYt3efYqcQai1Gc1Lvs2id+g3Z7h8fbgdymoN5eEZ514p6Yq75L78ixuuqqO3v9HpwayrJwIouo95+Q3Vey1XrUJD7xOaSkyCKaPYu8ezzz4K8tlkoLRGG0sI48YMrt3u8\/orBd1KPwkexnUzVeOS29eZFoLZR22Lo6OnZEOsgbu8TzKlIirbuaVFRVkEREOhERAEREARFBu90htFvkqpdyNmN\/XdjYLqV8EZSUU29jleb5S2WFrpcySv2jib+J30C+2e8w3iOUsjfDJC\/hfG\/8TeeM9nIqssNsnqqt1+uwHTyD7pjhgMb1HHUcDt6150hiequ9cz+jqKo8J83H\/cFY4xUX0MkatSVSLeE746czToiKo2hZjXdX0NnjpgcOqJRkZ5tbuffwrTrBa7qmvu8MB3EUBJ25Odn6BWUleaMfGz00H1wXuiY+DTkbsY6SR7vHfHyWgVbp6nNLYKKJwweiDiOzi9b5qyUZu8mXUI6aUV0QVff\/AOoK7\/wO+CsFX33+oa7bP3DjjyXI7olV+CXkcNK\/2aov3T\/7FV+rvvK6zU397U8\/No+ak6fraWi0pRzVM7Iow127jz9Y7DtWdut1l1BfaJtra+J0ZIhkkwMu5k+5XRi9bfmYatSK4aMPFpY+RsbleaC0s4qucNcRlsY3c7wCojVX7UoxRs+zqFx2mcfXeP57Paptu0nSU8npNe411W48Tny7tz4dfn7lfqF4x2yaNFWr8bsuS39X+CntOmbfasSBnT1GcmaUZIPcOr496uERQbbyy+EIwVoqyCIi4TCIiAIiIAiIgCIiALKXPhvmsKe2uw+mo2F8rd8E9ecf4R7fBaiaVkEL5pDwsjaXOPYBuVndGwvlpqq6zAdLWzE5x1A\/Un2KyGE5GWv35Rp88vyX7Lm7VLKO1VVRI7hDInY8SMAe3Cr9HwOh05AXbdIXPAz1E\/wUTV8r6t9FZYHgSVUgc\/uaORPnk\/4Vo4YmU8EcMYwyNoa0dwGEeIeYj367fhFW9WdERFWagvzK\/h1dq6eHJJfM2IY37Gr9NX53Zo3V+uHSHk2eSU9wBOPfhXUcXZ53HrVohzZ+hNa1jAxow1owB2Bel5e9kbC+RwY1oyXOOAFn63WFM2b0a2QSV9Qdh0Y9XPjzPl7VWouWxtnVhTXedjQPeyNhfI4Ma0ZLnHACy141M2ujntlopn1jpI3MfI0HhaCCDjt8eXivosV2vsgmvlSYIQctpYcbfL25K0VHQ0tvgEFJC2KMdTevxPMqXdj1ZQ3VrYXdXv8Aox2ldO0tzo2VtZLJM2N5Y2DOGtxv88qfFHFLr9scLGMjoaXAawBobt2D99etIEUlTdba5wAp5y4eG4J9wTSINZWXS6k5E83AzG2w3+BarJN3k\/7ky0oR004pZvn0\/ZqERFnPVCIiAIiIAiIgCIiAIi8uc1jS57g1o5knACA9IqC4avoKV4hpAa+cnAZCdv8AN9MqL0OqL04iWRtqpXD8LcF+Pj7wpqD3eDPLiI30w7z6fnYl6uuEVNY6iASx9PKA0Rl44sE7nHPkqu3atorfaaejpqOonkhjHHwtAbxc3b+OTyUTUGnKOz0FM5jpJZpJw18jnc9uxX2qK5lpsppqRjY5aomONkbcYB\/EQB448SFalGyW9zHKVXXObemyXUz1HVXq7Xua826gY446MdI71Y9hyJIycfFXIoNXVI4pbnT04P6LGjI9jfmrmzW8Wu1QUgxxMbl5xzcdyu1XX0lCzjqqiOEYz6zsE+A61Bzu7JFtPhtML1JPOXmyuUH5L3STPT6jqSOxoP8AyT8jXu3feqxzus5\/iulRrOjMhht1NPXTHPCGMIBPx9y4GLVd4JL5GWuAgYa0+t7t8+YUu\/4uxBrh3iCcn0v9b2OFbYKe2M45tS1FOCcYLiSfIHKzdrddWV75LQZpJCS0yNZniGc755ZxndX9709b7NZp6qZ8tVVSEMZJI\/GHHmcde2Tvn5rvoLjiFwpZQWvje0lh6juD8FNStBvcyypaq8YW0+Tb\/uxXXG26kmlZLdIZ62EYJigkAHhho2PeArWy6hsNG00\/ohtkmBxB7Scn97n7Vq1Gq7fR17OCrpo5h+03ceB5hVdomrNG5cLKnLVTlnrn33O0Usc0bZIpGyMcMtc05B817WZn03V2tz6nT1W+I8zSyHLH+Gfn7QpNm1JHWyehVzRS3Bri10RBAce76KLji6Lo1rS01FZ+z9Siv9UbNqSvlaTmso8Nx1E4Gf8ASVptN0XoFhpYiMOczpH79bt\/4LM6xmpJ9RUVPJkiMNE5B5NLs48cb+YW5AAGAMAKc33EZ+Hj\/nm77ffLPqIipPQCIiAIiIAiIgCIiALIXwsuWp47XX1Po9G1ge3cN4z4nt5eW3Na9Q7haaC6MDaynbKQMNdycPAjdThJJ3KK9N1IWX\/ehxoKez21nDRmmi2wXB44neJ5ld5Lrboc9JX0zMdsrR81VHRNmJz0cu\/\/AHF7i0bZIzk0z5P3pXfIrvc8WyC7dK0Ypev6KbWF7t1bRwRUdSJpopw4hoOMAHr5c8KJLcK+96gjuVFbpKiKnwImPb6rSN9yNs5OefYpGrYqCihZbLfQRiXHTSvYzLmNHfz9vV4rS6aFONP0Zpm4Y6PLu936XvyrbqME0jEoTrV5RlK2zdunmVXoOrLiPzmuioIyN2xfiHs+q7UuirdG8yVkk1ZKSSS9xAPs3960aKntH4YNy4Wne8s+eTjT0tPSR9HTQRws\/VjaGj3Lsiq9QXdlmtj5+cr\/AFIh+1jn4BRSbdi6Uo043eEiqu2L7qemtjWh9PRnpKg42J\/Vz4YHmV6oc0OvK2A7MrIhIzHWdj\/yUzTFodbaF01Qz87qHF8hIGQOofPxKh6qY6hr7de4x\/QSdHKcZPCe7\/N7Vamm9KMMoyUO2lvdP02t8jTovLHtkjbIxwc1wBaR1helSeiFQ6qt1vmtstbORBUQtzHM3ZxcOTe9XyyNWX6svbaSLj+y6R2ZXjYPeM8j7vaVOG9zNxLWjTa7ey\/vIzAlbNR1grekFZPwzxSyHAeBnI37QTjwx4\/pFnrPT7RS1JdxOfGOI\/tDY+8FR75Yae80QiIEcsY+5eB+Hu8FTaSq5bbVz2Gv+7la7iiBPPtA+I81ZJqcbrwMtGEuGrKMtni\/Xr7muREVB6YREQBERAEREAREQBERAFV3y9RWalDsdJUS7QxDfiP0XW7Xils9KZqh2XHZkbfxPPd9VUWW11VxuH29dhiQj83hP\/Tb1H37e3mpxj4vYzVajv2dP4vouf4O2n7HJFHUV1zHHW1ueMHHqNPV9fILho2Z0Da20yu+8pZjgfs8jjzHvWnWavtsrKO4i\/WkcUzRiaHGeMduOvb4ZUlLVdPxK50+xUZQV7b+T3NKio6XV9pnaBPMaWYbOjlafVI57jZfK7WFqpY8wymqkP4WRD4nqUdEr2sXfyKNr6kXM88VNA+eZ4ZHGOJzj1BZa1wy6nu4vNXEGUdOeCCJwzxEdfkTz7dupG2+66onE1za+ioGkOZT59Z3j9T27LVRRRwRNihY2ONgw1rRgALvwLqVpOvJNq0V7\/o9rhWUkVdSS0szQ5kjcHIzjsPkd13RVmppNWZj6O6VmlC233WB8lICRDUMGduzw7uavBqSzGLpBcYeHGcE4Ps5qyc1r2lr2hzTzBGQVXO07Z3yiU2+EOBBGBgbcthsrHKLyzMqdWmtMGmuvgU1ffKu+OdbrDG8seMSVTmlox147PE79ivrPa4rRb2UkW+DxPd+s48z\/PYpUMENNEIoImRRt5NYMALouOWLLYnTpNS1zd39PILN6ss01S2O6UPEKul39Xm5o327wtIi5GTi7onVpqpBxZEtlTNWW6GeogfBM5vrxvaWkEbHYqWiKLJxTSSYREQ6EREAREQBERAFT33UMNoa2GNnT1ku0cLd\/Anz9q5XebUT630S2U8TIXtH5y454Tk5593Vgr7ZtNxW+U1tXIauuccmV2SG+Gfj8FYkllmWc6k3opq3V\/bmR7Rp2WWo+1L27p6t+7Y3YLY+zu+i0iIoyk5bl1OlGmrRCIiiWEOptNvrDmoooJDnPEWDPt5pTWm30b+kp6OFj854g3Jz4qYi7dkNEL3tkIiLhMIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MARITZA COLEGIO SAN LUIS",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANCHA LAS HOJAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56997784962",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:37",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "09:56",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 18/05/2026 10:37:05
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Nwf-Tm5c2biOpis2w.178OqxcUUg7XdN.0i4bfQdVJMc7m7YqwG
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "51064970",
    "serieinterna": "KY2678",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "213623",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "problema con copias manchadas no estaba presente",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12626",
    "observacion": "mantención",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACAANwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAgYHAwgJBQAAAAABAAIDBAURBiESMRNBUWFxgRQikaGxwdEVIzIWJEJSYnLh8DM1NlOCkqLC0kNjc7Lx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgEDAgMGBgIDAAAAAAAAAAECAxEhEjEEUWETIkFxgaEykbHB0eEU8CND8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBFUXq+Ntjo6aCPp62bHRwgHlnGVGtd7r\/ALUFsu9MyCd7ONjmnId3e53X1KWh2uUuvBT0GgREUS4IiIAiL45wa0ucQABkk9SA+rnNPDTRGWeVkUbebnnACoK\/V8DJjS2qB1fUk4HAMsz5c\/LbvXKLTlfd5RU6gqnEZy2lid6rfl7PapqFsywZnxGp6aS1P2+Z6qdVS1sxpLDSvqpuRmc0hjO\/\/wC481a2mluMNIRcq3pp3vLiWAANGBty\/nKlUlHTUMIhpYGQsHU0Yz49q7o5LZIlCnO+qcrv2CIigXhERAEREAREQBERAERcqmpio6d9RO8MjjGXOKHG0ldnVFHo62nuFOKimk44ySAcEcvFSECaaugiKPXzGnt1TODgxxPfnwBKBuyuZ7T7W3XUdxuzyS2J3RQtJzjbGfYP9RXrVI9Fu9nuA24JuB7uW2R8uJd9EwdDp1j\/AO+ke\/38P+1cNb4NHQt5k1Q2HM7FX\/7LHnNW4TU93n1vc06IioPSCKquuoqC0jhkk6WfkIYt3efYqcQai1Gc1Lvs2id+g3Z7h8fbgdymoN5eEZ514p6Yq75L78ixuuqqO3v9HpwayrJwIouo95+Q3Vey1XrUJD7xOaSkyCKaPYu8ezzz4K8tlkoLRGG0sI48YMrt3u8\/orBd1KPwkexnUzVeOS29eZFoLZR22Lo6OnZEOsgbu8TzKlIirbuaVFRVkEREOhERAEREARFBu90htFvkqpdyNmN\/XdjYLqV8EZSUU29jleb5S2WFrpcySv2jib+J30C+2e8w3iOUsjfDJC\/hfG\/8TeeM9nIqssNsnqqt1+uwHTyD7pjhgMb1HHUcDt6150hiequ9cz+jqKo8J83H\/cFY4xUX0MkatSVSLeE746czToiKo2hZjXdX0NnjpgcOqJRkZ5tbuffwrTrBa7qmvu8MB3EUBJ25Odn6BWUleaMfGz00H1wXuiY+DTkbsY6SR7vHfHyWgVbp6nNLYKKJwweiDiOzi9b5qyUZu8mXUI6aUV0QVff\/AOoK7\/wO+CsFX33+oa7bP3DjjyXI7olV+CXkcNK\/2aov3T\/7FV+rvvK6zU397U8\/No+ak6fraWi0pRzVM7Iow127jz9Y7DtWdut1l1BfaJtra+J0ZIhkkwMu5k+5XRi9bfmYatSK4aMPFpY+RsbleaC0s4qucNcRlsY3c7wCojVX7UoxRs+zqFx2mcfXeP57Paptu0nSU8npNe411W48Tny7tz4dfn7lfqF4x2yaNFWr8bsuS39X+CntOmbfasSBnT1GcmaUZIPcOr496uERQbbyy+EIwVoqyCIi4TCIiAIiIAiIgCIiALKXPhvmsKe2uw+mo2F8rd8E9ecf4R7fBaiaVkEL5pDwsjaXOPYBuVndGwvlpqq6zAdLWzE5x1A\/Un2KyGE5GWv35Rp88vyX7Lm7VLKO1VVRI7hDInY8SMAe3Cr9HwOh05AXbdIXPAz1E\/wUTV8r6t9FZYHgSVUgc\/uaORPnk\/4Vo4YmU8EcMYwyNoa0dwGEeIeYj367fhFW9WdERFWagvzK\/h1dq6eHJJfM2IY37Gr9NX53Zo3V+uHSHk2eSU9wBOPfhXUcXZ53HrVohzZ+hNa1jAxow1owB2Bel5e9kbC+RwY1oyXOOAFn63WFM2b0a2QSV9Qdh0Y9XPjzPl7VWouWxtnVhTXedjQPeyNhfI4Ma0ZLnHACy141M2ujntlopn1jpI3MfI0HhaCCDjt8eXivosV2vsgmvlSYIQctpYcbfL25K0VHQ0tvgEFJC2KMdTevxPMqXdj1ZQ3VrYXdXv8Aox2ldO0tzo2VtZLJM2N5Y2DOGtxv88qfFHFLr9scLGMjoaXAawBobt2D99etIEUlTdba5wAp5y4eG4J9wTSINZWXS6k5E83AzG2w3+BarJN3k\/7ky0oR004pZvn0\/ZqERFnPVCIiAIiIAiIgCIiAIi8uc1jS57g1o5knACA9IqC4avoKV4hpAa+cnAZCdv8AN9MqL0OqL04iWRtqpXD8LcF+Pj7wpqD3eDPLiI30w7z6fnYl6uuEVNY6iASx9PKA0Rl44sE7nHPkqu3atorfaaejpqOonkhjHHwtAbxc3b+OTyUTUGnKOz0FM5jpJZpJw18jnc9uxX2qK5lpsppqRjY5aomONkbcYB\/EQB448SFalGyW9zHKVXXObemyXUz1HVXq7Xua826gY446MdI71Y9hyJIycfFXIoNXVI4pbnT04P6LGjI9jfmrmzW8Wu1QUgxxMbl5xzcdyu1XX0lCzjqqiOEYz6zsE+A61Bzu7JFtPhtML1JPOXmyuUH5L3STPT6jqSOxoP8AyT8jXu3feqxzus5\/iulRrOjMhht1NPXTHPCGMIBPx9y4GLVd4JL5GWuAgYa0+t7t8+YUu\/4uxBrh3iCcn0v9b2OFbYKe2M45tS1FOCcYLiSfIHKzdrddWV75LQZpJCS0yNZniGc755ZxndX9709b7NZp6qZ8tVVSEMZJI\/GHHmcde2Tvn5rvoLjiFwpZQWvje0lh6juD8FNStBvcyypaq8YW0+Tb\/uxXXG26kmlZLdIZ62EYJigkAHhho2PeArWy6hsNG00\/ohtkmBxB7Scn97n7Vq1Gq7fR17OCrpo5h+03ceB5hVdomrNG5cLKnLVTlnrn33O0Usc0bZIpGyMcMtc05B817WZn03V2tz6nT1W+I8zSyHLH+Gfn7QpNm1JHWyehVzRS3Bri10RBAce76KLji6Lo1rS01FZ+z9Siv9UbNqSvlaTmso8Nx1E4Gf8ASVptN0XoFhpYiMOczpH79bt\/4LM6xmpJ9RUVPJkiMNE5B5NLs48cb+YW5AAGAMAKc33EZ+Hj\/nm77ffLPqIipPQCIiAIiIAiIgCIiALIXwsuWp47XX1Po9G1ge3cN4z4nt5eW3Na9Q7haaC6MDaynbKQMNdycPAjdThJJ3KK9N1IWX\/ehxoKez21nDRmmi2wXB44neJ5ld5Lrboc9JX0zMdsrR81VHRNmJz0cu\/\/AHF7i0bZIzk0z5P3pXfIrvc8WyC7dK0Ypev6KbWF7t1bRwRUdSJpopw4hoOMAHr5c8KJLcK+96gjuVFbpKiKnwImPb6rSN9yNs5OefYpGrYqCihZbLfQRiXHTSvYzLmNHfz9vV4rS6aFONP0Zpm4Y6PLu936XvyrbqME0jEoTrV5RlK2zdunmVXoOrLiPzmuioIyN2xfiHs+q7UuirdG8yVkk1ZKSSS9xAPs3960aKntH4YNy4Wne8s+eTjT0tPSR9HTQRws\/VjaGj3Lsiq9QXdlmtj5+cr\/AFIh+1jn4BRSbdi6Uo043eEiqu2L7qemtjWh9PRnpKg42J\/Vz4YHmV6oc0OvK2A7MrIhIzHWdj\/yUzTFodbaF01Qz87qHF8hIGQOofPxKh6qY6hr7de4x\/QSdHKcZPCe7\/N7Vamm9KMMoyUO2lvdP02t8jTovLHtkjbIxwc1wBaR1helSeiFQ6qt1vmtstbORBUQtzHM3ZxcOTe9XyyNWX6svbaSLj+y6R2ZXjYPeM8j7vaVOG9zNxLWjTa7ey\/vIzAlbNR1grekFZPwzxSyHAeBnI37QTjwx4\/pFnrPT7RS1JdxOfGOI\/tDY+8FR75Yae80QiIEcsY+5eB+Hu8FTaSq5bbVz2Gv+7la7iiBPPtA+I81ZJqcbrwMtGEuGrKMtni\/Xr7muREVB6YREQBERAEREAREQBERAFV3y9RWalDsdJUS7QxDfiP0XW7Xils9KZqh2XHZkbfxPPd9VUWW11VxuH29dhiQj83hP\/Tb1H37e3mpxj4vYzVajv2dP4vouf4O2n7HJFHUV1zHHW1ueMHHqNPV9fILho2Z0Da20yu+8pZjgfs8jjzHvWnWavtsrKO4i\/WkcUzRiaHGeMduOvb4ZUlLVdPxK50+xUZQV7b+T3NKio6XV9pnaBPMaWYbOjlafVI57jZfK7WFqpY8wymqkP4WRD4nqUdEr2sXfyKNr6kXM88VNA+eZ4ZHGOJzj1BZa1wy6nu4vNXEGUdOeCCJwzxEdfkTz7dupG2+66onE1za+ioGkOZT59Z3j9T27LVRRRwRNihY2ONgw1rRgALvwLqVpOvJNq0V7\/o9rhWUkVdSS0szQ5kjcHIzjsPkd13RVmppNWZj6O6VmlC233WB8lICRDUMGduzw7uavBqSzGLpBcYeHGcE4Ps5qyc1r2lr2hzTzBGQVXO07Z3yiU2+EOBBGBgbcthsrHKLyzMqdWmtMGmuvgU1ffKu+OdbrDG8seMSVTmlox147PE79ivrPa4rRb2UkW+DxPd+s48z\/PYpUMENNEIoImRRt5NYMALouOWLLYnTpNS1zd39PILN6ss01S2O6UPEKul39Xm5o327wtIi5GTi7onVpqpBxZEtlTNWW6GeogfBM5vrxvaWkEbHYqWiKLJxTSSYREQ6EREAREQBERAFT33UMNoa2GNnT1ku0cLd\/Anz9q5XebUT630S2U8TIXtH5y454Tk5593Vgr7ZtNxW+U1tXIauuccmV2SG+Gfj8FYkllmWc6k3opq3V\/bmR7Rp2WWo+1L27p6t+7Y3YLY+zu+i0iIoyk5bl1OlGmrRCIiiWEOptNvrDmoooJDnPEWDPt5pTWm30b+kp6OFj854g3Jz4qYi7dkNEL3tkIiLhMIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MARITZA COLEGIO SAN LUIS",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANCHA LAS HOJAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56997784962",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:37",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "09:56",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


18/05/2026 10:37:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:51064970

[18/05/2026 10:37:05] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('51064970', 'KY2678', 1, 7373114, 213623, NOW(), 
				'08:00', '09:56', '10:37', 3, 'problema con copias manchadas no estaba presente', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779115025.png', 'mantención', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[18/05/2026 10:37:05] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200346

18/05/2026 10:37:05 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200346'                    
				WHERE idllamado = 12626			
				
18/05/2026 10: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 = 12626
                
TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


18/05/2026 10:37:05 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12626			
				
18/05/2026 10:37:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


18/05/2026 10: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 = 12626
                

18/05/2026 10: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 = 12626
                

18/05/2026 10: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 = 12626
                

18/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12626
            GROUP BY l.idllamado;
            

18/05/2026 10: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 = 12626
                

18/05/2026 10: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 = 12626
                

18/05/2026 10: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 = 12626
                

[18/05/2026 10:37:20] 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;
                

18/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12626
            GROUP BY l.idllamado;
            

[18/05/2026 10:37:20] 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;
                

18/05/2026 10:37:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12626
                

18/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12626
            GROUP BY l.idllamado;
            

18/05/2026 10:37:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12626
                

18/05/2026 10: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 = 12626
                

18/05/2026 10: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 = 12626
                
[18/05/2026 10:51: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;
                
[18/05/2026 10:51: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;
				

[18/05/2026 10:51:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 10:51:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12628
            GROUP BY l.idllamado;
            

[18/05/2026 10:51:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[18/05/2026 10:51: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;
                

18/05/2026 10:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12628
            GROUP BY l.idllamado;
            

18/05/2026 10:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12628
            GROUP BY l.idllamado;
            

18/05/2026 10:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:51:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12628
            GROUP BY l.idllamado;
            

18/05/2026 10:51:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:51:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:51:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:51:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12628
            GROUP BY l.idllamado;
            

18/05/2026 10:51:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:51:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:51:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12628
            GROUP BY l.idllamado;
            

18/05/2026 10:51:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12628
            GROUP BY l.idllamado;
            

18/05/2026 10:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:51:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12628
            GROUP BY l.idllamado;
            

18/05/2026 10:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:51:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12628
            GROUP BY l.idllamado;
            

18/05/2026 10:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10: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 = 12628
                

18/05/2026 10: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 = 12628
                

18/05/2026 10:52:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12628
            GROUP BY l.idllamado;
            

18/05/2026 10:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:52:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12628
            GROUP BY l.idllamado;
            

18/05/2026 10:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/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 = 12628
                

18/05/2026 10:52:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12628
            GROUP BY l.idllamado;
            

18/05/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 = 12628
                

18/05/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 = 12628
                

18/05/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 = 12628
                

18/05/2026 10:53:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:53:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12628
            GROUP BY l.idllamado;
            

18/05/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 = 12628
                

18/05/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 = 12628
                

18/05/2026 10:53:14 - logentry: =========================================
FECHA: 18/05/2026 10:53:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-SaPXv_i6Rx05mK94gan6o84+_5uQs9-WCO+RJ2PY2w7MuYgGV-y
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76419232",
    "serieinterna": "KY2449",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "378404",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "1 toner iton 2174",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12628",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB0ALcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xAA5EAABAwMBBQUHAwQBBQAAAAABAAIDBAURIQYxQVFhEhMUcYEiMpGhscHRFSNSJDPh8EJDkqKy8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC4RAAIBAgQDBwQDAQAAAAAAAAABAgMREiExQSJRYQQTMnGx0eEUI4HBQpGh8P\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREARFSXTaiit7xBDmrqXHAih1wev43rqTehCdSNNXk7F2iyrKTaq7O7yorW22InSOMe0B6a\/Er5qqG92CnNdHdpa+ONwdLHKD7o34y489f8KeBaXKPqJWxYHb\/ALbU1iKPQ1kddQxVbPZZI3tYJ3c9VSXHanNR4Gyw+NqicFw1Y38\/RRUW3YtnWhCKk3r\/AKX808NNEZZ5WRRt3uecAKhq9sqJkvc0EE1fLjIEQwPjv+SjwbL1tylFTf658h4QRuwB0zuHp8VoqShpaGMR0tPHC0DHstxnzPFStGPUqvWqacK65soBUbX15zFTU1CwnI7zU467+fIbkFn2ocf3L5GAB\/xB\/AWnRcx8kd+nT8Um\/wA+xlH120tiBmr44q6kafbfHo5o58PmFpKKshr6SOpp39qN4yOnMFdnNDmlrgCCMEHiszsp\/SXO7WxmRDDN2o2knQZI+mF3KSb5EVipVFG90+ezNOiIqzWEREAREQBERAERc5po6eF80zwyNgy5zjoAg0OiiV9zo7ZCZaudsYxo3PtO8hxVBPtRWXKZ1Ls\/RumIODUPbho64O71+CkUGyrXTitvMxrqo6lrtWN6Y4\/TorMFvEZXXc8qKv12+SIKu9bUucyjBt9vOhlcPbcOnP0+KurVYKC0MHh4+1JrmV+rtd\/l6KyAAGAMAL1cc75LJEoUEnik7y5+3IKBeqykpLZP4yQNZJG5gbjJdkbgOKi3zaKC0AQRt7+sk0ZC3XGdxP43lVBsdRLR1N5v0pmnZC58cB92PAJAP4+q7GO7I1a2sIK735Lz9iBYqK73u2NohOKa2xuPac0YMnMdfp5rZ221Udpg7mkiDf5OOrneZVdsbEY9m4Cf+o57v\/Ij7K9Xakm20R7JRjGnGbzdgiIqjYEREAWX2ZPib\/ea0e4Zew3TfqdfgB8VdXqvFstFRVdoB7WYjzxcdB81C2RojR2GJ7\/7lR+648cHd8vqrFlFsyz4q0Y8rv8ASLtERVmoIiIAiIgCIqi+bQ09nYIwO+q5B+3C36nl911Jt2RCc4wjik8iXcrrR2mn76rl7IOjWjVzj0CzkNJcdrZm1NcX0tsBDo4AdZOv+fgpVr2dlqp23S+O76odq2B3ux8sj7bloJ6inpIu8nljhjBA7T3BoCndRyWpmwyrcVTKPL39j2CnhpYWwwRtjjaMBrRgBdF41wc0OaQQRkEcV6qzWrJZBZ+\/bRPpJ2222ME9wlOMAZEfn1+m8rzaDaB9NKLZbG99cJfZ9nXu8\/f6byqe2GXZO5OdeKYObU7qxhLyDxH50z5q2EN2Yq\/aM8EXZbvl8+hfWLZ9tuJrKx\/iLhJkvlJz2c8Bn6rzbCp8Ps5OMjtTFsYz1OT8gVcQzR1ELJoXh8bxlrmnQhZq+M\/WdpaK0sIdHTjvqgdnIA00Ppj\/ALh6ci25XZKrGNOhghvkvyXtppvB2mlpyCDHE0Ozzxr81MRFBu5rilFJIIiLh0Iig3i5xWi3SVUhGQMRtP8AyfjQLqV3YjKSinJ6FJtDIbvfKOxRE9hp72pweG\/Hw19QtQ1oa0NaAABgAcFn9lbdNHHNda0f1daS4gtwWNzu9dDjyWhUpv8Aitiigm71Jay9NgiIoGkIiIAiKg2ivE9PJDbLdh1dVHsgg\/2xz\/3dgldim3ZFdSoqccTPm836Y1X6RZx3tc84c8ati5+v0Xay7OR2+R1XVyeLrnntGV2vZPTP1Xex2OCy03Zb+5UP1llO9x5DorRTcrK0SqFJyfeVddlsvnqFFuFtpLpTeHq4u8ZnI1wWnmCpSKtOxoaUlZmQZNc9kJGx1RNXaicMe0e1F\/vLdyU28bTRtpooLQ8VVXVaR9jXsjmRz6KZtJc6e2WqQzxtldMCxkTgCHHHEcgsvSWy57Lsgu\/h2zAtIqIsZdG3PPhpx4K+KUuJ6+p5tSU6TdOD4d93FGk2esDLTEZ5z3tbMMyyHXGd4B+\/FW09PDVQuhnjbJG4YLXDIKj2y50t2pBU0ryW5w5rhgtPIhTFVJu+ZupRgoJQ0MhU2+47KOfWWuTxFDgmWCV3uDnv+Y18102KkjqnVtbLM19bNJl7QTlrfLlldtr6h1QKWyQazVbwXa7mg\/n\/ANUuGygY2Kos0xo6qFgb7Ogkxz6\/Xirbpx4tWYcDjVvTV1Hbq+RpUWfs20vip\/0+5RGkrm6YdoJD05Hp8FoFS4uLszfTqRqK8QiIuFhzmmjp4XzTPDI2DLnOOgCytEyXay7OraprhbKZ2IYnDSQ9fv8ABdNoKt96uDNnqE5w4OqZA7AAHD009cdVoWCltdAxheyGngYGgvcAABzKsXCurMcvvTt\/GOvV+yJK+XvZGwvkcGNaMlzjgBZus2tNRL4WxUz62c73lpDG\/wC9cBfEWy9dcZO+v1wfLnUQxOw0fb4D1TBbxZE32jE7Uli9P7O1Tta2WfwtmpJK+b+QBDB16\/IdV7b6LaSetiq7lXNgjY4k08eNRyONPmVdUdDS2+AQUkLYoxwbx8zvKkLmJLJIKjOTvUl+FkvkIoho5DdG1gq5RGI+wafPsE8\/NFA0Jt6o+LvdIbRb5KqXUjRjf5uxoFV7MWuXMl5r8msq8kBzcdhv+dPTCj1NOb\/tYaefteCoG5dE7IEjuY57x6BapWPhjbmZYrvamN6R08937BERVmsLnNNHTwvmmeGRsGXOcdAF0WW2jqJLrdKfZ6mcQHkPqXDg3fj4DPqFKMbsqrVO7jffbzOdmhftHeJL3Vs\/pYT2aaJxzgjGv38z0WsIBGCMgrnTU8dJTRU0LezHE0NaOgXVJSuzlGn3cc829TLXO01VkrP1ayN\/b3z0o90jiQOXThwVxaL3R3mDvKZ+HtHtxO95n5HVWKzV5sUlHMbzZQIqqIF0kTRpIOOBz6cfPfJNSyepVKEqLxU9N1+17HGndDHt9UOriRK9gFLkHG7GmmmgPzWrVPZ7lb7\/ABR1XcxGrhHtNc0F8Z6HfjqrhcnrmT7Okotp3TdysvNipL3AGTgskZ7krd7fyOirLVd6i11zbJeCS\/dBUknEgJ0yfktMq69WeG9UJp5D2HjWOTGSw\/jmkZbPQ5VpNPvKfi9SxWe2lvclK5lsoXNFXUDV5dgRN554cfLeuez94nhqP0S79plXHpG9xyJBwGfoePmvmr2MZX3eesqq2QxyOBDQB2joOO4DhjG7GqkoqMuIrqVJ1aX2lm9enMhW66WyxQupbbFLc66TWR8TThx89+PIFSodnq+9yis2gnc1o1jpYzgNHXl9eq0FBbKO2xd3R07IhxIGrvM7ypSOeeR2HZskqjyWy0+ThSUdNQwiGlgZCwcGjGfPmu6IqjWkkrIIiIdCIiAIiIAiIgId0uEVrt0tXKdGD2RvyToAqrZS3vEEl3qxmrriX5\/iwnIHrv8ALCs7va2XijFLJPLEzthxMZwXaHQ9NfkprWhrQ1oAAGABwU72jZFDpuVXE9Fp5nqIigXhERAZu8bPyxVP6tZT3NYwlz4x7svPTn04+amWPaCO7h8UkRpquP34nceo\/wB0yrhZzaO11DKiO9Wxp8ZB77QffaOnHTTyVieLJmScHSfeU9N1+11NGirrLeIb1QiojHYeNJI85LD+OSsVBpp2ZpjJTipR0Km\/2OK80ZAAZVRjMMnI8j0K47NXiSvgfR1mW11L7MrXDBI3Z\/KvFmtorVU09U2+2n2amEZmYB\/cbzxx03\/kKcXdYWZ6sXTl3sF5rmvdGlRQLPdoLxQtqIThw0kZxYVPUGrOzNEZKSUloERFwkEREAREQBERAEREAREQBERAEREAREQGcuWzr6asdd7O90VS3V1OwANl5gcvnkq7oKiWqoYp5qd1PI9uXRO3tKkIpOTazKoUlCTcd9v2ERFEtMjdqaXZq6i9UTAaSU9mohHDJ3\/jkfNaqGZlRAyaM5ZI0OaehXlTTx1dNLTTN7UcrS1w6FZ\/ZOokpn1VjqCTJRvJYcaFuf8A4fVWPijfdGSK7mrhXhl\/j+TSoiKs1hERAEREAREQBERAEREAREQBERAEREAREQBERAFDba6Rl1fc2sIqXs7Dj2tCNOHoERdRCSTtcmIiLhMIiIAiIgP\/2Q==",
    "razonSocial": "LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "CAZESALUD",
    "correoContacto": "contacto@cazesalud.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+569324993754",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:53",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "10:49",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 18/05/2026 10:53:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-SaPXv_i6Rx05mK94gan6o84+_5uQs9-WCO+RJ2PY2w7MuYgGV-y
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76419232",
    "serieinterna": "KY2449",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "378404",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "1 toner iton 2174",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12628",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB0ALcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xAA5EAABAwMBBQUHAwQBBQAAAAABAAIDBAURIQYxQVFhEhMUcYEiMpGhscHRFSNSJDPh8EJDkqKy8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC4RAAIBAgQDBwQDAQAAAAAAAAABAgMREiExQSJRYQQTMnGx0eEUI4HBQpGh8P\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREARFSXTaiit7xBDmrqXHAih1wev43rqTehCdSNNXk7F2iyrKTaq7O7yorW22InSOMe0B6a\/Er5qqG92CnNdHdpa+ONwdLHKD7o34y489f8KeBaXKPqJWxYHb\/ALbU1iKPQ1kddQxVbPZZI3tYJ3c9VSXHanNR4Gyw+NqicFw1Y38\/RRUW3YtnWhCKk3r\/AKX808NNEZZ5WRRt3uecAKhq9sqJkvc0EE1fLjIEQwPjv+SjwbL1tylFTf658h4QRuwB0zuHp8VoqShpaGMR0tPHC0DHstxnzPFStGPUqvWqacK65soBUbX15zFTU1CwnI7zU467+fIbkFn2ocf3L5GAB\/xB\/AWnRcx8kd+nT8Um\/wA+xlH120tiBmr44q6kafbfHo5o58PmFpKKshr6SOpp39qN4yOnMFdnNDmlrgCCMEHiszsp\/SXO7WxmRDDN2o2knQZI+mF3KSb5EVipVFG90+ezNOiIqzWEREAREQBERAERc5po6eF80zwyNgy5zjoAg0OiiV9zo7ZCZaudsYxo3PtO8hxVBPtRWXKZ1Ls\/RumIODUPbho64O71+CkUGyrXTitvMxrqo6lrtWN6Y4\/TorMFvEZXXc8qKv12+SIKu9bUucyjBt9vOhlcPbcOnP0+KurVYKC0MHh4+1JrmV+rtd\/l6KyAAGAMAL1cc75LJEoUEnik7y5+3IKBeqykpLZP4yQNZJG5gbjJdkbgOKi3zaKC0AQRt7+sk0ZC3XGdxP43lVBsdRLR1N5v0pmnZC58cB92PAJAP4+q7GO7I1a2sIK735Lz9iBYqK73u2NohOKa2xuPac0YMnMdfp5rZ221Udpg7mkiDf5OOrneZVdsbEY9m4Cf+o57v\/Ij7K9Xakm20R7JRjGnGbzdgiIqjYEREAWX2ZPib\/ea0e4Zew3TfqdfgB8VdXqvFstFRVdoB7WYjzxcdB81C2RojR2GJ7\/7lR+648cHd8vqrFlFsyz4q0Y8rv8ASLtERVmoIiIAiIgCIqi+bQ09nYIwO+q5B+3C36nl911Jt2RCc4wjik8iXcrrR2mn76rl7IOjWjVzj0CzkNJcdrZm1NcX0tsBDo4AdZOv+fgpVr2dlqp23S+O76odq2B3ux8sj7bloJ6inpIu8nljhjBA7T3BoCndRyWpmwyrcVTKPL39j2CnhpYWwwRtjjaMBrRgBdF41wc0OaQQRkEcV6qzWrJZBZ+\/bRPpJ2222ME9wlOMAZEfn1+m8rzaDaB9NKLZbG99cJfZ9nXu8\/f6byqe2GXZO5OdeKYObU7qxhLyDxH50z5q2EN2Yq\/aM8EXZbvl8+hfWLZ9tuJrKx\/iLhJkvlJz2c8Bn6rzbCp8Ps5OMjtTFsYz1OT8gVcQzR1ELJoXh8bxlrmnQhZq+M\/WdpaK0sIdHTjvqgdnIA00Ppj\/ALh6ci25XZKrGNOhghvkvyXtppvB2mlpyCDHE0Ozzxr81MRFBu5rilFJIIiLh0Iig3i5xWi3SVUhGQMRtP8AyfjQLqV3YjKSinJ6FJtDIbvfKOxRE9hp72pweG\/Hw19QtQ1oa0NaAABgAcFn9lbdNHHNda0f1daS4gtwWNzu9dDjyWhUpv8Aitiigm71Jay9NgiIoGkIiIAiKg2ivE9PJDbLdh1dVHsgg\/2xz\/3dgldim3ZFdSoqccTPm836Y1X6RZx3tc84c8ati5+v0Xay7OR2+R1XVyeLrnntGV2vZPTP1Xex2OCy03Zb+5UP1llO9x5DorRTcrK0SqFJyfeVddlsvnqFFuFtpLpTeHq4u8ZnI1wWnmCpSKtOxoaUlZmQZNc9kJGx1RNXaicMe0e1F\/vLdyU28bTRtpooLQ8VVXVaR9jXsjmRz6KZtJc6e2WqQzxtldMCxkTgCHHHEcgsvSWy57Lsgu\/h2zAtIqIsZdG3PPhpx4K+KUuJ6+p5tSU6TdOD4d93FGk2esDLTEZ5z3tbMMyyHXGd4B+\/FW09PDVQuhnjbJG4YLXDIKj2y50t2pBU0ryW5w5rhgtPIhTFVJu+ZupRgoJQ0MhU2+47KOfWWuTxFDgmWCV3uDnv+Y18102KkjqnVtbLM19bNJl7QTlrfLlldtr6h1QKWyQazVbwXa7mg\/n\/ANUuGygY2Kos0xo6qFgb7Ogkxz6\/Xirbpx4tWYcDjVvTV1Hbq+RpUWfs20vip\/0+5RGkrm6YdoJD05Hp8FoFS4uLszfTqRqK8QiIuFhzmmjp4XzTPDI2DLnOOgCytEyXay7OraprhbKZ2IYnDSQ9fv8ABdNoKt96uDNnqE5w4OqZA7AAHD009cdVoWCltdAxheyGngYGgvcAABzKsXCurMcvvTt\/GOvV+yJK+XvZGwvkcGNaMlzjgBZus2tNRL4WxUz62c73lpDG\/wC9cBfEWy9dcZO+v1wfLnUQxOw0fb4D1TBbxZE32jE7Uli9P7O1Tta2WfwtmpJK+b+QBDB16\/IdV7b6LaSetiq7lXNgjY4k08eNRyONPmVdUdDS2+AQUkLYoxwbx8zvKkLmJLJIKjOTvUl+FkvkIoho5DdG1gq5RGI+wafPsE8\/NFA0Jt6o+LvdIbRb5KqXUjRjf5uxoFV7MWuXMl5r8msq8kBzcdhv+dPTCj1NOb\/tYaefteCoG5dE7IEjuY57x6BapWPhjbmZYrvamN6R08937BERVmsLnNNHTwvmmeGRsGXOcdAF0WW2jqJLrdKfZ6mcQHkPqXDg3fj4DPqFKMbsqrVO7jffbzOdmhftHeJL3Vs\/pYT2aaJxzgjGv38z0WsIBGCMgrnTU8dJTRU0LezHE0NaOgXVJSuzlGn3cc829TLXO01VkrP1ayN\/b3z0o90jiQOXThwVxaL3R3mDvKZ+HtHtxO95n5HVWKzV5sUlHMbzZQIqqIF0kTRpIOOBz6cfPfJNSyepVKEqLxU9N1+17HGndDHt9UOriRK9gFLkHG7GmmmgPzWrVPZ7lb7\/ABR1XcxGrhHtNc0F8Z6HfjqrhcnrmT7Okotp3TdysvNipL3AGTgskZ7krd7fyOirLVd6i11zbJeCS\/dBUknEgJ0yfktMq69WeG9UJp5D2HjWOTGSw\/jmkZbPQ5VpNPvKfi9SxWe2lvclK5lsoXNFXUDV5dgRN554cfLeuez94nhqP0S79plXHpG9xyJBwGfoePmvmr2MZX3eesqq2QxyOBDQB2joOO4DhjG7GqkoqMuIrqVJ1aX2lm9enMhW66WyxQupbbFLc66TWR8TThx89+PIFSodnq+9yis2gnc1o1jpYzgNHXl9eq0FBbKO2xd3R07IhxIGrvM7ypSOeeR2HZskqjyWy0+ThSUdNQwiGlgZCwcGjGfPmu6IqjWkkrIIiIdCIiAIiIAiIgId0uEVrt0tXKdGD2RvyToAqrZS3vEEl3qxmrriX5\/iwnIHrv8ALCs7va2XijFLJPLEzthxMZwXaHQ9NfkprWhrQ1oAAGABwU72jZFDpuVXE9Fp5nqIigXhERAZu8bPyxVP6tZT3NYwlz4x7svPTn04+amWPaCO7h8UkRpquP34nceo\/wB0yrhZzaO11DKiO9Wxp8ZB77QffaOnHTTyVieLJmScHSfeU9N1+11NGirrLeIb1QiojHYeNJI85LD+OSsVBpp2ZpjJTipR0Km\/2OK80ZAAZVRjMMnI8j0K47NXiSvgfR1mW11L7MrXDBI3Z\/KvFmtorVU09U2+2n2amEZmYB\/cbzxx03\/kKcXdYWZ6sXTl3sF5rmvdGlRQLPdoLxQtqIThw0kZxYVPUGrOzNEZKSUloERFwkEREAREQBERAEREAREQBERAEREAREQGcuWzr6asdd7O90VS3V1OwANl5gcvnkq7oKiWqoYp5qd1PI9uXRO3tKkIpOTazKoUlCTcd9v2ERFEtMjdqaXZq6i9UTAaSU9mohHDJ3\/jkfNaqGZlRAyaM5ZI0OaehXlTTx1dNLTTN7UcrS1w6FZ\/ZOokpn1VjqCTJRvJYcaFuf8A4fVWPijfdGSK7mrhXhl\/j+TSoiKs1hERAEREAREQBERAEREAREQBERAEREAREQBERAFDba6Rl1fc2sIqXs7Dj2tCNOHoERdRCSTtcmIiLhMIiIAiIgP\/2Q==",
    "razonSocial": "LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "CAZESALUD",
    "correoContacto": "contacto@cazesalud.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+569324993754",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:53",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "10:49",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


18/05/2026 10:53:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76419232

[18/05/2026 10:53:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76419232', 'KY2449', 1, 9291721, 378404, NOW(), 
				'08:00', '10:49', '10:53', 10, '1 toner iton 2174', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779115994.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[18/05/2026 10:53:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200347

18/05/2026 10:53:14 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200347'                    
				WHERE idllamado = 12628			
				TO ENVIO: micorreo@miempresa.cl, contacto@cazesalud.cl


18/05/2026 10:53:15 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12628			
				
18/05/2026 10:53:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


18/05/2026 10:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12628
            GROUP BY l.idllamado;
            

18/05/2026 10:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

[18/05/2026 10:53:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 10:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12628
            GROUP BY l.idllamado;
            

18/05/2026 10:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12628
            GROUP BY l.idllamado;
            

[18/05/2026 10:53:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 10:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

[18/05/2026 10:53:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 10:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12628
            GROUP BY l.idllamado;
            

[18/05/2026 10:53:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 10:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12628
            GROUP BY l.idllamado;
            

18/05/2026 10:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 10: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 = 12628
                

18/05/2026 10: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 = 12628
                

[18/05/2026 11:03: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;
                

[18/05/2026 11:03:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[18/05/2026 11:03:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[18/05/2026 11:03: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;
                

[18/05/2026 11:03: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;
                

18/05/2026 11:05:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

[18/05/2026 11:05: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;
                

18/05/2026 11:05:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

[18/05/2026 11:05: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;
                

18/05/2026 11:05:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 11:05:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

[18/05/2026 11:05: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;
                

[18/05/2026 11:05: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;
                

18/05/2026 11:05:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 11:05:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12628
            GROUP BY l.idllamado;
            

[18/05/2026 11:05: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;
                

[18/05/2026 11:05: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;
                

18/05/2026 11:05:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12628
            GROUP BY l.idllamado;
            

18/05/2026 11:05:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 11: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 = 12628
                

18/05/2026 11: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 = 12628
                

18/05/2026 11: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 = 12628
                

18/05/2026 11:05:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12628
            GROUP BY l.idllamado;
            

[18/05/2026 11:05:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 11:05:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12628
            GROUP BY l.idllamado;
            

[18/05/2026 11:05:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 11: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 = 12628
                

18/05/2026 11:05:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

18/05/2026 11:05:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12628
                

[18/05/2026 11:16: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;
                

18/05/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 = 12626
                

18/05/2026 11:16:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12626
            GROUP BY l.idllamado;
            

[18/05/2026 11:16: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;
                

18/05/2026 11:16:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12626
            GROUP BY l.idllamado;
            

18/05/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 = 12626
                

18/05/2026 11:16:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12626
            GROUP BY l.idllamado;
            

18/05/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 = 12626
                

18/05/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 = 12626
                

18/05/2026 11:16:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12626
            GROUP BY l.idllamado;
            

[18/05/2026 11:16:01] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

[18/05/2026 11:16:01] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 11:16:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12626
                

18/05/2026 11:16:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12626
                
[18/05/2026 11:16:53] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[18/05/2026 11:16:53] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[18/05/2026 11:16: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;
                
[18/05/2026 11:16:59] 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;
                
[18/05/2026 11:16:59] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[18/05/2026 11:29: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;
				
[18/05/2026 11:29: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;
                

[18/05/2026 11:29:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 11:29:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12629
            GROUP BY l.idllamado;
            

[18/05/2026 11:29: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;
                

[18/05/2026 11:30:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 11:30:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12629
            GROUP BY l.idllamado;
            

18/05/2026 11:30:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12629
            GROUP BY l.idllamado;
            

18/05/2026 11:30:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12629
            GROUP BY l.idllamado;
            

[18/05/2026 11:30:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 11:30:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:30:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:30:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12629
            GROUP BY l.idllamado;
            

18/05/2026 11:30:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:30:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:30:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:30:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12629
            GROUP BY l.idllamado;
            

18/05/2026 11:30:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:30:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:30:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12629
            GROUP BY l.idllamado;
            

18/05/2026 11:30:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:30:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12629
            GROUP BY l.idllamado;
            

18/05/2026 11:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:30:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:30:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:31:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12629
            GROUP BY l.idllamado;
            

18/05/2026 11:31:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12629
            GROUP BY l.idllamado;
            

18/05/2026 11:31:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

[18/05/2026 11:31:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 11:31:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:31:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11: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 = 12629
                

18/05/2026 11:31:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12629
            GROUP BY l.idllamado;
            

18/05/2026 11:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:31:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12629
            GROUP BY l.idllamado;
            

18/05/2026 11:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:31:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:31:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:31:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12629
            GROUP BY l.idllamado;
            

18/05/2026 11:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12629
            GROUP BY l.idllamado;
            

18/05/2026 11:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:31:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12629
            GROUP BY l.idllamado;
            

18/05/2026 11:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11: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 = 12629
                

18/05/2026 11: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 = 12629
                

18/05/2026 11:32:04 - logentry: =========================================
FECHA: 18/05/2026 11:32:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-hRCt+ZqgQmwy6Dv0oLMH1W4Y84azp_Ke_vg2KL.h2kXCmLbyuHO
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "51064970",
    "serieinterna": "TO2730",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "887810",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "2 toner iton 2831",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12629",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACEAIgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA6EAABAwMCAwUGBAQHAQAAAAABAAIDBAURBiESMXETUWGBkRQiQaGxwRUjMtFCUuHwB0NiY5Ky0nL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAuEQACAQIEAwYHAQEAAAAAAAAAAQIDERIhMUEEEyIyUWFxgeEjkaGxwdHwQmL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREARFnNS3CokqILJb38NTVH33D+Bnx6d\/QKUVd2K6tRU44mX0NTT1DnNhmjkLP1cDgcdcdFBvd8p7LTh0n5k79oom83H7BUDaCLT2qrfHA9\/ZSxHtXOP6nbgk77fBSNPxOvV3qr3Ujjia\/gpWu3DcY3APLYDzJU8CWexl585dCVpXt5eJ8iZq+5RmpFRBRNfgsic3GBz7ifVWWnLvLc4J4aoAVVK\/glI5E5PIeWPJXKzFjAj1heY4x7jsOJ8c5+5S6knkdwulOHU3fJ3NOiIqjaEREAREQBERAEREAREQHxzg1pc4gADJJ+CzGmmyXS7118mHuud2UHPZo7vLHnlS9X15pLK6FgLpas9k0DPI8\/lt5qws9vZbLXBSNGCxuXnvcdyfVWLKN+8yy+JWUdo5+uxj9cyPlvlPTxHLhCBgHG7iRj0x6rY2m3stdsho2YJY33nD+Jx5n1WYpYhdf8QaiV7eOOkOR3Atw0fPfyWzUqjtFRKuGhiqTq97sgsxpz8\/Ul7qBybKGDx3P7LSTSthhfK\/9LGlx6BZ3Q8ZNpnqnkF9RO5xx0H3yoR7LZdVzrQXm\/p7mlRR5K6liqo6WSojbNL+iMu3KKBoTT0JCIiHQiIgCIiAIiIAiLy97Y2Oe84a0Ek9wQGYuI\/FNb0dHzjoWdq8Ecjz\/wDC0s0rKeCSaQ4ZG0ucfADKzekGPrKm4XiQYNRLws2xgDc\/UDyUvWNaKSwSsDgH1BEbRn4cz8gfVWyV5KJipzw0pVnvd\/ogaFjMsVdXvA45puEnpuf+y1iodGRCPTcDh\/mPe4\/8iPsrWur6a20zqiqlEbG+pPcB8Vyec2T4a0KEW+6\/5K7VtX7Jp2owcOmxE3fnnn8sqmp7zPT26lstjh7erbGO0lAy2Nx3d4bEnc7dVCuFyn1XdqOgET6ele\/iZkZc4b5d6A\/NbS22uktNN2FJHwtzlziclx7yVN2hFJ6meLlxFVyg7R0vv35FdZtMxUMora2Q1de45MjiSGnwz9T8kUix3h92FXxxCMwTFgwc5Hw80VUr3zNlBU1BcvQtURFEuCIiAIiIAiIgCo9X1vslhljafzKkiJozuc8\/ln1V4stfSK\/Vdrt+5ZBmaTu79\/Jvz8VOC6jPxMmqbS1eXzL20UX4daaakxgxsHF\/9Hc\/MlZbWTzXXSKha4hlNTSTv3wM8JI\/6j1VtctXUNI\/sKQGtqCcBkW4z1\/bKzNLbZdSC43mqlMTWAnhYD7xDc4yfgMBWQTTxSMnE1IygqNPP9ImWbUU8FlprZa6J9TWN4uIlvuMy4kfXwCtKTTE1ZO2uv8AUmpmBy2EH3GeH9Bt1XbRcbGaejc1jWvc93GQMEkE8121VcfYLJKGEiWo\/KjAO+\/M+iN9VonadNclVKruktNvcrtOg3PUNfduDEEX5EGDtjwx4Af8lqlXWG3i2Wanpjnj4eJ+f5juf28l3uVYygt09U93CImEjr8B64VcnilkaqMeXSvLXVlFo7ee7ObkNNTsO7cou2iqZ0FgErweKoldJvzxsPtnzRKnaY4VNUY3\/rmhREUDQEREARFFrLnQ29vFV1UcXgTv6c0SucclFXbJS8veyNhfI4Ma0ZLnHACzUurJ65z4bHbpal427V4w0eOP3IXgaaul24JL5c3FoOfZ4gAB58s+R6qzBbtZGZ8RiypLF9vmS7jq+gpXdjRg11Qdmth3bnr8fLKzdHb6rVGoKp1bJ7K5gHasYDkDYcIB5clt6G1UNtYG0lNHGcYLgMuPU8yqTSvv3i+zfzVOBnmPef8A0U4ySTcTPVpznOEaryb0WmSOtxo6DTWn6mSjgDZXM7NsjhxOJdtz+fcpmm6IUmnqaF7SHSM43g\/6t\/phVV6f+O6jp7IxodT057WoOT3bjbwIHUrVAADAGAFCTaik9y6lGLqtxWSyX5M1opxggrre8jjpqg+nL6tK5ydnqLVjGgF1LbN3HYtc7PXvA64Ki6nbU2K6uutE\/hFZGYnjbZ2OfyB6hW2joKWCxs7CaOWSQ8cxaclrj\/Ce7A+6m8lj7yindyXDv\/Oviti+WY1O99zuVHYYTgSkSTuG\/C306n0VzdbvS2ildPUPGce5GD7zz4Kq03b5pama\/VwInqx+Wwj9DT\/QADwHioQy6maa7xtUlvr5e5oIomQxMijaGsY0Na0fADkEXtFWaiqueorfaKltPVukD3MDxwsztkj7FV7teWluMRVTujG\/dy0MlPBK7ikhjecYy5oK9NYxmeFobnuGFNOO6KJRrN5SSXl7maOsny4FLZaybI7sfQFPxvUtRvTWERj\/AHnH78K06JijsiPJqvWo\/RJGXNHqu5s4KmrhoIyCHCIAuPmCfqFJpNHWyB\/a1PaVsxOS6Z2xPQffKv0TG9sjq4ane8s345nOGGKnjEcETImDk1jQAPILoiKBo0Cw9suYtFuvdW7aoNRwsB5lxzjb1Pktwvzm4tp2anqKqnglqaGCVslQIs8Id8dx45+aupK90zBxknDDJeP1WvoarStsNHbfaqhuaurPayOI3AO4H36lXE00dPC+aZ4ZGwZc5x2AWem1vRYayjpampmcPdj4eH9z6Ari21XnUMolvMnslGDxClj2Luv9d\/ALji27yyJQqwjFQo9T\/tWeI5JNWXqGYQubbKN2QXt2kd479Nt9uqmT6MojUGeiqKiheQRiJ237+WVfU9PFSwMggjEcbBhrW8gui45vYnHhotfEzb3\/AEUNFpGhp6hlTUyS1kzRzlOQT3kf2FfIig5N6l0KcKatFWCIi4WBERAEREAREQBEXGrq4aGkkqqh\/BFGMuKHG0ldlZqa7\/hVtLYiTVVGWQgc8\/E+WfXC6aetJtNsEUpDqiRxkmdnOXHx8B91V2enmvt3\/Hqtjm07MiliceWMDi+vmtSrJdKwmaknUnzXpt5d\/qeGxRsJLI2tJ5kDGV7RFWagiIgCIiAIiIAiIgCIqR2o46a+S2+vi9ljwDFM8+6\/qeQB39CupN6EJ1IwtiepdovIexzONrgW4zxA7KJW3i3W9vFU1cbDjIbnLj0A3RJs65RirtkmaaOnhfNM8MjYMuc47ALKZn1lW49+G007+hlP9+gKMbXaxqQ+Vj6W0xuyGZ96Uj++g6rVwQRU0LIYI2xxsGGtaMAKfY8zLnxD\/wCPv7H2KKOCFkMTAyNgDWtHIBe0RVmzQIiIAiIgCIiAIiIAiIgCiV9so7pD2VZAJGg5ByQR0I3RF1OxGSUlZlKdB2nOe1qhvy42\/wDlSqXSFmpTxezGZ3fM4u+XL5IiunJ21PPoUqbn2V8i6a0NaGtAAAwAPgvqIqD0giIgCIiAIiIAiIgCIiA\/\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "MARITZA COLEGIO SAN LUIS",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56997784962",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:32",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "11:29",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 18/05/2026 11:32:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-hRCt+ZqgQmwy6Dv0oLMH1W4Y84azp_Ke_vg2KL.h2kXCmLbyuHO
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "51064970",
    "serieinterna": "TO2730",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "887810",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "2 toner iton 2831",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12629",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACEAIgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA6EAABAwMCAwUGBAQHAQAAAAABAAIDBAURBiESMXETUWGBkRQiQaGxwRUjMtFCUuHwB0NiY5Ky0nL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAuEQACAQIEAwYHAQEAAAAAAAAAAQIDERIhMUEEEyIyUWFxgeEjkaGxwdHwQmL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREARFnNS3CokqILJb38NTVH33D+Bnx6d\/QKUVd2K6tRU44mX0NTT1DnNhmjkLP1cDgcdcdFBvd8p7LTh0n5k79oom83H7BUDaCLT2qrfHA9\/ZSxHtXOP6nbgk77fBSNPxOvV3qr3Ujjia\/gpWu3DcY3APLYDzJU8CWexl585dCVpXt5eJ8iZq+5RmpFRBRNfgsic3GBz7ifVWWnLvLc4J4aoAVVK\/glI5E5PIeWPJXKzFjAj1heY4x7jsOJ8c5+5S6knkdwulOHU3fJ3NOiIqjaEREAREQBERAEREAREQHxzg1pc4gADJJ+CzGmmyXS7118mHuud2UHPZo7vLHnlS9X15pLK6FgLpas9k0DPI8\/lt5qws9vZbLXBSNGCxuXnvcdyfVWLKN+8yy+JWUdo5+uxj9cyPlvlPTxHLhCBgHG7iRj0x6rY2m3stdsho2YJY33nD+Jx5n1WYpYhdf8QaiV7eOOkOR3Atw0fPfyWzUqjtFRKuGhiqTq97sgsxpz8\/Ul7qBybKGDx3P7LSTSthhfK\/9LGlx6BZ3Q8ZNpnqnkF9RO5xx0H3yoR7LZdVzrQXm\/p7mlRR5K6liqo6WSojbNL+iMu3KKBoTT0JCIiHQiIgCIiAIiIAiLy97Y2Oe84a0Ek9wQGYuI\/FNb0dHzjoWdq8Ecjz\/wDC0s0rKeCSaQ4ZG0ucfADKzekGPrKm4XiQYNRLws2xgDc\/UDyUvWNaKSwSsDgH1BEbRn4cz8gfVWyV5KJipzw0pVnvd\/ogaFjMsVdXvA45puEnpuf+y1iodGRCPTcDh\/mPe4\/8iPsrWur6a20zqiqlEbG+pPcB8Vyec2T4a0KEW+6\/5K7VtX7Jp2owcOmxE3fnnn8sqmp7zPT26lstjh7erbGO0lAy2Nx3d4bEnc7dVCuFyn1XdqOgET6ele\/iZkZc4b5d6A\/NbS22uktNN2FJHwtzlziclx7yVN2hFJ6meLlxFVyg7R0vv35FdZtMxUMora2Q1de45MjiSGnwz9T8kUix3h92FXxxCMwTFgwc5Hw80VUr3zNlBU1BcvQtURFEuCIiAIiIAiIgCo9X1vslhljafzKkiJozuc8\/ln1V4stfSK\/Vdrt+5ZBmaTu79\/Jvz8VOC6jPxMmqbS1eXzL20UX4daaakxgxsHF\/9Hc\/MlZbWTzXXSKha4hlNTSTv3wM8JI\/6j1VtctXUNI\/sKQGtqCcBkW4z1\/bKzNLbZdSC43mqlMTWAnhYD7xDc4yfgMBWQTTxSMnE1IygqNPP9ImWbUU8FlprZa6J9TWN4uIlvuMy4kfXwCtKTTE1ZO2uv8AUmpmBy2EH3GeH9Bt1XbRcbGaejc1jWvc93GQMEkE8121VcfYLJKGEiWo\/KjAO+\/M+iN9VonadNclVKruktNvcrtOg3PUNfduDEEX5EGDtjwx4Af8lqlXWG3i2Wanpjnj4eJ+f5juf28l3uVYygt09U93CImEjr8B64VcnilkaqMeXSvLXVlFo7ee7ObkNNTsO7cou2iqZ0FgErweKoldJvzxsPtnzRKnaY4VNUY3\/rmhREUDQEREARFFrLnQ29vFV1UcXgTv6c0SucclFXbJS8veyNhfI4Ma0ZLnHACzUurJ65z4bHbpal427V4w0eOP3IXgaaul24JL5c3FoOfZ4gAB58s+R6qzBbtZGZ8RiypLF9vmS7jq+gpXdjRg11Qdmth3bnr8fLKzdHb6rVGoKp1bJ7K5gHasYDkDYcIB5clt6G1UNtYG0lNHGcYLgMuPU8yqTSvv3i+zfzVOBnmPef8A0U4ySTcTPVpznOEaryb0WmSOtxo6DTWn6mSjgDZXM7NsjhxOJdtz+fcpmm6IUmnqaF7SHSM43g\/6t\/phVV6f+O6jp7IxodT057WoOT3bjbwIHUrVAADAGAFCTaik9y6lGLqtxWSyX5M1opxggrre8jjpqg+nL6tK5ydnqLVjGgF1LbN3HYtc7PXvA64Ki6nbU2K6uutE\/hFZGYnjbZ2OfyB6hW2joKWCxs7CaOWSQ8cxaclrj\/Ce7A+6m8lj7yindyXDv\/Oviti+WY1O99zuVHYYTgSkSTuG\/C306n0VzdbvS2ildPUPGce5GD7zz4Kq03b5pama\/VwInqx+Wwj9DT\/QADwHioQy6maa7xtUlvr5e5oIomQxMijaGsY0Na0fADkEXtFWaiqueorfaKltPVukD3MDxwsztkj7FV7teWluMRVTujG\/dy0MlPBK7ikhjecYy5oK9NYxmeFobnuGFNOO6KJRrN5SSXl7maOsny4FLZaybI7sfQFPxvUtRvTWERj\/AHnH78K06JijsiPJqvWo\/RJGXNHqu5s4KmrhoIyCHCIAuPmCfqFJpNHWyB\/a1PaVsxOS6Z2xPQffKv0TG9sjq4ane8s345nOGGKnjEcETImDk1jQAPILoiKBo0Cw9suYtFuvdW7aoNRwsB5lxzjb1Pktwvzm4tp2anqKqnglqaGCVslQIs8Id8dx45+aupK90zBxknDDJeP1WvoarStsNHbfaqhuaurPayOI3AO4H36lXE00dPC+aZ4ZGwZc5x2AWem1vRYayjpampmcPdj4eH9z6Ari21XnUMolvMnslGDxClj2Luv9d\/ALji27yyJQqwjFQo9T\/tWeI5JNWXqGYQubbKN2QXt2kd479Nt9uqmT6MojUGeiqKiheQRiJ237+WVfU9PFSwMggjEcbBhrW8gui45vYnHhotfEzb3\/AEUNFpGhp6hlTUyS1kzRzlOQT3kf2FfIig5N6l0KcKatFWCIi4WBERAEREAREQBEXGrq4aGkkqqh\/BFGMuKHG0ldlZqa7\/hVtLYiTVVGWQgc8\/E+WfXC6aetJtNsEUpDqiRxkmdnOXHx8B91V2enmvt3\/Hqtjm07MiliceWMDi+vmtSrJdKwmaknUnzXpt5d\/qeGxRsJLI2tJ5kDGV7RFWagiIgCIiAIiIAiIgCIqR2o46a+S2+vi9ljwDFM8+6\/qeQB39CupN6EJ1IwtiepdovIexzONrgW4zxA7KJW3i3W9vFU1cbDjIbnLj0A3RJs65RirtkmaaOnhfNM8MjYMuc47ALKZn1lW49+G007+hlP9+gKMbXaxqQ+Vj6W0xuyGZ96Uj++g6rVwQRU0LIYI2xxsGGtaMAKfY8zLnxD\/wCPv7H2KKOCFkMTAyNgDWtHIBe0RVmzQIiIAiIgCIiAIiIAiIgCiV9so7pD2VZAJGg5ByQR0I3RF1OxGSUlZlKdB2nOe1qhvy42\/wDlSqXSFmpTxezGZ3fM4u+XL5IiunJ21PPoUqbn2V8i6a0NaGtAAAwAPgvqIqD0giIgCIiAIiIAiIgCIiA\/\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "MARITZA COLEGIO SAN LUIS",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56997784962",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:32",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "11:29",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


18/05/2026 11:32:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:51064970

[18/05/2026 11:32: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('51064970', 'TO2730', 1, 9291721, 887810, NOW(), 
				'08:00', '11:29', '11:32', 10, '2 toner iton 2831', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779118324.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[18/05/2026 11:32:04] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200348

18/05/2026 11:32:04 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200348'                    
				WHERE idllamado = 12629			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


18/05/2026 11:32:04 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12629			
				
18/05/2026 11:32:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


18/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12629
            GROUP BY l.idllamado;
            

18/05/2026 11: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 = 12629
                

18/05/2026 11: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 = 12629
                

18/05/2026 11: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 = 12629
                

18/05/2026 11: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 = 12629
                

18/05/2026 11:32:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12629
            GROUP BY l.idllamado;
            

18/05/2026 11: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 = 12629
                

[18/05/2026 11:32:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 11:32:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12629
            GROUP BY l.idllamado;
            

[18/05/2026 11:32:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 11: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 = 12629
                

18/05/2026 11: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 = 12629
                

18/05/2026 11: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 = 12629
                

18/05/2026 11:32:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12629
            GROUP BY l.idllamado;
            

[18/05/2026 11:37:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[18/05/2026 11:37:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[18/05/2026 11:37:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 11:37:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:37:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

[18/05/2026 11:37:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 11:37:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:37:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

[18/05/2026 11:37:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[18/05/2026 11:37:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 11:37:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12629
            GROUP BY l.idllamado;
            

18/05/2026 11:37:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:37:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12629
            GROUP BY l.idllamado;
            

18/05/2026 11:37:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:37:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

18/05/2026 11:37:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12629
                

[18/05/2026 11:47:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[18/05/2026 11:47:38] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[18/05/2026 11:47:38] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[18/05/2026 11: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;
                
[18/05/2026 12:24: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;
                
[18/05/2026 12:24: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;
				

[18/05/2026 12:24:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[18/05/2026 12:25:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 12:25:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12634
            GROUP BY l.idllamado;
            

18/05/2026 12:25:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12634
            GROUP BY l.idllamado;
            

[18/05/2026 12:25:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 12:25:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12634
            GROUP BY l.idllamado;
            

18/05/2026 12: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 = 12634
                

18/05/2026 12: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 = 12634
                

18/05/2026 12:25:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:25:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12634
            GROUP BY l.idllamado;
            

18/05/2026 12:25:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:25:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12634
            GROUP BY l.idllamado;
            

18/05/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12634
            GROUP BY l.idllamado;
            

18/05/2026 12:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:25:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12634
            GROUP BY l.idllamado;
            

18/05/2026 12:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:25:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/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 = 12634
                

18/05/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 = 12634
                

18/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12634
            GROUP BY l.idllamado;
            

18/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12634
            GROUP BY l.idllamado;
            

18/05/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 = 12634
                

18/05/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 = 12634
                

18/05/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 = 12634
                

18/05/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 = 12634
                

18/05/2026 12:25:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:25:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:25:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:25:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:25:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:25:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:25:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:25:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12: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 = 12634
                

18/05/2026 12: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 = 12634
                

18/05/2026 12:26:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12634
            GROUP BY l.idllamado;
            

18/05/2026 12: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 = 12634
                

18/05/2026 12: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 = 12634
                

18/05/2026 12: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 = 12634
                

18/05/2026 12:26:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12634
            GROUP BY l.idllamado;
            

18/05/2026 12: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 = 12634
                

18/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12634
            GROUP BY l.idllamado;
            

18/05/2026 12: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 = 12634
                

18/05/2026 12: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 = 12634
                

18/05/2026 12: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 = 12634
                

18/05/2026 12: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 = 12634
                

18/05/2026 12:26:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12634
            GROUP BY l.idllamado;
            

18/05/2026 12: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 = 12634
                

18/05/2026 12: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 = 12634
                

18/05/2026 12:26:21 - logentry: =========================================
FECHA: 18/05/2026 12:26:21
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Xy9rqoiimWaOZZSiNIHrmg2S+qYHz40+ne+JkyDc.2tW7ycXC_J
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61964800",
    "serieinterna": "KY2363",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "280718",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Conexion escaner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12634",
    "observacion": "Conexion escaner",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACrAOUDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFAwQCAQf\/xABGEAABAwMBBAYHBgMCDwAAAAABAAIDBAURBhIhMUETUWGBobEUIiMyNnHBJEJzkdHwFYKSwuEHMzRSU1VicnSistLT4vH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQICCAYCAgMBAAAAAAAAAQIDESFBBBITMTJRcbEiM2GBkaHB4dHwFCMkYv\/aAAwDAQACEQMRAD8A\/syIiAIiIAvLc6p9FbKmqjDS+KMvaHcCQOa9Sy9SydHp2tdjOY9n8zj6rsVdorqPVg36HDS97debe4zbIqITsvDeBHI8f3hbahdMO\/hN6gjmedi40zXsJ4bR3jxDh3hXSnUSUsCnRKjnSWtvQREVZqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCyNVkDTVZk49Vv\/UFrqf1tJsackbnHSSMb89+fopQ4kU6Q7UZP0ZnXKikfo+2V8LSKiiZHI1w4huBn6HuVTQVba+3wVbMYlYHYBzg8x3HcudPSROs8VHIzMfQNjc09WzhYmjZ3wsq7RMW9JRynGOYyc+PmpvxRfoUQWyqR\/wDS+1+inREVRtCIiAIiIAiIgCIiAIiIAiIgCIiAIiIApvV1ZOW0tqpCRPWPwcDPq8Ofac55YVIpCavhj1fX185HRW+n2WA8XOIG4fMl37KsprG5l0qVoKN7XdvbP6PZpSd4nuduLnPio6gtjLsZILnZzgDO8Z70XTSNLI2glr59rpq2QyOBO7GTgj55JRcnxMlo19lG\/wDeX0b6IigaAiIgCmNZD0ia00B92oqd\/VyH9pU6mLrip1va6cEexYZDzxxPcfV8lOnxXM2lY09Xm0vsp1K1+bTrekrBkQ1zeiecDGeHnslVSntaUnT2M1DcCSle14OOROCPEHuSnvtzGkp7PWW9Y\/BQovPb6n0y3U9Tzlia8\/MhehQNCaaugiIh0IiIAiIgCIiAIiIAiIgCIiAwr3DfY6uOutUwlZG3DqV3B3We3l29XFcaXWVKGhl0pp6CXJB2oyWnHdnuxzVGuU9NT1TNmohjlbyD2g4U1JWs0Z5UpqTlCXs8UYdZrO1wACmL6uQjc2NpA\/MrE09YTfKya6V26B0znGLm92c7+zeqK8U1HatP10lLTQwExOblrMe9gcu7wXTS8Ho+nKNhGC5m3\/USfqp6yjG8TM6cqlZRqu6SvbI1WtDWhrQAAMADki\/UVJ6IREQBERAFL2c+n6yulZxbTtELezl\/ZP5qiq6llHSS1MhAZEwuOT1BYeiqdzLM6qkzt1UrnknmOHnlTjhFszVfFVhHq\/78lEvLc6f0u11VPs7Rkic0Dtxu8V6kUFgaGrqzMHRlR0+nIm84XujP558iFvKY0gBTVl2t4GBDUZaOzJH0Cp1OpxMo0V3oxvlh8YBERQNAWNU6rs9NOYXVW25vvGMbQHfz7lnXasnv93FjoZS2laPtczRnGOWe4D5le+qtNrtNirOhpY2gQPy9w2nO3dZ7VYopcRklVnK+ztZZv8GvDNHURNlheHxvGWuacgrosXSIeNM0m2Me8QMY3bRWtNNHTwvmmeGRsGXOcdwCg1Z2L6c9aCm81c6IuVPUQ1dOyop5BJFINprhzC6rhNO+KCIiHQvlr2PLg1wcWnDsHOD1FfSkonHTmrHwvJbQ3E7TCfda\/wD+7vkQpRjcqqVNnZtYP6K1F8uc1jC97g1rRkknAAU9Be629XhkVpAZQwO9vNIzIk7B9OaKLZ2dWMGk97KNERRLDA1q7Z05KMe89g8c\/Ra1uYI7bSsHBsLB4BYmun7NgaM4252j57ifoqCFnRwRsxjZaBjq3Kb4EZo46RLovydERFA0hERAEREBO6zq3x2plDENqWtkDGgHBwCCfHA71tUFK2ioIKVvCKMN+ZA3lTkLxftaGUND6W2twHci\/O4\/nnH+6qtWSwSiZaPjqSqZbl7fsIiKs1EvD9i\/wgzMxhtZT5b2nAOf+UqoUxfAIdY2efG9+Y\/H\/wBlTqc8mZtHwc48n3xC8tzrBQWyoq+cUZIHWeXjhepY2rgTpmrAGdzSd+PvhcirtItqycacpLJM5aOpXQWNs0hLpKl5kLicnHAeXivNqmeW41UGn6P\/ABkxD5nYOGtG8fr3BaFJX09u0rS1chAjjpWEDOC47I3DtJXj0nSPlbUXupHt61x2d29rM\/UjwCszc2ZLXhChHNY9P2b1NTx0lNFTQt2Y4mhrR2BfUsUc8L4ZWB8bwWuaeBC+0VJusrWJCmll0jdzSVDnG1VJzE85IiP749xVc1wc0OaQQRkEc1wraKnuFK+mqYw+N43jq7R2qbpKyo0rWtt1xeZLfIfs9QfudhVnH1Mif+O7Pg7enQrF546+kmq30kVRG+eMZfG05Ld+N\/5ryX64OoLHPVQuZtYAY45xvIGd3YVz07a6eht8U7Rt1FRGHySuHrHIzjiVG2F2XOo9ooR6s11jaotpuVmkEbczQHpY8ccjiB3Z8FsouJ2dyc4KcXF5kK+81OpoaC0QPdG+Ufa3gchx8BntyArKioqe30rKamjDI2DcOvtPapfTMEEOrLrGwA7BcGbuA2t4VgrKjtgtxl0SLac54vd8BERVG0mNa+1jt1LxEtSN3Xy+qp1Mau\/y6zf8T9WqnU5cKM1Lzqnt2CIigaQiIgCxdTXn+FW\/o4TtVdR6kTQfWbn72OzzXS86gprQOjLXTVLm5ZCzjz3nqG5Z9jtdSaqW+3tzWzvHqMfuEQ6z1dnV81ZGNvEzLVqOT2dPfm+Ro6dtAs1rbA7BmeduUjr6u4LVWNU6sstK4tNYJXD\/AEQLh+Y3LynXVnBxs1B7ejH6o4zk72Ea1CmlBSWBRosSl1baauqZTMlkbJI7YbtM3E5wN461tqDTW8vhUhNXi7kxqz1blZJAPWbU7uze1U6mNXb7hZWjeTU7h172qnUpcKKaXnVPbsF57gyCS3VDKl4ZC6Jwe4\/dGN5XoUrW0901Jc5aN7ZKG3U7sPyPWkP18hx3rkVdk609WNkrtk1b521clJbrnWGO2RPcWHZIa854Z5ce7K\/prNjYb0eNjA2dnhjsXifZLdJbY7e+mY6CMYYDxb2g8Qe1Y7dNXWgJFqvcjI8jEcwyB5jwVkpRn6GWjTqaPlrX5b+mOXIp18uc1jC97g1rRkknAAU16DrP\/W1H\/QP\/ABo7Tl5uHqXW9OdAfejhGNrwA49ijqLNl+3m+GD97fyUkUsc0bZIpGyMcMtc05B71wuNvgudFJSVDcseNxHFp5Edq6UlJDQ0kdLA3ZjjGGjOV2UNzwL7a0bSP57cZq202+osNyzJC4bVLNy3HOPl2cj2Kx0\/Utq7FRytPCIMPzbu+i9NbQ09xpXU1VGJI3dfEHrHUVL2ymuGmLyyhLXVNDWPOwW8Qes9Rxx6+5WtqcfUwqEtHqp74vDpyLBERUnoEZZKaoi1zXudGQ3bkJdg8Ccjf3hWa\/MAZwOPFfqlKWs7lNGlsotXzuERFEuJjVXr3qwxcQanJH8zP71TqY1H8TWP8U+bVTqyXCjNS82p1XZBERVmkIimb5dJ6+4tsFrkAkkHt5gT7Mcxu8fyUox1mVVaipxuz6vN9hZcY6a20bK65N9UODc9GOe\/9gc1xj0rW3KTpr9cXyniIYT6rfDA7h3rZtFko7NAWU7cvd78rved\/d2LRUte2ESlUHU8VX4y\/Z4aWyWyjjDIaGEY+85gc4953r1CCEDAiYAP9kLoihds0qEYqyRx9FptsP8AR4tsHIdsDIK7Ii4dSSJjU3r6hsLOGJ9rP8zP0VOpe4D0zXlBCPdpoukdu57z\/wBqqFZLckZ6OM6kvXskERFWaQiIgCIiAIiIAiIgCIiAIiIAiIgJjUfxNY\/xT5tVOpjUfxNY\/wAU+bVTqyXCjNR8yp1XZBERVmkxtUXV1qtDpIiBNK4RsyTz4nd2L70\/ZYrRQt9XNTK0GZ5456vkFm3TauWs6GgfjoKVnTFp+8eP0HiqhWPCKXMy01tKspvLBfkIiKs1BERAERcaqoZSUk1S\/wB2Jhee4ZQ43ZXZPWP7Zq671vvCLELT343f0\/vKp1OaIge2zyVUhy+pmc\/PWBu88qjU6nFYz6Kv9Sk88fkIiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAmNR\/E1j\/FPm1U6mNR\/E1j\/ABT5tVOrJcKM1HzKnVdkERFWaSYt\/ttf3GTi2OANHYcM\/QqnUzbXGLXdzhcT68IcM\/yn6lUynPeuhm0bhl1fcIiKBpCIiAKd1nVPbbYaCHJmrZQxoHMAjPiQO9USlaYtvmtZagPLqe3N2WdRdvHnn54CnDffkZtJbcdRb5Yfz9FFQ0jKChhpIyS2JgaCefavQiKBoSSVkEREOhERAEREAREQBERAEREAREQBERATGo\/iax\/inzaqdTGo\/iax\/inzaqdWS4UZqPmVOq7IIiKs0kvXubb9d0dQ87EdVF0Zd1u3geOyqhZWorULtanxtHt4vaQkcdocu9ctM3lt1tzWyu+1QDZlaTvOPvd\/mrHjFPkZYPZ1XB54r8m0iIqzUERZt4vlJZYNuodtSOB6OJvF36DtXUm3ZEZTjBa0nZHj1NeZqKOOhoMur6k4Y1oyWt37x25+vUvZY7PFZbeKdh25HHakf\/nO\/RZunrZUz10t8ucZbUSn2EbicxNOeXyOB\/eqRTk7LVRnoxc5bWXt6L9hERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgJjUfxNY\/xT5tVOpjUfxNY\/xT5tVOrJcKM1HzKnVdkERFWaQp2+WKbp\/wCLWc9DXR73NbuEvX3+aokXYycXdFdSnGpGzJ6g1jQShsVftUdSBh7XtOzn58u9abb1a3RdKLjTbHWZQF1q7fR1zcVVLFNjgXtBI+RWQ\/S1lFcxgoRsuG0R0j+O\/tU\/Ayn\/AKIYXT+UfNXqls7zR2SF9ZUuGA8N9RnaT+x2r6tGm3RVBuN2l9Lrnbxne1m7xP7C2qWjpqKLoqWBkLOpjcZXZc1rK0SSouTUqju\/pBERQNAREQBERAEREAREQBERAEREAREQBERAEREBN3+GWTUlkcyNzg2QkkDcMEE+AVIiKTd0kVwp6spS5hERRLD\/2Q==",
    "razonSocial": "REGIMIENTO LOGISTICO N1 TOCOPILLA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "BASTIAN",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONEXION DE ESCANER",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56934575908",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:26",
    "ubicacionGPS": "LatLng(lat: -23.68976, lng: -70.4192933)",
    "horaLlegada": "11:54",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 18/05/2026 12:26:21
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Xy9rqoiimWaOZZSiNIHrmg2S+qYHz40+ne+JkyDc.2tW7ycXC_J
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61964800",
    "serieinterna": "KY2363",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "280718",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Conexion escaner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12634",
    "observacion": "Conexion escaner",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACrAOUDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFAwQCAQf\/xABGEAABAwMBBAYHBgMCDwAAAAABAAIDBAURBhIhMUETUWGBobEUIiMyNnHBJEJzkdHwFYKSwuEHMzRSU1VicnSistLT4vH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQICCAYCAgMBAAAAAAAAAQIDESFBBBITMTJRcbEiM2GBkaHB4dHwFCMkYv\/aAAwDAQACEQMRAD8A\/syIiAIiIAvLc6p9FbKmqjDS+KMvaHcCQOa9Sy9SydHp2tdjOY9n8zj6rsVdorqPVg36HDS97debe4zbIqITsvDeBHI8f3hbahdMO\/hN6gjmedi40zXsJ4bR3jxDh3hXSnUSUsCnRKjnSWtvQREVZqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCyNVkDTVZk49Vv\/UFrqf1tJsackbnHSSMb89+fopQ4kU6Q7UZP0ZnXKikfo+2V8LSKiiZHI1w4huBn6HuVTQVba+3wVbMYlYHYBzg8x3HcudPSROs8VHIzMfQNjc09WzhYmjZ3wsq7RMW9JRynGOYyc+PmpvxRfoUQWyqR\/wDS+1+inREVRtCIiAIiIAiIgCIiAIiIAiIgCIiAIiIApvV1ZOW0tqpCRPWPwcDPq8Ofac55YVIpCavhj1fX185HRW+n2WA8XOIG4fMl37KsprG5l0qVoKN7XdvbP6PZpSd4nuduLnPio6gtjLsZILnZzgDO8Z70XTSNLI2glr59rpq2QyOBO7GTgj55JRcnxMlo19lG\/wDeX0b6IigaAiIgCmNZD0ia00B92oqd\/VyH9pU6mLrip1va6cEexYZDzxxPcfV8lOnxXM2lY09Xm0vsp1K1+bTrekrBkQ1zeiecDGeHnslVSntaUnT2M1DcCSle14OOROCPEHuSnvtzGkp7PWW9Y\/BQovPb6n0y3U9Tzlia8\/MhehQNCaaugiIh0IiIAiIgCIiAIiIAiIgCIiAwr3DfY6uOutUwlZG3DqV3B3We3l29XFcaXWVKGhl0pp6CXJB2oyWnHdnuxzVGuU9NT1TNmohjlbyD2g4U1JWs0Z5UpqTlCXs8UYdZrO1wACmL6uQjc2NpA\/MrE09YTfKya6V26B0znGLm92c7+zeqK8U1HatP10lLTQwExOblrMe9gcu7wXTS8Ho+nKNhGC5m3\/USfqp6yjG8TM6cqlZRqu6SvbI1WtDWhrQAAMADki\/UVJ6IREQBERAFL2c+n6yulZxbTtELezl\/ZP5qiq6llHSS1MhAZEwuOT1BYeiqdzLM6qkzt1UrnknmOHnlTjhFszVfFVhHq\/78lEvLc6f0u11VPs7Rkic0Dtxu8V6kUFgaGrqzMHRlR0+nIm84XujP558iFvKY0gBTVl2t4GBDUZaOzJH0Cp1OpxMo0V3oxvlh8YBERQNAWNU6rs9NOYXVW25vvGMbQHfz7lnXasnv93FjoZS2laPtczRnGOWe4D5le+qtNrtNirOhpY2gQPy9w2nO3dZ7VYopcRklVnK+ztZZv8GvDNHURNlheHxvGWuacgrosXSIeNM0m2Me8QMY3bRWtNNHTwvmmeGRsGXOcdwCg1Z2L6c9aCm81c6IuVPUQ1dOyop5BJFINprhzC6rhNO+KCIiHQvlr2PLg1wcWnDsHOD1FfSkonHTmrHwvJbQ3E7TCfda\/wD+7vkQpRjcqqVNnZtYP6K1F8uc1jC97g1rRkknAAU9Be629XhkVpAZQwO9vNIzIk7B9OaKLZ2dWMGk97KNERRLDA1q7Z05KMe89g8c\/Ra1uYI7bSsHBsLB4BYmun7NgaM4252j57ifoqCFnRwRsxjZaBjq3Kb4EZo46RLovydERFA0hERAEREBO6zq3x2plDENqWtkDGgHBwCCfHA71tUFK2ioIKVvCKMN+ZA3lTkLxftaGUND6W2twHci\/O4\/nnH+6qtWSwSiZaPjqSqZbl7fsIiKs1EvD9i\/wgzMxhtZT5b2nAOf+UqoUxfAIdY2efG9+Y\/H\/wBlTqc8mZtHwc48n3xC8tzrBQWyoq+cUZIHWeXjhepY2rgTpmrAGdzSd+PvhcirtItqycacpLJM5aOpXQWNs0hLpKl5kLicnHAeXivNqmeW41UGn6P\/ABkxD5nYOGtG8fr3BaFJX09u0rS1chAjjpWEDOC47I3DtJXj0nSPlbUXupHt61x2d29rM\/UjwCszc2ZLXhChHNY9P2b1NTx0lNFTQt2Y4mhrR2BfUsUc8L4ZWB8bwWuaeBC+0VJusrWJCmll0jdzSVDnG1VJzE85IiP749xVc1wc0OaQQRkEc1wraKnuFK+mqYw+N43jq7R2qbpKyo0rWtt1xeZLfIfs9QfudhVnH1Mif+O7Pg7enQrF546+kmq30kVRG+eMZfG05Ld+N\/5ryX64OoLHPVQuZtYAY45xvIGd3YVz07a6eht8U7Rt1FRGHySuHrHIzjiVG2F2XOo9ooR6s11jaotpuVmkEbczQHpY8ccjiB3Z8FsouJ2dyc4KcXF5kK+81OpoaC0QPdG+Ufa3gchx8BntyArKioqe30rKamjDI2DcOvtPapfTMEEOrLrGwA7BcGbuA2t4VgrKjtgtxl0SLac54vd8BERVG0mNa+1jt1LxEtSN3Xy+qp1Mau\/y6zf8T9WqnU5cKM1Lzqnt2CIigaQiIgCxdTXn+FW\/o4TtVdR6kTQfWbn72OzzXS86gprQOjLXTVLm5ZCzjz3nqG5Z9jtdSaqW+3tzWzvHqMfuEQ6z1dnV81ZGNvEzLVqOT2dPfm+Ro6dtAs1rbA7BmeduUjr6u4LVWNU6sstK4tNYJXD\/AEQLh+Y3LynXVnBxs1B7ejH6o4zk72Ea1CmlBSWBRosSl1baauqZTMlkbJI7YbtM3E5wN461tqDTW8vhUhNXi7kxqz1blZJAPWbU7uze1U6mNXb7hZWjeTU7h172qnUpcKKaXnVPbsF57gyCS3VDKl4ZC6Jwe4\/dGN5XoUrW0901Jc5aN7ZKG3U7sPyPWkP18hx3rkVdk609WNkrtk1b521clJbrnWGO2RPcWHZIa854Z5ce7K\/prNjYb0eNjA2dnhjsXifZLdJbY7e+mY6CMYYDxb2g8Qe1Y7dNXWgJFqvcjI8jEcwyB5jwVkpRn6GWjTqaPlrX5b+mOXIp18uc1jC97g1rRkknAAU16DrP\/W1H\/QP\/ABo7Tl5uHqXW9OdAfejhGNrwA49ijqLNl+3m+GD97fyUkUsc0bZIpGyMcMtc05B71wuNvgudFJSVDcseNxHFp5Edq6UlJDQ0kdLA3ZjjGGjOV2UNzwL7a0bSP57cZq202+osNyzJC4bVLNy3HOPl2cj2Kx0\/Utq7FRytPCIMPzbu+i9NbQ09xpXU1VGJI3dfEHrHUVL2ymuGmLyyhLXVNDWPOwW8Qes9Rxx6+5WtqcfUwqEtHqp74vDpyLBERUnoEZZKaoi1zXudGQ3bkJdg8Ccjf3hWa\/MAZwOPFfqlKWs7lNGlsotXzuERFEuJjVXr3qwxcQanJH8zP71TqY1H8TWP8U+bVTqyXCjNS82p1XZBERVmkIimb5dJ6+4tsFrkAkkHt5gT7Mcxu8fyUox1mVVaipxuz6vN9hZcY6a20bK65N9UODc9GOe\/9gc1xj0rW3KTpr9cXyniIYT6rfDA7h3rZtFko7NAWU7cvd78rved\/d2LRUte2ESlUHU8VX4y\/Z4aWyWyjjDIaGEY+85gc4953r1CCEDAiYAP9kLoihds0qEYqyRx9FptsP8AR4tsHIdsDIK7Ii4dSSJjU3r6hsLOGJ9rP8zP0VOpe4D0zXlBCPdpoukdu57z\/wBqqFZLckZ6OM6kvXskERFWaQiIgCIiAIiIAiIgCIiAIiIAiIgJjUfxNY\/xT5tVOpjUfxNY\/wAU+bVTqyXCjNR8yp1XZBERVmkxtUXV1qtDpIiBNK4RsyTz4nd2L70\/ZYrRQt9XNTK0GZ5456vkFm3TauWs6GgfjoKVnTFp+8eP0HiqhWPCKXMy01tKspvLBfkIiKs1BERAERcaqoZSUk1S\/wB2Jhee4ZQ43ZXZPWP7Zq671vvCLELT343f0\/vKp1OaIge2zyVUhy+pmc\/PWBu88qjU6nFYz6Kv9Sk88fkIiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAmNR\/E1j\/FPm1U6mNR\/E1j\/ABT5tVOrJcKM1HzKnVdkERFWaSYt\/ttf3GTi2OANHYcM\/QqnUzbXGLXdzhcT68IcM\/yn6lUynPeuhm0bhl1fcIiKBpCIiAKd1nVPbbYaCHJmrZQxoHMAjPiQO9USlaYtvmtZagPLqe3N2WdRdvHnn54CnDffkZtJbcdRb5Yfz9FFQ0jKChhpIyS2JgaCefavQiKBoSSVkEREOhERAEREAREQBERAEREAREQBERATGo\/iax\/inzaqdTGo\/iax\/inzaqdWS4UZqPmVOq7IIiKs0kvXubb9d0dQ87EdVF0Zd1u3geOyqhZWorULtanxtHt4vaQkcdocu9ctM3lt1tzWyu+1QDZlaTvOPvd\/mrHjFPkZYPZ1XB54r8m0iIqzUERZt4vlJZYNuodtSOB6OJvF36DtXUm3ZEZTjBa0nZHj1NeZqKOOhoMur6k4Y1oyWt37x25+vUvZY7PFZbeKdh25HHakf\/nO\/RZunrZUz10t8ucZbUSn2EbicxNOeXyOB\/eqRTk7LVRnoxc5bWXt6L9hERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgJjUfxNY\/xT5tVOpjUfxNY\/xT5tVOrJcKM1HzKnVdkERFWaQp2+WKbp\/wCLWc9DXR73NbuEvX3+aokXYycXdFdSnGpGzJ6g1jQShsVftUdSBh7XtOzn58u9abb1a3RdKLjTbHWZQF1q7fR1zcVVLFNjgXtBI+RWQ\/S1lFcxgoRsuG0R0j+O\/tU\/Ayn\/AKIYXT+UfNXqls7zR2SF9ZUuGA8N9RnaT+x2r6tGm3RVBuN2l9Lrnbxne1m7xP7C2qWjpqKLoqWBkLOpjcZXZc1rK0SSouTUqju\/pBERQNAREQBERAEREAREQBERAEREAREQBERAEREBN3+GWTUlkcyNzg2QkkDcMEE+AVIiKTd0kVwp6spS5hERRLD\/2Q==",
    "razonSocial": "REGIMIENTO LOGISTICO N1 TOCOPILLA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "BASTIAN",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONEXION DE ESCANER",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56934575908",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:26",
    "ubicacionGPS": "LatLng(lat: -23.68976, lng: -70.4192933)",
    "horaLlegada": "11:54",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


18/05/2026 12:26:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61964800

[18/05/2026 12:26: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('61964800', 'KY2363', 2, 19969062, 280718, NOW(), 
				'08:00', '11:54', '12:26', 15, 'Conexion escaner', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779121581.png', 'Conexion escaner', null, 'COMPLETADO','LatLng(lat: -23.68976, lng: -70.4192933)' )
				
[18/05/2026 12:26:21] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200349

18/05/2026 12:26:21 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200349'                    
				WHERE idllamado = 12634			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


18/05/2026 12:26:21 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12634			
				
18/05/2026 12:26:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


18/05/2026 12:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:26:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12634
            GROUP BY l.idllamado;
            

18/05/2026 12:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:26:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:26:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12634
            GROUP BY l.idllamado;
            

[18/05/2026 12:26: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;
                

18/05/2026 12:26:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12634
            GROUP BY l.idllamado;
            

[18/05/2026 12:26: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;
                

18/05/2026 12:26:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:26:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:26:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:26:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                

18/05/2026 12:26:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12634
                
[18/05/2026 12:26: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;
				
[18/05/2026 12:26: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;
                
[18/05/2026 12:54: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[18/05/2026 12:54:26] 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;
                

[18/05/2026 12:54:28] 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;
                

[18/05/2026 12:54: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;
                

18/05/2026 12:54:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 12:54:39 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12619
LIMIT 1;
        
[18/05/2026 13:15: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[18/05/2026 13:15:23] 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;
                

[18/05/2026 13:15:25] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 13:15:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 13:15:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12633
LIMIT 1;
        

[18/05/2026 13:15:27] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 13:15:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[18/05/2026 13:15: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;
                

18/05/2026 13:15:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12633
LIMIT 1;
        

18/05/2026 13:15:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 13:15:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12633
LIMIT 1;
        

18/05/2026 13:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12633
                

18/05/2026 13:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12633
                

18/05/2026 13:15:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 13:15:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12633
LIMIT 1;
        

18/05/2026 13:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12633
                

18/05/2026 13:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12633
                

18/05/2026 13:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12633
                

18/05/2026 13:15:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 13:15:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12633
LIMIT 1;
        

18/05/2026 13:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12633
                

18/05/2026 13:15:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12633
                

18/05/2026 13:15:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12633
                

18/05/2026 13:15:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 13:15:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12633
LIMIT 1;
        

18/05/2026 13:15:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12633
                

18/05/2026 13:15:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12633
                

18/05/2026 13:15:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12633
                

18/05/2026 13: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 = 12633
                

18/05/2026 13:15:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 13:15:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12633
LIMIT 1;
        

18/05/2026 13: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 = 12633
                

18/05/2026 13: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 = 12633
                

18/05/2026 13: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 = 12633
                

18/05/2026 13: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 = 12633
                

18/05/2026 13:15:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12633
                

18/05/2026 13:15:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 13: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12633
LIMIT 1;
        

18/05/2026 13:15:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12633
                

18/05/2026 13:15:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 13:15:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12633
LIMIT 1;
        

18/05/2026 13: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 = 12633
                

18/05/2026 13: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 = 12633
                

18/05/2026 13: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 = 12633
                

18/05/2026 13: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 = 12633
                

18/05/2026 13: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 = 12633
                

18/05/2026 13: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 = 12633
                

18/05/2026 13: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 = 12633
                

18/05/2026 13: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 = 12633
                

18/05/2026 13: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 = 12633
                

18/05/2026 13: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 = 12633
                

18/05/2026 13:18:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 13:18:33 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12633
LIMIT 1;
        

18/05/2026 13:18:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 13:18:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12633
LIMIT 1;
        

18/05/2026 13:18:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12633
                

18/05/2026 13:18:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12633
                

18/05/2026 13:18:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12633
                

18/05/2026 13:18:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12633
                

18/05/2026 13: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 = 12633
                

18/05/2026 13:18:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 13:18:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12633
LIMIT 1;
        

18/05/2026 13: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 = 12633
                

18/05/2026 13: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 = 12633
                

18/05/2026 13: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 = 12633
                

18/05/2026 13:18:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 13:18:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12633
LIMIT 1;
        

18/05/2026 13: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 = 12633
                

18/05/2026 13: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 = 12633
                

18/05/2026 13:18:54 - logentry: =========================================
FECHA: 18/05/2026 13:18:54
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-HL-UUiSHS-YxcLixqtfzaPk7TuzzR7PCX.Kqc+4cXHUtys4RrKN
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61308000",
    "serieinterna": "TO2976",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "SAG",
    "ciudadmaquina": "OVALLE",
    "departamentomaquina": "2do piso",
    "rutTecnico": "20988335",
    "contador": "9810",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se conecta  en 8 pc para imprimir",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12633",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACfAMwDASIAAhEBAxEB\/8QAGwAAAgMBAQEAAAAAAAAAAAAAAAYDBAUCBwH\/xABLEAABAwMCAgYHBAQLBgcAAAABAgMEAAURBiESMRNBUWGBkRQicaGxwdEVIzLwFjRC4QczNlJUYnKCk8LSJGNzdJKiNUNTVaOy4v\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf\/EADMRAAIBAgQDBwMCBwEAAAAAAAECAAMRBBIhMUFRcRMyYaGxwdEigeEzkSMkQkRigvAU\/9oADAMBAAIRAxEAPwD2aiiiiEKKKKIQoooohCiiiiEKKKKIQoooohCiiiiEKKKKIQpe1bd5drjxkwtnXlkBWM8hyx18\/dTDSxq79es3\/M\/NNPTALazPiiRSJU2OnrNax3Zu821ElI4Vg8Lic8lD85rRpWt7YtOtZEFnKY8trpAjOwPP6000OADpO0HLJZtxoYUUUUkvCiiiiEKKKKIQoooohCiiiiEKKrT5zFthuSpCuFCB4k9QFK7EO8asR6TMkmJAWTwMo5qHz9p8qdVuLnaQqVspyqLnlGZd1tza+Bc+KlX80vJB+NTsvsyEcbLqHU9qFAj3Vjo0dY0pAVFU4QMcSnV5PkRVd7RkVtzp7bJfhvDdOFZTnmO\/njr6qLJzi5q41Kg9D+IyUUqs3u7WN1Me+sF5k7JlNYPYN+W3twaZmH2pLKHmHEuNrGUqScg1xlIlKdZamg0PI7ySiiillYUUUUQhRRRRCFLGqjm72JvqXJ3\/AOpA+dM9LGpvX1DYUcsP8Wf7yPpT0+9M2K\/SPUeohex6PrKzyjycBa7Osj\/PTPSxrMhldrmE7MSfHqPP+7TPXW7oMKOlWoviD+4hRRRU5phRVG33eFdFOiI7xlogKBGD5Gr1dII3iqwYXUwooorkaFFFFEIVw662wyt51YQ2gFSlHkBXdK9\/fevN1asENwhv8ctaSDhORt4fMUyrcyVWp2a348OshitOatuy5ckL+y4ysMtkYDh7\/n5U2pSEpCUgAAYAHVUUSK1CitxmE8LbSeFIqahmvttOUaWQXOpO8KKKKWWkbzLchlbLyAttYwpKhsRSrIhStISDOgFb9tWr75hR3RnrH186bq5cbQ62ptxIUhYKVJI2IPMUytbpI1aQfUaEbGRQ5bE+K3JjrC23BkH5HvqelOGHNL6gRb1OFVumklkq\/YXyx8B4imyhlsdIUahcWbQjeFFfCQBknAFQxZsWc2XIsht5I5lCgce3spZW4vaT0UUUTsKWNR\/ymsf\/ABT8U0z0saj\/AJTWP\/in4pqlPvTNiv0\/uPUSTXKArT+T+w8kj3j51vRllyK0s81IB91ZGsU8WmZJz+EoP\/eB860LSrjs0JWMcUds4\/uiuHuCC6Yhug95cqGW50MN93OOBtSs+wVNWZqJ0s6enKBxlop89vnSgXNpaocqExR0G4pN6dQDstg5HsIr0GkPTjQg6htqQMelQirz4j\/lp8qtbvXmPAAijY8DCiiiozfCiiiiEp3a4ItdsemLwShPqpP7SjyHnWXpK2ORYTk6VlUqarpFFQwQOe\/fkk+VVL8ld81HFsqSegY++kY\/PYcD+1TUlISkJSAABgAdVUP0rbnMq\/xKxbgug68fifaKKKnNUKKKKIQoooohMjU1s+07O4lA+\/Z+8aPXkdXiPlXenbn9rWdqQo5dT927\/aH12PjWpSrYFG26ouVqVgIdPTNDO3bgD2H\/ALaoNVI5TK\/0Vlbg2h9ozPMtyGFsvIC23ElKknrBrzuZb7jpi7JMaSWmnFfdvE+qodiur85r0iq1wgR7lDXFkoCkLG3ak9RHfQj5ekMTh+1Fxow2mZYr7JnvGDNhLZktthaljHAobb92c9\/XW5SnaLg\/p+d9i3ZzLJ\/VpB\/Djsz2fD2U2VxxY6TuGcslidRvzhSxqn\/xzT\/\/ADP+ZFM9LGsfun7TKOyWpO5HMbg\/Kin3oYr9I\/b1E0NVgHTUzIz6qf8A7Cp7CSbBByc\/cI+FQ6ocDem5qj1oCfMgfOpdPtlvT8FJ62Uq8xn50f0feH9z\/r7zRrA1o5wabdT\/AOotCffn5Vv0sa6Kl2+JGTzdkD4EfOin3hO4o2ot0lZlvg1jaGuXQQEp9vqq+tOFLAAc\/hDwBkMxfZw7fvpnrr8OkXDCwfqfaFFFFTmqFRSZDcWM7IdOG2kFaj3AZqWl3WslbVlTGaJ45TobwOscz8APGmUXNpKq\/Z0y3KcaOjreblXh4kuzHTjPUkH67eFMtV4EREGAxFRulpATnt76sUMbm8KKdnTCwooopZWFFFFEIUUUUQnDrrbLSnXVhCEDKlKOABSpdJsf9JrTcoj6XW3VGO4ptWRz5HH9vPlV3Ws30WxFpKiFyFhIx2Dc7+GPGlh2MqLouJKKSlxc3jSTttwn\/T+dqvTXS883F1jmKAbC\/nPSKKKKhPSlO6WuNd4ZjSUnGcpUOaT2il6JPm6WlJgXZZegrOGJOPw9x6\/Dq6tqbahlxI86OqPJaDjauaT9eqnVraHaQqUcxzpo3\/aGdtOtvNpcacS4hQylSTkHxpe1y2VWJDgBy0+lWR1bEfMVW9EuulXlLhBU22FXEprGVo7cY+PLtqe4Xq133T0ptqUht4tFQacPCoFPrY358uqmVbMCNpCpVD0mR9Gtt8TvV0tJ0pxZ\/WS2B3\/tfKtuAyY9ujMEYLbSEY9gApLhSXNROWeAlK+GEOKQsJ22OAPIc+\/ltT5Q4ygLGw7dq5qcLAe59Z8JAGScAUm366xbpfrXBjK6VLUlPSLTuMlQGB29f5zU0+dJ1Nc12i3OlqG1n0iQnfi6sezq7\/ZWSmNEh63jxYyeFmMtIKlHckDiJJ9vwpkS2p3kMTXLgKvduBfn0+ZuW377X1zeG6W2QjfqPqD5GmeljRoMg3K4kZMmQcKPYN\/81M9Tqb2mrC6083Mk+cKKKKSaYUsXs+mawtMEkcLX3xB6zuf8nvpnpYH3v8Ih\/wBzG+X\/AOqdNyZmxOoVeZEZ6KKKSaZmakJGnppBwQ386NOKKtPQioknohua41Qop03NI\/mAeZAqXT4xp+CP9yk+6n\/o+8zf3H+vvNGiiikmmFFFRSZDcSM7JeVwttJKlHuFE4TYXMSNYuO3LUMe2MDiU2AkD+src+7hrS1gw3C0tHiowEtuoQnA54SfpUOlGE3O8zr44jA6QpaSRyJ5+IGB4mrGph6bfbRbQAoFzpXB\/Vz9AqtF7MF5Tysuak9Xi5sOl7CMrQ4WkA9SQK7oorPPWhRRRRCFZUzTVonO9K7ESF9ZQSnO2OqtWiugkbRWRXFmF4raTKYE64WZeA405xoP85PL6HHfUmobo\/KlN2O1LzIeOH1p\/wDLT7fj++qWrZP2Reo1xhuoTLU2UrbIzlPIKP56q1dLWpuFB9MLwfkTAHFug5Hbgee\/fVjbvmeemY3w68Nz4fPCWo0SJpyzOdEPUZQXFqJwVkD8ivOHlyY76Jy1FLstC3B24UVJz8addZPOPMRbSxu7NdAwDyAI+ZHkaxpQhS9X2+3s49HiBDJUn9opyfjt501PQXPGRxYDMEXQCwHU\/AjXp2F6BYorJHrFHGv2q3+ePCtOiis5NzeesihFCjhCiiiuRoUsQxj+EOfxdcUcOfYj99M9K88GHr2C\/wAkSmuBR5ZOCP8ATTpx6TNiNMh5EfEaKKKKSaZh6xc6PTUgdayhI\/6gflWhaGy1ZoTZGCmOgH28IrG124U2Ntsblx9Ix4E\/SmJpsNNIbHJCQkeFOe4JmXXEMeQHvO6zdQJkGxSzFdU26hHGFJODgbkeQNaVfCARgjINKDY3l3XMpXnM7T9w+0rLHkKUFOcPC5v+0Nt\/j40tanuTl4dfgRCPRYSC686NwpQGw8zj279VVY78+3yJ+m4KStTzxS2vizwI6z7eHHsrTvUBqw6LVDQQXHlpS45yK1Z4j8MeyrhQrX57Ty2qtVoleQ16jhNPSEf0fTkcnm6VOHxO3uArPsihd9WT7oDxMsDomiBserI8AfOvt5nrt9kh2aFlc15pDfCn8QTjBO3WfrW5Z7Y1aLc3FbAyBlxQ\/aXjc0pNgTzl0XMyUxstr9eHzL1FFFRm+FFFFEIVmX29M2WCXljjdXs03\/OP0FTXW6R7RCVJkHbklI5rPYKxbRa5F3mpvl3G+xjMdSBzBP576dVG52merUN+zp94+XjO7LYVyFLut5HTS5I2Qrk2kjHnjyqsmFe9MuuC2tenwFkqDZOVI8PpnPdTbWXqO4\/ZllffSvhdUOjbI58R+m58K6HJNpN6CIma9iNb8YoKF11PfFy4jPoxaAaKlLyGtiDvjnzOw2q3OtMfTtwspayrL56R0nBUcp92Pn20w6YtgtlkaQf41771z2kcvAYFU9cMqXY0PJ2LD6VZ7tx8SKpnu2UbTMcPlomq2rb+8Y6KijPJkxWn0nKXUBY9hGalrPPUBuLwoooonYUtayYWhqFc20FRhPBSsdmR8wKZa4dabeaU06gLQsYUlQyCKZTlN5KrT7RCsjiTI8+MiRGdDjaxsR8D2Gp6R7zBg2CUpdvuj0KQsZDIBUk9xxy8c1WY15c20JS6zHeI5qKSkn24OPdVOyJ1WZf\/AGrTOWrofDWbWqSZF4s0FOMqe41EjkAR++mevO2NSol6ni3KegNNsoKAEAqxsrfzPwplVrWypOA86rvDRoZGsBacoYikWdy1rn0E36Xr7qP0Zw222pL89wcICBnoz9fyay7xrgOsdDakOJWsYU6tIBT7BvvUFkuCoTXDbLLIlzHP42Q6Ov5DxGaFpkakTlXFqxyIfv8AHjOZNtc0s\/bbm68px5bp9J3zz5gdu2d+2jVWood3jsxofSL4HeNXEnAVtgY3z11dm2rUt8irM9bDCEArQwkAknGw7vE1ixGY3odneZaw8ZhS8snJJBTj2DBFVWxsTvMdTMoKILKee\/ASzZ701EnSLrcYsmRKcPrLSjZtPdn2Y6tvGmWNrGzSCAp9bBIzh1GPeMit2qkq1wJv6zDZdOc5UgZ86iWVjqJ6KUatIWVgeo\/MnZfZkt9Iw6h1B\/aQoKHmKkpZk6Vdhr9JsMxyK6B\/FKUSlQ3ON\/DnVmz39x6Sq3XVoRZyMAA7Bz2eXjSldLrKLWIOWoLHym7WTqW6m02dx5s4ecPRtdyj1+AyavTZse3xVyZLgQ2gbnt7h30kokP6o1RFTLY4YqcrQyvb1MZz352rqLfU7CJia2UZF7x0HzKDTcweg3W6Bb0Mv8OHlHHbkeXur0wEEZByDS3rfh+xmIyAONyQlKEjbqP7q2WJ8UzTbQ6DJabClI7BgfWmc5gDJ4ZBRdkJ5fvLlKU1R1Bq5qEgkxLceN0jrUDuPPA862NRXcWa1qeSR0yzwNAjO\/b4CsuwSrRZLcn0ieyZcj13ilXGc7nBxnlv764gIGaNXdWcUybDc+wjTVO7RPTrTKi4yXGyE\/2uY9+KlizI01rpYr6HUZwSk5x7anqeoM1kB1twMwtHzPStPMpJytgltXhuPcRW7SrCULHrF+GokMXBIW3nqVvgfEeVNJIAyTgCmca35yOGYmnlO40\/afaKzLbqC33V9bEZxXSJGSlacHHXWnSkEbyyuri6m8KKKK5GkTkWO8sLdYbWocipAJFfBFjJBAjtAHnhA3qal7UGqYUGO9FYc6aUpJSAjkgkcyflTKCxsJKo6UxmaZ2nFQFC6XacGQyt7gSVp9UDngDxG1cKS7qh0xrZDbhW1KvvJHRgFf57PPsrjTul3psVl+5OK9D\/AIxqOD+LP7R9o8adWmm2GktMoS22gYSlIwAKq7BTpvMNCi9SmAwsPM\/AlW2WqJaYqWIzeP5yz+JR7Sau0UVEm+89JVCiw2hXmM5P2bPlMAgGLMS62n+qfyjrr06k3UEFtzVbbSgAm4Ry2VEbcY2Sc+0JqtI2JmHHIWQEb39fzaOCFpcbS4hQUlQBSR1iuqX9KXIuQhbJeW5kQcBbUMEoGwPhy8KYKkwsbTXSqCogYQrC1XDgPWtUiU6GHmRll0fi4uoDtz++rl2vkKzslch0FzHqspPrK8PnWLAs0u\/SkXW9kpbG7EUbADv93eadBb6jI13DfwlFyfLrKFj6XVc5P2pJC2oaQUsDbj7z86sqnQ7brme\/KUG22oyQjbrwjYAd2a2LlpeBcnw\/lyO4E8JLJwCOralx+2QtNX3ikwXZsJbJ6PiSFkKGCSdgOo+BzVQVb4mJ6dSkBfn3vS4hLnOzlC\/XFrgixziFFUcdKrPPvHIntxirlv0qJdu9PuEp1ua+elLoVgoSR19+PjipocCXqG5NXO4tGPEjkGPH7eRB9nL24FTapuD7qm7HbzmVK\/H3IIOR3ct+721y5vlE6Ka2NSpqOHMnn7DwmHY7E3e7m8+8t56Cz6gcWrCnFADbnsOvypqY0vZGPwwG1HGPvCV\/E1ct1vZtkFuIwMIQNz1qPWatVNqhJ0M10MKiL9QBMUbrBZ0\/erfNgJ6FDznRutg+rjbOPaPgKbqw9S2mZc0xHIS0JdjO8YC+R5b+GKzZNpuATxXTVIYODslXCM+Y\/JrujAXMQFqLsFXT7ATV1LaDdbcSwMSmDxskHBJHV4\/GoIV7+0tLS5BP+0sMLDycY9YJO\/jS7KuMm2ZMPVRlrSPwqbUrPPrPEPfWYzOuCnpctqOVJkoUl4IbPBuOe3fvVBTJGsyvilFS4GpFjseh05S\/GjrtNqteoY4yQtSXk9o4lAe4EeVeiIWlxtLiFBSVAFJHWK8\/jX6H+ihtEqM8VcCg24AOAqySnr23x76btNl06eh9MCFBvA4ueBy91LVB3MtgmUHKuxAP32Miu1+etsoMtWqTKBTkuIB4c9mcHNY0vWN0OUxrOpogbl0KUfLApyoqYZRwml6VVibPYdBPMpFwu1ycIuKppZOMtMt4B8OXxonSbcLaIMG2vsPKcCnHHhxLI32H5HKvTawHYD8nWzcp1GWI8fKDkczkcvE+VVWoDwmKpg2Ud65Om0qsa3tDLSGOgloDaQkZQnq26jVtvWlkWcKkOI71NK+Wa3FJSsYUkKHeM1A5bYLow5CjrHYppJ+VTuh4TZkrjZh+35lFOq7GvGJ6N+1Ch8RUqdRWZRwLix4qxXS7FaXCSq3RsnnhsColaZsqhg29rwyPnXPo8Z3+Z\/x85Om+WlQyLnE8Xkj51A\/IsM2VHfdmw3Ho6ipoiQnIPnvUatJWJRyYA8HFj51ydH2IjAhEd4dX9a79HjOEYgixC+fxKl4t1tnSUz4V1jxJyCPvEupwr278++qyl311Sm16lt6GsFPElaAo9+w2860v0Msf9GX\/AIqvrR+hlj\/oy\/8AFV9aYMv\/AAkGoVSSQAL8iR7SvbLVYLcv0l+4MS5PMvPPJ2PaBn45NbH21av\/AHOH\/jp+tZ40bYwc+irPd0qvrXf6IWH+gf8AzL\/1VwlTuTKolZBZVUfc\/Esq1BZ0Zzco+3Y4D8KgXquxo5z0nfGyFH4CvqdLWRGMW9G3apR+JqdFhtCOVtinbG7QPxpfo8Y\/8z\/j5zPc1tZUAFLjrmepLZ288VgQr+kagl3QQZEoujhYSBulPvxyHKnhuDEZJLUVlBPPhbAzU9dDKNhEajWcgs405D8xYGor5K\/VNPOJ7FOk494FAVrKWPwRIQI57H\/VTPRXM44CP2DHvOfSK\/6M3eYD9oX53B5oaB4T7wPdU7OiLO2cuh989fG5jPlimGijtGgMLS3Iv11lGPZbXFILMBhJHJXACfM71cKUlHBj1SMY7q6opSSZcKqiwEVdHKDSbhZ3wkrjvE8J34hyPhke+pdM3iS\/bnRKV06231ICthtgdg7zU10skxN0N3tDqESSjhcbXyXt+4c+wGrNhsotMAsvKQ86twuLVw7ZIA28qqxUgnnMVNKqsE4C+vMcJ\/\/Z",
    "razonSocial": "SERVICIO AGRICOLA Y GANADERO ",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "SEBASTIAN ARIAS ACUA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "SILBERTO.CABELLO@SAG.GOB.CL",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "981701093",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:19",
    "ubicacionGPS": "LatLng(lat: -30.6066588, lng: -71.2086443)",
    "horaLlegada": "11:51",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 18/05/2026 13:18:54
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-HL-UUiSHS-YxcLixqtfzaPk7TuzzR7PCX.Kqc+4cXHUtys4RrKN
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61308000",
    "serieinterna": "TO2976",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "SAG",
    "ciudadmaquina": "OVALLE",
    "departamentomaquina": "2do piso",
    "rutTecnico": "20988335",
    "contador": "9810",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se conecta  en 8 pc para imprimir",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12633",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACfAMwDASIAAhEBAxEB\/8QAGwAAAgMBAQEAAAAAAAAAAAAAAAYDBAUCBwH\/xABLEAABAwMCAgYHBAQLBgcAAAABAgMEAAURBiESMRNBUWGBkRQicaGxwdEVIzLwFjRC4QczNlJUYnKCk8LSJGNzdJKiNUNTVaOy4v\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf\/EADMRAAIBAgQDBwMCBwEAAAAAAAECAAMRBBIhMUFRcRMyYaGxwdEigeEzkSMkQkRigvAU\/9oADAMBAAIRAxEAPwD2aiiiiEKKKKIQoooohCiiiiEKKKKIQoooohCiiiiEKKKKIQpe1bd5drjxkwtnXlkBWM8hyx18\/dTDSxq79es3\/M\/NNPTALazPiiRSJU2OnrNax3Zu821ElI4Vg8Lic8lD85rRpWt7YtOtZEFnKY8trpAjOwPP6000OADpO0HLJZtxoYUUUUkvCiiiiEKKKKIQoooohCiiiiEKKrT5zFthuSpCuFCB4k9QFK7EO8asR6TMkmJAWTwMo5qHz9p8qdVuLnaQqVspyqLnlGZd1tza+Bc+KlX80vJB+NTsvsyEcbLqHU9qFAj3Vjo0dY0pAVFU4QMcSnV5PkRVd7RkVtzp7bJfhvDdOFZTnmO\/njr6qLJzi5q41Kg9D+IyUUqs3u7WN1Me+sF5k7JlNYPYN+W3twaZmH2pLKHmHEuNrGUqScg1xlIlKdZamg0PI7ySiiillYUUUUQhRRRRCFLGqjm72JvqXJ3\/AOpA+dM9LGpvX1DYUcsP8Wf7yPpT0+9M2K\/SPUeohex6PrKzyjycBa7Osj\/PTPSxrMhldrmE7MSfHqPP+7TPXW7oMKOlWoviD+4hRRRU5phRVG33eFdFOiI7xlogKBGD5Gr1dII3iqwYXUwooorkaFFFFEIVw662wyt51YQ2gFSlHkBXdK9\/fevN1asENwhv8ctaSDhORt4fMUyrcyVWp2a348OshitOatuy5ckL+y4ysMtkYDh7\/n5U2pSEpCUgAAYAHVUUSK1CitxmE8LbSeFIqahmvttOUaWQXOpO8KKKKWWkbzLchlbLyAttYwpKhsRSrIhStISDOgFb9tWr75hR3RnrH186bq5cbQ62ptxIUhYKVJI2IPMUytbpI1aQfUaEbGRQ5bE+K3JjrC23BkH5HvqelOGHNL6gRb1OFVumklkq\/YXyx8B4imyhlsdIUahcWbQjeFFfCQBknAFQxZsWc2XIsht5I5lCgce3spZW4vaT0UUUTsKWNR\/ymsf\/ABT8U0z0saj\/AJTWP\/in4pqlPvTNiv0\/uPUSTXKArT+T+w8kj3j51vRllyK0s81IB91ZGsU8WmZJz+EoP\/eB860LSrjs0JWMcUds4\/uiuHuCC6Yhug95cqGW50MN93OOBtSs+wVNWZqJ0s6enKBxlop89vnSgXNpaocqExR0G4pN6dQDstg5HsIr0GkPTjQg6htqQMelQirz4j\/lp8qtbvXmPAAijY8DCiiiozfCiiiiEp3a4ItdsemLwShPqpP7SjyHnWXpK2ORYTk6VlUqarpFFQwQOe\/fkk+VVL8ld81HFsqSegY++kY\/PYcD+1TUlISkJSAABgAdVUP0rbnMq\/xKxbgug68fifaKKKnNUKKKKIQoooohMjU1s+07O4lA+\/Z+8aPXkdXiPlXenbn9rWdqQo5dT927\/aH12PjWpSrYFG26ouVqVgIdPTNDO3bgD2H\/ALaoNVI5TK\/0Vlbg2h9ozPMtyGFsvIC23ElKknrBrzuZb7jpi7JMaSWmnFfdvE+qodiur85r0iq1wgR7lDXFkoCkLG3ak9RHfQj5ekMTh+1Fxow2mZYr7JnvGDNhLZktthaljHAobb92c9\/XW5SnaLg\/p+d9i3ZzLJ\/VpB\/Djsz2fD2U2VxxY6TuGcslidRvzhSxqn\/xzT\/\/ADP+ZFM9LGsfun7TKOyWpO5HMbg\/Kin3oYr9I\/b1E0NVgHTUzIz6qf8A7Cp7CSbBByc\/cI+FQ6ocDem5qj1oCfMgfOpdPtlvT8FJ62Uq8xn50f0feH9z\/r7zRrA1o5wabdT\/AOotCffn5Vv0sa6Kl2+JGTzdkD4EfOin3hO4o2ot0lZlvg1jaGuXQQEp9vqq+tOFLAAc\/hDwBkMxfZw7fvpnrr8OkXDCwfqfaFFFFTmqFRSZDcWM7IdOG2kFaj3AZqWl3WslbVlTGaJ45TobwOscz8APGmUXNpKq\/Z0y3KcaOjreblXh4kuzHTjPUkH67eFMtV4EREGAxFRulpATnt76sUMbm8KKdnTCwooopZWFFFFEIUUUUQnDrrbLSnXVhCEDKlKOABSpdJsf9JrTcoj6XW3VGO4ptWRz5HH9vPlV3Ws30WxFpKiFyFhIx2Dc7+GPGlh2MqLouJKKSlxc3jSTttwn\/T+dqvTXS883F1jmKAbC\/nPSKKKKhPSlO6WuNd4ZjSUnGcpUOaT2il6JPm6WlJgXZZegrOGJOPw9x6\/Dq6tqbahlxI86OqPJaDjauaT9eqnVraHaQqUcxzpo3\/aGdtOtvNpcacS4hQylSTkHxpe1y2VWJDgBy0+lWR1bEfMVW9EuulXlLhBU22FXEprGVo7cY+PLtqe4Xq133T0ptqUht4tFQacPCoFPrY358uqmVbMCNpCpVD0mR9Gtt8TvV0tJ0pxZ\/WS2B3\/tfKtuAyY9ujMEYLbSEY9gApLhSXNROWeAlK+GEOKQsJ22OAPIc+\/ltT5Q4ygLGw7dq5qcLAe59Z8JAGScAUm366xbpfrXBjK6VLUlPSLTuMlQGB29f5zU0+dJ1Nc12i3OlqG1n0iQnfi6sezq7\/ZWSmNEh63jxYyeFmMtIKlHckDiJJ9vwpkS2p3kMTXLgKvduBfn0+ZuW377X1zeG6W2QjfqPqD5GmeljRoMg3K4kZMmQcKPYN\/81M9Tqb2mrC6083Mk+cKKKKSaYUsXs+mawtMEkcLX3xB6zuf8nvpnpYH3v8Ih\/wBzG+X\/AOqdNyZmxOoVeZEZ6KKKSaZmakJGnppBwQ386NOKKtPQioknohua41Qop03NI\/mAeZAqXT4xp+CP9yk+6n\/o+8zf3H+vvNGiiikmmFFFRSZDcSM7JeVwttJKlHuFE4TYXMSNYuO3LUMe2MDiU2AkD+src+7hrS1gw3C0tHiowEtuoQnA54SfpUOlGE3O8zr44jA6QpaSRyJ5+IGB4mrGph6bfbRbQAoFzpXB\/Vz9AqtF7MF5Tysuak9Xi5sOl7CMrQ4WkA9SQK7oorPPWhRRRRCFZUzTVonO9K7ESF9ZQSnO2OqtWiugkbRWRXFmF4raTKYE64WZeA405xoP85PL6HHfUmobo\/KlN2O1LzIeOH1p\/wDLT7fj++qWrZP2Reo1xhuoTLU2UrbIzlPIKP56q1dLWpuFB9MLwfkTAHFug5Hbgee\/fVjbvmeemY3w68Nz4fPCWo0SJpyzOdEPUZQXFqJwVkD8ivOHlyY76Jy1FLstC3B24UVJz8addZPOPMRbSxu7NdAwDyAI+ZHkaxpQhS9X2+3s49HiBDJUn9opyfjt501PQXPGRxYDMEXQCwHU\/AjXp2F6BYorJHrFHGv2q3+ePCtOiis5NzeesihFCjhCiiiuRoUsQxj+EOfxdcUcOfYj99M9K88GHr2C\/wAkSmuBR5ZOCP8ATTpx6TNiNMh5EfEaKKKKSaZh6xc6PTUgdayhI\/6gflWhaGy1ZoTZGCmOgH28IrG124U2Ntsblx9Ix4E\/SmJpsNNIbHJCQkeFOe4JmXXEMeQHvO6zdQJkGxSzFdU26hHGFJODgbkeQNaVfCARgjINKDY3l3XMpXnM7T9w+0rLHkKUFOcPC5v+0Nt\/j40tanuTl4dfgRCPRYSC686NwpQGw8zj279VVY78+3yJ+m4KStTzxS2vizwI6z7eHHsrTvUBqw6LVDQQXHlpS45yK1Z4j8MeyrhQrX57Ty2qtVoleQ16jhNPSEf0fTkcnm6VOHxO3uArPsihd9WT7oDxMsDomiBserI8AfOvt5nrt9kh2aFlc15pDfCn8QTjBO3WfrW5Z7Y1aLc3FbAyBlxQ\/aXjc0pNgTzl0XMyUxstr9eHzL1FFFRm+FFFFEIVmX29M2WCXljjdXs03\/OP0FTXW6R7RCVJkHbklI5rPYKxbRa5F3mpvl3G+xjMdSBzBP576dVG52merUN+zp94+XjO7LYVyFLut5HTS5I2Qrk2kjHnjyqsmFe9MuuC2tenwFkqDZOVI8PpnPdTbWXqO4\/ZllffSvhdUOjbI58R+m58K6HJNpN6CIma9iNb8YoKF11PfFy4jPoxaAaKlLyGtiDvjnzOw2q3OtMfTtwspayrL56R0nBUcp92Pn20w6YtgtlkaQf41771z2kcvAYFU9cMqXY0PJ2LD6VZ7tx8SKpnu2UbTMcPlomq2rb+8Y6KijPJkxWn0nKXUBY9hGalrPPUBuLwoooonYUtayYWhqFc20FRhPBSsdmR8wKZa4dabeaU06gLQsYUlQyCKZTlN5KrT7RCsjiTI8+MiRGdDjaxsR8D2Gp6R7zBg2CUpdvuj0KQsZDIBUk9xxy8c1WY15c20JS6zHeI5qKSkn24OPdVOyJ1WZf\/AGrTOWrofDWbWqSZF4s0FOMqe41EjkAR++mevO2NSol6ni3KegNNsoKAEAqxsrfzPwplVrWypOA86rvDRoZGsBacoYikWdy1rn0E36Xr7qP0Zw222pL89wcICBnoz9fyay7xrgOsdDakOJWsYU6tIBT7BvvUFkuCoTXDbLLIlzHP42Q6Ov5DxGaFpkakTlXFqxyIfv8AHjOZNtc0s\/bbm68px5bp9J3zz5gdu2d+2jVWood3jsxofSL4HeNXEnAVtgY3z11dm2rUt8irM9bDCEArQwkAknGw7vE1ixGY3odneZaw8ZhS8snJJBTj2DBFVWxsTvMdTMoKILKee\/ASzZ701EnSLrcYsmRKcPrLSjZtPdn2Y6tvGmWNrGzSCAp9bBIzh1GPeMit2qkq1wJv6zDZdOc5UgZ86iWVjqJ6KUatIWVgeo\/MnZfZkt9Iw6h1B\/aQoKHmKkpZk6Vdhr9JsMxyK6B\/FKUSlQ3ON\/DnVmz39x6Sq3XVoRZyMAA7Bz2eXjSldLrKLWIOWoLHym7WTqW6m02dx5s4ecPRtdyj1+AyavTZse3xVyZLgQ2gbnt7h30kokP6o1RFTLY4YqcrQyvb1MZz352rqLfU7CJia2UZF7x0HzKDTcweg3W6Bb0Mv8OHlHHbkeXur0wEEZByDS3rfh+xmIyAONyQlKEjbqP7q2WJ8UzTbQ6DJabClI7BgfWmc5gDJ4ZBRdkJ5fvLlKU1R1Bq5qEgkxLceN0jrUDuPPA862NRXcWa1qeSR0yzwNAjO\/b4CsuwSrRZLcn0ieyZcj13ilXGc7nBxnlv764gIGaNXdWcUybDc+wjTVO7RPTrTKi4yXGyE\/2uY9+KlizI01rpYr6HUZwSk5x7anqeoM1kB1twMwtHzPStPMpJytgltXhuPcRW7SrCULHrF+GokMXBIW3nqVvgfEeVNJIAyTgCmca35yOGYmnlO40\/afaKzLbqC33V9bEZxXSJGSlacHHXWnSkEbyyuri6m8KKKK5GkTkWO8sLdYbWocipAJFfBFjJBAjtAHnhA3qal7UGqYUGO9FYc6aUpJSAjkgkcyflTKCxsJKo6UxmaZ2nFQFC6XacGQyt7gSVp9UDngDxG1cKS7qh0xrZDbhW1KvvJHRgFf57PPsrjTul3psVl+5OK9D\/AIxqOD+LP7R9o8adWmm2GktMoS22gYSlIwAKq7BTpvMNCi9SmAwsPM\/AlW2WqJaYqWIzeP5yz+JR7Sau0UVEm+89JVCiw2hXmM5P2bPlMAgGLMS62n+qfyjrr06k3UEFtzVbbSgAm4Ry2VEbcY2Sc+0JqtI2JmHHIWQEb39fzaOCFpcbS4hQUlQBSR1iuqX9KXIuQhbJeW5kQcBbUMEoGwPhy8KYKkwsbTXSqCogYQrC1XDgPWtUiU6GHmRll0fi4uoDtz++rl2vkKzslch0FzHqspPrK8PnWLAs0u\/SkXW9kpbG7EUbADv93eadBb6jI13DfwlFyfLrKFj6XVc5P2pJC2oaQUsDbj7z86sqnQ7brme\/KUG22oyQjbrwjYAd2a2LlpeBcnw\/lyO4E8JLJwCOralx+2QtNX3ikwXZsJbJ6PiSFkKGCSdgOo+BzVQVb4mJ6dSkBfn3vS4hLnOzlC\/XFrgixziFFUcdKrPPvHIntxirlv0qJdu9PuEp1ua+elLoVgoSR19+PjipocCXqG5NXO4tGPEjkGPH7eRB9nL24FTapuD7qm7HbzmVK\/H3IIOR3ct+721y5vlE6Ka2NSpqOHMnn7DwmHY7E3e7m8+8t56Cz6gcWrCnFADbnsOvypqY0vZGPwwG1HGPvCV\/E1ct1vZtkFuIwMIQNz1qPWatVNqhJ0M10MKiL9QBMUbrBZ0\/erfNgJ6FDznRutg+rjbOPaPgKbqw9S2mZc0xHIS0JdjO8YC+R5b+GKzZNpuATxXTVIYODslXCM+Y\/JrujAXMQFqLsFXT7ATV1LaDdbcSwMSmDxskHBJHV4\/GoIV7+0tLS5BP+0sMLDycY9YJO\/jS7KuMm2ZMPVRlrSPwqbUrPPrPEPfWYzOuCnpctqOVJkoUl4IbPBuOe3fvVBTJGsyvilFS4GpFjseh05S\/GjrtNqteoY4yQtSXk9o4lAe4EeVeiIWlxtLiFBSVAFJHWK8\/jX6H+ihtEqM8VcCg24AOAqySnr23x76btNl06eh9MCFBvA4ueBy91LVB3MtgmUHKuxAP32Miu1+etsoMtWqTKBTkuIB4c9mcHNY0vWN0OUxrOpogbl0KUfLApyoqYZRwml6VVibPYdBPMpFwu1ycIuKppZOMtMt4B8OXxonSbcLaIMG2vsPKcCnHHhxLI32H5HKvTawHYD8nWzcp1GWI8fKDkczkcvE+VVWoDwmKpg2Ud65Om0qsa3tDLSGOgloDaQkZQnq26jVtvWlkWcKkOI71NK+Wa3FJSsYUkKHeM1A5bYLow5CjrHYppJ+VTuh4TZkrjZh+35lFOq7GvGJ6N+1Ch8RUqdRWZRwLix4qxXS7FaXCSq3RsnnhsColaZsqhg29rwyPnXPo8Z3+Z\/x85Om+WlQyLnE8Xkj51A\/IsM2VHfdmw3Ho6ipoiQnIPnvUatJWJRyYA8HFj51ydH2IjAhEd4dX9a79HjOEYgixC+fxKl4t1tnSUz4V1jxJyCPvEupwr278++qyl311Sm16lt6GsFPElaAo9+w2860v0Msf9GX\/AIqvrR+hlj\/oy\/8AFV9aYMv\/AAkGoVSSQAL8iR7SvbLVYLcv0l+4MS5PMvPPJ2PaBn45NbH21av\/AHOH\/jp+tZ40bYwc+irPd0qvrXf6IWH+gf8AzL\/1VwlTuTKolZBZVUfc\/Esq1BZ0Zzco+3Y4D8KgXquxo5z0nfGyFH4CvqdLWRGMW9G3apR+JqdFhtCOVtinbG7QPxpfo8Y\/8z\/j5zPc1tZUAFLjrmepLZ288VgQr+kagl3QQZEoujhYSBulPvxyHKnhuDEZJLUVlBPPhbAzU9dDKNhEajWcgs405D8xYGor5K\/VNPOJ7FOk494FAVrKWPwRIQI57H\/VTPRXM44CP2DHvOfSK\/6M3eYD9oX53B5oaB4T7wPdU7OiLO2cuh989fG5jPlimGijtGgMLS3Iv11lGPZbXFILMBhJHJXACfM71cKUlHBj1SMY7q6opSSZcKqiwEVdHKDSbhZ3wkrjvE8J34hyPhke+pdM3iS\/bnRKV06231ICthtgdg7zU10skxN0N3tDqESSjhcbXyXt+4c+wGrNhsotMAsvKQ86twuLVw7ZIA28qqxUgnnMVNKqsE4C+vMcJ\/\/Z",
    "razonSocial": "SERVICIO AGRICOLA Y GANADERO ",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "SEBASTIAN ARIAS ACUA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "SILBERTO.CABELLO@SAG.GOB.CL",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "981701093",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:19",
    "ubicacionGPS": "LatLng(lat: -30.6066588, lng: -71.2086443)",
    "horaLlegada": "11:51",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


18/05/2026 13:18:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61308000

[18/05/2026 13:18: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('61308000', 'TO2976', 2, 20988335, 9810, NOW(), 
				'08:00', '11:51', '13:19', 1, 'se conecta  en 8 pc para imprimir', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779124734.png', '', null, 'COMPLETADO','LatLng(lat: -30.6066588, lng: -71.2086443)' )
				
[18/05/2026 13:18:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200350

18/05/2026 13:18:54 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '61308000'
				   AND serieintmaquina = 'TO2976'
		
18/05/2026 13:18:54 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'TO2976'
				   AND estado = 1
				
18/05/2026 13:18:54 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('61308000', 'TO2976', 1, 1, now(), 'SAG', 'OVALLE', '2do piso');
				
18/05/2026 13:18:54 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200350'                    
				WHERE idllamado = 12633			
				TO ENVIO: SILBERTO.CABELLO@SAG.GOB.CL, tecnico@dsprint.cl


18/05/2026 13:18:54 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12633			
				
18/05/2026 13:18:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


18/05/2026 13: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 = 12633
                

18/05/2026 13: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 = 12633
                

18/05/2026 13:18:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 13:18:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12633
LIMIT 1;
        

18/05/2026 13:18:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12633
                

18/05/2026 13:18:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12633
                

18/05/2026 13:18:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12633
                

18/05/2026 13:18:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12633
                

18/05/2026 13:18:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12633
                

18/05/2026 13: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 = 12633
                

[18/05/2026 13:19:14] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 13:19:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 13:19:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12633
LIMIT 1;
        

18/05/2026 13: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 = 12633
                

18/05/2026 13: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 = 12633
                

[18/05/2026 13:19:14] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 13:19:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 13:19:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12633
LIMIT 1;
        

18/05/2026 13: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 = 12633
                

18/05/2026 13: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 = 12633
                

18/05/2026 13: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 = 12633
                

18/05/2026 13: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 = 12633
                

[18/05/2026 13:28: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;
                
[18/05/2026 13:28:52] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[18/05/2026 13:50: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[18/05/2026 13:50:39] 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;
                
[18/05/2026 13:50:44] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[18/05/2026 13:50:44] 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;
                

[18/05/2026 13:50:46] 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;
                

[18/05/2026 13:51:01] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

[18/05/2026 14:46: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;
                
[18/05/2026 14:46:18] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[18/05/2026 14:46:18] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[18/05/2026 15:03: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;
                

18/05/2026 15:03:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

18/05/2026 15:03:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

[18/05/2026 15:03: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;
                

18/05/2026 15:03:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

18/05/2026 15:03:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

18/05/2026 15:03:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

18/05/2026 15:03:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

18/05/2026 15:03:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

[18/05/2026 15:03: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;
                

18/05/2026 15: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 = 12625
                

[18/05/2026 15:03: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;
                

18/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

18/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

18/05/2026 15: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 = 12625
                

18/05/2026 15: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 = 12625
                

18/05/2026 15: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 = 12625
                

18/05/2026 15:03:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[18/05/2026 15:03:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 15: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 = 12625
                

18/05/2026 15:03:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[18/05/2026 15:03:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 15:03:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

18/05/2026 15: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 = 12625
                

18/05/2026 15: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 = 12625
                

18/05/2026 15: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 = 12625
                

18/05/2026 15:03:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

18/05/2026 15:03:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

18/05/2026 15: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 = 12625
                

18/05/2026 15:03:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[18/05/2026 15:03: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;
                

[18/05/2026 15:03: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;
                

18/05/2026 15: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 = 12625
                

18/05/2026 15:03:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[18/05/2026 15:03: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;
                

18/05/2026 15: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 = 12625
                

18/05/2026 15:03:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[18/05/2026 15:03: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;
                

18/05/2026 15:03:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

18/05/2026 15: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 = 12625
                

18/05/2026 15:03:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

18/05/2026 15:03:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

[18/05/2026 15:03: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;
                

18/05/2026 15:03:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

18/05/2026 15:03:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

18/05/2026 15:03:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

[18/05/2026 15:03: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;
                

18/05/2026 15:03:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

18/05/2026 15:03:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

18/05/2026 15:03:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                
[18/05/2026 15:03:51] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[18/05/2026 15:03:51] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[18/05/2026 15:03:51] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[18/05/2026 15:03:51] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[18/05/2026 15:03:51] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[18/05/2026 15:03:51] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[18/05/2026 16:47:53] 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;
                
[18/05/2026 16:47:53] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

[18/05/2026 16:47: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;
                

[18/05/2026 16:47: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;
                

18/05/2026 16:47:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:47:59 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12641
LIMIT 1;
        

18/05/2026 16:48:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:48:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12641
LIMIT 1;
        

[18/05/2026 16:48:01] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 16:48:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:48:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12641
LIMIT 1;
        

18/05/2026 16: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 = 12641
                

18/05/2026 16: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 = 12641
                

18/05/2026 16:48:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:48:03 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12641
LIMIT 1;
        

18/05/2026 16: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 = 12641
                

18/05/2026 16: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 = 12641
                

18/05/2026 16:48:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:48:04 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12641
LIMIT 1;
        

18/05/2026 16: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 = 12641
                

18/05/2026 16: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 = 12641
                

18/05/2026 16: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 = 12641
                

18/05/2026 16: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 = 12641
                

18/05/2026 16:48:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:48:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12641
LIMIT 1;
        

18/05/2026 16:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

18/05/2026 16:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

18/05/2026 16:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

18/05/2026 16:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

18/05/2026 16:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

18/05/2026 16:48:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:48:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12641
LIMIT 1;
        

18/05/2026 16:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

18/05/2026 16:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

18/05/2026 16:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

18/05/2026 16: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 = 12641
                

18/05/2026 16:48:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12641
LIMIT 1;
        

18/05/2026 16: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 = 12641
                

18/05/2026 16:48:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12641
LIMIT 1;
        

18/05/2026 16: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 = 12641
                

18/05/2026 16: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 = 12641
                

18/05/2026 16: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 = 12641
                

18/05/2026 16: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 = 12641
                

18/05/2026 16:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

18/05/2026 16:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

18/05/2026 16:49:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:49:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12641
LIMIT 1;
        

18/05/2026 16:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

18/05/2026 16:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

18/05/2026 16:49:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:49:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12641
LIMIT 1;
        

18/05/2026 16:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

18/05/2026 16:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

18/05/2026 16:49:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:49:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12641
LIMIT 1;
        

18/05/2026 16:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

18/05/2026 16:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

18/05/2026 16:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

18/05/2026 16:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

18/05/2026 16: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 = 12641
                

18/05/2026 16: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 = 12641
                

18/05/2026 16:50:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:50:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12641
LIMIT 1;
        

18/05/2026 16:50:08 - logentry: =========================================
FECHA: 18/05/2026 16:50:08
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-x7yg4dh_OGDqiAz2ReZnz.EvKL16jLVAXDHo77_yrC0h8Lojqgv
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61308000",
    "serieinterna": "TO2973",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "SAG",
    "ciudadmaquina": "MONTE PATRIA ",
    "departamentomaquina": "FLOR DEL VALLE ",
    "rutTecnico": "20988335",
    "contador": "3732",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se instala maquina, se da inducción de uso se configuración en 5 pc para imprimir y escanear \nse deja toner\n01 iton2956",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12641",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADFAVkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABNEAABAwMCAgcEBwIKCAYDAAABAAIDBAURBiESMRNBUWGBkaEUInGxFSMyQsHR8AcWJDNSdJKissLh8SU0N0NicoLSNTZEU2PiRVVz\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMhEAAgECAwUHAgcBAQAAAAAAAAECAxESITEEQVFh0RMiMnGBkaEUsSMzQnLB4fDxYv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBERAERcamrp6OPpKmeOFmcZe4BDjaSuzsizlRrShDzFQQT10vU2NpAPjz9Fy6bV1xP1cMFujPIuwXY8c\/IKeB78jO9phpHveX+sackAZJwAoNRfLVS\/x1fAD2B\/EfIKmGkKisIddrvUVHWWNOw8\/HqU+m0nZabBFGJHDrlcXZ8OXou2gtWMdeWkUvN9CLNre1MdwwtqKg9XBHgHzwVz\/ei6T\/AOqaeqXA8nPyB\/Z\/FaKClp6ZvDTwRxDsjYG\/JdVzFHgOzrPWdvJdbmY9s1jP9m30sA7XOGf7X4IKbWUp96upIgdzsPL7K06Jj5IfT8Zv3Mx9Far\/AP3cP9H\/AOqfQmpMY+nvHhK06JjY+mhxfuzMCyakH\/5\/+qn0frCP7F3pXjnhzRv\/AFFp0TGx9NHc37szHS6zg\/3FHUeIGfUL5+8N\/pRmssD3tA94wk7d\/WtQi7jW9DsJLwzfwyltGpqW7VRpG088M7WlzmyAYAHj8OpXSIoO24ugpJWk7sIiLhMIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAi8ySMijdJI9rGNGXOccADvKzdVq4z1BpLJRvrZuXGQeAd\/w8lJRctCqpVhT8TNKSAMk4AVHcNXWui4mRyGqmBwGRbjP\/ADcvLKhDTt2vEnSXyv4Iufs8B2+HZ81d2+yW62NxS0zGu\/lu95x8SpWitcyrHWqeFYVz19ikNVqi9NLaemjtkDh9uQnjx8efoF3pdGUfSdPcqiavmI3MjiB88nzWjRcxvdkdWzRbvN4nz6aHGnpaekj6OmgjhZ\/JjaGj0XZEUDQklkgiIh0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCzVwllOubdFDJI3EJ4xk8JHvEjHwHyWlWYn\/ANolN\/Nj8nKcN\/kZto0j5o06IigaQiIgCIuD66kjcGvqoWuPIOkAKHG0tTui8tc17Q5jg5p5EHIK9IdCIiAIiIAiIgCrLzfaSzQgynpJn\/xcLT7zvyHeoN11Nwzigs8YrK1xI93drPzPovVl002lm+kLjJ7VXvw4uduGHu7T3+SsUUs5GWVWU3gper3LqyDDarrqSRtReJHU1HniZSs2J+I6vid\/gtPS0dPQwCClhZFGPutHr3rsijKTZZToxhnq+IREUS4IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICjvN0qbferZCx7RT1T+B4LR2gc\/8AqHkrxZnWwMVJRVrftU9SD6Z\/uhaVpDmhw3BGQpyXdTM9OT7WcXy+x9WYlHH+0OHh+5Sni7tj+YWnWYi979ok+d+CmGO7Zv5lIb\/I5tH6P3I06IigaQqC7ajfDVfR1qg9srjsQN2x\/Ht\/BddTXOegoWQ0f+t1T+jixjPVnA8fVdrHY4LNS8LcPqHj62Y83H8lNJJXZmqSnOfZwy4vpzKlmmrpdAH3u6P4TuYIsYHjyB8CpTNE2VrSDHK89rpDkeS0CJ2kgtlpLVXfPMzLtEUkbi+jrqumcexwI\/A+q8fQ+p6I8VJehUgH7M+SSPHPzWpRO0lvH0tL9OXk7GW\/eK9WxzReLSTF1ywb47+ZHb1j0Vzbb7brrtS1AMg5xu913kefgrBUlz0pbq\/MkTPZKjmJYhjB7SF28XrkcwVqfheJcHr7l2iylJeq+w1TLdfGufC44irMk5Heev5haeSeKKB075Gtia3iL87Y7VGUWi2nWjNPc1quAnnipoXzTyNjjYMuc44AWWmuNy1RO6ltPHS0TciSpcCOP4fl54XiGGbWFxknnfJHaoHYiYMjpf129WcLWQQRU0LIYI2xxsGGtaMAKWUPMovLaNMofL6Ih2my0dngEdNGOMjD5T9p\/wCuxWCIoNt5s1Rioq0VkERFwkEREAREQBERAEREAREQBERAERcaqrp6KEzVMzIoxzLihxtJXZ2XwkAZJwAs1Lqqor5HQWG3yVTwN5ZBwsb+u8hc26XuVzIfe7o97eLi6CI+6PwHkrMFvE7Gf6jFlSWL7e5YV2rLRQ5b7R07x92EcXryUH94b7cHYtdlLGHlJUZAI7eoepVzQ2O2W7BpaONrxyeRxO8zup6XitEc7OtPxSt5dWZhts1VVAOqbvHTg78Mbdx5AfNc5rLqC2xPqqW9y1bo28XRy597HUASepatE7Rj6WFtXfjdlfZbq28W1lW2PoySWuZnOCO9WCzOhji21UYJ4W1JwOzYLTKM1aTSLNnm50oyepS6up\/aNOVOG5dHwyDuwd\/TKmWSf2myUcuckwtB+IGD6hd62nFXQz07hkSxuZ5jCpdE1BlsXQuzxU8rmbnx\/FS1gQfd2hc19v8ApoVmIvd\/aJPnbjphjv2b+RWnWYm2\/aJT42zTHPfs5chv8htH6P3I06IigaTMTgV2v4YyeJtHT8RA6j3\/ANIei06zFqHSa5u0p5tjDP7P5LTqc9y5GbZ81KXFvoERFA0hERAEREBHraKnuFK+mqYw+N43HZ3jvX57UzSU1U\/TslyzbmzgOk4fsjO48D4ZC2OprubVbeGHepqMxwgcwetw+GR5hRqPSkLbBJR1WDVVHvySg5w\/fh8s+OT2q6Dwq7PO2mDqzww1Sz6epeUlPDSUkVPTtDYo2hrcdnauyzulrjKBLZq4kVdGcDP3mfHu+RC0SrkmnmbKU1OCa\/4ERFEtCIiAIiIAiIgCIiAIiIAiLlUVMFLEZaiZkUY5ue4AIcbtmzquc08NNEZZ5WRRt5uecALPVGq5KuY0tho31kvXK4YY3v8A88LzDpapuEoqb\/WvqHcxBGcMb4\/lj4qeC3iyM7r4sqSvz3e\/Q+1OqZq2Y0dgpXVUvXM9uGNHb\/njxSm0m+qn9rvtW+rmdzjacMHd\/gMLQ09NBSQiGmhZFGOTWDAXVdx28IVDE71Xflu9upzhghpohFBEyKNvJrBgBdERVmlKwREQBeJZBFE+Q8mNLj4L2qbVdaKLT9QfvTDoW8vvc\/TK6ld2IVJqEHJ7iHoaNwsskr8ZlncRjHLAHzytKqe1GmsenaVlZMyDhj4n8R3y7cjv5+irK7WzHStprPTOqpnnDXOaQCe5vM+iscXOTaM0KkKFKMZvO3qaOsraagp3T1UzYmNHMnn3AdZWR0tdYzqOuhgjkdBWPMjMgZbgk778sE+ilQ6Tq7pP7Zfqt7pHcoYz9kdmeQ+A81yutDT6cvdrrqOIRU5d0UgGTz5k9uxPkpRUbOOrKasqrlGq1aKfrnkbFZipPD+0OjDtuKmPD37O\/JadZiu\/2iW3+bH5SKuG\/wAjTtOkf3L7mnREUDSZize5rS7sPMtDvl+a06zG9F+0IY2bXU+\/ZkD\/AOnqtOpz1TM2zZKS4N9QiIoGkIiIAvjnBrS5xAAGST1L6qHV9w9ks5pmbz1h6JjQd8fePlt4rsVd2K6k1Tg5PcQbS06j1BNdp25paQhlM3JwXZyD8cbnvI7FrFCs9vZbLXBSNGCxuXntcdyfNTV2bu8iFCm4Q72rzZmdU0klHPT3+jbiamcBMAccbO\/5ePcr+jq4q6jiqoTlkrQ4d3cuksUc8L4ZWB8bwWuaeRCy9lkdp++S2SoeTBOeOleeW\/V+HxHepeKPNFb\/AAqt\/wBMvv8A2atERVmsIiIAiIgCIiAIiIAvEsscETpZntjjYMuc44ACqrzqSjtP1Q+vqnfZhZuc9\/Z81Vw2O53+T2m+TvhgJyykjOMfHs+fwU1DK7yRnnXzwU1d\/bzOtVqior5zR6epjUSfencMNb4H5nyKUukn1Moqr7WPrJefRhx4B+u7C0FJR01DCIaWBkLB1NGM\/HtXddx2yiRWz4neq78t3t1OVPTQUsQip4WRRjk1jQAuqIqzSklkgiIh0IiIAqKv1OymuJoKOjlrp2H6xsX3eXcc8\/Reb\/qajoaSeCCpDqwsLWiP3uA8sk8hhUFntOoJ4HMiBoI5zmaokyJJPx6+7ParYwVryMNfaHiVOlm99sy6i1rRNa5tfTT0k7ScxFpJ\/BUV0udVqu40dDBT+zxkl0XSb8X\/ABHblseXetDTaMtMNO6Odj6iR496VziCD3Y5LGSVEtnvM0dNU8Zh4oI5nD7A5Z8N1bBQbeHUybRKvGKVZ918Nf8AeRYXC1NNaKBs8l0ukuz3ucQyEefP47dy1lg0\/T2Wm6pKl4+slx6DsHzX3T9opbbRCSGQVEs4Dn1Gc8eew9itlVObeSNmz7NGL7RrP7dXzCqNUW\/6RsU8bRmSIdKz4j\/DI8Vbr4QCMEZBVadnc1TgpxcXvK6wV4uVlp6guBfw8MmOpw2P5+Kqq7\/aJbf5sflIvFgb9Ealr7QQWxS\/WwZO2O7wP9Ve5SJv2iQ5P8RTHHkf+5W2tJ24GJzcqcE9VJJ+jNOiIqT0DMatAo6y13bBxBMGyYG5bz5+B81pgQRkHIKrNR0P0hYqmENy9rekZtk8Td9vjy8V50xW+3WCmeT70bejd8W7fLCsecE+Blj3a8lxV\/bJ\/wAFsuNVMaekmnDeIxRufjtwMrsotz\/8Kq\/\/AOD\/AOyVBamiTtFs42S5G72uOsdEIi8uHCHZxg4VgqLRn\/lqD\/mf\/aKvV2StJohQk5UoyerQWWPDd9dAbOhtsedx9\/8AwJ\/qrQ19ZHb6Garl3bEwux29g8SqXRlM9tslr5smatlMhJHMZ29cnxUo5Jsqrd+pGn6v0\/s0SIirNQVLqi1fSNsMsIIqqb6yJzdnbcwP1zAV0i6nZ3RCpBVIuL3lZp+6i8WqOodjpW+5KB1OH581ZrLWVgt2sLlb42BsMjRK0A8jseXZ7xWpUppJ5Fezzcod7VZP0CiOirvpRsoqGex9Fh0PDvx555UtFAuauEREOhEVBddUMpp\/YrbD7bWElvCw5aw9+Of63XVFvQrqVI01eTLmqrKehgM9VMyKMfecfTvWafebrqGR1PZITT04OH1Umx8Oz1PwXSl0xU3Cp9t1DP07\/uwMd7rO7b5DzK0kUUcMbY4o2xsaMNa0YA8FPux5sotVra92Py+hVWbTdHafrT9fVO+1M\/c57uz5q4RFBtt3ZohCMFhirIIiLhMLzxN4+DiHFjOM74XyWaKBhkmkZGwc3PcAF+cagq6SfUEs7KyWePg+rfC4\/Vu7N+rny23U4QxMzbRtCoxT1P0pcqipp6WPpKiaOJva9wCwLr3qahoo2VDpYInkATyxZcB8SPHfdXNv0vR3GNlZX3KS5uPW2U8Hwzz9R8FJ08ObZXHanUeGnHPnkd6rWVL0rYLZTy3CZ3IMBaPlk+S4C26ivhJuNWaCmP8AuYhhx7jg8vifBaOko6ahhENLAyFg6mjGfj2ruuYkvCifYzn+bL0WS6mHvdiobNLaxTtOHVA6WSR25GW8zy7eS3Crb7a4rvbzSvIa\/OYnE4w4D8srHzaluElIyzSSxwStd0UtVx5HCNuY9SFKzqJFLlDZZyyydrem4tNS6uEHHQ214dLjD52nZnc3v7+r5S9PafgFhIr4RJLWjjl4vtAHkM8+\/wCJVDa7XRXS8x0tLh1DSAOfK5uHVDts57ueB1D4r9BSbUUoxObPGVabqVM1ouHMyVull0tdxaap5fRVJzTyuP2D2Hx5+fWtaqnUttbc7LMzhzLE0yREDfI6vHkvenrgbnZYKhxJkA4H5OSXDbJ+PPxUZd5Yi+l+HN0t2q6FmiIqzUZjV0LqOoob5E0l9NIGyYPNuc\/mP+peLdNHWa6qKmneHxmlacjsIatNUQR1VPJBM0PjkaWuB6woFqsNDZ3SPpWv4pOZc4nbOQFaprDZ6mOdCTqqS0um\/NFmiIqjYFk7W4af1PNaiC2lrMPgJPI9Q+Y8AtYqXU9pdcbeJacEVdKekiLR7xxzA\/XMBTg1o95nrxdlOOsf80XSjXFpfbapo5mF49Coun7s28WuOckCZvuytHU4dfjzU2qaX0kzRzMbh6KNrOzLFJThiWjKbRbg7TcIH3XvB81frO6Hdxafxj7Mzh8j+K0SlU8TK9m\/Jj5GY1bNJV1NDY4edU8PkOeTQf8AM+C0kMTIIWQxjhZG0NaOwDYLNW\/\/AEjrmtqsZZRR9E09juX\/AH\/rK1C7PJJEaHelKpxdvRBERVmoIiIDMs+r\/aHJt\/GU2c+A\/JaZZif\/AGiU382PyctBSVtPXROkppWyNa8sJaeRCsnu8jLs7V5rmzuiIqzUF8c4NaXOIAAySepfVlLjVVepLm+0UDujo4SPaZwc8Xd\/h1+ClGNyqrV7NaXb0R8rLtXahqn26y5ZTg8M1UeWO7s+ZV3abLRWWn4KdnvkfWSu+078h3KTQ0NNbqVtNSxhkbfMntJ6yuV4LxZa0xnDhA8jHwKk5X7q0Ko03G9SecvtyRUM1Hcrk+T6HtXSxxOwZJn8Idy2HLB35Z\/JSrRf\/bquSgrIPZa2PfoyT7w27fPHYvOlJIItL0ry5kbffLy4gb8RzlU+qrlapHR1dDWN+kadw4HxDiBHZnl1581LCm3FIodScKaqufO2XwbRfCQBknACyNPqm83f3LVbGcTQOke92Wg+neu401dbkc3m7vLDzhp9gR6D0Kjgt4nYvW04\/wAqLfwvkn3PVNrtzHt9obNOB7scfvZPeRsFRQapvV7qTSWyGngeQXcTjkgZ79uvsK0VDpy1UDSIaRrnObwufJ7xI6+fLwWPo6aSw62gpi53B0nCw5+0x2QPn5hTgoNO2plryrxccTsm7ZdS+j0g6qeJbxcp6t+c8DTwtB6\/0MKZW6Xt01qko6alihcRmOTGSHdWTzV0irxy4m1bNSSatqZ7TNYLjbJbZcGcVRS\/VyxyDPE3qz29nh3qDURP0fdW1UHG611TuGSPn0R\/XLyXTUEMtlvMOoKdnFEcMqWDr6s+I9QFe1lPT3uzuiDg6KojBY7s6wVO9nfczMoOUXD9cdHy3dGTGPbJG2Rjg5rgC0jrC9LPaPq5H2+W31Dvr6GQxlvWG9XrkeC4Xu91FbV\/Qtl9+d200zTswdYB6u8+HNQwPFYv+oiqSm9+7nwKnWd0ZU3KOCkqHnoBiQsceEOz3cyF6q6Okp7dS2KggjqrhWBsj5iASzIB2PVsPLfrVbdKeCCeGz23+EPY7M0gbkyS8sY7AM+ZVxpJrLVeJaG405hrZGDonvPMfyR+urC0PKKtuPKi3UrNS35X4clz3Fj+41sNOxvSTsma0ZkY\/m7twe9W9ptzrXR+zOqpan3y4OkO4B6h+usqcizOcnk2exChTg7xVgsxo0mGS6UGfdp6nYdmSR8PurTrMaSHSXG91IPuy1Ww8XH8V2PhZCr+dT9fsaYkAZJwAuNHW09fTiellEsZJAcAeY+K7EAjBGQVzihgpIRHDHHDE3k1jQ1oUTQ735HVFT12qrPQ5DqoTPH3IPfPny9VXDUl5uO1qszg0naWf7PPHcPUqShJlEtppxdr3fLM1KLHTXHUtuuNCysqKaQ1Tw0UzGjIGRnJxtz7VsVyUcJKlWVS6SatxCIiiXGUuVFUadujrzbmcVLJ\/rMGcAd\/65HuKv7bdKS7U3T0knE3OHNIwWnsIUsgEYIyCs1cNN1FJUuuFgl9nl2LqYbMk3+OPDl8FZdSyepkcZ0W5QV4vVdOh80D\/wCBzfzl39lq0rnNYwvccNaMk9gWE0pqKktNG6lrGSMZJKXiYNy0bNGO3qWprblS1NhrqikqY5QyB+7HZweE4z2LtSLxkNlrQ7BJPNIrdENdLRVldIMPqagknrON\/mStMqTR8Qj01THGC8vcf6R\/ABXajPxMu2ZWox8giIoGgIiIDMN+s\/aI7\/4qbr+A5ea+aKPRNuVHkHoanq78j+6vtrPTa7uswBAbEGf2R\/dSy\/wbWV4pRykAm+R\/vq96NckeZDKcZ\/8AqX++DTqFeZpKezVk0LyyRkLi1w6jhTVHuFOau3VFO3HFLE5oz2kbKlanozTcXYprFcqi56YkMUvHXRte0l7t+Lcg7b\/5Kpst2mslAKJljqpaniJkw3GTnbkM9ihaNr\/Yr4KYuAZVN4HcwA4Zxz\/XvL9EV07QbVsmefs+KvCM1KzWXEzH0zqaq\/1WxiEHrndy8+FeJqDVlfC9lRW09PE9p4o4xuR2bD8VqkUMdtEaPp3LxTb+PsYTTOmqO728VNXLOejkLBE12G42PZnrWso7HbKDBp6KJrh98jid5ndUujx7LV3W3Ej6mfLR2jJGfQLUrtSTxWuV7JSp9mpWzMrHGLTrsRQkMgr4uIsA24t\/xGfErVLMai+p1RZJweEvk4M+IGP63qtOuTzSZZQ7spx4P75hZPXUYhjorhGMTRS8Idj\/AKhnxHzWsVHrCnE+nKg4yYi1488H0JXKbtJEtqjioy\/2hZWyvjuVuhrI+UjckfyT1jzUpYjStW+1XGOglcfZq6NssRPIPxv6gjwC26TjhY2er2tO713nOogjqqeSCZofHI0tcD1hZrTc8tpuM+n6x\/2Tx0zjsHN7B8\/jlX1fc6O2QmWrnbGMbNz7zvgOtfn99vr73Wsmo6Z8Ps7XFsjSek4e045D8+anTi5JrcUbVVhTlGSfeW7ijtf7hLbNQXFtvnDRUtDZSzmDtnfqPPzPWuAjutvsT5WRewU8hAc9x4ZZyeodeMZONhjPNTLJR08Gp7QYJDOJaYzSF2Dh5a\/buxgK0uYF91dBbCQ6mom9JKAdieZB\/qju3Vt0rIwKm5pzvm3ZLzzJukrOy3WqOeWMe0zjjLiN2tPJvlv8SpV+srLxR8LXCKpjPFFLywR1E88K1RZnJ4sR7CowVPs7ZGdsd9m6f6JvA6Guj2a52wl7PH5rRKsvVkorxTgVWY3RglsrSAW+fUsk\/UV0tjzb6OthuDQSyJ4YXuA6sHrPmp4cecTO6z2fu1M1ue\/1NTqK8stVA5rHZqphwwxjJJJ2zsoNsqrbpeyshqqlgqD78kbQDJk8gWjlgYG\/mqak0xfLpVitr53U7ic9I92ZPADl6LSW\/SlqoCXmH2mQ\/fqMO9OSk1CKtchB16s8ajbcr9Cvdf7zd3tZZbc6KE\/+oqG7fl819ZpKqrSH3q7TTn\/24j7o8T+QWoAAGAMAL6oY7eHIv+mUs6jcvt7FdR2G10GDT0UYcPvOHE7zKsUVNqi4ut9nf0W8056KMDnk92DlRV5OxbJwowbSskV1tkdfdXT1+AaShb0cWRzPaPU+S1Sr7Fbfoq0QUp3kA4pDn7x3P5eCsF2bu8iNCDjC8tXmwiIoF4RFzqJDFTSyDmxhcPAIG7GY0RTw1Onp4p4mSsNS7LXtyPstXjUGlaCmt1TW0Zkp3sbxFjXZa4bbYUvQzOHT+c54pnH4ch+CstQRulsFcxvPoXHy3\/BXOTVTI8+FKM9lV1nYzlordR0FqpjDb4qujLMs4dngZO2x\/AqfDrWkbJ0VwpKiik6w9vEBvj4+nUp2lpGy6boy3qYWn4gkKzmp4KlnBPDHK3+S9ocPVclJXd0SpU6ipxcJ7lrmQodQWio2juEH\/U7h+antc17Q5jg5p5EHIKq59L2WdpDqCNhI5xktx5KvdoqCNxdQ3Grpc9QdkemFG0HvLcVeOsU\/J9S8rrjS25sTqqToxK8RtOCdz8lKWY\/dCpmfH7bfKiqiY8P6N4ODj4uK0kjxDC555MaT5LjSWjJ05VG25qyM1pQdNdr1VkDD6jhae7Lj+S+x4i\/aHLnbpqXbv2H\/AG+i9aFjd9DzTv3dNO457dh+OV5uZFPru2THYSxFh35n3gPmFa\/E1yMccqFOXNP3f9mnREVB6R+bXWkfDfblUUx4ZKORtQMN7XD5Eg+a\/Q6OqjraOKqi+xKwOGerKzdviZXayvQlaCx0PQuGeYIaPwXrR9Q+kfVWOp2mpnlzP+JvXj0Pir55x8jzNn\/DqPhJv3T6GoREVB6ZlnEW39oAc44ZXw43OwP+bfValZ7V1DPLSQ3Ckz7RQu4xgb8OxPlgeGVZ2m6QXaibUQnDhtIzrY7rBVks4pmWk8FSVN78166\/JTaxIZUWmTO7an7PbuPyWnWY1b71ysjB9p1TsPFv5rTrkvCjtL86p6fYKt1EAdP1wccDoSp8sscMbpJZGxsaMuc44A8VlL7qBl3gktFnikqpZcB8jW4aGg74+WeW6Qi2zu0VIwg09WtDxNQtqtDUdT0jYqikZ0kTyeHkTtv+s4X2DVlwudNFSWyjMlcWfWyHHAzqyB+fqvVBo6oqI4fpmrc5kTcMp43bNHefy81Ev9JT268UkVi44a944XRwnYDqJ7D+G\/xuWFu2p58u1hFTthVknxf9kSsoJHXBtLJN9JXiY4dvmOAficeA7FqbfZKCw2ecTlruOM+0SuH2hjcDu7lRWqK+WVsrIbIJaqR3vTvdxZ6+3l481P8AoS9Xp8br3UshpgcupoTzx2429SknuvkdoxteSg3L4Xm38lLpGeko6ysrJnu+ogLog4c2538eQ27Sr\/R9LK+Cou9Vkz1zy4f8oPpvnwAVNremo6Spo2U7WxP6Itcxg5MB2+Z8leT6qtdBTQ09DxVknA1scUI6sbAnq+Aye5J3krreKGGlPDUa7ny2aFUV01XRULugpf4bVE4EcRyAe8j5DdQvo6\/6g3uU\/wBH0jv\/AE8X2nDv\/wAfJXdtstBamYpIA12MGR27j4qq0Y65m3HVqeBYVxevoupRMtV71AeO71DqKlO4poti4d\/Z45+C0VBbKO2xdHR07Ih1kDd3xPMqUii5N5FlOhGDvq+L1CIiiXBERAFk6Z370alNSRmgt3ux53Ejs89x149ApurLpJSUcdDSjiqq09G0DmByJHfkgDxVjZ7ZFaLdHSxgZAzI4fefjcqxd2N+Jkn+LUwblm\/4X8k5ERVmsIiIDMVrq++3ye2U9UaeigZidzW7knbGfD0OexQ7xpK3W61VFaKmqdJGzbie3BJ2H3e9SZZTp3VMk0rSKG4kZcG\/Zf2nHeT4HrwvesZnVMFFbad2XVkoJ4d\/d2A8MkeS0JtNJaHlzjCUJymryX+ViBaqPUtvtkE9ukingkYHineACM79fx7VPZq2EB9Je6Gajc4Fpy0lrh19\/X1ZWkhibDCyJn2WNDR8AvNRTQVcJhqYWSxnm14yFW5pvNGiOzzhFKEvR5ozOjK6Jjqu1CUSCKRz4XA7OZnG3ofFatYq\/abNnjbc7K6WEwkmRoectb2jrx289vFe7dedTPoWVUcEFxhdkEt2e0jqIGN\/A+uVKUVLvJlVGtKj+FUTuuGeRskWaj1rSRydFX0VVRyY3D25x8j6Kwj1PZJQC24RjJx7wLfmFBwktxqjtFKWkkWqh3eTobPWyfyYHkfHhK5HUFnAz9JU+3\/yBUl5v8d5iNos7X1ElQQ18gYQ1jcjPP58kjF3I1a8FB2eZYaOj6PTVOet5e4\/0iPwUTV\/8GqrVceqCow74HB\/ulX9BSNoaCClbyiYG885PWomobeblZKinY3ikDeOMY34hvgfHl4rql37kZ0n9NgWqS90WQIIyDkFfVU6ZuIuVkgkLi6WMdHJk78Q6\/EYKtlBqzsaITU4qS3mYsQzq69OG4BAJ78\/4JqajmoqyHUFEzilgwJmD7ze0+GxTR2Zai7VR3MtTuRyO5P95aZzQ5pa4AgjBB61ZJ4ZmSlTVSh5ttcsyPb6+C5UUdXTuyyQcutp6we8KSslIx+kLo6ojje+11TvfDf9yer8fD4LUU9TDVwtmp5WSxu5OYchRlG2a0L6VVy7svEtep0IBGCMgrP1mk4\/afarVVyW6UnLmx\/YPhkY5\/DuU646gtlrJbU1IMg\/3bBxO\/w8VlrnrO5zyiGhpzSh+ODiZxSOzyxnZShGe4p2mts6Vp5vlr\/RErpbm29thqbrTyS28cbJZcBrTttgjd3LtO3culPfdUXOUxUUzpcHBMcTQPjkjbxVzZ9Hw8ArLuHT1UpL3xud7rST145laaGGKnjEcETImDk1jQAPAKcqkVklczUtlqy7zk4p83cy1PpGrryJr7cJpTjaJr88Pidh4LR0Nuo7bD0VJAyJpxkgbux2nrUpQbvdIbRb5KqXcjZjf5bsbBVOUpZG6NKlRTl8si6ivf0RStZCOkrJ\/dhZjO\/bheLBYjbw6trXdNcJ95Hk54c9QUGxUDsu1BfJGtnkOY+lPCIm9R35d3Z4rtX6wgbL7LaoH19QdhwA8P5nw81Oz8MfUoU437WrlwX824mhe9kbC+RwY1oyXOOAFn63VsXSGmtNPJcKjtY08A8tz+t1FZp+7Xt4mvtYYos5FNEeX4D1Kta9lLp+wVUlFAyEMZgcOclx2BJ5ncriUU7asnKpVnFyXdjz19txlbda6rV1dUVlfUCIREMdwMG\/cOzHacq00qyG13astFREwVLHcUUvD7z2dmfhg+J7FZ6SpPZNO0+Rh02ZXbc88vTCr9UA228228syGtd0UuDjbnjxBd5KblibjuM0aSpU413rq\/J9DVIvgIIyDkFfVnPVCIiAIiIAvEsrIYnyyODWMaXOceoDmV7Wa1hWyvjp7NSb1Fa4cQ7G5\/E+gKlFYnYqq1Ozg5HLT8b75d579UtIjjPR0zHYOB5dWfMlapR6Ciit9DDSQ\/Yibw57T1nxOSpCSd2co03CFnrv8wiIolwREQHCso4K+lfTVMYfG8YIPV3jsKqLZpWnt9VFUyVD6h8AxFxDAYN+\/v8APfuV8ikpNKyK5UoSkpNZoIiKJYfCARgjIKy9ZZa6yVZuNiJdETmWiGcOHcOv5jqWpRSjJoqqUo1FnqtGUFBqe1XYez1bG082cGKoALc9xO3ngqY\/T1mm9426n3H3G8I9F7uNjt1096qp2mT\/ANxuzvPr8VTDStxt5zZ7zJG0copvs889W3op916OxnaqLxxUlx3+zLIaWsgOfo9m3\/E781ZQU1PSsLKeGOJpOSGNAyVnfa9X0eOloqesZ1lh39CPkh1RdIziXTdVgc3N4sf2UcZPff1Oxq0Yfpw+nQ06LMfvi\/GPoWr4uXDjr8k\/ey4O\/itN1j8c\/tbf1VHs5E\/q6PH4fQ4ODtKagdKR\/o2uPvEA4iP6Pl8Foqy501JbJK8ysfE1hLHNcCHnqAPXlZ2ruF9usDqV2m2ljhuJycfHOQqqm0fexIHiKngOcgPkyB2cs8lbhTzk8zIqs4XjSi2nyeRpNGUclLYg+Ue9USGXnnbAA+WfFTqy\/wBqoc9PXRBw+608TvIKoGlK+tx9K3maRnIxQ7Nx3dXZ1Kwo9K2ajILaQSvH3pTx+h29FCWFu7ZfT7aMFCMbW49F1Kup1S+6sfS2y0SVjXgNcZW+7v2gcvjkKBRaOvBZI41TKFsgOYmSOPXyODy8StyxjI2BkbQxrRgNaMAL0naWyijr2XtHiqyu\/YwtNoOvEnHLXwxOyfejDnH1x3rRWjTVFaXGUOfPORvJLvj4Dq+auEXJVJS1JU9ko03dLMIiKs1BZvVFhuF5qKc008YjjByyTIAPb158lpEUoycXdFdWnGrHDLQzDNIS1czZbxdJqvBz0YJDR8OwfABX9JQUdAzgpKaOEYweBuCfieZUhEcm9SMKNOnnFZhZrW73Ot1NSNIHtFQGkkcv1laVZjWREc1pneeGOOp949nI\/gV2n4kQ2v8AJkaVjGxsaxgw1oAA7Aq3UlD9IWKpha3ie1vGzAycjfb47jxVmCCMg5BR2OE8WMY3yop2dy6cVKLi9GVmm60V9hpZc5e1nRv3627eux8VaLMaK92KvYwDoenzGQOY3H4LTqU1aTK9nk5UothERQLwiIgCy1kAu2qa+6uDXR0\/1MJ9MjwB\/pK7vNTJSWeqniDjI2MhnCCTxHYcu8qLpWi9h0\/TtIw+UdK7b+Vy9MKayi2ZqnfrRjuWfQuERFA0hERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBRbhb6e50b6Wpbljusc2ntHeiInY40pKzKFukKuDLaS\/1cEeNmjO3k4L0NJ1sg4KnUFXPEdnMPFhw7PtHvRFPtJGf6Sjw+X1Ly3W6mtdI2lpWlsbTnc5JPaVKRFBu5oSUVZBERDoREQBERAEREAREQH\/\/2Q==",
    "razonSocial": "SERVICIO AGRICOLA Y GANADERO ",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "SEBASTIAN ARIAS ACUÑA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "SILBERTO.CABELLO@SAG.GOB.CL",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "981701093",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:50",
    "ubicacionGPS": "LatLng(lat: -30.6992649, lng: -70.9197105)",
    "horaLlegada": "16:44",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 18/05/2026 16:50:08
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-x7yg4dh_OGDqiAz2ReZnz.EvKL16jLVAXDHo77_yrC0h8Lojqgv
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61308000",
    "serieinterna": "TO2973",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "SAG",
    "ciudadmaquina": "MONTE PATRIA ",
    "departamentomaquina": "FLOR DEL VALLE ",
    "rutTecnico": "20988335",
    "contador": "3732",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se instala maquina, se da inducción de uso se configuración en 5 pc para imprimir y escanear \nse deja toner\n01 iton2956",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12641",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADFAVkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABNEAABAwMCAgcEBwIKCAYDAAABAAIDBAURBiESMRNBUWGBkaEUInGxFSMyQsHR8AcWJDNSdJKissLh8SU0N0NicoLSNTZEU2PiRVVz\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMhEAAgECAwUHAgcBAQAAAAAAAAECAxESITEEQVFh0RMiMnGBkaEUsSMzQnLB4fDxYv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBERAERcamrp6OPpKmeOFmcZe4BDjaSuzsizlRrShDzFQQT10vU2NpAPjz9Fy6bV1xP1cMFujPIuwXY8c\/IKeB78jO9phpHveX+sackAZJwAoNRfLVS\/x1fAD2B\/EfIKmGkKisIddrvUVHWWNOw8\/HqU+m0nZabBFGJHDrlcXZ8OXou2gtWMdeWkUvN9CLNre1MdwwtqKg9XBHgHzwVz\/ei6T\/AOqaeqXA8nPyB\/Z\/FaKClp6ZvDTwRxDsjYG\/JdVzFHgOzrPWdvJdbmY9s1jP9m30sA7XOGf7X4IKbWUp96upIgdzsPL7K06Jj5IfT8Zv3Mx9Far\/AP3cP9H\/AOqfQmpMY+nvHhK06JjY+mhxfuzMCyakH\/5\/+qn0frCP7F3pXjnhzRv\/AFFp0TGx9NHc37szHS6zg\/3FHUeIGfUL5+8N\/pRmssD3tA94wk7d\/WtQi7jW9DsJLwzfwyltGpqW7VRpG088M7WlzmyAYAHj8OpXSIoO24ugpJWk7sIiLhMIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAi8ySMijdJI9rGNGXOccADvKzdVq4z1BpLJRvrZuXGQeAd\/w8lJRctCqpVhT8TNKSAMk4AVHcNXWui4mRyGqmBwGRbjP\/ADcvLKhDTt2vEnSXyv4Iufs8B2+HZ81d2+yW62NxS0zGu\/lu95x8SpWitcyrHWqeFYVz19ikNVqi9NLaemjtkDh9uQnjx8efoF3pdGUfSdPcqiavmI3MjiB88nzWjRcxvdkdWzRbvN4nz6aHGnpaekj6OmgjhZ\/JjaGj0XZEUDQklkgiIh0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCzVwllOubdFDJI3EJ4xk8JHvEjHwHyWlWYn\/ANolN\/Nj8nKcN\/kZto0j5o06IigaQiIgCIuD66kjcGvqoWuPIOkAKHG0tTui8tc17Q5jg5p5EHIK9IdCIiAIiIAiIgCrLzfaSzQgynpJn\/xcLT7zvyHeoN11Nwzigs8YrK1xI93drPzPovVl002lm+kLjJ7VXvw4uduGHu7T3+SsUUs5GWVWU3gper3LqyDDarrqSRtReJHU1HniZSs2J+I6vid\/gtPS0dPQwCClhZFGPutHr3rsijKTZZToxhnq+IREUS4IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICjvN0qbferZCx7RT1T+B4LR2gc\/8AqHkrxZnWwMVJRVrftU9SD6Z\/uhaVpDmhw3BGQpyXdTM9OT7WcXy+x9WYlHH+0OHh+5Sni7tj+YWnWYi979ok+d+CmGO7Zv5lIb\/I5tH6P3I06IigaQqC7ajfDVfR1qg9srjsQN2x\/Ht\/BddTXOegoWQ0f+t1T+jixjPVnA8fVdrHY4LNS8LcPqHj62Y83H8lNJJXZmqSnOfZwy4vpzKlmmrpdAH3u6P4TuYIsYHjyB8CpTNE2VrSDHK89rpDkeS0CJ2kgtlpLVXfPMzLtEUkbi+jrqumcexwI\/A+q8fQ+p6I8VJehUgH7M+SSPHPzWpRO0lvH0tL9OXk7GW\/eK9WxzReLSTF1ywb47+ZHb1j0Vzbb7brrtS1AMg5xu913kefgrBUlz0pbq\/MkTPZKjmJYhjB7SF28XrkcwVqfheJcHr7l2iylJeq+w1TLdfGufC44irMk5Heev5haeSeKKB075Gtia3iL87Y7VGUWi2nWjNPc1quAnnipoXzTyNjjYMuc44AWWmuNy1RO6ltPHS0TciSpcCOP4fl54XiGGbWFxknnfJHaoHYiYMjpf129WcLWQQRU0LIYI2xxsGGtaMAKWUPMovLaNMofL6Ih2my0dngEdNGOMjD5T9p\/wCuxWCIoNt5s1Rioq0VkERFwkEREAREQBERAEREAREQBERAERcaqrp6KEzVMzIoxzLihxtJXZ2XwkAZJwAs1Lqqor5HQWG3yVTwN5ZBwsb+u8hc26XuVzIfe7o97eLi6CI+6PwHkrMFvE7Gf6jFlSWL7e5YV2rLRQ5b7R07x92EcXryUH94b7cHYtdlLGHlJUZAI7eoepVzQ2O2W7BpaONrxyeRxO8zup6XitEc7OtPxSt5dWZhts1VVAOqbvHTg78Mbdx5AfNc5rLqC2xPqqW9y1bo28XRy597HUASepatE7Rj6WFtXfjdlfZbq28W1lW2PoySWuZnOCO9WCzOhji21UYJ4W1JwOzYLTKM1aTSLNnm50oyepS6up\/aNOVOG5dHwyDuwd\/TKmWSf2myUcuckwtB+IGD6hd62nFXQz07hkSxuZ5jCpdE1BlsXQuzxU8rmbnx\/FS1gQfd2hc19v8ApoVmIvd\/aJPnbjphjv2b+RWnWYm2\/aJT42zTHPfs5chv8htH6P3I06IigaTMTgV2v4YyeJtHT8RA6j3\/ANIei06zFqHSa5u0p5tjDP7P5LTqc9y5GbZ81KXFvoERFA0hERAEREBHraKnuFK+mqYw+N43HZ3jvX57UzSU1U\/TslyzbmzgOk4fsjO48D4ZC2OprubVbeGHepqMxwgcwetw+GR5hRqPSkLbBJR1WDVVHvySg5w\/fh8s+OT2q6Dwq7PO2mDqzww1Sz6epeUlPDSUkVPTtDYo2hrcdnauyzulrjKBLZq4kVdGcDP3mfHu+RC0SrkmnmbKU1OCa\/4ERFEtCIiAIiIAiIgCIiAIiIAiLlUVMFLEZaiZkUY5ue4AIcbtmzquc08NNEZZ5WRRt5uecALPVGq5KuY0tho31kvXK4YY3v8A88LzDpapuEoqb\/WvqHcxBGcMb4\/lj4qeC3iyM7r4sqSvz3e\/Q+1OqZq2Y0dgpXVUvXM9uGNHb\/njxSm0m+qn9rvtW+rmdzjacMHd\/gMLQ09NBSQiGmhZFGOTWDAXVdx28IVDE71Xflu9upzhghpohFBEyKNvJrBgBdERVmlKwREQBeJZBFE+Q8mNLj4L2qbVdaKLT9QfvTDoW8vvc\/TK6ld2IVJqEHJ7iHoaNwsskr8ZlncRjHLAHzytKqe1GmsenaVlZMyDhj4n8R3y7cjv5+irK7WzHStprPTOqpnnDXOaQCe5vM+iscXOTaM0KkKFKMZvO3qaOsraagp3T1UzYmNHMnn3AdZWR0tdYzqOuhgjkdBWPMjMgZbgk778sE+ilQ6Tq7pP7Zfqt7pHcoYz9kdmeQ+A81yutDT6cvdrrqOIRU5d0UgGTz5k9uxPkpRUbOOrKasqrlGq1aKfrnkbFZipPD+0OjDtuKmPD37O\/JadZiu\/2iW3+bH5SKuG\/wAjTtOkf3L7mnREUDSZize5rS7sPMtDvl+a06zG9F+0IY2bXU+\/ZkD\/AOnqtOpz1TM2zZKS4N9QiIoGkIiIAvjnBrS5xAAGST1L6qHV9w9ks5pmbz1h6JjQd8fePlt4rsVd2K6k1Tg5PcQbS06j1BNdp25paQhlM3JwXZyD8cbnvI7FrFCs9vZbLXBSNGCxuXntcdyfNTV2bu8iFCm4Q72rzZmdU0klHPT3+jbiamcBMAccbO\/5ePcr+jq4q6jiqoTlkrQ4d3cuksUc8L4ZWB8bwWuaeRCy9lkdp++S2SoeTBOeOleeW\/V+HxHepeKPNFb\/AAqt\/wBMvv8A2atERVmsIiIAiIgCIiAIiIAvEsscETpZntjjYMuc44ACqrzqSjtP1Q+vqnfZhZuc9\/Z81Vw2O53+T2m+TvhgJyykjOMfHs+fwU1DK7yRnnXzwU1d\/bzOtVqior5zR6epjUSfencMNb4H5nyKUukn1Moqr7WPrJefRhx4B+u7C0FJR01DCIaWBkLB1NGM\/HtXddx2yiRWz4neq78t3t1OVPTQUsQip4WRRjk1jQAuqIqzSklkgiIh0IiIAqKv1OymuJoKOjlrp2H6xsX3eXcc8\/Reb\/qajoaSeCCpDqwsLWiP3uA8sk8hhUFntOoJ4HMiBoI5zmaokyJJPx6+7ParYwVryMNfaHiVOlm99sy6i1rRNa5tfTT0k7ScxFpJ\/BUV0udVqu40dDBT+zxkl0XSb8X\/ABHblseXetDTaMtMNO6Odj6iR496VziCD3Y5LGSVEtnvM0dNU8Zh4oI5nD7A5Z8N1bBQbeHUybRKvGKVZ918Nf8AeRYXC1NNaKBs8l0ukuz3ucQyEefP47dy1lg0\/T2Wm6pKl4+slx6DsHzX3T9opbbRCSGQVEs4Dn1Gc8eew9itlVObeSNmz7NGL7RrP7dXzCqNUW\/6RsU8bRmSIdKz4j\/DI8Vbr4QCMEZBVadnc1TgpxcXvK6wV4uVlp6guBfw8MmOpw2P5+Kqq7\/aJbf5sflIvFgb9Ealr7QQWxS\/WwZO2O7wP9Ve5SJv2iQ5P8RTHHkf+5W2tJ24GJzcqcE9VJJ+jNOiIqT0DMatAo6y13bBxBMGyYG5bz5+B81pgQRkHIKrNR0P0hYqmENy9rekZtk8Td9vjy8V50xW+3WCmeT70bejd8W7fLCsecE+Blj3a8lxV\/bJ\/wAFsuNVMaekmnDeIxRufjtwMrsotz\/8Kq\/\/AOD\/AOyVBamiTtFs42S5G72uOsdEIi8uHCHZxg4VgqLRn\/lqD\/mf\/aKvV2StJohQk5UoyerQWWPDd9dAbOhtsedx9\/8AwJ\/qrQ19ZHb6Garl3bEwux29g8SqXRlM9tslr5smatlMhJHMZ29cnxUo5Jsqrd+pGn6v0\/s0SIirNQVLqi1fSNsMsIIqqb6yJzdnbcwP1zAV0i6nZ3RCpBVIuL3lZp+6i8WqOodjpW+5KB1OH581ZrLWVgt2sLlb42BsMjRK0A8jseXZ7xWpUppJ5Fezzcod7VZP0CiOirvpRsoqGex9Fh0PDvx555UtFAuauEREOhEVBddUMpp\/YrbD7bWElvCw5aw9+Of63XVFvQrqVI01eTLmqrKehgM9VMyKMfecfTvWafebrqGR1PZITT04OH1Umx8Oz1PwXSl0xU3Cp9t1DP07\/uwMd7rO7b5DzK0kUUcMbY4o2xsaMNa0YA8FPux5sotVra92Py+hVWbTdHafrT9fVO+1M\/c57uz5q4RFBtt3ZohCMFhirIIiLhMLzxN4+DiHFjOM74XyWaKBhkmkZGwc3PcAF+cagq6SfUEs7KyWePg+rfC4\/Vu7N+rny23U4QxMzbRtCoxT1P0pcqipp6WPpKiaOJva9wCwLr3qahoo2VDpYInkATyxZcB8SPHfdXNv0vR3GNlZX3KS5uPW2U8Hwzz9R8FJ08ObZXHanUeGnHPnkd6rWVL0rYLZTy3CZ3IMBaPlk+S4C26ivhJuNWaCmP8AuYhhx7jg8vifBaOko6ahhENLAyFg6mjGfj2ruuYkvCifYzn+bL0WS6mHvdiobNLaxTtOHVA6WSR25GW8zy7eS3Crb7a4rvbzSvIa\/OYnE4w4D8srHzaluElIyzSSxwStd0UtVx5HCNuY9SFKzqJFLlDZZyyydrem4tNS6uEHHQ214dLjD52nZnc3v7+r5S9PafgFhIr4RJLWjjl4vtAHkM8+\/wCJVDa7XRXS8x0tLh1DSAOfK5uHVDts57ueB1D4r9BSbUUoxObPGVabqVM1ouHMyVull0tdxaap5fRVJzTyuP2D2Hx5+fWtaqnUttbc7LMzhzLE0yREDfI6vHkvenrgbnZYKhxJkA4H5OSXDbJ+PPxUZd5Yi+l+HN0t2q6FmiIqzUZjV0LqOoob5E0l9NIGyYPNuc\/mP+peLdNHWa6qKmneHxmlacjsIatNUQR1VPJBM0PjkaWuB6woFqsNDZ3SPpWv4pOZc4nbOQFaprDZ6mOdCTqqS0um\/NFmiIqjYFk7W4af1PNaiC2lrMPgJPI9Q+Y8AtYqXU9pdcbeJacEVdKekiLR7xxzA\/XMBTg1o95nrxdlOOsf80XSjXFpfbapo5mF49Coun7s28WuOckCZvuytHU4dfjzU2qaX0kzRzMbh6KNrOzLFJThiWjKbRbg7TcIH3XvB81frO6Hdxafxj7Mzh8j+K0SlU8TK9m\/Jj5GY1bNJV1NDY4edU8PkOeTQf8AM+C0kMTIIWQxjhZG0NaOwDYLNW\/\/AEjrmtqsZZRR9E09juX\/AH\/rK1C7PJJEaHelKpxdvRBERVmoIiIDMs+r\/aHJt\/GU2c+A\/JaZZif\/AGiU382PyctBSVtPXROkppWyNa8sJaeRCsnu8jLs7V5rmzuiIqzUF8c4NaXOIAAySepfVlLjVVepLm+0UDujo4SPaZwc8Xd\/h1+ClGNyqrV7NaXb0R8rLtXahqn26y5ZTg8M1UeWO7s+ZV3abLRWWn4KdnvkfWSu+078h3KTQ0NNbqVtNSxhkbfMntJ6yuV4LxZa0xnDhA8jHwKk5X7q0Ko03G9SecvtyRUM1Hcrk+T6HtXSxxOwZJn8Idy2HLB35Z\/JSrRf\/bquSgrIPZa2PfoyT7w27fPHYvOlJIItL0ry5kbffLy4gb8RzlU+qrlapHR1dDWN+kadw4HxDiBHZnl1581LCm3FIodScKaqufO2XwbRfCQBknACyNPqm83f3LVbGcTQOke92Wg+neu401dbkc3m7vLDzhp9gR6D0Kjgt4nYvW04\/wAqLfwvkn3PVNrtzHt9obNOB7scfvZPeRsFRQapvV7qTSWyGngeQXcTjkgZ79uvsK0VDpy1UDSIaRrnObwufJ7xI6+fLwWPo6aSw62gpi53B0nCw5+0x2QPn5hTgoNO2plryrxccTsm7ZdS+j0g6qeJbxcp6t+c8DTwtB6\/0MKZW6Xt01qko6alihcRmOTGSHdWTzV0irxy4m1bNSSatqZ7TNYLjbJbZcGcVRS\/VyxyDPE3qz29nh3qDURP0fdW1UHG611TuGSPn0R\/XLyXTUEMtlvMOoKdnFEcMqWDr6s+I9QFe1lPT3uzuiDg6KojBY7s6wVO9nfczMoOUXD9cdHy3dGTGPbJG2Rjg5rgC0jrC9LPaPq5H2+W31Dvr6GQxlvWG9XrkeC4Xu91FbV\/Qtl9+d200zTswdYB6u8+HNQwPFYv+oiqSm9+7nwKnWd0ZU3KOCkqHnoBiQsceEOz3cyF6q6Okp7dS2KggjqrhWBsj5iASzIB2PVsPLfrVbdKeCCeGz23+EPY7M0gbkyS8sY7AM+ZVxpJrLVeJaG405hrZGDonvPMfyR+urC0PKKtuPKi3UrNS35X4clz3Fj+41sNOxvSTsma0ZkY\/m7twe9W9ptzrXR+zOqpan3y4OkO4B6h+usqcizOcnk2exChTg7xVgsxo0mGS6UGfdp6nYdmSR8PurTrMaSHSXG91IPuy1Ww8XH8V2PhZCr+dT9fsaYkAZJwAuNHW09fTiellEsZJAcAeY+K7EAjBGQVzihgpIRHDHHDE3k1jQ1oUTQ735HVFT12qrPQ5DqoTPH3IPfPny9VXDUl5uO1qszg0naWf7PPHcPUqShJlEtppxdr3fLM1KLHTXHUtuuNCysqKaQ1Tw0UzGjIGRnJxtz7VsVyUcJKlWVS6SatxCIiiXGUuVFUadujrzbmcVLJ\/rMGcAd\/65HuKv7bdKS7U3T0knE3OHNIwWnsIUsgEYIyCs1cNN1FJUuuFgl9nl2LqYbMk3+OPDl8FZdSyepkcZ0W5QV4vVdOh80D\/wCBzfzl39lq0rnNYwvccNaMk9gWE0pqKktNG6lrGSMZJKXiYNy0bNGO3qWprblS1NhrqikqY5QyB+7HZweE4z2LtSLxkNlrQ7BJPNIrdENdLRVldIMPqagknrON\/mStMqTR8Qj01THGC8vcf6R\/ABXajPxMu2ZWox8giIoGgIiIDMN+s\/aI7\/4qbr+A5ea+aKPRNuVHkHoanq78j+6vtrPTa7uswBAbEGf2R\/dSy\/wbWV4pRykAm+R\/vq96NckeZDKcZ\/8AqX++DTqFeZpKezVk0LyyRkLi1w6jhTVHuFOau3VFO3HFLE5oz2kbKlanozTcXYprFcqi56YkMUvHXRte0l7t+Lcg7b\/5Kpst2mslAKJljqpaniJkw3GTnbkM9ihaNr\/Yr4KYuAZVN4HcwA4Zxz\/XvL9EV07QbVsmefs+KvCM1KzWXEzH0zqaq\/1WxiEHrndy8+FeJqDVlfC9lRW09PE9p4o4xuR2bD8VqkUMdtEaPp3LxTb+PsYTTOmqO728VNXLOejkLBE12G42PZnrWso7HbKDBp6KJrh98jid5ndUujx7LV3W3Ej6mfLR2jJGfQLUrtSTxWuV7JSp9mpWzMrHGLTrsRQkMgr4uIsA24t\/xGfErVLMai+p1RZJweEvk4M+IGP63qtOuTzSZZQ7spx4P75hZPXUYhjorhGMTRS8Idj\/AKhnxHzWsVHrCnE+nKg4yYi1488H0JXKbtJEtqjioy\/2hZWyvjuVuhrI+UjckfyT1jzUpYjStW+1XGOglcfZq6NssRPIPxv6gjwC26TjhY2er2tO713nOogjqqeSCZofHI0tcD1hZrTc8tpuM+n6x\/2Tx0zjsHN7B8\/jlX1fc6O2QmWrnbGMbNz7zvgOtfn99vr73Wsmo6Z8Ps7XFsjSek4e045D8+anTi5JrcUbVVhTlGSfeW7ijtf7hLbNQXFtvnDRUtDZSzmDtnfqPPzPWuAjutvsT5WRewU8hAc9x4ZZyeodeMZONhjPNTLJR08Gp7QYJDOJaYzSF2Dh5a\/buxgK0uYF91dBbCQ6mom9JKAdieZB\/qju3Vt0rIwKm5pzvm3ZLzzJukrOy3WqOeWMe0zjjLiN2tPJvlv8SpV+srLxR8LXCKpjPFFLywR1E88K1RZnJ4sR7CowVPs7ZGdsd9m6f6JvA6Guj2a52wl7PH5rRKsvVkorxTgVWY3RglsrSAW+fUsk\/UV0tjzb6OthuDQSyJ4YXuA6sHrPmp4cecTO6z2fu1M1ue\/1NTqK8stVA5rHZqphwwxjJJJ2zsoNsqrbpeyshqqlgqD78kbQDJk8gWjlgYG\/mqak0xfLpVitr53U7ic9I92ZPADl6LSW\/SlqoCXmH2mQ\/fqMO9OSk1CKtchB16s8ajbcr9Cvdf7zd3tZZbc6KE\/+oqG7fl819ZpKqrSH3q7TTn\/24j7o8T+QWoAAGAMAL6oY7eHIv+mUs6jcvt7FdR2G10GDT0UYcPvOHE7zKsUVNqi4ut9nf0W8056KMDnk92DlRV5OxbJwowbSskV1tkdfdXT1+AaShb0cWRzPaPU+S1Sr7Fbfoq0QUp3kA4pDn7x3P5eCsF2bu8iNCDjC8tXmwiIoF4RFzqJDFTSyDmxhcPAIG7GY0RTw1Onp4p4mSsNS7LXtyPstXjUGlaCmt1TW0Zkp3sbxFjXZa4bbYUvQzOHT+c54pnH4ch+CstQRulsFcxvPoXHy3\/BXOTVTI8+FKM9lV1nYzlordR0FqpjDb4qujLMs4dngZO2x\/AqfDrWkbJ0VwpKiik6w9vEBvj4+nUp2lpGy6boy3qYWn4gkKzmp4KlnBPDHK3+S9ocPVclJXd0SpU6ipxcJ7lrmQodQWio2juEH\/U7h+antc17Q5jg5p5EHIKq59L2WdpDqCNhI5xktx5KvdoqCNxdQ3Grpc9QdkemFG0HvLcVeOsU\/J9S8rrjS25sTqqToxK8RtOCdz8lKWY\/dCpmfH7bfKiqiY8P6N4ODj4uK0kjxDC555MaT5LjSWjJ05VG25qyM1pQdNdr1VkDD6jhae7Lj+S+x4i\/aHLnbpqXbv2H\/AG+i9aFjd9DzTv3dNO457dh+OV5uZFPru2THYSxFh35n3gPmFa\/E1yMccqFOXNP3f9mnREVB6R+bXWkfDfblUUx4ZKORtQMN7XD5Eg+a\/Q6OqjraOKqi+xKwOGerKzdviZXayvQlaCx0PQuGeYIaPwXrR9Q+kfVWOp2mpnlzP+JvXj0Pir55x8jzNn\/DqPhJv3T6GoREVB6ZlnEW39oAc44ZXw43OwP+bfValZ7V1DPLSQ3Ckz7RQu4xgb8OxPlgeGVZ2m6QXaibUQnDhtIzrY7rBVks4pmWk8FSVN78166\/JTaxIZUWmTO7an7PbuPyWnWY1b71ysjB9p1TsPFv5rTrkvCjtL86p6fYKt1EAdP1wccDoSp8sscMbpJZGxsaMuc44A8VlL7qBl3gktFnikqpZcB8jW4aGg74+WeW6Qi2zu0VIwg09WtDxNQtqtDUdT0jYqikZ0kTyeHkTtv+s4X2DVlwudNFSWyjMlcWfWyHHAzqyB+fqvVBo6oqI4fpmrc5kTcMp43bNHefy81Ev9JT268UkVi44a944XRwnYDqJ7D+G\/xuWFu2p58u1hFTthVknxf9kSsoJHXBtLJN9JXiY4dvmOAficeA7FqbfZKCw2ecTlruOM+0SuH2hjcDu7lRWqK+WVsrIbIJaqR3vTvdxZ6+3l481P8AoS9Xp8br3UshpgcupoTzx2429SknuvkdoxteSg3L4Xm38lLpGeko6ysrJnu+ogLog4c2538eQ27Sr\/R9LK+Cou9Vkz1zy4f8oPpvnwAVNremo6Spo2U7WxP6Itcxg5MB2+Z8leT6qtdBTQ09DxVknA1scUI6sbAnq+Aye5J3krreKGGlPDUa7ny2aFUV01XRULugpf4bVE4EcRyAe8j5DdQvo6\/6g3uU\/wBH0jv\/AE8X2nDv\/wAfJXdtstBamYpIA12MGR27j4qq0Y65m3HVqeBYVxevoupRMtV71AeO71DqKlO4poti4d\/Z45+C0VBbKO2xdHR07Ih1kDd3xPMqUii5N5FlOhGDvq+L1CIiiXBERAFk6Z370alNSRmgt3ux53Ejs89x149ApurLpJSUcdDSjiqq09G0DmByJHfkgDxVjZ7ZFaLdHSxgZAzI4fefjcqxd2N+Jkn+LUwblm\/4X8k5ERVmsIiIDMVrq++3ye2U9UaeigZidzW7knbGfD0OexQ7xpK3W61VFaKmqdJGzbie3BJ2H3e9SZZTp3VMk0rSKG4kZcG\/Zf2nHeT4HrwvesZnVMFFbad2XVkoJ4d\/d2A8MkeS0JtNJaHlzjCUJymryX+ViBaqPUtvtkE9ukingkYHineACM79fx7VPZq2EB9Je6Gajc4Fpy0lrh19\/X1ZWkhibDCyJn2WNDR8AvNRTQVcJhqYWSxnm14yFW5pvNGiOzzhFKEvR5ozOjK6Jjqu1CUSCKRz4XA7OZnG3ofFatYq\/abNnjbc7K6WEwkmRoectb2jrx289vFe7dedTPoWVUcEFxhdkEt2e0jqIGN\/A+uVKUVLvJlVGtKj+FUTuuGeRskWaj1rSRydFX0VVRyY3D25x8j6Kwj1PZJQC24RjJx7wLfmFBwktxqjtFKWkkWqh3eTobPWyfyYHkfHhK5HUFnAz9JU+3\/yBUl5v8d5iNos7X1ElQQ18gYQ1jcjPP58kjF3I1a8FB2eZYaOj6PTVOet5e4\/0iPwUTV\/8GqrVceqCow74HB\/ulX9BSNoaCClbyiYG885PWomobeblZKinY3ikDeOMY34hvgfHl4rql37kZ0n9NgWqS90WQIIyDkFfVU6ZuIuVkgkLi6WMdHJk78Q6\/EYKtlBqzsaITU4qS3mYsQzq69OG4BAJ78\/4JqajmoqyHUFEzilgwJmD7ze0+GxTR2Zai7VR3MtTuRyO5P95aZzQ5pa4AgjBB61ZJ4ZmSlTVSh5ttcsyPb6+C5UUdXTuyyQcutp6we8KSslIx+kLo6ojje+11TvfDf9yer8fD4LUU9TDVwtmp5WSxu5OYchRlG2a0L6VVy7svEtep0IBGCMgrP1mk4\/afarVVyW6UnLmx\/YPhkY5\/DuU646gtlrJbU1IMg\/3bBxO\/w8VlrnrO5zyiGhpzSh+ODiZxSOzyxnZShGe4p2mts6Vp5vlr\/RErpbm29thqbrTyS28cbJZcBrTttgjd3LtO3culPfdUXOUxUUzpcHBMcTQPjkjbxVzZ9Hw8ArLuHT1UpL3xud7rST145laaGGKnjEcETImDk1jQAPAKcqkVklczUtlqy7zk4p83cy1PpGrryJr7cJpTjaJr88Pidh4LR0Nuo7bD0VJAyJpxkgbux2nrUpQbvdIbRb5KqXcjZjf5bsbBVOUpZG6NKlRTl8si6ivf0RStZCOkrJ\/dhZjO\/bheLBYjbw6trXdNcJ95Hk54c9QUGxUDsu1BfJGtnkOY+lPCIm9R35d3Z4rtX6wgbL7LaoH19QdhwA8P5nw81Oz8MfUoU437WrlwX824mhe9kbC+RwY1oyXOOAFn63VsXSGmtNPJcKjtY08A8tz+t1FZp+7Xt4mvtYYos5FNEeX4D1Kta9lLp+wVUlFAyEMZgcOclx2BJ5ncriUU7asnKpVnFyXdjz19txlbda6rV1dUVlfUCIREMdwMG\/cOzHacq00qyG13astFREwVLHcUUvD7z2dmfhg+J7FZ6SpPZNO0+Rh02ZXbc88vTCr9UA228228syGtd0UuDjbnjxBd5KblibjuM0aSpU413rq\/J9DVIvgIIyDkFfVnPVCIiAIiIAvEsrIYnyyODWMaXOceoDmV7Wa1hWyvjp7NSb1Fa4cQ7G5\/E+gKlFYnYqq1Ozg5HLT8b75d579UtIjjPR0zHYOB5dWfMlapR6Ciit9DDSQ\/Yibw57T1nxOSpCSd2co03CFnrv8wiIolwREQHCso4K+lfTVMYfG8YIPV3jsKqLZpWnt9VFUyVD6h8AxFxDAYN+\/v8APfuV8ikpNKyK5UoSkpNZoIiKJYfCARgjIKy9ZZa6yVZuNiJdETmWiGcOHcOv5jqWpRSjJoqqUo1FnqtGUFBqe1XYez1bG082cGKoALc9xO3ngqY\/T1mm9426n3H3G8I9F7uNjt1096qp2mT\/ANxuzvPr8VTDStxt5zZ7zJG0copvs889W3op916OxnaqLxxUlx3+zLIaWsgOfo9m3\/E781ZQU1PSsLKeGOJpOSGNAyVnfa9X0eOloqesZ1lh39CPkh1RdIziXTdVgc3N4sf2UcZPff1Oxq0Yfpw+nQ06LMfvi\/GPoWr4uXDjr8k\/ey4O\/itN1j8c\/tbf1VHs5E\/q6PH4fQ4ODtKagdKR\/o2uPvEA4iP6Pl8Foqy501JbJK8ysfE1hLHNcCHnqAPXlZ2ruF9usDqV2m2ljhuJycfHOQqqm0fexIHiKngOcgPkyB2cs8lbhTzk8zIqs4XjSi2nyeRpNGUclLYg+Ue9USGXnnbAA+WfFTqy\/wBqoc9PXRBw+608TvIKoGlK+tx9K3maRnIxQ7Nx3dXZ1Kwo9K2ajILaQSvH3pTx+h29FCWFu7ZfT7aMFCMbW49F1Kup1S+6sfS2y0SVjXgNcZW+7v2gcvjkKBRaOvBZI41TKFsgOYmSOPXyODy8StyxjI2BkbQxrRgNaMAL0naWyijr2XtHiqyu\/YwtNoOvEnHLXwxOyfejDnH1x3rRWjTVFaXGUOfPORvJLvj4Dq+auEXJVJS1JU9ko03dLMIiKs1BZvVFhuF5qKc008YjjByyTIAPb158lpEUoycXdFdWnGrHDLQzDNIS1czZbxdJqvBz0YJDR8OwfABX9JQUdAzgpKaOEYweBuCfieZUhEcm9SMKNOnnFZhZrW73Ot1NSNIHtFQGkkcv1laVZjWREc1pneeGOOp949nI\/gV2n4kQ2v8AJkaVjGxsaxgw1oAA7Aq3UlD9IWKpha3ie1vGzAycjfb47jxVmCCMg5BR2OE8WMY3yop2dy6cVKLi9GVmm60V9hpZc5e1nRv3627eux8VaLMaK92KvYwDoenzGQOY3H4LTqU1aTK9nk5UothERQLwiIgCy1kAu2qa+6uDXR0\/1MJ9MjwB\/pK7vNTJSWeqniDjI2MhnCCTxHYcu8qLpWi9h0\/TtIw+UdK7b+Vy9MKayi2ZqnfrRjuWfQuERFA0hERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBRbhb6e50b6Wpbljusc2ntHeiInY40pKzKFukKuDLaS\/1cEeNmjO3k4L0NJ1sg4KnUFXPEdnMPFhw7PtHvRFPtJGf6Sjw+X1Ly3W6mtdI2lpWlsbTnc5JPaVKRFBu5oSUVZBERDoREQBERAEREAREQH\/\/2Q==",
    "razonSocial": "SERVICIO AGRICOLA Y GANADERO ",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "SEBASTIAN ARIAS ACUÑA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "SILBERTO.CABELLO@SAG.GOB.CL",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "981701093",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:50",
    "ubicacionGPS": "LatLng(lat: -30.6992649, lng: -70.9197105)",
    "horaLlegada": "16:44",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


18/05/2026 16:50:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61308000

[18/05/2026 16:50: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('61308000', 'TO2973', 2, 20988335, 3732, NOW(), 
				'08:00', '16:44', '16:50', 1, 'se instala maquina, se da inducción de uso se configuración en 5 pc para imprimir y escanear 
se deja toner
01 iton2956', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779137408.png', '', null, 'COMPLETADO','LatLng(lat: -30.6992649, lng: -70.9197105)' )
				
[18/05/2026 16:50:08] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200351

18/05/2026 16:50:08 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '61308000'
				   AND serieintmaquina = 'TO2973'
		
18/05/2026 16:50:08 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'TO2973'
				   AND estado = 1
				
18/05/2026 16:50:08 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('61308000', 'TO2973', 1, 1, now(), 'SAG', 'MONTE PATRIA ', 'FLOR DEL VALLE ');
				
18/05/2026 16:50:08 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200351'                    
				WHERE idllamado = 12641			
				TO ENVIO: SILBERTO.CABELLO@SAG.GOB.CL, tecnico@dsprint.cl


18/05/2026 16:50:09 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12641			
				
18/05/2026 16:50:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


18/05/2026 16: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 = 12641
                

18/05/2026 16: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 = 12641
                

18/05/2026 16: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 = 12641
                

18/05/2026 16: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 = 12641
                

18/05/2026 16: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 = 12641
                

18/05/2026 16: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 = 12641
                

18/05/2026 16:50:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:50:10 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12641
LIMIT 1;
        

18/05/2026 16: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 = 12641
                

18/05/2026 16: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 = 12641
                

18/05/2026 16: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 = 12641
                

18/05/2026 16: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 = 12641
                

18/05/2026 16:50:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:50:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:50:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12641
LIMIT 1;
        

18/05/2026 16:50:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12641
LIMIT 1;
        

[18/05/2026 16:50:14] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 16:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

[18/05/2026 16:50:14] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 16:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

18/05/2026 16:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

18/05/2026 16:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

18/05/2026 16:50:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

18/05/2026 16:50:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12641
                

[18/05/2026 16:54: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;
                

18/05/2026 16:54:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:54:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16:54:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12640
                

[18/05/2026 16:54: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;
                

18/05/2026 16:54:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12640
                

18/05/2026 16:54:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12640
                

18/05/2026 16:54:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12640
                

18/05/2026 16:54:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:54: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16:54:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:54: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16:55:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:55:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

[18/05/2026 16:55: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;
                

18/05/2026 16:55:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:55:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16:55:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:55:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12640
                

[18/05/2026 16:55: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;
                

18/05/2026 16:55:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:55:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12640
                

18/05/2026 16:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12640
                

18/05/2026 16:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12640
                

18/05/2026 16:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12640
                

18/05/2026 16:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12640
                

18/05/2026 16:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12640
                

18/05/2026 16:55:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:55:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12640
                

18/05/2026 16:55:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:55:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16:55:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:55:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16:55:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:55:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

[18/05/2026 16:55:32] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 16:55:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:55:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16: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 = 12640
                

[18/05/2026 16:55:32] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 16:55:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:55:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16: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 = 12640
                

18/05/2026 16:55:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:55:33 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16:55:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:55:33 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12640
                

18/05/2026 16:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16:55:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:55:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16:55:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:55:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12640
                

18/05/2026 16:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12640
                

18/05/2026 16:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12640
                

18/05/2026 16:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16:57:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:57:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16:57:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:57:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16:57:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:57:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16:57:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12640
                

18/05/2026 16:57:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16:57:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:57:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16:57:58 - logentry: =========================================
FECHA: 18/05/2026 16:57:58
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-rFrYaa3ad3ofgHcKTi-rtL_HfKMng4XwS7iz4vxtv0StitJx3Ot
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61308000",
    "serieinterna": "TO2898",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "SAG",
    "ciudadmaquina": "MONTE PATRIA ",
    "departamentomaquina": "oficina ",
    "rutTecnico": "20988335",
    "contador": "3732",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se instala maquina se da inducción de uso se configuración en 5 pc para imprimir y escanear \nse deja toner \n01 iton2956",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12640",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAVwDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABOEAABAwMBBAcFBAUHCAsAAAABAgMEAAURBhIhMUETUWFxkaGxFBUigcEjMkLRFiRSwvAHMzRDU6LhF2JzgpKy0vElJjU2N0VjcnSD4v\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwEEBf\/EADYRAAIBAgMFBgYBAgcAAAAAAAABAgMREiExBBNBUXEiMmGBkdEUobHB4fAjNEIFFVJTcoLx\/9oADAMBAAIRAxEAPwD6PeLxM94otFpQgy1DaU4ojDY4+nWOe6uc2\/VkZPStXNiQvm2obj3ZH5Utvwa9uaXMFamQUnswjd6eFWeqt4bJI4oQdbFKUnq1k9LFZZ1U\/CdDF9gLiKJx0rYJR9eo8Canok6LPbLkSQ28kHBKFZx39VbXWWn0FDraHEnilaQR1VX5mjYhUXra+7AfzkFCiU\/mPkazsvwHtXp6dpej9ix0qsGTqm0\/z7DVyYT+NvcvA3\/xuPDx6ImsrTIOw+tcVwZBS6k7j3j61mB8MxltML2l2X45E\/StbTzUhsOMuocQeCkKBHiK2Uh0ailKUAKUpQApSlAClKUAKUpQApWiRNiRBmTJZZ\/96wn1qLf1hZGM4lF0jk2gnz4Uyi3oicqtOHekkTdKrCtcRnMiHb5b5H+aB6Zrke1rP3hNrbYUD\/XvYx44pt3Ii9sorj8mXKlUB3WV4+JKnILRzjKBt47dxNcbmq72skC4g78JDbSRn+7mmVGRGX+I0lwZ9LpXzH2y+SiCiRc3hnglKsE9W416LfqOQdzFx7OkUoY8cVu55sX4+\/dg2fTaV82Tp7U6sqDL45b5CR+9XosuqWyQluUnr2Xx\/wAVZul\/qN+Nqf7T\/fI+kUr50Ldq9CcBU4AchJ\/\/AFWP\/W+OP\/MTu\/zl\/nRuvFG\/HNa02fR6V82996ojZCnJSSBv6RgHHimidaXtA2VPNqI4lTQz5UbmRn+Y0lqmj6TSqA1ru6DG3HiLHcUn1qRY1jcHNybIZBPAx3SoeQNY6UkUjt1GXH5Mt1Kg7ZqN24TkRXLVIjFQJ2l5wAB3VOVNprU6oVI1FeIpSsVKSgZUoJHWTisHMqVwPX20sAly4x93JLgUfAVwPazsjX3ZC3T1IbP1xTKMnoiUq9KOsl6k9SqudZmRn3dZ5cndxxj0z216LjqyXvYtTMZB5unePE\/Sm3b4k\/iqb7t30TLPSvn1wuuoUShCFzQ++o46KIkEj5hP1q42Rmcxa2kXFe3I3lRKsnuJ6xw3UShhV7mUtpVWTiovIhNRYtWo7deBhKFnonjg8OBJ+RPhVrqJ1NAVcLE+0hO04gdIgdo\/wzWenp3vCyR3VfziU9G4M5IUndv9fnQ84phDsVpR4PP7Mk6UpUzqFcky1QLgCJcRp0n8RT8XjxrrpQnYxxUlZorLui2mnC5bLjJhLPIKJHkQfOseg1hBOG3489A4BeAfnnHrVopT7x8czn+Fgu7ePR\/qKx+lc2CoC72d1hP9o2cjiB3edTtvuUS6R+niO7aeBGMEHtBrpUkKSUqAIIwQedVW9W93T74vVp+zbSQl+OB8BTnkOQ9M1qwyy0YsnVo9pvFH5lrpWmJJbmRGpLRBQ6kKGDnHZW1SglJUogADJJ5VM6k01dHtKgLhq2FHWGIKVT5KtyUM7xnvHH5ZrkDOqryCHnUWuOpPBI+I\/UeIp1B6vI55bRG9oLE\/D30LBLuUKCMypTTXYpW8\/LjUI\/rWKp3ordDkTl53bCSkHu3E+Veo0vZbagy7k8X1A5U5JcwnPdz7jmtJ1EhX6npq2dOrhthvYbT6eeKZRjwzI1KtRd5qPhqzL2zV07+ZhMQkE7lOcfnkn0qNnIW2gi76pJVg5Yi5VnkRuwPEddSA09e7phV3uykIIGWWeHHgcYHz31JQdK2eDgpih5Y\/G\/8AGfDh5U2KMfwT3VWpwf8A2f2RUGI0J85ttkmXDfjpZCyE5\/1cDxNSMexX14ApiW23gD+ySpXjhR86uoAAwBgCvax1WUjsUVq\/TL8\/Mq40a5Ix7xvEiQkfgG4DxJ9K62dG2RrGYynCBxW4rf4Gp2lI6kuZdbLRX9vrn9SPZsVpYx0duj5AwCWwo+ddjbLTIAaaQgAYASkCtlKVtvUtGEY6IUpSsGFKVxSrzbYX9ImsoI\/DtZPgN\/OtSb0FlJRV27HbSq4\/ri1IJSwh+QrlsIwD47\/Ktf6QX6WcQbAtA\/afJAPjs027kQe1UtE79Myz1g4204n7VCFJH7QBFVr2LV00fbT2IaCd6Wx8Q8B9a9GjPaFbVyu0qUeYBx65rcKWrM305d2D87I6JrWlEE+0pgJUM5CMBXgnfVenJ0YM9CqX\/wDRn9+rLH0hZI5B9lLqhzcWT5cKk2IEOLj2eIy1j9hsCmU0tGyUtnnU70Yryv7Hzxh68NvA2U3NTPIOJKh4cOypd+5ayYjgrhAYGStDYUrwBPpV0pQ6ifAI7G4rKb8j51Guky4ulq439+CRxHR7Ix8iKnWNGW6SlL71wkTAoZCw4NlXbnf61PzLdDuDZblxm3QRjKhvHceI+VVOFa3EyJf6OXB9pyM6A7HkfdUerI7iN4rcV1lkSdDdtKax38Xf0bsTrOlLIyQRBSojmtaleROK7mbbAj72IUds9aWgDUFF1VJhuiNfoK4y846dCfgPf+YJrpuOrIMZKW4J9ukugbDbO8b+GSPTjSuM27HRCps0Y3Vl5WfoTEmUxDYU\/JeQ02nipRxVKvuqZk+I57vaWxCzsKfO5SyeQ6uHAb6kYunp14kJnagdJA3oioOAB29Xr215qplp2XaLU02EpW7nZA3JTkDh4+FNBRUraka8qs6ba7K+b9iQ0ta48G0svoaAffQFOL35OeW8bhwqbpSot3dzvpwUIqK4CqrZ0my6rlWokJjykl5hI5dg+W0P9UVaqrurYTvQMXaIP1mEsK3DinPng+WaaHLmR2hNJVFrHPy4lirnhzos9ouxHkvICtkqT19XnWNtuDN0gty2D8KxvTnek8wagtI\/q827wOAZkZT3ZI4\/IUKOT8BnV7UEtJXLPSlKQuKUrxSglJUogADJJ5UAe1omttPQnmn1BDS0FKlKxgAjjvqFl6rbW\/7JZ467hJPNI+Aduefp21rRp6fdVh6\/TSpOciKycJHef476dRtm8jmlWUuzTWL6epD2XUj1tgKtcaMqbIQ6oMlH3dn5bzvyfnUmmxXi9kOXyYWWeIis7vHl61F2O8wLG9dFJQVbbuGGU7zsgnHxHvHhUr02qL0oFptNqiqH3lYK8evkKtK6d1l4nBRalBRk3LwX3\/JJBVi020QCxGVs7xxcUPU1GK1Lc7rtN2K2rKc49odxgfTz+Vddv0hAirL0sme+TkreG7\/Z\/PNTqEIbQENpCEpGAlIwBUm4rxO2NOrJW7q5LX1K1F0iqQ8JV8lrmPf2YUdkdmfyxVjZYZjNBphpDTaeCUDAFc4ucc3Y2wbfThrpScfCBnhnr312UspSepWlTpwvg8xSlKUsKV4VBIyogDrNRsnUdniZDs9onqR8Z8s1qTegspxjnJ2JOlVlzWsdxwt2+BJmL6kpxn1PlWPtmrbicMQmYCD+N3iPHPpTbt8ciHxVN9276Is5IAyTgCo+Zf7VBz085oKH4UnaV4CogaTmzd92vT7wySW2z8I7s7vKpCJpWzRN4hpdV+08dvyO7yrbQWrMx15d2KXV\/ZHC5rRt5wt2y3SZis4Bxsjv3ZPpWPtOr56vso0eA2eCl4JA7c59KszbaGkBDaEoSOASMAVlRiS0Ru5qS7835Zfkq36KT5o\/6Uvb7oJOW287Pnu8q7oukLLFwTGLyh+J1ROflw8qm6VjqSfE2OzUk72u\/HP6mpiLHjJ2Y7DbQ6m0BPpW2lKQukloKUpQaKUpQApSsHXW2GlOvLS22gZUpRwAKA0M6pqbjH0\/q65mSpSWHkBwYGSpRwd3iqumTqKddpJhafZ2gk\/HJWPhA7Or17KjJFl90agtjs57232pwh1Tid21uHPPWOPVyq8I2upHm162O0qfB68OXmdjrl71YjZZZTBt6vxub1LHWOfhjvrNzR0i3rRKsk9bchCcEOYwvr5eRBq20pN41poX+Eg85tt8\/bkVqHqwR3\/Yb4wqHJTgFeMoV27uHmKxePtX8oMcbimNGJGN\/EH\/AIvSp6db4tyjliWylxJBwSN6e0Hkapun0otWs34bjqnhsKaQ4RzyCM+GPnTRs02iNXeQlCM3dXWfHzL3SlKieiK8IBGCMg17SgCozrfI0vO952wLVBWf1mODuSOsfTq+dLFLYf1nOcjr22pDAcSQefwkgjr3mrY42h1tTbiQpCwUqSRuIPEV8+So6Z1XL9kjl9hhAK0nOUNq2Scd2QN9Xi8aa4nmVo7icZLu39D6HSoyLqK0S20rRPZQSB8LqghQ7MGtrt7tbCSXLjGGBnAdBPgN9Rwvkd6q02r4kbps2Pb4q5MlwIbQN56+wdtVhqNdNXHp5Ly4VsJ+BlH3lj695+QqIl35m8XpLs9LyoTJ+yjtjO12n6+HbVws95XcXVsm2PxEtoCkqWMJIPAeH1quFwV+JxKrDaZ4W+zy59fA7IFuiWyOGIjIbTzPNR6yedRmrbs9a7WPZjsuvq2Av9kY3kdtTtVvXKmhY0oWkKcW8kN9YO\/JHy3fOkhnNXOjaOxQlgysjXou0RmrYi4LaCpDpOytW\/ZSDjd1cDVoqpNaevVviJ9nvqm0IRtFC0nCMDOBvO6sYcS+3aP07GogpgqIC0IUk9u7ANPJYne5CjN0oKngd\/L3LfWt15phG286htPWtQA86rn6LXNze\/qOUrsTtY\/3qzb0PbdrbkPyZCue0sAHwGfOkwx5l95WekPV+1zuf1LZI5Klz2VKxj7PKz5Zrgc1xBU50cSJKkr5BKQM\/XyqSj6cs0b+bt7Jwc5WNv8A3s1INtNsoCGm0oSOCUjArbwXAMO0S1kl0V\/qVv35qOb\/AEKxdCD+KQT479msfYNXTD9tcWIqDxS2N48B9atNapT3s8R57+zQpXDPAZox8kY6DavObfy+hXhoxEhW3crnLlq5fFgDxz9KkYumbNEOW4Laj1uZX61A2qLfblBTdo93UHlKVhlY+A43Ds5dVTdhvSrkl2NKR0U2OcOI6+36U0sXMjR3La7Fr6XzuSzbaGkBDaEoSOASMAVlSlRPQFKUoAUpVdumqAl4wLO0Zk1Sij4RlKDzPb6du6mUXLQnUqxpq8mWKlVdOmbpO2Xrne3+k49G1uCTyxy8BWdslTLRek2SfIMlt1O1HdI3gAcD4H+DW4FwZJV5JrHGyZZaUpSHSKUpQApXNOnxrcx08pzYR3ZJqtTdVP3OWm3WQobUs4Mh5QT4fxnqFNGDkRq14U8m8+XElr1qOJaPsd78tQ+FlHHPLPVUY1Zbpf3Uyr48piODlMNvdu7er17qk7NpyLavtln2mWret9Y357Or1qYpsSj3SSpTq51dOXvz+hpixI8JhLEZpLTaeCUioHW7SvdLMpvcuM+lQV1A7vXFWSo++xfbLHMYCdoqaJSO0bx5isi7STKV4YqUorkdjDyZEdt5P3XEBQ7iM1sqG0nKErTsY\/iaBbV8ju8sVM0slZ2KU544KXMV86jJXL1+djfszFKznO5JP0FXK8X6FZmdp9W26R8DKT8SvyHbUFoaKmQqXdXAS6pwoHUM4J+e+qwvGLkcW02q1YU09HdlwpSlRPQFKUoAVWIP\/iJcv\/jD0bqz1WIfwfyiT8\/jjDHgj8qeHHoc20aw\/wCX2ZJSdM2eW4XHISAonOUEpGe4HFVRNjhXbUBh2xktQ4hxId2ySo5PDJ7MD5mrTqiYqDp+S4g4WsdGk9W1uPlmstOW9u32WOlCAlxxAccON5URnf3cKeMnGN7katGnUqqGFc37HZFt8KEMRYrLPahABPzrppSonckkrIVWNRD23Utnt53pCi6tI5jP5JPnVnqrRf1\/X8l7iiEzsJPHfjGPNVUhq2c+05qMObXuWKb\/AEGR\/olelQuif+7qP9KupmcoJt8lR3ANKJ8DUPokEacbJ5uLI8aF3GEv6iPR\/YsFKUqZ0lc1JKkRLxZ1NvOpace2XEIWQFb08Rz4mrHVQ184ppFvcQcKQ4pQPURirVGfRKjNSGzlDqAodxFUkuymctKX81SPT6G2tMtkyIb7IOC42pIPeMVupUzpaurFe0S8HLB0ezsll1SSPP61ovhTbNU225AhCX\/sXTjlkDJ+R8qxtylWLVUi3rBTEnK6Rk\/hCjyHmPkK7dYQ\/arA6tOduOoOpx2bj5E+FW\/v8GeervZrcYfb8E7SuS1yxOtcaTkEuNgqx18\/PNddReR6EWpJNCueXOiwGg7KeS0gnAKuuuiqT\/KC8rbhsZwkBS8ZO88O7\/nTwjilYjtFXdU3NHff7g9cprNhtjuFvALeeSrclBGcZHWN\/bkDnUza7TEtEYMxm8E\/eWfvLPbVb0I0XXpcxxOFJQ2ynuA3+iauVbPs9lEtmW8\/mlq9PBCqxeiHdZWdlIytAKzjjjf\/AMJqz1VbKRd9WTrqk7TDA6Jo448sj5An50Q4sbaM8MObXyzLVSleKUEpKlEAAZJPKpnUe1EXzUcWybCHEl51eSG0KGQOs9W\/69VQ161koodZtCdoIHxySNye7\/Gq7LtUhFkTeJayXJT4CNo5JBCiVHvwKvClxkebX2zJxo5tceBY\/c921O6iXdFiJGSQW4wSScdu8YJHM+FS0nSlofaCW4wjuJHwONEgpPX28OdTNccm726GD7RNYQR+HbBV4DfSY5PQ6NxSgm5531bIjTk6WxNkWS4OdI7GA6JeN6k9p7iMVY6obmooh1Y5cmWnZCENdG0lCcFZxxPDG\/sNSnvnUs8n2GzCOjG5Ujj378ehppQbd9CNDaYRi43bs3a2eRaK5pVwhQ0n2qUy1u4LWAT8udQBsOoJ\/wD2he+jSeKGAcd27FdEbRVoYO06l2SrmXF\/lilwxWrLbytLuwt1f2RBWLUEezKmxG23ZSVv7UYND73EegTyqT9u1VdT+qQ27e0eC3fvcO36CvLSw1B11PjMtpbaVHBQlI3D7h\/OrXTTkk7pENnpTlDC5WSbVl7kBb9NR7eVz5TplTcFZdcOQg44jPqfKtWhE7NgUcY2n1Hv3AfSpi7vCPZ5jpONlhZHfg4864NHslrTcYkYLhUv+8ceQFZduLbKqnGFeMYrRP7E3SlKkdgrwkAZJwBXtROp3Vtael9GFFS0bA2U53E4PlmtSu7CTlgi5cjlka0tEd9TWXnNk\/eQgFJ7jmoJrUkBGrXroQ90C2QgDZG1nA5Z7Ks+nmIKLJFbjlp3DYKyCFHaO85+efCoxhtB\/lCkJKE7IjDAxu4Jq0cKurHBU30lCTks2uH5OLUWpLfd7I4xGW6lwLSdlaSMgHs3f8qttudS\/bYzqDlK2kkeArCda4dwirYfYbIUCArZGUnrHUao8G83LSs1cCUguspVvbUeA60n6ViSnG0TZTlQq46uaeV0fRKVywLjEuccPxHg4nmOaT1Ecq6SQBknAFRtY9BNSV0apclEOI7JcICGkFRyeoVBaKYWbY\/PdOXZjyllXWAceu1XJd7gvUspNmtZ22AoKkSB93A5d3qRVpjR24kZqMynZbaSEpHYKo+zG3FnLF72tiWkfqabsoIs81R4CO4f7pqO0ckp0zGJ\/EVkf7RrsvoKrDOA49Ar0rn0oQrTMMj9lQ\/vGj+zzGf9Quj+qJilKVM6SqavZTNulnhLUUodcUFEdRKR+db9GSXBDkW2QCHoTmyQeQPLxB8awvBD+tbSwk5U2krIPAcT+7WF827Dfmb20kliQOikpHXyPgB4dtX1ionmPs1pVuCdn0svoy1UrFC0uNpcQoKSoApI5isqgemRGorN72hAskIlsHbZczgg9WahnNSJkWGbb7kDGuCGVIKVgjpDjiO3s8KuFU2\/BrUV8YtkJpKiyrMmQkDKU7sgHs9arTd8nwOHaYuHbg83lbmTml0lGm4QPHYJ49ZJqWqrI09f7ekN2y9AtJPwoeTuSPBVZKY1kMn2yHgcyAP3aHFN3TGp1ZQgoyg8unuWeqPq3ornqKDBZdCl5DbmD90lXX3VukC7PHo7jqaHFQCNpLTgSs9fDB86i57lmtqre7bJPtL8Z7beOyQXOB444bjuzzp6cbO5zbTW3kLNWWWrV\/Qn9Bge5pCskkyVbzz+FNWeqBpjUHuu2uRUQH5TqnisdGN2MAfSpV2\/ajWyt1myojtpBKlSFY2R17ymlnBuTKbPtFONGK1fgmSep7mm2WZ1QIDr32Tees8T8hk+FZ6dt3uyysMKRsOqG26Oe0evu3D5VUozN81c+mWXWUIiqwhShhIVuOAMHPLjW29W1dvjbV1vcmU64MNx0E\/EfmTu+VbgVsN8xPiJOTrYcrZcC3Tbxb7eypyRKbGyM7AUCo9gFUe5aj99yNiU67FgJ\/qmRtLX38B+XbUlp3RoUn2q7NcR8DBJBHar8qxeaYv9wVa7PHZjwWiDIkttgFW\/gD3jd14zwFbFRi\/uLWlXqwV8r6Li\/wAEaov3KUx7stDqrexuQ0EkBauZWrnv47+A5V0akVf3rYhdyjsRoqXE7DbeMg4OOZ5Z8avUSIzBiNxY6NhpsYSK57vbk3W3ORFYG1ggngCKzeq6yKPY5buXazfp\/wCEEdLPyW+mu19ecbxkhJ2Ugd53czyqF90xLpN9iscZSmWzh6Y6onw5eWT6zqdLT5qUNXe6rdYb3Jaa3DAxg8MZxnke+rFEiR4MdMeK0lppPBKf430bzDxuYtlVR5xsvHNv2NNrtce1Q0R46R8I+JZAys8ya7KUqLdz0oxUVZClR0y\/WqECH5zaVDdsoO0oHuGar8HU5YjJh26NOuriSftHeOM9mTgDrplCTRCe0U4Ss3+9DqYB\/wAock43ezD0TVmKgkZUQB1mqA77+e1Q0pwNW6ZKb2Uq\/CUjx37vSpf9DunBcu13kydk7XHAT45+lPKKyuzmo1Z9pQhfN65DVl9gqs78ONLbdecKUkNnawM5O8buVaLfqWQ3b2I1tscmQhlAR0m8AkAb9wPHfzrkiWyBcNTtNWtrZhQ8LdcCiekOTzPEZ3eNWy73SPZ7euQ6RkDDbfDbVyFa7JKKVxYOpNyqylhSyy\/JDxtUThd2IE+3COXsYwSVDPPAzVnquaatby3F3y45VMkj4UkY2E8OHI4HhVjqc7Xsjq2bG4Xm9dOgrFaEuIKFpCkqGCDzrKlIdJXZGkGEyBItkt6A4MnCDkZI8RvxkcK6LPYnYM12dNlGVJcTshZ5D+AKmqU+OTViC2empYkv3oK4LpZYV4aCJbZJT91aDhSf47a76UqbWaKyjGStJXR8\/maVvFne9ptjq3ko4KZ+FwDqI5+fdWDmorncke65slmECRtvLQpK9xBwcbh18BnHbX0OueVAiTU7MmO26P8AOTvHzqqq37yOGWxYb7qVk+HA5rQm1sRgzbXo6xxUWlAlRxvJxUjVekaJsz+S2h1gn+zczjxzWn9FbixuiahlIT+yrJ\/e+lK1F8SylWgrYPR+9ixvNJfYcZX91xJSe4jFV3SUoRA\/Y5JKJEdxRQFYG2ns9fnXnuPUifuX\/OOG0k7++uKXpK+TpKZEm5R1upGErGQfIUyUbNNkak6jkpxg7rpp6l0qFu+pottWYzIMmYdyWkb8Htx6cajTYdUOO7K74A1+0lagrHcAPWsGdBrZc6RN4cSvkpDWyfHarFGC1Y06teStThbrY7rFbJqJb14u7gTJeGEt5GEJ+nd4767LtItEyA7Dlz46EuDG91OQeRAz3VHDQsBRy\/LluntWB9K6mtHWNrjELh61uK+hobje9whCqoYFFebv9iJ07qiJAt6oNxfwqMrZbWgFYWnPIgcvTFdbuvLaknoo8l3A47IA9azuelWh0Um0MsNPs\/gcTlLg7c7uZ4jqrSnT9zvD6FXl1LEZABEaPgDPyz476b+N5kV8VBbtcNMvv+DilajvF+YUxaIDjSM4ccQcnuzuCaWi16nt7CmosWNF2zlTjhClHzPpVxixI8JhLEZpLTaeCUit1LvEsksiy2VtqdSbv4ZFYFk1NI3Sr8Gh\/wCiD9AmidFNu49uukuTjlnHrmrPSl3kuBX4Wk+9n1bINnR1kaAzFU6RzW4r6ECupywWtcVyOiEy2HElO0hACh2541JUrMcuZRUKSVlFehQrFOuVoenQIdv9tS0+QspyCDvT2\/s+XGpH3PfL+6FXl4RYgOfZ2iMnwz5k91ZxD7t15JYO5uc3tp7Tx9QqrTVJzs7pHHQoKUXGTdk2rcCDuVyhaYt7caK0C8oYZYTzJ5nsz41psVieTIN2ux6Wc7vSlXBr\/H0qNett+iX965NwGpxJ+BxxQ3DgCBtbj\/G6tEi\/369pftsSIhKt4cLJ3hPAjJOKZRyyfViOqlO9SLy7qt+\/gkbrdZN8mKs1mV8HCRJHADmAer1qdtVrj2iEmNHG7ipR4rPWarFrb1Na4gYh2WMlP41LUNpZ6z8Yrt6HWUreZMSIDxAAP0PrSyXBNWHpVHfHKLcn4aeCuWetT8qPGTtSH22h1uLCfWq7+jV4k4VL1C8DxKWwcZ8R6VsY0PakEKfW\/IVz214B8N\/nS4YrVnRvKz0hbq\/a51SdW2WMD+th1Q\/C0kqz8+HnXArWS5Ktm2WiVK3\/AHiMegNTMayWuJgswGEkcFFAJ8TvruAAGAMAUXguAYK8tZJdF7lY29YXAjZRHt6COJwT+8fSvBpGXLObpepD4PFCCcDuyceVWmlG8fDIz4WD77b6sh4elbPCwUxA6sfieO15cPKpZCENoCG0hCUjASkYArKlI23qXhThBWirHDdbPEvEcMykq+H7q0nCk93hUOnQsDICpctSAPuFY\/KrNXPNmx7fFXJkuBDaBvPX2DtpoykskTqUaUnimjU0xAsdvX0aUsR2htKJP1PE1X7Yw9qi6i8S07EOOrZjsnftEcz9e7HKsG2Z+sJQek7ca0oVltvgXP46+XLnVtaabYaS0yhLbaBhKUjAApm8PUjFb5rK0Fp4\/gzpSlSO0UpSgBSlKAFKUoAUpSgBSlKAFKUoAUpSgBSlKAFKUoAUpSgBSlKAFKUoAgdT2l+Y0zOg7pkQ7acDesDfiuiyX+LeGANpLUkblsE788yOsVLVUNZwray0mUltSLi8sdH0SsFRHMj8t+cVSPa7LOOsnRbqx81+8Tq1Fd333xZLTlcp3c6tPBtPMZ5HrPKpWzWhizQUx2gCs73HMb1mq7B0neYielYuiGHXQC5hOTnqzzrqOlbjKyJ9+kLQcZQgnB39px5Uzw2smSg6rm6koNvhpZIl7hfrbbAoSJSOkT\/VIO0vwqFVqG73h3orHCLbQO+Q8N35DzNSUHStogkKTGDywPvP\/H5cPKtGrLkuJBbgRQTKmHo0JScEDhy7wB\/hWRw3slceq6uBym7LktfU49IvTpdwnOyJpktNYQFEnClZO8dnHxFWyuK0W1u1W1qIjeUjK1Z+8rma7aWbTldF9ng4U0pailKUhcUpSgBSlcF5kzYsAqt8UyJC1BCQPw5\/Ea1K7sLKSim2Y3e9w7Mx0kleVqHwNJ+8v8h21CxLZP1HKbuF5HRRE\/EzF4Z6sj68T3V1WjTRbke8bu4Jc5RBG1vSj8z6cqsNPdRyicypzrO9TJcvf2MUpShAQhISlIwABgAVlSlTOsUpSgBSlKAFKUoAUpSgBSlKAFKUoAUpSgBSlKAFKUoAUpSgBSlKAFKUoAUpSgBWKkIXjbSFbJyMjOD10pQBlSlKAPFHZSTgnA4Cq1YYEufc3b5dWS27nYZZWgjYA57\/AA8TSlOnZMhUgpVI34ZlmpSlIXFKUoAUpSgBSlKAFKUoAUpSgBSlKAP\/2Q==",
    "razonSocial": "SERVICIO AGRICOLA Y GANADERO ",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "SEBASTIAN ARIAS ACUÑA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "SILBERTO.CABELLO@SAG.GOB.CL",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "98701093",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:58",
    "ubicacionGPS": "LatLng(lat: -30.6954264, lng: -70.9574552)",
    "horaLlegada": "15:51",
    "horaDespacho": "16:50",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 18/05/2026 16:57:58
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-rFrYaa3ad3ofgHcKTi-rtL_HfKMng4XwS7iz4vxtv0StitJx3Ot
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61308000",
    "serieinterna": "TO2898",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "SAG",
    "ciudadmaquina": "MONTE PATRIA ",
    "departamentomaquina": "oficina ",
    "rutTecnico": "20988335",
    "contador": "3732",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se instala maquina se da inducción de uso se configuración en 5 pc para imprimir y escanear \nse deja toner \n01 iton2956",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12640",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAVwDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABOEAABAwMBBAcFBAUHCAsAAAABAgMEAAURBhIhMUETUWFxkaGxFBUigcEjMkLRFiRSwvAHMzRDU6LhF2JzgpKy0vElJjU2N0VjcnSD4v\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwEEBf\/EADYRAAIBAgMFBgYBAgcAAAAAAAABAgMREiExBBNBUXEiMmGBkdEUobHB4fAjNEIFFVJTcoLx\/9oADAMBAAIRAxEAPwD6PeLxM94otFpQgy1DaU4ojDY4+nWOe6uc2\/VkZPStXNiQvm2obj3ZH5Utvwa9uaXMFamQUnswjd6eFWeqt4bJI4oQdbFKUnq1k9LFZZ1U\/CdDF9gLiKJx0rYJR9eo8Canok6LPbLkSQ28kHBKFZx39VbXWWn0FDraHEnilaQR1VX5mjYhUXra+7AfzkFCiU\/mPkazsvwHtXp6dpej9ix0qsGTqm0\/z7DVyYT+NvcvA3\/xuPDx6ImsrTIOw+tcVwZBS6k7j3j61mB8MxltML2l2X45E\/StbTzUhsOMuocQeCkKBHiK2Uh0ailKUAKUpQApSlAClKUAKUpQApWiRNiRBmTJZZ\/96wn1qLf1hZGM4lF0jk2gnz4Uyi3oicqtOHekkTdKrCtcRnMiHb5b5H+aB6Zrke1rP3hNrbYUD\/XvYx44pt3Ii9sorj8mXKlUB3WV4+JKnILRzjKBt47dxNcbmq72skC4g78JDbSRn+7mmVGRGX+I0lwZ9LpXzH2y+SiCiRc3hnglKsE9W416LfqOQdzFx7OkUoY8cVu55sX4+\/dg2fTaV82Tp7U6sqDL45b5CR+9XosuqWyQluUnr2Xx\/wAVZul\/qN+Nqf7T\/fI+kUr50Ldq9CcBU4AchJ\/\/AFWP\/W+OP\/MTu\/zl\/nRuvFG\/HNa02fR6V82996ojZCnJSSBv6RgHHimidaXtA2VPNqI4lTQz5UbmRn+Y0lqmj6TSqA1ru6DG3HiLHcUn1qRY1jcHNybIZBPAx3SoeQNY6UkUjt1GXH5Mt1Kg7ZqN24TkRXLVIjFQJ2l5wAB3VOVNprU6oVI1FeIpSsVKSgZUoJHWTisHMqVwPX20sAly4x93JLgUfAVwPazsjX3ZC3T1IbP1xTKMnoiUq9KOsl6k9SqudZmRn3dZ5cndxxj0z216LjqyXvYtTMZB5unePE\/Sm3b4k\/iqb7t30TLPSvn1wuuoUShCFzQ++o46KIkEj5hP1q42Rmcxa2kXFe3I3lRKsnuJ6xw3UShhV7mUtpVWTiovIhNRYtWo7deBhKFnonjg8OBJ+RPhVrqJ1NAVcLE+0hO04gdIgdo\/wzWenp3vCyR3VfziU9G4M5IUndv9fnQ84phDsVpR4PP7Mk6UpUzqFcky1QLgCJcRp0n8RT8XjxrrpQnYxxUlZorLui2mnC5bLjJhLPIKJHkQfOseg1hBOG3489A4BeAfnnHrVopT7x8czn+Fgu7ePR\/qKx+lc2CoC72d1hP9o2cjiB3edTtvuUS6R+niO7aeBGMEHtBrpUkKSUqAIIwQedVW9W93T74vVp+zbSQl+OB8BTnkOQ9M1qwyy0YsnVo9pvFH5lrpWmJJbmRGpLRBQ6kKGDnHZW1SglJUogADJJ5VM6k01dHtKgLhq2FHWGIKVT5KtyUM7xnvHH5ZrkDOqryCHnUWuOpPBI+I\/UeIp1B6vI55bRG9oLE\/D30LBLuUKCMypTTXYpW8\/LjUI\/rWKp3ordDkTl53bCSkHu3E+Veo0vZbagy7k8X1A5U5JcwnPdz7jmtJ1EhX6npq2dOrhthvYbT6eeKZRjwzI1KtRd5qPhqzL2zV07+ZhMQkE7lOcfnkn0qNnIW2gi76pJVg5Yi5VnkRuwPEddSA09e7phV3uykIIGWWeHHgcYHz31JQdK2eDgpih5Y\/G\/8AGfDh5U2KMfwT3VWpwf8A2f2RUGI0J85ttkmXDfjpZCyE5\/1cDxNSMexX14ApiW23gD+ySpXjhR86uoAAwBgCvax1WUjsUVq\/TL8\/Mq40a5Ix7xvEiQkfgG4DxJ9K62dG2RrGYynCBxW4rf4Gp2lI6kuZdbLRX9vrn9SPZsVpYx0duj5AwCWwo+ddjbLTIAaaQgAYASkCtlKVtvUtGEY6IUpSsGFKVxSrzbYX9ImsoI\/DtZPgN\/OtSb0FlJRV27HbSq4\/ri1IJSwh+QrlsIwD47\/Ktf6QX6WcQbAtA\/afJAPjs027kQe1UtE79Myz1g4204n7VCFJH7QBFVr2LV00fbT2IaCd6Wx8Q8B9a9GjPaFbVyu0qUeYBx65rcKWrM305d2D87I6JrWlEE+0pgJUM5CMBXgnfVenJ0YM9CqX\/wDRn9+rLH0hZI5B9lLqhzcWT5cKk2IEOLj2eIy1j9hsCmU0tGyUtnnU70Yryv7Hzxh68NvA2U3NTPIOJKh4cOypd+5ayYjgrhAYGStDYUrwBPpV0pQ6ifAI7G4rKb8j51Guky4ulq439+CRxHR7Ix8iKnWNGW6SlL71wkTAoZCw4NlXbnf61PzLdDuDZblxm3QRjKhvHceI+VVOFa3EyJf6OXB9pyM6A7HkfdUerI7iN4rcV1lkSdDdtKax38Xf0bsTrOlLIyQRBSojmtaleROK7mbbAj72IUds9aWgDUFF1VJhuiNfoK4y846dCfgPf+YJrpuOrIMZKW4J9ukugbDbO8b+GSPTjSuM27HRCps0Y3Vl5WfoTEmUxDYU\/JeQ02nipRxVKvuqZk+I57vaWxCzsKfO5SyeQ6uHAb6kYunp14kJnagdJA3oioOAB29Xr215qplp2XaLU02EpW7nZA3JTkDh4+FNBRUraka8qs6ba7K+b9iQ0ta48G0svoaAffQFOL35OeW8bhwqbpSot3dzvpwUIqK4CqrZ0my6rlWokJjykl5hI5dg+W0P9UVaqrurYTvQMXaIP1mEsK3DinPng+WaaHLmR2hNJVFrHPy4lirnhzos9ouxHkvICtkqT19XnWNtuDN0gty2D8KxvTnek8wagtI\/q827wOAZkZT3ZI4\/IUKOT8BnV7UEtJXLPSlKQuKUrxSglJUogADJJ5UAe1omttPQnmn1BDS0FKlKxgAjjvqFl6rbW\/7JZ467hJPNI+Aduefp21rRp6fdVh6\/TSpOciKycJHef476dRtm8jmlWUuzTWL6epD2XUj1tgKtcaMqbIQ6oMlH3dn5bzvyfnUmmxXi9kOXyYWWeIis7vHl61F2O8wLG9dFJQVbbuGGU7zsgnHxHvHhUr02qL0oFptNqiqH3lYK8evkKtK6d1l4nBRalBRk3LwX3\/JJBVi020QCxGVs7xxcUPU1GK1Lc7rtN2K2rKc49odxgfTz+Vddv0hAirL0sme+TkreG7\/Z\/PNTqEIbQENpCEpGAlIwBUm4rxO2NOrJW7q5LX1K1F0iqQ8JV8lrmPf2YUdkdmfyxVjZYZjNBphpDTaeCUDAFc4ucc3Y2wbfThrpScfCBnhnr312UspSepWlTpwvg8xSlKUsKV4VBIyogDrNRsnUdniZDs9onqR8Z8s1qTegspxjnJ2JOlVlzWsdxwt2+BJmL6kpxn1PlWPtmrbicMQmYCD+N3iPHPpTbt8ciHxVN9276Is5IAyTgCo+Zf7VBz085oKH4UnaV4CogaTmzd92vT7wySW2z8I7s7vKpCJpWzRN4hpdV+08dvyO7yrbQWrMx15d2KXV\/ZHC5rRt5wt2y3SZis4Bxsjv3ZPpWPtOr56vso0eA2eCl4JA7c59KszbaGkBDaEoSOASMAVlRiS0Ru5qS7835Zfkq36KT5o\/6Uvb7oJOW287Pnu8q7oukLLFwTGLyh+J1ROflw8qm6VjqSfE2OzUk72u\/HP6mpiLHjJ2Y7DbQ6m0BPpW2lKQukloKUpQaKUpQApSsHXW2GlOvLS22gZUpRwAKA0M6pqbjH0\/q65mSpSWHkBwYGSpRwd3iqumTqKddpJhafZ2gk\/HJWPhA7Or17KjJFl90agtjs57232pwh1Tid21uHPPWOPVyq8I2upHm162O0qfB68OXmdjrl71YjZZZTBt6vxub1LHWOfhjvrNzR0i3rRKsk9bchCcEOYwvr5eRBq20pN41poX+Eg85tt8\/bkVqHqwR3\/Yb4wqHJTgFeMoV27uHmKxePtX8oMcbimNGJGN\/EH\/AIvSp6db4tyjliWylxJBwSN6e0Hkapun0otWs34bjqnhsKaQ4RzyCM+GPnTRs02iNXeQlCM3dXWfHzL3SlKieiK8IBGCMg17SgCozrfI0vO952wLVBWf1mODuSOsfTq+dLFLYf1nOcjr22pDAcSQefwkgjr3mrY42h1tTbiQpCwUqSRuIPEV8+So6Z1XL9kjl9hhAK0nOUNq2Scd2QN9Xi8aa4nmVo7icZLu39D6HSoyLqK0S20rRPZQSB8LqghQ7MGtrt7tbCSXLjGGBnAdBPgN9Rwvkd6q02r4kbps2Pb4q5MlwIbQN56+wdtVhqNdNXHp5Ly4VsJ+BlH3lj695+QqIl35m8XpLs9LyoTJ+yjtjO12n6+HbVws95XcXVsm2PxEtoCkqWMJIPAeH1quFwV+JxKrDaZ4W+zy59fA7IFuiWyOGIjIbTzPNR6yedRmrbs9a7WPZjsuvq2Av9kY3kdtTtVvXKmhY0oWkKcW8kN9YO\/JHy3fOkhnNXOjaOxQlgysjXou0RmrYi4LaCpDpOytW\/ZSDjd1cDVoqpNaevVviJ9nvqm0IRtFC0nCMDOBvO6sYcS+3aP07GogpgqIC0IUk9u7ANPJYne5CjN0oKngd\/L3LfWt15phG286htPWtQA86rn6LXNze\/qOUrsTtY\/3qzb0PbdrbkPyZCue0sAHwGfOkwx5l95WekPV+1zuf1LZI5Klz2VKxj7PKz5Zrgc1xBU50cSJKkr5BKQM\/XyqSj6cs0b+bt7Jwc5WNv8A3s1INtNsoCGm0oSOCUjArbwXAMO0S1kl0V\/qVv35qOb\/AEKxdCD+KQT479msfYNXTD9tcWIqDxS2N48B9atNapT3s8R57+zQpXDPAZox8kY6DavObfy+hXhoxEhW3crnLlq5fFgDxz9KkYumbNEOW4Laj1uZX61A2qLfblBTdo93UHlKVhlY+A43Ds5dVTdhvSrkl2NKR0U2OcOI6+36U0sXMjR3La7Fr6XzuSzbaGkBDaEoSOASMAVlSlRPQFKUoAUpVdumqAl4wLO0Zk1Sij4RlKDzPb6du6mUXLQnUqxpq8mWKlVdOmbpO2Xrne3+k49G1uCTyxy8BWdslTLRek2SfIMlt1O1HdI3gAcD4H+DW4FwZJV5JrHGyZZaUpSHSKUpQApXNOnxrcx08pzYR3ZJqtTdVP3OWm3WQobUs4Mh5QT4fxnqFNGDkRq14U8m8+XElr1qOJaPsd78tQ+FlHHPLPVUY1Zbpf3Uyr48piODlMNvdu7er17qk7NpyLavtln2mWret9Y357Or1qYpsSj3SSpTq51dOXvz+hpixI8JhLEZpLTaeCUioHW7SvdLMpvcuM+lQV1A7vXFWSo++xfbLHMYCdoqaJSO0bx5isi7STKV4YqUorkdjDyZEdt5P3XEBQ7iM1sqG0nKErTsY\/iaBbV8ju8sVM0slZ2KU544KXMV86jJXL1+djfszFKznO5JP0FXK8X6FZmdp9W26R8DKT8SvyHbUFoaKmQqXdXAS6pwoHUM4J+e+qwvGLkcW02q1YU09HdlwpSlRPQFKUoAVWIP\/iJcv\/jD0bqz1WIfwfyiT8\/jjDHgj8qeHHoc20aw\/wCX2ZJSdM2eW4XHISAonOUEpGe4HFVRNjhXbUBh2xktQ4hxId2ySo5PDJ7MD5mrTqiYqDp+S4g4WsdGk9W1uPlmstOW9u32WOlCAlxxAccON5URnf3cKeMnGN7katGnUqqGFc37HZFt8KEMRYrLPahABPzrppSonckkrIVWNRD23Utnt53pCi6tI5jP5JPnVnqrRf1\/X8l7iiEzsJPHfjGPNVUhq2c+05qMObXuWKb\/AEGR\/olelQuif+7qP9KupmcoJt8lR3ANKJ8DUPokEacbJ5uLI8aF3GEv6iPR\/YsFKUqZ0lc1JKkRLxZ1NvOpace2XEIWQFb08Rz4mrHVQ184ppFvcQcKQ4pQPURirVGfRKjNSGzlDqAodxFUkuymctKX81SPT6G2tMtkyIb7IOC42pIPeMVupUzpaurFe0S8HLB0ezsll1SSPP61ovhTbNU225AhCX\/sXTjlkDJ+R8qxtylWLVUi3rBTEnK6Rk\/hCjyHmPkK7dYQ\/arA6tOduOoOpx2bj5E+FW\/v8GeervZrcYfb8E7SuS1yxOtcaTkEuNgqx18\/PNddReR6EWpJNCueXOiwGg7KeS0gnAKuuuiqT\/KC8rbhsZwkBS8ZO88O7\/nTwjilYjtFXdU3NHff7g9cprNhtjuFvALeeSrclBGcZHWN\/bkDnUza7TEtEYMxm8E\/eWfvLPbVb0I0XXpcxxOFJQ2ynuA3+iauVbPs9lEtmW8\/mlq9PBCqxeiHdZWdlIytAKzjjjf\/AMJqz1VbKRd9WTrqk7TDA6Jo448sj5An50Q4sbaM8MObXyzLVSleKUEpKlEAAZJPKpnUe1EXzUcWybCHEl51eSG0KGQOs9W\/69VQ161koodZtCdoIHxySNye7\/Gq7LtUhFkTeJayXJT4CNo5JBCiVHvwKvClxkebX2zJxo5tceBY\/c921O6iXdFiJGSQW4wSScdu8YJHM+FS0nSlofaCW4wjuJHwONEgpPX28OdTNccm726GD7RNYQR+HbBV4DfSY5PQ6NxSgm5531bIjTk6WxNkWS4OdI7GA6JeN6k9p7iMVY6obmooh1Y5cmWnZCENdG0lCcFZxxPDG\/sNSnvnUs8n2GzCOjG5Ujj378ehppQbd9CNDaYRi43bs3a2eRaK5pVwhQ0n2qUy1u4LWAT8udQBsOoJ\/wD2he+jSeKGAcd27FdEbRVoYO06l2SrmXF\/lilwxWrLbytLuwt1f2RBWLUEezKmxG23ZSVv7UYND73EegTyqT9u1VdT+qQ27e0eC3fvcO36CvLSw1B11PjMtpbaVHBQlI3D7h\/OrXTTkk7pENnpTlDC5WSbVl7kBb9NR7eVz5TplTcFZdcOQg44jPqfKtWhE7NgUcY2n1Hv3AfSpi7vCPZ5jpONlhZHfg4864NHslrTcYkYLhUv+8ceQFZduLbKqnGFeMYrRP7E3SlKkdgrwkAZJwBXtROp3Vtael9GFFS0bA2U53E4PlmtSu7CTlgi5cjlka0tEd9TWXnNk\/eQgFJ7jmoJrUkBGrXroQ90C2QgDZG1nA5Z7Ks+nmIKLJFbjlp3DYKyCFHaO85+efCoxhtB\/lCkJKE7IjDAxu4Jq0cKurHBU30lCTks2uH5OLUWpLfd7I4xGW6lwLSdlaSMgHs3f8qttudS\/bYzqDlK2kkeArCda4dwirYfYbIUCArZGUnrHUao8G83LSs1cCUguspVvbUeA60n6ViSnG0TZTlQq46uaeV0fRKVywLjEuccPxHg4nmOaT1Ecq6SQBknAFRtY9BNSV0apclEOI7JcICGkFRyeoVBaKYWbY\/PdOXZjyllXWAceu1XJd7gvUspNmtZ22AoKkSB93A5d3qRVpjR24kZqMynZbaSEpHYKo+zG3FnLF72tiWkfqabsoIs81R4CO4f7pqO0ckp0zGJ\/EVkf7RrsvoKrDOA49Ar0rn0oQrTMMj9lQ\/vGj+zzGf9Quj+qJilKVM6SqavZTNulnhLUUodcUFEdRKR+db9GSXBDkW2QCHoTmyQeQPLxB8awvBD+tbSwk5U2krIPAcT+7WF827Dfmb20kliQOikpHXyPgB4dtX1ionmPs1pVuCdn0svoy1UrFC0uNpcQoKSoApI5isqgemRGorN72hAskIlsHbZczgg9WahnNSJkWGbb7kDGuCGVIKVgjpDjiO3s8KuFU2\/BrUV8YtkJpKiyrMmQkDKU7sgHs9arTd8nwOHaYuHbg83lbmTml0lGm4QPHYJ49ZJqWqrI09f7ekN2y9AtJPwoeTuSPBVZKY1kMn2yHgcyAP3aHFN3TGp1ZQgoyg8unuWeqPq3ornqKDBZdCl5DbmD90lXX3VukC7PHo7jqaHFQCNpLTgSs9fDB86i57lmtqre7bJPtL8Z7beOyQXOB444bjuzzp6cbO5zbTW3kLNWWWrV\/Qn9Bge5pCskkyVbzz+FNWeqBpjUHuu2uRUQH5TqnisdGN2MAfSpV2\/ajWyt1myojtpBKlSFY2R17ymlnBuTKbPtFONGK1fgmSep7mm2WZ1QIDr32Tees8T8hk+FZ6dt3uyysMKRsOqG26Oe0evu3D5VUozN81c+mWXWUIiqwhShhIVuOAMHPLjW29W1dvjbV1vcmU64MNx0E\/EfmTu+VbgVsN8xPiJOTrYcrZcC3Tbxb7eypyRKbGyM7AUCo9gFUe5aj99yNiU67FgJ\/qmRtLX38B+XbUlp3RoUn2q7NcR8DBJBHar8qxeaYv9wVa7PHZjwWiDIkttgFW\/gD3jd14zwFbFRi\/uLWlXqwV8r6Li\/wAEaov3KUx7stDqrexuQ0EkBauZWrnv47+A5V0akVf3rYhdyjsRoqXE7DbeMg4OOZ5Z8avUSIzBiNxY6NhpsYSK57vbk3W3ORFYG1ggngCKzeq6yKPY5buXazfp\/wCEEdLPyW+mu19ecbxkhJ2Ugd53czyqF90xLpN9iscZSmWzh6Y6onw5eWT6zqdLT5qUNXe6rdYb3Jaa3DAxg8MZxnke+rFEiR4MdMeK0lppPBKf430bzDxuYtlVR5xsvHNv2NNrtce1Q0R46R8I+JZAys8ya7KUqLdz0oxUVZClR0y\/WqECH5zaVDdsoO0oHuGar8HU5YjJh26NOuriSftHeOM9mTgDrplCTRCe0U4Ss3+9DqYB\/wAock43ezD0TVmKgkZUQB1mqA77+e1Q0pwNW6ZKb2Uq\/CUjx37vSpf9DunBcu13kydk7XHAT45+lPKKyuzmo1Z9pQhfN65DVl9gqs78ONLbdecKUkNnawM5O8buVaLfqWQ3b2I1tscmQhlAR0m8AkAb9wPHfzrkiWyBcNTtNWtrZhQ8LdcCiekOTzPEZ3eNWy73SPZ7euQ6RkDDbfDbVyFa7JKKVxYOpNyqylhSyy\/JDxtUThd2IE+3COXsYwSVDPPAzVnquaatby3F3y45VMkj4UkY2E8OHI4HhVjqc7Xsjq2bG4Xm9dOgrFaEuIKFpCkqGCDzrKlIdJXZGkGEyBItkt6A4MnCDkZI8RvxkcK6LPYnYM12dNlGVJcTshZ5D+AKmqU+OTViC2empYkv3oK4LpZYV4aCJbZJT91aDhSf47a76UqbWaKyjGStJXR8\/maVvFne9ptjq3ko4KZ+FwDqI5+fdWDmorncke65slmECRtvLQpK9xBwcbh18BnHbX0OueVAiTU7MmO26P8AOTvHzqqq37yOGWxYb7qVk+HA5rQm1sRgzbXo6xxUWlAlRxvJxUjVekaJsz+S2h1gn+zczjxzWn9FbixuiahlIT+yrJ\/e+lK1F8SylWgrYPR+9ixvNJfYcZX91xJSe4jFV3SUoRA\/Y5JKJEdxRQFYG2ns9fnXnuPUifuX\/OOG0k7++uKXpK+TpKZEm5R1upGErGQfIUyUbNNkak6jkpxg7rpp6l0qFu+pottWYzIMmYdyWkb8Htx6cajTYdUOO7K74A1+0lagrHcAPWsGdBrZc6RN4cSvkpDWyfHarFGC1Y06teStThbrY7rFbJqJb14u7gTJeGEt5GEJ+nd4767LtItEyA7Dlz46EuDG91OQeRAz3VHDQsBRy\/LluntWB9K6mtHWNrjELh61uK+hobje9whCqoYFFebv9iJ07qiJAt6oNxfwqMrZbWgFYWnPIgcvTFdbuvLaknoo8l3A47IA9azuelWh0Um0MsNPs\/gcTlLg7c7uZ4jqrSnT9zvD6FXl1LEZABEaPgDPyz476b+N5kV8VBbtcNMvv+DilajvF+YUxaIDjSM4ccQcnuzuCaWi16nt7CmosWNF2zlTjhClHzPpVxixI8JhLEZpLTaeCUit1LvEsksiy2VtqdSbv4ZFYFk1NI3Sr8Gh\/wCiD9AmidFNu49uukuTjlnHrmrPSl3kuBX4Wk+9n1bINnR1kaAzFU6RzW4r6ECupywWtcVyOiEy2HElO0hACh2541JUrMcuZRUKSVlFehQrFOuVoenQIdv9tS0+QspyCDvT2\/s+XGpH3PfL+6FXl4RYgOfZ2iMnwz5k91ZxD7t15JYO5uc3tp7Tx9QqrTVJzs7pHHQoKUXGTdk2rcCDuVyhaYt7caK0C8oYZYTzJ5nsz41psVieTIN2ux6Wc7vSlXBr\/H0qNett+iX965NwGpxJ+BxxQ3DgCBtbj\/G6tEi\/369pftsSIhKt4cLJ3hPAjJOKZRyyfViOqlO9SLy7qt+\/gkbrdZN8mKs1mV8HCRJHADmAer1qdtVrj2iEmNHG7ipR4rPWarFrb1Na4gYh2WMlP41LUNpZ6z8Yrt6HWUreZMSIDxAAP0PrSyXBNWHpVHfHKLcn4aeCuWetT8qPGTtSH22h1uLCfWq7+jV4k4VL1C8DxKWwcZ8R6VsY0PakEKfW\/IVz214B8N\/nS4YrVnRvKz0hbq\/a51SdW2WMD+th1Q\/C0kqz8+HnXArWS5Ktm2WiVK3\/AHiMegNTMayWuJgswGEkcFFAJ8TvruAAGAMAUXguAYK8tZJdF7lY29YXAjZRHt6COJwT+8fSvBpGXLObpepD4PFCCcDuyceVWmlG8fDIz4WD77b6sh4elbPCwUxA6sfieO15cPKpZCENoCG0hCUjASkYArKlI23qXhThBWirHDdbPEvEcMykq+H7q0nCk93hUOnQsDICpctSAPuFY\/KrNXPNmx7fFXJkuBDaBvPX2DtpoykskTqUaUnimjU0xAsdvX0aUsR2htKJP1PE1X7Yw9qi6i8S07EOOrZjsnftEcz9e7HKsG2Z+sJQek7ca0oVltvgXP46+XLnVtaabYaS0yhLbaBhKUjAApm8PUjFb5rK0Fp4\/gzpSlSO0UpSgBSlKAFKUoAUpSgBSlKAFKUoAUpSgBSlKAFKUoAUpSgBSlKAFKUoAgdT2l+Y0zOg7pkQ7acDesDfiuiyX+LeGANpLUkblsE788yOsVLVUNZwray0mUltSLi8sdH0SsFRHMj8t+cVSPa7LOOsnRbqx81+8Tq1Fd333xZLTlcp3c6tPBtPMZ5HrPKpWzWhizQUx2gCs73HMb1mq7B0neYielYuiGHXQC5hOTnqzzrqOlbjKyJ9+kLQcZQgnB39px5Uzw2smSg6rm6koNvhpZIl7hfrbbAoSJSOkT\/VIO0vwqFVqG73h3orHCLbQO+Q8N35DzNSUHStogkKTGDywPvP\/H5cPKtGrLkuJBbgRQTKmHo0JScEDhy7wB\/hWRw3slceq6uBym7LktfU49IvTpdwnOyJpktNYQFEnClZO8dnHxFWyuK0W1u1W1qIjeUjK1Z+8rma7aWbTldF9ng4U0pailKUhcUpSgBSlcF5kzYsAqt8UyJC1BCQPw5\/Ea1K7sLKSim2Y3e9w7Mx0kleVqHwNJ+8v8h21CxLZP1HKbuF5HRRE\/EzF4Z6sj68T3V1WjTRbke8bu4Jc5RBG1vSj8z6cqsNPdRyicypzrO9TJcvf2MUpShAQhISlIwABgAVlSlTOsUpSgBSlKAFKUoAUpSgBSlKAFKUoAUpSgBSlKAFKUoAUpSgBSlKAFKUoAUpSgBWKkIXjbSFbJyMjOD10pQBlSlKAPFHZSTgnA4Cq1YYEufc3b5dWS27nYZZWgjYA57\/AA8TSlOnZMhUgpVI34ZlmpSlIXFKUoAUpSgBSlKAFKUoAUpSgBSlKAP\/2Q==",
    "razonSocial": "SERVICIO AGRICOLA Y GANADERO ",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "SEBASTIAN ARIAS ACUÑA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "SILBERTO.CABELLO@SAG.GOB.CL",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "98701093",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:58",
    "ubicacionGPS": "LatLng(lat: -30.6954264, lng: -70.9574552)",
    "horaLlegada": "15:51",
    "horaDespacho": "16:50",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


18/05/2026 16:57:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61308000

[18/05/2026 16:57: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('61308000', 'TO2898', 2, 20988335, 3732, NOW(), 
				'16:50', '15:51', '16:58', 1, 'se instala maquina se da inducción de uso se configuración en 5 pc para imprimir y escanear 
se deja toner 
01 iton2956', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779137878.png', '', null, 'COMPLETADO','LatLng(lat: -30.6954264, lng: -70.9574552)' )
				
[18/05/2026 16:57:58] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200352

18/05/2026 16:57:58 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '61308000'
				   AND serieintmaquina = 'TO2898'
		
18/05/2026 16:57:58 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'TO2898'
				   AND estado = 1
				
18/05/2026 16:57:58 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('61308000', 'TO2898', 1, 1, now(), 'SAG', 'MONTE PATRIA ', 'oficina ');
				
18/05/2026 16:57:58 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200352'                    
				WHERE idllamado = 12640			
				TO ENVIO: SILBERTO.CABELLO@SAG.GOB.CL, tecnico@dsprint.cl


18/05/2026 16:57:59 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12640			
				
18/05/2026 16:57:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16:57:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:57:59 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

[18/05/2026 16:58:23] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

[18/05/2026 16:58:23] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 16:58:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:58:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16:58:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:58:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16:58:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:58:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
18/05/2026 16:58:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

18/05/2026 16:58:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12640
LIMIT 1;
        

[18/05/2026 16:58:23] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

18/05/2026 16: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 = 12640
                

[19/05/2026 08:26: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;
                

19/05/2026 08:26:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08: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 = 12625
                

[19/05/2026 08:26:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 08:26:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[19/05/2026 08:26:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 08:26:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08: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 = 12625
                

19/05/2026 08: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 = 12625
                

19/05/2026 08: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 = 12625
                

[19/05/2026 08: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;
                

[19/05/2026 08: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;
                

19/05/2026 08:26:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08: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 = 12625
                

19/05/2026 08:26:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08: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 = 12625
                

19/05/2026 08: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 = 12625
                

19/05/2026 08: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 = 12625
                
[19/05/2026 08:26: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;
                
[19/05/2026 08:26: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;
				
[19/05/2026 08:26:08] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[19/05/2026 08:26:08] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[19/05/2026 08:26:08] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[19/05/2026 08:26:08] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[19/05/2026 08:40:17] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[19/05/2026 08:40:17] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[19/05/2026 08:40: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;
                

[19/05/2026 08:40: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;
                

19/05/2026 08:40:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08:40:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08:40:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08:40:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

[19/05/2026 08:40: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;
                

19/05/2026 08:40:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:40:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:40:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

[19/05/2026 08:40: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;
                

19/05/2026 08:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:40:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08:40:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[19/05/2026 08:40: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;
                

19/05/2026 08:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                
[19/05/2026 08:40:36] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[19/05/2026 08:40:36] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[19/05/2026 08:41: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;
                

[19/05/2026 08:41: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;
                

19/05/2026 08:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[19/05/2026 08:41: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;
                

19/05/2026 08: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 = 12625
                

19/05/2026 08: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 = 12625
                

19/05/2026 08: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 = 12625
                

19/05/2026 08: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 = 12625
                

19/05/2026 08:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[19/05/2026 08:41: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;
                

19/05/2026 08:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[19/05/2026 08:41: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;
                

19/05/2026 08:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08: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 = 12625
                

19/05/2026 08: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 = 12625
                

19/05/2026 08: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 = 12625
                

[19/05/2026 08:41: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;
                

[19/05/2026 08:41: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;
                

19/05/2026 08: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08: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 = 12625
                

19/05/2026 08: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 = 12625
                

19/05/2026 08: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 = 12625
                

19/05/2026 08:41:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[19/05/2026 08:41: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;
                

19/05/2026 08:41:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[19/05/2026 08:41: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;
                

19/05/2026 08:41:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:41:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:41:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:41:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                
[19/05/2026 08:41:33] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[19/05/2026 08:41:33] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[19/05/2026 08:41:33] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[19/05/2026 08:41:33] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[19/05/2026 08:41: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;
                
[19/05/2026 08:41:42] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[19/05/2026 08:41:42] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[19/05/2026 08:41:49] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[19/05/2026 08:41:49] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[19/05/2026 08:41: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;
                
[19/05/2026 08:41: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;
                
[19/05/2026 08:41: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;
				

[19/05/2026 08:43:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 08:43:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08:43:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08:43:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[19/05/2026 08:43: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;
                

[19/05/2026 08:43: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;
                

19/05/2026 08:43:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:43:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:43:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:43:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:44:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[19/05/2026 08:44: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;
                

19/05/2026 08:44:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

[19/05/2026 08:44: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;
                

19/05/2026 08:44:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08:44:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:44:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:44:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                
[19/05/2026 08:44:06] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[19/05/2026 08:44: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;
				

[19/05/2026 08:44: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;
                

19/05/2026 08:44:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

[19/05/2026 08:44: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;
                

19/05/2026 08:44:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08:44:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[19/05/2026 08:44: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;
                

19/05/2026 08:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:44:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:44:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[19/05/2026 08:44: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;
                

19/05/2026 08:44:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[19/05/2026 08:44: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;
                

19/05/2026 08:44:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08:44:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:44:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:44:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:44:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[19/05/2026 08:44: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;
                

19/05/2026 08:44:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08:44:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08:44:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

[19/05/2026 08:44: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;
                

19/05/2026 08:44:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08: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 = 12625
                

19/05/2026 08: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 = 12625
                

[19/05/2026 08: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;
                

19/05/2026 08:44:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08: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 = 12625
                

[19/05/2026 08: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;
                

19/05/2026 08:44:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08: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 = 12625
                

19/05/2026 08:44:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:44:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:44:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08:44:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:44:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08:44:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[19/05/2026 08:44: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;
                

[19/05/2026 08:44: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;
                

19/05/2026 08:44:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:44:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:44:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:44:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08:44:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[19/05/2026 08:44:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 08:44:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 08:44:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:44:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:44:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:44:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                
[19/05/2026 08:44:28] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[19/05/2026 08:44:28] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[19/05/2026 08:44: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;
                

19/05/2026 08:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[19/05/2026 08:48:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 08:48:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 08:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[19/05/2026 08:48:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 08:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

[19/05/2026 08:48:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 08:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

19/05/2026 08:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:48:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[19/05/2026 08:48: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;
                

19/05/2026 08:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

19/05/2026 08:48:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[19/05/2026 08:48: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;
                

19/05/2026 08: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 = 12625
                

19/05/2026 08: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 = 12625
                
[19/05/2026 08:53: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;
				
[19/05/2026 08:53: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;
                

[19/05/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;
                
[19/05/2026 09:27:03] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[19/05/2026 09: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[19/05/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;
                
[19/05/2026 09:27:12] 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;
                
[19/05/2026 09:27: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[19/05/2026 09:27: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;
                
[19/05/2026 09:27:13] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[19/05/2026 09:27:13] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[19/05/2026 09:27: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;
                
[19/05/2026 09:27: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;
				
[19/05/2026 09:27: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;
                

[19/05/2026 09:27: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;
                
[19/05/2026 09:27: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;
                
[19/05/2026 09:27: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;
				

[19/05/2026 09:27: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;
                
[19/05/2026 09:27: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;
                
[19/05/2026 09:27: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;
				

[19/05/2026 09:27: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;
                
[19/05/2026 09:27:17] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[19/05/2026 09:27:17] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[19/05/2026 09:27: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;
                

[19/05/2026 09:27: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;
                
[19/05/2026 09:27:19] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[19/05/2026 09:27:19] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[19/05/2026 09:27: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;
                
[19/05/2026 09:27:19] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[19/05/2026 09:27:19] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[19/05/2026 09:27: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;
                
[19/05/2026 09:27:19] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[19/05/2026 09:27:19] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[19/05/2026 09:27: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;
                

[19/05/2026 09:27: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;
                

[19/05/2026 09:27: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;
                

[19/05/2026 09:27: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;
                

[19/05/2026 09:27:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[19/05/2026 09:27: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;
                
[19/05/2026 09:27: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;
				

[19/05/2026 09:28: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;
                

[19/05/2026 09:28: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;
                

19/05/2026 09:28:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

[19/05/2026 09:28: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;
                

19/05/2026 09:28:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:28:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09:28:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09:28:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:28:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:28:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

[19/05/2026 09:29:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09:29:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

[19/05/2026 09:29:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09:29:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09:29:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09:29:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

[19/05/2026 09:29:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09:29:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

[19/05/2026 09:29:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09:29:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

[19/05/2026 09:29:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09:29:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09:29:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09:29:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09:29:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

[19/05/2026 09:29:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09:29:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09:29:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:29:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12647
                

19/05/2026 09: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 = 12647
                

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12647
                

19/05/2026 09: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 = 12647
                

19/05/2026 09: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 = 12647
                

19/05/2026 09: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 = 12647
                

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12647
                

19/05/2026 09: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 = 12647
                

19/05/2026 09:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09: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 = 12647
                

19/05/2026 09: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 = 12647
                

19/05/2026 09: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 = 12647
                

19/05/2026 09: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 = 12647
                

19/05/2026 09:30:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:30:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12647
                

19/05/2026 09: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 = 12647
                

19/05/2026 09:31:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:31:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09:31:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:31:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:31:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:31:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:31:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09:31:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:31:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:31:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:32:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09:32:22 - logentry: =========================================
FECHA: 19/05/2026 09:32:22
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-+oD3GCa_i_sTshvgvfs3_IH+bk1tJ0+UQSZ+.S0Jm.3p4sr6n06
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76548103",
    "serieinterna": "KY2317",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "AV ARGENTINA 1480",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "DEPARTAMENTO",
    "rutTecnico": "19969062",
    "contador": "180462",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Retiro de maquina",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12647",
    "observacion": "Retiro de impresora\nOperativa",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB7AMsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABKEAABAwMBAgkIBgYHCQAAAAABAAIDBAURBiExEhMiQVFhkbHRFBUWUnGBocEjQlRVkpMkMnKi0vAmMzRiY8LhByU1Q1ZldLLi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMREAAgECBAIJBAIDAQAAAAAAAAECAxESITFRE0EEFCJhgZGhsdEyUnHhM8EkQmLx\/9oADAMBAAIRAxEAPwD9mREQBVd3v9HaGcGR3GVBGWQNPKd4KuuOoKqsqnW2wR8dMNj6gbWs9h3e9SrPpuGgkNXWP8rrnHLpX7Q09We\/uWiilnI5XVlUeGl58v2RaR+prpVR1EnAt9HkHiiAXOHP19y0qIqt3NqdPAs23+QiIqmgREQBEXwkAZJwAgPqqqvUtoop+ImrG8POCGgu4PtwqmtvFdfqp1useWwA4mq9oAHPg83eVa27TVst9LxPk8c7nDlvlYHFx9+4dS0wqP1HLxZ1Halpu9PAsaaphrIGz08gkifngubuODhdVl9LcKgu90tDmkNjk42PoAPiC1ahVkrOxrRqOpC71CIiqahERAEREAREQBERAFlLrXVV\/upstrn4unYP0mdoz7s9HN1nqVrqS5utlokfFk1Ev0cQbvyef3d+E03aRaLSyJwHHSHhynrO4e4Y+K0j2ViOWrepPhLTV\/HiSrXa6W00gp6VmBvc473npKmIio3fNnTGKirLQIiKCQiIgCIiALNakuM9VVx2C3O+mn2VDgM8Ww4+Ryer2q5utxitVulq5doYOS31nHcFVaVts0bZrvW58rrSXYIwWNznHv2H2ALSOSxM5azc5KlHnr+P2WtrtkFpoWUlOOSNrnHe53OSpiIqN3zOmMVFWWhmJf0f\/aJDjZ5TTbevAP8ACtOsxfvoNW2Wo9cmPbu34\/zLTq09EznoZSnHv90giLnPMymp5J5DhkTC93sAyVQ6W7Hp72RsL5HBjWjJc44AVLW6vs9GS0Tmd4+rE3Px3KspaKs1c3yuvqTFQcYeJhjGCQDjafnt3HctFRWe3W8DyWkjY4DHDxl3adq0tGOpyqpVq5wVlu\/gpfSa61WXUNhnczeHSZGR2exPOGsJP1LRSsG7LnDZ++tOijEuSJ4M3rN+i\/ozHD1m854qkjxzZG34leXX+9Wh4F4tvGQY2zwbcfLqwcLUopxrmhwJLOM3fvzINrvFHeIDLSPJ4OOG1zSC0nmP+inLnFDFA0thiZGCckMaBk9K6KjtfI3jit2tTIa0rYG11tgc7LopBLINuxuR4FaVl0t8v9XX0z\/2Zmn5qBqe0+dLTI2KMOqI+XHs2nGdnYT71TWKy2G924SGldFUR8iZrZHbHdO0netey4K\/I4m6sK8krdrPbQ2IIIyDkFfVmPQx1Ng268VdMRuBOe7CeY9Sff8A+6VTDHc24tVa034NGnRZjzHqT7\/\/AHSnozeXnl6lqAB6od\/EEwrccapypv0+TTosx6Hzu2SX2seOjJ8VoqaAU1LFAHueImBvCeck4G8qGktGaU5zk+1G3idUVfeauvo6ITW+j8qkDxwmdDefA3k+xU8mtaU26c8XJTVrWHgxStJHC5tuNu\/nwig3oVnXp03aTsc69w1FqmO3NHCpKA8Oc7MOcN47dnatYqLSVvFJafKHj6asPGv37BzDb\/O0q9UzedlyK9Hi8LnLWWfwgiIqHSZjWH0VTaKs7BDU7T0bQf8AKtOsxrn+w0X\/AJI7itOry+lHNT\/mqeHsFS6ukdFpuqLRnhcFp6gXAK6UO7UIuNrqKTnkZs9o2j4gKIu0kzWrFypyS1sz5Z4mQ2ajjYMAQM+IypqoNI3Dyi3GhmHAqKI8W5jt\/BG7s3e5X6SVpO5FGSlTTQREVTUIiIAiIgCzF4tNVbK03qzDDhk1EHM8bycc\/s7Fp0VoyszKrSVRWf8A4V1nvVJeabjad2HtA4yI72H5jrVis7ddOSNqvOdkeKetBy5ucNk6erPwK9WnVMNRJ5Fcm+R1rNjg\/ksceok7+pWcb5xMoVnF4KuT35P9mgREWZ1BERAFlNWQR3C6261sjaJZ38OSRrRwgzd7dwJ6NnZq1mLUBctY19wGDFTN4lhG7O7Ofc7t7dIZNvY5ekrElT3fpqz47Stdb5HPsl1fA07eKl2t8D2J571BbP8Aidp4+Mf82nPhn5LUImO+quT1ZR\/jbj7eTKKj1jZ6vAdO6ncfqzNx8RkK5imiqIxJDKyRh3OY4EdoUestFurwfKqOKQn63Bw7tG1U0miaNry+irKqkcfVfkePxTsPuIv0iOqUvQa6b\/uiCUEAx1LTt3bitI0hzQ4bQRkLC6itF4o7S59TdvK6Zj28l4PCzuB5+npU+lumqoaWJz7XFUxvYCxzSASCOfB+Ss43irMwjXw1pYotXS799jWIsx6R3z\/pybtd4I656rncRBZ4YxnYZHbh7yO5U4bOjrUOSb8GeL\/TyWa8Q6gpWZjPIqmAgZG7Pv7wFpqeeOqp454XB8cjQ5pHOFFpYamqtfE3eKJ0kgIkYz9XB5uxUFrnl0xdzZ6x5dRVB4VNK7c0nmPcevbzq31K3NFE+FPF\/rL0f79zWoiLI7AiIgCIiAIiIAq+62SivEQbVR8toIZI04c3+egqwRSm1misoxkrSV0ZWSm1JYeVSTec6VuPo5AS9o6MZzz82d25WNo1NRXU8S79GqRsMMh2k9APOrlVV307QXkF0zCybGBMzY739KviUvqOfhVKedN3Wz\/plqiyX9JNN\/8AdaJvt4bR3j4gKdBrK0S0jp3yviezHCic3ldGzmKhwfLMmPSYaT7L7yzu9Z5Baaqqzgxxng\/tHYPiQq7R9H5LYI5HD6SoJlcec53fAfFVepLzS3i3UlFb5xI+qna1zdoc3qI9pHYtbDEyngjhjGGRtDWjqAwpawxtuVhJVK7ks0l7nRERZnWEREBQ6op664QQW6lpy6OoeONmBH0YBB3fzuwrqCIQU8cLd0bA0e4YXRFLeVjNU0pufNhERQaBV17tEV5tz6d+BIOVE8\/Vd4dKsUUp2d0VlFTi4y0ZQ6bu76hj7ZXcmvpOS8H6wGzPXjn7edXyzmpLTMH+e7dIYqymbwnAfXaN\/wAO0bFb2mvFztkFYGhpkblzQc4POFaST7SMKMpRfCnqtHuiYiIqHSEREAREQBERAEREAVNeNM0F2Y55jEFSd0zG7c9Y51copTad0UnCM1hkro\/MIrUIdRstlbOKVzSGcbFtySOSerOQtQdPX6n2UuoZHjomB2fEqgdSy3fVVZTMa3jfKieGQOQxriCfbuX6KNgxnPWt6k2rHmdEoQliy55O7MwY9ZwbOOpKnHPgDPwC++dtVwnE1khfndxbvBxWnRZY+5Hb1drSb87+5mPSS9t2u03OR0NLs\/8AqnpZcGbZtN1kbOd3K+bQtOiYo7DhVeVR+SMwNdUTDwamiq4TnZyQe8hSGa0srwSZZW4GTmI\/JXxAIwRkFcHUNG8kvpIHZ6YwUvDYYK60mn4fsqvTOx\/aX\/lO8F5drSyNGRPI7qERVr5st\/2Gm\/Kb4L623ULDltHTtPVE0fJLw2GHpH3LyfyUbtd2oYDIap5O4BjfFePTOSX+yWWrn246O4FaZrGMzwWhuegYXpMUdhw671n6GVmrdTXWM08NrZSRStLHvlO1udnPjp5gVe2i3NtdshpGnJYMuOc8o7\/ipqKHK6si8KOGWJtthERVNgiIgCIiAIiIAiIgCIiA5sgijkfIyNrXyHLnAbTzfJdERBawREQBEXOWoggGZpo4x0vcB3oG7anRFBfe7TGcOuVLnqlafmoz9VWOPObgw49Vrj3BWwy2M3VprWS8y3RUR1lYwceVPPXxTvBeDrayg44yU9fFlTglsU6zR+5eZoEWcdrmztOB5Q7rEf8AqvJ13aAMiOqPUGDxThy2I61Q+5GlRZj0+tX2es\/A3+JPTmk+76z8I8U4c9iOt0PuNOizHpzSfd9Z+EeKenNJ931n4R4pw5bDrdH7jTosx6c0n3fWfhHirmiujK6jjqWU1QxsgOA5m3fjpUOElqXhXpzdos8XK+0FpkZHWSuY54y3DCcj3KH6Z2P7S\/8AKd4K3mpaaoIM9PFKW7uGwOx2rn5st\/2Gm\/Kb4KVhtmRJVr9lq34\/ZXM1hYnb60tOeeJ\/gu7NSWaTGLjCM+scd6kPs9sk\/Xt1KdmMmFvgo79N2aTObdCM+qMdydjvK26RvH1Onn+0feVN+YFz9JLN94w9q8HS1kJz5vZt\/vO8V79G7N93Q9idjvH+T\/z6nJ+rbGwZNcD1Njefko0muLMz9Uzyfsx+JCtGWS0xnLbbS564mn5KRHS00P8AVU8Uf7LAEvDYYekPml4P5M96bRSnFLa6uYnaBgDI92UGp7vLth03UcHpcXbf3Vp0TFHYcKs9anojMG66skxxVlhbn13f\/QT+mVQOD+iUx9bYc9\/ctOiY+5Dq75zZlzpq81e2t1BKP7sQOO8dy6xaHtTDwpn1E7ufhyY7gtGicSQXRaWrV\/zmUzNJWNgwKEHrdI8\/NSWWC0Mxi20xx60YPerBFGKW5oqNNaRXkRRa7cBgUFMAP8FvgvYoaQDApYQB\/hhd0UXZfBHY5NpoGDDYY2jqaAvQijactjaD0gL2igmyCIiEhERAEREB\/9k=",
    "razonSocial": "BLINKEND SEGURIDAD SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "LEONARDO CABALLERO GUESALAGA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "09:32",
    "ubicacionGPS": "LatLng(lat: -23.6618251, lng: -70.4000186)",
    "horaLlegada": "09:29",
    "horaDespacho": "12:26",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "1",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 19/05/2026 09:32:22
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-+oD3GCa_i_sTshvgvfs3_IH+bk1tJ0+UQSZ+.S0Jm.3p4sr6n06
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76548103",
    "serieinterna": "KY2317",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "AV ARGENTINA 1480",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "DEPARTAMENTO",
    "rutTecnico": "19969062",
    "contador": "180462",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Retiro de maquina",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12647",
    "observacion": "Retiro de impresora\nOperativa",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB7AMsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABKEAABAwMBAgkIBgYHCQAAAAABAAIDBAURBiExEhMiQVFhkbHRFBUWUnGBocEjQlRVkpMkMnKi0vAmMzRiY8LhByU1Q1ZldLLi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMREAAgECBAIJBAIDAQAAAAAAAAECAxESITFRE0EEFCJhgZGhsdEyUnHhM8EkQmLx\/9oADAMBAAIRAxEAPwD9mREQBVd3v9HaGcGR3GVBGWQNPKd4KuuOoKqsqnW2wR8dMNj6gbWs9h3e9SrPpuGgkNXWP8rrnHLpX7Q09We\/uWiilnI5XVlUeGl58v2RaR+prpVR1EnAt9HkHiiAXOHP19y0qIqt3NqdPAs23+QiIqmgREQBEXwkAZJwAgPqqqvUtoop+ImrG8POCGgu4PtwqmtvFdfqp1useWwA4mq9oAHPg83eVa27TVst9LxPk8c7nDlvlYHFx9+4dS0wqP1HLxZ1Halpu9PAsaaphrIGz08gkifngubuODhdVl9LcKgu90tDmkNjk42PoAPiC1ahVkrOxrRqOpC71CIiqahERAEREAREQBERAFlLrXVV\/upstrn4unYP0mdoz7s9HN1nqVrqS5utlokfFk1Ev0cQbvyef3d+E03aRaLSyJwHHSHhynrO4e4Y+K0j2ViOWrepPhLTV\/HiSrXa6W00gp6VmBvc473npKmIio3fNnTGKirLQIiKCQiIgCIiALNakuM9VVx2C3O+mn2VDgM8Ww4+Ryer2q5utxitVulq5doYOS31nHcFVaVts0bZrvW58rrSXYIwWNznHv2H2ALSOSxM5azc5KlHnr+P2WtrtkFpoWUlOOSNrnHe53OSpiIqN3zOmMVFWWhmJf0f\/aJDjZ5TTbevAP8ACtOsxfvoNW2Wo9cmPbu34\/zLTq09EznoZSnHv90giLnPMymp5J5DhkTC93sAyVQ6W7Hp72RsL5HBjWjJc44AVLW6vs9GS0Tmd4+rE3Px3KspaKs1c3yuvqTFQcYeJhjGCQDjafnt3HctFRWe3W8DyWkjY4DHDxl3adq0tGOpyqpVq5wVlu\/gpfSa61WXUNhnczeHSZGR2exPOGsJP1LRSsG7LnDZ++tOijEuSJ4M3rN+i\/ozHD1m854qkjxzZG34leXX+9Wh4F4tvGQY2zwbcfLqwcLUopxrmhwJLOM3fvzINrvFHeIDLSPJ4OOG1zSC0nmP+inLnFDFA0thiZGCckMaBk9K6KjtfI3jit2tTIa0rYG11tgc7LopBLINuxuR4FaVl0t8v9XX0z\/2Zmn5qBqe0+dLTI2KMOqI+XHs2nGdnYT71TWKy2G924SGldFUR8iZrZHbHdO0netey4K\/I4m6sK8krdrPbQ2IIIyDkFfVmPQx1Ng268VdMRuBOe7CeY9Sff8A+6VTDHc24tVa034NGnRZjzHqT7\/\/AHSnozeXnl6lqAB6od\/EEwrccapypv0+TTosx6Hzu2SX2seOjJ8VoqaAU1LFAHueImBvCeck4G8qGktGaU5zk+1G3idUVfeauvo6ITW+j8qkDxwmdDefA3k+xU8mtaU26c8XJTVrWHgxStJHC5tuNu\/nwig3oVnXp03aTsc69w1FqmO3NHCpKA8Oc7MOcN47dnatYqLSVvFJafKHj6asPGv37BzDb\/O0q9UzedlyK9Hi8LnLWWfwgiIqHSZjWH0VTaKs7BDU7T0bQf8AKtOsxrn+w0X\/AJI7itOry+lHNT\/mqeHsFS6ukdFpuqLRnhcFp6gXAK6UO7UIuNrqKTnkZs9o2j4gKIu0kzWrFypyS1sz5Z4mQ2ajjYMAQM+IypqoNI3Dyi3GhmHAqKI8W5jt\/BG7s3e5X6SVpO5FGSlTTQREVTUIiIAiIgCzF4tNVbK03qzDDhk1EHM8bycc\/s7Fp0VoyszKrSVRWf8A4V1nvVJeabjad2HtA4yI72H5jrVis7ddOSNqvOdkeKetBy5ucNk6erPwK9WnVMNRJ5Fcm+R1rNjg\/ksceok7+pWcb5xMoVnF4KuT35P9mgREWZ1BERAFlNWQR3C6261sjaJZ38OSRrRwgzd7dwJ6NnZq1mLUBctY19wGDFTN4lhG7O7Ofc7t7dIZNvY5ekrElT3fpqz47Stdb5HPsl1fA07eKl2t8D2J571BbP8Aidp4+Mf82nPhn5LUImO+quT1ZR\/jbj7eTKKj1jZ6vAdO6ncfqzNx8RkK5imiqIxJDKyRh3OY4EdoUestFurwfKqOKQn63Bw7tG1U0miaNry+irKqkcfVfkePxTsPuIv0iOqUvQa6b\/uiCUEAx1LTt3bitI0hzQ4bQRkLC6itF4o7S59TdvK6Zj28l4PCzuB5+npU+lumqoaWJz7XFUxvYCxzSASCOfB+Ss43irMwjXw1pYotXS799jWIsx6R3z\/pybtd4I656rncRBZ4YxnYZHbh7yO5U4bOjrUOSb8GeL\/TyWa8Q6gpWZjPIqmAgZG7Pv7wFpqeeOqp454XB8cjQ5pHOFFpYamqtfE3eKJ0kgIkYz9XB5uxUFrnl0xdzZ6x5dRVB4VNK7c0nmPcevbzq31K3NFE+FPF\/rL0f79zWoiLI7AiIgCIiAIiIAq+62SivEQbVR8toIZI04c3+egqwRSm1misoxkrSV0ZWSm1JYeVSTec6VuPo5AS9o6MZzz82d25WNo1NRXU8S79GqRsMMh2k9APOrlVV307QXkF0zCybGBMzY739KviUvqOfhVKedN3Wz\/plqiyX9JNN\/8AdaJvt4bR3j4gKdBrK0S0jp3yviezHCic3ldGzmKhwfLMmPSYaT7L7yzu9Z5Baaqqzgxxng\/tHYPiQq7R9H5LYI5HD6SoJlcec53fAfFVepLzS3i3UlFb5xI+qna1zdoc3qI9pHYtbDEyngjhjGGRtDWjqAwpawxtuVhJVK7ks0l7nRERZnWEREBQ6op664QQW6lpy6OoeONmBH0YBB3fzuwrqCIQU8cLd0bA0e4YXRFLeVjNU0pufNhERQaBV17tEV5tz6d+BIOVE8\/Vd4dKsUUp2d0VlFTi4y0ZQ6bu76hj7ZXcmvpOS8H6wGzPXjn7edXyzmpLTMH+e7dIYqymbwnAfXaN\/wAO0bFb2mvFztkFYGhpkblzQc4POFaST7SMKMpRfCnqtHuiYiIqHSEREAREQBERAEREAVNeNM0F2Y55jEFSd0zG7c9Y51copTad0UnCM1hkro\/MIrUIdRstlbOKVzSGcbFtySOSerOQtQdPX6n2UuoZHjomB2fEqgdSy3fVVZTMa3jfKieGQOQxriCfbuX6KNgxnPWt6k2rHmdEoQliy55O7MwY9ZwbOOpKnHPgDPwC++dtVwnE1khfndxbvBxWnRZY+5Hb1drSb87+5mPSS9t2u03OR0NLs\/8AqnpZcGbZtN1kbOd3K+bQtOiYo7DhVeVR+SMwNdUTDwamiq4TnZyQe8hSGa0srwSZZW4GTmI\/JXxAIwRkFcHUNG8kvpIHZ6YwUvDYYK60mn4fsqvTOx\/aX\/lO8F5drSyNGRPI7qERVr5st\/2Gm\/Kb4L623ULDltHTtPVE0fJLw2GHpH3LyfyUbtd2oYDIap5O4BjfFePTOSX+yWWrn246O4FaZrGMzwWhuegYXpMUdhw671n6GVmrdTXWM08NrZSRStLHvlO1udnPjp5gVe2i3NtdshpGnJYMuOc8o7\/ipqKHK6si8KOGWJtthERVNgiIgCIiAIiIAiIgCIiA5sgijkfIyNrXyHLnAbTzfJdERBawREQBEXOWoggGZpo4x0vcB3oG7anRFBfe7TGcOuVLnqlafmoz9VWOPObgw49Vrj3BWwy2M3VprWS8y3RUR1lYwceVPPXxTvBeDrayg44yU9fFlTglsU6zR+5eZoEWcdrmztOB5Q7rEf8AqvJ13aAMiOqPUGDxThy2I61Q+5GlRZj0+tX2es\/A3+JPTmk+76z8I8U4c9iOt0PuNOizHpzSfd9Z+EeKenNJ931n4R4pw5bDrdH7jTosx6c0n3fWfhHirmiujK6jjqWU1QxsgOA5m3fjpUOElqXhXpzdos8XK+0FpkZHWSuY54y3DCcj3KH6Z2P7S\/8AKd4K3mpaaoIM9PFKW7uGwOx2rn5st\/2Gm\/Kb4KVhtmRJVr9lq34\/ZXM1hYnb60tOeeJ\/gu7NSWaTGLjCM+scd6kPs9sk\/Xt1KdmMmFvgo79N2aTObdCM+qMdydjvK26RvH1Onn+0feVN+YFz9JLN94w9q8HS1kJz5vZt\/vO8V79G7N93Q9idjvH+T\/z6nJ+rbGwZNcD1Njefko0muLMz9Uzyfsx+JCtGWS0xnLbbS564mn5KRHS00P8AVU8Uf7LAEvDYYekPml4P5M96bRSnFLa6uYnaBgDI92UGp7vLth03UcHpcXbf3Vp0TFHYcKs9anojMG66skxxVlhbn13f\/QT+mVQOD+iUx9bYc9\/ctOiY+5Dq75zZlzpq81e2t1BKP7sQOO8dy6xaHtTDwpn1E7ufhyY7gtGicSQXRaWrV\/zmUzNJWNgwKEHrdI8\/NSWWC0Mxi20xx60YPerBFGKW5oqNNaRXkRRa7cBgUFMAP8FvgvYoaQDApYQB\/hhd0UXZfBHY5NpoGDDYY2jqaAvQijactjaD0gL2igmyCIiEhERAEREB\/9k=",
    "razonSocial": "BLINKEND SEGURIDAD SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "LEONARDO CABALLERO GUESALAGA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "09:32",
    "ubicacionGPS": "LatLng(lat: -23.6618251, lng: -70.4000186)",
    "horaLlegada": "09:29",
    "horaDespacho": "12:26",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "1",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


19/05/2026 09:32:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76548103

[19/05/2026 09:32: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('76548103', 'KY2317', 1, 19969062, 180462, NOW(), 
				'12:26', '09:29', '09:32', 2, 'Retiro de maquina', 1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779197542.png', 'Retiro de impresora
Operativa', null, 'COMPLETADO','LatLng(lat: -23.6618251, lng: -70.4000186)' )
				
[19/05/2026 09:32:22] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200353

19/05/2026 09:32:22 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '76548103' AND 
				serieinterna = 'KY2317' AND
				correlativo = 1;				
		
19/05/2026 09:32:22 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76548103'
				   AND serieintmaquina = 'KY2317'
		
19/05/2026 09:32:22 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY2317'
				   AND estado = 1
				
19/05/2026 09:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:32:22 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'KY2317'
				  AND rutcliente = '76548103';
				
19/05/2026 09:32:22 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'KY2317', 2, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
19/05/2026 09:32:22 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200353'                    
				WHERE idllamado = 12647			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


19/05/2026 09:32:22 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12647			
				
19/05/2026 09:32:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


19/05/2026 09:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12647
                

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12647
                

19/05/2026 09: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 = 12647
                

19/05/2026 09: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 = 12647
                

19/05/2026 09: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 = 12647
                

19/05/2026 09: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 = 12647
                

19/05/2026 09: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 = 12647
                

19/05/2026 09:32:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

[19/05/2026 09:32:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 09:32:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09:32:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12647
                

19/05/2026 09:32:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12647
                

19/05/2026 09:32:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12647
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12647
                

19/05/2026 09: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 = 12647
                

19/05/2026 09: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 = 12647
                

19/05/2026 09: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 = 12647
                

[19/05/2026 09:32:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09: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 = 12647
                

19/05/2026 09: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 = 12647
                

19/05/2026 09: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 = 12647
                

19/05/2026 09: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 = 12647
                
[19/05/2026 09:40:03] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[19/05/2026 09:40:03] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[19/05/2026 09:40: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;
                
[19/05/2026 09:40:26] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[19/05/2026 09:40: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;
                

[19/05/2026 09:40: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;
                

[19/05/2026 09:40: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;
                

19/05/2026 09: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 = 12645
                

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

[19/05/2026 09:40: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;
                

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12645
                

[19/05/2026 09:40: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;
                

19/05/2026 09: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 = 12645
                

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12645
                

19/05/2026 09: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 = 12645
                

19/05/2026 09: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 = 12645
                

19/05/2026 09: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 = 12645
                

19/05/2026 09: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 = 12645
                

[19/05/2026 09: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;
                

19/05/2026 09: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 = 12645
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

[19/05/2026 09: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;
                

[19/05/2026 09: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;
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12645
                

19/05/2026 09: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 = 12645
                

19/05/2026 09: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 = 12645
                

19/05/2026 09:40:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12645
                

19/05/2026 09: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 = 12645
                

19/05/2026 09: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 = 12645
                

19/05/2026 09: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 = 12645
                

[19/05/2026 09: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;
                

19/05/2026 09: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 = 12627
                

19/05/2026 09:40:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 09:40:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

[19/05/2026 09: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;
                

19/05/2026 09:40:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12627
                

19/05/2026 09:40:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12627
                

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

[19/05/2026 09:40: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;
                

19/05/2026 09: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 = 12627
                

19/05/2026 09: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 = 12627
                

19/05/2026 09: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 = 12627
                

19/05/2026 09: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 = 12627
                

19/05/2026 09: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 = 12627
                

[19/05/2026 09: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;
                

19/05/2026 09: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 = 12627
                

19/05/2026 09:40:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

[19/05/2026 09: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;
                

19/05/2026 09:40:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12627
                

[19/05/2026 09: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;
                

19/05/2026 09:40:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 09:40:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12627
                

19/05/2026 09: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 = 12627
                

19/05/2026 09: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 = 12627
                

19/05/2026 09: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 = 12627
                

19/05/2026 09: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 = 12627
                

19/05/2026 09: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 = 12627
                

[19/05/2026 09:40:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 09:40:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 09:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 09:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 09:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 09:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

[19/05/2026 09:40:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 09:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 09:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 09:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

[19/05/2026 09:40: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;
                

19/05/2026 09:40:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 09:40: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;
                

[19/05/2026 09:40: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;
                

19/05/2026 09:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 09:40:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 09:40:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 09:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 09:40:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 09:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 09:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 09:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 09:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 09:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 09:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

[19/05/2026 09:40: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;
                

19/05/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 = 12646
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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 = 12646
                

[19/05/2026 09:40: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;
                

[19/05/2026 09:40: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;
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

[19/05/2026 09:40: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;
                

[19/05/2026 09:40: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;
                

19/05/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 = 12646
                

19/05/2026 09:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 09:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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 = 12646
                

[19/05/2026 09:40: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;
                

19/05/2026 09:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 09:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:41: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;
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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 = 12624
                

[19/05/2026 09:41: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;
                

19/05/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 = 12624
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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 = 12624
                

19/05/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 = 12624
                

[19/05/2026 09:41: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;
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

[19/05/2026 09:41: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;
                

[19/05/2026 09:41: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;
                

19/05/2026 09: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 = 12624
                

19/05/2026 09:41:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:41: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;
                

19/05/2026 09:41:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12624
                

19/05/2026 09:41:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:41:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

[19/05/2026 09:41: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;
                

19/05/2026 09: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 = 12624
                

19/05/2026 09:41:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:41: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;
                

19/05/2026 09:41:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:41:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:41:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12624
                

19/05/2026 09:41:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

[19/05/2026 09:41: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;
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

[19/05/2026 09:41: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;
                

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:41:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:41:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:41: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;
                

19/05/2026 09:41:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:41:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:41: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;
                

19/05/2026 09:41:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:41:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:41:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:41:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09: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;
                

[19/05/2026 09: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;
                

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

[19/05/2026 09: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;
                

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09:42:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:42:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:42:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:42: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;
                

[19/05/2026 09:42: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;
                

19/05/2026 09:42:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:42: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;
                

19/05/2026 09:42:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:42:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:42:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:42:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

[19/05/2026 09: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;
                

19/05/2026 09:42:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12624
                

19/05/2026 09:42:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:42:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09: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;
                

19/05/2026 09:42:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12624
                

19/05/2026 09:42:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

[19/05/2026 09: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;
                

19/05/2026 09:42:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:42:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:42:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:42:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09: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;
                

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09: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;
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12624
                

[19/05/2026 09: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;
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:43: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;
                

19/05/2026 09:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:43: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;
                

19/05/2026 09:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09:43: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;
                

19/05/2026 09:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09:43: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;
                

[19/05/2026 09:43: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;
                

[19/05/2026 09:43: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;
                

19/05/2026 09:43:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:43:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:43:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:43:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:43:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:43:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:43:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:43:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:44: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;
                

19/05/2026 09: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 = 12624
                

[19/05/2026 09:44: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;
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:44: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;
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/2026 09:44:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:44: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;
                

[19/05/2026 09:44: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;
                

19/05/2026 09:44:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:44: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;
                

19/05/2026 09:44:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:44:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:44:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:44: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;
                

19/05/2026 09:44:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:44: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;
                

19/05/2026 09:44:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:44: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;
                

19/05/2026 09:44:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:44:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:44:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:44: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;
                

19/05/2026 09:44:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:44: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;
                

19/05/2026 09:44:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:44:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:44: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;
                

19/05/2026 09:44:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:44: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;
                

19/05/2026 09:44:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:44:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:44:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09:44: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;
                

19/05/2026 09:44:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:44:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:44: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;
                

19/05/2026 09:44:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

[19/05/2026 09:44: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;
                

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:44: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;
                

[19/05/2026 09:44: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;
                

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                
[19/05/2026 09:44: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;
				
[19/05/2026 09:44: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;
                

19/05/2026 09:44:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:44:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:44:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:44: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;
                

[19/05/2026 09:44: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;
                

19/05/2026 09:44:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:44:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:44:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09:44: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;
                

19/05/2026 09:44:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09:44: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;
                

[19/05/2026 09:44: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;
                

[19/05/2026 09:44: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;
                

19/05/2026 09:44:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:44:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:44:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:44:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:44:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:44: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;
                

19/05/2026 09:45:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                
[19/05/2026 09:45: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;
				
[19/05/2026 09:45:06] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[19/05/2026 09:45: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;
                

19/05/2026 09:45:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:45:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:45:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09:45: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;
                

19/05/2026 09:45:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:45: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;
                

[19/05/2026 09:45: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;
                

19/05/2026 09:45:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:45:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:45:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09:45: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;
                

[19/05/2026 09:45: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;
                

19/05/2026 09:45:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:45:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:45: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;
                

19/05/2026 09:45:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:45:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:45:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:45:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:45: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;
                

19/05/2026 09:45:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:45: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;
                

19/05/2026 09:45:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:45:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:45:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09:45: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;
                

19/05/2026 09:45:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09:45: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;
                

19/05/2026 09:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09:45: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;
                

19/05/2026 09:45:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09:45: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;
                

19/05/2026 09:45:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:45:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:45:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:45:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

[19/05/2026 09:45: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;
                

[19/05/2026 09:45: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;
                

19/05/2026 09:45:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12630
            GROUP BY l.idllamado;
            

[19/05/2026 09:45: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;
                

19/05/2026 09:46:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12630
            GROUP BY l.idllamado;
            

19/05/2026 09:46:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12630
            GROUP BY l.idllamado;
            

[19/05/2026 09:46: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;
                

19/05/2026 09:46:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 09:46:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 09:46:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12630
            GROUP BY l.idllamado;
            

19/05/2026 09:46:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 09:46:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 09:46:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 09:46:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 09:46:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12630
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12630
                

19/05/2026 09: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 = 12630
                
[19/05/2026 09:46: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;
				
[19/05/2026 09:46: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;
                

[19/05/2026 09:46: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;
                

19/05/2026 09:46:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:46:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:46:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:46: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;
                

19/05/2026 09:46:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:46:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:46:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:46: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;
                

19/05/2026 09:46:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09:46: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;
                

19/05/2026 09:46:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:46:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:46:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:46:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:46:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:46:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09:47: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;
                

[19/05/2026 09:47: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;
                

19/05/2026 09:47:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:47:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:47: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;
                

19/05/2026 09:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:47:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:47:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:47:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:47:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:47:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:47:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                
[19/05/2026 09:47:08] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[19/05/2026 09:47:08] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[19/05/2026 09:47: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;
                

19/05/2026 09:47:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:47:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:47:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:47: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;
                

[19/05/2026 09:47: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;
                

19/05/2026 09:47:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:47:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:47:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:47:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:47:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09:47: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;
                

19/05/2026 09:47:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:47:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:47:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:47:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:47:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:47:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:47: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;
                

[19/05/2026 09:47: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;
                

19/05/2026 09:47:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:47:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:47:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

[19/05/2026 09:47: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;
                

19/05/2026 09:47:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:47:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:47:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:47:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:47:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                
[19/05/2026 09:47: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;
                
[19/05/2026 09:47: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;
				

[19/05/2026 09:47:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09: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 = 12630
                

19/05/2026 09:47:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12630
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12630
                

19/05/2026 09:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 09:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 09:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12630
            GROUP BY l.idllamado;
            

19/05/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 = 12630
                

19/05/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 = 12630
                

19/05/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 = 12630
                

19/05/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 = 12630
                

19/05/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 = 12630
                

19/05/2026 09:47:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12630
            GROUP BY l.idllamado;
            

19/05/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 = 12630
                

19/05/2026 09:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 09:47:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12630
            GROUP BY l.idllamado;
            

19/05/2026 09:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 09:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 09:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                
[19/05/2026 09:48: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;
				
[19/05/2026 09:48: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;
                

[19/05/2026 09:48:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09:48:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:48:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:48:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:48:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:48: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;
                

19/05/2026 09:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09:48: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;
                

19/05/2026 09:48:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09:48: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;
                

19/05/2026 09:48:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:48:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:48:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:48:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09:48:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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 = 12624
                

19/05/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 = 12624
                

[19/05/2026 09:48:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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 = 12624
                

19/05/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 = 12624
                

[19/05/2026 09:48:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 09:48: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;
                

19/05/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 = 12624
                

19/05/2026 09:48:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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 = 12624
                

19/05/2026 09:48:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:48:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:48: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;
                

[19/05/2026 09:48: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;
                

19/05/2026 09:48:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/2026 09:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                
[19/05/2026 09:48: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;
				
[19/05/2026 09:48: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;
                

[19/05/2026 09:48: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;
                
[19/05/2026 09:50:17] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[19/05/2026 09:50:17] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[19/05/2026 09:50: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;
                
[19/05/2026 09:50:17] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[19/05/2026 09:50:17] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[19/05/2026 09:50: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;
                
[19/05/2026 09:50:18] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[19/05/2026 09:50:18] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[19/05/2026 09:50:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 09:50:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 09:50:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09: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 = 12321
                

19/05/2026 09:50:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:50:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12321
                

19/05/2026 09:50:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12321
                

19/05/2026 09: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 = 12321
                

19/05/2026 09:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[19/05/2026 09:50: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;
                

19/05/2026 09:50:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:50:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:50:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:50: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;
                

[19/05/2026 09:50: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;
                

19/05/2026 09:50:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:50:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:50:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:50:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:50:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                
[19/05/2026 09:50:49] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[19/05/2026 09:50:49] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

19/05/2026 09:50:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:50:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

[19/05/2026 09:50: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;
                

19/05/2026 09:50:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:50:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:50:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[19/05/2026 09:50:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 09:50:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09:50:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:50:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[19/05/2026 09:50:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09: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 = 12321
                

19/05/2026 09: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 = 12321
                

19/05/2026 09: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 = 12321
                

19/05/2026 09: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 = 12321
                

[19/05/2026 09:50: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;
                

19/05/2026 09:50:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:50:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:50:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:50:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:50:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:50:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[19/05/2026 09:50: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;
                

19/05/2026 09:50:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:50:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[19/05/2026 09:50: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;
                

19/05/2026 09:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:50:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

[19/05/2026 09:50:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09:50:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:50:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:50:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:50:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:50:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09:50:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:50:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:50:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:50:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:50: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;
                

19/05/2026 09:50:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:50:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:50:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:50:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:50:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:50:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:50:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09: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 = 12648
                

[19/05/2026 09:51: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;
                

[19/05/2026 09:51: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;
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:51:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09:51:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

[19/05/2026 09:51:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09:51:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:51:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09:51:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

[19/05/2026 09:51: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;
                

[19/05/2026 09:51: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;
                

19/05/2026 09:51:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:51: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;
                

19/05/2026 09:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:51: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;
                

19/05/2026 09:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:51: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;
                

19/05/2026 09:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

[19/05/2026 09:51: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;
                

19/05/2026 09:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:51: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;
                

19/05/2026 09:51:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:51: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;
                

[19/05/2026 09:51: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;
                

19/05/2026 09:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

[19/05/2026 09:51:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:51:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

[19/05/2026 09:51:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:51:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 09:51:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

[19/05/2026 09:51: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;
                

19/05/2026 09:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

[19/05/2026 09:51: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;
                

19/05/2026 09:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:51: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;
                

19/05/2026 09:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:51: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;
                

19/05/2026 09:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

[19/05/2026 09:51: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;
                

19/05/2026 09:51:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[19/05/2026 09:51: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;
                

19/05/2026 09:51:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:51:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:51:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[19/05/2026 09:51: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;
                

19/05/2026 09:51:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:51:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:51:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:51:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:51:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[19/05/2026 09: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;
                

19/05/2026 09:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[19/05/2026 09: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;
                

19/05/2026 09:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[19/05/2026 09: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;
                

19/05/2026 09:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09: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;
                

19/05/2026 09:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09: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;
                

19/05/2026 09:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09: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;
                

19/05/2026 09:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:51:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:51:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:51:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:51:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:51:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:51: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;
                

[19/05/2026 09:51: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;
                

19/05/2026 09:51:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09:51: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;
                

19/05/2026 09:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:51:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

[19/05/2026 09:51: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;
                

19/05/2026 09:51:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:51: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;
                

19/05/2026 09:51:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:51: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;
                

19/05/2026 09:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:51: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;
                

19/05/2026 09:51:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:51: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;
                

19/05/2026 09:51:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:51: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;
                

19/05/2026 09:51:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

[19/05/2026 09:51: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;
                

19/05/2026 09:51:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:51: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;
                

19/05/2026 09: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 = 12648
                

19/05/2026 09:51:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12648
                

19/05/2026 09:51:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:51:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:51: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;
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09:51:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09:51:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09:52:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:52:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:52:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:52:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:53:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:53:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:53:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:53:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:53:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09:54:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:54:50 - logentry: =========================================
FECHA: 19/05/2026 09:54:50
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-wh6PR+e-TRw8NiTOCWnbRzntLUUGaecaug7RDbdEcuM_a6B7uwp
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76689118",
    "serieinterna": "TO2246",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12648",
    "observacion": "iton 2180\nioton 2663",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACkAQgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABGEAABAwMCAgYHAwgHCQAAAAABAAIDBAURBiESMRNBUWFxgRQiMpGhscEVI9EzQkNScsLh8CRTc7LS4vEWNDVUYoKSk6L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAuEQACAgECAwgBBAMBAAAAAAAAAQIRAxIxBCFBEyIyUWFxkdGBFLHB8CMzoeH\/2gAMAwEAAhEDEQA\/AP2ZVF5u09srbfGwRmKpl6OTiBLhy5b96t1mdbkx0VFKMDhqR6xHLYq8FcqMOIk44nJdDTIiKhuEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFRaygE2m53YyYnNePeB8iVeqo1SCdN1uBn1B\/eCtDxIxzq8UvZky1TGotFHMTkvgYT44GVLVfYP+AUP9g35KwUPcvjdwT9AiIoLhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAUevphWW+opicdLG5mezIUhEIaTVMz+iqkz6eYw\/oJHR\/X95aBZfRZ6N10pdvuqnnntyP3VqFfJ4mYcK7wxv+0ERFQ6Cp1HdHWu1l8J+\/ld0cQAycnuVTLT6ks8UVc2qfXgAuqYHH2es47vDl2YX2niN\/wBXTzzNa+jtx4GAjZz\/AK7gnyC1a1vRSOJRedudtLZfjqQbTdqe8UYqKckYOHsdjLD3qcs1SFtFrqqp4geCqh6Rwzydzz29u2etaVUkqfI3wzco97dOgiIqmwREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREBmNO4j1Ne42uBDpOIjvyf8AEVp1mNM+tqC\/PJ3E4G37T\/wWnV8niObhf9f5f7sKvvteLbZqipB9cN4Wb\/nHYfirBZfV+ayptlqb+nm4n9w2GfifcogrkW4ibhibW\/2TtKW4W+xQ8TOGWf72TPPfkPdj4q6XxrQ1oa0AADAA6lFutaLda6irO5iYSBnmeQ+OEbcmXjGOLHXRIobB\/TdWXiv2IjPQtPbvjbyYtSqDRtE6msgnkz0lU8yEk5JHIfj5q\/U5PEZ8KmsSb3fP5CIiodAREQBERAEREAREQBERAEREAREQBEVXf7yyzUBkxxTyZbCzGcu7T3BSk26RWc1CLlLZFoiwM9y1VR1DHzuMAqpcMEnCWgnkMdQGVb\/Ymoq4cFwvQjidu5sDd\/DYD+e1XeOt2cseKc7UYO\/gv319FE7hkq4GO7HSAFc33e2xty+4UwH9q38VWM0VZmtw+OWV3W58pyfdhdY9I2Nh\/wBz4tsetI78VFQ8y+riH0Xy\/otKeqp6uLpaaZkrP1mOyEWXdTU1o1nRU9sb0fTxkTR5LgBv7jt2+XaUSVbF8WRztS3To1yIuVTN6PSyzf1bC73DKqat1zM7pLMlyvdQPYkqdve8\/ULTrOaIic2zSzv3fPO5xd24wPnlaNXyeJnPwq\/wx\/u4WXp2\/aGvqiZ27KGINbntxj95y07iGtLjsAMlZjRTTOy4XJw9apqDz59v7ymPJNkZu9khD1v4NOSAMk4AWSq536tujKKk4vs6mcDPJxYEm\/8AA48cqRqC4z19czT9tcOkmBFRJzDG9Y93PyHWrq12yC00LKSnHqjdzjzc7rJRdxX1IneeWheFb+vp9kpjGxsaxgw1oAA7AvSIszrCIiAIiIAiIgCIiAKLBcaWprJ6SKTM9PjpGFpGM\/NSl5EbGvdI1jQ9+OJwG5xyypId8qPSIigkIiIDy5zWML3HDWjJPYFl2Vl11NUSG3T+hUELyGzYPFKce\/v93WpWr60x2+O3Rb1Fc8RsGM7ZGfmAu9W6PT2lnNjw0ww8DN+bz1+85\/BaRVK+rOPLLVJxbqMVb+jzpO51F1s5lqXcUkcpjL9su2Bzt448lXwNF91nJU7vpbcOFhPsl47PPJ8glM+XT+hzM4ls8o4mjckF2APhv3K00xbm2+xwDhxJM0SPOMHJ3APgFZ0raM4asmjHLorf8FfqICt1JaLeBnhf0ru3Gf8AIVp1lbc4XXXFXWN4XRUUfRsdg8+XP\/yWqVZ8qRtw\/ec5+b\/bkFyqaiOkppamZ3DHE0uce4Lo5wa0ucQABkk9SyV0qTqq5R2mgkzRxHjqJ28uvl2j6nuVYxtmmbL2ceW72RI0vDJcKuqv9SDxTuMcAP5rAd8c\/DyKLRQwx08LIYWBkbBhrWjYBEk7dk4sfZwrr19zooF8kEVirnkkf0d4BHaQQPmp6o9Yz9DpucA4Mpawe8E\/AFIq5IZpaccn6M96Sj6PTNICMFwc4+bj9MK5US1QejWmkgxgshaD443+KlpJ22ycUdOOK8kiJdZugtFZLz4IHkDtOCstQ3UWTRtN0YL6mre8RsBwRuRxfAe9WerbvRwWipo+nY6plaGiMHJG4zns27VD0rY6h3o9zuLieij4aWI\/mt7fice9aRSULZxZZSln0496+LZa6csgs9GTMQ+rmPFK\/n5Z\/ndXCIsm23bO6EIwiox2CIiguEREAREQBERAEREAREQBERAEREBmKgCq1\/Txy7tp4ONmCeeP4rje3G\/6kprLGSaenPSVBHx+Bx4uVfqCqrWambUU8MlCc+jiof7L+\/sAwfqtTZbFT2aJ\/A8zTynMkzhu7uW77qT9DzIJ5ZSxra7ft5FZrgYs9NAz1GuqGjbYYwdse73Kw1Jc\/sq0u6HPpE33UIaN8nrHgPooGuW4tdNKeUdQ0nHgVxtccmpL6bzOOGkpHcNPGWn1sZwfr447FCS0pvoWnJrNOEd3Xxzt\/gtdM2r7Js8cb24nl+8l7QT1eQ296kXW80Vnh6Sqk9YjLI27ud4D6rzfq6W3WaoqoB94wANJbkAk4yqrT9gpJ6eG61spr6mYB4dIctb5HmR39irv3pGzbhWHEudfBwjp7rqt4krM0VrzkRD25B1f6+5aSht9LbYBDSQiNnXjcnxPWpKKspN8uhrjwqD1Pm\/MIiKpsFmNZkVBtlvzvUVI2\/8An95adY6uuVHLrWOWoqGMprfG4Ek83jmB1k5I2GeR71pjXOzl4trs9L6tI2KzV4vdZUXP7FsvCajB6WY8o+0Z6sdvlzUd1xu+p3mG2NdRUIOHVLshzu7+A96vLRZKOzQ8FO3L3DD5Xe05KUN9yrnLPyx8o+f19mZvenqS0adfK8metkc0GZ56+Zx5A9619Czo7fTR7nhiaNxjqCq9YRuk05UFo3YWu54wM7\/NWlvkM1uppC4OL4mklpyM4STbimxixxx5moquS\/kkIi5zTR08L5pnhkbBlznHYBZnZsUV31L9l32nonCMU7mh0shzluSezyK0AIIyDkFZGz2+HUklwuFeDI2V5jhIOOFo5YHUQMdXzXSGsrtJyejV7ZKq2k4hnaMmMbbH8O7ZauC2W5wY88lc5+F7enuatFV02pLPVBvBXxNLvzZDwHw3XeW82yFhfJX04AGdpAT7gs9L8jrWXG1akjvUVdPSNa6omZEHHDeI4ye5dli7hO7WVfDSW9jo6anJc+pe3cEjbAzy2HvUv7W1FaA1ldbfTIW4Bmi5kY3O2evtAyr9ny9TnXFK267vmalcYKumqi8U9RHLwEB3A8Ox7lnKq5Xe+Q+h0FDLRNkOHzS5GG43HLb64K4VFkr9NTtuFmJniDAKiE9eBucfHtHgih5vmTLiXdxjcVu\/o2CKDa7vSXaASU8nrAetGdnN\/ntXesq4qGlkqJXANYCQCfaPYFSndHSpxcdSfI7osXMb1eqCS8vn9Dp4WPdDDHnLm75Jzsdus9h2GVobRc2VFhp62qnjZlmHve8AZG25232VpQpGOPiFOVVXVeqLNFQ1esLZTyCKnMlZK7YNgbkZ8fwyvts1N6bcGUNTQy0csrS6MSZ9YDy7ne5NEquif1GLVpUuZeoiKhuVmoLV9r2mSnbgSj1oyf1h1efJUtLrJlHQinr6ed1dFlhaB7ZGwJJ3\/wBFrV54GcfHwjixjixurqSqmjnnik5a4On8mLuMF+v9DLU1TBSUkUbpGwYw5xAOM5+Zx4LQaYqmVWnqVzAAWN6NwGNiNurt5+atSARgjIKzdvttdYr70NJGZrZVkkj+pOOv5d\/iratUaMljeHIp83fJ\/wAGjkjZLG6ORocxwwWkbELJyQ3PSMr5aVpqrSXcTmE5dF\/Pby7Vrl8c0OaWuAIIwQetUjKjfLi1806a2ZGoLjSXOnE9JM2Rp5gHdp7COpSlm63Sxp5XVtjnfSVA9bogfUeezu5nu8FYafurrtbRLKA2eM8ErR2jrx1KXFVaK48ktWjIqf8AxloiIqHQZ2\/XO9w17aK10Zdxs4hLw5GfE7DkRgrhaNFU8B6e5uFVOTksyeAHv\/WWpRX1tKkcz4eMp65u\/LyR5YxkbAyNoY1owGtGAF6RFQ6TjVU7aqllp3bCRhbnGcZ61U6WqJjRS2+pZwzUL+jd6wIIycch5K8WfudkrY7kLrZpWx1BGJYnHDZR1+Z25q8aapnPlUoyWSKut\/YvyQBknACy10nk1NcRZ6GcCkj9eplaMg4I2B6\/D8F7dbtQ3lzY7pNHSUufvIoT7fdseXVz6ld2210lppugpI+FucucTkuPaSpVR59Sktefu1Uet7s709PFSU7KeBgZHGMNaF7c1r2lr2hzTzBGQV6RZnVSSoq6jTdnqs9JQRgnrZlmPcuUWkrJEciiD\/23uP1Vyitql5mbwYm7cV8HiOKOGMRxRtjY0YDWjAHkvaIqmoREQFHXaXp56j0mhnfb58Oy+DIyTjc4I+C4QaRDpmSXO5VFwEZJayQnh88k\/RaNFfXLzMHw2Ju6\/vtseDFGYeh4G9GW8PBjbHLGFn26LoTUufLNM+AE9FThxDYweYznPb2LRooUmti88UJ1qV0RKO1UFvA9EpIoiBjiDfWI8eZVDYnS3nUlZeHE+jwfcwDmD\/Iyf+5Wep6w0Wn6qRji172iNpH\/AFHHyyvWnKIUFipYsHicwSPz2u3\/AIeSsnUW\/MwlFPLGC2XP6LRERZnWEREARFwq6ymoYTNVTshYOtxxnw7UIbSVs7qFcbtQ2qLjq52sOMtYN3O8AqGXUF1vUhhsFK5kXJ1TKMY8OofE9yl23SkEMvpdylNfVncmQ5aPAHn5+5aaUvEc3byycsS\/L2\/9IRut+1CeC1U\/oVKdvSJOZHcfw96vrNaYbPQimiJcSeJ7j1k\/RTgABgDAC+qHK1S2L48Ol6pO3\/dgiIqG4REQBERAEREAREQBERAEREAREQBERAEREAREQHCroqavh6GqhbLHkO4XdoXYAAYAwAvjnNY0ue4NaOZJwAq+o1DaKXaW4Q57GO4z8MqUm9ikpQhzbSLJFmZNaQSvdHbaCprHj9VuB8Mns6l56bV1x\/JwQW+Nx2c7dwHnnt7ByVuzfXkY\/qoPwXL2RpyQBknACp6\/VdpoMtNQJ349mD1vjyUAaPmq3NfdrvUVJxuxpwB4E528grigsVtt3C6mpWB7eUjhl3vU1BdbI1Z57JR9+f8AxFL9palvQabdRMoIHfpZjknv3HLwC7UukI3yNqLvVzV846nPPAO7fc\/zstIijW+nIlcNFu8j1P12+DxFFHDG2OKNsbGjDWtGAPJe0RUOkIiIAiIgCIiAIiIAiIgCIiAIuMtXTQflqiKPfHrvAUKXUdmh9q4wHfHqO4vkpSb2KSyQjuyzRZ+XWtmYPUfNMd9mRH64Uc6puNYcWyxzvB5SSghv4dvWrdnLyMnxWJbO\/bn+xqF5c5rGlz3BrRzJOAFmfRtX15++qoKBh5tjwT5Yz819boqOd3HcrnVVT+44Hxyp0pbsjtskvBB\/nkW9RfrTTEiW4QAjmGv4iPIKum1vZovYfNN+xHj+9hSoNLWSD2aBjj2yEu+ZU+Gho6Y5gpIIv2Iw35KO4hXEPql8v6KAauqag\/0GxVc47TkePIFPtbVUv5GyRM\/tHf5gtOial0Q7HI\/Fkf4pGY6XWc23QUcGevIOPiV8+zNWVW1Rd4YGZ\/RDf4AfNahE1+iH6ZPeTf5MyNFQzHiuFyq6p3aXY+ee9WFPpey0xy2gjee2Ql\/wOytkRzk+paPDYo81E8RxRwsDIo2saOTWjAXtEVDcIiIAiIgCIiAIiIAiIgCIiAIiIAq2\/wAHpFolZ0skWC05jdg8wiK0fEjLP\/ql7Gd\/2XpP+brP\/YPwUqHQ9tniEj6msLnc\/Xb\/AIURdLbPGjCLfNEiHQ9mj9sTy\/tyY+QCmw6ZssPsW+I\/t5f8yURYTlK9z0sGHHpvSvgmw0FFT\/kaSCL9iMD5KQiLM60ktgiIhIREQBERAEREAREQBERAEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "SOC. POR ACCIONES EDUCACION BRAC SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "JORGE CAMARILLO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56968558211",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "09:55",
    "ubicacionGPS": "LatLng(lat: -23.6815138, lng: -70.4063809)",
    "horaLlegada": "09:49",
    "horaDespacho": "09:32",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 19/05/2026 09:54:50
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-wh6PR+e-TRw8NiTOCWnbRzntLUUGaecaug7RDbdEcuM_a6B7uwp
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76689118",
    "serieinterna": "TO2246",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12648",
    "observacion": "iton 2180\nioton 2663",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACkAQgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABGEAABAwMCAgYHAwgHCQAAAAABAAIDBAURBiESMRNBUWFxgRQiMpGhscEVI9EzQkNScsLh8CRTc7LS4vEWNDVUYoKSk6L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAuEQACAgECAwgBBAMBAAAAAAAAAQIRAxIxBCFBEyIyUWFxkdGBFLHB8CMzoeH\/2gAMAwEAAhEDEQA\/AP2ZVF5u09srbfGwRmKpl6OTiBLhy5b96t1mdbkx0VFKMDhqR6xHLYq8FcqMOIk44nJdDTIiKhuEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFRaygE2m53YyYnNePeB8iVeqo1SCdN1uBn1B\/eCtDxIxzq8UvZky1TGotFHMTkvgYT44GVLVfYP+AUP9g35KwUPcvjdwT9AiIoLhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAUevphWW+opicdLG5mezIUhEIaTVMz+iqkz6eYw\/oJHR\/X95aBZfRZ6N10pdvuqnnntyP3VqFfJ4mYcK7wxv+0ERFQ6Cp1HdHWu1l8J+\/ld0cQAycnuVTLT6ks8UVc2qfXgAuqYHH2es47vDl2YX2niN\/wBXTzzNa+jtx4GAjZz\/AK7gnyC1a1vRSOJRedudtLZfjqQbTdqe8UYqKckYOHsdjLD3qcs1SFtFrqqp4geCqh6Rwzydzz29u2etaVUkqfI3wzco97dOgiIqmwREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREBmNO4j1Ne42uBDpOIjvyf8AEVp1mNM+tqC\/PJ3E4G37T\/wWnV8niObhf9f5f7sKvvteLbZqipB9cN4Wb\/nHYfirBZfV+ayptlqb+nm4n9w2GfifcogrkW4ibhibW\/2TtKW4W+xQ8TOGWf72TPPfkPdj4q6XxrQ1oa0AADAA6lFutaLda6irO5iYSBnmeQ+OEbcmXjGOLHXRIobB\/TdWXiv2IjPQtPbvjbyYtSqDRtE6msgnkz0lU8yEk5JHIfj5q\/U5PEZ8KmsSb3fP5CIiodAREQBERAEREAREQBERAEREAREQBEVXf7yyzUBkxxTyZbCzGcu7T3BSk26RWc1CLlLZFoiwM9y1VR1DHzuMAqpcMEnCWgnkMdQGVb\/Ymoq4cFwvQjidu5sDd\/DYD+e1XeOt2cseKc7UYO\/gv319FE7hkq4GO7HSAFc33e2xty+4UwH9q38VWM0VZmtw+OWV3W58pyfdhdY9I2Nh\/wBz4tsetI78VFQ8y+riH0Xy\/otKeqp6uLpaaZkrP1mOyEWXdTU1o1nRU9sb0fTxkTR5LgBv7jt2+XaUSVbF8WRztS3To1yIuVTN6PSyzf1bC73DKqat1zM7pLMlyvdQPYkqdve8\/ULTrOaIic2zSzv3fPO5xd24wPnlaNXyeJnPwq\/wx\/u4WXp2\/aGvqiZ27KGINbntxj95y07iGtLjsAMlZjRTTOy4XJw9apqDz59v7ymPJNkZu9khD1v4NOSAMk4AWSq536tujKKk4vs6mcDPJxYEm\/8AA48cqRqC4z19czT9tcOkmBFRJzDG9Y93PyHWrq12yC00LKSnHqjdzjzc7rJRdxX1IneeWheFb+vp9kpjGxsaxgw1oAA7AvSIszrCIiAIiIAiIgCIiAKLBcaWprJ6SKTM9PjpGFpGM\/NSl5EbGvdI1jQ9+OJwG5xyypId8qPSIigkIiIDy5zWML3HDWjJPYFl2Vl11NUSG3T+hUELyGzYPFKce\/v93WpWr60x2+O3Rb1Fc8RsGM7ZGfmAu9W6PT2lnNjw0ww8DN+bz1+85\/BaRVK+rOPLLVJxbqMVb+jzpO51F1s5lqXcUkcpjL9su2Bzt448lXwNF91nJU7vpbcOFhPsl47PPJ8glM+XT+hzM4ls8o4mjckF2APhv3K00xbm2+xwDhxJM0SPOMHJ3APgFZ0raM4asmjHLorf8FfqICt1JaLeBnhf0ru3Gf8AIVp1lbc4XXXFXWN4XRUUfRsdg8+XP\/yWqVZ8qRtw\/ec5+b\/bkFyqaiOkppamZ3DHE0uce4Lo5wa0ucQABkk9SyV0qTqq5R2mgkzRxHjqJ28uvl2j6nuVYxtmmbL2ceW72RI0vDJcKuqv9SDxTuMcAP5rAd8c\/DyKLRQwx08LIYWBkbBhrWjYBEk7dk4sfZwrr19zooF8kEVirnkkf0d4BHaQQPmp6o9Yz9DpucA4Mpawe8E\/AFIq5IZpaccn6M96Sj6PTNICMFwc4+bj9MK5US1QejWmkgxgshaD443+KlpJ22ycUdOOK8kiJdZugtFZLz4IHkDtOCstQ3UWTRtN0YL6mre8RsBwRuRxfAe9WerbvRwWipo+nY6plaGiMHJG4zns27VD0rY6h3o9zuLieij4aWI\/mt7fice9aRSULZxZZSln0496+LZa6csgs9GTMQ+rmPFK\/n5Z\/ndXCIsm23bO6EIwiox2CIiguEREAREQBERAEREAREQBERAEREBmKgCq1\/Txy7tp4ONmCeeP4rje3G\/6kprLGSaenPSVBHx+Bx4uVfqCqrWambUU8MlCc+jiof7L+\/sAwfqtTZbFT2aJ\/A8zTynMkzhu7uW77qT9DzIJ5ZSxra7ft5FZrgYs9NAz1GuqGjbYYwdse73Kw1Jc\/sq0u6HPpE33UIaN8nrHgPooGuW4tdNKeUdQ0nHgVxtccmpL6bzOOGkpHcNPGWn1sZwfr447FCS0pvoWnJrNOEd3Xxzt\/gtdM2r7Js8cb24nl+8l7QT1eQ296kXW80Vnh6Sqk9YjLI27ud4D6rzfq6W3WaoqoB94wANJbkAk4yqrT9gpJ6eG61spr6mYB4dIctb5HmR39irv3pGzbhWHEudfBwjp7rqt4krM0VrzkRD25B1f6+5aSht9LbYBDSQiNnXjcnxPWpKKspN8uhrjwqD1Pm\/MIiKpsFmNZkVBtlvzvUVI2\/8An95adY6uuVHLrWOWoqGMprfG4Ek83jmB1k5I2GeR71pjXOzl4trs9L6tI2KzV4vdZUXP7FsvCajB6WY8o+0Z6sdvlzUd1xu+p3mG2NdRUIOHVLshzu7+A96vLRZKOzQ8FO3L3DD5Xe05KUN9yrnLPyx8o+f19mZvenqS0adfK8metkc0GZ56+Zx5A9619Czo7fTR7nhiaNxjqCq9YRuk05UFo3YWu54wM7\/NWlvkM1uppC4OL4mklpyM4STbimxixxx5moquS\/kkIi5zTR08L5pnhkbBlznHYBZnZsUV31L9l32nonCMU7mh0shzluSezyK0AIIyDkFZGz2+HUklwuFeDI2V5jhIOOFo5YHUQMdXzXSGsrtJyejV7ZKq2k4hnaMmMbbH8O7ZauC2W5wY88lc5+F7enuatFV02pLPVBvBXxNLvzZDwHw3XeW82yFhfJX04AGdpAT7gs9L8jrWXG1akjvUVdPSNa6omZEHHDeI4ye5dli7hO7WVfDSW9jo6anJc+pe3cEjbAzy2HvUv7W1FaA1ldbfTIW4Bmi5kY3O2evtAyr9ny9TnXFK267vmalcYKumqi8U9RHLwEB3A8Ox7lnKq5Xe+Q+h0FDLRNkOHzS5GG43HLb64K4VFkr9NTtuFmJniDAKiE9eBucfHtHgih5vmTLiXdxjcVu\/o2CKDa7vSXaASU8nrAetGdnN\/ntXesq4qGlkqJXANYCQCfaPYFSndHSpxcdSfI7osXMb1eqCS8vn9Dp4WPdDDHnLm75Jzsdus9h2GVobRc2VFhp62qnjZlmHve8AZG25232VpQpGOPiFOVVXVeqLNFQ1esLZTyCKnMlZK7YNgbkZ8fwyvts1N6bcGUNTQy0csrS6MSZ9YDy7ne5NEquif1GLVpUuZeoiKhuVmoLV9r2mSnbgSj1oyf1h1efJUtLrJlHQinr6ed1dFlhaB7ZGwJJ3\/wBFrV54GcfHwjixjixurqSqmjnnik5a4On8mLuMF+v9DLU1TBSUkUbpGwYw5xAOM5+Zx4LQaYqmVWnqVzAAWN6NwGNiNurt5+atSARgjIKzdvttdYr70NJGZrZVkkj+pOOv5d\/iratUaMljeHIp83fJ\/wAGjkjZLG6ORocxwwWkbELJyQ3PSMr5aVpqrSXcTmE5dF\/Pby7Vrl8c0OaWuAIIwQetUjKjfLi1806a2ZGoLjSXOnE9JM2Rp5gHdp7COpSlm63Sxp5XVtjnfSVA9bogfUeezu5nu8FYafurrtbRLKA2eM8ErR2jrx1KXFVaK48ktWjIqf8AxloiIqHQZ2\/XO9w17aK10Zdxs4hLw5GfE7DkRgrhaNFU8B6e5uFVOTksyeAHv\/WWpRX1tKkcz4eMp65u\/LyR5YxkbAyNoY1owGtGAF6RFQ6TjVU7aqllp3bCRhbnGcZ61U6WqJjRS2+pZwzUL+jd6wIIycch5K8WfudkrY7kLrZpWx1BGJYnHDZR1+Z25q8aapnPlUoyWSKut\/YvyQBknACy10nk1NcRZ6GcCkj9eplaMg4I2B6\/D8F7dbtQ3lzY7pNHSUufvIoT7fdseXVz6ld2210lppugpI+FucucTkuPaSpVR59Sktefu1Uet7s709PFSU7KeBgZHGMNaF7c1r2lr2hzTzBGQV6RZnVSSoq6jTdnqs9JQRgnrZlmPcuUWkrJEciiD\/23uP1Vyitql5mbwYm7cV8HiOKOGMRxRtjY0YDWjAHkvaIqmoREQFHXaXp56j0mhnfb58Oy+DIyTjc4I+C4QaRDpmSXO5VFwEZJayQnh88k\/RaNFfXLzMHw2Ju6\/vtseDFGYeh4G9GW8PBjbHLGFn26LoTUufLNM+AE9FThxDYweYznPb2LRooUmti88UJ1qV0RKO1UFvA9EpIoiBjiDfWI8eZVDYnS3nUlZeHE+jwfcwDmD\/Iyf+5Wep6w0Wn6qRji172iNpH\/AFHHyyvWnKIUFipYsHicwSPz2u3\/AIeSsnUW\/MwlFPLGC2XP6LRERZnWEREARFwq6ymoYTNVTshYOtxxnw7UIbSVs7qFcbtQ2qLjq52sOMtYN3O8AqGXUF1vUhhsFK5kXJ1TKMY8OofE9yl23SkEMvpdylNfVncmQ5aPAHn5+5aaUvEc3byycsS\/L2\/9IRut+1CeC1U\/oVKdvSJOZHcfw96vrNaYbPQimiJcSeJ7j1k\/RTgABgDAC+qHK1S2L48Ol6pO3\/dgiIqG4REQBERAEREAREQBERAEREAREQBERAEREAREQHCroqavh6GqhbLHkO4XdoXYAAYAwAvjnNY0ue4NaOZJwAq+o1DaKXaW4Q57GO4z8MqUm9ikpQhzbSLJFmZNaQSvdHbaCprHj9VuB8Mns6l56bV1x\/JwQW+Nx2c7dwHnnt7ByVuzfXkY\/qoPwXL2RpyQBknACp6\/VdpoMtNQJ349mD1vjyUAaPmq3NfdrvUVJxuxpwB4E528grigsVtt3C6mpWB7eUjhl3vU1BdbI1Z57JR9+f8AxFL9palvQabdRMoIHfpZjknv3HLwC7UukI3yNqLvVzV846nPPAO7fc\/zstIijW+nIlcNFu8j1P12+DxFFHDG2OKNsbGjDWtGAPJe0RUOkIiIAiIgCIiAIiIAiIgCIiAIuMtXTQflqiKPfHrvAUKXUdmh9q4wHfHqO4vkpSb2KSyQjuyzRZ+XWtmYPUfNMd9mRH64Uc6puNYcWyxzvB5SSghv4dvWrdnLyMnxWJbO\/bn+xqF5c5rGlz3BrRzJOAFmfRtX15++qoKBh5tjwT5Yz819boqOd3HcrnVVT+44Hxyp0pbsjtskvBB\/nkW9RfrTTEiW4QAjmGv4iPIKum1vZovYfNN+xHj+9hSoNLWSD2aBjj2yEu+ZU+Gho6Y5gpIIv2Iw35KO4hXEPql8v6KAauqag\/0GxVc47TkePIFPtbVUv5GyRM\/tHf5gtOial0Q7HI\/Fkf4pGY6XWc23QUcGevIOPiV8+zNWVW1Rd4YGZ\/RDf4AfNahE1+iH6ZPeTf5MyNFQzHiuFyq6p3aXY+ee9WFPpey0xy2gjee2Ql\/wOytkRzk+paPDYo81E8RxRwsDIo2saOTWjAXtEVDcIiIAiIgCIiAIiIAiIgCIiAIiIAq2\/wAHpFolZ0skWC05jdg8wiK0fEjLP\/ql7Gd\/2XpP+brP\/YPwUqHQ9tniEj6msLnc\/Xb\/AIURdLbPGjCLfNEiHQ9mj9sTy\/tyY+QCmw6ZssPsW+I\/t5f8yURYTlK9z0sGHHpvSvgmw0FFT\/kaSCL9iMD5KQiLM60ktgiIhIREQBERAEREAREQBERAEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "SOC. POR ACCIONES EDUCACION BRAC SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "JORGE CAMARILLO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56968558211",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "09:55",
    "ubicacionGPS": "LatLng(lat: -23.6815138, lng: -70.4063809)",
    "horaLlegada": "09:49",
    "horaDespacho": "09:32",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


19/05/2026 09:54:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76689118

[19/05/2026 09:54: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('76689118', 'TO2246', 1, 19969062, 0, NOW(), 
				'09:32', '09:49', '09:55', 10, 'entrega insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779198890.png', 'iton 2180
ioton 2663', null, 'COMPLETADO','LatLng(lat: -23.6815138, lng: -70.4063809)' )
				
[19/05/2026 09:54:50] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200354

19/05/2026 09:54:50 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200354'                    
				WHERE idllamado = 12648			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


19/05/2026 09:54:50 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12648			
				
19/05/2026 09:54:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


19/05/2026 09:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

[19/05/2026 09:54: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;
                

19/05/2026 09:54:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:54:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:54: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;
                

[19/05/2026 09:54: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;
                

19/05/2026 09:54:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

[19/05/2026 09:54: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;
                

19/05/2026 09:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:54:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:54:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:54:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12648
            GROUP BY l.idllamado;
            

19/05/2026 09:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09: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 = 12648
                

19/05/2026 09:56:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12321
                

19/05/2026 09:56:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:56:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[19/05/2026 09:56: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;
                

19/05/2026 09: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 = 12321
                

19/05/2026 09:56:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[19/05/2026 09:56: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;
                

19/05/2026 09:56:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12321
                

19/05/2026 09: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 = 12321
                

19/05/2026 09:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[19/05/2026 09:56:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 09:56:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 09:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[19/05/2026 09:56: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;
                

19/05/2026 09:56:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:56:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:56:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:56:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:56:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:56:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09:56: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;
                

[19/05/2026 09:56: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;
                

19/05/2026 09:56:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:56:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:56:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:57:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:57:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:57:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09:57: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;
                

19/05/2026 09:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:57:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:57:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[19/05/2026 09:57: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;
                

19/05/2026 09:57:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:57:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[19/05/2026 09:57: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;
                

19/05/2026 09:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[19/05/2026 09:57: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;
                

19/05/2026 09:57:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 09:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 09:57: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;
                

[19/05/2026 09:57: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;
                

[19/05/2026 09:57: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;
                

19/05/2026 09:57:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 09:57: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;
                

19/05/2026 09:57:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:57:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09:57:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

[19/05/2026 09:57: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;
                

19/05/2026 09: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 = 12624
                

19/05/2026 09:57:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09:57:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09: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 = 12624
                

19/05/2026 09:57:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:57:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[19/05/2026 09:57: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;
                

19/05/2026 09: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 = 12321
                

19/05/2026 09:57:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[19/05/2026 09:57: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;
                

19/05/2026 09: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 = 12321
                

19/05/2026 09: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 = 12321
                

19/05/2026 09:57:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12321
                

19/05/2026 09:57:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12321
                

[19/05/2026 09:57: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;
                

19/05/2026 09:57:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[19/05/2026 09:57: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;
                

19/05/2026 09: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 = 12321
                

19/05/2026 09:57:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12321
                

19/05/2026 09: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 = 12321
                

19/05/2026 09: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 = 12321
                

19/05/2026 09: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 = 12321
                

19/05/2026 09: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 = 12321
                

19/05/2026 09: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 = 12321
                

19/05/2026 09:57:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[19/05/2026 09:57: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;
                

[19/05/2026 09:57: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;
                

[19/05/2026 09:57: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;
                

19/05/2026 09:57:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:57:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[19/05/2026 09:57: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;
                

19/05/2026 09:57:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:57:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:57:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:57:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:57:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:57:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:57:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 09:57:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:57:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:57:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:57:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:57:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:57:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:57:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:57:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 09:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12572
                

[19/05/2026 09: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;
                

19/05/2026 09:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 09:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12572
                

19/05/2026 09:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12572
                

19/05/2026 09: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 = 12572
                

19/05/2026 09:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12572
                

[19/05/2026 09: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;
                

19/05/2026 09:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 09:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 09: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;
                

[19/05/2026 09: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;
                

19/05/2026 09: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 = 12572
                

19/05/2026 09: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 = 12572
                

19/05/2026 09: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 = 12572
                

19/05/2026 09: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 = 12572
                

19/05/2026 09: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 = 12572
                

19/05/2026 09: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 = 12572
                

19/05/2026 09: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 = 12572
                

19/05/2026 09:58:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 09:58: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;
                

[19/05/2026 09:58: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;
                

19/05/2026 09:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 09:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 09:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

[19/05/2026 09:58: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;
                

19/05/2026 09:58:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 09:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 09: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 = 12572
                

19/05/2026 09: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 = 12572
                

19/05/2026 09:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 09:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 09:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 09:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 09:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 09:58: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;
                

19/05/2026 09: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 = 12572
                

19/05/2026 09: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 = 12572
                

19/05/2026 09: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 = 12572
                

19/05/2026 09: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 = 12572
                

19/05/2026 09: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 = 12572
                

19/05/2026 09: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 = 12572
                

[19/05/2026 09:58: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;
                

[19/05/2026 09:58: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;
                

19/05/2026 09:58:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 09:58: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;
                

19/05/2026 09: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 = 12572
                

19/05/2026 09: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 = 12572
                

19/05/2026 09: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 = 12572
                

19/05/2026 09: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 = 12572
                

19/05/2026 09:58:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 09:58:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12572
                

[19/05/2026 09:58: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;
                

19/05/2026 09:58:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 09:58:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12572
                

19/05/2026 09:58:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 09: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 = 12572
                

19/05/2026 09: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 = 12572
                

19/05/2026 09: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 = 12572
                

19/05/2026 09:58:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 09:58:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 09:58:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                
[19/05/2026 09:58:38] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[19/05/2026 09:58:38] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[19/05/2026 09:58:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[19/05/2026 09:59: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;
                
[19/05/2026 09:59: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;
				

[19/05/2026 09:59: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;
                

19/05/2026 10:09:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[19/05/2026 10:09: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;
                

19/05/2026 10:09:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[19/05/2026 10:09: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;
                

19/05/2026 10:09:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[19/05/2026 10:09: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;
                

19/05/2026 10:09:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 10:09:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 10:09:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 10:09:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 10:09:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 10:09:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 10:09:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 10:09:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[19/05/2026 10:09: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;
                

19/05/2026 10:09:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 10:09:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 10:09:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 10:09:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 10:09:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 10:09:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 10:09:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 10:09:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 10:09:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 10:09:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[19/05/2026 10:09: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;
                

19/05/2026 10:09:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[19/05/2026 10:09: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;
                

[19/05/2026 10:09: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;
                

19/05/2026 10:09:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 10:09:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 10:09:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 10:09:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 10:09:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 10:09:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 10:09:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[19/05/2026 10:09: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;
                

19/05/2026 10:09:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 10:09:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 10:09:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 10:09:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 10:09:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 10:09:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 10:09:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 10:09:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 10: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;
                

19/05/2026 10:09:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 10:09:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 10:09:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 10:09:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 10:09:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 10: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;
                

19/05/2026 10:09:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 10:09:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 10: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;
                

19/05/2026 10:09:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 10:09:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 10:09:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 10: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;
                

19/05/2026 10:09:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 10:09:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 10:09:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 10:09:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 10:09:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 10:09:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 10:09:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/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 = 12624
                

[19/05/2026 10:09: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;
                

[19/05/2026 10:09: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;
                

19/05/2026 10:09:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 10:09:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 10:09: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;
                

19/05/2026 10:09:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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 = 12624
                

[19/05/2026 10:09: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;
                

19/05/2026 10:09:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/2026 10:09:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 10:09:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 10:09:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 10:09:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 10:09:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 10:09:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 10:09:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 10:09:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 10:09:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 10:09:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 10:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12630
            GROUP BY l.idllamado;
            

19/05/2026 10: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 = 12630
                

19/05/2026 10: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 = 12630
                

19/05/2026 10: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 = 12630
                

19/05/2026 10:10:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12630
            GROUP BY l.idllamado;
            

19/05/2026 10: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 = 12630
                

19/05/2026 10:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 10:10:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 10:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 10:10:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12630
            GROUP BY l.idllamado;
            

19/05/2026 10:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 10:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 10:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 10:11:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 10:11:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12630
            GROUP BY l.idllamado;
            

19/05/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 = 12630
                

19/05/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 = 12630
                

19/05/2026 10:11:12 - logentry: =========================================
FECHA: 19/05/2026 10:11:12
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-wseeYFUgJ.HBPUu5VRVHy5mq5CfRWH9_i6icUJb+JmVevH5Lj_0
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2557",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "20153",
    "contadorColor": "196062",
    "contadorScanner": "0",
    "detalle": "entrega tinta\nconfiguracion\npruebas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12630",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADYAOMDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABIEAABAwMCAgYHBQQFDAMAAAABAAIDBAURBiESMRNBUWGBkRQicaGxwdEHFSMyQlLC4fAzNDZDdBYkNWJyc4KSorLS8SU3U\/\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADQRAAIBAgMFBQYGAwAAAAAAAAABAgMREiExBCJBUWETMnGhsYGRwdHh8BQjJDNCUmJy8f\/aAAwDAQACEQMRAD8A\/ZkREAU7dL\/UyXH7pszBJVg\/iSOblrN9\/wCJ+a9mo7qbVa3Pi3qJj0cLQM+sevwHyXDTNn+67cHSjNVUYfM48wf2fD45VkUksTM1SUpz7KDtzf3xPCLPqeMcbL4x7wNmuGxPku2i1HUU9a233ynFLM4erONo3\/z2\/BUS8dztdJdqU09Wzibza4bOae0FMSfeRx0JQzpt35N3TPWCCMg5BX1SVBW1Gl7iy03GTpKKX+rzn9Pd7M+XsVaoyjYtpVVUXJrVBERRLQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIs6\/XAWyzVFSM8fDwsx+0dh9fBdSu7EZyUYuT4GLThl91pLUZL6e2tDWdhfnn55PgFVrG0rbhb7HDlpEs46WTI335DywtlSm87LgU7PFqGKWrzYREUDQeK7Wunu9C6lnGM7seObHdRWTpe4zsfNZLgcVVJswk\/nZ88beBCo1OapoXxOhvlLn0iiILwP1sz\/E+BKsi77rMtaLg+1jw16r6FGi6KOrirqOKqhOWStDh3dy71WaU01dBERDoREQBERAEREAREQBERAEREAREQBERAEREAUtqbhud7ttlBy1z+llAPVv5HAd5+dSpaw8N01PcbsDxRxnoYiDsRyyPAZ8fKyGV3yMu0b2Gnzfks2VAAAwBgBfURVmoIiIAuL2NkjdG9oc1wIcD1hckQEvpeWS33GtsM2cQuMkJP7Of4g+aqFLanzbL1bb01pLWu6GXfG2+PcXeQVQCCMg5BVk87S5mXZ93FT\/r6PQ+oiKs1BERAEREAREQBERAEREAREQBERAEREAREQHgvlWaKyVdQDhzYyGnvOw95Xk0lSCk07T7YdNmV22M55e7C82uJnNssdOzd1RO1vCDzG5+IC3qWEU1JDAMYiY1gx3DCs0h4mVb20PovU7URFWagiIgCIiAydT0grNP1TOHLmM6RvcW7\/DI8Vz05WGusFJMfzBnA7vLds+OMrScA5padwRgqZ0cTSy3O1uOfRqjLT2g5H7o81Ys4PoZpbteL5q3uz+ZToiKs0hERAEREAREQBERAEREAREQBERAEREAREQEvqU+k6hstGSOHpekcD17j6FVCmJ\/84+0OnHMU1MSR4O\/8gqdTnokZqGc5y6+iCIigaQiIgCIiAKYtn+ba7ucA2bNEJPafVPzKp1MVWI\/tDo8f3tKc49j\/opw4roZtoycH1XnkU6IigaQiIgCIiAIiIAiIgCIiAIvhIAyTgBScuqLlMKivoKWJ1upnhrny5BdvvjzB5bKUYuWhVVrRp94rUXTSVLKykiqY88ErA8Z7wu5RLE01dBERDoREQExbfxdfXOXmGQhg68fk+hVOpix\/wBsLz4fFU6nPUzbN3W+r9QiIoGkIiIAiIgCmK7\/AOxLb\/hj8JFTqYqvxftEo8f3VMc+T\/qpw4+Bm2nSP+y9SnREUDSEREAREQBERAEREARTGozJcL7Q2PpXsgnYXzBhwXDJI59nAljq6m23uWw1krpW4L6aR+5I5\/D4FTwZXM34hdphtle1+p3auqpTTQWumI6eufwYxn1dufYN+fd5euptkFHpeooYgAxlM4cWPzEN\/Me\/KzWOFw1+8O9dlDB6oPIO29+XHyVDW\/1Go\/3TvgpPKyIQSqOc34exfUy9IS9Lpqm5ZYXN2\/2ittT2if7Os\/3r1QqM+8y3ZnejHwQREUC8IiICYsf9sLz4fFU6l6A+j6\/uEWRiaEOGO3DT9VUKc9TNs3da6v1CIigaQiIgCIiAKYpD6T9oFY8flp6cNyOs+rt7z5KnUvpTM93vVYdw+fhae7LvlhTjo2Zq2c4R639yKhERQNIREQBERAEReC63intDIX1DJXNmfwAxtBwe\/JXUm8kRlJRV5aHvREXCRMSYk+0OLi36Kl9Xu2P1Kav4qGa3XiIHjp5uF3DtxNO+CfAjxSXMf2iQ5\/vaY4z7D9Fo6ogFRpysaTjhZxg\/7Jz8lde0onn4cVKpbW7fuszOsjs6xu+Tkua1w9m31C3bm\/o7VVvzjhgec9nqlR9nqTR3631b\/VhuFKIi4jALm+r55a0\/8Sp9SS9Dp2udnGYi3z2+aTW8jtCf5Mnyv55nl0Yzh01AcY43PPt9Yj5LdWXpqLodO0TcYzHxeZz81qKuecmaaCtSiuiCIiiXBERATFeDT6+t8wb6s0JaSe3Dh9FTqY1kDTPttzaP6tUAHB6uf7qpgQRkHIKnLNJmajlUnHrf3o+oiKBpCIiAIiIDwXyt+7rNU1IOHNZhm\/6jsPeV49I0fomnoMjDpyZT48vcAvHq6Q1lRQWWN2HVMoe\/B5N5D5+SpWMbGxrGDDWgADsCseULczLHfrt8Iq3tZyRF1ekwekGm6ZnTAZ4M749irNLaR2oiIdCLNrb5S0FzpqCdrw+oxwv24Rkkb75593WtJdaaIqUZNpPQLC1jTCo05M7HrQubI3zwfcSt1eW5U5q7ZVU7fzSxOaPaRsuxdmmRrRx05R5o4WarNdZ6Wpc7ie+IcR7XDY+8Fe1TWharprI6AneCUgDPUd\/iSqVJq0miNCeOlGXQltTuFBfbTc3bRteY5Hdgz9CVuXr\/AEHX\/wCGk\/7SurUFuN0s09OwAyY4o8\/tDl9PFZVDdfvHSFdFMSKqmppI5Wu2ds04J\/nmCprNJ8ihvBUnF\/yV17szot9mZedD0kQPDPH0joX9juN23sKzble62ttLLLWQvjrjO2N7nDZ4HX7c47R1ql0i4N0tSOcQAA8knq9dyxm0DdYXmprJHPjoYR0UTmYy4j\/3nlywpp7zvojNODdKGDWSStzVvgWEELaenjhb+WNgaPYBhdilGnUOmxh7TdaJv6gTxtG3tPV3he+i1faavDZJjTSdbZhgA+3kqnB6rM2x2iHdluvkzcRcI5Y5mB8UjXtPJzTkLmoGkIiIDK1LSem2Crj\/AFNZ0jfa3f5YTTVYK2wUsmcuYzo3DsLdvhg+K1CARgjIKmNNn7svlysztmcXTQgDYA\/wLfJWLOLRlnuVoy4PL4oqERFWagiIgC+EgDJOAF9WBqq5SwU0duowX1lYeFrWkghvWfl5rsVd2K6lRU4OTPJYP\/mdR1t6dH+FF+DTn3Z9uP8AuVUvHabey12yGjZgljfWcP1OPM+a9i7N3eRGhBwhvavN+LCgbvDVyavuU1HM6KWmiZN6pwXANZke\/O\/Ytqy3qqq9SXGgncDHE9\/R4by4XYxn2fNcKQAfaHcA79dKMAjnsz6KyCcG\/Ay15Rrwjb+1vU2bPco7tbIqtgwXDD25zwuHML3KWszPuLUtVaXHEFUOlp88uvbyyP8AhCqVXNWeRqoTc4b2qyZJ68gPodJWMOHQyFoI79\/3VQWmubcrXT1YIJkYOPHU7rHnldGo6X0ywVkW2RGXjPa31vkp3QFceKpoHOOMCVgzy6j8lZbFT8DM5dntVuEl5otURFSbyN0afR75daLfmTv\/AKriP3lZL86o60UGuZ5nu4YnVcsbz1AOcRv4\/BfoqtqrO5h2GSdNx5NhSuqbG1kFRdqKToJQw9M0bCRpGD4qqU1rKaSamprVT4M1ZKBw56h292ceSjTviyLdqUXSeJeHjwMu1UGoLhZKehY6Kmt7w7L9i57Sc956z2Kvt1BDbKGKkgHqxjc43cesld1PC2mpooGfliYGN9gGF2JKbkdo0FTSertYLw1lmttwJNVRxSOP6sYd5jde5FFNrQulFSVpK5Ly6Tlt7zU2Ktkglx\/Rvdlrtj59XPIWlp27yXagc6eMMnhd0cgB2J7e5aFXVRUVJLUzO4Y4mlxKw9F08rLTLUzY4qqYyDGOWB88qd3KLbMqgqdZRho73RRIiKs2BTGqI3265UV+iDiISI5mt627\/UjyVOuispIq6jlpZhlkrS093epRdmVVqfaQaWvDxOyKWOeFk0Tw+N4DmuHIhc1N6QnkhjqrPUOzNRSHh35tPZ4\/ELvu3+UNNXelW0x1NOW4NM5oHDjrznJPPl5Fdcd6xCNe9NTs+tjdRTH+V1TAOCrslUyUcw3cfBcX6hvdwb0dss0kRdt00vIeYAz4ld7ORz8VS4Xb8GbV2u9LZ6QzVDwXY9SMHd57P4rJ05bKiepffLm0+kzH8Frj\/RtPd1bHHs9q52zS5FSLheJvTKzOQCcsb2bdfwVEjairI5GE6klOorJaL4sIiKs1H5\/aX8P2hSjbDqmcb\/8AEtmX8D7RIMbdPTHPfs7\/AMVhQMMX2gkbjNW4+eT81u3z8DV9mqCdnkxgY78fvBaZa+w8allTfSZ2azppBQwXKB3DNRSBwIHUSPnhb1NUR1dLFUxZ4JWB7c88EZXC4Uja+3z0j8YlYW5Izg9R8DusXRVS99mdSS7SUkrmFp5gHffxz5KrWHgb+5X6SXmvoULgHNLTuCMFfmNE51ivPpAa5wo6l0Up7WnI+Ad7l+nqKulvZPq+poXP4BcaYFpPIOGCPez3qVJ6plO2wbwyjqn9+ZaNIc0OG4IyF9WDpO4SVFudRVILaqiPRva7njq+ngt5VSVnY2U5qpBSXEh6K0x3iq1HTO2kFTxRO7HB0mPBa+nL6JoPu+4yCGupzwFsh4S8Dl7T\/wC106U9e732Vu7H1Pqu7fWf9QtW52C3XZ3HUw\/iYx0jNnYVsmr2ZioU5KCqU9c\/bmz11dZT0FM+oqZRHGwbk\/AdpU3ZIpL7fZL\/ADsLYIxwUzHdWNs9nafae5eiDQ1nhk43monH7Mjxj3AKhjjZFG2ONjWMaMNa0YAHcFG6isi\/BUqSTqKyXDXM5IiKs1BcXOaxhe9wa1oySTgALqrKynoKZ1TVSCONnMn4DtUs\/wBP1lNwsLqS0sdzP5pcH+e4d6lGN83oUVayhupXk+B9rJ5dX17aKjDmW6nfmaY7cZ7vl5qsiijghZDEwMjYA1rRyAXXR0dPQUzaaljEcbOQHxPau9JSvktBSpON5Szk9fkERFEvCIiAldRQy2a6w6hpQXDIjqWftDGPgMe0BU1PPHVU8c8Lg+ORoc0jrCVEEdVTyQTND45GlrgesKa07PJZrjLp+tf18dK4nZwPV3Z547cqzvR6oyfs1f8AGXk\/qVKIirNYREQBERAQtVH0f2kM7HSsd\/0BamtmPZR0VbG3ifT1AI8f4gLzXiERa8t0uwEoac45kZH0WxqmmdVadq2MBLmtDwAM8iCfcr75xZ5ih+XWXVv4mqx4kY17eTgCFNUp+6tc1FPyhuMfSNH+uMn4h3mFrWCpbV2Kjlb\/APkGkd7dj8Fkaxj9Ffb7uwevTThrgObhz+R81CK3nE0VpXpxqrhZ+zj5FQpjUf4OpbFO38z5TGfZxNH7xVM0hzQ4bgjIUzqn\/Tmn\/wDE\/vMSn3iW1ftX6r1R8v8AT1FousWoKJnGwDgqo27Zb2\/zyIC2JLtTOsklzgk4ohEXtIG+ezHbnZe5zWvYWPaHNcMEEZBCn5dG0T5ncFTURUzyHPpmu9Qkfz3lE00sRGUKlNt080\/J8zlouldBYxO8HpKmQyEk5JHIfD3qgXGONkUbY42hrGANa0DYAcguSjJ3dy+lDs4KPIIuEs0UDDJNIyNg5ue4ALDrdaWilPDHI+pdnBETdh4nA8soot6CdWFPvOxvrMvF9pLPDmU9JM78kLD6zvoFgN1TeL0XU9otwY4jBkLuLg78nAHivPS6Svxq\/TJKuGKYnJe93G7PkRlWKml3mZJ7VKatRi31se+ks1dqCoZcL44sgBJipBkYHf2fEqldLTUcYa+SKBjRgAkNAU6dJ3CoGKvUFTIOXCAcY\/5l2R6GtTSHSyVMzs78TwM+QXJYXqxTVWHdhm+Lf\/TSm1FZ6c4kuMGc49R3F8Mru9LNba3VNrkjkc9hMLng8JPf4ryw6XskOOGgjcQMeuS74lacUUcMbY4o2xsaMNa0YA8FB4eBpgqrvjtbpc4UnpHokXpfB0\/COk4Py57kXciiWpWVgiIh0LG1JZfvWjEkB4Kyn9eF42J7s\/zutlF1Np3RCcIzi4y0MjTt6F3oT0vq1UJ4ZWHY9x8fjla6l75QVNorTfrWAeuqiJ2cNt\/r5rctlzprtRtqaZ+WnZzTzYewqUl\/JaFNGo79nPvLzXP5nsREUDSEREBF60qHUl7ttS3nEOMeDsqxc1k0Ra4BzHtwQesFResYJLhf4KSLJc2ldIABnccRx48I81RaarRXWClk24mM6Nw7C3b37HxV01uJmChL9RUjz+Gpl6WlNsuFZYqg4eyQyQ7fmGPpg+a92sADpirJ6iwj\/naurUtomnMV1t5La6k3GP1tHV8fbkheK63uC86PrC31KiPoxLEebTxt3HaEW9JSRGT7OnOjLk7dV9ChtDi+zULjzNPGf+kLE1Dio1RY6Zu745DKcdmQf3Cte1Sxw6eopZXhjGUsZc5xwAOELHsgfeNR1N6LXtp429FTlzccQ\/n4rkcm2WVHihCnxdvcsyoRFgXrUnolQ23W2IVVe88PCNwz29p+HWq1FydkaalSNON5GrX3OjtsXSVlQyIdQJ3d7BzKnzfrxeXcNioTHCDg1M4GPDO3xK8zrdb7c412pq0VdY4AiEHix3Y6\/cF3en3vUUZitcAt9CfV6Z5w4jux8vNXKKX3kYp1pydm7dFr7eRm3Onp6WQi83Ke51ufUpYXnhaT1E9WewYK9Vu0lPcCJ7iwUVPnLaSEYPiTn35PsVBaNO0NoaHsb0tR+qd49bw7FqrjqcEdp7Gm8VRez5vj6HTS0lPRQNgpomxRt5NaF3IipN6SSsgiIh0IiIAiIgCIiAIiID4QCMEZBUjcrbVaarXXe0N4qV39Yp+oD6fD2KvXwgEYIyCpRlhKatJVFya0fI8lsulLdqRtRTPyD+Zp\/Mw9hC9imLhYay21ZuWnyGOIxJTH8rh3D5eS99k1FS3cdEQYatg9eF22\/XjtXXHK8dCFOs08FTJ+T8PkbCIuEsrIYnyyODWMaXOceoDmVA0k1S4rdf1b8BzKan4MkdeAMe93kuu1l2n9UT2yQkUtaeOAnlxdny8Au7RsMkrK65zsxJVzZBPPHPy39y0dQWYXih4Y3BlTEeKGTsO23jhXNpSwvQ86EJSpqrHvXb+nuNVRmtbZR9LTywRkV1VKGBrTs7vI7ckBeuPUN2tzBTXK0zzStPCyaL8snt6gf5wudppa+7Xdt6ulP6OyFnDTQHqz1kH2\/DsSKcHiZKtONePZpZvpocI9GyvY2CsvNTPTNAAgGQBjljJI7uSoqWkgoqdlPTRCOJgw1oXcircm9TVTo06ecUT2rL3VWunZDSRnpJh\/S8J9QdxxjPj4clg2G3X2WF5o420bZv6SrlB6R47B149g8VelrXEEtBI5ZHJclJTtGyRTPZnUqY5SduRg2\/SNvpJOnqS+tqDuXzbjPbj65W6AAMAYAX1FByb1L4U4U1aKsERFwsCIiAIiIAiIgCIiAIiIAiIgCIiALGvOmqO7uEwcaapb+WaMcz3jrRF1Np3RCcIzWGSujPZXaks7TFVUBucYceGSInjI78A\/BdNXU33UYZQstklup3OHTvlzuPEA425Du5IitTVsVszE4PH2WJ2++NrlRRUcNBRxUsDeGOMYA+J813oipN6SSsgiIh0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "ALEJANDRO ROJO CORTES",
    "correoContacto": "escuelacaracoles@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56998495389",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28710\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28710\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28710\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28710\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "10:11",
    "ubicacionGPS": "LatLng(lat: -22.8914444, lng: -69.3202954)",
    "horaLlegada": "09:41",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 19/05/2026 10:11:12
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-wseeYFUgJ.HBPUu5VRVHy5mq5CfRWH9_i6icUJb+JmVevH5Lj_0
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2557",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "20153",
    "contadorColor": "196062",
    "contadorScanner": "0",
    "detalle": "entrega tinta\nconfiguracion\npruebas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12630",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADYAOMDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABIEAABAwMCAgYHBQQFDAMAAAABAAIDBAURBiESMRNBUWGBkRQicaGxwdEHFSMyQlLC4fAzNDZDdBYkNWJyc4KSorLS8SU3U\/\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADQRAAIBAgMFBQYGAwAAAAAAAAABAgMREiExBCJBUWETMnGhsYGRwdHh8BQjJDNCUmJy8f\/aAAwDAQACEQMRAD8A\/ZkREAU7dL\/UyXH7pszBJVg\/iSOblrN9\/wCJ+a9mo7qbVa3Pi3qJj0cLQM+sevwHyXDTNn+67cHSjNVUYfM48wf2fD45VkUksTM1SUpz7KDtzf3xPCLPqeMcbL4x7wNmuGxPku2i1HUU9a233ynFLM4erONo3\/z2\/BUS8dztdJdqU09Wzibza4bOae0FMSfeRx0JQzpt35N3TPWCCMg5BX1SVBW1Gl7iy03GTpKKX+rzn9Pd7M+XsVaoyjYtpVVUXJrVBERRLQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIs6\/XAWyzVFSM8fDwsx+0dh9fBdSu7EZyUYuT4GLThl91pLUZL6e2tDWdhfnn55PgFVrG0rbhb7HDlpEs46WTI335DywtlSm87LgU7PFqGKWrzYREUDQeK7Wunu9C6lnGM7seObHdRWTpe4zsfNZLgcVVJswk\/nZ88beBCo1OapoXxOhvlLn0iiILwP1sz\/E+BKsi77rMtaLg+1jw16r6FGi6KOrirqOKqhOWStDh3dy71WaU01dBERDoREQBERAEREAREQBERAEREAREQBERAEREAUtqbhud7ttlBy1z+llAPVv5HAd5+dSpaw8N01PcbsDxRxnoYiDsRyyPAZ8fKyGV3yMu0b2Gnzfks2VAAAwBgBfURVmoIiIAuL2NkjdG9oc1wIcD1hckQEvpeWS33GtsM2cQuMkJP7Of4g+aqFLanzbL1bb01pLWu6GXfG2+PcXeQVQCCMg5BVk87S5mXZ93FT\/r6PQ+oiKs1BERAEREAREQBERAEREAREQBERAEREAREQHgvlWaKyVdQDhzYyGnvOw95Xk0lSCk07T7YdNmV22M55e7C82uJnNssdOzd1RO1vCDzG5+IC3qWEU1JDAMYiY1gx3DCs0h4mVb20PovU7URFWagiIgCIiAydT0grNP1TOHLmM6RvcW7\/DI8Vz05WGusFJMfzBnA7vLds+OMrScA5padwRgqZ0cTSy3O1uOfRqjLT2g5H7o81Ys4PoZpbteL5q3uz+ZToiKs0hERAEREAREQBERAEREAREQBERAEREAREQEvqU+k6hstGSOHpekcD17j6FVCmJ\/84+0OnHMU1MSR4O\/8gqdTnokZqGc5y6+iCIigaQiIgCIiAKYtn+ba7ucA2bNEJPafVPzKp1MVWI\/tDo8f3tKc49j\/opw4roZtoycH1XnkU6IigaQiIgCIiAIiIAiIgCIiAIvhIAyTgBScuqLlMKivoKWJ1upnhrny5BdvvjzB5bKUYuWhVVrRp94rUXTSVLKykiqY88ErA8Z7wu5RLE01dBERDoREQExbfxdfXOXmGQhg68fk+hVOpix\/wBsLz4fFU6nPUzbN3W+r9QiIoGkIiIAiIgCmK7\/AOxLb\/hj8JFTqYqvxftEo8f3VMc+T\/qpw4+Bm2nSP+y9SnREUDSEREAREQBERAEREARTGozJcL7Q2PpXsgnYXzBhwXDJI59nAljq6m23uWw1krpW4L6aR+5I5\/D4FTwZXM34hdphtle1+p3auqpTTQWumI6eufwYxn1dufYN+fd5euptkFHpeooYgAxlM4cWPzEN\/Me\/KzWOFw1+8O9dlDB6oPIO29+XHyVDW\/1Go\/3TvgpPKyIQSqOc34exfUy9IS9Lpqm5ZYXN2\/2ittT2if7Os\/3r1QqM+8y3ZnejHwQREUC8IiICYsf9sLz4fFU6l6A+j6\/uEWRiaEOGO3DT9VUKc9TNs3da6v1CIigaQiIgCIiAKYpD6T9oFY8flp6cNyOs+rt7z5KnUvpTM93vVYdw+fhae7LvlhTjo2Zq2c4R639yKhERQNIREQBERAEReC63intDIX1DJXNmfwAxtBwe\/JXUm8kRlJRV5aHvREXCRMSYk+0OLi36Kl9Xu2P1Kav4qGa3XiIHjp5uF3DtxNO+CfAjxSXMf2iQ5\/vaY4z7D9Fo6ogFRpysaTjhZxg\/7Jz8lde0onn4cVKpbW7fuszOsjs6xu+Tkua1w9m31C3bm\/o7VVvzjhgec9nqlR9nqTR3631b\/VhuFKIi4jALm+r55a0\/8Sp9SS9Dp2udnGYi3z2+aTW8jtCf5Mnyv55nl0Yzh01AcY43PPt9Yj5LdWXpqLodO0TcYzHxeZz81qKuecmaaCtSiuiCIiiXBERATFeDT6+t8wb6s0JaSe3Dh9FTqY1kDTPttzaP6tUAHB6uf7qpgQRkHIKnLNJmajlUnHrf3o+oiKBpCIiAIiIDwXyt+7rNU1IOHNZhm\/6jsPeV49I0fomnoMjDpyZT48vcAvHq6Q1lRQWWN2HVMoe\/B5N5D5+SpWMbGxrGDDWgADsCseULczLHfrt8Iq3tZyRF1ekwekGm6ZnTAZ4M749irNLaR2oiIdCLNrb5S0FzpqCdrw+oxwv24Rkkb75593WtJdaaIqUZNpPQLC1jTCo05M7HrQubI3zwfcSt1eW5U5q7ZVU7fzSxOaPaRsuxdmmRrRx05R5o4WarNdZ6Wpc7ie+IcR7XDY+8Fe1TWharprI6AneCUgDPUd\/iSqVJq0miNCeOlGXQltTuFBfbTc3bRteY5Hdgz9CVuXr\/AEHX\/wCGk\/7SurUFuN0s09OwAyY4o8\/tDl9PFZVDdfvHSFdFMSKqmppI5Wu2ds04J\/nmCprNJ8ihvBUnF\/yV17szot9mZedD0kQPDPH0joX9juN23sKzble62ttLLLWQvjrjO2N7nDZ4HX7c47R1ql0i4N0tSOcQAA8knq9dyxm0DdYXmprJHPjoYR0UTmYy4j\/3nlywpp7zvojNODdKGDWSStzVvgWEELaenjhb+WNgaPYBhdilGnUOmxh7TdaJv6gTxtG3tPV3he+i1faavDZJjTSdbZhgA+3kqnB6rM2x2iHdluvkzcRcI5Y5mB8UjXtPJzTkLmoGkIiIDK1LSem2Crj\/AFNZ0jfa3f5YTTVYK2wUsmcuYzo3DsLdvhg+K1CARgjIKmNNn7svlysztmcXTQgDYA\/wLfJWLOLRlnuVoy4PL4oqERFWagiIgC+EgDJOAF9WBqq5SwU0duowX1lYeFrWkghvWfl5rsVd2K6lRU4OTPJYP\/mdR1t6dH+FF+DTn3Z9uP8AuVUvHabey12yGjZgljfWcP1OPM+a9i7N3eRGhBwhvavN+LCgbvDVyavuU1HM6KWmiZN6pwXANZke\/O\/Ytqy3qqq9SXGgncDHE9\/R4by4XYxn2fNcKQAfaHcA79dKMAjnsz6KyCcG\/Ay15Rrwjb+1vU2bPco7tbIqtgwXDD25zwuHML3KWszPuLUtVaXHEFUOlp88uvbyyP8AhCqVXNWeRqoTc4b2qyZJ68gPodJWMOHQyFoI79\/3VQWmubcrXT1YIJkYOPHU7rHnldGo6X0ywVkW2RGXjPa31vkp3QFceKpoHOOMCVgzy6j8lZbFT8DM5dntVuEl5otURFSbyN0afR75daLfmTv\/AKriP3lZL86o60UGuZ5nu4YnVcsbz1AOcRv4\/BfoqtqrO5h2GSdNx5NhSuqbG1kFRdqKToJQw9M0bCRpGD4qqU1rKaSamprVT4M1ZKBw56h292ceSjTviyLdqUXSeJeHjwMu1UGoLhZKehY6Kmt7w7L9i57Sc956z2Kvt1BDbKGKkgHqxjc43cesld1PC2mpooGfliYGN9gGF2JKbkdo0FTSertYLw1lmttwJNVRxSOP6sYd5jde5FFNrQulFSVpK5Ly6Tlt7zU2Ktkglx\/Rvdlrtj59XPIWlp27yXagc6eMMnhd0cgB2J7e5aFXVRUVJLUzO4Y4mlxKw9F08rLTLUzY4qqYyDGOWB88qd3KLbMqgqdZRho73RRIiKs2BTGqI3265UV+iDiISI5mt627\/UjyVOuispIq6jlpZhlkrS093epRdmVVqfaQaWvDxOyKWOeFk0Tw+N4DmuHIhc1N6QnkhjqrPUOzNRSHh35tPZ4\/ELvu3+UNNXelW0x1NOW4NM5oHDjrznJPPl5Fdcd6xCNe9NTs+tjdRTH+V1TAOCrslUyUcw3cfBcX6hvdwb0dss0kRdt00vIeYAz4ld7ORz8VS4Xb8GbV2u9LZ6QzVDwXY9SMHd57P4rJ05bKiepffLm0+kzH8Frj\/RtPd1bHHs9q52zS5FSLheJvTKzOQCcsb2bdfwVEjairI5GE6klOorJaL4sIiKs1H5\/aX8P2hSjbDqmcb\/8AEtmX8D7RIMbdPTHPfs7\/AMVhQMMX2gkbjNW4+eT81u3z8DV9mqCdnkxgY78fvBaZa+w8allTfSZ2azppBQwXKB3DNRSBwIHUSPnhb1NUR1dLFUxZ4JWB7c88EZXC4Uja+3z0j8YlYW5Izg9R8DusXRVS99mdSS7SUkrmFp5gHffxz5KrWHgb+5X6SXmvoULgHNLTuCMFfmNE51ivPpAa5wo6l0Up7WnI+Ad7l+nqKulvZPq+poXP4BcaYFpPIOGCPez3qVJ6plO2wbwyjqn9+ZaNIc0OG4IyF9WDpO4SVFudRVILaqiPRva7njq+ngt5VSVnY2U5qpBSXEh6K0x3iq1HTO2kFTxRO7HB0mPBa+nL6JoPu+4yCGupzwFsh4S8Dl7T\/wC106U9e732Vu7H1Pqu7fWf9QtW52C3XZ3HUw\/iYx0jNnYVsmr2ZioU5KCqU9c\/bmz11dZT0FM+oqZRHGwbk\/AdpU3ZIpL7fZL\/ADsLYIxwUzHdWNs9nafae5eiDQ1nhk43monH7Mjxj3AKhjjZFG2ONjWMaMNa0YAHcFG6isi\/BUqSTqKyXDXM5IiKs1BcXOaxhe9wa1oySTgALqrKynoKZ1TVSCONnMn4DtUs\/wBP1lNwsLqS0sdzP5pcH+e4d6lGN83oUVayhupXk+B9rJ5dX17aKjDmW6nfmaY7cZ7vl5qsiijghZDEwMjYA1rRyAXXR0dPQUzaaljEcbOQHxPau9JSvktBSpON5Szk9fkERFEvCIiAldRQy2a6w6hpQXDIjqWftDGPgMe0BU1PPHVU8c8Lg+ORoc0jrCVEEdVTyQTND45GlrgesKa07PJZrjLp+tf18dK4nZwPV3Z547cqzvR6oyfs1f8AGXk\/qVKIirNYREQBERAQtVH0f2kM7HSsd\/0BamtmPZR0VbG3ifT1AI8f4gLzXiERa8t0uwEoac45kZH0WxqmmdVadq2MBLmtDwAM8iCfcr75xZ5ih+XWXVv4mqx4kY17eTgCFNUp+6tc1FPyhuMfSNH+uMn4h3mFrWCpbV2Kjlb\/APkGkd7dj8Fkaxj9Ffb7uwevTThrgObhz+R81CK3nE0VpXpxqrhZ+zj5FQpjUf4OpbFO38z5TGfZxNH7xVM0hzQ4bgjIUzqn\/Tmn\/wDE\/vMSn3iW1ftX6r1R8v8AT1FousWoKJnGwDgqo27Zb2\/zyIC2JLtTOsklzgk4ohEXtIG+ezHbnZe5zWvYWPaHNcMEEZBCn5dG0T5ncFTURUzyHPpmu9Qkfz3lE00sRGUKlNt080\/J8zlouldBYxO8HpKmQyEk5JHIfD3qgXGONkUbY42hrGANa0DYAcguSjJ3dy+lDs4KPIIuEs0UDDJNIyNg5ue4ALDrdaWilPDHI+pdnBETdh4nA8soot6CdWFPvOxvrMvF9pLPDmU9JM78kLD6zvoFgN1TeL0XU9otwY4jBkLuLg78nAHivPS6Svxq\/TJKuGKYnJe93G7PkRlWKml3mZJ7VKatRi31se+ks1dqCoZcL44sgBJipBkYHf2fEqldLTUcYa+SKBjRgAkNAU6dJ3CoGKvUFTIOXCAcY\/5l2R6GtTSHSyVMzs78TwM+QXJYXqxTVWHdhm+Lf\/TSm1FZ6c4kuMGc49R3F8Mru9LNba3VNrkjkc9hMLng8JPf4ryw6XskOOGgjcQMeuS74lacUUcMbY4o2xsaMNa0YA8FB4eBpgqrvjtbpc4UnpHokXpfB0\/COk4Py57kXciiWpWVgiIh0LG1JZfvWjEkB4Kyn9eF42J7s\/zutlF1Np3RCcIzi4y0MjTt6F3oT0vq1UJ4ZWHY9x8fjla6l75QVNorTfrWAeuqiJ2cNt\/r5rctlzprtRtqaZ+WnZzTzYewqUl\/JaFNGo79nPvLzXP5nsREUDSEREBF60qHUl7ttS3nEOMeDsqxc1k0Ra4BzHtwQesFResYJLhf4KSLJc2ldIABnccRx48I81RaarRXWClk24mM6Nw7C3b37HxV01uJmChL9RUjz+Gpl6WlNsuFZYqg4eyQyQ7fmGPpg+a92sADpirJ6iwj\/naurUtomnMV1t5La6k3GP1tHV8fbkheK63uC86PrC31KiPoxLEebTxt3HaEW9JSRGT7OnOjLk7dV9ChtDi+zULjzNPGf+kLE1Dio1RY6Zu745DKcdmQf3Cte1Sxw6eopZXhjGUsZc5xwAOELHsgfeNR1N6LXtp429FTlzccQ\/n4rkcm2WVHihCnxdvcsyoRFgXrUnolQ23W2IVVe88PCNwz29p+HWq1FydkaalSNON5GrX3OjtsXSVlQyIdQJ3d7BzKnzfrxeXcNioTHCDg1M4GPDO3xK8zrdb7c412pq0VdY4AiEHix3Y6\/cF3en3vUUZitcAt9CfV6Z5w4jux8vNXKKX3kYp1pydm7dFr7eRm3Onp6WQi83Ke51ufUpYXnhaT1E9WewYK9Vu0lPcCJ7iwUVPnLaSEYPiTn35PsVBaNO0NoaHsb0tR+qd49bw7FqrjqcEdp7Gm8VRez5vj6HTS0lPRQNgpomxRt5NaF3IipN6SSsgiIh0IiIAiIgCIiAIiID4QCMEZBUjcrbVaarXXe0N4qV39Yp+oD6fD2KvXwgEYIyCpRlhKatJVFya0fI8lsulLdqRtRTPyD+Zp\/Mw9hC9imLhYay21ZuWnyGOIxJTH8rh3D5eS99k1FS3cdEQYatg9eF22\/XjtXXHK8dCFOs08FTJ+T8PkbCIuEsrIYnyyODWMaXOceoDmVA0k1S4rdf1b8BzKan4MkdeAMe93kuu1l2n9UT2yQkUtaeOAnlxdny8Au7RsMkrK65zsxJVzZBPPHPy39y0dQWYXih4Y3BlTEeKGTsO23jhXNpSwvQ86EJSpqrHvXb+nuNVRmtbZR9LTywRkV1VKGBrTs7vI7ckBeuPUN2tzBTXK0zzStPCyaL8snt6gf5wudppa+7Xdt6ulP6OyFnDTQHqz1kH2\/DsSKcHiZKtONePZpZvpocI9GyvY2CsvNTPTNAAgGQBjljJI7uSoqWkgoqdlPTRCOJgw1oXcircm9TVTo06ecUT2rL3VWunZDSRnpJh\/S8J9QdxxjPj4clg2G3X2WF5o420bZv6SrlB6R47B149g8VelrXEEtBI5ZHJclJTtGyRTPZnUqY5SduRg2\/SNvpJOnqS+tqDuXzbjPbj65W6AAMAYAX1FByb1L4U4U1aKsERFwsCIiAIiIAiIgCIiAIiIAiIgCIiALGvOmqO7uEwcaapb+WaMcz3jrRF1Np3RCcIzWGSujPZXaks7TFVUBucYceGSInjI78A\/BdNXU33UYZQstklup3OHTvlzuPEA425Du5IitTVsVszE4PH2WJ2++NrlRRUcNBRxUsDeGOMYA+J813oipN6SSsgiIh0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "ALEJANDRO ROJO CORTES",
    "correoContacto": "escuelacaracoles@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56998495389",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28710\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28710\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28710\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28710\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "10:11",
    "ubicacionGPS": "LatLng(lat: -22.8914444, lng: -69.3202954)",
    "horaLlegada": "09:41",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


19/05/2026 10:11:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69253200

[19/05/2026 10:11: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('69253200', 'EP2557', 1, 21773342, 20153, NOW(), 
				'08:00', '09:41', '10:11', 10, 'entrega tinta
configuracion
pruebas', -1, 
				'', '','1','196062',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779199872.png', '', null, 'COMPLETADO','LatLng(lat: -22.8914444, lng: -69.3202954)' )
				
[19/05/2026 10:11:12] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200355
[19/05/2026 10:11:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200355', 'EPS-I302', 2)
				
[19/05/2026 10:11:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28710 and
				    IDproducto = 'EPS-I302'
				

19/05/2026 10:11:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I302';
                [19/05/2026 10:11:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200355', 'EPS-I303', 2)
				
[19/05/2026 10:11:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28710 and
				    IDproducto = 'EPS-I303'
				

19/05/2026 10:11:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I303';
                [19/05/2026 10:11:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200355', 'EPS-I304', 2)
				
[19/05/2026 10:11:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28710 and
				    IDproducto = 'EPS-I304'
				

19/05/2026 10:11:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I304';
                [19/05/2026 10:11:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200355', 'EPS-I305', 2)
				
[19/05/2026 10:11:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28710 and
				    IDproducto = 'EPS-I305'
				

19/05/2026 10:11:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I305';
                
19/05/2026 10:11:12 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200355'                    
				WHERE idllamado = 12630			
				TO ENVIO: micorreo@miempresa.cl, escuelacaracoles@gmail.com


19/05/2026 10:11:12 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12630			
				
19/05/2026 10:11:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


19/05/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 = 12630
                

19/05/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 = 12630
                

19/05/2026 10:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 10:11:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12630
            GROUP BY l.idllamado;
            

19/05/2026 10:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 10:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 10:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 10:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 10:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

[19/05/2026 10:11: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;
                

[19/05/2026 10:11: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;
                

19/05/2026 10:11:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12630
            GROUP BY l.idllamado;
            

19/05/2026 10:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 10:11:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12630
            GROUP BY l.idllamado;
            

19/05/2026 10:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 10:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 10:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 10:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                

19/05/2026 10:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12630
                
[19/05/2026 10:11: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;
				
[19/05/2026 10:11: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;
                

[19/05/2026 10:53: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;
                

19/05/2026 10:54:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

[19/05/2026 10:54: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;
                

19/05/2026 10:54:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

19/05/2026 10: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 = 12542
                

[19/05/2026 10:54: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;
                

19/05/2026 10:54:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

19/05/2026 10: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 = 12542
                

19/05/2026 10: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 = 12542
                

19/05/2026 10: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 = 12542
                

[19/05/2026 10:54: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;
                

19/05/2026 10:54:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

19/05/2026 10:54:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

[19/05/2026 10:54: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;
                

19/05/2026 10: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 = 12542
                

19/05/2026 10: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 = 12542
                

19/05/2026 10: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 = 12542
                

19/05/2026 10: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 = 12542
                

19/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

[19/05/2026 10: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;
                

19/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

[19/05/2026 10: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;
                

19/05/2026 10: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 = 12643
                

19/05/2026 10: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 = 12643
                

19/05/2026 10: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 = 12643
                

19/05/2026 10: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 = 12643
                

[19/05/2026 10:54: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;
                

19/05/2026 10:54:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 10:54:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

[19/05/2026 10:54: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;
                

19/05/2026 10:54:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 10:54:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 10:54:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 10:54:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 10:54:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

[19/05/2026 10:54: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;
                

19/05/2026 10:54:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

[19/05/2026 10:54: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;
                

19/05/2026 10:54:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

19/05/2026 10:54:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12642
                

19/05/2026 10:54:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12642
                

19/05/2026 10: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 = 12642
                

19/05/2026 10: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 = 12642
                

[19/05/2026 10: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;
                

19/05/2026 10: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 = 12642
                

19/05/2026 10:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

19/05/2026 10:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

[19/05/2026 10: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;
                

19/05/2026 10: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 = 12642
                

19/05/2026 10: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 = 12642
                

19/05/2026 10: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 = 12642
                

19/05/2026 10:54:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 10:54:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

[19/05/2026 10:54: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;
                

19/05/2026 10:54:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 10:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

[19/05/2026 10:54: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;
                

19/05/2026 10:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 10:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 10:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 10: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 = 12555
                

19/05/2026 10:54:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 10:54:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

[19/05/2026 10:54: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;
                

19/05/2026 10:54:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

[19/05/2026 10:54: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;
                

19/05/2026 10: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 = 12555
                

19/05/2026 10: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 = 12555
                

19/05/2026 10: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 = 12555
                

[19/05/2026 10:54: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;
                

19/05/2026 10:54:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

[19/05/2026 10:54: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;
                

19/05/2026 10:54:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 10:54:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 10: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 = 12555
                

19/05/2026 10: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 = 12555
                

19/05/2026 10: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 = 12555
                

19/05/2026 10: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 = 12555
                

19/05/2026 10: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 = 12555
                

19/05/2026 10:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

[19/05/2026 10:54: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;
                

[19/05/2026 10:54: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;
                

19/05/2026 10:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 10:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 10: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 = 12555
                

19/05/2026 10: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 = 12555
                

19/05/2026 10: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 = 12555
                

[19/05/2026 10:54: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;
                

[19/05/2026 10:54: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;
                

19/05/2026 10: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 = 12555
                

19/05/2026 10:54:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 10:54:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 10: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 = 12555
                

19/05/2026 10:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 10:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 10:55:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

19/05/2026 10: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 = 12542
                

[19/05/2026 10:55: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;
                

19/05/2026 10:55:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

19/05/2026 10:55:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

[19/05/2026 10:55: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;
                

19/05/2026 10:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

19/05/2026 10:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

19/05/2026 10:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

19/05/2026 10:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

19/05/2026 10: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 = 12542
                

19/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

19/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

[19/05/2026 10:55: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;
                

[19/05/2026 10:55: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;
                

19/05/2026 10: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 = 12542
                

19/05/2026 10: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 = 12542
                

19/05/2026 10: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 = 12542
                

[19/05/2026 10:55: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;
                

19/05/2026 10: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 = 12542
                

19/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

19/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

[19/05/2026 10:55: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;
                

19/05/2026 10: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 = 12542
                

19/05/2026 10: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 = 12542
                

19/05/2026 10: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 = 12542
                

19/05/2026 10:55:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

[19/05/2026 10:55:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 10:55:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 10:55:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 10: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 = 12643
                

19/05/2026 10:55:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 10: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 = 12643
                

19/05/2026 10:55:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 10:55:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

[19/05/2026 10:55: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;
                

19/05/2026 10:55:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

[19/05/2026 10:55: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;
                

19/05/2026 10:55:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 10:55:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 10: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 = 12643
                

19/05/2026 10: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 = 12643
                

19/05/2026 10: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 = 12643
                

19/05/2026 10: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 = 12643
                

[19/05/2026 10:55: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;
                

19/05/2026 10:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

[19/05/2026 10:55: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;
                

19/05/2026 10:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 10:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 10:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 10: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 = 12643
                

19/05/2026 10: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 = 12643
                

[19/05/2026 10:55: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;
                

19/05/2026 10:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

[19/05/2026 10:55: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;
                

19/05/2026 10:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12642
                

19/05/2026 10:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

19/05/2026 10:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

19/05/2026 10:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12642
                

19/05/2026 10:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12642
                

19/05/2026 10:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12642
                

19/05/2026 10:55:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

19/05/2026 10:55:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12642
                

[19/05/2026 10:55: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;
                

19/05/2026 10:55:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

[19/05/2026 10:55: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;
                

19/05/2026 10:55:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12642
                

19/05/2026 10:56:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12642
                

19/05/2026 10:56:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12642
                

19/05/2026 10:56:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 10:56:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

[19/05/2026 10:56: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;
                

[19/05/2026 10:56: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;
                

19/05/2026 10:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 10:56:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 10:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 10: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 = 12555
                

19/05/2026 10: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 = 12555
                

[19/05/2026 10:56: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;
                

19/05/2026 10:56:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 10:56:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 10:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

[19/05/2026 10:56: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;
                

19/05/2026 10:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 10:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 10:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 10:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 10: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 = 12646
                

19/05/2026 10:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

[19/05/2026 10:56:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 10:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

[19/05/2026 10:56:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 10:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 10: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 = 12646
                

19/05/2026 10:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

[19/05/2026 10:56:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 10: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 = 12646
                

19/05/2026 10:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 10: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 = 12646
                

19/05/2026 10:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

[19/05/2026 10:56:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 10: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 = 12646
                

19/05/2026 10: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 = 12646
                

19/05/2026 10: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 = 12646
                

19/05/2026 10: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 = 12646
                

19/05/2026 10: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 = 12646
                

19/05/2026 10: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 = 12646
                

19/05/2026 10: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 = 12646
                

19/05/2026 10: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 = 12646
                

19/05/2026 10:56:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

19/05/2026 10:56:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

[19/05/2026 10:56: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;
                

19/05/2026 10:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12615
                

19/05/2026 10:56:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

[19/05/2026 10:56: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;
                

19/05/2026 10: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 = 12615
                

19/05/2026 10: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 = 12615
                

19/05/2026 10: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 = 12615
                

19/05/2026 10:56:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

[19/05/2026 10:56: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;
                

19/05/2026 10:56:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 10:56:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 10:56:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 10:56:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 10:56:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 10:56:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 10:56:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 10:56:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 10:56:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 10:56:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

[19/05/2026 10:56: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;
                

19/05/2026 10:56:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

[19/05/2026 10:56: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;
                

[19/05/2026 10:56: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;
                

19/05/2026 10:57:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

[19/05/2026 10:57: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;
                

19/05/2026 10:57:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

[19/05/2026 10:57: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;
                

19/05/2026 10:57:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12615
                

19/05/2026 10:57:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

19/05/2026 10:57:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12615
                

19/05/2026 10:57:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12615
                

19/05/2026 10:57:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12615
                

[19/05/2026 10:57: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;
                

19/05/2026 10:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12615
                

19/05/2026 10:57:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

[19/05/2026 10:57: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;
                

19/05/2026 10:57:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12615
            GROUP BY l.idllamado;
            

19/05/2026 10:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12615
                

19/05/2026 10:57:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12615
                

19/05/2026 10:57:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12615
                

19/05/2026 11:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:03:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/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 = 12646
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

[19/05/2026 11:06: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;
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

[19/05/2026 11:06: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;
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

[19/05/2026 11:06: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;
                

19/05/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 = 12646
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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 = 12646
                

[19/05/2026 11:06: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;
                

19/05/2026 11:06:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:06:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:06:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:06:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:06:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:06:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/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 = 12646
                

[19/05/2026 11:07: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;
                

19/05/2026 11:07:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

[19/05/2026 11:07: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;
                

19/05/2026 11:07:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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 = 12646
                

19/05/2026 11:07:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

[19/05/2026 11:07:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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 = 12646
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

[19/05/2026 11:07:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

[19/05/2026 11:07:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 11:07:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/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 = 12646
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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 = 12646
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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 = 12646
                

[19/05/2026 11:07:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/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 = 12646
                

19/05/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 = 12646
                

[19/05/2026 11:07:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/2026 11: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 = 12627
                

19/05/2026 11:07:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:07:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:07:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:07:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:07:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12627
                

19/05/2026 11:07:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

[19/05/2026 11:07:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11: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 = 12627
                

[19/05/2026 11:07:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11:07:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

[19/05/2026 11:07:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11: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 = 12627
                

[19/05/2026 11:07:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

[19/05/2026 11:07: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;
                

[19/05/2026 11:07: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;
                

[19/05/2026 11:07: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;
                

19/05/2026 11:07:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:07:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12627
                

19/05/2026 11:07:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

[19/05/2026 11:07: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;
                

19/05/2026 11:07:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11:07:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:07:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

[19/05/2026 11:07: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;
                

19/05/2026 11:07:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:07:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

[19/05/2026 11:07: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;
                

[19/05/2026 11:07: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;
                

19/05/2026 11:07:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:07:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

[19/05/2026 11:07: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;
                

19/05/2026 11: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 = 12646
                

19/05/2026 11:07:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:07:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:07:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

[19/05/2026 11:07:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11: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 = 12646
                

19/05/2026 11:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12646
                

[19/05/2026 11:07:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 11:07:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12646
                

19/05/2026 11:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

[19/05/2026 11:07:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11:08:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:08:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:08:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:08:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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 = 12646
                

[19/05/2026 11:08: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;
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/2026 11:08:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

[19/05/2026 11:08: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;
                

[19/05/2026 11:08: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;
                

19/05/2026 11:08:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

[19/05/2026 11:08: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;
                

19/05/2026 11:08:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:08:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:08:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:08:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:08:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:08:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:08:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:08:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:08:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:08:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

[19/05/2026 11:08: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;
                

19/05/2026 11:08:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

[19/05/2026 11:08: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;
                

[19/05/2026 11:08: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;
                

[19/05/2026 11:08: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;
                

19/05/2026 11:08:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:08:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:08:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:08:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:08:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:08:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:08:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:08:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:08:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:08:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:08:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:08:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:08:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:08:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11:12:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11:12:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11:12:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11:12:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/2026 11:12:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/2026 11:12:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11:13:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

[19/05/2026 11:13: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;
                

19/05/2026 11:13:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

[19/05/2026 11:13: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;
                

19/05/2026 11:13:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:13:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:13:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:13:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:13:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:13:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11: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 = 12646
                

19/05/2026 11:13:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:13:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:13:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:13:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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 = 12646
                

19/05/2026 11:13:51 - logentry: =========================================
FECHA: 19/05/2026 11:13:51
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-4_X882XuL05Dr6pZ1IPaC76aUI2TdTvGoFS-552O8xr5YiUDrHY
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76423913",
    "serieinterna": "EP2532",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12646",
    "observacion": "entrega insumo recepcion\nno contador",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB5AMADASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABDEAABAwMCAgYGBgYKAwAAAAABAAIDBAURBiESMRNBUYGRoRQiI2FxsRUyUoLB0QcWM0JDciQlU2KSk6Kj0uGywvD\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQMCAwUHBQAAAAAAAAAAAQIDESExQQQSIhNRYXGBMqGxwdHh8BQjM1KR\/9oADAMBAAIRAxEAPwD7MiIgCIiALVU1EdJTvqJncMcYyStqrGpnSXO5UdhhdgSkSTuG\/C0d3uJ8O1SirsqrVOzhda7eZs07qKovFyq4JY2MjYOOIAesBnG55H\/tWNVa2Rsp9eV0EbGxxtpWhjQMbAR8vBWldmlfBXwzk4NSd2m0ERFA0hERAEREAREQBERAEREAREQGEsrIYnyyODWMaXOceoDmVE27U1Hca30ZjXR8YzC538Tnn4YwtGr6xzLfHbocGeueIwD9nIz5kDvPYuG5Ugor1p6miH7I4PCc4GR5c1bGKayYqtaUZ2jorX9WW5ERVG0IiIDVU1EdLTS1EpxHEwvcfcBlVzSdPLXVNXfqpvtKl5bED+60c8eQ7itusqwihhtsLj09bIGAD7OfzwPFTdDSMoKGGkjJLYmBoJ6\/erNIeZlf7le20fi\/sV+vPoevaCYDhZUw8Djy4juO\/wDdVoVY1qwwxUFyYPXpagee\/wA2+asrXNewPactcMg9oSWYpnaPTUnHxv8A6ZIiKs0hERAEREAREQBERAEREARFprKhtJRT1LuUUbnnuGUON2V2VyN5u+uHO4AYLawtBz+93dec+CynIrP0gQRk5bR0\/EW9jiD\/AMgtmiqZ0dofVybyVcpeTjGQNvnla7GRV6vvFYN+jxFnq5gf+iveG\/BHnRTcYN6ylf5\/Qs6IioPSC8c4NaXOIAAySepeqA1jXOpbI6CLi6WqcImho3x1+W3euxV3YrqTVODk9jjszn6h1DLd5B\/RaTMVMCOZ33+ODnvHYrWuO00Lbba4KVoALGDj2Ay7rO3vXYuzd3gjQg4Q6tXlkTqemNVp2rYObWcY3x9Ug\/ILPTtQKrT9FJnJEQYd87t2\/BSL2NkjdG9oc1wIcD1hVrSpNvuNysjuUMnSxZO5acD5cPipLMGiEuivGXerfMs6IirNIRFH32q9DstXMHhjhGWtcepx2HzXUruxGUlGLk9jZb7pR3RsjqOXpGxuDXHBA5Z612KhUMVXpmGiuwa6WnqWAVLSN2Z5fDbGPwyrzDNHUQsmheHxvGWuadiFKcbaaFHD1nUVpq0jYiKPvdy+irZJUjBk+rGCebj\/APE9yild2L5SUYuT2JBFEabu0l3tplmAEkb+BxAwDsN1Lo1Z2ZyE1OKktGERFwmFA6zqTT6dlaDgzPbGPHJ8gVPKsa1PHHbqY7iWoGW4znq\/HzU6ftIz8U7UZW\/LkvDwWfT7C4YFNT5Id1kDfxKjdFU72Wd9VISX1Urn55bDb55WvVc8lbLTWKlOZal4MhG\/A0HOTv39ysNNTx0lNFTQt4Y4mhrR7guvEfMhFc1bGkVb1f2NqIirNYVWuA+lNc0lId4qFnSvG\/Pn\/wAFMXG\/W21S9FWVBZIW8QYGOJI7hjqVW05fbbST1tdcKh4qqqTPDwl3C3nzA9\/kFbCLs3Yw8RVpuUaba1z6F6RV6TW1mZ9V80n8sZ\/HCw\/Xq0fZqf8ALH5qPZy7i79VR\/siyKr3rNr1Vb7oMiKf2Ex5DsyT35+6vTru3uOIqSrkxzPA381Fai1FS3m1mnbR1McjXh7XPaMDHPPcSpwhJPKM\/EcRSlDpllZXoXxFSxr2SKmi4ra5ziweu6TAcRsSNu3K53\/pArSfUooGj+8SfyXOxmTfH0Fv7mXxVO7zu1Bf4bNTvcaWE8dU5pIBxzHyA959y44b\/qW+RPhoqWJjXbdLGC0t+8ThbLXZtT2yB0NJ6JCHnic5xDnE9mcFSUOXLeSqpX7ZJRi3HfHuLhLTwzU7qeSNronN4SwjbHYqpBUVGj6t9NUxyVFsldxRzNyTF1YPlt3jsXR6DrM7\/StG3PVwjb\/QsX23WEjSx90onNPMOYCD\/trkUlhtWJ1JuTUowkmvBfUlnajs7KUVBr4uAjIGfWP3efkoekjk1Xc211TA5ltpx7KKT+I78u3uG\/VH\/qJcZpOKeqpGZO\/RtPyAAUm3R9UWBs1+q3DGCBkDzcu2hHRlfNxFVrnhhbd55Qv+htY1VE8HobgBJG4knDt9vHiHgrQXBoy4gDtKqVVoZz4y+G5zPnb+zMvIH4jcKBdbqyIdFcKG5TyHcBr\/AFR7s4KcsZ5TCrVKF4yhh6Z92Cyal1DA2GOjo6yMmZ\/DLLHID0Y27MkfHC4LTqiG11VRRz1MldSh2YZmtPESerBx7+\/kunT2k4mufWXKlALyejpn7iMZ6999u1TVXpy1VdKYPQ4YfsviYGuae3OEvBdIUOJqPtcJ9ws17F5Ej2Uc8ETccEkg2f24+ChNa1QpbhaZXN4mwvdIW\/awWnHl5robbtS2t4ZQ1sdZTgHAnPrDsG\/lg\/HqUVW26ti1FazdaoVMk8\/1QTwtAcOXZnnhIqPNdCtUqOjySTvdZ21JnS9ulkL77Xnjq6sZbt9RnV4gDux71Y141oa0NaAABgAdS9VUnd3N9KmqceVBERRLCrazZHOKWjhghfW1bwxr3NBc1oPUeoZPzU3BZ7fBTxxeh07ujYG8RiBJwOag7YG3vV9VcXMJhoh0UOeXFuM\/+R7wrUrJNpKJkoxU5SqNa4XkvuaGUVJGcspoWnOciMBZ9DF\/ZM\/whbEVdzVZHgAAwBgBYzRMnhfDIMskaWuHuOyzWLnBjC53JoydsoHoVfS7Y2PrrDWRCb0WYvYJG5Bbnng9x+8pptitLXBwt1MCDkezC4rUy3XS7S3uklkEob0UkR292SOfIDwU6rJt3M1CnHkyk1t5bGLGMjYGRtDGtGA1owAskRVmoIiIAiIgCIiAIiIAqzqYCO+2OckcIn4T4tVmVZ1mAwWypyAYqkYB5Hr\/AAU6ftGbiv4m\/L4lmREUDSFG3+4i2WeafixI4dHFvj1zy8OfcpJVOrA1NqZlK31qC37ykYLXu7OfXjHcVOCu7vQorzcY2jq8L88CU0rQegWGBrgQ+X2rwe08vLCmERRbu7lkIKEVFbBERcJhERAVS70x09eI73SMPo8ruGqjby36\/wAfiPerRFKyeFkrDlrwCMrVcKRtfb56R+MSsLckZweo9x3ULo+seaGW2VHq1FC8sLT9nO3nkeCsfVG\/cZYrsqvKtJZ9dyxIiKs1BERAEREAREQBERAFWtct\/qWF4dwllQ3fuP8A14KyqA1o3OnJXZILXtIwffj8VOn7SM\/FK9GXkTrHcbGuxjiAOFkuege6W3U0jvrPiY4\/EgLoUGXp3VyI1NdfomzySMdieX2cXaCevuG\/gmmrWbXaI2SDE8vtJc88nq7ht8crTV2apuOpIqqrc00NM3ihYDnLtuYx39fIKdU20o2RnhFyquctsL5sIiKBpCIiAIiIAqreXmxanprq0Yp6odFUY5Z7fDB+6Valw3m3i6Wuekzhzm5Yexw5KUHZ5KK8HOHTqso7kUHpS5OrrX0E+RU0Z6KQHntyPlj4gqcXGrOxZTmqkFJbhERcJhERAEREAREQBR1\/gNTYa2MEg9EXDBxy3x5KRWqqh9IpJoM46RjmZ7MjC6nZ3ITjzRaI7S9S6q07SPefWa0sP3SQPIBSyrmi5x9FzULxwzUkzmuZzIBO2\/I758FY12atJlfDy5qUX4BERRLwiIgCIiAIiIAiIgKrcAbBqmO5Na70St9nMGjPrnsHcD4q1LXL9QfzN+YWxSbvYqp0+Rys8PIREUS0IiIAiIgCIiAIiIDBkUcZcWRtaXnLi0Y4j2lZoiA\/\/9k=",
    "razonSocial": "PROACTIVE",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "NATALIA SANDIVARI",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56993212533",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28724\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28724\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28724\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28724\",\"cantidad_usada\":3,\"cantidad_asignada\":3}]",
    "horaSalida": "11:14",
    "ubicacionGPS": "LatLng(lat: -23.6151162, lng: -70.3861584)",
    "horaLlegada": "11:07",
    "horaDespacho": "09:55",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 19/05/2026 11:13:51
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-4_X882XuL05Dr6pZ1IPaC76aUI2TdTvGoFS-552O8xr5YiUDrHY
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76423913",
    "serieinterna": "EP2532",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12646",
    "observacion": "entrega insumo recepcion\nno contador",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB5AMADASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABDEAABAwMCAgYGBgYKAwAAAAABAAIDBAURBiESMRNBUYGRoRQiI2FxsRUyUoLB0QcWM0JDciQlU2KSk6Kj0uGywvD\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQMCAwUHBQAAAAAAAAAAAQIDESExQQQSIhNRYXGBMqGxwdHh8BQjM1KR\/9oADAMBAAIRAxEAPwD7MiIgCIiALVU1EdJTvqJncMcYyStqrGpnSXO5UdhhdgSkSTuG\/C0d3uJ8O1SirsqrVOzhda7eZs07qKovFyq4JY2MjYOOIAesBnG55H\/tWNVa2Rsp9eV0EbGxxtpWhjQMbAR8vBWldmlfBXwzk4NSd2m0ERFA0hERAEREAREQBERAEREAREQGEsrIYnyyODWMaXOceoDmVE27U1Hca30ZjXR8YzC538Tnn4YwtGr6xzLfHbocGeueIwD9nIz5kDvPYuG5Ugor1p6miH7I4PCc4GR5c1bGKayYqtaUZ2jorX9WW5ERVG0IiIDVU1EdLTS1EpxHEwvcfcBlVzSdPLXVNXfqpvtKl5bED+60c8eQ7itusqwihhtsLj09bIGAD7OfzwPFTdDSMoKGGkjJLYmBoJ6\/erNIeZlf7le20fi\/sV+vPoevaCYDhZUw8Djy4juO\/wDdVoVY1qwwxUFyYPXpagee\/wA2+asrXNewPactcMg9oSWYpnaPTUnHxv8A6ZIiKs0hERAEREAREQBERAEREARFprKhtJRT1LuUUbnnuGUON2V2VyN5u+uHO4AYLawtBz+93dec+CynIrP0gQRk5bR0\/EW9jiD\/AMgtmiqZ0dofVybyVcpeTjGQNvnla7GRV6vvFYN+jxFnq5gf+iveG\/BHnRTcYN6ylf5\/Qs6IioPSC8c4NaXOIAAySepeqA1jXOpbI6CLi6WqcImho3x1+W3euxV3YrqTVODk9jjszn6h1DLd5B\/RaTMVMCOZ33+ODnvHYrWuO00Lbba4KVoALGDj2Ay7rO3vXYuzd3gjQg4Q6tXlkTqemNVp2rYObWcY3x9Ug\/ILPTtQKrT9FJnJEQYd87t2\/BSL2NkjdG9oc1wIcD1hVrSpNvuNysjuUMnSxZO5acD5cPipLMGiEuivGXerfMs6IirNIRFH32q9DstXMHhjhGWtcepx2HzXUruxGUlGLk9jZb7pR3RsjqOXpGxuDXHBA5Z612KhUMVXpmGiuwa6WnqWAVLSN2Z5fDbGPwyrzDNHUQsmheHxvGWuadiFKcbaaFHD1nUVpq0jYiKPvdy+irZJUjBk+rGCebj\/APE9yild2L5SUYuT2JBFEabu0l3tplmAEkb+BxAwDsN1Lo1Z2ZyE1OKktGERFwmFA6zqTT6dlaDgzPbGPHJ8gVPKsa1PHHbqY7iWoGW4znq\/HzU6ftIz8U7UZW\/LkvDwWfT7C4YFNT5Id1kDfxKjdFU72Wd9VISX1Urn55bDb55WvVc8lbLTWKlOZal4MhG\/A0HOTv39ysNNTx0lNFTQt4Y4mhrR7guvEfMhFc1bGkVb1f2NqIirNYVWuA+lNc0lId4qFnSvG\/Pn\/wAFMXG\/W21S9FWVBZIW8QYGOJI7hjqVW05fbbST1tdcKh4qqqTPDwl3C3nzA9\/kFbCLs3Yw8RVpuUaba1z6F6RV6TW1mZ9V80n8sZ\/HCw\/Xq0fZqf8ALH5qPZy7i79VR\/siyKr3rNr1Vb7oMiKf2Ex5DsyT35+6vTru3uOIqSrkxzPA381Fai1FS3m1mnbR1McjXh7XPaMDHPPcSpwhJPKM\/EcRSlDpllZXoXxFSxr2SKmi4ra5ziweu6TAcRsSNu3K53\/pArSfUooGj+8SfyXOxmTfH0Fv7mXxVO7zu1Bf4bNTvcaWE8dU5pIBxzHyA959y44b\/qW+RPhoqWJjXbdLGC0t+8ThbLXZtT2yB0NJ6JCHnic5xDnE9mcFSUOXLeSqpX7ZJRi3HfHuLhLTwzU7qeSNronN4SwjbHYqpBUVGj6t9NUxyVFsldxRzNyTF1YPlt3jsXR6DrM7\/StG3PVwjb\/QsX23WEjSx90onNPMOYCD\/trkUlhtWJ1JuTUowkmvBfUlnajs7KUVBr4uAjIGfWP3efkoekjk1Xc211TA5ltpx7KKT+I78u3uG\/VH\/qJcZpOKeqpGZO\/RtPyAAUm3R9UWBs1+q3DGCBkDzcu2hHRlfNxFVrnhhbd55Qv+htY1VE8HobgBJG4knDt9vHiHgrQXBoy4gDtKqVVoZz4y+G5zPnb+zMvIH4jcKBdbqyIdFcKG5TyHcBr\/AFR7s4KcsZ5TCrVKF4yhh6Z92Cyal1DA2GOjo6yMmZ\/DLLHID0Y27MkfHC4LTqiG11VRRz1MldSh2YZmtPESerBx7+\/kunT2k4mufWXKlALyejpn7iMZ6999u1TVXpy1VdKYPQ4YfsviYGuae3OEvBdIUOJqPtcJ9ws17F5Ej2Uc8ETccEkg2f24+ChNa1QpbhaZXN4mwvdIW\/awWnHl5robbtS2t4ZQ1sdZTgHAnPrDsG\/lg\/HqUVW26ti1FazdaoVMk8\/1QTwtAcOXZnnhIqPNdCtUqOjySTvdZ21JnS9ulkL77Xnjq6sZbt9RnV4gDux71Y141oa0NaAABgAdS9VUnd3N9KmqceVBERRLCrazZHOKWjhghfW1bwxr3NBc1oPUeoZPzU3BZ7fBTxxeh07ujYG8RiBJwOag7YG3vV9VcXMJhoh0UOeXFuM\/+R7wrUrJNpKJkoxU5SqNa4XkvuaGUVJGcspoWnOciMBZ9DF\/ZM\/whbEVdzVZHgAAwBgBYzRMnhfDIMskaWuHuOyzWLnBjC53JoydsoHoVfS7Y2PrrDWRCb0WYvYJG5Bbnng9x+8pptitLXBwt1MCDkezC4rUy3XS7S3uklkEob0UkR292SOfIDwU6rJt3M1CnHkyk1t5bGLGMjYGRtDGtGA1owAskRVmoIiIAiIgCIiAIiIAqzqYCO+2OckcIn4T4tVmVZ1mAwWypyAYqkYB5Hr\/AAU6ftGbiv4m\/L4lmREUDSFG3+4i2WeafixI4dHFvj1zy8OfcpJVOrA1NqZlK31qC37ykYLXu7OfXjHcVOCu7vQorzcY2jq8L88CU0rQegWGBrgQ+X2rwe08vLCmERRbu7lkIKEVFbBERcJhERAVS70x09eI73SMPo8ruGqjby36\/wAfiPerRFKyeFkrDlrwCMrVcKRtfb56R+MSsLckZweo9x3ULo+seaGW2VHq1FC8sLT9nO3nkeCsfVG\/cZYrsqvKtJZ9dyxIiKs1BERAEREAREQBERAFWtct\/qWF4dwllQ3fuP8A14KyqA1o3OnJXZILXtIwffj8VOn7SM\/FK9GXkTrHcbGuxjiAOFkuege6W3U0jvrPiY4\/EgLoUGXp3VyI1NdfomzySMdieX2cXaCevuG\/gmmrWbXaI2SDE8vtJc88nq7ht8crTV2apuOpIqqrc00NM3ihYDnLtuYx39fIKdU20o2RnhFyquctsL5sIiKBpCIiAIiIAqreXmxanprq0Yp6odFUY5Z7fDB+6Valw3m3i6Wuekzhzm5Yexw5KUHZ5KK8HOHTqso7kUHpS5OrrX0E+RU0Z6KQHntyPlj4gqcXGrOxZTmqkFJbhERcJhERAEREAREQBR1\/gNTYa2MEg9EXDBxy3x5KRWqqh9IpJoM46RjmZ7MjC6nZ3ITjzRaI7S9S6q07SPefWa0sP3SQPIBSyrmi5x9FzULxwzUkzmuZzIBO2\/I758FY12atJlfDy5qUX4BERRLwiIgCIiAIiIAiIgKrcAbBqmO5Na70St9nMGjPrnsHcD4q1LXL9QfzN+YWxSbvYqp0+Rys8PIREUS0IiIAiIgCIiAIiIDBkUcZcWRtaXnLi0Y4j2lZoiA\/\/9k=",
    "razonSocial": "PROACTIVE",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "NATALIA SANDIVARI",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56993212533",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28724\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28724\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28724\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28724\",\"cantidad_usada\":3,\"cantidad_asignada\":3}]",
    "horaSalida": "11:14",
    "ubicacionGPS": "LatLng(lat: -23.6151162, lng: -70.3861584)",
    "horaLlegada": "11:07",
    "horaDespacho": "09:55",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


19/05/2026 11:13:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76423913

[19/05/2026 11:13:51] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76423913', 'EP2532', 1, 19969062, 0, NOW(), 
				'09:55', '11:07', '11:14', 10, 'entrega insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779203631.png', 'entrega insumo recepcion
no contador', null, 'COMPLETADO','LatLng(lat: -23.6151162, lng: -70.3861584)' )
				
[19/05/2026 11:13:51] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200356
[19/05/2026 11:13:51] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200356', 'EPS-I302', 2)
				
[19/05/2026 11:13:51] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28724 and
				    IDproducto = 'EPS-I302'
				

19/05/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 = 12646
                

19/05/2026 11:13:51 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I302';
                [19/05/2026 11:13:51] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200356', 'EPS-I303', 2)
				
[19/05/2026 11:13:51] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28724 and
				    IDproducto = 'EPS-I303'
				

19/05/2026 11:13:52 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I303';
                [19/05/2026 11:13:52] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200356', 'EPS-I304', 2)
				
[19/05/2026 11:13:52] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28724 and
				    IDproducto = 'EPS-I304'
				

19/05/2026 11:13:52 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I304';
                [19/05/2026 11:13:52] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200356', 'EPS-I305', 3)
				
[19/05/2026 11:13:52] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28724 and
				    IDproducto = 'EPS-I305'
				

19/05/2026 11:13:52 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I305';
                
19/05/2026 11:13:52 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200356'                    
				WHERE idllamado = 12646			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


19/05/2026 11:13:52 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12646			
				
19/05/2026 11:13:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/2026 11:13:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/2026 11:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

[19/05/2026 11:13: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;
                

19/05/2026 11:13:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:13:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:13:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:13:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

[19/05/2026 11:13: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;
                

19/05/2026 11:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

[19/05/2026 11:13: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;
                

19/05/2026 11:13:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

[19/05/2026 11:13: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;
                

[19/05/2026 11:13: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;
                

19/05/2026 11:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/2026 11:13:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12646
            GROUP BY l.idllamado;
            

19/05/2026 11:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                

19/05/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 = 12646
                
[19/05/2026 11:13: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;
				
[19/05/2026 11:13: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;
                

[19/05/2026 11:13: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;
                
[19/05/2026 11:14: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;
				
[19/05/2026 11:14: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;
                
[19/05/2026 11:14: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;
                
[19/05/2026 11:14: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;
				
[19/05/2026 11:14: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;
				
[19/05/2026 11:14: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;
                

[19/05/2026 11:15: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;
                

[19/05/2026 11: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;
                

[19/05/2026 11: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;
                

19/05/2026 11: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 = 12643
                

19/05/2026 11: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 = 12643
                

19/05/2026 11:32:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:32:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:32:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:32:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:32:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:32:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

[19/05/2026 11:32: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;
                

[19/05/2026 11:32: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;
                

19/05/2026 11: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 = 12555
                

19/05/2026 11:32:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11:32:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:32:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

[19/05/2026 11:32: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;
                

19/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

[19/05/2026 11:32: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;
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11:32:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

[19/05/2026 11:32: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;
                

19/05/2026 11: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 = 12555
                

19/05/2026 11:32:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:32:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

[19/05/2026 11:32: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;
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

[19/05/2026 11:33: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;
                

[19/05/2026 11:33: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;
                

19/05/2026 11:33:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:33:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:33:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

19/05/2026 11:33:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

19/05/2026 11:33:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12642
                

19/05/2026 11:33:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

19/05/2026 11:33:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12642
                

[19/05/2026 11:33: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;
                

[19/05/2026 11:33: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;
                

19/05/2026 11: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 = 12642
                

19/05/2026 11: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 = 12642
                

19/05/2026 11:33:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

[19/05/2026 11:33: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;
                

19/05/2026 11: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 = 12642
                

19/05/2026 11:33:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

19/05/2026 11:33:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

19/05/2026 11:33:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

[19/05/2026 11:33: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;
                

19/05/2026 11: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 = 12642
                

19/05/2026 11: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 = 12642
                

19/05/2026 11: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 = 12642
                

19/05/2026 11:33:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12642
                

19/05/2026 11:33:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12642
                

19/05/2026 11:33:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12642
                

19/05/2026 11:33:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

19/05/2026 11:33:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12642
                

19/05/2026 11:33:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12642
                

19/05/2026 11:33:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12642
                

19/05/2026 11:33:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12642
                

19/05/2026 11: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 = 12642
                

[19/05/2026 11:33: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;
                

19/05/2026 11:33:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

19/05/2026 11:33:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

[19/05/2026 11:33: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;
                

19/05/2026 11: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 = 12642
                

19/05/2026 11:33:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12642
                

19/05/2026 11: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 = 12642
                

19/05/2026 11: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 = 12642
                

[19/05/2026 11:33: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;
                

19/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

[19/05/2026 11:33: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;
                

19/05/2026 11: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 = 12642
                

19/05/2026 11: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 = 12642
                

19/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12642
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12642
                

19/05/2026 11: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 = 12642
                

19/05/2026 11:33:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

[19/05/2026 11:33: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;
                

19/05/2026 11:33:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:33:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

[19/05/2026 11:33: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;
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11:33:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:33:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:33:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

[19/05/2026 11:33: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;
                

19/05/2026 11:33:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

[19/05/2026 11:33: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;
                

19/05/2026 11:33:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:33:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11:33:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:34:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:34:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:34:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11:34:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:34:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:34:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:34:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:34:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:34:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:34:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:34:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:36:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12555
                

19/05/2026 11:36:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:36:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:36:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:36:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:36:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:36:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:36:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:36:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:36:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                
[19/05/2026 11:38: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;
				
[19/05/2026 11:38: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;
                

[19/05/2026 11:38: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;
                
[19/05/2026 11:38: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;
				
[19/05/2026 11:38: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;
                

[19/05/2026 11:39: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;
                

[19/05/2026 11:39: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;
                

19/05/2026 11:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

[19/05/2026 11:39: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;
                

[19/05/2026 11:39: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;
                

19/05/2026 11:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:39:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:39:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

[19/05/2026 11:39: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;
                

19/05/2026 11:39:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:39:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

[19/05/2026 11:39: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;
                

19/05/2026 11:39:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:39:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

[19/05/2026 11:39: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;
                

19/05/2026 11:39:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:39:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:39:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:39:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:39:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:40:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:40:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11:42:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:42:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:42:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:42:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:42:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:42:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11:42:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11:42:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11:42:23 - logentry: =========================================
FECHA: 19/05/2026 11:42:23
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-94Fg8iObNUemElhal15qMxMUjxSlJ4Uw2JqC9gr7.QRfHqrAx2V
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "6508799",
    "serieinterna": "KY2239",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "VARGAS 2202-2208 ",
    "ciudadmaquina": "CALAMA",
    "departamentomaquina": "DEPARTAMENTO",
    "rutTecnico": "21773342",
    "contador": "488812",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Cambio U Imagen",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12555",
    "observacion": "no hay fusor en bodega",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACHAJcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABBEAABAwMCAgcEBwUHBQAAAAABAAIDBAURBiESMRNBUWFxgZEUIqGxBxUjMlLB8CRCwtHhFkNTVJKT8TNEcoLi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgECBAIJBAMBAAAAAAAAAAECAxEEEiExQVEiMmFxkaHB0eETQoGxI9Lw8f\/aAAwDAQACEQMRAD8A\/ZkREAWc1HqOW03Ckp4BGQ48UxeCQByxsfE+i0a\/ObyPrOqu9yI4o6Z7Ioyc4O+O3uJ81bSim9THjKkoU+hu\/TU\/RkUegk6a3U0v44mO9QFIVRrTurhERDoREQBERAEREAREQBERAEREAREQEeuqPZKCoqf8KJz\/AEGVj6akEf0dVUrh71Q7pCes4eAPl8VfatnEGm6rtk4WDzI\/LK5z0vRaGdBjdlFk79Ybk\/FWw0S7zDXWeo1yi\/P\/AIT7E4usNAT\/AJdg9AFPVRpWUS6boz2NLT5OIVuoS6zNNF3pxfYgiIoloREQBFxqKqnpI+kqZ44WfikcGj4qpm1hZISQKoyYODwMJXVFvZFc6sIdZpF4iz39trN+Ob\/bK7Q6vskxx7WYz2PY4fHGFLJLkQWJov7l4l2i5U9TT1cYkp5o5mH95jgR8F1UC5NPVBERDoREQBERAZnWzzJSUVAzPFU1AGBzIG2PVwV\/UQNfQy07RhroiwAdmMLP3ge062tFMeUbDLvyzuf4Fp1ZLSKMtJZqlR9y8F8md0PL0mn+H\/Dmc35H81olmNFgRC5UoG0VSfzH5LTrlTrM7hXejEIvEsscETpZntjjYMuc44ACzNTqKuu9QaLT0RIBw+qePdA7s8vPfuXIxbLKlaNPfflxLq5XqgtTM1c4a7GRG3dx8lRuuOoL+3Fsp\/YaR3KeU+84d39B5qZbNKUtNIKqvea2sJ4nPk3aD3Dr8T8FfqV4x21KslWr13lXJb\/l+xnoNHURlNRcZpq6d33i95Df5+pVrBaLdSs4YaGBg\/8AAE+qmIouUnuy2FGnDaJw9ipf8tD\/ALYXKe0W2oBEtBTuz19GM+vNTFwq6ymoYTNVTshYOtxxnw7VxN8CUowt0krFBU6PED+nstZLRTNOQ0uJYewdvrlKHU8lFUG339vQVEbc9Pj3X+Q7usfBeZdQ3C8vdTafpjwjZ9VKMBvh\/X0XP+xAnp5ZK2vlnrXjaTPutPnuVdw\/k+Tz9c18Mv6v\/dhIfq41Uhis9tqK1wOC8jhYOw\/84WiaSWAubwkjcdio9KXF1VQPpJ2hlVRv6ORuMbch8seSvlXOydkjXh3KUc7le\/4sERFA0BERAZemzV\/SDUyDBZSwBue\/A29SfRahZjSn7RdLzWu5vqOFueYGScfL0WmJAGScAKdTexmwusHLm2\/MzOn\/ALDVN6pyd5HiTA8Sf4lYXnUNLaAIj9tVPHuQt592exZivrpZ9XymxTsfLVRiEyDkDtkg9ezRvv3dS0tl05T2vM8rvaax+7pn7keGfnzVkklrIz0ZzknTp8G9fyVsNkud\/lbVX6V0UAOWUjNsePZ8\/BaWmpYKOBsFNCyKNvJrRhdkVUpNmunRjT13fPiERfHODWlziAAMknqUS4+rxLLHDG6SWRsbGjLnOOAPNUFx1dBHL7LaojcKk7AR5LR5jn5eqjw2C6XmVs9\/qi2IHIpYnYHnjYfE96mocZaGaWITeWmsz8vE6Veq31U5orFSuq5zt0pGGN7\/AOpwF8pdJvq5hWX2qfVznfo2nDW9235YWgpKOmoYRDSwMhYOpoxnx7V3Xc9uqcVBzd6rv2cP93niKKOCJsULGxxsGGtaMABe0RVmrYy9uAj+kC5xsAa0wBxAHWejJPxK1CzFo\/adb3arZngjYITttkcIO\/8A6FadTnujNhurLvf7IfscxuvthrZOhEXAKYbNzn7x7f1uimIo3NCilsF4lkEUT5DyY0uPkvarNQXCC32ioMsoY+SNzIm9bnEYGPVEruxGclGLkyo0fNDQ6dnrKqVsbHTuc57vAD5rk+a5avldFTcVJag7DpD96Tu7\/DkomndPVF0pYJLg8toIiXRQg46Qk5JPd1dq28UUcMTYomBjGDDWtGAArptRk2tzBQpzqUoxlpHzfwZC722lsNyss9HGIo2zcErzzOSNyfAuWyWd1vAZLB0oODBK1+R\/p\/NXlJN7TRwTj+9ja\/1GVCTvFM0UkoVZwW2j9PQ7Iqe5antltywzdPMDgRQ+8c955BVb4dQakP2p+q6E\/u78bx3jmfgFxQe70JTxEU8sOk+S9eRY3TVNFQOMEAdV1RPCIohnB7z\/ACyq+O1XvUDukvE5o6XORTRbFw7+zzz4KFR0I09ranponOdDPHgF3Mgjw\/EFuFOVoWylFNSrt\/VeztZbfJk9G1cXtVbQNhijdEcsLG+85oJByevq9VrF+a2mofbtRiuceGnNS+GRxOAM9vz8l+kkgDJOAFyqrSudwNTNTyvgVGo759R0ccrIxJLK\/ha0nGw3J+Q81OtlfHcrdDWR8pG5I\/CeseqoIOj1NqV1RkSW+gaWMB5PeeZ\/X4R2rwyKu0nVS9BTyVlslOWsZkujOOfLu88hMqtbiFWnnc\/s2+e41irr7c2Wm1S1HG1spBbED1v6v5qpfreFzHMgttW6oHKNwAHPHbns6l8obPcLvcGXS+BrGM\/6VJjYeIPL5n4LihbWROWIU1lpat+RN0pbH2+0B8\/F09Selk4uYzyHpv4lXaIoN3dzRTgqcFFcAiIuEyDdrrT2iidU1Dt+TGZ3eewLE3airKi0Pvd1c8TSuayCLkGNO+cdXXgKfda2mj1j0l4Egp6aPMEfDxBx7SPHJ8h2LhqnUVvu9BDT0xkPDMHuyzGwBH5rTCLVrHkYmrGopZntol28\/Y2VthFPa6WEfuQsbyxyAUkkAZJwAsudWVVb9nZbRNKcZD5Rho6uQ2+KDT95uzy69XF0cLv+3p3bfy+aqycZOxsVdNJUk5frxPepNQWp9sqKFk\/tE0rS1rYveAd1ZPLmqu0Ut8vtuip\/bBS0EI6I8H3nY6iBv64Wqt1jt1rj4aamaHYwZHDicfNU2jX+zS3K1OO9POS0HrHI\/IeqmpJReUonTnKrH6r3utPEtbXp23WkB0EPHKP72Td3l2eStERUtt6s9CEIwVoqyMTrad1JerdVRgccTeMd+HZWwpahlXSQ1Mf3JWB4z2EZWa1FDHVaqtVPKA5kjHBzSeo5UOO6yWG1XKzVLyJ4QRSkj77XHG3hnP8AwrnHNFJbnnxq\/SrTlLZ\/tL1Oum7bFeLNcWTZEdRU5aRzBGDn4rrJZdTTUotkldB7KBwmUE8Tm55HbPLq8sq20vRGhsFMxww+QdI7Ixu7f5YCt1GU2pOxZSw0ZUo5tHbWxFt1vhtlFHSQZ4GDm45Lj2lSkRVN3NqSirIIiIdCIiAIiIDxJFHKMSRteOxwysvfKeGXVNno44mNAd0r2taBkA53\/wBJ+K1azFJ+3a+qpju2jh4G56jt6c3foqyHFmXEpNRjza9zToiKs1BZeqxa9dU8+cRXCPo3b\/vcht4hvqVqFQ6ut8lXaxUwEiejd0rMdnX8s+SnB62fEz4lPJmW618PgvkUK0XBl0tcFWw7vb747HDYj1UqWVkMT5ZHBrGNLnOPUBzKi1Z2LlJSjmWxm8Ct+kLOOIUVP6Ej\/wC1eVNroayVstTSxyvaRhzm9mdj2jc7HZUekA6smuN3kBBqZuFmRjYb\/mB5LTqc3Z25GfDxU4OTW7b9giIqzUEREAREQBERAEREAWY0cTPJdK0ni6ep+91HGT\/Era\/1bqGxVdQ04c2PhaewnYH1K46WpDSaepWuBDpAZDkY5nPywprSDM0+lXiuSb9Pct0RFA0hfCARgjIK+ogMn0NVpK4yzQQSVFpnPE5kYy6I\/rb+q53a9nUMDLXZ2Su6dwE0jmYDW5H6PctgvLI2RghjGsBOTwjGSrM63a1Mjw7s4RlaL4exxoaOK30MVJCPcibgZ5ntPmd1IRFWakklZBERDoREQBERAEREAREQFfe7X9cW51H03Q8Tg7j4OLl3ZCmQRCCnjhByI2BucY5DCIu3drEVCKlm4nRERcJBERAEREAREQBERAEREAREQBERAEREB\/\/Z",
    "razonSocial": "ALEJANDRO GUILLERMO GEMMEL MARTINEZ",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "APP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R807\",\"id_control\":\"28713\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:42",
    "ubicacionGPS": "LatLng(lat: -22.4609516, lng: -68.9282413)",
    "horaLlegada": "11:07",
    "horaDespacho": "11:37",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "1",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 19/05/2026 11:42:23
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-94Fg8iObNUemElhal15qMxMUjxSlJ4Uw2JqC9gr7.QRfHqrAx2V
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "6508799",
    "serieinterna": "KY2239",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "VARGAS 2202-2208 ",
    "ciudadmaquina": "CALAMA",
    "departamentomaquina": "DEPARTAMENTO",
    "rutTecnico": "21773342",
    "contador": "488812",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Cambio U Imagen",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12555",
    "observacion": "no hay fusor en bodega",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACHAJcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABBEAABAwMCAgcEBwUHBQAAAAABAAIDBAURBiESMRNBUWFxgZEUIqGxBxUjMlLB8CRCwtHhFkNTVJKT8TNEcoLi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgECBAIJBAMBAAAAAAAAAAECAxEEEiExQVEiMmFxkaHB0eETQoGxI9Lw8f\/aAAwDAQACEQMRAD8A\/ZkREAWc1HqOW03Ckp4BGQ48UxeCQByxsfE+i0a\/ObyPrOqu9yI4o6Z7Ioyc4O+O3uJ81bSim9THjKkoU+hu\/TU\/RkUegk6a3U0v44mO9QFIVRrTurhERDoREQBERAEREAREQBERAEREAREQEeuqPZKCoqf8KJz\/AEGVj6akEf0dVUrh71Q7pCes4eAPl8VfatnEGm6rtk4WDzI\/LK5z0vRaGdBjdlFk79Ybk\/FWw0S7zDXWeo1yi\/P\/AIT7E4usNAT\/AJdg9AFPVRpWUS6boz2NLT5OIVuoS6zNNF3pxfYgiIoloREQBFxqKqnpI+kqZ44WfikcGj4qpm1hZISQKoyYODwMJXVFvZFc6sIdZpF4iz39trN+Ob\/bK7Q6vskxx7WYz2PY4fHGFLJLkQWJov7l4l2i5U9TT1cYkp5o5mH95jgR8F1UC5NPVBERDoREQBERAZnWzzJSUVAzPFU1AGBzIG2PVwV\/UQNfQy07RhroiwAdmMLP3ge062tFMeUbDLvyzuf4Fp1ZLSKMtJZqlR9y8F8md0PL0mn+H\/Dmc35H81olmNFgRC5UoG0VSfzH5LTrlTrM7hXejEIvEsscETpZntjjYMuc44ACzNTqKuu9QaLT0RIBw+qePdA7s8vPfuXIxbLKlaNPfflxLq5XqgtTM1c4a7GRG3dx8lRuuOoL+3Fsp\/YaR3KeU+84d39B5qZbNKUtNIKqvea2sJ4nPk3aD3Dr8T8FfqV4x21KslWr13lXJb\/l+xnoNHURlNRcZpq6d33i95Df5+pVrBaLdSs4YaGBg\/8AAE+qmIouUnuy2FGnDaJw9ipf8tD\/ALYXKe0W2oBEtBTuz19GM+vNTFwq6ymoYTNVTshYOtxxnw7VxN8CUowt0krFBU6PED+nstZLRTNOQ0uJYewdvrlKHU8lFUG339vQVEbc9Pj3X+Q7usfBeZdQ3C8vdTafpjwjZ9VKMBvh\/X0XP+xAnp5ZK2vlnrXjaTPutPnuVdw\/k+Tz9c18Mv6v\/dhIfq41Uhis9tqK1wOC8jhYOw\/84WiaSWAubwkjcdio9KXF1VQPpJ2hlVRv6ORuMbch8seSvlXOydkjXh3KUc7le\/4sERFA0BERAZemzV\/SDUyDBZSwBue\/A29SfRahZjSn7RdLzWu5vqOFueYGScfL0WmJAGScAKdTexmwusHLm2\/MzOn\/ALDVN6pyd5HiTA8Sf4lYXnUNLaAIj9tVPHuQt592exZivrpZ9XymxTsfLVRiEyDkDtkg9ezRvv3dS0tl05T2vM8rvaax+7pn7keGfnzVkklrIz0ZzknTp8G9fyVsNkud\/lbVX6V0UAOWUjNsePZ8\/BaWmpYKOBsFNCyKNvJrRhdkVUpNmunRjT13fPiERfHODWlziAAMknqUS4+rxLLHDG6SWRsbGjLnOOAPNUFx1dBHL7LaojcKk7AR5LR5jn5eqjw2C6XmVs9\/qi2IHIpYnYHnjYfE96mocZaGaWITeWmsz8vE6Veq31U5orFSuq5zt0pGGN7\/AOpwF8pdJvq5hWX2qfVznfo2nDW9235YWgpKOmoYRDSwMhYOpoxnx7V3Xc9uqcVBzd6rv2cP93niKKOCJsULGxxsGGtaMABe0RVmrYy9uAj+kC5xsAa0wBxAHWejJPxK1CzFo\/adb3arZngjYITttkcIO\/8A6FadTnujNhurLvf7IfscxuvthrZOhEXAKYbNzn7x7f1uimIo3NCilsF4lkEUT5DyY0uPkvarNQXCC32ioMsoY+SNzIm9bnEYGPVEruxGclGLkyo0fNDQ6dnrKqVsbHTuc57vAD5rk+a5avldFTcVJag7DpD96Tu7\/DkomndPVF0pYJLg8toIiXRQg46Qk5JPd1dq28UUcMTYomBjGDDWtGAArptRk2tzBQpzqUoxlpHzfwZC722lsNyss9HGIo2zcErzzOSNyfAuWyWd1vAZLB0oODBK1+R\/p\/NXlJN7TRwTj+9ja\/1GVCTvFM0UkoVZwW2j9PQ7Iqe5antltywzdPMDgRQ+8c955BVb4dQakP2p+q6E\/u78bx3jmfgFxQe70JTxEU8sOk+S9eRY3TVNFQOMEAdV1RPCIohnB7z\/ACyq+O1XvUDukvE5o6XORTRbFw7+zzz4KFR0I09ranponOdDPHgF3Mgjw\/EFuFOVoWylFNSrt\/VeztZbfJk9G1cXtVbQNhijdEcsLG+85oJByevq9VrF+a2mofbtRiuceGnNS+GRxOAM9vz8l+kkgDJOAFyqrSudwNTNTyvgVGo759R0ccrIxJLK\/ha0nGw3J+Q81OtlfHcrdDWR8pG5I\/CeseqoIOj1NqV1RkSW+gaWMB5PeeZ\/X4R2rwyKu0nVS9BTyVlslOWsZkujOOfLu88hMqtbiFWnnc\/s2+e41irr7c2Wm1S1HG1spBbED1v6v5qpfreFzHMgttW6oHKNwAHPHbns6l8obPcLvcGXS+BrGM\/6VJjYeIPL5n4LihbWROWIU1lpat+RN0pbH2+0B8\/F09Selk4uYzyHpv4lXaIoN3dzRTgqcFFcAiIuEyDdrrT2iidU1Dt+TGZ3eewLE3airKi0Pvd1c8TSuayCLkGNO+cdXXgKfda2mj1j0l4Egp6aPMEfDxBx7SPHJ8h2LhqnUVvu9BDT0xkPDMHuyzGwBH5rTCLVrHkYmrGopZntol28\/Y2VthFPa6WEfuQsbyxyAUkkAZJwAsudWVVb9nZbRNKcZD5Rho6uQ2+KDT95uzy69XF0cLv+3p3bfy+aqycZOxsVdNJUk5frxPepNQWp9sqKFk\/tE0rS1rYveAd1ZPLmqu0Ut8vtuip\/bBS0EI6I8H3nY6iBv64Wqt1jt1rj4aamaHYwZHDicfNU2jX+zS3K1OO9POS0HrHI\/IeqmpJReUonTnKrH6r3utPEtbXp23WkB0EPHKP72Td3l2eStERUtt6s9CEIwVoqyMTrad1JerdVRgccTeMd+HZWwpahlXSQ1Mf3JWB4z2EZWa1FDHVaqtVPKA5kjHBzSeo5UOO6yWG1XKzVLyJ4QRSkj77XHG3hnP8AwrnHNFJbnnxq\/SrTlLZ\/tL1Oum7bFeLNcWTZEdRU5aRzBGDn4rrJZdTTUotkldB7KBwmUE8Tm55HbPLq8sq20vRGhsFMxww+QdI7Ixu7f5YCt1GU2pOxZSw0ZUo5tHbWxFt1vhtlFHSQZ4GDm45Lj2lSkRVN3NqSirIIiIdCIiAIiIDxJFHKMSRteOxwysvfKeGXVNno44mNAd0r2taBkA53\/wBJ+K1azFJ+3a+qpju2jh4G56jt6c3foqyHFmXEpNRjza9zToiKs1BZeqxa9dU8+cRXCPo3b\/vcht4hvqVqFQ6ut8lXaxUwEiejd0rMdnX8s+SnB62fEz4lPJmW618PgvkUK0XBl0tcFWw7vb747HDYj1UqWVkMT5ZHBrGNLnOPUBzKi1Z2LlJSjmWxm8Ct+kLOOIUVP6Ej\/wC1eVNroayVstTSxyvaRhzm9mdj2jc7HZUekA6smuN3kBBqZuFmRjYb\/mB5LTqc3Z25GfDxU4OTW7b9giIqzUEREAREQBERAEREAWY0cTPJdK0ni6ep+91HGT\/Era\/1bqGxVdQ04c2PhaewnYH1K46WpDSaepWuBDpAZDkY5nPywprSDM0+lXiuSb9Pct0RFA0hfCARgjIK+ogMn0NVpK4yzQQSVFpnPE5kYy6I\/rb+q53a9nUMDLXZ2Su6dwE0jmYDW5H6PctgvLI2RghjGsBOTwjGSrM63a1Mjw7s4RlaL4exxoaOK30MVJCPcibgZ5ntPmd1IRFWakklZBERDoREQBERAEREAREQFfe7X9cW51H03Q8Tg7j4OLl3ZCmQRCCnjhByI2BucY5DCIu3drEVCKlm4nRERcJBERAEREAREQBERAEREAREQBERAEREB\/\/Z",
    "razonSocial": "ALEJANDRO GUILLERMO GEMMEL MARTINEZ",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "APP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R807\",\"id_control\":\"28713\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:42",
    "ubicacionGPS": "LatLng(lat: -22.4609516, lng: -68.9282413)",
    "horaLlegada": "11:07",
    "horaDespacho": "11:37",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "1",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


19/05/2026 11:42:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:6508799

[19/05/2026 11:42:23] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('6508799', 'KY2239', 1, 21773342, 488812, NOW(), 
				'11:37', '11:07', '11:42', 2, 'Cambio U Imagen', 1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779205343.png', 'no hay fusor en bodega', null, 'COMPLETADO','LatLng(lat: -22.4609516, lng: -68.9282413)' )
				
[19/05/2026 11:42:23] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200357

19/05/2026 11:42:23 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '6508799' AND 
				serieinterna = 'KY2239' AND
				correlativo = 1;				
		
19/05/2026 11:42:23 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '6508799'
				   AND serieintmaquina = 'KY2239'
		
19/05/2026 11:42:23 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY2239'
				   AND estado = 1
				
19/05/2026 11:42:23 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'KY2239'
				  AND rutcliente = '6508799';
				
19/05/2026 11:42:23 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'KY2239', 2, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
19/05/2026 11:42:23 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200357'                    
				WHERE idllamado = 12555			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


19/05/2026 11:42:24 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12555			
				
19/05/2026 11:42:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11:42:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

[19/05/2026 11:42: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;
                

19/05/2026 11: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 = 12555
                

19/05/2026 11:42:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

[19/05/2026 11:42: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;
                

19/05/2026 11: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 = 12555
                

19/05/2026 11:42:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11:42:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

[19/05/2026 11:42: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;
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11:42:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

[19/05/2026 11:42: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;
                

19/05/2026 11:42:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11:42:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12555
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11: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 = 12555
                

19/05/2026 11:42:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                

19/05/2026 11:42:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12555
                
[19/05/2026 11:43: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;
                
[19/05/2026 11:43:04] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

19/05/2026 11:43:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:43:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:43:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

[19/05/2026 11:43:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 11:43:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11:43:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:43:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:43:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

[19/05/2026 11:43: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;
                

[19/05/2026 11:43: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;
                

19/05/2026 11:43:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

[19/05/2026 11:43: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;
                

19/05/2026 11:43:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:43:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:43:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:43:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:43:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:43:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

[19/05/2026 11:43: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;
                

[19/05/2026 11:43:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11:43:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:43:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

[19/05/2026 11:43: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;
                

19/05/2026 11:43:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:43:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:43:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:43:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:43:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:43:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:43:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

[19/05/2026 11:43: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;
                

19/05/2026 11:43:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

[19/05/2026 11:43: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;
                

19/05/2026 11:43:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:43:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:43:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:43:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:43:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:43:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:43:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:43:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:43:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

[19/05/2026 11:43:47] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11:43:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

[19/05/2026 11:43:47] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11:43:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:43:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

[19/05/2026 11:43:47] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 11:43:47] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11:43:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:43:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:43:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:43:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:43:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:43:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:43:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:43:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

[19/05/2026 11:43: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;
                

19/05/2026 11:43:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

19/05/2026 11:43:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

19/05/2026 11:43:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

19/05/2026 11:43:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

[19/05/2026 11:43: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;
                

19/05/2026 11:43:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

19/05/2026 11:43:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

19/05/2026 11:43:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

19/05/2026 11:43:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

19/05/2026 11:43:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

[19/05/2026 11:43: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;
                

[19/05/2026 11:43: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;
                

19/05/2026 11:43:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

19/05/2026 11:43:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

19/05/2026 11:43:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

19/05/2026 11:43:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

19/05/2026 11:43:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

19/05/2026 11:43:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

19/05/2026 11:43:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

19/05/2026 11:43:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

19/05/2026 11:43:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

19/05/2026 11:43:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

[19/05/2026 11:43: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;
                

19/05/2026 11:43:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:43:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:43:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:43:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

[19/05/2026 11:43: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;
                

[19/05/2026 11:43: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;
                

[19/05/2026 11:43: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;
                

19/05/2026 11:43:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:43:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:43:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11:43:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

[19/05/2026 11:43: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;
                

19/05/2026 11: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 = 12627
                

19/05/2026 11:43:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

[19/05/2026 11:43:56] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 11:43:57] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

19/05/2026 11:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

[19/05/2026 11:43:57] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

19/05/2026 11:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

19/05/2026 11:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

19/05/2026 11:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

[19/05/2026 11:43:57] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

19/05/2026 11:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

19/05/2026 11:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12542
            GROUP BY l.idllamado;
            

19/05/2026 11:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

19/05/2026 11:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

19/05/2026 11:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

19/05/2026 11:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

19/05/2026 11:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12542
                

19/05/2026 11: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 = 12542
                

19/05/2026 11: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 = 12542
                

19/05/2026 11: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 = 12542
                

19/05/2026 11: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 = 12542
                

19/05/2026 11: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 = 12643
                

19/05/2026 11:48:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12643
                

19/05/2026 11:48:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:48:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:48:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12643
                

[19/05/2026 11:48: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;
                

19/05/2026 11: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 = 12643
                

19/05/2026 11: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 = 12643
                

[19/05/2026 11:48: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;
                

19/05/2026 11:48:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:48:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:48:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

[19/05/2026 11:48: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;
                

19/05/2026 11: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 = 12643
                

[19/05/2026 11:48: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;
                

19/05/2026 11:50:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

[19/05/2026 11:50: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;
                

19/05/2026 11:50:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12627
                

[19/05/2026 11:50: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;
                

[19/05/2026 11:50: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;
                

19/05/2026 11: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 = 12627
                

[19/05/2026 11:50: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;
                

19/05/2026 11: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 = 12627
                

[19/05/2026 11:50: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;
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11:50:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:50:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:50:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:50:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12627
                

19/05/2026 11:50:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12627
                

19/05/2026 11:50:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:50:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

[19/05/2026 11:50:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11:50:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

[19/05/2026 11:50:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11:50:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:50:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

[19/05/2026 11:50:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 11:50:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11:50:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:50:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

[19/05/2026 11:50:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11:50:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:50:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:50:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:50:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

[19/05/2026 11:51: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;
                

19/05/2026 11:51:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:51:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:51:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/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 = 12643
                

19/05/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 = 12643
                

19/05/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 = 12643
                

19/05/2026 11:51:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

[19/05/2026 11:51: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;
                

19/05/2026 11:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

[19/05/2026 11:51: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;
                

19/05/2026 11:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

[19/05/2026 11:51: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;
                

19/05/2026 11:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11: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 = 12643
                

19/05/2026 11: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 = 12643
                

19/05/2026 11:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:52:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:52:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:52:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:52:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:52:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:52:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11: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 = 12643
                

19/05/2026 11: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 = 12643
                

19/05/2026 11:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12643
                

19/05/2026 11: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 = 12643
                

19/05/2026 11:54:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:54:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:54:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:54:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:05 - logentry: =========================================
FECHA: 19/05/2026 11:55:05
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-00kM8W8VX1bsDj3NXH9XpiSA3achzIlL0dtCPtajc5PUPGcnGr.
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "6508799",
    "serieinterna": "KY2798",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "VARGAS 2202-2208 CALAMA",
    "ciudadmaquina": "Calama",
    "departamentomaquina": "DEPARTAMENTO",
    "rutTecnico": "21773342",
    "contador": "107012",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "retiro",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12643",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADmANcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABDEAABAwMCAgcFBQMKBwAAAAABAAIDBAURBiESMRNBUWFxgZEUIqGxwRUjMkLRJFLwFiU0NkNykrLh8QdTc4Ki4vL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAsEQACAQIEBQMEAwEAAAAAAAAAAQIDERIhMUEEE1Fx0SIygZGhscEzYeHw\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREAWaqdUPGqIbZTMY+HjEUrsEniPPHZj9VP1JczbLS90RPtEx6KEDnxHr8h8cLM6GoXT3SavkPEIAQHHfLnde\/dn1VsIrC5Mw160ubGlDXfsbxERVG4IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIqTVNwfSWwU1Pk1Va7oYmjnvzPxx4kLqV3YhUmoRcnsZi8XA3Guq7oMOpqT7imzjDnnke\/wDM7yC12nbd9mWWCBzOCVw45R18R7fDYeSzjLfHNfbfYo35gtzOlnLfzP2Lvjgd2Vt1bUeSSMPCU25yqS10+d\/AREVJ6IREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFk6apjuV7rL9Oc0NtYWQdjiBuR\/HW3sUzVtzkpaKOhpcuqq13RtDTggctu\/JA9VXXqJ9ts9DpyiHFPVEB7h177795+AVsI5dzBxFS8rbRz+dl+yZo2GSamqbrUYM1ZKTxY6h2d2c+i0q40lMyjpIqaMAMiYGjA7AuyhJ3dzVRhy6aiERFEtCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAL4llZDE+WRwaxjS5zj1AcyvtZrWFXM+Gns9KCZq54B\/ug\/U\/AFSisTsVVanLg5HOxxuvt7nvs7fuoj0VM3mNuvcd+fEleWQuvWp6u8OOYKcdDANj6eWT\/3KTe5YdPaU9kgcQ5zOhjxsST+J3zPiVYWG3i2Wanpjnj4eJ+f3juf08lY3k38GSFN44we3qfd6FiiIqT0AiIgCIiAIiIAiIgCIiAIiIAiLwkAZJwAgPUVJW6utFE4s6c1Dwd2wjOPM4HxUP8Aln0n9Gs9ZL27Y+WVNQk9jPLiaMXbEadFmP5YTxf0qxVkJ69ifmApNLrKz1Dg2SSSncQciVmMHsyMpy5dAuKot2xfr8l8i+IpY5o2yRSNkY4Za5pyD5r7UDQEREB45wa0ucQABkk9Sy9gb9sX6rvj2nomHoqbIxtyz6fMqRrC4PgoGW+my6prndGGjnw9frkDzKmQxwaa07hxHDTR8Tj++8\/qTgeSsStHuZJyU6tnpHN99vJV1pfetYwUYAdS24dJJnkXc\/ngeq1KzujqF0dBJcp\/eqK55eXHf3c\/U5PotEuT1stiXDJuLm9ZZ+PsERFA0hERAEREAREQBERAEREARFRahvxosW+hBmuE44WNbv0ees9\/YPPx6k27IhUqRpxxSOt61HSWj7neercPdhZzz1Z7FVx2O6agIqL3Uvp4eLLKWMYwO\/s88nwVjYdPRW2MVNVieueMvldvwnsH69au1PEo5R+pnVKVXOrp089SDQWW3W0fstIxjv3z7zvU7qciKDbeppjGMVaKsFFrbZQ3FvDWUsc2BgFw94DuPMKUi4nY64qSs0Zao05WWcmq09UvaQMvp5CHB4HZt8D6qfZtRxXJ7qaohdSVjDh0L87+GR8FdKk1BYGXSIVFPiKuiw6OQbcWOo\/TsVikpZS+pllSlS9VLTp46F2io9P351w46KuZ0Nwg2ew7cfeB815q25m32kwwk+0VZ6KMDnj8x9NvEhRwPFhLOfDluotCFaGi+6nqbu7DoKT7qDvO+\/oSfML61TJ9o3GhsMTyDM8Pmxvhv+wJ9FbWijjstkjilIZ0TOOZ2dgcZcVU6Wj+0blX3yVhBlkMcWd8N6\/hgeqsvm5dDK4PBGm9ZO7\/AH4NLFEyGJkUbQ1jGhrWjqA5BfaIqT0QiIgCIiAIiIAiIgCIiAIi+JZWQxPlkcGsY0uc49QHMoCs1DeRZ6HijAfVSnhgjIJ4jtk+WfkuOnrJ7FH7dWEy3CoHFI9\/Nmfy\/qq6ywyaivL75VMIpoXcNNE4\/hcMb\/Xx8FrVZL0rD9TJSXOlzXpt5CIirNYREQBERAEREBm9U0D4jFfKMYqaMgvAH42d\/h8sqHb6kan1THWCEiloYgQHdTzyz55x\/dWgvlZHQWaqnkwfcLWtP5idgPiszoiaWjrJaCdnB7TE2eInbi8PEH4K+N8DZ5tVJcRGN8nm++31LXWNa+K2st8DeOeueI2tHPGRn1OB5q4t1Gy32+CkjAAiYBt1nrPmclZ+iD71rGesJDqW3Do48ci7l88n0WpUJZJRNFH1zlU+F2X+hERVmoIiIAiIgCIodyutHaYOmq5Q391o3c7wC6lfQ5KSirt5EskAZJwAs7cdU5qDQWaD22rO3EN2N\/X5d6h\/zxq09dBbD\/ilH1+XitHbbVR2mDoaSIN\/ecd3O8Sp2UddTLjqVvZlHrv8eSustjqqarNyudY+orHtLeEH3WA9X8bIr1FBtt3Zop0401aIWa1hWyvjp7NSb1Fa4cQ7G5+p+AK0hIAyTgBZfTrfti+Vl8k3ZG7oacEchjn6H\/yKlDL1dCniG5JU1rL8bmio6WOio4qWIe5E0NC7oigaEklZBERDoREQBERAEREBltUONxu9tsjT7sj+lmG\/4f8AYO+C5azifQPo7rRkQyx5g4m8wC04x4DiXXT386akuV3O8bD0MJzkEdo8gP8AEqzVdRNeLlPT03vU9tjLpCOXFtn02HkVoivUl0PJqyTpSqbyeXx\/zZpdM2sWuzxMc0CaUdJL4kcvIfHKt1XWCf2iw0UnX0LWnbrG30ViqZXu7no0VFU4qOlgiIoloREQBeOcGtLnEAAZJPUoN1vNFZ4ekqpPeIyyNu7neA+qz4p7xqxwfUl1Bbc5bGPxPH18Tt3KajfN6FFSuovDFXl089CVXaofUzmgsMJqqg7GbHuM7+\/xO3iult0s0T+3XiY11Wd8P3Yzy6\/l3K3oLdSWynEFJCI29Z63HtJ61KXXK2USMaLk8VV3fTZBERVmkIiICp1NW+w2CpkDuF729GzHPLtvlk+S+tOUP2fYqaEjD3N43753duqzU37de7VanHEb39LIOeQP9A71WnVjyikZoeutKXTL9sIiKs0hERAEREAREQBVuoa02+x1U7Th\/Bws7eJ2w9M58lZLL6ue6sq7bZ2E\/tEodIAce7nH6+inBXkUcRNxpNrXydLc5undGCokHBK5hkxjBL3fhHy9F82S1iLStVJOMzV8T5JCW42IOB9fNcr81t3v9FYo3AQRfezhu2Bjl6f5lo6tobb52tAAETgAOrZTby7menBOT6RVl33KnRj+PTcLepj3geufqr5Z7RP9XWf9V60KhP3M0cN\/DHsgiKFc7vR2in6arkxn8LG7uce4fwFFK+hbKSirt5Exzg1pc4gADJJ6lm6\/U01XObfp+I1M5G8+PcZ377eZ28VFFPeNWOD6kuoLbnLYx+J4+vidu5aWgt1JbKcQUkIjb1nrce0nrU7KOubM2KpW9uUeu77eSqtel4oJvbLnJ7dWuOS5+7WnuB5+J9Ar9EUHJvUvp0401aKCIi4WBERAEREBmD+0\/wDERu2fZabq6sj\/AN1p1mLNh+tLvI7dzWhoJ7Nv0C06nPbsZuGzUn1b8BERQNIREQBERAEREAWSFQyTWFwuMp+6tlOQMnrxj6uWre9sbHPecNaCSewL82onzXUvoYciS41XSzkb4YNxkjvJPLqHaraavcw8XUwuCXW\/j7s02kKOV8dReanPTVryW56m5+p+ACvLlIIrZVSHkyF7j5NK608EdNTxwRNDWRtDWgDCg6hk6LT9c7thc312+qi3ikXRhyqNuiIWi2Fum4SfzveR64+iviQBknACzdrutFYtK0TqqQcToy5kbTlzsuJ29VGbDedVniqHOoLYTkRt\/FIPr57dylKN5NvQqp1lCnGEVeVll56Eu5apJqDQWWH2yrOQXNGWN7+\/5L216YIqBcLzL7ZWHcBxyxn649FbW610dqgENJCGDHvO5ud3k9amLjlbKJONFyeKq7vpsvIREVZqCIiAIiIAiIgCIiAzFj\/rhefL5rTrMUh9i17VQuwG1kPG3vOx+jlp1OeqM3De1ro3+QiIoGkIiIAiIgCIiArtQTmnsFbIDg9EWjz2+qz+hLVwRSXSVu78xw57PzH128imu7rwRR2uJ278STY7Pyj138gpX8pqK30NNQW2M1lSI2sZHFyBx1nr8lelLBZbnmznTfE4pP2r7mklljgidLM9scbBlznHAAWK1HqOK8NZabcC9ssjQ6Q5Acc7ADmd8KdDp+5XqVtTqCoIjacspYzgDxxy+J71xo6OGs1h0dLTsio7UMYYBu\/v78\/5Uioxd9bCvOrUSilZSy\/t+CfaNI01EWz1z\/bKhoAaXfgYByAB5+foFoURUuTk7s3U6UKatFBERcLAiIgCIiAIiIAiIgCIiAzGqwaG4Wy8Na4tgk4JSN\/dz\/8AXqtKx7ZI2yMcHNcAWkdYXGuo4rhRS0k4zHK3B7uw+R3Wf01XyW1z7JdHdFLE4+zufsHt7Aevu8cdSs90exlvyqzvpL8\/6ahERVmoIiIAi5zTRU8ZknlZEwc3PcAB5lUdbrK3QPEVIH10xOA2IHHr1+WVJRb0K51YU\/c7GgVLddVW218TOk9onH9nEc4PeeQUA0eor+f2yUWyjP8AZM3e4d\/+uPBVlxs1D9r0thtsXvnDqmd3vPA58+rbfbGchWRhG+bMlbiKuG8I2779l5Kyvo7lXU1RfqiMMhmeCOIjJGcADrwOS3dktVBQ0MMtLA1r5I2uMh3ccjPM\/Jdbla462zSW6MNY3gDYx1N4ccPlsFR011v1sp46CWySVDox0bJmE8JA2BOAe7rC65OasiEKUeHqYpZ3Wtr57lnqK9i0UQEOH1cx4Yo+Z8cL3TdpdarbiUuNROekm4jnBxyUSy2OqdWm73kh9Y78Ef8AyvTbl6ePLRKEmksKNFOMpz5s1bov+3YREVZqCIiAIiIAiIgCIiAIiIAiIgCrrtY6K8Q8NTHiQA8ErdnNP18CrFF1NrNEZRjNWkroykbNT2MGCKNlzpwfce4++B2c8\/NdBqm5wnFXp6qaAccTMkZ9PqtOinjT1Rn5Eo+ybS+GZc6nvE4IpdPTjq4pOLGfQfNe+0axq8tbS01G0jZ5IJHxPyWnRMa2R3kTfum\/sjMRaQfVv6W9XGarfnIYx2Gj+O7CvaK20duYWUdMyEHnwjc+J5qUii5N6k4UKcM4rPrucaqpjo6WWplOGRMLj5Kg0hRvkbU3moB6eteeHi5hmc\/E\/IL41ZPLW1FJYaVw46l4dKQc8LRyyOzmfJaOmp46SmipoW8McTQ1o7gpe2Pcr\/krf1H8vwjqiIqzUEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBEUW5z+zWuqnBIMcLnAjtxsizON2Vyh06Tc9Q3K6vBLWHoYc45f7Aeq1CodGU4g05C7rme559cfIBXynP3FHDJqkm9Xn9QiIoGgIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCj19IK+hmpHPLBK3hLm8wiJocaTVmeW+jbb6CGkY8vbE3hDjzKkoiahJJWQREQ6EREAREQBERAEREAREQBERAEREAREQH\/\/Z",
    "razonSocial": "ALEJANDRO GUILLERMO GEMMEL MARTINEZ",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:55",
    "ubicacionGPS": "LatLng(lat: -22.4609336, lng: -68.9282541)",
    "horaLlegada": "11:07",
    "horaDespacho": "11:42",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "1",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 19/05/2026 11:55:05
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-00kM8W8VX1bsDj3NXH9XpiSA3achzIlL0dtCPtajc5PUPGcnGr.
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "6508799",
    "serieinterna": "KY2798",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "VARGAS 2202-2208 CALAMA",
    "ciudadmaquina": "Calama",
    "departamentomaquina": "DEPARTAMENTO",
    "rutTecnico": "21773342",
    "contador": "107012",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "retiro",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12643",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADmANcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABDEAABAwMCAgcFBQMKBwAAAAABAAIDBAURBiESMRNBUWFxgZEUIqGxwRUjMkLRJFLwFiU0NkNykrLh8QdTc4Ki4vL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAsEQACAQIEBQMEAwEAAAAAAAAAAQIDERIhMUEEE1Fx0SIygZGhscEzYeHw\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREAWaqdUPGqIbZTMY+HjEUrsEniPPHZj9VP1JczbLS90RPtEx6KEDnxHr8h8cLM6GoXT3SavkPEIAQHHfLnde\/dn1VsIrC5Mw160ubGlDXfsbxERVG4IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIqTVNwfSWwU1Pk1Va7oYmjnvzPxx4kLqV3YhUmoRcnsZi8XA3Guq7oMOpqT7imzjDnnke\/wDM7yC12nbd9mWWCBzOCVw45R18R7fDYeSzjLfHNfbfYo35gtzOlnLfzP2Lvjgd2Vt1bUeSSMPCU25yqS10+d\/AREVJ6IREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFk6apjuV7rL9Oc0NtYWQdjiBuR\/HW3sUzVtzkpaKOhpcuqq13RtDTggctu\/JA9VXXqJ9ts9DpyiHFPVEB7h177795+AVsI5dzBxFS8rbRz+dl+yZo2GSamqbrUYM1ZKTxY6h2d2c+i0q40lMyjpIqaMAMiYGjA7AuyhJ3dzVRhy6aiERFEtCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAL4llZDE+WRwaxjS5zj1AcyvtZrWFXM+Gns9KCZq54B\/ug\/U\/AFSisTsVVanLg5HOxxuvt7nvs7fuoj0VM3mNuvcd+fEleWQuvWp6u8OOYKcdDANj6eWT\/3KTe5YdPaU9kgcQ5zOhjxsST+J3zPiVYWG3i2Wanpjnj4eJ+f3juf08lY3k38GSFN44we3qfd6FiiIqT0AiIgCIiAIiIAiIgCIiAIiIAiLwkAZJwAgPUVJW6utFE4s6c1Dwd2wjOPM4HxUP8Aln0n9Gs9ZL27Y+WVNQk9jPLiaMXbEadFmP5YTxf0qxVkJ69ifmApNLrKz1Dg2SSSncQciVmMHsyMpy5dAuKot2xfr8l8i+IpY5o2yRSNkY4Za5pyD5r7UDQEREB45wa0ucQABkk9Sy9gb9sX6rvj2nomHoqbIxtyz6fMqRrC4PgoGW+my6prndGGjnw9frkDzKmQxwaa07hxHDTR8Tj++8\/qTgeSsStHuZJyU6tnpHN99vJV1pfetYwUYAdS24dJJnkXc\/ngeq1KzujqF0dBJcp\/eqK55eXHf3c\/U5PotEuT1stiXDJuLm9ZZ+PsERFA0hERAEREAREQBERAEREARFRahvxosW+hBmuE44WNbv0ees9\/YPPx6k27IhUqRpxxSOt61HSWj7neercPdhZzz1Z7FVx2O6agIqL3Uvp4eLLKWMYwO\/s88nwVjYdPRW2MVNVieueMvldvwnsH69au1PEo5R+pnVKVXOrp089SDQWW3W0fstIxjv3z7zvU7qciKDbeppjGMVaKsFFrbZQ3FvDWUsc2BgFw94DuPMKUi4nY64qSs0Zao05WWcmq09UvaQMvp5CHB4HZt8D6qfZtRxXJ7qaohdSVjDh0L87+GR8FdKk1BYGXSIVFPiKuiw6OQbcWOo\/TsVikpZS+pllSlS9VLTp46F2io9P351w46KuZ0Nwg2ew7cfeB815q25m32kwwk+0VZ6KMDnj8x9NvEhRwPFhLOfDluotCFaGi+6nqbu7DoKT7qDvO+\/oSfML61TJ9o3GhsMTyDM8Pmxvhv+wJ9FbWijjstkjilIZ0TOOZ2dgcZcVU6Wj+0blX3yVhBlkMcWd8N6\/hgeqsvm5dDK4PBGm9ZO7\/AH4NLFEyGJkUbQ1jGhrWjqA5BfaIqT0QiIgCIiAIiIAiIgCIiAIi+JZWQxPlkcGsY0uc49QHMoCs1DeRZ6HijAfVSnhgjIJ4jtk+WfkuOnrJ7FH7dWEy3CoHFI9\/Nmfy\/qq6ywyaivL75VMIpoXcNNE4\/hcMb\/Xx8FrVZL0rD9TJSXOlzXpt5CIirNYREQBERAEREBm9U0D4jFfKMYqaMgvAH42d\/h8sqHb6kan1THWCEiloYgQHdTzyz55x\/dWgvlZHQWaqnkwfcLWtP5idgPiszoiaWjrJaCdnB7TE2eInbi8PEH4K+N8DZ5tVJcRGN8nm++31LXWNa+K2st8DeOeueI2tHPGRn1OB5q4t1Gy32+CkjAAiYBt1nrPmclZ+iD71rGesJDqW3Do48ci7l88n0WpUJZJRNFH1zlU+F2X+hERVmoIiIAiIgCIodyutHaYOmq5Q391o3c7wC6lfQ5KSirt5EskAZJwAs7cdU5qDQWaD22rO3EN2N\/X5d6h\/zxq09dBbD\/ilH1+XitHbbVR2mDoaSIN\/ecd3O8Sp2UddTLjqVvZlHrv8eSustjqqarNyudY+orHtLeEH3WA9X8bIr1FBtt3Zop0401aIWa1hWyvjp7NSb1Fa4cQ7G5+p+AK0hIAyTgBZfTrfti+Vl8k3ZG7oacEchjn6H\/yKlDL1dCniG5JU1rL8bmio6WOio4qWIe5E0NC7oigaEklZBERDoREQBERAEREBltUONxu9tsjT7sj+lmG\/4f8AYO+C5azifQPo7rRkQyx5g4m8wC04x4DiXXT386akuV3O8bD0MJzkEdo8gP8AEqzVdRNeLlPT03vU9tjLpCOXFtn02HkVoivUl0PJqyTpSqbyeXx\/zZpdM2sWuzxMc0CaUdJL4kcvIfHKt1XWCf2iw0UnX0LWnbrG30ViqZXu7no0VFU4qOlgiIoloREQBeOcGtLnEAAZJPUoN1vNFZ4ekqpPeIyyNu7neA+qz4p7xqxwfUl1Bbc5bGPxPH18Tt3KajfN6FFSuovDFXl089CVXaofUzmgsMJqqg7GbHuM7+\/xO3iult0s0T+3XiY11Wd8P3Yzy6\/l3K3oLdSWynEFJCI29Z63HtJ61KXXK2USMaLk8VV3fTZBERVmkIiICp1NW+w2CpkDuF729GzHPLtvlk+S+tOUP2fYqaEjD3N43753duqzU37de7VanHEb39LIOeQP9A71WnVjyikZoeutKXTL9sIiKs0hERAEREAREQBVuoa02+x1U7Th\/Bws7eJ2w9M58lZLL6ue6sq7bZ2E\/tEodIAce7nH6+inBXkUcRNxpNrXydLc5undGCokHBK5hkxjBL3fhHy9F82S1iLStVJOMzV8T5JCW42IOB9fNcr81t3v9FYo3AQRfezhu2Bjl6f5lo6tobb52tAAETgAOrZTby7menBOT6RVl33KnRj+PTcLepj3geufqr5Z7RP9XWf9V60KhP3M0cN\/DHsgiKFc7vR2in6arkxn8LG7uce4fwFFK+hbKSirt5Exzg1pc4gADJJ6lm6\/U01XObfp+I1M5G8+PcZ377eZ28VFFPeNWOD6kuoLbnLYx+J4+vidu5aWgt1JbKcQUkIjb1nrce0nrU7KOubM2KpW9uUeu77eSqtel4oJvbLnJ7dWuOS5+7WnuB5+J9Ar9EUHJvUvp0401aKCIi4WBERAEREBmD+0\/wDERu2fZabq6sj\/AN1p1mLNh+tLvI7dzWhoJ7Nv0C06nPbsZuGzUn1b8BERQNIREQBERAEREAWSFQyTWFwuMp+6tlOQMnrxj6uWre9sbHPecNaCSewL82onzXUvoYciS41XSzkb4YNxkjvJPLqHaraavcw8XUwuCXW\/j7s02kKOV8dReanPTVryW56m5+p+ACvLlIIrZVSHkyF7j5NK608EdNTxwRNDWRtDWgDCg6hk6LT9c7thc312+qi3ikXRhyqNuiIWi2Fum4SfzveR64+iviQBknACzdrutFYtK0TqqQcToy5kbTlzsuJ29VGbDedVniqHOoLYTkRt\/FIPr57dylKN5NvQqp1lCnGEVeVll56Eu5apJqDQWWH2yrOQXNGWN7+\/5L216YIqBcLzL7ZWHcBxyxn649FbW610dqgENJCGDHvO5ud3k9amLjlbKJONFyeKq7vpsvIREVZqCIiAIiIAiIgCIiAzFj\/rhefL5rTrMUh9i17VQuwG1kPG3vOx+jlp1OeqM3De1ro3+QiIoGkIiIAiIgCIiArtQTmnsFbIDg9EWjz2+qz+hLVwRSXSVu78xw57PzH128imu7rwRR2uJ278STY7Pyj138gpX8pqK30NNQW2M1lSI2sZHFyBx1nr8lelLBZbnmznTfE4pP2r7mklljgidLM9scbBlznHAAWK1HqOK8NZabcC9ssjQ6Q5Acc7ADmd8KdDp+5XqVtTqCoIjacspYzgDxxy+J71xo6OGs1h0dLTsio7UMYYBu\/v78\/5Uioxd9bCvOrUSilZSy\/t+CfaNI01EWz1z\/bKhoAaXfgYByAB5+foFoURUuTk7s3U6UKatFBERcLAiIgCIiAIiIAiIgCIiAzGqwaG4Wy8Na4tgk4JSN\/dz\/8AXqtKx7ZI2yMcHNcAWkdYXGuo4rhRS0k4zHK3B7uw+R3Wf01XyW1z7JdHdFLE4+zufsHt7Aevu8cdSs90exlvyqzvpL8\/6ahERVmoIiIAi5zTRU8ZknlZEwc3PcAB5lUdbrK3QPEVIH10xOA2IHHr1+WVJRb0K51YU\/c7GgVLddVW218TOk9onH9nEc4PeeQUA0eor+f2yUWyjP8AZM3e4d\/+uPBVlxs1D9r0thtsXvnDqmd3vPA58+rbfbGchWRhG+bMlbiKuG8I2779l5Kyvo7lXU1RfqiMMhmeCOIjJGcADrwOS3dktVBQ0MMtLA1r5I2uMh3ccjPM\/Jdbla462zSW6MNY3gDYx1N4ccPlsFR011v1sp46CWySVDox0bJmE8JA2BOAe7rC65OasiEKUeHqYpZ3Wtr57lnqK9i0UQEOH1cx4Yo+Z8cL3TdpdarbiUuNROekm4jnBxyUSy2OqdWm73kh9Y78Ef8AyvTbl6ePLRKEmksKNFOMpz5s1bov+3YREVZqCIiAIiIAiIgCIiAIiIAiIgCrrtY6K8Q8NTHiQA8ErdnNP18CrFF1NrNEZRjNWkroykbNT2MGCKNlzpwfce4++B2c8\/NdBqm5wnFXp6qaAccTMkZ9PqtOinjT1Rn5Eo+ybS+GZc6nvE4IpdPTjq4pOLGfQfNe+0axq8tbS01G0jZ5IJHxPyWnRMa2R3kTfum\/sjMRaQfVv6W9XGarfnIYx2Gj+O7CvaK20duYWUdMyEHnwjc+J5qUii5N6k4UKcM4rPrucaqpjo6WWplOGRMLj5Kg0hRvkbU3moB6eteeHi5hmc\/E\/IL41ZPLW1FJYaVw46l4dKQc8LRyyOzmfJaOmp46SmipoW8McTQ1o7gpe2Pcr\/krf1H8vwjqiIqzUEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBEUW5z+zWuqnBIMcLnAjtxsizON2Vyh06Tc9Q3K6vBLWHoYc45f7Aeq1CodGU4g05C7rme559cfIBXynP3FHDJqkm9Xn9QiIoGgIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCj19IK+hmpHPLBK3hLm8wiJocaTVmeW+jbb6CGkY8vbE3hDjzKkoiahJJWQREQ6EREAREQBERAEREAREQBERAEREAREQH\/\/Z",
    "razonSocial": "ALEJANDRO GUILLERMO GEMMEL MARTINEZ",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:55",
    "ubicacionGPS": "LatLng(lat: -22.4609336, lng: -68.9282541)",
    "horaLlegada": "11:07",
    "horaDespacho": "11:42",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "1",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


19/05/2026 11:55:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:6508799

[19/05/2026 11:55:05] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('6508799', 'KY2798', 1, 21773342, 107012, NOW(), 
				'11:42', '11:07', '11:55', 2, 'retiro', 1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779206105.png', '', null, 'COMPLETADO','LatLng(lat: -22.4609336, lng: -68.9282541)' )
				
[19/05/2026 11:55:05] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200358

19/05/2026 11:55:05 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '6508799' AND 
				serieinterna = 'KY2798' AND
				correlativo = 1;				
		
19/05/2026 11:55:05 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '6508799'
				   AND serieintmaquina = 'KY2798'
		
19/05/2026 11:55:05 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY2798'
				   AND estado = 1
				
19/05/2026 11:55:05 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'KY2798'
				  AND rutcliente = '6508799';
				
19/05/2026 11:55:05 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'KY2798', 2, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
19/05/2026 11:55:05 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200358'                    
				WHERE idllamado = 12643			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


19/05/2026 11:55:05 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12643			
				
19/05/2026 11:55:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


19/05/2026 11:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

[19/05/2026 11:55:08] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

[19/05/2026 11:55:08] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

[19/05/2026 11:55:08] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

[19/05/2026 11:55:08] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

[19/05/2026 11:55:08] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 11:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                
[19/05/2026 11:55:47] 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;
                
[19/05/2026 11:55: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

[19/05/2026 11:55: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;
                

19/05/2026 11:58:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:58:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:58:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:58:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:58:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:58:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                
[19/05/2026 11:58:14] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[19/05/2026 11:58:14] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

19/05/2026 11:58:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:58:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:58:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:58:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:58:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:58:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:58:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 11:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

[19/05/2026 11:58: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;
                

19/05/2026 11:58:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:58:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:58:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:58:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                
[19/05/2026 11:58:45] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[19/05/2026 11:58:45] 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;
                

[19/05/2026 11: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;
                

19/05/2026 11: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 = 12627
                

19/05/2026 11: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 = 12627
                

[19/05/2026 11: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;
                

19/05/2026 11:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:59:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:59:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:59:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11:59:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12643
                

19/05/2026 11: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 = 12643
                

19/05/2026 11: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 = 12643
                

19/05/2026 11: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 = 12643
                

[19/05/2026 11:59: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;
                

19/05/2026 11:59:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

[19/05/2026 11:59: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;
                

19/05/2026 11: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 = 12643
                

[19/05/2026 11:59: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;
                

19/05/2026 11:59:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12643
                

[19/05/2026 11:59: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;
                

19/05/2026 11:59:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12643
            GROUP BY l.idllamado;
            

19/05/2026 11: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 = 12643
                

19/05/2026 11: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 = 12643
                

19/05/2026 11: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 = 12643
                

19/05/2026 11: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 = 12643
                

19/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                

19/05/2026 11:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12643
                
[19/05/2026 11:59: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;
				
[19/05/2026 11:59: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;
                

19/05/2026 11:59:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:59:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

[19/05/2026 11:59: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;
                

19/05/2026 11:59:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:59:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:59:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 11:59:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                
[19/05/2026 11:59: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;
                
[19/05/2026 11:59: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;
				

19/05/2026 12:00:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:00:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

[19/05/2026 12:00: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;
                
[19/05/2026 12:00:34] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[19/05/2026 12:00: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;
				
[19/05/2026 12:01: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[19/05/2026 12:01:04] 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;
                

[19/05/2026 12:01: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;
                

[19/05/2026 12:01:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:01:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:01:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

[19/05/2026 12:01: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;
                

19/05/2026 12:01:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:01:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:01:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

[19/05/2026 12:01: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;
                

[19/05/2026 12:01: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;
                

19/05/2026 12:01:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:01:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:01:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

[19/05/2026 12:01: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;
                

19/05/2026 12:01:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:01:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:01:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

[19/05/2026 12:01: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;
                

19/05/2026 12:01:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

[19/05/2026 12:01: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;
                

19/05/2026 12:01:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:01:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

[19/05/2026 12:01: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;
                

19/05/2026 12:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

[19/05/2026 12:01: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;
                

19/05/2026 12:01:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:01:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:01:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:01:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

[19/05/2026 12:01: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;
                

19/05/2026 12:01:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:01:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:01:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

[19/05/2026 12:01:37] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:01:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:01:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:01:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

[19/05/2026 12:01:40] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:01:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12649
LIMIT 1;
        

19/05/2026 12:01:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

[19/05/2026 12:01:42] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:01:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:42 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12649
LIMIT 1;
        

19/05/2026 12:01:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:42 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12649
LIMIT 1;
        

19/05/2026 12: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 = 12649
                

19/05/2026 12: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 = 12649
                

19/05/2026 12: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 = 12650
                

19/05/2026 12:01:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12: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 = 12650
                

19/05/2026 12:01:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:01:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12649
LIMIT 1;
        

19/05/2026 12:01:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:01:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:01:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:01:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12649
LIMIT 1;
        

19/05/2026 12:01:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:01:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:01:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:01:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:01:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12649
LIMIT 1;
        

19/05/2026 12:01:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:01:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:01:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:01:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:01:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:01: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12649
LIMIT 1;
        

19/05/2026 12:01:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:02:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:02:04 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12649
LIMIT 1;
        

19/05/2026 12: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 = 12649
                

19/05/2026 12: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 = 12649
                

19/05/2026 12: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 = 12649
                

19/05/2026 12:02:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12649
LIMIT 1;
        

19/05/2026 12: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 = 12649
                

19/05/2026 12: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 = 12649
                

19/05/2026 12: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 = 12649
                

19/05/2026 12: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 = 12649
                

19/05/2026 12: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 = 12649
                

19/05/2026 12:03:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:03:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:03:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:03:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:03:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:03:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:03:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:03:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12627
                

19/05/2026 12: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 = 12627
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12627
                

19/05/2026 12: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 = 12627
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12627
                

19/05/2026 12: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 = 12627
                

19/05/2026 12: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 = 12627
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12627
                

19/05/2026 12: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 = 12627
                

19/05/2026 12: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 = 12627
                

19/05/2026 12: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 = 12627
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12627
                

19/05/2026 12: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 = 12627
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12627
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12627
                

19/05/2026 12: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 = 12627
                

19/05/2026 12: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 = 12627
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12627
                

19/05/2026 12: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 = 12627
                

19/05/2026 12: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 = 12627
                

19/05/2026 12:04:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:04:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

[19/05/2026 12:04: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;
                

[19/05/2026 12:04: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;
                

19/05/2026 12:04:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:04:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:04:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:04:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:04:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:04:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

[19/05/2026 12:04: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;
                

19/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

[19/05/2026 12:04: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;
                

[19/05/2026 12:04: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;
                

19/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:04:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:04:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

[19/05/2026 12:04: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;
                

[19/05/2026 12:04: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;
                

19/05/2026 12:04:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:04:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:04:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

[19/05/2026 12:04: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;
                

[19/05/2026 12:04: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;
                

19/05/2026 12:04:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:04:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:04:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:04:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

[19/05/2026 12:04: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;
                

19/05/2026 12:04:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:04:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:04:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12:04:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:04:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:04:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12:05:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:05:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12:05:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:05:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12:06:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:06:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:06:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:06:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/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 = 12650
                

19/05/2026 12:06:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:06:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/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 = 12650
                

19/05/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 = 12650
                

19/05/2026 12:06:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:06:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/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 = 12650
                

19/05/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 = 12650
                

19/05/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 = 12650
                

19/05/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 = 12650
                

19/05/2026 12:06:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12:06:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:06:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12:06:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:06:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:06:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:06:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:06:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:06:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:06:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:06:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12: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 = 12650
                

19/05/2026 12:06:45 - logentry: =========================================
FECHA: 19/05/2026 12:06:45
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-OgrToU97A1rp7GsrQ7TrG_J..4cfGZ1BcUsu0pfKbKx1WMl4Pwz
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "15014912",
    "serieinterna": "KY2239",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "Notaria",
    "ciudadmaquina": "Calama",
    "departamentomaquina": "oficina",
    "rutTecnico": "21773342",
    "contador": "488812",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Instalacion",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12650",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD0ANsDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xAA\/EAABAwMCAQkGAwYFBQAAAAAAAQIDBAURBiExEhMUQVFhcZGhIjKBsdHhFSTBByVSkpOyFiMzVMJygqLw8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC4RAQACAQIDBQgCAwAAAAAAAAABAgMRIRIxUQQiQXHRMlJhgZGhweETQgUjJP\/aAAwDAQACEQMRAD8A+zAAAAAAAAAAAAAAAAAAAActdcqW3cz0qTkJM\/kM9lV3+AiNXJmKxrLg1XcJbbY3ywSLHM97WMcnFN8r6IpJ0bpXUUDp15UqxtV64xl2N9vEr2r81VZaram\/PT8pydiJhPkq+RZycxpWFFJm2a\/SNI\/IACDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVrv+8tZW+g96OlTnXovDPHh8G+ZaSr6X\/P3q63Zd0c\/mo1znbx8EaWU21ll7R3prj6z9o3ezfnf2gQxru2ip+UqJ1KqcV\/mT0LOVjTP5u+3i4dSy82zwyv6IhZzl+cQ72bes36zPoAAg0gAAAAAAAAAAAAAAAAAAAAAAAAAAAADju1V0K01VRnCsicrVzjfG3rghtPp+FaLfVKqI5WPm27eCfJDLW1QrbRHSM3kqpWtRM4yib\/ADwNVObbdJpSxrhFSOBq9yfZqltY2iOssOW+mS1vdr95Z6Kpej6eZIrcLO90nfjgnyLAc1upuh22mpsYWKJrV8cb+p0kLTraZacNODHWvSAAEVoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq1x\/eOuaGlTdlGznX9eF48P5T3Uq9M1BaLaibcvnX444z9GuGl1WuvN1uqqio+Tm414+z4+CNFF+f17WT4yyji5DV7Fwifq4v5T5Q8z26a+\/b7R+oWgAFD0wAAAAAAAAAAAYSyxwROlme2ONiZc5y4REPIJ4qmFk0EjZI3plrmrlFDmsa6NgADoAAAAAAAAAAAAAHDeqroVmq6jbLIl5OVxuuyeqncVrXEzvwuCkZ79TOjd+xPvglSNbRCnPfgxWs6NKQNodNQyPwnOI6Z6onUv2RDn0Ux0tLW3B6YfV1Cr27Jvx8XKdt+kbbNLTsYuEbCkLMbccN2+Bt05S9EsFHErcOWNHqne7f9Scz3ZnqopTTJSnux+vVJgAqbQAAAAAAMJZY4InSzPbHGxMuc5cIiA5MyKvGoaKzt5MjudqF92Bi+0vj2EVVahrrxUOodPxKqJs+qemERO7s+fcd9n0zS21\/SZ3LVVirlZpN8L3fXiWcMV3syTmtknTD9fD5dUbFabpqSRtTeZHU1Im8dMzZVTv7PFd\/AtFNTQ0dOynp40jiYmGtbwQ2gja0ytx4a49+cz4gOS5XGC1UT6uoVeQ3ZEamVVepCvRs1FqNEldL+F0SrlqMVUe5Pmvom4iuu\/gZM0VnhiNZ6LS+WOP35Gt2zuuDX02l\/3MP9RCCboa18ZZamV3WqvRM+SGf+CbN\/BN\/UU7pTqhx5\/dj6\/pPtc16Za5HJ3LkyKyuhaBi8unq6uF\/aj0X9M+pNWqhkt1E2mkqpKpWquHyccdnFTkxXwlOl8kzpeunzdgAIrgAAAAAKxdk6drW10ibtp2rM7sReP\/ABT0LOVezKtbrS61a7pAnMt22bvj\/ivmpZTbWWbtG\/DTrMfbd7rN7p2UFrjX26qdMonHCbfNfQsrWtYxGNTDWphE7EKw\/wDeOv2N96OghyuOCOx9XJ5FpFtoiHMPeve\/x0+gACtqAAABjJIyKN0kj2sY1Muc5cIid6lXqtQ114qHUOn4lVE2fVPTCInd2fPuJVrNlWTLXHz59PFK3jUNFZ28mR3O1C+7AxfaXx7CHitN01JI2pvMjqakTeOmZsqp39niu\/gSVn0zS21\/SZ3LVVirlZpN8L3fXiTZLiivsqf4r5d8u0dPVppaSnooGwU0TYo28GtQ3AFbVEREaQAAOqreI\/xjV1HbH5Wnpmc7K3qVeOP7U+KlqKxZ8Sa1u8rky9rUai9230Qs5Zfwhl7PvxX6zP22AAVtQAAAAAAAAAAMZHtijdI73WIqr4IVvRLHLbaqtlVEdUTq5fBPuqknqKZafT9bIjuSvNK3Pjt+pG0rltf7P+c4OWnc5FXteq4\/uQsrHd82TJaIzRM\/1iZYaPzWVFzurt1nn5LV7E44x8ULQQ2lKbo2nKVFReVIiyLnvXKemCZOXnW0p9mrw4q6+f13ADxzka1XOVEREyqr1EGh6R13vdHZoOcqX5e5PYib7z\/oneRdw1Q+pqEt9gj6VUu4y49hidvf48PE22jTDaefp9zlWsrXb5du1i93aWRWI3syzmm88OLf4+EerhjoLtqiRJrm51HQZy2nZs5\/Yv3X4IWilpKeigbBTRNijbwa1DcCNrTKzHhim\/OeoACK4AAAAAVegclHruugeip0qLlsXtXZfr5FoK1quJ9FU0d9hjVzqVyNk\/6VX7qnxLDTzx1VPHPC5HxyNRzVTrQsvvESy4O7a2OeuvylsABW1AAAAAAAAAAArmuJuRYUjTdZpmtRE+K\/oaNXflrDRWuPHLleyNE4JhqfXkmeqPzN6stEnB03LendlOvwyY1jluWu6WlxmOgZzjuOzsZz2cVYX12iPnLzc3eteOulfzKywQtp6eOFnuxsRqbY2RMGw1zTw00Syzysijbxc9cIhW6jUdbdqh1Fp+DlY2dVPTDWp2p9\/Iqis2bL5aY9Inn08Utdr7Q2ePNTJmRfdiZu5fp8SD6LetUuR1Zyrfbl3SJPef8AXxXbuJC06Xgo5emVz+mVrlysj90Re5F+a+hPEuKK+yq\/jvm3ybR09ZctBbqS2U6QUkKRt6163L2qvWdQBXM6tURFY0gAAdAAAAAAAAa54Y6mCSCVvKjkarXJ2opV7LVyaduDrHcHLzD3q6lnXZuF6u7PovjkthwXi0wXihdTzJhybxv62KTrMcp5KM2O06Xp7Uff4O8FVt97qLHUJar8vJRE\/wAmpT2mq3sVcb+OPEtLXI5qOaqKiplFTrOWrMJYstckbc\/GOj0AEVoAAAAAA8VURMquEQgbjq6gpJOYpWurqhVwjIV2z4\/TJ2KzPJXfJTHGtp0csq9I\/aExXOTkUdMrl7G7Lx\/nT0Ii0ahbBX19U2mkqa2tkRIYmtwiJvx9PIj6jpdet1uksq0ysc1kkTc+2rlxyPBOTv4F301aYLfaaZ\/MMSokjRz5Me1vvjPxwaLaVru8rFx5snd23mdfPZHw6fuF5elTqGocjUXLKWJcInjj\/wC95ZYKeGlhbDBG2ONqYRrUwiGwFFrTL1MeGuPeOfXxAARWgAAAAAAAAAAAAAAAOaut9LcqdYKuFsrF3TPFF7UXqK2tDqDTq5t0q3Cian+i\/dzfBOPl5FtBKtpjZTkw1vPFynrCv0us7VKqMqVkpJM4VsjF2+KErDdLfUM5cNbA9O6RNjKqt9FWpiqpYZu97EVU+JFy6Nskr1clM+PPUyRcEu5KH\/RXpP29Ut02l\/3MP9RDVLeLZD\/qXCmbvjCyoRX+CbN\/BN\/UU3RaPskXGkWRe18jl\/U5pTqcXaJ\/rH1n0ey6uskWUSrWV3U2ONy59MEeuqLncncizWl7m5xz0\/D02TzJ2Gz2ynVFioKdrk4O5pM+Z2IiImETCId1rHKDgzW9q2nlHqrCacu9yXN5uzljXjBBs1ezsT0Ji32e3WaFVp4WsVE9qV27lTvUkDjvE3MWaslyiK2B6oq9uFx6nOKbbOxhx49b6az1nd89pGyV1NS0aqua6uV704JhERM\/+TvI+mtajWo1qIiImEROo+f6HpXVV36Q5EVlJEuMpndyrj5uPoJPNO+jN\/j6\/wCubz4\/j96gAKXogAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ+q5Vh01WORcKrWt49rkRfRSYKrrytSK2w0aKnKnfylTO6Nb98E6RraGftNuHDafg6dF0PRbE2Zye3UuV67524J8vUsJppIej0cEGETm42twnVhMG45adZmU8NP48cV6AAIrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPneoalbpq9lMntMjlZA1qrtnO\/qq+RerlWtt1unq34xExVRF616k88FEstG78btD5N5alX1Dlx1b4\/tVfiX4o01s87ts8U1xx4zv9dH0UAFD0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFY1bK+sqKCyQ45VTIj5N90an\/qr\/wBpY44IomRsjja1sTeSxMe6nDCeRWrR+9dX19xXeKlTmYsp18Mp5O\/mLSWX2iKsuDvzbJ1nbygABW1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcF7r\/w2z1FUioj2swzP8S7Id5VtSot1vdvsrN2Z56bC8E\/TZF80JUjWd1Ge80xzpznaPOXfpO3rb7FEj28mWdedenjw9ME0eNajWo1qIiImEROo9OTOs6rMdIpSKx4AAOJgAAAAAAAAAAAAAAAAAAAAAAAAAAAADxzka1XOVEREyqr1FX0uxtxutxvbkzy5OaiVepMJn05PqSep65KCw1D84fK3mmb43dt6JlfgZ6eoPw6yU8CoqPVvLfletd\/sWRtWZ6st+\/nrXpv+ISYAK2oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpqKWnq2IyohZK1FyiPbnCm4AOaRzAAHQAAAAAAAAAAAAAAAAAAAAB\/9k=",
    "razonSocial": "HECTOR MAURICIO PINTO RAMOS ",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "HECTOR PINTO RAMOS",
    "correoContacto": "hectorpintoabogado@gmail.com",
    "correoCliente": "ALEXGEMMELL@GMAIL.COM",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "942644089",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:06",
    "ubicacionGPS": "LatLng(lat: -22.4609229, lng: -68.9282413)",
    "horaLlegada": "12:01",
    "horaDespacho": "11:55",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 19/05/2026 12:06:45
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-OgrToU97A1rp7GsrQ7TrG_J..4cfGZ1BcUsu0pfKbKx1WMl4Pwz
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "15014912",
    "serieinterna": "KY2239",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "Notaria",
    "ciudadmaquina": "Calama",
    "departamentomaquina": "oficina",
    "rutTecnico": "21773342",
    "contador": "488812",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Instalacion",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12650",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD0ANsDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xAA\/EAABAwMCAQkGAwYFBQAAAAAAAQIDBAURBiExEhMUQVFhcZGhIjKBsdHhFSTBByVSkpOyFiMzVMJygqLw8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC4RAQACAQIDBQgCAwAAAAAAAAABAgMRIRIxUQQiQXHRMlJhgZGhweETQgUjJP\/aAAwDAQACEQMRAD8A+zAAAAAAAAAAAAAAAAAAAActdcqW3cz0qTkJM\/kM9lV3+AiNXJmKxrLg1XcJbbY3ywSLHM97WMcnFN8r6IpJ0bpXUUDp15UqxtV64xl2N9vEr2r81VZaram\/PT8pydiJhPkq+RZycxpWFFJm2a\/SNI\/IACDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVrv+8tZW+g96OlTnXovDPHh8G+ZaSr6X\/P3q63Zd0c\/mo1znbx8EaWU21ll7R3prj6z9o3ezfnf2gQxru2ip+UqJ1KqcV\/mT0LOVjTP5u+3i4dSy82zwyv6IhZzl+cQ72bes36zPoAAg0gAAAAAAAAAAAAAAAAAAAAAAAAAAAADju1V0K01VRnCsicrVzjfG3rghtPp+FaLfVKqI5WPm27eCfJDLW1QrbRHSM3kqpWtRM4yib\/ADwNVObbdJpSxrhFSOBq9yfZqltY2iOssOW+mS1vdr95Z6Kpej6eZIrcLO90nfjgnyLAc1upuh22mpsYWKJrV8cb+p0kLTraZacNODHWvSAAEVoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq1x\/eOuaGlTdlGznX9eF48P5T3Uq9M1BaLaibcvnX444z9GuGl1WuvN1uqqio+Tm414+z4+CNFF+f17WT4yyji5DV7Fwifq4v5T5Q8z26a+\/b7R+oWgAFD0wAAAAAAAAAAAYSyxwROlme2ONiZc5y4REPIJ4qmFk0EjZI3plrmrlFDmsa6NgADoAAAAAAAAAAAAAHDeqroVmq6jbLIl5OVxuuyeqncVrXEzvwuCkZ79TOjd+xPvglSNbRCnPfgxWs6NKQNodNQyPwnOI6Z6onUv2RDn0Ux0tLW3B6YfV1Cr27Jvx8XKdt+kbbNLTsYuEbCkLMbccN2+Bt05S9EsFHErcOWNHqne7f9Scz3ZnqopTTJSnux+vVJgAqbQAAAAAAMJZY4InSzPbHGxMuc5cIiA5MyKvGoaKzt5MjudqF92Bi+0vj2EVVahrrxUOodPxKqJs+qemERO7s+fcd9n0zS21\/SZ3LVVirlZpN8L3fXiWcMV3syTmtknTD9fD5dUbFabpqSRtTeZHU1Im8dMzZVTv7PFd\/AtFNTQ0dOynp40jiYmGtbwQ2gja0ytx4a49+cz4gOS5XGC1UT6uoVeQ3ZEamVVepCvRs1FqNEldL+F0SrlqMVUe5Pmvom4iuu\/gZM0VnhiNZ6LS+WOP35Gt2zuuDX02l\/3MP9RCCboa18ZZamV3WqvRM+SGf+CbN\/BN\/UU7pTqhx5\/dj6\/pPtc16Za5HJ3LkyKyuhaBi8unq6uF\/aj0X9M+pNWqhkt1E2mkqpKpWquHyccdnFTkxXwlOl8kzpeunzdgAIrgAAAAAKxdk6drW10ibtp2rM7sReP\/ABT0LOVezKtbrS61a7pAnMt22bvj\/ivmpZTbWWbtG\/DTrMfbd7rN7p2UFrjX26qdMonHCbfNfQsrWtYxGNTDWphE7EKw\/wDeOv2N96OghyuOCOx9XJ5FpFtoiHMPeve\/x0+gACtqAAABjJIyKN0kj2sY1Muc5cIid6lXqtQ114qHUOn4lVE2fVPTCInd2fPuJVrNlWTLXHz59PFK3jUNFZ28mR3O1C+7AxfaXx7CHitN01JI2pvMjqakTeOmZsqp39niu\/gSVn0zS21\/SZ3LVVirlZpN8L3fXiTZLiivsqf4r5d8u0dPVppaSnooGwU0TYo28GtQ3AFbVEREaQAAOqreI\/xjV1HbH5Wnpmc7K3qVeOP7U+KlqKxZ8Sa1u8rky9rUai9230Qs5Zfwhl7PvxX6zP22AAVtQAAAAAAAAAAMZHtijdI73WIqr4IVvRLHLbaqtlVEdUTq5fBPuqknqKZafT9bIjuSvNK3Pjt+pG0rltf7P+c4OWnc5FXteq4\/uQsrHd82TJaIzRM\/1iZYaPzWVFzurt1nn5LV7E44x8ULQQ2lKbo2nKVFReVIiyLnvXKemCZOXnW0p9mrw4q6+f13ADxzka1XOVEREyqr1EGh6R13vdHZoOcqX5e5PYib7z\/oneRdw1Q+pqEt9gj6VUu4y49hidvf48PE22jTDaefp9zlWsrXb5du1i93aWRWI3syzmm88OLf4+EerhjoLtqiRJrm51HQZy2nZs5\/Yv3X4IWilpKeigbBTRNijbwa1DcCNrTKzHhim\/OeoACK4AAAAAVegclHruugeip0qLlsXtXZfr5FoK1quJ9FU0d9hjVzqVyNk\/6VX7qnxLDTzx1VPHPC5HxyNRzVTrQsvvESy4O7a2OeuvylsABW1AAAAAAAAAAArmuJuRYUjTdZpmtRE+K\/oaNXflrDRWuPHLleyNE4JhqfXkmeqPzN6stEnB03LendlOvwyY1jluWu6WlxmOgZzjuOzsZz2cVYX12iPnLzc3eteOulfzKywQtp6eOFnuxsRqbY2RMGw1zTw00Syzysijbxc9cIhW6jUdbdqh1Fp+DlY2dVPTDWp2p9\/Iqis2bL5aY9Inn08Utdr7Q2ePNTJmRfdiZu5fp8SD6LetUuR1Zyrfbl3SJPef8AXxXbuJC06Xgo5emVz+mVrlysj90Re5F+a+hPEuKK+yq\/jvm3ybR09ZctBbqS2U6QUkKRt6163L2qvWdQBXM6tURFY0gAAdAAAAAAAAa54Y6mCSCVvKjkarXJ2opV7LVyaduDrHcHLzD3q6lnXZuF6u7PovjkthwXi0wXihdTzJhybxv62KTrMcp5KM2O06Xp7Uff4O8FVt97qLHUJar8vJRE\/wAmpT2mq3sVcb+OPEtLXI5qOaqKiplFTrOWrMJYstckbc\/GOj0AEVoAAAAAA8VURMquEQgbjq6gpJOYpWurqhVwjIV2z4\/TJ2KzPJXfJTHGtp0csq9I\/aExXOTkUdMrl7G7Lx\/nT0Ii0ahbBX19U2mkqa2tkRIYmtwiJvx9PIj6jpdet1uksq0ysc1kkTc+2rlxyPBOTv4F301aYLfaaZ\/MMSokjRz5Me1vvjPxwaLaVru8rFx5snd23mdfPZHw6fuF5elTqGocjUXLKWJcInjj\/wC95ZYKeGlhbDBG2ONqYRrUwiGwFFrTL1MeGuPeOfXxAARWgAAAAAAAAAAAAAAAOaut9LcqdYKuFsrF3TPFF7UXqK2tDqDTq5t0q3Cian+i\/dzfBOPl5FtBKtpjZTkw1vPFynrCv0us7VKqMqVkpJM4VsjF2+KErDdLfUM5cNbA9O6RNjKqt9FWpiqpYZu97EVU+JFy6Nskr1clM+PPUyRcEu5KH\/RXpP29Ut02l\/3MP9RDVLeLZD\/qXCmbvjCyoRX+CbN\/BN\/UU3RaPskXGkWRe18jl\/U5pTqcXaJ\/rH1n0ey6uskWUSrWV3U2ONy59MEeuqLncncizWl7m5xz0\/D02TzJ2Gz2ynVFioKdrk4O5pM+Z2IiImETCId1rHKDgzW9q2nlHqrCacu9yXN5uzljXjBBs1ezsT0Ji32e3WaFVp4WsVE9qV27lTvUkDjvE3MWaslyiK2B6oq9uFx6nOKbbOxhx49b6az1nd89pGyV1NS0aqua6uV704JhERM\/+TvI+mtajWo1qIiImEROo+f6HpXVV36Q5EVlJEuMpndyrj5uPoJPNO+jN\/j6\/wCubz4\/j96gAKXogAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ+q5Vh01WORcKrWt49rkRfRSYKrrytSK2w0aKnKnfylTO6Nb98E6RraGftNuHDafg6dF0PRbE2Zye3UuV67524J8vUsJppIej0cEGETm42twnVhMG45adZmU8NP48cV6AAIrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPneoalbpq9lMntMjlZA1qrtnO\/qq+RerlWtt1unq34xExVRF616k88FEstG78btD5N5alX1Dlx1b4\/tVfiX4o01s87ts8U1xx4zv9dH0UAFD0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFY1bK+sqKCyQ45VTIj5N90an\/qr\/wBpY44IomRsjja1sTeSxMe6nDCeRWrR+9dX19xXeKlTmYsp18Mp5O\/mLSWX2iKsuDvzbJ1nbygABW1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcF7r\/w2z1FUioj2swzP8S7Id5VtSot1vdvsrN2Z56bC8E\/TZF80JUjWd1Ge80xzpznaPOXfpO3rb7FEj28mWdedenjw9ME0eNajWo1qIiImEROo9OTOs6rMdIpSKx4AAOJgAAAAAAAAAAAAAAAAAAAAAAAAAAAADxzka1XOVEREyqr1FX0uxtxutxvbkzy5OaiVepMJn05PqSep65KCw1D84fK3mmb43dt6JlfgZ6eoPw6yU8CoqPVvLfletd\/sWRtWZ6st+\/nrXpv+ISYAK2oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpqKWnq2IyohZK1FyiPbnCm4AOaRzAAHQAAAAAAAAAAAAAAAAAAAAB\/9k=",
    "razonSocial": "HECTOR MAURICIO PINTO RAMOS ",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "HECTOR PINTO RAMOS",
    "correoContacto": "hectorpintoabogado@gmail.com",
    "correoCliente": "ALEXGEMMELL@GMAIL.COM",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "942644089",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:06",
    "ubicacionGPS": "LatLng(lat: -22.4609229, lng: -68.9282413)",
    "horaLlegada": "12:01",
    "horaDespacho": "11:55",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


19/05/2026 12: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 = 12650
                

19/05/2026 12:06:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:15014912

[19/05/2026 12:06:45] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('15014912', 'KY2239', 2, 21773342, 488812, NOW(), 
				'11:55', '12:01', '12:06', 1, 'Instalacion', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779206805.png', '', null, 'COMPLETADO','LatLng(lat: -22.4609229, lng: -68.9282413)' )
				
[19/05/2026 12:06:45] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200359

19/05/2026 12:06:45 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '15014912'
				   AND serieintmaquina = 'KY2239'
		
19/05/2026 12:06:45 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY2239'
				   AND estado = 1
				
19/05/2026 12:06:45 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('15014912', 'KY2239', 1, 1, now(), 'Notaria', 'Calama', 'oficina');
				
19/05/2026 12:06:45 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200359'                    
				WHERE idllamado = 12650			
				TO ENVIO: ALEXGEMMELL@GMAIL.COM, hectorpintoabogado@gmail.com


19/05/2026 12:06:46 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12650			
				
19/05/2026 12:06:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


19/05/2026 12:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12650
                

19/05/2026 12:06:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:06:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/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 = 12650
                

19/05/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 = 12650
                

19/05/2026 12:06:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:06:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

[19/05/2026 12:06: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;
                

19/05/2026 12:06:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:06:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

[19/05/2026 12:06: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;
                

19/05/2026 12:06:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:06:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12: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 = 12650
                

19/05/2026 12:06:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:06:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12:06:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:06:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:06:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:06:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:06:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:06:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

[19/05/2026 12:06: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;
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12:06:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:06:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

[19/05/2026 12:06: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;
                

19/05/2026 12:06:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:06:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

19/05/2026 12:06:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:06:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12650
LIMIT 1;
        

[19/05/2026 12:06: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;
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12: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 = 12650
                

19/05/2026 12:07:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:03 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:07:03 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

[19/05/2026 12:07: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;
                

[19/05/2026 12:07: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;
                

19/05/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 = 12651
                

19/05/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 = 12651
                

19/05/2026 12:07:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:03 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/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 = 12651
                

[19/05/2026 12:07: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;
                

[19/05/2026 12:07: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;
                

19/05/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 = 12651
                

19/05/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 = 12651
                

19/05/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 = 12651
                

[19/05/2026 12:07: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;
                

[19/05/2026 12:07: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;
                

19/05/2026 12:07:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:03 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/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 = 12651
                

19/05/2026 12:07:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:03 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/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 = 12651
                

19/05/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 = 12651
                

19/05/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 = 12651
                

19/05/2026 12:07:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:03 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:07:03 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:07:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:03 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/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 = 12651
                

19/05/2026 12:07:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:04 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:07:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:04 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:07:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:04 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/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 = 12651
                

19/05/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 = 12651
                

19/05/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 = 12651
                

19/05/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 = 12651
                

19/05/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 = 12651
                

19/05/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 = 12651
                

19/05/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 = 12651
                

19/05/2026 12: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 = 12651
                

19/05/2026 12: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 = 12651
                

19/05/2026 12: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 = 12651
                

19/05/2026 12:07:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:07:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:07:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

[19/05/2026 12:07: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;
                

19/05/2026 12:07:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12: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 = 12651
                

[19/05/2026 12:07: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;
                

19/05/2026 12:07:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

[19/05/2026 12:07: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;
                

19/05/2026 12:07:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12: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 = 12651
                

19/05/2026 12:07:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12: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 = 12651
                

[19/05/2026 12:07: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;
                

19/05/2026 12: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 = 12651
                

[19/05/2026 12:07: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;
                

19/05/2026 12:07:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:07:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

[19/05/2026 12:07: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;
                

19/05/2026 12:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

[19/05/2026 12:07: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;
                

19/05/2026 12:07:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:07:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:08:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:08:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12: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 = 12651
                

19/05/2026 12: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 = 12651
                

19/05/2026 12:08:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:08:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12: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 = 12651
                

19/05/2026 12: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 = 12651
                

19/05/2026 12: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 = 12651
                

19/05/2026 12: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 = 12651
                

19/05/2026 12:08:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12:08:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:08:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:08:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:08:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12:08:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:08:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:08:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:08:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12:08:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:08:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:08:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:08:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12:08:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:08:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:08:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:08:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:08:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:08:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:08:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:08:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:08:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:08:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:08:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:08:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:08:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:08:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:08:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:09:10 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:09:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:11 - logentry: =========================================
FECHA: 19/05/2026 12:09:11
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-6ipijBaI39RoJJmhnRCE0W+9sh0-mbl1dbj3ZI-EcrqSPpGhv8K
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "15014912",
    "serieinterna": "KY2798",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "Notaria",
    "ciudadmaquina": "Calama",
    "departamentomaquina": "oficina",
    "rutTecnico": "21773342",
    "contador": "107012",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Instalacion",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12651",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACjAKQDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABBEAABAwMCAgYIAwUGBwAAAAABAAIDBAURBiESMRNBUWGBoRQVIjJxkbHBI0LRJDV0wvAHFoKS0uElM0NScqLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgIBAgQDBwQDAAAAAAAAAAECEQMhMQQSQVEyccETIjOBobHRI2Hh8HKCkf\/aAAwDAQACEQMRAD8A+zIiIAiKBumoZLdqGjt\/RMMM4aXvJORxEt+wXUm9iGTJHGrkTyIi4TCIiAIiIAiIgCIiAqtyut6dqSa2259O3gjDmNeN37Akb9e57Nguin1V6POKW90b6CY8n44o3eP\/ANHetOpuK2Xm3XpjSWNd0U2Ntt8eRd8grFUU1PWQGKoiZNE78rhkfFWtxpaGGCyOc6lqns9qex7iljmjbJFI2RjhlrmnIPivaqtRY7hYpzXWKV8sWfbo3kkEYx27\/VS9kvkF5pyWjoqiPaWFx3af0UXHS1sXQzXLkmqf38iTREUDQEREAREQBfP9ducy\/wBO9pw5tO0g9h4nL6AqXrCnEt+ow4H8WnexuBuXe1jzIVuF1Iw8em8NLui3UlQ2ro4alnuysDx4jK3KE0hU+kacpwTl0RdGfA7eRCm1XJU2jVinzwUu6CIi4WBERAEREAREQHDebeLpap6Q4DntywnqcNwo7SNydV2w0k+RUUZ6N4PPHV9MeCn1VLiz1FqynuTfZpa49HNjYBx6z5HwKsjqnEy5v05rKvJ+X8Mtar17skwqBd7Qejro93MHKUfr9VYUUIyadouyY45I0yMsl6ivFKXBvRzx7SxHm0\/pspNVW+Us9jujb\/QNLonHFXEORB6\/HyOO1WSkqoq2ljqYHcUcreJpUpJbrYrw5JNuE\/Evqu5uREUDQEREAVX1gOirLRV8hHUYJ7iWn7FWhVnXTSLPBKOcdQ07\/AqePxIzcX8GR50j+w11ztJ2EMvGzPMjl9A35q0KrVJFDrylqGuIjr4eFxxzOMAeTVaV3Jvfc5w2kXDs2vVBERVmoIiIAiIgCIiALgvVtbdbXNSHHE4ZjJ6nDku9F1OnZGUVKLi9mQ2mLk6vtYjnyKmmPRSg88jkf66wVMqq1knqDV8dV7tJcW8Mh6g\/t+h8SrUpTWtrqU4JNxcJbx0\/DPEsUc8L4ZWB8bwWuaeRCrmnpTaLrU2Cdx4eIy0pP5mncj+uwqzKt6xpHtpYbtTO4KiieDxDmWk\/r9SkNfdfU5xCcUsq3j9upZEWmjqG1dFBUt5SxtePEZRQNCdq0bkREOhQesYul01UnrYWuH+YD7qcXNcaf0u21NOOcsTmj4kbKUXTTK8sefHKPdFVvspNksd3YDxQFmcHtAJ82q5NIc0OG4IyFSqdwrv7OZmcPE6mJHww4O+hVlsE\/pFhopOvoWtO3WNvspzWnkzLw0rn\/kk\/QkURFUbgiIgCIiAIiIAiLRXCZ1BUCnJExicIyOYdg480ON0rI\/U9u9Y2OZjWcUsY6SPtyP8AbK2aeuBudlp6hxzJjgk3z7Q28+fiqla6u8W63i6wTPrIGktqaZ5P4W\/P5YOQpDRdTF6xuVNTn8BxEsTf+0ZxjzA8Fe4VFrsedj4hSzRdVzL+U\/ui4LkulOKu1VVOWh3HE4AHtxt5rrXl72xsc95w1oJJ7AqVuejJJppkHoyfptOQtPOJ7meefui0aEY5lhe48n1DnD4YaPsilk8TKOFbeGN9iyoiKBoCIiAqGnoGEX2ynA9twY3uOW58gu\/RVQZtPtiPvQSOYQefb91zvzb\/AO0FjsgMr4MH4gfqwfNZ0f8Ah1N3pxsI6nZvZuR9lfLWLfkeZh93JGPbmXqizoiKg9MItYnhMpiErOkHNudxtn6LYgsIiwSAMk4AQGVhzg1pc4gADJJ6lH1eoLTRcQnrouJpwWsPE4H4DKq2oNUw3ah9CoYJx0jwOkd7Oe7A55U445SM2XiceNPXXsXkEEZByCsqhWmt1FO4WWnmipZKZuD0rcPDc94PLPyUqdJ11YP+J3yeUHnGzIb5nHkpOCT1ZCHEyyK4Qb+hyXFzNNXt1bSSRS0lWf2im4xkdZwPnjxCjbPdrbZdQ1VRG6R9HJGRHwt3GS04wezcLsu1tsNnYKWngdWV8nssa+Qu4Setwbj5YXBJp6ot9xtlPHNw1dQOMkj2WHsV0eVrU87J7SM7ilo771fTpv2LF\/fu2uJEdLWPI7GN\/wBS4rprE1FDNSR2+ohmnYWNLu\/YrsbHrJoEfSUeAMcYA\/T7LotenZo68XO61jqqsx7IGzWfr5BV+4tTVfEZPdTev7JerO6wUTrfY6Wne3heGcTweYcdyPNFIoqW7dnoxioxUV0CIi4SCKPrb7a7eS2prI2vbzY08TvkFEHWfpDuG2WmqqyDgnGAPkCpKEn0KZ8Rig6b1GswaY265tBJpqgZx1jn\/L5rGmSG6ivjByfKHjPP3nH7rju8+orrbJo5bVHTU2ONxc\/DgBv1nu7FXbfcqqmlllirxSvLACeAuL8DAHIrRGDcKPLyZ1DiFOnW\/bo11+R9WRfNYq\/Ulxf+yVFbO3PvMBa3PxGylqTTmpZ2g1d5mp2nm3p3vcPAHHmq3irdmuHGPJ4INkZVvkN5ulzZVxw1NFU\/hMe7HSDLgQM89gNu8qebrmldTxCOknmqntHFGwbA9Yzz8lA2zS5utwuNO6uLDRy8BeY+LpN3DPPb3e\/mt1y0\/ctOxiekr53QO\/5r4A5hb8QD91a1BunuYYS4iEXkiqTu+vX+omDVasujR6PSRW6M\/ml97xzk\/wDqs\/3Rqq0l12vNRODuWM2APdnI7epaaKx1twpWVNNqurfG8bHDtu4+3zW8aWumd9T1mP8AF\/rVdpbOvkaVCU1couX+yr6M76XS9movbbSNe4D3piXeODsoW4V1JUarpYHTU8NFbgXHiwG8XYB1\/l5d5XDfrRS0DGwPuVVW18pAZHxDwznPgOtTVp0ZQQ0cZuEPT1BGXe0QG56tjvjtXdEuZuzj55v2eOCVU3+NCJv16t\/rWnudomc+riOJPYIa9oHXn5fBd0VZqLUjBJRmO30T8jpGvDn7Hffnn5KzQUFHSsLKelhia4YcGsAyO\/tVensl0s1XJVafewwSHifSvO2e7PV4grilF6L6k5YcsXzSdp7qOn9\/ck7Rp2itBMrcz1Lvemk3d347FGUx9da1fVMYHU1vZ0Yfnm\/ff5k+ASWfVF1Y6k9BZQMfs+Uu3x1gH9Apu02qntFC2mgGSN3yEYLz2lRbq23qWRipuMYRqK18zuREVRuCIiAgNRaoZZHtp44DLUPZxDi2a0cs9\/JVibUFTdWvFddfRYD\/ANCniJJ7s\/qVfqi30VXIJKmjgmeBgOkia4gdmSF4jtVuidxR0FKwg5y2Fo+ytjOKW2phy4M2SXi07FLop7TE0erNP1NxkG3STb79RwMjqPUpZrtW1bBHDT0tth\/LyyB2Y3+g5K0AADAGAFlHkvoShwriq5v+Uv5KuzRr6rD7tdKiqdz4WnAG3ac\/ZcOlqGjh1HcaV7GTGnJ6IvaDgB2Ce48ldl85t9b6HrB9ZI7hhlqpY3uHLc\/7gqUXKSaKM+PHhnBpdT6KAAMAYAWURUHplY0t+\/NQfxP8z1ZnNDmlrgCCMEHrVZ0t+\/NQfxP8z1Z1PJ4jNwvwl8\/uyvVGlGRzPqLRWTW+V3NrHHgO\/Z9uS0+qtVuHROvcIi5cQb7WP8ufNWdE52dfDY70teTaIe0abpLY4VDyamsPvTybnPd2fVTCIott6sthCMFUVQREXCYREQBERAEREAREQBERAYcQ1pcdgBkqhW62uuukrhKG5m9JMrBjckNBOD4lXK7zimtFXMRnghcQO042Ufo+Ew6bpyc5kLn4PxOPIK2L5Y2Y80FkyqD7P0R06eufrWzw1DjmVvsSf+Q\/XY+Kk1Vbe71Fq2ot7m8FLXnjhOMAO7B5j5K1KM1T0LeHm5QqW60ZWNLfvzUH8T\/M9WdVjSY47pfJ2nMclV7J7faefuFZ0yeIjwvwl8\/uwiIoGkIiIAiIgCIiAIiIAiIgCIiAIiICA1nVmCxOgZkyVT2xtA59p+mPFS1upvQ7bTU2MGKJrT8cb+agLpi6azoaAjiio29LIDuM8+Xg3n2\/O0KyWkUjNi97LOfbT8kNqW1G42\/pYBirpj0kLhz25j+usBaqTU1PV6enrukDJ4Ij0jOsP5DHcTyU8oes0taa2qFRJAWuyS4MdgPznmPHqwkWqqQyY5qTnj67+jNOjaQ01gZI7BdUPMpOc9w+inl4iiZDEyKNoaxjQ1rR1AcgvahJ27LcUPZwUewREXCwIiIAiIgCIiAIiIAiIgCIiALXPMyngknkOGRtLnHuC2KuauqZZIYLPTD8eueG5zgBuev+upSirdFWXJ7ODka9IQS1UtbfKhga6reRGMcmg747s4H+FWdaKKlZQ0UNLGcthYGAnrx1reknbsYcfs4KL39QiIoloREQBERAEREAREQBERAEREAREQBERAF4MUZkEhjaXgYDsbjxREB7REQBERAEREAREQBERAEREAREQBERAEREB\/\/Z",
    "razonSocial": "HECTOR MAURICIO PINTO RAMOS ",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "HECTOR PINTO RAMOS",
    "correoContacto": "hectorpintoabogado@gmail.com",
    "correoCliente": "ALEXGEMMELL@GMAIL.COM",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "942644089",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:09",
    "ubicacionGPS": "LatLng(lat: -22.4610435, lng: -68.9282454)",
    "horaLlegada": "12:01",
    "horaDespacho": "12:06",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 19/05/2026 12:09:11
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-6ipijBaI39RoJJmhnRCE0W+9sh0-mbl1dbj3ZI-EcrqSPpGhv8K
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "15014912",
    "serieinterna": "KY2798",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "Notaria",
    "ciudadmaquina": "Calama",
    "departamentomaquina": "oficina",
    "rutTecnico": "21773342",
    "contador": "107012",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Instalacion",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12651",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACjAKQDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABBEAABAwMCAgYIAwUGBwAAAAABAAIDBAURBiESMRNBUWGBoRQVIjJxkbHBI0LRJDV0wvAHFoKS0uElM0NScqLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgIBAgQDBwQDAAAAAAAAAAECEQMhMQQSQVEyccETIjOBobHRI2Hh8HKCkf\/aAAwDAQACEQMRAD8A+zIiIAiKBumoZLdqGjt\/RMMM4aXvJORxEt+wXUm9iGTJHGrkTyIi4TCIiAIiIAiIgCIiAqtyut6dqSa2259O3gjDmNeN37Akb9e57Nguin1V6POKW90b6CY8n44o3eP\/ANHetOpuK2Xm3XpjSWNd0U2Ntt8eRd8grFUU1PWQGKoiZNE78rhkfFWtxpaGGCyOc6lqns9qex7iljmjbJFI2RjhlrmnIPivaqtRY7hYpzXWKV8sWfbo3kkEYx27\/VS9kvkF5pyWjoqiPaWFx3af0UXHS1sXQzXLkmqf38iTREUDQEREAREQBfP9ducy\/wBO9pw5tO0g9h4nL6AqXrCnEt+ow4H8WnexuBuXe1jzIVuF1Iw8em8NLui3UlQ2ro4alnuysDx4jK3KE0hU+kacpwTl0RdGfA7eRCm1XJU2jVinzwUu6CIi4WBERAEREAREQHDebeLpap6Q4DntywnqcNwo7SNydV2w0k+RUUZ6N4PPHV9MeCn1VLiz1FqynuTfZpa49HNjYBx6z5HwKsjqnEy5v05rKvJ+X8Mtar17skwqBd7Qejro93MHKUfr9VYUUIyadouyY45I0yMsl6ivFKXBvRzx7SxHm0\/pspNVW+Us9jujb\/QNLonHFXEORB6\/HyOO1WSkqoq2ljqYHcUcreJpUpJbrYrw5JNuE\/Evqu5uREUDQEREAVX1gOirLRV8hHUYJ7iWn7FWhVnXTSLPBKOcdQ07\/AqePxIzcX8GR50j+w11ztJ2EMvGzPMjl9A35q0KrVJFDrylqGuIjr4eFxxzOMAeTVaV3Jvfc5w2kXDs2vVBERVmoIiIAiIgCIiALgvVtbdbXNSHHE4ZjJ6nDku9F1OnZGUVKLi9mQ2mLk6vtYjnyKmmPRSg88jkf66wVMqq1knqDV8dV7tJcW8Mh6g\/t+h8SrUpTWtrqU4JNxcJbx0\/DPEsUc8L4ZWB8bwWuaeRCrmnpTaLrU2Cdx4eIy0pP5mncj+uwqzKt6xpHtpYbtTO4KiieDxDmWk\/r9SkNfdfU5xCcUsq3j9upZEWmjqG1dFBUt5SxtePEZRQNCdq0bkREOhQesYul01UnrYWuH+YD7qcXNcaf0u21NOOcsTmj4kbKUXTTK8sefHKPdFVvspNksd3YDxQFmcHtAJ82q5NIc0OG4IyFSqdwrv7OZmcPE6mJHww4O+hVlsE\/pFhopOvoWtO3WNvspzWnkzLw0rn\/kk\/QkURFUbgiIgCIiAIiIAiLRXCZ1BUCnJExicIyOYdg480ON0rI\/U9u9Y2OZjWcUsY6SPtyP8AbK2aeuBudlp6hxzJjgk3z7Q28+fiqla6u8W63i6wTPrIGktqaZ5P4W\/P5YOQpDRdTF6xuVNTn8BxEsTf+0ZxjzA8Fe4VFrsedj4hSzRdVzL+U\/ui4LkulOKu1VVOWh3HE4AHtxt5rrXl72xsc95w1oJJ7AqVuejJJppkHoyfptOQtPOJ7meefui0aEY5lhe48n1DnD4YaPsilk8TKOFbeGN9iyoiKBoCIiAqGnoGEX2ynA9twY3uOW58gu\/RVQZtPtiPvQSOYQefb91zvzb\/AO0FjsgMr4MH4gfqwfNZ0f8Ah1N3pxsI6nZvZuR9lfLWLfkeZh93JGPbmXqizoiKg9MItYnhMpiErOkHNudxtn6LYgsIiwSAMk4AQGVhzg1pc4gADJJ6lH1eoLTRcQnrouJpwWsPE4H4DKq2oNUw3ah9CoYJx0jwOkd7Oe7A55U445SM2XiceNPXXsXkEEZByCsqhWmt1FO4WWnmipZKZuD0rcPDc94PLPyUqdJ11YP+J3yeUHnGzIb5nHkpOCT1ZCHEyyK4Qb+hyXFzNNXt1bSSRS0lWf2im4xkdZwPnjxCjbPdrbZdQ1VRG6R9HJGRHwt3GS04wezcLsu1tsNnYKWngdWV8nssa+Qu4Setwbj5YXBJp6ot9xtlPHNw1dQOMkj2WHsV0eVrU87J7SM7ilo771fTpv2LF\/fu2uJEdLWPI7GN\/wBS4rprE1FDNSR2+ohmnYWNLu\/YrsbHrJoEfSUeAMcYA\/T7LotenZo68XO61jqqsx7IGzWfr5BV+4tTVfEZPdTev7JerO6wUTrfY6Wne3heGcTweYcdyPNFIoqW7dnoxioxUV0CIi4SCKPrb7a7eS2prI2vbzY08TvkFEHWfpDuG2WmqqyDgnGAPkCpKEn0KZ8Rig6b1GswaY265tBJpqgZx1jn\/L5rGmSG6ivjByfKHjPP3nH7rju8+orrbJo5bVHTU2ONxc\/DgBv1nu7FXbfcqqmlllirxSvLACeAuL8DAHIrRGDcKPLyZ1DiFOnW\/bo11+R9WRfNYq\/Ulxf+yVFbO3PvMBa3PxGylqTTmpZ2g1d5mp2nm3p3vcPAHHmq3irdmuHGPJ4INkZVvkN5ulzZVxw1NFU\/hMe7HSDLgQM89gNu8qebrmldTxCOknmqntHFGwbA9Yzz8lA2zS5utwuNO6uLDRy8BeY+LpN3DPPb3e\/mt1y0\/ctOxiekr53QO\/5r4A5hb8QD91a1BunuYYS4iEXkiqTu+vX+omDVasujR6PSRW6M\/ml97xzk\/wDqs\/3Rqq0l12vNRODuWM2APdnI7epaaKx1twpWVNNqurfG8bHDtu4+3zW8aWumd9T1mP8AF\/rVdpbOvkaVCU1couX+yr6M76XS9movbbSNe4D3piXeODsoW4V1JUarpYHTU8NFbgXHiwG8XYB1\/l5d5XDfrRS0DGwPuVVW18pAZHxDwznPgOtTVp0ZQQ0cZuEPT1BGXe0QG56tjvjtXdEuZuzj55v2eOCVU3+NCJv16t\/rWnudomc+riOJPYIa9oHXn5fBd0VZqLUjBJRmO30T8jpGvDn7Hffnn5KzQUFHSsLKelhia4YcGsAyO\/tVensl0s1XJVafewwSHifSvO2e7PV4grilF6L6k5YcsXzSdp7qOn9\/ck7Rp2itBMrcz1Lvemk3d347FGUx9da1fVMYHU1vZ0Yfnm\/ff5k+ASWfVF1Y6k9BZQMfs+Uu3x1gH9Apu02qntFC2mgGSN3yEYLz2lRbq23qWRipuMYRqK18zuREVRuCIiAgNRaoZZHtp44DLUPZxDi2a0cs9\/JVibUFTdWvFddfRYD\/ANCniJJ7s\/qVfqi30VXIJKmjgmeBgOkia4gdmSF4jtVuidxR0FKwg5y2Fo+ytjOKW2phy4M2SXi07FLop7TE0erNP1NxkG3STb79RwMjqPUpZrtW1bBHDT0tth\/LyyB2Y3+g5K0AADAGAFlHkvoShwriq5v+Uv5KuzRr6rD7tdKiqdz4WnAG3ac\/ZcOlqGjh1HcaV7GTGnJ6IvaDgB2Ce48ldl85t9b6HrB9ZI7hhlqpY3uHLc\/7gqUXKSaKM+PHhnBpdT6KAAMAYAWURUHplY0t+\/NQfxP8z1ZnNDmlrgCCMEHrVZ0t+\/NQfxP8z1Z1PJ4jNwvwl8\/uyvVGlGRzPqLRWTW+V3NrHHgO\/Z9uS0+qtVuHROvcIi5cQb7WP8ufNWdE52dfDY70teTaIe0abpLY4VDyamsPvTybnPd2fVTCIott6sthCMFUVQREXCYREQBERAEREAREQBERAYcQ1pcdgBkqhW62uuukrhKG5m9JMrBjckNBOD4lXK7zimtFXMRnghcQO042Ufo+Ew6bpyc5kLn4PxOPIK2L5Y2Y80FkyqD7P0R06eufrWzw1DjmVvsSf+Q\/XY+Kk1Vbe71Fq2ot7m8FLXnjhOMAO7B5j5K1KM1T0LeHm5QqW60ZWNLfvzUH8T\/M9WdVjSY47pfJ2nMclV7J7faefuFZ0yeIjwvwl8\/uwiIoGkIiIAiIgCIiAIiIAiIgCIiAIiICA1nVmCxOgZkyVT2xtA59p+mPFS1upvQ7bTU2MGKJrT8cb+agLpi6azoaAjiio29LIDuM8+Xg3n2\/O0KyWkUjNi97LOfbT8kNqW1G42\/pYBirpj0kLhz25j+usBaqTU1PV6enrukDJ4Ij0jOsP5DHcTyU8oes0taa2qFRJAWuyS4MdgPznmPHqwkWqqQyY5qTnj67+jNOjaQ01gZI7BdUPMpOc9w+inl4iiZDEyKNoaxjQ1rR1AcgvahJ27LcUPZwUewREXCwIiIAiIgCIiAIiIAiIgCIiALXPMyngknkOGRtLnHuC2KuauqZZIYLPTD8eueG5zgBuev+upSirdFWXJ7ODka9IQS1UtbfKhga6reRGMcmg747s4H+FWdaKKlZQ0UNLGcthYGAnrx1reknbsYcfs4KL39QiIoloREQBERAEREAREQBERAEREAREQBERAF4MUZkEhjaXgYDsbjxREB7REQBERAEREAREQBERAEREAREQBERAEREB\/\/Z",
    "razonSocial": "HECTOR MAURICIO PINTO RAMOS ",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "HECTOR PINTO RAMOS",
    "correoContacto": "hectorpintoabogado@gmail.com",
    "correoCliente": "ALEXGEMMELL@GMAIL.COM",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "942644089",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:09",
    "ubicacionGPS": "LatLng(lat: -22.4610435, lng: -68.9282454)",
    "horaLlegada": "12:01",
    "horaDespacho": "12:06",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


19/05/2026 12:09:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:15014912

[19/05/2026 12:09: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('15014912', 'KY2798', 2, 21773342, 107012, NOW(), 
				'12:06', '12:01', '12:09', 1, 'Instalacion', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779206951.png', '', null, 'COMPLETADO','LatLng(lat: -22.4610435, lng: -68.9282454)' )
				
[19/05/2026 12:09:11] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200360

19/05/2026 12:09:11 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '15014912'
				   AND serieintmaquina = 'KY2798'
		
19/05/2026 12:09:11 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY2798'
				   AND estado = 1
				
19/05/2026 12:09:11 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('15014912', 'KY2798', 1, 1, now(), 'Notaria', 'Calama', 'oficina');
				
19/05/2026 12:09:11 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200360'                    
				WHERE idllamado = 12651			
				TO ENVIO: ALEXGEMMELL@GMAIL.COM, hectorpintoabogado@gmail.com


19/05/2026 12:09:11 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12651			
				
19/05/2026 12:09:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


19/05/2026 12:09:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:09:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:09:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

[19/05/2026 12:09: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;
                

19/05/2026 12:09:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:09:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

[19/05/2026 12:09: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;
                

[19/05/2026 12:09: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;
                

19/05/2026 12:09:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:09:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

[19/05/2026 12:09: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;
                

19/05/2026 12:09:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:09:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

[19/05/2026 12:09: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;
                

19/05/2026 12:09:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:09:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:09:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:09:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:09:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12:09:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:09:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:09:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:09:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

[19/05/2026 12:09: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;
                

19/05/2026 12:09:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

[19/05/2026 12:09: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;
                

19/05/2026 12:09:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:09:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:09:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:09:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:09:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:09:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:09:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:09:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:09:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12651
LIMIT 1;
        

19/05/2026 12:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12651
                

19/05/2026 12:09:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12:09:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:28 - logentry: =========================================
FECHA: 19/05/2026 12:09:28
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-pNbuaN2Qf3t4JAQN-jU4IFpjHR3CG0BPAz.pP3_8Zut1rQQ5Fti
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "86551700",
    "serieinterna": "KY2592",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "105197",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Cambio repuesto, maquina quedo funcionando correctamente",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12627",
    "observacion": "Cambio fusor, maquina quedo funcionando correctamente",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADlAPwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABBEAABAwMCBAIIBAQDBwUAAAABAAIDBAURBiESMUFhE1EUInGBkaGxwRUjMtFC4fDxFjRiJDM1Q1JysmNldJLC\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECBAIJBAMBAQAAAAAAAAECAxESITFBE1EEIjJhcYGRodEjweHwFEKxM1L\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBERAEREAWbrbvdrJcpJK+Js1skkwySNozGDyH9+fRaRc54IqmB8EzA+OQcLmnqFKLS1KqsJSXVdn+6iGaOohZNC8PjeMtc07ELosjb5pNLXj8LqXA0FSeKCUnHCe\/wBD7itcko2OUquNZ5NaoIobbrQOr\/QG1LDU7\/ljtz7dCpijaxapJ6MKrvUN4kEL7TURROjJL2yfx9uR\/oq0RdTs7nJxxRtczMOpK6gqI6a\/UJg4yGtnjGWHn5Z7clpGPbJG2Rjg5rgC0jqFFu1PTVNrqI6todEIy4k\/w4Gcjywq7Rsj5NOQ8ecNc5rcnO2f7qbs1dFEHKFThyd01dcy9REVZpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICDd7VBd6B9LMMHmx45sd0Ky8Wo62htUlqkDjdIpRBGT1B6\/Ye0Hda24V0NtoZaudwDY2kgZxxHoB3Kwrork0N1dLwuHj8XhO5hmcD3dB7irqauszzulywyThrbPw5+WxrrPZae308MkkEZrOHMkvCM8R5gHy6K1XOnnjqaeOeI5ZI0OaexXRVNtvM3QjGMUo6BERcJme1jWvitjKCBvHPWvEbW7Zx29pwPeri3UbLfb4KSMACJgG3U9T7zkrP0QfetYz1hIdS24eHHjkXcvrk\/BalWSySiZaPXnKp5LwX5CIirNQREQBERAEREAREQBERAEREAREQBERAEREAREQBfHODWlziAAMknovqzF+uU9yrhp+2H15NqmUcmN6j9\/h1UoxxMqq1FTjf07yPI52rr54DHH8KozxFwG0rvL6+7PmtJcaNtZa6ija0ASRFrRyAONvnhfbbb4bXQRUkA9Vg3J5uPUlSl2Us8tiFKlaLc9Za\/BQaNqn1FibFIDx0zzFk9RzH1x7lfrMaPBjq7xASMx1O\/xcPstOlTtMdFbdGN\/wBtkFR6pupoLd6PA4GrqiI427ZAPM4Pw96uZZWQxPlkcGsY0uc49AOZWYssb77f5r5Ln0aAmOla7Px+GT7T2SC3exyvJ2VOOr9luy4sNqZaLXFT8I8UjilcOrj37cvcrJEUW7u7L4RUIqK0QREXCQREQBERAEREAREQBERAEREAREQBERAEREARFTaivgtFM2OAeJWT7RRjfHcj+sldSbdkQnONOLlLQ4akvctIY7bbwX19Ts3h5xg9faf5qZY7JDZ6bGfEqZN5pTuXHyHZcNP2M0DTW1p8a4T7yPdvw56D7q7UpNJYUU0oSlLi1Ndly\/IREUDSZjS3\/HNQf\/J\/\/T1p15DWtJIaATzwOah3m6R2i2yVUmC4erG0\/wATugUm8UsimEVRp5vS\/wAlNqaqluNZDp+hkxLIeKocM4Y3GQD9fh5rQUdJDQUkdLTs4YoxhoVNpa0yU1O65VpL62rHEXOO4YcEA9+vw8loF2b\/AKohQi23Vlq\/ZBERQNIRZi8amq6O5yQ0dMJoaVodOcHkTg7+\/wCXtWgo6uCvpY6mneHxyDIP2PdScWldlUK0JycVqjuiIoloREQBERAEREAREQBERAEREARR6mvpKOSJlTOyJ0xxGHHHEdv3C7tcHNDmkEEZBHVDl03Y+oirL3e6ey0niy+vK7aKIHdx+w7rqTbsjk5xhFyk8hfb3BZaMyvw+Z+0UWd3H9goFhs0z5vxm7HxK2XdjXcoh028\/ouNkslRW1f41evXndvDC4bMHQkdOw9\/NahTbUVZGaEZVZcSay2X3YREVZrCIiALI8I1XqMu4uO10OBjfEjv7\/Id1O1Vc5IoGWujJNbWENAbnLWnr8sfFWVntkVot0dLGBkDMjh\/E\/G5Vi6qvuZJ\/WqcPZa\/ZfJOREVZrCIiAychbadZytqWs9FucfDxO5Z7577e8L1pzitF7rbHI4lhPiwEnmNvnj6FXl1tNNeKM09QCOrHtOC0+ff2LG3W2XixVVPcH1HpcNKQGTE4cBn9JzvjcjqN1fFqSseZVjKhLGldJ38nqvufoCLOx63tLmt8UTwuIGWujzj4dFJZq2xvGRXAdnRvH2VeCXI2LpNF\/wBl6lyipnatsTcZrxv5RvP0C8O1jYm4xWF3sif9wuYJcjv8ij\/6XqXiLNTa6tjXcMENRO7pwsAB+Jz8l4Gpb1VtIodPyA42fKTw\/QfVd4ciH8qlonfwzNQodXdrfQ59JrIYyP4S8cXw5qj\/AAXUF0ObpdPR4id4afbY8wcY+eVMpdH2ama3ipjO8fxSuJz7uXyTDFascStLsRt4\/COc+tbPE\/hjdNUH\/wBKP98Lh\/iyun\/yen6qVp5PdkD5A\/VaCnoqSkGKamhh\/wCxgb9F3S8VsOHXes7eC+TLfiOrqlv5NqghB6vO4+LvsvQt2raoYnusNO07ERt3+QH1WnRdx8kh\/Hv2pt+fwZg6TuE3+a1DVP8A9Izj\/wAk\/wAGf+8VnxWnUO53OmtNG6pqX4aNmtHN58ginN5IjLo1CKvJe7MZqCzVdup4X1lyFdH4gZGyQHjOeeDuQNvNWDKC8aaibPbnOrKPHHJTPGHM237\/AAHuXq00NZqG4NvV0HBTsOaanI2x0Ps79fYra+6ggs8XA3E1W8flwjnvyJ7fVWOTyjqZYUoJSq5xWz3\/AF8iHLrS3m2ien4pKl3qtpiPW4u\/buF5s1gmqKkXi9uMtW48UcLuUY6ZHn26e3lWs0ndJIfxQVIiuZf4ojwAB27H5dFrre6rfQQurmNZUlv5jWnIB9yjK0V1S2kqlWSdZaacvF9\/cSURFSegEREAXCsq4aCkkqqh\/DFGMuK7rKXVz9R3+O0QP\/2SlPHVEEgOIOC32jkPafJSjG7Ka1Rwjlq9D3pilluNZPqCuYRLK7FO059RuMEjtvj4+a1C8RRMhiZFG0NYxoa1o6AcgvaSlidztKnw4W338QiIoloREQBRLpRi4WyopDzlYQN8b9PnhS0ROxySUk0zN6RdDXWUQ1MEb5aZxiPG0OJb093Me5Wz7JaZDl1tpc9omj7Kls+bfrK50LiAypHjMHmeeB\/9j8FqFZNtSujL0eKlTSks1l6EBtjtLc4ttLv5wtP1C6MtNtjOWW+laf8ATC0fZS0ULs0KnBbI8RwxQt4Yo2Rt8mtAC9oi4TCIiAIiIAiKsvV8prNTcUnrzvH5UI5uP2C6k27IjOcYRxSeR2ut1prRRuqKh3ZjBzefILP2+01moaxl2vQDacDMFL0x3Hl9fYu1rs9VdqsXe+tyf+RTEeqwdx9vipV71Gyid6DQD0m4SHhaxu4Ye\/7K1ZZR1MU2priVco7Ln4\/B6v1\/bawykpIxPXS4EcQGeHyJA+i5WHTr6Sd1yubxPcJTnJORH7O\/05BdbFYBbya2td49wlyXyE54c9B+6u1FySVolsKcpy4lTyXL8hERVmoIiIAiLnNNHTwvmmeGRsGXOcdgEGhU6mvBtVv4Id6qoyyIA7jb9Xu295C6aes\/4Rb+GU8VTKeOZ+c5PQe5VdiY+\/3iW\/VLC2KI+HTRk5A23Pz+JPktUrJdVYTJSXFnxXpt4c\/MIiKs1hERAEREAREQGY1Fi36htV0GQ0u8GU9Mf2cfgtOqLWNKanTspAyYXNkHu2PyJVjaawV9qpqrrJGC7\/u5H55VjzimZqfVrSjzs\/syYiIqzSEREAREQBEVBfdRehy\/h1uYai4SbNa0ZEft79viuqLbsiupUjTjikdr7qGK0gQQs9IrZMcEIycdzj6KNZrDK2oN2vL\/ABq13rNDjkRfbPyC92mzw2aKS53OZr6xwLpZ3nZmegVdNV3DV0zqWhD6a2NOJJ3DeTt\/L4q1LKy82Y5SeJSqK72j93+5Em536ruNU612BviScpakfpYOuD9\/grGyafprPHx\/76qePzJncznmB2Uu3WyktVMKekj4W8y47ucfMnqpag5ZWjoaKdF4sdTN+y8PkIiKBoCIiAIiIAstqGeW8XSCwUcn5Zw+rc0jYAjb3c8dwre+3VlotclQXDxSOGJud3OP7c1E0tanUVE6tqSXVlb+ZKT0BJIHzyf5KyPVWIy1nxJKivPw\/JcU1PHSU0VNC3hjiaGtHYLqiKs0pWVkEREOhERAEREAREQHOaFlRBJBIMskaWuHmCMFZ7RMrm0NVQSH16ScjHkD\/MFaVZakcbbruqpztHXx+I3u7n9Q5WRzi0Za3VqQn5ev5NSiIqzUEREAReXOaxhe9wa1oySTgALK1lxrtS1b7faHGKjZtNVYPrdh27dfYpRjcqq1VTXNvRHW66hqaurNqsTPFnO0k4\/TH54P3+C+xx2vR1GJql\/j1soOXc3vJ5geTcjmo7q+msjRZ9PQCrrnnD3jffzJ6keXIKdZ9MiCf8QuknpVc71jxHLWHt5\/borXZLu\/0xRxzndZy57R8ObIUFsuep5m1d3c6mogcx0rTguHf9zv5YWphhjp4WQwsDI2DDWtGwC6IqpSbNlKiqeererCIiiXBERAEREAXxzg1pc4gADJJ6L6s5qu5SCOOzUfrVVd6hwf0NJxv7dx7MqUVidiurUVODkyLT41TqV1S7JoLccRjOz3Z5+w4z7h5rWqJa7fFa7fFSQ\/pYNyebieZUtJO7y0IUabhG8tXm\/3uCIiiXhERAEREAREQBERAFl9Uu9EvNmrhgcMpY93+nI+xctQs3rmMusbJWg8UM7XZ8tiPuFOn2kZulf8W1tn6GkRc4ZBNBHKCCHtDgR3C6KBp1C8SyxwROlleGMYMlx6L5UVEVLA+eeQRxsGXOdyCwN41Ay81AEpkZb43erAw4fOe\/kP63KnCDkZq\/SI0V3k6tr6nUz3tZKaGyxH82d+3iEf1y+PQJDUVV2i\/CtPQmkt0fqyVLhgu8z7\/Lmey6UFhq70IpLoz0WhiH5FHH6u3fr7zuey1kEEVNCyGCNscbBhrWjACslJRyRmpUZ1Xik7X9X3LkvdkK0WSjs0Hh0zMvcPXld+p\/7DsrFEVLbbuz0IxjBYYqyCIi4SCIiAIiIAiIgOFZVw0FJJVVD+GKMZcVQaXpZ6yonv1bvJU5bC059RmemfcB\/Ncr5JLfr5HYad2KeEiSpkAzg45fMe89lqIomQxMijaGsY0Na0dAOQVnZj3syL6tW+0f8Afwe0RFWawiIgCIiAIiIAiIgCIiAKm1bH4mmasbZaGuGT5OCuVDu7GyWetY7kYH\/+JUou0kV1Y4qcl3M82STxbHQvPMwMB9oGF3rKynoKZ1TVSCONnMn6DzWfsN3prbpGmnrZOFoL2tAGXO9Y7AKEyguWsKllXWE0tuaT4bAdyO3fuVPBm76GZdI+nFQV5NLL5K6uuFz1fXClpIS2nYctZnAA\/wCp5\/rt31Fi0rSWlrZpcVFXz8QjZh\/0j7\/RWtFQ01vp2wUsLY2DoOZ7k9VISVS6tHJHaXRVGXEqO8giIqjYEREAREQBERAEREAVZf7s2z2uSfIMrhwxDb9XnjqArJzg1pc4gADJJ6LJUbXarv8A6fIHfh1E7EDTj1n7Hf6n3BTgr5vQz15tJRj2np8+RZ6XtDrbbzLUsxWVBL5SeYHQff2lXaIottu7LacFTiorYIiLhMIiIAiIgCIiAIiIAiIgCotRajpLXA+nGJ6iRpb4bT+nI5u8lWai1j4Ln0drcHPxh9QDkN7N8\/ao2nNKPrHsuV0BMbjxtifzk7u7fX63RgksUjz6vSZTlwqGb3eyOGkrCy7H0usf4lPTO4GQk5yee\/bf3rfgADAGAF8YxkbeFjQ0eQGF6UJzcnc0dHoRowwrUIiKBoCIiAIiIAiIgCIiAIir73dorNbn1L8Ok5Rxk443f1uupXdkRlJQi5S0RUamrpa6qj0\/QnMs5HpDgD+W3Yj9z29qvrfQw22hipIGgNjaATjHEepPcqo0taZKandcq0l9bVjiLnHcMOCAe\/X4eS0ClJ26qKKEXJurPV+yCIigaQiIgCIiAIiIAiIgCIiA+OcGtLnEAAZJPRYHU2q31r3UVvkLaYbPkGxk9nb6qw1dVXOqrGWehglLHsD3lg\/Xv59B7VJ09pGK3ObVV3DLUgeqwbsZ37lXwUYrFI82vKrXk6VPJbshaW0oWllwuUeDzihd9XfstmiKqUnJ3Zso0YUY4YhERRLgiIgCIiAIiIAiIgCIiA8ve2ON0j3BrWglxPQLJ0bX6qv3p8rXi20Z\/Ia4Y4nbf3PuC636rnvNybp+gJABDqqQHYN22+e\/fAWio6OCgpI6WmZwRxjAH3Ks7KvuzI\/rzw\/1Xu\/wd0RFWawiIgCIiAIiIAiIgCIiAIiID5gZzjdfURAEREAREQBERAEREAREQBERAFS6kvJttK2npwX1lVlkLW8xnbPz27qwuNfDbKGWrnOGxjIHVx6Ae1UWnKCa4Vj9QXBoL5v8vGf4G+f7fHqpxS7TM1abbVOGr9lzLDT1mFoofzQHVcvrTSZzk9BnsrdEUW23dl0IKEVGOiCIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiArLtZIbxPSvnleI6d5cYgNpOWx+H1Vk1oa0NaAABgAdERdu7WIqEU3JLNn1ERcJBERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "FERRETERIA PRAT S.A",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "VANESSA ZÁRATE",
    "correoContacto": "secretaria@ferreteriaprat.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE SE ATASCA EL PAPEL",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+552444000",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R1152\",\"id_control\":\"28723\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:09",
    "ubicacionGPS": "LatLng(lat: -23.5836194, lng: -70.3897159)",
    "horaLlegada": "11:45",
    "horaDespacho": "11:14",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 19/05/2026 12:09:28
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-pNbuaN2Qf3t4JAQN-jU4IFpjHR3CG0BPAz.pP3_8Zut1rQQ5Fti
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "86551700",
    "serieinterna": "KY2592",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "105197",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Cambio repuesto, maquina quedo funcionando correctamente",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12627",
    "observacion": "Cambio fusor, maquina quedo funcionando correctamente",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADlAPwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABBEAABAwMCBAIIBAQDBwUAAAABAAIDBAURBiESMUFhE1EUInGBkaGxwRUjMtFC4fDxFjRiJDM1Q1JysmNldJLC\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECBAIJBAMBAQAAAAAAAAECAxESITFBE1EEIjJhcYGRodEjweHwFEKxM1L\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBERAEREAWbrbvdrJcpJK+Js1skkwySNozGDyH9+fRaRc54IqmB8EzA+OQcLmnqFKLS1KqsJSXVdn+6iGaOohZNC8PjeMtc07ELosjb5pNLXj8LqXA0FSeKCUnHCe\/wBD7itcko2OUquNZ5NaoIobbrQOr\/QG1LDU7\/ljtz7dCpijaxapJ6MKrvUN4kEL7TURROjJL2yfx9uR\/oq0RdTs7nJxxRtczMOpK6gqI6a\/UJg4yGtnjGWHn5Z7clpGPbJG2Rjg5rgC0jqFFu1PTVNrqI6todEIy4k\/w4Gcjywq7Rsj5NOQ8ecNc5rcnO2f7qbs1dFEHKFThyd01dcy9REVZpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICDd7VBd6B9LMMHmx45sd0Ky8Wo62htUlqkDjdIpRBGT1B6\/Ye0Hda24V0NtoZaudwDY2kgZxxHoB3Kwrork0N1dLwuHj8XhO5hmcD3dB7irqauszzulywyThrbPw5+WxrrPZae308MkkEZrOHMkvCM8R5gHy6K1XOnnjqaeOeI5ZI0OaexXRVNtvM3QjGMUo6BERcJme1jWvitjKCBvHPWvEbW7Zx29pwPeri3UbLfb4KSMACJgG3U9T7zkrP0QfetYz1hIdS24eHHjkXcvrk\/BalWSySiZaPXnKp5LwX5CIirNQREQBERAEREAREQBERAEREAREQBERAEREAREQBfHODWlziAAMknovqzF+uU9yrhp+2H15NqmUcmN6j9\/h1UoxxMqq1FTjf07yPI52rr54DHH8KozxFwG0rvL6+7PmtJcaNtZa6ija0ASRFrRyAONvnhfbbb4bXQRUkA9Vg3J5uPUlSl2Us8tiFKlaLc9Za\/BQaNqn1FibFIDx0zzFk9RzH1x7lfrMaPBjq7xASMx1O\/xcPstOlTtMdFbdGN\/wBtkFR6pupoLd6PA4GrqiI427ZAPM4Pw96uZZWQxPlkcGsY0uc49AOZWYssb77f5r5Ln0aAmOla7Px+GT7T2SC3exyvJ2VOOr9luy4sNqZaLXFT8I8UjilcOrj37cvcrJEUW7u7L4RUIqK0QREXCQREQBERAEREAREQBERAEREAREQBERAEREARFTaivgtFM2OAeJWT7RRjfHcj+sldSbdkQnONOLlLQ4akvctIY7bbwX19Ts3h5xg9faf5qZY7JDZ6bGfEqZN5pTuXHyHZcNP2M0DTW1p8a4T7yPdvw56D7q7UpNJYUU0oSlLi1Ndly\/IREUDSZjS3\/HNQf\/J\/\/T1p15DWtJIaATzwOah3m6R2i2yVUmC4erG0\/wATugUm8UsimEVRp5vS\/wAlNqaqluNZDp+hkxLIeKocM4Y3GQD9fh5rQUdJDQUkdLTs4YoxhoVNpa0yU1O65VpL62rHEXOO4YcEA9+vw8loF2b\/AKohQi23Vlq\/ZBERQNIRZi8amq6O5yQ0dMJoaVodOcHkTg7+\/wCXtWgo6uCvpY6mneHxyDIP2PdScWldlUK0JycVqjuiIoloREQBERAEREAREQBERAEREARR6mvpKOSJlTOyJ0xxGHHHEdv3C7tcHNDmkEEZBHVDl03Y+oirL3e6ey0niy+vK7aKIHdx+w7rqTbsjk5xhFyk8hfb3BZaMyvw+Z+0UWd3H9goFhs0z5vxm7HxK2XdjXcoh028\/ouNkslRW1f41evXndvDC4bMHQkdOw9\/NahTbUVZGaEZVZcSay2X3YREVZrCIiALI8I1XqMu4uO10OBjfEjv7\/Id1O1Vc5IoGWujJNbWENAbnLWnr8sfFWVntkVot0dLGBkDMjh\/E\/G5Vi6qvuZJ\/WqcPZa\/ZfJOREVZrCIiAychbadZytqWs9FucfDxO5Z7577e8L1pzitF7rbHI4lhPiwEnmNvnj6FXl1tNNeKM09QCOrHtOC0+ff2LG3W2XixVVPcH1HpcNKQGTE4cBn9JzvjcjqN1fFqSseZVjKhLGldJ38nqvufoCLOx63tLmt8UTwuIGWujzj4dFJZq2xvGRXAdnRvH2VeCXI2LpNF\/wBl6lyipnatsTcZrxv5RvP0C8O1jYm4xWF3sif9wuYJcjv8ij\/6XqXiLNTa6tjXcMENRO7pwsAB+Jz8l4Gpb1VtIodPyA42fKTw\/QfVd4ciH8qlonfwzNQodXdrfQ59JrIYyP4S8cXw5qj\/AAXUF0ObpdPR4id4afbY8wcY+eVMpdH2ama3ipjO8fxSuJz7uXyTDFascStLsRt4\/COc+tbPE\/hjdNUH\/wBKP98Lh\/iyun\/yen6qVp5PdkD5A\/VaCnoqSkGKamhh\/wCxgb9F3S8VsOHXes7eC+TLfiOrqlv5NqghB6vO4+LvsvQt2raoYnusNO07ERt3+QH1WnRdx8kh\/Hv2pt+fwZg6TuE3+a1DVP8A9Izj\/wAk\/wAGf+8VnxWnUO53OmtNG6pqX4aNmtHN58ginN5IjLo1CKvJe7MZqCzVdup4X1lyFdH4gZGyQHjOeeDuQNvNWDKC8aaibPbnOrKPHHJTPGHM237\/AAHuXq00NZqG4NvV0HBTsOaanI2x0Ps79fYra+6ggs8XA3E1W8flwjnvyJ7fVWOTyjqZYUoJSq5xWz3\/AF8iHLrS3m2ien4pKl3qtpiPW4u\/buF5s1gmqKkXi9uMtW48UcLuUY6ZHn26e3lWs0ndJIfxQVIiuZf4ojwAB27H5dFrre6rfQQurmNZUlv5jWnIB9yjK0V1S2kqlWSdZaacvF9\/cSURFSegEREAXCsq4aCkkqqh\/DFGMuK7rKXVz9R3+O0QP\/2SlPHVEEgOIOC32jkPafJSjG7Ka1Rwjlq9D3pilluNZPqCuYRLK7FO059RuMEjtvj4+a1C8RRMhiZFG0NYxoa1o6AcgvaSlidztKnw4W338QiIoloREQBRLpRi4WyopDzlYQN8b9PnhS0ROxySUk0zN6RdDXWUQ1MEb5aZxiPG0OJb093Me5Wz7JaZDl1tpc9omj7Kls+bfrK50LiAypHjMHmeeB\/9j8FqFZNtSujL0eKlTSks1l6EBtjtLc4ttLv5wtP1C6MtNtjOWW+laf8ATC0fZS0ULs0KnBbI8RwxQt4Yo2Rt8mtAC9oi4TCIiAIiIAiKsvV8prNTcUnrzvH5UI5uP2C6k27IjOcYRxSeR2ut1prRRuqKh3ZjBzefILP2+01moaxl2vQDacDMFL0x3Hl9fYu1rs9VdqsXe+tyf+RTEeqwdx9vipV71Gyid6DQD0m4SHhaxu4Ye\/7K1ZZR1MU2priVco7Ln4\/B6v1\/bawykpIxPXS4EcQGeHyJA+i5WHTr6Sd1yubxPcJTnJORH7O\/05BdbFYBbya2td49wlyXyE54c9B+6u1FySVolsKcpy4lTyXL8hERVmoIiIAiLnNNHTwvmmeGRsGXOcdgEGhU6mvBtVv4Id6qoyyIA7jb9Xu295C6aes\/4Rb+GU8VTKeOZ+c5PQe5VdiY+\/3iW\/VLC2KI+HTRk5A23Pz+JPktUrJdVYTJSXFnxXpt4c\/MIiKs1hERAEREAREQGY1Fi36htV0GQ0u8GU9Mf2cfgtOqLWNKanTspAyYXNkHu2PyJVjaawV9qpqrrJGC7\/u5H55VjzimZqfVrSjzs\/syYiIqzSEREAREQBEVBfdRehy\/h1uYai4SbNa0ZEft79viuqLbsiupUjTjikdr7qGK0gQQs9IrZMcEIycdzj6KNZrDK2oN2vL\/ABq13rNDjkRfbPyC92mzw2aKS53OZr6xwLpZ3nZmegVdNV3DV0zqWhD6a2NOJJ3DeTt\/L4q1LKy82Y5SeJSqK72j93+5Em536ruNU612BviScpakfpYOuD9\/grGyafprPHx\/76qePzJncznmB2Uu3WyktVMKekj4W8y47ucfMnqpag5ZWjoaKdF4sdTN+y8PkIiKBoCIiAIiIAstqGeW8XSCwUcn5Zw+rc0jYAjb3c8dwre+3VlotclQXDxSOGJud3OP7c1E0tanUVE6tqSXVlb+ZKT0BJIHzyf5KyPVWIy1nxJKivPw\/JcU1PHSU0VNC3hjiaGtHYLqiKs0pWVkEREOhERAEREAREQHOaFlRBJBIMskaWuHmCMFZ7RMrm0NVQSH16ScjHkD\/MFaVZakcbbruqpztHXx+I3u7n9Q5WRzi0Za3VqQn5ev5NSiIqzUEREAReXOaxhe9wa1oySTgALK1lxrtS1b7faHGKjZtNVYPrdh27dfYpRjcqq1VTXNvRHW66hqaurNqsTPFnO0k4\/TH54P3+C+xx2vR1GJql\/j1soOXc3vJ5geTcjmo7q+msjRZ9PQCrrnnD3jffzJ6keXIKdZ9MiCf8QuknpVc71jxHLWHt5\/borXZLu\/0xRxzndZy57R8ObIUFsuep5m1d3c6mogcx0rTguHf9zv5YWphhjp4WQwsDI2DDWtGwC6IqpSbNlKiqeererCIiiXBERAEREAXxzg1pc4gADJJ6L6s5qu5SCOOzUfrVVd6hwf0NJxv7dx7MqUVidiurUVODkyLT41TqV1S7JoLccRjOz3Z5+w4z7h5rWqJa7fFa7fFSQ\/pYNyebieZUtJO7y0IUabhG8tXm\/3uCIiiXhERAEREAREQBERAFl9Uu9EvNmrhgcMpY93+nI+xctQs3rmMusbJWg8UM7XZ8tiPuFOn2kZulf8W1tn6GkRc4ZBNBHKCCHtDgR3C6KBp1C8SyxwROlleGMYMlx6L5UVEVLA+eeQRxsGXOdyCwN41Ay81AEpkZb43erAw4fOe\/kP63KnCDkZq\/SI0V3k6tr6nUz3tZKaGyxH82d+3iEf1y+PQJDUVV2i\/CtPQmkt0fqyVLhgu8z7\/Lmey6UFhq70IpLoz0WhiH5FHH6u3fr7zuey1kEEVNCyGCNscbBhrWjACslJRyRmpUZ1Xik7X9X3LkvdkK0WSjs0Hh0zMvcPXld+p\/7DsrFEVLbbuz0IxjBYYqyCIi4SCIiAIiIAiIgOFZVw0FJJVVD+GKMZcVQaXpZ6yonv1bvJU5bC059RmemfcB\/Ncr5JLfr5HYad2KeEiSpkAzg45fMe89lqIomQxMijaGsY0Na0dAOQVnZj3syL6tW+0f8Afwe0RFWawiIgCIiAIiIAiIgCIiAKm1bH4mmasbZaGuGT5OCuVDu7GyWetY7kYH\/+JUou0kV1Y4qcl3M82STxbHQvPMwMB9oGF3rKynoKZ1TVSCONnMn6DzWfsN3prbpGmnrZOFoL2tAGXO9Y7AKEyguWsKllXWE0tuaT4bAdyO3fuVPBm76GZdI+nFQV5NLL5K6uuFz1fXClpIS2nYctZnAA\/wCp5\/rt31Fi0rSWlrZpcVFXz8QjZh\/0j7\/RWtFQ01vp2wUsLY2DoOZ7k9VISVS6tHJHaXRVGXEqO8giIqjYEREAREQBERAEREAVZf7s2z2uSfIMrhwxDb9XnjqArJzg1pc4gADJJ6LJUbXarv8A6fIHfh1E7EDTj1n7Hf6n3BTgr5vQz15tJRj2np8+RZ6XtDrbbzLUsxWVBL5SeYHQff2lXaIottu7LacFTiorYIiLhMIiIAiIgCIiAIiIAiIgCotRajpLXA+nGJ6iRpb4bT+nI5u8lWai1j4Ln0drcHPxh9QDkN7N8\/ao2nNKPrHsuV0BMbjxtifzk7u7fX63RgksUjz6vSZTlwqGb3eyOGkrCy7H0usf4lPTO4GQk5yee\/bf3rfgADAGAF8YxkbeFjQ0eQGF6UJzcnc0dHoRowwrUIiKBoCIiAIiIAiIgCIiAIir73dorNbn1L8Ok5Rxk443f1uupXdkRlJQi5S0RUamrpa6qj0\/QnMs5HpDgD+W3Yj9z29qvrfQw22hipIGgNjaATjHEepPcqo0taZKandcq0l9bVjiLnHcMOCAe\/X4eS0ClJ26qKKEXJurPV+yCIigaQiIgCIiAIiIAiIgCIiA+OcGtLnEAAZJPRYHU2q31r3UVvkLaYbPkGxk9nb6qw1dVXOqrGWehglLHsD3lg\/Xv59B7VJ09pGK3ObVV3DLUgeqwbsZ37lXwUYrFI82vKrXk6VPJbshaW0oWllwuUeDzihd9XfstmiKqUnJ3Zso0YUY4YhERRLgiIgCIiAIiIAiIgCIiA8ve2ON0j3BrWglxPQLJ0bX6qv3p8rXi20Z\/Ia4Y4nbf3PuC636rnvNybp+gJABDqqQHYN22+e\/fAWio6OCgpI6WmZwRxjAH3Ks7KvuzI\/rzw\/1Xu\/wd0RFWawiIgCIiAIiIAiIgCIiAIiID5gZzjdfURAEREAREQBERAEREAREQBERAFS6kvJttK2npwX1lVlkLW8xnbPz27qwuNfDbKGWrnOGxjIHVx6Ae1UWnKCa4Vj9QXBoL5v8vGf4G+f7fHqpxS7TM1abbVOGr9lzLDT1mFoofzQHVcvrTSZzk9BnsrdEUW23dl0IKEVGOiCIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiArLtZIbxPSvnleI6d5cYgNpOWx+H1Vk1oa0NaAABgAdERdu7WIqEU3JLNn1ERcJBERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "FERRETERIA PRAT S.A",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "VANESSA ZÁRATE",
    "correoContacto": "secretaria@ferreteriaprat.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE SE ATASCA EL PAPEL",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+552444000",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R1152\",\"id_control\":\"28723\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:09",
    "ubicacionGPS": "LatLng(lat: -23.5836194, lng: -70.3897159)",
    "horaLlegada": "11:45",
    "horaDespacho": "11:14",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


19/05/2026 12:09:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:86551700

[19/05/2026 12:09:28] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('86551700', 'KY2592', 1, 19969062, 105197, NOW(), 
				'11:14', '11:45', '12:09', 4, 'Cambio repuesto, maquina quedo funcionando correctamente', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779206968.png', 'Cambio fusor, maquina quedo funcionando correctamente', null, 'COMPLETADO','LatLng(lat: -23.5836194, lng: -70.3897159)' )
				
[19/05/2026 12:09:28] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200361
[19/05/2026 12:09:28] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200361', 'KYO-R1152', 1)
				
[19/05/2026 12:09:28] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28723 and
				    IDproducto = 'KYO-R1152'
				

19/05/2026 12:09:28 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R1152';
                
19/05/2026 12:09:28 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200361'                    
				WHERE idllamado = 12627			
				TO ENVIO: micorreo@miempresa.cl, secretaria@ferreteriaprat.cl


19/05/2026 12:09:28 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12627			
				
19/05/2026 12:09:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


19/05/2026 12:09:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12:09:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

[19/05/2026 12:09: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;
                

19/05/2026 12:09:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12:09:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

[19/05/2026 12:09: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;
                

19/05/2026 12:09:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12:09:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12:09:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12:09:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12:09:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

[19/05/2026 12:09: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;
                

19/05/2026 12:09:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

[19/05/2026 12:09: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;
                

[19/05/2026 12:09: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;
                

19/05/2026 12:09:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12:09:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12:09:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

[19/05/2026 12:09: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;
                

19/05/2026 12:09:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12627
            GROUP BY l.idllamado;
            

19/05/2026 12:09:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12627
                

19/05/2026 12:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:09:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 12:09:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 12:09:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 12:09:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 12:09:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 12:09: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;
                

[19/05/2026 12:09: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;
                

19/05/2026 12:09:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 12:09:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 12:09:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 12:09:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 12:09: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;
                

19/05/2026 12:09:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 12:09: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;
                

19/05/2026 12:09:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 12:09:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 12:09: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;
                

[19/05/2026 12:09: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;
                

19/05/2026 12:09:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 12:09:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:09:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 12:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 12:09:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 12:09:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 12:09:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:09:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 12:09:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 12:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[19/05/2026 12:09:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:09:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 12:09:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 12:09:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 12:09:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 12:09:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:09:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 12:09:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 12:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 12:09:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 12:09:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:09:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 12:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:09:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:09:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:09:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 12:09:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 12:09:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 12:09:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:09:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

[19/05/2026 12:09:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

[19/05/2026 12:09: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;
                

[19/05/2026 12:09: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;
                

19/05/2026 12:09:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 12:09: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;
                

19/05/2026 12:09:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:09:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:09:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 12:09: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;
                

19/05/2026 12:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:09:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:09:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

[19/05/2026 12:09: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;
                

19/05/2026 12:09:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

[19/05/2026 12:09: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;
                

19/05/2026 12:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:10:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:10:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12649
LIMIT 1;
        

19/05/2026 12:10:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:10:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:10:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:10:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:10:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12649
LIMIT 1;
        

19/05/2026 12:10:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:10:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:10:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:10:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12649
LIMIT 1;
        

19/05/2026 12:10:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:10:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:10:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:11:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:11:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12: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 = 12649
                

19/05/2026 12:11:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:11:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12649
LIMIT 1;
        

19/05/2026 12: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 = 12649
                

19/05/2026 12:11:43 - logentry: =========================================
FECHA: 19/05/2026 12:11:43
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-+KHM_DUL_oRJLbRmWnS5JYtB6hd2ZVD9uR0sjKkWL7JDJcmAKkZ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61308000",
    "serieinterna": "TO2971",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "SAG",
    "ciudadmaquina": "Tulahuen",
    "departamentomaquina": "oficina ",
    "rutTecnico": "20988335",
    "contador": "19560",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se instala en 7 equipos, se da inducción de uso se configuración servidor smtp\nse deja toner\n01 iton2956 ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12649",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACuAQMDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABIEAABAwMBBAcFBAYIBAcAAAABAAIDBAURBhIhMUETUWFxgZHBFCKhsdEVIzLwBxYkQoLhJTNSYpLC0vFDU3KiNERUY7Li8v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgQDBgYDAQEAAAAAAAABAgMRBBIhQTFRYRMiMoGR0XGhscHh8CMzQmLx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREAREQBERAERVNdqGmoLxT26Rji6fHvjg3JwMrqTfAhOcYK8mWyyg1HVjWP2c4D2fpOi2QN\/DcfNatYK5x+z\/AKQoHHOJZ4nDxwPmrKaTvczYucoKLi90b1ERVGwIiIAiIgCIiAIqq\/XuOyUjJCzpJZXbMceePWe76hdLHdmXm2tqmt2XA7L29Thx+alldrlfawz9nfUsURFEsCIiAIiIAiIgCIoF6uf2RbX1fRGUtIAaDgb+srqV3YjKSinJ8ET0WdtWrYaqVtNcYTQ1D8Fm3nZeDw3ngtEji48SNOrCorxYREXCwIiIAiIgCIiALC6uPQaroZnfh2Y3eTzlbpY7X9O4R0VY0bmOcwndxO8fIq2l4jFjlei2trM2Kxut4jT19uuLeLTsk43DZO0PmVraaYVFLFOBgSMD8d4yqLXDGv08XHiyVpHfvHquU3aaJ4tZqDfmaJFU6ZuIuVkgkLsyxDo5OvI5+IwVbKDVnYvhNTipLcIiLhMIiIAiIgMtV7Nw19SwOALKKLbI4+9jI+JavrTH7JerxbuDWy9IxvUCT6FqWkmXW92kJzsRhgzxH4fovCPYv0hg7g2tp+rqH\/0V74Zeh5kdJKp\/0\/Y1CIioPTCIiAIiIAiIgCi3KhZcrdPRyHAlbgHqPEHzwpSInY40pKzMbZ6CC92ma1XFmzWW95jZIB7zBy7xkEY6sKx0zc5i+WzV26ro9wcTnbaOe\/8AOCFGvB+wdT012bkU9WOiqByB3b\/LB\/hK+9UQvoKuk1BSjLoHBkwH7zDw+ZHiOpXvvac\/qebH+LvLjHR9VszToucE0dTBHPE7ajkaHNPWCuioPTTuEREAREQBRI7nRy3B9AycOqGN2nMAO7szwz2KWsT0ZpP0kt2nO2ZCXNzz2mH1U4xUrmevVdPLbdpG2VRqqmbU6dqwRkxt6Rp6iDn5ZVuod4IFlriRkezSZHX7pXI6NFlVKVOSfIh6Vq46vT9MWbjE3onDPAj+WD4qJrp+xYA3+3O1vwJ9FQ6crZbCYKqpz7BXNIy0E7LmkjOPDyPYrSqqG6n1DTUtLiSioz0ssgJAfw3cPDt3q3Lad9jz1W7TD5P9PS339NTymb+rOpmwuOzR3FgwSdzXj+Z8nBa5VeoLSLxa5IGgdM33onHk7q8eC46YuxuVtEc7j7XTfdzNd+LdwJ\/PHKhLvLMaaX8VR09nqvuvuXSIirNYREQBERAZi1+5ru6x8NqIOx1\/h3\/FNTkUt9s1dnAEuw93Ddkc+4lKYdF+kOr\/APdpRx7m\/wClddcRbdg6QcYpmuB6uI9Vf\/tfA81r+CfRt+juaJFxpZvaKSGb\/mRtd5jK7Kg9FO6uEREOhERAEREAREQEC9W1t1tc1IcbThmMnk4cFVaaqm3axzWutBMsAMMrTx2eAPeOHgtIsldQdPaohurBilrPcnxwB5n5HwKshqspkrrJJVduD+H4JGjqmWNlXaJzl9DIQDniCTnHZkfFaVZaUm3a9ilGOiuEOyTyzjl25a3zWpXJ8b8yWGdoOD\/y7e3yCIigaQiIgCyWsv2G4Wy7MaS6J+y7tAOQP\/l5rWrMa6ANtpBkhxqRjyKsp+JGXFr+FvkaGkq4K6mZU00gkieMghV+qKltNp6rJcWmRnRjA4k7sfNVf2HeLFUSSWGVk1PKdo08x\/CfE7+\/I9V9xWO53iubU397BDFvZSxn3c+f811Rine+hCVSrKDhleZ6dPjcsrJQMj0\/R01TCx+ywPLXAOAJOc\/FT6akp6OMR08LImgYw0YXZFW22aowjFJLYLLX2jls1xbqC3sJGcVUQ4OaeJ+XjgrUrxzQ5pa4AgjBB5rsZWZGrTVSNt9vicKGtguNIyqpn7UbxntB6j2qQshV0lVpKtdX0DXS22U\/fQZ\/q\/zyPgVp6Ktp7hSsqaaQPjeNx6uw9q7KNtVwI0qrk8k9JL9uiQiIoF4REQGYrcwfpAoXjhNAWnHc76BWWpoen05Ws6o9r\/CQfRVup\/ub9ZKnG7pi0448W\/Uq+uMRnttVCBkyQvbjvBCtb8LMUVftYfuqIunJem09Qu37og3f2bvRWaoNFS9JpyJv\/Le9vxz6q\/UJq0mX0HmpRfRBERRLgiIgCIiAIiIAoF6trbra5qQ42nDMZPJw4Kei6nZ3IyipRcXwZ+eT1b5bFQ1U2RVWqq6FwPHGMjI7248Cv0JpDmhw3gjIX59rGifb7lLJGMQV+HkY3B44+PE\/xFbi2SGa1UkpJJfAxxJ7WhW1NYpowYRtVJwlxVv30sSkRFSeiERQI71Qy3R1tbL+0Nz7pG4kZyAeeMLqTZFyjG13xJ6zGpM1d\/s9ubjfIZXjns\/7BygaPvtJQ2yrjragMMb+kbtO3vBGMAc\/w\/FWGn6epuN2qL7WwmNrhsUzXtAIb1+W7PPJVuXI23sYnWWIhGMd+PRI0yIipN4REQBERAfLmtewse0Oa4YIIyCFlKqjqdJ1bq+3tMtuefv6fmztH18+ta1Q6+52+gid7ZURsGN7CcuIP93iVOLadiitCMlmbs1wfI+rfcaW50oqKSQPYeI5tPUR1qUsbp5rX32a5UdLJRWwsO0ZHYa49fVjsyQFZ1+srTRO2GSPqnY\/4IBA7yfTK64O9kV08THs81R2+\/VF+i5wytngjmZ+GRocO4jKKs18TPa5YRaIKhn4oahpz1bj64Wije2aFrxgte0HrBBVXqmDp9OVjebWh439RB9F20\/N09goX5z9y1p7xu9FY\/AjNHTESXNJ+hU6HzFR1tIScw1JGDy3Y9Fp1mNL\/d3y+w8hUbQ7Ped\/JadcqeIYT+lLlf6hERQNIREQBERAEREAREQGe1u2I6ecXtBcJW7B6j\/tlSNKXBlfYoAMB9O0Qvb3DcfEY+KgaxzVz2y1t3mon2nDqHDP\/cfJfJ\/oDWQIOzSXQbxyD\/8Ac\/8Acrkrwsec5uOIc9tE\/M1SLM3XVFVbr4+kjoxPDEwOk2SdrBA38N2Ce3lwVxbLxRXeASUsoJxl0biA9veFW4NK5rjXpyk4J6onL81vlBW2\/Uckrcx+0zudFJyO0evHbvC\/SHvZGwvkcGNaMlzjgBZZsn6y6niliDjQW\/JbJjc9+7d8vAdqnSdrvYz42CqKMd76Ey1aVoae3wMrKaOWoblz3HfvPLtCvmtDWhrQAAMADkvUVbk3xNVOnGmrRQRF4SAMk4AXCw9RUtw1XaqAhgm9pkP7lPh3x4Ktnu+oa6PpIqaO1UoztTVJAIHj6BTUGzPLE04uy1fQ1E08NNEZZ5WRRt4uecAKhrNaUEUhhoopa6XkIxhpPfx8gsuRT1U2M1t8rAP7wjH+YjyVzSaautUB7RLDbKdww6CkGHEdTjz8SVZkjHxGR4mtV0pr7\/j6kG5aiu04eJquK3x5H3ULtqXHhwPeWqPR2qrr3mSjtckpcfeqa5+49oG7\/MtlbtNWq2gGKmEsgOekmAc7w5DwXO+ahitIEELPaK2T8ELeXacfLmuqe0ERlhnbPXl9\/wB8kZ65WuK3wsn1Dc5KqTf0dJE7APYOodwCk6e0s2aUXK4UzYW5zDSgHAHIuzvPcfFTrNp+V9R9q3o9PWv3tY7BbH1buGfktGoyqNKyZZSwsZPPJWWy38\/YIiKk9E4V0BqqCopxxliczzBCpdEzCTT7Yt+1BK5hB5b8+q0KzGm\/2LUF3tp3Db6aNvU0nq7nNU1rFozVO7WhLndff7C1fs+ubrT8BLGJB2\/hP+YrTrMSEU36Q4snHtNN6H\/StOk9n0GG0Ulyb9wiIoGkLK0msnS3MRT0ojpJJTGyUOJwd3Zv3n49m\/VL86rafoIbzbZfdMEramHIAyM7J82uHkracU73MWLqTp5XF8z9FRRbXUGqtdLO4kukia4k8Scb1KVT0NkXdJoKE670UdzFukm2KhwBa1wIDs8MHgVW6e1Ib1VVEL4mxmNoczZycjO\/JPgqu622O+6zko3vc1sdMCXM4tPEZz\/1BWKGrUjLPEXgp0tbuxs0WatN0q7XW\/Y15Jcf+BUk7njOACVaX65i02mapyOkxsRA83nh5cfBRcXexbGvFwcnpbj0KaBxvOuHzNbtU9uZsh2d21vHzJ\/w+CsNU2s3O0PMY+\/p\/vI8cTjiPEfHC+dJ219BZ2yTZM9Uelfk7xngPLf4q8UpStLTYqpUs9J5\/wDWr8\/YxFuuQn1TQV\/\/AK2Do5SSMB4GCB4hp\/iCu7hpO3Vshmj26WfOduI46+Xj8AslqCllseoRJC0iESCeEcgTxHmPLC\/RYZmVEEc8ZyyRoc09YIyFObtaUTPhkqmenUV2mZ39TnzjYr7zV1UQPusJIx5krQUlJBQ07aemibHG3gGj4rsolfdKG2s2qypZFuyGk+87uHEqpylLQ2Rp0qXeWnX\/ANJa5z1ENNEZZ5WRMHFz3YCzP6x3W8SmOx0GzFwNRONw7eofFR5rJRUr\/bNT3X2iUjIiDyM9w4kd2FJQ5lcsTdXpq65vRE2o1gyaV1PZ6Kaum\/tBpDR29ePJQqqhudZT9NqK7soacnPQMxvHVu4\/FIbpXVrfZNM2wUlPnfUPaB49XzKn0WkYelFVdqh9wqP77jsj1P53KzSPT6mbv1v+vlH3ZUUtZCH+zaXtHSSN3GsmbkjtyeH53K0h0pNXPE99r5aqTOeiY7DG\/nswtHFFHDG2OKNsbGjDWtGAPBfardR7GiGFjbvu\/TgvT3OFJR01DCIaWBkLByaMZ7+td18SyxwxOlleGMYMuc44ACy1VdK\/UlS+gs2YqNvuzVRGMjPL6cT2KKi5F1SpGkkktdkjvdtRyy1P2XY29PVuOHSNwWx93Lx4BS7Hp2O1l1TUSe010m98zt+O7O\/x5qXabPSWemEVNGNoj35CPeee0+inrrkrWiQhSblnq6vbkv3mERFA0hERAFl7j\/R+uaCqwRHWM6Jx63cP9C1CzmtaZz7VFWR5ElJKHgjO4Hd88KdPxW5mbFJ9nmW2voc9Rfs2pbLWcnPMTj2ZH+orTrKaslFRYrfdIeLJWSNPMAjPhvAWpjkbLG2Rhy14DgesFdl4UcotdrNLez+X4PpERVmoLGa1pDTVUVzZGC2RjoJR2kEAnwO7uWzUC900dXZquKUZHROcOWCBkHzCnCWWRnxNPtKTW5C0dL0umqYc2FzT\/iJ9VeLK6EropLbJRZxLE8vx1tON\/n6LVJUVpMYWSlRi+h+f0rv1V1XM6rBbA9r9lzQTtMO9uO3IAV3pmGesuVbfZ4zG2q92EHiWbvQAL5uLW1Wu6CLow9sUJc8kZx+Ij5DzWmAAGAMAKc5adWjNh6Pfevdi3ZdSp1Nb4q+yzbZY18IMkb3YwCPrwWes8dXquemfXgGjoRsubn+tdjn8PyV21hdtutZaDK+KnGHVLmty4jjgeHxU3RdFJS0dTMWPjinlzE1\/HZGcf7rqvGncjJxq4nKuG\/WxpURcqiphpIXTVErIo28XPOAqD0m7asrdRWNt7oRG1zWTxnMT3cB1g9hXgrKTTVogp66qa58bNloaPef1YH5CrZtQ3G9SuptP0xDGnDqqTcB3A8PiexI7Pa7MPbr9Viqqnb8ynaH8LeJ8fgrrO1pehhc05udJfFvh+T4N0v8AqA7NrpjRUrv\/ADEm4kdh+me9eG1WHT46e71HtlU7fsye8XHsb6ldDd7xfj0dkp\/ZaUe6amUYPh\/LPgpdt0jQ0j+nqya2oJyXy7xnu+uV1vLx0K1F1HePefN8PJEJl2vl8b0dopBQ0vAVEnV2cvIHvU236Soqd5nrnOr6l29z5t4z3Hj45V8AAMAYAXqrc9loao4dXvUeZ9eHoeNaGtDWgAAYAHJeoigaQotwuNLbKU1FXIGMHAc3HqA61DvWoKazsDCOmqn\/ANXA3ic8CeoKtt9gq7pVC56gO27H3dN+60do5d3mpqOl5cDPUrPNkp6v5L4nBkFy1fM2ap2qS1B2Wxg4dJ29vfwHJammpYKOnbBTRNiiZwa1dWtDWhrQAAMADkvVyUr6bEqVFQ7z1b3CIuc08NNEZZ5WRRt4uecAKJc3Y6IszWa2o2OMdvp5a2QZJwC1oA58M\/BVFHc9R6jrcU83QQscHEsbhjewnie5WKnK13oY5Yymnlj3n0N6i8bnZG0QTjeQMIqzYeqPcKRtfb56R+MSsLckZweR8DvUhEONJqzMXRvdW6DraOUYmotoOa7iA07Q9R4LQ6dn9p0\/RSZyREGk\/wDT7voqWKL2LV9dQFuxBc4SWjgC7H\/681K0PKX2N0LvxQTObjyPqVfPw38zzsO2qii+TXo\/Y0aIioPSCiXVzWWisc44Agfk\/wAJUtU2rZxBpyq3ZMgDB4kemVKKu0V1ZZacn0MxQ2urprLR322b54i\/pWN39IzaI9MY+i09Pqu0zUJqX1TInMbl8Tj7wPUP7Xgpdlp\/ZLLSQ\/2Ymk953n5rnJp60Sz9O6gi29oOJAwCe4KcpKT7xlpUalOKdNrVK6fPmVemKeSurKq\/1LAHVBLYRjfsjAzx7APArTL5a1rGBjGhrWjAAGAAvpQk7u5ppU+zjb9ucJqKlqJWSz08cr2fhL2g4Xdcaqrp6KB09TK2KNvFzisLdtWyXKd0EM0lHRfvOYMyvHnuz1Z8eS7GEpFdavToceLNHddU0tDJ7LStNZWE4EUW8A8sn0G9VElCZXNuWrK0Rt4x0jTy6sD039ZXC0wXIh0djtwpGOG+sqxl57jwHcAVcUWj6Zs3tNznfcJzvO3nZ\/n+dyt7sP3UyXq19bXXovd\/QhsvVxubRR6ct4pqZnu9M9oAb3ch8Splv0jBHN7XdJnV9Sd5297PI8fHyWhYxkbAyNoY1owGtGAF9Ktz2Whqjhle9R5n8vQ8a0NaGtAAAwAOS9RFWagiLxzg1pc4gADJJ5ID1Z27ajkNSLZZWCprXHDnAZbH1+PwCjV16qr\/AFLrVZARFwmqt+A3s6uffyV1Z7JSWWn6OBu1I4e\/K4e84+g7FZZR1lxMjqSrPLTdlu\/b3Idl03HQv9srX+1V7ztOkfv2D2fX5K9RQ7jdaK1RdJWTtjz+FvFzu4KLbky6MYUYaaImKLX3OjtsXSVlQyIcgTvd3DiVnTdr7f3Flop\/Y6Un\/wATKMOI\/PVnvUyi0hRRP6evkkr6g73OlJxnu5+OVLKl4mVdtOp\/UvN8PyRRqO63iQxWOg2Y84NRPwHp8+5fdNpB1TN7TfKx9ZKf3GuIaPHj5YWlYxkbAyNoY1owGtGAF9Jnt4dAsOpa1Xm+nocKeipaSAwU9PHHGeLWtGD39a+4YYqeMRwRMiYODWNAA8AuiKu5pUUuCCIiHQiIgM1rCmkjZS3eBoMlFIC7dxGRjPZn5qNo2rjluV0ZEfu5XiaMHiASfqFqp4Y6mCSCVu1HI0tcOsFY2jP6l3GSOspzLTVB+7qYxvA6iPz2ZV0Xmg47nnVodnXjV\/zv6WNsi4UlbTV0ImpZmSsPNp\/OOC7qk9BNNXQWWvrzfL3TWOHBiid01S7iMDluOeeO8hWV9v8ABZ4dluJqt+6OEHJ7z2fNcdMWiW308tVWZNZVu25CeI5478k5Vke6szMtV9rJUl5\/Dl5l4AAMAYAXqIqzWEREBEuVtp7rSGlqdvYJBy12CCFxobDbLfg09HGHDPvuG07f2lWKLt3axB04OWZrUIiLhMIiIAiL4lljghfNK8MjYC5zjwAQcBLLHDE6WV4Yxgy5zjgALJTVdbq+pfSURdT2yN2JZuBk7P5eaSPrdZ1LooS6mtMT\/efjfKfz5c1qKenpbbRthiayGCIczgDtJ9Vb4PiY23iHppD6\/gUNDTW6lbTUsYZG3zJ6yeZXtXWU1DCZqqdkLBzccZ7utUdfqrpJfZLHAa6oPF4adhv1+S50ul5q+UVmoKh9RNyha7DGDq3enxXMu8iXbX7lFX+i\/ehzkv8Adb3KYLDSmOHODVSjcPQfE9imW\/SlNBN7VcZXXCqO8ul3tHgePj5BXkUUcMbY4o2xsaMNa0YA8F9rjntHQ7HD3eao8z+XoeAADAGAF6iKBpCIiAIiIAiIgCIiAL4lijmjdHLG2RjhhzXDIPgvtEBnarRVulkMtJJNRyZJBjdkDwP1XL7C1G1vQt1ATFn8RB28d\/H4rTop9pIzPC0r3St8NCltGmaW2SGole6qqnHJlk347vqrpEUW29WXQpxpq0VYIiLhMIiIAiIgCIiAIiIDxzg1pc4gADJJ5LGXKtOpq51NHVCmtNPvmmccB5B\/OB49i0d8oKi52qSkppxC95GSeDhneCqag0LSRNYa+d9Q4cY2nZZ9fkrYZUrsw4lVZyVOK031PX6poaSGO32KlfVva3Zja1hDR6n8718R6fu16kbNfasxxZyKaI\/TcPiVpaWipaGIRUsDImDk0fnK7rme3hJrDuf9ruuS0X5I9FQUlvh6GkgZCznsjee88T4qQiKviakklZBERDoREQBERAEREAREQH\/\/2Q==",
    "razonSocial": "SERVICIO AGRICOLA Y GANADERO ",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "SILBERTO.CABELLO@SAG.GOB.CL",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:11",
    "ubicacionGPS": "LatLng(lat: -30.9647601, lng: -70.7683678)",
    "horaLlegada": "11:12",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 19/05/2026 12:11:43
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-+KHM_DUL_oRJLbRmWnS5JYtB6hd2ZVD9uR0sjKkWL7JDJcmAKkZ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61308000",
    "serieinterna": "TO2971",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "SAG",
    "ciudadmaquina": "Tulahuen",
    "departamentomaquina": "oficina ",
    "rutTecnico": "20988335",
    "contador": "19560",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se instala en 7 equipos, se da inducción de uso se configuración servidor smtp\nse deja toner\n01 iton2956 ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12649",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACuAQMDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABIEAABAwMBBAcFBAYIBAcAAAABAAIDBAURBhIhMUETUWFxgZHBFCKhsdEVIzLwBxYkQoLhJTNSYpLC0vFDU3KiNERUY7Li8v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgQDBgYDAQEAAAAAAAABAgMRBBIhQTFRYRMiMoGR0XGhscHh8CMzQmLx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREAREQBERAERVNdqGmoLxT26Rji6fHvjg3JwMrqTfAhOcYK8mWyyg1HVjWP2c4D2fpOi2QN\/DcfNatYK5x+z\/AKQoHHOJZ4nDxwPmrKaTvczYucoKLi90b1ERVGwIiIAiIgCIiAIqq\/XuOyUjJCzpJZXbMceePWe76hdLHdmXm2tqmt2XA7L29Thx+alldrlfawz9nfUsURFEsCIiAIiIAiIgCIoF6uf2RbX1fRGUtIAaDgb+srqV3YjKSinJ8ET0WdtWrYaqVtNcYTQ1D8Fm3nZeDw3ngtEji48SNOrCorxYREXCwIiIAiIgCIiALC6uPQaroZnfh2Y3eTzlbpY7X9O4R0VY0bmOcwndxO8fIq2l4jFjlei2trM2Kxut4jT19uuLeLTsk43DZO0PmVraaYVFLFOBgSMD8d4yqLXDGv08XHiyVpHfvHquU3aaJ4tZqDfmaJFU6ZuIuVkgkLsyxDo5OvI5+IwVbKDVnYvhNTipLcIiLhMIiIAiIgMtV7Nw19SwOALKKLbI4+9jI+JavrTH7JerxbuDWy9IxvUCT6FqWkmXW92kJzsRhgzxH4fovCPYv0hg7g2tp+rqH\/0V74Zeh5kdJKp\/0\/Y1CIioPTCIiAIiIAiIgCi3KhZcrdPRyHAlbgHqPEHzwpSInY40pKzMbZ6CC92ma1XFmzWW95jZIB7zBy7xkEY6sKx0zc5i+WzV26ro9wcTnbaOe\/8AOCFGvB+wdT012bkU9WOiqByB3b\/LB\/hK+9UQvoKuk1BSjLoHBkwH7zDw+ZHiOpXvvac\/qebH+LvLjHR9VszToucE0dTBHPE7ajkaHNPWCuioPTTuEREAREQBRI7nRy3B9AycOqGN2nMAO7szwz2KWsT0ZpP0kt2nO2ZCXNzz2mH1U4xUrmevVdPLbdpG2VRqqmbU6dqwRkxt6Rp6iDn5ZVuod4IFlriRkezSZHX7pXI6NFlVKVOSfIh6Vq46vT9MWbjE3onDPAj+WD4qJrp+xYA3+3O1vwJ9FQ6crZbCYKqpz7BXNIy0E7LmkjOPDyPYrSqqG6n1DTUtLiSioz0ssgJAfw3cPDt3q3Lad9jz1W7TD5P9PS339NTymb+rOpmwuOzR3FgwSdzXj+Z8nBa5VeoLSLxa5IGgdM33onHk7q8eC46YuxuVtEc7j7XTfdzNd+LdwJ\/PHKhLvLMaaX8VR09nqvuvuXSIirNYREQBERAZi1+5ru6x8NqIOx1\/h3\/FNTkUt9s1dnAEuw93Ddkc+4lKYdF+kOr\/APdpRx7m\/wClddcRbdg6QcYpmuB6uI9Vf\/tfA81r+CfRt+juaJFxpZvaKSGb\/mRtd5jK7Kg9FO6uEREOhERAEREAREQEC9W1t1tc1IcbThmMnk4cFVaaqm3axzWutBMsAMMrTx2eAPeOHgtIsldQdPaohurBilrPcnxwB5n5HwKshqspkrrJJVduD+H4JGjqmWNlXaJzl9DIQDniCTnHZkfFaVZaUm3a9ilGOiuEOyTyzjl25a3zWpXJ8b8yWGdoOD\/y7e3yCIigaQiIgCyWsv2G4Wy7MaS6J+y7tAOQP\/l5rWrMa6ANtpBkhxqRjyKsp+JGXFr+FvkaGkq4K6mZU00gkieMghV+qKltNp6rJcWmRnRjA4k7sfNVf2HeLFUSSWGVk1PKdo08x\/CfE7+\/I9V9xWO53iubU397BDFvZSxn3c+f811Rine+hCVSrKDhleZ6dPjcsrJQMj0\/R01TCx+ywPLXAOAJOc\/FT6akp6OMR08LImgYw0YXZFW22aowjFJLYLLX2jls1xbqC3sJGcVUQ4OaeJ+XjgrUrxzQ5pa4AgjBB5rsZWZGrTVSNt9vicKGtguNIyqpn7UbxntB6j2qQshV0lVpKtdX0DXS22U\/fQZ\/q\/zyPgVp6Ktp7hSsqaaQPjeNx6uw9q7KNtVwI0qrk8k9JL9uiQiIoF4REQGYrcwfpAoXjhNAWnHc76BWWpoen05Ws6o9r\/CQfRVup\/ub9ZKnG7pi0448W\/Uq+uMRnttVCBkyQvbjvBCtb8LMUVftYfuqIunJem09Qu37og3f2bvRWaoNFS9JpyJv\/Le9vxz6q\/UJq0mX0HmpRfRBERRLgiIgCIiAIiIAoF6trbra5qQ42nDMZPJw4Kei6nZ3IyipRcXwZ+eT1b5bFQ1U2RVWqq6FwPHGMjI7248Cv0JpDmhw3gjIX59rGifb7lLJGMQV+HkY3B44+PE\/xFbi2SGa1UkpJJfAxxJ7WhW1NYpowYRtVJwlxVv30sSkRFSeiERQI71Qy3R1tbL+0Nz7pG4kZyAeeMLqTZFyjG13xJ6zGpM1d\/s9ubjfIZXjns\/7BygaPvtJQ2yrjragMMb+kbtO3vBGMAc\/w\/FWGn6epuN2qL7WwmNrhsUzXtAIb1+W7PPJVuXI23sYnWWIhGMd+PRI0yIipN4REQBERAfLmtewse0Oa4YIIyCFlKqjqdJ1bq+3tMtuefv6fmztH18+ta1Q6+52+gid7ZURsGN7CcuIP93iVOLadiitCMlmbs1wfI+rfcaW50oqKSQPYeI5tPUR1qUsbp5rX32a5UdLJRWwsO0ZHYa49fVjsyQFZ1+srTRO2GSPqnY\/4IBA7yfTK64O9kV08THs81R2+\/VF+i5wytngjmZ+GRocO4jKKs18TPa5YRaIKhn4oahpz1bj64Wije2aFrxgte0HrBBVXqmDp9OVjebWh439RB9F20\/N09goX5z9y1p7xu9FY\/AjNHTESXNJ+hU6HzFR1tIScw1JGDy3Y9Fp1mNL\/d3y+w8hUbQ7Ped\/JadcqeIYT+lLlf6hERQNIREQBERAEREAREQGe1u2I6ecXtBcJW7B6j\/tlSNKXBlfYoAMB9O0Qvb3DcfEY+KgaxzVz2y1t3mon2nDqHDP\/cfJfJ\/oDWQIOzSXQbxyD\/8Ac\/8Acrkrwsec5uOIc9tE\/M1SLM3XVFVbr4+kjoxPDEwOk2SdrBA38N2Ce3lwVxbLxRXeASUsoJxl0biA9veFW4NK5rjXpyk4J6onL81vlBW2\/Uckrcx+0zudFJyO0evHbvC\/SHvZGwvkcGNaMlzjgBZZsn6y6niliDjQW\/JbJjc9+7d8vAdqnSdrvYz42CqKMd76Ey1aVoae3wMrKaOWoblz3HfvPLtCvmtDWhrQAAMADkvUVbk3xNVOnGmrRQRF4SAMk4AXCw9RUtw1XaqAhgm9pkP7lPh3x4Ktnu+oa6PpIqaO1UoztTVJAIHj6BTUGzPLE04uy1fQ1E08NNEZZ5WRRt4uecAKhrNaUEUhhoopa6XkIxhpPfx8gsuRT1U2M1t8rAP7wjH+YjyVzSaautUB7RLDbKdww6CkGHEdTjz8SVZkjHxGR4mtV0pr7\/j6kG5aiu04eJquK3x5H3ULtqXHhwPeWqPR2qrr3mSjtckpcfeqa5+49oG7\/MtlbtNWq2gGKmEsgOekmAc7w5DwXO+ahitIEELPaK2T8ELeXacfLmuqe0ERlhnbPXl9\/wB8kZ65WuK3wsn1Dc5KqTf0dJE7APYOodwCk6e0s2aUXK4UzYW5zDSgHAHIuzvPcfFTrNp+V9R9q3o9PWv3tY7BbH1buGfktGoyqNKyZZSwsZPPJWWy38\/YIiKk9E4V0BqqCopxxliczzBCpdEzCTT7Yt+1BK5hB5b8+q0KzGm\/2LUF3tp3Db6aNvU0nq7nNU1rFozVO7WhLndff7C1fs+ubrT8BLGJB2\/hP+YrTrMSEU36Q4snHtNN6H\/StOk9n0GG0Ulyb9wiIoGkLK0msnS3MRT0ojpJJTGyUOJwd3Zv3n49m\/VL86rafoIbzbZfdMEramHIAyM7J82uHkracU73MWLqTp5XF8z9FRRbXUGqtdLO4kukia4k8Scb1KVT0NkXdJoKE670UdzFukm2KhwBa1wIDs8MHgVW6e1Ib1VVEL4mxmNoczZycjO\/JPgqu622O+6zko3vc1sdMCXM4tPEZz\/1BWKGrUjLPEXgp0tbuxs0WatN0q7XW\/Y15Jcf+BUk7njOACVaX65i02mapyOkxsRA83nh5cfBRcXexbGvFwcnpbj0KaBxvOuHzNbtU9uZsh2d21vHzJ\/w+CsNU2s3O0PMY+\/p\/vI8cTjiPEfHC+dJ219BZ2yTZM9Uelfk7xngPLf4q8UpStLTYqpUs9J5\/wDWr8\/YxFuuQn1TQV\/\/AK2Do5SSMB4GCB4hp\/iCu7hpO3Vshmj26WfOduI46+Xj8AslqCllseoRJC0iESCeEcgTxHmPLC\/RYZmVEEc8ZyyRoc09YIyFObtaUTPhkqmenUV2mZ39TnzjYr7zV1UQPusJIx5krQUlJBQ07aemibHG3gGj4rsolfdKG2s2qypZFuyGk+87uHEqpylLQ2Rp0qXeWnX\/ANJa5z1ENNEZZ5WRMHFz3YCzP6x3W8SmOx0GzFwNRONw7eofFR5rJRUr\/bNT3X2iUjIiDyM9w4kd2FJQ5lcsTdXpq65vRE2o1gyaV1PZ6Kaum\/tBpDR29ePJQqqhudZT9NqK7soacnPQMxvHVu4\/FIbpXVrfZNM2wUlPnfUPaB49XzKn0WkYelFVdqh9wqP77jsj1P53KzSPT6mbv1v+vlH3ZUUtZCH+zaXtHSSN3GsmbkjtyeH53K0h0pNXPE99r5aqTOeiY7DG\/nswtHFFHDG2OKNsbGjDWtGAPBfardR7GiGFjbvu\/TgvT3OFJR01DCIaWBkLByaMZ7+td18SyxwxOlleGMYMuc44ACy1VdK\/UlS+gs2YqNvuzVRGMjPL6cT2KKi5F1SpGkkktdkjvdtRyy1P2XY29PVuOHSNwWx93Lx4BS7Hp2O1l1TUSe010m98zt+O7O\/x5qXabPSWemEVNGNoj35CPeee0+inrrkrWiQhSblnq6vbkv3mERFA0hERAFl7j\/R+uaCqwRHWM6Jx63cP9C1CzmtaZz7VFWR5ElJKHgjO4Hd88KdPxW5mbFJ9nmW2voc9Rfs2pbLWcnPMTj2ZH+orTrKaslFRYrfdIeLJWSNPMAjPhvAWpjkbLG2Rhy14DgesFdl4UcotdrNLez+X4PpERVmoLGa1pDTVUVzZGC2RjoJR2kEAnwO7uWzUC900dXZquKUZHROcOWCBkHzCnCWWRnxNPtKTW5C0dL0umqYc2FzT\/iJ9VeLK6EropLbJRZxLE8vx1tON\/n6LVJUVpMYWSlRi+h+f0rv1V1XM6rBbA9r9lzQTtMO9uO3IAV3pmGesuVbfZ4zG2q92EHiWbvQAL5uLW1Wu6CLow9sUJc8kZx+Ij5DzWmAAGAMAKc5adWjNh6Pfevdi3ZdSp1Nb4q+yzbZY18IMkb3YwCPrwWes8dXquemfXgGjoRsubn+tdjn8PyV21hdtutZaDK+KnGHVLmty4jjgeHxU3RdFJS0dTMWPjinlzE1\/HZGcf7rqvGncjJxq4nKuG\/WxpURcqiphpIXTVErIo28XPOAqD0m7asrdRWNt7oRG1zWTxnMT3cB1g9hXgrKTTVogp66qa58bNloaPef1YH5CrZtQ3G9SuptP0xDGnDqqTcB3A8PiexI7Pa7MPbr9Viqqnb8ynaH8LeJ8fgrrO1pehhc05udJfFvh+T4N0v8AqA7NrpjRUrv\/ADEm4kdh+me9eG1WHT46e71HtlU7fsye8XHsb6ldDd7xfj0dkp\/ZaUe6amUYPh\/LPgpdt0jQ0j+nqya2oJyXy7xnu+uV1vLx0K1F1HePefN8PJEJl2vl8b0dopBQ0vAVEnV2cvIHvU236Soqd5nrnOr6l29z5t4z3Hj45V8AAMAYAXqrc9loao4dXvUeZ9eHoeNaGtDWgAAYAHJeoigaQotwuNLbKU1FXIGMHAc3HqA61DvWoKazsDCOmqn\/ANXA3ic8CeoKtt9gq7pVC56gO27H3dN+60do5d3mpqOl5cDPUrPNkp6v5L4nBkFy1fM2ap2qS1B2Wxg4dJ29vfwHJammpYKOnbBTRNiiZwa1dWtDWhrQAAMADkvVyUr6bEqVFQ7z1b3CIuc08NNEZZ5WRRt4uecAKJc3Y6IszWa2o2OMdvp5a2QZJwC1oA58M\/BVFHc9R6jrcU83QQscHEsbhjewnie5WKnK13oY5Yymnlj3n0N6i8bnZG0QTjeQMIqzYeqPcKRtfb56R+MSsLckZweR8DvUhEONJqzMXRvdW6DraOUYmotoOa7iA07Q9R4LQ6dn9p0\/RSZyREGk\/wDT7voqWKL2LV9dQFuxBc4SWjgC7H\/681K0PKX2N0LvxQTObjyPqVfPw38zzsO2qii+TXo\/Y0aIioPSCiXVzWWisc44Agfk\/wAJUtU2rZxBpyq3ZMgDB4kemVKKu0V1ZZacn0MxQ2urprLR322b54i\/pWN39IzaI9MY+i09Pqu0zUJqX1TInMbl8Tj7wPUP7Xgpdlp\/ZLLSQ\/2Ymk953n5rnJp60Sz9O6gi29oOJAwCe4KcpKT7xlpUalOKdNrVK6fPmVemKeSurKq\/1LAHVBLYRjfsjAzx7APArTL5a1rGBjGhrWjAAGAAvpQk7u5ppU+zjb9ucJqKlqJWSz08cr2fhL2g4Xdcaqrp6KB09TK2KNvFzisLdtWyXKd0EM0lHRfvOYMyvHnuz1Z8eS7GEpFdavToceLNHddU0tDJ7LStNZWE4EUW8A8sn0G9VElCZXNuWrK0Rt4x0jTy6sD039ZXC0wXIh0djtwpGOG+sqxl57jwHcAVcUWj6Zs3tNznfcJzvO3nZ\/n+dyt7sP3UyXq19bXXovd\/QhsvVxubRR6ct4pqZnu9M9oAb3ch8Splv0jBHN7XdJnV9Sd5297PI8fHyWhYxkbAyNoY1owGtGAF9Ktz2Whqjhle9R5n8vQ8a0NaGtAAAwAOS9RFWagiLxzg1pc4gADJJ5ID1Z27ajkNSLZZWCprXHDnAZbH1+PwCjV16qr\/AFLrVZARFwmqt+A3s6uffyV1Z7JSWWn6OBu1I4e\/K4e84+g7FZZR1lxMjqSrPLTdlu\/b3Idl03HQv9srX+1V7ztOkfv2D2fX5K9RQ7jdaK1RdJWTtjz+FvFzu4KLbky6MYUYaaImKLX3OjtsXSVlQyIcgTvd3DiVnTdr7f3Flop\/Y6Un\/wATKMOI\/PVnvUyi0hRRP6evkkr6g73OlJxnu5+OVLKl4mVdtOp\/UvN8PyRRqO63iQxWOg2Y84NRPwHp8+5fdNpB1TN7TfKx9ZKf3GuIaPHj5YWlYxkbAyNoY1owGtGAF9Jnt4dAsOpa1Xm+nocKeipaSAwU9PHHGeLWtGD39a+4YYqeMRwRMiYODWNAA8AuiKu5pUUuCCIiHQiIgM1rCmkjZS3eBoMlFIC7dxGRjPZn5qNo2rjluV0ZEfu5XiaMHiASfqFqp4Y6mCSCVu1HI0tcOsFY2jP6l3GSOspzLTVB+7qYxvA6iPz2ZV0Xmg47nnVodnXjV\/zv6WNsi4UlbTV0ImpZmSsPNp\/OOC7qk9BNNXQWWvrzfL3TWOHBiid01S7iMDluOeeO8hWV9v8ABZ4dluJqt+6OEHJ7z2fNcdMWiW308tVWZNZVu25CeI5478k5Vke6szMtV9rJUl5\/Dl5l4AAMAYAXqIqzWEREBEuVtp7rSGlqdvYJBy12CCFxobDbLfg09HGHDPvuG07f2lWKLt3axB04OWZrUIiLhMIiIAiL4lljghfNK8MjYC5zjwAQcBLLHDE6WV4Yxgy5zjgALJTVdbq+pfSURdT2yN2JZuBk7P5eaSPrdZ1LooS6mtMT\/efjfKfz5c1qKenpbbRthiayGCIczgDtJ9Vb4PiY23iHppD6\/gUNDTW6lbTUsYZG3zJ6yeZXtXWU1DCZqqdkLBzccZ7utUdfqrpJfZLHAa6oPF4adhv1+S50ul5q+UVmoKh9RNyha7DGDq3enxXMu8iXbX7lFX+i\/ehzkv8Adb3KYLDSmOHODVSjcPQfE9imW\/SlNBN7VcZXXCqO8ul3tHgePj5BXkUUcMbY4o2xsaMNa0YA8F9rjntHQ7HD3eao8z+XoeAADAGAF6iKBpCIiAIiIAiIgCIiAL4lijmjdHLG2RjhhzXDIPgvtEBnarRVulkMtJJNRyZJBjdkDwP1XL7C1G1vQt1ATFn8RB28d\/H4rTop9pIzPC0r3St8NCltGmaW2SGole6qqnHJlk347vqrpEUW29WXQpxpq0VYIiLhMIiIAiIgCIiAIiIDxzg1pc4gADJJ5LGXKtOpq51NHVCmtNPvmmccB5B\/OB49i0d8oKi52qSkppxC95GSeDhneCqag0LSRNYa+d9Q4cY2nZZ9fkrYZUrsw4lVZyVOK031PX6poaSGO32KlfVva3Zja1hDR6n8718R6fu16kbNfasxxZyKaI\/TcPiVpaWipaGIRUsDImDk0fnK7rme3hJrDuf9ruuS0X5I9FQUlvh6GkgZCznsjee88T4qQiKviakklZBERDoREQBERAEREAREQH\/\/2Q==",
    "razonSocial": "SERVICIO AGRICOLA Y GANADERO ",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "SILBERTO.CABELLO@SAG.GOB.CL",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:11",
    "ubicacionGPS": "LatLng(lat: -30.9647601, lng: -70.7683678)",
    "horaLlegada": "11:12",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


19/05/2026 12:11:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61308000

[19/05/2026 12:11: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('61308000', 'TO2971', 2, 20988335, 19560, NOW(), 
				'08:00', '11:12', '12:11', 1, 'se instala en 7 equipos, se da inducción de uso se configuración servidor smtp
se deja toner
01 iton2956 ', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779207103.png', '', null, 'COMPLETADO','LatLng(lat: -30.9647601, lng: -70.7683678)' )
				
[19/05/2026 12:11:43] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200362

19/05/2026 12:11:43 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '61308000'
				   AND serieintmaquina = 'TO2971'
		
19/05/2026 12:11:43 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'TO2971'
				   AND estado = 1
				
19/05/2026 12:11:43 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('61308000', 'TO2971', 1, 1, now(), 'SAG', 'Tulahuen', 'oficina ');
				
19/05/2026 12:11:43 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200362'                    
				WHERE idllamado = 12649			
				TO ENVIO: SILBERTO.CABELLO@SAG.GOB.CL, tecnico@dsprint.cl


19/05/2026 12:11:43 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12649			
				
19/05/2026 12:11:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


19/05/2026 12: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 = 12649
                

19/05/2026 12: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 = 12649
                

19/05/2026 12: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 = 12649
                

19/05/2026 12: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 = 12649
                

19/05/2026 12:11:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:11:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12649
LIMIT 1;
        

19/05/2026 12: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 = 12649
                

19/05/2026 12: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 = 12649
                

19/05/2026 12:11:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:11:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

[19/05/2026 12:12:03] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:12:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:12:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:12:03 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12649
LIMIT 1;
        

[19/05/2026 12:12:03] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:12:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:12:03 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12649
LIMIT 1;
        

19/05/2026 12:12:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:12:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:12:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

19/05/2026 12:12:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12649
                

[19/05/2026 12:19:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[19/05/2026 12:19:36] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[19/05/2026 12:19:36] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[19/05/2026 12:19: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;
                

[19/05/2026 12:19:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[19/05/2026 12:19: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;
                
[19/05/2026 12:19: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;
				

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 12:19: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;
                

[19/05/2026 12:19: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;
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 12:19: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;
                

19/05/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12572
                

19/05/2026 12:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12572
                

19/05/2026 12:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

[19/05/2026 12:19: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;
                

19/05/2026 12:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 12:19: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;
                

19/05/2026 12: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 = 12572
                

[19/05/2026 12:19: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;
                

19/05/2026 12:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12:20:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 12:20: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;
                

19/05/2026 12:20:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 12:20: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;
                

19/05/2026 12:20:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 12:20: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;
                

19/05/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 12:20: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;
                

19/05/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

[19/05/2026 12:20: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;
                

19/05/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 12:20: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;
                

19/05/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12572
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12:20:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12:20:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12:20:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

[19/05/2026 12: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;
                

[19/05/2026 12: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;
                

[19/05/2026 12: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;
                

19/05/2026 12:20:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

[19/05/2026 12: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;
                

19/05/2026 12:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

[19/05/2026 12: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;
                

19/05/2026 12:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

[19/05/2026 12: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;
                

19/05/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

[19/05/2026 12:24:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 12:24:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 12:24:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 12:24:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

[19/05/2026 12:24:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 12:24: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;
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

19/05/2026 12: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 = 12572
                

[19/05/2026 12:24: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;
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12645
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

[19/05/2026 12:24: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;
                

[19/05/2026 12:24: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;
                

[19/05/2026 12:24: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;
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

[19/05/2026 12:24: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;
                

19/05/2026 12:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12645
                

[19/05/2026 12:24: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;
                

19/05/2026 12: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 = 12645
                

19/05/2026 12:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12:24:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

[19/05/2026 12:24: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;
                

19/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:24:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:24:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

[19/05/2026 12:24: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;
                

19/05/2026 12:24:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:24:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

[19/05/2026 12:24: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;
                

19/05/2026 12:24:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

[19/05/2026 12:24: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;
                

19/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:24:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

[19/05/2026 12:24:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

[19/05/2026 12:24:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:28:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:28:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:28:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:28:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:28:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:28:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:28:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

[19/05/2026 12:28:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 12:28:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:28:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:28:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

[19/05/2026 12:28:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:28:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:28:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

[19/05/2026 12:28: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;
                

19/05/2026 12:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:28:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

[19/05/2026 12:28: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;
                

[19/05/2026 12:28: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;
                

19/05/2026 12:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:36:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:36:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

[19/05/2026 12:36: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;
                

19/05/2026 12:36:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

[19/05/2026 12:36: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;
                

19/05/2026 12:36:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:36:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:36:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:36:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:36:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:36:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

[19/05/2026 12:36: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;
                

[19/05/2026 12:36: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;
                

19/05/2026 12:36:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:36:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:36:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

[19/05/2026 12:36: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;
                

19/05/2026 12:36:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:36:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:36:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:36:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:36:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

[19/05/2026 12:36: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;
                

19/05/2026 12:36:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:36:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:36:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:36:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:36:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:36:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:36:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:36:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12645
                

19/05/2026 12:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12:36:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12645
                

19/05/2026 12:36:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12:36:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12:36:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12:39:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12: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 = 12645
                

19/05/2026 12:39:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:39:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:39:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:39:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:39:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:39:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:39:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:39:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:39:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:39:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:39:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 12:39:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:39:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:39:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:39:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:39:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12:39:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 12: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 = 12645
                

19/05/2026 12: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 = 12645
                
[19/05/2026 12:47:46] 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;
                
[19/05/2026 12:47: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				

[19/05/2026 12:47: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;
                

[19/05/2026 12:48:22] 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;
                

19/05/2026 12:48:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:48:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12619
LIMIT 1;
        

19/05/2026 12:48:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12619
LIMIT 1;
        

19/05/2026 12:48:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12619
LIMIT 1;
        

[19/05/2026 12:48:24] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:48:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:48:39 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12619
LIMIT 1;
        

19/05/2026 12:48:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:48:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:48:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:48:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:48:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:48:39 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12619
LIMIT 1;
        

19/05/2026 12:48:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:48:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:48:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:48:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12619
LIMIT 1;
        

19/05/2026 12:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:48:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:48:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12619
LIMIT 1;
        

19/05/2026 12:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:48:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:48:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:48:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12619
LIMIT 1;
        

19/05/2026 12:48:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:48:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:48:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:48:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:48:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12619
LIMIT 1;
        

19/05/2026 12:48:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:48:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:49:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12619
LIMIT 1;
        

19/05/2026 12:49:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:49:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12619
LIMIT 1;
        

19/05/2026 12:49:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:49:13 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12619
LIMIT 1;
        

19/05/2026 12:49:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:19 - logentry: =========================================
FECHA: 19/05/2026 12:49:19
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-JohrsxjqFzEbo_BYD+.30A-d0aDFD99QpehiDJ2KhHj7ouPfnrw
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76548103",
    "serieinterna": "EP3160",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "CSJ",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "TALLER",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se retira la kiocera 3655",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12619",
    "observacion": "",
    "firma": "",
    "razonSocial": "BLINKEND SEGURIDAD SPA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "LEONARDO CABALLERO GUESALAGA",
    "correoContacto": "lcaballero@blinkend.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "974097003",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28704\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28704\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28704\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28704\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:49",
    "ubicacionGPS": "LatLng(lat: -24.9395896, lng: -69.9299638)",
    "horaLlegada": "09:46",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 19/05/2026 12:49:19
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-JohrsxjqFzEbo_BYD+.30A-d0aDFD99QpehiDJ2KhHj7ouPfnrw
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76548103",
    "serieinterna": "EP3160",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "CSJ",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "TALLER",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se retira la kiocera 3655",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12619",
    "observacion": "",
    "firma": "",
    "razonSocial": "BLINKEND SEGURIDAD SPA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "LEONARDO CABALLERO GUESALAGA",
    "correoContacto": "lcaballero@blinkend.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "974097003",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28704\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28704\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28704\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28704\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:49",
    "ubicacionGPS": "LatLng(lat: -24.9395896, lng: -69.9299638)",
    "horaLlegada": "09:46",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


19/05/2026 12:49:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76548103

[19/05/2026 12:49:19] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76548103', 'EP3160', 2, 27729424, 0, NOW(), 
				'08:00', '09:46', '12:49', 1, 'se retira la kiocera 3655', -1, 
				'', '','1','0',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -24.9395896, lng: -69.9299638)' )
				
[19/05/2026 12:49:19] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200363

19/05/2026 12:49:19 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76548103'
				   AND serieintmaquina = 'EP3160'
		
19/05/2026 12:49:19 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP3160'
				   AND estado = 1
				
19/05/2026 12:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:19 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76548103', 'EP3160', 1, 1, now(), 'CSJ', 'ANTOFAGASTA', 'TALLER');
				
=========================================
FECHA: 19/05/2026 12:49:19
listaInsumosUsadosConsolidado===

idReport:200363

idInventario:EPS-I1240

idControl:28704

cantidadAsignada:1

cantidadUsada:1

[19/05/2026 12:49:19] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200363', 'EPS-I1240', 1)
				
[19/05/2026 12:49:19] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28704 and
				    IDproducto = 'EPS-I1240'
				

19/05/2026 12:49:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:49:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12619
LIMIT 1;
        

19/05/2026 12:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:19 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1240';
                
=========================================
FECHA: 19/05/2026 12:49:19
listaInsumosUsadosConsolidado===

idReport:200363

idInventario:EPS-I1241

idControl:28704

cantidadAsignada:1

cantidadUsada:1

[19/05/2026 12:49:19] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200363', 'EPS-I1241', 1)
				
[19/05/2026 12:49:19] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28704 and
				    IDproducto = 'EPS-I1241'
				

19/05/2026 12:49:19 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1241';
                
=========================================
FECHA: 19/05/2026 12:49:19
listaInsumosUsadosConsolidado===

idReport:200363

idInventario:EPS-I1242

idControl:28704

cantidadAsignada:1

cantidadUsada:1

[19/05/2026 12:49:19] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200363', 'EPS-I1242', 1)
				
[19/05/2026 12:49:19] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28704 and
				    IDproducto = 'EPS-I1242'
				

19/05/2026 12:49:19 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1242';
                
=========================================
FECHA: 19/05/2026 12:49:19
listaInsumosUsadosConsolidado===

idReport:200363

idInventario:EPS-I1243

idControl:28704

cantidadAsignada:1

cantidadUsada:1

[19/05/2026 12:49:19] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200363', 'EPS-I1243', 1)
				
[19/05/2026 12:49:19] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28704 and
				    IDproducto = 'EPS-I1243'
				

19/05/2026 12:49:19 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1243';
                
19/05/2026 12:49:19 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200363'                    
				WHERE idllamado = 12619			
				TO ENVIO: micorreo@miempresa.cl, lcaballero@blinkend.cl


19/05/2026 12:49:20 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12619			
				
19/05/2026 12:49:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


19/05/2026 12:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:49:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12619
LIMIT 1;
        

19/05/2026 12:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:49:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12619
LIMIT 1;
        

[19/05/2026 12:49:22] 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;
                

[19/05/2026 12:49:23] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:49:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 12:49:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12619
LIMIT 1;
        

19/05/2026 12:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12619
                

19/05/2026 12:49:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 12:49:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

[19/05/2026 12:49: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;
                

19/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

[19/05/2026 12:49: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;
                

19/05/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

[19/05/2026 12:49:45] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:49:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 12:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 12:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

[19/05/2026 12:49:47] 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;
                

19/05/2026 12:49:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 12:49:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

[19/05/2026 12:49:47] 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;
                

[19/05/2026 12:49:47] 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;
                

19/05/2026 12:49:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 12:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 12:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 12:49:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

[19/05/2026 12:49:48] 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;
                

19/05/2026 12:49:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

19/05/2026 12:49:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

19/05/2026 12:49:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

[19/05/2026 12:49:48] 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;
                

19/05/2026 12:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

19/05/2026 12:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

19/05/2026 12:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

19/05/2026 12:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

[19/05/2026 12:49: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;
                

19/05/2026 12:49:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

19/05/2026 12:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

19/05/2026 12:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

[19/05/2026 12:49: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;
                

19/05/2026 12:49:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

19/05/2026 12:49:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

19/05/2026 12:49:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

[19/05/2026 12:49:55] 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;
                

19/05/2026 12:49:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

19/05/2026 12:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

19/05/2026 12:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

19/05/2026 12:49:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

19/05/2026 12:49:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

[19/05/2026 12:49: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;
                

19/05/2026 12:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

19/05/2026 12:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

[19/05/2026 12:49: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;
                

19/05/2026 12:49:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

[19/05/2026 12:49: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;
                

19/05/2026 12:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

19/05/2026 12:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

19/05/2026 12:50:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

19/05/2026 12:50:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

19/05/2026 12:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

19/05/2026 12:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

[19/05/2026 12:50: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;
                

[19/05/2026 12:50: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;
                

19/05/2026 12:50:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

19/05/2026 12:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

19/05/2026 12:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

19/05/2026 12:50:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

[19/05/2026 12:50: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;
                

[19/05/2026 12:50: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;
                

19/05/2026 12:50:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

19/05/2026 12:50:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

19/05/2026 12:50:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

[19/05/2026 12:50:06] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:50:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

19/05/2026 12:50:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

[19/05/2026 12:50:06] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 12:50:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

19/05/2026 12:50:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

19/05/2026 12:50:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

19/05/2026 12:50:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

19/05/2026 13:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 13:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 13:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 13:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/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 = 12645
                

19/05/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 = 12645
                

19/05/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 = 12645
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/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 = 12645
                

19/05/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 = 12645
                

19/05/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 = 12645
                

19/05/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 = 12645
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/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 = 12645
                

19/05/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 = 12645
                

19/05/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 = 12645
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/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 = 12645
                

19/05/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 = 12645
                

19/05/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 = 12645
                

19/05/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 = 12645
                

19/05/2026 13:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 13:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:37 - logentry: =========================================
FECHA: 19/05/2026 13:13:37
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-2CzjGKlSC0D97os_pxigqeppvZ3PSn+ooSoigo6.3cWOH9t-wvO
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76249985",
    "serieinterna": "EXTO2204",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "79977",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Cambio unidad de imagen, maquina quedo operativa",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12645",
    "observacion": "Cambio unidad de imagen, maquina quedo operativa",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACkAQQDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xABAEAABAwMCAggDBQYFBAMAAAABAAIDBAURBiESMRNBUWFxgZGhFCKxFTJCwdEjJTNi8PEWJFLS4Qc0U3JDouL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQIDBAkFAQEAAAAAAAAAAQIDERIhMQQyQVETImFxkaGxwdEUI4Hh8EJi\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBUuoNQMtEQhhb01bLtHEN8Z6z+nWvl+1HTWqjf0MsUtUflZGHA4PacdSydnu8NLNNcpqSouNwOXucdmxDrOd+rrxtyVsKbebMG0bVGL6OLs+fL9l\/p+53ea\/VFBcXMcWRdI5reTCeEgeXFj15rULA2WTUMlRVXK30McgrXkmSY7DBOw3Hh5K3FJrOQcX2lSR\/wAvCP8AYV2cFfVIjs9dqG7J\/Bp0WYNDrMDP2tSHu4R\/sQu1nTji4KSp4fw7fN9FDB2o0fUc4S8P2adFHoZKiaiikqohDM5uXxj8PcigaE7q5IREQ6EREAREQBERAEREARR62uprfTunqpmxsHWeZ7gOtZv4+7aokdHbuKht4y11Q4fM7w\/QeZUlFvPgU1K0YPDq+RcXTUVutILZ5uOUf\/FHu7z7PNVX2zqG6P8A3XbPh4CRiWoGMjt3\/LKsrXpq3WsiRkXTT8+ml3dnu6h9VbqV4rRXK8FapvysuS+TMN03ear5q+\/zA\/6IM4+o+iDQtATmSsrHEcvnbt7LToudJI79LS4q\/e2Zg6RqaUZtl6qYMYw15yMZ5bY+i4F5vNhkZHe4BU07iB8VCNm79e3tstUvOaGOohfDMwPjeMOa4bELuO+9mcezKOdJ2fl4CCohqoWzQSNkjcMhzTkFeiydA9+mtQm2SvPwFXvTlx2Yez1OPRaskAZJwAoyjZllKpjWeTWp9RVFw1ParcXMkqOkkbzjiHEf091Xfbd+upxarX8PFn+NUHqPIgHHtldUG8zktopxdk7vkszTPeyNhfI4Ma0ZLnHACpq7V1ponGNszqmQHHBA3i9+XuoQ0lVV7xLerrLO7GOji2aPM\/oFc0NkttuA+FpI2OBzxn5nep3XbQWuZDFXnosK7c34FKL5qG5t\/dto+HY7lLOe7mM4H1UK6Wysgon1d\/vUjmHYQQfjOOQ5Dq7Fsppo6eF80zwyNgy5zjsAspQwy6tubq+saW26mfiCIjaQ9\/tn0Uoy42siitTeUXJyk\/DvsjjSumInRmvuNM1wkGYIX7gN7SOvqwpurqptNbI7XSRjpq1wY1jBjDQR9Tgeq0qytuc6+aunryP8tQDo4gRsXbjP1Poik5SxPgSnSjSpqlDWWXyzQ2+kZQW+CkYNomBvies+qkoipNySSsgiIh0IiIAiIgCIiAIiIAiIgCqb1qGltDOD+NVO2ZAw7nPLPYFGvuojRy\/Z1ujNRcJBgBoyI\/Hv68eq6senWUJ+Nrj8RcHnidI454CeofqrFFJXkZZ1ZTlgpfl8v2Q6KwVd3nbcNQuLjgGKmBw1o7x1eHqtOxjI2BkbQxrRgNaMALpFGUmy2nSjTWWvPiERFEtCIvjnBrS5xAAGST1ID6uJZooIzJNIyNg5ue4ADzWerNVPnqTRWOm+Nn\/8n4G\/r45AXlFpWsuMwqL\/AF7piNxDEcNH6eQ81ZgtvZGZ18TtSV\/TxIGrb5brhAympOKeaF\/GJWj5W9u\/X9FKpbRdtQ08dTdrk5lLK0ObDAQMg7jPV65VvcrXSU+na6npaaOJpgccNbjJAyMnr5da50nMZ9N0hOctBZv3EgeynitDqmdUXKvaq9VfLJZep7UGnbVbsGGkY5+3zyfO7x35eSs0RUtt6m+MIwVoqwRFS6mvBtVv4Id6qoyyIA7jb73lt5kIk27I5UmqcXKXArLrJLqW+izU7+CkpDxVDwfvEYyPLl457FqYYY6eFkMLAyNgw1rRsAq7T1pNotojlPFUSkvmdnOXH\/hWqlJ8FoVUINXnPefl2FNqe7fZlsLYt6mozHE3r7yPDIXtp+1\/ZNoipnAdKcvkwc5cf6A8lTUDRqLVMlxceKkoDwQDbDnDkfXf0WsXZdVYSNL7k3V4aL3f5CIirNQREQBERAEREAREQBERAFnr7fZhP9k2hplrpNnObyiH6\/RL7e5viBZ7UOOul2c4HaIY7e3HoptkskNmpyAekqJN5Zjzcf0ViSirsyznKrJ06enF+y7fQ4sen4LQwyvd01ZIP2szt9+ZA\/rdW6IoNtu7L4QjCOGKyCIi4TCIqu93uGzU4JHSVEm0UI5uP6LqTbsiM5xhHFLQ97ndqO005mq5eH\/Swbud4BZ1sF31bh9QTQ2wnLWN+9IPz8eXipNq07NV1Aul9cZqhxyyB27Yx1ZH5LTKd1DTUzKE6+c8o8uff8EWgt1JbKcQUkIjb1nrce0nrUpEVbdzUkoqyIN6kEVkrnk4xTvwe\/hOPdQ9IxmPTNJluC7id6uOPbC8tZ1JisZp2nD6mRsYAzkjOTy8PdW1upvg7bTU2MGKJrT44391ZpAzrPaO5er\/AESURFWaTiWVkMT5ZHBrGNLnOPUBzKy9jjlv18kv1Q3FPCTHTRk5wcc\/c+Z7l3qerluFXBYKF5EsrgaggH5G9QPdvk+A7VoqSkhoaSOlgbwxxjDRnKs3Y9rMj+9Vt\/mPr+j2VNqq4GhssjY89NUHoYw07788eSuHODWlziAAMknqWVoQ\/UmpH1728VvoiWQg4w523r2+i5BZ3fAntEnhwR1ll8surDbBabTDTYHSY45SOt55+nLyViiKLd3dl0YqEVFaIIiLhIIiIAiIgCIiAIiIAqXUF8NtaykpWGWvqBiJgGeHO2T5qVertFZ7c+pfhz+Uced3u\/rmq3TtomdL9t3J3HW1AywEfw2kbeePQKcUksTM1WcnLooa8XyXzyJGnLF9kU75Z3dJWT7yvJzjuB+p61dIii227supwjTiox0CIi4TCIiALJ6agbd7pWXypHSObKY4ATszA\/Qj3WsWUlir9K1U1RSU4qbZM\/ifG370R28\/y8FZDRpamXaMpRlJdVa+zNWipabVtmqRvU9A7rbM0tI8+XurKGuo6jHQVcEuTgcEgOfRQcWtUXRqwnutMkIiptTXc2q28MO9TUZjhA5g9bh4ZHqESbdkdqTUIuUtEV8gj1DqxjW5fS2wZcRu1zzv29oHVvgrUqq09aBZ7W2FwHTPPHKQc\/N2Z7FaqU3d2WiK6EGo4pavN\/3YFDu1wZa7ZNWPwSxvytP4nHkPVTFkqzOptTR0jAH2+gIMzhghzuzzxjyKRV3noK9RwjaOryX92EzStvkbDJdqwZq60lxJGC1hOQPPn4YWhXxrQ1oa0AADAA6lErbrQ2+N76mqjYWjPBxDiPgOZXG3JkoRjRha5UasuEojis9JvU13ynB+60nG\/jv6FXFst8NroI6ODJawbuPNxPMlY2zX2gjuFVd7nO91VIS2KJrXO4G9nZ2AeB7VbHW9PKeGit1XUO7OED6ZVkoSthSMdLaKTk6kpZvRcl+zTosv9p6quH\/aWuOjYTjinPzD1x9E\/wAO32uANwvr2drIQce2B1nqUcFtWaPqHLcg35eppJZ4YRmWVkY\/ncAosl7tUWz7jTA9glBPsqY6NstIw1FbUzOa37zpZQ1vsB9VRzUFBdqn4HT9vOA79pVyPcQB4E7fVdjCL4lNTaK0P8q\/K936G9paqCtp21FNIJIncnAYz6r2UK02uG0ULKWEl2N3Pdzces93gpqrdr5G2GJxWLUIiLhIIiIAuJZWQxPlkcGsY0uc49QHMrtZa\/Vc95uTdP0BIAIdVSA7Bu23vv34ClGN2VVanRxvx4d550Ucmqr2bjOHC30b\/wDLsIxxnP8AwCfILWrwo6SGgpI6WnZwxRjDQvdJSu8tDlGngWer1CIiiXBERAEREAREQECpsdrqx+3oIHEjHEGcJ9Ruq2XRNmkzwMmi\/wDSQn65WhRSU5LRlMqFKW9FGVk0gyijfLBequljjHEST91o58iOxU9rs1xv8z6r7Tn6OmfiComDiXb8xk7cgfNXOoqye7V7NPW92HE8VRIDs0dh9vYLRUdJDQUkdLTs4YoxhoVuOUY56mNbPTqVLRXVXa83+jP\/AGJqUbi\/AkcstKfZur2fcvFM7PPiaP8AYVp1zJIyKN0kjuFjAXOPYAoY3yNP00FxfizEXmp1RaYovibrC8zO4WMhaOI\/\/Qd3qF72\/TF\/oYDHT3OGmbIeJ4aMnOO3H5r2s8b9QagmvE7X\/CU54aVrsgZ7R6ZPee5axTlPDkZqNBVW6jbtwzf9mZf\/AApcKofvC+1EgJ3YzOPc\/kqeo09Qz3+Kz24y\/swXVMzzxcIwNhjb25lavUF4baKAuZ81TL8kDMZJd247v0Xlpu0Pt1I6oqjxVtWekmceYzvj3370U5JXYns9OU1Tiu1v2\/JOgtNupsdDQ07COREYz681LAAGAMAKNXXKitsfSVlQyEHkDuT4AblZ+fVFbcpDT2ChfLvg1EjflH5Dz9FWoylma5VaVLLjyWpppp4aaIyzysijbzc84AWcq9XOqJjS2OkfWTf+QtPCO\/H64X2HSk1a8VF+r5auTOeiY7DB3f2wtBTUlPRxdFTQRws7GNAyu9WPaQ+9U\/5Xn8IzcOlqy5Sipv8AWvlPMQRnZvnyHl6rSU1LBRwNgpoWRRt5NaML2RRlJssp0YU81rz4hERRLgiIgCIiAr75dGWi1y1R3f8Adjbnm48vzPkoWlrY6koDWVOXVdYelkc4DIzuB+Z71Bq8ah1YyjHzUdu3k32c\/r6\/LyPatWrH1Y25mWH3arnwWS937BERVmoIiIAiIgCIiAIij1tbT2+lfU1MgZGwbnt7h3ocbSV2SFTahvZtkUdPTN6StqTwwsHUeWT5nbtVBRazquKrnqAJGuOKanaBniPIduAPcq3slmlZO68XhwfWybtDjtCOzx+itwYc5GP6jplhpePJf2hJ05ZBZ6MmYh9XMeKV\/Pyz\/W6uFDlu1tg\/i19Mw9hlbn6qJLqqyQ54q9jj\/I1zvoFFqUnexdGVKlFRTSS7S3Wa1RWSVU0FgpHft6sgykD7rP6GT3DvXNTry2xEiCGeYjkcBoPrv7KmtcmoDUVF3joonvnAcampw0Nb\/LkjbGPRThBrNmWvtMJro4O99bcjcUFFFb6GGkh+5E3hz2nrPmclfKu4UdCziqqqKEdjnAE+A5lZymoL\/eqds0t+jZA\/l8Nz54IyMd\/WqUWGnrr6220E8kzIxmpqnYIB6wPYde\/cEUE3myUtpnGKwQ10v8Bt\/ZW6hNxqKSao6PHwtOw7NORg\/ny5lXrjqm8FvC1lrgPM\/j\/X6LRUtFTUMLYqaBkTWjHytAz49q91x1FwR2nss0njnrrbLzM9Q6Nt8DulrHPrpycl8pIGfDO\/nlX7GMjYGRtDGtGA1owAukUHJvU1U6UKatFWCIiiWBERAEREAREQBQrxcGWy1z1bjgsbhg7XHYD1U1Zi\/vN1v1FZY8mNjhLU4O2NjjB57b9fMKUFdlNebhDLV5LvJWkaE0tlbPI5zpqs9M8uznfl7b+avVCuF0orPTCSpkEbQMMY0fMe4BUHx971L8lvjNvoTkOnf95w7v8Aj1UrOTxMrU4UYqms3yRb3XUVBaRwySdLPyEMW7vPsU2hqXVdFFUPgfA6RuTG\/m1Z2kj03pp3HLVsnqgcGQjjc0+Azw9feu3a1imy23W2rqn9nDge2T2LrhfdRCO0YXepJLsWZp0WYNw1ZWHFPa4aRjuTpXZLR5n8k+xtTVWDVXwQ75xA3l6YUcHNln1De7Bvy9TTFwaMuIA7SoU16tdPnpbhTtIGcCQE+gVONE08p4q24VdS7vcB9cqZFpGxxYPwfGR1vkcfbOEtBcRi2h6RS738HE2srJFnFS6QgcmRu39Qop1vTynhordV1DuzhA+mVeQ2q30+OhoadhByCIhlSgABgDACXhyGCu9ZJdy+WZKq1Veo6Z1Q2yfDxNGS+cnHYOzrWfvdbdbnSwV1fwRwvJEMbdg7tcB6DJ7Qr7WUlK6tpo3SyVEreVEwZBODgnG45jbrHZzUHS1HNebya2r+eGjA4W\/hB\/C0DlgYzt2BXxso4rHmVuknU6HE3\/a5egs2jKuqpo6uardRlx4mNawlw7DzGFcDQtA45nq6uU97wPyWmXL3sjYXyODGtGS5xwAqXVk2ehDYqMI2auUkejbHGQTSufj\/AFSu\/IqSbPY6CIyyUVJGxvN8rQceZUCu1WJJPhLJAa6qJxxAfI3v7\/p3rO32grnzU0FbcHVlxnIAp2D5Ywfb0A61NRk95lNSpRppunBPwt48fwdXu4C81zKK00jpaOA8XRwx443b77DYb\/XtXeoIb9NbPibiBDCJGhlLEMtaMHc4zjs37VsLJaYrNbmUzMOk5ySAY43f1sp5APMZTpEnktDq2OU4tzlm\/D+RiqNt0rLbBbLRTOo6Us\/b1MgwXuP3j\/bw6lqbXa6a00baenb\/AO7yN3ntKmoq5TuaaVBU827v+0CIigaAiIgCIiAIiIAiIgCIiA5e9sbHPecNaCSewLB0V1koae46gMBfNVzGKEluGs6znu5ei0erqz4TT0+Dh05EQ8+fsCpdnt7KKy0tK+MEsYHODh+I7nn3lWxajG74mKqpVKuGLtZX\/LyMNQUt5rqp1Yba6sneciaqHyDlyBwD7jsGy0I01dbgP3xd39GecFPs3HsPYrUIjqt6CnsUIq0m2VVJpmz0bQGUUcjh+KUcZPrsPJWbWtY0NY0NaOQAwAukVbbepqjCMFaKsERFwmEXnNPDTRGWeVkUbebnnACoK\/WEDZfhbVA+vqDsOAHh\/U+XqpKLloVVKsKe8y\/mmip4nTTSNjjaMuc44AWarNSVVzkdRafp3yk\/K6pIw1neP1PokWnrjeZWVN\/qvkG7aWLYN8T1e\/itHS0lPRQNgpomxRt5NaFLqx7WU\/drf8x8\/wBGZmtTNN2Kqri41NwezhM7ty0u2OM+J3U+zOoLDYKdtRUQwl7eleXPGXE78uvbA27Fb1VLDW0z6eoYHxyDBBVPT6Ns0EgkdE+Yg5xI7I9Bgf2XcSa6xHoZU5p0krWsRptWzVhMNjt81VJnBkez5G9\/98L5FpqvujhNf697+yniOGj029B5rSQwxU8YjgiZEwcmsaAB5BJpo6eF80zwyNgy5zjsAuY7bqJ9Bizqyv2aL+7yqq32zStrklggjiJGI2D70juoEncqNpm1zcb71cCXVlWMgOH3G\/2A8Bsodvik1TeDc6kFtBSPxTRkbPOeZ9AT5DqWuXZPCrceJGlFVZY7dVaL3+AiIqjYEREAREQBERAEREAREQBERAEREBl9VZqrxZ7fvwvm4394yPy4lqFl2j43\/qG8ndtFT7eY\/wD2VqFZPJJGahnKcu23gERFWaQuJZY4GF8r2saOtxwu1TV2mKO5XQ1tY+SRvCGiHiIaMd\/P0wuq3EhNzS6iuzxq9Z2imdwRPkqX5xiJu3qcZ8lE+P1Td3Yo6NtuhJ\/iSj5sef5BaCktlDQgfC0kURAxlrRn15qUp4orRFHRVZ78rd2XnqZmDRrJnia7109bLjcFxDR58\/or6koKSgj6Olp44W9fA3BPietSEUXJvUtp0adPdQREUS0IiIAsdcK12rLqLRRTCOjiPHLJneTHYOsdnqrjUrbnLb209sYS+Z\/DI4HBa3H59q409pmCytMsjhNVOGDJjZo7B+qsjaKxcTHWx1Zqml1eL9i4ggipoGQQsDI4xwtaOoL0RFWbErBERAEREAREQBERAEREAREQBERAEREBVst8TNSyVrHva91OA5oI4Tv17dwVoiKUuBTR\/wBd7CIiiXBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/\/2Q==",
    "razonSocial": "MSI MINING",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CAMILO SILES",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA CAMBIO UNIDAD DE IMAGEN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "56975658770",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R1289\",\"id_control\":\"28722\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:13",
    "ubicacionGPS": "LatLng(lat: -23.535764, lng: -70.3924035)",
    "horaLlegada": "12:25",
    "horaDespacho": "12:09",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 19/05/2026 13:13:37
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-2CzjGKlSC0D97os_pxigqeppvZ3PSn+ooSoigo6.3cWOH9t-wvO
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76249985",
    "serieinterna": "EXTO2204",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "79977",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Cambio unidad de imagen, maquina quedo operativa",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12645",
    "observacion": "Cambio unidad de imagen, maquina quedo operativa",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACkAQQDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xABAEAABAwMCAggDBQYFBAMAAAABAAIDBAURBiESMRNBUWFxgZGhFCKxFTJCwdEjJTNi8PEWJFLS4Qc0U3JDouL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQIDBAkFAQEAAAAAAAAAAQIDERIhMQQyQVETImFxkaGxwdEUI4Hh8EJi\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBUuoNQMtEQhhb01bLtHEN8Z6z+nWvl+1HTWqjf0MsUtUflZGHA4PacdSydnu8NLNNcpqSouNwOXucdmxDrOd+rrxtyVsKbebMG0bVGL6OLs+fL9l\/p+53ea\/VFBcXMcWRdI5reTCeEgeXFj15rULA2WTUMlRVXK30McgrXkmSY7DBOw3Hh5K3FJrOQcX2lSR\/wAvCP8AYV2cFfVIjs9dqG7J\/Bp0WYNDrMDP2tSHu4R\/sQu1nTji4KSp4fw7fN9FDB2o0fUc4S8P2adFHoZKiaiikqohDM5uXxj8PcigaE7q5IREQ6EREAREQBERAEREARR62uprfTunqpmxsHWeZ7gOtZv4+7aokdHbuKht4y11Q4fM7w\/QeZUlFvPgU1K0YPDq+RcXTUVutILZ5uOUf\/FHu7z7PNVX2zqG6P8A3XbPh4CRiWoGMjt3\/LKsrXpq3WsiRkXTT8+ml3dnu6h9VbqV4rRXK8FapvysuS+TMN03ear5q+\/zA\/6IM4+o+iDQtATmSsrHEcvnbt7LToudJI79LS4q\/e2Zg6RqaUZtl6qYMYw15yMZ5bY+i4F5vNhkZHe4BU07iB8VCNm79e3tstUvOaGOohfDMwPjeMOa4bELuO+9mcezKOdJ2fl4CCohqoWzQSNkjcMhzTkFeiydA9+mtQm2SvPwFXvTlx2Yez1OPRaskAZJwAoyjZllKpjWeTWp9RVFw1ParcXMkqOkkbzjiHEf091Xfbd+upxarX8PFn+NUHqPIgHHtldUG8zktopxdk7vkszTPeyNhfI4Ma0ZLnHACpq7V1ponGNszqmQHHBA3i9+XuoQ0lVV7xLerrLO7GOji2aPM\/oFc0NkttuA+FpI2OBzxn5nep3XbQWuZDFXnosK7c34FKL5qG5t\/dto+HY7lLOe7mM4H1UK6Wysgon1d\/vUjmHYQQfjOOQ5Dq7Fsppo6eF80zwyNgy5zjsAspQwy6tubq+saW26mfiCIjaQ9\/tn0Uoy42siitTeUXJyk\/DvsjjSumInRmvuNM1wkGYIX7gN7SOvqwpurqptNbI7XSRjpq1wY1jBjDQR9Tgeq0qytuc6+aunryP8tQDo4gRsXbjP1Poik5SxPgSnSjSpqlDWWXyzQ2+kZQW+CkYNomBvies+qkoipNySSsgiIh0IiIAiIgCIiAIiIAiIgCqb1qGltDOD+NVO2ZAw7nPLPYFGvuojRy\/Z1ujNRcJBgBoyI\/Hv68eq6senWUJ+Nrj8RcHnidI454CeofqrFFJXkZZ1ZTlgpfl8v2Q6KwVd3nbcNQuLjgGKmBw1o7x1eHqtOxjI2BkbQxrRgNaMALpFGUmy2nSjTWWvPiERFEtCIvjnBrS5xAAGST1ID6uJZooIzJNIyNg5ue4ADzWerNVPnqTRWOm+Nn\/8n4G\/r45AXlFpWsuMwqL\/AF7piNxDEcNH6eQ81ZgtvZGZ18TtSV\/TxIGrb5brhAympOKeaF\/GJWj5W9u\/X9FKpbRdtQ08dTdrk5lLK0ObDAQMg7jPV65VvcrXSU+na6npaaOJpgccNbjJAyMnr5da50nMZ9N0hOctBZv3EgeynitDqmdUXKvaq9VfLJZep7UGnbVbsGGkY5+3zyfO7x35eSs0RUtt6m+MIwVoqwRFS6mvBtVv4Id6qoyyIA7jb73lt5kIk27I5UmqcXKXArLrJLqW+izU7+CkpDxVDwfvEYyPLl457FqYYY6eFkMLAyNgw1rRsAq7T1pNotojlPFUSkvmdnOXH\/hWqlJ8FoVUINXnPefl2FNqe7fZlsLYt6mozHE3r7yPDIXtp+1\/ZNoipnAdKcvkwc5cf6A8lTUDRqLVMlxceKkoDwQDbDnDkfXf0WsXZdVYSNL7k3V4aL3f5CIirNQREQBERAEREAREQBERAFnr7fZhP9k2hplrpNnObyiH6\/RL7e5viBZ7UOOul2c4HaIY7e3HoptkskNmpyAekqJN5Zjzcf0ViSirsyznKrJ06enF+y7fQ4sen4LQwyvd01ZIP2szt9+ZA\/rdW6IoNtu7L4QjCOGKyCIi4TCIqu93uGzU4JHSVEm0UI5uP6LqTbsiM5xhHFLQ97ndqO005mq5eH\/Swbud4BZ1sF31bh9QTQ2wnLWN+9IPz8eXipNq07NV1Aul9cZqhxyyB27Yx1ZH5LTKd1DTUzKE6+c8o8uff8EWgt1JbKcQUkIjb1nrce0nrUpEVbdzUkoqyIN6kEVkrnk4xTvwe\/hOPdQ9IxmPTNJluC7id6uOPbC8tZ1JisZp2nD6mRsYAzkjOTy8PdW1upvg7bTU2MGKJrT44391ZpAzrPaO5er\/AESURFWaTiWVkMT5ZHBrGNLnOPUBzKy9jjlv18kv1Q3FPCTHTRk5wcc\/c+Z7l3qerluFXBYKF5EsrgaggH5G9QPdvk+A7VoqSkhoaSOlgbwxxjDRnKs3Y9rMj+9Vt\/mPr+j2VNqq4GhssjY89NUHoYw07788eSuHODWlziAAMknqWVoQ\/UmpH1728VvoiWQg4w523r2+i5BZ3fAntEnhwR1ll8surDbBabTDTYHSY45SOt55+nLyViiKLd3dl0YqEVFaIIiLhIIiIAiIgCIiAIiIAqXUF8NtaykpWGWvqBiJgGeHO2T5qVertFZ7c+pfhz+Uced3u\/rmq3TtomdL9t3J3HW1AywEfw2kbeePQKcUksTM1WcnLooa8XyXzyJGnLF9kU75Z3dJWT7yvJzjuB+p61dIii227supwjTiox0CIi4TCIiALJ6agbd7pWXypHSObKY4ATszA\/Qj3WsWUlir9K1U1RSU4qbZM\/ifG370R28\/y8FZDRpamXaMpRlJdVa+zNWipabVtmqRvU9A7rbM0tI8+XurKGuo6jHQVcEuTgcEgOfRQcWtUXRqwnutMkIiptTXc2q28MO9TUZjhA5g9bh4ZHqESbdkdqTUIuUtEV8gj1DqxjW5fS2wZcRu1zzv29oHVvgrUqq09aBZ7W2FwHTPPHKQc\/N2Z7FaqU3d2WiK6EGo4pavN\/3YFDu1wZa7ZNWPwSxvytP4nHkPVTFkqzOptTR0jAH2+gIMzhghzuzzxjyKRV3noK9RwjaOryX92EzStvkbDJdqwZq60lxJGC1hOQPPn4YWhXxrQ1oa0AADAA6lErbrQ2+N76mqjYWjPBxDiPgOZXG3JkoRjRha5UasuEojis9JvU13ynB+60nG\/jv6FXFst8NroI6ODJawbuPNxPMlY2zX2gjuFVd7nO91VIS2KJrXO4G9nZ2AeB7VbHW9PKeGit1XUO7OED6ZVkoSthSMdLaKTk6kpZvRcl+zTosv9p6quH\/aWuOjYTjinPzD1x9E\/wAO32uANwvr2drIQce2B1nqUcFtWaPqHLcg35eppJZ4YRmWVkY\/ncAosl7tUWz7jTA9glBPsqY6NstIw1FbUzOa37zpZQ1vsB9VRzUFBdqn4HT9vOA79pVyPcQB4E7fVdjCL4lNTaK0P8q\/K936G9paqCtp21FNIJIncnAYz6r2UK02uG0ULKWEl2N3Pdzces93gpqrdr5G2GJxWLUIiLhIIiIAuJZWQxPlkcGsY0uc49QHMrtZa\/Vc95uTdP0BIAIdVSA7Bu23vv34ClGN2VVanRxvx4d550Ucmqr2bjOHC30b\/wDLsIxxnP8AwCfILWrwo6SGgpI6WnZwxRjDQvdJSu8tDlGngWer1CIiiXBERAEREAREQECpsdrqx+3oIHEjHEGcJ9Ruq2XRNmkzwMmi\/wDSQn65WhRSU5LRlMqFKW9FGVk0gyijfLBequljjHEST91o58iOxU9rs1xv8z6r7Tn6OmfiComDiXb8xk7cgfNXOoqye7V7NPW92HE8VRIDs0dh9vYLRUdJDQUkdLTs4YoxhoVuOUY56mNbPTqVLRXVXa83+jP\/AGJqUbi\/AkcstKfZur2fcvFM7PPiaP8AYVp1zJIyKN0kjuFjAXOPYAoY3yNP00FxfizEXmp1RaYovibrC8zO4WMhaOI\/\/Qd3qF72\/TF\/oYDHT3OGmbIeJ4aMnOO3H5r2s8b9QagmvE7X\/CU54aVrsgZ7R6ZPee5axTlPDkZqNBVW6jbtwzf9mZf\/AApcKofvC+1EgJ3YzOPc\/kqeo09Qz3+Kz24y\/swXVMzzxcIwNhjb25lavUF4baKAuZ81TL8kDMZJd247v0Xlpu0Pt1I6oqjxVtWekmceYzvj3370U5JXYns9OU1Tiu1v2\/JOgtNupsdDQ07COREYz681LAAGAMAKNXXKitsfSVlQyEHkDuT4AblZ+fVFbcpDT2ChfLvg1EjflH5Dz9FWoylma5VaVLLjyWpppp4aaIyzysijbzc84AWcq9XOqJjS2OkfWTf+QtPCO\/H64X2HSk1a8VF+r5auTOeiY7DB3f2wtBTUlPRxdFTQRws7GNAyu9WPaQ+9U\/5Xn8IzcOlqy5Sipv8AWvlPMQRnZvnyHl6rSU1LBRwNgpoWRRt5NaML2RRlJssp0YU81rz4hERRLgiIgCIiAr75dGWi1y1R3f8Adjbnm48vzPkoWlrY6koDWVOXVdYelkc4DIzuB+Z71Bq8ah1YyjHzUdu3k32c\/r6\/LyPatWrH1Y25mWH3arnwWS937BERVmoIiIAiIgCIiAIij1tbT2+lfU1MgZGwbnt7h3ocbSV2SFTahvZtkUdPTN6StqTwwsHUeWT5nbtVBRazquKrnqAJGuOKanaBniPIduAPcq3slmlZO68XhwfWybtDjtCOzx+itwYc5GP6jplhpePJf2hJ05ZBZ6MmYh9XMeKV\/Pyz\/W6uFDlu1tg\/i19Mw9hlbn6qJLqqyQ54q9jj\/I1zvoFFqUnexdGVKlFRTSS7S3Wa1RWSVU0FgpHft6sgykD7rP6GT3DvXNTry2xEiCGeYjkcBoPrv7KmtcmoDUVF3joonvnAcampw0Nb\/LkjbGPRThBrNmWvtMJro4O99bcjcUFFFb6GGkh+5E3hz2nrPmclfKu4UdCziqqqKEdjnAE+A5lZymoL\/eqds0t+jZA\/l8Nz54IyMd\/WqUWGnrr6220E8kzIxmpqnYIB6wPYde\/cEUE3myUtpnGKwQ10v8Bt\/ZW6hNxqKSao6PHwtOw7NORg\/ny5lXrjqm8FvC1lrgPM\/j\/X6LRUtFTUMLYqaBkTWjHytAz49q91x1FwR2nss0njnrrbLzM9Q6Nt8DulrHPrpycl8pIGfDO\/nlX7GMjYGRtDGtGA1owAukUHJvU1U6UKatFWCIiiWBERAEREAREQBQrxcGWy1z1bjgsbhg7XHYD1U1Zi\/vN1v1FZY8mNjhLU4O2NjjB57b9fMKUFdlNebhDLV5LvJWkaE0tlbPI5zpqs9M8uznfl7b+avVCuF0orPTCSpkEbQMMY0fMe4BUHx971L8lvjNvoTkOnf95w7v8Aj1UrOTxMrU4UYqms3yRb3XUVBaRwySdLPyEMW7vPsU2hqXVdFFUPgfA6RuTG\/m1Z2kj03pp3HLVsnqgcGQjjc0+Azw9feu3a1imy23W2rqn9nDge2T2LrhfdRCO0YXepJLsWZp0WYNw1ZWHFPa4aRjuTpXZLR5n8k+xtTVWDVXwQ75xA3l6YUcHNln1De7Bvy9TTFwaMuIA7SoU16tdPnpbhTtIGcCQE+gVONE08p4q24VdS7vcB9cqZFpGxxYPwfGR1vkcfbOEtBcRi2h6RS738HE2srJFnFS6QgcmRu39Qop1vTynhordV1DuzhA+mVeQ2q30+OhoadhByCIhlSgABgDACXhyGCu9ZJdy+WZKq1Veo6Z1Q2yfDxNGS+cnHYOzrWfvdbdbnSwV1fwRwvJEMbdg7tcB6DJ7Qr7WUlK6tpo3SyVEreVEwZBODgnG45jbrHZzUHS1HNebya2r+eGjA4W\/hB\/C0DlgYzt2BXxso4rHmVuknU6HE3\/a5egs2jKuqpo6uardRlx4mNawlw7DzGFcDQtA45nq6uU97wPyWmXL3sjYXyODGtGS5xwAqXVk2ehDYqMI2auUkejbHGQTSufj\/AFSu\/IqSbPY6CIyyUVJGxvN8rQceZUCu1WJJPhLJAa6qJxxAfI3v7\/p3rO32grnzU0FbcHVlxnIAp2D5Ywfb0A61NRk95lNSpRppunBPwt48fwdXu4C81zKK00jpaOA8XRwx443b77DYb\/XtXeoIb9NbPibiBDCJGhlLEMtaMHc4zjs37VsLJaYrNbmUzMOk5ySAY43f1sp5APMZTpEnktDq2OU4tzlm\/D+RiqNt0rLbBbLRTOo6Us\/b1MgwXuP3j\/bw6lqbXa6a00baenb\/AO7yN3ntKmoq5TuaaVBU827v+0CIigaAiIgCIiAIiIAiIgCIiA5e9sbHPecNaCSewLB0V1koae46gMBfNVzGKEluGs6znu5ei0erqz4TT0+Dh05EQ8+fsCpdnt7KKy0tK+MEsYHODh+I7nn3lWxajG74mKqpVKuGLtZX\/LyMNQUt5rqp1Yba6sneciaqHyDlyBwD7jsGy0I01dbgP3xd39GecFPs3HsPYrUIjqt6CnsUIq0m2VVJpmz0bQGUUcjh+KUcZPrsPJWbWtY0NY0NaOQAwAukVbbepqjCMFaKsERFwmEXnNPDTRGWeVkUbebnnACoK\/WEDZfhbVA+vqDsOAHh\/U+XqpKLloVVKsKe8y\/mmip4nTTSNjjaMuc44AWarNSVVzkdRafp3yk\/K6pIw1neP1PokWnrjeZWVN\/qvkG7aWLYN8T1e\/itHS0lPRQNgpomxRt5NaFLqx7WU\/drf8x8\/wBGZmtTNN2Kqri41NwezhM7ty0u2OM+J3U+zOoLDYKdtRUQwl7eleXPGXE78uvbA27Fb1VLDW0z6eoYHxyDBBVPT6Ns0EgkdE+Yg5xI7I9Bgf2XcSa6xHoZU5p0krWsRptWzVhMNjt81VJnBkez5G9\/98L5FpqvujhNf697+yniOGj029B5rSQwxU8YjgiZEwcmsaAB5BJpo6eF80zwyNgy5zjsAuY7bqJ9Bizqyv2aL+7yqq32zStrklggjiJGI2D70juoEncqNpm1zcb71cCXVlWMgOH3G\/2A8Bsodvik1TeDc6kFtBSPxTRkbPOeZ9AT5DqWuXZPCrceJGlFVZY7dVaL3+AiIqjYEREAREQBERAEREAREQBERAEREBl9VZqrxZ7fvwvm4394yPy4lqFl2j43\/qG8ndtFT7eY\/wD2VqFZPJJGahnKcu23gERFWaQuJZY4GF8r2saOtxwu1TV2mKO5XQ1tY+SRvCGiHiIaMd\/P0wuq3EhNzS6iuzxq9Z2imdwRPkqX5xiJu3qcZ8lE+P1Td3Yo6NtuhJ\/iSj5sef5BaCktlDQgfC0kURAxlrRn15qUp4orRFHRVZ78rd2XnqZmDRrJnia7109bLjcFxDR58\/or6koKSgj6Olp44W9fA3BPietSEUXJvUtp0adPdQREUS0IiIAsdcK12rLqLRRTCOjiPHLJneTHYOsdnqrjUrbnLb209sYS+Z\/DI4HBa3H59q409pmCytMsjhNVOGDJjZo7B+qsjaKxcTHWx1Zqml1eL9i4ggipoGQQsDI4xwtaOoL0RFWbErBERAEREAREQBERAEREAREQBERAEREBVst8TNSyVrHva91OA5oI4Tv17dwVoiKUuBTR\/wBd7CIiiXBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/\/2Q==",
    "razonSocial": "MSI MINING",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CAMILO SILES",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA CAMBIO UNIDAD DE IMAGEN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "56975658770",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R1289\",\"id_control\":\"28722\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:13",
    "ubicacionGPS": "LatLng(lat: -23.535764, lng: -70.3924035)",
    "horaLlegada": "12:25",
    "horaDespacho": "12:09",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


19/05/2026 13:13:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76249985

[19/05/2026 13:13:37] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76249985', 'EXTO2204', 1, 19969062, 79977, NOW(), 
				'12:09', '12:25', '13:13', 4, 'Cambio unidad de imagen, maquina quedo operativa', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779210817.png', 'Cambio unidad de imagen, maquina quedo operativa', null, 'COMPLETADO','LatLng(lat: -23.535764, lng: -70.3924035)' )
				
[19/05/2026 13:13:37] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200364
[19/05/2026 13:13:37] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200364', 'TOS-R1289', 1)
				
[19/05/2026 13:13:37] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28722 and
				    IDproducto = 'TOS-R1289'
				

19/05/2026 13:13:37 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R1289';
                
19/05/2026 13:13:37 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200364'                    
				WHERE idllamado = 12645			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


19/05/2026 13:13:37 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12645			
				
19/05/2026 13:13:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


19/05/2026 13:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 13:13:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

[19/05/2026 13:13: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;
                

19/05/2026 13:13:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 13:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 13:13:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 13:13:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

[19/05/2026 13:13: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;
                

[19/05/2026 13:13: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;
                

19/05/2026 13:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

[19/05/2026 13:13: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;
                

19/05/2026 13:13:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

[19/05/2026 13:13: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;
                

19/05/2026 13:13:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 13:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 13:13:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 13:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

[19/05/2026 13:13: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;
                

19/05/2026 13:13:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 13:13:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

[19/05/2026 13:13: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;
                

19/05/2026 13:13:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12645
            GROUP BY l.idllamado;
            

19/05/2026 13:13:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                

19/05/2026 13:13:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12645
                
[19/05/2026 13:13:46] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[19/05/2026 13:13:46] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[19/05/2026 13:13: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;
                

[19/05/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;
                

19/05/2026 13:14:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/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 = 12321
                

19/05/2026 13:14:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 13:14:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/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 = 12321
                

19/05/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 = 12321
                

19/05/2026 13:14:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 13:14:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/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 = 12321
                

19/05/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 = 12321
                

19/05/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 = 12321
                

19/05/2026 13:14:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[19/05/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;
                

19/05/2026 13:14:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[19/05/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;
                

19/05/2026 13:14:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 13:14:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 13:14:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[19/05/2026 13:14: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;
                

19/05/2026 13:14:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 13:14:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[19/05/2026 13:14: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;
                

[19/05/2026 13:14: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;
                

19/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[19/05/2026 13:14: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;
                

19/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[19/05/2026 13: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;
                

19/05/2026 13:14:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 13:14:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 13:14:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 13:14:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 13:14:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[19/05/2026 13: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;
                

19/05/2026 13:14:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[19/05/2026 13: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;
                

19/05/2026 13:14:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[19/05/2026 13: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;
                

[19/05/2026 13: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;
                

19/05/2026 13:14:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 13:14:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[19/05/2026 13: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;
                

19/05/2026 13:14:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 13:14:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 13:14:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[19/05/2026 13:14: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;
                

19/05/2026 13:14:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 13:14:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 13:14:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

19/05/2026 13:14:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

19/05/2026 13:14:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[19/05/2026 13:14: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;
                

19/05/2026 13:14:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 13:14:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 13:14:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 13:14:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 13:14: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;
                

[19/05/2026 13:14: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;
                

19/05/2026 13:14:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 13:14:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 13:14:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 13:14:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 13:14:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 13:14:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 13:14: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;
                

19/05/2026 13:14:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/2026 13:14:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 13:14:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/2026 13:14:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 13: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;
                

[19/05/2026 13: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;
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 13: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;
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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 = 12624
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[19/05/2026 13:14: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;
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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 = 12624
                

[19/05/2026 13:14: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;
                

[19/05/2026 13:14: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;
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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 = 12624
                

[19/05/2026 13:14: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;
                

[19/05/2026 13:14: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;
                

19/05/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 = 12624
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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 = 12624
                

19/05/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 = 12624
                

[19/05/2026 13:14: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;
                

19/05/2026 13:14:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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 = 12624
                

19/05/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 = 12624
                

[19/05/2026 13:14: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;
                

19/05/2026 13:14:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/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 = 12624
                

19/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:14:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:14:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 13: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;
                

19/05/2026 13:14:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:14:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:14:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

[19/05/2026 13:14: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;
                

19/05/2026 13:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 13:14: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;
                

[19/05/2026 13:14: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;
                

19/05/2026 13:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 13:14: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;
                

19/05/2026 13:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 13:14: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;
                

[19/05/2026 13:14: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;
                

19/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

[19/05/2026 13: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;
                

19/05/2026 13:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12572
                

19/05/2026 13:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 13: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;
                

19/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 13: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;
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

[19/05/2026 13: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;
                

[19/05/2026 13: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;
                

19/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12572
                

[19/05/2026 13: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;
                

19/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12572
                

19/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12572
                

[19/05/2026 13: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;
                

19/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13:26:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13:26:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:26:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:26:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:26:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:26:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:26:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:26:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:26:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:26:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:26:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:26:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:26:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                
[19/05/2026 13:27:10] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[19/05/2026 13:27:10] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 27729424 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '27729424'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[19/05/2026 13:27:12] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 13:27:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

[19/05/2026 13:27: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;
                

19/05/2026 13:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:29:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:29:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:29:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:29:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

[19/05/2026 13:30:13] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 13:30:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

[19/05/2026 13:30: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;
                

19/05/2026 13:30:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

19/05/2026 13:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12601
                

19/05/2026 13:30:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13:30:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13:30:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13:30:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

19/05/2026 13:30:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:30:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:30:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:30:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:30:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:30:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

19/05/2026 13:30:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:30:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:30:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:30:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:30:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

19/05/2026 13:30:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:30:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:30:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

19/05/2026 13:30:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:30:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:30:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:30:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:30:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:30:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:30:52 - logentry: =========================================
FECHA: 19/05/2026 13:30:52
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-7E8ZSiA5tnw9vjDaLBC.wi1s9sX9s5HtqchwQyvxrXergaJTgMo
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76464003",
    "serieinterna": "KY2376",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12572",
    "observacion": "entrega de insumos\nno hay contador entrega recepcion",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAClAQ8DASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABEEAABAwMCAwUGAwYEAgsAAAABAAIDBAURBiESMUETUWFxkRQiMoGxwRWh0SMkQlLh8BYzYsJTkgclNkNUVXOCk7Li\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMBEAAgECBAIJAwUBAAAAAAAAAAECAxESITFBBFETIjJhcYGRwdEUoeEjM0JS8LH\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAou+XyOyQRvdC+Z8juFrG7Z+eF3VVXT0UDp6mVsUbebnFVK41dXq+RtHbKThpYn8RqpQRuO7u58tz5K8I3d3oc3EVcEcMX1noeXDW1wh4RHbG03ENu3JLj442WFFNq+7ubI15ggd\/G4CMYznbqVu0fbrdJ23tVOHXGnkLZBI7ix445d4VxWkpRjkkc1GlUrLHObtyXuERFgekEREAREQBERAEREAREQBERAEREAREQBEXhIAyTgBAeotJqqYEg1EQI55eNlsZIyQZY9rh\/pOUIujJERCQiIgCIiAKCu+poqKb2KhiNZXE4EbBkNPjj6fRcl2vVXdKl1osPvuIxNUg+6weB6efopOz2OksdKXDD5iMyzuG578dwWiio5yOSVSVR4aem7+CNpdM1NwqBWahqDO7+CnY73WeG329SrJFFHBE2KFjY42DDWtGAAvIKiGpiEsEjZGEkBzTkbLYqyk3qbUqUIK8d9+ZVtR08touEWoaJvIhlSzo5p2z9vPCssE0dTBHPE7ijkaHNPeCq9cxqSeSsiFHTy0LgWtYSC5ze8b5z91Hacvstpl\/BbjC8Fr8MJ2LM74x3dfmtHFyj3o5I1o06zTTSfNb\/AJLsiIsT0AiIgCIiAIiIAiIgCIiAIiIAiiLvqShtH7NzjNUHlDHufmen1UWKK+akHFXyG3UR5Qx\/E8eP9fRXUHa7yRzzrpPDBXf+1exIV2rbRQks7c1Dx\/DCOL8+S4TqC+3B2LXZixh5ST9Rtv0H1Uxb7FbbY1vs1Kzjb\/3rxxP9enyUipvFaIr0dafalbw+WVcWbUtfg116FO3Hw043+eMfdejQtFI4Oqa2rmdzJLhuevMFWdFHSS2J+lpPtK\/i2yvN0RZ2gjE7s98n6Ba36EtLjkSVTPBr2\/cKyonSS5k\/S0P6orB0WYt6W8VcLhuDnOD8iF4KLV1D\/k18FYz+WTn+Y+6tCKeke5H0tNdm68GysR6tmopTDe7bLSuGAJIxxNJx\/Q8ifup+jrqWvh7aknZMzOCWnkfHuW2WGKeMxzRskYebXtBB+Srdx0z7C78QstR7HLES4xvf+zI68+Wdue3knVl3EPpqWfaX3+GWdVe83Sou1abFaTudqioB2YOoyPQ+ij6rXE0tpbDDHwV7\/de9o91vi3xKl9GMoRaC+lcXTPd+8F497i6Dy7vNWwOCxMydePESVODy3+PklLVaqa0Ubaenb4veebz3ldjgHNLTuCMFeosm75nbGKisK0KlBVz6RqZKSppnSW+Ql8UsLclvTB+WM5\/Nexajvt0qJXWa3RSUrXcLXzDB5DOTxAdc4Cs75qftm00kkfaSAlsbiMuA8Fm1rWDDWho8BhXxrVrM5lQl2YztFevqVkt1jWZjf7LRtcN3NIJb+Z8lGXC0O05cLdc5p31YMoEz5DyPTHXln0V7UZqGibX2OqhLON7WF8YHPiG4x9PmpjPO2xSrwywN3ba0uSQIIyDkFeqv2S+0kWmaaetqY4zGwxkF3vHh2GBzJxhdlq1BQ3mWWKlMnFGMkPbjI7x\/fVUcGrnRCvCVs82SiIiqbBEUVddR260e5NIZJv8AhRbu+fQfNSk3kis5xgrydkSqKu2K63a9Vr6sxRwW0Dha1wyXHwPX6KxKZRwuzK06iqRxLQLF72xxuke4Na0EuJ6BZKPvsD6iyVcUfEXmMkBp3ON8fkoWbLTbUW0a2akszzgXGEb43OPqpGKaKZnHFIyRvexwIVa09arPdbHTzSUEZkaOCQ8iXDrt6rOfSfssj6m1XGajIJcWOeSzx35+ueSu4xva5ywq1nFTsmny\/JZVWrnf6qsq3WqxM7SflJUfwx79D9\/RRTtRXO7U0dopQH1cjiyWdh2Le\/YDHXl0HirXaLRTWajFPTjLjvJIRu89\/wDRThwZvUhVXxGVN2W79kc1l05SWlolcO3qzu+Z+5z4d31UwiLNtt3Z1QhGCwxVkERFBc4\/bpfxf2L2KbsjFxipx7mf5f7PyXYiKSEmtWERFBIREQEDda++m4+w2uhaGhoJqZd2793l8ztyUbV6blbRy3C\/XOaq7Fjn9lGTw56AE\/YBXBVrWL5ahlDaoXhhrZgHHwBHPwyQfktYSd0lkcXEUkoynJt8lt3Fep7HJFpw3yEyMqGSCSJoHwsBxn758F2Mu9wtLamshow+K4ATRu6RuPFt8O5G23gFbqqmhZZpqXiEcQpzFk7ADhwq\/oy80ooIbZJJio4nFjcHcZz67n0V8eJNtXOZ0FSnGCla6+\/5uQU+q9QYBM7og4Z\/yWgEZxkZHyWmPUV7mLmtuEuX+6GtbkknkBtsSvprmte0te0OaeYIyCtbKSmieXx08THHm5rACo6WP9S74Oq3+6\/v8kDpmxGIR3aufLLWyN27UklgO3XfOPqrIuOtu9vt4\/equOM4zw5y70G6gX3y7Xyc09kpjBC12H1Uoxt9vlk+SpaU3dnQp0qEVBZvktWWCtuVHbo+OsqWQg8uI7nyHMqrV+rKuuie23xCkpd2uqp\/sBnfwGSuOrp7bQVYje+a+XRxA4HElgPj1Pln0Urb9Lz1sjKy+v4y0fs6VmzIx3bbfIK6jGKuznnVrVnghl4e79kVO0WaW817qanka1rAXOkcOTc4zj7L6RabTS2ekEFM3c7vefiee8\/ooSGNlB\/0gGONjWMqqX3WtGAMD\/8AHRWlRVm3bkW4KhCF3um0eFwaMuIA7yoW5astlAOGOUVUx5RwkO38TyCidTxzG8xfiPtH4SRu6EnDT4jB7lYLdZbXQtZJSU0fFjLZSMuPzKrhikmzZ1KlSThCytz+CFjZqW\/Hikk\/C6R38LRh5H1+iiKOwUt0vXs1GJHUVMf3iped5XdQOg8PDJ32Vh1PcZj2Vnt7\/wB8qzg8LsFjfHuzv8gVKWm2Q2i3spYRy3e7+Z3Uq+Nxjcw6CNSphedtW\/8Ai9zqiijghZDEwMjYA1rRyAWaIsD0tAiKBu2qIKOX2OhZ7ZWuOBGzcA+JH0H5KVFvQpUqRpq8mRloq6fTl6ulBVSNipwe1jyTy5gDvOCPRZvqblq+R0FK11JagcPld8Uu\/L+nLvPIKLu1BXwVFJeb4GzNklDZYWj4G8w3bwz\/AFyr9D2XYM7ANERaCzgGBjphbSaXWWp59CMql6byitt7Mq2hKOERVdc1uHGTsW75IaACfXI9FbVVtOuFsv1xs8hwHv7WDbGR1589sehVpVKnaudPCJKklyvfxCIizOoIiIAiIgCKH1TWVdDZJJ6N3A8OAc7GSGnnj8lFMvl+tcDZa+gFXSlocJ4juG45nn+ePNXUG1dHPPiIwnhaZbVqmqqem4e3nji4uXG8Nz6qNo9UWesjDhWMhJ5smPAR67fmovU9voLvF7RT3KnbUQtJ4TMC14xy54HLn6oo52lkKldYMVOz8yw\/idv\/APHU3\/yt\/VVXWVfH7RQVVDVQPmp3F2GOD3DkQcd2xWzT2n7NdrTHUS0rhKDwSYkeBkdd\/AhTtFp20294kgo2cYzhz8uI8s+SusMJGDVbiKdsknvdnz2rq6ypjc261dYHgEsiez3SfHJGPQqV09eLDaKVkstPM+uweOQMBxudm5O2ylLjIdSaijtcR\/c6J3aTvByHnbb6j1VoEEIGBEwAf6QrymrWaOejw0nUc4yvbK7V\/crZ1XcKza2WOeTcASSZ4R542\/NYfg+pLsP+sri2jicCDFDuefI42\/Mq1OcGtLnEAAZJPRVuu1U+aoNDYqc1k527UfA39fM4Czi2+yjpqQUV+tNvu0v5I8fYtOWGH2iu\/auOcGd3EXHqA0bH0XOKm8amHZW9n4bbh7pkI9548MfQeq6rfpQPn9tvc3ttUSDwk5Y3w8fLl4KxtaGtDWgAAYAHRHJLvYhQclphjyWr8WR1osVDZosU8fFKR70r93H9B4KSRFm227s7IwjBYYqyKxff2Or7NONy8mPHzx\/uVnVY1H\/2msf\/AKp+rVZ1aWiMKP7lTx9kc9dRxXCilpZmgskaRuM4PQ\/JQWmroaegqqGvfiS3OcC5x5tB7z3Hb5hWVUXWVKyK9wuimMJrmBk2OWA4bnv5D0VqfW6rKcU3TtVjtl6\/kk9K08ldVVd+qcl1Q8thB6N6n8gPkVZ1qpqeOkpoqaFvDHE0NaPALaqSd3c3o0+jgo77+IWLnNYwve4Na0ZJJwAFkoLWRmGnJuxzguaJMZ+HP64URV3YmpPBBy5EfVXS4akqX0FmLoaNpxNVEYyPD9OZ8Apu0WKhs0WKePilI96V+7j+g8FnZBQi0wfh\/B2HCPh7+ufFd6tKX8VoZUqSf6k3d\/8APA47rQtuNsqKRzQTIw8Oejuh9cKM0dWPns3s0u01G8xOaeYHT9Pkp9VamAtGuZqcANhuEfG0Afxc\/qHeoUxzi0RV6lWM+eT89PuduoLLNWvhr7eWsr6YgsJOOMDof76rC06ngqD7Jci2jrmHhcx\/utcfAn6KfXBdLNRXeLgqosuAw2Ruzm+RUKSatImdKUZOdN57rZ\/k71i5zWNLnuDWjmScAKpPt+o9PMd+HT+30oBxE4ZczuwPDwO\/cuK1U9JqGdpvF2mkqWuI9lf7nyHT5DBVujWt8jN8VK6hhtLv09dy2vvlpY7hdcqXPhKCs4rtbZ\/8qvpnnuErc\/VcUekrHGMewh3i6Rx+6wl0dY5eVIYz3skd9yq9TvNL8RyXq\/gmw4OGWkEd4XqqIppdK3ukjppZZaCsd2bmPPEWHP8AXPqrcolG2helUc7pqzRFamibNp2sa4gAM4skZ5EFbNPymWwULyMHsWjkBy26eS4tZVJg07KwHBme2MfU\/kCpS2U3sdspafGDHE1p2xvjf81P8Ciz4h22Xuc9Vp+01hzPQxk97ct+mFzR6PsbHh3shdjo6RxH1U2ijFJbmjoUm7uK9DXBBFTQshhYGRsGGtHIBQ2o726jjFBQ5kuFR7rGt3LAevn3eq6L7fobNA0cPa1Mm0UI5nxPh9VHWehFpbNe75OxlVUcy8\/AD0Hj4DuwrRX8mY1al30UHbm+S+SUsVojs9vEIyZXnjlcTnLsb79yxu+oKG0NLZX9pUEe7Azdx7s9yiJ73c79KaWxQvhgzh9W8Y9O76+SkbRpmktrhUSk1VYTkzyb4PgOnnzUtWzmVjNyWCgslvt5cyMZb7xqaQS3NzqGgJBFM04c8eP6n5BWOgt1JbYOxo4WxN5nHNx8T1XUipKTeRvToxg8Wr5sIiKpsEREBXrpTS1erbZhn7KBpeXHYZ3O3fyH95VhRFLd7GcKai5PmwqRV26TUmratrahscdGGt4sF3LmPXiV3VY0Ue3Zcq3H+fUnc8z1\/wByvB2TaMOIiqkoU3o8\/RFmGcb816iLM6wsJYo5onRSsD2PGHNcMghYz1MNLH2k8rImfzOOAombV9khOPazIf8AQxx+ylRb0M51KcO00jhqNOXG11D6rT1VwNccmlefdPlnY\/PGO9dNBqyndL7LdYnW+qBwRIMMO\/f0+e3ipG3Xu33Rv7rUNc\/\/AIbtnD5fJZ3C10V0hMVXAJB0dycPI\/NXctpo5407LFQlly2\/B1tcHNDmkEEZBHVV3WVJKaKC505LZqF\/GCO4kfQgfmtP4BeLMHOsleZIsZ9nnxvz5dM8u5Y\/4qZwGhv9ulpTK0se4NJaR3459emVMY2d45latVSg4VVhb9PUslHVxV1HFVQnLJWhw8PBb1VdD1kfslTQdqHGGYmPf4mnu9CeXVWpUlHC7HRQqdJTUiOvd0\/CLc6qEDpiCAGjl8z0HPdU2rrhqEdozT7nygEdpTyHiHmAO853X0GSNksbo5GNexww5rhkEeIUFU6Ms1QSWRSQE8+yf+ucK9OUVqc\/E0atR9V5cv8AJlVo7zeLdUiBlU9oJ2hrthjpueXLHMc1LN19JETHU25pe3mY5tvofqttZo+w2+mfPVVtRGwA4L5G8\/AcO58Fs0XbaZ1qFXLSROkdIQyRzcktB8eW+eS0k4NXsclOHEwmqalb7kM2\/wAVffYqy9CSOGn96CFjMgHx69M\/JWhusLG6Mv8AbC0gfCY3Z+imXxslbwyMa9vc4ZC4Z7Faak5lt8BPUhgaT8ws3KMtUdkKNenfDJO\/Nfkq0t1ptR3uJ9TURUlvo3B7WSuAdKc93y+Q81cqWtpa1hfS1EczQcExuBx5qP8A8K2P\/wAvZ\/zO\/VdlDa6G2B4o6dsPaY4sEnOOXPzUTlFrImhTrQk3Ozvq8zrUJftQstYbTUzO3rpdmRjfhzyJ\/RaL\/qymtrH09I4TVeMbbtZ5nv8ABV+1aZul3ndV1kklPHKTxvf\/AJjweeB49\/1VoQXaloUr8TJvo6Ob\/wCHlJUCkrHStjN0vcxyC332QnzHxEeGw79lN0ml6mvqBWahqDUPx7sDXYa3zx9Apy22qjtMHY0kQb\/M47ud5ldiiVTkTS4RJfqZ923nzZhFFHBE2KFjY42DDWtGAAs0XHbbbBaqY09OZCwvL\/fdxHJWZ2ZppJZHYiIoLBERAEREAREQGmrk7Gjnlzjgjc7PkFCaIiEenw4fxyvdnv6fZTdXF29HPDv+0jc3bxGFT7Ren23RnFCzjqBM6OIYJ3JByf8Am+i0irxaRx1ZqFZSlok\/YnbnqFtFc6a200BqamVwDmg44Af7z5LXetSsoZhQ0EYqq95AEY3DT446+Ci5af8AwxZprhUP7W7Vnu8ZPwk7nHlzz34UtpuxxWyjZPLHmtmbxSvfu4Z34f76q1opXKKdacnC9r5+C+WcVJpepr6gVmoag1D8e7A12Gt88fQKcp7RbqVoENFA3AwDwAn1O67Fpq6uChpn1NTII4mDJJVHKUjojRp01e3m\/krOp6SC21NDcaGERVRqMHs9uIY6gf3vurYqjb2VGqbw26VLHxUFI7NMw\/xOBH6b+itymeSSepnw+blOKsnp8+YWuaCGpj7OeJkrD\/C9ocPQrYizOtq5Q66w0DdYNoZg6Cmqow6Ls3AcJxjG4PUH1Ur\/AIJijP7vdKuIdNxt3csLLWURip6O5x57SjnB27j\/AFA9VYoZGzQslb8L2hw8itnOWFNM8+nw9LpJxku\/yZW\/8M3iA5ptRVBxybJxY\/8Asfon4DqB4w\/UDx3FoP8ARWdFTpJG\/wBLT2v6v5K5Bo2ndKJblW1Fe8cuNxA+pP5qwxxsijbHGxrGNGGtaMADwCyRQ5N6mtOlCn2UEWL3sjYXyODGtGS5xwAqzW6uM85orHTOq5zkCQj3R4gdfM4CRi5aEVK0Ka6zLBW11Nb6d09VM2Ng6nmfADqqtUXW7ankdTWiJ1NRg4fUPPCT8\/sMldNBpOSpmFZfqh1VOd+y4vdb4H9Bt5qzMYyNgZG0Ma0YDWjACteMdM2YYatbtdWPLd\/BCWbSlDagJJAKmo59o9uzfIdPNTq47nWyW+idURUklU4EDs4xv58llbax9fQR1L6d9O5+cxP5twSPtlVeJ5s2pqnTfRwVjqREVTYIiIAiIgCIiAIiIAiIgCq+nT+F364WeQ4D3CWHb4hjf8sehVoURe7GLm6Kpp5jT1kJHZzDu7j6lXi1mnuYVoSdpx1X+ZH6px+MWZ0wHs7Z8uc5o4Ru3menTw9FZ1TbpR6or6T2KpoKWqaMETAta4OxzHvDx6LOio9ZNgbTe0xQMYMB8ha52PMAq7inFZo5oVXGpJ4Hn3FjuV1o7TT9tVy8IOzWjdzj4BVuKkrdX1bKusa6mtcZzHDneTx\/r8h1K7qDSjW1Lau7Vb7hO0bNkJLGn58\/72VhAAGAMAKt1Hs6mvRzrfuZR5fPwYxRRwxNiiYGMYMNa0YACzRFmdYREQEZqOm9r0\/WR9RHxjbPw7\/ZY6aqfatPUchOS1nAf\/bt9lKEAjBGQVWdJ5oa65Wh3KGXjj3z7vL6cPqrrODRzT6teMuat7r3LOiLlr7jSWynM9XMI29B1ce4DqqJXOhtRV2dSgr1quhtOYmEVNSDgxsds0\/6j08lXq\/VFzvkworVDJC13Rh99w8T0H95UrY9GQUfDUXHhnmG4jHwN8+\/6LbAo5zOF8ROs8NBebI2ChverpRPWymnos5aMYaR\/pHXzKt9ttVHaYOxpIg3+Zx3c7zK6wABgDAC9VJTby2N6XDxpvE85c2ERFQ6AiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqvK0W7X8cp2ZXw8OcYHFjGPH4R6q0Ks61hcyjpbjFtJSTggjoD\/AFAV6etuZzcVlDH\/AFaf+8jy86zpqQup7e0VM+ccf8DT\/u\/vdRtFpm532obX3mZ8cb9+E\/GR3Acmj+8K0UFqtkLhW01LGJJv2naczvvtnl8lIq2NRVooz+nlVeKs7rktDloLdSW2DsaOFsTeZxzcfE9V1Iiyvc7ElFWQREQkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAuavoYLlRvpKkExvxnBwdjn7IiaENJqzNtPBHS08dPECI4mhrQTnAHJbERCUrZIIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "SOCIEDAD EDUCACIONAL SAN MARCOS SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "JOCELYN BUGUEÑO",
    "correoContacto": "secretaria@sanmarcos.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE MAQUINA NO ESTA FUNCINANDO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28721\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:31",
    "ubicacionGPS": "LatLng(lat: -23.5310971, lng: -70.3944887)",
    "horaLlegada": "12:19",
    "horaDespacho": "13:13",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 19/05/2026 13:30:52
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-7E8ZSiA5tnw9vjDaLBC.wi1s9sX9s5HtqchwQyvxrXergaJTgMo
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76464003",
    "serieinterna": "KY2376",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12572",
    "observacion": "entrega de insumos\nno hay contador entrega recepcion",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAClAQ8DASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABEEAABAwMCAwUGAwYEAgsAAAABAAIDBAURBiESMUETUWFxkRQiMoGxwRWh0SMkQlLh8BYzYsJTkgclNkNUVXOCk7Li\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMBEAAgECBAIJAwUBAAAAAAAAAAECAxESITFBBFETIjJhcYGRwdEUoeEjM0JS8LH\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAou+XyOyQRvdC+Z8juFrG7Z+eF3VVXT0UDp6mVsUbebnFVK41dXq+RtHbKThpYn8RqpQRuO7u58tz5K8I3d3oc3EVcEcMX1noeXDW1wh4RHbG03ENu3JLj442WFFNq+7ubI15ggd\/G4CMYznbqVu0fbrdJ23tVOHXGnkLZBI7ix445d4VxWkpRjkkc1GlUrLHObtyXuERFgekEREAREQBERAEREAREQBERAEREAREQBEXhIAyTgBAeotJqqYEg1EQI55eNlsZIyQZY9rh\/pOUIujJERCQiIgCIiAKCu+poqKb2KhiNZXE4EbBkNPjj6fRcl2vVXdKl1osPvuIxNUg+6weB6efopOz2OksdKXDD5iMyzuG578dwWiio5yOSVSVR4aem7+CNpdM1NwqBWahqDO7+CnY73WeG329SrJFFHBE2KFjY42DDWtGAAvIKiGpiEsEjZGEkBzTkbLYqyk3qbUqUIK8d9+ZVtR08touEWoaJvIhlSzo5p2z9vPCssE0dTBHPE7ijkaHNPeCq9cxqSeSsiFHTy0LgWtYSC5ze8b5z91Hacvstpl\/BbjC8Fr8MJ2LM74x3dfmtHFyj3o5I1o06zTTSfNb\/AJLsiIsT0AiIgCIiAIiIAiIgCIiAIiIAiiLvqShtH7NzjNUHlDHufmen1UWKK+akHFXyG3UR5Qx\/E8eP9fRXUHa7yRzzrpPDBXf+1exIV2rbRQks7c1Dx\/DCOL8+S4TqC+3B2LXZixh5ST9Rtv0H1Uxb7FbbY1vs1Kzjb\/3rxxP9enyUipvFaIr0dafalbw+WVcWbUtfg116FO3Hw043+eMfdejQtFI4Oqa2rmdzJLhuevMFWdFHSS2J+lpPtK\/i2yvN0RZ2gjE7s98n6Ba36EtLjkSVTPBr2\/cKyonSS5k\/S0P6orB0WYt6W8VcLhuDnOD8iF4KLV1D\/k18FYz+WTn+Y+6tCKeke5H0tNdm68GysR6tmopTDe7bLSuGAJIxxNJx\/Q8ifup+jrqWvh7aknZMzOCWnkfHuW2WGKeMxzRskYebXtBB+Srdx0z7C78QstR7HLES4xvf+zI68+Wdue3knVl3EPpqWfaX3+GWdVe83Sou1abFaTudqioB2YOoyPQ+ij6rXE0tpbDDHwV7\/de9o91vi3xKl9GMoRaC+lcXTPd+8F497i6Dy7vNWwOCxMydePESVODy3+PklLVaqa0Ubaenb4veebz3ldjgHNLTuCMFeosm75nbGKisK0KlBVz6RqZKSppnSW+Ql8UsLclvTB+WM5\/Nexajvt0qJXWa3RSUrXcLXzDB5DOTxAdc4Cs75qftm00kkfaSAlsbiMuA8Fm1rWDDWho8BhXxrVrM5lQl2YztFevqVkt1jWZjf7LRtcN3NIJb+Z8lGXC0O05cLdc5p31YMoEz5DyPTHXln0V7UZqGibX2OqhLON7WF8YHPiG4x9PmpjPO2xSrwywN3ba0uSQIIyDkFeqv2S+0kWmaaetqY4zGwxkF3vHh2GBzJxhdlq1BQ3mWWKlMnFGMkPbjI7x\/fVUcGrnRCvCVs82SiIiqbBEUVddR260e5NIZJv8AhRbu+fQfNSk3kis5xgrydkSqKu2K63a9Vr6sxRwW0Dha1wyXHwPX6KxKZRwuzK06iqRxLQLF72xxuke4Na0EuJ6BZKPvsD6iyVcUfEXmMkBp3ON8fkoWbLTbUW0a2akszzgXGEb43OPqpGKaKZnHFIyRvexwIVa09arPdbHTzSUEZkaOCQ8iXDrt6rOfSfssj6m1XGajIJcWOeSzx35+ueSu4xva5ywq1nFTsmny\/JZVWrnf6qsq3WqxM7SflJUfwx79D9\/RRTtRXO7U0dopQH1cjiyWdh2Le\/YDHXl0HirXaLRTWajFPTjLjvJIRu89\/wDRThwZvUhVXxGVN2W79kc1l05SWlolcO3qzu+Z+5z4d31UwiLNtt3Z1QhGCwxVkERFBc4\/bpfxf2L2KbsjFxipx7mf5f7PyXYiKSEmtWERFBIREQEDda++m4+w2uhaGhoJqZd2793l8ztyUbV6blbRy3C\/XOaq7Fjn9lGTw56AE\/YBXBVrWL5ahlDaoXhhrZgHHwBHPwyQfktYSd0lkcXEUkoynJt8lt3Fep7HJFpw3yEyMqGSCSJoHwsBxn758F2Mu9wtLamshow+K4ATRu6RuPFt8O5G23gFbqqmhZZpqXiEcQpzFk7ADhwq\/oy80ooIbZJJio4nFjcHcZz67n0V8eJNtXOZ0FSnGCla6+\/5uQU+q9QYBM7og4Z\/yWgEZxkZHyWmPUV7mLmtuEuX+6GtbkknkBtsSvprmte0te0OaeYIyCtbKSmieXx08THHm5rACo6WP9S74Oq3+6\/v8kDpmxGIR3aufLLWyN27UklgO3XfOPqrIuOtu9vt4\/equOM4zw5y70G6gX3y7Xyc09kpjBC12H1Uoxt9vlk+SpaU3dnQp0qEVBZvktWWCtuVHbo+OsqWQg8uI7nyHMqrV+rKuuie23xCkpd2uqp\/sBnfwGSuOrp7bQVYje+a+XRxA4HElgPj1Pln0Urb9Lz1sjKy+v4y0fs6VmzIx3bbfIK6jGKuznnVrVnghl4e79kVO0WaW817qanka1rAXOkcOTc4zj7L6RabTS2ekEFM3c7vefiee8\/ooSGNlB\/0gGONjWMqqX3WtGAMD\/8AHRWlRVm3bkW4KhCF3um0eFwaMuIA7yoW5astlAOGOUVUx5RwkO38TyCidTxzG8xfiPtH4SRu6EnDT4jB7lYLdZbXQtZJSU0fFjLZSMuPzKrhikmzZ1KlSThCytz+CFjZqW\/Hikk\/C6R38LRh5H1+iiKOwUt0vXs1GJHUVMf3iped5XdQOg8PDJ32Vh1PcZj2Vnt7\/wB8qzg8LsFjfHuzv8gVKWm2Q2i3spYRy3e7+Z3Uq+Nxjcw6CNSphedtW\/8Ai9zqiijghZDEwMjYA1rRyAWaIsD0tAiKBu2qIKOX2OhZ7ZWuOBGzcA+JH0H5KVFvQpUqRpq8mRloq6fTl6ulBVSNipwe1jyTy5gDvOCPRZvqblq+R0FK11JagcPld8Uu\/L+nLvPIKLu1BXwVFJeb4GzNklDZYWj4G8w3bwz\/AFyr9D2XYM7ANERaCzgGBjphbSaXWWp59CMql6byitt7Mq2hKOERVdc1uHGTsW75IaACfXI9FbVVtOuFsv1xs8hwHv7WDbGR1589sehVpVKnaudPCJKklyvfxCIizOoIiIAiIgCKH1TWVdDZJJ6N3A8OAc7GSGnnj8lFMvl+tcDZa+gFXSlocJ4juG45nn+ePNXUG1dHPPiIwnhaZbVqmqqem4e3nji4uXG8Nz6qNo9UWesjDhWMhJ5smPAR67fmovU9voLvF7RT3KnbUQtJ4TMC14xy54HLn6oo52lkKldYMVOz8yw\/idv\/APHU3\/yt\/VVXWVfH7RQVVDVQPmp3F2GOD3DkQcd2xWzT2n7NdrTHUS0rhKDwSYkeBkdd\/AhTtFp20294kgo2cYzhz8uI8s+SusMJGDVbiKdsknvdnz2rq6ypjc261dYHgEsiez3SfHJGPQqV09eLDaKVkstPM+uweOQMBxudm5O2ylLjIdSaijtcR\/c6J3aTvByHnbb6j1VoEEIGBEwAf6QrymrWaOejw0nUc4yvbK7V\/crZ1XcKza2WOeTcASSZ4R542\/NYfg+pLsP+sri2jicCDFDuefI42\/Mq1OcGtLnEAAZJPRVuu1U+aoNDYqc1k527UfA39fM4Czi2+yjpqQUV+tNvu0v5I8fYtOWGH2iu\/auOcGd3EXHqA0bH0XOKm8amHZW9n4bbh7pkI9548MfQeq6rfpQPn9tvc3ttUSDwk5Y3w8fLl4KxtaGtDWgAAYAHRHJLvYhQclphjyWr8WR1osVDZosU8fFKR70r93H9B4KSRFm227s7IwjBYYqyKxff2Or7NONy8mPHzx\/uVnVY1H\/2msf\/AKp+rVZ1aWiMKP7lTx9kc9dRxXCilpZmgskaRuM4PQ\/JQWmroaegqqGvfiS3OcC5x5tB7z3Hb5hWVUXWVKyK9wuimMJrmBk2OWA4bnv5D0VqfW6rKcU3TtVjtl6\/kk9K08ldVVd+qcl1Q8thB6N6n8gPkVZ1qpqeOkpoqaFvDHE0NaPALaqSd3c3o0+jgo77+IWLnNYwve4Na0ZJJwAFkoLWRmGnJuxzguaJMZ+HP64URV3YmpPBBy5EfVXS4akqX0FmLoaNpxNVEYyPD9OZ8Apu0WKhs0WKePilI96V+7j+g8FnZBQi0wfh\/B2HCPh7+ufFd6tKX8VoZUqSf6k3d\/8APA47rQtuNsqKRzQTIw8Oejuh9cKM0dWPns3s0u01G8xOaeYHT9Pkp9VamAtGuZqcANhuEfG0Afxc\/qHeoUxzi0RV6lWM+eT89PuduoLLNWvhr7eWsr6YgsJOOMDof76rC06ngqD7Jci2jrmHhcx\/utcfAn6KfXBdLNRXeLgqosuAw2Ruzm+RUKSatImdKUZOdN57rZ\/k71i5zWNLnuDWjmScAKpPt+o9PMd+HT+30oBxE4ZczuwPDwO\/cuK1U9JqGdpvF2mkqWuI9lf7nyHT5DBVujWt8jN8VK6hhtLv09dy2vvlpY7hdcqXPhKCs4rtbZ\/8qvpnnuErc\/VcUekrHGMewh3i6Rx+6wl0dY5eVIYz3skd9yq9TvNL8RyXq\/gmw4OGWkEd4XqqIppdK3ukjppZZaCsd2bmPPEWHP8AXPqrcolG2helUc7pqzRFamibNp2sa4gAM4skZ5EFbNPymWwULyMHsWjkBy26eS4tZVJg07KwHBme2MfU\/kCpS2U3sdspafGDHE1p2xvjf81P8Ciz4h22Xuc9Vp+01hzPQxk97ct+mFzR6PsbHh3shdjo6RxH1U2ijFJbmjoUm7uK9DXBBFTQshhYGRsGGtHIBQ2o726jjFBQ5kuFR7rGt3LAevn3eq6L7fobNA0cPa1Mm0UI5nxPh9VHWehFpbNe75OxlVUcy8\/AD0Hj4DuwrRX8mY1al30UHbm+S+SUsVojs9vEIyZXnjlcTnLsb79yxu+oKG0NLZX9pUEe7Azdx7s9yiJ73c79KaWxQvhgzh9W8Y9O76+SkbRpmktrhUSk1VYTkzyb4PgOnnzUtWzmVjNyWCgslvt5cyMZb7xqaQS3NzqGgJBFM04c8eP6n5BWOgt1JbYOxo4WxN5nHNx8T1XUipKTeRvToxg8Wr5sIiKpsEREBXrpTS1erbZhn7KBpeXHYZ3O3fyH95VhRFLd7GcKai5PmwqRV26TUmratrahscdGGt4sF3LmPXiV3VY0Ue3Zcq3H+fUnc8z1\/wByvB2TaMOIiqkoU3o8\/RFmGcb816iLM6wsJYo5onRSsD2PGHNcMghYz1MNLH2k8rImfzOOAombV9khOPazIf8AQxx+ylRb0M51KcO00jhqNOXG11D6rT1VwNccmlefdPlnY\/PGO9dNBqyndL7LdYnW+qBwRIMMO\/f0+e3ipG3Xu33Rv7rUNc\/\/AIbtnD5fJZ3C10V0hMVXAJB0dycPI\/NXctpo5407LFQlly2\/B1tcHNDmkEEZBHVV3WVJKaKC505LZqF\/GCO4kfQgfmtP4BeLMHOsleZIsZ9nnxvz5dM8u5Y\/4qZwGhv9ulpTK0se4NJaR3459emVMY2d45latVSg4VVhb9PUslHVxV1HFVQnLJWhw8PBb1VdD1kfslTQdqHGGYmPf4mnu9CeXVWpUlHC7HRQqdJTUiOvd0\/CLc6qEDpiCAGjl8z0HPdU2rrhqEdozT7nygEdpTyHiHmAO853X0GSNksbo5GNexww5rhkEeIUFU6Ms1QSWRSQE8+yf+ucK9OUVqc\/E0atR9V5cv8AJlVo7zeLdUiBlU9oJ2hrthjpueXLHMc1LN19JETHU25pe3mY5tvofqttZo+w2+mfPVVtRGwA4L5G8\/AcO58Fs0XbaZ1qFXLSROkdIQyRzcktB8eW+eS0k4NXsclOHEwmqalb7kM2\/wAVffYqy9CSOGn96CFjMgHx69M\/JWhusLG6Mv8AbC0gfCY3Z+imXxslbwyMa9vc4ZC4Z7Faak5lt8BPUhgaT8ws3KMtUdkKNenfDJO\/Nfkq0t1ptR3uJ9TURUlvo3B7WSuAdKc93y+Q81cqWtpa1hfS1EczQcExuBx5qP8A8K2P\/wAvZ\/zO\/VdlDa6G2B4o6dsPaY4sEnOOXPzUTlFrImhTrQk3Ozvq8zrUJftQstYbTUzO3rpdmRjfhzyJ\/RaL\/qymtrH09I4TVeMbbtZ5nv8ABV+1aZul3ndV1kklPHKTxvf\/AJjweeB49\/1VoQXaloUr8TJvo6Ob\/wCHlJUCkrHStjN0vcxyC332QnzHxEeGw79lN0ml6mvqBWahqDUPx7sDXYa3zx9Apy22qjtMHY0kQb\/M47ud5ldiiVTkTS4RJfqZ923nzZhFFHBE2KFjY42DDWtGAAs0XHbbbBaqY09OZCwvL\/fdxHJWZ2ZppJZHYiIoLBERAEREAREQGmrk7Gjnlzjgjc7PkFCaIiEenw4fxyvdnv6fZTdXF29HPDv+0jc3bxGFT7Ren23RnFCzjqBM6OIYJ3JByf8Am+i0irxaRx1ZqFZSlok\/YnbnqFtFc6a200BqamVwDmg44Af7z5LXetSsoZhQ0EYqq95AEY3DT446+Ci5af8AwxZprhUP7W7Vnu8ZPwk7nHlzz34UtpuxxWyjZPLHmtmbxSvfu4Z34f76q1opXKKdacnC9r5+C+WcVJpepr6gVmoag1D8e7A12Gt88fQKcp7RbqVoENFA3AwDwAn1O67Fpq6uChpn1NTII4mDJJVHKUjojRp01e3m\/krOp6SC21NDcaGERVRqMHs9uIY6gf3vurYqjb2VGqbw26VLHxUFI7NMw\/xOBH6b+itymeSSepnw+blOKsnp8+YWuaCGpj7OeJkrD\/C9ocPQrYizOtq5Q66w0DdYNoZg6Cmqow6Ls3AcJxjG4PUH1Ur\/AIJijP7vdKuIdNxt3csLLWURip6O5x57SjnB27j\/AFA9VYoZGzQslb8L2hw8itnOWFNM8+nw9LpJxku\/yZW\/8M3iA5ptRVBxybJxY\/8Asfon4DqB4w\/UDx3FoP8ARWdFTpJG\/wBLT2v6v5K5Bo2ndKJblW1Fe8cuNxA+pP5qwxxsijbHGxrGNGGtaMADwCyRQ5N6mtOlCn2UEWL3sjYXyODGtGS5xwAqzW6uM85orHTOq5zkCQj3R4gdfM4CRi5aEVK0Ka6zLBW11Nb6d09VM2Ng6nmfADqqtUXW7ankdTWiJ1NRg4fUPPCT8\/sMldNBpOSpmFZfqh1VOd+y4vdb4H9Bt5qzMYyNgZG0Ma0YDWjACteMdM2YYatbtdWPLd\/BCWbSlDagJJAKmo59o9uzfIdPNTq47nWyW+idURUklU4EDs4xv58llbax9fQR1L6d9O5+cxP5twSPtlVeJ5s2pqnTfRwVjqREVTYIiIAiIgCIiAIiIAiIgCq+nT+F364WeQ4D3CWHb4hjf8sehVoURe7GLm6Kpp5jT1kJHZzDu7j6lXi1mnuYVoSdpx1X+ZH6px+MWZ0wHs7Z8uc5o4Ru3menTw9FZ1TbpR6or6T2KpoKWqaMETAta4OxzHvDx6LOio9ZNgbTe0xQMYMB8ha52PMAq7inFZo5oVXGpJ4Hn3FjuV1o7TT9tVy8IOzWjdzj4BVuKkrdX1bKusa6mtcZzHDneTx\/r8h1K7qDSjW1Lau7Vb7hO0bNkJLGn58\/72VhAAGAMAKt1Hs6mvRzrfuZR5fPwYxRRwxNiiYGMYMNa0YACzRFmdYREQEZqOm9r0\/WR9RHxjbPw7\/ZY6aqfatPUchOS1nAf\/bt9lKEAjBGQVWdJ5oa65Wh3KGXjj3z7vL6cPqrrODRzT6teMuat7r3LOiLlr7jSWynM9XMI29B1ce4DqqJXOhtRV2dSgr1quhtOYmEVNSDgxsds0\/6j08lXq\/VFzvkworVDJC13Rh99w8T0H95UrY9GQUfDUXHhnmG4jHwN8+\/6LbAo5zOF8ROs8NBebI2ChverpRPWymnos5aMYaR\/pHXzKt9ttVHaYOxpIg3+Zx3c7zK6wABgDAC9VJTby2N6XDxpvE85c2ERFQ6AiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqvK0W7X8cp2ZXw8OcYHFjGPH4R6q0Ks61hcyjpbjFtJSTggjoD\/AFAV6etuZzcVlDH\/AFaf+8jy86zpqQup7e0VM+ccf8DT\/u\/vdRtFpm532obX3mZ8cb9+E\/GR3Acmj+8K0UFqtkLhW01LGJJv2naczvvtnl8lIq2NRVooz+nlVeKs7rktDloLdSW2DsaOFsTeZxzcfE9V1Iiyvc7ElFWQREQkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAuavoYLlRvpKkExvxnBwdjn7IiaENJqzNtPBHS08dPECI4mhrQTnAHJbERCUrZIIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "SOCIEDAD EDUCACIONAL SAN MARCOS SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "JOCELYN BUGUEÑO",
    "correoContacto": "secretaria@sanmarcos.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE MAQUINA NO ESTA FUNCINANDO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28721\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:31",
    "ubicacionGPS": "LatLng(lat: -23.5310971, lng: -70.3944887)",
    "horaLlegada": "12:19",
    "horaDespacho": "13:13",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


19/05/2026 13:30:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76464003

[19/05/2026 13:30: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('76464003', 'KY2376', 1, 19969062, 0, NOW(), 
				'13:13', '12:19', '13:31', 10, 'entrega de insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779211852.png', 'entrega de insumos
no hay contador entrega recepcion', null, 'COMPLETADO','LatLng(lat: -23.5310971, lng: -70.3944887)' )
				
[19/05/2026 13:30:52] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200365
[19/05/2026 13:30:52] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200365', 'KYO-I647', 1)
				
[19/05/2026 13:30:52] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28721 and
				    IDproducto = 'KYO-I647'
				

19/05/2026 13:30:52 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
19/05/2026 13:30:52 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200365'                    
				WHERE idllamado = 12572			
				TO ENVIO: micorreo@miempresa.cl, secretaria@sanmarcos.cl


19/05/2026 13:30:52 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12572			
				
19/05/2026 13:30:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


19/05/2026 13:30:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:30:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

19/05/2026 13:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12572
                

[19/05/2026 13:30: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;
                

[19/05/2026 13:30: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;
                

19/05/2026 13: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 = 12572
                

19/05/2026 13:30:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:30:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12572
                

19/05/2026 13:30:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:30:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 13:30: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;
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

[19/05/2026 13:30: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;
                

19/05/2026 13: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 = 12572
                

19/05/2026 13:30:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:30:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13:30:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:30:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:30:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

[19/05/2026 13:30: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;
                

19/05/2026 13:30:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:30:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13:30:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12572
                

19/05/2026 13:30:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12572
                

19/05/2026 13:30:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12572
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12572
                

[19/05/2026 13:30: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;
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

[19/05/2026 13:30: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;
                

[19/05/2026 13:30: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;
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12572
                

19/05/2026 13: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 = 12601
                

19/05/2026 13:31:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12601
                

19/05/2026 13:31:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13:31:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:31:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:31:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

19/05/2026 13:31:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:31:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

19/05/2026 13:31:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:31:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:31:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:31:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:31:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

19/05/2026 13:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:31:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

19/05/2026 13:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12601
                

19/05/2026 13:32:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12601
                

19/05/2026 13:32:08 - logentry: =========================================
FECHA: 19/05/2026 13:32:08
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-DaWV2LfAReOSVppM6YXcaQCOR7ak2mO1_zcCmObPCgMViVnNV86
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76451015",
    "serieinterna": "TO2390",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "533550",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "sensor fallando. atasco de papel el bandeja 2 se solicita por parte de ferrovial el cambio del equipo. ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12601",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC+AQQDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABIEAABAwMCAgcFBgIGBwkAAAABAAIDBAURBiESMRMiQVFhcZGBobHB0RQVFiMyQiTwMzRSYsLhJUNWY4LS8QcmRFNUZXKSov\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADERAAIBAgQDBgQHAQAAAAAAAAABAgMREiExQRNRYQQUMnGR0SKBseEjJDNCocHwUv\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIvEsscETpZntjjYMuc44ACrM19uN6qXUlgi4YQeGSrkGw8v5z4K0YtmVSrGnk9XtuTdxvNvtTc1dQ1rjyYN3H2BQn4puNxdwWe0SvaTjpZRsNvMAeq6rbpKipHCarc6uqM5Lpd2578fXKngABgDACteK0zMsNep4nhXJa+pWRS6wqgXSVtLSg8mgAkegPx7U+7NVwYkiu8MrubmPbsfAZHs7FZ0UY3yRPdl\/wBP1ZDaevMtyilgrIxFWU54ZGDt7M47N1Mqs2\/ra+uRYBwNhbxFvfhmx9\/orMk0k8i3Z5NwtLOza9AiIqG4REQBFHVl\/tVDnp66IOH7Wnid6BRB1fUVsnR2e0zVHLL5NgN\/D45V1CTMJ9opQdm8\/UtCKsCXWcu\/2ekh8Mg\/MrxJfdQWkcd0tjJIB+qWE8vHYnHZzwpwPZlO8xWcotLyLUi1wTx1MLJoXh7HjLXA5BWxZnUncIiIAiIgCIiAIiIAiIgCIiAIiIAvEsscEL5pXhkbAXOceQC9qragqJrvdYbBRyYYevVuaRs3PL2c8eIVoxuzKrU4cb77eZqH2rWNYc8UFohftjYzEfz7PNWmmpoKOBsFPE2KNgwGtGAsUlLFRUsdNA3hjibwtC3KZSvktCtKlg+KWcnq\/wDbBERUNwtc8zKanknkOGRML3eQGStirWra18zYLJSOBqKt4DwCOq3x8\/gD3q0Vd2Mq1Thwcho2F8tNVXWYDpa2YnOOwH6k+isq56GkZQUMNJGSWxMDQT2+K6Ek7u4ow4dNRYRFH3m709moXVExBeQRFHnd7u7y7yoSbdkXlJRTlLQ3XC5UlrpjPVyhjewdrj3AdqrnSXrVQxH\/AKPtrv3kdeQfP3DzXu02Ke7Si7X4mVzxmKnP6Wt5jI+XqrSAAMAYAV7qGmpyqM6+cso8t35kRQ6WtNFh32YTydsk\/XJ9nL3KXDQ0YaAB3BZRUbb1OmFOMFaKsFWNT1klfUxWChcTNK4GcgHqN25+zcqTvd7hs1OCR0lRJtFCObj9Fy6Zs01FHJXV+XV9Scvc45LW7bHxz8u5XisKxMwrN1JcKPz6L7k1TwMpqeOCPPDG0NHEcn2lbERZnUlbIIiIAiIgCIiAIiIAiIgCIiAIiIDju1wZa7ZNWPwSxvVaf3OPIeqitH298FA+4VOXVNc7pC48+Hs9ck+0Ln1EDdr\/AEFk36IHppsZ5b\/IH1Voa0NaGtAAAwAOxaP4Y25nLH8Ss5bRyXnuZREWZ1BEWHODWlziAAMknsQHNcrhDa6CWrnPVYNgObj2AKG01RVFRUTX2vH51UPyWk54Izv9MeHmuPr6vvfYLbQP8+mOfnj2DzVua0NaGtAAAwAOxaP4Vbc5IfjTx\/tWnV8\/YyiIszrOevroLdRyVVQ8NYwZ8z2AeKrlkoJ79V\/fl2blgP8ADQH9IHfju+PPuXms\/wC8uqI6SMh9BQbzEEEOdzx7gPVWxrQ1oa0AADAA7Fp4F1ZyJced34V\/L+xlERZnWFw3a609oonVNQ7fkxmd3nuCzdbrTWijdUVDvBjBzee4KDtFsqr1Wi9XhvV501OeTR2HH855q8Y7vQ56tV34cPF9OrPVhtVTW1xvt2H5r94Incox2HHZ4evNWdEUSliZelSVONkERQt11PRW8mCHNXVk4bDFvv4n+SoSb0LTqRgrydiaXJV3WgodqqshiP8AZLt\/Tmq+2j1Reg11VVNtsBOeCPIfj2b+p9i7qXR9opyHSRPqX\/2pn59wwFfDFasw4tWfgjbq\/Y3Raqscz+FtwYD\/AH2OaPUhSwcHDLSCO8KIudrsNPQyT1dDTxRMG7mRhp37sdq5tEtnbp8dKHBpkcYw5uOrty7xnKOKw3QhUqKooTtnyLCiIszqCIiAIiIAiIgCIuG9VX2KzVdRtlkR4cnG52HvKlK7sVlJRi29iF05i53+53cjLQ4RRE77f9APX1tChdJUppdPU5cOvNmV3jk7H0wppWm\/iMezRapJvV5+oREVDoCq9\/uM10rfw9bXdd\/9Yl7GjbIz8fRb75e5jUfc9oHSVsuz3tO0I8+\/4LtsdkhstKWNPSTybyyn9x+i0SwrEzkqSdZ8OGm7\/pHVbqCG2UMVJAMNjGCe1x7SfNdSIs3mdSSirIKI1NdfumzySMdieX8uLvBPb7Bv6KXVT4DqPVnGetQ204Gxw9\/b4cwPMBXgle70Rh2ibUcMdXkvf5Etpu2G2WljZQftEx6WYnnxHs9g9+VLIiq3d3NYQUIqK2C47nc6a00bqmpfho2a0c3nuCXS6UtppDUVT8Dk1o5vPcFX6G3VGpq9l3ukfBRtH8PTk8xnmfD4+StGO70MqtVp4IZy+nVmbTbZtQVgvd1aeiz\/AA1M7kB3nw+KtawAAMAYAWVEpXZelSVNdd3zC1VFRDSQOnqJGxxsGS5xWq43KltdKairk4GDYDmXHuAVbpqKs1bUtrrgHQW5v9FAHYL\/AB\/z9FMY3zehWpWwvBDOX+zYluVy1TMaW1cdJRNyJKhwwX+A+nqpq06foLO0Ogj4psYdM\/dx+nsUjFFHBE2KFjY42DDWtGAAvaOey0Ip0EnjnnL\/AGgWHODWlziAAMknsWupqYKOB09RK2KNgyXOOAqrLV3DV0xpqNrqa1h2JJjzkHd\/l6qIxv5FqtZQyWbeiMPkl1jd3U7C5lppXZc4bdKez19w8VbmtaxgYxoa1owABgALTRUVPb6VlNTRhkbBsO\/xPiuhJSvktCKNJwvKWcnqERFU3CIiAIiIAiIgCretpHOttPRR446qcNGfD\/MhWRVe8YrNa2qkzkQtMp35Hc\/4R7len4rnN2r9PDzsvUskMTKeCOGMYZG0NaPADC2IiodOgVd1Df3wPFrtgMtwm6vU36PPz+HNZ1BqB9NKLZbG9NcJer1d+jz8\/hzK36f0+y0RGaZ3TVsu8kp3xnsH17VokorFI5Kk5VJcOn83y6Lr9DZYrFDZqcknpaqXeWY8z4Dw+KlkRUbbd2dEIRhHDHQIiKC5E6luhtdmlljcBNIOCLfBye0eQ3WNNWv7qs8Ub24nk\/Ml23BPZ7Bt6qNqy696xio8ZprcOkftkOdsd\/cPYVaVo8opHLT\/ABKrnssl\/YUZe77TWWm45TxzOH5cQO7j8h4rzfb9DZoGjh6Wpk2ihHM+J8PiuKy2KZ1T973g9LWv3Yw8ou7bv+HmojFWvImpUk5cOnru+X36Gm12Wpu1WLvfRxE7wUx\/SwdmR8vVWhEUSk2aU6Spqy13fMLnra2nt9K+pqZAyNg3Pf4DxW9zg1pc4gADJJ7FUCH6wvTml3Da6F\/IH+lPf7ceweaRjfXQrWqOCSjnJ6Hqgt8+p7l97XJhbRMP8NA7k4eXd3958FbQABgDACw1rWMDGNDWtGAAMABJJGRRukke1jGjLnOOAB4lJSxE0qSpp83qz0oq86go7MzhkPS1DhlkDTufPuCja3VE1bI+isEDp5uTqgjqMHfvt7Tt5rgpaiyWF5qq2r+8rk85c+Prhh8Cfjz8leNPmYVO0p5Qfzeny5s66ay3G\/Tsrb68xwA8UdGNsefd8fJWiKKOCJsULGxxsGGtaMABVlt61FdcfdtqFNGf9bP3HtGcZ9gK9fhi512Ddb3K\/bBjh2b9O7sUyV\/E7FaUlH9OLk3u8r\/Nk3U3a3UmenrYWEc28YLvQbqOm1lZIs4qXSEDkyN2\/qFmk0fZqXBNOZ3D90zifdsPcpCK022D+ioKZh7xE3PwVfgRt+YfJer9iFOuqBxxBSVcp8GAfNY\/Fle\/eDTlZIO\/rezk0qzBoaMNAA7gsqMUeQ4dZ6z\/AIRWBqq5jd+mawNHM9b\/AJFtptaW2WXoaqOajf8A71u3u39ysSjL\/U2+ltcj7jG2WMjhawgEuPcO4+PYpTi8rFZRqwWLHpzXsSMcjJY2yRva9jhlrmnII8CihtJU9RT2GNtS17XOcXNDzkhu2Nuzy+uEVJKzsdFOTnBSatcm0RFBcKsUI+06\/r5ebYIA1vgcNH1VnVY06RLqW+zk4DJAz3uH+FXho2c1fOcF1+iZZ1Xr5fZ21AtVob01c\/ZzmjIiH1+C03O+Vdyqza7B1n7iWpH6WeR+fopSyWOns1OWs\/Mnf\/SSkbuPyClJRzZWU5Vngp6bv+kabDp6O0MdNK\/p6yXJkmO\/sGf5KmURUbbd2dEIRpxwxWQREUFwtNZUso6Oapk\/TEwvO+M4HJblW9azu+7oKCPHHWTBu57B\/nhWiruxlWnw6bkZ0bRuFDNcp2\/n1shdk\/2c\/XPuXRfNQtt5FJRM+018mzImjPD4nHwUfV3l7ejsGnmdLMxgYZh+mMDYnPf4\/EqUsmn6e0tMrj09Y\/JknduST3d3zWjtfFI5abk4qlS21f1t1Oax6dfTz\/eV0k+0V799zkR+Xj7h2KwIiylJyd2ddOnGnHDEIi47tcGWu2TVjxno29Ud7jsB6olfIvKSim2Q2qbhPK+OxW\/JqqodfHIMwcj3enmpq2W+G10EdHBktYN3Hm4nmSojS1rlaJbvXDNXWEuAc3Bjbk8vP4YXdfLXU3WCOCCtdSs4j0vD+8dyu7eE5Kak06zV29F0\/wBmznvGq7fa2ujY8VNQNhHGdgf7x7PiqrUfiLVMgd9nf0IzwtA4Ix68yrhbdNWu2tHR07ZZBv0soDnZ8O72KWUqcY+FFZ0Ktb9WVlyXuVCj0VM+LguNeRHkEQ0+zc952xn2KwUNjtluwaWjja8cnkcTvU7rvRVc5PU3p9npU9FmERFQ3CIuerr6OgZx1dTHCMZHG7BPkOZQhtJXZ0LDnBrS5xAAGST2Ksy6vkq39FZbdNVP4sF724aPT54Xgaeu14k6S+Vxji\/9PCdvoPetMFvFkcz7QpZUli+nqdVy1bSwOFNbR9vq3nDWx7tz5jn7Fot+naquqmXK\/wAvTSjeOnz1WefZ7PXKnKC10NtZw0dMyLbBcB1neZ5ldaYksohUZTeKq79NvuERFmdQRFz11dTW6ldU1UgZG31J7gO0pqQ2krs2yyxwxOlleGMYMuc44AC+e2mnuN5qK2mpJeipJ5i+omwRkZO3v5eqlmQ3LV8okqQ6ktIdlrB+qT6+fLuyt+hGtFuqy0dX7QQD3jAW6+CL5nmzfeKsFa0c\/n9idt1spLVTCnpI+FvMuO7nHvJ7V1oiwbuelGKirIIiISEREAVGv3Saj1NDRW6QOFMzrSg7MOesc+G3LtUxqm4TjoLRQuxVVhwSHYIbv29mT7gVH6EohHLXz5zwuETSPDc\/JbQWFYzz+0T4tRUFpv8AWxY7TaaWz0ggpm7nd7z+p57z9F3IiybvmzujFRVo6BERQWCq11AvuqKa2AcdNR\/mVG2xPPGfQe09ynbrcGWu2zVb8Ext6rSf1O7B6qI0lRGktz7lWPAnrndI57zjq8x67n2haRyTkctZ45ql835fdljRRdTqSzUuekr4nEdkZ4\/hlRj9bQSvMdvt9VVv7gMZ9Mn3KFCT2Ly7RSjk5FnRVg3DVlbtT2yGkYf3Sncep+S1vst7lj6W66i+zs7RGeFv+EKcHNlO8N+GDf8AH1LWiptJd7FptszKKoqK+aYji7RkbAZ27+zK6jctT3T+o29tDER\/ST\/q9D9CnDZC7VFq2r5LMs5cGjLiAO8qHrtV2miPCKj7RJ2Mg62\/nyXA3SE9a\/pLxdp6g\/2GHAHln6BTFDY7ZbiHUtHGx45PPWd6ndLQW9ycVeeiUfPN+hCCs1NfWuFJAy2055SSZDyPP6Aea6qTR9GyUVFwmmr5\/wBxld1SfLmfaVYUUY3tkSuzRvebxPr7aGuGGKnjEcETImDk1jQAPYFsRFQ6dAiIgCIiAj7veaWy0omqSSXHDGN5uKg6K012oaplxveWUw60FKDt7R3e8rTeayGk1Y2pu1PLJTQsH2cMbkB3ec47icbrsdrq2k4ipquQ+DB9VsotL4UedOrTnNqrKyT059WWVrQ1oa0AADAA7FWdBbWScZz\/ABTt\/wDhan4quM39V09VP7cuyNv\/AKqH007UH2GWntbIGRCYl8smMh2Bt7h2dqKDwu4n2iDqwcU3rt5F\/Xl72Rt4nuDR3k4VaFk1NUbVV+EQ\/wByD8g1BoimlcH1twq6lw7S4D45VcMd2dHFqvww9Wl7kxNfbTACZLjT7djZA4+gXDNrKyRZxUukIHJkbt\/ULbDpSyQkEULXEdr3ud7icLthtVupyDDQU7CO1sTc+uFHwdR+YfJer9iDOuqB2RDSVchH91oHxWqWu1DfvyKOifbad2z5ZSQ7xxyPoParWGhow0ADuCypxRWiIdGpLKc8uisV67WCi\/D5FVJNK+jgc5sxf1jjJxvtuVD2DS32+0RVZrqimdKXdWM7EA4B9ysOq5ei01WO2yWtbv4uAXRYYjDYaFh59A0+oz81ZTkofMylQpyr2a0REfhCpZ\/RX+sYB+nnt\/8ApPwxeGbs1NVE\/wB4O\/5irOipxJG3daXL+X7lY\/Dl8\/2jm9HfVPw5fP8AaOb0d9VZ1rmmip4zJPKyJg5ue4AD2lTxJEd1pLn6v3KJXWqumvsNlku9VVCUdJJxZ4YxueRdg8vDmpmPQ9GQ37VW1U\/D2cQA+fioe26jp4LzX3B8EtRUVLuCGOMZ6vmd+xvpyUn02rLuMRwx2yFwO79nc\/aQfYFrLGt7HDSVCV3hcnfTN5EkLLp+0xiSWnpo252fUOB3\/wCJcs2r7TTBsFDG+pedmxwR8I5bfyF5ptF0pl6e5VU9dKSCS9xAPn2n1U7SUFHQM4KSmjhGMHgbgnzPMrNuO7udkYVf2pQXq\/Yrv27Vd1\/qtHHb4Xcny\/q5ePyavUWjftDxNd7jPVv26oOB5ZOSfcrQijG9si3dovOo3Lz9jjorVQW4YpKSOI4xxAZcf+I7rsRFRu+p0qKirJBERQSERR1Zf7VQ56euiDh+1p4negUpN6FZSjFXk7EiirB1fNWO6O0WmoqXcuN4w0eJxn3kLyKPVlzyaisit8bv2xfqHljf3q+BrXIw7zF+BOXl7ljqKympG8VTURQjvkeG\/FQdTrW2sf0VIyaskOzRGzAJ7t9\/clNoq3Mk6WslnrZDz6R+Bn2b+9TdNRUtG0impooQefAwDKfAupH5ifKP8v2OG23OvraYzTWmSAl3VaXjJGBvvhFKoqNrkbRjJKzl9DBAIwRkFYaxjM8LQ3PcML0ig0CrGiepBcIT+tlScj2Y+RVnVY03+TqO+QcgZQ8D2u+qvHws5quVWm\/P6FnREVDpCIiAIiICua5k4NP8P\/mTNbz8z8lPU0fQ0sUX9hgb6BVbXFwop7YyljqWPnZOHFjDnGAQc+q9tvGoruzFsoBTREDE8w3PiM7H2ArbC3BHBxoxry3yWmfMtL3sjYXyODGtGS5xwAoWt1faKM8DJjUyZxwwDi9\/L3rlZpGSrkEt5uc9W4HPA04aO8f9MKZorRb7c0ClpI4yBjixlx9p3VbQXU2xV56JR882Qf3jqe77UNCygiOR0k5394z6Bcly0w6G2VFwuVfNWVEcWQM7A+Z3+Cuih9Vv4NM1h3\/S0beLgFMZu6SyMqvZ1w5Sm3JpPX2PGk6OGmsFNJHG0STN4nvxu7cqbUfYWcFhoBt\/V2HbxGVIKkneTOmilGnFLkEWCQBknACj6rUFpowelr4cjm1juI+gUJN6F5TjFXk7EiirMut6R7jHQUVTVv7AG4B+J9y8mv1ZXnFNboqJh\/dKQSPX29itw5b5GHeqb8N35K5aFoqK2kpBmpqYYf8A5vDfiq+dPX2sH8ff3tB5tgBwfTHwW6m0VaITmZstS7OcyPI+GEwxWrHErS8MLeb9rnuq1lZ6fIjlkqX5xwxMPxOAuVt71DdBi22kU8bv9dUHsPaM4z6FTtLa6Ch\/q1HDEcY4msGfXmutTiitERw60vHO3l7sqw0xdbhk3e8yOa7nFDy+Q9ykaLS1noTxNpBM\/wDtTdf3Hb3KYRQ5yZaPZqUXe131zPLWtY0NY0NaOQAwAvSIqHQEREAREQBERAFV4T9j\/wC0KZnZWU+R5gA\/4SrQqvqH+E1RZq0EjjcYnHwyB\/jK0hq0c3acoxlya9v7LQiIszpCIqpPcbnqOrmobUTSUkTuGWpOQ47nl2jy59+FaMbmVSqqdt29ESV21NRWx5gZmpq84EEfPPcT2fFRwoNR35ua+pFupnf6mJvWI8d8+p9ilrTp+gs7Q6CPimxh0z93H6exSTnNYMucGjxOFbEo+Ey4U6mdV5cl\/b3ISPR9pioJKYQ8T5G46d+7we8d3sXNpevmpppLDX7T02ehJ\/cz+dx4eSmZbxbITiS4UzT3dK3PxVU1RdLVUSQVtvrB9vp3DBYx3WGeWcY2+qtHFLJmNXh0bTg0rbc0XhFVIdZz1UTRS2aoqJcDi4CeEH2A7c1sNXq6uGIaKnomO5OeQXD1J+Crw3ubd6pvw3fkmWdVvWVfS\/cU1M2pjMz3N\/La8ZwCDyWsaXudaeK6XuZ4I60cOQ36d3YvFw0PSmgEduAFTxDMs8juW+eQx3dimKimrszrSrVKclGFrrd5+him1hSU9DTUdHSVFXNHC1vCxuBkNHme\/s7F7+1auuQxDSwW+Mk4dJ+r35PuVjpKaKkpo4Yo2MDGgYaAFuUOS2ReNGo0lOfpkVgaRnrHcd3u9RUZ3LGHDQfDP0CkKXS1mpAMUTJT3y9fPsOyl0UOcnuaR7NSi74c+uZ4jijhYGRRtY0cmtGAvaIqG4REQBERAEREAREQBERAEREAREQBV3W9OZbGJ2DrU8rX57hy+YViXLc6T7dbKmlGOKWMtbnkDjb34Vou0kzKtDHTlHobKOobV0UFS3lLG149oytygNG1oqrEyEu\/NpiY3A8wOY93wU+klZtE0p46alzMEAjBGQVXqjRlE+d81LU1FIXndsTgGjyGPmrEiKTWgqUoVPErlY\/Bn\/vFZ6rLdC25x4p6qrmd3l4HyVmRTxJczLulH\/khItIWOL\/whecfvkcfmu+C0W2mwYaGnYR2iMZ9V2IocpPVmkaNOOkV6GAABgDACyiKpqEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAVWi\/0PrWopOI9BcGmRgxsHZJ\/5vUK1KOuNmguVVSVEkskb6VxcwxkAnlzyPBSKvJp2ZhRg4Yo7XyCIiobhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "FERROVIAL ENERGIA CONSTRUCCION SPA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "JOHANN GUERRERO",
    "correoContacto": "jguerrero@dsprint.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "APP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "ATASCO DE PAPEL",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:32",
    "ubicacionGPS": "LatLng(lat: -24.9396489, lng: -69.9301377)",
    "horaLlegada": "13:28",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 19/05/2026 13:32:08
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-DaWV2LfAReOSVppM6YXcaQCOR7ak2mO1_zcCmObPCgMViVnNV86
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76451015",
    "serieinterna": "TO2390",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "533550",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "sensor fallando. atasco de papel el bandeja 2 se solicita por parte de ferrovial el cambio del equipo. ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12601",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC+AQQDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABIEAABAwMCAgcFBgIGBwkAAAABAAIDBAURBiESMRMiQVFhcZGBobHB0RQVFiMyQiTwMzRSYsLhJUNWY4LS8QcmRFNUZXKSov\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADERAAIBAgQDBgQHAQAAAAAAAAABAgMREiExQRNRYQQUMnGR0SKBseEjJDNCocHwUv\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIvEsscETpZntjjYMuc44ACrM19uN6qXUlgi4YQeGSrkGw8v5z4K0YtmVSrGnk9XtuTdxvNvtTc1dQ1rjyYN3H2BQn4puNxdwWe0SvaTjpZRsNvMAeq6rbpKipHCarc6uqM5Lpd2578fXKngABgDACteK0zMsNep4nhXJa+pWRS6wqgXSVtLSg8mgAkegPx7U+7NVwYkiu8MrubmPbsfAZHs7FZ0UY3yRPdl\/wBP1ZDaevMtyilgrIxFWU54ZGDt7M47N1Mqs2\/ra+uRYBwNhbxFvfhmx9\/orMk0k8i3Z5NwtLOza9AiIqG4REQBFHVl\/tVDnp66IOH7Wnid6BRB1fUVsnR2e0zVHLL5NgN\/D45V1CTMJ9opQdm8\/UtCKsCXWcu\/2ekh8Mg\/MrxJfdQWkcd0tjJIB+qWE8vHYnHZzwpwPZlO8xWcotLyLUi1wTx1MLJoXh7HjLXA5BWxZnUncIiIAiIgCIiAIiIAiIgCIiAIiIAvEsscEL5pXhkbAXOceQC9qragqJrvdYbBRyYYevVuaRs3PL2c8eIVoxuzKrU4cb77eZqH2rWNYc8UFohftjYzEfz7PNWmmpoKOBsFPE2KNgwGtGAsUlLFRUsdNA3hjibwtC3KZSvktCtKlg+KWcnq\/wDbBERUNwtc8zKanknkOGRML3eQGStirWra18zYLJSOBqKt4DwCOq3x8\/gD3q0Vd2Mq1Thwcho2F8tNVXWYDpa2YnOOwH6k+isq56GkZQUMNJGSWxMDQT2+K6Ek7u4ow4dNRYRFH3m709moXVExBeQRFHnd7u7y7yoSbdkXlJRTlLQ3XC5UlrpjPVyhjewdrj3AdqrnSXrVQxH\/AKPtrv3kdeQfP3DzXu02Ke7Si7X4mVzxmKnP6Wt5jI+XqrSAAMAYAV7qGmpyqM6+cso8t35kRQ6WtNFh32YTydsk\/XJ9nL3KXDQ0YaAB3BZRUbb1OmFOMFaKsFWNT1klfUxWChcTNK4GcgHqN25+zcqTvd7hs1OCR0lRJtFCObj9Fy6Zs01FHJXV+XV9Scvc45LW7bHxz8u5XisKxMwrN1JcKPz6L7k1TwMpqeOCPPDG0NHEcn2lbERZnUlbIIiIAiIgCIiAIiIAiIgCIiAIiIDju1wZa7ZNWPwSxvVaf3OPIeqitH298FA+4VOXVNc7pC48+Hs9ck+0Ln1EDdr\/AEFk36IHppsZ5b\/IH1Voa0NaGtAAAwAOxaP4Y25nLH8Ss5bRyXnuZREWZ1BEWHODWlziAAMknsQHNcrhDa6CWrnPVYNgObj2AKG01RVFRUTX2vH51UPyWk54Izv9MeHmuPr6vvfYLbQP8+mOfnj2DzVua0NaGtAAAwAOxaP4Vbc5IfjTx\/tWnV8\/YyiIszrOevroLdRyVVQ8NYwZ8z2AeKrlkoJ79V\/fl2blgP8ADQH9IHfju+PPuXms\/wC8uqI6SMh9BQbzEEEOdzx7gPVWxrQ1oa0AADAA7Fp4F1ZyJced34V\/L+xlERZnWFw3a609oonVNQ7fkxmd3nuCzdbrTWijdUVDvBjBzee4KDtFsqr1Wi9XhvV501OeTR2HH855q8Y7vQ56tV34cPF9OrPVhtVTW1xvt2H5r94Incox2HHZ4evNWdEUSliZelSVONkERQt11PRW8mCHNXVk4bDFvv4n+SoSb0LTqRgrydiaXJV3WgodqqshiP8AZLt\/Tmq+2j1Reg11VVNtsBOeCPIfj2b+p9i7qXR9opyHSRPqX\/2pn59wwFfDFasw4tWfgjbq\/Y3Raqscz+FtwYD\/AH2OaPUhSwcHDLSCO8KIudrsNPQyT1dDTxRMG7mRhp37sdq5tEtnbp8dKHBpkcYw5uOrty7xnKOKw3QhUqKooTtnyLCiIszqCIiAIiIAiIgCIuG9VX2KzVdRtlkR4cnG52HvKlK7sVlJRi29iF05i53+53cjLQ4RRE77f9APX1tChdJUppdPU5cOvNmV3jk7H0wppWm\/iMezRapJvV5+oREVDoCq9\/uM10rfw9bXdd\/9Yl7GjbIz8fRb75e5jUfc9oHSVsuz3tO0I8+\/4LtsdkhstKWNPSTybyyn9x+i0SwrEzkqSdZ8OGm7\/pHVbqCG2UMVJAMNjGCe1x7SfNdSIs3mdSSirIKI1NdfumzySMdieX8uLvBPb7Bv6KXVT4DqPVnGetQ204Gxw9\/b4cwPMBXgle70Rh2ibUcMdXkvf5Etpu2G2WljZQftEx6WYnnxHs9g9+VLIiq3d3NYQUIqK2C47nc6a00bqmpfho2a0c3nuCXS6UtppDUVT8Dk1o5vPcFX6G3VGpq9l3ukfBRtH8PTk8xnmfD4+StGO70MqtVp4IZy+nVmbTbZtQVgvd1aeiz\/AA1M7kB3nw+KtawAAMAYAWVEpXZelSVNdd3zC1VFRDSQOnqJGxxsGS5xWq43KltdKairk4GDYDmXHuAVbpqKs1bUtrrgHQW5v9FAHYL\/AB\/z9FMY3zehWpWwvBDOX+zYluVy1TMaW1cdJRNyJKhwwX+A+nqpq06foLO0Ogj4psYdM\/dx+nsUjFFHBE2KFjY42DDWtGAAvaOey0Ip0EnjnnL\/AGgWHODWlziAAMknsWupqYKOB09RK2KNgyXOOAqrLV3DV0xpqNrqa1h2JJjzkHd\/l6qIxv5FqtZQyWbeiMPkl1jd3U7C5lppXZc4bdKez19w8VbmtaxgYxoa1owABgALTRUVPb6VlNTRhkbBsO\/xPiuhJSvktCKNJwvKWcnqERFU3CIiAIiIAiIgCretpHOttPRR446qcNGfD\/MhWRVe8YrNa2qkzkQtMp35Hc\/4R7len4rnN2r9PDzsvUskMTKeCOGMYZG0NaPADC2IiodOgVd1Df3wPFrtgMtwm6vU36PPz+HNZ1BqB9NKLZbG9NcJer1d+jz8\/hzK36f0+y0RGaZ3TVsu8kp3xnsH17VokorFI5Kk5VJcOn83y6Lr9DZYrFDZqcknpaqXeWY8z4Dw+KlkRUbbd2dEIRhHDHQIiKC5E6luhtdmlljcBNIOCLfBye0eQ3WNNWv7qs8Ub24nk\/Ml23BPZ7Bt6qNqy696xio8ZprcOkftkOdsd\/cPYVaVo8opHLT\/ABKrnssl\/YUZe77TWWm45TxzOH5cQO7j8h4rzfb9DZoGjh6Wpk2ihHM+J8PiuKy2KZ1T973g9LWv3Yw8ou7bv+HmojFWvImpUk5cOnru+X36Gm12Wpu1WLvfRxE7wUx\/SwdmR8vVWhEUSk2aU6Spqy13fMLnra2nt9K+pqZAyNg3Pf4DxW9zg1pc4gADJJ7FUCH6wvTml3Da6F\/IH+lPf7ceweaRjfXQrWqOCSjnJ6Hqgt8+p7l97XJhbRMP8NA7k4eXd3958FbQABgDACw1rWMDGNDWtGAAMABJJGRRukke1jGjLnOOAB4lJSxE0qSpp83qz0oq86go7MzhkPS1DhlkDTufPuCja3VE1bI+isEDp5uTqgjqMHfvt7Tt5rgpaiyWF5qq2r+8rk85c+Prhh8Cfjz8leNPmYVO0p5Qfzeny5s66ay3G\/Tsrb68xwA8UdGNsefd8fJWiKKOCJsULGxxsGGtaMABVlt61FdcfdtqFNGf9bP3HtGcZ9gK9fhi512Ddb3K\/bBjh2b9O7sUyV\/E7FaUlH9OLk3u8r\/Nk3U3a3UmenrYWEc28YLvQbqOm1lZIs4qXSEDkyN2\/qFmk0fZqXBNOZ3D90zifdsPcpCK022D+ioKZh7xE3PwVfgRt+YfJer9iFOuqBxxBSVcp8GAfNY\/Fle\/eDTlZIO\/rezk0qzBoaMNAA7gsqMUeQ4dZ6z\/AIRWBqq5jd+mawNHM9b\/AJFtptaW2WXoaqOajf8A71u3u39ysSjL\/U2+ltcj7jG2WMjhawgEuPcO4+PYpTi8rFZRqwWLHpzXsSMcjJY2yRva9jhlrmnII8CihtJU9RT2GNtS17XOcXNDzkhu2Nuzy+uEVJKzsdFOTnBSatcm0RFBcKsUI+06\/r5ebYIA1vgcNH1VnVY06RLqW+zk4DJAz3uH+FXho2c1fOcF1+iZZ1Xr5fZ21AtVob01c\/ZzmjIiH1+C03O+Vdyqza7B1n7iWpH6WeR+fopSyWOns1OWs\/Mnf\/SSkbuPyClJRzZWU5Vngp6bv+kabDp6O0MdNK\/p6yXJkmO\/sGf5KmURUbbd2dEIRpxwxWQREUFwtNZUso6Oapk\/TEwvO+M4HJblW9azu+7oKCPHHWTBu57B\/nhWiruxlWnw6bkZ0bRuFDNcp2\/n1shdk\/2c\/XPuXRfNQtt5FJRM+018mzImjPD4nHwUfV3l7ejsGnmdLMxgYZh+mMDYnPf4\/EqUsmn6e0tMrj09Y\/JknduST3d3zWjtfFI5abk4qlS21f1t1Oax6dfTz\/eV0k+0V799zkR+Xj7h2KwIiylJyd2ddOnGnHDEIi47tcGWu2TVjxno29Ud7jsB6olfIvKSim2Q2qbhPK+OxW\/JqqodfHIMwcj3enmpq2W+G10EdHBktYN3Hm4nmSojS1rlaJbvXDNXWEuAc3Bjbk8vP4YXdfLXU3WCOCCtdSs4j0vD+8dyu7eE5Kak06zV29F0\/wBmznvGq7fa2ujY8VNQNhHGdgf7x7PiqrUfiLVMgd9nf0IzwtA4Ix68yrhbdNWu2tHR07ZZBv0soDnZ8O72KWUqcY+FFZ0Ktb9WVlyXuVCj0VM+LguNeRHkEQ0+zc952xn2KwUNjtluwaWjja8cnkcTvU7rvRVc5PU3p9npU9FmERFQ3CIuerr6OgZx1dTHCMZHG7BPkOZQhtJXZ0LDnBrS5xAAGST2Ksy6vkq39FZbdNVP4sF724aPT54Xgaeu14k6S+Vxji\/9PCdvoPetMFvFkcz7QpZUli+nqdVy1bSwOFNbR9vq3nDWx7tz5jn7Fot+naquqmXK\/wAvTSjeOnz1WefZ7PXKnKC10NtZw0dMyLbBcB1neZ5ldaYksohUZTeKq79NvuERFmdQRFz11dTW6ldU1UgZG31J7gO0pqQ2krs2yyxwxOlleGMYMuc44AC+e2mnuN5qK2mpJeipJ5i+omwRkZO3v5eqlmQ3LV8okqQ6ktIdlrB+qT6+fLuyt+hGtFuqy0dX7QQD3jAW6+CL5nmzfeKsFa0c\/n9idt1spLVTCnpI+FvMuO7nHvJ7V1oiwbuelGKirIIiISEREAVGv3Saj1NDRW6QOFMzrSg7MOesc+G3LtUxqm4TjoLRQuxVVhwSHYIbv29mT7gVH6EohHLXz5zwuETSPDc\/JbQWFYzz+0T4tRUFpv8AWxY7TaaWz0ggpm7nd7z+p57z9F3IiybvmzujFRVo6BERQWCq11AvuqKa2AcdNR\/mVG2xPPGfQe09ynbrcGWu2zVb8Ext6rSf1O7B6qI0lRGktz7lWPAnrndI57zjq8x67n2haRyTkctZ45ql835fdljRRdTqSzUuekr4nEdkZ4\/hlRj9bQSvMdvt9VVv7gMZ9Mn3KFCT2Ly7RSjk5FnRVg3DVlbtT2yGkYf3Sncep+S1vst7lj6W66i+zs7RGeFv+EKcHNlO8N+GDf8AH1LWiptJd7FptszKKoqK+aYji7RkbAZ27+zK6jctT3T+o29tDER\/ST\/q9D9CnDZC7VFq2r5LMs5cGjLiAO8qHrtV2miPCKj7RJ2Mg62\/nyXA3SE9a\/pLxdp6g\/2GHAHln6BTFDY7ZbiHUtHGx45PPWd6ndLQW9ycVeeiUfPN+hCCs1NfWuFJAy2055SSZDyPP6Aea6qTR9GyUVFwmmr5\/wBxld1SfLmfaVYUUY3tkSuzRvebxPr7aGuGGKnjEcETImDk1jQAPYFsRFQ6dAiIgCIiAj7veaWy0omqSSXHDGN5uKg6K012oaplxveWUw60FKDt7R3e8rTeayGk1Y2pu1PLJTQsH2cMbkB3ec47icbrsdrq2k4ipquQ+DB9VsotL4UedOrTnNqrKyT059WWVrQ1oa0AADAA7FWdBbWScZz\/ABTt\/wDhan4quM39V09VP7cuyNv\/AKqH007UH2GWntbIGRCYl8smMh2Bt7h2dqKDwu4n2iDqwcU3rt5F\/Xl72Rt4nuDR3k4VaFk1NUbVV+EQ\/wByD8g1BoimlcH1twq6lw7S4D45VcMd2dHFqvww9Wl7kxNfbTACZLjT7djZA4+gXDNrKyRZxUukIHJkbt\/ULbDpSyQkEULXEdr3ud7icLthtVupyDDQU7CO1sTc+uFHwdR+YfJer9iDOuqB2RDSVchH91oHxWqWu1DfvyKOifbad2z5ZSQ7xxyPoParWGhow0ADuCypxRWiIdGpLKc8uisV67WCi\/D5FVJNK+jgc5sxf1jjJxvtuVD2DS32+0RVZrqimdKXdWM7EA4B9ysOq5ei01WO2yWtbv4uAXRYYjDYaFh59A0+oz81ZTkofMylQpyr2a0REfhCpZ\/RX+sYB+nnt\/8ApPwxeGbs1NVE\/wB4O\/5irOipxJG3daXL+X7lY\/Dl8\/2jm9HfVPw5fP8AaOb0d9VZ1rmmip4zJPKyJg5ue4AD2lTxJEd1pLn6v3KJXWqumvsNlku9VVCUdJJxZ4YxueRdg8vDmpmPQ9GQ37VW1U\/D2cQA+fioe26jp4LzX3B8EtRUVLuCGOMZ6vmd+xvpyUn02rLuMRwx2yFwO79nc\/aQfYFrLGt7HDSVCV3hcnfTN5EkLLp+0xiSWnpo252fUOB3\/wCJcs2r7TTBsFDG+pedmxwR8I5bfyF5ptF0pl6e5VU9dKSCS9xAPn2n1U7SUFHQM4KSmjhGMHgbgnzPMrNuO7udkYVf2pQXq\/Yrv27Vd1\/qtHHb4Xcny\/q5ePyavUWjftDxNd7jPVv26oOB5ZOSfcrQijG9si3dovOo3Lz9jjorVQW4YpKSOI4xxAZcf+I7rsRFRu+p0qKirJBERQSERR1Zf7VQ56euiDh+1p4negUpN6FZSjFXk7EiirB1fNWO6O0WmoqXcuN4w0eJxn3kLyKPVlzyaisit8bv2xfqHljf3q+BrXIw7zF+BOXl7ljqKympG8VTURQjvkeG\/FQdTrW2sf0VIyaskOzRGzAJ7t9\/clNoq3Mk6WslnrZDz6R+Bn2b+9TdNRUtG0impooQefAwDKfAupH5ifKP8v2OG23OvraYzTWmSAl3VaXjJGBvvhFKoqNrkbRjJKzl9DBAIwRkFYaxjM8LQ3PcML0ig0CrGiepBcIT+tlScj2Y+RVnVY03+TqO+QcgZQ8D2u+qvHws5quVWm\/P6FnREVDpCIiAIiICua5k4NP8P\/mTNbz8z8lPU0fQ0sUX9hgb6BVbXFwop7YyljqWPnZOHFjDnGAQc+q9tvGoruzFsoBTREDE8w3PiM7H2ArbC3BHBxoxry3yWmfMtL3sjYXyODGtGS5xwAoWt1faKM8DJjUyZxwwDi9\/L3rlZpGSrkEt5uc9W4HPA04aO8f9MKZorRb7c0ClpI4yBjixlx9p3VbQXU2xV56JR882Qf3jqe77UNCygiOR0k5394z6Bcly0w6G2VFwuVfNWVEcWQM7A+Z3+Cuih9Vv4NM1h3\/S0beLgFMZu6SyMqvZ1w5Sm3JpPX2PGk6OGmsFNJHG0STN4nvxu7cqbUfYWcFhoBt\/V2HbxGVIKkneTOmilGnFLkEWCQBknACj6rUFpowelr4cjm1juI+gUJN6F5TjFXk7EiirMut6R7jHQUVTVv7AG4B+J9y8mv1ZXnFNboqJh\/dKQSPX29itw5b5GHeqb8N35K5aFoqK2kpBmpqYYf8A5vDfiq+dPX2sH8ff3tB5tgBwfTHwW6m0VaITmZstS7OcyPI+GEwxWrHErS8MLeb9rnuq1lZ6fIjlkqX5xwxMPxOAuVt71DdBi22kU8bv9dUHsPaM4z6FTtLa6Ch\/q1HDEcY4msGfXmutTiitERw60vHO3l7sqw0xdbhk3e8yOa7nFDy+Q9ykaLS1noTxNpBM\/wDtTdf3Hb3KYRQ5yZaPZqUXe131zPLWtY0NY0NaOQAwAvSIqHQEREAREQBERAFV4T9j\/wC0KZnZWU+R5gA\/4SrQqvqH+E1RZq0EjjcYnHwyB\/jK0hq0c3acoxlya9v7LQiIszpCIqpPcbnqOrmobUTSUkTuGWpOQ47nl2jy59+FaMbmVSqqdt29ESV21NRWx5gZmpq84EEfPPcT2fFRwoNR35ua+pFupnf6mJvWI8d8+p9ilrTp+gs7Q6CPimxh0z93H6exSTnNYMucGjxOFbEo+Ey4U6mdV5cl\/b3ISPR9pioJKYQ8T5G46d+7we8d3sXNpevmpppLDX7T02ehJ\/cz+dx4eSmZbxbITiS4UzT3dK3PxVU1RdLVUSQVtvrB9vp3DBYx3WGeWcY2+qtHFLJmNXh0bTg0rbc0XhFVIdZz1UTRS2aoqJcDi4CeEH2A7c1sNXq6uGIaKnomO5OeQXD1J+Crw3ubd6pvw3fkmWdVvWVfS\/cU1M2pjMz3N\/La8ZwCDyWsaXudaeK6XuZ4I60cOQ36d3YvFw0PSmgEduAFTxDMs8juW+eQx3dimKimrszrSrVKclGFrrd5+him1hSU9DTUdHSVFXNHC1vCxuBkNHme\/s7F7+1auuQxDSwW+Mk4dJ+r35PuVjpKaKkpo4Yo2MDGgYaAFuUOS2ReNGo0lOfpkVgaRnrHcd3u9RUZ3LGHDQfDP0CkKXS1mpAMUTJT3y9fPsOyl0UOcnuaR7NSi74c+uZ4jijhYGRRtY0cmtGAvaIqG4REQBERAEREAREQBERAEREAREQBV3W9OZbGJ2DrU8rX57hy+YViXLc6T7dbKmlGOKWMtbnkDjb34Vou0kzKtDHTlHobKOobV0UFS3lLG149oytygNG1oqrEyEu\/NpiY3A8wOY93wU+klZtE0p46alzMEAjBGQVXqjRlE+d81LU1FIXndsTgGjyGPmrEiKTWgqUoVPErlY\/Bn\/vFZ6rLdC25x4p6qrmd3l4HyVmRTxJczLulH\/khItIWOL\/whecfvkcfmu+C0W2mwYaGnYR2iMZ9V2IocpPVmkaNOOkV6GAABgDACyiKpqEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAVWi\/0PrWopOI9BcGmRgxsHZJ\/5vUK1KOuNmguVVSVEkskb6VxcwxkAnlzyPBSKvJp2ZhRg4Yo7XyCIiobhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "FERROVIAL ENERGIA CONSTRUCCION SPA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "JOHANN GUERRERO",
    "correoContacto": "jguerrero@dsprint.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "APP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "ATASCO DE PAPEL",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:32",
    "ubicacionGPS": "LatLng(lat: -24.9396489, lng: -69.9301377)",
    "horaLlegada": "13:28",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


19/05/2026 13:32:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76451015

[19/05/2026 13:32: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('76451015', 'TO2390', 1, 27729424, 533550, NOW(), 
				'08:00', '13:28', '13:32', 3, 'sensor fallando. atasco de papel el bandeja 2 se solicita por parte de ferrovial el cambio del equipo. ', -1, 
				'', '','1','0',
				'0',2,'../csj.digital-service.cl/uploads/firmas/firma_0_1779211928.png', '', null, 'REPROGRAMADO','LatLng(lat: -24.9396489, lng: -69.9301377)' )
				
[19/05/2026 13:32:08] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200366

19/05/2026 13:32:08 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200366'                    
				WHERE idllamado = 12601			
				TO ENVIO: null, jguerrero@dsprint.cl


19/05/2026 13:32:09 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 12601			
				
19/05/2026 13:32:09 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('76451015', 'TO2390', 1, 'APP', 'sin otroTipo definido', -2, 'ATASCO DE PAPEL', 'Sin coderror', '1', 'SI', now(), 'JOHANN GUERRERO', '984818954', 'jguerrero@dsprint.cl', 12601)
				
19/05/2026 13:32:09 Insertado nuevo llamado creado idllamado: 12654APP
19/05/2026 13:32:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13:32:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13:32:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

19/05/2026 13: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 = 12601
                

[19/05/2026 13:32:11] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 13:32:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12601
            GROUP BY l.idllamado;
            

[19/05/2026 13:32:11] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 13: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 = 12601
                

19/05/2026 14:37:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 14:37:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

[19/05/2026 14:37: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;
                

19/05/2026 14:37:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

[19/05/2026 14:37: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;
                

19/05/2026 14:37:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 14:37:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 14:37:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 14:37:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 14:37:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 14:37:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 14:37:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

[19/05/2026 14:37: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;
                

19/05/2026 14:37:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 14:37:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 14:37:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 14:37:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

[19/05/2026 14:37: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;
                

19/05/2026 14:37:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 14:37:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 14:37:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

[19/05/2026 14:37: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;
                

19/05/2026 14:37:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 14:37:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 14:37:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 14:37:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 14:37:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

[19/05/2026 14:37: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;
                

19/05/2026 14:37:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 14:37:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 14: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 = 12632
                

19/05/2026 14: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 = 12632
                

19/05/2026 14:37:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 14:37:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12632
                

19/05/2026 14: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 = 12632
                

19/05/2026 14: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 = 12632
                

19/05/2026 14: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 = 12632
                

19/05/2026 14: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 = 12632
                

19/05/2026 14: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 = 12632
                

[19/05/2026 14:37: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;
                

19/05/2026 14:37:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 14:37:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 14:37:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 14:37: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;
                

19/05/2026 14:37:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14:37:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 14:37: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;
                

19/05/2026 14:37:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 14:37: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;
                

19/05/2026 14:37:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14:37:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:37:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14:37:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:37:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 14:37: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;
                

19/05/2026 14:37:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

[19/05/2026 14:37: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;
                

19/05/2026 14: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 = 12631
                

[19/05/2026 14:37: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;
                

19/05/2026 14:37:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:37:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14:37:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

[19/05/2026 14:37: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;
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14:37:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:37:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

[19/05/2026 14:37: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;
                

19/05/2026 14:37:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:37:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:37:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

[19/05/2026 14:37: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;
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14:37:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14:37:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 14:37: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;
                

[19/05/2026 14:37: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;
                

19/05/2026 14:37:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 14:37: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;
                

19/05/2026 14:37:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:37:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

[19/05/2026 14:37: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;
                

19/05/2026 14:37:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

[19/05/2026 14:37: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;
                

19/05/2026 14:37:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 14:38: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;
                

19/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 14:38: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;
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

[19/05/2026 14:38: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;
                

[19/05/2026 14:38: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;
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 14:38: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;
                

19/05/2026 14:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 14:38: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;
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

[19/05/2026 14:38: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;
                

19/05/2026 14:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

[19/05/2026 14:38: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;
                

19/05/2026 14:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 14:38: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;
                

19/05/2026 14:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 14:38: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;
                

19/05/2026 14:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

[19/05/2026 14:38: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;
                

19/05/2026 14:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

[19/05/2026 14:38: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;
                

[19/05/2026 14:38: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;
                

[19/05/2026 14:38: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;
                

19/05/2026 14:38:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 14:59:04] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 14: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;
                

19/05/2026 14:59:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:59:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 14: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;
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14:59:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

[19/05/2026 14:59: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;
                

19/05/2026 14:59:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14:59:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:59:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:59:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14:59:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

[19/05/2026 14:59: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;
                

[19/05/2026 14:59: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;
                

[19/05/2026 14:59: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;
                

19/05/2026 14:59:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:59:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:59:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14:59:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 14:59: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;
                

19/05/2026 14: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 = 12631
                

[19/05/2026 14:59: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;
                

19/05/2026 14:59:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 14:59: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;
                

19/05/2026 14:59:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:59:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:59:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

[19/05/2026 14:59: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;
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

[19/05/2026 14:59: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;
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

[19/05/2026 14: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;
                

[19/05/2026 14: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;
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14:59:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 14:59:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 14:59:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 14:59: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;
                

19/05/2026 14:59:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:59:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14:59:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 14:59: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;
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14:59:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 14:59: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;
                

19/05/2026 14:59:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14:59:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

[19/05/2026 14:59: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;
                

19/05/2026 14: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 = 12631
                

19/05/2026 14:59:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:59:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

[19/05/2026 14:59: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;
                

19/05/2026 14:59:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:59:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:59:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 14:59: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;
                

19/05/2026 14:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 14:59:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 14:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 14:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 14:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 14:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 14: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 = 12631
                

[19/05/2026 14:59: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;
                

19/05/2026 14:59:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14: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 = 12631
                

19/05/2026 14:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 14:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:01:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:01:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:01:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:01:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:01:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:01:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:01:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:01:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:01:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:01:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:02:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15: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 = 12631
                

19/05/2026 15: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 = 12631
                

19/05/2026 15:02:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/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 = 12631
                

19/05/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 = 12631
                

19/05/2026 15:02:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:02:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:04:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:04:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:04:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:04:22 - logentry: =========================================
FECHA: 19/05/2026 15:04:22
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-i3GERuXY_qccLlaQxnKJkRU.AtBB5elW2UbLW8TAu_tWA0Er.cc
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76662759",
    "serieinterna": "EP2054",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "103047",
    "contadorColor": "167890",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\ncambio de repuestos\nlimpieza general",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12631",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABZAQMDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA+EAABAwMCAwUGAwUHBQAAAAABAAIDBAURBiESMUETUWGBkRQicaGxwSMy0UJSguHwBxUkM7LS8TZDU2KS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QALREAAgIBAgQEBQUBAAAAAAAAAAECAxESIQQxQVEiMmFxE4GRsdEUI8Hh8KH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBERAERUmpbw+30zKWlBdW1Z4IQ3m3kM\/PZSk28IpZNVxcmcrxf5m1YtdnjE9a44c7Ytj78+PyUKrk1NZmR3CprIqqHiaJomtGGg4HcPl1PJW+n7Ky0UQ4wHVco4ppM5JPdnuUq7QNqbTVwvAIdC7n342PqtNUU8JHK67Jxc5Np9EuS\/PqSKeeOpp454jlkjQ5p8Cuio9HTOm03ThxyYy5mfDJx9VeLOSw2jpqnrgpd0ERFBoEREAREQBERAVV9vTbPTsLYXTTzO4I2NGd\/H9OqrnXLVzXF5s1OYs5wHDix\/98\/JfKfFz1xPJJu23x8MbTyB5efPOfl1WnWjxHbByRUrm5amlnCx6FRZ9RUd3JhbxQ1LM8UMgwdu5WFZWQUFK+pqZAyNgySevgO8qo1BYPa2+328djcYTxNezYyY6Hx8fJUZuE+rqy321zXMjjHaVe2MkbH9B4u8FKgpbrkUlfZX4JLMunr\/upNhju+qXmeSZ1BbSfcY387xuPvz5csBe5dIz0IbU2a4TNqmnJ7ZwLX7fD65Wpa0NaGtAAAwAOi+qPiPpyNP0sGvHu+\/47FLYr9\/eHFR1jOwuEORJGduLHUK6Wb1bbXmFl3om8NXSHic5vMsHf8PplXVsr47lboayPlI3JH7p6j1USSxqRaqclJ1z5rr3RKREVDoCLm2aJ8r4WysdIwAuYHDLc8sjouiAIiIAiIgCIiAIiID4SAMk4AWWsgN81FV3iQcUEBEVPncf89fi5WeqK00NgqHtJD5B2bSOhP8ALK6aeoW26yU0IOXFnG8\/+ztz+nktFtFs5Z+O5Q6Lf8Fmo9e5rLdUvccNbE4k9wwVIVJq6qFLp2o3w6bEbfM7\/IFVistI2tlorcuyOeimFunIieTnvI9cfZX6g2Sn9lslHCebYmk\/EjJ+ZU5JPMmyKI6aor0CIiqahERAEREAREQGYsvu6yvDTsSAQPDb9Vp1l4gKX+0OXJA9qp\/dG2+AP9pWoV580c3DbRkuzf3C\/PdM3PsNSvmeD2NfI+MOxgcRII+oH8S\/Ql+b0lN2mi5KxhcJKSu42lvPBDAfsfJXqxhpmHGOSnBx6Zf0wfpCLjR1LayigqWjAmja8DOcZGcLssTvTTWUfHNDmlrgCCMEHqsxpXit90uVldnET+0iyf2f+C1ahZa54t2t6Cs3EdWzsn78zy+7VpDdNHNf4XGzs\/8Aj2NSiIszqI8NBS09VNVRQhs05Bkfvl2Pp5KQiIQklyCIiEhERAEREAREQGY1gPaKm00HMT1G46YyBuP4j81p1mLl\/idd22BvKCIyOI6fmP2HqtOry5JHNTvZZL1x9EFltQkXTUVus4a5zGHtZsDbHn4A+qurxdYbRb31Erhx4IjYf23dAq3SttmjbNd63PtdaS7BGCxuc489j8AFMdlqIufxJKpe79v7NCi+EgDJOAFn7rrKgt03YwtNXIPzdm7DW+GVRRcuRtZbCtZm8GhRY2TWF1rKR0lvs0jQMgzYdK1u3gAMjxXnS99uFdeWwVVU6ZkkRdgtDQCPL6LT4Ukss51xtTmorO5tERFkdgRFxqaqCji7WomZEzOMuOMnuQhtJZZ2ReWua9ocxwc08iDkFEJM1qpvsFfbb23\/ALMojl2yS05P04vULSse2SNsjHBzXAFpHULjXUUFxo5KWpbxRyDBwcEdxC6Qwx08DIYWBkcbQ1rR0AVm8pIxhBxsk+j+50WHsUfa6DujcZw+R3oxp+y3Cxen\/wAPSd6gIIMYlOCN94\/5K8OT+RhxC8cfaX2RfaXlM2nKN5OfcLfRxH2VsqXSH\/S9H\/H\/AK3K6VJ+Zm9DzVF+i+wWY1uTFR0VS08LoqkYeOYyCfstOs\/raLtNOSO3\/DkY754+6mvzIrxSzTL2NAij0Mwmt1PMcAPia7nsMgFVFt1Oy532Wggh4oWtJbNxc8czjHXIUKLeS7thHTl8+RfoiKpqERUF21IKa409toWCoqnytEgzs0Z3Ge\/HopUW3hGdlka1mRfoiKDQIirr7UVtLaZZqCMvnbjADOLAzucKUsvBWUtMXJ9CxRfmLXUUmJryLsZ8\/wCYwtwN+Q4t+vf1U21armt00kX+IrqZ2Gwtkw14Pln+t1q6X0OCPHwz4lhF1kn+0MZPKl29FbXa+UNnhLqiQGQj3YWnLnfoPErIGS7XfVPFCw2ypfDjEmctZ6Zz6LSWnS1JbpfaZ3uq6s7mWTkD4D7nKmSSxqFM7JalWube7\/BBtltr73cm3i7s7OFm9PTOGdu\/B5fU\/BapFzmmjp4XzTPDI2DLnOOwCylJyZ2V1qpPf3ZFu90prTQvqKgg7YZH1ee5YfSdtFwvzpKiBvZQhz3RkYbxcgMeGeXgrGOSS+zzX+tHBQUAcaeF37Thvv54z38uinaaNPatPSXStc2I1LzI9x5kZIAA9TjxWy8EWup58n8e6Mn5Vl\/Lv9S5u1xitFslqn49wYjb+87oFj9GQTO1HNJM0h7IS52dsFxH6qfSRy6tuHt9Yx0dspyeyidykPefv6d6kaQBqp7ndHHJqJy1pxjYb7eo9FC8MWupaTd10JdOny6\/bBp0RZy5aklkqjbbHD7VVZw6TGWR\/wBd\/L4rKMW+R32WxrWZE683+mtIEWDNVPH4cDebt8BZC9U90rHU77jIW1dY\/hgpGnZjc8yOnMbc+\/ktNZtPMoJHXG4ze0VzsudK47M+Gfqoljide75PfZiXQRnsqZpGOXXHhn1PgtYtR3RwXRstxGe2eS7LuzRUVKyhooaWM5bCwMBPXHVF3RYHpJJLCCIiEhYuEijq9UULjjjgfK34EH\/eFtFgdZGWivckrG+7WUwYXH44P0Hqtat3g4uNemKn2\/lYNJpAEaYo8jH5\/wDW5XSg2SHsLJRR4IIgZkHoSMn5qcqSeZM6KVprivRBVWpmh2nK0H\/x59CCrVcK2lbW0U1K84bKwtJxnHioi8NMtZHVBxXVGSqrvI3StBbaQl9bVwtZwt3IZy+eMeq9aKoW013ubS7idTYhzjnucn1arSwaYjs0r6iSYzTOHC3uYPuolhe2h1Vd6OchstTJ2sQJ\/MMud9HZ8lu2sNRPOjXNWVzs9vbb+WalERc56hHrpzS2+pqAMmGJzwPgCVidEwGsvc9bIT+EC44zgucep9ea1eoayOjsdS6QZ7Vhia3Gclwx\/XwWc0rdKSyQSUdya+kllcJWvkacPaQMdNltDOh4PO4hxfEQUnst\/wAG2RQW3u0uaHC50mCM7zNH3UK46stlCz8KUVch5MgIcM+LuQWajJ9DsldXFZckXaLH\/wB+3uirKauucTIKGpfwBhH5GnBycHOQB1Hf4LYJKLiRVdGzOOgWd1uxpsIkI96OZrm\/MfdaJZfVchr6232WFoe6WUSSDi5Ad+PAk+SmvzIpxT\/Za77HhrnR65onybGooxnPfwn9Fq1mdVQCjltt1jaGso5Q1+BvwZGB8Nj6q6fd7dFTid9bAIy3iB4xuPhzUy3SaK0tVynGT65+pLc4NaXOIAAySeiyVbNLq64NoaPLbdTvzNNyDz3D7eq8zVVfq+oNNRtfTWtrsSTEYMnh\/L1WooqKnt9KympowyNg2Hf4nxTye5Db4jZeT7\/0QL9RSHTU9Hb4cEMAaxn7oIJAHXYY81TWrTdbXdg+8+5S07QIaUHu7\/jjJ789FsEUKbSwjSfDwnNSf06EK6PbS2WrcxoaI6d\/CAMAYacBZ+x3m3WPTEHtE4Mz+J\/YsIc7cnGw5bY5rVSxRzRujljbIxww5rhkHyVbQ6atNveJIqRrpByfJ7xHrt5qYuOMMrZXY7FKGOWNym7S\/an9wRm229\/N2PfePqfLA+K0NrtNLaKUQUrMZ\/O8\/mee8lTUUOWdlyL10qL1SeX3\/wByK3UL5GWCsdFji7M8+WOvQ9Mpp6OFlho+wzwuiDjxHJyee\/hy8lYuaHNLXAEEYIPVAABgDACjO2C+j9zX6YPqIiqaBERAFWXix095EJmfJG+B2WPjIB6ZHyVmilNp5RWcIzWmS2PjWhrQ1oAAGAB0X1EUFgiIgCp77YRdeyqIJfZ62D\/LlHrgq4RSm08opOEZx0y5GWZqK52hrae822WRzTj2iEgh478cvn6L0deW9wIhpKt8mCQ0taM+hK06K+qPVGPwrVtGe3qsmVp7dX6jrm1t4iNPRx7w0ufzfH+vRaOroqWui7OqgZM3oHjOF3RVcmy8KYxTT3zzz1KY6RsTjk0A8pXj7qXRWW2285paOON2c8WOJw8zupyI5SfUlU1xeVFfQhXe2su1tlo3u4eMZa7GeEjkVQU2oqmwQtob3RTExDhZPEQ4PHTnjoO\/PgtYilSwsMrZU3LXB4ZlpNYSV8fZWS3VE05OC6Rg4WZ5HYn54U+w2I27jrKt\/b18+8khOeHwCukRy2wkRGl6tVjy1y7HOaGKoidFMwPY4YLXDYqoi0hZYpA8UznY5NdISFdoqqTXI0lXCbzJZPEUUcMbY4o2xsaMNa0YA8l7RFBoEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "TRANSPORTES MICHEA SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "JORGE ROSEMBLUT",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "SERVICIO TECNICO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56944731645",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R677\",\"id_control\":\"28711\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R673\",\"id_control\":\"28711\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-R871\",\"id_control\":\"28711\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R889\",\"id_control\":\"28711\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:04",
    "ubicacionGPS": "LatLng(lat: -22.4391973, lng: -68.8696737)",
    "horaLlegada": "14:43",
    "horaDespacho": "12:09",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 19/05/2026 15:04:22
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-i3GERuXY_qccLlaQxnKJkRU.AtBB5elW2UbLW8TAu_tWA0Er.cc
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76662759",
    "serieinterna": "EP2054",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "103047",
    "contadorColor": "167890",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\ncambio de repuestos\nlimpieza general",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12631",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABZAQMDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA+EAABAwMCAwUGAwUHBQAAAAABAAIDBAURBiESMUETUWGBkRQicaGxwSMy0UJSguHwBxUkM7LS8TZDU2KS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QALREAAgIBAgQEBQUBAAAAAAAAAAECAxESIQQxQVEiMmFxE4GRsdEUI8Hh8KH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBERAERUmpbw+30zKWlBdW1Z4IQ3m3kM\/PZSk28IpZNVxcmcrxf5m1YtdnjE9a44c7Ytj78+PyUKrk1NZmR3CprIqqHiaJomtGGg4HcPl1PJW+n7Ky0UQ4wHVco4ppM5JPdnuUq7QNqbTVwvAIdC7n342PqtNUU8JHK67Jxc5Np9EuS\/PqSKeeOpp454jlkjQ5p8Cuio9HTOm03ThxyYy5mfDJx9VeLOSw2jpqnrgpd0ERFBoEREAREQBERAVV9vTbPTsLYXTTzO4I2NGd\/H9OqrnXLVzXF5s1OYs5wHDix\/98\/JfKfFz1xPJJu23x8MbTyB5efPOfl1WnWjxHbByRUrm5amlnCx6FRZ9RUd3JhbxQ1LM8UMgwdu5WFZWQUFK+pqZAyNgySevgO8qo1BYPa2+328djcYTxNezYyY6Hx8fJUZuE+rqy321zXMjjHaVe2MkbH9B4u8FKgpbrkUlfZX4JLMunr\/upNhju+qXmeSZ1BbSfcY387xuPvz5csBe5dIz0IbU2a4TNqmnJ7ZwLX7fD65Wpa0NaGtAAAwAOi+qPiPpyNP0sGvHu+\/47FLYr9\/eHFR1jOwuEORJGduLHUK6Wb1bbXmFl3om8NXSHic5vMsHf8PplXVsr47lboayPlI3JH7p6j1USSxqRaqclJ1z5rr3RKREVDoCLm2aJ8r4WysdIwAuYHDLc8sjouiAIiIAiIgCIiAIiID4SAMk4AWWsgN81FV3iQcUEBEVPncf89fi5WeqK00NgqHtJD5B2bSOhP8ALK6aeoW26yU0IOXFnG8\/+ztz+nktFtFs5Z+O5Q6Lf8Fmo9e5rLdUvccNbE4k9wwVIVJq6qFLp2o3w6bEbfM7\/IFVistI2tlorcuyOeimFunIieTnvI9cfZX6g2Sn9lslHCebYmk\/EjJ+ZU5JPMmyKI6aor0CIiqahERAEREAREQGYsvu6yvDTsSAQPDb9Vp1l4gKX+0OXJA9qp\/dG2+AP9pWoV580c3DbRkuzf3C\/PdM3PsNSvmeD2NfI+MOxgcRII+oH8S\/Ql+b0lN2mi5KxhcJKSu42lvPBDAfsfJXqxhpmHGOSnBx6Zf0wfpCLjR1LayigqWjAmja8DOcZGcLssTvTTWUfHNDmlrgCCMEHqsxpXit90uVldnET+0iyf2f+C1ahZa54t2t6Cs3EdWzsn78zy+7VpDdNHNf4XGzs\/8Aj2NSiIszqI8NBS09VNVRQhs05Bkfvl2Pp5KQiIQklyCIiEhERAEREAREQGY1gPaKm00HMT1G46YyBuP4j81p1mLl\/idd22BvKCIyOI6fmP2HqtOry5JHNTvZZL1x9EFltQkXTUVus4a5zGHtZsDbHn4A+qurxdYbRb31Erhx4IjYf23dAq3SttmjbNd63PtdaS7BGCxuc489j8AFMdlqIufxJKpe79v7NCi+EgDJOAFn7rrKgt03YwtNXIPzdm7DW+GVRRcuRtZbCtZm8GhRY2TWF1rKR0lvs0jQMgzYdK1u3gAMjxXnS99uFdeWwVVU6ZkkRdgtDQCPL6LT4Ukss51xtTmorO5tERFkdgRFxqaqCji7WomZEzOMuOMnuQhtJZZ2ReWua9ocxwc08iDkFEJM1qpvsFfbb23\/ALMojl2yS05P04vULSse2SNsjHBzXAFpHULjXUUFxo5KWpbxRyDBwcEdxC6Qwx08DIYWBkcbQ1rR0AVm8pIxhBxsk+j+50WHsUfa6DujcZw+R3oxp+y3Cxen\/wAPSd6gIIMYlOCN94\/5K8OT+RhxC8cfaX2RfaXlM2nKN5OfcLfRxH2VsqXSH\/S9H\/H\/AK3K6VJ+Zm9DzVF+i+wWY1uTFR0VS08LoqkYeOYyCfstOs\/raLtNOSO3\/DkY754+6mvzIrxSzTL2NAij0Mwmt1PMcAPia7nsMgFVFt1Oy532Wggh4oWtJbNxc8czjHXIUKLeS7thHTl8+RfoiKpqERUF21IKa409toWCoqnytEgzs0Z3Ge\/HopUW3hGdlka1mRfoiKDQIirr7UVtLaZZqCMvnbjADOLAzucKUsvBWUtMXJ9CxRfmLXUUmJryLsZ8\/wCYwtwN+Q4t+vf1U21armt00kX+IrqZ2Gwtkw14Pln+t1q6X0OCPHwz4lhF1kn+0MZPKl29FbXa+UNnhLqiQGQj3YWnLnfoPErIGS7XfVPFCw2ypfDjEmctZ6Zz6LSWnS1JbpfaZ3uq6s7mWTkD4D7nKmSSxqFM7JalWube7\/BBtltr73cm3i7s7OFm9PTOGdu\/B5fU\/BapFzmmjp4XzTPDI2DLnOOwCylJyZ2V1qpPf3ZFu90prTQvqKgg7YZH1ee5YfSdtFwvzpKiBvZQhz3RkYbxcgMeGeXgrGOSS+zzX+tHBQUAcaeF37Thvv54z38uinaaNPatPSXStc2I1LzI9x5kZIAA9TjxWy8EWup58n8e6Mn5Vl\/Lv9S5u1xitFslqn49wYjb+87oFj9GQTO1HNJM0h7IS52dsFxH6qfSRy6tuHt9Yx0dspyeyidykPefv6d6kaQBqp7ndHHJqJy1pxjYb7eo9FC8MWupaTd10JdOny6\/bBp0RZy5aklkqjbbHD7VVZw6TGWR\/wBd\/L4rKMW+R32WxrWZE683+mtIEWDNVPH4cDebt8BZC9U90rHU77jIW1dY\/hgpGnZjc8yOnMbc+\/ktNZtPMoJHXG4ze0VzsudK47M+Gfqoljide75PfZiXQRnsqZpGOXXHhn1PgtYtR3RwXRstxGe2eS7LuzRUVKyhooaWM5bCwMBPXHVF3RYHpJJLCCIiEhYuEijq9UULjjjgfK34EH\/eFtFgdZGWivckrG+7WUwYXH44P0Hqtat3g4uNemKn2\/lYNJpAEaYo8jH5\/wDW5XSg2SHsLJRR4IIgZkHoSMn5qcqSeZM6KVprivRBVWpmh2nK0H\/x59CCrVcK2lbW0U1K84bKwtJxnHioi8NMtZHVBxXVGSqrvI3StBbaQl9bVwtZwt3IZy+eMeq9aKoW013ubS7idTYhzjnucn1arSwaYjs0r6iSYzTOHC3uYPuolhe2h1Vd6OchstTJ2sQJ\/MMud9HZ8lu2sNRPOjXNWVzs9vbb+WalERc56hHrpzS2+pqAMmGJzwPgCVidEwGsvc9bIT+EC44zgucep9ea1eoayOjsdS6QZ7Vhia3Gclwx\/XwWc0rdKSyQSUdya+kllcJWvkacPaQMdNltDOh4PO4hxfEQUnst\/wAG2RQW3u0uaHC50mCM7zNH3UK46stlCz8KUVch5MgIcM+LuQWajJ9DsldXFZckXaLH\/wB+3uirKauucTIKGpfwBhH5GnBycHOQB1Hf4LYJKLiRVdGzOOgWd1uxpsIkI96OZrm\/MfdaJZfVchr6232WFoe6WUSSDi5Ad+PAk+SmvzIpxT\/Za77HhrnR65onybGooxnPfwn9Fq1mdVQCjltt1jaGso5Q1+BvwZGB8Nj6q6fd7dFTid9bAIy3iB4xuPhzUy3SaK0tVynGT65+pLc4NaXOIAAySeiyVbNLq64NoaPLbdTvzNNyDz3D7eq8zVVfq+oNNRtfTWtrsSTEYMnh\/L1WooqKnt9KympowyNg2Hf4nxTye5Db4jZeT7\/0QL9RSHTU9Hb4cEMAaxn7oIJAHXYY81TWrTdbXdg+8+5S07QIaUHu7\/jjJ789FsEUKbSwjSfDwnNSf06EK6PbS2WrcxoaI6d\/CAMAYacBZ+x3m3WPTEHtE4Mz+J\/YsIc7cnGw5bY5rVSxRzRujljbIxww5rhkHyVbQ6atNveJIqRrpByfJ7xHrt5qYuOMMrZXY7FKGOWNym7S\/an9wRm229\/N2PfePqfLA+K0NrtNLaKUQUrMZ\/O8\/mee8lTUUOWdlyL10qL1SeX3\/wByK3UL5GWCsdFji7M8+WOvQ9Mpp6OFlho+wzwuiDjxHJyee\/hy8lYuaHNLXAEEYIPVAABgDACjO2C+j9zX6YPqIiqaBERAFWXix095EJmfJG+B2WPjIB6ZHyVmilNp5RWcIzWmS2PjWhrQ1oAAGAB0X1EUFgiIgCp77YRdeyqIJfZ62D\/LlHrgq4RSm08opOEZx0y5GWZqK52hrae822WRzTj2iEgh478cvn6L0deW9wIhpKt8mCQ0taM+hK06K+qPVGPwrVtGe3qsmVp7dX6jrm1t4iNPRx7w0ufzfH+vRaOroqWui7OqgZM3oHjOF3RVcmy8KYxTT3zzz1KY6RsTjk0A8pXj7qXRWW2285paOON2c8WOJw8zupyI5SfUlU1xeVFfQhXe2su1tlo3u4eMZa7GeEjkVQU2oqmwQtob3RTExDhZPEQ4PHTnjoO\/PgtYilSwsMrZU3LXB4ZlpNYSV8fZWS3VE05OC6Rg4WZ5HYn54U+w2I27jrKt\/b18+8khOeHwCukRy2wkRGl6tVjy1y7HOaGKoidFMwPY4YLXDYqoi0hZYpA8UznY5NdISFdoqqTXI0lXCbzJZPEUUcMbY4o2xsaMNa0YA8l7RFBoEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "TRANSPORTES MICHEA SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "JORGE ROSEMBLUT",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "SERVICIO TECNICO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56944731645",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R677\",\"id_control\":\"28711\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R673\",\"id_control\":\"28711\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-R871\",\"id_control\":\"28711\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R889\",\"id_control\":\"28711\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:04",
    "ubicacionGPS": "LatLng(lat: -22.4391973, lng: -68.8696737)",
    "horaLlegada": "14:43",
    "horaDespacho": "12:09",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


19/05/2026 15:04:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76662759

[19/05/2026 15:04: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('76662759', 'EP2054', 1, 21773342, 103047, NOW(), 
				'12:09', '14:43', '15:04', 4, 'Mantenimiento
cambio de repuestos
limpieza general', -1, 
				'', '','1','167890',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779217462.png', '', null, 'COMPLETADO','LatLng(lat: -22.4391973, lng: -68.8696737)' )
				
[19/05/2026 15:04:22] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200367
[19/05/2026 15:04:22] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200367', 'EPS-R677', 1)
				
[19/05/2026 15:04:22] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28711 and
				    IDproducto = 'EPS-R677'
				

19/05/2026 15:04:22 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R677';
                [19/05/2026 15:04:22] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200367', 'EPS-R673', 2)
				
[19/05/2026 15:04:22] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28711 and
				    IDproducto = 'EPS-R673'
				

19/05/2026 15:04:22 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-R673';
                [19/05/2026 15:04:22] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200367', 'EPS-R871', 1)
				
[19/05/2026 15:04:22] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28711 and
				    IDproducto = 'EPS-R871'
				

19/05/2026 15:04:22 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R871';
                [19/05/2026 15:04:22] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200367', 'EPS-R889', 1)
				
[19/05/2026 15:04:22] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28711 and
				    IDproducto = 'EPS-R889'
				

19/05/2026 15:04:22 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R889';
                
19/05/2026 15:04:22 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200367'                    
				WHERE idllamado = 12631			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


19/05/2026 15:04:23 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12631			
				
19/05/2026 15:04:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


19/05/2026 15:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:04:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:04:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 15:05: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;
                

19/05/2026 15:05:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:05:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:05:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:05:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:05:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:05:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:05:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

[19/05/2026 15:05: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;
                

19/05/2026 15:05:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 15:05: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;
                

19/05/2026 15:05:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

[19/05/2026 15:05: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;
                

[19/05/2026 15:05: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;
                

19/05/2026 15:05:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 15:05: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;
                

19/05/2026 15:05:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:05:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:05:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:05:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

19/05/2026 15:05:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12631
            GROUP BY l.idllamado;
            

[19/05/2026 15:05: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;
                

19/05/2026 15:05:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

[19/05/2026 15:05: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;
                

19/05/2026 15:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12631
                

19/05/2026 15:07:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 15:07:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 15: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 = 12632
                

19/05/2026 15:07:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 15: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 = 12632
                

19/05/2026 15: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 = 12632
                

19/05/2026 15:07:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 15:07:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

[19/05/2026 15:07: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;
                

19/05/2026 15: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 = 12632
                

19/05/2026 15:07:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

[19/05/2026 15:07: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;
                

19/05/2026 15:07:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

[19/05/2026 15:07: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;
                

19/05/2026 15:07:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

[19/05/2026 15:07: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;
                

19/05/2026 15: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 = 12632
                

[19/05/2026 15:07: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;
                

19/05/2026 15: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 = 12632
                

19/05/2026 15: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 = 12632
                

19/05/2026 15: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 = 12632
                

19/05/2026 15:07:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 15:07:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 15: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 = 12632
                

[19/05/2026 15:07: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;
                

19/05/2026 15: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 = 12632
                

19/05/2026 15:07:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 15:07:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 15:07:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 15:07:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 15: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 = 12632
                

19/05/2026 15: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 = 12632
                

[19/05/2026 15:07: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;
                

19/05/2026 15: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 = 12632
                

[19/05/2026 15:07: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;
                

19/05/2026 15: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 = 12632
                

19/05/2026 15:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 15: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 = 12632
                

19/05/2026 15: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 = 12632
                

19/05/2026 15: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 = 12632
                

19/05/2026 15: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 = 12632
                

19/05/2026 15: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 = 12632
                

19/05/2026 15: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 = 12632
                

19/05/2026 15: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 = 12632
                

19/05/2026 15: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 = 12632
                

19/05/2026 15: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 = 12632
                

19/05/2026 15: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 = 12632
                

19/05/2026 15: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 = 12632
                

19/05/2026 15: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 = 12632
                

19/05/2026 15: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 = 12632
                

19/05/2026 15: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 = 12632
                

19/05/2026 15:07:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 15:07:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 15:07:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

[19/05/2026 15:07: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;
                

19/05/2026 15:07:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

[19/05/2026 15:07: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;
                

19/05/2026 15:07:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

[19/05/2026 15:07:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 15:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

[19/05/2026 15:07:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 15:07:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 15:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 15:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 15:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 15:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 15:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 15:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 15:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 15:07:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

[19/05/2026 15:07: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;
                

19/05/2026 15:07:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 15:07:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 15:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 15:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 15:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 15:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 15:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 15:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 15:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 15:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                
[19/05/2026 15:07: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;
                

19/05/2026 15:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 15:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 15:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 15:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

[19/05/2026 15:07: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;
                

19/05/2026 15:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 15:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 15:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 15:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 15:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 15:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 15:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 15:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

[19/05/2026 15:07: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;
                

19/05/2026 15: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 = 12632
                

19/05/2026 15: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 = 12632
                
[19/05/2026 15:07: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;
				

19/05/2026 15: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 = 12632
                

19/05/2026 15: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 = 12632
                

19/05/2026 15: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 = 12632
                

19/05/2026 15: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 = 12632
                

[19/05/2026 15:07: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;
                
[19/05/2026 15:15: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;
				
[19/05/2026 15:15: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;
                

[19/05/2026 15:15: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;
                

19/05/2026 15:15:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15: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 = 12652
                

19/05/2026 15:15:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 15:15: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;
                

19/05/2026 15:15:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

[19/05/2026 15:15:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 15:15:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 15:15:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15:15:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 15:15:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15:15:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 15:15:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 15: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 = 12652
                

19/05/2026 15:15:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

[19/05/2026 15:15:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 15:15:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15: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 = 12652
                

19/05/2026 15:15:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 15:15:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 15:15:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15: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 = 12652
                

[19/05/2026 15:15:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15:15:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 15:15:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 15:15:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 15:15:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 15:15:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 15:15:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 15:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

[19/05/2026 15:15:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 15:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 15:15: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;
                

19/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 15:15: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;
                

19/05/2026 15:15:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 15:15: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;
                

19/05/2026 15:15:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 15:15: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;
                

19/05/2026 15:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 15:15: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;
                

[19/05/2026 15:15: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;
                

19/05/2026 15:15:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 15:15: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;
                

19/05/2026 15:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

[19/05/2026 15:15: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;
                

19/05/2026 15:15:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

[19/05/2026 15:15: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;
                

19/05/2026 15:15:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

[19/05/2026 15:15: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;
                

19/05/2026 15:15:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 15:15:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:15:59 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15: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 = 12652
                

[19/05/2026 15:15: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;
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15:16:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:16:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:16:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:16:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 15:16:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 15: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 = 12652
                

19/05/2026 15:16:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 15:16:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 15: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 = 12652
                

[19/05/2026 15:16:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 15:16:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 15:16:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

[19/05/2026 15:16: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;
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15:16:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15: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 = 12652
                

19/05/2026 15:16:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

[19/05/2026 15:16: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;
                

19/05/2026 15:16:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 15:16: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;
                

19/05/2026 15:16:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15:16:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15:16:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15:16:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15:16:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 15:16: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;
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12653
                

[19/05/2026 15:16: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;
                

19/05/2026 15:16:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15:16:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15:16:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15:16:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15: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 = 12653
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12652
                

19/05/2026 15: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 = 12653
                

19/05/2026 15: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 = 12653
                

19/05/2026 15:16:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 15:16: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;
                

[19/05/2026 15:16: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;
                

19/05/2026 15: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 = 12653
                

19/05/2026 15:16:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15: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 = 12653
                

19/05/2026 15:16:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15:16:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 15:16: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;
                

[19/05/2026 15:16: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;
                

[19/05/2026 15:16: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;
                

19/05/2026 15: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 = 12653
                

19/05/2026 15: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 = 12653
                

19/05/2026 15:16:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15:16:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15: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 = 12653
                

19/05/2026 15:16:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15:16:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15: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 = 12653
                

19/05/2026 15:16:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15:16:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 15:16: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;
                

19/05/2026 15:16:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15: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 = 12653
                

[19/05/2026 15:16: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;
                

19/05/2026 15: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 = 12653
                

19/05/2026 15: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 = 12653
                

19/05/2026 15: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 = 12653
                

19/05/2026 15: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 = 12653
                

19/05/2026 15: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 = 12653
                

19/05/2026 15: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 = 12653
                

19/05/2026 15: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 = 12653
                

19/05/2026 15: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 = 12653
                

19/05/2026 15: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 = 12653
                

19/05/2026 15: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 = 12653
                

19/05/2026 15: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 = 12653
                

19/05/2026 15: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 = 12653
                

19/05/2026 15: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 = 12653
                

19/05/2026 15: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 = 12653
                

19/05/2026 15: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 = 12653
                

19/05/2026 15: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 = 12653
                

19/05/2026 15: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 = 12653
                

[19/05/2026 15:16: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;
                

[19/05/2026 15:16: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;
                

19/05/2026 15:16:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15: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 = 12653
                

19/05/2026 15:16:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 15:16: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;
                

[19/05/2026 15:16: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;
                

19/05/2026 15:16:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15: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 = 12653
                

[19/05/2026 15:16: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;
                

19/05/2026 15:16:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15: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 = 12653
                

19/05/2026 15: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 = 12653
                

19/05/2026 15: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 = 12653
                

19/05/2026 15: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 = 12653
                

19/05/2026 15:16:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15:16:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 15:16: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;
                

19/05/2026 15:16:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15:16:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 15:16:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15:16:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15:16:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 15:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 15:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 15:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

[19/05/2026 15:16: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;
                

19/05/2026 15:16:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15:16:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

[19/05/2026 15:16: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;
                

19/05/2026 15:16:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 15:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 15:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 15:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 15:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 15:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 15:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 15:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 15:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 15:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 15:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                
[19/05/2026 15:16:10] 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;
                
[19/05/2026 15:16: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

19/05/2026 15:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 15:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 15:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 15:16:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 15:16:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 15:16:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

[19/05/2026 15:18:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[19/05/2026 15:18:03] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[19/05/2026 15:18:03] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[19/05/2026 15:18:09] 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;
                
[19/05/2026 15:18:09] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' 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;
				

[19/05/2026 15:18: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;
                
[19/05/2026 15:18: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;
				
[19/05/2026 15:18: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;
                
[19/05/2026 15:26:06] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[19/05/2026 15:26:06] 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;
                

[19/05/2026 15:26:16] 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;
                
[19/05/2026 15:53:30] 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;
                
[19/05/2026 15:53: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

[19/05/2026 15:53: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;
                

19/05/2026 15:53:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12655
            GROUP BY l.idllamado;
            

[19/05/2026 15:53: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;
                

19/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12655
            GROUP BY l.idllamado;
            

[19/05/2026 15:53:48] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12655
            GROUP BY l.idllamado;
            

19/05/2026 15:53:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12655
            GROUP BY l.idllamado;
            

19/05/2026 15:53:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12655
            GROUP BY l.idllamado;
            

19/05/2026 15:53:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12655
            GROUP BY l.idllamado;
            

19/05/2026 15:53:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12655
            GROUP BY l.idllamado;
            

19/05/2026 15:53:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:54:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:54:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12655
            GROUP BY l.idllamado;
            

19/05/2026 15:54:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:54:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:54:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12655
            GROUP BY l.idllamado;
            

19/05/2026 15:54:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:54:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:54:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:54:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:54:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:57:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:57:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15: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 = 12655
                

19/05/2026 15: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 = 12655
                

19/05/2026 15: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 = 12655
                

19/05/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 = 12655
                

19/05/2026 15:58:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12655
            GROUP BY l.idllamado;
            

19/05/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 = 12655
                

19/05/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 = 12655
                

19/05/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 = 12655
                

19/05/2026 15:58:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12655
            GROUP BY l.idllamado;
            

19/05/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 = 12655
                

19/05/2026 15:58:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12655
            GROUP BY l.idllamado;
            

19/05/2026 15:58:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:58:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:58:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:58:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/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 = 12655
                

19/05/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 = 12655
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12655
            GROUP BY l.idllamado;
            

19/05/2026 15:59:15 - logentry: =========================================
FECHA: 19/05/2026 15:59:15
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-BDKNfiec+hnwNmPPcgLGXG08xy3l3o8Day+3kqJ-vBUKJUBfgPy
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61308000",
    "serieinterna": "TO2976",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "10525",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se configura servidor smtp,se reconfigura en 5 pc, se deja toner\n01 iton2956\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12655",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACCAO8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xABBEAABAwMCAgcFBgQFAwUAAAABAgMEAAURBiESMRNBUWFxgZEUIjKhsRUjQlLB0SUzNOEWJJKy8GKi0gdDU3KC\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMBEAAgECAwUGBgMBAAAAAAAAAQIAAxESITEEQVFhcRMiMoHR8CORobHB4RQzQkP\/2gAMAwEAAhEDEQA\/AP2alKUiKUpSIpSlIiuVrQ2grcUEJSMlSjgCqi96mh2bLRy9J4chpPV2ZPVVXb7ZK1Qyi4XaWr2ZZJajMqwnAJG\/07e+rhMrnSc7VxiwJm326ybM1jb2XVMREOzXRsA0PdJzjGf2BqOdXTWUdLKsEptrGePfAHmmtBEgQ4COCJGbZGMHgTgnxPM1zcloatcpbnwJZWT4YNSCulpQpWsWL26D1ncOYxPiokxl8ba+R+or3qh0YHP8NslZJBWvgyc7Zx9c1fVVhYkTek5emrHeIpSo0m4Q4jiG5EhDa1\/Cknc9+OzvqsuSBmZJpXxJCkhQ3BGRVRd9SwLSeiUovyOpls5IPf2VIBJsJV3VBiY2EuKrLhqG12z3ZEpJcxkNo95Xy5edUyYOoL8lTs+UbbFWNmUAhWO8c\/U+VfG29IWVIK3GZTo2yfvST4DYVoEG\/PpOVq7kXUBRxb0nt\/iuZPJTZ7O8+M\/zXNkj02+desJjVMiW07OkMRo6VhS2UAEqA6ts\/WuDru0IPClqUQBsUtpx9a9GdbWZwjjW8zn87ZOPTNSQw0WZipTJ79W\/0HvzmhpUeJOiz2y5EkNvJBwShWcePZUisZ6AIIuIpSlJMUpSkRSlKRFKUpEUpSkRSlKRFUuo76LPGShkByW9s2jnjvIqbdrpHtEFUp85xshA5rV1CqXTdqkSZK73dvfkubsoUPgT246u6rqB4jOatUYnsqep+g96Tzt2mzHhybldVdNMdaWohRz0eQevt+lTNFKUrTrfEc4cUB4Zqzu6iizTlDmI7h\/7TUDRyQnTEUj8RWT\/AKzVixZSTM0pLTrKq8D9xLus5rGWv2Fq2R+JUiasJCU8+Ec\/nj51oHXUMtLdcUEoQkqUo9QHM1mLE0q\/Xp6\/SEENNHo4yCdhgc\/nnxJ7Kqgt3jumm0EkCkurfbfNFBiphQWYqNw0gJz29pqRSqLUeoUWhkR2CFTHR7gJGEA\/iOagAscpq7pSS50E+XzURhui325v2mevbhSMhvx\/b1qplafZg2aZPu8gPz3mzwla9kq6gO08qh2qcYClt2qObjdH93X8HhRk8h2jPM7CpVz0\/KNpk3S9TVvSkIyhtJ9xvJG39ht41uBhNp5bOawLEX16D1M4tk293a3MW628TDTSOF2WrY8+QPd3b+FTFGy6RAQlszbkrcda8n\/b9fGolvul0n22NarKyUdG0EvSl7BGezs+vYKv7NpuLaiXlqMmWs5U+4N893Z9ahiBr8peirOAVzPE6DoJWG0X6\/EKusoQ4x39na547\/7k+FW8PTVohJHRwm1qA+N0cZPrVoSAMk4ArNTdQSrlJVbtPJDjg\/mST8CB3fv6VQFmyGQnSyUqPebMnzJ6S6fuVugupYekstOKOyM7+JA5eNersOJJSeljtOhY34kA5FZK7aajWvTcuU8tUmaeAl5ZOxKgDj16609mJNkgEnJMZv8A2ioIAFwZanUdnKVFAyvKS56a9gBuNiUuPIaypTYUSFjmQB5cuVXNluYu9ral8PApWQpI6iDj+\/nUqS8mNFdfV8LSCs79QGaodCsqbsBWrk6+pSdurAH1BoTiW5kBRTrBU0INx+Zo6UpWc64pSlIilKUiKUpSIpSlIivilBKSpRAAGST1V9rMavnuOhmyRN5EtSQrB5JzyPZk48gasq4jaZVagpoWMhIcRqG5P3eaVJtdvz0afzEb8u\/YnyFWWlDOme13WYtwJlL+6aUTgJGdx3b4HgarrpHS5Jg6UgYDaQFyVhIz25PfjJ8xWvZZbjsoZZQENoGEpSNgK0c2Fvdpx7PTJqEndrzP60ldqZ0M6cmqJxlvh9SB+td6dbLWn4KVcyyFc889\/wBaga3c4NPKTnHSOpT48z+lSp9zasVhbdUEqWltKG28\/EcAf3qtrqAOM2LAV2Y6AfmV+ppzs6U3p+Ccuvke0KAP3adiP3Pd41oIkRi3w24zCeBpoYAJ8yax1unR7BHVMlky7vNHEG0nKkpOCArs337eVSxar9qE8d1kexRTv7O3zI7x+\/pViuVt0xp1SWLWux3cBzO6SbzrKHAyzDxLf7QfcT4nr8B61AtumH704bre3V5ePEGk7Ejqz2DuFeMG0QrnqJTEWNw22DstW\/3yx2nx+Q763NGIQWXWKaNtDFquYGg3fuR40SLb4\/Rx2m2GkjJwMeZNYvUd6k3qPITBSRbYxT0rh26Q8QA8snl51aXiS9fLuLFDcWhhG8t1I5d36eJ7q41WxHtumWbfEb4Q46lKUp5q6yT29VSgsRfUyNoYvTYJko+p4dJd2FhuPYoSW0JQFMIUrh61FIJPrU111tlpTrqwhCBlSlHAArmMz7PFaZ\/+NAT6DFZe4uL1PfjaWHimBGHE+ts\/Efod8DyJrMDESZ1M\/ZIABnoBOX5szV0ow4HHHtqDh54jdzu\/t61pbfbotsiiPEbCEDmetR7Se2vSJEYgxkRozYbaQMACvajNfIaSaVLCcbm7H3YSi1m5waafT+dSE\/8AcD+lWltR0Vsit5KuFlAyevCRVDrkldtixknCnZIx6EfqK0a1tx2FOLUENtJJUT1ACh8AlVzrueAH5MoNZTCILNtZUenmuBAA\/Ln98D1q7gREQYDEVG6WkBOe3vrO2Jty+3t2\/vpKWmj0UZOeWB4d58ya1VS2QCyKHfY1eOQ6fuKUpWc6opSlIilKUiKUpSIpSoN2uC7bDD7cRyUorCejb5+PI1IF8pVmCi5kmTIbiRnZLyuFtpJUo9wrD2uWG1TtUzwOMqLcZB61kch3AYHhnsrnUWpJNziC3iA9FKiFrSvJK0jPVgbZGfKobU1Ut6EEW2Q9AgpADDeSFL5lRIGMkmuhEIGc8mvtKvUGE6adePlNXpW1uR4y7jMJXMme8pSichJ3APf1+laCswNTXhZwjTUlJ7VFWP8AbXhL1FqNmKuSbMhhpPNTgJKe\/GR9KzKMxuZ1JXpUkst8uRnrrtafYYbK1cKFyMqPYACM\/OqmULhrG8FcIKREjnDbi9gjlk+J548KrH7jL1HcWG50ttlGcBSvdQ2Os8638CTZ4UNuNFmxA22MDheTues860Pw1HGcq22qoxvZcuptOLRpyDaBxoR00g\/E84Mq8uyvDVN0VEgiFGBVLm\/dthPMA7E\/PA76txMinlJaP\/7FYiNe4Ei\/vXq4u4SyOCMykFR8eXeTvjc1moLG5nVWZKSCmhAv7JmtsdrRaLW1FG6\/icVjmo8\/0HlXjqK8i0QMt4VKePCwjGcnbJ8s\/SqtWqbnOTm1WdZQRnpn9k8vID1qpt9vuerpKp8mWWEMqAQoJOx54SOrHb4VITPE8o+0DAKdAG+6aGxRYun7YFzpDbUmSOkdLqwD4b88Z9SarLlcod+1JaosZ7pWGllayAQCeeN+fL5mrCNoq1tqDklT0tz8RcXgE9u2\/wA6habjMP6nuEuMwG48cdE0Ep4Rnl+h9akFc2lWWoAlIgAE9TlnLjUt0NrtDi2zh937trHPJ6\/Ib+OK605azarWlDh4n3T0jyt8lR6t99h+tU5B1FrHBwqFbBnY5Clf3I9E1rCQBknAFUburhnTT+JUNTcMh+TPtKpJ+rbVCJQl0yXM44GRn58qhfa2pbmSINrTEbPJb53G\/PfH0qAh1lm2mmDYZnlnOtW+9OszWAeKTnHbun9641HMeuk9rT0BYClnifcB2SBn3T9fQVQaibvKZ0RqdNRIlK3abY2LZJGMYA3JHyrX6csn2PDUXiFy3jxOr5kf9OeutTZVBnEpatVdQLA2v0tp5yziRGYMRuKwnhbbGEjOa9qUrnnqAACwilKUkxSlKRFKUpEUpSkRXK1pbQpazhKQST2CuqoNZXH2KyKZSrDko9GMfl\/F8tvOpUXNpnVcU0LndMjIuD14vb62EhTsr7hntQknBPLsyDnqUa\/QbXb2rXbmojQ2QPePPJO5NZTQlq43XLo6nZGW2c9v4j6beZrb1rVIvhE4thpnCar6mKy16ub93mKsNqAVxbSX+aUJ6x+\/pUjUF7eRITZrYOOc\/sVA\/wAoEfXG\/cN6nWSysWWHwAhby93njzUf2FVAwjEZs7Gq3ZroNT+Jl4Gn7e7qp63ltTsaKwOMqURxL26xy3PLuq\/Vo6xqOREUnuDq\/wB6iaP\/AM5Iul0I\/qH+FJPUBvj5j0rT1Z3YG15ns1Ck1PEVGZO6fn+p9NwrWlhcN5zpH18CWVkHPLcHbA9eYq3b0Fbeib6V+T0gSAsoUkAnrIymiwLrrxKCniZtzeeW3Fz+pH+mtTRnYAC8rS2ak7u2HK9h5azAah08xamY7cSRJeekudG22pQwR\/wgedWzehIiUAGdKSce8EqGM+lfIaV3zWL0xSsxbd923g7FW\/65PpWqozsABeKOzUnLPhy0HlMXeNP\/AGPbXZgvEvjRsgZO5PVtUdqwzrfp03BN4kRB0XSlhGQCTy3ChuduqrK6rN+1JHtTYKosM9JI2OCrs5dm3mavbrbUXaCYbjq221qBUUcyAc4\/5mpxkAXlBs6OzFBpkMzrMpZLLfF25MyHdEse0kuFKhkqOcZJ3z20u1m1ZLb4HpCZKEjHAy4Eg+IOM+dbRlpEdhtlsYQ2kJSO4DFelV7U3vNhsSYMJJ+cxdru0KwnopljdgLIwXsFfF5nfq6qubjqm3xLZ7ZHeRJUvZtCVb5x1jmPOrG5SYkWA67OCCwB7yVAHi7sHnX59FirYnQbuuM21HkSvcZPIDbffq548PCrKA+ZmVR6mzjApB8tOeUlsQ5idV2164uccqUrplN8i2N8D5curFfoFZZg\/aOv3XkHibgtcBV1BWMY9VK9DWpqtQ3tN9kQKGtxilKVlOyKVytaG0FbighKRkqUcAVSzdX2iGeBDxkuZxwsDi+fL51IUnSUeoiC7G0vK5WtDaCtxQQlIyVKOAKy32xqS7D+G25MNpQBDr2558xnb5Guk6QkTVdJeLq\/IOT7jZ2Hhn9BV8AHiMw\/kFv61J56CT5urbPC4k+09O4n8DQ4snx5fOoB1Hep4ItVkWE9Tj\/I\/QdnXV1Bsdst2DFhtpWOSyOJXqd6n0uo0EdnWbxNbp6mZj7O1XN\/qLozEQfwtDcdfUPLnU21afct8v2p+6SpbnCRhaiEnPaMnNXVKgudJZdnQHEbk8yYr811Zcjdb2WWfebYPRN4\/ErO59dvIVtNSXP7Ls7rqF8Lzg4Gt98nr8udYW12xQn2lbo\/qngoJP5EqH1wa1oi3eM4tvcsRSXz\/E\/R7dDRb7exEbAAaQBt1nrPmcmqu+aiTBWIMBPtFwcPCltO\/Ae0\/tXhdtQuyJBtVkHTS1bLdT8LQ6zn9eqpli08xZ2+kUemluD7x47+IHd9aztbNp1Fy\/w6Og1PDkOc5sFh+zQuXLX009\/d1w78Od8CpV9lex2OY\/tkNEDPadh8zVhWZ1c6ZbsGytKHHJdCljsSNs59fSguzZy1QCjRIX2TJulI3s2nIoIPE4C4c95yPlirmuGm0stIaQMJQkJSO4V3VCbm82ppgQLwlBpi3Sozk+bOa4JEl87ZB2BPWO8n0qZqGebbZJD6FFLhTwNkDko7Z8uflVnWY1YfabhaLd8SXn+JaeewIGceBVVx3nzmFQdjQIX2TJ+mLYLZZWkkDpXh0jh7zyHkMfOu9QXgWiAVIHFJd9xhGM5V2+VWtebjDLykKdaQtTZ4kFSQSk9o7Kriu1zNOzK08CG0qtM2hVqtvE9vJkYW6SNx2JPbjJ9TVzSlQSSbmXpoEUKugilK4cdbZQVuuJQkc1KOBUS8zMiFM1JfQmXHcj26ErZKxguk\/vt4DvNVepLi\/MvDSba10zNvIA6NHGOM9w6tgB4HFWmpNVRmYKo9tkodkOHhUpG4QnG5B5ZqusUy6R7eI1ns5UVHK5D+wUeXcNtus10qDa5E8eqULGmGuTmSM+gymi05ZTZ4Kg8oLkvq43VfQZ68b+pqbLusCD\/VTGWj+Uq97051QfYWobkj+JXfoEKG7TI7uRxgfWpsTR1njEKcaXJXnJU8rPyGBWZw3uxnYhqBQtNLDn6CeD+tYRWWoEaRNc6ghPCD+vyryEjVtz\/lR2bc2T8S\/i59+T8hWlZjsRkcDDLbSfyoSEj5V6VGJRoJbsajeN\/ll+5mGtHGQoO3e5PzFjB4AohI7snJPyq5h2a3W8J9mhtIUnkvhyr1O9TqVUuxmiUKaZgZxSlKrNopSlIilKUiYy8Nu6g1a1bBxeyxsFwjOMc1f+Oa61fEW9eLSyy50Bdy0lQ24dwNsePKthgZzjes7rWKpdpbmtbOQ3QsHPUdvrj0rZHuwE8+vQtSdjmSb+Q3S1tVoiWeKGYyNz8bh+JZ7\/2qdXjEkJlw2ZKPhdQFjzGa9qyN75zuQKFAXSKztpttwfvj93urKGlgcDDYUFcI5Zz4E+OTWipQGwMq9MOQTuilKVE0isvFT9sa0el4PQW5PRJ4k817g\/Mq9BWhkTYkQZkyWWf\/ALrCfrVNJ1nZ45wypySo9TSMb+JxV0BzsJzV2p3GNgLG80FKy4vuoZ4\/h9l6JJ\/G+f3x30Ni1DPH8QvXRJP4GB+2O6pwW1MfyMXgUn6D6y+l3ODBB9qltNEDOFKGfTnVM\/rWBx9HCYkTHDyCEYB9d\/lXpE0ZaIyuN1Dklec5dVt6DGfOrqPGjxW+jjsttJ7EJAp3BzkW2huC\/U+kzYk6sugyzGatrR\/E58Xocn5Co0\/TsaDFXcL5cpM3gxhAVjiOdhvk+mMb1qp06NboqpMpwIbT6k9gHWazcOJJ1VORcrggt29o\/wCXjn8fee761ZWOugmFWkt8NyzHjoOdtJ80hYEISbrJYCVO7x285CEHr37QfTxrW18AAGAMAV9rNmLG5nZRpLSQKsUpSqzWKUpSIpSlIilKUiKUpSIpSlIiotzSpy2SkIZL5W0pPRhXCVZGMZqVSgkEXFpgbXdr9a1JsjcRlTySShD5wcHfAPEAeurf7R1gjddnikf9Kh\/5mod5j3a\/y1Mt2ZDIaPCiS4oggcXMHbbblg4ya6j6Qu64\/Ryb440k5y2hSlp+ZFdJw6m08hBVBKpiIGm77ieitaSIL\/Q3O1lpWP8A23AfHb+9er+vbchGWY77isZwoBPZtnf\/AIK8mP8A0\/iJUDImvODsQkI\/erc6Xsqo4YMBvhA2UCQr\/VzqpNKbIu2kHMDr+pWIu2p7onig21qK0TgOOqyR64+lBp6\/zR\/EL6pAI3QwDg+nCK6XopplSnLbcpURZ5YVkfLB7a+ez6vgfypMeejOyV4B+ePr1UuP82kYH\/7Bj0OXyFp7xtE2hlXE8HpKs5+8XgfLFXES3QoKQIsVpnAxlKQCfE8zVB\/i2ZDOLnZJDIH40ZIx5jHzqVH1nZXx7zzjO3Jxs7emaqwqHWbU6myqe7YHnl95fUqpTqiyKOBcG\/NKh+lRJetbUx7sfpZbnUG04Hqf71QIx3Tc7RSAuWE0NVl5v0Oys8TyuN4\/Ayk+8f2HfVQZeqL0FJixk21gnZbuQsjz\/QDxqfadMQ7csSHiZcsniLzu+D3Dq8edWwhfFM+1eplTFuZ9N8r4Vll36Um533KWx\/JicgB3\/LvPXWqSkJSEpAAAwAOqvtKqzEzWlSWmMtTqeMUpSqzWKUpSIpSlIilKUiKUpSIpSlIilKUiKUpSIpSlIilKUiKUpSIqHMt8KQ2tb0Nh1QSSFLaSTy7xSlXTWc+0+CUUq2wExllMKODtuGk9vhV\/DhxY4UpiMy0VLVkoQE53PZSlav4ZwbN\/ZJVKUrnnrxSlKRFKUpEUpSkRSlKRFKUpEUpSkRSlKRFKUpE\/\/9k=",
    "razonSocial": "SERVICIO AGRICOLA Y GANADERO ",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "SILBERTO.CABELLO@SAG.GOB.CL",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIGURACIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+5699095615",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:59",
    "ubicacionGPS": "LatLng(lat: -30.6066047, lng: -71.2086369)",
    "horaLlegada": "15:48",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 19/05/2026 15:59:15
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-BDKNfiec+hnwNmPPcgLGXG08xy3l3o8Day+3kqJ-vBUKJUBfgPy
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61308000",
    "serieinterna": "TO2976",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "10525",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se configura servidor smtp,se reconfigura en 5 pc, se deja toner\n01 iton2956\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12655",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACCAO8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xABBEAABAwMCAgcFBgQFAwUAAAABAgMEAAURBiESMRNBUWFxgZEUIjKhsRUjQlLB0SUzNOEWJJKy8GKi0gdDU3KC\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMBEAAgECAwUGBgMBAAAAAAAAAQIAAxESITEEQVFhcRMiMoHR8CORobHB4RQzQkP\/2gAMAwEAAhEDEQA\/AP2alKUiKUpSIpSlIiuVrQ2grcUEJSMlSjgCqi96mh2bLRy9J4chpPV2ZPVVXb7ZK1Qyi4XaWr2ZZJajMqwnAJG\/07e+rhMrnSc7VxiwJm326ybM1jb2XVMREOzXRsA0PdJzjGf2BqOdXTWUdLKsEptrGePfAHmmtBEgQ4COCJGbZGMHgTgnxPM1zcloatcpbnwJZWT4YNSCulpQpWsWL26D1ncOYxPiokxl8ba+R+or3qh0YHP8NslZJBWvgyc7Zx9c1fVVhYkTek5emrHeIpSo0m4Q4jiG5EhDa1\/Cknc9+OzvqsuSBmZJpXxJCkhQ3BGRVRd9SwLSeiUovyOpls5IPf2VIBJsJV3VBiY2EuKrLhqG12z3ZEpJcxkNo95Xy5edUyYOoL8lTs+UbbFWNmUAhWO8c\/U+VfG29IWVIK3GZTo2yfvST4DYVoEG\/PpOVq7kXUBRxb0nt\/iuZPJTZ7O8+M\/zXNkj02+desJjVMiW07OkMRo6VhS2UAEqA6ts\/WuDru0IPClqUQBsUtpx9a9GdbWZwjjW8zn87ZOPTNSQw0WZipTJ79W\/0HvzmhpUeJOiz2y5EkNvJBwShWcePZUisZ6AIIuIpSlJMUpSkRSlKRFKUpEUpSkRSlKRFUuo76LPGShkByW9s2jnjvIqbdrpHtEFUp85xshA5rV1CqXTdqkSZK73dvfkubsoUPgT246u6rqB4jOatUYnsqep+g96Tzt2mzHhybldVdNMdaWohRz0eQevt+lTNFKUrTrfEc4cUB4Zqzu6iizTlDmI7h\/7TUDRyQnTEUj8RWT\/AKzVixZSTM0pLTrKq8D9xLus5rGWv2Fq2R+JUiasJCU8+Ec\/nj51oHXUMtLdcUEoQkqUo9QHM1mLE0q\/Xp6\/SEENNHo4yCdhgc\/nnxJ7Kqgt3jumm0EkCkurfbfNFBiphQWYqNw0gJz29pqRSqLUeoUWhkR2CFTHR7gJGEA\/iOagAscpq7pSS50E+XzURhui325v2mevbhSMhvx\/b1qplafZg2aZPu8gPz3mzwla9kq6gO08qh2qcYClt2qObjdH93X8HhRk8h2jPM7CpVz0\/KNpk3S9TVvSkIyhtJ9xvJG39ht41uBhNp5bOawLEX16D1M4tk293a3MW628TDTSOF2WrY8+QPd3b+FTFGy6RAQlszbkrcda8n\/b9fGolvul0n22NarKyUdG0EvSl7BGezs+vYKv7NpuLaiXlqMmWs5U+4N893Z9ahiBr8peirOAVzPE6DoJWG0X6\/EKusoQ4x39na547\/7k+FW8PTVohJHRwm1qA+N0cZPrVoSAMk4ArNTdQSrlJVbtPJDjg\/mST8CB3fv6VQFmyGQnSyUqPebMnzJ6S6fuVugupYekstOKOyM7+JA5eNersOJJSeljtOhY34kA5FZK7aajWvTcuU8tUmaeAl5ZOxKgDj16609mJNkgEnJMZv8A2ioIAFwZanUdnKVFAyvKS56a9gBuNiUuPIaypTYUSFjmQB5cuVXNluYu9ral8PApWQpI6iDj+\/nUqS8mNFdfV8LSCs79QGaodCsqbsBWrk6+pSdurAH1BoTiW5kBRTrBU0INx+Zo6UpWc64pSlIilKUiKUpSIpSlIivilBKSpRAAGST1V9rMavnuOhmyRN5EtSQrB5JzyPZk48gasq4jaZVagpoWMhIcRqG5P3eaVJtdvz0afzEb8u\/YnyFWWlDOme13WYtwJlL+6aUTgJGdx3b4HgarrpHS5Jg6UgYDaQFyVhIz25PfjJ8xWvZZbjsoZZQENoGEpSNgK0c2Fvdpx7PTJqEndrzP60ldqZ0M6cmqJxlvh9SB+td6dbLWn4KVcyyFc889\/wBaga3c4NPKTnHSOpT48z+lSp9zasVhbdUEqWltKG28\/EcAf3qtrqAOM2LAV2Y6AfmV+ppzs6U3p+Ccuvke0KAP3adiP3Pd41oIkRi3w24zCeBpoYAJ8yax1unR7BHVMlky7vNHEG0nKkpOCArs337eVSxar9qE8d1kexRTv7O3zI7x+\/pViuVt0xp1SWLWux3cBzO6SbzrKHAyzDxLf7QfcT4nr8B61AtumH704bre3V5ePEGk7Ejqz2DuFeMG0QrnqJTEWNw22DstW\/3yx2nx+Q763NGIQWXWKaNtDFquYGg3fuR40SLb4\/Rx2m2GkjJwMeZNYvUd6k3qPITBSRbYxT0rh26Q8QA8snl51aXiS9fLuLFDcWhhG8t1I5d36eJ7q41WxHtumWbfEb4Q46lKUp5q6yT29VSgsRfUyNoYvTYJko+p4dJd2FhuPYoSW0JQFMIUrh61FIJPrU111tlpTrqwhCBlSlHAArmMz7PFaZ\/+NAT6DFZe4uL1PfjaWHimBGHE+ts\/Efod8DyJrMDESZ1M\/ZIABnoBOX5szV0ow4HHHtqDh54jdzu\/t61pbfbotsiiPEbCEDmetR7Se2vSJEYgxkRozYbaQMACvajNfIaSaVLCcbm7H3YSi1m5waafT+dSE\/8AcD+lWltR0Vsit5KuFlAyevCRVDrkldtixknCnZIx6EfqK0a1tx2FOLUENtJJUT1ACh8AlVzrueAH5MoNZTCILNtZUenmuBAA\/Ln98D1q7gREQYDEVG6WkBOe3vrO2Jty+3t2\/vpKWmj0UZOeWB4d58ya1VS2QCyKHfY1eOQ6fuKUpWc6opSlIilKUiKUpSIpSoN2uC7bDD7cRyUorCejb5+PI1IF8pVmCi5kmTIbiRnZLyuFtpJUo9wrD2uWG1TtUzwOMqLcZB61kch3AYHhnsrnUWpJNziC3iA9FKiFrSvJK0jPVgbZGfKobU1Ut6EEW2Q9AgpADDeSFL5lRIGMkmuhEIGc8mvtKvUGE6adePlNXpW1uR4y7jMJXMme8pSichJ3APf1+laCswNTXhZwjTUlJ7VFWP8AbXhL1FqNmKuSbMhhpPNTgJKe\/GR9KzKMxuZ1JXpUkst8uRnrrtafYYbK1cKFyMqPYACM\/OqmULhrG8FcIKREjnDbi9gjlk+J548KrH7jL1HcWG50ttlGcBSvdQ2Os8638CTZ4UNuNFmxA22MDheTues860Pw1HGcq22qoxvZcuptOLRpyDaBxoR00g\/E84Mq8uyvDVN0VEgiFGBVLm\/dthPMA7E\/PA76txMinlJaP\/7FYiNe4Ei\/vXq4u4SyOCMykFR8eXeTvjc1moLG5nVWZKSCmhAv7JmtsdrRaLW1FG6\/icVjmo8\/0HlXjqK8i0QMt4VKePCwjGcnbJ8s\/SqtWqbnOTm1WdZQRnpn9k8vID1qpt9vuerpKp8mWWEMqAQoJOx54SOrHb4VITPE8o+0DAKdAG+6aGxRYun7YFzpDbUmSOkdLqwD4b88Z9SarLlcod+1JaosZ7pWGllayAQCeeN+fL5mrCNoq1tqDklT0tz8RcXgE9u2\/wA6habjMP6nuEuMwG48cdE0Ep4Rnl+h9akFc2lWWoAlIgAE9TlnLjUt0NrtDi2zh937trHPJ6\/Ib+OK605azarWlDh4n3T0jyt8lR6t99h+tU5B1FrHBwqFbBnY5Clf3I9E1rCQBknAFUburhnTT+JUNTcMh+TPtKpJ+rbVCJQl0yXM44GRn58qhfa2pbmSINrTEbPJb53G\/PfH0qAh1lm2mmDYZnlnOtW+9OszWAeKTnHbun9641HMeuk9rT0BYClnifcB2SBn3T9fQVQaibvKZ0RqdNRIlK3abY2LZJGMYA3JHyrX6csn2PDUXiFy3jxOr5kf9OeutTZVBnEpatVdQLA2v0tp5yziRGYMRuKwnhbbGEjOa9qUrnnqAACwilKUkxSlKRFKUpEUpSkRXK1pbQpazhKQST2CuqoNZXH2KyKZSrDko9GMfl\/F8tvOpUXNpnVcU0LndMjIuD14vb62EhTsr7hntQknBPLsyDnqUa\/QbXb2rXbmojQ2QPePPJO5NZTQlq43XLo6nZGW2c9v4j6beZrb1rVIvhE4thpnCar6mKy16ub93mKsNqAVxbSX+aUJ6x+\/pUjUF7eRITZrYOOc\/sVA\/wAoEfXG\/cN6nWSysWWHwAhby93njzUf2FVAwjEZs7Gq3ZroNT+Jl4Gn7e7qp63ltTsaKwOMqURxL26xy3PLuq\/Vo6xqOREUnuDq\/wB6iaP\/AM5Iul0I\/qH+FJPUBvj5j0rT1Z3YG15ns1Ck1PEVGZO6fn+p9NwrWlhcN5zpH18CWVkHPLcHbA9eYq3b0Fbeib6V+T0gSAsoUkAnrIymiwLrrxKCniZtzeeW3Fz+pH+mtTRnYAC8rS2ak7u2HK9h5azAah08xamY7cSRJeekudG22pQwR\/wgedWzehIiUAGdKSce8EqGM+lfIaV3zWL0xSsxbd923g7FW\/65PpWqozsABeKOzUnLPhy0HlMXeNP\/AGPbXZgvEvjRsgZO5PVtUdqwzrfp03BN4kRB0XSlhGQCTy3ChuduqrK6rN+1JHtTYKosM9JI2OCrs5dm3mavbrbUXaCYbjq221qBUUcyAc4\/5mpxkAXlBs6OzFBpkMzrMpZLLfF25MyHdEse0kuFKhkqOcZJ3z20u1m1ZLb4HpCZKEjHAy4Eg+IOM+dbRlpEdhtlsYQ2kJSO4DFelV7U3vNhsSYMJJ+cxdru0KwnopljdgLIwXsFfF5nfq6qubjqm3xLZ7ZHeRJUvZtCVb5x1jmPOrG5SYkWA67OCCwB7yVAHi7sHnX59FirYnQbuuM21HkSvcZPIDbffq548PCrKA+ZmVR6mzjApB8tOeUlsQ5idV2164uccqUrplN8i2N8D5curFfoFZZg\/aOv3XkHibgtcBV1BWMY9VK9DWpqtQ3tN9kQKGtxilKVlOyKVytaG0FbighKRkqUcAVSzdX2iGeBDxkuZxwsDi+fL51IUnSUeoiC7G0vK5WtDaCtxQQlIyVKOAKy32xqS7D+G25MNpQBDr2558xnb5Guk6QkTVdJeLq\/IOT7jZ2Hhn9BV8AHiMw\/kFv61J56CT5urbPC4k+09O4n8DQ4snx5fOoB1Hep4ItVkWE9Tj\/I\/QdnXV1Bsdst2DFhtpWOSyOJXqd6n0uo0EdnWbxNbp6mZj7O1XN\/qLozEQfwtDcdfUPLnU21afct8v2p+6SpbnCRhaiEnPaMnNXVKgudJZdnQHEbk8yYr811Zcjdb2WWfebYPRN4\/ErO59dvIVtNSXP7Ls7rqF8Lzg4Gt98nr8udYW12xQn2lbo\/qngoJP5EqH1wa1oi3eM4tvcsRSXz\/E\/R7dDRb7exEbAAaQBt1nrPmcmqu+aiTBWIMBPtFwcPCltO\/Ae0\/tXhdtQuyJBtVkHTS1bLdT8LQ6zn9eqpli08xZ2+kUemluD7x47+IHd9aztbNp1Fy\/w6Og1PDkOc5sFh+zQuXLX009\/d1w78Od8CpV9lex2OY\/tkNEDPadh8zVhWZ1c6ZbsGytKHHJdCljsSNs59fSguzZy1QCjRIX2TJulI3s2nIoIPE4C4c95yPlirmuGm0stIaQMJQkJSO4V3VCbm82ppgQLwlBpi3Sozk+bOa4JEl87ZB2BPWO8n0qZqGebbZJD6FFLhTwNkDko7Z8uflVnWY1YfabhaLd8SXn+JaeewIGceBVVx3nzmFQdjQIX2TJ+mLYLZZWkkDpXh0jh7zyHkMfOu9QXgWiAVIHFJd9xhGM5V2+VWtebjDLykKdaQtTZ4kFSQSk9o7Kriu1zNOzK08CG0qtM2hVqtvE9vJkYW6SNx2JPbjJ9TVzSlQSSbmXpoEUKugilK4cdbZQVuuJQkc1KOBUS8zMiFM1JfQmXHcj26ErZKxguk\/vt4DvNVepLi\/MvDSba10zNvIA6NHGOM9w6tgB4HFWmpNVRmYKo9tkodkOHhUpG4QnG5B5ZqusUy6R7eI1ns5UVHK5D+wUeXcNtus10qDa5E8eqULGmGuTmSM+gymi05ZTZ4Kg8oLkvq43VfQZ68b+pqbLusCD\/VTGWj+Uq97051QfYWobkj+JXfoEKG7TI7uRxgfWpsTR1njEKcaXJXnJU8rPyGBWZw3uxnYhqBQtNLDn6CeD+tYRWWoEaRNc6ghPCD+vyryEjVtz\/lR2bc2T8S\/i59+T8hWlZjsRkcDDLbSfyoSEj5V6VGJRoJbsajeN\/ll+5mGtHGQoO3e5PzFjB4AohI7snJPyq5h2a3W8J9mhtIUnkvhyr1O9TqVUuxmiUKaZgZxSlKrNopSlIilKUiYy8Nu6g1a1bBxeyxsFwjOMc1f+Oa61fEW9eLSyy50Bdy0lQ24dwNsePKthgZzjes7rWKpdpbmtbOQ3QsHPUdvrj0rZHuwE8+vQtSdjmSb+Q3S1tVoiWeKGYyNz8bh+JZ7\/2qdXjEkJlw2ZKPhdQFjzGa9qyN75zuQKFAXSKztpttwfvj93urKGlgcDDYUFcI5Zz4E+OTWipQGwMq9MOQTuilKVE0isvFT9sa0el4PQW5PRJ4k817g\/Mq9BWhkTYkQZkyWWf\/ALrCfrVNJ1nZ45wypySo9TSMb+JxV0BzsJzV2p3GNgLG80FKy4vuoZ4\/h9l6JJ\/G+f3x30Ni1DPH8QvXRJP4GB+2O6pwW1MfyMXgUn6D6y+l3ODBB9qltNEDOFKGfTnVM\/rWBx9HCYkTHDyCEYB9d\/lXpE0ZaIyuN1Dklec5dVt6DGfOrqPGjxW+jjsttJ7EJAp3BzkW2huC\/U+kzYk6sugyzGatrR\/E58Xocn5Co0\/TsaDFXcL5cpM3gxhAVjiOdhvk+mMb1qp06NboqpMpwIbT6k9gHWazcOJJ1VORcrggt29o\/wCXjn8fee761ZWOugmFWkt8NyzHjoOdtJ80hYEISbrJYCVO7x285CEHr37QfTxrW18AAGAMAV9rNmLG5nZRpLSQKsUpSqzWKUpSIpSlIilKUiKUpSIpSlIiotzSpy2SkIZL5W0pPRhXCVZGMZqVSgkEXFpgbXdr9a1JsjcRlTySShD5wcHfAPEAeurf7R1gjddnikf9Kh\/5mod5j3a\/y1Mt2ZDIaPCiS4oggcXMHbbblg4ya6j6Qu64\/Ryb440k5y2hSlp+ZFdJw6m08hBVBKpiIGm77ieitaSIL\/Q3O1lpWP8A23AfHb+9er+vbchGWY77isZwoBPZtnf\/AIK8mP8A0\/iJUDImvODsQkI\/erc6Xsqo4YMBvhA2UCQr\/VzqpNKbIu2kHMDr+pWIu2p7onig21qK0TgOOqyR64+lBp6\/zR\/EL6pAI3QwDg+nCK6XopplSnLbcpURZ5YVkfLB7a+ez6vgfypMeejOyV4B+ePr1UuP82kYH\/7Bj0OXyFp7xtE2hlXE8HpKs5+8XgfLFXES3QoKQIsVpnAxlKQCfE8zVB\/i2ZDOLnZJDIH40ZIx5jHzqVH1nZXx7zzjO3Jxs7emaqwqHWbU6myqe7YHnl95fUqpTqiyKOBcG\/NKh+lRJetbUx7sfpZbnUG04Hqf71QIx3Tc7RSAuWE0NVl5v0Oys8TyuN4\/Ayk+8f2HfVQZeqL0FJixk21gnZbuQsjz\/QDxqfadMQ7csSHiZcsniLzu+D3Dq8edWwhfFM+1eplTFuZ9N8r4Vll36Um533KWx\/JicgB3\/LvPXWqSkJSEpAAAwAOqvtKqzEzWlSWmMtTqeMUpSqzWKUpSIpSlIilKUiKUpSIpSlIilKUiKUpSIpSlIilKUiKUpSIqHMt8KQ2tb0Nh1QSSFLaSTy7xSlXTWc+0+CUUq2wExllMKODtuGk9vhV\/DhxY4UpiMy0VLVkoQE53PZSlav4ZwbN\/ZJVKUrnnrxSlKRFKUpEUpSkRSlKRFKUpEUpSkRSlKRFKUpE\/\/9k=",
    "razonSocial": "SERVICIO AGRICOLA Y GANADERO ",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "SILBERTO.CABELLO@SAG.GOB.CL",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIGURACIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+5699095615",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:59",
    "ubicacionGPS": "LatLng(lat: -30.6066047, lng: -71.2086369)",
    "horaLlegada": "15:48",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


19/05/2026 15:59:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61308000

[19/05/2026 15:59: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('61308000', 'TO2976', 1, 20988335, 10525, NOW(), 
				'08:00', '15:48', '15:59', 15, 'se configura servidor smtp,se reconfigura en 5 pc, se deja toner
01 iton2956
', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779220755.png', '', null, 'COMPLETADO','LatLng(lat: -30.6066047, lng: -71.2086369)' )
				
[19/05/2026 15:59:15] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200368

19/05/2026 15:59:15 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200368'                    
				WHERE idllamado = 12655			
				TO ENVIO: SILBERTO.CABELLO@SAG.GOB.CL, tecnico@dsprint.cl


19/05/2026 15:59:16 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12655			
				
19/05/2026 15:59:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


19/05/2026 15:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:59:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12655
            GROUP BY l.idllamado;
            

19/05/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 = 12655
                

19/05/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 = 12655
                

19/05/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 = 12655
                

19/05/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 = 12655
                

19/05/2026 15:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

19/05/2026 15:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12655
                

[19/05/2026 15:59: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;
                

19/05/2026 15: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 = 12655
                

19/05/2026 15:59:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12655
            GROUP BY l.idllamado;
            

19/05/2026 15: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 = 12655
                

[19/05/2026 15:59: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;
                

19/05/2026 15:59:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12655
            GROUP BY l.idllamado;
            

19/05/2026 15: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 = 12655
                

19/05/2026 15: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 = 12655
                

19/05/2026 15: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 = 12655
                

19/05/2026 15: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 = 12655
                

[19/05/2026 16:18: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;
                

19/05/2026 16:18:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:18:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:18: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;
                

19/05/2026 16:18:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:18:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:18:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

[19/05/2026 16:18: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;
                

[19/05/2026 16:18: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;
                

19/05/2026 16:18:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:18:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:18:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:18:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:18:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:18:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:18:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:18:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:18:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:18:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:18: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;
                

[19/05/2026 16:18: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;
                

[19/05/2026 16:18: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;
                

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

[19/05/2026 16:18: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;
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

[19/05/2026 16:18: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;
                

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:18:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:18:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:18:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16: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;
                

19/05/2026 16: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 = 12653
                

[19/05/2026 16: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;
                

[19/05/2026 16: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;
                

19/05/2026 16: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 = 12653
                

[19/05/2026 16: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;
                

19/05/2026 16:18:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16: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;
                

19/05/2026 16:18:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16: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;
                

19/05/2026 16:18:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16:18:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16:18:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:18:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:18:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

[19/05/2026 16: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;
                

19/05/2026 16:18:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:18:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:18:39 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16:18:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:18:39 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16: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;
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12652
                

19/05/2026 16:18:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:18:39 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:18:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:18:39 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

[19/05/2026 16: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;
                

19/05/2026 16:18:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

[19/05/2026 16: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;
                

19/05/2026 16:18:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:18:39 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12653
                

19/05/2026 16:18:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:18:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16: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;
                

19/05/2026 16:18:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:18:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16: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;
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

[19/05/2026 16: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;
                

19/05/2026 16:18:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:18:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

19/05/2026 16:18:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:18:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

[19/05/2026 16:18: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;
                

19/05/2026 16:18:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:18:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:18:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:18:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16:18: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;
                

19/05/2026 16:18:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:18:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16:18: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;
                

19/05/2026 16:18:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:18:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:18:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:18:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:18:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:18:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:18:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:18:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:18:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:18:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:18:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:18:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:18:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:18:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

[19/05/2026 16:18: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;
                

[19/05/2026 16:18: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;
                

19/05/2026 16:18:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:18:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16:18: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;
                

[19/05/2026 16:18: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;
                

19/05/2026 16:18:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

19/05/2026 16:18:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16:18: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;
                

19/05/2026 16:18:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16:18: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;
                

19/05/2026 16: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 = 12652
                

19/05/2026 16:18:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:18:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16:18:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:18:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16:18: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;
                

19/05/2026 16:18:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

19/05/2026 16:18:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16:18: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;
                

19/05/2026 16:18:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:18:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

19/05/2026 16:18:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16:18:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:18:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:18: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;
                

19/05/2026 16:18:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:18:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16:18:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:18: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;
                

19/05/2026 16:18:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:18: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;
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:18:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:18:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:18:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:18: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;
                

19/05/2026 16: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 = 12653
                

[19/05/2026 16:18: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;
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

[19/05/2026 16: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;
                

[19/05/2026 16: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;
                

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16: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;
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:18:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:18: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;
                

[19/05/2026 16:18: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;
                

19/05/2026 16:18:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:18:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:18:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:18: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;
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:18:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:18: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;
                

19/05/2026 16:18:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:18: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;
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:18:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:18:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:18:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:18: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;
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:18:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

[19/05/2026 16:18: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;
                

19/05/2026 16:18:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:18:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:18: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;
                

19/05/2026 16:18:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:18:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:19: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;
                

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

[19/05/2026 16:19: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;
                

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:19: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;
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

[19/05/2026 16:19: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;
                

19/05/2026 16:19:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:19:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:19: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;
                

[19/05/2026 16:19: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;
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

[19/05/2026 16:19: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;
                

[19/05/2026 16:19: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;
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:19:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:19:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:19: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;
                

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:19: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;
                

19/05/2026 16: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 = 12653
                

[19/05/2026 16:19: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;
                

[19/05/2026 16:19: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;
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

[19/05/2026 16:19: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;
                

19/05/2026 16:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:19: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;
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:20:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:20: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;
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:20:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:20:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:20:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16:20: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;
                

19/05/2026 16:20:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:20:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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 = 12652
                

19/05/2026 16:20:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16:20: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;
                

19/05/2026 16: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 = 12652
                

19/05/2026 16:20:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16:20: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;
                

19/05/2026 16: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 = 12652
                

19/05/2026 16:20:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

19/05/2026 16:20:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:20:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:20:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16:20: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;
                

19/05/2026 16:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:20: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;
                

19/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

[19/05/2026 16:20: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;
                

[19/05/2026 16:20: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;
                

19/05/2026 16:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:20:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

[19/05/2026 16:20: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;
                

19/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

[19/05/2026 16:20: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;
                

19/05/2026 16:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

[19/05/2026 16:20: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;
                

19/05/2026 16:20:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:04 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16:20: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;
                

19/05/2026 16:20:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

[19/05/2026 16:20: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;
                

19/05/2026 16:20:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:04 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:20:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

[19/05/2026 16:20: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;
                

19/05/2026 16:20:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:04 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16:20: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;
                

[19/05/2026 16:20: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;
                

19/05/2026 16:20:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:04 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:20:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:04 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:20:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:04 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:20:04 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:20:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

[19/05/2026 16:20: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;
                

19/05/2026 16:20:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16:20: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;
                

19/05/2026 16:20:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:20:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:20:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16: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;
                

19/05/2026 16: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 = 12652
                

19/05/2026 16:21:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

19/05/2026 16:21:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16: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;
                

19/05/2026 16: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 = 12652
                

19/05/2026 16:21:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

[19/05/2026 16: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;
                

[19/05/2026 16: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;
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16:21:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16: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;
                

19/05/2026 16: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 = 12652
                

[19/05/2026 16: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;
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16:21:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16:21: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;
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16:21:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16:21: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;
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16:21:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16:21:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 16:21:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 16:21:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16:21:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[19/05/2026 16:21:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 16:21:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

[19/05/2026 16: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;
                

19/05/2026 16:21:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

[19/05/2026 16: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;
                

[19/05/2026 16: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;
                

19/05/2026 16:21:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16: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;
                

19/05/2026 16:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

19/05/2026 16:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

[19/05/2026 16:21: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;
                

19/05/2026 16:21:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:21: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;
                

[19/05/2026 16:21: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;
                

19/05/2026 16:21:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:21: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;
                

19/05/2026 16:21:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

[19/05/2026 16:21: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;
                

19/05/2026 16:21:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:21: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;
                

[19/05/2026 16:21:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 16:21:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:21:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 16:21:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

[19/05/2026 16: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;
                

19/05/2026 16:21:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16: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;
                

[19/05/2026 16: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;
                

[19/05/2026 16: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;
                

[19/05/2026 16: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;
                

[19/05/2026 16: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;
                

19/05/2026 16:21:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16:21:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16:21:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:21:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16:21:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:21:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16: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;
                

19/05/2026 16:21:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:21:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

[19/05/2026 16: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;
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:21:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                
[19/05/2026 16:21:32] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[19/05/2026 16:21: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;
				

[19/05/2026 16:21: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;
                

19/05/2026 16: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 = 12652
                

19/05/2026 16:21:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

[19/05/2026 16: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;
                

19/05/2026 16:21:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[19/05/2026 16: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;
                

19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16: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;
                

19/05/2026 16:21:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

[19/05/2026 16: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;
                

19/05/2026 16:21:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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 = 12652
                

19/05/2026 16:21:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

[19/05/2026 16: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;
                

[19/05/2026 16: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;
                

19/05/2026 16:21:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16:21:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

19/05/2026 16:21:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

19/05/2026 16:21:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16:21:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

[19/05/2026 16:21: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;
                

[19/05/2026 16:21: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;
                

19/05/2026 16: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 = 12652
                

19/05/2026 16:21:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16:21:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

[19/05/2026 16: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;
                

[19/05/2026 16: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;
                

19/05/2026 16:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[19/05/2026 16: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;
                

[19/05/2026 16: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;
                

[19/05/2026 16: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;
                

19/05/2026 16:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

[19/05/2026 16: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;
                

19/05/2026 16:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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 = 12652
                

19/05/2026 16:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

[19/05/2026 16: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;
                

19/05/2026 16:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

19/05/2026 16:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12652
                

19/05/2026 16: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 = 12652
                

[19/05/2026 16: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;
                

19/05/2026 16:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16:21:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12652
                

[19/05/2026 16: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;
                

19/05/2026 16: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 = 12652
                

19/05/2026 16:21:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

[19/05/2026 16:21: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;
                

19/05/2026 16:21:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
19/05/2026 16:21:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

[19/05/2026 16: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;
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

[19/05/2026 16: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;
                

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

[19/05/2026 16: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;
                

19/05/2026 16: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 = 12653
                

[19/05/2026 16: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;
                

19/05/2026 16:21:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16: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;
                

19/05/2026 16:21:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:21:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16: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;
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:21:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:21: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;
                

19/05/2026 16:21:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:21: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;
                

[19/05/2026 16:21: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;
                

[19/05/2026 16:21: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;
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:21:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:21:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:21: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;
                

19/05/2026 16:21:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[19/05/2026 16:21: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;
                

[19/05/2026 16:21: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;
                

19/05/2026 16:21:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

[19/05/2026 16: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;
                

19/05/2026 16:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16: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 = 12653
                

19/05/2026 16:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 16:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

[19/05/2026 17:18: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;
                

[19/05/2026 17:18: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;
                

19/05/2026 17: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 = 12632
                

19/05/2026 17:18:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12632
                

19/05/2026 17:18:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12632
                

19/05/2026 17:18:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12632
                

[19/05/2026 17: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;
                

19/05/2026 17:18:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:18:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:18:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12632
                

19/05/2026 17:18:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

[19/05/2026 17: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;
                

19/05/2026 17: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 = 12632
                

[19/05/2026 17: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;
                

19/05/2026 17:18:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

[19/05/2026 17: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;
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

[19/05/2026 17: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;
                

19/05/2026 17:18:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17:18:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:18:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:18:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:18:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:18:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12632
                

[19/05/2026 17:18: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;
                

19/05/2026 17:18:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12632
                

[19/05/2026 17:18: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;
                

19/05/2026 17:18:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:18:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:18:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:18:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

[19/05/2026 17:18: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;
                

19/05/2026 17:18:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:18:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:18:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:18:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:18:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:18:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:18:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

[19/05/2026 17:18: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;
                

19/05/2026 17: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 = 12632
                

[19/05/2026 17:18: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;
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17:18:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

[19/05/2026 17:18: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;
                

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

[19/05/2026 17:18: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;
                

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

[19/05/2026 17:18: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;
                

[19/05/2026 17:18: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;
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17:22:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:22:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17:22:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17:22:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17:24:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:24:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12632
                

19/05/2026 17:24:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:24:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:24:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:24:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:26:05 - logentry: =========================================
FECHA: 19/05/2026 17:26:05
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-vt1iDi_-G7MIEA-PJgKn7UIRMfKH-iMwN0w6XZyu_BocItFQ-M+
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76662759",
    "serieinterna": "EXTO2086",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "251884",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\ncambio de repuestos\nlimpieza general, pruebas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12632",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC7ALEDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA9EAABAwMCAggEAwUIAwAAAAABAAIDBAURBiESMRMiQVFhcYGRFDKhsSNCwRVDctHwJCUzUoKy4fEWNJL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIEAgkCBgMAAAAAAAAAAQIDERIhMVFB0QQTIjJhcZGx8IGhFCMzcsHhQrLx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREARFU6kuwtFpfK0jppDwRDxPM+gz9F1K7siE5qEXJ6IgT6lnfqmK1UTI3RB\/BK5wJJPN2McsAEe60qwuh6KR12qqqYOzA0sJJ\/MTvv28it0p1Ek7Iz9EnOpBznxYREVZrCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCw11rRc75U1Z61HaGEt5YdJnA93Y8w1ae\/wBybarPNUZ\/EI4IxnGXHl7c\/RZOWkfFQWyyBuai4SioqXFwzjO2++2Mn08Srqa4nn9MnfsLz5L1NFpCi+EsMUjh+JUkyuONznl9Me68ajvtRbamjpKERvqZ3bskaSMHYcjnc\/ZXE0sNBRPleeCGBmT4ABY\/TbZr9qSa71DepD8vcDjDQPIb\/wDa5HNuTJVG6cYUIav42bKpqYqOmkqJ3hkcbeJziq+w3sXynlmbTuhbG\/hGTnPb9se6yWrbzLcamSngeRR07+B3c9+\/vyWw0\/bha7NBTkfiEccn8R5\/y9EcFGF3qdp15Va7jHur7lkiIqjaEREAREQBERAEREAREQBERAEREARFHrqtlBQzVcgJbEwuIHb4IcbSV2Zy6cF81bTWwOLqekaZJwOROxx\/tHqV6sGbvqSvvLmfhRnoYDnbu+3+5VkNRLQ6ZrrtUnFXdJCyMjng5z5D5vYeC0togjsOnGfEEt6KMyy555O5H6K+WSsvLmeZS\/MqYpfuftH7ZlLru68EUdridu\/Ek2O78o99\/QLnJ01h07Ba6aMuuVw3eA3doI39RsPcqqtn996ifcK1wbDGTPO5xwGNHyjPsPRW9rmM09w1XWABkbS2mad8dgHnyHjkqdsKS+XKFN1Zue+S8EtX84nGhtYdqCltMfDJBbvxqh+NnyHf1\/KAO4HxW5We0dRPitr7hO7jnrnmRzjzxk49zk+q0KpqO7seh0SGGnitr7cPsERFWawiIgCIiAIiIAiIgCIiAIiIAiIgCzGrZZqyejsVMcPq3B0h7mg7bd2xP+laZzg1pc4gADJJ7FiaKva+ou2ppXnhjBhpm95Ow+mPclWU1ncydKksKhvr5LUkyNbd9UU1thGaK1NHF3FwwMbY7cD0Ka2uJcIrTE7d\/wCLOc8mjcD6E+gU7TFI222N9fUnEtQDPM4jGG7kfTJ9SshcKp80NRc3kCW4SFjB2iNuM9+MnhHPsI7VbFXl5GKtJwo56yzflt7IW+Conp47fS7T3CQOkc0fLEDgZ8M5JHgO9aLUEMc89s01SFzWZDpOHfhYNhnxxk+y+6Ot7KS3SXirDWue3qOcPkjaNz64+g7100tCbhXVt+mb1p3lkIP5Wjn9gPQpKWbe3uco0ngjHjL\/AFXP+TSxRMhiZFG0NYxoa1o7AOQXtEWY9kIiIAiIgCIiAIiIAiIgCIiAIiIAiIgKTVlxNvsUvA\/hln\/CZ378z7Z+ioX0IqJ7VpsEBsLRPV4yCHEZI88HHLtCkX2uZU6mjjf16W2RmeVgBOXDfHvwjflkqXpGkeYai91hHTVjiQ47cLM7+QJ+gC0LswueXN9dXceGn0Wvq8j7q6plMFNZqNuJaxwbgbANB5eG+PQFZqGhF71FHQQOLqamaIw85\/w2czz7Tn\/6UyW49PLc9Q4AA\/stJkbgkYz58OT6q50ZbBQWk1swDZKkceT+Vg5e\/P1C7fBEqcfxNbw\/haerPmq5nMoqWx0LQ2Sqc2MMGdmDYDyzj0CvqCiit9DDSQ\/JE3hz3ntPqclZ2xF171FVXp2TDB+FT+WPLuOT\/EtUqp5JRN9BKcnV3yXkuYRFwlraSB3DNUwxnufIAqzS2lqd0XKGpgqW8UE8cre9jg4fRdUCd9Ai4VdZTUMJmqp2QsHa44z5d6pItVuuFayntVumqWcQEkruqGjO59u\/Ckot6Fc60IOzeZokRFEtCIiAIiIAiIgCIiALlU1EdLTS1EpxHEwvcfADK6rM64uIprU2jY4iSpduAfyDc\/XH1UoxxOxVWqKnTc9jNUbJb1Uim4iZrhOZJ3cPyRt7iR\/Fy22A8tVqqpFDZY7fSN4ZKrEETG\/5dgR7YHqo2h7X0FE+4ytxJUdWPbkwfzI+gUeOrbctRVd4lz8Da2ER8+s7s5d5yfZXyd5eCPMpxcKOes\/suL\/n6keot0dRdbdpuJwMVI3jqXA\/M47u\/kPPwV9qq4G3WUwwDEtR+DGGjkDzx6beqobFeaK3Q1V2uE5krKx5xFGMnAP037+5cnSXHWV4a6DFHHSDLTxHMe\/P+Lbw5I4u+eiEakVTah3paLZcPsaKkq7dpm0U9JWVMcczGgvY3rO4judhv6+Chu1TcLi7gslpklGSOllGG\/yHqVOt2lLZQ9eSP4uY7uknHFv4Dl+qugABgDACqco3vqbY06zilfCtlr6mYbY7\/ch\/et3MMZ5xU\/aO0HGB913i0TZ2MDZGzTEDm6Qj7YUy5aktlsaRLUCSUfuoiHO9e71WeuF8v9Vb5ayOIW2iaNnu+eTOwAz9wB5qSxvTIpn+Gp6rE\/X+kc7sy3adv9H8A59OQeKoHE5wDewY7Tz+inyX68Xl3RWShfDCdviZhj27PuV50vpyGSlbc7kz4iafrsbLvwjsJ7yee61gAAwBgBJSSdtWhRo1JJyvhTzsvmRnabSEUsgqLxVy18\/aHPIYP1+3kr+GCGmiEUETIo28msGAF0RVuTepsp0oU+6giIoloREQBERAEREAREQBYC6Mk1Nq91JC5xhg6hcPyNB6x9z9lqr1f6O0U7+OVrqnhPBE05dnG2R2DxWPsFpvlXFI+mkNJDUY6Sods548O3t7MZ71fTVk5Hm9LmpyjSWfF2NLqG80dptMlFTSsFR0YjjibvwDlv3YHesd09w+BgsjYhTsneCWEYdK4nYu8OWPIc1ZRWOibqqGgimfI2lb0tVK88yN8eA5Dn2ldrLM256lqr5WSRspqckMdIcAHk0DPgCf+1ONorIzVHOrNXy4WW3Esp7La9M2qaubEJqiNuGSTHPXOwwOXPwUrS1B+zLJ09S\/hkqD00jnn5QeWc+G\/qqDUd1\/8hrKehtTH1LIyXOaGkB7u\/yAzvtzVkNNXO7Oa+9V\/BE3HDS0\/wArR3dw+vmotPD2nqXwkutfUxulktvF3JVw1hQUzuhowa6oJw1sXy58+30yopodSX5g+NqGW2mcN4oweJ3mM\/c+iv6G2UVtj4KSnZFtguA6x8zzKlqvEl3UaupnP9WWWyyXMqrZpy2WsNdFAJJRv0svWdnw7vRVFXnU2pI6WMB9voHZmdsQ53d5Hl6FS9T3eSGNlrocPrKvqYHNjTtnwP8A2rGyWmKzW5lMzDpOckgGON39bLt2liepBwjOXVQVorXlzJ7WhrQ1oAAGAB2L6iKo2hERAEREAREQBERAEUC5XqgtTM1c4a7GRG3dx9FQmqv+pQPg2fs2hd+9J6zx9\/bHmpqDefAonXjF4Vm9l8yLq5ahtlqy2oqAZQP8KPrO\/wCPXCqRWah1AC2khFso3fvn56Qjw\/491PtelrdbCJCz4ifn0su+D4DkPuo2q9QRUFC+kppWOqpssIaQejHaT3FSja9oq5RUc8DnVdlsufIxlXRQvvYt9HI+YmURGV3N7ycE+WV+j1ddQ2SgaJpWRtjZwxsJ3dgYAAH8l+e2i31txr42W4dBJTsHHI92CCc78s9u3kFY3qxMp6qjojVzVdxq3jjkkOQ1vLOOffzPYVdNKTSbMHR5zpwlOEdfTy8SuZeauOjr3up+J9xcWyVBzgDtaPdXNs0nSQWv9qXd7nNEXS9CDwgDGRk88+Gy83SliuOpqGxwA\/C0bAxwaeQxl3rgAZ7\/AGVjquZ9XPR6foyA6ocDJjk1o5bd2xPoFxy0SyudhTSxSn2sOS8\/+n3RVuEdNPc3R9G6qcRG3\/KzP6n7BahcqanjpaaOnhbwxxtDWjwC6rPKWJ3PXo01TpqIUG73SG0W+Sql3I2Y3\/O7GwUqaaOnhfNM8MjYMuc47ALK0sT9W3h1bUNeLZSnEEbhtIfH2yfQLsY3zehGtUcbRh3npzJembZO6SS93Ek1lUNmkY4G9m3kB6LRoi5J3dydKmqccKCIiiWBERAEREARcKuspqGEzVU7IWDtccZ8u9Z6o1LW3IOjslPwRjZ1ZPhrG+Wdvf2UlFspqVoU8nrtxL2vudHbITLVztjGNm56zvIdqzz7re9QHgtFO6ipTsamXYuHh3emfNQIhYLdMau6XE3as58LMvbnz5H1PorH9tX67N4LRbfhYs4E82Nh4A7e2Vao2\/sxyrupk3bwjm\/q+BJodM221f224TiomBy6aoIDAe\/B\/VKzWFIyY09vglr5+wRDq+\/M+gXGLSMtW8S3u5TVbwciNjiGD3\/TCvIaSgtVO50MMNNG1uXuAA2Hee31UW1fPMshColaCUF6sy1w\/b1XbZau61bbdSNBPQxjrv7m+vLc+i+aUskdPSSXqtjaWhhdCx\/5QPzHPlt7rtG2TWF3ZUOYW2qkdhrXfvXeXt6eas9W1Io9NzNYA3pcRNHLnz+gKm2+7uURpxbdd5qOl+Pj5bEbRUbjbqm4TEcdVOXOPgPHzJUezSsuV9uN\/maBT0zSyFx7ABufPh\/3LtcZjY9FQ0zDieWMRNDdjxO3cR7lQb08WHSdNamuxUVAzIB3c3fUgJa7fiG+rjFP\/FXfm9DrpKISyV+oKw44i7D3HZo5uP2HopOmGvudxrb7M0jpHGOAO34W\/wBYHuoV0dJS2G2aepCDUVbWl+OwE5PoXE79wK1lBRRW+hhpIfkibw57z2n1OSozeTe\/sWUIXlGPCOb\/AHPkSF8JAGScAISAMk4AWRuVyqtS1rrRaHcNK3\/2KjsI\/l9\/JVxjiNdWqqa3b0W59uE82rK\/9mULiy3wuDpqgcn+A7+3HlnsWppqeKkpo6eFvDHG0NaPALhbLZTWmjbTUzMNG7nHm895UxdlK+S0OUabjec+8\/lgiIoF4REQBERAEREBmr7pOS83L4kVxjZwAcLhxcPPkNtuX1Xmn0NSAM+Mq56ng2AzwjG23b\/RWnRT6yVrXMz6LRcnJrNlfR2K10IHw9FEHD87m8Tvc7qwRFFtvUvjGMVaKsc6ieKlp5J5ncMcbS5zsE4A8llD8VrOq246a0Qu\/wBUp\/r2Wtc1r2Fj2hzXDBBGQQjWtY0NY0NaOQAwAuxlh8yupSdRpN9nbc8U9PFSU7IIGcEbBhrc5Wc1cfiqy1Wxoz00\/E4dmNh+p9lqFkrtUsZrWCWUjoqKldI4E7Zw4\/qFKn3rlfSrKmo8G0j3WkXjWMVM7Bpba3pJCeXFz3+nsVnb4+ovDqi9HIpmytghDgd278vbJ8SvVuqKqrjloqPBq7pKTPJnIZHvse7cuJ8Mc8q81BTx0Vpo9O0LeOWoeAM7E78zgY5q9dlpfPE82X51OUuGv14L6HTTULrpdqi+TDLGfg02R2AYJ5Ds29T3LTT1ENLC6aeRscbRkuccALMU1u1TaqZlHRzUksLMlpIAxknb9fVdItL1dxqG1N\/rTUcI2gj6rR4bY+nuqpJN3byNtGU4Qwxg8XG+SuRpqyv1dO6koQ6mtrTiSZw3f\/Xd7rS2620tqpRTUkfCwHJJ3Lj3krvDDFTxNihYGMaMBrRsF0UJSvktDRSo4Xjk7y35BERQLwiIgCIiAIiIAiIgCIiAIiIAiIgCwWrKSsivskjAHi4MbFEGnrflBHuOzv8AFb1ZaUftTXsceQYrfFxHA\/N5+bh7K2m7O5j6ZFTgo8W189CfYrNBp+3PlnLOmLeKeUcgAM48gq7TUUl2u9VqCoYQ0kx0wd2Dl9Bt6letR1kt0uEWnqB\/WeeKokDtmgZy0\/f2C0dJSxUVLHTQN4Y4m8LQjbSu9WRhCMpqMe7D3\/r3OyIiqNwREQBERAEREAREQBERAEREAREQBERAEREAX53Q3WsluNxbbYzJW18vUeOUbATuD6jnywv0RcYaOmp5JJIYI43yY43NaAXY5KcJKN8jNXoyqONnaxAsVkZZ4HF8nTVMpzLKRuT3Z54z3q1RFFtt3ZdCEYRwx0CIi4TCIiAIiIAiIgCIiAIiIAiIgP\/Z",
    "razonSocial": "TRANSPORTES MICHEA SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "JORGE ROSEMBLUT",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "SERVICIO TECNICO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56944731645",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R662\",\"id_control\":\"28712\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R734\",\"id_control\":\"28712\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R452\",\"id_control\":\"28712\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R742\",\"id_control\":\"28712\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R741\",\"id_control\":\"28712\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R844\",\"id_control\":\"28712\",\"cantidad_usada\":2,\"cantidad_asignada\":1}]",
    "horaSalida": "17:26",
    "ubicacionGPS": "LatLng(lat: -22.4392356, lng: -68.8696504)",
    "horaLlegada": "14:43",
    "horaDespacho": "15:04",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 19/05/2026 17:26:05
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-vt1iDi_-G7MIEA-PJgKn7UIRMfKH-iMwN0w6XZyu_BocItFQ-M+
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76662759",
    "serieinterna": "EXTO2086",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "251884",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\ncambio de repuestos\nlimpieza general, pruebas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12632",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC7ALEDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA9EAABAwMCAggEAwUIAwAAAAABAAIDBAURBiESMRMiQVFhcYGRFDKhsSNCwRVDctHwJCUzUoKy4fEWNJL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIEAgkCBgMAAAAAAAAAAQIDERIhMVFB0QQTIjJhcZGx8IGhFCMzcsHhQrLx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREARFU6kuwtFpfK0jppDwRDxPM+gz9F1K7siE5qEXJ6IgT6lnfqmK1UTI3RB\/BK5wJJPN2McsAEe60qwuh6KR12qqqYOzA0sJJ\/MTvv28it0p1Ek7Iz9EnOpBznxYREVZrCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCw11rRc75U1Z61HaGEt5YdJnA93Y8w1ae\/wBybarPNUZ\/EI4IxnGXHl7c\/RZOWkfFQWyyBuai4SioqXFwzjO2++2Mn08Srqa4nn9MnfsLz5L1NFpCi+EsMUjh+JUkyuONznl9Me68ajvtRbamjpKERvqZ3bskaSMHYcjnc\/ZXE0sNBRPleeCGBmT4ABY\/TbZr9qSa71DepD8vcDjDQPIb\/wDa5HNuTJVG6cYUIav42bKpqYqOmkqJ3hkcbeJziq+w3sXynlmbTuhbG\/hGTnPb9se6yWrbzLcamSngeRR07+B3c9+\/vyWw0\/bha7NBTkfiEccn8R5\/y9EcFGF3qdp15Va7jHur7lkiIqjaEREAREQBERAEREAREQBERAEREARFHrqtlBQzVcgJbEwuIHb4IcbSV2Zy6cF81bTWwOLqekaZJwOROxx\/tHqV6sGbvqSvvLmfhRnoYDnbu+3+5VkNRLQ6ZrrtUnFXdJCyMjng5z5D5vYeC0togjsOnGfEEt6KMyy555O5H6K+WSsvLmeZS\/MqYpfuftH7ZlLru68EUdridu\/Ek2O78o99\/QLnJ01h07Ba6aMuuVw3eA3doI39RsPcqqtn996ifcK1wbDGTPO5xwGNHyjPsPRW9rmM09w1XWABkbS2mad8dgHnyHjkqdsKS+XKFN1Zue+S8EtX84nGhtYdqCltMfDJBbvxqh+NnyHf1\/KAO4HxW5We0dRPitr7hO7jnrnmRzjzxk49zk+q0KpqO7seh0SGGnitr7cPsERFWawiIgCIiAIiIAiIgCIiAIiIAiIgCzGrZZqyejsVMcPq3B0h7mg7bd2xP+laZzg1pc4gADJJ7FiaKva+ou2ppXnhjBhpm95Ow+mPclWU1ncydKksKhvr5LUkyNbd9UU1thGaK1NHF3FwwMbY7cD0Ka2uJcIrTE7d\/wCLOc8mjcD6E+gU7TFI222N9fUnEtQDPM4jGG7kfTJ9SshcKp80NRc3kCW4SFjB2iNuM9+MnhHPsI7VbFXl5GKtJwo56yzflt7IW+Conp47fS7T3CQOkc0fLEDgZ8M5JHgO9aLUEMc89s01SFzWZDpOHfhYNhnxxk+y+6Ot7KS3SXirDWue3qOcPkjaNz64+g7100tCbhXVt+mb1p3lkIP5Wjn9gPQpKWbe3uco0ngjHjL\/AFXP+TSxRMhiZFG0NYxoa1o7AOQXtEWY9kIiIAiIgCIiAIiIAiIgCIiAIiIAiIgKTVlxNvsUvA\/hln\/CZ378z7Z+ioX0IqJ7VpsEBsLRPV4yCHEZI88HHLtCkX2uZU6mjjf16W2RmeVgBOXDfHvwjflkqXpGkeYai91hHTVjiQ47cLM7+QJ+gC0LswueXN9dXceGn0Wvq8j7q6plMFNZqNuJaxwbgbANB5eG+PQFZqGhF71FHQQOLqamaIw85\/w2czz7Tn\/6UyW49PLc9Q4AA\/stJkbgkYz58OT6q50ZbBQWk1swDZKkceT+Vg5e\/P1C7fBEqcfxNbw\/haerPmq5nMoqWx0LQ2Sqc2MMGdmDYDyzj0CvqCiit9DDSQ\/JE3hz3ntPqclZ2xF171FVXp2TDB+FT+WPLuOT\/EtUqp5JRN9BKcnV3yXkuYRFwlraSB3DNUwxnufIAqzS2lqd0XKGpgqW8UE8cre9jg4fRdUCd9Ai4VdZTUMJmqp2QsHa44z5d6pItVuuFayntVumqWcQEkruqGjO59u\/Ckot6Fc60IOzeZokRFEtCIiAIiIAiIgCIiALlU1EdLTS1EpxHEwvcfADK6rM64uIprU2jY4iSpduAfyDc\/XH1UoxxOxVWqKnTc9jNUbJb1Uim4iZrhOZJ3cPyRt7iR\/Fy22A8tVqqpFDZY7fSN4ZKrEETG\/5dgR7YHqo2h7X0FE+4ytxJUdWPbkwfzI+gUeOrbctRVd4lz8Da2ER8+s7s5d5yfZXyd5eCPMpxcKOes\/suL\/n6keot0dRdbdpuJwMVI3jqXA\/M47u\/kPPwV9qq4G3WUwwDEtR+DGGjkDzx6beqobFeaK3Q1V2uE5krKx5xFGMnAP037+5cnSXHWV4a6DFHHSDLTxHMe\/P+Lbw5I4u+eiEakVTah3paLZcPsaKkq7dpm0U9JWVMcczGgvY3rO4judhv6+Chu1TcLi7gslpklGSOllGG\/yHqVOt2lLZQ9eSP4uY7uknHFv4Dl+qugABgDACqco3vqbY06zilfCtlr6mYbY7\/ch\/et3MMZ5xU\/aO0HGB913i0TZ2MDZGzTEDm6Qj7YUy5aktlsaRLUCSUfuoiHO9e71WeuF8v9Vb5ayOIW2iaNnu+eTOwAz9wB5qSxvTIpn+Gp6rE\/X+kc7sy3adv9H8A59OQeKoHE5wDewY7Tz+inyX68Xl3RWShfDCdviZhj27PuV50vpyGSlbc7kz4iafrsbLvwjsJ7yee61gAAwBgBJSSdtWhRo1JJyvhTzsvmRnabSEUsgqLxVy18\/aHPIYP1+3kr+GCGmiEUETIo28msGAF0RVuTepsp0oU+6giIoloREQBERAEREAREQBYC6Mk1Nq91JC5xhg6hcPyNB6x9z9lqr1f6O0U7+OVrqnhPBE05dnG2R2DxWPsFpvlXFI+mkNJDUY6Sods548O3t7MZ71fTVk5Hm9LmpyjSWfF2NLqG80dptMlFTSsFR0YjjibvwDlv3YHesd09w+BgsjYhTsneCWEYdK4nYu8OWPIc1ZRWOibqqGgimfI2lb0tVK88yN8eA5Dn2ldrLM256lqr5WSRspqckMdIcAHk0DPgCf+1ONorIzVHOrNXy4WW3Esp7La9M2qaubEJqiNuGSTHPXOwwOXPwUrS1B+zLJ09S\/hkqD00jnn5QeWc+G\/qqDUd1\/8hrKehtTH1LIyXOaGkB7u\/yAzvtzVkNNXO7Oa+9V\/BE3HDS0\/wArR3dw+vmotPD2nqXwkutfUxulktvF3JVw1hQUzuhowa6oJw1sXy58+30yopodSX5g+NqGW2mcN4oweJ3mM\/c+iv6G2UVtj4KSnZFtguA6x8zzKlqvEl3UaupnP9WWWyyXMqrZpy2WsNdFAJJRv0svWdnw7vRVFXnU2pI6WMB9voHZmdsQ53d5Hl6FS9T3eSGNlrocPrKvqYHNjTtnwP8A2rGyWmKzW5lMzDpOckgGON39bLt2liepBwjOXVQVorXlzJ7WhrQ1oAAGAB2L6iKo2hERAEREAREQBERAEUC5XqgtTM1c4a7GRG3dx9FQmqv+pQPg2fs2hd+9J6zx9\/bHmpqDefAonXjF4Vm9l8yLq5ahtlqy2oqAZQP8KPrO\/wCPXCqRWah1AC2khFso3fvn56Qjw\/491PtelrdbCJCz4ifn0su+D4DkPuo2q9QRUFC+kppWOqpssIaQejHaT3FSja9oq5RUc8DnVdlsufIxlXRQvvYt9HI+YmURGV3N7ycE+WV+j1ddQ2SgaJpWRtjZwxsJ3dgYAAH8l+e2i31txr42W4dBJTsHHI92CCc78s9u3kFY3qxMp6qjojVzVdxq3jjkkOQ1vLOOffzPYVdNKTSbMHR5zpwlOEdfTy8SuZeauOjr3up+J9xcWyVBzgDtaPdXNs0nSQWv9qXd7nNEXS9CDwgDGRk88+Gy83SliuOpqGxwA\/C0bAxwaeQxl3rgAZ7\/AGVjquZ9XPR6foyA6ocDJjk1o5bd2xPoFxy0SyudhTSxSn2sOS8\/+n3RVuEdNPc3R9G6qcRG3\/KzP6n7BahcqanjpaaOnhbwxxtDWjwC6rPKWJ3PXo01TpqIUG73SG0W+Sql3I2Y3\/O7GwUqaaOnhfNM8MjYMuc47ALK0sT9W3h1bUNeLZSnEEbhtIfH2yfQLsY3zehGtUcbRh3npzJembZO6SS93Ek1lUNmkY4G9m3kB6LRoi5J3dydKmqccKCIiiWBERAEREARcKuspqGEzVU7IWDtccZ8u9Z6o1LW3IOjslPwRjZ1ZPhrG+Wdvf2UlFspqVoU8nrtxL2vudHbITLVztjGNm56zvIdqzz7re9QHgtFO6ipTsamXYuHh3emfNQIhYLdMau6XE3as58LMvbnz5H1PorH9tX67N4LRbfhYs4E82Nh4A7e2Vao2\/sxyrupk3bwjm\/q+BJodM221f224TiomBy6aoIDAe\/B\/VKzWFIyY09vglr5+wRDq+\/M+gXGLSMtW8S3u5TVbwciNjiGD3\/TCvIaSgtVO50MMNNG1uXuAA2Hee31UW1fPMshColaCUF6sy1w\/b1XbZau61bbdSNBPQxjrv7m+vLc+i+aUskdPSSXqtjaWhhdCx\/5QPzHPlt7rtG2TWF3ZUOYW2qkdhrXfvXeXt6eas9W1Io9NzNYA3pcRNHLnz+gKm2+7uURpxbdd5qOl+Pj5bEbRUbjbqm4TEcdVOXOPgPHzJUezSsuV9uN\/maBT0zSyFx7ABufPh\/3LtcZjY9FQ0zDieWMRNDdjxO3cR7lQb08WHSdNamuxUVAzIB3c3fUgJa7fiG+rjFP\/FXfm9DrpKISyV+oKw44i7D3HZo5uP2HopOmGvudxrb7M0jpHGOAO34W\/wBYHuoV0dJS2G2aepCDUVbWl+OwE5PoXE79wK1lBRRW+hhpIfkibw57z2n1OSozeTe\/sWUIXlGPCOb\/AHPkSF8JAGScAISAMk4AWRuVyqtS1rrRaHcNK3\/2KjsI\/l9\/JVxjiNdWqqa3b0W59uE82rK\/9mULiy3wuDpqgcn+A7+3HlnsWppqeKkpo6eFvDHG0NaPALhbLZTWmjbTUzMNG7nHm895UxdlK+S0OUabjec+8\/lgiIoF4REQBERAEREBmr7pOS83L4kVxjZwAcLhxcPPkNtuX1Xmn0NSAM+Mq56ng2AzwjG23b\/RWnRT6yVrXMz6LRcnJrNlfR2K10IHw9FEHD87m8Tvc7qwRFFtvUvjGMVaKsc6ieKlp5J5ncMcbS5zsE4A8llD8VrOq246a0Qu\/wBUp\/r2Wtc1r2Fj2hzXDBBGQQjWtY0NY0NaOQAwAuxlh8yupSdRpN9nbc8U9PFSU7IIGcEbBhrc5Wc1cfiqy1Wxoz00\/E4dmNh+p9lqFkrtUsZrWCWUjoqKldI4E7Zw4\/qFKn3rlfSrKmo8G0j3WkXjWMVM7Bpba3pJCeXFz3+nsVnb4+ovDqi9HIpmytghDgd278vbJ8SvVuqKqrjloqPBq7pKTPJnIZHvse7cuJ8Mc8q81BTx0Vpo9O0LeOWoeAM7E78zgY5q9dlpfPE82X51OUuGv14L6HTTULrpdqi+TDLGfg02R2AYJ5Ds29T3LTT1ENLC6aeRscbRkuccALMU1u1TaqZlHRzUksLMlpIAxknb9fVdItL1dxqG1N\/rTUcI2gj6rR4bY+nuqpJN3byNtGU4Qwxg8XG+SuRpqyv1dO6koQ6mtrTiSZw3f\/Xd7rS2620tqpRTUkfCwHJJ3Lj3krvDDFTxNihYGMaMBrRsF0UJSvktDRSo4Xjk7y35BERQLwiIgCIiAIiIAiIgCIiAIiIAiIgCwWrKSsivskjAHi4MbFEGnrflBHuOzv8AFb1ZaUftTXsceQYrfFxHA\/N5+bh7K2m7O5j6ZFTgo8W189CfYrNBp+3PlnLOmLeKeUcgAM48gq7TUUl2u9VqCoYQ0kx0wd2Dl9Bt6letR1kt0uEWnqB\/WeeKokDtmgZy0\/f2C0dJSxUVLHTQN4Y4m8LQjbSu9WRhCMpqMe7D3\/r3OyIiqNwREQBERAEREAREQBERAEREAREQBERAEREAX53Q3WsluNxbbYzJW18vUeOUbATuD6jnywv0RcYaOmp5JJIYI43yY43NaAXY5KcJKN8jNXoyqONnaxAsVkZZ4HF8nTVMpzLKRuT3Z54z3q1RFFtt3ZdCEYRwx0CIi4TCIiAIiIAiIgCIiAIiIAiIgP\/Z",
    "razonSocial": "TRANSPORTES MICHEA SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "JORGE ROSEMBLUT",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "SERVICIO TECNICO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56944731645",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R662\",\"id_control\":\"28712\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R734\",\"id_control\":\"28712\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R452\",\"id_control\":\"28712\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R742\",\"id_control\":\"28712\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R741\",\"id_control\":\"28712\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R844\",\"id_control\":\"28712\",\"cantidad_usada\":2,\"cantidad_asignada\":1}]",
    "horaSalida": "17:26",
    "ubicacionGPS": "LatLng(lat: -22.4392356, lng: -68.8696504)",
    "horaLlegada": "14:43",
    "horaDespacho": "15:04",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


19/05/2026 17:26:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76662759

[19/05/2026 17:26:05] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76662759', 'EXTO2086', 1, 21773342, 251884, NOW(), 
				'15:04', '14:43', '17:26', 4, 'Mantenimiento
cambio de repuestos
limpieza general, pruebas', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779225965.png', '', null, 'COMPLETADO','LatLng(lat: -22.4392356, lng: -68.8696504)' )
				
[19/05/2026 17:26:05] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200369
[19/05/2026 17:26:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200369', 'TOS-R662', 1)
				
[19/05/2026 17:26:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28712 and
				    IDproducto = 'TOS-R662'
				

19/05/2026 17:26:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R662';
                [19/05/2026 17:26:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200369', 'TOS-R734', 1)
				
[19/05/2026 17:26:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28712 and
				    IDproducto = 'TOS-R734'
				

19/05/2026 17:26:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R734';
                [19/05/2026 17:26:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200369', 'TOS-R452', 1)
				
[19/05/2026 17:26:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28712 and
				    IDproducto = 'TOS-R452'
				

19/05/2026 17:26:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R452';
                [19/05/2026 17:26:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200369', 'TOS-R742', 1)
				
[19/05/2026 17:26:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28712 and
				    IDproducto = 'TOS-R742'
				

19/05/2026 17:26:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R742';
                [19/05/2026 17:26:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200369', 'TOS-R741', 1)
				
[19/05/2026 17:26:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28712 and
				    IDproducto = 'TOS-R741'
				

19/05/2026 17:26:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R741';
                [19/05/2026 17:26:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200369', 'TOS-R844', 1)
				
[19/05/2026 17:26:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28712 and
				    IDproducto = 'TOS-R844'
				

19/05/2026 17:26:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R844';
                
19/05/2026 17:26:05 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200369'                    
				WHERE idllamado = 12632			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


19/05/2026 17:26:05 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12632			
				
19/05/2026 17:26:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:26:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

[19/05/2026 17:26: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;
                

19/05/2026 17:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:26:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:26:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:26:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

[19/05/2026 17:26: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;
                

19/05/2026 17:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

[19/05/2026 17:26: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;
                

19/05/2026 17:26:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:26:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:26:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

[19/05/2026 17:26: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;
                

19/05/2026 17:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

[19/05/2026 17:26: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;
                

19/05/2026 17:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:26:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:26:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

[19/05/2026 17:26: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;
                

19/05/2026 17:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:26:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:26:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:26:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:26:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:26:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

[19/05/2026 17:26: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;
                

[19/05/2026 17:26: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;
                

19/05/2026 17:26:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:26:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

[19/05/2026 17:26: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;
                

19/05/2026 17:26:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12632
            GROUP BY l.idllamado;
            

19/05/2026 17:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                

19/05/2026 17: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 = 12632
                
[19/05/2026 17:36:24] 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;
                
[19/05/2026 17:36: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				

[19/05/2026 17:36:26] 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;
                

[19/05/2026 17:36: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;
                

19/05/2026 17:36:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

[19/05/2026 17:36: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;
                

19/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

[19/05/2026 17:36:45] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12573
            GROUP BY l.idllamado;
            

[19/05/2026 17:38: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;
                

19/05/2026 17:39:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12573
            GROUP BY l.idllamado;
            

19/05/2026 17:39:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12573
            GROUP BY l.idllamado;
            

19/05/2026 17:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

[19/05/2026 17:39:06] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 17: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 = 12573
                

19/05/2026 17: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 = 12573
                

19/05/2026 17:39:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12573
            GROUP BY l.idllamado;
            

19/05/2026 17:39:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12573
            GROUP BY l.idllamado;
            

19/05/2026 17:39:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12573
            GROUP BY l.idllamado;
            

19/05/2026 17:39:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12573
            GROUP BY l.idllamado;
            

19/05/2026 17:39:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12573
            GROUP BY l.idllamado;
            

19/05/2026 17:39:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12573
            GROUP BY l.idllamado;
            

19/05/2026 17:39:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12573
            GROUP BY l.idllamado;
            

19/05/2026 17:39:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12573
            GROUP BY l.idllamado;
            

19/05/2026 17:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12573
            GROUP BY l.idllamado;
            

19/05/2026 17:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12573
            GROUP BY l.idllamado;
            

19/05/2026 17:39:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12573
            GROUP BY l.idllamado;
            

19/05/2026 17:39:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:43 - logentry: =========================================
FECHA: 19/05/2026 17:39:43
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-5WxONFnl_LfInxNDPxBIITpO9qWG3VWoVUNw934Gpb_d_Zm6UAD
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "22775730",
    "serieinterna": "EXEP2209",
    "correlativo": "1",
    "ddServicio": "Taller",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "cambio de correa",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12573",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACoARQDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABHEAABAwMBAwkFAwgHCQAAAAABAAIDBAURIQYSMRNBUWFxgZGhsRQiMkLBFRbRIzNDUlWi4fA0RGKCktLTJCZTVGNyssLi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMREAAgECAwUHBQACAwAAAAAAAAECAxESITEEEzJBURQiYXGRodEzgbHB4SNSYvDx\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIiAIi1VFTT0kZkqJo4WD5nuAHmhDaWbNqKt1O2dJyghttNNXzHOAxpA9MnwWoM2uujA50kFujdzAe9jzPor4HzyOd7TBu0O95fOhZ3Oaxpc9wa0cSTgBRtTtJZqXPKV8TiOaM7\/plRjdi2VDuUudzqqt\/bgeeVJ0+zVmphhlvhd1yDf\/APLKm0FzGKvLSKXm7\/j5I6bbq2NduwQ1E7ubdYAD4nPksfvJe6l2KTZ6ZueDpSQPQDzVjihigZuQxMjb0MaAPJbExR5Ibqs+Kfov\/Sse2bZSai3UkQ5suGv7ychtnL\/W6OHPUDj90qzoox+CHZ+s5epWPsjaqT85fI28\/uN5\/AJ9h7Sft\/8AdKs6JvGOzQ6v1ZWPsPaT9v8A7pT2Ha+mJMVxpqhudGvGvmPqrOiY2OzR5N+rKuLptXS6VFoinAHGI6nwJ9F00W11HLKKevikt8\/RMMNz282ueOFPrjuFpobpHuVlO2QgYa\/g5vYeKnFF6ojdVY5wnfzOtrg5oc0ggjII516qlNDcdkP9ogndWWzeAkik+KMaAHPl0dStUUrJomSxuDmPaHNcOcHgVWUbZo0p1cbcWrNGaIiqbBERAEREAREQBERAEREAREQBFET35tJtAy21MHJRSsBinLtHO6OrnHh0qXUtNFIzjK6XILXPUQ0sLpp5GxxtGS5xwAua63WmtFG6oqHdTGDi89AVfpbTXbTPZX3l7oqU6xUrCRkcx6vU9StGN1d6GdSq08EFeX\/dTbLtLXXSR1Ps\/ROkAOHVMow1v08fBZU2yLp5\/ab3WvrZT8gcQzs6ceCsUEEVNCyGCNscbBhrWjAC2KcduHIotnxZ1Xd+3p8mmmpKejj5OmgjhZnOGNAW5EWZ0pJKyCIiEhERAEREAREQBERAERaqiohpIHT1EjY42DJc4oQ3bNkbtVLFFs5V8qMh7Q1o\/tEjH49y32BkkdhomSghwhbkO4joUCW1G2Ne1xDobTTuyM8ZXcP56AetW1rQ1oa0AADAA5lpLKOE5qT3lR1Fpay8T1ERZnUEREAREQBERAEREAREQBERARl9s8d4oDEfdmj96F\/6rvwKibbtZHTWuZl1JFbSncdGRh0nR39Kn7jXw2yhlq5z7sY0GdXHmAVEqWV8ksO1NbTxmF87cxBuu4OBPhgE9XUtoLErPQ8\/aZ7ueKGts\/Lq\/InbZaKi81bbxem6caelPwtHNkfznnVoWLHtkjbIxwc1wBaRzhZLOUmzrpU401lz59QiIqmoRaKmtpaNoNTUxQg8N94GVC1O21mgOI3y1Bx+jjwP3sKyi3ojKdanDikkWFFWPvdVVH9AsVVMP1nZA6+APqvBcNr6jWK1U8LcZ986+bvop3b5mfaqb4bvyTLQirHJ7ZvOeWpI8c2Br5FPs3a9\/wAd4pm44brR\/kCYPFDtD5Qfp\/Szoqx9l7WDUXqAkcMt\/wDlaJ37TUYJqL7bW4Hwvc1v\/oFOC+jIe0tawft8luRUF+2l2pJNx7qKp11LWk47wQul23lW2n5Q2oDeOGyF53c47Nenip3MjNbfQ5v2LqsXvZGwvkcGNaMlzjgBVCkq9pdooXS0tZSUkPAhh94epB8F1M2LZPJylzudTWO6M4Hnn6KMCWrNFXnNXpwuuryOi5bXUNI\/kKQGtqCcBkWoz2\/hlccNluO0Ezau\/OMMDfzdIzTvPR69inbfZrfawfY6Zkbjxfxce86ruTElwjczqZ1Xl0Wn9MIoo4ImxQsbHGwYa1owAFmiLM6tAiIgCIiAIiIAiIgCIiAIiIAvHODWlziAAMknmXqrO1FXNV1EFgoz+UqsGZw+Rmf4EnqHWrRV3Yyq1FTjiOWna\/a+9Gpla77KpThjDpvuxzjz7MBWavoY662zUTgAyRm6NNGnmPccHuXtvoYbbQxUkDQGxtAJxjePOT1lableqC1MzVzhrsZEbdXHuVm233TKFONODdR5vUjdj6uV1DNbqnSehfyZBOu7zfUeCm6iqp6SPlKmeOFn60jg0ea+fT3WrffDcrfG63srvyQklHungCeGOjpViptj45Xtnu9ZPXTDiC87vZ0+itOKvdmFCvNxwQV7c3pbl46Co2ygfKYLXRz10ucZa3Dfx8lh7LtXdAeXqorbEflj1f1ajXzCnSbdaKf+r0cWepgJ+qiKnbW2sfyVIyaskOjRGzAJ6NdfJQv+KLzSX1qn2WX9PKXYq3RvMlZJNWSkkkvcQD4a+anKeipaRu7T00UIH6jAPRV0XHaq559kt8dDGeD5uI8eP+Fe\/da5Vrt653yZ7SNY4sgfh0cyNN8UhCUY\/Rp\/fT3eZN1V4ttED7RWwsI+XfBd4DVRM+29sY7cpY56p5+EMZgHx18lvpNj7NS4JpzO4fNM4ny0HkpeClp6Zu7TwRxDojYG+ijuLxNbbRLmo+\/wV37c2jrf6FYuRB+aoJ8dd1BQ7X1IzLcqenaeLWNGR4N+qs6KMfRDs7fFNv2\/BWPujVVGPbr7VTDnaMgdXEn0W6m2Js0GDIyWoP8A1JMemFYUTeS6krZaKd8N\/PP8nHT2i20oHIUMDCODuTGfHiuqQMMbuUDSzHvb3DHWuavudHbITLVztjGNG5953YOdVouuW2EmGb9DamkZz8Uv4+g60UXLNkTqQp9yCu+iMrJ7PJtfUyWhoZRNiLZd0e4539no1+uNFblzUNBTW2mbT0sQjY3xJ6SeddKicrsvQpunGz1eYREVTYIiIAiIgCIiAIo64362WsEVNS3lB+jZ7zvAcO9Qjbxf78\/FpphR0x\/rEoyT4\/QHtV1BvMwntEIvCs30RbEUVbbPUUdMWT3Spnkc8uc\/OOPNrlFVpdS8ZSau4kqiIoNAiIgNNZUijo5qlzHPETC\/daMk4HBUWx3ylpJqivqY5ay5VTzuMjZndHRk8M9WdAFfpI2SxujkaHMeC1zSNCDxC0U9voqRxdT0sMTjxc1gB8VpGSSaZy1qU5zjKLtYgBUbT3o7sUDLXTOGd92r8evkF1W\/ZG30knL1JfW1B1L5tRnpx+OVvu+0lFaTyRzUVJ+GGPjnmyeb16lGCg2ivrSa+q+zqV36GMe8R0H+J7lbO3RGLUFK2c5fj9I82vuNqmtz6DlRJVNIMbYhvbrhpqeA0zoua3XHaS+0LY6IwU8UQEb6g\/E4gDPT26BWC2bO2204dTw70v8AxZPed\/DuUTZ3G07XVtrJxBU5mhbjAB44Hdkf3VKas0uRWcKm8Upuylll7Zm+l2NpeVdPc6iW4TO4l5LR65Pip2no6akbu01PFCOiNgb6Lciycm9TthRp0+FBERVNQiIgCIoS77T0ttf7PC01dWTgQx8x6z9OKlJt2RSdSNNXk7ExLLHBE6WZ7Y42DLnOOAAq3VbT1VwnNJs9TGoePjnc3DW+P1WEViud8mFTfZ3RQZy2kjdjHb0evYrJS0lPRQNgpomxRt4NaFfux8Wc96tbTux9\/wCEHb9k4xMKy8TmvqjxDzlg6tePp1KwtaGtDWgAAYAHMvUVXJvU3p0oU1aKCIiqaBERAEWL3sjYXyODGtGS5xwAoms2qs1GSHVYlePliG\/5jTzUpN6FJ1IQzk7Ewiq\/3rrq7ItNlmlGdJJNG9+NPNYOst\/vbh9r1jaWnxrBCePbjTxJV8FuJ2MO0qX005fj1JG57VW23ZY2T2mfmjhOdes8Ao8fea\/s13LVSu7eUI9fRTNvsNttgBpqVnKD9K8bz\/E8O5SKYorhQ3VSp9SVl0XzqQts2Vttuw90ftM\/PJMM69Q4BTSIqNt6m8KcYK0VYIiKC4REQBEXPW1tPb6V9TUyBkbBqenqHWhDaSuzbLLHBE6WZ7Y42DLnOOAAqvPe7jfqh1HYWGOAHD6x4Ix2dHr2LCGjq9r5RWVr309tafyULTrJrx\/j4K001NBRwNgp4mxRsGA1owFplDxZy3nX0yj7v4RGWfZujtJ5XWoqj8U8g1z1DmUwiKjbbuzohCMFhirIKsbYxyUpobxBpJSy7riBxaenq0x\/eVnXJdaP7QtdTSc8sZDcn5ubzwpg7SuUrwx02lr+zfDMyogjnjOWSNDmnpBGQtigtjqv2mwRxuJ36dxicD1ajyIU6okrOxalPHBS6hERQaBaaqrp6KB09TK2KNvFzioa67VU9LJ7Jb2+21jjutZHq0HrI49g8lzU2zdZdJ21u0FQ554tpWHDWdR\/h4q6hzkc0q93hpK79l5mqW7XTaSR1NZo3U1INJKl+hI6ujsGvYpiz7PUVnbvRt5WoPxTvHvHs6FJRRRwRNihY2ONgw1rRgALNHPKy0JhQs8c3eX48giLmq7hR0LN6qqooR0OcAT2DiVTU3bSV2dKKuVO2tvY\/k6OGeskJwAxuBx69fJajX7V3HIpbfHQRng+b4h4\/wCVX3b55HO9qp6Rz8sy0KOrL\/aqHPL10QcPlad53gFEfdSursG7XqaUZ1jj0b3Z08lIUeytmoyC2kErx80p3\/I6eSm0Fqxjry4Y283+l8nA\/bNtRJydrttTVv6cYHln6LH\/AHvuQ\/QW6M9m8fUjyVnYxkbAyNoY1owGtGAFkmJLREbmcuOb+2X9KwzYtk8nKXO51NY7ozgeefopajsFqocchQxBw+Zw3neJUiiq5yfMvDZ6UM1E8AAGAMAL1EVTcIiIAiIgCIiAIiIAqg9p2wvLmb2LZRO1LSRyp\/nwHapHa64vo7W2ngdioq38mwZwcc5HkO9SNptsVqt0VJEPhGXu\/WdzlaLurFzOSot7U3fJZv8ASOtrWsYGMaGtaMAAYACyRFmdYREQBERAVW0n7L2xr7e44ZWDlY9DqdT6F3grUqxtdG6jnoL1EHF9NKGvAPFvHHqO9b7ltXBG9tLame31cnwiPVje0jj2DvIWri5WaOKnUjRxQk9Hl9yWr7jSWynM9XMI28w53HoA51WjUXjaxxZTB1Bbc4dIfiePr2DTrXVQ7MzVdQK+\/wA3tU\/NDn3GDo\/gNO1StZerXbBuVFXFGW6cm3Vw\/ujUIrLhzYliqK9R4Y9Ob8\/gWqy0NoiDKaIb5GHSu1c7tP0Ugqw7amtuJLLJaZpgdOWlGGg+niVr+717uut4upjjIH5GHh3jQeqhxesmTGtFLDRjf2XqTFdtFareDy1WxzxkbkfvnI5tOHeoo7WVdcd2z2iafX85Jo3y\/FSdFszaKEfk6Nkjv1pffPmpQAAYAwAl4LRXLYK89ZJeXy\/grH2btPdADW3FlDGf0cHxeI\/ErfS7F2uI79TytXIfidI\/AJ7B9cqwooxy5ZErZqd7yzfjmaaekpqRm5TU8cLehjA30W5EVDoSSyQREQkIiIAiIgCIiAIiIAiIgCIiAIiICrXDdqNvaGKoc1scMW9GDj3nakeePBWlRl6sdPeYWh7jFPHrFM3i38VFMpdr6FnJxVVNWMaPdMh949pOPVaZSSzONOVGcrxbTd7otCKse3bZ\/smj\/wAY\/wBRPbts\/wBk0f8AjH+ooweKL9pX+svRlnRVjl9s\/wDlKPxH+ZPads26+w0b8fLvDX95MHih2lf6y9Czrlr7jSWynM9XMI28w53HoA51TZ9t7vTSPhmp6PlG6e4S4A9ocQVEPZerpL9oPpairLj7ruRL2jsGMY8loqL5nNU2+NrU02yXvVzud9ts88cAprZHg5kIDpDnTXn7AtlpvlvtlFBBa7dJVV0rByu6CCXc+uM8eYDCiW2u8XWbE1HVyTZAD5QWMYM6jUYH86L6JbqCG20UVNCxrdxoDiABvHGpPWrTcYqxjQjVq1HO9vFr8dPcr5tu0t6DhcKxtvp3foYgCSO48O09y76HZK00RD3QmpkznfnO9r2cFNosXN6I9COzU07yzfV5ngaGjDQAOgL1EVDoCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCLguV6oLUzNXOGuxkRt1ce5VC4bW3O7zCktUUkDXnA3NZHd\/N3eKvGnKRzVtqp0sm7voi23O\/W60tPtM45TGREz3nnu5u\/Cr0tTfNqwWUUfsVAdDI84Lu\/iewadJW2y7FsicKq7ETSk55HOWg9Z5z5dqtjWhrQ1oAAGABzK14x0zZmoVa6\/yd1dFr92QNs2OtlBuvlaauYfNIPdz1N4eOVPAADAGAF6izcm9Tpp04U1aCsERFBoEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAERVu97Y0tvLoKMNqqgZBOfcYes8\/YPFWjFydkZ1KsKUcU3Ynqqsp6GAz1UzIox8zj5dapN522qKkmntjTDGTjlT8buzo9exR8NFe9qqvl37zmZxyr\/djYOgfgFc7LszRWdoeBy1TjWVw4f9o5lraFPXNnn7yvtOVPux6lZtexldXvFTc5HwRv1IJzK7x4d\/grpQWyjtkIipIGxjGrse87tPOutFnKcpanXR2anR4Vn1CIiodIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAVnaWC\/wBfVCioG7tI5gLnh27k66E93AdK8tWxFFSbslc72qUfLwYO7n7\/AARFpjaVkcvZqcpucs34llYxkbAyNoY1owGtGAFkiLM6giIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "MIGUEL ANGEL QUISPE CONDORI",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "JOHANN GUERRERO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "GOMITA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R838\",\"id_control\":\"28674\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R677\",\"id_control\":\"28675\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "17:39",
    "ubicacionGPS": "LatLng(lat: -23.661843, lng: -70.3999628)",
    "horaLlegada": "17:37",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 19/05/2026 17:39:43
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-5WxONFnl_LfInxNDPxBIITpO9qWG3VWoVUNw934Gpb_d_Zm6UAD
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "22775730",
    "serieinterna": "EXEP2209",
    "correlativo": "1",
    "ddServicio": "Taller",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "cambio de correa",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12573",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACoARQDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABHEAABAwMBAwkFAwgHCQAAAAABAAIDBAURIQYSMRNBUWFxgZGhsRQiMkLBFRbRIzNDUlWi4fA0RGKCktLTJCZTVGNyssLi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMREAAgECAwUHBQACAwAAAAAAAAECAxESITEEEzJBURQiYXGRodEzgbHB4SNSYvDx\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIiAIi1VFTT0kZkqJo4WD5nuAHmhDaWbNqKt1O2dJyghttNNXzHOAxpA9MnwWoM2uujA50kFujdzAe9jzPor4HzyOd7TBu0O95fOhZ3Oaxpc9wa0cSTgBRtTtJZqXPKV8TiOaM7\/plRjdi2VDuUudzqqt\/bgeeVJ0+zVmphhlvhd1yDf\/APLKm0FzGKvLSKXm7\/j5I6bbq2NduwQ1E7ubdYAD4nPksfvJe6l2KTZ6ZueDpSQPQDzVjihigZuQxMjb0MaAPJbExR5Ibqs+Kfov\/Sse2bZSai3UkQ5suGv7ychtnL\/W6OHPUDj90qzoox+CHZ+s5epWPsjaqT85fI28\/uN5\/AJ9h7Sft\/8AdKs6JvGOzQ6v1ZWPsPaT9v8A7pT2Ha+mJMVxpqhudGvGvmPqrOiY2OzR5N+rKuLptXS6VFoinAHGI6nwJ9F00W11HLKKevikt8\/RMMNz282ueOFPrjuFpobpHuVlO2QgYa\/g5vYeKnFF6ojdVY5wnfzOtrg5oc0ggjII516qlNDcdkP9ogndWWzeAkik+KMaAHPl0dStUUrJomSxuDmPaHNcOcHgVWUbZo0p1cbcWrNGaIiqbBERAEREAREQBERAEREAREQBFET35tJtAy21MHJRSsBinLtHO6OrnHh0qXUtNFIzjK6XILXPUQ0sLpp5GxxtGS5xwAua63WmtFG6oqHdTGDi89AVfpbTXbTPZX3l7oqU6xUrCRkcx6vU9StGN1d6GdSq08EFeX\/dTbLtLXXSR1Ps\/ROkAOHVMow1v08fBZU2yLp5\/ab3WvrZT8gcQzs6ceCsUEEVNCyGCNscbBhrWjAC2KcduHIotnxZ1Xd+3p8mmmpKejj5OmgjhZnOGNAW5EWZ0pJKyCIiEhERAEREAREQBERAERaqiohpIHT1EjY42DJc4oQ3bNkbtVLFFs5V8qMh7Q1o\/tEjH49y32BkkdhomSghwhbkO4joUCW1G2Ne1xDobTTuyM8ZXcP56AetW1rQ1oa0AADAA5lpLKOE5qT3lR1Fpay8T1ERZnUEREAREQBERAEREAREQBERARl9s8d4oDEfdmj96F\/6rvwKibbtZHTWuZl1JFbSncdGRh0nR39Kn7jXw2yhlq5z7sY0GdXHmAVEqWV8ksO1NbTxmF87cxBuu4OBPhgE9XUtoLErPQ8\/aZ7ueKGts\/Lq\/InbZaKi81bbxem6caelPwtHNkfznnVoWLHtkjbIxwc1wBaRzhZLOUmzrpU401lz59QiIqmoRaKmtpaNoNTUxQg8N94GVC1O21mgOI3y1Bx+jjwP3sKyi3ojKdanDikkWFFWPvdVVH9AsVVMP1nZA6+APqvBcNr6jWK1U8LcZ986+bvop3b5mfaqb4bvyTLQirHJ7ZvOeWpI8c2Br5FPs3a9\/wAd4pm44brR\/kCYPFDtD5Qfp\/Szoqx9l7WDUXqAkcMt\/wDlaJ37TUYJqL7bW4Hwvc1v\/oFOC+jIe0tawft8luRUF+2l2pJNx7qKp11LWk47wQul23lW2n5Q2oDeOGyF53c47Nenip3MjNbfQ5v2LqsXvZGwvkcGNaMlzjgBVCkq9pdooXS0tZSUkPAhh94epB8F1M2LZPJylzudTWO6M4Hnn6KMCWrNFXnNXpwuuryOi5bXUNI\/kKQGtqCcBkWoz2\/hlccNluO0Ezau\/OMMDfzdIzTvPR69inbfZrfawfY6Zkbjxfxce86ruTElwjczqZ1Xl0Wn9MIoo4ImxQsbHGwYa1owAFmiLM6tAiIgCIiAIiIAiIgCIiAIiIAvHODWlziAAMknmXqrO1FXNV1EFgoz+UqsGZw+Rmf4EnqHWrRV3Yyq1FTjiOWna\/a+9Gpla77KpThjDpvuxzjz7MBWavoY662zUTgAyRm6NNGnmPccHuXtvoYbbQxUkDQGxtAJxjePOT1lableqC1MzVzhrsZEbdXHuVm233TKFONODdR5vUjdj6uV1DNbqnSehfyZBOu7zfUeCm6iqp6SPlKmeOFn60jg0ea+fT3WrffDcrfG63srvyQklHungCeGOjpViptj45Xtnu9ZPXTDiC87vZ0+itOKvdmFCvNxwQV7c3pbl46Co2ygfKYLXRz10ucZa3Dfx8lh7LtXdAeXqorbEflj1f1ajXzCnSbdaKf+r0cWepgJ+qiKnbW2sfyVIyaskOjRGzAJ6NdfJQv+KLzSX1qn2WX9PKXYq3RvMlZJNWSkkkvcQD4a+anKeipaRu7T00UIH6jAPRV0XHaq559kt8dDGeD5uI8eP+Fe\/da5Vrt653yZ7SNY4sgfh0cyNN8UhCUY\/Rp\/fT3eZN1V4ttED7RWwsI+XfBd4DVRM+29sY7cpY56p5+EMZgHx18lvpNj7NS4JpzO4fNM4ny0HkpeClp6Zu7TwRxDojYG+ijuLxNbbRLmo+\/wV37c2jrf6FYuRB+aoJ8dd1BQ7X1IzLcqenaeLWNGR4N+qs6KMfRDs7fFNv2\/BWPujVVGPbr7VTDnaMgdXEn0W6m2Js0GDIyWoP8A1JMemFYUTeS6krZaKd8N\/PP8nHT2i20oHIUMDCODuTGfHiuqQMMbuUDSzHvb3DHWuavudHbITLVztjGNG5953YOdVouuW2EmGb9DamkZz8Uv4+g60UXLNkTqQp9yCu+iMrJ7PJtfUyWhoZRNiLZd0e4539no1+uNFblzUNBTW2mbT0sQjY3xJ6SeddKicrsvQpunGz1eYREVTYIiIAiIgCIiAIo64362WsEVNS3lB+jZ7zvAcO9Qjbxf78\/FpphR0x\/rEoyT4\/QHtV1BvMwntEIvCs30RbEUVbbPUUdMWT3Spnkc8uc\/OOPNrlFVpdS8ZSau4kqiIoNAiIgNNZUijo5qlzHPETC\/daMk4HBUWx3ylpJqivqY5ay5VTzuMjZndHRk8M9WdAFfpI2SxujkaHMeC1zSNCDxC0U9voqRxdT0sMTjxc1gB8VpGSSaZy1qU5zjKLtYgBUbT3o7sUDLXTOGd92r8evkF1W\/ZG30knL1JfW1B1L5tRnpx+OVvu+0lFaTyRzUVJ+GGPjnmyeb16lGCg2ivrSa+q+zqV36GMe8R0H+J7lbO3RGLUFK2c5fj9I82vuNqmtz6DlRJVNIMbYhvbrhpqeA0zoua3XHaS+0LY6IwU8UQEb6g\/E4gDPT26BWC2bO2204dTw70v8AxZPed\/DuUTZ3G07XVtrJxBU5mhbjAB44Hdkf3VKas0uRWcKm8Upuylll7Zm+l2NpeVdPc6iW4TO4l5LR65Pip2no6akbu01PFCOiNgb6Lciycm9TthRp0+FBERVNQiIgCIoS77T0ttf7PC01dWTgQx8x6z9OKlJt2RSdSNNXk7ExLLHBE6WZ7Y42DLnOOAAq3VbT1VwnNJs9TGoePjnc3DW+P1WEViud8mFTfZ3RQZy2kjdjHb0evYrJS0lPRQNgpomxRt4NaFfux8Wc96tbTux9\/wCEHb9k4xMKy8TmvqjxDzlg6tePp1KwtaGtDWgAAYAHMvUVXJvU3p0oU1aKCIiqaBERAEWL3sjYXyODGtGS5xwAoms2qs1GSHVYlePliG\/5jTzUpN6FJ1IQzk7Ewiq\/3rrq7ItNlmlGdJJNG9+NPNYOst\/vbh9r1jaWnxrBCePbjTxJV8FuJ2MO0qX005fj1JG57VW23ZY2T2mfmjhOdes8Ao8fea\/s13LVSu7eUI9fRTNvsNttgBpqVnKD9K8bz\/E8O5SKYorhQ3VSp9SVl0XzqQts2Vttuw90ftM\/PJMM69Q4BTSIqNt6m8KcYK0VYIiKC4REQBEXPW1tPb6V9TUyBkbBqenqHWhDaSuzbLLHBE6WZ7Y42DLnOOAAqvPe7jfqh1HYWGOAHD6x4Ix2dHr2LCGjq9r5RWVr309tafyULTrJrx\/j4K001NBRwNgp4mxRsGA1owFplDxZy3nX0yj7v4RGWfZujtJ5XWoqj8U8g1z1DmUwiKjbbuzohCMFhirIKsbYxyUpobxBpJSy7riBxaenq0x\/eVnXJdaP7QtdTSc8sZDcn5ubzwpg7SuUrwx02lr+zfDMyogjnjOWSNDmnpBGQtigtjqv2mwRxuJ36dxicD1ajyIU6okrOxalPHBS6hERQaBaaqrp6KB09TK2KNvFzioa67VU9LJ7Jb2+21jjutZHq0HrI49g8lzU2zdZdJ21u0FQ554tpWHDWdR\/h4q6hzkc0q93hpK79l5mqW7XTaSR1NZo3U1INJKl+hI6ujsGvYpiz7PUVnbvRt5WoPxTvHvHs6FJRRRwRNihY2ONgw1rRgALNHPKy0JhQs8c3eX48giLmq7hR0LN6qqooR0OcAT2DiVTU3bSV2dKKuVO2tvY\/k6OGeskJwAxuBx69fJajX7V3HIpbfHQRng+b4h4\/wCVX3b55HO9qp6Rz8sy0KOrL\/aqHPL10QcPlad53gFEfdSursG7XqaUZ1jj0b3Z08lIUeytmoyC2kErx80p3\/I6eSm0Fqxjry4Y283+l8nA\/bNtRJydrttTVv6cYHln6LH\/AHvuQ\/QW6M9m8fUjyVnYxkbAyNoY1owGtGAFkmJLREbmcuOb+2X9KwzYtk8nKXO51NY7ozgeefopajsFqocchQxBw+Zw3neJUiiq5yfMvDZ6UM1E8AAGAMAL1EVTcIiIAiIgCIiAIiIAqg9p2wvLmb2LZRO1LSRyp\/nwHapHa64vo7W2ngdioq38mwZwcc5HkO9SNptsVqt0VJEPhGXu\/WdzlaLurFzOSot7U3fJZv8ASOtrWsYGMaGtaMAAYACyRFmdYREQBERAVW0n7L2xr7e44ZWDlY9DqdT6F3grUqxtdG6jnoL1EHF9NKGvAPFvHHqO9b7ltXBG9tLame31cnwiPVje0jj2DvIWri5WaOKnUjRxQk9Hl9yWr7jSWynM9XMI28w53HoA51WjUXjaxxZTB1Bbc4dIfiePr2DTrXVQ7MzVdQK+\/wA3tU\/NDn3GDo\/gNO1StZerXbBuVFXFGW6cm3Vw\/ujUIrLhzYliqK9R4Y9Ob8\/gWqy0NoiDKaIb5GHSu1c7tP0Ugqw7amtuJLLJaZpgdOWlGGg+niVr+717uut4upjjIH5GHh3jQeqhxesmTGtFLDRjf2XqTFdtFareDy1WxzxkbkfvnI5tOHeoo7WVdcd2z2iafX85Jo3y\/FSdFszaKEfk6Nkjv1pffPmpQAAYAwAl4LRXLYK89ZJeXy\/grH2btPdADW3FlDGf0cHxeI\/ErfS7F2uI79TytXIfidI\/AJ7B9cqwooxy5ZErZqd7yzfjmaaekpqRm5TU8cLehjA30W5EVDoSSyQREQkIiIAiIgCIiAIiIAiIgCIiAIiICrXDdqNvaGKoc1scMW9GDj3nakeePBWlRl6sdPeYWh7jFPHrFM3i38VFMpdr6FnJxVVNWMaPdMh949pOPVaZSSzONOVGcrxbTd7otCKse3bZ\/smj\/wAY\/wBRPbts\/wBk0f8AjH+ooweKL9pX+svRlnRVjl9s\/wDlKPxH+ZPads26+w0b8fLvDX95MHih2lf6y9Czrlr7jSWynM9XMI28w53HoA51TZ9t7vTSPhmp6PlG6e4S4A9ocQVEPZerpL9oPpairLj7ruRL2jsGMY8loqL5nNU2+NrU02yXvVzud9ts88cAprZHg5kIDpDnTXn7AtlpvlvtlFBBa7dJVV0rByu6CCXc+uM8eYDCiW2u8XWbE1HVyTZAD5QWMYM6jUYH86L6JbqCG20UVNCxrdxoDiABvHGpPWrTcYqxjQjVq1HO9vFr8dPcr5tu0t6DhcKxtvp3foYgCSO48O09y76HZK00RD3QmpkznfnO9r2cFNosXN6I9COzU07yzfV5ngaGjDQAOgL1EVDoCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCLguV6oLUzNXOGuxkRt1ce5VC4bW3O7zCktUUkDXnA3NZHd\/N3eKvGnKRzVtqp0sm7voi23O\/W60tPtM45TGREz3nnu5u\/Cr0tTfNqwWUUfsVAdDI84Lu\/iewadJW2y7FsicKq7ETSk55HOWg9Z5z5dqtjWhrQ1oAAGABzK14x0zZmoVa6\/yd1dFr92QNs2OtlBuvlaauYfNIPdz1N4eOVPAADAGAF6izcm9Tpp04U1aCsERFBoEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAERVu97Y0tvLoKMNqqgZBOfcYes8\/YPFWjFydkZ1KsKUcU3Ynqqsp6GAz1UzIox8zj5dapN522qKkmntjTDGTjlT8buzo9exR8NFe9qqvl37zmZxyr\/djYOgfgFc7LszRWdoeBy1TjWVw4f9o5lraFPXNnn7yvtOVPux6lZtexldXvFTc5HwRv1IJzK7x4d\/grpQWyjtkIipIGxjGrse87tPOutFnKcpanXR2anR4Vn1CIiodIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAVnaWC\/wBfVCioG7tI5gLnh27k66E93AdK8tWxFFSbslc72qUfLwYO7n7\/AARFpjaVkcvZqcpucs34llYxkbAyNoY1owGtGAFkiLM6giIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "MIGUEL ANGEL QUISPE CONDORI",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "JOHANN GUERRERO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "GOMITA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R838\",\"id_control\":\"28674\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R677\",\"id_control\":\"28675\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "17:39",
    "ubicacionGPS": "LatLng(lat: -23.661843, lng: -70.3999628)",
    "horaLlegada": "17:37",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


19/05/2026 17:39:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:22775730

[19/05/2026 17:39: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('22775730', 'EXEP2209', 1, 27729424, 0, NOW(), 
				'08:00', '17:37', '17:39', 4, 'cambio de correa', -1, 
				'', '','1','0',
				'0',3,'../csj.digital-service.cl/uploads/firmas/firma_0_1779226783.png', '', null, 'COMPLETADO','LatLng(lat: -23.661843, lng: -70.3999628)' )
				
[19/05/2026 17:39:43] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200370
[19/05/2026 17:39:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200370', 'EPS-R838', 1)
				
[19/05/2026 17:39:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28674 and
				    IDproducto = 'EPS-R838'
				

19/05/2026 17:39:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R838';
                [19/05/2026 17:39:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200370', 'EPS-R677', 1)
				
[19/05/2026 17:39:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28675 and
				    IDproducto = 'EPS-R677'
				

19/05/2026 17:39:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R677';
                
19/05/2026 17:39:43 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200370'                    
				WHERE idllamado = 12573			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


19/05/2026 17:39:43 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12573			
				
19/05/2026 17:39:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


19/05/2026 17:39:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12573
            GROUP BY l.idllamado;
            

19/05/2026 17:39:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

[19/05/2026 17:39:45] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 17:39:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12573
            GROUP BY l.idllamado;
            

19/05/2026 17:39:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12573
            GROUP BY l.idllamado;
            

[19/05/2026 17:39:45] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 17:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

19/05/2026 17:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12573
                

[19/05/2026 17:39:48] 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;
                

19/05/2026 17:39:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

19/05/2026 17:39:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

19/05/2026 17:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

[19/05/2026 17:39:48] 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;
                

19/05/2026 17:39:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

19/05/2026 17:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:39:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:39:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:39:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

19/05/2026 17:39:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

19/05/2026 17:39:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

[19/05/2026 17:39: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;
                

19/05/2026 17:39:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

[19/05/2026 17:39: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;
                

19/05/2026 17:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:39:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

19/05/2026 17:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:39:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

19/05/2026 17:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

19/05/2026 17:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

19/05/2026 17:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

19/05/2026 17:40:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

19/05/2026 17:40:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

19/05/2026 17:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

19/05/2026 17:40:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12561
                

19/05/2026 17: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 = 12561
                

19/05/2026 17:40:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

19/05/2026 17:40:28 - logentry: =========================================
FECHA: 19/05/2026 17:40:28
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-K87JEkpUXgIVsBcUfIR.T6USFnbCPN+eW5BcBFxq.r3sa7h.Aug
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "22775730",
    "serieinterna": "EXEP2209",
    "correlativo": "1",
    "ddServicio": "Taller",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "maquina operativa externa",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12561",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABjALwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA+EAABAwMCAggEBAQDCQAAAAABAAIDBAURBiESMRMUQVFhcYGRIqGxwRUjMlIWM9HwQqLhJCUmQ1NUYpLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMBEAAgECAwUHAwUBAAAAAAAAAAECAxESITETIkFRcQQyYYGR0eEUM7EjQlLB8KH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREARF4llZDE+WRwaxjS5zj2AcygPJqYBUilMzBOW8Yjz8Rb34XVZTTUT7veKvUFQ0hvEY6dp\/wj\/QYHqVpaiqp6SPpKmeOFn7pHBo+atKNnYxpVccMbyXDodkWcqta29jujoYpq2U8gxpaCfM7\/JcTUatuWegp4bfGTs6T9XPxyfkp2b45FH2mne0d7pn8GoLg0ZcQB3lVtTqOz0o\/MuELjvtGeM\/LKqhpCeseJLvdp6g\/sYcAeWc7egVnS6as1JvHQRuOc5k+P65U2gtWMdeWkUuvx7la\/W9NI5zKGgqqp47A3APtk\/JPxHVdbkU9rhpGHbimO49z9lpY42RMDI2NY0cg0YAXpMUVohsaku9P0yMx1HWT9zdKRgPMBo2\/wAn3T8H1S\/Z98jA\/wDFv+gWnRRjfJD6aPGT9WZfpdYUG8kVNcGA7lmAfTGPorez3mG729tUxjmHJa9gBdwuHZnHdg+qiaivjaCE0VKS+vnHDGxvNmduI93gpOn7V+EWmOmd\/NceOTByOI\/\/AAKzs43aKU7xq4IybS1vnbkSYLlTVNdUUcTyZqfHSAtIxn6qUvIa0OLg0Au5kDmvSyZ1q\/EIiISEREARFzmmip4zJPKyJg5ue4AD1KDQ6Is9Wayt0D+ipGyVsxdwhsQ2Pr2+mVGEurLuPgjjtsLgf1DDvXmc+gV1B8cjmfaYXtHefgaSoqqekj6SpnjhZ+6RwaPmsjqXU1NcKI262GSd8xAc5rSBjPIbZOVMbpGggDq271stUWDie+R2G4Hf2n3XDSdFDWXGovDKZsEDPyqaMDltufE42z4nuV4qK3tbHPVnWqNU7JYvN2\/B4oKbVE1DFR00cdspo2loLhh7u8nmck5OQAptNoulMvT3KqnrpSQSXuIB8+0+60q5T1MFLGZKiZkTB\/ie4AKu0k9DZdlppb+duftoeKSgpKFnBS08cIxj4W4J8z2qQqCr1jbIH9FTdJWzE4DYW7E+Z+2VFFx1Vc89Ut8dDGeT5uY9+f8A6pgk82W+opR3YZ9P9Y1BIAyTgBVdZqW0UQPSVrHu7GRfGT7fdVjdJVdaeK8XeacZz0cZw3n4\/wBFY02nbLbYy\/qsR4Rl0k54vXfYJaC1dyMdeWkUuvsvcrnavqas4tNnqKgHIEjgcZ9PTtX3\/jGu\/wC1oGnyJx\/m\/sqXWaus9F+XHMal42DIG8Q9+XsVCNy1LdyG0NCLdC47yzbuHuPt6q6XhbqYSkm7Oo5PlH49yPXUNzpI+lumqjTZ7IwcnyAIJ9lRxUN1u9SYqGerqIGnBlncWtz7nHlzWqpNIUsUzqu6VL6+XmXS7NHnvv6nHgvFZqYzS\/h2n6frE\/LpAPy4\/Ed\/081ZS\/jmYzorWpl4XbbKm46ct1lpBNU3aZlWWktEYBLj4DnjxytLpiWumskT6\/i6Qn4C\/PEW4GCc887qNbNMhs3XrxL12tJz8W7Gd2B2\/TwWgWc53VtTp7PQwyx2wrl7hERZHcERRLjc6O1U5nq5gwf4W83PPcB2olciUlFXZLVZc9Q221HhqJ+KT\/px\/E717vVUnWr9qYnqQ\/DreTgSu2c8efM+m3ZlWlr0tbrYRIWdYn59LLvg+A5D6rTCo945drUqfaWXN\/0ivN61Bd8ttNu6tFnAnmxnHfvt7ArpFo4VM3WLzXy1kpH6QeFo8PLywtMiY2u7kT9MpZ1Hi\/HoRqO30dAwtpKaOEHnwt3Pme1SVBuF5t9rA65UsjceTObj6DdZuv1nVyUssttoHMhaeHrMu49Byz6lQoSkWnXpUVa\/kjtqq4GrrIrFDMyFriH1Er38LWt54J8sH2XZ2qLfQsjt1pp5K18TOFjYgcHHjjJ9lAtGlDdmMut1qJHOqSZDEBwk5OxJ7j3DsWtpKCjoGcFJTRwjGDwNwT5nmVeTilbU5qUa9STqaX83Yz5\/i268uhtkLvV+Pmc+y9waKpnSdNcqyorpO3icQD9\/mrKv1Fardls9WwyD\/lx\/E7y25euFVHUt1uRxZrQ8sPKao2BHyHzKJzemRMlQTtNuT9f+LIv6WgoqCPFNTRQgDctaAfU9qr6\/VVooAQaoTyAbMh+LPryHuoP8N3W5nivN3eWHYwwDAI+nyKtbfYLZbCHU1M3pAMdI\/wCJ3ueXoq7q1dzVOrLKEcK8fZFObzqK6uxa7b1aEkYmnGDjv329gV9ZpCprniW93SWoIz+XGdmnwJ\/oFqUTHbu5E\/TKWdRuX49CDQ2a3W4f7LSRsd+8jLvc7r7c7tR2mnM1XLw\/tYN3O8gqy56oZHP1C0xddrXbDg3aw+Pf\/e68W3SxNR1+9TdcqzghrjljfDx+iYeMyNp+ygvZENsF31aRJUONDbCctY39Ug+\/mdvBaWgt1JbKcQUkIjb2ntce8ntUpFEpN5cDSnRUHiecuYREVDcIiIDzI4sjc8NLi0E8I5nwWPsVJDfq+W5XaWOWbjxHSF38vHe09m3LzytkqOv0jaq+Z0xjfDI45JidgE5zkj1WkJJXOavTlNxaV7cGXYAAwBgBRKi722lB6eugYRzb0gz7c1SfwLREYfW1bmnmC4f0Uym0hZaYh3VTM4HOZXl3y5fJRaHMY670il1fwRZ9a0jpOht1LPWyn9Ia0gH7\/JcjFqm9Fwke210zh+kfqI+v0Wlp6anpY+jp4Y4m9zGgL25zWML3uDWtGSScABTiS7qI2M5\/cn5LL5KS36QtdE5skjDVTDcul3Ge\/h5e+VU3erprxeI7eZY4bZQnjnk4sNce4ePMDHeV1vOsBI80FnaZZpCGNmHLJ2+Hv80tOhYIg2W5ydK\/n0TDho8zzPyWiut6bOWeGf6VCKtx5dLneXVb6h3V7FbpastIbxlhDAP778Lx+B329N\/3xcOrxE56vCAdu44298rTQwQ00QigiZFG3k1gwAuizx27qOrYOf3ZX8FkiqoNNWq34dFSte8HIkl+JwPry9FaAADAGAF9RUbb1OiMIwVoqwRFT3vUMFp4YI2GorJP0Qs5+ZRJt2RE5xhHFJ5FhW11Nb6d09VM2Ng7TzPgB2rMuqLvqx5ZSh1DbM4MjtnSD7+Q28V2otO1V1qBcdQv43n+XTNOGsHj\/T3Wna0NaGtAAAwAOxXuo6Zs58M6\/eyjy4vryINqs1FZ4ejpY\/iIw+R27neZ+ynoio23mzpjFRVoqyCIigsEREAREQBERAERVl7vkFmpwXDpaiTaKFp3cf6KUm3ZFZzjCOKTyJFxudJaqY1FXJwt5Bo3c49wHashcKq4XiidX3BzqK0tOWRMOHzdwGeee87duCrCjtE1TKb1qWRvwDiZA7ZkY8R9vdcqSGTVl2dVVDXC1UxxBGdg8+X19AtopRzPOrSnVstL6L+34eB90nYQZfxiohbGHjNND+wdjvbl7rXL4AAMAYAX1ZSk5O7O6jSjShhQREVTUIigXm6xWe3SVUmC7lGwn9TuwKUruyKykopyeiIl+v34fw0dGzp7hNtHGN+HPaV8sGn220Grq3dPXy7vkdvw55gH6lcNMWl7OO8V44q2rJeMj+W093dn6YHetEryeHdRz04Oo9rPyXL5CIizOoIiIAiIgCIiAIiIAiIgIF5usVnt7qqTc5DWM7XE\/wB59FV2O0PdJ+OXWTpaqUcbA7YRN7Nuw49lXXivgk1Y1tze6GjoQHtYQT0ruYwB4+mB2LsZrpq1zoo2PobZnDnEfE\/w8fTbzWyi1E86VVTqvjbRePNiuqptW1xttCSy3wuDp58fr8B9vdammp4qSmjp4W8McbQ1o8AvFFRU9vpWU1NGGRsGw7\/E+KkKkpXyWh1UqTi3KWcn\/rIIiKhuEREAWUaw6g1fMJnE0lsI4WDkX57fUH2Wjr6ptFQT1TuUUZd5kDYKm0XSuis7quUfmVcpkJxgkch88n1WkcotnLW36kafDV+XyaFERZnUEREAREQBERAEREAREQBERARZrZQVEolmo4JHg54nRg5Pj3qUiJchJLQIiISEREAREQHiWKOaJ0UrA9jxhzXDIISKKOCJsULGxxsGGtaMABEQiyvc9oiISEREAREQBERAEREB\/9k=",
    "razonSocial": "MIGUEL ANGEL QUISPE CONDORI",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "MIGUEL QUISPE",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "REVISION TECNICA",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R1011\",\"id_control\":\"28667\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "17:40",
    "ubicacionGPS": "LatLng(lat: -23.6618501, lng: -70.4000078)",
    "horaLlegada": "17:37",
    "horaDespacho": "17:39",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 19/05/2026 17:40:28
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-K87JEkpUXgIVsBcUfIR.T6USFnbCPN+eW5BcBFxq.r3sa7h.Aug
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "22775730",
    "serieinterna": "EXEP2209",
    "correlativo": "1",
    "ddServicio": "Taller",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "maquina operativa externa",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12561",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABjALwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA+EAABAwMCAggEBAQDCQAAAAABAAIDBAURBiESMRMUQVFhcYGRIqGxwRUjMlIWM9HwQqLhJCUmQ1NUYpLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMBEAAgECAwUHAwUBAAAAAAAAAAECAxESITETIkFRcQQyYYGR0eEUM7EjQlLB8KH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREARF4llZDE+WRwaxjS5zj2AcygPJqYBUilMzBOW8Yjz8Rb34XVZTTUT7veKvUFQ0hvEY6dp\/wj\/QYHqVpaiqp6SPpKmeOFn7pHBo+atKNnYxpVccMbyXDodkWcqta29jujoYpq2U8gxpaCfM7\/JcTUatuWegp4bfGTs6T9XPxyfkp2b45FH2mne0d7pn8GoLg0ZcQB3lVtTqOz0o\/MuELjvtGeM\/LKqhpCeseJLvdp6g\/sYcAeWc7egVnS6as1JvHQRuOc5k+P65U2gtWMdeWkUuvx7la\/W9NI5zKGgqqp47A3APtk\/JPxHVdbkU9rhpGHbimO49z9lpY42RMDI2NY0cg0YAXpMUVohsaku9P0yMx1HWT9zdKRgPMBo2\/wAn3T8H1S\/Z98jA\/wDFv+gWnRRjfJD6aPGT9WZfpdYUG8kVNcGA7lmAfTGPorez3mG729tUxjmHJa9gBdwuHZnHdg+qiaivjaCE0VKS+vnHDGxvNmduI93gpOn7V+EWmOmd\/NceOTByOI\/\/AAKzs43aKU7xq4IybS1vnbkSYLlTVNdUUcTyZqfHSAtIxn6qUvIa0OLg0Au5kDmvSyZ1q\/EIiISEREARFzmmip4zJPKyJg5ue4AD1KDQ6Is9Wayt0D+ipGyVsxdwhsQ2Pr2+mVGEurLuPgjjtsLgf1DDvXmc+gV1B8cjmfaYXtHefgaSoqqekj6SpnjhZ+6RwaPmsjqXU1NcKI262GSd8xAc5rSBjPIbZOVMbpGggDq271stUWDie+R2G4Hf2n3XDSdFDWXGovDKZsEDPyqaMDltufE42z4nuV4qK3tbHPVnWqNU7JYvN2\/B4oKbVE1DFR00cdspo2loLhh7u8nmck5OQAptNoulMvT3KqnrpSQSXuIB8+0+60q5T1MFLGZKiZkTB\/ie4AKu0k9DZdlppb+duftoeKSgpKFnBS08cIxj4W4J8z2qQqCr1jbIH9FTdJWzE4DYW7E+Z+2VFFx1Vc89Ut8dDGeT5uY9+f8A6pgk82W+opR3YZ9P9Y1BIAyTgBVdZqW0UQPSVrHu7GRfGT7fdVjdJVdaeK8XeacZz0cZw3n4\/wBFY02nbLbYy\/qsR4Rl0k54vXfYJaC1dyMdeWkUuvsvcrnavqas4tNnqKgHIEjgcZ9PTtX3\/jGu\/wC1oGnyJx\/m\/sqXWaus9F+XHMal42DIG8Q9+XsVCNy1LdyG0NCLdC47yzbuHuPt6q6XhbqYSkm7Oo5PlH49yPXUNzpI+lumqjTZ7IwcnyAIJ9lRxUN1u9SYqGerqIGnBlncWtz7nHlzWqpNIUsUzqu6VL6+XmXS7NHnvv6nHgvFZqYzS\/h2n6frE\/LpAPy4\/Ed\/081ZS\/jmYzorWpl4XbbKm46ct1lpBNU3aZlWWktEYBLj4DnjxytLpiWumskT6\/i6Qn4C\/PEW4GCc887qNbNMhs3XrxL12tJz8W7Gd2B2\/TwWgWc53VtTp7PQwyx2wrl7hERZHcERRLjc6O1U5nq5gwf4W83PPcB2olciUlFXZLVZc9Q221HhqJ+KT\/px\/E717vVUnWr9qYnqQ\/DreTgSu2c8efM+m3ZlWlr0tbrYRIWdYn59LLvg+A5D6rTCo945drUqfaWXN\/0ivN61Bd8ttNu6tFnAnmxnHfvt7ArpFo4VM3WLzXy1kpH6QeFo8PLywtMiY2u7kT9MpZ1Hi\/HoRqO30dAwtpKaOEHnwt3Pme1SVBuF5t9rA65UsjceTObj6DdZuv1nVyUssttoHMhaeHrMu49Byz6lQoSkWnXpUVa\/kjtqq4GrrIrFDMyFriH1Er38LWt54J8sH2XZ2qLfQsjt1pp5K18TOFjYgcHHjjJ9lAtGlDdmMut1qJHOqSZDEBwk5OxJ7j3DsWtpKCjoGcFJTRwjGDwNwT5nmVeTilbU5qUa9STqaX83Yz5\/i268uhtkLvV+Pmc+y9waKpnSdNcqyorpO3icQD9\/mrKv1Fardls9WwyD\/lx\/E7y25euFVHUt1uRxZrQ8sPKao2BHyHzKJzemRMlQTtNuT9f+LIv6WgoqCPFNTRQgDctaAfU9qr6\/VVooAQaoTyAbMh+LPryHuoP8N3W5nivN3eWHYwwDAI+nyKtbfYLZbCHU1M3pAMdI\/wCJ3ueXoq7q1dzVOrLKEcK8fZFObzqK6uxa7b1aEkYmnGDjv329gV9ZpCprniW93SWoIz+XGdmnwJ\/oFqUTHbu5E\/TKWdRuX49CDQ2a3W4f7LSRsd+8jLvc7r7c7tR2mnM1XLw\/tYN3O8gqy56oZHP1C0xddrXbDg3aw+Pf\/e68W3SxNR1+9TdcqzghrjljfDx+iYeMyNp+ygvZENsF31aRJUONDbCctY39Ug+\/mdvBaWgt1JbKcQUkIjb2ntce8ntUpFEpN5cDSnRUHiecuYREVDcIiIDzI4sjc8NLi0E8I5nwWPsVJDfq+W5XaWOWbjxHSF38vHe09m3LzytkqOv0jaq+Z0xjfDI45JidgE5zkj1WkJJXOavTlNxaV7cGXYAAwBgBRKi722lB6eugYRzb0gz7c1SfwLREYfW1bmnmC4f0Uym0hZaYh3VTM4HOZXl3y5fJRaHMY670il1fwRZ9a0jpOht1LPWyn9Ia0gH7\/JcjFqm9Fwke210zh+kfqI+v0Wlp6anpY+jp4Y4m9zGgL25zWML3uDWtGSScABTiS7qI2M5\/cn5LL5KS36QtdE5skjDVTDcul3Ge\/h5e+VU3erprxeI7eZY4bZQnjnk4sNce4ePMDHeV1vOsBI80FnaZZpCGNmHLJ2+Hv80tOhYIg2W5ydK\/n0TDho8zzPyWiut6bOWeGf6VCKtx5dLneXVb6h3V7FbpastIbxlhDAP778Lx+B329N\/3xcOrxE56vCAdu44298rTQwQ00QigiZFG3k1gwAuizx27qOrYOf3ZX8FkiqoNNWq34dFSte8HIkl+JwPry9FaAADAGAF9RUbb1OiMIwVoqwRFT3vUMFp4YI2GorJP0Qs5+ZRJt2RE5xhHFJ5FhW11Nb6d09VM2Ng7TzPgB2rMuqLvqx5ZSh1DbM4MjtnSD7+Q28V2otO1V1qBcdQv43n+XTNOGsHj\/T3Wna0NaGtAAAwAOxXuo6Zs58M6\/eyjy4vryINqs1FZ4ejpY\/iIw+R27neZ+ynoio23mzpjFRVoqyCIigsEREAREQBERAERVl7vkFmpwXDpaiTaKFp3cf6KUm3ZFZzjCOKTyJFxudJaqY1FXJwt5Bo3c49wHashcKq4XiidX3BzqK0tOWRMOHzdwGeee87duCrCjtE1TKb1qWRvwDiZA7ZkY8R9vdcqSGTVl2dVVDXC1UxxBGdg8+X19AtopRzPOrSnVstL6L+34eB90nYQZfxiohbGHjNND+wdjvbl7rXL4AAMAYAX1ZSk5O7O6jSjShhQREVTUIigXm6xWe3SVUmC7lGwn9TuwKUruyKykopyeiIl+v34fw0dGzp7hNtHGN+HPaV8sGn220Grq3dPXy7vkdvw55gH6lcNMWl7OO8V44q2rJeMj+W093dn6YHetEryeHdRz04Oo9rPyXL5CIizOoIiIAiIgCIiAIiIAiIgIF5usVnt7qqTc5DWM7XE\/wB59FV2O0PdJ+OXWTpaqUcbA7YRN7Nuw49lXXivgk1Y1tze6GjoQHtYQT0ruYwB4+mB2LsZrpq1zoo2PobZnDnEfE\/w8fTbzWyi1E86VVTqvjbRePNiuqptW1xttCSy3wuDp58fr8B9vdammp4qSmjp4W8McbQ1o8AvFFRU9vpWU1NGGRsGw7\/E+KkKkpXyWh1UqTi3KWcn\/rIIiKhuEREAWUaw6g1fMJnE0lsI4WDkX57fUH2Wjr6ptFQT1TuUUZd5kDYKm0XSuis7quUfmVcpkJxgkch88n1WkcotnLW36kafDV+XyaFERZnUEREAREQBERAEREAREQBERARZrZQVEolmo4JHg54nRg5Pj3qUiJchJLQIiISEREAREQHiWKOaJ0UrA9jxhzXDIISKKOCJsULGxxsGGtaMABEQiyvc9oiISEREAREQBERAEREB\/9k=",
    "razonSocial": "MIGUEL ANGEL QUISPE CONDORI",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "MIGUEL QUISPE",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "REVISION TECNICA",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R1011\",\"id_control\":\"28667\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "17:40",
    "ubicacionGPS": "LatLng(lat: -23.6618501, lng: -70.4000078)",
    "horaLlegada": "17:37",
    "horaDespacho": "17:39",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


19/05/2026 17:40:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:22775730

[19/05/2026 17:40:28] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('22775730', 'EXEP2209', 1, 27729424, 0, NOW(), 
				'17:39', '17:37', '17:40', 4, 'maquina operativa externa', -1, 
				'', '','1','0',
				'0',3,'../csj.digital-service.cl/uploads/firmas/firma_0_1779226828.png', '', null, 'COMPLETADO','LatLng(lat: -23.6618501, lng: -70.4000078)' )
				
[19/05/2026 17:40:28] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200371
[19/05/2026 17:40:28] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200371', 'EPS-R1011', 1)
				
[19/05/2026 17:40:28] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28667 and
				    IDproducto = 'EPS-R1011'
				

19/05/2026 17:40:28 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R1011';
                
19/05/2026 17:40:28 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200371'                    
				WHERE idllamado = 12561			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


19/05/2026 17:40:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:29 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12561			
				
19/05/2026 17:40:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


19/05/2026 17:40:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

19/05/2026 17:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

[19/05/2026 17:40: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;
                

19/05/2026 17: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 = 12561
                

19/05/2026 17:40:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

19/05/2026 17:40:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

19/05/2026 17:40:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12561
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12561
                

[19/05/2026 17:40: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;
                

[19/05/2026 17:40: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;
                

19/05/2026 17: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 = 12561
                

19/05/2026 17: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 = 12561
                

19/05/2026 17: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 = 12561
                

19/05/2026 17:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12561
                

19/05/2026 17:40:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17:40:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17:40:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

[19/05/2026 17:40:42] 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;
                

[19/05/2026 17:40:42] 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;
                

19/05/2026 17: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 = 12612
                

[19/05/2026 17:40:42] 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;
                

19/05/2026 17:40:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17:40:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

[19/05/2026 17:40:45] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12612
                

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

[19/05/2026 17:40:45] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

[19/05/2026 17:40: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;
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17:41:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12612
                

19/05/2026 17:41:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17:41:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12612
                

19/05/2026 17:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17:41:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17:41:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17:41:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17:41:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12612
                

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17:41:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17:41:29 - logentry: =========================================
FECHA: 19/05/2026 17:41:29
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-o-dWZ04je5qYfa-H7WuCzPfT6s6XayM.mogAUdOjI77WnVhPBdF
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65152165",
    "serieinterna": "EP2105",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "duplicado",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12612",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABIANMDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCBwH\/xAA1EAABBAIAAgcHAwMFAAAAAAABAAIDBAURBiESMUFRYXGBExQiMpGhsUJT0SPh8AczNFJi\/8QAGQEBAQEBAQEAAAAAAAAAAAAAAAMCBAEF\/8QAKBEAAgIBAwIEBwAAAAAAAAAAAAECAxESITEEIjJBYaETUYGRsdHh\/9oADAMBAAIRAxEAPwD7MiwRXK09iavFM18sBAkaOtu1nQ8TT4CIiHoREQBERAEREAREQBEUxxK90+dw9FruiDL03kHR1sfwVqKy8ErbPhx1FOiIslQuVl+IKWIb0ZHe0sEfDCz5j59y0szn5nWhicMBNcfydIObYv7\/AIWtFUxPC7DcyVgW8i74tk9J2\/8AyD+T\/ZUjD5nJZe3lQ8uW+F+2fk17iW\/G6w1kWIptb0i+YgnXjsb+wW\/wndu3sdJJakErWPLY5NaLx2krnR1cnxZK2a6DTxjXbbCNh0n+d\/0VVXrxVYGQQRiONg01reoL2bSWDFEZynry8evn9PJGRERSO4IiIAtTJ5KviqTrVl2mjk0DrcewBMjkq2Mqmey8Dkegz9Tz3Ad6nMfjbfE1oZTLktqA\/wBCqCddfb4cvXyW4x83wc9trT0Q3k\/b1ZS464MhQhtiJ0Qlb0g12tgItgAAaA0Aiwy6yluYmVa8ViSxHCxssuum8N5u13lZkRAklwEREPQiIgCIiAIiIAiLy57Ga6Tg3fedID0pgEXP9Q+R37nW+mx9\/nVK2Rjzpr2uPgdqPw2Rp1svmcncsMja6UsjB+Zw2eodfUAqQWzOTqJLME355+xZKR4r4mMDzjKMobIeU0wP+34DXb393n1YLfF93KWW0MLXLHSnote75z4gdQ81v4zgqpXcJsg83JidkHkzf5Pr9FqMVDeZKy2d60UfVnJwxvure78P0\/Zh3KW\/ONFx8O4eA2u\/jOFalKb3q09162TsyTcwD3gHt8Su41oa0NaAABoAdiFwaNuIA7ysysb4K19LGCWrfH2X0P1F5a5rxtrg4eB2vSmdYRY5p4a0RlnlZFG3rc86AU5b4udYmNXB1H3Jv3C09EeOv50tRi5cErLoV+J\/spXvZGwvkcGNaNlzjoBT97ixhl90w8Dr1p3ykNPQHj4j7eKwxcNX8o4TZ++9\/dXiOmj6cvoPVd6ljaeOj6FOsyEHr6I5nzPWVrtj6ks3WcLSvf8AhxKXDU1y0L+flFibXwwA\/AzmeX9vyqQAAaA0Av1Flyb5LV1RrWwREWSgREQBERAEREAREQBaWWycWIoPtSsc\/R01rQeZ8+zzK3Vhs1YLkJhsRNkjPW1y9WM7mZ6nF6eSNdmMplmGWXKVsTVcPha14Mh8tfF+FozM4eaCHW8hk7Lj+gdEE9nWN\/lVkfCOEY\/pe59LnvTnuI\/K6VejUqf8erDDoa2xgH4VviRXB85dLbLxte7\/AEj51Jw7elgluMpGnWjjMn9eTbiB6b+wWu7GCDFVsh7w3207z7OsY9l2na327HmPqrTjW57tgXRA6dYeGenWfxr1UhhqF\/N32ivIYvYMDTNs6iGtD1PPkO3ZVYzbjlnFfRCFvw4rLf5M1LI2eGLsjpqlaWaUbd8fxs7S3l8vlr8Lo3+Ncp0OlBjxVYQPjkaXHmO\/kPsqTFcO47Eta6GEPmA5zP5u9O70XVUpWRbzjJ3V9LdGGnXj0599j5sMrNbAdf4htRF2iWRRHX2ICxiHG2NCtDlMhLvXMhrdnyDivostem1rpJYYAANuc5o5eq4d3i6vHJ7piK7r055AMaegPp1+n1WlNvwolZ0yhvZP8t+7f4NbhbEWsU6a\/ee2pCWAezeR8vPrJ+XR191nucWOnnNTB1XXZv3NHoN\/nz5BY4uH8pmnifP23Mj3ttWI6A8+wfc+IVHUp1qMIhqwMhYOxo1vz71iTWcvdl6a7NGiHbH15\/hOQ8LXMlKLOfuvlPWIIzyb69Q9PqqOpTrUYRDVgZCwdjRrfn3rOim5NnVXTCvdLf5+YREWSwREQBERAEREAREQBERAEREAREQBeXvbHG6R7g1rQS4nsC9KO4nyz8hLJjKb3CCvt12UA6AHZ\/nWVqMdTwRutVUcs42cykvE2YhgqsPswfZwtPaSebj3b5egV9i8XXxNJtWuOQ5ucRzee8qV4MqV6NaTMXpY4Q\/ccLpHBo1+ojfjy9Cuhb4sfYk92wdOS3IToSlpDB\/njpWmm+2PCODppRgnda+6X3KKaeGtEZZ5WRRt63POgFOW+LnWJjVwdR9yb9wtPRHjr+dLxDwtcyUos5+6+U9YgjPJvr1D0+qo6lOtRhENWBkLB2NGt+fep9sfU6s3W8dq9\/4T0XDWQyhEufyMjxyIrwnTR59n0Hqu9RxtLGx+zp12Qg9ZHMnzJ5lbSLLk2VrohB5S3+b5CIiyWCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgChbvDOaa+atAY5KtmcF0hcC\/Q+Uu5DkB2DvRFuMnHghdRG1dx0qPA9WMMdfsSWnM6mA9FgHd3\/AHCoq9WvUj9nWgjhZ\/1jaGj7Ii8lJy5NV011+FGZERZKhERAEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "FUNDACION EDUCACIONAL NETLAND SCHOOL",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "ANLLELY",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56965872793",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "17:41",
    "ubicacionGPS": "LatLng(lat: -23.6618436, lng: -70.4000581)",
    "horaLlegada": "17:37",
    "horaDespacho": "17:40",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 19/05/2026 17:41:29
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-o-dWZ04je5qYfa-H7WuCzPfT6s6XayM.mogAUdOjI77WnVhPBdF
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65152165",
    "serieinterna": "EP2105",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "duplicado",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12612",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABIANMDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCBwH\/xAA1EAABBAIAAgcHAwMFAAAAAAABAAIDBAURBiESMUFRYXGBExQiMpGhsUJT0SPh8AczNFJi\/8QAGQEBAQEBAQEAAAAAAAAAAAAAAAMCBAEF\/8QAKBEAAgIBAwIEBwAAAAAAAAAAAAECAxESITEEIjJBYaETUYGRsdHh\/9oADAMBAAIRAxEAPwD7MiwRXK09iavFM18sBAkaOtu1nQ8TT4CIiHoREQBERAEREAREQBEUxxK90+dw9FruiDL03kHR1sfwVqKy8ErbPhx1FOiIslQuVl+IKWIb0ZHe0sEfDCz5j59y0szn5nWhicMBNcfydIObYv7\/AIWtFUxPC7DcyVgW8i74tk9J2\/8AyD+T\/ZUjD5nJZe3lQ8uW+F+2fk17iW\/G6w1kWIptb0i+YgnXjsb+wW\/wndu3sdJJakErWPLY5NaLx2krnR1cnxZK2a6DTxjXbbCNh0n+d\/0VVXrxVYGQQRiONg01reoL2bSWDFEZynry8evn9PJGRERSO4IiIAtTJ5KviqTrVl2mjk0DrcewBMjkq2Mqmey8Dkegz9Tz3Ad6nMfjbfE1oZTLktqA\/wBCqCddfb4cvXyW4x83wc9trT0Q3k\/b1ZS464MhQhtiJ0Qlb0g12tgItgAAaA0Aiwy6yluYmVa8ViSxHCxssuum8N5u13lZkRAklwEREPQiIgCIiAIiIAiLy57Ga6Tg3fedID0pgEXP9Q+R37nW+mx9\/nVK2Rjzpr2uPgdqPw2Rp1svmcncsMja6UsjB+Zw2eodfUAqQWzOTqJLME355+xZKR4r4mMDzjKMobIeU0wP+34DXb393n1YLfF93KWW0MLXLHSnote75z4gdQ81v4zgqpXcJsg83JidkHkzf5Pr9FqMVDeZKy2d60UfVnJwxvure78P0\/Zh3KW\/ONFx8O4eA2u\/jOFalKb3q09162TsyTcwD3gHt8Su41oa0NaAABoAdiFwaNuIA7ysysb4K19LGCWrfH2X0P1F5a5rxtrg4eB2vSmdYRY5p4a0RlnlZFG3rc86AU5b4udYmNXB1H3Jv3C09EeOv50tRi5cErLoV+J\/spXvZGwvkcGNaNlzjoBT97ixhl90w8Dr1p3ykNPQHj4j7eKwxcNX8o4TZ++9\/dXiOmj6cvoPVd6ljaeOj6FOsyEHr6I5nzPWVrtj6ks3WcLSvf8AhxKXDU1y0L+flFibXwwA\/AzmeX9vyqQAAaA0Av1Flyb5LV1RrWwREWSgREQBERAEREAREQBaWWycWIoPtSsc\/R01rQeZ8+zzK3Vhs1YLkJhsRNkjPW1y9WM7mZ6nF6eSNdmMplmGWXKVsTVcPha14Mh8tfF+FozM4eaCHW8hk7Lj+gdEE9nWN\/lVkfCOEY\/pe59LnvTnuI\/K6VejUqf8erDDoa2xgH4VviRXB85dLbLxte7\/AEj51Jw7elgluMpGnWjjMn9eTbiB6b+wWu7GCDFVsh7w3207z7OsY9l2na327HmPqrTjW57tgXRA6dYeGenWfxr1UhhqF\/N32ivIYvYMDTNs6iGtD1PPkO3ZVYzbjlnFfRCFvw4rLf5M1LI2eGLsjpqlaWaUbd8fxs7S3l8vlr8Lo3+Ncp0OlBjxVYQPjkaXHmO\/kPsqTFcO47Eta6GEPmA5zP5u9O70XVUpWRbzjJ3V9LdGGnXj0599j5sMrNbAdf4htRF2iWRRHX2ICxiHG2NCtDlMhLvXMhrdnyDivostem1rpJYYAANuc5o5eq4d3i6vHJ7piK7r055AMaegPp1+n1WlNvwolZ0yhvZP8t+7f4NbhbEWsU6a\/ee2pCWAezeR8vPrJ+XR191nucWOnnNTB1XXZv3NHoN\/nz5BY4uH8pmnifP23Mj3ttWI6A8+wfc+IVHUp1qMIhqwMhYOxo1vz71iTWcvdl6a7NGiHbH15\/hOQ8LXMlKLOfuvlPWIIzyb69Q9PqqOpTrUYRDVgZCwdjRrfn3rOim5NnVXTCvdLf5+YREWSwREQBERAEREAREQBERAEREAREQBeXvbHG6R7g1rQS4nsC9KO4nyz8hLJjKb3CCvt12UA6AHZ\/nWVqMdTwRutVUcs42cykvE2YhgqsPswfZwtPaSebj3b5egV9i8XXxNJtWuOQ5ucRzee8qV4MqV6NaTMXpY4Q\/ccLpHBo1+ojfjy9Cuhb4sfYk92wdOS3IToSlpDB\/njpWmm+2PCODppRgnda+6X3KKaeGtEZZ5WRRt63POgFOW+LnWJjVwdR9yb9wtPRHjr+dLxDwtcyUos5+6+U9YgjPJvr1D0+qo6lOtRhENWBkLB2NGt+fep9sfU6s3W8dq9\/4T0XDWQyhEufyMjxyIrwnTR59n0Hqu9RxtLGx+zp12Qg9ZHMnzJ5lbSLLk2VrohB5S3+b5CIiyWCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgChbvDOaa+atAY5KtmcF0hcC\/Q+Uu5DkB2DvRFuMnHghdRG1dx0qPA9WMMdfsSWnM6mA9FgHd3\/AHCoq9WvUj9nWgjhZ\/1jaGj7Ii8lJy5NV011+FGZERZKhERAEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "FUNDACION EDUCACIONAL NETLAND SCHOOL",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "ANLLELY",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56965872793",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "17:41",
    "ubicacionGPS": "LatLng(lat: -23.6618436, lng: -70.4000581)",
    "horaLlegada": "17:37",
    "horaDespacho": "17:40",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


19/05/2026 17:41:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:65152165

[19/05/2026 17:41: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('65152165', 'EP2105', 1, 27729424, 0, NOW(), 
				'17:40', '17:37', '17:41', 10, 'duplicado', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779226889.png', '', null, 'COMPLETADO','LatLng(lat: -23.6618436, lng: -70.4000581)' )
				
[19/05/2026 17:41:29] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200372

19/05/2026 17:41:29 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200372'                    
				WHERE idllamado = 12612			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


19/05/2026 17:41:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:30 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12612			
				
19/05/2026 17:41:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


19/05/2026 17:41:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

19/05/2026 17:41:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12612
                

[19/05/2026 17:41:33] 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;
                

[19/05/2026 17:41:33] 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;
                

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

[19/05/2026 17:41:33] 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;
                

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12612
            GROUP BY l.idllamado;
            

19/05/2026 17: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 = 12612
                

[19/05/2026 17:41:33] 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;
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                

19/05/2026 17: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 = 12612
                
[20/05/2026 09:00:18] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[20/05/2026 09:00:18] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[20/05/2026 09: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;
                

20/05/2026 09:00:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[20/05/2026 09:00: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;
                

[20/05/2026 09:00: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;
                

[20/05/2026 09:00: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;
                

20/05/2026 09:00:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 09:00:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[20/05/2026 09:00: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;
                

[20/05/2026 09:00: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;
                

20/05/2026 09:00:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[20/05/2026 09:00: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;
                

20/05/2026 09:00:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[20/05/2026 09:00: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;
                

[20/05/2026 09:00: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;
                

20/05/2026 09:00:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[20/05/2026 09:00: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;
                

[20/05/2026 09:00: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;
                

[20/05/2026 09:53:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 09:53:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 09:53:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[20/05/2026 09:53: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;
                
[20/05/2026 09:54: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[20/05/2026 09:54:39] 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;
                

[20/05/2026 09:54:41] 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;
                

20/05/2026 09:54:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12644
            GROUP BY l.idllamado;
            

[20/05/2026 09:54:52] 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;
                

[20/05/2026 09:55:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 09:55:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[20/05/2026 09: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;
                

[20/05/2026 09:55:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 09:55:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

20/05/2026 09:55:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

20/05/2026 09:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:55:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[20/05/2026 09:55:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[20/05/2026 09:55:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 09:55:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[20/05/2026 09:55: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;
                

20/05/2026 09:55:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 09:56:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 09:56:04 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 09:56:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 09:56:04 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[20/05/2026 09: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;
                

20/05/2026 09:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 09:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

[20/05/2026 09:56: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;
                

20/05/2026 09:56:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 09:56:10 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[20/05/2026 09:56:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 09:56:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

[20/05/2026 09:56:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[20/05/2026 09:56: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;
                

20/05/2026 09:56:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

20/05/2026 09:56:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09:56:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09:56:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:56:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

20/05/2026 09:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:56:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:56:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09:56:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:56:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:57:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:57:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09:57:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:57:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:57:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:57:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:57:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:57:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/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 = 12653
                

20/05/2026 09:58:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

20/05/2026 09:58:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:58:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:58:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:58:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:58:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:58:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09:58:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

20/05/2026 09: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 = 12653
                

20/05/2026 09:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

20/05/2026 09:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

20/05/2026 09:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 09: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 = 12653
                

20/05/2026 10:00:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:00:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:01:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:01:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10: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 = 12653
                

20/05/2026 10: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 = 12653
                

20/05/2026 10:04:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

20/05/2026 10:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

20/05/2026 10:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

20/05/2026 10:04:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

20/05/2026 10:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:27 - logentry: =========================================
FECHA: 20/05/2026 10:04:27
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-DE2NlFsTz3WcZv4+A6Q3Wj8SA6T3KyM2fANQcZgaD1.DgeR.mlH
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "86551700",
    "serieinterna": "KY2337",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Ferreteria prat casa matriz",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "2 PISO",
    "rutTecnico": "19969062",
    "contador": "215562",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Retiro de maquina",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12653",
    "observacion": "Retiro de maquina",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADcASYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABEEAABAwMBBAcFBQIOAwEAAAABAAIDBAURBhIhMUETIlFhcYGRFKGxwdEVIzJC8CTCFiYzQ1JTYnKCkqKy4fEHNGMl\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECAgYKAgMBAAAAAAAAAAECAxEhMQQSIkFRcRMyYYGRobHB0eEUMyNC8CT\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBERAc5aiGF0bJZWMdK7ZYHOxtHsC6LKzE3jXEUPWMFtbtndu29x+OPRapSkrWKqdTXcuCdgiIoloRF8SyshifLI4NYxpc5x5AcSgPJ6iGlhdNPI2ONoyXOOAFnZdXS1Mhjs9smrAN3SEENB7xjw5hRYIJtYXR9RUGRlpgOImDq9If1xPktZBBFTQshgjbHGwYa1owArLKOeLMilUrYwdo8d7+jOfxxrTnNLQNPLcTj\/UnsOr6bfFcaaob\/QeN\/qR81p0XNfsRL8Zb5PxMsdQ323jaulm+6aOvJCdzR27sj3jyV9brnSXWmE9JKHt\/MOBaewjkpTmhzS1wBBGCDzWXulpmsdSbxZWbLW\/+xTAdVzeZA\/WF3ZlhkyL6SjjfWj5\/ZqUUK1XSnu9E2ppzu4OaeLD2FTVBq2DNUZKSusgiIuHQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCjXGsZb7fPVyEARMJ38zyHmcBSVmNWySVtVQ2OEZdUvD5CDvDR+ifJSiruxTWnqU21nu5nbR1HJFbH107tqaueZHHnjfjPvPmtCviKJkMTIo2hrGNDWtHIDgF9pJ3dyVKHRwUeAREUSwKg1jWOp7KaeLPS1bxE0Acuf081frMarHTXeyU3Fr6jLh3Zb\/wAqdPrIz6U2qTtvw8cC9tlE23W2no24PRMAJA3E8z5nKlIig3cvilFJIIiIdCIiAytADZ9aT0Iy2mrmdJG0DDQ7j8nD0WqWZ1k0UzKC6NBL6WoHA8jv+LQtK0hzQ4bwRkKyeKTM1DZlKnwd\/E9REVZpCIiAIiIAiIgCIiAIiIAiL4lmigYZJpGRsHFz3ABAfaLxrg5oc0ggjII5r1AEREAREQBERAeEgDJOAFltOf8A61\/r72doxNPRQZ7P+gPVWGqrg6hssjYj99UHomAcd\/HHkpdktwtdpgpcYe0Zfvz1jvP0ViwjfiZZ\/wAlZR3Rx79xPREVZqCIiALMak6upLE47gZiAe\/ab9Vp1mNX4grLPWvIEcFT1s+LT+6VOn1jNpX6m+XqjToiKBpCIiAIiICl1dF0umqrAyWbLh5OGfdlTLLN7RZKKXIJMLc4Od4GCvu6RCe01cR\/PC8e4qt0bKZNNwA\/zbnt\/wBRPzVn9O8zZaRzXo\/svURFWaQiIgCIiAIiIAiIgCIiAKh1oQNOTAkZc9oGSBzz8lfKBfIRPY61haCegeRkZ3gEhSg7SRVXjrUpLsPuzyCWzUTxzp2f7QpipdIymXTVLni3ab6OPyV0klaTR2jLWpxfYgiIolgREQBEUK73Blrtc9W872N6g7XHcB6rqV8DkpKKbe4oZ2tv2s2RZ26W2jLhyL88PXAP91atUGkKF1NaPapW\/f1julc7mRy+Z81fqU3jZbjPo8Xq67zlj8eQREUDSEREAVRqih9usFQwDL4x0rd+N7ePuyrdeEAjBGQV1OzuQnBTi4veVmnK77QsVNMXZe1vRv35O03dv8ePmrRZbTZNovVdY5HnZz0tPnmMb\/dj0K1KlNWkV6PNypq+awfNBERQLwiIgOVU3bpZm5xtMcM+SotDu2tP4x+GZw+B+avp3NbTyOd+EMJPhhUGhmkafJP5pnEbu4Ka6jM0\/wB8eT9jRoiKBpCIiAIiIAiIgCIiAIiIAviZnSwvj\/ptI9V9ogM1oSQusckZ3GOdwx5A\/VaVZjSH3NbeKQjZ6KoyAfFw+QWnU6nWZm0T9Mf9kERFA0hERAFltSySXW80VhhB2C4Sznlj\/rPmQtLNKyngkmkOGRtLnHuAys5pKGasqK2+1H4qp5bGCODQfhuA\/wAKshheRl0jbcaS358kaZrQ1oa0AADAA5L1EVZqCIiAIiIAiIgMxq2mdSS0l9gH3lLI0SY\/M3PP4ea0cE0dTBHPE7ajkaHNPaCvispIq6jlpZhlkrS093es\/pOqlo5J7DW9WemJdFn8zO71z59ys60eRl\/XW7Jev2adERVmoIiICvv0wgsNc8\/1DmjfjeRgfFR9KQ9DpukHEuDnHzcSo+tKkQ6ffCD16h7WNA48cn4e9XFBT+y2+np8Y6KJrMHuGFPKBmWOkPsXq\/okIiKBpCIiAIiIAiIgCIiAIiIAiIgMxbM0+u7nBwbNEJABzPVPzK06zFd+z6\/oJODZ4C095w7\/AIWnU57n2GbR8NaPBv5CIigaQiIgM5rKsIoYbbC49PWyBgA\/o5+uB6q7oaRlBQw0kZJbEwNBPPvWeodu86xqKw4dTW8dFEeI2uG7\/Uc+HcVqVZLBKJlo7c5VO5cl9hERVmoIiIAiIgCIiALN6qoJo3097ohmooyNsD8zP17iexaReEAjBGQVKMtV3K6tNVI6rI1ur4bnQxVcBy2QZI5tPMHwUpY+rhn0hcjW0jHy2yoP30Q\/mz3fL0Wsp6iKqgZPBIJI3jLXN4FdlG2KyIUarleMsJLP5OiIvHODWlziAAMknkoF5mL7m4aqtdtHWZEenkA8c7\/JvvWoWX04110vVdfHg9GT0UGezt9APUrUKyeFlwM2j7WtU4vyyQREVZpCIiAIiIAiIgCIiAIiIAir7jfLdagRVVDRJjIjbvefL6qkbfb\/AHcl1otzYqfgJZuPjvIHplTUG8SiekQg9XN8Fiz71cfZ6+0VuDiKow492QfkVqFg9R2+\/NtgqrlXRTMjkBDIxjZJ3dg\/RVjFf7tavZ3XmGKWlqMbNRFjdntx3b+A+k3C8VYywrqFWbkmk7fGJq0XjXBzQ5pBBGQRzXqpPRCrr9cBbLNUVIzt7OyzH9I7h9fJWKy1+zeNSUNmY8dFCemnHvx44\/3KcFd4lGkTcaeGbwXNlhpW3C32OHLSJZx0smRv38B6YVyiKLd3cspwUIqK3BERcJhERAEREAREQBERAc5oY6iF8MzA+N4w5rhuIWTbJNo66NheXyWmpd1Sd5iP69Qtgo9bRU9wpX01TGHxvG8dneO9TjK2DyKK1Jz2o4SWXxyOzXNewPY4Oa4ZBByCFR6urzS2j2WPfPWHomNzjdz+nmq+3V8+mK\/7Juby6jef2aoPADv7t\/l4L6tjTqXUT7s\/PsdEQyna4fidxz5E59FJQ1Xd5FE6\/SQ6OOEnhbhxL+0W9lrtcFIwb2N657XHeT6qaiKtu+JtjFRSS3BERcOhERAEREAREQBEUK6XSmtNG6oqHf3GA73nsC6lfBHJSUVd5HarrKegpn1FTKI42DeT8B2lZuW63jUEjobLEaalB2XVUm7a8D9N\/gvmjttfqapbX3kGKjbvhpQSNocifrxPgtXHGyKNscbGsY0Ya1owAO4KeEO1mVa9fHqx838IprXpehoPvpx7ZVO3ulm37+4H\/tXaIoNt5miFONNWirFNq2PpdNVY5tDXDycEp6SO8aTp6eXH3lM0B3HZcBuPqpd7j6Wx1zBxMDyPEDKiaSk6XTVIebQ5p8nFTT2L9pRJJ17PJx9\/sj6PrJZKGa31GBNQv6MjO\/H\/AGCFoVlapgs+t6eoYNmG4t2HDPF+QD79k+ZWqXJ53W87ozai4POOHx5HKpqI6SmlqZnbMcTS5x7gs9pCF9U6svc8ezLVyEM7mA78ee7\/AAr3Vk0lZLS2Kn\/lKtwc89jQePHuJ8loKanjpKaKmhbsxxNDWjuC71Y8zn7K3ZH1fwjqiIqzUEREAREQBERAEREAVTfb\/BZI4tphlmldhsTeOOZ\/XPzVssXdCyp1Jc6iYDYoaFwYCc5cW4G7lvcVOEU3iZtJqShDZzZp7RcW3W2xVjWlu2N7TyI4hTVSaRYYtM0xeNnO07eeW0VCul6qbtVm0WI7RO6epH4WDng\/P0XXG8mkFW1aUZSzaXezjqeujvEkdkt7BUVBfl7wMiPHLPLvPIL5t9VUaSrBbLjh9DK4mGoa3AB7\/mOXgr2yWSnstJ0UXXldvllI3uPyHcpdbRU9wpX01TGHxvG8dneO9d10tncVKhUb6Vu0\/Lkd2uDmhzSCCMgjmvVk6SrqdK1jbfcHmS3SH7ioP5O4rVtcHNDmkEEZBHNQlGxppVVNcGs0eoiKJaEREAREQBEUO6XKC00L6ufJa3cGji48gF1K5yUlFXeRzu95pLNTGWodl5B6OIHrPP65qntFpqrtVi83oZJ309OfwsHI4+XmV5Y7RNcqv7du7dqR52oIT+FjeRx8B5rUqbajgszLGMqzU59XcvdhERVmsIiIDjVs6SjnZu60bhv8FSaIftaeaN\/VlcPgfmr9zQ9haeBGFm9BuJskrDuLKhwxz\/C1TXUZmnhXhyfsea2DoIbfXtGXU1QMfH91aSSWOKF00jw2NjS5zuQA35VNrGES6bqDjJjLXj\/MB8CVV3u5TVdktlspiXVFwjj2+4YHHxPuBUktaKKp1OhqTfFJ+xI0y190udZfpmkB7jHA0\/laPPswPVahR6Ciit9DDSQ\/gibs57TzPmclUupLnV+109otrzHUT4dJKP5tmcZzy558O9ce3LAsjahSvLF+rZokWXoZ6ux6gitVVUvqaeqbmOSQ\/hdvPvOfULUKMo2LaVTXTws1mEXy+RkYBe9rATgbRxkqNWXSioJI46uobE6XOwHZ37wPmFxJsm5KKu2S0RFwkERU1w1XardK+F8rpJmEhzI2k4PZngupN5EJ1IwV5OxcqsdqK0isFL7Ywy5Iw0EgHx4KkmudfqqQ0dpDqajA+\/neN5yOH\/HwC56ksdHadNNFJCNtkzS+YjLzxHHxxuVigr2lmZZ6RJxc6awW97+XybJYbWFDPS3Iz00gP2mBE6MbiSNn5gb1smVEbaFtS+QCMRB7nnsxnKzlr29Q6ifd3sc2jpRsUwcCNo9vz8wOSU9ltndKSqRVNZv\/ADfgc4NP3+qpGUlXXspaRrQzoYgMkDkcfU55rR262UlqphT0key3iXHe5x7Sealooym2W06EKbusX2hERQLyPW0VPcKV9NUxh8bxvHZ3jvWapq2q0nVtt9wLprdIfuKj+r7j9PRa1cKyjp6+mdTVUYkjfxB+I7FOMrYPIoq0nJ68MJL\/AFmdWua9gexwc1wyCDkEL6WOifXaNqRFPtVFplf1X8TH9PDnyWthmjqIWTQvD43jLXNO4hclG3I7Sq6+DVms0dERFEuCIiA+JZWQxPlkcGsY0uc48gOJWUp45NXXk1U7Xi00xxEx24SO7\/12Bd9VVE9bU01honHpJyHTOb+VnDf3cSfAdq0NJSQ0NJHS07NiKMYaFYtlX3syS\/mqav8AWOfa+HcdQABgDAC9RFWawiIgCIiALMaK6kVxgPGOpOfhw8lp1mNL\/d3y+w8hUbQ7us7\/AIU49Vmar+6m+foW2oI+l0\/XNxnELnegz8lnNE0MlTK66VPWELOggyOG7efIbvMqdrGulMUNnpBtVFYRtAcdnPzPwK66Il6TTzW7vu5XN+B+amrqmUS1amlpcF5\/Vy8qaiOkppamZ2zHE0uce4L89qon1VirL3UANkragNZ3NGdw3dox5LTa0qXxWZtLF\/KVcrYwM43cfkB5qJqulbRaRpqVvCJ8bfEhpyV2nhbtI6XtuS3RXm\/oaui9nstuqYwNulka1pxwBb9WhatpDmhw3gjIWd1gxrtLAk72ujI8eHzVjNc4rXYoq2qzuiZ1QclziOCg8Youg1CrO+Vk\/Uzep6j7V1HR2lpDomSNa\/BzvOM+g71H1cXXC9zMhcHChpw5w5A5yf8AcFBt9aaW9zXSvH7QyJ0zWOB6z3AbI7hhw8MLT6cszn2eqmr9o1FyDukLh1g05x57yfTsVztCz4GCN9IclvbvySy8y4s9R7VZqOYu2nPhbtHvxv8AflTVnNFzyC31FvmP3tHMWFpP4Qf+Q5aNZ5q0mj1aE9enGRXX\/wBr+w6oUTczFhG7Occ8Y54ysnZ9IVVXsG4N9mp2HrMxiR5yefZ+u9b1V97uItdpnqgQHhuI8jPWPBShNpaqKq9CnKXSVHgkU+iQeiuBZgQ+0YY0DcPnwxx7Fc3u3G62mejY5rXvALC7OAQcjOFE0nb32+wxNkGJJiZXDszjHuAV0k3t3R2hT\/gUJb16mRFq1HdKWC31z4qOjiAY\/oyC6QADHAnPuHuWopKSGhpI6WnZsRRjDQuyKMpNllOjGm75vtCIiiXBERAEREBzmhjqIXwzMD43jDmuG4hZV9NctJTmalf7RaXP68TjviyePd4+q1y+ZI2SxujkaHMeC1zSNxB4hSjK3Ipq0lPFYNZM50tTDWU0dTA\/bikGWlFntMCSgu1ys4eH08DtuM7WS3PL0xnvCJJWdjtGo6kLvM06j19bFb6Garm\/BE3ax2nkPM4CkLLapkdcLrbrHG7qyv6SYb\/w8uHcHH0SKuzlao6cG1nu5nTSVFJM2a91jQ6pq3EsOzjZb2jsz8AFpV8ta1jAxow1owB2BfSSes7naVNU4KIREUS0IiIAiIgCydHUR2\/WF6kmdsRsg6V3gA0\/P3rWLBXyimuGtJaKndj2hjBLg46oAJz\/AJQfRW01e6Zj0uTioyisb+zLXS0EtxqqjUFW0h8ziyBuThrRxx3cvIr3QfVs1Qw\/ibUuyP8AC36LRU1PHSU0VNC3ZjiaGtHcFndEAtpK5jhhwqTkeWPkUcrp9xGNPo6lNb8b88BfQavVtnoyeqwmYjwOf3E1y4vt1LTN4zVA3+R+oXl5cKTWtqq5CGxujMe0SMZ6w\/eC4a0r4I6i3OZJHI6CbpHsa4FwAwR4ZUorGJVVaUKt+PlgStcyNisDIgPxzNaB3AE\/JQoGHVdxgaMi2W\/A6zT96d3xx4geKr6ye4agvVvhr4uggncHRwA79jm7t3gHBK3tPTw0kDYKeNscbBgNaEb1IpbxCP5FWUv64d9iqrNLW+vu32hUB7nHG1HnquwMDPu9PFXSIqW28z0I04xbcVmZOve\/Tepjciwuoa4bMxH5HduB6+ZWpiljmibLE8PY8Za5pyCF8VdJBXUz6apjEkTxggrOMsV8tD3x2evjNK9xIjmGSzd4dvZ6KeEl2me06MnZXi\/FP4NLUVEVLA+eeQRxsGXOdwCyoNRrC4sOw6K0Uz9oEjfK4eP6AUmLTVdcC19\/uTqhrTugiOy3xJGPh5rQwwx08LIYWBkbBhrWjcAl1HLMOM6z2laPDe+fYfYAAwBgBeoirNYREQBERAEREAReEgDJOAFS12rbTREsbMamTONiAbW\/x4LqTeRCdSEFeTsXapbxqWltxNNT\/tNaTsthZvwf7X04qvLtR6gOGN+yaM83Z6Rw+PwCtrTp+htA2oWGScjrTSb3H6KdlHMo6SpVwpqy4v2RH01aamhinq7gdqtq3bTyd5aOz\/ru7EV4ig3d3ZfTgqcVFBZaxYueqLldeMcR6GI53dmceA96ub7W\/Z9lqqkO2XtYQw5\/Mdw95UfStF7Dp+naRh8o6V27+lw92FNYRbKam3WjHhj7IuERFWaQiIgCIiAIiICNcK6G20MtXO4BsbSQM42jyA7ysPp8Vf8AC2kqqxvXrmPmBzyId9OHZhWt4e7UOoIbPA53stMdqqIyATnh7sDvJ7F0vTRT6ussjQACDGGjlvx+8r4qytvZ5lZupNT3Ra8b4mmke2KN0jvwsBJ8As5oVh+x5pn73y1DiXdu4fPKuLzL0FlrZM4LYH48cHCg6Qi6LTVLkYL9px\/zHHuwq11GapY6RFcE\/Yn3K1Ud1g6Gri2wPwuG4t4cDy4LN3zSdJR2h89uif08bw\/LnFx2ewD3rYIkZuJKro9OondY8TLWGOpu99mvlXTmBsbejhY4d2\/j3Z9VqV4AAMAYAXq5KV2SpU+jja92ERFEtCIiAIiIAiIgCIq+qvtqov5euhac4LWu2iPIZK6k3kRlKMVeTsWCLNSa1ppH9HbqCqrJM8GtwD8T7lz29V3d4aGMtcB4uOC7Hxz6KXRvfgUflQeELy5fORf19zo7bF0lZUMiHIE73eA4lULtV1dxmMFitz5zzll3Nb+u8rvQ6Nt8DulrHPrpycl8pIGfDO\/zyr9jGRsDI2hjWjAa0YAXbwXactXqZvVXZi\/Ey7dMXO6Fr75dHubnPQRcPXgPRXdDY7ZbsGlo42vHB5G071O9T0XHNsnDR6cHe13xeLCIigXhERAZrXD3G1QUzPxz1DWjPZg\/PC0cbGxRtjb+FgAHgFmtQftWqbLRjfsOMxA7M5\/cPvWnU5dVIzUsas5cl5fYREUDSEREAREQBVl\/u7bPbHz8ZX9SIf2scfAKzWSp8ap1KahwzQW44j37pHZ4+ePQBTgru7yRnrzcUox6zy+e4s9L2h1rtpdOD7TUHblLuI7B8fUqFrMGBtuuQBPslQDgEb84P7q06r77RfaFlqqYDLnMy3fjrDePeF2Mtu7OVKKVB047l9kXVM7W6ZqXMOelDWsx+bLh8lLsUfRWKhZ\/8GE+JGfmsdLcTe7XZrQyT7x0mxOAcYDdwPpv8lu5ZqekiBlljhjAwC9waAuyWrHVK6NRVKjqLKyXudUVNU6rstMN9YJHYziJpdnz4e9QTrI1BxbbTV1R4Zxge7Pf6KKhJ7i6Wk0Y4a3v6GnRZgXPVlTvgtEMLT\/WnePVw+CC3atqhie6w07TuIjbv9wHxTU4tEfyL9WLfdb1NOuUtTBACZp44wOO24BZ3+B0s++uvVXO7juOMHzJXSPQ1nYRtGok\/vSDf6AJaHEdJXeUPFlnJfbTESH3GmyOIEgPwUSTWFjj3CrLz\/Zjd9F9x6UscWMUDTjm57nfEqXFZ7ZCcx2+mae3om5+CbHaP+l8F4v4KY64o5DsUlFVzv5ANAz6En3Lz+EN+qcil09IzPAzEgY8wFpg0NGGgAdgXqa0dyHRVXnPwS+zMfxzqTjFJSZ57jj\/AHJ9hajqN9TfzGf\/AItPy2Vp0TXe5D8aL60m+\/4Mx\/AqOb\/3brWVA5dbHxyp1JpSzUmCKMSuH5piX58ju9yuURzk95KOjUYu6ifEcUcLAyKNrGjg1owF9oigXhERAEREAREQBERAZeMmr\/8AIchxtCkp8ZPLIHD\/ADn3rUKHT2ylprhUV0TSJqkAP37t3YFMUpO9iijBxTvvbYREUS8IiIAiIgK2\/tuElplitsYfNINk5dghpByR3rpZrXHaLbHSx4Lh1pHD8zuZU5F2+Fivo1r6+8IiLhYZmu0gZ7s+soq00LZB1hE0g554wRx3e9fUOh7cHB9VPUVL+e0\/APpv960iKfSS4mb8Wje+qV1PYLTS46G3wAt4FzdojzOSrAAAYAwAvUUW28y+MYxwirBERcJBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/\/Z",
    "razonSocial": "FERRETERIA PRAT S.A",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "VANESSA ZARATE",
    "correoContacto": "secretaria@ferreteriaprat.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "552444000",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:04",
    "ubicacionGPS": "LatLng(lat: -23.6200621, lng: -70.3900025)",
    "horaLlegada": "09:55",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "1",
    "observacionRetiroMaqExterna": "Cambio de maquina",
    "idReportManual": "null"
}
=========================================
FECHA: 20/05/2026 10:04:27
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-DE2NlFsTz3WcZv4+A6Q3Wj8SA6T3KyM2fANQcZgaD1.DgeR.mlH
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "86551700",
    "serieinterna": "KY2337",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Ferreteria prat casa matriz",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "2 PISO",
    "rutTecnico": "19969062",
    "contador": "215562",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Retiro de maquina",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12653",
    "observacion": "Retiro de maquina",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADcASYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABEEAABAwMBBAcFBQIOAwEAAAABAAIDBAURBhIhMUETIlFhcYGRFKGxwdEVIzJC8CTCFiYzQ1JTYnKCkqKy4fEHNGMl\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECAgYKAgMBAAAAAAAAAAECAxEhMQQSIkFRcRMyYYGRobHB0eEUMyNC8CT\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBERAc5aiGF0bJZWMdK7ZYHOxtHsC6LKzE3jXEUPWMFtbtndu29x+OPRapSkrWKqdTXcuCdgiIoloRF8SyshifLI4NYxpc5x5AcSgPJ6iGlhdNPI2ONoyXOOAFnZdXS1Mhjs9smrAN3SEENB7xjw5hRYIJtYXR9RUGRlpgOImDq9If1xPktZBBFTQshgjbHGwYa1owArLKOeLMilUrYwdo8d7+jOfxxrTnNLQNPLcTj\/UnsOr6bfFcaaob\/QeN\/qR81p0XNfsRL8Zb5PxMsdQ323jaulm+6aOvJCdzR27sj3jyV9brnSXWmE9JKHt\/MOBaewjkpTmhzS1wBBGCDzWXulpmsdSbxZWbLW\/+xTAdVzeZA\/WF3ZlhkyL6SjjfWj5\/ZqUUK1XSnu9E2ppzu4OaeLD2FTVBq2DNUZKSusgiIuHQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCjXGsZb7fPVyEARMJ38zyHmcBSVmNWySVtVQ2OEZdUvD5CDvDR+ifJSiruxTWnqU21nu5nbR1HJFbH107tqaueZHHnjfjPvPmtCviKJkMTIo2hrGNDWtHIDgF9pJ3dyVKHRwUeAREUSwKg1jWOp7KaeLPS1bxE0Acuf081frMarHTXeyU3Fr6jLh3Zb\/wAqdPrIz6U2qTtvw8cC9tlE23W2no24PRMAJA3E8z5nKlIig3cvilFJIIiIdCIiAytADZ9aT0Iy2mrmdJG0DDQ7j8nD0WqWZ1k0UzKC6NBL6WoHA8jv+LQtK0hzQ4bwRkKyeKTM1DZlKnwd\/E9REVZpCIiAIiIAiIgCIiAIiIAiL4lmigYZJpGRsHFz3ABAfaLxrg5oc0ggjII5r1AEREAREQBERAeEgDJOAFltOf8A61\/r72doxNPRQZ7P+gPVWGqrg6hssjYj99UHomAcd\/HHkpdktwtdpgpcYe0Zfvz1jvP0ViwjfiZZ\/wAlZR3Rx79xPREVZqCIiALMak6upLE47gZiAe\/ab9Vp1mNX4grLPWvIEcFT1s+LT+6VOn1jNpX6m+XqjToiKBpCIiAIiICl1dF0umqrAyWbLh5OGfdlTLLN7RZKKXIJMLc4Od4GCvu6RCe01cR\/PC8e4qt0bKZNNwA\/zbnt\/wBRPzVn9O8zZaRzXo\/svURFWaQiIgCIiAIiIAiIgCIiAKh1oQNOTAkZc9oGSBzz8lfKBfIRPY61haCegeRkZ3gEhSg7SRVXjrUpLsPuzyCWzUTxzp2f7QpipdIymXTVLni3ab6OPyV0klaTR2jLWpxfYgiIolgREQBEUK73Blrtc9W872N6g7XHcB6rqV8DkpKKbe4oZ2tv2s2RZ26W2jLhyL88PXAP91atUGkKF1NaPapW\/f1julc7mRy+Z81fqU3jZbjPo8Xq67zlj8eQREUDSEREAVRqih9usFQwDL4x0rd+N7ePuyrdeEAjBGQV1OzuQnBTi4veVmnK77QsVNMXZe1vRv35O03dv8ePmrRZbTZNovVdY5HnZz0tPnmMb\/dj0K1KlNWkV6PNypq+awfNBERQLwiIgOVU3bpZm5xtMcM+SotDu2tP4x+GZw+B+avp3NbTyOd+EMJPhhUGhmkafJP5pnEbu4Ka6jM0\/wB8eT9jRoiKBpCIiAIiIAiIgCIiAIiIAviZnSwvj\/ptI9V9ogM1oSQusckZ3GOdwx5A\/VaVZjSH3NbeKQjZ6KoyAfFw+QWnU6nWZm0T9Mf9kERFA0hERAFltSySXW80VhhB2C4Sznlj\/rPmQtLNKyngkmkOGRtLnHuAys5pKGasqK2+1H4qp5bGCODQfhuA\/wAKshheRl0jbcaS358kaZrQ1oa0AADAA5L1EVZqCIiAIiIAiIgMxq2mdSS0l9gH3lLI0SY\/M3PP4ea0cE0dTBHPE7ajkaHNPaCvispIq6jlpZhlkrS093es\/pOqlo5J7DW9WemJdFn8zO71z59ys60eRl\/XW7Jev2adERVmoIiICvv0wgsNc8\/1DmjfjeRgfFR9KQ9DpukHEuDnHzcSo+tKkQ6ffCD16h7WNA48cn4e9XFBT+y2+np8Y6KJrMHuGFPKBmWOkPsXq\/okIiKBpCIiAIiIAiIgCIiAIiIAiIgMxbM0+u7nBwbNEJABzPVPzK06zFd+z6\/oJODZ4C095w7\/AIWnU57n2GbR8NaPBv5CIigaQiIgM5rKsIoYbbC49PWyBgA\/o5+uB6q7oaRlBQw0kZJbEwNBPPvWeodu86xqKw4dTW8dFEeI2uG7\/Uc+HcVqVZLBKJlo7c5VO5cl9hERVmoIiIAiIgCIiALN6qoJo3097ohmooyNsD8zP17iexaReEAjBGQVKMtV3K6tNVI6rI1ur4bnQxVcBy2QZI5tPMHwUpY+rhn0hcjW0jHy2yoP30Q\/mz3fL0Wsp6iKqgZPBIJI3jLXN4FdlG2KyIUarleMsJLP5OiIvHODWlziAAMknkoF5mL7m4aqtdtHWZEenkA8c7\/JvvWoWX04110vVdfHg9GT0UGezt9APUrUKyeFlwM2j7WtU4vyyQREVZpCIiAIiIAiIgCIiAIiIAir7jfLdagRVVDRJjIjbvefL6qkbfb\/AHcl1otzYqfgJZuPjvIHplTUG8SiekQg9XN8Fiz71cfZ6+0VuDiKow492QfkVqFg9R2+\/NtgqrlXRTMjkBDIxjZJ3dg\/RVjFf7tavZ3XmGKWlqMbNRFjdntx3b+A+k3C8VYywrqFWbkmk7fGJq0XjXBzQ5pBBGQRzXqpPRCrr9cBbLNUVIzt7OyzH9I7h9fJWKy1+zeNSUNmY8dFCemnHvx44\/3KcFd4lGkTcaeGbwXNlhpW3C32OHLSJZx0smRv38B6YVyiKLd3cspwUIqK3BERcJhERAEREAREQBERAc5oY6iF8MzA+N4w5rhuIWTbJNo66NheXyWmpd1Sd5iP69Qtgo9bRU9wpX01TGHxvG8dneO9TjK2DyKK1Jz2o4SWXxyOzXNewPY4Oa4ZBByCFR6urzS2j2WPfPWHomNzjdz+nmq+3V8+mK\/7Juby6jef2aoPADv7t\/l4L6tjTqXUT7s\/PsdEQyna4fidxz5E59FJQ1Xd5FE6\/SQ6OOEnhbhxL+0W9lrtcFIwb2N657XHeT6qaiKtu+JtjFRSS3BERcOhERAEREAREQBEUK6XSmtNG6oqHf3GA73nsC6lfBHJSUVd5HarrKegpn1FTKI42DeT8B2lZuW63jUEjobLEaalB2XVUm7a8D9N\/gvmjttfqapbX3kGKjbvhpQSNocifrxPgtXHGyKNscbGsY0Ya1owAO4KeEO1mVa9fHqx838IprXpehoPvpx7ZVO3ulm37+4H\/tXaIoNt5miFONNWirFNq2PpdNVY5tDXDycEp6SO8aTp6eXH3lM0B3HZcBuPqpd7j6Wx1zBxMDyPEDKiaSk6XTVIebQ5p8nFTT2L9pRJJ17PJx9\/sj6PrJZKGa31GBNQv6MjO\/H\/AGCFoVlapgs+t6eoYNmG4t2HDPF+QD79k+ZWqXJ53W87ozai4POOHx5HKpqI6SmlqZnbMcTS5x7gs9pCF9U6svc8ezLVyEM7mA78ee7\/AAr3Vk0lZLS2Kn\/lKtwc89jQePHuJ8loKanjpKaKmhbsxxNDWjuC71Y8zn7K3ZH1fwjqiIqzUEREAREQBERAEREAVTfb\/BZI4tphlmldhsTeOOZ\/XPzVssXdCyp1Jc6iYDYoaFwYCc5cW4G7lvcVOEU3iZtJqShDZzZp7RcW3W2xVjWlu2N7TyI4hTVSaRYYtM0xeNnO07eeW0VCul6qbtVm0WI7RO6epH4WDng\/P0XXG8mkFW1aUZSzaXezjqeujvEkdkt7BUVBfl7wMiPHLPLvPIL5t9VUaSrBbLjh9DK4mGoa3AB7\/mOXgr2yWSnstJ0UXXldvllI3uPyHcpdbRU9wpX01TGHxvG8dneO9d10tncVKhUb6Vu0\/Lkd2uDmhzSCCMgjmvVk6SrqdK1jbfcHmS3SH7ioP5O4rVtcHNDmkEEZBHNQlGxppVVNcGs0eoiKJaEREAREQBEUO6XKC00L6ufJa3cGji48gF1K5yUlFXeRzu95pLNTGWodl5B6OIHrPP65qntFpqrtVi83oZJ309OfwsHI4+XmV5Y7RNcqv7du7dqR52oIT+FjeRx8B5rUqbajgszLGMqzU59XcvdhERVmsIiIDjVs6SjnZu60bhv8FSaIftaeaN\/VlcPgfmr9zQ9haeBGFm9BuJskrDuLKhwxz\/C1TXUZmnhXhyfsea2DoIbfXtGXU1QMfH91aSSWOKF00jw2NjS5zuQA35VNrGES6bqDjJjLXj\/MB8CVV3u5TVdktlspiXVFwjj2+4YHHxPuBUktaKKp1OhqTfFJ+xI0y190udZfpmkB7jHA0\/laPPswPVahR6Ciit9DDSQ\/gibs57TzPmclUupLnV+109otrzHUT4dJKP5tmcZzy558O9ce3LAsjahSvLF+rZokWXoZ6ux6gitVVUvqaeqbmOSQ\/hdvPvOfULUKMo2LaVTXTws1mEXy+RkYBe9rATgbRxkqNWXSioJI46uobE6XOwHZ37wPmFxJsm5KKu2S0RFwkERU1w1XardK+F8rpJmEhzI2k4PZngupN5EJ1IwV5OxcqsdqK0isFL7Ywy5Iw0EgHx4KkmudfqqQ0dpDqajA+\/neN5yOH\/HwC56ksdHadNNFJCNtkzS+YjLzxHHxxuVigr2lmZZ6RJxc6awW97+XybJYbWFDPS3Iz00gP2mBE6MbiSNn5gb1smVEbaFtS+QCMRB7nnsxnKzlr29Q6ifd3sc2jpRsUwcCNo9vz8wOSU9ltndKSqRVNZv\/ADfgc4NP3+qpGUlXXspaRrQzoYgMkDkcfU55rR262UlqphT0key3iXHe5x7Sealooym2W06EKbusX2hERQLyPW0VPcKV9NUxh8bxvHZ3jvWapq2q0nVtt9wLprdIfuKj+r7j9PRa1cKyjp6+mdTVUYkjfxB+I7FOMrYPIoq0nJ68MJL\/AFmdWua9gexwc1wyCDkEL6WOifXaNqRFPtVFplf1X8TH9PDnyWthmjqIWTQvD43jLXNO4hclG3I7Sq6+DVms0dERFEuCIiA+JZWQxPlkcGsY0uc48gOJWUp45NXXk1U7Xi00xxEx24SO7\/12Bd9VVE9bU01honHpJyHTOb+VnDf3cSfAdq0NJSQ0NJHS07NiKMYaFYtlX3syS\/mqav8AWOfa+HcdQABgDAC9RFWawiIgCIiALMaK6kVxgPGOpOfhw8lp1mNL\/d3y+w8hUbQ7us7\/AIU49Vmar+6m+foW2oI+l0\/XNxnELnegz8lnNE0MlTK66VPWELOggyOG7efIbvMqdrGulMUNnpBtVFYRtAcdnPzPwK66Il6TTzW7vu5XN+B+amrqmUS1amlpcF5\/Vy8qaiOkppamZ2zHE0uce4L89qon1VirL3UANkragNZ3NGdw3dox5LTa0qXxWZtLF\/KVcrYwM43cfkB5qJqulbRaRpqVvCJ8bfEhpyV2nhbtI6XtuS3RXm\/oaui9nstuqYwNulka1pxwBb9WhatpDmhw3gjIWd1gxrtLAk72ujI8eHzVjNc4rXYoq2qzuiZ1QclziOCg8Youg1CrO+Vk\/Uzep6j7V1HR2lpDomSNa\/BzvOM+g71H1cXXC9zMhcHChpw5w5A5yf8AcFBt9aaW9zXSvH7QyJ0zWOB6z3AbI7hhw8MLT6cszn2eqmr9o1FyDukLh1g05x57yfTsVztCz4GCN9IclvbvySy8y4s9R7VZqOYu2nPhbtHvxv8AflTVnNFzyC31FvmP3tHMWFpP4Qf+Q5aNZ5q0mj1aE9enGRXX\/wBr+w6oUTczFhG7Occ8Y54ysnZ9IVVXsG4N9mp2HrMxiR5yefZ+u9b1V97uItdpnqgQHhuI8jPWPBShNpaqKq9CnKXSVHgkU+iQeiuBZgQ+0YY0DcPnwxx7Fc3u3G62mejY5rXvALC7OAQcjOFE0nb32+wxNkGJJiZXDszjHuAV0k3t3R2hT\/gUJb16mRFq1HdKWC31z4qOjiAY\/oyC6QADHAnPuHuWopKSGhpI6WnZsRRjDQuyKMpNllOjGm75vtCIiiXBERAEREBzmhjqIXwzMD43jDmuG4hZV9NctJTmalf7RaXP68TjviyePd4+q1y+ZI2SxujkaHMeC1zSNxB4hSjK3Ipq0lPFYNZM50tTDWU0dTA\/bikGWlFntMCSgu1ys4eH08DtuM7WS3PL0xnvCJJWdjtGo6kLvM06j19bFb6Garm\/BE3ax2nkPM4CkLLapkdcLrbrHG7qyv6SYb\/w8uHcHH0SKuzlao6cG1nu5nTSVFJM2a91jQ6pq3EsOzjZb2jsz8AFpV8ta1jAxow1owB2BfSSes7naVNU4KIREUS0IiIAiIgCydHUR2\/WF6kmdsRsg6V3gA0\/P3rWLBXyimuGtJaKndj2hjBLg46oAJz\/AJQfRW01e6Zj0uTioyisb+zLXS0EtxqqjUFW0h8ziyBuThrRxx3cvIr3QfVs1Qw\/ibUuyP8AC36LRU1PHSU0VNC3ZjiaGtHcFndEAtpK5jhhwqTkeWPkUcrp9xGNPo6lNb8b88BfQavVtnoyeqwmYjwOf3E1y4vt1LTN4zVA3+R+oXl5cKTWtqq5CGxujMe0SMZ6w\/eC4a0r4I6i3OZJHI6CbpHsa4FwAwR4ZUorGJVVaUKt+PlgStcyNisDIgPxzNaB3AE\/JQoGHVdxgaMi2W\/A6zT96d3xx4geKr6ye4agvVvhr4uggncHRwA79jm7t3gHBK3tPTw0kDYKeNscbBgNaEb1IpbxCP5FWUv64d9iqrNLW+vu32hUB7nHG1HnquwMDPu9PFXSIqW28z0I04xbcVmZOve\/Tepjciwuoa4bMxH5HduB6+ZWpiljmibLE8PY8Za5pyCF8VdJBXUz6apjEkTxggrOMsV8tD3x2evjNK9xIjmGSzd4dvZ6KeEl2me06MnZXi\/FP4NLUVEVLA+eeQRxsGXOdwCyoNRrC4sOw6K0Uz9oEjfK4eP6AUmLTVdcC19\/uTqhrTugiOy3xJGPh5rQwwx08LIYWBkbBhrWjcAl1HLMOM6z2laPDe+fYfYAAwBgBeoirNYREQBERAEREAReEgDJOAFS12rbTREsbMamTONiAbW\/x4LqTeRCdSEFeTsXapbxqWltxNNT\/tNaTsthZvwf7X04qvLtR6gOGN+yaM83Z6Rw+PwCtrTp+htA2oWGScjrTSb3H6KdlHMo6SpVwpqy4v2RH01aamhinq7gdqtq3bTyd5aOz\/ru7EV4ig3d3ZfTgqcVFBZaxYueqLldeMcR6GI53dmceA96ub7W\/Z9lqqkO2XtYQw5\/Mdw95UfStF7Dp+naRh8o6V27+lw92FNYRbKam3WjHhj7IuERFWaQiIgCIiAIiICNcK6G20MtXO4BsbSQM42jyA7ysPp8Vf8AC2kqqxvXrmPmBzyId9OHZhWt4e7UOoIbPA53stMdqqIyATnh7sDvJ7F0vTRT6ussjQACDGGjlvx+8r4qytvZ5lZupNT3Ra8b4mmke2KN0jvwsBJ8As5oVh+x5pn73y1DiXdu4fPKuLzL0FlrZM4LYH48cHCg6Qi6LTVLkYL9px\/zHHuwq11GapY6RFcE\/Yn3K1Ud1g6Gri2wPwuG4t4cDy4LN3zSdJR2h89uif08bw\/LnFx2ewD3rYIkZuJKro9OondY8TLWGOpu99mvlXTmBsbejhY4d2\/j3Z9VqV4AAMAYAXq5KV2SpU+jja92ERFEtCIiAIiIAiIgCIq+qvtqov5euhac4LWu2iPIZK6k3kRlKMVeTsWCLNSa1ppH9HbqCqrJM8GtwD8T7lz29V3d4aGMtcB4uOC7Hxz6KXRvfgUflQeELy5fORf19zo7bF0lZUMiHIE73eA4lULtV1dxmMFitz5zzll3Nb+u8rvQ6Nt8DulrHPrpycl8pIGfDO\/zyr9jGRsDI2hjWjAa0YAXbwXactXqZvVXZi\/Ey7dMXO6Fr75dHubnPQRcPXgPRXdDY7ZbsGlo42vHB5G071O9T0XHNsnDR6cHe13xeLCIigXhERAZrXD3G1QUzPxz1DWjPZg\/PC0cbGxRtjb+FgAHgFmtQftWqbLRjfsOMxA7M5\/cPvWnU5dVIzUsas5cl5fYREUDSEREAREQBVl\/u7bPbHz8ZX9SIf2scfAKzWSp8ap1KahwzQW44j37pHZ4+ePQBTgru7yRnrzcUox6zy+e4s9L2h1rtpdOD7TUHblLuI7B8fUqFrMGBtuuQBPslQDgEb84P7q06r77RfaFlqqYDLnMy3fjrDePeF2Mtu7OVKKVB047l9kXVM7W6ZqXMOelDWsx+bLh8lLsUfRWKhZ\/8GE+JGfmsdLcTe7XZrQyT7x0mxOAcYDdwPpv8lu5ZqekiBlljhjAwC9waAuyWrHVK6NRVKjqLKyXudUVNU6rstMN9YJHYziJpdnz4e9QTrI1BxbbTV1R4Zxge7Pf6KKhJ7i6Wk0Y4a3v6GnRZgXPVlTvgtEMLT\/WnePVw+CC3atqhie6w07TuIjbv9wHxTU4tEfyL9WLfdb1NOuUtTBACZp44wOO24BZ3+B0s++uvVXO7juOMHzJXSPQ1nYRtGok\/vSDf6AJaHEdJXeUPFlnJfbTESH3GmyOIEgPwUSTWFjj3CrLz\/Zjd9F9x6UscWMUDTjm57nfEqXFZ7ZCcx2+mae3om5+CbHaP+l8F4v4KY64o5DsUlFVzv5ANAz6En3Lz+EN+qcil09IzPAzEgY8wFpg0NGGgAdgXqa0dyHRVXnPwS+zMfxzqTjFJSZ57jj\/AHJ9hajqN9TfzGf\/AItPy2Vp0TXe5D8aL60m+\/4Mx\/AqOb\/3brWVA5dbHxyp1JpSzUmCKMSuH5piX58ju9yuURzk95KOjUYu6ifEcUcLAyKNrGjg1owF9oigXhERAEREAREQBERAZeMmr\/8AIchxtCkp8ZPLIHD\/ADn3rUKHT2ylprhUV0TSJqkAP37t3YFMUpO9iijBxTvvbYREUS8IiIAiIgK2\/tuElplitsYfNINk5dghpByR3rpZrXHaLbHSx4Lh1pHD8zuZU5F2+Fivo1r6+8IiLhYZmu0gZ7s+soq00LZB1hE0g554wRx3e9fUOh7cHB9VPUVL+e0\/APpv960iKfSS4mb8Wje+qV1PYLTS46G3wAt4FzdojzOSrAAAYAwAvUUW28y+MYxwirBERcJBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/\/Z",
    "razonSocial": "FERRETERIA PRAT S.A",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "VANESSA ZARATE",
    "correoContacto": "secretaria@ferreteriaprat.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "552444000",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:04",
    "ubicacionGPS": "LatLng(lat: -23.6200621, lng: -70.3900025)",
    "horaLlegada": "09:55",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "1",
    "observacionRetiroMaqExterna": "Cambio de maquina",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


20/05/2026 10:04:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:86551700

[20/05/2026 10:04: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('86551700', 'KY2337', 1, 19969062, 215562, NOW(), 
				'08:00', '09:55', '10:04', 2, 'Retiro de maquina', 1, 
				'Cambio de maquina', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779285867.png', 'Retiro de maquina', null, 'COMPLETADO','LatLng(lat: -23.6200621, lng: -70.3900025)' )
				
[20/05/2026 10:04:27] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200373

20/05/2026 10:04:27 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '86551700' AND 
				serieinterna = 'KY2337' AND
				correlativo = 1;				
		
20/05/2026 10:04:27 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '86551700'
				   AND serieintmaquina = 'KY2337'
		
20/05/2026 10:04:27 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY2337'
				   AND estado = 1
				
20/05/2026 10:04:27 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'KY2337'
				  AND rutcliente = '86551700';
				
20/05/2026 10:04:27 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'KY2337', 2, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
20/05/2026 10:04:27 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200373'                    
				WHERE idllamado = 12653			
				TO ENVIO: micorreo@miempresa.cl, secretaria@ferreteriaprat.cl


20/05/2026 10:04:27 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12653			
				
20/05/2026 10:04:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


20/05/2026 10:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

20/05/2026 10:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

[20/05/2026 10:04: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;
                

[20/05/2026 10:04: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;
                

20/05/2026 10:04:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

20/05/2026 10:04:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12653
            GROUP BY l.idllamado;
            

20/05/2026 10:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12653
                

20/05/2026 10:04:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12658
            GROUP BY l.idllamado;
            

20/05/2026 10:04:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12658
                

20/05/2026 10:04:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12658
            GROUP BY l.idllamado;
            

20/05/2026 10:04:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12658
            GROUP BY l.idllamado;
            

20/05/2026 10:04:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12658
                

[20/05/2026 10:04: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;
                

[20/05/2026 10:04: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;
                

20/05/2026 10:04:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12658
                

20/05/2026 10:04:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12658
                

20/05/2026 10: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 = 12658
                

[20/05/2026 10:04: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;
                

[20/05/2026 10:04: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;
                

20/05/2026 10:04:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12658
            GROUP BY l.idllamado;
            

20/05/2026 10:04:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12658
            GROUP BY l.idllamado;
            

20/05/2026 10:04:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12658
            GROUP BY l.idllamado;
            

20/05/2026 10:04:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12658
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12658
                

20/05/2026 10:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12658
                

20/05/2026 10:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12658
                

20/05/2026 10:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12658
                

20/05/2026 10:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12658
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10:04:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12658
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10:04:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12658
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10:04:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12658
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10:04:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12658
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12658
                

20/05/2026 10:04:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12658
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12658
                

20/05/2026 10:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12658
                

20/05/2026 10:05:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12658
            GROUP BY l.idllamado;
            

20/05/2026 10:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12658
                

20/05/2026 10:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12658
                

20/05/2026 10:05:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12658
            GROUP BY l.idllamado;
            

20/05/2026 10:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12658
                

20/05/2026 10:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12658
                

20/05/2026 10:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12658
                

20/05/2026 10:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10:05:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12658
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12658
            GROUP BY l.idllamado;
            

20/05/2026 10:05:14 - logentry: =========================================
FECHA: 20/05/2026 10:05:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-OU_QaxMa0ly99egnxLABFg3GcgH2UFxQL+aElAikdOwV1BCi+.m
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2887",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Encomienda via chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12658",
    "observacion": "Encomienda via chilexpress",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACWAJoDASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgEDBwL\/xABBEAABAwMBBAcDCAgHAQAAAAABAAIDBAURBhIhMUETUWFxgZHBIqGxFBUjMkJystEHJDNSU+Hw8SU0NUNic5LS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMREAAgECAwUECgMAAAAAAAAAAAECAxESITEEIkFRcRMykdEUIyQzYaGxweHwQlKB\/9oADAMBAAIRAxEAPwD2ZERAEREAREQBcEgDJOAFyol1k6G0Vkg4sgeR37JUrMiTsmyj07qiW63SalqAwNdkw7Dcbh15PVvWnXnMNO+1Wy0X6H6wkcyQEcRtOx5jI8l6K0hzQ4bwRkLSpFJ3Rx7HUnKLU9df8ZyiIsjtCIiAIiIAiIgCIiAIiIAiIgCIiAKt1E4t09XEfwSPNWSrdQsL9P1oBIIiLsjs3+itHVGdX3cujKgUfyn9HYibklsHSDwdtfmrbTlUavT9HKTlwj2CScnLd3ouvTpbVaYpGvALXRFhHHcCR6KDoqR0dJWW6TPSUk5B7Af5gq8s0+py092dN8428MzSoiLI7giIgCIiAIiIAiIgCIiAIiIAiIgCqdQXKCio\/k0zXZrGuia7HstJGPa7N6tlV6itnztZ5adozK36SL7w\/PePFWja6uZVsXZvDqQ9FSiTTzGAk9FK9m\/vz6rooCaLXlfTn2WVUQkaMcTuP\/0o36Ppy6lrKc8GPa8eIIP4Qu\/VP+H3e13duG7EnRyu62\/2Llq1vtczhjL2enU\/rbyNSiIsD0wiIgCIiAIiIAiIgCIqXVla+isMroyWulPRhwOCMg\/kpSu7FKk1CDk+BZRV1JNM6GKpifI3GWNeCRzUhZkaMoJrbCGufDVhgJnBJJduJJGV36Yuk8\/T2yvdmtozsnJJL2jdnJ47+faFZxVroxhVmpKNRWvp5F+iIqHSEREBkbJELZrW4UX1Y5mF8Y3AcQQB3AnyU\/WsXSacld\/Dex3vx6qn1dK+3anobizPssaccM7LjkeIPvWi1A1tVpqsLHbTTDttLd+QPa9Fu9YyPNjbs6tLlf5k2gmNRbqacnJkiY\/PeAVIVVpmTpdOUTuqPZ8iR6K1WMlZtHfTlignzQREUFwiIgCIiAIiICHHc6WS5yW0OIqI2bZaRuxu5+IVPrr\/AEBv\/e34FfGqo5LfW0d+p2kugd0coHNp4fEjxCk6n2LhpSWeE7bNlsrCOYyPQrWKScWcNWblCpB6r6F1D+wj+6PgszqiM2u50V9hyA2QRzgfaG\/0yPJXtmmFRZaOUHO1C3O\/O8DB96+b3QG52eopGgF725Zk49obx7wqxeGWZrVj2lHd11XUmse2SNsjHBzXAFpHML6WTt2qIbZRRUNygqmTQNDXFzQd3LyGB1q4t+orXcnBkFSBITgMk9lzu4c0cJImntFOdlfPkWiIiodBj9bUpqa+1xE4EpfGDwwSW4z5rvsVU6o0hWUsw+lpI5YntdxxgkZ948F2a4jd81QVTGjbp52uyRwBB9cKsrJW2m+1cgH6pdqVzmO5bRbn8X4l0R3oJHlVPV15S5\/deaLvRpJ01T5PBz8f+ir1UWjQRpuDIx7T\/wARV6sp95nds\/uY9EERFQ3CIuC4NGXEAdZQHKKNJcqGEkS1tOzHHalaPVRJdS2WEZdcYT9zLvgpUW+BR1IR1aLRFURaqskrg0V7ATj6zXN95GFaseySNskbg9jgC1zTkEHmCjTWojUhPuu51VlJFXUctLMMslaWns7VmtNve6nr9N1p+khDmszzaeOPE58VrFmdTUslBWU+oKRvtwODZ2j7beH8vEdSvB33TDaI4Wqq4a9Pxqfeiqlz7VLRyZElJKWEHO4Hf8crRrI22qiotWvLJP1W7xCaM\/8AI7xntztDxWuSot642WV6eHll5fI4LQ4YcAR1FVVy03bLmw7cDYpMbpIxskccd\/FWyKibWhvOEZq0lcyLK+46UqmU1ye6rt8jsR1G8uZ2fy8upauKWOaJssTw9jxlrmnIIXxV0kFdTPpqmMSRPGCCsrSS1GkLm2iqpHSWuc\/RSkfsz6dvmtMpr4nNeWzuzzg\/l+DUV9HHcKGakl3NlYW56uo+BWFcH1+mam31G6stD9poPEszgjw9AvQWuDmhzSCCMgjmsbrChloqr50pyWx1LDBUhozxHHHcPMBTSedim2Q3ca6Pp+GXOkdgaZpNg5+tnv2irpee2G5Xa1ufbKSkbUSzkSxB7sNxjiOGQRg8RwVy63aquR\/W7hHQxniyHiPLj5pOG822RQ2j1UYxi21l+sv665UVtj6SsqGQg8Ad5PcBvKoZdXVFZI6GyWySqLd3SvB2R4D1IUmk0bbIX9LUmWsmJy50ztxPd+eVesYyNgZG0Ma0YDWjACreC+JtavPV4V8M2Zr5s1TX4+VXWOjYd+zAPaHlj4rkaJp5TtVtwq6l3a4D45WmRR2kuBPotN97Pqyhj0XZGAbVPJJ96V2\/ywpcWm7NCctt0J++Nr4qzRRjk+JdUKS0ivAr5bDaZm7L7dTcMezGGnzClR0tPFG2OOFjWMAa0bPABdyKLs0UIp3SC654Y6mCSCVu1HI0tcOsFdiKCzVzza9UVfYJoIc7dPDL0tLMRvbzxnwBx2bua9Co6uKuo4qqE5ZK0OHZ2Lquttiu1vkpJt20Mtd+67kVn9IVUlDPUWGtGxPE7bjBOcjG8D3HxK2bxxvxR59OHo9bD\/GWnXkaxERYnoBR66hp7jSPpalm1G8eIPIjtUhE0IaTVmZfTFVNQV1Rp+seXPgJMDj9pvHA8N\/n1LQ1lJFXUctLMMslaWns7VnNUD5uvNsvDTshr+ikO76v9i5apaT4SRzUFZSpPh9HoebOFXb5hE7\/AD1peXMJ\/wByHjgdYGc46nHqXoNBWw3Giiq4Dlkjc45g8we0Kk1XaZJmMutG3NTTD2m4z0jOYPdv7wSqvQ9y2Kya3AP6GXMsWfskcR5fBaS34YkctJvZ6\/ZvR6fby8DboiLnPUCIiAIiIAiIgCIiALKawopqeWnvtH7MtMQJCOrO4n4HvWrXxLEyaJ0UjQ5jxhwPMK0ZYXcyrU1Vg4ka1XKK7W+Orh3bQw5v7ruYUxYWmlk0Zf3085c631AyHY5cj3jgf7LctcHNDmkEEZBHNTONnloU2eq5xtLvLU5REVDoM1rsgWFgPOoaB5OWjjDhG0O+sAM96zGpXfOV5t1phyXsf0suWnDRy92VqVeWUUjmpZ1pvov3xCx1bpeqo7\/BX2pmYzMHOaHAbHM8eR3+a2KKIycdC9WjGqli4HA3jOMdi5RFU2CIiAIiIAiIgCIiAIiICHcrXSXanbDVx7TWuDgQcEHvUiGGOngZDE3ZjjaGtbnOAOAXYim7tYrhinitmFWXy9w2amDi3pKiTdDEOLj+S+7zdobNb31MmHP4Rx5wXuVRYrLVVdYL5eSTUO3wxHcIxyOOXYPPerRirYnoYVaksXZ09foiTpu0T0rp7lX762rOXD9xpOcf11BXyIqttu5rTpqnHCgiIoNAiIgCIiAIiIAiIgCIiAIiIAiIgKiWxCp1C251M3SxRsAihIOGO6\/66+xW6IpbbKQhGN7cQiIoLhERAEREAREQBERAEREB\/9k=",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "IVAN CONTRERAS QUIROZ",
    "correoContacto": "ivan.contreras@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56933991802",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28729\",\"cantidad_usada\":6,\"cantidad_asignada\":6}]",
    "horaSalida": "10:05",
    "ubicacionGPS": "LatLng(lat: -23.6200547, lng: -70.3900247)",
    "horaLlegada": "09:34",
    "horaDespacho": "10:04",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 20/05/2026 10:05:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-OU_QaxMa0ly99egnxLABFg3GcgH2UFxQL+aElAikdOwV1BCi+.m
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2887",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Encomienda via chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12658",
    "observacion": "Encomienda via chilexpress",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACWAJoDASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgEDBwL\/xABBEAABAwMBBAcDCAgHAQAAAAABAAIDBAURBhIhMUETUWFxgZHBIqGxFBUjMkJystEHJDNSU+Hw8SU0NUNic5LS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMREAAgECAwUECgMAAAAAAAAAAAECAxESITEEIkFRcRMykdEUIyQzYaGxweHwQlKB\/9oADAMBAAIRAxEAPwD2ZERAEREAREQBcEgDJOAFyol1k6G0Vkg4sgeR37JUrMiTsmyj07qiW63SalqAwNdkw7Dcbh15PVvWnXnMNO+1Wy0X6H6wkcyQEcRtOx5jI8l6K0hzQ4bwRkLSpFJ3Rx7HUnKLU9df8ZyiIsjtCIiAIiIAiIgCIiAIiIAiIgCIiAKt1E4t09XEfwSPNWSrdQsL9P1oBIIiLsjs3+itHVGdX3cujKgUfyn9HYibklsHSDwdtfmrbTlUavT9HKTlwj2CScnLd3ouvTpbVaYpGvALXRFhHHcCR6KDoqR0dJWW6TPSUk5B7Af5gq8s0+py092dN8428MzSoiLI7giIgCIiAIiIAiIgCIiAIiIAiIgCqdQXKCio\/k0zXZrGuia7HstJGPa7N6tlV6itnztZ5adozK36SL7w\/PePFWja6uZVsXZvDqQ9FSiTTzGAk9FK9m\/vz6rooCaLXlfTn2WVUQkaMcTuP\/0o36Ppy6lrKc8GPa8eIIP4Qu\/VP+H3e13duG7EnRyu62\/2Llq1vtczhjL2enU\/rbyNSiIsD0wiIgCIiAIiIAiIgCIqXVla+isMroyWulPRhwOCMg\/kpSu7FKk1CDk+BZRV1JNM6GKpifI3GWNeCRzUhZkaMoJrbCGufDVhgJnBJJduJJGV36Yuk8\/T2yvdmtozsnJJL2jdnJ47+faFZxVroxhVmpKNRWvp5F+iIqHSEREBkbJELZrW4UX1Y5mF8Y3AcQQB3AnyU\/WsXSacld\/Dex3vx6qn1dK+3anobizPssaccM7LjkeIPvWi1A1tVpqsLHbTTDttLd+QPa9Fu9YyPNjbs6tLlf5k2gmNRbqacnJkiY\/PeAVIVVpmTpdOUTuqPZ8iR6K1WMlZtHfTlignzQREUFwiIgCIiAIiICHHc6WS5yW0OIqI2bZaRuxu5+IVPrr\/AEBv\/e34FfGqo5LfW0d+p2kugd0coHNp4fEjxCk6n2LhpSWeE7bNlsrCOYyPQrWKScWcNWblCpB6r6F1D+wj+6PgszqiM2u50V9hyA2QRzgfaG\/0yPJXtmmFRZaOUHO1C3O\/O8DB96+b3QG52eopGgF725Zk49obx7wqxeGWZrVj2lHd11XUmse2SNsjHBzXAFpHML6WTt2qIbZRRUNygqmTQNDXFzQd3LyGB1q4t+orXcnBkFSBITgMk9lzu4c0cJImntFOdlfPkWiIiodBj9bUpqa+1xE4EpfGDwwSW4z5rvsVU6o0hWUsw+lpI5YntdxxgkZ948F2a4jd81QVTGjbp52uyRwBB9cKsrJW2m+1cgH6pdqVzmO5bRbn8X4l0R3oJHlVPV15S5\/deaLvRpJ01T5PBz8f+ir1UWjQRpuDIx7T\/wARV6sp95nds\/uY9EERFQ3CIuC4NGXEAdZQHKKNJcqGEkS1tOzHHalaPVRJdS2WEZdcYT9zLvgpUW+BR1IR1aLRFURaqskrg0V7ATj6zXN95GFaseySNskbg9jgC1zTkEHmCjTWojUhPuu51VlJFXUctLMMslaWns7VmtNve6nr9N1p+khDmszzaeOPE58VrFmdTUslBWU+oKRvtwODZ2j7beH8vEdSvB33TDaI4Wqq4a9Pxqfeiqlz7VLRyZElJKWEHO4Hf8crRrI22qiotWvLJP1W7xCaM\/8AI7xntztDxWuSot642WV6eHll5fI4LQ4YcAR1FVVy03bLmw7cDYpMbpIxskccd\/FWyKibWhvOEZq0lcyLK+46UqmU1ye6rt8jsR1G8uZ2fy8upauKWOaJssTw9jxlrmnIIXxV0kFdTPpqmMSRPGCCsrSS1GkLm2iqpHSWuc\/RSkfsz6dvmtMpr4nNeWzuzzg\/l+DUV9HHcKGakl3NlYW56uo+BWFcH1+mam31G6stD9poPEszgjw9AvQWuDmhzSCCMgjmsbrChloqr50pyWx1LDBUhozxHHHcPMBTSedim2Q3ca6Pp+GXOkdgaZpNg5+tnv2irpee2G5Xa1ufbKSkbUSzkSxB7sNxjiOGQRg8RwVy63aquR\/W7hHQxniyHiPLj5pOG822RQ2j1UYxi21l+sv665UVtj6SsqGQg8Ad5PcBvKoZdXVFZI6GyWySqLd3SvB2R4D1IUmk0bbIX9LUmWsmJy50ztxPd+eVesYyNgZG0Ma0YDWjACreC+JtavPV4V8M2Zr5s1TX4+VXWOjYd+zAPaHlj4rkaJp5TtVtwq6l3a4D45WmRR2kuBPotN97Pqyhj0XZGAbVPJJ96V2\/ywpcWm7NCctt0J++Nr4qzRRjk+JdUKS0ivAr5bDaZm7L7dTcMezGGnzClR0tPFG2OOFjWMAa0bPABdyKLs0UIp3SC654Y6mCSCVu1HI0tcOsFdiKCzVzza9UVfYJoIc7dPDL0tLMRvbzxnwBx2bua9Co6uKuo4qqE5ZK0OHZ2Lquttiu1vkpJt20Mtd+67kVn9IVUlDPUWGtGxPE7bjBOcjG8D3HxK2bxxvxR59OHo9bD\/GWnXkaxERYnoBR66hp7jSPpalm1G8eIPIjtUhE0IaTVmZfTFVNQV1Rp+seXPgJMDj9pvHA8N\/n1LQ1lJFXUctLMMslaWns7VnNUD5uvNsvDTshr+ikO76v9i5apaT4SRzUFZSpPh9HoebOFXb5hE7\/AD1peXMJ\/wByHjgdYGc46nHqXoNBWw3Giiq4Dlkjc45g8we0Kk1XaZJmMutG3NTTD2m4z0jOYPdv7wSqvQ9y2Kya3AP6GXMsWfskcR5fBaS34YkctJvZ6\/ZvR6fby8DboiLnPUCIiAIiIAiIgCIiALKawopqeWnvtH7MtMQJCOrO4n4HvWrXxLEyaJ0UjQ5jxhwPMK0ZYXcyrU1Vg4ka1XKK7W+Orh3bQw5v7ruYUxYWmlk0Zf3085c631AyHY5cj3jgf7LctcHNDmkEEZBHNTONnloU2eq5xtLvLU5REVDoM1rsgWFgPOoaB5OWjjDhG0O+sAM96zGpXfOV5t1phyXsf0suWnDRy92VqVeWUUjmpZ1pvov3xCx1bpeqo7\/BX2pmYzMHOaHAbHM8eR3+a2KKIycdC9WjGqli4HA3jOMdi5RFU2CIiAIiIAiIgCIiAIiICHcrXSXanbDVx7TWuDgQcEHvUiGGOngZDE3ZjjaGtbnOAOAXYim7tYrhinitmFWXy9w2amDi3pKiTdDEOLj+S+7zdobNb31MmHP4Rx5wXuVRYrLVVdYL5eSTUO3wxHcIxyOOXYPPerRirYnoYVaksXZ09foiTpu0T0rp7lX762rOXD9xpOcf11BXyIqttu5rTpqnHCgiIoNAiIgCIiAIiIAiIgCIiAIiIAiIgKiWxCp1C251M3SxRsAihIOGO6\/66+xW6IpbbKQhGN7cQiIoLhERAEREAREQBERAEREB\/9k=",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "IVAN CONTRERAS QUIROZ",
    "correoContacto": "ivan.contreras@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56933991802",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28729\",\"cantidad_usada\":6,\"cantidad_asignada\":6}]",
    "horaSalida": "10:05",
    "ubicacionGPS": "LatLng(lat: -23.6200547, lng: -70.3900247)",
    "horaLlegada": "09:34",
    "horaDespacho": "10:04",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


20/05/2026 10:05:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[20/05/2026 10:05:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76050301', 'KY2887', 2, 19969062, 0, NOW(), 
				'10:04', '09:34', '10:05', 10, 'Encomienda via chilexpress', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779285914.png', 'Encomienda via chilexpress', null, 'COMPLETADO','LatLng(lat: -23.6200547, lng: -70.3900247)' )
				
[20/05/2026 10:05:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200374
[20/05/2026 10:05:14] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200374', 'KYO-I647', 6)
				
[20/05/2026 10:05:14] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 6
				WHERE
				    IDcontrol = 28729 and
				    IDproducto = 'KYO-I647'
				

20/05/2026 10:05:14 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 6)
                WHERE ID = 'KYO-I647';
                
20/05/2026 10:05:14 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200374'                    
				WHERE idllamado = 12658			
				TO ENVIO: micorreo@miempresa.cl, ivan.contreras@berliam.cl


20/05/2026 10:05:14 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12658			
				
20/05/2026 10:05:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10:05:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12658
            GROUP BY l.idllamado;
            

20/05/2026 10:05:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12658
                

20/05/2026 10:05:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12658
                

20/05/2026 10:05:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12658
                

20/05/2026 10:05:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12658
                

20/05/2026 10:05:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12658
                

20/05/2026 10: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 = 12658
                

[20/05/2026 10:05: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;
                

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12658
            GROUP BY l.idllamado;
            

[20/05/2026 10:05: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;
                

20/05/2026 10:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12658
            GROUP BY l.idllamado;
            

20/05/2026 10:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12658
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12658
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

[20/05/2026 10:05: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;
                

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10: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 = 12658
                

20/05/2026 10:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

[20/05/2026 10:05: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;
                

20/05/2026 10:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

[20/05/2026 10:05: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;
                

20/05/2026 10:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

20/05/2026 10:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

20/05/2026 10:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

[20/05/2026 10:05: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;
                

20/05/2026 10:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

20/05/2026 10:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

[20/05/2026 10:05: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;
                

[20/05/2026 10:05: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;
                

20/05/2026 10:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

20/05/2026 10:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

20/05/2026 10:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

20/05/2026 10:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

[20/05/2026 10:05: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;
                

20/05/2026 10:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

20/05/2026 10:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10:05:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10:05:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10:05:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12657
                

20/05/2026 10:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10:05:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

20/05/2026 10:05:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

20/05/2026 10:05:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10:05:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

20/05/2026 10:05:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12657
                

20/05/2026 10:06:02 - logentry: =========================================
FECHA: 20/05/2026 10:06:02
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-cpxrGB-CauJ0Nek7iBZHiDWBNTmEdSsAz0fWZURDhT1l3GjJUGw
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2895",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Encomienda via chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12657",
    "observacion": "Encomienda via chilexpress",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACWAMIDASIAAhEBAxEB\/8QAGwABAQACAwEAAAAAAAAAAAAAAAYEBQECAwf\/xABCEAABAwMCAgcEBggEBwAAAAABAAIDBAURBiESMRNBUWFxgZEiMqGxFBUjwdHwFjNCUmKiwvEHkrLhJCY1Q3J0gv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAgMECQMFAQAAAAAAAAABAgMREiExBEFRcRMiMmGBkaHR4VKxwRQjM0LwYv\/aAAwDAQACEQMRAD8A+zIinKvUVfLXz0Nnt30l9O7hke8+yD6+PX1KSi3oV1KkaazKNFMfX2oaPBr7FxsHvOpyTgduxctlbdR265PETJeiqORhl9l2ewdq64NZkI7RTk7Xs+\/I2qIigXhERAFoqu9VFBqaGiqWMFHUsxE8Dfi7z47eYW9Wo1JaPre2Fse1RCeOE9\/WPP54Uo2vmU11PBeGqz59xt0Wq05dfra1MkftPEejmH8Q6\/Pn6rarjVnZlkJqcVJaMIiLhI8KyqjoqOWqlPsRNLitPpzUn11LNBLF0UrBxtaN8tz2+Y9Vj6ymdUto7PBvNUytJ22a3cDPnv8A\/JXWWJlBryhZC0MilpeDA7g4AfytVqisOephqVpqqsOiaT8fYqURFUbgiIgCIiAIiIAiIgPKqnFNSTVDuUTHPPkMrQaIpy20yVjyS+qlLicY2G3zyuNQX+JjLjanRuikFOeF7jtJkch5H4FbDTMfRacom4xmPi9ST96ss1DmY8Uam0K39U\/O9jarV3PT1vugLpYujm6pY9nA7+u5ytoigm1oapwjNWkrki2svGlX9HXB9fbc4E43e3u3O3gfIqlobhS3KnE9JM2RpAyAd29xHUVkOaHNLXAEEYIPWpiv07VWyc3DTr+ieB9pT5yHjuz8vRTupa5MzYalDs9aPDeuXEqEWssl6hvFKXAdHUR7TQnmw\/gtmoNNOzNMJxnFSjoERFwkSr\/+XtXCT3aK57O7Gvz+J9HHsVUtXqK1i7WiWBozKz24v\/IdXny8146WuhudoYJD9vT\/AGcmeZxyPmPjlWPrRuZaf7dV09zzX5X5N0iLDutaLfa6mrPONhLeXPkPjhQSvkaZNRTbNFagbprKuuB9qKkHQxHAxnlsf8x8121P9jfLJUg4xOWnwy38SsrSFEaWxRyyZ6WqcZnE8znlv4b+axtVYku1jhycuqc7DON2q1Pr2PPcWtmxPVtPzaKZERUnohERAEREAREQBERAS2uLY6ooWV8LSX0wIfjnwH8PvK2Wlncem6I5z7BHo4hZV4iM1mrIxzdA\/wA9lLaDubY3S2yU4Mh6SHPWce0PQZ8irleVPkYJYae1p\/UvUtkRFSbwiIgJXUFJLZrlHqCgZsDw1LANiD1+fzwVS01RHVU0dRC7ijkaHNPcUqYGVVNLTyDLJWFp8CFodGTSChqaCV\/E6jmLBtyG\/wB4KsfWjyMqXRVrLSX3+SjREVZqCkrrEdNX2O8QAijqXcFRG0cievHx8c9qrVi3GgiuVBLSTe7IMZHNp6j6qUZWeZTWpucctVmuZkMe2SNsjHBzXAFpHWFN64kLrfS0bXcJqKgDPcB+JC76TrZWMmstYOGpojgb+8zP3beRC87mDX62t9LxgR0rOlI355z9zfRTjHDPkUVanS0MtZWXuUkUbYYmRMGGsaGtHcFN3UCo11a4MZ6OMyHu94\/0qnUvQEV2u66oaTwUsXR9XPYH459FyG9k9ozUY8WvTMqERFWagiIgCIiAIiIAiIgOHAOaWncEYK+bRUssVFVSU\/sVdpqi7LefATg+OC3PgSvpSlYGNo9dVVK9uYbhBxBp5E43z6O9VbTdrmHa6eJx8vPT1KC2V8dyt0NZHykbkj909Y9VlKT0+91kv1VYpnHopD0lOT1\/3HxCrFCas8jRQqOcLvVZPmERFEuCmNLf9c1B\/wCz\/U9U6mdGF00dwqySRNUnBPM\/tf1fFTj2WZqv81Px+xTIiKBpCIiAmNRsdarvRX6JmWNPRVGDzB2Hjtn0C60kjKzX0ksTgWMpA4OB94ENwf5lRVlJFXUctLMMslaWnu71GaWgltmrqijqSTIIXRtJ\/aALSCO7AV0XeL4pHnVouFaPBtPx+S1qZm01LLO73YmF536gMrQaJp3C2TV0mTJVzFxcesDb58S9dY1ppbI6BgJlqnCJoAzt1\/h5raWqj+gWumpeuKMB3j1\/FR0hzL319oX\/ACvV\/BloiKs1BERAEREAREQBERAFM6ubLSTUF4iBP0SXDwDzBI2+Y81TLwrKSKuo5aWYZZK0tPd3qUXZ3Kq1N1IOK1J3V8QfQ0l7oyC+ne1wkHIsO4Prj1KpKaoZVUsVRH7srA8b9oypvThFVbazT9aT0tMXM358JOxHgfuXto6rkNDNbKgET0MhYQf3STj4g\/BTkurbgZqM\/wBxS+peq1\/3cUaLgkAZJwAp26azoqKV0FNGaqZv7pw3Pj1qEYuWhqqVYU1ebsZGq7g6hsr2Qn7epPRMA5788eSy7HQfVlop6Yj2w3L9z7x3KlRQXzVFZFc3dHRRx4EROcjB5tHbnr2Wz\/RCepI+sb3VVAznhacAdnMn5KxpJYWzHCpUnUdSMLrRbv8AXKR8scZw+RrfE4XLXNe0OY4OaeRByCp2PQtpjIJkqnkHO8gHyAXD9C23JdDUVULurDwQPhn4qFocS\/HX+hefwUqKWNu1NaGZoK9twibsIph7WPM+PX\/tlUOq4ZKptHcad9DUnYCQHhJ8wMZ6kwPVZnVtCTtNYX3+5v1D6smdbtVUVc3k2Np588OOR6K4Uf8A4gwA01HUZALXuZjPPIz93xUqXaK9tT6FtbrM9Q9t+1nGY5Q+ktzA8Eci7u88f5VVqW0G6H6snjawtmZL9pnO+233qpXKmTtwJbLnTxvWWYREVZqCIiAIiIAiIgCIiAIiICV1C2Sz32lvsLT0TsRVIaOY7T5f6QuKyQWrWMFez26e4Q4Ja4e07YDHUf2PVUNxoIrlQS0k3uyDGRzaeo+qga6epp6AW6qaW1dqmD4n9RjJ\/Hhx3K+HWR5e0p0m3ubuua180bOqdqfUfGyGA0dC\/YNk9jiHeeZz3bLOteiKKkIkrXfS5B+zjDB5daoqaoZVUsVRH7srA8b9oyvVQdR6LI0x2Wm3jm8T7\/Y4AAGAMALlEVZrCIiALBudoo7vB0VVFkj3ZG44meBWci6m1miMoqSs1kR9Ldp9LVUlruRdNTtYZKeUe8Rvt5\/ArFmt1ZqC3Vt6rjIzhiLqWIcg0b+mB55z2L21vDURV1HXZ44Wnhazlh+c+ecfBZkesYYWNhuVsqKQ44SA32R64I2WjOylFZnlPDilSqytFaePf3bjU6Yq\/oN3pnObwQXGLgyT\/wBxpx8SP5gr5fLHTw\/RKiCmlOKafp6Z5ODwnAI36\/dPkV9LoKptdQQVTRgTRh+OwkbhRrLO5bsFS6cPH39TIREVB6QREQBERAEREAREQBERAFH66oXtZDcom+6DDLt1Hkfn8FYLGuFGy4W+ekfsJWFuew9R8ipwlhlco2il0tNxNNoy4CosXRyP9qlcWkuI2bzHl1eSxp9W1TqueWho\/pNvp3Na+QA5PaR+erv2kYH11DPU26MESVH\/AA74+05xj89q+nWy3xWu3xUkI9lg3PW49ZVs1GLvxMOzVKlaCgnbDq\/t8mTG8SRteAQHAHB5hdkRZz1QiIgCIiAl9ZHpp7VRjBM1SNs94H9SpnNa9pa9oc08wRkFTFM5t81nJOHcVNbW8LNti\/l88nyCqVZPJJGWh1pTnubt5EZrDTtPDRC4UMDIeiOJWMGAQTgEDuPz7lgaadfpqWU2utYW05ANPKcjB7M8uR7Fe1NOyqpZaeT3ZWFh27RhSWjYJaC83ChlaWlresc8HGc47\/irIzvBp7jLVoKO0Rcck+GWZlxatno5DDe7bLSu6pI2ktJ\/IPIlb6juFJcIhLSVDJm\/wnceI5jzXtLFHNG6OWNsjHDDmuGQfJaGs0hSmT6RbJn0FQ3BBYctOO0eX91X1X3Gq1eno8S8n7FCilo9QXKyPFNfaUyR54W1UO4Ow59vPu8FQ0VfSXCHpqSdkzOvhO48RzHmouLRZTrQm7LXhvMhERRLgiIgCIiAIiIAiIgILUE7KPW8FRHHvGY3ScPN3b8FeqXt3BFry4Nm\/WSRAxl3WMDYeXyVQrKj0Rj2WOc5cWwiIqzYEREAWk1NdpKCjZTUhJrapwZEG4yMnnj4DvS7aooreHQwu+lVfJsUe+D3kf3XhZbFO6r+uLu8yVr92RnlEPx+SsjG3WkZalRzfR09d74fJnaftDLNbGQc5X+3Kf4scvALaIig227s0QgoRUY6ILrwtDy\/HtEAE9w\/uV2RcJBERAdJYo5o3RyxtkY4Yc1wyD5KdrdKuppxW2GY0tQ056NzvYd+fTwVKikpNaFVSlCp2l7k9a9VRyyCiusZoq1p4SHDDXHu7PzuqFYNzs9Fd4DHVRAnGGyNAD2+BU\/0l10iWteHV9rGwLR7UQz19ny8FKylpqU46lH+TOPH3X5K5Fj0VbT3CmbUU0gkjd1g8j2HvWQqzUmmroIiIdCIiAIiIDU3uxtuojlinfTVUP6uVhP3fncrXF2rbc4AtguMQ24sYdj4H5qnRTU2lZlE6EZPEm0+4mP0kvbd3abnI7Gl2f8ASn6XVg2dp6sB6xvt\/KqdExR4Eeiq7qj8kTH6SXmpGKPT8wPLilJAz6D5rg2rUl3bw3KvZRwO96GAZd4HH4nwVQiY7aIfp3Ltyb9Psay26etlqw6npwZQP1sntO\/28sLZoii23qXxhGCtFWCIi4SCIiAIiIAiIgC4c0OaWuAIIwQetcogJC422r0zVG6WjifSE5qKbOwHb4d\/V4Kkttxp7rRMq6YksdsQebT1grKIBGCMgqRq4n6Quza2ma42ypdwzRjfgO\/L7vMK3tqz1MbX6d4l2HquHfy4lei6se2SNsjHBzXAFpHWEVRsOyIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAsC92910tE9Gwta+QDhLuQIII+SIurJkKiTg0ztR0lTT0UED6kF0cbWEhgxkDCIiNiMVZH\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "IVAN CONTRERAS",
    "correoContacto": "ivan.contreras@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56933991802",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28730\",\"cantidad_usada\":6,\"cantidad_asignada\":6}]",
    "horaSalida": "10:06",
    "ubicacionGPS": "LatLng(lat: -23.6200465, lng: -70.3900324)",
    "horaLlegada": "09:34",
    "horaDespacho": "10:05",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 20/05/2026 10:06:02
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-cpxrGB-CauJ0Nek7iBZHiDWBNTmEdSsAz0fWZURDhT1l3GjJUGw
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2895",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Encomienda via chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12657",
    "observacion": "Encomienda via chilexpress",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACWAMIDASIAAhEBAxEB\/8QAGwABAQACAwEAAAAAAAAAAAAAAAYEBQECAwf\/xABCEAABAwMCAgcEBggEBwAAAAABAAIDBAURBiESMRNBUWFxgZEiMqGxFBUjwdHwFjNCUmKiwvEHkrLhJCY1Q3J0gv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAgMECQMFAQAAAAAAAAABAgMREiExBEFRcRMiMmGBkaHR4VKxwRQjM0LwYv\/aAAwDAQACEQMRAD8A+zIinKvUVfLXz0Nnt30l9O7hke8+yD6+PX1KSi3oV1KkaazKNFMfX2oaPBr7FxsHvOpyTgduxctlbdR265PETJeiqORhl9l2ewdq64NZkI7RTk7Xs+\/I2qIigXhERAFoqu9VFBqaGiqWMFHUsxE8Dfi7z47eYW9Wo1JaPre2Fse1RCeOE9\/WPP54Uo2vmU11PBeGqz59xt0Wq05dfra1MkftPEejmH8Q6\/Pn6rarjVnZlkJqcVJaMIiLhI8KyqjoqOWqlPsRNLitPpzUn11LNBLF0UrBxtaN8tz2+Y9Vj6ymdUto7PBvNUytJ22a3cDPnv8A\/JXWWJlBryhZC0MilpeDA7g4AfytVqisOephqVpqqsOiaT8fYqURFUbgiIgCIiAIiIAiIgPKqnFNSTVDuUTHPPkMrQaIpy20yVjyS+qlLicY2G3zyuNQX+JjLjanRuikFOeF7jtJkch5H4FbDTMfRacom4xmPi9ST96ss1DmY8Uam0K39U\/O9jarV3PT1vugLpYujm6pY9nA7+u5ytoigm1oapwjNWkrki2svGlX9HXB9fbc4E43e3u3O3gfIqlobhS3KnE9JM2RpAyAd29xHUVkOaHNLXAEEYIPWpiv07VWyc3DTr+ieB9pT5yHjuz8vRTupa5MzYalDs9aPDeuXEqEWssl6hvFKXAdHUR7TQnmw\/gtmoNNOzNMJxnFSjoERFwkSr\/+XtXCT3aK57O7Gvz+J9HHsVUtXqK1i7WiWBozKz24v\/IdXny8146WuhudoYJD9vT\/AGcmeZxyPmPjlWPrRuZaf7dV09zzX5X5N0iLDutaLfa6mrPONhLeXPkPjhQSvkaZNRTbNFagbprKuuB9qKkHQxHAxnlsf8x8121P9jfLJUg4xOWnwy38SsrSFEaWxRyyZ6WqcZnE8znlv4b+axtVYku1jhycuqc7DON2q1Pr2PPcWtmxPVtPzaKZERUnohERAEREAREQBERAS2uLY6ooWV8LSX0wIfjnwH8PvK2Wlncem6I5z7BHo4hZV4iM1mrIxzdA\/wA9lLaDubY3S2yU4Mh6SHPWce0PQZ8irleVPkYJYae1p\/UvUtkRFSbwiIgJXUFJLZrlHqCgZsDw1LANiD1+fzwVS01RHVU0dRC7ijkaHNPcUqYGVVNLTyDLJWFp8CFodGTSChqaCV\/E6jmLBtyG\/wB4KsfWjyMqXRVrLSX3+SjREVZqCkrrEdNX2O8QAijqXcFRG0cievHx8c9qrVi3GgiuVBLSTe7IMZHNp6j6qUZWeZTWpucctVmuZkMe2SNsjHBzXAFpHWFN64kLrfS0bXcJqKgDPcB+JC76TrZWMmstYOGpojgb+8zP3beRC87mDX62t9LxgR0rOlI355z9zfRTjHDPkUVanS0MtZWXuUkUbYYmRMGGsaGtHcFN3UCo11a4MZ6OMyHu94\/0qnUvQEV2u66oaTwUsXR9XPYH459FyG9k9ozUY8WvTMqERFWagiIgCIiAIiIAiIgOHAOaWncEYK+bRUssVFVSU\/sVdpqi7LefATg+OC3PgSvpSlYGNo9dVVK9uYbhBxBp5E43z6O9VbTdrmHa6eJx8vPT1KC2V8dyt0NZHykbkj909Y9VlKT0+91kv1VYpnHopD0lOT1\/3HxCrFCas8jRQqOcLvVZPmERFEuCmNLf9c1B\/wCz\/U9U6mdGF00dwqySRNUnBPM\/tf1fFTj2WZqv81Px+xTIiKBpCIiAmNRsdarvRX6JmWNPRVGDzB2Hjtn0C60kjKzX0ksTgWMpA4OB94ENwf5lRVlJFXUctLMMslaWnu71GaWgltmrqijqSTIIXRtJ\/aALSCO7AV0XeL4pHnVouFaPBtPx+S1qZm01LLO73YmF536gMrQaJp3C2TV0mTJVzFxcesDb58S9dY1ppbI6BgJlqnCJoAzt1\/h5raWqj+gWumpeuKMB3j1\/FR0hzL319oX\/ACvV\/BloiKs1BERAEREAREQBERAFM6ubLSTUF4iBP0SXDwDzBI2+Y81TLwrKSKuo5aWYZZK0tPd3qUXZ3Kq1N1IOK1J3V8QfQ0l7oyC+ne1wkHIsO4Prj1KpKaoZVUsVRH7srA8b9oypvThFVbazT9aT0tMXM358JOxHgfuXto6rkNDNbKgET0MhYQf3STj4g\/BTkurbgZqM\/wBxS+peq1\/3cUaLgkAZJwAp26azoqKV0FNGaqZv7pw3Pj1qEYuWhqqVYU1ebsZGq7g6hsr2Qn7epPRMA5788eSy7HQfVlop6Yj2w3L9z7x3KlRQXzVFZFc3dHRRx4EROcjB5tHbnr2Wz\/RCepI+sb3VVAznhacAdnMn5KxpJYWzHCpUnUdSMLrRbv8AXKR8scZw+RrfE4XLXNe0OY4OaeRByCp2PQtpjIJkqnkHO8gHyAXD9C23JdDUVULurDwQPhn4qFocS\/HX+hefwUqKWNu1NaGZoK9twibsIph7WPM+PX\/tlUOq4ZKptHcad9DUnYCQHhJ8wMZ6kwPVZnVtCTtNYX3+5v1D6smdbtVUVc3k2Np588OOR6K4Uf8A4gwA01HUZALXuZjPPIz93xUqXaK9tT6FtbrM9Q9t+1nGY5Q+ktzA8Eci7u88f5VVqW0G6H6snjawtmZL9pnO+233qpXKmTtwJbLnTxvWWYREVZqCIiAIiIAiIgCIiAIiICV1C2Sz32lvsLT0TsRVIaOY7T5f6QuKyQWrWMFez26e4Q4Ja4e07YDHUf2PVUNxoIrlQS0k3uyDGRzaeo+qga6epp6AW6qaW1dqmD4n9RjJ\/Hhx3K+HWR5e0p0m3ubuua180bOqdqfUfGyGA0dC\/YNk9jiHeeZz3bLOteiKKkIkrXfS5B+zjDB5daoqaoZVUsVRH7srA8b9oyvVQdR6LI0x2Wm3jm8T7\/Y4AAGAMALlEVZrCIiALBudoo7vB0VVFkj3ZG44meBWci6m1miMoqSs1kR9Ldp9LVUlruRdNTtYZKeUe8Rvt5\/ArFmt1ZqC3Vt6rjIzhiLqWIcg0b+mB55z2L21vDURV1HXZ44Wnhazlh+c+ecfBZkesYYWNhuVsqKQ44SA32R64I2WjOylFZnlPDilSqytFaePf3bjU6Yq\/oN3pnObwQXGLgyT\/wBxpx8SP5gr5fLHTw\/RKiCmlOKafp6Z5ODwnAI36\/dPkV9LoKptdQQVTRgTRh+OwkbhRrLO5bsFS6cPH39TIREVB6QREQBERAEREAREQBERAFH66oXtZDcom+6DDLt1Hkfn8FYLGuFGy4W+ekfsJWFuew9R8ipwlhlco2il0tNxNNoy4CosXRyP9qlcWkuI2bzHl1eSxp9W1TqueWho\/pNvp3Na+QA5PaR+erv2kYH11DPU26MESVH\/AA74+05xj89q+nWy3xWu3xUkI9lg3PW49ZVs1GLvxMOzVKlaCgnbDq\/t8mTG8SRteAQHAHB5hdkRZz1QiIgCIiAl9ZHpp7VRjBM1SNs94H9SpnNa9pa9oc08wRkFTFM5t81nJOHcVNbW8LNti\/l88nyCqVZPJJGWh1pTnubt5EZrDTtPDRC4UMDIeiOJWMGAQTgEDuPz7lgaadfpqWU2utYW05ANPKcjB7M8uR7Fe1NOyqpZaeT3ZWFh27RhSWjYJaC83ChlaWlresc8HGc47\/irIzvBp7jLVoKO0Rcck+GWZlxatno5DDe7bLSu6pI2ktJ\/IPIlb6juFJcIhLSVDJm\/wnceI5jzXtLFHNG6OWNsjHDDmuGQfJaGs0hSmT6RbJn0FQ3BBYctOO0eX91X1X3Gq1eno8S8n7FCilo9QXKyPFNfaUyR54W1UO4Ow59vPu8FQ0VfSXCHpqSdkzOvhO48RzHmouLRZTrQm7LXhvMhERRLgiIgCIiAIiIAiIgILUE7KPW8FRHHvGY3ScPN3b8FeqXt3BFry4Nm\/WSRAxl3WMDYeXyVQrKj0Rj2WOc5cWwiIqzYEREAWk1NdpKCjZTUhJrapwZEG4yMnnj4DvS7aooreHQwu+lVfJsUe+D3kf3XhZbFO6r+uLu8yVr92RnlEPx+SsjG3WkZalRzfR09d74fJnaftDLNbGQc5X+3Kf4scvALaIig227s0QgoRUY6ILrwtDy\/HtEAE9w\/uV2RcJBERAdJYo5o3RyxtkY4Yc1wyD5KdrdKuppxW2GY0tQ056NzvYd+fTwVKikpNaFVSlCp2l7k9a9VRyyCiusZoq1p4SHDDXHu7PzuqFYNzs9Fd4DHVRAnGGyNAD2+BU\/0l10iWteHV9rGwLR7UQz19ny8FKylpqU46lH+TOPH3X5K5Fj0VbT3CmbUU0gkjd1g8j2HvWQqzUmmroIiIdCIiAIiIDU3uxtuojlinfTVUP6uVhP3fncrXF2rbc4AtguMQ24sYdj4H5qnRTU2lZlE6EZPEm0+4mP0kvbd3abnI7Gl2f8ASn6XVg2dp6sB6xvt\/KqdExR4Eeiq7qj8kTH6SXmpGKPT8wPLilJAz6D5rg2rUl3bw3KvZRwO96GAZd4HH4nwVQiY7aIfp3Ltyb9Psay26etlqw6npwZQP1sntO\/28sLZoii23qXxhGCtFWCIi4SCIiAIiIAiIgC4c0OaWuAIIwQetcogJC422r0zVG6WjifSE5qKbOwHb4d\/V4Kkttxp7rRMq6YksdsQebT1grKIBGCMgqRq4n6Quza2ma42ypdwzRjfgO\/L7vMK3tqz1MbX6d4l2HquHfy4lei6se2SNsjHBzXAFpHWEVRsOyIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAsC92910tE9Gwta+QDhLuQIII+SIurJkKiTg0ztR0lTT0UED6kF0cbWEhgxkDCIiNiMVZH\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "IVAN CONTRERAS",
    "correoContacto": "ivan.contreras@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56933991802",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28730\",\"cantidad_usada\":6,\"cantidad_asignada\":6}]",
    "horaSalida": "10:06",
    "ubicacionGPS": "LatLng(lat: -23.6200465, lng: -70.3900324)",
    "horaLlegada": "09:34",
    "horaDespacho": "10:05",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


20/05/2026 10:06:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[20/05/2026 10:06:02] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76050301', 'KY2895', 1, 19969062, 0, NOW(), 
				'10:05', '09:34', '10:06', 10, 'Encomienda via chilexpress', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779285962.png', 'Encomienda via chilexpress', null, 'COMPLETADO','LatLng(lat: -23.6200465, lng: -70.3900324)' )
				
[20/05/2026 10:06:02] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200375
[20/05/2026 10:06:02] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200375', 'KYO-I1045', 6)
				
[20/05/2026 10:06:02] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 6
				WHERE
				    IDcontrol = 28730 and
				    IDproducto = 'KYO-I1045'
				

20/05/2026 10:06:02 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 6)
                WHERE ID = 'KYO-I1045';
                
20/05/2026 10:06:02 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200375'                    
				WHERE idllamado = 12657			
				TO ENVIO: micorreo@miempresa.cl, ivan.contreras@berliam.cl


20/05/2026 10:06:03 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12657			
				
20/05/2026 10:06:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


20/05/2026 10: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 = 12657
                

20/05/2026 10:06:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

[20/05/2026 10:06: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;
                

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

20/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12657
                

[20/05/2026 10:06: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;
                

20/05/2026 10:06:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

[20/05/2026 10:06:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

[20/05/2026 10:06:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

[20/05/2026 10:06:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

[20/05/2026 10:06:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[20/05/2026 10:06:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12656
                

20/05/2026 10:06:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12657
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12657
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12657
                

20/05/2026 10:06:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:06:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

[20/05/2026 10:06: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;
                

20/05/2026 10:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:06:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

[20/05/2026 10:06: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;
                

[20/05/2026 10:06: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;
                

20/05/2026 10:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

[20/05/2026 10:06: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;
                

20/05/2026 10:06:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:06:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:06:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:06:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:06:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

[20/05/2026 10:06:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:06:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

[20/05/2026 10:06:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:06:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:06:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:06:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:06:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:06:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

[20/05/2026 10:06: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;
                

20/05/2026 10:06:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

[20/05/2026 10:06: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;
                

[20/05/2026 10:06: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;
                

20/05/2026 10:06:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:06:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:06:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

[20/05/2026 10:06: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;
                

20/05/2026 10:06:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:06:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

[20/05/2026 10:06: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;
                

20/05/2026 10:06:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

[20/05/2026 10:06: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;
                

20/05/2026 10:06:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:06:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:06:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:06:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

[20/05/2026 10:06: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;
                

20/05/2026 10:06:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/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 = 12656
                

20/05/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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10:06:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10:06:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:06:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:06:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10: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 = 12656
                

20/05/2026 10:07:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:07:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:07:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:07:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:11 - logentry: =========================================
FECHA: 20/05/2026 10:07:11
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-8oo.OIPMnqgsE6jY39xNMv3z1SxXa3EarfyR_5nom9XgM-V71g3
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2947",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Encomienda via chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12656",
    "observacion": "Encomienda via chilexpress",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABzALADASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgIDBwH\/xABBEAABAwMCAwUGAgYIBwAAAAABAAIDBAURBhIhMUETUWGBkRQiMnGhscHRBxUWIyRyMzRSYsLS4fA2QkNjgpKy\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALhEAAgECBQEHBAIDAAAAAAAAAAECAxEEEiExUUETIjJhcbHRI4GR4RShQlPw\/9oADAMBAAIRAxEAPwD2ZERAERU18vwtxbSUjBPXzcI4hxx4ldSbdkQnOMI5pFyiy0Wl7jWNE9yvE4ncdxZHyb4d3pwXAVV00tUwsuNSay3yu2CUg7mHvJPHl048Ae5TyJ7Mo\/kSjrODS5+TWIuLHtkjbIxwc1wBaR1C5Ks1BERAF1yzRQM3zSsjbnG57gB9V2Kr1JSS1tiqYoeMgG8D+1jjhdSu7EJycYtoswQRkHIK+qusVcy4Wenna7LgwNfxyQ4Dj+fmrAkAZJwAjVnY7GSlFSXUztyuVyq7tJbLQ6Nhgj3yynjx4e7y58vU9ynacuj7ra2yzYEzDskHXI6n5qs0Y01Lrjc3A5qaggE93P8AxfRNNfw2ob1RuJyZe0aD3ZP+YK2SVmuDDSnJyjNvSV\/0ahERUnoBERAEREAREQEO7XBlrtstW\/B2AYHeScBVOmrPJG515uDu0raobhkf0YP2P2HBR76JL1qSkszf6vABNPg59e7hwH8y1LWhrQ1oAAGAB0Vj7sbcmSK7Wq5PaO3r1PqjXGijuFBNSytBEjSBkcj0PkVJRVrQ1NJqzM\/o+oldbZaGcntaKZ0RB5gdPrkeS0CzFm\/h9a3enz8bRL9j\/iWnU5+Iowz+nZ9Lr8BERQNAREQGUtYGndTTWt7yKatAkp+4Hjw+hHjgK8vlQaWyVkodtIiIBxnBPAfdV+rqOWW3sr6bHb0LxKDtBO0cT6YB8iuq93Flw0RLVxcBK1mRz2ncMj7hW+JpmC\/ZRnT4Ta9P0yZpSmFNp2lGcmQGQ+Zz9sKBQHH6Qrk0AAezg8vCNXVmbtstCM5\/h2EnOcnaFS0Az+kK5uHECnaCfHEf5IndyJSWWFJLlezNOiIqjaEREAREQFLHeZxqqS1TsjbE6PdC4A7nHGftn0V0szq6N1JLQ3qIEupZQ14HVp4\/mP8AyVvX17GWKevhdlvYF8bh4jh+Cm1dJozQqOMpxk9tfsU2mD7ZfbxcB8JkEbD3jJ\/ABahUWjqfsNOQOxh0rnPPDxwPoAr1J+I7hk1STfXX86hEXGSRkUbpJHbWMBc49wCgaDNW\/Dv0g3N45CnaPoz8lo5poqeMyTSNjYObnHAWEtl+FNPW10cftFfXy7YYGjkM9cfPGOfDzVvT6ZqbttqtQVUr5M5bTxuAawdx\/wBPVXTjrqedQrNxapq7bb8ld9Tvqda2iB2yIzVJ6dkzh9cL5BrW2ySBk8c9NkgAyM4H07ldUlBR0DNlJTRwjGDsbgn5nmVzqKaCrhMNTCyWM82vGQo3hwaMmI3zL0t+zlFKyaNskbg5jhkELmsnAZNKXmOjMjpLdWuxFu\/6Tie\/zHr4LWKMo2LKVTOmmrNbnxzQ5pa4AgjBB6rz+49pYYrjZJG7qWpHa0zj04g49Bj5gd69BVRqSzNvFscxo\/iIcvhPj1b5\/kpU5WepTiqTnC8d1\/zR3afcH2ChcCD+5by71U6ZAqb9ea8Y2mXs2eIyfyCiWa\/ModGzEOHtFKSxrDzBcfdPHpkn0VzpW3mgskW\/PaTntn5HHiBgHywpNZVIrpyVV00uiu\/b5LlERUm8IiIAiIgOmspY62jlpZRlkrC08OWeqwc9wlttiuFgqdzZo3gQk9WFwJ\/34+C9CWK1\/Qe\/TXBoPEdk89B1H4q6k9bMwY2LUHUjutPszVWqD2a00kGMFkLQfnjj9VLXXAQaeMg5BYPsuxVPc2xVopI4veyNhfI4Ma0ZLnHACx14vkt\/qf1Lam5ilIa+cg8cHJx4eKsL1pyuvNx3SXDZRDG2IZJHfw5eatLVZqO0QdnTR+8R70juLnfNWLLFX3ZlqKrVbha0eerI1j05SWVm9v72pcMOlcPoO4K4RFW227s0whGEcsVZBERcJlBrSEP08+XAJhka4ZAPM7evzVvb5jUW2mnccmSFjie\/IBUDVX\/DVb\/KP\/oLvsJzYaE98Dfsp\/4GZaYh+aXuywREUDSeVV8FNTakmp5HZpW1Xv7Xcm54+YBIXp76imp4xvmiiYAAMuAA7l57qLTrrVUxyGYOgqHkB234OvH1Pop+l7BaLvb+2nEr543FsjN+B4Hhx5fYrVNKUU7ni4aVSlVlTUVd+Zp59RWenB7S4wHBwQx28\/TKgSa2szPhfNJ\/LGfxwpcGl7LTnLKCNx\/7hL\/uSp8VDSQjEVLDGP7kYCo7h6NsQ+qX5fwZ79uqSQH2e31cp6DaBn0JX06zdGf31mq4xw4kfmAtOiZo8Ds63+z+kUVNrKzVJAdO+AkcpWEY8xkK5hnhqIxJBKyRh5OYchdNVbKGt\/rVJDKf7TmAn159FV0mmG2y7MqrdVPhgOe1gd7wd3Aep55TuvbQJ14tXs15aMvlS6ui7XTdTwyWbXehCul0VtMKyhnpicCWNzM92QoxdmmW1Y54Sjyit0rXivsFOS4GSEdk8d2OX0wrleeaOuH6tvL6SpcY2TjYQ7pIDwz9R5r0NTqRyyKMHV7Skr7rQIiKs1hERAEREBSawk7PTNUM4Lyxo\/8AYfhlT7Qwx2eiY74hAzPz2jKptbyE2unpm8XT1DRjvGD1+eFoooxFEyMcmNDR5Kb8CM0dcRJ8JL3OaIigaSBera262uakONzhmMno4clj9GVslHfZKCUFjZgWmPPAPb\/oCFv1k7rpyp\/aSnuVDGCx0jXye9ja4dfPHqVbCSs4sw4mlLPGrBarf0NYiIqjcEREAREQBERAYW5WeGfVdXQFu01kRmgd1EmCefcSHZH5K\/0vdn3GgdDUkCrpnbJG4wcdCfqPJRNXMfSS0F4iYS6llAkIPNp6fLmPNR6mWO06jpbzAc0NyaGyEcgTjj9j5FXvvRR5a+jVbXOvo9n9ma5ERUHqBERAERQbxc4rRbpKqQjIGI2n\/mfjgF1K7sRlJRTk9ikqmi8a2hpyC6C3M3uweG\/gfvt9D5alUGkrfNT0D62rBNVWPL3Fw94N6Z+fPzCv1Kb1suhTh08rm95a\/H9ES426C6Uvs9Rv2bg73HYOQpQGBjuX1FC5flV7hERDoREQBERAEREAREQHTV0sVbSyU07d0crdrgsSIHmkrNM1rwJYSZaJ7jjdjPDzGcfMreKqvlihvMDcvMNREcxTNHFvh8lZCVtGZcRRc1mjv7rj4Pmmbj+srHBK45kjHZSfMdfMYPmrZUlqpKbTNAWVtdGHTP3FzjtBdgZxk\/Xhwwu5+prLG7a64RE\/3cuHqAuSV28pKnUUKaVRpP1LVFmptb0Jk7Kipairf02twD+P0XX7fqq6EtpaCO3xnhvm+Jvr\/lTs5ddDjxVPaOvoXl0u1JaaYzVUgBx7rB8Tz3ALP0FFW6oqGXG7NEdE05gphkbvE+Hj18AplBpKCOpFZcp311ScE7\/gB+XX\/fBaAAAYAwAu3UfDuR7OdV3qaLj5+D6iIqzWEREAREQBERAEREAREQBERAEREBFrrZRXJjG1lO2YMOW5JGPRR2aes8fw26nPHPvM3fdEXcz5IOnBu7SuToYIadgjgiZEwcmsaGj6LsRFwmlYIiIAiIgCIiAIiIAiIgCIiAIiID\/\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "VICTOR ROMERO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28728\",\"cantidad_usada\":5,\"cantidad_asignada\":5},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28728\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28728\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28728\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "10:07",
    "ubicacionGPS": "LatLng(lat: -23.6200633, lng: -70.3900238)",
    "horaLlegada": "09:34",
    "horaDespacho": "10:06",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 20/05/2026 10:07:11
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-8oo.OIPMnqgsE6jY39xNMv3z1SxXa3EarfyR_5nom9XgM-V71g3
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2947",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Encomienda via chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12656",
    "observacion": "Encomienda via chilexpress",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABzALADASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgIDBwH\/xABBEAABAwMCAwUGAgYIBwAAAAABAAIDBAURBhIhMUETUWGBkRQiMnGhscHRBxUWIyRyMzRSYsLS4fA2QkNjgpKy\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALhEAAgECBQEHBAIDAAAAAAAAAAECAxEEEiExUUETIjJhcbHRI4GR4RShQlPw\/9oADAMBAAIRAxEAPwD2ZERAERU18vwtxbSUjBPXzcI4hxx4ldSbdkQnOMI5pFyiy0Wl7jWNE9yvE4ncdxZHyb4d3pwXAVV00tUwsuNSay3yu2CUg7mHvJPHl048Ae5TyJ7Mo\/kSjrODS5+TWIuLHtkjbIxwc1wBaR1C5Ks1BERAF1yzRQM3zSsjbnG57gB9V2Kr1JSS1tiqYoeMgG8D+1jjhdSu7EJycYtoswQRkHIK+qusVcy4Wenna7LgwNfxyQ4Dj+fmrAkAZJwAjVnY7GSlFSXUztyuVyq7tJbLQ6Nhgj3yynjx4e7y58vU9ynacuj7ra2yzYEzDskHXI6n5qs0Y01Lrjc3A5qaggE93P8AxfRNNfw2ob1RuJyZe0aD3ZP+YK2SVmuDDSnJyjNvSV\/0ahERUnoBERAEREAREQEO7XBlrtstW\/B2AYHeScBVOmrPJG515uDu0raobhkf0YP2P2HBR76JL1qSkszf6vABNPg59e7hwH8y1LWhrQ1oAAGAB0Vj7sbcmSK7Wq5PaO3r1PqjXGijuFBNSytBEjSBkcj0PkVJRVrQ1NJqzM\/o+oldbZaGcntaKZ0RB5gdPrkeS0CzFm\/h9a3enz8bRL9j\/iWnU5+Iowz+nZ9Lr8BERQNAREQGUtYGndTTWt7yKatAkp+4Hjw+hHjgK8vlQaWyVkodtIiIBxnBPAfdV+rqOWW3sr6bHb0LxKDtBO0cT6YB8iuq93Flw0RLVxcBK1mRz2ncMj7hW+JpmC\/ZRnT4Ta9P0yZpSmFNp2lGcmQGQ+Zz9sKBQHH6Qrk0AAezg8vCNXVmbtstCM5\/h2EnOcnaFS0Az+kK5uHECnaCfHEf5IndyJSWWFJLlezNOiIqjaEREAREQFLHeZxqqS1TsjbE6PdC4A7nHGftn0V0szq6N1JLQ3qIEupZQ14HVp4\/mP8AyVvX17GWKevhdlvYF8bh4jh+Cm1dJozQqOMpxk9tfsU2mD7ZfbxcB8JkEbD3jJ\/ABahUWjqfsNOQOxh0rnPPDxwPoAr1J+I7hk1STfXX86hEXGSRkUbpJHbWMBc49wCgaDNW\/Dv0g3N45CnaPoz8lo5poqeMyTSNjYObnHAWEtl+FNPW10cftFfXy7YYGjkM9cfPGOfDzVvT6ZqbttqtQVUr5M5bTxuAawdx\/wBPVXTjrqedQrNxapq7bb8ld9Tvqda2iB2yIzVJ6dkzh9cL5BrW2ySBk8c9NkgAyM4H07ldUlBR0DNlJTRwjGDsbgn5nmVzqKaCrhMNTCyWM82vGQo3hwaMmI3zL0t+zlFKyaNskbg5jhkELmsnAZNKXmOjMjpLdWuxFu\/6Tie\/zHr4LWKMo2LKVTOmmrNbnxzQ5pa4AgjBB6rz+49pYYrjZJG7qWpHa0zj04g49Bj5gd69BVRqSzNvFscxo\/iIcvhPj1b5\/kpU5WepTiqTnC8d1\/zR3afcH2ChcCD+5by71U6ZAqb9ea8Y2mXs2eIyfyCiWa\/ModGzEOHtFKSxrDzBcfdPHpkn0VzpW3mgskW\/PaTntn5HHiBgHywpNZVIrpyVV00uiu\/b5LlERUm8IiIAiIgOmspY62jlpZRlkrC08OWeqwc9wlttiuFgqdzZo3gQk9WFwJ\/34+C9CWK1\/Qe\/TXBoPEdk89B1H4q6k9bMwY2LUHUjutPszVWqD2a00kGMFkLQfnjj9VLXXAQaeMg5BYPsuxVPc2xVopI4veyNhfI4Ma0ZLnHACx14vkt\/qf1Lam5ilIa+cg8cHJx4eKsL1pyuvNx3SXDZRDG2IZJHfw5eatLVZqO0QdnTR+8R70juLnfNWLLFX3ZlqKrVbha0eerI1j05SWVm9v72pcMOlcPoO4K4RFW227s0whGEcsVZBERcJlBrSEP08+XAJhka4ZAPM7evzVvb5jUW2mnccmSFjie\/IBUDVX\/DVb\/KP\/oLvsJzYaE98Dfsp\/4GZaYh+aXuywREUDSeVV8FNTakmp5HZpW1Xv7Xcm54+YBIXp76imp4xvmiiYAAMuAA7l57qLTrrVUxyGYOgqHkB234OvH1Pop+l7BaLvb+2nEr543FsjN+B4Hhx5fYrVNKUU7ni4aVSlVlTUVd+Zp59RWenB7S4wHBwQx28\/TKgSa2szPhfNJ\/LGfxwpcGl7LTnLKCNx\/7hL\/uSp8VDSQjEVLDGP7kYCo7h6NsQ+qX5fwZ79uqSQH2e31cp6DaBn0JX06zdGf31mq4xw4kfmAtOiZo8Ds63+z+kUVNrKzVJAdO+AkcpWEY8xkK5hnhqIxJBKyRh5OYchdNVbKGt\/rVJDKf7TmAn159FV0mmG2y7MqrdVPhgOe1gd7wd3Aep55TuvbQJ14tXs15aMvlS6ui7XTdTwyWbXehCul0VtMKyhnpicCWNzM92QoxdmmW1Y54Sjyit0rXivsFOS4GSEdk8d2OX0wrleeaOuH6tvL6SpcY2TjYQ7pIDwz9R5r0NTqRyyKMHV7Skr7rQIiKs1hERAEREBSawk7PTNUM4Lyxo\/8AYfhlT7Qwx2eiY74hAzPz2jKptbyE2unpm8XT1DRjvGD1+eFoooxFEyMcmNDR5Kb8CM0dcRJ8JL3OaIigaSBera262uakONzhmMno4clj9GVslHfZKCUFjZgWmPPAPb\/oCFv1k7rpyp\/aSnuVDGCx0jXye9ja4dfPHqVbCSs4sw4mlLPGrBarf0NYiIqjcEREAREQBERAYW5WeGfVdXQFu01kRmgd1EmCefcSHZH5K\/0vdn3GgdDUkCrpnbJG4wcdCfqPJRNXMfSS0F4iYS6llAkIPNp6fLmPNR6mWO06jpbzAc0NyaGyEcgTjj9j5FXvvRR5a+jVbXOvo9n9ma5ERUHqBERAERQbxc4rRbpKqQjIGI2n\/mfjgF1K7sRlJRTk9ikqmi8a2hpyC6C3M3uweG\/gfvt9D5alUGkrfNT0D62rBNVWPL3Fw94N6Z+fPzCv1Kb1suhTh08rm95a\/H9ES426C6Uvs9Rv2bg73HYOQpQGBjuX1FC5flV7hERDoREQBERAEREAREQHTV0sVbSyU07d0crdrgsSIHmkrNM1rwJYSZaJ7jjdjPDzGcfMreKqvlihvMDcvMNREcxTNHFvh8lZCVtGZcRRc1mjv7rj4Pmmbj+srHBK45kjHZSfMdfMYPmrZUlqpKbTNAWVtdGHTP3FzjtBdgZxk\/Xhwwu5+prLG7a64RE\/3cuHqAuSV28pKnUUKaVRpP1LVFmptb0Jk7Kipairf02twD+P0XX7fqq6EtpaCO3xnhvm+Jvr\/lTs5ddDjxVPaOvoXl0u1JaaYzVUgBx7rB8Tz3ALP0FFW6oqGXG7NEdE05gphkbvE+Hj18AplBpKCOpFZcp311ScE7\/gB+XX\/fBaAAAYAwAu3UfDuR7OdV3qaLj5+D6iIqzWEREAREQBERAEREAREQBERAEREBFrrZRXJjG1lO2YMOW5JGPRR2aes8fw26nPHPvM3fdEXcz5IOnBu7SuToYIadgjgiZEwcmsaGj6LsRFwmlYIiIAiIgCIiAIiIAiIgCIiAIiID\/\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "VICTOR ROMERO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28728\",\"cantidad_usada\":5,\"cantidad_asignada\":5},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28728\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28728\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28728\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "10:07",
    "ubicacionGPS": "LatLng(lat: -23.6200633, lng: -70.3900238)",
    "horaLlegada": "09:34",
    "horaDespacho": "10:06",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


20/05/2026 10:07:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[20/05/2026 10:07: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('76050301', 'EP2947', 1, 19969062, 0, NOW(), 
				'10:06', '09:34', '10:07', 10, 'Encomienda via chilexpress', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779286031.png', 'Encomienda via chilexpress', null, 'COMPLETADO','LatLng(lat: -23.6200633, lng: -70.3900238)' )
				
[20/05/2026 10:07:11] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200376
[20/05/2026 10:07:11] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200376', 'EPS-I302', 5)
				
[20/05/2026 10:07:11] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 5
				WHERE
				    IDcontrol = 28728 and
				    IDproducto = 'EPS-I302'
				

20/05/2026 10:07:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:11 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 5)
                WHERE ID = 'EPS-I302';
                [20/05/2026 10:07:11] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200376', 'EPS-I303', 2)
				
[20/05/2026 10:07:11] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28728 and
				    IDproducto = 'EPS-I303'
				

20/05/2026 10:07:11 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I303';
                [20/05/2026 10:07:11] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200376', 'EPS-I304', 2)
				
[20/05/2026 10:07:11] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28728 and
				    IDproducto = 'EPS-I304'
				

20/05/2026 10:07:11 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I304';
                [20/05/2026 10:07:11] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200376', 'EPS-I305', 2)
				
[20/05/2026 10:07:11] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28728 and
				    IDproducto = 'EPS-I305'
				

20/05/2026 10:07:11 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I305';
                
20/05/2026 10:07:11 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200376'                    
				WHERE idllamado = 12656			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


20/05/2026 10:07:11 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12656			
				
20/05/2026 10:07:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


20/05/2026 10:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

[20/05/2026 10:07:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[20/05/2026 10:07:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

[20/05/2026 10:07:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

[20/05/2026 10:07:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

[20/05/2026 10:07:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12656
            GROUP BY l.idllamado;
            

20/05/2026 10:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12656
                

20/05/2026 10:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/2026 10:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/2026 10:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/2026 10:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

[20/05/2026 10:07: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;
                

20/05/2026 10:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

[20/05/2026 10:07: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;
                

20/05/2026 10:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

[20/05/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;
                

[20/05/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;
                

20/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/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 = 12637
                

20/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

[20/05/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;
                

20/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/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 = 12637
                

20/05/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 = 12637
                

20/05/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 = 12637
                

20/05/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 = 12637
                

20/05/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 = 12637
                

20/05/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 = 12637
                

[20/05/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;
                

20/05/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 = 12637
                

20/05/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 = 12637
                

20/05/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 = 12637
                

20/05/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 = 12637
                

20/05/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 = 12637
                

20/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/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 = 12656
                

20/05/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 = 12656
                

20/05/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 = 12637
                

20/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/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 = 12637
                

20/05/2026 10:07:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/2026 10:07:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

[20/05/2026 10:07: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;
                

[20/05/2026 10:07: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;
                

20/05/2026 10:07:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/2026 10:07:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/2026 10:07:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

[20/05/2026 10:07: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;
                

20/05/2026 10:07:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/2026 10:07:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/2026 10:07:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

[20/05/2026 10: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;
                

20/05/2026 10: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 = 12637
                

20/05/2026 10: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 = 12637
                

20/05/2026 10: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 = 12637
                

20/05/2026 10: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 = 12637
                

20/05/2026 10:07:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10: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 = 12637
                

20/05/2026 10:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/2026 10:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/2026 10:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/2026 10:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/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 = 12637
                

20/05/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 = 12637
                

20/05/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 = 12637
                

20/05/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 = 12637
                

20/05/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 = 12637
                

20/05/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 = 12637
                

20/05/2026 10:07:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/2026 10:07:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/2026 10:07:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/2026 10:07:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/2026 10:07:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:48 - logentry: =========================================
FECHA: 20/05/2026 10:07:48
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Tvxo0fcjFR5D97e8WeiBjf-7vIvV33IITJanKdlvUb4HJB1P++k
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2877",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Encomienda via chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12637",
    "observacion": "Encomienda via chilexpress",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABxAIYDASIAAhEBAxEB\/8QAGwABAQEBAAMBAAAAAAAAAAAAAAYFBAECAwf\/xAA7EAABAwMCAwQHBgQHAAAAAAABAAIDBAURBiESEzFBUXGRIjJhgaGxwQcUI1LC0RWS0vAkQnKCorLh\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QALhEAAgIBAgIHCAMAAAAAAAAAAAECEQMhMRJBBCIyUWGRoRMUcYGxweHwUoLR\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBYdNe5malqLVXNYwOwaZzRjiHt7yfmCtxYmprO65UTZ6bIrKY8cRb1Ps\/b2q0aumY5uNR4obrl3m2iytPXht4twkdtUR+hM3GMO7\/AHrVUNNOmaQmpxUo7MIua4V0NtopKuc4ZGM4zu49w9qzbHqSO7SmCWB1NPwCRrHdHt23BUqLasq8sIzUG9WbaIiqaBERAEREAREQBFmvv9rZXihdVs52eHA3AdnHDnvz2LSUtNblYzjLZhERQWCIiAk7vSVGn7qL3b2Zp5DiqhBwNz19mfgfFU1LUw1lNHUwP44pBlpX0kjZLG6ORocx4LXNI2IPUKX0\/I+zX6psMpPKeTJTEnO3XHl8QVp2o+KOSvY5NOzL0f5PfU7nVt4tdpacskk5krQerQe7wDuq8aob\/CqygvNO3g5T+VKGD1m42HkCPeO5eaf8f7RKriO1PTgtHiG\/1Lr1jCJdN1Bxkxlrx\/MB8iVZOnFfupjJcUMk+d6f1NtpDmhw3BGQvK5LVMai0UczvWfAwnfO+AutZPQ9CLtJhERQSEREAWbf7m202iapz+IRwRDvcenl19y0lMawJlntNHnInqd29h3A3H+5WgrkjDpE3DE2tzLrLEyn0W2sLD98LmzyPd62CenXuIVlbqsV1up6oEHmxhxx2HG4819KmnZVUstPJ6srCw7d4wsHRMz\/AOFzUch9Olmc3h\/KD2eeVdvijbMYQWHKorZr1RRoiLI7QiIgCndWUczYoLxRnhqKE5O3Vp\/b5EqiXq9jZI3RvaHNcCHA9oVounZnlx+0g4kjYK6K5a1rKyEEMlpAcHsOIwR55WnrJ\/DpmoG3pOYP+QP0WHZKdtg1pJRSnDJWFkTj2gkFvyx4rS1Ri53KgssZDnOfzJR+VuNvhxf2Vs111Wx58JP3eafaba+bN21s5Vpo4\/yQMb5NC6l4a0NaGtAAAwAOxeVzs9OKpJBERCQinhW1NNrf7pNPI6nqIMxMJ9EHr+k9\/VUKlqjPHkU7rk6CmL1ip1lZ6XrywZceZ\/QqdS8B+8\/aHUOHSmp8ZI9g\/qKtDmzLpOqjHva\/0qFM6a\/B1BfKfAA5weB73fuFTKXsrms1denPcGtGMknAG6R2YzaZMb8fsyoRc9PcKOrcW09VDK4dWseCR4hdCodCaeqCIiEhERARWvYXRVVDXRuLX4LMjsIOR8yuvSL47hPUXSpna+ue4sDOPdrNiNuzcFfbXNNzrEJgBmCVrj4Hb5kLB0zYqS80MzjLLBVQSgtljPQY228QemOxdKp49TyJqUemdVXetH6EilGXG86bc2O7g1lGXBralm5YPb293XzVPDNHUQsmheHxvGWuadiFhKLR6OPKp6bNcmfRERVNid1hRyOoornTDFRQvDw4deHt8jg+a2qCrbX2+CrZjErA7AOcHtHuOy+k0LKiCSCQZZI0tcO8EYKntGyvhgq7VMfxKKYjYbYJP1B81pvD4HL2M\/hL6r8FKpjTGai\/Xur6t53A1w6EZd9AFSTSCGF8pGQxpdjwU7odjjap6l\/rz1DnHHdgfXKiPZZOTXNBfF\/vmUqiWWF931XXPqGSMo2yEvyC3mdgAPiFbIojJxui+XDHLXFsibuOkKMQST2xslLVsaTHy5DgnHTfv6bLv03c3XW0Ryyn8eM8uX\/UO33jBWqpeyNbRayutDFnlOYJcZ2B9E\/rKtblF3yMnFYckXFUno\/sVCIizOsIi5aK40lxEppZePlPLH+iRg+9KIbSdHi6Uf3+2VFKMcUjCG56cXUfHCkvs\/c5tXWxnYFjSR7QT+6uFi2TTsdmrKqeOUubMcMZj1W9f3WkZVFpnLlxOWaGRcrs1poY6iF8MzA+N4w5rhsQpaSju2lpnT2\/irbc5xLqb\/Mz4beI94VairGVGuTEp63TXMzrRe6O9QufTOIezHHG7q3P9\/BF1x0lPDPJPHBGyWX13taAXeJRQ6vQvBSUetufZS0zhateRyuJEVxiDM424umPMD+ZVKwNY0hms33qM8MtI8StcOvcfofcrQ3rvMukp8HEt46+R332TlWGueDg8hwz4jH1XPpSPlaaoxjGWud5uJXHerkKjRBqsguqI2NPD04iRxfIrWskJgsdFGRgiBpI7iRkqXpD5lItSz2v4\/VnciIszrCmLXmXXl0mAwGwhn\/UfpKpnODWlziAAMknsUzpFklXUXG7yZ\/xMvCzbAwN\/qB7irx2bObNrkhHxvyRToiKh0herWMZngaG8RycDGT3r2RAEREAREQBERAF8K2nFXRTUxIHNYW5PZkL7ohDSapn5tU1Tzp1lnmy2WkruBw7eEh2Pjn4L9Ha1rGBjRhrRgDuCidSWeWXVtO+GF5ZVcBe7GGgg4O\/gB5q4W2RppUcPRIyjOalypeQRFz10M89FNFTT8iV7SGyYzwlYnc3SswtQ3KesqBYrYGvmnBbO8naMbZGfDqtq2W+K2W+Kki6MG57XHtK57JZIbNTkB3Nnk3kmcN3f+LTV5NVSMMWOXE8k936LuCIiodAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/9k=",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CONSTANZA CACERES",
    "correoContacto": "contanza.caceres@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28714\",\"cantidad_usada\":4,\"cantidad_asignada\":4},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28714\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28714\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28714\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "10:08",
    "ubicacionGPS": "LatLng(lat: -23.6200752, lng: -70.3899724)",
    "horaLlegada": "09:34",
    "horaDespacho": "10:07",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 20/05/2026 10:07:48
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Tvxo0fcjFR5D97e8WeiBjf-7vIvV33IITJanKdlvUb4HJB1P++k
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2877",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Encomienda via chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12637",
    "observacion": "Encomienda via chilexpress",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABxAIYDASIAAhEBAxEB\/8QAGwABAQEBAAMBAAAAAAAAAAAAAAYFBAECAwf\/xAA7EAABAwMCAwQHBgQHAAAAAAABAAIDBAURBiESEzFBUXGRIjJhgaGxwQcUI1LC0RWS0vAkQnKCorLh\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QALhEAAgIBAgIHCAMAAAAAAAAAAAECEQMhMRJBBCIyUWGRoRMUcYGxweHwUoLR\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBYdNe5malqLVXNYwOwaZzRjiHt7yfmCtxYmprO65UTZ6bIrKY8cRb1Ps\/b2q0aumY5uNR4obrl3m2iytPXht4twkdtUR+hM3GMO7\/AHrVUNNOmaQmpxUo7MIua4V0NtopKuc4ZGM4zu49w9qzbHqSO7SmCWB1NPwCRrHdHt23BUqLasq8sIzUG9WbaIiqaBERAEREAREQBFmvv9rZXihdVs52eHA3AdnHDnvz2LSUtNblYzjLZhERQWCIiAk7vSVGn7qL3b2Zp5DiqhBwNz19mfgfFU1LUw1lNHUwP44pBlpX0kjZLG6ORocx4LXNI2IPUKX0\/I+zX6psMpPKeTJTEnO3XHl8QVp2o+KOSvY5NOzL0f5PfU7nVt4tdpacskk5krQerQe7wDuq8aob\/CqygvNO3g5T+VKGD1m42HkCPeO5eaf8f7RKriO1PTgtHiG\/1Lr1jCJdN1Bxkxlrx\/MB8iVZOnFfupjJcUMk+d6f1NtpDmhw3BGQvK5LVMai0UczvWfAwnfO+AutZPQ9CLtJhERQSEREAWbf7m202iapz+IRwRDvcenl19y0lMawJlntNHnInqd29h3A3H+5WgrkjDpE3DE2tzLrLEyn0W2sLD98LmzyPd62CenXuIVlbqsV1up6oEHmxhxx2HG4819KmnZVUstPJ6srCw7d4wsHRMz\/AOFzUch9Olmc3h\/KD2eeVdvijbMYQWHKorZr1RRoiLI7QiIgCndWUczYoLxRnhqKE5O3Vp\/b5EqiXq9jZI3RvaHNcCHA9oVounZnlx+0g4kjYK6K5a1rKyEEMlpAcHsOIwR55WnrJ\/DpmoG3pOYP+QP0WHZKdtg1pJRSnDJWFkTj2gkFvyx4rS1Ri53KgssZDnOfzJR+VuNvhxf2Vs111Wx58JP3eafaba+bN21s5Vpo4\/yQMb5NC6l4a0NaGtAAAwAOxeVzs9OKpJBERCQinhW1NNrf7pNPI6nqIMxMJ9EHr+k9\/VUKlqjPHkU7rk6CmL1ip1lZ6XrywZceZ\/QqdS8B+8\/aHUOHSmp8ZI9g\/qKtDmzLpOqjHva\/0qFM6a\/B1BfKfAA5weB73fuFTKXsrms1denPcGtGMknAG6R2YzaZMb8fsyoRc9PcKOrcW09VDK4dWseCR4hdCodCaeqCIiEhERARWvYXRVVDXRuLX4LMjsIOR8yuvSL47hPUXSpna+ue4sDOPdrNiNuzcFfbXNNzrEJgBmCVrj4Hb5kLB0zYqS80MzjLLBVQSgtljPQY228QemOxdKp49TyJqUemdVXetH6EilGXG86bc2O7g1lGXBralm5YPb293XzVPDNHUQsmheHxvGWuadiFhKLR6OPKp6bNcmfRERVNid1hRyOoornTDFRQvDw4deHt8jg+a2qCrbX2+CrZjErA7AOcHtHuOy+k0LKiCSCQZZI0tcO8EYKntGyvhgq7VMfxKKYjYbYJP1B81pvD4HL2M\/hL6r8FKpjTGai\/Xur6t53A1w6EZd9AFSTSCGF8pGQxpdjwU7odjjap6l\/rz1DnHHdgfXKiPZZOTXNBfF\/vmUqiWWF931XXPqGSMo2yEvyC3mdgAPiFbIojJxui+XDHLXFsibuOkKMQST2xslLVsaTHy5DgnHTfv6bLv03c3XW0Ryyn8eM8uX\/UO33jBWqpeyNbRayutDFnlOYJcZ2B9E\/rKtblF3yMnFYckXFUno\/sVCIizOsIi5aK40lxEppZePlPLH+iRg+9KIbSdHi6Uf3+2VFKMcUjCG56cXUfHCkvs\/c5tXWxnYFjSR7QT+6uFi2TTsdmrKqeOUubMcMZj1W9f3WkZVFpnLlxOWaGRcrs1poY6iF8MzA+N4w5rhsQpaSju2lpnT2\/irbc5xLqb\/Mz4beI94VairGVGuTEp63TXMzrRe6O9QufTOIezHHG7q3P9\/BF1x0lPDPJPHBGyWX13taAXeJRQ6vQvBSUetufZS0zhateRyuJEVxiDM424umPMD+ZVKwNY0hms33qM8MtI8StcOvcfofcrQ3rvMukp8HEt46+R332TlWGueDg8hwz4jH1XPpSPlaaoxjGWud5uJXHerkKjRBqsguqI2NPD04iRxfIrWskJgsdFGRgiBpI7iRkqXpD5lItSz2v4\/VnciIszrCmLXmXXl0mAwGwhn\/UfpKpnODWlziAAMknsUzpFklXUXG7yZ\/xMvCzbAwN\/qB7irx2bObNrkhHxvyRToiKh0herWMZngaG8RycDGT3r2RAEREAREQBERAF8K2nFXRTUxIHNYW5PZkL7ohDSapn5tU1Tzp1lnmy2WkruBw7eEh2Pjn4L9Ha1rGBjRhrRgDuCidSWeWXVtO+GF5ZVcBe7GGgg4O\/gB5q4W2RppUcPRIyjOalypeQRFz10M89FNFTT8iV7SGyYzwlYnc3SswtQ3KesqBYrYGvmnBbO8naMbZGfDqtq2W+K2W+Kki6MG57XHtK57JZIbNTkB3Nnk3kmcN3f+LTV5NVSMMWOXE8k936LuCIiodAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/9k=",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CONSTANZA CACERES",
    "correoContacto": "contanza.caceres@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28714\",\"cantidad_usada\":4,\"cantidad_asignada\":4},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28714\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28714\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28714\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "10:08",
    "ubicacionGPS": "LatLng(lat: -23.6200752, lng: -70.3899724)",
    "horaLlegada": "09:34",
    "horaDespacho": "10:07",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


20/05/2026 10:07:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[20/05/2026 10:07: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('76050301', 'EP2877', 1, 19969062, 0, NOW(), 
				'10:07', '09:34', '10:08', 10, 'Encomienda via chilexpress', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779286068.png', 'Encomienda via chilexpress', null, 'COMPLETADO','LatLng(lat: -23.6200752, lng: -70.3899724)' )
				
[20/05/2026 10:07:48] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200377
[20/05/2026 10:07:48] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200377', 'EPS-I302', 4)
				
[20/05/2026 10:07:48] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 4
				WHERE
				    IDcontrol = 28714 and
				    IDproducto = 'EPS-I302'
				

20/05/2026 10:07:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:48 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 4)
                WHERE ID = 'EPS-I302';
                
20/05/2026 10:07:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/2026 10:07:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                
[20/05/2026 10:07:48] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200377', 'EPS-I303', 2)
				
[20/05/2026 10:07:48] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28714 and
				    IDproducto = 'EPS-I303'
				

20/05/2026 10:07:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:48 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I303';
                [20/05/2026 10:07:48] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200377', 'EPS-I304', 2)
				
[20/05/2026 10:07:48] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28714 and
				    IDproducto = 'EPS-I304'
				

20/05/2026 10:07:48 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I304';
                [20/05/2026 10:07:48] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200377', 'EPS-I305', 2)
				
[20/05/2026 10:07:48] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28714 and
				    IDproducto = 'EPS-I305'
				

20/05/2026 10:07:48 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I305';
                
20/05/2026 10:07:48 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200377'                    
				WHERE idllamado = 12637			
				TO ENVIO: micorreo@miempresa.cl, contanza.caceres@berliam.cl


20/05/2026 10:07:48 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12637			
				
20/05/2026 10:07:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


20/05/2026 10:07:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/2026 10:07:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/2026 10:07:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/2026 10:07:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

[20/05/2026 10:07: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;
                

20/05/2026 10:07:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/2026 10:07:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

[20/05/2026 10:07: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;
                

20/05/2026 10:07:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/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 = 12637
                

20/05/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 = 12637
                

[20/05/2026 10:07: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;
                

20/05/2026 10:07:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

[20/05/2026 10:07: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;
                

20/05/2026 10:07:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

[20/05/2026 10:07: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;
                

20/05/2026 10: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 = 12637
                

20/05/2026 10: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 = 12637
                

20/05/2026 10:07:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12637
                

20/05/2026 10: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 = 12637
                

20/05/2026 10: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 = 12637
                

20/05/2026 10: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 = 12637
                

20/05/2026 10:07:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12637
            GROUP BY l.idllamado;
            

20/05/2026 10:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12637
                

20/05/2026 10:07:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

[20/05/2026 10:08: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;
                

20/05/2026 10:08:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

[20/05/2026 10:08: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;
                

20/05/2026 10:08:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

[20/05/2026 10:08: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;
                

20/05/2026 10:08:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

[20/05/2026 10:08: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;
                

20/05/2026 10:08:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

[20/05/2026 10:08: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;
                

20/05/2026 10:08:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

[20/05/2026 10:08: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;
                

20/05/2026 10:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

[20/05/2026 10:08: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;
                

20/05/2026 10:08:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

[20/05/2026 10:08: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;
                

20/05/2026 10:08:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

[20/05/2026 10:08: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;
                

20/05/2026 10:08:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

[20/05/2026 10:08: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;
                

20/05/2026 10:08:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

[20/05/2026 10:08: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;
                

20/05/2026 10:08:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

[20/05/2026 10:08: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;
                

20/05/2026 10:08:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

[20/05/2026 10:08: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;
                

20/05/2026 10:08:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

[20/05/2026 10:08: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;
                

20/05/2026 10:08:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

[20/05/2026 10:08: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;
                

20/05/2026 10:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

[20/05/2026 10:08: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;
                

20/05/2026 10:08:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

[20/05/2026 10:08: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;
                

20/05/2026 10:08:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

[20/05/2026 10:08: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;
                

20/05/2026 10:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/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 = 12638
                

20/05/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 = 12638
                

20/05/2026 10:09:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/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 = 12638
                

20/05/2026 10:09:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/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 = 12638
                

20/05/2026 10:09:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/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 = 12638
                

20/05/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 = 12638
                

20/05/2026 10:09:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:09:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:09:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:09:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:39 - logentry: =========================================
FECHA: 20/05/2026 10:09:39
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Ssqx2mQQvysLDRvq5Ll7gwjmUmKjgeS_dYw26igSUZ_GHCRG4Ys
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "TO3119",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Encomienda via chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12638",
    "observacion": "Encomienda via chilexpress",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACBAK4DASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgEDBwL\/xAA+EAABAwMBBQUFAwoHAAAAAAABAAIDBAURBhITITFBUWGRobEUFXGBwSJC8AcWIyQyQ1JT0eElM2JyorLS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgECBAMGBQUAAAAAAAAAAAECAxEEEiExE0FRFCIyYaHBM1JxkeFigbHR8P\/aAAwDAQACEQMRAD8A9mREQBERAEREAREQBERAEREAWVqrtfp7zW01vZDsUgyI3N4vHbx+n91qllq5rrVrakqmOxHcRu5G9\/Af+fNWQtdmXE3Si07K+tv91Liy3eG80e+jGw9h2ZGHm0\/DvVismC2xa2dkbFLcW8Dnhtk\/1\/7LWLk1Z6E6E3KLUt1owiIoF4REQBERAERRbhcae20xnnJ48GMaMue7HIBErnG1FXZKRZj85rxIA+HTs5jcMtLicnyU22algrao0VTA+iq88IpDz4Z8cdCFNwkiiOJpydr+jRdIiKBoCIiAIiIAiLP3imvNLXm6W2oM7CGiSkI6Ds8T4rqV3YrqTcFe1zQLPayonz2ltXCSJqN4kaRzx1+h+SlWbUVJdyYgDDUtGXwv5jtweqtXsbJG6N7Q5rgQ4HqF1XhLUhLJXpNRejM1ft1fNIsuUTcSRgStxzac4cPXwV5aqz3ha6er6ysBPDHHkfNZ3TbtmO46cqjiRheGZ6tIwcevzUvRNRvLI6B2A6nmc3ZHQHj6kqyStFroZ6M71FL5lr9UaJERUm8IiIAiIgCy1RGbvrn2WY\/oLfEJAwn9o\/ZPqRnny71qVmbITJrC8PODsgNyB38vLyU4aXZmxGrhF82aZVGoLHHd6XaZ9iriGYZBwOewns9FbooptO6LpwjOLjLYpNM3h1yonQVORWUx2JQ7me\/+vertZbUNO6zXWDUFK0hhcGVTGj9oHr8xw+OFp2PbJG2Rjg5rgC0jqFKaW65lVCUtac916rkz6REUDQEREAREQFLe9OQ3Mipp3+y1sfFkzOGT349eYUez3+RlQbVesQ1rDhr3cGy9nHln1WiVbebHSXqAMnBbI0fo5W82\/wBR3KakmrSM06TjLiUt+a5P8+ZVatpZaWSnvtGMTUrgJMfeb3+nwK6dF1LJq67brO6fKJGDsBLv7Lm33Caikdp+\/jLJGlkM5\/Ze08MZ+vioOmqd9l1dPQTuA2o3NYT9\/iCCPkFbbuNMxZlx41Fs3qujtb1N0iIs56wREQBERAUFxvFVab9C2rc026oGy1wZjduzxJP44HuUfSxDr5f3cD+sDBHZtPV3dbbFdrfJSTcNoZa7+F3QrL6B2o6i5QyAiT7GQeeQXA+quVnBnnzUo4mCezu19tjaIiKk9AiXSibcbZUUjh\/msIHceYPiAqvRtW6eyCnkyJKV5iIJ445j1x8lfrL6ZPs+oL1RuGHGXeN+GT9HBWLWLRlqd2tCXW69zUIir6++222gipqmB4\/dtO0\/wCgk3saJSjFXk7FgizUmu7W04jhqpCTgYYB9VzFri3OeGywVMOermDAHaeKlw5dCjtVC\/iRpEUehrqa40zailkD2OHzHcVIUNjQmmroIiIdIV1tVNd6N1PUN72PHNh7QvN7q2voLoI6mQielxupcY2mg\/ZI\/HReqqo1DYo71RFoAbUxjMTz6HuKtpzyuz2MOMw3Fjmh4v5O+yXSO72yOpaRt42ZWj7ruqsF5TQyVNDXtpnVs9vG8DZy1xGyQTzAIyFsRa9URDagvcUmeIEjcjx2SuzppPcjh8XKcdYttb2saVFmA3WbGhpkpHkfeOOPkE9o1lCMexUlQT12gMf8AIKGTzRf2j9EvsadFmPzgvtEM3GxFwzgvgdwHH59vbzVlZr9DejJuaeeIRgHakaADnsIRwaVyUcRTk8vPo0WqxdDVew\/lAq4X\/YbUuLeeBkjaHj9VtF5\/rNr6LUsNZHkOcxkgP+ppx9ApUldtFGNbhGNRcmegIuqmnZVU0VRGcslYHD4ELtVRtTuroLHz3Gns+tq6qqnkRvp2jA4knDcAD5LVVlS2jo5qlzS4RML9kczgcllNO2s3urlvl0bvS5+ImObhpx1x2DlhWwsk29jJiXJyhCG97n2yG96o25pJ322gcMMjAJc8eWfjy7la0GlbTQgEU++fgAumO1njnlyVwAAMAYAXKi5vZaFkMPBPNLV9WfLWMZnZaG57BhHsZI3Ze0OHYRlfSKBosZG8U0WmbrSXShi3cEr91URjGz8uzhnwWtBBGQcgql1fC2XTdQ4gExlr25\/3AehKn2iV01no5HHLnQM2jnOTgZVktYpmWmslaUFs7P2ZMREVZqCIiAxut7ICz3tTtAIw2cAc+gd9PBWej7p7ws7YpHgz0x2HDrs\/dP0+SvJYmTRPikaHMe0tc09QeYWOo7TWaf1ZH7NG+SjnyMtBOGHmD8Dj8FXJ5oZXyPPnTdGuqsVo9H\/ZtERFSegFwAByGFyiALI6+o3SUdNWNBIhcWP7g7GPMea1yg3qk9us1XThoc58R2Qf4hxHmApwdpJlGIp8SlKJXaMqzVafjY52XQPMZz2cx5HHyV+sFoKs3VynpCfszR7QHe3+xPgt6u1VaTK8HUz0IvpocEAjBGQVwxjY42xsaGtaAGgdAvpFWawiIgCIiAoNaSbGm5W\/zHsb55+itrdEILbSxDOI4WN48+ACoNQu966gt9laCWMdvpjjhjs8AfELUKb0ikZqferTl0svf3CIigaQiIgCIiAIiIAiIgCIiA83ePc2thgBjG1I48sMcfDkcL0hYPXtIIrhTVjBgzMLXEDq08\/AjwWzt1WK63U9UCDvYw446HHEeKuqaxUjzsJ3KtSn53JKIipPRCIiAKLcbhBbKOSpneAGNJDScF57B3qDedSUVoaYy7fVRH2YWcTnvPT1VbbdPVN1n9539z3SE5jp84DBnr2fDxU1HS8tjNOs3LJT1fovqd+kaKfdVF3rDmeudtDj93nn558AFo1wAAMAYAXK5J5nctpU1TgooIiKJYEREAREQBERAEREAREQFJq2hNdYZdlpMkJEjQBknHAjwJUfQ028sGxkHdTObjs5H6rQvY2SN0b2hzXAhwPULO6ft1VYxdA+Bz4wdqBrSSZAM+Z4BWJ3g0Y5wccRGotmmmaRRau50NAP1qqiiP8AC53Hw5qgcdS39o2Wi00rh1J3hHr6KVSaOtkD97U7ytmJyXTO4E\/AfXKZUvEyXFqT+HHTq9PTc66nWtCBsUEM1ZKeDQ1hAJ49vHp2LpFNqi8janqI7XA4Y2GA7ePXzHwWjgpaamGKenihB\/lsDfRdyZkvChwZz+JL9lp+SptWnLfaTvI2GWfrNKcu+XQK2RFBtvVl8IRgrRVkERFwmEREARFD\/wAQ96\/ufYd137e3n8eK6cbsTERFw6EREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CONTANZA CACERES",
    "correoContacto": "contanza.caceres@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1037\",\"id_control\":\"28715\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "10:09",
    "ubicacionGPS": "LatLng(lat: -23.6200594, lng: -70.3900195)",
    "horaLlegada": "09:34",
    "horaDespacho": "10:08",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 20/05/2026 10:09:39
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Ssqx2mQQvysLDRvq5Ll7gwjmUmKjgeS_dYw26igSUZ_GHCRG4Ys
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "TO3119",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Encomienda via chilexpress",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12638",
    "observacion": "Encomienda via chilexpress",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACBAK4DASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgEDBwL\/xAA+EAABAwMBBQUFAwoHAAAAAAABAAIDBAURBhITITFBUWGRobEUFXGBwSJC8AcWIyQyQ1JT0eElM2JyorLS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgECBAMGBQUAAAAAAAAAAAECAxEEEiExE0FRFCIyYaHBM1JxkeFigbHR8P\/aAAwDAQACEQMRAD8A9mREQBERAEREAREQBERAEREAWVqrtfp7zW01vZDsUgyI3N4vHbx+n91qllq5rrVrakqmOxHcRu5G9\/Af+fNWQtdmXE3Si07K+tv91Liy3eG80e+jGw9h2ZGHm0\/DvVismC2xa2dkbFLcW8Dnhtk\/1\/7LWLk1Z6E6E3KLUt1owiIoF4REQBERAERRbhcae20xnnJ48GMaMue7HIBErnG1FXZKRZj85rxIA+HTs5jcMtLicnyU22algrao0VTA+iq88IpDz4Z8cdCFNwkiiOJpydr+jRdIiKBoCIiAIiIAiLP3imvNLXm6W2oM7CGiSkI6Ds8T4rqV3YrqTcFe1zQLPayonz2ltXCSJqN4kaRzx1+h+SlWbUVJdyYgDDUtGXwv5jtweqtXsbJG6N7Q5rgQ4HqF1XhLUhLJXpNRejM1ft1fNIsuUTcSRgStxzac4cPXwV5aqz3ha6er6ysBPDHHkfNZ3TbtmO46cqjiRheGZ6tIwcevzUvRNRvLI6B2A6nmc3ZHQHj6kqyStFroZ6M71FL5lr9UaJERUm8IiIAiIgCy1RGbvrn2WY\/oLfEJAwn9o\/ZPqRnny71qVmbITJrC8PODsgNyB38vLyU4aXZmxGrhF82aZVGoLHHd6XaZ9iriGYZBwOewns9FbooptO6LpwjOLjLYpNM3h1yonQVORWUx2JQ7me\/+vertZbUNO6zXWDUFK0hhcGVTGj9oHr8xw+OFp2PbJG2Rjg5rgC0jqFKaW65lVCUtac916rkz6REUDQEREAREQFLe9OQ3Mipp3+y1sfFkzOGT349eYUez3+RlQbVesQ1rDhr3cGy9nHln1WiVbebHSXqAMnBbI0fo5W82\/wBR3KakmrSM06TjLiUt+a5P8+ZVatpZaWSnvtGMTUrgJMfeb3+nwK6dF1LJq67brO6fKJGDsBLv7Lm33Caikdp+\/jLJGlkM5\/Ze08MZ+vioOmqd9l1dPQTuA2o3NYT9\/iCCPkFbbuNMxZlx41Fs3qujtb1N0iIs56wREQBERAUFxvFVab9C2rc026oGy1wZjduzxJP44HuUfSxDr5f3cD+sDBHZtPV3dbbFdrfJSTcNoZa7+F3QrL6B2o6i5QyAiT7GQeeQXA+quVnBnnzUo4mCezu19tjaIiKk9AiXSibcbZUUjh\/msIHceYPiAqvRtW6eyCnkyJKV5iIJ445j1x8lfrL6ZPs+oL1RuGHGXeN+GT9HBWLWLRlqd2tCXW69zUIir6++222gipqmB4\/dtO0\/wCgk3saJSjFXk7FgizUmu7W04jhqpCTgYYB9VzFri3OeGywVMOermDAHaeKlw5dCjtVC\/iRpEUehrqa40zailkD2OHzHcVIUNjQmmroIiIdIV1tVNd6N1PUN72PHNh7QvN7q2voLoI6mQielxupcY2mg\/ZI\/HReqqo1DYo71RFoAbUxjMTz6HuKtpzyuz2MOMw3Fjmh4v5O+yXSO72yOpaRt42ZWj7ruqsF5TQyVNDXtpnVs9vG8DZy1xGyQTzAIyFsRa9URDagvcUmeIEjcjx2SuzppPcjh8XKcdYttb2saVFmA3WbGhpkpHkfeOOPkE9o1lCMexUlQT12gMf8AIKGTzRf2j9EvsadFmPzgvtEM3GxFwzgvgdwHH59vbzVlZr9DejJuaeeIRgHakaADnsIRwaVyUcRTk8vPo0WqxdDVew\/lAq4X\/YbUuLeeBkjaHj9VtF5\/rNr6LUsNZHkOcxkgP+ppx9ApUldtFGNbhGNRcmegIuqmnZVU0VRGcslYHD4ELtVRtTuroLHz3Gns+tq6qqnkRvp2jA4knDcAD5LVVlS2jo5qlzS4RML9kczgcllNO2s3urlvl0bvS5+ImObhpx1x2DlhWwsk29jJiXJyhCG97n2yG96o25pJ322gcMMjAJc8eWfjy7la0GlbTQgEU++fgAumO1njnlyVwAAMAYAXKi5vZaFkMPBPNLV9WfLWMZnZaG57BhHsZI3Ze0OHYRlfSKBosZG8U0WmbrSXShi3cEr91URjGz8uzhnwWtBBGQcgql1fC2XTdQ4gExlr25\/3AehKn2iV01no5HHLnQM2jnOTgZVktYpmWmslaUFs7P2ZMREVZqCIiAxut7ICz3tTtAIw2cAc+gd9PBWej7p7ws7YpHgz0x2HDrs\/dP0+SvJYmTRPikaHMe0tc09QeYWOo7TWaf1ZH7NG+SjnyMtBOGHmD8Dj8FXJ5oZXyPPnTdGuqsVo9H\/ZtERFSegFwAByGFyiALI6+o3SUdNWNBIhcWP7g7GPMea1yg3qk9us1XThoc58R2Qf4hxHmApwdpJlGIp8SlKJXaMqzVafjY52XQPMZz2cx5HHyV+sFoKs3VynpCfszR7QHe3+xPgt6u1VaTK8HUz0IvpocEAjBGQVwxjY42xsaGtaAGgdAvpFWawiIgCIiAoNaSbGm5W\/zHsb55+itrdEILbSxDOI4WN48+ACoNQu966gt9laCWMdvpjjhjs8AfELUKb0ikZqferTl0svf3CIigaQiIgCIiAIiIAiIgCIiA83ePc2thgBjG1I48sMcfDkcL0hYPXtIIrhTVjBgzMLXEDq08\/AjwWzt1WK63U9UCDvYw446HHEeKuqaxUjzsJ3KtSn53JKIipPRCIiAKLcbhBbKOSpneAGNJDScF57B3qDedSUVoaYy7fVRH2YWcTnvPT1VbbdPVN1n9539z3SE5jp84DBnr2fDxU1HS8tjNOs3LJT1fovqd+kaKfdVF3rDmeudtDj93nn558AFo1wAAMAYAXK5J5nctpU1TgooIiKJYEREAREQBERAEREAREQFJq2hNdYZdlpMkJEjQBknHAjwJUfQ028sGxkHdTObjs5H6rQvY2SN0b2hzXAhwPULO6ft1VYxdA+Bz4wdqBrSSZAM+Z4BWJ3g0Y5wccRGotmmmaRRau50NAP1qqiiP8AC53Hw5qgcdS39o2Wi00rh1J3hHr6KVSaOtkD97U7ytmJyXTO4E\/AfXKZUvEyXFqT+HHTq9PTc66nWtCBsUEM1ZKeDQ1hAJ49vHp2LpFNqi8janqI7XA4Y2GA7ePXzHwWjgpaamGKenihB\/lsDfRdyZkvChwZz+JL9lp+SptWnLfaTvI2GWfrNKcu+XQK2RFBtvVl8IRgrRVkERFwmEREARFD\/wAQ96\/ufYd137e3n8eK6cbsTERFw6EREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CONTANZA CACERES",
    "correoContacto": "contanza.caceres@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1037\",\"id_control\":\"28715\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "10:09",
    "ubicacionGPS": "LatLng(lat: -23.6200594, lng: -70.3900195)",
    "horaLlegada": "09:34",
    "horaDespacho": "10:08",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


20/05/2026 10:09:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[20/05/2026 10:09: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('76050301', 'TO3119', 1, 19969062, 0, NOW(), 
				'10:08', '09:34', '10:09', 10, 'Encomienda via chilexpress', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779286179.png', 'Encomienda via chilexpress', null, 'COMPLETADO','LatLng(lat: -23.6200594, lng: -70.3900195)' )
				
[20/05/2026 10:09:39] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200378
[20/05/2026 10:09:39] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200378', 'TOS-I1037', 2)
				
[20/05/2026 10:09:39] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28715 and
				    IDproducto = 'TOS-I1037'
				

20/05/2026 10:09:39 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I1037';
                
20/05/2026 10:09:39 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200378'                    
				WHERE idllamado = 12638			
				TO ENVIO: micorreo@miempresa.cl, contanza.caceres@berliam.cl


20/05/2026 10:09:39 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12638			
				
20/05/2026 10:09:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


20/05/2026 10:09:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:09:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:09:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12638
                

20/05/2026 10:10:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

[20/05/2026 10: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;
                

[20/05/2026 10: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;
                

[20/05/2026 10: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;
                

[20/05/2026 10: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;
                

20/05/2026 10:10:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:10:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12638
                

20/05/2026 10: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 = 12638
                

20/05/2026 10:10:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12638
                

20/05/2026 10: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 = 12638
                

20/05/2026 10: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 = 12638
                

20/05/2026 10: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 = 12638
                

20/05/2026 10:10:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

[20/05/2026 10: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;
                

20/05/2026 10:10:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:10:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12638
                

20/05/2026 10: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 = 12638
                

20/05/2026 10: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 = 12638
                

20/05/2026 10:10:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

[20/05/2026 10: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;
                

20/05/2026 10:10:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

[20/05/2026 10: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;
                

20/05/2026 10: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 = 12638
                

20/05/2026 10:10:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10:10:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12638
                

20/05/2026 10: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 = 12638
                

20/05/2026 10:10:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12638
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12638
                

20/05/2026 10: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 = 12638
                

20/05/2026 10: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 = 12638
                

20/05/2026 10: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 = 12638
                

20/05/2026 10: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 = 12638
                

20/05/2026 10: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 = 12638
                

20/05/2026 10: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 = 12638
                

20/05/2026 10: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 = 12638
                

20/05/2026 10: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 = 12638
                

20/05/2026 10: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 = 12638
                

20/05/2026 10: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 = 12638
                

20/05/2026 10: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 = 12638
                

20/05/2026 10: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 = 12638
                

20/05/2026 10: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 = 12638
                

20/05/2026 10:11:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:11:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[20/05/2026 10:11: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;
                

20/05/2026 10: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 = 12652
                

20/05/2026 10:11:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10: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 = 12652
                

20/05/2026 10: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 = 12652
                

20/05/2026 10:11:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:11:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10: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 = 12652
                

[20/05/2026 10:11: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;
                

20/05/2026 10: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 = 12652
                

20/05/2026 10: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 = 12652
                

20/05/2026 10:11:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:11:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:11:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:11:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[20/05/2026 10:11: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;
                

[20/05/2026 10:11:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10: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 = 12652
                

20/05/2026 10: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 = 12652
                

[20/05/2026 10:11:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10: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 = 12652
                

20/05/2026 10: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 = 12652
                

20/05/2026 10:11:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:10 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/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 = 12652
                

[20/05/2026 10:11:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/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 = 12652
                

20/05/2026 10:11:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[20/05/2026 10:11:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:11:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:11:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/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 = 12652
                

20/05/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 = 12652
                

20/05/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 = 12652
                

20/05/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 = 12652
                

20/05/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 = 12652
                

20/05/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 = 12652
                

20/05/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 = 12652
                

20/05/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 = 12652
                

20/05/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 = 12652
                

20/05/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 = 12652
                

20/05/2026 10:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:13 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:11:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[20/05/2026 10:11:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:11:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:11:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[20/05/2026 10:11:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:11:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[20/05/2026 10:11:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[20/05/2026 10:11:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[20/05/2026 10:11:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[20/05/2026 10:11:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:11:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:11:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:11:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:11:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

[20/05/2026 10:11:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:11:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:11:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:11:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:11:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:11:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:11:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:12:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:12:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/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 = 12652
                

20/05/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 = 12652
                

20/05/2026 10: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 = 12652
                

20/05/2026 10: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 = 12652
                

20/05/2026 10: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 = 12652
                

20/05/2026 10: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 = 12652
                

20/05/2026 10: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 = 12652
                

20/05/2026 10: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 = 12652
                

20/05/2026 10: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 = 12652
                

20/05/2026 10: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 = 12652
                

20/05/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 = 12652
                

20/05/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 = 12652
                

20/05/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 = 12652
                

20/05/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 = 12652
                

20/05/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 = 12652
                

20/05/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 = 12652
                

20/05/2026 10:12:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:12:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/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 = 12652
                

20/05/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 = 12652
                

20/05/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 = 12652
                

20/05/2026 10:12:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:12:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/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 = 12652
                

20/05/2026 10: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 = 12652
                

20/05/2026 10: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 = 12652
                

20/05/2026 10: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 = 12652
                

20/05/2026 10: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 = 12652
                

20/05/2026 10:13:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:13:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:13:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:13:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10: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 = 12652
                

20/05/2026 10: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 = 12652
                

20/05/2026 10:13:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:13:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:13:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:13:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:13:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:13:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:13:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:13:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:13:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:13:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10: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 = 12652
                

20/05/2026 10:13:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:13:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10: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 = 12652
                

20/05/2026 10:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:14:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:14:09 - logentry: =========================================
FECHA: 20/05/2026 10:14:09
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-e3RooV3FTtCTvsHH6Gp-zI2ywolqLZ_8Ma9RXBj_oaRhr6cxkLA
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "86551700",
    "serieinterna": "KY3195",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Ferreteria Prat casa matriz",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "2do piso",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Instalacion maquina",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12652",
    "observacion": "Instalacion maquina",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADfARcDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABDEAABAwMBBQUFBQUHAwUAAAABAAIDBAURIQYSMUFRE2FxkbEUIjKBwRUjodHwJEJDYuEHFjM0UsLxU3KiVHSSsvL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIDBgQGAQUBAAAAAAAAAQIDERIhMQQiQVFh0RMycaFCgZGxweEjFCQzYvDx\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiKOvd3is1udUvw6Q+7HGT8Tv1qupNuyIykoRcpaI49o72+hjbQ0IMlwqNI2tGSwHn+X9FKW+Ooit8DKuXtagMHaO01Kh9nLRM2V96uRLq2pGQ0j\/DafQ4x4DRWFSlZZIpo45N1JZX0XTuERFA0BERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREARF45wa0ucQABkk8kBprKuGgpJKqofuxRjLiq1aaOXaK6uvdfGRSsOKWF2o05\/rifBYSOk2wu76dry21Ujsuc3+K7x8\/l4q2xxsijbHG0NYwBrWgaADgFZ5FbiY1\/cSv8ACvd9jJERVmwIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIihdqLrJbLX+z73tFQ7s4i0ajqf11XUruyIVJqnFyfAmC9gcGFwDjwGdSslVm7GMfSOlmq5jcJBvGUnRr\/Dnz1Ujs9UXSSGWnukBbLTu3BNyk\/WmvNScVa6ZVCrNySnG1\/n9SYREUDQEREAREQBERAFU71XT3+4NslreTC05qpm8AOmenqV07Q3aaWX7EtYMlZMMSOHCNp468j6KSslois1vZTR4c8+9K\/8A1u\/LorFurE9TJNutJ046LV\/judNDRQW6kZS0zN2Ngx3k9T3roRFWakklZBERDoREQBEXHc7nTWmjdU1L8NGjWji89AupXOSkoq70N9TUw0kDp6iQRxt4uK4LVtDQXieSGle\/fjBdhzcZbnGfTzChaK31u1NQy43XMVC05hpgcb3f4d\/ErZZ4om7c3L2eMMhigbGGtAAHwD6FWYEk+Zj8epKUWlaLdur6lqREVRtCIiAIiIAiIgCIiAIiIAqxfAKza+0UeN4RZmI6a5\/2Kzqr24+27dXCo0LKaLshg89B9HKcOLM20ZqMObXctCIigaQiIgCIiAIiIAoXaG\/fZTGU1Mzta6o0ijGuMnAJHjw6rffb3DZKLtXjflfkRR5+I\/kFw2Gyze0G83bL66XVrCP8IeHXHkpxSSxMzVZylLwqevF8l35HRs9YzaoZJ6l3a1tQd6aQ6454B8ePVTKIottu7LoQjTiox0CIi4TCIiAIi01dVDRUslTUPDIoxlzihxtJXZjXVsFupH1VS\/djYM95PQd6rNBQz7UXAXa5xblFHpTwHg4Z4nqOvXwShp6ja2uFwrmllthcRDBn4z3\/AF8lbWtDWhrQAAMADkrPJlxMiT2h4n5eHXr6AAAYAwAqxsZ+0vudxJJNRUYye7J\/3Kduk4prVVzE43IXEeONFGbGQmLZuFx\/iPe7h34+iLKDJzzrwXJN\/gnkRFWaQiIgCIiAIiIAiIgCIiAxke2KN0jvhYCT4BVvYmN0lHWV8nx1U5J55A14+JKk9o5nU+z1bIzj2Rb56fVY7Mwtg2domtHxR758Sc\/VWLKDM0t7aIrkm\/rkSqIirNIREQBERAFxXW6U9oonVNQdODWji89AttbW09vpX1NTIGRsGp69w71WqGhn2nubbvcIzHRR6U8B\/eHXz8\/BTjG+b0M9aq1uQ8z9urN1ntdRdq4X27jU600B4MHI\/X8VZ0RclK7J0qSpqy149QiIoloREQBERAeOcGtLnEAAZJPJVGV0m194dTMeW2mldlzm6do79Z+Xiuzayum3ILPRn9prjunUaM4a+P0KmLZb4bXQR0cGS1g1ceLieJKsW6r8TJP+afh\/CtevTudEUUcMTYomBjGDDWtGAAs0RVmsgNsqw09jdAwEyVTxG0AZPU+mPmpW2UnsNspqU8Yow0+ONfxUDdMXTbOhoCN6Kjb2sgOozx4fJvHr52hWSyikZaW9VnPll3CIirNQREQBERAEREARFGX68x2agMpG9NJlsLBzd+QXUm3ZEZzUIuUtEe3e+Ulmjb2xL5Xn3ImfEe\/wUQ2t2tronVFPR09Mz9yOQYe7z+uFvsWz7mS\/at1zLXSneDXaiLp8\/RWJTbjHJZmZRqVd6TcVyWvzKVdtoZKqx11vr4PZK9rWe5jR\/vjOPlr\/AMKz2QBtioAP\/TRn\/wAQobbe208tqNfuYngLRvjm0nGD5qU2eqoquw0j4hgMjEZHQtGPouys4XRXSxR2hxm75ZelyTREVRvCIiALXNNHTwvmmeGRsGXOcdAF7LLHDE6WV4Yxgy5zjgAKpOdU7Z1xYxzobRTvw5w0Mp\/P0Uoxvm9CmrVwWSV5PRCOObbC6ieQPjtNM73GnTtSPz\/AaK3Na1jAxjQ1rRgADAAWMMMdPCyGJgYxgw0DkFsSUr+gpUsF2829WERFEuCIiAIiIAiLju07qW0Vc7Mh0cLi0g4wcLqVzknhTbIKwn7V2nuN1ODHF9zCQ7II4Z8hn5q0qD2Pp2QbOU7m8ZS57tOecegCnFKb3ijZo2pJvV5\/ULluNfFbKGWrm1bGNG5ALjyAyupVO9Pffdo4LJE4+zQfeVJadDzx6Dxd3LkVd5kq9Rwhlq8l6nXsnRTCCa61YPtFc7f1\/wBJ1HPgrCvGtDWhrQAAMADkvVyTu7kqVNU4KKCIi4WBERAEREAREQGqpqI6SmlqZnbscTS5x7gqzZqWXaC6Ovlcw+zMOKSJx0GDxx3Y8\/BL\/PJfLvFYKRzhGw79U8Y0GnpnzI6Kzwwx08LIYWBkbBhrWjQBWeWPVmT\/ADVP9Y+7\/X3NiIirNZEbVM7TZqtGM4aD5OBUDsPVyU1VJbZSA2eMTxa8TgZ\/D\/6qz3thksVc0cfZ3n\/xKplK8UUez91bo3LoJTnQDfP0JPyV8M4NHm7Q8G0RnyXte35PoKIioPSCxc5rGF73BrWjJJOAAvXODWlziAAMknkqnW1VRtZWG3UDjHbonff1H+vuH671KMblNWqoLLNvRGFVNPthcjR0j3xWuA5llxjtD+uA+fcrVSUkFDTMpqaMRxMGAAsaKip7fSspqaMMjYNB17z3roXZSvktDlKlhvOWcn\/1kERFAvCIiAIiIAiIgC1zwsqIJIZBlkjS0+BWxR15vdLZacS1BLnvOGRN+J39F1Jt5EZyjGLctCI2erH2mtk2fr5ACx2aZ5PxA8vqPHCtCo9xnnvE9JTXWgFE6peBS1A+NvcRnXi3TTmu6mvlfYp20V+jc+InDKxuSCO\/TX1VsoN5rUw0a6huvyrR8uj7k3ebpHaLbJVPwXD3Y2k\/E7kFwbKWt9JRPranJq609o9xOuDqPA65KjZX\/wB7doIWRNc62URy95Gkjv64A8M9VcFF7sbcS2n\/AC1PE4LJfl\/gIiKs1hERAEREAREQBRe0F3ZZrY+fjK\/3Ih\/Njj4BSbnBrS5xAAGSTyVTt7P7z7RPukjCaCk9yFrx8Tu8fPPkpwS1eiM9ebSUIeZ\/9f5ElsxZvsu39pOM1dR78rnD3hn93P61U2iKLbbuy2nBU4qMeAREXCZpq4xLRzxng+NzT8wqTT05rv7PJRjLqWYvb8tT+Dir4qrsbEx1uuVBIPdbO5rm9xGPHkrYOyb9DFtEMVSMeaa+xO2es9vtFLUl2858Y3j\/ADDQ\/iCuwkAZJwAq3sTI5lBVUMmd+lnI8Af6grXeLlUXurNks7stOlVOPhaOYz+s8Oq44bzRKNdKjGT1fDmzVX11RtRcXWm2yblFHrUVA4OHd3dBz8FZqGigt1IylpmbsbBjvJ6nvWu12yntNEymp24A1c7m88yV1ucGtLnEAAZJPJclK+S0J0qTjvz8z9uiPUVEvu2VQ+tEdsk7OCM\/GMEyHr3D159FcbZUvrLZT1Mgw6WMOI3cce5JQcVdiltMKs3GPA6kRaZqumphmeoii\/73hvqoF7aWpuRRUm01ljOHXCI\/9uXeiyg2is9Q8MjuEW8TgBx3cn5qWGXIr8ane2JfUk0XjXBzQ5pBBGQRzXqiWhFB7TXSqoIqaCjIbPVydm17ho3ln8R+tDyuotrZ3OhfcqeKL\/qMaN4jPh08FNQyvczyr2k4qLbXIkr1faezw6\/e1L9I4Gn3nHv6BR1o2fnnqhdr27tapx3mRHhH08unJddp2ZpbbMaqaV9XVn+NLy8B\/wAqaXXJRVokVTlUliq8NF36lY2u\/wA9Zv8A3P1ate0FTLfa77AoGg7jg6olI0Zj8vXTquzaiyVl49k9kkYwwucSXOxxLcEactSu2zWSmssDmQkySyHMkruLv6KSklFPiVSpVJ1ZxtaLtd\/LQhDYrrs9L29kmNRAcdrTyEZd4aY+vipSz7T0V1d2Ls01SDgwykano08\/VTKirts9RXciWQOiqG43Z4zhwx6qOJS8xZ4M6WdJ5cn+ORKoqlHdLxs3KIbu11ZRkgNqmZO4O841Pcde8qyUNwpblTiekmbI0gZAOre4jkVGUWsy2nWjN20fJnSiIolwREQBEXPX1sVvoZqub4Im72Op5D5nATU42krsgtqq6WofFYaIF1TVEF+MYDNfyz4DvU5b6GG20MVJA0BsbQCcY3jzJ7yoPZOilmbNe60B1TVuyw4Hut7umfQBWVWTdt1GagnNurLjp0QREVZqCIiAKr7MHsL\/AHqkcMHtt9ueJGT+YVoVCuVTVDbGqjs8rXTVbBFljh7pwN7XkRunw1VlNXujHtUsDhPk\/ujXO6rftTcLdaZmD21+HyA8NMu15cTlXO02qntFE2mp268Xvxq89Sqq20s2b2gs25IXumJZI46AuOmn\/wAhp3K8KVR5K2hXslO0pOa3k\/pfMKtbU3CeV8dit+TVVQ9\/HAMwcj8PLxUzdrgy12yasfgljfdaf3nHgPNU57ZbdYKm8VLh9oXQ7seRgxtOckeI8tFynHiT2qrZYFyu\/T96FWIaJN3eO6DjONceGfqr0zaS4VrWwWKzv7JuGNkm+EDHkPNR+xNnbUVc1ZURB8cQ3Y94AtcTxIyOWOKvYAAwBgBWVZq9rGTYtnngxKVk\/qVk2G\/XBubjfHRZ0McDdMfLC2QbD2mM70xnqCeO\/JgfhhWNFT4kuBvWy0tWr+uZGRbN2aFm623QkfzjePmVjPszZqiMsdQRM6GMbpHkpVFzFLmWeDTtbCvoVh2xz6d5dbLvU0g5NySPDQheCfamzg9vAy6Qg4Bj+PHyGfwKtCLuNvXMr\/porODcfTtoU+aqn2mutvENvnhjo5RJMZCG4BwR6K4Ii5KVydKm4Xbd2wiIolwREQBERAeOaHNLXAEEYIPNVqv2VdTze32GU0tUz+GT7jh0Gfrp4KzIpRk46FVSlCorSIaw3w3Fr6SrZ2NfBpLGRjIGm8PNFH26X7Q25rKmnB7CCLs3vB0c7h8+Bx4IuzVmQ2eblDN3s2r8y0oiKBoCq17kdfL7T2KJ2YIz2tUW9ByyD348SFO3a4MtdsmrH4JY33Wn95x4DzUVsfb3wUD7hU5dU1zu0Ljx3eXnkn5hWRyWIy1njmqS9X6fsn2MbGxrGDDWgADoFkiKs1BERAERVi6XaovFWbPZX5B\/zFSD7rBzAKlGNyqrVVNXevBczy8XupuNS6z2MF8p0mnadGDgcH1PkuCS0xbN3uyOjcXmR5ZK86ZccAnuGHcO5Wi0Wims1GKenGXHWSQjV56\/0UTtxG4Wunqowe0p5wQ4cgQfqArYyV8K0MdalLA6s\/MrP0zMdsvupbVVcoqka+R\/2qzqsbaubPs5BUM\/6rHtI5AtP5rq2kvTrfaGdg79qqgGxBnEZ4kenzCjZtJFiqRp1KknpZMjqvO1G00dMwb1BbzmY5GHO+ucY81P3Oz0t1p44J24ZG4OaG6cOXdpotWz9oZZrYyDjK\/35T\/Njh4BSi5KWeXAspUrxbqLOWvb5Gijo6egpm01LGI42cAPU9VvRFWaEklZBERDoREQBERAEREAREQBERAEWL3sjYXyODGtGS5xwAoCr2rjfMaWz0z7hUdWj3G95PP071JRb0K51YU\/MycqamCjgdPUStijYMlzjgKrTXO57USmltLX0tEDiSpfoXDoPyHzwuiLZytulQyr2gqu0DdW0sWjG+P9PNWOKKOCJsULGxxsGGtaMABSuo9WUNVK2u7H3fY5bVa6e0UbaanHD4nni49Si7UUG75s1Rioqy0CIuO617LZbZ6t2CY2ndaTjedyCJXEpKKbZXr243\/aSmssZJp6c9pUEfj+Bx4uVsa0NaGtAAAwAOSr+x9vfBQPuFTl1TXO7QuPHd5eeSfmFYVKb+FcDPs8W06ktZfbgERFA0heOcGtLnEAAZJPJYTTR08L5pnhkbBlznHQBVOarrtrqk0lFv09sY77ybgZB+uXmpRjcpq1VDJZt6I2V92q9oql9qsvu0\/CaqOQMcwO78T4KftVqprRRtp6dve954vPUrbQ0NNbqVtNSxhkbfMnqTzK6F2UuC0I06TTxzd5fbogo6\/0prbFVwgEu7MuaBxJGoH4KRXhAIwRkFRTs7l04qUXF8SlVdT7b\/Z1G9xy+JzWHXPB2Bn5YW3Zls17uputS3ENGwRQN5b2MZ8tfEjoo+vpK+3xV1lio5JYamobJC5jTutGf\/yPkrvbaCK20EVLEMBg1Omp5ngMq+TUY5cTzKMJVKqxfClf1V\/\/AE6kRFnPVCIiAIiIAiIgCIiAIiIAixe9kbC+RwY1oyXOOAFAVe1cb5jS2emfcKjq0e43vJ5+nepKLehXOrCn5mT73sjYXyODGtGS5xwAoCr2rjfMaWz0z7hUdWj3G95PP071rZs9X3V4mv1aXNzkUsJw0eJ\/Xip6ko6ahhENLAyFg5NGM+PVd3Y9Sq9Wppur3\/RAs2er7q8TX6tLm5yKWE4aPE\/rxU9SUdNQwiGlgZCwcmjGfHqt6Ljk2WQowhmtefEIiKJaEREAVW2hf9r32jscZcY2ntKndONOOPL1CslTUR0lNLUzO3Y4mlzj3BV\/ZCkfKKq81APb1jzu7w4MznTxPoFZDJORlr77jSXHX0XcsjWhrQ1oAAGAByXqIqzUForKynoKZ1TVSCONnEn0HVarpdKW00hqKp+Bwa0cXnoFXaKhrdqahlwuzTFQt1gpgcb3f1x38+WinGN83oZ6tazwQzl9urMY21+2NSHzNfS2mN2Q3gZSP14BWynp4qWBkEEYjjYMNa3gFk1rWMDGNDWtGAAMABZLkpXy4EqVLBm3dvVhERRLgiIgCIiAIiIAiIgCIiAIijrxcam3QxupbdNWvkOMR5w3vOAV1K7sRlJRV2SK8JAGScAKsdpthX4DYqegYf3jgn6+gQbI1VYS663mon3tSyM4APdnTryU8CWrKPHlLyQfzyJSu2jtNvyJqxjnjP3cfvuz004fPCiW3++XfAtFsEUTiQJ5zkePT1UrQ7N2mgLHRUjXSM4SSe87xUql4rRHMFafmlZdO5WIdkp6uRs17uUtU8HPZtcdwef0AVgpKOmoYRDSwMhYOTRjPj1W9FFyb1LadGFPOKz9wiIoloREQBERAEREBWtspny01LaoSO1rZgMZ5A\/mR5KwU1PHSU0VNC3djiaGtHcFAMgmr9uJJ5ontgoIgI94aFxHLzJ+Q+VkU5ZJIzUVinKo\/Rei\/YUZer7S2Sm35vflcPu4QdXfkO9ab5tDDaQIYmGorHj3IW64zwJ+fLiVzWawSuqDdb0e3rn6tY7URDw4Z9EUUleQqVZSl4dLXi+C\/fQ02uzVV2qxdr63J4wUx+Fg4jI+h+atCIuSk2WUqSpqy14vmERFEtCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAq1c9pJamqNrsTe3qXaOmGrY+v\/ADwUhfrZWXWCKmp6z2eJzj2+mrm935d66bZaqS003YUke6D8Tzq556kqawpXZnqKpOWCOS59u5wWTZyK2E1NS\/2qufq+Z+uPDPrxU2iKLbbuy2FONOOGKCIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/Z",
    "razonSocial": "FERRETERIA PRAT S.A",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "VANESSA ZÁRATE",
    "correoContacto": "secretaria@ferreteriaprat.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "552444000",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28725\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R695\",\"id_control\":\"28731\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:14",
    "ubicacionGPS": "LatLng(lat: -23.6200621, lng: -70.3899852)",
    "horaLlegada": "09:55",
    "horaDespacho": "10:09",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 20/05/2026 10:14:09
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-e3RooV3FTtCTvsHH6Gp-zI2ywolqLZ_8Ma9RXBj_oaRhr6cxkLA
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "86551700",
    "serieinterna": "KY3195",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Ferreteria Prat casa matriz",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "2do piso",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Instalacion maquina",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12652",
    "observacion": "Instalacion maquina",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADfARcDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABDEAABAwMBBQUFBQUHAwUAAAABAAIDBAURIQYSMUFRE2FxkbEUIjKBwRUjodHwJEJDYuEHFjM0UsLxU3KiVHSSsvL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIDBgQGAQUBAAAAAAAAAQIDERIhMQQiQVFh0RMycaFCgZGxweEjFCQzYvDx\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiKOvd3is1udUvw6Q+7HGT8Tv1qupNuyIykoRcpaI49o72+hjbQ0IMlwqNI2tGSwHn+X9FKW+Ooit8DKuXtagMHaO01Kh9nLRM2V96uRLq2pGQ0j\/DafQ4x4DRWFSlZZIpo45N1JZX0XTuERFA0BERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREARF45wa0ucQABkk8kBprKuGgpJKqofuxRjLiq1aaOXaK6uvdfGRSsOKWF2o05\/rifBYSOk2wu76dry21Ujsuc3+K7x8\/l4q2xxsijbHG0NYwBrWgaADgFZ5FbiY1\/cSv8ACvd9jJERVmwIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIihdqLrJbLX+z73tFQ7s4i0ajqf11XUruyIVJqnFyfAmC9gcGFwDjwGdSslVm7GMfSOlmq5jcJBvGUnRr\/Dnz1Ujs9UXSSGWnukBbLTu3BNyk\/WmvNScVa6ZVCrNySnG1\/n9SYREUDQEREAREQBERAFU71XT3+4NslreTC05qpm8AOmenqV07Q3aaWX7EtYMlZMMSOHCNp468j6KSslois1vZTR4c8+9K\/8A1u\/LorFurE9TJNutJ046LV\/judNDRQW6kZS0zN2Ngx3k9T3roRFWakklZBERDoREQBEXHc7nTWmjdU1L8NGjWji89AupXOSkoq70N9TUw0kDp6iQRxt4uK4LVtDQXieSGle\/fjBdhzcZbnGfTzChaK31u1NQy43XMVC05hpgcb3f4d\/ErZZ4om7c3L2eMMhigbGGtAAHwD6FWYEk+Zj8epKUWlaLdur6lqREVRtCIiAIiIAiIgCIiAIiIAqxfAKza+0UeN4RZmI6a5\/2Kzqr24+27dXCo0LKaLshg89B9HKcOLM20ZqMObXctCIigaQiIgCIiAIiIAoXaG\/fZTGU1Mzta6o0ijGuMnAJHjw6rffb3DZKLtXjflfkRR5+I\/kFw2Gyze0G83bL66XVrCP8IeHXHkpxSSxMzVZylLwqevF8l35HRs9YzaoZJ6l3a1tQd6aQ6454B8ePVTKIottu7LoQjTiox0CIi4TCIiAIi01dVDRUslTUPDIoxlzihxtJXZjXVsFupH1VS\/djYM95PQd6rNBQz7UXAXa5xblFHpTwHg4Z4nqOvXwShp6ja2uFwrmllthcRDBn4z3\/AF8lbWtDWhrQAAMADkrPJlxMiT2h4n5eHXr6AAAYAwAqxsZ+0vudxJJNRUYye7J\/3Kduk4prVVzE43IXEeONFGbGQmLZuFx\/iPe7h34+iLKDJzzrwXJN\/gnkRFWaQiIgCIiAIiIAiIgCIiAxke2KN0jvhYCT4BVvYmN0lHWV8nx1U5J55A14+JKk9o5nU+z1bIzj2Rb56fVY7Mwtg2domtHxR758Sc\/VWLKDM0t7aIrkm\/rkSqIirNIREQBERAFxXW6U9oonVNQdODWji89AttbW09vpX1NTIGRsGp69w71WqGhn2nubbvcIzHRR6U8B\/eHXz8\/BTjG+b0M9aq1uQ8z9urN1ntdRdq4X27jU600B4MHI\/X8VZ0RclK7J0qSpqy149QiIoloREQBERAeOcGtLnEAAZJPJVGV0m194dTMeW2mldlzm6do79Z+Xiuzayum3ILPRn9prjunUaM4a+P0KmLZb4bXQR0cGS1g1ceLieJKsW6r8TJP+afh\/CtevTudEUUcMTYomBjGDDWtGAAs0RVmsgNsqw09jdAwEyVTxG0AZPU+mPmpW2UnsNspqU8Yow0+ONfxUDdMXTbOhoCN6Kjb2sgOozx4fJvHr52hWSyikZaW9VnPll3CIirNQREQBERAEREARFGX68x2agMpG9NJlsLBzd+QXUm3ZEZzUIuUtEe3e+Ulmjb2xL5Xn3ImfEe\/wUQ2t2tronVFPR09Mz9yOQYe7z+uFvsWz7mS\/at1zLXSneDXaiLp8\/RWJTbjHJZmZRqVd6TcVyWvzKVdtoZKqx11vr4PZK9rWe5jR\/vjOPlr\/AMKz2QBtioAP\/TRn\/wAQobbe208tqNfuYngLRvjm0nGD5qU2eqoquw0j4hgMjEZHQtGPouys4XRXSxR2hxm75ZelyTREVRvCIiALXNNHTwvmmeGRsGXOcdAF7LLHDE6WV4Yxgy5zjgAKpOdU7Z1xYxzobRTvw5w0Mp\/P0Uoxvm9CmrVwWSV5PRCOObbC6ieQPjtNM73GnTtSPz\/AaK3Na1jAxjQ1rRgADAAWMMMdPCyGJgYxgw0DkFsSUr+gpUsF2829WERFEuCIiAIiIAiLju07qW0Vc7Mh0cLi0g4wcLqVzknhTbIKwn7V2nuN1ODHF9zCQ7II4Z8hn5q0qD2Pp2QbOU7m8ZS57tOecegCnFKb3ijZo2pJvV5\/ULluNfFbKGWrm1bGNG5ALjyAyupVO9Pffdo4LJE4+zQfeVJadDzx6Dxd3LkVd5kq9Rwhlq8l6nXsnRTCCa61YPtFc7f1\/wBJ1HPgrCvGtDWhrQAAMADkvVyTu7kqVNU4KKCIi4WBERAEREAREQGqpqI6SmlqZnbscTS5x7gqzZqWXaC6Ovlcw+zMOKSJx0GDxx3Y8\/BL\/PJfLvFYKRzhGw79U8Y0GnpnzI6Kzwwx08LIYWBkbBhrWjQBWeWPVmT\/ADVP9Y+7\/X3NiIirNZEbVM7TZqtGM4aD5OBUDsPVyU1VJbZSA2eMTxa8TgZ\/D\/6qz3thksVc0cfZ3n\/xKplK8UUez91bo3LoJTnQDfP0JPyV8M4NHm7Q8G0RnyXte35PoKIioPSCxc5rGF73BrWjJJOAAvXODWlziAAMknkqnW1VRtZWG3UDjHbonff1H+vuH671KMblNWqoLLNvRGFVNPthcjR0j3xWuA5llxjtD+uA+fcrVSUkFDTMpqaMRxMGAAsaKip7fSspqaMMjYNB17z3roXZSvktDlKlhvOWcn\/1kERFAvCIiAIiIAiIgC1zwsqIJIZBlkjS0+BWxR15vdLZacS1BLnvOGRN+J39F1Jt5EZyjGLctCI2erH2mtk2fr5ACx2aZ5PxA8vqPHCtCo9xnnvE9JTXWgFE6peBS1A+NvcRnXi3TTmu6mvlfYp20V+jc+InDKxuSCO\/TX1VsoN5rUw0a6huvyrR8uj7k3ebpHaLbJVPwXD3Y2k\/E7kFwbKWt9JRPranJq609o9xOuDqPA65KjZX\/wB7doIWRNc62URy95Gkjv64A8M9VcFF7sbcS2n\/AC1PE4LJfl\/gIiKs1hERAEREAREQBRe0F3ZZrY+fjK\/3Ih\/Njj4BSbnBrS5xAAGSTyVTt7P7z7RPukjCaCk9yFrx8Tu8fPPkpwS1eiM9ebSUIeZ\/9f5ElsxZvsu39pOM1dR78rnD3hn93P61U2iKLbbuy2nBU4qMeAREXCZpq4xLRzxng+NzT8wqTT05rv7PJRjLqWYvb8tT+Dir4qrsbEx1uuVBIPdbO5rm9xGPHkrYOyb9DFtEMVSMeaa+xO2es9vtFLUl2858Y3j\/ADDQ\/iCuwkAZJwAq3sTI5lBVUMmd+lnI8Af6grXeLlUXurNks7stOlVOPhaOYz+s8Oq44bzRKNdKjGT1fDmzVX11RtRcXWm2yblFHrUVA4OHd3dBz8FZqGigt1IylpmbsbBjvJ6nvWu12yntNEymp24A1c7m88yV1ucGtLnEAAZJPJclK+S0J0qTjvz8z9uiPUVEvu2VQ+tEdsk7OCM\/GMEyHr3D159FcbZUvrLZT1Mgw6WMOI3cce5JQcVdiltMKs3GPA6kRaZqumphmeoii\/73hvqoF7aWpuRRUm01ljOHXCI\/9uXeiyg2is9Q8MjuEW8TgBx3cn5qWGXIr8ane2JfUk0XjXBzQ5pBBGQRzXqiWhFB7TXSqoIqaCjIbPVydm17ho3ln8R+tDyuotrZ3OhfcqeKL\/qMaN4jPh08FNQyvczyr2k4qLbXIkr1faezw6\/e1L9I4Gn3nHv6BR1o2fnnqhdr27tapx3mRHhH08unJddp2ZpbbMaqaV9XVn+NLy8B\/wAqaXXJRVokVTlUliq8NF36lY2u\/wA9Zv8A3P1ate0FTLfa77AoGg7jg6olI0Zj8vXTquzaiyVl49k9kkYwwucSXOxxLcEactSu2zWSmssDmQkySyHMkruLv6KSklFPiVSpVJ1ZxtaLtd\/LQhDYrrs9L29kmNRAcdrTyEZd4aY+vipSz7T0V1d2Ls01SDgwykano08\/VTKirts9RXciWQOiqG43Z4zhwx6qOJS8xZ4M6WdJ5cn+ORKoqlHdLxs3KIbu11ZRkgNqmZO4O841Pcde8qyUNwpblTiekmbI0gZAOre4jkVGUWsy2nWjN20fJnSiIolwREQBEXPX1sVvoZqub4Im72Op5D5nATU42krsgtqq6WofFYaIF1TVEF+MYDNfyz4DvU5b6GG20MVJA0BsbQCcY3jzJ7yoPZOilmbNe60B1TVuyw4Hut7umfQBWVWTdt1GagnNurLjp0QREVZqCIiAKr7MHsL\/AHqkcMHtt9ueJGT+YVoVCuVTVDbGqjs8rXTVbBFljh7pwN7XkRunw1VlNXujHtUsDhPk\/ujXO6rftTcLdaZmD21+HyA8NMu15cTlXO02qntFE2mp268Xvxq89Sqq20s2b2gs25IXumJZI46AuOmn\/wAhp3K8KVR5K2hXslO0pOa3k\/pfMKtbU3CeV8dit+TVVQ9\/HAMwcj8PLxUzdrgy12yasfgljfdaf3nHgPNU57ZbdYKm8VLh9oXQ7seRgxtOckeI8tFynHiT2qrZYFyu\/T96FWIaJN3eO6DjONceGfqr0zaS4VrWwWKzv7JuGNkm+EDHkPNR+xNnbUVc1ZURB8cQ3Y94AtcTxIyOWOKvYAAwBgBWVZq9rGTYtnngxKVk\/qVk2G\/XBubjfHRZ0McDdMfLC2QbD2mM70xnqCeO\/JgfhhWNFT4kuBvWy0tWr+uZGRbN2aFm623QkfzjePmVjPszZqiMsdQRM6GMbpHkpVFzFLmWeDTtbCvoVh2xz6d5dbLvU0g5NySPDQheCfamzg9vAy6Qg4Bj+PHyGfwKtCLuNvXMr\/porODcfTtoU+aqn2mutvENvnhjo5RJMZCG4BwR6K4Ii5KVydKm4Xbd2wiIolwREQBERAeOaHNLXAEEYIPNVqv2VdTze32GU0tUz+GT7jh0Gfrp4KzIpRk46FVSlCorSIaw3w3Fr6SrZ2NfBpLGRjIGm8PNFH26X7Q25rKmnB7CCLs3vB0c7h8+Bx4IuzVmQ2eblDN3s2r8y0oiKBoCq17kdfL7T2KJ2YIz2tUW9ByyD348SFO3a4MtdsmrH4JY33Wn95x4DzUVsfb3wUD7hU5dU1zu0Ljx3eXnkn5hWRyWIy1njmqS9X6fsn2MbGxrGDDWgADoFkiKs1BERAERVi6XaovFWbPZX5B\/zFSD7rBzAKlGNyqrVVNXevBczy8XupuNS6z2MF8p0mnadGDgcH1PkuCS0xbN3uyOjcXmR5ZK86ZccAnuGHcO5Wi0Wims1GKenGXHWSQjV56\/0UTtxG4Wunqowe0p5wQ4cgQfqArYyV8K0MdalLA6s\/MrP0zMdsvupbVVcoqka+R\/2qzqsbaubPs5BUM\/6rHtI5AtP5rq2kvTrfaGdg79qqgGxBnEZ4kenzCjZtJFiqRp1KknpZMjqvO1G00dMwb1BbzmY5GHO+ucY81P3Oz0t1p44J24ZG4OaG6cOXdpotWz9oZZrYyDjK\/35T\/Njh4BSi5KWeXAspUrxbqLOWvb5Gijo6egpm01LGI42cAPU9VvRFWaEklZBERDoREQBERAEREAREQBERAEWL3sjYXyODGtGS5xwAoCr2rjfMaWz0z7hUdWj3G95PP071JRb0K51YU\/MycqamCjgdPUStijYMlzjgKrTXO57USmltLX0tEDiSpfoXDoPyHzwuiLZytulQyr2gqu0DdW0sWjG+P9PNWOKKOCJsULGxxsGGtaMABSuo9WUNVK2u7H3fY5bVa6e0UbaanHD4nni49Si7UUG75s1Rioqy0CIuO617LZbZ6t2CY2ndaTjedyCJXEpKKbZXr243\/aSmssZJp6c9pUEfj+Bx4uVsa0NaGtAAAwAOSr+x9vfBQPuFTl1TXO7QuPHd5eeSfmFYVKb+FcDPs8W06ktZfbgERFA0heOcGtLnEAAZJPJYTTR08L5pnhkbBlznHQBVOarrtrqk0lFv09sY77ybgZB+uXmpRjcpq1VDJZt6I2V92q9oql9qsvu0\/CaqOQMcwO78T4KftVqprRRtp6dve954vPUrbQ0NNbqVtNSxhkbfMnqTzK6F2UuC0I06TTxzd5fbogo6\/0prbFVwgEu7MuaBxJGoH4KRXhAIwRkFRTs7l04qUXF8SlVdT7b\/Z1G9xy+JzWHXPB2Bn5YW3Zls17uputS3ENGwRQN5b2MZ8tfEjoo+vpK+3xV1lio5JYamobJC5jTutGf\/yPkrvbaCK20EVLEMBg1Omp5ngMq+TUY5cTzKMJVKqxfClf1V\/\/AE6kRFnPVCIiAIiIAiIgCIiAIiIAixe9kbC+RwY1oyXOOAFAVe1cb5jS2emfcKjq0e43vJ5+nepKLehXOrCn5mT73sjYXyODGtGS5xwAoCr2rjfMaWz0z7hUdWj3G95PP071rZs9X3V4mv1aXNzkUsJw0eJ\/Xip6ko6ahhENLAyFg5NGM+PVd3Y9Sq9Wppur3\/RAs2er7q8TX6tLm5yKWE4aPE\/rxU9SUdNQwiGlgZCwcmjGfHqt6Ljk2WQowhmtefEIiKJaEREAVW2hf9r32jscZcY2ntKndONOOPL1CslTUR0lNLUzO3Y4mlzj3BV\/ZCkfKKq81APb1jzu7w4MznTxPoFZDJORlr77jSXHX0XcsjWhrQ1oAAGAByXqIqzUForKynoKZ1TVSCONnEn0HVarpdKW00hqKp+Bwa0cXnoFXaKhrdqahlwuzTFQt1gpgcb3f1x38+WinGN83oZ6tazwQzl9urMY21+2NSHzNfS2mN2Q3gZSP14BWynp4qWBkEEYjjYMNa3gFk1rWMDGNDWtGAAMABZLkpXy4EqVLBm3dvVhERRLgiIgCIiAIiIAiIgCIiAIijrxcam3QxupbdNWvkOMR5w3vOAV1K7sRlJRV2SK8JAGScAKsdpthX4DYqegYf3jgn6+gQbI1VYS663mon3tSyM4APdnTryU8CWrKPHlLyQfzyJSu2jtNvyJqxjnjP3cfvuz004fPCiW3++XfAtFsEUTiQJ5zkePT1UrQ7N2mgLHRUjXSM4SSe87xUql4rRHMFafmlZdO5WIdkp6uRs17uUtU8HPZtcdwef0AVgpKOmoYRDSwMhYOTRjPj1W9FFyb1LadGFPOKz9wiIoloREQBERAEREBWtspny01LaoSO1rZgMZ5A\/mR5KwU1PHSU0VNC3djiaGtHcFAMgmr9uJJ5ontgoIgI94aFxHLzJ+Q+VkU5ZJIzUVinKo\/Rei\/YUZer7S2Sm35vflcPu4QdXfkO9ab5tDDaQIYmGorHj3IW64zwJ+fLiVzWawSuqDdb0e3rn6tY7URDw4Z9EUUleQqVZSl4dLXi+C\/fQ02uzVV2qxdr63J4wUx+Fg4jI+h+atCIuSk2WUqSpqy14vmERFEtCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAq1c9pJamqNrsTe3qXaOmGrY+v\/ADwUhfrZWXWCKmp6z2eJzj2+mrm935d66bZaqS003YUke6D8Tzq556kqawpXZnqKpOWCOS59u5wWTZyK2E1NS\/2qufq+Z+uPDPrxU2iKLbbuy2FONOOGKCIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/Z",
    "razonSocial": "FERRETERIA PRAT S.A",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "VANESSA ZÁRATE",
    "correoContacto": "secretaria@ferreteriaprat.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "552444000",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28725\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R695\",\"id_control\":\"28731\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:14",
    "ubicacionGPS": "LatLng(lat: -23.6200621, lng: -70.3899852)",
    "horaLlegada": "09:55",
    "horaDespacho": "10:09",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


20/05/2026 10:14:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:86551700

[20/05/2026 10:14:09] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('86551700', 'KY3195', 1, 19969062, 0, NOW(), 
				'10:09', '09:55', '10:14', 1, 'Instalacion maquina', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779286449.png', 'Instalacion maquina', null, 'COMPLETADO','LatLng(lat: -23.6200621, lng: -70.3899852)' )
				
[20/05/2026 10:14:09] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200379

20/05/2026 10:14:09 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '86551700'
				   AND serieintmaquina = 'KY3195'
		
20/05/2026 10:14:09 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY3195'
				   AND estado = 1
				
20/05/2026 10:14:09 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('86551700', 'KY3195', 1, 1, now(), 'Ferreteria Prat casa matriz', 'ANTOFAGASTA', '2do piso');
				
=========================================
FECHA: 20/05/2026 10:14:09
listaInsumosUsadosConsolidado===

idReport:200379

idInventario:KYO-I1045

idControl:28725

cantidadAsignada:1

cantidadUsada:1

[20/05/2026 10:14:09] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200379', 'KYO-I1045', 1)
				
[20/05/2026 10:14:09] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28725 and
				    IDproducto = 'KYO-I1045'
				

20/05/2026 10:14:09 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I1045';
                
=========================================
FECHA: 20/05/2026 10:14:09
listaInsumosUsadosConsolidado===

idReport:200379

idInventario:KYO-R695

idControl:28731

cantidadAsignada:1

cantidadUsada:1

[20/05/2026 10:14:09] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200379', 'KYO-R695', 1)
				
[20/05/2026 10:14:09] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28731 and
				    IDproducto = 'KYO-R695'
				

20/05/2026 10:14:09 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R695';
                
20/05/2026 10:14:09 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200379'                    
				WHERE idllamado = 12652			
				TO ENVIO: micorreo@miempresa.cl, secretaria@ferreteriaprat.cl


20/05/2026 10:14:09 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12652			
				
20/05/2026 10:14:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


20/05/2026 10:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:14:10 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:14:13 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:14:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:14:13 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[20/05/2026 10:14: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;
                

[20/05/2026 10:14: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;
                

20/05/2026 10:14:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:14:13 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:14:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:14:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:14:13 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:14:13 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:14:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

[20/05/2026 10:14:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[20/05/2026 10:14:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:14:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:14:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:14:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:14:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:14:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:14:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[20/05/2026 10:14:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:14:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:14:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:14:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:14:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:14:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:14:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:14:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

[20/05/2026 10:14:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[20/05/2026 10:14:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:14:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:14:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:14:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:14:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:14:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:14:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[20/05/2026 10:14: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;
                

20/05/2026 10:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                
[20/05/2026 10:14: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;
                
[20/05/2026 10:14: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;
				

[20/05/2026 10:52: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;
                
[20/05/2026 10:52:19] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[20/05/2026 10:52:19] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[20/05/2026 10:53:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[20/05/2026 10:53:42] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[20/05/2026 10:53:42] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

20/05/2026 10:53:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:53:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10: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 = 12652
                

[20/05/2026 10:53:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10: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 = 12652
                

20/05/2026 10:53:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:53:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10: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 = 12652
                

[20/05/2026 10:53:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:53:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:53:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10: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 = 12652
                

20/05/2026 10: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 = 12652
                

20/05/2026 10:53:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:53:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10: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 = 12652
                

[20/05/2026 10:53: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;
                

20/05/2026 10:53:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:53:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

[20/05/2026 10:53: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;
                

20/05/2026 10:53:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:53:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:53:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:53:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:53:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:53:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:53:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:53:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:53:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:53:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:53:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:53:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10: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 = 12652
                

20/05/2026 10: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 = 12652
                

20/05/2026 10:53:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:53:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        
[20/05/2026 10:53: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;
                
[20/05/2026 10:53: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;
				

20/05/2026 10:53:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:53:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:53:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

[20/05/2026 10:53:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:53:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:53:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:53:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:53:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:53:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

[20/05/2026 10:53:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[20/05/2026 10:53:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:53:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
20/05/2026 10:53:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12652
LIMIT 1;
        

20/05/2026 10:53:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:53:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:53:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:53:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:53:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:53:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:53:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:53:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                
[20/05/2026 10:54: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[20/05/2026 10:54:03] 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;
                

[20/05/2026 10:54: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;
                

20/05/2026 10:54:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

[20/05/2026 10:54: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;
                

20/05/2026 10:54:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

[20/05/2026 10:54: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;
                

[20/05/2026 10:54:13] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:54:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

[20/05/2026 10:54:14] 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;
                

[20/05/2026 10:54:18] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:59:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:59:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:59:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:59:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:59:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

20/05/2026 10:59:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12652
                

[20/05/2026 10:59: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;
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[20/05/2026 10:59: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;
                

20/05/2026 10:59:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[20/05/2026 10:59: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;
                

20/05/2026 10:59:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

[20/05/2026 10:59: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;
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[20/05/2026 10:59: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;
                

20/05/2026 10:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

[20/05/2026 10:59: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;
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[20/05/2026 10:59: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;
                

20/05/2026 10:59:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[20/05/2026 10:59: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;
                

20/05/2026 10:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[20/05/2026 10:59: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;
                

20/05/2026 10:59:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[20/05/2026 10:59: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;
                

20/05/2026 10:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[20/05/2026 10:59: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;
                

20/05/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

20/05/2026 10:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

20/05/2026 10:59:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[20/05/2026 10:59: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;
                

20/05/2026 10:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[20/05/2026 10:59: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;
                

20/05/2026 10:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[20/05/2026 10:59: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;
                

[20/05/2026 10:59: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;
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10:59:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

20/05/2026 10: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 = 12321
                

20/05/2026 10:59:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12624
                

20/05/2026 10:59:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10:59:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12321
                

20/05/2026 10: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 = 12624
                

20/05/2026 10: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 = 12624
                

20/05/2026 10: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 = 12624
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[20/05/2026 10:59: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;
                

20/05/2026 10: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 = 12624
                

[20/05/2026 10:59: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;
                

20/05/2026 10: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 = 12321
                

20/05/2026 10: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 = 12624
                

20/05/2026 10: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 = 12321
                

20/05/2026 10:59:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12321
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12321
                

20/05/2026 10: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 = 12321
                

20/05/2026 10: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 = 12321
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[20/05/2026 10:59: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;
                

20/05/2026 10: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 = 12321
                

20/05/2026 10: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 = 12321
                

20/05/2026 10: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 = 12321
                

20/05/2026 10: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 = 12321
                

20/05/2026 10:59:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12321
                

20/05/2026 10: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 = 12321
                

20/05/2026 10:59:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[20/05/2026 10:59: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;
                

20/05/2026 10:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[20/05/2026 10:59:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[20/05/2026 10:59:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:59:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[20/05/2026 10:59:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[20/05/2026 10:59:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[20/05/2026 10:59:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:59:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[20/05/2026 10:59:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[20/05/2026 10:59:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 10:59:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[20/05/2026 10:59: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;
                

20/05/2026 10:59:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[20/05/2026 10:59: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;
                

20/05/2026 10:59:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

20/05/2026 10:59:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[20/05/2026 10:59: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;
                

20/05/2026 10: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 = 12321
                

20/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12321
                

[20/05/2026 10:59: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;
                

[20/05/2026 10:59: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;
                

[20/05/2026 10:59: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;
                

20/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10: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 = 12321
                

20/05/2026 10: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 = 12321
                

[20/05/2026 10:59: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;
                

[20/05/2026 10:59: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;
                

20/05/2026 10: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 = 12321
                

20/05/2026 10: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 = 12321
                

20/05/2026 10: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 = 12321
                

20/05/2026 10: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 = 12321
                

20/05/2026 10: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 = 12321
                

20/05/2026 10: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 = 12321
                

20/05/2026 10: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 = 12321
                

20/05/2026 10: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 = 12321
                

20/05/2026 10: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 = 12321
                

20/05/2026 10: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 = 12321
                

20/05/2026 10: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 = 12321
                

20/05/2026 10: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 = 12321
                

20/05/2026 10:59:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

20/05/2026 10:59:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[20/05/2026 10:59: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;
                

20/05/2026 10: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 = 12321
                

20/05/2026 10: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 = 12321
                
[20/05/2026 10:59:53] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[20/05/2026 10:59:53] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[20/05/2026 10:59: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;
                
[20/05/2026 11:04: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;
				
[20/05/2026 11:04: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;
                

[20/05/2026 11: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;
                

[20/05/2026 11:04: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;
                

20/05/2026 11:04:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

[20/05/2026 11:04: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;
                

20/05/2026 11:04:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

[20/05/2026 11:04: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;
                

20/05/2026 11:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

[20/05/2026 11:04: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;
                
[20/05/2026 11:04: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;
                
[20/05/2026 11:04: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;
				

[20/05/2026 11:05: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;
                

20/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12567
            GROUP BY l.idllamado;
            

[20/05/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;
                

[20/05/2026 11:05:18] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

20/05/2026 11:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

20/05/2026 11:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

[20/05/2026 11:05: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;
                

20/05/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 = 12569
                

20/05/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 = 12569
                

[20/05/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;
                

20/05/2026 11:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12659
            GROUP BY l.idllamado;
            

[20/05/2026 11:05:25] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 11:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

20/05/2026 11:05:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

20/05/2026 11:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

20/05/2026 11:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

20/05/2026 11:05:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

20/05/2026 11:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

20/05/2026 11:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

20/05/2026 11:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

20/05/2026 11:05:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

20/05/2026 11:05:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

20/05/2026 11:05:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

20/05/2026 11:05:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

20/05/2026 11:05:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

20/05/2026 11: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 = 12569
                

20/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

20/05/2026 11: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 = 12569
                

20/05/2026 11: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 = 12569
                

20/05/2026 11: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 = 12569
                

20/05/2026 11: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 = 12569
                

20/05/2026 11:05:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

20/05/2026 11: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 = 12569
                

20/05/2026 11: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 = 12569
                

20/05/2026 11:05:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

20/05/2026 11: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 = 12569
                

20/05/2026 11: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 = 12569
                

20/05/2026 11: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 = 12569
                

[20/05/2026 11:06: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;
                

20/05/2026 11:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12659
            GROUP BY l.idllamado;
            

[20/05/2026 11:06: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;
                

20/05/2026 11:06:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

20/05/2026 11:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

20/05/2026 11:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

20/05/2026 11:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

20/05/2026 11:06:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

20/05/2026 11: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 = 12569
                

20/05/2026 11: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 = 12569
                

20/05/2026 11: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 = 12569
                

20/05/2026 11: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 = 12569
                

20/05/2026 11: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 = 12569
                

20/05/2026 11:07:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

20/05/2026 11:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

20/05/2026 11:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

20/05/2026 11:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

20/05/2026 11:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

20/05/2026 11:07:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

20/05/2026 11:07:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

20/05/2026 11:07:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

20/05/2026 11:07:30 - logentry: =========================================
FECHA: 20/05/2026 11:07:30
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-8p6f2W6zwain0l.s2UXsBVlnEHHxWP7w4aCubT_Yt3tXSel3b3B
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76939719",
    "serieinterna": "TO2801",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "847187",
    "contadorColor": "98191",
    "contadorScanner": "0",
    "detalle": "cambio unidad de revelado negra ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12569",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADMAQEDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAgcGAQcLBQEAAAABAAIDBAURBiESMRMiQVFhcYEUkaGxwdEyFSMkQkPC8AcWMzVzdIKSouHxNDZSYnLi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMhEAAgECAwUHAwQDAQAAAAAAAAECAxESITEEEzJBUSJhcZGxwdEzgeE0QqHwFCNS8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBERAEREBwrKyCgpJKqpfwRxjJP0CzcdRqO+tNbRPZRUoz0cb+cuOXZyOw5r5VF2qb+KNhd+TaF2ZjjZ7xkc\/h5ZWqa1rGBjGhrWjAAGAArOBd5kzrydnaK6c38FVp+9fleneyZnR1dOeGZmMb949yt1la1gsus6WsYS2G4ZjkAG3Fy+fCfetUuTS1XMnQnJpxlqsvgIiKBoCIiAIiIAiIgCIiAIiIAiIgK6\/109ts09XTBpkj4cBwyN3AH5qRbqh1Xbaapdjilia92OWSASouoo+l09XN7oi73b\/RedMydLpyid3R8PuJH0U7di5nxPf4eVvctURFA0BEUW51PsdsqqjODHE5w3xvjb4oszjaSuyDYbxPd5a4vjY2GCXgic3OXDJ5792FcKh0ZTGn07E4jBme6Q+\/A+ACvlKdsTsVbO5OlFy1YRFWXi\/UVmh4p3ccpHUhaes77DxXEm3ZFk5xgsUnZFi97I2F8jgxrRkuccALP1msKZs4prbTyXCcnGI9m+\/G\/wDG6ittl41K8TXWU0dCTxNpmfiI7M\/c+4LRUFso7bF0dHTsiHaQN3eZ5lTtGOuZmxVavB2V1evl8lE0axrAJA+koRk9RwBJ+DlIsN2rZa+otNzaDV07eMyNxhw27h4g+qv1mKFwm\/lAr3NAIjpw3i8ep\/v7l1PEnkRlB0pRak3d2zZp1Ualub7baXugP6RKejiwd8ntHeQrdZa5N\/KutqOjIDoaJnSvB3357\/6VGCu8y3aJOMLR1eXmW1gtLbPa44MAyuHFKdvxd2e0BWaIot3d2XQioRUVojO62p+OyNqW7SU0rXtcBuM7fMj3K8pZxU0kNQBgSxtf7xlQtSQifTtcw9kRdy\/8d\/ovOmZOl05RO7o+H3Ej6KWsChZbQ11Xoy1REUDSEREAREQBERAEREAREQBERARriwSW2qYeToXj4FVOi3l2m4Qf1HvA9+fqrmsBNFOAMkxu+SpNEEHTrcHlK7KmuBmaX6iPg\/Y0KIigaQqXV0vRaaqt8F3C0eOXDPwyrpZvXUnBYGtx+OdrfgT9FOHEijaXajJ9xbWSHoLJRR4IIgZkHsJGT8VOUcyQ0FE108rY44mAFzjgbBZqa5XLU8zqS0h9LRAkSVTsguHh9uffhFFydzkqkaUVHV8kS7rqV\/tH5OssYq6x2xc3dsf0z8Avdm0yyjl9uuD\/AGqvceIvduGHw8fFWFps1HZ6foqZnWIHHIfxPPj9lPRySVonIUXJ46ub6cl+e8IiKBpPE0rIIXzSHhZG0uce4DcrOaQY+rfXXiUAOqpSGgdgH8Y9F61bXSGOGzUo4qmtIBHc3ON\/P6FXlBRRW+hhpIfwRN4c957T6nJVmkfEy\/Ur90fV\/gkLL2Ae0atvVTgHo3dFnu3x+4tQsxor87HcarmJak79\/b9VyPCztXOrTXi\/4NOiIoGki3NnSWqrZjPFA8Y7+qVV6MdxabgGc8L3jy6xP1Vld5xS2ermIzwwuwO842UDR8Ji03Tl2xkLnYx4kD4AKxcBmf6heD9UXaIirNIREQBERAEREAREQBERAEREB5c0PYWnkRhZvQhIs9REdzHUuHwb\/utMsxo4Bk92haMBlTt7yPopx4WZqn1oPxNOiIoGkLI65q2RS26J4LmiQyvaO4Y9O9ax72xsc95w1oJJ7gvzyjqn3vWFNVVMeYpJD0bXAYDWgkDx+6tpLPF0MO2z7KprWT9y4p7VcNTTMrbzmGjGTDTNOD6\/fn5LUwQRU0LIYI2xxsGGtaMALoihKTZopUY089W9WF8yBjJ58lX3G\/Wy1gipqW9IP2bOs73Dl6qloo67Ut2gudTEaegpnB8DOL8ZG4Pvxv4Y711RdrvQ5OulJQjm\/wC6mrUa4V0NtoZaudwDY2kgZxxHsA8SpKxVyr6bUV6bSvq2Q2uk60j3PDekduNu\/uHqUhG7Feru45avQnaZopq6plv9cMyTk+ztJz0bdx8th4ea06p36psUGIzXMAbsA2NxA9wUuivFuuLyykq45XgZ4QcHHkUlibu0RoulBYFJN+OrJNRIYqaWQc2MLh6BUGhowzT5cP15nOPuA+ivK3\/oaj+yd8lS6J\/7dZ\/avXVwMT\/UR8H7GhRF8c4NaXOIAAySexVmkzetKlzqOntcJBmrZWt4fAH74V\/S07KSkhpmfhiYGD0GFnLURfdUVNzJ46aj\/N0++xPLOPefUdy1KslklEy0O3KVXrkvBfkIijVVxoqLPtNXDCQM4e8A+5V2uaW0ldklFQTa0ssRw2aSbfHUjP1wuH8\/bTkfmavf\/wBG7f6lPdy6FD2qiv3I0yKgg1pZpnhrpZIcnGZIzj4ZV3BUQ1UDZ6eRssbxlrmnIK44taoshVhU4Xc6IiKJYEREAREQBERAFmNKdW835g\/C2p2H+J\/2WnWY0t\/XmoP7z+89TjwszVfq0\/v6GnRc5p4aaIyzysijbzc84AWeqdXGeoNJZaJ9bNy4yCGDx8R7lxRb0LKlaFPiZ01ncTR2Y07H8MtWeAf\/AD+t9vVUvSUVo1JbWyVDDBRUeHPbuHOIccjHeXKXNpe63qrZU3isYwYx0cQzwjuHYPiuFosdDFrCqoXR+0QU8AcOlAcOLDefYeZV8cKja55tXezqqWG12kr92ehYS6wNQ50dnttRWOG3GWkNHoMn34XgUGqLsc1ta23wkj83CcH4b+hK1EcbImBkbGsaOQaMAL0qsaWiNu4lL6km+5ZIprbpa2W1\/StjM82c9JMQ4g+A5K5RFBtvUvhCMFaKsR66m9toZ6YSGMysLONvNuRzVJSaHtMHCZ+lqXAb8buFufIfdaNF1SaVkRnRpzeKSuV8dhtEbeFttpSMY60Qd81Sams9Fbrc65ULPZKiFzOExO4Q7rDbHLx9Fq1k7u7+cWoYLRHxOpaUl9S5uR1u7Pw9SpQbve5RtMIKnZJXeS8TQF757N0jx+ckp8kY7S1VWiCDp1uDyldlX5jb0fRgcLccOBtgLI6RulHbtPymtqGQ8NQ4AH8R6rezmUWcXY7NqFaDk+T9jYKh1bcJKS2tpafPtFY7o2YOD49viPeoz9V1NwlfT2K3PqXD9tJs0en3IXIaWuF3kjqL7cMlvKGJo2HdnkPcfNdjHC7yI1azqxcaKvfny8ztBe7Npy1w0bKgVD4x1xBh2Xdpz5\/ReHX6\/XPItVpMLDyln7e4jOB81c0FitttANNSsDx+0cOJ\/vKsFxyjfS5KNKq0k5WXRfLMudP32vz+Ur2WNcMGOAHBHd2D4FSabRdng3ljkqXdplkP0wr9FzeSJrZqSd2rvvzI8NvoqYYgpIIxjHUjAXcgEYIyCvqKBeklkiPNQUdSwsmpYpGuGCHMBXunp4aSBsFPG2OJn4WtGAO1dUXbjCr3sERFw6EREAREQBEVVedQ0tmLYpGSS1EgyyJg59nNdSbdkRnOMFik7ItVgqK9m1Xm8sgpnVNTVVRELG8jhz9z7wrP2TUOod6uT8mUbv2TfxuHj2+\/HkuejaSKmut4hYOL2eURsc4AuABeOfoFdFKKd8zz6k51akMKtrm\/DodYdP3C8vFTqGocGg5ZSxHAHnj\/AJ8VoqSjpqGEQ0sDIWDsaMZ8+9d0VTk2bKdGFPNa9eYWYsnX1jeJOfCA3PduNvgtOsxpP87c71U8xJU4HvcfqF2PCyFbOpTXe\/Q06IigaQiIgCLzJIyJhfI9rGjmXHACz921fR0rTBb3CrqndVgj6zAT4jn5BSUXLQrqVYU1eTO+pLy63U7KSlBfW1fUha3m3O2fjt4+ShUFTbNKW\/o62oa+uk68zY+s9x7B6Z7fFVNv05fblWmurJ30rnc5ZP6TGOwdm3ktLbNL222kSCM1EwOekmwSD4DsVrwxVrmGDrVZ7xRt0vy+3Urn3DUN9y220xt9Kf282znDw\/2HqoOk7HQ1ctb7dCJ5qabg6xOO3s7eXatwsxpjEd9vsI5CcOA\/xO\/2XFLsu2RKdFKrBzeK99fDoaVjGRsDI2hjWjAa0YAXpEVJ6AREQBERAEREAREQBERAEREAREQBeDDE6Vsro2GRgIa8tGQDzwV7RAFmNLf15qD+8\/vPWnWY0t\/XmoP7z+89TjwszVfq0\/F+hp0RFA0nl7xGxz3cmgkrN6Fa42moneOtLUOOe8YH1yrq7S9BZ6yXtbA8jzwVmbFqC2WbTsMc0xfOS55ijGT+I435DbCsim4uxjqzjGtFydkk\/Y2S5zTRU8ZknlZEwc3PcAB6lZkXLUl6DTb6NtBTu\/aykEnx3HyHqvcGjWzSCa7101bJjHDxEAevP5JgS4mS38p\/TjfveS+SRWaxtsDxFS9JWyk4DYW7Z8zz9MqN7Vqu6AdBSxW2I\/rSbv8AHY7\/AACumxWux0rpWshpIhjidjGfXmVn5a26arkNPQNdSW3iw+oOxeP47B6lSjbkvMqqOaynLN8o5fzqUdfRPqqwUTK6e6XBxAJafzcffuc589sLW6d01DZoxNLwy1bhu\/GzPBv3U+1WiktFN0NKzc\/jkdu558Spy5Oo2rLQ7Q2SMJY5a+gREVRuCzFu\/M6+uUR2EsIePH8P3K06zFR+j\/yh0xHVFRTEEjt2dz\/yj4KcOfgZtoywPvXwadERQNIREQBERAEREAREQBF5c5rGlz3BrRzJOAFQHVBrLnFRWil9rGcyyl3C1rc4P\/PwOV1Rb0K51YwtiepoURFwsCIiAIiIAsxpTrXe+yDk6p2\/zP8AutDVVdPRQOnqZWxRt5ucVg7L+Wa2StjtMjIoppi6Sodseewzz7c8lbBXizFtFRRqw5vPJeBuquvo6BnHV1McIxkcbsE+Q5lUE2rpaxxisdumqng4Mj2EMHu+uF2pNH0bJRUXCaavn\/WMruqT5cz6lXsMMVPGI4ImRMHJrGgAegXOwu8navU17K838GKvlBeza56+63ANaA0NpYSeHJIGD2bZ8fNWulaeyexQS0vQPrOAdISeuHYydjy7eXcvmupOGxsjzvJO0fAlZK8T0NRc42WilLGx4aHR5DpXd4HZ4K2Kc42MFWUdnrOWumuv2P1EkAZJwAqG5aqp4X+y21hr6snAZGCWjzI5+izlRQ6pnoovbWVc9N+tE2QcZHjzPvBVzYLzp2mYYYohb5geF3Tjd2\/a76HChgSz1NP+TKbw8Hjr9uQptO112qG1uoZs43ZSsPVb545envWmiijhibFEwMYwYa1owAF6a4OaHNIIIyCO1fVXKTZrp0o09NXz5hERRLQiIgCzGov0fU1kqeXFIYyfUD94rTrMa2HBDb5x+OOpHD8\/oFOnxGbavpN9Lepp0RFA0hERAERQrjd6G1R8VXOGEglrBu52O4LqTehGUlFXbsTUVRb9T2u5TinimLJnHDWSNxnyPL4q3RprU5CcZq8Xc+EgDJOAFnKvVT6irNDY6b2yfl0p\/o2+Pj57L3eqK8XeuFDG4U9tLQZJARxP33Hf\/G653OgqbFRQT2RuIaY8VRCNzMNtz38vj4KyKjz1M1apUd8KaS1fP7fJzGl7jcniS93R0jQ7PQQnq\/QD3LRUlHTUMIhpYGQsHY0Yz59652y4wXWhZV056rti082ntBUtRlKTyZbSpU4rFHO\/PUIiKBeEREAXxxIaSBk42HevqIDKUtmr7\/UNrr48spwSY6MHGB2Z\/jJXvRLWsZcmNGGtqMAdwWoWY0gRHWXemz1o6nf3kfRW4nKLMO6jTqw6u939jToiKo3GW1oxs8lqp3\/glqMOxzxsPqrm2WSgtEYbSwjjxgyu3e71+yqNafm222o7Y6kff6LTqxt4EjJThF15trPL0ChV9ot9zYW1dKyQ\/wDljDh6jdTUUE2tDVKKkrNXMs\/SNTQvMllustOSSejkPVO3h9QfgkOobhaKltLqCA8DjtVxt6p27gN\/TfwWpXKopoKuEw1MLJYzza8ZCnjvxZmZ7PhzpO3p5H2GaOohZNC8PjeMtc07ELoslV2GssTnVdluIhj5up53gNd2czsfXHmpFp1nR1bugr+ClmG3FnMbjnv7PVHDK8cxHaUpYKqwv+PM0qL41wc0OaQQRkEdq+qs1BZjWfXda4uZfUjq9\/L7rTrMXz9O1baaFvWEBMzwOzfO\/wDl+Pip0+K5m2rOlbq0v5L64VT6KhlqY6d9Q+MZETObvmqSDW1A6Xo6uCekdkY425H3WkXKopoKuEw1MLJYzza8ZC4nHmidSNRu8JW7rHqKWOaNskTw9jhkOacgr2szpfjpLnc7UHZp6eTMII5Ak9vqFpkkrOx2lU3kMRUX+\/xWKKMvidJJMHdGByyMc\/DcKDYrCag\/la8AVNVUAOayRuQwHlse35LhqSGKs1XaaWYZjIy5p5EZ5euFrFNvDFW5lEY72tJy0jovsUGqbTBNa5a2FjYaqmHSNlYOE4HMZCsbLVvrrPS1Mjg572dYjtI2J+C5akkbFp2uc7kYi31Ow+a+aajdFp2ia7mY+L0JyPmuawJJJbQ7c17lovhAIwRkFVsF7hlvc9pfE+KaMZY52MSDAO3vVmoNNamiM4y0MhVwyaSu4rqZrjbKl2Jo2j+jPh9PctZFLHNE2WJ4ex4y1zTkELzU00VZTSU87A+ORvC5pWd0k+Wjqa6yTScXsr+KLn+Enf5g+pU32o35ozRW5qYVwy07n+TToiKs1hFymqaem4enmji4yQ3jcBnAyugIIyDkFDl0fUREOhZGepZp3WM1RPllJXRFxcNxxDtx35H+pa5cKmipa0MFTAyYRu4m8YzgqUZW1Ka1NzScXZp3KTTNRW3OrrLpPI8U0p4IIidgAe7w5Z7TlaJeIoo4YmxRMDGMGGtaMABV1ZqK2UdJJUGoEgY8x8Me5Lh2I+08kchajC05HnU1ukudkmggYHzAtfGDjmDvz8MqPPqihtlNDFVPM1YGNEkUHX4XY3Gc9\/jlV4F81S4E8Vttx7j1pB8z8vNXltsFttTR7PTgyD9rJ1n+\/s9MKeSVpFCc6k3OmrJ837IhW67Xq5VMUotbaehces6V3WIxzHL5Y3Xi\/apFrqxRU0LJp8ZcXyBrWduD6YPqra5tr3UvDbnxsmLgOKRuQBnc\/wAZWOhspOr4qW9S+1yTxdIXAkAkA7dmR1T3LsVF5sjWlVppQi223q7WLzTOoqi9vmZPTNZ0YBDo+XkclSb5Dd6p9PTW6YU0MhImnB6zdvLI8wfcrOnpoKWIRU8LIoxyaxoAXVQcliukaY0pOngnK76mch0Tbg\/pKuaoq3nnxvwD7t\/iqrVWnbfbaWnqqSIxM6UMkbxk5BzvufBbhUmsGMdpupe9vEWFpb4EuAz8SpQnLErsor7NSVGVorQq2\/lPSTy9nSXG1uGe4xD6beh8FY12qaOOzmtopWTPc8MZGcg8XaCMd3orS3Se1WmlkkaD0sDHOHZu0ZWO1RZIae7UTbbCIZal52Bw0O2xgdnauxtKVpakKm8o0703k+XS\/QsmabvczRUz3+aOq58Lclo8OY+SgaTqzVamqZKuc1FQYi2OQjYgEcsbDYfNRZhf36ilpDwwVVbFwO4SA1zO1w3O+Gnl4qdbbbHbNY0dLGQ4xUuZCBjicQ7J+XwU3o7vkZ4u9SLimknZ3bzfybRfCQBknAC+qNcXFltqnt5theRtnsKzI9huyuUOjgKqW53Q5JnqC0EnkBvj\/UPctOqHRYA03CR2veT\/AJir5TqcTKNlVqMe\/PzM1q+ilaKa80zS6WieC4f+uc59D8CVeUNdBcKJlXA8GN4zz\/Ce0HyVNqi4h0bLNSvDqqse2NwbuWNPMnz+S8N0PbuCLMkzSGtEjWuBDiO3cd6llhWIpvJVpbtX0v4\/3Uj3ip\/nLdIrNRPL6aM8dRMzkD59v1PktWxjY2NYwYa0AAdwUa32yktdP0FHCI2k5cc5Lj3kqWoyaeS0L6VNxblPV\/2xTX+xm5tjqqV\/Q11PvFINs43wVzs+pIqhvstyIpK6M8LmSdUPPePcr1V9yslvuozV04c8DAkbs4DzRSTVpHJ05KWOnrzXJ\/k71dwpKGlNTUTsZFjIOfxeXeqHTbZbjea2\/Ph6KOdojjaTvgcPv2A378rtBom0wyskJqJAx3EGvkGDy7gO5X7GMjYGRtDGtGA1owAu3ilZEVCpUkpTyS5a5npERVmoxmrWTXO9RW6FxxFTulLQTgnBPIf\/ACB6q80vWmusNO5\/9JEDE8Yxu3YfDCr7b+ka7uUzhnoYgxvh+EfdedLhtDfLtax1WteJI2Z5Nz9i1Xy4bdDzaTarY\/8ApteWnoalUmofypSiO4Wx3H0IImgIyHNyDkD088K7RUp2dzfUhjja9iFarrTXejbUU7vB7DzYe4qasZcJ6PTWp4qmlc0QzgiphY7PBvz4ezv96ny61oiGto6WpqpHcmtbj\/f4Kbpt5x0M0Nqik41HmjSLE0r4NOXWa3XSlY6jnkEkM5jBxjlny28j5qzhuWpLhLGYbYyiiDxxGcnOPLY+4K9qaWCshMNRE2SM82uRdjJnZLf2lDJrqsme4pY5o2yRSNkY4Za5pyD6r2snLYLnYZjU2CYyxE5fSynOfln4HzVzZL3DeadzmsMU8RxLE7m0\/ZcccrrQnTrXlgmrP18CzWb1fFLTtpLzB+Oik62DjLSR\/wAf4lpFyqaeOrppaaZvFHK0tcPArkXZ3J1qe8g4n2CaOpgjnidxRyNDmnvBXRZrR88scdZaZncTqGUtafAk\/UH3rSpJWdhRqbyCkFndcTGOwdEM5nmazA7eZ+gWiWWrS+9axgom70tvHSS77Fx\/gDHmu0+K\/Qr2p\/68K1ll5mkpYRTUkMAxiJjWDHgMKp1RbpquhiqqQE1VFIJYw1vET3ge4H0V2iim07ls6anDAzL3Slr6+C3XykpnsrYMF8DsjI7sfxsV2sFBVyXSsvFfAYZZ8CON36rfvgAcu9aJFLG7WKls6xqbf\/ulwvMjGyxujd+F4IPkV6RQNJjrdcK3TMU1uqaCaqLXl8T4\/wBYE4+mdu9d\/a9UXoFtPTMtkBx13548eGfoB5rVIrMa1tmZFs8ksON26fkqLNp6mtGZS509U\/8ApJn8ye3Hd81boig227s0QhGEcMVkERFwmEREAREQBERAZizdTWl3YeZaHfL7pU5pf5QaZw2bVQYce8gO+wS1f99XX+yH7qah\/M6osk42L3mPPqB+8r\/3W7vY83SlfpL3NOqTU1zq6OmiprfG91VVP4GODdm+vf3ep7FdoqU7O5vqRcouKdjCag03T2qwCo4nS1ZlaZZSeec5AHdn1W1pRH7PG+ONrA9odhrcc91Qa4cXWqnp2gkzVLR3dh7fPC0bGCNjWN5NAAU5NuKuZqNOMK0lFZWXuekRFWbAsvppxrb9drjH\/wBO5\/Aw55nv9wHvXu5VN\/uUs1vpKA0kJfwGoe7ct7x4bdmeaubVborVb46WPBLQONwGOJ2Nz8FZwx8TJd1aisso+pMREVZrMxH+h\/yhSNB2rafOPED\/APBWnVJVWuqm1fR3Nob7PDAWOJdvnr9n+IK7U5u9jPQi44k+rKy+3mCz0MkjntM5b+aj4hxOPLPoo+mbY+jo31dSP0uscZJMjduTkDPPxVlNb6Soq4qqWBrpogQx55gFSVy6w2RLdt1McuWnyERFEuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDiyjpo6l9SyBjZpBh8gbu4eJ9FntXD9Ns7uQFTuTyG7Vp1X3a1U9zZB07pGmCVr28BA3zjfIU4PtGfaIXpNL+5lgiIoGgh1trpbhPTTVDXOdSv44wHYGduY7eQUxEXbnFFJtrmERFw6EREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/2Q==",
    "razonSocial": "OPERADOR ATACAMA CSP CHILE SPA.",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "HEBER BECERRA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56993433299",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R1150\",\"id_control\":\"28671\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R734\",\"id_control\":\"28718\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I607\",\"id_control\":\"28718\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:07",
    "ubicacionGPS": "LatLng(lat: -22.7817352, lng: -69.4666776)",
    "horaLlegada": "10:58",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 20/05/2026 11:07:30
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-8p6f2W6zwain0l.s2UXsBVlnEHHxWP7w4aCubT_Yt3tXSel3b3B
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76939719",
    "serieinterna": "TO2801",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "847187",
    "contadorColor": "98191",
    "contadorScanner": "0",
    "detalle": "cambio unidad de revelado negra ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12569",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADMAQEDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAgcGAQcLBQEAAAABAAIDBAURBiESMRMiQVFhcYEUkaGxwdEyFSMkQkPC8AcWMzVzdIKSouHxNDZSYnLi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMhEAAgECAwUHAwQDAQAAAAAAAAECAxESITEEEzJBUSJhcZGxwdEzgeE0QqHwFCNS8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBERAEREBwrKyCgpJKqpfwRxjJP0CzcdRqO+tNbRPZRUoz0cb+cuOXZyOw5r5VF2qb+KNhd+TaF2ZjjZ7xkc\/h5ZWqa1rGBjGhrWjAAGAArOBd5kzrydnaK6c38FVp+9fleneyZnR1dOeGZmMb949yt1la1gsus6WsYS2G4ZjkAG3Fy+fCfetUuTS1XMnQnJpxlqsvgIiKBoCIiAIiIAiIgCIiAIiIAiIgK6\/109ts09XTBpkj4cBwyN3AH5qRbqh1Xbaapdjilia92OWSASouoo+l09XN7oi73b\/RedMydLpyid3R8PuJH0U7di5nxPf4eVvctURFA0BEUW51PsdsqqjODHE5w3xvjb4oszjaSuyDYbxPd5a4vjY2GCXgic3OXDJ5792FcKh0ZTGn07E4jBme6Q+\/A+ACvlKdsTsVbO5OlFy1YRFWXi\/UVmh4p3ccpHUhaes77DxXEm3ZFk5xgsUnZFi97I2F8jgxrRkuccALP1msKZs4prbTyXCcnGI9m+\/G\/wDG6ittl41K8TXWU0dCTxNpmfiI7M\/c+4LRUFso7bF0dHTsiHaQN3eZ5lTtGOuZmxVavB2V1evl8lE0axrAJA+koRk9RwBJ+DlIsN2rZa+otNzaDV07eMyNxhw27h4g+qv1mKFwm\/lAr3NAIjpw3i8ep\/v7l1PEnkRlB0pRak3d2zZp1Ualub7baXugP6RKejiwd8ntHeQrdZa5N\/KutqOjIDoaJnSvB3357\/6VGCu8y3aJOMLR1eXmW1gtLbPa44MAyuHFKdvxd2e0BWaIot3d2XQioRUVojO62p+OyNqW7SU0rXtcBuM7fMj3K8pZxU0kNQBgSxtf7xlQtSQifTtcw9kRdy\/8d\/ovOmZOl05RO7o+H3Ej6KWsChZbQ11Xoy1REUDSEREAREQBERAEREAREQBERARriwSW2qYeToXj4FVOi3l2m4Qf1HvA9+fqrmsBNFOAMkxu+SpNEEHTrcHlK7KmuBmaX6iPg\/Y0KIigaQqXV0vRaaqt8F3C0eOXDPwyrpZvXUnBYGtx+OdrfgT9FOHEijaXajJ9xbWSHoLJRR4IIgZkHsJGT8VOUcyQ0FE108rY44mAFzjgbBZqa5XLU8zqS0h9LRAkSVTsguHh9uffhFFydzkqkaUVHV8kS7rqV\/tH5OssYq6x2xc3dsf0z8Avdm0yyjl9uuD\/AGqvceIvduGHw8fFWFps1HZ6foqZnWIHHIfxPPj9lPRySVonIUXJ46ub6cl+e8IiKBpPE0rIIXzSHhZG0uce4DcrOaQY+rfXXiUAOqpSGgdgH8Y9F61bXSGOGzUo4qmtIBHc3ON\/P6FXlBRRW+hhpIfwRN4c957T6nJVmkfEy\/Ur90fV\/gkLL2Ae0atvVTgHo3dFnu3x+4tQsxor87HcarmJak79\/b9VyPCztXOrTXi\/4NOiIoGki3NnSWqrZjPFA8Y7+qVV6MdxabgGc8L3jy6xP1Vld5xS2ermIzwwuwO842UDR8Ji03Tl2xkLnYx4kD4AKxcBmf6heD9UXaIirNIREQBERAEREAREQBERAEREB5c0PYWnkRhZvQhIs9REdzHUuHwb\/utMsxo4Bk92haMBlTt7yPopx4WZqn1oPxNOiIoGkLI65q2RS26J4LmiQyvaO4Y9O9ax72xsc95w1oJJ7gvzyjqn3vWFNVVMeYpJD0bXAYDWgkDx+6tpLPF0MO2z7KprWT9y4p7VcNTTMrbzmGjGTDTNOD6\/fn5LUwQRU0LIYI2xxsGGtaMALoihKTZopUY089W9WF8yBjJ58lX3G\/Wy1gipqW9IP2bOs73Dl6qloo67Ut2gudTEaegpnB8DOL8ZG4Pvxv4Y711RdrvQ5OulJQjm\/wC6mrUa4V0NtoZaudwDY2kgZxxHsA8SpKxVyr6bUV6bSvq2Q2uk60j3PDekduNu\/uHqUhG7Feru45avQnaZopq6plv9cMyTk+ztJz0bdx8th4ea06p36psUGIzXMAbsA2NxA9wUuivFuuLyykq45XgZ4QcHHkUlibu0RoulBYFJN+OrJNRIYqaWQc2MLh6BUGhowzT5cP15nOPuA+ivK3\/oaj+yd8lS6J\/7dZ\/avXVwMT\/UR8H7GhRF8c4NaXOIAAySexVmkzetKlzqOntcJBmrZWt4fAH74V\/S07KSkhpmfhiYGD0GFnLURfdUVNzJ46aj\/N0++xPLOPefUdy1KslklEy0O3KVXrkvBfkIijVVxoqLPtNXDCQM4e8A+5V2uaW0ldklFQTa0ssRw2aSbfHUjP1wuH8\/bTkfmavf\/wBG7f6lPdy6FD2qiv3I0yKgg1pZpnhrpZIcnGZIzj4ZV3BUQ1UDZ6eRssbxlrmnIK44taoshVhU4Xc6IiKJYEREAREQBERAFmNKdW835g\/C2p2H+J\/2WnWY0t\/XmoP7z+89TjwszVfq0\/v6GnRc5p4aaIyzysijbzc84AWeqdXGeoNJZaJ9bNy4yCGDx8R7lxRb0LKlaFPiZ01ncTR2Y07H8MtWeAf\/AD+t9vVUvSUVo1JbWyVDDBRUeHPbuHOIccjHeXKXNpe63qrZU3isYwYx0cQzwjuHYPiuFosdDFrCqoXR+0QU8AcOlAcOLDefYeZV8cKja55tXezqqWG12kr92ehYS6wNQ50dnttRWOG3GWkNHoMn34XgUGqLsc1ta23wkj83CcH4b+hK1EcbImBkbGsaOQaMAL0qsaWiNu4lL6km+5ZIprbpa2W1\/StjM82c9JMQ4g+A5K5RFBtvUvhCMFaKsR66m9toZ6YSGMysLONvNuRzVJSaHtMHCZ+lqXAb8buFufIfdaNF1SaVkRnRpzeKSuV8dhtEbeFttpSMY60Qd81Sams9Fbrc65ULPZKiFzOExO4Q7rDbHLx9Fq1k7u7+cWoYLRHxOpaUl9S5uR1u7Pw9SpQbve5RtMIKnZJXeS8TQF757N0jx+ckp8kY7S1VWiCDp1uDyldlX5jb0fRgcLccOBtgLI6RulHbtPymtqGQ8NQ4AH8R6rezmUWcXY7NqFaDk+T9jYKh1bcJKS2tpafPtFY7o2YOD49viPeoz9V1NwlfT2K3PqXD9tJs0en3IXIaWuF3kjqL7cMlvKGJo2HdnkPcfNdjHC7yI1azqxcaKvfny8ztBe7Npy1w0bKgVD4x1xBh2Xdpz5\/ReHX6\/XPItVpMLDyln7e4jOB81c0FitttANNSsDx+0cOJ\/vKsFxyjfS5KNKq0k5WXRfLMudP32vz+Ur2WNcMGOAHBHd2D4FSabRdng3ljkqXdplkP0wr9FzeSJrZqSd2rvvzI8NvoqYYgpIIxjHUjAXcgEYIyCvqKBeklkiPNQUdSwsmpYpGuGCHMBXunp4aSBsFPG2OJn4WtGAO1dUXbjCr3sERFw6EREAREQBEVVedQ0tmLYpGSS1EgyyJg59nNdSbdkRnOMFik7ItVgqK9m1Xm8sgpnVNTVVRELG8jhz9z7wrP2TUOod6uT8mUbv2TfxuHj2+\/HkuejaSKmut4hYOL2eURsc4AuABeOfoFdFKKd8zz6k51akMKtrm\/DodYdP3C8vFTqGocGg5ZSxHAHnj\/AJ8VoqSjpqGEQ0sDIWDsaMZ8+9d0VTk2bKdGFPNa9eYWYsnX1jeJOfCA3PduNvgtOsxpP87c71U8xJU4HvcfqF2PCyFbOpTXe\/Q06IigaQiIgCLzJIyJhfI9rGjmXHACz921fR0rTBb3CrqndVgj6zAT4jn5BSUXLQrqVYU1eTO+pLy63U7KSlBfW1fUha3m3O2fjt4+ShUFTbNKW\/o62oa+uk68zY+s9x7B6Z7fFVNv05fblWmurJ30rnc5ZP6TGOwdm3ktLbNL222kSCM1EwOekmwSD4DsVrwxVrmGDrVZ7xRt0vy+3Urn3DUN9y220xt9Kf282znDw\/2HqoOk7HQ1ctb7dCJ5qabg6xOO3s7eXatwsxpjEd9vsI5CcOA\/xO\/2XFLsu2RKdFKrBzeK99fDoaVjGRsDI2hjWjAa0YAXpEVJ6AREQBERAEREAREQBERAEREAREQBeDDE6Vsro2GRgIa8tGQDzwV7RAFmNLf15qD+8\/vPWnWY0t\/XmoP7z+89TjwszVfq0\/F+hp0RFA0nl7xGxz3cmgkrN6Fa42moneOtLUOOe8YH1yrq7S9BZ6yXtbA8jzwVmbFqC2WbTsMc0xfOS55ijGT+I435DbCsim4uxjqzjGtFydkk\/Y2S5zTRU8ZknlZEwc3PcAB6lZkXLUl6DTb6NtBTu\/aykEnx3HyHqvcGjWzSCa7101bJjHDxEAevP5JgS4mS38p\/TjfveS+SRWaxtsDxFS9JWyk4DYW7Z8zz9MqN7Vqu6AdBSxW2I\/rSbv8AHY7\/AACumxWux0rpWshpIhjidjGfXmVn5a26arkNPQNdSW3iw+oOxeP47B6lSjbkvMqqOaynLN8o5fzqUdfRPqqwUTK6e6XBxAJafzcffuc589sLW6d01DZoxNLwy1bhu\/GzPBv3U+1WiktFN0NKzc\/jkdu558Spy5Oo2rLQ7Q2SMJY5a+gREVRuCzFu\/M6+uUR2EsIePH8P3K06zFR+j\/yh0xHVFRTEEjt2dz\/yj4KcOfgZtoywPvXwadERQNIREQBERAEREAREQBF5c5rGlz3BrRzJOAFQHVBrLnFRWil9rGcyyl3C1rc4P\/PwOV1Rb0K51YwtiepoURFwsCIiAIiIAsxpTrXe+yDk6p2\/zP8AutDVVdPRQOnqZWxRt5ucVg7L+Wa2StjtMjIoppi6Sodseewzz7c8lbBXizFtFRRqw5vPJeBuquvo6BnHV1McIxkcbsE+Q5lUE2rpaxxisdumqng4Mj2EMHu+uF2pNH0bJRUXCaavn\/WMruqT5cz6lXsMMVPGI4ImRMHJrGgAegXOwu8navU17K838GKvlBeza56+63ANaA0NpYSeHJIGD2bZ8fNWulaeyexQS0vQPrOAdISeuHYydjy7eXcvmupOGxsjzvJO0fAlZK8T0NRc42WilLGx4aHR5DpXd4HZ4K2Kc42MFWUdnrOWumuv2P1EkAZJwAqG5aqp4X+y21hr6snAZGCWjzI5+izlRQ6pnoovbWVc9N+tE2QcZHjzPvBVzYLzp2mYYYohb5geF3Tjd2\/a76HChgSz1NP+TKbw8Hjr9uQptO112qG1uoZs43ZSsPVb545envWmiijhibFEwMYwYa1owAF6a4OaHNIIIyCO1fVXKTZrp0o09NXz5hERRLQiIgCzGov0fU1kqeXFIYyfUD94rTrMa2HBDb5x+OOpHD8\/oFOnxGbavpN9Lepp0RFA0hERAERQrjd6G1R8VXOGEglrBu52O4LqTehGUlFXbsTUVRb9T2u5TinimLJnHDWSNxnyPL4q3RprU5CcZq8Xc+EgDJOAFnKvVT6irNDY6b2yfl0p\/o2+Pj57L3eqK8XeuFDG4U9tLQZJARxP33Hf\/G653OgqbFRQT2RuIaY8VRCNzMNtz38vj4KyKjz1M1apUd8KaS1fP7fJzGl7jcniS93R0jQ7PQQnq\/QD3LRUlHTUMIhpYGQsHY0Yz59652y4wXWhZV056rti082ntBUtRlKTyZbSpU4rFHO\/PUIiKBeEREAXxxIaSBk42HevqIDKUtmr7\/UNrr48spwSY6MHGB2Z\/jJXvRLWsZcmNGGtqMAdwWoWY0gRHWXemz1o6nf3kfRW4nKLMO6jTqw6u939jToiKo3GW1oxs8lqp3\/glqMOxzxsPqrm2WSgtEYbSwjjxgyu3e71+yqNafm222o7Y6kff6LTqxt4EjJThF15trPL0ChV9ot9zYW1dKyQ\/wDljDh6jdTUUE2tDVKKkrNXMs\/SNTQvMllustOSSejkPVO3h9QfgkOobhaKltLqCA8DjtVxt6p27gN\/TfwWpXKopoKuEw1MLJYzza8ZCnjvxZmZ7PhzpO3p5H2GaOohZNC8PjeMtc07ELoslV2GssTnVdluIhj5up53gNd2czsfXHmpFp1nR1bugr+ClmG3FnMbjnv7PVHDK8cxHaUpYKqwv+PM0qL41wc0OaQQRkEdq+qs1BZjWfXda4uZfUjq9\/L7rTrMXz9O1baaFvWEBMzwOzfO\/wDl+Pip0+K5m2rOlbq0v5L64VT6KhlqY6d9Q+MZETObvmqSDW1A6Xo6uCekdkY425H3WkXKopoKuEw1MLJYzza8ZC4nHmidSNRu8JW7rHqKWOaNskTw9jhkOacgr2szpfjpLnc7UHZp6eTMII5Ak9vqFpkkrOx2lU3kMRUX+\/xWKKMvidJJMHdGByyMc\/DcKDYrCag\/la8AVNVUAOayRuQwHlse35LhqSGKs1XaaWYZjIy5p5EZ5euFrFNvDFW5lEY72tJy0jovsUGqbTBNa5a2FjYaqmHSNlYOE4HMZCsbLVvrrPS1Mjg572dYjtI2J+C5akkbFp2uc7kYi31Ow+a+aajdFp2ia7mY+L0JyPmuawJJJbQ7c17lovhAIwRkFVsF7hlvc9pfE+KaMZY52MSDAO3vVmoNNamiM4y0MhVwyaSu4rqZrjbKl2Jo2j+jPh9PctZFLHNE2WJ4ex4y1zTkELzU00VZTSU87A+ORvC5pWd0k+Wjqa6yTScXsr+KLn+Enf5g+pU32o35ozRW5qYVwy07n+TToiKs1hFymqaem4enmji4yQ3jcBnAyugIIyDkFDl0fUREOhZGepZp3WM1RPllJXRFxcNxxDtx35H+pa5cKmipa0MFTAyYRu4m8YzgqUZW1Ka1NzScXZp3KTTNRW3OrrLpPI8U0p4IIidgAe7w5Z7TlaJeIoo4YmxRMDGMGGtaMABV1ZqK2UdJJUGoEgY8x8Me5Lh2I+08kchajC05HnU1ukudkmggYHzAtfGDjmDvz8MqPPqihtlNDFVPM1YGNEkUHX4XY3Gc9\/jlV4F81S4E8Vttx7j1pB8z8vNXltsFttTR7PTgyD9rJ1n+\/s9MKeSVpFCc6k3OmrJ837IhW67Xq5VMUotbaehces6V3WIxzHL5Y3Xi\/apFrqxRU0LJp8ZcXyBrWduD6YPqra5tr3UvDbnxsmLgOKRuQBnc\/wAZWOhspOr4qW9S+1yTxdIXAkAkA7dmR1T3LsVF5sjWlVppQi223q7WLzTOoqi9vmZPTNZ0YBDo+XkclSb5Dd6p9PTW6YU0MhImnB6zdvLI8wfcrOnpoKWIRU8LIoxyaxoAXVQcliukaY0pOngnK76mch0Tbg\/pKuaoq3nnxvwD7t\/iqrVWnbfbaWnqqSIxM6UMkbxk5BzvufBbhUmsGMdpupe9vEWFpb4EuAz8SpQnLErsor7NSVGVorQq2\/lPSTy9nSXG1uGe4xD6beh8FY12qaOOzmtopWTPc8MZGcg8XaCMd3orS3Se1WmlkkaD0sDHOHZu0ZWO1RZIae7UTbbCIZal52Bw0O2xgdnauxtKVpakKm8o0703k+XS\/QsmabvczRUz3+aOq58Lclo8OY+SgaTqzVamqZKuc1FQYi2OQjYgEcsbDYfNRZhf36ilpDwwVVbFwO4SA1zO1w3O+Gnl4qdbbbHbNY0dLGQ4xUuZCBjicQ7J+XwU3o7vkZ4u9SLimknZ3bzfybRfCQBknAC+qNcXFltqnt5theRtnsKzI9huyuUOjgKqW53Q5JnqC0EnkBvj\/UPctOqHRYA03CR2veT\/AJir5TqcTKNlVqMe\/PzM1q+ilaKa80zS6WieC4f+uc59D8CVeUNdBcKJlXA8GN4zz\/Ce0HyVNqi4h0bLNSvDqqse2NwbuWNPMnz+S8N0PbuCLMkzSGtEjWuBDiO3cd6llhWIpvJVpbtX0v4\/3Uj3ip\/nLdIrNRPL6aM8dRMzkD59v1PktWxjY2NYwYa0AAdwUa32yktdP0FHCI2k5cc5Lj3kqWoyaeS0L6VNxblPV\/2xTX+xm5tjqqV\/Q11PvFINs43wVzs+pIqhvstyIpK6M8LmSdUPPePcr1V9yslvuozV04c8DAkbs4DzRSTVpHJ05KWOnrzXJ\/k71dwpKGlNTUTsZFjIOfxeXeqHTbZbjea2\/Ph6KOdojjaTvgcPv2A378rtBom0wyskJqJAx3EGvkGDy7gO5X7GMjYGRtDGtGA1owAu3ilZEVCpUkpTyS5a5npERVmoxmrWTXO9RW6FxxFTulLQTgnBPIf\/ACB6q80vWmusNO5\/9JEDE8Yxu3YfDCr7b+ka7uUzhnoYgxvh+EfdedLhtDfLtax1WteJI2Z5Nz9i1Xy4bdDzaTarY\/8ApteWnoalUmofypSiO4Wx3H0IImgIyHNyDkD088K7RUp2dzfUhjja9iFarrTXejbUU7vB7DzYe4qasZcJ6PTWp4qmlc0QzgiphY7PBvz4ezv96ny61oiGto6WpqpHcmtbj\/f4Kbpt5x0M0Nqik41HmjSLE0r4NOXWa3XSlY6jnkEkM5jBxjlny28j5qzhuWpLhLGYbYyiiDxxGcnOPLY+4K9qaWCshMNRE2SM82uRdjJnZLf2lDJrqsme4pY5o2yRSNkY4Za5pyD6r2snLYLnYZjU2CYyxE5fSynOfln4HzVzZL3DeadzmsMU8RxLE7m0\/ZcccrrQnTrXlgmrP18CzWb1fFLTtpLzB+Oik62DjLSR\/wAf4lpFyqaeOrppaaZvFHK0tcPArkXZ3J1qe8g4n2CaOpgjnidxRyNDmnvBXRZrR88scdZaZncTqGUtafAk\/UH3rSpJWdhRqbyCkFndcTGOwdEM5nmazA7eZ+gWiWWrS+9axgom70tvHSS77Fx\/gDHmu0+K\/Qr2p\/68K1ll5mkpYRTUkMAxiJjWDHgMKp1RbpquhiqqQE1VFIJYw1vET3ge4H0V2iim07ls6anDAzL3Slr6+C3XykpnsrYMF8DsjI7sfxsV2sFBVyXSsvFfAYZZ8CON36rfvgAcu9aJFLG7WKls6xqbf\/ulwvMjGyxujd+F4IPkV6RQNJjrdcK3TMU1uqaCaqLXl8T4\/wBYE4+mdu9d\/a9UXoFtPTMtkBx13548eGfoB5rVIrMa1tmZFs8ksON26fkqLNp6mtGZS509U\/8ApJn8ye3Hd81boig227s0QhGEcMVkERFwmEREAREQBERAZizdTWl3YeZaHfL7pU5pf5QaZw2bVQYce8gO+wS1f99XX+yH7qah\/M6osk42L3mPPqB+8r\/3W7vY83SlfpL3NOqTU1zq6OmiprfG91VVP4GODdm+vf3ep7FdoqU7O5vqRcouKdjCag03T2qwCo4nS1ZlaZZSeec5AHdn1W1pRH7PG+ONrA9odhrcc91Qa4cXWqnp2gkzVLR3dh7fPC0bGCNjWN5NAAU5NuKuZqNOMK0lFZWXuekRFWbAsvppxrb9drjH\/wBO5\/Aw55nv9wHvXu5VN\/uUs1vpKA0kJfwGoe7ct7x4bdmeaubVborVb46WPBLQONwGOJ2Nz8FZwx8TJd1aisso+pMREVZrMxH+h\/yhSNB2rafOPED\/APBWnVJVWuqm1fR3Nob7PDAWOJdvnr9n+IK7U5u9jPQi44k+rKy+3mCz0MkjntM5b+aj4hxOPLPoo+mbY+jo31dSP0uscZJMjduTkDPPxVlNb6Soq4qqWBrpogQx55gFSVy6w2RLdt1McuWnyERFEuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDiyjpo6l9SyBjZpBh8gbu4eJ9FntXD9Ns7uQFTuTyG7Vp1X3a1U9zZB07pGmCVr28BA3zjfIU4PtGfaIXpNL+5lgiIoGgh1trpbhPTTVDXOdSv44wHYGduY7eQUxEXbnFFJtrmERFw6EREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/2Q==",
    "razonSocial": "OPERADOR ATACAMA CSP CHILE SPA.",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "HEBER BECERRA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56993433299",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R1150\",\"id_control\":\"28671\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R734\",\"id_control\":\"28718\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I607\",\"id_control\":\"28718\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:07",
    "ubicacionGPS": "LatLng(lat: -22.7817352, lng: -69.4666776)",
    "horaLlegada": "10:58",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


20/05/2026 11:07:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76939719

[20/05/2026 11:07: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('76939719', 'TO2801', 1, 27729424, 847187, NOW(), 
				'08:00', '10:58', '11:07', 4, 'cambio unidad de revelado negra ', -1, 
				'', '','1','98191',
				'0',2,'../csj.digital-service.cl/uploads/firmas/firma_0_1779289650.png', '', null, 'COMPLETADO','LatLng(lat: -22.7817352, lng: -69.4666776)' )
				
[20/05/2026 11:07:30] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200380
[20/05/2026 11:07:30] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200380', 'TOS-R1150', 1)
				
[20/05/2026 11:07:30] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28671 and
				    IDproducto = 'TOS-R1150'
				

20/05/2026 11:07:30 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R1150';
                [20/05/2026 11:07:30] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200380', 'TOS-R734', 1)
				
[20/05/2026 11:07:30] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28718 and
				    IDproducto = 'TOS-R734'
				

20/05/2026 11:07:30 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R734';
                [20/05/2026 11:07:30] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200380', 'TOS-I607', 1)
				
[20/05/2026 11:07:30] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28718 and
				    IDproducto = 'TOS-I607'
				

20/05/2026 11:07:30 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I607';
                
20/05/2026 11:07:30 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200380'                    
				WHERE idllamado = 12569			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


20/05/2026 11:07:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

20/05/2026 11:07:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

20/05/2026 11:07:30 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12569			
				
20/05/2026 11:07:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


20/05/2026 11: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 = 12569
                

20/05/2026 11: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 = 12569
                

20/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

20/05/2026 11: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 = 12569
                

20/05/2026 11: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 = 12569
                

20/05/2026 11: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 = 12569
                

20/05/2026 11: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 = 12569
                

20/05/2026 11: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 = 12569
                

20/05/2026 11:07:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

[20/05/2026 11:07:33] 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;
                

20/05/2026 11: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 = 12569
                

[20/05/2026 11:07:33] 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;
                

20/05/2026 11:07:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12569
            GROUP BY l.idllamado;
            

20/05/2026 11: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 = 12569
                

20/05/2026 11: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 = 12569
                

20/05/2026 11:07:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                

20/05/2026 11:07:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12569
                
[20/05/2026 11:45:15] 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;
                
[20/05/2026 11:45: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

[20/05/2026 11:45:17] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 11:45:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

[20/05/2026 11:45:20] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[20/05/2026 11:45: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;
                

[20/05/2026 11:46: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;
                

20/05/2026 11:46:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11:46:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11:46:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

[20/05/2026 11:46: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;
                

20/05/2026 11:46:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:46:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:46:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:46:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11:46:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:46:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11:46:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:46:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:46:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11:46:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:46:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:46:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:46:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:46:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:46:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:46:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:46:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11:46:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:46:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:46:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:46:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:46:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11:46:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:46:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11:46:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:46:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:46:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:46:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11:47:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11: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 = 12664
                

20/05/2026 11:47:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11: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 = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11: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 = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11:47:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11: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 = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11:47:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11: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 = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11: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 = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11: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 = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11: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 = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11: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 = 12664
                

20/05/2026 11:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11:48:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11: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 = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11:48:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:48:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11:48:32 - logentry: =========================================
FECHA: 20/05/2026 11:48:32
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-zc5GpccQH5.jsz+cGPYRB6OTLz2AP0OLI9kLLAcaglo8QNxbIKM
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "73836100",
    "serieinterna": "EP3153",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se configura tamaño máximo de envíos de archivos via correo electrónico.\nno se pudo realizar toma de contador ni obtener firma de cliente ya que es un llamado realizado via remota",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12664",
    "observacion": "",
    "firma": "",
    "razonSocial": "FUNDACION NUESTRA SEÑORA DE ANDACOLLO",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FELIPE CARRASCO VILLEGAS",
    "correoContacto": "fcarrasco@cnsa.maristas.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIGURACIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56512257273",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:48",
    "ubicacionGPS": "LatLng(lat: -29.9255324, lng: -71.2579394)",
    "horaLlegada": "11:41",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "14",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 20/05/2026 11:48:32
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-zc5GpccQH5.jsz+cGPYRB6OTLz2AP0OLI9kLLAcaglo8QNxbIKM
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "73836100",
    "serieinterna": "EP3153",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se configura tamaño máximo de envíos de archivos via correo electrónico.\nno se pudo realizar toma de contador ni obtener firma de cliente ya que es un llamado realizado via remota",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12664",
    "observacion": "",
    "firma": "",
    "razonSocial": "FUNDACION NUESTRA SEÑORA DE ANDACOLLO",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FELIPE CARRASCO VILLEGAS",
    "correoContacto": "fcarrasco@cnsa.maristas.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIGURACIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56512257273",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:48",
    "ubicacionGPS": "LatLng(lat: -29.9255324, lng: -71.2579394)",
    "horaLlegada": "11:41",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "14",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


20/05/2026 11:48:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:73836100

[20/05/2026 11:48: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('73836100', 'EP3153', 1, 20988335, 0, NOW(), 
				'08:00', '11:41', '11:48', 14, 'se configura tamaño máximo de envíos de archivos via correo electrónico.
no se pudo realizar toma de contador ni obtener firma de cliente ya que es un llamado realizado via remota', -1, 
				'', '','1','0',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -29.9255324, lng: -71.2579394)' )
				
[20/05/2026 11:48:32] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200381

20/05/2026 11:48:32 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200381'                    
				WHERE idllamado = 12664			
				
20/05/2026 11:48:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                
TO ENVIO: null, fcarrasco@cnsa.maristas.cl


20/05/2026 11:48:32 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12664			
				
20/05/2026 11:48:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


20/05/2026 11: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 = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11:48:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11: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 = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11: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 = 12664
                

20/05/2026 11:48:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11: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 = 12664
                

[20/05/2026 11:48: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;
                

[20/05/2026 11:48: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;
                

20/05/2026 11:48:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12664
            GROUP BY l.idllamado;
            

20/05/2026 11:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12664
                

20/05/2026 11:49:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

20/05/2026 11:49:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

20/05/2026 11:49:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

[20/05/2026 11:49: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;
                

[20/05/2026 11:49: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;
                

20/05/2026 11:49:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

20/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

20/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

[20/05/2026 11:49:37] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

20/05/2026 11:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

[20/05/2026 11:49:37] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 11:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

20/05/2026 11:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

20/05/2026 11:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

20/05/2026 11:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

20/05/2026 11:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

20/05/2026 11:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

20/05/2026 11:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

20/05/2026 11:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

20/05/2026 11:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

20/05/2026 11:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

20/05/2026 11:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:31 - logentry: =========================================
FECHA: 20/05/2026 11:50:31
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Lz1+IYUvM.0DZ233+DogXEF-E_Nb3k+LzTbN1Pxk-+Omrlwnzfm
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "73836100",
    "serieinterna": "EP3153",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumos enviado via encomienda",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12568",
    "observacion": "",
    "firma": "",
    "razonSocial": "FUNDACION NUESTRA SEÑORA DE ANDACOLLO",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FELIPE CARRASCO VILLEGAS",
    "correoContacto": "fcarrasco@cnsa.maristas.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56512257273",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1048\",\"id_control\":\"28720\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1049\",\"id_control\":\"28720\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1050\",\"id_control\":\"28720\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1051\",\"id_control\":\"28720\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:50",
    "ubicacionGPS": "LatLng(lat: -29.9255571, lng: -71.2579228)",
    "horaLlegada": "11:41",
    "horaDespacho": "11:48",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 20/05/2026 11:50:31
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Lz1+IYUvM.0DZ233+DogXEF-E_Nb3k+LzTbN1Pxk-+Omrlwnzfm
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "73836100",
    "serieinterna": "EP3153",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumos enviado via encomienda",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12568",
    "observacion": "",
    "firma": "",
    "razonSocial": "FUNDACION NUESTRA SEÑORA DE ANDACOLLO",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FELIPE CARRASCO VILLEGAS",
    "correoContacto": "fcarrasco@cnsa.maristas.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56512257273",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1048\",\"id_control\":\"28720\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1049\",\"id_control\":\"28720\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1050\",\"id_control\":\"28720\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1051\",\"id_control\":\"28720\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:50",
    "ubicacionGPS": "LatLng(lat: -29.9255571, lng: -71.2579228)",
    "horaLlegada": "11:41",
    "horaDespacho": "11:48",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


20/05/2026 11:50:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:73836100

[20/05/2026 11:50: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('73836100', 'EP3153', 1, 20988335, 0, NOW(), 
				'11:48', '11:41', '11:50', 10, 'insumos enviado via encomienda', -1, 
				'', '','1','0',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -29.9255571, lng: -71.2579228)' )
				
[20/05/2026 11:50:31] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200382
[20/05/2026 11:50:31] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200382', 'EPS-I1048', 1)
				
[20/05/2026 11:50:31] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28720 and
				    IDproducto = 'EPS-I1048'
				

20/05/2026 11:50:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:31 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1048';
                [20/05/2026 11:50:31] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200382', 'EPS-I1049', 1)
				
[20/05/2026 11:50:31] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28720 and
				    IDproducto = 'EPS-I1049'
				

20/05/2026 11:50:31 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1049';
                [20/05/2026 11:50:31] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200382', 'EPS-I1050', 1)
				
[20/05/2026 11:50:31] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28720 and
				    IDproducto = 'EPS-I1050'
				

20/05/2026 11:50:31 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1050';
                [20/05/2026 11:50:31] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200382', 'EPS-I1051', 1)
				
[20/05/2026 11:50:31] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28720 and
				    IDproducto = 'EPS-I1051'
				

20/05/2026 11:50:31 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1051';
                
20/05/2026 11:50:31 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200382'                    
				WHERE idllamado = 12568			
				TO ENVIO: null, fcarrasco@cnsa.maristas.cl


20/05/2026 11:50:31 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12568			
				
20/05/2026 11:50:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


20/05/2026 11:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

20/05/2026 11:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

20/05/2026 11:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

[20/05/2026 11:50:34] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[20/05/2026 11:50:34] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[20/05/2026 11:50:34] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 11:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12568
                

20/05/2026 11:50:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

20/05/2026 11:50:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12568
            GROUP BY l.idllamado;
            

20/05/2026 11: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 = 12568
                

20/05/2026 11: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 = 12568
                

20/05/2026 11: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 = 12568
                

20/05/2026 11: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 = 12568
                
[20/05/2026 12:08:20] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[20/05/2026 12:08:20] 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;
                

[20/05/2026 12:08: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;
                

20/05/2026 12:08:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12661
            GROUP BY l.idllamado;
            

[20/05/2026 12:08:54] 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;
                

20/05/2026 12:27:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12661
            GROUP BY l.idllamado;
            

[20/05/2026 12:27:43] 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;
                

20/05/2026 12:27:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12661
            GROUP BY l.idllamado;
            

20/05/2026 12:27:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12661
                

20/05/2026 12:27:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12661
                

20/05/2026 12:27:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12661
            GROUP BY l.idllamado;
            

20/05/2026 12:27:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12661
                

20/05/2026 12:27:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12661
                

20/05/2026 12:27:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12661
            GROUP BY l.idllamado;
            

20/05/2026 12:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12661
                

20/05/2026 12:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12661
                

20/05/2026 12:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12661
                

20/05/2026 12:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12661
                

20/05/2026 12:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12661
                

20/05/2026 12:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12661
                

20/05/2026 12:27:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12661
            GROUP BY l.idllamado;
            

20/05/2026 12: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 = 12661
                

20/05/2026 12: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 = 12661
                

20/05/2026 12:28:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12661
            GROUP BY l.idllamado;
            

20/05/2026 12: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 = 12661
                

20/05/2026 12: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 = 12661
                

20/05/2026 12: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 = 12661
                

20/05/2026 12: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 = 12661
                

20/05/2026 12: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 = 12661
                

20/05/2026 12: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 = 12661
                

20/05/2026 12:28:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12661
            GROUP BY l.idllamado;
            

20/05/2026 12:28:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12661
            GROUP BY l.idllamado;
            

20/05/2026 12: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 = 12661
                

20/05/2026 12: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 = 12661
                

20/05/2026 12: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 = 12661
                

20/05/2026 12: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 = 12661
                

20/05/2026 12:29:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12661
            GROUP BY l.idllamado;
            

20/05/2026 12:29:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12661
            GROUP BY l.idllamado;
            

20/05/2026 12:29:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12661
                

20/05/2026 12:29:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12661
                

20/05/2026 12:29:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12661
                

20/05/2026 12:29:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12661
                

20/05/2026 12:29:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12661
                

20/05/2026 12:29:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12661
                

20/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12661
            GROUP BY l.idllamado;
            

20/05/2026 12: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 = 12661
                

20/05/2026 12: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 = 12661
                

20/05/2026 12: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 = 12661
                

20/05/2026 12: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 = 12661
                

20/05/2026 12:31:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12661
            GROUP BY l.idllamado;
            

20/05/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 = 12661
                

20/05/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 = 12661
                

20/05/2026 12:31:16 - logentry: =========================================
FECHA: 20/05/2026 12:31:16
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-e-sUV1PR2.DzUe3Z65K9wcwcDy.zeRJk1BDYisI2PAkJ2MjHR9L
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "51064970",
    "serieinterna": "KY2678",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "215912",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "limpieza rodillos alimentadores",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12661",
    "observacion": "cambio rodillos alimentadores y rodillo de retardo de bandeja 2",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC3ASEDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABDEAABAwMCAggDBAYJBAMAAAABAAIDBAURBiESMRMiQVFhcYGhFJGxFTLB0SNCUmLC8AcWJDNDkrLh8SU0NaJzguL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQIDBQYGAgMAAAAAAAAAAQIDERIhMQQiMkFRE2FxgbHRFEKRocHhM\/AjNPH\/2gAMAwEAAhEDEQA\/AP7MiIgCIiAIiIAiIgCIiAIizr1eILNQuqJcOedo484Lz+XeupNuyIykoRcpaC73ujs0AfUOy933Im\/ed\/t4rGjfqi8u6eNzLbTkAta4dYj6\/RetgsstRMbzeGmSrlOY43jaMdm34dnmqVTbUclmzNGM629J2XJc\/P2Jy2Vtxt97FnucwqOmZ0kMwHzB+RVGpi6Ydry1tB3EJOP8yp1yfJktnb3o30YREUDSEU9er3VtuUdotDA+rcMyPcMtjH\/G\/wAueV7WC8VFXPU26vZwVlKesRyeO\/lju+YU8DtcoW0Qc8H\/AC\/Q20RFAvCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIviWWOCF80rwyNgLnOPIBBoc10ucFpoX1dQeqNmtHNzuwBYdptlReatt7vAyOdNTkdVg7CR\/Oea8aKGTVt1fXVYP2dSvxBGW4Em\/b8hn5KtAAGAMAKx7itzMcV28sb4Vp39\/sfqIvKpqI6SmlqZncMcTS5x8AqzW3ZXZORH43+kGV4HE2jg4cnsJHZ6uPuqhTWjYXy01VdZgOlrZic47AfzJ+SpVOetuhn2bOGJ\/M2wvGqqY6OllqZThkTC4+i9lOazqZRQU9vgOJK2UM7dwOzbxIXIq7sWVp9nTcj40dTOnZU3qoAM9W8gEA7NB3xnvP0C+biPhNeW6oB4W1EZY44+8dx+LVRUlMyjpIqaMAMiYGjA7gp7VQ4L3YpRzFRggcyOJn8+qmnimzLUp9nQXVNPzuU6IiqN4REQBERAEREAREQBERAEXy97I2F8jgxrRkuccALAq9YUjZvhrdBLXznYCIdX59voFJRb0K6lWFPiZQrIrtTWuhnbTumM0rnBpZCOIt8+z8VlfZN\/vz+K61PwVMf8CI7ken4k+S27dYbZawDTUzekH+I\/rO+Z5eilaK1dylTq1OBWXV+xooiKs1BERAEREAREQBERAFMaqqJ62pprDROPSTkOmc39VnLfw5k+Q71v11ZFQUUtVM4NZE3Jz7D5rD0tSSVUlRfqtv6arcejB34Wctu3sx5BWQy3jLXeNqkuevh\/cjfpqeOkpoqaFvDHE0NaPAL1RFWaUrKyCm9X1Ur4aez0p\/TVzw089m5\/P2BVG5wa0ucQABkk9imLAPti\/1d8fH+iZ+ipiRjblnl3ePaVOGW90M+0NtKmtZenMoqSmZR0kVNGAGRMDRgdwXsiKBoSSVkFLPzdNesbjiht0eTttxY7\/Mj\/Kqhzg1pc4gADJJ7FM6Oa6qkuN1eDmqnIbnsAyfxA9FZHJNmavvThDvv9P2U6mNR\/pdS2KL9mUv\/wDZp\/hVOpiuzU6+oYx92ngLnZ7+t\/suU9bndpzgl1a9SnREUDSEREARc8tdSwVEdPLOxs0n3WZ3OxOfLqnfwXQhxNPQIvOaeGnYZJ5WRMHNz3Bo91k1WrbLSg\/2vpnD9WJpd78vddUW9CM6kIcTsbSKWOp7rcMC0WaRzXcpZuX4D3X79kakuRJr7qKWM79HT8x4bY+pU8FtXYo+JUv44t+n1Zt1t3t9uaTVVccZAzw5y4+g3WJNq2asLobHbpql4OOlc3qjx\/5wuyi0haKM8b4TUyZzxTni9uXstpjGRsDI2hjWjAa0YAS8F3jDXnq1Fd2b+pMxaauF0Ilv9xkeNiKeE4aPPs+Q9VvUFso7bF0dHTsiHaQN3eZ5ldSKLk2WU6EIO6WfV6hERRLgiIgCIiAIiIAiIgCIvKpqI6SmlqZncMcTS5x8Ahxuyuyb1C596vVPYIZOCNv6WocOzbIHy+oVNFEyGJkUbQ1jGhrWjsA5BTmjqd8zaq8z5MtZIeHJ5NB39\/oqZWTy3ehm2dYk6r1l6cgiLzmmjp4XzTPDI2DLnOOwCrNWhg6ruEgiis9JvVV3V5\/daTj33Hlla9roI7Zb4qWJoAYMux2uO5WFpuF91udTqCoZ99xZTA\/qtG3f3bcu9VCslksJloLHJ1Xz08P2ERFWajK1NWfBWCqkBIe9vRtx3u2+mV+6co\/gbDSxEYc5nG7zdv8AjhZery6sq7ZaW5xUTcT98bDb8T8lTgADAGAFY8oJGWG9Xk+it+X+D9UvZc1ms7vV9kI6Hy3A\/gKoKutpqKIyVE8cYAyA54BPllRenNQ0Fpop31HSy1VTKXFkTOzs3OO3K7CLcXYhtFSCqQUnkrv+\/UvEUt\/WK+V+1tshY08pJycefYO3vK\/fsnU1w\/727NpY3HPBANx4ZGPHtK5gtqyz4lS4It\/b1KKorKakbxVNRFCO+R4b9Vi1WtbNT7RySVBx\/hs\/E4XzTaJtkb+kqnTVbzzMj8An03915angorTp90FHSxRSVLmxN4GDiPafE7DHquxUL21K6lSuoOWSS82SdS25XJ094dSy8Jf0gm34WNBxgd+Nh6eapqWj1LeqaKplu7KaCVoc3oR1sHyx39606mhFJo2ajPOKjdnb9YNyfdfuknh+maMjsDgfRxU5TvG6M9LZsNTDJvNXedszkh0TQF3SVtTUVch5lz8A\/j7rWpbJa6LHw9DC0t5OLeJ3zO67kVLnJ6s3woUocMUERFEuCIiAIiIAiIgCIiAIiIAiIgCIiAKX1ZUS11TS2CkP6SocHzEb8Lc7Z9z6BUz3tjY57zhrQST3BTGlY\/tG4199lYQZX9HDxdjf+MD5qyGW90Mu0b1qS+b05lJTU8dJTRU0LeGOJoa0eAXqiKs0pWVkFNarqJqqWlsdKSJatwLyOxnz5bE+i2qi6W+l\/v62CM4zh0gz8lGW3UVC281l4rzKZXdWCJjclrfPOOStpxetjHtVWFlTb118OZc01PHSU0VNC3hjiaGtHgF6qX\/rVca3H2XZJpGu5SS54fbbv7U+F1dcM9NVwUDCd2R4JHljP1XMD5smtoja1OLfgvcpJp4adhknlZEwc3PcGj3WPWaws9JkNnNQ\/wDZhbn35Lmh0VSukMtxraitkPa53CD9T7rZpLRbqHBpqKGNwOQ4Ny75ndNxd4vtEtEo\/dkWblcbzqdtdbaHikp4+FjJeTRuMnl+0StgWjUtwwa68ClYRuyAbjw2x9Sv3SB+Lqrpczv08\/C0+G5x7hU6lOdnZIo2eh2kMcpN3b7vQg9Q6dobPaum6aaoq5XhjXPdzPMkDyGO3mqy02qnttFAxtPG2ZsYD5AwBzjjfJ81jXZ32nrK328HiipR00jc7Z57j0b81Urk5PCkydClBVJSisll7hERVG4KXumLprOhoCOKKjb0sgO4zz5ejeff86hS+lf7ddrrdiOrJJ0cZ8Of04VZDK7M1fecafV\/ZZm9c\/8AxVX\/APA\/\/SVmaNGNNU\/i5\/8AqK7r48MsNeXcvh3j5tIXLpJhZpmjDueHH5vJXPk8w\/8AYXg\/VGyiIoGkIiIAiIgCIiAIiIAiIgOWpudDRyiKpq4YXuGQ2R4bt37+S\/WXGhkGWVlO4fuytP4rkuWnbbdZ+nqonmThDeJryNguI6IsxGOCYePSKaULZszylXUnZK3ia7rpb2Z46+mbjnmZox7rwk1BZ4geK5U5x+y8O+in6n+j+I5NJXvb+7KwH3GPouKKw3G0EGeyU9yjb+sxxLu\/l\/8AnuU1CD5meVfaYvOFl9fQo5NYWOPYVZef3Y3fkuR2urc48MFLVzO7gwD8V4UF903x9FPbI6CUYz0kDcfPGfmqelmpqiESUskckZP3oyCM+i41GOqJQnUq8M15L3ZG3vVVZV0TqOO2TUoqhwNkkJy4ZGQBjuOPVdFvj1ZTUMVHT0dNTxRjhDnkZ7yTue3wXvLm667jjwXQ29gc7bbi5j3I+SqV2UlFJJEKVKVScpym8sssv7mTH2Rqmo\/7i9xxA7kRN5eGwCf1MM21beayoHdnHnzJVOua4V0NtoZaudwDY2kgZxxHsA8SoqcuRe9mpJXnd+LZF3mxW2CtpbRbo5HVs7gXSPeTwM37B5Z8grChtNDb4Y2QU0LXMAHGGDiJ7881j6VoZp3S32v61TVfcyBszbcd3LHkFSrs5PhuQ2alHOphtfTwCIiqNoXFeKg0tmrJgcOZC7hPjjb3Xap\/W03RadezP97IxnvxfwqUVeSRVXlgpSl3HrpCn+H05Tk85S6Q+p29gFsuc1jC9xw1oyT3BeNBCKa308Abw9HE1uD2YCy9XVppbFJGzeWpIhY0Zyc8+Xh9V3ikQTVGjnyRxaRY6urLhepAQaiQsjyBs3nj\/SPRVK4bNbxbLTT0gADmNy\/Ha47n3XcuTd5EqEHCmk9efiERFEuMvUdcLfYqmUHD3N6Nm2dzt+Z9E05Q\/Z9ipoSMPc3jfvnd26ydQE3bUdBZmuzFGemnGNv5x\/qVUrHlFIyw360pcll7mHrCYw6bqAM5kLWZHmM+wXfZ4fh7NRxEYLYGZ88b+6xdakztt1vBP9pqOQ2zjA5\/\/ZUwAAwBgBHlBHYZ15PokvyfqIirNIREQBERAEREAREQBERAEREAREQHPV0FHXN4aqmjmH77ckeqwarSNPS8dXbK2ehkY0u6ri4bb+fhzKplkapqfhtOVbgd3tEY358RwfYlTg5XsjPXp03FzktCUsdzuNsbNdpKA1cFS7Es4PWGOfLlz7RurG2X63XZo+GnHSYyYn9V49O30ymn6b4Sw0cJGD0QcR3F3WP1XJctJ22vk6aNppJ8544dsnxHL1CnKUZPMoo061KCwu\/c\/wAP3NxSVwJ1RqBttjcTQUZ453sP3nY7Pp81yXOv1Bp+NtHLWR1XTsLYpBvI07ep7cc+a1NGzWtlsbT0tQHVL+vMx2zuLG+B2geCKOFYjkqqrzVJ5db+hRtaGtDWgAAYAHYv1EVJ6AREQBTGsx0xtlJzE1UOr38h\/F7qnUxqjrX+wNG5FRkjw4mfkp0+IzbV\/E14eqKdSlX\/ANc1pDTBuae2jjeSNi7Y\/XhHoVQ3GtZbrdPVv5RMz5nsHzwsnR9FJDbH1tQ7inrn9K4nnjsz57n1XY5JyOVt+cafm\/BfsoERFWagvwkAZJwAv1ZOpq34GwVMgdwve3o2Y55dt9Mn0XUruxCclCLk+Rm6V\/6hdLneXf4knRRn93n2+HCqhZenKH7PsVNCRh7m8b987u3WopTd5Fezxcaavq835kvXD43XtFD+pSxcbuWc4JH8KqFL6YHx16ut2Jy18nRRn93\/AIDVULs9UuhHZs4ufVv2CIirNIREQBERAEREAREQBERAEREAREQBTGtyZaShpAcdPUjOOfLH8Sp1Mag\/TaqskH7DzJ7g\/wAKnT4jNtX8TXWy+5TNaGtDWgAAYAHYvGsq4aCkkqqh\/DFGMuK91JXGR+p74210zv7DSO4qh4ds\/lt9QPUrkY3eZOtU7OOWr0PXT1LNdrjLqCvZji6tNG4fdb+0Pp8113bS9NXPFTRvNFWNORLHkZwO4HbzC2oomQxMijaGsY0Na0dgHIL7XXN3uiMdnhgwyz9yYodSVFvnFBqGIwSAdSpxlsnnj6\/RUzXBzQ5pBBGQR2rnrrfS3KnMFXC2RpBwSN2+IPYVNOo7vpR5koC6ut3Fl0B3e3bnsNvMeoXbKWmTIYqlHi3o9ea8epXIuC1XmjvFOJKaQcYHXiJ6zPMfiu9QaayZpjJSV4vIKYv\/AF9V2VnLDi7PqPyVOpLVFVHRaktdVKepE1zip0+Iz7W0qd31XqempjLd7pSWKB+Gk9LUHkQ38dsn5KnYxsbGsYMNaAAO4Ke0nRySCovVU3E9a48GRuGZ\/H8AqNcnlu9DuzpyvVesvTkERFA0hS+pD9pX22WduHN4+mmGewe3IO+fzqFK6dzdNR3G7uyY2HoYckEY\/wCAP8yshleXQy7RvYafV\/ZZsqlm6hrPgbFVzZAdwFjfN2w+q0lKaiIvGoKGyNJMcZ6WoDTy\/kf6lyCuye0Tcabtq8l4s1NLUPwFgp2ObwvkHSvyMHJ5e2Frr8a0NaGtAAAwAOxfqi3d3LKcFCKiuQREXCYREQBERAEREAREQBERAEREAREQBTFf1\/6Qba3mG05OO44f\/sqdRGpK+W26tZUwM45RTcLB+8eID6qymrtoybXJRgm9Lo1tT3d8LG2qh69bV9TA5sads+f\/ACtGyWmKzW5lMzDpOckgGON387Li07Y3ULHV1dmS4T9Z7nblmexbq5JpLCiVKEpS7WevJdF7hERQNIREQE5d9OyRTi6WM9BWM3MbcBsnftyz7FdNi1Cy6l9NURfDVsX34XZGfEZ+i2li33T7boWVVNJ8PXRbxyjbOOQOPqrFJNWkZZU5U3jpea6\/s2lAX2tpr5qqkpBnoI5RA5w\/WJdg4+mV61moLq6mNinaIrgZBG+fjDQWnx7Cdt+5et6tUFjprOYgMw1AMkgGC92xJ\/8AVWQjheZk2it20LR0Vr38dPcsoomQxMijaGsY0Na0dgHIL7RFnPVCIiAzNRVvwFiqpgesWcDPN23459F56WofgLBTsc3hfIOlfkYOTy9sLN1RxXS72+yx4LS7pZsZOBy39M\/MKoa0NaGtAAAwAOxWPKCXUyw368pcll+WeNZVR0VHLVSnqRNLisHR9FK+OovNXvUVrjwnubn8T7ALz1DUOvF0g0\/SuywuD6p7SOq0Hl5jn5kKmiiZDEyKNoaxjQ1rR2AcgnDHxC\/y1r8o+v6PtERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiL5c5rGF73BrWjJJOAAgOa53GC1UL6uoPVbsGjm49gCjLKauq1lT1NwZ+knY6ZjXb8LSDw47vBaELH6uvIqZGkWmlOGMOR0jvL138Bhe93xSa0tFSW4bIwwt7s9YfxhXxSjePM8yrJ1Gqnypq3fnr7FOiIqD0wiIgCIiALMv15js1AZSOKaTLYWDtd+QXtdbrTWijdUVDvBjBzee4LEtFsqLxWtvl3G\/OmgxswdhP4fNTjFavQz1ajv2dPif27z4oNIsq7bJLduM11SeIycXWj7vDz+Sxb5PcKW3my3McZhe2Snn\/baMjHjsfTC\/oq4rpaqW70hp6lu3Nrx95h7wpRqZ5lFXY12dqeTt9fE9aCqZW0EFTG7ibKwOz49vuuhQNp1BU6bnktVdCZYIXkZbsY9+Y7wc59Va0VwpLjAJqSdkre3B3b4EdijODi+4uobRGqrfNzR0r4lljghfNK8MjYC5zjyAX05wa0ucQABkk9ikbjcJtUVn2TbCfg2nM845H\/bPz9FyMbk61VU11b0R76VhNwray\/zgcc7zHEP2WjGe\/wAB6FaWoLyy0UJ4DxVUvVgjxkk9+PBfNyutFpq2RxDrOYwMhhzu7G2\/h4rgsdnqquu+3bxvUO3hhI2jHZt2eA7OfNT1eJ6GZNwj2MOLm+l+fsdmm7O+3Uz6qqcX1tX15if1c7499\/FbaIq223dmynBU4qKCIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAKd1nJI21xxnibTSSATvaCSBkY\/kqiXy9jJGlj2hzTzDhkFSi7O5XVhjg431PC301NS0EMVG3hgDQWbbnO+T4rF1pTuda4q2LaSjlDwfA7fXCo15zwx1MEkEreKORpa4d4KRlaVyNSkp03BHxR1cVdRxVUJyyVocPDwXupKzVb9NVktouTuCmLy6nqHbN3+mfY5VY1wc0OaQQRkEdqSjZijV7SOeq1P1EXy5zWNLnuDWjmScAKJcfSzLzfqSzRAynpJnfchYesfyCzK\/VEtTUfAWGL4mc7GbGWN\/nvO3muiz6aZSSivuD\/irg48TnuOQ0+H5\/JWKKWcjLKtKo8NH68l7s5bbZ6q8Vrbxe24A\/uKUjZo7Mj8O3t7lUIijKTZbSpKmsteb6hERRLSa1NbpoJ475QR8U8G0zMZEjORyO3bY+HkuSjstnvMQq7PWS0FRzcxj8lnmM559xwrBYVfpG31dQ6phfLSTuJJdE7Yk8zg8vTCtjPKzZiq7PvYopNPlp5pnKdMVtQwC6XyeWBueNjTgEbc8+u5X5NfKG2xC2afgFVUkYb0fWbnvLu0r6\/qTTyOHxFwq5WZ+7xD8crcoLZR22Lo6OnZEO0gbu8zzK65LnmRhRqXyWHvvd+RkWXTkkVT9p3eT4mudgjJyI\/zPsOzvVCiKqUnJ3Zrp0401aIREXCwIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDlr7dS3ODoauIPbvg8i3bGxWCLBerU9zrPcw+HG0FRv2fLPLlhEUlJrIpnRhN3eT6rUGPWcm3TUkW3MAfkU\/qpW17g68XiWduQeij2b77eyIpdo+RD4aD4m34s36G30lth6KkgbE0nJxzJ8SulEVepoSSVkEREOhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MARITZA SAN LUIS",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REVISIÓN TÉCNICA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56997784962",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:31",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "11:04",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 20/05/2026 12:31:16
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-e-sUV1PR2.DzUe3Z65K9wcwcDy.zeRJk1BDYisI2PAkJ2MjHR9L
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "51064970",
    "serieinterna": "KY2678",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "215912",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "limpieza rodillos alimentadores",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12661",
    "observacion": "cambio rodillos alimentadores y rodillo de retardo de bandeja 2",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC3ASEDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABDEAABAwMCAggDBAYJBAMAAAABAAIDBAURBiESMRMiQVFhcYGhFJGxFTLB0SNCUmLC8AcWJDNDkrLh8SU0NaJzguL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQIDBQYGAgMAAAAAAAAAAQIDERIhMQQiMkFRE2FxgbHRFEKRocHhM\/AjNPH\/2gAMAwEAAhEDEQA\/AP7MiIgCIiAIiIAiIgCIiAIizr1eILNQuqJcOedo484Lz+XeupNuyIykoRcpaC73ujs0AfUOy933Im\/ed\/t4rGjfqi8u6eNzLbTkAta4dYj6\/RetgsstRMbzeGmSrlOY43jaMdm34dnmqVTbUclmzNGM629J2XJc\/P2Jy2Vtxt97FnucwqOmZ0kMwHzB+RVGpi6Ydry1tB3EJOP8yp1yfJktnb3o30YREUDSEU9er3VtuUdotDA+rcMyPcMtjH\/G\/wAueV7WC8VFXPU26vZwVlKesRyeO\/lju+YU8DtcoW0Qc8H\/AC\/Q20RFAvCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIviWWOCF80rwyNgLnOPIBBoc10ucFpoX1dQeqNmtHNzuwBYdptlReatt7vAyOdNTkdVg7CR\/Oea8aKGTVt1fXVYP2dSvxBGW4Em\/b8hn5KtAAGAMAKx7itzMcV28sb4Vp39\/sfqIvKpqI6SmlqZncMcTS5x8AqzW3ZXZORH43+kGV4HE2jg4cnsJHZ6uPuqhTWjYXy01VdZgOlrZic47AfzJ+SpVOetuhn2bOGJ\/M2wvGqqY6OllqZThkTC4+i9lOazqZRQU9vgOJK2UM7dwOzbxIXIq7sWVp9nTcj40dTOnZU3qoAM9W8gEA7NB3xnvP0C+biPhNeW6oB4W1EZY44+8dx+LVRUlMyjpIqaMAMiYGjA7gp7VQ4L3YpRzFRggcyOJn8+qmnimzLUp9nQXVNPzuU6IiqN4REQBERAEREAREQBERAEXy97I2F8jgxrRkuccALAq9YUjZvhrdBLXznYCIdX59voFJRb0K6lWFPiZQrIrtTWuhnbTumM0rnBpZCOIt8+z8VlfZN\/vz+K61PwVMf8CI7ken4k+S27dYbZawDTUzekH+I\/rO+Z5eilaK1dylTq1OBWXV+xooiKs1BERAEREAREQBERAFMaqqJ62pprDROPSTkOmc39VnLfw5k+Q71v11ZFQUUtVM4NZE3Jz7D5rD0tSSVUlRfqtv6arcejB34Wctu3sx5BWQy3jLXeNqkuevh\/cjfpqeOkpoqaFvDHE0NaPAL1RFWaUrKyCm9X1Ur4aez0p\/TVzw089m5\/P2BVG5wa0ucQABkk9imLAPti\/1d8fH+iZ+ipiRjblnl3ePaVOGW90M+0NtKmtZenMoqSmZR0kVNGAGRMDRgdwXsiKBoSSVkFLPzdNesbjiht0eTttxY7\/Mj\/Kqhzg1pc4gADJJ7FM6Oa6qkuN1eDmqnIbnsAyfxA9FZHJNmavvThDvv9P2U6mNR\/pdS2KL9mUv\/wDZp\/hVOpiuzU6+oYx92ngLnZ7+t\/suU9bndpzgl1a9SnREUDSEREARc8tdSwVEdPLOxs0n3WZ3OxOfLqnfwXQhxNPQIvOaeGnYZJ5WRMHNz3Bo91k1WrbLSg\/2vpnD9WJpd78vddUW9CM6kIcTsbSKWOp7rcMC0WaRzXcpZuX4D3X79kakuRJr7qKWM79HT8x4bY+pU8FtXYo+JUv44t+n1Zt1t3t9uaTVVccZAzw5y4+g3WJNq2asLobHbpql4OOlc3qjx\/5wuyi0haKM8b4TUyZzxTni9uXstpjGRsDI2hjWjAa0YAS8F3jDXnq1Fd2b+pMxaauF0Ilv9xkeNiKeE4aPPs+Q9VvUFso7bF0dHTsiHaQN3eZ5ldSKLk2WU6EIO6WfV6hERRLgiIgCIiAIiIAiIgCIvKpqI6SmlqZncMcTS5x8Ahxuyuyb1C596vVPYIZOCNv6WocOzbIHy+oVNFEyGJkUbQ1jGhrWjsA5BTmjqd8zaq8z5MtZIeHJ5NB39\/oqZWTy3ehm2dYk6r1l6cgiLzmmjp4XzTPDI2DLnOOwCrNWhg6ruEgiis9JvVV3V5\/daTj33Hlla9roI7Zb4qWJoAYMux2uO5WFpuF91udTqCoZ99xZTA\/qtG3f3bcu9VCslksJloLHJ1Xz08P2ERFWajK1NWfBWCqkBIe9vRtx3u2+mV+6co\/gbDSxEYc5nG7zdv8AjhZery6sq7ZaW5xUTcT98bDb8T8lTgADAGAFY8oJGWG9Xk+it+X+D9UvZc1ms7vV9kI6Hy3A\/gKoKutpqKIyVE8cYAyA54BPllRenNQ0Fpop31HSy1VTKXFkTOzs3OO3K7CLcXYhtFSCqQUnkrv+\/UvEUt\/WK+V+1tshY08pJycefYO3vK\/fsnU1w\/727NpY3HPBANx4ZGPHtK5gtqyz4lS4It\/b1KKorKakbxVNRFCO+R4b9Vi1WtbNT7RySVBx\/hs\/E4XzTaJtkb+kqnTVbzzMj8An03915angorTp90FHSxRSVLmxN4GDiPafE7DHquxUL21K6lSuoOWSS82SdS25XJ094dSy8Jf0gm34WNBxgd+Nh6eapqWj1LeqaKplu7KaCVoc3oR1sHyx39606mhFJo2ajPOKjdnb9YNyfdfuknh+maMjsDgfRxU5TvG6M9LZsNTDJvNXedszkh0TQF3SVtTUVch5lz8A\/j7rWpbJa6LHw9DC0t5OLeJ3zO67kVLnJ6s3woUocMUERFEuCIiAIiIAiIgCIiAIiIAiIgCIiAKX1ZUS11TS2CkP6SocHzEb8Lc7Z9z6BUz3tjY57zhrQST3BTGlY\/tG4199lYQZX9HDxdjf+MD5qyGW90Mu0b1qS+b05lJTU8dJTRU0LeGOJoa0eAXqiKs0pWVkFNarqJqqWlsdKSJatwLyOxnz5bE+i2qi6W+l\/v62CM4zh0gz8lGW3UVC281l4rzKZXdWCJjclrfPOOStpxetjHtVWFlTb118OZc01PHSU0VNC3hjiaGtHgF6qX\/rVca3H2XZJpGu5SS54fbbv7U+F1dcM9NVwUDCd2R4JHljP1XMD5smtoja1OLfgvcpJp4adhknlZEwc3PcGj3WPWaws9JkNnNQ\/wDZhbn35Lmh0VSukMtxraitkPa53CD9T7rZpLRbqHBpqKGNwOQ4Ny75ndNxd4vtEtEo\/dkWblcbzqdtdbaHikp4+FjJeTRuMnl+0StgWjUtwwa68ClYRuyAbjw2x9Sv3SB+Lqrpczv08\/C0+G5x7hU6lOdnZIo2eh2kMcpN3b7vQg9Q6dobPaum6aaoq5XhjXPdzPMkDyGO3mqy02qnttFAxtPG2ZsYD5AwBzjjfJ81jXZ32nrK328HiipR00jc7Z57j0b81Urk5PCkydClBVJSisll7hERVG4KXumLprOhoCOKKjb0sgO4zz5ejeff86hS+lf7ddrrdiOrJJ0cZ8Of04VZDK7M1fecafV\/ZZm9c\/8AxVX\/APA\/\/SVmaNGNNU\/i5\/8AqK7r48MsNeXcvh3j5tIXLpJhZpmjDueHH5vJXPk8w\/8AYXg\/VGyiIoGkIiIAiIgCIiAIiIAiIgOWpudDRyiKpq4YXuGQ2R4bt37+S\/WXGhkGWVlO4fuytP4rkuWnbbdZ+nqonmThDeJryNguI6IsxGOCYePSKaULZszylXUnZK3ia7rpb2Z46+mbjnmZox7rwk1BZ4geK5U5x+y8O+in6n+j+I5NJXvb+7KwH3GPouKKw3G0EGeyU9yjb+sxxLu\/l\/8AnuU1CD5meVfaYvOFl9fQo5NYWOPYVZef3Y3fkuR2urc48MFLVzO7gwD8V4UF903x9FPbI6CUYz0kDcfPGfmqelmpqiESUskckZP3oyCM+i41GOqJQnUq8M15L3ZG3vVVZV0TqOO2TUoqhwNkkJy4ZGQBjuOPVdFvj1ZTUMVHT0dNTxRjhDnkZ7yTue3wXvLm667jjwXQ29gc7bbi5j3I+SqV2UlFJJEKVKVScpym8sssv7mTH2Rqmo\/7i9xxA7kRN5eGwCf1MM21beayoHdnHnzJVOua4V0NtoZaudwDY2kgZxxHsA8SoqcuRe9mpJXnd+LZF3mxW2CtpbRbo5HVs7gXSPeTwM37B5Z8grChtNDb4Y2QU0LXMAHGGDiJ7881j6VoZp3S32v61TVfcyBszbcd3LHkFSrs5PhuQ2alHOphtfTwCIiqNoXFeKg0tmrJgcOZC7hPjjb3Xap\/W03RadezP97IxnvxfwqUVeSRVXlgpSl3HrpCn+H05Tk85S6Q+p29gFsuc1jC9xw1oyT3BeNBCKa308Abw9HE1uD2YCy9XVppbFJGzeWpIhY0Zyc8+Xh9V3ikQTVGjnyRxaRY6urLhepAQaiQsjyBs3nj\/SPRVK4bNbxbLTT0gADmNy\/Ha47n3XcuTd5EqEHCmk9efiERFEuMvUdcLfYqmUHD3N6Nm2dzt+Z9E05Q\/Z9ipoSMPc3jfvnd26ydQE3bUdBZmuzFGemnGNv5x\/qVUrHlFIyw360pcll7mHrCYw6bqAM5kLWZHmM+wXfZ4fh7NRxEYLYGZ88b+6xdakztt1vBP9pqOQ2zjA5\/\/ZUwAAwBgBHlBHYZ15PokvyfqIirNIREQBERAEREAREQBERAEREAREQHPV0FHXN4aqmjmH77ckeqwarSNPS8dXbK2ehkY0u6ri4bb+fhzKplkapqfhtOVbgd3tEY358RwfYlTg5XsjPXp03FzktCUsdzuNsbNdpKA1cFS7Es4PWGOfLlz7RurG2X63XZo+GnHSYyYn9V49O30ymn6b4Sw0cJGD0QcR3F3WP1XJctJ22vk6aNppJ8544dsnxHL1CnKUZPMoo061KCwu\/c\/wAP3NxSVwJ1RqBttjcTQUZ453sP3nY7Pp81yXOv1Bp+NtHLWR1XTsLYpBvI07ep7cc+a1NGzWtlsbT0tQHVL+vMx2zuLG+B2geCKOFYjkqqrzVJ5db+hRtaGtDWgAAYAHYv1EVJ6AREQBTGsx0xtlJzE1UOr38h\/F7qnUxqjrX+wNG5FRkjw4mfkp0+IzbV\/E14eqKdSlX\/ANc1pDTBuae2jjeSNi7Y\/XhHoVQ3GtZbrdPVv5RMz5nsHzwsnR9FJDbH1tQ7inrn9K4nnjsz57n1XY5JyOVt+cafm\/BfsoERFWagvwkAZJwAv1ZOpq34GwVMgdwve3o2Y55dt9Mn0XUruxCclCLk+Rm6V\/6hdLneXf4knRRn93n2+HCqhZenKH7PsVNCRh7m8b987u3WopTd5Fezxcaavq835kvXD43XtFD+pSxcbuWc4JH8KqFL6YHx16ut2Jy18nRRn93\/AIDVULs9UuhHZs4ufVv2CIirNIREQBERAEREAREQBERAEREAREQBTGtyZaShpAcdPUjOOfLH8Sp1Mag\/TaqskH7DzJ7g\/wAKnT4jNtX8TXWy+5TNaGtDWgAAYAHYvGsq4aCkkqqh\/DFGMuK91JXGR+p74210zv7DSO4qh4ds\/lt9QPUrkY3eZOtU7OOWr0PXT1LNdrjLqCvZji6tNG4fdb+0Pp8113bS9NXPFTRvNFWNORLHkZwO4HbzC2oomQxMijaGsY0Na0dgHIL7XXN3uiMdnhgwyz9yYodSVFvnFBqGIwSAdSpxlsnnj6\/RUzXBzQ5pBBGQR2rnrrfS3KnMFXC2RpBwSN2+IPYVNOo7vpR5koC6ut3Fl0B3e3bnsNvMeoXbKWmTIYqlHi3o9ea8epXIuC1XmjvFOJKaQcYHXiJ6zPMfiu9QaayZpjJSV4vIKYv\/AF9V2VnLDi7PqPyVOpLVFVHRaktdVKepE1zip0+Iz7W0qd31XqempjLd7pSWKB+Gk9LUHkQ38dsn5KnYxsbGsYMNaAAO4Ke0nRySCovVU3E9a48GRuGZ\/H8AqNcnlu9DuzpyvVesvTkERFA0hS+pD9pX22WduHN4+mmGewe3IO+fzqFK6dzdNR3G7uyY2HoYckEY\/wCAP8yshleXQy7RvYafV\/ZZsqlm6hrPgbFVzZAdwFjfN2w+q0lKaiIvGoKGyNJMcZ6WoDTy\/kf6lyCuye0Tcabtq8l4s1NLUPwFgp2ObwvkHSvyMHJ5e2Frr8a0NaGtAAAwAOxfqi3d3LKcFCKiuQREXCYREQBERAEREAREQBERAEREAREQBTFf1\/6Qba3mG05OO44f\/sqdRGpK+W26tZUwM45RTcLB+8eID6qymrtoybXJRgm9Lo1tT3d8LG2qh69bV9TA5sads+f\/ACtGyWmKzW5lMzDpOckgGON387Li07Y3ULHV1dmS4T9Z7nblmexbq5JpLCiVKEpS7WevJdF7hERQNIREQE5d9OyRTi6WM9BWM3MbcBsnftyz7FdNi1Cy6l9NURfDVsX34XZGfEZ+i2li33T7boWVVNJ8PXRbxyjbOOQOPqrFJNWkZZU5U3jpea6\/s2lAX2tpr5qqkpBnoI5RA5w\/WJdg4+mV61moLq6mNinaIrgZBG+fjDQWnx7Cdt+5et6tUFjprOYgMw1AMkgGC92xJ\/8AVWQjheZk2it20LR0Vr38dPcsoomQxMijaGsY0Na0dgHIL7RFnPVCIiAzNRVvwFiqpgesWcDPN23459F56WofgLBTsc3hfIOlfkYOTy9sLN1RxXS72+yx4LS7pZsZOBy39M\/MKoa0NaGtAAAwAOxWPKCXUyw368pcll+WeNZVR0VHLVSnqRNLisHR9FK+OovNXvUVrjwnubn8T7ALz1DUOvF0g0\/SuywuD6p7SOq0Hl5jn5kKmiiZDEyKNoaxjQ1rR2AcgnDHxC\/y1r8o+v6PtERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiL5c5rGF73BrWjJJOAAgOa53GC1UL6uoPVbsGjm49gCjLKauq1lT1NwZ+knY6ZjXb8LSDw47vBaELH6uvIqZGkWmlOGMOR0jvL138Bhe93xSa0tFSW4bIwwt7s9YfxhXxSjePM8yrJ1Gqnypq3fnr7FOiIqD0wiIgCIiALMv15js1AZSOKaTLYWDtd+QXtdbrTWijdUVDvBjBzee4LEtFsqLxWtvl3G\/OmgxswdhP4fNTjFavQz1ajv2dPif27z4oNIsq7bJLduM11SeIycXWj7vDz+Sxb5PcKW3my3McZhe2Snn\/baMjHjsfTC\/oq4rpaqW70hp6lu3Nrx95h7wpRqZ5lFXY12dqeTt9fE9aCqZW0EFTG7ibKwOz49vuuhQNp1BU6bnktVdCZYIXkZbsY9+Y7wc59Va0VwpLjAJqSdkre3B3b4EdijODi+4uobRGqrfNzR0r4lljghfNK8MjYC5zjyAX05wa0ucQABkk9ikbjcJtUVn2TbCfg2nM845H\/bPz9FyMbk61VU11b0R76VhNwray\/zgcc7zHEP2WjGe\/wAB6FaWoLyy0UJ4DxVUvVgjxkk9+PBfNyutFpq2RxDrOYwMhhzu7G2\/h4rgsdnqquu+3bxvUO3hhI2jHZt2eA7OfNT1eJ6GZNwj2MOLm+l+fsdmm7O+3Uz6qqcX1tX15if1c7499\/FbaIq223dmynBU4qKCIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAKd1nJI21xxnibTSSATvaCSBkY\/kqiXy9jJGlj2hzTzDhkFSi7O5XVhjg431PC301NS0EMVG3hgDQWbbnO+T4rF1pTuda4q2LaSjlDwfA7fXCo15zwx1MEkEreKORpa4d4KRlaVyNSkp03BHxR1cVdRxVUJyyVocPDwXupKzVb9NVktouTuCmLy6nqHbN3+mfY5VY1wc0OaQQRkEdqSjZijV7SOeq1P1EXy5zWNLnuDWjmScAKJcfSzLzfqSzRAynpJnfchYesfyCzK\/VEtTUfAWGL4mc7GbGWN\/nvO3muiz6aZSSivuD\/irg48TnuOQ0+H5\/JWKKWcjLKtKo8NH68l7s5bbZ6q8Vrbxe24A\/uKUjZo7Mj8O3t7lUIijKTZbSpKmsteb6hERRLSa1NbpoJ475QR8U8G0zMZEjORyO3bY+HkuSjstnvMQq7PWS0FRzcxj8lnmM559xwrBYVfpG31dQ6phfLSTuJJdE7Yk8zg8vTCtjPKzZiq7PvYopNPlp5pnKdMVtQwC6XyeWBueNjTgEbc8+u5X5NfKG2xC2afgFVUkYb0fWbnvLu0r6\/qTTyOHxFwq5WZ+7xD8crcoLZR22Lo6OnZEO0gbu8zzK65LnmRhRqXyWHvvd+RkWXTkkVT9p3eT4mudgjJyI\/zPsOzvVCiKqUnJ3Zrp0401aIREXCwIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDlr7dS3ODoauIPbvg8i3bGxWCLBerU9zrPcw+HG0FRv2fLPLlhEUlJrIpnRhN3eT6rUGPWcm3TUkW3MAfkU\/qpW17g68XiWduQeij2b77eyIpdo+RD4aD4m34s36G30lth6KkgbE0nJxzJ8SulEVepoSSVkEREOhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MARITZA SAN LUIS",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REVISIÓN TÉCNICA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56997784962",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:31",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "11:04",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


20/05/2026 12:31:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:51064970

[20/05/2026 12:31:16] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('51064970', 'KY2678', 1, 7373114, 215912, NOW(), 
				'08:00', '11:04', '12:31', 4, 'limpieza rodillos alimentadores', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779294676.png', 'cambio rodillos alimentadores y rodillo de retardo de bandeja 2', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[20/05/2026 12:31:16] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200383

20/05/2026 12:31:16 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200383'                    
				WHERE idllamado = 12661			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


20/05/2026 12:31:17 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12661			
				
20/05/2026 12:31:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


20/05/2026 12: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 = 12661
                

20/05/2026 12: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 = 12661
                

20/05/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 = 12661
                

20/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12661
            GROUP BY l.idllamado;
            

20/05/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 = 12661
                

20/05/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 = 12661
                

20/05/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 = 12661
                

[20/05/2026 12:32:16] 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;
                

[20/05/2026 12:32:17] 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;
                

[20/05/2026 12:32:19] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 12:32:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12661
            GROUP BY l.idllamado;
            

20/05/2026 12: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 = 12661
                

20/05/2026 12: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 = 12661
                

20/05/2026 12:32:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12661
            GROUP BY l.idllamado;
            

[20/05/2026 12:32: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;
                

20/05/2026 12:32:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12661
            GROUP BY l.idllamado;
            

[20/05/2026 12:32:22] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 12:32:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12661
                

20/05/2026 12:32:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12661
                

20/05/2026 12: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 = 12661
                

20/05/2026 12: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 = 12661
                

20/05/2026 12:32:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

20/05/2026 12:32:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

20/05/2026 12:32:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

[20/05/2026 12:32:48] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 12:32:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

[20/05/2026 12:33:20] 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;
                

[20/05/2026 12:33:22] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

[20/05/2026 12:33:23] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 12:33:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

20/05/2026 12:33:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

20/05/2026 12:33:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

20/05/2026 12:33:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

20/05/2026 12:33:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 12:33:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/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 = 12662
                

20/05/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 = 12662
                

20/05/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 = 12662
                

20/05/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 = 12662
                

20/05/2026 13:30:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12659
            GROUP BY l.idllamado;
            

[20/05/2026 13:30: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;
                

20/05/2026 13:30:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12659
            GROUP BY l.idllamado;
            

20/05/2026 13:30:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:30:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:30:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12659
            GROUP BY l.idllamado;
            

20/05/2026 13:30:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:30:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:30:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:30:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12659
            GROUP BY l.idllamado;
            

20/05/2026 13:30:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:30:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:30:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:30:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12659
            GROUP BY l.idllamado;
            

20/05/2026 13:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:30:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12659
            GROUP BY l.idllamado;
            

20/05/2026 13:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:30:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:30:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12659
            GROUP BY l.idllamado;
            

20/05/2026 13:30:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:30:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12659
            GROUP BY l.idllamado;
            

20/05/2026 13:30:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:30:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:30:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:30:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:34:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12659
            GROUP BY l.idllamado;
            

20/05/2026 13:34:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:34:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:34:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12659
            GROUP BY l.idllamado;
            

20/05/2026 13:34:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:34:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:34:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:34:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12659
            GROUP BY l.idllamado;
            

20/05/2026 13: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 = 12659
                

20/05/2026 13: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 = 12659
                

20/05/2026 13: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 = 12659
                

20/05/2026 13: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 = 12659
                

20/05/2026 13:35:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12659
            GROUP BY l.idllamado;
            

20/05/2026 13:35:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:35:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:35:09 - logentry: =========================================
FECHA: 20/05/2026 13:35:09
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-mUd8y1b4Hr5_+bKf2I0IgK_stRIH+DrQgD1onObxVLr5hF7.gvd
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "KY2317",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "180495",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\nreparaciones varias, limpieza general, pruebas varias",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12659",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB2AMcDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xAA+EAABAwMBBAcECAQHAQAAAAABAAIDBAURIQYSMUETIlFhcZGhFDKB0QcVI1KxweHwJEKSwhYzQ2KCotLx\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT\/xAAtEQACAgEDAQYGAgMAAAAAAAAAAQIDERIhMUEEEzJRYXEikaGx4fBigcHR8f\/aAAwDAQACEQMRAD8A\/syIuO7XBlrtk1Y\/BLG9Vp\/mceA81KWdiJSUU2zpZLHI9zGPa5zPeAOcfvC+1O2KOOy2SS53Kbclqj0srnd\/AY7dc+JXl\/iO7XI71ktXSQjI6Sc4BPmB6lW0POxzrtCUU5cvpyynRS52muluG9eLO6OLODJCcjPmR6qgoq2nuFKypppA+N40PZ3HvUOLReu6E3hc+R0IiKpsEREAREQBERAEREAREQBERAFz1tbT2+lfU1MgZGwant7h3r4uNyprXSmoqXhrc4aObj2BT1HR1e1NW24XNhioIzmCn+\/3n581eMc7vgwttw9EN5P9yztsdXdLtWPuM32FAWlsMBGrv936rfX41oa0NaAABgAcl+qsnll64OEcN5YREUGgUltNI24X2itb3ltNCDPUHGgABJz\/AMQf6lWr+ZOqZ7zfqmGm9+ul6MPBOkYOfiMAE+C1qWW2cPbbNMVHzZu0MEu1lxNXVN3LXTO3YIMYD\/3pnyVcxjI2BkbQxrRgNaMALzpKWKipY6aAERxN3WgnK9lSUs+xvTVoWXu3yz8c0OaWuAIIwQeakbhbanZms+tbUSaMn+IpzqGgnj4eo8FXr5exskbo3tDmuBDgeYSMtJNtSsXk1wzzpKqOtpIqmEkxytDm546r2Uzs5KbZda2wSOJbG7pYCfunBx6j1VMklhk02a4ZfPX3CIiqahERAEREBx3S5wWiiNXUNkcwODcRgE6+JC6YpBLEyRuQHtDhnvU7t28iywxN4yVDRjt0P54VG1oYwNHADCs18KZjGbdso9Fj\/J9IiKpsFwXa8UtnpTNUOJdjqRt95377V53u+U9lpw6T7Sd+kUTeLj+QWVZLJUVtX9dXrrzu1hhcNGDkSOXcPjxV4x2y+Dmsteru6+fsfFDZ6y\/1jLrexuwjWGl5Y5Z7vU+CqgABgDAC\/UUSk5GlVSrW3L5fmERFU1CIiAz79VexWOrnGMiMtGe06D8VL7BW8vqJ7g8dVg6NmvM8fTHmtHbucttMNM1pc6eYYA7h8yFs2W3i2WmnpMDeY3LyObjqVsnpr9zglHvO1LyivqzuREWJ3hERATF8zR7XWitGglzC48uONf6\/RU6mNsurJanj3m1IwfL5KnV5eFM5qtrbF6p\/NBERUOkIiIAiIgJjbDr1NogHGSp08wOHxVOpjaD7baqyQfceZPUH+1U6vLwo5qt7bH6r7BYl+2gFs3aWlZ09fNgRxAZxnmfkv2\/bQNtm7S0rPaK6bSOIa7ueBPyXxs9YnUIfXVrjLXzkl73a7g7B39vkpSSWqRFlkpy7uvnq\/L8nnZNnZIp\/rK7v9or3HI3jkR9mO\/8ADkqFEVJScnlm1dca44iERFBoEREAREQEbXSSXD6QKSnkjLI6Ygs3hxwC7e8\/wVkpiEmb6RKgY\/yKYD0b\/wClTrSfT2OXsy3m\/wCTCIizOoIiICY2yG8+1sHvOqhgeSp1LXv+K20tFJxEQ6XjzyT\/AGKpWkvCkc1O9lj9UvkgiIszpCIiAIiICYq+v9IlFy6OmPx0f81sXqtnt9slnpoTNMMNY0NJ1PM4WOPtPpEPPo6by0\/X1VOtJbYOSlNqzDxuzC2dsb6EPr64mSvqNXOcclg7PH9At1Ztbe6a33KCjqQWCduWynRo1xgnyWkqyy92a1KEVoh0CIiqbBERAEREAREQEzTDofpDqy\/I6emG5kYzgM4dvulUymtqYZKKqpL9Ts3n0rg2UAcWHPHzI+K3qOrgr6WOpp3h8cgyD+R71pLdJnLS9M5wfOc\/0z3REWZ1BEWLtNefqu3lkJzVz9SJoPWGf5vh+KlJt4RSyari5S6HBaWm5bY19xzmKmHQxkYwTw\/I+aqVlbO2j6ntTIH7pned+Ut7ez4BaqtN5exn2eDjD4uXu\/7CIiobhERAEREBMUPX+kO4E6hlMAD2aM\/VU6mLFiba69TDrbhDMjgNcY\/6+ip1efJzdm8Lfm39ziutrp7vROpqgacWuHFh7QsW03WptNc2yXh2ToKeo5PHIH99yp1mX2yw3qhMLzuSs1ik+6fkUi1w+Cba5Z7yvxL6+hpop6w3uY1Bs91Bjroeq1x\/1QOfjjzVCqyi08M0rsjZHUgiIoNAiIgCIiA+ZI2SxujkaHMeC1zSNCDxClX2+v2WqjVW1r6q3vOZqcaub3jwHPu17VWIrRlgysqU8PhrhmRR7U2asY0isZC48WTdQj4nT1Xe2uo3DLauAjtEgXhV2O11zy+poonvdxcBuk\/ELOOxNlJyIpR3CQqfgM89oXRP5r\/Z63Pam30LdynkFZUOOGRQneye8j\/6ua0Wevqbk283pw9oa3EMLRowa8fM6LUoLFbba4vpqVjXk533dYjwzw48loJqSWIhVTnJStfHCXH5CIiodIREQBERAERcd3qPZLRVz82ROI8caeqlLJEnpTbMTYv7Ztyq+JmqT1u3n\/d6qnWJshT+z7OU5PGUukPxOnoAttWm8yZh2ZYpjn9yERFQ6DIvthjvEbZI5Ohq4h9lKOWucefPkuWx32d1QbVd29DXM0a5wwJR8\/xVCsu92SG804BPR1EesUw4tPyV1JNYkc1lclLvK+eq8\/yaiKYtG0M9LVC0XxpiqG6MncdJOzPz5+Kp1EouL3NKrY2LK\/4ERFU1CIiAIiIAiIgCIiAIiIAiIgCIiAKe2zqC2ztpGEh9VK1gxwOudfRUK4q61U1xqKWaff3qV++wNOATpxHPgFaLSeWZXRlOtxj1PejpmUdHDTR+7EwMGmM4HFeyIqmiSSwgiIhIREQHDdbRS3eldBUMGcdSQDrMPcsCOvuey0oprkH1tASNypbnMYzwPyz4FVq+JYo5o3RyxtkY4Yc1wyD8FdSxs+DCynU9cXiX7yfFLV09bA2emlbLG7g5pXsparsVfZqg1uz8hc0uzJRuPVPgMjP49i6bbtbS1U3stdE+hqgd0sk90nszy+KOHWJWN+Hpt2f0fsygREVDpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAuO4Wmhuke5WU7ZCBhr+Dm+B4oilPHBEoqSw0Z9ms1wtNW6M3Hp7eGdSN46wP5DwPwREUyeXkypioxwuD\/\/2Q==",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "PERSONAL",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:35",
    "ubicacionGPS": "LatLng(lat: -23.661839, lng: -70.399952)",
    "horaLlegada": "11:05",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "5",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 20/05/2026 13:35:09
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-mUd8y1b4Hr5_+bKf2I0IgK_stRIH+DrQgD1onObxVLr5hF7.gvd
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "KY2317",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "180495",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\nreparaciones varias, limpieza general, pruebas varias",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12659",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB2AMcDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xAA+EAABAwMBBAcECAQHAQAAAAABAAIDBAURIQYSMUETIlFhcZGhFDKB0QcVI1KxweHwJEKSwhYzQ2KCotLx\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT\/xAAtEQACAgEDAQYGAgMAAAAAAAAAAQIDERIhMUEEEzJRYXEikaGx4fBigcHR8f\/aAAwDAQACEQMRAD8A\/syIuO7XBlrtk1Y\/BLG9Vp\/mceA81KWdiJSUU2zpZLHI9zGPa5zPeAOcfvC+1O2KOOy2SS53Kbclqj0srnd\/AY7dc+JXl\/iO7XI71ktXSQjI6Sc4BPmB6lW0POxzrtCUU5cvpyynRS52muluG9eLO6OLODJCcjPmR6qgoq2nuFKypppA+N40PZ3HvUOLReu6E3hc+R0IiKpsEREAREQBERAEREAREQBERAFz1tbT2+lfU1MgZGwant7h3r4uNyprXSmoqXhrc4aObj2BT1HR1e1NW24XNhioIzmCn+\/3n581eMc7vgwttw9EN5P9yztsdXdLtWPuM32FAWlsMBGrv936rfX41oa0NaAABgAcl+qsnll64OEcN5YREUGgUltNI24X2itb3ltNCDPUHGgABJz\/AMQf6lWr+ZOqZ7zfqmGm9+ul6MPBOkYOfiMAE+C1qWW2cPbbNMVHzZu0MEu1lxNXVN3LXTO3YIMYD\/3pnyVcxjI2BkbQxrRgNaMALzpKWKipY6aAERxN3WgnK9lSUs+xvTVoWXu3yz8c0OaWuAIIwQeakbhbanZms+tbUSaMn+IpzqGgnj4eo8FXr5exskbo3tDmuBDgeYSMtJNtSsXk1wzzpKqOtpIqmEkxytDm546r2Uzs5KbZda2wSOJbG7pYCfunBx6j1VMklhk02a4ZfPX3CIiqahERAEREBx3S5wWiiNXUNkcwODcRgE6+JC6YpBLEyRuQHtDhnvU7t28iywxN4yVDRjt0P54VG1oYwNHADCs18KZjGbdso9Fj\/J9IiKpsFwXa8UtnpTNUOJdjqRt95377V53u+U9lpw6T7Sd+kUTeLj+QWVZLJUVtX9dXrrzu1hhcNGDkSOXcPjxV4x2y+Dmsteru6+fsfFDZ6y\/1jLrexuwjWGl5Y5Z7vU+CqgABgDAC\/UUSk5GlVSrW3L5fmERFU1CIiAz79VexWOrnGMiMtGe06D8VL7BW8vqJ7g8dVg6NmvM8fTHmtHbucttMNM1pc6eYYA7h8yFs2W3i2WmnpMDeY3LyObjqVsnpr9zglHvO1LyivqzuREWJ3hERATF8zR7XWitGglzC48uONf6\/RU6mNsurJanj3m1IwfL5KnV5eFM5qtrbF6p\/NBERUOkIiIAiIgJjbDr1NogHGSp08wOHxVOpjaD7baqyQfceZPUH+1U6vLwo5qt7bH6r7BYl+2gFs3aWlZ09fNgRxAZxnmfkv2\/bQNtm7S0rPaK6bSOIa7ueBPyXxs9YnUIfXVrjLXzkl73a7g7B39vkpSSWqRFlkpy7uvnq\/L8nnZNnZIp\/rK7v9or3HI3jkR9mO\/8ADkqFEVJScnlm1dca44iERFBoEREAREQEbXSSXD6QKSnkjLI6Ygs3hxwC7e8\/wVkpiEmb6RKgY\/yKYD0b\/wClTrSfT2OXsy3m\/wCTCIizOoIiICY2yG8+1sHvOqhgeSp1LXv+K20tFJxEQ6XjzyT\/AGKpWkvCkc1O9lj9UvkgiIszpCIiAIiICYq+v9IlFy6OmPx0f81sXqtnt9slnpoTNMMNY0NJ1PM4WOPtPpEPPo6by0\/X1VOtJbYOSlNqzDxuzC2dsb6EPr64mSvqNXOcclg7PH9At1Ztbe6a33KCjqQWCduWynRo1xgnyWkqyy92a1KEVoh0CIiqbBERAEREAREQEzTDofpDqy\/I6emG5kYzgM4dvulUymtqYZKKqpL9Ts3n0rg2UAcWHPHzI+K3qOrgr6WOpp3h8cgyD+R71pLdJnLS9M5wfOc\/0z3REWZ1BEWLtNefqu3lkJzVz9SJoPWGf5vh+KlJt4RSyari5S6HBaWm5bY19xzmKmHQxkYwTw\/I+aqVlbO2j6ntTIH7pned+Ut7ez4BaqtN5exn2eDjD4uXu\/7CIiobhERAEREBMUPX+kO4E6hlMAD2aM\/VU6mLFiba69TDrbhDMjgNcY\/6+ip1efJzdm8Lfm39ziutrp7vROpqgacWuHFh7QsW03WptNc2yXh2ToKeo5PHIH99yp1mX2yw3qhMLzuSs1ik+6fkUi1w+Cba5Z7yvxL6+hpop6w3uY1Bs91Bjroeq1x\/1QOfjjzVCqyi08M0rsjZHUgiIoNAiIgCIiA+ZI2SxujkaHMeC1zSNCDxClX2+v2WqjVW1r6q3vOZqcaub3jwHPu17VWIrRlgysqU8PhrhmRR7U2asY0isZC48WTdQj4nT1Xe2uo3DLauAjtEgXhV2O11zy+poonvdxcBuk\/ELOOxNlJyIpR3CQqfgM89oXRP5r\/Z63Pam30LdynkFZUOOGRQneye8j\/6ua0Wevqbk283pw9oa3EMLRowa8fM6LUoLFbba4vpqVjXk533dYjwzw48loJqSWIhVTnJStfHCXH5CIiodIREQBERAERcd3qPZLRVz82ROI8caeqlLJEnpTbMTYv7Ztyq+JmqT1u3n\/d6qnWJshT+z7OU5PGUukPxOnoAttWm8yZh2ZYpjn9yERFQ6DIvthjvEbZI5Ohq4h9lKOWucefPkuWx32d1QbVd29DXM0a5wwJR8\/xVCsu92SG804BPR1EesUw4tPyV1JNYkc1lclLvK+eq8\/yaiKYtG0M9LVC0XxpiqG6MncdJOzPz5+Kp1EouL3NKrY2LK\/4ERFU1CIiAIiIAiIgCIiAIiIAiIgCIiAKe2zqC2ztpGEh9VK1gxwOudfRUK4q61U1xqKWaff3qV++wNOATpxHPgFaLSeWZXRlOtxj1PejpmUdHDTR+7EwMGmM4HFeyIqmiSSwgiIhIREQHDdbRS3eldBUMGcdSQDrMPcsCOvuey0oprkH1tASNypbnMYzwPyz4FVq+JYo5o3RyxtkY4Yc1wyD8FdSxs+DCynU9cXiX7yfFLV09bA2emlbLG7g5pXsparsVfZqg1uz8hc0uzJRuPVPgMjP49i6bbtbS1U3stdE+hqgd0sk90nszy+KOHWJWN+Hpt2f0fsygREVDpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAuO4Wmhuke5WU7ZCBhr+Dm+B4oilPHBEoqSw0Z9ms1wtNW6M3Hp7eGdSN46wP5DwPwREUyeXkypioxwuD\/\/2Q==",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "PERSONAL",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:35",
    "ubicacionGPS": "LatLng(lat: -23.661839, lng: -70.399952)",
    "horaLlegada": "11:05",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "5",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


20/05/2026 13:35:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[20/05/2026 13:35:09] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76121841', 'KY2317', 2, 21773342, 180495, NOW(), 
				'08:00', '11:05', '13:35', 5, 'Mantenimiento
reparaciones varias, limpieza general, pruebas varias', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779298509.png', '', null, 'COMPLETADO','LatLng(lat: -23.661839, lng: -70.399952)' )
				
[20/05/2026 13:35:09] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200384

20/05/2026 13:35:09 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200384'                    
				WHERE idllamado = 12659			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


20/05/2026 13:35:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:35:09 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12659			
				
20/05/2026 13:35:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


20/05/2026 13:35:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:35:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12659
            GROUP BY l.idllamado;
            

20/05/2026 13:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13: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 = 12659
                

20/05/2026 13: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 = 12659
                

20/05/2026 13: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 = 12659
                

20/05/2026 13:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12659
            GROUP BY l.idllamado;
            

20/05/2026 13:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12659
            GROUP BY l.idllamado;
            

[20/05/2026 13:35: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;
                

20/05/2026 13: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 = 12659
                

20/05/2026 13:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

20/05/2026 13:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12659
                

[20/05/2026 13:35:13] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

[20/05/2026 14:03: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;
                

20/05/2026 14: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 = 12660
                

[20/05/2026 14:03: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;
                

20/05/2026 14: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 = 12660
                

20/05/2026 14:03:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 14: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 = 12660
                

20/05/2026 14: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 = 12660
                

20/05/2026 14:03:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 14:03:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 14: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 = 12660
                

[20/05/2026 14:03: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;
                

20/05/2026 14:03:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 14: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 = 12660
                

[20/05/2026 14:03: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;
                

20/05/2026 14: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 = 12660
                

20/05/2026 14: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 = 12660
                

[20/05/2026 14:03: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;
                

[20/05/2026 14:03: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;
                

20/05/2026 14: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 = 12660
                

20/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 14: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 = 12660
                

20/05/2026 14: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 = 12660
                

20/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 14: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 = 12660
                

[20/05/2026 14:03: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;
                

20/05/2026 14: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 = 12660
                

20/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

[20/05/2026 14:03: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;
                

20/05/2026 14: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 = 12660
                

20/05/2026 14: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 = 12660
                

20/05/2026 14: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 = 12660
                
[20/05/2026 14:42:16] 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;
                
[20/05/2026 14:42: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[20/05/2026 14:42: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[20/05/2026 14:42:21] 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;
                

[20/05/2026 14:42: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;
                

20/05/2026 14:42:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

[20/05/2026 14:42:39] 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;
                

20/05/2026 14:42:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12663
            GROUP BY l.idllamado;
            

[20/05/2026 14:42:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

[20/05/2026 14:42:55] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[20/05/2026 16:38: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[20/05/2026 16:38:15] 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;
                

[20/05/2026 16:38:17] 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;
                

[20/05/2026 16:38:31] 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;
                

20/05/2026 16:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12663
            GROUP BY l.idllamado;
            

[20/05/2026 16:38:35] 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;
                

20/05/2026 16:38:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

[20/05/2026 16:38:37] 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;
                

20/05/2026 16:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

20/05/2026 16:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

[20/05/2026 16:38:42] 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;
                

20/05/2026 16: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 = 12662
                

20/05/2026 16: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 = 12662
                

20/05/2026 16:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

20/05/2026 16:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

20/05/2026 16:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16: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 = 12662
                

20/05/2026 16: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 = 12662
                

20/05/2026 16: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 = 12662
                

20/05/2026 16:38:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

20/05/2026 16: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 = 12662
                

20/05/2026 16:38:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:38:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16: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 = 12662
                

20/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

20/05/2026 16: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 = 12662
                

20/05/2026 16: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 = 12662
                

20/05/2026 16: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 = 12662
                

20/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

20/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:39:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

20/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

20/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

20/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16: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 = 12662
                

20/05/2026 16: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 = 12662
                

20/05/2026 16:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

20/05/2026 16:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16: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 = 12662
                

20/05/2026 16: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 = 12662
                

20/05/2026 16:41:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:41:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

20/05/2026 16:41:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:41:58 - logentry: =========================================
FECHA: 20/05/2026 16:41:58
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ht3otGbPNgaF5WGeXdInyiUn1kEAMCQd2YUg7h_HFna_ja_5280
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "51064970",
    "serieinterna": "KY2676",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "361991",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "copias con manchas, se cambia rodillo de carga",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12662",
    "observacion": "copias con manchas, se cambia rodillo de carga ( usado )",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACSAPsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQBAgf\/xABBEAABAwMCAgcFBAcHBQAAAAABAAIDBAURBiESMRNBUWFxgZEUIqGxwSMy0eEHFSRCQ5LCFiUzNFLw8VNicoLS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgECBAMHBAIDAAAAAAAAAAECAxESITFBBDJREyJhkaHB0TNxgeGx8BRCUv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAFHPUQ00TpZ5GxsaMlzjhSLJvZ\/anUTmO962UOxGCOkcfz+A71KMb6lNWo4JJZt6Gmp6qCri6SnmZKztacqZZJ8DNN6ppWUh4aa4HhdEdw05xt6j5LWpJW0FKo53UlmtQiIolwREQBERAEREAREQBEUc08NNEZZ5WRRt5uecAIG7Eigq6ymoYTNVTshYOtxxnw7VQVOqZq2Y0dgpXVUvXM9uGNHb\/AM4815S6SdUz+132rfWTHfo2nDB3fkMKzBbmMrrueVJX8dv3+DyXUNwvL3U2n6Y8I2fVSjAb4fn6K\/t8NVBQxR1k4qJwDxyAYzv\/ALHkpooo4ImxQsbHGwYa1owAF9qLknkkWU6ck8U5Xfp5BERRLgiIgCIiAjnnipoHzzPDI4xxOceoLK0zLpqqWWr9rkoaEAsibHzd1HPrv+S6NUVDq6qpbBARxVLg6U5+60bjl4E79gWhpqeOkpoqaFvDHE0NaO4Kxd1X3Zkku2qOP+q18X+ijsNZWQXess1fUmofC0PjkcN3NwPxB8SVoVmKL7X9INe7qjpwM9+GfmtOuT1JcM3ha6Nr1CIigaSs1HW+wWKqmBw8s4GbZ3dt9cr40xQigsFMzg4XyN6V\/aS7ffywPJVmrM19ztdoadpZOkkHdyz6cS1DWhrQ1oAAGAB1Kx5QS6mWHfryl0y92ZnVxMddZpwcdHU\/e7N2\/gtOsvrTDv1ZGM8TqnbHPq5eq0dTUxUlO+ed4ZGwbko+VCm7Val\/D+CVFQ0Wr7fW1kVOI5oumOI3yNwHHJGP99qvlBxa1LoVIVFeLuERFwsCIiAIi8JAGScAID1fL3sjYXyODGtGS5xwAqO4atoqaT2eia6vqScNZDuM+PX5ZXE2xXa\/ObNfKroYebaWHbHj2eeSpqG8sjNLiE3hprE\/T8s6K7VsZlNJZ4HV9UeRa0lg7+\/5d6hi0xW3SZtVqCsMhH3aeI4a3uz+Hqr+gttHbIeio4GxNPMjm7xPMrqXcaXKcVBzzrO\/ht+yGlpKeigbBTRNijbya0KZEVZpSSVkEREOhERAEREARFX32rFFZKufIyIy1ue07D5rqV3YjKSjFyexS6eP601NcrsTxRs+xiPFnbtHkPitUqbSlGKPT1P\/AKph0rtsc+Xwwrhzg1pc4gADJJ6lKbvLIp4aLjSTerzf5Mzp49Lqm9yjk14Z55I+i06zGiQZoK+vcPeqak5zzON\/6itOlTmOcL9JPrd+oREUDSZejzcNe1c53ZRRdGw9hxj6uWoWY0b9rJdarmZak79vM\/VadWVNbGbhc6eLq2\/UzF7\/AGvWFnpBv0OZj3b5\/oXzqIm7X+gsjXO6EHpZwBzHj4A\/zL6YS\/8ASG8A7R02+fAfiF5pwCu1HdrmRsH9FGT2f8NHqp6K\/RGV9+Tj\/wBS9EWd7skNztDqWONrZIm5gIGOEjq8DyXxpe5G5WWNzyTNCeik4hgkjr9CPirhZizZodYXWhBAZMBO0Y6zg\/1FQWcWjTNKFWMlvk\/Y06IirNQRVNw1JbbfxMM4mnAOIoveOR1E8h5qpdDqHUmOmP6roj+4M8bh39Z+A7lNQeryM868U8Me8+i9+hZ3PVFutzjE15qajOBFDvv2E9XzVabdfNSYfcZTb6InIp2j3z4\/n6K4tWn7fZxxU8XFLjBlfu4\/h5KzXcSjykeynU+q8ui93ucFtstBamYpIA12MGR27j5rvRFBtvU0RjGKtFWQREXCQREQBERAEREAREQBZnXMpNsp6Rn36icAZ7APxIWmWYuY9u1vbqXILKVnTHPUef0ap0+a5m4rOnhW9l5mkhibDCyJn3WNDR4BV+oqv2Kw1cocGuLOBvi7bb1VmsxrJ7qn2C0xE8dVMC7A5AbfXPkkFeSJcRLBSdix0xSex6epWEEOe3pHZ\/7t\/lhWy+WtaxgY0Ya0YA7AvpRbu7lkI4IqK2C+XODGFx5AZX0oasltHO4bERuI9Fwk3ZGf0G0tsUpP71Q4j+Vq0yz2iGgaeaR1yuJ+CtbvWewWmqqs4McZ4f8AyOw+JCsnnNmbh2o8PFvoUmnuKu1LdrkTlrT0DDnmM\/g0eqaDJfZ6iRxy51Scn\/1aurR1H7Jp+JxGHTkynz2HwAXHoR7I7BUPkcGNbUuJc44A91qnLSVvAopJqVNvfE\/OxqVmKgBv6Qqd2wHsxyfJymrNYUrZvZrbBJcKgnAEY9315nyHms\/VUdwu+qaamu2KaSoiziHHusHEceOx5rkINXud4ivGWFQzaa+3maO4aut9JJ0FMH1tQdgyHcZ7M\/hlcT6PUl\/\/AM1I22Ujv4TT77h34+pHgry22WgtTMUkAa7GDI7dx813qOJLlRd2M6n1ZfhfOpV2vTtutIDoIeOUfxZN3eXZ5K0RFBtvNmiEIwVoqyCIi4SCIiAIiIAiIgCIiAIiIAiIgCzFuzU69uMx3bDCGNz1H3R\/9LTrMaQ+3qrtXH+NU4HduT\/Upx0bM1bOpCPjfyRp1lqUi8a3lqmnigt8fA07EF3L5l3p6XF+uYtNpmqcjpMcEQPW88vTn5Lm0pb30NlY6YfbVB6V5PPflnyx6rscotnKnfqxp9M37F0iIqzUFDVBxpJg37xjdjxwplz1tVS0lM6SrnZDGRjLjj07V1akZWSdym0Q7i0+N8kSvz4qLWcxlp6S1xnD6uUcR7GjrPmQfIqk09fayjt7rdbqE1VS6UuDt+EAgc\/Q9i+6O3Vep79UNu0xHsg4XiIDAOfug8u3fuWjDabkzylWx0I0oK7eXzmXVVqikpGMt9oidXTsaGMbGMsGNuY5+W3eqHTen33eCVlTVyRU0MuHQMO5dgb9g\/JbigtlHbYujo6dkQ6yBu7xPMqi0vmG+3umP\/X4h244nfiFFSSi8JbOlKVSHau6zyWmhe0Fso7bF0dHTsiHWQN3eJ5lUT\/f\/SIzP7lNt6H8Vp1mLf8Aba\/uMnNscAaO44Z+BUIvV+BorRSwRXVGnREVZqCIiAIiIAiIgCIiAIiIAiIgCIiAIiICOaTooJJOfA0u9As\/oWPgsDnZ+\/O53wA+ivLgS221JGMiF5GfAqi0xUx0Gjva5MlrDI8jt35KxcjMs2lXi3sn7Ed6\/vjVVFaeEPhpx004z54Plj+ZalYnTl0oKJlTdLnXMFVWPJ4G5cQ0HsHLJ6j1ALufqivuDujslqllGSDLM3DQfXA8ypSg9FsU0a8EnNvOW2rtsackAZJwAqiv1TaaAEOqRNIBkMh97Pny+Krm6dvF0w69XV4jcN4IDgefV8Cre32C2Wwh1NTN6QDHSP8Aed6nl5KNorV3LsdafKsK8dfIpxddSXnAt9CyhheNppjk+IyPoVLTaPjle2e71k9dMOYLzw+Hb8lpUXMb2yOrhovOo8X308jH2OqZZX36J3ux0ry+NvV1gDH8qsNG0boLOaqXBlrHmRx7uQ+p81ndQ0c82r5aKF3AK4xg55YwN\/UZ8lvoYmU8EcMYwyNoa0dwGFZUeX3M3CxbqNPSF0vy\/gkWYo\/sP0g1rM7TU4Iz24b+BWnWYuX7Nry2zk4bNEY9+33h9Qq4brwNPEZYZdGvg06zGmy2p1Heqph9wSBg257nf4fFaOeZtPTyTP8AuxsLjvjYDKz+h4iLNJUP3fPO5xPaBgfPKR5WxUzrQj93\/fM0iIigaQiIgCIiAIiIAiIgCIiAIiICGespqUZqKiKLbPvvA2VdLqqyQ5Dq9jiP9DXO+QUlx0\/b7pVtqayNz3tYGYDyBjJPV4qKTSlkkjLPYWt68te4EeeVNYNzPN8Rd4Evzc5Jtc2iPPAJ5dtuGPGfUhRjVdfVf5Cw1ErTye\/IHwH1Xj9ExwSGW23OppHnkc58sjBXos2p4N4L6x5HISjIx5gqy1Pb1MrfFX73pb3ZDWT6sqqObpaano4OjdxnILuHBz1lZmgpJrm6joIauR4kc4vh3DYmg8+zJ3PLs7Voq+66ms1N0leyjmie7gyeZ8MEfJVGmLtBZJKiSehmkfs10jBvG3rBB7wPRWRuotoyVcEqsVJvxv8Ao2NHpez0eCyjZI4fvS+\/8DsrYNDRhoAHYFQwa0ss2OOaSEnqkjP0yrCG+WqoOIrhTk5wAZACfIrPJT3PVpzoJWg0d6LwEEZByCvVA0BeOcGtLnEAAZJPUvVmtUVc9XUQWCi3kqcGZwGeBmfyJPd4qUVd2KqtRU44ijpbjJPrCnuz2O9nnnMMTnDbGOHb1HxX6Cs1fbDFHpYQUrcPo2h7XAYLsfeJ8efiAray3Jt1tcNWMcThiQDqcOanO0kmjNwylTm4Tebz+TvWX1l+zS2u45I9nqMHHfg\/0lahU+qqX2vTtU0Y4o29ICRy4dz8MqMHaSL+Ji5UpW\/tszn1dXdHaxQwHiqK1wjY1pGSCd\/Xl5q0tVELfa6akHONgDuXPmfjlZjS0VVeLi2613E6OkjbFBxZwXYwSPiT3nuWzXZ91YSvh32knWe+S+wREVZrCIiAIiIAiIgCIiAIiIAiIgCIiAIiz2pbrKJI7LQ5dV1YwXA\/4bT9efgF2Ku7FdSoqccTOMt\/tNqkknjt9vOMb8Mjvlz+A71LaHNotaXWkLgPaAJW9WT97+o+iurPbIrRbo6WMDIGZHD95+NyqPVAdbbxbr2wO4GO6Kbh\/wBP5gu9ArU8Twoxyg6cVVlre7\/j0NFPb6Kpz09JBLnmXxgqum0pZZh\/kxG4cnRvLSPjhXAIIyDkFeqpSa0ZslSpy5kmZYaautqIdZbq7gBJ6Cf7p+nwC9GpLrbcNvNpeGDAM8O7fHrHLv8Ay1C8IBGCMgqeO\/MrlX+Ph+nJr1XkylOrLSbfLVx1HEYh\/gn3Xk5wMA8\/ELn0nb5Qya8VmTU1x4hkcmE527jt6BVNRbqTUepXw0MTIaSAHp5ogAXO7R54HqV3st2o7E79gqG3CkaMiGXZwHYPyPkptJKyebMsalSU1Oauo9OvWxqSARgjIKyVLI7SN3kpqjP6sq38UUnUx3f8vIFd1Bq+imk9nr2voakbObKMNz49Xmrmopqavp+injZNE7BwdwewqCvHKSNMsNZKVN5r+2YNbStpvaTUxdBjPScY4fVZisrqnVdabbbXOjt7CPaKjGOIdg+g6\/BdrdE2dsoeWzOAGzC\/b5ZV3TUsFHTtgpomxRM5Nal4xzWpxwq1e7PJb23\/AEZ\/Q7y221NK770FQQQdiAQOrxBWmWY02Oj1FfIm7M6UOwOWcu\/FadcqcxLhfpJdLryYREUDSEREAREQBERAEREAREQBERAERc9fWx26hlq5Q5zIm5IaMkpqcbSV2cl9vEdnoTIfemky2Fna7HyXHpqyyUcbq+4DjuFQS5znblgPV49vouOy0FTfK\/8AXl1biMH9lgPIDqPh8+fYtWrJd1YUZaadWXay02+fgLhvNubdLXNSkDic0mMnqd1FdyKCdnc0yipJxZQaRuTqu2GknyKijPRvB546vljyV+s5drPV0lwN5srQak7SwnZsg6zjbPVt3Z5qKPW8TGiKrttVHVDnG0A8vEgjkepWOOLOJlhWVFYKuVt+pqFmL7eJa+qZZLPJxTSktnladox1jPz9OtRzVF+1GeipIH22id96WTZz2kdX5equrRZKOzQdHTMy9w9+V33n\/gO5cSUM3qJSlX7sMo7v4+SS1WuntFE2mpxtzc483ntK7URQbvmzXGKirLQ47haaG6R8FZTtkIGGv5Ob4Hms863XbS56a2SOraEZc+nfzaO3v8R6LWopKbWWxTUoRm8SyfVFRatTW27cLI5einP8KXYk93UfJW6qrlpu13RxfPBwSnOZIvdcfHt81Wt0xdKN3933yVkZ5xvBwPDc9Xd1BdtF6OxBTrwylHF4r4YsIP8Aa29Fow3Iz1b5\/wCVp1WWezMtLZXGYz1E7uKWZzcFxyT9VZqM2m8idCDhC0tc\/VhERRLwiIgCIiAIiIAiIgCIiAIiIAvHNDmlrgCCMEHrREOPQAADAGAF6iIdQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/\/Z",
    "razonSocial": "FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MARITZA SAN LUIS",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REVISION DE IMPRESORA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56997784962",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:42",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "11:04",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 20/05/2026 16:41:58
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ht3otGbPNgaF5WGeXdInyiUn1kEAMCQd2YUg7h_HFna_ja_5280
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "51064970",
    "serieinterna": "KY2676",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "361991",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "copias con manchas, se cambia rodillo de carga",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12662",
    "observacion": "copias con manchas, se cambia rodillo de carga ( usado )",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACSAPsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQBAgf\/xABBEAABAwMCAgcFBAcHBQAAAAABAAIDBAURBiESMRNBUWFxgZEUIqGxwSMy0eEHFSRCQ5LCFiUzNFLw8VNicoLS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgECBAMHBAIDAAAAAAAAAAECAxESITFBBDJREyJhkaHB0TNxgeGx8BRCUv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAFHPUQ00TpZ5GxsaMlzjhSLJvZ\/anUTmO962UOxGCOkcfz+A71KMb6lNWo4JJZt6Gmp6qCri6SnmZKztacqZZJ8DNN6ppWUh4aa4HhdEdw05xt6j5LWpJW0FKo53UlmtQiIolwREQBERAEREAREQBEUc08NNEZZ5WRRt5uecAIG7Eigq6ymoYTNVTshYOtxxnw7VQVOqZq2Y0dgpXVUvXM9uGNHb\/AM4815S6SdUz+132rfWTHfo2nDB3fkMKzBbmMrrueVJX8dv3+DyXUNwvL3U2n6Y8I2fVSjAb4fn6K\/t8NVBQxR1k4qJwDxyAYzv\/ALHkpooo4ImxQsbHGwYa1owAF9qLknkkWU6ck8U5Xfp5BERRLgiIgCIiAjnnipoHzzPDI4xxOceoLK0zLpqqWWr9rkoaEAsibHzd1HPrv+S6NUVDq6qpbBARxVLg6U5+60bjl4E79gWhpqeOkpoqaFvDHE0NaO4Kxd1X3Zkku2qOP+q18X+ijsNZWQXess1fUmofC0PjkcN3NwPxB8SVoVmKL7X9INe7qjpwM9+GfmtOuT1JcM3ha6Nr1CIigaSs1HW+wWKqmBw8s4GbZ3dt9cr40xQigsFMzg4XyN6V\/aS7ffywPJVmrM19ztdoadpZOkkHdyz6cS1DWhrQ1oAAGAB1Kx5QS6mWHfryl0y92ZnVxMddZpwcdHU\/e7N2\/gtOsvrTDv1ZGM8TqnbHPq5eq0dTUxUlO+ed4ZGwbko+VCm7Val\/D+CVFQ0Wr7fW1kVOI5oumOI3yNwHHJGP99qvlBxa1LoVIVFeLuERFwsCIiAIi8JAGScAID1fL3sjYXyODGtGS5xwAqO4atoqaT2eia6vqScNZDuM+PX5ZXE2xXa\/ObNfKroYebaWHbHj2eeSpqG8sjNLiE3hprE\/T8s6K7VsZlNJZ4HV9UeRa0lg7+\/5d6hi0xW3SZtVqCsMhH3aeI4a3uz+Hqr+gttHbIeio4GxNPMjm7xPMrqXcaXKcVBzzrO\/ht+yGlpKeigbBTRNijbya0KZEVZpSSVkEREOhERAEREARFX32rFFZKufIyIy1ue07D5rqV3YjKSjFyexS6eP601NcrsTxRs+xiPFnbtHkPitUqbSlGKPT1P\/AKph0rtsc+Xwwrhzg1pc4gADJJ6lKbvLIp4aLjSTerzf5Mzp49Lqm9yjk14Z55I+i06zGiQZoK+vcPeqak5zzON\/6itOlTmOcL9JPrd+oREUDSZejzcNe1c53ZRRdGw9hxj6uWoWY0b9rJdarmZak79vM\/VadWVNbGbhc6eLq2\/UzF7\/AGvWFnpBv0OZj3b5\/oXzqIm7X+gsjXO6EHpZwBzHj4A\/zL6YS\/8ASG8A7R02+fAfiF5pwCu1HdrmRsH9FGT2f8NHqp6K\/RGV9+Tj\/wBS9EWd7skNztDqWONrZIm5gIGOEjq8DyXxpe5G5WWNzyTNCeik4hgkjr9CPirhZizZodYXWhBAZMBO0Y6zg\/1FQWcWjTNKFWMlvk\/Y06IirNQRVNw1JbbfxMM4mnAOIoveOR1E8h5qpdDqHUmOmP6roj+4M8bh39Z+A7lNQeryM868U8Me8+i9+hZ3PVFutzjE15qajOBFDvv2E9XzVabdfNSYfcZTb6InIp2j3z4\/n6K4tWn7fZxxU8XFLjBlfu4\/h5KzXcSjykeynU+q8ui93ucFtstBamYpIA12MGR27j5rvRFBtvU0RjGKtFWQREXCQREQBERAEREAREQBZnXMpNsp6Rn36icAZ7APxIWmWYuY9u1vbqXILKVnTHPUef0ap0+a5m4rOnhW9l5mkhibDCyJn3WNDR4BV+oqv2Kw1cocGuLOBvi7bb1VmsxrJ7qn2C0xE8dVMC7A5AbfXPkkFeSJcRLBSdix0xSex6epWEEOe3pHZ\/7t\/lhWy+WtaxgY0Ya0YA7AvpRbu7lkI4IqK2C+XODGFx5AZX0oasltHO4bERuI9Fwk3ZGf0G0tsUpP71Q4j+Vq0yz2iGgaeaR1yuJ+CtbvWewWmqqs4McZ4f8AyOw+JCsnnNmbh2o8PFvoUmnuKu1LdrkTlrT0DDnmM\/g0eqaDJfZ6iRxy51Scn\/1aurR1H7Jp+JxGHTkynz2HwAXHoR7I7BUPkcGNbUuJc44A91qnLSVvAopJqVNvfE\/OxqVmKgBv6Qqd2wHsxyfJymrNYUrZvZrbBJcKgnAEY9315nyHms\/VUdwu+qaamu2KaSoiziHHusHEceOx5rkINXud4ivGWFQzaa+3maO4aut9JJ0FMH1tQdgyHcZ7M\/hlcT6PUl\/\/AM1I22Ujv4TT77h34+pHgry22WgtTMUkAa7GDI7dx813qOJLlRd2M6n1ZfhfOpV2vTtutIDoIeOUfxZN3eXZ5K0RFBtvNmiEIwVoqyCIi4SCIiAIiIAiIgCIiAIiIAiIgCzFuzU69uMx3bDCGNz1H3R\/9LTrMaQ+3qrtXH+NU4HduT\/Upx0bM1bOpCPjfyRp1lqUi8a3lqmnigt8fA07EF3L5l3p6XF+uYtNpmqcjpMcEQPW88vTn5Lm0pb30NlY6YfbVB6V5PPflnyx6rscotnKnfqxp9M37F0iIqzUFDVBxpJg37xjdjxwplz1tVS0lM6SrnZDGRjLjj07V1akZWSdym0Q7i0+N8kSvz4qLWcxlp6S1xnD6uUcR7GjrPmQfIqk09fayjt7rdbqE1VS6UuDt+EAgc\/Q9i+6O3Vep79UNu0xHsg4XiIDAOfug8u3fuWjDabkzylWx0I0oK7eXzmXVVqikpGMt9oidXTsaGMbGMsGNuY5+W3eqHTen33eCVlTVyRU0MuHQMO5dgb9g\/JbigtlHbYujo6dkQ6yBu7xPMqi0vmG+3umP\/X4h244nfiFFSSi8JbOlKVSHau6zyWmhe0Fso7bF0dHTsiHWQN3eJ5lUT\/f\/SIzP7lNt6H8Vp1mLf8Aba\/uMnNscAaO44Z+BUIvV+BorRSwRXVGnREVZqCIiAIiIAiIgCIiAIiIAiIgCIiAIiICOaTooJJOfA0u9As\/oWPgsDnZ+\/O53wA+ivLgS221JGMiF5GfAqi0xUx0Gjva5MlrDI8jt35KxcjMs2lXi3sn7Ed6\/vjVVFaeEPhpx004z54Plj+ZalYnTl0oKJlTdLnXMFVWPJ4G5cQ0HsHLJ6j1ALufqivuDujslqllGSDLM3DQfXA8ypSg9FsU0a8EnNvOW2rtsackAZJwAqiv1TaaAEOqRNIBkMh97Pny+Krm6dvF0w69XV4jcN4IDgefV8Cre32C2Wwh1NTN6QDHSP8Aed6nl5KNorV3LsdafKsK8dfIpxddSXnAt9CyhheNppjk+IyPoVLTaPjle2e71k9dMOYLzw+Hb8lpUXMb2yOrhovOo8X308jH2OqZZX36J3ux0ry+NvV1gDH8qsNG0boLOaqXBlrHmRx7uQ+p81ndQ0c82r5aKF3AK4xg55YwN\/UZ8lvoYmU8EcMYwyNoa0dwGFZUeX3M3CxbqNPSF0vy\/gkWYo\/sP0g1rM7TU4Iz24b+BWnWYuX7Nry2zk4bNEY9+33h9Qq4brwNPEZYZdGvg06zGmy2p1Heqph9wSBg257nf4fFaOeZtPTyTP8AuxsLjvjYDKz+h4iLNJUP3fPO5xPaBgfPKR5WxUzrQj93\/fM0iIigaQiIgCIiAIiIAiIgCIiAIiICGespqUZqKiKLbPvvA2VdLqqyQ5Dq9jiP9DXO+QUlx0\/b7pVtqayNz3tYGYDyBjJPV4qKTSlkkjLPYWt68te4EeeVNYNzPN8Rd4Evzc5Jtc2iPPAJ5dtuGPGfUhRjVdfVf5Cw1ErTye\/IHwH1Xj9ExwSGW23OppHnkc58sjBXos2p4N4L6x5HISjIx5gqy1Pb1MrfFX73pb3ZDWT6sqqObpaano4OjdxnILuHBz1lZmgpJrm6joIauR4kc4vh3DYmg8+zJ3PLs7Voq+66ms1N0leyjmie7gyeZ8MEfJVGmLtBZJKiSehmkfs10jBvG3rBB7wPRWRuotoyVcEqsVJvxv8Ao2NHpez0eCyjZI4fvS+\/8DsrYNDRhoAHYFQwa0ss2OOaSEnqkjP0yrCG+WqoOIrhTk5wAZACfIrPJT3PVpzoJWg0d6LwEEZByCvVA0BeOcGtLnEAAZJPUvVmtUVc9XUQWCi3kqcGZwGeBmfyJPd4qUVd2KqtRU44ijpbjJPrCnuz2O9nnnMMTnDbGOHb1HxX6Cs1fbDFHpYQUrcPo2h7XAYLsfeJ8efiAray3Jt1tcNWMcThiQDqcOanO0kmjNwylTm4Tebz+TvWX1l+zS2u45I9nqMHHfg\/0lahU+qqX2vTtU0Y4o29ICRy4dz8MqMHaSL+Ji5UpW\/tszn1dXdHaxQwHiqK1wjY1pGSCd\/Xl5q0tVELfa6akHONgDuXPmfjlZjS0VVeLi2613E6OkjbFBxZwXYwSPiT3nuWzXZ91YSvh32knWe+S+wREVZrCIiAIiIAiIgCIiAIiIAiIgCIiAIiz2pbrKJI7LQ5dV1YwXA\/4bT9efgF2Ku7FdSoqccTOMt\/tNqkknjt9vOMb8Mjvlz+A71LaHNotaXWkLgPaAJW9WT97+o+iurPbIrRbo6WMDIGZHD95+NyqPVAdbbxbr2wO4GO6Kbh\/wBP5gu9ArU8Twoxyg6cVVlre7\/j0NFPb6Kpz09JBLnmXxgqum0pZZh\/kxG4cnRvLSPjhXAIIyDkFeqpSa0ZslSpy5kmZYaautqIdZbq7gBJ6Cf7p+nwC9GpLrbcNvNpeGDAM8O7fHrHLv8Ay1C8IBGCMgqeO\/MrlX+Ph+nJr1XkylOrLSbfLVx1HEYh\/gn3Xk5wMA8\/ELn0nb5Qya8VmTU1x4hkcmE527jt6BVNRbqTUepXw0MTIaSAHp5ogAXO7R54HqV3st2o7E79gqG3CkaMiGXZwHYPyPkptJKyebMsalSU1Oauo9OvWxqSARgjIKyVLI7SN3kpqjP6sq38UUnUx3f8vIFd1Bq+imk9nr2voakbObKMNz49Xmrmopqavp+injZNE7BwdwewqCvHKSNMsNZKVN5r+2YNbStpvaTUxdBjPScY4fVZisrqnVdabbbXOjt7CPaKjGOIdg+g6\/BdrdE2dsoeWzOAGzC\/b5ZV3TUsFHTtgpomxRM5Nal4xzWpxwq1e7PJb23\/AEZ\/Q7y221NK770FQQQdiAQOrxBWmWY02Oj1FfIm7M6UOwOWcu\/FadcqcxLhfpJdLryYREUDSEREAREQBERAEREAREQBERAERc9fWx26hlq5Q5zIm5IaMkpqcbSV2cl9vEdnoTIfemky2Fna7HyXHpqyyUcbq+4DjuFQS5znblgPV49vouOy0FTfK\/8AXl1biMH9lgPIDqPh8+fYtWrJd1YUZaadWXay02+fgLhvNubdLXNSkDic0mMnqd1FdyKCdnc0yipJxZQaRuTqu2GknyKijPRvB546vljyV+s5drPV0lwN5srQak7SwnZsg6zjbPVt3Z5qKPW8TGiKrttVHVDnG0A8vEgjkepWOOLOJlhWVFYKuVt+pqFmL7eJa+qZZLPJxTSktnladox1jPz9OtRzVF+1GeipIH22id96WTZz2kdX5equrRZKOzQdHTMy9w9+V33n\/gO5cSUM3qJSlX7sMo7v4+SS1WuntFE2mpxtzc483ntK7URQbvmzXGKirLQ47haaG6R8FZTtkIGGv5Ob4Hms863XbS56a2SOraEZc+nfzaO3v8R6LWopKbWWxTUoRm8SyfVFRatTW27cLI5einP8KXYk93UfJW6qrlpu13RxfPBwSnOZIvdcfHt81Wt0xdKN3933yVkZ5xvBwPDc9Xd1BdtF6OxBTrwylHF4r4YsIP8Aa29Fow3Iz1b5\/wCVp1WWezMtLZXGYz1E7uKWZzcFxyT9VZqM2m8idCDhC0tc\/VhERRLwiIgCIiAIiIAiIgCIiAIiIAvHNDmlrgCCMEHrREOPQAADAGAF6iIdQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/\/Z",
    "razonSocial": "FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MARITZA SAN LUIS",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REVISION DE IMPRESORA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56997784962",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:42",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "11:04",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


20/05/2026 16:41:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:51064970

[20/05/2026 16:41: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('51064970', 'KY2676', 1, 7373114, 361991, NOW(), 
				'08:00', '11:04', '16:42', 4, 'copias con manchas, se cambia rodillo de carga', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779309718.png', 'copias con manchas, se cambia rodillo de carga ( usado )', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[20/05/2026 16:41:58] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200385

20/05/2026 16:41:58 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200385'                    
				WHERE idllamado = 12662			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


20/05/2026 16:41:58 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12662			
				
20/05/2026 16:41:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


20/05/2026 16:41:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:41:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:41:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:41:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

20/05/2026 16:42:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:42:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:42:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:42:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

[20/05/2026 16:42:01] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 16:42:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

[20/05/2026 16:42:01] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 16:42:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12662
            GROUP BY l.idllamado;
            

20/05/2026 16:42:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

20/05/2026 16:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12662
                

[20/05/2026 16:42: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;
                

20/05/2026 16:42:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

20/05/2026 16:42:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

20/05/2026 16: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 = 12668
                

[20/05/2026 16:42: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;
                

20/05/2026 16:42:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

20/05/2026 16: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 = 12668
                

20/05/2026 16: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 = 12668
                

20/05/2026 16: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 = 12668
                

[20/05/2026 16:42:57] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 16:42:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

[20/05/2026 16:42:57] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 16:42:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

20/05/2026 16:42:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

20/05/2026 16:42:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

20/05/2026 16:42:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

20/05/2026 16:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

20/05/2026 16:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

[20/05/2026 16:43: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;
                

20/05/2026 16:43:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

20/05/2026 16:43:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

20/05/2026 16:43:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

[20/05/2026 16:43: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;
                

20/05/2026 16: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 = 12668
                

20/05/2026 16:43:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

20/05/2026 16:43:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

20/05/2026 16:43:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

[20/05/2026 16:43:04] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

[20/05/2026 16:43:04] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 16:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

20/05/2026 16:43:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

20/05/2026 16:43:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

20/05/2026 16:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

20/05/2026 16:43:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

20/05/2026 16:43:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

20/05/2026 17: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 = 12660
                

[20/05/2026 17:09: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;
                

20/05/2026 17:09:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 17:09:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

[20/05/2026 17:09: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;
                

20/05/2026 17:09:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 17: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 = 12660
                

20/05/2026 17: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 = 12660
                

20/05/2026 17: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 = 12660
                
[20/05/2026 17:12: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;
				
[20/05/2026 17:12: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;
                

[20/05/2026 17:12:28] 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;
                

20/05/2026 17:12:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

[20/05/2026 17:12:39] 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;
                

20/05/2026 17:13:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

[20/05/2026 17:13:19] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                
[20/05/2026 17:28: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[20/05/2026 17:28:46] 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;
                

[20/05/2026 17:28: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;
                
[20/05/2026 17:37: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;
				
[20/05/2026 17:37: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;
                

[20/05/2026 17:37: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;
                

[20/05/2026 17:37: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;
                

20/05/2026 17:37:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12663
            GROUP BY l.idllamado;
            

20/05/2026 17:38:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12663
            GROUP BY l.idllamado;
            

[20/05/2026 17:38:26] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 17:38:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12663
            GROUP BY l.idllamado;
            

20/05/2026 17:38:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17:38:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/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 = 12663
                

20/05/2026 17:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12663
            GROUP BY l.idllamado;
            

20/05/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 = 12663
                

20/05/2026 17:38:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12663
            GROUP BY l.idllamado;
            

20/05/2026 17:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17:38:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12663
            GROUP BY l.idllamado;
            

20/05/2026 17:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/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 = 12663
                

20/05/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 = 12663
                

20/05/2026 17:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17:38:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12663
            GROUP BY l.idllamado;
            

20/05/2026 17:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17:38:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17:38:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/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 = 12663
                

20/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12663
            GROUP BY l.idllamado;
            

20/05/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 = 12663
                

20/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12663
            GROUP BY l.idllamado;
            

20/05/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 = 12663
                

20/05/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 = 12663
                

20/05/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 = 12663
                

20/05/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 = 12663
                

20/05/2026 17:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12663
            GROUP BY l.idllamado;
            

20/05/2026 17:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12663
            GROUP BY l.idllamado;
            

20/05/2026 17:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12663
            GROUP BY l.idllamado;
            

20/05/2026 17:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17: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 = 12663
                

20/05/2026 17: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 = 12663
                

20/05/2026 17: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 = 12663
                

20/05/2026 17: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 = 12663
                

20/05/2026 17:41:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12663
            GROUP BY l.idllamado;
            

20/05/2026 17: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 = 12663
                

20/05/2026 17: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 = 12663
                

20/05/2026 17:41:14 - logentry: =========================================
FECHA: 20/05/2026 17:41:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-yOrh01g7M0X2AqdPHD-6noN8ig249xu+ncFTCr8GzbT0z.a1fNk
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "51064970",
    "serieinterna": "KY2705",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "409845",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "copias manchadas, cambio rodillo de carga",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12663",
    "observacion": "copias manchadas, cambio de rodillo de carga ( usado )",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACXAMcDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABAEAABAwMCAgcEBgkDBQAAAAABAAIDBAURBiESMRNBUWFxgZEiobHBFBUjMkLRFiQzQ1KC4fDxNZKiByU0U3L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQIDBgUEAgMAAAAAAAAAAQIDERIhMQQTIkFRcTJhscHRgZGh8ELhFCNS\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIiAIiIAiIgCIiALCWWOGJ0srwxjBlznHAAWarGpqie41sGn6J\/C+b2537gNbjke7r8gFKKu7FVWpu4358u5yVV\/u9wZU11sxT2+kGeN7RmU5HaD\/AHzVmtVW6vtdNVPbwulYCRnO6itS9DatJvpYGhrCGwsB9\/icAlStppjSWmlgcMOZE0OG+xxvzU5WcbpFFFTjValK+Wfe\/I7ERQ+oL4LPTtZEzpaufaGPGd+WT68utVpNuyNM5xhFylodtfdKG2s4qypZFtkNJ9p3gOZUN+nVq4v2VVwZA4+jGPj1Lyz6Z4ia+9\/rdZLuWSe01ndjkT7h1KxCKNsXRNjaI8Y4ANsdmFPgWWpQt\/Uzyiu139TCkq4K6nbUU8gkjdyIRVy1D6n1bU2uPIpqlnSxs6mnH9CPIIoyVmWUajnHPVZMtKIiiXBERAEREAREQBEURedQ01ocyHgdUVMn3IWc+7J6ur1XUm3ZEJzjBYpOyJdFWJNTXK31Ub7rbBT0cpDWvacubtvnff0BwrLHIyWNskbg5jwHNcDsQeRXXFojTqxqXS5GSIiiWhERAaqmojpKaWpmdwxxNLnHuCrukopqyasvtSMPqnlsY7Gjs7tgP5Vlq6d9S6kskDwJKx4L8\/haDsfXPopv9WtFs\/gp6WLzwB7yrNI9zI3jrXekfX+kV+9f941VRWngDoKb7Wbfn14Plj\/d5q1Ks6PhkqXVt6nZwvrJSGb8mg747s7fyqzJPLh6EtmWJOo\/5enI5rhXRW6ikqpiOFg2GQOI9QGVA6dt01dVyX+5NzLNvTsP7tvUfTGPXrWjUMgu1\/p7S6RrKSmHTVLy4ADxPVtgeLl1VurqeN4pLRTurZ+TQxp4B6c\/L1UlFqNlqymdWEql5vKOnm\/6LIihrHHfDJLUXeaMNkHsQNA9g+X5lTKqas7GyEscb2t3KtdeL9O7b0X7X6O70w\/+qLKQ9N\/1Di6+gpfHGx9PvIpydrdjPRjdzd+b9izoiKs1hERAEREAREQEffbl9VWieqG8gHDGMfiOw\/PyUfpmzNhpxc6xvSV1V9o57xuzO4x2Ht9FzaheLrqC32VgLmMf00+Nxjs7OWf9wVpVj4Y26mWKVSs5PSOS78znrqOKvopaWZgcyRpG\/UeoqG0bUOda5aOTaSklcwjsHV78qwqsaUHDeb8wfdFTsP5novCztTKtBrnde5Z0RFWaQiKJ1NcDbbHPK3HSSDomZ7T1+QyfJdSu7EJzUIuT5EVp8fW2pa+8ObmOI9FASc46sjyH\/JZalqpbrcIdPURHE8h87ydmgb4PuPot1JPT6X0rGZixtQYzJ0ZPtPeer4DuAUBYay7uZUPt1E+orKl+ZKuX7rQOoZ2zzPPs22V6V25dNDzJSUYKk9ZZu2vb66F4DqO0UEbHysgghYGtL3AbD4lV+4a0aWSNtFM+p6NuXzOaQxg7cc\/XCzpdIuqJhVXyrfWTf+sOPCO7P5YXmqw1lFR2ShiYw1coAYwYAaCOod5HoVGKjitqXVZ1t25LhXLr5diPsmmTewbtdZnkTvLhG3Yu35k9Q7h1K4UlDS0EXR0lPHC3rDG4z4nrWdNTx0lNFTQt4Y4mhrR3BbVCU3JmihQhSWmfNhEXNcKptDb6iqccCKMu5Z3xsoal7aSuyA07+u6lu9x5tDuhY49Yz+TQi6NF0pp7CJXj26iQyEnmRyHw96KdTxGfZU1STerz+5YERFA0hERAEREAWuaVlPBJNIcMjaXOPcBleySxwsL5ZGsaObnHAVb1Ze6P6kmp6arhlllIYWxvDiBnJ5eGPNSjFydiqrVjTg5M90hC6qNZep2jpquQtb3NHP3\/AAVmVVt+qbHa7XT0jJZJDFGA7giIy7meeOslZ\/pvTyb09trJW9vCPllTlGUnexmo16NOmouWfPuWdVjSX2lyvdQ3IbLU7A+Lj81hNrXhhe76qqmEA4c4bA96i9O38Wa2vjfQVExkkMhkaNtwBz8veuqEsLIT2mk6sHfJXL8iqQ1\/TO2Zb5nO6hxBQtRqmsutTwT1rrfS9kDST4ZG59wXFSk9Sc9uopcLv++ZdLjqC2WsltTUgyD92wcTv6eaqVyuFXqy5UtDT030eMEvYZOsY+8duWApKzDSNK8SR1bJZs\/tKrIIPdkAefvUPX3OafUdwdRDppp\/1aHh3w3kS3095KshFJ5IzbRVlOKxSVm9Fn+TZbbKbrqWVktU+shpXAzzPb98g\/d5nY4O\/YF9AYxkbAyNoY1owGtGAFw2S0xWa3MpmYdJzkkAxxu\/vZSCqqSxM27NQ3UbtZvUKrUjfrXXVTUuw6K3s6Nux2dy+PF6eas0sgiifI7JDGlxx3KuaIjc631Va\/HHUzknHYP6kpHKLYrcVSEPr9izIiKs1BVrWMsk0VHaYD9pWSgEDc8II+ZB8lZVV\/8AU9e5ALorfDjsHF\/l3uU4a36Gbac4KC\/k7fP4LJTwR01PHBEMMjaGtHcEWxFA0pWyCIom96gprPHwftqp4+zhbzOeRPcupNuyITnGEcUnkSckscLC+WRrGjm5xwFE1eq7NSZBrBK4fhhBfnzG3vUfT6cq7u76XqCpkcXYc2mjdwtZ3Hy7PVTFJYbVRYMFDEHD8ThxH1Pgp2itcyjHXnnFJLz1+xDnVtbWnhtNmnmydpJOXu26+1ZCj1ZcCTUVkNAw\/hi3cPDHh29aswAAwBgBaaitpKQZqamGH\/7eG\/FMX\/KDot51Jv0RARaIpHuElfW1NW\/rJdgH4n3qNFkoJ9Xx0NHTMFLSMD6jLnO4j2HJ8Bjx8FNVWs7NTghkz53DqjYficBV2z1V8nq62ttlC2R1XIeKWTkwZJwMkdvfyCsjjs2zHV\/x1KMYK+eds2XeK3UMBBho6eMj+CJo+S56y\/2qhz09dEHD8LTxO9Aoh2nLzcsG63lwaecUAw35D3FSFDpWz0OC2lEzx+Of2z6cvcq7RWrua1Kq\/BCy8\/hFd1Bqc3Wi+hUVJMyKdwb0sg4eI5BwPd1rspdHVk8EcV1uTzFGAGwQn2QB47Z8vNbqsNr9c0lKB9lQR9IQBycd\/Lm1WhSlLCkolNOjvZylUd7ZdDioLPb7YP1SmbGcY4jlzvU7rqkijlGJI2vHY4ZWaxkkZFG6SRwaxgLnOJ2AHMqq7bN6jGKslZEJe7dYaS3y1dXboeFg5Rt4HOJOw2x1qs6d01JdKKSviq30krJC2EtB5gDfPPrwtt3qJtQtqrkQ6O20bC2IOOON52B8ckegHWrPpemFNp2kbjBezpD38Rz8MK+7hDXM8xQhtFfw8KX38\/gjRd7xYPZvMH0qlzwtqYgM8+vy\/wAqxUdZT19M2ppZBJG\/kR8D2La9jJGFkjQ9rhgtcMgqrV1lqrBUuutkJMXOal3wW93b1+HUq8peTNT3lHPxR\/K+SbvshisVa4czC5o8xj5rn0pF0WmqNu2S1ztu9xK47xdqa6aNq6qndkYa1zetruJux9VKWFnBYaAbf+Ow7d4yjVoW8xGSlXutMPqyQREVZrOO7XBlrtk1Y\/BLG+y0\/iceQ9VGaPoX09rdWT56etd0ricbjfHrnPmuK88Wob\/BaYSTS0ruKpcD177egxntcrW1oa0NaAABgAdSsfDG3Uyw\/wBlZz5RyXfn8HqIirNRWNV6jqbVIyjpY+B8rOLp3bhozjYdqiLVc7DbnmtqpKiur3HLpCzPCe7J959yvUkEMxBliY8jlxNBXjaWnYSWQRtyMHDAMq1Tio2sYp7PUlUx4u11oV39MJqo4ttlqqgfxHbHoD8V4ZtZVg9inpaIdpIJ95PwVoRcxJaIs3M34pv6ZFWOmrzWf6hfpOHGCyIHB28h29S6afRVoh3mZLUOzkmSQjPphWBFzeSC2Wkndq\/fP1IG9UtFZtPVclHSxQv4OAOa0B3tEN58+\/yXTpmlFJp+kZjBezpHZ7Xb\/NR2tpHSUVJQRn7SqqAAMZyBt8SFZI2NijbG37rAAPALrfAvMjCK37tySX3zMlrnmZTU8k8hwyJhe7wAyVsVe1nXfRrN9GYczVbgxrQMkjmfkPNRiruxfVnu4OXQ1aRjmq31l6qG4dVyEMHY0c\/LkP5VZlzW6lFDbqelH7qMNPecb+9dKSd3cjRhgppPX3PCQBknACqdbV1Gqq51soHmO3xH9YqB+PfkPl281tvFznvNY+xWk88ipn6mt6x8j6Kctdrp7TRNpacbDdziN3ntKkuBXepTJuvLBHwrV9fL5IbVFNFbtI\/RKZpZC1zW8Oee+d\/PdTtA1rLdTMaMNbE0AdgwFEa0aXadlIGeF7SR5qXoHB9upnDkYmH3BH4ESgkq7S6L3OhERVmooOqKB9kM4pc\/Q7jjjZ1MeHB3+PNW+xu4rDQHGP1dg9GgLVqOkZWWGrY9uSyMyN7Q5oz\/AH4rh0XcW1dmFMdpKU8B728wfl5K5vFC\/QwQgqW0tcmsixKG1JehaaHhhIdVzezEwbnxx3fFSVZVw0FJJVVD+GKMZcVXbDST3m5O1BXggAltLGRsG77+\/bvyVCKXiehfWm8qcNX+F1JPTtmFooMSYdVTHinfnOTvgeWfipZEUW23dlsIKEVGOiCIi4TCIiAIiIAiIgKxdx9I1vaadzRwsYZBk9ftHl\/KFZ1V9Rn6FqSz3HYNLuie4nYDP5OPorQrJaIzUfHUT1v7IKrQ4v2sHVHDxUttHCw42c\/tz4\/AKS1NdfqmzySMdieX7OLtBPX5Df0WGn7fHYrE01LmxPcOlnc444Seo+AwPHKRyjcjUeOooclm\/YmlWb1fpKqoNms+ZKmQlkkreUY68Ht7+rxWqsvdXf6g22xh7IicS1ZBAA7uz4lTVostJZqfo6duXuA6SQ83n5DuRJRzepxzlXeGn4eb+Pk8sdmistAIGEPkceKWTH3j+QUkiKDbbuzVCKhFRjoiN1DT\/SrBWxdfRFw8W+18lq0vU\/StO0js5LGdGe7hOB7gFLOAc0tO4IwVV9Nyi0XWssMzuEGQyU5d+IdnoAfVTWcWjPPgrRk9Gre6LSiIqzUYTRtmhfE77r2lp8CqDouR1JqOWkc0gvY5hHYWnPyK+gr51VUU1dq+rhtMuRI48crOTA4e3k+JKupZppnn7ZeM6c1qmS9S92rry2lgc\/6qpTmV42Ejt+X99pVsYxscbY2NDWtADQOoLltdsgtNCykpx7I3c483O6yV2KEpXyWhpo03FOUvE9fgIiKBeEREAREQBERAEREBHXu0svFvdTudwSA8Ub\/4XBQsN+u9oAprtbZagMaMVEIJ4hjrPIn0+atagtUXc0NI2ipvarKv2I2gZwCcE488D+isg78NjLXio3qp2fqVusulbqC8w1VBb5J4qUARxvblocet3V7+oKYbp26Xads1+rR0IORTQnbwPUPee9TNjtv1TaYaQnLwOKQg7Fx3P5eSkF2VTlErp7LdYqru3m1yNNNSwUcIhp4mxxjqb8e9bkRVG1JJWQREQ6FD3+xm6sinppegrac5il5eRI3Uwi6m07ohOEZxwy0KzS6rNFM6iv0TqaoZ+9awljxvvgb+nuW+fWlmibmKSWoceTY4yD\/ywpuangqG8M8McowRh7Q7nz5rXBb6KmeHwUcETgMB0cTWn3BTvDWxRgrrJSVvNZ+pW3jUGpPYMf1XQk78WekePj8B4qftdqpbRSCnpm7c3PP3nntK7UUXK6tyJ06Ki8Td31YREUS8IiIAiIgCIiAIiIAiKFvOpKe1uFPCw1VW7ZsTN8Hv\/LmupNuyITqRprFJm+93unstJ0svtyu2iiB3cfkO9R2nbTUSzOvV2BdWSnMbXfu2+HUe7qC8tGn6morRd728S1JAMcJ5R9mR3dnzVlU21FWRnhGVWW8mrJaL3f7kERFWawiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgIq9Ut1rGxQ26sbSxuJ6Z+Pax1YP+PFLRp+jtH2jMzVDhh0z\/vHtx2c0RSxO1irdRx43r+6EqiIoloREQBERAEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MARITZA SAN LUIS",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REVISIÓN DE IMPRESORA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+569977874962",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "17:41",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "11:04",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 20/05/2026 17:41:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-yOrh01g7M0X2AqdPHD-6noN8ig249xu+ncFTCr8GzbT0z.a1fNk
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "51064970",
    "serieinterna": "KY2705",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "409845",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "copias manchadas, cambio rodillo de carga",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12663",
    "observacion": "copias manchadas, cambio de rodillo de carga ( usado )",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACXAMcDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABAEAABAwMCAgcEBgkDBQAAAAABAAIDBAURBiESMRNBUWFxgZEiobHBFBUjMkLRFiQzQ1KC4fDxNZKiByU0U3L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQIDBgUEAgMAAAAAAAAAAQIDERIhMQQTIkFRcTJhscHRgZGh8ELhFCNS\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIiAIiIAiIgCIiALCWWOGJ0srwxjBlznHAAWarGpqie41sGn6J\/C+b2537gNbjke7r8gFKKu7FVWpu4358u5yVV\/u9wZU11sxT2+kGeN7RmU5HaD\/AHzVmtVW6vtdNVPbwulYCRnO6itS9DatJvpYGhrCGwsB9\/icAlStppjSWmlgcMOZE0OG+xxvzU5WcbpFFFTjValK+Wfe\/I7ERQ+oL4LPTtZEzpaufaGPGd+WT68utVpNuyNM5xhFylodtfdKG2s4qypZFtkNJ9p3gOZUN+nVq4v2VVwZA4+jGPj1Lyz6Z4ia+9\/rdZLuWSe01ndjkT7h1KxCKNsXRNjaI8Y4ANsdmFPgWWpQt\/Uzyiu139TCkq4K6nbUU8gkjdyIRVy1D6n1bU2uPIpqlnSxs6mnH9CPIIoyVmWUajnHPVZMtKIiiXBERAEREAREQBEURedQ01ocyHgdUVMn3IWc+7J6ur1XUm3ZEJzjBYpOyJdFWJNTXK31Ub7rbBT0cpDWvacubtvnff0BwrLHIyWNskbg5jwHNcDsQeRXXFojTqxqXS5GSIiiWhERAaqmojpKaWpmdwxxNLnHuCrukopqyasvtSMPqnlsY7Gjs7tgP5Vlq6d9S6kskDwJKx4L8\/haDsfXPopv9WtFs\/gp6WLzwB7yrNI9zI3jrXekfX+kV+9f941VRWngDoKb7Wbfn14Plj\/d5q1Ks6PhkqXVt6nZwvrJSGb8mg747s7fyqzJPLh6EtmWJOo\/5enI5rhXRW6ikqpiOFg2GQOI9QGVA6dt01dVyX+5NzLNvTsP7tvUfTGPXrWjUMgu1\/p7S6RrKSmHTVLy4ADxPVtgeLl1VurqeN4pLRTurZ+TQxp4B6c\/L1UlFqNlqymdWEql5vKOnm\/6LIihrHHfDJLUXeaMNkHsQNA9g+X5lTKqas7GyEscb2t3KtdeL9O7b0X7X6O70w\/+qLKQ9N\/1Di6+gpfHGx9PvIpydrdjPRjdzd+b9izoiKs1hERAEREAREQEffbl9VWieqG8gHDGMfiOw\/PyUfpmzNhpxc6xvSV1V9o57xuzO4x2Ht9FzaheLrqC32VgLmMf00+Nxjs7OWf9wVpVj4Y26mWKVSs5PSOS78znrqOKvopaWZgcyRpG\/UeoqG0bUOda5aOTaSklcwjsHV78qwqsaUHDeb8wfdFTsP5novCztTKtBrnde5Z0RFWaQiKJ1NcDbbHPK3HSSDomZ7T1+QyfJdSu7EJzUIuT5EVp8fW2pa+8ObmOI9FASc46sjyH\/JZalqpbrcIdPURHE8h87ydmgb4PuPot1JPT6X0rGZixtQYzJ0ZPtPeer4DuAUBYay7uZUPt1E+orKl+ZKuX7rQOoZ2zzPPs22V6V25dNDzJSUYKk9ZZu2vb66F4DqO0UEbHysgghYGtL3AbD4lV+4a0aWSNtFM+p6NuXzOaQxg7cc\/XCzpdIuqJhVXyrfWTf+sOPCO7P5YXmqw1lFR2ShiYw1coAYwYAaCOod5HoVGKjitqXVZ1t25LhXLr5diPsmmTewbtdZnkTvLhG3Yu35k9Q7h1K4UlDS0EXR0lPHC3rDG4z4nrWdNTx0lNFTQt4Y4mhrR3BbVCU3JmihQhSWmfNhEXNcKptDb6iqccCKMu5Z3xsoal7aSuyA07+u6lu9x5tDuhY49Yz+TQi6NF0pp7CJXj26iQyEnmRyHw96KdTxGfZU1STerz+5YERFA0hERAEREAWuaVlPBJNIcMjaXOPcBleySxwsL5ZGsaObnHAVb1Ze6P6kmp6arhlllIYWxvDiBnJ5eGPNSjFydiqrVjTg5M90hC6qNZep2jpquQtb3NHP3\/AAVmVVt+qbHa7XT0jJZJDFGA7giIy7meeOslZ\/pvTyb09trJW9vCPllTlGUnexmo16NOmouWfPuWdVjSX2lyvdQ3IbLU7A+Lj81hNrXhhe76qqmEA4c4bA96i9O38Wa2vjfQVExkkMhkaNtwBz8veuqEsLIT2mk6sHfJXL8iqQ1\/TO2Zb5nO6hxBQtRqmsutTwT1rrfS9kDST4ZG59wXFSk9Sc9uopcLv++ZdLjqC2WsltTUgyD92wcTv6eaqVyuFXqy5UtDT030eMEvYZOsY+8duWApKzDSNK8SR1bJZs\/tKrIIPdkAefvUPX3OafUdwdRDppp\/1aHh3w3kS3095KshFJ5IzbRVlOKxSVm9Fn+TZbbKbrqWVktU+shpXAzzPb98g\/d5nY4O\/YF9AYxkbAyNoY1owGtGAFw2S0xWa3MpmYdJzkkAxxu\/vZSCqqSxM27NQ3UbtZvUKrUjfrXXVTUuw6K3s6Nux2dy+PF6eas0sgiifI7JDGlxx3KuaIjc631Va\/HHUzknHYP6kpHKLYrcVSEPr9izIiKs1BVrWMsk0VHaYD9pWSgEDc8II+ZB8lZVV\/8AU9e5ALorfDjsHF\/l3uU4a36Gbac4KC\/k7fP4LJTwR01PHBEMMjaGtHcEWxFA0pWyCIom96gprPHwftqp4+zhbzOeRPcupNuyITnGEcUnkSckscLC+WRrGjm5xwFE1eq7NSZBrBK4fhhBfnzG3vUfT6cq7u76XqCpkcXYc2mjdwtZ3Hy7PVTFJYbVRYMFDEHD8ThxH1Pgp2itcyjHXnnFJLz1+xDnVtbWnhtNmnmydpJOXu26+1ZCj1ZcCTUVkNAw\/hi3cPDHh29aswAAwBgBaaitpKQZqamGH\/7eG\/FMX\/KDot51Jv0RARaIpHuElfW1NW\/rJdgH4n3qNFkoJ9Xx0NHTMFLSMD6jLnO4j2HJ8Bjx8FNVWs7NTghkz53DqjYficBV2z1V8nq62ttlC2R1XIeKWTkwZJwMkdvfyCsjjs2zHV\/x1KMYK+eds2XeK3UMBBho6eMj+CJo+S56y\/2qhz09dEHD8LTxO9Aoh2nLzcsG63lwaecUAw35D3FSFDpWz0OC2lEzx+Of2z6cvcq7RWrua1Kq\/BCy8\/hFd1Bqc3Wi+hUVJMyKdwb0sg4eI5BwPd1rspdHVk8EcV1uTzFGAGwQn2QB47Z8vNbqsNr9c0lKB9lQR9IQBycd\/Lm1WhSlLCkolNOjvZylUd7ZdDioLPb7YP1SmbGcY4jlzvU7rqkijlGJI2vHY4ZWaxkkZFG6SRwaxgLnOJ2AHMqq7bN6jGKslZEJe7dYaS3y1dXboeFg5Rt4HOJOw2x1qs6d01JdKKSviq30krJC2EtB5gDfPPrwtt3qJtQtqrkQ6O20bC2IOOON52B8ckegHWrPpemFNp2kbjBezpD38Rz8MK+7hDXM8xQhtFfw8KX38\/gjRd7xYPZvMH0qlzwtqYgM8+vy\/wAqxUdZT19M2ppZBJG\/kR8D2La9jJGFkjQ9rhgtcMgqrV1lqrBUuutkJMXOal3wW93b1+HUq8peTNT3lHPxR\/K+SbvshisVa4czC5o8xj5rn0pF0WmqNu2S1ztu9xK47xdqa6aNq6qndkYa1zetruJux9VKWFnBYaAbf+Ow7d4yjVoW8xGSlXutMPqyQREVZrOO7XBlrtk1Y\/BLG+y0\/iceQ9VGaPoX09rdWT56etd0ricbjfHrnPmuK88Wob\/BaYSTS0ruKpcD177egxntcrW1oa0NaAABgAdSsfDG3Uyw\/wBlZz5RyXfn8HqIirNRWNV6jqbVIyjpY+B8rOLp3bhozjYdqiLVc7DbnmtqpKiur3HLpCzPCe7J959yvUkEMxBliY8jlxNBXjaWnYSWQRtyMHDAMq1Tio2sYp7PUlUx4u11oV39MJqo4ttlqqgfxHbHoD8V4ZtZVg9inpaIdpIJ95PwVoRcxJaIs3M34pv6ZFWOmrzWf6hfpOHGCyIHB28h29S6afRVoh3mZLUOzkmSQjPphWBFzeSC2Wkndq\/fP1IG9UtFZtPVclHSxQv4OAOa0B3tEN58+\/yXTpmlFJp+kZjBezpHZ7Xb\/NR2tpHSUVJQRn7SqqAAMZyBt8SFZI2NijbG37rAAPALrfAvMjCK37tySX3zMlrnmZTU8k8hwyJhe7wAyVsVe1nXfRrN9GYczVbgxrQMkjmfkPNRiruxfVnu4OXQ1aRjmq31l6qG4dVyEMHY0c\/LkP5VZlzW6lFDbqelH7qMNPecb+9dKSd3cjRhgppPX3PCQBknACqdbV1Gqq51soHmO3xH9YqB+PfkPl281tvFznvNY+xWk88ipn6mt6x8j6Kctdrp7TRNpacbDdziN3ntKkuBXepTJuvLBHwrV9fL5IbVFNFbtI\/RKZpZC1zW8Oee+d\/PdTtA1rLdTMaMNbE0AdgwFEa0aXadlIGeF7SR5qXoHB9upnDkYmH3BH4ESgkq7S6L3OhERVmooOqKB9kM4pc\/Q7jjjZ1MeHB3+PNW+xu4rDQHGP1dg9GgLVqOkZWWGrY9uSyMyN7Q5oz\/AH4rh0XcW1dmFMdpKU8B728wfl5K5vFC\/QwQgqW0tcmsixKG1JehaaHhhIdVzezEwbnxx3fFSVZVw0FJJVVD+GKMZcVXbDST3m5O1BXggAltLGRsG77+\/bvyVCKXiehfWm8qcNX+F1JPTtmFooMSYdVTHinfnOTvgeWfipZEUW23dlsIKEVGOiCIi4TCIiAIiIAiIgKxdx9I1vaadzRwsYZBk9ftHl\/KFZ1V9Rn6FqSz3HYNLuie4nYDP5OPorQrJaIzUfHUT1v7IKrQ4v2sHVHDxUttHCw42c\/tz4\/AKS1NdfqmzySMdieX7OLtBPX5Df0WGn7fHYrE01LmxPcOlnc444Seo+AwPHKRyjcjUeOooclm\/YmlWb1fpKqoNms+ZKmQlkkreUY68Ht7+rxWqsvdXf6g22xh7IicS1ZBAA7uz4lTVostJZqfo6duXuA6SQ83n5DuRJRzepxzlXeGn4eb+Pk8sdmistAIGEPkceKWTH3j+QUkiKDbbuzVCKhFRjoiN1DT\/SrBWxdfRFw8W+18lq0vU\/StO0js5LGdGe7hOB7gFLOAc0tO4IwVV9Nyi0XWssMzuEGQyU5d+IdnoAfVTWcWjPPgrRk9Gre6LSiIqzUYTRtmhfE77r2lp8CqDouR1JqOWkc0gvY5hHYWnPyK+gr51VUU1dq+rhtMuRI48crOTA4e3k+JKupZppnn7ZeM6c1qmS9S92rry2lgc\/6qpTmV42Ejt+X99pVsYxscbY2NDWtADQOoLltdsgtNCykpx7I3c483O6yV2KEpXyWhpo03FOUvE9fgIiKBeEREAREQBERAEREBHXu0svFvdTudwSA8Ub\/4XBQsN+u9oAprtbZagMaMVEIJ4hjrPIn0+atagtUXc0NI2ipvarKv2I2gZwCcE488D+isg78NjLXio3qp2fqVusulbqC8w1VBb5J4qUARxvblocet3V7+oKYbp26Xads1+rR0IORTQnbwPUPee9TNjtv1TaYaQnLwOKQg7Fx3P5eSkF2VTlErp7LdYqru3m1yNNNSwUcIhp4mxxjqb8e9bkRVG1JJWQREQ6FD3+xm6sinppegrac5il5eRI3Uwi6m07ohOEZxwy0KzS6rNFM6iv0TqaoZ+9awljxvvgb+nuW+fWlmibmKSWoceTY4yD\/ywpuangqG8M8McowRh7Q7nz5rXBb6KmeHwUcETgMB0cTWn3BTvDWxRgrrJSVvNZ+pW3jUGpPYMf1XQk78WekePj8B4qftdqpbRSCnpm7c3PP3nntK7UUXK6tyJ06Ki8Td31YREUS8IiIAiIgCIiAIiIAiKFvOpKe1uFPCw1VW7ZsTN8Hv\/LmupNuyITqRprFJm+93unstJ0svtyu2iiB3cfkO9R2nbTUSzOvV2BdWSnMbXfu2+HUe7qC8tGn6morRd728S1JAMcJ5R9mR3dnzVlU21FWRnhGVWW8mrJaL3f7kERFWawiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgIq9Ut1rGxQ26sbSxuJ6Z+Pax1YP+PFLRp+jtH2jMzVDhh0z\/vHtx2c0RSxO1irdRx43r+6EqiIoloREQBERAEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MARITZA SAN LUIS",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REVISIÓN DE IMPRESORA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+569977874962",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "17:41",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "11:04",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


20/05/2026 17:41:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:51064970

[20/05/2026 17:41:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('51064970', 'KY2705', 1, 7373114, 409845, NOW(), 
				'08:00', '11:04', '17:41', 4, 'copias manchadas, cambio rodillo de carga', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779313274.png', 'copias manchadas, cambio de rodillo de carga ( usado )', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[20/05/2026 17:41:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200386

20/05/2026 17:41:14 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200386'                    
				WHERE idllamado = 12663			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


20/05/2026 17:41:14 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12663			
				
20/05/2026 17:41:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


20/05/2026 17:41:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12663
            GROUP BY l.idllamado;
            

20/05/2026 17:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17:41:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17:41:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12663
            GROUP BY l.idllamado;
            

[20/05/2026 17:41:17] 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;
                

20/05/2026 17:41:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

[20/05/2026 17:41:17] 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;
                

20/05/2026 17:41:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12663
            GROUP BY l.idllamado;
            

20/05/2026 17:41:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17:41:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                

20/05/2026 17:41:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12663
                
[20/05/2026 17:44:25] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[20/05/2026 17:44:25] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[20/05/2026 17:44:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[20/05/2026 17: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;
                

[20/05/2026 17: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;
                
[20/05/2026 17:48: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[20/05/2026 17:48:26] 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;
                

[20/05/2026 17:48: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;
                

[20/05/2026 17:48: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;
                

20/05/2026 17:48:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

[20/05/2026 17:48: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;
                

20/05/2026 17:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

[20/05/2026 17:48:44] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[20/05/2026 17:48: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;
                

20/05/2026 17:49:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

[20/05/2026 17:49:29] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                
[20/05/2026 17:49:49] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[20/05/2026 17:49:49] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[20/05/2026 17:49:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[20/05/2026 17:52:45] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[20/05/2026 17:52:45] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[20/05/2026 17:52:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[20/05/2026 17:56:04] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[20/05/2026 17:56:04] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

20/05/2026 17:56:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 17:56:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

[20/05/2026 17:56: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;
                

20/05/2026 17:56:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 17:56:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

[20/05/2026 17:56: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;
                

20/05/2026 17:56:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 17:56:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 17:56:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 17:56:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 17:56:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 17:56:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 17:56:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 17:56:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 17:56:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 17:56:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 17:56:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 17:56:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 17:56:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 17:56:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

[20/05/2026 17:57: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;
                
[20/05/2026 17:57:04] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[20/05/2026 17:57:04] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[20/05/2026 17:57: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;
                

20/05/2026 17:57:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 17:57:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 17:57:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 17:57:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 17:57:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                
[20/05/2026 17:57:08] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[20/05/2026 17:57:08] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[20/05/2026 17:57: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;
                
[20/05/2026 17:57:12] 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;
                
[20/05/2026 17:57: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[20/05/2026 17:57: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;
                
[20/05/2026 17:57:28] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[20/05/2026 17:57:28] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

20/05/2026 17:57:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 17:57:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 17:57:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 17: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 = 12660
                

20/05/2026 17: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 = 12660
                

20/05/2026 17: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 = 12660
                

20/05/2026 17:57:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 17: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 = 12660
                

20/05/2026 17:57:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 17: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 = 12660
                

20/05/2026 17: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 = 12660
                

20/05/2026 17: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 = 12660
                

20/05/2026 17: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 = 12660
                
[20/05/2026 18:02: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[20/05/2026 18:02:27] 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;
                

[20/05/2026 18:02: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;
                

20/05/2026 18:02:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

[20/05/2026 18:02:40] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 18:02:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

[20/05/2026 18:02:41] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 18:02:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

20/05/2026 18: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 = 12671
                

20/05/2026 18: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 = 12671
                

[20/05/2026 18:02: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;
                

20/05/2026 18:02:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

20/05/2026 18:02:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

20/05/2026 18:02:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

[20/05/2026 18:02: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;
                

20/05/2026 18:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18:02:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

20/05/2026 18:02:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18:02:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18:02:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18:02:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

20/05/2026 18:02:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18:02:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18:02:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18:02:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

20/05/2026 18:02:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18:02:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18: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 = 12671
                

20/05/2026 18: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 = 12671
                

20/05/2026 18: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 = 12671
                

20/05/2026 18:02:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

20/05/2026 18: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 = 12671
                

20/05/2026 18: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 = 12671
                

20/05/2026 18: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 = 12671
                

20/05/2026 18: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 = 12671
                

20/05/2026 18:02:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

20/05/2026 18: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 = 12671
                

20/05/2026 18:02:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

20/05/2026 18: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 = 12671
                

20/05/2026 18: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 = 12671
                

20/05/2026 18: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 = 12671
                

20/05/2026 18: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 = 12671
                

20/05/2026 18:03:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

20/05/2026 18:03:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18:03:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18:03:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18:03:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

20/05/2026 18:03:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18:03:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

20/05/2026 18:03:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18:03:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18: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 = 12671
                

20/05/2026 18: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 = 12671
                

20/05/2026 18:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18: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 = 12671
                

[20/05/2026 18:06:39] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 18:06:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

20/05/2026 18:06:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

20/05/2026 18: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 = 12671
                

20/05/2026 18: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 = 12671
                

20/05/2026 18:06:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

20/05/2026 18:06:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

[20/05/2026 18:06:40] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

20/05/2026 18: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 = 12671
                

20/05/2026 18: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 = 12671
                

20/05/2026 18: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 = 12671
                

20/05/2026 18:06:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

20/05/2026 18:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18:06:49 - logentry: =========================================
FECHA: 20/05/2026 18:06:49
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-FNGiUibnf_YWSKDceQipZ4VtCWaj4TUWkXOXOWJ+1Dp5cUYiRfR
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76608783",
    "serieinterna": "KY2948",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "171366",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza entrega de toner\n01 iton2790",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12671",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADmAQoDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABJEAABAwMBBQUGAwUEBQ0AAAABAAIDBAURIQYSMUFhE1FxgbEUIpGhwdEjMkIHFcLh8DNDktIWJjRTsjU2RFJUYmNyc3SCovH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAgECAwYFAwUBAAAAAAAAAQIDESExEkFRBBMiMmFxkaGxweEz0fAUI2KB8UL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBEWRtLcai1Wg1VKWCQPDfebkYK6ll4ITmoRcnyNdF108hlpopDxewOPmF2LhJPIREQ6EREAU7UXSrt21zaeqkzQ1jAIgRox3D1\/wCIKiWLtTazc7Q8xj8en\/EjxxOOI8x88KcMZwyi9S4OKG619\/Q2kWZs9cv3rZoahzgZQNyX\/wAw++h81pqLWHgthJTipLmERFwkEREAREQBERAEREAREQBERAEREAREQBERAEREAWHti0u2ZqSP0lhP+ILcWRtS3f2brRjPuA\/BwKlDzIpvWapezPZaXB9nonDgaeM\/\/UL1rO2fdv2ChOc\/gNHwGForkt2TreYJ+gREXCYREQBERAS9qxaNr622gBsNW3toRnOCNcDu\/V8AqhS21zXUVZbrzGNYJdx+p1HEfxfFVDSHNDhqCMhWT1SkZaPC5V9H8mfURFWagiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCz78zfsNeNP9nedegytBeeujMtvqYxxfE5o8wV1bkJrMWjP2Ufv7M0Z1\/K4a9HELYU\/sTIH7ORtH6JHtPxz9VQLs\/Myvs7zTF+iCIiiXhERAEREBmbRUoq7BWRcxGXjxb730XHZiqNXs9SSOOXNZuH\/AOJx6ALTewSMcx3BwIKmtiHGKkraF5BfT1BzjqMerSrFrBmaXh7RF9U18NSnREVZpCIiAIiIAiIgCIiAIiIAiIgCIiAnbztS+zXdlNNRudTFocZAfed4ctFs0NwpblTiekmbI0gZAOrehHIry36zxXm3OgdgSs96J\/8A1XfYqQtNunl3\/wB3TGjvFHpJC53uyNGmdc68jnTPdlXKMZR6MwTtuqtw9U9uvsfoSLBs20rKyX2CvZ7NcGktcwjAcR3fZbyqaaeGa67I2LMWERFwsC+OAc0tOoIwV9RATOwhIs9REdTHUuHyb\/NUymNj\/wAOpu9ONBHU6N7tSPoqdTs8zM3ZP0YhERQNIREQBERAFL2Qez7aXenB0eO0II1ySD\/EqhTDPwP2iP5e0U3x0H+VThs16Ga\/SUH6\/XJToiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAKb2jtM0Urb3awWVkGsjWj+0bzOOZx8QqRFKMuF5K7a1ZHhZOmmt+2Frjq2Ygqm4HatGXxuHI947vovNTXyvsMzaG\/RvfFnDK0ZcCOumvquFwhk2VvH70pWZoKk7s8TRjcPT1HmFTOZR3OjG+2Opp5RkZG8D1VjaS9DJCMpN4eJrfozshmjqIWTQvD43jLXNOhC7FJTWy6bMSuqbO41VGQTJTyHO4O8d\/iNfFbdnvtFeoi6ncWyNHvxP8AzN69R1UHHTK2L67svgmsS+vsaSIigaCY2f8Awtqr3CdC54fjzJ\/iVOpii\/C\/aDXt5SU4OOuGfzVOpz3M3ZtINdG\/qERFA0hERAEREAUxX+5+0G2u4B1ORnvOH\/yVOpi6\/wDPq1f+kf4lOG79jN2nyx919SnREUDSEREAREQBERAEREAREQGRXbT223VppKp0rHjGT2ZI5a9\/P5FeyC6W+pj7SGsge3OMh4XVW2K2XCQy1NGx8hGC8ZB+XipLaazWS2xCOlklbWuI3IGnfyOvd09O62MYy05mK2y+rMnhr4MvAQRkHIK+qU2SuD6XNmuDZIake9E2QYy3HAKrUJR4Xg0U2q2HEgiIolp11EEdVTyQTND45GlrgeYUrb55tlLl+7Kxxfb6h2aeY\/oPcfln481XLw3a1wXegfTTDXix3NjuRU4yxo9ii6tyxOHmX8we5YV52ajrZvbqGT2WvaQ5sgOGuPX7ro2Yuc0bnWO45bV02jN79bB3Hp6KkTWDOLg7RXqvwyat+0k9JUC33+I082cNqCMMk69w8Rp4Kka4OaHNIIIyCOa81fbqS505gq4RI3kebT3g8lNOZeNknF0bnV9rGN4OPvRDPAa6engu4UttGQ4p0+fWPXmvf9z0S\/g\/tEhxp21Nr10P+VU6jHXWluW2FpraV5w6MscHfmafe0I81ZpNYwOzST48dfsgiIqzWEREAREQBTFzJft5a4geEJcQeH6z9FTqYl\/G\/aJDjXsabXpof8ynDn7GbtO0V6op0RFA0hERAEREAREQBERAF1z1ENLC6aeRscbRkuccALMvG0lDaAY3Ht6k\/lhjOvmeXr0WVT2O43+VtZfZHRQZzHSN93Hj3evgpqGmXsZ5368FazL5L3OU9+ud7nfSWCHciBw+rkGg8O75laNn2apbW\/2iVxqqw8ZpBqD0zw8VqwU8NLC2GCNscbRgNaMALsRz5IQo147Hl\/JeyJ3bKlcbfFcoABPRSteH88Z++CtaluMFRSQzF4HaMa7AB5jPcvHtXIyPZur39d4NaBniS4f\/AL5LptdundaaN3bbuYGHGmnujou7wWSttxvfDzSN5ERVmwIiIDA2ms8tSyO5UJ3K2k94EcXtGuP68F7bFd47zbm1DQGyD3ZWD9LvstJSVzik2XvDbtSNzRVLt2piA0ae8eo65HNWR8S4TJZ\/Zn3q2e\/7\/uVqLhFLHPCyaJ4fG8BzXDgQuarNe5D7V2uOiu1vltrRT1FVIdQcDfBbg9OK07ftS6Kp\/d99iFJVA\/2mgYR1OdPHh4Ljtn+G611HKOpH0P0W7X26kudOYKuESN5Hm094PJXOS4VxHnRrkrput4205PQ9LXBzQ5pBBGQRzX1Sn7vvmzbnOtrzX0I\/6O85e3Tw9PgtS17SW+6HshJ2FRnBgl0dnp3+qg4c1qjTC9N8M1h\/zbqa6IigaAiIgCl7CPatrbxW6kMPYgnxx\/AqOpmbTUss7vyxMLzryAysHYiB7bPJVSHL6mZz894GnrlWR0i2ZrfFbCPu\/wCfEo0RFWaQiIgCIiAIuL3sjYXyODGtGS5xwAp6t2rY+U0dmhdXVTtAWj3G9evp1UlFvYrsthWvEzcq62moIDPVTMijHNx4+A5+SmpLzdtoZXU9kiNNTA4fVSaE+Hd5a+C7qTZieunbW7QVBqJR+WBp9xnQ49B81SMYyNgZG0Ma0YDWjACl4Y+rKMW3b+GPz\/BlWjZuitJ7UZqKk\/mmk4554HL16rXReCuvdttwPtVXGxwONwe874DVR1ky9KuqOFoj3rzV1wpbbTmermbG0A4BOrugHMqfO0d0uznRWS3EM\/7RPoB5cPmV20Wyhkn9rvdSa6ozozJ7Mff5DopcCXmKe\/c9Kln15fk8sTKrbCuiqJ4nU1spn7zGHjKev3HDUKtAAGAMAL41rWMDGNDWtGAAMABclGUsllVXBlt5b3YREUS4IiIAumqpoaymkpp2b8Ugw4LuRDjSawyUs9VLs\/c3WSveTTyHNJK7nk8On38VVrOvdnhvVA6CTDZG6xSY1aft3rP2evMxnNmuYLK6AYa4\/wB60fXHxGqsfiXEtzLBumXdy2ez+37HVt20\/uWGRujo6hpB8nfyVI1wewOHAjKwttWB2zkhP6JGEfHH1WvQPMlupnni6Jh+QXH5EShpfL2X3PQsu67PW+7Aumi3JsaSs0dz+PFaiKKbWqL5wjNYksok3f6RbOH3c3ShbyOr2D1GniFq2raa23bdZHL2U5\/updCT05HyWusi6bNW267z5IuynP8AexgAnxHA+qnxRl5jN3Vlf6byuj+zNdFGVdRfNko4zJWRV1K5260S53hx8+A7yAu6DbKsq6dppbJLNITukscXNB8gndvdD+rgnwzyn0\/4evbC4Pht7LdTjeqa5241o47udficDzK2LZRC3W2npA7eMTACRzPP5rHs1krHXB13vD2vqXf2cQAIjH06Y9VRLkmkuFEqYylJ2yWM6Jen5CIigaQuIkY55YHtLhxAOoWftBXuttkqamM4kDd1h7nE4B8s58lDSCjpKOimt1ZO67ODXPbEd8HOuD8tNe4hWQr4lkyX9pVUsYzz\/wCH6U5wa0ucQABkk8lO3Da6COb2S1wur6k6Dc1Z8Rx8vismg\/eO11TLDX1\/s8MJxJTRDdcfLx7847lXUFso7ZCIqSBsYxq7HvO8TzXXFQ31ZyNll6zXouvP4GBFs\/dL08T3+rcyPOW0sRwB48h8z1CoqKgpLfD2NJAyFnPdGp8TxPmvQvPXV9NbqZ1RVSiNjRz4noBzKi5OWhbCqurxc+rPQsW6bU262Exh\/tE\/DsotcHqeA9VmMnvO1bnezvdbrcDjf\/XJ\/XTTxWza9nbdaQHQQ78o\/vZNXeXd5LvCo+Yr7yy39JYXV\/ZGS0bTX5p3nNtVK7uB3yPX0Xut+yNro92SWM1cw1MkxyP8PD45W4i45vZaE49ngnmXifqfAABgDAC+oigaAiIgCIiAIiIAiIgCxNoLGbixlXRnsq+n96J403scifRbaLqbTyiFkI2R4ZEbVXxt42VrqaoHZ10AHaR8M4cNR8Ne5UVhfv2GgOn+zsGnQYWPtbYG1FPLc6UiKeJhMwGnaMA188fFenY+4QVVkhpmSZmpxuvYdCBk4PgrZYcMoxVOce0cNm+NH11N9ERUnoBEWFtVc30lAKOm96rrD2UbQRkA6E\/QLqWXghZNVxcmZ9L\/AK0bTPqXkuoLecRDQh7s8fA4z8F3bA\/8hzf+5d\/wtWzZ7a202yKkaQ4tGXuGfeceJWNsO7cpK6lIw6KpJIxwyAP4Va3mLxtoYoVuFsHLd5z8voU6x9ob2LRStbEBJVzndiZ9T\/XFaFdWwW6kfVVL92Ngz1J7h1UFQXeprb5LcG0BrK1w3YowPciHI56cOXE6qNcM6lnab+DEE9X8v5yN22Xa5UF4bbb3Iw9tEHsk7jjhnyOeq9Nw2uoaZ\/YUQNfUH8rIdW\/Hn5ZWDfLLfauhfc7lNGXQjIgZ+hvPp6+Kqdn4bcLXBUW+CONsrAXFurs8wTxOCpyUccRTVK5t1p45pvfBIbROv89ubWXMiCB8oaymbprgnJHlzKtLbZaC1MxSQBrsYMjtXHzWPtwd+ioqf\/eVQ18iPqqdRlJuKLKKlG6edWsav\/ZP3uyTCoF2tH4ddHq5o4SjmPH1XO17VUtY809c32GracGKXIBPicY8D81urw19lt1yO9VUzHP098aOOORI4joVFSTWJFsqpRlxVPfdcjzXTaSht8REcjamodoyGI7xJ644LNobBVXioFy2gyTj8Om4Bo6j6fFa1Bs7arc8SU9K3tG8HvO8R4Z4cFprvEl5TndSsebdunL\/AH1PjWhrQ1oAAGAByX1EVZqCIiAIiIAiIgCIiAIiIAiIgCIiA8tybv2urZjO9A8Y7\/dKh7ZbKmOy097tJPtcLniWPjvtz3c9OX1V9O3fp5GYzvMIx36LA2FdvWAjOd2dw8NAfqrYSxFmK+tTuin0f2NCyXunvVJ2sXuSt0liJ1afqOq01LXuzz26tF8s7MSMJM8I4PHM4HzHmtq0XemvNGKinOHDSSMnVh7v5qMordbFlVks93Z5vr6ntkkZFG6SR26xgLnHuAUtZWPvu0M97lB9mgJjpWuBx3Z+GT4nom2d3axsdoZKIzOQZ5ME7jM9NeWfDxXTTXqqfSR23ZqhfKyFu4amRuBnmccASddfgpxi1HPUotuhK1Re0eXNv8FVV1lNQwmaqnZCwc3HGfDvUSyvqjtDV1OzUDp45xmQPjO4Xcc5J01ydceC1qXZF1RMKq+Vb6yb\/dhx3R0z9sKjhghpohFBEyKNvBrBgBcTjHbUnKFt7Tl4Uvj+CXptmLhc6sVO0NV2jG8IGu0+Wg8lS0lHTUMIhpYGQsHJoxnx713ooSk5F9dEK9Vv15nF7GyRuje0Oa4EOB5hSdFJLshcHUdVl1tqHF0UwGdw9fLj4Z71XLrnp4amJ0U8bZGOGC1wykZY0ewtqcsSi8NEvdqiK97RWyipJWTRQntpSwgjGh9B81WLw0FnoLa976Snax7ySXnV2uNMnXGg0XuXZNPCRyquUW5S3YREUC8IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKY2E922VUY4NqTj\/AAj7LerrhSW2AzVc7Ymcs8XdAOJUNZKu8TSVlPZYxuzTF7p3jG4DnHHQfNWwi3FmK+yMLoc3roty4r7nR22LtKyoZEOQJ1d4DiV+fVt1dDcpbpZYZaOGQbjnuA3XuPHA4dceapqPZGCN5rLrNJcKjG8Qclvw4n+tF5bdRS7SXJtfVw9hQUjt2npsaEjvHwz8OSlDhjllF6utwsYfLr7t8jq2WslFdYXXOvl9snc870bnZ3T\/AN7vz8FZMYyNgZG0Ma0YDWjAClbnRzbNXM3m3s3qOQ4qYG6BvUf1oehVJRVtPcKVlTTSB8bxoe7oeqjZl68jR2VRhmtrEl8\/U9CIiqNgREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEXF72RsL5HBjWjJc44AU5XbVulnNHY6Y1s\/OQD3G\/fx0CkouWxXZbCteJm9V1lNQwmaqnZCwc3HGfDvU9LtLXXSR1Ps\/ROkAOHVMow1v0+PwXKl2WmrpRWbQVLqmbiIWuwxg7tPp81RQwQ00QigiZFG3g1gwApeGPqyn+9b\/AIr5\/gwKLZKIyirvE76+pPEOJ3B06+nRdWyzRDfL7A0BrROC1reAG8\/7hVCmLN+Htpd4hwc0P9PuuqTknkhKqFU4cK5\/ZlOvgAHAYX1FUbTi5rXsLHtDmuGCCMghR88NXsdXmqpg6e1Tu\/Ej5xn+uB58DyVkuMkbJY3RyMa9jhhzXDII6hSjLHsU21d4k08NbM6qOsp6+mbU0sgkjfwI9D3LvUnVWy4bNVEldZR21I\/Waldru9Rz+viFUU8jpqeOR8ToXOaCY3Yy3pokoparY5VZKXhmsNfD\/R2IiKJeEREAREQBERAEREAREQBERAEREAREQBEXXPUQ0sLpp5GxxtGS5xwAgbxqzsWRd9pKK0nsjmoqT+WGPjnlk8vXosua9XHaGd1HYmuhpwcS1btMDp3evgtS0bN0VpcZQDPUu\/NNJqc9O5WcKj5jL3s7dKtuv7dTKZZrttFI2e9ymlphqymj0Pn3eeT4KjorfSW6AQ0kDIm88DV3UnmvSijKTehZXTGDzu+r3CIiiXBTFJ7n7RK3n2lMPLRn2VOpiX8P9okH\/i0x4+DuHwU4c\/Yzdo\/8P\/JFOiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgOueeKmgfPM8MjjG85x5BSlJTT7Y1Dq2uL4rdG4thga4jfI5n7+XJd207prpdaKwwOLWSHtZ3NPAdfAAnXiSFSwwx08LIYWBkbBhrWjQBWLwrPNmRrv7HF+WPzf4EFPDSwthgjbHG0YDWjAC7ERVmtLGiCIiAIiIApi6Nczby1SgEb0RbnGn6\/uqdfC0EgkAkcD3KUXgqtr40l0afwPqIiiWhERAEREAREQBERAEREAREQBERAEREAREQBERAEREBjT2qf\/AEop7pE+IRGMxytOd46HGOXd3ea2URSk9imtJOWOv2QREUS4IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/9k=",
    "razonSocial": "COMERCIAL SERON SPA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56990956158",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "18:07",
    "ubicacionGPS": "LatLng(lat: -29.9680098, lng: -71.3103722)",
    "horaLlegada": "17:30",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 20/05/2026 18:06:49
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-FNGiUibnf_YWSKDceQipZ4VtCWaj4TUWkXOXOWJ+1Dp5cUYiRfR
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76608783",
    "serieinterna": "KY2948",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "171366",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza entrega de toner\n01 iton2790",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12671",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADmAQoDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABJEAABAwMBBQUGAwUEBQ0AAAABAAIDBAURIQYSMUFhE1FxgbEUIpGhwdEjMkIHFcLh8DNDktIWJjRTsjU2RFJUYmNyc3SCovH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAgECAwYFAwUBAAAAAAAAAQIDESExEkFRBBMiMmFxkaGxweEz0fAUI2KB8UL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBEWRtLcai1Wg1VKWCQPDfebkYK6ll4ITmoRcnyNdF108hlpopDxewOPmF2LhJPIREQ6EREAU7UXSrt21zaeqkzQ1jAIgRox3D1\/wCIKiWLtTazc7Q8xj8en\/EjxxOOI8x88KcMZwyi9S4OKG619\/Q2kWZs9cv3rZoahzgZQNyX\/wAw++h81pqLWHgthJTipLmERFwkEREAREQBERAEREAREQBERAEREAREQBERAEREAWHti0u2ZqSP0lhP+ILcWRtS3f2brRjPuA\/BwKlDzIpvWapezPZaXB9nonDgaeM\/\/UL1rO2fdv2ChOc\/gNHwGForkt2TreYJ+gREXCYREQBERAS9qxaNr622gBsNW3toRnOCNcDu\/V8AqhS21zXUVZbrzGNYJdx+p1HEfxfFVDSHNDhqCMhWT1SkZaPC5V9H8mfURFWagiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCz78zfsNeNP9nedegytBeeujMtvqYxxfE5o8wV1bkJrMWjP2Ufv7M0Z1\/K4a9HELYU\/sTIH7ORtH6JHtPxz9VQLs\/Myvs7zTF+iCIiiXhERAEREBmbRUoq7BWRcxGXjxb730XHZiqNXs9SSOOXNZuH\/AOJx6ALTewSMcx3BwIKmtiHGKkraF5BfT1BzjqMerSrFrBmaXh7RF9U18NSnREVZpCIiAIiIAiIgCIiAIiIAiIgCIiAnbztS+zXdlNNRudTFocZAfed4ctFs0NwpblTiekmbI0gZAOrehHIry36zxXm3OgdgSs96J\/8A1XfYqQtNunl3\/wB3TGjvFHpJC53uyNGmdc68jnTPdlXKMZR6MwTtuqtw9U9uvsfoSLBs20rKyX2CvZ7NcGktcwjAcR3fZbyqaaeGa67I2LMWERFwsC+OAc0tOoIwV9RATOwhIs9REdTHUuHyb\/NUymNj\/wAOpu9ONBHU6N7tSPoqdTs8zM3ZP0YhERQNIREQBERAFL2Qez7aXenB0eO0II1ySD\/EqhTDPwP2iP5e0U3x0H+VThs16Ga\/SUH6\/XJToiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAKb2jtM0Urb3awWVkGsjWj+0bzOOZx8QqRFKMuF5K7a1ZHhZOmmt+2Frjq2Ygqm4HatGXxuHI947vovNTXyvsMzaG\/RvfFnDK0ZcCOumvquFwhk2VvH70pWZoKk7s8TRjcPT1HmFTOZR3OjG+2Opp5RkZG8D1VjaS9DJCMpN4eJrfozshmjqIWTQvD43jLXNOhC7FJTWy6bMSuqbO41VGQTJTyHO4O8d\/iNfFbdnvtFeoi6ncWyNHvxP8AzN69R1UHHTK2L67svgmsS+vsaSIigaCY2f8Awtqr3CdC54fjzJ\/iVOpii\/C\/aDXt5SU4OOuGfzVOpz3M3ZtINdG\/qERFA0hERAEREAUxX+5+0G2u4B1ORnvOH\/yVOpi6\/wDPq1f+kf4lOG79jN2nyx919SnREUDSEREAREQBERAEREAREQGRXbT223VppKp0rHjGT2ZI5a9\/P5FeyC6W+pj7SGsge3OMh4XVW2K2XCQy1NGx8hGC8ZB+XipLaazWS2xCOlklbWuI3IGnfyOvd09O62MYy05mK2y+rMnhr4MvAQRkHIK+qU2SuD6XNmuDZIake9E2QYy3HAKrUJR4Xg0U2q2HEgiIolp11EEdVTyQTND45GlrgeYUrb55tlLl+7Kxxfb6h2aeY\/oPcfln481XLw3a1wXegfTTDXix3NjuRU4yxo9ii6tyxOHmX8we5YV52ajrZvbqGT2WvaQ5sgOGuPX7ro2Yuc0bnWO45bV02jN79bB3Hp6KkTWDOLg7RXqvwyat+0k9JUC33+I082cNqCMMk69w8Rp4Kka4OaHNIIIyCOa81fbqS505gq4RI3kebT3g8lNOZeNknF0bnV9rGN4OPvRDPAa6engu4UttGQ4p0+fWPXmvf9z0S\/g\/tEhxp21Nr10P+VU6jHXWluW2FpraV5w6MscHfmafe0I81ZpNYwOzST48dfsgiIqzWEREAREQBTFzJft5a4geEJcQeH6z9FTqYl\/G\/aJDjXsabXpof8ynDn7GbtO0V6op0RFA0hERAEREAREQBERAF1z1ENLC6aeRscbRkuccALMvG0lDaAY3Ht6k\/lhjOvmeXr0WVT2O43+VtZfZHRQZzHSN93Hj3evgpqGmXsZ5368FazL5L3OU9+ud7nfSWCHciBw+rkGg8O75laNn2apbW\/2iVxqqw8ZpBqD0zw8VqwU8NLC2GCNscbRgNaMALsRz5IQo147Hl\/JeyJ3bKlcbfFcoABPRSteH88Z++CtaluMFRSQzF4HaMa7AB5jPcvHtXIyPZur39d4NaBniS4f\/AL5LptdundaaN3bbuYGHGmnujou7wWSttxvfDzSN5ERVmwIiIDA2ms8tSyO5UJ3K2k94EcXtGuP68F7bFd47zbm1DQGyD3ZWD9LvstJSVzik2XvDbtSNzRVLt2piA0ae8eo65HNWR8S4TJZ\/Zn3q2e\/7\/uVqLhFLHPCyaJ4fG8BzXDgQuarNe5D7V2uOiu1vltrRT1FVIdQcDfBbg9OK07ftS6Kp\/d99iFJVA\/2mgYR1OdPHh4Ljtn+G611HKOpH0P0W7X26kudOYKuESN5Hm094PJXOS4VxHnRrkrput4205PQ9LXBzQ5pBBGQRzX1Sn7vvmzbnOtrzX0I\/6O85e3Tw9PgtS17SW+6HshJ2FRnBgl0dnp3+qg4c1qjTC9N8M1h\/zbqa6IigaAiIgCl7CPatrbxW6kMPYgnxx\/AqOpmbTUss7vyxMLzryAysHYiB7bPJVSHL6mZz894GnrlWR0i2ZrfFbCPu\/wCfEo0RFWaQiIgCIiAIuL3sjYXyODGtGS5xwAp6t2rY+U0dmhdXVTtAWj3G9evp1UlFvYrsthWvEzcq62moIDPVTMijHNx4+A5+SmpLzdtoZXU9kiNNTA4fVSaE+Hd5a+C7qTZieunbW7QVBqJR+WBp9xnQ49B81SMYyNgZG0Ma0YDWjACl4Y+rKMW3b+GPz\/BlWjZuitJ7UZqKk\/mmk4554HL16rXReCuvdttwPtVXGxwONwe874DVR1ky9KuqOFoj3rzV1wpbbTmermbG0A4BOrugHMqfO0d0uznRWS3EM\/7RPoB5cPmV20Wyhkn9rvdSa6ozozJ7Mff5DopcCXmKe\/c9Kln15fk8sTKrbCuiqJ4nU1spn7zGHjKev3HDUKtAAGAMAL41rWMDGNDWtGAAMABclGUsllVXBlt5b3YREUS4IiIAumqpoaymkpp2b8Ugw4LuRDjSawyUs9VLs\/c3WSveTTyHNJK7nk8On38VVrOvdnhvVA6CTDZG6xSY1aft3rP2evMxnNmuYLK6AYa4\/wB60fXHxGqsfiXEtzLBumXdy2ez+37HVt20\/uWGRujo6hpB8nfyVI1wewOHAjKwttWB2zkhP6JGEfHH1WvQPMlupnni6Jh+QXH5EShpfL2X3PQsu67PW+7Aumi3JsaSs0dz+PFaiKKbWqL5wjNYksok3f6RbOH3c3ShbyOr2D1GniFq2raa23bdZHL2U5\/updCT05HyWusi6bNW267z5IuynP8AexgAnxHA+qnxRl5jN3Vlf6byuj+zNdFGVdRfNko4zJWRV1K5260S53hx8+A7yAu6DbKsq6dppbJLNITukscXNB8gndvdD+rgnwzyn0\/4evbC4Pht7LdTjeqa5241o47udficDzK2LZRC3W2npA7eMTACRzPP5rHs1krHXB13vD2vqXf2cQAIjH06Y9VRLkmkuFEqYylJ2yWM6Jen5CIigaQuIkY55YHtLhxAOoWftBXuttkqamM4kDd1h7nE4B8s58lDSCjpKOimt1ZO67ODXPbEd8HOuD8tNe4hWQr4lkyX9pVUsYzz\/wCH6U5wa0ucQABkk8lO3Da6COb2S1wur6k6Dc1Z8Rx8vismg\/eO11TLDX1\/s8MJxJTRDdcfLx7847lXUFso7ZCIqSBsYxq7HvO8TzXXFQ31ZyNll6zXouvP4GBFs\/dL08T3+rcyPOW0sRwB48h8z1CoqKgpLfD2NJAyFnPdGp8TxPmvQvPXV9NbqZ1RVSiNjRz4noBzKi5OWhbCqurxc+rPQsW6bU262Exh\/tE\/DsotcHqeA9VmMnvO1bnezvdbrcDjf\/XJ\/XTTxWza9nbdaQHQQ78o\/vZNXeXd5LvCo+Yr7yy39JYXV\/ZGS0bTX5p3nNtVK7uB3yPX0Xut+yNro92SWM1cw1MkxyP8PD45W4i45vZaE49ngnmXifqfAABgDAC+oigaAiIgCIiAIiIAiIgCxNoLGbixlXRnsq+n96J403scifRbaLqbTyiFkI2R4ZEbVXxt42VrqaoHZ10AHaR8M4cNR8Ne5UVhfv2GgOn+zsGnQYWPtbYG1FPLc6UiKeJhMwGnaMA188fFenY+4QVVkhpmSZmpxuvYdCBk4PgrZYcMoxVOce0cNm+NH11N9ERUnoBEWFtVc30lAKOm96rrD2UbQRkA6E\/QLqWXghZNVxcmZ9L\/AK0bTPqXkuoLecRDQh7s8fA4z8F3bA\/8hzf+5d\/wtWzZ7a202yKkaQ4tGXuGfeceJWNsO7cpK6lIw6KpJIxwyAP4Va3mLxtoYoVuFsHLd5z8voU6x9ob2LRStbEBJVzndiZ9T\/XFaFdWwW6kfVVL92Ngz1J7h1UFQXeprb5LcG0BrK1w3YowPciHI56cOXE6qNcM6lnab+DEE9X8v5yN22Xa5UF4bbb3Iw9tEHsk7jjhnyOeq9Nw2uoaZ\/YUQNfUH8rIdW\/Hn5ZWDfLLfauhfc7lNGXQjIgZ+hvPp6+Kqdn4bcLXBUW+CONsrAXFurs8wTxOCpyUccRTVK5t1p45pvfBIbROv89ubWXMiCB8oaymbprgnJHlzKtLbZaC1MxSQBrsYMjtXHzWPtwd+ioqf\/eVQ18iPqqdRlJuKLKKlG6edWsav\/ZP3uyTCoF2tH4ddHq5o4SjmPH1XO17VUtY809c32GracGKXIBPicY8D81urw19lt1yO9VUzHP098aOOORI4joVFSTWJFsqpRlxVPfdcjzXTaSht8REcjamodoyGI7xJ644LNobBVXioFy2gyTj8Om4Bo6j6fFa1Bs7arc8SU9K3tG8HvO8R4Z4cFprvEl5TndSsebdunL\/AH1PjWhrQ1oAAGAByX1EVZqCIiAIiIAiIgCIiAIiIAiIgCIiA8tybv2urZjO9A8Y7\/dKh7ZbKmOy097tJPtcLniWPjvtz3c9OX1V9O3fp5GYzvMIx36LA2FdvWAjOd2dw8NAfqrYSxFmK+tTuin0f2NCyXunvVJ2sXuSt0liJ1afqOq01LXuzz26tF8s7MSMJM8I4PHM4HzHmtq0XemvNGKinOHDSSMnVh7v5qMordbFlVks93Z5vr6ntkkZFG6SR26xgLnHuAUtZWPvu0M97lB9mgJjpWuBx3Z+GT4nom2d3axsdoZKIzOQZ5ME7jM9NeWfDxXTTXqqfSR23ZqhfKyFu4amRuBnmccASddfgpxi1HPUotuhK1Re0eXNv8FVV1lNQwmaqnZCwc3HGfDvUSyvqjtDV1OzUDp45xmQPjO4Xcc5J01ydceC1qXZF1RMKq+Vb6yb\/dhx3R0z9sKjhghpohFBEyKNvBrBgBcTjHbUnKFt7Tl4Uvj+CXptmLhc6sVO0NV2jG8IGu0+Wg8lS0lHTUMIhpYGQsHJoxnx713ooSk5F9dEK9Vv15nF7GyRuje0Oa4EOB5hSdFJLshcHUdVl1tqHF0UwGdw9fLj4Z71XLrnp4amJ0U8bZGOGC1wykZY0ewtqcsSi8NEvdqiK97RWyipJWTRQntpSwgjGh9B81WLw0FnoLa976Snax7ySXnV2uNMnXGg0XuXZNPCRyquUW5S3YREUC8IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKY2E922VUY4NqTj\/AAj7LerrhSW2AzVc7Ymcs8XdAOJUNZKu8TSVlPZYxuzTF7p3jG4DnHHQfNWwi3FmK+yMLoc3roty4r7nR22LtKyoZEOQJ1d4DiV+fVt1dDcpbpZYZaOGQbjnuA3XuPHA4dceapqPZGCN5rLrNJcKjG8Qclvw4n+tF5bdRS7SXJtfVw9hQUjt2npsaEjvHwz8OSlDhjllF6utwsYfLr7t8jq2WslFdYXXOvl9snc870bnZ3T\/AN7vz8FZMYyNgZG0Ma0YDWjAClbnRzbNXM3m3s3qOQ4qYG6BvUf1oehVJRVtPcKVlTTSB8bxoe7oeqjZl68jR2VRhmtrEl8\/U9CIiqNgREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEXF72RsL5HBjWjJc44AU5XbVulnNHY6Y1s\/OQD3G\/fx0CkouWxXZbCteJm9V1lNQwmaqnZCwc3HGfDvU9LtLXXSR1Ps\/ROkAOHVMow1v0+PwXKl2WmrpRWbQVLqmbiIWuwxg7tPp81RQwQ00QigiZFG3g1gwApeGPqyn+9b\/AIr5\/gwKLZKIyirvE76+pPEOJ3B06+nRdWyzRDfL7A0BrROC1reAG8\/7hVCmLN+Htpd4hwc0P9PuuqTknkhKqFU4cK5\/ZlOvgAHAYX1FUbTi5rXsLHtDmuGCCMghR88NXsdXmqpg6e1Tu\/Ej5xn+uB58DyVkuMkbJY3RyMa9jhhzXDII6hSjLHsU21d4k08NbM6qOsp6+mbU0sgkjfwI9D3LvUnVWy4bNVEldZR21I\/Waldru9Rz+viFUU8jpqeOR8ToXOaCY3Yy3pokoparY5VZKXhmsNfD\/R2IiKJeEREAREQBERAEREAREQBERAEREAREQBEXXPUQ0sLpp5GxxtGS5xwAgbxqzsWRd9pKK0nsjmoqT+WGPjnlk8vXosua9XHaGd1HYmuhpwcS1btMDp3evgtS0bN0VpcZQDPUu\/NNJqc9O5WcKj5jL3s7dKtuv7dTKZZrttFI2e9ymlphqymj0Pn3eeT4KjorfSW6AQ0kDIm88DV3UnmvSijKTehZXTGDzu+r3CIiiXBTFJ7n7RK3n2lMPLRn2VOpiX8P9okH\/i0x4+DuHwU4c\/Yzdo\/8P\/JFOiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgOueeKmgfPM8MjjG85x5BSlJTT7Y1Dq2uL4rdG4thga4jfI5n7+XJd207prpdaKwwOLWSHtZ3NPAdfAAnXiSFSwwx08LIYWBkbBhrWjQBWLwrPNmRrv7HF+WPzf4EFPDSwthgjbHG0YDWjAC7ERVmtLGiCIiAIiIApi6Nczby1SgEb0RbnGn6\/uqdfC0EgkAkcD3KUXgqtr40l0afwPqIiiWhERAEREAREQBERAEREAREQBERAEREAREQBERAEREBjT2qf\/AEop7pE+IRGMxytOd46HGOXd3ea2URSk9imtJOWOv2QREUS4IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/9k=",
    "razonSocial": "COMERCIAL SERON SPA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56990956158",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "18:07",
    "ubicacionGPS": "LatLng(lat: -29.9680098, lng: -71.3103722)",
    "horaLlegada": "17:30",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


20/05/2026 18:06:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76608783

[20/05/2026 18:06:49] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76608783', 'KY2948', 1, 20988335, 171366, NOW(), 
				'08:00', '17:30', '18:07', 10, 'se realiza entrega de toner
01 iton2790', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779314809.png', '', null, 'COMPLETADO','LatLng(lat: -29.9680098, lng: -71.3103722)' )
				
[20/05/2026 18:06:49] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200387

20/05/2026 18:06:49 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200387'                    
				WHERE idllamado = 12671			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


20/05/2026 18:06:49 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12671			
				
20/05/2026 18:06:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


20/05/2026 18: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 = 12671
                

20/05/2026 18: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 = 12671
                

20/05/2026 18: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 = 12671
                

20/05/2026 18:06:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

20/05/2026 18: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 = 12671
                

20/05/2026 18: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 = 12671
                

20/05/2026 18: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 = 12671
                

20/05/2026 18: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 = 12671
                

20/05/2026 18: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 = 12671
                

[20/05/2026 18:07: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;
                

20/05/2026 18:07:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

[20/05/2026 18:07: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;
                

20/05/2026 18:07:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18:07:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12671
            GROUP BY l.idllamado;
            

20/05/2026 18:07:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18:07:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18:07:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12671
                

20/05/2026 18: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 = 12671
                

20/05/2026 18: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 = 12671
                

20/05/2026 18: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 = 12660
                

20/05/2026 18: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 = 12660
                

20/05/2026 18:09:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 18:09:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 18: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 = 12660
                

20/05/2026 18: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 = 12660
                

20/05/2026 18:09:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 18:09:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 18: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 = 12660
                

20/05/2026 18:10:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 18: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 = 12660
                

20/05/2026 18: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 = 12660
                

20/05/2026 18: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 = 12660
                

20/05/2026 18:11:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 18:11:32 - logentry: =========================================
FECHA: 20/05/2026 18:11:32
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-VshOcCM+_szm-dn4Brln6v9+u_9NaImeuflLH5leX+a9YPN.9Sy
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "KY2160",
    "correlativo": "3",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "54775",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Revision, mantenimiento y limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12660",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABiALcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCBwH\/xAA8EAABAwMCAgcFBQYHAAAAAAABAAIDBAURBiESMRMiQVGBkaEUYXGxwRUjJNHwBxYyQmLxNlJVc4KSov\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC8RAAIBAwEGBAUFAQAAAAAAAAABAgMRITEEEiJBUWETMsHRFCNxkaEzUoGx4fD\/2gAMAwEAAhEDEQA\/APsyIiAKJW3ShtwBq6lkWSBg7nfPYN+wqtv9+fQyMoKBgmr5xhjefBnYE+\/8t1ztmlIG\/irt+MrJN3mQ5a092O1XUUleRzSqyctymrtavkiUzVVje4tFewEf5mOA8yFaRTRTxiSGRkjDycxwIPiob7FaZG8LrbSgf0xNafMKjrrNU6ef9p2V73RRg9LSvdxDg5nH6yptF4RDnWp5mk12NWih2u5QXahZVwZDXbFp5tPaCpio1Y6YyUldaBERQSEREAUC91s9utFRV07WOkiAIDwSOYzy92VPVTqh7Y9N1rnciwN8SQB81aPmRnVbVOTXRky21Tq2201S8APlja5wHIOxv6qUq7T8Zj0\/QtPbC13mM\/VWKh6k023BN9AiIoLhERAEREAREQBV97urLPbJKtwDnAhsbCccTj2fM+CsFlLs5t81XS2oDjp6T72fuJ7vkPFXgrvJhXm4Q4dXhEvS9pfBAbnXfe11V1uNxyWtIGB7j\/ZaBEVZO7uXp01TiooIiKDQy1uY2xatltzARTVzOkiGdmkZ29Hei1KzF7PDrGzkbEggn3ZWnWk82ZzbPjegtE\/9CIizOkIiIAs5rmXgsIjGSZZmtAHifotGstfc3TVFutbDhkJ6aU48efwHqr0\/Nc5tqfynFavH3NLTxdBTRRbfdsDdvcMLoiKh0pWCL8JAGScAKFVXu10WfaK6FpbzaHcTvIbqUm9CspRirydicizU+taZ7+ittHUVsh5cLcA7eJ9FzdFqi8gh72WuncOQ\/jx3bb\/JW3HzwYPaYPEOJ9vfQ0FXcaKhaTVVUUOBnDnAE\/AcyqOXWlK+Uw2+jqK1\/ZwjhDvr6LtS6NtkLjJVdLWSndzpnnGfgPrlXcMENNEIoImRRt5NYMAKeBdyLV581H8v2Kq01N+q6sy19HDS0haeFmevns\/WyK5RUbubwi4qzdzO6tu81FTMoaQH2iqB64OOBo5nP6xuueiaeR1FPcqhxfNVPxxu5lrdufxz5Ko1HI+qvdxl4iYqGmDB1uRdhvL\/AJHyWr07CINP0LBjeEP2\/q631W0uGnY4KbdTam3otP69yyREWB6QREQGYvWHays7QdwCfn+S06zFdv8AtEt2N8Uxz7tpFp1eei+hzUPNN9\/RBERUOkIiICPXQPqaGaGOodTve3AlbzZ7+YWHsNtutzkqa+lurmOa7oumky50g58zuP5dlp9VXJtusc2HYlnHRR4O+TzPgM+i76foDbrJTU7mlsnDxPB5hx3I8OXgtYtxhc4qtONWuo9Fn0Kr7D1J\/r\/\/AJKfYGoJOrJqF7W97Ac\/MLToq+IzT4WHV\/dmY\/ctk4\/HXWrqT38WPnntU2m0lZqYg+y9M4DGZXF3py9FdIjnJ8yY7NRTvu+pzhghp2COCJkTByaxoaPRdERUOhKwREQBERAfOb0\/hrb6NutJGPXP0W+oWdHb6Zm\/ViaN\/gF861ES283GHPXlnYQO8YP5hfTGgNaGjYAYC3q+VHm7HmpPt7s\/URFgekEReXvbGxz3nDWgknuCAzNMfbP2gVMjR1KWDhye\/A8uZ8lqFmNGtdUvuV0c3HtU54cjkNzt\/wBvRadXqa26HNsuYb3VthERUOkIiiXStFttlRWEA9EwkAnGTyA88IlciTUU2ygqHi+6xipRl1Lbhxv7Q54Pb44HgVcU9\/ttTXvoWz8M7XFoa4EcXwPIqFo+hdTWj2qVuJ6x3SuJ5kfy\/U+KlXbT1vu8eJYhFLnIljADvHvC1lu3s+Rx01V3PEjq85\/CLVFk47pcdMVDKW7ZqaJ2GxVLB\/D8e\/4c+5aiGaOohZNC8PjeMtc07EKkotG9OtGpjRrVHRERVNgiIgCIiAIiIDEavoBHqCiq9gyoc1ry47ZBHpghbdVGoLBHfYYw6Z0UkPFwEbg5xz8gotivUrZvse6joqyHqsceUoA7+\/HmtXxRVuRxQtSrSurKWj7mhREWR2hZ7Vtweykba6UOfVVmG8LBkhnInx5ea63fVFJbz0FMPa6txwIoznB95Hy5rnY7JOyqdeLo7pK6X+EdkYxjzxt7lpFbvEzkqz8T5VP+X0XuW1soW222wUbTxdEzBdjGTzJ88qUiLNu51RSikkEREJCy2qpPtG40FiieQZX9JNw9jf7ZPktSsvp8m46kudzeMtjPQx57s+mwHn8VpDF5dDm2jiUaf7n+NWaZjGxsaxgw1oAA7gvSIszpOdRTxVUD4J4xJG8Yc13IrLfidHVn889omd8TCT+vH4rWrnNDHUQvhmYHxvGHNcNiFaMrYehjVpb\/ABRxJaP\/ALkIZo6iFk0Lw+N4y1zTsQuixssddo2q6aDiqLTK\/rR8zGT8j7+R7exaykq4K6mZU00gkieMghTKNsrQilW324yVpLl7djsiIqG4REQBERAFXXayUV5hDKlhD2jqyN2c1WKKU2sorKMZrdkrozH7u3unHR0t\/k6IchIDkIdNXipHBWagmMZ2c2MHrDzC06K3iSMPhaff7srbVYLfaG\/hocydssmC\/wA+zwVkiKrbeWbxhGCtFWQREUFgiIgPEsgiifIeTGlx8FntDR4sb5Sculnc4nwAV9WAminAGSY3fJUmif8ADrP916uvIzmn+vH6P0NCiIqHSEREB4lijmidFKwPY8Yc1wyCFlKmjrNJ1Tq6g4p7a85mg7We8fn5961y\/HNDmlrgCCMEHtVoysY1aSnnRrRnChrqa40ramlkD43eYPcR2FSFVW6wUtquE1VSPkYyZuDDnqg5zkfrtKtVDtfBem5uPGshERQXCIiAIiIAiIgCIiAIiIAiIgC8ta1jQ1jQ1o5ADACIhHM9IiISEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "PERSONAL",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "18:11",
    "ubicacionGPS": "LatLng(lat: -23.661835, lng: -70.3999587)",
    "horaLlegada": "15:29",
    "horaDespacho": "13:35",
    "idMovimientoMaquina": "5",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 20/05/2026 18:11:32
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-VshOcCM+_szm-dn4Brln6v9+u_9NaImeuflLH5leX+a9YPN.9Sy
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "KY2160",
    "correlativo": "3",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "54775",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Revision, mantenimiento y limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12660",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABiALcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCBwH\/xAA8EAABAwMCAgcFBQYHAAAAAAABAAIDBAURBiESMRMiQVGBkaEUYXGxwRUjJNHwBxYyQmLxNlJVc4KSov\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC8RAAIBAwEGBAUFAQAAAAAAAAABAgMRITEEEiJBUWETMsHRFCNxkaEzUoGx4fD\/2gAMAwEAAhEDEQA\/APsyIiAKJW3ShtwBq6lkWSBg7nfPYN+wqtv9+fQyMoKBgmr5xhjefBnYE+\/8t1ztmlIG\/irt+MrJN3mQ5a092O1XUUleRzSqyctymrtavkiUzVVje4tFewEf5mOA8yFaRTRTxiSGRkjDycxwIPiob7FaZG8LrbSgf0xNafMKjrrNU6ef9p2V73RRg9LSvdxDg5nH6yptF4RDnWp5mk12NWih2u5QXahZVwZDXbFp5tPaCpio1Y6YyUldaBERQSEREAUC91s9utFRV07WOkiAIDwSOYzy92VPVTqh7Y9N1rnciwN8SQB81aPmRnVbVOTXRky21Tq2201S8APlja5wHIOxv6qUq7T8Zj0\/QtPbC13mM\/VWKh6k023BN9AiIoLhERAEREAREQBV97urLPbJKtwDnAhsbCccTj2fM+CsFlLs5t81XS2oDjp6T72fuJ7vkPFXgrvJhXm4Q4dXhEvS9pfBAbnXfe11V1uNxyWtIGB7j\/ZaBEVZO7uXp01TiooIiKDQy1uY2xatltzARTVzOkiGdmkZ29Hei1KzF7PDrGzkbEggn3ZWnWk82ZzbPjegtE\/9CIizOkIiIAs5rmXgsIjGSZZmtAHifotGstfc3TVFutbDhkJ6aU48efwHqr0\/Nc5tqfynFavH3NLTxdBTRRbfdsDdvcMLoiKh0pWCL8JAGScAKFVXu10WfaK6FpbzaHcTvIbqUm9CspRirydicizU+taZ7+ittHUVsh5cLcA7eJ9FzdFqi8gh72WuncOQ\/jx3bb\/JW3HzwYPaYPEOJ9vfQ0FXcaKhaTVVUUOBnDnAE\/AcyqOXWlK+Uw2+jqK1\/ZwjhDvr6LtS6NtkLjJVdLWSndzpnnGfgPrlXcMENNEIoImRRt5NYMAKeBdyLV581H8v2Kq01N+q6sy19HDS0haeFmevns\/WyK5RUbubwi4qzdzO6tu81FTMoaQH2iqB64OOBo5nP6xuueiaeR1FPcqhxfNVPxxu5lrdufxz5Ko1HI+qvdxl4iYqGmDB1uRdhvL\/AJHyWr07CINP0LBjeEP2\/q631W0uGnY4KbdTam3otP69yyREWB6QREQGYvWHays7QdwCfn+S06zFdv8AtEt2N8Uxz7tpFp1eei+hzUPNN9\/RBERUOkIiICPXQPqaGaGOodTve3AlbzZ7+YWHsNtutzkqa+lurmOa7oumky50g58zuP5dlp9VXJtusc2HYlnHRR4O+TzPgM+i76foDbrJTU7mlsnDxPB5hx3I8OXgtYtxhc4qtONWuo9Fn0Kr7D1J\/r\/\/AJKfYGoJOrJqF7W97Ac\/MLToq+IzT4WHV\/dmY\/ctk4\/HXWrqT38WPnntU2m0lZqYg+y9M4DGZXF3py9FdIjnJ8yY7NRTvu+pzhghp2COCJkTByaxoaPRdERUOhKwREQBERAfOb0\/hrb6NutJGPXP0W+oWdHb6Zm\/ViaN\/gF861ES283GHPXlnYQO8YP5hfTGgNaGjYAYC3q+VHm7HmpPt7s\/URFgekEReXvbGxz3nDWgknuCAzNMfbP2gVMjR1KWDhye\/A8uZ8lqFmNGtdUvuV0c3HtU54cjkNzt\/wBvRadXqa26HNsuYb3VthERUOkIiiXStFttlRWEA9EwkAnGTyA88IlciTUU2ygqHi+6xipRl1Lbhxv7Q54Pb44HgVcU9\/ttTXvoWz8M7XFoa4EcXwPIqFo+hdTWj2qVuJ6x3SuJ5kfy\/U+KlXbT1vu8eJYhFLnIljADvHvC1lu3s+Rx01V3PEjq85\/CLVFk47pcdMVDKW7ZqaJ2GxVLB\/D8e\/4c+5aiGaOohZNC8PjeMtc07EKkotG9OtGpjRrVHRERVNgiIgCIiAIiIDEavoBHqCiq9gyoc1ry47ZBHpghbdVGoLBHfYYw6Z0UkPFwEbg5xz8gotivUrZvse6joqyHqsceUoA7+\/HmtXxRVuRxQtSrSurKWj7mhREWR2hZ7Vtweykba6UOfVVmG8LBkhnInx5ea63fVFJbz0FMPa6txwIoznB95Hy5rnY7JOyqdeLo7pK6X+EdkYxjzxt7lpFbvEzkqz8T5VP+X0XuW1soW222wUbTxdEzBdjGTzJ88qUiLNu51RSikkEREJCy2qpPtG40FiieQZX9JNw9jf7ZPktSsvp8m46kudzeMtjPQx57s+mwHn8VpDF5dDm2jiUaf7n+NWaZjGxsaxgw1oAA7gvSIszpOdRTxVUD4J4xJG8Yc13IrLfidHVn889omd8TCT+vH4rWrnNDHUQvhmYHxvGHNcNiFaMrYehjVpb\/ABRxJaP\/ALkIZo6iFk0Lw+N4y1zTsQuixssddo2q6aDiqLTK\/rR8zGT8j7+R7exaykq4K6mZU00gkieMghTKNsrQilW324yVpLl7djsiIqG4REQBERAFXXayUV5hDKlhD2jqyN2c1WKKU2sorKMZrdkrozH7u3unHR0t\/k6IchIDkIdNXipHBWagmMZ2c2MHrDzC06K3iSMPhaff7srbVYLfaG\/hocydssmC\/wA+zwVkiKrbeWbxhGCtFWQREUFgiIgPEsgiifIeTGlx8FntDR4sb5Sculnc4nwAV9WAminAGSY3fJUmif8ADrP916uvIzmn+vH6P0NCiIqHSEREB4lijmidFKwPY8Yc1wyCFlKmjrNJ1Tq6g4p7a85mg7We8fn5961y\/HNDmlrgCCMEHtVoysY1aSnnRrRnChrqa40ramlkD43eYPcR2FSFVW6wUtquE1VSPkYyZuDDnqg5zkfrtKtVDtfBem5uPGshERQXCIiAIiIAiIgCIiAIiIAiIgC8ta1jQ1jQ1o5ADACIhHM9IiISEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "PERSONAL",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "18:11",
    "ubicacionGPS": "LatLng(lat: -23.661835, lng: -70.3999587)",
    "horaLlegada": "15:29",
    "horaDespacho": "13:35",
    "idMovimientoMaquina": "5",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


20/05/2026 18:11:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 18:11:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[20/05/2026 18:11: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('76121841', 'KY2160', 3, 21773342, 54775, NOW(), 
				'13:35', '15:29', '18:11', 5, 'Revision, mantenimiento y limpieza', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779315092.png', '', null, 'COMPLETADO','LatLng(lat: -23.661835, lng: -70.3999587)' )
				
[20/05/2026 18:11:32] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200388

20/05/2026 18:11:32 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200388'                    
				WHERE idllamado = 12660			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


20/05/2026 18:11:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 18:11:32 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12660			
				
20/05/2026 18:11:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


20/05/2026 18:11:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 18:11:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 18:11:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 18:11:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 18:11:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 18:11:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 18:11:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 18:11:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

[20/05/2026 18:11: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;
                

20/05/2026 18:11:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 18:11:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 18:11:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 18:11:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

[20/05/2026 18:11: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;
                

[20/05/2026 18:11: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;
                

20/05/2026 18:11:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12660
            GROUP BY l.idllamado;
            

20/05/2026 18:11:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 18:11:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 18:11:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 18:11:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12660
                

20/05/2026 18: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 = 12660
                

20/05/2026 18: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 = 12660
                

[22/05/2026 08:10: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;
                
[22/05/2026 08:10:32] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[22/05/2026 08:10: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;
				

[22/05/2026 09:01: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;
                
[22/05/2026 09:01:09] 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;
                
[22/05/2026 09:01:09] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' 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;
				
[22/05/2026 09:01:09] 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;
                
[22/05/2026 09:01:09] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' 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;
				

[22/05/2026 09:05: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;
                

22/05/2026 09:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[22/05/2026 09:05: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;
                

[22/05/2026 09:05: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;
                

[22/05/2026 09:05: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;
                

22/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[22/05/2026 09:05: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;
                
[22/05/2026 09:05:43] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[22/05/2026 09:05:43] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[22/05/2026 09:06:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[22/05/2026 09:06: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;
				
[22/05/2026 09:06: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;
                

[22/05/2026 09:35: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;
                

22/05/2026 09:35:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

[22/05/2026 09:35: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;
                

[22/05/2026 09:36: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;
                
[22/05/2026 09:36: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;
                
[22/05/2026 09:36: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;
				

[22/05/2026 10:29:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 10:29:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 10:29:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            
[22/05/2026 11:52:34] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 95585912 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '95585912'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[22/05/2026 11:52: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 = '95585912'
				GROUP BY anio
				ORDER BY anio DESC;
				

[22/05/2026 11:52:36] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 11:52:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:52:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

[22/05/2026 11:52:47] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 11:53:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:53:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

22/05/2026 11:53:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:53:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

[22/05/2026 11:53:14] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 11:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:53:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

22/05/2026 11:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

22/05/2026 11:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:53:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

22/05/2026 11:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:53:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

22/05/2026 11:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:53:39 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

22/05/2026 11: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 = 12682
                

22/05/2026 11: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 = 12682
                

22/05/2026 11:53:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:53:39 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

22/05/2026 11: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 = 12682
                

22/05/2026 11: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 = 12682
                

22/05/2026 11:53:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:53:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

[22/05/2026 11:53:41] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 11:53:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:53:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

[22/05/2026 11:53:44] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 11:53:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:53:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

22/05/2026 11:53:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:53:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

22/05/2026 11: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 = 12682
                

22/05/2026 11: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 = 12682
                

22/05/2026 11:53:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:53:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

22/05/2026 11: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 = 12682
                

22/05/2026 11: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 = 12682
                

22/05/2026 11: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 = 12682
                

22/05/2026 11: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 = 12682
                

22/05/2026 11: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 = 12682
                

22/05/2026 11: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 = 12682
                

22/05/2026 11:53:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:53: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

22/05/2026 11: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 = 12682
                

22/05/2026 11: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 = 12682
                

22/05/2026 11:53:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:53:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

22/05/2026 11:53:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:53:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

22/05/2026 11:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:53:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

22/05/2026 11:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:53:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:54:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:54:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

22/05/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:54:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:54:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

22/05/2026 11:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:54:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:54:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

22/05/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 = 12682
                

22/05/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 = 12682
                

22/05/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 = 12682
                

22/05/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 = 12682
                

22/05/2026 11:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:55:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:55:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

22/05/2026 11:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:55:08 - logentry: =========================================
FECHA: 22/05/2026 11:55:08
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-0ObzWTndIy4ZoQx1hvjCsASardwY-Mzm6a8owEcqJ66ToBOjrTy
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2663",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "CSJ TALLER MANTENCION",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "TALLER",
    "rutTecnico": "95585912",
    "contador": "62207",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se instala, servicio para asociar máquina a cliente ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12682",
    "observacion": "se instala, servicio para asociar máquina a cliente",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABwALADASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABAEAABAwMBBAgEBAMFCQAAAAABAAIDBAURIQYSMUETIlFhcYGRsRQWodEVJDLBIzOiB1JUktI0QkNWk8Lh8PH\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMBBAX\/xAAuEQACAQIEAwcEAwEAAAAAAAAAAQIDERIhMVETMkEEFHGRobHRM2GB4VJT8CL\/2gAMAwEAAhEDEQA\/AP2ZERABFnXe+UdlhD6hxMjh1Im\/qd9h3rGjpL7tEOkrZn26jcerDHo9w7\/Hv9E6jdXehCdZKWGKu9vnY07htRabc5zJKjpJW8Y4hvH14DzKzvmW7Vuttscrm8nzZAPsOGOa1bds7bLWAYKcOkxgyydZx+3lhaa28VoriYK0+aVvD5ZMi47YNwX2elIB1DXjJ\/rK3qGeapoopp4DTyvGXRk6tK9CJXK\/QrCm4Pmb8QiLD2puc9DRRQUZIq6p4ZFjjxGcd+o9ViV3YapNU4uT6G4il9\/aWyEPl3LlSg5eW5LwMa8ezHete0XujvMO\/TPxI0deJ2jm\/fxCZwaVycK8ZPC8nszRRESFwiL4SAMk4AQAJAGScALBuO11BSSdBStdXVBOAyE6Z8ftleAx1+19RJ+Y+HtcTyzDDkyEe\/Hw8VQ2+00Nrj3KOnbGSMOfxc7xPFUtGOupyY6lX6eS3+EYnTbW3Jx6KKC3RHIBkHWx9TnyC+\/gu0zsF19a0891px7KnRGPZDd2T5pN\/n4JV9btJYQJbgI6+kB674h1mDPlyzyI71R0VZBX0kdVTP345BkH9iu1zWvYWPaHNcMEEZBCxLFaKuz3CshaQbfId+Hrklp7MeHPuHkNqS+4RjOnNJNuL9P0bqzL3e4bPTZI6SofpFCDq4\/Ze2rqoqKlkqZ3bscTd5xU3s\/QzXevO0NxA3icU8WNGgcD9vVZFLV6G1pyuoQ1fotz0WWxSvnN2vOJq2XVrHDIiHLTt9lRIiWUm3mUp04042QREWFAiLqdUwMGXTxtHe8BBl7HapisIrtvKSnLRuUkXSHTUnBI92qg+NpP8VD\/ANQKe2eIrNp7xXghzWuETXZzkZxp3dUKkMrs5q7UnCC6v2zKhTl7sEjZhdLN\/ArY9XMYMCXt07fdUaJYycXdFqlONSNmZdjvcV5pS7d6KoiOJojxafstRSl9ifYb1DfaYYglcI6pjeeeeO\/HqO9VLHtkjbIxwc1wBaRzC2SWq0J0Zyd4T1Xr9zkvhAIwRkFfUSHQR7H1Ox1dI18TpbVPJvBzRrETj68sdwVVS1dPWwNnppWyxu4OaVzlijmjdHLG2RjhhzXDIPkpup2WqKGpdW2GqMEhOXQPPUdrwz2dx9VS6lrkzkUZ0eRXjt1XgU6Kao9rmxzfCXqmdQ1Axl2CWHn4jiO3xVFFLHNG2SKRsjHDLXNOQfNK4uOpanVhU5Wc0REpUmds5XzRUVqid16uYZA7Bp7kei0Ky9WuwsjpJ5i1zIxuRtYSd0aDhoOCzJfz39oUbDktooM45ZxnP9Y9AqGahpKids81LDJK0Ya97ASB4lVdkkmcUFOUpzjre2f2MA7aMmOKC1VdSfDGfTK+fiu1dUfy9nigaecx1HqR7KnAAGAMAL6sxRWiKcGo+ab\/AAkiY+B2vqP5lzpoGnkxoyP6f3Xz5VuUx\/NbQ1Lhw3Wg8P8AMqhEcR9A7rB8zb8WyY+RaJ\/86urJOZ6zePbqCuxuw1nacn4h3cZP\/Co0WcSW4d1ofxRL12yVlo6GepMcx6JhcB0hOTjQLv2Jo\/hrEJXDrVDy\/wAuA9j6r5tvUmGw9C09aolazA4kcf2C26KnFJQwUwxiKNrNO4YTOTwZ9ScKUF2j\/lWsvc70ReOqu9uoh+YrYYz\/AHS8E+nFTSb0OxyUVds53GiZcbfPSSYxKwtBPI8j5HBWPsdVyvt81BUH+NQyGMjmBy+oI8lxn23tUZ3YGz1LuW4zAPrg\/RYNLcroNpal9ut\/RTVrciGoyMcy7XHYVWMJYWmefU7RTVWMou\/R2\/25+grz1dwo6Bm\/V1McIxkb7sE+A4lT\/wCD7S3Ah1deBSsI1ZT8R3aY9yu+k2KtcJD6gy1T8amR2B6D7pcMVqy\/Fqy5IW8fg66jbSmMvQWylmrpicANG6D3jn9F1bm1l3aN90VshJB6v6yPqfLRUlPS09JH0dNBHCz+7G0NH0XcjElog4M5\/Un+Fl+zCo9krbBHKKkPrXzAb75jrntGNR65XkmsFysznVFhqi6MDJpZckHAPDt4nTRVCLMchn2anayVvutSepNr6bpfhrnC+hqGkhwfqzTOufL\/AOrfY9kjA9jg5p4FpyCumtoKS4w9DVwMmZy3hqPA8R5KTt4jtW0jaOy1LqqCU\/x4zq1nb1uGnnwW2UtBHOpSaU80\/Py6\/g9tlw7bO8OPEAD2+yp1M2siLbm6QkBu\/EHjv\/Sf3VMsnqN2bkfi\/cIiJDpCIiACIiAJfad3xN9s1DgFpmEjxniMj9gVsXinuVTTsbbKtlNIH9ZzhoW48Dzwsdh\/EP7QHOxllBBgHlkj3y4+iqFSTtY5KUcbqN9XbyJb5Qq6oEXK91E4P+63P7k9vYvZS7HWamIJgdO4c5X5+gwFuosdSW467LRTvhv45+50wUtPSs3KeCOJvYxoCnrziDbS0VBz12mMYPeR\/wByp1MbTfw9obFK79PTbuezrN+62HML2lJU7ro17lOiIpnUEXhrbzbreHfE1kTHN4s3su9BqsWXa6eskdDZLbLVOBA6V7TujxA\/chMoSZGdenDJvPbqVCxbntVbbdljZPiZ+UcJzr3ngFnusF8u+Td7mIonEEwQDI8OQ91s2+wWy2brqamb0jR\/Mf1nevLyTWitXcnjrVOVYVu\/j5MT4baDaQD4p\/4bRPzmJo6zh7nPfgdy3rbZ6G0xltJCGuIAc86ud4le5Fjm3l0Hp0IxeJ5vd\/7ImtoKeottzh2gpG74jAZUx8N5ueP18sBa9vvFBdIw+lqGOJ4xk4ePEL2kAjBGQVh1uyFprJDK1klPIecLsAY4aHIHktumrSFcKkJOVPNPVfBuopg7GyRnNNe6yLA01zj0IT5Wuv8AzPWejv8AWswx3Di1v6\/VFOimBsrczo\/aasLTxHW1\/rT5PmdgSXyrcByyePqjDHcOLV\/r9UU64uc1jC9xw1oyT2BTfyLQOJ6Srq3t5N3xp9F8+QbV\/iKz\/O3\/AErbQ3DiV\/4ev6PmxjHVH4hdHjrVU5xnsGun+b6KoXRR0cFBTNp6aMMjbyHM9pXa97I2F8jgxrRkuccAJZPE7j0YcOmos5IsOt2vs9GS0VBqHjlCN4evD6rwi87R3bH4bbBSxHGJZvcZwCPAFaoSFl2mmnZO7+2ZUkgDJOAFHbYXWhkfQup6mOaanm3y2M72B48OIC9Ldkqytw683eafJyYoz1Rr2n7Bc7vsjTOtPQWumjZOHh2886kcxk\/+6J4YYy1IV3XqU2lG3v6HA7QX24ndtdndGw8JZ+zt1wPdffly83DW6Xp4aeMUGcY+g7eRVNGHCNofq4AZ1zquSXHbRFe74vqSb9F5IxKPZCzUbg405qHDgZzvfTh9FssYyNgZG0Ma0YDWjAC5Ikcm9S8KcIK0VYIiLBwiIgAiIgAiIgAi4veyNhfI4Ma0ZLnHACna\/bCBsvwtqgfX1B0G4Du\/c+XqmUXLQnUqwpq8mUiy67aO02\/ImrGOeP8Ahx9d2ezTh54WSLVtFepN651nwNORrDAdSOzQ+5K1LfszaraAY6YSSA5Ek3Wdn2HkmtFasjxKs+SNlu\/gyxtBeru4Ns9sMUTh\/tE408Ry91yi2RnrJGzXu5S1TgSeiY47o8Cf2AVQiMduXIO7KWdR4vbyPDRWW228D4ajjY4cHkZd6nVe5ESNt6nRGKirRVgiIsGCIiACIiACIiACIiACL4dBnGe5TAqdrq7edDS09GwvO6JP1ADhx4+OPRMo3JVKihbJvwKckAZJwAsO57WUNEehpPz1S44EcJyM95HsF5Bs3drjj8ZvD3Rn9UMGgP0A+i2bbZaC1MxSQBrsYMjtXHzTWitcyWKtU5VhW718jCjsd1v8jam+VDoIM5bSR6ad\/Z55PgqSjoKS3xCKkgZE0DHVGp8TxK9CJXJspTowhnq93qEREpYIiIAIiIAIiIAIiIAIiIAIiIAIiIA\/\/9k=",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "BERLIAM",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56995359625",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:55",
    "ubicacionGPS": "LatLng(lat: -23.6618427, lng: -70.4000908)",
    "horaLlegada": "11:50",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 22/05/2026 11:55:08
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-0ObzWTndIy4ZoQx1hvjCsASardwY-Mzm6a8owEcqJ66ToBOjrTy
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2663",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "CSJ TALLER MANTENCION",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "TALLER",
    "rutTecnico": "95585912",
    "contador": "62207",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se instala, servicio para asociar máquina a cliente ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12682",
    "observacion": "se instala, servicio para asociar máquina a cliente",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABwALADASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABAEAABAwMBBAgEBAMFCQAAAAABAAIDBAURIQYSMUETIlFhcYGRsRQWodEVJDLBIzOiB1JUktI0QkNWk8Lh8PH\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMBBAX\/xAAuEQACAQIEAwcEAwEAAAAAAAAAAQIDERIhMVETMkEEFHGRobHRM2GB4VJT8CL\/2gAMAwEAAhEDEQA\/AP2ZERABFnXe+UdlhD6hxMjh1Im\/qd9h3rGjpL7tEOkrZn26jcerDHo9w7\/Hv9E6jdXehCdZKWGKu9vnY07htRabc5zJKjpJW8Y4hvH14DzKzvmW7Vuttscrm8nzZAPsOGOa1bds7bLWAYKcOkxgyydZx+3lhaa28VoriYK0+aVvD5ZMi47YNwX2elIB1DXjJ\/rK3qGeapoopp4DTyvGXRk6tK9CJXK\/QrCm4Pmb8QiLD2puc9DRRQUZIq6p4ZFjjxGcd+o9ViV3YapNU4uT6G4il9\/aWyEPl3LlSg5eW5LwMa8ezHete0XujvMO\/TPxI0deJ2jm\/fxCZwaVycK8ZPC8nszRRESFwiL4SAMk4AQAJAGScALBuO11BSSdBStdXVBOAyE6Z8ftleAx1+19RJ+Y+HtcTyzDDkyEe\/Hw8VQ2+00Nrj3KOnbGSMOfxc7xPFUtGOupyY6lX6eS3+EYnTbW3Jx6KKC3RHIBkHWx9TnyC+\/gu0zsF19a0891px7KnRGPZDd2T5pN\/n4JV9btJYQJbgI6+kB674h1mDPlyzyI71R0VZBX0kdVTP345BkH9iu1zWvYWPaHNcMEEZBCxLFaKuz3CshaQbfId+Hrklp7MeHPuHkNqS+4RjOnNJNuL9P0bqzL3e4bPTZI6SofpFCDq4\/Ze2rqoqKlkqZ3bscTd5xU3s\/QzXevO0NxA3icU8WNGgcD9vVZFLV6G1pyuoQ1fotz0WWxSvnN2vOJq2XVrHDIiHLTt9lRIiWUm3mUp04042QREWFAiLqdUwMGXTxtHe8BBl7HapisIrtvKSnLRuUkXSHTUnBI92qg+NpP8VD\/ANQKe2eIrNp7xXghzWuETXZzkZxp3dUKkMrs5q7UnCC6v2zKhTl7sEjZhdLN\/ArY9XMYMCXt07fdUaJYycXdFqlONSNmZdjvcV5pS7d6KoiOJojxafstRSl9ifYb1DfaYYglcI6pjeeeeO\/HqO9VLHtkjbIxwc1wBaRzC2SWq0J0Zyd4T1Xr9zkvhAIwRkFfUSHQR7H1Ox1dI18TpbVPJvBzRrETj68sdwVVS1dPWwNnppWyxu4OaVzlijmjdHLG2RjhhzXDIPkpup2WqKGpdW2GqMEhOXQPPUdrwz2dx9VS6lrkzkUZ0eRXjt1XgU6Kao9rmxzfCXqmdQ1Axl2CWHn4jiO3xVFFLHNG2SKRsjHDLXNOQfNK4uOpanVhU5Wc0REpUmds5XzRUVqid16uYZA7Bp7kei0Ky9WuwsjpJ5i1zIxuRtYSd0aDhoOCzJfz39oUbDktooM45ZxnP9Y9AqGahpKids81LDJK0Ya97ASB4lVdkkmcUFOUpzjre2f2MA7aMmOKC1VdSfDGfTK+fiu1dUfy9nigaecx1HqR7KnAAGAMAL6sxRWiKcGo+ab\/AAkiY+B2vqP5lzpoGnkxoyP6f3Xz5VuUx\/NbQ1Lhw3Wg8P8AMqhEcR9A7rB8zb8WyY+RaJ\/86urJOZ6zePbqCuxuw1nacn4h3cZP\/Co0WcSW4d1ofxRL12yVlo6GepMcx6JhcB0hOTjQLv2Jo\/hrEJXDrVDy\/wAuA9j6r5tvUmGw9C09aolazA4kcf2C26KnFJQwUwxiKNrNO4YTOTwZ9ScKUF2j\/lWsvc70ReOqu9uoh+YrYYz\/AHS8E+nFTSb0OxyUVds53GiZcbfPSSYxKwtBPI8j5HBWPsdVyvt81BUH+NQyGMjmBy+oI8lxn23tUZ3YGz1LuW4zAPrg\/RYNLcroNpal9ut\/RTVrciGoyMcy7XHYVWMJYWmefU7RTVWMou\/R2\/25+grz1dwo6Bm\/V1McIxkb7sE+A4lT\/wCD7S3Ah1deBSsI1ZT8R3aY9yu+k2KtcJD6gy1T8amR2B6D7pcMVqy\/Fqy5IW8fg66jbSmMvQWylmrpicANG6D3jn9F1bm1l3aN90VshJB6v6yPqfLRUlPS09JH0dNBHCz+7G0NH0XcjElog4M5\/Un+Fl+zCo9krbBHKKkPrXzAb75jrntGNR65XkmsFysznVFhqi6MDJpZckHAPDt4nTRVCLMchn2anayVvutSepNr6bpfhrnC+hqGkhwfqzTOufL\/AOrfY9kjA9jg5p4FpyCumtoKS4w9DVwMmZy3hqPA8R5KTt4jtW0jaOy1LqqCU\/x4zq1nb1uGnnwW2UtBHOpSaU80\/Py6\/g9tlw7bO8OPEAD2+yp1M2siLbm6QkBu\/EHjv\/Sf3VMsnqN2bkfi\/cIiJDpCIiACIiAJfad3xN9s1DgFpmEjxniMj9gVsXinuVTTsbbKtlNIH9ZzhoW48Dzwsdh\/EP7QHOxllBBgHlkj3y4+iqFSTtY5KUcbqN9XbyJb5Qq6oEXK91E4P+63P7k9vYvZS7HWamIJgdO4c5X5+gwFuosdSW467LRTvhv45+50wUtPSs3KeCOJvYxoCnrziDbS0VBz12mMYPeR\/wByp1MbTfw9obFK79PTbuezrN+62HML2lJU7ro17lOiIpnUEXhrbzbreHfE1kTHN4s3su9BqsWXa6eskdDZLbLVOBA6V7TujxA\/chMoSZGdenDJvPbqVCxbntVbbdljZPiZ+UcJzr3ngFnusF8u+Td7mIonEEwQDI8OQ91s2+wWy2brqamb0jR\/Mf1nevLyTWitXcnjrVOVYVu\/j5MT4baDaQD4p\/4bRPzmJo6zh7nPfgdy3rbZ6G0xltJCGuIAc86ud4le5Fjm3l0Hp0IxeJ5vd\/7ImtoKeottzh2gpG74jAZUx8N5ueP18sBa9vvFBdIw+lqGOJ4xk4ePEL2kAjBGQVh1uyFprJDK1klPIecLsAY4aHIHktumrSFcKkJOVPNPVfBuopg7GyRnNNe6yLA01zj0IT5Wuv8AzPWejv8AWswx3Di1v6\/VFOimBsrczo\/aasLTxHW1\/rT5PmdgSXyrcByyePqjDHcOLV\/r9UU64uc1jC9xw1oyT2BTfyLQOJ6Srq3t5N3xp9F8+QbV\/iKz\/O3\/AErbQ3DiV\/4ev6PmxjHVH4hdHjrVU5xnsGun+b6KoXRR0cFBTNp6aMMjbyHM9pXa97I2F8jgxrRkuccAJZPE7j0YcOmos5IsOt2vs9GS0VBqHjlCN4evD6rwi87R3bH4bbBSxHGJZvcZwCPAFaoSFl2mmnZO7+2ZUkgDJOAFHbYXWhkfQup6mOaanm3y2M72B48OIC9Ldkqytw683eafJyYoz1Rr2n7Bc7vsjTOtPQWumjZOHh2886kcxk\/+6J4YYy1IV3XqU2lG3v6HA7QX24ndtdndGw8JZ+zt1wPdffly83DW6Xp4aeMUGcY+g7eRVNGHCNofq4AZ1zquSXHbRFe74vqSb9F5IxKPZCzUbg405qHDgZzvfTh9FssYyNgZG0Ma0YDWjAC5Ikcm9S8KcIK0VYIiLBwiIgAiIgAiIgAi4veyNhfI4Ma0ZLnHACna\/bCBsvwtqgfX1B0G4Du\/c+XqmUXLQnUqwpq8mUiy67aO02\/ImrGOeP8Ahx9d2ezTh54WSLVtFepN651nwNORrDAdSOzQ+5K1LfszaraAY6YSSA5Ek3Wdn2HkmtFasjxKs+SNlu\/gyxtBeru4Ns9sMUTh\/tE408Ry91yi2RnrJGzXu5S1TgSeiY47o8Cf2AVQiMduXIO7KWdR4vbyPDRWW228D4ajjY4cHkZd6nVe5ESNt6nRGKirRVgiIsGCIiACIiACIiACIiACL4dBnGe5TAqdrq7edDS09GwvO6JP1ADhx4+OPRMo3JVKihbJvwKckAZJwAsO57WUNEehpPz1S44EcJyM95HsF5Bs3drjj8ZvD3Rn9UMGgP0A+i2bbZaC1MxSQBrsYMjtXHzTWitcyWKtU5VhW718jCjsd1v8jam+VDoIM5bSR6ad\/Z55PgqSjoKS3xCKkgZE0DHVGp8TxK9CJXJspTowhnq93qEREpYIiIAIiIAIiIAIiIAIiIAIiIAIiIA\/\/9k=",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "BERLIAM",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56995359625",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:55",
    "ubicacionGPS": "LatLng(lat: -23.6618427, lng: -70.4000908)",
    "horaLlegada": "11:50",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


22/05/2026 11:55:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[22/05/2026 11:55: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('76050301', 'KY2663', 2, 95585912, 62207, NOW(), 
				'08:00', '11:50', '11:55', 1, 'se instala, servicio para asociar máquina a cliente ', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779465308.png', 'se instala, servicio para asociar máquina a cliente', null, 'COMPLETADO','LatLng(lat: -23.6618427, lng: -70.4000908)' )
				
[22/05/2026 11:55:08] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200389

22/05/2026 11:55:08 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76050301'
				   AND serieintmaquina = 'KY2663'
		
22/05/2026 11:55:08 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY2663'
				   AND estado = 1
				
22/05/2026 11:55:08 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76050301', 'KY2663', 1, 1, now(), 'CSJ TALLER MANTENCION', 'ANTOFAGASTA', 'TALLER');
				
22/05/2026 11:55:08 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200389'                    
				WHERE idllamado = 12682			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


22/05/2026 11:55:08 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12682			
				
22/05/2026 11:55:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


22/05/2026 11:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:55:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:55:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

22/05/2026 11:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:55:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:55:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

[22/05/2026 11:55:11] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 11:55:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:55:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

[22/05/2026 11:55:11] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 11:55:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:55:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12682
LIMIT 1;
        

22/05/2026 11:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:55:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:55:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12682
                

22/05/2026 11:55:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:55:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

[22/05/2026 11:55:17] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 11:55:17] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 11:55:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:55:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/2026 11:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:55:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:55:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/2026 11:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:55:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:55:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/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 = 12683
                

[22/05/2026 11:55:27] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 11:55:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/2026 11:55:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/2026 11:55:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:55:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/2026 11:55:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[22/05/2026 11:55:27] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 11:55:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/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 = 12683
                

22/05/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 = 12683
                

22/05/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 = 12683
                

22/05/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 = 12683
                

22/05/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 = 12683
                

22/05/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 = 12683
                

22/05/2026 11:55:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:55:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/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 = 12683
                

22/05/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 = 12683
                

22/05/2026 11:55:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:55:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/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 = 12683
                

22/05/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 = 12683
                

22/05/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 = 12683
                

22/05/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 = 12683
                

22/05/2026 11:55:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:55:33 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/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 = 12683
                

22/05/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 = 12683
                

22/05/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 = 12683
                

22/05/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:55:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:55:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11: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 = 12683
                

22/05/2026 11:55:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:55:39 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/2026 11: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 = 12683
                

22/05/2026 11: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 = 12683
                

22/05/2026 11:55:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:55:39 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/2026 11: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 = 12683
                

22/05/2026 11: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 = 12683
                

22/05/2026 11: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 = 12683
                

22/05/2026 11:56:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:56:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/2026 11:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:56:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:56:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/2026 11:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11: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 = 12683
                

22/05/2026 11: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 = 12683
                

22/05/2026 11:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/2026 11:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:56:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:56:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/2026 11:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:56:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:56:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/2026 11: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 = 12683
                

22/05/2026 11: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 = 12683
                

22/05/2026 11: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 = 12683
                

22/05/2026 11: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 = 12683
                

22/05/2026 11: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 = 12683
                

22/05/2026 11:56:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:56:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/2026 11: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 = 12683
                

22/05/2026 11: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 = 12683
                

22/05/2026 11:56:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:56:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/2026 11: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 = 12683
                

22/05/2026 11: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 = 12683
                

22/05/2026 11: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 = 12683
                

22/05/2026 11: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 = 12683
                

22/05/2026 11:56:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:56:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/2026 11: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 = 12683
                

22/05/2026 11:56:25 - logentry: =========================================
FECHA: 22/05/2026 11:56:25
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-LPVb+ifZssJ6Y-sJjDfN06UbEM4kKDnLhLvhDTu+0YX+ACJ.vKn
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2779",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "CSJ",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "TALLER",
    "rutTecnico": "95585912",
    "contador": "908",
    "contadorColor": "3785",
    "contadorScanner": "0",
    "detalle": "se instala, servicio para asociar máquina a cliente",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12683",
    "observacion": "se instala, servicio para asociar máquina a cliente",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB4APgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABCEAABAwMBBAcFAwoFBQAAAAABAAIDBAURBhIhMVETQWFxgZGhFCIyscEVFtEjMzRCUlVWYnLwJJKistIHJZPh4v\/EABgBAQEBAQEAAAAAAAAAAAAAAAADAgQB\/8QAMBEAAgECAwYEBQUBAAAAAAAAAAECAxESITEEEzJBUaEicZHRFDNCYfAjUoGxweH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREARQqi722lB6eugYRxHSAny4rnR3+13Cq9mpaoSy4J2Qxw3d5GF7hetjG8he11csURF4bCIiA5zsfJTyRxS9FI5hDZMZ2DjccdeFzoYqiCiiiqp+nmaMOkxjaXWWaOCJ0sz2xxsGXOccABZ6TWtEZujpaWpqWgkOexm7vHWVpRb0I1KlOm7ydvzoaRFQ0esLVUyCKV76WTJBEwwAe\/q8cK9a4OaHNIIIyCOteOLWpqFSFRXi7n1EReFAiIgCIiAIiIAi41FXTUjNupqI4W83vDfmqt+rbM2obA2q6RznhuWtOyMnGc8ML1Rb0ROVWEOJpF0iIvCgREQBERAERc554qaF808jY42DLnOOAEDdjoq65X23WoYqqgCTGRG33nHwHDxVK67XfUUz4bNGaWkacOqpNxPPH4Df3ZVlbNL2+3OEz2mqqOJlm3nPYOr5qmFR4jl306nyll1en8dSuGoL5dmE2e1dHEcgTTHj2jOB80GlrlcTt3m7yPBOeihO7h5DyWqRMduFWHwyl8yTl2Xoikp9H2WnG+lMx5yPJ6\/JWNPbKCkeH01FBE8DG0yMB3nxUpFlyb1ZaNKnHhikERFkoERVGqLgbdYppGnEkmImcOJ\/9Ar1K7sYnNQi5PkVM759VXqSha8ttVK78o5ox0jh1Z78+AytTBTw0sLYYI2xxtGA1owAoVht4ttphhOTK8dJK48S88c\/LwVitSfJaEqFNpY5cT\/LEOvtVDc49mrp2SEAgPI95vcVm3MrNGVLHMkfU2iV2HNcAXRk\/X0PktguFZSR11HLSzDLJWlp7O1Iytk9BVoqXijlLqdIZY54WTRPD43gOa4cCF7Wa0ZUPFLVWyZxMlFMW7+oEnd5g+a0q8ksLsbpVN5BSCIiyVChV94t9swKyqZETwbvLvIb1E1Pc57XaHTU7fyjzsB+Pgz196j2vSdDTkVVW726of7xe\/e3PMDr8VtRVrs551JueCms+dyO7V89a\/o7PaZ6g\/tvGAO\/H4hfPs\/VdyINVcI6Bh4sh+IeX\/JahrQ0YaAByC+r3GlojO4lL5k2\/LJGcg0TbmuMlZNPWSHiXvwPTf6q4pbXQUP6NRwxHGNprBnz4qWiy5SerKwo04cMQiIslQiIgCIiA5VNRFSU0lRM7ZjjaXOPYFk4IqvWNZ7RU7cFqid7kfAyY7fmfAc11ub36k1A20QuLaOkO1UuB+MjGR4Hd5nqWohhip4WQwsDI2DDWtG4BV4F9zja+Ik19K7v2Qhhip4WQwsDI2DDWtG4BdERSOzQIiIAiIgCIiALL6kHt2orTbeLNoyvAG8jP4NK00kjImF8j2saOJccALE198oYdZtr3SdPBBBsNMOHZJB4dX6xVKad7o49rnFQSk9WvQ3CLLfeC+XMkWq0GNhziWf+wPmrCHVVncGskr4xKGjb9x7W568ZHovHCSKR2mm+dvPK\/lcuUVa3UNncMi40\/i\/C9Nv1occC5U3jKAs4X0Kb2n+5epT24eza9uMIPuTQh+Bz90\/UrULHSXGhj122qbVwGB0GHSh4LQcHdnwC0H2\/aP3lTf8AkCpNN28jn2epBKSbWrLFFWO1FZmnBuMHg7K4yatscY\/Tg4kZw2Nx+ixhl0LutSWsl6ljW0UFwpJKWobtRyDB5jtHaszT1ldpKT2SuZJVW3P5KoaPzeeo\/h5KXJrmzsJ2RUSf0xjf5kK8jdDcKJj3RbcM7A7YlbxB37wVrOKtJZEXgrSxU5eJfmYpKynr6dtRSyiWJ3Bw\/vcu6y9VpqrttS6u09P0b3Z26d5Gy7fwGd3n5r1TawbA7oL1Ry0UwOC4MJafDiOPamC+ccz1bRhyqqz68vU0yLjTVlNWR9JTTxzN5scDjv5LspnSmmroIiIehERAFFudX7BbKiqxkxRlwHM9XqpSoNaSOZpyRjQT0j2tOB1Zz9FqKvJIlWngpykuSGjqMU9kbUOLjJVPMjto5OM4HoM+Kv1Gt8Ip7dTQtGAyJrcdwUhzg0ZcQBzKSd22KUMFNR6H1FEmutupyRNX07COp0rc+SrZ9ZWSH4ah8p5Rxn64RRk9EJVqceKSL1Fl\/vhPVHFtstVUD9p27HkD80P3wryQPZqBmeO4k\/Pl2cVrdvnkT+Jg+BN+SNOSAMk4AVbWaitNCS2atj2xxaw7ZHfjgqoaNfUu2rnd6mq\/lG4eueSsaPS9no8FlGyRw\/Wl9\/0O5LQXMY68tIpeb9vcrnaxlqtptptNTUkD4nDcO3Az8wnQauuRzJPBbozu2WYLsc+s+oWna0NGGgAcgvqY0tENxOXHNvyyMzFoqGVwkudwqayQc3YHdvyfVRrDb6am1jcIoog1lPEBG128jOzv\/vmtesxS5pv+oNW1x3VNOC3qzub\/AMStKUpJ36EalGnTlBxXP\/GaZzQ5pa4AgjBB61XyaftErtp1ugyTnczHyVg5wa0ucQABkk9SiSXa2xMD319M1pGQelbv7t6kr8jrmoPjt\/JFdpeyOOTb4\/AkfVeTpSxkb6Bvg9w+q8y6uscWf8ZtnkyNx9cYUJ+uKV52aOgqqhxOB7oGfLKolU+5zSnsi1t2ZAuFjt1Hqq204pQ2jqGFpYXOw52\/rznrar\/7q2P93s\/zO\/FZ641V6vFbRVUFknhNLJts284fvHHIHL1KsfbdYy\/DbKWIc3OGf930W3iss+5Cm6SlLwXV8vD9iybpiyt4W+Lxyfqu7LLao97LdSg8+haT8lTdFrObf09HBnqwDj0KfZmrn733mnB\/lb\/8BYs+ci6nBcNJ+iNHHTwQ4EUMbMcNloC6LMfYepP3\/wChT7uX3+I5vJ34rzCuptVZ8qb7e5p1yqKaCrhMNTCyWM8WvGQs793L7\/Ec3k78U+7l9\/iObyd+KYV+4OrUeTpvt7nus0bSmQz2yoloZuI2HEtz8x5ri27X+xtLbrR+2wNH6RDxHecdnWBxXv7r3d292pqoHk0Ox\/vT7q3Q7namrCOse9v\/ANa3daSdzncJp3pwcX5q3oXFtvNBdWZpJw5w4sO5w49Xgir7NpWO0VhqTWSTuwQARsgE8Tx3opSw38J20XUcP1FZl+iIslQs7rWkqKmzGSJ46OA7cjMb3cB6ZJWiXOaFlRBJBIMskaWuHMEYK1F4XcnVp7yDh1MnQWCvulvhqX6hqejlYCGNzgdnxY5hSm6FoHHM9XVynteB9FFtNedL1clouhLadzi+CfBLcH+\/A+a1kNRBUs24Jo5W\/tMcHD0VJSknlocdGlQqR8S8S1TZTwaPskIGaV0pxxkkcfQHCsYLVbqXBgoaeMjg4RjPnxUtFNyk9WdcaNOPDFIIuVRVU9LH0lRNHE3m9wCoKzW9uhJZSRy1knVsjZb5nf6IouWiFStTp8TsaReJZooGGSaRkbB+s9wAWIqdQ3etJDq2jtkRHU8Ofg8M4yc+AUJzrE54krrjX3SXJwGMLRx4e8c81RUnzOWW2x+lert\/3sa+q1XZaU4NY2V3KIF\/qN3qq86zNQP+3WirqT\/TjH+XPb5KBSVjYgDbNIPOcFssgLu7eR3HirAVesJhhlvpKduMDaPD\/UvcEVy7mN\/Uno\/SLfdnw3DVtWPyFrhpmng6Q7x5n6Knu1De6S5UlbcLgyOSZ3Re0Q7hCO3cOZ8ldbGsoxtmWjl2QfcAHveg+atIIX3e0sbdqJscjs7Uefh4jI5bj6piw55HjpOqrNyv99OximWqe9Xc0lLcJ62GLHTVMhOyN+\/GSc9m\/f4ZWph0ZZIvip3ynm+Q\/TCtqKgpbdD0NJCImZyQMknvJ3lSFmVRvQtR2OEVeaTf51IEFktdNjorfTgjrMYJ8ypzWhow0ADkF9RTbb1OuMYx0VgiIvDQREQBERAEREAREQBERAEREAREQHCroqWui6OqgZM3qDhnCopdFUIk6Sjqaikd\/I\/O75+vUpdz1Rbrc4xNeamozgRQ79\/Inq+arRFqW\/OzK82qlP6rch5+vnhVipJXvZHFWlRnK2HFL7e\/IgXKKezAxyasnc8D801rnP7vi3eJCj0FPqm6PxFV1kcJ4SyvcwY58z4ZWptulrZbX9K2MzzZz0kxDiD2DgrladRLQnHY3J3k7Lom\/wC2ZQaI9oAfcLpUTy448ceJyu0ehLSwDbfUyHry8D5BaVFjeS6nQtkoL6Sng0pZICC2ha485HOd6E4VlDSU1Nugp4ov6GBvyXZFhyb1ZaNOEeFJBEReGwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiKgvWpHU1R9nWyH2mvfuwN7Y+\/t\/sr1RcnZE6lSNON5FhdbzRWeHbqpPfIyyNu9zu4fVUJZfNUe9tG224ncN+3IO3n6DvUu06WZFIK67P9srXe8ds7TWH6rRLd1HTUhgqVs6mS6e7\/wAKy1WCgs7P8PFtS9cz97z49XgrNEWG282dMYRgrRVkERF4aCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgM7day+Vlc+222kfTRggOrHggY5tPDyye5TrJYqey05DPylQ\/wDOTEb3dnYERbk8rI5qdNOTnLN\/15FoiIsHSEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "BERLIAM",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56995359625",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:56",
    "ubicacionGPS": "LatLng(lat: -23.6618344, lng: -70.4000761)",
    "horaLlegada": "11:53",
    "horaDespacho": "11:55",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 22/05/2026 11:56:25
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-LPVb+ifZssJ6Y-sJjDfN06UbEM4kKDnLhLvhDTu+0YX+ACJ.vKn
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2779",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "CSJ",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "TALLER",
    "rutTecnico": "95585912",
    "contador": "908",
    "contadorColor": "3785",
    "contadorScanner": "0",
    "detalle": "se instala, servicio para asociar máquina a cliente",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12683",
    "observacion": "se instala, servicio para asociar máquina a cliente",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB4APgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABCEAABAwMBBAcFAwoFBQAAAAABAAIDBAURBhIhMVETQWFxgZGhFCIyscEVFtEjMzRCUlVWYnLwJJKistIHJZPh4v\/EABgBAQEBAQEAAAAAAAAAAAAAAAADAgQB\/8QAMBEAAgECAwYEBQUBAAAAAAAAAAECAxESITEEEzJBUaEicZHRFDNCYfAjUoGxweH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREARQqi722lB6eugYRxHSAny4rnR3+13Cq9mpaoSy4J2Qxw3d5GF7hetjG8he11csURF4bCIiA5zsfJTyRxS9FI5hDZMZ2DjccdeFzoYqiCiiiqp+nmaMOkxjaXWWaOCJ0sz2xxsGXOccABZ6TWtEZujpaWpqWgkOexm7vHWVpRb0I1KlOm7ydvzoaRFQ0esLVUyCKV76WTJBEwwAe\/q8cK9a4OaHNIIIyCOteOLWpqFSFRXi7n1EReFAiIgCIiAIiIAi41FXTUjNupqI4W83vDfmqt+rbM2obA2q6RznhuWtOyMnGc8ML1Rb0ROVWEOJpF0iIvCgREQBERAERc554qaF808jY42DLnOOAEDdjoq65X23WoYqqgCTGRG33nHwHDxVK67XfUUz4bNGaWkacOqpNxPPH4Df3ZVlbNL2+3OEz2mqqOJlm3nPYOr5qmFR4jl306nyll1en8dSuGoL5dmE2e1dHEcgTTHj2jOB80GlrlcTt3m7yPBOeihO7h5DyWqRMduFWHwyl8yTl2Xoikp9H2WnG+lMx5yPJ6\/JWNPbKCkeH01FBE8DG0yMB3nxUpFlyb1ZaNKnHhikERFkoERVGqLgbdYppGnEkmImcOJ\/9Ar1K7sYnNQi5PkVM759VXqSha8ttVK78o5ox0jh1Z78+AytTBTw0sLYYI2xxtGA1owAoVht4ttphhOTK8dJK48S88c\/LwVitSfJaEqFNpY5cT\/LEOvtVDc49mrp2SEAgPI95vcVm3MrNGVLHMkfU2iV2HNcAXRk\/X0PktguFZSR11HLSzDLJWlp7O1Iytk9BVoqXijlLqdIZY54WTRPD43gOa4cCF7Wa0ZUPFLVWyZxMlFMW7+oEnd5g+a0q8ksLsbpVN5BSCIiyVChV94t9swKyqZETwbvLvIb1E1Pc57XaHTU7fyjzsB+Pgz196j2vSdDTkVVW726of7xe\/e3PMDr8VtRVrs551JueCms+dyO7V89a\/o7PaZ6g\/tvGAO\/H4hfPs\/VdyINVcI6Bh4sh+IeX\/JahrQ0YaAByC+r3GlojO4lL5k2\/LJGcg0TbmuMlZNPWSHiXvwPTf6q4pbXQUP6NRwxHGNprBnz4qWiy5SerKwo04cMQiIslQiIgCIiA5VNRFSU0lRM7ZjjaXOPYFk4IqvWNZ7RU7cFqid7kfAyY7fmfAc11ub36k1A20QuLaOkO1UuB+MjGR4Hd5nqWohhip4WQwsDI2DDWtG4BV4F9zja+Ik19K7v2Qhhip4WQwsDI2DDWtG4BdERSOzQIiIAiIgCIiALL6kHt2orTbeLNoyvAG8jP4NK00kjImF8j2saOJccALE198oYdZtr3SdPBBBsNMOHZJB4dX6xVKad7o49rnFQSk9WvQ3CLLfeC+XMkWq0GNhziWf+wPmrCHVVncGskr4xKGjb9x7W568ZHovHCSKR2mm+dvPK\/lcuUVa3UNncMi40\/i\/C9Nv1occC5U3jKAs4X0Kb2n+5epT24eza9uMIPuTQh+Bz90\/UrULHSXGhj122qbVwGB0GHSh4LQcHdnwC0H2\/aP3lTf8AkCpNN28jn2epBKSbWrLFFWO1FZmnBuMHg7K4yatscY\/Tg4kZw2Nx+ixhl0LutSWsl6ljW0UFwpJKWobtRyDB5jtHaszT1ldpKT2SuZJVW3P5KoaPzeeo\/h5KXJrmzsJ2RUSf0xjf5kK8jdDcKJj3RbcM7A7YlbxB37wVrOKtJZEXgrSxU5eJfmYpKynr6dtRSyiWJ3Bw\/vcu6y9VpqrttS6u09P0b3Z26d5Gy7fwGd3n5r1TawbA7oL1Ry0UwOC4MJafDiOPamC+ccz1bRhyqqz68vU0yLjTVlNWR9JTTxzN5scDjv5LspnSmmroIiIehERAFFudX7BbKiqxkxRlwHM9XqpSoNaSOZpyRjQT0j2tOB1Zz9FqKvJIlWngpykuSGjqMU9kbUOLjJVPMjto5OM4HoM+Kv1Gt8Ip7dTQtGAyJrcdwUhzg0ZcQBzKSd22KUMFNR6H1FEmutupyRNX07COp0rc+SrZ9ZWSH4ah8p5Rxn64RRk9EJVqceKSL1Fl\/vhPVHFtstVUD9p27HkD80P3wryQPZqBmeO4k\/Pl2cVrdvnkT+Jg+BN+SNOSAMk4AVbWaitNCS2atj2xxaw7ZHfjgqoaNfUu2rnd6mq\/lG4eueSsaPS9no8FlGyRw\/Wl9\/0O5LQXMY68tIpeb9vcrnaxlqtptptNTUkD4nDcO3Az8wnQauuRzJPBbozu2WYLsc+s+oWna0NGGgAcgvqY0tENxOXHNvyyMzFoqGVwkudwqayQc3YHdvyfVRrDb6am1jcIoog1lPEBG128jOzv\/vmtesxS5pv+oNW1x3VNOC3qzub\/AMStKUpJ36EalGnTlBxXP\/GaZzQ5pa4AgjBB61XyaftErtp1ugyTnczHyVg5wa0ucQABkk9SiSXa2xMD319M1pGQelbv7t6kr8jrmoPjt\/JFdpeyOOTb4\/AkfVeTpSxkb6Bvg9w+q8y6uscWf8ZtnkyNx9cYUJ+uKV52aOgqqhxOB7oGfLKolU+5zSnsi1t2ZAuFjt1Hqq204pQ2jqGFpYXOw52\/rznrar\/7q2P93s\/zO\/FZ641V6vFbRVUFknhNLJts284fvHHIHL1KsfbdYy\/DbKWIc3OGf930W3iss+5Cm6SlLwXV8vD9iybpiyt4W+Lxyfqu7LLao97LdSg8+haT8lTdFrObf09HBnqwDj0KfZmrn733mnB\/lb\/8BYs+ci6nBcNJ+iNHHTwQ4EUMbMcNloC6LMfYepP3\/wChT7uX3+I5vJ34rzCuptVZ8qb7e5p1yqKaCrhMNTCyWM8WvGQs793L7\/Ec3k78U+7l9\/iObyd+KYV+4OrUeTpvt7nus0bSmQz2yoloZuI2HEtz8x5ri27X+xtLbrR+2wNH6RDxHecdnWBxXv7r3d292pqoHk0Ox\/vT7q3Q7namrCOse9v\/ANa3daSdzncJp3pwcX5q3oXFtvNBdWZpJw5w4sO5w49Xgir7NpWO0VhqTWSTuwQARsgE8Tx3opSw38J20XUcP1FZl+iIslQs7rWkqKmzGSJ46OA7cjMb3cB6ZJWiXOaFlRBJBIMskaWuHMEYK1F4XcnVp7yDh1MnQWCvulvhqX6hqejlYCGNzgdnxY5hSm6FoHHM9XVynteB9FFtNedL1clouhLadzi+CfBLcH+\/A+a1kNRBUs24Jo5W\/tMcHD0VJSknlocdGlQqR8S8S1TZTwaPskIGaV0pxxkkcfQHCsYLVbqXBgoaeMjg4RjPnxUtFNyk9WdcaNOPDFIIuVRVU9LH0lRNHE3m9wCoKzW9uhJZSRy1knVsjZb5nf6IouWiFStTp8TsaReJZooGGSaRkbB+s9wAWIqdQ3etJDq2jtkRHU8Ofg8M4yc+AUJzrE54krrjX3SXJwGMLRx4e8c81RUnzOWW2x+lert\/3sa+q1XZaU4NY2V3KIF\/qN3qq86zNQP+3WirqT\/TjH+XPb5KBSVjYgDbNIPOcFssgLu7eR3HirAVesJhhlvpKduMDaPD\/UvcEVy7mN\/Uno\/SLfdnw3DVtWPyFrhpmng6Q7x5n6Knu1De6S5UlbcLgyOSZ3Re0Q7hCO3cOZ8ldbGsoxtmWjl2QfcAHveg+atIIX3e0sbdqJscjs7Uefh4jI5bj6piw55HjpOqrNyv99OximWqe9Xc0lLcJ62GLHTVMhOyN+\/GSc9m\/f4ZWph0ZZIvip3ynm+Q\/TCtqKgpbdD0NJCImZyQMknvJ3lSFmVRvQtR2OEVeaTf51IEFktdNjorfTgjrMYJ8ypzWhow0ADkF9RTbb1OuMYx0VgiIvDQREQBERAEREAREQBERAEREAREQHCroqWui6OqgZM3qDhnCopdFUIk6Sjqaikd\/I\/O75+vUpdz1Rbrc4xNeamozgRQ79\/Inq+arRFqW\/OzK82qlP6rch5+vnhVipJXvZHFWlRnK2HFL7e\/IgXKKezAxyasnc8D801rnP7vi3eJCj0FPqm6PxFV1kcJ4SyvcwY58z4ZWptulrZbX9K2MzzZz0kxDiD2DgrladRLQnHY3J3k7Lom\/wC2ZQaI9oAfcLpUTy448ceJyu0ehLSwDbfUyHry8D5BaVFjeS6nQtkoL6Sng0pZICC2ha485HOd6E4VlDSU1Nugp4ov6GBvyXZFhyb1ZaNOEeFJBEReGwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiKgvWpHU1R9nWyH2mvfuwN7Y+\/t\/sr1RcnZE6lSNON5FhdbzRWeHbqpPfIyyNu9zu4fVUJZfNUe9tG224ncN+3IO3n6DvUu06WZFIK67P9srXe8ds7TWH6rRLd1HTUhgqVs6mS6e7\/wAKy1WCgs7P8PFtS9cz97z49XgrNEWG282dMYRgrRVkERF4aCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgM7day+Vlc+222kfTRggOrHggY5tPDyye5TrJYqey05DPylQ\/wDOTEb3dnYERbk8rI5qdNOTnLN\/15FoiIsHSEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "BERLIAM",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56995359625",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:56",
    "ubicacionGPS": "LatLng(lat: -23.6618344, lng: -70.4000761)",
    "horaLlegada": "11:53",
    "horaDespacho": "11:55",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


22/05/2026 11:56:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[22/05/2026 11:56:25] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76050301', 'EP2779', 1, 95585912, 908, NOW(), 
				'11:55', '11:53', '11:56', 1, 'se instala, servicio para asociar máquina a cliente', -1, 
				'', '','1','3785',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779465385.png', 'se instala, servicio para asociar máquina a cliente', null, 'COMPLETADO','LatLng(lat: -23.6618344, lng: -70.4000761)' )
				
[22/05/2026 11:56:25] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200390

22/05/2026 11:56:25 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76050301'
				   AND serieintmaquina = 'EP2779'
		
22/05/2026 11:56:25 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP2779'
				   AND estado = 1
				
22/05/2026 11:56:25 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76050301', 'EP2779', 1, 1, now(), 'CSJ', 'ANTOFAGASTA', 'TALLER');
				
22/05/2026 11:56:25 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200390'                    
				WHERE idllamado = 12683			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


22/05/2026 11:56:25 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12683			
				
22/05/2026 11:56:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


22/05/2026 11: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 = 12683
                

22/05/2026 11: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 = 12683
                

22/05/2026 11: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 = 12683
                

22/05/2026 11: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 = 12683
                

22/05/2026 11: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 = 12683
                

22/05/2026 11: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 = 12683
                

22/05/2026 11:56:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:56:26 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

[22/05/2026 11:56:27] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 11:56:27] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 11:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

[22/05/2026 11:56:27] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 11:56:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:56:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/2026 11:56:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:56:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/2026 11:56:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:56:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/2026 11:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:56:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
22/05/2026 11:56:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12683
LIMIT 1;
        

22/05/2026 11:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:56:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:56:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:56:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

22/05/2026 11:56:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12683
                

[22/05/2026 11:59:33] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 12:19: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;
                

[22/05/2026 12:29:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 12:29:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[22/05/2026 12:29:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 12:29:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

22/05/2026 12:29:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

22/05/2026 12:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

22/05/2026 12:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

22/05/2026 12:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:29:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

22/05/2026 12:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12: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 = 12625
                

22/05/2026 12:29:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

22/05/2026 12: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 = 12625
                

22/05/2026 12:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:29:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

22/05/2026 12:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:29:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

22/05/2026 12:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12: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 = 12625
                

22/05/2026 12: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 = 12625
                

22/05/2026 12: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 = 12625
                

22/05/2026 12: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 = 12625
                

22/05/2026 12:29:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:29:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12: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 = 12625
                

22/05/2026 12: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 = 12625
                

22/05/2026 12:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

22/05/2026 12:30:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

22/05/2026 12:30:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

22/05/2026 12:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

22/05/2026 12:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:35 - logentry: =========================================
FECHA: 22/05/2026 12:30:35
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-jHjGQIkJ0r0.l0XjXozR5nD1+uiT8ginCZsFFwxbWkGo9tk3YXY
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "96849540",
    "serieinterna": "KY2074",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "289006",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Problemas de conexion solucionados",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12625",
    "observacion": "Problemas de conexion solucionados",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACjAUcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABGEAABAwMBBAYGBggFAwUAAAABAAIDBAURBhIhMUETUWFxgaEWIjKRsdEUFSMzQsFSVWKTotLh8AckQ5LxNFRygoOjssL\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAQIDBP\/EADARAAIBAgMFCAICAwEAAAAAAAABAgMREiExBBMiQVEyYXGBkaHB0RSxI+EkQvBS\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREAXy97I2F8jgxrRkuccAKLdLpS2mkNRVPwODWji89QWciorpqzYqa6Q0luJBZAw73jr\/AKnwCvGN83oYVK2F4Iq8un2S6rV8b5HU9opJq+cc2sOwO3dvP971zbDrGty91TTUTT+AAEjyPxWgoqGmt9O2ClhbGwchxPaTzUhTiS0RTcznnUk\/BZL7MwLPqh+du+sH\/i3+gQ0esKYbTLhTVI\/QcACf4R8Vp0UY30J\/Gjyk\/VmcpNTTwVbaO+0gopHj1JB7B347fitGq692qO722Snc0dIATE4\/hdyUbSle6vsUZkz0kDjE7PZw49hCNJq6EJThPdyd+jLpERUOkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKFdbpT2iidU1B3cGtHF56gu1ZWQUFJJVVL9iOMZJ\/ILM2+jn1PcmXevZsUUR\/wAtAfxY5nszx6+HBXjG+b0OetUa4Idp+3ezpa7TUXurZebyMtO+npvwtHIn5c+a1AAAwBgBeoolK5elSVNZa831CIiqahERAFmNF723Jw3g1JwetaOaVlPBJNIcMjaXOPYBlUGh4XMsb5n8Z53OBxxG4fEFXXZZzVM68F4mjREVDpCLnPUQ0sLpp5GxxtGS5xwAss+5XTVFQ6ntRfR0LDiSpPtO7vkPEhWjFsxqVlDLVvkW9z1LbLWXMln6SYf6UXrO8eQ8VXP1p0WJJLRVtpzj7UjG494x5qytWnbdaWtdDCHzAb5n73eHV4K0c0OaWuAIIwQeateC5XM8NeWbkl3WuRLfdKK6Q9LRziQD2m8HN7wpiyl8tzrFWNv9sYGhpxUQjg4E7z2f8FaSjq4q6jiqoTlkrQ4dnYolFWutC9KpJtwn2l7rqd0RFQ3CIiAIiIAiIgCIiAIiIAiIgCrr7czaLVJVtYJHtLQ1p4Ek\/LKsVmdcOMlBSUbCQ6epA79xHDnvIVoK8kjHaJuFKUlqaCklfPRwTSMDHyRtc5oOcEjJC7LwAAYAwAvVU1WgREQkIiIAvHODWlziAAMknkvVlr\/VVF5uA0\/byWhpDqqXk0dXn78BWjG7MqtTdxvq+RwPSayupbnYtVG\/iM5lP9R7ge1a5rWsYGMaGtaMAAYAC40NFBbqRlLTM2Y2DHaT1ntUhJSvktCtGk4JylnJ6hERVNwiIgCIiAoNZVn0exOgYCZKp4iaBvPWfIY8VZ2qiFvtdNSDjGwB3DjxPnlUFUBfNaw02wXU9ubtPzwLtx+OyPArVrSWUUjlpcdWVTyXz7hR62tp7fSvqamQMjYN56+wdq+6ioipKd9RO8MjjGXOKylFBNq+4GtrWvZbIDiGHhtn++J8OtRGN83oXq1XG0Y5yf8A12IqWt1hVsq6trqe1xn7OLO+T++vwHWtZDDHTwshhYGRsGGtaNwC+mtaxgYxoa1owABgAL6USlfwJpUVC7eberCIiqbHKpp2VVLLTyezKwsO7rGFn9I1Dqf6VZJ8tmo3ksBPFhPLx3\/+oLSrMVDug\/xDpcHZE9MQcbtrc7j1+yPcFpHNNHNW4ZwmutvU06IizOkIiIAiIgCIiAIiIAiIgCIiALKvd6QauiEe+ltfrOeDkF+c8j1gf7SrPUt0NrtEj4zieX7OLHHJ5+A39+E0zavqmzxxvbieX7SXrBPLwG73rSPDHEctT+SoqfJZv4RboiLM6giIgCIviWVkMT5ZHBrGNLnOPIDiUBWaivItFBmPDqqY7MDMZyd2T4Z+C56Zs5tVv25t9VUYfKSN43ez4b\/ElV1pidqK+y3moaTSUztilacjJB3O\/PvPYtWtJcKwnJSW9nvXpy+\/MIiLM6wiIgCIiAKvvd2is1ufUvw6ThHGTjbd\/e9TnvbHG6R7g1rQS4nkFk6Nr9VX76fK14ttGfsGuGNp27\/k+AV4q+b0OevUcUow7T0+\/IstKW19FbTU1G+prD0shPHB4Dzz4q7c4NaXOIAAySeS9WVvtbUXuuNgth3A\/wCal5NA5fPt3daZzlcNx2emks+nezk98ur7u+mY9zLTSnLnN\/1T\/efBauGGOnhZDCwMjYMNa0bgFzoKGC3UcdLTsDWMGO88ye1SElK+S0Jo0nG8pZyev0ERFQ3CIiALMXvMWsrPMeDgWeZ\/mWnWY1B6+qrIwcQ8u8x8lpT1ObauwvFfs06IizOkIiIAiIgCIiAIiIAiIgCIqDVV0lpqVlvowX1lZ6rWtzkN5n8vf1KYq7sZ1KipxcmQYcao1N9I3OoLcQGYO57s5zw35xv7AFrVBs9sitFujpYwMgZkcPxPxvKnK0nd5aFKFNxjeWrzYREVDcIiIAs1qirnq6iCwUW+SpwZnAZ2GZ\/oSezvV1c7hDa6CSsnyWsG5o4uJ4AKn0pbpNiW81nrVVadoZHstJzu793gAtI5cTOWu3NqlHnr4f3oXlFRw0FHFSwN2Y4xgD4n3ruiLM6UklZBERCQiIgCIs\/qO7yxvZZ6AF1bVjZ2mux0YPP493FTFNuxnUqKnHEyJeq6W\/1gsdreejBzUzt9kDq7R8VpKOjgoKSOlpmbEcYwB+ZUWyWeGy0DYI8Okdvlkxvcfl1LrdLlBaaF9XPktbuDRxceQCs3fhiZU44U6tTX9LoVmpb1JRxtoLedu4VBDWtbvLAeff1e9S7FZo7PRluS+olw6eQnO075DJUDTFunke++XEl1XVD1ARuYzlu8PctGpk7LCiKUXOW9l5LovthERZnUEREAREQBZisP0zX1HEwEikhLpOYbuJ8OLfeFoqmojpKaWpmdsxxNLnHsCoNI0z5hVXmoaRNWyHZBHBmeX98gtI5Js5q3FONNdb+S\/s0iIizOkIiIAiIgCIiAIiIAiIgIlzuENroJKyfJawbmji4ngAqXTlumqqqS\/wBwH20++naTno2H+hwOzvUOokbqfUXROka22287RceEh3ZHjg+APWtP9YW+PDPplMzZGA3pWjHmtWsKtzZxRkqtTE3wrTvfX6JSKGbxa2nDrlSA9Rnb81zN+tA43GnH\/uBZ4X0OreQXNFgir\/r+0frKm\/eBPr+0frKm\/eBML6Eb2n\/6XqWCKF9dWr9Z0f79vzUW8X+kobXPPT1MMswbiNrHhx2juBx1DipUW3YSqwim29Cqqy\/UupGUbAHW+gcHTEEEOdv5jr4e9atrQ1oa0AADAA5Kg0rHBQWVhmqIhPUEyyZeM7+Gd\/V+avBPCRkSsIP7QVp62XIx2dcOOWss\/pHRF4CCMg5BXqzOoIiIAiKju2qqO1zzUpY+SpYBssaNziRkDPLiFKTbsik6kaavJ2JN8vdPZaMyyEOmeCIoubj8lB0xaZoulu1wbmsqzt4cN8YPwz1ctwXGy2OprKz65vfrzuwYoXDAjHLI5Y5Dx4rTq7aisKOenGVWSqTVktF8sLI5Gq9R49u10PfiR3\/PkO1T9V3SWkomUVINqqrT0bQOIB3Ejt3gBWNmtcdotsdLHguHrSOH4ncyi4VcVP5am75LN\/CJoAAwBgBeqpvGoqO0OETw6apcPVhj49mepVzrnquVn0iC0wsixlsch9ftyNoHr5BQoN5mktohF4Vm+5XNOiqbLf6e7NMbmmCqZufC\/ccjiR2ZyPBWyq007M0hOM1ii8giLwkAZJwAoLnqj1tbT2+lfU1MgZGwbz19g7VUXHVlHTP+jULXV1UdzWQjIz3jj4LN3MVslU19zkFVXvOIaGL1ms7XAcO7ieZWsabepx1trjFNQzft\/wB3Hw64V+qLwaOOWRkFQ4bUefVbG3eOXEb9\/M4X6DTU8dJTRU0LdmOJoa0dgVVpyxm0075p3bdXU4dKd2G88D3q6UVJJuy0Gy0pRTnU7TCIizOwIiIAiIgCIiAIiIAsPrVlwNzhjjme+OZuIoInOJJHE7I8P7ytnU1EdLTSVEztmONpc49gWb05TyXa61GoaphDXktpmu5Abs+AGPErWnlxHHtS3iVJav8ARQ2yl00+Jkdxlq6ep\/GHjDSezA4d60VLpfTVU3NO4VHPLajPwKvKu30dc3FVSxTY4F7QSO4qmqNEWqQ7VOZ6Z4OWlj8gHxyfNW3l+bRitldP\/WMvZ\/J3Gj7EBg0RPaZX\/NdPRWx\/q9n+53zVc606mtziaC6irjHCOo448c\/EL03rU0BxNYmyY4mJxwe7eVHE9Je5dOjHtUreV\/0WHorY\/wBXs\/3O+aeitj\/V7P8Ac75qv9La1n32nayPmfa4de9oT01jbvktVYwdeyotUG82TovT+ib6IWH\/ALD\/AOZ\/8yztwsFvOp6O1UcT2NI25ztE7uOMk9Q81aO13bg0tkpayMkcmt+aobDf6aju9VX3EzzSSt2WSYBOM8xnqA9y0iqiu2c9aeyycYxSzeb7jS+hNm\/Qm\/eFfJ0LZyc7VQOzpB8l56dWj9Gp\/dj5rx2u7S0ZEdU7sDG\/NU\/l7za+xdx8nQVrzltRVtPL127v4U9CYm\/dXSsZnj6w3p6d2933VHWPxx9Ru7zQ6yc8\/YWarl8PkCp\/lI\/wuXyBpKsYcw6gq2EezxOP4k+odRQ7oNQF4HDpQfzyuVRrGvp4jLJYJ4Ywfblc4D\/6qDNqDUF9p3x2+idFFwc+IEnu2j+SlKpz+Ckp7Mso3v3XPKy96itlW2kdX01ZO446OGPaIPVuaN\/YodvfdX3+prX24VtZC712uP3Z4DGDyxgdymWmkvtny+GxRSTHOZpHZd3e1uXuxqe33Gou4tcLXyN+1a0hzSN2\/AcTyzuV8lkrHPabtKWLXo3b1LP0lvUe6XTVQ4\/sF38pT0yez76y1kfM7uXXvAVM7Xd3YcOpaRpHIxvH\/wCkk1lfJ6WQtpYWM2d8scT\/AFM885wFXd93ua\/lrlUfogzUtDUam+s6yOfoYmbNPGAHbJxvJ39\/Ds6lKuutzUbNPbM07XnDqiUb2g9QGffvPYquj0pd66iiljMbYJBtsD5CBv54Vw3TV\/MTYTPbWRAY2eha4jxLM+as1TuZQe1OLsnnnp\/Z1sM2nLeTObmyorH+1PMC07+rI3LQx3a2y\/d3Cld2CZvzWTfoe5THElVRtHWyLHwaF9Rf4evO+a4gdjIs+ZKzkoPNyOmlPaYLDGnl6fJb3azUN0lbVUlZHS1zDkTRuGT34Pmqyl1hPbZBR3ZkdRsgDp6aQOJ3cxnf5dykQ6Bt7cdLVVEhxvxhoPkV9u0FajnFRVjq9du7+FE4Ws3cmUNovjhFRfPPXyOdfryjijIoYXzyHgXjZaPzKqKu4y3QB93vEcNPzpqQFx7jjd7yVbO\/w\/ojjZrZx3hpXMaAbG\/bhukkbwctd0W8e4hWTprQyqQ2yfaV10vl+yPbDWzwmHT1r+hwyeq+tndlzh15\/IZWgsmnae0gzOcZ6x4PSTO6zxx\/e9QPRq9M3M1LUEftB38xQ2XUjRtfX43b943KsmnozWnCULOUG2vCy8EadFjJ3Xulz0uqKFrh+FzhnPdsqun1HeYWuLb7TzEco4OfeYwFVUm9Gay22EO1F+32foiL84hvOq6z1oH1MgPNkAx5DCsYKHWlQcvqnQA85JG\/AZUulbVoiO2qfZg35G2RZX6h1LJHiS\/bJ\/YLvjuXE6NuU\/8A1N8kcM8w53xKrhjzkaOvV5U36o1r5oovvJGM\/wDJwCjPu9sjGX3Clb3zN+azzNAUuSZa+Z5P6LQPmpEeg7S32pap\/e8D4BLQ6jebS9IJeZe0tfR1239EqY5tjG1sOzjPD4IuFsstDaBJ9DjcwyY2yXk5xw+JRUdr5HRDFh49e4noi5VNRHSU0tTM7ZjiaXOPYFBZuyuzP6mlkuNdS2CBxHTuElQ5u\/ZYD\/TPgFoKanjpKaKmhbsxxNDWjsCzmk4Ja2oq79VNG3UvLYgRnZaOOD1cB4LULSeXCc2z8d6r56eHL7CIizOoIiIAiIgOFdL0FBUTZx0cTncccASs3pizUVfpdrayASNllc8HJBBHq7iO5aK5RPntlVDGMvkhe1oxxJaQFRaTu1DDYY6aeqihlpy8PbI8A+0TkZ48VpG+B2OSrhdeKnpZ\/BwOnbvZpuks9SyphPGnqMe7q8RhfcerJKL1LhZJ4Jt4zG3c7uz8yptVrKzUxLWzvncDgiJhPmcBRPS2srTs2qzTzA8Hybh5bufWr8T7S+DBulTdqU7d2p76Z9KMUlnq53fo4x8MqHcdSX1kJLqWG2g8HSuy\/wAGnj7lL+iasuYP0irht0Z\/DF7Xlv8ANSaHSFupnmaq266cnJdNvGe755TgiRbaamSbXjZfbKqw2iC\/7VxuNRU1bmuLdmRuyw9xycjuwtjFFHBE2KFjY42DDWtGAAvprQ1oa0AADAA5L1ZSk5M7KNGNKPfzYREVTc+SxjnBxaCRwJCptYB503U7AJ3tzgZ3bQVy97I27T3Bo6ycKnvN0s01unpJ7jABKwt9R22QeRwMq8L4kYV8O7km7XRPtIaLPRBvsinjx3bIUtY21aqpLZaoKImatnYCB0TMDGTgDODu3clKF+1DXHFDY+iH6U5P57Kl05XMobVTwpLN9Fmahc5ZooGbc0rI29b3ADzWbNt1XXD\/ADN0ipGH8MPtD3D819x6Jo3PEldWVVW\/ntPwD+fVzTDFasvvasuzD1yJtVquy0uQaxsrhyiBfnxG7zUB+tBMS23WqqqjyOMDyBVtTWC00mDDb4QRwLm7RHicqwAAGAMAJeC5DBXlrJLwX2Zk1+razdBbYaRp\/HId495\/JPqzVk2+a8wR55Rt4fwhadFGPoh+PftSb87fozA0xd5Rio1HUY6mbW\/+JPQiCYg1lxqqgg8ScZ9+Vp0TeSH4lHmr+bKSDR9kgxmlMpHOR5PlwVjBbKCm+4ooIz1tjAKlIocm9WaxpU49mKQREVTQIiIAiIgCIiALN6wqZJI6S0U+10tbIAS3k0f8+RWkWVtWLzq+suJDjDRjoocjdnh\/MfFXhrfoc20u8VTWssvLmaWmp46SmipoW7McTQ1o7AuqIqHQlZWQREQkIiIAiIgCrKvTlprqg1FRRtdIeJDi3PHiAe3irNFKbWhWUIzVpK5EprVb6MAU9HDHjmGDPv4qWiKG7kqKirJBF8SyshifLI4NYxpc5x5AcSsvLf7reZXQWGl2YuBqpBuHv3DzVoxbM6laNPXV8uZp5p4aaIyzysijbxc84AVLV6ys9M4sjkkqXg4xCzO\/vOB7lwh0eyeUVF4rZq6XG9u0Q0dnX8Fd0tsoaIAU1JDFgYy1gz7+JVuBd5nevPRKK9WUPpJeq12LbYn7J9mSfIBHkOrmn1fquvB+k3KKiY78EI9YeI+a1CJjtoh+O5dubft+jMR6HpXuD66uqqqTmS4AH35PmrCn0tZacgtoGPI5yEv8icK3RQ5yfMtHZqMdIo5Q00FM3ZggjiaOTGho8l1RFQ2SS0CIiEhERAEREAREQBERAEREAREQBERAEREBV6iuP1ZZZ52v2JXDYiPPaPV3bz4L50zbzbbHBE7HSSDpX46zy8BgeCqrs4XzVVLamgPgpPtZxyJ5j4DxWrWjyikctP8AkrSnyWS+QiIszqCIiAIiIAiIgCIiAIiID5exkkbo5Gh7HAhzXDIIPIhfMMMVPE2GGNscbRhrWjAC6IhFle4REQkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA4R0dNDVS1UcLWzTACR44uxwXdEQhJLQIiISEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "TRANSPORTE VIGAL S.A",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CAROLINA VELIZ",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA ERROR DE CONEXIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56982966734",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:30",
    "ubicacionGPS": "LatLng(lat: -23.1009887, lng: -70.4409806)",
    "horaLlegada": "12:24",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 22/05/2026 12:30:35
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-jHjGQIkJ0r0.l0XjXozR5nD1+uiT8ginCZsFFwxbWkGo9tk3YXY
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "96849540",
    "serieinterna": "KY2074",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "289006",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Problemas de conexion solucionados",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12625",
    "observacion": "Problemas de conexion solucionados",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACjAUcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABGEAABAwMBBAYGBggFAwUAAAABAAIDBAURBhIhMUETUWFxgaEWIjKRsdEUFSMzQsFSVWKTotLh8AckQ5LxNFRygoOjssL\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAQIDBP\/EADARAAIBAgMFCAICAwEAAAAAAAABAgMREiExBBMiQVEyYXGBkaHB0RSxI+EkQvBS\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREAXy97I2F8jgxrRkuccAKLdLpS2mkNRVPwODWji89QWciorpqzYqa6Q0luJBZAw73jr\/AKnwCvGN83oYVK2F4Iq8un2S6rV8b5HU9opJq+cc2sOwO3dvP971zbDrGty91TTUTT+AAEjyPxWgoqGmt9O2ClhbGwchxPaTzUhTiS0RTcznnUk\/BZL7MwLPqh+du+sH\/i3+gQ0esKYbTLhTVI\/QcACf4R8Vp0UY30J\/Gjyk\/VmcpNTTwVbaO+0gopHj1JB7B347fitGq692qO722Snc0dIATE4\/hdyUbSle6vsUZkz0kDjE7PZw49hCNJq6EJThPdyd+jLpERUOkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKFdbpT2iidU1B3cGtHF56gu1ZWQUFJJVVL9iOMZJ\/ILM2+jn1PcmXevZsUUR\/wAtAfxY5nszx6+HBXjG+b0OetUa4Idp+3ezpa7TUXurZebyMtO+npvwtHIn5c+a1AAAwBgBeoolK5elSVNZa831CIiqahERAFmNF723Jw3g1JwetaOaVlPBJNIcMjaXOPYBlUGh4XMsb5n8Z53OBxxG4fEFXXZZzVM68F4mjREVDpCLnPUQ0sLpp5GxxtGS5xwAss+5XTVFQ6ntRfR0LDiSpPtO7vkPEhWjFsxqVlDLVvkW9z1LbLWXMln6SYf6UXrO8eQ8VXP1p0WJJLRVtpzj7UjG494x5qytWnbdaWtdDCHzAb5n73eHV4K0c0OaWuAIIwQeateC5XM8NeWbkl3WuRLfdKK6Q9LRziQD2m8HN7wpiyl8tzrFWNv9sYGhpxUQjg4E7z2f8FaSjq4q6jiqoTlkrQ4dnYolFWutC9KpJtwn2l7rqd0RFQ3CIiAIiIAiIgCIiAIiIAiIgCrr7czaLVJVtYJHtLQ1p4Ek\/LKsVmdcOMlBSUbCQ6epA79xHDnvIVoK8kjHaJuFKUlqaCklfPRwTSMDHyRtc5oOcEjJC7LwAAYAwAvVU1WgREQkIiIAvHODWlziAAMknkvVlr\/VVF5uA0\/byWhpDqqXk0dXn78BWjG7MqtTdxvq+RwPSayupbnYtVG\/iM5lP9R7ge1a5rWsYGMaGtaMAAYAC40NFBbqRlLTM2Y2DHaT1ntUhJSvktCtGk4JylnJ6hERVNwiIgCIiAoNZVn0exOgYCZKp4iaBvPWfIY8VZ2qiFvtdNSDjGwB3DjxPnlUFUBfNaw02wXU9ubtPzwLtx+OyPArVrSWUUjlpcdWVTyXz7hR62tp7fSvqamQMjYN56+wdq+6ioipKd9RO8MjjGXOKylFBNq+4GtrWvZbIDiGHhtn++J8OtRGN83oXq1XG0Y5yf8A12IqWt1hVsq6trqe1xn7OLO+T++vwHWtZDDHTwshhYGRsGGtaNwC+mtaxgYxoa1owABgAL6USlfwJpUVC7eberCIiqbHKpp2VVLLTyezKwsO7rGFn9I1Dqf6VZJ8tmo3ksBPFhPLx3\/+oLSrMVDug\/xDpcHZE9MQcbtrc7j1+yPcFpHNNHNW4ZwmutvU06IizOkIiIAiIgCIiAIiIAiIgCIiALKvd6QauiEe+ltfrOeDkF+c8j1gf7SrPUt0NrtEj4zieX7OLHHJ5+A39+E0zavqmzxxvbieX7SXrBPLwG73rSPDHEctT+SoqfJZv4RboiLM6giIgCIviWVkMT5ZHBrGNLnOPIDiUBWaivItFBmPDqqY7MDMZyd2T4Z+C56Zs5tVv25t9VUYfKSN43ez4b\/ElV1pidqK+y3moaTSUztilacjJB3O\/PvPYtWtJcKwnJSW9nvXpy+\/MIiLM6wiIgCIiAKvvd2is1ufUvw6ThHGTjbd\/e9TnvbHG6R7g1rQS4nkFk6Nr9VX76fK14ttGfsGuGNp27\/k+AV4q+b0OevUcUow7T0+\/IstKW19FbTU1G+prD0shPHB4Dzz4q7c4NaXOIAAySeS9WVvtbUXuuNgth3A\/wCal5NA5fPt3daZzlcNx2emks+nezk98ur7u+mY9zLTSnLnN\/1T\/efBauGGOnhZDCwMjYMNa0bgFzoKGC3UcdLTsDWMGO88ye1SElK+S0Jo0nG8pZyev0ERFQ3CIiALMXvMWsrPMeDgWeZ\/mWnWY1B6+qrIwcQ8u8x8lpT1ObauwvFfs06IizOkIiIAiIgCIiAIiIAiIgCIqDVV0lpqVlvowX1lZ6rWtzkN5n8vf1KYq7sZ1KipxcmQYcao1N9I3OoLcQGYO57s5zw35xv7AFrVBs9sitFujpYwMgZkcPxPxvKnK0nd5aFKFNxjeWrzYREVDcIiIAs1qirnq6iCwUW+SpwZnAZ2GZ\/oSezvV1c7hDa6CSsnyWsG5o4uJ4AKn0pbpNiW81nrVVadoZHstJzu793gAtI5cTOWu3NqlHnr4f3oXlFRw0FHFSwN2Y4xgD4n3ruiLM6UklZBERCQiIgCIs\/qO7yxvZZ6AF1bVjZ2mux0YPP493FTFNuxnUqKnHEyJeq6W\/1gsdreejBzUzt9kDq7R8VpKOjgoKSOlpmbEcYwB+ZUWyWeGy0DYI8Okdvlkxvcfl1LrdLlBaaF9XPktbuDRxceQCs3fhiZU44U6tTX9LoVmpb1JRxtoLedu4VBDWtbvLAeff1e9S7FZo7PRluS+olw6eQnO075DJUDTFunke++XEl1XVD1ARuYzlu8PctGpk7LCiKUXOW9l5LovthERZnUEREAREQBZisP0zX1HEwEikhLpOYbuJ8OLfeFoqmojpKaWpmdsxxNLnHsCoNI0z5hVXmoaRNWyHZBHBmeX98gtI5Js5q3FONNdb+S\/s0iIizOkIiIAiIgCIiAIiIAiIgIlzuENroJKyfJawbmji4ngAqXTlumqqqS\/wBwH20++naTno2H+hwOzvUOokbqfUXROka22287RceEh3ZHjg+APWtP9YW+PDPplMzZGA3pWjHmtWsKtzZxRkqtTE3wrTvfX6JSKGbxa2nDrlSA9Rnb81zN+tA43GnH\/uBZ4X0OreQXNFgir\/r+0frKm\/eBPr+0frKm\/eBML6Eb2n\/6XqWCKF9dWr9Z0f79vzUW8X+kobXPPT1MMswbiNrHhx2juBx1DipUW3YSqwim29Cqqy\/UupGUbAHW+gcHTEEEOdv5jr4e9atrQ1oa0AADAA5Kg0rHBQWVhmqIhPUEyyZeM7+Gd\/V+avBPCRkSsIP7QVp62XIx2dcOOWss\/pHRF4CCMg5BXqzOoIiIAiKju2qqO1zzUpY+SpYBssaNziRkDPLiFKTbsik6kaavJ2JN8vdPZaMyyEOmeCIoubj8lB0xaZoulu1wbmsqzt4cN8YPwz1ctwXGy2OprKz65vfrzuwYoXDAjHLI5Y5Dx4rTq7aisKOenGVWSqTVktF8sLI5Gq9R49u10PfiR3\/PkO1T9V3SWkomUVINqqrT0bQOIB3Ejt3gBWNmtcdotsdLHguHrSOH4ncyi4VcVP5am75LN\/CJoAAwBgBeqpvGoqO0OETw6apcPVhj49mepVzrnquVn0iC0wsixlsch9ftyNoHr5BQoN5mktohF4Vm+5XNOiqbLf6e7NMbmmCqZufC\/ccjiR2ZyPBWyq007M0hOM1ii8giLwkAZJwAoLnqj1tbT2+lfU1MgZGwbz19g7VUXHVlHTP+jULXV1UdzWQjIz3jj4LN3MVslU19zkFVXvOIaGL1ms7XAcO7ieZWsabepx1trjFNQzft\/wB3Hw64V+qLwaOOWRkFQ4bUefVbG3eOXEb9\/M4X6DTU8dJTRU0LdmOJoa0dgVVpyxm0075p3bdXU4dKd2G88D3q6UVJJuy0Gy0pRTnU7TCIizOwIiIAiIgCIiAIiIAsPrVlwNzhjjme+OZuIoInOJJHE7I8P7ytnU1EdLTSVEztmONpc49gWb05TyXa61GoaphDXktpmu5Abs+AGPErWnlxHHtS3iVJav8ARQ2yl00+Jkdxlq6ep\/GHjDSezA4d60VLpfTVU3NO4VHPLajPwKvKu30dc3FVSxTY4F7QSO4qmqNEWqQ7VOZ6Z4OWlj8gHxyfNW3l+bRitldP\/WMvZ\/J3Gj7EBg0RPaZX\/NdPRWx\/q9n+53zVc606mtziaC6irjHCOo448c\/EL03rU0BxNYmyY4mJxwe7eVHE9Je5dOjHtUreV\/0WHorY\/wBXs\/3O+aeitj\/V7P8Ac75qv9La1n32nayPmfa4de9oT01jbvktVYwdeyotUG82TovT+ib6IWH\/ALD\/AOZ\/8yztwsFvOp6O1UcT2NI25ztE7uOMk9Q81aO13bg0tkpayMkcmt+aobDf6aju9VX3EzzSSt2WSYBOM8xnqA9y0iqiu2c9aeyycYxSzeb7jS+hNm\/Qm\/eFfJ0LZyc7VQOzpB8l56dWj9Gp\/dj5rx2u7S0ZEdU7sDG\/NU\/l7za+xdx8nQVrzltRVtPL127v4U9CYm\/dXSsZnj6w3p6d2933VHWPxx9Ru7zQ6yc8\/YWarl8PkCp\/lI\/wuXyBpKsYcw6gq2EezxOP4k+odRQ7oNQF4HDpQfzyuVRrGvp4jLJYJ4Ywfblc4D\/6qDNqDUF9p3x2+idFFwc+IEnu2j+SlKpz+Ckp7Mso3v3XPKy96itlW2kdX01ZO446OGPaIPVuaN\/YodvfdX3+prX24VtZC712uP3Z4DGDyxgdymWmkvtny+GxRSTHOZpHZd3e1uXuxqe33Gou4tcLXyN+1a0hzSN2\/AcTyzuV8lkrHPabtKWLXo3b1LP0lvUe6XTVQ4\/sF38pT0yez76y1kfM7uXXvAVM7Xd3YcOpaRpHIxvH\/wCkk1lfJ6WQtpYWM2d8scT\/AFM885wFXd93ua\/lrlUfogzUtDUam+s6yOfoYmbNPGAHbJxvJ39\/Ds6lKuutzUbNPbM07XnDqiUb2g9QGffvPYquj0pd66iiljMbYJBtsD5CBv54Vw3TV\/MTYTPbWRAY2eha4jxLM+as1TuZQe1OLsnnnp\/Z1sM2nLeTObmyorH+1PMC07+rI3LQx3a2y\/d3Cld2CZvzWTfoe5THElVRtHWyLHwaF9Rf4evO+a4gdjIs+ZKzkoPNyOmlPaYLDGnl6fJb3azUN0lbVUlZHS1zDkTRuGT34Pmqyl1hPbZBR3ZkdRsgDp6aQOJ3cxnf5dykQ6Bt7cdLVVEhxvxhoPkV9u0FajnFRVjq9du7+FE4Ws3cmUNovjhFRfPPXyOdfryjijIoYXzyHgXjZaPzKqKu4y3QB93vEcNPzpqQFx7jjd7yVbO\/w\/ojjZrZx3hpXMaAbG\/bhukkbwctd0W8e4hWTprQyqQ2yfaV10vl+yPbDWzwmHT1r+hwyeq+tndlzh15\/IZWgsmnae0gzOcZ6x4PSTO6zxx\/e9QPRq9M3M1LUEftB38xQ2XUjRtfX43b943KsmnozWnCULOUG2vCy8EadFjJ3Xulz0uqKFrh+FzhnPdsqun1HeYWuLb7TzEco4OfeYwFVUm9Gay22EO1F+32foiL84hvOq6z1oH1MgPNkAx5DCsYKHWlQcvqnQA85JG\/AZUulbVoiO2qfZg35G2RZX6h1LJHiS\/bJ\/YLvjuXE6NuU\/8A1N8kcM8w53xKrhjzkaOvV5U36o1r5oovvJGM\/wDJwCjPu9sjGX3Clb3zN+azzNAUuSZa+Z5P6LQPmpEeg7S32pap\/e8D4BLQ6jebS9IJeZe0tfR1239EqY5tjG1sOzjPD4IuFsstDaBJ9DjcwyY2yXk5xw+JRUdr5HRDFh49e4noi5VNRHSU0tTM7ZjiaXOPYFBZuyuzP6mlkuNdS2CBxHTuElQ5u\/ZYD\/TPgFoKanjpKaKmhbsxxNDWjsCzmk4Ja2oq79VNG3UvLYgRnZaOOD1cB4LULSeXCc2z8d6r56eHL7CIizOoIiIAiIgOFdL0FBUTZx0cTncccASs3pizUVfpdrayASNllc8HJBBHq7iO5aK5RPntlVDGMvkhe1oxxJaQFRaTu1DDYY6aeqihlpy8PbI8A+0TkZ48VpG+B2OSrhdeKnpZ\/BwOnbvZpuks9SyphPGnqMe7q8RhfcerJKL1LhZJ4Jt4zG3c7uz8yptVrKzUxLWzvncDgiJhPmcBRPS2srTs2qzTzA8Hybh5bufWr8T7S+DBulTdqU7d2p76Z9KMUlnq53fo4x8MqHcdSX1kJLqWG2g8HSuy\/wAGnj7lL+iasuYP0irht0Z\/DF7Xlv8ANSaHSFupnmaq266cnJdNvGe755TgiRbaamSbXjZfbKqw2iC\/7VxuNRU1bmuLdmRuyw9xycjuwtjFFHBE2KFjY42DDWtGAAvprQ1oa0AADAA5L1ZSk5M7KNGNKPfzYREVTc+SxjnBxaCRwJCptYB503U7AJ3tzgZ3bQVy97I27T3Bo6ycKnvN0s01unpJ7jABKwt9R22QeRwMq8L4kYV8O7km7XRPtIaLPRBvsinjx3bIUtY21aqpLZaoKImatnYCB0TMDGTgDODu3clKF+1DXHFDY+iH6U5P57Kl05XMobVTwpLN9Fmahc5ZooGbc0rI29b3ADzWbNt1XXD\/ADN0ipGH8MPtD3D819x6Jo3PEldWVVW\/ntPwD+fVzTDFasvvasuzD1yJtVquy0uQaxsrhyiBfnxG7zUB+tBMS23WqqqjyOMDyBVtTWC00mDDb4QRwLm7RHicqwAAGAMAJeC5DBXlrJLwX2Zk1+razdBbYaRp\/HId495\/JPqzVk2+a8wR55Rt4fwhadFGPoh+PftSb87fozA0xd5Rio1HUY6mbW\/+JPQiCYg1lxqqgg8ScZ9+Vp0TeSH4lHmr+bKSDR9kgxmlMpHOR5PlwVjBbKCm+4ooIz1tjAKlIocm9WaxpU49mKQREVTQIiIAiIgCIiALN6wqZJI6S0U+10tbIAS3k0f8+RWkWVtWLzq+suJDjDRjoocjdnh\/MfFXhrfoc20u8VTWssvLmaWmp46SmipoW7McTQ1o7AuqIqHQlZWQREQkIiIAiIgCrKvTlprqg1FRRtdIeJDi3PHiAe3irNFKbWhWUIzVpK5EprVb6MAU9HDHjmGDPv4qWiKG7kqKirJBF8SyshifLI4NYxpc5x5AcSsvLf7reZXQWGl2YuBqpBuHv3DzVoxbM6laNPXV8uZp5p4aaIyzysijbxc84AVLV6ys9M4sjkkqXg4xCzO\/vOB7lwh0eyeUVF4rZq6XG9u0Q0dnX8Fd0tsoaIAU1JDFgYy1gz7+JVuBd5nevPRKK9WUPpJeq12LbYn7J9mSfIBHkOrmn1fquvB+k3KKiY78EI9YeI+a1CJjtoh+O5dubft+jMR6HpXuD66uqqqTmS4AH35PmrCn0tZacgtoGPI5yEv8icK3RQ5yfMtHZqMdIo5Q00FM3ZggjiaOTGho8l1RFQ2SS0CIiEhERAEREAREQBERAEREAREQBERAEREBV6iuP1ZZZ52v2JXDYiPPaPV3bz4L50zbzbbHBE7HSSDpX46zy8BgeCqrs4XzVVLamgPgpPtZxyJ5j4DxWrWjyikctP8AkrSnyWS+QiIszqCIiAIiIAiIgCIiAIiID5exkkbo5Gh7HAhzXDIIPIhfMMMVPE2GGNscbRhrWjAC6IhFle4REQkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA4R0dNDVS1UcLWzTACR44uxwXdEQhJLQIiISEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "TRANSPORTE VIGAL S.A",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CAROLINA VELIZ",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA ERROR DE CONEXIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56982966734",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:30",
    "ubicacionGPS": "LatLng(lat: -23.1009887, lng: -70.4409806)",
    "horaLlegada": "12:24",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


22/05/2026 12:30:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:96849540

[22/05/2026 12:30:35] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('96849540', 'KY2074', 1, 19969062, 289006, NOW(), 
				'08:00', '12:24', '12:30', 15, 'Problemas de conexion solucionados', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779467435.png', 'Problemas de conexion solucionados', null, 'COMPLETADO','LatLng(lat: -23.1009887, lng: -70.4409806)' )
				
[22/05/2026 12:30:35] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200391

22/05/2026 12:30:35 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200391'                    
				WHERE idllamado = 12625			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


22/05/2026 12:30:35 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12625			
				
22/05/2026 12:30:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


22/05/2026 12:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

22/05/2026 12:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[22/05/2026 12:30:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 12:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12625
            GROUP BY l.idllamado;
            

[22/05/2026 12:30:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 12:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                

22/05/2026 12:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12625
                
[22/05/2026 12:30:42] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[22/05/2026 12:30:42] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[22/05/2026 12:32:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[22/05/2026 12:43:12] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[22/05/2026 12:43:12] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 7373114 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '7373114'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[22/05/2026 12:43: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;
                

[22/05/2026 12:43:42] 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;
                

[22/05/2026 12:43:42] 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;
                

[22/05/2026 12:43:42] 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;
                

[22/05/2026 12:43:42] 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;
                

[22/05/2026 12:43:42] 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;
                

[22/05/2026 12:43:42] 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;
                

[22/05/2026 12:43:43] 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;
                

[22/05/2026 12:43:43] 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;
                

[22/05/2026 12:43:43] 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;
                
[22/05/2026 13:52: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;
				
[22/05/2026 13:52: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;
                

[22/05/2026 13:52: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;
                
[22/05/2026 15:25:50] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 95585912 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '95585912'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[22/05/2026 15:25: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 = '95585912'
				GROUP BY anio
				ORDER BY anio DESC;
				

[22/05/2026 15:25:52] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 15:25:58] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 15:25:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12686
            GROUP BY l.idllamado;
            

22/05/2026 15:26:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12686
            GROUP BY l.idllamado;
            

[22/05/2026 15:26:02] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 15:26:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12686
            GROUP BY l.idllamado;
            

22/05/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 = 12686
                

22/05/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 = 12686
                

22/05/2026 15: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 = 12686
                

22/05/2026 15:26:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12686
            GROUP BY l.idllamado;
            

22/05/2026 15: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 = 12686
                

22/05/2026 15: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 = 12686
                

22/05/2026 15:26:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12686
            GROUP BY l.idllamado;
            

22/05/2026 15: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 = 12686
                

22/05/2026 15: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 = 12686
                

22/05/2026 15: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 = 12686
                

22/05/2026 15:26:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12686
            GROUP BY l.idllamado;
            

22/05/2026 15:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/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 = 12686
                

22/05/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 = 12686
                

22/05/2026 15:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:26:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12686
            GROUP BY l.idllamado;
            

22/05/2026 15:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15: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 = 12686
                

22/05/2026 15:26:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12686
            GROUP BY l.idllamado;
            

22/05/2026 15: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 = 12686
                

22/05/2026 15: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 = 12686
                

22/05/2026 15: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 = 12686
                

22/05/2026 15:26:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12686
            GROUP BY l.idllamado;
            

22/05/2026 15: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 = 12686
                

22/05/2026 15: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 = 12686
                

22/05/2026 15:26:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12686
            GROUP BY l.idllamado;
            

22/05/2026 15: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 = 12686
                

22/05/2026 15: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 = 12686
                

22/05/2026 15:26:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:26:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:28:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12686
            GROUP BY l.idllamado;
            

22/05/2026 15:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:28:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12686
            GROUP BY l.idllamado;
            

22/05/2026 15:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:28:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:28:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:28:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12686
            GROUP BY l.idllamado;
            

22/05/2026 15:28:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:28:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:28:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12686
            GROUP BY l.idllamado;
            

22/05/2026 15:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12686
            GROUP BY l.idllamado;
            

22/05/2026 15:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12686
            GROUP BY l.idllamado;
            

22/05/2026 15:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12686
            GROUP BY l.idllamado;
            

22/05/2026 15:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12686
            GROUP BY l.idllamado;
            

22/05/2026 15:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:18 - logentry: =========================================
FECHA: 22/05/2026 15:29:18
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-MatzVPFXRYX-rdCepBYQ.6JJfaBsFhQavzPa+Kw-1tl-WUWPLCY
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2779",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "CSJ",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "TALLER",
    "rutTecnico": "95585912",
    "contador": "1626",
    "contadorColor": "6273",
    "contadorScanner": "0",
    "detalle": "se retira por qué la impresora se calienta y se apaga ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12686",
    "observacion": "se retira por qué la impresora se calienta y se apaga",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACQAQEDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABAEAABAwMCAgcFBgMHBQEAAAABAAIDBAURBiESMRNBUWGBkaEUMkJxsRUWIiPB0TNi8CRSVnKiwuElNENT8YL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAuEQACAQIDBgYCAgMAAAAAAAAAAQIDERIhMRMyQVFh0QQUcYGRoSKxweFCUvD\/2gAMAwEAAhEDEQA\/APsyIiAIiIAi8c4NaXOIAAySepV24augjm9ktcLq+pOw4N2eY5+HmpKLloV1KsKavJliJAGScAKJr9T2m3PMctT0kg5siHER48h5qLFjvt7Zm8XD2eEnPs8QHLsONvPKmKDTtqt2DDSMc\/b8cn43fPfl4KVorV3Kcdae5Gy69iKbqi512DbLHLJGeUkhwD6Y9UL9Z1GPyqSl8Qf1crQiY1wR3YSe9N+2RWPsnVUuemvUTSf7jeXk0J9i6maMtvzSf5m\/8KzouY2PLQ5v5ZWC\/WFAOJ7KavAO\/DgHHd7v9FZQ6yiieIbrQ1FDJyyWkt7z2+hVlWqopoKqIxVELJYz8L2ghdxJ6obGpHcm\/fP+zOORksbZGO4muGQVkiKs0hERAEREAREQBERAEUdcL9bbYHCoqmdI3\/xsPE\/yUQdV1tfltmtEs\/V0suzR5beoU1CTzKJ+Ipwdm8+SzLQirAptYVmekrKajafhaAT9D9U+7l9\/xHN5O\/ddwLiyO3m92D+l\/JZ0VY+y9UUR46a7R1WPgmB388\/VSVhu8tzhlZUwiGqp3cMrWj8IOSNvEFccbK6ZKFa8sMotMlURFAvCIiAIiIAom76iorRiNxM1S7ZsEe7vHsUfc7\/VVlY61WJnSTcpKge7Hvvj9\/Jdtl03TWr8+Q+0Vj93zP3we7s+fNWYUs5GV1ZVHhpe74e3MjY7XetQu6W7Tuo6QnIpo9i4dh7PHPyCsFBbKO2xdHSU7Ih1kDd3zPMrrRRcm8iynRjB31fN6hERRLgiIgCIiAIiIAiIgCrl2udxqryLNaXNieGcU0zm54R3eY8exWNVTSL31V3u9VMWmbja08AwObv2CnBZN8jNXbco007Xf0jM6WucbeODUNT0uQcv4sH\/AFLEXm+WIht5pRVU+ce0Q8xz+QPLu+atS8c0OaWuAIIwQetdx33lc55ZRzptp\/P0zmoLjS3OmFRSSiRnI9rT2EdS6lUbna5tN1f2xaGuMGf7RT\/CG93d9PkrLQV0Fyo46qndxMePEHrBXJRSzWhKlVbbhNWkvvqjpVR1PXTvu0dtmrTQUT2gulDSeI9m2\/X8lblz1tBSXGHoauBkzOriG4+R5jwXINJ3ZKvTlUhhiyLtembLTRtmhiZV8Q2lkIkB7x1KbAAGAMAKrO0xcLTK6ew17mtJyaeXcH9D5Z71up9WOppmU17oX0Up+MDLHbjcd3ieSm4uWadymnUhSWGccP6+e5ZEWuCohqYmywSNkY4ZDmnKwrK2noKZ1TVSCONnMn6DtVduBrxK175Gm73KO022WrkwS0YY0\/E7qCjdIUE1LbH1NVkT1jzI4OGCB1Z+e58VwUVPUatr\/b69hjt0LsQwE++e09vefDtVuU3+Kw8TLTvVnteC079giIqzWEREAVZvl0qq+4\/YFqPDI4f2iYH3G9Y8ufkpHUV3Fmtbp24MzzwRA9vb4Ba9N2gWy3iSZuaycccz3e9k74J7vqrI5LEzLVbqS2UX6+nL3Oy1WqmtFG2np2973nm89pXaiKDd82aIxUVZaBERcJBERAEREAREQBFrkmii\/iSsZn+84Bc7rtbWe9cKUZ5Dpm7+q7ZkXKK1Z2IuGK92uaVsUdwp3PecNaJBknsXcjTWoUoy0YVD0ZVcOoqqJxx07XEAdZDs\/TKvi+Z2UvodRU1Q4gA1ToXb8s7f7vRW01eMkYfFycatOXXsfTERFSegeOaHNLXAEEYIPWqhIyTR13NRG1z7TVHDmjfonf15j5K4LTV0kNdSSUtQzjikGHBSjK2uhTWpY1eOUloZxSxzRNlieHseMtc05BCzVX0zPNbbhU6fq3EmIl9OT8Tee3181aElGzsdpVNpG\/Hj6haqimgq4TDUwsljPNrxkLauO5XSktNN09XJwtJw1oGXOPYAuK98icnFRbloV65WP7AjfcrVcTSMZu6GUksdy2HXvgbb\/NQ7Lo29XKmfqCV8NIxv4GtYQx7u\/sz1n6KZo6Or1VUtr7mwxW9hzBT8uPvP79aslRQUlVTinnp43xAABpbsB3dnIK7Hhyep5qoOr+UMo8no\/bgjZA6F8DHU7mOix+AxkFuO7C2KrTabr7S81Gn6x7et1NI7LXcu3bt5rZRava2cUl4pX0VRyzwnhPhzHqO9QwXzjmal4hReGqsL+vksqLFj2SMD2ODmnkWnIKyVZqCIiAq90\/6nrKhoCMw0jemkB5E8+Xg3n2+doVYtGDra7OeeKTgABwdhtt6BWdTnwRm8Pnilzb+sgiLnq7hR0DOOrqY4RjI43YJ+Q5lQ1NDaSuzoRVqXWUM0hhtdBUV0mPhaQPoT6LDo9XXM4kkgtsR58O7sep9Qp4HxyM\/mYPKCcvTvoWWWaKBhkmkZGwfE9wAUVVarstLkGsbK4dUQL8+I29VwxaKp5HCW5V1TWSfzOwP1PqpWmsFpo\/4NBCD2ubxHzOV20F1GLxEtEl65\/oiTrI1B4bbaauqPLOMD0z3+S8Fw1dVfwbXBTsPIyHceZ\/RWcAAYAwAvUxJaIbGo96b9rIq\/2ZqypP593hhadiIhuPJo+qfc+omz7bfKuYHcgZG\/iSrQibR8B5Wm9679WyuM0LZ2e86of\/mkH6ALoZo+xsOTRl3+aV37qbRcxy5kl4aiv8V8EZBpyz007J4qFjZIzxNOScHt3Kk0RRbb1LYwjHdVgvmtdTyMlvBj2kpKxszXfEAXOH6tK+lKm1dLx6tudGcD26iPR5GfxYGD5tKtpOzZj8bDEo+tvlFspKhtXRw1LPdlYHjxGVuUDoyp9o07E0nJhe6M+eR6EKeVclZtGqlPHTUuaCIiiWFa1dTSU4pr3Sj8+jeA7HWwnr8dv\/0VPUdXFW0UVXE78uRgcM9X\/wAXBfbxbKClkgrn9IZWFvQM3c4Hu6vmqhZKWtucr7K+slpKRmZTC4Ye5pxt6g9m+cK5RxRz4HnzqqlXajni4df7LLctVwQy+yWyI19U7YCPdo8Rz8PNarfpueqq23K\/Smefm2A+5H3bHB+Q2+amLbaKG0xdHSQhpIw553c75ldqi5JZRLlRlN4qrv04f2eAADAGAF6iKs1Bc9bQUlxh6GrgZMzq4huPkeY8F0ImhxpNWZUZ6O46Seaqge+rtxJMlO4\/wx29fn5qxWy5012o21NM\/LTs5p5sPYV1kAjBGQVU6yn+7Wo6Wrpcto61\/Rywt2a0n07x8ird\/XUyNPw7vHd5cvToW1ERVGwqt0cLJq+muTjwU1WwxzOA2B7\/APSfAqTuep7bbMsdL08\/IRRbnPeeQWWoLRJeqFlNHUCECQOcS3iBGD\/XmoHS7aO1XKS219MyO4B35cztw8dgJ5fqrlaUbvgefJ1KVRwjkpPV8zqMmp75wmKMWqmPxOOXkfX6LootG2+B3S1jn10xOS+Q4BPyz9SVYUUMb0WRevDQvef5Pr20NcMMVPGI4ImRMHJrGgAeAWxEUDToEREAREQBERAEREAREQBVjUP9k1PZq4fG4wuPdnH+8qzqA1nSOqLE6aPPHTPEowM5HI\/XPgp094z+JTdJtcM\/jM5tLZorzd7YTsyTpGDflk\/oWq0KnR1TG6ut1wacMuNMA8jf8eMYz3ENUzfNQ0lqp5GNnY6rx+CMfiIPeBy8VKcW5K3EqoVIQpu7yTfdHdX3KjtkPS1k7YmnkDzd8h1qrT3q56mqhS2RslNBGQZJi7hPdkjkNuXWoK3Ukuo7qRXXBschIBMp\/G7uaF9Ft1tpbVSimpI+FmckncuPaSpNRp9WVQnU8VplD7ZH2nS9Hb3dPUH2yqJyZZRnB7gfrzXBqdptt6tt5ZlrQ\/opiNtv\/hd5K1Ku644Dp\/DiAembw5PXv+mVGEm55l1elGFB4Va2fwWJFqpeL2SHjBDuBvECMb4W1VGtO6CIiHQixe9kbC+RwY1oyXOOAFBXHV9BSu6GjBrqg7NbDu3Pz6\/DKkot6FdSrCmrydidkkZFG6SR7WMaMuc44AHeVUbhXfeq5U9DQQvfS08vHLORgdmR5nbr7ua2x2W66ge2ovc5p4AcspIxjbv7PHJ+SstLSU9FA2CmibFG3k1oUsodWZ2p18mrR+32NyIirNgUZerHT3mn4X\/lzsH5cwG7T+yk0XU2ndEZwjOOGSyKrRX2pslSLZfi8\/8AqquYcO89Y7+farRHIyVgkje17HcnNOQVprKGluEBgq4Wyxnqd1fI8wq8bBeLOXvsddxwnJFNNy8M7dm+yn+MujMy2lHLej9ruWlFWItYPpS2K822ekkx77WnhPyB\/wCVMUl8tdacU9dC5x5NJ4T5HBUXCS4FsK9OeSeZ3oiKJcEREAREQBERAEWuaeGnYXzysiYObnuDR6qGrNYWil\/DHM6qkzjhhbn1Oy6ot6Fc6sIbzsTqi73crbSUUsFdOG9Kwt6Nv4nkEdQ\/dRDq3VF5BZS0Yt0DjjpZNnY8d\/ILstmkqKjkFRVOdW1Ocl8vIHtx++VPCo7zKHVnUypxy5vTuyimqq5bZExpHQ0MuWPGz2l+\/b2tJ2V+s2mrdbgypY01E5HEJpNyM9g5D+t1W9Y03sF0kkZGGxV8X4jn4w4En0HmrbYaoVNgo53ED8oNJ2AyPwn1CtqSbimjH4SnGNaUJ5tf9+rGN20\/Q3hpMzOCbG0zAOLx7QolkGqLGC2F8d0pgcNa8njA8d\/DJU\/LdLfBkS11OwjmHStB+q4ptV2SEkGua4jqYxzvUDCqi5Wta5sqRo3xYsL53scDdWV+zX6dqw\/rG\/6tXlLb7lfrgyuu7HU1NDgw0wJBJ7+v5rJ+ubcXcNPTVUzurDAM+ufRefeK+VP\/AGen5GjqdMSB9Ap2a0VijHTk7Sm5dEuyLOvCQBknACrPR6xrfelpaEdjcE\/7vqvBo19S7iud3qar+UbD1z2KGFLVmnbTluQfvkS9Zf7VQ56euiDh8LTxO8goh2rKq4vdBY7ZJO7H8WXZrT3jl5kKRpNLWakILaNsjgPelPF6HZSrGMjYGRtDGtGA1owAl4LRXOYa89Wkumvy+xVxpq6XbgkvlzcWg59niAAHjyz4H5qfoLXQ21nDSUzItsFwH4nfM8yutFFzbLIUIQd0s+bzYREUS4IiIAiIgCIiAxkjZKwxyMa9jubXDIKiKrSdmqt\/ZBC7Ocwkt9OXoplF1Sa0ITpwnvK5V\/ulWUZza71UQtHwP3Hpt6IIdZUgw2opKsDlnAP0CtCKe0fEp8rBbra9GVj7V1XCPzrLC\/sEbv2cU+8F\/Zs\/TshP8pP7FWdYySMiYXyPaxo5lxwAmJchsZrSo\/rsVr7x33\/Dk3m79k+2dUP9yxMbjnxO\/wCQu2s1bZqTI9p6dw+GEcWfHl6rg+9F0uBAtFlke08pJvdP0HqpJP8A1M8ppO21bfS38Iy6XWdRt0FHTZ68g49Stc1v1A5hfctRQ0bCc5jPDjx\/D9Vn9l6ouOfbLoyjYfghGSPLHb2rZFoi3cXSVU9TVPPMvfgHy39V26XL4I7OpPRSfq7fSIaSm0xA4vr7tUXCUdTSSDt2jw6+pddHqG2Uzi2y2CaR+4y1g4j4jJVjp7HaqUflUEAI6ywOPmd13NaGjDQAOwLjmn1LIeGnF3TS9Fd\/LKwLzqeq2prG2EEYzMSMd+5CGm1lU+9WUlMDuQAMju5H6q0Io4+SRd5dvem39fopd00vd6miknqrp7VJE0vbFwHGesDs27lz6Z0zR3i3Goq5KhpZIWBjXANxgHO471fF4AAMAYAXdrK1ivyVPHi\/eZBxaNskeOKmfIR1vldv5ELthsVpgx0dup8gYBMYcfVSCKDlJ8TRGjSjpFfBixjI28LGho7AMLJEUS0IiIAiIgCIiAIiIAiIgCIiAIiIAi8c4NaXOIAAySepVus1TJUVRoLFT+1znYyn3G9\/\/J2+alGLloV1Ksaa\/IsM00VPGZJ5WRMHNz3AAeJUHWaxtsEnQ0wkrZScBsI2J+fX4ZWmPSs9eWzX24zVLwciKN2GN7f6GFPUlvo6BnBSU0cIxg8DcE\/M8ypfiupVevPRYV1zfYrxrNWXPAp6OK3xu+KX3h887+iyi0cahzZLxcqiscN+AOIaPE5PlhWdExvhkPLRec25evY4KOyWugOaaiiY7+8RxO8zkrvRFBtvUvjGMVaKsERFwkEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAVa6T1OoLu6y0cvRUsOTUytcDxdRGO45GPHsVgoLfS22mFPSRCNg545uPaT1lQ2k6WaB9yfPAYnPqSASzh4gM+m6sSsm7fitDL4eOJbWWr+lyCIirNQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/9k=",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "WILIIAM",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56995359626",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:29",
    "ubicacionGPS": "LatLng(lat: -23.6618664, lng: -70.4001045)",
    "horaLlegada": "15:24",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "2",
    "observacionRetiroMaqExterna": "problemas con código , se retira y queda en manos del técnico Claudio Díaz ",
    "idReportManual": "null"
}
=========================================
FECHA: 22/05/2026 15:29:18
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-MatzVPFXRYX-rdCepBYQ.6JJfaBsFhQavzPa+Kw-1tl-WUWPLCY
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2779",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "CSJ",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "TALLER",
    "rutTecnico": "95585912",
    "contador": "1626",
    "contadorColor": "6273",
    "contadorScanner": "0",
    "detalle": "se retira por qué la impresora se calienta y se apaga ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12686",
    "observacion": "se retira por qué la impresora se calienta y se apaga",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACQAQEDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABAEAABAwMCAgcFBgMHBQEAAAABAAIDBAURBiESMRNBUWGBkaEUMkJxsRUWIiPB0TNi8CRSVnKiwuElNENT8YL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAuEQACAQIDBgYCAgMAAAAAAAAAAQIDERIhMRMyQVFh0QQUcYGRoSKxweFCUvD\/2gAMAwEAAhEDEQA\/APsyIiAIiIAi8c4NaXOIAAySepV24augjm9ktcLq+pOw4N2eY5+HmpKLloV1KsKavJliJAGScAKJr9T2m3PMctT0kg5siHER48h5qLFjvt7Zm8XD2eEnPs8QHLsONvPKmKDTtqt2DDSMc\/b8cn43fPfl4KVorV3Kcdae5Gy69iKbqi512DbLHLJGeUkhwD6Y9UL9Z1GPyqSl8Qf1crQiY1wR3YSe9N+2RWPsnVUuemvUTSf7jeXk0J9i6maMtvzSf5m\/8KzouY2PLQ5v5ZWC\/WFAOJ7KavAO\/DgHHd7v9FZQ6yiieIbrQ1FDJyyWkt7z2+hVlWqopoKqIxVELJYz8L2ghdxJ6obGpHcm\/fP+zOORksbZGO4muGQVkiKs0hERAEREAREQBERAEUdcL9bbYHCoqmdI3\/xsPE\/yUQdV1tfltmtEs\/V0suzR5beoU1CTzKJ+Ipwdm8+SzLQirAptYVmekrKajafhaAT9D9U+7l9\/xHN5O\/ddwLiyO3m92D+l\/JZ0VY+y9UUR46a7R1WPgmB388\/VSVhu8tzhlZUwiGqp3cMrWj8IOSNvEFccbK6ZKFa8sMotMlURFAvCIiAIiIAom76iorRiNxM1S7ZsEe7vHsUfc7\/VVlY61WJnSTcpKge7Hvvj9\/Jdtl03TWr8+Q+0Vj93zP3we7s+fNWYUs5GV1ZVHhpe74e3MjY7XetQu6W7Tuo6QnIpo9i4dh7PHPyCsFBbKO2xdHSU7Ih1kDd3zPMrrRRcm8iynRjB31fN6hERRLgiIgCIiAIiIAiIgCrl2udxqryLNaXNieGcU0zm54R3eY8exWNVTSL31V3u9VMWmbja08AwObv2CnBZN8jNXbco007Xf0jM6WucbeODUNT0uQcv4sH\/AFLEXm+WIht5pRVU+ce0Q8xz+QPLu+atS8c0OaWuAIIwQetdx33lc55ZRzptp\/P0zmoLjS3OmFRSSiRnI9rT2EdS6lUbna5tN1f2xaGuMGf7RT\/CG93d9PkrLQV0Fyo46qndxMePEHrBXJRSzWhKlVbbhNWkvvqjpVR1PXTvu0dtmrTQUT2gulDSeI9m2\/X8lblz1tBSXGHoauBkzOriG4+R5jwXINJ3ZKvTlUhhiyLtembLTRtmhiZV8Q2lkIkB7x1KbAAGAMAKrO0xcLTK6ew17mtJyaeXcH9D5Z71up9WOppmU17oX0Up+MDLHbjcd3ieSm4uWadymnUhSWGccP6+e5ZEWuCohqYmywSNkY4ZDmnKwrK2noKZ1TVSCONnMn6DtVduBrxK175Gm73KO022WrkwS0YY0\/E7qCjdIUE1LbH1NVkT1jzI4OGCB1Z+e58VwUVPUatr\/b69hjt0LsQwE++e09vefDtVuU3+Kw8TLTvVnteC079giIqzWEREAVZvl0qq+4\/YFqPDI4f2iYH3G9Y8ufkpHUV3Fmtbp24MzzwRA9vb4Ba9N2gWy3iSZuaycccz3e9k74J7vqrI5LEzLVbqS2UX6+nL3Oy1WqmtFG2np2973nm89pXaiKDd82aIxUVZaBERcJBERAEREAREQBFrkmii\/iSsZn+84Bc7rtbWe9cKUZ5Dpm7+q7ZkXKK1Z2IuGK92uaVsUdwp3PecNaJBknsXcjTWoUoy0YVD0ZVcOoqqJxx07XEAdZDs\/TKvi+Z2UvodRU1Q4gA1ToXb8s7f7vRW01eMkYfFycatOXXsfTERFSegeOaHNLXAEEYIPWqhIyTR13NRG1z7TVHDmjfonf15j5K4LTV0kNdSSUtQzjikGHBSjK2uhTWpY1eOUloZxSxzRNlieHseMtc05BCzVX0zPNbbhU6fq3EmIl9OT8Tee3181aElGzsdpVNpG\/Hj6haqimgq4TDUwsljPNrxkLauO5XSktNN09XJwtJw1oGXOPYAuK98icnFRbloV65WP7AjfcrVcTSMZu6GUksdy2HXvgbb\/NQ7Lo29XKmfqCV8NIxv4GtYQx7u\/sz1n6KZo6Or1VUtr7mwxW9hzBT8uPvP79aslRQUlVTinnp43xAABpbsB3dnIK7Hhyep5qoOr+UMo8no\/bgjZA6F8DHU7mOix+AxkFuO7C2KrTabr7S81Gn6x7et1NI7LXcu3bt5rZRava2cUl4pX0VRyzwnhPhzHqO9QwXzjmal4hReGqsL+vksqLFj2SMD2ODmnkWnIKyVZqCIiAq90\/6nrKhoCMw0jemkB5E8+Xg3n2+doVYtGDra7OeeKTgABwdhtt6BWdTnwRm8Pnilzb+sgiLnq7hR0DOOrqY4RjI43YJ+Q5lQ1NDaSuzoRVqXWUM0hhtdBUV0mPhaQPoT6LDo9XXM4kkgtsR58O7sep9Qp4HxyM\/mYPKCcvTvoWWWaKBhkmkZGwfE9wAUVVarstLkGsbK4dUQL8+I29VwxaKp5HCW5V1TWSfzOwP1PqpWmsFpo\/4NBCD2ubxHzOV20F1GLxEtEl65\/oiTrI1B4bbaauqPLOMD0z3+S8Fw1dVfwbXBTsPIyHceZ\/RWcAAYAwAvUxJaIbGo96b9rIq\/2ZqypP593hhadiIhuPJo+qfc+omz7bfKuYHcgZG\/iSrQibR8B5Wm9679WyuM0LZ2e86of\/mkH6ALoZo+xsOTRl3+aV37qbRcxy5kl4aiv8V8EZBpyz007J4qFjZIzxNOScHt3Kk0RRbb1LYwjHdVgvmtdTyMlvBj2kpKxszXfEAXOH6tK+lKm1dLx6tudGcD26iPR5GfxYGD5tKtpOzZj8bDEo+tvlFspKhtXRw1LPdlYHjxGVuUDoyp9o07E0nJhe6M+eR6EKeVclZtGqlPHTUuaCIiiWFa1dTSU4pr3Sj8+jeA7HWwnr8dv\/0VPUdXFW0UVXE78uRgcM9X\/wAXBfbxbKClkgrn9IZWFvQM3c4Hu6vmqhZKWtucr7K+slpKRmZTC4Ye5pxt6g9m+cK5RxRz4HnzqqlXajni4df7LLctVwQy+yWyI19U7YCPdo8Rz8PNarfpueqq23K\/Smefm2A+5H3bHB+Q2+amLbaKG0xdHSQhpIw553c75ldqi5JZRLlRlN4qrv04f2eAADAGAF6iKs1Bc9bQUlxh6GrgZMzq4huPkeY8F0ImhxpNWZUZ6O46Seaqge+rtxJMlO4\/wx29fn5qxWy5012o21NM\/LTs5p5sPYV1kAjBGQVU6yn+7Wo6Wrpcto61\/Rywt2a0n07x8ird\/XUyNPw7vHd5cvToW1ERVGwqt0cLJq+muTjwU1WwxzOA2B7\/APSfAqTuep7bbMsdL08\/IRRbnPeeQWWoLRJeqFlNHUCECQOcS3iBGD\/XmoHS7aO1XKS219MyO4B35cztw8dgJ5fqrlaUbvgefJ1KVRwjkpPV8zqMmp75wmKMWqmPxOOXkfX6LootG2+B3S1jn10xOS+Q4BPyz9SVYUUMb0WRevDQvef5Pr20NcMMVPGI4ImRMHJrGgAeAWxEUDToEREAREQBERAEREAREQBVjUP9k1PZq4fG4wuPdnH+8qzqA1nSOqLE6aPPHTPEowM5HI\/XPgp094z+JTdJtcM\/jM5tLZorzd7YTsyTpGDflk\/oWq0KnR1TG6ut1wacMuNMA8jf8eMYz3ENUzfNQ0lqp5GNnY6rx+CMfiIPeBy8VKcW5K3EqoVIQpu7yTfdHdX3KjtkPS1k7YmnkDzd8h1qrT3q56mqhS2RslNBGQZJi7hPdkjkNuXWoK3Ukuo7qRXXBschIBMp\/G7uaF9Ft1tpbVSimpI+FmckncuPaSpNRp9WVQnU8VplD7ZH2nS9Hb3dPUH2yqJyZZRnB7gfrzXBqdptt6tt5ZlrQ\/opiNtv\/hd5K1Ku644Dp\/DiAembw5PXv+mVGEm55l1elGFB4Va2fwWJFqpeL2SHjBDuBvECMb4W1VGtO6CIiHQixe9kbC+RwY1oyXOOAFBXHV9BSu6GjBrqg7NbDu3Pz6\/DKkot6FdSrCmrydidkkZFG6SR7WMaMuc44AHeVUbhXfeq5U9DQQvfS08vHLORgdmR5nbr7ua2x2W66ge2ovc5p4AcspIxjbv7PHJ+SstLSU9FA2CmibFG3k1oUsodWZ2p18mrR+32NyIirNgUZerHT3mn4X\/lzsH5cwG7T+yk0XU2ndEZwjOOGSyKrRX2pslSLZfi8\/8AqquYcO89Y7+farRHIyVgkje17HcnNOQVprKGluEBgq4Wyxnqd1fI8wq8bBeLOXvsddxwnJFNNy8M7dm+yn+MujMy2lHLej9ruWlFWItYPpS2K822ekkx77WnhPyB\/wCVMUl8tdacU9dC5x5NJ4T5HBUXCS4FsK9OeSeZ3oiKJcEREAREQBERAEWuaeGnYXzysiYObnuDR6qGrNYWil\/DHM6qkzjhhbn1Oy6ot6Fc6sIbzsTqi73crbSUUsFdOG9Kwt6Nv4nkEdQ\/dRDq3VF5BZS0Yt0DjjpZNnY8d\/ILstmkqKjkFRVOdW1Ocl8vIHtx++VPCo7zKHVnUypxy5vTuyimqq5bZExpHQ0MuWPGz2l+\/b2tJ2V+s2mrdbgypY01E5HEJpNyM9g5D+t1W9Y03sF0kkZGGxV8X4jn4w4En0HmrbYaoVNgo53ED8oNJ2AyPwn1CtqSbimjH4SnGNaUJ5tf9+rGN20\/Q3hpMzOCbG0zAOLx7QolkGqLGC2F8d0pgcNa8njA8d\/DJU\/LdLfBkS11OwjmHStB+q4ptV2SEkGua4jqYxzvUDCqi5Wta5sqRo3xYsL53scDdWV+zX6dqw\/rG\/6tXlLb7lfrgyuu7HU1NDgw0wJBJ7+v5rJ+ubcXcNPTVUzurDAM+ufRefeK+VP\/AGen5GjqdMSB9Ap2a0VijHTk7Sm5dEuyLOvCQBknACrPR6xrfelpaEdjcE\/7vqvBo19S7iud3qar+UbD1z2KGFLVmnbTluQfvkS9Zf7VQ56euiDh8LTxO8goh2rKq4vdBY7ZJO7H8WXZrT3jl5kKRpNLWakILaNsjgPelPF6HZSrGMjYGRtDGtGA1owAl4LRXOYa89Wkumvy+xVxpq6XbgkvlzcWg59niAAHjyz4H5qfoLXQ21nDSUzItsFwH4nfM8yutFFzbLIUIQd0s+bzYREUS4IiIAiIgCIiAxkjZKwxyMa9jubXDIKiKrSdmqt\/ZBC7Ocwkt9OXoplF1Sa0ITpwnvK5V\/ulWUZza71UQtHwP3Hpt6IIdZUgw2opKsDlnAP0CtCKe0fEp8rBbra9GVj7V1XCPzrLC\/sEbv2cU+8F\/Zs\/TshP8pP7FWdYySMiYXyPaxo5lxwAmJchsZrSo\/rsVr7x33\/Dk3m79k+2dUP9yxMbjnxO\/wCQu2s1bZqTI9p6dw+GEcWfHl6rg+9F0uBAtFlke08pJvdP0HqpJP8A1M8ppO21bfS38Iy6XWdRt0FHTZ68g49Stc1v1A5hfctRQ0bCc5jPDjx\/D9Vn9l6ouOfbLoyjYfghGSPLHb2rZFoi3cXSVU9TVPPMvfgHy39V26XL4I7OpPRSfq7fSIaSm0xA4vr7tUXCUdTSSDt2jw6+pddHqG2Uzi2y2CaR+4y1g4j4jJVjp7HaqUflUEAI6ywOPmd13NaGjDQAOwLjmn1LIeGnF3TS9Fd\/LKwLzqeq2prG2EEYzMSMd+5CGm1lU+9WUlMDuQAMju5H6q0Io4+SRd5dvem39fopd00vd6miknqrp7VJE0vbFwHGesDs27lz6Z0zR3i3Goq5KhpZIWBjXANxgHO471fF4AAMAYAXdrK1ivyVPHi\/eZBxaNskeOKmfIR1vldv5ELthsVpgx0dup8gYBMYcfVSCKDlJ8TRGjSjpFfBixjI28LGho7AMLJEUS0IiIAiIgCIiAIiIAiIgCIiAIiIAi8c4NaXOIAAySepVus1TJUVRoLFT+1znYyn3G9\/\/J2+alGLloV1Ksaa\/IsM00VPGZJ5WRMHNz3AAeJUHWaxtsEnQ0wkrZScBsI2J+fX4ZWmPSs9eWzX24zVLwciKN2GN7f6GFPUlvo6BnBSU0cIxg8DcE\/M8ypfiupVevPRYV1zfYrxrNWXPAp6OK3xu+KX3h887+iyi0cahzZLxcqiscN+AOIaPE5PlhWdExvhkPLRec25evY4KOyWugOaaiiY7+8RxO8zkrvRFBtvUvjGMVaKsERFwkEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAVa6T1OoLu6y0cvRUsOTUytcDxdRGO45GPHsVgoLfS22mFPSRCNg545uPaT1lQ2k6WaB9yfPAYnPqSASzh4gM+m6sSsm7fitDL4eOJbWWr+lyCIirNQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/9k=",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "WILIIAM",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56995359626",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:29",
    "ubicacionGPS": "LatLng(lat: -23.6618664, lng: -70.4001045)",
    "horaLlegada": "15:24",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "2",
    "observacionRetiroMaqExterna": "problemas con código , se retira y queda en manos del técnico Claudio Díaz ",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


22/05/2026 15:29:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[22/05/2026 15:29: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('76050301', 'EP2779', 1, 95585912, 1626, NOW(), 
				'08:00', '15:24', '15:29', 2, 'se retira por qué la impresora se calienta y se apaga ', 2, 
				'problemas con código , se retira y queda en manos del técnico Claudio Díaz ', '','1','6273',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779478158.png', 'se retira por qué la impresora se calienta y se apaga', null, 'COMPLETADO','LatLng(lat: -23.6618664, lng: -70.4001045)' )
				
[22/05/2026 15:29:18] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200392

22/05/2026 15:29:18 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '76050301' AND 
				serieinterna = 'EP2779' AND
				correlativo = 1;				
		
22/05/2026 15:29:18 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'EP2779'
		
22/05/2026 15:29:18 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP2779'
				   AND estado = 1
				
22/05/2026 15:29:18 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'EP2779'
				  AND rutcliente = '76050301';
				
22/05/2026 15:29:18 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'EP2779', 2, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
22/05/2026 15:29:18 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200392'                    
				WHERE idllamado = 12686			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


22/05/2026 15:29:18 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12686			
				
22/05/2026 15:29:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


22/05/2026 15:29:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12686
            GROUP BY l.idllamado;
            

22/05/2026 15:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

[22/05/2026 15:29:20] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 15:29:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12686
            GROUP BY l.idllamado;
            

[22/05/2026 15:29:20] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 15:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12686
            GROUP BY l.idllamado;
            

22/05/2026 15:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12686
                

22/05/2026 15:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

[22/05/2026 15:55:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 15:55:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 15:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15: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 = 12674
                

22/05/2026 15: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 = 12674
                

[22/05/2026 15: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;
                

22/05/2026 15:55:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

[22/05/2026 15: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;
                

22/05/2026 15:55:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:55:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15:55:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

[22/05/2026 15:55:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 15:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

[22/05/2026 15:56:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 15:56:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 15:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

[22/05/2026 15:56:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 15:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

[22/05/2026 15:56:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 15:56:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 15:56:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:56:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

[22/05/2026 15:56:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 15:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:56:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15:56:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

[22/05/2026 15:56: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;
                

[22/05/2026 15:56: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;
                

[22/05/2026 15:56: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;
                

22/05/2026 15:56:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

[22/05/2026 15:57: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;
                

[22/05/2026 15:57: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;
                

22/05/2026 15:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

[22/05/2026 15:57: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;
                

22/05/2026 15:57:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

[22/05/2026 15:57: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;
                

22/05/2026 15:57:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

[22/05/2026 15:57: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;
                

[22/05/2026 15:57: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;
                

22/05/2026 15:57:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15: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 = 12674
                

22/05/2026 15: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 = 12674
                

22/05/2026 15:57:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

[22/05/2026 15:57: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;
                

22/05/2026 15:57:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15: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 = 12674
                

[22/05/2026 15:57: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;
                

22/05/2026 15:57:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15:57:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15: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 = 12674
                

22/05/2026 15: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 = 12674
                

22/05/2026 15: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 = 12674
                

22/05/2026 15: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 = 12674
                

22/05/2026 15: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 = 12674
                

22/05/2026 15:57:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15:57:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15:57:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15: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 = 12674
                

22/05/2026 15: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 = 12674
                

22/05/2026 15:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/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 = 12674
                

22/05/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 = 12674
                

22/05/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 = 12674
                

22/05/2026 15:57:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/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 = 12674
                

22/05/2026 15:57:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15:57:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15: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 = 12674
                

22/05/2026 15: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 = 12674
                

22/05/2026 15:57:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15: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 = 12674
                

22/05/2026 15: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 = 12674
                

22/05/2026 15: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 = 12674
                

22/05/2026 15:57:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15: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 = 12674
                

22/05/2026 15: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 = 12674
                

22/05/2026 15: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 = 12674
                

22/05/2026 15:57:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/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 = 12674
                

22/05/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 = 12674
                

22/05/2026 15:57:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/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 = 12674
                

22/05/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 = 12674
                

22/05/2026 15:57:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15:57:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15: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 = 12674
                

22/05/2026 15: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 = 12674
                

22/05/2026 15:57:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15:57:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:57 - logentry: =========================================
FECHA: 22/05/2026 15:57:57
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Aerp_PQYS3Y8+cbw2PsXXK2FpwBQY9mMF2rYbyFimgQrB_muGX3
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "86551700",
    "serieinterna": "KY3195",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "232",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Conexion escaner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12674",
    "observacion": "Conexion escanee",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACOAOcDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABCEAABAwMCAgYHBAcIAwEAAAABAAIDBAURBiESMRNBUYGRoRUiMmFxscEUFiPRJEJicsLh8AczNFKSstLxNUOi8v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgMECQMEAwAAAAAAAAABAgMREiExBEFRYRMiMnGBkaGx0TPB4SNCUvAkU\/H\/2gAMAwEAAhEDEQA\/AP2ZERAFo3G70lrkp2VTywVDi0Oxs3A5k9XV4reWjebZHd7bJSPwHHeNxHsuHI\/12rqtfMhUxYXg1N5FP6VuktRBJbasEVdEeB2TkuAOM93LwVAklZ2OU6iqRUkERaV2uLLVbZat+5aPUb\/md1BEr5E5SUU2zJWXGjt7Q6rqY4Q44HEdz3L7R1tNcKcT0sokjJxkdR7FPWfT4uQF3vYdNUTHibE\/ZrG9WR9F60uGw3m9UsQIhjmHC3GA3d2wH9clNxVnbcZY1qjlG6spaceJToiKs1hERAEREARc6\/SV8Nommtzg2eMcXs8RI68DtXNn1XGdONrqcA1Uh6NsXPhk6\/z9+ykotrIpnXhBtS4XNi6ajbTVfo+ggNZXEbMb7LT7z8N1qG2apqwJZrtHTOI\/uo27NW3pmzG20XT1ALq2o9aV793D9nK7ak5KOUSqNOVVYqja5LKxLOk1PZSZJujulMBlwbs8DHw93vXbtF3przR\/aKfIwcPY7m0reUnco3ab1BHdYRw0NWeCpa3k13bjz8e1FaeW85JSoda94777uZWIvLHtkjbIxwc1wBaR1helWbAiIgCIiAIiIAiIgCIiAltRR+hrtSX6D1Q54iqWge0O3wB8Aqdj2yRtkY4Oa4AtI6wtO80AudpqKTOC9uWnscNx5haGkbh9tskcb3EzUx6N4PPH6vlt3FWPON+Blj+nWcd0s\/Hed1S1zb6e1TDbMB1LQ\/iznmHHbb5Dx7FQXGsZb7fPVyEARMJ36z1DvOAuPo6idFbX3Cch9RWvMhcQM4z2+85Pekck5Ct15xpeL7l8soCQBknACmdFfjRXCuwf0ioJ4ncz1\/xfNdLUlyjttlneXgSytMcQ6y47eXNNN0LrdYqeCQYkIL3\/ABJz8sIsoPmdl1q8Utyb8zqoiKs0hERAEREAX57cqehtmsoo3O4aQStle0jIYTv4cu4r9CUY22w3vVF6iqNvww1rhzaRw4P\/AMq2k7XuYdsi5KKSzuWQIIyDkFfVPaYr52Gay15AqqPZu+eNnV4ZHcQqFVyVnY1U6iqRxILXr6KG40UtJOMskbjPWD1Ee8LYRc0JtJqzJ3SFZK6kntlQCJqB\/Bv\/AJd8eGD5KiUq9vorXrHgBsVwiIO23F+eQPFVSnPW\/Ez7M3gcHrF2+PQIiKBpCIiAIiIAiIgCIiAKUY42LWj4y3hpbngtxyD\/AP8ARP8AqVWuBrGjdPZvtMR4ZqN4la4DfHI\/Q9ynB52e8zbSngxrWOfz6GrquU3CuobDC48Uzw+XH6rf+snuCo3Op6Cj4nFsMEDO5rQFNaTFRdK+rvlW0cTwIo9uWMZx5ea8a2qajipqNzJG0ch4pHMaCXYxsN\/f19am43agURq4YS2hrXTu3HqhadUX9tzfARb6QcMQkHtu7fr4KsUrDqsNhZDbLDVSMYOENaMAeAK9+kdV1v8Ah7XDSMP60p3HV1nv5JKLfI7SrU4rK8m9bJlOimPQupqs5qr6IfdADt4cKfc6bdxvlX0nU7f81DDHey7pqj0pvxaRTopWWj1HY4nT09f6Qp493RSj1+Eb7Zz7+vu7O5Z7rDeKBlVEOEnZ7M5LHdi442V0ShWUpYZKzN5ERRLwpjTWPvFfQcl3TcyOQ4nfyVOpih\/R9f18fJs8AcPecN\/mpx0aM1bKdN8\/dM8aphkttxpb\/TN3jcGTgfrDq8sjwVPFKyaJksbg5j2hzXDrB5FY6ykirqOWlmGWStLT7veuFpKrlhFRZKo\/j0Tjw\/tMz9D5ELvaj3HF+lWtul7\/AJKRERVmomNX\/h1donwMtqQCQN+bTt4KnUxrQ5ZbmHdrqkZH9fFU6nLsozUvrVPD2CIigaQiIgCIiAIiIAiIgCndX1jxSQ2ynOZ654YB+z19XaQqJS9Pm7a5mmOTDbWcDc7jj5fMu8PCcNb8DNtLbioLWWXz6H3Rkr4GVtpmI6SkmONzuCcHuyPNU6lpSLf\/AGgRu4g1ldDg77ZxgebR4qpXamt+I2bKDh\/F2+AiIqzSEREAUlWNOltQx1kLcUFeeCWMDZju0fMd4VauPqqh+3afqGgZfCOlZ8W8\/LKnB52e8z7RBuGKOqzR2EXO0\/WfbrHSTk5cWcLviNj8l0VFqzsXQkpRUlvCl7r+h63tlU7PBOzourc7j+JqqFO60pnPtDKyM4ko5WvBHYTj54PcpU+1biUbSn0eJbs\/IolK6kBtF7ob5Gwlmeinx1j\/AKz4BUVDVsrqGGqjILZWB23V2hYbzbxdLTUUecOkb6p7HDceYSLwyzJVo9JT6uuqN0EEZByCvq4Wkbh9tskcb3EzUx6N4PPH6vlt3Fd1RkrOxZTmqkFJbyY1P+PfbJSt59Nxu+GW\/kVTqWox6a1jPW4Bp7e3omHOQXZPLz7er3KpU55JIpodaU58X7ZBERVmkIiIAiIgCIiAIiIDHPM2np5Jn+zGwuO+NgMqf0TE51tqK2T26qdzjjsH88rqX1xbYa4tJB6B24+CwaUAGmqPAx6rv9xU1lBmaWe0RXBN\/Y5+s2up22+5s9qlqBt1kHf+HzVK1zXsD2nLXDIPaFztR0n2ywVcXW2MvHxbv9F40xVis0\/Sv4suYzo3e4t2+WD3rrzguQj1a8lxV\/LL4OsiIqzSEREAXlzWvYWOGWuGCO0L0iAmNEfhUtbSZJ6CoI359nLq5KnUxpP1bpfI854ar+J\/5KnU6naM2yfRXj7hY6iBlTTyQSAOZI0tcD2FZEUDS1fImtHVDoYqq0TvBlopXAD9nO+O\/PiqVSlxcLLrOnry4tp61vRy9mcY8vVKq1ZPW\/EzbM7RdN\/ty8NxK059Da3mpyWsguLA9oxtxb48+LxXS1Jd22y3ujjkxVzjghaNzk7cW3Z81zdcSQww0dQ2VjKyGUPiHNxHX5gLNp21OqXNvtxkE9VOOKMdUberHv8AkpWVlNmdOSnKhDvvwT\/uRu6atfoqzxRvbieT8SXbcE9XcNvFddEVTd3dm6EFCKitwREXCYREQBERAEREAREQGnd4jPZ6yIAkugeABzJwVoaPmbNpumAO8Zcx3uPET8iF2iARgjIKmdF5pm3G2vJ4qaoPPsO38Kms4MzT6teL4pr7lMQCMEZBUxpBxpKq5Wlx\/wAPMXMB5kcvoPFVCl5c2\/X8bxsyvhwezIGP4R4rsM00K\/VnCfO3mVCIirNIREQBEXwkAZJwAgJnSuHXi\/SDk6q2\/wBT\/wA1TqZ0QOkoa2pwQJqk4B+AP1VMp1O0Ztl+ivH3CIigaTl6itYu1olgaMys9eL94dXfy71zaG8V9RpHp6SJ01dF+CW8BJyNuLHXtg\/HKplK0hFk1pPTOfiC4t6Rg6g8k\/XiHeFZF3VuBjrLDNSTtfJ\/ZnDhguTZaiouVjrK+adhYHuz6mRjIHCe7sW5p\/UlTQW0UQtc9UYXEcTM+rk5wdjjrV0pix4p9XXimYBwuxJttvnP8RU8akndGd7PKjOOGWuWi7\/sPvoIsGqtFXC3rOOrvws0et7M8DidPH+9Hy8MqhWGWjpZjmWmikP7bAVXeHA14K60mn3o5jdW2JxwK8d8bx9FsxX60THDLjT5\/akDfmvTrHaXDBtlJ3QtH0WrLpSxy+1QNacY9R7m\/Ip1OY\/yV\/H1\/J0o6qmlIEdRE8nlwvBysynZND2Z4IaJ2Z62ycvEFYPuzdrf\/wCJvT2tHKOf2R8x5LuGL0Y6StHtQ8n\/AMKlFxbVLqH7X0V0p6foOEnpo3DOezGfoig1YuhPGr2a7ztIiLhMIiIApeRr7brxk2CIa+LhLsbcWOWe3LR4qoXB1db31drFTBkT0bulYRzx148Ae5Tg87cTPtMXgxLVZneUtrL9GqbVXjboJ8E594P0K7lnrxc7VT1e3FI31gOpw2PmFytcR8en+LHsTNdy+I+q7DKdmR2lqezuS4X+5RIsNK8SUkLxydG0+SzKs0p3VwiIh0LkamuXo6zycG88\/wCFE3GSSevHuH0XTmmjp4XzTPDI2DLnOOwCl6Dj1NqE3KRh9HUmWwB4HrOwP+\/AKcFveiM9ebSwR1f9udqwW\/0bZ4Kdww\/HE8An2jz5rpIii3d3LoRUYqK3BERcJBcXVFrfcLaJYCRU0h6WIjmccx5eS3rgbhwQ+jxEXdK3pDJyDOtbiknZ3K5xVRODObYbs28WuOp2Eo9WVo6nDn3HmuVAOi\/tDqMf+2lGfBv\/ABWOqiqNMXqS408L5bdU7zxs5sdzJA8T48lksJfc9TV15bFJHTuiEcXSMwXcgSO9p8VZZK7Whjc3Jwpy7SfzmU6IipPQCIiAIiIAiIgCIiAIiIAvhAIwRkFfUQEpp5z7NfqqxSkmJ5MtOT1\/0P8AaV0NYM4tM1R3y0sO374Wvq2kkZFT3emb+PQyBx3xlmfz8iVlvtXFX6OnqoHZjlja4e71hkdx2V2rUjz7YKdSi9ybXd+DpWd\/SWWhftvTx5x+6FuLn2E5sNCe2BvyXuvvFvtg\/S6pkbsZDObj3DdVtXdka4SSpqUnbI3Vq19xpLbB01ZM2JvIZ5uPuHWp8ajut4kMVjoOGPODUT8h9Pn8FnodKdJP9rvlSa6o6mEno2\/n5D3KWBLtFXTueVJX5vT8moBWawq\/Xa+mtERyBydKf67h71VU9PFSwMggjEcbBhrW8gvTGMjYGRtDGtGA1owAvSjKV8txZSpYLybu3qwiIolwREQBERAF8DQ0YaAB2BfUQBERAEREAREQBERAEXBuGl\/t9bJU+k6qLjPsNds3bqWt90q1u7NRVjXdR9b\/AJKajHiZ3Uqp5Q9UU6KY+6de7eTUdY89vrf8k+5r3bvvVY53Wc\/zTDHic6Wt\/r9UU6xOqYGDLpo2j3uAU79xLe7+9rKx+OXrt28lkboaztOT9od7jJ\/JLQ4jHXf7F5\/g6FXfbNDG5lRXQOa4Yc1ruPII7BlQrbxDS2242mJz5qWZ3FTvxu3cc8+4ePxVtDpaywHIoGOPa8l3kThY7ppS23Loi2P7MY9vwAG5b2cvBThKCM9eltFRXyv8nGt8epblbqWngLbfRtiaBNn1njHPt+XxXXoNI26kl6efjrJzuXznIz24\/PK7UUbYYmRN9ljQ0fAL2oubemRfDZoKzlm+Z8AAGAMAL6iKs1BERAEREAREQBERAEREAREQBERAEREAREQH\/9k=",
    "razonSocial": "FERRETERIA PRAT S.A",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "VANESA",
    "correoContacto": "secretaria@ferreteriaprat.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "HABILITAR SERVIDOR DE CORREOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56996635113",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:57",
    "ubicacionGPS": "LatLng(lat: -23.6618467, lng: -70.3999814)",
    "horaLlegada": "15:57",
    "horaDespacho": "12:30",
    "idMovimientoMaquina": "14",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 22/05/2026 15:57:57
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Aerp_PQYS3Y8+cbw2PsXXK2FpwBQY9mMF2rYbyFimgQrB_muGX3
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "86551700",
    "serieinterna": "KY3195",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "232",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Conexion escaner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12674",
    "observacion": "Conexion escanee",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACOAOcDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABCEAABAwMCAgYHBAcIAwEAAAABAAIDBAURBiESMRNBUYGRoRUiMmFxscEUFiPRJEJicsLh8AczNFKSstLxNUOi8v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgMECQMEAwAAAAAAAAABAgMREiExBEFRYRMiMnGBkaGx0TPB4SNCUvAkU\/H\/2gAMAwEAAhEDEQA\/AP2ZERAFo3G70lrkp2VTywVDi0Oxs3A5k9XV4reWjebZHd7bJSPwHHeNxHsuHI\/12rqtfMhUxYXg1N5FP6VuktRBJbasEVdEeB2TkuAOM93LwVAklZ2OU6iqRUkERaV2uLLVbZat+5aPUb\/md1BEr5E5SUU2zJWXGjt7Q6rqY4Q44HEdz3L7R1tNcKcT0sokjJxkdR7FPWfT4uQF3vYdNUTHibE\/ZrG9WR9F60uGw3m9UsQIhjmHC3GA3d2wH9clNxVnbcZY1qjlG6spaceJToiKs1hERAEREARc6\/SV8Nommtzg2eMcXs8RI68DtXNn1XGdONrqcA1Uh6NsXPhk6\/z9+ykotrIpnXhBtS4XNi6ajbTVfo+ggNZXEbMb7LT7z8N1qG2apqwJZrtHTOI\/uo27NW3pmzG20XT1ALq2o9aV793D9nK7ak5KOUSqNOVVYqja5LKxLOk1PZSZJujulMBlwbs8DHw93vXbtF3przR\/aKfIwcPY7m0reUnco3ab1BHdYRw0NWeCpa3k13bjz8e1FaeW85JSoda94777uZWIvLHtkjbIxwc1wBaR1helWbAiIgCIiAIiIAiIgCIiAltRR+hrtSX6D1Q54iqWge0O3wB8Aqdj2yRtkY4Oa4AtI6wtO80AudpqKTOC9uWnscNx5haGkbh9tskcb3EzUx6N4PPH6vlt3FWPON+Blj+nWcd0s\/Hed1S1zb6e1TDbMB1LQ\/iznmHHbb5Dx7FQXGsZb7fPVyEARMJ36z1DvOAuPo6idFbX3Cch9RWvMhcQM4z2+85Pekck5Ct15xpeL7l8soCQBknACmdFfjRXCuwf0ioJ4ncz1\/xfNdLUlyjttlneXgSytMcQ6y47eXNNN0LrdYqeCQYkIL3\/ABJz8sIsoPmdl1q8Utyb8zqoiKs0hERAEREAX57cqehtmsoo3O4aQStle0jIYTv4cu4r9CUY22w3vVF6iqNvww1rhzaRw4P\/AMq2k7XuYdsi5KKSzuWQIIyDkFfVPaYr52Gay15AqqPZu+eNnV4ZHcQqFVyVnY1U6iqRxILXr6KG40UtJOMskbjPWD1Ee8LYRc0JtJqzJ3SFZK6kntlQCJqB\/Bv\/AJd8eGD5KiUq9vorXrHgBsVwiIO23F+eQPFVSnPW\/Ez7M3gcHrF2+PQIiKBpCIiAIiIAiIgCIiAKUY42LWj4y3hpbngtxyD\/AP8ARP8AqVWuBrGjdPZvtMR4ZqN4la4DfHI\/Q9ynB52e8zbSngxrWOfz6GrquU3CuobDC48Uzw+XH6rf+snuCo3Op6Cj4nFsMEDO5rQFNaTFRdK+rvlW0cTwIo9uWMZx5ea8a2qajipqNzJG0ch4pHMaCXYxsN\/f19am43agURq4YS2hrXTu3HqhadUX9tzfARb6QcMQkHtu7fr4KsUrDqsNhZDbLDVSMYOENaMAeAK9+kdV1v8Ah7XDSMP60p3HV1nv5JKLfI7SrU4rK8m9bJlOimPQupqs5qr6IfdADt4cKfc6bdxvlX0nU7f81DDHey7pqj0pvxaRTopWWj1HY4nT09f6Qp493RSj1+Eb7Zz7+vu7O5Z7rDeKBlVEOEnZ7M5LHdi442V0ShWUpYZKzN5ERRLwpjTWPvFfQcl3TcyOQ4nfyVOpih\/R9f18fJs8AcPecN\/mpx0aM1bKdN8\/dM8aphkttxpb\/TN3jcGTgfrDq8sjwVPFKyaJksbg5j2hzXDrB5FY6ykirqOWlmGWStLT7veuFpKrlhFRZKo\/j0Tjw\/tMz9D5ELvaj3HF+lWtul7\/AJKRERVmomNX\/h1donwMtqQCQN+bTt4KnUxrQ5ZbmHdrqkZH9fFU6nLsozUvrVPD2CIigaQiIgCIiAIiIAiIgCndX1jxSQ2ynOZ654YB+z19XaQqJS9Pm7a5mmOTDbWcDc7jj5fMu8PCcNb8DNtLbioLWWXz6H3Rkr4GVtpmI6SkmONzuCcHuyPNU6lpSLf\/AGgRu4g1ldDg77ZxgebR4qpXamt+I2bKDh\/F2+AiIqzSEREAUlWNOltQx1kLcUFeeCWMDZju0fMd4VauPqqh+3afqGgZfCOlZ8W8\/LKnB52e8z7RBuGKOqzR2EXO0\/WfbrHSTk5cWcLviNj8l0VFqzsXQkpRUlvCl7r+h63tlU7PBOzourc7j+JqqFO60pnPtDKyM4ko5WvBHYTj54PcpU+1biUbSn0eJbs\/IolK6kBtF7ob5Gwlmeinx1j\/AKz4BUVDVsrqGGqjILZWB23V2hYbzbxdLTUUecOkb6p7HDceYSLwyzJVo9JT6uuqN0EEZByCvq4Wkbh9tskcb3EzUx6N4PPH6vlt3Fd1RkrOxZTmqkFJbyY1P+PfbJSt59Nxu+GW\/kVTqWox6a1jPW4Bp7e3omHOQXZPLz7er3KpU55JIpodaU58X7ZBERVmkIiIAiIgCIiAIiIDHPM2np5Jn+zGwuO+NgMqf0TE51tqK2T26qdzjjsH88rqX1xbYa4tJB6B24+CwaUAGmqPAx6rv9xU1lBmaWe0RXBN\/Y5+s2up22+5s9qlqBt1kHf+HzVK1zXsD2nLXDIPaFztR0n2ywVcXW2MvHxbv9F40xVis0\/Sv4suYzo3e4t2+WD3rrzguQj1a8lxV\/LL4OsiIqzSEREAXlzWvYWOGWuGCO0L0iAmNEfhUtbSZJ6CoI359nLq5KnUxpP1bpfI854ar+J\/5KnU6naM2yfRXj7hY6iBlTTyQSAOZI0tcD2FZEUDS1fImtHVDoYqq0TvBlopXAD9nO+O\/PiqVSlxcLLrOnry4tp61vRy9mcY8vVKq1ZPW\/EzbM7RdN\/ty8NxK059Da3mpyWsguLA9oxtxb48+LxXS1Jd22y3ujjkxVzjghaNzk7cW3Z81zdcSQww0dQ2VjKyGUPiHNxHX5gLNp21OqXNvtxkE9VOOKMdUberHv8AkpWVlNmdOSnKhDvvwT\/uRu6atfoqzxRvbieT8SXbcE9XcNvFddEVTd3dm6EFCKitwREXCYREQBERAEREAREQGnd4jPZ6yIAkugeABzJwVoaPmbNpumAO8Zcx3uPET8iF2iARgjIKmdF5pm3G2vJ4qaoPPsO38Kms4MzT6teL4pr7lMQCMEZBUxpBxpKq5Wlx\/wAPMXMB5kcvoPFVCl5c2\/X8bxsyvhwezIGP4R4rsM00K\/VnCfO3mVCIirNIREQBEXwkAZJwAgJnSuHXi\/SDk6q2\/wBT\/wA1TqZ0QOkoa2pwQJqk4B+AP1VMp1O0Ztl+ivH3CIigaTl6itYu1olgaMys9eL94dXfy71zaG8V9RpHp6SJ01dF+CW8BJyNuLHXtg\/HKplK0hFk1pPTOfiC4t6Rg6g8k\/XiHeFZF3VuBjrLDNSTtfJ\/ZnDhguTZaiouVjrK+adhYHuz6mRjIHCe7sW5p\/UlTQW0UQtc9UYXEcTM+rk5wdjjrV0pix4p9XXimYBwuxJttvnP8RU8akndGd7PKjOOGWuWi7\/sPvoIsGqtFXC3rOOrvws0et7M8DidPH+9Hy8MqhWGWjpZjmWmikP7bAVXeHA14K60mn3o5jdW2JxwK8d8bx9FsxX60THDLjT5\/akDfmvTrHaXDBtlJ3QtH0WrLpSxy+1QNacY9R7m\/Ip1OY\/yV\/H1\/J0o6qmlIEdRE8nlwvBysynZND2Z4IaJ2Z62ycvEFYPuzdrf\/wCJvT2tHKOf2R8x5LuGL0Y6StHtQ8n\/AMKlFxbVLqH7X0V0p6foOEnpo3DOezGfoig1YuhPGr2a7ztIiLhMIiIApeRr7brxk2CIa+LhLsbcWOWe3LR4qoXB1db31drFTBkT0bulYRzx148Ae5Tg87cTPtMXgxLVZneUtrL9GqbVXjboJ8E594P0K7lnrxc7VT1e3FI31gOpw2PmFytcR8en+LHsTNdy+I+q7DKdmR2lqezuS4X+5RIsNK8SUkLxydG0+SzKs0p3VwiIh0LkamuXo6zycG88\/wCFE3GSSevHuH0XTmmjp4XzTPDI2DLnOOwCl6Dj1NqE3KRh9HUmWwB4HrOwP+\/AKcFveiM9ebSwR1f9udqwW\/0bZ4Kdww\/HE8An2jz5rpIii3d3LoRUYqK3BERcJBcXVFrfcLaJYCRU0h6WIjmccx5eS3rgbhwQ+jxEXdK3pDJyDOtbiknZ3K5xVRODObYbs28WuOp2Eo9WVo6nDn3HmuVAOi\/tDqMf+2lGfBv\/ABWOqiqNMXqS408L5bdU7zxs5sdzJA8T48lksJfc9TV15bFJHTuiEcXSMwXcgSO9p8VZZK7Whjc3Jwpy7SfzmU6IipPQCIiAIiIAiIgCIiAIiIAvhAIwRkFfUQEpp5z7NfqqxSkmJ5MtOT1\/0P8AaV0NYM4tM1R3y0sO374Wvq2kkZFT3emb+PQyBx3xlmfz8iVlvtXFX6OnqoHZjlja4e71hkdx2V2rUjz7YKdSi9ybXd+DpWd\/SWWhftvTx5x+6FuLn2E5sNCe2BvyXuvvFvtg\/S6pkbsZDObj3DdVtXdka4SSpqUnbI3Vq19xpLbB01ZM2JvIZ5uPuHWp8ajut4kMVjoOGPODUT8h9Pn8FnodKdJP9rvlSa6o6mEno2\/n5D3KWBLtFXTueVJX5vT8moBWawq\/Xa+mtERyBydKf67h71VU9PFSwMggjEcbBhrW8gvTGMjYGRtDGtGA1owAvSjKV8txZSpYLybu3qwiIolwREQBERAF8DQ0YaAB2BfUQBERAEREAREQBERAEXBuGl\/t9bJU+k6qLjPsNds3bqWt90q1u7NRVjXdR9b\/AJKajHiZ3Uqp5Q9UU6KY+6de7eTUdY89vrf8k+5r3bvvVY53Wc\/zTDHic6Wt\/r9UU6xOqYGDLpo2j3uAU79xLe7+9rKx+OXrt28lkboaztOT9od7jJ\/JLQ4jHXf7F5\/g6FXfbNDG5lRXQOa4Yc1ruPII7BlQrbxDS2242mJz5qWZ3FTvxu3cc8+4ePxVtDpaywHIoGOPa8l3kThY7ppS23Loi2P7MY9vwAG5b2cvBThKCM9eltFRXyv8nGt8epblbqWngLbfRtiaBNn1njHPt+XxXXoNI26kl6efjrJzuXznIz24\/PK7UUbYYmRN9ljQ0fAL2oubemRfDZoKzlm+Z8AAGAMAL6iKs1BERAEREAREQBERAEREAREQBERAEREAREQH\/9k=",
    "razonSocial": "FERRETERIA PRAT S.A",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "VANESA",
    "correoContacto": "secretaria@ferreteriaprat.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "HABILITAR SERVIDOR DE CORREOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56996635113",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:57",
    "ubicacionGPS": "LatLng(lat: -23.6618467, lng: -70.3999814)",
    "horaLlegada": "15:57",
    "horaDespacho": "12:30",
    "idMovimientoMaquina": "14",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


22/05/2026 15:57:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:86551700

[22/05/2026 15:57:57] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('86551700', 'KY3195', 1, 19969062, 232, NOW(), 
				'12:30', '15:57', '15:57', 14, 'Conexion escaner', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779479877.png', 'Conexion escanee', null, 'COMPLETADO','LatLng(lat: -23.6618467, lng: -70.3999814)' )
				
[22/05/2026 15:57:57] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200393

22/05/2026 15:57:57 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200393'                    
				WHERE idllamado = 12674			
				TO ENVIO: micorreo@miempresa.cl, secretaria@ferreteriaprat.cl


22/05/2026 15:57:58 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12674			
				
22/05/2026 15:57:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


22/05/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

22/05/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12674
                

[22/05/2026 15: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;
                

22/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/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 = 12674
                

22/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

[22/05/2026 15: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;
                

22/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12674
            GROUP BY l.idllamado;
            

22/05/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 = 12674
                

[22/05/2026 15: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;
                

22/05/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 = 12674
                

22/05/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 = 12674
                

22/05/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 = 12674
                

22/05/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 = 12674
                

22/05/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 = 12674
                

22/05/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 = 12674
                

22/05/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 = 12674
                

22/05/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 = 12674
                
[22/05/2026 15:58:03] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[22/05/2026 15:58:03] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

22/05/2026 16:16:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12670
                

[22/05/2026 16:16:56] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 16:16:56] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:16:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

22/05/2026 16:16:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

[22/05/2026 16:17:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:17:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12670
                

22/05/2026 16:17:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12670
                

22/05/2026 16:17:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

[22/05/2026 16:17:08] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:17:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

22/05/2026 16:17:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12670
                

22/05/2026 16:17:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12670
                

[22/05/2026 16:17:09] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:17:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

22/05/2026 16:17:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

22/05/2026 16:17:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

[22/05/2026 16:17:09] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12669
                

22/05/2026 16:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12669
                

22/05/2026 16:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12669
                

22/05/2026 16:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12669
                

22/05/2026 16:17:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12669
                

[22/05/2026 16:17:18] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:17:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

[22/05/2026 16:17:18] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:17:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

22/05/2026 16:17:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12669
                

22/05/2026 16:17:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12669
                

22/05/2026 16:17:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12669
                

22/05/2026 16:17:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:17:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:17:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

[22/05/2026 16:17:20] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 16:17:20] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

[22/05/2026 16:17:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12375
                

22/05/2026 16:17:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:17:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

[22/05/2026 16:17:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12375
                

22/05/2026 16:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16: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 = 12559
                

[22/05/2026 16:17:32] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            

[22/05/2026 16:17:32] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            

22/05/2026 16:17:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            

22/05/2026 16:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            

[22/05/2026 16:17:39] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 16:17:39] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                

22/05/2026 16:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            

22/05/2026 16:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            

22/05/2026 16:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16:17:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16:17:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16:17:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                

22/05/2026 16:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            

22/05/2026 16:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                

22/05/2026 16:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            

22/05/2026 16:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                

22/05/2026 16:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                

22/05/2026 16:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                

22/05/2026 16:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                

22/05/2026 16:18:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            

22/05/2026 16:18:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                

22/05/2026 16:18:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                

22/05/2026 16:18:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16:18:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            

22/05/2026 16:18:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                

22/05/2026 16:18:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16:18:32 - logentry: =========================================
FECHA: 22/05/2026 16:18:32
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-2e8wB9dNQINZHVbqGbhIq-zjvP6.OQEQR4ZCWQvyS+w3v5eIV-M
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2060",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega unidad de imagen ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12559",
    "observacion": "entrega unidad de imagen ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACWAPADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCBwH\/xABDEAABAwMBBAgDAwkGBwAAAAABAAIDBAURBhIhMUETUWFxgZGhwRQiMhWx0QcWIyRCQ1KC8DOissLh8SU0NURictL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAyEQACAQIDBQcDBAMBAAAAAAAAAQIDERIhMQQyQVHREyJhcYGRoRSx4SMzQsEkcvDx\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAi4VdZTUMJmqp2QsHNxxnu61RT60pDN0FvpZ66XOAGNwD3cT6Kyi3oZTrU6e8zSIsuLhq2tdmC2w0sZ5y8Rv55Psptrj1E2tBuc9O+nDDkR4yTy5KXC3EpGupOyi\/Yu0RFQ6AiIgCKm1He5LLBA6GASyTP2RtcFxtmraarqPhKyCSiqs42JASM9+N3iAr4JNXMHtFNTwN5l+iIqG4REQBERAERVF31JQ2lwiJM9SeEMe857epSk27IpOcYK8nZFuqa5aptltf0TpDPNnHRwgOIPaeCrfs2\/agdt3Kc0FI4f8ALxHe4do\/HyV1brBbLWAaamb0g\/eP+Z3meHgr2jHXMwx1am4rLm+nUqBctT3Mk0duZRRHg+fj5H8F6Fo1Q87Ut8jDjxDW7vuC0yJj5In6e+9Jv1t9iitkOpaauZHXz09TSkEukH1DqHAb\/A81eoio3c2hDArXb8wiIoLhEXOaaKnhfNM8MjYMuc47gEGh7JAGScALN12o6itqTQafj+Ilx89RjLGdozu8T6qJNWV+rp3UlCHU1tacSTOG9\/8AXV5rS222UlqphT0key3iXHe5x6yea0soa6nJjnXdoZR58\/LqU1No+KWQVF3q5a6c7yC4ho9\/u7lfU9LT0kfR00EcLP4Y2ho9F2RVcm9TanRhT3UERFU1CIiAIiIDLa3qqR1CKNzyKtpE0bQMbhuO\/uJ8lYmgotR2Wmkq4gXyQtPSM+phxvwT2qn1ZTGTUFv34+JifADw3nI4\/wA6sNFVBm0+2J31QSOYQePX7rZq0E0edF4tplCayf8AX\/pBirq7SVSyjrw6otrzswzjjGOr\/Ty6lq4pY5omyxPD2PGWuacghc6yjgr6WSmqGB8cgwR7jtWZt1VPpi5ttFdJt0UxzTzuONnsPUM\/jzVd9ZamqboSs33Xp4fg1qIizOwIiz2p7pI0R2ehOays+XIdgxjI494z6qYrE7GdSoqcXJnG6XqsuNabTYTl43TVI+mPuPLv8lYWfTtJah0pAnq3HL53jfnsHJSLNaobPb2U0YBfjMj\/AON3M\/gp6s5cI6GVOk2+0qZv4Xl1CIiodIREQBERAEREBzmmip4XzTPDI2DLnOO4BZMCq1nW7TtuC0QO3DgZT+P3L1Xyzaruwt9KS23Ur81EgP1nPI+ePPqWqhhip4WQwsDI2DDWtG4Ba7i8Tjf+RK38F8\/gQQRU0LIYI2xxsGGtaMALoiLI7ErBERAEREAREQBERAZfWuYmW2r5Q1I48Ov\/ACppjFJfrzQYwBL0jBjGBk+xCka2hEmnXvP7qRjhu7ce6g26Us1nFLyr6Frzjh9IOf7q3WdOx5tTu7TfxXymjXKDd7VBd6B9LMMHix44sdyKnIsU7O6PQlFSTi9DO6Yuc+3LZrjkVlLuaXH62+\/LvBC0SzOq6WWllpr7R4bNTOAkOOLTu3+eO4q\/o6uOuo4qqE5ZK0OHZ2K81fvIwoScW6UtVp4o7rMWL9c1XdqufAkiIija7iG8M45bgPNadUN4sE01YLpap\/hq5o3\/AMLxjnu48OxRBrNE14y7skr2d7F8iy8Gq6qhcYL9b5YHN3dNG3LXH+gd4JV\/SXCjr2bdJUxzD\/xdvHeOIUOLRanXhUyTz5cSSiIqmwREQBERAFn9U3OSGBlroiXVtYQ0AcWsO4n281fSSMijdJI7ZYwFzj1ALL6Zjdd7rV3+oZxf0dOHfsjGN3hgeavBfyfA5q8m7U46y+3Eu7Pa4bRb46aIDawDI4ftuxvKnoiq3d3ZvGKilFaBERQWCIiAIiIAiIgCIiAqtTRdNpytbu3R7W\/sIPssUytubKuz1YpGOLIhFSt2s9KBuOd\/Hf2cl9AuTOltdXH\/ABwPHm0rCUz8UenJOUVW9pxxxttPuV0Unl\/3I8vbI\/qJ3tl\/a6l9+ct5h3VGnJ3dZjLsD+6U\/PTY\/t7PWR447uHmAtOiyxR5HX2VVaVPhGUn1taZ4JKepo6vZkaWvbsN4H+ZVmm9T01oimo6jpZIOkzA5rRkAnfnJ3dfmt8s3qy3uZTQ3WjYG1FC8P3Di3PsfTKvGUX3banPWp1o\/q4rteHD3OZ17bTgR0tW5x5bLf8A6Uy16gqblXCA2iogiLSemfnA6uXPvVpQ1cdfRQ1Uf0ytDsZzg8x4FSFRuOljohCq7Sc7ryPEsMU8ZjmjZIw8WvaCD4FUFZo2gleJaKSShlBJDozkcPPyK0SKFJrQ1nShU3lcyoi1bacbEsVyhbj5XH5seOD6ldYdZwxSCG60VRRS8yWkt7+v0K0q5ywxVEZjmiZKw8WvaCPIq2JPVGPYzj+3N+uf5ONJcqKvaHUtVFLnk128d44hSln6zRlrqHbcAkpJAQQ6J27d2H2UU2\/VVp30dcy4RAfRL9XHtP8Am9kwxejHa1Yb8L+WfxqapFmYNYshk6C8UM1FLnG1skt\/HyytDT1MFXCJqaZksZ4OYchVcWtTWnWhU3WUmsqwwWgUkZHTVjxG0HmMjPsPFW1to2W+3QUjAMRMAOOZ5nxOSqGtH2hrulpzvjooukcMZw7iO7i3+sLUK0sopGVLvVZz5Ze2vyERFmdQREQBEUaruNFQN2qqpjhHIOdvPglrkNpK7JKLNVGtaV0nQ22lnrpTnAa0gH39FyEerbvgvfHbITg4G53ufAkLTs3xyOd7TB5Q73l10NJUVdNSM26mojhb1veG\/eqKq1rb2P6KiimrZDwEbcD13+iU+i6EPEtfPPXS83SOIB8OPqr2mo6ajZsU0EcLepjQE7i8R+vPlH5fQzvxGq7t\/YU8VsiOPml+r13+gWkhbIyCNszxJIGgPeBjaON5xyXRFVyvwNKdPBm5NvxPLmh7C08CML5pRuIpbbEeMdxcN38i+mr5iAY9RilbkPZcvlH8+N3otaPE4tvycX6fY+nIiLA9ILnNCyogkgkGWSNLXDrBGCuiINTL6TkfQVddYp35dTv24s82nj7HxWoWV1NH9l3ahvsYIDXiOfHMf7ZHktQx7ZI2yMcHNcAWkcwtJ597mcuz929J\/wAftwPSIizOoIiIAi\/CQBknACobjqumgeaa3M+PqzuDI97Qe\/n3D0UqLehnOpCmryZaXN1Ayhe65dF8OPq6QZHgOvu3rMadp31N7fXWyKWktjSflc87Mh4H5c\/7YUmm07W3edtbqCUnB+WlYflA8OH39q08cbIo2xxsaxjRhrWjAA7AtLqKsjnUJVpqclZLTm+nkZq0bJ1tdi4fOGDGerd\/otOsxRfq\/wCUCuY7cKiAOZnnub+B8lo554aaIyzysijbxc84AUT1RbZ3aMr8G\/udEWbqNZU7pOhtdJNXy5x8rS1v3Z9FyNFqm74+Kqo7bDvyyI5djwPuFGB8ciXtMXlBYvLroX1ZdKG3jNXVRxHd8pd83lxVFNrNs7zDaLfPWSY47JAHbgb8eSkUWjLVTEPna+qkG8mR27PcPfKvIYYqeMRwRMiYODWNAA8Ap7i8SLV56tR+X0Mz8Bqq6nNXWst8R\/Yi44x2b\/MqXSaOtkD+lqekrZicl0ztxPcPfKv0UOb4ZErZqd7yzfjmcqelp6WPo6eGOJvUxoC6oiodCSWSCIiEhERAF86nhx+UAMx\/3jH7u8OX0VYeaLb\/AClhjRjD2uPbiMErak9fI4NtjdQ\/2RuERFid4REQEO7ULbla6ikIBMjDsZ5O5HzwqzSFe6ptZo5gRPQu6J4PVy+4jwV+stI4WXWwkc7Zp7kzBA3AP4b\/AB\/xLSOacTlq9ypGp6P10+TUoo9XcKOgZt1dTHCMZG27BPcOJVBNq6WscYrHbpqp4ODI9hDB5e5Cqot6GlStTp5N58uJpiQBknACoblq6hpH9BSA1tQTgMi3tz3\/AIZUT83Lrd3tkvlwxGN\/w8PAe33q9oLRb7Y3FJSsjPN+MuPid6taMdczPFWqbqwrx19jPi1X7UJ27rUfBUp3\/Dx8SO0fj5LQW20UNpi6OkhDSRhzzvc7vKmooc28i9OhCDxavmwiIqG5l9Ug266W69MziKTo5cNH09\/dkLQT09LcqMxTMbNBK0HHIjkQvNyoIrnb5qOXc2RuA7Gdk8j4FUem7nJSSfYNyOxUwfLE4uyHt5AeHDsWmsctUcmVOq1Ldl9\/yX9JR01DCIaWBkLByaMZ7+td0RZnUkkrIIiISEREAREQBERAERRJrpQ09ZFRy1LG1EpAZHvJPVw4eKlK5Dko6slrIQxh\/wCUudxGdiMOHZ+jaPda9VkVljj1BNdxK7blZsGPlwaM+itB2uYV6bnhtwaZZovL3sjYXyODGtGS5xwAqis1ZZqMH9aE7h+zCNrPjw9VVJvQ1nUhBXk7FyvwkAZJwAsw3Ud5uWRarM4NPCWc4b7D1KDTd1uZ2r1dn7PAw0+4Eeg9Cr4LbzMfqMX7cW\/he7LCv1TaaAEOqRNIBkMh+bPjw9VS1cl31RLD8Lbm0tPE\/bjnqBv79\/sCr+36etds+anpWmTGDI\/5nevDwVmmKMd1FXSq1Vao7LkupnaPR9M2c1NyqJLhOTnMm5vlnf8A1uV9DDFTxiOCJkTBwaxoAHgF0RVcm9TenShT3UERFU0CIiAIiIAqu92OnvEIJ\/R1MY\/RTDi09vYrRFKbTuis4RnHDJZGWpdQV1nkFJqGFwAIDKpgyCO3HHhy3rR01XT1kYkpp45mEZyxwK9TQQ1MZjniZIw8WvGQqCp0bS9Mai21M9BKRu6Nx2R7jzV7xlrkc6Vanku8vn8mjRZcU+sKI7MdTTVrOW3gH7h96\/RddVxZ6aywu6ujd+DimDk0T9QlvRa9Ohp0WY+29SncLCATwy4p8frCbOxa6WIdbnb\/APEmB8x9THgn7M06LL\/DaxqTl1bS0zTvLWgHHZwP3qPVWUsz9s6oeBjJi29n0J6+zkmBcyHtErXUH62Rpqq50NECamrhiwM4c8Z8uJVPVa2tUOW04mqn8hGzAJ7z+Co+k0fQECOKouD84357O4ein09wu78ts+m46Np3bcjNnP8Ah7etXwJa9Dne0zlkmvS8n0Orq7U94w2johboScGWX6seIz5DxXaht1m0881FdXxS1pyTJM4bQ69kcfHiuX5v364\/9TvJjYf3cA49m7A+9S6XRtnpyHSRPqXg52pn5ye4YCNxStf2JjCrKWLDd85P+kcZ9bUReYqCmqK2TkGN2Qff0XIVGrbn\/ZU8NujJ+p\/1ce3J9AtJBTQUzNingjhaeUbA0ei6qmKK0Rv2NSW\/P2y\/JmItHGoc2S8XKorHDfsBxDR4nJ8sK4o7HbKDBp6KJrh+2RtO8zvU9FVzk+JpChThmlmERFU2CIiAIiIAiIgCIiAIiIAiIgCIiALnNNFTxmSeVkTBxc9wAHiVTXzULqGdlvoIvibhL9LMbmd\/9dpUSHSUtc8VN9rpamY\/u2Ow1nZ\/thXUcryOeVZuTjTV2vZEqr1lZ6ZxZHJJUvBxiFmd\/ecDyUX7d1DcAPs6y9E3m+oPHuzj3V9SWyhoQPhaSKIgY2mtGfPipSnFFaIjs60t6dvLqzLmxahrx\/xC9dE0\/sQD8Mdik02i7PBvljkqXczLIfbCv0UdpLgStmpJ3au\/HM4U9DSUgxTU0MP\/AKMA+5d0RUN0kskEREJCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC51AmNNKKctbMWHoy\/gHY3Z7MoilakS0ZUafsQt7XVlTJ09dUfNJL1Z34Cu0RTJtvMzoxUYJIIiKpqEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "CLAUDIO ANABALON",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "PERSONAL",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "SOLICITADO POR DON LUIS UNIDAD DE IMAGEN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56 9 9236 7048",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:18",
    "ubicacionGPS": "LatLng(lat: -23.6618429, lng: -70.4001044)",
    "horaLlegada": "15:34",
    "horaDespacho": "15:29",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 22/05/2026 16:18:32
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-2e8wB9dNQINZHVbqGbhIq-zjvP6.OQEQR4ZCWQvyS+w3v5eIV-M
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2060",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega unidad de imagen ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12559",
    "observacion": "entrega unidad de imagen ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACWAPADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCBwH\/xABDEAABAwMBBAgDAwkGBwAAAAABAAIDBAURBhIhMUETUWFxgZGhwRQiMhWx0QcWIyRCQ1KC8DOissLh8SU0NURictL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAyEQACAQIDBQcDBAMBAAAAAAAAAQIDERIhMQQyQVHREyJhcYGRoRSx4SMzQsEkcvDx\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAi4VdZTUMJmqp2QsHNxxnu61RT60pDN0FvpZ66XOAGNwD3cT6Kyi3oZTrU6e8zSIsuLhq2tdmC2w0sZ5y8Rv55Psptrj1E2tBuc9O+nDDkR4yTy5KXC3EpGupOyi\/Yu0RFQ6AiIgCKm1He5LLBA6GASyTP2RtcFxtmraarqPhKyCSiqs42JASM9+N3iAr4JNXMHtFNTwN5l+iIqG4REQBERAERVF31JQ2lwiJM9SeEMe857epSk27IpOcYK8nZFuqa5aptltf0TpDPNnHRwgOIPaeCrfs2\/agdt3Kc0FI4f8ALxHe4do\/HyV1brBbLWAaamb0g\/eP+Z3meHgr2jHXMwx1am4rLm+nUqBctT3Mk0duZRRHg+fj5H8F6Fo1Q87Ut8jDjxDW7vuC0yJj5In6e+9Jv1t9iitkOpaauZHXz09TSkEukH1DqHAb\/A81eoio3c2hDArXb8wiIoLhEXOaaKnhfNM8MjYMuc47gEGh7JAGScALN12o6itqTQafj+Ilx89RjLGdozu8T6qJNWV+rp3UlCHU1tacSTOG9\/8AXV5rS222UlqphT0key3iXHe5x6yea0soa6nJjnXdoZR58\/LqU1No+KWQVF3q5a6c7yC4ho9\/u7lfU9LT0kfR00EcLP4Y2ho9F2RVcm9TanRhT3UERFU1CIiAIiIDLa3qqR1CKNzyKtpE0bQMbhuO\/uJ8lYmgotR2Wmkq4gXyQtPSM+phxvwT2qn1ZTGTUFv34+JifADw3nI4\/wA6sNFVBm0+2J31QSOYQePX7rZq0E0edF4tplCayf8AX\/pBirq7SVSyjrw6otrzswzjjGOr\/Ty6lq4pY5omyxPD2PGWuacghc6yjgr6WSmqGB8cgwR7jtWZt1VPpi5ttFdJt0UxzTzuONnsPUM\/jzVd9ZamqboSs33Xp4fg1qIizOwIiz2p7pI0R2ehOays+XIdgxjI494z6qYrE7GdSoqcXJnG6XqsuNabTYTl43TVI+mPuPLv8lYWfTtJah0pAnq3HL53jfnsHJSLNaobPb2U0YBfjMj\/AON3M\/gp6s5cI6GVOk2+0qZv4Xl1CIiodIREQBERAEREBzmmip4XzTPDI2DLnOO4BZMCq1nW7TtuC0QO3DgZT+P3L1Xyzaruwt9KS23Ur81EgP1nPI+ePPqWqhhip4WQwsDI2DDWtG4Ba7i8Tjf+RK38F8\/gQQRU0LIYI2xxsGGtaMALoiLI7ErBERAEREAREQBERAZfWuYmW2r5Q1I48Ov\/ACppjFJfrzQYwBL0jBjGBk+xCka2hEmnXvP7qRjhu7ce6g26Us1nFLyr6Frzjh9IOf7q3WdOx5tTu7TfxXymjXKDd7VBd6B9LMMHix44sdyKnIsU7O6PQlFSTi9DO6Yuc+3LZrjkVlLuaXH62+\/LvBC0SzOq6WWllpr7R4bNTOAkOOLTu3+eO4q\/o6uOuo4qqE5ZK0OHZ2K81fvIwoScW6UtVp4o7rMWL9c1XdqufAkiIija7iG8M45bgPNadUN4sE01YLpap\/hq5o3\/AMLxjnu48OxRBrNE14y7skr2d7F8iy8Gq6qhcYL9b5YHN3dNG3LXH+gd4JV\/SXCjr2bdJUxzD\/xdvHeOIUOLRanXhUyTz5cSSiIqmwREQBERAFn9U3OSGBlroiXVtYQ0AcWsO4n281fSSMijdJI7ZYwFzj1ALL6Zjdd7rV3+oZxf0dOHfsjGN3hgeavBfyfA5q8m7U46y+3Eu7Pa4bRb46aIDawDI4ftuxvKnoiq3d3ZvGKilFaBERQWCIiAIiIAiIgCIiAqtTRdNpytbu3R7W\/sIPssUytubKuz1YpGOLIhFSt2s9KBuOd\/Hf2cl9AuTOltdXH\/ABwPHm0rCUz8UenJOUVW9pxxxttPuV0Unl\/3I8vbI\/qJ3tl\/a6l9+ct5h3VGnJ3dZjLsD+6U\/PTY\/t7PWR447uHmAtOiyxR5HX2VVaVPhGUn1taZ4JKepo6vZkaWvbsN4H+ZVmm9T01oimo6jpZIOkzA5rRkAnfnJ3dfmt8s3qy3uZTQ3WjYG1FC8P3Di3PsfTKvGUX3banPWp1o\/q4rteHD3OZ17bTgR0tW5x5bLf8A6Uy16gqblXCA2iogiLSemfnA6uXPvVpQ1cdfRQ1Uf0ytDsZzg8x4FSFRuOljohCq7Sc7ryPEsMU8ZjmjZIw8WvaCD4FUFZo2gleJaKSShlBJDozkcPPyK0SKFJrQ1nShU3lcyoi1bacbEsVyhbj5XH5seOD6ldYdZwxSCG60VRRS8yWkt7+v0K0q5ywxVEZjmiZKw8WvaCPIq2JPVGPYzj+3N+uf5ONJcqKvaHUtVFLnk128d44hSln6zRlrqHbcAkpJAQQ6J27d2H2UU2\/VVp30dcy4RAfRL9XHtP8Am9kwxejHa1Yb8L+WfxqapFmYNYshk6C8UM1FLnG1skt\/HyytDT1MFXCJqaZksZ4OYchVcWtTWnWhU3WUmsqwwWgUkZHTVjxG0HmMjPsPFW1to2W+3QUjAMRMAOOZ5nxOSqGtH2hrulpzvjooukcMZw7iO7i3+sLUK0sopGVLvVZz5Ze2vyERFmdQREQBEUaruNFQN2qqpjhHIOdvPglrkNpK7JKLNVGtaV0nQ22lnrpTnAa0gH39FyEerbvgvfHbITg4G53ufAkLTs3xyOd7TB5Q73l10NJUVdNSM26mojhb1veG\/eqKq1rb2P6KiimrZDwEbcD13+iU+i6EPEtfPPXS83SOIB8OPqr2mo6ajZsU0EcLepjQE7i8R+vPlH5fQzvxGq7t\/YU8VsiOPml+r13+gWkhbIyCNszxJIGgPeBjaON5xyXRFVyvwNKdPBm5NvxPLmh7C08CML5pRuIpbbEeMdxcN38i+mr5iAY9RilbkPZcvlH8+N3otaPE4tvycX6fY+nIiLA9ILnNCyogkgkGWSNLXDrBGCuiINTL6TkfQVddYp35dTv24s82nj7HxWoWV1NH9l3ahvsYIDXiOfHMf7ZHktQx7ZI2yMcHNcAWkcwtJ597mcuz929J\/wAftwPSIizOoIiIAi\/CQBknACobjqumgeaa3M+PqzuDI97Qe\/n3D0UqLehnOpCmryZaXN1Ayhe65dF8OPq6QZHgOvu3rMadp31N7fXWyKWktjSflc87Mh4H5c\/7YUmm07W3edtbqCUnB+WlYflA8OH39q08cbIo2xxsaxjRhrWjAA7AtLqKsjnUJVpqclZLTm+nkZq0bJ1tdi4fOGDGerd\/otOsxRfq\/wCUCuY7cKiAOZnnub+B8lo554aaIyzysijbxc84AUT1RbZ3aMr8G\/udEWbqNZU7pOhtdJNXy5x8rS1v3Z9FyNFqm74+Kqo7bDvyyI5djwPuFGB8ciXtMXlBYvLroX1ZdKG3jNXVRxHd8pd83lxVFNrNs7zDaLfPWSY47JAHbgb8eSkUWjLVTEPna+qkG8mR27PcPfKvIYYqeMRwRMiYODWNAA8Ap7i8SLV56tR+X0Mz8Bqq6nNXWst8R\/Yi44x2b\/MqXSaOtkD+lqekrZicl0ztxPcPfKv0UOb4ZErZqd7yzfjmcqelp6WPo6eGOJvUxoC6oiodCSWSCIiEhERAF86nhx+UAMx\/3jH7u8OX0VYeaLb\/AClhjRjD2uPbiMErak9fI4NtjdQ\/2RuERFid4REQEO7ULbla6ikIBMjDsZ5O5HzwqzSFe6ptZo5gRPQu6J4PVy+4jwV+stI4WXWwkc7Zp7kzBA3AP4b\/AB\/xLSOacTlq9ypGp6P10+TUoo9XcKOgZt1dTHCMZG27BPcOJVBNq6WscYrHbpqp4ODI9hDB5e5Cqot6GlStTp5N58uJpiQBknACoblq6hpH9BSA1tQTgMi3tz3\/AIZUT83Lrd3tkvlwxGN\/w8PAe33q9oLRb7Y3FJSsjPN+MuPid6taMdczPFWqbqwrx19jPi1X7UJ27rUfBUp3\/Dx8SO0fj5LQW20UNpi6OkhDSRhzzvc7vKmooc28i9OhCDxavmwiIqG5l9Ug266W69MziKTo5cNH09\/dkLQT09LcqMxTMbNBK0HHIjkQvNyoIrnb5qOXc2RuA7Gdk8j4FUem7nJSSfYNyOxUwfLE4uyHt5AeHDsWmsctUcmVOq1Ldl9\/yX9JR01DCIaWBkLByaMZ7+td0RZnUkkrIIiISEREAREQBERAERRJrpQ09ZFRy1LG1EpAZHvJPVw4eKlK5Dko6slrIQxh\/wCUudxGdiMOHZ+jaPda9VkVljj1BNdxK7blZsGPlwaM+itB2uYV6bnhtwaZZovL3sjYXyODGtGS5xwAqis1ZZqMH9aE7h+zCNrPjw9VVJvQ1nUhBXk7FyvwkAZJwAsw3Ud5uWRarM4NPCWc4b7D1KDTd1uZ2r1dn7PAw0+4Eeg9Cr4LbzMfqMX7cW\/he7LCv1TaaAEOqRNIBkMh+bPjw9VS1cl31RLD8Lbm0tPE\/bjnqBv79\/sCr+36etds+anpWmTGDI\/5nevDwVmmKMd1FXSq1Vao7LkupnaPR9M2c1NyqJLhOTnMm5vlnf8A1uV9DDFTxiOCJkTBwaxoAHgF0RVcm9TenShT3UERFU0CIiAIiIAqu92OnvEIJ\/R1MY\/RTDi09vYrRFKbTuis4RnHDJZGWpdQV1nkFJqGFwAIDKpgyCO3HHhy3rR01XT1kYkpp45mEZyxwK9TQQ1MZjniZIw8WvGQqCp0bS9Mai21M9BKRu6Nx2R7jzV7xlrkc6Vanku8vn8mjRZcU+sKI7MdTTVrOW3gH7h96\/RddVxZ6aywu6ujd+DimDk0T9QlvRa9Ohp0WY+29SncLCATwy4p8frCbOxa6WIdbnb\/APEmB8x9THgn7M06LL\/DaxqTl1bS0zTvLWgHHZwP3qPVWUsz9s6oeBjJi29n0J6+zkmBcyHtErXUH62Rpqq50NECamrhiwM4c8Z8uJVPVa2tUOW04mqn8hGzAJ7z+Co+k0fQECOKouD84357O4ein09wu78ts+m46Np3bcjNnP8Ah7etXwJa9Dne0zlkmvS8n0Orq7U94w2johboScGWX6seIz5DxXaht1m0881FdXxS1pyTJM4bQ69kcfHiuX5v364\/9TvJjYf3cA49m7A+9S6XRtnpyHSRPqXg52pn5ye4YCNxStf2JjCrKWLDd85P+kcZ9bUReYqCmqK2TkGN2Qff0XIVGrbn\/ZU8NujJ+p\/1ce3J9AtJBTQUzNingjhaeUbA0ei6qmKK0Rv2NSW\/P2y\/JmItHGoc2S8XKorHDfsBxDR4nJ8sK4o7HbKDBp6KJrh+2RtO8zvU9FVzk+JpChThmlmERFU2CIiAIiIAiIgCIiAIiIAiIgCIiALnNNFTxmSeVkTBxc9wAHiVTXzULqGdlvoIvibhL9LMbmd\/9dpUSHSUtc8VN9rpamY\/u2Ow1nZ\/thXUcryOeVZuTjTV2vZEqr1lZ6ZxZHJJUvBxiFmd\/ecDyUX7d1DcAPs6y9E3m+oPHuzj3V9SWyhoQPhaSKIgY2mtGfPipSnFFaIjs60t6dvLqzLmxahrx\/xC9dE0\/sQD8Mdik02i7PBvljkqXczLIfbCv0UdpLgStmpJ3au\/HM4U9DSUgxTU0MP\/AKMA+5d0RUN0kskEREJCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC51AmNNKKctbMWHoy\/gHY3Z7MoilakS0ZUafsQt7XVlTJ09dUfNJL1Z34Cu0RTJtvMzoxUYJIIiKpqEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "CLAUDIO ANABALON",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "PERSONAL",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "SOLICITADO POR DON LUIS UNIDAD DE IMAGEN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56 9 9236 7048",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:18",
    "ubicacionGPS": "LatLng(lat: -23.6618429, lng: -70.4001044)",
    "horaLlegada": "15:34",
    "horaDespacho": "15:29",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


22/05/2026 16:18:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[22/05/2026 16:18:32] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76050301', 'KY2060', 1, 95585912, 0, NOW(), 
				'15:29', '15:34', '16:18', 10, 'entrega unidad de imagen ', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779481112.png', 'entrega unidad de imagen ', null, 'COMPLETADO','LatLng(lat: -23.6618429, lng: -70.4001044)' )
				
[22/05/2026 16:18:32] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200394

22/05/2026 16:18:32 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200394'                    
				WHERE idllamado = 12559			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


22/05/2026 16:18:33 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12559			
				
22/05/2026 16:18:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            

22/05/2026 16:18:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                

22/05/2026 16:18:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

[22/05/2026 16:18:51] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 16:18:51] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12559
                

22/05/2026 16:18:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12559
                

22/05/2026 16:18:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            

22/05/2026 16:18:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            

22/05/2026 16:18:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12559
            GROUP BY l.idllamado;
            

[22/05/2026 16:18:51] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16: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 = 12559
                

22/05/2026 16:19:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

[22/05/2026 16:19:05] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:19:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:19:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:19:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

[22/05/2026 16:19:05] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12574
                

22/05/2026 16:19:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

[22/05/2026 16:19:05] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16:19:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

[22/05/2026 16:19:17] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:19:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:19:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

[22/05/2026 16:19:17] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12574
                

22/05/2026 16:19:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12574
                

[22/05/2026 16:19:17] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12574
                

[22/05/2026 16:19:18] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

[22/05/2026 16:19:18] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 16:19:18] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:19:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

[22/05/2026 16:19:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 16:19:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:19:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

[22/05/2026 16:19:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:19:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:19:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:19:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:19:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:19:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

[22/05/2026 16:19:42] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:19:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

[22/05/2026 16:19:42] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:19:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:19:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

[22/05/2026 16:19:42] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:19:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:19:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:19:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

[22/05/2026 16:19:46] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12574
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

[22/05/2026 16:19:46] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12574
                

[22/05/2026 16:19:46] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:19:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16:19:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

[22/05/2026 16:19:47] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 16:19:47] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12376
                

22/05/2026 16:19:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

[22/05/2026 16:19:47] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:19:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16:19:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16:20:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12376
                

22/05/2026 16:20:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

[22/05/2026 16:20:00] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:20:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16:20:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16:20:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

[22/05/2026 16:20:00] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:20:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

[22/05/2026 16:20:00] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16:20:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16:20:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16:20:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:46 - logentry: =========================================
FECHA: 22/05/2026 16:20:46
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Y97Hy.VzZHAHVzAX2dZbdh.0hJWPiVwamIImp0JYG+qhTZ2_K.2
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "96846410",
    "serieinterna": "EP2764",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza entrega de insumos ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12376",
    "observacion": "se realiza entrega de insumos ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACEAL0DASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABBEAABAwMCAggDBQUFCQAAAAABAAIDBAURBiESMRMiQVFhcYGRobHBFBUyQtEWI0Ny8QckUuHwJTM0U2KSssLS\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT\/xAAyEQACAQMCAggFAwUAAAAAAAAAAQIDESESMUFRBBMyYXGBkdEUIrHh8FKhwSMzQlNi\/9oADAMBAAIRAxEAPwD7MiIgCIiAIvCQBknACrlw1S59V9gslP8AbancF\/5G9nr57DxVoxctjOpVjTV5E\/UVMFLEZaiZkUY\/M9wAUBUawilkdBaaOaulA2c1h4R9VjTaUkrJW1d+q31c3PogcMb4f0wrBT0tPSR9HTQRws\/wxtDR8Fb5Y95j\/Wqf8r1fsiGtzNSVNcye4Php6ZpJMLNy7u5fUqfRFRu5tThoVrt+IRYuc1jC9xw1oyT3BV2LWlE6oDJ6eaGJzy1kzhlp35nu8e5Sot7CdWFO2p2uWRF41wc0OaQQRkEdq9VTQIiIAiIgCIiAIiIAiIgCIiALRWVtPQUzqmqkEcbOZPyHetdyuVNaqR1TVOIY3kG7uce4BVyioKzVNSy43ZpioW7w0wJAd4\/59vkrxjfL2MKtVxeiGZP8uzwy3PWEhbCX0NrGznH8UvePH5KyW62UlqphBSRBjfzHm5x7ye1dLGMjYGRtDGtGA1owAsklK+FsKdFReqTvLn7cgiIqG4REQEFq+tdS2N8MeTLVERNA54PPz229V009kp\/2eitU7OJojw7PMOO5I9SVF3v\/AGhq6128ElkP76Qdnfv\/ANvx8VaFo8RS8zlglUqzk9lj3KzpmsmoayXT9a4ulgyYXk\/ib3D03Hr3KzKr6pBt93td3jb+CTopCBuQez24laEnm0uZPR246qb\/AMfpwCIizOkIiIAigtRagmtEkFPTwxPlnHVdLJwtbv28vmFxC0ajumH1t3bTROGQyn7tj2Yz55KuoYu3Y55V7ScIJtosdRXUlIM1NTDD\/O8D5riOpLMHcP3jDnwJXFTaJtEJ4phNUuJzmR+Plhdo03Zg3h+7oceIKn5CL9IfBL1ZIU9RFVQNngkEkbxlrm8iti00tJBRQNgpoxHG3k0HktyzfcdCvbO4WuaaKnhfNM8MjYMuc47ALYqrf6ia93aPT9G4iNpDqt4xgDIPw+eFaMbszrVOrjfjw8TVRU79W3V1xqwRb6Z5bBER+Pz+GfbsVuAAGAMALXTU8VJSxU0LeGOJoa0eAW1JSv4EUaWhXeW92ERFU2CIiAIi5LpVCitdTUk4McTiPPG3xwiVyJNRTbILT4+8NTXW5u3ax3Qxk93L02aPdWhfPtNaibbmQW+Ol4jPN+8eScknYYA9P077+5zWNLnuDWjmScALWqmpHH0OpGVPDzx8yE1lAJtNzuxkxOa8e4HyJUlapjUWijmJyXwMJ88DKir\/AH20G11dJ9tjklkic1rY+vl2NtxtzURZdR10VogoqG1S1UsYIMm\/CNzjl6doUqDcCsq1OFdu+64Z4l3XjnBoy4gDvKrHRavuGeOWnt8buxuC7Hpk\/EL1ui21D+kud0qqt+O\/GPfKrpS3Zt105diD88EpU6is9IQJbhFnuYeP\/wAcqOl1tQF\/R0dNUVbzyDGYz9fgu+n0xZqYDhoI3nvky\/5qRhghp28MMTIm9zGgD4JeCGnpEt2l4ZKjcKu66gphTnTZaDux8ziODsyD1VjSUmqNP0rJWllVTgZfTl\/F0Y+noVdEU9Zi1sFPhby1uT1c8IirTqGhuzjFE50VQ0daGQYcMc\/NSqiLrpqguhMvB9nqeYnjGDnPMjtUUy53nTRMd3Y6upNg2oYcub4ZPM+fuo0qXZLdbOliqsc1\/K4FsRctBcaW50\/T0kokZyPe04zg+66lm1Y6U1JXRHX25fdVonqhvIBwxjH5jsP19Fx6Utf2G1iomb\/eqr949xG4B5D6+ZXHqUfeF\/tVpP4HO6WQYzkb+nJrlaVo8RtzOaK6ys5PaOF48QiIszqCItFXWU1DCZqqdkLB2uOM+XehDaSuzevCQBknACrEurpqxzorJbZap4OOke08A8dvqQvBp+8XZ5ferkY4XD\/h6d23kez5rTRbtYOf4hSxTWr6ep1XLV1DSP6CkBragnAZFu3Pn+mVWdRNvFRTQ1d0kEPTScMNINg0Y\/Ee71337Fd7fZrfa24pKZrHEYLzu4+pVO1pVS1N\/ho4sgwNaGb46zsHOeQ7FpTa1Wijj6Wp9U5VH4JbfcUlBcb3XCotskVPBQAQQyOG2w3I55O+c+IUwNGCoeH3O61NW7uzjHvlTVpt7LXbIaNmCWN6zh+Zx5n3XaqSqO+DopdEhpvPL\/YjKbTlopAehoYw7GOJ3XI8QTnBUZolxipa2hfjjp6g5A7ARj\/1Ksyq8A+59bTMcQyC5N4m\/wA\/9eL3ChNyTTLVIRpzhKKstvX7loREWZ1hERAEREAXjmhzS1wBBGCD2rlr7nR22LpKuoZEOwE7u8hzKgJL7eL0THYqMxw8jVS7e2dvmVZQbyY1K0IO275Lcxvliore51yorg21zdgzhrvAAb+YAPkpPTF1nutqbLUsd0jDwmQtwJPEbYXJQaPgbL9qus76+oO54yeH9T6+ysTGMjYGRtDGtGA1owArykrW3MaNKSnrtpXL8x6FZpgKn+0KqfjampwAe84b\/wDR9laFWLJtrG8A7EgHHqFIXg351QyO0tgbEWZdLJjIdnl7eHakldpdwoy0wlK18vbxJZzg0ZcQB3lQtfq200LiwTGpkzjggHF8eS4v2Ura85vN3lnbseji2b8duXgpmhsdst2DS0cbXjk8jid7ndRaC3yW1V59laV35fp9yDNbqe9hzaSmbbqcnHSSZD8eu\/sF00mjqUTOqLlUSV8zsZMhIHzyfdWJFGt8MEro0W7zep9\/tsa4IIaaIRQRMijbyawYAWxEVDpSseEgDJOAFS9N0TrtqCqvMo\/dxSu4NiOJx5ewx7hXQgEYIyCvGRsibwxsaxvc0YCvGVkzCpR6yUW9kZIiKhuFGXyyx3qlbGZDDNE7iilH5SpNFKbTuis4RnFxlsR9mZc46MsukkckrXYa5na0Abnx5qQRclbdaC3NLquqjix+UnLvYbplshWpxy8LmdaKry6umrHOisltlqng46R7TwDx2+pC8Nivt23u1z6CIkHoIB8P9ZV9Fu1gx+IUsU05fT1JK46ntVt4mvqBLK3+HF1jnz5D1UWbhqS+Nb9gpBb6d38aR3WI9Rn2Hqpe3actds3hpw9\/\/Ml6zv8AL0UomqK2RHV1anblZcl7kBRaRo4pRU3CWS4VHa6Y5bny7fXKnmtDWhrQAAMADsXqKjk3ubQpwpq0UERFBoVWV\/3NrczTDEFxZwiRx2DtvqB7q1KNvtpZeLY+mJxIOtE7ucP9YUbYdRRiAW+7SimrYDwHperxAcjk7Z+a0a1K64HJGSo1HCWzyv5RZEWLXNe0OY4OaeRByCslmdYRFi+RkYy97Wj\/AKjhAZIo2tv9toqd0zqqOUgZDInhznLfa7jFdbfHWQtc1r89V3MEHBCnS7XKKpBy0p5OtERQXCLjrrtQW1pNXVRxkDPBnLj5DmoH9pLpd3vjsdvIj5faJuQ+nzVlBvJjOvCDs3d8luWaaaKnjMk8rImDm57gAPUqBrNY0UcjoKCGWunxsIm9X35+wWmHSU1Y5s18uM1S\/OeiY7qjwz+gCsFJb6OgZwUlNHCMYPA3BPmeZVvkXeZ3r1NvlXq\/Yrpi1VeHEvkbaqdw2a09f4b59l10mjrZA\/panpK2YnJdM7YnyH1yp9FDm+GCV0aF7y+Z9\/5YxjjZEwMjY1jRyDRgBZIiodIREQBERAEREAXBcLJbbp1qulY9+MdIOq73C70UptbFZRjJWkrlZfoeja8upayqp88w1wKN0fMxw4L3WBucluTv8VZkVuslzMPhaP6SsfsWH\/7271jwfxb81k3Qtr4i6SaqlcTklzxufZWQkAZJwAoWv1baqFxjbKamUEDggHF8eXxVlOb2KTodGpq80vM2QaVs1P8Ahow7+d7nfAlSBNJbqX+DTU8fYMMa1Vz7dqm7u\/ulIy3QE7PlHWx6\/QLdFo6KaYT3WtnrpN9i4huO7nn4o1+pkQn\/AKafnsvc2VusbfA4R0jJK2Uu4Q2IbE+fb6ZXKDqq9DI6O1QZ7QRIR8\/krFSW+joGcFJTRwjGDwNwT5nmV0KNSWyL9VUn\/cl5LH77kDb9I2+klM9TxV0zubp9x7dvrlTjWtY0NY0NaOQAwAskVHJvc2hThTVoqwREUGgRaWVlO+rfSMmY6eMBz4wd2g\/1C3IQmnsEREJCIiAIiIAiIgCIsXvZGwvkcGNaMlzjgBAZKIu+pKG0uERJnqTyhj3OfHuUXV6hrL1Uut2n2Ef46p2waO8d3nz7lJ2fTdHaT0u9RVH8U0g3z4DsWmlRzI5HVlVdqW3P25kULXfNRHpLpOaKkduKdmziOzI\/X2U7brHbrWwCmpmhw5yOHE4+qkEUObeDSFCEHqeXzYREVDcIiIAiIgCIiA1NpoGVD6hkLGzSAB8gaOJwHLJW1EQhKwREQkIiIAiIgCIiALRW0cFfSSUtSzjjkGCPqERSiJJNNMxobfS22nEFJC2Jg3OOZPeT2rpRFDyIpJWQREQkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/Z",
    "razonSocial": "STEEL INGENIERIA S.A.",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "MARCELO VEGA GONZALEZ",
    "correoContacto": "marcelo.vega@veltislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "987571530",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28686\",\"cantidad_usada\":4,\"cantidad_asignada\":4}]",
    "horaSalida": "16:20",
    "ubicacionGPS": "LatLng(lat: -23.6618215, lng: -70.4000276)",
    "horaLlegada": "15:34",
    "horaDespacho": "16:18",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 22/05/2026 16:20:46
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Y97Hy.VzZHAHVzAX2dZbdh.0hJWPiVwamIImp0JYG+qhTZ2_K.2
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "96846410",
    "serieinterna": "EP2764",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza entrega de insumos ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12376",
    "observacion": "se realiza entrega de insumos ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACEAL0DASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABBEAABAwMCAggDBQUFCQAAAAABAAIDBAURBiESMRMiQVFhcYGRobHBFBUyQtEWI0Ny8QckUuHwJTM0U2KSssLS\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT\/xAAyEQACAQMCAggFAwUAAAAAAAAAAQIDESESMUFRBBMyYXGBkdEUIrHh8FKhwSMzQlNi\/9oADAMBAAIRAxEAPwD7MiIgCIiAIvCQBknACrlw1S59V9gslP8AbancF\/5G9nr57DxVoxctjOpVjTV5E\/UVMFLEZaiZkUY\/M9wAUBUawilkdBaaOaulA2c1h4R9VjTaUkrJW1d+q31c3PogcMb4f0wrBT0tPSR9HTQRws\/wxtDR8Fb5Y95j\/Wqf8r1fsiGtzNSVNcye4Php6ZpJMLNy7u5fUqfRFRu5tThoVrt+IRYuc1jC9xw1oyT3BV2LWlE6oDJ6eaGJzy1kzhlp35nu8e5Sot7CdWFO2p2uWRF41wc0OaQQRkEdq9VTQIiIAiIgCIiAIiIAiIgCIiALRWVtPQUzqmqkEcbOZPyHetdyuVNaqR1TVOIY3kG7uce4BVyioKzVNSy43ZpioW7w0wJAd4\/59vkrxjfL2MKtVxeiGZP8uzwy3PWEhbCX0NrGznH8UvePH5KyW62UlqphBSRBjfzHm5x7ye1dLGMjYGRtDGtGA1owAsklK+FsKdFReqTvLn7cgiIqG4REQEFq+tdS2N8MeTLVERNA54PPz229V009kp\/2eitU7OJojw7PMOO5I9SVF3v\/AGhq6128ElkP76Qdnfv\/ANvx8VaFo8RS8zlglUqzk9lj3KzpmsmoayXT9a4ulgyYXk\/ib3D03Hr3KzKr6pBt93td3jb+CTopCBuQez24laEnm0uZPR246qb\/AMfpwCIizOkIiIAigtRagmtEkFPTwxPlnHVdLJwtbv28vmFxC0ajumH1t3bTROGQyn7tj2Yz55KuoYu3Y55V7ScIJtosdRXUlIM1NTDD\/O8D5riOpLMHcP3jDnwJXFTaJtEJ4phNUuJzmR+Plhdo03Zg3h+7oceIKn5CL9IfBL1ZIU9RFVQNngkEkbxlrm8iti00tJBRQNgpoxHG3k0HktyzfcdCvbO4WuaaKnhfNM8MjYMuc47ALYqrf6ia93aPT9G4iNpDqt4xgDIPw+eFaMbszrVOrjfjw8TVRU79W3V1xqwRb6Z5bBER+Pz+GfbsVuAAGAMALXTU8VJSxU0LeGOJoa0eAW1JSv4EUaWhXeW92ERFU2CIiAIi5LpVCitdTUk4McTiPPG3xwiVyJNRTbILT4+8NTXW5u3ax3Qxk93L02aPdWhfPtNaibbmQW+Ol4jPN+8eScknYYA9P077+5zWNLnuDWjmScALWqmpHH0OpGVPDzx8yE1lAJtNzuxkxOa8e4HyJUlapjUWijmJyXwMJ88DKir\/AH20G11dJ9tjklkic1rY+vl2NtxtzURZdR10VogoqG1S1UsYIMm\/CNzjl6doUqDcCsq1OFdu+64Z4l3XjnBoy4gDvKrHRavuGeOWnt8buxuC7Hpk\/EL1ui21D+kud0qqt+O\/GPfKrpS3Zt105diD88EpU6is9IQJbhFnuYeP\/wAcqOl1tQF\/R0dNUVbzyDGYz9fgu+n0xZqYDhoI3nvky\/5qRhghp28MMTIm9zGgD4JeCGnpEt2l4ZKjcKu66gphTnTZaDux8ziODsyD1VjSUmqNP0rJWllVTgZfTl\/F0Y+noVdEU9Zi1sFPhby1uT1c8IirTqGhuzjFE50VQ0daGQYcMc\/NSqiLrpqguhMvB9nqeYnjGDnPMjtUUy53nTRMd3Y6upNg2oYcub4ZPM+fuo0qXZLdbOliqsc1\/K4FsRctBcaW50\/T0kokZyPe04zg+66lm1Y6U1JXRHX25fdVonqhvIBwxjH5jsP19Fx6Utf2G1iomb\/eqr949xG4B5D6+ZXHqUfeF\/tVpP4HO6WQYzkb+nJrlaVo8RtzOaK6ys5PaOF48QiIszqCItFXWU1DCZqqdkLB2uOM+XehDaSuzevCQBknACrEurpqxzorJbZap4OOke08A8dvqQvBp+8XZ5ferkY4XD\/h6d23kez5rTRbtYOf4hSxTWr6ep1XLV1DSP6CkBragnAZFu3Pn+mVWdRNvFRTQ1d0kEPTScMNINg0Y\/Ee71337Fd7fZrfa24pKZrHEYLzu4+pVO1pVS1N\/ho4sgwNaGb46zsHOeQ7FpTa1Wijj6Wp9U5VH4JbfcUlBcb3XCotskVPBQAQQyOG2w3I55O+c+IUwNGCoeH3O61NW7uzjHvlTVpt7LXbIaNmCWN6zh+Zx5n3XaqSqO+DopdEhpvPL\/YjKbTlopAehoYw7GOJ3XI8QTnBUZolxipa2hfjjp6g5A7ARj\/1Ksyq8A+59bTMcQyC5N4m\/wA\/9eL3ChNyTTLVIRpzhKKstvX7loREWZ1hERAEREAXjmhzS1wBBGCD2rlr7nR22LpKuoZEOwE7u8hzKgJL7eL0THYqMxw8jVS7e2dvmVZQbyY1K0IO275Lcxvliore51yorg21zdgzhrvAAb+YAPkpPTF1nutqbLUsd0jDwmQtwJPEbYXJQaPgbL9qus76+oO54yeH9T6+ysTGMjYGRtDGtGA1owArykrW3MaNKSnrtpXL8x6FZpgKn+0KqfjampwAe84b\/wDR9laFWLJtrG8A7EgHHqFIXg351QyO0tgbEWZdLJjIdnl7eHakldpdwoy0wlK18vbxJZzg0ZcQB3lQtfq200LiwTGpkzjggHF8eS4v2Ura85vN3lnbseji2b8duXgpmhsdst2DS0cbXjk8jid7ndRaC3yW1V59laV35fp9yDNbqe9hzaSmbbqcnHSSZD8eu\/sF00mjqUTOqLlUSV8zsZMhIHzyfdWJFGt8MEro0W7zep9\/tsa4IIaaIRQRMijbyawYAWxEVDpSseEgDJOAFS9N0TrtqCqvMo\/dxSu4NiOJx5ewx7hXQgEYIyCvGRsibwxsaxvc0YCvGVkzCpR6yUW9kZIiKhuFGXyyx3qlbGZDDNE7iilH5SpNFKbTuis4RnFxlsR9mZc46MsukkckrXYa5na0Abnx5qQRclbdaC3NLquqjix+UnLvYbplshWpxy8LmdaKry6umrHOisltlqng46R7TwDx2+pC8Nivt23u1z6CIkHoIB8P9ZV9Fu1gx+IUsU05fT1JK46ntVt4mvqBLK3+HF1jnz5D1UWbhqS+Nb9gpBb6d38aR3WI9Rn2Hqpe3actds3hpw9\/\/Ml6zv8AL0UomqK2RHV1anblZcl7kBRaRo4pRU3CWS4VHa6Y5bny7fXKnmtDWhrQAAMADsXqKjk3ubQpwpq0UERFBoVWV\/3NrczTDEFxZwiRx2DtvqB7q1KNvtpZeLY+mJxIOtE7ucP9YUbYdRRiAW+7SimrYDwHperxAcjk7Z+a0a1K64HJGSo1HCWzyv5RZEWLXNe0OY4OaeRByCslmdYRFi+RkYy97Wj\/AKjhAZIo2tv9toqd0zqqOUgZDInhznLfa7jFdbfHWQtc1r89V3MEHBCnS7XKKpBy0p5OtERQXCLjrrtQW1pNXVRxkDPBnLj5DmoH9pLpd3vjsdvIj5faJuQ+nzVlBvJjOvCDs3d8luWaaaKnjMk8rImDm57gAPUqBrNY0UcjoKCGWunxsIm9X35+wWmHSU1Y5s18uM1S\/OeiY7qjwz+gCsFJb6OgZwUlNHCMYPA3BPmeZVvkXeZ3r1NvlXq\/Yrpi1VeHEvkbaqdw2a09f4b59l10mjrZA\/panpK2YnJdM7YnyH1yp9FDm+GCV0aF7y+Z9\/5YxjjZEwMjY1jRyDRgBZIiodIREQBERAEREAXBcLJbbp1qulY9+MdIOq73C70UptbFZRjJWkrlZfoeja8upayqp88w1wKN0fMxw4L3WBucluTv8VZkVuslzMPhaP6SsfsWH\/7271jwfxb81k3Qtr4i6SaqlcTklzxufZWQkAZJwAoWv1baqFxjbKamUEDggHF8eXxVlOb2KTodGpq80vM2QaVs1P8Ahow7+d7nfAlSBNJbqX+DTU8fYMMa1Vz7dqm7u\/ulIy3QE7PlHWx6\/QLdFo6KaYT3WtnrpN9i4huO7nn4o1+pkQn\/AKafnsvc2VusbfA4R0jJK2Uu4Q2IbE+fb6ZXKDqq9DI6O1QZ7QRIR8\/krFSW+joGcFJTRwjGDwNwT5nmV0KNSWyL9VUn\/cl5LH77kDb9I2+klM9TxV0zubp9x7dvrlTjWtY0NY0NaOQAwAskVHJvc2hThTVoqwREUGgRaWVlO+rfSMmY6eMBz4wd2g\/1C3IQmnsEREJCIiAIiIAiIgCIsXvZGwvkcGNaMlzjgBAZKIu+pKG0uERJnqTyhj3OfHuUXV6hrL1Uut2n2Ef46p2waO8d3nz7lJ2fTdHaT0u9RVH8U0g3z4DsWmlRzI5HVlVdqW3P25kULXfNRHpLpOaKkduKdmziOzI\/X2U7brHbrWwCmpmhw5yOHE4+qkEUObeDSFCEHqeXzYREVDcIiIAiIgCIiA1NpoGVD6hkLGzSAB8gaOJwHLJW1EQhKwREQkIiIAiIgCIiALRW0cFfSSUtSzjjkGCPqERSiJJNNMxobfS22nEFJC2Jg3OOZPeT2rpRFDyIpJWQREQkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/Z",
    "razonSocial": "STEEL INGENIERIA S.A.",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "MARCELO VEGA GONZALEZ",
    "correoContacto": "marcelo.vega@veltislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "987571530",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28686\",\"cantidad_usada\":4,\"cantidad_asignada\":4}]",
    "horaSalida": "16:20",
    "ubicacionGPS": "LatLng(lat: -23.6618215, lng: -70.4000276)",
    "horaLlegada": "15:34",
    "horaDespacho": "16:18",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


22/05/2026 16:20:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:96846410

[22/05/2026 16:20:46] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('96846410', 'EP2764', 1, 95585912, 0, NOW(), 
				'16:18', '15:34', '16:20', 10, 'se realiza entrega de insumos ', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779481246.png', 'se realiza entrega de insumos ', null, 'COMPLETADO','LatLng(lat: -23.6618215, lng: -70.4000276)' )
				
[22/05/2026 16:20:46] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200395
[22/05/2026 16:20:46] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200395', 'EPS-I302', 4)
				
[22/05/2026 16:20:46] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 4
				WHERE
				    IDcontrol = 28686 and
				    IDproducto = 'EPS-I302'
				

22/05/2026 16:20:46 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 4)
                WHERE ID = 'EPS-I302';
                
22/05/2026 16:20:46 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200395'                    
				WHERE idllamado = 12376			
				TO ENVIO: micorreo@miempresa.cl, marcelo.vega@veltislatam.com


22/05/2026 16:20:46 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12376			
				
22/05/2026 16:20:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


22/05/2026 16:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

[22/05/2026 16:20:49] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

[22/05/2026 16:20:49] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:20:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16:20:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

[22/05/2026 16:20:49] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

22/05/2026 16:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12376
                

[22/05/2026 16:20:49] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:20:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16:20:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16:20:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12376
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

22/05/2026 16: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 = 12376
                

[22/05/2026 16:20:52] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:20:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:20:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:20:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:20:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:20:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:20:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

[22/05/2026 16:20:52] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 16:20:52] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:20:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:20:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

[22/05/2026 16:20:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

[22/05/2026 16:21:01] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

[22/05/2026 16:21:01] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 16:21:02] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:21:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:21:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12574
                

[22/05/2026 16:21:02] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16:21:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12574
                

22/05/2026 16:21:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16:21:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16:21:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16:21:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12574
                

22/05/2026 16:21:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:21:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:21:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:21:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16:21:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:32 - logentry: =========================================
FECHA: 22/05/2026 16:21:32
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-81.nSWr0Rua1gGh3uo0abELKtO5KhA3vk9KxRDvBNjMAVpxdaN-
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "9J3N529539",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza entrega de insumos ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12574",
    "observacion": "se realiza entrega de insumos ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABaALEDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABAEAABAwMBBAcGBAQDCQAAAAABAgMEAAURBhIhMUETUWFxgZGhFCIyscHRFSNC8CUmQ\/EHFqIkM1JTVGKywuH\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAsEQACAQMCBAQHAQEAAAAAAAAAAQIDESESMQQTQVEiMmFxgZGhscHR4TPw\/9oADAMBAAIRAxEAPwD9mpSlAClKztx1UgP+w2hozZitwKRlCT9fl20yi5bE6lWNNXky+ffZjNF191DTaeKlnAFUMnWlubd6GI2\/MXnH5SN3rv8ASuUfTEq4rTJ1BMW+oHIjoOEp7Mj6Y760EWFFgtBqKwhpA5JH7zTeFepG9apt4V65ZnxqO9vZLGnXgORcJH0FXNpmS5sQuTYRiOBRTsE5z291Tqz2sJbzMBiMwopMp3YUQce7g5HqKFaTskD1UYucpN+mDQ0rILXdNIOhbjjlwtqzglR95s\/T5HsrUxJbE6MiTGcDjSxkEUso2z0KU6ym3FqzXQ7UpSlLClKUAKUr4pQSkqUQABkk8qAPtYq96wuMOe\/EYZaaDZwFLSSo\/T+1WM\/VRddMOxsKmyDxcCcoT9\/lXOPpAzQ5IvkpyRJdTgbCsdF3cvDGKtBKOZmCvOdXw0H7vp8\/0ddKyr1cEuS7gsezr\/3QKQCe7HLdzrR1lBCv2nEf7C5+JRE5\/JUPeQOWB48uqrC3asts9fQuLMV\/OOje3b+rPDwrk43d1sPQqqCUKjal69fZl3SlKkbBSlKAFeHXW2WlOurCEIGVKUcACvdZO9uvagvKLFGUpEZo7UlwJO4jO75eJ7KaMbslWqcuN1lvY8vS7hquUuJAUY1tQcOPFO9zs7e7zrQ221Q7Sx0URoJz8SjvUrvNd4kVmFFbjR0BDTYwlIrtXZSvhbCUqOl655l\/2wpSlIaBWXv+ZWrLND3lKD0pSO\/P\/pWhmTI8CMuRJdDbaBvJ+Q6zWFclTNS6oL1pWWFNtYStwgFKOBPZ8XLrqtNZuYuLqJJQ3baway83u2W9pTExQdU4nBYABKgevkB31k7VdFWmQubCQ5+EuuAOtKwS0ccjny6+B5VfNaft9itz854e0yW21LLzgz72OQ5b\/Htr5pCA2dM7D7IUiUtSlJUPiHD6UycVFkpxq1Ksb2Ts37e7NBHkNSmEPsOBxtYylSeBrpWRYW9pO8CM6pa7VJP5asZ6M\/vj18a0sm4QobaXJEplpKhlJUsDaHZ11OUbPBrp1lJPVhrck15WtDaCtxQQlIyVKOAKzTmq3561MWK3uyVjd0rgwgfvtIrynTVyu2y5frkspG\/2dnAA8eHoe+u6LebAr4jViktX2+ZImaviIdEe2suXCQTgJbBCfPG\/wHjUf8GvN9WFXuQI0bORGZO\/x\/Z8KvoFsh21ro4kdDQ5kDervPE1Lo1JeVHOTKf+r+C2\/pFgW6JbWOhhspaTxOOKj2nnUqlKm3c0pKKshVdcrFbrrvlRwXBwcT7qvMcfGrGldTa2OSjGStJXRkjA1Dp3fb3fxCGn+isZUkdg4+XlV1Z77FvCFBvLT6M7bCz7yRnGas6ympI6IN5t0+EnYlvO7Cko3dIN2T644HjVE1PD3Mkovh1qi\/D2\/X6NXSlKkbSFeLgi2Wp+Wo4KE4QOtR3AedV+krcYVp6d7aMiWekcKs57Ac+fiaiaozcLxbLMPgcV0jgCiMj+wV\/8rTpSEpCUgAAYAHKqPEbdzLHx1nLpHHxe59pSvK1obQVuKCEpGSpRwBUzUeqp71qKNafyEDp5isBDCN5yeGeru4mq+bqCXdXzA08grUDhySRhKRv4eXHyqfZNORrTl9ajImLyVvL34J446u\/iappUcy+RldWVR6aW3fp8O5Ah6fmXWQJ+oHFKO4oipOEp7x9POvliQgaxu2wkICEhKUpGABu5eFamsxp73tU3tR3kLAB7Mn7V1SbTJypRpzglvff4M6a1kqbtCIje9yW6EAZxkDf88VKcu9q0\/DZhvSU7bLYSG2xtKOB2cM9tVEtqRqDVjqGHNhq3IKUrB4LPaOBz\/wCNR4uj71EdMhqTCL+c7S8r8d6Dv7aZRjpSbJSqVeZKdON+l\/b+neXKvOqmTHiQRGguEEuvjeoA8f7edQ7DZ4idQSLddkF59kDoQpXuKA7Oe7Bx31a\/zm1nfEex3DPyrm1Dv86+xZk+BHjiOre40oZUnO8fEflTXsmk1Ym4apxlJNu\/VYsahllqO2G2GkNIHBKEgAeArpSlZj19hSlKAFKUoAUpVJedTRrYr2dhPtUxW4MtnOye3Hy411Jt2Qk6kaa1SZY3C4xbXGMiW6EIHAc1HqA66oLDFl3i5m\/XAKShOREaI3AHn5eZ38q+wNPSrlJFy1CvpV\/0436UDtH08606UhKQlIAAGAByp21FWW5njGVaSlNWS2X5Z9pSlTNZmI6faP8AEOSo4xHjDBG\/fhI8PiPlWnrMWUlWsrwSd4AHyrQTGFSoTzCHC0pxBSlaSQUnkd1UnukZeH8kmu7+5X3fUsG0HolEvSDwZb3nxPKqlNrvWpFpduzhhws5EZG5R7x9\/Kre0acg2gbaEdNIPxPODJ8OqrajUo+U5yp1c1Xjsvy+pHhQY1vjpYispbQOQ4ntJ51IpSpmpJJWQrGwJot9z1JLOPyjlOeasqwPPFbKvzV8OSr3cLW1u9ruA2icbgFL++fDztSV7mHjJuDg1vn7Gr0bEUxZfaHN7ktZcUc53cB9\/Gr+vDLSGGUMtjZQ2kJSOoDcK91OTu7mulDlwUewpSlKUFKUoAUrytaG0FbighKRkqUcAVSztX2mGdhDxlOZxssDa9eHrXVFvYSdSEFeTsXlVl01BbrSg9O8Fujd0LZBX4jl41TuL1Lfzstt\/hcRX6lHCyPn8qsbXpa3Wwhwo9of49K7vwewcB86fTFeZkObUqYpqy7v8IrA\/qLUZwwn8MhK\/WfjUOzmfDA7aubTp+DaBtMoLj5HvPOb1H7VaUrjm3hYQ0KCi9Und93+OwpSlIaBSlKAMvbSI2urkys46dsKQTzOEnHqfKtRWZ1PHfhTYt\/ipUpUfCXkj\/g3\/cirWFfrZPbC2JjYJGShaglQ7wapJXSaMlGShKVOXe69mWNK5l9kDJdQAP8AuFRH73a42eluEcEcg4CfIUlmzS5xW7J9Kz8jWtmZzsOOvkH+m398VHOq58ofw6xSHAeC15x6Dr7eVNy5diL4qisKV\/bP2NRWAhzo9v1VMuU2O+lCivogW8KBJ47+wKHjVq65q2Qgrdch2xvmpShuHfv6vWqqWi3JT\/E9SyJxIGW4\/vDq3E5HX51SEbXMfEVXPS0rWzmy+7ubK23aHdmC7Ec2gk4UCMEHAPDxqbWLt96TGZLVg0++vawC6sfFgbirH35nrqb\/ADjO\/wClgJPcTj\/V+zSunnsaIcTeKw2\/RY+pp6gyrzbIRIkTmUKHFO1lXkN9Uv8AlKZLH8Tvch4Eb0Izj1P0qbG0hZYxB9lLyhzdWT6cPSuWgt2Prry8sUvd\/ojP63t4X0cNiRLczgbKdkHz3+lczN1XcjiNAat7SxuW8feT57\/9NaNiMxGRsR2G2Unk2gJHpXWjVFbIOVUl55\/LH9My3pBUpYdvFyflrznYSdlIPP8AYxVzBtEC2geyRW21Yxt4yo+PGptKVzk9x4UKcHdLP1FKUpSwpSlAClKUAKUpQB8UkKSUqAIIwQedU8vSdmmK2jF6FWMfkq2R5cPSrmldTa2EnThNWkrmcGhrOMb5Bwf+YN\/pUlnSNkZIPse2RzWtR9M4q6pTa5dya4aitooztwu1qsEhMSNbQuUQMNstBO7lvxv8M1HDurbvvbbbtjJz8Qwrxzk+grT9C103TdGjpdnZ29kbWzxxnqr3XdSXQTlSm3eVl2WDMt6Mbfd6a6XGRNXjmceG8k48qtYdgtUHHQQWgofqUNpXmasaUrnJ9SkOHpQyoilKUpYUpSgBSlKAFKUoAUpSgBSlKAFKUoAUpSgD\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "MARCELA LY",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "RESMAS CARTAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"XER-I333\",\"id_control\":\"28679\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "16:21",
    "ubicacionGPS": "LatLng(lat: -23.6618163, lng: -70.3999858)",
    "horaLlegada": "16:19",
    "horaDespacho": "16:20",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 22/05/2026 16:21:32
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-81.nSWr0Rua1gGh3uo0abELKtO5KhA3vk9KxRDvBNjMAVpxdaN-
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "9J3N529539",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza entrega de insumos ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12574",
    "observacion": "se realiza entrega de insumos ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABaALEDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABAEAABAwMBBAcGBAQDCQAAAAABAgMEAAURBhIhMUETUWFxgZGhFCIyscHRFSNC8CUmQ\/EHFqIkM1JTVGKywuH\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAsEQACAQMCBAQHAQEAAAAAAAAAAQIDESESMQQTQVEiMmFxgZGhscHR4TPw\/9oADAMBAAIRAxEAPwD9mpSlAClKztx1UgP+w2hozZitwKRlCT9fl20yi5bE6lWNNXky+ffZjNF191DTaeKlnAFUMnWlubd6GI2\/MXnH5SN3rv8ASuUfTEq4rTJ1BMW+oHIjoOEp7Mj6Y760EWFFgtBqKwhpA5JH7zTeFepG9apt4V65ZnxqO9vZLGnXgORcJH0FXNpmS5sQuTYRiOBRTsE5z291Tqz2sJbzMBiMwopMp3YUQce7g5HqKFaTskD1UYucpN+mDQ0rILXdNIOhbjjlwtqzglR95s\/T5HsrUxJbE6MiTGcDjSxkEUso2z0KU6ym3FqzXQ7UpSlLClKUAKUr4pQSkqUQABkk8qAPtYq96wuMOe\/EYZaaDZwFLSSo\/T+1WM\/VRddMOxsKmyDxcCcoT9\/lXOPpAzQ5IvkpyRJdTgbCsdF3cvDGKtBKOZmCvOdXw0H7vp8\/0ddKyr1cEuS7gsezr\/3QKQCe7HLdzrR1lBCv2nEf7C5+JRE5\/JUPeQOWB48uqrC3asts9fQuLMV\/OOje3b+rPDwrk43d1sPQqqCUKjal69fZl3SlKkbBSlKAFeHXW2WlOurCEIGVKUcACvdZO9uvagvKLFGUpEZo7UlwJO4jO75eJ7KaMbslWqcuN1lvY8vS7hquUuJAUY1tQcOPFO9zs7e7zrQ221Q7Sx0URoJz8SjvUrvNd4kVmFFbjR0BDTYwlIrtXZSvhbCUqOl655l\/2wpSlIaBWXv+ZWrLND3lKD0pSO\/P\/pWhmTI8CMuRJdDbaBvJ+Q6zWFclTNS6oL1pWWFNtYStwgFKOBPZ8XLrqtNZuYuLqJJQ3baway83u2W9pTExQdU4nBYABKgevkB31k7VdFWmQubCQ5+EuuAOtKwS0ccjny6+B5VfNaft9itz854e0yW21LLzgz72OQ5b\/Htr5pCA2dM7D7IUiUtSlJUPiHD6UycVFkpxq1Ksb2Ts37e7NBHkNSmEPsOBxtYylSeBrpWRYW9pO8CM6pa7VJP5asZ6M\/vj18a0sm4QobaXJEplpKhlJUsDaHZ11OUbPBrp1lJPVhrck15WtDaCtxQQlIyVKOAKzTmq3561MWK3uyVjd0rgwgfvtIrynTVyu2y5frkspG\/2dnAA8eHoe+u6LebAr4jViktX2+ZImaviIdEe2suXCQTgJbBCfPG\/wHjUf8GvN9WFXuQI0bORGZO\/x\/Z8KvoFsh21ro4kdDQ5kDervPE1Lo1JeVHOTKf+r+C2\/pFgW6JbWOhhspaTxOOKj2nnUqlKm3c0pKKshVdcrFbrrvlRwXBwcT7qvMcfGrGldTa2OSjGStJXRkjA1Dp3fb3fxCGn+isZUkdg4+XlV1Z77FvCFBvLT6M7bCz7yRnGas6ympI6IN5t0+EnYlvO7Cko3dIN2T644HjVE1PD3Mkovh1qi\/D2\/X6NXSlKkbSFeLgi2Wp+Wo4KE4QOtR3AedV+krcYVp6d7aMiWekcKs57Ac+fiaiaozcLxbLMPgcV0jgCiMj+wV\/8rTpSEpCUgAAYAHKqPEbdzLHx1nLpHHxe59pSvK1obQVuKCEpGSpRwBUzUeqp71qKNafyEDp5isBDCN5yeGeru4mq+bqCXdXzA08grUDhySRhKRv4eXHyqfZNORrTl9ajImLyVvL34J446u\/iappUcy+RldWVR6aW3fp8O5Ah6fmXWQJ+oHFKO4oipOEp7x9POvliQgaxu2wkICEhKUpGABu5eFamsxp73tU3tR3kLAB7Mn7V1SbTJypRpzglvff4M6a1kqbtCIje9yW6EAZxkDf88VKcu9q0\/DZhvSU7bLYSG2xtKOB2cM9tVEtqRqDVjqGHNhq3IKUrB4LPaOBz\/wCNR4uj71EdMhqTCL+c7S8r8d6Dv7aZRjpSbJSqVeZKdON+l\/b+neXKvOqmTHiQRGguEEuvjeoA8f7edQ7DZ4idQSLddkF59kDoQpXuKA7Oe7Bx31a\/zm1nfEex3DPyrm1Dv86+xZk+BHjiOre40oZUnO8fEflTXsmk1Ym4apxlJNu\/VYsahllqO2G2GkNIHBKEgAeArpSlZj19hSlKAFKUoAUpVJedTRrYr2dhPtUxW4MtnOye3Hy411Jt2Qk6kaa1SZY3C4xbXGMiW6EIHAc1HqA66oLDFl3i5m\/XAKShOREaI3AHn5eZ38q+wNPSrlJFy1CvpV\/0436UDtH08606UhKQlIAAGAByp21FWW5njGVaSlNWS2X5Z9pSlTNZmI6faP8AEOSo4xHjDBG\/fhI8PiPlWnrMWUlWsrwSd4AHyrQTGFSoTzCHC0pxBSlaSQUnkd1UnukZeH8kmu7+5X3fUsG0HolEvSDwZb3nxPKqlNrvWpFpduzhhws5EZG5R7x9\/Kre0acg2gbaEdNIPxPODJ8OqrajUo+U5yp1c1Xjsvy+pHhQY1vjpYispbQOQ4ntJ51IpSpmpJJWQrGwJot9z1JLOPyjlOeasqwPPFbKvzV8OSr3cLW1u9ruA2icbgFL++fDztSV7mHjJuDg1vn7Gr0bEUxZfaHN7ktZcUc53cB9\/Gr+vDLSGGUMtjZQ2kJSOoDcK91OTu7mulDlwUewpSlKUFKUoAUrytaG0FbighKRkqUcAVSztX2mGdhDxlOZxssDa9eHrXVFvYSdSEFeTsXlVl01BbrSg9O8Fujd0LZBX4jl41TuL1Lfzstt\/hcRX6lHCyPn8qsbXpa3Wwhwo9of49K7vwewcB86fTFeZkObUqYpqy7v8IrA\/qLUZwwn8MhK\/WfjUOzmfDA7aubTp+DaBtMoLj5HvPOb1H7VaUrjm3hYQ0KCi9Und93+OwpSlIaBSlKAMvbSI2urkys46dsKQTzOEnHqfKtRWZ1PHfhTYt\/ipUpUfCXkj\/g3\/cirWFfrZPbC2JjYJGShaglQ7wapJXSaMlGShKVOXe69mWNK5l9kDJdQAP8AuFRH73a42eluEcEcg4CfIUlmzS5xW7J9Kz8jWtmZzsOOvkH+m398VHOq58ofw6xSHAeC15x6Dr7eVNy5diL4qisKV\/bP2NRWAhzo9v1VMuU2O+lCivogW8KBJ47+wKHjVq65q2Qgrdch2xvmpShuHfv6vWqqWi3JT\/E9SyJxIGW4\/vDq3E5HX51SEbXMfEVXPS0rWzmy+7ubK23aHdmC7Ec2gk4UCMEHAPDxqbWLt96TGZLVg0++vawC6sfFgbirH35nrqb\/ADjO\/wClgJPcTj\/V+zSunnsaIcTeKw2\/RY+pp6gyrzbIRIkTmUKHFO1lXkN9Uv8AlKZLH8Tvch4Eb0Izj1P0qbG0hZYxB9lLyhzdWT6cPSuWgt2Prry8sUvd\/ojP63t4X0cNiRLczgbKdkHz3+lczN1XcjiNAat7SxuW8feT57\/9NaNiMxGRsR2G2Unk2gJHpXWjVFbIOVUl55\/LH9My3pBUpYdvFyflrznYSdlIPP8AYxVzBtEC2geyRW21Yxt4yo+PGptKVzk9x4UKcHdLP1FKUpSwpSlAClKUAKUpQB8UkKSUqAIIwQedU8vSdmmK2jF6FWMfkq2R5cPSrmldTa2EnThNWkrmcGhrOMb5Bwf+YN\/pUlnSNkZIPse2RzWtR9M4q6pTa5dya4aitooztwu1qsEhMSNbQuUQMNstBO7lvxv8M1HDurbvvbbbtjJz8Qwrxzk+grT9C103TdGjpdnZ29kbWzxxnqr3XdSXQTlSm3eVl2WDMt6Mbfd6a6XGRNXjmceG8k48qtYdgtUHHQQWgofqUNpXmasaUrnJ9SkOHpQyoilKUpYUpSgBSlKAFKUoAUpSgBSlKAFKUoAUpSgD\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "MARCELA LY",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "RESMAS CARTAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"XER-I333\",\"id_control\":\"28679\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "16:21",
    "ubicacionGPS": "LatLng(lat: -23.6618163, lng: -70.3999858)",
    "horaLlegada": "16:19",
    "horaDespacho": "16:20",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


22/05/2026 16:21:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[22/05/2026 16:21: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('76121841', '9J3N529539', 2, 95585912, 0, NOW(), 
				'16:20', '16:19', '16:21', 10, 'se realiza entrega de insumos ', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779481292.png', 'se realiza entrega de insumos ', null, 'COMPLETADO','LatLng(lat: -23.6618163, lng: -70.3999858)' )
				
[22/05/2026 16:21:32] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200396
[22/05/2026 16:21:32] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200396', 'XER-I333', 2)
				
[22/05/2026 16:21:32] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28679 and
				    IDproducto = 'XER-I333'
				

22/05/2026 16:21:32 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'XER-I333';
                
22/05/2026 16:21:32 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200396'                    
				WHERE idllamado = 12574			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


22/05/2026 16:21:33 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12574			
				
22/05/2026 16:21:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16:21:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16:21:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:21:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12574
                

[22/05/2026 16:21:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12574
                

[22/05/2026 16:21:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 16:21:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:21:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:21:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16:21:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16:21:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16:21:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

[22/05/2026 16:21:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 16:21:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:21:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12574
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16: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 = 12574
                

22/05/2026 16:21:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

22/05/2026 16:21:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12574
                

[22/05/2026 16:21:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:21:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:21:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

[22/05/2026 16:21:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:21:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:21:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12375
                

22/05/2026 16: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 = 12375
                

22/05/2026 16:21:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12375
                

22/05/2026 16: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 = 12375
                

[22/05/2026 16:21:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:21:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

[22/05/2026 16:21:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:21:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:21:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12375
                

22/05/2026 16:21:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12375
                

[22/05/2026 16:21:39] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12375
                

22/05/2026 16: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 = 12375
                

22/05/2026 16: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 = 12375
                

22/05/2026 16: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 = 12375
                

22/05/2026 16: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 = 12375
                

22/05/2026 16: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 = 12375
                

22/05/2026 16: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 = 12375
                

22/05/2026 16: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 = 12375
                

22/05/2026 16: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 = 12375
                

22/05/2026 16: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 = 12375
                

[22/05/2026 16:21:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:21:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:21:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

[22/05/2026 16:21:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 16:21:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:21:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12375
                

[22/05/2026 16:21:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12375
                

22/05/2026 16:21:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:21:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

[22/05/2026 16:21:51] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:21:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12375
                

22/05/2026 16:21:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12375
                

22/05/2026 16: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 = 12375
                

22/05/2026 16: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 = 12375
                

22/05/2026 16:21:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12375
                

22/05/2026 16: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 = 12375
                

22/05/2026 16: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 = 12375
                

22/05/2026 16: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 = 12375
                

22/05/2026 16: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 = 12375
                

22/05/2026 16: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 = 12375
                

22/05/2026 16: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 = 12375
                

22/05/2026 16: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 = 12375
                

22/05/2026 16:21:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

[22/05/2026 16:21:52] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 16:21:52] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12274
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12274
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

[22/05/2026 16:21:52] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 16:21:52] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12274
                

[22/05/2026 16:21:52] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16:21:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

[22/05/2026 16:21:59] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:21:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16:21:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16:21:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16:21:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16:22:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16:22:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16:22:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

[22/05/2026 16:22:00] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16:22:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

[22/05/2026 16:22:00] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

[22/05/2026 16:22:00] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 16:22:00] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16:22:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16:22:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16:22:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12274
                

22/05/2026 16:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16:22:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16:22:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12274
                

22/05/2026 16:22:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16:22:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12274
                

22/05/2026 16:22:24 - logentry: =========================================
FECHA: 22/05/2026 16:22:24
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-HgSZLMuzNAC5Ek_T4ExXj.aodGuQhbir+5A+XAbgv97u59IX3xn
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2304",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza entrega de insumos ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12274",
    "observacion": "se realiza entrega de insumos ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB\/AOADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQBAgf\/xABEEAABAwMBBAYIAwQHCQAAAAABAAIDBAURBiExQVESEyJxgZEUIzJhobHB0RVC4TNDUqIHFiRTctLwJTQ1VXOywuLx\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDAQQF\/8QALhEAAgECAwYFBAMBAAAAAAAAAAECAxESITEEMkFRYXETFCKR0SOhsfAzgcHh\/9oADAMBAAIRAxEAPwD9mREQAREQARFHNNFTwummkbHG0Zc5xwAgNCRfL3sjYXyODGtGS5xwAsxU6nrLhO6k0\/RmYg4NQ8dke\/bs8\/JeR6QqK4tlvdzmqH7T1bHbG9xP0CpgtvOxy+YcnalG\/XRe5Z1eqbPSHomrEr\/4IR0z5jZ8VXHVFzrv+EWWWRh9mWbYD5bOHNW9HYLVQ46ihiDh+Zw6TvMqwAAGAMAIvBaI3BXlvSt2+WZkUmr6t3SlraakYfyNAPyB+a0rQWsDSckDGea+kSuVylOmocW+7CIiUqEREAEREAEREAEREAEREAEREAEREAEREAEUVRUQ0kDp6iRscbBkucVmH3i7ainMFlYaalacPqXjBPdy7ht7k0YtkalaNPLVvgWl51JR2n1Q9fVO9mFm\/Pv5fNVcFjuN\/mbV36R0UIOWUjDjHfy+fcrW0aborSetGaipPtTSb88cDh8\/erdNiUd0kqU6udXTl88yKnpoaSFsNPEyKNu5rBgKVEUzqStkgiIg0IiIAKOonZTU8k8hDWRtLnE8gpFSawmMWm6kA4Mhaz+YZ+AK2Ku0idWeCDlyRwN1He6iMVdJZhNSEnolriS4AkbOPA8FZWfUtHdnGEg09S3YYpDvPIHjuXXZ4BT2ejiAx0YW578bfiuW96epbuzrB6mrYPVzt2HPAHmE94t2sc6jWjFSUr80\/wDC3RUOm7zNWddb68dGtpThw\/ibuz\/rmFfJJJp2Z0U6iqRxIIiLCgRFW3a+0NnjzUyZkPsxM2uP28VqTeSFlOMFeTsiyXFX3e320f2uqZG7GQzOXHwG1UDa3Ud9y+na210WNsj\/AGiOeTt8sd6pxS0zqw0tpY+61zvbqphmNnMgfU58VWNPmziqbW7ehe\/HstWae2asorrcRRwxyMLgS10mzpEbcADPBXqprDp6O0NdLK4TVchJfJjdnkrlTnhv6TpoeJg+rqEREpYKCtrIKCkkqql\/QjjGSfoFOsjVl2rL56FG54ttGcyuAx037Rs+XmmjG+uhGtUcFaOr0FPQ1WrakV1w6cNuYfUQA4L\/AH\/r5LVQwxU8LIYWBkbBhrWjYAvprWsYGMaGtaMAAYAC+kSlfsFKkoZvNvVhERKWCIiACIiACLkrrbDXvpnyukaaaUSs6DsZI5rrWmK93cLMa1JmgoKBp21NQBgbzw\/8gtOstf3tl1fZoHEYYes2niTs\/wC1PT3jn2r+JrnZfc1AAAwBgBeoimdJldUQvtlxpb\/TtJMbgyYDiOH1HktNDMyogjnjOWSNDmnmCMhR11JHX0M1JJ7MrC0nGce\/w3qm0hWPfQS2+fZPQvMZBOTj\/wC5HgqP1R7HKvp1muEvyjQrwkAZJwAoqurgoaZ9RUyCONm8lY+vudVf4nSSym22dvtOeO3MeQ59w2c1kYOQ9avGnlq+X7oiwumpZaipNssUfpFS4YMw2tZzx993euNsNp07Iaq51H4jdHHPQHaIJ9x3d58FDbxXV0TqTTtOaGiJxJVybHvx7\/oN3uV\/atMUFreJ8Goqc5M0u055gcPmqPDFWOKKqVpYter0XZce5Weg3vU+HXB34fQ7xCz2n9\/6+S0dBb6W20wp6SIRsG\/G9x5k8SulFJyby4HdToxg8Wr5sIiJSwREQBT6ouYtllkc0+tm9XGOZO\/4ZU1gtrbVZ4afHrCOnKcYy47\/AC3eCqLyDc9X263beqpx10m3ed\/0A8StSqPKKRy0\/XWlPlkv9CIimdQREQAREQARFz1ldS2+Az1czYoxxdx7hvKDG0ldnQoKuspqGEzVU7IWDi44z3c1npNS3C6u6mw2+RwJwaiYYa36eZ8F902kRUSiqvdZJWz\/AMIcQwe7n8u5UwJbxzOu55Ulfrw\/7\/RFPqmsuUpprBRPlO4zyDY3w3Dx8lm66Guh1QyCqqTUVXWMBe0njjAHgV+lQQQ00QigiZFG3c1gwAsNTNNf\/SK92SRHM4knh0BgfEAKlOSzsjj2qlP04pXba7G9RFw3C82+1gemVLI3Hcze4+A2qCTeh6kpKKvJ2O5ZQyss2uZTJI2OnroemS44aDz82nzXrtT3O6FzLHa3ubnHXy7vLcPNVGobTcKeOC5Xer9KJlDHRM2Bo2kgHhu5K0IWdnxODaK6lFSpq9ne\/Asr7fYr1DJabXSyVrn4zI3Ia0g7\/wBTsXPQ6DmkhBr6vq3cI4x0uj3n7LX0dJS0dO2OkhZFHjIDRjPfzXQl8SytEp5RVJY62b+xlmaNqI2BjL7VMa0YDWggD+ZfX9UKr\/n9Z8f8y06LPEkU8pR5fd\/JmP6qXJuxmpaxreA7X+defgGoWHsaheQf4gf1WoRHiSDytPhf3fyZj8L1ZF+yvUD\/APqN\/wDUp09Z0+3q6Opxw2DPxC06LMfRB5ZLSTX9mXOpbzSf79YJejxfETgfAj4qxtep7bdZWwwveyZwyI5G4J57dy762up7dSuqaqQRxt57yeQ5lZ6zRVN7vX49PD6PBGC2BnRAMgxjJPHf54wm9LTdrE26lOaipYr8LcOdz20gTa4u0zh2mMDB\/KPotQsxbPUa7ucJ2dbEHj3+yfqVp1k9UU2bdfd\/kIiKZ0hERABfEsscMbpJZGxsaMuc44A8VS3bVNJQONPTA1dWTgRR7QD7z9BtXDFYbpfJBUX6qdHCe02liOMd\/L4n3p1DK7yOaVfPDTV39l3ZLV6qlrKg0VhpjVTZwZXN7DRz\/U7O9KPSbp5xV3yqdWzf3eT0G\/fu2BX9JR01DCIaWBkLBwaMZ7+anW47ZRMVByeKq79OH73PljGRsDI2hjWjAa0YAX0iKZ1Bfm1jvcdvulZWejSVM9QS2JjNmcuyfkOC39ymFPa6qY\/khe7fjcCqfRFI2CwtnLAHzvc7pY24GwDu2fFVg0ots4dojKdaEYu1rs5xFqi9ucJZBaqV2zogds\/X4hd1BpG1UREkkXpMwOenKcjP+Hd55V4iVzeiyLR2eCd5ep9TwAAYAwAqfVlOajTlUANrAHjwIJ+GVcqCtg9Koain\/vYnM8xhLF2aZSpHFBx5o5rFOKixUUgOfUtae8DB+IVgs9oqUusPUu2Op5nsI5cfqtCtmrSaFoSxUovoEREpYIo5poqeMyTysiYN7nuAA8Ss\/W6xpxKKa1wPr53bugCG\/cplFy0JVKsKe8zRkgDJOAFQXLVcEMvoltiNfVnYBGMtHeRv8PNcrrNfb7h13rG0kB2+jwfX9SVe220UNpi6ukhDSRhzztc7vKa0Y65ksVWplFYVzevt8lLSadq7pVNr9QyiQgdilaey3v8AsPdk8FpmtDWhrQAAMADgvUSyk2Vp0o01lrz4mXv2bbqe2XTb1UhMMnIcM+R\/lWoVPqi2m52SVjBmWL1rABkkgbvEKewXH8Us1PUk5k6PRk\/xDYfPf4pnnFMlT9FaUeea\/DLFeEgDJOAFUXnUdNaninbG+oq3DsQsHlk\/bKqxar7qHt3WpNFTHaKeMbSPeM\/PPcsUMrvIaddJ4YK7\/dWWFfq22UjjFC91XPuEcIyM9+7yyq40+o9RH+0u\/DKM\/uwCHuHvG8+OB7lfW2y0FqZikgDXYwZHbXHxXetxKO6hfBqVP5ZZcl86lda7HQWhmKWHtkYdK85c7x4eCsURI23mzojGMVaKsgiIsGCIiAKTV85g05UYG2QtZ3ZO34LqsEXUWChZjHqWuI7xn6qm1\/KW2qniH558nwafutLTR9TSxRfwMDfIKjygjkjntMuiRKiIpnWEREAZnTwbRalvFva0BhcJWDYMDl3dof6K0yzlbWWWx3apuUlS+WrnYGGFhDiMY8tw3lQGu1HfWAUNK23Uzx+2kd2iPdsz5DxVXFyzOKnVjSThq7vJZ5XNBXXKitsfWVlQyEHcDtJ7gNpVBLqa4XMmKw26R4zg1ErcNHdw8z4LooNG2+A9bWl9dOTlzpCcZ7uPjlX7GMjYGRtDGtGA1owAsvGOmY+GtU3nhXTN+5mWaUqbhKyovtxfUuH7mPY0eP2AWhpKKloYuqpYGQs5NGM9\/NTolcm9StOjCnmlnz4hERKVCIiACyMbnaSvro5NlrrndJpA2RO5eHyxyWuXJcrdBdKGSlnHZcNjuLTwITxlbJ6EK1NySlHeWn71JhBAZ\/SREwylvREmBnHLKlWSt92n03UNtF4yYBsgqQNmOXd8lrGuDmhzSCCMgjislFo2lVjNZZPij1ERKWCIiACIiACIiAMprQOlrLPTjaJJiMczlo+q1ay9\/Ak1ZZWOGwOLh35\/RWl01FbrSC2ebpyj91Htd48vFVabUUjjhKMalScnZXX4LNzg1pc4gADJJ4LhF7thpX1QrYupY4tLulx5Dn4LJVdVftWerpaV9PRHmei13e4+13BWdu0NRwNa6vlfUvG3oNPRYPqUYIxXqYq2ipUl9KOXN5Es2sYZZDDaaKor5RxawhuOfP4BQm26lvQcLhVtt9O79zEASR4H5nwWlgpoKWMR08LImD8rGgBSrMaW6ingSn\/JK\/RZL5Km3aatdta3oU4lkbt6yXtHPMcB4K2REjbepeEIwVoqwREWDhERABERABERABERAHPW0NPcaV1NVRiSN3PeDzHIrMt\/F9JE5DrhbAOeHRDPw+XctciaMrZcCNSipvEnZ8\/3Urbbf7bdWj0eoDZOMUnZePDj4ZVkqiu0taK7pOdSiJ7t74eyft8FXDS1yoh\/sy+zMaN0cgJaPjjgOCa0HoyeOvHejft8M1CLL9TrOBvRFRSVGBv2fYL30rWbBn8Po5M8OkNn84Rg6o3zHOEvY06LMmo1k8Aiko4+kNoyOz\/Me9fP4dq2rPr7pBTsO8RDaPIfVZg6oPMN6Qft8mllmigYZJpGRsH5nuACo7hrK1UXZie6qfjdF7PiftlQR6Lgle2S419TWPA\/M7A9+\/J5+a+n6It0leJuk5tM0ACnZszjm7OTnz96ZKmtWTnLaZL0RS\/spHXG+apmDKSmjiZGf2jW4LO952+WFe2nRtFQuE1WfTJ9\/bHYB7uPir6CCGmiEUETIo27msGAFIiVR6RyRtPZUniqPFI8AAGAMAL1EUjsCIiACIiACIiACIiACIiACIiAP\/\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "VICTOR ROMERO",
    "correoContacto": "romerov@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCION INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "981529732",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28727\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:22",
    "ubicacionGPS": "LatLng(lat: -23.66184, lng: -70.4000478)",
    "horaLlegada": "15:35",
    "horaDespacho": "16:21",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 22/05/2026 16:22:24
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-HgSZLMuzNAC5Ek_T4ExXj.aodGuQhbir+5A+XAbgv97u59IX3xn
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2304",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza entrega de insumos ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12274",
    "observacion": "se realiza entrega de insumos ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB\/AOADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQBAgf\/xABEEAABAwMBBAYIAwQHCQAAAAABAAIDBAURBiExQVESEyJxgZEUIzJhobHB0RVC4TNDUqIHFiRTctLwJTQ1VXOywuLx\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDAQQF\/8QALhEAAgECAwYFBAMBAAAAAAAAAAECAxESITEEMkFRYXETFCKR0SOhsfAzgcHh\/9oADAMBAAIRAxEAPwD9mREQAREQARFHNNFTwummkbHG0Zc5xwAgNCRfL3sjYXyODGtGS5xwAsxU6nrLhO6k0\/RmYg4NQ8dke\/bs8\/JeR6QqK4tlvdzmqH7T1bHbG9xP0CpgtvOxy+YcnalG\/XRe5Z1eqbPSHomrEr\/4IR0z5jZ8VXHVFzrv+EWWWRh9mWbYD5bOHNW9HYLVQ46ihiDh+Zw6TvMqwAAGAMAIvBaI3BXlvSt2+WZkUmr6t3SlraakYfyNAPyB+a0rQWsDSckDGea+kSuVylOmocW+7CIiUqEREAEREAEREAEREAEREAEREAEREAEREAEUVRUQ0kDp6iRscbBkucVmH3i7ainMFlYaalacPqXjBPdy7ht7k0YtkalaNPLVvgWl51JR2n1Q9fVO9mFm\/Pv5fNVcFjuN\/mbV36R0UIOWUjDjHfy+fcrW0aborSetGaipPtTSb88cDh8\/erdNiUd0kqU6udXTl88yKnpoaSFsNPEyKNu5rBgKVEUzqStkgiIg0IiIAKOonZTU8k8hDWRtLnE8gpFSawmMWm6kA4Mhaz+YZ+AK2Ku0idWeCDlyRwN1He6iMVdJZhNSEnolriS4AkbOPA8FZWfUtHdnGEg09S3YYpDvPIHjuXXZ4BT2ejiAx0YW578bfiuW96epbuzrB6mrYPVzt2HPAHmE94t2sc6jWjFSUr80\/wDC3RUOm7zNWddb68dGtpThw\/ibuz\/rmFfJJJp2Z0U6iqRxIIiLCgRFW3a+0NnjzUyZkPsxM2uP28VqTeSFlOMFeTsiyXFX3e320f2uqZG7GQzOXHwG1UDa3Ud9y+na210WNsj\/AGiOeTt8sd6pxS0zqw0tpY+61zvbqphmNnMgfU58VWNPmziqbW7ehe\/HstWae2asorrcRRwxyMLgS10mzpEbcADPBXqprDp6O0NdLK4TVchJfJjdnkrlTnhv6TpoeJg+rqEREpYKCtrIKCkkqql\/QjjGSfoFOsjVl2rL56FG54ttGcyuAx037Rs+XmmjG+uhGtUcFaOr0FPQ1WrakV1w6cNuYfUQA4L\/AH\/r5LVQwxU8LIYWBkbBhrWjYAvprWsYGMaGtaMAAYAC+kSlfsFKkoZvNvVhERKWCIiACIiACLkrrbDXvpnyukaaaUSs6DsZI5rrWmK93cLMa1JmgoKBp21NQBgbzw\/8gtOstf3tl1fZoHEYYes2niTs\/wC1PT3jn2r+JrnZfc1AAAwBgBeoimdJldUQvtlxpb\/TtJMbgyYDiOH1HktNDMyogjnjOWSNDmnmCMhR11JHX0M1JJ7MrC0nGce\/w3qm0hWPfQS2+fZPQvMZBOTj\/wC5HgqP1R7HKvp1muEvyjQrwkAZJwAoqurgoaZ9RUyCONm8lY+vudVf4nSSym22dvtOeO3MeQ59w2c1kYOQ9avGnlq+X7oiwumpZaipNssUfpFS4YMw2tZzx993euNsNp07Iaq51H4jdHHPQHaIJ9x3d58FDbxXV0TqTTtOaGiJxJVybHvx7\/oN3uV\/atMUFreJ8Goqc5M0u055gcPmqPDFWOKKqVpYter0XZce5Weg3vU+HXB34fQ7xCz2n9\/6+S0dBb6W20wp6SIRsG\/G9x5k8SulFJyby4HdToxg8Wr5sIiJSwREQBT6ouYtllkc0+tm9XGOZO\/4ZU1gtrbVZ4afHrCOnKcYy47\/AC3eCqLyDc9X263beqpx10m3ed\/0A8StSqPKKRy0\/XWlPlkv9CIimdQREQAREQARFz1ldS2+Az1czYoxxdx7hvKDG0ldnQoKuspqGEzVU7IWDi44z3c1npNS3C6u6mw2+RwJwaiYYa36eZ8F902kRUSiqvdZJWz\/AMIcQwe7n8u5UwJbxzOu55Ulfrw\/7\/RFPqmsuUpprBRPlO4zyDY3w3Dx8lm66Guh1QyCqqTUVXWMBe0njjAHgV+lQQQ00QigiZFG3c1gwAsNTNNf\/SK92SRHM4knh0BgfEAKlOSzsjj2qlP04pXba7G9RFw3C82+1gemVLI3Hcze4+A2qCTeh6kpKKvJ2O5ZQyss2uZTJI2OnroemS44aDz82nzXrtT3O6FzLHa3ubnHXy7vLcPNVGobTcKeOC5Xer9KJlDHRM2Bo2kgHhu5K0IWdnxODaK6lFSpq9ne\/Asr7fYr1DJabXSyVrn4zI3Ia0g7\/wBTsXPQ6DmkhBr6vq3cI4x0uj3n7LX0dJS0dO2OkhZFHjIDRjPfzXQl8SytEp5RVJY62b+xlmaNqI2BjL7VMa0YDWggD+ZfX9UKr\/n9Z8f8y06LPEkU8pR5fd\/JmP6qXJuxmpaxreA7X+defgGoWHsaheQf4gf1WoRHiSDytPhf3fyZj8L1ZF+yvUD\/APqN\/wDUp09Z0+3q6Opxw2DPxC06LMfRB5ZLSTX9mXOpbzSf79YJejxfETgfAj4qxtep7bdZWwwveyZwyI5G4J57dy762up7dSuqaqQRxt57yeQ5lZ6zRVN7vX49PD6PBGC2BnRAMgxjJPHf54wm9LTdrE26lOaipYr8LcOdz20gTa4u0zh2mMDB\/KPotQsxbPUa7ucJ2dbEHj3+yfqVp1k9UU2bdfd\/kIiKZ0hERABfEsscMbpJZGxsaMuc44A8VS3bVNJQONPTA1dWTgRR7QD7z9BtXDFYbpfJBUX6qdHCe02liOMd\/L4n3p1DK7yOaVfPDTV39l3ZLV6qlrKg0VhpjVTZwZXN7DRz\/U7O9KPSbp5xV3yqdWzf3eT0G\/fu2BX9JR01DCIaWBkLBwaMZ7+anW47ZRMVByeKq79OH73PljGRsDI2hjWjAa0YAX0iKZ1Bfm1jvcdvulZWejSVM9QS2JjNmcuyfkOC39ymFPa6qY\/khe7fjcCqfRFI2CwtnLAHzvc7pY24GwDu2fFVg0ots4dojKdaEYu1rs5xFqi9ucJZBaqV2zogds\/X4hd1BpG1UREkkXpMwOenKcjP+Hd55V4iVzeiyLR2eCd5ep9TwAAYAwAqfVlOajTlUANrAHjwIJ+GVcqCtg9Koain\/vYnM8xhLF2aZSpHFBx5o5rFOKixUUgOfUtae8DB+IVgs9oqUusPUu2Op5nsI5cfqtCtmrSaFoSxUovoEREpYIo5poqeMyTysiYN7nuAA8Ss\/W6xpxKKa1wPr53bugCG\/cplFy0JVKsKe8zRkgDJOAFQXLVcEMvoltiNfVnYBGMtHeRv8PNcrrNfb7h13rG0kB2+jwfX9SVe220UNpi6ukhDSRhzztc7vKa0Y65ksVWplFYVzevt8lLSadq7pVNr9QyiQgdilaey3v8AsPdk8FpmtDWhrQAAMADgvUSyk2Vp0o01lrz4mXv2bbqe2XTb1UhMMnIcM+R\/lWoVPqi2m52SVjBmWL1rABkkgbvEKewXH8Us1PUk5k6PRk\/xDYfPf4pnnFMlT9FaUeea\/DLFeEgDJOAFUXnUdNaninbG+oq3DsQsHlk\/bKqxar7qHt3WpNFTHaKeMbSPeM\/PPcsUMrvIaddJ4YK7\/dWWFfq22UjjFC91XPuEcIyM9+7yyq40+o9RH+0u\/DKM\/uwCHuHvG8+OB7lfW2y0FqZikgDXYwZHbXHxXetxKO6hfBqVP5ZZcl86lda7HQWhmKWHtkYdK85c7x4eCsURI23mzojGMVaKsgiIsGCIiAKTV85g05UYG2QtZ3ZO34LqsEXUWChZjHqWuI7xn6qm1\/KW2qniH558nwafutLTR9TSxRfwMDfIKjygjkjntMuiRKiIpnWEREAZnTwbRalvFva0BhcJWDYMDl3dof6K0yzlbWWWx3apuUlS+WrnYGGFhDiMY8tw3lQGu1HfWAUNK23Uzx+2kd2iPdsz5DxVXFyzOKnVjSThq7vJZ5XNBXXKitsfWVlQyEHcDtJ7gNpVBLqa4XMmKw26R4zg1ErcNHdw8z4LooNG2+A9bWl9dOTlzpCcZ7uPjlX7GMjYGRtDGtGA1owAsvGOmY+GtU3nhXTN+5mWaUqbhKyovtxfUuH7mPY0eP2AWhpKKloYuqpYGQs5NGM9\/NTolcm9StOjCnmlnz4hERKVCIiACyMbnaSvro5NlrrndJpA2RO5eHyxyWuXJcrdBdKGSlnHZcNjuLTwITxlbJ6EK1NySlHeWn71JhBAZ\/SREwylvREmBnHLKlWSt92n03UNtF4yYBsgqQNmOXd8lrGuDmhzSCCMgjislFo2lVjNZZPij1ERKWCIiACIiACIiAMprQOlrLPTjaJJiMczlo+q1ay9\/Ak1ZZWOGwOLh35\/RWl01FbrSC2ebpyj91Htd48vFVabUUjjhKMalScnZXX4LNzg1pc4gADJJ4LhF7thpX1QrYupY4tLulx5Dn4LJVdVftWerpaV9PRHmei13e4+13BWdu0NRwNa6vlfUvG3oNPRYPqUYIxXqYq2ipUl9KOXN5Es2sYZZDDaaKor5RxawhuOfP4BQm26lvQcLhVtt9O79zEASR4H5nwWlgpoKWMR08LImD8rGgBSrMaW6ingSn\/JK\/RZL5Km3aatdta3oU4lkbt6yXtHPMcB4K2REjbepeEIwVoqwREWDhERABERABERABERAHPW0NPcaV1NVRiSN3PeDzHIrMt\/F9JE5DrhbAOeHRDPw+XctciaMrZcCNSipvEnZ8\/3Urbbf7bdWj0eoDZOMUnZePDj4ZVkqiu0taK7pOdSiJ7t74eyft8FXDS1yoh\/sy+zMaN0cgJaPjjgOCa0HoyeOvHejft8M1CLL9TrOBvRFRSVGBv2fYL30rWbBn8Po5M8OkNn84Rg6o3zHOEvY06LMmo1k8Aiko4+kNoyOz\/Me9fP4dq2rPr7pBTsO8RDaPIfVZg6oPMN6Qft8mllmigYZJpGRsH5nuACo7hrK1UXZie6qfjdF7PiftlQR6Lgle2S419TWPA\/M7A9+\/J5+a+n6It0leJuk5tM0ACnZszjm7OTnz96ZKmtWTnLaZL0RS\/spHXG+apmDKSmjiZGf2jW4LO952+WFe2nRtFQuE1WfTJ9\/bHYB7uPir6CCGmiEUETIo27msGAFIiVR6RyRtPZUniqPFI8AAGAMAL1EUjsCIiACIiACIiACIiACIiACIiAP\/\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "VICTOR ROMERO",
    "correoContacto": "romerov@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCION INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "981529732",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28727\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:22",
    "ubicacionGPS": "LatLng(lat: -23.66184, lng: -70.4000478)",
    "horaLlegada": "15:35",
    "horaDespacho": "16:21",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


22/05/2026 16:22:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[22/05/2026 16:22: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('76050301', 'KY2304', 1, 95585912, 0, NOW(), 
				'16:21', '15:35', '16:22', 10, 'se realiza entrega de insumos ', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779481344.png', 'se realiza entrega de insumos ', null, 'COMPLETADO','LatLng(lat: -23.66184, lng: -70.4000478)' )
				
[22/05/2026 16:22:24] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200397
[22/05/2026 16:22:24] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200397', 'KYO-I647', 1)
				
[22/05/2026 16:22:24] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28727 and
				    IDproducto = 'KYO-I647'
				

22/05/2026 16:22:24 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
22/05/2026 16:22:24 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200397'                    
				WHERE idllamado = 12274			
				TO ENVIO: micorreo@miempresa.cl, romerov@berliam.cl


22/05/2026 16:22:24 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12274			
				
22/05/2026 16:22:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


22/05/2026 16:22:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16:22:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16:22:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16:22:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

[22/05/2026 16:22:27] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12274
                

[22/05/2026 16:22:27] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16:22:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16:22:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

[22/05/2026 16:22:27] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 16:22:27] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12274
                

[22/05/2026 16:22:27] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12274
                

22/05/2026 16:22:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

[22/05/2026 16:22:27] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16: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 = 12274
                

22/05/2026 16:22:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12274
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12274
                

22/05/2026 16:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12274
                

22/05/2026 16:22:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:22:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

[22/05/2026 16:22:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 16:22:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

[22/05/2026 16:22:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

[22/05/2026 16:22:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

[22/05/2026 16:22:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

[22/05/2026 16:22:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

[22/05/2026 16:22:32] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

[22/05/2026 16:22:32] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:22:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

[22/05/2026 16:22:33] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

[22/05/2026 16:22:33] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

[22/05/2026 16:22:33] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

[22/05/2026 16:22:33] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:22:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12375
            GROUP BY l.idllamado;
            

22/05/2026 16:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12375
                

22/05/2026 16:22:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

22/05/2026 16:22:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

22/05/2026 16:22:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

22/05/2026 16:22:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

[22/05/2026 16:22:33] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 16:22:33] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12669
                

22/05/2026 16:22:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

22/05/2026 16:22:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

22/05/2026 16:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12669
                

22/05/2026 16:22:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

22/05/2026 16:22:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

22/05/2026 16:22:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

22/05/2026 16:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12669
                

[22/05/2026 16:22:33] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12669
                

22/05/2026 16:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

[22/05/2026 16:22:34] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 16:22:34] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12669
                

22/05/2026 16:22:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

22/05/2026 16:22:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

[22/05/2026 16:22:34] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

[22/05/2026 16:22:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

[22/05/2026 16:22:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12669
                

[22/05/2026 16:22:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 16:22:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12669
                

22/05/2026 16:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

[22/05/2026 16:22:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

22/05/2026 16:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

[22/05/2026 16:22:50] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

22/05/2026 16:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

22/05/2026 16:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

22/05/2026 16: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 = 12669
                

[22/05/2026 16:22:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

22/05/2026 16:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

22/05/2026 16:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

[22/05/2026 16:22:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

[22/05/2026 16:22:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12670
                

22/05/2026 16:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

22/05/2026 16:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12670
                

22/05/2026 16:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

22/05/2026 16:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12670
                

[22/05/2026 16:22:53] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

22/05/2026 16:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

[22/05/2026 16:22:54] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12670
                

22/05/2026 16:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

[22/05/2026 16:22:54] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

[22/05/2026 16:23:06] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 16:23:06] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

22/05/2026 16: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 = 12670
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12670
            GROUP BY l.idllamado;
            

[22/05/2026 16:23:06] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12670
                

[22/05/2026 16:23:06] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12670
                

[22/05/2026 16:23:06] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[22/05/2026 16:23:06] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

22/05/2026 16: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 = 12670
                

[22/05/2026 16: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;
                

22/05/2026 16:34:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[22/05/2026 16: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;
                

22/05/2026 16:34:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

22/05/2026 16:34:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[22/05/2026 16: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;
                

22/05/2026 16:34:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

22/05/2026 16:34:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

22/05/2026 16:34:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[22/05/2026 16: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;
                

22/05/2026 16:34:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

22/05/2026 16:34:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

22/05/2026 16:34:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

22/05/2026 16:34:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

22/05/2026 16:34:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

22/05/2026 16:34:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

22/05/2026 16:34:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

22/05/2026 16: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 = 12321
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[22/05/2026 16: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;
                

22/05/2026 16: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 = 12321
                

22/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[22/05/2026 16: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;
                

[22/05/2026 16: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;
                

22/05/2026 16: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 = 12321
                

22/05/2026 16: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 = 12321
                

22/05/2026 16:34:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

22/05/2026 16:34:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[22/05/2026 16: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;
                

22/05/2026 16:34:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

22/05/2026 16:34:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

22/05/2026 16:34:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

22/05/2026 16:34:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

22/05/2026 16:34:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[22/05/2026 16: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;
                

[22/05/2026 16: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;
                

22/05/2026 16:34:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

22/05/2026 16:34:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

22/05/2026 16:34:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

22/05/2026 16:34:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

22/05/2026 16:34:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

22/05/2026 16:34:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

22/05/2026 16:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

22/05/2026 16:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

22/05/2026 16:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

22/05/2026 16:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

[22/05/2026 16: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;
                

[22/05/2026 16: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;
                

22/05/2026 16:34:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

22/05/2026 16:34:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

22/05/2026 16:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

22/05/2026 16:34:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

22/05/2026 16:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

22/05/2026 16:34:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[22/05/2026 16: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;
                

22/05/2026 16:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

22/05/2026 16:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

22/05/2026 16:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

22/05/2026 16:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

22/05/2026 16:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                

22/05/2026 16:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12624
                
[25/05/2026 07:02:38] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[25/05/2026 07:02:38] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 07:02: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;
                
[25/05/2026 07:02: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;
                
[25/05/2026 07:02: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;
				

[25/05/2026 08:56: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;
                
[25/05/2026 08:56: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;
				
[25/05/2026 08:56: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;
                

[25/05/2026 08:56:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 08:58: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;
				
[25/05/2026 08:58: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;
                
[25/05/2026 08:58: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;
				
[25/05/2026 08:58: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;
                

[25/05/2026 08: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;
                

[25/05/2026 08:58: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;
                
[25/05/2026 08:58:09] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' 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;
				
[25/05/2026 08:58:09] 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;
                

[25/05/2026 09:02: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;
                
[25/05/2026 09:02:46] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 09:02:46] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 09:02: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;
                
[25/05/2026 09:02:53] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[25/05/2026 09:02:53] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 09: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;
                
[25/05/2026 09:03:46] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 09:03:46] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 09:03: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;
                
[25/05/2026 09:04: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;
                
[25/05/2026 09:04: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;
				

[25/05/2026 09:04: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;
                

[25/05/2026 09:05: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;
                
[25/05/2026 09:05: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;
				
[25/05/2026 09:05: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;
                

[25/05/2026 09:05: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;
                
[25/05/2026 09:05:18] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 09:05:18] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 09:05: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;
                
[25/05/2026 09:05:25] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 09:05:25] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 09:05: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;
                
[25/05/2026 09:05:45] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 09:05:45] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 09:05:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 09:05:52] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[25/05/2026 09:05:52] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 09:05: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;
                
[25/05/2026 09:06:46] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[25/05/2026 09:06:46] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 09:06: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;
                
[25/05/2026 09:06: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;
                
[25/05/2026 09:06: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;
				

[25/05/2026 09:06:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 09:07:19] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 09:07:19] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 09: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;
                
[25/05/2026 09:07: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;
                
[25/05/2026 09:07: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;
				

[25/05/2026 09:07: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;
                
[25/05/2026 09:07: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;
                
[25/05/2026 09:07: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;
				

[25/05/2026 09: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;
                
[25/05/2026 09:07: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;
				
[25/05/2026 09:07: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;
                

[25/05/2026 09:07:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 09:07: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;
				
[25/05/2026 09:07: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;
                

[25/05/2026 09:07: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;
                
[25/05/2026 09:08: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;
				
[25/05/2026 09:08: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;
                

[25/05/2026 09:08:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 09:08:42] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 09:08:42] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 09:08:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 09:09:59] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 09:09:59] 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;
                

[25/05/2026 09:09: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;
                
[25/05/2026 09:10:06] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[25/05/2026 09:10: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;
				

[25/05/2026 09:10: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;
                
[25/05/2026 09:10: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;
                
[25/05/2026 09:10: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;
				

[25/05/2026 09:10: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;
                
[25/05/2026 09:10:46] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 09:10:46] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/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;
                

[25/05/2026 09:10: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;
                
[25/05/2026 09:10: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;
                
[25/05/2026 09:10: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;
				
[25/05/2026 09:11:09] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' 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;
				
[25/05/2026 09:11:09] 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;
                

[25/05/2026 09:11:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 09:11: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 09:11:12] 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;
                

[25/05/2026 09:11:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 09:11:17] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 09:11:17] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 09:11: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;
                
[25/05/2026 09:11:25] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 09:11:25] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 09:11: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;
                
[25/05/2026 09:11:33] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[25/05/2026 09:11:33] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 09:11: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;
                
[25/05/2026 09:11:59] 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;
                
[25/05/2026 09:11:59] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 09:12: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;
                
[25/05/2026 09:12:03] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 09:12:03] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 09:12: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;
                
[25/05/2026 09:12: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;
				
[25/05/2026 09:12: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;
                

[25/05/2026 09:12:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 09:12: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;
				
[25/05/2026 09:12: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;
                

[25/05/2026 09: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;
                

25/05/2026 09:12:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:12:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

[25/05/2026 09: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;
                

[25/05/2026 09: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;
                

[25/05/2026 09: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;
                

25/05/2026 09:12:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:12:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:12:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09:12:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:12:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

[25/05/2026 09:12: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;
                

25/05/2026 09:12:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

[25/05/2026 09:12: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;
                

[25/05/2026 09:12: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;
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09:12:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09:12:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 09:12:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 09:12:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[25/05/2026 09:12: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;
                

25/05/2026 09: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 = 12321
                

25/05/2026 09:12:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[25/05/2026 09:12: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;
                

[25/05/2026 09:12: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;
                

25/05/2026 09: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 = 12321
                

25/05/2026 09:12:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12321
                

25/05/2026 09: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 = 12321
                

25/05/2026 09: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 = 12321
                

25/05/2026 09: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 = 12321
                

25/05/2026 09: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 = 12321
                

25/05/2026 09: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 = 12321
                

[25/05/2026 09:12: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;
                

25/05/2026 09:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[25/05/2026 09:12: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;
                

25/05/2026 09:12:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[25/05/2026 09:12: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;
                

25/05/2026 09:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 09:12:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 09:12:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 09:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 09:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 09:12:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 09:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 09:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 09:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 09:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[25/05/2026 09:12: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;
                

[25/05/2026 09:12: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;
                

25/05/2026 09:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:12:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:12:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:12:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:12:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:12:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:12:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

[25/05/2026 09:12: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;
                

25/05/2026 09:12:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:12:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:12:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:12:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:12:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

[25/05/2026 09:12: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;
                

25/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

[25/05/2026 09:12: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;
                

25/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

[25/05/2026 09:12: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;
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

[25/05/2026 09:12: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;
                

25/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

[25/05/2026 09:12: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;
                

25/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12679
                

25/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

[25/05/2026 09:12: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;
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

[25/05/2026 09: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;
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

[25/05/2026 09: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;
                

[25/05/2026 09: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;
                

25/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12679
                

25/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                
[25/05/2026 09:13: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;
                
[25/05/2026 09:13: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;
				

[25/05/2026 09:13: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;
                

25/05/2026 09:14:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:14:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:14:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:14:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

[25/05/2026 09:14: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;
                

[25/05/2026 09:14: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;
                

25/05/2026 09:14:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:14:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

[25/05/2026 09:14: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;
                

25/05/2026 09:14:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:14:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:14:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:14:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:14:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:14:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:14:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:14:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

[25/05/2026 09:14: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;
                

25/05/2026 09:14:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

[25/05/2026 09:14: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;
                

25/05/2026 09:14:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

[25/05/2026 09:14: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;
                

25/05/2026 09:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:14:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:14:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:14:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:15:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:15:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09:15:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

[25/05/2026 09:15: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;
                

25/05/2026 09:15:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12679
                

25/05/2026 09:15:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

[25/05/2026 09:15: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;
                

25/05/2026 09:15:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

[25/05/2026 09:15: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;
                

25/05/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 = 12679
                

25/05/2026 09:15:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/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 = 12679
                

25/05/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 = 12679
                

25/05/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 = 12679
                

25/05/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 = 12679
                

25/05/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 = 12679
                

25/05/2026 09:15:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12679
                

[25/05/2026 09:15:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 09: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 = 12679
                

25/05/2026 09:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

[25/05/2026 09:15: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;
                

25/05/2026 09:15:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:15:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

[25/05/2026 09:15: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;
                

25/05/2026 09:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09:19:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:19:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:19:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:19:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:19:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:19:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:19:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:19:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09:19:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09:19:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09:19:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09:19:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09:19:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:20:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:20:12 - logentry: =========================================
FECHA: 25/05/2026 09:20:12
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ud-v+C.pXBvTSF40oPo1iduELapirIoyZEQVs6lCsboloj55E4z
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2557",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "217055",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12679",
    "observacion": "entrega de insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADaAP8DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABJEAABAwMCAgYIAgYHBQkAAAABAAIDBAURBiESMRNBUWFxkRQiMoGhscHRFSMHJDNCQ+EWUnKSwtLwJVSCk7I0NTZiY3Oi4vH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIDBQUHBQEAAAAAAAAAAQIDERIhMQQTQVFhIjJxodEjQoGRscHhFDNy8PFi\/9oADAMBAAIRAxEAPwD+zLMvN8prPE3jzJPIcRws3c7vx2LsrKqOio5aqU+pE0uKntLW01hdfrg0PqZ3kxZGA0cs4\/1sApxStdmerOWJU4avyQZTasuPFLNVxW9jvZjaASPLJ8yvv4bqqkIkhusNSRzjlGAfh9QqdExvkc\/TLjJ38SYi1bLR1Apr7QPo3nlIwEtPacdngSqKnqYKuETU0zJYzycw5CVFNBVwmGphZLGebXjIU3UaVnt85rLBVPhkByad7vVf3Z7O458V3sy6EfbUv+l5\/kqUWLZNQNuDzR1bPR7hHnjiIwDjsytpQaadmaITjOOKIREXCYREQBERAEREAREQBERAEREAREQBERAEREAREQBERATOuJC630tG13CaioAz3AfchUcMTIIWQxjhZG0NaOwDYKbuxNbrO2UgyWU4MruoA8\/8LfMKnU5ZRSM1LtVZy8F8v9CIigaQiIgMS\/2AXINq6R3Q18O8cgOOLHUfulgv34iHUdYOhuEHqyMO3FjmR9ltrCv9gNeW11C7obhDux4OOPHUe\/vViaawsy1IShLeU\/iuf5N1FjadvZu1O+OoaI6ynPDKzt78LZUGmnZl8JxnFSjoERFwmEREAREQBERAEREAREQBERAEREAREQBERAEREBMRfmfpEn\/9KmHLwbz81TqYtf5uu7rN\/ViDP+kf4VTqc+HgZtm0k+rCIigaQiIgCIiAltQUc9puLNQ29nFw+rUxj94dv39xVBQV0Fyo46qndxMePeD1groc0OaWuAIIwQetSRjOldRxmMltsrjgtJ2Y76Y292exWLtq3EyS9hPEu69ej5+pXIiKs1hERAEREAREQBERAEREAREQBERAEREAREQBERATFj\/8YXn3fNU6mbU4t1zdYyTvEDg\/8P3+KplOepm2buPxf1CIigaQiIgCIiALPvdsZd7XLSuA48cUZP7rxyP0960EXU7O5GUVKLi9GYWlbq6vtxpqgn0qkPRyh3M9h+GD3hbqlLiw2LVdPcmDFNXHo5t8AOOMk\/A+4qrUppXuuJTs8nZwlrHL0CIigaAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICYf8Aqn6Q2HkKymxnwH\/0Cp1ManIpb7Zq7OAJeB7uW2R1+BKp1OeiZmoZSnHrf5hERQNIREQBERAEREBlajtoullmhH7Rg6SP+0PuMj3r86ZuIuVkhe5\/FLGOjkzzyPuMFa6lbaBZtYVVvDQ2CtaJIhnkcE7d2eIeSsWcWjLU7FWM+Dyf2KpERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAn9a0xmsDpW+1TyNkB+H1Wxb6oVtvp6ofxY2ux2EjcL7W04q6GemP8WNzPMYWLomoM1gETjvBK5mOsdf1VmsPAzd3aP5L6f6UKIirNIREQBERAEREAUvq0GirrZd25Agl4JCAc8PP\/N5qoWVqWjFbYKqPGXMZ0jT2Fu\/yyPepwdpIo2iLlSdtdfkagIIyDkFfVlabrfT7DSyl2Xtb0b998t2+x961VFqzsWwkpxUlxCIi4SCIiAIiICSr6u81eo6ijoatsDqVgfHE7Zs3Inn17+G3Na2nr2LvTObK3o6uA8M0eMe8BfbvYKe6ubM2R9NVMGGTR8x8RlS1bQ3vTtey8SyR1QaQ10g\/eB2w7bPv36lelGatxPNk6tCbm7uPHw+1i\/RS8WuqMNaaqiqoC4ZGAHA+\/b5LpbrSyOGTPI3uMRVe7lyNS2qi\/eRvosL+mdj\/wB5f\/ynfZeMuurPGcNbUS97Ix9SE3cuQe00V7yKNFLnVFyrfVtVkmfkbSTAhv27etBQ6trjme4Q0bD+7GASPIfVdwNauxz9TF9xN\/D1KZ72RsL5HBjWjJc44AWJW6wtNG\/o2SuqX9kA4h58lzDRxqN7ld6uq6+EHAz78raobTQW1oFJSxxkDHGBlx8TzTsLqL156JR8czE\/pZXT\/wDY9P1UrTye7IHwB+a7LNqF9wrZaGro3UlVGOLoyScjGezb+YTUN\/ZaYRBTjpa6baKMDOM9ZHyHWv1p+zSW6GSprHmWuqTxTPJzjuXXhw3sVRdTeqKne2uSt\/psqW09\/s7Ut1tjgAHu6aPA2xz+Th5KpUvqI\/h2orVdWjDS7oZT1Y\/\/ABx8lyGd1zLdo7OGpyfk8ioREVZpCIiAIiIAiIgC+EAjBGQV9RATGjD0JudACeGmqNs9Wcj\/AAqnUxYgINYXmAD28SfHP+JU6nU71zNsuVK3JteYREUDSEREAREQBc9wpG19vnpH4xKwtyRnB6j7juuhEONJqzJvSNa+SkmtNWPz6Jxbwu625+h28ltut1C85dR07j3xNP0WBUE27XkEgJbFXxcLuwuAwPiG+aqFZPW64mbZ84uEs8Lt6HL+GW\/\/AHGm\/wCU37L2jp4IQBFDGzHLhaAvRFC7NCjFaIIiLhILEv2oBbOGlpWdPXzYEcQGcZ6z9l+L5qNtFL6BQM9IuEmA1jdwwnt7+5fuxWEW\/irKx3T3Cbd8jt+HPUPurEkleRlnUlOW7p\/F8vyedi06+kndcrlJ6RXy75O4jz2d\/V8lvoihKTk7sup04044YhYmrqE1tgmLG8UkBErQB2c\/gSttfHAOaWncEYKRdnc7UgpwcXxOGyV34jZ6aqyS5zMPzz4hsfiF3qW0u42263CxvBAjeZYiTzbsPkWnzVSuzVmV0JudNN66PxQREUS8IiIAiIgCIiAmIB0X6Q6jH8WlGfJv+VU6mIAZf0h1JxkQ0w92Q37qnU58PAzbPpL+TCIigaQiIgCyv6Q0IvX4U4ubNjHERhvF1N8cLVUNrehcLzR1EZbGZ28HGTjDgeZPVsRv3KdOKk7MzbTUnShjjzLlFi6cvTrlA6mqmmOupvVlYRgnqz91tKLTTsy6nONSKlEmtbRPZRUlwiJElJOCCOoHr8wFRQysnhZNGcskaHNPcd1nakiE2na1ruQiLvLf6JpuR0unaJziCRFw7dg2HyUnnBFMeztElzSfyyNREXxzg1pc4gADJJ6lA0n1TV11DNU1RtNjb01S7Z8w9mMdeD3dv1XhW3is1DVPtdlBZBymqzkbdeO74lb1qtFJZ6UQ0zNz7ch9p57\/ALKyyjm9TI5yrPDTdo8X6epz2TT9NZ4+P9tVPH5kzuZzzA7lrIig227s0QhGEcMVkERFwmEREBK6lBtN7oL5HHlgPRzkdYxjzwT5BVLXBzQ5pBBGQR1rjvFALnaqik24pG+qT1OG4+IWbpG4vq7WaWfIqKI9E8Hnjq+RHuVjzjfkZY+zrOPCWfx4m+iIqzUEREAREQBEXwkAZJwAgJizDpda3ecnJY0Mz5f5VUKY0aHVMlzuRG1TUeqfDJ2\/vBUVU176SZsZw8scGnGcHGysn3rGXZv2sXNt+Z6ooHRt4dT3J1vnd+VUHDMgAh45fAYx4K+XJwcXYns9dVoYkZ95u0dmofSpInyDiDQGjt7ezrXvQV0Nxoo6qA5Y\/PuIOD8V5Xm3NutrmpHc3DLDnk4bhSWjbq6huElpqcsbK8hrXDdkg2wfLHiuqKcG1qiudaVOuoy7r+pdrH1TQsrrDUcQ9eEdKw9hHP4ZWwvxLG2aJ8Txlr2lrh3FQTs7mipBTg4viRz6WqqLbRakt5\/XI4\/1gA\/tg3YnvO2\/8lRWe+Ul6p+OAlkjR68TubfuO9Zmh5Hi11FLIfXp5yOEncZA6urfK9rnprpao19qnFDWYOS0Ya\/xxyz24KtlZvCzFRU1BVIZ31XXmup33\/8A7grv\/Yd8l4aWBGm6MEYIa7\/qKy6iDVlxgdb6mGligkwJJ24JIzvtn6DktqSoodO2mMTScEUTQxo3JcewBRatHCWRliquo1ZJWzy4nbPPFTQvmnkbHGwZc5xwApOWpuGr6h1PR8dNamnEkpGDJjmPjy80io6\/V1Q2rrS+mtjTmKEHBkHb\/PyVZBBFTQshgjbHGwYa1owAu5Q8R2to6Q83+DzoqGnt1K2mpYxHG3s5k9p7SuhEVRrSSVkEREOhERAF+JozLC+MPcwvaW8TTgtz1hftEBOaWrZoX1Fmr3u9Kp3lzC8nMjT1jPPt8Cua8Ml09fWXqBpdS1J4Klg6j2\/Xx8V16ltMz3x3i37VlJvwhuekaPn1+IXVQ1lLqaxva7H5jOCZg5sd\/rcK6\/vcOJ5+F23Leazi\/wC\/JmpFKyaJksbg5j2hzXDrB5FftTGl6qSgqZ9P1jvzYCXQu6ntO+3z957FTquUbOxrpVN5DFx4+IREUS0IiIAsvUlb6BYaqUHDnM6Nm3W7b+a1FK3s\/jmoKWyxnMMB6aoI3xjq59+OXMqcFdlG0TcabS1eS+Jq6Zo\/QrBSxkEPe3pHZ7Xb\/LC1URRbu7lsIqEVFcD+cVlD0NVeIo29HPRzCphIG4ZnfGO5zT7leWqsFwtdNV5BMsYLscg7rHnlT11YKLWMM0zSaa4xejuOeRPq+791eujpZKYVlnnx0lLKSN+YPPbszv71dPtRuebs\/sqzjzuvuvJlOonWVtfRV0N6pQG+u3jwOTxuHfD4d6tl41VNDWU0lNOzjikGHBVwlhdzbtFHewcePA8bXcI7pboqyLYPHrN\/qkcwuxQ9nrmaWvdVaat2YHvaWyk44cjYkeBGfBW7XBzQ5pBBGQR1pOOF9Dmz1d5HPvLUmdPj0fVF5phs1zxJjxOdv73yVOpexuNTrC71TRhjQI9hscEDP\/wK7r7qBls4aWmZ09dNtHE0ZxnkT9lKSblZFdGpGFJyel39T3vV8prLTh0v5kz\/ANnC07vP0Hesm3WWpvNSLrfhnP7GlOzWt7x9PNdFksMwqDdbw7p65+7Wu3EX8\/kqFcbUconYwlWeKppwXr6HwAAYAwAvqLhuF5t9rA9MqWRuPJnNx9w3UEm9DTKSirydkdyKbo9S1t1uDGW22F1IHYkmlONus9nu3VIuuLjqRp1Y1FeIREUSwIuavoYblRSUk5eI5MZ4HYPPK9oo2wxMiZnhY0NGTnYIczv0P2iIh0KSu1BV6euD71am8VO85qaccu8+Hy8FWr45oc0tcAQRgg9alGWFlVWkqi5NaMmbvSxX+2Q3i0u\/XIMOaWe0cblp7x1fzWpYbxHebcycECVvqysz7LvsVkVNBXabrnV1phM9FJvNSg44cDmPusn8XhguRvNoLgyTerojse9w6iO\/q96tw4lZf3oYd7uqmKWT4rn1X3P6Ai56GtguNIyqpn8UbxnvB7D3roVB6Saaugi+EgDJOAFh3TVdDRjoaQitqicNji3Ge8j5DddUW9CM6kKavJ2O283VlpoXTYEkztoos7vd3eHMrh0rbJqWkfXVji+rrSHuc7mG42B79\/l2Lntenqiqq23W+ydNUH1mQH2Y+zP2+aplNtRWFFEIyqT3k1ZLRfdhERVmow9X0L62xvdH7dO4TDA3wAc49x+Cx7Dco6jVxnac+nUwyOWHgDO3ix3mFZkAjBGQVB0VA20\/pAip2giLic6P+y5hx5Zx7ldB3i0edtMXGrCa0bV\/78y9REVJ6JI6po4JNR2x1S0GGoBhfgY68A5\/4vgul2lq2ke42q8TwMcMdHIeIDswvmtyY6ShnGA5lSMPx7Ox+3wX5ud8q7nVutVg9Z42lqR7LfA\/XyV6xOKseZNUo1J4lnla2uaOV1UzTofabSXVtyqZCXuO\/Aer39fnnbZa9i0+LdxVdY\/0ivl3fK454e4E\/Ne1ksNNZYDwfmVDx+ZMRu7uHYF03C6UVrh6WsnEYPst5ud4BRlK+US6nSUEp1MraLgvz1OxZd01FbrSC2ebjlH8KPd3v7PesY1t71P6lvYbfQ53ncfWf4fy81qWzTFutxEjo\/SajOTNLuSe0DkPmuYVHvE97Op+0sub+yMsVGo9RH9Wb+GUZ\/iEkPcO48z7sDvWhQ6SttJJ084fWT5yXznIz4ffK3UXHN6LI7HZ43xT7T6+h8AAGAMAL6iKBpCIiAIiIAiIgCIiALGu+l7fd3dI9pgm65IgAXf2tt1souptO6ITpxmsMldEDV0N30cRNSVfSUspAe4RjGe9pzjxBWpBLq6sgZLDPRdHI0Oa8Y3HkqaaGOohfDMwPjeMOa4bEKSjmn0bcjBNxy2mod6j+ZjP+urr59yuUsS0zPPnR3Mu81Do9PwdH9FK+vLXXm8STNyCYo\/Z92dvgtu3WagtbcUlO1rsYMh3cfeuuKWOaJssTw9jxlrmnIIX7VbnJ5GynQpweJLPnqERFAvCIiAKM1rJJTXe21NOOKeMFwGM+yQR7uas1MXQCq1zbYBgiKIvd149rY+Q81ZTylcybWsVPCuLX1Nu1XKK7W+Orh24hhzf6rusLqc5rGF73BrWjJJOAApWooarSlW6vtwdNb3kmeAn2O8fTy3WfdtRx32UUrZzRW4AGZzxl7+7Az8PEru7u7rQg9q3cbVF2vr18D8aqvpu0boKSLioqeQF05HtPwQMd3NVNKy16btUYfJHAwtBc93tSOxv3k9wUjU1gvcdPYrLRmKnY7iy7m7\/AMzscufNUNDpCASCpus76+owNnk8A7u0\/LuU5JKKTyM9CVSVSU4rE+fBHi\/UNzvDzDYaItZnBqphsPAcvn4Lot+k4Y6j0y6TGvqicnj9gHw6\/ft3LfYxkbAyNoY1owGtGAF+lVj4RyNq2e7xVHifl8j4AAMAYAX1EUDSEREAREQBERAEREAREQBERAEREAXjV0kFdTPpqmMSRPGCCvZEONJqzI2GWs0bWdBUCSotMrvUkAyYyfr3dfMdaroJ4qmFk0EjZI3jLXNOQUmhjqIXwzMD43jDmuGxClqi1XHTM76yy5npHDM1M85x3jt+firMp+JktLZ9M4+a9UVqLOtF7o7zDx0z8SNHrxO2c37+IWioNNOzNUZRmsUXdBERcJBS9mP4hrG51x9ZkDREwjlzxkf3T5ravFe22Wqoqi7DmMIZ3uOw+K4tJ0LqOyMfK0iaocZXlwOd+Wc93zVkcotmap26sYcs\/sjZkjbLG6N4y1wwRnGQp5+hrQ5hAdUNdkniDx8sYVGiipNaFs6UKnfVzOtVjobPGW0sZL3DDpH4LiPFaKIuNt5slGMYK0VZBERcJBERAEREAREQBERAEREAREQBERAEREAREQBERAYV00rS1k\/pdJI6iqxuHxbAnfc4689YXG6t1PZifSqVlyp2D9pHs7Hfjfx296qUU1N6PMzy2eN8UHhfT0J2HW1qfgVDZ6Z+cEPjzjyXrUaxs0MRdFO6okx6sccbsnzAAWvNR0tT+3popc\/12B3zXNRW+ihkkkio4I3teQHNiaCBttnCnaLV7FDqVlLBiXjb8mFT2+46kroqy7wej0cW8dMcji7z9c4VW1oa0NaAABgAdS+oq5SuaqVJU78W9WERFEtCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "COMPLEJO EDUCATIVO CARACOLES",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28745\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28745\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28745\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"BRO-R615\",\"id_control\":\"28745\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "09:20",
    "ubicacionGPS": "LatLng(lat: -22.8914419, lng: -69.3202934)",
    "horaLlegada": "09:12",
    "horaDespacho": "15:57",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 09:20:12
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ud-v+C.pXBvTSF40oPo1iduELapirIoyZEQVs6lCsboloj55E4z
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2557",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "217055",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12679",
    "observacion": "entrega de insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADaAP8DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABJEAABAwMCAgYIAgYHBQkAAAABAAIDBAURBiESMRNBUWFxkRQiMoGhscHRFSMHJDNCQ+EWUnKSwtLwJVSCk7I0NTZiY3Oi4vH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIDBQUHBQEAAAAAAAAAAQIDERIhMQQTQVFhIjJxodEjQoGRscHhFDNy8PFi\/9oADAMBAAIRAxEAPwD+zLMvN8prPE3jzJPIcRws3c7vx2LsrKqOio5aqU+pE0uKntLW01hdfrg0PqZ3kxZGA0cs4\/1sApxStdmerOWJU4avyQZTasuPFLNVxW9jvZjaASPLJ8yvv4bqqkIkhusNSRzjlGAfh9QqdExvkc\/TLjJ38SYi1bLR1Apr7QPo3nlIwEtPacdngSqKnqYKuETU0zJYzycw5CVFNBVwmGphZLGebXjIU3UaVnt85rLBVPhkByad7vVf3Z7O458V3sy6EfbUv+l5\/kqUWLZNQNuDzR1bPR7hHnjiIwDjsytpQaadmaITjOOKIREXCYREQBERAEREAREQBERAEREAREQBERAEREAREQBERATOuJC630tG13CaioAz3AfchUcMTIIWQxjhZG0NaOwDYKbuxNbrO2UgyWU4MruoA8\/8LfMKnU5ZRSM1LtVZy8F8v9CIigaQiIgMS\/2AXINq6R3Q18O8cgOOLHUfulgv34iHUdYOhuEHqyMO3FjmR9ltrCv9gNeW11C7obhDux4OOPHUe\/vViaawsy1IShLeU\/iuf5N1FjadvZu1O+OoaI6ynPDKzt78LZUGmnZl8JxnFSjoERFwmEREAREQBERAEREAREQBERAEREAREQBERAEREBMRfmfpEn\/9KmHLwbz81TqYtf5uu7rN\/ViDP+kf4VTqc+HgZtm0k+rCIigaQiIgCIiAltQUc9puLNQ29nFw+rUxj94dv39xVBQV0Fyo46qndxMePeD1groc0OaWuAIIwQetSRjOldRxmMltsrjgtJ2Y76Y292exWLtq3EyS9hPEu69ej5+pXIiKs1hERAEREAREQBERAEREAREQBERAEREAREQBERATFj\/8YXn3fNU6mbU4t1zdYyTvEDg\/8P3+KplOepm2buPxf1CIigaQiIgCIiALPvdsZd7XLSuA48cUZP7rxyP0960EXU7O5GUVKLi9GYWlbq6vtxpqgn0qkPRyh3M9h+GD3hbqlLiw2LVdPcmDFNXHo5t8AOOMk\/A+4qrUppXuuJTs8nZwlrHL0CIigaAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICYf8Aqn6Q2HkKymxnwH\/0Cp1ManIpb7Zq7OAJeB7uW2R1+BKp1OeiZmoZSnHrf5hERQNIREQBERAEREBlajtoullmhH7Rg6SP+0PuMj3r86ZuIuVkhe5\/FLGOjkzzyPuMFa6lbaBZtYVVvDQ2CtaJIhnkcE7d2eIeSsWcWjLU7FWM+Dyf2KpERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAn9a0xmsDpW+1TyNkB+H1Wxb6oVtvp6ofxY2ux2EjcL7W04q6GemP8WNzPMYWLomoM1gETjvBK5mOsdf1VmsPAzd3aP5L6f6UKIirNIREQBERAEREAUvq0GirrZd25Agl4JCAc8PP\/N5qoWVqWjFbYKqPGXMZ0jT2Fu\/yyPepwdpIo2iLlSdtdfkagIIyDkFfVlabrfT7DSyl2Xtb0b998t2+x961VFqzsWwkpxUlxCIi4SCIiAIiICSr6u81eo6ijoatsDqVgfHE7Zs3Inn17+G3Na2nr2LvTObK3o6uA8M0eMe8BfbvYKe6ubM2R9NVMGGTR8x8RlS1bQ3vTtey8SyR1QaQ10g\/eB2w7bPv36lelGatxPNk6tCbm7uPHw+1i\/RS8WuqMNaaqiqoC4ZGAHA+\/b5LpbrSyOGTPI3uMRVe7lyNS2qi\/eRvosL+mdj\/wB5f\/ynfZeMuurPGcNbUS97Ix9SE3cuQe00V7yKNFLnVFyrfVtVkmfkbSTAhv27etBQ6trjme4Q0bD+7GASPIfVdwNauxz9TF9xN\/D1KZ72RsL5HBjWjJc44AWJW6wtNG\/o2SuqX9kA4h58lzDRxqN7ld6uq6+EHAz78raobTQW1oFJSxxkDHGBlx8TzTsLqL156JR8czE\/pZXT\/wDY9P1UrTye7IHwB+a7LNqF9wrZaGro3UlVGOLoyScjGezb+YTUN\/ZaYRBTjpa6baKMDOM9ZHyHWv1p+zSW6GSprHmWuqTxTPJzjuXXhw3sVRdTeqKne2uSt\/psqW09\/s7Ut1tjgAHu6aPA2xz+Th5KpUvqI\/h2orVdWjDS7oZT1Y\/\/ABx8lyGd1zLdo7OGpyfk8ioREVZpCIiAIiIAiIgC+EAjBGQV9RATGjD0JudACeGmqNs9Wcj\/AAqnUxYgINYXmAD28SfHP+JU6nU71zNsuVK3JteYREUDSEREAREQBc9wpG19vnpH4xKwtyRnB6j7juuhEONJqzJvSNa+SkmtNWPz6Jxbwu625+h28ltut1C85dR07j3xNP0WBUE27XkEgJbFXxcLuwuAwPiG+aqFZPW64mbZ84uEs8Lt6HL+GW\/\/AHGm\/wCU37L2jp4IQBFDGzHLhaAvRFC7NCjFaIIiLhILEv2oBbOGlpWdPXzYEcQGcZ6z9l+L5qNtFL6BQM9IuEmA1jdwwnt7+5fuxWEW\/irKx3T3Cbd8jt+HPUPurEkleRlnUlOW7p\/F8vyedi06+kndcrlJ6RXy75O4jz2d\/V8lvoihKTk7sup04044YhYmrqE1tgmLG8UkBErQB2c\/gSttfHAOaWncEYKRdnc7UgpwcXxOGyV34jZ6aqyS5zMPzz4hsfiF3qW0u42263CxvBAjeZYiTzbsPkWnzVSuzVmV0JudNN66PxQREUS8IiIAiIgCIiAmIB0X6Q6jH8WlGfJv+VU6mIAZf0h1JxkQ0w92Q37qnU58PAzbPpL+TCIigaQiIgCyv6Q0IvX4U4ubNjHERhvF1N8cLVUNrehcLzR1EZbGZ28HGTjDgeZPVsRv3KdOKk7MzbTUnShjjzLlFi6cvTrlA6mqmmOupvVlYRgnqz91tKLTTsy6nONSKlEmtbRPZRUlwiJElJOCCOoHr8wFRQysnhZNGcskaHNPcd1nakiE2na1ruQiLvLf6JpuR0unaJziCRFw7dg2HyUnnBFMeztElzSfyyNREXxzg1pc4gADJJ6lA0n1TV11DNU1RtNjb01S7Z8w9mMdeD3dv1XhW3is1DVPtdlBZBymqzkbdeO74lb1qtFJZ6UQ0zNz7ch9p57\/ALKyyjm9TI5yrPDTdo8X6epz2TT9NZ4+P9tVPH5kzuZzzA7lrIig227s0QhGEcMVkERFwmEREBK6lBtN7oL5HHlgPRzkdYxjzwT5BVLXBzQ5pBBGQR1rjvFALnaqik24pG+qT1OG4+IWbpG4vq7WaWfIqKI9E8Hnjq+RHuVjzjfkZY+zrOPCWfx4m+iIqzUEREAREQBEXwkAZJwAgJizDpda3ecnJY0Mz5f5VUKY0aHVMlzuRG1TUeqfDJ2\/vBUVU176SZsZw8scGnGcHGysn3rGXZv2sXNt+Z6ooHRt4dT3J1vnd+VUHDMgAh45fAYx4K+XJwcXYns9dVoYkZ95u0dmofSpInyDiDQGjt7ezrXvQV0Nxoo6qA5Y\/PuIOD8V5Xm3NutrmpHc3DLDnk4bhSWjbq6huElpqcsbK8hrXDdkg2wfLHiuqKcG1qiudaVOuoy7r+pdrH1TQsrrDUcQ9eEdKw9hHP4ZWwvxLG2aJ8Txlr2lrh3FQTs7mipBTg4viRz6WqqLbRakt5\/XI4\/1gA\/tg3YnvO2\/8lRWe+Ul6p+OAlkjR68TubfuO9Zmh5Hi11FLIfXp5yOEncZA6urfK9rnprpao19qnFDWYOS0Ya\/xxyz24KtlZvCzFRU1BVIZ31XXmup33\/8A7grv\/Yd8l4aWBGm6MEYIa7\/qKy6iDVlxgdb6mGligkwJJ24JIzvtn6DktqSoodO2mMTScEUTQxo3JcewBRatHCWRliquo1ZJWzy4nbPPFTQvmnkbHGwZc5xwApOWpuGr6h1PR8dNamnEkpGDJjmPjy80io6\/V1Q2rrS+mtjTmKEHBkHb\/PyVZBBFTQshgjbHGwYa1owAu5Q8R2to6Q83+DzoqGnt1K2mpYxHG3s5k9p7SuhEVRrSSVkEREOhERAF+JozLC+MPcwvaW8TTgtz1hftEBOaWrZoX1Fmr3u9Kp3lzC8nMjT1jPPt8Cua8Ml09fWXqBpdS1J4Klg6j2\/Xx8V16ltMz3x3i37VlJvwhuekaPn1+IXVQ1lLqaxva7H5jOCZg5sd\/rcK6\/vcOJ5+F23Leazi\/wC\/JmpFKyaJksbg5j2hzXDrB5FftTGl6qSgqZ9P1jvzYCXQu6ntO+3z957FTquUbOxrpVN5DFx4+IREUS0IiIAsvUlb6BYaqUHDnM6Nm3W7b+a1FK3s\/jmoKWyxnMMB6aoI3xjq59+OXMqcFdlG0TcabS1eS+Jq6Zo\/QrBSxkEPe3pHZ7Xb\/LC1URRbu7lsIqEVFcD+cVlD0NVeIo29HPRzCphIG4ZnfGO5zT7leWqsFwtdNV5BMsYLscg7rHnlT11YKLWMM0zSaa4xejuOeRPq+791eujpZKYVlnnx0lLKSN+YPPbszv71dPtRuebs\/sqzjzuvuvJlOonWVtfRV0N6pQG+u3jwOTxuHfD4d6tl41VNDWU0lNOzjikGHBVwlhdzbtFHewcePA8bXcI7pboqyLYPHrN\/qkcwuxQ9nrmaWvdVaat2YHvaWyk44cjYkeBGfBW7XBzQ5pBBGQR1pOOF9Dmz1d5HPvLUmdPj0fVF5phs1zxJjxOdv73yVOpexuNTrC71TRhjQI9hscEDP\/wK7r7qBls4aWmZ09dNtHE0ZxnkT9lKSblZFdGpGFJyel39T3vV8prLTh0v5kz\/ANnC07vP0Hesm3WWpvNSLrfhnP7GlOzWt7x9PNdFksMwqDdbw7p65+7Wu3EX8\/kqFcbUconYwlWeKppwXr6HwAAYAwAvqLhuF5t9rA9MqWRuPJnNx9w3UEm9DTKSirydkdyKbo9S1t1uDGW22F1IHYkmlONus9nu3VIuuLjqRp1Y1FeIREUSwIuavoYblRSUk5eI5MZ4HYPPK9oo2wxMiZnhY0NGTnYIczv0P2iIh0KSu1BV6euD71am8VO85qaccu8+Hy8FWr45oc0tcAQRgg9alGWFlVWkqi5NaMmbvSxX+2Q3i0u\/XIMOaWe0cblp7x1fzWpYbxHebcycECVvqysz7LvsVkVNBXabrnV1phM9FJvNSg44cDmPusn8XhguRvNoLgyTerojse9w6iO\/q96tw4lZf3oYd7uqmKWT4rn1X3P6Ai56GtguNIyqpn8UbxnvB7D3roVB6Saaugi+EgDJOAFh3TVdDRjoaQitqicNji3Ge8j5DddUW9CM6kKavJ2O283VlpoXTYEkztoos7vd3eHMrh0rbJqWkfXVji+rrSHuc7mG42B79\/l2Lntenqiqq23W+ydNUH1mQH2Y+zP2+aplNtRWFFEIyqT3k1ZLRfdhERVmow9X0L62xvdH7dO4TDA3wAc49x+Cx7Dco6jVxnac+nUwyOWHgDO3ix3mFZkAjBGQVB0VA20\/pAip2giLic6P+y5hx5Zx7ldB3i0edtMXGrCa0bV\/78y9REVJ6JI6po4JNR2x1S0GGoBhfgY68A5\/4vgul2lq2ke42q8TwMcMdHIeIDswvmtyY6ShnGA5lSMPx7Ox+3wX5ud8q7nVutVg9Z42lqR7LfA\/XyV6xOKseZNUo1J4lnla2uaOV1UzTofabSXVtyqZCXuO\/Aer39fnnbZa9i0+LdxVdY\/0ivl3fK454e4E\/Ne1ksNNZYDwfmVDx+ZMRu7uHYF03C6UVrh6WsnEYPst5ud4BRlK+US6nSUEp1MraLgvz1OxZd01FbrSC2ebjlH8KPd3v7PesY1t71P6lvYbfQ53ncfWf4fy81qWzTFutxEjo\/SajOTNLuSe0DkPmuYVHvE97Op+0sub+yMsVGo9RH9Wb+GUZ\/iEkPcO48z7sDvWhQ6SttJJ084fWT5yXznIz4ffK3UXHN6LI7HZ43xT7T6+h8AAGAMAL6iKBpCIiAIiIAiIgCIiALGu+l7fd3dI9pgm65IgAXf2tt1souptO6ITpxmsMldEDV0N30cRNSVfSUspAe4RjGe9pzjxBWpBLq6sgZLDPRdHI0Oa8Y3HkqaaGOohfDMwPjeMOa4bEKSjmn0bcjBNxy2mod6j+ZjP+urr59yuUsS0zPPnR3Mu81Do9PwdH9FK+vLXXm8STNyCYo\/Z92dvgtu3WagtbcUlO1rsYMh3cfeuuKWOaJssTw9jxlrmnIIX7VbnJ5GynQpweJLPnqERFAvCIiAKM1rJJTXe21NOOKeMFwGM+yQR7uas1MXQCq1zbYBgiKIvd149rY+Q81ZTylcybWsVPCuLX1Nu1XKK7W+Orh24hhzf6rusLqc5rGF73BrWjJJOAApWooarSlW6vtwdNb3kmeAn2O8fTy3WfdtRx32UUrZzRW4AGZzxl7+7Az8PEru7u7rQg9q3cbVF2vr18D8aqvpu0boKSLioqeQF05HtPwQMd3NVNKy16btUYfJHAwtBc93tSOxv3k9wUjU1gvcdPYrLRmKnY7iy7m7\/AMzscufNUNDpCASCpus76+owNnk8A7u0\/LuU5JKKTyM9CVSVSU4rE+fBHi\/UNzvDzDYaItZnBqphsPAcvn4Lot+k4Y6j0y6TGvqicnj9gHw6\/ft3LfYxkbAyNoY1owGtGAF+lVj4RyNq2e7xVHifl8j4AAMAYAX1EUDSEREAREQBERAEREAREQBERAEREAXjV0kFdTPpqmMSRPGCCvZEONJqzI2GWs0bWdBUCSotMrvUkAyYyfr3dfMdaroJ4qmFk0EjZI3jLXNOQUmhjqIXwzMD43jDmuGxClqi1XHTM76yy5npHDM1M85x3jt+firMp+JktLZ9M4+a9UVqLOtF7o7zDx0z8SNHrxO2c37+IWioNNOzNUZRmsUXdBERcJBS9mP4hrG51x9ZkDREwjlzxkf3T5ravFe22Wqoqi7DmMIZ3uOw+K4tJ0LqOyMfK0iaocZXlwOd+Wc93zVkcotmap26sYcs\/sjZkjbLG6N4y1wwRnGQp5+hrQ5hAdUNdkniDx8sYVGiipNaFs6UKnfVzOtVjobPGW0sZL3DDpH4LiPFaKIuNt5slGMYK0VZBERcJBERAEREAREQBERAEREAREQBERAEREAREQBERAYV00rS1k\/pdJI6iqxuHxbAnfc4689YXG6t1PZifSqVlyp2D9pHs7Hfjfx296qUU1N6PMzy2eN8UHhfT0J2HW1qfgVDZ6Z+cEPjzjyXrUaxs0MRdFO6okx6sccbsnzAAWvNR0tT+3popc\/12B3zXNRW+ihkkkio4I3teQHNiaCBttnCnaLV7FDqVlLBiXjb8mFT2+46kroqy7wej0cW8dMcji7z9c4VW1oa0NaAABgAdS+oq5SuaqVJU78W9WERFEtCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "COMPLEJO EDUCATIVO CARACOLES",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28745\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28745\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28745\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"BRO-R615\",\"id_control\":\"28745\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "09:20",
    "ubicacionGPS": "LatLng(lat: -22.8914419, lng: -69.3202934)",
    "horaLlegada": "09:12",
    "horaDespacho": "15:57",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 09:20:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69253200

[25/05/2026 09:20: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('69253200', 'EP2557', 1, 19969062, 217055, NOW(), 
				'15:57', '09:12', '09:20', 10, 'entrega de insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779715212.png', 'entrega de insumos', null, 'COMPLETADO','LatLng(lat: -22.8914419, lng: -69.3202934)' )
				
[25/05/2026 09:20:12] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200398
[25/05/2026 09:20:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200398', 'EPS-I302', 1)
				
[25/05/2026 09:20:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28745 and
				    IDproducto = 'EPS-I302'
				

25/05/2026 09:20:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I302';
                [25/05/2026 09:20:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200398', 'EPS-I304', 2)
				
[25/05/2026 09:20:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28745 and
				    IDproducto = 'EPS-I304'
				

25/05/2026 09:20:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I304';
                [25/05/2026 09:20:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200398', 'EPS-I305', 2)
				
[25/05/2026 09:20:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28745 and
				    IDproducto = 'EPS-I305'
				

25/05/2026 09:20:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I305';
                [25/05/2026 09:20:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200398', 'BRO-R615', 2)
				
[25/05/2026 09:20:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28745 and
				    IDproducto = 'BRO-R615'
				

25/05/2026 09:20:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'BRO-R615';
                
25/05/2026 09:20:12 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200398'                    
				WHERE idllamado = 12679			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


25/05/2026 09:20:12 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12679			
				
25/05/2026 09:20:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 09:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:20:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:20:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

[25/05/2026 09:20: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;
                

[25/05/2026 09:20: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;
                

25/05/2026 09:20:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:20:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

[25/05/2026 09:20: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;
                

25/05/2026 09:20:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:20:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:20:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:20:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12679
                

25/05/2026 09:20:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12679
                

25/05/2026 09:20:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

25/05/2026 09:20:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12679
            GROUP BY l.idllamado;
            

[25/05/2026 09:20: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;
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12679
                

25/05/2026 09: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 = 12689
                

[25/05/2026 09:22: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;
                

25/05/2026 09:22:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

[25/05/2026 09:22: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;
                

25/05/2026 09:22:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09:22:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

[25/05/2026 09:22: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;
                

25/05/2026 09:22:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

[25/05/2026 09:22: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;
                

25/05/2026 09: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 = 12689
                

25/05/2026 09:22:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09:22:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09:22:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                
[25/05/2026 09:56:44] 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;
                
[25/05/2026 09:56: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 09:56:47] 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;
                

25/05/2026 09:56:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12665
            GROUP BY l.idllamado;
            

[25/05/2026 09:56: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;
                

[25/05/2026 09:57: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;
                

[25/05/2026 09:57: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;
                

25/05/2026 09:57:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[25/05/2026 09:57: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;
                

25/05/2026 09:57:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09:57:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

[25/05/2026 09:57: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;
                

25/05/2026 09: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 = 12689
                

25/05/2026 09:57:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09:57:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09:57:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09:57:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

[25/05/2026 09:57: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;
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

[25/05/2026 09:57: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;
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

[25/05/2026 09:57: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;
                

25/05/2026 09:57:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 09:57:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12692
                

25/05/2026 09: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 = 12692
                

25/05/2026 09: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 = 12692
                

25/05/2026 09:57:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[25/05/2026 09:57: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;
                

25/05/2026 09:57:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12692
                

25/05/2026 09:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

[25/05/2026 09:57: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;
                

25/05/2026 09:57:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 09:57:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 09:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 09:57:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[25/05/2026 09:57: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;
                

25/05/2026 09:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 09:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 09:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 09:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 09:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 09:57:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[25/05/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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/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 = 12692
                

[25/05/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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/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 = 12692
                

[25/05/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;
                

25/05/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 = 12692
                

25/05/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 = 12692
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[25/05/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;
                

25/05/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 = 12692
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/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 = 12692
                

25/05/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 = 12692
                

25/05/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 = 12692
                

25/05/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 = 12692
                

25/05/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 = 12692
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

[25/05/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;
                

[25/05/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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

[25/05/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;
                

25/05/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 = 12689
                

[25/05/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;
                

25/05/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 = 12689
                

25/05/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 = 12689
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/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 = 12689
                

25/05/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 = 12689
                

25/05/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 = 12689
                

25/05/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 = 12689
                

25/05/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 = 12689
                

25/05/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 = 12689
                

25/05/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 = 12689
                

25/05/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 = 12689
                

25/05/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 = 12689
                

25/05/2026 09:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

[25/05/2026 09:58: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;
                

25/05/2026 09:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

[25/05/2026 09:58: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;
                

25/05/2026 09:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

[25/05/2026 09:58: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;
                

25/05/2026 09: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 = 12689
                

[25/05/2026 09:58: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;
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09:58:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09:58:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09:58:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09:58:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12689
                

[25/05/2026 09:58: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;
                

25/05/2026 09:58:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

[25/05/2026 09:58: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;
                

25/05/2026 09: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 = 12689
                

25/05/2026 09:58:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09:58:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12689
                

[25/05/2026 09:58: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;
                

[25/05/2026 09:58: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;
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09:59:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

[25/05/2026 09:59: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;
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09:59:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

[25/05/2026 09:59: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;
                

25/05/2026 09: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 = 12689
                

25/05/2026 09:59:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12689
                

25/05/2026 09:59:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09:59:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12689
                

[25/05/2026 09:59: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;
                

25/05/2026 09: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 = 12689
                

[25/05/2026 09:59: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;
                

25/05/2026 09:59:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09:59:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09:59:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 09:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 09:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 09:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 09:59:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

[25/05/2026 09:59: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;
                

25/05/2026 09:59:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

[25/05/2026 09:59: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;
                

25/05/2026 09: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 = 12689
                

25/05/2026 09:59:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12689
                

25/05/2026 09:59:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09:59:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

[25/05/2026 09:59: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;
                

[25/05/2026 09:59: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;
                

25/05/2026 09:59:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09:59:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

25/05/2026 09: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 = 12689
                

[25/05/2026 10:02: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;
                

25/05/2026 10:02:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[25/05/2026 10:02: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;
                

[25/05/2026 10:02: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;
                

25/05/2026 10:02:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            

[25/05/2026 10:02:09] 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;
                

25/05/2026 10:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[25/05/2026 10:02:11] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 10:02:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[25/05/2026 10:02:13] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 10:02:14] 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;
                

25/05/2026 10:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[25/05/2026 10:02:16] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 10:02: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;
                

[25/05/2026 10:02:22] 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;
                

25/05/2026 10:02:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12665
            GROUP BY l.idllamado;
            

[25/05/2026 10:02:26] 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;
                

[25/05/2026 10:02:29] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 10:02:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12665
            GROUP BY l.idllamado;
            
[25/05/2026 10:03: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 10:03:29] 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;
                

[25/05/2026 10:03: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;
                

25/05/2026 10:03:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[25/05/2026 10:03: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;
                

25/05/2026 10:03:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[25/05/2026 10:03:40] 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;
                

[25/05/2026 10:03:45] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 10:03:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12665
            GROUP BY l.idllamado;
            

[25/05/2026 10:03:47] 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;
                

[25/05/2026 10:04:25] 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;
                

25/05/2026 10:04:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12665
            GROUP BY l.idllamado;
            

[25/05/2026 10:04: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;
                

25/05/2026 10:04:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12665
            GROUP BY l.idllamado;
            
[25/05/2026 10:04:46] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 10:04:46] 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;
                

[25/05/2026 10:04:47] 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;
                

[25/05/2026 10:04:49] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 10:04:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            

[25/05/2026 10:05:16] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 10:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            

[25/05/2026 10:05: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;
                

[25/05/2026 10:05:27] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 10:10:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10:10:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

[25/05/2026 10:10: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;
                

25/05/2026 10:10:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10:10:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

[25/05/2026 10:10: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;
                

25/05/2026 10:10:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10:10:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

[25/05/2026 10:10: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;
                

25/05/2026 10:10:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

[25/05/2026 10:10: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;
                

25/05/2026 10:10:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10:10:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:10:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10:10:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:10:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:10:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10:10:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10:10:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10:10:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:10:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10:11:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10:11:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10:11:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10:11:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

[25/05/2026 10:11: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;
                

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

[25/05/2026 10:11: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;
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

[25/05/2026 10:11: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;
                

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12689
                

[25/05/2026 10:11: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;
                

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12689
                

[25/05/2026 10:11: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;
                

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12689
                

[25/05/2026 10:11: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;
                

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

[25/05/2026 10:11: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;
                

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

[25/05/2026 10:11: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;
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10:11:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10:11:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10:11:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/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 = 12689
                

25/05/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 = 12689
                

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/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 = 12689
                

25/05/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 = 12689
                

25/05/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 = 12689
                

25/05/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 = 12689
                

25/05/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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10:11:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10:11:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10:11:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10:11:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:12:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:12:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:12:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10:15:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10:15:54 - logentry: =========================================
FECHA: 25/05/2026 10:15:54
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ZT0v+vK6WAZl60t-1R9kKpZuGoxJybFKWsZtRHrEaYVH4Uv6NUo
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "TO2787",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12689",
    "observacion": "entrega de insumos en recepcion, sin contador",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAMcDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABCEAABAwMCAgcFBQUFCQAAAAABAAIDBAURBiESMRMUQVFhcZEigaGxwRUjMtHhBxYzU3QkRVJykjVCYoKTssLS8P\/EABoBAQADAQEBAAAAAAAAAAAAAAACAwQBBQb\/xAAuEQACAQIEAwYHAQEAAAAAAAAAAQIDEQQSITEyQVETImGRsdEzQnGBoeHwFMH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAFxtP3eou3XOnZG3oJuBvACMjxySuypjRn95\/1J+qml3WUVJNVYJc7lOiIoF4REQBERAEWncLrQ2trDWVDYuM4aNyT7gtinniqoGTwu4o3jLTgjI967Z2uRUot5b6mRERcJBERAERcW6apt1sJjD+sT8uii3wfE8h811JvREJ1IwV5Ox2kXCsdVfK6rkqq6nZTUb2gRxOGHA94+ufDCI1Z2FOanHMkd1ERcJhERAEREAREQBTGjP7z\/AKk\/VU6mNDnjpK2Qu4i6oPlyz9VOPCzNU+NT+\/oU6IigaQiIgC+OcGtLnEAAZJPYvjnNYwve4Na0ZJJwAFI3\/VtDUW2qo6Nz3SvHR8RaQCCTxfAfFSjFyehTWrQpRvJmpU1Ed5fc7zOM0dPEYqVkhwHSEbHBPMZzjxCpNKwug03RteMOc0v9xJI+GFwJaZtXPbdNwA8FO0SVpaQMnbI8\/juO5WrWhrQ1oAAGAB2Kyo9LGXCwbm5v+b1flsfUWpXXOitsfHV1DItshpPtHyHMqWrNcz1LzT2micXuOGPeOJx8mj9VCMJS2NNXEU6Wknr0LCaeGmiMs8rIo283POAFN12uKVrjDbaeSrmJw0kYaT4dp9AufT6Tu13lbU3mrdGDvwl3E\/05N\/8AtlU22y0FqZikgDXYwZHbuPvUrQjvqUKeIq8Kyrx38jgsteoL\/wC3dKo0NM4bwRbFw8R+ZPku1bdPWy1YdT04MoH8WT2nfp7sLpooubehfDDwi8z1fVhERQLwiIgCIiAIiIAiIgCmNA\/7Dm\/qXf8Aa1U6mNBAixzZHOpdj\/S1TXA\/sZqnx4fR\/wDCnREUDSEReXvZGwvkcGNaMlzjgBATmrah87qSy08hbLWPHFg8m5xv4c9vD1kLtJFHe+joI29FSuEcQG\/EWnme\/LsrZq7\/ANJdqy5RE9M4dHSux\/Dby4vPGfUrj08U88zY6Zj3ynk1gJPwW2Ecq1PnMTWVSTt1\/C29\/ItrdU2zSlC\/rdSyor5TxSNiIc4f8Ofz71zazWF2uknVrbAYOPYCMF8h9\/Z7h71ltWhZ5eGW5S9Cz+Uw5cfM8h8VYUFso7bF0dHTsiHaQN3eZ5lVSlBO+7N1OliKkVHgj+SQtuiKqqf1i7TmPiOSxruJ7vM8h8VW2+00NrYW0dMyLPN3Nx8yd1uIqpTlLc20sNTpcK168wiIoGgIiIAiIgCIiAIiIAiIgCIiA17hL0FtqZv5cL3egJXI0VF0enInfzHvd8cfRbWp5eh05Wu72cPqQPqtG3Xm3WbTdIJ6hhkEId0LTl5J35dnPtViTcNOpknOMa6cnZJer\/RRrBV1lNQwmaqnZCwdrjjPl3qWrdUXKspzJb6cUVMdutVJAz5fkMlStxkfVTl4q564sbl8r2nA37M7geePJSjRb3Ka2PjBdxXKyfXJmjxbqBxfnd85AYzzwfmQpq63WpryRWVzpyBtHEOGNp+vp71vQ2eht9Eye9V\/ECONlFA\/LiSBz7uz81vWK2xVta2417aempo96ek4gPIn9dz5K1ZI6oxS7es1GT35e\/7OFY7HUXmt6FoLImH72TH4R3eapaelp7BreKCFnRwVVPwNyeR9\/eW\/FVMc1KGnopIsEknhcOZ5rgavhcaakulMOOSimB9k9hx3eIHqodo5ys9jV\/ljQp51q07\/AN9ilRYaSpjrKSKpiPsSsDx4ZCzLOemmmroIiIdCIiAIiIAiIgCIiAIi0K2+W23uLamrja9vNgOXegXUm9iMpRirydjfRSNV+0CmbtSUUkm\/ORwb8srTiv8Aqe8nFvgEbM4Lo4xgf8ztlYqUuehleNpXtHV+CLh72RsL5HBjWjJc44AXBuesrZQ5ZA7rkndEfZ\/1fllcuXT5ji6zqa9v4B+FjZCc+WRv5ALTghZXyGHT1mYGA4NXUjj944th8SpRhHmU1cTV2irPzfl7mjd9U3C7RvgeWRUz8ZiYM5wcjJO61mYFpkfDa8twGyVUhLuE5H4eQG\/mV1L1p37PZRioqn1FVVTBjiOTR3Dv5j8lbXC2RV1qkt7T0Ub2gDh7MEH6KxzjFKxkhhqtWU3N6pevofm1RbbgZaKCV4klqGNEMXHxFrTjhz2AfkVR02g52RPZJdSxsgHGyJhw7z3GfRdbT+m\/sl7qqpnNRVPaG5yS1gxyGefLn3bLuqudV7RNNDAwtmqLX6kxFoK1swZJ6mQ93EAPks37k2b\/AATf9QqhRV9pLqbFhaC+VE47Q1nccjrDfASfovEmg7W5hEc9Uw\/5wR6YVMidpLqceFoP5UfncrLtp25tt8dxdTU73EwySbxkeOxx47Ludc1fSAF9HTVjD\/vMO\/wI+S7txttLdaR1NVR8TTuCNi094PepxpvOkwQ9vX7WzOMHDohny+HLyVmZSW2pldF0Xu8vhy+q6GYaxlptrlZqqnwN3AZ9+4Hb4roUuq7LVHArGxO7pQWfE7fFZbdf7ZdmYgnaHnYxSey707fdle6mw2qsyZqCEk83Nbwk+8YKg8vNWL49q1eE1JeP6N2KaKZnHFIyRvexwIXtTUmiaRj+koa2qpJANi12cfI8\/FYftG\/6fz9pQfaFIN+nj5tG\/Pu7OfqmVPhZLt5w+JGy6rVFWi07fdqG6R8dHUNkIGXM5Ob5jmtxQatuaYyUldMIiLh08veyNhfI4Ma0ZLnHACnbjra20nEylDquQci3Znr+QXu\/6err1Vt4bgIqTAzEQTgjtxyJ38F4pNDWqAh07pql22zncLfQfmrYqCV5MxVZYmUnGmrLqyWqtQ3u8y9BHI8B52hp24+W59VtW7Rdzqh0lS6OlY8b9IOJ\/njs9QVewU1NRxFlPDHAzmQxoaFxLnquGGYUlsiNfVO2xHu1vpz93qpqo3pBGeWFhHv4id\/7zFJpeyWiET1XDK5m5lqHYaPdy+awVOpqqvlNJp6kdMW7One3DG+X6+i+Q6ZrbtK2q1BVucRyp4yAG+GRt6eqpKemgpIRDTQsijHJrBgKDaW+rL4U5yVoLJH8v29Tg0OlGyS9cvU5rql2\/CT7DfDx+A8FQsYyNgZG0Ma0YDWjAC9IoOTe5qp0oU13US98HWtZWelyT0YMuO7BJ\/8ABVCl4v7R+0WbY\/2am+YH\/sqhSnsl4FWH1c5ePpoERFWaQiIgCIiAIiIDjV+lLRXuL3U\/QvPN0J4c+7l8Fz\/3evlsIdaruZGAg9DPy+o+SqUU1OSM8sNTk7pWfhoS7b5qKj4W11kMoGA58Oe7ntlev33t3CY6ukqonEbscwHI9VTLy5rXjDmhw8RlM0eaOdlVXDPzV\/Yg62q0tXyOmhkqbfUHOJI49s77kDz7MLq6UvFZV1lTRVFR1uOIZZNwEHyOcH4KjfR0sn8Smif\/AJmArIyNkTeGNjWN7mjAUnNNWsVww041M919la\/5PSIiqNoWhdbzR2eDpKqT2iDwRt3c\/wAlsVvWupy9S4OscP3fScsri2vTAZOa+7yitrXHPtbtZ3Y71KKW7Kakql8sFr15I0mxXrVRLp3m321x2YB7Ug+vny8CqG22mitMPRUkIbn8Tzu53mVuouuTenI5ToRg8z1l1f8AaBERQLwiIgJixfe6uvUuPwkM3588fRU6mNLfeXu+zcwajDT4cT\/0VOp1OIzYX4d+rfqwiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAvhIAyTgBfVgrX9HQ1D844YnHPdshxuyuT+hml1vq6h34pak5HZsAfqqdT+iWcGnmn\/ABSvOe\/fH0VAp1OJlGFVqMfoERFA0BERAEREAREQBERAEREAREQBERAEREAREQBERAFr18b5bdUxxt4nvie1o7yQUREcaurHO0nTzU2noI54nxPDnkse3BHtHsK7KIpSd2yuistOKXQIiKJaEREAREQBERAEREAREQBERAEREB\/\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "BERLIM CHUQUICAMATA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56985491565",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I895\",\"id_control\":\"28755\",\"cantidad_usada\":4,\"cantidad_asignada\":4}]",
    "horaSalida": "10:15",
    "ubicacionGPS": "LatLng(lat: -22.4408124, lng: -68.8856579)",
    "horaLlegada": "09:57",
    "horaDespacho": "09:20",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 10:15:54
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ZT0v+vK6WAZl60t-1R9kKpZuGoxJybFKWsZtRHrEaYVH4Uv6NUo
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "TO2787",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12689",
    "observacion": "entrega de insumos en recepcion, sin contador",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAMcDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABCEAABAwMCAgcFBQUFCQAAAAABAAIDBAURBiESMRMUQVFhcZEigaGxwRUjMtHhBxYzU3QkRVJykjVCYoKTssLS8P\/EABoBAQADAQEBAAAAAAAAAAAAAAACAwQBBQb\/xAAuEQACAQIEAwYHAQEAAAAAAAAAAQIDEQQSITEyQVETImGRsdEzQnGBoeHwFMH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAFxtP3eou3XOnZG3oJuBvACMjxySuypjRn95\/1J+qml3WUVJNVYJc7lOiIoF4REQBERAEWncLrQ2trDWVDYuM4aNyT7gtinniqoGTwu4o3jLTgjI967Z2uRUot5b6mRERcJBERAERcW6apt1sJjD+sT8uii3wfE8h811JvREJ1IwV5Ox2kXCsdVfK6rkqq6nZTUb2gRxOGHA94+ufDCI1Z2FOanHMkd1ERcJhERAEREAREQBTGjP7z\/AKk\/VU6mNDnjpK2Qu4i6oPlyz9VOPCzNU+NT+\/oU6IigaQiIgC+OcGtLnEAAZJPYvjnNYwve4Na0ZJJwAFI3\/VtDUW2qo6Nz3SvHR8RaQCCTxfAfFSjFyehTWrQpRvJmpU1Ed5fc7zOM0dPEYqVkhwHSEbHBPMZzjxCpNKwug03RteMOc0v9xJI+GFwJaZtXPbdNwA8FO0SVpaQMnbI8\/juO5WrWhrQ1oAAGAB2Kyo9LGXCwbm5v+b1flsfUWpXXOitsfHV1DItshpPtHyHMqWrNcz1LzT2micXuOGPeOJx8mj9VCMJS2NNXEU6Wknr0LCaeGmiMs8rIo283POAFN12uKVrjDbaeSrmJw0kYaT4dp9AufT6Tu13lbU3mrdGDvwl3E\/05N\/8AtlU22y0FqZikgDXYwZHbuPvUrQjvqUKeIq8Kyrx38jgsteoL\/wC3dKo0NM4bwRbFw8R+ZPku1bdPWy1YdT04MoH8WT2nfp7sLpooubehfDDwi8z1fVhERQLwiIgCIiAIiIAiIgCmNA\/7Dm\/qXf8Aa1U6mNBAixzZHOpdj\/S1TXA\/sZqnx4fR\/wDCnREUDSEReXvZGwvkcGNaMlzjgBATmrah87qSy08hbLWPHFg8m5xv4c9vD1kLtJFHe+joI29FSuEcQG\/EWnme\/LsrZq7\/ANJdqy5RE9M4dHSux\/Dby4vPGfUrj08U88zY6Zj3ynk1gJPwW2Ecq1PnMTWVSTt1\/C29\/ItrdU2zSlC\/rdSyor5TxSNiIc4f8Ofz71zazWF2uknVrbAYOPYCMF8h9\/Z7h71ltWhZ5eGW5S9Cz+Uw5cfM8h8VYUFso7bF0dHTsiHaQN3eZ5lVSlBO+7N1OliKkVHgj+SQtuiKqqf1i7TmPiOSxruJ7vM8h8VW2+00NrYW0dMyLPN3Nx8yd1uIqpTlLc20sNTpcK168wiIoGgIiIAiIgCIiAIiIAiIgCIiA17hL0FtqZv5cL3egJXI0VF0enInfzHvd8cfRbWp5eh05Wu72cPqQPqtG3Xm3WbTdIJ6hhkEId0LTl5J35dnPtViTcNOpknOMa6cnZJer\/RRrBV1lNQwmaqnZCwdrjjPl3qWrdUXKspzJb6cUVMdutVJAz5fkMlStxkfVTl4q564sbl8r2nA37M7geePJSjRb3Ka2PjBdxXKyfXJmjxbqBxfnd85AYzzwfmQpq63WpryRWVzpyBtHEOGNp+vp71vQ2eht9Eye9V\/ECONlFA\/LiSBz7uz81vWK2xVta2417aempo96ek4gPIn9dz5K1ZI6oxS7es1GT35e\/7OFY7HUXmt6FoLImH72TH4R3eapaelp7BreKCFnRwVVPwNyeR9\/eW\/FVMc1KGnopIsEknhcOZ5rgavhcaakulMOOSimB9k9hx3eIHqodo5ys9jV\/ljQp51q07\/AN9ilRYaSpjrKSKpiPsSsDx4ZCzLOemmmroIiIdCIiAIiIAiIgCIiAIi0K2+W23uLamrja9vNgOXegXUm9iMpRirydjfRSNV+0CmbtSUUkm\/ORwb8srTiv8Aqe8nFvgEbM4Lo4xgf8ztlYqUuehleNpXtHV+CLh72RsL5HBjWjJc44AXBuesrZQ5ZA7rkndEfZ\/1fllcuXT5ji6zqa9v4B+FjZCc+WRv5ALTghZXyGHT1mYGA4NXUjj944th8SpRhHmU1cTV2irPzfl7mjd9U3C7RvgeWRUz8ZiYM5wcjJO61mYFpkfDa8twGyVUhLuE5H4eQG\/mV1L1p37PZRioqn1FVVTBjiOTR3Dv5j8lbXC2RV1qkt7T0Ub2gDh7MEH6KxzjFKxkhhqtWU3N6pevofm1RbbgZaKCV4klqGNEMXHxFrTjhz2AfkVR02g52RPZJdSxsgHGyJhw7z3GfRdbT+m\/sl7qqpnNRVPaG5yS1gxyGefLn3bLuqudV7RNNDAwtmqLX6kxFoK1swZJ6mQ93EAPks37k2b\/AATf9QqhRV9pLqbFhaC+VE47Q1nccjrDfASfovEmg7W5hEc9Uw\/5wR6YVMidpLqceFoP5UfncrLtp25tt8dxdTU73EwySbxkeOxx47Ludc1fSAF9HTVjD\/vMO\/wI+S7txttLdaR1NVR8TTuCNi094PepxpvOkwQ9vX7WzOMHDohny+HLyVmZSW2pldF0Xu8vhy+q6GYaxlptrlZqqnwN3AZ9+4Hb4roUuq7LVHArGxO7pQWfE7fFZbdf7ZdmYgnaHnYxSey707fdle6mw2qsyZqCEk83Nbwk+8YKg8vNWL49q1eE1JeP6N2KaKZnHFIyRvexwIXtTUmiaRj+koa2qpJANi12cfI8\/FYftG\/6fz9pQfaFIN+nj5tG\/Pu7OfqmVPhZLt5w+JGy6rVFWi07fdqG6R8dHUNkIGXM5Ob5jmtxQatuaYyUldMIiLh08veyNhfI4Ma0ZLnHACnbjra20nEylDquQci3Znr+QXu\/6err1Vt4bgIqTAzEQTgjtxyJ38F4pNDWqAh07pql22zncLfQfmrYqCV5MxVZYmUnGmrLqyWqtQ3u8y9BHI8B52hp24+W59VtW7Rdzqh0lS6OlY8b9IOJ\/njs9QVewU1NRxFlPDHAzmQxoaFxLnquGGYUlsiNfVO2xHu1vpz93qpqo3pBGeWFhHv4id\/7zFJpeyWiET1XDK5m5lqHYaPdy+awVOpqqvlNJp6kdMW7One3DG+X6+i+Q6ZrbtK2q1BVucRyp4yAG+GRt6eqpKemgpIRDTQsijHJrBgKDaW+rL4U5yVoLJH8v29Tg0OlGyS9cvU5rql2\/CT7DfDx+A8FQsYyNgZG0Ma0YDWjAC9IoOTe5qp0oU13US98HWtZWelyT0YMuO7BJ\/8ABVCl4v7R+0WbY\/2am+YH\/sqhSnsl4FWH1c5ePpoERFWaQiIgCIiAIiIDjV+lLRXuL3U\/QvPN0J4c+7l8Fz\/3evlsIdaruZGAg9DPy+o+SqUU1OSM8sNTk7pWfhoS7b5qKj4W11kMoGA58Oe7ntlev33t3CY6ukqonEbscwHI9VTLy5rXjDmhw8RlM0eaOdlVXDPzV\/Yg62q0tXyOmhkqbfUHOJI49s77kDz7MLq6UvFZV1lTRVFR1uOIZZNwEHyOcH4KjfR0sn8Smif\/AJmArIyNkTeGNjWN7mjAUnNNWsVww041M919la\/5PSIiqNoWhdbzR2eDpKqT2iDwRt3c\/wAlsVvWupy9S4OscP3fScsri2vTAZOa+7yitrXHPtbtZ3Y71KKW7Kakql8sFr15I0mxXrVRLp3m321x2YB7Ug+vny8CqG22mitMPRUkIbn8Tzu53mVuouuTenI5ToRg8z1l1f8AaBERQLwiIgJixfe6uvUuPwkM3588fRU6mNLfeXu+zcwajDT4cT\/0VOp1OIzYX4d+rfqwiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAvhIAyTgBfVgrX9HQ1D844YnHPdshxuyuT+hml1vq6h34pak5HZsAfqqdT+iWcGnmn\/ABSvOe\/fH0VAp1OJlGFVqMfoERFA0BERAEREAREQBERAEREAREQBERAEREAREQBERAFr18b5bdUxxt4nvie1o7yQUREcaurHO0nTzU2noI54nxPDnkse3BHtHsK7KIpSd2yuistOKXQIiKJaEREAREQBERAEREAREQBERAEREB\/\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "BERLIM CHUQUICAMATA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "+56985491565",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I895\",\"id_control\":\"28755\",\"cantidad_usada\":4,\"cantidad_asignada\":4}]",
    "horaSalida": "10:15",
    "ubicacionGPS": "LatLng(lat: -22.4408124, lng: -68.8856579)",
    "horaLlegada": "09:57",
    "horaDespacho": "09:20",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 10:15:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[25/05/2026 10:15: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('76050301', 'TO2787', 1, 19969062, 0, NOW(), 
				'09:20', '09:57', '10:15', 10, 'entrega insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779718554.png', 'entrega de insumos en recepcion, sin contador', null, 'COMPLETADO','LatLng(lat: -22.4408124, lng: -68.8856579)' )
				
[25/05/2026 10:15:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200399
[25/05/2026 10:15:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200399', 'TOS-I895', 4)
				
[25/05/2026 10:15:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 4
				WHERE
				    IDcontrol = 28755 and
				    IDproducto = 'TOS-I895'
				

25/05/2026 10:15:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 4)
                WHERE ID = 'TOS-I895';
                
25/05/2026 10:15:54 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200399'                    
				WHERE idllamado = 12689			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


25/05/2026 10:15:54 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12689			
				
25/05/2026 10:15:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10:15:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10: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 = 12689
                

25/05/2026 10:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

[25/05/2026 10:15:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 10:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

[25/05/2026 10:15:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 10:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

[25/05/2026 10:15:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 10:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

[25/05/2026 10:15:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 10:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12689
            GROUP BY l.idllamado;
            

25/05/2026 10:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

[25/05/2026 10:15:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 10:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                

25/05/2026 10:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12689
                
[25/05/2026 10:16: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 10:16:00] 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;
                

[25/05/2026 10:17: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;
                
[25/05/2026 10:17:03] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 10:17:03] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 10:20: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;
                
[25/05/2026 10:20:49] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 10:20:49] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 10:20: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;
                

25/05/2026 10:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 10:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 10:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[25/05/2026 10:20: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;
                

[25/05/2026 10:20: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;
                

25/05/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 = 12692
                

25/05/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 = 12692
                

[25/05/2026 10:20: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;
                

25/05/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 = 12692
                

25/05/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 = 12692
                

[25/05/2026 10:20: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;
                

[25/05/2026 10:20: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;
                

25/05/2026 10:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 10:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 10:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/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 = 12692
                

25/05/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 = 12692
                

25/05/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 = 12692
                

25/05/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 = 12692
                

25/05/2026 10:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 10:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/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 = 12692
                

25/05/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 = 12692
                

25/05/2026 10:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/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 = 12692
                

25/05/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 = 12692
                

25/05/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 = 12692
                

25/05/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 = 12692
                

25/05/2026 10:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 10:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 10:21:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/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 = 12692
                

[25/05/2026 10:21: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;
                

25/05/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 = 12692
                

25/05/2026 10:21:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 10:21:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[25/05/2026 10:21: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;
                

25/05/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 = 12692
                

25/05/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 = 12692
                

25/05/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 = 12692
                

25/05/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 = 12692
                

[25/05/2026 10:21: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;
                

25/05/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 = 12692
                

25/05/2026 10:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 10:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[25/05/2026 10:21: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;
                

25/05/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 = 12692
                

25/05/2026 10:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[25/05/2026 10:21: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;
                

25/05/2026 10:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 10:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 10:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[25/05/2026 10:21: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;
                

25/05/2026 10:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/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 = 12692
                

[25/05/2026 10:21: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;
                

[25/05/2026 10:21: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;
                

25/05/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 = 12692
                

25/05/2026 10:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/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 = 12692
                

25/05/2026 10:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 10:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/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 = 12692
                

25/05/2026 10:21:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/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 = 12692
                

25/05/2026 10:21:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[25/05/2026 10:21: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;
                

25/05/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 = 12692
                

25/05/2026 10:21:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/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 = 12692
                

25/05/2026 10:21:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[25/05/2026 10:21: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;
                

25/05/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 = 12692
                

25/05/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 = 12692
                

25/05/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 = 12692
                
[25/05/2026 10:30:47] 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;
                
[25/05/2026 10:30: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 10:30:51] 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;
                

25/05/2026 10:30:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            

[25/05/2026 10:30:54] 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;
                

[25/05/2026 10:31: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;
                

25/05/2026 10:31:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[25/05/2026 10:31: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;
                
[25/05/2026 10:34: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;
				
[25/05/2026 10:34:09] 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;
                

[25/05/2026 10:34: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;
                

25/05/2026 10:34:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

[25/05/2026 10:34:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 10:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 10:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 10:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 10:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 10:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 10:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 10:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 10:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                
[25/05/2026 10:37: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;
                
[25/05/2026 10: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 10:37: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;
                

25/05/2026 10:37:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10:37:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

[25/05/2026 10:37: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;
                

25/05/2026 10:37:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10:37:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12680
                

25/05/2026 10:37:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10:37:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

[25/05/2026 10:37: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;
                

25/05/2026 10: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 = 12680
                

25/05/2026 10:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

[25/05/2026 10:37: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;
                

[25/05/2026 10:37: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;
                

25/05/2026 10:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

[25/05/2026 10:37: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;
                

25/05/2026 10:37:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10:37:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

[25/05/2026 10:37: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;
                

25/05/2026 10:37:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 10:37:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 10:37:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 10:37:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 10: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 = 12699
                

25/05/2026 10:37:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12699
                

25/05/2026 10: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 = 12699
                

25/05/2026 10:37:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 10:37:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 10:37:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 10:37:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 10:37:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 10:37:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 10:37:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 10:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 10:37:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 10:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

[25/05/2026 10:37: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;
                

25/05/2026 10:37:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10:37:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10:37:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

[25/05/2026 10:37: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;
                

25/05/2026 10:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

[25/05/2026 10:37: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;
                

[25/05/2026 10:37: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;
                

25/05/2026 10:37:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10:37:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

[25/05/2026 10:37: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;
                

25/05/2026 10:37:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 10:37:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 10:37:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 10:37:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 10:37:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 10:37:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 10:37:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 10:37:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 10:37:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 10:37:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 10:37:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                
[25/05/2026 10:53:40] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 10:53:40] 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;
                
[25/05/2026 10:53: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 10:53:43] 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;
                

[25/05/2026 10:53: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;
                

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12680
                

25/05/2026 10:54:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10:54:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

[25/05/2026 10:54:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 10:54:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10:54:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12680
                

[25/05/2026 10:54:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 10:54:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10:54:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12680
                

[25/05/2026 10:54:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 10:54:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

[25/05/2026 10:54:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

[25/05/2026 10:54:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10:54:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10:54:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

[25/05/2026 10:54:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 10:54:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

[25/05/2026 10:54: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;
                

25/05/2026 10:54:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10:54:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10:54:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10:54:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12680
                

25/05/2026 10:54:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10:54:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10:54:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10:54:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

[25/05/2026 10:54: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;
                

[25/05/2026 10:54: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;
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

[25/05/2026 10:54: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;
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

[25/05/2026 10:54:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12680
                

[25/05/2026 10:54:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

[25/05/2026 10:54:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 10:54:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

[25/05/2026 10:54:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10: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 = 12680
                

25/05/2026 10:54:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

[25/05/2026 10:54: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;
                

[25/05/2026 10:58:40] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

[25/05/2026 10:58:42] 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;
                

25/05/2026 10:58:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 10:58:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

[25/05/2026 10:58:44] 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;
                

25/05/2026 10:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 10:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 10:58:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12690
                

25/05/2026 10: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 = 12690
                

25/05/2026 10: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 = 12690
                

25/05/2026 10: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 = 12690
                

25/05/2026 10:58:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/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 = 12690
                

25/05/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 = 12690
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/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 = 12690
                

25/05/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 = 12690
                

25/05/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 = 12690
                

25/05/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 = 12690
                

25/05/2026 10:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/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 = 12690
                

25/05/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 = 12690
                

25/05/2026 10: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 = 12690
                

25/05/2026 10: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 = 12690
                

25/05/2026 10:59:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12690
                

25/05/2026 10: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 = 12690
                

25/05/2026 10: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 = 12690
                

25/05/2026 10:59:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 10: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 = 12690
                

25/05/2026 10: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 = 12690
                

25/05/2026 10: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 = 12690
                
[25/05/2026 11:00:28] 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;
                
[25/05/2026 11:00:28] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 11:00:29] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:00:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12409
            GROUP BY l.idllamado;
            

[25/05/2026 11:00: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;
                

[25/05/2026 11:00: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;
                

25/05/2026 11:00:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12409
            GROUP BY l.idllamado;
            

[25/05/2026 11:00: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;
                

[25/05/2026 11:00: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;
                

25/05/2026 11:00:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            

[25/05/2026 11:00:41] 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;
                

[25/05/2026 11:00: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;
                

25/05/2026 11:00:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12665
            GROUP BY l.idllamado;
            

[25/05/2026 11:00:47] 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;
                

25/05/2026 11:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:00:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

[25/05/2026 11:00:49] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:00:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

25/05/2026 11:00:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

[25/05/2026 11:00: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;
                

25/05/2026 11:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

[25/05/2026 11:00: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;
                

[25/05/2026 11:00: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;
                

[25/05/2026 11:00: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;
                

25/05/2026 11:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

[25/05/2026 11:00: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;
                

25/05/2026 11:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:00:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:00:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:00:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:00:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:00:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:00:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:00:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:00:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:00:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11:00:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:00:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:00:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

[25/05/2026 11:00:58] 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;
                

25/05/2026 11:00:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11:01:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11:01:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

[25/05/2026 11:01:02] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:01:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:01:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:01:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:01:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11:01:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:01:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11:01:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:01:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:01:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:01:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:01:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:01:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11:01:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:01:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:01:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:01:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:01:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11:01:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:01:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:01:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:01:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11:01:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11:02:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11:02:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11:02:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:02:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:02:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11:02:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:02:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:02:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:02:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:02:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11:02:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:02:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:02:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11:02:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:02:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:02:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:02:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:02:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11:02:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:02:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11: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 = 12690
                

25/05/2026 11:03:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12690
                

25/05/2026 11: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 = 12690
                

25/05/2026 11: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 = 12690
                

25/05/2026 11:03:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12690
                

25/05/2026 11: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 = 12690
                

25/05/2026 11:03:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:03:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:03:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:03:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:03:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11:03:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:03:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:03:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11:03:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:03:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:03:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:03:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:03:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:03:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:03:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11:03:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:03:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:03:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11:03:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:03:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12680
                

25/05/2026 11:03:52 - logentry: =========================================
FECHA: 25/05/2026 11:03:52
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-68HlERz8St7LGAs52MHtVNp0qqhaVlCesx8K.tWtep_-eow6OTd
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3026",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "15178",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12680",
    "observacion": "entrega de insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACeAMgDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAIBAwf\/xABDEAABAwMCAgYIAgULBQAAAAABAAIDBAURBiESMRNBUWGBkRQiMkJxobHBI9EVUpLC8AckJUNicoKisuHxFjM1ZHT\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgQDAQX\/xAAxEQACAQIDBQYFBQEAAAAAAAAAAQIDEQQhMRIyQVFxEyJhocHRI4GRseEUMzRCcmL\/2gAMAwEAAhEDEQA\/AP7MiIgAiIgAiLxLKyGJ0sjg1jBlxPUEAe1P3HVcMNQ2ktkJr6lxxiM+qPHrXDPcK7VdQ6jtnHT29pxNUOGC\/uH5eeFQWy0Udpg6Omjw53tyO3c89pP2WllHe1JO0nWdqeS5+3uYog1jWvDpKmmoW53a0A\/n9V4kGrbSOmM0Nxhb7TAPWx28gfIlVRIAyTgBZFZqqz0WQ6rErx7sI4vny+a6pN6IWdKEFeU2vG5+9mvNPeqLp4QWOacSRk7sP3HYVor+dVFxqI7k692egnp4cZlL25jfk75A6ie\/yWzS1GrrrAyohko6aKRuWnAOQf2l2VPiLSxd+602\/Ba+JWIpj0LWbQXfpSjfgezwjf8AyL4zUNztNRHDf6RrIpDhtRDuPHf8j3FJsPgzb9SlvRa6oqEXwEEZByCvqQpCIpuo1fw1MtPR2qqqpIXljgBjcHHUCmUXLQzqVYU95lIimDqi6QnNRp2qDMZLm8W3+Vdtv1Vbq2QQyuNJOf6uccPz5dnmuuEkZxxNKTtf65fc2kREhQEREAEREAEReXOaxhe9wa1oySTgAIA9IsSbV9khe5hqi8jrYwkHxXJJry1tYSyGpe7qHCB906pyfAneJorWSKR72xxuke4Na0EuJ6gpB8k+s7kYYjJDaac5e7GDKfz+g37ll3nVtTeYfQ4oRSwvcOIhxc5w7DgcuW2Opa1Jo+4vpWU1bdCynaMdBBnh5535ZPPmCtFDYV5akc67xEtmmrxWvC\/4Nea92OyQCnbPE0RjAhh9YjHUccj8VmnUN6uu1mtZZGQfxpxt4HYfVatv01ardgxUwkkByJJfWcPyWqkvFaK5UqdaStJ7K5L3JZulq+4njvd1klGQRFEcNHyx5BbFHYLVQ46ChiDh7zhxO8ytFFxzkx4YenF3td83mz8aqBtVSTU7\/ZlYWHxCxNEzvksRifnNPM6MbchsfuVQqY0h6tZeYgRhlTsAc43d+SFusWplXg+d16lOs6\/U0dVYqyN7A7ELnt7nAZB81orM1HU+i6frJM4JjLB8Xer91yOqNatuzlfSx+elql9Vp2le\/wBpoLPAEgfLC11laYpzT6do2nOXM49z+tuPkQtVEt5nKN+yjfkgvgAHIYX1EpqFn3Kx266gelU4LxykaeF3mOfitBF1NrQWUYyVpK6JOiqarS9wbbq9z5qCdwFPNjPAeWP9vHtVWCCMg5BWRqql9K07VDhy6NvSDu4dz8srosNV6ZY6SckkmMAknJJGx+YTyzW0T0r05ulwtdexoIiLMqCIiAC8TRMnhfDIMskaWuHcdl7RAGLHpGyRnPofFjlxPcfuvdwfbdPWyWoZSwRdTGtjA434OBstdScoOqNSmFzeK228nJwcSP2BHn8h3rSLcnm8iSrGNJWpxW08kdOl7IIqN1dXsEtVVnjPGM8LTyGD1qjREspOTuzelTjTiooIiJTQIiIA8uc1jC9xw1oyT2BTWhw6ShrKx7cOnqCfjtn6krV1DViisVXLxBrjGWN+J2GPNeNNUhorBSxObhzm8bs95z9MJ1lBk0u9XiuSb+uRqqZ1m99RHRWqE5kq5hkAZOBt9T8lTKXph+lddVE5HFDbo+BvWA7l9S7y8iGt+QYnOKgv7O3v5FNGxsUbY2+ywAD4BekRIUhERABERAH4V0YloKiMt4g+JzcduQVjaJk49OsGfYkc3ly6\/ut5zQ9haeRGFN6DcXWKUH3ahwH7LU63GTTyrx6P0KZERIUhERABERAGFq25m32kwwk+kVZ6KMDnj3j5bfEhdlitbbTa4qcgdKRxSkDm48\/Ll4LDoQdRarkuJw6ioDwQ7+04cj55dn4KtWku6tkko\/Em6vDRer+YREWZWEXDcLzb7WB6ZUsjceTObj4DdYh1TcLk7gslrfICcdNMPVHlsPNMoNmM69ODs3nyWbKlcdTd7dSZ6eugYRzaXjPlzWEdOXm5b3a8Oa3O8UA9XGfAfJdkGkLJTNL5IXTEbl80h+eMBNaK1Zn2laW7G3V+iMPU9\/oLpJSUkE\/HStl453Bjhy225Z2J+SqLbe7ZcgI6KoaS0AdGWlpG3LB+B5diwdL0dNX3a4XOOBjaUO6KCPgAbjbfHbgDzK\/S+UsFNqWzOo4WxyvlzJ0TQ3LctGTgd5TyUX3SanOrFOs7NN+WmRQXStFttlRWEA9EwkAnGTyA88LL0fRPp7P6TM3E1Y8yuJ6x1fn4rl1VIblc6CxRSEdK\/pJuHqH\/ABk+Sp2MbGxrGDDWgADsCR5RtzKY\/Ert8I5fN6npERZlQREQAREQB5e8Rsc93JoJKnNCMLbC8n36hxHk0fZbdzk6K1VcmM8ED3eTSszRkfBpqB367nu\/zEfZOtxk0s8RFck\/Q3UREhSEREAFh6suT6CzujhyZ6o9EzA3GeZ8tvFbilX\/ANN62azjDqa2NyRjYv6\/nj9lPBZ3fAnxEmobMdXkbdktwtdqhpceuBl\/e4813rAr9Y2yjfLCwvqJozwhsY2cfiuDoNR6j3qH\/oyid7gyHOHw5nxwO5d2G85ZCdvCK2Kau1wXua9y1NbLaeB03TzZx0UOHOz39QWY5+pr8fwm\/omlPvOJEjh9fota16dt1pAdBDxyj+tk3d4dngtRG1FaI72dSp+47LkvcwqDSFto5BNNx1k3MunORntx+eVtta1jQ1jQ1o5ADAC9Ikcm9TaFOFNWirBT+sa6SntbKOn3mrX9EMHfh6\/PIHiqBSkThftaGRrQ6ltowHdr88\/POO5qaCzu+BliZPY2FrLL38jftNvZa7ZDRswSxvrOHvOPM+anIp4q7WNbcZnN9GtkfCCe0ZHXtz4v43VJdK0W+2VFWcfhMJbnrPUPPChKds7rdS2eAn0m6SdNM4uJLWdWfAFx7k8Fe7ZhiZKDjBcM7eS8zf0tA+vrKu\/1DfWncWQA9TRzPX2AeBVOvypqeOkpoqaFvDHE0NaO4LxXVsFupH1VS\/hjYM95PYO9Zye08iqlBUqdm+vqeLjcqW1UpqauThYDgAblx7AFORsu+q39K97qC2cWWNb7b8defvy+KW6gm1PXi7XOMtpGH+bwE7OHf3fX4KtAAGAMAJ8oaamKUsRm8o8ufXwJzSU8omudBJK6RtHPwsLjk4y4fuqkUxpT17vfZW7sfU+q7t9Z\/wCYVOlqbw+Ffwl8\/uwiIkKTK1NJ0WnK12cZj4fMgfdetOR9Fp6hbjGYg7z3+64tbTdHpyRmQOlkY3475+y2KGH0e300GCOjia3B6sABP\/T5kyzxD8EvudCIiQpCIiAPwraltHRTVLyOGJhfv14Cw9FUzmWmStl3lrJS8uI3IG314vNetaVLorIKePPHVStjAHMjmfoB4rZoKVtFQQUreUUYb8SBuVppDqS7+I\/yvN\/g\/OK00EFbJWspmekSHLpDuc93YuxESNtlKio6IIiLh0IiIA+OHE0jJGRzC4LPZ6ey0r4KcucHvLi5+OIrQX5zSsp4JJpDhkbS5x7gMrt3oK4xvtPgSutq9sjoLS12OI9LO4e60Z\/3PgO1e9HURqJJ71NGGmU9HA3qYwbbdwwGj4FTP85vlz\/9i4y\/EMjB+gx8fU71\/S4IYaCjZCzEcMDMAk8gBzJW8+5HZPMw\/wAes6r0Wnp7\/M9TTR08L5pnhkbBlznHYBSlPHNq28Gqma9tppziNh2EpHb256\/JeZ5Z9YXT0WAllqpnfiPBx0h\/jl2c1WwQRU0DIIWBkcY4WtHUEm4vEp\/kS\/4Xn+D21oa0NaAABgAdS+ovyqXPZSyuiaXSNYS0DmTjZZFbyRPaKAfTV87c8MlUcAjGNs\/cKmUhoysfTxttgoZsuke6Wb3WOAxg+QCr1pU3mTYRp0VYIiLMqJjWP489poT7NRU755cwP3lTqYvX42srPANywGTHmf3VTp5bqRNRzqVH4pfRBERIUhERAEtef6R1jbKH2mU46Z4PLt8fZHmqlTFv\/F1\/cXuA\/DgDW7ctmb\/XzVOnnwRNh83OXNvyyCIiQpCIiACIiACnNb1pprKIGn1ql\/Cd\/dG5+yo1B6+l4rrSwOJDGQ8WRvzcQdv8K0pK80SY2bhQlbjkduiqANhlu9ScNDeihLzs1g9p2523HhgpV1dVq2tdQUDnRW2I\/jT4\/wC5\/HUPEr8KdlfqKlgt9JC+itUQAdI7OZAPr8FXUVFT2+lZTU0YZGwbDt7z3p5OzvxMKNNzgoLd4vn+BRUVPb6VlNTRhkbBsO3vPeuhEWB6KSSsgiIg6fAAOQwvqIgAiIgCYq\/X\/lEouro6Y+Oz\/wA1TqY9v+UT9bgpv2dv9\/mqdPPh0JsP\/f8A0\/QIs+svtroAfSK2IOHuNPE7yG6yHay9JJba7VVVbgQCcYA8srihJ8B54ilB2bzKdFgW6r1LVV7HVVFBTUgPrAn1iMfE7+ARcasNTmpq6TXU57Ic6wvPgqdS1K42\/X1TC\/ZldFxMPfz+zlUpp6oyw261yb+4XlzmsYXvcGtaMkk4AC8z1ENLC6aeRscbRkuccAKUnqq3WE\/otE19PbGO\/GmdsZP4xy8+pcjG\/QerWUMlm3ojQt9\/qLvezFQwNNuhBEs7gcuONseOPBb656Kip7fSspqaMMjYNh295710Ik03kNSjOMe+7sIiJTQ8ve2NjnvOGtBJPYFJ6ephfbpWXythD4nO6OCOQAgD4dwwPiSu7WFdLBbWUNOCZ65\/RNA546\/PIHita20TLdboKRnKJuM9p5n5rRd2N+ZLJdrWUeEc\/nwOkAAYAwAvqIsyoIiIAIiIAIs6sv8AaqAHp62PiBxwsPE7yCyTq6orDw2m0VFQCcCR4w3Ph4dYTKEmYTxFKLs3n9SnXBcr1QWpmaucNdjIjbu4+CxfQ9WXRrhU1kVvifzZGPW5dWN\/muy36RtdFwvkjNVMDkvl3Gf7vLzym2YrVidrVnuRt4v2JyO511y1TUVllpsyPhAAmwOFvqguO+P+VrjTN1uOXXi8PLXc4YPZ+w+S+2j19b3V4GzYwz4eyMfJVCac7PIwoUFNNzbeb6amPR6Vs9FgtpBK8e9MeL5cvktZjGRsDI2hjWjAa0YAXpFk23qXQpwgrRVgiIuDmNf7LJcugqqR4iraV3FG4+8Bvjzx81wMvWpY2iGWxdJNjHSNdhvjzHzVQidSys1cnlQvJyjJpslY9PXO8VDajUFT+G3dtNEdh5bD5nvVNDDHTwshhYGRsGGtaNgF+iLkpNj06Maea1fHiEREpqF5L2B4YXAOIyG53K9LIu+m6C8ztnqTK2RrAwOjcBsCT1g9q6rcRJuSXdV2Z0mblr2No9aK3xZdjlxEdvxcPL4qnJAGScAKIs2kKqohknrKioopC\/ha0Hct7Sf45LRGhqN5zU11XNvn2gPqCtZKOl9CKjKsk5bGrvqbstyoITiWup4z\/blaPuuSTU1ljOHXCI\/3cu+i5odF2SLHFBJKQffkO\/lhdUem7NF7NuhP94cX1S9zxN74h8Evqck2tbNEMsklmH9iIj\/Vhc3\/AFVcKsYt1inkydpJM8PyGPmqCGgoqY5gpIIiOtkYb9F0IvFaIOzrS1nbovcmC7WVZ7LKSiB3GcE\/vLydMXat\/wDJX2RzCfWjiBwfmB8lUojbfAP00XvNvqzHodK2ehwW0omePfn9c+XL5LXAAGAMAL6iRtvU2hTjBWirBERcHJjT34mqL3J+q8N25cz+Sp1MaWOb5f8A\/wCkf6nqnT1N4mwv7V\/F\/dhERIUhERABERABERABERABERABERABERABERABERABERABERAExpUZvN+eN2mq2P8AieqdZGnbPNaKadtRKyWaaUvLmcsdX381rp5u8ifDRcaST8fuEREhQEREAf\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ESCUELA DE PARVULOS PAPELUCHO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28751\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28751\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28751\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28751\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:03",
    "ubicacionGPS": "LatLng(lat: -22.4462316, lng: -68.916213)",
    "horaLlegada": "10:34",
    "horaDespacho": "10:15",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 11:03:52
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-68HlERz8St7LGAs52MHtVNp0qqhaVlCesx8K.tWtep_-eow6OTd
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3026",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "15178",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12680",
    "observacion": "entrega de insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACeAMgDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAIBAwf\/xABDEAABAwMCAgYIAgULBQAAAAABAAIDBAURBiESMRNBUWGBkRQiMkJxobHBI9EVUpLC8AckJUNicoKisuHxFjM1ZHT\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgQDAQX\/xAAxEQACAQIDBQYFBQEAAAAAAAAAAQIDEQQhMRIyQVFxEyJhocHRI4GRseEUMzRCcmL\/2gAMAwEAAhEDEQA\/AP7MiIgAiIgAiLxLKyGJ0sjg1jBlxPUEAe1P3HVcMNQ2ktkJr6lxxiM+qPHrXDPcK7VdQ6jtnHT29pxNUOGC\/uH5eeFQWy0Udpg6Omjw53tyO3c89pP2WllHe1JO0nWdqeS5+3uYog1jWvDpKmmoW53a0A\/n9V4kGrbSOmM0Nxhb7TAPWx28gfIlVRIAyTgBZFZqqz0WQ6rErx7sI4vny+a6pN6IWdKEFeU2vG5+9mvNPeqLp4QWOacSRk7sP3HYVor+dVFxqI7k692egnp4cZlL25jfk75A6ie\/yWzS1GrrrAyohko6aKRuWnAOQf2l2VPiLSxd+602\/Ba+JWIpj0LWbQXfpSjfgezwjf8AyL4zUNztNRHDf6RrIpDhtRDuPHf8j3FJsPgzb9SlvRa6oqEXwEEZByCvqQpCIpuo1fw1MtPR2qqqpIXljgBjcHHUCmUXLQzqVYU95lIimDqi6QnNRp2qDMZLm8W3+Vdtv1Vbq2QQyuNJOf6uccPz5dnmuuEkZxxNKTtf65fc2kREhQEREAEREAEReXOaxhe9wa1oySTgAIA9IsSbV9khe5hqi8jrYwkHxXJJry1tYSyGpe7qHCB906pyfAneJorWSKR72xxuke4Na0EuJ6gpB8k+s7kYYjJDaac5e7GDKfz+g37ll3nVtTeYfQ4oRSwvcOIhxc5w7DgcuW2Opa1Jo+4vpWU1bdCynaMdBBnh5535ZPPmCtFDYV5akc67xEtmmrxWvC\/4Nea92OyQCnbPE0RjAhh9YjHUccj8VmnUN6uu1mtZZGQfxpxt4HYfVatv01ardgxUwkkByJJfWcPyWqkvFaK5UqdaStJ7K5L3JZulq+4njvd1klGQRFEcNHyx5BbFHYLVQ46ChiDh7zhxO8ytFFxzkx4YenF3td83mz8aqBtVSTU7\/ZlYWHxCxNEzvksRifnNPM6MbchsfuVQqY0h6tZeYgRhlTsAc43d+SFusWplXg+d16lOs6\/U0dVYqyN7A7ELnt7nAZB81orM1HU+i6frJM4JjLB8Xer91yOqNatuzlfSx+elql9Vp2le\/wBpoLPAEgfLC11laYpzT6do2nOXM49z+tuPkQtVEt5nKN+yjfkgvgAHIYX1EpqFn3Kx266gelU4LxykaeF3mOfitBF1NrQWUYyVpK6JOiqarS9wbbq9z5qCdwFPNjPAeWP9vHtVWCCMg5BWRqql9K07VDhy6NvSDu4dz8srosNV6ZY6SckkmMAknJJGx+YTyzW0T0r05ulwtdexoIiLMqCIiAC8TRMnhfDIMskaWuHcdl7RAGLHpGyRnPofFjlxPcfuvdwfbdPWyWoZSwRdTGtjA434OBstdScoOqNSmFzeK228nJwcSP2BHn8h3rSLcnm8iSrGNJWpxW08kdOl7IIqN1dXsEtVVnjPGM8LTyGD1qjREspOTuzelTjTiooIiJTQIiIA8uc1jC9xw1oyT2BTWhw6ShrKx7cOnqCfjtn6krV1DViisVXLxBrjGWN+J2GPNeNNUhorBSxObhzm8bs95z9MJ1lBk0u9XiuSb+uRqqZ1m99RHRWqE5kq5hkAZOBt9T8lTKXph+lddVE5HFDbo+BvWA7l9S7y8iGt+QYnOKgv7O3v5FNGxsUbY2+ywAD4BekRIUhERABERAH4V0YloKiMt4g+JzcduQVjaJk49OsGfYkc3ly6\/ut5zQ9haeRGFN6DcXWKUH3ahwH7LU63GTTyrx6P0KZERIUhERABERAGFq25m32kwwk+kVZ6KMDnj3j5bfEhdlitbbTa4qcgdKRxSkDm48\/Ll4LDoQdRarkuJw6ioDwQ7+04cj55dn4KtWku6tkko\/Em6vDRer+YREWZWEXDcLzb7WB6ZUsjceTObj4DdYh1TcLk7gslrfICcdNMPVHlsPNMoNmM69ODs3nyWbKlcdTd7dSZ6eugYRzaXjPlzWEdOXm5b3a8Oa3O8UA9XGfAfJdkGkLJTNL5IXTEbl80h+eMBNaK1Zn2laW7G3V+iMPU9\/oLpJSUkE\/HStl453Bjhy225Z2J+SqLbe7ZcgI6KoaS0AdGWlpG3LB+B5diwdL0dNX3a4XOOBjaUO6KCPgAbjbfHbgDzK\/S+UsFNqWzOo4WxyvlzJ0TQ3LctGTgd5TyUX3SanOrFOs7NN+WmRQXStFttlRWEA9EwkAnGTyA88LL0fRPp7P6TM3E1Y8yuJ6x1fn4rl1VIblc6CxRSEdK\/pJuHqH\/ABk+Sp2MbGxrGDDWgADsCR5RtzKY\/Ert8I5fN6npERZlQREQAREQB5e8Rsc93JoJKnNCMLbC8n36hxHk0fZbdzk6K1VcmM8ED3eTSszRkfBpqB367nu\/zEfZOtxk0s8RFck\/Q3UREhSEREAFh6suT6CzujhyZ6o9EzA3GeZ8tvFbilX\/ANN62azjDqa2NyRjYv6\/nj9lPBZ3fAnxEmobMdXkbdktwtdqhpceuBl\/e4813rAr9Y2yjfLCwvqJozwhsY2cfiuDoNR6j3qH\/oyid7gyHOHw5nxwO5d2G85ZCdvCK2Kau1wXua9y1NbLaeB03TzZx0UOHOz39QWY5+pr8fwm\/omlPvOJEjh9fota16dt1pAdBDxyj+tk3d4dngtRG1FaI72dSp+47LkvcwqDSFto5BNNx1k3MunORntx+eVtta1jQ1jQ1o5ADAC9Ikcm9TaFOFNWirBT+sa6SntbKOn3mrX9EMHfh6\/PIHiqBSkThftaGRrQ6ltowHdr88\/POO5qaCzu+BliZPY2FrLL38jftNvZa7ZDRswSxvrOHvOPM+anIp4q7WNbcZnN9GtkfCCe0ZHXtz4v43VJdK0W+2VFWcfhMJbnrPUPPChKds7rdS2eAn0m6SdNM4uJLWdWfAFx7k8Fe7ZhiZKDjBcM7eS8zf0tA+vrKu\/1DfWncWQA9TRzPX2AeBVOvypqeOkpoqaFvDHE0NaO4LxXVsFupH1VS\/hjYM95PYO9Zye08iqlBUqdm+vqeLjcqW1UpqauThYDgAblx7AFORsu+q39K97qC2cWWNb7b8defvy+KW6gm1PXi7XOMtpGH+bwE7OHf3fX4KtAAGAMAJ8oaamKUsRm8o8ufXwJzSU8omudBJK6RtHPwsLjk4y4fuqkUxpT17vfZW7sfU+q7t9Z\/wCYVOlqbw+Ffwl8\/uwiIkKTK1NJ0WnK12cZj4fMgfdetOR9Fp6hbjGYg7z3+64tbTdHpyRmQOlkY3475+y2KGH0e300GCOjia3B6sABP\/T5kyzxD8EvudCIiQpCIiAPwraltHRTVLyOGJhfv14Cw9FUzmWmStl3lrJS8uI3IG314vNetaVLorIKePPHVStjAHMjmfoB4rZoKVtFQQUreUUYb8SBuVppDqS7+I\/yvN\/g\/OK00EFbJWspmekSHLpDuc93YuxESNtlKio6IIiLh0IiIA+OHE0jJGRzC4LPZ6ey0r4KcucHvLi5+OIrQX5zSsp4JJpDhkbS5x7gMrt3oK4xvtPgSutq9sjoLS12OI9LO4e60Z\/3PgO1e9HURqJJ71NGGmU9HA3qYwbbdwwGj4FTP85vlz\/9i4y\/EMjB+gx8fU71\/S4IYaCjZCzEcMDMAk8gBzJW8+5HZPMw\/wAes6r0Wnp7\/M9TTR08L5pnhkbBlznHYBSlPHNq28Gqma9tppziNh2EpHb256\/JeZ5Z9YXT0WAllqpnfiPBx0h\/jl2c1WwQRU0DIIWBkcY4WtHUEm4vEp\/kS\/4Xn+D21oa0NaAABgAdS+ovyqXPZSyuiaXSNYS0DmTjZZFbyRPaKAfTV87c8MlUcAjGNs\/cKmUhoysfTxttgoZsuke6Wb3WOAxg+QCr1pU3mTYRp0VYIiLMqJjWP489poT7NRU755cwP3lTqYvX42srPANywGTHmf3VTp5bqRNRzqVH4pfRBERIUhERAEtef6R1jbKH2mU46Z4PLt8fZHmqlTFv\/F1\/cXuA\/DgDW7ctmb\/XzVOnnwRNh83OXNvyyCIiQpCIiACIiACnNb1pprKIGn1ql\/Cd\/dG5+yo1B6+l4rrSwOJDGQ8WRvzcQdv8K0pK80SY2bhQlbjkduiqANhlu9ScNDeihLzs1g9p2523HhgpV1dVq2tdQUDnRW2I\/jT4\/wC5\/HUPEr8KdlfqKlgt9JC+itUQAdI7OZAPr8FXUVFT2+lZTU0YZGwbDt7z3p5OzvxMKNNzgoLd4vn+BRUVPb6VlNTRhkbBsO3vPeuhEWB6KSSsgiIg6fAAOQwvqIgAiIgCYq\/X\/lEouro6Y+Oz\/wA1TqY9v+UT9bgpv2dv9\/mqdPPh0JsP\/f8A0\/QIs+svtroAfSK2IOHuNPE7yG6yHay9JJba7VVVbgQCcYA8srihJ8B54ilB2bzKdFgW6r1LVV7HVVFBTUgPrAn1iMfE7+ARcasNTmpq6TXU57Ic6wvPgqdS1K42\/X1TC\/ZldFxMPfz+zlUpp6oyw261yb+4XlzmsYXvcGtaMkk4AC8z1ENLC6aeRscbRkuccAKUnqq3WE\/otE19PbGO\/GmdsZP4xy8+pcjG\/QerWUMlm3ojQt9\/qLvezFQwNNuhBEs7gcuONseOPBb656Kip7fSspqaMMjYNh295710Ik03kNSjOMe+7sIiJTQ8ve2NjnvOGtBJPYFJ6ephfbpWXythD4nO6OCOQAgD4dwwPiSu7WFdLBbWUNOCZ65\/RNA546\/PIHita20TLdboKRnKJuM9p5n5rRd2N+ZLJdrWUeEc\/nwOkAAYAwAvqIsyoIiIAIiIAIs6sv8AaqAHp62PiBxwsPE7yCyTq6orDw2m0VFQCcCR4w3Ph4dYTKEmYTxFKLs3n9SnXBcr1QWpmaucNdjIjbu4+CxfQ9WXRrhU1kVvifzZGPW5dWN\/muy36RtdFwvkjNVMDkvl3Gf7vLzym2YrVidrVnuRt4v2JyO511y1TUVllpsyPhAAmwOFvqguO+P+VrjTN1uOXXi8PLXc4YPZ+w+S+2j19b3V4GzYwz4eyMfJVCac7PIwoUFNNzbeb6amPR6Vs9FgtpBK8e9MeL5cvktZjGRsDI2hjWjAa0YAXpFk23qXQpwgrRVgiIuDmNf7LJcugqqR4iraV3FG4+8Bvjzx81wMvWpY2iGWxdJNjHSNdhvjzHzVQidSys1cnlQvJyjJpslY9PXO8VDajUFT+G3dtNEdh5bD5nvVNDDHTwshhYGRsGGtaNgF+iLkpNj06Maea1fHiEREpqF5L2B4YXAOIyG53K9LIu+m6C8ztnqTK2RrAwOjcBsCT1g9q6rcRJuSXdV2Z0mblr2No9aK3xZdjlxEdvxcPL4qnJAGScAKIs2kKqohknrKioopC\/ha0Hct7Sf45LRGhqN5zU11XNvn2gPqCtZKOl9CKjKsk5bGrvqbstyoITiWup4z\/blaPuuSTU1ljOHXCI\/3cu+i5odF2SLHFBJKQffkO\/lhdUem7NF7NuhP94cX1S9zxN74h8Evqck2tbNEMsklmH9iIj\/Vhc3\/AFVcKsYt1inkydpJM8PyGPmqCGgoqY5gpIIiOtkYb9F0IvFaIOzrS1nbovcmC7WVZ7LKSiB3GcE\/vLydMXat\/wDJX2RzCfWjiBwfmB8lUojbfAP00XvNvqzHodK2ehwW0omePfn9c+XL5LXAAGAMAL6iRtvU2hTjBWirBERcHJjT34mqL3J+q8N25cz+Sp1MaWOb5f8A\/wCkf6nqnT1N4mwv7V\/F\/dhERIUhERABERABERABERABERABERABERABERABERABERABERAExpUZvN+eN2mq2P8AieqdZGnbPNaKadtRKyWaaUvLmcsdX381rp5u8ifDRcaST8fuEREhQEREAf\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ESCUELA DE PARVULOS PAPELUCHO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28751\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28751\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28751\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28751\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:03",
    "ubicacionGPS": "LatLng(lat: -22.4462316, lng: -68.916213)",
    "horaLlegada": "10:34",
    "horaDespacho": "10:15",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 11:03:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[25/05/2026 11:03: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', 'EP3026', 1, 19969062, 15178, NOW(), 
				'10:15', '10:34', '11:03', 10, 'entrega de insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779721432.png', 'entrega de insumos', null, 'COMPLETADO','LatLng(lat: -22.4462316, lng: -68.916213)' )
				
[25/05/2026 11:03:52] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200400
[25/05/2026 11:03:52] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200400', 'EPS-I1240', 2)
				
[25/05/2026 11:03:52] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28751 and
				    IDproducto = 'EPS-I1240'
				

25/05/2026 11:03:52 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1240';
                [25/05/2026 11:03:52] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200400', 'EPS-I1241', 2)
				
[25/05/2026 11:03:52] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28751 and
				    IDproducto = 'EPS-I1241'
				

25/05/2026 11:03:52 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1241';
                [25/05/2026 11:03:52] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200400', 'EPS-I1242', 2)
				
[25/05/2026 11:03:52] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28751 and
				    IDproducto = 'EPS-I1242'
				

25/05/2026 11:03:52 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1242';
                [25/05/2026 11:03:52] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200400', 'EPS-I1243', 2)
				
[25/05/2026 11:03:52] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28751 and
				    IDproducto = 'EPS-I1243'
				

25/05/2026 11:03:52 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1243';
                
25/05/2026 11:03:52 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200400'                    
				WHERE idllamado = 12680			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


25/05/2026 11:03:53 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12680			
				
25/05/2026 11:03:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11:03:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

[25/05/2026 11: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12680
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12680
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

25/05/2026 11: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 = 12680
                

[25/05/2026 11: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;
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12680
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11: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 = 12680
                

25/05/2026 11:03:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:03:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

[25/05/2026 11:03: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;
                

25/05/2026 11: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 = 12681
                

25/05/2026 11:03:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

[25/05/2026 11:03: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;
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11:03:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:03:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:03:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:03:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

[25/05/2026 11:03: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;
                

25/05/2026 11: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 = 12681
                

25/05/2026 11:03:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

[25/05/2026 11:03: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;
                

[25/05/2026 11:03: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;
                

25/05/2026 11:03:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12681
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12681
                

[25/05/2026 11:04: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;
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

[25/05/2026 11:04: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;
                

25/05/2026 11:04:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

[25/05/2026 11:04: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;
                

25/05/2026 11:04:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:04:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:04:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:04:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:04:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:04:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

[25/05/2026 11:04: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;
                

25/05/2026 11:04:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:04:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:04:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

[25/05/2026 11:04: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;
                

25/05/2026 11:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:04:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

[25/05/2026 11:04: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;
                

25/05/2026 11:04:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

[25/05/2026 11:04: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;
                

25/05/2026 11:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:04:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:04:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:04:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:04:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:04:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:04:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/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 = 12690
                

25/05/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 = 12690
                

25/05/2026 11:04:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11:04:51 - logentry: =========================================
FECHA: 25/05/2026 11:04:51
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-z2P7naNl28R3NPRoHvpmGveraXaP_L1f6h3WIaXoKjbAnf1iyU5
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "51064970",
    "serieinterna": "TO2730",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "887807",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se cambia kit de fusor por copias arrugadas.\nsigue pendiente por cambio de bandeja 2 ( oficio )",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12690",
    "observacion": "cambio de kit de fusor por copias arrugadas",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACYAQQDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABFEAABAwMCAgcGAgYFDQAAAAABAAIDBAURBiESMRNBUWFxgaEUIjKRscHR8AcVIzNCUhYkQ4LhJTQ3R1NicnN0hJKiwv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgMFBwQDAQEAAAAAAAABAgMREiExBCJBUWETMnGRocHRFCOB4WKx8DPx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREAREQBFTXbUlPbpvZYI3VdYdhDHuQe\/H0UBtbrCdokZbqWJpGzXHf1cpqDauZ5bRBPCrt9Fc1CLLjUF4tcsYvVuaIJHAGeE7MztvzC0dPUQ1cDZ6eRskbxkOaVxxaJ060Z5LXk9TqiIoloREQBF4lljgidLM9scbBlznHAAWbq9XOqJjS2OkfWTf7QtPCO\/H44UoxctCqpWhT7zNFUVMFJCZqmZkUY5uecBZqbVNZcpTTWCifKeRnkGzfLkPP5LpT6WnrqgVmoKo1UmPdhYcMb5\/Yeq0UMENNEIoImRRt5NYMAKW7HqVfeq\/xXr+iNaYK2noGMuFT7RUEkucBsM9XeimooN3NMY4UkERFw6EREAREQBEVdebxT2ekMshDpXDEUWd3n8O9dSbdkRlJQWKWhYoss686niYap9midSkcYAd74adxnfOQP8AdV5artS3el9opXHAPC5rti09664NZlcK8JvDo+uRNREUS4IiIAiIgCiT3W300vRT1sEbwQC10gBGe3s5Kiu96qLnWiy2V2XuJE1QOTB14I+vkFKg0daY6UxTxOqJXDDpnPIcfDfAVmFJbxldac21SV7cXoXrXBzQ5pBBGQR1qn1Jdn2+jbBSkOrapwjhYOe\/X9vEqod7do6oYON1VapXBvvn3oz9vovdkab\/AKkqb1ICaenPR04Pp6HPi5dUEt7gVyrua7NK0nl4dS0sOn4bVEJ5R0tdIMyyuOSCeYH49auURVttu7NcIRpxwx0PEsUc8TopmNkjeMOa4ZBCyjY5NJXyNrXl9srncOHHPRO5em2\/Z4LXKh1lTibT0sgHvQPa9p6xvj6FSg87cGU7THc7RaxzL5FFttQaq2UtQTkyRNcT3kbqFdNS261kxvl6afl0MW7s9\/UPqoqLbsi11IRjik7ItiQBknACz9w1ZDHOaO1wmuqieEBvwg+PX+d1ENDfNSu\/yi426iB\/ctHvv8f8fktBb7XRWuHoqOARg\/E7m53iVO0Y65lOOrV7m6ub1\/C+Sii05X3eUVOoKoluctpYne63x6h5fNaKko6ahhENLAyFg6mjGfHtXdFFybLKdGFPNa8+IREUS4IiIAiIgCIiAIiIDjVVMVHSyVM7uGOJpc4rNWOhffq19+uTOJuS2mhcNg0cj38z55K+3kvv2oIrNE5wpqfD6kgnB7tu7l3k9i08UUcELIYmBkbAGtaOQCs7q6syW7apn3Y+r\/R7WWt7G27XVZTRtDIqqHpGt5b7Hb\/2WpWYn\/0iU3\/TH6OSHHwJbRrB9UadERVmkIiIAs1qK5VVTWx2G1uxPN+\/eP7Np7+rbc+Xar+rqWUdJLUyEBkTC45PYFQ6QpJJIp7zVNHtFY8kO3zw59MkegU45bzM1duTVKPHXw\/ZbWq00topBT0zN\/43ke889pU5EUW75svjFRVloZ3WtbFTWMwOAdJUODWA9WNyfz2hd9IFh01SljA34uLHWeI7qnvDv1hqarJy6G20T3HHLi4Cfnl3orfRzS3TNMT\/ABF5H\/kVbJWp2MNOTntTfCzXk17l4i5zTw00RlnlZFG3m55wAs9Uav8AaJjS2WjkrZup5BDB39uPkq1FvQ11K0KfeZo3vZGwvkcGNaMlzjgBZq\/antUlBUUML31Mk0bmjom5aDjbJP2ykem7hdHdNfq97gdxTQuw1v2+XzU2tt1vs9hrXUtNHE4U72h4blxyMDJO\/NTSinzM85VZwdlhXXXyKGy0t9vFpgp2VbaO3sBbxs+OTc56893UPFaS16dt1pAdBDxyj+1k3d5dnkuWk4ui01SDrcHOPm4lXK5OTu0juz0IqEZvN2WvsERFWbAiIgCIiAIiIAiIgCIiAKBe7h+q7RPVAgPa3Eef5jsFPWWvwdeNR0Nna79jF+3nGxH5xt\/eUoK7zKK83CG7q8l4sm6UtrqG19PMP6zWHpZDjBweQ9c+ZV4vgAAwBgBfVxu7uWU4KnBRXALMU\/8AW\/0gVEjd20tPwkntwNh8z8itK5zWML3HDWjJPYFmtGtdUvuF1eHcVTOQ0u7Bv9\/RTjkmymtvThDrfyNOiIqzSEREBQ6zqDBp2VoIBme2Pr8fsrS20wpLZTU4GOjia0+ON\/VUWqOGe82akkGY3z5cO3cK\/q6+koWcdVURwjGfedgnwHWrH3UjLFrtpyfCy9yQuVTM2mpZZ3fDEwvO\/UBlZ+p1pSmXoLbSz10pJADGkA+HWfkqi\/VWopraaiu4aKmdhnQtOC8nq5k8s7H5JGm28yNTa4KLcM7cvkhtroKfTtZL0odX3KYhwByWx5yc9mTn5jsVrb6zUVTboaK2UXs8McQb7ROME94ztjyKg2a0wTakp4IG8bKSNr6lz\/eBk6wOXInHkV+gqypJLKxl2WjOau3ZLLL1z8TMwaPE8wqLzXS10mPhyWtHdnOflhX9JR01DCIaWBkLB1NGM+Pau6Klyb1PRp0adPur5Cz2tqnobAYWn3qiRrABzI5\/b1WhWYvR\/WOrbZb2k8NP+3k6h2\/\/AD6rtPvXK9qf2nFavLzNBRU4paGCnAx0UbWY8Bhd0RQNCVlZBERDoREQBERAEREAREQBERAfHODWlziAAMknqWY0wRcb1dLwM9G93RRkjcjb7BuyuL\/Maew1sjTg9C4A5xjO33XDS0Ig05RtA3c0vO2M5JKmsotmae9XjHln7FuiIoGkpNW15oLDNwuxJP8Asm+fP0ypdjoRbrNTU3CA8My\/Ax7x3KpbsP1xq+jtzSTDSDpZcHbPPq\/ujzWpJAGScAKyWUUjLT36sp8Fkvc+oqWv1ZaaEhomNTITjggw715Kv\/WGp7wQKKjFuhJIMsvxfIj6DzXFB6slLaIJ2Wb6ZmkqKqnpI+kqZ44WfzSODR6qgqdaUpl6C20s9dKSQAxpAPh1n5JT6Mp3TdPc6yeulzk8R4Wnx5n1V\/T0tPSR9HTQRws\/ljaGj0XdxdSP35\/xXm\/gwl0fe7jd7b7bG2hkkfiAs5s3GTzyr6l0Vb2O6SulmrZTzL3FoJ8Bv6rnqPbUtiJ2BlIz\/eatOpSm8KtkU0dng6k8ebT4+Bxp6WnpI+jpoI4WfyxtDR6LK\/pAqC2no6ccnPc8+QwNvMrYLBy1kepdZ00XAHUsJc1vY8Nyc+ePouU+9ifAntjSp9mtZZIv9JWw2+0iaYH2irPSyE88fwj5b+JKvURVyd3c1U4KnBRXAIiLhM+OcGtLnEAAZJPUsvpZhuF1uN7eNpH9FEcnl59wb6qdqytdSWR8cR\/bVJELBnc5548vqplkt\/6stFPSkAPa3L8fzHcqxZRvzMst+uo8I5\/ngT0RFWagiIgCIiAIiIAiIgC8veyNvE9waO0nCzGqH6iNQIrayQUxbkugHvk955jyWbZRzcXFc7TdaiTt4iAfm0n1Vsad1e5hq7W4ScVF+PD3N5NqC0QfHcafbqa8OPplQZdaWSMEtnkl7mRH74VDDGxv+a6Old2Omc9wOfEYUyI32PHs2l6CInkeBox4+8FLBFf+oq+pqy09FJ\/BHv8AqqG6WiampqOobG8tzLIAAMHONs9il0Wo7nTUNPAzTVW9sUTWNcOLcAYz8Cj3k6nq7TMytoaWGmY3idwOGQG77e8V7tdnvN2ttPO++SQwOaAxkQOzRtjbHYpWjhzKlKs6uV725Jf2dKnWtbTfvrHJB\/zXkZ+bR2qOf0gy4923M5dch\/BW1Nom1RHin6aqf1mR+B6YULU8VNTRU9ltlJDHUVrhxcDACG52yee56+wFcXZt2SJzW1Qi5ynbyb\/oqLbdLvQR1FbDbJJpat3EamSN7m47B69fZ2LhLd56+qcL7U1sUDv7GnYGg+RI+hX6NS07KSlip4mgMiYGgAdi6uaHNLXAEEYIPWudqr3sT+inhSx\/jgZqz1mk6ZrTSSQRyA\/HOCHg\/wDE77bLRxTRTM44pGSN7WOBCg1On7RVkmaghJPMsHAT5jCq5ND28PMlLU1VM7q4XggemfVQeGXEviq1NWUU10yNKiy\/6n1Lb8GivIqmj+Ccc\/nn6r4NQ3y3kNullc9o26SDl6ZH0TBfRnfqMPfi16r0PWq3CK7WKZzg1jKk8RJ5DiZ+C06xOob\/AGy92ZzIJHx1EL2yMZI3hJ6jg8uRzzVzVamgo7BT17y1888YLIgfid1+ABXXF4UrFdOtTVScr5ZP2OeqbnIyOK00Tv65WEN904LGk8\/Pl4ZVbbrey26xoqOM8XQ0pMh7XEHJ9QrTT9oqGTSXe5u4q6oHwkfum9njy8Pmo\/8ArE\/7b7KSaScVyK5xcpRqy4tW6L9mnREVB6QRFSanur6GibTUpzWVbhHE0YJGTuceniV1K7sQqTVOLkytB\/pHrD+aitnmHO\/xI+TVrVW2G1MtFrip+EdKRxSuHW49\/dy8lZKU3d2WhXQg4xxS1eb+PwERFAvCIiAIiIAiIgCIiAIiIAiIgOc8LKinkgkGWSMLHDuIws9pCZ9MKuyz7TUchLdscTSfx38wtKsxfGi0aho72C7oZD0NQANgMbE\/n+FWQzTiZq+5KNXlr4M0ksrIYnyyODWMaXOceoDmVmtLwG51tTf6nd73lkAyfcb19fl8171PWvrHQWKhJdNVlrpHN3DY\/wAjPh4q+o6WOio4qWIe5E0NCd2Pic\/61ukf7\/R3REVZqCIiAIiqrzf6WzxYcelqXDLIG8z3nsC6k27IjOcYLFJ5EXVFJZW0D6ivha2TcRuj92Rzu7t89li7TUtt9yiqLhSSTRU4+AjePJyCAe8nn2rW2u0Vd0rRd74zDh+4piNmDtI+3zXnUlNLbq+K\/UkXHgcFUzGQ9nLfy2+S0RklunlVqcp\/fSsl0ztzfwaCirae4UrKmmkD43jY9nce9UExDf0iU42HHTEeOzvwUGWBtpjbqDT8pkpHn9vTk7AZ9Mct+S93C400uoLLeYpAYJAYnHOOA75B7Mcaio2bsW1K2KKUtU0+jV9UbJEVdd73RWaHjqJMyEe5E34nfgO9UpN5I9CUowWKTsiTXVsFupH1VS\/hjYM95PYO9Z6wUdTeLh\/SG4jBHu00XUG77+G5x35PYvNJbq\/UlWyvvLOho2HMNLy4u8\/nfuC1TWhrQ1oAAGAB1Kb3VZamaKdeSm1aK069fg+oiKs1hERAEREAREQBERAEREAREQBERAFAvYozZ6n2\/HQcHvHsPVjvzhTXOaxhe9wa1oySTgALJSyS6wu5p4nObaaY5kcNulP59N+eynBXdyivUwxwpXbyS\/3AhaJqKSlrpGVYMdTOwdC+QYBb2A9+3yW8VZc7BQXSkZBLFwGJvDFI3mwfcdxVLHX3vTTTFcYDX0bRhk0Z3YO\/b6\/NSlao7rUz0r7NHBNbvNe5rUVHBrCyTMDjVGJxGS2SN2R8gR6r5PrKyQ\/DUPlPZHGfvhRwS5Gj6ija+JeZernNPDTRGWeVkUbebnnACzLtS3S6hzLJa38PLp5sYHlyz5leo9KVdwmbPfbi+oI5RR7NH4eQC7gt3mQ+oc8qUb9dEKzUtVcZjQ6fgdK8j3qhzcNaOWRn6lTLNpqKglNZWSe11zjkyv3DT3Z+v0VtS0lPRQNgpomxRt5NaF2XHLK0TsaLcsdR3fovAL45oc0tcAQRgg9a+ooGky1RZbjZqmWpsgZLTSnMtG89XXjPn3743WTroqhz3sht9TTxvPE+ncxxax\/aNvznC\/VUV0arWqMFXYozyi7L\/aGTZdNTXSNsVHb20bSADPKc+JGfsCp9p0vBRS+2Vshra1xyZH7gHuB+p9FeooOfBZF0dnV1KbxPr8BERQNIREQBERAEREAREQBERAEREAREQBfCQBknAC+SSMijdJI9rGNGXOccADvKydXW1WrKl1vtrjFb2H9vUEY4+4fh81KMblNWqqeWreiFbVz6ruDrZQSGOghOaiYfx79Xy27efUtNRUVPb6VlNTRhkbBsO3vPevFuttLaqUU1JHwsBySdy49pKlrspXyWhGlScXjnnJ\/6yCIigaCHLaLbO7ikoKdxxjPRjdeoLZQU37iigjPa2MAqUi7dkMEb3sERFwmEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBcKyd9LRyzshMzo2lwjbzdjqCIurUjJ2i7Gako7vqeoYK+J1vt7MOMOfeefx+nZlaWko6egpmU9NEI42DYD6ntKIpSk3kU0aaW+82+J3REUDQEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MARITZA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REVISIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R1284\",\"id_control\":\"28756\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:04",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "10:56",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 11:04:51
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-z2P7naNl28R3NPRoHvpmGveraXaP_L1f6h3WIaXoKjbAnf1iyU5
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "51064970",
    "serieinterna": "TO2730",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "887807",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se cambia kit de fusor por copias arrugadas.\nsigue pendiente por cambio de bandeja 2 ( oficio )",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12690",
    "observacion": "cambio de kit de fusor por copias arrugadas",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACYAQQDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABFEAABAwMCAgcGAgYFDQAAAAABAAIDBAURBiESMRNBUWFxgaEUIjKRscHR8AcVIzNCUhYkQ4LhJTQ3R1NicnN0hJKiwv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgMFBwQDAQEAAAAAAAABAgMREiExBCJBUWETMnGRocHRFCOB4WKx8DPx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREAREQBFTXbUlPbpvZYI3VdYdhDHuQe\/H0UBtbrCdokZbqWJpGzXHf1cpqDauZ5bRBPCrt9Fc1CLLjUF4tcsYvVuaIJHAGeE7MztvzC0dPUQ1cDZ6eRskbxkOaVxxaJ060Z5LXk9TqiIoloREQBF4lljgidLM9scbBlznHAAWbq9XOqJjS2OkfWTf7QtPCO\/H44UoxctCqpWhT7zNFUVMFJCZqmZkUY5uecBZqbVNZcpTTWCifKeRnkGzfLkPP5LpT6WnrqgVmoKo1UmPdhYcMb5\/Yeq0UMENNEIoImRRt5NYMAKW7HqVfeq\/xXr+iNaYK2noGMuFT7RUEkucBsM9XeimooN3NMY4UkERFw6EREAREQBEVdebxT2ekMshDpXDEUWd3n8O9dSbdkRlJQWKWhYoss686niYap9midSkcYAd74adxnfOQP8AdV5artS3el9opXHAPC5rti09664NZlcK8JvDo+uRNREUS4IiIAiIgCiT3W300vRT1sEbwQC10gBGe3s5Kiu96qLnWiy2V2XuJE1QOTB14I+vkFKg0daY6UxTxOqJXDDpnPIcfDfAVmFJbxldac21SV7cXoXrXBzQ5pBBGQR1qn1Jdn2+jbBSkOrapwjhYOe\/X9vEqod7do6oYON1VapXBvvn3oz9vovdkab\/AKkqb1ICaenPR04Pp6HPi5dUEt7gVyrua7NK0nl4dS0sOn4bVEJ5R0tdIMyyuOSCeYH49auURVttu7NcIRpxwx0PEsUc8TopmNkjeMOa4ZBCyjY5NJXyNrXl9srncOHHPRO5em2\/Z4LXKh1lTibT0sgHvQPa9p6xvj6FSg87cGU7THc7RaxzL5FFttQaq2UtQTkyRNcT3kbqFdNS261kxvl6afl0MW7s9\/UPqoqLbsi11IRjik7ItiQBknACz9w1ZDHOaO1wmuqieEBvwg+PX+d1ENDfNSu\/yi426iB\/ctHvv8f8fktBb7XRWuHoqOARg\/E7m53iVO0Y65lOOrV7m6ub1\/C+Sii05X3eUVOoKoluctpYne63x6h5fNaKko6ahhENLAyFg6mjGfHtXdFFybLKdGFPNa8+IREUS4IiIAiIgCIiAIiIDjVVMVHSyVM7uGOJpc4rNWOhffq19+uTOJuS2mhcNg0cj38z55K+3kvv2oIrNE5wpqfD6kgnB7tu7l3k9i08UUcELIYmBkbAGtaOQCs7q6syW7apn3Y+r\/R7WWt7G27XVZTRtDIqqHpGt5b7Hb\/2WpWYn\/0iU3\/TH6OSHHwJbRrB9UadERVmkIiIAs1qK5VVTWx2G1uxPN+\/eP7Np7+rbc+Xar+rqWUdJLUyEBkTC45PYFQ6QpJJIp7zVNHtFY8kO3zw59MkegU45bzM1duTVKPHXw\/ZbWq00topBT0zN\/43ke889pU5EUW75svjFRVloZ3WtbFTWMwOAdJUODWA9WNyfz2hd9IFh01SljA34uLHWeI7qnvDv1hqarJy6G20T3HHLi4Cfnl3orfRzS3TNMT\/ABF5H\/kVbJWp2MNOTntTfCzXk17l4i5zTw00RlnlZFG3m55wAs9Uav8AaJjS2WjkrZup5BDB39uPkq1FvQ11K0KfeZo3vZGwvkcGNaMlzjgBZq\/antUlBUUML31Mk0bmjom5aDjbJP2ykem7hdHdNfq97gdxTQuw1v2+XzU2tt1vs9hrXUtNHE4U72h4blxyMDJO\/NTSinzM85VZwdlhXXXyKGy0t9vFpgp2VbaO3sBbxs+OTc56893UPFaS16dt1pAdBDxyj+1k3d5dnkuWk4ui01SDrcHOPm4lXK5OTu0juz0IqEZvN2WvsERFWbAiIgCIiAIiIAiIgCIiAKBe7h+q7RPVAgPa3Eef5jsFPWWvwdeNR0Nna79jF+3nGxH5xt\/eUoK7zKK83CG7q8l4sm6UtrqG19PMP6zWHpZDjBweQ9c+ZV4vgAAwBgBfVxu7uWU4KnBRXALMU\/8AW\/0gVEjd20tPwkntwNh8z8itK5zWML3HDWjJPYFmtGtdUvuF1eHcVTOQ0u7Bv9\/RTjkmymtvThDrfyNOiIqzSEREBQ6zqDBp2VoIBme2Pr8fsrS20wpLZTU4GOjia0+ON\/VUWqOGe82akkGY3z5cO3cK\/q6+koWcdVURwjGfedgnwHWrH3UjLFrtpyfCy9yQuVTM2mpZZ3fDEwvO\/UBlZ+p1pSmXoLbSz10pJADGkA+HWfkqi\/VWopraaiu4aKmdhnQtOC8nq5k8s7H5JGm28yNTa4KLcM7cvkhtroKfTtZL0odX3KYhwByWx5yc9mTn5jsVrb6zUVTboaK2UXs8McQb7ROME94ztjyKg2a0wTakp4IG8bKSNr6lz\/eBk6wOXInHkV+gqypJLKxl2WjOau3ZLLL1z8TMwaPE8wqLzXS10mPhyWtHdnOflhX9JR01DCIaWBkLB1NGM+Pau6Klyb1PRp0adPur5Cz2tqnobAYWn3qiRrABzI5\/b1WhWYvR\/WOrbZb2k8NP+3k6h2\/\/AD6rtPvXK9qf2nFavLzNBRU4paGCnAx0UbWY8Bhd0RQNCVlZBERDoREQBERAEREAREQBERAfHODWlziAAMknqWY0wRcb1dLwM9G93RRkjcjb7BuyuL\/Maew1sjTg9C4A5xjO33XDS0Ig05RtA3c0vO2M5JKmsotmae9XjHln7FuiIoGkpNW15oLDNwuxJP8Asm+fP0ypdjoRbrNTU3CA8My\/Ax7x3KpbsP1xq+jtzSTDSDpZcHbPPq\/ujzWpJAGScAKyWUUjLT36sp8Fkvc+oqWv1ZaaEhomNTITjggw715Kv\/WGp7wQKKjFuhJIMsvxfIj6DzXFB6slLaIJ2Wb6ZmkqKqnpI+kqZ44WfzSODR6qgqdaUpl6C20s9dKSQAxpAPh1n5JT6Mp3TdPc6yeulzk8R4Wnx5n1V\/T0tPSR9HTQRws\/ljaGj0XdxdSP35\/xXm\/gwl0fe7jd7b7bG2hkkfiAs5s3GTzyr6l0Vb2O6SulmrZTzL3FoJ8Bv6rnqPbUtiJ2BlIz\/eatOpSm8KtkU0dng6k8ebT4+Bxp6WnpI+jpoI4WfyxtDR6LK\/pAqC2no6ccnPc8+QwNvMrYLBy1kepdZ00XAHUsJc1vY8Nyc+ePouU+9ifAntjSp9mtZZIv9JWw2+0iaYH2irPSyE88fwj5b+JKvURVyd3c1U4KnBRXAIiLhM+OcGtLnEAAZJPUsvpZhuF1uN7eNpH9FEcnl59wb6qdqytdSWR8cR\/bVJELBnc5548vqplkt\/6stFPSkAPa3L8fzHcqxZRvzMst+uo8I5\/ngT0RFWagiIgCIiAIiIAiIgC8veyNvE9waO0nCzGqH6iNQIrayQUxbkugHvk955jyWbZRzcXFc7TdaiTt4iAfm0n1Vsad1e5hq7W4ScVF+PD3N5NqC0QfHcafbqa8OPplQZdaWSMEtnkl7mRH74VDDGxv+a6Old2Omc9wOfEYUyI32PHs2l6CInkeBox4+8FLBFf+oq+pqy09FJ\/BHv8AqqG6WiampqOobG8tzLIAAMHONs9il0Wo7nTUNPAzTVW9sUTWNcOLcAYz8Cj3k6nq7TMytoaWGmY3idwOGQG77e8V7tdnvN2ttPO++SQwOaAxkQOzRtjbHYpWjhzKlKs6uV725Jf2dKnWtbTfvrHJB\/zXkZ+bR2qOf0gy4923M5dch\/BW1Nom1RHin6aqf1mR+B6YULU8VNTRU9ltlJDHUVrhxcDACG52yee56+wFcXZt2SJzW1Qi5ynbyb\/oqLbdLvQR1FbDbJJpat3EamSN7m47B69fZ2LhLd56+qcL7U1sUDv7GnYGg+RI+hX6NS07KSlip4mgMiYGgAdi6uaHNLXAEEYIPWudqr3sT+inhSx\/jgZqz1mk6ZrTSSQRyA\/HOCHg\/wDE77bLRxTRTM44pGSN7WOBCg1On7RVkmaghJPMsHAT5jCq5ND28PMlLU1VM7q4XggemfVQeGXEviq1NWUU10yNKiy\/6n1Lb8GivIqmj+Ccc\/nn6r4NQ3y3kNullc9o26SDl6ZH0TBfRnfqMPfi16r0PWq3CK7WKZzg1jKk8RJ5DiZ+C06xOob\/AGy92ZzIJHx1EL2yMZI3hJ6jg8uRzzVzVamgo7BT17y1888YLIgfid1+ABXXF4UrFdOtTVScr5ZP2OeqbnIyOK00Tv65WEN904LGk8\/Pl4ZVbbrey26xoqOM8XQ0pMh7XEHJ9QrTT9oqGTSXe5u4q6oHwkfum9njy8Pmo\/8ArE\/7b7KSaScVyK5xcpRqy4tW6L9mnREVB6QRFSanur6GibTUpzWVbhHE0YJGTuceniV1K7sQqTVOLkytB\/pHrD+aitnmHO\/xI+TVrVW2G1MtFrip+EdKRxSuHW49\/dy8lZKU3d2WhXQg4xxS1eb+PwERFAvCIiAIiIAiIgCIiAIiIAiIgOc8LKinkgkGWSMLHDuIws9pCZ9MKuyz7TUchLdscTSfx38wtKsxfGi0aho72C7oZD0NQANgMbE\/n+FWQzTiZq+5KNXlr4M0ksrIYnyyODWMaXOceoDmVmtLwG51tTf6nd73lkAyfcb19fl8171PWvrHQWKhJdNVlrpHN3DY\/wAjPh4q+o6WOio4qWIe5E0NCd2Pic\/61ukf7\/R3REVZqCIiAIiqrzf6WzxYcelqXDLIG8z3nsC6k27IjOcYLFJ5EXVFJZW0D6ivha2TcRuj92Rzu7t89li7TUtt9yiqLhSSTRU4+AjePJyCAe8nn2rW2u0Vd0rRd74zDh+4piNmDtI+3zXnUlNLbq+K\/UkXHgcFUzGQ9nLfy2+S0RklunlVqcp\/fSsl0ztzfwaCirae4UrKmmkD43jY9nce9UExDf0iU42HHTEeOzvwUGWBtpjbqDT8pkpHn9vTk7AZ9Mct+S93C400uoLLeYpAYJAYnHOOA75B7Mcaio2bsW1K2KKUtU0+jV9UbJEVdd73RWaHjqJMyEe5E34nfgO9UpN5I9CUowWKTsiTXVsFupH1VS\/hjYM95PYO9Z6wUdTeLh\/SG4jBHu00XUG77+G5x35PYvNJbq\/UlWyvvLOho2HMNLy4u8\/nfuC1TWhrQ1oAAGAB1Kb3VZamaKdeSm1aK069fg+oiKs1hERAEREAREQBERAEREAREQBERAFAvYozZ6n2\/HQcHvHsPVjvzhTXOaxhe9wa1oySTgALJSyS6wu5p4nObaaY5kcNulP59N+eynBXdyivUwxwpXbyS\/3AhaJqKSlrpGVYMdTOwdC+QYBb2A9+3yW8VZc7BQXSkZBLFwGJvDFI3mwfcdxVLHX3vTTTFcYDX0bRhk0Z3YO\/b6\/NSlao7rUz0r7NHBNbvNe5rUVHBrCyTMDjVGJxGS2SN2R8gR6r5PrKyQ\/DUPlPZHGfvhRwS5Gj6ija+JeZernNPDTRGWeVkUbebnnACzLtS3S6hzLJa38PLp5sYHlyz5leo9KVdwmbPfbi+oI5RR7NH4eQC7gt3mQ+oc8qUb9dEKzUtVcZjQ6fgdK8j3qhzcNaOWRn6lTLNpqKglNZWSe11zjkyv3DT3Z+v0VtS0lPRQNgpomxRt5NaF2XHLK0TsaLcsdR3fovAL45oc0tcAQRgg9a+ooGky1RZbjZqmWpsgZLTSnMtG89XXjPn3743WTroqhz3sht9TTxvPE+ncxxax\/aNvznC\/VUV0arWqMFXYozyi7L\/aGTZdNTXSNsVHb20bSADPKc+JGfsCp9p0vBRS+2Vshra1xyZH7gHuB+p9FeooOfBZF0dnV1KbxPr8BERQNIREQBERAEREAREQBERAEREAREQBfCQBknAC+SSMijdJI9rGNGXOccADvKydXW1WrKl1vtrjFb2H9vUEY4+4fh81KMblNWqqeWreiFbVz6ruDrZQSGOghOaiYfx79Xy27efUtNRUVPb6VlNTRhkbBsO3vPevFuttLaqUU1JHwsBySdy49pKlrspXyWhGlScXjnnJ\/6yCIigaCHLaLbO7ikoKdxxjPRjdeoLZQU37iigjPa2MAqUi7dkMEb3sERFwmEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBcKyd9LRyzshMzo2lwjbzdjqCIurUjJ2i7Gako7vqeoYK+J1vt7MOMOfeefx+nZlaWko6egpmU9NEI42DYD6ntKIpSk3kU0aaW+82+J3REUDQEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MARITZA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REVISIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R1284\",\"id_control\":\"28756\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:04",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "10:56",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 11:04:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:51064970

[25/05/2026 11:04:51] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('51064970', 'TO2730', 1, 7373114, 887807, NOW(), 
				'08:00', '10:56', '11:04', 4, 'se cambia kit de fusor por copias arrugadas.
sigue pendiente por cambio de bandeja 2 ( oficio )', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779721491.png', 'cambio de kit de fusor por copias arrugadas', null, 'REPROGRAMADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[25/05/2026 11:04:51] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200401
[25/05/2026 11:04:51] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200401', 'TOS-R1284', 1)
				
[25/05/2026 11:04:51] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28756 and
				    IDproducto = 'TOS-R1284'
				

25/05/2026 11:04:51 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R1284';
                
25/05/2026 11:04:51 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200401'                    
				WHERE idllamado = 12690			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


25/05/2026 11:04:51 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 12690			
				
25/05/2026 11:04:51 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('51064970', 'TO2730', 1, 'APP', 'sin otroTipo definido', -2, 'REVISIÓN', 'Sin coderror', '1', 'SI', now(), 'MARITZA', '984818954', 'tecnico@dsprint.cl', 12690)
				
25/05/2026 11:04:51 Insertado nuevo llamado creado idllamado: 12703APP
25/05/2026 11:04:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/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 = 12690
                

25/05/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 = 12690
                

25/05/2026 11:04:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/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 = 12690
                

25/05/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 = 12690
                

25/05/2026 11: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 = 12690
                

25/05/2026 11: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 = 12690
                

[25/05/2026 11:05: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;
                

25/05/2026 11:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/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 = 12681
                

25/05/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 = 12681
                

25/05/2026 11:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/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 = 12681
                

25/05/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 = 12681
                

25/05/2026 11:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

[25/05/2026 11:05: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;
                

[25/05/2026 11:05: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;
                

[25/05/2026 11:05: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;
                

25/05/2026 11:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

[25/05/2026 11:05: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;
                

25/05/2026 11:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/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 = 12681
                

25/05/2026 11:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/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 = 12681
                

25/05/2026 11:05:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/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 = 12681
                

25/05/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 = 12681
                

[25/05/2026 11:05: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;
                

25/05/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 = 12681
                

25/05/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 = 12681
                

25/05/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 = 12681
                

25/05/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 = 12681
                

25/05/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 = 12681
                

25/05/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 = 12681
                

25/05/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 = 12681
                

25/05/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 = 12681
                

25/05/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 = 12681
                

25/05/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 = 12681
                

25/05/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 = 12681
                

25/05/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 = 12681
                

25/05/2026 11:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

[25/05/2026 11:05: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;
                

25/05/2026 11:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

[25/05/2026 11:05: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;
                

25/05/2026 11:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

[25/05/2026 11:05: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;
                

[25/05/2026 11:05: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;
                

[25/05/2026 11:05: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;
                

25/05/2026 11:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

[25/05/2026 11:05: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;
                

25/05/2026 11:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:05:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

[25/05/2026 11:05: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;
                

[25/05/2026 11:05: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;
                

25/05/2026 11: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 = 12690
                

25/05/2026 11: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 = 12690
                

25/05/2026 11:05:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12690
                

25/05/2026 11: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 = 12690
                

[25/05/2026 11:09: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;
                

25/05/2026 11:09:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:09:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:09:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:09:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:09:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:09:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

[25/05/2026 11:09: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;
                

25/05/2026 11:09:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:09:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:09:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

[25/05/2026 11:09: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;
                

25/05/2026 11:09:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:09:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:09:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:09:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

[25/05/2026 11:09: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;
                

25/05/2026 11:09:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:09:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:09:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:09:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

[25/05/2026 11:09: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;
                

25/05/2026 11:09:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:09:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

[25/05/2026 11:09: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;
                

25/05/2026 11:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:09:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

[25/05/2026 11:11:02] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12690
                

25/05/2026 11:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12690
                

[25/05/2026 11:11:02] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:11:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

[25/05/2026 11:11:03] 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;
                

25/05/2026 11:11:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

[25/05/2026 11:11:03] 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;
                

25/05/2026 11: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 = 12690
                

25/05/2026 11: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 = 12690
                

25/05/2026 11:11:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

[25/05/2026 11:11:03] 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;
                

[25/05/2026 11:11:03] 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;
                

25/05/2026 11:11:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12690
                

25/05/2026 11: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 = 12690
                

25/05/2026 11:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

[25/05/2026 11:11:04] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

[25/05/2026 11:11:04] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

[25/05/2026 11:11:04] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:11:04] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:11:04] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

[25/05/2026 11:11:04] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

[25/05/2026 11:11:04] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:11:04] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

[25/05/2026 11:11:04] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11:11:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:11:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

[25/05/2026 11:11:05] 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;
                

25/05/2026 11:11:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

[25/05/2026 11:11:05] 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;
                

25/05/2026 11:11:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

[25/05/2026 11:11:05] 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;
                

25/05/2026 11:11:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:11:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11:11:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:11:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:11:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

25/05/2026 11:11:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

25/05/2026 11:11:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12690
            GROUP BY l.idllamado;
            

[25/05/2026 11:11:05] 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;
                

[25/05/2026 11:11:05] 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;
                
[25/05/2026 11:11: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

25/05/2026 11:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                
[25/05/2026 11:11:06] 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;
                

25/05/2026 11:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12690
                

[25/05/2026 11:11: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;
                

25/05/2026 11:11:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12701
            GROUP BY l.idllamado;
            

[25/05/2026 11:11:14] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:11:21] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:11:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12701
            GROUP BY l.idllamado;
            

25/05/2026 11:11:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12701
            GROUP BY l.idllamado;
            

25/05/2026 11:11:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:11:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:11:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:11:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12701
            GROUP BY l.idllamado;
            

25/05/2026 11:11:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:11:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12701
            GROUP BY l.idllamado;
            

25/05/2026 11:11:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:11:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:11:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:11:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:11:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12701
            GROUP BY l.idllamado;
            

25/05/2026 11:11:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:11:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:11:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:11:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:11:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12701
            GROUP BY l.idllamado;
            

25/05/2026 11:11:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:11:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:11:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12701
            GROUP BY l.idllamado;
            

25/05/2026 11:11:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:11:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:11:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:11:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12701
            GROUP BY l.idllamado;
            

25/05/2026 11:11:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:11:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:11:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12701
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12701
                

25/05/2026 11: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 = 12701
                

25/05/2026 11: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 = 12701
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12701
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12701
                

25/05/2026 11: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 = 12701
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12701
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12701
                

25/05/2026 11:11:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:11:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:11:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:11:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:14:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:14:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:14:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:14:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

[25/05/2026 11:14: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;
                

25/05/2026 11:14:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:14:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:14:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:14:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

[25/05/2026 11:14: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;
                

25/05/2026 11:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

[25/05/2026 11:14: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;
                

25/05/2026 11:14:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

[25/05/2026 11:14: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;
                

25/05/2026 11:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:14:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:14:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

[25/05/2026 11:14: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;
                

25/05/2026 11:14:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:14:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:14:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

[25/05/2026 11:14: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;
                

25/05/2026 11:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:14:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:15:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12701
            GROUP BY l.idllamado;
            

25/05/2026 11:15:30 - logentry: =========================================
FECHA: 25/05/2026 11:15:30
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-tk.3oUpW_1m3OTne.cps9c2YGf1UVK2ZpFDm1.jL4tNjma4XFEk
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "KY2961",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "616892",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza entrega de 2 toner\n02 iton2790",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12701",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACtALkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAwQHBAYHCQAAAAABAAIDBAURBiESMUETUWGRFDJxgaGxwRUiI9EHJDNCkrI1cnSC4eLwFjZTVGJzotLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgECBAMGBgMBAAAAAAAAAAECAxEEEiExQVFhEyJxocHRMoGRseHwFDNiI\/\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBERAEREAVPqa7VNmtrKqlZG9xlDCJASACD3EdQFcKg1qwO05KTza9hHnj6qUNZK5TiG1Sk472L1rg9gcORGV6Ua2uLrZSuO5MLCf4QpKiy2LukwiIh0IiIAiIgCIiAIiIAig3C7U1smpo6jiHpLuBjgMgHIG\/n8FOXbEVJNtLgERFwkEREAREQBERAFn9bEjTkgHWRgPmtAs1rsgWFgPWoaB5OU6fxIz4p2oy8C3sr+0slC88zTsz7eEKcq3TwLdP0IJz+C0qyUZbsspawj4BERcLAiIgCIiAIiIAiIgMPr+XtKyjpmjLo43SHA6E\/wCUrWWmpdV2mlqHnLpImlxz1xusnIz7XuN\/uDgDFTUz4ojw9QDuP4T\/ABLQaUf2mmaN2MYa4c+5xH0V813EuR52Hk3iJS4P0di4RRrhXR22hlrJWucyIAuDefPH1XulqY6yliqYs8ErA9uRg4Kptpc35lmy8TsiIuEgiIgCLM1moaq5VTrfp5okeB+JUuH3WjvB+u+eiiV1oudmtxuhvE81RCQXs4jwuBIyNz4\/BWKHNmWWJWrgrpbv93Nistr94Fnp2dTUA+TXfmtDb6r023U9UQGmaJryB0JG4WY\/SC7FJRNxze459gH5pTXfRzFyTw8mjRWX+g6D+zR\/yhTVW6dcXaeoSf8AggeSslCW7L6TvCL6BERcLAiIgCIiAIiIAotzq\/QbZU1Q5xRlw9uNvipSzmt6gx2MU7cl9TK1oaBnIG\/zAUoq8kiqtPJTlLocbDR+j6KqZHgF9TFLI7O+RggfAfFTNGknTVPk8nPx\/EVNlpfRtPPpWAfh0pYMeDcKDosg6bhA6PeD\/EVNu8W+pmpwyVIR\/wAv0LC9xdtZK2PbeB+M+zKiaSl7XTVJzy0Obv4OKsa5odb6lp3BicD5FU+iSTpyMHpI8DzUV8DLXpiF4P7o0CIigaQs3qWuqKmpisNAT21SPx3BueCM\/wCjnw9qvK+tit9DNVzepE3ix3noPecBUekaN8kc96qR+sVpONuTc749p+QwrI6LMzNWbk1Sjx38PzsXFrtdPaaJtLTjYbucRu895UTVTwzTVaTj1QNx3uAVus9raXs9OvZn9rK1v1+i5HWaO1koUJJbWLGwtLbDQ55mBp8xlUOuIDVVlopwcGaR7AfaWBaehi7Cgp4ccPZxNbjuwAFj9V3SOpvFvZbnConpXkhrBn7+W4Hju3opU7ud0UYq0cPll0+6LHSd1potPRMqqiOLs5TE3icBnO4\/mWmWSsWj3QVPpd14HuBD44mOyGu68XwWtXKmXNoW4XtOzSmrWCIirNQREQBERAEREAWXuYF11pQ0PDxR0TDLJncAnB+jeff56Z72xsc95w1oJJ7gszpCN1ZU3C9SjepkLY9sYbnJ+nkrIaJsy1+9KNPm7\/JGme3jY5uccQIys3oNxNklYdiyocMdfVatMsxok8ENwgPrx1J4vl9Ci+Bnan98Pn6GlkaXxuaOZBCzmhHB1hkA\/dqHA+TVpVmNA\/0HN\/aXfytRfAxP++Hg\/Q06IqyrvlNR3emtsjXmSoALSBsMnA+R+Cgk3sXynGKvJlXrJ7qn0C0xE8dVMC7A5AbfXPuWkiiZDEyKNoaxjQ1rR0A5BZmd7Kj9IEQe5vBSQZ3xgEjb+YLSz1ENLC6aeRscbRkuccAKctkjPRac5zfO30OiyGu6yJooaZx4x2hkkYCM4G31K6z6guN6e6l0\/TuDBs+qk2A9nd8\/BV9ts4g1rHTyzGqfDGZZ3vyeJxH+ZvP\/AAUoRyu7KMRW7WOSmtG0r8PyTQ2+aow5zjbbcT6oJ45B9fgPauE9po7Xqmz0tJGeXE8uOS7Gdz5dFtFmK38b9INC0biGnJcO44f+YSMm78jtWiopN6ybWvz8jToiKk9AIiIAiIgCIiAIiICk1dWeiaenwcOnIiHv5\/AFTbLR+gWalpiMOZGOIf8AUdz8SVn9V1NPJe7bR1EzWQREzTHGcDn8mnzXc6juV3kdFYqA9nyNTPs0e7l8\/YrsryowdtBV5N7rRLjzZpZJGRML5HtY0cy44AWLtN7t1ovl1ElRxU9RIHxvYC4Hcnp\/W+CsGaSlrZO3vdxmqn54hHG4hje8DPT2YWYjqKSHUUVTFRxst7ZeyALe0Dm9Sc5ycHKlCKs1uVYitUUoSatrx1\/fqXN\/1ZFWUcUFonlbM6UcRDS043288KboIEWObI51LsfwtVfquGnnvcFKyIBkFO+WUMHCAACen9UeYXrQ1zMLjbJm4E+ZYDjnzB\/lPkV1pdnoQhOX8vvvobVZCtb6b+kCDhc3go4g6Qnk0DJ397gtHc7pS2qldPUyNbsSxmd3kdAvzEV1bU187oHv7WuJY4Dm4OPq58go0ot3Zbja0Y5Y763JNbWsuV8qqqLt3mZ2IGRg8TzsG5x7Acc+SuLBbHalaZ7pWyTMpXBgpgeHG3Xuz4b7c1L0DTMFHVVJYwuMvA1+N8AAn5rxU3Gn0xqWpe09rT1beN8UZBcx+\/T2\/NTlLVxjwM1OmlGNaq9G9TVxRQUVMGRMZDDGOTRgALN6ZfHNWXG+1L2xMqJCyIvcAA3Pef7o9yp6vUd21FP9n0UYhjm+72bTkuB55Pd34V1SaEt0bGmqlmmkwOIB3C3Phtn4qGXKu89Wae1daadKN1H5K5ZVGp7LTevXxvPdHl\/yVXQysrteTTwu4omUjXNcORBDcfzK3p9OWam\/Z2+E4OcvHH\/NlVWmQ2o1BeqtoAaJBGzHIjJ\/9QorLZtFk+1c4Rnbfh0TNQiIqjcEREAREQBEXl72RsL5HBjWjJc44AQHpZ+76nbTz+gWyI1la7bDd2sPj3qJW3eu1BUPt1kBbTg8M1Wdhjw8PiVYQ26j0xZamaAZkZEXOlIy5zsbewZ6K1RUd9zHKrKpfs9Et37e5Q6dtzr7dqutu49IMBDcOP3S7fbHcMcvFbdjGRsDI2hjWjAa0YAVFoylNPp9kjvWqHukOefcPgPir9cqO8rHcJTUaSfF6lVqO5G12WaZri2R47OMjo49fmVUO069miDSGPNSP1jh5EP7vbw7L3cWm+aup6FriaagHazYO3FscfIeasrvqWhtB7NxM1QeUMe5956KSukkt9yubhOU5TfdWnuZCliYzTNZdpJzNUSNFKGn9wZA3\/ujy2UWS4sio7Y+h7QVVC0mSQN+6OJxOPifDdcbnBcKTLqinfSQ1rjKIckDY8seGevetBUVFJb9C08LYGGavZw4bsXHOeI9+NvMK96dbnmRTd1tZet\/PQrIrbNeb7BBLVmrme0S1Eg3axhAIA5d+OnNe7AyAVdfd5n8EVM1xic7q92eHnzOM\/BdbRdKC1acmEY7W41ZcwNAyR0Hu3z4lfW6UmprFPWXGVzCxhfHTg7NccDLvyHcPYuN8GSjDaUVd6t9OV\/ufNPi81ttNvtzfRqd0hdNVHxxsD7B08wtPb9K2uhhLXw+kyvGHyy7k5547v8AW66aXjEem6Jo6sLvMk\/VWyonN3aR6eGw8VCMpau3Hh4EWkttHQcXotMyIu5kDc+\/mpSIqr3NiSSsjjVVMdHSy1MpwyJhcfcqLREBbZX1Lzl9TM5xO+4G3zBUfUF0N2nZYrW8SOldiokbuGDI69fHy71pqanjpKaKniaGxxNDWgdwVj7sbczNFqpWzLaP3Z1REVZqCIiAIihXW601oo3VFQ7wYwc3nuC6lfREZSUVd7HWtrqa307p6qVsbB3ncnuCzDI7nq+UPnDqO1AgtYPWl\/P28h4r1QWes1BVtul7y2EZ7Gl5bdM+HxPsWsa0NaGtAAAwAOindQ23MqUsRrLSPLn49Ohxo6OnoKZtNSxiONnID5nvVJrWodHZW0zM8dTK1gA6jn8wFollr29lXq+20r3gRUrTPIXbNb13\/hHmkNZXZLE92llXHT6mjo6dtJRQUzeUUbWD3DCj3e6Q2m3yVEjm8YaezYTjjd0CpqzVUlXUGhsEBqZzsZi37jfH\/E7e1e6DSnaTemXyc11SeTSTwN8PH5JltrI46zl3KKv14L3KGxU18r2TilHo7ap3FPWPGHO33DTz8vMLWWjTlDaBxsZ21QfWmkGXe7uVq1oa0NaAABgAdFyqaqCjp3T1MrYomc3OSU3LYUsNCkryd2uLMVq4PuN9kp2A4oqUvdwjJzz+rVQw3Sr7elc1zA+mj7OEuOAzn97njO\/VdZbk+puVdL6T6PFVudxu4eIlmdm7e7u5c1a0bXVNG2ntOm2yt\/5mqGS7od9vIFaV3VZnjyfa1HKL\/eGxP0Lb6f0eesfEHzNkLGyEZAGBy\/NXmpP93a3\/ALRVRDp7UD4hHJd2UkY5Mpm8OOn7vD0C43LR0MNsqauWuqaieKN0gLiMHAzvnJ5DvVLs53bPQh2kKDhGHB8l7k+zXu2UGnqJtTWxMcI8FoPE4c+gyV4k1vQmTs6Olqap\/ThbgH6\/BeNM2K01Nnpa2SiZJK8HiLyXAkEjkdunctJFDFAzghiZG3uY0AfBRlkTehdSVeVOOqSsupm3aivlWOChsEkbicB82cfEAfFPsO\/XUYu9z7KFw3hp9vccDB+K1CLme2yLP4+b+yTfkvIhW200Vqi7OkhDCQA559Z2O8qaiKDd9zRGKirJBERcOhEUC8XaC0ULqiZw4jtGwn13d2y6ld2RGUlFOT2PN4vVJZabtKg8T3Z7ONvN5+g8VUWi01V2qxeb0Mk709OfVYOhx9PeV8sdlqK+qF7vX35n4dDCRswdDj5D381qVNtR0W5mjGVZ557cF6sIotfc6O2xdpWVDIh0BO7vYOZWdddL5qFxjtUDqKjdsamTZxHgfy81FRb1LaleMHbd8kWt31JQ2j8NzjNUHlDHufeenzWXtVsfq26VdwrXmGMOaHMj5nbYeGAArqW0UWmbPV17Mz1YZtNJzDjsMd259vipekqT0TTtPkYdNmV23PPL4YVqajFuJjlCdaqo1dt7eS1LKioaa307YKWFsbB0HM+JPVSFDuV1o7TT9tVy8IOzWjdzj4BYm6aruV2nFLb2SQRvOGtZ+0fnxHL3KEYSnqaKuIpUFl48kau8aloLOCyR\/a1GNoWc\/eeiyN4hvdyo5bpcj6PTRnMULzjmcABv1KvtO6TZQEVdwDZao7tZzbH+ZTWDnVc1utEZOambL8bbDb6k+5Ti4xlaP1MtaNSpSc6mnJfa5207p2hpbfTVM1K19W5ge5z98Z3GByGFoV8a0NaGtAAAwAOi+qmUnJ3Z6FOnGnFRigudREJ6aWE8pGFp94wuiLhY1fQzmiZj9ky0j9pKaZzXDGMZ3+eVo1kql3+zWqXVj2n0G4eu7Bwx3M\/Hf2E9y1gIIyDkFWT3vzM2Gdodm946ex9REVZpCIiAIiICPXVsFupH1VS\/hjYM+JPcPFZyy0E9+rfty6tzGD+rQHkB3+z581E1LUNbqOP7WjqHW6FodHHGwYe7x38D47Yx1U4Xq+3H8O1Wj0aIfdEtRtgdCBsPmrlFqOnE86dWM6lpbLhzfP2NJNPDTRGWeVkUbebnnACzdTqeruExpdP0jp3A4dUPb91viP8AHyX2m0g6pm9JvlY+slP7jXENHv5+WFoqemgpIRDTQsijHJrBgKPdj1L\/APtV\/wArz\/BQ0Wko3Tel3md1fVHchxPAPDx+XgtE1oa0NaAABgAdF9RRcm9y6nShTVoozGsZH1HoFpi9armBdgZwBt9c+5dbtqWO3v8As62w+k1bRw4G7Y8d\/fj\/AOriAblr1xzmO3w4HdxEfPLv\/FcW6GJqH9rcHdhI8uexkYaXjoO4demytWVJKRgk60pSlSW7t8l+blEI667XMta8V9c7nJnMUAz06H5d2ea2dj07S2Znaftapw+\/K7447gp1BbqS2wdjRwtibzOObj4nqpSjOpfRbF1DCqm809Zfv7cLOW+hrarVdVdK2F0UcAMVOHdRyyPdk\/3lo0UE7XNM6am03w1CIiiWBERAcaukp66ndBVRNljdza5dGtaxgY0Ya0YA7gvSIcsr3CIiHQiIgCIiAIiIAiIgCIiAzGkc1Fdd6125lqMA88DJOAfePILTqFbLVS2indBSNcGPfxniOTnAH0U1Sm7u6KaEHCmoy3CIiiXBERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:15",
    "ubicacionGPS": "LatLng(lat: -29.9177506, lng: -71.255087)",
    "horaLlegada": "10:54",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 11:15:30
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-tk.3oUpW_1m3OTne.cps9c2YGf1UVK2ZpFDm1.jL4tNjma4XFEk
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "KY2961",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "616892",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza entrega de 2 toner\n02 iton2790",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12701",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACtALkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAwQHBAYHCQAAAAABAAIDBAURBiESMUETUWGRFDJxgaGxwRUiI9EHJDNCkrI1cnSC4eLwFjZTVGJzotLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgECBAMGBgMBAAAAAAAAAAECAxEEEiExQVFhEyJxocHRMoGRseHwFDNiI\/\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBERAEREAVPqa7VNmtrKqlZG9xlDCJASACD3EdQFcKg1qwO05KTza9hHnj6qUNZK5TiG1Sk472L1rg9gcORGV6Ua2uLrZSuO5MLCf4QpKiy2LukwiIh0IiIAiIgCIiAIiIAig3C7U1smpo6jiHpLuBjgMgHIG\/n8FOXbEVJNtLgERFwkEREAREQBERAFn9bEjTkgHWRgPmtAs1rsgWFgPWoaB5OU6fxIz4p2oy8C3sr+0slC88zTsz7eEKcq3TwLdP0IJz+C0qyUZbsspawj4BERcLAiIgCIiAIiIAiIgMPr+XtKyjpmjLo43SHA6E\/wCUrWWmpdV2mlqHnLpImlxz1xusnIz7XuN\/uDgDFTUz4ojw9QDuP4T\/ABLQaUf2mmaN2MYa4c+5xH0V813EuR52Hk3iJS4P0di4RRrhXR22hlrJWucyIAuDefPH1XulqY6yliqYs8ErA9uRg4Kptpc35lmy8TsiIuEgiIgCLM1moaq5VTrfp5okeB+JUuH3WjvB+u+eiiV1oudmtxuhvE81RCQXs4jwuBIyNz4\/BWKHNmWWJWrgrpbv93Nistr94Fnp2dTUA+TXfmtDb6r023U9UQGmaJryB0JG4WY\/SC7FJRNxze459gH5pTXfRzFyTw8mjRWX+g6D+zR\/yhTVW6dcXaeoSf8AggeSslCW7L6TvCL6BERcLAiIgCIiAIiIAotzq\/QbZU1Q5xRlw9uNvipSzmt6gx2MU7cl9TK1oaBnIG\/zAUoq8kiqtPJTlLocbDR+j6KqZHgF9TFLI7O+RggfAfFTNGknTVPk8nPx\/EVNlpfRtPPpWAfh0pYMeDcKDosg6bhA6PeD\/EVNu8W+pmpwyVIR\/wAv0LC9xdtZK2PbeB+M+zKiaSl7XTVJzy0Obv4OKsa5odb6lp3BicD5FU+iSTpyMHpI8DzUV8DLXpiF4P7o0CIigaQs3qWuqKmpisNAT21SPx3BueCM\/wCjnw9qvK+tit9DNVzepE3ix3noPecBUekaN8kc96qR+sVpONuTc749p+QwrI6LMzNWbk1Sjx38PzsXFrtdPaaJtLTjYbucRu895UTVTwzTVaTj1QNx3uAVus9raXs9OvZn9rK1v1+i5HWaO1koUJJbWLGwtLbDQ55mBp8xlUOuIDVVlopwcGaR7AfaWBaehi7Cgp4ccPZxNbjuwAFj9V3SOpvFvZbnConpXkhrBn7+W4Hju3opU7ud0UYq0cPll0+6LHSd1potPRMqqiOLs5TE3icBnO4\/mWmWSsWj3QVPpd14HuBD44mOyGu68XwWtXKmXNoW4XtOzSmrWCIirNQREQBERAEREAWXuYF11pQ0PDxR0TDLJncAnB+jeff56Z72xsc95w1oJJ7gszpCN1ZU3C9SjepkLY9sYbnJ+nkrIaJsy1+9KNPm7\/JGme3jY5uccQIys3oNxNklYdiyocMdfVatMsxok8ENwgPrx1J4vl9Ci+Bnan98Pn6GlkaXxuaOZBCzmhHB1hkA\/dqHA+TVpVmNA\/0HN\/aXfytRfAxP++Hg\/Q06IqyrvlNR3emtsjXmSoALSBsMnA+R+Cgk3sXynGKvJlXrJ7qn0C0xE8dVMC7A5AbfXPuWkiiZDEyKNoaxjQ1rR0A5BZmd7Kj9IEQe5vBSQZ3xgEjb+YLSz1ENLC6aeRscbRkuccAKctkjPRac5zfO30OiyGu6yJooaZx4x2hkkYCM4G31K6z6guN6e6l0\/TuDBs+qk2A9nd8\/BV9ts4g1rHTyzGqfDGZZ3vyeJxH+ZvP\/AAUoRyu7KMRW7WOSmtG0r8PyTQ2+aow5zjbbcT6oJ45B9fgPauE9po7Xqmz0tJGeXE8uOS7Gdz5dFtFmK38b9INC0biGnJcO44f+YSMm78jtWiopN6ybWvz8jToiKk9AIiIAiIgCIiAIiICk1dWeiaenwcOnIiHv5\/AFTbLR+gWalpiMOZGOIf8AUdz8SVn9V1NPJe7bR1EzWQREzTHGcDn8mnzXc6juV3kdFYqA9nyNTPs0e7l8\/YrsryowdtBV5N7rRLjzZpZJGRML5HtY0cy44AWLtN7t1ovl1ElRxU9RIHxvYC4Hcnp\/W+CsGaSlrZO3vdxmqn54hHG4hje8DPT2YWYjqKSHUUVTFRxst7ZeyALe0Dm9Sc5ycHKlCKs1uVYitUUoSatrx1\/fqXN\/1ZFWUcUFonlbM6UcRDS043288KboIEWObI51LsfwtVfquGnnvcFKyIBkFO+WUMHCAACen9UeYXrQ1zMLjbJm4E+ZYDjnzB\/lPkV1pdnoQhOX8vvvobVZCtb6b+kCDhc3go4g6Qnk0DJ397gtHc7pS2qldPUyNbsSxmd3kdAvzEV1bU187oHv7WuJY4Dm4OPq58go0ot3Zbja0Y5Y763JNbWsuV8qqqLt3mZ2IGRg8TzsG5x7Acc+SuLBbHalaZ7pWyTMpXBgpgeHG3Xuz4b7c1L0DTMFHVVJYwuMvA1+N8AAn5rxU3Gn0xqWpe09rT1beN8UZBcx+\/T2\/NTlLVxjwM1OmlGNaq9G9TVxRQUVMGRMZDDGOTRgALN6ZfHNWXG+1L2xMqJCyIvcAA3Pef7o9yp6vUd21FP9n0UYhjm+72bTkuB55Pd34V1SaEt0bGmqlmmkwOIB3C3Phtn4qGXKu89Wae1daadKN1H5K5ZVGp7LTevXxvPdHl\/yVXQysrteTTwu4omUjXNcORBDcfzK3p9OWam\/Z2+E4OcvHH\/NlVWmQ2o1BeqtoAaJBGzHIjJ\/9QorLZtFk+1c4Rnbfh0TNQiIqjcEREAREQBEXl72RsL5HBjWjJc44AQHpZ+76nbTz+gWyI1la7bDd2sPj3qJW3eu1BUPt1kBbTg8M1Wdhjw8PiVYQ26j0xZamaAZkZEXOlIy5zsbewZ6K1RUd9zHKrKpfs9Et37e5Q6dtzr7dqutu49IMBDcOP3S7fbHcMcvFbdjGRsDI2hjWjAa0YAVFoylNPp9kjvWqHukOefcPgPir9cqO8rHcJTUaSfF6lVqO5G12WaZri2R47OMjo49fmVUO069miDSGPNSP1jh5EP7vbw7L3cWm+aup6FriaagHazYO3FscfIeasrvqWhtB7NxM1QeUMe5956KSukkt9yubhOU5TfdWnuZCliYzTNZdpJzNUSNFKGn9wZA3\/ujy2UWS4sio7Y+h7QVVC0mSQN+6OJxOPifDdcbnBcKTLqinfSQ1rjKIckDY8seGevetBUVFJb9C08LYGGavZw4bsXHOeI9+NvMK96dbnmRTd1tZet\/PQrIrbNeb7BBLVmrme0S1Eg3axhAIA5d+OnNe7AyAVdfd5n8EVM1xic7q92eHnzOM\/BdbRdKC1acmEY7W41ZcwNAyR0Hu3z4lfW6UmprFPWXGVzCxhfHTg7NccDLvyHcPYuN8GSjDaUVd6t9OV\/ufNPi81ttNvtzfRqd0hdNVHxxsD7B08wtPb9K2uhhLXw+kyvGHyy7k5547v8AW66aXjEem6Jo6sLvMk\/VWyonN3aR6eGw8VCMpau3Hh4EWkttHQcXotMyIu5kDc+\/mpSIqr3NiSSsjjVVMdHSy1MpwyJhcfcqLREBbZX1Lzl9TM5xO+4G3zBUfUF0N2nZYrW8SOldiokbuGDI69fHy71pqanjpKaKniaGxxNDWgdwVj7sbczNFqpWzLaP3Z1REVZqCIiAIihXW601oo3VFQ7wYwc3nuC6lfREZSUVd7HWtrqa307p6qVsbB3ncnuCzDI7nq+UPnDqO1AgtYPWl\/P28h4r1QWes1BVtul7y2EZ7Gl5bdM+HxPsWsa0NaGtAAAwAOindQ23MqUsRrLSPLn49Ohxo6OnoKZtNSxiONnID5nvVJrWodHZW0zM8dTK1gA6jn8wFollr29lXq+20r3gRUrTPIXbNb13\/hHmkNZXZLE92llXHT6mjo6dtJRQUzeUUbWD3DCj3e6Q2m3yVEjm8YaezYTjjd0CpqzVUlXUGhsEBqZzsZi37jfH\/E7e1e6DSnaTemXyc11SeTSTwN8PH5JltrI46zl3KKv14L3KGxU18r2TilHo7ap3FPWPGHO33DTz8vMLWWjTlDaBxsZ21QfWmkGXe7uVq1oa0NaAABgAdFyqaqCjp3T1MrYomc3OSU3LYUsNCkryd2uLMVq4PuN9kp2A4oqUvdwjJzz+rVQw3Sr7elc1zA+mj7OEuOAzn97njO\/VdZbk+puVdL6T6PFVudxu4eIlmdm7e7u5c1a0bXVNG2ntOm2yt\/5mqGS7od9vIFaV3VZnjyfa1HKL\/eGxP0Lb6f0eesfEHzNkLGyEZAGBy\/NXmpP93a3\/ALRVRDp7UD4hHJd2UkY5Mpm8OOn7vD0C43LR0MNsqauWuqaieKN0gLiMHAzvnJ5DvVLs53bPQh2kKDhGHB8l7k+zXu2UGnqJtTWxMcI8FoPE4c+gyV4k1vQmTs6Olqap\/ThbgH6\/BeNM2K01Nnpa2SiZJK8HiLyXAkEjkdunctJFDFAzghiZG3uY0AfBRlkTehdSVeVOOqSsupm3aivlWOChsEkbicB82cfEAfFPsO\/XUYu9z7KFw3hp9vccDB+K1CLme2yLP4+b+yTfkvIhW200Vqi7OkhDCQA559Z2O8qaiKDd9zRGKirJBERcOhEUC8XaC0ULqiZw4jtGwn13d2y6ld2RGUlFOT2PN4vVJZabtKg8T3Z7ONvN5+g8VUWi01V2qxeb0Mk709OfVYOhx9PeV8sdlqK+qF7vX35n4dDCRswdDj5D381qVNtR0W5mjGVZ557cF6sIotfc6O2xdpWVDIh0BO7vYOZWdddL5qFxjtUDqKjdsamTZxHgfy81FRb1LaleMHbd8kWt31JQ2j8NzjNUHlDHufeenzWXtVsfq26VdwrXmGMOaHMj5nbYeGAArqW0UWmbPV17Mz1YZtNJzDjsMd259vipekqT0TTtPkYdNmV23PPL4YVqajFuJjlCdaqo1dt7eS1LKioaa307YKWFsbB0HM+JPVSFDuV1o7TT9tVy8IOzWjdzj4BYm6aruV2nFLb2SQRvOGtZ+0fnxHL3KEYSnqaKuIpUFl48kau8aloLOCyR\/a1GNoWc\/eeiyN4hvdyo5bpcj6PTRnMULzjmcABv1KvtO6TZQEVdwDZao7tZzbH+ZTWDnVc1utEZOambL8bbDb6k+5Ti4xlaP1MtaNSpSc6mnJfa5207p2hpbfTVM1K19W5ge5z98Z3GByGFoV8a0NaGtAAAwAOi+qmUnJ3Z6FOnGnFRigudREJ6aWE8pGFp94wuiLhY1fQzmiZj9ky0j9pKaZzXDGMZ3+eVo1kql3+zWqXVj2n0G4eu7Bwx3M\/Hf2E9y1gIIyDkFWT3vzM2Gdodm946ex9REVZpCIiAIiICPXVsFupH1VS\/hjYM+JPcPFZyy0E9+rfty6tzGD+rQHkB3+z581E1LUNbqOP7WjqHW6FodHHGwYe7x38D47Yx1U4Xq+3H8O1Wj0aIfdEtRtgdCBsPmrlFqOnE86dWM6lpbLhzfP2NJNPDTRGWeVkUbebnnACzdTqeruExpdP0jp3A4dUPb91viP8AHyX2m0g6pm9JvlY+slP7jXENHv5+WFoqemgpIRDTQsijHJrBgKPdj1L\/APtV\/wArz\/BQ0Wko3Tel3md1fVHchxPAPDx+XgtE1oa0NaAABgAdF9RRcm9y6nShTVoozGsZH1HoFpi9armBdgZwBt9c+5dbtqWO3v8As62w+k1bRw4G7Y8d\/fj\/AOriAblr1xzmO3w4HdxEfPLv\/FcW6GJqH9rcHdhI8uexkYaXjoO4demytWVJKRgk60pSlSW7t8l+blEI667XMta8V9c7nJnMUAz06H5d2ea2dj07S2Znaftapw+\/K7447gp1BbqS2wdjRwtibzOObj4nqpSjOpfRbF1DCqm809Zfv7cLOW+hrarVdVdK2F0UcAMVOHdRyyPdk\/3lo0UE7XNM6am03w1CIiiWBERAcaukp66ndBVRNljdza5dGtaxgY0Ya0YA7gvSIcsr3CIiHQiIgCIiAIiIAiIgCIiAzGkc1Fdd6125lqMA88DJOAfePILTqFbLVS2indBSNcGPfxniOTnAH0U1Sm7u6KaEHCmoy3CIiiXBERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:15",
    "ubicacionGPS": "LatLng(lat: -29.9177506, lng: -71.255087)",
    "horaLlegada": "10:54",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 11:15:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:91770000

[25/05/2026 11:15: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('91770000', 'KY2961', 1, 20988335, 616892, NOW(), 
				'08:00', '10:54', '11:15', 10, 'se realiza entrega de 2 toner
02 iton2790', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779722130.png', '', null, 'COMPLETADO','LatLng(lat: -29.9177506, lng: -71.255087)' )
				
[25/05/2026 11:15:30] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200402

25/05/2026 11:15:30 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200402'                    
				WHERE idllamado = 12701			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


25/05/2026 11:15:30 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12701			
				
25/05/2026 11:15:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 11:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:15:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12701
            GROUP BY l.idllamado;
            

25/05/2026 11:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:15:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:15:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

[25/05/2026 11:15: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;
                

25/05/2026 11:15:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12701
            GROUP BY l.idllamado;
            

[25/05/2026 11:15: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;
                

25/05/2026 11:15:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12701
            GROUP BY l.idllamado;
            

25/05/2026 11:15:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:15:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12701
                

25/05/2026 11:15:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12702
            GROUP BY l.idllamado;
            

[25/05/2026 11:15: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;
                

25/05/2026 11:15:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12702
            GROUP BY l.idllamado;
            

25/05/2026 11:15:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12702
            GROUP BY l.idllamado;
            

25/05/2026 11:15:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

[25/05/2026 11:15: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;
                

25/05/2026 11:15:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11:15:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12702
            GROUP BY l.idllamado;
            

25/05/2026 11:15:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12702
            GROUP BY l.idllamado;
            

[25/05/2026 11:15: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;
                

25/05/2026 11:15:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12702
            GROUP BY l.idllamado;
            

[25/05/2026 11:15: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;
                

25/05/2026 11:15:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12702
            GROUP BY l.idllamado;
            

25/05/2026 11:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11: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 = 12702
                

25/05/2026 11: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 = 12702
                

25/05/2026 11:15:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12702
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12702
                

25/05/2026 11: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 = 12702
                

25/05/2026 11:15:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12702
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12702
                

25/05/2026 11: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 = 12702
                

25/05/2026 11:15:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12702
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12702
                

25/05/2026 11: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 = 12702
                

25/05/2026 11: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 = 12702
                

25/05/2026 11: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 = 12702
                

25/05/2026 11: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 = 12681
                

25/05/2026 11:15:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/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 = 12702
                

25/05/2026 11:15:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12702
            GROUP BY l.idllamado;
            

25/05/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 = 12702
                

25/05/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 = 12702
                

25/05/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 = 12702
                

25/05/2026 11:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12702
            GROUP BY l.idllamado;
            

25/05/2026 11:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12702
            GROUP BY l.idllamado;
            

25/05/2026 11:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:15:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:15:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/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 = 12681
                

25/05/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 = 12681
                

25/05/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 = 12681
                

25/05/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 = 12681
                

25/05/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 = 12681
                

25/05/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 = 12681
                

25/05/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 = 12681
                

25/05/2026 11:16:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/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 = 12681
                

25/05/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 = 12681
                

25/05/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 = 12681
                

25/05/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 = 12681
                

25/05/2026 11:16:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:16:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:16:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:16:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11:16:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11:16:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:16:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:16:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:16:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:16:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:16:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:16:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:16:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:16:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:16:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:16:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:16:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11:16:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:16:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:16:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12702
            GROUP BY l.idllamado;
            

25/05/2026 11:16:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11:16:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11:16:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11:16:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12702
            GROUP BY l.idllamado;
            

25/05/2026 11:16:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11: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 = 12702
                

25/05/2026 11:16:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12702
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12702
                

25/05/2026 11: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 = 12702
                

25/05/2026 11: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 = 12702
                

25/05/2026 11: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 = 12702
                

25/05/2026 11: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 = 12702
                

25/05/2026 11: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 = 12681
                

25/05/2026 11:16:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12681
                

25/05/2026 11:16:59 - logentry: =========================================
FECHA: 25/05/2026 11:16:59
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-nLJCHANvgk+sWv9+7.b0MpmyqrnNLzhDXX_GlV+BislLN_lW44_
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3029",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "86901",
    "contadorColor": "4439",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12681",
    "observacion": "entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACrATkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAgcFBQUGBQUAAAABAAIDBAURBiESMRNBUWFxgZEUIqGxwRUjMkLRFlKC4fAkM1WSk8IHJmJyokNUY7LS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMBEAAgECAwYFBAMAAwAAAAAAAAECAxESITEEEzJBUXEiYYGh0SMzkbFCweEU8PH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEWcjrqqk1tJR1M8jqeqiBga4+60gdXo4d+y0as1Yzp1FO\/k7BEXlzmsYXvcGtaMkk4ACqaHpFTU2o4a68+wUUL6iJrSZKhp91p6vEdSuVLTWpSE4zV4u4REUFwiIgCIiAIiIAiKn1RdXWqzvkifwzyno4z1gnmfIfRSld2RSc1CLk+RypbzU3DUktLRtY+hp2cM0h6n77g+WPIlXqq9PWplptUcQH3sgD5SRvxEcvJWimVr5FKKngvPV+3kERFU2CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAzmsaaQUMNzp3cM1DIHA46iQPnj4q8o6uKuo4qqE5ZK0OHd3LxcpqKKikFfKyOB7S13GcZB6gsPYq271FM+z2lzWsDy41BO7GHx5eQzutVHFHscNSoqNbriWnO6Nbd9Q0VnbwyuMs5Huws3cezPYFUxW66amlbU3Vz6Ojacx0zDhzu8\/qd+zCsbRpmktr\/AGiVxqqwnJmk3we4dXjzV0oxKPCX3c6udXJdPk4UlHTUMIhpYGQsHU0Yz49q7oizOpJJWQREQkIiIAiIgCIiALKVTvt7WUNK0cVNbfekJ3BcDv8AHA8ir+7XBlrtk1Y\/BLG+60\/mceQ9VW6QoDS2n2qUAzVjulc7tHV9T5rSOScjlrfUnGl6v009y+REWZ1BERAEREAREQBERAEREAREQBERAEREAREQBEVJeNRtt9UKGlpX1dYRno25w3PLq3UpNuyKTqRpq8mXL3sjYXyODGtGS5xwAs9X6vhEvslphdXVLtmloPAD9f63XKLT9yvDzNqCrcGA+5TQuAaPHq+ver6httFbY+jo6dkIPMjcnxJ3Kv4Y65mF61Th8K89fxyKOl0vNXytrNQVDqibqha7DGDs2+nxXCsii07qykq4sQ0lY3ontaMBpAA9Pwn1WtVTqa3C5WSeMNzLEOkj7cjq8xkKYzbeehWps8YwvBeJZ35uxbIqrTl0F1s8UxOZWDgl\/wC4dfnz81arNqzsdUJqcVJcwiIoLBERAEREAREQBERAZfU7pLjdrfY4z7kjulm5\/hH8g74LTtaGtDWgAAYAHUsxpw\/aeoLld3HLGnoYc77d3kB6lahaTytE5dn8WKp1fsgiIszqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCoLvY6n2r7UtEpjrBjij24ZBvtv253yceiv0UptPIzqU41FZlBaNURVc\/sNwj9krmkhzXbNcewZPPuV+q672SjvMPBUsxI0e5K3Zzf18CqOK5XXTMrae6sdV0OwZUsH4B1Z2+B8iVeylwmG8nRyqZrr8\/JrUXKnqYKuETU0zJYzycw5C6rM6k080ZSge2xavqbeRwU1dh8OeQd2DzyPRatUmqLU64W7poNqqlPSROA3OOY\/rrAUiwXVt4tUdR\/6rfclHY4c\/XmtJeJYjmpfTm6T01X9r0LNERZnUEREAREQBERAFW6hrPYbFVzZAdwFjfF2w+aslmNXOfWVVttDCQKiXik3xsNvqT5K8FeSMNom40m1r8lhpah9gsFOxzeF8g6V+Rg5PL4YVuvjWhrQ1oAAGAB1L6qt3dzSnBQiorkERFBcIiIAiIgCIodbdaC3DNXVxxHGeEnLj\/CN1KV9CJSUVdsmIs9JrezRu4Q6aTvbHt8SuQ13bccTqarawkAO4G7\/ABVt3LoYPaqK\/kjTIqan1ZZajlWCM9kjS348l6uV7NJcLdS07GT+2SYc4O\/C3IGRjnzPoowSvaxbf08OJO5boiKpsEREAREQBERAEREAXiWKOeJ0UzGyRvGHNcMghe0QamTq7PXadmfX2R5fTA8UtI4k7deO35+KvbRd6a80YqKc4cNpIyd2Hs\/mp6yl6t8tiq\/t218LGZxUwn8JBI3x4\/qtE8eT1OOUXs\/ihw810818GrWVoeCw6vnofw09waHxdgdvt68Q9FpKSqiraSKphdxRytDgVSaxo5JLdHX04+\/onh\/EOfD1\/Q+RSGuF8y20cCqR5Z+nP2NCij0FW2vt8FWzGJWB2Ac4PWPI7KQszpTTV0EREJCIiAIiIAsxU\/2r\/iDStHKlpyXDvw7\/APQWnWYs\/wData3aqzxCFoiHYDsP9p+KvDmzm2jNwj1a9szToiKh0hERAEREAREQGeuNJf7ncX07JxQW9uMSRuBfJ6b+Ww8V7pNI2eiBkmjNQ4ZJfO7I9OSvlmdSTT3G5UtgppHRiYcc7274bvsfTPPsWkZN5LI46tOnC85LE+V\/0W1JUWiWV1PSGm4282MaB2+vIqe5oc0tcAQRgg9az1dpCifRMbbwaaqgGY5Wndx\/6j49fV8F303eJLhA+krG8FdSnhkaebgOv6FQ0mrovCpKMsFRWvpbTsS6ixWmqB6W3wEnmWsDSfMbrG11mltmqIKazOc+UM6ZjZCNjvkb7cgv0JZWKUSa7rp+baSl6us4bt8T6K1OTzMdqpQeHKzb15nLSF0krrtXmacgynjbCX5A334fBa9YCzafkr7CLhSTGO4RzudG7OOIADY+ed+\/dajT16N2pnsmbwVdOeGZuMb9vw9VNSKvdEbHUaioT55rzLdERYnoBERAEREAREQBERAFznhjqYJIJW8UcjS1w7QV0RA1czWinyR0lZb5c8VJOW+v8wVoZoWVEEkEgyyRpa4doIwVnNObamvgbu3pckjlnid\/NadaVOK5zbL9lLpde5mdHyPpTXWebIkpZS5uTzaeweWf4lpllbxm0auormABDVAQzEnr5ZPlw+i1STzeLqNmdk6b\/i\/bkERFmdIREQBERAFmNG\/eSXWp3PS1J949fM\/VadZjQfvWaoefxOqXZP8AC39VePCzmqfeh6mnRc5ZooGcc0rI29r3AD4rxTVtLWFwpqmKbgxxdG8Oxnly8D6KljoxK9rndERCQiIgCIiALMWD+36nu9fJuYXdDHnqGSNuz8I9Vp1mNEnpaWvqQMNlqjgdm2fqrx4Wzmq51YLu\/wAI06yuo4JbPcodQ0bdshlSwDZw5ZPjsPHC1S51EEdVTyQTND45GlrgesKIyszStT3kLLXl3FPPHVU8c8Lg+ORoc0jrCyVOQL1qUk4Agd8lI0xK+13Kr0\/UP4ujd0kDj+YHf5YOPFRYwXXbUwbzNO\/HotFGzaOOpU3kYPnd372Zb6OAGmqfGdy\/mMfmKr73E\/T98hvdM09BO7gqmDlv1+fPxHerHSDg7TFJjq4wf85VpW0sddRTUsoyyVhaf1UOVps1jTx7PG2qSa7nWORksbZI3BzHgOa4HYg8ivSzujquV1BNbqg\/fUMhjIJycZPyII9FolSSs7HRSqbyCkERFU0CIiAIiIAiIgCj19WyhoJ6p+7YmF2O3uUhZfU9U+5VUOnqMgySuDp3b\/dtGCM\/P0Voq7Ma1TdwbWvLudtF0ro7Q+rkB6SrkLySMZHIfX1WiXKmp46Wmip4hiOJgY0dwGF1STu7k0obumo9Cq1LbhcrJPGATJG3pI8c8jfHnyTTVxFyskEpJMkY6KTP7wHPzGD5q1WEktlXBqae109c+kbMTU03D+EnswOwcQ8laPijZmFZulUVRK98vg3aKj0\/d6iqlnt1xAFdS\/iIAHGM89vL1Cs7jWC32+arc0O6JueEu4cnqGepVcWnY6I1Yyhj5ElfCQBknACyMOpL5S08VfXW5stDKOIPi2cwE8z5doGdt1LntTdTTNrRdJHW57RiBgxgjmD2HPdlWwW1MVtKmvArvpp69ifV6ls9EPvK2Nzv3YvfPwVadasnJFvtVXVEHHLHyyrKj01aKIDo6Jj3db5ffJ9forQNDRhoAHYEvBcrjDtEtZJdlf8AZmRcdWVe8FqhpmHrlO49T9FTabtl1raOaOluho6dkxDwwHiLsDcYx1d6\/QFmNKkU12vFBnAZPxsb3ZI5f5VZT8LsjCpQ+rDFJu9\/+5HqHRFCZOlraqoq39fE7AP1+KuLdaKG1Ne2ig6LpMcZ4iS7Gccz3lTUWbnJ6s64UKUHeMcwiKLLDWOuME0dUGUrGuEkPACXnqOer+XeqmrduRKREQkIiIAsxoI5sk57ap3\/ANWrTrMaF+7ttXTn8UdSc+gH0V1wM5qn34ev9GnRQKu+Wuiz7RXQtI5tDuJ3oN1Uy62o3OMdDR1NXJ1BrcA\/M\/BQoSeiLzr0oayPGr4HUktHe4ARLTyBjyOtu+M+e3mo9G6OXVt1a3+7qaPjaS3mC1h5eaVs2pb9RSUotMdPTy4z0pw7mD1kdY7FnLdDLW19HHLVPhExNOXMGHNAA93bnzA3+i6Ix8ObPLrVLVU4p2bT6Z6f2jT6Uu9DQ6daKyqjhLZXANc73iNtwOfWu82taR7zFb6SorJMe7huGk\/P4Kv0dZbdW0c81XTNmminLAXE8OMDq5c8rYwwQ07BHBEyJg5NY0NHwWc8Kk8jq2dVpUo2aS\/LMjap5odZdLUUppTcYXHoj+Ug\/M8BPmtksxqf7i\/WSqbjPTcDtt8Zb+pWnVZ52Zts6wucHyf7QREWZ1BERAEREARFn73qN9NUC22uP2ivftsMiP8An8O1SouTsjOpUjTjeR11BfvsxraWlZ01fPtHGBnGes\/ovdgsrraySpq5OmrqjeWQnOP+kLxYrB7A41tbIZ6+X3nvJyGnsHrzV2rNpKyMqcJTlvKnoun+nKSpgiljikmYySXPRtc4Avxzx2811WJr6WW9aynhjr3UgpmtDJOLJDsDZoyMZJPLsXWrkvemJYnyXRldTPIBbN+PnuQCcnn1Eq270zzM\/wDlNNtx8KdrmxWa1cx1JJQXmJpLqSYB+Otp7T2bEfxLRxvEkbXgEBwBweYUO9UX2haKmm4cuewlgx+Ybj4hUg7SN68cdNpa8ikvhZQ3613mnOWznopCOTgRsfQn0Cm6xeWaaqcfmLQf8wWZFabhbbBSuOXsquiJ7gWgfBw9FqNXRGXTVVjm3hd6OH0WrVnG5xRnjp1XHRq\/q1mTrXG37GpGEcTfZ2A53z7o5rP1dJU6VrHXC3sMlukP39OPyd4V9ZJOlsdC88zAwHxAwprmhzS1wBBGCD1rPFZs63TVSEWsmtGcKKtp7hSsqaaQPjeNj2dx71IWQqYpdI3cVdO1xtVScSsGSIj\/AFy8wvTNW190qOgtFDECQcOqJBk4G+2R29pU7tvNaGa2qMfDU4unXsawkAZJwAsTPeKO06yqq1songmhAPQuDvewNuzm34qw\/Zu63M8V5u7yw7GGnGAR6AfAqHcrXR6fvFmmpmcERlLZHuOesbnyJ9FaCina9zLaJ1ZRUsNkmtdemhq6CrFdQw1QY6MSsDuF3MdykIvhcGjLiAO0rE9BXSzPqKtqdQ2ikH3tfCTjkx3GfhlVkmt6EydHR0tTVP6uFuAfr8FZQk+RlLaKUdZI0q4VlZBQU5nqH8EY2ye1Z5t51PXb0dlZA09c5OfiR8lUaipL57JTyXesZJG+YNbFENmnB3OwGefarxp52bMKm12g5Qi36ZGmbqyyOpun9tDRnHAWniz4Y+PJQTrCWqcRa7PVVTf3yMD4A\/Nc6zQ9K2kaaCR7aqPcGQgh57+xT7Bfm1xNBVx+zV8Oz4yMB2OZH6KbQtdZlFOu5KFRqN+i1\/JEL9YV2wjpqBvLOxP1+iprJYHXWuuVPWVkrfZ5sSdEcdI4lwJ326j1da\/QFmNL7X2\/g7E1OcfxPSM3hdsiKlCO8gpNu99exNpdJWWlA\/snTOH5pXF3w5fBW0UMUDOCGJkbexjQB8F0RZOTep3QpwhwqwX5jeIja77VNhBaYJ2zx4H4Qd\/mWjyX6csZq6hDr7SPLRw1kRgyeXH+Unzc30WtF2lY49vg5U01qmSdEysebmyM+4J+JvVsc9XVyWqWI\/4fktqa1hOCWtJbv1E\/qtuq1VabNNilegvX9mY1ueGjoXj8TaoYPkVp1mNa4fHboORkqhy3PZy81p1EuFFqf3p+gREVDpCIiALy5zWML3uDWtGSScABRbldaO0wdNVyhv7rRu53gFnOC56vkBkD6C1jcAH3pf1+Q71eMb5vQwqVlF4Y5y6fPQ61t8rL3UutthDmtziSs3AA7j1ePPsVvZbFS2WEiP7yd\/8AeTOHvO\/Qdyl0VFTW+mbT0sQjjb1DrPae0qQjllZaEU6LvjqO8vZdgiIqHQYnT9ko7\/T11bWtcXyVTsFrsEbZPd+b4K4o9G2ikeHlkk7gdumdkcuWAACo2iswRXCicfegqTkbdYx\/tWnWs5SUmkzh2ahTlTjJxzCIo9bW09vpX1NTIGRsG57e4d6yO1tJXZi7bbQddSQNwYaWR82Adh2fEt9Fr7zCaiy1kTRlzoXYGM5ONljtPtr\/ANpILk+GQxVpkc5waSADnmcduO5bWpuFDSjFTVQRZ2w94GfJbVL4kefsmF0pXyu2Vukahs2mqffeLiY7J5YJ+hC9XHVNrt5MfTdPNjaOH3t+wnkFhKZllZUVLas1UrWyYg9nwA9uTuc79ivLca2PhNm002J2P7+q3ce8E4x5K8qavdmNLapuChHVd2\/wvkmVNwvd6onU0diAhmYA50xxjODkZI5b48lU0NrtsM9VbLrL7HVwO4oqkP4Q5uxHM47x179yuhZ9S1+PbryKdhG7YBv4bY+aq79peC00MdaJpalwlaJjIdiD4b\/HrSLXCn+CtWE39Rxbt1tp2R8ptWVtoqTTVFRFdIG7CRrjxY\/7iN\/PPil2vz9TU7qGjtjnFh6QPL8uAHXjw7+tbCittupmMkpKOGPIBDgwcWPHmqXUNnFG0Xm1sENRTHpJGMGGyAcyR657d1ClBy0zNalGvGk05XXNeXk2QbTLqO\/UYfDc4aeFh6N2G+\/sBvy8+YU4aMFQ4Pud1qqt3ZnGPXKg6dr4qS\/vjY3o6a5sbJGD+V++3rxD0W1VZycXlkX2elTqwvPNrzZUU2l7LS44aFjz2ykvz5HZWkcMULeGKNkbexrQAvaLJtvU7o04Q4VYLOa5iL7CJBsYZmuz2cx9QtGsnqe03aSKtqI7gH0bm8b6d4\/CG4Pu7HsPZ35VqfEjHar7lpK5p6aUT0sUwORIwOz4jKqNQWI14bXUTjDcIBmN7duPHUfoqm0XjUMVqhkbb2VtPw8MbmO98Ae7g48OxSzqq4xHhm07Vg9RHFv\/AOKsoSi8jJ16VSnad8\/Jllp68C8W4SPw2ojPBM3sPb5qt0\/7mqr2w8y8O+J\/VNOQVE16rLmaJ9DBM3AicTu7bJwR14PgljB\/a+8HG23zUtJYrFYylLduXV+uTzNOiIsT0As5reAvsralmz6aVrw7rAO3zI9Fo1FudKK22VNNjJkjIHjjb4q0XaSZlWhjpyj5GEob19n6inuEUX9knLTMGjPCHYOfHK\/QopY54WTRPD43gOa4ciFhNE08dXPX09TH0kb4Q17XdmVZU9HfdNvkp6GIXCjfvE1xwWE\/1v1HuW1RJu3M8\/ZKk4QxNXi7+n+HS7n7Q1lbKNmCKQdM\/fGDz\/2t9VqFR6ds9TRPqa+veHVdWeJwbyYOePj5YV4sptaLkdtCLs5y1b\/8CKPW19Jb4emq52Qs6uI7nwHM+Szz9Q3O8PMNhoi1mcGqmGw8By+fgoUWy1StCDs9ei1NFV1lNQwmaqnZCwdbjjPh2rPTapqrk91NYKKSV\/IzyDDW9+P1x4LpBpBs8wqbzWy1037ueFg7u30x4LQQwQ00QigiZFG3k1gwAreGPmZ2rVNfCvf\/AAobZpVjJhXXaU11W7ch5yxp8+fy7loQABgDAC+qLUXOgpM+0VkERHMOkAPoqtuTNYQp0o5ZEpFQVGtLLBsyaSc\/\/HGfrhRv2quFWMW6xTyZO0kmeH4DHxU7uXQo9qorJO\/bP9GoRZj\/AJxrTnNLQNPVsTj\/AMl8\/ZOuqgPtG+VEo62Mzgep+inAlqyN\/N8MH65HK61Eenb+blEY3xVI4ZoQ\/wB4HrIH8I8\/hNfraysi42ySvd+42M5+O3xXqn0ZZYB70Mk57ZJD9MBeq+w6fp6R9RU0UcccTclzOIY6urmrXg7J3MFDaIXcbJa9ism19GS4UtvkeAM5keG7eAz81Tz3S5atqoqAvp6ductYSWtce875K60dihvtxa+ho5KS2sPvSPcS6QZ3xnbPV3LZ0tjtdE5rqeiia5ji5riOIgnsJ3V24Q0WZzwhtG0ccvD+\/YpRpW51LQK++Slo26OIENx2DcDl3KTTaJs0AHSRyzkdckhHywtAix3kup3rZaKzav3z\/Zk7bDBbdc1sDGMihdT8TBjAbs0n\/crX9qrH\/iDP8rv0XyazSSanhurXxiJsJY9hHvOOCPqFI+wLR\/htN\/phWbi9TOnCrBNQss3qcP2qsf8AiDP8rv0XCtvunLhSvpaqsY+J+MjDxyORuAp32BaP8Npv9MJ9gWj\/AA2m\/wBMKLw8y7W0NWeH3IP7W2CnjbFHVEtYOFrWxO2A5DcKJU6ypqpppbdQzVk0oLQxzcNOe3rI9Fex2m2xf3dvpW94hb+ikxxRxDEcbWDsaMJeC5DBXeTkl2XyzLR6UldpdtM88NdG900RBHuk\/lz3gDr5+CtNOXn7VoSyb3aun9yZhGDnt88equFmr3aq2kuIvlnaHTgYmh4c9IO3HX4c+xSpY8mVdPcWnBZaNeXXujSoquyXynvVMXMHRzs2khJ3b+oVos2mnZnVCcZxxReRyqZJIqWWSKPpZGMLmMzjiIGw81yhdLXWwe00\/QSSxkPicc8OdsKUiXDV3qZrQ0zn2WSB5OYJnNAzyBwfnlaVRaO20lA+Z9NFwOnfxyHiJ4jv2+KlKZNOV0Z0IOFNRlyCzGmfvNQ36R34mzho8OJ\/6Badc44IYnvfHExjpDl5a0AuPf280TsmiZ08U4y6fB0REVTUIiICosthjs01U9krpBO4FoP5R2ep+St0RS227spCEYRwx0CIiguU0umKCpuslwq+kqHPI4Y3u91u3Z1+HJeJ9VWOhb0bJw\/g2DIWZx9FeKFBZ7bTPL4aGBryc8XACfVXUk+I55U5R+1ZX1KX9rqir2tllqp88nuGAPQHu6+tAdY13\/taBp8Ccf8Al\/RWnRMSWiI3E5cc36ZGX\/ZOuqgPtG+VEo62Mzgep+ilU+jLLAPehknPbJIfpgK+RN5LqStlorPDfvn+yNT26hpDmno4Ij2sjAPqpKIqXN0kskEREJC8ua17S17Q5p5gjIK9IgPjWhrQ1oAAGAB1L6iIAiIgCIiAIiIAiIgCIiAorxpttZP7fb5jSV43D2nDXnvx\/XioTNQ3i1OMF4tkk3DyqIBs4dvZ8vBapFdTys8znlQ8WKm8L9vwZn9uKKTDKeirJZSMhnAPoSp9nuF2r55HVltFHT8OY+Jx4855EevUFbBobnAAycnC+o3G2SJjTqXvKd\/SwREVDcIiIAiIgCIiAIiIAiIgP\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ESCUELA PEDRO VERGARA KELLER",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28752\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28752\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28752\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28752\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:17",
    "ubicacionGPS": "LatLng(lat: -22.4425301, lng: -68.9330495)",
    "horaLlegada": "11:03",
    "horaDespacho": "11:03",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 11:16:59
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-nLJCHANvgk+sWv9+7.b0MpmyqrnNLzhDXX_GlV+BislLN_lW44_
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3029",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "86901",
    "contadorColor": "4439",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12681",
    "observacion": "entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACrATkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAgcFBQUGBQUAAAABAAIDBAURBiESMRNBUWFxgZEUIqGxwRUjMkLRFlKC4fAkM1WSk8IHJmJyokNUY7LS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMBEAAgECAwYFBAMAAwAAAAAAAAECAxESITEEEzJBUXEiYYGh0SMzkbFCweEU8PH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEWcjrqqk1tJR1M8jqeqiBga4+60gdXo4d+y0as1Yzp1FO\/k7BEXlzmsYXvcGtaMkk4ACqaHpFTU2o4a68+wUUL6iJrSZKhp91p6vEdSuVLTWpSE4zV4u4REUFwiIgCIiAIiIAiKn1RdXWqzvkifwzyno4z1gnmfIfRSld2RSc1CLk+RypbzU3DUktLRtY+hp2cM0h6n77g+WPIlXqq9PWplptUcQH3sgD5SRvxEcvJWimVr5FKKngvPV+3kERFU2CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAzmsaaQUMNzp3cM1DIHA46iQPnj4q8o6uKuo4qqE5ZK0OHd3LxcpqKKikFfKyOB7S13GcZB6gsPYq271FM+z2lzWsDy41BO7GHx5eQzutVHFHscNSoqNbriWnO6Nbd9Q0VnbwyuMs5Huws3cezPYFUxW66amlbU3Vz6Ojacx0zDhzu8\/qd+zCsbRpmktr\/AGiVxqqwnJmk3we4dXjzV0oxKPCX3c6udXJdPk4UlHTUMIhpYGQsHU0Yz49q7oizOpJJWQREQkIiIAiIgCIiALKVTvt7WUNK0cVNbfekJ3BcDv8AHA8ir+7XBlrtk1Y\/BLG+60\/mceQ9VW6QoDS2n2qUAzVjulc7tHV9T5rSOScjlrfUnGl6v009y+REWZ1BERAEREAREQBERAEREAREQBERAEREAREQBEVJeNRtt9UKGlpX1dYRno25w3PLq3UpNuyKTqRpq8mXL3sjYXyODGtGS5xwAs9X6vhEvslphdXVLtmloPAD9f63XKLT9yvDzNqCrcGA+5TQuAaPHq+ver6httFbY+jo6dkIPMjcnxJ3Kv4Y65mF61Th8K89fxyKOl0vNXytrNQVDqibqha7DGDs2+nxXCsii07qykq4sQ0lY3ontaMBpAA9Pwn1WtVTqa3C5WSeMNzLEOkj7cjq8xkKYzbeehWps8YwvBeJZ35uxbIqrTl0F1s8UxOZWDgl\/wC4dfnz81arNqzsdUJqcVJcwiIoLBERAEREAREQBERAZfU7pLjdrfY4z7kjulm5\/hH8g74LTtaGtDWgAAYAHUsxpw\/aeoLld3HLGnoYc77d3kB6lahaTytE5dn8WKp1fsgiIszqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCoLvY6n2r7UtEpjrBjij24ZBvtv253yceiv0UptPIzqU41FZlBaNURVc\/sNwj9krmkhzXbNcewZPPuV+q672SjvMPBUsxI0e5K3Zzf18CqOK5XXTMrae6sdV0OwZUsH4B1Z2+B8iVeylwmG8nRyqZrr8\/JrUXKnqYKuETU0zJYzycw5C6rM6k080ZSge2xavqbeRwU1dh8OeQd2DzyPRatUmqLU64W7poNqqlPSROA3OOY\/rrAUiwXVt4tUdR\/6rfclHY4c\/XmtJeJYjmpfTm6T01X9r0LNERZnUEREAREQBERAFW6hrPYbFVzZAdwFjfF2w+aslmNXOfWVVttDCQKiXik3xsNvqT5K8FeSMNom40m1r8lhpah9gsFOxzeF8g6V+Rg5PL4YVuvjWhrQ1oAAGAB1L6qt3dzSnBQiorkERFBcIiIAiIgCIodbdaC3DNXVxxHGeEnLj\/CN1KV9CJSUVdsmIs9JrezRu4Q6aTvbHt8SuQ13bccTqarawkAO4G7\/ABVt3LoYPaqK\/kjTIqan1ZZajlWCM9kjS348l6uV7NJcLdS07GT+2SYc4O\/C3IGRjnzPoowSvaxbf08OJO5boiKpsEREAREQBERAEREAXiWKOeJ0UzGyRvGHNcMghe0QamTq7PXadmfX2R5fTA8UtI4k7deO35+KvbRd6a80YqKc4cNpIyd2Hs\/mp6yl6t8tiq\/t218LGZxUwn8JBI3x4\/qtE8eT1OOUXs\/ihw810818GrWVoeCw6vnofw09waHxdgdvt68Q9FpKSqiraSKphdxRytDgVSaxo5JLdHX04+\/onh\/EOfD1\/Q+RSGuF8y20cCqR5Z+nP2NCij0FW2vt8FWzGJWB2Ac4PWPI7KQszpTTV0EREJCIiAIiIAsxU\/2r\/iDStHKlpyXDvw7\/APQWnWYs\/wData3aqzxCFoiHYDsP9p+KvDmzm2jNwj1a9szToiKh0hERAEREAREQGeuNJf7ncX07JxQW9uMSRuBfJ6b+Ww8V7pNI2eiBkmjNQ4ZJfO7I9OSvlmdSTT3G5UtgppHRiYcc7274bvsfTPPsWkZN5LI46tOnC85LE+V\/0W1JUWiWV1PSGm4282MaB2+vIqe5oc0tcAQRgg9az1dpCifRMbbwaaqgGY5Wndx\/6j49fV8F303eJLhA+krG8FdSnhkaebgOv6FQ0mrovCpKMsFRWvpbTsS6ixWmqB6W3wEnmWsDSfMbrG11mltmqIKazOc+UM6ZjZCNjvkb7cgv0JZWKUSa7rp+baSl6us4bt8T6K1OTzMdqpQeHKzb15nLSF0krrtXmacgynjbCX5A334fBa9YCzafkr7CLhSTGO4RzudG7OOIADY+ed+\/dajT16N2pnsmbwVdOeGZuMb9vw9VNSKvdEbHUaioT55rzLdERYnoBERAEREAREQBERAFznhjqYJIJW8UcjS1w7QV0RA1czWinyR0lZb5c8VJOW+v8wVoZoWVEEkEgyyRpa4doIwVnNObamvgbu3pckjlnid\/NadaVOK5zbL9lLpde5mdHyPpTXWebIkpZS5uTzaeweWf4lpllbxm0auormABDVAQzEnr5ZPlw+i1STzeLqNmdk6b\/i\/bkERFmdIREQBERAFmNG\/eSXWp3PS1J949fM\/VadZjQfvWaoefxOqXZP8AC39VePCzmqfeh6mnRc5ZooGcc0rI29r3AD4rxTVtLWFwpqmKbgxxdG8Oxnly8D6KljoxK9rndERCQiIgCIiALMWD+36nu9fJuYXdDHnqGSNuz8I9Vp1mNEnpaWvqQMNlqjgdm2fqrx4Wzmq51YLu\/wAI06yuo4JbPcodQ0bdshlSwDZw5ZPjsPHC1S51EEdVTyQTND45GlrgesKIyszStT3kLLXl3FPPHVU8c8Lg+ORoc0jrCyVOQL1qUk4Agd8lI0xK+13Kr0\/UP4ujd0kDj+YHf5YOPFRYwXXbUwbzNO\/HotFGzaOOpU3kYPnd372Zb6OAGmqfGdy\/mMfmKr73E\/T98hvdM09BO7gqmDlv1+fPxHerHSDg7TFJjq4wf85VpW0sddRTUsoyyVhaf1UOVps1jTx7PG2qSa7nWORksbZI3BzHgOa4HYg8ivSzujquV1BNbqg\/fUMhjIJycZPyII9FolSSs7HRSqbyCkERFU0CIiAIiIAiIgCj19WyhoJ6p+7YmF2O3uUhZfU9U+5VUOnqMgySuDp3b\/dtGCM\/P0Voq7Ma1TdwbWvLudtF0ro7Q+rkB6SrkLySMZHIfX1WiXKmp46Wmip4hiOJgY0dwGF1STu7k0obumo9Cq1LbhcrJPGATJG3pI8c8jfHnyTTVxFyskEpJMkY6KTP7wHPzGD5q1WEktlXBqae109c+kbMTU03D+EnswOwcQ8laPijZmFZulUVRK98vg3aKj0\/d6iqlnt1xAFdS\/iIAHGM89vL1Cs7jWC32+arc0O6JueEu4cnqGepVcWnY6I1Yyhj5ElfCQBknACyMOpL5S08VfXW5stDKOIPi2cwE8z5doGdt1LntTdTTNrRdJHW57RiBgxgjmD2HPdlWwW1MVtKmvArvpp69ifV6ls9EPvK2Nzv3YvfPwVadasnJFvtVXVEHHLHyyrKj01aKIDo6Jj3db5ffJ9forQNDRhoAHYEvBcrjDtEtZJdlf8AZmRcdWVe8FqhpmHrlO49T9FTabtl1raOaOluho6dkxDwwHiLsDcYx1d6\/QFmNKkU12vFBnAZPxsb3ZI5f5VZT8LsjCpQ+rDFJu9\/+5HqHRFCZOlraqoq39fE7AP1+KuLdaKG1Ne2ig6LpMcZ4iS7Gccz3lTUWbnJ6s64UKUHeMcwiKLLDWOuME0dUGUrGuEkPACXnqOer+XeqmrduRKREQkIiIAsxoI5sk57ap3\/ANWrTrMaF+7ttXTn8UdSc+gH0V1wM5qn34ev9GnRQKu+Wuiz7RXQtI5tDuJ3oN1Uy62o3OMdDR1NXJ1BrcA\/M\/BQoSeiLzr0oayPGr4HUktHe4ARLTyBjyOtu+M+e3mo9G6OXVt1a3+7qaPjaS3mC1h5eaVs2pb9RSUotMdPTy4z0pw7mD1kdY7FnLdDLW19HHLVPhExNOXMGHNAA93bnzA3+i6Ix8ObPLrVLVU4p2bT6Z6f2jT6Uu9DQ6daKyqjhLZXANc73iNtwOfWu82taR7zFb6SorJMe7huGk\/P4Kv0dZbdW0c81XTNmminLAXE8OMDq5c8rYwwQ07BHBEyJg5NY0NHwWc8Kk8jq2dVpUo2aS\/LMjap5odZdLUUppTcYXHoj+Ug\/M8BPmtksxqf7i\/WSqbjPTcDtt8Zb+pWnVZ52Zts6wucHyf7QREWZ1BERAEREARFn73qN9NUC22uP2ivftsMiP8An8O1SouTsjOpUjTjeR11BfvsxraWlZ01fPtHGBnGes\/ovdgsrraySpq5OmrqjeWQnOP+kLxYrB7A41tbIZ6+X3nvJyGnsHrzV2rNpKyMqcJTlvKnoun+nKSpgiljikmYySXPRtc4Avxzx2811WJr6WW9aynhjr3UgpmtDJOLJDsDZoyMZJPLsXWrkvemJYnyXRldTPIBbN+PnuQCcnn1Eq270zzM\/wDlNNtx8KdrmxWa1cx1JJQXmJpLqSYB+Otp7T2bEfxLRxvEkbXgEBwBweYUO9UX2haKmm4cuewlgx+Ybj4hUg7SN68cdNpa8ikvhZQ3613mnOWznopCOTgRsfQn0Cm6xeWaaqcfmLQf8wWZFabhbbBSuOXsquiJ7gWgfBw9FqNXRGXTVVjm3hd6OH0WrVnG5xRnjp1XHRq\/q1mTrXG37GpGEcTfZ2A53z7o5rP1dJU6VrHXC3sMlukP39OPyd4V9ZJOlsdC88zAwHxAwprmhzS1wBBGCD1rPFZs63TVSEWsmtGcKKtp7hSsqaaQPjeNj2dx71IWQqYpdI3cVdO1xtVScSsGSIj\/AFy8wvTNW190qOgtFDECQcOqJBk4G+2R29pU7tvNaGa2qMfDU4unXsawkAZJwAsTPeKO06yqq1songmhAPQuDvewNuzm34qw\/Zu63M8V5u7yw7GGnGAR6AfAqHcrXR6fvFmmpmcERlLZHuOesbnyJ9FaCina9zLaJ1ZRUsNkmtdemhq6CrFdQw1QY6MSsDuF3MdykIvhcGjLiAO0rE9BXSzPqKtqdQ2ikH3tfCTjkx3GfhlVkmt6EydHR0tTVP6uFuAfr8FZQk+RlLaKUdZI0q4VlZBQU5nqH8EY2ye1Z5t51PXb0dlZA09c5OfiR8lUaipL57JTyXesZJG+YNbFENmnB3OwGefarxp52bMKm12g5Qi36ZGmbqyyOpun9tDRnHAWniz4Y+PJQTrCWqcRa7PVVTf3yMD4A\/Nc6zQ9K2kaaCR7aqPcGQgh57+xT7Bfm1xNBVx+zV8Oz4yMB2OZH6KbQtdZlFOu5KFRqN+i1\/JEL9YV2wjpqBvLOxP1+iprJYHXWuuVPWVkrfZ5sSdEcdI4lwJ326j1da\/QFmNL7X2\/g7E1OcfxPSM3hdsiKlCO8gpNu99exNpdJWWlA\/snTOH5pXF3w5fBW0UMUDOCGJkbexjQB8F0RZOTep3QpwhwqwX5jeIja77VNhBaYJ2zx4H4Qd\/mWjyX6csZq6hDr7SPLRw1kRgyeXH+Unzc30WtF2lY49vg5U01qmSdEysebmyM+4J+JvVsc9XVyWqWI\/4fktqa1hOCWtJbv1E\/qtuq1VabNNilegvX9mY1ueGjoXj8TaoYPkVp1mNa4fHboORkqhy3PZy81p1EuFFqf3p+gREVDpCIiALy5zWML3uDWtGSScABRbldaO0wdNVyhv7rRu53gFnOC56vkBkD6C1jcAH3pf1+Q71eMb5vQwqVlF4Y5y6fPQ61t8rL3UutthDmtziSs3AA7j1ePPsVvZbFS2WEiP7yd\/8AeTOHvO\/Qdyl0VFTW+mbT0sQjjb1DrPae0qQjllZaEU6LvjqO8vZdgiIqHQYnT9ko7\/T11bWtcXyVTsFrsEbZPd+b4K4o9G2ikeHlkk7gdumdkcuWAACo2iswRXCicfegqTkbdYx\/tWnWs5SUmkzh2ahTlTjJxzCIo9bW09vpX1NTIGRsG57e4d6yO1tJXZi7bbQddSQNwYaWR82Adh2fEt9Fr7zCaiy1kTRlzoXYGM5ONljtPtr\/ANpILk+GQxVpkc5waSADnmcduO5bWpuFDSjFTVQRZ2w94GfJbVL4kefsmF0pXyu2Vukahs2mqffeLiY7J5YJ+hC9XHVNrt5MfTdPNjaOH3t+wnkFhKZllZUVLas1UrWyYg9nwA9uTuc79ivLca2PhNm002J2P7+q3ce8E4x5K8qavdmNLapuChHVd2\/wvkmVNwvd6onU0diAhmYA50xxjODkZI5b48lU0NrtsM9VbLrL7HVwO4oqkP4Q5uxHM47x179yuhZ9S1+PbryKdhG7YBv4bY+aq79peC00MdaJpalwlaJjIdiD4b\/HrSLXCn+CtWE39Rxbt1tp2R8ptWVtoqTTVFRFdIG7CRrjxY\/7iN\/PPil2vz9TU7qGjtjnFh6QPL8uAHXjw7+tbCittupmMkpKOGPIBDgwcWPHmqXUNnFG0Xm1sENRTHpJGMGGyAcyR657d1ClBy0zNalGvGk05XXNeXk2QbTLqO\/UYfDc4aeFh6N2G+\/sBvy8+YU4aMFQ4Pud1qqt3ZnGPXKg6dr4qS\/vjY3o6a5sbJGD+V++3rxD0W1VZycXlkX2elTqwvPNrzZUU2l7LS44aFjz2ykvz5HZWkcMULeGKNkbexrQAvaLJtvU7o04Q4VYLOa5iL7CJBsYZmuz2cx9QtGsnqe03aSKtqI7gH0bm8b6d4\/CG4Pu7HsPZ35VqfEjHar7lpK5p6aUT0sUwORIwOz4jKqNQWI14bXUTjDcIBmN7duPHUfoqm0XjUMVqhkbb2VtPw8MbmO98Ae7g48OxSzqq4xHhm07Vg9RHFv\/AOKsoSi8jJ16VSnad8\/Jllp68C8W4SPw2ojPBM3sPb5qt0\/7mqr2w8y8O+J\/VNOQVE16rLmaJ9DBM3AicTu7bJwR14PgljB\/a+8HG23zUtJYrFYylLduXV+uTzNOiIsT0As5reAvsralmz6aVrw7rAO3zI9Fo1FudKK22VNNjJkjIHjjb4q0XaSZlWhjpyj5GEob19n6inuEUX9knLTMGjPCHYOfHK\/QopY54WTRPD43gOa4ciFhNE08dXPX09TH0kb4Q17XdmVZU9HfdNvkp6GIXCjfvE1xwWE\/1v1HuW1RJu3M8\/ZKk4QxNXi7+n+HS7n7Q1lbKNmCKQdM\/fGDz\/2t9VqFR6ds9TRPqa+veHVdWeJwbyYOePj5YV4sptaLkdtCLs5y1b\/8CKPW19Jb4emq52Qs6uI7nwHM+Szz9Q3O8PMNhoi1mcGqmGw8By+fgoUWy1StCDs9ei1NFV1lNQwmaqnZCwdbjjPh2rPTapqrk91NYKKSV\/IzyDDW9+P1x4LpBpBs8wqbzWy1037ueFg7u30x4LQQwQ00QigiZFG3k1gwAreGPmZ2rVNfCvf\/AAobZpVjJhXXaU11W7ch5yxp8+fy7loQABgDAC+qLUXOgpM+0VkERHMOkAPoqtuTNYQp0o5ZEpFQVGtLLBsyaSc\/\/HGfrhRv2quFWMW6xTyZO0kmeH4DHxU7uXQo9qorJO\/bP9GoRZj\/AJxrTnNLQNPVsTj\/AMl8\/ZOuqgPtG+VEo62Mzgep+inAlqyN\/N8MH65HK61Eenb+blEY3xVI4ZoQ\/wB4HrIH8I8\/hNfraysi42ySvd+42M5+O3xXqn0ZZYB70Mk57ZJD9MBeq+w6fp6R9RU0UcccTclzOIY6urmrXg7J3MFDaIXcbJa9ism19GS4UtvkeAM5keG7eAz81Tz3S5atqoqAvp6ductYSWtce875K60dihvtxa+ho5KS2sPvSPcS6QZ3xnbPV3LZ0tjtdE5rqeiia5ji5riOIgnsJ3V24Q0WZzwhtG0ccvD+\/YpRpW51LQK++Slo26OIENx2DcDl3KTTaJs0AHSRyzkdckhHywtAix3kup3rZaKzav3z\/Zk7bDBbdc1sDGMihdT8TBjAbs0n\/crX9qrH\/iDP8rv0XyazSSanhurXxiJsJY9hHvOOCPqFI+wLR\/htN\/phWbi9TOnCrBNQss3qcP2qsf8AiDP8rv0XCtvunLhSvpaqsY+J+MjDxyORuAp32BaP8Npv9MJ9gWj\/AA2m\/wBMKLw8y7W0NWeH3IP7W2CnjbFHVEtYOFrWxO2A5DcKJU6ypqpppbdQzVk0oLQxzcNOe3rI9Fex2m2xf3dvpW94hb+ikxxRxDEcbWDsaMJeC5DBXeTkl2XyzLR6UldpdtM88NdG900RBHuk\/lz3gDr5+CtNOXn7VoSyb3aun9yZhGDnt88equFmr3aq2kuIvlnaHTgYmh4c9IO3HX4c+xSpY8mVdPcWnBZaNeXXujSoquyXynvVMXMHRzs2khJ3b+oVos2mnZnVCcZxxReRyqZJIqWWSKPpZGMLmMzjiIGw81yhdLXWwe00\/QSSxkPicc8OdsKUiXDV3qZrQ0zn2WSB5OYJnNAzyBwfnlaVRaO20lA+Z9NFwOnfxyHiJ4jv2+KlKZNOV0Z0IOFNRlyCzGmfvNQ36R34mzho8OJ\/6Badc44IYnvfHExjpDl5a0AuPf280TsmiZ08U4y6fB0REVTUIiICosthjs01U9krpBO4FoP5R2ep+St0RS227spCEYRwx0CIiguU0umKCpuslwq+kqHPI4Y3u91u3Z1+HJeJ9VWOhb0bJw\/g2DIWZx9FeKFBZ7bTPL4aGBryc8XACfVXUk+I55U5R+1ZX1KX9rqir2tllqp88nuGAPQHu6+tAdY13\/taBp8Ccf8Al\/RWnRMSWiI3E5cc36ZGX\/ZOuqgPtG+VEo62Mzgep+ilU+jLLAPehknPbJIfpgK+RN5LqStlorPDfvn+yNT26hpDmno4Ij2sjAPqpKIqXN0kskEREJC8ua17S17Q5p5gjIK9IgPjWhrQ1oAAGAB1L6iIAiIgCIiAIiIAiIgCIiAorxpttZP7fb5jSV43D2nDXnvx\/XioTNQ3i1OMF4tkk3DyqIBs4dvZ8vBapFdTys8znlQ8WKm8L9vwZn9uKKTDKeirJZSMhnAPoSp9nuF2r55HVltFHT8OY+Jx4855EevUFbBobnAAycnC+o3G2SJjTqXvKd\/SwREVDcIiIAiIgCIiAIiIAiIgP\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ESCUELA PEDRO VERGARA KELLER",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28752\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28752\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28752\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28752\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:17",
    "ubicacionGPS": "LatLng(lat: -22.4425301, lng: -68.9330495)",
    "horaLlegada": "11:03",
    "horaDespacho": "11:03",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 11:16:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[25/05/2026 11:16:59] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP3029', 1, 19969062, 86901, NOW(), 
				'11:03', '11:03', '11:17', 10, 'entrega insumos', -1, 
				'', '','1','4439',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779722219.png', 'entrega insumos', null, 'COMPLETADO','LatLng(lat: -22.4425301, lng: -68.9330495)' )
				
[25/05/2026 11:16:59] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200403
[25/05/2026 11:16:59] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200403', 'EPS-I1240', 2)
				
[25/05/2026 11:16:59] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28752 and
				    IDproducto = 'EPS-I1240'
				

25/05/2026 11:16:59 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1240';
                [25/05/2026 11:16:59] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200403', 'EPS-I1241', 2)
				
[25/05/2026 11:16:59] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28752 and
				    IDproducto = 'EPS-I1241'
				

25/05/2026 11:16:59 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1241';
                [25/05/2026 11:16:59] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200403', 'EPS-I1242', 2)
				
[25/05/2026 11:16:59] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28752 and
				    IDproducto = 'EPS-I1242'
				

25/05/2026 11:16:59 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1242';
                [25/05/2026 11:16:59] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200403', 'EPS-I1243', 2)
				
[25/05/2026 11:16:59] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28752 and
				    IDproducto = 'EPS-I1243'
				

25/05/2026 11:16:59 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1243';
                
25/05/2026 11:16:59 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200403'                    
				WHERE idllamado = 12681			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


25/05/2026 11:16:59 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12681			
				
25/05/2026 11:16:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11:17:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:17:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:17:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:17:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

[25/05/2026 11:17: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;
                

[25/05/2026 11:17: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;
                

25/05/2026 11:17:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:17:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

[25/05/2026 11:17: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;
                

25/05/2026 11:17:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:17:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:17:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:17:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

[25/05/2026 11:17: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;
                

25/05/2026 11:17:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:17:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:17:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:17:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

[25/05/2026 11:17: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;
                

25/05/2026 11:17:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:17:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:17:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:17:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:17:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:17:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

[25/05/2026 11:17: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;
                

25/05/2026 11:17:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:17:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:17:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

25/05/2026 11:17:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12681
            GROUP BY l.idllamado;
            

[25/05/2026 11:17: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;
                

25/05/2026 11:17:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:17:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11:17:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11: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 = 12681
                

25/05/2026 11:17:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12702
            GROUP BY l.idllamado;
            

25/05/2026 11:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11:17:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11:17:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11:17:10 - logentry: =========================================
FECHA: 25/05/2026 11:17:10
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-mGDomuEuVdHfPf7zKt1OgTLiYJIYARUE9bVwHK1chXetZcwogS3
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "KY2448",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "616892",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza cambio de holder pad assy sp\n01 rgom2576\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12702",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACcAK4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABAEAABAwMCAggFAQQHCQAAAAABAAIDBAURBiESMRMiQVFhcYGRFKGxwdEyFWLh8BYjJDNCUpIHJkNEU4Ky0vH\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAgECAgcIAgMAAAAAAAAAAQIRAxIhMUEEEyJRcZGxIzJhgaHB0fAz4RSC8f\/aAAwDAQACEQMRAD8A\/ZkREAEREAEREAEREAERc6ieOmp5J5XBrI2lziThAN1uUWp7\/NapKWmogx1TK7iLXjI4eQB8z9CtA3PCOLGcb4WEsAk1DquS5VDOKODrjsDTyYPv6LeKk0o0jJ0acsrlk5N7fIIiKZrCIiACIiACLi6qp21Dad0zBK79LC7c\/wA5C7IOJphERB0IiIAIiIAIiIAIiIALJ66uZgpIrfE\/D5+tIBnIaOXuc+y1T3tjY57zhrQST3Bfmda+e8Vbq1\/E0184gp2nP6QR9Mt9c+lcUblbMHTsjjj0R4v9\/o1miaH4Wxidw69S8v8A+0bD7n1WiXOCFlNTxwRjDImBjfIDAXRJJ27NeLH1eNQ7giIlKGR17VTQRULIpHx8T3uy1xByAAP\/ACK0lsqTWWulqXDDpYmuI8SN1mNaRfF3S3UozlzJD9PwrTRs3TachGf7tzmeW+furSXs0efjm\/8ALmuX4r8l6vCQBknAC9UO7TCntFZMcdSF5Ge042UluzfJ0mzH26zPv9LX3SKZ8dWalxgeHEZ2zjwByB4YWi05eX3GB9LVtLK6l6szTsXdmfz\/ABXzo6LotN05POQud5dYj7KtvksVj1bSXM5bHPG4TBvN2Bjl\/p9lZ9puPkebBdTCGXvq\/nz+RrkVBYbhdbrWzVk0XQ29zP6ljhud+effPor9Rap0b8eRZI6lwCIi4UCIiACIiACIiAM7rGvdFb2W6AcdRXODGtHPGR9Tgep7lXwUTBq2325jQY7bT8Tsb9bGc8u9w\/kqTayL7qqouZy6lox0cG+QXcs49zy7R3L3S+K283a6bFr5OjjP7ue\/yDVf3Y1+7nmP2uVS73t4Lf6s1CIigemEREAZW4Fs2u6YOGWU9K5zhnHY78hdtCgiwOzyM7sbeAVbdalseqLrM4kfD0BDT4lrQO3ver3SVP8AD6cpQf1SAyH1Jx8sK8toeR5uHfpD\/wBvsvsXKptWS9FpqrPa4NaPVwCuVk9c3Knbbxb2yB07nhzmjfhA7+7sU8auSNXSZqOGTfcWNJX0lk0zQy1cnA0wMw0DLnEjOAPVZeeoqr5qG3S19OW008gEMJ\/yZ3Pjnv8Asru0aZmlljr75IZ52gBkDsFrABtns9OS9LXV+u2hu8FvhweHkHEcvdw\/0+Cqmk3RjyRyTjFS2VpJfn8Gma0NaGtAAAwAOxeoiznqBERABERABERABUWrbmbfaTDCT8RVnoowOeP8R9tvMhXqytPwX7WUk2eOmtowzbYv\/wDoJ9Angt7fIz9Ik9OiPGW35+hOig\/o7pJ4P97FCXOIP\/EPj5kLzR9MKXTkLjgGYuld74HyAVfrK80slAbZTSiaoke3jbHvgA5wfHIGy+aKxXe600TLpUvpKNkYjZSxHBwOWc57u3J8lSuzb5mbWlmUcavSq\/WXFdqi0UOQ+qErxjqQ9c+\/L5qvGto3jiitdXIw8nAc1LNpsunqGWt+EY4wt4uOTrOJ7MZ5EnbbCh6GD5aGsrJHEvmqN8k9gB+64lDS3Q0p53kUHJK+7f1L223KmutIKmlfxMyWkEYII7FLWT0rURwU13uDiBT9O5w322ydvcK0st\/bdrbPVGDonQk8TA7O3Mfj0KSUKbothzqUY6nu\/sYq5VDq29XCCnOX1dQ2FuSdwHfkNX6RBCylpY4W7MiYGjyAwvz7SsMZuMt3rZGx09L1nPdyL3ch49vyVxLVXLVsrqeiDqS2AkPnI3lHd\/D3Vsit1yRh6Lk0pzauUuC\/fiSLlqKoral1rsMZmnOz6gfpjHbg\/f2ys9dKK3UE1LT\/ABoqqwzh1VKScNG22ffxVzXTQ2tg09YYi6rn2keCcsz2k9+PYKC+x0lNqG02gsbL\/VmSd3\/UO59ury\/iiNIXMpze+7tL4Lfgvj3s0Nx1TbaOkdJDUR1Ex2ZG13b49wXPSlqloqSStq96utPSPJ5gHcA+OSSf4KdT2C00svSw0MTX5yCQTg+GeSsVFySVRPQjjm5qeStuFBERIaQiIgAiIgAiKkvOpYLe\/wCFpG\/FVzjwthbvg+OPoupNukJPJHGtUmSNQXRlqtM0xcBK5pbE3OCXH8c\/RZKwUF2uFu+Epf7FRvcTPUf4pfAeGMDA255O+F8G319z1PS09zn453gSSs5iJg34e7l6bjnuv0JrQ1oa0AADAA7FZvq1S4mCMX0nI5S2S2r1MRcrLRWy7WSjpmkl8\/FM55yX9ZuM\/NbhZi8dfWtoZyw0uz7\/AIU7U13NrtpER\/tNRlkIGc57SPLISyuWlFMThi6yXBJ\/ZFJqOslvdZUW+ldiloI3TTvB\/WWjl9vPPcpFnmFu0BLVA4c5shB\/eLi0fPC7G0vtOjK2J5DqmSN0kzs5yT4+A+6qbhK12krNb2vDDUvGS7sAJyd\/FwPMclRU0kuFmaWqE3kl7zj6ukvkfJD49OW2y05Iqbi7pX74wwnbu57ex8FFjuMNmhvlBCXF0spihHc0FwJz5YSlnuNxv081objDOjZI7lDGBgHPZsPr2qhIe\/ikOXb9Zx7yqqN7MxTytVKPgvBKv7Ndp7SstZSwz3KVwpCelip2n9ecdY+Yx4+Su7zdm2qFlttcIfWvHDFDG3IjHeQo9zvckDYrNZmiesLRHxs3bFt7Z29FLsOn22ziqqp\/xFdNvJKd+HPMD8rPJ32peR6eOCiurw\/N\/vP0PdO2IWindLO7pKyfeWQnOO3AP17yoFHis\/2gVcoHVpYOEHHbsPufZahZjSZFTc7xXE56Sfhb3gZJ\/HsuJt6pMrOEYvHjjwu\/JGnREUjYEVdXX62W\/IqKyMOGOo08Tt\/AKPadRMvFRI2noagQsbnpnAAE55ffmm0urJPNjUtN7lyiIlKhfL3sjYXyODGtGS5xwAuNdX01upnVFVKI2NHbzPgB2lZhrLjrCYOlD6O0tOQ0c5cH+fAeKeMb3fAhkzaHpirk+R1q77W3upNusLXNaDiSrOwA8O76qytFhorHTmU4knDSZJ3Dfxx3BWNHR09BTNpqWMRxs5AfU96q9XVnwmnp8HDpyIh68\/kCu3b0x4EnDQnlyO2vJeBC0i19dV3C9zZLp5OjZkYw0b\/+o9FqFBstH8BZqWmIw5kY4h+8dz8yVOSzdyLYIOGNJ8efizMXI8GvrY7hBzARnt5P\/K40H+8erJK89ajoOrD3Od2H3y72XHXQfBWUNTC8Mkcx8fFxYOPXYfqO\/ivKS7PpKOGzafh+KqcZknx1GuPM88evLzVkuymjz5TSzSjLgnfi6VIu9T19JS2ephnmDZZ4nNjZzLjju7vFfnRlqrj8LSNZxmJvRxMYNzkk\/dby2aXip5DX3aX4urPWcZDljPfmq7RNrgknqLrgkMkdHACMY7z54IHuuwlGMXQufHlz5IqW1+i7y6fDFp7SsrG4zFCeJw24nkYz7kKo0\/pmCt03\/a8g1MglaWndoGQPq73X1rWtMz6WzQkGSZ4c\/G5G+Gj3OfQLVU8LaamigZ+mJgY3yAwp24xvmzUoQyZnGtoqvMh2qyUNni4aWLrkYfK7dzvX7BWCLhV1lNQwmaqnZCwdrjjPl3qdts1pRxxpbJH1VTCmpJpzjETHPOfAZWd0e+Cg04amqmZE2aZz+ORwGeTeZ8lCveq5K631UVtpJHU3DwS1LwQADtgeee32XSyaPppqOmq6+d9Q18YeyEZDWg74+fZhVUdMe0YZZXkzLqldJ+G5LqNYCac01moZK6TH68ENHjjmR7Lk20aivBa66V\/wkBG8MBwSO4429yVpKelp6SPo6aCOFn+WNoaPkuyXWl7qL9RKf8sr+C2RT0OlbPQ4LaUTPH+Ofrn25fJW4AAwBgBeokbb4l4Y4wVRVBV14vVJZqbpah2XuB6OIc3n7DxXO+3yKzUwIb0tTLtFEOZPefBQbNp+SSf9q3o9PWvw5rHco+7bv+iZRVXIjkyycurx8fov3uI9BZam\/VIut8yIzvBSg4AHj4fXtWqa0NaGtAAAwAOxeouSk2UxYo41txfF94WXvh\/aeqbbaxuyE9PLt64z5D5+2nc4NaXOIAAySexYq0Xihgr7lfK6YNM7+jhYN3OaO4c+xu+w2TY092iPSZLswb2b38FubZVl2v8AQWeM9PKHS46sLDlx\/A8Sqj4++6i6lvhNuonf8w\/9bh4fw91Y2zS9utzhK5hqajOTLNvv3gdn1RpUfeO9bPJ\/Etu9\/ZczH1L63VctXXODY2UUHEI2gkYyTjz57+C2Glfg3WKCSjiZGSMS45l42Of57VMt1qpbZHKyna7Ez+N5ecklZ6kqRpW+S0FT1LdVu44H9jDsN\/ofIFO5a1SM8MbwTWTJvezfp+C51LVmjsFU9pIe9vRsxzy7b8r3T1ILdYKaN+Gng6R5J5E78\/D7Kmu0zdR36ltlI\/paWmd0tQ5uC0+vb3epU\/WNwFDY3xNz0lUeiHgO0+23qlrZR7ynWLXPNyiqX3\/BQWV779rR9dJ1o4iZBscADZg+h9Ct45wa0ucQABkk9iwum7hQaftMlXVODqmpP9XEzdxYNhnuyc\/JThRXvU\/XuDzb6HO0DR1n+f8AH2TTjb7kiXRsmnHsrk9\/+9xJuGqw+f4KyQ\/G1RJHEBljfHx8+Xivml0rLWyCrv1S6pmJ4uhacMZ4ZH0GB5q7oLZR2yERUkDYxjd2Os7zPapaTXW0TSsDm7zO\/hy\/szesI4aTTBggjZFGZGNDGNwO\/wCyvaJnR0NOzGOGJox3bKg1viSjoqdxIElSOzwI+60yH7qDGvbz+CS9QiIpmoIiIAyUZp4NcVM90e1hLQKZ0mzOQ5E7Zx8ye1aX46j4eL4uDGM56QLnX2qhubQKunZIQMBxHWA8Cqz+hVlznoZeecdKfZUbjLiZIwy421BJpuyxlvdrgaTJcaYYGcCUE+w3VXUa1tzZOipIp6yQ8hGzAJ9d\/kpMWkrJCcij4j3ukcfurOnpKakZwU1PHC3uYwN+i52ENXSJcWl9TE369X+WiEskH7OpZTwtbxdd+Rnz5eAV7ZdK0FDTxS1EAmquEOcZNw13cBy2Ua8ZuOsbdQc4qdvTPB5Z58u3kPfzWoTylUUlsRw4VLLKU3qrbf6hERRN4UauoKW5UzqeqibIw8sjdp7wewqSq2732is0QdUPzI4ZZE3dzvwPFdV3sJkcFFufA6U1BbrLBI+GOOnjAy97j2ZJ3J7N1hNS3MX69RQ0jy+FuI4tiAXE7nv329lbS0dyvsElzvDjS0MTDJHTNOOIAZ3\/ACd+7ChaGtwqbnJWSNJZTN6u23GfwM\/JaIpRuTe55WaUsrjhhGov94GjsulKG04leBU1IORI9uzT+6OzzV6iLO227Z6uPHHHHTFUgiIuDlVfLO+7Ck4JRGYJg88QzkdvqrVEXbdUKoJSclxYREXBgiIgAiIgAiKDeas0NnqqkHDmRnhOcdY7D5kLqVuhZSUU2+RS6YxX3q63XOQ5\/RRnOctz+A1ahUmkaQ0mnYOIYdNmU7Y58vlhXaab7RHo0WsSvi9\/MIiJDQfEokdC8RPDJCDwuIyAfJUdo0y2lnNdcpfja12\/E7drD4Z5q\/RdUmlSJyxxlJSlyItyozX26ekbJ0ZmYW8WM4Uaw2dlltwpw\/jkcS57+8+Hh\/FWaIt1R144uevmERFwcIiIAIiIAIiIAIiIAIiIALP62l6PTr25x0kjG+e+fstAo1dQU1xhbDVRCRjXh4B7x\/JHqmi6kmSzRc8cormj6oYugoKeHHD0cTW47sABd0RKUSpUEREHQiIgAiIgAiIgAiIgAiIgAiIgAiIgD\/\/Z",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:17",
    "ubicacionGPS": "LatLng(lat: -29.9177464, lng: -71.2550759)",
    "horaLlegada": "10:54",
    "horaDespacho": "11:15",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 11:17:10
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-mGDomuEuVdHfPf7zKt1OgTLiYJIYARUE9bVwHK1chXetZcwogS3
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "KY2448",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "616892",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza cambio de holder pad assy sp\n01 rgom2576\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12702",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACcAK4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABAEAABAwMCAggFAQQHCQAAAAABAAIDBAURBiESMRMiQVFhcYGRFKGxwdEyFWLh8BYjJDNCUpIHJkNEU4Ky0vH\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAgECAgcIAgMAAAAAAAAAAQIRAxIhMUEEEyJRcZGxIzJhgaHB0fAz4RSC8f\/aAAwDAQACEQMRAD8A\/ZkREAEREAEREAEREAERc6ieOmp5J5XBrI2lziThAN1uUWp7\/NapKWmogx1TK7iLXjI4eQB8z9CtA3PCOLGcb4WEsAk1DquS5VDOKODrjsDTyYPv6LeKk0o0jJ0acsrlk5N7fIIiKZrCIiACIiACLi6qp21Dad0zBK79LC7c\/wA5C7IOJphERB0IiIAIiIAIiIAIiIALJ66uZgpIrfE\/D5+tIBnIaOXuc+y1T3tjY57zhrQST3Bfmda+e8Vbq1\/E0184gp2nP6QR9Mt9c+lcUblbMHTsjjj0R4v9\/o1miaH4Wxidw69S8v8A+0bD7n1WiXOCFlNTxwRjDImBjfIDAXRJJ27NeLH1eNQ7giIlKGR17VTQRULIpHx8T3uy1xByAAP\/ACK0lsqTWWulqXDDpYmuI8SN1mNaRfF3S3UozlzJD9PwrTRs3TachGf7tzmeW+furSXs0efjm\/8ALmuX4r8l6vCQBknAC9UO7TCntFZMcdSF5Ge042UluzfJ0mzH26zPv9LX3SKZ8dWalxgeHEZ2zjwByB4YWi05eX3GB9LVtLK6l6szTsXdmfz\/ABXzo6LotN05POQud5dYj7KtvksVj1bSXM5bHPG4TBvN2Bjl\/p9lZ9puPkebBdTCGXvq\/nz+RrkVBYbhdbrWzVk0XQ29zP6ljhud+effPor9Rap0b8eRZI6lwCIi4UCIiACIiACIiAM7rGvdFb2W6AcdRXODGtHPGR9Tgep7lXwUTBq2325jQY7bT8Tsb9bGc8u9w\/kqTayL7qqouZy6lox0cG+QXcs49zy7R3L3S+K283a6bFr5OjjP7ue\/yDVf3Y1+7nmP2uVS73t4Lf6s1CIigemEREAZW4Fs2u6YOGWU9K5zhnHY78hdtCgiwOzyM7sbeAVbdalseqLrM4kfD0BDT4lrQO3ver3SVP8AD6cpQf1SAyH1Jx8sK8toeR5uHfpD\/wBvsvsXKptWS9FpqrPa4NaPVwCuVk9c3Knbbxb2yB07nhzmjfhA7+7sU8auSNXSZqOGTfcWNJX0lk0zQy1cnA0wMw0DLnEjOAPVZeeoqr5qG3S19OW008gEMJ\/yZ3Pjnv8Asru0aZmlljr75IZ52gBkDsFrABtns9OS9LXV+u2hu8FvhweHkHEcvdw\/0+Cqmk3RjyRyTjFS2VpJfn8Gma0NaGtAAAwAOxeoiznqBERABERABERABUWrbmbfaTDCT8RVnoowOeP8R9tvMhXqytPwX7WUk2eOmtowzbYv\/wDoJ9Angt7fIz9Ik9OiPGW35+hOig\/o7pJ4P97FCXOIP\/EPj5kLzR9MKXTkLjgGYuld74HyAVfrK80slAbZTSiaoke3jbHvgA5wfHIGy+aKxXe600TLpUvpKNkYjZSxHBwOWc57u3J8lSuzb5mbWlmUcavSq\/WXFdqi0UOQ+qErxjqQ9c+\/L5qvGto3jiitdXIw8nAc1LNpsunqGWt+EY4wt4uOTrOJ7MZ5EnbbCh6GD5aGsrJHEvmqN8k9gB+64lDS3Q0p53kUHJK+7f1L223KmutIKmlfxMyWkEYII7FLWT0rURwU13uDiBT9O5w322ydvcK0st\/bdrbPVGDonQk8TA7O3Mfj0KSUKbothzqUY6nu\/sYq5VDq29XCCnOX1dQ2FuSdwHfkNX6RBCylpY4W7MiYGjyAwvz7SsMZuMt3rZGx09L1nPdyL3ch49vyVxLVXLVsrqeiDqS2AkPnI3lHd\/D3Vsit1yRh6Lk0pzauUuC\/fiSLlqKoral1rsMZmnOz6gfpjHbg\/f2ys9dKK3UE1LT\/ABoqqwzh1VKScNG22ffxVzXTQ2tg09YYi6rn2keCcsz2k9+PYKC+x0lNqG02gsbL\/VmSd3\/UO59ury\/iiNIXMpze+7tL4Lfgvj3s0Nx1TbaOkdJDUR1Ex2ZG13b49wXPSlqloqSStq96utPSPJ5gHcA+OSSf4KdT2C00svSw0MTX5yCQTg+GeSsVFySVRPQjjm5qeStuFBERIaQiIgAiIgAiKkvOpYLe\/wCFpG\/FVzjwthbvg+OPoupNukJPJHGtUmSNQXRlqtM0xcBK5pbE3OCXH8c\/RZKwUF2uFu+Epf7FRvcTPUf4pfAeGMDA255O+F8G319z1PS09zn453gSSs5iJg34e7l6bjnuv0JrQ1oa0AADAA7FZvq1S4mCMX0nI5S2S2r1MRcrLRWy7WSjpmkl8\/FM55yX9ZuM\/NbhZi8dfWtoZyw0uz7\/AIU7U13NrtpER\/tNRlkIGc57SPLISyuWlFMThi6yXBJ\/ZFJqOslvdZUW+ldiloI3TTvB\/WWjl9vPPcpFnmFu0BLVA4c5shB\/eLi0fPC7G0vtOjK2J5DqmSN0kzs5yT4+A+6qbhK12krNb2vDDUvGS7sAJyd\/FwPMclRU0kuFmaWqE3kl7zj6ukvkfJD49OW2y05Iqbi7pX74wwnbu57ex8FFjuMNmhvlBCXF0spihHc0FwJz5YSlnuNxv081objDOjZI7lDGBgHPZsPr2qhIe\/ikOXb9Zx7yqqN7MxTytVKPgvBKv7Ndp7SstZSwz3KVwpCelip2n9ecdY+Yx4+Su7zdm2qFlttcIfWvHDFDG3IjHeQo9zvckDYrNZmiesLRHxs3bFt7Z29FLsOn22ziqqp\/xFdNvJKd+HPMD8rPJ32peR6eOCiurw\/N\/vP0PdO2IWindLO7pKyfeWQnOO3AP17yoFHis\/2gVcoHVpYOEHHbsPufZahZjSZFTc7xXE56Sfhb3gZJ\/HsuJt6pMrOEYvHjjwu\/JGnREUjYEVdXX62W\/IqKyMOGOo08Tt\/AKPadRMvFRI2noagQsbnpnAAE55ffmm0urJPNjUtN7lyiIlKhfL3sjYXyODGtGS5xwAuNdX01upnVFVKI2NHbzPgB2lZhrLjrCYOlD6O0tOQ0c5cH+fAeKeMb3fAhkzaHpirk+R1q77W3upNusLXNaDiSrOwA8O76qytFhorHTmU4knDSZJ3Dfxx3BWNHR09BTNpqWMRxs5AfU96q9XVnwmnp8HDpyIh68\/kCu3b0x4EnDQnlyO2vJeBC0i19dV3C9zZLp5OjZkYw0b\/+o9FqFBstH8BZqWmIw5kY4h+8dz8yVOSzdyLYIOGNJ8efizMXI8GvrY7hBzARnt5P\/K40H+8erJK89ajoOrD3Od2H3y72XHXQfBWUNTC8Mkcx8fFxYOPXYfqO\/ivKS7PpKOGzafh+KqcZknx1GuPM88evLzVkuymjz5TSzSjLgnfi6VIu9T19JS2ephnmDZZ4nNjZzLjju7vFfnRlqrj8LSNZxmJvRxMYNzkk\/dby2aXip5DX3aX4urPWcZDljPfmq7RNrgknqLrgkMkdHACMY7z54IHuuwlGMXQufHlz5IqW1+i7y6fDFp7SsrG4zFCeJw24nkYz7kKo0\/pmCt03\/a8g1MglaWndoGQPq73X1rWtMz6WzQkGSZ4c\/G5G+Gj3OfQLVU8LaamigZ+mJgY3yAwp24xvmzUoQyZnGtoqvMh2qyUNni4aWLrkYfK7dzvX7BWCLhV1lNQwmaqnZCwdrjjPl3qdts1pRxxpbJH1VTCmpJpzjETHPOfAZWd0e+Cg04amqmZE2aZz+ORwGeTeZ8lCveq5K631UVtpJHU3DwS1LwQADtgeee32XSyaPppqOmq6+d9Q18YeyEZDWg74+fZhVUdMe0YZZXkzLqldJ+G5LqNYCac01moZK6TH68ENHjjmR7Lk20aivBa66V\/wkBG8MBwSO4429yVpKelp6SPo6aCOFn+WNoaPkuyXWl7qL9RKf8sr+C2RT0OlbPQ4LaUTPH+Ofrn25fJW4AAwBgBeokbb4l4Y4wVRVBV14vVJZqbpah2XuB6OIc3n7DxXO+3yKzUwIb0tTLtFEOZPefBQbNp+SSf9q3o9PWvw5rHco+7bv+iZRVXIjkyycurx8fov3uI9BZam\/VIut8yIzvBSg4AHj4fXtWqa0NaGtAAAwAOxeouSk2UxYo41txfF94WXvh\/aeqbbaxuyE9PLt64z5D5+2nc4NaXOIAAySexYq0Xihgr7lfK6YNM7+jhYN3OaO4c+xu+w2TY092iPSZLswb2b38FubZVl2v8AQWeM9PKHS46sLDlx\/A8Sqj4++6i6lvhNuonf8w\/9bh4fw91Y2zS9utzhK5hqajOTLNvv3gdn1RpUfeO9bPJ\/Etu9\/ZczH1L63VctXXODY2UUHEI2gkYyTjz57+C2Glfg3WKCSjiZGSMS45l42Of57VMt1qpbZHKyna7Ez+N5ecklZ6kqRpW+S0FT1LdVu44H9jDsN\/ofIFO5a1SM8MbwTWTJvezfp+C51LVmjsFU9pIe9vRsxzy7b8r3T1ILdYKaN+Gng6R5J5E78\/D7Kmu0zdR36ltlI\/paWmd0tQ5uC0+vb3epU\/WNwFDY3xNz0lUeiHgO0+23qlrZR7ynWLXPNyiqX3\/BQWV779rR9dJ1o4iZBscADZg+h9Ct45wa0ucQABkk9iwum7hQaftMlXVODqmpP9XEzdxYNhnuyc\/JThRXvU\/XuDzb6HO0DR1n+f8AH2TTjb7kiXRsmnHsrk9\/+9xJuGqw+f4KyQ\/G1RJHEBljfHx8+Xivml0rLWyCrv1S6pmJ4uhacMZ4ZH0GB5q7oLZR2yERUkDYxjd2Os7zPapaTXW0TSsDm7zO\/hy\/szesI4aTTBggjZFGZGNDGNwO\/wCyvaJnR0NOzGOGJox3bKg1viSjoqdxIElSOzwI+60yH7qDGvbz+CS9QiIpmoIiIAyUZp4NcVM90e1hLQKZ0mzOQ5E7Zx8ye1aX46j4eL4uDGM56QLnX2qhubQKunZIQMBxHWA8Cqz+hVlznoZeecdKfZUbjLiZIwy421BJpuyxlvdrgaTJcaYYGcCUE+w3VXUa1tzZOipIp6yQ8hGzAJ9d\/kpMWkrJCcij4j3ukcfurOnpKakZwU1PHC3uYwN+i52ENXSJcWl9TE369X+WiEskH7OpZTwtbxdd+Rnz5eAV7ZdK0FDTxS1EAmquEOcZNw13cBy2Ua8ZuOsbdQc4qdvTPB5Z58u3kPfzWoTylUUlsRw4VLLKU3qrbf6hERRN4UauoKW5UzqeqibIw8sjdp7wewqSq2732is0QdUPzI4ZZE3dzvwPFdV3sJkcFFufA6U1BbrLBI+GOOnjAy97j2ZJ3J7N1hNS3MX69RQ0jy+FuI4tiAXE7nv329lbS0dyvsElzvDjS0MTDJHTNOOIAZ3\/ACd+7ChaGtwqbnJWSNJZTN6u23GfwM\/JaIpRuTe55WaUsrjhhGov94GjsulKG04leBU1IORI9uzT+6OzzV6iLO227Z6uPHHHHTFUgiIuDlVfLO+7Ck4JRGYJg88QzkdvqrVEXbdUKoJSclxYREXBgiIgAiIgAiKDeas0NnqqkHDmRnhOcdY7D5kLqVuhZSUU2+RS6YxX3q63XOQ5\/RRnOctz+A1ahUmkaQ0mnYOIYdNmU7Y58vlhXaab7RHo0WsSvi9\/MIiJDQfEokdC8RPDJCDwuIyAfJUdo0y2lnNdcpfja12\/E7drD4Z5q\/RdUmlSJyxxlJSlyItyozX26ekbJ0ZmYW8WM4Uaw2dlltwpw\/jkcS57+8+Hh\/FWaIt1R144uevmERFwcIiIAIiIAIiIAIiIAIiIALP62l6PTr25x0kjG+e+fstAo1dQU1xhbDVRCRjXh4B7x\/JHqmi6kmSzRc8cormj6oYugoKeHHD0cTW47sABd0RKUSpUEREHQiIgAiIgAiIgAiIgAiIgAiIgAiIgD\/\/Z",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:17",
    "ubicacionGPS": "LatLng(lat: -29.9177464, lng: -71.2550759)",
    "horaLlegada": "10:54",
    "horaDespacho": "11:15",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 11:17:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:91770000

[25/05/2026 11:17: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('91770000', 'KY2448', 1, 20988335, 616892, NOW(), 
				'11:15', '10:54', '11:17', 3, 'se realiza cambio de holder pad assy sp
01 rgom2576
', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779722230.png', '', null, 'COMPLETADO','LatLng(lat: -29.9177464, lng: -71.2550759)' )
				
[25/05/2026 11:17:10] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200404

25/05/2026 11:17:10 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200404'                    
				WHERE idllamado = 12702			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


25/05/2026 11:17:10 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12702			
				
25/05/2026 11:17:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 11:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12702
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12702
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12702
                

25/05/2026 11: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 = 12702
                

25/05/2026 11:17:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12702
            GROUP BY l.idllamado;
            

[25/05/2026 11:17: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;
                

25/05/2026 11:17:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12702
            GROUP BY l.idllamado;
            

25/05/2026 11:17:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12702
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12702
                

25/05/2026 11: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 = 12702
                

[25/05/2026 11:17:29] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11: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 = 12702
                

25/05/2026 11:17:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12702
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12702
                

[25/05/2026 11:17:29] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 11:20: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;
				
[25/05/2026 11:20: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;
                

[25/05/2026 11:20: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;
                
[25/05/2026 11:21: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;
                
[25/05/2026 11:21: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;
				

[25/05/2026 11:21: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;
                

25/05/2026 11:22:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:22:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:22:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:22:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:22:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:22:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:22:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:22:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:22: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;
                

25/05/2026 11:22:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:22:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:22: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;
                

25/05/2026 11:22:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:22:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/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 = 12675
                

[25/05/2026 11:22: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;
                

[25/05/2026 11:22: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

[25/05/2026 11:22: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/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 = 12675
                

[25/05/2026 11:22: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/2026 11:22:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:22:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:22:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:22:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

25/05/2026 11:22:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

25/05/2026 11:22:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

25/05/2026 11:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:22: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;
                

25/05/2026 11:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:22:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:22:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:22:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:22:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:22: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;
                

[25/05/2026 11:22: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;
                

25/05/2026 11:22:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:22:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

25/05/2026 11:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:22:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:22:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

[25/05/2026 11:22: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;
                

25/05/2026 11:22:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:22:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:22:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:22:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

[25/05/2026 11:22:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:22:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:22:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:22:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:22:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

[25/05/2026 11:22:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:22:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:22:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:22:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

[25/05/2026 11:22:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:22:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

[25/05/2026 11:22:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:22:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:22:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:22:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:22:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:22:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/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 = 12676
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/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 = 12676
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/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 = 12676
                

25/05/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 = 12676
                

[25/05/2026 11:22:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/2026 11:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:22:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:22:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:22:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/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 = 12676
                

25/05/2026 11:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/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 = 12676
                

25/05/2026 11:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/2026 11:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:22:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:22:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:22:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:22:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/2026 11:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

[25/05/2026 11:22:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/2026 11:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:22:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/2026 11:22:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

25/05/2026 11:22:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:22:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

[25/05/2026 11:22: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;
                

25/05/2026 11:22:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:22:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

25/05/2026 11:22:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

[25/05/2026 11:22: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;
                

25/05/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 = 12677
                

25/05/2026 11:22:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

25/05/2026 11:22:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:22:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

25/05/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 = 12677
                

[25/05/2026 11:22: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;
                

25/05/2026 11:22:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:22:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/2026 11:22:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

[25/05/2026 11:22: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;
                

[25/05/2026 11:22: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;
                

25/05/2026 11:22:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:22:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:22:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

25/05/2026 11:22:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:22:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:22:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:22:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:22:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:22:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:22:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:22:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:22:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:22: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;
                

[25/05/2026 11:22: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;
                

25/05/2026 11:22:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:22:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:22:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:22:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:22:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

25/05/2026 11:22:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:22:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:22:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:22:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:22:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:22:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:22:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:22:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:22: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;
                

25/05/2026 11:22:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:22:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:22:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:22:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

[25/05/2026 11:22: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

25/05/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 = 12678
                

25/05/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 = 12678
                

[25/05/2026 11:22: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;
                

25/05/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 = 12678
                

25/05/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 = 12678
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/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 = 12678
                

25/05/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 = 12678
                

25/05/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 = 12678
                

25/05/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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11:22:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

25/05/2026 11:22:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

[25/05/2026 11:22: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;
                

25/05/2026 11:22:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/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 = 12678
                

25/05/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 = 12678
                

25/05/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 = 12678
                

25/05/2026 11:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

[25/05/2026 11:22: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;
                

25/05/2026 11:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

25/05/2026 11:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

25/05/2026 11:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

25/05/2026 11:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11:22:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

[25/05/2026 11:22: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;
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11:22:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

[25/05/2026 11:22: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;
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

[25/05/2026 11:22: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12678
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:22: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;
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

[25/05/2026 11:22: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11:23:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11:23:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

[25/05/2026 11:23: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;
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12675
                

[25/05/2026 11:23: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

[25/05/2026 11:23: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;
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12675
                

25/05/2026 11:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12678
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

[25/05/2026 11:23: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;
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12678
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12678
                

25/05/2026 11:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11: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 = 12678
                

25/05/2026 11:23:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

[25/05/2026 11:23: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;
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:23: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;
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:23: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;
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:23:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11: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;
                

25/05/2026 11:23:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

[25/05/2026 11: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;
                

[25/05/2026 11: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;
                

25/05/2026 11:23:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11:23:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

[25/05/2026 11: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;
                

25/05/2026 11: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 = 12675
                

25/05/2026 11:23:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11:23:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11:23:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12675
                

[25/05/2026 11:23:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:23:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:23:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

[25/05/2026 11:23:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:23:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11: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 = 12675
                

25/05/2026 11:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:23:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:23:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:23:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:23:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:23:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

[25/05/2026 11:23:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

[25/05/2026 11:23: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;
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

[25/05/2026 11:23: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;
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:23:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:23:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:23:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12676
                

25/05/2026 11:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:23:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:23:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/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 = 12676
                

25/05/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 = 12676
                

[25/05/2026 11:23: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/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 = 12676
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/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 = 12676
                

25/05/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 = 12676
                

[25/05/2026 11:23: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;
                

[25/05/2026 11:23: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

[25/05/2026 11:23: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/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 = 12676
                

[25/05/2026 11:23: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;
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/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 = 12676
                

25/05/2026 11:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:23:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:23:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:23:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:23:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:23:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

[25/05/2026 11:23: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;
                

25/05/2026 11:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:23: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;
                

25/05/2026 11:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:24: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:24: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;
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

[25/05/2026 11:24: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:24: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;
                

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:24: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;
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/2026 11:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/2026 11:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:24:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/2026 11:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:24:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:24:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/2026 11:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

[25/05/2026 11:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

[25/05/2026 11:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

[25/05/2026 11:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:24:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:24:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:24:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:24:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:24: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;
                

25/05/2026 11:24:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:24: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;
                

[25/05/2026 11:24: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;
                

25/05/2026 11:24:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:24: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;
                

25/05/2026 11:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:24: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;
                

25/05/2026 11:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:24: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;
                

25/05/2026 11:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:24:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:24:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:24:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:24:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:24:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:24:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:24:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:24:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:24:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:24:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:24:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:24:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:24:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:24:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:24:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:26:39] 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;
                

25/05/2026 11:26:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:26:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

[25/05/2026 11:26:46] 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;
                

25/05/2026 11: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 = 12668
                

[25/05/2026 11:26:46] 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;
                

25/05/2026 11:26:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12668
                

25/05/2026 11:26:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:26:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:26:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:26:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:26:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:26:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

[25/05/2026 11:26:48] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:26:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

[25/05/2026 11:26:48] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:26:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11: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 = 12668
                

25/05/2026 11: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 = 12668
                

25/05/2026 11: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 = 12668
                

25/05/2026 11: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 = 12668
                

25/05/2026 11:26:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:26:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:26:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:26:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:26:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:26:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11: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 = 12668
                

25/05/2026 11: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 = 12668
                

25/05/2026 11: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 = 12668
                

25/05/2026 11: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 = 12668
                

25/05/2026 11:27:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12668
                

25/05/2026 11: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 = 12668
                

25/05/2026 11: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 = 12668
                

25/05/2026 11:27:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12668
                

25/05/2026 11: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 = 12668
                

25/05/2026 11: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 = 12668
                

25/05/2026 11:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:27:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:27:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:27:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:27:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:35 - logentry: =========================================
FECHA: 25/05/2026 11:28:35
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-_54NClcgX-T2iULouHtiiFgly+J5FD2_lyKRl89vjIAPx4KTF-x
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "95111827",
    "serieinterna": "EP2236",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega de 3 rollos de papel",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12668",
    "observacion": "entrega de rollos ( 3 ) para ploter",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADXARsDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABEEAACAQQAAwQHBQcBBAsAAAAAAQIDBAURBiExEkFRYRMUInGBkaEjMrHB0RUWM0Ky4fAHJFOSwjQ1NkNEUmJydILS\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT\/xAAvEQACAQMCAggGAwEAAAAAAAAAAQIDETESITJBBBMiUWFxkdEUQoGhsfAjweEz\/9oADAMBAAIRAxEAPwD7MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARGY4kscO\/RTbrXDXKjT6+W\/A4cxnrm4vv2PhNTuXyqVk9xp+PPy733dOp2YXhu2xX29R+s3k+c60+en5eHv6miikryOWVWVSTjS5Zf7lkernivKtytqNLHUZJ9h1ddp8+\/ab6eSPX7H4o05\/t2Hb1yXZ9n8PyLOBr7kT8MnxSb+vsVZ5niHDpPK2Ebm3j96vQ6peL1y+iJzG5eyytLt2ldSa6wfKUfejtIDK8K0LqsrzH1PUruPOMqfKLfi0uj819ReMs7EaatPeL1LuefUnwVrF8R1re6WKzkPQ3UeUaz5RqeHz8ehZSsouOTanVjUV4gAFTQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBxLlq9s6GMsH\/tt49Ra\/ki3rf48+7TJ5tJbb0kVjhqLyuWvs7VXJz9FQ03pRS\/TXx2Xgll8jnrybtTjl\/jmSuCwlDC2apQ1OtPnVq65yf6IkwCrbbuzaEIwioxwAAQWAAAI\/L4a1zNq6NxFKaX2dVL2oP8ATyIrhvJ3FG5q4PJzfrNB\/ZSl\/PFeffy5+73FlK\/xZi5XFosla7heWftxnHq4rm18Ovz8TSLv2WctaDi+thlZ8V+4LADgwuSjlcXRu1rtSWqiXdJdTvKNWdjojJSipLDAAILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHBnLn1TCXlfvjSaXvfJfVnLwpbercOWqaalUTqPfm+X00Y4vTfDF5pb+5\/XE7cL\/ANR2H\/xqf9KL\/J9Tmz0jyX5f+HaACh0gAAAAAAw0mtNbTMnDksxY4mEZXdZRcvuwXOT+BKTeCspKKvJ7EJw\/FYviTI4iKfopJVqe3yS5cvlL6FpKDRzV1dcTVcrYY2vcQ9F6OMFF7S11bW11TJf95c1DTnw3cNeEXLf9JrODbucHR+kU4Ra5Xdtngs4KzDjWhTaV9jrq1b8Y7W\/jomrHLWGSgpWtzTm2l7G9SXLfNGbhJZR1wr05u0WdgAKmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAABx5e29cxF3b6250pdleetr66ODhC59Z4doLnui3Te3vo+X0aJsqeKf7vcTV8VNatrxqdu2+SfPS\/L4I0jvFo5aj0VYz5Pb2LYADM6gAAAAAAR+SwljlqlKpeU5TdL7uptLXgyQBKbWCsoxkrSV0eKVKnQpRpUoKEILSiu49gEFsHmUYzi4zipRfVNbTIPK8KWd2nXsUrK7jzjOmtRb80unvXP3k8CVJrBnOnCorSRBcNZirfU61lepxvbR9mal1kum\/f3P4eJOlW4gh+xs5ZZujqMKkvQ3C6J+fy3\/AMKLSWmllczOhKW9OWY\/jkAAUOgAAAAAAAAAAAAAAAAAAA11q1O3ozrVpqFOC3KUnySOPD5ilmaNWtRo1IU4TcYymuU14omztcq5xUlG+7JAAEFgAAAQnE+InkrGNa32ru1fbpOPV+K+nzRNglNp3RSpBVIuL5kVw\/moZmxU5NRuafs1qa5afjrwZKlXzuMr4u9\/eDFr24bdzS7px73+vzJzF5O3y1lC5t5bT5Sj3wfemWklxLBjRqO\/Vz4l913+52AAodIAAAAAAAAAAABB8YWqueHa77LcqLVSOvLk\/o2SGJu\/XsTa3W9upTTl\/wC7o\/rs1cQNR4fvm\/8AcyX0NXC8ZQ4cs4yWn2Hy\/wDsy\/yfU5lt0jbmv7JYAFDpAAAAAAAAAAAAAAAABC8UZWpjcdGnbS1d3MvR0vFeL\/L4olK7sUqTVOLk+RGZSvU4nyzwtpU7Frbvt160XtS13fBv5+4tFtbUrO2p29CChTpx7MYo4OH8RDDYyFDrVn7dV\/8Aq109yJQtJ8lgyo02rznxP7eAABQ6AAAAAADDSa01tMqOSxt1w1eyy+Ij2rWX\/SLfuS\/T8PcW8w0mtNbTLRlpMatJVF3NYfcc2OyFDJ2VO7t5bhNc0+sX3p+Z1FQvaFfhHIev2ac8bXklWoL\/ALt+X5fItVvcUru3hcUJqdOotxkiZRtusEUarleE+JftzaAChuAAAAAAAAAV\/ja4dHh2cE9emqRh\/wA3\/KTFjb+qWFvbf7qlGHyWivZiTy3FljilFSo2v21bpz79P4a\/4i0mktopHNS7VWc+7b0yAAZnSAAAAAAAAAAAAAAAYlJRi5SaSS22+4q+KT4g4irZWon6tZv0duttbl49X3fijv4ryErDBVXTl2atb7KD9\/X6JnVg7FY7DW1t2UpqG56WvafNmi2jfvOWf8lVQ5Ld\/wBe5IAAzOoAAAAAAAAAAAA8VaVOvRnRqwU6c04yi+jRVLWtU4TzHqVxJvGXT3Rm3ypvff8APn8GW448pjKGWsZ2lwvZfOMl1jLuaLxlbZ4MK1NytKHEsex1pprae0zJWuGsjcULirgsi36xb\/wpP+eC\/tzXl7iykSjpdi9KoqkdSAAKmgAAAObIX1HG2NW7rySjTi2lvXafcl5s3VatOjSlVqzUIQW5Sk9JIqTlU4yyfYXahibaW9606ktfTr8EXjG+7wYVquhaY8TwdnCFlWdO4zF29172W1z6R6\/V93kiyGIxUYqMUkktJLuMkSep3L0qapwUUAAVNAAAAAAAAAAAAAAACr8Rp3vEeIxu\/Z7XpZpddb\/SLLQVijqv\/qHcb629ty35qP8A+mWcvPCRzUN5Tl4\/jYAAodIAAAAAAAAAAAAAABB5\/C172rb3+OnGlfW8lqTelKPg\/wDPEmo9rsLt67Wueumz0CW21YpGmoyclzAAILg8VatOjSlVqzUIQW5Sk9JIxcVfV7arW7Eqno4OXYgtuWlvS8yrKxynFVVVr9zsccnuFuuUprxf6v4ItGN92Y1arj2Yq7Z4lK84zupU6cp22JpS5y1zqtf58PeWq0tKFjbQtramqdKC0khaWtGytadtbwUKVNajFG4mUr7LBFKlo7Ut5PL9vAAAobgEDmM\/cYbJ0VXtd2FRdl1Vzal\/nd36JqjWp3FGFajNTpzW4yi+TRLi0rmcakZScVlGwAEGgAAAAAAAAAAABWMZ\/wBvMp2vvehWt9dex\/Ys5WF\/s3+oj3\/4q25d3RfX7hZy8+Xkc3RsSXiwAeKtWnRpSq1ZqEILcpSekkUOk9mG0ltvSRVanEGVzNadvgrTs0otxldVOnvXcvqzYuEK15L0mXy1xcy69iD1FeS3v6JGmi3Ezl+Icv8AlG\/jhE\/LIWUXqV5QXLfOrH9TbTrUqybpVITS69mSZBx4LwqXtUas33ylVe38jVV4Ix7cZW1xc2849HGeyLQ7ydddfKvX\/CyAqsrbirDyjOhcrKUE9OE\/ve\/nz+TZ02XGVhXquheU6ljWXVVenTfX9V4DQ8rcLpMb2mtL8ffBYQYjJSipRaaa2mu8yUOkAAAAAAAAAAAAAAAAAA03NrQvLeVC5pRq0p9YyKjd2uV4RqzubCbr41vnSm21Db713e9fEuh5qU4VacqdSKlCS04tcmi8ZW8jCtRVTdbNYZB4vi\/G5Hs06knbV5NJU6nNNvwl3\/HRPFLyGF\/d3IRyttbq6s4zUp05LcqT31T69e\/5+JbLK9t8hawubaop05rk\/DyfmTOKzHBn0epUbcKvEv250AAzOsAAAAAAAAAq3Fe7HKYvLJPs0qvo6jXh118u0WhNNbT2mcWZx6ymLr2m9SlHcH4SXQj+Esk7vGeqVtq5s36Oopddc9fhr4Gj3jfuOWP8ddp4lv8AVZJ4r3FKubupZYujCoqV1U1WqRXKMdrv+bLCCkXZ3NqsOsi43NFnaULC1p21vBQp01pL835m8AgukkrIAAEg5b7G2eRoypXVCFRNa7TXtR9z7jqATsQ0pKzKpLC5fASlWw1zO5t09u0qc+Xfr+2myXwmct81bOUF6OvDlUot84\/qiUKxxFi6tjX\/AG9i9069J9q4hHpUj3vX4\/M0T17PJySg6Hahw817exZwcmMyFHKWFK7otamvajvbhLvTOszasdcWpK6AABIAAAAAAAAAAAAAABiUVKLjJJprTT7yqXlpccKXksjj4upjqj+3t9\/c80Ww8yjGcHCcVKMlppraaLRlYyq0lNbbNYZpsr23yFrC5tqinTmuT8PJ+Z0FPkp8H5jtrcsVeT1rf8KX9vqvcW+MlKKlFppraa7xKNt1grRqOaaltJZMgAqbgAAAAAAqedpzwOboZu2i1QrPsXUYrk\/P4\/ivMthruLeldUJ0K9NVKc1qUZdGWjKzMa1PrI2WVjzFGtTuKMK1GanTmtxlF8mjYU+yrVuEcn6heVJzxtd7oVX\/ACPz\/P5lvjJSipRaaa2mu8SjbyFGr1is9msoyACpsAari5oWlJ1ritClTT12pvSNiaa2ntMEXV7GQACQYaTWmtpmQAVyyxN9hc\/J2NJVMbdPc49pL0L8lv8AzoWMAs5XyZ06appqOAACpoAAAAAAAAAAAAAAAAAAcuRsKOTsatpXXs1FyeucX3NEHwvf1ratUwN\/yr22\/Qt\/zQ\/zmvL3FmK7xXjKk6MMtZ7jd2bUtxXOUV+nX3bNIO\/ZZy14uLVWOVnxRYgceKyVLLY+nd0eXaWpR\/8ALLvR2FGrbHTGSkk1gAAgkAAAAAA5r+wt8laTtbqHbpy+cX4rwZWra9uuErmNhkZSrY6b+xuEn7Hlr8vkW41XFtRu6MqNxShVpy6xmtovGVtngwq0tT1xdpL9szFtd295TVS2r060Gt7hJM3FbuODaEKzuMVd1rCtp67Mm4\/r9Tx6nxhbcqeQtbmK6KSSf9P5k6YvDKddUjxw9NyR4np0avDt4q8oxSh2otvXtLmkve+XxPXDVSrV4dsp1vv+j18E2l9EiKlw7lsrXpvOX8KlCnLapUlrfv0l+feWenThSpxp04qMIrSilySErKNhTUp1XUasrWPQAMzqAAAAAAAAAAAAAAAAAAAAAAAAAAABhpNaa2mZABULqnU4RzKvKEX+zLuSVWCX8N+X4r4ottOpCrTjUpyUoSW1JPk0a7u0oX1tO2uIdunNaa3oqzp5Pg+cpUFK9xTe5KT9ql+nv1r3GvGvE49+jt7dh\/b\/AAt4OWwyNpk7dV7StGpF9Unzi\/BruOoyasdaakroAAEgGG0ltvSRFX\/E2Jx6aqXUak09dil7T\/sSk3gpOcYK8nYljTdXdvZUJV7mrGlTj1lJldefzWVcY4fGOlSmtq4uFy8Nru\/E92\/C1e6qqvnb+V7JLlSi2oL4\/okX0W4mYde57Uo38cI1V81kc9WlaYSjKnb9Kl1UWuXfrly5P3+4sGNsv2dYUrX0063o091J9Zbbf5m6jRpW9KNGjTjTpxWoxitJGwrKV9kaU6Ti9U3d\/uAACpsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEoqUXGSTTWmn3gAFeu+DraVd3GPu69hV0lum9xX1T+pqjZ8X2mqdK+trmC5KVRc\/jy39WAX1vnucz6NC943Xk7GexxlJfxLKHy\/T\/ND1LjCrynk7Wktc3GK3\/SANfgh8Oucn6nlcI3N408tmK9wuT9HDkt\/H49xKWPDmJx+nRs4SmtfaVPblvx59PhoAOcmWj0elF3S39SUABQ3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP\/2Q==",
    "razonSocial": "DSPRINT MALL ANGAMOS",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "YARITZA MATURANA",
    "correoContacto": "jefasucursal@gmail.com",
    "correoCliente": "dsprintmallangamos@gmail.com",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"DIA-I343\",\"id_control\":\"28734\",\"cantidad_usada\":3,\"cantidad_asignada\":3}]",
    "horaSalida": "11:28",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "11:22",
    "horaDespacho": "11:04",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 11:28:35
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-_54NClcgX-T2iULouHtiiFgly+J5FD2_lyKRl89vjIAPx4KTF-x
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "95111827",
    "serieinterna": "EP2236",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega de 3 rollos de papel",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12668",
    "observacion": "entrega de rollos ( 3 ) para ploter",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADXARsDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABEEAACAQQAAwQHBQcBBAsAAAAAAQIDBAURBiExEkFRYRMUInGBkaEjMrHB0RUWM0Ky4fAHJFOSwjQ1NkNEUmJydILS\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT\/xAAvEQACAQMCAggGAwEAAAAAAAAAAQIDETESITJBBBMiUWFxkdEUQoGhsfAjweEz\/9oADAMBAAIRAxEAPwD7MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARGY4kscO\/RTbrXDXKjT6+W\/A4cxnrm4vv2PhNTuXyqVk9xp+PPy733dOp2YXhu2xX29R+s3k+c60+en5eHv6miikryOWVWVSTjS5Zf7lkernivKtytqNLHUZJ9h1ddp8+\/ab6eSPX7H4o05\/t2Hb1yXZ9n8PyLOBr7kT8MnxSb+vsVZ5niHDpPK2Ebm3j96vQ6peL1y+iJzG5eyytLt2ldSa6wfKUfejtIDK8K0LqsrzH1PUruPOMqfKLfi0uj819ReMs7EaatPeL1LuefUnwVrF8R1re6WKzkPQ3UeUaz5RqeHz8ehZSsouOTanVjUV4gAFTQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBxLlq9s6GMsH\/tt49Ra\/ki3rf48+7TJ5tJbb0kVjhqLyuWvs7VXJz9FQ03pRS\/TXx2Xgll8jnrybtTjl\/jmSuCwlDC2apQ1OtPnVq65yf6IkwCrbbuzaEIwioxwAAQWAAAI\/L4a1zNq6NxFKaX2dVL2oP8ATyIrhvJ3FG5q4PJzfrNB\/ZSl\/PFeffy5+73FlK\/xZi5XFosla7heWftxnHq4rm18Ovz8TSLv2WctaDi+thlZ8V+4LADgwuSjlcXRu1rtSWqiXdJdTvKNWdjojJSipLDAAILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHBnLn1TCXlfvjSaXvfJfVnLwpbercOWqaalUTqPfm+X00Y4vTfDF5pb+5\/XE7cL\/ANR2H\/xqf9KL\/J9Tmz0jyX5f+HaACh0gAAAAAAw0mtNbTMnDksxY4mEZXdZRcvuwXOT+BKTeCspKKvJ7EJw\/FYviTI4iKfopJVqe3yS5cvlL6FpKDRzV1dcTVcrYY2vcQ9F6OMFF7S11bW11TJf95c1DTnw3cNeEXLf9JrODbucHR+kU4Ra5Xdtngs4KzDjWhTaV9jrq1b8Y7W\/jomrHLWGSgpWtzTm2l7G9SXLfNGbhJZR1wr05u0WdgAKmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAABx5e29cxF3b6250pdleetr66ODhC59Z4doLnui3Te3vo+X0aJsqeKf7vcTV8VNatrxqdu2+SfPS\/L4I0jvFo5aj0VYz5Pb2LYADM6gAAAAAAR+SwljlqlKpeU5TdL7uptLXgyQBKbWCsoxkrSV0eKVKnQpRpUoKEILSiu49gEFsHmUYzi4zipRfVNbTIPK8KWd2nXsUrK7jzjOmtRb80unvXP3k8CVJrBnOnCorSRBcNZirfU61lepxvbR9mal1kum\/f3P4eJOlW4gh+xs5ZZujqMKkvQ3C6J+fy3\/AMKLSWmllczOhKW9OWY\/jkAAUOgAAAAAAAAAAAAAAAAAAA11q1O3ozrVpqFOC3KUnySOPD5ilmaNWtRo1IU4TcYymuU14omztcq5xUlG+7JAAEFgAAAQnE+InkrGNa32ru1fbpOPV+K+nzRNglNp3RSpBVIuL5kVw\/moZmxU5NRuafs1qa5afjrwZKlXzuMr4u9\/eDFr24bdzS7px73+vzJzF5O3y1lC5t5bT5Sj3wfemWklxLBjRqO\/Vz4l913+52AAodIAAAAAAAAAAABB8YWqueHa77LcqLVSOvLk\/o2SGJu\/XsTa3W9upTTl\/wC7o\/rs1cQNR4fvm\/8AcyX0NXC8ZQ4cs4yWn2Hy\/wDsy\/yfU5lt0jbmv7JYAFDpAAAAAAAAAAAAAAAABC8UZWpjcdGnbS1d3MvR0vFeL\/L4olK7sUqTVOLk+RGZSvU4nyzwtpU7Frbvt160XtS13fBv5+4tFtbUrO2p29CChTpx7MYo4OH8RDDYyFDrVn7dV\/8Aq109yJQtJ8lgyo02rznxP7eAABQ6AAAAAADDSa01tMqOSxt1w1eyy+Ij2rWX\/SLfuS\/T8PcW8w0mtNbTLRlpMatJVF3NYfcc2OyFDJ2VO7t5bhNc0+sX3p+Z1FQvaFfhHIev2ac8bXklWoL\/ALt+X5fItVvcUru3hcUJqdOotxkiZRtusEUarleE+JftzaAChuAAAAAAAAAV\/ja4dHh2cE9emqRh\/wA3\/KTFjb+qWFvbf7qlGHyWivZiTy3FljilFSo2v21bpz79P4a\/4i0mktopHNS7VWc+7b0yAAZnSAAAAAAAAAAAAAAAYlJRi5SaSS22+4q+KT4g4irZWon6tZv0duttbl49X3fijv4ryErDBVXTl2atb7KD9\/X6JnVg7FY7DW1t2UpqG56WvafNmi2jfvOWf8lVQ5Ld\/wBe5IAAzOoAAAAAAAAAAAA8VaVOvRnRqwU6c04yi+jRVLWtU4TzHqVxJvGXT3Rm3ypvff8APn8GW448pjKGWsZ2lwvZfOMl1jLuaLxlbZ4MK1NytKHEsex1pprae0zJWuGsjcULirgsi36xb\/wpP+eC\/tzXl7iykSjpdi9KoqkdSAAKmgAAAObIX1HG2NW7rySjTi2lvXafcl5s3VatOjSlVqzUIQW5Sk9JIqTlU4yyfYXahibaW9606ktfTr8EXjG+7wYVquhaY8TwdnCFlWdO4zF29172W1z6R6\/V93kiyGIxUYqMUkktJLuMkSep3L0qapwUUAAVNAAAAAAAAAAAAAAACr8Rp3vEeIxu\/Z7XpZpddb\/SLLQVijqv\/qHcb629ty35qP8A+mWcvPCRzUN5Tl4\/jYAAodIAAAAAAAAAAAAAABB5\/C172rb3+OnGlfW8lqTelKPg\/wDPEmo9rsLt67Wueumz0CW21YpGmoyclzAAILg8VatOjSlVqzUIQW5Sk9JIxcVfV7arW7Eqno4OXYgtuWlvS8yrKxynFVVVr9zsccnuFuuUprxf6v4ItGN92Y1arj2Yq7Z4lK84zupU6cp22JpS5y1zqtf58PeWq0tKFjbQtramqdKC0khaWtGytadtbwUKVNajFG4mUr7LBFKlo7Ut5PL9vAAAobgEDmM\/cYbJ0VXtd2FRdl1Vzal\/nd36JqjWp3FGFajNTpzW4yi+TRLi0rmcakZScVlGwAEGgAAAAAAAAAAABWMZ\/wBvMp2vvehWt9dex\/Ys5WF\/s3+oj3\/4q25d3RfX7hZy8+Xkc3RsSXiwAeKtWnRpSq1ZqEILcpSekkUOk9mG0ltvSRVanEGVzNadvgrTs0otxldVOnvXcvqzYuEK15L0mXy1xcy69iD1FeS3v6JGmi3Ezl+Icv8AlG\/jhE\/LIWUXqV5QXLfOrH9TbTrUqybpVITS69mSZBx4LwqXtUas33ylVe38jVV4Ix7cZW1xc2849HGeyLQ7ydddfKvX\/CyAqsrbirDyjOhcrKUE9OE\/ve\/nz+TZ02XGVhXquheU6ljWXVVenTfX9V4DQ8rcLpMb2mtL8ffBYQYjJSipRaaa2mu8yUOkAAAAAAAAAAAAAAAAAA03NrQvLeVC5pRq0p9YyKjd2uV4RqzubCbr41vnSm21Db713e9fEuh5qU4VacqdSKlCS04tcmi8ZW8jCtRVTdbNYZB4vi\/G5Hs06knbV5NJU6nNNvwl3\/HRPFLyGF\/d3IRyttbq6s4zUp05LcqT31T69e\/5+JbLK9t8hawubaop05rk\/DyfmTOKzHBn0epUbcKvEv250AAzOsAAAAAAAAAq3Fe7HKYvLJPs0qvo6jXh118u0WhNNbT2mcWZx6ymLr2m9SlHcH4SXQj+Esk7vGeqVtq5s36Oopddc9fhr4Gj3jfuOWP8ddp4lv8AVZJ4r3FKubupZYujCoqV1U1WqRXKMdrv+bLCCkXZ3NqsOsi43NFnaULC1p21vBQp01pL835m8AgukkrIAAEg5b7G2eRoypXVCFRNa7TXtR9z7jqATsQ0pKzKpLC5fASlWw1zO5t09u0qc+Xfr+2myXwmct81bOUF6OvDlUot84\/qiUKxxFi6tjX\/AG9i9069J9q4hHpUj3vX4\/M0T17PJySg6Hahw817exZwcmMyFHKWFK7otamvajvbhLvTOszasdcWpK6AABIAAAAAAAAAAAAAABiUVKLjJJprTT7yqXlpccKXksjj4upjqj+3t9\/c80Ww8yjGcHCcVKMlppraaLRlYyq0lNbbNYZpsr23yFrC5tqinTmuT8PJ+Z0FPkp8H5jtrcsVeT1rf8KX9vqvcW+MlKKlFppraa7xKNt1grRqOaaltJZMgAqbgAAAAAAqedpzwOboZu2i1QrPsXUYrk\/P4\/ivMthruLeldUJ0K9NVKc1qUZdGWjKzMa1PrI2WVjzFGtTuKMK1GanTmtxlF8mjYU+yrVuEcn6heVJzxtd7oVX\/ACPz\/P5lvjJSipRaaa2mu8SjbyFGr1is9msoyACpsAari5oWlJ1ritClTT12pvSNiaa2ntMEXV7GQACQYaTWmtpmQAVyyxN9hc\/J2NJVMbdPc49pL0L8lv8AzoWMAs5XyZ06appqOAACpoAAAAAAAAAAAAAAAAAAcuRsKOTsatpXXs1FyeucX3NEHwvf1ratUwN\/yr22\/Qt\/zQ\/zmvL3FmK7xXjKk6MMtZ7jd2bUtxXOUV+nX3bNIO\/ZZy14uLVWOVnxRYgceKyVLLY+nd0eXaWpR\/8ALLvR2FGrbHTGSkk1gAAgkAAAAAA5r+wt8laTtbqHbpy+cX4rwZWra9uuErmNhkZSrY6b+xuEn7Hlr8vkW41XFtRu6MqNxShVpy6xmtovGVtngwq0tT1xdpL9szFtd295TVS2r060Gt7hJM3FbuODaEKzuMVd1rCtp67Mm4\/r9Tx6nxhbcqeQtbmK6KSSf9P5k6YvDKddUjxw9NyR4np0avDt4q8oxSh2otvXtLmkve+XxPXDVSrV4dsp1vv+j18E2l9EiKlw7lsrXpvOX8KlCnLapUlrfv0l+feWenThSpxp04qMIrSilySErKNhTUp1XUasrWPQAMzqAAAAAAAAAAAAAAAAAAAAAAAAAAABhpNaa2mZABULqnU4RzKvKEX+zLuSVWCX8N+X4r4ottOpCrTjUpyUoSW1JPk0a7u0oX1tO2uIdunNaa3oqzp5Pg+cpUFK9xTe5KT9ql+nv1r3GvGvE49+jt7dh\/b\/AAt4OWwyNpk7dV7StGpF9Unzi\/BruOoyasdaakroAAEgGG0ltvSRFX\/E2Jx6aqXUak09dil7T\/sSk3gpOcYK8nYljTdXdvZUJV7mrGlTj1lJldefzWVcY4fGOlSmtq4uFy8Nru\/E92\/C1e6qqvnb+V7JLlSi2oL4\/okX0W4mYde57Uo38cI1V81kc9WlaYSjKnb9Kl1UWuXfrly5P3+4sGNsv2dYUrX0063o091J9Zbbf5m6jRpW9KNGjTjTpxWoxitJGwrKV9kaU6Ti9U3d\/uAACpsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEoqUXGSTTWmn3gAFeu+DraVd3GPu69hV0lum9xX1T+pqjZ8X2mqdK+trmC5KVRc\/jy39WAX1vnucz6NC943Xk7GexxlJfxLKHy\/T\/ND1LjCrynk7Wktc3GK3\/SANfgh8Oucn6nlcI3N408tmK9wuT9HDkt\/H49xKWPDmJx+nRs4SmtfaVPblvx59PhoAOcmWj0elF3S39SUABQ3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP\/2Q==",
    "razonSocial": "DSPRINT MALL ANGAMOS",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "YARITZA MATURANA",
    "correoContacto": "jefasucursal@gmail.com",
    "correoCliente": "dsprintmallangamos@gmail.com",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"DIA-I343\",\"id_control\":\"28734\",\"cantidad_usada\":3,\"cantidad_asignada\":3}]",
    "horaSalida": "11:28",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "11:22",
    "horaDespacho": "11:04",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 11:28:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:95111827

[25/05/2026 11:28:35] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('95111827', 'EP2236', 1, 7373114, 0, NOW(), 
				'11:04', '11:22', '11:28', 10, 'entrega de 3 rollos de papel', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779722915.png', 'entrega de rollos ( 3 ) para ploter', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[25/05/2026 11:28:35] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200405
[25/05/2026 11:28:35] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200405', 'DIA-I343', 3)
				
[25/05/2026 11:28:35] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28734 and
				    IDproducto = 'DIA-I343'
				

25/05/2026 11:28:35 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'DIA-I343';
                
25/05/2026 11:28:35 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200405'                    
				WHERE idllamado = 12668			
				TO ENVIO: dsprintmallangamos@gmail.com, jefasucursal@gmail.com


25/05/2026 11:28:35 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12668			
				
25/05/2026 11:28:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 11:28:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

[25/05/2026 11:28:38] 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;
                

25/05/2026 11:28:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

[25/05/2026 11:28:38] 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;
                

25/05/2026 11:28:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

[25/05/2026 11:28:38] 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;
                

25/05/2026 11:28:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

[25/05/2026 11:28:47] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:28:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

[25/05/2026 11:28:47] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:28:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

[25/05/2026 11:28:47] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:28:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

[25/05/2026 11:28:48] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:28:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

[25/05/2026 11:28:48] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:28:48] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:28:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

[25/05/2026 11:28:49] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:28:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

[25/05/2026 11:28:49] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:28:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

[25/05/2026 11:28:49] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:28:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

[25/05/2026 11:28:50] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:28:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

[25/05/2026 11:28:50] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:28:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

[25/05/2026 11:28:50] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:28:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

[25/05/2026 11:28:50] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:28:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

[25/05/2026 11:28:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:28:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:28:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

[25/05/2026 11:28:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:28:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

[25/05/2026 11:28:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:28:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

[25/05/2026 11:28:52] 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;
                

25/05/2026 11:28:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

[25/05/2026 11:28:52] 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;
                

25/05/2026 11:28:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

[25/05/2026 11:28:52] 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;
                

25/05/2026 11:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

[25/05/2026 11:28:52] 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;
                

25/05/2026 11:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

[25/05/2026 11:28:52] 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;
                

25/05/2026 11:28:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

[25/05/2026 11:28:52] 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;
                

25/05/2026 11:28:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

[25/05/2026 11:28:52] 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;
                

[25/05/2026 11:28:52] 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;
                

25/05/2026 11:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

[25/05/2026 11:28:52] 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;
                

25/05/2026 11:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

25/05/2026 11:28:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12668
            GROUP BY l.idllamado;
            

25/05/2026 11:28:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12668
                

[25/05/2026 11:28:53] 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;
                

25/05/2026 11:30:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:30: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;
                

[25/05/2026 11:30: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;
                

25/05/2026 11:30:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:30: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;
                

25/05/2026 11:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:30: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;
                

25/05/2026 11:30:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:30:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:30:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:30:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:30:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:30:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:30:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

[25/05/2026 11:30:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:30:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:30:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:30:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11:30:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11:30:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11:30:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:31:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:31:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:31:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12678
                

25/05/2026 11:31:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11:31:29 - logentry: =========================================
FECHA: 25/05/2026 11:31:29
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-SsdIzYMJuokzJ2pcoAxORtS7JBbSYFG6I4mG4T0+A32wUWGB_Lw
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3047",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "1588",
    "contadorColor": "7090",
    "contadorScanner": "0",
    "detalle": "entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12678",
    "observacion": "entrega de insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADKAK4DASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgECAwf\/xABGEAABAwMCAwYEAwcABA8AAAABAAIDBAURBiESMUETUWFxgZEUIrHBodHwFSMyM0JD4QckUmIlJ0RFU2NydIKSorLC0vH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQIDBgUCBgMAAAAAAAAAAQIDERIhMQQiQVFhcRMykbHhgdEFIzOhwfAUQvH\/2gAMAwEAAhEDEQA\/APsyIiALMVVxut3vE9utL2U8NL8s07t\/mz4eRGPNXd3rm2211FWTvGw8Pi47D8VXaQoTSWRkzyTLVHtXk55Hl+G\/qrI5LEZqrc5qmnbi+x5WS8VjLjJZrw5vxTBmOUbCUew6fQrRLOawoJHUsV1pdqiicHZHPhz9jv7q7oKtldQQVTCMSsDtjyPUe65JJrEhRcoydKTvbTt8EhERQNIREQBERAEREAREQBERAEREAREQBERAZrXD3OtlNSsODPUNHpg\/chaNjGxsaxgw1oAA7gszqb\/WNQWSkIy3teN2eoy38itQpy8qM1LOtN9l+3yeNXTtq6Oamf8AwysLD6jCotEzudZ5KSQcMlLM5haeYB339c+y0aytD\/wVrmqpf4Ya9naNGwHFz\/8AuF2OcWjlXdqwn9PX5NUiIqzUEREAREQBERAEREAREQBERAEREARF5VFTBSR9pUTMiYTgF5xk9yHG0s2Z2q\/1j\/SDSN5Cnpycd5w78x7LTrKWaWOv1tcayKRskbYg1hacg\/wjI9j7rVqyfBdDNs2alLm39gsxqc\/DXyy1jdsTFj3eBI+xctOs1rph\/Y0Mw5xVDT4ciuU\/Md2r9Fvln6M0qLrG8SRteOTgCuygaQiIgCIiAIiIAiIgCIiAIiIAiIgCy+qW\/EXmzUkoLqeWU8bMkB27ef66rULKazl+DrbTXAZ7GUk+O7Tj8CrKfmMu15UW3090Vela+Og1HPSsYBT1T3RsOf4SCeHf8PULfr5rHAaXTlFdmZ7SOuc4nqRge+7PxK+ktIc0OG4IyFKqs7lOwN4HF9\/ozlUWsmcemqh3+w5h\/wDUB91eqq1O3j05WjOPkz7EFVw8yNVdXpSXRkq1P7S0Ub9\/mgYd\/wDshS1W6efx6fonYx+5AVkuS1ZOm7wT6BERcJhERAEREAREQBERAEREAREQBZvXUBlsIlAP7mZrifA5H1IWkVdqCMS6frmkZxC53PuGfspQdpIp2iOKlJdCgmpf+LZjRklrBKMjvfk\/gStHZpe3stFJnJdAzPngZWe09Xx3XS9TaztPDA9oHLiaQcH32Vjo2fttOQt6xOcw7eOfurJp2d+Zl2eUXOLWjj7F6q7UBDdP1xP\/AELh+CsVT6sk7LTVYRzIa33cAq4+ZGus7U5PoztpcY03Rc\/4DzHiVbKBYo+ysVCz\/qGE+ZGfup6S1Z2irU4rogiIolgREQBERAEREAREQBERAEREAUeujMtvqYxzfE5o9QVIXBAIwRkFDjV1Y+b21k9st9Nf6MF3ZyOiqWAHBbnmfQ49lodAuH7HqGDkKgnP\/hb+S66LiZJZ62hnaHhs7mvY7uIAwR05FU9julTYpKp\/YPltrZiyThxlh5ArVLeujxqVqLpzejT+j4n0JZvW8rv2TDSs\/iqJ2t37hn74U+DU9mqGBza+NmRyk+Uj3VN2zdT6qp5KdpdQ28cReQQHOznbzIHoCqoRad3wN20VIzp4IO7lkaqGIQQRxN5RtDR6DC9ERVGzQKA+700d5jtbw9s0jONpIw0+APofZT1m9YUjmU9Pd4Biehka4nvbn88e5UopN2ZTXnKEMUeHtxNIi8KOrirqOKqhOWStDh4eC91EtTTV0EREOhERAEREAREQBERAEREBl7Pm36yudC4gMqR2zB3nngf+Y+yaNaHNujXAEGpIIPXmmoc0GpbVcxsxx7GQ9AM9fRx9lzoz\/nP\/ALyfur3nG\/Y8yG7XUOTfo1ctp9P2iofxy0EJceoHD9PNTKenhpYRDBG2NjeTWheqKm7Z6ChGLukFQVurqSlnkiip56kRHD3xj5R3\/rkrG9GRtlrDESHiFxBHPlv+Ch6Sihj07TmFuC7Jkzz4skH6KSStdlVSU3NU4O2V7ki1X6gvAIpXu42jLo3jDgNvzU6eGOpgkglbxRyNLXDvBWBpLhTW7XE8jJM08kzmOcNgOI\/QH8F9CXZxwvIjs1bxYtS1TsZjSj32+rrrFO\/Lqd\/HFnq0\/oH1WnWW1VFLbrhR3+nGTCRHMB1b+iR7LTse2SNsjHBzXAFpHUJPPe5jZ929J8Pbh9jsiIqzUEREAREQBERAEREARcEgDJOAEBBGQcgoCi1lSmo0\/JI0Evp3tlbjmOh\/Ak+iiaDy+31czs5fUbn0B+60NeGOt1S2QZYYnhwz0wcrN6AqGOttTTf1sm4zv0IA\/wDirU\/y2jDOKW1xlzTNYiIqjcV98uLrXa5KtrGv4SBwu5HJwsZS3aosrJqChHbR1zQ+lcHYMZdt17uXmFodb1EUVgdC92HzPaGN78HJWRfZKqio46yrp3vhqIg5kkRJdEcZBI8h7HnstNJLDmeRtlSaq7nBel\/uSZdN9leKO1OI7aelc9xzkB\/zkenyge61Ok7jJVW91HU5FVRO7OQO546fQj0WdsFwmuWqKCWtkAkghdGHO2Mn8QHr834K4vkMtku8d+pYy+Fw4KqNu2R3n8PUeKTu916nNnwwTrQ0vZ9rL2L+40TLhb56STGJWFoJ6HofQ4KpdH18jqWW1VW1RROLcHnw5+x29leUdZBX0rKmmkD43jII6eB7isreKiC3ajivFJK17GyCCtazfhPLf0Hu1VRV04mytJQlGsn0fb4Niiz941bS0OYaICsqSMgMOWt8yOfkF46Vu11u8881UB8M0fKQwAcW2wPhjPrv0XMDtcs\/yafiKms2aZERQNAREQBERAEUS4XOjtcTZaycRNccDYknyA3UoEEZByCljikm7XzK3UdMKuwVkZHKMvHm3f7LppepbVaepHBwJjZ2bh3Fu30wrUgEYIyCsvp8utOoK6yvAbDITPB5dw79v\/aVYs4tGae5WjLg8v5RZ6nqfhtO1j84L2dmPHiOPoSs3pqOSz36lhfkMuFI1+M9cZ99j7qffpn3+5RWOjbJ2cUodVSYwG\/rfwzheusITTUtDcadoDqGYYHTG33A91OOSwviZq29N1VpC3yaZQbtdqez0RqZznfDGA7vPcFQxaxEVyrW1YaKYM7Sm55cMbAbb8Wx35LOV09dqG4tfLG\/tJcCCIDAYzPPJ5\/c+gXI0nfe0J1ttio\/l5sSyVWp7zAXyB0k7uHs27CFgPf5ZP8A+r6a1rWMDGjDWjAHcFHo7dSUDQKaBkZ4Q0lrQCR44UpRnPFki3ZqDpXcndsp79YWXWla6Dhhq4d4ZBtjrjb9BR7De\/jWOtl1AZXR5Y5kgAEo5eRPetAsxrKjt\/wYrpJfh61n8l7f4nkdP89Ei8W6xWi6bdWH1XP5POos1fp6WSsstTG2lILpaed3yjHLc9OnMHzWVFdK6iq4gY2sqHh88hGS85yA3I8f84XrVXW4XeSKCtMkrmBrY4GN4e0cep\/Xlhaex6SZHwVl1Y2SfYth\/ojHQEdT+Hmr74FeWp5uF152oqy9r+3Yzum7SbzO6lklbDBHh8oaMSSA8hnu5eC+i0lJBQ0zKamjEcTBgALO6lo5rfWRagoR88JAnYP6m95+h9CtBQ1sNwo46qB3EyQZ8j1B8lVUk5K\/A3bJTjSk4PzLjzRIREVJvCKrrtR2m35E1Yxzxn93H87s923L1wubJeTeYpZhRywRNIDHPP8AM8v11UsLtcq8WDlgTzLNVt7vUFlou3lHHI7aKMf1H7Bc3i9Ullpu0qDxPdns4283n7DxVTaLVVXatbe7y35tjT0+MBg6EhdjHi9CurVd\/Dp+b26nWzWOouFT+2L5l8rjxQwO5MHQkfb33WnDmlxaHAuHMZ3C7KLBbqWmrZ6yKMtmqMdoeI4OPDkuOWLUnTpeGrR+r4kpZ\/VNvneyG60IPxdEeLbPzN5kY6\/kStAi5F2dyVSmqkXFkCz3GlutGKynDQ9+BKANw4DkV6XRlLJbKhla8Mp3MIe49PHzWfuFBU6cuMl4trWupXj\/AFinJwPTbA+3rhVtReqfUtxZDW1IobdFh5Y4\/NIfMK1Qu7rQyS2nBHBNb2nR9exWafhZdL5Q0tWBJCxrhw8sgBzgPHc+y+ntaGtDWgAAYAHRfPaW4Qw6miulLSiG3GUU7XcOAPlAJ8+q+hrta90R\/D0lGS1d\/wBuARFRai1JFZouyiAlq3j5WZ2Z4n8lSk5OyN1SpGnHFJ5Hvfr\/AE9kpwXASVDx+7izz8T3BYeloLtqi4OqOMu3HHM7IazwHl3BWVn0tV3ic3C7vkYx7uLhds+X8gtxBTw0sLYYI2xxtGA1owArsSpqy1PP8OptTxVMo8EZ52iqEW4wxSPFXnjbUk78Xl3LtZr\/ACx1JtN6AhrI9mSOOGy92\/f9fNaNVl6sdJeabhn+SRg+SYc2\/mFBTvlI0SoeHvUcny4P56li9jZI3RvaHNcCHA9QspbJDpnUElqnfihqvnp3vOzT3Z\/D0CiUurKiztmt1WBXywnhiljfkO8Cev6C9qyx3\/UMJnuEsNPwAmCnAzv3E9M+Z8lNRw5S0KJ1lVtKkm5L+tMtLhqyippRTUbX11STgMhGRnz6+ihi26jveTcasW+nd\/ZiG5HdsfqfRe2jpaF1G+GKkZT1kB4Zx\/U7xyd8eHQrSKLeB2SLYQdeKlOWT4LJfXiVFu0zaraGuZTiWVu\/ay\/Mc\/QLver9S2aDLz2lQ7+XC07k+PcFEvepPhJv2fbo\/ia9+wa0ZDD4958PdLJpv4Sb9oXGT4mvfuXOOQw+HefH2S3+0zuLPw6C7vgvuyPZrFU1dabzfBxVBOYoXDaMdMj6D15rToihKTky+lSjTjZf9CIiiWhEWa1Hcp6qqjsVsdmeY4neP7bT\/g7+HmpRjidiurUVOOJkWuqJtXV37OoXFlvgcDPP\/tnpj7e6vzYbS6KKN1BA4RNDWksGcDvPX1Xpa7ZBaaFlJTj5Ru5x5ud1JUxdlLhHQqp0dZVM5P8AtiovdmirbDJQ08TIzGOOFrQAA4dPXceq40vcjcrLGZHZnh\/dS555HI+ox65XrddQW+zjhqJeKXGREzdx\/L1Xz+41FayumljikoWV54+xD8Fwz1HPc5VkIuUbMzV60KNRSjnwa9jZXnU8cB+CtZFVXSHhaGfM1h+58PddLLpYQTG4XVwqax5D8O3DD9yvfTem4rND20wD6x4+Z3Rg7h+avVBySyiXU6UqjVStrwXL5CKsuuoLfZxw1EvFLjIiZu4\/l6qnEuodRjMWLXQu\/r\/rcPDr9B4rig3m9C2deMXhjm+S\/uRbXXUVvtILZZO1n6Qx7uJ8e71VOKK96nw6vcbfQ5yIWg8b\/PP39lbWvTVutZEjIu2n59tLu7Ph0H1Vuu4lHykPCnV\/VdlyX8spn6UtDrcaJtMGA\/3R\/Mz35+3JVNvuVZpiqba7tl9ITiCpxsB+Xh08lr1Gr6CnuVI+lqmccbvdp7x3FFPhLQ7OglaVLJr07Mz+oKSW21bNRWzBIwKhg3D2nr+foVzcNSvr44KKxZkqqloLnY\/kjrnx+ipaq7VthFTYo6qKohzwslcOIxNPMf43wpVpxpa7RNkkjnoq9jQ2qaNgfA92Tv6FW4crvPkYPGvNqOSfm6Pp35mjslhp7PDn+bVP3lmdzJ8O4K1RFnbbd2etCEYRwxWQREXCQREQFXqC7ss1sfPzlf8AJEP97HPyC8NM2h9vpX1VVxGtqzxzF2MjcnH45Kpb\/WubquJ1VSzT09KAII2N\/mPIz1G++22eQUv4\/VV12pKGO3xO\/uTcxt4\/ZquwtR7nneNF1m2m7ZJJerL64XSitcPa1k4jB\/hbzc7yCz5ut81A\/gtMBoqMnBqJBhxHh\/j3Uy3aTp4ZRV3KV1fVncukOWg+R5+vsFfgADAGAFG8Y6Zl+GrV8zwrktfX7GTnobTpWnbPJGa64Sn932gyXO7wOgz6rim0nLW0FXVXN3FcKtvEzP8AaPMfQDwGy8rpJXU2rHVT6CetbG0fDRgENaeWevLf1I5KUaTVN3x8TUx2yE5BZFu78D91Zd2vcx2g5OOBtLJJL92zrZtV0tLaBFdJCyppj2XBwkueBy9em\/chuF+1COG2wfs+jd\/yiQ4c4eH+PdRLhp12nRBdaImrMBzOyVgOf94d325rW0FdBcqOOqp3cTHj1B6grksK3oospKrP8qpK1uXFd\/sV9s0vbrc4SuYamozkyzb794HT6q5RFS23qb4U4wVoqwREXCYVbfYbnUW4xWuRkcrnfMXHB4eoG3PkrJF1OzuRnHFFxKeg0xbaK3vpHxCftRiV7xu78vRZu72x9jifSytfU2mc5Y7m6nf3j9breLpLFHNE6KVgex4w5rhkEKcajTuzPU2WEo2irNGY0hqEVUQttXLmeMYief7jR08x9FqlgNSaZktUn7Qt3F2DXcRaOcJzz8votJpm\/tvVIWy8LaqL+Y0bBw6OH6+qlOKaxR0KdmrSjLwauq06l2iIqT0AiIgOMDOcbrlEQBERAEREBw5oc0tcAQRgg9VkHiTR937VoJtNW\/BAyeyd+vcDwWwXV8bJW8MjGvb3OGQpRlbIorU8SUk7NaM5BBGQcgrlEUS8IiIAiIgCIiA4IBGCMgrJ3jTtRb6pt2sLSyRhy+Bg59+B3eHstailGTiyqrSjVVn68jzgMroIzOxrJS0cbWnIB64K9ERRLUEREB\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ESCUELA GRECIA D35",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28744\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28744\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28744\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28744\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:31",
    "ubicacionGPS": "LatLng(lat: -22.4603435, lng: -68.9336229)",
    "horaLlegada": "11:22",
    "horaDespacho": "11:17",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 11:31:29
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-SsdIzYMJuokzJ2pcoAxORtS7JBbSYFG6I4mG4T0+A32wUWGB_Lw
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3047",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "1588",
    "contadorColor": "7090",
    "contadorScanner": "0",
    "detalle": "entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12678",
    "observacion": "entrega de insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADKAK4DASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgECAwf\/xABGEAABAwMCAwYEAwcABA8AAAABAAIDBAURBiESMUETUWFxgZEUIrHBodHwFSMyM0JD4QckUmIlJ0RFU2NydIKSorLC0vH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQIDBgUCBgMAAAAAAAAAAQIDERIhMQQiQVFhcRMykbHhgdEFIzOhwfAUQvH\/2gAMAwEAAhEDEQA\/APsyIiALMVVxut3vE9utL2U8NL8s07t\/mz4eRGPNXd3rm2211FWTvGw8Pi47D8VXaQoTSWRkzyTLVHtXk55Hl+G\/qrI5LEZqrc5qmnbi+x5WS8VjLjJZrw5vxTBmOUbCUew6fQrRLOawoJHUsV1pdqiicHZHPhz9jv7q7oKtldQQVTCMSsDtjyPUe65JJrEhRcoydKTvbTt8EhERQNIREQBERAEREAREQBERAEREAREQBERAZrXD3OtlNSsODPUNHpg\/chaNjGxsaxgw1oAA7gszqb\/WNQWSkIy3teN2eoy38itQpy8qM1LOtN9l+3yeNXTtq6Oamf8AwysLD6jCotEzudZ5KSQcMlLM5haeYB339c+y0aytD\/wVrmqpf4Ya9naNGwHFz\/8AuF2OcWjlXdqwn9PX5NUiIqzUEREAREQBERAEREAREQBERAEREARF5VFTBSR9pUTMiYTgF5xk9yHG0s2Z2q\/1j\/SDSN5Cnpycd5w78x7LTrKWaWOv1tcayKRskbYg1hacg\/wjI9j7rVqyfBdDNs2alLm39gsxqc\/DXyy1jdsTFj3eBI+xctOs1rph\/Y0Mw5xVDT4ciuU\/Md2r9Fvln6M0qLrG8SRteOTgCuygaQiIgCIiAIiIAiIgCIiAIiIAiIgCy+qW\/EXmzUkoLqeWU8bMkB27ef66rULKazl+DrbTXAZ7GUk+O7Tj8CrKfmMu15UW3090Vela+Og1HPSsYBT1T3RsOf4SCeHf8PULfr5rHAaXTlFdmZ7SOuc4nqRge+7PxK+ktIc0OG4IyFKqs7lOwN4HF9\/ozlUWsmcemqh3+w5h\/wDUB91eqq1O3j05WjOPkz7EFVw8yNVdXpSXRkq1P7S0Ub9\/mgYd\/wDshS1W6efx6fonYx+5AVkuS1ZOm7wT6BERcJhERAEREAREQBERAEREAREQBZvXUBlsIlAP7mZrifA5H1IWkVdqCMS6frmkZxC53PuGfspQdpIp2iOKlJdCgmpf+LZjRklrBKMjvfk\/gStHZpe3stFJnJdAzPngZWe09Xx3XS9TaztPDA9oHLiaQcH32Vjo2fttOQt6xOcw7eOfurJp2d+Zl2eUXOLWjj7F6q7UBDdP1xP\/AELh+CsVT6sk7LTVYRzIa33cAq4+ZGus7U5PoztpcY03Rc\/4DzHiVbKBYo+ysVCz\/qGE+ZGfup6S1Z2irU4rogiIolgREQBERAEREAREQBERAEREAUeujMtvqYxzfE5o9QVIXBAIwRkFDjV1Y+b21k9st9Nf6MF3ZyOiqWAHBbnmfQ49lodAuH7HqGDkKgnP\/hb+S66LiZJZ62hnaHhs7mvY7uIAwR05FU9julTYpKp\/YPltrZiyThxlh5ArVLeujxqVqLpzejT+j4n0JZvW8rv2TDSs\/iqJ2t37hn74U+DU9mqGBza+NmRyk+Uj3VN2zdT6qp5KdpdQ28cReQQHOznbzIHoCqoRad3wN20VIzp4IO7lkaqGIQQRxN5RtDR6DC9ERVGzQKA+700d5jtbw9s0jONpIw0+APofZT1m9YUjmU9Pd4Biehka4nvbn88e5UopN2ZTXnKEMUeHtxNIi8KOrirqOKqhOWStDh4eC91EtTTV0EREOhERAEREAREQBERAEREBl7Pm36yudC4gMqR2zB3nngf+Y+yaNaHNujXAEGpIIPXmmoc0GpbVcxsxx7GQ9AM9fRx9lzoz\/nP\/ALyfur3nG\/Y8yG7XUOTfo1ctp9P2iofxy0EJceoHD9PNTKenhpYRDBG2NjeTWheqKm7Z6ChGLukFQVurqSlnkiip56kRHD3xj5R3\/rkrG9GRtlrDESHiFxBHPlv+Ch6Sihj07TmFuC7Jkzz4skH6KSStdlVSU3NU4O2V7ki1X6gvAIpXu42jLo3jDgNvzU6eGOpgkglbxRyNLXDvBWBpLhTW7XE8jJM08kzmOcNgOI\/QH8F9CXZxwvIjs1bxYtS1TsZjSj32+rrrFO\/Lqd\/HFnq0\/oH1WnWW1VFLbrhR3+nGTCRHMB1b+iR7LTse2SNsjHBzXAFpHUJPPe5jZ929J8Pbh9jsiIqzUEREAREQBERAEREARcEgDJOAEBBGQcgoCi1lSmo0\/JI0Evp3tlbjmOh\/Ak+iiaDy+31czs5fUbn0B+60NeGOt1S2QZYYnhwz0wcrN6AqGOttTTf1sm4zv0IA\/wDirU\/y2jDOKW1xlzTNYiIqjcV98uLrXa5KtrGv4SBwu5HJwsZS3aosrJqChHbR1zQ+lcHYMZdt17uXmFodb1EUVgdC92HzPaGN78HJWRfZKqio46yrp3vhqIg5kkRJdEcZBI8h7HnstNJLDmeRtlSaq7nBel\/uSZdN9leKO1OI7aelc9xzkB\/zkenyge61Ok7jJVW91HU5FVRO7OQO546fQj0WdsFwmuWqKCWtkAkghdGHO2Mn8QHr834K4vkMtku8d+pYy+Fw4KqNu2R3n8PUeKTu916nNnwwTrQ0vZ9rL2L+40TLhb56STGJWFoJ6HofQ4KpdH18jqWW1VW1RROLcHnw5+x29leUdZBX0rKmmkD43jII6eB7isreKiC3ajivFJK17GyCCtazfhPLf0Hu1VRV04mytJQlGsn0fb4Niiz941bS0OYaICsqSMgMOWt8yOfkF46Vu11u8881UB8M0fKQwAcW2wPhjPrv0XMDtcs\/yafiKms2aZERQNAREQBERAEUS4XOjtcTZaycRNccDYknyA3UoEEZByCljikm7XzK3UdMKuwVkZHKMvHm3f7LppepbVaepHBwJjZ2bh3Fu30wrUgEYIyCsvp8utOoK6yvAbDITPB5dw79v\/aVYs4tGae5WjLg8v5RZ6nqfhtO1j84L2dmPHiOPoSs3pqOSz36lhfkMuFI1+M9cZ99j7qffpn3+5RWOjbJ2cUodVSYwG\/rfwzheusITTUtDcadoDqGYYHTG33A91OOSwviZq29N1VpC3yaZQbtdqez0RqZznfDGA7vPcFQxaxEVyrW1YaKYM7Sm55cMbAbb8Wx35LOV09dqG4tfLG\/tJcCCIDAYzPPJ5\/c+gXI0nfe0J1ttio\/l5sSyVWp7zAXyB0k7uHs27CFgPf5ZP8A+r6a1rWMDGjDWjAHcFHo7dSUDQKaBkZ4Q0lrQCR44UpRnPFki3ZqDpXcndsp79YWXWla6Dhhq4d4ZBtjrjb9BR7De\/jWOtl1AZXR5Y5kgAEo5eRPetAsxrKjt\/wYrpJfh61n8l7f4nkdP89Ei8W6xWi6bdWH1XP5POos1fp6WSsstTG2lILpaed3yjHLc9OnMHzWVFdK6iq4gY2sqHh88hGS85yA3I8f84XrVXW4XeSKCtMkrmBrY4GN4e0cep\/Xlhaex6SZHwVl1Y2SfYth\/ojHQEdT+Hmr74FeWp5uF152oqy9r+3Yzum7SbzO6lklbDBHh8oaMSSA8hnu5eC+i0lJBQ0zKamjEcTBgALO6lo5rfWRagoR88JAnYP6m95+h9CtBQ1sNwo46qB3EyQZ8j1B8lVUk5K\/A3bJTjSk4PzLjzRIREVJvCKrrtR2m35E1Yxzxn93H87s923L1wubJeTeYpZhRywRNIDHPP8AM8v11UsLtcq8WDlgTzLNVt7vUFlou3lHHI7aKMf1H7Bc3i9Ullpu0qDxPdns4283n7DxVTaLVVXatbe7y35tjT0+MBg6EhdjHi9CurVd\/Dp+b26nWzWOouFT+2L5l8rjxQwO5MHQkfb33WnDmlxaHAuHMZ3C7KLBbqWmrZ6yKMtmqMdoeI4OPDkuOWLUnTpeGrR+r4kpZ\/VNvneyG60IPxdEeLbPzN5kY6\/kStAi5F2dyVSmqkXFkCz3GlutGKynDQ9+BKANw4DkV6XRlLJbKhla8Mp3MIe49PHzWfuFBU6cuMl4trWupXj\/AFinJwPTbA+3rhVtReqfUtxZDW1IobdFh5Y4\/NIfMK1Qu7rQyS2nBHBNb2nR9exWafhZdL5Q0tWBJCxrhw8sgBzgPHc+y+ntaGtDWgAAYAHRfPaW4Qw6miulLSiG3GUU7XcOAPlAJ8+q+hrta90R\/D0lGS1d\/wBuARFRai1JFZouyiAlq3j5WZ2Z4n8lSk5OyN1SpGnHFJ5Hvfr\/AE9kpwXASVDx+7izz8T3BYeloLtqi4OqOMu3HHM7IazwHl3BWVn0tV3ic3C7vkYx7uLhds+X8gtxBTw0sLYYI2xxtGA1owArsSpqy1PP8OptTxVMo8EZ52iqEW4wxSPFXnjbUk78Xl3LtZr\/ACx1JtN6AhrI9mSOOGy92\/f9fNaNVl6sdJeabhn+SRg+SYc2\/mFBTvlI0SoeHvUcny4P56li9jZI3RvaHNcCHA9QspbJDpnUElqnfihqvnp3vOzT3Z\/D0CiUurKiztmt1WBXywnhiljfkO8Cev6C9qyx3\/UMJnuEsNPwAmCnAzv3E9M+Z8lNRw5S0KJ1lVtKkm5L+tMtLhqyippRTUbX11STgMhGRnz6+ihi26jveTcasW+nd\/ZiG5HdsfqfRe2jpaF1G+GKkZT1kB4Zx\/U7xyd8eHQrSKLeB2SLYQdeKlOWT4LJfXiVFu0zaraGuZTiWVu\/ay\/Mc\/QLver9S2aDLz2lQ7+XC07k+PcFEvepPhJv2fbo\/ia9+wa0ZDD4958PdLJpv4Sb9oXGT4mvfuXOOQw+HefH2S3+0zuLPw6C7vgvuyPZrFU1dabzfBxVBOYoXDaMdMj6D15rToihKTky+lSjTjZf9CIiiWhEWa1Hcp6qqjsVsdmeY4neP7bT\/g7+HmpRjidiurUVOOJkWuqJtXV37OoXFlvgcDPP\/tnpj7e6vzYbS6KKN1BA4RNDWksGcDvPX1Xpa7ZBaaFlJTj5Ru5x5ud1JUxdlLhHQqp0dZVM5P8AtiovdmirbDJQ08TIzGOOFrQAA4dPXceq40vcjcrLGZHZnh\/dS555HI+ox65XrddQW+zjhqJeKXGREzdx\/L1Xz+41FayumljikoWV54+xD8Fwz1HPc5VkIuUbMzV60KNRSjnwa9jZXnU8cB+CtZFVXSHhaGfM1h+58PddLLpYQTG4XVwqax5D8O3DD9yvfTem4rND20wD6x4+Z3Rg7h+avVBySyiXU6UqjVStrwXL5CKsuuoLfZxw1EvFLjIiZu4\/l6qnEuodRjMWLXQu\/r\/rcPDr9B4rig3m9C2deMXhjm+S\/uRbXXUVvtILZZO1n6Qx7uJ8e71VOKK96nw6vcbfQ5yIWg8b\/PP39lbWvTVutZEjIu2n59tLu7Ph0H1Vuu4lHykPCnV\/VdlyX8spn6UtDrcaJtMGA\/3R\/Mz35+3JVNvuVZpiqba7tl9ITiCpxsB+Xh08lr1Gr6CnuVI+lqmccbvdp7x3FFPhLQ7OglaVLJr07Mz+oKSW21bNRWzBIwKhg3D2nr+foVzcNSvr44KKxZkqqloLnY\/kjrnx+ipaq7VthFTYo6qKohzwslcOIxNPMf43wpVpxpa7RNkkjnoq9jQ2qaNgfA92Tv6FW4crvPkYPGvNqOSfm6Pp35mjslhp7PDn+bVP3lmdzJ8O4K1RFnbbd2etCEYRwxWQREXCQREQFXqC7ss1sfPzlf8AJEP97HPyC8NM2h9vpX1VVxGtqzxzF2MjcnH45Kpb\/WubquJ1VSzT09KAII2N\/mPIz1G++22eQUv4\/VV12pKGO3xO\/uTcxt4\/ZquwtR7nneNF1m2m7ZJJerL64XSitcPa1k4jB\/hbzc7yCz5ut81A\/gtMBoqMnBqJBhxHh\/j3Uy3aTp4ZRV3KV1fVncukOWg+R5+vsFfgADAGAFG8Y6Zl+GrV8zwrktfX7GTnobTpWnbPJGa64Sn932gyXO7wOgz6rim0nLW0FXVXN3FcKtvEzP8AaPMfQDwGy8rpJXU2rHVT6CetbG0fDRgENaeWevLf1I5KUaTVN3x8TUx2yE5BZFu78D91Zd2vcx2g5OOBtLJJL92zrZtV0tLaBFdJCyppj2XBwkueBy9em\/chuF+1COG2wfs+jd\/yiQ4c4eH+PdRLhp12nRBdaImrMBzOyVgOf94d325rW0FdBcqOOqp3cTHj1B6grksK3oospKrP8qpK1uXFd\/sV9s0vbrc4SuYamozkyzb794HT6q5RFS23qb4U4wVoqwREXCYVbfYbnUW4xWuRkcrnfMXHB4eoG3PkrJF1OzuRnHFFxKeg0xbaK3vpHxCftRiV7xu78vRZu72x9jifSytfU2mc5Y7m6nf3j9breLpLFHNE6KVgex4w5rhkEKcajTuzPU2WEo2irNGY0hqEVUQttXLmeMYief7jR08x9FqlgNSaZktUn7Qt3F2DXcRaOcJzz8votJpm\/tvVIWy8LaqL+Y0bBw6OH6+qlOKaxR0KdmrSjLwauq06l2iIqT0AiIgOMDOcbrlEQBERAEREBw5oc0tcAQRgg9VkHiTR937VoJtNW\/BAyeyd+vcDwWwXV8bJW8MjGvb3OGQpRlbIorU8SUk7NaM5BBGQcgrlEUS8IiIAiIgCIiA4IBGCMgrJ3jTtRb6pt2sLSyRhy+Bg59+B3eHstailGTiyqrSjVVn68jzgMroIzOxrJS0cbWnIB64K9ERRLUEREB\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ESCUELA GRECIA D35",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28744\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28744\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28744\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28744\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:31",
    "ubicacionGPS": "LatLng(lat: -22.4603435, lng: -68.9336229)",
    "horaLlegada": "11:22",
    "horaDespacho": "11:17",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 11:31:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[25/05/2026 11:31: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('61980920', 'EP3047', 1, 19969062, 1588, NOW(), 
				'11:17', '11:22', '11:31', 10, 'entrega de insumos', -1, 
				'', '','1','7090',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779723089.png', 'entrega de insumos', null, 'COMPLETADO','LatLng(lat: -22.4603435, lng: -68.9336229)' )
				
[25/05/2026 11:31:29] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200406
[25/05/2026 11:31:29] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200406', 'EPS-I1240', 1)
				
[25/05/2026 11:31:29] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28744 and
				    IDproducto = 'EPS-I1240'
				

25/05/2026 11:31:29 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1240';
                [25/05/2026 11:31:29] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200406', 'EPS-I1241', 1)
				
[25/05/2026 11:31:29] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28744 and
				    IDproducto = 'EPS-I1241'
				

25/05/2026 11:31:29 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1241';
                [25/05/2026 11:31:29] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200406', 'EPS-I1242', 1)
				
[25/05/2026 11:31:29] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28744 and
				    IDproducto = 'EPS-I1242'
				

25/05/2026 11:31:29 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1242';
                [25/05/2026 11:31:29] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200406', 'EPS-I1243', 1)
				
[25/05/2026 11:31:29] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28744 and
				    IDproducto = 'EPS-I1243'
				

25/05/2026 11:31:29 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1243';
                
25/05/2026 11:31:29 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200406'                    
				WHERE idllamado = 12678			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


25/05/2026 11:31:29 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12678			
				
25/05/2026 11:31:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11:31:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

[25/05/2026 11:31:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:31:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11: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 = 12678
                

25/05/2026 11:31:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:31:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:31:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:31:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:31:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12678
                

[25/05/2026 11:31:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

[25/05/2026 11:31:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:31:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:31:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12678
                

25/05/2026 11:31:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:31:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11: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 = 12678
                

25/05/2026 11:31:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11:31:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11:31:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

[25/05/2026 11:31:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:31:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12678
                

25/05/2026 11:31:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12678
                

[25/05/2026 11:31:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11: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 = 12678
                

[25/05/2026 11:31:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11: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 = 12678
                

25/05/2026 11:31:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12678
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11: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 = 12678
                

25/05/2026 11:33:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:33: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;
                

25/05/2026 11:33:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

[25/05/2026 11:33: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;
                

25/05/2026 11:33:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:33: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;
                

25/05/2026 11:33:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

[25/05/2026 11:33: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;
                

25/05/2026 11:33:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

[25/05/2026 11:33: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;
                

[25/05/2026 11:33: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;
                

[25/05/2026 11:33: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;
                

25/05/2026 11:33:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

[25/05/2026 11:33: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;
                

25/05/2026 11:33:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

[25/05/2026 11:33: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;
                

25/05/2026 11:33:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:33: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;
                

[25/05/2026 11:33: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;
                

[25/05/2026 11:33: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;
                

25/05/2026 11:33:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:33: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;
                

[25/05/2026 11:33: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;
                

25/05/2026 11:33:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:33: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;
                

25/05/2026 11:33:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

[25/05/2026 11:33: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;
                

25/05/2026 11:33:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:33:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:33:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:33: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;
                

[25/05/2026 11:33: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;
                

[25/05/2026 11:33: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;
                

25/05/2026 11:33:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:33: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;
                

[25/05/2026 11:33: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;
                

25/05/2026 11:33:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:33: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;
                

25/05/2026 11:33:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

[25/05/2026 11:33: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;
                

25/05/2026 11:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:33: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;
                

25/05/2026 11:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:33: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;
                

25/05/2026 11:33:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:33: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;
                

25/05/2026 11:33:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:33: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;
                

25/05/2026 11: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 = 12676
                

25/05/2026 11:33:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12676
                

25/05/2026 11:33:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12676
                

[25/05/2026 11:33: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;
                

[25/05/2026 11:33: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;
                

25/05/2026 11: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 = 12676
                

[25/05/2026 11:33: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;
                

25/05/2026 11:33:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12676
                

25/05/2026 11:33:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

[25/05/2026 11:33: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;
                

25/05/2026 11:33:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

[25/05/2026 11:33: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11:33:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11:33:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:33:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:33:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11:34:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 11:34:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:34:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:34:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 11:34:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:34:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:34:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:34:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:34:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:34:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 11:34:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:34:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:34:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11:34:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11:34:47 - logentry: =========================================
FECHA: 25/05/2026 11:34:47
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-r7RufS4.ui_WD6ON-8CExdLOtCItB+0hFps2GiK-+U4Taz40UAZ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3006",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "8746",
    "contadorColor": "5829",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12676",
    "observacion": "entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACjAPoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABDEAABAwMCAwUGAgcHAgcAAAABAAIDBAURBiESMUETUWFxkRQigaGxwTLRFSMzQkNS8BYkU4KS4fFi0iU0VXKTssL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAxEQACAQIDBgQGAwADAAAAAAAAAQIDERIhMQQTIkFRcWGh0eEUMoGRscEjM1JTYvD\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBEVLedS0trPs8Q9prHYDYWb4J5Z7vLmpSbdkUnUjTWKTsWdXWU1DCZqqdkLB1ccZ8u9UM2sopZjDaaGeveOrWkD6Z+QXih0\/VXSqFy1C7jf\/AA6YH3Wjx\/L1WkhghpohFBEyKNvJrBgBX4Y+JgnWq5rhXn7Gc4tY12S1tLQDpxYJP\/2\/op+iNUnJdfIwRyw3n8lp0UY+iRPwyesm\/r6GY7DWVMCRU0tWANhgAn5BBqquoHtZebRJA3rNGct7v637lp18c0OaWuAIIwQeqY09UNxKPyTf1zI1BcaS5wdtSTCRoxkDm04zghSlna\/ScfbGstE5oKrmAw4YeW23IbfNebfqGqpKpluv8QgmcDwVGQGSb+Gw8\/opwp5xCrSg8NVW8eXsaRERZnSEREAREQBERARp7hRU07YJ6qGKRw4g17wCR37+RUhrg5oc0ggjII6qBcbHbro\/tKyn45AzgDw4ggbnofFUT7dd9MZltchraIZL4JObBtvsd+XT0V1FPR5nPOpUg7uN4+Gv2NairrReqS8wGSnJa9oHHG4YLfzHPdWKq007M2jKM1ii8giIoLBFyqKiGkhdNUSNjjbzc47BR6W822tk7OmrYZHnk0OwT8PgpsyrnFOzeZNREUFgiIgCIq+93Vlntr6pwD3\/AIWMJxxOP9ZUpXdkVlJRi5PREDUd5mpnxWu2+\/X1JwMfwwevn9MErvZNOUlnjEmBNVke\/M7c56gdwXDTNmlpWPuNwHHX1J4iXc2A9PA9\/wAAr9Xk7LCjnpQc3vaiz5Lp7hERZnUEREAREQBQrraqa70bqeob4seObD3hTUUp2zRWUVJWehmtO3CopK6SwXF2ZYR+okOffbzx6bj\/AGWlWb1lSP8AY4bpAeGeheHAjuJH0OPmr2iqmVtFDVM\/DKwO8sq8s1iRhRbjJ0ny07ex3REWZ0hERAEREAREQGXvVoqLZXfpyzsHaNyZ4ANnjqcfX1V1abtT3iibUwHB5PYTuw9xU5ZG6Qv0zeWXekYfY6h3DURNzgE9fuPHzWi41Z6nHNbiWOPyvVdPH1Nci8RSxzwsmieHxvAc1w5EL7I9sUbpHfhYCT5BZnXdWuZSCIasvU8tS4ut9G\/gji5Bx78g58fRWlVpSzVI\/wDK9i7BHFC4t6Y5cvkoehIyywvcf353OHo0fZaVazk1Ky5HHQpQqU1Oau3mZa3VFdZL\/HZqyo9opp2f3dxwCwDOM7Z6Y5rUqg1bRPlt7bhTvLKihd2jCO7bP5+verW21jbhboKtox2rA4juPUeqiWaUi9G8Juk+67exKREWZ1BZS5\/+NaxpbdxHsKIdrKB1Ox\/7R8StUSAMk4AWY0eDV1FyurwSaibhaeW3P7j0WkMk2ctfilGn1efZGoRcnVMDJ2QOmYJX\/hjLhxHn0+B9F1WZ03uEREJPMkjImGSR7WMbzc44AXmCeKphZNC8PjeMtcORCg6iY2TT9cHDIEJPxG4UPRtXHU6fijbs6ncWOGfHIPzVsPDcxdW1ZU\/C5fIiiXK5U1qpDU1TiGBwb7oySSqpXNZSUVdktF4hlZPCyaM5ZI0OafA7r2hJEurWvtFY1wyDA\/I\/ylV2jnufpqm4nE8JcBnu4imqrkKO1vposvqaoGNkbfxYOxOFNslvdbLRT0j3ZexuXnOfeO5Hw5fBaaQOW+LaMuSz+pPREWZ1BERAEREAREQBcauliraWSmnbxRyt4XBdkQhpNWZl9MVE1uuFTYKtxJiJdTk\/vN8Pr6rTSM7SNzM44gRlZ7VdHLGKe9Ug\/vFE7L\/+pn+30JV3QVsNxooquA5ZI3OOoPUHxC0lnxI5qHA3RfLTt7aFBomR0VLWW2UFstLOcg9x2+oPqtOspdWO09qOO8sH9zqj2dSAM8JPX5Z+B71qgQRkHIKTzeLqNmeGLpvWP45HiaFlRA+GQZZI0tcPArP6KkkbbqiikyfZZ3MBz39MdN8+q0izGlfdvF+jAw1tVt\/qf+SiPysmplWg+68rmnVa6\/UDLuLYZf1x2yOQd\/KfHdWS\/ONQslt2rnVABBc9ssZJwDy67Y6qacVJ2ZG1VpUYqS6m+uMnY22ql\/khe70BVTouPg03E7\/Ee93zx9la1zfabVUsjd+1gcGkHvacLJ2jUcNu0rHBEe1rg9zIocZJJdkHbpv8eSmKbjZFas4wrKUnlZ\/o46rmlm1F2lEz9bb4g972uzgAg8vDi\/rC2dvrI7hQQ1UbmkSMBPCc4PUfAqt09aH0tJJUVw4qusy6bixkZ6cvkqx9NX6Rq5JqKI1NrkIdIzm6M+G+fj6qXaSwrkZQx0m6sllLXw6e5rkUS33OkulP29HMJGg4cMYLT3EKUSAMk4AWLVj0FJSV1oVWqJ20+nasuOONnAPEnZZukjqtJ+y3HgfJRVcTBUsaN2Oxt1+PxI2UyeRuq9QQww+\/bqI8UjjykPh4bAepWsc1r2lr2hzTzBGQVtfArM4cG\/m6kXa2Sf5+nI40ddS18AmpZmysIzkfccwqLV9V7RDHZadnaVNU4EDIAbg53XSq0TaKmTiaJoP+mJwA+YKnWnT9DZiXUwe6Rw4S+R2TjOcbYHd6BVTjF3RpJVqkcEkknq7\/AKKamu95skUdHXWmWoii9xk0WTxAcu8d3cvbr5qG4tAttnNO1w\/aTn6ZwPqtSiY1rYlUJpYcbt9L\/corTp+SGrNyus4qq5w2P7sfkr1EVG29TenTjTVohERQXCIiAIiIAiIgCIiA8vY2SN0b2hzXAhwPULNaRc+knuNoldvTS8UYIwS05GfLYH4rTrL3IforWVFWsw2Kub2MuBzdsP8At9CtIZpo5q\/DKNTo7fRl\/cKGG5UUlJOMskHoQcg+qoLTdKm0VrbHeHAAD+71BOA5vQH+vBahQbrZ6O8U\/ZVTNx+B7dnNPgoi1o9C1WnJtTh8y810JyzGjz21Vd6z\/HqeXTm4\/wD6UCe5XnTVPNRV3FPHI1wpqlp3aft5dPEK50gylhsUMcNRHLI\/MkgaRlrj0I57DAVnHDF+Jgqqq1orRq90\/sXqyuroWVl0tFFJsyaUh5H4sZA2Pr6rQVtzo7dGZKqoZGOgzlx8hzVBY21F7vst8qGvjp4gWU0bj8D98+J8FEMuIvtDU7Ulq\/we3aJpnnhNwq+xAAEfENtsf1somlrfSUd+uFHLC11RTkGF7\/eIb39wO7fHdbFZa+H9E6ooLqcthmHYzHkB0yfgc\/5VaMpSvFmdWjTpONSK0efZmpXxzQ5pa4AgjBB6r6ixO8z1ZpCmkqXVNBUy2+V3+Ds0eQGMLi7S9yq2iOuvs74cYcxufe2\/571p0V95I53stJvT8kW32+mtlKKelj4GDc97jgDJ8dlKRFRu5ukoqyCIiEhERAEREAREQBERAEREAREQBF5e9kbC+RwY1oyXOOAFn63WdBDIYaKKWul5ARjDSfP8gVZRctDOpVhTV5OxolnNbwuNnjqo3cMlNM1wd1Gdtvjj0XJseqLw4vfIy1wOHutH4xvz7\/DfHkudRotjqaeapuFTV1AjcWFxwOLG3PPXxV4pRd2zlrTnVpuMYOz5vL3LV2qLPHTxyS10Yc9gcWM94g45HGcc1Ak1iype6C0UM1XN0LhwtHj3\/Rc9IWy2VdnjqZKGKSdrnMe57eLJByNjtyIWnjijhYGRRtY0cmtGAjwxdrFqe\/qwUsSSfRZ+ZnrXYKuorjc769ss5\/ZwbObGPp6epyutVoy1VD+0iEtK7I\/YuwMddjlX6KuOV7mi2alhs1fvqUVHo600j+N8b6l+c5nORnyGx+Ku2taxoaxoa0cgBgBekVXJvU0hThTVoqwUC9W1t1tc1IccThmMno4clPRE7O5aUVKLi9GUGkrm+strqWoJ9poz2bw7mR0\/L4K\/WYvtqqaGuF+tLf1rN54RyeOpwOfj6q6tV1prvRtqKd3g9h5sPcVeavxI56E3H+Keq80TURFmdQREQBERAEREAREQBERAEREARfCQBknACzty1STUGgssPtlWcguaMsb4+P0VoxctDOpVjTV5F7VVlNRRdrVTshZ3vdjKoJtVTVz3wWKgkqpAcdq9uGDx\/wCcLzR6R9okFXfKmSrqCclgdho8P+MBaOGCGmiEUETIo28msGAFbhj4mP8ANU\/6rz9jOQ6cr7niW\/175BnIp4jho88benqr+koKShZwUtPHCMY91uCfM9VIRVcmzWnRhDNa9eYREVTUzGhx2dFWwZ\/Z1R2+AH2WnWY0Th9PXzN\/C+qOD8M\/dadXqfMzm2T+mIREVDpCIiAIiIAspc7RVWOtdeLKC5hOZ6YDYjwA6fRatFaMsJlVpKos9Vo+hCtV1prvRtqKd3g9h5sPcVNWNvsUFlrZLhabjBTVJ\/a0pcDx\/wCXf7LtT6+ojTB1TSzNm5FseHDzySFd0284mEdqjF4Krs19maxFmP7c0n\/p9Z\/pH5odd29hxJSVbe48Dd\/UhV3cuhf4uh\/o06LN\/wBurR\/LU\/8Axj817j1tZnkBz5o9+bozt6ZTdy6E\/FUf9I0KKDS3q2VoHs9dC8nHul2D6HdTlVprU2jKMldO4REUFgiIgC41dXBQ0z6mpkEcTBkkrzXV1PbqV1TVP4I29cZye5ZmnoarVtSK64ccNuYf1EAOC\/x\/39FeMb5vQwq1XF4IK8n\/AOuzyH3XWDj2bjQ2sEgn96Xf5\/TzWkttqo7TB2NJEG\/zOO7neZUmKKOGJsUTAxjBhrWjAAXtJSvktBToqLxSzl19AiIqG4REQBRblUiktlTUE47OJzh542+alLPazq+ys4pGH9dWPDGtBwSAQT9h8VaKvJIyrTwU5SPejKb2fTsTiMGd7pD9B8gFfKPQUraKggpW8oow3zIG5UhJO7bJpQwU4x6IIi5zTw00RlnlZFG3m55wAqmjdjoizlVrCB0gp7TTS3Cc\/wArSGj5ZP8AW64ewaquu9XXR2+J38OHmNvD7uV8D55HM9pi3amsXbT76F9W3WgtwzV1ccRxnhJy4\/5RuqWTW1NI90dBQVVW5vLDcA\/U\/Jd6LRtrpjxzh9XJtkynbPkPvlXscbImBkbGsaOQaMAKeBeJFtonq1HzfoZgXDVdyyKa3x0LP55uY9fyX0aVuNWM3O+TyZO8cRPD89u7otQiY2tFYfDRfztv6\/pFJR6Rs1GQ72YzuHWZ3F8uXyXe46ettxpuxfTsiLQeB8Y4Swny5\/FWiKuKV73NVQpKOHCrGTE980u0tqG\/pKgbv2uTxsG3njy38wru2X63XZo9mnHaYyYn+68fDr8MqxVHc9J26vf20TfZKgHIfEMAnxb+WD4q14y1Mt3Vpf1u66P9P1LjsYv8Jn+kLzJR0szeGWmikb3OYCFnGs1ZaPwujukIAGHH3x9D9V3ptZ0Lpexr4ZqGbOC2RpIHx58\/BMD5ZhV6ek1h7+uhIqtJWaqbj2XsXfzQuLfly+SgO0xdKAZtF5laG8opj7v3HIDotHTVdPWRiSmnjmYRnLHArsoxyWRL2ejLNK3isvwZYagvVqcG3m1l8WTmeAZ29cfT5K9t92obpHx0dQ2QgZczk5vmOaluaHNLXAEEYIPVUVx0nSVMhqaN7qKqBLmviOBnf03PRTeMtciMNan8rxLx1+5fIsxBebjZKllJfmh8D3cMVW3r54\/581p1WUWjWnVVTTVcjL18X6c1cy3zEGloY+1fHg+8TjY9\/MfNadrQ1oa0AADAA6LNWck6zu\/HjiDRjlnG3+y0ymfJGez54p8235ZBERUOkIiIAiIgPjnBrS5xAAGST0WVpC3UWq3Vo9+ioBiIkbOf3+u\/wCias1HFUE2qllxHxYnmbuNv3R3r1b6681NG2lsFuZS0jAAJ5QMuPV2+x8dit4wajc82rtEJ1MCzS6Z3fojZPeyNhfI4Ma0ZLnHACpK7V9tpZOxp+OtmOzWwDIJ7s\/llQ2aQnrXiW83Sapdk+4w7Dyzy+AV7Q2mgtrQKSljjIGOMDLj5nmqWgvE6MVeeiwrxzZQ9rqy8N\/Vxx2yF2d3DD8eOcn0AXWLRkMsgludfUVsni7hH3PzWlRN4+WRK2aDzm3Lv6aHCko6ahhENLAyFg6NGM+feu6IszoSSVkEREJCIiAIiIAiIgC41NHTVkfZ1MEcze57QceXcuyIQ0mrMzlRoyiMnbW+onoJehjcSB88\/NcvYtW0J\/UV8FZH0Eo3+Y+61CK+8fPM53s1O945dnYzH6d1FTE+02AyhpwewJ38scS+u1FfJXFsGnJmHOAZScfQLTImJdBuan\/I\/L0MpJb9QagcIroI6OiyC6NmC4kd3NaljBGxrG8mgAL0ihyuaU6Shd3u3zZlr\/HJZLvFf6dhMbsR1TWnmPLxwN+8BaSmqYaunZPBIHxvGQQV7kjZLG6N44muGCFmZbBcbPUmp0\/MDG45dSSn3Tt3k7\/I+KtlJWepk1KlJyirxfLmjUIsuNVV1CQ272aaLP8SLcHp125+PUKTHrWyPIDppI9ubojt6ZUbuXQstqovWVu+X5L9FWDUdmLOMXGDHi7B9Oaor9q9xeyksjxK9\/wCKRrCSD3NBG\/nuihJuwqbTShHE3fsaC6XugtEfFVTe+fwxM3e74fcrLSX+8alqTQ2yL2aF2z3Dchve53T4b+a427RtxuMvtFzlfA125LzxSP8Ay+K2tBbqW2Uwp6SIRs5nvce8nqrvBDTNnMt\/tD4uGPmyutek7ZbQHOiFTMP4koBwfAcgroAAYAwAvqLJtvU7oU4U1aKsERFBcIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgPhAIwRkFR5LdQzftaOnk\/8AdE0\/ZES5DSepDOmbKX8Zt8WfDIHpyU2loaSibw0tPHCMY9xoGfNEUuTerKxpwi7pJEhERQXCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ESCUELA GRECIA D35",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28742\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28742\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28742\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28742\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:34",
    "ubicacionGPS": "LatLng(lat: -22.4603048, lng: -68.9336343)",
    "horaLlegada": "11:22",
    "horaDespacho": "11:31",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 11:34:47
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-r7RufS4.ui_WD6ON-8CExdLOtCItB+0hFps2GiK-+U4Taz40UAZ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3006",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "8746",
    "contadorColor": "5829",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12676",
    "observacion": "entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACjAPoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABDEAABAwMCAwUGAgcHAgcAAAABAAIDBAURBiESMUETUWFxkRQigaGxwTLRFSMzQkNS8BYkU4KS4fFi0iU0VXKTssL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAxEQACAQIDBgQGAwADAAAAAAAAAQIDERIhMQQTIkFRcWGh0eEUMoGRscEjM1JTYvD\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBEVLedS0trPs8Q9prHYDYWb4J5Z7vLmpSbdkUnUjTWKTsWdXWU1DCZqqdkLB1ccZ8u9UM2sopZjDaaGeveOrWkD6Z+QXih0\/VXSqFy1C7jf\/AA6YH3Wjx\/L1WkhghpohFBEyKNvJrBgBX4Y+JgnWq5rhXn7Gc4tY12S1tLQDpxYJP\/2\/op+iNUnJdfIwRyw3n8lp0UY+iRPwyesm\/r6GY7DWVMCRU0tWANhgAn5BBqquoHtZebRJA3rNGct7v637lp18c0OaWuAIIwQeqY09UNxKPyTf1zI1BcaS5wdtSTCRoxkDm04zghSlna\/ScfbGstE5oKrmAw4YeW23IbfNebfqGqpKpluv8QgmcDwVGQGSb+Gw8\/opwp5xCrSg8NVW8eXsaRERZnSEREAREQBERARp7hRU07YJ6qGKRw4g17wCR37+RUhrg5oc0ggjII6qBcbHbro\/tKyn45AzgDw4ggbnofFUT7dd9MZltchraIZL4JObBtvsd+XT0V1FPR5nPOpUg7uN4+Gv2NairrReqS8wGSnJa9oHHG4YLfzHPdWKq007M2jKM1ii8giIoLBFyqKiGkhdNUSNjjbzc47BR6W822tk7OmrYZHnk0OwT8PgpsyrnFOzeZNREUFgiIgCIq+93Vlntr6pwD3\/AIWMJxxOP9ZUpXdkVlJRi5PREDUd5mpnxWu2+\/X1JwMfwwevn9MErvZNOUlnjEmBNVke\/M7c56gdwXDTNmlpWPuNwHHX1J4iXc2A9PA9\/wAAr9Xk7LCjnpQc3vaiz5Lp7hERZnUEREAREQBQrraqa70bqeob4seObD3hTUUp2zRWUVJWehmtO3CopK6SwXF2ZYR+okOffbzx6bj\/AGWlWb1lSP8AY4bpAeGeheHAjuJH0OPmr2iqmVtFDVM\/DKwO8sq8s1iRhRbjJ0ny07ex3REWZ0hERAEREAREQGXvVoqLZXfpyzsHaNyZ4ANnjqcfX1V1abtT3iibUwHB5PYTuw9xU5ZG6Qv0zeWXekYfY6h3DURNzgE9fuPHzWi41Z6nHNbiWOPyvVdPH1Nci8RSxzwsmieHxvAc1w5EL7I9sUbpHfhYCT5BZnXdWuZSCIasvU8tS4ut9G\/gji5Bx78g58fRWlVpSzVI\/wDK9i7BHFC4t6Y5cvkoehIyywvcf353OHo0fZaVazk1Ky5HHQpQqU1Oau3mZa3VFdZL\/HZqyo9opp2f3dxwCwDOM7Z6Y5rUqg1bRPlt7bhTvLKihd2jCO7bP5+verW21jbhboKtox2rA4juPUeqiWaUi9G8Juk+67exKREWZ1BZS5\/+NaxpbdxHsKIdrKB1Ox\/7R8StUSAMk4AWY0eDV1FyurwSaibhaeW3P7j0WkMk2ctfilGn1efZGoRcnVMDJ2QOmYJX\/hjLhxHn0+B9F1WZ03uEREJPMkjImGSR7WMbzc44AXmCeKphZNC8PjeMtcORCg6iY2TT9cHDIEJPxG4UPRtXHU6fijbs6ncWOGfHIPzVsPDcxdW1ZU\/C5fIiiXK5U1qpDU1TiGBwb7oySSqpXNZSUVdktF4hlZPCyaM5ZI0OafA7r2hJEurWvtFY1wyDA\/I\/ylV2jnufpqm4nE8JcBnu4imqrkKO1vposvqaoGNkbfxYOxOFNslvdbLRT0j3ZexuXnOfeO5Hw5fBaaQOW+LaMuSz+pPREWZ1BERAEREAREQBcauliraWSmnbxRyt4XBdkQhpNWZl9MVE1uuFTYKtxJiJdTk\/vN8Pr6rTSM7SNzM44gRlZ7VdHLGKe9Ug\/vFE7L\/+pn+30JV3QVsNxooquA5ZI3OOoPUHxC0lnxI5qHA3RfLTt7aFBomR0VLWW2UFstLOcg9x2+oPqtOspdWO09qOO8sH9zqj2dSAM8JPX5Z+B71qgQRkHIKTzeLqNmeGLpvWP45HiaFlRA+GQZZI0tcPArP6KkkbbqiikyfZZ3MBz39MdN8+q0izGlfdvF+jAw1tVt\/qf+SiPysmplWg+68rmnVa6\/UDLuLYZf1x2yOQd\/KfHdWS\/ONQslt2rnVABBc9ssZJwDy67Y6qacVJ2ZG1VpUYqS6m+uMnY22ql\/khe70BVTouPg03E7\/Ee93zx9la1zfabVUsjd+1gcGkHvacLJ2jUcNu0rHBEe1rg9zIocZJJdkHbpv8eSmKbjZFas4wrKUnlZ\/o46rmlm1F2lEz9bb4g972uzgAg8vDi\/rC2dvrI7hQQ1UbmkSMBPCc4PUfAqt09aH0tJJUVw4qusy6bixkZ6cvkqx9NX6Rq5JqKI1NrkIdIzm6M+G+fj6qXaSwrkZQx0m6sllLXw6e5rkUS33OkulP29HMJGg4cMYLT3EKUSAMk4AWLVj0FJSV1oVWqJ20+nasuOONnAPEnZZukjqtJ+y3HgfJRVcTBUsaN2Oxt1+PxI2UyeRuq9QQww+\/bqI8UjjykPh4bAepWsc1r2lr2hzTzBGQVtfArM4cG\/m6kXa2Sf5+nI40ddS18AmpZmysIzkfccwqLV9V7RDHZadnaVNU4EDIAbg53XSq0TaKmTiaJoP+mJwA+YKnWnT9DZiXUwe6Rw4S+R2TjOcbYHd6BVTjF3RpJVqkcEkknq7\/AKKamu95skUdHXWmWoii9xk0WTxAcu8d3cvbr5qG4tAttnNO1w\/aTn6ZwPqtSiY1rYlUJpYcbt9L\/corTp+SGrNyus4qq5w2P7sfkr1EVG29TenTjTVohERQXCIiAIiIAiIgCIiA8vY2SN0b2hzXAhwPULNaRc+knuNoldvTS8UYIwS05GfLYH4rTrL3IforWVFWsw2Kub2MuBzdsP8At9CtIZpo5q\/DKNTo7fRl\/cKGG5UUlJOMskHoQcg+qoLTdKm0VrbHeHAAD+71BOA5vQH+vBahQbrZ6O8U\/ZVTNx+B7dnNPgoi1o9C1WnJtTh8y810JyzGjz21Vd6z\/HqeXTm4\/wD6UCe5XnTVPNRV3FPHI1wpqlp3aft5dPEK50gylhsUMcNRHLI\/MkgaRlrj0I57DAVnHDF+Jgqqq1orRq90\/sXqyuroWVl0tFFJsyaUh5H4sZA2Pr6rQVtzo7dGZKqoZGOgzlx8hzVBY21F7vst8qGvjp4gWU0bj8D98+J8FEMuIvtDU7Ulq\/we3aJpnnhNwq+xAAEfENtsf1somlrfSUd+uFHLC11RTkGF7\/eIb39wO7fHdbFZa+H9E6ooLqcthmHYzHkB0yfgc\/5VaMpSvFmdWjTpONSK0efZmpXxzQ5pa4AgjBB6r6ixO8z1ZpCmkqXVNBUy2+V3+Ds0eQGMLi7S9yq2iOuvs74cYcxufe2\/571p0V95I53stJvT8kW32+mtlKKelj4GDc97jgDJ8dlKRFRu5ukoqyCIiEhERAEREAREQBERAEREAREQBF5e9kbC+RwY1oyXOOAFn63WdBDIYaKKWul5ARjDSfP8gVZRctDOpVhTV5OxolnNbwuNnjqo3cMlNM1wd1Gdtvjj0XJseqLw4vfIy1wOHutH4xvz7\/DfHkudRotjqaeapuFTV1AjcWFxwOLG3PPXxV4pRd2zlrTnVpuMYOz5vL3LV2qLPHTxyS10Yc9gcWM94g45HGcc1Ak1iype6C0UM1XN0LhwtHj3\/Rc9IWy2VdnjqZKGKSdrnMe57eLJByNjtyIWnjijhYGRRtY0cmtGAjwxdrFqe\/qwUsSSfRZ+ZnrXYKuorjc769ss5\/ZwbObGPp6epyutVoy1VD+0iEtK7I\/YuwMddjlX6KuOV7mi2alhs1fvqUVHo600j+N8b6l+c5nORnyGx+Ku2taxoaxoa0cgBgBekVXJvU0hThTVoqwUC9W1t1tc1IccThmMno4clPRE7O5aUVKLi9GUGkrm+strqWoJ9poz2bw7mR0\/L4K\/WYvtqqaGuF+tLf1rN54RyeOpwOfj6q6tV1prvRtqKd3g9h5sPcVeavxI56E3H+Keq80TURFmdQREQBERAEREAREQBERAEREARfCQBknACzty1STUGgssPtlWcguaMsb4+P0VoxctDOpVjTV5F7VVlNRRdrVTshZ3vdjKoJtVTVz3wWKgkqpAcdq9uGDx\/wCcLzR6R9okFXfKmSrqCclgdho8P+MBaOGCGmiEUETIo28msGAFbhj4mP8ANU\/6rz9jOQ6cr7niW\/175BnIp4jho88benqr+koKShZwUtPHCMY91uCfM9VIRVcmzWnRhDNa9eYREVTUzGhx2dFWwZ\/Z1R2+AH2WnWY0Th9PXzN\/C+qOD8M\/dadXqfMzm2T+mIREVDpCIiAIiIAspc7RVWOtdeLKC5hOZ6YDYjwA6fRatFaMsJlVpKos9Vo+hCtV1prvRtqKd3g9h5sPcVNWNvsUFlrZLhabjBTVJ\/a0pcDx\/wCXf7LtT6+ojTB1TSzNm5FseHDzySFd0284mEdqjF4Krs19maxFmP7c0n\/p9Z\/pH5odd29hxJSVbe48Dd\/UhV3cuhf4uh\/o06LN\/wBurR\/LU\/8Axj817j1tZnkBz5o9+bozt6ZTdy6E\/FUf9I0KKDS3q2VoHs9dC8nHul2D6HdTlVprU2jKMldO4REUFgiIgC41dXBQ0z6mpkEcTBkkrzXV1PbqV1TVP4I29cZye5ZmnoarVtSK64ccNuYf1EAOC\/x\/39FeMb5vQwq1XF4IK8n\/AOuzyH3XWDj2bjQ2sEgn96Xf5\/TzWkttqo7TB2NJEG\/zOO7neZUmKKOGJsUTAxjBhrWjAAXtJSvktBToqLxSzl19AiIqG4REQBRblUiktlTUE47OJzh542+alLPazq+ys4pGH9dWPDGtBwSAQT9h8VaKvJIyrTwU5SPejKb2fTsTiMGd7pD9B8gFfKPQUraKggpW8oow3zIG5UhJO7bJpQwU4x6IIi5zTw00RlnlZFG3m55wAqmjdjoizlVrCB0gp7TTS3Cc\/wArSGj5ZP8AW64ewaquu9XXR2+J38OHmNvD7uV8D55HM9pi3amsXbT76F9W3WgtwzV1ccRxnhJy4\/5RuqWTW1NI90dBQVVW5vLDcA\/U\/Jd6LRtrpjxzh9XJtkynbPkPvlXscbImBkbGsaOQaMAKeBeJFtonq1HzfoZgXDVdyyKa3x0LP55uY9fyX0aVuNWM3O+TyZO8cRPD89u7otQiY2tFYfDRfztv6\/pFJR6Rs1GQ72YzuHWZ3F8uXyXe46ettxpuxfTsiLQeB8Y4Swny5\/FWiKuKV73NVQpKOHCrGTE980u0tqG\/pKgbv2uTxsG3njy38wru2X63XZo9mnHaYyYn+68fDr8MqxVHc9J26vf20TfZKgHIfEMAnxb+WD4q14y1Mt3Vpf1u66P9P1LjsYv8Jn+kLzJR0szeGWmikb3OYCFnGs1ZaPwujukIAGHH3x9D9V3ptZ0Lpexr4ZqGbOC2RpIHx58\/BMD5ZhV6ek1h7+uhIqtJWaqbj2XsXfzQuLfly+SgO0xdKAZtF5laG8opj7v3HIDotHTVdPWRiSmnjmYRnLHArsoxyWRL2ejLNK3isvwZYagvVqcG3m1l8WTmeAZ29cfT5K9t92obpHx0dQ2QgZczk5vmOaluaHNLXAEEYIPVUVx0nSVMhqaN7qKqBLmviOBnf03PRTeMtciMNan8rxLx1+5fIsxBebjZKllJfmh8D3cMVW3r54\/581p1WUWjWnVVTTVcjL18X6c1cy3zEGloY+1fHg+8TjY9\/MfNadrQ1oa0AADAA6LNWck6zu\/HjiDRjlnG3+y0ymfJGez54p8235ZBERUOkIiIAiIgPjnBrS5xAAGST0WVpC3UWq3Vo9+ioBiIkbOf3+u\/wCias1HFUE2qllxHxYnmbuNv3R3r1b6681NG2lsFuZS0jAAJ5QMuPV2+x8dit4wajc82rtEJ1MCzS6Z3fojZPeyNhfI4Ma0ZLnHACpK7V9tpZOxp+OtmOzWwDIJ7s\/llQ2aQnrXiW83Sapdk+4w7Dyzy+AV7Q2mgtrQKSljjIGOMDLj5nmqWgvE6MVeeiwrxzZQ9rqy8N\/Vxx2yF2d3DD8eOcn0AXWLRkMsgludfUVsni7hH3PzWlRN4+WRK2aDzm3Lv6aHCko6ahhENLAyFg6NGM+feu6IszoSSVkEREJCIiAIiIAiIgC41NHTVkfZ1MEcze57QceXcuyIQ0mrMzlRoyiMnbW+onoJehjcSB88\/NcvYtW0J\/UV8FZH0Eo3+Y+61CK+8fPM53s1O945dnYzH6d1FTE+02AyhpwewJ38scS+u1FfJXFsGnJmHOAZScfQLTImJdBuan\/I\/L0MpJb9QagcIroI6OiyC6NmC4kd3NaljBGxrG8mgAL0ihyuaU6Shd3u3zZlr\/HJZLvFf6dhMbsR1TWnmPLxwN+8BaSmqYaunZPBIHxvGQQV7kjZLG6N44muGCFmZbBcbPUmp0\/MDG45dSSn3Tt3k7\/I+KtlJWepk1KlJyirxfLmjUIsuNVV1CQ272aaLP8SLcHp125+PUKTHrWyPIDppI9ubojt6ZUbuXQstqovWVu+X5L9FWDUdmLOMXGDHi7B9Oaor9q9xeyksjxK9\/wCKRrCSD3NBG\/nuihJuwqbTShHE3fsaC6XugtEfFVTe+fwxM3e74fcrLSX+8alqTQ2yL2aF2z3Dchve53T4b+a427RtxuMvtFzlfA125LzxSP8Ay+K2tBbqW2Uwp6SIRs5nvce8nqrvBDTNnMt\/tD4uGPmyutek7ZbQHOiFTMP4koBwfAcgroAAYAwAvqLJtvU7oU4U1aKsERFBcIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgPhAIwRkFR5LdQzftaOnk\/8AdE0\/ZES5DSepDOmbKX8Zt8WfDIHpyU2loaSibw0tPHCMY9xoGfNEUuTerKxpwi7pJEhERQXCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ESCUELA GRECIA D35",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28742\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28742\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28742\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28742\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:34",
    "ubicacionGPS": "LatLng(lat: -22.4603048, lng: -68.9336343)",
    "horaLlegada": "11:22",
    "horaDespacho": "11:31",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 11:34:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[25/05/2026 11:34:47] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP3006', 1, 19969062, 8746, NOW(), 
				'11:31', '11:22', '11:34', 10, 'entrega insumos', -1, 
				'', '','1','5829',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779723287.png', 'entrega insumos', null, 'COMPLETADO','LatLng(lat: -22.4603048, lng: -68.9336343)' )
				
[25/05/2026 11:34:47] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200407
[25/05/2026 11:34:47] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200407', 'EPS-I1240', 1)
				
[25/05/2026 11:34:47] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28742 and
				    IDproducto = 'EPS-I1240'
				

25/05/2026 11:34:47 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1240';
                [25/05/2026 11:34:47] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200407', 'EPS-I1241', 1)
				
[25/05/2026 11:34:47] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28742 and
				    IDproducto = 'EPS-I1241'
				

25/05/2026 11:34:47 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1241';
                [25/05/2026 11:34:47] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200407', 'EPS-I1242', 1)
				
[25/05/2026 11:34:47] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28742 and
				    IDproducto = 'EPS-I1242'
				

25/05/2026 11:34:47 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1242';
                [25/05/2026 11:34:47] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200407', 'EPS-I1243', 1)
				
[25/05/2026 11:34:47] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28742 and
				    IDproducto = 'EPS-I1243'
				

25/05/2026 11:34:47 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1243';
                
25/05/2026 11:34:47 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200407'                    
				WHERE idllamado = 12676			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


25/05/2026 11:34:47 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12676			
				
25/05/2026 11:34:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11: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 = 12676
                

25/05/2026 11:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:34:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 11:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:34:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 11:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:34:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 11:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:34:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 11:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:34:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

[25/05/2026 11: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;
                

25/05/2026 11:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

25/05/2026 11:34:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:34:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

[25/05/2026 11: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;
                

25/05/2026 11:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:34: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;
                

25/05/2026 11:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:34:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:34:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

[25/05/2026 11:34: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;
                

25/05/2026 11:34:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:34:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:34:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:34:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

[25/05/2026 11:34: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;
                

[25/05/2026 11:34: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;
                

25/05/2026 11:34:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:34:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12676
            GROUP BY l.idllamado;
            

25/05/2026 11:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 11:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12676
                

25/05/2026 11:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:34:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 11:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12699
                

25/05/2026 11: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 = 12699
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12699
                

25/05/2026 11: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 = 12699
                

25/05/2026 11: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 = 12699
                

25/05/2026 11: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 = 12699
                

25/05/2026 11:35:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:35:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 11:35:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:35:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12699
                

25/05/2026 11: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 = 12699
                

25/05/2026 11: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 = 12699
                

25/05/2026 11: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 = 12699
                

25/05/2026 11:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:35:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 11:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:35:10 - logentry: =========================================
FECHA: 25/05/2026 11:35:10
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-jZG6ReChDR1UuLj8fx0J6cU8_.Ufl1IlR9R2AXh4liNX7XaPI3b
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76464003",
    "serieinterna": "KY2376",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "1272356",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se configura 1 PC\n•Pendiette configuración de 2 mac",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12699",
    "observacion": "•Pendiente\n├RGOM2356×2\n├RKIT2442×1\n├RGOM2758×1\n├RGOM2759×1\n└RGOM2576×1",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADFAPwDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABJEAABAwMBBAcEBQUPBQEAAAABAAIDBAURBhIhMUETUWFxgZGhFCKxwRUjMkLRNnKy4fEHFiQzNDVDU2JzdKLC4vAlN0VSgtL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAzEQACAQIDBAkDBAMBAAAAAAAAAQIDESExQQQSIlETIzJhcYGR0eGhscEUQlLwJERigv\/aAAwDAQACEQMRAD8A\/syIiAIiIAiIgC8KysgoKZ1RUyBkbeZ5nqC91JXIP1Hqhtqy4UNENubG7ad\/wgeZUoxu8SmtUcI8ObwR6Mn1Bfy6einZQUR3Rlzfed28M\/Ad\/FHW3VlH9bT3OOrIBzG\/dnuyMeoVQ1oa0NaAABgAcl+qW\/yRX+mvjKTv4k7RanlZWx0V5ozRTSDDX4Ow49Xd257O1USwdYmnbYJHzNaZA4CEniHHq8MrVtwlbbaYTO2pOibtHtwuSSaujtKUlN05O9sb+50oiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgPOaUQQSTO4RtLj4DKn9ExOdbaiukO1LVzlzndeP1krS1FL0On653XCW+e75ry0tCIdN0bR95hcd3WSfmrFhBmaWO0RXJN\/g10RcV2uDLXbJqx+CWN91p+848B5qCV8DRKSim2YVz2b3q+ltzXkw0I6WbB3E7jj9EeJVUp7SFukp6GS4VWTVVrttxdx2eXnknxCoVKbxstDPs6bi6ks5Y+wREUDSEREAREQBERAERZ18u0dntr6gkGQjZiaT9py6ld2RGUlCLk8kcd+v8lDPHb7fEKivm4N4hnf2\/tXINL3KsHS3K9z9KeLIvsj4D0XXp2zOpYzcK8F9xqMukc7GWDqHhxW6puW7hEzRpOrxVfJcvklqWtuFgvEduuMr6mjqn4gncclpPI+Y3cuSqVNa6Y36GhlI96OoaQR3FUcbi+NrjxIBSWKUiVG8Zyp3wVreZ9IiKs0hERAEREAREQBERAEREBkaq\/Jqt\/NH6QXtYP5gof7hvwXjqr8mq380fpBe1g\/mCh\/uG\/BWfs8zN\/s\/+fyaKk617dS6nioGEPoqH6yV3EPO7cPHdx61oanu8lvpWUtJk1tWdiEN4jeBn1wP1LpsFpZZ7XHBgdM4bUrut3V3DgkeFbxGp1s+iWSxf4RpAADAGAF+oirNYREQBERAEREAREQBSswF+1k2AuDqW2jacOTn9Xn8CqK4VbaG3z1TuETC7hnJ5LG0ZRmGzmrkA6aseZHO5kcB8z4qyOCcjLW46kaemb8vkoURFWaiY1t9dBb6T+uqR8Mf6lTqYv+KnVdlpRvMbjLu48Qf9Cp1OXZSM1LGrUfgvp8hERQNIREQBERAEREAREQBERAZGqvyarfzR+kEtlZBQaVpKqpfsRx07ST4cAmqvyarfzR+kFNW2OfU\/slA7ajt1DE3pCPvvA4Z695Hdkq6KvDHmYKtRwr8Ku2sPU1NO0kt1r5NQ17MOeS2niLdzWjGHA+Y8yqhfLWtYwMY0Na0YAAwAF9KuUrs1Uqapxtrr4hERRLQiIgCIiAIiIAiIgJvW1Q5tqio2fbqpg3jyG\/44W\/SwNpaSGnZ9mJjWDuAwpu5fw\/XNBS\/cpGdK7PXx4eDVUqyWEUjLS4qs5+XoERc1wqhRW6oqj\/RRucO0gbvVV5mltJXZPWwi6a2rq0EOjo2dEwjfv4fJyqlP6LpTDYhO\/JkqZHSEniRwHwz4qgU6natyM+zJ9HvPN4+oREUDSEREAREQBERAEREARfjnBrS5xAAGSTyUnX3as1FVOtdl92mxiaqIIGOYB6vU9ylGLkVVaqprm3kuZy6mvFRdTUUNtBfS0zduolbwdjlnqz59wVFppsTdPUZiaGgxguwOLuZ815us1NbtN1dHTt+1A\/aeR7z3bJ3n8F86Pk6TTVMDxYXt\/wAxVkmnDAy0ozjXvN4temORtoiKk3hERAEREBy1lxo7f0ftU7IjKcMDjx4fiF1KNv8ASyX\/AFQLbGQ0U1M5xOfvEZHqWrW0lcn19nEcxzNSnon9ZAG4+XwKscLRuZYbQ5VXBrDTyzNxT+o7lUiopbVbZQKuod7xBwWN+Wd\/l3KgUvpzNzv9yvDslgd0MJO\/d2eAHmuQ1b0JV23amtftqd2mrnUV1NNT1o\/hdI\/o5TjGeOD37j\/wraUu0C3a\/LWsAZXwE9QB4582+qo6qYU1JNOcYiY55z2DKTWOGooTe41J4xbX98ic04fbdR3e48g4RMJ5j9jQqhTeh4dmyPnOS+eZznOPE4wPxVIlTtHNlXVJvXH1CnNZ1bm2+K3QEmetkDA0Hfs5+ZwFRqWog69axqKx2HUtvHRxHltdnX94+SQzvyG0tuKgs5Ye\/wBCjpKdtJRw0zN7YWBgPXgYXsiKBoSsrIIiIdCIiAIiIAiLirbvb7c0uqquOMgZ2NrLj3Ab11JvI5KSirtnauK5XWjtMHS1cobn7LRvc7uCxH6iuV3L4bDQvDeHtU2AB3A7vj3L3tulIoag1lznNdVO3nb+wD3c\/Hd2Ke6l2jM60p4Ulfv0+ThDbrq94MgdQ2sHIx9qX8fh3qnoqGnt1K2mpYxHG3q4k9Z6yvcAAYAwAv1RlK+GhOnRUHvN3lzPlzQ9haeBGFN6Ic6Ohq6N5yaeoI7t34gqmUxp3NNqW9UeNzniUdm8\/wD6ClHstEauFWD8V9Pgp0RFWaQiIgCIuO7VPsdpqqgEgxxOLcdeN3qupXOSaim2YelT7bd7tczjD5ejZg53fs2V+Ws\/RutK+hwRHVt6VnHjx+bvJdmjab2bTsLiMGZzpD54HoAuXVDPYrnbLw3+ikEUm7i0nrO4btrzV17yaPPUXGjCpqnd+ef3Nm9VXsVmq6jdlsR2cnG87h6lcWkaUUunafdh02ZHeJ3egC5dYzPnpqW105Dpa2UDAP3R8s48lQwwsp4I4IxhkbQ1o6gBgKDwh4mhcVdv+Kt5sm9VkUdztFyzstjm2JHf2cg9\/DaWnqaXodOVr9rGY9nPeQPmvq\/243O1SRMJE0f1kWP\/AGAOB45I8VgXO9C66Kmc8htQ17I5mgfe2gc9xxlSjxW7imq+jdTvV16Ym\/pyHoNPULMAZiDt39rf81prltjOjtVIzGNmBgx1e6F1KqWbNlNWgl3GTqS6fRdnlkY\/ZmkGxFv35PPw4r80zavomzxxvbieX6yXrBPLwG7zWVETqjUoma7attvIwMnEjt5B8\/QdqrFOXDHdKKXW1HV0WC\/LCIirNQREQBERAEREBjXix1F1q2OFynp6cM2XRRk+8cnfxxwOF50mj7RSnafE+pfzdM7PoNy3UUt+VrXKXQpuW81dnyxjI2BkbQxrRgNaMAL6RFEuCIiAKYpvd\/dEq8btumGe3cz8AqdTFTml\/dBpXAnZqqch3k7d\/lCnDXwM20fsf\/SKdERQNIREQBTutavorM2kYcy1cgY1o4kA5PrgeKolKNxeddOLgHQW1m7f98f7j\/lU4Z35GbaW9zcWcsPf6FJRUzaOhgpmgARRtbu7Aua+W0Xa0zUvB5w5h6nDf68PFaCKKbTuXOEXHceRLWO0V010bcLtEGupYmwwDa+1gY2seZ5byqlEXZScmRpUlTjZBQmsLPJQPlraVwbTVbgJoxyfxB8d581dqb11\/MDf79vwKlSbUkU7ZBSotvQ07XdbfVW6OSCqZsMYA7bOyW4AznKx7leJ73U\/RNjflrh9fVDg1vYf+di65NJWirLJ3QOY4tbkMeQDu4Y5eHUtaioKW3QCGkgbEwchxPeTvKXisUNytNbsrJd2vsedrtlPaaJtLTjcN7nHi53MnyXYiKDd8TVGKirLIIiLh0Ii85ZooG7c0rI29b3AD1QZHoiyKnVVlpQ7NayRw+7EC\/PcRu9VnO1bV1p2bPaJpxnHSSDDePZ+KmoSehRLaaUcL3fdj9ioRS4otWXDBqK6GhYRvbFvcPLu6+a2rTb5LbRezy1ktW7aLukk49w47vxXHFLU7CrKb7LS7\/Y7kRFEuCIiAIi8amqgo4TNUStjjHN3w7UONpK7PZS+qCKa+WatJw1suw49QyPxK+n6zZO\/o7Zbamsf2DA9MlZOo7jdLjbtmos0tNHFIJBMc+7y6u1XQhJSxMG0bRTlTai7vweheIpaHW0bI4n1tuqYWPAxKPead3Hktmkv1qrR9RXRE4zsudsnyKg4SWaNMNopTykaCL8BBGQcgrlr7nR2yEy1c7Yxjc3PvO7hzUUrlzkoq7Pm73KO1W2WrfvLRhjcfadyCz9JW59FazUTtxUVbuleeeOQPVxJ8VnRx1Or7jHPPA6nttK7LGPbvlO7IPl4KuU3wrd1M1PranSaLL8sIiKs1BEXLU3Kho8+01cMRHJzwD5Ja5xtJXZ1Kc1yM2AccCZvAdhX3Ua1s8J2YnTVDuAEcfPxwsW\/32rutoewWeeGnBa4zvzgb93LHrzV0ISUk2jDtO0UpUpRTu7aYltAQaeMg5BYPgvRSNENW11DA6KampYXRt2HEAktxuPA8u5ew0pX1Q\/6jfaiQHixmcep6+zkouCWbLY15yS3YPzwN+ouNFSfyirhi7HyAFZs+sLJBnFUZSOUbCfXgvODRVlhxtxSzY\/rJD8sLRhstrpwBFb6dpHA9GCfM704Ed\/yJcl6v2MZ2t6eXIordV1LuQ2QM+WV+fSmqq3Hs1ojpmnnMd48yPgqdrQ0YaAB1Bfqb0Vkh0NR9qb8kl7kv9C6lrc+23oQtJ+zAN+PABekOiLftdJV1FRVSHiXPwD8\/VUiLnSS0C2WlnJX8XczqfT9opf4q3wd727Z8zlaAAAwBgBfqKLbeZfGEY9lWCIi4SCIiAIvOeeGmiMs8rIo24y95wBk44r5hq6aox0FRFLkZGw8HPkljl1ex81tbBb6SSpqHbMbBk9Z7B2qZtlrk1NIbteA7oScU9OCQ3Z6+74r0vwde9Q0tkYT0EP11Rjqx19xx\/8ASqWtDWhrQAAMADkrL7iwzZlt09R37Mfq\/g\/GMZGwMjaGNaMBrRgBcV9hNRY62IN2iYXEDtAyPgu9fL3Ma33y0A7veUE7O5plFOLiY2lJI6vTNMx7WvDMsc04I3OOPTC+6zStnrXFzqQRPP3oTsenD0WTpSupLcLjR1FXFFHDUHYMkgGRvG7r+zyWvNqqyQca5jj1MaXfAKySkpPdMdOVGVGPSW8+4z\/3i0Q3MrqtreQDh+C6KXRlpgk6SVslS\/OfrXZHkOPjlc51vTSuLKK31dS4cg0D4ZX4a7Vlw3U1BFQsI+3KQSPP8FLrNXYgv0t+CN\/BX+Cna0NaGtAAAwAOS4aq+Wuiz7RXQtI4tDtp3kN6xjpW4V2+63qWQHjHFub+HVyXdS6Rs1Lv9l6Z3XK4u9OHooWgs2X79eXZjbxf4RyTa3odvo6KmqKt54BrcA\/P0Xx9Kaor8CktLKRp3bc53t7d+OsclSRQxQN2IYmRt6mNAHovRN6KyR3oqsu1P0Vvcl\/3u3uv33O9ua0n3ooAcY6uQ5nkV002i7PBvljkqXczLIflhb6LnSSOrZqSd2rvvxPCnoaSkGKamhh\/MYB8Fn6rbt6arBjPutPk4Fa6z79H0thrmAZPQOOO4Z+S5F8SZOrFdFJLkxYXbdgoTnP1DB5DC0Fj6UlEum6Q53tDmnwcVsJLtMUXenF9yCIiiWhERAEREAREQBERAEREB41dJBXUr6apj6SKTG03JGcHPLuWJNoizSZ2Gzw5P3JM488qhRSUmsmVTo06naVyAsmnhca24tbXTwtppeja5p95wyePkFsHRmf\/AC9WPH9aaQ\/l15\/xPzcqdWTnJSMez7NSlTTa5\/cmP3lscNl91q3N5jPFfrdCWzO1JUVcjjxJe38FTIodJLmaP0lH+JD2uwW86prrdUQ9LFBGHxhzyD93qIzxVPBYLRT\/AMXb4M9bmbR9Vk0P\/cS5f4YfCNU6lOTwxK9mpU7PhWDf3PljGRt2WNDR1AYX0iKo2hERAEREAREQBfEsYlifG4Ah7S05GeK+0QE1oiVwt1TRPPv005bjqB\/WCqVS1GfozXdVTkbMdfH0je13HPmHKpVlTO\/MzbK+r3XpgERFWaQiIgCIiAIiIAiIgCIiAIiICW0472PUl3t8gIe9\/StJ5jP+4FVKmdSNdarjS36Bm0GO6OoaAPead2c+nkqKCeOpgjnidtRyNDmnrBVk8bSMuz8O9Tej+jPREXPXVkVvoZquY+5E3JxxPUPE7lWaW0ldk\/Yh7TrC81fHo8Q58cf6FUKc0XTSMtktZK3ZdVyl4HZ+3Ko1Op2rGfZV1Sb1u\/UIiKBpCIiAIiIAiIgCIiAl9Xh1HU267s408uy7HMHfg9mA7zVMx7ZI2yMcHNcAWkcwuS8UIuNpqKXdl7PdJGcOG8eq4NIVprLBEx5PSUxMLs9nD0IHgrHjDwMseCu1pJX80biIirNQREQBERAEREAREQBERAEREB41VNFWUslNO3ajlaWuCmLTXv03Wust0eRTk5p6h25oB5d3wKrVy11upLlE2KrhbK1p2m55FTjJLB5FFWm5NThhJf2x7mWNsXSukaI8Z2yd2OvKlqqofqy5NoqVr\/o2nfmeUOLRJ2D5ee5ew0Nb8NY6qq3RtJIYXjd6deVQUlJBQ07YKaJscbd+Gjmu3jHFZlbjVq8M1Za63+D0jjZFG2ONuyxgDWjqAX0iKs1hERAEREAREQBERAEREAUnCXae1e+JxxR3I5aSeD8\/iceIVYsvUNpF3tb4mD6+P34TnGHDlnt4KcGk7PJmevByipRzWK9vM1EWPpu7tudvbHK\/+GQDYmYeORuz4\/FbCi007MthNTipLUIiLhMIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgMWewRi\/wAN0pqh1O4uxNGxu6Tdn1xv4raRF1tvMhCEYt7qzCIi4TCIiAIiIAiIgP\/Z",
    "razonSocial": "SOCIEDAD EDUCACIONAL SAN MARCOS SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOHAN",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIGURACIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:35",
    "ubicacionGPS": "LatLng(lat: -23.5310895, lng: -70.3945637)",
    "horaLlegada": "10:33",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 11:35:10
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-jZG6ReChDR1UuLj8fx0J6cU8_.Ufl1IlR9R2AXh4liNX7XaPI3b
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76464003",
    "serieinterna": "KY2376",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "1272356",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se configura 1 PC\n•Pendiette configuración de 2 mac",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12699",
    "observacion": "•Pendiente\n├RGOM2356×2\n├RKIT2442×1\n├RGOM2758×1\n├RGOM2759×1\n└RGOM2576×1",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADFAPwDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABJEAABAwMBBAcEBQUPBQEAAAABAAIDBAURBhIhMUETUWFxgZGhFCKxwRUjMkLRNnKy4fEHFiQzNDVDU2JzdKLC4vAlN0VSgtL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAzEQACAQIDBAkDBAMBAAAAAAAAAQIDESExQQQSIlETIzJhcYGR0eGhscEUQlLwJERigv\/aAAwDAQACEQMRAD8A\/syIiAIiIAiIgC8KysgoKZ1RUyBkbeZ5nqC91JXIP1Hqhtqy4UNENubG7ad\/wgeZUoxu8SmtUcI8ObwR6Mn1Bfy6einZQUR3Rlzfed28M\/Ad\/FHW3VlH9bT3OOrIBzG\/dnuyMeoVQ1oa0NaAABgAcl+qW\/yRX+mvjKTv4k7RanlZWx0V5ozRTSDDX4Ow49Xd257O1USwdYmnbYJHzNaZA4CEniHHq8MrVtwlbbaYTO2pOibtHtwuSSaujtKUlN05O9sb+50oiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgPOaUQQSTO4RtLj4DKn9ExOdbaiukO1LVzlzndeP1krS1FL0On653XCW+e75ry0tCIdN0bR95hcd3WSfmrFhBmaWO0RXJN\/g10RcV2uDLXbJqx+CWN91p+848B5qCV8DRKSim2YVz2b3q+ltzXkw0I6WbB3E7jj9EeJVUp7SFukp6GS4VWTVVrttxdx2eXnknxCoVKbxstDPs6bi6ks5Y+wREUDSEREAREQBERAERZ18u0dntr6gkGQjZiaT9py6ld2RGUlCLk8kcd+v8lDPHb7fEKivm4N4hnf2\/tXINL3KsHS3K9z9KeLIvsj4D0XXp2zOpYzcK8F9xqMukc7GWDqHhxW6puW7hEzRpOrxVfJcvklqWtuFgvEduuMr6mjqn4gncclpPI+Y3cuSqVNa6Y36GhlI96OoaQR3FUcbi+NrjxIBSWKUiVG8Zyp3wVreZ9IiKs0hERAEREAREQBERAEREBkaq\/Jqt\/NH6QXtYP5gof7hvwXjqr8mq380fpBe1g\/mCh\/uG\/BWfs8zN\/s\/+fyaKk617dS6nioGEPoqH6yV3EPO7cPHdx61oanu8lvpWUtJk1tWdiEN4jeBn1wP1LpsFpZZ7XHBgdM4bUrut3V3DgkeFbxGp1s+iWSxf4RpAADAGAF+oirNYREQBERAEREAREQBSswF+1k2AuDqW2jacOTn9Xn8CqK4VbaG3z1TuETC7hnJ5LG0ZRmGzmrkA6aseZHO5kcB8z4qyOCcjLW46kaemb8vkoURFWaiY1t9dBb6T+uqR8Mf6lTqYv+KnVdlpRvMbjLu48Qf9Cp1OXZSM1LGrUfgvp8hERQNIREQBERAEREAREQBERAZGqvyarfzR+kEtlZBQaVpKqpfsRx07ST4cAmqvyarfzR+kFNW2OfU\/slA7ajt1DE3pCPvvA4Z695Hdkq6KvDHmYKtRwr8Ku2sPU1NO0kt1r5NQ17MOeS2niLdzWjGHA+Y8yqhfLWtYwMY0Na0YAAwAF9KuUrs1Uqapxtrr4hERRLQiIgCIiAIiIAiIgJvW1Q5tqio2fbqpg3jyG\/44W\/SwNpaSGnZ9mJjWDuAwpu5fw\/XNBS\/cpGdK7PXx4eDVUqyWEUjLS4qs5+XoERc1wqhRW6oqj\/RRucO0gbvVV5mltJXZPWwi6a2rq0EOjo2dEwjfv4fJyqlP6LpTDYhO\/JkqZHSEniRwHwz4qgU6natyM+zJ9HvPN4+oREUDSEREAREQBERAEREARfjnBrS5xAAGSTyUnX3as1FVOtdl92mxiaqIIGOYB6vU9ylGLkVVaqprm3kuZy6mvFRdTUUNtBfS0zduolbwdjlnqz59wVFppsTdPUZiaGgxguwOLuZ815us1NbtN1dHTt+1A\/aeR7z3bJ3n8F86Pk6TTVMDxYXt\/wAxVkmnDAy0ozjXvN4temORtoiKk3hERAEREBy1lxo7f0ftU7IjKcMDjx4fiF1KNv8ASyX\/AFQLbGQ0U1M5xOfvEZHqWrW0lcn19nEcxzNSnon9ZAG4+XwKscLRuZYbQ5VXBrDTyzNxT+o7lUiopbVbZQKuod7xBwWN+Wd\/l3KgUvpzNzv9yvDslgd0MJO\/d2eAHmuQ1b0JV23amtftqd2mrnUV1NNT1o\/hdI\/o5TjGeOD37j\/wraUu0C3a\/LWsAZXwE9QB4582+qo6qYU1JNOcYiY55z2DKTWOGooTe41J4xbX98ic04fbdR3e48g4RMJ5j9jQqhTeh4dmyPnOS+eZznOPE4wPxVIlTtHNlXVJvXH1CnNZ1bm2+K3QEmetkDA0Hfs5+ZwFRqWog69axqKx2HUtvHRxHltdnX94+SQzvyG0tuKgs5Ye\/wBCjpKdtJRw0zN7YWBgPXgYXsiKBoSsrIIiIdCIiAIiIAiLirbvb7c0uqquOMgZ2NrLj3Ab11JvI5KSirtnauK5XWjtMHS1cobn7LRvc7uCxH6iuV3L4bDQvDeHtU2AB3A7vj3L3tulIoag1lznNdVO3nb+wD3c\/Hd2Ke6l2jM60p4Ulfv0+ThDbrq94MgdQ2sHIx9qX8fh3qnoqGnt1K2mpYxHG3q4k9Z6yvcAAYAwAv1RlK+GhOnRUHvN3lzPlzQ9haeBGFN6Ic6Ohq6N5yaeoI7t34gqmUxp3NNqW9UeNzniUdm8\/wD6ClHstEauFWD8V9Pgp0RFWaQiIgCIuO7VPsdpqqgEgxxOLcdeN3qupXOSaim2YelT7bd7tczjD5ejZg53fs2V+Ws\/RutK+hwRHVt6VnHjx+bvJdmjab2bTsLiMGZzpD54HoAuXVDPYrnbLw3+ikEUm7i0nrO4btrzV17yaPPUXGjCpqnd+ef3Nm9VXsVmq6jdlsR2cnG87h6lcWkaUUunafdh02ZHeJ3egC5dYzPnpqW105Dpa2UDAP3R8s48lQwwsp4I4IxhkbQ1o6gBgKDwh4mhcVdv+Kt5sm9VkUdztFyzstjm2JHf2cg9\/DaWnqaXodOVr9rGY9nPeQPmvq\/243O1SRMJE0f1kWP\/AGAOB45I8VgXO9C66Kmc8htQ17I5mgfe2gc9xxlSjxW7imq+jdTvV16Ym\/pyHoNPULMAZiDt39rf81prltjOjtVIzGNmBgx1e6F1KqWbNlNWgl3GTqS6fRdnlkY\/ZmkGxFv35PPw4r80zavomzxxvbieX6yXrBPLwG7zWVETqjUoma7attvIwMnEjt5B8\/QdqrFOXDHdKKXW1HV0WC\/LCIirNQREQBERAEREBjXix1F1q2OFynp6cM2XRRk+8cnfxxwOF50mj7RSnafE+pfzdM7PoNy3UUt+VrXKXQpuW81dnyxjI2BkbQxrRgNaMAL6RFEuCIiAKYpvd\/dEq8btumGe3cz8AqdTFTml\/dBpXAnZqqch3k7d\/lCnDXwM20fsf\/SKdERQNIREQBTutavorM2kYcy1cgY1o4kA5PrgeKolKNxeddOLgHQW1m7f98f7j\/lU4Z35GbaW9zcWcsPf6FJRUzaOhgpmgARRtbu7Aua+W0Xa0zUvB5w5h6nDf68PFaCKKbTuXOEXHceRLWO0V010bcLtEGupYmwwDa+1gY2seZ5byqlEXZScmRpUlTjZBQmsLPJQPlraVwbTVbgJoxyfxB8d581dqb11\/MDf79vwKlSbUkU7ZBSotvQ07XdbfVW6OSCqZsMYA7bOyW4AznKx7leJ73U\/RNjflrh9fVDg1vYf+di65NJWirLJ3QOY4tbkMeQDu4Y5eHUtaioKW3QCGkgbEwchxPeTvKXisUNytNbsrJd2vsedrtlPaaJtLTjcN7nHi53MnyXYiKDd8TVGKirLIIiLh0Ii85ZooG7c0rI29b3AD1QZHoiyKnVVlpQ7NayRw+7EC\/PcRu9VnO1bV1p2bPaJpxnHSSDDePZ+KmoSehRLaaUcL3fdj9ioRS4otWXDBqK6GhYRvbFvcPLu6+a2rTb5LbRezy1ktW7aLukk49w47vxXHFLU7CrKb7LS7\/Y7kRFEuCIiAIi8amqgo4TNUStjjHN3w7UONpK7PZS+qCKa+WatJw1suw49QyPxK+n6zZO\/o7Zbamsf2DA9MlZOo7jdLjbtmos0tNHFIJBMc+7y6u1XQhJSxMG0bRTlTai7vweheIpaHW0bI4n1tuqYWPAxKPead3Hktmkv1qrR9RXRE4zsudsnyKg4SWaNMNopTykaCL8BBGQcgrlr7nR2yEy1c7Yxjc3PvO7hzUUrlzkoq7Pm73KO1W2WrfvLRhjcfadyCz9JW59FazUTtxUVbuleeeOQPVxJ8VnRx1Or7jHPPA6nttK7LGPbvlO7IPl4KuU3wrd1M1PranSaLL8sIiKs1BEXLU3Kho8+01cMRHJzwD5Ja5xtJXZ1Kc1yM2AccCZvAdhX3Ua1s8J2YnTVDuAEcfPxwsW\/32rutoewWeeGnBa4zvzgb93LHrzV0ISUk2jDtO0UpUpRTu7aYltAQaeMg5BYPgvRSNENW11DA6KampYXRt2HEAktxuPA8u5ew0pX1Q\/6jfaiQHixmcep6+zkouCWbLY15yS3YPzwN+ouNFSfyirhi7HyAFZs+sLJBnFUZSOUbCfXgvODRVlhxtxSzY\/rJD8sLRhstrpwBFb6dpHA9GCfM704Ed\/yJcl6v2MZ2t6eXIordV1LuQ2QM+WV+fSmqq3Hs1ojpmnnMd48yPgqdrQ0YaAB1Bfqb0Vkh0NR9qb8kl7kv9C6lrc+23oQtJ+zAN+PABekOiLftdJV1FRVSHiXPwD8\/VUiLnSS0C2WlnJX8XczqfT9opf4q3wd727Z8zlaAAAwBgBfqKLbeZfGEY9lWCIi4SCIiAIvOeeGmiMs8rIo24y95wBk44r5hq6aox0FRFLkZGw8HPkljl1ex81tbBb6SSpqHbMbBk9Z7B2qZtlrk1NIbteA7oScU9OCQ3Z6+74r0vwde9Q0tkYT0EP11Rjqx19xx\/8ASqWtDWhrQAAMADkrL7iwzZlt09R37Mfq\/g\/GMZGwMjaGNaMBrRgBcV9hNRY62IN2iYXEDtAyPgu9fL3Ma33y0A7veUE7O5plFOLiY2lJI6vTNMx7WvDMsc04I3OOPTC+6zStnrXFzqQRPP3oTsenD0WTpSupLcLjR1FXFFHDUHYMkgGRvG7r+zyWvNqqyQca5jj1MaXfAKySkpPdMdOVGVGPSW8+4z\/3i0Q3MrqtreQDh+C6KXRlpgk6SVslS\/OfrXZHkOPjlc51vTSuLKK31dS4cg0D4ZX4a7Vlw3U1BFQsI+3KQSPP8FLrNXYgv0t+CN\/BX+Cna0NaGtAAAwAOS4aq+Wuiz7RXQtI4tDtp3kN6xjpW4V2+63qWQHjHFub+HVyXdS6Rs1Lv9l6Z3XK4u9OHooWgs2X79eXZjbxf4RyTa3odvo6KmqKt54BrcA\/P0Xx9Kaor8CktLKRp3bc53t7d+OsclSRQxQN2IYmRt6mNAHovRN6KyR3oqsu1P0Vvcl\/3u3uv33O9ua0n3ooAcY6uQ5nkV002i7PBvljkqXczLIflhb6LnSSOrZqSd2rvvxPCnoaSkGKamhh\/MYB8Fn6rbt6arBjPutPk4Fa6z79H0thrmAZPQOOO4Z+S5F8SZOrFdFJLkxYXbdgoTnP1DB5DC0Fj6UlEum6Q53tDmnwcVsJLtMUXenF9yCIiiWhERAEREAREQBERAEREB41dJBXUr6apj6SKTG03JGcHPLuWJNoizSZ2Gzw5P3JM488qhRSUmsmVTo06naVyAsmnhca24tbXTwtppeja5p95wyePkFsHRmf\/AC9WPH9aaQ\/l15\/xPzcqdWTnJSMez7NSlTTa5\/cmP3lscNl91q3N5jPFfrdCWzO1JUVcjjxJe38FTIodJLmaP0lH+JD2uwW86prrdUQ9LFBGHxhzyD93qIzxVPBYLRT\/AMXb4M9bmbR9Vk0P\/cS5f4YfCNU6lOTwxK9mpU7PhWDf3PljGRt2WNDR1AYX0iKo2hERAEREAREQBfEsYlifG4Ah7S05GeK+0QE1oiVwt1TRPPv005bjqB\/WCqVS1GfozXdVTkbMdfH0je13HPmHKpVlTO\/MzbK+r3XpgERFWaQiIgCIiAIiIAiIgCIiAIiICW0472PUl3t8gIe9\/StJ5jP+4FVKmdSNdarjS36Bm0GO6OoaAPead2c+nkqKCeOpgjnidtRyNDmnrBVk8bSMuz8O9Tej+jPREXPXVkVvoZquY+5E3JxxPUPE7lWaW0ldk\/Yh7TrC81fHo8Q58cf6FUKc0XTSMtktZK3ZdVyl4HZ+3Ko1Op2rGfZV1Sb1u\/UIiKBpCIiAIiIAiIgCIiAl9Xh1HU267s408uy7HMHfg9mA7zVMx7ZI2yMcHNcAWkcwuS8UIuNpqKXdl7PdJGcOG8eq4NIVprLBEx5PSUxMLs9nD0IHgrHjDwMseCu1pJX80biIirNQREQBERAEREAREQBERAEREB41VNFWUslNO3ajlaWuCmLTXv03Wust0eRTk5p6h25oB5d3wKrVy11upLlE2KrhbK1p2m55FTjJLB5FFWm5NThhJf2x7mWNsXSukaI8Z2yd2OvKlqqofqy5NoqVr\/o2nfmeUOLRJ2D5ee5ew0Nb8NY6qq3RtJIYXjd6deVQUlJBQ07YKaJscbd+Gjmu3jHFZlbjVq8M1Za63+D0jjZFG2ONuyxgDWjqAX0iKs1hERAEREAREQBERAEREAUnCXae1e+JxxR3I5aSeD8\/iceIVYsvUNpF3tb4mD6+P34TnGHDlnt4KcGk7PJmevByipRzWK9vM1EWPpu7tudvbHK\/+GQDYmYeORuz4\/FbCi007MthNTipLUIiLhMIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgMWewRi\/wAN0pqh1O4uxNGxu6Tdn1xv4raRF1tvMhCEYt7qzCIi4TCIiAIiIAiIgP\/Z",
    "razonSocial": "SOCIEDAD EDUCACIONAL SAN MARCOS SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOHAN",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIGURACIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:35",
    "ubicacionGPS": "LatLng(lat: -23.5310895, lng: -70.3945637)",
    "horaLlegada": "10:33",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 11:35:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76464003

[25/05/2026 11:35: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('76464003', 'KY2376', 1, 24456550, 1272356, NOW(), 
				'08:00', '10:33', '11:35', 15, '•Se configura 1 PC
•Pendiette configuración de 2 mac', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779723310.png', '•Pendiente
├RGOM2356×2
├RKIT2442×1
├RGOM2758×1
├RGOM2759×1
└RGOM2576×1', null, 'REPROGRAMADO','LatLng(lat: -23.5310895, lng: -70.3945637)' )
				
[25/05/2026 11:35:10] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200408

25/05/2026 11:35:10 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200408'                    
				WHERE idllamado = 12699			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


25/05/2026 11:35:11 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 12699			
				
25/05/2026 11:35:11 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('76464003', 'KY2376', 1, 'APP', 'sin otroTipo definido', -2, 'CONFIGURACIÓN', 'Sin coderror', '1', 'SI', now(), 'JOHAN', '984818954', 'tecnico@dsprint.cl', 12699)
				
25/05/2026 11:35:11 Insertado nuevo llamado creado idllamado: 12706APP
25/05/2026 11:35:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 11: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 = 12699
                

25/05/2026 11: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 = 12699
                

25/05/2026 11: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 = 12699
                

25/05/2026 11:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12699
                

25/05/2026 11: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 = 12699
                

25/05/2026 11: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 = 12699
                

25/05/2026 11:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

[25/05/2026 11: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;
                

[25/05/2026 11: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;
                

25/05/2026 11:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:35: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;
                

25/05/2026 11:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:35: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;
                

25/05/2026 11:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:35: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;
                

25/05/2026 11:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:35: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;
                

[25/05/2026 11:35: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;
                

25/05/2026 11:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:35:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:35:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:35:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:35:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

[25/05/2026 11:35: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;
                

25/05/2026 11:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

[25/05/2026 11:35: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;
                

25/05/2026 11:35:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12699
            GROUP BY l.idllamado;
            

25/05/2026 11:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12699
                

25/05/2026 11:35:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:35:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:35:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:35: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;
                

25/05/2026 11:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:35: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;
                

25/05/2026 11:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:35: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;
                

25/05/2026 11:35:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:35: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;
                

25/05/2026 11:35:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:35: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;
                

25/05/2026 11:35:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:35: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;
                

[25/05/2026 11:35: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;
                

25/05/2026 11:35:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11:35:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/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 = 12675
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/2026 11:35:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:35:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:36:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:36:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:36:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:36:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12675
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/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 = 12675
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/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 = 12675
                

25/05/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 = 12675
                

25/05/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 = 12675
                
[25/05/2026 11:36:38] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 11:36:38] 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;
                

[25/05/2026 11:36:40] 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;
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11:36:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12409
            GROUP BY l.idllamado;
            

[25/05/2026 11:36:45] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:36:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12409
            GROUP BY l.idllamado;
            

[25/05/2026 11:36:51] 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;
                

25/05/2026 11:36:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12409
            GROUP BY l.idllamado;
            

25/05/2026 11:36:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12409
                

25/05/2026 11:36:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12409
                

25/05/2026 11:36:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12409
                

25/05/2026 11:36:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12409
            GROUP BY l.idllamado;
            

25/05/2026 11:36:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12409
                

25/05/2026 11:36:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12409
                

25/05/2026 11:36:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12409
            GROUP BY l.idllamado;
            

25/05/2026 11:36:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12409
                

25/05/2026 11:36:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12409
                

25/05/2026 11:36:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12409
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12409
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11:37:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12409
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11:37:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12409
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12409
                

25/05/2026 11:37:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12409
                

25/05/2026 11:37:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12409
                

25/05/2026 11:37:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11:37:08 - logentry: =========================================
FECHA: 25/05/2026 11:37:08
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-CPhyK69Eb9_FtqA-mieQqximYmsShs.Yd3TT.gkrm+XqHqfnOfg
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3003",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "12134",
    "contadorColor": "22789",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12675",
    "observacion": "entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD2ALgDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABDEAABAwMCAgcGAgQNBQAAAAABAAIDBAURBiESMRNBUWFxgbEUIjKRocFS0RUjM0IHFiQ0U3SCkrLC4eLwJUOi0vH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQIEAgkEAgMAAAAAAAAAAQIDERIhMVEEQRMiMmFxgaGx8BSRwdEjMyRS8f\/aAAwDAQACEQMRAD8A\/syIiAIiIAiIgCIiA8ayf2WinqP6KNz\/AJDKz9NXGqutpbVVYjDy8tHA0jIG2Tvzzlcmtq32WxGFp96peGeXM+mPNaNhpTRWOkgc3hc2MFw7Cdz9Sp2tC5mxuXEYVol6s0ERFA0hERAEREAREQBERAEREAREQBERAEREAREQBERASeqHR1+oLVay4cPHxyDnsSNvkD81WKGs1R+l9dy1e72Rh5ZvkBoHCPX6q5VlRWsjHwssbnU3fsERFWbAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAsrUteLdYqiUOAkeOjjz1k7emT5LVUlqGVtx1HS25zQ+no2GoqBnngZwfID+8pwV5GfiJuNN21eS8zm\/g\/pz0tbOR8IawHt5k+gVspvQ8RFlknfu+edzi7t5D1yqRdqu82Q4OOGhEIiKs1hERAEREAREQBERAEREAREQBERAEREARF+JZY4InSzPbHGwZc5xwAEGh51lVHRUctVKfciaXFRcUjYLDcrxWPa2rubXRwtOOIsOxwP+cgvW\/wB3Oo5YrRaGulBdxPeRhpx474HavC7aYjtNgkqqqodUVfuMbueFm42HbsMb\/JaIRUVnqzyq9WVSTcFeMU8+V\/ydFm1KaW009BQWuorJY2njI5BxOeoHt7l2iq1jVfBRUtK1w2LiMjv5n0W7ao+htNHHjHDAwf8AiF1qDmr5I006E8CUpvyyJj9Gatly6W8wRnqDG\/7QnsusoNxX0lQOoFoH+Ueqp0Ucb2RP6Zf7P7slzqS62xxbebS7gBx01Pu38vqFq0GobXcnNZBVNEjjgRv91x8M8\/JaaxrlpW1XFpPQCnlO\/SQjhOe8ciu3i9VY5grQ7LxeP7NlFIk6i01u936ToG8z++0eo+oW\/arzRXiHpKWT3gMvjds5viPuuODWa0J068ZPC1Z7P5md6IigXhERAERZN61DS2hnB+2qnbMgYdznlnsC6k27IhOcYLFJ5GsimrVabjX3GO83iV8b2EmCmbsGDv7PDn2ouyVsjlObmrtWKVERRLAiLzmmjp4XzTPDI2DLnOOwCDQ862tp7fSvqamQMjYNz29w71G1k9TfI3Xa5B0FpgJ6OBrsOmOdh59vjhdNLHNq24GvrQ6K105zFG44DyOefufJfY2\/xrvQa1rW2q3O4WtHKQ9WO448h4q+KUTzKs3WtbR6Lfvfcjq0dZ3UdPJcJ4ujmqfhYRjgZnO3jt8gv1rt\/BYGt\/HO1v0J+yo2tDWhrQAAMADqUzrf36Shh\/HUjY8uRH3UYvFUuy6rTVLhnCOxSQs6KFkf4GgfJftEVRtCIiAIiIApu9abw43Kz5p62P3uFmwf27dvqqRFKMnF5FdSlGpG0jJ0\/e2Xik9\/DKqL3Zo+WD2gdi1lL6io5rVWt1Dbhh7NqmMcnt7T9\/I9SoKGthuFHHVQO4mSDPgesHwXZJdpaFdGcrunPVeq3OhF+JZY4InSzPbHGwZc5xwAFKVNfW6qqX0NqeYKBhxNUkEF\/cBz8uvrwuRjclVqqnlq3ojpumpJJ6g2yxM9oqnbOlG7Y+8Hr8eXiuqzabioHmrrH+11zjxGZ+\/Ce7Pqu612qktFKIKWPH43n4nntJXauuVlaJCFFt46ub25L5uERFA0hERAFL6hlnvF1isFKSGbPq3DGzdiPl64VFWVLKKjlqZDhkTC4r+eWipudxqaqOiB9qrXfr59wImc9uz\/AEGFbTjrIw8XVStT39tvM3LvN7V0GmLNgt4Q2eQbiNo6ifLf5dapLfQw22hipIGgNjaATjHEesnvK5bJYqay03BEOOZw\/WSkbuP2HctNRlLki2jTaeOer9FsFMav3rLM07g1O47d2qnUxq7+fWb+s\/dqU+0OL\/pfl7op0RFA0hEXxzg1pc4gADJJ6kB9ReFJWU1dD01LM2WPOOJp617ocTTV0EWDpa8VV5gqZakNAZIGswPPHouvUNxfa7NNURkiXZsbgAcOPI7qTi1LCVKtF0+k5Gi5rXsLHtDmuGCCMghSNprGaYudwttbJwUrQZ4Sesdg7SR\/hK1bTczTaWhuFznyeAkkgAkZPCBjmcYUrUyz3W+UNyuNNw0dVMIoo3fgBHmfiznxVkI6p6GTiKytCce1+HuazGV+sZg+YPpLSx2Wt5Ol7+\/0Cqaalgo6dsFNE2KJnJrV6taGtDWgAAYAHUvqrlK+XI10qKh1m7t8wiIolwREQBeNVV09FA6eplbFG3m5xWVeLzXUlSKO3W6SoqHAODi08AB8PuQuODTVZcqhtXqCqMxG7aeM4a3uOPt81NRWrZnnWd8NNXfojG1BqKtu0PRUkD4qGSTga\/GDMez\/AEVnarXT2mhZTwRhpwONw5vd1klYeqYo4KiyQwsEcbakAMaMAbt6lUqU31VYpoQfTTc3dq3xBERVG4KY1d\/PrN\/Wfu1U6mNYksmtMmdm1Q93t5fkp0+0ZuL\/AKX5e6KdERQNJj6ivwsUELxCJnyvxwF3D7o5n0+a7Lg4us1U4tLSad5LT1e6VD36sN01TGI8ugilbAwn4SQd\/qfRWt8k6OxVzs4\/k7wN8cwQrXG2EwwrOo6j5LQ4NGADTcGBze\/P94rXrZfZ6Gomzjo4nOz4DKwtCy9JYXMJz0c7m47BgH7rt1TUil07VuyQZG9GMdfFt6ZXJK9SxOlNR4ZS2Rm6AkabPURg+82oLiO4tbj0K8df1bRS01GHjic\/pHN68AED1K8KW33HTVLDdaUNlifAHVUL34APd\/w9axquG43xtXfJIgIYyPDGwwPAc1copzxXyME6ko8OqNut+Nbm3ZbdPqH2eetaWWykYGQQ5\/aFu2T28tz5dq7tcQf9EhljGOgmaRgbAYI9cLbtc9PU2ynmpQ1sLmDha0YDeojyOyyNcSBlg6MuwZZmtAzz5n7KtSbmjVOlGHDSd7trX56G\/DIJoWSt5PaHDzX7XjSxmKkhjIwWRtbjswF7Kk3rTMIiIdCIiAIiICY1niI2yrd8ENUOL6H\/AClU6wNaQCbTkr+uF7Xj549HLWt1R7XbaaoPOWJrj4kbqb7CM0Mq81uk\/wAHSiIoGkKY13ltrpZeYZUjb+yfyVOp3XEfHp4u\/o5Wu9R91On2kZuKV6EvAolmaguTbZaJpuLErxwRDOCXHYfLn5Lto5BNRQSgYD42ux4hS9MP41akkqJPet9vOIh1Pdn6g4z4YCRWd3ojtao1FRjrLT9+RmyW8W+h0+CzhlmqOkfkYO5bgfLCp9WziDTlVtkyAMHmR9srh1j7lRaZiPcZU+8ezcH7FfNVk11ytloaf2snSSb\/ALvL04lZ2nFsxtKlGpCPcvurHLpCSe2XGS01LcdPG2eM9+Bn6f4V+dUXGCrvcFvllDaSkIlqDjOT2Y6zjbxcc8l16yFDHDBK6eSKujP6hsJ949ngM9a49PaQdKRXXdjtzxNgdzPXl35fNSTj22QlGov8aGff3bM9o4blq+ds1S11LaWuy2PODL+fjy7FVMpoI6YUzImthDeDgA2x2L0a0NaGtAAAwAOpfVRKVz0aVFQu27t6slm2q+2SeVtmdDNSyPLxFKfhOTsOXVjr6l9itV4vNdDU3xscENO4ObBGdnHt2J7utVCKXSMr+lhpd225BERVmoIiIAiIgCIiA8ayljraOWll+CVhacdWVgaOqXxwVNoqHfr6OVwAP4c9Xnn5hUqmdQ2urpqsX20nhqIx+ujA\/aN7cde3Md3aFZHNYWZa6cZKrFaa+BTIs2132hutIJ45WMcB+sje4BzD+Xev1PfrTTNLpLjT7cw14cfkMlQwu9rFyqww4rqxoLJ1RH0um61u2zA7c45EH7Lgn1rTPf0Vto6itkPLhbgHbzP0XJUWq+3yCaW6zezQMaXR00Y+IgHGf9cnwVkYNNN5GarXjOLhT619tPuctNc7lfLfTWa2xmJjIWsqKg7YAGCPD6lV1rtkFpoWUlOPdG7nHm53WSsvRT2HTbMADgkeHnGN859CF+7pquhosRUpFdUvOGxwuyM95Houyu3hiiNDBCmqtSWbXxI+awo3VNkMzCOKleJcE4BA2Pqpanud1u+oXV9BTB9QGcDARlsQxjO\/Lr59q3I7DdL7KKi+VDoYM5bSRHl2Z6h9T4KlpaOnoYBBSwsijH7rR9e9dUlBW1IOjOvUx5xWXi7exj2bTYpJ\/b7hKaqvduXOOQw93\/PBbyIqW23dm6nTjTVohERcLAiIgCIiAIiIAiIgCIiALhu1uN0oxTipkp\/fDi6PmcdS7kXU7ZkZRUlZki\/QFL0LhHWS9Lj3SQOHzC4I7BcLS7DrJTXEcRxJxOJI7xnH0V6isVWXMyS4KjrFWfzclIdTVlEwRzaangYOuJpDc9w4cfVfuS\/Xq5AxWuzvYHD9rPyHbzwPqfBVCLmKOxPoalrObt4I\/n2ndPm6xzwVVZNHFTTYdTsOxPWe7l2Kzt9mt9rH8kpmsdv753dv3ndYumh7PqO90xOMy8bWnsyf\/YKoXakm3Yr4OlBQUrZ5+jCIiqNwREQBERAEREAREQBERAEREAREQBERAEREAREQEx\/Mf4QextdT+AyB\/s+qp1L6pJpL1Z7gNg2Xge7uyOvwLlUKyeiZmoZSnHvv9wiIqzSEREAREQBERAEREAREQBERAEREAREQBERAEREBP61pzNp90o+KCRrwRz7PutmiqBV0MFSP+7G1\/wAxleF6p\/arLWQgZLoXcIxncDI+oXFpGpNRpynycui4oz5Hb6YVmsDMurxD717f9NtERVmkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID4QCMEZBUzpVxobnc7M47RSGSPfctO3hy4fmqdSt5P6K1fb7jnhiqR0UpJ27N\/mD5KyGd0ZeI6rjU2fo8iqREVZqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALB1lSmo0\/JI0Evp3tlbjmOo\/Qk+S3l51ELammlgf8MrCx3gRhdi7O5XVhjg47nha6z2+101VtmWMF2Pxdf1yutTWi6h7KKotk\/uz0cpBaeoE\/nn5qlXZq0miNCeOmpBERRLgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgJa85sepaa8NGKepHQ1GByPb8gD\/AGSqgEEZByCuO722O7W2WkkwC4ZY4\/uu6is3SlyfPRut1VltXRHo3tcdy0bA+XL5dqsfWjfYyx\/jquPKWa8ef7N9ERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAsassAlvVPdaWc08rHDpgBtK3s8cbf\/ABEXU2tCupCM1mbKIi4WBERAEREAREQBERAEREB\/\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ESCUELA GRECIA D35",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28741\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28741\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28741\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28741\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:37",
    "ubicacionGPS": "LatLng(lat: -22.4602784, lng: -68.9336537)",
    "horaLlegada": "11:22",
    "horaDespacho": "11:34",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 11:37:08
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-CPhyK69Eb9_FtqA-mieQqximYmsShs.Yd3TT.gkrm+XqHqfnOfg
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3003",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "12134",
    "contadorColor": "22789",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12675",
    "observacion": "entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD2ALgDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABDEAABAwMCAgcGAgQNBQAAAAABAAIDBAURBiESMRNBUWFxgbEUIjKRocFS0RUjM0IHFiQ0U3SCkrLC4eLwJUOi0vH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQIEAgkEAgMAAAAAAAAAAQIDERIhMVEEQRMiMmFxgaGx8BSRwdEjMyRS8f\/aAAwDAQACEQMRAD8A\/syIiAIiIAiIgCIiA8ayf2WinqP6KNz\/AJDKz9NXGqutpbVVYjDy8tHA0jIG2Tvzzlcmtq32WxGFp96peGeXM+mPNaNhpTRWOkgc3hc2MFw7Cdz9Sp2tC5mxuXEYVol6s0ERFA0hERAEREAREQBERAEREAREQBERAEREAREQBERASeqHR1+oLVay4cPHxyDnsSNvkD81WKGs1R+l9dy1e72Rh5ZvkBoHCPX6q5VlRWsjHwssbnU3fsERFWbAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAsrUteLdYqiUOAkeOjjz1k7emT5LVUlqGVtx1HS25zQ+no2GoqBnngZwfID+8pwV5GfiJuNN21eS8zm\/g\/pz0tbOR8IawHt5k+gVspvQ8RFlknfu+edzi7t5D1yqRdqu82Q4OOGhEIiKs1hERAEREAREQBERAEREAREQBERAEREARF+JZY4InSzPbHGwZc5xwAEGh51lVHRUctVKfciaXFRcUjYLDcrxWPa2rubXRwtOOIsOxwP+cgvW\/wB3Oo5YrRaGulBdxPeRhpx474HavC7aYjtNgkqqqodUVfuMbueFm42HbsMb\/JaIRUVnqzyq9WVSTcFeMU8+V\/ydFm1KaW009BQWuorJY2njI5BxOeoHt7l2iq1jVfBRUtK1w2LiMjv5n0W7ao+htNHHjHDAwf8AiF1qDmr5I006E8CUpvyyJj9Gatly6W8wRnqDG\/7QnsusoNxX0lQOoFoH+Ueqp0Ucb2RP6Zf7P7slzqS62xxbebS7gBx01Pu38vqFq0GobXcnNZBVNEjjgRv91x8M8\/JaaxrlpW1XFpPQCnlO\/SQjhOe8ciu3i9VY5grQ7LxeP7NlFIk6i01u936ToG8z++0eo+oW\/arzRXiHpKWT3gMvjds5viPuuODWa0J068ZPC1Z7P5md6IigXhERAERZN61DS2hnB+2qnbMgYdznlnsC6k27IhOcYLFJ5GsimrVabjX3GO83iV8b2EmCmbsGDv7PDn2ouyVsjlObmrtWKVERRLAiLzmmjp4XzTPDI2DLnOOwCDQ862tp7fSvqamQMjYNz29w71G1k9TfI3Xa5B0FpgJ6OBrsOmOdh59vjhdNLHNq24GvrQ6K105zFG44DyOefufJfY2\/xrvQa1rW2q3O4WtHKQ9WO448h4q+KUTzKs3WtbR6Lfvfcjq0dZ3UdPJcJ4ujmqfhYRjgZnO3jt8gv1rt\/BYGt\/HO1v0J+yo2tDWhrQAAMADqUzrf36Shh\/HUjY8uRH3UYvFUuy6rTVLhnCOxSQs6KFkf4GgfJftEVRtCIiAIiIApu9abw43Kz5p62P3uFmwf27dvqqRFKMnF5FdSlGpG0jJ0\/e2Xik9\/DKqL3Zo+WD2gdi1lL6io5rVWt1Dbhh7NqmMcnt7T9\/I9SoKGthuFHHVQO4mSDPgesHwXZJdpaFdGcrunPVeq3OhF+JZY4InSzPbHGwZc5xwAFKVNfW6qqX0NqeYKBhxNUkEF\/cBz8uvrwuRjclVqqnlq3ojpumpJJ6g2yxM9oqnbOlG7Y+8Hr8eXiuqzabioHmrrH+11zjxGZ+\/Ce7Pqu612qktFKIKWPH43n4nntJXauuVlaJCFFt46ub25L5uERFA0hERAFL6hlnvF1isFKSGbPq3DGzdiPl64VFWVLKKjlqZDhkTC4r+eWipudxqaqOiB9qrXfr59wImc9uz\/AEGFbTjrIw8XVStT39tvM3LvN7V0GmLNgt4Q2eQbiNo6ifLf5dapLfQw22hipIGgNjaATjHEesnvK5bJYqay03BEOOZw\/WSkbuP2HctNRlLki2jTaeOer9FsFMav3rLM07g1O47d2qnUxq7+fWb+s\/dqU+0OL\/pfl7op0RFA0hEXxzg1pc4gADJJ6kB9ReFJWU1dD01LM2WPOOJp617ocTTV0EWDpa8VV5gqZakNAZIGswPPHouvUNxfa7NNURkiXZsbgAcOPI7qTi1LCVKtF0+k5Gi5rXsLHtDmuGCCMghSNprGaYudwttbJwUrQZ4Sesdg7SR\/hK1bTczTaWhuFznyeAkkgAkZPCBjmcYUrUyz3W+UNyuNNw0dVMIoo3fgBHmfiznxVkI6p6GTiKytCce1+HuazGV+sZg+YPpLSx2Wt5Ol7+\/0Cqaalgo6dsFNE2KJnJrV6taGtDWgAAYAHUvqrlK+XI10qKh1m7t8wiIolwREQBeNVV09FA6eplbFG3m5xWVeLzXUlSKO3W6SoqHAODi08AB8PuQuODTVZcqhtXqCqMxG7aeM4a3uOPt81NRWrZnnWd8NNXfojG1BqKtu0PRUkD4qGSTga\/GDMez\/AEVnarXT2mhZTwRhpwONw5vd1klYeqYo4KiyQwsEcbakAMaMAbt6lUqU31VYpoQfTTc3dq3xBERVG4KY1d\/PrN\/Wfu1U6mNYksmtMmdm1Q93t5fkp0+0ZuL\/AKX5e6KdERQNJj6ivwsUELxCJnyvxwF3D7o5n0+a7Lg4us1U4tLSad5LT1e6VD36sN01TGI8ugilbAwn4SQd\/qfRWt8k6OxVzs4\/k7wN8cwQrXG2EwwrOo6j5LQ4NGADTcGBze\/P94rXrZfZ6Gomzjo4nOz4DKwtCy9JYXMJz0c7m47BgH7rt1TUil07VuyQZG9GMdfFt6ZXJK9SxOlNR4ZS2Rm6AkabPURg+82oLiO4tbj0K8df1bRS01GHjic\/pHN68AED1K8KW33HTVLDdaUNlifAHVUL34APd\/w9axquG43xtXfJIgIYyPDGwwPAc1copzxXyME6ko8OqNut+Nbm3ZbdPqH2eetaWWykYGQQ5\/aFu2T28tz5dq7tcQf9EhljGOgmaRgbAYI9cLbtc9PU2ynmpQ1sLmDha0YDeojyOyyNcSBlg6MuwZZmtAzz5n7KtSbmjVOlGHDSd7trX56G\/DIJoWSt5PaHDzX7XjSxmKkhjIwWRtbjswF7Kk3rTMIiIdCIiAIiICY1niI2yrd8ENUOL6H\/AClU6wNaQCbTkr+uF7Xj549HLWt1R7XbaaoPOWJrj4kbqb7CM0Mq81uk\/wAHSiIoGkKY13ltrpZeYZUjb+yfyVOp3XEfHp4u\/o5Wu9R91On2kZuKV6EvAolmaguTbZaJpuLErxwRDOCXHYfLn5Lto5BNRQSgYD42ux4hS9MP41akkqJPet9vOIh1Pdn6g4z4YCRWd3ojtao1FRjrLT9+RmyW8W+h0+CzhlmqOkfkYO5bgfLCp9WziDTlVtkyAMHmR9srh1j7lRaZiPcZU+8ezcH7FfNVk11ytloaf2snSSb\/ALvL04lZ2nFsxtKlGpCPcvurHLpCSe2XGS01LcdPG2eM9+Bn6f4V+dUXGCrvcFvllDaSkIlqDjOT2Y6zjbxcc8l16yFDHDBK6eSKujP6hsJ949ngM9a49PaQdKRXXdjtzxNgdzPXl35fNSTj22QlGov8aGff3bM9o4blq+ds1S11LaWuy2PODL+fjy7FVMpoI6YUzImthDeDgA2x2L0a0NaGtAAAwAOpfVRKVz0aVFQu27t6slm2q+2SeVtmdDNSyPLxFKfhOTsOXVjr6l9itV4vNdDU3xscENO4ObBGdnHt2J7utVCKXSMr+lhpd225BERVmoIiIAiIgCIiA8ayljraOWll+CVhacdWVgaOqXxwVNoqHfr6OVwAP4c9Xnn5hUqmdQ2urpqsX20nhqIx+ujA\/aN7cde3Md3aFZHNYWZa6cZKrFaa+BTIs2132hutIJ45WMcB+sje4BzD+Xev1PfrTTNLpLjT7cw14cfkMlQwu9rFyqww4rqxoLJ1RH0um61u2zA7c45EH7Lgn1rTPf0Vto6itkPLhbgHbzP0XJUWq+3yCaW6zezQMaXR00Y+IgHGf9cnwVkYNNN5GarXjOLhT619tPuctNc7lfLfTWa2xmJjIWsqKg7YAGCPD6lV1rtkFpoWUlOPdG7nHm53WSsvRT2HTbMADgkeHnGN859CF+7pquhosRUpFdUvOGxwuyM95Houyu3hiiNDBCmqtSWbXxI+awo3VNkMzCOKleJcE4BA2Pqpanud1u+oXV9BTB9QGcDARlsQxjO\/Lr59q3I7DdL7KKi+VDoYM5bSRHl2Z6h9T4KlpaOnoYBBSwsijH7rR9e9dUlBW1IOjOvUx5xWXi7exj2bTYpJ\/b7hKaqvduXOOQw93\/PBbyIqW23dm6nTjTVohERcLAiIgCIiAIiIAiIgCIiALhu1uN0oxTipkp\/fDi6PmcdS7kXU7ZkZRUlZki\/QFL0LhHWS9Lj3SQOHzC4I7BcLS7DrJTXEcRxJxOJI7xnH0V6isVWXMyS4KjrFWfzclIdTVlEwRzaangYOuJpDc9w4cfVfuS\/Xq5AxWuzvYHD9rPyHbzwPqfBVCLmKOxPoalrObt4I\/n2ndPm6xzwVVZNHFTTYdTsOxPWe7l2Kzt9mt9rH8kpmsdv753dv3ndYumh7PqO90xOMy8bWnsyf\/YKoXakm3Yr4OlBQUrZ5+jCIiqNwREQBERAEREAREQBERAEREAREQBERAEREAREQEx\/Mf4QextdT+AyB\/s+qp1L6pJpL1Z7gNg2Xge7uyOvwLlUKyeiZmoZSnHvv9wiIqzSEREAREQBERAEREAREQBERAEREAREQBERAEREBP61pzNp90o+KCRrwRz7PutmiqBV0MFSP+7G1\/wAxleF6p\/arLWQgZLoXcIxncDI+oXFpGpNRpynycui4oz5Hb6YVmsDMurxD717f9NtERVmkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID4QCMEZBUzpVxobnc7M47RSGSPfctO3hy4fmqdSt5P6K1fb7jnhiqR0UpJ27N\/mD5KyGd0ZeI6rjU2fo8iqREVZqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALB1lSmo0\/JI0Evp3tlbjmOo\/Qk+S3l51ELammlgf8MrCx3gRhdi7O5XVhjg47nha6z2+101VtmWMF2Pxdf1yutTWi6h7KKotk\/uz0cpBaeoE\/nn5qlXZq0miNCeOmpBERRLgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgJa85sepaa8NGKepHQ1GByPb8gD\/AGSqgEEZByCuO722O7W2WkkwC4ZY4\/uu6is3SlyfPRut1VltXRHo3tcdy0bA+XL5dqsfWjfYyx\/jquPKWa8ef7N9ERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAsassAlvVPdaWc08rHDpgBtK3s8cbf\/ABEXU2tCupCM1mbKIi4WBERAEREAREQBERAEREB\/\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ESCUELA GRECIA D35",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28741\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28741\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28741\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28741\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:37",
    "ubicacionGPS": "LatLng(lat: -22.4602784, lng: -68.9336537)",
    "horaLlegada": "11:22",
    "horaDespacho": "11:34",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 11:37:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[25/05/2026 11:37:08] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP3003', 1, 19969062, 12134, NOW(), 
				'11:34', '11:22', '11:37', 10, 'entrega insumos', -1, 
				'', '','1','22789',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779723428.png', 'entrega insumos', null, 'COMPLETADO','LatLng(lat: -22.4602784, lng: -68.9336537)' )
				
[25/05/2026 11:37:08] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200409
[25/05/2026 11:37:08] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200409', 'EPS-I1240', 1)
				
[25/05/2026 11:37:08] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28741 and
				    IDproducto = 'EPS-I1240'
				

25/05/2026 11:37:08 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1240';
                [25/05/2026 11:37:08] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200409', 'EPS-I1241', 2)
				
[25/05/2026 11:37:08] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28741 and
				    IDproducto = 'EPS-I1241'
				

25/05/2026 11:37:08 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1241';
                [25/05/2026 11:37:08] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200409', 'EPS-I1242', 2)
				
[25/05/2026 11:37:08] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28741 and
				    IDproducto = 'EPS-I1242'
				

25/05/2026 11:37:08 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1242';
                [25/05/2026 11:37:08] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200409', 'EPS-I1243', 2)
				
[25/05/2026 11:37:08] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28741 and
				    IDproducto = 'EPS-I1243'
				

25/05/2026 11:37:08 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1243';
                
25/05/2026 11:37:08 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200409'                    
				WHERE idllamado = 12675			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


25/05/2026 11:37:09 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12675			
				
25/05/2026 11:37:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12409
                

25/05/2026 11:37:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12409
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12409
                

25/05/2026 11:37:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:37: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;
                

[25/05/2026 11:37: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;
                

25/05/2026 11:37:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:37:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12675
                

[25/05/2026 11:37: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;
                

25/05/2026 11:37:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

[25/05/2026 11:37: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;
                

25/05/2026 11:37:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:37:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:37:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:37: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;
                

25/05/2026 11:37:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:37:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:37:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:37:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:37:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:37:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:37:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:37:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:37: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;
                

25/05/2026 11:37:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:37:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:37: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;
                

25/05/2026 11:37:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

[25/05/2026 11:37: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;
                

[25/05/2026 11:37: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;
                

25/05/2026 11:37:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:37:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:37:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:37:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:37:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:37:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:37:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

[25/05/2026 11:37: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;
                

25/05/2026 11:37:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12675
            GROUP BY l.idllamado;
            

25/05/2026 11:37:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11:37:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12409
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12675
                

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12675
                

25/05/2026 11:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12409
                

25/05/2026 11:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12675
                

25/05/2026 11:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

[25/05/2026 11:37: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;
                

25/05/2026 11:37:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:37:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:37:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:37: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;
                

25/05/2026 11:37:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:37: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;
                

25/05/2026 11:37:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:37: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;
                

25/05/2026 11:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

[25/05/2026 11:37: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;
                

[25/05/2026 11:37: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;
                

25/05/2026 11:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

[25/05/2026 11:37: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;
                

25/05/2026 11:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

[25/05/2026 11:37: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;
                

[25/05/2026 11:37: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;
                

25/05/2026 11:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:37: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;
                

25/05/2026 11:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12409
                

25/05/2026 11:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12409
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12409
                

25/05/2026 11:37:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12409
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12409
                

25/05/2026 11:37:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12409
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11:37:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12409
                

25/05/2026 11:37:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12409
                

25/05/2026 11:37:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11:37:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12409
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11:37:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12409
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

25/05/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 = 12409
                

25/05/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 = 12409
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:37: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;
                

25/05/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 = 12677
                

25/05/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 = 12677
                

[25/05/2026 11:37: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;
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

[25/05/2026 11:38: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:38: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;
                

[25/05/2026 11:38: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:38: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;
                

25/05/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 = 12677
                

[25/05/2026 11:38: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:38: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;
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:38: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;
                

[25/05/2026 11:38: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;
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/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 = 12677
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/2026 11:38:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12409
            GROUP BY l.idllamado;
            

25/05/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 = 12409
                

25/05/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 = 12409
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12409
                

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12409
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12409
                

25/05/2026 11:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12409
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11:38:22 - logentry: =========================================
FECHA: 25/05/2026 11:38:22
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-XGXo3_nJaiN-uBKQm6ehYYLArMK4JIjF63SGSFfJel1uWst8PfG
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78991830",
    "serieinterna": "KY2525",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "130690",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "cambio de fusor se deja un residual con la persona de bodega",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12409",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACEARsDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABDEAABAwMBBQMJBQQJBQAAAAABAAIDBAURBhIhMUFRE2GRFCIycYGhscHRFSNCUuEHM4LwFjZzkqKywtLxJENTVmL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAwEQACAQIEBAQFBAMAAAAAAAAAAQIDERIhMUEEE1FhIjJxgZGhscHRFDNC8CNS4f\/aAAwDAQACEQMRAD8A\/syIiAIiIAiIgCIs2+XT7JtzpmM25nHZiZjOSf5+HVSld2RWUlCLk9Efi8X+ks7Qx+Zqh2NiBnpHPwWYyPVlzcJHTQ26LHmtDfO48xvPiV0afsHYD7RuTBLcJjtlzt+xn5qgV21HJHMoTq+Kbsui+5gafulZJWVVpuTmPqqXBD2\/jbz5DqPFb6mIcN\/aHPsfipRt+DfoFTqJrMvw7bi03ezaCIiodAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEWFfa+6WqpjrYYmTW9oAmjHpjecnu4jwWjbbpSXam7ekk2m5w5pGC09CFZxdrmSqxc3Dc7ERT+pK+ptdbbapkmxTmQxzcOBwfgD4KIq7sTUqKnHEygREUGgUtWt+1NdU1K7fFQxdo5vHzuPxLFUqX08BUapvVX+R\/ZAnfnef8AaPctIZXZy8R4nCHV\/TMqERfCQBknACzOombSRPrq6zg+hGI\/8o\/0qnUxooGdtxuBB\/6mo4ndnGTw\/iVOr1PNY5uFzp4urb+YREVDpCIiAIiIAiLxqpxS0stQWPkEbC7ZYMk46IQ3ZXZ7IvGkqDVUkVQYnwmRoOxIMOb617IE7q6CIiEhERAEREAREQBERAEREAREQHwgEYIyCpq46eqqOrNw0\/I2nkP7yn4Mf6hw9ipkVoycdDKpSjUVmY1m1JS3UmB4NPVs3Phk3ZPPHX4r86vphUacqDziIkHsP0JX7venaW7jtQTDVsHmTN3b+Weqn7tcL7b7VUUF2pxMyVuxHVM4HeOJHdniAVpFJtOJyVZzhTlCqrq2q+\/Qq7PUOq7PSTv9J8TS7143rtWRpqqpJbNTQU9SyR8UTdtoPnNPePatdZyVmzspSxU0+x8JAGScAKZ0MDJQ1lUW4M1QfcAfmt+4SdlbamTONiF7uOOAKyNFsLdNwk\/je8jxx8lK8jMp514Lon9jfWZqKuFvsVTN+JzNhm7O9279fYtCWWOCJ0sz2xxsGXOccABSTpXavvULY43fZlI7ac5zd0h6e3cMdMlIK7u9Ca9TDHBHzPT8m1piiNDYKaN2dt7e0cDy2t+PDC1kRVbu7msIKEVFbBERQXCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCmNZuNQbda2OOaqcbQaeQwN\/8Ae93cqdTFUPK\/2gUsZ3spYNojPPf4cR4K9PW\/Q5uKzhh6tI9q3R1BPKJ6J8lBMODoju8OXsIXP5Jq+gGIayCtYOAfja9+PiqlExvfMPhoXvHL0yI643bUYtlTFWWiNjHxOa+Vp3NaRg8yvKx3G\/w2anp7faWyxtDtmWR2A7Lieo5n3Ki1J\/V2t\/simm\/6u0X9kFfEsGhz8mXPtjenbr6GYbDdb0+N97qxHC3eaaA7sjry9u\/jyVDTUsFHTtgpomxRM4NavZFm5NnZToxg7rXruERFU1CIiAIiyLzqGmtLmwBjqiqk9GGPefWVKTbsik5xgsUnka6KYFZrB+JG26la07+zLhn1ekum06l8pqvILnTmhrdwa12QJD3Z4fPqVZwZlHiINpNNX6qxvIiKh0BERAEXzIGMnjwX1AEREARfCQBknAC82VMEr9iOaN7hnc1wJQi6PVERCQiIgCIiAIiIAiIgCmLcDNr65SkebFCGDuPm\/QqnUxpvB1JfSN+JgN3Di5XjozmrZzprv9mU6IiodJl6lIGna3Jx938180\/JHDpqkkkka1jIsl7jgAdcleeriW6YrCOjB\/jap9rn6gZbLLSyPbSw08bqqRnDa2QSPZ8T3LWMbwOCrUwV8ld2y+Jpz6slqpXwWS3y1j2nHalp2B3\/APOF8FHq6vwZ66ChYd5bGAXDw+q12z2yyiltwc2DtTsQs2Sdo56+s8StBRiS0RoqUp+ed30WS\/JMf0cvn\/sc3g76rylh1RY81EdULnTtGXsePOA69fAn1KsROY9yXwsf4tp+rOO13Smu1IKimcf\/AKY70mHoV2KVez7A1dD2DSKa5nDmDAAdnl6iQe7JXveKyW16ot9Q+XZpKhhieCOBzx97fDuRwu8hGu4x8eqdn+TVu9zjtNtlq5N5aMMb+Z3ILM0ta5I4nXWuy+sqiXAvG9jTy38M\/Rc94H2zquktRG1T0w7acZ3Hng+4fxKpR+GNuoiubVcnpHJeu7CydQWVl3ojsANq4htQyZwQemei1kVE2ndG84RnFxloY+mro+5W0tqMippndlLtcSRz\/noVsKY08BFqi9xAnznh\/vJ+ap1aatLIz4eTlTV9Vl8Ai54q6lnqZaaKZr5ofTYOLV9rp\/JqCoqP\/FE5\/gCVWxriVrk\/HNPd9aO2HubS21padk7nOPHPrP8Al6qnU7omnEdj8oJcZKmRznOceODj5FUStPW3Qw4ZNwxvWWf99giIqHSTtzsl0vFwkjqK4QW4EbMcXpP3c\/18F9n0TaZgcGeNx\/E2TPxCoUV8ctjnfDUm25K9+pMHS9yoyHW2+TN2eEcxOz7j8l8bcNV0GRVW2OtY38cRGXdeH0VQsfUd6NnoWmFofUzu2Im\/E4543eIVlJydmrmc6MKUXKMnFL+6MzHa3jfLTwx0vZSSSBs3bu2REM9d3rVU1wc0OaQQRkEc1Ks05Q26x1FRd4TVTv8AvJXs9JnqPt39fYuOBtbYqNl0s1S6utjxl8EvGMc+HPqR4EKXGL8plCtVp\/u57917Fui5bdcILnRR1dO7LHjeDxaeYPeupYtWPQTUldBERCQiIgCmNL7r7fwdxNTnH8T1TqZsAMeqb1G\/c5zw9oxxGT9Qrx8rOat+5Tfd\/RlMiIqHSY2rWl2mKwDow+D2r9aaoaSls1NNTwhj54mOkdxLjj65XrqFhfp+uA5QuPhvX40zIJNOUTgc4j2fAkfJaX8Huctl+pu\/9fuc+r6B9ZZ+2hH31I7tWkDfgcfr7FoWivFytVPV7tqRnnAcnDcfeuxzQ5pa4AgjBB5qVtMh09qCWyyE+S1J7SmceRPL3Y9YHVF4o26Cf+Oqp7Syfrt+CrRF5zzxU0D55nhkcY2nOPILM6m7E3dneW61tdI0bQpwZXZ4A8f9I9y7tV0JrbFKWnElP983A37uPuyuLS7HXK41t+lj2TM\/s4g5vBoxwOegAO7lx4rT1JUeS6erJNrBMewP4t3zWzykktjgilKjOctJXftsZOiYpakVl2qTtTTv2A7GNw3n4jwVUpzQrnGwEOG4TuDfVgfPKo1Sp5mbcIrUYhfHODWlziAAMknkvqzNRVRo7BWTA4d2ew097t3zVUruxvOSjFyexl6SIq6263MEubPPssJHAZJx4FvgqdZWmaQUen6RmMOeztHet2\/4YWqrTd5My4eLjSV9dfjmTFu+519cojuEsIeO\/wBH6lUVTCKillgJwJGFmfWMKdkHZ\/tDjLSPvKbz9\/cf9oVOpns+xTh1lOPdk3oufFvnoH4EtJM5pbnOAf1yqRSl8a6wX6C+Qh3YTns6ljeBOP0z6x3qpY9skbZGODmuALSOYSefi6k8O7J0nrH6bH6REWZ0hcb7rSR3WO2OkPlMjS5rQMjGCd55bgV43y8RWW3moeNuRx2Y2fmd9FxaZs0tKx9xuA26+pO0S7iwHl3Hr7ArqOV2YSqPmKEPfsv+m+pioAqtf08chcW08G2wZ3Zx+qp1PaioKqKqgvVubtT037yP87f+M\/yEhqV4lPCmtmmb72NkjdG9oc1wIcDzClbS52n7\/LZZt9JVEvp3O5E8vl6wOq3rVdqW70gqKZ+\/8bCfOYehXJqa0m6WzMQPlMB24i30u8D1\/EBTHJ4WRVWOKq082vmt0cFgBtepbjaRnsXgTQg8GjoP73+FVChrRcjc9XUNTsntXU5ZUAAgNcA76N8VcpUVnmRwclKDw6Ju31CIizOsIiIAses09HUXWO5U9TLSTAgymM\/vBu3cd3BbCKU2tCk4RmrSQREUFzzqIRUU0sDiQJGFhI5ZGFxWK2yWm1R0csjZHMc47TRgbzlaKKbu1irgnLFuFlX+zfa1IOxcIquE7UMuSCD0yOq1URNp3RE4KcXGWhLW7VraWN1JfGSQVUG5zgzIeOu7gfcvGby\/V9RGxsT6W1RuBeXbnSEcfn3DwVXLBDNjtYmSY\/M0FfsAAYAwAr40s0szn5E5LDOV4\/N+p+IYY6eFkMLAyNgw1rRuAU\/rt7mWBrRjD52g56YJ+SpFl3+zfblCyl8o7DYlEm1sbWcAjGMjqog0pJs0rwcqUox1seOkoPJ9OUwPpP2nnBzxcce7C2l+Y2NijbG30WAAeoL9Ksnd3NKcMEFHoFw3i2Nu9vdSOldFtEEObyXciJ2dyZRUk4vQ5LXSTUNuhpqioNRJGMGQjGeg9nBdaIobuTFKKSRiW+xTwX2e61lZ273bTI27OMN3Y8N4x7VtoiltvUrCnGCtE562iguFJJS1DdqOQYPUd471N2q4S6cq3We7SYp8k0054Y6er4KsXNXW+kuUBhq4Gys5Z4t7weIVoytk9DOrSbanDKS+fZnQ1wc0OaQQRkEc19Us3TN2txItF5cyLaBEcwyAPeD4Bfo2bUtXssrL0xsZ9MQtxkewN5KcK6ledU0dN39rfE8rXD\/SO\/VF0qQJKSleY6eM7xkcD0PX1kKsXJbbdBa6JtLT52Wkklx3kniV1qsnd5F6FNwj4tXqERFU2J25aVD6k11oqDQ1e8nZJDXn2cPh3LxbWawpm7Elup6nGB2gcAT7A4fAKoRXxvfM5nw8b3g3H0IOmbV2LUcVzulNHTx1j3g7ByI88+7\/AJV2CCMg5BXJdbdDdbfJSTDc4Za78ruRWRpO5SvhktNa4irpDsgO4lg+nwwrSeNX6GdJcifL2enruUaIiyO0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIApvU1tnhmZfbbuqqb94387B+nHu9SpF8IBGCMgq0ZYXczq01UjhZyWq5Q3agjq4dwduc08Wu5hdikXg6QvXagE2utdggf9p38+71Kta4OaHNIIIyCOamUbZrQpRqOSwy8y1\/PufURFQ3CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA5rhQQXOikpKgExvHEcQeo718ttKyjt0FPG57mxsABeclEVv4mVlzb9j\/9k=",
    "razonSocial": "METALMECANICA TORMETAL SPA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "JORGE TORMETAL",
    "correoContacto": "contacto@tormetal.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "WSP",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE LAS HOJAS SALEN MANCHADAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "56934000201",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:38",
    "ubicacionGPS": "LatLng(lat: -23.7741098, lng: -70.3062744)",
    "horaLlegada": "10:04",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 11:38:22
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-XGXo3_nJaiN-uBKQm6ehYYLArMK4JIjF63SGSFfJel1uWst8PfG
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78991830",
    "serieinterna": "KY2525",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "130690",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "cambio de fusor se deja un residual con la persona de bodega",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12409",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACEARsDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABDEAABAwMBBQMJBQQJBQAAAAABAAIDBAURBhIhMUFRE2GRFCIycYGhscHRFSNCUuEHM4LwFjZzkqKywtLxJENTVmL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAwEQACAQIEBAQFBAMAAAAAAAAAAQIDERIhMUEEE1FhIjJxgZGhscHRFDNC8CNS4f\/aAAwDAQACEQMRAD8A\/syIiAIiIAiIgCIs2+XT7JtzpmM25nHZiZjOSf5+HVSld2RWUlCLk9Efi8X+ks7Qx+Zqh2NiBnpHPwWYyPVlzcJHTQ26LHmtDfO48xvPiV0afsHYD7RuTBLcJjtlzt+xn5qgV21HJHMoTq+Kbsui+5gafulZJWVVpuTmPqqXBD2\/jbz5DqPFb6mIcN\/aHPsfipRt+DfoFTqJrMvw7bi03ezaCIiodAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEWFfa+6WqpjrYYmTW9oAmjHpjecnu4jwWjbbpSXam7ekk2m5w5pGC09CFZxdrmSqxc3Dc7ERT+pK+ptdbbapkmxTmQxzcOBwfgD4KIq7sTUqKnHEygREUGgUtWt+1NdU1K7fFQxdo5vHzuPxLFUqX08BUapvVX+R\/ZAnfnef8AaPctIZXZy8R4nCHV\/TMqERfCQBknACzOombSRPrq6zg+hGI\/8o\/0qnUxooGdtxuBB\/6mo4ndnGTw\/iVOr1PNY5uFzp4urb+YREVDpCIiAIiIAiLxqpxS0stQWPkEbC7ZYMk46IQ3ZXZ7IvGkqDVUkVQYnwmRoOxIMOb617IE7q6CIiEhERAEREAREQBERAEREAREQHwgEYIyCpq46eqqOrNw0\/I2nkP7yn4Mf6hw9ipkVoycdDKpSjUVmY1m1JS3UmB4NPVs3Phk3ZPPHX4r86vphUacqDziIkHsP0JX7venaW7jtQTDVsHmTN3b+Weqn7tcL7b7VUUF2pxMyVuxHVM4HeOJHdniAVpFJtOJyVZzhTlCqrq2q+\/Qq7PUOq7PSTv9J8TS7143rtWRpqqpJbNTQU9SyR8UTdtoPnNPePatdZyVmzspSxU0+x8JAGScAKZ0MDJQ1lUW4M1QfcAfmt+4SdlbamTONiF7uOOAKyNFsLdNwk\/je8jxx8lK8jMp514Lon9jfWZqKuFvsVTN+JzNhm7O9279fYtCWWOCJ0sz2xxsGXOccABSTpXavvULY43fZlI7ac5zd0h6e3cMdMlIK7u9Ca9TDHBHzPT8m1piiNDYKaN2dt7e0cDy2t+PDC1kRVbu7msIKEVFbBERQXCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCmNZuNQbda2OOaqcbQaeQwN\/8Ae93cqdTFUPK\/2gUsZ3spYNojPPf4cR4K9PW\/Q5uKzhh6tI9q3R1BPKJ6J8lBMODoju8OXsIXP5Jq+gGIayCtYOAfja9+PiqlExvfMPhoXvHL0yI643bUYtlTFWWiNjHxOa+Vp3NaRg8yvKx3G\/w2anp7faWyxtDtmWR2A7Lieo5n3Ki1J\/V2t\/simm\/6u0X9kFfEsGhz8mXPtjenbr6GYbDdb0+N97qxHC3eaaA7sjry9u\/jyVDTUsFHTtgpomxRM4NavZFm5NnZToxg7rXruERFU1CIiAIiyLzqGmtLmwBjqiqk9GGPefWVKTbsik5xgsUnka6KYFZrB+JG26la07+zLhn1ekum06l8pqvILnTmhrdwa12QJD3Z4fPqVZwZlHiINpNNX6qxvIiKh0BERAEXzIGMnjwX1AEREARfCQBknAC82VMEr9iOaN7hnc1wJQi6PVERCQiIgCIiAIiIAiIgCmLcDNr65SkebFCGDuPm\/QqnUxpvB1JfSN+JgN3Di5XjozmrZzprv9mU6IiodJl6lIGna3Jx938180\/JHDpqkkkka1jIsl7jgAdcleeriW6YrCOjB\/jap9rn6gZbLLSyPbSw08bqqRnDa2QSPZ8T3LWMbwOCrUwV8ld2y+Jpz6slqpXwWS3y1j2nHalp2B3\/APOF8FHq6vwZ66ChYd5bGAXDw+q12z2yyiltwc2DtTsQs2Sdo56+s8StBRiS0RoqUp+ed30WS\/JMf0cvn\/sc3g76rylh1RY81EdULnTtGXsePOA69fAn1KsROY9yXwsf4tp+rOO13Smu1IKimcf\/AKY70mHoV2KVez7A1dD2DSKa5nDmDAAdnl6iQe7JXveKyW16ot9Q+XZpKhhieCOBzx97fDuRwu8hGu4x8eqdn+TVu9zjtNtlq5N5aMMb+Z3ILM0ta5I4nXWuy+sqiXAvG9jTy38M\/Rc94H2zquktRG1T0w7acZ3Hng+4fxKpR+GNuoiubVcnpHJeu7CydQWVl3ojsANq4htQyZwQemei1kVE2ndG84RnFxloY+mro+5W0tqMippndlLtcSRz\/noVsKY08BFqi9xAnznh\/vJ+ap1aatLIz4eTlTV9Vl8Ai54q6lnqZaaKZr5ofTYOLV9rp\/JqCoqP\/FE5\/gCVWxriVrk\/HNPd9aO2HubS21padk7nOPHPrP8Al6qnU7omnEdj8oJcZKmRznOceODj5FUStPW3Qw4ZNwxvWWf99giIqHSTtzsl0vFwkjqK4QW4EbMcXpP3c\/18F9n0TaZgcGeNx\/E2TPxCoUV8ctjnfDUm25K9+pMHS9yoyHW2+TN2eEcxOz7j8l8bcNV0GRVW2OtY38cRGXdeH0VQsfUd6NnoWmFofUzu2Im\/E4543eIVlJydmrmc6MKUXKMnFL+6MzHa3jfLTwx0vZSSSBs3bu2REM9d3rVU1wc0OaQQRkEc1Ks05Q26x1FRd4TVTv8AvJXs9JnqPt39fYuOBtbYqNl0s1S6utjxl8EvGMc+HPqR4EKXGL8plCtVp\/u57917Fui5bdcILnRR1dO7LHjeDxaeYPeupYtWPQTUldBERCQiIgCmNL7r7fwdxNTnH8T1TqZsAMeqb1G\/c5zw9oxxGT9Qrx8rOat+5Tfd\/RlMiIqHSY2rWl2mKwDow+D2r9aaoaSls1NNTwhj54mOkdxLjj65XrqFhfp+uA5QuPhvX40zIJNOUTgc4j2fAkfJaX8Huctl+pu\/9fuc+r6B9ZZ+2hH31I7tWkDfgcfr7FoWivFytVPV7tqRnnAcnDcfeuxzQ5pa4AgjBB5qVtMh09qCWyyE+S1J7SmceRPL3Y9YHVF4o26Cf+Oqp7Syfrt+CrRF5zzxU0D55nhkcY2nOPILM6m7E3dneW61tdI0bQpwZXZ4A8f9I9y7tV0JrbFKWnElP983A37uPuyuLS7HXK41t+lj2TM\/s4g5vBoxwOegAO7lx4rT1JUeS6erJNrBMewP4t3zWzykktjgilKjOctJXftsZOiYpakVl2qTtTTv2A7GNw3n4jwVUpzQrnGwEOG4TuDfVgfPKo1Sp5mbcIrUYhfHODWlziAAMknkvqzNRVRo7BWTA4d2ew097t3zVUruxvOSjFyexl6SIq6263MEubPPssJHAZJx4FvgqdZWmaQUen6RmMOeztHet2\/4YWqrTd5My4eLjSV9dfjmTFu+519cojuEsIeO\/wBH6lUVTCKillgJwJGFmfWMKdkHZ\/tDjLSPvKbz9\/cf9oVOpns+xTh1lOPdk3oufFvnoH4EtJM5pbnOAf1yqRSl8a6wX6C+Qh3YTns6ljeBOP0z6x3qpY9skbZGODmuALSOYSefi6k8O7J0nrH6bH6REWZ0hcb7rSR3WO2OkPlMjS5rQMjGCd55bgV43y8RWW3moeNuRx2Y2fmd9FxaZs0tKx9xuA26+pO0S7iwHl3Hr7ArqOV2YSqPmKEPfsv+m+pioAqtf08chcW08G2wZ3Zx+qp1PaioKqKqgvVubtT037yP87f+M\/yEhqV4lPCmtmmb72NkjdG9oc1wIcDzClbS52n7\/LZZt9JVEvp3O5E8vl6wOq3rVdqW70gqKZ+\/8bCfOYehXJqa0m6WzMQPlMB24i30u8D1\/EBTHJ4WRVWOKq082vmt0cFgBtepbjaRnsXgTQg8GjoP73+FVChrRcjc9XUNTsntXU5ZUAAgNcA76N8VcpUVnmRwclKDw6Ju31CIizOsIiIAses09HUXWO5U9TLSTAgymM\/vBu3cd3BbCKU2tCk4RmrSQREUFzzqIRUU0sDiQJGFhI5ZGFxWK2yWm1R0csjZHMc47TRgbzlaKKbu1irgnLFuFlX+zfa1IOxcIquE7UMuSCD0yOq1URNp3RE4KcXGWhLW7VraWN1JfGSQVUG5zgzIeOu7gfcvGby\/V9RGxsT6W1RuBeXbnSEcfn3DwVXLBDNjtYmSY\/M0FfsAAYAwAr40s0szn5E5LDOV4\/N+p+IYY6eFkMLAyNgw1rRuAU\/rt7mWBrRjD52g56YJ+SpFl3+zfblCyl8o7DYlEm1sbWcAjGMjqog0pJs0rwcqUox1seOkoPJ9OUwPpP2nnBzxcce7C2l+Y2NijbG30WAAeoL9Ksnd3NKcMEFHoFw3i2Nu9vdSOldFtEEObyXciJ2dyZRUk4vQ5LXSTUNuhpqioNRJGMGQjGeg9nBdaIobuTFKKSRiW+xTwX2e61lZ273bTI27OMN3Y8N4x7VtoiltvUrCnGCtE562iguFJJS1DdqOQYPUd471N2q4S6cq3We7SYp8k0054Y6er4KsXNXW+kuUBhq4Gys5Z4t7weIVoytk9DOrSbanDKS+fZnQ1wc0OaQQRkEc19Us3TN2txItF5cyLaBEcwyAPeD4Bfo2bUtXssrL0xsZ9MQtxkewN5KcK6ledU0dN39rfE8rXD\/SO\/VF0qQJKSleY6eM7xkcD0PX1kKsXJbbdBa6JtLT52Wkklx3kniV1qsnd5F6FNwj4tXqERFU2J25aVD6k11oqDQ1e8nZJDXn2cPh3LxbWawpm7Elup6nGB2gcAT7A4fAKoRXxvfM5nw8b3g3H0IOmbV2LUcVzulNHTx1j3g7ByI88+7\/AJV2CCMg5BXJdbdDdbfJSTDc4Za78ruRWRpO5SvhktNa4irpDsgO4lg+nwwrSeNX6GdJcifL2enruUaIiyO0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIApvU1tnhmZfbbuqqb94387B+nHu9SpF8IBGCMgq0ZYXczq01UjhZyWq5Q3agjq4dwduc08Wu5hdikXg6QvXagE2utdggf9p38+71Kta4OaHNIIIyCOamUbZrQpRqOSwy8y1\/PufURFQ3CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA5rhQQXOikpKgExvHEcQeo718ttKyjt0FPG57mxsABeclEVv4mVlzb9j\/9k=",
    "razonSocial": "METALMECANICA TORMETAL SPA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "JORGE TORMETAL",
    "correoContacto": "contacto@tormetal.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "WSP",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE LAS HOJAS SALEN MANCHADAS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "56934000201",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:38",
    "ubicacionGPS": "LatLng(lat: -23.7741098, lng: -70.3062744)",
    "horaLlegada": "10:04",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 11:38:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78991830

[25/05/2026 11: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('78991830', 'KY2525', 1, 27729424, 130690, NOW(), 
				'08:00', '10:04', '11:38', 4, 'cambio de fusor se deja un residual con la persona de bodega', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779723502.png', '', null, 'COMPLETADO','LatLng(lat: -23.7741098, lng: -70.3062744)' )
				
[25/05/2026 11:38:22] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200410

25/05/2026 11:38:22 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200410'                    
				WHERE idllamado = 12409			
				TO ENVIO: micorreo@miempresa.cl, contacto@tormetal.cl


25/05/2026 11:38:23 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12409			
				
25/05/2026 11:38:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11:38:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12409
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

[25/05/2026 11:38:25] 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;
                

[25/05/2026 11:38:25] 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;
                

25/05/2026 11: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 = 12409
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12409
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12409
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12409
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12409
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:40:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:40:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:40:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:40:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:40:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11: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 = 12677
                

25/05/2026 11:40:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12677
                

25/05/2026 11:40:33 - logentry: =========================================
FECHA: 25/05/2026 11:40:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ZulzdN6En7bsW85S9gM++doAqqt-1LdpFgwXAIZaZZ0xzn1ZqIO
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3002",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "952",
    "contadorColor": "6005",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12677",
    "observacion": "entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADdAQ8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABAEAABAwMBBQUFBgQEBwEAAAABAgMEAAURIQYSMUFRImFxgZETFDKhsRUjJELB0TNS4fA0Q2LxBxaCkrLC0iX\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQIEAgkFAQEBAAAAAAAAAQIDERIhMUETUQQiMmFxgdHh8CORobHBFEIz\/9oADAMBAAIRAxEAPwD9mpSlAKUpQClKUApSlAKUpQClKUApVJO2utMNfs0vGQ5nG6yM48+HpXq0bRtXSSqKqK\/GfSkq3XBpu6Y186lgla9ilV6TlhUsy5pSlRLhSlKAUpSgFKUoBSlKAUpWZuN7lXSYbVYTlQ\/jSgey2M8j+vpUoxbK6lWNNXf25k277SRrc57qykyZitEstjODjTOPpxqnsF2vVw2jUzIcQWmwouoT8KOgGOedOJ51Eme62JpyBAWH7k4k+8TFf5QPHB5fXXrilmjXO4QUwbYDDhZPtpaviePPH7DzNXqKUTzJVqkqqTemy\/Xq9EaG67UwLY6GE70l\/m21ru+J\/SrG3T2bnBblsE7ixwI4HmKzd1iwNmLKqNEbLkyYC0FnVZBGCe4csDrWgssFVus8aIs5W2jta51OpHqaqkoqN0bKU6rquMuX25Zk6lKVWaxSlKAUpSgFKUoBSlKAUpSgFKVWXm+xbMyC7948v+Gyk6q7z0HfXUm3ZEZzjBYpPImTJkeBGVJlOBttHEn6DrWXU5ctr3VIYK4VqSSCs\/E7r8\/oO+ukKyTb7ITcr6opb0LUQaADvHL69a1KEIbQENpCEpGAlIwBU8oaamW06\/ayjy3fjyRXR7XarHGW81HbbDad5TitVad5qr2VYXOmTL++nCpKihof6RxPyA8jTaaU7cZjOz8FzDrh3pChnCE4yAfr6da0UaO3EjNRmU7rbSQlI7hRtqOerEYxnVtFdWP79jrSlKrNgpSlAKUpQClKUArytaG0FbighKRkqUcAV5kSGorC333A22gZUpXAVlFmbtlJKG1LjWhtWqsdp0j+\/AeNSjG+exTVq4Mkrt6I9TJ0zaqSq32pZagJ0fkkfF3D9ufPSudwnxtn432NZQDKI++eJ+DTUk9fpXa7XZm0MCy2RCUvgHfWDo0OZJPPvPCqaw2NV5eVlSxCQrLzx+J9XHA7v9+PC9JWu9DzZyljwxzm9Xy7l\/WfLDYHLy+VrUoQkqy47zeV0H9\/Ot0+\/Ds9v317rEdlOAAPQAda7Ntsw4wQgIaZaToOASBWInXeHtDdUImSRGtkdWUgg7zx8uH6A1C7qPuL1GHRIWXafz7Is7BGkXm5Kv1wSQlPZiNngBrrj+9cnpWpqsY2gszu6hqewnTCQTu\/XFWKVJWneSoKHUHNQm23mjVQUIxtF3e7PVKUqBeKUquiXyDOuL0GO4VusjKjjsnkcHuOlds2RcoxaTepY0pSuEhSlKAUpSgFRLa3PajFNxfbee3yQptOBu8hUpSglJUogADJJ5VlZt8l3ySq2WIEJ4OyzoAO7p48elSimymrUjTs3rsuZMvO0nu7\/wBn2xv3qes7uE6pbPf3\/TnSybN+6PfaFxc95nr1KlHIQe7qe\/0qZZrFFszJDWXHl\/G8sdpXd3DuqzqTkkrRK4UpTljq67LZe4qqv96RZ4eUjflO9lhvjk9fAVIut1jWiGqRIV3IQOKz0FUtmtkm6T03+6jCsD3ZkcEJ5E+unrXIpavQ7VqO\/Dp9p\/hc\/Ql7NWhyEwqbOyqfJyXFK1KR0z5An+lXlKVFtt3ZdTgqcVFClKVwmKUpQClKUAqPNmx7fFXJkuBDaBqevcO+uV0usW0RDIkq04JQPiWegrPwrZO2llpuN5BbiIOWIvIjv7u\/ie4VOMd3oZ6tVp4IK8v13s8MxZ+10pMqaFRrWg\/dsgkFzv8A6+nWpd4vBiFFksjYMojd7HBkfv8ASvd7vTqXhZ7Mj2k1YwSngyPoD9Ko24hU4qxWpQdlO\/4+YeGM6pHdnj1q1K+b0MU5YLxg7t6ve\/JfMjlb7Wbo6u3QV7zIIVNmn\/MOc7qe7PDqRk8q3sSIzBiNxY6NxpsYSK5Wy3MWqCiJHHZTqVHio8yazu2G0Xu7ZtsJ375Wjy08UDoD1NRbdSVkXQjDotPHPX5kvnecJVymbV3E2uAr2MEHLro\/Mnv\/AGq8h7K2iGwGzFQ+eJW8Aon9q9bNW9FvskdIQEuOIDjh5knXXw4VbVGUto6FlGjdcSrnJ\/juKl7ZeyPjtQG096CU\/Q1n7tbv+VW\/erbdlslawRFcOfaenHHeOHPrcXraREJ0QYCPep6zuhA1CD39\/dWXtNrk7S3lbk59TrTerrqeCv8ASD58uQ8KsgpWvJ5GXpDpuWClHrc1lY1th2jj3tspCfZSUDK2yRr3p6irmsztHa1wy3e7Zht+IkBaANFIGnyGnh4VNd2jit7PJuuRlxHYb6ufy+oqtxvnE106rheNV5rO\/NEPay8OMtptMIKVLlYHYOqQTw8T9Km7OWNFmgALSkynNXVjXwA7hUHZezuFxd7uCSZkglSAofADzxyz9K01JOywojRg5y40\/Jcl6ilKVWbBSlKAV8JAGScAV9rLXi4v3uUqx2g5SdJL\/wCVI5j+\/CpRjdlVWqqavvsuZymypG1k4263rLdvaP4h8fn7h+nrWmhQY9uipjRWw22npxJ6nqa8Wy3MWqCiJHHZTqVHio8yal12Ur5LQhSpOPXnnJ\/LIVFuNwYtkJyXIVhCBoBxUeQHfXqbNj2+KuTJcCG0DU9e4d9ZqHCkbVThcrilTdvbP4eOT8Xef35+FIxvm9DtWq49SGcn8uxabfJ2hni9XZsCOkfho54Y5HvH18K1tfEpCUhKQAAMADlX2uSliZKlSVNc29XzFKUqJaKUpQClKUAquvd5YssEvujfWo7rbYOqj+3U10ut0j2iEqTIOnBKRxWegqktFskXiam+Xca8YzGNEDkT+nrU4xWr0M9Wo78On2n+O8WqzSrrLF3vick6sRlfCgd4\/T1r1eL\/ACZMw2eyJ9pJUCHHgdG+uD+vLxrxd7vJu0w2WynKjo\/IB0QOYz+vkKsGIlv2UtDjwAyhGVuHRTquQ9eAqfe\/JGZK6cYPL\/qXPw+ZFJJaRYIzdnt59tdJ\/ZceCsFGfoNT8zWisdmZssAMN9pxXadc\/mV+3SqzZeE5Jdev8zJkSyfZgnISjT9seA76tL3d2rNb1yXMKWey0j+dX7da5JtvCidGMYx4sslt3L1ZF2gvv2ehMOIkuz5A3WkJ\/LnTJ\/Ss3d7ILTYYyX8OSZEpKnl5zyPZB8\/Wr7Z60PF43q5krmvjKUkfwknu5HHoNK47ddm2xFn4UyRk+R\/apRaUlFFVaLnSlVn5LkvU0wAAwBgCszd9oJEqWbRYx7WQoEOPJOjfXB\/Xl419v93kSpSbJZ1b0l3+K4k49mPH6n9akeyhbI2NbuEqeIwVkdp5zGg8OPgKjGNs3qXVKjneMXaK1f8AEU02IizMN2qB9\/dZ2EuyM9pAJHoD9NTyrU2e2NWi3NxWwMgZcUPzLxqaq9mLW7ly8z8mZLyQFJxuJ\/rp5YrRUnLY70akl9S1uS5L1e5ykrYbjOqkqSlkJO+VcMc6\/PNm7e1d7uI7i96HGKnUsqJyoHA\/+c1O2iuz1\/uKLLbe22F4JB0cUP8A1Gv16VI+zmtm9qLUGN4tSEFpRJ1Uo6Z9SnSpxWGPezLWmq1VNLqxdm\/E2VKUrOesKUpQClK4TZjMCG7KfVuttjJP0HrQ42krsp9prq6x7K1QgTMmjdBCsFsE4z56+GDU2x2ZmywAw32nFdp1z+ZX7dKq9l4j8yQ9f5urknIYSSewjJ\/oB\/WtNVknZYUZqK4j40vLuXuKh3S6RbTEMiUvA4JSOKz0FRL3tFGs6fZAe2lrHYZTqc8s9KgW6wy7hLFzv5C3B\/CjflR4j9PWuKOV5aHalZt4Keb\/AAvH0OEKBN2nlouN2QWoSNWY2dFd5\/fn4VrEpCUhKQAAMADlX2lclK5ZSpKmuberFKUqJaKUrylSVZ3VA4ODg8DQHqlKUAqPNmx7fFXJkuBDaBqevcO+urrrbDK3nVhDaAVKUeAFZFhl\/a+7GVIBTaoyiG0aj2v98\/TvqcY3zehRWquNoxzk9PU6QIL+09yF3uLZRCb0jMH8wzxP69fAV9vV+XcHXLba3g20gfiZhOEoTzwfl38q83m8uXJ1dptK0tx20\/iZQ0ShA4gHp9eArOK37k81abQ0v2AORnQuK5rV\/egq+Mb5s82pVUE4Qd29Xu3yXcW1kuMlU5m32GOlMZte8+64O06OZUeXcBU6dvbU38QG1E26EcvqSR2l68D8vU10nhGyuz7cKCoGbKUEBwaFSuatenAdMipUNMPZGwJMlQDqhvLAxvOL6DrjhUW915FkINLhzeSzfJcl6ljc7nFs0EvvkAAYbbTxUegqmtVqk3eYm83lPfHjHggciRXOy2+RfZn23dk9gH8MwR2QORx0+vHpWrqt9TJamqCddqcuzsv6\/wCCstt1PjN21MBXakOqC0j+UA8fqKvrncWbVAclv\/CjQJHFR5AVnbXZ37nDm3W4ZVJmtKSwknRCCNCP74eNIK3WY6TJyXChq\/wiw2XgRIFlblpILj7YcdeX64zyAquiJVtbfDMdSr7MhnDSTpvr0Oo+fhgVVQJUy72yLs7ECmykqVIdPJG8dOPDX6Ct5DhsQIjcWMjcbbGAP1NTl1W3uUUUq0YxS6qtfvftud6yG2G0ao+bbCdAWoffLSdUj+Ud\/WrLaO9qhtiBBy5cJHZQlOpQDz8enrWYstkTcrz7u4Q41DO\/Jcxn2i8\/DnmNDr3E865Til1pHelVpSfBp6svdjbH7jE9\/kIw++OwlSdW0\/14+lNsOzJtDh4Jk6+o\/atPWY22\/gW\/d\/ie8jd9P9q5GTlO7J1aUaXRnGO1v2aelKVUbhSlKAVk7u6raK\/NWdhRMWOrelKTnBIOqfljxPdVrtFeBabflvtSnuwwjBOTpk+WfpXKx2p602RSm0JVcH0e0c9oTqrUhJ8M48c1ZHqrEZKz4kuEtNX6eZcIQ3GYShADbTSQAOASAKzs\/aORPfVb9n2i+7wXJ\/IgdR+5+deEbP3W8LS\/fJxQjORFZ0AHQ8h8\/GtBAt8W2xhHiNBtA444qPUnmadWPex9Wrklhj+fYrbLs4zblmXKV71OWSVPK1wT0z9eNXdKVBtt3ZohTjTjhihSlK4TFK4ypLcOK5JeJDbSSpWBk4qnu20zEa0NyIZLj8ofh0KQc8cEkf3mpKLehXOrCCbkyLtRtQLelUGCsGURhax\/lf1+le9h2Wk2lyQlbi3HnPvCvOMjpy5nX\/YZOTZpTTsdmQd+4TFjDZVvFCTzUepPpg+X6PboDNtgtRGR2WxgnGCo8yatnhjCyPP6O6lWu5z0X4v8zJVKVR7T3lVsiJjx8mZK7LWD8PLPz0qlJt2R6NSapxcpEC9y3r9c0WO3qX7FC\/xjiRoADwz3a+JrjMmqm7uz1gIRGZTuvyc9lKeevTqedV1tRKlpNqtKiPbDM6acnePQHoMkd+TyqRKdbbbGzWz6faLcO7JkfzddenX0rRa2XzxPJdRyTm9\/mFf1kCU8mT7OwWJtS2Sr7xznIUOZ\/wBIraWCxM2SHuDC5Cx967jj3DupYrFHskXcRhb6x947jj3DuqDtRf2osVy3RXN+a8PZ7qfyA8c9+OHjUXJzeGJfTpqhHjVddly7kU0q+R3b89dnT7RqJ93EaB\/iK68dBzzjhgVaWqyyrrITdr8d9Z1ZjEYSgciR+nrXjZ3ZJMMNzbkAp5PaQ0dQ348ifpWhdulvYyHZ0dBHEKdSD9aSktIijSk+vW8bev8AESQABgDAFfarV7RWdCd43FgjuVn6VBuG0rL8RbNmX7zLcG6jcSeyeuMefT0qpQk9jZKvTitSE6RtRtMY5AVb7cSVaaLVwx6jTuB61Y7R3hVvjohQ0lU2UN1lKB8PLP7V4gtMbJbOqdlYLpO+4E47SzwSPD9zXDZu2PyX1X26DekvaspP5E9QOXd3eNWZa7IyLH2V25ZvuXzJEXY9pdtvE+2yd32+4hZI9SM\/9Qq9vt7ZskL2qxvuryGm8\/Ef2FUu0TyrJtJEvAbKmnGy24lJxvEf7j0qvZt0raR9d4vDvusFA01x2RyTnl38\/pLCpPE9CCqSpRdCn2k3buWtyBFuYLcpxJdkXe4H2aVbo3UBRwQDnieGnCt3Y7S3Z7Y3HABdI3nVgfEr+nCsHbkle0FuktshqM5I3WEjGQlKhx79eJr9NpWdskOgRxXk9Vl\/b+YrMbY9p21NjiqSMfL9609ZjaQiRtFZImcYd9orvGR\/8mqqfaNfSv8Aya52\/Zp6VFgOzXUvGbGQwUuqDYSve3kcjUqoM0J3VxXlxxDTanHFbqEAqUegFeqzW2E11bcezRNZE1Q3h0Tn9T8galGOJ2K6tRU4ORxtKFbR3927yGz7pFO7FByASDory4nvI6Vq6jwITVvgsxGfgaTu56nmfM5NSKSd3kco03COerzYpSlRLhSlKAUpXlxAcbUglQChjKVEEeBFAZXbi6MJtwt7bwLziwVoTrhI116a4rrZLI3bI\/2vdHEuvpbBTkgpaSBpjvwP0qW1sjakR323ELdcfGFuqPaB6p6a61mbnBuceSnZ2JOcltLSFeyKcboByMnkPPFaI2awpnlVVOE+LUjflbZ7eJebLsuXCXKv8kHefUW2AfyoB1xx8PI1pqyca6361x0Rl7PFxtlIQPYE6456Zr2vbhtlGZFrlNKzgA8PU4qEoSk7oupV6VKFpOz3unqX9xns2yC7LfOEtjIHNR5AeNfn0SHM2ouz0t5wtMAlTrqj2W0\/yjyr3cLrcdpZKMQXnIra+yyyDx71YOtWirZtDdICISIse2QuIbCiCod\/E+uKsjHAu8y1an+mWSbitufoiDc74mPCNrsTZahoO4t8fE6o9\/fjz7hVrYG7bs3AMifJbbmOpytG8FKSOSQBr0J\/pWXbiw2HpDdykvBuOopabaT2nDnlnITyznrVratkH7i\/7aQyqDEzkIUcuKHTu8cDwqclFK1ymlOq6mJK72WyJ1z2pmXNKothjPqGcKfSg58uniao7DZ7pcZSpUJ5ttbK9XXFZ7R8jmtXfnWLDYk2+3thtyUfZNpB11+JWeuNM94q0stuTarWzFHxJGVnqo8eZqvGoxyRqfR5Vay4kr21ttySKdOycqWv2l1u8h7T4Gzgd+p5cdMVKZ2NsjWqoy3T\/rcP6Yq9pVWOXM2ro1Jf838c\/wBlW3s1Zm\/ht7RzyVlQ+ZqXHgwoCSWI7LAGSSlIGOutSazG0dwdny29n7coKceOJCxr7NPT9\/TnRXk7XE+HRjiUVfYjoztbtAVKGbZBON3OjqtcHzx6eNaG6XSLZ4RkSDgDRCBxWegrkkQ9mrJgnDTCOOgLiv3JrKQIE3bC5GdOJRDQcADhj+VP6mp2Us3ojM5SpLCs6kvn2R9Fsum1jL9zkrLaEpIitY0J6Du5Z5nwr59qSdoYECxMgh0\/4lZ0GE5x8gD44rX3KYxZLQ4+lCUoZRuttgYBPBIrIWZciyXiNPuDYbauaVAqIOUEqzr54Pge6pxliV7aaFFWmqclG+vafn8RZXWO1H2jsENpO60yMJ66EftWsqol2d2TtHDuYcQGo7ZSpOu8Trj61b1TJ3SPQowcZTdtX\/EKy6vxf\/ENOUkiJH440Gmf\/etI86iOw484cIbSVKPcBms7scy4+Jl4fSQuY6d3J\/KDy89PKuxyTZGt1pwh33+xpqUpVZqPDrqGWluuKCUISVKUeQHE1m9m2nLncpV\/kJKQ6SiODySNOvdjhxzXXbOU4i2NQWAS9NdCEpSdSBy9cDzq6gREQYDEVGqWkBOevfVmkb8zK\/qVrbRz83oSKUpVZqFKUoBSlKAUpSgObzqI7DjzhwhtJUo9wGazuybTkx6ZfJAIXKWUt5\/kHT0A8qtb\/Ffm2OVHjAl1aRugc8EHHmBWehvbQS7exbbfC9waabCHJDpOSRxI6Z14A+VWxXVZirTtVjdNpLK279i5vO0ca1\/cNJMmYvRDKNcHv6eHGsldotwmSmBcXN+4yyEtRknsspPM9PDuJNaaNbbfspbnZ7x9tIAyt1XxKJ5J6ZP9a8bMQH3nXb7PyZMr+GDwS2cYx\/fDxqUWoq6KasJ1pKE99uS7+bLWz2xq0W5uK2BkDLih+ZeNTU6lKpbu7s9GMVFKK0IbVpt7MtUtqI0l9XFYTrxJz3HXjUtSglJUogADJJ5V9rPbX3UwremIwrEiWd1ODjdTzOc6ccetdScnYhOUaMHKxHtAN+2kfuy8mNEPso4PAq68SOGvmK1NZ2DeLFYrazCE9txTae0WgV7yjxOR3\/LFclbcRXFbkKBLkr6BIH0yflU5RlJ5LIz0qtKlHrSV3m\/E09KzH2ztNK\/wtjDIPN9XD13ae77ZSNTMiRgriAAcd3wn61HBzZZ\/pT7MW\/L1sT9orybVESiOAuZIO4yjmM\/mx\/eteLBaEWOC4\/LdQZDvbfeUrRI6ZP1rLQYU29qeu0q7+wTFO4JKknIHdwxx8darJTs6QD+NlSY7jns0KdUR7UjuJPDTwyKuVPLCn4mCXSmpcVx8PU0rzju2V3EZreRaoqsqWPznqO88ug17q1SDEgMJZStphpsbqUlQAA86zkfYVpDKUuXCQMgFSUYA3udVl\/2ft1rSxFhB+ROkKwhClZwOuAB4evSotRk7JlsZVaMXUnHN73\/CO11ukG77QoalyUNW6CSTkE+2VkZAA45+mete9ob\/AG29wVQYjL8h\/eCm1BGACOPfwyOFXFu2StcOK2l+M3IfA7bi8kKPhwq5ZjsRkbjDLbSf5UJCR8q45xTVtiUaFaSljaWLXd+Hkcrcl5FujJkfxQ0kL48cd9SaUqk9BKysUG2UtTNmEZsZcluBoDu4n9B51bW+IiBb2IiBo0gJ8TzPrVBK\/wD1tuI7A7TNuRvqI1AXx8OO76emoqyWUUjPS69SU\/JeWv5FKUqs0mXfAn7ftNLSVIhMb2AdArjk\/wDcPQVqKzFqAO3N1UokuBoAdAOz+wrT1Oey7jN0bNSlzb9BSlKgaRSlKAUpSgFKV5WtDaCtxQQlIyVKOAKA9Uqjm7X2iGdxDxkuZxusDe+fD51R3Tay8GKHWoHuUdzRLjmSpXhw6dPOrFTkzLU6XShfO\/hmTJyjtFtUi3J7UKD2ntNFKHEeuE\/91Xkm92q3gIemso3dNxJ3iPIa1nLfsVIcjBU24vNh4BbjKOpHMk8fKrqJsnZomD7oHlA\/E8SrPlw+VSlg0uU0VXzlhSb5v8WRDd23hFz2cKLJlL5BKcA\/r8q8m7bUTR+EsyIyTzfOo9SO7lWjaZaYRuMtIbT0QkAfKulRxRWiL+FVl2p\/ZW9TLKs+000H329IjoxqGBj6AfWqrZ+wNXqdLfluOvxWVbiFqXq4c8c+H1FaLay5LgWdTbOS\/KPskYGozxPpp51Nslv+y7QxFIAWlOXMfzHU1LG1G5nfR4SrKObtm7u\/gjxH2etEXVq3s56rTvn55qwQhDad1CQkdAMV6pVTbepvjCMeyrCo89px+3yGWV7jjjakpVjgSKkUrh1q6sYu27IT3m0R7pILURlRKWW1Z3z1\/vWu6WG522zUdptKY1sbyEhOm9x9ckeh8a1iiEpKjoAMmszsWgyGp10c\/iyZBBzyA1+qvlV2NtNswOhCEoU475vwXxGhly2YMVyTIXuNtjJPy+tZ3ZqK9cpz20M5G644d2OjGiU4xkeWnr1rxfHHb9fG7DHViOyQ5JcAzg44fMeZ7q1DTSGWkNNpCUISEpSOQHAVHsx72Wr61W\/\/ADH8v2PdKUqs1iod2uCLXbHpi8EoT2Un8yjwHrUyspdD\/wAybQt2lBzDhkrkKScZVwxw4jh5mpQV3mUV6jhHq6vJErY+3rYgLuEnKpM5XtCo8d3l65J8xWhr4lISkJSAABgAcq+0k8TuTpU1TgorYUpSolhTXTZmJc5fvYeejPkYUtogbw4a+Qq4AwMdK+0rrbeTIRpxi20tRSlK4TFKUoBXlSkoQVrUEpSMkk4AFeqqNqGJD9gkpj72+BvEJJBUkcR36cq6ld2IVJOMXJLQr5G0c+4vrjbPxPbBOipKx2R4cvX0r4Nk5dxWHr3dHXlY\/htaJHnw9AKstmX4T9kY9ySlAQkBxCfyrxrmrapuWF2WRmhRVWKlUd7\/AG+eJAhWW227BixG0KH5yN5XqdaoYp\/5n2mXJVlUC3nDQOCFqzx4cDjPkKn7V3RcSEiFGyZc0+zQkDXB0PgdcCp9mtbdotrcVGCodpxQHxK5muptLE9WHFTqKnFdVZv+L+k+lKVUbBSlV99uX2VaH5Q1cA3Wxj8x0H7+VdSu7EZSUYuT0RSgqvu2meMW1jQgggr\/AHz\/AONaqqTZS3qg2VC3h9\/JPtVk8deGfKrupTedlsU9Hi1DFLWWYpSlQNApSlAcZhIhPkHBDavpWRtF1TZtiw8Bl511aGUjXKuRI7sVr5LjTMZxx9wNtJSd5ROMCsJsbZ\/tCQJkghUeKrCGzqFKIz8tD6VdC2F3MHSHJVYqGrTXhpmaXZezm2W72khP4uQd90q+IdE5+fiau6Uqptt3ZspwVOKjHYUpVfebvHs0FUh4grIIabzqtXTw6miTbsjspKKcpaEbaO+G0RkIYT7SW+d1pHHHfjnX3ZyymzwVB5QXJfVvuq+gzzxr6moWz1pfkPqvd1G\/Ke7TSFf5afDl3dK0tTk0lhRnpRdSXFl5Ll7sUpSqzUKUpQClKUApSlAKUpQClKUBkrrAl7PT1Xm1J3o6v8RHAwAOuBy+nhWht10i3OCJbDg3MdsKOCg8walkAjBGQa\/P9p432HMcYt7+4zObKnYwGQkA\/Tjjpg1bH6mT1MFRvo15x7L27+4trK2q+7Qv3x0H3dkluMlQPkfqfE1q6qNnJVtetTLFvcBDSMKQrAWDzKh3mreozeZf0eKVO97t5vxFKUqBoFZa64vu08a1hO\/Gh\/eSDjQn+XPoPM9KvbtcEWu2PTF4JQnspP5lHgPWqrY+3rYgLuEnKpM5XtCo8d3l65J8xVkck5GWt15ql5vw92aGlKVWahSlKAUpWf2ivTzLrdptvanSezkH+EDz7jz7hrXYpt2RXUqKnHEyJeJS9orkmyQHD7ug70t1IyNDw8seZ8KQdzZjaJdvWvdgzUhTKlHRKhpgn++VXNjszVlgBhBC3FHedcx8R\/YV1utrj3eEqNIGnFKhxQeoqzEuzsZeDNrivt\/Mvm5NpWWTbNqLeAzCuLT7CU4SHQN4ad408MnFffsTaK4JLdyvCW2VcUMJ1PdoB39a5gXMt489MDv5fsl3faiNAX7rET75NVolpvUA9+PoNfCo9tsMybNTdL+sOOjVqP8Alb8eXl661aWuxwLQjEVnt4wXVnKj58vLFWNMSWUTipSm8VV+W3uKUpVZqFKUoBSlKAUpSgFKUoBSlKAUpSgOb77cZhbzywhtAypROMCs1s5Hcut0kbQyUkBZKIyTyTwz6DHma6bVSXJb0axRFffSlD2hB+FPfg+J8BWgjR24kZqMyndbaSEpHcKs7MfEyv6tW20f37FJcdlm3HzNtT6oEvOSUEhKuuenlp3VHi7USIEhMG\/xlMuE4TISOyrXjjp3j0rUVykRmJbJZksodbPFKxkVxTvlI7KhheKk7P8AD8j6y83IZQ8ysLbWMpUk6EV0rMK2YnWt0vWGepoHVTDxylR+nqPOvCdr5FvJj3q3OMvJT2VI4OED048wTxruC\/ZzOf6MGVVW\/X3Pt\/P2ztBDsaV\/dI+9kYOMc8en1FahKQlISkAADAA5Vl9jEB9Mu5vvoXKlrOUBQJSAenLU+mOtamk8uryHRusnVf8A1+thSlKrNQpUeXPiQUb8qQ2yMZ7SsE+A51nHL1ddoFqj2Rgx2AcKluHGnd08snwqSi2U1K0YZavktSZfdolxH0222t+8T3dMDUN569\/P611sFgFsC5MpYfnPHLjp13e4H6mutlsEazt74PtpSh231DU54gd1WtdcklaJCFOUpcSprsuXuKUpUDSKUpQClKUApSlAKUpQClKUApSlAKUpQClKUArnIfbjR3H3VBKG0lSiTiulZrbCU6tuNaI2fbTVgEjknP7\/ACBqUVd2Kq1Thwcj5suy5cJcq\/yQd59RbYB\/KgHXHHw8jWmrjEjIhxGozYAQ0gJGB0FdqSd3cUafDgk9d\/EUpSolorLbSum7XWLs+weKg4+ofkGM9OONfMVfXO4M2uA5MfyUoGiRxUTwAqm2St726\/eJo\/EzTvJ7kHX59OgFWQyWIy13jkqK318Pc9StjIC3EvQXXoLyfhU2okA\/X0Ncja9rGFEsXhlxPRwZP\/ia09K5je519Gp3vHLwdjMbu2fw78PpvaetfDB2wfBQ5cozKCDlSAM\/+Oa1FKY+5D\/Mt5S+5nYuxsMOe3uL7094jtFxRxn6\/OtA22hpAbbQlCE8EpGAK9Urjk3qW06UKfZQpSlRLBSlKAUpSgFKUoBSlKAUpSgFKUoBSlKAUpSgFKUoBWWs+bvtXOualEtRPuWcjxGnzP8A1VqarLHZkWSK4wl4vFxwrK1JweQA+XzNTi0kyipBznHks\/Qs6UpUC8UpSgIs+2xLm2huY17VLawtIJI18uNSUpCUhKQAAMADlX2lLnFFJ3sKUpQ6KUpQClKUApSlAKUpQClKUApSlAKUpQClKUApSlAf\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ESCUELA GRECIA D35",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28743\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28743\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28743\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28743\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:40",
    "ubicacionGPS": "LatLng(lat: -22.4603171, lng: -68.9337568)",
    "horaLlegada": "11:22",
    "horaDespacho": "11:37",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 11:40:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ZulzdN6En7bsW85S9gM++doAqqt-1LdpFgwXAIZaZZ0xzn1ZqIO
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3002",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "952",
    "contadorColor": "6005",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12677",
    "observacion": "entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADdAQ8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABAEAABAwMBBQUFBgQEBwEAAAABAgMEAAURIQYSMUFRImFxgZETFDKhsRUjJELB0TNS4fA0Q2LxBxaCkrLC0iX\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQIEAgkFAQEBAAAAAAAAAQIDERIhMUETUQQiMmFxgdHh8CORobHBFEIz\/9oADAMBAAIRAxEAPwD9mpSlAKUpQClKUApSlAKUpQClKUApVJO2utMNfs0vGQ5nG6yM48+HpXq0bRtXSSqKqK\/GfSkq3XBpu6Y186lgla9ilV6TlhUsy5pSlRLhSlKAUpSgFKUoBSlKAUpWZuN7lXSYbVYTlQ\/jSgey2M8j+vpUoxbK6lWNNXf25k277SRrc57qykyZitEstjODjTOPpxqnsF2vVw2jUzIcQWmwouoT8KOgGOedOJ51Eme62JpyBAWH7k4k+8TFf5QPHB5fXXrilmjXO4QUwbYDDhZPtpaviePPH7DzNXqKUTzJVqkqqTemy\/Xq9EaG67UwLY6GE70l\/m21ru+J\/SrG3T2bnBblsE7ixwI4HmKzd1iwNmLKqNEbLkyYC0FnVZBGCe4csDrWgssFVus8aIs5W2jta51OpHqaqkoqN0bKU6rquMuX25Zk6lKVWaxSlKAUpSgFKUoBSlKAUpSgFKVWXm+xbMyC7948v+Gyk6q7z0HfXUm3ZEZzjBYpPImTJkeBGVJlOBttHEn6DrWXU5ctr3VIYK4VqSSCs\/E7r8\/oO+ukKyTb7ITcr6opb0LUQaADvHL69a1KEIbQENpCEpGAlIwBU8oaamW06\/ayjy3fjyRXR7XarHGW81HbbDad5TitVad5qr2VYXOmTL++nCpKihof6RxPyA8jTaaU7cZjOz8FzDrh3pChnCE4yAfr6da0UaO3EjNRmU7rbSQlI7hRtqOerEYxnVtFdWP79jrSlKrNgpSlAKUpQClKUArytaG0FbighKRkqUcAV5kSGorC333A22gZUpXAVlFmbtlJKG1LjWhtWqsdp0j+\/AeNSjG+exTVq4Mkrt6I9TJ0zaqSq32pZagJ0fkkfF3D9ufPSudwnxtn432NZQDKI++eJ+DTUk9fpXa7XZm0MCy2RCUvgHfWDo0OZJPPvPCqaw2NV5eVlSxCQrLzx+J9XHA7v9+PC9JWu9DzZyljwxzm9Xy7l\/WfLDYHLy+VrUoQkqy47zeV0H9\/Ot0+\/Ds9v317rEdlOAAPQAda7Ntsw4wQgIaZaToOASBWInXeHtDdUImSRGtkdWUgg7zx8uH6A1C7qPuL1GHRIWXafz7Is7BGkXm5Kv1wSQlPZiNngBrrj+9cnpWpqsY2gszu6hqewnTCQTu\/XFWKVJWneSoKHUHNQm23mjVQUIxtF3e7PVKUqBeKUquiXyDOuL0GO4VusjKjjsnkcHuOlds2RcoxaTepY0pSuEhSlKAUpSgFRLa3PajFNxfbee3yQptOBu8hUpSglJUogADJJ5VlZt8l3ySq2WIEJ4OyzoAO7p48elSimymrUjTs3rsuZMvO0nu7\/wBn2xv3qes7uE6pbPf3\/TnSybN+6PfaFxc95nr1KlHIQe7qe\/0qZZrFFszJDWXHl\/G8sdpXd3DuqzqTkkrRK4UpTljq67LZe4qqv96RZ4eUjflO9lhvjk9fAVIut1jWiGqRIV3IQOKz0FUtmtkm6T03+6jCsD3ZkcEJ5E+unrXIpavQ7VqO\/Dp9p\/hc\/Ql7NWhyEwqbOyqfJyXFK1KR0z5An+lXlKVFtt3ZdTgqcVFClKVwmKUpQClKUAqPNmx7fFXJkuBDaBqevcO+uV0usW0RDIkq04JQPiWegrPwrZO2llpuN5BbiIOWIvIjv7u\/ie4VOMd3oZ6tVp4IK8v13s8MxZ+10pMqaFRrWg\/dsgkFzv8A6+nWpd4vBiFFksjYMojd7HBkfv8ASvd7vTqXhZ7Mj2k1YwSngyPoD9Ko24hU4qxWpQdlO\/4+YeGM6pHdnj1q1K+b0MU5YLxg7t6ve\/JfMjlb7Wbo6u3QV7zIIVNmn\/MOc7qe7PDqRk8q3sSIzBiNxY6NxpsYSK5Wy3MWqCiJHHZTqVHio8yazu2G0Xu7ZtsJ375Wjy08UDoD1NRbdSVkXQjDotPHPX5kvnecJVymbV3E2uAr2MEHLro\/Mnv\/AGq8h7K2iGwGzFQ+eJW8Aon9q9bNW9FvskdIQEuOIDjh5knXXw4VbVGUto6FlGjdcSrnJ\/juKl7ZeyPjtQG096CU\/Q1n7tbv+VW\/erbdlslawRFcOfaenHHeOHPrcXraREJ0QYCPep6zuhA1CD39\/dWXtNrk7S3lbk59TrTerrqeCv8ASD58uQ8KsgpWvJ5GXpDpuWClHrc1lY1th2jj3tspCfZSUDK2yRr3p6irmsztHa1wy3e7Zht+IkBaANFIGnyGnh4VNd2jit7PJuuRlxHYb6ufy+oqtxvnE106rheNV5rO\/NEPay8OMtptMIKVLlYHYOqQTw8T9Km7OWNFmgALSkynNXVjXwA7hUHZezuFxd7uCSZkglSAofADzxyz9K01JOywojRg5y40\/Jcl6ilKVWbBSlKAV8JAGScAV9rLXi4v3uUqx2g5SdJL\/wCVI5j+\/CpRjdlVWqqavvsuZymypG1k4263rLdvaP4h8fn7h+nrWmhQY9uipjRWw22npxJ6nqa8Wy3MWqCiJHHZTqVHio8yal12Ur5LQhSpOPXnnJ\/LIVFuNwYtkJyXIVhCBoBxUeQHfXqbNj2+KuTJcCG0DU9e4d9ZqHCkbVThcrilTdvbP4eOT8Xef35+FIxvm9DtWq49SGcn8uxabfJ2hni9XZsCOkfho54Y5HvH18K1tfEpCUhKQAAMADlX2uSliZKlSVNc29XzFKUqJaKUpQClKUAquvd5YssEvujfWo7rbYOqj+3U10ut0j2iEqTIOnBKRxWegqktFskXiam+Xca8YzGNEDkT+nrU4xWr0M9Wo78On2n+O8WqzSrrLF3vick6sRlfCgd4\/T1r1eL\/ACZMw2eyJ9pJUCHHgdG+uD+vLxrxd7vJu0w2WynKjo\/IB0QOYz+vkKsGIlv2UtDjwAyhGVuHRTquQ9eAqfe\/JGZK6cYPL\/qXPw+ZFJJaRYIzdnt59tdJ\/ZceCsFGfoNT8zWisdmZssAMN9pxXadc\/mV+3SqzZeE5Jdev8zJkSyfZgnISjT9seA76tL3d2rNb1yXMKWey0j+dX7da5JtvCidGMYx4sslt3L1ZF2gvv2ehMOIkuz5A3WkJ\/LnTJ\/Ss3d7ILTYYyX8OSZEpKnl5zyPZB8\/Wr7Z60PF43q5krmvjKUkfwknu5HHoNK47ddm2xFn4UyRk+R\/apRaUlFFVaLnSlVn5LkvU0wAAwBgCszd9oJEqWbRYx7WQoEOPJOjfXB\/Xl419v93kSpSbJZ1b0l3+K4k49mPH6n9akeyhbI2NbuEqeIwVkdp5zGg8OPgKjGNs3qXVKjneMXaK1f8AEU02IizMN2qB9\/dZ2EuyM9pAJHoD9NTyrU2e2NWi3NxWwMgZcUPzLxqaq9mLW7ly8z8mZLyQFJxuJ\/rp5YrRUnLY70akl9S1uS5L1e5ykrYbjOqkqSlkJO+VcMc6\/PNm7e1d7uI7i96HGKnUsqJyoHA\/+c1O2iuz1\/uKLLbe22F4JB0cUP8A1Gv16VI+zmtm9qLUGN4tSEFpRJ1Uo6Z9SnSpxWGPezLWmq1VNLqxdm\/E2VKUrOesKUpQClK4TZjMCG7KfVuttjJP0HrQ42krsp9prq6x7K1QgTMmjdBCsFsE4z56+GDU2x2ZmywAw32nFdp1z+ZX7dKq9l4j8yQ9f5urknIYSSewjJ\/oB\/WtNVknZYUZqK4j40vLuXuKh3S6RbTEMiUvA4JSOKz0FRL3tFGs6fZAe2lrHYZTqc8s9KgW6wy7hLFzv5C3B\/CjflR4j9PWuKOV5aHalZt4Keb\/AAvH0OEKBN2nlouN2QWoSNWY2dFd5\/fn4VrEpCUhKQAAMADlX2lclK5ZSpKmuberFKUqJaKUrylSVZ3VA4ODg8DQHqlKUAqPNmx7fFXJkuBDaBqevcO+urrrbDK3nVhDaAVKUeAFZFhl\/a+7GVIBTaoyiG0aj2v98\/TvqcY3zehRWquNoxzk9PU6QIL+09yF3uLZRCb0jMH8wzxP69fAV9vV+XcHXLba3g20gfiZhOEoTzwfl38q83m8uXJ1dptK0tx20\/iZQ0ShA4gHp9eArOK37k81abQ0v2AORnQuK5rV\/egq+Mb5s82pVUE4Qd29Xu3yXcW1kuMlU5m32GOlMZte8+64O06OZUeXcBU6dvbU38QG1E26EcvqSR2l68D8vU10nhGyuz7cKCoGbKUEBwaFSuatenAdMipUNMPZGwJMlQDqhvLAxvOL6DrjhUW915FkINLhzeSzfJcl6ljc7nFs0EvvkAAYbbTxUegqmtVqk3eYm83lPfHjHggciRXOy2+RfZn23dk9gH8MwR2QORx0+vHpWrqt9TJamqCddqcuzsv6\/wCCstt1PjN21MBXakOqC0j+UA8fqKvrncWbVAclv\/CjQJHFR5AVnbXZ37nDm3W4ZVJmtKSwknRCCNCP74eNIK3WY6TJyXChq\/wiw2XgRIFlblpILj7YcdeX64zyAquiJVtbfDMdSr7MhnDSTpvr0Oo+fhgVVQJUy72yLs7ECmykqVIdPJG8dOPDX6Ct5DhsQIjcWMjcbbGAP1NTl1W3uUUUq0YxS6qtfvftud6yG2G0ao+bbCdAWoffLSdUj+Ud\/WrLaO9qhtiBBy5cJHZQlOpQDz8enrWYstkTcrz7u4Q41DO\/Jcxn2i8\/DnmNDr3E865Til1pHelVpSfBp6svdjbH7jE9\/kIw++OwlSdW0\/14+lNsOzJtDh4Jk6+o\/atPWY22\/gW\/d\/ie8jd9P9q5GTlO7J1aUaXRnGO1v2aelKVUbhSlKAVk7u6raK\/NWdhRMWOrelKTnBIOqfljxPdVrtFeBabflvtSnuwwjBOTpk+WfpXKx2p602RSm0JVcH0e0c9oTqrUhJ8M48c1ZHqrEZKz4kuEtNX6eZcIQ3GYShADbTSQAOASAKzs\/aORPfVb9n2i+7wXJ\/IgdR+5+deEbP3W8LS\/fJxQjORFZ0AHQ8h8\/GtBAt8W2xhHiNBtA444qPUnmadWPex9Wrklhj+fYrbLs4zblmXKV71OWSVPK1wT0z9eNXdKVBtt3ZohTjTjhihSlK4TFK4ypLcOK5JeJDbSSpWBk4qnu20zEa0NyIZLj8ofh0KQc8cEkf3mpKLehXOrCCbkyLtRtQLelUGCsGURhax\/lf1+le9h2Wk2lyQlbi3HnPvCvOMjpy5nX\/YZOTZpTTsdmQd+4TFjDZVvFCTzUepPpg+X6PboDNtgtRGR2WxgnGCo8yatnhjCyPP6O6lWu5z0X4v8zJVKVR7T3lVsiJjx8mZK7LWD8PLPz0qlJt2R6NSapxcpEC9y3r9c0WO3qX7FC\/xjiRoADwz3a+JrjMmqm7uz1gIRGZTuvyc9lKeevTqedV1tRKlpNqtKiPbDM6acnePQHoMkd+TyqRKdbbbGzWz6faLcO7JkfzddenX0rRa2XzxPJdRyTm9\/mFf1kCU8mT7OwWJtS2Sr7xznIUOZ\/wBIraWCxM2SHuDC5Cx967jj3DupYrFHskXcRhb6x947jj3DuqDtRf2osVy3RXN+a8PZ7qfyA8c9+OHjUXJzeGJfTpqhHjVddly7kU0q+R3b89dnT7RqJ93EaB\/iK68dBzzjhgVaWqyyrrITdr8d9Z1ZjEYSgciR+nrXjZ3ZJMMNzbkAp5PaQ0dQ348ifpWhdulvYyHZ0dBHEKdSD9aSktIijSk+vW8bev8AESQABgDAFfarV7RWdCd43FgjuVn6VBuG0rL8RbNmX7zLcG6jcSeyeuMefT0qpQk9jZKvTitSE6RtRtMY5AVb7cSVaaLVwx6jTuB61Y7R3hVvjohQ0lU2UN1lKB8PLP7V4gtMbJbOqdlYLpO+4E47SzwSPD9zXDZu2PyX1X26DekvaspP5E9QOXd3eNWZa7IyLH2V25ZvuXzJEXY9pdtvE+2yd32+4hZI9SM\/9Qq9vt7ZskL2qxvuryGm8\/Ef2FUu0TyrJtJEvAbKmnGy24lJxvEf7j0qvZt0raR9d4vDvusFA01x2RyTnl38\/pLCpPE9CCqSpRdCn2k3buWtyBFuYLcpxJdkXe4H2aVbo3UBRwQDnieGnCt3Y7S3Z7Y3HABdI3nVgfEr+nCsHbkle0FuktshqM5I3WEjGQlKhx79eJr9NpWdskOgRxXk9Vl\/b+YrMbY9p21NjiqSMfL9609ZjaQiRtFZImcYd9orvGR\/8mqqfaNfSv8Aya52\/Zp6VFgOzXUvGbGQwUuqDYSve3kcjUqoM0J3VxXlxxDTanHFbqEAqUegFeqzW2E11bcezRNZE1Q3h0Tn9T8galGOJ2K6tRU4ORxtKFbR3927yGz7pFO7FByASDory4nvI6Vq6jwITVvgsxGfgaTu56nmfM5NSKSd3kco03COerzYpSlRLhSlKAUpXlxAcbUglQChjKVEEeBFAZXbi6MJtwt7bwLziwVoTrhI116a4rrZLI3bI\/2vdHEuvpbBTkgpaSBpjvwP0qW1sjakR323ELdcfGFuqPaB6p6a61mbnBuceSnZ2JOcltLSFeyKcboByMnkPPFaI2awpnlVVOE+LUjflbZ7eJebLsuXCXKv8kHefUW2AfyoB1xx8PI1pqyca6361x0Rl7PFxtlIQPYE6456Zr2vbhtlGZFrlNKzgA8PU4qEoSk7oupV6VKFpOz3unqX9xns2yC7LfOEtjIHNR5AeNfn0SHM2ouz0t5wtMAlTrqj2W0\/yjyr3cLrcdpZKMQXnIra+yyyDx71YOtWirZtDdICISIse2QuIbCiCod\/E+uKsjHAu8y1an+mWSbitufoiDc74mPCNrsTZahoO4t8fE6o9\/fjz7hVrYG7bs3AMifJbbmOpytG8FKSOSQBr0J\/pWXbiw2HpDdykvBuOopabaT2nDnlnITyznrVratkH7i\/7aQyqDEzkIUcuKHTu8cDwqclFK1ymlOq6mJK72WyJ1z2pmXNKothjPqGcKfSg58uniao7DZ7pcZSpUJ5ttbK9XXFZ7R8jmtXfnWLDYk2+3thtyUfZNpB11+JWeuNM94q0stuTarWzFHxJGVnqo8eZqvGoxyRqfR5Vay4kr21ttySKdOycqWv2l1u8h7T4Gzgd+p5cdMVKZ2NsjWqoy3T\/rcP6Yq9pVWOXM2ro1Jf838c\/wBlW3s1Zm\/ht7RzyVlQ+ZqXHgwoCSWI7LAGSSlIGOutSazG0dwdny29n7coKceOJCxr7NPT9\/TnRXk7XE+HRjiUVfYjoztbtAVKGbZBON3OjqtcHzx6eNaG6XSLZ4RkSDgDRCBxWegrkkQ9mrJgnDTCOOgLiv3JrKQIE3bC5GdOJRDQcADhj+VP6mp2Us3ojM5SpLCs6kvn2R9Fsum1jL9zkrLaEpIitY0J6Du5Z5nwr59qSdoYECxMgh0\/4lZ0GE5x8gD44rX3KYxZLQ4+lCUoZRuttgYBPBIrIWZciyXiNPuDYbauaVAqIOUEqzr54Pge6pxliV7aaFFWmqclG+vafn8RZXWO1H2jsENpO60yMJ66EftWsqol2d2TtHDuYcQGo7ZSpOu8Trj61b1TJ3SPQowcZTdtX\/EKy6vxf\/ENOUkiJH440Gmf\/etI86iOw484cIbSVKPcBms7scy4+Jl4fSQuY6d3J\/KDy89PKuxyTZGt1pwh33+xpqUpVZqPDrqGWluuKCUISVKUeQHE1m9m2nLncpV\/kJKQ6SiODySNOvdjhxzXXbOU4i2NQWAS9NdCEpSdSBy9cDzq6gREQYDEVGqWkBOevfVmkb8zK\/qVrbRz83oSKUpVZqFKUoBSlKAUpSgObzqI7DjzhwhtJUo9wGazuybTkx6ZfJAIXKWUt5\/kHT0A8qtb\/Ffm2OVHjAl1aRugc8EHHmBWehvbQS7exbbfC9waabCHJDpOSRxI6Z14A+VWxXVZirTtVjdNpLK279i5vO0ca1\/cNJMmYvRDKNcHv6eHGsldotwmSmBcXN+4yyEtRknsspPM9PDuJNaaNbbfspbnZ7x9tIAyt1XxKJ5J6ZP9a8bMQH3nXb7PyZMr+GDwS2cYx\/fDxqUWoq6KasJ1pKE99uS7+bLWz2xq0W5uK2BkDLih+ZeNTU6lKpbu7s9GMVFKK0IbVpt7MtUtqI0l9XFYTrxJz3HXjUtSglJUogADJJ5V9rPbX3UwremIwrEiWd1ODjdTzOc6ccetdScnYhOUaMHKxHtAN+2kfuy8mNEPso4PAq68SOGvmK1NZ2DeLFYrazCE9txTae0WgV7yjxOR3\/LFclbcRXFbkKBLkr6BIH0yflU5RlJ5LIz0qtKlHrSV3m\/E09KzH2ztNK\/wtjDIPN9XD13ae77ZSNTMiRgriAAcd3wn61HBzZZ\/pT7MW\/L1sT9orybVESiOAuZIO4yjmM\/mx\/eteLBaEWOC4\/LdQZDvbfeUrRI6ZP1rLQYU29qeu0q7+wTFO4JKknIHdwxx8darJTs6QD+NlSY7jns0KdUR7UjuJPDTwyKuVPLCn4mCXSmpcVx8PU0rzju2V3EZreRaoqsqWPznqO88ug17q1SDEgMJZStphpsbqUlQAA86zkfYVpDKUuXCQMgFSUYA3udVl\/2ft1rSxFhB+ROkKwhClZwOuAB4evSotRk7JlsZVaMXUnHN73\/CO11ukG77QoalyUNW6CSTkE+2VkZAA45+mete9ob\/AG29wVQYjL8h\/eCm1BGACOPfwyOFXFu2StcOK2l+M3IfA7bi8kKPhwq5ZjsRkbjDLbSf5UJCR8q45xTVtiUaFaSljaWLXd+Hkcrcl5FujJkfxQ0kL48cd9SaUqk9BKysUG2UtTNmEZsZcluBoDu4n9B51bW+IiBb2IiBo0gJ8TzPrVBK\/wD1tuI7A7TNuRvqI1AXx8OO76emoqyWUUjPS69SU\/JeWv5FKUqs0mXfAn7ftNLSVIhMb2AdArjk\/wDcPQVqKzFqAO3N1UokuBoAdAOz+wrT1Oey7jN0bNSlzb9BSlKgaRSlKAUpSgFKV5WtDaCtxQQlIyVKOAKA9Uqjm7X2iGdxDxkuZxusDe+fD51R3Tay8GKHWoHuUdzRLjmSpXhw6dPOrFTkzLU6XShfO\/hmTJyjtFtUi3J7UKD2ntNFKHEeuE\/91Xkm92q3gIemso3dNxJ3iPIa1nLfsVIcjBU24vNh4BbjKOpHMk8fKrqJsnZomD7oHlA\/E8SrPlw+VSlg0uU0VXzlhSb5v8WRDd23hFz2cKLJlL5BKcA\/r8q8m7bUTR+EsyIyTzfOo9SO7lWjaZaYRuMtIbT0QkAfKulRxRWiL+FVl2p\/ZW9TLKs+000H329IjoxqGBj6AfWqrZ+wNXqdLfluOvxWVbiFqXq4c8c+H1FaLay5LgWdTbOS\/KPskYGozxPpp51Nslv+y7QxFIAWlOXMfzHU1LG1G5nfR4SrKObtm7u\/gjxH2etEXVq3s56rTvn55qwQhDad1CQkdAMV6pVTbepvjCMeyrCo89px+3yGWV7jjjakpVjgSKkUrh1q6sYu27IT3m0R7pILURlRKWW1Z3z1\/vWu6WG522zUdptKY1sbyEhOm9x9ckeh8a1iiEpKjoAMmszsWgyGp10c\/iyZBBzyA1+qvlV2NtNswOhCEoU475vwXxGhly2YMVyTIXuNtjJPy+tZ3ZqK9cpz20M5G644d2OjGiU4xkeWnr1rxfHHb9fG7DHViOyQ5JcAzg44fMeZ7q1DTSGWkNNpCUISEpSOQHAVHsx72Wr61W\/\/ADH8v2PdKUqs1iod2uCLXbHpi8EoT2Un8yjwHrUyspdD\/wAybQt2lBzDhkrkKScZVwxw4jh5mpQV3mUV6jhHq6vJErY+3rYgLuEnKpM5XtCo8d3l65J8xWhr4lISkJSAABgAcq+0k8TuTpU1TgorYUpSolhTXTZmJc5fvYeejPkYUtogbw4a+Qq4AwMdK+0rrbeTIRpxi20tRSlK4TFKUoBXlSkoQVrUEpSMkk4AFeqqNqGJD9gkpj72+BvEJJBUkcR36cq6ld2IVJOMXJLQr5G0c+4vrjbPxPbBOipKx2R4cvX0r4Nk5dxWHr3dHXlY\/htaJHnw9AKstmX4T9kY9ySlAQkBxCfyrxrmrapuWF2WRmhRVWKlUd7\/AG+eJAhWW227BixG0KH5yN5XqdaoYp\/5n2mXJVlUC3nDQOCFqzx4cDjPkKn7V3RcSEiFGyZc0+zQkDXB0PgdcCp9mtbdotrcVGCodpxQHxK5muptLE9WHFTqKnFdVZv+L+k+lKVUbBSlV99uX2VaH5Q1cA3Wxj8x0H7+VdSu7EZSUYuT0RSgqvu2meMW1jQgggr\/AHz\/AONaqqTZS3qg2VC3h9\/JPtVk8deGfKrupTedlsU9Hi1DFLWWYpSlQNApSlAcZhIhPkHBDavpWRtF1TZtiw8Bl511aGUjXKuRI7sVr5LjTMZxx9wNtJSd5ROMCsJsbZ\/tCQJkghUeKrCGzqFKIz8tD6VdC2F3MHSHJVYqGrTXhpmaXZezm2W72khP4uQd90q+IdE5+fiau6Uqptt3ZspwVOKjHYUpVfebvHs0FUh4grIIabzqtXTw6miTbsjspKKcpaEbaO+G0RkIYT7SW+d1pHHHfjnX3ZyymzwVB5QXJfVvuq+gzzxr6moWz1pfkPqvd1G\/Ke7TSFf5afDl3dK0tTk0lhRnpRdSXFl5Ll7sUpSqzUKUpQClKUApSlAKUpQClKUBkrrAl7PT1Xm1J3o6v8RHAwAOuBy+nhWht10i3OCJbDg3MdsKOCg8walkAjBGQa\/P9p432HMcYt7+4zObKnYwGQkA\/Tjjpg1bH6mT1MFRvo15x7L27+4trK2q+7Qv3x0H3dkluMlQPkfqfE1q6qNnJVtetTLFvcBDSMKQrAWDzKh3mreozeZf0eKVO97t5vxFKUqBoFZa64vu08a1hO\/Gh\/eSDjQn+XPoPM9KvbtcEWu2PTF4JQnspP5lHgPWqrY+3rYgLuEnKpM5XtCo8d3l65J8xVkck5GWt15ql5vw92aGlKVWahSlKAUpWf2ivTzLrdptvanSezkH+EDz7jz7hrXYpt2RXUqKnHEyJeJS9orkmyQHD7ug70t1IyNDw8seZ8KQdzZjaJdvWvdgzUhTKlHRKhpgn++VXNjszVlgBhBC3FHedcx8R\/YV1utrj3eEqNIGnFKhxQeoqzEuzsZeDNrivt\/Mvm5NpWWTbNqLeAzCuLT7CU4SHQN4ad408MnFffsTaK4JLdyvCW2VcUMJ1PdoB39a5gXMt489MDv5fsl3faiNAX7rET75NVolpvUA9+PoNfCo9tsMybNTdL+sOOjVqP8Alb8eXl661aWuxwLQjEVnt4wXVnKj58vLFWNMSWUTipSm8VV+W3uKUpVZqFKUoBSlKAUpSgFKUoBSlKAUpSgOb77cZhbzywhtAypROMCs1s5Hcut0kbQyUkBZKIyTyTwz6DHma6bVSXJb0axRFffSlD2hB+FPfg+J8BWgjR24kZqMyndbaSEpHcKs7MfEyv6tW20f37FJcdlm3HzNtT6oEvOSUEhKuuenlp3VHi7USIEhMG\/xlMuE4TISOyrXjjp3j0rUVykRmJbJZksodbPFKxkVxTvlI7KhheKk7P8AD8j6y83IZQ8ysLbWMpUk6EV0rMK2YnWt0vWGepoHVTDxylR+nqPOvCdr5FvJj3q3OMvJT2VI4OED048wTxruC\/ZzOf6MGVVW\/X3Pt\/P2ztBDsaV\/dI+9kYOMc8en1FahKQlISkAADAA5Vl9jEB9Mu5vvoXKlrOUBQJSAenLU+mOtamk8uryHRusnVf8A1+thSlKrNQpUeXPiQUb8qQ2yMZ7SsE+A51nHL1ddoFqj2Rgx2AcKluHGnd08snwqSi2U1K0YZavktSZfdolxH0222t+8T3dMDUN569\/P611sFgFsC5MpYfnPHLjp13e4H6mutlsEazt74PtpSh231DU54gd1WtdcklaJCFOUpcSprsuXuKUpUDSKUpQClKUApSlAKUpQClKUApSlAKUpQClKUArnIfbjR3H3VBKG0lSiTiulZrbCU6tuNaI2fbTVgEjknP7\/ACBqUVd2Kq1Thwcj5suy5cJcq\/yQd59RbYB\/KgHXHHw8jWmrjEjIhxGozYAQ0gJGB0FdqSd3cUafDgk9d\/EUpSolorLbSum7XWLs+weKg4+ofkGM9OONfMVfXO4M2uA5MfyUoGiRxUTwAqm2St726\/eJo\/EzTvJ7kHX59OgFWQyWIy13jkqK318Pc9StjIC3EvQXXoLyfhU2okA\/X0Ncja9rGFEsXhlxPRwZP\/ia09K5je519Gp3vHLwdjMbu2fw78PpvaetfDB2wfBQ5cozKCDlSAM\/+Oa1FKY+5D\/Mt5S+5nYuxsMOe3uL7094jtFxRxn6\/OtA22hpAbbQlCE8EpGAK9Urjk3qW06UKfZQpSlRLBSlKAUpSgFKUoBSlKAUpSgFKUoBSlKAUpSgFKUoBWWs+bvtXOualEtRPuWcjxGnzP8A1VqarLHZkWSK4wl4vFxwrK1JweQA+XzNTi0kyipBznHks\/Qs6UpUC8UpSgIs+2xLm2huY17VLawtIJI18uNSUpCUhKQAAMADlX2lLnFFJ3sKUpQ6KUpQClKUApSlAKUpQClKUApSlAKUpQClKUApSlAf\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ESCUELA GRECIA D35",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28743\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28743\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28743\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28743\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:40",
    "ubicacionGPS": "LatLng(lat: -22.4603171, lng: -68.9337568)",
    "horaLlegada": "11:22",
    "horaDespacho": "11:37",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 11:40:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[25/05/2026 11:40:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP3002', 1, 19969062, 952, NOW(), 
				'11:37', '11:22', '11:40', 10, 'entrega insumos', -1, 
				'', '','1','6005',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779723633.png', 'entrega insumos', null, 'COMPLETADO','LatLng(lat: -22.4603171, lng: -68.9337568)' )
				
[25/05/2026 11:40:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200411
[25/05/2026 11:40:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200411', 'EPS-I1240', 1)
				
[25/05/2026 11:40:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28743 and
				    IDproducto = 'EPS-I1240'
				

25/05/2026 11:40:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1240';
                [25/05/2026 11:40:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200411', 'EPS-I1241', 2)
				
[25/05/2026 11:40:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28743 and
				    IDproducto = 'EPS-I1241'
				

25/05/2026 11:40:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1241';
                [25/05/2026 11:40:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200411', 'EPS-I1242', 2)
				
[25/05/2026 11:40:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28743 and
				    IDproducto = 'EPS-I1242'
				

25/05/2026 11:40:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1242';
                [25/05/2026 11:40:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200411', 'EPS-I1243', 2)
				
[25/05/2026 11:40:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28743 and
				    IDproducto = 'EPS-I1243'
				

25/05/2026 11:40:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1243';
                
25/05/2026 11:40:33 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200411'                    
				WHERE idllamado = 12677			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


25/05/2026 11: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 = 12677
                

25/05/2026 11:40:34 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12677			
				
25/05/2026 11:40:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 11: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 = 12677
                
TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 11:40:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/2026 11:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

25/05/2026 11:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12677
                

[25/05/2026 11:40: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;
                

[25/05/2026 11:40: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;
                

[25/05/2026 11:40: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

[25/05/2026 11:40: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;
                

[25/05/2026 11:40: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;
                

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:40: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;
                

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:40: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;
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

[25/05/2026 11:40: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;
                

[25/05/2026 11:40: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

[25/05/2026 11:40: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;
                

25/05/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 = 12677
                

[25/05/2026 11:40: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12677
            GROUP BY l.idllamado;
            

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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 = 12677
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

[25/05/2026 11: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;
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

[25/05/2026 11: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

[25/05/2026 11: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;
                

[25/05/2026 11: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

[25/05/2026 11: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;
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

[25/05/2026 11: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;
                

25/05/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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:40: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;
                

[25/05/2026 11:40: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:40: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;
                

25/05/2026 11: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 = 12540
                

[25/05/2026 11:40: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;
                

[25/05/2026 11:40: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

[25/05/2026 11:40: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:40: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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 = 12540
                

[25/05/2026 11:40: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;
                

25/05/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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

[25/05/2026 11:40: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;
                

[25/05/2026 11:40: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;
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:40: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;
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/2026 11:40:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:40:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

[25/05/2026 11:40:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:40:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:40:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11:40:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:40:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:40:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:40:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:40:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:40:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:40:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:40:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:40:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:40:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:40:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:40:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:40:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:40:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:40:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

[25/05/2026 11:40:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:40:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11:40:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

[25/05/2026 11:40:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:40:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11:40:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:40:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:40: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;
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:40: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;
                

25/05/2026 11:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:40: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:40: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:40: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;
                

25/05/2026 11:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:40: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;
                

25/05/2026 11:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:40: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:40: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:40: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;
                

[25/05/2026 11:40: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;
                

25/05/2026 11:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:40: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:40: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;
                

25/05/2026 11:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:40:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:40:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:40:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:40:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:40:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:40:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:44:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:44: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;
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:44: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;
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

[25/05/2026 11:44: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;
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

25/05/2026 11:44:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

25/05/2026 11:44:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

[25/05/2026 11:44: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;
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12321
                

25/05/2026 11:44:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12321
                

25/05/2026 11:44:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12321
                

[25/05/2026 11:44: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;
                

25/05/2026 11: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 = 12321
                

25/05/2026 11:44:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12321
                

[25/05/2026 11:44: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;
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12321
                

25/05/2026 11: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 = 12321
                

[25/05/2026 11:44: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;
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12321
                

[25/05/2026 11:44: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;
                

25/05/2026 11: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 = 12321
                

25/05/2026 11:44:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12321
                

25/05/2026 11: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 = 12321
                

25/05/2026 11:44:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 11:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                
[25/05/2026 11:44:52] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 11:44:52] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

25/05/2026 11:44:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 11:44:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

25/05/2026 11:44:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:44: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;
                

[25/05/2026 11:44: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;
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:44: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;
                

[25/05/2026 11:44: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;
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:44: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;
                

25/05/2026 11:44:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:44:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:45: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;
                

25/05/2026 11:45:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:45:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:45: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;
                

[25/05/2026 11:45: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;
                

[25/05/2026 11:45: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;
                

25/05/2026 11:45:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:45:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:45: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;
                

25/05/2026 11:45:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:45:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:45: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;
                

25/05/2026 11:45:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:45: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;
                

25/05/2026 11:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:45: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;
                

25/05/2026 11:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:45:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:45:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:45: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;
                

25/05/2026 11:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:45:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:45:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:45:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:45: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;
                

25/05/2026 11:45:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:45:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:45: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;
                

25/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:45:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:52: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;
                

25/05/2026 11:52:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:52: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;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:52:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:52: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;
                

25/05/2026 11:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:52: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;
                

[25/05/2026 11:52: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;
                

[25/05/2026 11:52: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;
                

[25/05/2026 11:52: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;
                

25/05/2026 11:52:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:52: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;
                

[25/05/2026 11:52: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;
                

[25/05/2026 11:52: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;
                

25/05/2026 11:52:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:52: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;
                

25/05/2026 11:52:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:52:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:52: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;
                

25/05/2026 11:52:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:52: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;
                

25/05/2026 11:52:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:52: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;
                

25/05/2026 11:52:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:52: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;
                

25/05/2026 11:52:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:52: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;
                

[25/05/2026 11:52: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;
                

25/05/2026 11:52:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:52: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;
                

25/05/2026 11:52:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:52: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;
                

25/05/2026 11:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:52: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;
                

25/05/2026 11:52:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:52: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;
                

25/05/2026 11:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:52: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;
                

25/05/2026 11:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:52:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:53:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 11:53:33] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[25/05/2026 11:53:33] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 11:53: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;
                
[25/05/2026 11:54:25] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 11:54:25] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 11:54:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:54:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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 = 12540
                

[25/05/2026 11:54:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:54:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:54:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:54:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:54:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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 = 12540
                

25/05/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

[25/05/2026 11:54:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/2026 11:54:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/2026 11:54:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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 = 12540
                

[25/05/2026 11:54:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/2026 11:54:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:54:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/2026 11:54:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

[25/05/2026 11:54:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:54:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:54:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

[25/05/2026 11:54:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:54:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

[25/05/2026 11:54: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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 = 12540
                

[25/05/2026 11:54: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;
                

25/05/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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54: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;
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/2026 11:54:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

[25/05/2026 11: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;
                

[25/05/2026 11: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;
                

25/05/2026 11:54:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11:54:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

25/05/2026 11:54:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:54:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

[25/05/2026 11:54:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:54:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

[25/05/2026 11:54:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:54:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:54:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:54:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:54:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:54:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54: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;
                

25/05/2026 11:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54: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;
                

25/05/2026 11:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54: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;
                

25/05/2026 11:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:54: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;
                

[25/05/2026 11:54: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;
                

25/05/2026 11:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54: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;
                

[25/05/2026 11:54: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;
                

25/05/2026 11:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54: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;
                

25/05/2026 11:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:54: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;
                

25/05/2026 11:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54: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;
                

25/05/2026 11:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:54: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;
                

25/05/2026 11:54:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:54: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;
                

[25/05/2026 11:54: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;
                

25/05/2026 11:54:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54: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;
                

[25/05/2026 11:54: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;
                

25/05/2026 11:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:54: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;
                

25/05/2026 11:54:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:54: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;
                

25/05/2026 11:54:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

[25/05/2026 11:54: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;
                

[25/05/2026 11:54: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54: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;
                

[25/05/2026 11:54: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54: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;
                

25/05/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 = 12540
                

25/05/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 = 12540
                

[25/05/2026 11:54: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

[25/05/2026 11:54: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;
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54: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;
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:54: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;
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/2026 11:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
[25/05/2026 11:55: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 11:55:12] 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;
                

25/05/2026 11:55:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:55: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;
                
[25/05/2026 11:55: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;
				
[25/05/2026 11:55: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;
                

[25/05/2026 11:55:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:55:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:55:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:55:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:55:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:55:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:55:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:55:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:55:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:55:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:55:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:55:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:55:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:55:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:55:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:55:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

[25/05/2026 11:55:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

[25/05/2026 11:55:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:55:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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 = 12540
                

25/05/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 = 12540
                

[25/05/2026 11:55:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

[25/05/2026 11:55:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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 = 12540
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:55: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;
                

25/05/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 = 12540
                

25/05/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 = 12540
                

[25/05/2026 11:55: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

[25/05/2026 11:55: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/2026 11:55:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:55: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;
                

25/05/2026 11:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
[25/05/2026 11:55: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;
				
[25/05/2026 11:55: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;
                

25/05/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 = 12540
                

25/05/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 = 12540
                

[25/05/2026 11:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/2026 11:55:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                
[25/05/2026 11:55:33] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 11:55:33] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 11:55:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                
[25/05/2026 11:55:38] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 11:55:38] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 11: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;
                
[25/05/2026 11:55: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;
				
[25/05/2026 11:55: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;
                

[25/05/2026 11: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;
                
[25/05/2026 11:55: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;
				
[25/05/2026 11:55: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;
                

[25/05/2026 11: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;
                

25/05/2026 11:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:55:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:55:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:55:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:55:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:55:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

[25/05/2026 11:55:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11: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 = 12540
                

[25/05/2026 11:55:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:55:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:55:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11: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 = 12540
                

[25/05/2026 11:55:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

[25/05/2026 11:55:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:55:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:55:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:55:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:55:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:55:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:55:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:55:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 11:55:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:55:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:55:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:55:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
[25/05/2026 11:55:59] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 11:55:59] 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;
                

[25/05/2026 11:56: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;
                
[25/05/2026 11:56:03] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[25/05/2026 11:56:03] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 11:56: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;
                
[25/05/2026 11:56: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 11:56:12] 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;
                

[25/05/2026 11:56: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;
                
[25/05/2026 11:56:59] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 11:56:59] 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;
                

[25/05/2026 11:57: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;
                
[25/05/2026 11:57:02] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 11:57:02] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 11:57: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;
                
[25/05/2026 11:57: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;
                
[25/05/2026 11:57: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;
				

[25/05/2026 11:57: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;
                
[25/05/2026 11:57: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;
                
[25/05/2026 11:57: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;
				

[25/05/2026 11:57: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;
                
[25/05/2026 11:57: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;
				
[25/05/2026 11:57:32] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 11:57: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;
                
[25/05/2026 11:57: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;
                
[25/05/2026 11:57: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;
				

[25/05/2026 11: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;
                
[25/05/2026 11:57: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;
                
[25/05/2026 11:57: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;
				

[25/05/2026 11: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;
                
[25/05/2026 11:57: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;
				
[25/05/2026 11:57: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;
                

[25/05/2026 11: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;
                

[25/05/2026 11: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;
                
[25/05/2026 11:57:43] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 11:57:43] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 11: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;
                
[25/05/2026 11:57:45] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 11:57:45] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 11: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;
                
[25/05/2026 11:57: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;
				
[25/05/2026 11:57: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;
                

[25/05/2026 11:57: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;
                

[25/05/2026 11:57: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;
                
[25/05/2026 11:57: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;
                
[25/05/2026 11:57: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;
				

[25/05/2026 11:57: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;
                
[25/05/2026 11:57: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;
				
[25/05/2026 11:57: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;
                

[25/05/2026 11: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;
                
[25/05/2026 11:58:09] 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;
                
[25/05/2026 11:58:09] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' 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;
				

[25/05/2026 11:58: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;
                
[25/05/2026 11:58: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;
				
[25/05/2026 11:58: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;
                

[25/05/2026 11:58: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;
                
[25/05/2026 11:58:20] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[25/05/2026 11:58:20] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 11:58:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 11:58: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;
                
[25/05/2026 11:58: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;
				

[25/05/2026 11:58: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;
                
[25/05/2026 11:58:28] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 11:58:28] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 11:58:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 11:58: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;
                
[25/05/2026 11:58: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;
				

[25/05/2026 11:58:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 11:58:32] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[25/05/2026 11:58: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;
				

[25/05/2026 11:58:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 11:58: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;
				
[25/05/2026 11:58: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;
                

[25/05/2026 11:58:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 11:58:52] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[25/05/2026 11:58:52] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 11:58: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;
                
[25/05/2026 11:58:53] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 11:58:53] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 11:58:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 11:58:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:58:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

[25/05/2026 11:58: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;
                

25/05/2026 11:58:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:58: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;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:58:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:58:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:58:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:58:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:58: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;
                

25/05/2026 11:58:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:58: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;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:58:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11:58:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:58: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;
                

25/05/2026 11:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:58: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;
                

[25/05/2026 11:58: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;
                

[25/05/2026 11:58: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;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

[25/05/2026 11:58: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;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:58: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;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

[25/05/2026 11:58: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;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:58:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:58:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:58:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:58:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:58:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:58:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:58: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;
                

25/05/2026 11:58:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:58: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;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:58:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:58:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:58: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;
                

[25/05/2026 11:58: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;
                

25/05/2026 11:58:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11:58:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:58:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:58:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:58: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;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:58:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

25/05/2026 11:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

25/05/2026 11:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

25/05/2026 11: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 = 12540
                

[25/05/2026 11: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;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

[25/05/2026 11: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;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

[25/05/2026 11: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;
                

25/05/2026 11:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

25/05/2026 11: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 = 12538
                

25/05/2026 11:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

25/05/2026 11: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 = 12538
                

[25/05/2026 11: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;
                

25/05/2026 11:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

25/05/2026 11:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

[25/05/2026 11: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;
                

25/05/2026 11: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 = 12538
                

[25/05/2026 11: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;
                

25/05/2026 11: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 = 12538
                

25/05/2026 11:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12538
                

25/05/2026 11:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12538
                

25/05/2026 11:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

[25/05/2026 11: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;
                

25/05/2026 11:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11: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;
                

25/05/2026 11:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

[25/05/2026 11:59: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;
                

25/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

[25/05/2026 11:59: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;
                

25/05/2026 11:59:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

25/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

[25/05/2026 11:59: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;
                

25/05/2026 11:59:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

[25/05/2026 11:59: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;
                

25/05/2026 11:59:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

[25/05/2026 11:59: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;
                

25/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

[25/05/2026 11:59: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;
                

25/05/2026 11:59:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

25/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

[25/05/2026 11:59: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;
                

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:59: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;
                

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

[25/05/2026 11:59: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;
                

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:59: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;
                

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 11:59: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;
                

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

25/05/2026 11:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

[25/05/2026 11:59: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;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

[25/05/2026 11:59: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

[25/05/2026 11:59: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;
                

25/05/2026 11: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 = 12540
                

[25/05/2026 11:59: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;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

25/05/2026 11: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 = 12540
                

[25/05/2026 11:59: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;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

[25/05/2026 11:59: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;
                

[25/05/2026 11:59: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;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

[25/05/2026 11:59: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;
                

25/05/2026 11: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 = 12540
                

[25/05/2026 11:59: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;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

[25/05/2026 11:59: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

[25/05/2026 11:59: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;
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12538
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

[25/05/2026 11:59: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12540
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11:59:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

[25/05/2026 11:59: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;
                

25/05/2026 11:59:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

25/05/2026 11:59:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

[25/05/2026 11:59: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;
                

25/05/2026 11:59:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

[25/05/2026 11:59: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;
                

25/05/2026 11:59:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

[25/05/2026 11:59: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;
                

25/05/2026 11:59:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

[25/05/2026 11:59: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;
                

25/05/2026 11:59:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11:59:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

25/05/2026 11:59:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

25/05/2026 11:59:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

[25/05/2026 11:59: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;
                

25/05/2026 11:59:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

25/05/2026 11:59:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 11:59: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;
                

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 11:59:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11:59:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/2026 11: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 = 12538
                

25/05/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 = 12538
                

25/05/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 = 12538
                

25/05/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 = 12538
                

25/05/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 = 12538
                

25/05/2026 12:00:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 12:00:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/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 = 12538
                

25/05/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 = 12538
                

25/05/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 = 12538
                

25/05/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 = 12538
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/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 = 12538
                

25/05/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 = 12538
                

25/05/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 = 12538
                

25/05/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 = 12538
                

25/05/2026 12:00:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12: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 = 12538
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12538
                

25/05/2026 12:00:45 - logentry: =========================================
FECHA: 25/05/2026 12:00:45
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-vk+bjoo7k4TamuWQnyX2Y8XrLeAZx0LtmIPxMF6+Pl-+ShmGV6Q
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "TO3066",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "60760",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Cambio repuesto, maquina quedo operando correctamente",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12538",
    "observacion": "cambio de unidad de imagen",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC5AQ8DASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgECAwf\/xABBEAABBAIABAMGBAMECAcAAAABAAIDBAURBhIhMUFRYRMicYGRoRQyscEj0fAVQlLhByQzYoKSwvEWJjRDcqLS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgEDAgQEBQQDAAAAAAAAAAECAxEhEjEEQVFxIpHR4RMyYYHwM6GxwRRC8f\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAiIgCIiAIuOYb1sb8lygCIiAIiICLkYLNik+KpY\/DzO1qXW+Ub6\/ZSI2ubG1r387gAC7WuY+el2RLnLZuEREOnnPI6GvJK2N0jmMLgxvdxA7BedGy63SisPgfA6RuzG\/u1SEQ5Z3vcIiIdCIiAIiIAiIgCIiAIi6veyNhfI4Ma0bLnHQCA7Is9b4xoxyOgowy35h2bEPdPn1\/kF4\/wBq8VWv\/TYaOAeczuo+pH6Keh8zO+Jp3tHPZXNOiy\/\/AJyrgSH8LYHcsAG\/2\/VTsZxHHbtfgrkBpW\/CJ53zfA6RwfIR4iLdpJruXSIigaAiIgC85pWV4JJpDpkbS5x9ANr0VJxfI6Phq1y9C7lbv0LhtdirtIrqT0QcuiMwLV6SepnpJJGma1yMZzc2mA9eUa7Dbh9V9CWMyzW16HDcTOjOdjjvz93rv5lXGR4txdAljZDZm8GQjf37K2acrWRi4ecaWrXLp52LtFlhkOKsof8AVKMdCI9pJu46evf\/AJVpohIImCUgyco5i3sT46VbjY2U6qqbJndERRLQi4c4NaXOIAA2SfBVGH4kqZq3LXrxyNMbebmfr3hvXQb35fX69SbVyEpxi1FvLLhEVBxbkZa1BlKqSbVx3s2Bp0deOvXZA+ZSKu7HKlRU4OT5Ea3xBfytl1Lh+LfKdPtO1yj4f18lpYfaCFgmLTJyjnLe2\/HSi4nGxYrHx1ogNgAvcP7ztAE\/ZUXGGcmpSV6VOcwyuPPI9p6tHYD9T8gp21PTEz6nRg6lV3fT0NUizuQ4ifK9lHAtZdsPHvPBJbGPPfz77+q8Bw5laPLcx2Sebb\/esNmO2yH6ep7\/AGXNHV2JuvnwLVbe35kv8lYlq42xPBGZJWMJY0DfXw+SpOHuK2X2Sx5KWCvMwjXMeQO3vts9wuBJxfJzV5KtMNcNe22DrevDZ34+C9afB2NZUDbkImsE8z5GucBvyHp8VJKKVmVOdadRSpqyW98Fscrjmjbr9UDzMzf5qJLxRhISQ7IRnX+AF36BeLeDsGO9VxHkZXfzUqLh7DwgBuOrnX+NnN+qj4PqW34h8kvN+hWy8bUi\/wBnRq2LkngGM1v9\/stDE8yRMeWFhc0Etd3b6FcQwQ128sMTIm+TGgD7L0XG1yRZTjUWZyv9giIolpXZfNVMLXEllxL3fkjb+Z3+XqqOPE5PiVzbOXldWq9468Z7jz9PDqdn4K7nwVKzl48nM1z5Y26DXHbdjsden9dVZKakorG5mlSlUk\/ifL069\/Qi0MZTxsXs6ddkQ8SB1d8T3KlIig3c0KKirILM8ax+yq1MhGQyaCcAO8dEH+X6rTLL8VSG\/kMfhITt8kokk0fygf5bPyCnT+Yz8V+k15dzTMdzsa7WuYA6XZcAADQGgFyoGkIiIAsbxhxDTnqS4uuTJLzjneB7rdHtvxK2SzXGdSJuAmlijYxxmY+Qhui89uv1VlO2pXMvFqboy0vuZ63Uyt67iqeU1FG8BkTI9EsZ0BPTffp3W3x2Ex+KYBVrtD\/GR3V5+aoKMhy3GUMvX2VKq0jROtlo\/d3p2VvxLlf7JxL5GnUsu44\/MEg9fkpzbdooz8PGnBTqvNub+h63+IMZjiWz2QXtOixnvEHyPkfRSqV2tkKzbFWUSRu8R4HyPkVW4HAQY2nudglsy+9K9\/X5df67qHwZywMyNBu\/9Xsne+nfp2\/4VBxjZ25GiNSprippeK\/2NMiLwuW4aFSS1YfyxRjbiqzS2krspeKr7\/Yx4eo4firxDNdfdYTok+h7fDarsNRjwfGX4Mb1NU0wk9z0J+7XeSl8M1Zcjcm4gvM1LKdV29fcbrRI39Pr5pxWw0r+OzTd8teUMkAHXlPX+Y+avWPB+XPNmnJf5D5NW7fmTTrMZN2+PsWyQ6jEJLfD3vf8fkFpWPbJG2Rjg5rgC0jxCg5XCUszG1tpjuZm+R7Dpzd9\/RVxaTybK0HOK08mn5Hlm87Xw8HhLZf0ihaepPr6KDheHGmCezl4xPZuHbw\/uxu96+P\/AGUrGcLYzFSiaJj5ZWk8r5iCW9u2gB4fcq5XXJJWiRjTlOWqquyItLGUseCKlZkWxokDqRvffupSIq27mhRUVZIIiIdCIiAIiIAiIgC6SyMhifLIeVjGlzjrsB3XdcOAc0tPUEaKA8adyvfrNs1pPaROJAdrW9HX7L3WX4Se6ldyOGf\/AOxLzx9O47H\/AKfqr7I34cbSktTuAawHQJ0XHwA9SpSjaVkUUquqnrljr9iJns3Hh6nu6falGoYu5J89eSi8OYSao5+SyMjpL1gbdzH8gPh8f07BRuH6E2UvHiLIa5pNivF4MA6b6\/b6rUKUnpWlFdOLqy+LLbkv7CIirNYREQBV2frts4G7G48uonOB8iBv9lYrP8Y3DDiRTi6z3XiNjfMbG\/2HzUoK8kU15KNKTfQicB1Q2hYuuPNJNJybPUgNH+f2C9M6w3uLMVQc7+Gwe2c3wPUny\/3NfNdODjLQdkcXZIBrSc+z0BHYnr4dAV24biflMrb4gmLgHOMUDCNAN6dfp0+O1a8ScjFTSdGnSS3efs8moWYw28fxdlKcjC38WfbMcT+bqT0\/5j9Fp1S53DTXLFbIUXiO5WPuk9A4eR+\/T1Kri1lPma68Xicd0\/8ApcucGtLnEAAbJPgsjk7Q4my8OOqy82Prn2lqUHTT8\/LwB8z6L1mx\/FOTiNa3YrwQuPvGPuR18vl0VyMJUixM2PrgwsmYWvkb+d3TuT4qStHN8lU9ddWStH67v6ETB5l2Su2a9WtGyhVAZHID310Gh5aHy6K2t1Ib1SSrYZzxSDTgvPG4+HF0Y6lffIzfV3dxPclSlCTV8GinGWi08v8AMEejTjoU46sJcY4hpvMdlSERRLEklZBERDoREQBERAEREARRLOQZWvVaphlebJcA9rdtbob6quy3FNPHv\/D1wblsnQiiO9H1P7d1JRb2KpVYQTcnsW1q3XpQOnsytijb3c4qow+dtZm+8w0izHtBAmf+Zzv0UKrw\/dzNht\/iCQ67sqM6Bo8j5fDv5laeKKOGJsUTAxjBprWjQAXXpirbsri6lSSl8sf3fod0Xjbt16Nd1i1K2KJvdzv66rMS5bKcSSOrYaN1aoOkll\/Qkenl8B1+C5GLZOpWjTxu+hGzuQjxXF7LtPlnldFySxNd3drQB1\/w9PRTKHD9zK2GZHiCQvIPNHV7NaPUeHw+pUHOYOtw\/UoXa5c+WKy0yyOJ2899+g6fdbZj2yRtkY4Oa4AtI8QrZStFaTHSpOdSSqd7cs\/yctaGtDWgAAaAHguURUHpBERAEVZlM9SxREb3e0sO1ywMPvHf6fNZzG8aWpsyyK6Io60nukNGuQ+B3vz7qapyaujNU4mlCSi3k2yyVAniLi2XIb3Toe7D5Od4H67P0XtnuIG2oTjMM82bU\/uudF1DG+Pvdtq5w+MixGOjqxgbA3I4f3n66ldXhjd7shJqtUUV8qy+\/JFZmeHZreQ\/HULAgkmaIrAI2Hs7E9fQAa11VtjKEeMx8NSMgiNui7l1zHxOlLRRcm1YvjRhGbmllhERRLQi8bc761SWeOF87mNJEbO7vQLmtK6etFM6J8RkYHGN405ux2KWOXV7HqiIh0Ii6ySMiYXyPaxo7lx0AgOyKEcxjA5zfx9clutgSAqqn41x0UzmRxTzsYdGSNo5fl1UlCT2RTKvThvI0SKHjstSysRkpzh\/Kfeb2cPiO6mLjVty2MlJXTwERFw6FW5bO0cPHuzJuQ\/liZ1cf5fNdc0cy5jIsS2IF\/R8rz1Z8P8AsVGxPC8FKX8ZdkN2647Mj+oB9Af1P2U0o2uzPOdRvRTX3e3uV\/LneKdO2cZjz4bPNIPsT9h8VeYrBUcPHqtFuQj3pX9XO\/l8lYojm3hbHYUIxeqWZdX+YCIigXkTIYynlImRXIvaMY7maOYjr8lJjjZFG2ONjWMaNNa0aAHoF2Rdu9jmlJ3tkp+LGtdw1c5hvQaR8eYKVhHukwdJ7iSTA3qTs9lzmKZv4izVH5pIzy\/EdR9woPCNs2uHoAd7hJiJ1reu32IUv9PuZ9uI7r+H7l2iIoGkKJlLv9nY2e3oExN2A7eiew7KWuskbJY3RyNDmOGi0joQurc5JNppbnzrG\/iMlNyU4vbZCUkz25CT7JvYaPbfqPLQ81roOGKDca2pYZ7Z5cHySn8znfPw10+Hr1VnWqV6cXsq0LImeTRpeynKo3sZKPCxgvHl\/n5ciUcZSxzdVK7IyQAXAbcQPM91LRFW3c1qKirJBERDoUSnkYLs9mGHn5qr\/ZvLm6G\/RS1xoDeh37ocd7qxyiIh0Lhzg1pc4gADZJ8FysxlZ7eczLsJUcYqsQBtSNdokeX7a8fgpRjcqq1Phra7ex3s8VPtWTTwdU3Jh3kJ5WD4b7\/b5qFbwUvsZMjxNkjI2MbbFE7Q34AdPsB81fSz4zhrGta4iGJo01o6vkPT6nsqWpWu8U5CPIXY\/Y42I7hhPd\/r+nX5K2LtlYRiqRcnpm9Uny5Lv7lDFw9byFeK3WqCKKzMGMZsksb\/AItk9R067+S+g46hDjKMVSAe7GOp11cfElSQABoDQC5UJ1HI0UOFhRd1uZfMYifF2hmsM0hzCXTVx+V48Tr9flpW+HzVTM1va13ae0D2kR7sP7j1VioVbEUKd2W5XrtjmlGnlpOiO\/bsOwXHJNZJKlKE7w2e6\/tE1EXVzeZhbsjY1sHRCgaDsii46l\/Z9Jlb28k\/KSS+Q7cdnalIzibayEREOhERAEREAWZ4GAjxdmHe3Msne\/8A4tHb5FaZQ6WLr0LFqeEyF9p\/PJzu3169vqpJ+FopnBupGS5X\/cmIiKJcEREAREQBERAERR7t2GjVlnlcP4bC7l31PgB8zofNDjaSuzzyGVo4qMPuTiMO\/KNEk\/ILxxWeoZhz21Xu52dS17dHXn8OqqcBimZQuzmSaZ5Z3ExMf1axvh08Uxbm3uM7tqu0ivBH7IuDdtc4aBAPh13276VumNmuhjVao3F4s3tzt1NQqzLZ+liByzOL5joiFn5iCe6h5jiZtSY0cfCbd09OVnUMPrrvryXXh\/h99aU5PJu9tkJfe97r7Pf7\/p2C4opK8ic6zlLRS35vkvcv43iSNrwCA4A6PcKhtcPXG5Se7jcia5s69qHNBPjvR108NfNaBFBSa2Lp04zSUuRnqPCbGWhbylyTIyt\/KJd8o+RJ3+i0AAA0BoBcojk3uKdKFNWigiIuFgRF1c5rdczgNnQ2e5QHZERAEREAREQBERAEREAREQBERAdJZY4Y3SSyNjY0bc5x0B81Q2ONcYyQRVWT23k6AiZrZ+fX7KNJisnxHkHvynPUowvIZXB6v147\/f6eav4ocfjQyOJletz+60ABpfrw9VZaK3yZddWpmPhXV7+RR\/8Ai+yOrsBcA8T16f8A1Vlh+IKmYL2RtfFPHvmik1zDWtn4dVarL51jK\/FWJmr7bYmfyyco7t2Bs\/LfyCLTLFiMvi0rScrrsahV2LzEOUksxsjfFJXfyuZJ0drwOvDseisV88zNiatxLk69F3KbfJE5wI1twbsdvPfr3SEdV0S4ms6OmXL2Ly\/nruQvOxnD7Wvez\/a2T+Vvw8Pn9FV5\/h2LF4Z1ye9PPce5rS5z\/dcSdkdep7b7+C1uMxlTC0PYw6a1o5pJHdC4+JJWMzuQscT5RtLHRmaCI+4QNbPi4k9h4KyDz4djJxMbU71Myey6dvUk5DiyCPARUKHN7cxCGQlvLyAN0devkuuIflpMcyhh6RrNkHNLdkbrmJ8vDt06b+RWiw3DtfGtM02rFyQfxZXDx8dD9+5VwoucVhIthw9WTUqkrYtZFZhMHXwtctj\/AIkz+skru7vT4KzRFU227s3QhGEdMVgIiLhIIiIAuHODWlziAANknwXhdvVsfXdPambGweJ7n0A8VmHzZXi5\/s4GupYrm957ujpB+\/w7fFSjG+eRRUrKHhWZdCwr8SPyOabTxlb29aM\/x5z0AHmP66q1vY6pkmRstxe0bG8PaOYjRHwXajRrY6q2tVjDI2\/UnzJ8SpCNq\/hOwhLTao738giIolwREQBERAEREAREQBERAEREAWY4hBt8S4eiRtgeZXDz0d\/o0rTrMO\/j\/wCkRu+vsK3T06H\/APSnDdszcTmKj1aNHPI6GvJK2N0jmMLgxvdxA7BZ7C0LuQybs5lGGNxGq8Dh+Qddb2PDw+K0UsscETpZntjjYNuc46ACzsvEl\/ITvhwFEWGsOjYkOm\/Q6\/X5Lsb2dhWcFKLk+y6l\/btw0aklqd3LHGNuOtr580Y6zjLd\/J2uS3Yn9pE2M80nY6GvAbPoOg9F2fBls1mhjLGQdYAfuf2RPs4wO\/gBsdu3da7H8MYrGkOjr+0kHaSU8x\/kPkFNWprLyZJa+KlhWiuvUy9HG8QcQ6\/F27EdPpsykjnHo3x+a2mOxlTF1\/YVIgxv949y4+ZKloq5TcjXR4eNLO76sIiKBpCIiAIij3btbH1nWLUojjb4nxPkPMocbSV2SFnsnxXFFN+DxUX46246HKCWNPxHf5fVQjNluLS6OAGhjD0c9w96T09fh29StDjMTTxNcQ1IuX\/E89XO+JVllHfcy651v08Lr6epS0+GbN2y29xBY\/ESj8sA\/I34+HyH3Wla1rGBjGhrWjQAGgAuyKMpN7l1OlGmse4REUS0IiIAiIgCIiAIiIAiIgCIiAIiIAsxhAbPGGZtkf7PUPl6f9C0xIA2ToBZngrUsOQtjqJrJ6np6\/8AUpx+VszVc1ace78l7kK3O3P5Sy2\/fZWxdOTXsy4NMhG+vz\/RegyNvJAY7hmt+HqNIDrRBGvP+u6uJeFsTPbfZlgL3SOLnN5iG7+AVpDBDWiEUETIo29msGgFNzjyKY8PUbep2vzW79EQsJhoMLS9hEeZ7zzSP1+Y\/wAvIKxRFU227s2xioRUY7BERcJBERAEXDnBrS5xAAGyT4LN3+JprM34LAQ\/ipidGbW2M\/rzPT4qUYuWxXUqxprxFpmM3Uwtf2k7uaRw9yJp95x\/YeqpaOGt5+w3J5skRd4ag6AD1\/rZUrE8LsgnF7KSm5dJ5tuO2sPp5rQqV1HEShU51Xqq4XT19DhrQ1oa0AADQA8FyiKs1hERAEREAREQBERAEREAREQBERAEREAREQEPLzCvh7kpOuWB5Hx0dfdV\/B0XsuGqxIILy5x2P94\/sAvPjB08mLjpV4ZJX2ZQ0hjd6A69fnr+grqnWZTpw1mABsTA0a9Ap7QMy8XEN9F\/J7IiKBpCIiAIig5PMUcTGH25g0ke6wdXO+AXUm9iMpKKvJ2ROVVluIqGJaWvf7Wfs2GM7dv18lUG7m+Jm8tBhx1E9DO\/8zx6f5fVWmI4aoYk+1a0z2PGaQbIPp5KelR+Yz\/FnU\/SWOr\/AKRUtoZrid\/tcjI+hR30rt6OcP68T9FpKGOqY2D2NOFsTe513cfU+KlIoyk3jkWU6MYPVu+rCIiiXBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBQMxlo8PUbYkglmDn8gEYHfRPX6Kei6t8kZJtWTszLnJ8S5bmjpY4UGED+LPvY+Gx+xUnHcJ1K8n4m+43rbjzOfL1bv4ePz+yv0UnN7LBSuHV9U3qf19DgAAaA0AuURQNAREQBERAEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTECIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R1289\",\"id_control\":\"28647\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:00",
    "ubicacionGPS": "LatLng(lat: -22.4602216, lng: -68.9343664)",
    "horaLlegada": "11:59",
    "horaDespacho": "11:40",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 12:00:45
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-vk+bjoo7k4TamuWQnyX2Y8XrLeAZx0LtmIPxMF6+Pl-+ShmGV6Q
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "TO3066",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "60760",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Cambio repuesto, maquina quedo operando correctamente",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12538",
    "observacion": "cambio de unidad de imagen",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC5AQ8DASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgECAwf\/xABBEAABBAIABAMGBAMECAcAAAABAAIDBAURBhIhMUFRYRMicYGRoRQyscEj0fAVQlLhByQzYoKSwvEWJjRDcqLS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgEDAgQEBQQDAAAAAAAAAAECAxEhEjEEQVFxIpHR4RMyYYHwM6GxwRRC8f\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAiIgCIiAIuOYb1sb8lygCIiAIiICLkYLNik+KpY\/DzO1qXW+Ub6\/ZSI2ubG1r387gAC7WuY+el2RLnLZuEREOnnPI6GvJK2N0jmMLgxvdxA7BedGy63SisPgfA6RuzG\/u1SEQ5Z3vcIiIdCIiAIiIAiIgCIiAIi6veyNhfI4Ma0bLnHQCA7Is9b4xoxyOgowy35h2bEPdPn1\/kF4\/wBq8VWv\/TYaOAeczuo+pH6Keh8zO+Jp3tHPZXNOiy\/\/AJyrgSH8LYHcsAG\/2\/VTsZxHHbtfgrkBpW\/CJ53zfA6RwfIR4iLdpJruXSIigaAiIgC85pWV4JJpDpkbS5x9ANr0VJxfI6Phq1y9C7lbv0LhtdirtIrqT0QcuiMwLV6SepnpJJGma1yMZzc2mA9eUa7Dbh9V9CWMyzW16HDcTOjOdjjvz93rv5lXGR4txdAljZDZm8GQjf37K2acrWRi4ecaWrXLp52LtFlhkOKsof8AVKMdCI9pJu46evf\/AJVpohIImCUgyco5i3sT46VbjY2U6qqbJndERRLQi4c4NaXOIAA2SfBVGH4kqZq3LXrxyNMbebmfr3hvXQb35fX69SbVyEpxi1FvLLhEVBxbkZa1BlKqSbVx3s2Bp0deOvXZA+ZSKu7HKlRU4OT5Ea3xBfytl1Lh+LfKdPtO1yj4f18lpYfaCFgmLTJyjnLe2\/HSi4nGxYrHx1ogNgAvcP7ztAE\/ZUXGGcmpSV6VOcwyuPPI9p6tHYD9T8gp21PTEz6nRg6lV3fT0NUizuQ4ifK9lHAtZdsPHvPBJbGPPfz77+q8Bw5laPLcx2Sebb\/esNmO2yH6ep7\/AGXNHV2JuvnwLVbe35kv8lYlq42xPBGZJWMJY0DfXw+SpOHuK2X2Sx5KWCvMwjXMeQO3vts9wuBJxfJzV5KtMNcNe22DrevDZ34+C9afB2NZUDbkImsE8z5GucBvyHp8VJKKVmVOdadRSpqyW98Fscrjmjbr9UDzMzf5qJLxRhISQ7IRnX+AF36BeLeDsGO9VxHkZXfzUqLh7DwgBuOrnX+NnN+qj4PqW34h8kvN+hWy8bUi\/wBnRq2LkngGM1v9\/stDE8yRMeWFhc0Etd3b6FcQwQ128sMTIm+TGgD7L0XG1yRZTjUWZyv9giIolpXZfNVMLXEllxL3fkjb+Z3+XqqOPE5PiVzbOXldWq9468Z7jz9PDqdn4K7nwVKzl48nM1z5Y26DXHbdjsden9dVZKakorG5mlSlUk\/ifL069\/Qi0MZTxsXs6ddkQ8SB1d8T3KlIig3c0KKirILM8ax+yq1MhGQyaCcAO8dEH+X6rTLL8VSG\/kMfhITt8kokk0fygf5bPyCnT+Yz8V+k15dzTMdzsa7WuYA6XZcAADQGgFyoGkIiIAsbxhxDTnqS4uuTJLzjneB7rdHtvxK2SzXGdSJuAmlijYxxmY+Qhui89uv1VlO2pXMvFqboy0vuZ63Uyt67iqeU1FG8BkTI9EsZ0BPTffp3W3x2Ex+KYBVrtD\/GR3V5+aoKMhy3GUMvX2VKq0jROtlo\/d3p2VvxLlf7JxL5GnUsu44\/MEg9fkpzbdooz8PGnBTqvNub+h63+IMZjiWz2QXtOixnvEHyPkfRSqV2tkKzbFWUSRu8R4HyPkVW4HAQY2nudglsy+9K9\/X5df67qHwZywMyNBu\/9Xsne+nfp2\/4VBxjZ25GiNSprippeK\/2NMiLwuW4aFSS1YfyxRjbiqzS2krspeKr7\/Yx4eo4firxDNdfdYTok+h7fDarsNRjwfGX4Mb1NU0wk9z0J+7XeSl8M1Zcjcm4gvM1LKdV29fcbrRI39Pr5pxWw0r+OzTd8teUMkAHXlPX+Y+avWPB+XPNmnJf5D5NW7fmTTrMZN2+PsWyQ6jEJLfD3vf8fkFpWPbJG2Rjg5rgC0jxCg5XCUszG1tpjuZm+R7Dpzd9\/RVxaTybK0HOK08mn5Hlm87Xw8HhLZf0ihaepPr6KDheHGmCezl4xPZuHbw\/uxu96+P\/AGUrGcLYzFSiaJj5ZWk8r5iCW9u2gB4fcq5XXJJWiRjTlOWqquyItLGUseCKlZkWxokDqRvffupSIq27mhRUVZIIiIdCIiAIiIAiIgC6SyMhifLIeVjGlzjrsB3XdcOAc0tPUEaKA8adyvfrNs1pPaROJAdrW9HX7L3WX4Se6ldyOGf\/AOxLzx9O47H\/AKfqr7I34cbSktTuAawHQJ0XHwA9SpSjaVkUUquqnrljr9iJns3Hh6nu6falGoYu5J89eSi8OYSao5+SyMjpL1gbdzH8gPh8f07BRuH6E2UvHiLIa5pNivF4MA6b6\/b6rUKUnpWlFdOLqy+LLbkv7CIirNYREQBV2frts4G7G48uonOB8iBv9lYrP8Y3DDiRTi6z3XiNjfMbG\/2HzUoK8kU15KNKTfQicB1Q2hYuuPNJNJybPUgNH+f2C9M6w3uLMVQc7+Gwe2c3wPUny\/3NfNdODjLQdkcXZIBrSc+z0BHYnr4dAV24biflMrb4gmLgHOMUDCNAN6dfp0+O1a8ScjFTSdGnSS3efs8moWYw28fxdlKcjC38WfbMcT+bqT0\/5j9Fp1S53DTXLFbIUXiO5WPuk9A4eR+\/T1Kri1lPma68Xicd0\/8ApcucGtLnEAAbJPgsjk7Q4my8OOqy82Prn2lqUHTT8\/LwB8z6L1mx\/FOTiNa3YrwQuPvGPuR18vl0VyMJUixM2PrgwsmYWvkb+d3TuT4qStHN8lU9ddWStH67v6ETB5l2Su2a9WtGyhVAZHID310Gh5aHy6K2t1Ib1SSrYZzxSDTgvPG4+HF0Y6lffIzfV3dxPclSlCTV8GinGWi08v8AMEejTjoU46sJcY4hpvMdlSERRLEklZBERDoREQBERAEREARRLOQZWvVaphlebJcA9rdtbob6quy3FNPHv\/D1wblsnQiiO9H1P7d1JRb2KpVYQTcnsW1q3XpQOnsytijb3c4qow+dtZm+8w0izHtBAmf+Zzv0UKrw\/dzNht\/iCQ67sqM6Bo8j5fDv5laeKKOGJsUTAxjBprWjQAXXpirbsri6lSSl8sf3fod0Xjbt16Nd1i1K2KJvdzv66rMS5bKcSSOrYaN1aoOkll\/Qkenl8B1+C5GLZOpWjTxu+hGzuQjxXF7LtPlnldFySxNd3drQB1\/w9PRTKHD9zK2GZHiCQvIPNHV7NaPUeHw+pUHOYOtw\/UoXa5c+WKy0yyOJ2899+g6fdbZj2yRtkY4Oa4AtI8QrZStFaTHSpOdSSqd7cs\/yctaGtDWgAAaAHguURUHpBERAEVZlM9SxREb3e0sO1ywMPvHf6fNZzG8aWpsyyK6Io60nukNGuQ+B3vz7qapyaujNU4mlCSi3k2yyVAniLi2XIb3Toe7D5Od4H67P0XtnuIG2oTjMM82bU\/uudF1DG+Pvdtq5w+MixGOjqxgbA3I4f3n66ldXhjd7shJqtUUV8qy+\/JFZmeHZreQ\/HULAgkmaIrAI2Hs7E9fQAa11VtjKEeMx8NSMgiNui7l1zHxOlLRRcm1YvjRhGbmllhERRLQi8bc761SWeOF87mNJEbO7vQLmtK6etFM6J8RkYHGN405ux2KWOXV7HqiIh0Ii6ySMiYXyPaxo7lx0AgOyKEcxjA5zfx9clutgSAqqn41x0UzmRxTzsYdGSNo5fl1UlCT2RTKvThvI0SKHjstSysRkpzh\/Kfeb2cPiO6mLjVty2MlJXTwERFw6FW5bO0cPHuzJuQ\/liZ1cf5fNdc0cy5jIsS2IF\/R8rz1Z8P8AsVGxPC8FKX8ZdkN2647Mj+oB9Af1P2U0o2uzPOdRvRTX3e3uV\/LneKdO2cZjz4bPNIPsT9h8VeYrBUcPHqtFuQj3pX9XO\/l8lYojm3hbHYUIxeqWZdX+YCIigXkTIYynlImRXIvaMY7maOYjr8lJjjZFG2ONjWMaNNa0aAHoF2Rdu9jmlJ3tkp+LGtdw1c5hvQaR8eYKVhHukwdJ7iSTA3qTs9lzmKZv4izVH5pIzy\/EdR9woPCNs2uHoAd7hJiJ1reu32IUv9PuZ9uI7r+H7l2iIoGkKJlLv9nY2e3oExN2A7eiew7KWuskbJY3RyNDmOGi0joQurc5JNppbnzrG\/iMlNyU4vbZCUkz25CT7JvYaPbfqPLQ81roOGKDca2pYZ7Z5cHySn8znfPw10+Hr1VnWqV6cXsq0LImeTRpeynKo3sZKPCxgvHl\/n5ciUcZSxzdVK7IyQAXAbcQPM91LRFW3c1qKirJBERDoUSnkYLs9mGHn5qr\/ZvLm6G\/RS1xoDeh37ocd7qxyiIh0Lhzg1pc4gADZJ8FysxlZ7eczLsJUcYqsQBtSNdokeX7a8fgpRjcqq1Phra7ex3s8VPtWTTwdU3Jh3kJ5WD4b7\/b5qFbwUvsZMjxNkjI2MbbFE7Q34AdPsB81fSz4zhrGta4iGJo01o6vkPT6nsqWpWu8U5CPIXY\/Y42I7hhPd\/r+nX5K2LtlYRiqRcnpm9Uny5Lv7lDFw9byFeK3WqCKKzMGMZsksb\/AItk9R067+S+g46hDjKMVSAe7GOp11cfElSQABoDQC5UJ1HI0UOFhRd1uZfMYifF2hmsM0hzCXTVx+V48Tr9flpW+HzVTM1va13ae0D2kR7sP7j1VioVbEUKd2W5XrtjmlGnlpOiO\/bsOwXHJNZJKlKE7w2e6\/tE1EXVzeZhbsjY1sHRCgaDsii46l\/Z9Jlb28k\/KSS+Q7cdnalIzibayEREOhERAEREAWZ4GAjxdmHe3Msne\/8A4tHb5FaZQ6WLr0LFqeEyF9p\/PJzu3169vqpJ+FopnBupGS5X\/cmIiKJcEREAREQBERAERR7t2GjVlnlcP4bC7l31PgB8zofNDjaSuzzyGVo4qMPuTiMO\/KNEk\/ILxxWeoZhz21Xu52dS17dHXn8OqqcBimZQuzmSaZ5Z3ExMf1axvh08Uxbm3uM7tqu0ivBH7IuDdtc4aBAPh13276VumNmuhjVao3F4s3tzt1NQqzLZ+liByzOL5joiFn5iCe6h5jiZtSY0cfCbd09OVnUMPrrvryXXh\/h99aU5PJu9tkJfe97r7Pf7\/p2C4opK8ic6zlLRS35vkvcv43iSNrwCA4A6PcKhtcPXG5Se7jcia5s69qHNBPjvR108NfNaBFBSa2Lp04zSUuRnqPCbGWhbylyTIyt\/KJd8o+RJ3+i0AAA0BoBcojk3uKdKFNWigiIuFgRF1c5rdczgNnQ2e5QHZERAEREAREQBERAEREAREQBERAdJZY4Y3SSyNjY0bc5x0B81Q2ONcYyQRVWT23k6AiZrZ+fX7KNJisnxHkHvynPUowvIZXB6v147\/f6eav4ocfjQyOJletz+60ABpfrw9VZaK3yZddWpmPhXV7+RR\/8Ai+yOrsBcA8T16f8A1Vlh+IKmYL2RtfFPHvmik1zDWtn4dVarL51jK\/FWJmr7bYmfyyco7t2Bs\/LfyCLTLFiMvi0rScrrsahV2LzEOUksxsjfFJXfyuZJ0drwOvDseisV88zNiatxLk69F3KbfJE5wI1twbsdvPfr3SEdV0S4ms6OmXL2Ly\/nruQvOxnD7Wvez\/a2T+Vvw8Pn9FV5\/h2LF4Z1ye9PPce5rS5z\/dcSdkdep7b7+C1uMxlTC0PYw6a1o5pJHdC4+JJWMzuQscT5RtLHRmaCI+4QNbPi4k9h4KyDz4djJxMbU71Myey6dvUk5DiyCPARUKHN7cxCGQlvLyAN0devkuuIflpMcyhh6RrNkHNLdkbrmJ8vDt06b+RWiw3DtfGtM02rFyQfxZXDx8dD9+5VwoucVhIthw9WTUqkrYtZFZhMHXwtctj\/AIkz+skru7vT4KzRFU227s3QhGEdMVgIiLhIIiIAuHODWlziAANknwXhdvVsfXdPambGweJ7n0A8VmHzZXi5\/s4GupYrm957ujpB+\/w7fFSjG+eRRUrKHhWZdCwr8SPyOabTxlb29aM\/x5z0AHmP66q1vY6pkmRstxe0bG8PaOYjRHwXajRrY6q2tVjDI2\/UnzJ8SpCNq\/hOwhLTao738giIolwREQBERAEREAREQBERAEREAWY4hBt8S4eiRtgeZXDz0d\/o0rTrMO\/j\/wCkRu+vsK3T06H\/APSnDdszcTmKj1aNHPI6GvJK2N0jmMLgxvdxA7BZ7C0LuQybs5lGGNxGq8Dh+Qddb2PDw+K0UsscETpZntjjYNuc46ACzsvEl\/ITvhwFEWGsOjYkOm\/Q6\/X5Lsb2dhWcFKLk+y6l\/btw0aklqd3LHGNuOtr580Y6zjLd\/J2uS3Yn9pE2M80nY6GvAbPoOg9F2fBls1mhjLGQdYAfuf2RPs4wO\/gBsdu3da7H8MYrGkOjr+0kHaSU8x\/kPkFNWprLyZJa+KlhWiuvUy9HG8QcQ6\/F27EdPpsykjnHo3x+a2mOxlTF1\/YVIgxv949y4+ZKloq5TcjXR4eNLO76sIiKBpCIiAIij3btbH1nWLUojjb4nxPkPMocbSV2SFnsnxXFFN+DxUX46246HKCWNPxHf5fVQjNluLS6OAGhjD0c9w96T09fh29StDjMTTxNcQ1IuX\/E89XO+JVllHfcy651v08Lr6epS0+GbN2y29xBY\/ESj8sA\/I34+HyH3Wla1rGBjGhrWjQAGgAuyKMpN7l1OlGmse4REUS0IiIAiIgCIiAIiIAiIgCIiAIiIAsxhAbPGGZtkf7PUPl6f9C0xIA2ToBZngrUsOQtjqJrJ6np6\/8AUpx+VszVc1ace78l7kK3O3P5Sy2\/fZWxdOTXsy4NMhG+vz\/RegyNvJAY7hmt+HqNIDrRBGvP+u6uJeFsTPbfZlgL3SOLnN5iG7+AVpDBDWiEUETIo29msGgFNzjyKY8PUbep2vzW79EQsJhoMLS9hEeZ7zzSP1+Y\/wAvIKxRFU227s2xioRUY7BERcJBERAEXDnBrS5xAAGyT4LN3+JprM34LAQ\/ipidGbW2M\/rzPT4qUYuWxXUqxprxFpmM3Uwtf2k7uaRw9yJp95x\/YeqpaOGt5+w3J5skRd4ag6AD1\/rZUrE8LsgnF7KSm5dJ5tuO2sPp5rQqV1HEShU51Xqq4XT19DhrQ1oa0AADQA8FyiKs1hERAEREAREQBERAEREAREQBERAEREAREQEPLzCvh7kpOuWB5Hx0dfdV\/B0XsuGqxIILy5x2P94\/sAvPjB08mLjpV4ZJX2ZQ0hjd6A69fnr+grqnWZTpw1mABsTA0a9Ap7QMy8XEN9F\/J7IiKBpCIiAIig5PMUcTGH25g0ke6wdXO+AXUm9iMpKKvJ2ROVVluIqGJaWvf7Wfs2GM7dv18lUG7m+Jm8tBhx1E9DO\/8zx6f5fVWmI4aoYk+1a0z2PGaQbIPp5KelR+Yz\/FnU\/SWOr\/AKRUtoZrid\/tcjI+hR30rt6OcP68T9FpKGOqY2D2NOFsTe513cfU+KlIoyk3jkWU6MYPVu+rCIiiXBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBQMxlo8PUbYkglmDn8gEYHfRPX6Kei6t8kZJtWTszLnJ8S5bmjpY4UGED+LPvY+Gx+xUnHcJ1K8n4m+43rbjzOfL1bv4ePz+yv0UnN7LBSuHV9U3qf19DgAAaA0AuURQNAREQBERAEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTECIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R1289\",\"id_control\":\"28647\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:00",
    "ubicacionGPS": "LatLng(lat: -22.4602216, lng: -68.9343664)",
    "horaLlegada": "11:59",
    "horaDespacho": "11:40",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 12:00:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[25/05/2026 12:00:45] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'TO3066', 1, 19969062, 60760, NOW(), 
				'11:40', '11:59', '12:00', 4, 'Cambio repuesto, maquina quedo operando correctamente', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779724845.png', 'cambio de unidad de imagen', null, 'COMPLETADO','LatLng(lat: -22.4602216, lng: -68.9343664)' )
				
[25/05/2026 12:00:45] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200412
[25/05/2026 12:00:45] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200412', 'TOS-R1289', 1)
				
[25/05/2026 12:00:45] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28647 and
				    IDproducto = 'TOS-R1289'
				

25/05/2026 12:00:45 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R1289';
                
25/05/2026 12:00:45 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200412'                    
				WHERE idllamado = 12538			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


25/05/2026 12:00:46 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12538			
				
25/05/2026 12:00:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 12: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 = 12538
                

25/05/2026 12: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 = 12538
                

25/05/2026 12:00:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 12:00:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

[25/05/2026 12:00: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;
                

25/05/2026 12:00:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 12:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

[25/05/2026 12:00: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;
                

25/05/2026 12:00:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 12:00: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;
                

25/05/2026 12:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 12:00:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 12:00:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 12:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 12:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 12:00:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 12:00: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;
                

[25/05/2026 12:00: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;
                

25/05/2026 12:00:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 12:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

[25/05/2026 12:00: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;
                

25/05/2026 12:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 12:00:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 12:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

[25/05/2026 12:00: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;
                

[25/05/2026 12:00: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;
                

25/05/2026 12:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 12:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 12:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 12:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

[25/05/2026 12:00: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;
                

[25/05/2026 12:00: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;
                

25/05/2026 12:00:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 12:00:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 12:00:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 12:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 12:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 12:00:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 12:00:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12538
            GROUP BY l.idllamado;
            

25/05/2026 12:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

[25/05/2026 12:00: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;
                

[25/05/2026 12:00: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;
                

25/05/2026 12:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                
[25/05/2026 12:00: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;
                
[25/05/2026 12:00: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;
				

25/05/2026 12:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

25/05/2026 12:00:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12538
                

[25/05/2026 12:04: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;
                

25/05/2026 12:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:04: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;
                

25/05/2026 12:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:04: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;
                

25/05/2026 12:04:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:04: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;
                

25/05/2026 12:04:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:04: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;
                

25/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:04: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;
                

[25/05/2026 12:04: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;
                

25/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:04: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;
                

25/05/2026 12:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:04: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;
                

[25/05/2026 12:04: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;
                

[25/05/2026 12:04: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;
                

25/05/2026 12:04:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:04: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;
                

[25/05/2026 12:04: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;
                

25/05/2026 12:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:04: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;
                

25/05/2026 12:04:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:04: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;
                

[25/05/2026 12:04: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;
                

25/05/2026 12:04:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:04: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;
                

25/05/2026 12:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:04: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;
                

25/05/2026 12:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:04: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;
                

[25/05/2026 12:04: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;
                

25/05/2026 12:04:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:04: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;
                

25/05/2026 12:04:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:04: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;
                

25/05/2026 12:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:04: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;
                

25/05/2026 12:04:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:04:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:04: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;
                

25/05/2026 12:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:04: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;
                

25/05/2026 12:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:04:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                
[25/05/2026 12:06:59] 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;
                
[25/05/2026 12:06:59] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

[25/05/2026 12:07: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;
                
[25/05/2026 12:07:13] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 12:07:13] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[25/05/2026 12:07:13] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 12:07:14] 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;
                

[25/05/2026 12:07:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 12:07:17] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 12:07:18] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[25/05/2026 12:07:18] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 12: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;
                
[25/05/2026 12:07:36] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 12:07:36] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 12:07: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;
                
[25/05/2026 12: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;
                
[25/05/2026 12: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;
				

[25/05/2026 12: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;
                
[25/05/2026 12:07: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;
				
[25/05/2026 12:07: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;
                

[25/05/2026 12:07:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 12:08:32] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[25/05/2026 12:08: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;
				

[25/05/2026 12:08: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;
                
[25/05/2026 12:08:38] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 12:08:38] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 12:08: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;
                

[25/05/2026 12:08: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;
                
[25/05/2026 12:08:42] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 12:08:42] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 12:08:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 12:08: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;
                
[25/05/2026 12:08: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;
				

[25/05/2026 12:08:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 12:09:08] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[25/05/2026 12:09:08] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 12:09: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;
                
[25/05/2026 12:09:17] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 12:09:17] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 12:09: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;
                

[25/05/2026 12:09: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;
                
[25/05/2026 12:09: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;
				
[25/05/2026 12:09: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;
                

[25/05/2026 12:09: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;
                
[25/05/2026 12:09:51] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 12:09:51] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 12: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;
                
[25/05/2026 12:09:59] 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;
                
[25/05/2026 12:10: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 12:10:01] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 12:10: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;
                

[25/05/2026 12:10:03] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 12:10: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;
                
[25/05/2026 12:10: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;
                
[25/05/2026 12:10: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;
				

[25/05/2026 12: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;
                
[25/05/2026 12:10: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;
				
[25/05/2026 12:10: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;
                

[25/05/2026 12:10: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;
                
[25/05/2026 12:10: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;
				
[25/05/2026 12:10: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;
                

[25/05/2026 12:10: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;
                
[25/05/2026 12:10: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;
				
[25/05/2026 12:10: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;
                

[25/05/2026 12:10:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 12:10:52] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 12:10:52] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 12:10:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 12:11:03] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[25/05/2026 12:11:03] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 12:11:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 12:12:00] 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;
                
[25/05/2026 12:12: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 12:12: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;
                
[25/05/2026 12:13: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 12:13:21] 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;
                

[25/05/2026 12:13: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;
                

[25/05/2026 12:13: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;
                
[25/05/2026 12:13:26] 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;
                
[25/05/2026 12:13: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 12:13:42] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 20988335 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '20988335'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[25/05/2026 12:13:42] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 12:14:02] 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;
                
[25/05/2026 12:14:02] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 12:14:02] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 12:14:03] 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;
                
[25/05/2026 12:15: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;
				
[25/05/2026 12:15: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;
                

[25/05/2026 12:15: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;
                

[25/05/2026 12:15:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:15:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/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 = 12180
                

25/05/2026 12:15:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12:15:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:15:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/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 = 12180
                

25/05/2026 12:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12: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;
                

25/05/2026 12:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12: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;
                

25/05/2026 12:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12:15:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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 = 12180
                

25/05/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 = 12180
                

25/05/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 = 12180
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/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 = 12180
                

25/05/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 = 12180
                

25/05/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 = 12180
                

25/05/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 = 12180
                

[25/05/2026 12:15:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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 = 12180
                

[25/05/2026 12:15:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/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 = 12180
                

25/05/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 = 12180
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/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 = 12180
                

25/05/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 = 12180
                

25/05/2026 12:15:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12: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;
                

25/05/2026 12:15:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12: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;
                

[25/05/2026 12: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;
                

25/05/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 = 12180
                

25/05/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 = 12180
                

25/05/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 = 12180
                

[25/05/2026 12: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;
                

25/05/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 = 12180
                

[25/05/2026 12: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;
                

25/05/2026 12:15:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/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 = 12180
                

25/05/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 = 12180
                

25/05/2026 12:15:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/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 = 12180
                

25/05/2026 12:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12:15:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

[25/05/2026 12:15:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 12:15:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:15:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

[25/05/2026 12:15: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;
                

25/05/2026 12:15:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12:15: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;
                

25/05/2026 12:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12:15: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;
                

25/05/2026 12:15:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12:15: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;
                

25/05/2026 12:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12:15: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;
                

25/05/2026 12:15:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

[25/05/2026 12:15: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;
                

[25/05/2026 12:15: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;
                

[25/05/2026 12:15: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;
                

25/05/2026 12:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

[25/05/2026 12:15: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;
                

25/05/2026 12:15:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/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 = 12180
                

25/05/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 = 12180
                

25/05/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 = 12180
                

25/05/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 = 12180
                

25/05/2026 12:15:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/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 = 12180
                

25/05/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 = 12180
                

25/05/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 = 12180
                

25/05/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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12:15:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12:15:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12:15:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/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 = 12180
                

25/05/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 = 12180
                

25/05/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 = 12180
                

25/05/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 = 12180
                

25/05/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 = 12180
                
[25/05/2026 12:16: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 12:16:21] 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;
                

[25/05/2026 12:16:23] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

[25/05/2026 12:20: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;
                

[25/05/2026 12:20: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;
                

25/05/2026 12:20:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12:20: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;
                

25/05/2026 12:20:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12:20: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;
                

25/05/2026 12:20:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:20:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12:20: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;
                

25/05/2026 12:20:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:20:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:20:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

[25/05/2026 12:20: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;
                

25/05/2026 12:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:20:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:20:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:20:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

[25/05/2026 12:20:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 12:20:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

[25/05/2026 12:20:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:20:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:20:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:20:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:20:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:20:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:20:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

[25/05/2026 12:20:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 12:20:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:20:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12:20:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

[25/05/2026 12:21: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;
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:21:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12:21: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;
                

[25/05/2026 12:21: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;
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:21:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12:21: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;
                

25/05/2026 12:21:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:21:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:21:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:21:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

[25/05/2026 12:21: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;
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12:21: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;
                

[25/05/2026 12:21: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;
                

25/05/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12:21: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;
                

25/05/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12:21: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;
                

25/05/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

[25/05/2026 12:21: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;
                

[25/05/2026 12:21: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;
                

[25/05/2026 12:21: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;
                

25/05/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12:21:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12:21:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12:21:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:21:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:22:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12:22:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12180
                

25/05/2026 12:22:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12:22:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12:22:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:22:43 - logentry: =========================================
FECHA: 25/05/2026 12:22:43
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-r.PdKGatW4b1utN-4a+ChApX+A_nRcc5QHPtc_nGq1cT420pEpf
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3011",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "1436",
    "contadorColor": "14503",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12180",
    "observacion": "entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADHAOADASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABCEAABAwMCAwYDBgIHCAMAAAABAAIDBAURBiESMUETUWFxgZEiMqEUFUKxwdFS8AcWIyRD4fElM0RVYoKSojSy4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAwMCBAUEAgMAAAAAAAABAgMRIRIxQQRRE2FxoSIygZHBFCPR4UJSorHw\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgC5qy40dvYH1dTHCDy4jufIcyoG436ruNY612BvHINpan8LB4H9fZbaHRlBA4TVr31s5OXOkPwk+XX1VmlL5jK60pu1JX8+P7MJNbUbnmOho6qrf04WYB\/Xv6LEXXVNa7+62iOmZ3zk5HuR39yskcUcLAyKNrGjk1owFmuaorZHfCqy+af2Vv5Kx9m1nJ\/x1HF1+UH0+Uo20aqd\/vL5G3b8Lc\/oFZ0TW+yH6aPMn92Vj7j1J\/z\/wD9Sn3bq6LPZXinkGPxt38PwlWdE1sfpo8N\/dlY7fWVMd6WkqgOeCB+oT+tVfS7XGxVEf8A1x5I\/L9VZ0TUuUPAmvlm\/rZkJR6us1WQPtJgcekzeH68vqpiKaKeMSQyMkYeTmOBB9Vy1dmttdk1NFC9x5u4cO9xv1ULJoxtPJ21puM9HICDgnIPtg\/mu2g\/I5qrw3Sl6YZZ0VUbdtQWNpbdaP7ZAwf\/ACIeYHif3AUzbb\/bbqwfZ6gCTrFJ8Lx6dfTK44NZJw6iEnpeH2ZJIiKBeEREAREQBERAEREAREQBQGrq2aCgho6ZxbPWydkMfwnY+PUDbvU+q1qYcN7skrwOzFRguI5HLfD+cKcPmM\/Utqk7f+uyYtVqprRRtp6dvi955vPeV2oii3fLLoxUVZbBERcJBERAEREAREQBERAFDXLStquIc4wdhKd+0i2PqORUyi6m1sQnTjNWkrlSiuty0zM2mvWamkcMRVETc8PgeXtz7sq0U9TBVwiammZLGeTmHIXs0MdRC+GZgfG8Yc1w2IVVlhOj7uyohD\/umpPDIzJPZO7\/AOfEKeJ+pm+Khu7x91\/RbkWLHtkjbIxwc1wBaR1CyVZsCIiAIiIAiIgCIiAKF1VbvvCzvc3\/AHtOe1ZvjlzHsppeEAjBGQV1OzuQqQU4uL5OCx3Ft0tEFTxZeW8Mng4c\/wB\/VSCqtk4bJqastDsthqP7WnzyO2cD6j\/tVqUpqzwV0JuUPi3WH9AiIoF4REQBERAEWMkjIo3SSODWNGS4nYBeRSxzRtkieHscMhzTkFDl+DNRGob6LHTwvEfaPlfjB\/hHP13UuqxrSAPZb5ngmKOfEmM8jjqOXLHqpwSckmU9TKUaTcdyfoKtlfQw1cfyysDsdx6j0K6FWtGyOjirreTtRzlozz3J\/ZWVckrOxKjPxKakwtFZRwV9JJS1LOOOQYI\/ULeiiWNJqzKvYaios93fp+sk448cdLI7qO76H1BVoVc1hQSOpYrrS7VFE4OyOfDn9Dv7qZtlfHcrdDWR8pG5I\/hPUe6sllajNQeiTpPjK9P6OpERVmoIiIAiIgCIiAIiICA1VbJJ6aO40YxV0R42kcy0bkfr796kbNc47vbY6tmA47SNB+Vw5j+e9dyqJzpXUhdyt1wO5PKN3+RPsfBWL4lbkyVP2anicPD\/AA\/wW5ERVmsIiIAiIgNFbTiropqYkDtWFuT0yFBaKquK1yUEmBLRyuaW9cE5\/PiVkVKuFQNOaz+0taewrGh0jW+JwTjqcjPqrILUnEyV34c41eNn6MuqidTUP2+w1EbRl7B2jPMb\/llSjXNewPactcMg94XpAIwRkFQTs7micVOLi+SjaXrXDUMZJH9+p\/j+LPxtG522yeEn\/uV6XzaGJ1p1hDTEua2OqDW5A+Vx5+GxH1X0lW1VlMx9BJ6JRe6YREVJvMXsbJG6N7Q5rgQ4HqFWdM\/7Mu9wsjnOLWHtYieWP9C32KtCq+o\/9mX+23gbM4uxmJPTy8i72VkM3iZeo+HTU7P2ZaERFWagiIgCIiAIiIAiIgC4bxbGXa2S0jyGlwyxx\/C4ciu5F1OzuRlFSTi9mV\/StzlqKeS21mRV0R4HZ5uaNgfTl7KwKr6lpJbdWxahox8cRDahgOONvL\/L27lYqOqirqSKqgOY5Whzc8\/JSmr\/ABIooSavSluvdG5ERQNIREQBVPX1MH0dJVY2ikLHeTh\/+VbFx3WhbcbZUUhAJkYeHPR3T6qUHpkmUdRT8SlKJEaOrZH0c9uncHSUL+AOHItOcefI+mFY1880pVvpdQxiYkioaYCSRs4Yxv15D36r6GpVVaRV0VTXS9MFR1lSCnrKG8hpc2KRrJAO4HiB\/MeytjHtkjbIxwc1wBaR1CiNWxh+mqvP4Q1w\/wDILm0bdhXWsUjz\/bUgDfNn4T+i603BPsci40+pcf8AZX+pYkRVmvfW3u+zWumrDS09M1rpHx\/M453Gx8fooRVzRUqaEsXbLFFPDOCYZWSBpweBwOD6KP1HQ\/eFiqYQ3L2t7Rm2TxN328+XqqrZdPitrrnSNrqiBlHNwN4D827hk+PwhSnaXrTkrnVbnXG2b5fzfGPHr6bjyVmi0sPJl8d1KfxxsndX38iV0zXOuFhp5Xu4pGgsefEbflhSqp2nKmK33x1JC5xo7gztqbI+U77HywR6BXFQmrSL+mnrpq+6wERFA0BERAEREAREQBERAYSxMmifFI0OY9pa5p6g8wqvYZH2O9z2Kod\/YyHtKVzjz8PUD3B71a1BaqtL6+hbU0wxV0p42EcyOo\/UeSnB\/wCL5M1eLxUjuvdconUUdY7rHeLZHUt2kHwyt\/hcOf7+qkVFqzsy+MlOKktmERYxyMlYHxva9p5OachcJGSIiA+bakpZbVf5ZImgNdIKiJx3weu3dxH6BfRYJmVFPHPGcskYHtPgRlQ2rbS+6WrihbmenJe0fxDG4\/nuWWkaptVp2nAdl0OY3eBB2+hCuk9UE+x59GHhdRKHDyjo1HEZ9P1jGgk9nxYHXBz+iqlPJ91RWu\/07SYXxinqmjw2yfYH0CvrgHNLTuCMFVXSdMyt07W2+owW9s6MjABA4RvjvykHaLO9RTcqqtu1j1WS0RSsmiZLG4OY9oc1w6g8iq1cDLp7UD7qIeKhqgBO5uSWnln3x7rywVdRaLo\/T9dIHNAzSvPUc8Z\/ncEKy1DIZKeRlQ1roi08YcMghR+R+Rbfx4XWJL2ZQ7JeIaXV1XLxcVPWTPYH9BxOy0\/z3q\/PY2SN0b2hzXAhwPUKn2GyUt0sFY1zHRiaY9lk5MfD8v5kELpNFq1kP2JtVTviDODtj82Me+emVOaTeGZ+mlOnTzG6ecHLp62feIDpJHtNvqnCN4A+JvduO8D3Kua4rVbWWuhZTNdxuGS+TGC9x5k7ldD6mCOZkD542yyfIxzgHO8h1Vc5amaqFPwoK+5tREUDQEREAREQBERAEREAREQFRqeLSuoRVMbi21xxI1vJjvL6+WQraCCMg5BXJdaKG4W2amnLWte3Z7vwnofdVrT2q6SktzaK4zESQHgY8DiDm9Nx3clbZzV1uYlKNCppk7ReV5d0W2eFtRTyQu+WRhafIjCrWkJJKKqr7LUOw+CTijHLI6kDnjkfVTtFdaC4jNJVRynGS0HBHod1Ub1UvtuuBWxs4gxjXSD\/AKSOE\/RIJu8R1E4xcKqfNvoy9ItVNUxVdNHUQO4o5G8TTjGy2qo2Jpq6CoUNc7S+payLgeaLjy6Ng+UOwQR5Zwr6sZI2SxujkY17HDDmuGQR4hTjK17lNak6lnF2aNdJVwV1MypppBJE8ZBCgNGse0XEuaQHVJIJHPmt0mjra6Z0kclRC1w4THHJ8OM5wMjbdTFJRwUMAhp4wxg54GMnGMnx2XW0k0iKjUlOMpq1vc47zZYbtEHcRiqYgexmaSCw+iinW\/VU0f2GWuhEBbwunHzuGPf1VoRcU2sEp0Iyd8r05Oa30UVuoYqSEksjGATjJ8St8kjIo3SSPaxjRlznHAA8So+7X2is8eZ38UpGWxM3cf2HioOG13PU8rau7OdS0WcxUzNi4eP7nfuwijfLIyqqH7dNXfbt6m6s1LVXCoNDp6EzSfiqHD4WeIzt6ldNp0wyjqRXV9Q+srOYe4nDT4d\/qpikoqaggEFLCyKMdGjn5nr6rejni0RGg29dV3fsgiIoGkIiIAiLF72xxuke4Na0EuJ6BAZItNLVwVsDZ6aUSxOJAcOuDhbkOJpq6CIiHQiIgKtUxyag1JU26WaRlvp4xxsa7HG7\/U\/Qd65L1bKTT1xorjBSNfSE9nPG4cQ89\/U+YXVpmcDUl7hmcO2fLluG4yGucDj3CsNwoYrlQy0kw+CQc+49CrnLTK3B50aSrU3NfNd+zwiOqdO22qh7ejiEErhxxywnhyeY\/P8ALuVf05LLdtSvkqgJHR0zo5Mn5uQ3xtvnkuq2X12n4qi1Xbd9I3MDm\/4g6NHvsf2XToqk\/udRcZGcMlTK7G\/4f9cruYxdyC0VKsNGOWvQ20tsutkrxHbxHUW+eXiex+G9iO8b77efJWJEVTlfc9CnTVNWWwREUSwIi4bneKG0xh9XMGkj4WDdzvILqTexGUlFXk7I7lWrlqOWoqvu2xR\/aKgnDphuyPv\/ANeS5ybxqs4bm32s9fxSj9fy81Ybda6S1U\/Y0kQYD8zj8zvMqdlHfczap1sQxHvy\/T+SNtOl4KOX7ZXP+2VrjkyP3APgD+Z+inkRQcm8svp0401aKCIi4WBERAEUPeNS0NoPZuJnqDyhjO\/qeiio7pqm8NElDRxUkB2Ej8Z89+foFNQbVzPPqYRlpWX2WS2rCWNk0T4pBxMe0tcM8wea8gEraeNs7g6UMAe4ci7G591sUC\/dFV0ROY2V1tefip5iQPA7HHq36q1Kl0Mot\/8ASFUwZw2pLgcgc3DjH8+KuisqLN+5l6R\/t6f9W0ERFWawiqVwvt4+9qxlB2JgoQC+N7clwOAT6c9iFZaGrZXUUNUzAbK0OwDnHeMqTi0rlNOtGpJxXBRX1ooNfvnd8vbljt+jhjPpnK+hL5vcKQ15vtcHA\/ZqocJ6Fpc4HH\/qc+CvdnrBX2imqQ\/jc+McZ\/6hsfrlW1VhMx9FJqUovnK+9itak0\/drnPPWukhcyFv9jE35i3nzx5qf09cYLlZ4JIRwmNojez+EgclJqp1rXaWvwuMTT931p4Z2gbMd37epHqFFPWtJbKCoT8VbPf+S2IsWPbJG2Rjg5rgC0jqFkqjaFpqqunooHT1MrYo283OKh7rqmCllNHb4zW1pPCI4xkA+JHPyH0XLR6bqrlKKzUM7pXHdtM12Gs88fkPdTUOZGaVe700ld+y9TGbUFyvUrqbT9ORG04fVSDAHlnl9T4Lrtuk6WnkNTXvNfVOPE58nyg+XX1U3DDFTxNhhjbHG0Ya1owAtiOfEcCNC71VHqfsvRHgAAwBgBeoigaQiIgCIiAKs3y+VUlRNbLWTG+JpdPUu2EbRzxn8\/ZSOo7obVaJJmOxK\/4Iz3OIO\/oq3W0MtsslNaYTxV90kBnOTkjPLw5jPqraceWYeqqtXjHjf8L6mOl9N\/bah1wrW9pTZPZtkGe25\/Ec9PzV6AAGAMALRQ0jKChhpIyS2JgaCeviuhRnJyZd09CNGFlvyERFA0Hzm7tmqLndLjCX8dDUsHTYbtzse9oX0GmnZVU0VRGcslYHDyIVW09TsuX9YDtw1crmjO+M8RB\/9l06VuAh09P9pOG0L3g75IaN\/wBx7K+eVbseZ0z0S1PaV39m\/wAEtcbzQ2oAVUuHlpcGNGXEeXottuuVLdKUVFLJxNOxHVp7iOig9M001fU1N8rWDNSeGFrh8rO8ewHp4ryHitOtfscT8U1dF2gjxgNcAdh7H3UHFZXJfGtPE38rdvPyZjXNhs+pX1FQAKK5RGOVxJ2d+n+ajLPqF9Ppx1BDl9a6R8cDGc2NIyDv45V0rYaeekkbVRh8QHE4eXcq7oSiiFrdVuiYZnSuDX43DcDbw3ypqScbspnSmqyjB2Tv+L\/0d9t0+yk09Lb5Aztahh7VwyRxEYHtt65XBoSof9iqqGXZ9PLnhPNueY9wfdWpUuLitP8ASE9gOI6wnntniGf\/ALBRi3JNP1LKkVRnTlHbb7l0XPW0UFwpJKWobxRyDB7x4jxWdRUwUkJmqZmRRjm55wFWptU1lylNNYKJ8p5GeQbN9OQ9fZQjFvKNFWrTgrS547mu0XU6dqp7PdpuGKIccEpGRw922\/8AJCPr7vqh7oba11FQZIdUO2Lx3f5D1K01+kK+ehkrKisdV3HAIYflwNy0d\/hyHgp3Tt4gutAAxjYpoQGyQgY4T3gdxVsmvmWWYaam34U3Zcd2u1\/I3WiyUVmh4KePMhHxyu+Z37DwUiiKltvLPSjGMFpirIIiLhIIiIAiIgCIiAq90b986sprbt2VCO2lw4gn5T3eXLvKzpzFc9ayzseyWOii4Blo2d1x155+vrjZyZNaXd7nOJa0NAJ26fsE0YSfvPJz\/eSr3hfT\/s82PxzV+ZP\/AI7FnREVB6QWitqBSUM9ScYijc\/fwGVvUNquYQ6cquWZA1jc+JH6ZXYq7SK6stEHLsjRoqnMWn2ykfFPI55J5np+irl1hmp7zV2KmHDFXTxuBJPXfv7z9FdLLCaWx0cbzgthaXZ6EjJVav8AXW06hoK5lbG4U7h2rWgnIBzkEDB6jn0V0G3Nnn14KPTwTdrW99y4U8EdNTxwRDDI2hrR4BQuqLbNUU8VwosisojxtxnLm9RgfzzXM7W9PLltDbqupd0HDgfTP5Lw1+q7i3FPbYaON34puY9D+yioyTuy+pWpVIOEbv0R2z3eGr0pPW8bGl0DmObnZshGOHfHVa9OT0ts07TNqqqGIkOfh8gGxJx\/PioiPQ8MMTp7rcmRDr2YDWtPmf2C4ZaazGX7LZaGe51GfnkceAe2M\/QKemLVkzO6tWMlOaSdrb\/hFqm1bZISR9s4yP4GE\/oqlqW+0twuVJWW8SNlpxu97cZwctxv5+6mLVolnEKi6lrnH\/h49mjzI5+nuVJ32ww1NhkpqKmijfF8cTWtxuOY8yMpFwjLB2pHqa1J6rLy5KdDcGV1T9pvgrasA5ZFGAGfz5e6sUOsrfTRCKC11MUbeTWRtAH1UhpJ1SbFHHVRvjMbixgeCDwj078qbUZzV7NE+noVFBTjLL8slY\/rzSf8vrP\/ABH7qHN7i\/rNDcKCjnjM2GTROaB2hPXzV\/RRU4rZFsqFWdrz28jwHIz3r1EVZsCIiAIiIAiIgCIiArFk21jeAdiQDj1C90p\/YXG8UjgAWVGRjfIyR+3uvKA8H9IVybyDqdpA7zhn+a36gt1VHUR3m2B7quEgPjBJ7Rg6YH5K5727pHnQTS1rOmUiwIo2z3qC7wktaYZ2EiSB5+JpHPzG\/NY6huUtrtMlRA3Mp+FpLSQ09+w\/PZV6Xext8WGjxL4Pbtf6Czt\/vMhMhGWxMGXH9vVVO6XK46nrae3Q0P2cA9qxsudxjZxyMYx4deq6bJPYqZzq253GKqrZXcZLo3ERnw25+PstFo1FQw3e4XWtc8STkNija0udw57+XIN69FfGOm9lk8yrW8WylJJPjy82SY0tcbi4PvV2klbkHsovl\/YegUzSWC1UTcQ0MOf4nt43e5yod+raytHDaLPPK5xwJJW\/CPPHp1QWbUF13ulzNNETvBB1Hdtt75UHq\/ydi+DpJ\/txcn3\/ALZM1l6tdsBZUVcUbh\/ht3cPQbhQrtTXO68Udjtjy3OPtEvIenIe5XfQaStNCQ\/sDPIPxTHPTu5KZa1rGhrGhrRyAGAFG8Vtku0Vp\/M9K8t\/uVpmlKm4SsqL7cX1Lh\/gx7NHr+wCsFJR01DCIaWBkLB0aMZ8+9b0UXJvctp0YU8pZ78hERRLQiIgCIiAIiIAiIgCIiAIiIAiIgIgWmZuqDdGvYInQ8Dhzc4+23IKXRF1u5CMFG9uckHdNNRVlYLhRzOpK1v42cnHHM+K5JLbqoN4DcaWphxvHJGPi8N279OZRFJTZVLp4Ntq6v2djlZo2prpWvuMlLTsaR8FJE1pI3z+EY6d6slNZ7dSMYIaKAFgA4+zbxHxJwiI5yZ2n09OnlLJ2oiKBeEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "maria pinyo",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "tinta",
    "prioridad": "1",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28746\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28746\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28746\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28746\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:22",
    "ubicacionGPS": "LatLng(lat: -22.4777209, lng: -68.9295905)",
    "horaLlegada": "12:15",
    "horaDespacho": "12:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 12:22:43
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-r.PdKGatW4b1utN-4a+ChApX+A_nRcc5QHPtc_nGq1cT420pEpf
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3011",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "1436",
    "contadorColor": "14503",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12180",
    "observacion": "entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADHAOADASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABCEAABAwMCAwYDBgIHCAMAAAABAAIDBAURBiESMUETUWFxgZEiMqEUFUKxwdFS8AcWIyRD4fElM0RVYoKSojSy4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAwMCBAUEAgMAAAAAAAABAgMRIRIxQQRRE2FxoSIygZHBFCPR4UJSorHw\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgC5qy40dvYH1dTHCDy4jufIcyoG436ruNY612BvHINpan8LB4H9fZbaHRlBA4TVr31s5OXOkPwk+XX1VmlL5jK60pu1JX8+P7MJNbUbnmOho6qrf04WYB\/Xv6LEXXVNa7+62iOmZ3zk5HuR39yskcUcLAyKNrGjk1owFmuaorZHfCqy+af2Vv5Kx9m1nJ\/x1HF1+UH0+Uo20aqd\/vL5G3b8Lc\/oFZ0TW+yH6aPMn92Vj7j1J\/z\/wD9Sn3bq6LPZXinkGPxt38PwlWdE1sfpo8N\/dlY7fWVMd6WkqgOeCB+oT+tVfS7XGxVEf8A1x5I\/L9VZ0TUuUPAmvlm\/rZkJR6us1WQPtJgcekzeH68vqpiKaKeMSQyMkYeTmOBB9Vy1dmttdk1NFC9x5u4cO9xv1ULJoxtPJ21puM9HICDgnIPtg\/mu2g\/I5qrw3Sl6YZZ0VUbdtQWNpbdaP7ZAwf\/ACIeYHif3AUzbb\/bbqwfZ6gCTrFJ8Lx6dfTK44NZJw6iEnpeH2ZJIiKBeEREAREQBERAEREAREQBQGrq2aCgho6ZxbPWydkMfwnY+PUDbvU+q1qYcN7skrwOzFRguI5HLfD+cKcPmM\/Utqk7f+uyYtVqprRRtp6dvi955vPeV2oii3fLLoxUVZbBERcJBERAEREAREQBERAFDXLStquIc4wdhKd+0i2PqORUyi6m1sQnTjNWkrlSiuty0zM2mvWamkcMRVETc8PgeXtz7sq0U9TBVwiammZLGeTmHIXs0MdRC+GZgfG8Yc1w2IVVlhOj7uyohD\/umpPDIzJPZO7\/AOfEKeJ+pm+Khu7x91\/RbkWLHtkjbIxwc1wBaR1CyVZsCIiAIiIAiIgCIiAKF1VbvvCzvc3\/AHtOe1ZvjlzHsppeEAjBGQV1OzuQqQU4uL5OCx3Ft0tEFTxZeW8Mng4c\/wB\/VSCqtk4bJqastDsthqP7WnzyO2cD6j\/tVqUpqzwV0JuUPi3WH9AiIoF4REQBERAEWMkjIo3SSODWNGS4nYBeRSxzRtkieHscMhzTkFDl+DNRGob6LHTwvEfaPlfjB\/hHP13UuqxrSAPZb5ngmKOfEmM8jjqOXLHqpwSckmU9TKUaTcdyfoKtlfQw1cfyysDsdx6j0K6FWtGyOjirreTtRzlozz3J\/ZWVckrOxKjPxKakwtFZRwV9JJS1LOOOQYI\/ULeiiWNJqzKvYaios93fp+sk448cdLI7qO76H1BVoVc1hQSOpYrrS7VFE4OyOfDn9Dv7qZtlfHcrdDWR8pG5I\/hPUe6sllajNQeiTpPjK9P6OpERVmoIiIAiIgCIiAIiICA1VbJJ6aO40YxV0R42kcy0bkfr796kbNc47vbY6tmA47SNB+Vw5j+e9dyqJzpXUhdyt1wO5PKN3+RPsfBWL4lbkyVP2anicPD\/AA\/wW5ERVmsIiIAiIgNFbTiropqYkDtWFuT0yFBaKquK1yUEmBLRyuaW9cE5\/PiVkVKuFQNOaz+0taewrGh0jW+JwTjqcjPqrILUnEyV34c41eNn6MuqidTUP2+w1EbRl7B2jPMb\/llSjXNewPactcMg94XpAIwRkFQTs7micVOLi+SjaXrXDUMZJH9+p\/j+LPxtG522yeEn\/uV6XzaGJ1p1hDTEua2OqDW5A+Vx5+GxH1X0lW1VlMx9BJ6JRe6YREVJvMXsbJG6N7Q5rgQ4HqFWdM\/7Mu9wsjnOLWHtYieWP9C32KtCq+o\/9mX+23gbM4uxmJPTy8i72VkM3iZeo+HTU7P2ZaERFWagiIgCIiAIiIAiIgC4bxbGXa2S0jyGlwyxx\/C4ciu5F1OzuRlFSTi9mV\/StzlqKeS21mRV0R4HZ5uaNgfTl7KwKr6lpJbdWxahox8cRDahgOONvL\/L27lYqOqirqSKqgOY5Whzc8\/JSmr\/ABIooSavSluvdG5ERQNIREQBVPX1MH0dJVY2ikLHeTh\/+VbFx3WhbcbZUUhAJkYeHPR3T6qUHpkmUdRT8SlKJEaOrZH0c9uncHSUL+AOHItOcefI+mFY1880pVvpdQxiYkioaYCSRs4Yxv15D36r6GpVVaRV0VTXS9MFR1lSCnrKG8hpc2KRrJAO4HiB\/MeytjHtkjbIxwc1wBaR1CiNWxh+mqvP4Q1w\/wDILm0bdhXWsUjz\/bUgDfNn4T+i603BPsci40+pcf8AZX+pYkRVmvfW3u+zWumrDS09M1rpHx\/M453Gx8fooRVzRUqaEsXbLFFPDOCYZWSBpweBwOD6KP1HQ\/eFiqYQ3L2t7Rm2TxN328+XqqrZdPitrrnSNrqiBlHNwN4D827hk+PwhSnaXrTkrnVbnXG2b5fzfGPHr6bjyVmi0sPJl8d1KfxxsndX38iV0zXOuFhp5Xu4pGgsefEbflhSqp2nKmK33x1JC5xo7gztqbI+U77HywR6BXFQmrSL+mnrpq+6wERFA0BERAEREAREQBERAYSxMmifFI0OY9pa5p6g8wqvYZH2O9z2Kod\/YyHtKVzjz8PUD3B71a1BaqtL6+hbU0wxV0p42EcyOo\/UeSnB\/wCL5M1eLxUjuvdconUUdY7rHeLZHUt2kHwyt\/hcOf7+qkVFqzsy+MlOKktmERYxyMlYHxva9p5OachcJGSIiA+bakpZbVf5ZImgNdIKiJx3weu3dxH6BfRYJmVFPHPGcskYHtPgRlQ2rbS+6WrihbmenJe0fxDG4\/nuWWkaptVp2nAdl0OY3eBB2+hCuk9UE+x59GHhdRKHDyjo1HEZ9P1jGgk9nxYHXBz+iqlPJ91RWu\/07SYXxinqmjw2yfYH0CvrgHNLTuCMFVXSdMyt07W2+owW9s6MjABA4RvjvykHaLO9RTcqqtu1j1WS0RSsmiZLG4OY9oc1w6g8iq1cDLp7UD7qIeKhqgBO5uSWnln3x7rywVdRaLo\/T9dIHNAzSvPUc8Z\/ncEKy1DIZKeRlQ1roi08YcMghR+R+Rbfx4XWJL2ZQ7JeIaXV1XLxcVPWTPYH9BxOy0\/z3q\/PY2SN0b2hzXAhwPUKn2GyUt0sFY1zHRiaY9lk5MfD8v5kELpNFq1kP2JtVTviDODtj82Me+emVOaTeGZ+mlOnTzG6ecHLp62feIDpJHtNvqnCN4A+JvduO8D3Kua4rVbWWuhZTNdxuGS+TGC9x5k7ldD6mCOZkD542yyfIxzgHO8h1Vc5amaqFPwoK+5tREUDQEREAREQBERAEREAREQFRqeLSuoRVMbi21xxI1vJjvL6+WQraCCMg5BXJdaKG4W2amnLWte3Z7vwnofdVrT2q6SktzaK4zESQHgY8DiDm9Nx3clbZzV1uYlKNCppk7ReV5d0W2eFtRTyQu+WRhafIjCrWkJJKKqr7LUOw+CTijHLI6kDnjkfVTtFdaC4jNJVRynGS0HBHod1Ub1UvtuuBWxs4gxjXSD\/AKSOE\/RIJu8R1E4xcKqfNvoy9ItVNUxVdNHUQO4o5G8TTjGy2qo2Jpq6CoUNc7S+payLgeaLjy6Ng+UOwQR5Zwr6sZI2SxujkY17HDDmuGQR4hTjK17lNak6lnF2aNdJVwV1MypppBJE8ZBCgNGse0XEuaQHVJIJHPmt0mjra6Z0kclRC1w4THHJ8OM5wMjbdTFJRwUMAhp4wxg54GMnGMnx2XW0k0iKjUlOMpq1vc47zZYbtEHcRiqYgexmaSCw+iinW\/VU0f2GWuhEBbwunHzuGPf1VoRcU2sEp0Iyd8r05Oa30UVuoYqSEksjGATjJ8St8kjIo3SSPaxjRlznHAA8So+7X2is8eZ38UpGWxM3cf2HioOG13PU8rau7OdS0WcxUzNi4eP7nfuwijfLIyqqH7dNXfbt6m6s1LVXCoNDp6EzSfiqHD4WeIzt6ldNp0wyjqRXV9Q+srOYe4nDT4d\/qpikoqaggEFLCyKMdGjn5nr6rejni0RGg29dV3fsgiIoGkIiIAiLF72xxuke4Na0EuJ6BAZItNLVwVsDZ6aUSxOJAcOuDhbkOJpq6CIiHQiIgKtUxyag1JU26WaRlvp4xxsa7HG7\/U\/Qd65L1bKTT1xorjBSNfSE9nPG4cQ89\/U+YXVpmcDUl7hmcO2fLluG4yGucDj3CsNwoYrlQy0kw+CQc+49CrnLTK3B50aSrU3NfNd+zwiOqdO22qh7ejiEErhxxywnhyeY\/P8ALuVf05LLdtSvkqgJHR0zo5Mn5uQ3xtvnkuq2X12n4qi1Xbd9I3MDm\/4g6NHvsf2XToqk\/udRcZGcMlTK7G\/4f9cruYxdyC0VKsNGOWvQ20tsutkrxHbxHUW+eXiex+G9iO8b77efJWJEVTlfc9CnTVNWWwREUSwIi4bneKG0xh9XMGkj4WDdzvILqTexGUlFXk7I7lWrlqOWoqvu2xR\/aKgnDphuyPv\/ANeS5ybxqs4bm32s9fxSj9fy81Ybda6S1U\/Y0kQYD8zj8zvMqdlHfczap1sQxHvy\/T+SNtOl4KOX7ZXP+2VrjkyP3APgD+Z+inkRQcm8svp0401aKCIi4WBERAEUPeNS0NoPZuJnqDyhjO\/qeiio7pqm8NElDRxUkB2Ej8Z89+foFNQbVzPPqYRlpWX2WS2rCWNk0T4pBxMe0tcM8wea8gEraeNs7g6UMAe4ci7G591sUC\/dFV0ROY2V1tefip5iQPA7HHq36q1Kl0Mot\/8ASFUwZw2pLgcgc3DjH8+KuisqLN+5l6R\/t6f9W0ERFWawiqVwvt4+9qxlB2JgoQC+N7clwOAT6c9iFZaGrZXUUNUzAbK0OwDnHeMqTi0rlNOtGpJxXBRX1ooNfvnd8vbljt+jhjPpnK+hL5vcKQ15vtcHA\/ZqocJ6Fpc4HH\/qc+CvdnrBX2imqQ\/jc+McZ\/6hsfrlW1VhMx9FJqUovnK+9itak0\/drnPPWukhcyFv9jE35i3nzx5qf09cYLlZ4JIRwmNojez+EgclJqp1rXaWvwuMTT931p4Z2gbMd37epHqFFPWtJbKCoT8VbPf+S2IsWPbJG2Rjg5rgC0jqFkqjaFpqqunooHT1MrYo283OKh7rqmCllNHb4zW1pPCI4xkA+JHPyH0XLR6bqrlKKzUM7pXHdtM12Gs88fkPdTUOZGaVe700ld+y9TGbUFyvUrqbT9ORG04fVSDAHlnl9T4Lrtuk6WnkNTXvNfVOPE58nyg+XX1U3DDFTxNhhjbHG0Ya1owAtiOfEcCNC71VHqfsvRHgAAwBgBeoigaQiIgCIiAKs3y+VUlRNbLWTG+JpdPUu2EbRzxn8\/ZSOo7obVaJJmOxK\/4Iz3OIO\/oq3W0MtsslNaYTxV90kBnOTkjPLw5jPqraceWYeqqtXjHjf8L6mOl9N\/bah1wrW9pTZPZtkGe25\/Ec9PzV6AAGAMALRQ0jKChhpIyS2JgaCeviuhRnJyZd09CNGFlvyERFA0Hzm7tmqLndLjCX8dDUsHTYbtzse9oX0GmnZVU0VRGcslYHDyIVW09TsuX9YDtw1crmjO+M8RB\/9l06VuAh09P9pOG0L3g75IaN\/wBx7K+eVbseZ0z0S1PaV39m\/wAEtcbzQ2oAVUuHlpcGNGXEeXottuuVLdKUVFLJxNOxHVp7iOig9M001fU1N8rWDNSeGFrh8rO8ewHp4ryHitOtfscT8U1dF2gjxgNcAdh7H3UHFZXJfGtPE38rdvPyZjXNhs+pX1FQAKK5RGOVxJ2d+n+ajLPqF9Ppx1BDl9a6R8cDGc2NIyDv45V0rYaeekkbVRh8QHE4eXcq7oSiiFrdVuiYZnSuDX43DcDbw3ypqScbspnSmqyjB2Tv+L\/0d9t0+yk09Lb5Aztahh7VwyRxEYHtt65XBoSof9iqqGXZ9PLnhPNueY9wfdWpUuLitP8ASE9gOI6wnntniGf\/ALBRi3JNP1LKkVRnTlHbb7l0XPW0UFwpJKWobxRyDB7x4jxWdRUwUkJmqZmRRjm55wFWptU1lylNNYKJ8p5GeQbN9OQ9fZQjFvKNFWrTgrS547mu0XU6dqp7PdpuGKIccEpGRw922\/8AJCPr7vqh7oba11FQZIdUO2Lx3f5D1K01+kK+ehkrKisdV3HAIYflwNy0d\/hyHgp3Tt4gutAAxjYpoQGyQgY4T3gdxVsmvmWWYaam34U3Zcd2u1\/I3WiyUVmh4KePMhHxyu+Z37DwUiiKltvLPSjGMFpirIIiLhIIiIAiIgCIiAq90b986sprbt2VCO2lw4gn5T3eXLvKzpzFc9ayzseyWOii4Blo2d1x155+vrjZyZNaXd7nOJa0NAJ26fsE0YSfvPJz\/eSr3hfT\/s82PxzV+ZP\/AI7FnREVB6QWitqBSUM9ScYijc\/fwGVvUNquYQ6cquWZA1jc+JH6ZXYq7SK6stEHLsjRoqnMWn2ykfFPI55J5np+irl1hmp7zV2KmHDFXTxuBJPXfv7z9FdLLCaWx0cbzgthaXZ6EjJVav8AXW06hoK5lbG4U7h2rWgnIBzkEDB6jn0V0G3Nnn14KPTwTdrW99y4U8EdNTxwRDDI2hrR4BQuqLbNUU8VwosisojxtxnLm9RgfzzXM7W9PLltDbqupd0HDgfTP5Lw1+q7i3FPbYaON34puY9D+yioyTuy+pWpVIOEbv0R2z3eGr0pPW8bGl0DmObnZshGOHfHVa9OT0ts07TNqqqGIkOfh8gGxJx\/PioiPQ8MMTp7rcmRDr2YDWtPmf2C4ZaazGX7LZaGe51GfnkceAe2M\/QKemLVkzO6tWMlOaSdrb\/hFqm1bZISR9s4yP4GE\/oqlqW+0twuVJWW8SNlpxu97cZwctxv5+6mLVolnEKi6lrnH\/h49mjzI5+nuVJ32ww1NhkpqKmijfF8cTWtxuOY8yMpFwjLB2pHqa1J6rLy5KdDcGV1T9pvgrasA5ZFGAGfz5e6sUOsrfTRCKC11MUbeTWRtAH1UhpJ1SbFHHVRvjMbixgeCDwj078qbUZzV7NE+noVFBTjLL8slY\/rzSf8vrP\/ABH7qHN7i\/rNDcKCjnjM2GTROaB2hPXzV\/RRU4rZFsqFWdrz28jwHIz3r1EVZsCIiAIiIAiIgCIiArFk21jeAdiQDj1C90p\/YXG8UjgAWVGRjfIyR+3uvKA8H9IVybyDqdpA7zhn+a36gt1VHUR3m2B7quEgPjBJ7Rg6YH5K5727pHnQTS1rOmUiwIo2z3qC7wktaYZ2EiSB5+JpHPzG\/NY6huUtrtMlRA3Mp+FpLSQ09+w\/PZV6Xext8WGjxL4Pbtf6Czt\/vMhMhGWxMGXH9vVVO6XK46nrae3Q0P2cA9qxsudxjZxyMYx4deq6bJPYqZzq253GKqrZXcZLo3ERnw25+PstFo1FQw3e4XWtc8STkNija0udw57+XIN69FfGOm9lk8yrW8WylJJPjy82SY0tcbi4PvV2klbkHsovl\/YegUzSWC1UTcQ0MOf4nt43e5yod+raytHDaLPPK5xwJJW\/CPPHp1QWbUF13ulzNNETvBB1Hdtt75UHq\/ydi+DpJ\/txcn3\/ALZM1l6tdsBZUVcUbh\/ht3cPQbhQrtTXO68Udjtjy3OPtEvIenIe5XfQaStNCQ\/sDPIPxTHPTu5KZa1rGhrGhrRyAGAFG8Vtku0Vp\/M9K8t\/uVpmlKm4SsqL7cX1Lh\/gx7NHr+wCsFJR01DCIaWBkLB0aMZ8+9b0UXJvctp0YU8pZ78hERRLQiIgCIiAIiIAiIgCIiAIiIAiIgIgWmZuqDdGvYInQ8Dhzc4+23IKXRF1u5CMFG9uckHdNNRVlYLhRzOpK1v42cnHHM+K5JLbqoN4DcaWphxvHJGPi8N279OZRFJTZVLp4Ntq6v2djlZo2prpWvuMlLTsaR8FJE1pI3z+EY6d6slNZ7dSMYIaKAFgA4+zbxHxJwiI5yZ2n09OnlLJ2oiKBeEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "maria pinyo",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "tinta",
    "prioridad": "1",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28746\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28746\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28746\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28746\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:22",
    "ubicacionGPS": "LatLng(lat: -22.4777209, lng: -68.9295905)",
    "horaLlegada": "12:15",
    "horaDespacho": "12:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 12:22:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[25/05/2026 12:22: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', 'EP3011', 1, 19969062, 1436, NOW(), 
				'12:00', '12:15', '12:22', 10, 'entrega insumos', -1, 
				'', '','1','14503',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779726163.png', 'entrega insumos', null, 'COMPLETADO','LatLng(lat: -22.4777209, lng: -68.9295905)' )
				
[25/05/2026 12:22:43] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200413
[25/05/2026 12:22:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200413', 'EPS-I1240', 1)
				
[25/05/2026 12:22:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28746 and
				    IDproducto = 'EPS-I1240'
				

25/05/2026 12:22:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1240';
                [25/05/2026 12:22:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200413', 'EPS-I1241', 1)
				
[25/05/2026 12:22:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28746 and
				    IDproducto = 'EPS-I1241'
				

25/05/2026 12:22:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1241';
                [25/05/2026 12:22:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200413', 'EPS-I1242', 1)
				
[25/05/2026 12:22:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28746 and
				    IDproducto = 'EPS-I1242'
				

25/05/2026 12:22:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1242';
                [25/05/2026 12:22:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200413', 'EPS-I1243', 1)
				
[25/05/2026 12:22:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28746 and
				    IDproducto = 'EPS-I1243'
				

25/05/2026 12:22:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1243';
                
25/05/2026 12:22:43 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200413'                    
				WHERE idllamado = 12180			
				TO ENVIO: micorreo@miempresa.cl, null


25/05/2026 12:22:43 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12180			
				
25/05/2026 12:22:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:22:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

[25/05/2026 12: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;
                

[25/05/2026 12: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;
                

[25/05/2026 12: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;
                

[25/05/2026 12: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;
                

25/05/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:22:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:22:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12:22:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:22:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:22:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:22:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12: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;
                

25/05/2026 12:22:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:22:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12:22:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:22:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:22:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:22:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:22:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:22:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12:22:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

[25/05/2026 12: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;
                

[25/05/2026 12: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;
                

[25/05/2026 12: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;
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12:22:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12180
                

25/05/2026 12:22:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12: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;
                

25/05/2026 12:22:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:22:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12: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;
                

25/05/2026 12:22:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12: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;
                

25/05/2026 12:22:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12: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;
                

25/05/2026 12:22:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12:22:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

[25/05/2026 12: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;
                

25/05/2026 12: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 = 12180
                

25/05/2026 12:22:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12180
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                

25/05/2026 12: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 = 12180
                
[25/05/2026 12:23: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 12:23:00] 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;
                

[25/05/2026 12:25: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;
                

[25/05/2026 12:25:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:25:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12540
                

25/05/2026 12:25:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12540
                

25/05/2026 12:25:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12:25:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12540
                

25/05/2026 12:25:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12540
                

[25/05/2026 12:25: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;
                

[25/05/2026 12:25: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;
                

25/05/2026 12:25:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:25: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;
                

25/05/2026 12:25:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:25: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;
                

25/05/2026 12:25:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:25: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;
                

[25/05/2026 12:25: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;
                

25/05/2026 12:25:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:25: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;
                

[25/05/2026 12:25: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;
                

[25/05/2026 12:25: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;
                

[25/05/2026 12:25: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;
                

25/05/2026 12:25:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:25: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;
                

25/05/2026 12:25:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:25: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;
                

25/05/2026 12:25:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:25: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;
                

25/05/2026 12:25:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:25: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;
                

25/05/2026 12:25:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:25: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;
                

25/05/2026 12:25:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:25: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;
                

25/05/2026 12:25:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:25: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;
                

[25/05/2026 12:25: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;
                

25/05/2026 12:25:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:25: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;
                

25/05/2026 12:25:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:25: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;
                

25/05/2026 12:25:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:25: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;
                

25/05/2026 12:25:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:25: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;
                

25/05/2026 12:25:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:25: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;
                

25/05/2026 12:25:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:25: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;
                

25/05/2026 12:25:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:25: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;
                

25/05/2026 12:25:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:25:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:25:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12: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;
                

25/05/2026 12:25:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
[25/05/2026 12:27: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 12:27:27] 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;
                

[25/05/2026 12: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;
                

25/05/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
[25/05/2026 12:34: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;
				
[25/05/2026 12:34: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;
                

[25/05/2026 12:34: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;
                

[25/05/2026 12: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;
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12:34:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:34:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:34:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12: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;
                

25/05/2026 12:34:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12:34:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12: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;
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12:34:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:34:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:34:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12:34:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

[25/05/2026 12: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;
                

25/05/2026 12: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 = 12386
                

25/05/2026 12:34:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:34:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12: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;
                

[25/05/2026 12: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;
                

[25/05/2026 12: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;
                

25/05/2026 12: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 = 12386
                

25/05/2026 12:35:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:35:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:35:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12:35:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:35: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;
                

25/05/2026 12:35:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:35:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

[25/05/2026 12:35: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;
                

25/05/2026 12:35:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

[25/05/2026 12:35: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;
                

25/05/2026 12:35:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12:35:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:35:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12:35:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:35:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:35:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:35: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;
                

[25/05/2026 12:35: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;
                

25/05/2026 12:35:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:35: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;
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:40:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:40:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:40:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:40:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:40:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:40:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:40:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:40:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:40:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:40:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:40:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:40:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:40:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:40:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 12:40:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:40:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/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 = 12386
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:40: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;
                

25/05/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 = 12386
                

[25/05/2026 12:40: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;
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

[25/05/2026 12:40: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;
                

25/05/2026 12:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:40: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;
                

25/05/2026 12:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:40: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;
                

25/05/2026 12:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:40: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;
                

25/05/2026 12:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:40:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 12:40:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:40:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:40:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:40:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:40:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 12:40:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:40:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 12:40:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:40:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:40:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:40:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:40:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:40:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:40: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;
                

25/05/2026 12:40:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:40: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;
                

25/05/2026 12:40:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:40: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;
                

25/05/2026 12:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:40: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;
                

[25/05/2026 12:40: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;
                

[25/05/2026 12:40: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;
                

25/05/2026 12:40:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:40: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;
                

25/05/2026 12:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:40: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;
                

25/05/2026 12:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:40: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;
                

25/05/2026 12:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:40: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;
                

25/05/2026 12:40:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:40: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;
                

25/05/2026 12:40:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:40: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;
                

25/05/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:40: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;
                

[25/05/2026 12:40: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;
                

25/05/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:40: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;
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:40: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;
                

25/05/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:40: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;
                

25/05/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 12:40: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;
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 12:40: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;
                

[25/05/2026 12:40: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;
                

25/05/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:40: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;
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:40: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;
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:40: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;
                

25/05/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12:40:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:40:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 12:40:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:40:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12384
                

25/05/2026 12:40:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12384
                

25/05/2026 12:40:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 12:41: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;
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12384
                

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12384
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12384
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12:41:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12:41:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12:41:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12384
                

25/05/2026 12:41:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12: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 = 12384
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12384
                

25/05/2026 12:41:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12:41:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12:41:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12384
                

25/05/2026 12:41:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:41:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:41:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 12:41:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:41:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 12:41:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 12:41:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:41:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 12:41:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 12:41:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:41:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:41:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:41:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 12:41:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 12:41:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:41:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 12:41:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:41:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 12:41:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12: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 = 12384
                

25/05/2026 12:41:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:41:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:41:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12:41:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:41:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:41:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12384
                

25/05/2026 12:41:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:41:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12:41:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:41:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12: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 = 12384
                

[25/05/2026 12:41:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12:41:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:41:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:41:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:41:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:41:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:41:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12384
                

[25/05/2026 12:41:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12:41:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12:41:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12540
                

25/05/2026 12:41:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12:41:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12: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 = 12540
                

25/05/2026 12:41:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12: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 = 12540
                

25/05/2026 12:41:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12:41:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12540
                

[25/05/2026 12:41: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;
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12:41:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12:41:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12: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 = 12540
                

25/05/2026 12:41:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 12:41:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

[25/05/2026 12:41: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;
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12:41:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12:41:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12:41:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12:41:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12:41:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:41:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12:41:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12:41:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12:41:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12:41:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12:41:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

25/05/2026 12:41:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

25/05/2026 12: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 = 12321
                

[25/05/2026 12:41: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;
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12321
                

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

25/05/2026 12: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 = 12321
                

[25/05/2026 12:41: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;
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[25/05/2026 12:41: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;
                

[25/05/2026 12:41: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;
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

25/05/2026 12: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 = 12321
                

[25/05/2026 12:43: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;
                

[25/05/2026 12:43: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;
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:43: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;
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

[25/05/2026 12:43: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;
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

[25/05/2026 12:43: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;
                

25/05/2026 12: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 = 12386
                

[25/05/2026 12:43: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;
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:43: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;
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

[25/05/2026 12:43: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;
                

[25/05/2026 12:43: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;
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

[25/05/2026 12:43: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;
                

[25/05/2026 12:43: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;
                

25/05/2026 12:43:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:43:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12:43:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:43: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;
                

25/05/2026 12: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 = 12386
                

25/05/2026 12:43:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:43: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;
                

25/05/2026 12:43:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12:43:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12:43:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12:43:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:43: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;
                

25/05/2026 12:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:43: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;
                

25/05/2026 12:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:43: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;
                

25/05/2026 12:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:43: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;
                

25/05/2026 12:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:43: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;
                

25/05/2026 12:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:43: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;
                

25/05/2026 12:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:43: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;
                

25/05/2026 12:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:43: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;
                

25/05/2026 12:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:43:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:43:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:43: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;
                

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:43:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:43:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:43: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;
                

25/05/2026 12:43:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:43: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;
                

25/05/2026 12:43:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:43: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;
                

25/05/2026 12:43:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:43: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;
                

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:43:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:44: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;
                

25/05/2026 12:44:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:44: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;
                

25/05/2026 12:44:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:44: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;
                

25/05/2026 12:44:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:44: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;
                

[25/05/2026 12:44: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;
                

25/05/2026 12:44:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:44: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;
                

25/05/2026 12:44:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:44: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;
                

25/05/2026 12:44:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:44: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;
                

25/05/2026 12:44:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:44: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;
                

25/05/2026 12:44:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:44: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;
                

25/05/2026 12:44:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:44: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;
                

25/05/2026 12:44:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:44: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;
                

[25/05/2026 12:44: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;
                

25/05/2026 12:44:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:44: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;
                

25/05/2026 12:44:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:44: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;
                

25/05/2026 12:44:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:44: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;
                

25/05/2026 12:44:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:44: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;
                

25/05/2026 12:44:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:44: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;
                

25/05/2026 12:44:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:44: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;
                

25/05/2026 12:44:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:44: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;
                

[25/05/2026 12:44: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;
                

25/05/2026 12:44:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:44: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;
                

[25/05/2026 12:44: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;
                

[25/05/2026 12:44: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;
                

[25/05/2026 12:44: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;
                

25/05/2026 12:44:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:44: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;
                

25/05/2026 12:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/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 = 12386
                

25/05/2026 12:44:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:44:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:47:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:47:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:47:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12:47:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12:48:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:49:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:49:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12:49:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:49:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:33 - logentry: =========================================
FECHA: 25/05/2026 12:49:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-+685-vow4mNaMxEO2rseiJQn5SwVUoSgI.qVD52-yw4oVGb877a
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3055",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "91629",
    "contadorColor": "16031",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12386",
    "observacion": "entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABrARQDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xAA\/EAABAwMBBQUFBgQEBwAAAAABAAIDBAURIQYSMUFREyJhcYEUMpGhsRUjM8HR8Ac0QnIWJCVSQ1NigqLh8f\/EABkBAQEBAQEBAAAAAAAAAAAAAAADAgQBBf\/EAC8RAAICAQMDAgQEBwAAAAAAAAABAhEDEiExBEFRYXETIoHhMqGxwRQkM0JikdH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAVNftoG2hrYIYjUVko+7jGdPE4+nNXKzGy3+o11wu0w3pDL2UbiNGtHIZ1HELcUuWc+aUrUIumyJbv8RX+mNdHdY4G5LBG1uAMeXn4qfR3O6226w2+9vhlZU6Q1DBjLs8MADqBwXjbn\/Ym11RbcbtLW\/ew54B2M6fMegXW2oxFb5GfitqQGHzH\/oKj3lVbM5I3DG529UXvvyadERQPphERAEREAREQBERAEREAREQBERAEREAREQBcuc1jC9xw1oyT0C6US6U7qu1VVOzO9JE5owM64Xq5PJNpNokRSxzRtkieHscMhzTkFdrJ7B1ofQz0T3O7SKTfAceDSAMAeBHzWsXso6XRPDl+LjU\/IREWSoREQBERAEREAWW2Skbb6muskrSyWOUyMDjq4EAfQA+q1Kz20tonkcy7247tbSjOAM77R9Tx8+C3Ct4vuc2dSVZI71+ncbX0kxooblSnE1C\/f4Z7vP4YB+Kg3avivldYY6cEiV\/bOaACWgHXI8N12fLmry1XamvdGWkAS7mJ4HAgt5HjxCxlrLLBtaIK54EcBcwPcPdBGQfDOfmVWC2p8o5M8lakn8s6v6fY\/RkUJ94tkcfaOuFNu9RK05+arKjbO1RgtpzLVScGsjjIyfMqKjJ8I75ZsceZI0CKBZqqtrLe2eupxTyPcS1gz7vLOeaLxqnRuMlJJonoi5e9kbC+RwY1oyXOOAF4aOkVNLtZZIn7hrQ85x3Gkj44wpVFe7ZcHBtLWxveeDCd1x9DgrWmS7Elmxt0pK\/cnoiLJUIiIAiIgCIiAIqK4bUQU1SKShgfX1BBy2HUN6ZPmoo2ivmddnJseZ\/RbUJHO+pxp1f+k2adFn6TaWqmqoqaostVA+RzW7x90Z5kkDlyWgWXFrkpDJHIriERF4UMTbGPtO3s9O4brKnf3RyLT3hj4YW2WP23b7JVW+5w6TxuwHctCCAfmtNbK+O5W6Gsj4SNyR\/tPMfFVnulI4umahOeLw7+jJS8qmpgo4HT1ErYo2DJc44C9HODWlziAAMknksYaabao3GrNQ8xw7zKeBp7hIBwdM56+vRZjG+S2bK4Uoq2zYQVEVVA2eCQSRvGWubwK9FR7IVMc2z8MTD34CWPaeIOSfzV4syVOjeKeuCl5C8auqioqV9TOSI2Y3iBnGuFVz7WWenqXQPneXM0JbGSBxz9PmFDrdr7bU08tNSwS1ssrCGx9kd13gefitKEvBOfUYknUlZLl2vskTA72ouJAO61hJH5fNSLNfIL3HLJBDNG2MgZkaAHZ6YPgo2z2z1PbaBvtFPG+oed5zngOLeGBnGnAequwABgDACS0rZHmL40qlNpelH1ERYOkz912ceagXCyyMo6xmSQBhsn7+B+ahW6111yvU9ReaFrGugEcjSRh2MYIweozz4ctFrUW1N1RzS6aDlf5dimbslY2v3vYgdMYL3EcMdVYU9uoqT+XpIYvFkYBUlFlyb5ZWOLHH8MUgiIvChVwX2Ca4V1K5hjFE3ekkcdMcyqKngqds55Kiplkp7bE\/EcTdC\/z5Z8fHCqr9LLTX26UcJy6rdG3Q40OHY\/Jb6goorfQw0kPuRN3c9TzPqclWdQVrufOg5dRNwnxG79d9jwprHa6WIRxUEGBzcwOJ8ydVEr9lLTXRuDacUzzwfAN35cDwV0inqkndnY8ONrS4qjL224VlkuzbNdZu2ikA9mqCMeAB\/eh81qFSbWW5tdZJZBpLSgzMd4Aaj4fQKbZrgLpaaesxh0je8OjhofmFqW61EsVwm8Te3K9vsTkWcu1zuFZdBZ7OQx7cGoqOPZ+H78uRUWsp73s7EK8XV9fAxw7ZkrTkAniASf2UUPU9l1CTdRbS5ZrV8BB4HKytyuVTfqmltlqlMcc0QlqXgjLWHGnXQHhzyFzWWS4WFrq+03CZ8UY3pYJDvFw5nhg8zw01TR5e54+oe7jG0u\/wDzya1Q7u6Vloq3QfiiJ27pnXHRLXcI7pboauMY32jeb\/tdzCmLHDL7Tjs+TJbN3Sz2uwNL5g2cbzpmAEvznHDyx8F6wbWzxujnuNCYKGoP3U7TvY6ZA8ldGyWs1PtHsMPa53t7d59VIqKWCqpzTzwskiPFjhoqOUW7o5o4c0YpKSVcevudxSxzRNlieHseMtc05BC7WPjln2OufYSB8lpqXdx5\/wCEf3x68Vr2uDmhzSCCMgjmsSjXsWxZddpqmuUctljdI6Nr2l7RktB1A\/YXaxtyo5q7bZ8dLUup5mU4c2Rp904545fr6KZ9gX6oaWVV+c1mN37tp7zfHhqtaF5JLPNtpQunXY8ro6HaDaWioIXCampSX1Bact8j14Y9VzRyu2VvctHUksttU4ugeT3WH8unwWgttppLVD2dMw5I70jjlz+ep9V6V9vpbnSupquISRk5HItPUHkV7rXHYz\/Dz\/qf33fp7exX7TXFlJZJAx7u0qR2cPZ8SSOWPBSbHQ\/Z1mpqYsDXtZl+M+8dTxUGg2PtdBWNqW9tK5urWykFoPXgr5Zk1VIrjjNzeSarsZyq2dr6evnrbLXtpXT950Tm90uzxOh6nkuPsramdjo6q8QtY7Q9k3BxrnUNB6c1pkTWzx9NC9m16W6INFaKOhomUrYWyNaMEyNBLvNSYqWng\/Bgjj\/sYB9F6osttl1CMeEERF4aCIiAIiIAiIgCIiAxM1vNf\/EWQFwa2ExzHe\/qDWs0HXX81tlmHO7L+IbRoO2puXPAP6LTqk3x7HJ00UnN\/wCTCIimdZ5VMQnpZYSMiRhbjzGFndkaxtPspLNK4blO9+fAYB5ea06wdtL4Nh7tHjBbMRkjjndB+irBXFr2OPPLRkUl4l+xdbI0shp6i6VAHbVz97I5gE6jpnPDwCvp4Y6mCSCVu9HI0tcOoKhbPgN2foQP+S0\/JWKxJ\/My2CCWJL0\/UxWwULvaa6QgYjAYMdSST9PotoQCMEZBUaittJb+19li7Ptnb7+8Tk+pUpezlqlZ50+J4sagyps9kNnqqsxT5pp3BzId33Dz1+XoFbIiy227ZSEIwWmPAREXhsj19DBcaOSlqGBzHjHkeRHis7YboLRDW2y5SBht\/ea4n3meAPmMf3BaC4XKktdMZ6uUMbyHNx6Ac1h4mt2p2qDqiJ9NDIze3Rxe0DTXx6q0Fad8HB1M1DJFw\/Fx9H5LzZOCoqqisvlW0tfVu3YwRwZ4eHAD+1aZcRRRwQshiYGRsAa1o4ALtTk7dnVix\/DgohERZKhERAEREAREQBERAEREAREQBERAEREBmL7ig2rtd0lz2JBgccaNJ3hkn\/uz6FadVG0tr+1LPJG3HaxfeR56gHT4ZXpYbsy725spcO2Z3Zm4wQ7rjllUe8U\/BzQ+TLKL77r9yzREUzpId2rBQWqpqjxjjONca8B8yFm6G3GP+HtRkbrp2Omdpk4B0+TfmpO1s0lXU0Njh41Tw+Q54NB\/+n0WhFNEKT2QNxEI+z3f+nGMfBVT0xRxyj8XLLwlX1ZB2amZPs7ROYdGxhhz1Gh+itFmdjZHU0dbaZn5lpZ3Y6EcDjwyM+q0yzNVJlenlqxRYREWC4REQBVl7vdPZaTtZe\/K7SKIHVx\/IeKsXOaxhe44a0ZJ6BZfZ6j+2ayovde0PJk3IGOGA0A5yR4aYz08luKXLIZpyVQhy\/y9RarDPdZvtW\/5ke\/WKnd7rG+I5eXxX20EXDbKvrB+HTM7KPdGh1xn\/wAXKy2gvbbRSARt7Sqm7sUY1P8AcfAfVc7MWuS12vFQD7RM7tJMnJB6FbcnpbZzrHFZIwjvW7fr2LlERRO8IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALNXKzVluuRvFkaHPd+PTcnjiSP068FpUWoyaJ5MayKmUlu2rtlZGBPM2knBw+OY7uD5nRelx2mtdui3jUsmeR3Y4SHE\/DQKTW2W23D+apGPPUZafiFDtFitdKfaIaRgla47riS4jQcMla+Tkh\/ML5bXv9iNs5bKt9TNeLqP83KcRtP9DfDp+nmtGiLMpanZfHjWOOlHkymp453zshjbLJ7zw0bzuHE+gXqiLJtJLgIiIehERAec0TZ4JIX53ZGlrsdCMLM01LtLZ4hQUFPST0zXOLZXd12M51Bd6c1qkWlKiWTEptO2n6FHa9n3Q1r7jc5hVVpcd1wzusHLAPP6ZV4iLxtvk1DHGCqIREXhsIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "LUISA MORGADO",
    "correoContacto": "valentinletelier@sleplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "KIT TINTAS MAS 4 NEGRAS",
    "prioridad": "1",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28740\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28740\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28740\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28740\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:49",
    "ubicacionGPS": "LatLng(lat: -22.4625076, lng: -68.9459462)",
    "horaLlegada": "12:26",
    "horaDespacho": "12:22",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 12:49:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-+685-vow4mNaMxEO2rseiJQn5SwVUoSgI.qVD52-yw4oVGb877a
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3055",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "91629",
    "contadorColor": "16031",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12386",
    "observacion": "entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABrARQDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xAA\/EAABAwMBBQUFBgQEBwAAAAABAAIDBAURIQYSMUFREyJhcYEUMpGhsRUjM8HR8Ac0QnIWJCVSQ1NigqLh8f\/EABkBAQEBAQEBAAAAAAAAAAAAAAADAgQBBf\/EAC8RAAICAQMDAgQEBwAAAAAAAAABAhEDEiExBEFRYXETIoHhMqGxwRQkM0JikdH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAVNftoG2hrYIYjUVko+7jGdPE4+nNXKzGy3+o11wu0w3pDL2UbiNGtHIZ1HELcUuWc+aUrUIumyJbv8RX+mNdHdY4G5LBG1uAMeXn4qfR3O6226w2+9vhlZU6Q1DBjLs8MADqBwXjbn\/Ym11RbcbtLW\/ew54B2M6fMegXW2oxFb5GfitqQGHzH\/oKj3lVbM5I3DG529UXvvyadERQPphERAEREAREQBERAEREAREQBERAEREAREQBcuc1jC9xw1oyT0C6US6U7qu1VVOzO9JE5owM64Xq5PJNpNokRSxzRtkieHscMhzTkFdrJ7B1ofQz0T3O7SKTfAceDSAMAeBHzWsXso6XRPDl+LjU\/IREWSoREQBERAEREAWW2Skbb6muskrSyWOUyMDjq4EAfQA+q1Kz20tonkcy7247tbSjOAM77R9Tx8+C3Ct4vuc2dSVZI71+ncbX0kxooblSnE1C\/f4Z7vP4YB+Kg3avivldYY6cEiV\/bOaACWgHXI8N12fLmry1XamvdGWkAS7mJ4HAgt5HjxCxlrLLBtaIK54EcBcwPcPdBGQfDOfmVWC2p8o5M8lakn8s6v6fY\/RkUJ94tkcfaOuFNu9RK05+arKjbO1RgtpzLVScGsjjIyfMqKjJ8I75ZsceZI0CKBZqqtrLe2eupxTyPcS1gz7vLOeaLxqnRuMlJJonoi5e9kbC+RwY1oyXOOAF4aOkVNLtZZIn7hrQ85x3Gkj44wpVFe7ZcHBtLWxveeDCd1x9DgrWmS7Elmxt0pK\/cnoiLJUIiIAiIgCIiAIqK4bUQU1SKShgfX1BBy2HUN6ZPmoo2ivmddnJseZ\/RbUJHO+pxp1f+k2adFn6TaWqmqoqaostVA+RzW7x90Z5kkDlyWgWXFrkpDJHIriERF4UMTbGPtO3s9O4brKnf3RyLT3hj4YW2WP23b7JVW+5w6TxuwHctCCAfmtNbK+O5W6Gsj4SNyR\/tPMfFVnulI4umahOeLw7+jJS8qmpgo4HT1ErYo2DJc44C9HODWlziAAMknksYaabao3GrNQ8xw7zKeBp7hIBwdM56+vRZjG+S2bK4Uoq2zYQVEVVA2eCQSRvGWubwK9FR7IVMc2z8MTD34CWPaeIOSfzV4syVOjeKeuCl5C8auqioqV9TOSI2Y3iBnGuFVz7WWenqXQPneXM0JbGSBxz9PmFDrdr7bU08tNSwS1ssrCGx9kd13gefitKEvBOfUYknUlZLl2vskTA72ouJAO61hJH5fNSLNfIL3HLJBDNG2MgZkaAHZ6YPgo2z2z1PbaBvtFPG+oed5zngOLeGBnGnAequwABgDACS0rZHmL40qlNpelH1ERYOkz912ceagXCyyMo6xmSQBhsn7+B+ahW6111yvU9ReaFrGugEcjSRh2MYIweozz4ctFrUW1N1RzS6aDlf5dimbslY2v3vYgdMYL3EcMdVYU9uoqT+XpIYvFkYBUlFlyb5ZWOLHH8MUgiIvChVwX2Ca4V1K5hjFE3ekkcdMcyqKngqds55Kiplkp7bE\/EcTdC\/z5Z8fHCqr9LLTX26UcJy6rdG3Q40OHY\/Jb6goorfQw0kPuRN3c9TzPqclWdQVrufOg5dRNwnxG79d9jwprHa6WIRxUEGBzcwOJ8ydVEr9lLTXRuDacUzzwfAN35cDwV0inqkndnY8ONrS4qjL224VlkuzbNdZu2ikA9mqCMeAB\/eh81qFSbWW5tdZJZBpLSgzMd4Aaj4fQKbZrgLpaaesxh0je8OjhofmFqW61EsVwm8Te3K9vsTkWcu1zuFZdBZ7OQx7cGoqOPZ+H78uRUWsp73s7EK8XV9fAxw7ZkrTkAniASf2UUPU9l1CTdRbS5ZrV8BB4HKytyuVTfqmltlqlMcc0QlqXgjLWHGnXQHhzyFzWWS4WFrq+03CZ8UY3pYJDvFw5nhg8zw01TR5e54+oe7jG0u\/wDzya1Q7u6Vloq3QfiiJ27pnXHRLXcI7pboauMY32jeb\/tdzCmLHDL7Tjs+TJbN3Sz2uwNL5g2cbzpmAEvznHDyx8F6wbWzxujnuNCYKGoP3U7TvY6ZA8ldGyWs1PtHsMPa53t7d59VIqKWCqpzTzwskiPFjhoqOUW7o5o4c0YpKSVcevudxSxzRNlieHseMtc05BC7WPjln2OufYSB8lpqXdx5\/wCEf3x68Vr2uDmhzSCCMgjmsSjXsWxZddpqmuUctljdI6Nr2l7RktB1A\/YXaxtyo5q7bZ8dLUup5mU4c2Rp904545fr6KZ9gX6oaWVV+c1mN37tp7zfHhqtaF5JLPNtpQunXY8ro6HaDaWioIXCampSX1Bact8j14Y9VzRyu2VvctHUksttU4ugeT3WH8unwWgttppLVD2dMw5I70jjlz+ep9V6V9vpbnSupquISRk5HItPUHkV7rXHYz\/Dz\/qf33fp7exX7TXFlJZJAx7u0qR2cPZ8SSOWPBSbHQ\/Z1mpqYsDXtZl+M+8dTxUGg2PtdBWNqW9tK5urWykFoPXgr5Zk1VIrjjNzeSarsZyq2dr6evnrbLXtpXT950Tm90uzxOh6nkuPsramdjo6q8QtY7Q9k3BxrnUNB6c1pkTWzx9NC9m16W6INFaKOhomUrYWyNaMEyNBLvNSYqWng\/Bgjj\/sYB9F6osttl1CMeEERF4aCIiAIiIAiIgCIiAxM1vNf\/EWQFwa2ExzHe\/qDWs0HXX81tlmHO7L+IbRoO2puXPAP6LTqk3x7HJ00UnN\/wCTCIimdZ5VMQnpZYSMiRhbjzGFndkaxtPspLNK4blO9+fAYB5ea06wdtL4Nh7tHjBbMRkjjndB+irBXFr2OPPLRkUl4l+xdbI0shp6i6VAHbVz97I5gE6jpnPDwCvp4Y6mCSCVu9HI0tcOoKhbPgN2foQP+S0\/JWKxJ\/My2CCWJL0\/UxWwULvaa6QgYjAYMdSST9PotoQCMEZBUaittJb+19li7Ptnb7+8Tk+pUpezlqlZ50+J4sagyps9kNnqqsxT5pp3BzId33Dz1+XoFbIiy227ZSEIwWmPAREXhsj19DBcaOSlqGBzHjHkeRHis7YboLRDW2y5SBht\/ea4n3meAPmMf3BaC4XKktdMZ6uUMbyHNx6Ac1h4mt2p2qDqiJ9NDIze3Rxe0DTXx6q0Fad8HB1M1DJFw\/Fx9H5LzZOCoqqisvlW0tfVu3YwRwZ4eHAD+1aZcRRRwQshiYGRsAa1o4ALtTk7dnVix\/DgohERZKhERAEREAREQBERAEREAREQBERAEREBmL7ig2rtd0lz2JBgccaNJ3hkn\/uz6FadVG0tr+1LPJG3HaxfeR56gHT4ZXpYbsy725spcO2Z3Zm4wQ7rjllUe8U\/BzQ+TLKL77r9yzREUzpId2rBQWqpqjxjjONca8B8yFm6G3GP+HtRkbrp2Omdpk4B0+TfmpO1s0lXU0Njh41Tw+Q54NB\/+n0WhFNEKT2QNxEI+z3f+nGMfBVT0xRxyj8XLLwlX1ZB2amZPs7ROYdGxhhz1Gh+itFmdjZHU0dbaZn5lpZ3Y6EcDjwyM+q0yzNVJlenlqxRYREWC4REQBVl7vdPZaTtZe\/K7SKIHVx\/IeKsXOaxhe44a0ZJ6BZfZ6j+2ayovde0PJk3IGOGA0A5yR4aYz08luKXLIZpyVQhy\/y9RarDPdZvtW\/5ke\/WKnd7rG+I5eXxX20EXDbKvrB+HTM7KPdGh1xn\/wAXKy2gvbbRSARt7Sqm7sUY1P8AcfAfVc7MWuS12vFQD7RM7tJMnJB6FbcnpbZzrHFZIwjvW7fr2LlERRO8IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALNXKzVluuRvFkaHPd+PTcnjiSP068FpUWoyaJ5MayKmUlu2rtlZGBPM2knBw+OY7uD5nRelx2mtdui3jUsmeR3Y4SHE\/DQKTW2W23D+apGPPUZafiFDtFitdKfaIaRgla47riS4jQcMla+Tkh\/ML5bXv9iNs5bKt9TNeLqP83KcRtP9DfDp+nmtGiLMpanZfHjWOOlHkymp453zshjbLJ7zw0bzuHE+gXqiLJtJLgIiIehERAec0TZ4JIX53ZGlrsdCMLM01LtLZ4hQUFPST0zXOLZXd12M51Bd6c1qkWlKiWTEptO2n6FHa9n3Q1r7jc5hVVpcd1wzusHLAPP6ZV4iLxtvk1DHGCqIREXhsIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "LUISA MORGADO",
    "correoContacto": "valentinletelier@sleplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "KIT TINTAS MAS 4 NEGRAS",
    "prioridad": "1",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28740\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28740\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28740\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28740\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:49",
    "ubicacionGPS": "LatLng(lat: -22.4625076, lng: -68.9459462)",
    "horaLlegada": "12:26",
    "horaDespacho": "12:22",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 12:49:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[25/05/2026 12:49:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP3055', 1, 19969062, 91629, NOW(), 
				'12:22', '12:26', '12:49', 10, 'entrega insumos', -1, 
				'', '','1','16031',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779727773.png', 'entrega insumos', null, 'COMPLETADO','LatLng(lat: -22.4625076, lng: -68.9459462)' )
				
[25/05/2026 12:49:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200414
[25/05/2026 12:49:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200414', 'EPS-I1240', 2)
				
[25/05/2026 12:49:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28740 and
				    IDproducto = 'EPS-I1240'
				

25/05/2026 12:49:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1240';
                [25/05/2026 12:49:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200414', 'EPS-I1241', 1)
				
[25/05/2026 12:49:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28740 and
				    IDproducto = 'EPS-I1241'
				

25/05/2026 12:49:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1241';
                [25/05/2026 12:49:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200414', 'EPS-I1242', 1)
				
[25/05/2026 12:49:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28740 and
				    IDproducto = 'EPS-I1242'
				

25/05/2026 12:49:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1242';
                [25/05/2026 12:49:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200414', 'EPS-I1243', 1)
				
[25/05/2026 12:49:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28740 and
				    IDproducto = 'EPS-I1243'
				

25/05/2026 12:49:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1243';
                
25/05/2026 12:49:33 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200414'                    
				WHERE idllamado = 12386			
				TO ENVIO: micorreo@miempresa.cl, valentinletelier@sleplicancabur.cl


25/05/2026 12:49:34 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12386			
				
25/05/2026 12:49:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 12:49:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:49:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:49: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;
                

25/05/2026 12: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 = 12386
                

25/05/2026 12:49:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12:49:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:49:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12:49:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:49: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;
                

25/05/2026 12: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 = 12386
                

[25/05/2026 12:49: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;
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12:49:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

[25/05/2026 12:49: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;
                

25/05/2026 12:49:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:49:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12: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 = 12386
                

25/05/2026 12:49:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:49:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:49:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12:49: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;
                

[25/05/2026 12: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;
                

25/05/2026 12:49:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:49:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:49:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12: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;
                

25/05/2026 12:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:49:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:49:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:49:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12: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;
                

[25/05/2026 12: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;
                

25/05/2026 12:49:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12: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;
                

25/05/2026 12:49:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12: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;
                

25/05/2026 12:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:49:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12: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;
                

25/05/2026 12:49:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

[25/05/2026 12: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;
                

25/05/2026 12:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

[25/05/2026 12:49: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;
                

25/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12386
            GROUP BY l.idllamado;
            

25/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                

25/05/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12386
                
[25/05/2026 12:49: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;
				
[25/05/2026 12:49: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;
                

[25/05/2026 12:49:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:51: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;
                

25/05/2026 12:51:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:51: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;
                

[25/05/2026 12:51: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;
                

25/05/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 12:51: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;
                

25/05/2026 12:51:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 12:51: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;
                

25/05/2026 12:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:51: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;
                

25/05/2026 12:51:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:51: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;
                

25/05/2026 12:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 12:51: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;
                

25/05/2026 12:51:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 12:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 12:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:51:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:51:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 12:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:51: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;
                

25/05/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 12:51:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 12:51:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 12:51:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:51:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 12:51: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;
                

[25/05/2026 12:51: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;
                

25/05/2026 12:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:51: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;
                

[25/05/2026 12:51: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;
                

25/05/2026 12:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:51: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;
                

25/05/2026 12:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:51: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;
                

25/05/2026 12:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:51: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;
                

25/05/2026 12:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 12:51: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;
                

25/05/2026 12:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 12:51: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;
                

25/05/2026 12:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:51: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;
                

25/05/2026 12:51:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:51:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12:51:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12: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 = 12384
                

25/05/2026 12:51:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:51:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:52:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:52:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:52:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/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 = 12384
                

25/05/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 = 12384
                

25/05/2026 12:52:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:52:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:12 - logentry: =========================================
FECHA: 25/05/2026 12:53:12
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-a-80zazUuUTprYsLYD.rDE7zepgLPvb2_WOwkzQfnsWj5nekMlp
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3052",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "983",
    "contadorColor": "3650",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12384",
    "observacion": "entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABwAQcDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xAA8EAABAwMCAwYFAgMGBwAAAAABAAIDBAURBiESMUETUWFxgZEUIqHB8DKxFRbhIzNCQ4KSByRScsLR8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC8RAAICAQIEBQIFBQAAAAAAAAABAhEDITEEEkFREyJhwdFx4RQyQpGhI4Gx8PH\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICAu+onwVRt1qg+KruoxlrPP6e60ii1bPh8lyp4AcHga0HHf\/h+612qRls1fcKOoY1r6wiSGTlkbnHrn1IVpVrfLokYscXmuUpPeqWlFVlrr\/YHxSXOeCrpJJGsL2gBzNj4Dn3nPJWkEEZByCq3rk5ssMfV9Q0fQqxxtLI2tPMABclqkyeG45JQu0q3MkRFWagiIgCIiAIiIAiIgCIiAIiIAiIgCIiAi73eRZo4JHQGVssnASCBjZSireuouKxskGcxTtII6bEfdTtFUCroYKkf5sbX+4ypteVMohN+NKD9KN6IigXhERAEREAREQBERARGorKLvQjsvlqoTxRPGx8R6\/vhY6evZucLqeqb2ddT7TRkYJ6Z\/oplQF7sM0tS26Wl3ZV8e+AQBJ5+m2+ysi01yszZIyhLxYL6rv8Ac59RPNZf7Tbmuw3tDI8jfl09s+6s6+WMr5KXUTa6aIwvZPxzRAY4ST8wA919RY9skbZGODmuALSOoXckeVJFPCZVllOXW\/4MkRFUbwiKKvt8is1O0hva1EpAjiHM77n86rqTbpEZzjCLlLYlUVXZYLxc81Vyuj6eR4BbDCNo\/r4\/1WNNeLlY60UV8zLA92I6sDb1PXy5jHXZT5OzM\/4itZxaT6\/PYtSLwEEZByCvVWagiIgCIiAIiIAiIgCIuaouFJSTwwVE7I3z5EYcccR2\/wDaHG0lbOXUVN8VYKyPGSIy4eY3+y59ITGXTdNnmzibz7nH7KacA5padwRgqr6FfwUNZSE5dDUZI8xj\/wASrFrBmaXl4iL7pr3LSiKNv10babVLUAjtcYiaerjt9OaglbpGiclCLk9kcd8vk9PVR2y1xiaul2O4PZ7ZyR6532wuDTzrhDqqsoq+pdO9tOHOPGSAflIAz0HGVIaXtZpqU3Gqy6trBxyOcNwCc4\/Yn+i5a94surG3KWN3w9XGI5JQDiP9I39h3eqtVaxRglz+XNN1rt2RZ0UVXaht1LQSVDKuGR4jLo2B4y44228VDW+76jpKZ3xVqnq3PPFG7ljwOM7YUFBtWaZcRCMq3+mpbkVWNsvF9qDV1VTLbIuACOGNx4geuRt4rttelaS11raxlTUyytBA43jGCPAI4pdRHLkk9Iad79icREUDQEREBF3PTtuu0rZamMh45uZgF+2ACcKNOk6mjeXWm8T07D\/lOOQPzyVmRTU5LQolw+OTtrUhrTbbvSVZlrrr8TFwkdnw9e9FMoot2WQgoKkV\/UddPT3K0wQVDoBLPmRzXY+XYbjkRuefcuSysffdQTXuXPw0BMdK1wPln9z5nwUTrWuEl77JjtoIezIB6nc\/QhXKx0TLfZqWna3BEYc\/xcdz9Vc\/LBepgg3l4iS6J3\/fb5O9ctyt0F0on0tQ3LXciObT0IXUioTo9FpSVMrmjax8lBNQzOzLRyFmCTnh6c\/EFWNVmixTa9rom\/K2eAP4eEDJw3fP+5aqmtr9SXB1DbJXU9DEf7Wpbzcc9OvTl6q2UblZixZfDx8r1abS9aLWirB0WcbXirz5\/wBVg9+odPDtpphc6Jp+cn9bR39\/Id5XOVPZlnjzjrOFL9y0CRheWB7S8c253H5kLJfOIKis\/iFdqGhzLHBUHLXA7xuLvoBjyV\/oK6C40cdVTvDmPGfI9QfFJw5Rg4hZbVV7rudC5q6vprdTmeql4GDwJJ9AtlTOylppKiXPBG0udgZOAqvaqKbUd0N6uDP+UYSKaB4BBHj+bnyXIxvV7E8uRxahBW3\/ALbOC562rJ3yRW+IQQ4\/vXNJeB39w5+Kk4dMT1sUdTNqCpn4wHNc0nh332yeS12ekhut6vbpWE07v7EDkCO8dP8ACD7LK01M+nbqLJXP4qWU5pZjyHh+cj5q16Ko7mCCcnzZnaen019zottJqK2XCOmkqWVtA4nMsh+Zg9859wo2\/wBTS\/zvRmolLIqdjBI4HHCckjkc9Wq211ZFb6KWrnOI4m5Pj3D1Oyr2nbY25U9ZcrjCHfxB5c1hJ+VoJ5d2\/I+AUYy3ky7Lj2wwd63rrSXtZOV10p6S2SVwljewMLmFrgQ89Mb7qnWaeq07JDcq5maS5Ny9w5tOcg48jnA6HwU\/Dou0QziUNleAQQx7wQMemfqpqemgqoDBPCySJwwWOGQuKUYqlqTliy5JKctGtuprluFJDQOrnzs+HDeLtAcgjwVatVLPqS6G812RSROxTQOGxx+DzPgF2RaNo4jJGKmodSyODnU5f8pwNtx449lPxRRwxNiiYGMYMNa0YAC5aivKS5MmVp5FSXTu\/gzWuenhqYnRTxtkY4YLXDK2IqzW1e5Fxabs8E7Zo6GMPby3JA3J5ev7dylERdbb3IxhGP5VQREXCQREQBERAEREAREQFFrLS+666qaYSARx8EsgfvloDcgD\/Ur0qw9zaD\/iCHPIaK2nDQfHkAf9n7KzqzI26+hj4aKTm+tv7BERVmwoOqap9LqOqdEcPkpRGP8AVsfplWzT1I2jsdLG3Bc9gke7HNztz588eipOrXOqL9WuZ+iAMYSBnfA9tyV9EgAFPGAMAMH7K\/JpBHm8LrnyPt8\/Y2LwgEYIyCvUVB6RS9GPaLlc6AtBhdl3ARkYBxj2K6Y6W46ZuhbRU0lZbql+eBgJdEft+xUhY9PC01lXVPlbI+dx4MN\/S3iJ5+O3t1U2rZTXM62MOHh5eGlLRq6IbVdNPVafqI4Glzhhzmg8wDk+fJRn8001LbYaG0075qoARMZwHhBA3PirYsGxRscXNja1x5kDBKipJKmi7Jhk580ZVar\/AIRmnLS60WtsUuDPIeOUjfc9M+Cy1BaG3e2uiaAKiP54X8sO7s+P5yUoq3qS6TzSix2vidWTY7Rzduzbz59NvokblKzmRY8eHla02ruQ9NU3HV7Ke2v+SCmw6qmBzxnkPXH1yeivMUTIYmRRtDWMaGtaOgHIKoxUjdKako2RcbqWtjET3O\/688\/DfB9SripZHtWxXwkWk+f82z9giIqjaEREAREQBERAEREAREQBERAEREAREQFe1dTTCnprnTsDpaCQSH\/tyCfqB6ZUzQ1sNwo46qB3EyQZ8j1B8luexskbo3tDmuBDgeoVSLJtG3EyMY+W01DvmwcmIn89QrF5lXUyTbw5PE\/S9\/T1LesXvbGxz3nDWgknuCwp6mCrhE1NMyWM8nMOQoPV1xdFQi20xc6rrfkaxoyeHOD78vdRjG3RdkyKEHMgY6N1zsN6ujoyXyzdpGT0DTxHrywceiuFjq\/jrJSVB\/U6MB3iRsfqCvbfbo6SzRW944miLgf0zn9XLxJUTo6V8UVdbHkE0M5aC0bYJP3BVknzJ+hlxQeKcU+q\/nf5LIiIqTeEREAREQEZfrsLRbjK1vHPIeCFnPLj9h+c1zaatEtFC+treJ1dVbyFxyWju\/PsuBwdftaFjgDSWwbg4ILv\/v0arWrH5VRkx\/1cjm9lovdkBrOmbPYHzb8VO9sjcHHXB+hUtbqj4u201SRgyxNcR3EjdcupHtZp2uLhkdkR6nYLzTY4dO0Q3\/ugd1z9BJacQ66r3JRERQNIREQBERAEREAREQBERAEREAREQBERAFhLFHPE6KVgex4wWnqs0Qblal0h2ExmtNxnoj1YHEgjuznl55XVadPGkrDcK+pdV1nJshJw0Yxt9fdTaKbnJqjOuGxRlaXx+wXPBQ01NNNNDCGyTu4pH8y4+f2XQigXtJ6hERDoREQBERAVnQ4Boa2SRgZO6qd2jeRGw2x03JVmVbqbTdLXcp6+yCKRtRh0sEhxl2em4HUrA3rUhHZfwLhlI2fxHhH5jv7lbJcztGLFk8GChNO16bnusqp0sEFnpiHVFXI3iYOYaDt9cexVhpoG01LFTs\/TEwMHkBhQ9msdRFVuuV2lFRWu\/Tg5bGPDbY9NlOqMmqUUW4Yycnkkqv8AwERFA0BERAEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "LUISA MORGADO",
    "correoContacto": "valentinletelier@sleplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "KIT TINTAS",
    "prioridad": "1",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28739\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28739\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28739\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28739\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:53",
    "ubicacionGPS": "LatLng(lat: -22.4627866, lng: -68.9459006)",
    "horaLlegada": "12:26",
    "horaDespacho": "12:49",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 12:53:12
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-a-80zazUuUTprYsLYD.rDE7zepgLPvb2_WOwkzQfnsWj5nekMlp
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3052",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "983",
    "contadorColor": "3650",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12384",
    "observacion": "entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABwAQcDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xAA8EAABAwMCAwYFAgMGBwAAAAABAAIDBAURBiESMUETUWFxgZEUIqHB8DKxFRbhIzNCQ4KSByRScsLR8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC8RAAICAQIEBQIFBQAAAAAAAAABAhEDITEEEkFREyJhwdFx4RQyQpGhI4Gx8PH\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICAu+onwVRt1qg+KruoxlrPP6e60ii1bPh8lyp4AcHga0HHf\/h+612qRls1fcKOoY1r6wiSGTlkbnHrn1IVpVrfLokYscXmuUpPeqWlFVlrr\/YHxSXOeCrpJJGsL2gBzNj4Dn3nPJWkEEZByCq3rk5ssMfV9Q0fQqxxtLI2tPMABclqkyeG45JQu0q3MkRFWagiIgCIiAIiIAiIgCIiAIiIAiIgCIiAi73eRZo4JHQGVssnASCBjZSireuouKxskGcxTtII6bEfdTtFUCroYKkf5sbX+4ypteVMohN+NKD9KN6IigXhERAEREAREQBERARGorKLvQjsvlqoTxRPGx8R6\/vhY6evZucLqeqb2ddT7TRkYJ6Z\/oplQF7sM0tS26Wl3ZV8e+AQBJ5+m2+ysi01yszZIyhLxYL6rv8Ac59RPNZf7Tbmuw3tDI8jfl09s+6s6+WMr5KXUTa6aIwvZPxzRAY4ST8wA919RY9skbZGODmuALSOoXckeVJFPCZVllOXW\/4MkRFUbwiKKvt8is1O0hva1EpAjiHM77n86rqTbpEZzjCLlLYlUVXZYLxc81Vyuj6eR4BbDCNo\/r4\/1WNNeLlY60UV8zLA92I6sDb1PXy5jHXZT5OzM\/4itZxaT6\/PYtSLwEEZByCvVWagiIgCIiAIiIAiIgCIuaouFJSTwwVE7I3z5EYcccR2\/wDaHG0lbOXUVN8VYKyPGSIy4eY3+y59ITGXTdNnmzibz7nH7KacA5padwRgqr6FfwUNZSE5dDUZI8xj\/wASrFrBmaXl4iL7pr3LSiKNv10babVLUAjtcYiaerjt9OaglbpGiclCLk9kcd8vk9PVR2y1xiaul2O4PZ7ZyR6532wuDTzrhDqqsoq+pdO9tOHOPGSAflIAz0HGVIaXtZpqU3Gqy6trBxyOcNwCc4\/Yn+i5a94surG3KWN3w9XGI5JQDiP9I39h3eqtVaxRglz+XNN1rt2RZ0UVXaht1LQSVDKuGR4jLo2B4y44228VDW+76jpKZ3xVqnq3PPFG7ljwOM7YUFBtWaZcRCMq3+mpbkVWNsvF9qDV1VTLbIuACOGNx4geuRt4rttelaS11raxlTUyytBA43jGCPAI4pdRHLkk9Iad79icREUDQEREBF3PTtuu0rZamMh45uZgF+2ACcKNOk6mjeXWm8T07D\/lOOQPzyVmRTU5LQolw+OTtrUhrTbbvSVZlrrr8TFwkdnw9e9FMoot2WQgoKkV\/UddPT3K0wQVDoBLPmRzXY+XYbjkRuefcuSysffdQTXuXPw0BMdK1wPln9z5nwUTrWuEl77JjtoIezIB6nc\/QhXKx0TLfZqWna3BEYc\/xcdz9Vc\/LBepgg3l4iS6J3\/fb5O9ctyt0F0on0tQ3LXciObT0IXUioTo9FpSVMrmjax8lBNQzOzLRyFmCTnh6c\/EFWNVmixTa9rom\/K2eAP4eEDJw3fP+5aqmtr9SXB1DbJXU9DEf7Wpbzcc9OvTl6q2UblZixZfDx8r1abS9aLWirB0WcbXirz5\/wBVg9+odPDtpphc6Jp+cn9bR39\/Id5XOVPZlnjzjrOFL9y0CRheWB7S8c253H5kLJfOIKis\/iFdqGhzLHBUHLXA7xuLvoBjyV\/oK6C40cdVTvDmPGfI9QfFJw5Rg4hZbVV7rudC5q6vprdTmeql4GDwJJ9AtlTOylppKiXPBG0udgZOAqvaqKbUd0N6uDP+UYSKaB4BBHj+bnyXIxvV7E8uRxahBW3\/ALbOC562rJ3yRW+IQQ4\/vXNJeB39w5+Kk4dMT1sUdTNqCpn4wHNc0nh332yeS12ekhut6vbpWE07v7EDkCO8dP8ACD7LK01M+nbqLJXP4qWU5pZjyHh+cj5q16Ko7mCCcnzZnaen019zottJqK2XCOmkqWVtA4nMsh+Zg9859wo2\/wBTS\/zvRmolLIqdjBI4HHCckjkc9Wq211ZFb6KWrnOI4m5Pj3D1Oyr2nbY25U9ZcrjCHfxB5c1hJ+VoJ5d2\/I+AUYy3ky7Lj2wwd63rrSXtZOV10p6S2SVwljewMLmFrgQ89Mb7qnWaeq07JDcq5maS5Ny9w5tOcg48jnA6HwU\/Dou0QziUNleAQQx7wQMemfqpqemgqoDBPCySJwwWOGQuKUYqlqTliy5JKctGtuprluFJDQOrnzs+HDeLtAcgjwVatVLPqS6G812RSROxTQOGxx+DzPgF2RaNo4jJGKmodSyODnU5f8pwNtx449lPxRRwxNiiYGMYMNa0YAC5aivKS5MmVp5FSXTu\/gzWuenhqYnRTxtkY4YLXDK2IqzW1e5Fxabs8E7Zo6GMPby3JA3J5ev7dylERdbb3IxhGP5VQREXCQREQBERAEREAREQFFrLS+666qaYSARx8EsgfvloDcgD\/Ur0qw9zaD\/iCHPIaK2nDQfHkAf9n7KzqzI26+hj4aKTm+tv7BERVmwoOqap9LqOqdEcPkpRGP8AVsfplWzT1I2jsdLG3Bc9gke7HNztz588eipOrXOqL9WuZ+iAMYSBnfA9tyV9EgAFPGAMAMH7K\/JpBHm8LrnyPt8\/Y2LwgEYIyCvUVB6RS9GPaLlc6AtBhdl3ARkYBxj2K6Y6W46ZuhbRU0lZbql+eBgJdEft+xUhY9PC01lXVPlbI+dx4MN\/S3iJ5+O3t1U2rZTXM62MOHh5eGlLRq6IbVdNPVafqI4Glzhhzmg8wDk+fJRn8001LbYaG0075qoARMZwHhBA3PirYsGxRscXNja1x5kDBKipJKmi7Jhk580ZVar\/AIRmnLS60WtsUuDPIeOUjfc9M+Cy1BaG3e2uiaAKiP54X8sO7s+P5yUoq3qS6TzSix2vidWTY7Rzduzbz59NvokblKzmRY8eHla02ruQ9NU3HV7Ke2v+SCmw6qmBzxnkPXH1yeivMUTIYmRRtDWMaGtaOgHIKoxUjdKako2RcbqWtjET3O\/688\/DfB9SripZHtWxXwkWk+f82z9giIqjaEREAREQBERAEREAREQBERAEREAREQFe1dTTCnprnTsDpaCQSH\/tyCfqB6ZUzQ1sNwo46qB3EyQZ8j1B8luexskbo3tDmuBDgeoVSLJtG3EyMY+W01DvmwcmIn89QrF5lXUyTbw5PE\/S9\/T1LesXvbGxz3nDWgknuCwp6mCrhE1NMyWM8nMOQoPV1xdFQi20xc6rrfkaxoyeHOD78vdRjG3RdkyKEHMgY6N1zsN6ujoyXyzdpGT0DTxHrywceiuFjq\/jrJSVB\/U6MB3iRsfqCvbfbo6SzRW944miLgf0zn9XLxJUTo6V8UVdbHkE0M5aC0bYJP3BVknzJ+hlxQeKcU+q\/nf5LIiIqTeEREAREQEZfrsLRbjK1vHPIeCFnPLj9h+c1zaatEtFC+treJ1dVbyFxyWju\/PsuBwdftaFjgDSWwbg4ILv\/v0arWrH5VRkx\/1cjm9lovdkBrOmbPYHzb8VO9sjcHHXB+hUtbqj4u201SRgyxNcR3EjdcupHtZp2uLhkdkR6nYLzTY4dO0Q3\/ugd1z9BJacQ66r3JRERQNIREQBERAEREAREQBERAEREAREQBERAFhLFHPE6KVgex4wWnqs0Qblal0h2ExmtNxnoj1YHEgjuznl55XVadPGkrDcK+pdV1nJshJw0Yxt9fdTaKbnJqjOuGxRlaXx+wXPBQ01NNNNDCGyTu4pH8y4+f2XQigXtJ6hERDoREQBERAVnQ4Boa2SRgZO6qd2jeRGw2x03JVmVbqbTdLXcp6+yCKRtRh0sEhxl2em4HUrA3rUhHZfwLhlI2fxHhH5jv7lbJcztGLFk8GChNO16bnusqp0sEFnpiHVFXI3iYOYaDt9cexVhpoG01LFTs\/TEwMHkBhQ9msdRFVuuV2lFRWu\/Tg5bGPDbY9NlOqMmqUUW4Yycnkkqv8AwERFA0BERAEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "LUISA MORGADO",
    "correoContacto": "valentinletelier@sleplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "KIT TINTAS",
    "prioridad": "1",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28739\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28739\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28739\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28739\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:53",
    "ubicacionGPS": "LatLng(lat: -22.4627866, lng: -68.9459006)",
    "horaLlegada": "12:26",
    "horaDespacho": "12:49",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 12:53:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[25/05/2026 12:53: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('61980920', 'EP3052', 1, 19969062, 983, NOW(), 
				'12:49', '12:26', '12:53', 10, 'entrega insumos', -1, 
				'', '','1','3650',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779727992.png', 'entrega insumos', null, 'COMPLETADO','LatLng(lat: -22.4627866, lng: -68.9459006)' )
				
[25/05/2026 12:53:12] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200415
[25/05/2026 12:53:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200415', 'EPS-I1240', 2)
				
[25/05/2026 12:53:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28739 and
				    IDproducto = 'EPS-I1240'
				

25/05/2026 12:53:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1240';
                [25/05/2026 12:53:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200415', 'EPS-I1241', 1)
				
[25/05/2026 12:53:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28739 and
				    IDproducto = 'EPS-I1241'
				

25/05/2026 12:53:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1241';
                [25/05/2026 12:53:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200415', 'EPS-I1242', 1)
				
[25/05/2026 12:53:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28739 and
				    IDproducto = 'EPS-I1242'
				

25/05/2026 12:53:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1242';
                [25/05/2026 12:53:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200415', 'EPS-I1243', 1)
				
[25/05/2026 12:53:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28739 and
				    IDproducto = 'EPS-I1243'
				

25/05/2026 12:53:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1243';
                
25/05/2026 12:53:12 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200415'                    
				WHERE idllamado = 12384			
				TO ENVIO: micorreo@miempresa.cl, valentinletelier@sleplicancabur.cl


25/05/2026 12:53:12 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12384			
				
25/05/2026 12:53:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 12:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 12:53:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 12:53:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:53:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 12:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 12:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 12:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 12:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:53:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 12:53:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:53:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

[25/05/2026 12:53:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 12:53:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 12:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12384
            GROUP BY l.idllamado;
            

25/05/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                
[25/05/2026 12:53:19] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 12:53:19] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

25/05/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

25/05/2026 12:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12384
                

[25/05/2026 13:14: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;
                

25/05/2026 13:14:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/2026 13:14:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/2026 13:14:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

[25/05/2026 13:14: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;
                

25/05/2026 13:14:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:14: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;
                

25/05/2026 13:14:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:14: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;
                

[25/05/2026 13:14: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;
                

25/05/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 = 12540
                

[25/05/2026 13:14: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;
                

25/05/2026 13:14:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/2026 13:14:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

25/05/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 = 12540
                

[25/05/2026 13:14: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;
                

25/05/2026 13:14:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:14: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;
                

25/05/2026 13:14:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:14: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;
                

25/05/2026 13:14:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:14: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;
                

25/05/2026 13:14:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13: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 = 12540
                

25/05/2026 13: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 = 12540
                

25/05/2026 13:14:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13: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 = 12540
                

25/05/2026 13: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 = 12540
                

25/05/2026 13: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 = 12540
                

25/05/2026 13: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 = 12540
                

25/05/2026 13: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 = 12540
                

25/05/2026 13: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 = 12540
                

25/05/2026 13:14:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:14: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;
                

[25/05/2026 13:14: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;
                

25/05/2026 13:14:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:14: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;
                

25/05/2026 13:14:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13: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 = 12540
                

[25/05/2026 13:14: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;
                

25/05/2026 13: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 = 12540
                

25/05/2026 13:14:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13: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 = 12540
                

25/05/2026 13:14:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:14: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;
                

[25/05/2026 13:14: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;
                

25/05/2026 13: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 = 12540
                

25/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:14: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;
                

[25/05/2026 13:14: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;
                

25/05/2026 13:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:14: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;
                

25/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 13:14: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;
                

25/05/2026 13:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:14: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;
                

25/05/2026 13:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 13:14: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;
                

25/05/2026 13:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:14: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;
                

25/05/2026 13:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:14: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;
                

25/05/2026 13:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:14: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;
                

25/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13: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;
                

25/05/2026 13:14:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 13: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;
                

25/05/2026 13:14:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13: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;
                

[25/05/2026 13: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;
                

[25/05/2026 13: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;
                

25/05/2026 13:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13: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;
                

25/05/2026 13:14:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
[25/05/2026 13: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;
                
[25/05/2026 13: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;
				

25/05/2026 13:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:14:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:16:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 13:16: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;
                

25/05/2026 13:16:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
[25/05/2026 13:21: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;
				
[25/05/2026 13:21: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;
                

[25/05/2026 13:21: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;
                
[25/05/2026 13:21:17] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 13:21:17] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 13:21: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;
                
[25/05/2026 13:21:19] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 13:21:19] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 13:21:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 13:21: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;
				
[25/05/2026 13:21: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;
                
[25/05/2026 13:21:51] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[25/05/2026 13:21:51] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 13: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;
                
[25/05/2026 13:21:53] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[25/05/2026 13:21:53] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 13: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;
                

[25/05/2026 13: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;
                
[25/05/2026 13:21: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;
                
[25/05/2026 13:21: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;
				

[25/05/2026 13:21: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;
                
[25/05/2026 13:22:10] 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;
                
[25/05/2026 13:22: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 13:22:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[25/05/2026 13:22: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 13:22:12] 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;
                

[25/05/2026 13:22: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;
                
[25/05/2026 13:22: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;
				
[25/05/2026 13:22: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;
                

[25/05/2026 13:22: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;
                
[25/05/2026 13:22:59] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 13:22:59] 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;
                

[25/05/2026 13:23: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;
                
[25/05/2026 13: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;
				
[25/05/2026 13:25:06] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 13:25:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 13: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;
                
[25/05/2026 13:30: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;
				
[25/05/2026 13:30: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;
                

[25/05/2026 13: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;
                
[25/05/2026 13:30:03] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 13:30:03] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 13:30: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;
                

25/05/2026 13:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 13:30:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 13:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 13:30:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 13:30:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 13:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:30:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 13:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:30:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 13:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 13:30:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 13:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 13:30:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 13:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 13:30:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 13:30:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 13:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 13:30:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 13:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:30:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 13:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:30: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;
                

25/05/2026 13:30:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:30: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;
                

25/05/2026 13:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 13:30: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;
                

25/05/2026 13:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 13:30: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;
                

25/05/2026 13:30:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:30: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;
                

25/05/2026 13:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:30: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;
                

25/05/2026 13:30:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:30: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;
                

[25/05/2026 13:30: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;
                

25/05/2026 13:30:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:30: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;
                

25/05/2026 13:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 13:30: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;
                

25/05/2026 13:30:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 13:30: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;
                

25/05/2026 13:30:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:30: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;
                

25/05/2026 13:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:30: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;
                

25/05/2026 13:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 13:30: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;
                

[25/05/2026 13:30: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;
                

25/05/2026 13:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 13:30: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;
                

25/05/2026 13:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 13:30: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;
                

[25/05/2026 13:30: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;
                

25/05/2026 13:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:30:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 13:30: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;
                

25/05/2026 13:30:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 13:30:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                

25/05/2026 13:30:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                

[25/05/2026 13:30: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;
                

25/05/2026 13:30:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            

[25/05/2026 13:30: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;
                

25/05/2026 13:30:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            

25/05/2026 13:30:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            

25/05/2026 13: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 = 12435
                

25/05/2026 13: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 = 12435
                

[25/05/2026 13:30: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;
                

25/05/2026 13:30:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            

[25/05/2026 13:30: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;
                

25/05/2026 13:30:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                

25/05/2026 13:30:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            

25/05/2026 13:30:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                

25/05/2026 13:30:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                

25/05/2026 13:30:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12435
                
[25/05/2026 13:32: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;
                
[25/05/2026 13:32: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;
				

[25/05/2026 13:32: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;
                
[25/05/2026 13:32:19] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[25/05/2026 13:32:19] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 13:32:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 13:32: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;
                

25/05/2026 13:32:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12435
            GROUP BY l.idllamado;
            

25/05/2026 13:33:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 13:33: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;
                

25/05/2026 13:33:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 13:33:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
[25/05/2026 13:33:36] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

25/05/2026 13: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 = 12540
                
[25/05/2026 13:33:36] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

25/05/2026 13: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 = 12540
                

[25/05/2026 13:33: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;
                
[25/05/2026 13:36:50] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[25/05/2026 13:36:50] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 13:36:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 13:36:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

[25/05/2026 13:36: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;
                

[25/05/2026 13:36: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;
                

25/05/2026 13:36:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:36:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13:36:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13:36:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:36:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:36:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13:37:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13:37:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

[25/05/2026 13:37:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 13:37:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 13:37:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13:37:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13: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 = 12549
                

25/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13:37:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13:37:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13:37:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13:37:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:37:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13:37:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13:37:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13:37:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13:37:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13: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 = 12549
                

25/05/2026 13:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:38:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13:38:23 - logentry: =========================================
FECHA: 25/05/2026 13:38:23
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-cmF9nFwnslTgNsVzLEqiagN7JWf0LprGr4gxtOWv12MExd2IYi3
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79783050",
    "serieinterna": "TO3107",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega y retonto de corchetes",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12549",
    "observacion": "•Entrega en recepción",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADXATADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAgcFBAYJBAMAAAABAAIDBAURBiExQRITIlFhcYGRobHB0RQVIzIWQlKS4fAkM1NicpOiwvE1Q3OyJTTS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMhEAAgECAwQJBAIDAQAAAAAAAAECAxESITEEQVGhEyIyYXGB0eHwFEKRwVKxJDPxNP\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAERVV6v1PZ4gCOuqX7RwtO58\/BSk27IrOcYRxSeRYzzw00RlnlZFG3i55wAs9PrBs1Qaaz0UtdJg9sAho9OOPYuNPYK6+yitv8ALIxmcx0jTgNHj3fHxWmp6aCkiEVPCyJgGMMGFfqx1zOdOtVzXVXP2M50dZVx6XTpqBp\/V2Jx\/qXr7t1ZEenHeIJDjdr27enZWmRRj7kT9Mt8n+TLt1HcrRK2G\/0XRY84bUQ7j1HP+ditJDNFUQsmheHxvGWuadiEmhiqIXwzMD43jDmuGxCy1AZNMahFrc8uoK05hJH5XHbHwHsU2UllqVvOi0pO8Xv3o1qIizOsIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIs6+qmm12ynje8QwU56xrTsTjO\/7zfctErNWM4VFO9tzsERFU0CIiAIiIAiKLcrhDa6GSrnPZZjYcSTsAiVyJNRV2Q7\/e2Wij7GH1cu0MWMknvx3KHYNPuhlN1un4tfKenh2\/VZ+fw5Llp+2T11c7UFyaOsmGaePOQxvI+zh7Vp1o3hWFHLTi60uknpuX78QiIszrCIs3e7tVVFyjslokDah28so\/7fh4bbn0HNWjG7M6lRU43ZpFndaUz32hlZFtLSSteHDkCcfHCv4muZE1r5DI4DBe4AF3jtsod9hE9irYyM\/gOI8wMj3hIO0kVrxx0pLuJNHUCrooKluMSxtftw3GV2VNpOXrdNUhJJLQ5pye5xHwwrlRJWbRanLHBS4oIiKDQIiIAiIgCIiAIiIAiIgCIiAIiIAiKJdKv7Ba6mq5xRkt8+XvwiVyJNRTbKLTp+26lvFwG7Q4RMceYz9Gj3LUKg0bSfZrAyVw7dQ8yE88cB8M+qv1ep2jDZk1STerz\/ADmERFQ6AiKiuuqqKgeaemBrKrPREUW4B8T8hupUW8kUnUjTV5OxeqnuOqLXbXmJ0pnmG3VwjpHPieAVY2z3u\/sMl2rHUkLjltNEN8eP8clXNu0\/bLWQ+mph1gH9Y89J3v4eivaK1dzDHWqdhWXF+nqVB1Dfa4f\/ABtjc1rh2ZJ84I798D3qmldfdR15gfHBOKF\/ScxpAZnuzzzjHtWv1DXm22SonY4tkLehGQODjtn04+i46WtottkiBbiWYdbIfE8B6DHvV1JKOJI550ZVKipym3vf6PWn7ubnTyxSwNgqaV3VyxN4NPDbu4HbwVusxpnEmoL5K38vX9Hz7TvotOs5pKWR17PJyppvv\/sIs\/QV1VXaurY2TP8AsdIzoFg4F+w+PS9isLzd6ezULqiYgvIIijzu93d5d5UOLvYmNaLi5vJK\/IiaivZt0TaOlaZK+pHRia3i3O3S9vBe9OWQWejJmIfVzHpSv4+mf53VHaKuhpah95vdYw3CbZsYGTG0jA2HDI93mptVrWh+zS9VDUjLXsY8t6I6YGwz6jyWji7YUjkjWpuXS1H4LgvVnWpvlzq66amsdJFOKY4lkkcOi442AIcPH2KLUanqoKeSmvNplpxK0sEjN2nIxz+RU\/R1Iym09DIGYknJkee\/fA9wCs7kGG2VXWMD2CJxLSM5wFDcU7WLqFWdPpMVm87bin0PKH2AR9IExyuGARkA77+9aJYSwabkrLTFcaOukpasucAWnskA8+ff7lYuv15sjgy9UPXw5x9pg4H5ehwpnC8nZlaFd06UekVlbXVexqkVfQ3y2XED7NVxueQOw49F3sKsFk01qd0ZRkrxdwiIoLBERAEREAREQBERAEREAREQBZvWtQ9tshoYj+JWShgGeIH8eitIsrIPvfXjGYzDbmZPZ\/W\/5I\/d9Venrfgc20t4MC1ll88jS00Laaligb+WJgYNsbAYXVEVDoSsrBRa+5UlspzPVzCNvIc3HuA5qBfNQw2kCCJhqKyQdiFu+O4n6cVBt+m566o+8dQSdfMfyU+eywdx+g281dRyvI551m5YKau+S8fQ4GpvGq39GlDqC253kP5n\/XyG3ir612ShtEQbTQjp4w6Vwy93r8lPa0NaGtAAAwAOS+o53yWhanQUXik7y4+nAIiKhuZfUWbpf7dZ2hxja7rpsDIx\/wAA\/vBaCvqm0VBPVO4RRl3mQNgs\/b81OvrhMd2wQhg8D2R9V71hVvkhgs1KQaise3Lf7udvLce4rZq7UTgVTDCpV3t2XlkjroynfHZTUy56dVK6Q5224cPQn1VxXVIoqCeqdjEUbn788DgvVLTspKWKnjADYmBowMcFSa0qnRWUU0eesqpGxgDmOJ+AHqqduZt\/ooeC5\/8ARouldFZnVUg\/Fq5DISRjI4D5n1Xy8aXdebqyonqy2na3HQa0Bw8AfqrqhphRUEFK3GIo2s254HFSEc3ibQjs8XSjTluK2l0\/a6RuG0kcjiBl0o6ZOOe\/DieCmz00FVCYZ4WSRuOSxwyDvldUVW2zZQjFWSyOcMMdPAyGFgZHG0Na0cgFC1BL1On65228Lm7+Ix81YrO62qCyyNpmZL6mVrA0DiBv8QFMFeSKV5KFKT7iXpaIxabomnmwu9rifmrZzQ5pa4AgjBB5rnSwimpIYBjETGsGPAYXVQ3d3L044YKPBFNX6VtFeS91N1MjjkvhPRPs4e5V36P322HpWq7mRgx+FPw8t8j4LVIrKckZS2anJ3Ss+7Iy\/wCkd3tgAu9neWjYzQHbz5jh4jn6WVu1Na7m9sUM5ZK44Ecg6JO3s96tlEdare6pbUmjh65h6QkDADnv8UvF7iFCrF5Suu\/1RLREVDpCIiAIiIAiIgCIiAIiICPX1bKGgnqn7iJhdjv8FS6No3st0twn3nrZC8k92T88n1XPWNQ+aOls8IJlrJRnHJoP139FooIWU1PHBGMMiYGN8gMBaaQ8TlXXr90f7fsdFnb1f5vtX3TZ2ddXO2c4cIu\/1HsC43e9Vdzq3Wex9p+CJqgHAYOeDy8\/YrWy2Oms1P0Y+3O8fizHi4\/IIkoq7IlOVV4Kem9\/pHGyaejtjnVVQ\/7TXSEl8zt8Z7s\/FXKIqNtu7OiEI044YoIiKC4REQGVs00UOpL7UzSBjIyOk52wAyfomm4ZLtd6rUFQ3DSSynaT+UcPTA28clU9RR1NdquutdPJiKpmD5yMbNBz7s8O\/C3tNTx0tNFTxDEcTAxoPcBhbzdl4nm7PF1JZ6Rb83f9HVZe7gV+tLZSfmbTtMrgeA5\/7R7VqFl7Tis1tdKonIgaIm77DgP9p9pVIZXZ07Rnhhxa5ZmoREWZ0hERAFl7gWXfWdHRtIdHQNMsnPtZBxt5N4\/831xr4bbQy1cx7MYyBnBceQCqNJUcwp57pVj+kV7usyR+rxGN+Bz8FpHJORy1uvONNeL8F7mhREWZ1BERAEREAREQBERAEREAREQBERAF8c4NaXOIAAySeS+qg1ZcZYKJlvpWl9VWksa1uchvM7ez2qYq7sZ1KipwcmQ7E43vUNXe5MiCD8KnJ4AY+hyf8S+V93rNQVj7VZT0YR\/XVWcDHPB7vj5KK8yT08WmLK4OaxuKypA7Of1t+7OfcFqrXbKe00TKanbgDdzubzzJW0mln+DhpRnUWBPL7nxfBHy1WqmtFG2np2+L3ni895U1EWLd82ehGKirLQIiKCwREQBUupLy62UzKemaX1tV2IWt3IPDPtO3ipd3u9NZqM1FQcuO0cYO7z3fxVTp21TVMzr5dW9KqmOYmOH9W3kccvDuHmrxSXWZzVZtvooavkvmhV2+3zaf1NbRPJ0nVcbhKc5y452z+6tyszrWJ0dJSXKIfiUk4Pof4ge1aKGZlRBHPGcskaHNPeCMhTN4kpFNniqcpU1pk\/z\/AMOiy+i\/xRcqzOeuqT2u\/if9y0lRIYqaWQcWMLh6BUGhowzT5cP15nOPsA+SLsMvUzrwXiaNERZnSERZy\/3qV833LavxK2bsvc07RDnv349itGLk7GdSoqcbsiXKT9KL\/HaoXZoqM9ZO9rtnnYbe0j1K1rWhrQ1oAAGAByVfZLTHZreymYem87yP\/aP0Vipk08loUo02ryn2n8t5BERUNwiIgCIiAIiIAiIgCIiAIiIAiIgPEsrIYnyyODWMaXOceQHEr85Zcqu7X2WeCEuqqn8OnPR\/qmHILvMDn4lXGt72Gxi1U0nadvORyHJvrzU3R1lFvoftkzP6TUDbIILWbYG\/ln2LeKwRxPeeZWk69ZUoPJallY7NFZaAQMIfI49KWTH5j9ArJEWLbbuz0YRUIqMdEERFBYIiIAoV0utNaaUz1Dsk7MjH5nnuCh3rUlPaiKeJhqax+zYWb4Pj9FCtenqiqq23W+yddUHtMgP5Y+7P0+Kuo5Xkc06zcsFPN8l84Hm02mou1aL3eW7nenpzwYORI+XqtQiKJScjSlSVNWWu98SJdaP7wtdTSc5YyG7\/AK3L34VXo2tFVYmQl34tMTG4HiBxHu+Cv1lJANPawbL+WjuY6J7mvz9fc4q0c04mVXqVI1N2j89OZoLs4Ms9a48BTyH\/AElV2jWlumaYn9YvI\/eIUu\/v6FgrjnGYHD2jC46VZ0NNUYxjLSfa4lPs8yX\/AOheD\/tFuihXO70VphElXL0c\/laBlzvILPFt51Zuc2+2Hl+tKPn8PNQo3zehapWUXhiry4fNCRdNRy1VSbVY29fUv2dO38sffj68FY2Kww2aAnpdbUybyzHifAeHxUm22qjtNP1NJF0Qd3OO7nHxKmI5K1o6EU6UsWOpm+S+cQiIqHQEREAREQBERAEREAREQBERAEREAVXqC7ss1sfPxmflkQ\/vY4+QVhNNFTwvmmeGRsGXOcdgFlbVDLqe7\/fNWwNpKclkEJGekRzPtz5+SvFLV6HPXqNWhDtPl3lTWWeSAW4XAkT3Go6VQ5+5G+ANvB2\/ifBfobWhrQ1oAAGAByUC82mK8URp5HmJwPSZI0ZLT9FUGLV9BgRS09wYP28A\/L4n5K7eNamEIfTydotp20z+cTToswa\/WD+yy1UzCOLi4e7Lvqvhn1mRj7LSDxyP\/wBKuDvRt9Sv4y\/BqEWY+xawnGX3KlgHHDWjI\/0\/PkqW6S3mCp+xsvU9VV5GYqbI6PqMfz3KVTvvKT2rAruD5epvZ54aaIyzysijbxc84AWYq9QVt5kfR2BhawbSVknZa0Huzw+PcFEotG19cGyXetka3G0Yf03D1Ow96ns0Fa246U9U4\/4mgf8AqpShHV3M5S2mqurGy8c\/YmWWxW+0fjda2ercO1M9wznnjuVv18X9qz94LP8A6C2j9qp\/zB9E\/QW0ftVP+YPooeFu7ZpDpYRwxgkvH2NB18X9qz94L2CCMg5BWc\/QW0ftVP8AmD6Lw7QduGTDV1cbjz6TT8lFocS+Ov8AwX59jTqp1LbDdbNLCxuZmYfF5j6jIVcNLXGld06C\/TsPNsgJB9+PcvPWawt+8kdPcGDY9HGfkfcpUbO6ZSdRuLjUg7PhmfJrt96aEqKgkGZrBHKP72QM+o3Vxp5obp+hA\/sWn2rAV9xkiqKxkdK+kbWsHXQOBHRcDnIyO\/wHEjxX6BYP+gUP\/gb8FapHDEx2Wr0lXPVK3Mk1NBSVkkUlTTxyvhOWFwz0VIRFgeikk7hERCQiIgCIiAIiIAiIgCIiAIiIAiIgCIs7qO6zOlFktrS+sqBhzgcdW0+Pl7laMbuxnUqKnHEyJeKuXUV0bZKB5+ysINVM3cbHh6e8+S1FNTxUlLFTQt6McTQ1o8AodktEVmt7KaPDnntSv\/bd9O5WKmTWi0M6NNq859p8u4IiKh0BERAFxZSwR1ElQyFjZpcdN4G7sDA3XZEIsmEREJCIiAIiIAiIgKPV1LBNYKmaSFjpIgCx5G7e0OfqqPRd\/wCrkbaql3YcfwHHkf2fXl\/FaHVZA01WZOOy3\/2Czdh0sy5WGWaXMU8j8wSb5AHyJW8LdG8R5ddTW1J09bfk3aLN2jUD6eo+6b1+DVR9lkr+Eo5ZPf48\/NaRZSi4vM9CnVjUV0ERFU0CIiAIiIAiIgCIiAIiIAiIgCIoV1utNaKN1RUO8GMHF57gpSvkispKKu9Dhfb1FZ6TOOnUy5bDGNy49\/koumrLJRRvr6\/L6+pOXOccljTy8\/8AjkotjtVVX3D7+uzcSu3ghI2YORxy8PbxWoV5PCsKOanF1ZdLLTcv2ERFmdYREQBVt7tUl3pGwx1b6ZzHdIOaM524HcKyRSnZ3RWcVOLi9DDS6S1BA4Pp7iHkcCJntd\/PqubqPWlOCBJUPaOYma7PtOVvUWnSvejj+hh9smvM\/P3V2s6ZmC2qI7\/s7X+\/BXik1bd6auidc5pTBnLmCBgLh4bD4r9DRT0i3xI+kqJ3jUfzzM63XFmcMkzt8DH\/ABUuLVVklGRXsb4Pa5vxCsX0lNJ+enidtjdgKiy2G0THL7dT5\/uxhvwVbw4G1toW9Pyfqeo73apThlxpSe7rWhSY6mCb+qnjk\/wvBVW\/SVjeMGhA8WyPHzUWXQ1nk\/KaiLf9SQfMFRaHEYtoX2p+fsaNFlzo18f\/ANW9VcJHA5zj2ELzLp3UPVPhZfjLG8Fp6zOSPepwx4kdNVWtPmis1Jc5r6JxQl33fRDpSv4B7icDz8PUrWWD\/oFD\/wCBvwWabpvUdLbJbfFPRvp5Tl0Y4523yWg8hz5KRR3HUNnooqWaxunZC0NBjdkkemVpJJxtE5KU5QqOpUTzXD0L272SjvMHV1LMPaOxK38zPqPBUtBe6iw1ItN8yWDaGqG4LeWfD4e9e\/03ihx9ttdXTk8sA\/HC91GodNXmmNNWSYa7gJIyC094I4KqjJK0lkazqUpSx05JS79\/iaRrg5oc0ggjII5r6sPTXCo08\/8AolbHdbcQOwJB04t+Tc5Hw8lqrZd6O704lpZMn9aN2A9vmFSUGs9x0UtojU6ryfD04k5ERUOgIiIAiIgCIiAIiIAiL45wa0ucQABkk8kB4nnipoHzzPDI4x0nOPILK2qnk1NdjeqyPFJCejTwu5kc\/wCefkvkskurry6lje5tppjl7m7dafP4eG61cMMVPCyGFgZGwYa1o2AWnYXeca\/yJX+1c36I6IiLM7AiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID4QCMEZBUWe1W6pz19DTvJ5mMZ9qlopvYhxT1RRVGjbLOctp3wnmY5CPcchRKbRUdFWxVFNcJ2hjgXN4Fze7IWoRW6SXEwey0W74QiIqHQEREAREQBERAEREAWXv9fPdK79HrcQHPGaiXOzG8SPr54U3Ul5db4G0dI0vrqodGJreLc7Z+i6adsjbRRZlw6rl7U0mc792f53WkVhWJnJVbqy6KOm9\/rzJtuoIbZQxUkAw2MYJ5uPMnzUpEWbdzqSUVZBERCQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAok1AJrlT1pqJWmAOAiDuw7IIyR6+4KWiXsQ4p6hERCQiIgCg3a609oonVNQ7fgxgO7z3Bd6ysgoKWSpqHhkcYyT8h4rN2qjm1Bd3XqvhLaVnZpoXnOCOePQ+vkrxjvehhVqNNQh2ny7ztp21z1FS++XNpNTKcwtf8A9tvly7h4ea0qIolLE7l6VNU42QREVTQIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDN3GyV97vf9OcI7ZAQY2MdvIfl58hw71oYoo4YmxRMDGMGGtaMABEVnJvIzhSjBuS1Z7REVTQIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/\/Z",
    "razonSocial": "SOCIEDAD EDUCACIONAL MAGISTER LTDA.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "MARJORIE GONZALEZ Z.",
    "correoContacto": "mgonzalezz@hssanesteban.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "TONER Y COCHETES",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1056\",\"id_control\":\"28738\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "13:38",
    "ubicacionGPS": "LatLng(lat: -23.6542872, lng: -70.3969477)",
    "horaLlegada": "13:35",
    "horaDespacho": "11:35",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 13:38:23
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-cmF9nFwnslTgNsVzLEqiagN7JWf0LprGr4gxtOWv12MExd2IYi3
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79783050",
    "serieinterna": "TO3107",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega y retonto de corchetes",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12549",
    "observacion": "•Entrega en recepción",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADXATADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAgcFBAYJBAMAAAABAAIDBAURBiExQRITIlFhcYGRobHB0RQVIzIWQlKS4fAkM1NicpOiwvE1Q3OyJTTS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMhEAAgECAwQJBAIDAQAAAAAAAAECAxESITEEQVGhEyIyYXGB0eHwFEKRwVKxJDPxNP\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAERVV6v1PZ4gCOuqX7RwtO58\/BSk27IrOcYRxSeRYzzw00RlnlZFG3i55wAs9PrBs1Qaaz0UtdJg9sAho9OOPYuNPYK6+yitv8ALIxmcx0jTgNHj3fHxWmp6aCkiEVPCyJgGMMGFfqx1zOdOtVzXVXP2M50dZVx6XTpqBp\/V2Jx\/qXr7t1ZEenHeIJDjdr27enZWmRRj7kT9Mt8n+TLt1HcrRK2G\/0XRY84bUQ7j1HP+ditJDNFUQsmheHxvGWuadiEmhiqIXwzMD43jDmuGxCy1AZNMahFrc8uoK05hJH5XHbHwHsU2UllqVvOi0pO8Xv3o1qIizOsIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIs6+qmm12ynje8QwU56xrTsTjO\/7zfctErNWM4VFO9tzsERFU0CIiAIiIAiKLcrhDa6GSrnPZZjYcSTsAiVyJNRV2Q7\/e2Wij7GH1cu0MWMknvx3KHYNPuhlN1un4tfKenh2\/VZ+fw5Llp+2T11c7UFyaOsmGaePOQxvI+zh7Vp1o3hWFHLTi60uknpuX78QiIszrCIs3e7tVVFyjslokDah28so\/7fh4bbn0HNWjG7M6lRU43ZpFndaUz32hlZFtLSSteHDkCcfHCv4muZE1r5DI4DBe4AF3jtsod9hE9irYyM\/gOI8wMj3hIO0kVrxx0pLuJNHUCrooKluMSxtftw3GV2VNpOXrdNUhJJLQ5pye5xHwwrlRJWbRanLHBS4oIiKDQIiIAiIgCIiAIiIAiIgCIiAIiIAiKJdKv7Ba6mq5xRkt8+XvwiVyJNRTbKLTp+26lvFwG7Q4RMceYz9Gj3LUKg0bSfZrAyVw7dQ8yE88cB8M+qv1ep2jDZk1STerz\/ADmERFQ6AiKiuuqqKgeaemBrKrPREUW4B8T8hupUW8kUnUjTV5OxeqnuOqLXbXmJ0pnmG3VwjpHPieAVY2z3u\/sMl2rHUkLjltNEN8eP8clXNu0\/bLWQ+mph1gH9Y89J3v4eivaK1dzDHWqdhWXF+nqVB1Dfa4f\/ABtjc1rh2ZJ84I798D3qmldfdR15gfHBOKF\/ScxpAZnuzzzjHtWv1DXm22SonY4tkLehGQODjtn04+i46WtottkiBbiWYdbIfE8B6DHvV1JKOJI550ZVKipym3vf6PWn7ubnTyxSwNgqaV3VyxN4NPDbu4HbwVusxpnEmoL5K38vX9Hz7TvotOs5pKWR17PJyppvv\/sIs\/QV1VXaurY2TP8AsdIzoFg4F+w+PS9isLzd6ezULqiYgvIIijzu93d5d5UOLvYmNaLi5vJK\/IiaivZt0TaOlaZK+pHRia3i3O3S9vBe9OWQWejJmIfVzHpSv4+mf53VHaKuhpah95vdYw3CbZsYGTG0jA2HDI93mptVrWh+zS9VDUjLXsY8t6I6YGwz6jyWji7YUjkjWpuXS1H4LgvVnWpvlzq66amsdJFOKY4lkkcOi442AIcPH2KLUanqoKeSmvNplpxK0sEjN2nIxz+RU\/R1Iym09DIGYknJkee\/fA9wCs7kGG2VXWMD2CJxLSM5wFDcU7WLqFWdPpMVm87bin0PKH2AR9IExyuGARkA77+9aJYSwabkrLTFcaOukpasucAWnskA8+ff7lYuv15sjgy9UPXw5x9pg4H5ehwpnC8nZlaFd06UekVlbXVexqkVfQ3y2XED7NVxueQOw49F3sKsFk01qd0ZRkrxdwiIoLBERAEREAREQBERAEREAREQBZvWtQ9tshoYj+JWShgGeIH8eitIsrIPvfXjGYzDbmZPZ\/W\/5I\/d9Venrfgc20t4MC1ll88jS00Laaligb+WJgYNsbAYXVEVDoSsrBRa+5UlspzPVzCNvIc3HuA5qBfNQw2kCCJhqKyQdiFu+O4n6cVBt+m566o+8dQSdfMfyU+eywdx+g281dRyvI551m5YKau+S8fQ4GpvGq39GlDqC253kP5n\/XyG3ir612ShtEQbTQjp4w6Vwy93r8lPa0NaGtAAAwAOS+o53yWhanQUXik7y4+nAIiKhuZfUWbpf7dZ2hxja7rpsDIx\/wAA\/vBaCvqm0VBPVO4RRl3mQNgs\/b81OvrhMd2wQhg8D2R9V71hVvkhgs1KQaise3Lf7udvLce4rZq7UTgVTDCpV3t2XlkjroynfHZTUy56dVK6Q5224cPQn1VxXVIoqCeqdjEUbn788DgvVLTspKWKnjADYmBowMcFSa0qnRWUU0eesqpGxgDmOJ+AHqqduZt\/ooeC5\/8ARouldFZnVUg\/Fq5DISRjI4D5n1Xy8aXdebqyonqy2na3HQa0Bw8AfqrqhphRUEFK3GIo2s254HFSEc3ibQjs8XSjTluK2l0\/a6RuG0kcjiBl0o6ZOOe\/DieCmz00FVCYZ4WSRuOSxwyDvldUVW2zZQjFWSyOcMMdPAyGFgZHG0Na0cgFC1BL1On65228Lm7+Ix81YrO62qCyyNpmZL6mVrA0DiBv8QFMFeSKV5KFKT7iXpaIxabomnmwu9rifmrZzQ5pa4AgjBB5rnSwimpIYBjETGsGPAYXVQ3d3L044YKPBFNX6VtFeS91N1MjjkvhPRPs4e5V36P322HpWq7mRgx+FPw8t8j4LVIrKckZS2anJ3Ss+7Iy\/wCkd3tgAu9neWjYzQHbz5jh4jn6WVu1Na7m9sUM5ZK44Ecg6JO3s96tlEdare6pbUmjh65h6QkDADnv8UvF7iFCrF5Suu\/1RLREVDpCIiAIiIAiIgCIiAIiICPX1bKGgnqn7iJhdjv8FS6No3st0twn3nrZC8k92T88n1XPWNQ+aOls8IJlrJRnHJoP139FooIWU1PHBGMMiYGN8gMBaaQ8TlXXr90f7fsdFnb1f5vtX3TZ2ddXO2c4cIu\/1HsC43e9Vdzq3Wex9p+CJqgHAYOeDy8\/YrWy2Oms1P0Y+3O8fizHi4\/IIkoq7IlOVV4Kem9\/pHGyaejtjnVVQ\/7TXSEl8zt8Z7s\/FXKIqNtu7OiEI044YoIiKC4REQGVs00UOpL7UzSBjIyOk52wAyfomm4ZLtd6rUFQ3DSSynaT+UcPTA28clU9RR1NdquutdPJiKpmD5yMbNBz7s8O\/C3tNTx0tNFTxDEcTAxoPcBhbzdl4nm7PF1JZ6Rb83f9HVZe7gV+tLZSfmbTtMrgeA5\/7R7VqFl7Tis1tdKonIgaIm77DgP9p9pVIZXZ07Rnhhxa5ZmoREWZ0hERAFl7gWXfWdHRtIdHQNMsnPtZBxt5N4\/831xr4bbQy1cx7MYyBnBceQCqNJUcwp57pVj+kV7usyR+rxGN+Bz8FpHJORy1uvONNeL8F7mhREWZ1BERAEREAREQBERAEREAREQBERAF8c4NaXOIAAySeS+qg1ZcZYKJlvpWl9VWksa1uchvM7ez2qYq7sZ1KipwcmQ7E43vUNXe5MiCD8KnJ4AY+hyf8S+V93rNQVj7VZT0YR\/XVWcDHPB7vj5KK8yT08WmLK4OaxuKypA7Of1t+7OfcFqrXbKe00TKanbgDdzubzzJW0mln+DhpRnUWBPL7nxfBHy1WqmtFG2np2+L3ni895U1EWLd82ehGKirLQIiKCwREQBUupLy62UzKemaX1tV2IWt3IPDPtO3ipd3u9NZqM1FQcuO0cYO7z3fxVTp21TVMzr5dW9KqmOYmOH9W3kccvDuHmrxSXWZzVZtvooavkvmhV2+3zaf1NbRPJ0nVcbhKc5y452z+6tyszrWJ0dJSXKIfiUk4Pof4ge1aKGZlRBHPGcskaHNPeCMhTN4kpFNniqcpU1pk\/z\/AMOiy+i\/xRcqzOeuqT2u\/if9y0lRIYqaWQcWMLh6BUGhowzT5cP15nOPsA+SLsMvUzrwXiaNERZnSERZy\/3qV833LavxK2bsvc07RDnv349itGLk7GdSoqcbsiXKT9KL\/HaoXZoqM9ZO9rtnnYbe0j1K1rWhrQ1oAAGAByVfZLTHZreymYem87yP\/aP0Vipk08loUo02ryn2n8t5BERUNwiIgCIiAIiIAiIgCIiAIiIAiIgPEsrIYnyyODWMaXOceQHEr85Zcqu7X2WeCEuqqn8OnPR\/qmHILvMDn4lXGt72Gxi1U0nadvORyHJvrzU3R1lFvoftkzP6TUDbIILWbYG\/ln2LeKwRxPeeZWk69ZUoPJallY7NFZaAQMIfI49KWTH5j9ArJEWLbbuz0YRUIqMdEERFBYIiIAoV0utNaaUz1Dsk7MjH5nnuCh3rUlPaiKeJhqax+zYWb4Pj9FCtenqiqq23W+yddUHtMgP5Y+7P0+Kuo5Xkc06zcsFPN8l84Hm02mou1aL3eW7nenpzwYORI+XqtQiKJScjSlSVNWWu98SJdaP7wtdTSc5YyG7\/AK3L34VXo2tFVYmQl34tMTG4HiBxHu+Cv1lJANPawbL+WjuY6J7mvz9fc4q0c04mVXqVI1N2j89OZoLs4Ms9a48BTyH\/AElV2jWlumaYn9YvI\/eIUu\/v6FgrjnGYHD2jC46VZ0NNUYxjLSfa4lPs8yX\/AOheD\/tFuihXO70VphElXL0c\/laBlzvILPFt51Zuc2+2Hl+tKPn8PNQo3zehapWUXhiry4fNCRdNRy1VSbVY29fUv2dO38sffj68FY2Kww2aAnpdbUybyzHifAeHxUm22qjtNP1NJF0Qd3OO7nHxKmI5K1o6EU6UsWOpm+S+cQiIqHQEREAREQBERAEREAREQBERAEREAVXqC7ss1sfPxmflkQ\/vY4+QVhNNFTwvmmeGRsGXOcdgFlbVDLqe7\/fNWwNpKclkEJGekRzPtz5+SvFLV6HPXqNWhDtPl3lTWWeSAW4XAkT3Go6VQ5+5G+ANvB2\/ifBfobWhrQ1oAAGAByUC82mK8URp5HmJwPSZI0ZLT9FUGLV9BgRS09wYP28A\/L4n5K7eNamEIfTydotp20z+cTToswa\/WD+yy1UzCOLi4e7Lvqvhn1mRj7LSDxyP\/wBKuDvRt9Sv4y\/BqEWY+xawnGX3KlgHHDWjI\/0\/PkqW6S3mCp+xsvU9VV5GYqbI6PqMfz3KVTvvKT2rAruD5epvZ54aaIyzysijbxc84AWYq9QVt5kfR2BhawbSVknZa0Huzw+PcFEotG19cGyXetka3G0Yf03D1Ow96ns0Fa246U9U4\/4mgf8AqpShHV3M5S2mqurGy8c\/YmWWxW+0fjda2ercO1M9wznnjuVv18X9qz94LP8A6C2j9qp\/zB9E\/QW0ftVP+YPooeFu7ZpDpYRwxgkvH2NB18X9qz94L2CCMg5BWc\/QW0ftVP8AmD6Lw7QduGTDV1cbjz6TT8lFocS+Ov8AwX59jTqp1LbDdbNLCxuZmYfF5j6jIVcNLXGld06C\/TsPNsgJB9+PcvPWawt+8kdPcGDY9HGfkfcpUbO6ZSdRuLjUg7PhmfJrt96aEqKgkGZrBHKP72QM+o3Vxp5obp+hA\/sWn2rAV9xkiqKxkdK+kbWsHXQOBHRcDnIyO\/wHEjxX6BYP+gUP\/gb8FapHDEx2Wr0lXPVK3Mk1NBSVkkUlTTxyvhOWFwz0VIRFgeikk7hERCQiIgCIiAIiIAiIgCIiAIiIAiIgCIs7qO6zOlFktrS+sqBhzgcdW0+Pl7laMbuxnUqKnHEyJeKuXUV0bZKB5+ysINVM3cbHh6e8+S1FNTxUlLFTQt6McTQ1o8AodktEVmt7KaPDnntSv\/bd9O5WKmTWi0M6NNq859p8u4IiKh0BERAFxZSwR1ElQyFjZpcdN4G7sDA3XZEIsmEREJCIiAIiIAiIgKPV1LBNYKmaSFjpIgCx5G7e0OfqqPRd\/wCrkbaql3YcfwHHkf2fXl\/FaHVZA01WZOOy3\/2Czdh0sy5WGWaXMU8j8wSb5AHyJW8LdG8R5ddTW1J09bfk3aLN2jUD6eo+6b1+DVR9lkr+Eo5ZPf48\/NaRZSi4vM9CnVjUV0ERFU0CIiAIiIAiIgCIiAIiIAiIgCIoV1utNaKN1RUO8GMHF57gpSvkispKKu9Dhfb1FZ6TOOnUy5bDGNy49\/koumrLJRRvr6\/L6+pOXOccljTy8\/8AjkotjtVVX3D7+uzcSu3ghI2YORxy8PbxWoV5PCsKOanF1ZdLLTcv2ERFmdYREQBVt7tUl3pGwx1b6ZzHdIOaM524HcKyRSnZ3RWcVOLi9DDS6S1BA4Pp7iHkcCJntd\/PqubqPWlOCBJUPaOYma7PtOVvUWnSvejj+hh9smvM\/P3V2s6ZmC2qI7\/s7X+\/BXik1bd6auidc5pTBnLmCBgLh4bD4r9DRT0i3xI+kqJ3jUfzzM63XFmcMkzt8DH\/ABUuLVVklGRXsb4Pa5vxCsX0lNJ+enidtjdgKiy2G0THL7dT5\/uxhvwVbw4G1toW9Pyfqeo73apThlxpSe7rWhSY6mCb+qnjk\/wvBVW\/SVjeMGhA8WyPHzUWXQ1nk\/KaiLf9SQfMFRaHEYtoX2p+fsaNFlzo18f\/ANW9VcJHA5zj2ELzLp3UPVPhZfjLG8Fp6zOSPepwx4kdNVWtPmis1Jc5r6JxQl33fRDpSv4B7icDz8PUrWWD\/oFD\/wCBvwWabpvUdLbJbfFPRvp5Tl0Y4523yWg8hz5KRR3HUNnooqWaxunZC0NBjdkkemVpJJxtE5KU5QqOpUTzXD0L272SjvMHV1LMPaOxK38zPqPBUtBe6iw1ItN8yWDaGqG4LeWfD4e9e\/03ihx9ttdXTk8sA\/HC91GodNXmmNNWSYa7gJIyC094I4KqjJK0lkazqUpSx05JS79\/iaRrg5oc0ggjII5r6sPTXCo08\/8AolbHdbcQOwJB04t+Tc5Hw8lqrZd6O704lpZMn9aN2A9vmFSUGs9x0UtojU6ryfD04k5ERUOgIiIAiIgCIiAIiIAiL45wa0ucQABkk8kB4nnipoHzzPDI4x0nOPILK2qnk1NdjeqyPFJCejTwu5kc\/wCefkvkskurry6lje5tppjl7m7dafP4eG61cMMVPCyGFgZGwYa1o2AWnYXeca\/yJX+1c36I6IiLM7AiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID4QCMEZBUWe1W6pz19DTvJ5mMZ9qlopvYhxT1RRVGjbLOctp3wnmY5CPcchRKbRUdFWxVFNcJ2hjgXN4Fze7IWoRW6SXEwey0W74QiIqHQEREAREQBERAEREAWXv9fPdK79HrcQHPGaiXOzG8SPr54U3Ul5db4G0dI0vrqodGJreLc7Z+i6adsjbRRZlw6rl7U0mc792f53WkVhWJnJVbqy6KOm9\/rzJtuoIbZQxUkAw2MYJ5uPMnzUpEWbdzqSUVZBERCQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAok1AJrlT1pqJWmAOAiDuw7IIyR6+4KWiXsQ4p6hERCQiIgCg3a609oonVNQ7fgxgO7z3Bd6ysgoKWSpqHhkcYyT8h4rN2qjm1Bd3XqvhLaVnZpoXnOCOePQ+vkrxjvehhVqNNQh2ny7ztp21z1FS++XNpNTKcwtf8A9tvly7h4ea0qIolLE7l6VNU42QREVTQIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDN3GyV97vf9OcI7ZAQY2MdvIfl58hw71oYoo4YmxRMDGMGGtaMABEVnJvIzhSjBuS1Z7REVTQIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/\/Z",
    "razonSocial": "SOCIEDAD EDUCACIONAL MAGISTER LTDA.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "MARJORIE GONZALEZ Z.",
    "correoContacto": "mgonzalezz@hssanesteban.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "TONER Y COCHETES",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1056\",\"id_control\":\"28738\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "13:38",
    "ubicacionGPS": "LatLng(lat: -23.6542872, lng: -70.3969477)",
    "horaLlegada": "13:35",
    "horaDespacho": "11:35",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 13:38:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:79783050

[25/05/2026 13:38:23] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('79783050', 'TO3107', 1, 24456550, 0, NOW(), 
				'11:35', '13:35', '13:38', 10, '•Entrega y retonto de corchetes', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779730703.png', '•Entrega en recepción', null, 'COMPLETADO','LatLng(lat: -23.6542872, lng: -70.3969477)' )
				
[25/05/2026 13:38:23] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200416
[25/05/2026 13:38:23] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200416', 'TOS-I1056', 2)
				
[25/05/2026 13:38:23] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28738 and
				    IDproducto = 'TOS-I1056'
				

25/05/2026 13:38:23 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I1056';
                
25/05/2026 13:38:23 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200416'                    
				WHERE idllamado = 12549			
				
25/05/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                
TO ENVIO: micorreo@miempresa.cl, mgonzalezz@hssanesteban.cl


25/05/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:38:24 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12549			
				
25/05/2026 13:38:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12549
                

25/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

[25/05/2026 13:38: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;
                

25/05/2026 13: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 = 12549
                

25/05/2026 13:38:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

[25/05/2026 13:38: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;
                

25/05/2026 13: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 = 12549
                

25/05/2026 13:38:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

[25/05/2026 13:38: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;
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13:38:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13:38:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12549
            GROUP BY l.idllamado;
            

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

25/05/2026 13: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 = 12549
                

[25/05/2026 13:47: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;
                

[25/05/2026 13:47: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;
                
[25/05/2026 13:47: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 13:47:10] 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;
                

[25/05/2026 13:47: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;
                
[25/05/2026 13:52:45] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[25/05/2026 13:52:45] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 13:52: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;
                
[25/05/2026 14:07: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;
                
[25/05/2026 14:07: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;
				

[25/05/2026 14:07:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 14:18:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:18:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:18:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:18:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:18:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:18: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;
                

25/05/2026 14:18:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:18:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:18:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:18:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:18:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:18:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 14:18: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;
                

25/05/2026 14:18:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:18:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:18:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:18:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 14:18: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;
                

25/05/2026 14:18:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:18:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:18:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:18:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:18:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:18:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:18:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:18:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:18:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 14:18: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;
                

25/05/2026 14:18:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:18:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:18:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:18: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;
                

25/05/2026 14:18:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:18:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:18: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;
                

[25/05/2026 14:18: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;
                

25/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14: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;
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12540
                

25/05/2026 14:22:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 14:22: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;
                

25/05/2026 14:22:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12540
                

[25/05/2026 14:22: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;
                

25/05/2026 14: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 = 12540
                

25/05/2026 14:22:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12540
                

25/05/2026 14: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 = 12540
                

25/05/2026 14: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 = 12540
                

25/05/2026 14:22:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 14:22:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 14:22:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 14:22:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 14:22:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 14:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 14:22:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 14:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 14:22:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 14:22:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 14:22:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 14:22:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 14:22:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 14:22:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 14:22:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 14:22:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 14:22:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 14:22:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 14:22:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 14:22:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 14:22:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 14:22:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 14:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 14:22: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;
                

[25/05/2026 14:22: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;
                

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 14:22: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;
                

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 14:22: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;
                

[25/05/2026 14:22: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;
                

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 14:22: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;
                

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 14:22: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;
                

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 14:22: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;
                

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 14:22: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;
                

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 14:22: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;
                

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 14:22: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;
                

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 14:22: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;
                

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 14:22: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;
                

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 14:22: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;
                

25/05/2026 14:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:22: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;
                

[25/05/2026 14:22: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;
                

25/05/2026 14:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 14:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:22: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;
                

[25/05/2026 14:22: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;
                

25/05/2026 14:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 14:22: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;
                

25/05/2026 14:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:22: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;
                

25/05/2026 14:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 14:22: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;
                

[25/05/2026 14:22: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;
                

[25/05/2026 14:22: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;
                

25/05/2026 14:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:22: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;
                

25/05/2026 14:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

[25/05/2026 14:22: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;
                

25/05/2026 14:22:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:22:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

25/05/2026 14:22:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14:22:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:22:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:22:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

[25/05/2026 14:22: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;
                

[25/05/2026 14:22: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;
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14:22:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

[25/05/2026 14:22: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;
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

[25/05/2026 14:23: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;
                

25/05/2026 14: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 = 12187
                

[25/05/2026 14:23: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;
                

25/05/2026 14: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 = 12187
                

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14: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 = 12187
                

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

[25/05/2026 14:23: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;
                

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14: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 = 12200
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

25/05/2026 14:23:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

25/05/2026 14:23:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14: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 = 12187
                

25/05/2026 14:23:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

[25/05/2026 14:23: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;
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

25/05/2026 14:23:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14: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 = 12187
                

25/05/2026 14:23:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

25/05/2026 14:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

25/05/2026 14:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14:23:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12187
                

25/05/2026 14: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 = 12187
                

25/05/2026 14:23:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 14:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 14:23:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14: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 = 12200
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14: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 = 12200
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14: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 = 12200
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14: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 = 12200
                

25/05/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 14:23: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;
                

[25/05/2026 14:23: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;
                

25/05/2026 14:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 14:23: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;
                

25/05/2026 14:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 14:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 14:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                
[25/05/2026 15:13:26] 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;
                
[25/05/2026 15:13: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				

[25/05/2026 15:13:28] 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;
                

[25/05/2026 15:13:30] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:13:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12711
            GROUP BY l.idllamado;
            

[25/05/2026 15:13: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;
                

[25/05/2026 15:13:42] 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;
                

25/05/2026 15:13:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12624
            GROUP BY l.idllamado;
            

[25/05/2026 15:13:55] 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;
                

[25/05/2026 15:13: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;
                

25/05/2026 15:13:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12665
            GROUP BY l.idllamado;
            

[25/05/2026 15:14:11] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:14:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12665
            GROUP BY l.idllamado;
            

[25/05/2026 15:14:12] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:14:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12665
            GROUP BY l.idllamado;
            

[25/05/2026 15:14: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;
                

25/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            

[25/05/2026 15:14: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;
                

25/05/2026 15:14:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12565
            GROUP BY l.idllamado;
            

[25/05/2026 15:14:29] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 15:14: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;
                

[25/05/2026 15:14: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;
                
[25/05/2026 15:23:53] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 15:23:53] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 15:23:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 15:23: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;
                

25/05/2026 15:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 15:23: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;
                

25/05/2026 15:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 15:23: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;
                

[25/05/2026 15:23: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;
                

25/05/2026 15:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15:24:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

25/05/2026 15:24:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

25/05/2026 15:24:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15:24:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:24: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;
                

25/05/2026 15:24:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

[25/05/2026 15:24: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;
                

25/05/2026 15:24:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

[25/05/2026 15:24: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;
                

25/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:24: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;
                

[25/05/2026 15:24: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;
                

25/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

[25/05/2026 15:24: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;
                

25/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:24: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;
                

25/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

[25/05/2026 15:24:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:24:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

[25/05/2026 15:24:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

[25/05/2026 15:24:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

[25/05/2026 15:24:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:24:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

[25/05/2026 15:24:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 15:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 15:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 15:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 15:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 15:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 15:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 15:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 15:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 15:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 15:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 15:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 15:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 15:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 15:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 15:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 15:24:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 15:24:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 15:24:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 15:24:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 15:24:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 15:24:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 15:24:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 15:24: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;
                

25/05/2026 15:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 15:24: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;
                

[25/05/2026 15:24: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;
                

25/05/2026 15:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 15:24: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;
                

[25/05/2026 15:24: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;
                

25/05/2026 15:24:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 15:24: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;
                

25/05/2026 15:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 15:24: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;
                

25/05/2026 15:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 15:24: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;
                

25/05/2026 15:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 15:24: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;
                

25/05/2026 15:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 15:24: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;
                

[25/05/2026 15:24: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;
                

[25/05/2026 15:24: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;
                

25/05/2026 15:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 15:24: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;
                

[25/05/2026 15:24: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;
                

25/05/2026 15:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 15:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 15:24: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;
                

25/05/2026 15:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 15:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 15:24: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;
                

25/05/2026 15:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 15:24: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;
                

25/05/2026 15:24:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:24: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;
                

25/05/2026 15:24:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:24: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;
                

[25/05/2026 15:24: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;
                

25/05/2026 15:24:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:24: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;
                

25/05/2026 15:24:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:24: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;
                

25/05/2026 15:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:24: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;
                

[25/05/2026 15:24: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;
                

25/05/2026 15:24:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:24: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;
                

25/05/2026 15:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:24: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;
                

[25/05/2026 15:24: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;
                

[25/05/2026 15:24: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;
                

25/05/2026 15:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 15:24: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;
                

25/05/2026 15:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 15:24: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;
                

25/05/2026 15:24:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:24:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

25/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15: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;
                

[25/05/2026 15: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;
                

[25/05/2026 15: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;
                

25/05/2026 15: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 = 12187
                

25/05/2026 15:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

25/05/2026 15:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:25: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;
                

25/05/2026 15:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

25/05/2026 15:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:25: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;
                

25/05/2026 15: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 = 12187
                

25/05/2026 15:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:25: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;
                

25/05/2026 15: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 = 12187
                

25/05/2026 15:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:25: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;
                

25/05/2026 15:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:25: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;
                

25/05/2026 15:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:25:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 15:25: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;
                

25/05/2026 15:25:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:25: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;
                

25/05/2026 15:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:25:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:25:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:25: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;
                

[25/05/2026 15:25: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;
                

25/05/2026 15:25:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:25:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:25:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:25: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;
                

25/05/2026 15:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:25: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;
                

25/05/2026 15:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 15:25: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;
                

25/05/2026 15:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/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 = 12187
                

25/05/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 = 12187
                

25/05/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 = 12187
                

25/05/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 = 12187
                

25/05/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 = 12187
                

25/05/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 = 12187
                

25/05/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 = 12187
                

25/05/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 = 12187
                

25/05/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 = 12187
                

25/05/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 = 12187
                

25/05/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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15:25:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

25/05/2026 15:25:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15:25:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:25:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:25:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:25:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/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 = 12187
                

25/05/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 = 12187
                

25/05/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 = 12187
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/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 = 12187
                

25/05/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 = 12187
                

25/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/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 = 12187
                

25/05/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 = 12187
                

25/05/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 = 12187
                

25/05/2026 15:27:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:27:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:27:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:27:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:27:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:27:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:27:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:27:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:27:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:27:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:27:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:27:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:27:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15:28:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15:28:11 - logentry: =========================================
FECHA: 25/05/2026 15:28:11
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-vjXrBYX36NfXCdXuZGEbqvE5+prh4G694f9xR+eNBviYq.Dxchx
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "TO3085",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "50621",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12187",
    "observacion": "entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACtAQMDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAgcFBAYJBAMAAAABAAIDBAURBiESMRNBUWFxgZEUIqGxwSMyUtEVQnKy4fAHNDU2Q2JzovEkJVPCM4KS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgECBAMHBAICAwAAAAAAAAECAxEEEiExMkFREyJhcYGR0aGxweEz8CNCFDRS\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREARFHr6ptFQT1TuUUZd4kDYIcbSV2dDUQNk6N00YfnHCXDPouixto0228Wo3GsmkZXVDzJHO07sxyOOXMZ9OSm2S61VFcDY7w8GZoHQTE7SDqGevu\/NWOC5PYywxDdnONk9v2aVERVmsIiIAvLXNdnhcDjngqLd6p1FaKqpZ9+OIlvj1LG2Q1NnrrZWzTufDcw9rwTnB4tvjwn1U4wurmariOzmo28\/DWxuppWU8Ek0hwyNpc49wGVk49U3H2iGump+jtU0paDwZLQNs5z2n4K11fV+y6dnA+9MREPPn8AVGuVr4NDGlLffghbJuN2ke8fqFKCVteZVXlNyag7ZVf16GkRV1hqzXWOknLuJxjDXH\/MNj8lYqtqzsbIyUoqS5hERcJBERAEREAREQBERAEREAREQBERAEREAREQBUWsp3Q6dma04Mrmsz3ZyfgFerMa5+0oaKm\/8ALUjfyI+qnT4kZ8U7UZeRe2unFJa6WnH+HE0HvON\/ioWoLK27UeYsMq4fehk7+w9xVuiipNO5ZKnGUMj2KXTV5ddKR0NT7tZTHgladif82Pn3q6WX1FSy2m4R6hoW54SG1TPxN5Z+noe1aKkq4a6kjqqd\/HFIMtKlJLiRXRm03Tnuvqup2REUDQUmry4aZqscjwZPdxBV96ohUaHpJIedNFFK04OSOEA\/PKtNVgHTVZkZ91v7wXmjZ02jI4zvxUPDv+xhWxdop+JhqwU6sovnH8sp7nWOu9Rp6M7CciWXqzuMgeh+C09z\/sqr\/wBB\/wC6VhdOv9ovNlh5iGOQ9uN3n8lurn\/ZVX\/oP\/dK7NWaRHDSdSE5vn8IrNGf3ag\/af8AvFXqotGf3ag\/af8AvFXqhPiZpw38MfJBERQLwiIgCIiAIiIAiIgCIiAIiIAuck8MTmtklYxzvuhzgCfBfKmdtNSy1D\/uxMLz4AZWTslkbqCjkuV0klc6d7ujDHYDRyJ9cjHJTjFNXZRUqSjJQgrtmxRZGKSv0jUsjq5TU2qQ8LZMZMR6hjq+Xmta1wc0OaQQRkEda5KNiVKrnumrNbo+oiKJaFmNUfaXyxQ9RqOI9\/vN\/itOsxePf1raGcsNLs+v5KynuZsV\/Hbq19zToi4VdZTUMJmqp2QsHW44z4dqrNDaSuzld6oUVqqKh0HtDWM96POOIcj1HqWSsdy\/QM7BUcTbZXN6SJ27hG7rHkdj5FTK3UdTemy2+yUL5myNLHzSDAAIwe4efoquxaciusVZBV1MjKmkJiZGDsw77+Gc7BaIxSi8x5darKpVi6OvTp4+ehdjVdRcK1sFmt76hgcOOWT3Rj6efotMs1pi4OpnGw10YhqqfPBgACRvPzOPUea0qqmknZI2YaUpRzSd39vArr\/B7RYa2Pr6Fzhv1jf6LhpiT2nTNJxZ+4WHbHIkfRWszOlhfH+NpHqs9oV\/FYnsPOOdzcHq2B+q6uBiWmIj4p\/goNDwF2oHkgfZQuJz1HIH1W5uf9lVf+g\/90rL6JiAud1eNgxwaB4ud+Sv9RVQpLBWS9ZjLB4u936qVTWoZ8IlDCtvxIujP7tQftP\/AHir1VWmKc0+naNpzlzOPc\/i3HwIVqq58TNdBWpRT6IIiKJcEREAREQBERAUOso5XafkkikewxPa53CccQ5EH1+C66YvIu1sZ0jgamEBsozuex3mrGuphWUE9Mf8WNzfUL87sNWbNXQ1pJ6FzzBOAeXXnw6x+yVdFZoNczz603RxClya1P0xERUnoBERAUOsqxtLp+WPI46giNoPqfgFZWmk9htNLTH70cYDvHmfjlUdz\/7trGjt4JMVE3ppQdwTseX\/AOefb66hWS0ikZaffqyn00+TjVUsNbTPp6hgfHIMEFdI42RRtjjaGsYA1rQNgByC9IqzTZXuQam701LdKe3SB\/TVAywgDhHPmc9ynLL6yHssltujfvU9QGnvB3\/9T6q5uV6oLUzNXOGuxkRt3cfJTcdFYojVtKam7Wt7MnrI3etp6PXVLU1Mgjip6Y8R58w\/bH\/2Xtt4v1+cW2mlFHTE\/wBYlGT5dXoD4qBb7K1+spaO4TGvMUXSPc8Hc4HPfvVkI5b3M1es6mVU1zWr2+SyOornd3dHYqAiPODUT8h5cvn4LrTaSbLP7VeauSvm\/CSQwd3f8B3LQsYyNgZG0Ma0YDWjAC9KvPbh0NCw+bWq8z+nseIoYoIxHDGyNg5NY0ADyWaowaPX9XEDwx1UPGG\/iOAc\/B3xWoWXvuaHVtpuG\/DL9g4Dxxn\/AH\/BdhrdHMR3VGXRr4J2oLEbk1lXSO6KvpzmOQbcWOo\/RRdPairbtW+yy0zI+hi+3cTh3HnGw7PktIqC92Caepbc7VIKevj5nOBIO\/v6t9u1ItNZWcq05Rl2lP1XX9l+sxo89BNdqU+6IajO+2Acj\/1Xa1aqhnf7Hc2+yVrDwuDhhpOcbdirppv0ZqW6vYcR1VG6SI5wHuDQdj6+q6ovWLIVK0G4VIvZ\/dH3QT+lmukn43Ru9eNSNXyOrKq32aN3vVEoe\/DsYbyH1Pkof9HpHFcG9ZEZ\/eU63f8AdNaVdcPego2dDG7\/ADctv93JTlpUb6FFJ5sNCH\/p\/S7uaVrQxga3k0YG+V6RQZr1bKd\/BLX07XDmDIMhUJNnpuUY7uxORfAQRkHIKLhI+oiIAiIgCIiALD1VtH6fudpI92vj9op8n\/EGSPDfiHgtwstqvFFdLTdNwI5eCQ5\/Vzn5cSspvWxkxcU4KT5P6PRk\/Sly\/SFlja\/PTU\/2T889uR9PqrpZWAiza5lgAayC4sDx3O3+oPqFqlya1uuZPDybhllutAiLjWS9BRTzZ4ejjc7PZgZUC9uyuZ3So9sul2unMSTdGwjljOefhwrULPaIZw6fDzzkle4nt6vorO53ihtMYfVzBpI91g3c7wCsnrOyM2HahQUpPx9ycq65363Wlp9pnHSYyIme88+XV54VILjfNSe7bozb6InBqHH33Du\/h6qztml7dbnCVzDU1GcmWbfftA6vmmVR4h2s6n8S06v8LmUtxkvWqKJzYbeylo2++HTO95+M4x\/x5rtpK0Wyst7a+WP2mpLi2QzHiDT3A9xB3ytastpsfo7UN0tRJDS7pogc8v8Ahw9FJSvFpaFMqKhWjKfevpr15GoAAGAMALM05LP6Q6rfHHSjn17N\/JaCtp31VHLBHO+B724bKzm09qzTYn0uu6KJ8rpHGj4XSP5yEB2\/wUYcy3EN3hpzRrEXmSRkTC+R7WNHMuOAFXT6is9NnpLhCSOph4\/llQSb2NMpxjxOxZrOa3izZo6hpAfTzNcM+m3wX2bXFmj+4Z5f2I8fMhZ2+Xes1LM2Chpah1PHzjazJ499zjP85VtOElK7MOJxNKVNxi7t9Df00zamlinactlYHjwIyuqw9k1JdGW5lLT2l1X7OOAuYSCB1AgD+cKxGo72N3acnwOeC7PyUXTaZZDF05RTd\/Zl3cLTQ3SPgrKdshAw1\/JzfA81jb9pGooad9TBV9PTQtzwyn32DsHUfgrmHWtM2URXCiqKJ++eIZAxz7D8FK1HUQ1WlKuaCRskbmNIc05B94KUXODSK6yoV4Skt0vUwdqr6+gqHsoWkTVEYjAA33wQR39nitBaINTUNEKOjt0NPxEudPLjiO\/Xv1eCl1Vr9t0dRVFPHmsp4mPic3722Mj038lY0OqbdUWr2uadsT42\/aRnnxdw6\/JTlK60Rmo0VCSU5taXXruZm7Wy6z3CloKm4mrqqg5cxpIjjA6z8\/u+q+s0xcXA0bbXDGekw6qfITluc7bkDbuyrqwxVF0vE2oJ4zDE9vRwRkDdvb8PitMoyqOOhbTwkKt5u+u3l69ThR0rKKjipmOLmxNDQXcz3lF3RUHppJKyCIiHQi8SyxwROlme2ONgy5zjgALN1Wq5ayp9isNN7TKec0mzW+Rx8fipRi5bFVStCnxP5NMSAMk4AUOS82yJ\/A+vpw7OMdIOao26Wr7ieO93WSUZBEURw0fDHoFPi0jZIoww0fGRzc97iT8VK0VuyvPXlwxt5v4LeKWOaNskUjZGOGWuacg+aqNW0hq9O1HCMuixKPLn8MqHoku9krGtLzA2fEXE7Ixjq27MLRzRMnhfDIMskaWuHcdlx9yR1Pt6OvNGUuzXXTSFHdoifaaVrX8TR1g4d6EZ8lpLZXx3K3Q1kfKRuSPwnrHqqLRh4rZWW6ccXQTOY5p3GDtj1BUaz1bNM3astVbL0dMftYXu5Y\/iPiFOSvddDNTqZXGo9pKz80bBVGp6yOjsNVxyNa+WMxsaebidjjyKrpdS110kdT6fonSAHDqmUYa36evoqjUdifbrWK6tq5KysllawucTwtGCdu3l\/BIw7yzEq+JvTl2auuvL9nWzXG8VNrgttmpRE2MEPqpNwCSScbYHPvKu7dpOkp5Paa9xrqtx4nPl3bnw6\/P4K7p4WU1PHBGAGxtDRgY5L5UVNPSRmSomjhYP1nuAHxUXNt90sp4aMUnUd7ddl6HQAAYAwAvqzVTrCOV7oLRRz10w5EMPD49vyUaoor3cGiW83WG2U7gR0TH8Pkd8HzJRQfPQ68TH\/RZvt77GjqrpQUP9ZrIYjjPC54z6c1ja3UVIzVkVyoGPqGdF0b2gcPSHcDHX2cx1LuIdG23DpZ3Vso97cl+T5Yb6qW6kp9S22B1qphRNp6gH7SMM4m46i3Pd6KcVGO5lqzqVdItXWtlq\/g9fpDVlcQaa2xUkbhsZfvD1P0WXfVV9yvMD6uufFUGT2cyMbwmIZxyGO0\/FfqKwGrrLU0ldLcacPdTyvD3434Hdp8\/nhdpyTdrWI4yjOMFLM31\/qJF503R223vqKirqayqceGJrnfece7cnbvVrYNMUMFshkq6WKeokaHuL28QGdwMHbZcLXQ1d9r4bzc42NhawdDDkni6wSOWOvx8FqVGc2la5fQoQlLtMtly+TjDSU1MMQU8UX7DA35Ko0zaqmgdXT1kfDPUTk5LgeJvMHYnrJV6irzOzRrdOLkpdDLXGhrbDdZLxbIjPBN\/WKdo9Tt65wcb9SkM1pbHxZDKjpMZdGI8kHsV1V1lNQwmaqnZCwdbjjPh2rNT3quvEzodPUfC0\/fq5GhvPbbs+fcprvLVGSp\/hdoS35Wv7f2x4rdUv6VzaygYygcHMdDKcyyHG3u52Gcb8u9TdMWx508YLhETHM7iET3Ejh2I26vDu710telKSilFVVvdWVeeIyS7gO7QPqVfJKStaJKjRqOWeq\/Tz\/ux4iijghZDEwMjYA1rRyAUCq0\/a62pFRPSMMgOSRtxb53HX\/wAqyRVptbGuUIyVmj41oa0NaAABgAdS+oi4SCIiAKPW1tPb6V9TUyBkbBue3uHeussscETpZXhjGDJcepZKlim1bd3VdSHC10ziIYzsJD\/O59FOMb6vYoq1XG0Y6ye3yIorhrCcS1IfS2phyyMc5fz5c+rqUjVVJFbbPSy0cLY2UtQ1wY0befmBzWna0NaGtAAAwAOpVOqm8Wmq0Yz7oP8AuCkp3kuhTUoKNKTbvK25aRSNmiZKw5a9oc09xVLqu6ew2s08Lv8Aqqr7NjQdwDzP08Spdjkxp2jkwXYpwcNG525AKqstLUXi8PvldE+NkZLaWN\/UOXL+dz3LkUk23yJ1JylBRjvL6LmXFlt4tdpgpf1mty\/f9Y7lTXvZGwvkcGNaMlzjgBUVy1XS00vstCw11WTwiOPkD49fgPgocWn7repGz36rLIs5FLEcfwHxKZW9ZaHO2jH\/AB0le3svNlXBd56bUdxFkiFZ7Y7LdjjPMnq2BJX2+WS4wUQu9zqRVTtlbxxZ9xrCeXrgYHapFfLbtO6spJIGtZAynLZWR7kH3hv2nlzUiru9y1DA+lt1rLaSZpDp6kYGO0HkMeauu7prY8\/LFxlCbvK7slt1\/tzydXxxjoLNbmmGGMvkBAaGgc8Adm3j3KJqe\/0dyhoGQZeWvEssY\/V2+7nrO55KHpOyUV5mqBVvk+xDS1jHY4s5zn0HqpNktUdPriSmDg5lKXPbg92w8sj0XbQi\/I4qlepBJ7SdvItv0jqe67UVAygidkdJP94d+\/5Fe4NICeoFVea2Sul\/Bu1o7vDwwtKiz53y0PT\/AONF61G5ee3tsUtzr6LTNA1lLTxiWQ4igYMF57dgq2i0rPcXsrr9USSPIyKfiOGjsJznyHqpd\/pK9lyprrSUwqxTMOYS45z1ENHM7\/zspVo1BDc5X00kL6WrjGXQyHfHd2\/xU7tRvEpahOrkqbLZcv35Eimsdro3B0FBC1zeTi3JHmVOAAGAMAL6iqbb3NsYxjpFWCi3OD2m11UHXJC5o368KUvjscJ4sYxvlcR2Sumij0bP02nIW9cTnMO3fn6q9WEsF+p7HBV0PRSVMhqXdEyEZ4tsc\/Idqscaqvbdyy1QE56xJj5\/JXTh3m+RhoYhKlGKV2lyL+uudFbYjJV1DIx1AnJPgOZVDLqevuTuisNtkkBODPK3DR9PU+Sk0ejbbA8y1ZkrZicl0rjjPh1+eVfMYyNgZG0Ma0YDWjACjeK21LctapxPKvDV+5nKfSklXMKq\/Vj6yXqiacMb3f8AGFoYYIaaIRQRMijbyawYAXRFFyb3LadKFPhXyERFEtCIiAIiIAiIgMxqSWS53KlsFO4tEpD6gjqaN+zuzz54WipqeOkpoqaFvDHE0NaO4Lky20kdwfXthAqZG8Ln5O42\/JSlJy0SRTTptTlOW7+wUG9sMljrmj\/wP+SlT1ENLC6aeRscbRkuccALG3nVE9yp54La0RUgaWyVMvu8W33R4+vguwi29COIrQpwaluyVatSW616ZpRLLxzNa4CFo94+8efYvEkV71EwyVkgtdsIyWk+85vfy+OB3Kl0\/I9rALdZ\/bK8HPTynLI+zA5DxJV\/DpasuUwqb\/XOmIORBGcNHn1eXqrpJRbZ59OVStBR3XRaL1f4RyjvNhsTegs9Oaypd7uWAkuPe4jfy2XU0upr25pqJha6Y78EZPH5439SPBaChttFbY+jo6dkIPMjcnxJ3KlKpzXJGyOHk1absui0XyYW62GkslbaXsLpukqcTOlwQ7du3YOta27y+z2WskaMFkD+HbrwcKm10C210045xVLT8D+QUe\/s1FVxVpa5jKBowxkTcumacY7+vfkp8STbKbqi6kYx6beRVaes90NMy72uVgma9zDHJsHDH888KS2huNr1DQ19Zw9NW1LhIGZcG5I2Hkdu5aPS0Rh05RtLOElpcQe9xKtsA4yOXJJVHmZ2lhIunFptPR+p9REVB6JV3u+0tlpy6RwfOR9nCD7zu\/uG3NV+nLXWSVkl8uhxUzj3I+HHAO3u22x2c1dyW+klrG1clOx07W8IeRk4XaWWOGN0ksjY2NGXOccAeanmsrIzuk5Tzzei2X5Z7XOaeGmiMs8rIo283POAFnKvVrqic0ljpH1k3LpCPcHf\/E4X2HS1RcHiov8AWyVEmciGN2GN7uXyx5ruS3FoceIzO1JX+3v8Hy5a3o4GObb43VbwMlxBaxvVv1n+d1xjtl51LCyouNwZBSSAObDT75Hf\/ElaJlroo6F9FHTRsge0tcxo5\/x71Q6aqTaamqsldO1ghfmnLzjiByTj4HzKkmrPKtSicJuaVZ3T6aK5y0vRw0WpbpTRDLIQA0u3PPtWuWY0nmsuV2uf+HNNwR47Bk\/ItWnUanEXYRJUtNrv7hERVmoIiIAiIgCIiAIiIAiIgCr71dW2e3OqnRPlIPC1rRtk9p6grBeXsZIMPaHDOcEZXVa+pGabi1F2Z+dyU+oNVzCZ0ThBnLOL3I2+Gefjuryg0LRwwuNbIaiZzcANJa1p8tz\/ADstUisdV7LQyQwVNPNPvPxM5oWXpLAW4\/8Ajnc3l3A\/VaNUekrZVWq1SQVjAyR07ngBwO2AOrwV4oztmdi7DJqjFS3sERQ6Cg9h6f8A6mabppTJ9q7PDnqCiXNu60K7WTOPTVQ78DmH\/cB9VZ2t\/S2mjk\/HAx3q0KBq1zW6ZrOLrDQPHiCl2RpZY6FriSRTs5+AUv8AT1M6\/wCw\/Jfdk5ERQNIXl72RsL5HBjWjJc44AVHctW0VJL7NSNdW1RPCI4txnsz+WVCbY7tf3ie+VBp4AcspYsbDv\/jk+Cmoc5aGaWITeWmsz+nqyRXavgE3stqgdX1LjgcI9wH6\/LvXKLT1zu8jZ7\/VnowcikhOAPEjb5+KvqC2Udti6Ojp2RDrIG7vE8ypS7mS4TioSnrVd\/Bbfs4UlHTUMIhpYGQsHU0Yz49q7oirNKSSsgq252G3XZ7ZKqHMjRgSNODjs71ZIuptbHJQjNWkroj0VFBb6VlNTsDGMAHLntjJ71IRFw6kkrIIiIdCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgM5rqUx2ANH+JO1p9Cfor+CIQ08cQ5MYG+gWU1RWwV11prc57G09M\/pamR2CB3c\/EY57rrNqC5XqV1Np+nIjacPqpBgDwzy+J7ldlbijAq0I1pvfZLrpuXN1vlDaIi6plHSEe7E3dzvLq8SqPgvmqRl5\/R1udtwjPHIPr8B4qwtWlqWim9rq5HVtYdzJKcgHuB+ZV6o3UeEs7OpV\/k0XRflkC22WgtTMUkAa7GDI7dx81PRFBtvc0xjGKtFWQREXCQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB5c5rGlz3BrRzJOAFnLlq+EP9jtLDV1Tzwsc0e6D9fkrW82mO80QpZZXxtDw7Le5erbZqC0x8NJAGuP3nu3c7zU45Ursz1FWlLLHRdefoZ216KfLMay9S8cjzxuhaeZO54j+XqtZDBDTRCKCJkUbeTWDAC6IuSm5bkqVCFJd1BERRLgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CARMEN",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "971094636",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1145\",\"id_control\":\"28747\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:28",
    "ubicacionGPS": "LatLng(lat: -22.4550456, lng: -68.9266751)",
    "horaLlegada": "14:06",
    "horaDespacho": "12:53",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 15:28:11
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-vjXrBYX36NfXCdXuZGEbqvE5+prh4G694f9xR+eNBviYq.Dxchx
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "TO3085",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "50621",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12187",
    "observacion": "entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACtAQMDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAgcFBAYJBAMAAAABAAIDBAURBiESMRNBUWFxgZEUIqGxwSMyUtEVQnKy4fAHNDU2Q2JzovEkJVPCM4KS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgECBAMHBAICAwAAAAAAAAECAxEEEiExMkFREyJhcYGR0aGxweEz8CNCFDRS\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREARFHr6ptFQT1TuUUZd4kDYIcbSV2dDUQNk6N00YfnHCXDPouixto0228Wo3GsmkZXVDzJHO07sxyOOXMZ9OSm2S61VFcDY7w8GZoHQTE7SDqGevu\/NWOC5PYywxDdnONk9v2aVERVmsIiIAvLXNdnhcDjngqLd6p1FaKqpZ9+OIlvj1LG2Q1NnrrZWzTufDcw9rwTnB4tvjwn1U4wurmariOzmo28\/DWxuppWU8Ek0hwyNpc49wGVk49U3H2iGump+jtU0paDwZLQNs5z2n4K11fV+y6dnA+9MREPPn8AVGuVr4NDGlLffghbJuN2ke8fqFKCVteZVXlNyag7ZVf16GkRV1hqzXWOknLuJxjDXH\/MNj8lYqtqzsbIyUoqS5hERcJBERAEREAREQBERAEREAREQBERAEREAREQBUWsp3Q6dma04Mrmsz3ZyfgFerMa5+0oaKm\/8ALUjfyI+qnT4kZ8U7UZeRe2unFJa6WnH+HE0HvON\/ioWoLK27UeYsMq4fehk7+w9xVuiipNO5ZKnGUMj2KXTV5ddKR0NT7tZTHgladif82Pn3q6WX1FSy2m4R6hoW54SG1TPxN5Z+noe1aKkq4a6kjqqd\/HFIMtKlJLiRXRm03Tnuvqup2REUDQUmry4aZqscjwZPdxBV96ohUaHpJIedNFFK04OSOEA\/PKtNVgHTVZkZ91v7wXmjZ02jI4zvxUPDv+xhWxdop+JhqwU6sovnH8sp7nWOu9Rp6M7CciWXqzuMgeh+C09z\/sqr\/wBB\/wC6VhdOv9ovNlh5iGOQ9uN3n8lurn\/ZVX\/oP\/dK7NWaRHDSdSE5vn8IrNGf3ag\/af8AvFXqotGf3ag\/af8AvFXqhPiZpw38MfJBERQLwiIgCIiAIiIAiIgCIiAIiIAuck8MTmtklYxzvuhzgCfBfKmdtNSy1D\/uxMLz4AZWTslkbqCjkuV0klc6d7ujDHYDRyJ9cjHJTjFNXZRUqSjJQgrtmxRZGKSv0jUsjq5TU2qQ8LZMZMR6hjq+Xmta1wc0OaQQRkEda5KNiVKrnumrNbo+oiKJaFmNUfaXyxQ9RqOI9\/vN\/itOsxePf1raGcsNLs+v5KynuZsV\/Hbq19zToi4VdZTUMJmqp2QsHW44z4dqrNDaSuzld6oUVqqKh0HtDWM96POOIcj1HqWSsdy\/QM7BUcTbZXN6SJ27hG7rHkdj5FTK3UdTemy2+yUL5myNLHzSDAAIwe4efoquxaciusVZBV1MjKmkJiZGDsw77+Gc7BaIxSi8x5darKpVi6OvTp4+ehdjVdRcK1sFmt76hgcOOWT3Rj6efotMs1pi4OpnGw10YhqqfPBgACRvPzOPUea0qqmknZI2YaUpRzSd39vArr\/B7RYa2Pr6Fzhv1jf6LhpiT2nTNJxZ+4WHbHIkfRWszOlhfH+NpHqs9oV\/FYnsPOOdzcHq2B+q6uBiWmIj4p\/goNDwF2oHkgfZQuJz1HIH1W5uf9lVf+g\/90rL6JiAud1eNgxwaB4ud+Sv9RVQpLBWS9ZjLB4u936qVTWoZ8IlDCtvxIujP7tQftP\/AHir1VWmKc0+naNpzlzOPc\/i3HwIVqq58TNdBWpRT6IIiKJcEREAREQBERAUOso5XafkkikewxPa53CccQ5EH1+C66YvIu1sZ0jgamEBsozuex3mrGuphWUE9Mf8WNzfUL87sNWbNXQ1pJ6FzzBOAeXXnw6x+yVdFZoNczz603RxClya1P0xERUnoBERAUOsqxtLp+WPI46giNoPqfgFZWmk9htNLTH70cYDvHmfjlUdz\/7trGjt4JMVE3ppQdwTseX\/AOefb66hWS0ikZaffqyn00+TjVUsNbTPp6hgfHIMEFdI42RRtjjaGsYA1rQNgByC9IqzTZXuQam701LdKe3SB\/TVAywgDhHPmc9ynLL6yHssltujfvU9QGnvB3\/9T6q5uV6oLUzNXOGuxkRt3cfJTcdFYojVtKam7Wt7MnrI3etp6PXVLU1Mgjip6Y8R58w\/bH\/2Xtt4v1+cW2mlFHTE\/wBYlGT5dXoD4qBb7K1+spaO4TGvMUXSPc8Hc4HPfvVkI5b3M1es6mVU1zWr2+SyOornd3dHYqAiPODUT8h5cvn4LrTaSbLP7VeauSvm\/CSQwd3f8B3LQsYyNgZG0Ma0YDWjAC9KvPbh0NCw+bWq8z+nseIoYoIxHDGyNg5NY0ADyWaowaPX9XEDwx1UPGG\/iOAc\/B3xWoWXvuaHVtpuG\/DL9g4Dxxn\/AH\/BdhrdHMR3VGXRr4J2oLEbk1lXSO6KvpzmOQbcWOo\/RRdPairbtW+yy0zI+hi+3cTh3HnGw7PktIqC92Caepbc7VIKevj5nOBIO\/v6t9u1ItNZWcq05Rl2lP1XX9l+sxo89BNdqU+6IajO+2Acj\/1Xa1aqhnf7Hc2+yVrDwuDhhpOcbdirppv0ZqW6vYcR1VG6SI5wHuDQdj6+q6ovWLIVK0G4VIvZ\/dH3QT+lmukn43Ru9eNSNXyOrKq32aN3vVEoe\/DsYbyH1Pkof9HpHFcG9ZEZ\/eU63f8AdNaVdcPego2dDG7\/ADctv93JTlpUb6FFJ5sNCH\/p\/S7uaVrQxga3k0YG+V6RQZr1bKd\/BLX07XDmDIMhUJNnpuUY7uxORfAQRkHIKLhI+oiIAiIgCIiALD1VtH6fudpI92vj9op8n\/EGSPDfiHgtwstqvFFdLTdNwI5eCQ5\/Vzn5cSspvWxkxcU4KT5P6PRk\/Sly\/SFlja\/PTU\/2T889uR9PqrpZWAiza5lgAayC4sDx3O3+oPqFqlya1uuZPDybhllutAiLjWS9BRTzZ4ejjc7PZgZUC9uyuZ3So9sul2unMSTdGwjljOefhwrULPaIZw6fDzzkle4nt6vorO53ihtMYfVzBpI91g3c7wCsnrOyM2HahQUpPx9ycq65363Wlp9pnHSYyIme88+XV54VILjfNSe7bozb6InBqHH33Du\/h6qztml7dbnCVzDU1GcmWbfftA6vmmVR4h2s6n8S06v8LmUtxkvWqKJzYbeylo2++HTO95+M4x\/x5rtpK0Wyst7a+WP2mpLi2QzHiDT3A9xB3ytastpsfo7UN0tRJDS7pogc8v8Ahw9FJSvFpaFMqKhWjKfevpr15GoAAGAMALM05LP6Q6rfHHSjn17N\/JaCtp31VHLBHO+B724bKzm09qzTYn0uu6KJ8rpHGj4XSP5yEB2\/wUYcy3EN3hpzRrEXmSRkTC+R7WNHMuOAFXT6is9NnpLhCSOph4\/llQSb2NMpxjxOxZrOa3izZo6hpAfTzNcM+m3wX2bXFmj+4Z5f2I8fMhZ2+Xes1LM2Chpah1PHzjazJ499zjP85VtOElK7MOJxNKVNxi7t9Df00zamlinactlYHjwIyuqw9k1JdGW5lLT2l1X7OOAuYSCB1AgD+cKxGo72N3acnwOeC7PyUXTaZZDF05RTd\/Zl3cLTQ3SPgrKdshAw1\/JzfA81jb9pGooad9TBV9PTQtzwyn32DsHUfgrmHWtM2URXCiqKJ++eIZAxz7D8FK1HUQ1WlKuaCRskbmNIc05B94KUXODSK6yoV4Skt0vUwdqr6+gqHsoWkTVEYjAA33wQR39nitBaINTUNEKOjt0NPxEudPLjiO\/Xv1eCl1Vr9t0dRVFPHmsp4mPic3722Mj038lY0OqbdUWr2uadsT42\/aRnnxdw6\/JTlK60Rmo0VCSU5taXXruZm7Wy6z3CloKm4mrqqg5cxpIjjA6z8\/u+q+s0xcXA0bbXDGekw6qfITluc7bkDbuyrqwxVF0vE2oJ4zDE9vRwRkDdvb8PitMoyqOOhbTwkKt5u+u3l69ThR0rKKjipmOLmxNDQXcz3lF3RUHppJKyCIiHQi8SyxwROlme2ONgy5zjgALN1Wq5ayp9isNN7TKec0mzW+Rx8fipRi5bFVStCnxP5NMSAMk4AUOS82yJ\/A+vpw7OMdIOao26Wr7ieO93WSUZBEURw0fDHoFPi0jZIoww0fGRzc97iT8VK0VuyvPXlwxt5v4LeKWOaNskUjZGOGWuacg+aqNW0hq9O1HCMuixKPLn8MqHoku9krGtLzA2fEXE7Ixjq27MLRzRMnhfDIMskaWuHcdlx9yR1Pt6OvNGUuzXXTSFHdoifaaVrX8TR1g4d6EZ8lpLZXx3K3Q1kfKRuSPwnrHqqLRh4rZWW6ccXQTOY5p3GDtj1BUaz1bNM3astVbL0dMftYXu5Y\/iPiFOSvddDNTqZXGo9pKz80bBVGp6yOjsNVxyNa+WMxsaebidjjyKrpdS110kdT6fonSAHDqmUYa36evoqjUdifbrWK6tq5KysllawucTwtGCdu3l\/BIw7yzEq+JvTl2auuvL9nWzXG8VNrgttmpRE2MEPqpNwCSScbYHPvKu7dpOkp5Paa9xrqtx4nPl3bnw6\/P4K7p4WU1PHBGAGxtDRgY5L5UVNPSRmSomjhYP1nuAHxUXNt90sp4aMUnUd7ddl6HQAAYAwAvqzVTrCOV7oLRRz10w5EMPD49vyUaoor3cGiW83WG2U7gR0TH8Pkd8HzJRQfPQ68TH\/RZvt77GjqrpQUP9ZrIYjjPC54z6c1ja3UVIzVkVyoGPqGdF0b2gcPSHcDHX2cx1LuIdG23DpZ3Vso97cl+T5Yb6qW6kp9S22B1qphRNp6gH7SMM4m46i3Pd6KcVGO5lqzqVdItXWtlq\/g9fpDVlcQaa2xUkbhsZfvD1P0WXfVV9yvMD6uufFUGT2cyMbwmIZxyGO0\/FfqKwGrrLU0ldLcacPdTyvD3434Hdp8\/nhdpyTdrWI4yjOMFLM31\/qJF503R223vqKirqayqceGJrnfece7cnbvVrYNMUMFshkq6WKeokaHuL28QGdwMHbZcLXQ1d9r4bzc42NhawdDDkni6wSOWOvx8FqVGc2la5fQoQlLtMtly+TjDSU1MMQU8UX7DA35Ko0zaqmgdXT1kfDPUTk5LgeJvMHYnrJV6irzOzRrdOLkpdDLXGhrbDdZLxbIjPBN\/WKdo9Tt65wcb9SkM1pbHxZDKjpMZdGI8kHsV1V1lNQwmaqnZCwdbjjPh2rNT3quvEzodPUfC0\/fq5GhvPbbs+fcprvLVGSp\/hdoS35Wv7f2x4rdUv6VzaygYygcHMdDKcyyHG3u52Gcb8u9TdMWx508YLhETHM7iET3Ejh2I26vDu710telKSilFVVvdWVeeIyS7gO7QPqVfJKStaJKjRqOWeq\/Tz\/ux4iijghZDEwMjYA1rRyAUCq0\/a62pFRPSMMgOSRtxb53HX\/wAqyRVptbGuUIyVmj41oa0NaAABgAdS+oi4SCIiAKPW1tPb6V9TUyBkbBue3uHeussscETpZXhjGDJcepZKlim1bd3VdSHC10ziIYzsJD\/O59FOMb6vYoq1XG0Y6ye3yIorhrCcS1IfS2phyyMc5fz5c+rqUjVVJFbbPSy0cLY2UtQ1wY0befmBzWna0NaGtAAAwAOpVOqm8Wmq0Yz7oP8AuCkp3kuhTUoKNKTbvK25aRSNmiZKw5a9oc09xVLqu6ew2s08Lv8Aqqr7NjQdwDzP08Spdjkxp2jkwXYpwcNG525AKqstLUXi8PvldE+NkZLaWN\/UOXL+dz3LkUk23yJ1JylBRjvL6LmXFlt4tdpgpf1mty\/f9Y7lTXvZGwvkcGNaMlzjgBUVy1XS00vstCw11WTwiOPkD49fgPgocWn7repGz36rLIs5FLEcfwHxKZW9ZaHO2jH\/AB0le3svNlXBd56bUdxFkiFZ7Y7LdjjPMnq2BJX2+WS4wUQu9zqRVTtlbxxZ9xrCeXrgYHapFfLbtO6spJIGtZAynLZWR7kH3hv2nlzUiru9y1DA+lt1rLaSZpDp6kYGO0HkMeauu7prY8\/LFxlCbvK7slt1\/tzydXxxjoLNbmmGGMvkBAaGgc8Adm3j3KJqe\/0dyhoGQZeWvEssY\/V2+7nrO55KHpOyUV5mqBVvk+xDS1jHY4s5zn0HqpNktUdPriSmDg5lKXPbg92w8sj0XbQi\/I4qlepBJ7SdvItv0jqe67UVAygidkdJP94d+\/5Fe4NICeoFVea2Sul\/Bu1o7vDwwtKiz53y0PT\/AONF61G5ee3tsUtzr6LTNA1lLTxiWQ4igYMF57dgq2i0rPcXsrr9USSPIyKfiOGjsJznyHqpd\/pK9lyprrSUwqxTMOYS45z1ENHM7\/zspVo1BDc5X00kL6WrjGXQyHfHd2\/xU7tRvEpahOrkqbLZcv35Eimsdro3B0FBC1zeTi3JHmVOAAGAMAL6iqbb3NsYxjpFWCi3OD2m11UHXJC5o368KUvjscJ4sYxvlcR2Sumij0bP02nIW9cTnMO3fn6q9WEsF+p7HBV0PRSVMhqXdEyEZ4tsc\/Idqscaqvbdyy1QE56xJj5\/JXTh3m+RhoYhKlGKV2lyL+uudFbYjJV1DIx1AnJPgOZVDLqevuTuisNtkkBODPK3DR9PU+Sk0ejbbA8y1ZkrZicl0rjjPh1+eVfMYyNgZG0Ma0YDWjACjeK21LctapxPKvDV+5nKfSklXMKq\/Vj6yXqiacMb3f8AGFoYYIaaIRQRMijbyawYAXRFFyb3LadKFPhXyERFEtCIiAIiIAiIgMxqSWS53KlsFO4tEpD6gjqaN+zuzz54WipqeOkpoqaFvDHE0NaO4Lky20kdwfXthAqZG8Ln5O42\/JSlJy0SRTTptTlOW7+wUG9sMljrmj\/wP+SlT1ENLC6aeRscbRkuccALG3nVE9yp54La0RUgaWyVMvu8W33R4+vguwi29COIrQpwaluyVatSW616ZpRLLxzNa4CFo94+8efYvEkV71EwyVkgtdsIyWk+85vfy+OB3Kl0\/I9rALdZ\/bK8HPTynLI+zA5DxJV\/DpasuUwqb\/XOmIORBGcNHn1eXqrpJRbZ59OVStBR3XRaL1f4RyjvNhsTegs9Oaypd7uWAkuPe4jfy2XU0upr25pqJha6Y78EZPH5439SPBaChttFbY+jo6dkIPMjcnxJ3KlKpzXJGyOHk1absui0XyYW62GkslbaXsLpukqcTOlwQ7du3YOta27y+z2WskaMFkD+HbrwcKm10C210045xVLT8D+QUe\/s1FVxVpa5jKBowxkTcumacY7+vfkp8STbKbqi6kYx6beRVaes90NMy72uVgma9zDHJsHDH888KS2huNr1DQ19Zw9NW1LhIGZcG5I2Hkdu5aPS0Rh05RtLOElpcQe9xKtsA4yOXJJVHmZ2lhIunFptPR+p9REVB6JV3u+0tlpy6RwfOR9nCD7zu\/uG3NV+nLXWSVkl8uhxUzj3I+HHAO3u22x2c1dyW+klrG1clOx07W8IeRk4XaWWOGN0ksjY2NGXOccAeanmsrIzuk5Tzzei2X5Z7XOaeGmiMs8rIo283POAFnKvVrqic0ljpH1k3LpCPcHf\/E4X2HS1RcHiov8AWyVEmciGN2GN7uXyx5ruS3FoceIzO1JX+3v8Hy5a3o4GObb43VbwMlxBaxvVv1n+d1xjtl51LCyouNwZBSSAObDT75Hf\/ElaJlroo6F9FHTRsge0tcxo5\/x71Q6aqTaamqsldO1ghfmnLzjiByTj4HzKkmrPKtSicJuaVZ3T6aK5y0vRw0WpbpTRDLIQA0u3PPtWuWY0nmsuV2uf+HNNwR47Bk\/ItWnUanEXYRJUtNrv7hERVmoIiIAiIgCIiAIiIAiIgCr71dW2e3OqnRPlIPC1rRtk9p6grBeXsZIMPaHDOcEZXVa+pGabi1F2Z+dyU+oNVzCZ0ThBnLOL3I2+Gefjuryg0LRwwuNbIaiZzcANJa1p8tz\/ADstUisdV7LQyQwVNPNPvPxM5oWXpLAW4\/8Ajnc3l3A\/VaNUekrZVWq1SQVjAyR07ngBwO2AOrwV4oztmdi7DJqjFS3sERQ6Cg9h6f8A6mabppTJ9q7PDnqCiXNu60K7WTOPTVQ78DmH\/cB9VZ2t\/S2mjk\/HAx3q0KBq1zW6ZrOLrDQPHiCl2RpZY6FriSRTs5+AUv8AT1M6\/wCw\/Jfdk5ERQNIXl72RsL5HBjWjJc44AVHctW0VJL7NSNdW1RPCI4txnsz+WVCbY7tf3ie+VBp4AcspYsbDv\/jk+Cmoc5aGaWITeWmsz+nqyRXavgE3stqgdX1LjgcI9wH6\/LvXKLT1zu8jZ7\/VnowcikhOAPEjb5+KvqC2Udti6Ojp2RDrIG7vE8ypS7mS4TioSnrVd\/Bbfs4UlHTUMIhpYGQsHU0Yz49q7oirNKSSsgq252G3XZ7ZKqHMjRgSNODjs71ZIuptbHJQjNWkroj0VFBb6VlNTsDGMAHLntjJ71IRFw6kkrIIiIdCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgM5rqUx2ANH+JO1p9Cfor+CIQ08cQ5MYG+gWU1RWwV11prc57G09M\/pamR2CB3c\/EY57rrNqC5XqV1Np+nIjacPqpBgDwzy+J7ldlbijAq0I1pvfZLrpuXN1vlDaIi6plHSEe7E3dzvLq8SqPgvmqRl5\/R1udtwjPHIPr8B4qwtWlqWim9rq5HVtYdzJKcgHuB+ZV6o3UeEs7OpV\/k0XRflkC22WgtTMUkAa7GDI7dx81PRFBtvc0xjGKtFWQREXCQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB5c5rGlz3BrRzJOAFnLlq+EP9jtLDV1Tzwsc0e6D9fkrW82mO80QpZZXxtDw7Le5erbZqC0x8NJAGuP3nu3c7zU45Ursz1FWlLLHRdefoZ216KfLMay9S8cjzxuhaeZO54j+XqtZDBDTRCKCJkUbeTWDAC6IuSm5bkqVCFJd1BERRLgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CARMEN",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "971094636",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1145\",\"id_control\":\"28747\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:28",
    "ubicacionGPS": "LatLng(lat: -22.4550456, lng: -68.9266751)",
    "horaLlegada": "14:06",
    "horaDespacho": "12:53",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 15:28:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[25/05/2026 15:28: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('61980920', 'TO3085', 1, 19969062, 50621, NOW(), 
				'12:53', '14:06', '15:28', 10, 'entrega insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779737291.png', 'entrega insumos', null, 'COMPLETADO','LatLng(lat: -22.4550456, lng: -68.9266751)' )
				
[25/05/2026 15:28:11] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200417
[25/05/2026 15:28:11] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200417', 'TOS-I1145', 1)
				
[25/05/2026 15:28:11] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28747 and
				    IDproducto = 'TOS-I1145'
				

25/05/2026 15:28:11 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I1145';
                
25/05/2026 15:28:11 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200417'                    
				WHERE idllamado = 12187			
				TO ENVIO: micorreo@miempresa.cl, null


25/05/2026 15:28:12 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12187			
				
25/05/2026 15:28:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15:28:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15: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 = 12187
                

25/05/2026 15:28:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 15:28: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;
                

25/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:28: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;
                

25/05/2026 15:28:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 15:28: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;
                

25/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:28: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;
                

25/05/2026 15:28:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:28: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;
                

25/05/2026 15:28:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:28: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;
                

[25/05/2026 15:28: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;
                

25/05/2026 15:28:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 15:28: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;
                

25/05/2026 15:28:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 15:28: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;
                

25/05/2026 15:28:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:28: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;
                

[25/05/2026 15:28: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;
                

25/05/2026 15:28:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 15:28: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;
                

25/05/2026 15:28:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

[25/05/2026 15:28: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;
                

25/05/2026 15:28:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 15:28: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;
                

[25/05/2026 15:28: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;
                

25/05/2026 15:28:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12187
            GROUP BY l.idllamado;
            

25/05/2026 15:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

[25/05/2026 15:28: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;
                

25/05/2026 15:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:29:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:29:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:29:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:29:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:29:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:29:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:29:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:29:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:29:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:29:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:29:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:29:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12187
                

25/05/2026 15:29:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 15:29:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 15:29:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 15:29: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;
                

[25/05/2026 15:29: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;
                

25/05/2026 15:29:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 15:29: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;
                

[25/05/2026 15:29: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;
                

25/05/2026 15:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 15:29: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;
                

25/05/2026 15:29:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 15:29: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;
                

25/05/2026 15:29:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 15:29: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;
                

25/05/2026 15:29:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 15:29: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;
                

25/05/2026 15:29:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 15:29: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;
                

[25/05/2026 15:29: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;
                

25/05/2026 15:29:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 15:29: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;
                

[25/05/2026 15:29: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;
                

[25/05/2026 15:29: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;
                

25/05/2026 15:29:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 15:29: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;
                

25/05/2026 15:29:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 15:29: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;
                

25/05/2026 15:29:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 15:29:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 15:29:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                
[25/05/2026 15:45:24] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 15:45:24] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 15:45: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;
                

25/05/2026 15:45:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12636
            GROUP BY l.idllamado;
            

[25/05/2026 15:45: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;
                

[25/05/2026 15:45: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;
                

25/05/2026 15:45:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12636
            GROUP BY l.idllamado;
            

25/05/2026 15:45:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12636
            GROUP BY l.idllamado;
            

25/05/2026 15:46:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12636
            GROUP BY l.idllamado;
            

25/05/2026 15:46:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12636
            GROUP BY l.idllamado;
            

25/05/2026 15:46:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12636
            GROUP BY l.idllamado;
            

25/05/2026 15:46:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12636
            GROUP BY l.idllamado;
            

25/05/2026 15:46:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12636
            GROUP BY l.idllamado;
            

25/05/2026 15:46:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12636
            GROUP BY l.idllamado;
            

25/05/2026 15:46:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12636
            GROUP BY l.idllamado;
            

25/05/2026 15:46:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12636
            GROUP BY l.idllamado;
            

25/05/2026 15:46:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12636
            GROUP BY l.idllamado;
            

25/05/2026 15:46:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12636
            GROUP BY l.idllamado;
            

25/05/2026 15:46:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12636
            GROUP BY l.idllamado;
            

25/05/2026 15:46:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:46:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:52:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12636
            GROUP BY l.idllamado;
            

25/05/2026 15:52:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:52:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:52:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12636
            GROUP BY l.idllamado;
            

25/05/2026 15:52:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:52:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:52:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:52:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:52:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12636
            GROUP BY l.idllamado;
            

25/05/2026 15:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:52:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:52:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:52:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12636
            GROUP BY l.idllamado;
            

25/05/2026 15:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:54:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12636
            GROUP BY l.idllamado;
            

25/05/2026 15:54:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:54:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:54:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:54:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:54:02 - logentry: =========================================
FECHA: 25/05/2026 15:54:02
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-_JmS.5GSy-X8BVNHZyN2e8Mg1DnZ+tyuxloeqLoF39S9XQMUBvW
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76257428",
    "serieinterna": "EP2035",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "cliente indica\nque a partir de la décima copia, la imagen sale desfasada en sectores, y empieza a generar un ruido, cada vez mas fuerte\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12636",
    "observacion": "Requiere:\ncambio de máquina\ncoordinar con:  Rafael Videla\noficina Santiago",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACqAP4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABIEAABBAEBBQUEBgUGDwAAAAABAAIDBBEFBhIhMVETIkFhcRSBkaEVMrHB0fAWI0JV4QckM1KCoyUnN0NUYmN0kpOiwtLT8f\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EACwRAAICAQMCBQMEAwAAAAAAAAABAhEDEiExE0EEUWFxkSIyoRRC0fCBseH\/2gAMAwEAAhEDEQA\/AP2Zc5J4YnxsklYx0h3WBxwXHoFx1LUIdLoS25z3WDgBzcfABUWk6ZZ1e+Na1dpABzVrnkweBI\/OefRWUdrZjPK1JQirf+kadERVNgiIgCIiAIiIAiIgCIiAIiICm1bWLGm6tp9cRRur2nbrnnO8Dny9R81crP7aVTNoJmacOrSNkHn4ffn3K4o2hdoQWgN3to2vx0yOSu0tKZhCT6soP0aJCIiobhEUd9+rHejovmAsytL2R8ckD\/4fghDaXJIRca9uvbDzXmZKI3bjiw5wei7IE090EREJCIiAIiIAiIgMxrzPpfaGlo0hLa4aZpCDguIB4D8+K0zWhrQ1oAAGAB4LJbRXq+mbV6ffMnaFkZZNE05LW8cHH9on3LuNtARkaRbIPktnGTSo4IZscMk9b3v8UadFX6ZrNTVQ4QOLZGZ3o3jDhxxnHTgrBZNNcnbGSkri9gvL3tjY57zhrQST0C9LMbSWNasC1p1XTC+u8NAnbzI4E\/eFMY26KZcnTjqqx9Katr8jm6O0VagJBtSji7gOQ68T+K+O07aSix1n6aZKIxvOY9vAjx5joqmDbC7ptWKh7BFG+CNrMSZBPAcSPPmvvt0+syf4V1yvUrEYdBA76w6cPvJW+lrtseZ1oS7ty96SNbomov1TS4rUkRje4YcMYGeo8lYKkg17QKFOOCK\/GIomhrQMuOB6BWVDUKmp1+3pzCWMOLScEYPTBWEk+aPSxZItKOpNklcLdytRhM1qdkLB4uOM+nVfLzrLaMzqbQ6cN7gI5n8\/krBPoa1Yt+1alpVm6Rk7jpCG\/AeHLgMclaEFLlmfiM8sdKMbb+DUVNpDqV5kVCjNJW3t19hzSAPT+PwV6sxX2qjpNjr3NFtUIxhrQ1mWtGcDwHDnyWgqXK9+syxWlEkbxwI+w9ConGuxODIpbOVv4\/B3RFnLG2Vdtj2enRtW5Q4ghrcdeXMnl0UKLfBrkywx\/cy31eH2jR7kWCS6F+ABnjjgoGx8\/b7N1xnJjLmH3E4+RCgu1\/aGyN2ts86PIP8ATZx891VWz8e0LTa06hNBVNeTMjZRnBPDhwPDu\/NaKD0tM4pZ49aMopvZrj\/Pc3yLMew7Z\/van\/wD\/wBa0cIkbBGJnB0oaA9zRgE44kLNxrudmPI5\/ta9zoocul15dWh1Nxk7aFhY0B3dwc8x7ypihXtVradPWhn7Tfsv3GbrMj1J96hX2LT01cjtXr1az5W14443PdvyBoGST4ld1Fg02tWu2LkTCJrOO0O8cHHkpSMmKaXFHiWVkMT5ZHBrGNLnOPgBzKoLO1YksGvpFKS+9oyXsHdH5PXCmbTzvr7O3HRsc4uZuHA5A8CT7iVw2MijZs3A9jQHSOeXkcyd4jj7gFdJKOpnPknOWVYoutrIw2g12Lv2Nn5DGOfZuOQPTByrfSdXraxVM1feaWndexwwWn8FPWY0Ab21WsyR4MYIbvN5Zzy+SbST2I+vHOKcrTNOiKFqerVdJiZJac4CR260NbkkqiV8HTKSirfBNREUFiqvbN6ZfbYc+uGzWOLphxcD1GeX3qrr6hqmztcVdRqSXImENhmh4kt6Hx4LUorqXZ7mEsCvVDZ\/3kzehQ2tQ1mxrNitJTY4dmyI8N7zPXx6e9aREUSdsvjx9ONXYREVTQj2dPp3RizVim4g99gJ4KH+jejfu6H4K0RSpNdyjxwk7aRXR7P6RE7LdOg4jHeZkfAqbBXgrR9nXhjhZnO7G0NHwC6IjbfIjCMeFQRFE1KpPdpPr17j6j3EfrWDJHH1H2qEWk2laVnLVtXoaXXJuvaS4Hdixlz\/AHKv2ShkZVszCMxVJpS6tGc5DcnjxPoutPZTTq1k2Zu0tzZyHTnIB64V0AAMAYAV20lSOeMJympz2rhfyz6vLGMjGGNDRnOAML0iodIVNpulWaevajce5nYWSCwA8c+JwrlFKdFJQUmm+wREUFws5tpC86ZBbYwvdWna4jPDB4fbge9aNR79Rl6hPVeBiVhbxHI+B+KtF00zLNDXjcT3WnZarRWIzlkrA4ehC6qk2Ubeh0k1b0D4nV5CxhcMbzfz4q7USVOicUnOCkzy5rXsLHtDmuGCCMghYuPULGxzrlJ9eSeNzu0quP1AM4OT7xy8fVbZeXxslbuyMa9vRwyFaMq2ZTLic6cXTRlbW2AvVBW0qvO65O0NyG8IiefrjirjZ\/SfojTGQvO9M878rs57x8PQfj1VhHDFDnsomMzz3WgZXRHJVSRGPFJS1zdsLI7bSuNzSoIsF\/aF26c88tA+9a5Z67oU9\/auvfmDfZIGNxg8SRkgY9SmNpStkeKjKePTHu0Rpo9r6ED7ct+rPHC0vdG1gy4Dn+wPtV\/pl5mpadDbYAO0b3mg53TyI+KlEAjBGQVndloJ9Os6lpj4niGKbfheQcEHz5cg0+8qW9SIUXiyJW2n577mjREWZ1BERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBEWe1Laci2NP0aAXbZOD\/Ub7\/H44HVSot8GeTJHGrkaFFmBs7rGpN3tX1h4aecMA4dfIZ9x9U\/QLSzxdZuE+J328f8ApVtMe7Murlf2w+XX8mnRZZ+y1\/TmF+iarMwj\/NTHLT49Mc8+HivUe0t\/TrLK2vUewa7gLMeSwnr4\/Ll0TRf2ux+o07ZI1+V8mnReIpY5omyxPD2PGWuacghe1Q6QiIgCIiAIiIAiIgCIiALPaltJIbh03RoRauZIc79mPz88LztRqk43NG05rn3bQ\/Ydgsb\/ABAPuyq3StH2lowGCtDUp7478ziHOPTJ4\/krWMVVs4c2aTnogn6tL8EobJy2YnT67q0z3fWcGPAaz3nh08AqK5S0WOQwaLPftXcgRlhG558QAeXRaKHY82HNk1jUp7jgQezDiG+YyePwwryjptLTY+zp12Qg8yOJPqTxKt1K72ZfpXP9ter3Z7pNnZShbae18wYN9zc4J9\/H4ruiLA9JKlQREQkIiIAiIgCIiAz+1N+w1kGlUSRaunAdnG63x4+f4qw0jR6uj1GxQRjtCB2kmOLz69PJVF7\/ACiab\/ux+yRSp9StQ7ZVtP7U+zzwF+5ujnh3jjP7PVatPSkvc4oyj1JTl56V6F6iIsjtC4W6de\/WfXsxCSN44g\/aOhXdVmua3DotTtHDtJ5OEUQPFx\/BSk29imSUYxbnwV2yEskbtS0xzzJHRn3Y3HnjJH\/bn3laRUuzWm2KVaezcAFq7IZZGgY3c8h8z8VdK03cjPwyaxJMIiKhuEREAREQBERAFysztrVpZ3kbsbC45OBwHVdVSbXyvi2csbgOXlrTgZwM8VMVbSM8s9EHLyRF2SqyWWza5dw+zbd3HEfVaOHDpyx6ALSqHpEDK+kVIozlrYm4PXhlTFMnbK4IaMaX9sIvDJonvfGyRjnsxvtDgS316L2qmwREQBERAEREAREQBERAZjaJw07aLStVfkx5ML8N5Dj4\/wBo8PIprGI9tdJkH1nMLc+XH8SrDaij7doFhgGXxjtW8ccW8\/llZyG8NQ1TZ2YuBeGlj+Oe8Djj9vvW8d1fueZm+ibj5tNfKTN0vL3sjYXyODGtGS5xwAqTVDtLLeMOmtrw1sDE7yCTw45Bz4+Sjt2TmtyCTV9Sltc8xtyG+Bxk+GegCzUVy2dcss7ahBv32R0ubUtlkdU0WB16zj6zR3G+efH7PNfdI2elZaOp6vN7RddxDc92PxHw+A+auKlGrRjMdWBkTScndHFx8z4+9SEcqVRIWFyalldvy7IIiKh0hERAEREAREQBERAFG1CjDqVGWpOMskGMjmD4EehUlfHODWlziAAMknwRENJqmZZ1DaLRonMo3oJKcYJaJzxYPUj7\/wCNbUv7SbRTOrQ2hHA04kmjbutA9efuU+zat7V3X0aEhh06Fw7abHF\/p8OHxK01OnBQqsrVowyNgwAPHzPUrdy0rdbnnRxdSX0SagvXn29CDougVdFY4xOfJNIO\/I88\/crVEWLbbtnoQhGC0xVIIiKCwREQBERAEREAREQHwgEYIyCvzfTYnVdsIaee5BbeGjPh+QF+krF+y\/4yh3e7\/S\/3fP4rbE+fY4PGQt42vNG0REWJ3hERAEREAREQBERAEREAREQBZ3a23O6KDSKmO2vO3SScYb\/H7Aeq0SzN9pH8oOmvIIaa5G94ZxJwV4c2c\/iW9Gld2l8l5p1CHTKMVSAd2McTji4+JKlIio3ZukoqkEREJCIo9u\/Uos37ViOEYz3nYJ9B4oQ2krZIRZ2fbbSon7kLbFh3+pHj7cFXlSf2qpFOYnxGRoduPGHN8irOLXJnDNjm6i7OyIiqahERAEREAXjso+07Ts27+Mb2OPxXtEAREQBERAEREBDv0Pbuw\/nM0HYyiT9U7G9jwKmIimyFFJthERQSEREAREQBUu0eiv1SCKas7s7lZ29E8cCfLPzHp5q6RSm07RTJCOSLjIzNTa8QONfWqktOePAc8MJYfPqM4PXkpn6X6D\/p\/wDcv\/8AFWs1aCy3dngjlb0e0OHzUf6F0r92U\/8AkN\/BapRlvRxTyZsT02n7r\/pXybZaIxuWWHyn+qyJ2fmAoZ2n1XUMDSNGkc13KWbl9w+av4tNoQODoaNeMjkWRNH3KUoemPYvDq5VblXsv5sy\/wBEbS6i8Ovas2qzn2cA5cjjhj5krvU2K0uCQSTmW07\/AGjuHwC0KKvUl2NF4XHdyVv13OMFWvVZuV4I4m9GNAXZEVDoSS2QREQkhxx3xqk0kk8bqRYBHEG95rvEk\/H885iIpISoIiKCQiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/2Q==",
    "razonSocial": "SHIMIN INGENIERIA SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "MARIO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE IMPRESIONES SALEN CORRIDAS.",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56944405049",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:54",
    "ubicacionGPS": "LatLng(lat: -23.6618395, lng: -70.3999204)",
    "horaLlegada": "15:03",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 15:54:02
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-_JmS.5GSy-X8BVNHZyN2e8Mg1DnZ+tyuxloeqLoF39S9XQMUBvW
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76257428",
    "serieinterna": "EP2035",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "cliente indica\nque a partir de la décima copia, la imagen sale desfasada en sectores, y empieza a generar un ruido, cada vez mas fuerte\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12636",
    "observacion": "Requiere:\ncambio de máquina\ncoordinar con:  Rafael Videla\noficina Santiago",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACqAP4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABIEAABBAEBBQUEBgUGDwAAAAABAAIDBBEFBhIhMVETIkFhcRSBkaEVMrHB0fAWI0JV4QckM1KCoyUnN0NUYmN0kpOiwtLT8f\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EACwRAAICAQMCBQMEAwAAAAAAAAABAhEDEiExE0EEUWFxkSIyoRRC0fCBseH\/2gAMAwEAAhEDEQA\/AP2Zc5J4YnxsklYx0h3WBxwXHoFx1LUIdLoS25z3WDgBzcfABUWk6ZZ1e+Na1dpABzVrnkweBI\/OefRWUdrZjPK1JQirf+kadERVNgiIgCIiAIiIAiIgCIiAIiICm1bWLGm6tp9cRRur2nbrnnO8Dny9R81crP7aVTNoJmacOrSNkHn4ffn3K4o2hdoQWgN3to2vx0yOSu0tKZhCT6soP0aJCIiobhEUd9+rHejovmAsytL2R8ckD\/4fghDaXJIRca9uvbDzXmZKI3bjiw5wei7IE090EREJCIiAIiIAiIgMxrzPpfaGlo0hLa4aZpCDguIB4D8+K0zWhrQ1oAAGAB4LJbRXq+mbV6ffMnaFkZZNE05LW8cHH9on3LuNtARkaRbIPktnGTSo4IZscMk9b3v8UadFX6ZrNTVQ4QOLZGZ3o3jDhxxnHTgrBZNNcnbGSkri9gvL3tjY57zhrQST0C9LMbSWNasC1p1XTC+u8NAnbzI4E\/eFMY26KZcnTjqqx9Katr8jm6O0VagJBtSji7gOQ68T+K+O07aSix1n6aZKIxvOY9vAjx5joqmDbC7ptWKh7BFG+CNrMSZBPAcSPPmvvt0+syf4V1yvUrEYdBA76w6cPvJW+lrtseZ1oS7ty96SNbomov1TS4rUkRje4YcMYGeo8lYKkg17QKFOOCK\/GIomhrQMuOB6BWVDUKmp1+3pzCWMOLScEYPTBWEk+aPSxZItKOpNklcLdytRhM1qdkLB4uOM+nVfLzrLaMzqbQ6cN7gI5n8\/krBPoa1Yt+1alpVm6Rk7jpCG\/AeHLgMclaEFLlmfiM8sdKMbb+DUVNpDqV5kVCjNJW3t19hzSAPT+PwV6sxX2qjpNjr3NFtUIxhrQ1mWtGcDwHDnyWgqXK9+syxWlEkbxwI+w9ConGuxODIpbOVv4\/B3RFnLG2Vdtj2enRtW5Q4ghrcdeXMnl0UKLfBrkywx\/cy31eH2jR7kWCS6F+ABnjjgoGx8\/b7N1xnJjLmH3E4+RCgu1\/aGyN2ts86PIP8ATZx891VWz8e0LTa06hNBVNeTMjZRnBPDhwPDu\/NaKD0tM4pZ49aMopvZrj\/Pc3yLMew7Z\/van\/wD\/wBa0cIkbBGJnB0oaA9zRgE44kLNxrudmPI5\/ta9zoocul15dWh1Nxk7aFhY0B3dwc8x7ypihXtVradPWhn7Tfsv3GbrMj1J96hX2LT01cjtXr1az5W14443PdvyBoGST4ld1Fg02tWu2LkTCJrOO0O8cHHkpSMmKaXFHiWVkMT5ZHBrGNLnOPgBzKoLO1YksGvpFKS+9oyXsHdH5PXCmbTzvr7O3HRsc4uZuHA5A8CT7iVw2MijZs3A9jQHSOeXkcyd4jj7gFdJKOpnPknOWVYoutrIw2g12Lv2Nn5DGOfZuOQPTByrfSdXraxVM1feaWndexwwWn8FPWY0Ab21WsyR4MYIbvN5Zzy+SbST2I+vHOKcrTNOiKFqerVdJiZJac4CR260NbkkqiV8HTKSirfBNREUFiqvbN6ZfbYc+uGzWOLphxcD1GeX3qrr6hqmztcVdRqSXImENhmh4kt6Hx4LUorqXZ7mEsCvVDZ\/3kzehQ2tQ1mxrNitJTY4dmyI8N7zPXx6e9aREUSdsvjx9ONXYREVTQj2dPp3RizVim4g99gJ4KH+jejfu6H4K0RSpNdyjxwk7aRXR7P6RE7LdOg4jHeZkfAqbBXgrR9nXhjhZnO7G0NHwC6IjbfIjCMeFQRFE1KpPdpPr17j6j3EfrWDJHH1H2qEWk2laVnLVtXoaXXJuvaS4Hdixlz\/AHKv2ShkZVszCMxVJpS6tGc5DcnjxPoutPZTTq1k2Zu0tzZyHTnIB64V0AAMAYAV20lSOeMJympz2rhfyz6vLGMjGGNDRnOAML0iodIVNpulWaevajce5nYWSCwA8c+JwrlFKdFJQUmm+wREUFws5tpC86ZBbYwvdWna4jPDB4fbge9aNR79Rl6hPVeBiVhbxHI+B+KtF00zLNDXjcT3WnZarRWIzlkrA4ehC6qk2Ubeh0k1b0D4nV5CxhcMbzfz4q7USVOicUnOCkzy5rXsLHtDmuGCCMghYuPULGxzrlJ9eSeNzu0quP1AM4OT7xy8fVbZeXxslbuyMa9vRwyFaMq2ZTLic6cXTRlbW2AvVBW0qvO65O0NyG8IiefrjirjZ\/SfojTGQvO9M878rs57x8PQfj1VhHDFDnsomMzz3WgZXRHJVSRGPFJS1zdsLI7bSuNzSoIsF\/aF26c88tA+9a5Z67oU9\/auvfmDfZIGNxg8SRkgY9SmNpStkeKjKePTHu0Rpo9r6ED7ct+rPHC0vdG1gy4Dn+wPtV\/pl5mpadDbYAO0b3mg53TyI+KlEAjBGQVndloJ9Os6lpj4niGKbfheQcEHz5cg0+8qW9SIUXiyJW2n577mjREWZ1BERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBEWe1Laci2NP0aAXbZOD\/Ub7\/H44HVSot8GeTJHGrkaFFmBs7rGpN3tX1h4aecMA4dfIZ9x9U\/QLSzxdZuE+J328f8ApVtMe7Murlf2w+XX8mnRZZ+y1\/TmF+iarMwj\/NTHLT49Mc8+HivUe0t\/TrLK2vUewa7gLMeSwnr4\/Ll0TRf2ux+o07ZI1+V8mnReIpY5omyxPD2PGWuacghe1Q6QiIgCIiAIiIAiIgCIiALPaltJIbh03RoRauZIc79mPz88LztRqk43NG05rn3bQ\/Ydgsb\/ABAPuyq3StH2lowGCtDUp7478ziHOPTJ4\/krWMVVs4c2aTnogn6tL8EobJy2YnT67q0z3fWcGPAaz3nh08AqK5S0WOQwaLPftXcgRlhG558QAeXRaKHY82HNk1jUp7jgQezDiG+YyePwwryjptLTY+zp12Qg8yOJPqTxKt1K72ZfpXP9ter3Z7pNnZShbae18wYN9zc4J9\/H4ruiLA9JKlQREQkIiIAiIgCIiAz+1N+w1kGlUSRaunAdnG63x4+f4qw0jR6uj1GxQRjtCB2kmOLz69PJVF7\/ACiab\/ux+yRSp9StQ7ZVtP7U+zzwF+5ujnh3jjP7PVatPSkvc4oyj1JTl56V6F6iIsjtC4W6de\/WfXsxCSN44g\/aOhXdVmua3DotTtHDtJ5OEUQPFx\/BSk29imSUYxbnwV2yEskbtS0xzzJHRn3Y3HnjJH\/bn3laRUuzWm2KVaezcAFq7IZZGgY3c8h8z8VdK03cjPwyaxJMIiKhuEREAREQBERAFysztrVpZ3kbsbC45OBwHVdVSbXyvi2csbgOXlrTgZwM8VMVbSM8s9EHLyRF2SqyWWza5dw+zbd3HEfVaOHDpyx6ALSqHpEDK+kVIozlrYm4PXhlTFMnbK4IaMaX9sIvDJonvfGyRjnsxvtDgS316L2qmwREQBERAEREAREQBERAZjaJw07aLStVfkx5ML8N5Dj4\/wBo8PIprGI9tdJkH1nMLc+XH8SrDaij7doFhgGXxjtW8ccW8\/llZyG8NQ1TZ2YuBeGlj+Oe8Djj9vvW8d1fueZm+ibj5tNfKTN0vL3sjYXyODGtGS5xwAqTVDtLLeMOmtrw1sDE7yCTw45Bz4+Sjt2TmtyCTV9Sltc8xtyG+Bxk+GegCzUVy2dcss7ahBv32R0ubUtlkdU0WB16zj6zR3G+efH7PNfdI2elZaOp6vN7RddxDc92PxHw+A+auKlGrRjMdWBkTScndHFx8z4+9SEcqVRIWFyalldvy7IIiKh0hERAEREAREQBERAFG1CjDqVGWpOMskGMjmD4EehUlfHODWlziAAMknwRENJqmZZ1DaLRonMo3oJKcYJaJzxYPUj7\/wCNbUv7SbRTOrQ2hHA04kmjbutA9efuU+zat7V3X0aEhh06Fw7abHF\/p8OHxK01OnBQqsrVowyNgwAPHzPUrdy0rdbnnRxdSX0SagvXn29CDougVdFY4xOfJNIO\/I88\/crVEWLbbtnoQhGC0xVIIiKCwREQBERAEREAREQHwgEYIyCvzfTYnVdsIaee5BbeGjPh+QF+krF+y\/4yh3e7\/S\/3fP4rbE+fY4PGQt42vNG0REWJ3hERAEREAREQBERAEREAREQBZ3a23O6KDSKmO2vO3SScYb\/H7Aeq0SzN9pH8oOmvIIaa5G94ZxJwV4c2c\/iW9Gld2l8l5p1CHTKMVSAd2McTji4+JKlIio3ZukoqkEREJCIo9u\/Uos37ViOEYz3nYJ9B4oQ2krZIRZ2fbbSon7kLbFh3+pHj7cFXlSf2qpFOYnxGRoduPGHN8irOLXJnDNjm6i7OyIiqahERAEREAXjso+07Ts27+Mb2OPxXtEAREQBERAEREBDv0Pbuw\/nM0HYyiT9U7G9jwKmIimyFFJthERQSEREAREQBUu0eiv1SCKas7s7lZ29E8cCfLPzHp5q6RSm07RTJCOSLjIzNTa8QONfWqktOePAc8MJYfPqM4PXkpn6X6D\/p\/wDcv\/8AFWs1aCy3dngjlb0e0OHzUf6F0r92U\/8AkN\/BapRlvRxTyZsT02n7r\/pXybZaIxuWWHyn+qyJ2fmAoZ2n1XUMDSNGkc13KWbl9w+av4tNoQODoaNeMjkWRNH3KUoemPYvDq5VblXsv5sy\/wBEbS6i8Ovas2qzn2cA5cjjhj5krvU2K0uCQSTmW07\/AGjuHwC0KKvUl2NF4XHdyVv13OMFWvVZuV4I4m9GNAXZEVDoSS2QREQkhxx3xqk0kk8bqRYBHEG95rvEk\/H885iIpISoIiKCQiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/2Q==",
    "razonSocial": "SHIMIN INGENIERIA SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "MARIO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE IMPRESIONES SALEN CORRIDAS.",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56944405049",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:54",
    "ubicacionGPS": "LatLng(lat: -23.6618395, lng: -70.3999204)",
    "horaLlegada": "15:03",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 15:54:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76257428

[25/05/2026 15:54:02] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76257428', 'EP2035', 1, 21773342, 0, NOW(), 
				'08:00', '15:03', '15:54', 4, 'cliente indica
que a partir de la décima copia, la imagen sale desfasada en sectores, y empieza a generar un ruido, cada vez mas fuerte
', -1, 
				'', '','1','0',
				'0',2,'../csj.digital-service.cl/uploads/firmas/firma_0_1779738842.png', 'Requiere:
cambio de máquina
coordinar con:  Rafael Videla
oficina Santiago', null, 'REPROGRAMADO','LatLng(lat: -23.6618395, lng: -70.3999204)' )
				
[25/05/2026 15:54:02] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200418

25/05/2026 15:54:02 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200418'                    
				WHERE idllamado = 12636			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


25/05/2026 15:54:02 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 12636			
				
25/05/2026 15:54:02 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('76257428', 'EP2035', 1, 'APP', 'sin otroTipo definido', -2, 'INDICA QUE IMPRESIONES SALEN CORRIDAS.', 'Sin coderror', '1', 'SI', now(), 'MARIO', '+56944405049', 'tecnico@dsprint.cl', 12636)
				
25/05/2026 15:54:02 Insertado nuevo llamado creado idllamado: 12715APP
25/05/2026 15:54:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12636
            GROUP BY l.idllamado;
            

25/05/2026 15: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 = 12636
                

25/05/2026 15: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 = 12636
                

25/05/2026 15: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 = 12636
                

25/05/2026 15: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 = 12636
                

25/05/2026 15: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 = 12636
                

25/05/2026 15: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 = 12636
                

25/05/2026 15:54:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

[25/05/2026 15:54: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;
                

25/05/2026 15:54:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12636
            GROUP BY l.idllamado;
            

25/05/2026 15:54:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12636
            GROUP BY l.idllamado;
            

[25/05/2026 15:54: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;
                

25/05/2026 15:54:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:54:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:54:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

25/05/2026 15:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12636
                

[25/05/2026 16:16:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:16:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16:16:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

[25/05/2026 16:16:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:16:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16:16:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:16:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:16:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16:16:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16:16:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:16:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

[25/05/2026 16:16:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:16:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16:16:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12684
                

25/05/2026 16:16:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

[25/05/2026 16:16: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;
                

25/05/2026 16:16:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16:16:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12684
                

[25/05/2026 16:16: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;
                

[25/05/2026 16:16: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;
                

25/05/2026 16:16:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:16:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:16:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:16:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

[25/05/2026 16:16: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;
                

25/05/2026 16:16:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16:16:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:16:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16:16:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:16:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:16:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16:16:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

[25/05/2026 16:16: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;
                

25/05/2026 16:16:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16:16:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:16:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:16:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

[25/05/2026 16:16: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;
                

[25/05/2026 16:16: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;
                

25/05/2026 16:16:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

[25/05/2026 16:16: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;
                

25/05/2026 16:16:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16:16:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16:16:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16:16:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

[25/05/2026 16:16: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;
                

25/05/2026 16:16:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:16:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12684
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

[25/05/2026 16:18: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;
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

[25/05/2026 16:18: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;
                

[25/05/2026 16:18: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;
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12684
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16:18:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16:18:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16:18:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16:18:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12684
                

25/05/2026 16:18:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:18:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:18:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16:19:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16:19:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16:19:59 - logentry: =========================================
FECHA: 25/05/2026 16:19:59
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-eNdx706Jyb0KD8R2JESKv4zCgoGX966A4Byx.7p4dKMvNw1.yCe
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76132593",
    "serieinterna": "EP2875",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de paquete de tintas, recibe María Flores",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12684",
    "observacion": "•Entrega en oficina antofagasta",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADCAQ4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAwUFBQMJCQEAAAABAAIDBAURBiESMUETUWFxgRQikaGxFSMywdFC4fAWJDNDUmJzgvEHJTZykqKywtJV\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMxEAAgECAwUHBAIBBQAAAAAAAAECAxESITEEMkFRYRMicYGRodGxweHwFCMzJEJSU\/H\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBQbzU1NHaaippGsdLE3iAeMjA59e7JU5eJomTwvhkGWSNLXDwOy6tSMk3FpEKyXEXW0w1WQXkYkA6OHNWCxOjJnUN4rbVK4jcloJ\/aacH4j6LbKU44ZFOzVHUpJvXRhEWcvt7qH1X2NZwX1km0kg5RDz7\/Hp5rkYuTsWVKkacbsn3TUNutQcJpg+UD+ij3d+71VW3UN+rGiShsREZGQZXc\/LllT7PpqjthE8g9prDu6aTf3upGeXnzVypXitFcpUK085Sw9F8mXN41RGOJ9jY4dzTk\/UqZb9V0VXUupahj6GcHHBP7ufDPf4K8VfdbJQ3iMNq4iXNGGSNOHN\/jxTFF6oOnVhnCV+jLBFkY6y46TnFNWMfVWwu9ycDJjB6H9PgtXFNHPE2WJ7ZGO5OacgqMo2LKVVTy0a1R7REUS4IiIAiIgCIiAIiIAiIgCIiAi0typK2eogp5eOSmdwSjhI4TkjqN+R5KUsJZas02uqyPiwyeeVhHeeIkLdqc44WZ9nrdrFt6p2CIigaAiIgCIiAIiIDE3Vn2PrqmrBhkVS4FxxsM+679fVbZZPX9MH26mqQPejl4M+BH7lf2arNdZ6Wpc7ie+IcR73DY\/MFWzzimYqHcrTp+frqQ9TXn7Jt4bCOKqqDwRNB3H970+pC9adsjbRRZlw6rl96aTOd+7P8bqud\/P\/APaCGF5cyig4uHOwOP1etQuS7sUidNdpUdR8Ml9wiIqzUEREBzmhiqIXwzMD43jDmuGxCyZFVoyt4m8c9onduOZiP6\/VbBc5oYqiF8MzA+N4w5rhsQpRlbJ6FNWljzWUlo\/3gKeoiqoGTwSCSN4y1zeRXRZCOSXR92bTyOc+01Jyxzt+yPX+Oo3Wua4OaHNIIIyCOqSjbTQUquNNPJrVH1ERRLgiIgCIiAIiIAiIgCIiA\/MXMMMU1zZtLT3HGRtscn6j5r9MY9skbZGODmuALSOoWJtVH7dY79BjLjKXNx3jcfRaHS1WazT1K5xy6MGN2+fwnA+WFfVzXgeZsXdduav6OxboiKg9MIiIAiIgCIiAqtTU5qtO1kYGSGcYwM\/hIP5Ks0HVGWzy05O8Eu23IEZ+uVpJoxNBJEQCHtLSD4hYbQVR2V0qaV23axcWD3tP7yro502jBVeDaoS5potrWT\/Ly6hx37IYz3e4tOsvW4tmuaaqf7sVdGYy4n9oADHx4fitQoz4PoXbPlijyb98wiIqzSEReWua8Za4OHgcoD0iIgI9dRQXGkfS1LOKN49Qe8eKztgrJ7PcXafuL89aWQ7Bw7vXp45C1Sp9R2f7VoeKH3auA8cLxsc92fH64U4tbr0M1aDuqkNV7rkXCKn05ehd6IiX3auDDZmEY37\/AFx6K4UWmnZl0JxnFSjowiIuEwiIgCIiAIiIAiIgMxo73Ki7Qn8TKnf5j8l803\/u2\/XOz8mcXbRDHTz8i34FfbIDTaxvFNjAkAl898\/+y86nhdbbpR36EY4HiOcD9pv+mR8Fe85NczzI9ylGf\/Fu\/hfM1KLyx7ZI2yMcHNcAWkdQvSoPTCIiAIiIAipNVXWotNrbLSlgkkk4MuGcDB3HjyVlb6xtfb4KtowJWB2M5weo+KlhdrlaqRc3DiiSvzOmldaNWvmDcRw1TmPwCQGuJH0X6YsDdqFs18vdNj+oFSzH9poaT8i5WUnqmY9ui7QktU\/36Gl1Rb4K60PdLIyGSD34pHOwAe7PiqSh1vO+mgphQSVdYfddwuxx+OwPRRqOGnrqCO6aiubnwNHDFTB2C7h25D15fFVd3udPcqiJtvtzaZsPuxuZntCByzjb6nxVkYLdeZlrbRJPtIvDfhxfwX9fqDUdIzjqKajo24\/bcC4+Q4sn4KuZqHUkzGymsjp4ncnyMjaD4jIyfTKqprfcqeMVNXSStbMc9tKwuI8\/3rUWO0WCueyWSvdcKnhBMcrsf9p3OPMhdajFXsVxlWqzwqTXi7fvoUDI73qCpMTJ5asZIL+IiMY88Y59yv6C26qs0DoKX2SWMvL93ZyT547lrIYYqeMRwRMiYOTWNAA9AuiqlVvklkb6exKPecnfmZf7Y1TDn2ixxv8A8I9PQlema0jhfwXK2VVG7ONxn64K0y8vYyRhY9oc08w4ZBUcUeKLuyqrdm\/NJ\/BCor5bLjgU1ZG5x\/YJ4XfA7qeqSv0laK2MhtOKZ\/MPh93HpyUH7K1FaHB1urxWw5x2VQTkDbx8Oh9EwxejOdpWhvxv1XwLzSzWO7tv1FG58L9quJvd3\/x1HitJT1EdVTsnidxMkGQVmn6nuETXRXKwThrwRlmSCD05efVe9Gtq2NrGugfDRGTigbJsW53x8CFKUXhu+BVSqxVXDDR8LaP8mnREVJvCIiAIq27X6hszB7TITI4e7Ezdx\/T1VI2o1FqJw7Bn2ZRE\/jP4nD6n0wPFTUG1fgUTrxi8KzfJfuRqH1VPHM2F88bZHnDWOeA53kF1VFbtI2+hmjne6WpnjcHB0jtg4dQB6c88lerjtwJ03Nq81YIiKJYZipHsv+0GleOVVTkOOeoB\/wDkK7u1C25WuopCATIw8Gejuh+OFR6v\/m9Xaq\/PCIZ8OOemQeXoVqFZJ5JmSnFYqlN8\/qih0hXuqrT7LNtPRO7JzTzAH4fzHor5ZWQ\/Y+uWu4uGC5NAIA24+Xxzj\/qWgqblQ0hxUVcMR7nPAKTWd1xJUJ2hhk845fHsSlXX24y2q0y1kMQlezAAdnAycZOFEqNYWSAbVLpT3RsJ+Z2VZXaqiutDNTU9pq5mStLS7h5dx2ykYSvmiNXaaeFqMs\/U1NHVR1tHFVRfglYHDwyuywOnbte\/Yfs+2UcU3Yk5dIccHESe8eKtjatU1zQam7R0oO\/DDzHhtj6rsqdnmyNPanOCcYtv29Thr\/idDQsB\/E9w39F705qG3UOnYY6ysDZIy4cGC5wGSRsPNVV4sLKK5UEVVXy1LqqT72SQ44W7AnfPj1Ua1SxxslpaWzitru2PC+QcbWt2xkcs5zvtzVqinBIwurOO0OdrN5c+XIsavWrxeBPSdpJRsjwYnAN4nb753ONwq+O4XS+6hM9A1kFRJGWbEYDevPwXQWueXVVJR3jheZWguZEeENGDhu3Ll0V1TQQw6\/dFTMZGyKm3YwYA2H6hd7sdFwOJVqr78ssVuv4KrTWm6O5S1Ta2SQyUsvA6OM4B58zz6HuW0obTQW1oFJSxxkDHHjLj5nmqKlP2brypgILY66Ljbk83c8\/EOWpVNSTbN2yUoRi8s02j45oc0tcAQRgg9VS3DSVqrnGRsJppcbPg93fvxyV2irUmtDXOnCatJXMt9gX637229GRjdxHP9N8j6L79s6jt\/u19nFS0HeSA9O84zj5LUL4SAMk4AU8d9UUfx8O5Jr3XuZ+m1pbJJBFUsnpJM4Pas2Hw9OnVXsFRDUxNlgkbIxwyHNOVn71qCwcDoZo47hK04EbWcWD\/AM3Iei+aTt1TTSVFUYHUlNPvHTOcSW+OTv8AELrisN9CFOtPtMF1Lw4ePA0qIiqNoREQBERAFnbvqKT2oWyysFTWuOHOG7Y+\/wBfkF41Bd6iepbZLSS6ql2lkaf6MefTx7lZWSx01lpRHEA+Zw+8lI3cfyHgrElFXZllOVWThTyS1f2XUiWbTEVG\/wBsr3e11z93Pf7wafDPXxV8iKDk27sup0401aKCIi4WBERAU2q6Q1en6gNaXPixK0DwO\/yyon8oX0+kqavhhM0vAGEOzgOGzifgStGQCMEZBWW0m1scl1s8wEkcExwx+4LSSDsemw+KtjbDnwMdVNVVhdsSt5rNFVdKK5XKx\/bVXc45hFhzIohs3JAO+2CPyVzZ9LWWe3wVb4pJ3TMDyZJDsSNxtjluuF005XUUdQ+yyF9POCJaM8sEHlv48ufmu+irlBNaW0Rnb28LjiMnDi075HfzKnJvBeLMtOnFV8NSObXHO76F1BaLbTYMNDTsI6iMZ+KmLmZ4WzNgdKwSuGWsLhxEeXoV7c4NaXOIAAySeiod3qepFRWhkLaH23XtVTbiOrDngcgc+8D49R8VoLreqK0RF9TKOMjLYm7ud5D81jdUXqCpvMFTbJSJKYcBqANic7Y7xz81o7Tpinp5BXV0hrqxx4u0kyWg9MA8\/M\/JXSSspSPOo1JXlTpZ568En9TN3Gas1Bd7f7dAaWmqJOCFo\/Fw5GTv9Vb2Wnjs+say3xAtglhDowTzxg9efNy66j\/4msf+Kfq1fNRj2C\/2u6gAN4+xkdnkD+4uUr3SXNEMGCcpt3aaz6Wz+pW6mqBSa0o6guDRG2MknoOI5+Ss7We311c5wfdbCGAZz\/Z\/+T8VBu1vN51bW0uznRUoLBnk7AI8t3eW6uNNWWotftM1YWGactGGOJDQBy+eOvJck0odbHacZyrvLLFf0uiJq3NHXWu6t2EM3A89SDv9A74rTggjIOQVU6oo\/bNP1TAMujb2jf8ALufllQKLVtvp7FSyVcxfOGBro2DicSNsnp0zv3quzlFWNOONKtLE7JpP7GmXCrrKahhM1VOyFg6uOM+Xes4bpqG9ScNso\/Yac\/187dyO8Z\/IHzXak0bTdoZ7pUSV87uZc4gfXJ+PomFLeZLt5T\/xRv1eS+TzLqqeukdT2GgkqnjbtnjhYPj+eFzGmrpduCS+XNxaDn2eIAAevLPofNaaCCGmiEUETIo28msGAF0THbdQ\/juf+V36aL98SBbrLb7U3FJTta483ndx9VPRFBtvU0Rioq0VYIiLhIIiIAqTUt4fb6ZlLSguras8EIbzbyGfnsrapqIqSllqZncMcTS5x8As3p2lddrnPqGqZs9xbTMcPwgbZ9MY88qcEt5mavNu1OGr9lzLLT1lZaKIdoA6rl96aTmSe7Ph81boii227suhCMIqMdAiIuEwiIgCIiALK3L\/AHLrCmuJcW09cOzl7gcAb\/8AafQrVLPa27D+T7jM3L+0aIiOjv8ATKnT3rczNtK\/rxcVn6Hi63ytqbn9kWNrHTgZlmO7WDHTyzz79lnrLpt1xmr4xWPgqqOTgDgNidx59CrnQTqM0EwjjAqmv+8cebmnl6c1WUd2q6O9XeC203tNRV1LuzI3DQHO3+Y8Fcrq8YnnzwzwVarunfLl0XUiz1d1s+oKR91lfI+mxg5B4oySDv15u57q6DLpq+QGUPobWNwB+KX9fp5qk1DaK6lfSS1tSamsrC4EDfhxw4A+Kk2K719moWVTg+rtrnFj2g7wu\/LmPA571Nq8U1qVQlhqOnUvh1\/9LPV9tpaDTUEVLEI2xzt5Dd3unmepU\/SNydW2v2abaekPZuB6gcj+Xooera2nuGloqmmkD43zNwe7Y7HxXm4QzafuLL7SxGWCZgbUxgfh5b+uB6+aqteFnqa2+zrucd1JX8Ofkdr599rCzQ8uDL8+uf8A1UzVtE6ssMpjGZICJW4G+3PHoqUXqgrNVtuclUIqWlg4Wh\/NxIPIDOdz8lLl1RV3OQ09jtpnB2dLM33fhnHxPomGSa6BVKUlUTe88ra6WOOlatlbd6+5THhPYsDpHnGNgD\/4hWVbq+200nY0\/HWzHYNgGQT5\/plVdv0NLwFtxrSIy7iMNOdie8kjHyWmobTQW1oFJSxxkDHHjLj5nmuTcL31J0I7Rgw6dePoZ40+o9RH+cu+zKM\/1YBD3DxHM+uB4LnpegpKW9XC3VFPFLNTu44pHtBdw9\/hzb8VsVl7mPs7W1BW7iOrZ2Tznbi5fm34JGTknEVKKpuNRu7vnfrkahERUnoBERAEREAREQBERAZnVsz6mWhssLsGrlBk3x7oP65P+VaGmp4qSlipoW8McTQ1o8As7TA12vqiYkcFFDwN78nb83LTqyWSSMtHvTnUfO3kvyERfHODWlziAAMknoqzUfUVFcNX2yjPBC81kpzhsG49T+mVD9p1RegWwU7LXA79t+ePH1+Q81NQeryM8tpgnaOb6F\/V3KioB\/O6qKE4zhztyPLn0VLNrai7Qx0VLUVjuhY3AP5\/Je6HR1BDiWuc+unzkukJ4c+Wd\/XKvIKaCljEdPCyJg\/ZY0ALvcXUj\/qJ8o+7+DO\/yiv0v9DpyVn+IT+gT7c1J\/8AgfMrTouYlyO9jU\/7H7fBnaXVTxVx0d0t0tFLIcB7j7nnvjb4rlrhw9jomucGt9pBJJ5YHP5qdqulZU6dqeMDMQEjCehH7sj1WbpbddNWUInqKkRw07BHC3+24AZJ\/VWRUcpaGWtKok6O82svyU0lU2K6VDqWeampKpzml4Zv2Zdvt6LXaFonQW2apfGWdu\/3C4blo8eo3WfvduucdJFJXCkZHSNETGxPAc4Zxy6\/v814N5rLdTso7XdHTQOGWtEWHR53xkjnz5bK2SxxsjFSkqFXFNPL79DS3RzLnq63UsRDxREyyOH7Lsg4z3+7y\/gcKB8Vh1NX0FU+OOjqmGaPjwG9dvhxD0UGy2\/UbYHeywR0Zl3fUzj7x47t8\/RdbtpGpbQSV0tdNXVUQyQ7O7e4cztuVCyXdbNN6kl2sYO97+VrW65FNf22oVfDZppHiQjjja33M9OHqfn5qxfe7peaoWqSeK1M4eF4ky0npgk9fDZe6GOK+3OiipLc2kp6PDqkcIGXdRnmeXXfyWqu1korzDwVMf3jQQyVuzmfr5FdlJKyZGlQnUUpweT4LJP7kCh0ZaqU8c7X1cnMmU7Z8h+eVfMYyNgZG0Ma0YDWjACyjKy7aXmEVwzW24kBtR+0zkO\/5H0K0lFcKS4wCaknZK3rg7t8COipni1bub9ndJd2Kwvlx\/JJREVZqCotYUAq7HJMB97SntGHOMDr8voFery9jZI3RvaHNcCHA9QuxdncrqQVSDi+JFtNb9o2qnq9sysBdjlxcj8wVMWX0jI+jqq+ySvLnUzy6PI5tzgn6H1WoXZq0iNCbnTTevHxCIiiXBERAEREAREQGUqpH6b1HU3GaCSSjrAAXsH4DkZz\/AznZSpNb2ZjA5r5pCf2Wx7j44WgIBGCMgrLXmtIuEdnsNPAyrf\/AEkrGAdkOeM427z+qtjaWqMNRToJuMsnwtd3fI9HVNfcPcs1omkyMdrMMNB+nLxXkaaul24JL5c3FoOfZ4gAB68s+h81paWOSGlijmlMsjGAPkIxxHG5XVcx23UWLZ8edWTfTRexDobTQW1oFJSxxkDHHjLj5nmpiIoN31NMYqKskERFw6ERc5poqeF80zwyNgy5zjsAg0KXWNT2FgkhafvKl7Y2Aczvk7eQx6qHDoqI00bTXVUIc1pfE123FgZ+eV8oGv1PfPtKZh+z6QltOx7dnnv\/AD9AFq1a5OCsjFGnGvJ1JLLRfJnY9EWeMHImkOCBxv8ADnsAo2j3to6irtFRFG2qp3lweGgF7fPr+hWrWW1NCbZdaK\/RZAZII5+Ec2\/6ZHwSMnK8Wcq0oUbVIK1tfBmpReWPbJG2Rjg5rgC0jqF6VRuPLWtYMNaGjwGF6REB5c1r2lr2hzTzBGQVma+wVdqqPb9O+4cfeUxOWu8s\/T4LUIpRk4lVSlGos9efFFPZNRUt3HYkGGraPfhdtv1x3q4VNetNUl2ImBNPVN\/DLGOZ6Z7\/AKqvgvtwsc7aS\/xl8ROGVjBkEeIA3+vmpYVLOPoUqrKllV05\/PL6GpRc4ZoqiFk0Lw+N4y1zTsQuirNeplL477G1TRXfBEEw7KY527vpg\/5VqgQRkHIKr79bvtSzz0waDIRxR56OHL9PVR9K3A3CxxcZ+9g+5fnnkcvlhWPOKfIyw\/rrOPCWa8eJcoiKs1BERAEREAREQFXqC7C0WuSdpHbO92IHByfLPRcdM2b7Kt\/aTDiq6j35XEe83P7Pp9VC1OBNfbJTvyWGbJGdju3n\/HetOrHlFLmZYrHWk3\/tyXnqERFWagiIgCIvEs0cETpZntjjYMuc44ACDQ+uc1jC97g1rRkknAAWTq5pdX3JlHSFzbXA7M0o27Q+H5epXOaar1lXGmpi+C1Qu+8kxgyH9e4dOZ6Baujo6egpmU9NEI42DYD6nvKt3PEx3e0Oy3Pr+D3DDFTwshhYGRsGGtaNgF0RFUbNAo9fRR3GhmpJvwSt4c9x6H0OCpCJocaTVmZ3SVXIIJ7TUv4p6GQsG3NoONu\/B+oWiWWrSbPranq+E9hcGCJ56B2w\/JvxK1KnPW\/Mz7O2ouD1i7fHsERFA0hERAFyqKaCrhMNTCyWM82vGQuqIcaTyZlJbPc9OyOqbJI6opeb6WTLnc+gH+vmra0aho7v92wmGpGeKB\/4hjn5q1VLedM0l0zPGPZ6sZLZWADiP97v8+asxKW8ZXSnSzpacvjkXSyrCNP6wfG52KS5+83ubJn9Sf8AqCQ6guFkmbSX+AvZnDauMEg7eW\/18F61XJBcLCyvoZmSOpZWyB7HZLQTj64+ClGLTs9GV1asZwxR3o5249fY1CLhRVIrKGCpAwJY2vx3ZC7qk3Jpq6CIiHQiIgCIiAzesGuphQXVjeL2OcFwA5gkHn6Y9VoIZmVEEc8ZyyRoc094IyF4rKSOuo5aWYZZK0tPh4rMW671GnJ22i8tPYg4p6lo24fHw+YViWKNlqjJKXY1XKW7L2f5NciixXOgmbxRV1O8f3ZWnHzXyW62+AZlrqdnnKFCzNOONr3JaKgrNZWqnHDTufVyHk2Ju3qT+WVCM2p787hij+yqU4y454z5Hn8MKSg+ORRLaYXtDvPp+2Lm73+hszP5xJxTEZbCzdx\/QeJVJFbrnqmZtTdeKkoW7x07di7z\/U+itbZpegt8hnk4qupJyZZ98HvA\/wBSrldxKO6R7KdV3q5Ll8s5U9PDSQNgp42xxsGA1oXVEVZqStkgiIh0IiICj1fQ+2WKWRg+9pvvWkdAOfyyfRT7PX\/adqp6vADpG+8B0cNj81Lexskbo3tDmuBDgeoWX0hIaGrr7JK734JS6PIwXDkT\/wCJ9VYs4eBll3K6fCWXmtDVIiKs1BERAEREAREQHOeCKpiMU0bZGO5tcMrPVmiqSSV0tBUy0LnAghnvNwee2QfTK0qKSk46FVSjTqbyuRrfRR26ijpIiSyMYGSpKIo6liSSsgiIh0IiIAiIgC5z08NVEYaiJksbubXtyCuiIGr5MoZNGWV7iRA9gPRshx819i0bZIjk0zpP+eR35K9RTxy5lH8eje+FehFpbbRUW9LSxRHva3BUpEUL3LkklZBERDoREQBERAEREAWV1GH2i\/UV8jH3RxFPgdO\/4f8AiFqlFuNDFcqCWkmGWyD4HofipQdmU16bnCy11XiSWuDmhzSCCMgjqvqydgvs9LLDYqummkqWPLOPoG9Dvvgb+gWsSUXFnaVWNWN0ERFEtCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgPPZs4+04G8f9rG69Ii6yMeIREXCQREQBERAEREAREQBERAEREAREQH\/\/2Q==",
    "razonSocial": "GESTA SERVICIOS A LA MINERIA SPA.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "PATRICIO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56995426875",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28753\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28753\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28753\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28753\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "16:20",
    "ubicacionGPS": "LatLng(lat: -23.5936571, lng: -70.3923821)",
    "horaLlegada": "16:14",
    "horaDespacho": "13:38",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 16:19:59
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-eNdx706Jyb0KD8R2JESKv4zCgoGX966A4Byx.7p4dKMvNw1.yCe
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76132593",
    "serieinterna": "EP2875",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de paquete de tintas, recibe María Flores",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12684",
    "observacion": "•Entrega en oficina antofagasta",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADCAQ4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAwUFBQMJCQEAAAABAAIDBAURBiESMUETUWFxgRQikaGxFSMywdFC4fAWJDNDUmJzgvEHJTZykqKywtJV\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMxEAAgECAwUHBAIBBQAAAAAAAAECAxESITEEMkFRYRMicYGRodGxweHwFCMzJEJSU\/H\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBQbzU1NHaaippGsdLE3iAeMjA59e7JU5eJomTwvhkGWSNLXDwOy6tSMk3FpEKyXEXW0w1WQXkYkA6OHNWCxOjJnUN4rbVK4jcloJ\/aacH4j6LbKU44ZFOzVHUpJvXRhEWcvt7qH1X2NZwX1km0kg5RDz7\/Hp5rkYuTsWVKkacbsn3TUNutQcJpg+UD+ij3d+71VW3UN+rGiShsREZGQZXc\/LllT7PpqjthE8g9prDu6aTf3upGeXnzVypXitFcpUK085Sw9F8mXN41RGOJ9jY4dzTk\/UqZb9V0VXUupahj6GcHHBP7ufDPf4K8VfdbJQ3iMNq4iXNGGSNOHN\/jxTFF6oOnVhnCV+jLBFkY6y46TnFNWMfVWwu9ycDJjB6H9PgtXFNHPE2WJ7ZGO5OacgqMo2LKVVTy0a1R7REUS4IiIAiIgCIiAIiIAiIgCIiAi0typK2eogp5eOSmdwSjhI4TkjqN+R5KUsJZas02uqyPiwyeeVhHeeIkLdqc44WZ9nrdrFt6p2CIigaAiIgCIiAIiIDE3Vn2PrqmrBhkVS4FxxsM+679fVbZZPX9MH26mqQPejl4M+BH7lf2arNdZ6Wpc7ie+IcR73DY\/MFWzzimYqHcrTp+frqQ9TXn7Jt4bCOKqqDwRNB3H970+pC9adsjbRRZlw6rl96aTOd+7P8bqud\/P\/APaCGF5cyig4uHOwOP1etQuS7sUidNdpUdR8Ml9wiIqzUEREBzmhiqIXwzMD43jDmuGxCyZFVoyt4m8c9onduOZiP6\/VbBc5oYqiF8MzA+N4w5rhsQpRlbJ6FNWljzWUlo\/3gKeoiqoGTwSCSN4y1zeRXRZCOSXR92bTyOc+01Jyxzt+yPX+Oo3Wua4OaHNIIIyCOqSjbTQUquNNPJrVH1ERRLgiIgCIiAIiIAiIgCIiA\/MXMMMU1zZtLT3HGRtscn6j5r9MY9skbZGODmuALSOoWJtVH7dY79BjLjKXNx3jcfRaHS1WazT1K5xy6MGN2+fwnA+WFfVzXgeZsXdduav6OxboiKg9MIiIAiIgCIiAqtTU5qtO1kYGSGcYwM\/hIP5Ks0HVGWzy05O8Eu23IEZ+uVpJoxNBJEQCHtLSD4hYbQVR2V0qaV23axcWD3tP7yro502jBVeDaoS5potrWT\/Ly6hx37IYz3e4tOsvW4tmuaaqf7sVdGYy4n9oADHx4fitQoz4PoXbPlijyb98wiIqzSEReWua8Za4OHgcoD0iIgI9dRQXGkfS1LOKN49Qe8eKztgrJ7PcXafuL89aWQ7Bw7vXp45C1Sp9R2f7VoeKH3auA8cLxsc92fH64U4tbr0M1aDuqkNV7rkXCKn05ehd6IiX3auDDZmEY37\/AFx6K4UWmnZl0JxnFSjowiIuEwiIgCIiAIiIAiIgMxo73Ki7Qn8TKnf5j8l803\/u2\/XOz8mcXbRDHTz8i34FfbIDTaxvFNjAkAl898\/+y86nhdbbpR36EY4HiOcD9pv+mR8Fe85NczzI9ylGf\/Fu\/hfM1KLyx7ZI2yMcHNcAWkdQvSoPTCIiAIiIAipNVXWotNrbLSlgkkk4MuGcDB3HjyVlb6xtfb4KtowJWB2M5weo+KlhdrlaqRc3DiiSvzOmldaNWvmDcRw1TmPwCQGuJH0X6YsDdqFs18vdNj+oFSzH9poaT8i5WUnqmY9ui7QktU\/36Gl1Rb4K60PdLIyGSD34pHOwAe7PiqSh1vO+mgphQSVdYfddwuxx+OwPRRqOGnrqCO6aiubnwNHDFTB2C7h25D15fFVd3udPcqiJtvtzaZsPuxuZntCByzjb6nxVkYLdeZlrbRJPtIvDfhxfwX9fqDUdIzjqKajo24\/bcC4+Q4sn4KuZqHUkzGymsjp4ncnyMjaD4jIyfTKqprfcqeMVNXSStbMc9tKwuI8\/3rUWO0WCueyWSvdcKnhBMcrsf9p3OPMhdajFXsVxlWqzwqTXi7fvoUDI73qCpMTJ5asZIL+IiMY88Y59yv6C26qs0DoKX2SWMvL93ZyT547lrIYYqeMRwRMiYOTWNAA9AuiqlVvklkb6exKPecnfmZf7Y1TDn2ixxv8A8I9PQlema0jhfwXK2VVG7ONxn64K0y8vYyRhY9oc08w4ZBUcUeKLuyqrdm\/NJ\/BCor5bLjgU1ZG5x\/YJ4XfA7qeqSv0laK2MhtOKZ\/MPh93HpyUH7K1FaHB1urxWw5x2VQTkDbx8Oh9EwxejOdpWhvxv1XwLzSzWO7tv1FG58L9quJvd3\/x1HitJT1EdVTsnidxMkGQVmn6nuETXRXKwThrwRlmSCD05efVe9Gtq2NrGugfDRGTigbJsW53x8CFKUXhu+BVSqxVXDDR8LaP8mnREVJvCIiAIq27X6hszB7TITI4e7Ezdx\/T1VI2o1FqJw7Bn2ZRE\/jP4nD6n0wPFTUG1fgUTrxi8KzfJfuRqH1VPHM2F88bZHnDWOeA53kF1VFbtI2+hmjne6WpnjcHB0jtg4dQB6c88lerjtwJ03Nq81YIiKJYZipHsv+0GleOVVTkOOeoB\/wDkK7u1C25WuopCATIw8Gejuh+OFR6v\/m9Xaq\/PCIZ8OOemQeXoVqFZJ5JmSnFYqlN8\/qih0hXuqrT7LNtPRO7JzTzAH4fzHor5ZWQ\/Y+uWu4uGC5NAIA24+Xxzj\/qWgqblQ0hxUVcMR7nPAKTWd1xJUJ2hhk845fHsSlXX24y2q0y1kMQlezAAdnAycZOFEqNYWSAbVLpT3RsJ+Z2VZXaqiutDNTU9pq5mStLS7h5dx2ykYSvmiNXaaeFqMs\/U1NHVR1tHFVRfglYHDwyuywOnbte\/Yfs+2UcU3Yk5dIccHESe8eKtjatU1zQam7R0oO\/DDzHhtj6rsqdnmyNPanOCcYtv29Thr\/idDQsB\/E9w39F705qG3UOnYY6ysDZIy4cGC5wGSRsPNVV4sLKK5UEVVXy1LqqT72SQ44W7AnfPj1Ua1SxxslpaWzitru2PC+QcbWt2xkcs5zvtzVqinBIwurOO0OdrN5c+XIsavWrxeBPSdpJRsjwYnAN4nb753ONwq+O4XS+6hM9A1kFRJGWbEYDevPwXQWueXVVJR3jheZWguZEeENGDhu3Ll0V1TQQw6\/dFTMZGyKm3YwYA2H6hd7sdFwOJVqr78ssVuv4KrTWm6O5S1Ta2SQyUsvA6OM4B58zz6HuW0obTQW1oFJSxxkDHHjLj5nmqKlP2brypgILY66Ljbk83c8\/EOWpVNSTbN2yUoRi8s02j45oc0tcAQRgg9VS3DSVqrnGRsJppcbPg93fvxyV2irUmtDXOnCatJXMt9gX637229GRjdxHP9N8j6L79s6jt\/u19nFS0HeSA9O84zj5LUL4SAMk4AU8d9UUfx8O5Jr3XuZ+m1pbJJBFUsnpJM4Pas2Hw9OnVXsFRDUxNlgkbIxwyHNOVn71qCwcDoZo47hK04EbWcWD\/AM3Iei+aTt1TTSVFUYHUlNPvHTOcSW+OTv8AELrisN9CFOtPtMF1Lw4ePA0qIiqNoREQBERAFnbvqKT2oWyysFTWuOHOG7Y+\/wBfkF41Bd6iepbZLSS6ql2lkaf6MefTx7lZWSx01lpRHEA+Zw+8lI3cfyHgrElFXZllOVWThTyS1f2XUiWbTEVG\/wBsr3e11z93Pf7wafDPXxV8iKDk27sup0401aKCIi4WBERAU2q6Q1en6gNaXPixK0DwO\/yyon8oX0+kqavhhM0vAGEOzgOGzifgStGQCMEZBWW0m1scl1s8wEkcExwx+4LSSDsemw+KtjbDnwMdVNVVhdsSt5rNFVdKK5XKx\/bVXc45hFhzIohs3JAO+2CPyVzZ9LWWe3wVb4pJ3TMDyZJDsSNxtjluuF005XUUdQ+yyF9POCJaM8sEHlv48ufmu+irlBNaW0Rnb28LjiMnDi075HfzKnJvBeLMtOnFV8NSObXHO76F1BaLbTYMNDTsI6iMZ+KmLmZ4WzNgdKwSuGWsLhxEeXoV7c4NaXOIAAySeiod3qepFRWhkLaH23XtVTbiOrDngcgc+8D49R8VoLreqK0RF9TKOMjLYm7ud5D81jdUXqCpvMFTbJSJKYcBqANic7Y7xz81o7Tpinp5BXV0hrqxx4u0kyWg9MA8\/M\/JXSSspSPOo1JXlTpZ568En9TN3Gas1Bd7f7dAaWmqJOCFo\/Fw5GTv9Vb2Wnjs+say3xAtglhDowTzxg9efNy66j\/4msf+Kfq1fNRj2C\/2u6gAN4+xkdnkD+4uUr3SXNEMGCcpt3aaz6Wz+pW6mqBSa0o6guDRG2MknoOI5+Ss7We311c5wfdbCGAZz\/Z\/+T8VBu1vN51bW0uznRUoLBnk7AI8t3eW6uNNWWotftM1YWGactGGOJDQBy+eOvJck0odbHacZyrvLLFf0uiJq3NHXWu6t2EM3A89SDv9A74rTggjIOQVU6oo\/bNP1TAMujb2jf8ALufllQKLVtvp7FSyVcxfOGBro2DicSNsnp0zv3quzlFWNOONKtLE7JpP7GmXCrrKahhM1VOyFg6uOM+Xes4bpqG9ScNso\/Yac\/187dyO8Z\/IHzXak0bTdoZ7pUSV87uZc4gfXJ+PomFLeZLt5T\/xRv1eS+TzLqqeukdT2GgkqnjbtnjhYPj+eFzGmrpduCS+XNxaDn2eIAAevLPofNaaCCGmiEUETIo28msGAF0THbdQ\/juf+V36aL98SBbrLb7U3FJTta483ndx9VPRFBtvU0Rioq0VYIiLhIIiIAqTUt4fb6ZlLSguras8EIbzbyGfnsrapqIqSllqZncMcTS5x8As3p2lddrnPqGqZs9xbTMcPwgbZ9MY88qcEt5mavNu1OGr9lzLLT1lZaKIdoA6rl96aTmSe7Ph81boii227suhCMIqMdAiIuEwiIgCIiALK3L\/AHLrCmuJcW09cOzl7gcAb\/8AafQrVLPa27D+T7jM3L+0aIiOjv8ATKnT3rczNtK\/rxcVn6Hi63ytqbn9kWNrHTgZlmO7WDHTyzz79lnrLpt1xmr4xWPgqqOTgDgNidx59CrnQTqM0EwjjAqmv+8cebmnl6c1WUd2q6O9XeC203tNRV1LuzI3DQHO3+Y8Fcrq8YnnzwzwVarunfLl0XUiz1d1s+oKR91lfI+mxg5B4oySDv15u57q6DLpq+QGUPobWNwB+KX9fp5qk1DaK6lfSS1tSamsrC4EDfhxw4A+Kk2K719moWVTg+rtrnFj2g7wu\/LmPA571Nq8U1qVQlhqOnUvh1\/9LPV9tpaDTUEVLEI2xzt5Dd3unmepU\/SNydW2v2abaekPZuB6gcj+Xooera2nuGloqmmkD43zNwe7Y7HxXm4QzafuLL7SxGWCZgbUxgfh5b+uB6+aqteFnqa2+zrucd1JX8Ofkdr599rCzQ8uDL8+uf8A1UzVtE6ssMpjGZICJW4G+3PHoqUXqgrNVtuclUIqWlg4Wh\/NxIPIDOdz8lLl1RV3OQ09jtpnB2dLM33fhnHxPomGSa6BVKUlUTe88ra6WOOlatlbd6+5THhPYsDpHnGNgD\/4hWVbq+200nY0\/HWzHYNgGQT5\/plVdv0NLwFtxrSIy7iMNOdie8kjHyWmobTQW1oFJSxxkDHHjLj5nmuTcL31J0I7Rgw6dePoZ40+o9RH+cu+zKM\/1YBD3DxHM+uB4LnpegpKW9XC3VFPFLNTu44pHtBdw9\/hzb8VsVl7mPs7W1BW7iOrZ2Tznbi5fm34JGTknEVKKpuNRu7vnfrkahERUnoBERAEREAREQBERAZnVsz6mWhssLsGrlBk3x7oP65P+VaGmp4qSlipoW8McTQ1o8As7TA12vqiYkcFFDwN78nb83LTqyWSSMtHvTnUfO3kvyERfHODWlziAAMknoqzUfUVFcNX2yjPBC81kpzhsG49T+mVD9p1RegWwU7LXA79t+ePH1+Q81NQeryM8tpgnaOb6F\/V3KioB\/O6qKE4zhztyPLn0VLNrai7Qx0VLUVjuhY3AP5\/Je6HR1BDiWuc+unzkukJ4c+Wd\/XKvIKaCljEdPCyJg\/ZY0ALvcXUj\/qJ8o+7+DO\/yiv0v9DpyVn+IT+gT7c1J\/8AgfMrTouYlyO9jU\/7H7fBnaXVTxVx0d0t0tFLIcB7j7nnvjb4rlrhw9jomucGt9pBJJ5YHP5qdqulZU6dqeMDMQEjCehH7sj1WbpbddNWUInqKkRw07BHC3+24AZJ\/VWRUcpaGWtKok6O82svyU0lU2K6VDqWeampKpzml4Zv2Zdvt6LXaFonQW2apfGWdu\/3C4blo8eo3WfvduucdJFJXCkZHSNETGxPAc4Zxy6\/v814N5rLdTso7XdHTQOGWtEWHR53xkjnz5bK2SxxsjFSkqFXFNPL79DS3RzLnq63UsRDxREyyOH7Lsg4z3+7y\/gcKB8Vh1NX0FU+OOjqmGaPjwG9dvhxD0UGy2\/UbYHeywR0Zl3fUzj7x47t8\/RdbtpGpbQSV0tdNXVUQyQ7O7e4cztuVCyXdbNN6kl2sYO97+VrW65FNf22oVfDZppHiQjjja33M9OHqfn5qxfe7peaoWqSeK1M4eF4ky0npgk9fDZe6GOK+3OiipLc2kp6PDqkcIGXdRnmeXXfyWqu1korzDwVMf3jQQyVuzmfr5FdlJKyZGlQnUUpweT4LJP7kCh0ZaqU8c7X1cnMmU7Z8h+eVfMYyNgZG0Ma0YDWjACyjKy7aXmEVwzW24kBtR+0zkO\/5H0K0lFcKS4wCaknZK3rg7t8COipni1bub9ndJd2Kwvlx\/JJREVZqCotYUAq7HJMB97SntGHOMDr8voFery9jZI3RvaHNcCHA9QuxdncrqQVSDi+JFtNb9o2qnq9sysBdjlxcj8wVMWX0jI+jqq+ySvLnUzy6PI5tzgn6H1WoXZq0iNCbnTTevHxCIiiXBERAEREAREQGUqpH6b1HU3GaCSSjrAAXsH4DkZz\/AznZSpNb2ZjA5r5pCf2Wx7j44WgIBGCMgrLXmtIuEdnsNPAyrf\/AEkrGAdkOeM427z+qtjaWqMNRToJuMsnwtd3fI9HVNfcPcs1omkyMdrMMNB+nLxXkaaul24JL5c3FoOfZ4gAB68s+h81paWOSGlijmlMsjGAPkIxxHG5XVcx23UWLZ8edWTfTRexDobTQW1oFJSxxkDHHjLj5nmpiIoN31NMYqKskERFw6ERc5poqeF80zwyNgy5zjsAg0KXWNT2FgkhafvKl7Y2Aczvk7eQx6qHDoqI00bTXVUIc1pfE123FgZ+eV8oGv1PfPtKZh+z6QltOx7dnnv\/AD9AFq1a5OCsjFGnGvJ1JLLRfJnY9EWeMHImkOCBxv8ADnsAo2j3to6irtFRFG2qp3lweGgF7fPr+hWrWW1NCbZdaK\/RZAZII5+Ec2\/6ZHwSMnK8Wcq0oUbVIK1tfBmpReWPbJG2Rjg5rgC0jqF6VRuPLWtYMNaGjwGF6REB5c1r2lr2hzTzBGQVma+wVdqqPb9O+4cfeUxOWu8s\/T4LUIpRk4lVSlGos9efFFPZNRUt3HYkGGraPfhdtv1x3q4VNetNUl2ImBNPVN\/DLGOZ6Z7\/AKqvgvtwsc7aS\/xl8ROGVjBkEeIA3+vmpYVLOPoUqrKllV05\/PL6GpRc4ZoqiFk0Lw+N4y1zTsQuirNeplL477G1TRXfBEEw7KY527vpg\/5VqgQRkHIKr79bvtSzz0waDIRxR56OHL9PVR9K3A3CxxcZ+9g+5fnnkcvlhWPOKfIyw\/rrOPCWa8eJcoiKs1BERAEREAREQFXqC7C0WuSdpHbO92IHByfLPRcdM2b7Kt\/aTDiq6j35XEe83P7Pp9VC1OBNfbJTvyWGbJGdju3n\/HetOrHlFLmZYrHWk3\/tyXnqERFWagiIgCIvEs0cETpZntjjYMuc44ACDQ+uc1jC97g1rRkknAAWTq5pdX3JlHSFzbXA7M0o27Q+H5epXOaar1lXGmpi+C1Qu+8kxgyH9e4dOZ6Baujo6egpmU9NEI42DYD6nvKt3PEx3e0Oy3Pr+D3DDFTwshhYGRsGGtaNgF0RFUbNAo9fRR3GhmpJvwSt4c9x6H0OCpCJocaTVmZ3SVXIIJ7TUv4p6GQsG3NoONu\/B+oWiWWrSbPranq+E9hcGCJ56B2w\/JvxK1KnPW\/Mz7O2ouD1i7fHsERFA0hERAFyqKaCrhMNTCyWM82vGQuqIcaTyZlJbPc9OyOqbJI6opeb6WTLnc+gH+vmra0aho7v92wmGpGeKB\/4hjn5q1VLedM0l0zPGPZ6sZLZWADiP97v8+asxKW8ZXSnSzpacvjkXSyrCNP6wfG52KS5+83ubJn9Sf8AqCQ6guFkmbSX+AvZnDauMEg7eW\/18F61XJBcLCyvoZmSOpZWyB7HZLQTj64+ClGLTs9GV1asZwxR3o5249fY1CLhRVIrKGCpAwJY2vx3ZC7qk3Jpq6CIiHQiIgCIiAzesGuphQXVjeL2OcFwA5gkHn6Y9VoIZmVEEc8ZyyRoc094IyF4rKSOuo5aWYZZK0tPh4rMW671GnJ22i8tPYg4p6lo24fHw+YViWKNlqjJKXY1XKW7L2f5NciixXOgmbxRV1O8f3ZWnHzXyW62+AZlrqdnnKFCzNOONr3JaKgrNZWqnHDTufVyHk2Ju3qT+WVCM2p787hij+yqU4y454z5Hn8MKSg+ORRLaYXtDvPp+2Lm73+hszP5xJxTEZbCzdx\/QeJVJFbrnqmZtTdeKkoW7x07di7z\/U+itbZpegt8hnk4qupJyZZ98HvA\/wBSrldxKO6R7KdV3q5Ll8s5U9PDSQNgp42xxsGA1oXVEVZqStkgiIh0IiICj1fQ+2WKWRg+9pvvWkdAOfyyfRT7PX\/adqp6vADpG+8B0cNj81Lexskbo3tDmuBDgeoWX0hIaGrr7JK734JS6PIwXDkT\/wCJ9VYs4eBll3K6fCWXmtDVIiKs1BERAEREAREQHOeCKpiMU0bZGO5tcMrPVmiqSSV0tBUy0LnAghnvNwee2QfTK0qKSk46FVSjTqbyuRrfRR26ijpIiSyMYGSpKIo6liSSsgiIh0IiIAiIgC5z08NVEYaiJksbubXtyCuiIGr5MoZNGWV7iRA9gPRshx819i0bZIjk0zpP+eR35K9RTxy5lH8eje+FehFpbbRUW9LSxRHva3BUpEUL3LkklZBERDoREQBERAEREAWV1GH2i\/UV8jH3RxFPgdO\/4f8AiFqlFuNDFcqCWkmGWyD4HofipQdmU16bnCy11XiSWuDmhzSCCMgjqvqydgvs9LLDYqummkqWPLOPoG9Dvvgb+gWsSUXFnaVWNWN0ERFEtCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgPPZs4+04G8f9rG69Ii6yMeIREXCQREQBERAEREAREQBERAEREAREQH\/\/2Q==",
    "razonSocial": "GESTA SERVICIOS A LA MINERIA SPA.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "PATRICIO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56995426875",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28753\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28753\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28753\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28753\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "16:20",
    "ubicacionGPS": "LatLng(lat: -23.5936571, lng: -70.3923821)",
    "horaLlegada": "16:14",
    "horaDespacho": "13:38",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 16:19:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76132593

[25/05/2026 16:19: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('76132593', 'EP2875', 2, 24456550, 0, NOW(), 
				'13:38', '16:14', '16:20', 10, '•Entrega de paquete de tintas, recibe María Flores', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779740399.png', '•Entrega en oficina antofagasta', null, 'COMPLETADO','LatLng(lat: -23.5936571, lng: -70.3923821)' )
				
[25/05/2026 16:19:59] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200419
[25/05/2026 16:19:59] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200419', 'EPS-I302', 1)
				
[25/05/2026 16:19:59] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28753 and
				    IDproducto = 'EPS-I302'
				

25/05/2026 16:19:59 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I302';
                [25/05/2026 16:19:59] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200419', 'EPS-I304', 2)
				
[25/05/2026 16:19:59] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28753 and
				    IDproducto = 'EPS-I304'
				

25/05/2026 16:19:59 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I304';
                [25/05/2026 16:19:59] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200419', 'EPS-I303', 2)
				
[25/05/2026 16:19:59] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28753 and
				    IDproducto = 'EPS-I303'
				

25/05/2026 16:19:59 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I303';
                [25/05/2026 16:19:59] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200419', 'EPS-I305', 2)
				
[25/05/2026 16:19:59] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28753 and
				    IDproducto = 'EPS-I305'
				

25/05/2026 16:19:59 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I305';
                
25/05/2026 16:19:59 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200419'                    
				WHERE idllamado = 12684			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


25/05/2026 16:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16:19:59 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12684			
				
25/05/2026 16:19:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16:20:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12684
                

25/05/2026 16: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 = 12684
                

25/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

[25/05/2026 16:20:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:20:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16:20:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16:20:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16:20:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

[25/05/2026 16:20:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:20:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16:20:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:20:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:20:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:20:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:20:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

[25/05/2026 16:20: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;
                

[25/05/2026 16:20: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;
                

25/05/2026 16:20:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:20:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16:20:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12684
            GROUP BY l.idllamado;
            

25/05/2026 16:20:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:20:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:20:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:20:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:20:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:20:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                

25/05/2026 16:20:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12684
                
[25/05/2026 16:21:05] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 16:21:05] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 7373114 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '7373114'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 16:21:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:32: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;
                

25/05/2026 16: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 = 12200
                

[25/05/2026 16:32: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;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:32: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;
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

[25/05/2026 16:32: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;
                

25/05/2026 16: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 = 12200
                

[25/05/2026 16:32: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;
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:32:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:32: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;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:32:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

[25/05/2026 16:32: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;
                

25/05/2026 16:32:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:32: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;
                

[25/05/2026 16:32: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;
                

25/05/2026 16:32:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:32:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:32: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;
                

[25/05/2026 16:32: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;
                

[25/05/2026 16:32: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;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:32:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16:32:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16:32:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

[25/05/2026 16:32:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:32:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:32:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:32:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

[25/05/2026 16:32:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:32:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:32:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

[25/05/2026 16: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;
                

[25/05/2026 16: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;
                

25/05/2026 16:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

[25/05/2026 16: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;
                

25/05/2026 16:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

[25/05/2026 16: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;
                

[25/05/2026 16: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;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

[25/05/2026 16: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;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16: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;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

[25/05/2026 16: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;
                

25/05/2026 16:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

[25/05/2026 16: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;
                

25/05/2026 16:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16: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;
                

25/05/2026 16:32:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:32: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;
                

[25/05/2026 16:32: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;
                

25/05/2026 16:32:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:32: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;
                

25/05/2026 16: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 = 12200
                

[25/05/2026 16:32: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;
                

25/05/2026 16:32:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

[25/05/2026 16:32: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;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:32:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:32:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:32: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;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:32:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:34: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;
                

25/05/2026 16:34:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:34: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;
                

25/05/2026 16:34:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:34: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;
                

25/05/2026 16:34:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:34: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;
                

25/05/2026 16:34:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:34: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;
                

[25/05/2026 16:34: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;
                

[25/05/2026 16:34: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;
                

25/05/2026 16:34:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:34: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;
                

25/05/2026 16:34:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:34: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;
                

25/05/2026 16:34:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:34: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;
                

25/05/2026 16:34:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:34: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;
                

25/05/2026 16:34:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:34: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;
                

25/05/2026 16:34:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:34: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;
                

25/05/2026 16:34:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:34: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;
                

[25/05/2026 16:34: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;
                

25/05/2026 16:34:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:34: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;
                

25/05/2026 16:34:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:34:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:34:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:35:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:35: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;
                

[25/05/2026 16:35: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;
                

25/05/2026 16:35:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:35: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;
                

25/05/2026 16:35:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:35: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;
                

25/05/2026 16:35:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:35: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;
                

25/05/2026 16:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:35: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;
                

25/05/2026 16:35:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:35: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;
                

25/05/2026 16:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:35: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;
                

25/05/2026 16:35:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:35: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;
                

25/05/2026 16:35:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

[25/05/2026 16: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;
                

[25/05/2026 16: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;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

[25/05/2026 16: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;
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

[25/05/2026 16: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;
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

[25/05/2026 16: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;
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16: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;
                

25/05/2026 16: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 = 12200
                

[25/05/2026 16: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;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

[25/05/2026 16: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;
                

[25/05/2026 16: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;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

[25/05/2026 16: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;
                

25/05/2026 16:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

[25/05/2026 16: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;
                

25/05/2026 16:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:35: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;
                

25/05/2026 16:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:35: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;
                

[25/05/2026 16:35: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;
                

25/05/2026 16:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:35: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;
                

[25/05/2026 16:35: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;
                

25/05/2026 16:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:35: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;
                

25/05/2026 16:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:35: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;
                

25/05/2026 16:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:35: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;
                

25/05/2026 16:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:35: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;
                

25/05/2026 16:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:35: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;
                

25/05/2026 16:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:35: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;
                

25/05/2026 16:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:35:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

[25/05/2026 16:36: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;
                

25/05/2026 16:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

25/05/2026 16:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 16:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

[25/05/2026 16:36: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;
                

25/05/2026 16:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 16:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 16:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:39:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39: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;
                

25/05/2026 16:39:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39: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;
                

25/05/2026 16:39:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:39: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;
                

25/05/2026 16:39:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:39: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;
                

25/05/2026 16:39:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:39: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;
                

[25/05/2026 16:39: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;
                

25/05/2026 16:39:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39: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;
                

25/05/2026 16:39:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:39: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;
                

25/05/2026 16:39:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:39: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;
                

25/05/2026 16:39:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:39: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;
                

25/05/2026 16:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:39: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;
                

25/05/2026 16:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:39: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;
                

[25/05/2026 16:39: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;
                

25/05/2026 16:39:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:39: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;
                

25/05/2026 16:39:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:39:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:39:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:39:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:39:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39: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;
                

[25/05/2026 16:39: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;
                

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:39: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;
                

[25/05/2026 16:39: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;
                

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:39: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;
                

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39: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;
                

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39: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;
                

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39: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;
                

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39: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;
                

[25/05/2026 16:39: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;
                

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39: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;
                

25/05/2026 16:39:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39: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;
                

[25/05/2026 16:39: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;
                

25/05/2026 16:39:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:39: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;
                

25/05/2026 16:39:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:39: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;
                

[25/05/2026 16:39: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;
                

25/05/2026 16:39:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39: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;
                

[25/05/2026 16:39: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;
                

25/05/2026 16:39:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39: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;
                

25/05/2026 16:39:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39: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;
                

25/05/2026 16:39:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39: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;
                

25/05/2026 16:39:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39: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;
                

25/05/2026 16:39:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:39: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;
                

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39: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;
                

[25/05/2026 16:39: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;
                

[25/05/2026 16:39: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;
                

[25/05/2026 16:39: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;
                

25/05/2026 16:39:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39: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;
                

25/05/2026 16:39:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:39: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;
                

25/05/2026 16:39:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39: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;
                

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39: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;
                

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:39:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:39:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:39:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:39:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:39:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:39:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:39: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;
                

25/05/2026 16:39:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:39: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;
                

25/05/2026 16:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:40: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;
                

[25/05/2026 16:40: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;
                

[25/05/2026 16:40: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;
                

25/05/2026 16:40:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:40:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16:40:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:40:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:40:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:40:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:40:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:40:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

[25/05/2026 16:40: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;
                

25/05/2026 16:40:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:40: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;
                

25/05/2026 16:40:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:40:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16:40:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:40:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:40:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:40:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:40:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:40: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;
                

25/05/2026 16:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

[25/05/2026 16:40: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;
                

25/05/2026 16:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:40: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;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:40: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;
                

[25/05/2026 16:40: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;
                

25/05/2026 16:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:40: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;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:40: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;
                

25/05/2026 16:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:40: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;
                

25/05/2026 16: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 = 12200
                

[25/05/2026 16:41: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;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

[25/05/2026 16:41: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;
                

25/05/2026 16: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 = 12200
                

[25/05/2026 16:41: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;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

[25/05/2026 16:41: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;
                

25/05/2026 16:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:41: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;
                

25/05/2026 16:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:41: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;
                

25/05/2026 16:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:41: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;
                

25/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:41: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;
                

25/05/2026 16:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:41: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;
                

[25/05/2026 16:41: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;
                

25/05/2026 16:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:41: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;
                

25/05/2026 16:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:41: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;
                

25/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:41: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;
                

25/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:41: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;
                

25/05/2026 16:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:41:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:41:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:41:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:41:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:41:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

[25/05/2026 16:41:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:41:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:41:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:41:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:41:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:41:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:41:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:41:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:41:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

[25/05/2026 16:41:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:51:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

25/05/2026 16:51:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

[25/05/2026 16:51: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;
                

[25/05/2026 16:51: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;
                

25/05/2026 16:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 16:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 16:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 16:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 16:51:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

25/05/2026 16:51:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

25/05/2026 16:51:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 16:51:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

[25/05/2026 16:51: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;
                

[25/05/2026 16:51: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;
                

25/05/2026 16:51:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 16:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 16:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                
[25/05/2026 16:55:17] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 16:55:17] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 16:55:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:55: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;
                

25/05/2026 16:55:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:55:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:55:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:55:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:55: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;
                

25/05/2026 16:55:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:55:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:55:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:55:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:55:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:55:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:55:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:55:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:55:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:55:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:55:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

[25/05/2026 16:55:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

[25/05/2026 16:55:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:55:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:55:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:55:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

[25/05/2026 16:55:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16: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 = 12200
                

[25/05/2026 16:55: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;
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:55:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

[25/05/2026 16:55: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;
                

25/05/2026 16:55:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16:55:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:55: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;
                

25/05/2026 16:55:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:55:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:55: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;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

[25/05/2026 16:55: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;
                

[25/05/2026 16:55: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;
                

[25/05/2026 16:55: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;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:55: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;
                

[25/05/2026 16:55: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;
                

[25/05/2026 16:55: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;
                

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:55: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;
                

[25/05/2026 16:55: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;
                

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:55: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;
                

[25/05/2026 16:55: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;
                

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:55: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;
                

25/05/2026 16:55:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:55: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;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

[25/05/2026 16:55:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:55:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:55:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16:55:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16: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 = 12540
                

[25/05/2026 16:55:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12540
                

25/05/2026 16:55:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12540
                

25/05/2026 16:55:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16:55:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16:55:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16:55:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12540
                

25/05/2026 16:55:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12540
                

[25/05/2026 16:55:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12540
                

[25/05/2026 16:55:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:55:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:55:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12540
                

[25/05/2026 16:55:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16:55:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16:55:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16:55:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:55:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16:55:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16: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 = 12540
                

25/05/2026 16:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 16:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 16:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 16:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 16:55:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:55:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 16:55:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 16:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12540
                

[25/05/2026 16:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12540
                

25/05/2026 16:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12540
                

25/05/2026 16:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

[25/05/2026 16:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16: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 = 12540
                

25/05/2026 16:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 16:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                

25/05/2026 16: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 = 12540
                
[25/05/2026 16:58:31] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 16:58:31] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 16:58:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:58: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;
                

25/05/2026 16:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:58:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:58: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;
                

25/05/2026 16:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:58:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:58:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:58:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:58:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:58:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:58:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:58: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;
                

25/05/2026 16:58:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:58:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 16:58:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 16:58: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;
                

[25/05/2026 16:58: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;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

[25/05/2026 16:58:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

[25/05/2026 16:58:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:58:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

[25/05/2026 16:58:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:58:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 16:58:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

[25/05/2026 16:58:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

[25/05/2026 16:58:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

[25/05/2026 16:58:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

[25/05/2026 16:58:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 16:58:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 16: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 = 12200
                

25/05/2026 16:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 16: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 = 12200
                

25/05/2026 17:04:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

[25/05/2026 17:04: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;
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

[25/05/2026 17:04: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;
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

[25/05/2026 17:04: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;
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04: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;
                

25/05/2026 17:04:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04: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;
                

25/05/2026 17:04:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 17:04:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 17:04:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 17:04:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 17:04:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 17:04:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 17:04:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 17:04:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:04:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:04:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:04:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                
[25/05/2026 17:05: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;
                
[25/05/2026 17:05: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;
				

[25/05/2026 17:05: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;
                

25/05/2026 17:05:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:05:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:05:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:05:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 17:05:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:05:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12200
                

25/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

25/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

25/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

25/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

25/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

25/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

25/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:05: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;
                

[25/05/2026 17:05: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;
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

25/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:05: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;
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

25/05/2026 17:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:05: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;
                

[25/05/2026 17:05: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;
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

25/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

[25/05/2026 17:05: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;
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

25/05/2026 17:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

25/05/2026 17:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

25/05/2026 17:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

25/05/2026 17:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

25/05/2026 17:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 17:05: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;
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

[25/05/2026 17:05: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;
                

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

25/05/2026 17:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

25/05/2026 17:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

25/05/2026 17:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 17:05: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;
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

25/05/2026 17:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17:05:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12540
                

25/05/2026 17:05:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17:05:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12540
                

[25/05/2026 17:05: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;
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

[25/05/2026 17:05: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;
                

[25/05/2026 17:05: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;
                

25/05/2026 17:05:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

25/05/2026 17:05:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:05:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:05: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;
                

[25/05/2026 17:05: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;
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                
[25/05/2026 17:24: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;
				
[25/05/2026 17:24: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;
                

[25/05/2026 17:24: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;
                

[25/05/2026 17:24:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:24:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:24:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:24:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 17:24:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 17:24:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 17:24:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:24:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:24:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 17:24:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:24:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:24:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:24:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:24:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 17:24:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:24: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;
                

25/05/2026 17:24:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 17:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 17:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 17:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:24: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;
                

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:24: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;
                

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:24: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;
                

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:24: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;
                

[25/05/2026 17:24: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;
                

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:24: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;
                

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:24: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;
                

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 17:24: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;
                

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:24: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;
                

[25/05/2026 17:24: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;
                

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:24: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;
                

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:24: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;
                

25/05/2026 17:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 17:24:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 17:24:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 17:24:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:24:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 17:24:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 17:24:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 17:24:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 17:24:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[25/05/2026 17:24:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 17:24:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

[25/05/2026 17:24: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;
                

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12540
                

[25/05/2026 17:24: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;
                

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:24: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;
                

[25/05/2026 17:24: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;
                

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12540
                

[25/05/2026 17:24: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;
                

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12540
                

[25/05/2026 17:24: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;
                

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12540
                

[25/05/2026 17:24: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;
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:24: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;
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:24: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;
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:24: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;
                

[25/05/2026 17:24: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;
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:24: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;
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 17:24: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;
                

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12540
                

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12540
                

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:24: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;
                

[25/05/2026 17:24: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;
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:24: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;
                

[25/05/2026 17:24: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;
                

25/05/2026 17: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 = 12200
                

[25/05/2026 17:24: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;
                

[25/05/2026 17:24: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;
                

25/05/2026 17:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12540
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:24: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;
                

25/05/2026 17:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:24: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;
                

25/05/2026 17:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:24: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;
                

25/05/2026 17: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 = 12200
                

25/05/2026 17:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

[25/05/2026 17:24: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;
                

25/05/2026 17:24:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:24: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;
                

25/05/2026 17:24:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:24: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;
                

25/05/2026 17:24:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:24: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;
                

[25/05/2026 17:24: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;
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

[25/05/2026 17:24: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;
                

[25/05/2026 17:24: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;
                

[25/05/2026 17:24: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;
                

25/05/2026 17:24:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12200
                

25/05/2026 17:24:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17:24:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

[25/05/2026 17:24: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;
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:24:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:24:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:24:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[25/05/2026 17:24:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 17:24:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:24:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17:24:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17: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;
                

25/05/2026 17:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12200
                

25/05/2026 17:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17: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;
                

25/05/2026 17:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17: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;
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

[25/05/2026 17: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;
                

25/05/2026 17:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17: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;
                

25/05/2026 17:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12200
                

[25/05/2026 17: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;
                

25/05/2026 17:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

[25/05/2026 17: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;
                

25/05/2026 17:24:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17: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;
                

[25/05/2026 17: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;
                

25/05/2026 17:24:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

[25/05/2026 17: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;
                

25/05/2026 17:24:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17:24:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17: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;
                

25/05/2026 17:24:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17: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 = 12200
                

25/05/2026 17:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

25/05/2026 17:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

[25/05/2026 17:37: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;
                

25/05/2026 17:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 17:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

[25/05/2026 17:37: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;
                

25/05/2026 17:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

25/05/2026 17:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/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 = 12688
                

25/05/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 = 12688
                

25/05/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 = 12688
                

25/05/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 = 12688
                

25/05/2026 17:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 17:37:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

25/05/2026 17:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 17:37:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

25/05/2026 17:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 17:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 17:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 17:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 17:37:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

25/05/2026 17:37:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 17:37:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 17:37:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 17:37:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 17:37:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

25/05/2026 17:37:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 17:37:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 17:37:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 17:37:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 17:37:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12688
                

25/05/2026 17: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 = 12688
                

25/05/2026 17:37:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12688
                

25/05/2026 17: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 = 12688
                

25/05/2026 17: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 = 12688
                

25/05/2026 17: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 = 12688
                

25/05/2026 17:40:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12688
                

25/05/2026 17: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 = 12688
                

25/05/2026 17:40:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12688
                

25/05/2026 17: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 = 12688
                

25/05/2026 17: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 = 12688
                

25/05/2026 17: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 = 12688
                

25/05/2026 17:41:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12688
                

25/05/2026 17: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 = 12688
                

25/05/2026 17:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 17:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                
[25/05/2026 17:41: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;
                
[25/05/2026 17:41: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;
				

25/05/2026 17: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 = 12688
                

25/05/2026 17: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12688
                

25/05/2026 17:41:52 - logentry: =========================================
FECHA: 25/05/2026 17:41:52
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-BkKc5EBa7MWMJfvgUY3SDPAPvbo3kFl1-sTM-JWz3x2v6Z_+0U2
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "10487973",
    "serieinterna": "TO2959",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "284779",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\n01 Rkit 2122\najustes varios\nlimpieza general",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12688",
    "observacion": "Requiere:\nKit de Adf\n01 Rkit 2122 para band 2",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADaAQEDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABGEAABAwMBBAcFBAULBAMAAAABAAIDBAURBhIhMUETUWFxgZGhFCKxwdEjMkKyFWKC4fAHFiQ1NkNEUnJ0kiU0Y9JzosL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIEAwcDBAIDAAAAAAAAAQIDERIhMUEEE1EiMmFxsdHhM5HBI0KBoRQ0UnLx\/9oADAMBAAIRAxEAPwD+zIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA56+ugt1HJVVDw1jBnvPIDtUsLvqSWkde44420bTn2YjJcwZyRuzjtzyzwXteSL\/AKkgsrXE09MOlqMHGT1eAIHiVUhrQzYDQGgYxjdhW5RWaMbxVpPDKyWWXX4PC310VyoYquH7sjc4znZPMLpUnbZf5uaimtUxLaOrdt07idzSeXy8AqxQkrPIuo1Mcc9VkwiIolwREQBERAEREAREQBERAERfjnBrS5xAAGSTyQAkAZJwAsCs1dSxVfslDTyV8+cERfd89+VxVVVU6ruLqGhkfFbIt087f7zsHyHj1Khttqo7TB0NJEG\/5nHe53eVZZR72pk5k6r\/AE8l19vcxRqS7Uv2lxsckdOD70jCTsdp3Hctq23Sku1N09JJtD8TT95veOS7FK3qhfYa1l8trdmLaAqom8CCeOP434KLDLLRiXMo9pvEt+pVIvGlqYqyljqYTmOVoc09i9lWak01dBERDoREQBERAEREAXxLIIonyOyQxpccdi+1lamm6DTla\/JGY9nd+sQPmupXdiE5YYuXQztFQGSmq7nKB0tXMTnsG\/4k+Splmach6DT1CzAGYg7d+tv+a012bvJlfDxw0ooxtUW03G0PMTf6RTnpYiOORxA7x64XRYbh+k7NT1LnB0mzsyf6huP18VoqXtzv0Lq6otgaRTVo6WIcg7GTjyI8ApLONuhCf6dVT2eT\/HsVCIirNQREQBERAEREAREQBERAFNajrpq2qjsFA8dLP\/3DsH3Gcfhx8Otbdxr4rZQy1c29sY3NyAXHkBlY+lLdII5bzVnaqa73uH3Wk59dx7gFZHJYmZazc2qUd9fL5Ni3UENsoYqSAe7GN5xvceZK6kRVt3NKSirILznhjqYJIJW7UcjS1w6wV6Ih1q5MaRlfRz11klJLqWUujJHFucfQ+Kp1MVQ9j19TSNGG1cGHnHMAj5NVOpz1v1M3DZRcP+Lt7BERQNIREQBERAEREAWLq\/8AsvWfsfnatpY2rgXaYrAOph\/+7VKHeRTxH0Z+T9Dssv8AUdB\/to\/yhdq4bKQbHQYOf6NH+ULuXHqTp9xeQU5rKlk9igucDtmahkDgewkfPHqqNeNVTsq6Samk+5KwsOOojC7F2dyNanzKbiflHVxV1HFVQnLJWhw7Oxe6nNFzyC31FvmP2tHMWFpP3Qf3hyo0krOwoz5lNSCIiiWhERAYlsulVVahuNFKWmGnxsANwfNbamKMeya+rIzubUwBzQd2TgfRyp1OazM\/Dybi77N+oREUDQERfLnNYwvccNaMk9QQEvqAG86iorKHfYx\/bT4OPDvxw\/1Kpa0NaGtAAAwAOSl9IsdXVlwvUgINRIWR5A3N44\/KPBVKsnl2ehl4btJ1H+702CIirNQREQExqXMeo7FIPxTbO7j95v1VOpjVHvX+wNG8ioyR2bTPoqdWS7qM1L6tTzXogiIqzSEREAREQBERAFw3qn9qstZCBkuhdsjGd4GR6hdy\/CARgjIK6nZ3Iyjii09zH0lOZ9OUwccvj2o3DqwTgeWFsqW0yTbr3c7O4FrA\/poRjdjh8C3yVSpTXaKeGlekk9Vl9giIoGglqci26+nhziOvi22j9bj8Wu81UqX1TmkvNouLcANl6N7uzI+W0qhWTzSZmodmU4dH65hERVmkIiICX1CDb9R2y77TWxk9BISDuBz1cdxPkqhYmrqP2zT05DSXQYlaAerj6Erus9cLjaaeq3Zez3gDnDhuPqpvOKZmp9mtKPXP8M7URFA0hY2q6z2PT1QQfemHRN\/a4+mVsqX1cfaqy1Wxoz00+04csbh8z5KcFeSM\/EycaUra6ffI2LFRC32Wmp8AODA5+Bxcd5+K0ERRbu7l0YqMVFbBERcJBERATF79\/WNnj47ILsdW87\/RU6mKn7f+UOkGN0FOSc9zv\/YeSp1OeiM1DOU34\/hBERQNIREQBERAEREAREQEtqqKW3XCjv8ATjJhIjmA5t\/gkeSpopWTRMljcHMe0Oa4cweBXnWUkVdRy0swyyVpaeztWBpWqmo5ZrFXEtngJdDtfjZ2fHuPYrO9HyMv0q3hL1+T81UKi31tFfIHOLYD0crM7tkn57x5Kjp546qnjnhcHxyNDmkcwlRAypp5IJAHMkaWuB6ip7RUz20VVbpRiSjnLTw3A53eYcmsfIL9OtbaXqvg9taU3T6ekfgZge1488H4rWt1R7XbaaoPGWJrj3kb14X6ITWGuYRn7BzgMcwMj4Ln0pN02m6Q5JLWlpz2Ehc\/YdWXEPxXo\/k2ERFA0hERAfL2NkjdG9oc1wIcDzCmdLvdbbpcLE8ECN5lhJ5t3D4bJ81UKW1SHW27W+9sLgGPEU2BxbvPwLh5KyGd49TLxHZw1eno9SpRfgIIyDkFfqrNQUvLit\/lDjbjIo6fJGN2cH\/3HoqhTGn\/ALbVV7n\/AMjxH6kf\/lTho2Zq+coR6v0zKdERQNIREQBEXNcaoUNuqKo\/3UZcO043eqanG0ldmBY\/6fq663DGWRfYtdyON27\/AI+qqFgaMpTBYmzvH2lS90jiTkkcBny9Vvqc+8UcMnyk3q8\/uERFA0BERAEREAREQBERAFhaksslbG2uocsr6bexzTguA5d\/Ut1F1Np3RCpTjUi4syrDe4rxSb\/s6qLdNEeIPX3LNsXu6tvTRuBIJHbn96+77Zp4Ktt6s7dmqZkyxtGelHdzJ5\/VcukKr9IXq6VrmCJ0gaejzkjj9FbZYW0YXOfMhTnqnr1VmU1c0Ot9S07wYnA+RWPokk6cjB5SPA81t1TDJSzMbxcxwHksLQ7g7TwA\/DK4H0Kgu4zRL\/Yj5P8ABRIiKBpCIiALiu9A252qopDxkZ7h6nDePUBdqLqdnc5KKkmnuYGkbk6rthpJ8iooz0bweOOXwx4LfUpcGtsWsKavDtinrwWSjkHbt\/nsnzVWpTWd1uZ+Hk8LhLWOXsFMaN+0lutQd5kqTl3XxPzVLI\/o43PxnZBOFOaFjLbFJId5knc7PgB8ii7rFTOtBeZSoiKBpCIiAKa1nO+WlpbVAQZq2UDGeQP1I8lSqUtexfNW1NzLS6npGiOAngTvGfzHxCnDXF0M3Eu8VTWssv43Kamp2UlLFTxjDImBje4DC9URQNCVlZBERDoREQBERAEREARFH616SluFuuDfuxOxnkCDnkcqUY4nYprVeVDHa5YIuF16tTM7VxpQRxBmbkeGVkVGrTUyupbJRyVkxBAkIwwHr\/jCKEmJ16cNWaV9vMNooy4naqJPdhjB3uPX3BT1Lpavgt1PcKKpMNzwXvDjucDvwc539+74rRtenJ5K0XS9yioq\/wAMf4Y+rs3eSo1PFhyiU8p13jqK3Rbrx8zBs2pWVkvsFez2a4NJa5hGA4jq+i8NCxSRWWZskbmE1Ljhwx+Fq0rzYaS8xASjo5m\/cmYPeH1Cxobvc9OSClvMT56QEtiqmDJO\/dnf6Hf3ruUk1Eg3KnUi6uivn59SsReNLV09bA2emlbLG7g5pXsqTcmmroIiIdCIiAy9RWsXa0SwNGZWe\/F\/qHLx4eK+dNXH9I2WF7nZliHRSg8dodfeMFayk6h501qc1BBbb7h98\/hY\/r+fcT1KyPaWEy1f06iqbPJ\/hlHcXFltqnDiIXn0KydFtDdNwkfie8nzWjd3A2Kuex2QaWQgg\/qlcWjwBpikwOO3n\/m5P2PzOvPiF5P1RtoiKs0hEXhWVkFBSSVVS\/YjjGSfkEONpK7MvVN1bQW10Ebv6TU\/ZxtHEA7icYK6rDbBabTDTYHSY25SObzx8uHgsfT9JUXiv\/nBcQQQS2mixuDevu3nHbkqpVkslhM1G9SXNf8AHl1\/kIiKs1BF+BwcMtIIzjcv1AEREARSuqLlV0N7trYJS1hILmcnHON\/gSqpScbJMqhVU5SitgiIoloUxr3fZYGjeTUtwOv3XKnUtqVza+\/2q1sedoPMsmBnA5egKsp94zcX9Frrl9zR\/mnY9su9gbk\/+R+PLK1YoYoGCOGNkbBwaxoAX2ig23qXRpwh3UkERFwmF8SxRzxOimY2SN4w5rhkEL7RBqStVYK6y1Jr9PvLgT79I85aR2b9\/wAVo2TUdNeMwlpgq2D34n8zzx1rZUnqzoRc6A0YH6VMrdnZz93f97Hb6ZVqePJmKcf8ftweXT2KxERVG0IiIAuW42+C50UlJUNyx43EcWnkR2rqRE7HGlJWZF09dNbLfctP3J3vx00ns0h4PbsncPl5cltaQ\/svR\/t\/ncmqLVTXC0TzStxLTROkjeOO4Zx3HCwtP36ptFngFZQyvoXFxiniGdnecgjvzzBV77ccjzYvkVkpvKzs\/C61LdFiN1jYnNBNYWk8jE\/I8gueo1pQ56K3wT1szvutYwgE\/H0VeCXQ2PiaKV8SN+aaOnhfNM8MjYMuc47gFKOdNrK47AL4rTTuzwwZSP48AvRlmu2oZGz3uY09MDltJHuPiOXjk9yp6enipYGQQRiONgw1reAXcoaaldpV9VaP9v4PpjGxxtjY0Na0ANA5BfSL5DmlxaHAkcRnh\/GQqzWfSIiAjNBVcsj6yCSR79zXjaJOOP1VmonQ0Dqe63GJ4IdEAwg8iHH6K2VtXvmPgb8hX8fUIiKo2ElrlrIn26rPFkuCMcRuKq2ua9ge05a4ZB6wpTU8Iu2ordaQ7dsOe8t4tzz8m\/xlfVqvEtieLReiWNjBEFRg7JaOA4cO3wVzjeC6nnxqqFebejsr+KRVouWK50E7dqKtp3j9WVpx6riuOp7Vb4i41LJ5Mbo4XBxPfjcPFVKLeVjZKrCKu3kd1wrobbQy1c7gGxtJAzjaPIDtKwtLUk1VUVF\/rB9pVk9E3\/K3OPkAOwdq8qe3XHUlUysuzfZ6OM5ipR+LtOfj8FVNaGtDWgAAYAHJTfZVtyiKdaam1aK08fH2P1ERVmsIiIAi5K+50dshMtXO2MY3Nz7zu4c1PG4XnUzjFb432+hPGocPecOz93mpKLeexTUrRg8KzfRHdedSx0shoLe32m4OOy1rd4Ye3t7F+2GwPoXur6+Xp6+UZc52DsZ5A+nwXXaLFQ2aLFPHtSke9K\/e4\/Qdi0l1ySVokIUpSljq67LZfIREUDSEREAREQHFev6jr\/8AbSflK4dItDtLUjXAEEPBB5++5d16\/qOv\/wBtJ+Uri0h\/Zej\/AG\/zuVn7P5Mz\/wBhf9X6o7n2m2yPL326lc48S6FpJ9F7wUtPTN2aeCOIdUbA34L1RQuy9RindIIiLhIKDs9bJLr6Q5OzJJKzfkYaA4gY8ArxfzjTv9to\/wD5ZfyuV1NZS8jz+LbVSkvE\/o6IuO7VPsdpqqgEgxxOLcdeN3qqkrm+TUU2yKsd3FHqWoqpsilrZnsLx90OLsg+vkV\/QVK2SxQ12jmU84AdO50rXY3sdwB8gF82+\/VFjAt1+jeOjb9lO0F200HG\/r7\/AD3q6axPLY87h5ujFczR536X2ZWL4llZDE+WRwaxjS5zjyA4lY51hYQM+3Z7Oif9FmS1Ny1ZJ7PTRSUdsJ9+Zw3yDq\/cPFVqD3yNMuJha0HifRHrpoPu92q79KwtYT0UDSeA5+mPMqhq6Glr4ujqoGSt5bQ3juPJfVLTRUdNHTQN2Y4xstGc4C9lyUru6J0qWGGGWd9fMwX6Msj\/ALtO9n+mV3zJXXRadtVvkEsFI3pWnIe4lxB7M8PBaaI5ye4VClF3UV9giIolwRc9bX0lvh6arnZCzltHee4cT4KefqG53h5hsNEWszg1Uw3DuHD49ykotlNStCDs9ei1N+vudHbYukrKhkQ5Ane7uHEqdfqC7Xt5hsVGYos4NTKOHyHqV00OkIBN7VdZ3V9S45O0fcB+fw7FQsYyNgZG0Ma0YDWjACleMdMyrDWq954V4a\/fYnrfpGCOb2u6TOr6k7zt72eR4+PkqJrQ1oa0AADAA5L9RRcnLUvp0oU1aKCIiiWBERAEREAREQHJdQHWisad4NO8H\/iVK2281Nr0zaxA2N3TVDoztgnA2jwwR1qvqmCSkmYeDo3D0X88DiNH0tQ1ocaeuIIz2ZV1NJqzPO4uThPEuj9Uf0lF8xyNljbIw5a8BwPWCvpUnohERAFAaUpjNq2ebGRB0js9RJx8yq+93aKzW59S\/DpOEcZONt38b1OaMe6kudVS1jQyoqmMlbnGSMZx2bnA+B6ldC6g2YOIcZV6cXs\/\/CzU1rSoc+jprZCR01ZM0bOeQP1IVDUTx0tPJPM4MjjaXOJ5BTVjjnvt4ffqgFtOzLKaInOOAz1dfj3KMMu09i3iHiXKWsvTcpaeFtNTRQM+7EwMb3AYSaCGpj6OeJkrD+F7Q4eRXoirNNlaxxts9ra4ObbaQEHIIgbu9F1gADAGAF+ou3bCilogiIuHQi4bjebfam5q6hrXHgwb3HwCwpL9ebyRHZKB8ELv8TMMeXL4qag3mUTrwg7avotShr7nR22LpKyoZEOQJ3u7hxKnX6gu17eYbFRmKLODUyjh8h6ldNBo+BsvtV1nfX1B3nbJ2fqfHyVCxjI2BkbQxrRgNaMALt4x0zK8Nar3nhXhr99ieoNHwNl9qus76+oO87ZOz9T4+SoWMZGwMjaGNaMBrRgBfSKLk5al9OlCmrRQREUSwIiIAiIgCIiAIiIAiIgCj9MUTK2yXS1SksHTkHracDB82+isFMaW+yvd8g44qNoH9p37lZF9lmWsk6sL73X9DT12NB\/0S7PENRBuie92GvbyAJ9FTrgulmobxG1lXEXFn3HtOHNWONL3KlAFDf6hjAPuPBIz5\/JHhlnocjzaSw2xLbqU6zrtfKGzwl1RIDIR7sLTlzvoO0rJ\/m7fJt0+opQ07iIweHmF22zS1vt0jZyHVFQ0Y6SX5BLRWrO460soxt4v2RxWm2VN3rxeru0gA5pac8GDkSP4zx6l03+1TyVdNdqCMPqqY72E422jfjPmPFbyLmN3uSXDxwYX533v1JOekvGpqhkdZTuoKCJ\/vNJw6Qgjl3cOQ38VUQwx08LIYWBkbBhrWjcAvRFxyvkSp0lBuV7t7hEX4SAMk4AUS4\/UWDcNXW+kk6CmD62oO4Mh3jPVn6ZXC+k1Jf3Yqni2UbvwNPvOHbjf547lNQeryM0uIjfDBYn4e+hrXPUtstZcyWfpJh\/dRe87x5DxWSZ9S6gdiBhtVIfxuyHkfHywO1bFr07brSA6CHblH97Jvd4dXgtRdxRjojnLqVPqOy6L3MKh0lbaSTp5w+snzkvnORnu+uVuAADAGAF+ooOTepfCnCmrRVgiIuEwiIgCIiAIiIAiIgCIiAIiIAiIgCmLZ9jru6Qnd0kQeO37p+ZVOpiTFL\/KFGT\/AIqnwCeG4cv+Pqpw38jNxGTg\/FexToiKBpCIiAIi+XvZGwvkcGNaMlzjgBAfS+XvZGwvkcGNaMlzjgBT1frCBsvstqgfX1B3DYB2fqfDzXMzT92vbxNfawxRZyKaI8PkPUqxQ3lkZXxCbw01if8AX3Oqt1hTNm9mtkElfUHcOjHu57+J8PNeDbJeb2ekvVa6nhd\/hac48+Xnlb9BbKO2xdHR07IhzIG93eeJXUmJLuocmU86rv4LT5OG32a32tuKSmaxxGC873HxK7kRQbb1NEYqKtFWCIi4SCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCwL1bqqW\/WqvpYi8RSbExBxstzx8i5b6LqdncrqU1UjZhERcLAiIgMa86hFtqGUVPSS1VZI3aYxo3Y3jOfDl6LNbYLtfJBPfKswxZyKWE8PkPUqp2W7e3sjaxjON+F9KalZZGaVHmPtu66bfJy0Fso7bF0dHTsiHMgb3d54ldSIoN3NCioqyCIiHQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "GONZALO MARTIN HURTADO PERALTA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "ROXANA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE NO IMPRIME, NI SCANEA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56962266896",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "17:41",
    "ubicacionGPS": "LatLng(lat: -23.6494041, lng: -70.3990295)",
    "horaLlegada": "16:48",
    "horaDespacho": "15:54",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 25/05/2026 17:41:52
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-BkKc5EBa7MWMJfvgUY3SDPAPvbo3kFl1-sTM-JWz3x2v6Z_+0U2
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "10487973",
    "serieinterna": "TO2959",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "284779",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\n01 Rkit 2122\najustes varios\nlimpieza general",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12688",
    "observacion": "Requiere:\nKit de Adf\n01 Rkit 2122 para band 2",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADaAQEDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABGEAABAwMBBAcFBAULBAMAAAABAAIDBAURBhIhMUETUWFxgZGhFCKxwdEjMkKyFWKC4fAHFiQ1NkNEUnJ0kiU0Y9JzosL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIEAwcDBAIDAAAAAAAAAQIDERIhMUEEE1EiMmFxsdHhM5HBI0KBoRQ0UnLx\/9oADAMBAAIRAxEAPwD+zIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA56+ugt1HJVVDw1jBnvPIDtUsLvqSWkde44420bTn2YjJcwZyRuzjtzyzwXteSL\/AKkgsrXE09MOlqMHGT1eAIHiVUhrQzYDQGgYxjdhW5RWaMbxVpPDKyWWXX4PC310VyoYquH7sjc4znZPMLpUnbZf5uaimtUxLaOrdt07idzSeXy8AqxQkrPIuo1Mcc9VkwiIolwREQBERAEREAREQBERAERfjnBrS5xAAGSTyQAkAZJwAsCs1dSxVfslDTyV8+cERfd89+VxVVVU6ruLqGhkfFbIt087f7zsHyHj1Khttqo7TB0NJEG\/5nHe53eVZZR72pk5k6r\/AE8l19vcxRqS7Uv2lxsckdOD70jCTsdp3Hctq23Sku1N09JJtD8TT95veOS7FK3qhfYa1l8trdmLaAqom8CCeOP434KLDLLRiXMo9pvEt+pVIvGlqYqyljqYTmOVoc09i9lWak01dBERDoREQBERAEREAXxLIIonyOyQxpccdi+1lamm6DTla\/JGY9nd+sQPmupXdiE5YYuXQztFQGSmq7nKB0tXMTnsG\/4k+Splmach6DT1CzAGYg7d+tv+a012bvJlfDxw0ooxtUW03G0PMTf6RTnpYiOORxA7x64XRYbh+k7NT1LnB0mzsyf6huP18VoqXtzv0Lq6otgaRTVo6WIcg7GTjyI8ApLONuhCf6dVT2eT\/HsVCIirNQREQBERAEREAREQBERAFNajrpq2qjsFA8dLP\/3DsH3Gcfhx8Otbdxr4rZQy1c29sY3NyAXHkBlY+lLdII5bzVnaqa73uH3Wk59dx7gFZHJYmZazc2qUd9fL5Ni3UENsoYqSAe7GN5xvceZK6kRVt3NKSirILznhjqYJIJW7UcjS1w6wV6Ih1q5MaRlfRz11klJLqWUujJHFucfQ+Kp1MVQ9j19TSNGG1cGHnHMAj5NVOpz1v1M3DZRcP+Lt7BERQNIREQBERAEREAWLq\/8AsvWfsfnatpY2rgXaYrAOph\/+7VKHeRTxH0Z+T9Dssv8AUdB\/to\/yhdq4bKQbHQYOf6NH+ULuXHqTp9xeQU5rKlk9igucDtmahkDgewkfPHqqNeNVTsq6Samk+5KwsOOojC7F2dyNanzKbiflHVxV1HFVQnLJWhw7Oxe6nNFzyC31FvmP2tHMWFpP3Qf3hyo0krOwoz5lNSCIiiWhERAYlsulVVahuNFKWmGnxsANwfNbamKMeya+rIzubUwBzQd2TgfRyp1OazM\/Dybi77N+oREUDQERfLnNYwvccNaMk9QQEvqAG86iorKHfYx\/bT4OPDvxw\/1Kpa0NaGtAAAwAOSl9IsdXVlwvUgINRIWR5A3N44\/KPBVKsnl2ehl4btJ1H+702CIirNQREQExqXMeo7FIPxTbO7j95v1VOpjVHvX+wNG8ioyR2bTPoqdWS7qM1L6tTzXogiIqzSEREAREQBERAFw3qn9qstZCBkuhdsjGd4GR6hdy\/CARgjIK6nZ3Iyjii09zH0lOZ9OUwccvj2o3DqwTgeWFsqW0yTbr3c7O4FrA\/poRjdjh8C3yVSpTXaKeGlekk9Vl9giIoGglqci26+nhziOvi22j9bj8Wu81UqX1TmkvNouLcANl6N7uzI+W0qhWTzSZmodmU4dH65hERVmkIiICX1CDb9R2y77TWxk9BISDuBz1cdxPkqhYmrqP2zT05DSXQYlaAerj6Erus9cLjaaeq3Zez3gDnDhuPqpvOKZmp9mtKPXP8M7URFA0hY2q6z2PT1QQfemHRN\/a4+mVsqX1cfaqy1Wxoz00+04csbh8z5KcFeSM\/EycaUra6ffI2LFRC32Wmp8AODA5+Bxcd5+K0ERRbu7l0YqMVFbBERcJBERATF79\/WNnj47ILsdW87\/RU6mKn7f+UOkGN0FOSc9zv\/YeSp1OeiM1DOU34\/hBERQNIREQBERAEREAREQEtqqKW3XCjv8ATjJhIjmA5t\/gkeSpopWTRMljcHMe0Oa4cweBXnWUkVdRy0swyyVpaeztWBpWqmo5ZrFXEtngJdDtfjZ2fHuPYrO9HyMv0q3hL1+T81UKi31tFfIHOLYD0crM7tkn57x5Kjp546qnjnhcHxyNDmkcwlRAypp5IJAHMkaWuB6ip7RUz20VVbpRiSjnLTw3A53eYcmsfIL9OtbaXqvg9taU3T6ekfgZge1488H4rWt1R7XbaaoPGWJrj3kb14X6ITWGuYRn7BzgMcwMj4Ln0pN02m6Q5JLWlpz2Ehc\/YdWXEPxXo\/k2ERFA0hERAfL2NkjdG9oc1wIcDzCmdLvdbbpcLE8ECN5lhJ5t3D4bJ81UKW1SHW27W+9sLgGPEU2BxbvPwLh5KyGd49TLxHZw1eno9SpRfgIIyDkFfqrNQUvLit\/lDjbjIo6fJGN2cH\/3HoqhTGn\/ALbVV7n\/AMjxH6kf\/lTho2Zq+coR6v0zKdERQNIREQBEXNcaoUNuqKo\/3UZcO043eqanG0ldmBY\/6fq663DGWRfYtdyON27\/AI+qqFgaMpTBYmzvH2lS90jiTkkcBny9Vvqc+8UcMnyk3q8\/uERFA0BERAEREAREQBERAFhaksslbG2uocsr6bexzTguA5d\/Ut1F1Np3RCpTjUi4syrDe4rxSb\/s6qLdNEeIPX3LNsXu6tvTRuBIJHbn96+77Zp4Ktt6s7dmqZkyxtGelHdzJ5\/VcukKr9IXq6VrmCJ0gaejzkjj9FbZYW0YXOfMhTnqnr1VmU1c0Ot9S07wYnA+RWPokk6cjB5SPA81t1TDJSzMbxcxwHksLQ7g7TwA\/DK4H0Kgu4zRL\/Yj5P8ABRIiKBpCIiALiu9A252qopDxkZ7h6nDePUBdqLqdnc5KKkmnuYGkbk6rthpJ8iooz0bweOOXwx4LfUpcGtsWsKavDtinrwWSjkHbt\/nsnzVWpTWd1uZ+Hk8LhLWOXsFMaN+0lutQd5kqTl3XxPzVLI\/o43PxnZBOFOaFjLbFJId5knc7PgB8ii7rFTOtBeZSoiKBpCIiAKa1nO+WlpbVAQZq2UDGeQP1I8lSqUtexfNW1NzLS6npGiOAngTvGfzHxCnDXF0M3Eu8VTWssv43Kamp2UlLFTxjDImBje4DC9URQNCVlZBERDoREQBERAEREARFH616SluFuuDfuxOxnkCDnkcqUY4nYprVeVDHa5YIuF16tTM7VxpQRxBmbkeGVkVGrTUyupbJRyVkxBAkIwwHr\/jCKEmJ16cNWaV9vMNooy4naqJPdhjB3uPX3BT1Lpavgt1PcKKpMNzwXvDjucDvwc539+74rRtenJ5K0XS9yioq\/wAMf4Y+rs3eSo1PFhyiU8p13jqK3Rbrx8zBs2pWVkvsFez2a4NJa5hGA4jq+i8NCxSRWWZskbmE1Ljhwx+Fq0rzYaS8xASjo5m\/cmYPeH1Cxobvc9OSClvMT56QEtiqmDJO\/dnf6Hf3ruUk1Eg3KnUi6uivn59SsReNLV09bA2emlbLG7g5pXsqTcmmroIiIdCIiAy9RWsXa0SwNGZWe\/F\/qHLx4eK+dNXH9I2WF7nZliHRSg8dodfeMFayk6h501qc1BBbb7h98\/hY\/r+fcT1KyPaWEy1f06iqbPJ\/hlHcXFltqnDiIXn0KydFtDdNwkfie8nzWjd3A2Kuex2QaWQgg\/qlcWjwBpikwOO3n\/m5P2PzOvPiF5P1RtoiKs0hEXhWVkFBSSVVS\/YjjGSfkEONpK7MvVN1bQW10Ebv6TU\/ZxtHEA7icYK6rDbBabTDTYHSY25SObzx8uHgsfT9JUXiv\/nBcQQQS2mixuDevu3nHbkqpVkslhM1G9SXNf8AHl1\/kIiKs1BF+BwcMtIIzjcv1AEREARSuqLlV0N7trYJS1hILmcnHON\/gSqpScbJMqhVU5SitgiIoloUxr3fZYGjeTUtwOv3XKnUtqVza+\/2q1sedoPMsmBnA5egKsp94zcX9Frrl9zR\/mnY9su9gbk\/+R+PLK1YoYoGCOGNkbBwaxoAX2ig23qXRpwh3UkERFwmF8SxRzxOimY2SN4w5rhkEL7RBqStVYK6y1Jr9PvLgT79I85aR2b9\/wAVo2TUdNeMwlpgq2D34n8zzx1rZUnqzoRc6A0YH6VMrdnZz93f97Hb6ZVqePJmKcf8ftweXT2KxERVG0IiIAuW42+C50UlJUNyx43EcWnkR2rqRE7HGlJWZF09dNbLfctP3J3vx00ns0h4PbsncPl5cltaQ\/svR\/t\/ncmqLVTXC0TzStxLTROkjeOO4Zx3HCwtP36ptFngFZQyvoXFxiniGdnecgjvzzBV77ccjzYvkVkpvKzs\/C61LdFiN1jYnNBNYWk8jE\/I8gueo1pQ56K3wT1szvutYwgE\/H0VeCXQ2PiaKV8SN+aaOnhfNM8MjYMuc47gFKOdNrK47AL4rTTuzwwZSP48AvRlmu2oZGz3uY09MDltJHuPiOXjk9yp6enipYGQQRiONgw1reAXcoaaldpV9VaP9v4PpjGxxtjY0Na0ANA5BfSL5DmlxaHAkcRnh\/GQqzWfSIiAjNBVcsj6yCSR79zXjaJOOP1VmonQ0Dqe63GJ4IdEAwg8iHH6K2VtXvmPgb8hX8fUIiKo2ElrlrIn26rPFkuCMcRuKq2ua9ge05a4ZB6wpTU8Iu2ordaQ7dsOe8t4tzz8m\/xlfVqvEtieLReiWNjBEFRg7JaOA4cO3wVzjeC6nnxqqFebejsr+KRVouWK50E7dqKtp3j9WVpx6riuOp7Vb4i41LJ5Mbo4XBxPfjcPFVKLeVjZKrCKu3kd1wrobbQy1c7gGxtJAzjaPIDtKwtLUk1VUVF\/rB9pVk9E3\/K3OPkAOwdq8qe3XHUlUysuzfZ6OM5ipR+LtOfj8FVNaGtDWgAAYAHJTfZVtyiKdaam1aK08fH2P1ERVmsIiIAi5K+50dshMtXO2MY3Nz7zu4c1PG4XnUzjFb432+hPGocPecOz93mpKLeexTUrRg8KzfRHdedSx0shoLe32m4OOy1rd4Ye3t7F+2GwPoXur6+Xp6+UZc52DsZ5A+nwXXaLFQ2aLFPHtSke9K\/e4\/Qdi0l1ySVokIUpSljq67LZfIREUDSEREAREQHFev6jr\/8AbSflK4dItDtLUjXAEEPBB5++5d16\/qOv\/wBtJ+Uri0h\/Zej\/AG\/zuVn7P5Mz\/wBhf9X6o7n2m2yPL326lc48S6FpJ9F7wUtPTN2aeCOIdUbA34L1RQuy9RindIIiLhIKDs9bJLr6Q5OzJJKzfkYaA4gY8ArxfzjTv9to\/wD5ZfyuV1NZS8jz+LbVSkvE\/o6IuO7VPsdpqqgEgxxOLcdeN3qqkrm+TUU2yKsd3FHqWoqpsilrZnsLx90OLsg+vkV\/QVK2SxQ12jmU84AdO50rXY3sdwB8gF82+\/VFjAt1+jeOjb9lO0F200HG\/r7\/AD3q6axPLY87h5ujFczR536X2ZWL4llZDE+WRwaxjS5zjyA4lY51hYQM+3Z7Oif9FmS1Ny1ZJ7PTRSUdsJ9+Zw3yDq\/cPFVqD3yNMuJha0HifRHrpoPu92q79KwtYT0UDSeA5+mPMqhq6Glr4ujqoGSt5bQ3juPJfVLTRUdNHTQN2Y4xstGc4C9lyUru6J0qWGGGWd9fMwX6Msj\/ALtO9n+mV3zJXXRadtVvkEsFI3pWnIe4lxB7M8PBaaI5ye4VClF3UV9giIolwRc9bX0lvh6arnZCzltHee4cT4KefqG53h5hsNEWszg1Uw3DuHD49ykotlNStCDs9ei1N+vudHbYukrKhkQ5Ane7uHEqdfqC7Xt5hsVGYos4NTKOHyHqV00OkIBN7VdZ3V9S45O0fcB+fw7FQsYyNgZG0Ma0YDWjACleMdMyrDWq954V4a\/fYnrfpGCOb2u6TOr6k7zt72eR4+PkqJrQ1oa0AADAA5L9RRcnLUvp0oU1aKCIiiWBERAEREAREQHJdQHWisad4NO8H\/iVK2281Nr0zaxA2N3TVDoztgnA2jwwR1qvqmCSkmYeDo3D0X88DiNH0tQ1ocaeuIIz2ZV1NJqzPO4uThPEuj9Uf0lF8xyNljbIw5a8BwPWCvpUnohERAFAaUpjNq2ebGRB0js9RJx8yq+93aKzW59S\/DpOEcZONt38b1OaMe6kudVS1jQyoqmMlbnGSMZx2bnA+B6ldC6g2YOIcZV6cXs\/\/CzU1rSoc+jprZCR01ZM0bOeQP1IVDUTx0tPJPM4MjjaXOJ5BTVjjnvt4ffqgFtOzLKaInOOAz1dfj3KMMu09i3iHiXKWsvTcpaeFtNTRQM+7EwMb3AYSaCGpj6OeJkrD+F7Q4eRXoirNNlaxxts9ra4ObbaQEHIIgbu9F1gADAGAF+ou3bCilogiIuHQi4bjebfam5q6hrXHgwb3HwCwpL9ebyRHZKB8ELv8TMMeXL4qag3mUTrwg7avotShr7nR22LpKyoZEOQJ3u7hxKnX6gu17eYbFRmKLODUyjh8h6ldNBo+BsvtV1nfX1B3nbJ2fqfHyVCxjI2BkbQxrRgNaMALt4x0zK8Nar3nhXhr99ieoNHwNl9qus76+oO87ZOz9T4+SoWMZGwMjaGNaMBrRgBfSKLk5al9OlCmrRQREUSwIiIAiIgCIiAIiIAiIgCj9MUTK2yXS1SksHTkHracDB82+isFMaW+yvd8g44qNoH9p37lZF9lmWsk6sL73X9DT12NB\/0S7PENRBuie92GvbyAJ9FTrgulmobxG1lXEXFn3HtOHNWONL3KlAFDf6hjAPuPBIz5\/JHhlnocjzaSw2xLbqU6zrtfKGzwl1RIDIR7sLTlzvoO0rJ\/m7fJt0+opQ07iIweHmF22zS1vt0jZyHVFQ0Y6SX5BLRWrO460soxt4v2RxWm2VN3rxeru0gA5pac8GDkSP4zx6l03+1TyVdNdqCMPqqY72E422jfjPmPFbyLmN3uSXDxwYX533v1JOekvGpqhkdZTuoKCJ\/vNJw6Qgjl3cOQ38VUQwx08LIYWBkbBhrWjcAvRFxyvkSp0lBuV7t7hEX4SAMk4AUS4\/UWDcNXW+kk6CmD62oO4Mh3jPVn6ZXC+k1Jf3Yqni2UbvwNPvOHbjf547lNQeryM0uIjfDBYn4e+hrXPUtstZcyWfpJh\/dRe87x5DxWSZ9S6gdiBhtVIfxuyHkfHywO1bFr07brSA6CHblH97Jvd4dXgtRdxRjojnLqVPqOy6L3MKh0lbaSTp5w+snzkvnORnu+uVuAADAGAF+ooOTepfCnCmrRVgiIuEwiIgCIiAIiIAiIgCIiAIiIAiIgCmLZ9jru6Qnd0kQeO37p+ZVOpiTFL\/KFGT\/AIqnwCeG4cv+Pqpw38jNxGTg\/FexToiKBpCIiAIi+XvZGwvkcGNaMlzjgBAfS+XvZGwvkcGNaMlzjgBT1frCBsvstqgfX1B3DYB2fqfDzXMzT92vbxNfawxRZyKaI8PkPUqxQ3lkZXxCbw01if8AX3Oqt1hTNm9mtkElfUHcOjHu57+J8PNeDbJeb2ekvVa6nhd\/hac48+Xnlb9BbKO2xdHR07IhzIG93eeJXUmJLuocmU86rv4LT5OG32a32tuKSmaxxGC873HxK7kRQbb1NEYqKtFWCIi4SCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCwL1bqqW\/WqvpYi8RSbExBxstzx8i5b6LqdncrqU1UjZhERcLAiIgMa86hFtqGUVPSS1VZI3aYxo3Y3jOfDl6LNbYLtfJBPfKswxZyKWE8PkPUqp2W7e3sjaxjON+F9KalZZGaVHmPtu66bfJy0Fso7bF0dHTsiHMgb3d54ldSIoN3NCioqyCIiHQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "GONZALO MARTIN HURTADO PERALTA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "ROXANA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE NO IMPRIME, NI SCANEA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56962266896",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "17:41",
    "ubicacionGPS": "LatLng(lat: -23.6494041, lng: -70.3990295)",
    "horaLlegada": "16:48",
    "horaDespacho": "15:54",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


25/05/2026 17:41:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:10487973

[25/05/2026 17:41: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('10487973', 'TO2959', 1, 21773342, 284779, NOW(), 
				'15:54', '16:48', '17:41', 4, 'Mantenimiento
01 Rkit 2122
ajustes varios
limpieza general', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779745312.png', 'Requiere:
Kit de Adf
01 Rkit 2122 para band 2', null, 'REPROGRAMADO','LatLng(lat: -23.6494041, lng: -70.3990295)' )
				
[25/05/2026 17:41:52] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200420

25/05/2026 17:41:52 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200420'                    
				WHERE idllamado = 12688			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


[25/05/2026 17:41:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

25/05/2026 17:41:52 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 12688			
				
25/05/2026 17: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 = 12688
                

25/05/2026 17:41:52 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('10487973', 'TO2959', 1, 'APP', 'sin otroTipo definido', -2, 'INDICA QUE NO IMPRIME, NI SCANEA', 'Sin coderror', '1', 'SI', now(), 'ROXANA', '+56962266896', 'tecnico@dsprint.cl', 12688)
				
25/05/2026 17:41:53 Insertado nuevo llamado creado idllamado: 12717APP
25/05/2026 17:41:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 17:41:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                
TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


25/05/2026 17:41:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

25/05/2026 17:41:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 17:41:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 17:41:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

25/05/2026 17:41:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12688
                

[25/05/2026 17:41: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;
                

25/05/2026 17:41:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 17:42: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;
                

25/05/2026 17:42:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

25/05/2026 17: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 = 12688
                

25/05/2026 17:42:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

[25/05/2026 17:42: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;
                

25/05/2026 17:42:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

25/05/2026 17:42:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12688
            GROUP BY l.idllamado;
            

[25/05/2026 17:42: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;
                

25/05/2026 17: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 = 12688
                

25/05/2026 17: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 = 12688
                

25/05/2026 17: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 = 12688
                

25/05/2026 17: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 = 12688
                

25/05/2026 17: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 = 12688
                

25/05/2026 17: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 = 12688
                

25/05/2026 17: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 = 12688
                

[25/05/2026 18:13: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;
                
[25/05/2026 18:13: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;
				
[25/05/2026 18:13: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;
                

[25/05/2026 18:13: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;
                
[25/05/2026 18:54:18] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[25/05/2026 18:54:18] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[25/05/2026 18:54: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;
                

[25/05/2026 18:54: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;
                

25/05/2026 18:54:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[25/05/2026 18:54: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;
                

25/05/2026 18: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[25/05/2026 18:54:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[25/05/2026 18:54:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:32:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[26/05/2026 08:32:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 08:32:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:32:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[26/05/2026 08:32:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 08:32:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 08:32:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:32:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[26/05/2026 08:33: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;
                

[26/05/2026 08:33: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;
                

26/05/2026 08:33:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[26/05/2026 08:43: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;
                

26/05/2026 08:43:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[26/05/2026 08:43: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;
                

[26/05/2026 08:43: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;
                

[26/05/2026 08:43: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;
                

26/05/2026 08:43:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[26/05/2026 08:43: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;
                

[26/05/2026 08:43: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;
                

26/05/2026 08:43:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[26/05/2026 08:44: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;
                

26/05/2026 08:44:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[26/05/2026 08:44: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;
                

[26/05/2026 08:44: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;
                

[26/05/2026 08:44: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;
                

26/05/2026 08:44:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[26/05/2026 08:44: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;
                

26/05/2026 08:44:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[26/05/2026 08:44: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;
                

[26/05/2026 08:45: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;
                

26/05/2026 08:45:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[26/05/2026 08:45: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;
                

[26/05/2026 08:45: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;
                

26/05/2026 08:45:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[26/05/2026 08:45: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;
                

26/05/2026 08:45:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[26/05/2026 08:45: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;
                

26/05/2026 08:45:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

26/05/2026 08:45:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08: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 = 12692
                

26/05/2026 08: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 = 12692
                

26/05/2026 08:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

26/05/2026 08:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

26/05/2026 08:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

26/05/2026 08:45:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

26/05/2026 08:45:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

26/05/2026 08:45:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

26/05/2026 08:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

26/05/2026 08:45:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:45:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

26/05/2026 08:45:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

26/05/2026 08:46:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

26/05/2026 08:46:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08: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 = 12692
                

26/05/2026 08: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 = 12692
                

26/05/2026 08: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

26/05/2026 08: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 = 12692
                

26/05/2026 08: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 = 12692
                

26/05/2026 08: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

26/05/2026 08: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 = 12692
                

26/05/2026 08: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 = 12692
                

26/05/2026 08: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 = 12692
                

26/05/2026 08: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 = 12692
                

26/05/2026 08: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 = 12692
                

26/05/2026 08: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 = 12692
                

26/05/2026 08:46:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

26/05/2026 08:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

26/05/2026 08:46:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:43 - logentry: =========================================
FECHA: 26/05/2026 08:46:43
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-.H7K_7hqcGnCXKmZ8+_CH_qVm33MD2qMLgPjKnmlJ_58y_BP306
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "9J3N529539",
    "correlativo": "2",
    "ddServicio": "Taller",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "despacho articulos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12692",
    "observacion": "despacho articulos pendrive",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACUAM8DASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgECAwf\/xABDEAABAwMCAgUICAIJBQAAAAABAAIEAwURBiESMRNBUYGRFCIyYXGhwdEHFRYjQlKx4STwMzdidIKSstLxJVZjcsL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAuEQACAgEDAgMHBAMAAAAAAAAAAQIRAxIhMUFRBCKBExQjYXGR0TLB4fBTcrH\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIiAIip9R3sWeGBRAfLrHhpM59+P53UpNukUnOMIuUuDpetR07dVEKLSdKnvxw0mg4GeWfkPcoUC43qBc4cW8VKT2zQS0AAOpnfbbHWR2qbp6xfVzDMlONWfXGaj3HJbnfHzKh3PMjXNtosd\/RUi92O84PgPFarTwjik8tLJJ021S9evc06IixPQCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAuMgYyefJcqh1RBkvpUbnBeRJgkvDeYc3r27fhlTFW6M8k3CLklZfIoNnulK726nKpjhJ2ezPou6wpyNU6ZaMlJKS4OtSoylTdUqO4WMBc49gCzGn6Rvlyq36W04Y7o4zHD0QBz9fM9\/WrLVVY0dNzHA4LmhviQPivew0W0LDCY1vCOha7GMbkZP6q62jZzz8+ZRfCV+vQnuIa0uOwAyVl9NMqXS7zr7W9BzjSof8Ar\/xjxKl6vuAh2Z0dmTWmHomNHPH4j4bd4VhZoH1ZaY8Q44qbPPxyLjufeUW0b7iXxMyj0jv69CciIszqCIiAIiIAiIgCLMT6lS1azjSHPqGNNYKRBcSA7OMDs\/Ce8rTqzVUZY8mttdmERcOcGtLnEAAZJPUqmpW3y9UrNFDy01K9U8NGkPxH5bhZ+UzUcG3G8ybi5tRjg4xQMgNcQMEctvZt2r3tdNt\/1NKudV\/SxobgyM3O3F1EeGe8K61EwP0\/ODuXQk+G62VRaRwS1ZoyyXSV16dSZEkNlw6Mlno1WB47xleyqtMFztOQi\/OeDG\/Zk49ytVk1To7MctUFLugiIoLhERAZGsw6V1E2Q3LbZOdwvHVTd+3P2Z7FrlAvVtbdbXWiHHE4Zpk9ThyVfpG5ul20w65xJhno3NPPhHL5dy0fmjZyQ+Fk9n0e6\/dfudtZAnTMgjqcwn\/MFZW1zRZ4jy4BojsOc7Y4QvDUMfymwTaf\/iLuX5d\/gsqLpVutmt1hgb1arQyQ4A\/dtB\/bJ\/dTGOqNfMplyLFmbfVbfN3\/ACWNoDtRX+rd6zT5LFPBFByMnOx8Nz7R2LVqPBhUbfDpxaDeFlMY9p6yfapCpJ29jow43CO\/L3YREVTYIiIAiIgCIiAoNZQvKbIZDBmpFeKgwN8cj+oPcrO1Tm3G2R5bXAmowcWOp3WPHKlPY2pTdTe0Oa4EOB6wsvpzpLPfZljqH7p331Ak8x\/x\/pK0W8a7HLL4eZS6S29ehqlR6unGFYqjKbsVZBFJuOe\/P3Z8VeLL3pom6ytUJwDmU2mqQdx1n\/5HuUQXmLeJk1jaXL2+5dWeA22WqPFDcOYwF\/rcdz71D1bKbF07IzzrYpN3xuf2BV0steP+rashWvh4qUYdLWGdu35eKmG8rZGfyYtEeuyLuyRXw7LEjvHC9lMcQIwQTvj3qcvGRKjxKfSSa9Oiz81RwaPeqeTrG0UNqVV8h2QMU2HG\/rKrUpO0i7njxRUZOqL5FmqeuIBeG1YsqkDyJaPmtBHkUZcdlehUFSk8Za4daOLXJOPNjyfpdnqiIqmoWV1DFrWe5U9QQW5APDJYBsR29\/64WqVVqO4\/VtoqPbT6WpW+6psIyCT2j2fLrV4N2YeIjF4226reyFd9VRqNupGA5smRKH3VMDPDnbJHt2x2qBoeMIsy4UK9INlUiG55nGTkA9mQFBtUM6avcSpcqI6OTS8yoR\/RPONvaOR9qtpJFr13QrHzaVwp8Dt\/xch7w3xWrSScUcEZznOOXJynVdr6mpREXOesEREAREQBERAEREAWW1cwwZtuvVMb0Kgpv3O45gf6vFalV99hfWFllRgMuczLd8ecNx7wrwdSMPEQc8bS56ehPaQ5ocNwRkLNEl\/0hgbHo43Zy2\/f3qdpWd5dp+O4nL6I6J\/tby92FAg\/1iXL+7D9KamKpyRlkmpxxyXVovrhNpW6DVl1j5tJucZ9I9QHtKwlovMoSJNaLHMq6zXYyG+bTb2+PdsFdXe33fUN1dCewxLfQdnjO\/SHHMdvwV9bbVDtVDootINz6Tz6Tj6z\/IVk4xjvu2UnHJny2tor+7FJF0k+VWEy+yny6x36MHDW+r9hgK+jW6FDOY0SjRPaymAfFSUWbk3ydOPDjx8Lfv1OlWlTrU3U6rA9jhgtcMgrN6SqvoS7na3vc5satmnxOycZI+A8Vp1mIhFD6QZrMbV44I9uG\/Iq0d00UzbThL5190adERZnSFWXuy07zHYw1TSqUiXU3gZwf5x4KzRSm07RWcFOOmXBhL1Qv9GDUiXGg24R88VOQwZdTPVy36+sdfNRZt3oXDTcPNfhuEB4w05y5vLIPb6J7divoqwmo7THtt4MqtSDoc4OaSOdGofxDv38Qt4TUnTPL8TgljTlF2ns76dtzaw5LJkOjJpnLarA4d4XssDpzT0K7wX1fKq9GTRqFjjTeMEcweWff1K3+yU2nkR9Qy6bT1ed8HBUlCKdWdOPPlnBS0X6o06LMfUGoGehqF7s8+IH5lPs1en7P1LIA\/sh3+4KumPc09tk\/wAb+6\/Jp0WY+y11\/wC55ng7\/euXWPUVBxMa\/l++QKrTz7+LZNMe49tkXON\/dfk0yLMClrKicGRErjtwB8AuPrrU0U4lWMVsHc0Cdx3Epo7Me8pfqi16fg1CLMDWT6J\/jrNLjADLjgnA7wFcWu9QbxTLolXLmgF9Nww5vtHyUOEluy8PEY5uovcnoiKpsZazOFp1XPtTsilJPTUBjA5ZwO7I\/wAK7UPuvpEk9XSxh37N+SaupOiVoN7pBxfFqhrwOtp3+Y\/xLrIqN+31vqtOWV4uWnq5P\/nvW\/O\/yPMfkah2kq+jNSiIsD0wiIgCzEzDfpDgY\/HFOfB\/yWnWYnf1iW3+7H9KivDr9Dm8TxH\/AGX\/AE06IiodIREQBRbjAo3ODViVx5tQbHG7T1EKUiJ0Q0pKmYPSLqtq1JItlfbjBaRnGXN3B8M+K3ix+s2ut8+Bd44DarHcLj+bG4B7shaiDMpXCDSl0T5lVuRnmO0dx2WuTepHF4X4blh7cfRkhERZHcEREAREQBVn1FEbeKdzpcVKowEOYzAY\/YjJHsKs0UptFZQjKrXAREUFiHdYQuNrkxCBmqwhuep3MHxAWGhS3CTZXVBwVYkgxqm\/nYyMZHZ5xHcvoq+cavgm3X01qJLWSPvgex+d\/fv3rfE78p5vjk4pZF\/d7Po6LyjVmyYtKu05bVYHj2EZXqsD0U7VhERCQsxV\/ifpEocO\/ksY8WOrIdz\/AM4WmJAGScALM6VBm3O53bB6OtULKRLMZbkn5K8Nk2c2feUIfO\/sadERUOkiXG3ULpF8nkcfBxB3mOwchSgMDHYuUSyNKuwiIhJRaypl+nKxDOI03tcNs435+ChaElPfCkxH5cKDw5js5GHDl7vetJLi0psSrGrN4qdVpaQqjTWn32Pyl1Ssyo6sW44W4DQM9efX7lqpLQ0zjnin7zHIuKpl6iIsjsCIiAIiIAiIgCIiALNa5g+UWZspo8+K\/Of7Ltj7+HwWlXjKjslxK0ap6FVhYcdhGFaL0tMyzY\/aY3DuQtNv6TTsF3ZSDfDb4KzWc0TWqG01YtV4c6NWcwD8o7PHK0aTVSZHh5asUX8giKHc7nGtMN0mS\/DRs1o5vPYFCVmspKKt8FZq24mhBbb6HnSZx6NrR2HY\/rhWdqt9O122jEp\/gHnH8zjzPiqOwQZF0nnUFxaA5wxHpY2a3qPy7ytQry2Wk5sKc5PK+vH0\/kIiLM6giIgCIiAIiIAiIgCIiAIiIAiIgCIiAIo0+dQtsN8uQXCkzGS0ZO5x8VxQucGREbKpyqXQuGeIuAx7c8lNPkrrinpvc5h2+LANXyakKfTP4347VJVRcNT2q308ulMrP6qdEh5PhsO9VhuGob95sCN9XRTzr1fSI9X7DvVtMnuzB58cPLHd9kWt6v8AGtFEtyK0p21Og05cSeWR1BVkCwSrpJFz1A7jfzpxvwtHrHw8VPtOmYdsqeUPc+VKO5rVe31Dq95Vyp1KO0SFilkerLx2\/Pc4AAGAMALlEWZ1BERAEREAREQBERAEREAREQBERAEREAREQHWpTZVpup1GNexww5rhkEesKkdo6zOqOd0DwHHJaKhARFaLa4MM0IyrUrJUPT1qgu4qMKmXZyHPHER7CeSs0RQ229zSEYxVRVBERQXCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "BASTIAN",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "ARTICULOS ESCRITORIO",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"SEL-I391\",\"id_control\":\"28757\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"SAN-I1085\",\"id_control\":\"28757\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I865\",\"id_control\":\"28768\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "08:46",
    "ubicacionGPS": "LatLng(lat: -23.6618552, lng: -70.3999861)",
    "horaLlegada": "08:45",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "11",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 26/05/2026 08:46:43
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-.H7K_7hqcGnCXKmZ8+_CH_qVm33MD2qMLgPjKnmlJ_58y_BP306
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "9J3N529539",
    "correlativo": "2",
    "ddServicio": "Taller",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "despacho articulos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12692",
    "observacion": "despacho articulos pendrive",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACUAM8DASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgECAwf\/xABDEAABAwMCAgUICAIJBQAAAAABAAIEAwURBiESMRNBUYGRFCIyYXGhwdEHFRYjQlKx4STwMzdidIKSstLxJVZjcsL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAuEQACAgEDAgMHBAMAAAAAAAAAAQIRAxIhMUFRBCKBExQjYXGR0TLB4fBTcrH\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIiAIip9R3sWeGBRAfLrHhpM59+P53UpNukUnOMIuUuDpetR07dVEKLSdKnvxw0mg4GeWfkPcoUC43qBc4cW8VKT2zQS0AAOpnfbbHWR2qbp6xfVzDMlONWfXGaj3HJbnfHzKh3PMjXNtosd\/RUi92O84PgPFarTwjik8tLJJ021S9evc06IixPQCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAuMgYyefJcqh1RBkvpUbnBeRJgkvDeYc3r27fhlTFW6M8k3CLklZfIoNnulK726nKpjhJ2ezPou6wpyNU6ZaMlJKS4OtSoylTdUqO4WMBc49gCzGn6Rvlyq36W04Y7o4zHD0QBz9fM9\/WrLVVY0dNzHA4LmhviQPivew0W0LDCY1vCOha7GMbkZP6q62jZzz8+ZRfCV+vQnuIa0uOwAyVl9NMqXS7zr7W9BzjSof8Ar\/xjxKl6vuAh2Z0dmTWmHomNHPH4j4bd4VhZoH1ZaY8Q44qbPPxyLjufeUW0b7iXxMyj0jv69CciIszqCIiAIiIAiIgCLMT6lS1azjSHPqGNNYKRBcSA7OMDs\/Ce8rTqzVUZY8mttdmERcOcGtLnEAAZJPUqmpW3y9UrNFDy01K9U8NGkPxH5bhZ+UzUcG3G8ybi5tRjg4xQMgNcQMEctvZt2r3tdNt\/1NKudV\/SxobgyM3O3F1EeGe8K61EwP0\/ODuXQk+G62VRaRwS1ZoyyXSV16dSZEkNlw6Mlno1WB47xleyqtMFztOQi\/OeDG\/Zk49ytVk1To7MctUFLugiIoLhERAZGsw6V1E2Q3LbZOdwvHVTd+3P2Z7FrlAvVtbdbXWiHHE4Zpk9ThyVfpG5ul20w65xJhno3NPPhHL5dy0fmjZyQ+Fk9n0e6\/dfudtZAnTMgjqcwn\/MFZW1zRZ4jy4BojsOc7Y4QvDUMfymwTaf\/iLuX5d\/gsqLpVutmt1hgb1arQyQ4A\/dtB\/bJ\/dTGOqNfMplyLFmbfVbfN3\/ACWNoDtRX+rd6zT5LFPBFByMnOx8Nz7R2LVqPBhUbfDpxaDeFlMY9p6yfapCpJ29jow43CO\/L3YREVTYIiIAiIgCIiAoNZQvKbIZDBmpFeKgwN8cj+oPcrO1Tm3G2R5bXAmowcWOp3WPHKlPY2pTdTe0Oa4EOB6wsvpzpLPfZljqH7p331Ak8x\/x\/pK0W8a7HLL4eZS6S29ehqlR6unGFYqjKbsVZBFJuOe\/P3Z8VeLL3pom6ytUJwDmU2mqQdx1n\/5HuUQXmLeJk1jaXL2+5dWeA22WqPFDcOYwF\/rcdz71D1bKbF07IzzrYpN3xuf2BV0steP+rashWvh4qUYdLWGdu35eKmG8rZGfyYtEeuyLuyRXw7LEjvHC9lMcQIwQTvj3qcvGRKjxKfSSa9Oiz81RwaPeqeTrG0UNqVV8h2QMU2HG\/rKrUpO0i7njxRUZOqL5FmqeuIBeG1YsqkDyJaPmtBHkUZcdlehUFSk8Za4daOLXJOPNjyfpdnqiIqmoWV1DFrWe5U9QQW5APDJYBsR29\/64WqVVqO4\/VtoqPbT6WpW+6psIyCT2j2fLrV4N2YeIjF4226reyFd9VRqNupGA5smRKH3VMDPDnbJHt2x2qBoeMIsy4UK9INlUiG55nGTkA9mQFBtUM6avcSpcqI6OTS8yoR\/RPONvaOR9qtpJFr13QrHzaVwp8Dt\/xch7w3xWrSScUcEZznOOXJynVdr6mpREXOesEREAREQBERAEREAWW1cwwZtuvVMb0Kgpv3O45gf6vFalV99hfWFllRgMuczLd8ecNx7wrwdSMPEQc8bS56ehPaQ5ocNwRkLNEl\/0hgbHo43Zy2\/f3qdpWd5dp+O4nL6I6J\/tby92FAg\/1iXL+7D9KamKpyRlkmpxxyXVovrhNpW6DVl1j5tJucZ9I9QHtKwlovMoSJNaLHMq6zXYyG+bTb2+PdsFdXe33fUN1dCewxLfQdnjO\/SHHMdvwV9bbVDtVDootINz6Tz6Tj6z\/IVk4xjvu2UnHJny2tor+7FJF0k+VWEy+yny6x36MHDW+r9hgK+jW6FDOY0SjRPaymAfFSUWbk3ydOPDjx8Lfv1OlWlTrU3U6rA9jhgtcMgrN6SqvoS7na3vc5satmnxOycZI+A8Vp1mIhFD6QZrMbV44I9uG\/Iq0d00UzbThL5190adERZnSFWXuy07zHYw1TSqUiXU3gZwf5x4KzRSm07RWcFOOmXBhL1Qv9GDUiXGg24R88VOQwZdTPVy36+sdfNRZt3oXDTcPNfhuEB4w05y5vLIPb6J7divoqwmo7THtt4MqtSDoc4OaSOdGofxDv38Qt4TUnTPL8TgljTlF2ns76dtzaw5LJkOjJpnLarA4d4XssDpzT0K7wX1fKq9GTRqFjjTeMEcweWff1K3+yU2nkR9Qy6bT1ed8HBUlCKdWdOPPlnBS0X6o06LMfUGoGehqF7s8+IH5lPs1en7P1LIA\/sh3+4KumPc09tk\/wAb+6\/Jp0WY+y11\/wC55ng7\/euXWPUVBxMa\/l++QKrTz7+LZNMe49tkXON\/dfk0yLMClrKicGRErjtwB8AuPrrU0U4lWMVsHc0Cdx3Epo7Me8pfqi16fg1CLMDWT6J\/jrNLjADLjgnA7wFcWu9QbxTLolXLmgF9Nww5vtHyUOEluy8PEY5uovcnoiKpsZazOFp1XPtTsilJPTUBjA5ZwO7I\/wAK7UPuvpEk9XSxh37N+SaupOiVoN7pBxfFqhrwOtp3+Y\/xLrIqN+31vqtOWV4uWnq5P\/nvW\/O\/yPMfkah2kq+jNSiIsD0wiIgCzEzDfpDgY\/HFOfB\/yWnWYnf1iW3+7H9KivDr9Dm8TxH\/AGX\/AE06IiodIREQBRbjAo3ODViVx5tQbHG7T1EKUiJ0Q0pKmYPSLqtq1JItlfbjBaRnGXN3B8M+K3ix+s2ut8+Bd44DarHcLj+bG4B7shaiDMpXCDSl0T5lVuRnmO0dx2WuTepHF4X4blh7cfRkhERZHcEREAREQBVn1FEbeKdzpcVKowEOYzAY\/YjJHsKs0UptFZQjKrXAREUFiHdYQuNrkxCBmqwhuep3MHxAWGhS3CTZXVBwVYkgxqm\/nYyMZHZ5xHcvoq+cavgm3X01qJLWSPvgex+d\/fv3rfE78p5vjk4pZF\/d7Po6LyjVmyYtKu05bVYHj2EZXqsD0U7VhERCQsxV\/ifpEocO\/ksY8WOrIdz\/AM4WmJAGScALM6VBm3O53bB6OtULKRLMZbkn5K8Nk2c2feUIfO\/sadERUOkiXG3ULpF8nkcfBxB3mOwchSgMDHYuUSyNKuwiIhJRaypl+nKxDOI03tcNs435+ChaElPfCkxH5cKDw5js5GHDl7vetJLi0psSrGrN4qdVpaQqjTWn32Pyl1Ssyo6sW44W4DQM9efX7lqpLQ0zjnin7zHIuKpl6iIsjsCIiAIiIAiIgCIiALNa5g+UWZspo8+K\/Of7Ltj7+HwWlXjKjslxK0ap6FVhYcdhGFaL0tMyzY\/aY3DuQtNv6TTsF3ZSDfDb4KzWc0TWqG01YtV4c6NWcwD8o7PHK0aTVSZHh5asUX8giKHc7nGtMN0mS\/DRs1o5vPYFCVmspKKt8FZq24mhBbb6HnSZx6NrR2HY\/rhWdqt9O122jEp\/gHnH8zjzPiqOwQZF0nnUFxaA5wxHpY2a3qPy7ytQry2Wk5sKc5PK+vH0\/kIiLM6giIgCIiAIiIAiIgCIiAIiIAiIgCIiAIo0+dQtsN8uQXCkzGS0ZO5x8VxQucGREbKpyqXQuGeIuAx7c8lNPkrrinpvc5h2+LANXyakKfTP4347VJVRcNT2q308ulMrP6qdEh5PhsO9VhuGob95sCN9XRTzr1fSI9X7DvVtMnuzB58cPLHd9kWt6v8AGtFEtyK0p21Og05cSeWR1BVkCwSrpJFz1A7jfzpxvwtHrHw8VPtOmYdsqeUPc+VKO5rVe31Dq95Vyp1KO0SFilkerLx2\/Pc4AAGAMALlEWZ1BERAEREAREQBERAEREAREQBERAEREAREQHWpTZVpup1GNexww5rhkEesKkdo6zOqOd0DwHHJaKhARFaLa4MM0IyrUrJUPT1qgu4qMKmXZyHPHER7CeSs0RQ229zSEYxVRVBERQXCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "BASTIAN",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "ARTICULOS ESCRITORIO",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"SEL-I391\",\"id_control\":\"28757\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"SAN-I1085\",\"id_control\":\"28757\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I865\",\"id_control\":\"28768\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "08:46",
    "ubicacionGPS": "LatLng(lat: -23.6618552, lng: -70.3999861)",
    "horaLlegada": "08:45",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "11",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


26/05/2026 08:46:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[26/05/2026 08:46: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('76121841', '9J3N529539', 2, 19969062, 0, NOW(), 
				'08:00', '08:45', '08:46', 11, 'despacho articulos', null, 
				'', '','1','0',
				'0',3,'../csj.digital-service.cl/uploads/firmas/firma_0_1779799603.png', 'despacho articulos pendrive', null, 'COMPLETADO','LatLng(lat: -23.6618552, lng: -70.3999861)' )
				
[26/05/2026 08:46:43] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200421
[26/05/2026 08:46:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200421', 'SEL-I391', 1)
				
[26/05/2026 08:46:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28757 and
				    IDproducto = 'SEL-I391'
				

26/05/2026 08:46:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'SEL-I391';
                [26/05/2026 08:46:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200421', 'SAN-I1085', 1)
				
[26/05/2026 08:46:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28757 and
				    IDproducto = 'SAN-I1085'
				

26/05/2026 08:46:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'SAN-I1085';
                [26/05/2026 08:46:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200421', 'EPS-I865', 1)
				
[26/05/2026 08:46:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28768 and
				    IDproducto = 'EPS-I865'
				

26/05/2026 08:46:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I865';
                
26/05/2026 08:46:43 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '76121841' AND 
				serieinterna = '9J3N529539' AND
				correlativo = 2;				
		
26/05/2026 08:46:43 actualizarUbicacionClienteMaquina sql: 
				UPDATE clientemaquina
				SET ubicacion = 'CSJ TALLER MANTENCION',
				    ciudad = 'ANTOFAGASTA',
				    departamento = 'TALLER'
				WHERE clientemaquina.serieintmaquina = '9J3N529539'
					AND clientemaquina.estado= 1 
					AND clientemaquina.rutcliente = '76121841'
		
26/05/2026 08:46:43 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200421'                    
				WHERE idllamado = 12692			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


26/05/2026 08:46:44 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12692			
				
26/05/2026 08:46:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


26/05/2026 08:46:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

26/05/2026 08:46:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

[26/05/2026 08:46: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;
                

26/05/2026 08:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

26/05/2026 08:46:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12692
            GROUP BY l.idllamado;
            

[26/05/2026 08:46: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;
                

26/05/2026 08:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

26/05/2026 08:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12692
                

[26/05/2026 08:46: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;
                

26/05/2026 08:46:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

26/05/2026 08:46:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[26/05/2026 08:46: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;
                

26/05/2026 08:46:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

26/05/2026 08:46:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

26/05/2026 08:46:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

26/05/2026 08:46:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

26/05/2026 08:46:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[26/05/2026 08:46: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;
                

[26/05/2026 08:46: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;
                

26/05/2026 08:46:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

26/05/2026 08:46:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

26/05/2026 08:46:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

26/05/2026 08:46:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

26/05/2026 08:46:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

26/05/2026 08:46:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

26/05/2026 08:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

26/05/2026 08:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[26/05/2026 08:46: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;
                

26/05/2026 08:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[26/05/2026 08:46: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;
                

26/05/2026 08:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

26/05/2026 08:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

26/05/2026 08:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

26/05/2026 08:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

26/05/2026 08:47:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

26/05/2026 08:47:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

26/05/2026 08:47:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[26/05/2026 08:47: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;
                

[26/05/2026 08:47: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;
                

26/05/2026 08:47:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

26/05/2026 08:47:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

26/05/2026 08:47:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

26/05/2026 08:47:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

26/05/2026 08:47:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

26/05/2026 08:47:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

26/05/2026 08:47:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

26/05/2026 08:47:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

26/05/2026 08:47:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[26/05/2026 08:47: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;
                

26/05/2026 08:47:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[26/05/2026 08:47: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;
                

26/05/2026 08:47:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

26/05/2026 08:47:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

26/05/2026 08: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 = 12540
                

26/05/2026 08: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 = 12540
                

[26/05/2026 08: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;
                

26/05/2026 08:47:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[26/05/2026 08: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;
                

26/05/2026 08:47:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

26/05/2026 08: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 = 12540
                

26/05/2026 08: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 = 12540
                

26/05/2026 08: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 = 12540
                

26/05/2026 08: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 = 12540
                

[26/05/2026 08:47:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

26/05/2026 08:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[26/05/2026 08:47:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08: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 = 12540
                

26/05/2026 08:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

26/05/2026 08: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 = 12540
                

26/05/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 = 12540
                

26/05/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 = 12540
                

26/05/2026 08:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

26/05/2026 08:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[26/05/2026 08:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 08:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

26/05/2026 08:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

26/05/2026 08:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

26/05/2026 08:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

26/05/2026 08:48:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

26/05/2026 08:48:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

26/05/2026 08:48:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[26/05/2026 08:48:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[26/05/2026 08:48:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[26/05/2026 08:48:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 08:48:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:48:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

26/05/2026 08:48:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:48:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

26/05/2026 08:48:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:48:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:48:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[26/05/2026 08:48:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 08:48:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

26/05/2026 08: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 = 12200
                

26/05/2026 08:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

26/05/2026 08:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

26/05/2026 08: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 = 12200
                

26/05/2026 08: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 = 12200
                

26/05/2026 08: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 = 12200
                

26/05/2026 08:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[26/05/2026 08:48:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/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 = 12200
                

[26/05/2026 08:48:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

26/05/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 = 12200
                

26/05/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 = 12200
                

26/05/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 = 12200
                

26/05/2026 08:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[26/05/2026 08:48:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/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 = 12540
                

26/05/2026 08:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[26/05/2026 08:48:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

26/05/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 = 12540
                

26/05/2026 08:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

26/05/2026 08:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12540
                

[26/05/2026 08:48: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;
                

[26/05/2026 08:48: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;
                

26/05/2026 08:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

26/05/2026 08:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

26/05/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 = 12540
                

26/05/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 = 12540
                

[26/05/2026 08:48: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;
                

[26/05/2026 08:48: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;
                

26/05/2026 08:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

26/05/2026 08:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

26/05/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 = 12321
                

26/05/2026 08:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

26/05/2026 08:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

26/05/2026 08:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

26/05/2026 08:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

26/05/2026 08:48:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[26/05/2026 08:48: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;
                

[26/05/2026 08:48: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;
                

26/05/2026 08: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 = 12321
                

26/05/2026 08:48:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

26/05/2026 08: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 = 12321
                

26/05/2026 08:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

26/05/2026 08:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

26/05/2026 08: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 = 12200
                

26/05/2026 08:48:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

26/05/2026 08:48:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[26/05/2026 08:48: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;
                

26/05/2026 08:48:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[26/05/2026 08:48: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;
                

26/05/2026 08: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 = 12200
                

26/05/2026 08: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 = 12200
                

26/05/2026 08: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 = 12200
                

[26/05/2026 08:48: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;
                

26/05/2026 08:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[26/05/2026 08:48: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;
                

26/05/2026 08:48:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

26/05/2026 08:48:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

26/05/2026 08:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                
[26/05/2026 08:48: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;
				
[26/05/2026 08:48: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;
                

[26/05/2026 08:48:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[26/05/2026 08:48: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;
				
[26/05/2026 08:48: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;
                

[26/05/2026 08:48: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;
                

26/05/2026 08:48:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[26/05/2026 08:48: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;
                

26/05/2026 08:48:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

26/05/2026 08:48:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

26/05/2026 08: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 = 12321
                

[26/05/2026 08:48: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;
                

26/05/2026 08: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 = 12321
                

26/05/2026 08:48:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

26/05/2026 08:48:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[26/05/2026 08:48: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;
                

26/05/2026 08:48:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

26/05/2026 08:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

26/05/2026 08:48:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[26/05/2026 08:48: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;
                

26/05/2026 08:48:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

26/05/2026 08:48:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

26/05/2026 08:48:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

26/05/2026 08:49:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[26/05/2026 08:49: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;
                

26/05/2026 08:49:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[26/05/2026 08:49: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;
                

26/05/2026 08:49:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

26/05/2026 08:49:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:49:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:49:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:49:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:49:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

26/05/2026 08:49:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[26/05/2026 08:49: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;
                

[26/05/2026 08:49: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;
                

26/05/2026 08:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                
[26/05/2026 08:53: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[26/05/2026 08:53:50] 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;
                

26/05/2026 08:53:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[26/05/2026 08:53: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;
                

26/05/2026 08:53:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[26/05/2026 08:53: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;
                

26/05/2026 08:53:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:53:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

26/05/2026 08:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[26/05/2026 08:53: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;
                

26/05/2026 08:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[26/05/2026 08:53:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:53:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[26/05/2026 08:53:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:53:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

26/05/2026 08:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[26/05/2026 08:53:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[26/05/2026 08:55:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

26/05/2026 08:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

26/05/2026 08:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[26/05/2026 08:55:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

[26/05/2026 08:55:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

26/05/2026 08:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

26/05/2026 08:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

26/05/2026 08:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[26/05/2026 08:55:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 08:55:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12321
            GROUP BY l.idllamado;
            

[26/05/2026 08:55:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

26/05/2026 08:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12321
                

26/05/2026 08:55:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

26/05/2026 08:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:55:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[26/05/2026 08:55: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;
                

[26/05/2026 08:55: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;
                

26/05/2026 08:55:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[26/05/2026 08:55: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;
                

26/05/2026 08:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[26/05/2026 08:55: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;
                

26/05/2026 08:55:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[26/05/2026 08:55:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:55:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[26/05/2026 08:55:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[26/05/2026 08:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

26/05/2026 08:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

26/05/2026 08:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[26/05/2026 08:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[26/05/2026 08:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

[26/05/2026 08:55:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 08:55:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[26/05/2026 08:55:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12200
            GROUP BY l.idllamado;
            

26/05/2026 08:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

26/05/2026 08:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12200
                

[26/05/2026 08:58:16] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 08:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            
[26/05/2026 08:58: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;
				
[26/05/2026 08:58: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;
                

[26/05/2026 08:58: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;
                

26/05/2026 08:58:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

[26/05/2026 08:58: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;
                

26/05/2026 08:58:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 08:58:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

[26/05/2026 08:58: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;
                

26/05/2026 08: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 = 12202
                

26/05/2026 08: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 = 12202
                

26/05/2026 08:58:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 08: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 = 12202
                

26/05/2026 08: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 = 12202
                

26/05/2026 08: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 = 12202
                

26/05/2026 08:58:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 08: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 = 12202
                

26/05/2026 08: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 = 12202
                

26/05/2026 08: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 = 12202
                

26/05/2026 08: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 = 12202
                

26/05/2026 08:58:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 08: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 = 12202
                

26/05/2026 08: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 = 12202
                

26/05/2026 08: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 = 12202
                

26/05/2026 08: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 = 12202
                

26/05/2026 08:58:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 08: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 = 12202
                

26/05/2026 08: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 = 12202
                

26/05/2026 08:58:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 08: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 = 12202
                

[26/05/2026 08:58: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;
                

26/05/2026 08:58:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 08: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 = 12202
                

26/05/2026 08: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 = 12202
                

26/05/2026 08:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 08:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

[26/05/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;
                

26/05/2026 08: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 = 12202
                

26/05/2026 08: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 = 12202
                

26/05/2026 08:58:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 08: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 = 12202
                

26/05/2026 08: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 = 12202
                

26/05/2026 08: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 = 12202
                

26/05/2026 08:58:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 08: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 = 12202
                

26/05/2026 08: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 = 12202
                

26/05/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 = 12202
                

26/05/2026 08:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/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 = 12202
                

26/05/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 = 12202
                

26/05/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 = 12202
                

26/05/2026 08: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 = 12202
                

26/05/2026 08: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/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 = 12202
                

26/05/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 = 12202
                

26/05/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 = 12202
                

26/05/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 = 12202
                

26/05/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 = 12202
                

26/05/2026 08:59:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/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 = 12202
                

26/05/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 = 12202
                

26/05/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 = 12202
                

26/05/2026 08:59:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/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 = 12202
                

26/05/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 = 12202
                

26/05/2026 08:59:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 08:59:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 08:59:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 08:59:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 08:59:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 08:59:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 08:59:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 08:59:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 08:59:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 08:59:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 08:59:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 08:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 08:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

[26/05/2026 09:00:03] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 09:00: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;
                

26/05/2026 09:00:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 09:00:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 09:00:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 09:00:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 09:00:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 09:00:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 09:00:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 09:00:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 09:00:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09: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 = 12202
                

26/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 09: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 = 12202
                

26/05/2026 09: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 = 12202
                

26/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 09: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 = 12202
                

26/05/2026 09: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 = 12202
                

26/05/2026 09:00:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 09: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 = 12202
                

26/05/2026 09: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 = 12202
                

26/05/2026 09: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 = 12202
                

26/05/2026 09: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 = 12202
                

26/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 09:00:24 - logentry: =========================================
FECHA: 26/05/2026 09:00:24
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-B+6Mi0YwFmpWW-j4vb_eX94tKst1+yK5AO.Wkz10NXZn1Ctag-t
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76608783",
    "serieinterna": "KY2948",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "llamado realizado y finalizado en marzo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12202",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAByAD8DASIAAhEBAxEB\/8QAGgABAQEBAQEBAAAAAAAAAAAAAAYFAwQCB\/\/EADgQAAEDAwEEBggEBwAAAAAAAAEAAgMEBREGEiExgRMiQXGRoRUjMkJRYbHBBxRioiQzUnJz0fD\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQMEAgX\/xAArEQACAQMCAwYHAAAAAAAAAAAAAQIDETEhQRIioQQyYXGBwRMjUZHR4fH\/2gAMAwEAAhEDEQA\/AP2ZEU1cr3WV9a612EB0jR62o91ncfv4LqMWyupVjTV2bNddqC2tJq6qOMgZ2CcuPcOKxpNbUj5DHQ0VVVvB91uAe7ifJdrdpCgpT01ZmuqCcufLvGe7t55W7HGyJgZGxrGjgGjAC65F4lNq891Hq\/wTQv8AqGf+Rp57P8pI+uEM+sqj2aWkpgeBJBx5n\/gqdFHGtkT8CT7030XsTHo3V0nWfeKdh\/pa3h+1aNnoLrSSyPuNxFUHtGy0DGyVrIjm2rHUaEYu9392Y+prpJbLUTAf4iZwjiGCTk8cY+S6aftDLNbGQcZX9eU\/qxw7gsmOP0vrmV8xHRW5g6Nn6uwnmSeQVUplouE4pfMqOo9tF7hERVmoIiIAiIgJigc6m15XwvAaKiEOZ2bXA8\/e8FTqW1dC6iqqG9wsJdTyBspBxludw+o5qnY9skbZGODmuALSO0KyeqTMtDllOD2d\/Rn0iIqzUEREAREQHluVCy5W6ejkOBK3APwPEHxwsjRtcZ7SaOUET0TjG8O44ycfcclQqPu1S\/TGpjcGRF9NXM9YwHHWHHHz4HmVZDmTiZK7VOcau2H5f0sEWdbL9brs0flpx0mMmJ\/VeOXbyytFcNNZNMZRmrxd0ERFB0EREAWXqK1i7WiWBozKzrxf3Ds58Oa1EUp2dzmcFOLi8MlLFa7XebdTVj6cRVVO7ZkMR2SXtxgn5nAPMqqAAGAMAKWpcWTWk1LtBlPcG9IxuNwdk+G\/a8Qqpd1MmfsqSi1bVaP0CIirNQREQBERATus6XatsdfG31tHK14cDvwSAfPC2qGqbW0MFU3GJWB2B2ZHBfVVTsq6Samk9iVhYcfAjCwdGVMgop7ZO0tmoZC0gnsJP3B8lZmHkZe5X8JLqv0UiIirNQREQBEXluVJJXUEtNFUyUz3gYlj4jeiIbaV0epTFM0Uf4gVDQA1tVBtAD47iT+0rm+PVFkYZhUMuVOwZc13t4+vmVwornHfNY0VZTNkayOBzZGPzlpw7fu3Y3j\/AEroxsn9DBUrKUoppp3WSyREVJ6AREQBERAFzZBDHI6VkTGvf7Tg0Au7zzKIpWGVyyjoiIoLAiIgP\/\/Z",
    "razonSocial": "COMERCIAL SERON SPA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "franco mondaca",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "wsp",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "conexion, insumos",
    "prioridad": "1",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "09:00",
    "ubicacionGPS": "LatLng(lat: -29.9661218, lng: -71.3212718)",
    "horaLlegada": "08:58",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 26/05/2026 09:00:24
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-B+6Mi0YwFmpWW-j4vb_eX94tKst1+yK5AO.Wkz10NXZn1Ctag-t
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76608783",
    "serieinterna": "KY2948",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "llamado realizado y finalizado en marzo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12202",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAByAD8DASIAAhEBAxEB\/8QAGgABAQEBAQEBAAAAAAAAAAAAAAYFAwQCB\/\/EADgQAAEDAwEEBggEBwAAAAAAAAEAAgMEBREGEiExgRMiQXGRoRUjMkJRYbHBBxRioiQzUnJz0fD\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQMEAgX\/xAArEQACAQMCAwYHAAAAAAAAAAAAAQIDETEhQRIioQQyYXGBwRMjUZHR4fH\/2gAMAwEAAhEDEQA\/AP2ZEU1cr3WV9a612EB0jR62o91ncfv4LqMWyupVjTV2bNddqC2tJq6qOMgZ2CcuPcOKxpNbUj5DHQ0VVVvB91uAe7ifJdrdpCgpT01ZmuqCcufLvGe7t55W7HGyJgZGxrGjgGjAC65F4lNq891Hq\/wTQv8AqGf+Rp57P8pI+uEM+sqj2aWkpgeBJBx5n\/gqdFHGtkT8CT7030XsTHo3V0nWfeKdh\/pa3h+1aNnoLrSSyPuNxFUHtGy0DGyVrIjm2rHUaEYu9392Y+prpJbLUTAf4iZwjiGCTk8cY+S6aftDLNbGQcZX9eU\/qxw7gsmOP0vrmV8xHRW5g6Nn6uwnmSeQVUplouE4pfMqOo9tF7hERVmoIiIAiIgJigc6m15XwvAaKiEOZ2bXA8\/e8FTqW1dC6iqqG9wsJdTyBspBxludw+o5qnY9skbZGODmuALSO0KyeqTMtDllOD2d\/Rn0iIqzUEREAREQHluVCy5W6ejkOBK3APwPEHxwsjRtcZ7SaOUET0TjG8O44ycfcclQqPu1S\/TGpjcGRF9NXM9YwHHWHHHz4HmVZDmTiZK7VOcau2H5f0sEWdbL9brs0flpx0mMmJ\/VeOXbyytFcNNZNMZRmrxd0ERFB0EREAWXqK1i7WiWBozKzrxf3Ds58Oa1EUp2dzmcFOLi8MlLFa7XebdTVj6cRVVO7ZkMR2SXtxgn5nAPMqqAAGAMAKWpcWTWk1LtBlPcG9IxuNwdk+G\/a8Qqpd1MmfsqSi1bVaP0CIirNQREQBERATus6XatsdfG31tHK14cDvwSAfPC2qGqbW0MFU3GJWB2B2ZHBfVVTsq6Samk9iVhYcfAjCwdGVMgop7ZO0tmoZC0gnsJP3B8lZmHkZe5X8JLqv0UiIirNQREQBEXluVJJXUEtNFUyUz3gYlj4jeiIbaV0epTFM0Uf4gVDQA1tVBtAD47iT+0rm+PVFkYZhUMuVOwZc13t4+vmVwornHfNY0VZTNkayOBzZGPzlpw7fu3Y3j\/AEroxsn9DBUrKUoppp3WSyREVJ6AREQBERAFzZBDHI6VkTGvf7Tg0Au7zzKIpWGVyyjoiIoLAiIgP\/\/Z",
    "razonSocial": "COMERCIAL SERON SPA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "franco mondaca",
    "correoContacto": "null",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "wsp",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "conexion, insumos",
    "prioridad": "1",
    "telefonocontacto": ".",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "09:00",
    "ubicacionGPS": "LatLng(lat: -29.9661218, lng: -71.3212718)",
    "horaLlegada": "08:58",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


26/05/2026 09:00:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76608783

[26/05/2026 09:00: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('76608783', 'KY2948', 1, 20988335, 0, NOW(), 
				'08:00', '08:58', '09:00', 15, 'llamado realizado y finalizado en marzo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779800424.png', '', null, 'COMPLETADO','LatLng(lat: -29.9661218, lng: -71.3212718)' )
				
[26/05/2026 09:00:24] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200422

26/05/2026 09:00:24 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200422'                    
				WHERE idllamado = 12202			
				TO ENVIO: micorreo@miempresa.cl, null


26/05/2026 09: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 = 12202
                

26/05/2026 09:00:24 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12202			
				
26/05/2026 09:00:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


26/05/2026 09: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 = 12202
                

26/05/2026 09: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 = 12202
                

26/05/2026 09: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 09: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 = 12202
                

26/05/2026 09: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 = 12202
                

26/05/2026 09: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 = 12202
                

26/05/2026 09: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 = 12202
                

[26/05/2026 09:00:29] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 09:00:29] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 09:00:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 09:00:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12202
            GROUP BY l.idllamado;
            

26/05/2026 09:00:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                

26/05/2026 09:00:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12202
                
[26/05/2026 09:32: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[26/05/2026 09:32:14] 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;
                

[26/05/2026 09:32:16] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 09:32:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12718
            GROUP BY l.idllamado;
            

[26/05/2026 09:32:18] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 09:32:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12718
            GROUP BY l.idllamado;
            

[26/05/2026 09:32:20] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 09:32:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12718
            GROUP BY l.idllamado;
            

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:32:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12718
            GROUP BY l.idllamado;
            

26/05/2026 09:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:32:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12718
            GROUP BY l.idllamado;
            

26/05/2026 09:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09:32:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12718
            GROUP BY l.idllamado;
            

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09:32:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12718
            GROUP BY l.idllamado;
            

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09:32:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12718
            GROUP BY l.idllamado;
            

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09:32:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12718
            GROUP BY l.idllamado;
            

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09:32:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:32:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:32:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:32:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:34:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12718
            GROUP BY l.idllamado;
            

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09:34:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12718
            GROUP BY l.idllamado;
            

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09:34:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:34:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:34:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:34:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12718
            GROUP BY l.idllamado;
            

26/05/2026 09:34:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:34:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:34:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:34:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:34:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:34:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:34:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09:35:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12718
            GROUP BY l.idllamado;
            

26/05/2026 09: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 = 12718
                

26/05/2026 09:35:00 - logentry: =========================================
FECHA: 26/05/2026 09:35:00
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-lfsz7Hp4IwN.KaiIMicWeUL-LskEal_K--0tv.BiFjOm1c7Rzk4
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76608783",
    "serieinterna": "KY2948",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "173579",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se reemplaza parts holder pad assy sp\n01 rgom 2576\nse reemplaza rodillo de recogida\n01 rgom2759\nse reemplaza rodillo alimentador\n01 rgom2758\nse reemplaza rodillo de bandeja\n01 rgom 2356",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12718",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD6AO4DASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABHEAABAwMCAggDBAcFBQkAAAABAAIDBAURBiESMRMiQVFhcYGRFKGxMsHR8BUjJDNiwuEHQkNSohZ00uLxJSY1N1NygpKy\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgECBAMFCAIDAAAAAAAAAAECAxESITFBBFFxIjJhodETQoGRscHh8CMzFFJy\/9oADAMBAAIRAxEAPwD7MiIgCIiArls1BUzamqrVWNawBzhDgb7Enn4t39FY1R9WB1q1LR3WP+\/hxA2Li3AI9QQFdmPbJG2Rjg5rgC0jtCsmlZNGTh5yxTpyeafk9D0iIqzWEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREBWtdUvTWRs4G8EoJOOw7fUhdmk6v4vT1OSetFmI+GDsPbC7LzS\/G2eqp8ZL4jw+Y3HzCrP9n9X1aujLjzErR8j\/KrlnT6GCXY4tP\/AGX0LmiIqTeEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAXzy0n9D64dT7MjdK6LH8Lvs\/yr6GvnutIn0eoo6uMEGRjXh38TdvuCupZtx5nn8d2YxqL3WfQkWmlqGVdJDUx\/YlYHjPcRlblSb07q6CIiHQiIgCIiAIiIAiIgCIiAIiIAiIgCLjrrrQ21hdV1McZxkNJy4+Q5lQT9TXG6ZZYrbI5ucGeYYA+ePn6KSg2Uzrwg7N58lqWgkAZJwAo+qv9poyWz18Ic04LWu4iPQZKh26XuFycX3y6SSAnIhhd1R7jHsFI0ulbNSbtomyuxjMxL8+h2+SlaK1ZXjry7sbdfRHJLrqzxuIa2okA7WxjB9yFK2y70d3idJSSF3BjiBGC3Iytkvwdso5Z3RxwwxtLncLQNu71UJpWOSqqa28OiEUVU8iFoA+znfkfAZ8QlouLaRxSqxqKMmnfw0LKiIqzWEREAVS1\/TcdDS1QH7uQsPk4f8qtqitS0vxenqyMZy1nSDH8O\/3KcHaSZn4mGOjKPgceiq0VVibCT16Z5Yd98HcH549FYVQtFVPwt1+Hc4tjrIeJgcebmnH3OV9XaqtIhwc8dFX2yCIirNYREQBERAEREAREQBERAERQV31PDQy\/B0Ufxla48IjZuGnxx9F1Jt2RCpUjTV5MlaytpqCndPVTNiY0cyefgB2lVx19u1+e6Cx0xggzh1VLjby\/pk+S90Wmqm4ztr9QTGZ\/NlOD1WeBx9ArMxjI2BkbQxrRgNaMAKfZj4sz2q1tezHz\/BBW7SFBSu6asJrqg7udNu3Pl2+uVOsYyNgZG0Ma0YDWjAC9IoOTepfTpQpq0VYLxLLHBC+aV4ZGwFznHkAvTnBrS5xAAGST2Ko108+rq74ChcWW2FwM0+Ptnw7\/AAHr3LsY3I1avs1lm3ojIdUayrSBxwWiB2\/YZj+fZWuKKOCFkMTAyNgDWtHIBeKSlhoqWOmp2BkUYw1oW5JSvktBSpYO1LOT1f7sERFEuCIiALDgHNLTuCMFZRAfMo2vtkj5WB5ktdbhxA3cx23p9j\/WvpccjZY2yMOWvAcD3gqm3iiA1VNTOIDLpSlrSTsHj7P+pjfdS2jq\/wCLsbIXkdLSno3DGCB2fL6K+p2oqR5nCfx1HT\/cvxYnkRFQemEREAREQBERAEREAWuaaKnidNNI2ONoy5zjgBRd61HSWj9TvPVuHVhZzz2Z7lGw2W5X+VtVfpDFADllGzbHn3fXyU1HK70M86+eCCu\/JdTzUXi4ajmdRWNroaYbS1btjjw7vr5KZs9horNDwwN45SOvM4dZ34DwXdT08NJA2CnjbHGwYDWhbUcsrLQU6Nnjm7y+nQIiKBoCwSAMk4AWVggEYIyCgKlXVtVqmudbLa4x0MZ\/aKgcneA8O4dvkrNQ0UFupGUtMzhjYMeJPefFYorfSW6J0VJA2JrnFxx2ldKnKV8loUUqTi3Oecn+2QREUC8IiIAiIgCIiArOtI3Q09Hc4h+spJwfQ9\/qB7rRa5Rb9YSwsLvhrnH00WRgEkcX\/EPZWC8Ufx9oqqYN4nPjPCP4huPmAqZJI+fSduucW81sn6NxG2G5GP5B6lXwzjY8ziF7OrjXX5ZPyPoCLVTVDKqliqI\/sysDxv3jK2qg9JO6ugiIh0IiIAiLXPPFTQvmnkbHGwZc5xwAgbse3ODWlziAAMknsVZuGoqmvqHW7T8fTyEYfUD7LPL8fZc0tTcdX1Dqek4qW1Ndh8p2MmOz+nurNQW6ktlOIKSERt7T2uPeT2qyyhrqZMc6+UMo89309TgsunKe15nld8TWP3dM\/cjyz9eamURQbbd2aIQjBYYoIiLhMIsEgDJOAFw0V6oLhVy01JN0r4Rlzmjq88bHtXbMi5RTSb1O9ERcJBERAEREARc1wFSbfP8ABkCo4D0ZIzuuHTN1fdrUJJv38TjHL5jkfb7122Vyt1EpqD3JdERcLAiIgCpdDScFZfrDviVhlgBz6fVvsroqvd+K3ayttc3ZlUOhfvjJ5b+49lZTeqMnFRVoyez8nkdejqv4rT0TScugcYzv6j5EKdVX05+wahu1rJw3j6WMdw\/6OHsrQuTXaJ8M26ST1WXyCIigaAiKOvF6pLLTdJUHie7PRxt5vP3DxXUm3ZEZSjBYpPI33C40tspTUVcgYwch2uPcB3qtw0dbq6obWVznU9sa7MUA5yDvP4+3etlBZam+VQut8BDf8GlOwaOzP4dvarS1oa0NaAABgAdindQ01MqjKvnPKPLn19DxDDHTwshhYGRsGGtaNgFsRFWbNAiIgC5a+40lspzPVzCNvYO1x7gO1RVy1RHFL8Ha4vjq05HCzdrfPv8AIeO4Wig0vLU1Hx9+l+JnO4hzljfz3DbzU1G2cjNKs5PDSV3z2RzZu2rnHg4qC15xv9qUff8ATzVkt1spLVTCCkiDG\/3jzLj3k9q6mtDWhrQAAMADsWUlK+S0JU6Kg8UneXP90CIigXhERAEREAVWBFg1iQRw0l0Gx7BJn8T\/AKlaVF6htIu9qkga0GZvXiJ\/zDs9eSnBpOzKK8G44o6rNenxJRFDaYuzrpawJnftVOejmB557CfP6gqZUWrOzLKc1OKktwiIuEwq9rSlM1j6duz6aRsgPhyP1+SsK4b1D8RZK2LAJMLsZGdwMhSg7STKq8cdKUfAr1RUGPUlmuzNo6+IMfjtJHbt4j2VvXz6eX\/urZarPWp6ktJ7tyfoAvoKnUVrGfhJXcvGz+aCIuK63WmtFG6oqHeDGDm89wVaV8ka5SUVd6Gm93unstJ0svXldtFEDu4\/cPFRVkslRW1f6avXXndvDC4bMHYSOzwHrzSzWmpudcL5eR1zvBARswdhx9PdWhTbUVZamWEXWljnpsvuwiLBIAyTgBVmwyir181VR0lJJFRVLJqtw4WCPrBp7yRt\/VQ1skvWq4XQyXJsEEIDZQxuHvz2nHPke30Vipu13kZJ8VBTwRzfgWO5amtVty2SoEso\/wAOLrH17B6qJxfdUP6wfbLfyIyeOQfU\/IeambXp23WkB0EPHKP8WTd3p3eilExRj3TvsqlT+x2XJfdnDbLNQ2iLgpIcOIw6R27neZXciKDbepojFRVoqyCIi4SCIiAIiIAiIgCIiAq17hnsN1bfKJhdBIcVcbe3x\/Pb5qx0tTDWU0dTA\/jikGWle5Yo54XwysD43gtc08iFU+Kp0bX8JD5rRO7Y8zEfz7+as76tuZH\/AAScvdfk\/Qt6LXDNHUQsmheHxvGWuadiFsVZr1Cw4BzS07gjBWUQHzSQiPSM9JJ+8guIGO7qEfcV9JZxcDeP7WBnzXyu4VsctXWMjDhBPVCbh7scX\/Eri7XdpaAeiqjnujH3laakZO1kePwlanByxO2i+VyWvVx\/RVqmqwGF7AAxrzgOJPL89yr2n6OXUNV+mrpIJWxO4IYf7oI7SPzuoisu0t\/uBkqKSpmpYweip4c+WSR+exNN1t5hkmtttjjD3Evf0owWEbHmR4bbooOMXzEuJjUrK6bjy5vmfRiQBknACjK7Udpt+RNWMc8Z\/Vx9d2e7bl64UUNL3O4nivN4ke084odhy9h7KVodOWm34MNGxzxj9ZJ13Z79+XphVWitXc3460+7G3X0XqRh1HdrntZrQ\/gO4nqNmkfIfMrmrbNVvg+K1Jei2FpP6uEbcj4Yz2cirgq1rlmLVT1AaCYahp37sH+ilGV2klYprUnGm5zeK3wXyR16fisLIj+iHRSOA6zj+89c7j6KOtubBqqe3yYFNXnpID2A5OB9R7LbcdOcLo7np\/FNVN63RtOGyDuxyHlyUpPa47rT0clyi4aiHDz0TiOF2NwD3Zx7BcuueoUJuyUbOOltGtySREVRvCIiAIiIAiIgCIiAIiIAiIgC1zQx1EL4ZmB8bxhzXDYhV+tmlbr63QiV4jdTOJYHHhO0nZ6D2VkUmrWKoTU8Sto7FRkpLppOV09CXVdsLsvgO7mfnvHqFPWy9UV1jBp5QJMdaJ2z2nfYj0KkFCXHStvrZOnhBo6jf9ZDsD5j8MKWJS7xV7OdL+vNcn9mTaKri26qoTimukdWzsEw3+efqsmDWVQOB1TSU4OxcAM\/QrmDxR3\/ACHvB3OSamgrP7Q3Oy1zKdgllzjALWj7+FZkH+1t6NNCOC1Upy97RjpXef08N1zPoy2V+nbXJ0lTL1q6rOeXa3y339lcLdQQ2yhipIBhsYwT2uPaT5qyUsNjJSpuo2npe768vhub4oo4IWQxMDI2ANa0cgFSoj+jv7RntBwyd5z48bc\/\/pXhUbVp+B1VRVwbgcLHE8slrjn5YUaWba5l3GdmEZrZovKKE1Hdamg+EpaLgFTWyGONzxs3kM+7h+dlwt1Jc7XJ0d9txDC7aeHcAZHvz8FFQbV0XS4iEJOL232LSorUtL8Xp6sjGctZ0gx\/Dv8Acu+mqoKyBs9NMyWN3JzTleqiPpqaWIjPGwtx5hRWTLJpTg1zRH6bqfitPUcmckR8B3\/y9X7lKKuaGk49Pluc9HM5vlsD96sa7NWkyPDyxUovwPLJGSZ4HtdwktPCc4I5helz0dBS0DZG0sQjErzI\/BJy48zuuhRZar2zCIiHQiIgCIiAIiIAiIgCIiArE\/8A5iU3+7H6OVnVYB6X+0MjGeipvbb\/AJlZ1Oe3QzcP7\/8A0wiIoGkKA1Le5KNjLfb8vr6g4aG7lg7\/AD7vddl8vUVloxI4dJNIeGKMf3j+AXFpuyS0rpblcetXVJyc79GD2ef\/AEVkUksTMtWcpS9lDXd8l6s7LFZYrPSYzx1MuHTSHcuPd5KURFBtt3ZohCMIqMdAq7riDpdPmTG8MrXZ8+r96sSjNRw9Pp6uZ3RF\/wD9et9y7B2kiviI4qUl4EJUSmu1VYQ4gg0wm553IJ\/lVrlijnidFMxskbxhzXDIIVG01L8XqGgf\/wCjRcO3hkbq+KdTJpFHCPHGUnu\/sjhtlnpLQJW0ge1kruIsc\/Ib5LuRFW23mzXGKirRWRBaUttXbKOpiq4uiL5y9jeIHbA7j4KdREk7u5ynBU4qK2CIi4TCIiAIiIAiIgCIiAIiIAiIgKxbAZNeXSXsbCGcv\/Z+Cs6rFg6+q70\/lhwbj1P4Kzqc9TNw3cb5t\/ULnr66C3UclVUPDWMGfM9gHit7nBrS5xAAGST2KosEmsbu2UtLbVRP2BH7139dvIea5GN83oSrVHBKMe89DZYqGe+Vov10GzT+yxdjQOR9+Xjv3K1rDWhrQ1oAAGAB2LKSliZKlSVONtXu+YREUS0LXURCemlhPKRhafUYWxEDV8igaCj\/AO2p3EbtpyMEfxNV\/VYsNAaTVV0c2nfDDjEfVIackE4yrOrKrvK5j4KDhSwvmwiIqzYEREAREQBERAEREAREQBERAEREAREQFY0z19Q35\/LE\/Dj\/AOT\/AMFZ1WNLf+Oag\/3n+Z66NSXqakMVtt3Wrqk8IxuYx3+f9VbJNzsjFRqRp0MUub+rOO91s9+rhY7W48DXftUw+yB3fnmVY6Kip7fSspqaMMjYNh3+J8VyWKyxWSh6Fh45Xnilf\/mP4KTUZNaLQto03d1J95+XgERFA0BERAEREAREQBERAEREAREQBERAEREAREQBERAEREARF4llZDE+WRwaxjS5zj2AcygKZ+lWae1BfC4BzpA2RjCccTiQf5yfRSumbTLF0l2rsPq6zrjb920748M59MYUBS1lPd9bxVVRCBBI8iLiGz8AhpOfED1X0BX1HZW5nm8LFVJOV8k3b47hERUHpBERAEREAREQELTacbRVtPNTV1SIYnPe6F7i4PLh8vYqaRF1tvUhCnGCtFBERcJhERAEREAREQBERAEREAREQBERAFV9S1U1yrodPUL+GSQ8VQ\/OzW4zg+m\/t3qavFzitFukqpCMgYjaf7z8bBRulbXJT0z7jWEvrKzrOc4nIadwD49vsrI5LEzLWbqSVJb69Pycep7fHa7Zb6mij4Rb5RwjPYTnf1A9yrRDMyogjnjOWSNDmnvBGQvFbSRV9HLSzg9HKMOxzWaSmjo6SKmizwRNDW5OeS45XiThTcKja0aXl+DciIoF4REQBERAEREARctxgqqmifFR1Pw0ziMScOcDO\/yXQwOaxoe7icAAXYxk96HL52sekREOhERAEREAREQBERAEREAREQBERAVSujdf9WtoJSBSUDekcwj7Z225+XzVrWsQxNmdMImCVww54aOIjuJWxSk72RRShhcpbthERRLwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "COMERCIAL SERON SPA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "09:35",
    "ubicacionGPS": "LatLng(lat: -29.9679879, lng: -71.3103591)",
    "horaLlegada": "09:15",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 26/05/2026 09:35:00
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-lfsz7Hp4IwN.KaiIMicWeUL-LskEal_K--0tv.BiFjOm1c7Rzk4
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76608783",
    "serieinterna": "KY2948",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "173579",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se reemplaza parts holder pad assy sp\n01 rgom 2576\nse reemplaza rodillo de recogida\n01 rgom2759\nse reemplaza rodillo alimentador\n01 rgom2758\nse reemplaza rodillo de bandeja\n01 rgom 2356",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12718",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD6AO4DASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABHEAABAwMCAggDBAcFBQkAAAABAAIDBAURBiESMRMiQVFhcYGRFKGxMsHR8BUjJDNiwuEHQkNSohZ00uLxJSY1N1NygpKy\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgECBAMFCAIDAAAAAAAAAAECAxESITFBBFFxIjJhodETQoGRscHh8CMzFFJy\/9oADAMBAAIRAxEAPwD7MiIgCIiArls1BUzamqrVWNawBzhDgb7Enn4t39FY1R9WB1q1LR3WP+\/hxA2Li3AI9QQFdmPbJG2Rjg5rgC0jtCsmlZNGTh5yxTpyeafk9D0iIqzWEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREBWtdUvTWRs4G8EoJOOw7fUhdmk6v4vT1OSetFmI+GDsPbC7LzS\/G2eqp8ZL4jw+Y3HzCrP9n9X1aujLjzErR8j\/KrlnT6GCXY4tP\/AGX0LmiIqTeEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAXzy0n9D64dT7MjdK6LH8Lvs\/yr6GvnutIn0eoo6uMEGRjXh38TdvuCupZtx5nn8d2YxqL3WfQkWmlqGVdJDUx\/YlYHjPcRlblSb07q6CIiHQiIgCIiAIiIAiIgCIiAIiIAiIgCLjrrrQ21hdV1McZxkNJy4+Q5lQT9TXG6ZZYrbI5ucGeYYA+ePn6KSg2Uzrwg7N58lqWgkAZJwAo+qv9poyWz18Ic04LWu4iPQZKh26XuFycX3y6SSAnIhhd1R7jHsFI0ulbNSbtomyuxjMxL8+h2+SlaK1ZXjry7sbdfRHJLrqzxuIa2okA7WxjB9yFK2y70d3idJSSF3BjiBGC3Iytkvwdso5Z3RxwwxtLncLQNu71UJpWOSqqa28OiEUVU8iFoA+znfkfAZ8QlouLaRxSqxqKMmnfw0LKiIqzWEREAVS1\/TcdDS1QH7uQsPk4f8qtqitS0vxenqyMZy1nSDH8O\/3KcHaSZn4mGOjKPgceiq0VVibCT16Z5Yd98HcH549FYVQtFVPwt1+Hc4tjrIeJgcebmnH3OV9XaqtIhwc8dFX2yCIirNYREQBERAEREAREQBERAERQV31PDQy\/B0Ufxla48IjZuGnxx9F1Jt2RCpUjTV5MlaytpqCndPVTNiY0cyefgB2lVx19u1+e6Cx0xggzh1VLjby\/pk+S90Wmqm4ztr9QTGZ\/NlOD1WeBx9ArMxjI2BkbQxrRgNaMAKfZj4sz2q1tezHz\/BBW7SFBSu6asJrqg7udNu3Pl2+uVOsYyNgZG0Ma0YDWjAC9IoOTepfTpQpq0VYLxLLHBC+aV4ZGwFznHkAvTnBrS5xAAGST2Ko108+rq74ChcWW2FwM0+Ptnw7\/AAHr3LsY3I1avs1lm3ojIdUayrSBxwWiB2\/YZj+fZWuKKOCFkMTAyNgDWtHIBeKSlhoqWOmp2BkUYw1oW5JSvktBSpYO1LOT1f7sERFEuCIiALDgHNLTuCMFZRAfMo2vtkj5WB5ktdbhxA3cx23p9j\/WvpccjZY2yMOWvAcD3gqm3iiA1VNTOIDLpSlrSTsHj7P+pjfdS2jq\/wCLsbIXkdLSno3DGCB2fL6K+p2oqR5nCfx1HT\/cvxYnkRFQemEREAREQBERAEREAWuaaKnidNNI2ONoy5zjgBRd61HSWj9TvPVuHVhZzz2Z7lGw2W5X+VtVfpDFADllGzbHn3fXyU1HK70M86+eCCu\/JdTzUXi4ajmdRWNroaYbS1btjjw7vr5KZs9horNDwwN45SOvM4dZ34DwXdT08NJA2CnjbHGwYDWhbUcsrLQU6Nnjm7y+nQIiKBoCwSAMk4AWVggEYIyCgKlXVtVqmudbLa4x0MZ\/aKgcneA8O4dvkrNQ0UFupGUtMzhjYMeJPefFYorfSW6J0VJA2JrnFxx2ldKnKV8loUUqTi3Oecn+2QREUC8IiIAiIgCIiArOtI3Q09Hc4h+spJwfQ9\/qB7rRa5Rb9YSwsLvhrnH00WRgEkcX\/EPZWC8Ufx9oqqYN4nPjPCP4huPmAqZJI+fSduucW81sn6NxG2G5GP5B6lXwzjY8ziF7OrjXX5ZPyPoCLVTVDKqliqI\/sysDxv3jK2qg9JO6ugiIh0IiIAiLXPPFTQvmnkbHGwZc5xwAgbse3ODWlziAAMknsVZuGoqmvqHW7T8fTyEYfUD7LPL8fZc0tTcdX1Dqek4qW1Ndh8p2MmOz+nurNQW6ktlOIKSERt7T2uPeT2qyyhrqZMc6+UMo89309TgsunKe15nld8TWP3dM\/cjyz9eamURQbbd2aIQjBYYoIiLhMIsEgDJOAFw0V6oLhVy01JN0r4Rlzmjq88bHtXbMi5RTSb1O9ERcJBERAEREARc1wFSbfP8ABkCo4D0ZIzuuHTN1fdrUJJv38TjHL5jkfb7122Vyt1EpqD3JdERcLAiIgCpdDScFZfrDviVhlgBz6fVvsroqvd+K3ayttc3ZlUOhfvjJ5b+49lZTeqMnFRVoyez8nkdejqv4rT0TScugcYzv6j5EKdVX05+wahu1rJw3j6WMdw\/6OHsrQuTXaJ8M26ST1WXyCIigaAiKOvF6pLLTdJUHie7PRxt5vP3DxXUm3ZEZSjBYpPI33C40tspTUVcgYwch2uPcB3qtw0dbq6obWVznU9sa7MUA5yDvP4+3etlBZam+VQut8BDf8GlOwaOzP4dvarS1oa0NaAABgAdindQ01MqjKvnPKPLn19DxDDHTwshhYGRsGGtaNgFsRFWbNAiIgC5a+40lspzPVzCNvYO1x7gO1RVy1RHFL8Ha4vjq05HCzdrfPv8AIeO4Wig0vLU1Hx9+l+JnO4hzljfz3DbzU1G2cjNKs5PDSV3z2RzZu2rnHg4qC15xv9qUff8ATzVkt1spLVTCCkiDG\/3jzLj3k9q6mtDWhrQAAMADsWUlK+S0JU6Kg8UneXP90CIigXhERAEREAVWBFg1iQRw0l0Gx7BJn8T\/AKlaVF6htIu9qkga0GZvXiJ\/zDs9eSnBpOzKK8G44o6rNenxJRFDaYuzrpawJnftVOejmB557CfP6gqZUWrOzLKc1OKktwiIuEwq9rSlM1j6duz6aRsgPhyP1+SsK4b1D8RZK2LAJMLsZGdwMhSg7STKq8cdKUfAr1RUGPUlmuzNo6+IMfjtJHbt4j2VvXz6eX\/urZarPWp6ktJ7tyfoAvoKnUVrGfhJXcvGz+aCIuK63WmtFG6oqHeDGDm89wVaV8ka5SUVd6Gm93unstJ0svXldtFEDu4\/cPFRVkslRW1f6avXXndvDC4bMHYSOzwHrzSzWmpudcL5eR1zvBARswdhx9PdWhTbUVZamWEXWljnpsvuwiLBIAyTgBVmwyir181VR0lJJFRVLJqtw4WCPrBp7yRt\/VQ1skvWq4XQyXJsEEIDZQxuHvz2nHPke30Vipu13kZJ8VBTwRzfgWO5amtVty2SoEso\/wAOLrH17B6qJxfdUP6wfbLfyIyeOQfU\/IeambXp23WkB0EPHKP8WTd3p3eilExRj3TvsqlT+x2XJfdnDbLNQ2iLgpIcOIw6R27neZXciKDbepojFRVoqyCIi4SCIiAIiIAiIgCIiAq17hnsN1bfKJhdBIcVcbe3x\/Pb5qx0tTDWU0dTA\/jikGWle5Yo54XwysD43gtc08iFU+Kp0bX8JD5rRO7Y8zEfz7+as76tuZH\/AAScvdfk\/Qt6LXDNHUQsmheHxvGWuadiFsVZr1Cw4BzS07gjBWUQHzSQiPSM9JJ+8guIGO7qEfcV9JZxcDeP7WBnzXyu4VsctXWMjDhBPVCbh7scX\/Eri7XdpaAeiqjnujH3laakZO1kePwlanByxO2i+VyWvVx\/RVqmqwGF7AAxrzgOJPL89yr2n6OXUNV+mrpIJWxO4IYf7oI7SPzuoisu0t\/uBkqKSpmpYweip4c+WSR+exNN1t5hkmtttjjD3Evf0owWEbHmR4bbooOMXzEuJjUrK6bjy5vmfRiQBknACjK7Udpt+RNWMc8Z\/Vx9d2e7bl64UUNL3O4nivN4ke084odhy9h7KVodOWm34MNGxzxj9ZJ13Z79+XphVWitXc3460+7G3X0XqRh1HdrntZrQ\/gO4nqNmkfIfMrmrbNVvg+K1Jei2FpP6uEbcj4Yz2cirgq1rlmLVT1AaCYahp37sH+ilGV2klYprUnGm5zeK3wXyR16fisLIj+iHRSOA6zj+89c7j6KOtubBqqe3yYFNXnpID2A5OB9R7LbcdOcLo7np\/FNVN63RtOGyDuxyHlyUpPa47rT0clyi4aiHDz0TiOF2NwD3Zx7BcuueoUJuyUbOOltGtySREVRvCIiAIiIAiIgCIiAIiIAiIgC1zQx1EL4ZmB8bxhzXDYhV+tmlbr63QiV4jdTOJYHHhO0nZ6D2VkUmrWKoTU8Sto7FRkpLppOV09CXVdsLsvgO7mfnvHqFPWy9UV1jBp5QJMdaJ2z2nfYj0KkFCXHStvrZOnhBo6jf9ZDsD5j8MKWJS7xV7OdL+vNcn9mTaKri26qoTimukdWzsEw3+efqsmDWVQOB1TSU4OxcAM\/QrmDxR3\/ACHvB3OSamgrP7Q3Oy1zKdgllzjALWj7+FZkH+1t6NNCOC1Upy97RjpXef08N1zPoy2V+nbXJ0lTL1q6rOeXa3y339lcLdQQ2yhipIBhsYwT2uPaT5qyUsNjJSpuo2npe768vhub4oo4IWQxMDI2ANa0cgFSoj+jv7RntBwyd5z48bc\/\/pXhUbVp+B1VRVwbgcLHE8slrjn5YUaWba5l3GdmEZrZovKKE1Hdamg+EpaLgFTWyGONzxs3kM+7h+dlwt1Jc7XJ0d9txDC7aeHcAZHvz8FFQbV0XS4iEJOL232LSorUtL8Xp6sjGctZ0gx\/Dv8Acu+mqoKyBs9NMyWN3JzTleqiPpqaWIjPGwtx5hRWTLJpTg1zRH6bqfitPUcmckR8B3\/y9X7lKKuaGk49Pluc9HM5vlsD96sa7NWkyPDyxUovwPLJGSZ4HtdwktPCc4I5helz0dBS0DZG0sQjErzI\/BJy48zuuhRZar2zCIiHQiIgCIiAIiIAiIgCIiArE\/8A5iU3+7H6OVnVYB6X+0MjGeipvbb\/AJlZ1Oe3QzcP7\/8A0wiIoGkKA1Le5KNjLfb8vr6g4aG7lg7\/AD7vddl8vUVloxI4dJNIeGKMf3j+AXFpuyS0rpblcetXVJyc79GD2ef\/AEVkUksTMtWcpS9lDXd8l6s7LFZYrPSYzx1MuHTSHcuPd5KURFBtt3ZohCMIqMdAq7riDpdPmTG8MrXZ8+r96sSjNRw9Pp6uZ3RF\/wD9et9y7B2kiviI4qUl4EJUSmu1VYQ4gg0wm553IJ\/lVrlijnidFMxskbxhzXDIIVG01L8XqGgf\/wCjRcO3hkbq+KdTJpFHCPHGUnu\/sjhtlnpLQJW0ge1kruIsc\/Ib5LuRFW23mzXGKirRWRBaUttXbKOpiq4uiL5y9jeIHbA7j4KdREk7u5ynBU4qK2CIi4TCIiAIiIAiIgCIiAIiIAiIgKxbAZNeXSXsbCGcv\/Z+Cs6rFg6+q70\/lhwbj1P4Kzqc9TNw3cb5t\/ULnr66C3UclVUPDWMGfM9gHit7nBrS5xAAGST2KosEmsbu2UtLbVRP2BH7139dvIea5GN83oSrVHBKMe89DZYqGe+Vov10GzT+yxdjQOR9+Xjv3K1rDWhrQ1oAAGAB2LKSliZKlSVONtXu+YREUS0LXURCemlhPKRhafUYWxEDV8igaCj\/AO2p3EbtpyMEfxNV\/VYsNAaTVV0c2nfDDjEfVIackE4yrOrKrvK5j4KDhSwvmwiIqzYEREAREQBERAEREAREQBERAEREAREQFY0z19Q35\/LE\/Dj\/AOT\/AMFZ1WNLf+Oag\/3n+Z66NSXqakMVtt3Wrqk8IxuYx3+f9VbJNzsjFRqRp0MUub+rOO91s9+rhY7W48DXftUw+yB3fnmVY6Kip7fSspqaMMjYNh3+J8VyWKyxWSh6Fh45Xnilf\/mP4KTUZNaLQto03d1J95+XgERFA0BERAEREAREQBERAEREAREQBERAEREAREQBERAEREARF4llZDE+WRwaxjS5zj2AcygKZ+lWae1BfC4BzpA2RjCccTiQf5yfRSumbTLF0l2rsPq6zrjb920748M59MYUBS1lPd9bxVVRCBBI8iLiGz8AhpOfED1X0BX1HZW5nm8LFVJOV8k3b47hERUHpBERAEREAREQELTacbRVtPNTV1SIYnPe6F7i4PLh8vYqaRF1tvUhCnGCtFBERcJhERAEREAREQBERAEREAREQBERAFV9S1U1yrodPUL+GSQ8VQ\/OzW4zg+m\/t3qavFzitFukqpCMgYjaf7z8bBRulbXJT0z7jWEvrKzrOc4nIadwD49vsrI5LEzLWbqSVJb69Pycep7fHa7Zb6mij4Rb5RwjPYTnf1A9yrRDMyogjnjOWSNDmnvBGQvFbSRV9HLSzg9HKMOxzWaSmjo6SKmizwRNDW5OeS45XiThTcKja0aXl+DciIoF4REQBERAEREARctxgqqmifFR1Pw0ziMScOcDO\/yXQwOaxoe7icAAXYxk96HL52sekREOhERAEREAREQBERAEREAREQBERAVSujdf9WtoJSBSUDekcwj7Z225+XzVrWsQxNmdMImCVww54aOIjuJWxSk72RRShhcpbthERRLwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "COMERCIAL SERON SPA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "09:35",
    "ubicacionGPS": "LatLng(lat: -29.9679879, lng: -71.3103591)",
    "horaLlegada": "09:15",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


26/05/2026 09:35:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76608783

[26/05/2026 09:35:00] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76608783', 'KY2948', 1, 20988335, 173579, NOW(), 
				'08:00', '09:15', '09:35', 3, 'se reemplaza parts holder pad assy sp
01 rgom 2576
se reemplaza rodillo de recogida
01 rgom2759
se reemplaza rodillo alimentador
01 rgom2758
se reemplaza rodillo de bandeja
01 rgom 2356', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779802500.png', '', null, 'COMPLETADO','LatLng(lat: -29.9679879, lng: -71.3103591)' )
				
[26/05/2026 09:35:00] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200423

26/05/2026 09:35:00 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200423'                    
				WHERE idllamado = 12718			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


26/05/2026 09:35:01 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12718			
				
26/05/2026 09:35:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


26/05/2026 09:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:35:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12718
            GROUP BY l.idllamado;
            

26/05/2026 09:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:35:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:35:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:35:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

26/05/2026 09:35:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12718
                

[26/05/2026 09:35:03] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 09:35:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12718
            GROUP BY l.idllamado;
            

26/05/2026 09: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 = 12718
                

[26/05/2026 09:35:03] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 09: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 = 12718
                

26/05/2026 09:35:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12718
            GROUP BY l.idllamado;
            

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                

26/05/2026 09: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 = 12718
                
[26/05/2026 10:06:31] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				
[26/05/2026 10:06: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;
                

[26/05/2026 10:06: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;
                

[26/05/2026 10:06: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;
                

26/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12292
            GROUP BY l.idllamado;
            

[26/05/2026 10:07: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;
                

26/05/2026 10:07:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12292
            GROUP BY l.idllamado;
            

[26/05/2026 10:09: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;
                

26/05/2026 10:09:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12711
            GROUP BY l.idllamado;
            

[26/05/2026 10:09:24] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 10:09: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;
                

[26/05/2026 10:10: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;
                

[26/05/2026 10:10: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;
                

[26/05/2026 10:10: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;
                

[26/05/2026 10:10: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;
                

[26/05/2026 10:42: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;
                

26/05/2026 10:42:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12292
            GROUP BY l.idllamado;
            

26/05/2026 10:42:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12292
            GROUP BY l.idllamado;
            

26/05/2026 10:42:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12292
            GROUP BY l.idllamado;
            

[26/05/2026 10:42:33] 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;
                

26/05/2026 10: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 = 12292
                

26/05/2026 10: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 = 12292
                

26/05/2026 10:42:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12292
            GROUP BY l.idllamado;
            

26/05/2026 10:42:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:42:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:42:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12292
            GROUP BY l.idllamado;
            

26/05/2026 10:42:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:42:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:42:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:42:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:42:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:42:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12292
            GROUP BY l.idllamado;
            

26/05/2026 10:42:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:42:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:42:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:42:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:42:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12292
            GROUP BY l.idllamado;
            

26/05/2026 10:42:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:42:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:42:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:42:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12292
            GROUP BY l.idllamado;
            

26/05/2026 10:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:42:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12292
            GROUP BY l.idllamado;
            

26/05/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 = 12292
                

26/05/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 = 12292
                

26/05/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 = 12292
                

26/05/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 = 12292
                

26/05/2026 10:43:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12292
            GROUP BY l.idllamado;
            

26/05/2026 10:43:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:43:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:43:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:43:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12292
            GROUP BY l.idllamado;
            

26/05/2026 10:43:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:43:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:43:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10: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 = 12292
                

26/05/2026 10: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 = 12292
                

26/05/2026 10:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:44:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12292
            GROUP BY l.idllamado;
            

26/05/2026 10:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:44:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:44:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12292
            GROUP BY l.idllamado;
            

26/05/2026 10:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:44:11 - logentry: =========================================
FECHA: 26/05/2026 10:44:11
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-2FQDQRn-vqWzaLt5b2MVeHQDDQEDlMeBBT9k.ZfSjE0uaee0H_t
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "5735196",
    "serieinterna": "TO1979",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "954878",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "manchas al imprimir \nse cambia \ncuchilla.  cilindro",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12292",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABwAMcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABDEAABAwMCAgcFBAcFCQAAAAABAAIDBAURBiESMRNBUWFxkbEUIoGh0RUkMlIzNEJDRGPhFoKSk8ElVFVicrLS8PH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAuEQACAQIEBAUDBQEAAAAAAAAAAQIDEQQSITETUWGRMkFxgeEzodEUQlKxwfD\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAERQrheKC1sLqupYx2MhgOXHwA3UpN7FZSUVduxNXGpq6ejj6SpnjhZnGXuAWcde7zez0dlonU8Lv4qoGPLq8srrTaPhkk9ou1TJWzk5I4iGDu7VfIl4mc\/HlP6Ub9Xovk9qNaUIeYqCCeul6mxtIB+PP5LmK\/VdcT0Fuho2EYBlPvDv3+i0NPS09JH0dNBHCz8sbQ0fJdlGaK2RPCqS8c+2nyZj7P1fLu+7U0fY1rR\/wCKfZ2rKU8cN1hqR1skHPzH+oWnRM75Ifpo\/wAn3ZlhqW7W\/Au9mkDB+KWDcD1HLvVzbb7brrtS1AMg5xu913kefwVgqK6aWpqt\/tNC72CsaciWLIB8QCMeI+am8XvoRlrU9YvMuT37l6iotO3aoqXS224DhraXZ2+S8DG\/zHjlXqo007G9OoqkcyCIiguEREAREQBFTXi719tq4209qlrICzLnxg5acnbYHqUSLXFuLiyqgqKZ45hzM+m\/yV1CTV0YSxFKMssnY0iKsh1JZpzhtwhaf5hLP+7C7fbVq\/4nR\/57fqq5XyLqrTe0l3JqKuff7RGDm5UxwMnhkB9FXT62tjXdHSsnq5Ds1sceMns33+SlQk\/IrKvSjvJGiUSvudHbITLVztjGNm5953gOtZ91Zqm8gtpqRttgcR77zh4Hid\/IKZRaRo4pRUV8slwqNiXTHLc+B5\/ElWypeJmfGnP6cfd6L8kJ11vuoHFlpgNHSHb2iXZxHj9M+Km27SVFSv6esc6uqTuXzbjPh9cq+AAGAMAL1Q5vZaExw6vmqPM+u3sjwAAYAwAvURUOkIiIAiIgCIiAzNd9319QvYQ3p4CHgftfi\/p5LTLMVf3rX9IxmMU1PxPJ+P1C06vPy9Dmobz9fwERFQ6QiIgCIiALnLDFO3hliZIOx7QV0RBuVcumrLNnit0Iz+TLfTC4jSFhBz7By\/mv+qukVs8uZk6FJ7xXYqI9LWSMgtt7Dj8znO9SrGno6akbw01PFCOyNgb6Lsihyb3ZaNOEfCkgiIoLhERAEREAREQBERAERRrjVCht1RVH91GXDvONvmm5DaSuyg03mt1Dd7keXH0TCesZ+jWrUKg0ZSmnsDJHD3qh7pCevsHor9XqeIwwqapJvz176hERUOgIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAs3rWd5t9Pb4v0tbMGgY5gf1LVpFln5umvWNxxQ26PJ224sdviR\/hV4b35HNiXeGRfu0\/72NHS07KSkhpmfhiYGD4DC7IvmSRkTC+R7WNHMuOAFQ6FZI+kVZPqKz02ekuEJI6mHj9MqI\/WlkbyqJH79UTv9VZQk\/IydelHeS7l8irLfqG2XOYQU05MpyeAsIOB38lZqGmtzSM4zV4u4REUFgiIgCIiAIiIAiIgCIiAIiIAiIgCKDcLzb7WB7ZUsjceTObj8Bus5VazqKnibboI6ePf7xUuA8h292\/grxhKWxhUxFOno3ryNVVVlPQwmWpmZEwdbnAZ7gsLYb8+nnrZ4rfNWVtXLxEN5Nbk9YHaezsVXcKmGcufPVzXCpcNpN2RsPcCMnyapFGzUU9I2moYKiODtjZ0YceeS7bPn2LeNNRWp5VTFyqVE4rblr8f2W1fdb3\/G3Oltg5OhjIfJv14GSNj2jkqGolhnLXvdV1juqWok4G8xntPX2jmvuayijd\/tOvhp3ncxNzLJ5DbzIXWksFZeJuKkglbCedRUuxxd\/\/AMzz5q6yrUwm6tR2tr63fx2RA9sLH4hpaVu2MCPpM\/4s\/wDoWkoINRVVIyCG2UlKMYdUSwNYT2bY9Armz6RobW5s0n3moHJzx7rfAK\/WU6q8kd2HwU0rzlboigsWlmWqoNbPUOnqnA5I2aM8\/H4+Sv0RYOTk7s9GnTjTjligiIoNAiIgCIiAIqa93\/7MljpKemkqayYZjjaDjG++fgdlA9m1bc8maqht0ZP4Gbu+WfVXUNLs55V0pZYpt9DTkgDJOAFyfV00f46iJu2d3gLPDRFPLwmtuNXUPHM8QAPnn1XsmkdPUjeKplcwZ5yzhv0U2jzKupX3yJer+C8+07f\/AL9Tf5rfqvsV1IRkVUJB\/mBZCsp9FUY3cZnflhkc\/wCecfNUNfNawB7Ha5o2vGWvnlO47gO\/vKuqSfM554yVPe3s3+D9QE8JGRKwg\/8AMFFrLzbreHe01kTHN5s4su8huvzu36bulzdmKmMUZ36SUFrcd3WfhlXjdF26jhL7rdRG4jbhLWAH+9nPyR04J6sRxVepG8YW6t6Eiu19Tx8TaGlfKeQfIeFvjjmfks9XaovNc7hdUuhaeTIBwfPn812q6LTVMcQXKrnkBwBEwHfuJAHkVxhs9zranpLdS1gB\/ezO4S4dudvUrWMYLW3c4KtXETdnK\/RfB0oNJXiuIkdF7Ow7h8xwfLmro6e0\/bgH3e5GeYfia6XGf7o975rym0ddXRltTeHRBw3bGXPz45IUOq0dU2sGrbVUc0Ue5FQOEH4bj5+aq5ZnbMaxounG\/Cv6v\/CPeKq11s9JSWS38Ya\/ieGRYdLywO07Z5q8FJqe9hrqmpZbIDzZFkPI9fMjwUfR7TcbtU3V8EULY2NjZHCOFjSRvgfD5rZKk5ZXZHThqPFTqSej8lotCmtulrZbX9K2MzzZz0kxDiD3DkrlEWLbe56EIRgrRVgiIoLhERAEXCWtpoKmKmlmYyWUEsYTuQOaJYjMuZ3REQkIiICou+nKa7TMqOlkp52bdJFgEjvVeNO36L9FqKV3\/WHHb4krTorqckrGEsPTk81tejaMudJ3CcEVeoKmQH9kZxj4uXWHQ1pjOZXVE5PPjfj0AWjROJLmVWFo7uN\/XUr6Ww2qiIMFDC1w5OcOIj4nPYszPpW9uu0lY2elkc52Wvl97HZsR1LbIinJE1MNTmkrWty0Mx\/Z2+VP65qCRo62wggeo9F1g0RaY3cUxnqD19JJj0wtEicSRCwtLdq\/rqRKW10FD+rUcMRxjiawZ8+alos3qo32VzKW2ROMEjDxvjPvZzyJ6h\/VQlme5eclShdL2RIumqaWhm9kpY31tWdhFFuAewkegWZvzLjOxkl3l+8TnFNRRH8Ges+nWTnmMKVa7ZqKiYW0dtpKRzuc8hDn+px5dau7RpptHVGvr6g1lad+N3Jh7lteMNjgarYjSSa+yX+t\/Ym2K2\/ZVogpTvIBxSHP7R3P0+CsERYN3dz04xUYqK2QREUFgiIgCIiA5PpoJKiOofCx00QIY8jdueeCi6ohFkj\/2Q==",
    "razonSocial": "JULIO ALEJANDRO ENRIQUE ABASOLO ARAVENA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "YASMIN",
    "correoContacto": "coordinadora1@abasolonotaria.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "APP",
    "otroTipo": "WSP",
    "idFalla": "-2",
    "otraFalla": "SOMBRAS EN LATEERALES",
    "codError": "Sin coderror",
    "prioridad": "2",
    "telefonocontacto": "+56 9 7535 4714",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOR-R744\",\"id_control\":\"28782\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R438\",\"id_control\":\"28782\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:44",
    "ubicacionGPS": "LatLng(lat: -23.6457553, lng: -70.3984444)",
    "horaLlegada": "10:42",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 26/05/2026 10:44:11
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-2FQDQRn-vqWzaLt5b2MVeHQDDQEDlMeBBT9k.ZfSjE0uaee0H_t
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "5735196",
    "serieinterna": "TO1979",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "954878",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "manchas al imprimir \nse cambia \ncuchilla.  cilindro",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12292",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABwAMcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABDEAABAwMCAgcFBAcFCQAAAAABAAIDBAURBiESMRNBUWFxkbEUIoGh0RUkMlIzNEJDRGPhFoKSk8ElVFVicrLS8PH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAuEQACAQIEBAUDBQEAAAAAAAAAAQIDEQQSITETUWGRMkFxgeEzodEUQlKxwfD\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAERQrheKC1sLqupYx2MhgOXHwA3UpN7FZSUVduxNXGpq6ejj6SpnjhZnGXuAWcde7zez0dlonU8Lv4qoGPLq8srrTaPhkk9ou1TJWzk5I4iGDu7VfIl4mc\/HlP6Ub9Xovk9qNaUIeYqCCeul6mxtIB+PP5LmK\/VdcT0Fuho2EYBlPvDv3+i0NPS09JH0dNBHCz8sbQ0fJdlGaK2RPCqS8c+2nyZj7P1fLu+7U0fY1rR\/wCKfZ2rKU8cN1hqR1skHPzH+oWnRM75Ifpo\/wAn3ZlhqW7W\/Au9mkDB+KWDcD1HLvVzbb7brrtS1AMg5xu913kefwVgqK6aWpqt\/tNC72CsaciWLIB8QCMeI+am8XvoRlrU9YvMuT37l6iotO3aoqXS224DhraXZ2+S8DG\/zHjlXqo007G9OoqkcyCIiguEREAREQBFTXi719tq4209qlrICzLnxg5acnbYHqUSLXFuLiyqgqKZ45hzM+m\/yV1CTV0YSxFKMssnY0iKsh1JZpzhtwhaf5hLP+7C7fbVq\/4nR\/57fqq5XyLqrTe0l3JqKuff7RGDm5UxwMnhkB9FXT62tjXdHSsnq5Ds1sceMns33+SlQk\/IrKvSjvJGiUSvudHbITLVztjGNm5953gOtZ91Zqm8gtpqRttgcR77zh4Hid\/IKZRaRo4pRUV8slwqNiXTHLc+B5\/ElWypeJmfGnP6cfd6L8kJ11vuoHFlpgNHSHb2iXZxHj9M+Km27SVFSv6esc6uqTuXzbjPh9cq+AAGAMAL1Q5vZaExw6vmqPM+u3sjwAAYAwAvURUOkIiIAiIgCIiAzNd9319QvYQ3p4CHgftfi\/p5LTLMVf3rX9IxmMU1PxPJ+P1C06vPy9Dmobz9fwERFQ6QiIgCIiALnLDFO3hliZIOx7QV0RBuVcumrLNnit0Iz+TLfTC4jSFhBz7By\/mv+qukVs8uZk6FJ7xXYqI9LWSMgtt7Dj8znO9SrGno6akbw01PFCOyNgb6Lsihyb3ZaNOEfCkgiIoLhERAEREAREQBERAERRrjVCht1RVH91GXDvONvmm5DaSuyg03mt1Dd7keXH0TCesZ+jWrUKg0ZSmnsDJHD3qh7pCevsHor9XqeIwwqapJvz176hERUOgIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAs3rWd5t9Pb4v0tbMGgY5gf1LVpFln5umvWNxxQ26PJ224sdviR\/hV4b35HNiXeGRfu0\/72NHS07KSkhpmfhiYGD4DC7IvmSRkTC+R7WNHMuOAFQ6FZI+kVZPqKz02ekuEJI6mHj9MqI\/WlkbyqJH79UTv9VZQk\/IydelHeS7l8irLfqG2XOYQU05MpyeAsIOB38lZqGmtzSM4zV4u4REUFgiIgCIiAIiIAiIgCIiAIiIAiIgCKDcLzb7WB7ZUsjceTObj8Bus5VazqKnibboI6ePf7xUuA8h292\/grxhKWxhUxFOno3ryNVVVlPQwmWpmZEwdbnAZ7gsLYb8+nnrZ4rfNWVtXLxEN5Nbk9YHaezsVXcKmGcufPVzXCpcNpN2RsPcCMnyapFGzUU9I2moYKiODtjZ0YceeS7bPn2LeNNRWp5VTFyqVE4rblr8f2W1fdb3\/G3Oltg5OhjIfJv14GSNj2jkqGolhnLXvdV1juqWok4G8xntPX2jmvuayijd\/tOvhp3ncxNzLJ5DbzIXWksFZeJuKkglbCedRUuxxd\/\/AMzz5q6yrUwm6tR2tr63fx2RA9sLH4hpaVu2MCPpM\/4s\/wDoWkoINRVVIyCG2UlKMYdUSwNYT2bY9Armz6RobW5s0n3moHJzx7rfAK\/WU6q8kd2HwU0rzlboigsWlmWqoNbPUOnqnA5I2aM8\/H4+Sv0RYOTk7s9GnTjTjligiIoNAiIgCIiAIqa93\/7MljpKemkqayYZjjaDjG++fgdlA9m1bc8maqht0ZP4Gbu+WfVXUNLs55V0pZYpt9DTkgDJOAFyfV00f46iJu2d3gLPDRFPLwmtuNXUPHM8QAPnn1XsmkdPUjeKplcwZ5yzhv0U2jzKupX3yJer+C8+07f\/AL9Tf5rfqvsV1IRkVUJB\/mBZCsp9FUY3cZnflhkc\/wCecfNUNfNawB7Ha5o2vGWvnlO47gO\/vKuqSfM554yVPe3s3+D9QE8JGRKwg\/8AMFFrLzbreHe01kTHN5s4su8huvzu36bulzdmKmMUZ36SUFrcd3WfhlXjdF26jhL7rdRG4jbhLWAH+9nPyR04J6sRxVepG8YW6t6Eiu19Tx8TaGlfKeQfIeFvjjmfks9XaovNc7hdUuhaeTIBwfPn812q6LTVMcQXKrnkBwBEwHfuJAHkVxhs9zranpLdS1gB\/ezO4S4dudvUrWMYLW3c4KtXETdnK\/RfB0oNJXiuIkdF7Ow7h8xwfLmro6e0\/bgH3e5GeYfia6XGf7o975rym0ddXRltTeHRBw3bGXPz45IUOq0dU2sGrbVUc0Ue5FQOEH4bj5+aq5ZnbMaxounG\/Cv6v\/CPeKq11s9JSWS38Ya\/ieGRYdLywO07Z5q8FJqe9hrqmpZbIDzZFkPI9fMjwUfR7TcbtU3V8EULY2NjZHCOFjSRvgfD5rZKk5ZXZHThqPFTqSej8lotCmtulrZbX9K2MzzZz0kxDiD3DkrlEWLbe56EIRgrRVgiIoLhERAEXCWtpoKmKmlmYyWUEsYTuQOaJYjMuZ3REQkIiICou+nKa7TMqOlkp52bdJFgEjvVeNO36L9FqKV3\/WHHb4krTorqckrGEsPTk81tejaMudJ3CcEVeoKmQH9kZxj4uXWHQ1pjOZXVE5PPjfj0AWjROJLmVWFo7uN\/XUr6Ww2qiIMFDC1w5OcOIj4nPYszPpW9uu0lY2elkc52Wvl97HZsR1LbIinJE1MNTmkrWty0Mx\/Z2+VP65qCRo62wggeo9F1g0RaY3cUxnqD19JJj0wtEicSRCwtLdq\/rqRKW10FD+rUcMRxjiawZ8+alos3qo32VzKW2ROMEjDxvjPvZzyJ6h\/VQlme5eclShdL2RIumqaWhm9kpY31tWdhFFuAewkegWZvzLjOxkl3l+8TnFNRRH8Ges+nWTnmMKVa7ZqKiYW0dtpKRzuc8hDn+px5dau7RpptHVGvr6g1lad+N3Jh7lteMNjgarYjSSa+yX+t\/Ym2K2\/ZVogpTvIBxSHP7R3P0+CsERYN3dz04xUYqK2QREUFgiIgCIiA5PpoJKiOofCx00QIY8jdueeCi6ohFkj\/2Q==",
    "razonSocial": "JULIO ALEJANDRO ENRIQUE ABASOLO ARAVENA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "YASMIN",
    "correoContacto": "coordinadora1@abasolonotaria.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "APP",
    "otroTipo": "WSP",
    "idFalla": "-2",
    "otraFalla": "SOMBRAS EN LATEERALES",
    "codError": "Sin coderror",
    "prioridad": "2",
    "telefonocontacto": "+56 9 7535 4714",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOR-R744\",\"id_control\":\"28782\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R438\",\"id_control\":\"28782\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:44",
    "ubicacionGPS": "LatLng(lat: -23.6457553, lng: -70.3984444)",
    "horaLlegada": "10:42",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


26/05/2026 10:44:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:5735196

[26/05/2026 10:44: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('5735196', 'TO1979', 1, 27729424, 954878, NOW(), 
				'08:00', '10:42', '10:44', 4, 'manchas al imprimir 
se cambia 
cuchilla.  cilindro', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779806651.png', '', null, 'COMPLETADO','LatLng(lat: -23.6457553, lng: -70.3984444)' )
				
[26/05/2026 10:44:11] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200424
[26/05/2026 10:44:11] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200424', 'TOR-R744', 1)
				
[26/05/2026 10:44:11] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28782 and
				    IDproducto = 'TOR-R744'
				

26/05/2026 10:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:44:11 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOR-R744';
                [26/05/2026 10:44:11] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200424', 'TOS-R438', 1)
				
[26/05/2026 10:44:11] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28782 and
				    IDproducto = 'TOS-R438'
				

26/05/2026 10:44:11 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R438';
                
26/05/2026 10:44:11 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200424'                    
				WHERE idllamado = 12292			
				TO ENVIO: micorreo@miempresa.cl, coordinadora1@abasolonotaria.cl


26/05/2026 10:44:11 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12292			
				
26/05/2026 10:44:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


26/05/2026 10:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:44:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:44:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:44:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12292
            GROUP BY l.idllamado;
            

26/05/2026 10:44:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:44:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:44:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:44:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:44:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:44:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12292
            GROUP BY l.idllamado;
            

[26/05/2026 10:44:13] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 10:44:13] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 10:44:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:44:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:44:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12292
            GROUP BY l.idllamado;
            

26/05/2026 10:44:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/2026 10:44:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12292
                

26/05/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 = 12292
                

26/05/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 = 12292
                

26/05/2026 10:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

[26/05/2026 10:52:24] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 10:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 10:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

[26/05/2026 10:52:24] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 10:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/2026 10:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 10:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 10:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                
[26/05/2026 11:06:52] 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;
                
[26/05/2026 11:06: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

[26/05/2026 11:06: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;
                

26/05/2026 11:06:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

[26/05/2026 11:06:58] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 11:07:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

[26/05/2026 11:07:01] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 11:07:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/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 = 12719
                

26/05/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 = 12719
                

26/05/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 = 12719
                

26/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/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 = 12719
                

26/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/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 = 12719
                

26/05/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 = 12719
                

26/05/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 = 12719
                

26/05/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 = 12719
                

26/05/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 = 12719
                

26/05/2026 11:07:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/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 = 12719
                

26/05/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 = 12719
                

26/05/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 = 12719
                

26/05/2026 11:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/2026 11:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/2026 11:07:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/2026 11:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/2026 11:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/2026 11:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/2026 11:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/2026 11:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/2026 11: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 = 12719
                

26/05/2026 11: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 = 12719
                

26/05/2026 11: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 = 12719
                

26/05/2026 11: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 = 12719
                

26/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/2026 11: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 = 12719
                

26/05/2026 11: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 = 12719
                

26/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/2026 11: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 = 12719
                

26/05/2026 11:07:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/2026 11:07:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:07:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/2026 11:07:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11: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 = 12719
                

26/05/2026 11: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 = 12719
                

26/05/2026 11:08:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:08:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:08:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/2026 11:08:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:08:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/2026 11:08:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:08:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:08:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:08:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:08:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/2026 11:08:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:08:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:08:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11: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 = 12719
                

26/05/2026 11: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 = 12719
                

26/05/2026 11: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 = 12719
                

26/05/2026 11: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 = 12719
                

26/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/2026 11:10:03 - logentry: =========================================
FECHA: 26/05/2026 11:10:03
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-wfuo2cOs2nbYIEt_E09somc1xktrbIqR0vYETYwLnFuXZNq-U_X
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "TO2428",
    "correlativo": "4",
    "ddServicio": "Ciudad",
    "ubicacion": "Colegio Palau",
    "ciudadmaquina": "La Serena",
    "departamentomaquina": "Central de apuntes",
    "rutTecnico": "20988335",
    "contador": "54302",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza retiro de fotocopiadora",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12719",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADsAVIDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABGEAABAwMCAgcGAgcGBQQDAAABAAIDBAURBiESMRNBUWFxgZEUIqGxwdEjMhUkM0JS4fAHFjRDgsJyc7LS8SU2U6I1Y5L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIDBQcDBAMBAAAAAAAAAQIDERIhMQQTQVFhIjJxgZGx0aHB4RQjUvAzQmLx\/9oADAMBAAIRAxEAPwD7MiIgCIvCQBknACA9UZddQW+zjhqJeKXGREzdx+3moqu1BWXSrdbtPAPIH4lSfyt8Pv6LttGmKW3O9oqD7XVu3dLJvg92fnzVmFLORldaVR4aXrw8uZxC8ahuzyLZb20sBGRNUg5PeOr0BXotmrpMGW8wM7mtH0aFZ0THyR39PfvSb87exVBcNUWcAVtGyvgaN5IvzYB7vqPqpq0XujvMRdTPw9n543bFv3HepFVq+2J8Lzd7PmCsi957IxtKOvbt7uvxS8ZZPIi41KOcXiXJ6+TLKij7LdY7vbY6lhAfjEjB+67rCkFBqzszTGSlFSWjCIi4SCIiAIiIAiIgCKOuV+ttqPBVVAEmMiNoLnH05eaiDqW63I4s1oeWHlNUbAj4D4lTUG8yie0U4u17vks2WheFwaMuIA7Sqz+g9RVuHVt8MG2C2nB5Z7sINEU8p4q241dQ7t4gPnlMMeLI72q+7D1aXyWF1XTNcWuqIgQcEF42WsXKgJwK6nJP\/wC1v3UQNEWYDHBMe\/pFmdF2QjAp5B3iVyWhzGLaP4r1\/BONc17Q5jg5p5EHIKyVZdoaha4upqyrgJ7HggfDKxdbNT20l1Dcm10ef2c43+P3H2YYvRje1Y96Ho7loRVYatrKJuLvZp4cYzJGPdPhny61K27UVsuZDIKgNkJwI5BwuJ7s8\/JHCSJQ2ilJ2Tz9CUREUC8IiIAiIgCIiAIiIAiIgCIiAIiIDxzg1pc4gADJJ6lUqqsq9WVb7fbnGG3RnE1Rj8\/d\/L1XtbW1Oqa91st7jHQRn9YqB+\/3Du7O3nyVloqKnt9KympowyNg2Hb3nvVnczepjbe0Oy7vHr08DG3W2ltdKKekj4GDcnmXHtJXUiKtu5rSUVZBERDoREQFSe0aX1Mx7XcNvuBwW9THfTBPoSraovUVrF2tEsDRmVnvxf8AEOrz5eaw0xcXXGyROkdmaL8KTPPI5fDCsl2o4jLT\/bqOnwea+6JdERVmoIiIAiKPu15pLNT9LUvy8j3I2\/mf4fddSbyRGUlFYpPI6qqrp6KB09TK2KNvNziq1Pe7nfpTS2KF8MGcPq3jHp2fPwXlHaq\/UdQyvveY6Ubw0o2yO\/8ArJ7grTFFHBE2KFjY42DDWtGAAp5Q6szfuV\/+Y\/V\/BD2zS1DQjpahvtlS7d8sw4t+4H\/ypoAAYAwAvUUG29TRCnGmrRVgiIuEwiIgCIiAKHuumaC5s4mMFNUN\/JNEMEeIGMqYRdTazRCcIzVpK5VaS91tjqW26+te+MnEVb1OHf2+PMdatDXNewPY4Oa4ZBByCFpraKnuFK+mqYw+N43HZ3jvVctlZPpy6CzXB5fSSn9VndyHcfl3HuKnZSV1qZ1KVBqMneL0fLo\/ktaIirNYREQBERAEXhIAyTgBRdZqW0UQPSVrHu6mRe+T6fVdSb0IynGCvJ2JVFV3atq608NntE04zjpJBhvPu+68MOspmmoM9PE5uCKcY337d\/mp7t8cjP8AqYvuJvwRaUWLeLgHHjixvjllFWajJVi\/3Setr2WC2OxJLtUSj9xvWPTn6KS1HdhZ7U+ZpHTSHgiHf2+QWGnLQLbQCWZv65Ue\/M4jcE78Pl88qyOSxMy1W6kt1Hz8OXmdlrtdPaaJtLTjYbucRu89pXYiKDd82aYxUVZaBERcOhERAEREAVVpWmx6ylpuINpbiC9g6g7s9cjzCtSr2sqAz2oVsWRPRuD2ubzxkZ9Nj5KcHnZ8TNtKeHGtY5\/P0LCi5bbXMuVugrIxgStyR2HkR65XUoPI0JqSugiKLvd7hs1OCR0lRJtFCObj9l1Jt2Ryc4wjiloYX6\/Ms0TI44+nq5tooh8z\/W647Tpx8tR+lL2faKx+7Y3btj7NuWfgFlYbFMyoN3uzjJXy7taf8offHorCptqKtEzQg6rx1FlwX3fX2CIirNYREQBERAEREAREQBERAFHXy0R3m3Op3YbIPeif\/C77dqkUXU2ndEZRU4uMtGQWlrnLWUT6SsJFZSO4JGu5kdR+nl3qdVUv7XWO+098hB6KU9FUBvX4+IHq0Lrq9Z2uA8FN0lZKdg2Ju2fE\/TKscXLOK1MtOtGmnCo819VwLAtc00VPGZJ5WRMHNz3AAeZVa9r1Vdx+rU0dthOCHyHL8ef2Czj0ZHO8S3W4VFbIO12Bjs3yVzClqyW\/nL\/HHzeS+Toq9Y2im92OV9S\/OOGJufidlyG66muf+AtjaOMnHHOfe59+PkVPUdqoLf8A4SkiiP8AEG+96811piitEN3Vn35W8Pkq7NJVdb715u00+dzFEfdB8T9gpOk01Z6Ifh0UbnfxS++fipVFxzkycdnpRztn1zPAABgDAC9RFAvCIiArVRQVV41a19TC9lDQAFnG0gSu55HUd8Z7grKiKTlcrp01C74thERRLAiIgCIiAIiIAsXsbJG6N7Q5rgQ4HrCyRAVnR8zqd1faJXlzqSY8GTuW8vp8VZlS77WSad1UbhFD0jaqDDmlxAJG30HqrTTV8UlpiuEzmxRviEjydg3IyVZNN9rmY9mmknSbzj7cDG7XSntFC6qnOcbMYOb3dQUNpy0z1Exvl2y+ql3iY4fs29Rx1d3YPFc9DDJqy6m41QLbfSvxTxkY49+v0GfRW5H2Fbidgt\/LePurTr1+AiIqzWEREAREQBERAERanVELKhlO6RoleC5rM7kDmUONpG1EWuaeGmiMs8rIo283POAEOt2NiKtVesYHP9ntNPJXTnlhpDR9T\/W61Gy32+NDrvXClgO\/s8I+B\/mSp4P5ZGZ7Qm7U1ifTT1JG46qtdud0ZlNRL\/BBhxHieSj\/ANI6muwxQ0DKCI5HSzncev2KmLfYbbbADTUrOkH+a8cT\/U8vJSK7iitEc3dWfflbovkqw0Y6rJlu10nqJSP3Ng0+ec\/BeaQMVJPVWqohjZW0zyQ8MAc9h7\/TyIVqVV1TDJbbjS3+mbvG4MnA\/eHV8Mj0UoycuyyqpRhRtVgtNfAtSLXBNHUwRzxO4o5GhzT2grYqTencIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAhtV1k1FYZZIHcL3Oazi7ATv8NvNeaUr5LhYo5JpOklje5jnEdm4+BCw1mzi01OcZ4HMPh7wH1UVomX2Wtqre5xxJEydgPYQD64cPRXJJ0zBKpKO1pPRr5+Dr13R9NaI6kNy6nk3PY12x+PCoGkq573RW3T8Jc1ocTO4fwg5HoPjhXHUkkEen6z2g4a6PhGOZcfy\/HCrH9n80ba6qhI\/EfGHNPcDuPiFKD\/bvyKNogntSjfvLP8AvWxd6eCOlp44IWhkcbQ1oHUFsRFnPWStkgi1yVEMUjI5JWMfIcMa52C49y2ILhERAEREAReAgjIOQVw3K9UFqZmrnDXYyI27uPkupN6EZSjFXk7I71S9SzMt+sbfWykiIMaXHGcAOIPwK6Bd79fiW2qlFHTHb2iXnju\/kD4qF1RZX2oU1RLWSVU85d0j5O7GMDzPwV1ONpWbPO2qtjpYoLJWd\/7qTp1Jc7uXR2O2u4c49omIwPLl8T4LKDSUtYRNfLhNVPzkRNeQxv8AXdhWKmMbqaJ0LWtjcwFoaMAAjqW1Qx27qsaVs6lnUeL29CnSRQ2LXFIymYIqepiEZa3lvkfMNKuKpuvQ6GW3VcezmOcM94wR9VboZWzwRzM\/LI0OHgRlJ5xTI7PaNSpTXB39TYua41nsFvmq+jMnQt4i0HGV0rju8fTWetj\/AIoHgePCVBamqd1F21NNhu7bzbW1PCGSBxbIwHPCR\/LBXdUQR1VPJBM0PjkaWuB6wqLoOtMNylo3bMqGcTdv3m\/yz6K\/KdSOGWRn2WrvqKctdGUOxTzaf1O+11LyYn\/htJOQOtpHZnPxV8VH1\/SllXSVjduNhjJHUQcj5n0VmsV3jvNtZUDAlb7srOx32KlUV0plOyy3dSVB8NPAkkRFSegEREAREQBERAEREAREQBERAEREAREQEZqSIzadrmjqiLvTf6KrWyX2W6WGtxhlVB7O7h6yCW\/9qu1VD7RSTQ\/\/ACRub6jC+ejjdo+CoZ+0oK0jvaDg\/PCvp5qx5u19mop9PZp+xPajzdr\/AG+yjiMQPTTcPZv9AfVRNM0WXXvRN\/DidKWgDYcLxsPAZHopfTB\/St5uN7e33S7oosjkP\/Ab6+sbrqJ1Pd6Stj90vZsR\/E08\/iFKOuDoU1VeH6j\/AKv5aF7RaqadtTSxVDBhsrA8eBGVtWY9dO6uUzXkL4Z6GvjcWvaSzOORByPqrJZbk262uGrGOJwxIB1OHNR+tKUVGnpJOuB7ZB64PzUZpGoFHdJaHfoquJlRF1AHGSB6kf6VdbFT8Dz8TpbW1wlb+\/QuSIuC5XqgtTM1c4a7GRG3dx8lUk3ob5SjFXk7I71A6putDTWupo5pgZ5oyGxt3OeonsXF7ffdR4bb4nW6idzqH\/ncO7+XqpC36UttC0ukYaqdwPFLNvuewcgppKLvIyyqTrJxprJ8X9iv2T+8F0tkNJRTMo6OHLDM38x3z4536sKwW\/SlsoiJJozVz9ck\/vb+HJcOh3GOnrqJ2c08\/InOM7f7VaVKpJqTSIbLRhKnGcs314HgAAwBgBVzXNN01iEw5wStd5Hb6hWRcF9gFTY62I9cLiPEDI+IVcHaSZprwx0pR6HlilE9iongg\/gtG3cMfRSCqFh1Pbbdp2niqZiZoy4GNjSTjiJHdyWz+8V6uoxZ7S5jHA4mm5c+YJwPmpum7spp7VTVOOd3ZZLM3a7hMliZIB+ynaSe4gj5kLfp270o05SvqqmGExtMZ45APynA5nsx6qGvVovhtFRV3O6h7YwHdBGDwnfyHX2Fcmj7Vb7lPUx18Be+NrXsaXFowc55eSnhW7zehldWa2q8Y2xLj+Cy1GsrLAcNnfMc4PRsJ+JwFxS6ulq43x0tjq52vaR1jn4AqwUtsoKID2akhiI62sGfXn1LqVd4LRGzd15azS8F8nyiknrKKGmuUEADaaVzBMdwSRnhI8CfVXD2jWRALaSjwR\/EP+5cFhoP0hpe7UjW+86ZxYB\/EACB6hTek681tiiD89JTnoX557cvgQrakuNtDDstN5LE1dXy6ZMgr7Bqautr\/b6OnEMP4pdGRxDA36+xQtiu01jr2TYzDMMSNJ2Lc8\/I\/VfUHsbJG6N7Q5rgQ4HrC+UXSlfQVMlDM7L6Z5a09ZYdx9\/9S7SkpJxaIbZSlRlGrFu\/U+oW+vp7nSMqqZ\/FG7t5g9h7CulVPRFSIY6i1zh8dTG7pBG4Ae6QOXfy59oVsWeccMrHq0Km8pqT1CIiiXBERAEREAREQBERAEREAREQBERAFQYRHT2rUlFKSGxSgtGeviIHxDVfl841O99LfrjAwHhqmx7Dr\/KfmCrqWbseftzwxU\/FeqZa9HCIabp+j5ku4\/8Ai4j9MLl13TdLZY5wPeglG\/cdj8cLzRJfDBX295y6mqCD57f7Spi+U\/tVjrIesxOI8RuPiFxvDUuSjHebJh6exx6RqTUacp8nLouKM+R2+GFNqlaArcOqqBx54lZv5H6eiuFRUwUkJmqZmRRjm55wFypG02izZailQi3w+xhcKb2y3VFN1yxOYPEhfPIqhtNbbZcWuAqKGodE5nHhzmZ4sY7PeI81YptTVt2ldS6fpHOI51EgADe\/B29fRRFp0\/DPebjbq\/3qmOIuY5uzQT+9j\/UCFZBYU8Rj2mW9nHd+F+HP7Eo+63vUB4LRTuoqU7Gpl2Lh3dnlnxXbbdI0NI\/p6smtqCcl8u4z4ffKw0fWSuoprbU7T0L+Ag8+HfHoQR6KxKEpOLwrI00acakVUnm+vDyCIuC5XqgtTM1c4a7GRG3dx8lWk3oa5SjFXk7IhrSPY9b3Sm\/dmZ0o7zsf9xVgq6+koI+kqqiOFvVxuwT4DrVCqbtV3DUsNXQRmjkqGiGJ8vI5OM8vurFQaPgbL7VdZ319Qdzxk8P3Pn6K6cVk5Hn0KsmpRpK+bz4Z\/U0y6qrLjMaewUDpiNjNKMNH28z5LRWadutVST1N3uzn9GxzxDF+XIb5AeitsUUcMbY4o2xsaMNa0YA8lyXp\/R2SueOYp348eEqKnnaKLp0G4t1ZX+iKnoOKknnqmzwRyTMDXxue0EtG+cdnUr0vnum2m13e2THIZXwua478+IgD4NX0Jdrd65DYH+zbiv8A0itTt49OVozj3M+hBVasThR6gtj9mtraINPiMj\/YPVWPVZA01WZOPdb\/ANQUBdWuptPWC5tHvUpZt1kEA\/7fiuw7tuZDacquP+KT+pdkWLXNewPactcMg9oXksgiifIeTGlx8lQelcrehxigrO+pPyCwsrTatXXC27NiqB00QxjvwPDJHktuhYy2xSSHcyTudnyA+hUdq+5RUl7pKqimYa2naWvAGcA8gfU7d60WvNxPLuqez06j4fcn77qCns8XRt\/GrHj8OEb+Z7vmqbfLLcYaJl3uEnHPUSYlZjdmR7vyx3bBWjT9g6CT9K18oqq2ccYfnIYCOrv7\/RSt2pGV1qqaZ4yHxnHiNx8QFGMlB2ROpRntEHKeXJfPUqtVHMbNbdSUO1RTRtbOf42j3Tnt5EeB7lb6KrjrqKGqiPuSsDhvy7lXNFzw11gnt0oB4C5rm9rHf0QtuknOo5K6zSv4nUspLM7e6f6z5pNarkd2eVnGS0kvqvksqIipPQCIiAIiIAiIgNNTVQUcDp6mVsUbcZc7kMrZHIyWNskbuJjwHNPaCoTWf\/tqf\/iZ\/wBQUnbP\/wAVSf8AIZ\/0hSt2blSqN1XDpc6kRFEtCIiAIiIAqTq2AN1PbZnDDJOBpJPY\/f4EK7Kq67AjpKGpA9+Kf3T5Z+gVlJ9oybar0W+VmZ2r9V1vdKbkJmCUdeTsf9xVkldG2JxlcGsA94uOAB4qlXi7xUmrqeuo+GqJpw10cbskuPEANvELtZZ7vqFwmvU5pabm2liOD5j75PgpSjezZTSrYcVOCu7vw9SpUFbNabsZaJ7Xua50bST7rwdhnu5FXCm0xV3CYVWoKt07gctp2O91vcf5eqrV3s8cF+rKKmaWsji6SMbnk0OP1V+sdd+kbNTVROXuZh5P8Q2PxCsqSyTRm2OknOVOpw4cOp1wwQ00QigiZFG3k1gwAq5WH2HXtJNyZVw8Dj2ncfRqs6q+tuGCK31zSOlp6gFozuRz+YHqqaecrcz0Np7NPEv9WmY3Iiy6xprgX8NPXAxy9gIAHp+U+qnrhdKK1w9LWTiMH8rebneAVSvFyq9UUzoLfbHupoTxmZ\/PIB5dXluuvStpobjSi6Vbn1lTxFrhNu1hHd17YU3FWTkZ6dV7yUKWjzTenXxMnXW+6gcWWmA0dIdvaJdnEeP2z4rutukqGjPTVf69Uk5Mku4z4ffKnQABgDAC9Vbm9FkaY7Or4qjxPr9kUnXZ9nrrfPGA17GkgjuIIVygmZUU8c8ZyyRge09xGVUNcwPqa+3QR\/neHhvjspjSFX7Vp2DLgXQkxOx1Y5fAhTkv20yijK21Tjz+1vkm1EaqlEWm6w9rQ0ebgFLqta4e42qCmZ+eeoa0Z7MH64UIK8kadplhoyfQ4bvSSU+kbVWR7TUXRyB3Ph4sH58Kt9PM2ppop2fllYHt8CMrluFvFVZJqAHOYeBpPaBsfUBcGj6o1FgjifnpKZ7onA8xjcfAhdbxRuVU47uth5r6r8GvW0\/Radez\/wCaVrOX+r\/at13oePR8lLw4MVM0gY3BYAfouPVBFZeLTbBzfL0j+vA8PJysrmtewscMtcMEdoS+FIKO8qVPBL++pGaZqjV6eo5Dzazoz\/pOPot96m9nstbLnBED8eJGB8VXNM3Wls1FcKSumbH7NUHA63dWAOv8vxXBf7rdLvbnVXR+y2wvDWNcd5jn48s9m3Wp7tufQq\/VRjs64yt+DK03OuktEFnssRNQeIzz4wIwXHr6tsb+im2aQporNUU+RLWTs96d4yeLngdgyPFSlloILfbII4YmxudG0yEDdzsbkrvUZVM+yWUdmWBbzN2t4EFpG4e22SON7iZqY9G8Hnj934beRU3JwiNxcMtwcjuVXpiLNraanLg2C4s42jG3Fk4+PF6hWK4PEduqXu5NheT6Fcmu1dcSyhN7u0tY5eh8+0xUvtNfT1su1NVOdA53U3kc+uPLKsYBo\/7QTjGKymyRnHIfH8i0WO0Numim00mAZHvfE478LgSAfms7JaLr+mYq26Nx7LCYo3lwcX7uG++eRVsmm2zDRpzjGEUrptPw5lqREWY9cIiIAiIgOepr6WklhinnaySdwZG083FdCg9W0DquzOmiH49KRKwjngc\/hv5LtstybdbXDVjHE4YkA6nDmpYezcpVR71wfijm1XCZtN1YbzaA7l2EZ+GV02OYVFjopBjeFoOO0DB+S3XGA1NsqoAMmSF7QO8g4UToufptORsySYXuYc+Ofqu\/6EHltC6r2f5J9ERQNIREQBFpqaqCjgdPUzMijbzc44Vblv1yvk7qWwxGOEHD6uQYx4dnz8FKMWympWjTyevLiS911Bb7O3FRLxSkbRM3cft5qs3d971Ba5as07aWggHSNicfefjr5dQJ7B4qetOl6O3u6eoPtlUTkyyjOD3A\/PmpmSNssbo3jLXgtI7QVNSjF5FMqVWtF7x2XJfdnzymgpqaLT1dTsLJJKgtndkkuIeB4cs+q+ir5ZJVCjgFtkB46SuLw7qwNiD18wPivqalWWhTsEk8SXT2t9io3CNjP7QqUPaCyeHDgeTgWub9Fs0pKLbU3O0zvDW00nSNc7YcPInfkPy+q4dUXFkOqaKalxUS04Acxhz73Efd8VxVlFV1d8pKm9xezMuDwwti2IxgDOc46lK1458ih1MFVuObUvLNW18SwVmq31M5orDTGsnI\/a4wxvr8zgKLu+m6qOz1NyuVc+orGBpAB91oyMj49WArjRUNNb6dsFLC2Ng6hzPeT1rTe4+lsdcwczA8jxAyq4zSawmups7nBuq7u3khZXiSyUTwMZgZnxwMqDtjnWTVtRbXDhpq0mWHsB3O3xHkFI6Sk6TTdJnm0ObzzycVz6wpJXUEVxptp6GQSAjnw9fxwfVF3nF8Ts7ujCqtVZ\/JYUXLba1lxt0FYzYSszjPI9Y8jldSqeRsTUldFYvn4msLNFz4cvx5\/wAljpsC23+52jkzi6WIY\/d\/8EeiyqgJ\/wC0OkwP2NMc+jv+4Ly+NFt1TbbrjEcx6GU4wB1ZJ8D\/APVX8MPQ815SdXlL6WSLQqvfT7dq20ULSD0J6Z4887+TPirQqvZP\/UdW3S44JZD+DGers2\/\/AJ+PeoQyuzVtHaww5v2zLQqnC8ae1fNHM\/go7iC9rnHDWvznfzyPMK2KF1JUWZtEYbpJnO7Y2H8Q9e3p17LkHnbmd2iPZU72az\/viR9ncLzq6sujd4KZvRRHtPLI\/wDsfMLpuuqWQzexWqP22sdsODdrD39qjaakul5gbTUcP6ItO5xuXyA\/E\/AeKstss1DaIuCkhw4jDpHbud4lTlhTzM1FVZRtHK+bfwvuyn0NrcNXMhv0ccstTGZQ1pHCXd4HgdlK6raKqvtNqYMMkl4nDqAGBy8OJbNX0s0fsd2pYy+WjflwDc+7zye4YPqtVqdJf9SuvBieykpm8EBftk47P9ROfBSve0yvAouVBatr01ZakRFnPVK9rGiMtsZXQj8eieJGkc8Z3+h8l5eLtFV6LlrY\/wDPjDeHPJxIBHlv6KwPY2SN0b2hzXAhwPWFUhpKubVeyMqmi0ioEvRE5cRjfq7sfFWwaaz4GKvCcZNwV8St58yesFMaSw0cJGCIg4jsJ3PzUisWMbGxrGDDWgADsCyVbd3c1wjhio8giIuEgiIgCIiA8IBGCMgqrWN4supKyyu92Gc9LT55cuXpt\/pVqVc1dRSezw3alH6xQvD845tzn4Hf1U4fxfEzbQmkqi1j7cSxqr6Z\/Ur\/AHe2EFoD+ljb2Nz9nNU9ba+O52+Gsi2bI3JbnPCeseRVfv7XWjUNFemO4YZXCGfw\/wDH\/SuxWsSNdq0Kq0T+jLUi8BBGQcgrkuV1o7TB01XKG\/wtG7neAUEr6GqUlFXbyOxQFz1VT08nsluYa6sJ4QyMEtB7yOfkuEyXrVR4YgbdbHfvn88g+vy7yp21WWhtEQZTRDjIw6V27neJ+inZR11Mu8qVf8eS5v7Ih6fTlZdZ2VuoKgvPNtKzZre44+nqrJDDFTxNhhjbHG0Ya1owAtiKMpNl1OjGnprz4hEUJedTU9ud7LSt9rrnHhbCzfB78fLmuJNuyJTqRprFJlN1XTil1BVt4BiYtkafEb\/HK7aW+3a\/mC0irjpS5uHzZIdJ\/PuHNcmpKG6RmG4XR7TLU5HA3\/LA5N+Kudfp2gutFG10YhlawcE0TQHDbbxHctTlFRVzxqdKpOpPDl00unmVWrtlPZ9W2ulpi8gOhL3OO7nF+59MKw61pOnsftDR+JSyB4OOo7H5g+SqFRLPQ6lgFwqOnNFLGHSDJJa0g\/JfQI6y3Xyjmgp6qOZsjC1wH5gCOeD4qM7pxZbs6hONSmsr8Dfb6ttdb6eqadpYw478jjceqXFpfbapo5mF4+BUHoqoe2hqLbNtLRylpGRsCTt6gqerf8DUf8p3yVMlaVj0Kc95RUnyIfRbg7TcIH7r3g+qnXsbJG6N7Q5rgQ4HrCgNE\/8At1n\/ADXqwpPvM5s2dGPgVbSsktuuFZYagk9CTJE49bdvnkH1VpVX1RHJbrnQ32LOInCKYD+Hf7keisjZ4nUwqWvBiLOMOHW3Gc+i7PO0uZHZ3gvSfD24FctpFVru5Tk5EEQjaD1H3R9D6rv1RbXXOyyxxtBljPSM7yOY9MqO0i5pjuN3neI21VQcOeQMAZP+7t6l112sLXSngge6rlP5WwjIJ7M\/bKk08eXAphKnuHvHbFd+pHu1fG\/TQMcmbk5vRcABzxcuL038dl22oW\/S1obFW1MUc7\/xJW8WXEnqA5qJbarxeaptZFRQ2lrv8wZEhyc57c58FM0GkLdSyGap4q6YnJdPuPTr88rssCViFLfyliteysm8vO2uZxPu941CXRWWA0tLydVS7Hy\/lk+C7bXpOioZPaKpxrak7l8oyAe0D6lTrWhrQ1oAAGAB1L1VufBZGqOzq+Ko8T+nkgiIoGk8c0OaWuAIIwQeteNa1jQ1jQ1o5ADACyRAEREAREQBERAEREAREQBERAF45oc0tcAQRgg9a9RAVO0vOntRS2aQn2WqPHTlx5Hs8+XkFN323suVnqKd2OLhLmEnADhuN+pR+soaZ9pE8kzYaiB3FTuzgk9YH9dQUVRyXXWTRHNM2moYsCbojvI7HZ\/Q8VfbFaZ5zkqblQte+i6Ph5C3aor57dBbLfRGWtYwRmUnLWgbB3p27eKlLdpYGcV15mNbVk5wd2N7B3\/LuUfWUjdJXqmr6ZjxQStEUwBzg\/0AfIq3xSxzRNlieHseMtc05BC5N2zjoxQp4nhrO7jw4eJkAAMAYAXqIqT0QtVRUQ0kDp6iRscbBkucVxXi+0dmh4p38UrhlkTfzO+w71C09ouGpJ21l7LoKYbxUrDj17Pn4Kajld6GepWs8EFeXt4nkt2umpJHU1mjdTUg2kqX7Eju7PAb+CmbPYKOzx5ib0k7h787x7zvsFIxRRwRNihY2ONgw1rRgALNHLKy0FOhZ45u8vbwK1rtrTYmOI3bO3B7Nipq11IrLXTVAx+JE0nHUcb\/ABUFrvikt1JTtHvSVAx44I+q16buL6bStYJfdkoC8YPMbZHxyFPDemihVFHapJ6W9iu1AFZqN1S8B0clfwAEbEcXWPDCt9bo63VDjLSl9FN1OiOwPh9sKsQ0xgttjlcPeqK10hzzPvNA+S+jKVSTVrFOyUYzxY1fR+qufPw286YvvCwsrJaxmxcTiU\/92fn3qVqdS3SKmljrLBOwOYQZGk8IyPD6rdrWB7aKmuUP7SjmDsjGwJ5+oHqpO4Vscmm6isH5JKVzm+bdh8VxyTSbRKNOUJThGTSWfPIq+mtUUNqtfslTHOXNe53ExoIwfNSf9+qJ\/wCxoayTqHut59mxK69JU4bpul6RgOeJw4h1FxU4uTccTyLKFOtuo2nbLl+So1mo6m40ctL\/AHcrJWStIPPl2\/lPcuGkodVutX6Njg6KmeSwmQtDgDnI7cc+rrV8RcVRJWSJvZXN3nN+VkVSj0LA1rBXVs04ZyjZ7rRuTjr7erCn6K02+3f4SkjiOMcQGXY8TuuxFBzk9WXU9npU+6giIolwREQBERAEREAREQBERAcMbLkLxK+SWE28xgRsA98O2yeXj1nqXciLrZGKsERFwkEREAREQBcd0qKqloJJqKm9pmbjEefj3+C7EXUckm1ZOxWLfpqatqP0jf39PO7dsGfcYOoH7cvFabjE\/S97F0p2F1BVHhqGN\/cOeY+Y8x1q2rTV0sVbSyU07eKOVvC4Kam756GWWzRUOx3tb9ephNFS3W3mN+JaeoZzHWOYI+artoq59P3U2OveTTSHNJK7vPLz+B8Vlp+pms9yk0\/XOOMl1K88nN7PP55CkNUUNHWWeQ1crITF70Urv3Xdnn2fZdWTwvRkG3UjvY5Sjr90yZVcuupnmo\/R1kj9rrHbFwGWx\/Q\/IfBQlDdbvqRkVobVMgAZ+NNn35Gj5+A59auFqs9HZ6foqWPBP55Hfmf4n6I4qHe1Oxqy2hft5Li+Pl8kdZ9MspZjXXKT2uueclzt2sPd2nv9MKfRFW5Nu7NNOnGmrRQREXCwrGrMyXWx0\/MPqMkc\/wB5vV5lQN6dLbrtdbdCwhtwcxzd+eTn0yXBTt0\/WNd2yDGRFGZCe\/3j9B6qIvtxp3a1hmcGuhpHsjkdjbIOT6ZPotMOC6HjbTZuUr27VvpZkjeqcUtXpqiAGI5A1zduosBPz3VuVYv\/AL+q7KzlhxdnzH2VnVU9Eb6CtUnbmvZGmspY62klppfySNLTjmO\/yVCnuM9JYarTlQ15qo5QyPDSeJmeLb09CF9DWp9LTyStmfBG6Rhy17mAlvgVyE8Op2vQdTOLs9PJmu3U3sdupqbGDFE1p8QN10oigaEklZBERDoREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREARYveyNhfI4Ma0ZLnHACrNbqWpuM5oNPRGaTk+oI91g7Rn5n4qUYuWhVUqxprP04nmtZaB1NGzpSLjG4GAR7vGT145LgstM\/VFc+S8Vbnmkw0Un5fEkePPr8FO2bTNPbne1VTva65x4nTP3we7Pz5rk1HbZ6OrZf7Y38eH9uwD9o3t9Ofdv1K1SXdXqYalKbe+msuK6debR03jTcVTFHPbQ2krKcDonRjhBx1H7rGy6lFXP+jrhEaavZsWuGA893Ye70UpbLjBdaFlXTn3XbFp5tPWCue9WKlvcAZNlkrPyStG7e7vHcoX\/wBZGhwa\/co8eHB\/DJNFU2XS7abeynu0Rq6PYNqo8ktGes9Z7j6lWWkrKevp21FLKJYncnD+tlGUWi2nWjPLR8jeiLTU1UFHTunqZWxRM5ucolraSuym3C6soNXXCtJ4jTwCONufzPIaMeWXHyXRBpx0uj5jIxxran9ZOBuSMlrceBO3a4rhstrdqK\/VF0mb+ptnc4gnBceYb5bZV+V85YbJHm7PS32Kc9He3nxKVYZKq76ipp6iORgt1P0buMH84HCc9++fJXVYta1ueFoGTk4HMrJVSliZto0t1Gzd2ERFEuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKGu2pqK2OMEeamrzhsEe+\/YT1eHNd9xpZa2hlp4al9M94wJWDJC5bTp+htA4oWGScj3ppN3H7KUcOrKam9bwwy6\/giGWa66hkbUXuY09ODllLHsfPs+J8FZKSipqCAQUsLIox1NHPxPX5reiOTYp0Ywz1fN6heEAjBGQV6iiXFRq6Wq0pXuuFvYZbbKfx4B\/l9\/wBj5FWairae4UrKmmkD43jY9nce9b3NDmlrgCCMEHrVUq6Sp0rWOuFvYZLdIfx6cfud4Vnfyepjaezu67vt4dC0yxRzRujljbIxww5rhkHyVdqNKS01SauxVrqKQ84ySWH+XcQVNW+50l0p+no5hI0HDhjBaewhdaim4l0qdOsk9eT\/ACVgSayB4DBSEZxx7evNclwsFUaGe5324Gd8LHObDHswHqGfHHIeauSrOsJpKl1FZYH8L6yUF+3JoO2e7O\/+lWQk28sjNXoxjTbk2+Sb48Dr0hS+zadgJGHTEyHbtO3wAU2tcMTKeCOGMYZG0NaO4DC2KqTu7munDBBR5BERcLAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALxzQ5pa4AgjBB616iArVw0s6Kp\/SFilFJVA\/s9gwjuGNvDl4JRatbDKKO9076OpAGXkZa7v7viFZVz1tBSXCHoauBkzOriG48DzHkrMd8pGV0HF4qTt04fg11N3t9LSmpkq4uj4eJpa8Hi8O1Qenqeout0l1BWMLAfdpWEcm7\/Q8+vddcOjrNDO2UQPfw4Ia6QkZHWpuONkUbY42hrGANa0DYAcgjairI5GM6slKdrLguZkiIqzWEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:10",
    "ubicacionGPS": "LatLng(lat: -29.9450413, lng: -71.2613468)",
    "horaLlegada": "10:37",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "1",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 26/05/2026 11:10:03
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-wfuo2cOs2nbYIEt_E09somc1xktrbIqR0vYETYwLnFuXZNq-U_X
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "TO2428",
    "correlativo": "4",
    "ddServicio": "Ciudad",
    "ubicacion": "Colegio Palau",
    "ciudadmaquina": "La Serena",
    "departamentomaquina": "Central de apuntes",
    "rutTecnico": "20988335",
    "contador": "54302",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza retiro de fotocopiadora",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12719",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADsAVIDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABGEAABAwMCAgcGAgcGBQQDAAABAAIDBAURBiESMRNBUWFxgZEUIqGxwdEjMhUkM0JS4fAHFjRDgsJyc7LS8SU2U6I1Y5L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIDBQcDBAMBAAAAAAAAAQIDERIhMQQTQVFhIjJxgZGx0aHB4RQjUvAzQmLx\/9oADAMBAAIRAxEAPwD7MiIgCIvCQBknACA9UZddQW+zjhqJeKXGREzdx+3moqu1BWXSrdbtPAPIH4lSfyt8Pv6LttGmKW3O9oqD7XVu3dLJvg92fnzVmFLORldaVR4aXrw8uZxC8ahuzyLZb20sBGRNUg5PeOr0BXotmrpMGW8wM7mtH0aFZ0THyR39PfvSb87exVBcNUWcAVtGyvgaN5IvzYB7vqPqpq0XujvMRdTPw9n543bFv3HepFVq+2J8Lzd7PmCsi957IxtKOvbt7uvxS8ZZPIi41KOcXiXJ6+TLKij7LdY7vbY6lhAfjEjB+67rCkFBqzszTGSlFSWjCIi4SCIiAIiIAiIgCKOuV+ttqPBVVAEmMiNoLnH05eaiDqW63I4s1oeWHlNUbAj4D4lTUG8yie0U4u17vks2WheFwaMuIA7Sqz+g9RVuHVt8MG2C2nB5Z7sINEU8p4q241dQ7t4gPnlMMeLI72q+7D1aXyWF1XTNcWuqIgQcEF42WsXKgJwK6nJP\/wC1v3UQNEWYDHBMe\/pFmdF2QjAp5B3iVyWhzGLaP4r1\/BONc17Q5jg5p5EHIKyVZdoaha4upqyrgJ7HggfDKxdbNT20l1Dcm10ef2c43+P3H2YYvRje1Y96Ho7loRVYatrKJuLvZp4cYzJGPdPhny61K27UVsuZDIKgNkJwI5BwuJ7s8\/JHCSJQ2ilJ2Tz9CUREUC8IiIAiIgCIiAIiIAiIgCIiAIiIDxzg1pc4gADJJ6lUqqsq9WVb7fbnGG3RnE1Rj8\/d\/L1XtbW1Oqa91st7jHQRn9YqB+\/3Du7O3nyVloqKnt9KympowyNg2Hb3nvVnczepjbe0Oy7vHr08DG3W2ltdKKekj4GDcnmXHtJXUiKtu5rSUVZBERDoREQFSe0aX1Mx7XcNvuBwW9THfTBPoSraovUVrF2tEsDRmVnvxf8AEOrz5eaw0xcXXGyROkdmaL8KTPPI5fDCsl2o4jLT\/bqOnwea+6JdERVmoIiIAiKPu15pLNT9LUvy8j3I2\/mf4fddSbyRGUlFYpPI6qqrp6KB09TK2KNvNziq1Pe7nfpTS2KF8MGcPq3jHp2fPwXlHaq\/UdQyvveY6Ubw0o2yO\/8ArJ7grTFFHBE2KFjY42DDWtGAAp5Q6szfuV\/+Y\/V\/BD2zS1DQjpahvtlS7d8sw4t+4H\/ypoAAYAwAvUUG29TRCnGmrRVgiIuEwiIgCIiAKHuumaC5s4mMFNUN\/JNEMEeIGMqYRdTazRCcIzVpK5VaS91tjqW26+te+MnEVb1OHf2+PMdatDXNewPY4Oa4ZBByCFpraKnuFK+mqYw+N43HZ3jvVctlZPpy6CzXB5fSSn9VndyHcfl3HuKnZSV1qZ1KVBqMneL0fLo\/ktaIirNYREQBERAEXhIAyTgBRdZqW0UQPSVrHu6mRe+T6fVdSb0IynGCvJ2JVFV3atq608NntE04zjpJBhvPu+68MOspmmoM9PE5uCKcY337d\/mp7t8cjP8AqYvuJvwRaUWLeLgHHjixvjllFWajJVi\/3Setr2WC2OxJLtUSj9xvWPTn6KS1HdhZ7U+ZpHTSHgiHf2+QWGnLQLbQCWZv65Ue\/M4jcE78Pl88qyOSxMy1W6kt1Hz8OXmdlrtdPaaJtLTjYbucRu89pXYiKDd82aYxUVZaBERcOhERAEREAVVpWmx6ylpuINpbiC9g6g7s9cjzCtSr2sqAz2oVsWRPRuD2ubzxkZ9Nj5KcHnZ8TNtKeHGtY5\/P0LCi5bbXMuVugrIxgStyR2HkR65XUoPI0JqSugiKLvd7hs1OCR0lRJtFCObj9l1Jt2Ryc4wjiloYX6\/Ms0TI44+nq5tooh8z\/W647Tpx8tR+lL2faKx+7Y3btj7NuWfgFlYbFMyoN3uzjJXy7taf8offHorCptqKtEzQg6rx1FlwX3fX2CIirNYREQBERAEREAREQBERAFHXy0R3m3Op3YbIPeif\/C77dqkUXU2ndEZRU4uMtGQWlrnLWUT6SsJFZSO4JGu5kdR+nl3qdVUv7XWO+098hB6KU9FUBvX4+IHq0Lrq9Z2uA8FN0lZKdg2Ju2fE\/TKscXLOK1MtOtGmnCo819VwLAtc00VPGZJ5WRMHNz3AAeZVa9r1Vdx+rU0dthOCHyHL8ef2Czj0ZHO8S3W4VFbIO12Bjs3yVzClqyW\/nL\/HHzeS+Toq9Y2im92OV9S\/OOGJufidlyG66muf+AtjaOMnHHOfe59+PkVPUdqoLf8A4SkiiP8AEG+96811piitEN3Vn35W8Pkq7NJVdb715u00+dzFEfdB8T9gpOk01Z6Ifh0UbnfxS++fipVFxzkycdnpRztn1zPAABgDAC9RFAvCIiArVRQVV41a19TC9lDQAFnG0gSu55HUd8Z7grKiKTlcrp01C74thERRLAiIgCIiAIiIAsXsbJG6N7Q5rgQ4HrCyRAVnR8zqd1faJXlzqSY8GTuW8vp8VZlS77WSad1UbhFD0jaqDDmlxAJG30HqrTTV8UlpiuEzmxRviEjydg3IyVZNN9rmY9mmknSbzj7cDG7XSntFC6qnOcbMYOb3dQUNpy0z1Exvl2y+ql3iY4fs29Rx1d3YPFc9DDJqy6m41QLbfSvxTxkY49+v0GfRW5H2Fbidgt\/LePurTr1+AiIqzWEREAREQBERAERanVELKhlO6RoleC5rM7kDmUONpG1EWuaeGmiMs8rIo283POAEOt2NiKtVesYHP9ntNPJXTnlhpDR9T\/W61Gy32+NDrvXClgO\/s8I+B\/mSp4P5ZGZ7Qm7U1ifTT1JG46qtdud0ZlNRL\/BBhxHieSj\/ANI6muwxQ0DKCI5HSzncev2KmLfYbbbADTUrOkH+a8cT\/U8vJSK7iitEc3dWfflbovkqw0Y6rJlu10nqJSP3Ng0+ec\/BeaQMVJPVWqohjZW0zyQ8MAc9h7\/TyIVqVV1TDJbbjS3+mbvG4MnA\/eHV8Mj0UoycuyyqpRhRtVgtNfAtSLXBNHUwRzxO4o5GhzT2grYqTencIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAhtV1k1FYZZIHcL3Oazi7ATv8NvNeaUr5LhYo5JpOklje5jnEdm4+BCw1mzi01OcZ4HMPh7wH1UVomX2Wtqre5xxJEydgPYQD64cPRXJJ0zBKpKO1pPRr5+Dr13R9NaI6kNy6nk3PY12x+PCoGkq573RW3T8Jc1ocTO4fwg5HoPjhXHUkkEen6z2g4a6PhGOZcfy\/HCrH9n80ba6qhI\/EfGHNPcDuPiFKD\/bvyKNogntSjfvLP8AvWxd6eCOlp44IWhkcbQ1oHUFsRFnPWStkgi1yVEMUjI5JWMfIcMa52C49y2ILhERAEREAReAgjIOQVw3K9UFqZmrnDXYyI27uPkupN6EZSjFXk7I71S9SzMt+sbfWykiIMaXHGcAOIPwK6Bd79fiW2qlFHTHb2iXnju\/kD4qF1RZX2oU1RLWSVU85d0j5O7GMDzPwV1ONpWbPO2qtjpYoLJWd\/7qTp1Jc7uXR2O2u4c49omIwPLl8T4LKDSUtYRNfLhNVPzkRNeQxv8AXdhWKmMbqaJ0LWtjcwFoaMAAjqW1Qx27qsaVs6lnUeL29CnSRQ2LXFIymYIqepiEZa3lvkfMNKuKpuvQ6GW3VcezmOcM94wR9VboZWzwRzM\/LI0OHgRlJ5xTI7PaNSpTXB39TYua41nsFvmq+jMnQt4i0HGV0rju8fTWetj\/AIoHgePCVBamqd1F21NNhu7bzbW1PCGSBxbIwHPCR\/LBXdUQR1VPJBM0PjkaWuB6wqLoOtMNylo3bMqGcTdv3m\/yz6K\/KdSOGWRn2WrvqKctdGUOxTzaf1O+11LyYn\/htJOQOtpHZnPxV8VH1\/SllXSVjduNhjJHUQcj5n0VmsV3jvNtZUDAlb7srOx32KlUV0plOyy3dSVB8NPAkkRFSegEREAREQBERAEREAREQBERAEREAREQEZqSIzadrmjqiLvTf6KrWyX2W6WGtxhlVB7O7h6yCW\/9qu1VD7RSTQ\/\/ACRub6jC+ejjdo+CoZ+0oK0jvaDg\/PCvp5qx5u19mop9PZp+xPajzdr\/AG+yjiMQPTTcPZv9AfVRNM0WXXvRN\/DidKWgDYcLxsPAZHopfTB\/St5uN7e33S7oosjkP\/Ab6+sbrqJ1Pd6Stj90vZsR\/E08\/iFKOuDoU1VeH6j\/AKv5aF7RaqadtTSxVDBhsrA8eBGVtWY9dO6uUzXkL4Z6GvjcWvaSzOORByPqrJZbk262uGrGOJwxIB1OHNR+tKUVGnpJOuB7ZB64PzUZpGoFHdJaHfoquJlRF1AHGSB6kf6VdbFT8Dz8TpbW1wlb+\/QuSIuC5XqgtTM1c4a7GRG3dx8lUk3ob5SjFXk7I71A6putDTWupo5pgZ5oyGxt3OeonsXF7ffdR4bb4nW6idzqH\/ncO7+XqpC36UttC0ukYaqdwPFLNvuewcgppKLvIyyqTrJxprJ8X9iv2T+8F0tkNJRTMo6OHLDM38x3z4536sKwW\/SlsoiJJozVz9ck\/vb+HJcOh3GOnrqJ2c08\/InOM7f7VaVKpJqTSIbLRhKnGcs314HgAAwBgBVzXNN01iEw5wStd5Hb6hWRcF9gFTY62I9cLiPEDI+IVcHaSZprwx0pR6HlilE9iongg\/gtG3cMfRSCqFh1Pbbdp2niqZiZoy4GNjSTjiJHdyWz+8V6uoxZ7S5jHA4mm5c+YJwPmpum7spp7VTVOOd3ZZLM3a7hMliZIB+ynaSe4gj5kLfp270o05SvqqmGExtMZ45APynA5nsx6qGvVovhtFRV3O6h7YwHdBGDwnfyHX2Fcmj7Vb7lPUx18Be+NrXsaXFowc55eSnhW7zehldWa2q8Y2xLj+Cy1GsrLAcNnfMc4PRsJ+JwFxS6ulq43x0tjq52vaR1jn4AqwUtsoKID2akhiI62sGfXn1LqVd4LRGzd15azS8F8nyiknrKKGmuUEADaaVzBMdwSRnhI8CfVXD2jWRALaSjwR\/EP+5cFhoP0hpe7UjW+86ZxYB\/EACB6hTek681tiiD89JTnoX557cvgQrakuNtDDstN5LE1dXy6ZMgr7Bqautr\/b6OnEMP4pdGRxDA36+xQtiu01jr2TYzDMMSNJ2Lc8\/I\/VfUHsbJG6N7Q5rgQ4HrC+UXSlfQVMlDM7L6Z5a09ZYdx9\/9S7SkpJxaIbZSlRlGrFu\/U+oW+vp7nSMqqZ\/FG7t5g9h7CulVPRFSIY6i1zh8dTG7pBG4Ae6QOXfy59oVsWeccMrHq0Km8pqT1CIiiXBERAEREAREQBERAEREAREQBERAFQYRHT2rUlFKSGxSgtGeviIHxDVfl841O99LfrjAwHhqmx7Dr\/KfmCrqWbseftzwxU\/FeqZa9HCIabp+j5ku4\/8Ai4j9MLl13TdLZY5wPeglG\/cdj8cLzRJfDBX295y6mqCD57f7Spi+U\/tVjrIesxOI8RuPiFxvDUuSjHebJh6exx6RqTUacp8nLouKM+R2+GFNqlaArcOqqBx54lZv5H6eiuFRUwUkJmqZmRRjm55wFypG02izZailQi3w+xhcKb2y3VFN1yxOYPEhfPIqhtNbbZcWuAqKGodE5nHhzmZ4sY7PeI81YptTVt2ldS6fpHOI51EgADe\/B29fRRFp0\/DPebjbq\/3qmOIuY5uzQT+9j\/UCFZBYU8Rj2mW9nHd+F+HP7Eo+63vUB4LRTuoqU7Gpl2Lh3dnlnxXbbdI0NI\/p6smtqCcl8u4z4ffKw0fWSuoprbU7T0L+Ag8+HfHoQR6KxKEpOLwrI00acakVUnm+vDyCIuC5XqgtTM1c4a7GRG3dx8lWk3oa5SjFXk7IhrSPY9b3Sm\/dmZ0o7zsf9xVgq6+koI+kqqiOFvVxuwT4DrVCqbtV3DUsNXQRmjkqGiGJ8vI5OM8vurFQaPgbL7VdZ319Qdzxk8P3Pn6K6cVk5Hn0KsmpRpK+bz4Z\/U0y6qrLjMaewUDpiNjNKMNH28z5LRWadutVST1N3uzn9GxzxDF+XIb5AeitsUUcMbY4o2xsaMNa0YA8lyXp\/R2SueOYp348eEqKnnaKLp0G4t1ZX+iKnoOKknnqmzwRyTMDXxue0EtG+cdnUr0vnum2m13e2THIZXwua478+IgD4NX0Jdrd65DYH+zbiv8A0itTt49OVozj3M+hBVasThR6gtj9mtraINPiMj\/YPVWPVZA01WZOPdb\/ANQUBdWuptPWC5tHvUpZt1kEA\/7fiuw7tuZDacquP+KT+pdkWLXNewPactcMg9oXksgiifIeTGlx8lQelcrehxigrO+pPyCwsrTatXXC27NiqB00QxjvwPDJHktuhYy2xSSHcyTudnyA+hUdq+5RUl7pKqimYa2naWvAGcA8gfU7d60WvNxPLuqez06j4fcn77qCns8XRt\/GrHj8OEb+Z7vmqbfLLcYaJl3uEnHPUSYlZjdmR7vyx3bBWjT9g6CT9K18oqq2ccYfnIYCOrv7\/RSt2pGV1qqaZ4yHxnHiNx8QFGMlB2ROpRntEHKeXJfPUqtVHMbNbdSUO1RTRtbOf42j3Tnt5EeB7lb6KrjrqKGqiPuSsDhvy7lXNFzw11gnt0oB4C5rm9rHf0QtuknOo5K6zSv4nUspLM7e6f6z5pNarkd2eVnGS0kvqvksqIipPQCIiAIiIAiIgNNTVQUcDp6mVsUbcZc7kMrZHIyWNskbuJjwHNPaCoTWf\/tqf\/iZ\/wBQUnbP\/wAVSf8AIZ\/0hSt2blSqN1XDpc6kRFEtCIiAIiIAqTq2AN1PbZnDDJOBpJPY\/f4EK7Kq67AjpKGpA9+Kf3T5Z+gVlJ9oybar0W+VmZ2r9V1vdKbkJmCUdeTsf9xVkldG2JxlcGsA94uOAB4qlXi7xUmrqeuo+GqJpw10cbskuPEANvELtZZ7vqFwmvU5pabm2liOD5j75PgpSjezZTSrYcVOCu7vw9SpUFbNabsZaJ7Xua50bST7rwdhnu5FXCm0xV3CYVWoKt07gctp2O91vcf5eqrV3s8cF+rKKmaWsji6SMbnk0OP1V+sdd+kbNTVROXuZh5P8Q2PxCsqSyTRm2OknOVOpw4cOp1wwQ00QigiZFG3k1gwAq5WH2HXtJNyZVw8Dj2ncfRqs6q+tuGCK31zSOlp6gFozuRz+YHqqaecrcz0Np7NPEv9WmY3Iiy6xprgX8NPXAxy9gIAHp+U+qnrhdKK1w9LWTiMH8rebneAVSvFyq9UUzoLfbHupoTxmZ\/PIB5dXluuvStpobjSi6Vbn1lTxFrhNu1hHd17YU3FWTkZ6dV7yUKWjzTenXxMnXW+6gcWWmA0dIdvaJdnEeP2z4rutukqGjPTVf69Uk5Mku4z4ffKnQABgDAC9Vbm9FkaY7Or4qjxPr9kUnXZ9nrrfPGA17GkgjuIIVygmZUU8c8ZyyRge09xGVUNcwPqa+3QR\/neHhvjspjSFX7Vp2DLgXQkxOx1Y5fAhTkv20yijK21Tjz+1vkm1EaqlEWm6w9rQ0ebgFLqta4e42qCmZ+eeoa0Z7MH64UIK8kadplhoyfQ4bvSSU+kbVWR7TUXRyB3Ph4sH58Kt9PM2ppop2fllYHt8CMrluFvFVZJqAHOYeBpPaBsfUBcGj6o1FgjifnpKZ7onA8xjcfAhdbxRuVU47uth5r6r8GvW0\/Radez\/wCaVrOX+r\/at13oePR8lLw4MVM0gY3BYAfouPVBFZeLTbBzfL0j+vA8PJysrmtewscMtcMEdoS+FIKO8qVPBL++pGaZqjV6eo5Dzazoz\/pOPot96m9nstbLnBED8eJGB8VXNM3Wls1FcKSumbH7NUHA63dWAOv8vxXBf7rdLvbnVXR+y2wvDWNcd5jn48s9m3Wp7tufQq\/VRjs64yt+DK03OuktEFnssRNQeIzz4wIwXHr6tsb+im2aQporNUU+RLWTs96d4yeLngdgyPFSlloILfbII4YmxudG0yEDdzsbkrvUZVM+yWUdmWBbzN2t4EFpG4e22SON7iZqY9G8Hnj934beRU3JwiNxcMtwcjuVXpiLNraanLg2C4s42jG3Fk4+PF6hWK4PEduqXu5NheT6Fcmu1dcSyhN7u0tY5eh8+0xUvtNfT1su1NVOdA53U3kc+uPLKsYBo\/7QTjGKymyRnHIfH8i0WO0Numim00mAZHvfE478LgSAfms7JaLr+mYq26Nx7LCYo3lwcX7uG++eRVsmm2zDRpzjGEUrptPw5lqREWY9cIiIAiIgOepr6WklhinnaySdwZG083FdCg9W0DquzOmiH49KRKwjngc\/hv5LtstybdbXDVjHE4YkA6nDmpYezcpVR71wfijm1XCZtN1YbzaA7l2EZ+GV02OYVFjopBjeFoOO0DB+S3XGA1NsqoAMmSF7QO8g4UToufptORsySYXuYc+Ofqu\/6EHltC6r2f5J9ERQNIREQBFpqaqCjgdPUzMijbzc44Vblv1yvk7qWwxGOEHD6uQYx4dnz8FKMWympWjTyevLiS911Bb7O3FRLxSkbRM3cft5qs3d971Ba5as07aWggHSNicfefjr5dQJ7B4qetOl6O3u6eoPtlUTkyyjOD3A\/PmpmSNssbo3jLXgtI7QVNSjF5FMqVWtF7x2XJfdnzymgpqaLT1dTsLJJKgtndkkuIeB4cs+q+ir5ZJVCjgFtkB46SuLw7qwNiD18wPivqalWWhTsEk8SXT2t9io3CNjP7QqUPaCyeHDgeTgWub9Fs0pKLbU3O0zvDW00nSNc7YcPInfkPy+q4dUXFkOqaKalxUS04Acxhz73Efd8VxVlFV1d8pKm9xezMuDwwti2IxgDOc46lK1458ih1MFVuObUvLNW18SwVmq31M5orDTGsnI\/a4wxvr8zgKLu+m6qOz1NyuVc+orGBpAB91oyMj49WArjRUNNb6dsFLC2Ng6hzPeT1rTe4+lsdcwczA8jxAyq4zSawmups7nBuq7u3khZXiSyUTwMZgZnxwMqDtjnWTVtRbXDhpq0mWHsB3O3xHkFI6Sk6TTdJnm0ObzzycVz6wpJXUEVxptp6GQSAjnw9fxwfVF3nF8Ts7ujCqtVZ\/JYUXLba1lxt0FYzYSszjPI9Y8jldSqeRsTUldFYvn4msLNFz4cvx5\/wAljpsC23+52jkzi6WIY\/d\/8EeiyqgJ\/wC0OkwP2NMc+jv+4Ly+NFt1TbbrjEcx6GU4wB1ZJ8D\/APVX8MPQ815SdXlL6WSLQqvfT7dq20ULSD0J6Z4887+TPirQqvZP\/UdW3S44JZD+DGers2\/\/AJ+PeoQyuzVtHaww5v2zLQqnC8ae1fNHM\/go7iC9rnHDWvznfzyPMK2KF1JUWZtEYbpJnO7Y2H8Q9e3p17LkHnbmd2iPZU72az\/viR9ncLzq6sujd4KZvRRHtPLI\/wDsfMLpuuqWQzexWqP22sdsODdrD39qjaakul5gbTUcP6ItO5xuXyA\/E\/AeKstss1DaIuCkhw4jDpHbud4lTlhTzM1FVZRtHK+bfwvuyn0NrcNXMhv0ccstTGZQ1pHCXd4HgdlK6raKqvtNqYMMkl4nDqAGBy8OJbNX0s0fsd2pYy+WjflwDc+7zye4YPqtVqdJf9SuvBieykpm8EBftk47P9ROfBSve0yvAouVBatr01ZakRFnPVK9rGiMtsZXQj8eieJGkc8Z3+h8l5eLtFV6LlrY\/wDPjDeHPJxIBHlv6KwPY2SN0b2hzXAhwPWFUhpKubVeyMqmi0ioEvRE5cRjfq7sfFWwaaz4GKvCcZNwV8St58yesFMaSw0cJGCIg4jsJ3PzUisWMbGxrGDDWgADsCyVbd3c1wjhio8giIuEgiIgCIiA8IBGCMgqrWN4supKyyu92Gc9LT55cuXpt\/pVqVc1dRSezw3alH6xQvD845tzn4Hf1U4fxfEzbQmkqi1j7cSxqr6Z\/Ur\/AHe2EFoD+ljb2Nz9nNU9ba+O52+Gsi2bI3JbnPCeseRVfv7XWjUNFemO4YZXCGfw\/wDH\/SuxWsSNdq0Kq0T+jLUi8BBGQcgrkuV1o7TB01XKG\/wtG7neAUEr6GqUlFXbyOxQFz1VT08nsluYa6sJ4QyMEtB7yOfkuEyXrVR4YgbdbHfvn88g+vy7yp21WWhtEQZTRDjIw6V27neJ+inZR11Mu8qVf8eS5v7Ih6fTlZdZ2VuoKgvPNtKzZre44+nqrJDDFTxNhhjbHG0Ya1owAtiKMpNl1OjGnprz4hEUJedTU9ud7LSt9rrnHhbCzfB78fLmuJNuyJTqRprFJlN1XTil1BVt4BiYtkafEb\/HK7aW+3a\/mC0irjpS5uHzZIdJ\/PuHNcmpKG6RmG4XR7TLU5HA3\/LA5N+Kudfp2gutFG10YhlawcE0TQHDbbxHctTlFRVzxqdKpOpPDl00unmVWrtlPZ9W2ulpi8gOhL3OO7nF+59MKw61pOnsftDR+JSyB4OOo7H5g+SqFRLPQ6lgFwqOnNFLGHSDJJa0g\/JfQI6y3Xyjmgp6qOZsjC1wH5gCOeD4qM7pxZbs6hONSmsr8Dfb6ttdb6eqadpYw478jjceqXFpfbapo5mF4+BUHoqoe2hqLbNtLRylpGRsCTt6gqerf8DUf8p3yVMlaVj0Kc95RUnyIfRbg7TcIH7r3g+qnXsbJG6N7Q5rgQ4HrCgNE\/8At1n\/ADXqwpPvM5s2dGPgVbSsktuuFZYagk9CTJE49bdvnkH1VpVX1RHJbrnQ32LOInCKYD+Hf7keisjZ4nUwqWvBiLOMOHW3Gc+i7PO0uZHZ3gvSfD24FctpFVru5Tk5EEQjaD1H3R9D6rv1RbXXOyyxxtBljPSM7yOY9MqO0i5pjuN3neI21VQcOeQMAZP+7t6l112sLXSngge6rlP5WwjIJ7M\/bKk08eXAphKnuHvHbFd+pHu1fG\/TQMcmbk5vRcABzxcuL038dl22oW\/S1obFW1MUc7\/xJW8WXEnqA5qJbarxeaptZFRQ2lrv8wZEhyc57c58FM0GkLdSyGap4q6YnJdPuPTr88rssCViFLfyliteysm8vO2uZxPu941CXRWWA0tLydVS7Hy\/lk+C7bXpOioZPaKpxrak7l8oyAe0D6lTrWhrQ1oAAGAB1L1VufBZGqOzq+Ko8T+nkgiIoGk8c0OaWuAIIwQeteNa1jQ1jQ1o5ADACyRAEREAREQBERAEREAREQBERAF45oc0tcAQRgg9a9RAVO0vOntRS2aQn2WqPHTlx5Hs8+XkFN323suVnqKd2OLhLmEnADhuN+pR+soaZ9pE8kzYaiB3FTuzgk9YH9dQUVRyXXWTRHNM2moYsCbojvI7HZ\/Q8VfbFaZ5zkqblQte+i6Ph5C3aor57dBbLfRGWtYwRmUnLWgbB3p27eKlLdpYGcV15mNbVk5wd2N7B3\/LuUfWUjdJXqmr6ZjxQStEUwBzg\/0AfIq3xSxzRNlieHseMtc05BC5N2zjoxQp4nhrO7jw4eJkAAMAYAXqIqT0QtVRUQ0kDp6iRscbBkucVxXi+0dmh4p38UrhlkTfzO+w71C09ouGpJ21l7LoKYbxUrDj17Pn4Kajld6GepWs8EFeXt4nkt2umpJHU1mjdTUg2kqX7Eju7PAb+CmbPYKOzx5ib0k7h787x7zvsFIxRRwRNihY2ONgw1rRgALNHLKy0FOhZ45u8vbwK1rtrTYmOI3bO3B7Nipq11IrLXTVAx+JE0nHUcb\/ABUFrvikt1JTtHvSVAx44I+q16buL6bStYJfdkoC8YPMbZHxyFPDemihVFHapJ6W9iu1AFZqN1S8B0clfwAEbEcXWPDCt9bo63VDjLSl9FN1OiOwPh9sKsQ0xgttjlcPeqK10hzzPvNA+S+jKVSTVrFOyUYzxY1fR+qufPw286YvvCwsrJaxmxcTiU\/92fn3qVqdS3SKmljrLBOwOYQZGk8IyPD6rdrWB7aKmuUP7SjmDsjGwJ5+oHqpO4Vscmm6isH5JKVzm+bdh8VxyTSbRKNOUJThGTSWfPIq+mtUUNqtfslTHOXNe53ExoIwfNSf9+qJ\/wCxoayTqHut59mxK69JU4bpul6RgOeJw4h1FxU4uTccTyLKFOtuo2nbLl+So1mo6m40ctL\/AHcrJWStIPPl2\/lPcuGkodVutX6Njg6KmeSwmQtDgDnI7cc+rrV8RcVRJWSJvZXN3nN+VkVSj0LA1rBXVs04ZyjZ7rRuTjr7erCn6K02+3f4SkjiOMcQGXY8TuuxFBzk9WXU9npU+6giIolwREQBERAEREAREQBERAcMbLkLxK+SWE28xgRsA98O2yeXj1nqXciLrZGKsERFwkEREAREQBcd0qKqloJJqKm9pmbjEefj3+C7EXUckm1ZOxWLfpqatqP0jf39PO7dsGfcYOoH7cvFabjE\/S97F0p2F1BVHhqGN\/cOeY+Y8x1q2rTV0sVbSyU07eKOVvC4Kam756GWWzRUOx3tb9ephNFS3W3mN+JaeoZzHWOYI+artoq59P3U2OveTTSHNJK7vPLz+B8Vlp+pms9yk0\/XOOMl1K88nN7PP55CkNUUNHWWeQ1crITF70Urv3Xdnn2fZdWTwvRkG3UjvY5Sjr90yZVcuupnmo\/R1kj9rrHbFwGWx\/Q\/IfBQlDdbvqRkVobVMgAZ+NNn35Gj5+A59auFqs9HZ6foqWPBP55Hfmf4n6I4qHe1Oxqy2hft5Li+Pl8kdZ9MspZjXXKT2uueclzt2sPd2nv9MKfRFW5Nu7NNOnGmrRQREXCwrGrMyXWx0\/MPqMkc\/wB5vV5lQN6dLbrtdbdCwhtwcxzd+eTn0yXBTt0\/WNd2yDGRFGZCe\/3j9B6qIvtxp3a1hmcGuhpHsjkdjbIOT6ZPotMOC6HjbTZuUr27VvpZkjeqcUtXpqiAGI5A1zduosBPz3VuVYv\/AL+q7KzlhxdnzH2VnVU9Eb6CtUnbmvZGmspY62klppfySNLTjmO\/yVCnuM9JYarTlQ15qo5QyPDSeJmeLb09CF9DWp9LTyStmfBG6Rhy17mAlvgVyE8Op2vQdTOLs9PJmu3U3sdupqbGDFE1p8QN10oigaEklZBERDoREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREARYveyNhfI4Ma0ZLnHACrNbqWpuM5oNPRGaTk+oI91g7Rn5n4qUYuWhVUqxprP04nmtZaB1NGzpSLjG4GAR7vGT145LgstM\/VFc+S8Vbnmkw0Un5fEkePPr8FO2bTNPbne1VTva65x4nTP3we7Pz5rk1HbZ6OrZf7Y38eH9uwD9o3t9Ofdv1K1SXdXqYalKbe+msuK6debR03jTcVTFHPbQ2krKcDonRjhBx1H7rGy6lFXP+jrhEaavZsWuGA893Ye70UpbLjBdaFlXTn3XbFp5tPWCue9WKlvcAZNlkrPyStG7e7vHcoX\/wBZGhwa\/co8eHB\/DJNFU2XS7abeynu0Rq6PYNqo8ktGes9Z7j6lWWkrKevp21FLKJYncnD+tlGUWi2nWjPLR8jeiLTU1UFHTunqZWxRM5ucolraSuym3C6soNXXCtJ4jTwCONufzPIaMeWXHyXRBpx0uj5jIxxran9ZOBuSMlrceBO3a4rhstrdqK\/VF0mb+ptnc4gnBceYb5bZV+V85YbJHm7PS32Kc9He3nxKVYZKq76ipp6iORgt1P0buMH84HCc9++fJXVYta1ueFoGTk4HMrJVSliZto0t1Gzd2ERFEuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKGu2pqK2OMEeamrzhsEe+\/YT1eHNd9xpZa2hlp4al9M94wJWDJC5bTp+htA4oWGScj3ppN3H7KUcOrKam9bwwy6\/giGWa66hkbUXuY09ODllLHsfPs+J8FZKSipqCAQUsLIox1NHPxPX5reiOTYp0Ywz1fN6heEAjBGQV6iiXFRq6Wq0pXuuFvYZbbKfx4B\/l9\/wBj5FWairae4UrKmmkD43jY9nce9b3NDmlrgCCMEHrVUq6Sp0rWOuFvYZLdIfx6cfud4Vnfyepjaezu67vt4dC0yxRzRujljbIxww5rhkHyVdqNKS01SauxVrqKQ84ySWH+XcQVNW+50l0p+no5hI0HDhjBaewhdaim4l0qdOsk9eT\/ACVgSayB4DBSEZxx7evNclwsFUaGe5324Gd8LHObDHswHqGfHHIeauSrOsJpKl1FZYH8L6yUF+3JoO2e7O\/+lWQk28sjNXoxjTbk2+Sb48Dr0hS+zadgJGHTEyHbtO3wAU2tcMTKeCOGMYZG0NaO4DC2KqTu7munDBBR5BERcLAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALxzQ5pa4AgjBB616iArVw0s6Kp\/SFilFJVA\/s9gwjuGNvDl4JRatbDKKO9076OpAGXkZa7v7viFZVz1tBSXCHoauBkzOriG48DzHkrMd8pGV0HF4qTt04fg11N3t9LSmpkq4uj4eJpa8Hi8O1Qenqeout0l1BWMLAfdpWEcm7\/Q8+vddcOjrNDO2UQPfw4Ia6QkZHWpuONkUbY42hrGANa0DYAcgjairI5GM6slKdrLguZkiIqzWEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/\/Z",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:10",
    "ubicacionGPS": "LatLng(lat: -29.9450413, lng: -71.2613468)",
    "horaLlegada": "10:37",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "1",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


26/05/2026 11:10:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[26/05/2026 11:10:03] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76121841', 'TO2428', 4, 20988335, 54302, NOW(), 
				'08:00', '10:37', '11:10', 2, 'se realiza retiro de fotocopiadora', 1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779808203.png', '', null, 'COMPLETADO','LatLng(lat: -29.9450413, lng: -71.2613468)' )
				
[26/05/2026 11:10:03] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200425

26/05/2026 11:10:03 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '76121841' AND 
				serieinterna = 'TO2428' AND
				correlativo = 4;				
		
26/05/2026 11:10:03 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'TO2428'
		
26/05/2026 11:10:03 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'TO2428'
				   AND estado = 1
				
26/05/2026 11:10:03 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'TO2428'
				  AND rutcliente = '76121841';
				
26/05/2026 11:10:03 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'TO2428', 5, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
26/05/2026 11:10:03 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200425'                    
				WHERE idllamado = 12719			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


26/05/2026 11:10:03 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12719			
				
26/05/2026 11:10:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


26/05/2026 11:10:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:10:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:10:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:10:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/2026 11:10:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:10:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:10:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:10:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:10:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

[26/05/2026 11:10:07] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 11:10:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/2026 11:10:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12719
            GROUP BY l.idllamado;
            

26/05/2026 11:10:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

[26/05/2026 11:10:07] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 11:10:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:10:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:10:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:10:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

26/05/2026 11:10:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12719
                

[26/05/2026 11:27: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;
                

26/05/2026 11:27:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

[26/05/2026 11:27: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;
                

26/05/2026 11:27:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:27:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/2026 11:27:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:27:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

[26/05/2026 11:27:40] 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;
                

26/05/2026 11:27:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/2026 11:27:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

[26/05/2026 11:27:40] 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;
                

26/05/2026 11:27:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/2026 11:27:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:27:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

[26/05/2026 11:27:41] 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;
                

26/05/2026 11:27:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/2026 11:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:27:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/2026 11:27:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/2026 11:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

[26/05/2026 11:27:42] 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;
                

26/05/2026 11:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11: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 = 12717
                

26/05/2026 11:27:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/2026 11: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 = 12717
                

26/05/2026 11:27:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/2026 11: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 = 12717
                

26/05/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 = 12717
                

26/05/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 = 12717
                

26/05/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 = 12717
                

26/05/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 = 12717
                

26/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/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 = 12717
                

26/05/2026 11:27:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:27:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11: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 = 12717
                

26/05/2026 11:27:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/2026 11: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 = 12717
                

26/05/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 = 12717
                

26/05/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 = 12717
                

26/05/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 = 12717
                

26/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/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 = 12717
                

26/05/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 = 12717
                

26/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/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 = 12717
                

26/05/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 = 12717
                

26/05/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 = 12717
                

26/05/2026 11:28:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/2026 11:28:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/2026 11:28:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/2026 11:28:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/2026 11:28:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:43 - logentry: =========================================
FECHA: 26/05/2026 11:28:43
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-3VOiPYoy7TU3B9NbLNfRKJgcX.H9oHJClnR0ofBA9ahAKvcJ.SR
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "10487973",
    "serieinterna": "TO2959",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "285798",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "cambio rodillos adf\nbandeja 2",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12717",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADxAS8DASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xAA\/EAABAwMCAwQHBgUDBAMAAAABAAIDBAURBiESMUETUWFxFCKBkaGx0RUjMjPB4SRDUvDxB0KCFmJywjSy0v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC8RAAIBAgQCCQUBAQEAAAAAAAABAgMREiExQSJRBBMyYXGRscHRI0KBoeHwJPH\/2gAMAwEAAhEDEQA\/APqF61BS2dojP3tU8fdwt5nuz3KOa3VtyAm7Snt7CciMj1sdM7E\/EKddbKN1xbcHU7DUtbwiTG\/+fFdSmpJLJGd0pzk8UrLZL3Ks+6ahsRzc6dtdSgbzwjcc+fd05hWGirqa40zamllEkbtsjoe4jot7mhzS1wBBGCD1VSuNsm0zUuu9pJ9GJHb03TH0+S6rTy0ZB46Gd7x\/a+S3ItFFWQ19JHVU7+KOQZHePA+K3qs1Jpq6CIiHQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCxexskbo3tDmuBDgeoWSICo2979MX82yUk0FY7NO4n8Lv72PsKtyi9Q2ht4tb4AB2zPXiceju728lp0zdn3KgMVQcVdMezlB5nHI\/31BVkuJYjJS+lPqno817omkRFWawiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKqXFn2FqynuTfVpa49nNjYBx6n4H2FWtR19tgu1ompR+ZjijPc4cvp7VODs8yivByheOqzRIoobTFzNwtgimJFVSnspmnntyPw94KmVFqzsWU5qcVJbhERcJhERAEREAREQBERAEREAREQBERAEREAREQBEWqoqaelj7Somjib3vcAhxtLNm1FCTawskPFiqMpb0Yw7+ROy0UmsqWtuMVJDST8MpwyR3CMnyzy9vsU8EuRS+k0b2xIsSIigXhFz1tbT2+lfU1MgZGwbnv8B4qtwatrZK+nfJQiKgqpBHC5x9Y7gE+P97qSg3oU1K8KbSky2IiKJcEREAREQBERAVO6h2n9Sw3ZmRR1h4KgDkHd\/wCvsKtYIIyDkFctzoI7nb5qSUDEjfVOPwnoVD6RuEslNLa6s4qaE8GD\/SNh7uXuVj4o35GSP0quHaWa8dyxoiKs1hERAEREAREQBERAEREAREQBERAEREARYuc1uOJwGTgZPMqvaiuFVPWQ2O3OLZp\/zpAD6jP7zlSjG7sV1KipxuxcdRVE9YbbYoRUVGfXmO7Ix1\/yfisKfSHpE3pN7rZK2UjdgJDR4Z548sKZtVqprRRtp6dvi955vPeV2qWO2USlUMfFWzfLZfJx09ottKB2FDAwjk7sxn381CSN9K\/1BiDR6tFTbgchkH\/9D4Kyuc1jC9xw1oyT3BVnSDXVlVcbw9pHpEvDHkYwOf0HsSLdm2cqxWKEIre\/kWhcdzulLaaR1RUvwB+Fo\/E89wCyuNwgtlFJV1DsMYNgObj0A8VW7ZbqrUlaLvd28NKP\/j0x5EfT5+S5GO70J1arTwQzk\/13s9o6Kr1VVi4XRrorew5gps44vE\/Xr02Wy48NZrO2UMYDY6JnaEN2DeoGP+LferQAAMAYAVY0v\/H3m63fm18nZRH\/ALf8BqmpXu+RROkouMNXJ3b52zLQiIqTeEREARFoq6ymoYTNVTshYOrjjPl3ocbSV2b1i97I2F8jgxrRkuccAKtVWr3VMvotipH1kx\/mOaQ0eOOfvwsYtMV9zHaX24SOyc9jC7AHn09w9qswW7WRmfSMTtSWL08zsr9X2qjBbFL6XLyDIdwf+XL3ZVXvBvEsjr6aR9uY\/EZMbiHlp2y74DkOivFBZ7fbAfRKVkbiMF\/Nx9p3XTUQR1VPJBM0PjkaWuB6hdjOMXkiupQq1o8cvBL51MKKQS0MEjZe2Do2ntMY49ueFvVV09USWW6S6erH5bkvppDyIO+Pbz88q1KElZmijUxwvutfEIiKJcEREAREQBERAEREAREQBF5xDi4cjOM4XqAIq5qu4V9I+ipqF4jdVuLOPOMHLceXP5rGj1aKd4pb5TSUc7djJwksce\/bl7MhTwNq6M76TTjNwllbfY4NWcFRqGClqJnxU3ojpHcJxkgPI892hcVibeLZF9tRUbayKdpa7LiZOEE58vw+PRcupq9t3u\/pFIDJC1ogY7GOI7n9SvotJTMo6SKmjADImBowO4K6TwwSMFOn19eck9NH\/vyRlBqq1VuGPn9Fmzgxz+rg+fJd8lzoImcclbTtbjOTK3f4rVW2S2XA8VTRxvf\/AFgYd38wuKLR9likD\/R3u4TkB0hwFTwG7\/oWWT80R9zukupSbVZgXQuIE9Q4YDRz88be3kpxvoenrMxsjwyCnZjJ5uPl3kpVVVu09b+JzWQQt\/DHG0AuPgOpUHR0dXqmrbcLmwxUEZzBT\/1+J+vVS1XJFV3CfOb8kvj1MaKiqtVVrbnc2mOgjP3FPn8Xif1PXyVta0NaGtAAAwAOiNaGtDWgAAYAHReqEpXNFKkqa5t6siNUV\/oFhqHtOHyjsmYON3ftlbNO0Jt1jpoHDDy3jeM53O\/7KKvzftXU1utWA6KIdtMD1Hd7h8fdaFJ5RSK4cdaU+WXuwiIqzUV+5R6goa99bQS+m07+dM4fg5Dbf4j3LQdT3cnhbpmqDu8l2P8A6Kzop4lujO6Mrtxm1+\/Uqrjq+5gN4YLbGQckEZPzI+C30ujaXtXT3OoluEzuZeS0fPJ96saJje2RxdGhe87y8fjQ1wwQ00QigiZFG3k1gwAtiIoGlKwREQEHqi0G4UIqYMtq6X7yJzeZxuR9PFdNgurbxao6j+a31JR3OHP3813snhkkdGyVjnt\/E0OBI8wqvtpfU4x6tvuPPujf\/k+4+CsXEsJkn9Ooqi0eT9n7FsReEgDJOAFqpqqCshE1NMyWM8nNOQqzVdXsbkRV6t1NI+ufQWekNbOwHid\/sByOvv378Lqi3oQqVI01eRYUUFa9SiqrXUFwpnUNUPwNkO0nln98qdRprU7CpGorxYREXCYRFHuv1pbMYnXGnDwcHLxgHz5dF1JvQjKUY6uxIIsWPZI0PY4OaeRacgrJcJFL1E+ewakhu0DiY6kYezOxxgEH4HzVupKqKtpY6mB3FHK3iaVH6ltrblZJ4+HMkQMkeBvxAcvaMj2quaKvRpni3VTuGGY\/w7nDbj6tz4\/PzV1scL7o89T6jpDi+zLP8kxrOB7rM2pjJDqWVr8tODjOPnj3KViZS3e3089RTxStkjDwHtDuHI3xlYX2ET2KtjIz9w4geIGR8QubSj+PTdJk5LQ5p3zycVH7C61q7WzXoyM1DBDHerFSRRMji7fiLWtGDu3p7Fa1B6mtlVVx09ZQb1VG\/jYz+rl7+XLzXHHrqjazgqaSqjqGt9dgYMBw6bnPvC7ZyirEFOFGrLHle1vItCh71qOltAMI++q3D1IW77nlnu+ajRddQ3r1LfQihgcPz5s58wfoCpGzacprX9\/K41NY\/d8z98Hw7vPmuYVHtEnVnVypKy5v25nDbrDV3CsFz1AQ94wYqb\/azzH6e9WYAAYAwAvUUZSbLqdKNNWQRFH32s9AslVUZw4Rlrf\/ACOw+JXEruxOUlGLk9iG0w0117ut3Jy1zzDGd925z5cg1WlQ2lKMUenqf+qYdq7bHPl8MKZUpu8ino0XGkr6vPzCIigaAiIgCIiAIiIAiIgICv0fb6uZ1RC+WlnceLijdtny+mFCXq06hjoXQVEguNM08bZMZewgc+\/l5+9XpFYqkkZKnRKc07ZX5Fd0ze6e8W4UNUQ6oYzgex\/81uMZ8duag4Z59GX98Ehc+hmOfNvQjxHXv9y6tZ2Z8MovNHxNOQJuDYtPR36KOqr0y7WT0S55jq4W9pBOW5Eo7j3E9\/eOiuik81ozBVqSi8E8pR0fNFh1BejNFBbLW8S1Fe3ZzXfgYevtGfIZUpZbTFZ7eymjAL8ZkeB+N3eqZoitpqe7uiqGjtZ2hsUh\/wBp7vb+i+hqqosPCjZ0WXXXrPXTw\/8ASNvNjpL1AGTgtkaPu5W82\/UeCirPdqu2Vwst6Pr8oKgnZ46DPXw9ys6jL5ZIb1Sdm49nPHvFKBu0\/RRjL7ZaFtWk0+sp9r1JNFA6bu89R2tsuPq11KeE55vaOvj59cgqeUWrOxbTqKpHEiK1PUSUunayWI4fwhue7icGn4FcVt01aamx0xmpQ6SaFsj5OI8XE4Ak5XfqOHt9PVjMA4j4sHl6pB\/RNOTio09RPBzwxBh\/47fopptQy5lEoxl0i0lfL3IeayXWwvdUWKd00PN1LL62RuTjl8N1L2W+U95gPCOyqI9pYHHdv7KUUBe9NNrJvtC3vNNXsPEHNOA8+PcfH3piUspB05UeKlmuXwT6olvscNdNdrUT2clNPx08gG7eY88YDVPWLUIrnuoa5oprhEeF0btuPxHj4Llox2X+oNc1v4ZKcFwPfhqlG8borquFbBLVXt5o0SV+oKShlttdb31LpIjGypiyQ3I4QXHGD39FN6con2+xU1PK0tkALng8wSScfFSaKDldWsX06OCWJyb2C8LQ7GQDg5GV6igaAiIgCIiAKr6re+ur7fZIiQZn9pJj+kf4cfYrO5wa0ucQABkk9FV9OAXa\/V97JcYw7soAe7\/GNvEqyGV5cjL0jitTX3em5Z2MbGxrGDDWgADuCyRFWajxzg1pc4gADJJ6Kv2671d41FJ6I4C2UzS1zuH813Tfz38h4rXqS4zVVQywW45qJ9p3Y2Ywjr7Dk+Hmpq2W+G10EdHBktYN3Hm4nmSrLKMbvcyuTqVMMXlHXx5fJ1oiKs1BERAEREAREQBERAYSxRzwvhlYHxvBa5p5EL5zX22Slu8dgfUMFM+dr45HDLmB22P26kAr6SqPT2z\/AKqqLpcHSEEODKVwJw0jl4cse\/PndSdrt6Hn9NhjwpLP23K\/drdWWmv7KoyHjdkreTwORBVx0zqdtbG2iuD+CraPUc7YSjGff81rt7o9TWqW03QFldSbFxHrDGwd+h\/dY2fTrqmmlo7xSgimlIhmBIc8b+9u+R5qcpJxtLVGajTnTqKVJ8L\/ANZ\/JbGuDmhzSCCMgjqvVz0NFDbqKOkg4uzjGG8Ryeef1XQsx7CvbMrOp6SWhqoNQUTcy05xM3+tvLJ+Xt8FPUNbDcKOOqgdxMkGfI9QfJbnsbJG6N7Q5rgQ4HqFU6R8mkryaKck22rdmF5P5Z8fgD7CrFxK26Msvo1MX2y17nz\/ACWySNssbo3jLXgtI7wVW9GPkgjr7XKfWpJyBv0ORt4Zbn2qzKsUYFDr2rhBIZWQ8YHe7Y\/o7++aOaaJVuGpCffbzLOiIqzSRF507SXjEpJgqm44J2cxjvHVa7NYZ6Gvlr62t9KqZGcHEW8ht9FNopY3axS6FNzx2zCIiiXBERAEREAREQETqetNDYKmRueN4EbceJwfhlbNP0YobFSQ4w4xh7\/\/ACdufnj2KI1d\/G3C12kbiabjkHcOWfcXK0qx5QSM0OKvJ8kl7v2Ci7\/eGWe3ukG88mWQtAzl2OfkF31NRFSU0lRM7hjjaXOPgFWbRTS6huxvlbHilZtSxOOcEHn8D7fJcilq9DtabVoQ7T\/Xed2mrM+hgdW1gLq+qyZXO3LQTnHyJ\/ZTqIottu7LadNU4qKCIi4TCIiAIiIAiIgCIiA4b3Veh2WrnBw5sRDTnqdh8SFxaRpRS6dp9sOmzI72nb4ALHWTHP03OWjPC5hPlxBSVqe2S0Ub2ABroGEAch6o2Vn2fkza9Iz2Xq\/4QuorZPS1Lb9bARUQ7ztHJ7epx5c\/2Uza7lBdqFlXBkNdsWnm09QV1kAjBGQVUaiN+kLz6XCwm11RDZGNP5bv7zj2hFxK25Gf0J412Xr3d\/yW9FjHIyWNskbg5jwHNcDsQeRWSrNYXFdrXT3ehdSzjGd2PHNjuhXai6nbNEZRUlZ6FZ09dKilq32K6uxURfkPcfzG92evh+y81D\/C6ostY3YveYnO8Mgf+5Une7JDeacAns6iPeKYc2n6KDbQX65XC3w3SFrY6J\/aGZuD2gyNjvz2+PJWxabxGCoqkY9Xa+as\/wA7lwREVJ6IREQBERAEREAREQBEWMj2xRukd+FgJPkEBWaU\/aGvqibILKGHgb58j8S5WhVnRLHy0lZcJB69XUEnxxv83FdWprvJb6VlLSZNbVnghDeY3Az8cD9lbJXlhRjozUKLqy3u\/gjrnNJqe9Cz0zwKOmIfUStOePHQe\/Hnv0Vphhjp4WQwsDI2DDWtGwCj9P2hlmtjIOcr\/XlP\/djl5BSijJrRaFlCm1ec+0\/13BERQNAREQBERAEREAREQBERAcN6p\/SrLWQgZLoXcIxncDI+IXHpGft9N02XZdHxMO\/LBOPhhTJAIwRkFVrRWYKevoHZ4qapIJ+H\/qprODM08q8XzTXuWZaaukhrqSSlqGccUgw4LcigaGk1ZlRoauo0rXi2V7i+3yu\/h6g8meB8O\/u5q2ggjIOQVyXS2U92on01Q3IO7XdWHoQoOy3Gos9YLFdnAYH8LOTs5vIN+nu7lY+NXWpli3QlgfZend3fBaERFWawiIgCIiAIiIAiIgCIiAIiIAozUcnZaerXZx90R552x8VJqPvtC+5WWppI8cb25aD1IIIHwUo6orqpunJLWzOK0VdLZ9JUk9S8RsEXFjOS4kk4HeTlcunaKW5V0uoLgxvHIcU7OYYBtkfp7T1Wi3aYrKyeGS+PDoaVgihp2nYgAAE46beZ8lbWtDWhrQAAMADopyaV7asy0YSnhc1ZR0Xu\/Y9REVRuCIiAIiIAiIgCIiAIiIAiIgCwZFHG972MDXSHLiOpWaIAiIgCjL7ZYb1QmF54JWbxSf0n6FSaLqbTuiM4KcXGWjK9p29zSzPtFzHBXU+2Sc9oB+vz5qwqE1BYvtEMrKR3ZV8GDG8HHFg5wf0Xun799psfS1TOxroNpIztxeIHzU5JNYkZ6c5U5dVP8Pn\/AEmkRFWagiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKv6hsMtVK25215iuEO4wcdoB08\/nyKsCLsZOLuiupTjUjhkQun9QMu8Rhmb2NbFtJEds46j6dFNKvX+yTPnbdrSeyr4dyG\/zR9fmuuxX2G805BHZVUW0sJ5jxHh8lOSTWKJVSqSjLq6muz5\/0lkRFWaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKvXyxzeki72n7uui3c0cpR9fmrCi7GTTuiupTjUjZkXZL5BeKc4+6qY9pYTzae\/yUoq7fbFM6oF2tJ7Kui3c1vKX9\/muyxX2G805BHZVUW0sJ5jxHh8lKUVbFEqp1JKXV1Ndnz\/AKSyIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKuags0scwvVqHBWw+s9rR+YOu3U\/NWNFKMnF3K6lNVI2ZHWW8QXmhbURYa8bSR5yWH6dykVW7lp6qp6p1ysU3YTk8T6cbNkPy9h28l0WjUsNbL6FWs9Er2uLTE7OHHwP6fNScb5xKoVnFqFXJ89n\/ALkTiIirNIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFEX6ww3in4m\/dVce8UrdjnuPh8lLouptO6IThGccMtCvaev76iQ2u5tMNfD6vrbdpj9fnzCsKhdQWL7TY2ppXdjXwbxSg4Jx0J\/Xos9PXWouNNJHWwOiqqZwZLluA7xHu\/vKnJJrEiilKUJdXPPk+f8ASXREVZqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "GONZALO MARTIN HURTADO PERALTA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "ROXANA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "APP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE NO IMPRIME, NI SCANEA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56962266896",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R790\",\"id_control\":\"28783\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R734\",\"id_control\":\"28783\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:28",
    "ubicacionGPS": "LatLng(lat: -23.6493486, lng: -70.3991174)",
    "horaLlegada": "10:53",
    "horaDespacho": "10:44",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 26/05/2026 11:28:43
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-3VOiPYoy7TU3B9NbLNfRKJgcX.H9oHJClnR0ofBA9ahAKvcJ.SR
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "10487973",
    "serieinterna": "TO2959",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "285798",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "cambio rodillos adf\nbandeja 2",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12717",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADxAS8DASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xAA\/EAABAwMCAwQHBgUDBAMAAAABAAIDBAURBiESMUETUWFxFCKBkaGx0RUjMjPB4SRDUvDxB0KCFmJywjSy0v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC8RAAIBAgQCCQUBAQEAAAAAAAABAgMREiExQSJRBBMyYXGRscHRI0KBoeHwJPH\/2gAMAwEAAhEDEQA\/APqF61BS2dojP3tU8fdwt5nuz3KOa3VtyAm7Snt7CciMj1sdM7E\/EKddbKN1xbcHU7DUtbwiTG\/+fFdSmpJLJGd0pzk8UrLZL3Ks+6ahsRzc6dtdSgbzwjcc+fd05hWGirqa40zamllEkbtsjoe4jot7mhzS1wBBGCD1VSuNsm0zUuu9pJ9GJHb03TH0+S6rTy0ZB46Gd7x\/a+S3ItFFWQ19JHVU7+KOQZHePA+K3qs1Jpq6CIiHQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCxexskbo3tDmuBDgeoWSICo2979MX82yUk0FY7NO4n8Lv72PsKtyi9Q2ht4tb4AB2zPXiceju728lp0zdn3KgMVQcVdMezlB5nHI\/31BVkuJYjJS+lPqno817omkRFWawiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKqXFn2FqynuTfVpa49nNjYBx6n4H2FWtR19tgu1ompR+ZjijPc4cvp7VODs8yivByheOqzRIoobTFzNwtgimJFVSnspmnntyPw94KmVFqzsWU5qcVJbhERcJhERAEREAREQBERAEREAREQBERAEREAREQBEWqoqaelj7Somjib3vcAhxtLNm1FCTawskPFiqMpb0Yw7+ROy0UmsqWtuMVJDST8MpwyR3CMnyzy9vsU8EuRS+k0b2xIsSIigXhFz1tbT2+lfU1MgZGwbnv8B4qtwatrZK+nfJQiKgqpBHC5x9Y7gE+P97qSg3oU1K8KbSky2IiKJcEREAREQBERAVO6h2n9Sw3ZmRR1h4KgDkHd\/wCvsKtYIIyDkFctzoI7nb5qSUDEjfVOPwnoVD6RuEslNLa6s4qaE8GD\/SNh7uXuVj4o35GSP0quHaWa8dyxoiKs1hERAEREAREQBERAEREAREQBERAEREARYuc1uOJwGTgZPMqvaiuFVPWQ2O3OLZp\/zpAD6jP7zlSjG7sV1KipxuxcdRVE9YbbYoRUVGfXmO7Ix1\/yfisKfSHpE3pN7rZK2UjdgJDR4Z548sKZtVqprRRtp6dvi955vPeV2qWO2USlUMfFWzfLZfJx09ottKB2FDAwjk7sxn381CSN9K\/1BiDR6tFTbgchkH\/9D4Kyuc1jC9xw1oyT3BVnSDXVlVcbw9pHpEvDHkYwOf0HsSLdm2cqxWKEIre\/kWhcdzulLaaR1RUvwB+Fo\/E89wCyuNwgtlFJV1DsMYNgObj0A8VW7ZbqrUlaLvd28NKP\/j0x5EfT5+S5GO70J1arTwQzk\/13s9o6Kr1VVi4XRrorew5gps44vE\/Xr02Wy48NZrO2UMYDY6JnaEN2DeoGP+LferQAAMAYAVY0v\/H3m63fm18nZRH\/ALf8BqmpXu+RROkouMNXJ3b52zLQiIqTeEREARFoq6ymoYTNVTshYOrjjPl3ocbSV2b1i97I2F8jgxrRkuccAKtVWr3VMvotipH1kx\/mOaQ0eOOfvwsYtMV9zHaX24SOyc9jC7AHn09w9qswW7WRmfSMTtSWL08zsr9X2qjBbFL6XLyDIdwf+XL3ZVXvBvEsjr6aR9uY\/EZMbiHlp2y74DkOivFBZ7fbAfRKVkbiMF\/Nx9p3XTUQR1VPJBM0PjkaWuB6hdjOMXkiupQq1o8cvBL51MKKQS0MEjZe2Do2ntMY49ueFvVV09USWW6S6erH5bkvppDyIO+Pbz88q1KElZmijUxwvutfEIiKJcEREAREQBERAEREAREQBF5xDi4cjOM4XqAIq5qu4V9I+ipqF4jdVuLOPOMHLceXP5rGj1aKd4pb5TSUc7djJwksce\/bl7MhTwNq6M76TTjNwllbfY4NWcFRqGClqJnxU3ojpHcJxkgPI892hcVibeLZF9tRUbayKdpa7LiZOEE58vw+PRcupq9t3u\/pFIDJC1ogY7GOI7n9SvotJTMo6SKmjADImBowO4K6TwwSMFOn19eck9NH\/vyRlBqq1VuGPn9Fmzgxz+rg+fJd8lzoImcclbTtbjOTK3f4rVW2S2XA8VTRxvf\/AFgYd38wuKLR9likD\/R3u4TkB0hwFTwG7\/oWWT80R9zukupSbVZgXQuIE9Q4YDRz88be3kpxvoenrMxsjwyCnZjJ5uPl3kpVVVu09b+JzWQQt\/DHG0AuPgOpUHR0dXqmrbcLmwxUEZzBT\/1+J+vVS1XJFV3CfOb8kvj1MaKiqtVVrbnc2mOgjP3FPn8Xif1PXyVta0NaGtAAAwAOiNaGtDWgAAYAHReqEpXNFKkqa5t6siNUV\/oFhqHtOHyjsmYON3ftlbNO0Jt1jpoHDDy3jeM53O\/7KKvzftXU1utWA6KIdtMD1Hd7h8fdaFJ5RSK4cdaU+WXuwiIqzUV+5R6goa99bQS+m07+dM4fg5Dbf4j3LQdT3cnhbpmqDu8l2P8A6Kzop4lujO6Mrtxm1+\/Uqrjq+5gN4YLbGQckEZPzI+C30ujaXtXT3OoluEzuZeS0fPJ96saJje2RxdGhe87y8fjQ1wwQ00QigiZFG3k1gwAtiIoGlKwREQEHqi0G4UIqYMtq6X7yJzeZxuR9PFdNgurbxao6j+a31JR3OHP3813snhkkdGyVjnt\/E0OBI8wqvtpfU4x6tvuPPujf\/k+4+CsXEsJkn9Ooqi0eT9n7FsReEgDJOAFqpqqCshE1NMyWM8nNOQqzVdXsbkRV6t1NI+ufQWekNbOwHid\/sByOvv378Lqi3oQqVI01eRYUUFa9SiqrXUFwpnUNUPwNkO0nln98qdRprU7CpGorxYREXCYRFHuv1pbMYnXGnDwcHLxgHz5dF1JvQjKUY6uxIIsWPZI0PY4OaeRacgrJcJFL1E+ewakhu0DiY6kYezOxxgEH4HzVupKqKtpY6mB3FHK3iaVH6ltrblZJ4+HMkQMkeBvxAcvaMj2quaKvRpni3VTuGGY\/w7nDbj6tz4\/PzV1scL7o89T6jpDi+zLP8kxrOB7rM2pjJDqWVr8tODjOPnj3KViZS3e3089RTxStkjDwHtDuHI3xlYX2ET2KtjIz9w4geIGR8QubSj+PTdJk5LQ5p3zycVH7C61q7WzXoyM1DBDHerFSRRMji7fiLWtGDu3p7Fa1B6mtlVVx09ZQb1VG\/jYz+rl7+XLzXHHrqjazgqaSqjqGt9dgYMBw6bnPvC7ZyirEFOFGrLHle1vItCh71qOltAMI++q3D1IW77nlnu+ajRddQ3r1LfQihgcPz5s58wfoCpGzacprX9\/K41NY\/d8z98Hw7vPmuYVHtEnVnVypKy5v25nDbrDV3CsFz1AQ94wYqb\/azzH6e9WYAAYAwAvUUZSbLqdKNNWQRFH32s9AslVUZw4Rlrf\/ACOw+JXEruxOUlGLk9iG0w0117ut3Jy1zzDGd925z5cg1WlQ2lKMUenqf+qYdq7bHPl8MKZUpu8ino0XGkr6vPzCIigaAiIgCIiAIiIAiIgICv0fb6uZ1RC+WlnceLijdtny+mFCXq06hjoXQVEguNM08bZMZewgc+\/l5+9XpFYqkkZKnRKc07ZX5Fd0ze6e8W4UNUQ6oYzgex\/81uMZ8duag4Z59GX98Ehc+hmOfNvQjxHXv9y6tZ2Z8MovNHxNOQJuDYtPR36KOqr0y7WT0S55jq4W9pBOW5Eo7j3E9\/eOiuik81ozBVqSi8E8pR0fNFh1BejNFBbLW8S1Fe3ZzXfgYevtGfIZUpZbTFZ7eymjAL8ZkeB+N3eqZoitpqe7uiqGjtZ2hsUh\/wBp7vb+i+hqqosPCjZ0WXXXrPXTw\/8ASNvNjpL1AGTgtkaPu5W82\/UeCirPdqu2Vwst6Pr8oKgnZ46DPXw9ys6jL5ZIb1Sdm49nPHvFKBu0\/RRjL7ZaFtWk0+sp9r1JNFA6bu89R2tsuPq11KeE55vaOvj59cgqeUWrOxbTqKpHEiK1PUSUunayWI4fwhue7icGn4FcVt01aamx0xmpQ6SaFsj5OI8XE4Ak5XfqOHt9PVjMA4j4sHl6pB\/RNOTio09RPBzwxBh\/47fopptQy5lEoxl0i0lfL3IeayXWwvdUWKd00PN1LL62RuTjl8N1L2W+U95gPCOyqI9pYHHdv7KUUBe9NNrJvtC3vNNXsPEHNOA8+PcfH3piUspB05UeKlmuXwT6olvscNdNdrUT2clNPx08gG7eY88YDVPWLUIrnuoa5oprhEeF0btuPxHj4Llox2X+oNc1v4ZKcFwPfhqlG8borquFbBLVXt5o0SV+oKShlttdb31LpIjGypiyQ3I4QXHGD39FN6con2+xU1PK0tkALng8wSScfFSaKDldWsX06OCWJyb2C8LQ7GQDg5GV6igaAiIgCIiAKr6re+ur7fZIiQZn9pJj+kf4cfYrO5wa0ucQABkk9FV9OAXa\/V97JcYw7soAe7\/GNvEqyGV5cjL0jitTX3em5Z2MbGxrGDDWgADuCyRFWajxzg1pc4gADJJ6Kv2671d41FJ6I4C2UzS1zuH813Tfz38h4rXqS4zVVQywW45qJ9p3Y2Ywjr7Dk+Hmpq2W+G10EdHBktYN3Hm4nmSrLKMbvcyuTqVMMXlHXx5fJ1oiKs1BERAEREAREQBERAYSxRzwvhlYHxvBa5p5EL5zX22Slu8dgfUMFM+dr45HDLmB22P26kAr6SqPT2z\/AKqqLpcHSEEODKVwJw0jl4cse\/PndSdrt6Hn9NhjwpLP23K\/drdWWmv7KoyHjdkreTwORBVx0zqdtbG2iuD+CraPUc7YSjGff81rt7o9TWqW03QFldSbFxHrDGwd+h\/dY2fTrqmmlo7xSgimlIhmBIc8b+9u+R5qcpJxtLVGajTnTqKVJ8L\/ANZ\/JbGuDmhzSCCMgjqvVz0NFDbqKOkg4uzjGG8Ryeef1XQsx7CvbMrOp6SWhqoNQUTcy05xM3+tvLJ+Xt8FPUNbDcKOOqgdxMkGfI9QfJbnsbJG6N7Q5rgQ4HqFU6R8mkryaKck22rdmF5P5Z8fgD7CrFxK26Msvo1MX2y17nz\/ACWySNssbo3jLXgtI7wVW9GPkgjr7XKfWpJyBv0ORt4Zbn2qzKsUYFDr2rhBIZWQ8YHe7Y\/o7++aOaaJVuGpCffbzLOiIqzSRF507SXjEpJgqm44J2cxjvHVa7NYZ6Gvlr62t9KqZGcHEW8ht9FNopY3axS6FNzx2zCIiiXBERAEREAREQETqetNDYKmRueN4EbceJwfhlbNP0YobFSQ4w4xh7\/\/ACdufnj2KI1d\/G3C12kbiabjkHcOWfcXK0qx5QSM0OKvJ8kl7v2Ci7\/eGWe3ukG88mWQtAzl2OfkF31NRFSU0lRM7hjjaXOPgFWbRTS6huxvlbHilZtSxOOcEHn8D7fJcilq9DtabVoQ7T\/Xed2mrM+hgdW1gLq+qyZXO3LQTnHyJ\/ZTqIottu7LadNU4qKCIi4TCIiAIiIAiIgCIiA4b3Veh2WrnBw5sRDTnqdh8SFxaRpRS6dp9sOmzI72nb4ALHWTHP03OWjPC5hPlxBSVqe2S0Ub2ABroGEAch6o2Vn2fkza9Iz2Xq\/4QuorZPS1Lb9bARUQ7ztHJ7epx5c\/2Uza7lBdqFlXBkNdsWnm09QV1kAjBGQVUaiN+kLz6XCwm11RDZGNP5bv7zj2hFxK25Gf0J412Xr3d\/yW9FjHIyWNskbg5jwHNcDsQeRWSrNYXFdrXT3ehdSzjGd2PHNjuhXai6nbNEZRUlZ6FZ09dKilq32K6uxURfkPcfzG92evh+y81D\/C6ostY3YveYnO8Mgf+5Une7JDeacAns6iPeKYc2n6KDbQX65XC3w3SFrY6J\/aGZuD2gyNjvz2+PJWxabxGCoqkY9Xa+as\/wA7lwREVJ6IREQBERAEREAREQBEWMj2xRukd+FgJPkEBWaU\/aGvqibILKGHgb58j8S5WhVnRLHy0lZcJB69XUEnxxv83FdWprvJb6VlLSZNbVnghDeY3Az8cD9lbJXlhRjozUKLqy3u\/gjrnNJqe9Cz0zwKOmIfUStOePHQe\/Hnv0Vphhjp4WQwsDI2DDWtGwCj9P2hlmtjIOcr\/XlP\/djl5BSijJrRaFlCm1ec+0\/13BERQNAREQBERAEREAREQBERAcN6p\/SrLWQgZLoXcIxncDI+IXHpGft9N02XZdHxMO\/LBOPhhTJAIwRkFVrRWYKevoHZ4qapIJ+H\/qprODM08q8XzTXuWZaaukhrqSSlqGccUgw4LcigaGk1ZlRoauo0rXi2V7i+3yu\/h6g8meB8O\/u5q2ggjIOQVyXS2U92on01Q3IO7XdWHoQoOy3Gos9YLFdnAYH8LOTs5vIN+nu7lY+NXWpli3QlgfZend3fBaERFWawiIgCIiAIiIAiIgCIiAIiIAozUcnZaerXZx90R552x8VJqPvtC+5WWppI8cb25aD1IIIHwUo6orqpunJLWzOK0VdLZ9JUk9S8RsEXFjOS4kk4HeTlcunaKW5V0uoLgxvHIcU7OYYBtkfp7T1Wi3aYrKyeGS+PDoaVgihp2nYgAAE46beZ8lbWtDWhrQAAMADopyaV7asy0YSnhc1ZR0Xu\/Y9REVRuCIiAIiIAiIgCIiAIiIAiIgCwZFHG972MDXSHLiOpWaIAiIgCjL7ZYb1QmF54JWbxSf0n6FSaLqbTuiM4KcXGWjK9p29zSzPtFzHBXU+2Sc9oB+vz5qwqE1BYvtEMrKR3ZV8GDG8HHFg5wf0Xun799psfS1TOxroNpIztxeIHzU5JNYkZ6c5U5dVP8Pn\/AEmkRFWagiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKv6hsMtVK25215iuEO4wcdoB08\/nyKsCLsZOLuiupTjUjhkQun9QMu8Rhmb2NbFtJEds46j6dFNKvX+yTPnbdrSeyr4dyG\/zR9fmuuxX2G805BHZVUW0sJ5jxHh8lOSTWKJVSqSjLq6muz5\/0lkRFWaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKvXyxzeki72n7uui3c0cpR9fmrCi7GTTuiupTjUjZkXZL5BeKc4+6qY9pYTzae\/yUoq7fbFM6oF2tJ7Kui3c1vKX9\/muyxX2G805BHZVUW0sJ5jxHh8lKUVbFEqp1JKXV1Ndnz\/AKSyIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKuags0scwvVqHBWw+s9rR+YOu3U\/NWNFKMnF3K6lNVI2ZHWW8QXmhbURYa8bSR5yWH6dykVW7lp6qp6p1ysU3YTk8T6cbNkPy9h28l0WjUsNbL6FWs9Er2uLTE7OHHwP6fNScb5xKoVnFqFXJ89n\/ALkTiIirNIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFEX6ww3in4m\/dVce8UrdjnuPh8lLouptO6IThGccMtCvaev76iQ2u5tMNfD6vrbdpj9fnzCsKhdQWL7TY2ppXdjXwbxSg4Jx0J\/Xos9PXWouNNJHWwOiqqZwZLluA7xHu\/vKnJJrEiilKUJdXPPk+f8ASXREVZqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "GONZALO MARTIN HURTADO PERALTA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "ROXANA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "APP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE NO IMPRIME, NI SCANEA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56962266896",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R790\",\"id_control\":\"28783\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R734\",\"id_control\":\"28783\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:28",
    "ubicacionGPS": "LatLng(lat: -23.6493486, lng: -70.3991174)",
    "horaLlegada": "10:53",
    "horaDespacho": "10:44",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


26/05/2026 11:28:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:10487973

[26/05/2026 11:28: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('10487973', 'TO2959', 1, 27729424, 285798, NOW(), 
				'10:44', '10:53', '11:28', 4, 'cambio rodillos adf
bandeja 2', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779809323.png', '', null, 'COMPLETADO','LatLng(lat: -23.6493486, lng: -70.3991174)' )
				
[26/05/2026 11:28:43] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200426
[26/05/2026 11:28:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200426', 'TOS-R790', 1)
				
[26/05/2026 11:28:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28783 and
				    IDproducto = 'TOS-R790'
				

26/05/2026 11:28:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R790';
                [26/05/2026 11:28:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200426', 'TOS-R734', 1)
				
[26/05/2026 11:28:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28783 and
				    IDproducto = 'TOS-R734'
				

26/05/2026 11:28:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R734';
                
26/05/2026 11:28:43 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200426'                    
				WHERE idllamado = 12717			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


26/05/2026 11:28:43 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12717			
				
26/05/2026 11:28:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


26/05/2026 11:28:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/2026 11:28:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

[26/05/2026 11:28:45] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 11:28:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/2026 11:28:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/2026 11:28:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

[26/05/2026 11:28:45] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 11:28:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

[26/05/2026 11:28:45] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 11:28:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

[26/05/2026 11:28: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;
                

26/05/2026 11:28:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

[26/05/2026 11:28: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;
                

26/05/2026 11:28:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

[26/05/2026 11:28: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;
                

26/05/2026 11:28:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/2026 11:28:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/2026 11:28:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12717
            GROUP BY l.idllamado;
            

26/05/2026 11:28:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                

26/05/2026 11:28:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12717
                
[26/05/2026 11:32:00] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[26/05/2026 11:32:00] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

[26/05/2026 11:38: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;
                

[26/05/2026 11:38: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;
                

26/05/2026 11:38:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

[26/05/2026 11:43: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;
                

[26/05/2026 11:44: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;
                

[26/05/2026 11:44: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;
                
[26/05/2026 11:44:40] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[26/05/2026 11:44:40] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

[26/05/2026 11:44: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;
                

26/05/2026 11:44:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

[26/05/2026 11:44: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;
                

26/05/2026 11:44:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

[26/05/2026 11:44: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;
                

[26/05/2026 11:44: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;
                

26/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

[26/05/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;
                

[26/05/2026 11:47: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;
                
[26/05/2026 11:47: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;
                
[26/05/2026 11:47: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;
				

[26/05/2026 11:47: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;
                

[26/05/2026 11:47: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;
                

26/05/2026 11:47:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

[26/05/2026 11:48: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;
                
[26/05/2026 11:48:03] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[26/05/2026 11:48: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;
				

[26/05/2026 11:48: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;
                

[26/05/2026 11:48: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;
                

26/05/2026 11:48:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

[26/05/2026 11:48: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;
                
[26/05/2026 11:48:26] 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;
                
[26/05/2026 11:48: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

[26/05/2026 11:49: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;
                

26/05/2026 11:49:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

[26/05/2026 11:49: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;
                

[26/05/2026 11:49: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;
                
[26/05/2026 11:50: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;
				
[26/05/2026 11:50: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;
                

[26/05/2026 11:52: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;
                

[26/05/2026 11:52: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;
                

26/05/2026 11:52:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

[26/05/2026 11:53: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;
                

26/05/2026 11:53:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

[26/05/2026 11:53: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;
                
[26/05/2026 12:03:17] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[26/05/2026 12:03:17] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 20988335 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '20988335'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[26/05/2026 12:03:19] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                
[26/05/2026 12:03:21] 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;
                
[26/05/2026 12:03: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[26/05/2026 12:17:08] 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;
                
[26/05/2026 12:17:09] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' 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;
				

[26/05/2026 12:17: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;
                

26/05/2026 12:17:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

[26/05/2026 12:17:28] 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;
                

26/05/2026 12:17:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

[26/05/2026 12:17: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;
                

26/05/2026 12:17:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/2026 12:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12: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 = 12720
                

26/05/2026 12: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 = 12720
                

26/05/2026 12:17:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12720
                

26/05/2026 12: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 = 12720
                

26/05/2026 12:17:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/2026 12:17:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/2026 12:17:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:17:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:17:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:17:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/2026 12:17:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:17:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:17:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/2026 12:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/2026 12:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:25:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/2026 12:25:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:25:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:25:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:25:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:25:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:25:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/2026 12:25:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:25:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:25:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:25:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/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 = 12720
                

26/05/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 = 12720
                

26/05/2026 12:25:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/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 = 12720
                

26/05/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 = 12720
                

26/05/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 = 12720
                

26/05/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 = 12720
                

26/05/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 = 12720
                

26/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/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 = 12720
                

26/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/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 = 12720
                

26/05/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 = 12720
                

26/05/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 = 12720
                

26/05/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 = 12720
                

26/05/2026 12: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 = 12720
                

26/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12720
                

26/05/2026 12: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 = 12720
                

26/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12720
                

26/05/2026 12: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 = 12720
                

26/05/2026 12: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 = 12720
                

26/05/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 = 12720
                

26/05/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 = 12720
                

26/05/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 = 12720
                

26/05/2026 12:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/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 = 12720
                

26/05/2026 12:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:26:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:26:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:26:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:26:31 - logentry: =========================================
FECHA: 26/05/2026 12:26:31
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-j8QqMbUsW_MfXwxxOTyCLXm-VIAZ0ZCsCdGT1Pa-CcIR5_GG-tB
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "51064970",
    "serieinterna": "KY2668",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "13257",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "marcas al imprimir..\nse realizan pruebas y marca no apareció..\n\nlimpieza ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12720",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACBAL8DASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgECAwf\/xABFEAABAwMBBAUHCAcIAwAAAAABAAIDBAURBhITITFBUWGBkRQiMnGhsdEVFiNCUpLB8AckM1STwtI0NTZTYnN0orLh8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgMECAYDAAAAAAAAAAABAgMREiExBBNBUSJhcZGxwdHhFCMygaHwQlJi\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICH5PV\/KvlHlf6rutnyfZ+tnnlTERducSsERFw6EREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBF0MsYmEJe3eEbQbniR1rugCIiAIiIAiKCy8Ukl3ktjX\/rEbQSMHqyePLlhdSbIuSja71JyIi4SCIiAIiIAiIgCIiA6SyshifLI4NYxpc5x6AOZWWodW1NVd4I3UwbRVMpjicfS4Y4+0eKm6yq3U1hdG30qh4ix044nh4KuvtFHazp5sbQBTTBpPWctJPiCe9XQirZ8TBtFWal0XZRtf7v0NgiIqTeERQb1WeQWeqqRzYzzeOOJ4D2ldSu7EZSUYuT4GMoKs1X6Qd\/z2pntbnPINIHsC+gr59baFtDcbA8AiWoBleesHl7Mfkr6Cratrqxi2G+GWLW9+9JhERUm8IiIAsjp2Mz6xu9S\/nE57B9\/A9jVqppWU8Ek0hwyNpc49gGVkdBzunqbpLIcySuY89pJdn3qyP0yZjrtOtTj1t\/g2SIirNgREQBERAEREAREQGX1YfKbpaLeATvJ9p3qyB7srnWuGw2+U8mVI4D89i4z5f8ApBODtMooOPVnHxd4jsXOvv7jh\/5Lf\/FyvWTijzKmdOrPr8DToiKg9MLL6tfJXVdBZIcl1Q\/bkweTR+XHuWnc4NaXOIAAySehZfTkb7rea2\/SZDCd1ACejhk9HRjxKshl0uRl2jpWpL+XhxFzjYzWdmga3EccXmt6sbWPcFqVmLr\/AI6tX+0f5lp0nojtD6p9vkgiIqzSEREBRaxqtxYZImkbypc2No6+OT7B7VVabpTZtUT255IElM1wz9Z2AT7drwUq6ZuusaK3jJho276UcxnnxH3Rx6\/FqHFFqez14wNtxieezOPc4q+OmHmeZUzqOt\/VpeviahEXBIAyTgBUHpnKLz30X+az7wXV1VTMOHVETT2vAQ5dHsijur6NvpVcA9cgWbv18NdViy26oijEg+nqXPAaGkcQD6vgpRi2yqrWjTjdkqq1nQQ1u4ha6eNv7SZp81vqwDlaJY29U9qoNJupaKogkkY9jtpr2l7nZ58PWVo7XXU9RRUrG1UUkxhaS0PBdnAzwUpRVropo1ZubjNrg\/Ynoir77Xi22eoqc4eGFrOfpHgOSgld2NUpKMXJ8Co0n+s3K8V547yo2WnqGSceBHgpGtYDNp2RwGd1I1\/Ltx+KorDqe32WztpjDNLO57nv2QA3J5cSeoDoXav1bPeKOeip7S5zZWbOdovI7cAdCvwSx3seWq9L4fA3m0+9myoJ\/KrfT1Gc72JrvEKQsHZLzqJ1KLdb6OGU0o2XGTg5vE8Dlw9XcpF1rtVUVGamqqaakZkAMZslzj1DgfeoOk72uaI7ZHd4sL7ifqmtfVSQ2CjyaiqIMhH1Wc\/wz6h2q5pYqSz2+GlM0cccTQ3L3BuT0nvOSsbQ6Wu13b8o1NbuXzjOXZL3NxwJ7lKb+j4k5kumSeeIfx2lJqFsNyqE67k6ip3vpnbI7XW60B1fbqttXE+CKMh8jHbQafO6vWrOXWlkjBLZ5JexkR\/HCzcul4INTUlpdUyPZPEZHPDQCODuXP7IV23QNsA86pqyexzR\/KuyVPK7IU5bU3LClrn3I6ya9oNrZhpKh5JwNrDfcSvJ2tayRuYLOWt+1JJge4e9TG6Gs4OSag9hkHwXcaJsoOd3KezeFcvS5FmHbXq1+\/YrvnFqCb0IbbEB0unb\/WuHVOoZWkvv1thaBkhr2k+xpVr8zLH+7P8A4rviqbU1itNqtzDS0z\/KZ5AyPz3HHX0\/nK6nBuy8CFSFeEXKb0635IgWemqbiZ7i6+x0M0jthxLw1z+A48CML0vdqENudUnUJr5InA7Bfk8TjI849av6bRdpbSxCoge6YMG8O8Iy7HHkV43TSNop7VVTwwvZJFC97TvCeIBK7vFiyZX8LUVJ3S734aEWk0tZqukhlkuc53rGvDd8wYJHUR2qQNEWQHPllQezes\/pXhYtK2q42Snqpt6ZJAdpzX445I5Y7FN+Yto+1U\/xB8Fxys7YiyFHFFS3az6\/YfMW0faqf4g+C7N0PZmjBE7u0yf+l5fMG1fvFZ99v9K8qnR1vo6aWokuFYyKJpcfOHADuXMX+ie6tm6S7\/Yh6istls1EGwwPlq5zsxMMpyP9WOn4qfQaPtUNDGLkA6pAzIRKQB2c+gKqsGlY7xHLWVT52Uzj9AWvbtOGSOPA8sY8VdN0JaG4y+pdjrkHHwClKSWWIqp0nN7xU1Z6L9RS3y3WKNsdJaGGetleABFIZMDp6cLR0WlLXSPimbA4TMHEiV2M4welS7fY7daztUlMGP4+eSXHj2nkrBVyqO1kzXS2WKblOKv1cAsxrKR1T5BaIi7bqpgXbP2Rw495z3LRzTR08L5pnhkbBlznHgAs1ppst2u1VfpxssOYqdvUO31DA7yuQy6XIltDxWpLWXhxL6G1W6nIMVDTscPrCMZ8ealAADAGAFyirvc0qKWiM5crRX0d2N2sojL3g7+Fx\/af\/cDvXjTWKuvFxbcL9shkf7Olb6I9fZ19eOpalFPG7Gd7NByu9NbcLnAAAwBgBcoigaTLVs0cWvoJZ3hkcNITtO6Bh2feVHdrCuEhrW0Y+TN\/uw8g5I6\/XgZ9ilaj01VXe7QVML2Nh2Gxy8cOA2iSeo8CrastEM1hktcTAGCLZj2jyI5HxV142Vzzt3XxTw5K9+32J7HtkjbIxwc1wBaR0hdlQaPuPllnbTve0zUp3ZHTsj0Tj2dyv1VJWdjbSmqkFJcQsr5981qc\/wBltXLkRt\/HI\/6q5vt0baLVLVH0\/RjHW48vj3KJpO2voLO2SbJnqjvX5PEZ5Dw496nHKLkU1fmVI0+Wb8vyXiiXUB1orGniDTvB+6VLXSWMSxPjPJ7S096gtTRJXTRTaOcXaap+oF4H3irxZvQ0hdY3xOJ2oZ3Nx1cAfxK0ilP6mU7M70Y9gWRuc0mqLyLTSuxRUrtqolB4OPV7wO89Cnapu0lNTtttEC+tqxshrRxDDkEjt6PHqVhZLTFZrcymZh0nOSQDG2788F1dFYuJCp86e6Wi19PUmQwx08LIYWBkbBhrWjgAvREVZr0CIiAzGqqqasqqWwUbsS1JBlI+q3t8CT6loqanjpKaKmhbsxxNDWjsC8WWujjuT7i2HFS9uy55cTkcOjl0KWpN5JIop02pynLV+AREUS8IiIAiIgCIiAobrpzeVPyja5PJa5pLjskhsvYccs+3pXtYL38p0sjalm4qac4la7h3q4VPc9NUVzmMpdJA+Q\/SmJ2N4MYGej2KakmrSM0qcoSx0vuuZVl7dU6kaxvn22gy4kcBI\/19PLwB61rFFt9vpbZStp6WIMYOZ6XHrJ6SpS5J300J0abim5avUIiKJcZqke2yaoqqeVu7pq47xkpzjb4nBPIc3eA61fVtZDQUctVO7ZjjGSfcPFedyoIrlQy00oHntIa4jOyccCslHQ3e6VNPZK7eimpHF08pBAkbngAenhwHf1K1JSzZilKdC8Yq99O3l5ljpmhlrqqTUFcMyzk+TtJP0beIPwHZ61p10iiZDEyKNoaxjQ1rR0Acgu6hKWJ3NFKmqcMPf2hERRLQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "EQUIPO DE SOPORTE",
    "correoContacto": "soporte@colegiosanluis.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE HOJA SALE CON UNA MARCA EN EL MEDIO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+5522467047",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:26",
    "ubicacionGPS": "LatLng(lat: -23.6513925, lng: -70.3954068)",
    "horaLlegada": "10:53",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 26/05/2026 12:26:31
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-j8QqMbUsW_MfXwxxOTyCLXm-VIAZ0ZCsCdGT1Pa-CcIR5_GG-tB
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "51064970",
    "serieinterna": "KY2668",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "13257",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "marcas al imprimir..\nse realizan pruebas y marca no apareció..\n\nlimpieza ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12720",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACBAL8DASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgECAwf\/xABFEAABAwMBBAUHCAcIAwAAAAABAAIDBAURBhITITFBUWGBkRQiMnGhsdEVFiNCUpLB8AckM1STwtI0NTZTYnN0orLh8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgMECAYDAAAAAAAAAAABAgMREiExBBNBUSJhcZGxwdHhFCMygaHwQlJi\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICH5PV\/KvlHlf6rutnyfZ+tnnlTERducSsERFw6EREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBF0MsYmEJe3eEbQbniR1rugCIiAIiIAiKCy8Ukl3ktjX\/rEbQSMHqyePLlhdSbIuSja71JyIi4SCIiAIiIAiIgCIiA6SyshifLI4NYxpc5x6AOZWWodW1NVd4I3UwbRVMpjicfS4Y4+0eKm6yq3U1hdG30qh4ix044nh4KuvtFHazp5sbQBTTBpPWctJPiCe9XQirZ8TBtFWal0XZRtf7v0NgiIqTeERQb1WeQWeqqRzYzzeOOJ4D2ldSu7EZSUYuT4GMoKs1X6Qd\/z2pntbnPINIHsC+gr59baFtDcbA8AiWoBleesHl7Mfkr6Cratrqxi2G+GWLW9+9JhERUm8IiIAsjp2Mz6xu9S\/nE57B9\/A9jVqppWU8Ek0hwyNpc49gGVkdBzunqbpLIcySuY89pJdn3qyP0yZjrtOtTj1t\/g2SIirNgREQBERAEREAREQGX1YfKbpaLeATvJ9p3qyB7srnWuGw2+U8mVI4D89i4z5f8ApBODtMooOPVnHxd4jsXOvv7jh\/5Lf\/FyvWTijzKmdOrPr8DToiKg9MLL6tfJXVdBZIcl1Q\/bkweTR+XHuWnc4NaXOIAAySehZfTkb7rea2\/SZDCd1ACejhk9HRjxKshl0uRl2jpWpL+XhxFzjYzWdmga3EccXmt6sbWPcFqVmLr\/AI6tX+0f5lp0nojtD6p9vkgiIqzSEREBRaxqtxYZImkbypc2No6+OT7B7VVabpTZtUT255IElM1wz9Z2AT7drwUq6ZuusaK3jJho276UcxnnxH3Rx6\/FqHFFqez14wNtxieezOPc4q+OmHmeZUzqOt\/VpeviahEXBIAyTgBUHpnKLz30X+az7wXV1VTMOHVETT2vAQ5dHsijur6NvpVcA9cgWbv18NdViy26oijEg+nqXPAaGkcQD6vgpRi2yqrWjTjdkqq1nQQ1u4ha6eNv7SZp81vqwDlaJY29U9qoNJupaKogkkY9jtpr2l7nZ58PWVo7XXU9RRUrG1UUkxhaS0PBdnAzwUpRVropo1ZubjNrg\/Ynoir77Xi22eoqc4eGFrOfpHgOSgld2NUpKMXJ8Co0n+s3K8V547yo2WnqGSceBHgpGtYDNp2RwGd1I1\/Ltx+KorDqe32WztpjDNLO57nv2QA3J5cSeoDoXav1bPeKOeip7S5zZWbOdovI7cAdCvwSx3seWq9L4fA3m0+9myoJ\/KrfT1Gc72JrvEKQsHZLzqJ1KLdb6OGU0o2XGTg5vE8Dlw9XcpF1rtVUVGamqqaakZkAMZslzj1DgfeoOk72uaI7ZHd4sL7ifqmtfVSQ2CjyaiqIMhH1Wc\/wz6h2q5pYqSz2+GlM0cccTQ3L3BuT0nvOSsbQ6Wu13b8o1NbuXzjOXZL3NxwJ7lKb+j4k5kumSeeIfx2lJqFsNyqE67k6ip3vpnbI7XW60B1fbqttXE+CKMh8jHbQafO6vWrOXWlkjBLZ5JexkR\/HCzcul4INTUlpdUyPZPEZHPDQCODuXP7IV23QNsA86pqyexzR\/KuyVPK7IU5bU3LClrn3I6ya9oNrZhpKh5JwNrDfcSvJ2tayRuYLOWt+1JJge4e9TG6Gs4OSag9hkHwXcaJsoOd3KezeFcvS5FmHbXq1+\/YrvnFqCb0IbbEB0unb\/WuHVOoZWkvv1thaBkhr2k+xpVr8zLH+7P8A4rviqbU1itNqtzDS0z\/KZ5AyPz3HHX0\/nK6nBuy8CFSFeEXKb0635IgWemqbiZ7i6+x0M0jthxLw1z+A48CML0vdqENudUnUJr5InA7Bfk8TjI849av6bRdpbSxCoge6YMG8O8Iy7HHkV43TSNop7VVTwwvZJFC97TvCeIBK7vFiyZX8LUVJ3S734aEWk0tZqukhlkuc53rGvDd8wYJHUR2qQNEWQHPllQezes\/pXhYtK2q42Snqpt6ZJAdpzX445I5Y7FN+Yto+1U\/xB8Fxys7YiyFHFFS3az6\/YfMW0faqf4g+C7N0PZmjBE7u0yf+l5fMG1fvFZ99v9K8qnR1vo6aWokuFYyKJpcfOHADuXMX+ie6tm6S7\/Yh6istls1EGwwPlq5zsxMMpyP9WOn4qfQaPtUNDGLkA6pAzIRKQB2c+gKqsGlY7xHLWVT52Uzj9AWvbtOGSOPA8sY8VdN0JaG4y+pdjrkHHwClKSWWIqp0nN7xU1Z6L9RS3y3WKNsdJaGGetleABFIZMDp6cLR0WlLXSPimbA4TMHEiV2M4welS7fY7daztUlMGP4+eSXHj2nkrBVyqO1kzXS2WKblOKv1cAsxrKR1T5BaIi7bqpgXbP2Rw495z3LRzTR08L5pnhkbBlznHgAs1ppst2u1VfpxssOYqdvUO31DA7yuQy6XIltDxWpLWXhxL6G1W6nIMVDTscPrCMZ8ealAADAGAFyirvc0qKWiM5crRX0d2N2sojL3g7+Fx\/af\/cDvXjTWKuvFxbcL9shkf7Olb6I9fZ19eOpalFPG7Gd7NByu9NbcLnAAAwBgBcoigaTLVs0cWvoJZ3hkcNITtO6Bh2feVHdrCuEhrW0Y+TN\/uw8g5I6\/XgZ9ilaj01VXe7QVML2Nh2Gxy8cOA2iSeo8CrastEM1hktcTAGCLZj2jyI5HxV142Vzzt3XxTw5K9+32J7HtkjbIxwc1wBaR0hdlQaPuPllnbTve0zUp3ZHTsj0Tj2dyv1VJWdjbSmqkFJcQsr5981qc\/wBltXLkRt\/HI\/6q5vt0baLVLVH0\/RjHW48vj3KJpO2voLO2SbJnqjvX5PEZ5Dw496nHKLkU1fmVI0+Wb8vyXiiXUB1orGniDTvB+6VLXSWMSxPjPJ7S096gtTRJXTRTaOcXaap+oF4H3irxZvQ0hdY3xOJ2oZ3Nx1cAfxK0ilP6mU7M70Y9gWRuc0mqLyLTSuxRUrtqolB4OPV7wO89Cnapu0lNTtttEC+tqxshrRxDDkEjt6PHqVhZLTFZrcymZh0nOSQDG2788F1dFYuJCp86e6Wi19PUmQwx08LIYWBkbBhrWjgAvREVZr0CIiAzGqqqasqqWwUbsS1JBlI+q3t8CT6loqanjpKaKmhbsxxNDWjsC8WWujjuT7i2HFS9uy55cTkcOjl0KWpN5JIop02pynLV+AREUS8IiIAiIgCIiAobrpzeVPyja5PJa5pLjskhsvYccs+3pXtYL38p0sjalm4qac4la7h3q4VPc9NUVzmMpdJA+Q\/SmJ2N4MYGej2KakmrSM0qcoSx0vuuZVl7dU6kaxvn22gy4kcBI\/19PLwB61rFFt9vpbZStp6WIMYOZ6XHrJ6SpS5J300J0abim5avUIiKJcZqke2yaoqqeVu7pq47xkpzjb4nBPIc3eA61fVtZDQUctVO7ZjjGSfcPFedyoIrlQy00oHntIa4jOyccCslHQ3e6VNPZK7eimpHF08pBAkbngAenhwHf1K1JSzZilKdC8Yq99O3l5ljpmhlrqqTUFcMyzk+TtJP0beIPwHZ61p10iiZDEyKNoaxjQ1rR0Acgu6hKWJ3NFKmqcMPf2hERRLQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "EQUIPO DE SOPORTE",
    "correoContacto": "soporte@colegiosanluis.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE HOJA SALE CON UNA MARCA EN EL MEDIO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+5522467047",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:26",
    "ubicacionGPS": "LatLng(lat: -23.6513925, lng: -70.3954068)",
    "horaLlegada": "10:53",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


26/05/2026 12:26:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:51064970

[26/05/2026 12:26: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('51064970', 'KY2668', 1, 27729424, 13257, NOW(), 
				'08:00', '10:53', '12:26', 3, 'marcas al imprimir..
se realizan pruebas y marca no apareció..

limpieza ', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779812791.png', '', null, 'COMPLETADO','LatLng(lat: -23.6513925, lng: -70.3954068)' )
				
[26/05/2026 12:26:31] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200427

26/05/2026 12:26:31 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200427'                    
				WHERE idllamado = 12720			
				TO ENVIO: micorreo@miempresa.cl, soporte@colegiosanluis.cl


26/05/2026 12:26:32 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12720			
				
26/05/2026 12:26:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


26/05/2026 12:26:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/2026 12:26:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:26:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:26:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:26:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:26:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:26:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

[26/05/2026 12:26: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;
                

26/05/2026 12:26:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12720
                

26/05/2026 12: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 = 12720
                

[26/05/2026 12:26: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;
                

26/05/2026 12:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12720
                

26/05/2026 12: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 = 12720
                

26/05/2026 12:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

26/05/2026 12:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12720
                

[26/05/2026 12:27: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;
                

[26/05/2026 12:27: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;
                

26/05/2026 12:27:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/2026 12:27:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12720
                

26/05/2026 12: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 = 12720
                

26/05/2026 12: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 = 12720
                

26/05/2026 12:27:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12720
                

26/05/2026 12: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 = 12720
                

[26/05/2026 12:27: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;
                

26/05/2026 12:27:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12720
            GROUP BY l.idllamado;
            

[26/05/2026 12:27: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;
                

26/05/2026 12: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 = 12720
                

26/05/2026 12: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 = 12720
                

26/05/2026 12: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 = 12720
                
[26/05/2026 12: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				
[26/05/2026 12:35:27] 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;
                

[26/05/2026 12:35: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;
                

26/05/2026 12:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

[26/05/2026 12:35:32] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:35:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

26/05/2026 12:35:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

[26/05/2026 12:35:37] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:35:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

26/05/2026 12:35:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

26/05/2026 12:35:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

26/05/2026 12:35:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

26/05/2026 12:35:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

26/05/2026 12:35:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

26/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

[26/05/2026 12:35: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;
                

26/05/2026 12:35:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

26/05/2026 12:35:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

[26/05/2026 12:35: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;
                

26/05/2026 12:35:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

26/05/2026 12:35:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

26/05/2026 12:35:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

26/05/2026 12:35:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

26/05/2026 12:35:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

26/05/2026 12:35:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

26/05/2026 12:35:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:35:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

[26/05/2026 12:36: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;
                

26/05/2026 12: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 = 12738
                

26/05/2026 12:37:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12738
                

26/05/2026 12:37:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

26/05/2026 12:37:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:37:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:37:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

26/05/2026 12:37:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:37:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:37:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:37:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:37:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

26/05/2026 12:37:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:37:23 - logentry: =========================================
FECHA: 26/05/2026 12:37:23
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-bax4f3shRtOUw-yABV7NpkSzeSzt36WAoQKKexqSx.uzjKzyp99
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "KY2448",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "231252",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza entrega de 2 toner\n02 iton2174",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12738",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACMANIDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCBwH\/xABBEAABAwMCAwUGBQEGBAcAAAABAAIDBAURBiESMUETUWGBkRQicaGx0RUjMsHwJBYzQkNS8SU0RFNicoKS0uHi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALhEAAgECBQIEBQUBAAAAAAAAAAECAxESITFBUQRhIjJxoROBkcHRFDOx4fBC\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIiAIigXm6R2i2yVT8Fw92NpP6ndAupXdkRlJRTk9ES2TRSPkYyRrnRnDwDktOM7rosjoWJ1Qa25TkyTSPDO0dz7z9R6Ba5dlHC7FdCo6tNTatcIiKJcEREARcZquCCeGGWVrZJyRG0ndxAyf54hdkOXTCIiHQsfqLVFZQ3b2ejAMcOBJ7ueJxHf+3eOvJbBfMZx7bNJXOORU3DhBHcN9vJw+SupRTeZg66pKMUouzZ9OREVJvCIiAIiIAiIgCIiAIiIAiIgCxFVKNRXCurZC42+2ROMQBwJHgHB88Z9O9W+rbjLT0UdBScRq613A0M5hvX12HmVyutJHZNEy0jMF3A1pP+pxI4j9fRWwVs+TB1Esbcdoq79dl9zvoyExabhcf8x73cvHH7K+UCxQezWOiiIwRC0kdxIyfmVPUJO8mzVQjhpRXZBERRLQiKr1HcfwyyzztfwyuHZxkc+I\/bc+S6ld2IzkoRcnsVNG1981jNWOdmlt35ceDsXb\/vk+i1SqNMWsWuzRMcMTS\/mS\/E8h5DA9VbqU3d2RT08HGF5avNhERQNBCvNT7HZ6uo6sidw\/EjA+ZWKlpjTacsnEMOlqjIfM7fLCvdcVHBaIqUHDqmUDJOBgb7+eFT6hutHO23UFuJqTRubuxpw7AAAHfyWimnZHldXOLlK70S93\/RvVX3S90NoiL6mUceMiJhBe74BUxbqm8jhcY7VBn\/CT2hH1+imUGkrdSSdtPx1sxOS+fcZ78ffKrwxWrNbq1J\/txt3f41LqKRs0TJWZ4XtDhkY2KL2irNQREQBERAEREAREQBeJZY4IXzSvDI2Auc48gFU3XU9Ba3mDJqKnOBDFuc9xPT6rNVlwvt9uDbS\/FIJt3Qtacsbz9\/ry6bfBWRpt5syVeqhDKOb7ck6yzxXK6T6guUrIomHsqVsrgMfD4fUlfusbvQVdnEFLWRyyGVpLWOztgqVR6Ht0IaauSWreBj3jwt9Bv81A1fZbfb7PHLR0jIn9uA5wJJxwu7\/HCsTi5qxknGvDp5XS78l3BqayCJkft8bS1oGC0gDb4eCsqetpKoA09TFLn\/Q8FQzp+zSxgfh1PwncFrMH1G6gz6KtEm8Ampnjdro5CcHv3yq\/AzYn1Edk\/qjQrkyphkmdCyVjpGDLmg7jp+yzDjftMR9pJMLlQR\/q4v1sHh1HTvAyuOj3Prr9c7iOIRSZ2O36nZGR4AJgybuR\/U3nGGGzZsllLn\/xrWNLbuI9hRDtZQOp2P8A8R5lal72xsc95w1oJJ7gszo2N9T7dd5geOqmIGTnAG\/748khknIlX8co0+Xd+iNJUTx01PJPK4NZG0ucScKs07eZL5Ry1D6cQhknAAHZzsD+4VRrW9QewC3007JJJX\/m8DgeFo6HHIk49Cotlp9RVFvjpKRot1KP1TOaeJ5PMjO\/pj4qSh4Lsqn1L+PgjmktuTWV12oLa0mrqo4yBngJy4\/Ac1QnUtzuxeyyW8iMZzUznAH7fMrhUWyyacZ29xc65Vsm7WPGeM9\/Dvt4nKqLhUXm61TKJ7jCXb+xsHA2JnPL\/Lff5KUYRKq3UVFk8uy1+b2+R2ht81y1Kyjudw9tZEwyTPZISxgxuAem+M8lYWSjpblqV1dRUzIaGhHZxlo\/vHb4J9c9\/JZy19s8SUNE3iqqwiMOGMCPcuHnsfgF9Mt9DDbaGKkgaA2NoBOMcR6k+JXajw5FXSQVV4rZJ3f2V\/ckoiLMeyEREAREQBERAERUN31NFSy+w29ntde\/3WsZu1p8ft9F1Rb0K6lSNNXky0r7jSWynM9XMI29B1ce4Dqs57XetUuLaMG3287GVw994\/fy9V3oNLy1NR7ffpfaZzuIc5Y3+dw2+K0rWhrQ1oAAGAB0U7xjpmyjDUrebwx43frwUDrdatK2uWtjhEk0bfdkl3c5x2AHdv3dF+aVt0rY5bvWb1VcS7cYLWk5x57H4YUOvxqPVcVvaC6koCXTHOzjtkeu3qtY1oa0NaAABgAdF2TaWerI0oRlUvFeGOS9d39j9VBrSLtNOSOAJ7N7XbDxx+6v1GuNIK63VFKQD2sZaM9DjY+qhF2kmaK0MdOUeULdMKi200wOe0ia71AUlUGjaszWQUzziWleY3DO4Gcj7eS7XzUUFoAgjb29ZJsyFu+M8iftzK64vFZEIVoqiqkmcdU3YU9KbZTZkrascDGNGSAdifPcBUWha0UtXWU0pDQ5nH4jhzn5FdKOso7RVSXK7VBq7tJsIYve7PO2M8gengFlI3SxcZZI+PILHcJIznmD8VojDwuJ5VbqGqsavrlwu\/dl1\/aepkdcnTTvLaiJzIYw0Ybl3ywM+qs7VY75XWqKnlq\/YKHGQxrffeCScnrvnqfJU1ttzKiqtdK6P36mQyvyN+zB\/wDy75bd\/wBPUaklHJFvSUpVryqN5ffM+d1VipoNWUdrpw90ZDDIX7l3MuPdyC2F8vcNlpQ9w7SeTaKIf4j9lm6q801v1nX1s7XO7KLs4mNGC52Gj057qzs1rqrhcfx27N4ZSPyICP7sdD\/OpyuSzs5E6LwuUKWrf0SOlksUhqDd7tiWtlPE1pG0Q6bd\/wBFm3VkdPR3qoe7+vqZuw4XndrDknGw2OD6BfRVjrtR0lx1tDC5gDIYg+qJPu4G4z3cwPNchK7dyfUUcEIqGt\/d7krRtkNHSmvqGN7acDs9t2M5+pz8gtOq6o1BaKUfm3CD4Mdxn0GVWS65tTX8EMdTOenAwAH1OfkoNTm72L4ToUIKGJGkRZgaxfKR7NZayYd+PsCtJE8yRMeWFhc0Etdzb4FRcWtS6nWhU8rPaIiiWhERAF+OcGtLnEAAZJPRHODWlziAAMknosnWVtRqquNttznR2+M\/1FQB+rwH26\/BSjG5TVqqmuW9Ee7heqq+VLrXYs8PKar3AaPA\/v16K3tFipLPF+WO1nd+ud49532HgpVDQU1tpm09LEI2N9Se8nqpK65ZWWhGnRd8dTOXsvQKp1DeRaKDMfvVU3uwMxnJ7\/LP0U+sq4aCkkqqh\/DFGMuKzlkpJr7cHXy4scI2P\/o4idmgHn9N+pSKWr0Fabypw8z9lyWOmrR+FW7ikyampxJMXcwccvLf1KuURRbbd2WwgoRUY7BFTXPU9Db3GGImrqicNhh337ien1VNX0+rLtRvleBTxu\/TSxuDXEeJznyz5KSg3rkUz6iMbqKxPsRbrcf7P6hqqi2zwyiqYe0jBzwP7z57+ZXG26XvFzmNZVSmmbMOJ0jzl7gfD74V5bNG0sFrlirAJKmoZhzxv2Xdw\/A+q8Wa5TWSqFjuzgADimn\/AMLm9B8P9ldiy8Opg+D4062UXotk+5Y0Vjtdgpn1LIuJ0TC90z\/edgDJx3eS+bsifW1zWMaGunft3DJ+g\/ZfQdZVboLGYIwTJVPEYAGTjmfp81RW60RXq7z0z34p6GnbAHxncu5Zzy3PGf5lKcrJyZzq6alONKC0+\/8ASJ+laZlRdqu4RsxTwtFPTniB2G3TrgD\/AN2euVrVW9tbNOW6OGScRRRtw0OOXP8AHHUqpdqS5XYujsVueW8jUTYAHly+Z+Crac3fY2wlChBQbvLhFtNbLTBVuuU8MEb+ZkkwGg9+\/VQK3Wdvgf2NGyStmzgNjGAT8fsCuMOkpqwia+XCaqkzkRsf7jfD\/bCvqO3UdvYWUlNHCDz4RufieZXHhWuYSqy8qUV9X+DOPqNWXFjniOG2QAEkuHvAD1PyCrdO6djv8c9fcJ53Zk4WkHBecbkk57wtJq2rFJp2o3w6bETd8Zzz+WVKsVGKCy0lPjDhGHO\/8x3PzKljajdZFXwFKsoyblZXdzjT6XstMctoI3nvkJf8jsrKKnggGIYY4x3MaB9F0RVNt6m6NOEfKrBERcJhERAERZe73OovNY6y2d23KpqByaOoz\/M+qlGNyqrVVNX32XJxulwqtSVzrNajw0zDioqOhGfp9fgtLb6CnttGylpmBrGDfvcepPiudqtdPaKJtNTjbm5x5vPeVNXZS2WhClSaeOfmft2QRFR6tuottnexpPa1OY2YOCBjc\/zvUUruxbUmqcHJ7FbWOfqq\/ewROeLbRn89wOOJ2\/8AsPMrWMY2ONsbGhrWgBoHQLIUd6tmnrdHQ0LTX1jt39kNnOPeRnOOQxldW2y\/388dzqTQ0rv+ni2JHcR98\/BWyj8kYaVW12lim9bbdr9iyueqrbbssbJ7TP0jhOd\/E8gq4UuodRDiqpfwyid\/lM\/W4ePX1x8Fd26x261NHstM0PAx2rhl58\/srBRxJeUv+FOp+48uF92V1rsVvtDf6WH8wjBlfu8+fTywrFEUG282aIxjBWirIKHc7XS3alNPVMyObXDHE094KkTTw00RlnlZFG3m55wAs1U6lrbnO6j0\/TGQg4NS8e63x329fRdim80VVqlOKwzzvtyRqyzUtia2tq7k+oNMw+ywSEbnGwAPc7dQdPS3uShfT2qn4DNIXy1kvLPLAz\/9ndeb7p99FFTGerfV3CsmDMuJwB4dTuR9lvoYmU8EcMYwyNoa0eAGFdKVo8mClRc6r\/5S+ufco6TSFEyTt7hJJX1B3LpT7uc55dfMlXzGMjYGRtDGtGA1owAvSKhyb1PShShT8qCIi4WGX1P\/AF17tNqAyHSdrIP\/AA5+wctQsvbcV+ubhVYyykZ2TduTuX7OWoVk8rIzUPE5z5f8ZBERVmkIiIAiIgM1qC41dXXssNrcGzSNzPJnHA3u9N\/MK3tNqp7RRNpqdu\/N78bvPeVXXa0XH8RF0tFSGVBZwyMkOzwOQHToo\/Z6zf8A51HHjwG\/yKtteKSZhTcKkpTi29raW\/2pp1wq62loYu1qp2Qs73HGfh3rP\/g+qKvarvbIWn\/sN3HoG+PVdqXRlujk7WskmrZM5JldgZ+A\/crmGK1Zb8WrLywt6\/5nGbVs1a50Njt0tS8bdq9uGj+eJCpobfXX3UrqO8VBkdBHxSdkRhnL3eWOoW8hghpohFBEyKNvJrBgBcKa2UtJWVFXEwiaoOZHFxOfsuqaV7Iqn006jWOV+VsKC10NtZw0dMyLbBcB7zvieZUtEVTdzaoqKskEREOhUt51LTWt\/s0LTVVjthCzfB6Z+3Nd73DdqiBkVrmih4ziR7shzR4H+FebPp6ktDS9uZql3653j3j347gppRSuzPUdSTwQVu\/4KuDT9fe5G1WoJ3NaMFlLGcAfHu+vitJT00NJC2GniZFG3k1gwF1RclJsnToxp5rXncy1S0XPXsEOcsoIuNw2\/Vz+rm+i1Ky+ks1lwu1zO4lm4WHpjJPnsWrUKU9bcFXTZxc+W3+AiIqzUF5ke2KN0jv0sBJ+AXpcqqnZV0k1NISGTMcxxbzAIxshx3tkZ\/RLHSUNXXP\/AF1VQXE8zgePxJWlUW20ENroI6ODJZGDu7mSTkkqUpSd5NldCDp01F6hERRLQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKLc6gUtsqqgkjs4nEEHBzjZSlSawnMOm6gAbyFrPhkj9gpRV2kV1ZYacpcI8aMp+w05E4jBme5528cfQBXyhWaD2azUcPVsLc79cZPzU1JO8mzlGOGnGPYIiKJaEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBZjWZM\/4bb8\/wDM1IyOWcYHP\/1LTqvuFrp66uoamYv46WQuYAdiee\/m0KcHaVyjqIuVNxW9v5J4AAwBgBfqIoF4REQBERAEREAREQBERAEREB\/\/2Q==",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:37",
    "ubicacionGPS": "LatLng(lat: -29.9177532, lng: -71.2550909)",
    "horaLlegada": "12:30",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 26/05/2026 12:37:23
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-bax4f3shRtOUw-yABV7NpkSzeSzt36WAoQKKexqSx.uzjKzyp99
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "KY2448",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "231252",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza entrega de 2 toner\n02 iton2174",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12738",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACMANIDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCBwH\/xABBEAABAwMCAwUGBQEGBAcAAAABAAIDBAURBiESMUETUWGBkRQicaGx0RUjMsHwJBYzQkNS8SU0RFNicoKS0uHi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALhEAAgECBQIEBQUBAAAAAAAAAAECAxESITFBUQRhIjJxoROBkcHRFDOx4fBC\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIiAIigXm6R2i2yVT8Fw92NpP6ndAupXdkRlJRTk9ES2TRSPkYyRrnRnDwDktOM7rosjoWJ1Qa25TkyTSPDO0dz7z9R6Ba5dlHC7FdCo6tNTatcIiKJcEREARcZquCCeGGWVrZJyRG0ndxAyf54hdkOXTCIiHQsfqLVFZQ3b2ejAMcOBJ7ueJxHf+3eOvJbBfMZx7bNJXOORU3DhBHcN9vJw+SupRTeZg66pKMUouzZ9OREVJvCIiAIiIAiIgCIiAIiIAiIgCxFVKNRXCurZC42+2ROMQBwJHgHB88Z9O9W+rbjLT0UdBScRq613A0M5hvX12HmVyutJHZNEy0jMF3A1pP+pxI4j9fRWwVs+TB1Esbcdoq79dl9zvoyExabhcf8x73cvHH7K+UCxQezWOiiIwRC0kdxIyfmVPUJO8mzVQjhpRXZBERRLQiKr1HcfwyyzztfwyuHZxkc+I\/bc+S6ld2IzkoRcnsVNG1981jNWOdmlt35ceDsXb\/vk+i1SqNMWsWuzRMcMTS\/mS\/E8h5DA9VbqU3d2RT08HGF5avNhERQNBCvNT7HZ6uo6sidw\/EjA+ZWKlpjTacsnEMOlqjIfM7fLCvdcVHBaIqUHDqmUDJOBgb7+eFT6hutHO23UFuJqTRubuxpw7AAAHfyWimnZHldXOLlK70S93\/RvVX3S90NoiL6mUceMiJhBe74BUxbqm8jhcY7VBn\/CT2hH1+imUGkrdSSdtPx1sxOS+fcZ78ffKrwxWrNbq1J\/txt3f41LqKRs0TJWZ4XtDhkY2KL2irNQREQBERAEREAREQBeJZY4IXzSvDI2Auc48gFU3XU9Ba3mDJqKnOBDFuc9xPT6rNVlwvt9uDbS\/FIJt3Qtacsbz9\/ry6bfBWRpt5syVeqhDKOb7ck6yzxXK6T6guUrIomHsqVsrgMfD4fUlfusbvQVdnEFLWRyyGVpLWOztgqVR6Ht0IaauSWreBj3jwt9Bv81A1fZbfb7PHLR0jIn9uA5wJJxwu7\/HCsTi5qxknGvDp5XS78l3BqayCJkft8bS1oGC0gDb4eCsqetpKoA09TFLn\/Q8FQzp+zSxgfh1PwncFrMH1G6gz6KtEm8Ampnjdro5CcHv3yq\/AzYn1Edk\/qjQrkyphkmdCyVjpGDLmg7jp+yzDjftMR9pJMLlQR\/q4v1sHh1HTvAyuOj3Prr9c7iOIRSZ2O36nZGR4AJgybuR\/U3nGGGzZsllLn\/xrWNLbuI9hRDtZQOp2P8A8R5lal72xsc95w1oJJ7gszo2N9T7dd5geOqmIGTnAG\/748khknIlX8co0+Xd+iNJUTx01PJPK4NZG0ucScKs07eZL5Ry1D6cQhknAAHZzsD+4VRrW9QewC3007JJJX\/m8DgeFo6HHIk49Cotlp9RVFvjpKRot1KP1TOaeJ5PMjO\/pj4qSh4Lsqn1L+PgjmktuTWV12oLa0mrqo4yBngJy4\/Ac1QnUtzuxeyyW8iMZzUznAH7fMrhUWyyacZ29xc65Vsm7WPGeM9\/Dvt4nKqLhUXm61TKJ7jCXb+xsHA2JnPL\/Lff5KUYRKq3UVFk8uy1+b2+R2ht81y1Kyjudw9tZEwyTPZISxgxuAem+M8lYWSjpblqV1dRUzIaGhHZxlo\/vHb4J9c9\/JZy19s8SUNE3iqqwiMOGMCPcuHnsfgF9Mt9DDbaGKkgaA2NoBOMcR6k+JXajw5FXSQVV4rZJ3f2V\/ckoiLMeyEREAREQBERAERUN31NFSy+w29ntde\/3WsZu1p8ft9F1Rb0K6lSNNXky0r7jSWynM9XMI29B1ce4Dqs57XetUuLaMG3287GVw994\/fy9V3oNLy1NR7ffpfaZzuIc5Y3+dw2+K0rWhrQ1oAAGAB0U7xjpmyjDUrebwx43frwUDrdatK2uWtjhEk0bfdkl3c5x2AHdv3dF+aVt0rY5bvWb1VcS7cYLWk5x57H4YUOvxqPVcVvaC6koCXTHOzjtkeu3qtY1oa0NaAABgAdF2TaWerI0oRlUvFeGOS9d39j9VBrSLtNOSOAJ7N7XbDxx+6v1GuNIK63VFKQD2sZaM9DjY+qhF2kmaK0MdOUeULdMKi200wOe0ia71AUlUGjaszWQUzziWleY3DO4Gcj7eS7XzUUFoAgjb29ZJsyFu+M8iftzK64vFZEIVoqiqkmcdU3YU9KbZTZkrascDGNGSAdifPcBUWha0UtXWU0pDQ5nH4jhzn5FdKOso7RVSXK7VBq7tJsIYve7PO2M8gengFlI3SxcZZI+PILHcJIznmD8VojDwuJ5VbqGqsavrlwu\/dl1\/aepkdcnTTvLaiJzIYw0Ybl3ywM+qs7VY75XWqKnlq\/YKHGQxrffeCScnrvnqfJU1ttzKiqtdK6P36mQyvyN+zB\/wDy75bd\/wBPUaklHJFvSUpVryqN5ffM+d1VipoNWUdrpw90ZDDIX7l3MuPdyC2F8vcNlpQ9w7SeTaKIf4j9lm6q801v1nX1s7XO7KLs4mNGC52Gj057qzs1rqrhcfx27N4ZSPyICP7sdD\/OpyuSzs5E6LwuUKWrf0SOlksUhqDd7tiWtlPE1pG0Q6bd\/wBFm3VkdPR3qoe7+vqZuw4XndrDknGw2OD6BfRVjrtR0lx1tDC5gDIYg+qJPu4G4z3cwPNchK7dyfUUcEIqGt\/d7krRtkNHSmvqGN7acDs9t2M5+pz8gtOq6o1BaKUfm3CD4Mdxn0GVWS65tTX8EMdTOenAwAH1OfkoNTm72L4ToUIKGJGkRZgaxfKR7NZayYd+PsCtJE8yRMeWFhc0Etdzb4FRcWtS6nWhU8rPaIiiWhERAF+OcGtLnEAAZJPRHODWlziAAMknosnWVtRqquNttznR2+M\/1FQB+rwH26\/BSjG5TVqqmuW9Ee7heqq+VLrXYs8PKar3AaPA\/v16K3tFipLPF+WO1nd+ud49532HgpVDQU1tpm09LEI2N9Se8nqpK65ZWWhGnRd8dTOXsvQKp1DeRaKDMfvVU3uwMxnJ7\/LP0U+sq4aCkkqqh\/DFGMuKzlkpJr7cHXy4scI2P\/o4idmgHn9N+pSKWr0Fabypw8z9lyWOmrR+FW7ikyampxJMXcwccvLf1KuURRbbd2WwgoRUY7BFTXPU9Db3GGImrqicNhh337ien1VNX0+rLtRvleBTxu\/TSxuDXEeJznyz5KSg3rkUz6iMbqKxPsRbrcf7P6hqqi2zwyiqYe0jBzwP7z57+ZXG26XvFzmNZVSmmbMOJ0jzl7gfD74V5bNG0sFrlirAJKmoZhzxv2Xdw\/A+q8Wa5TWSqFjuzgADimn\/AMLm9B8P9ldiy8Opg+D4062UXotk+5Y0Vjtdgpn1LIuJ0TC90z\/edgDJx3eS+bsifW1zWMaGunft3DJ+g\/ZfQdZVboLGYIwTJVPEYAGTjmfp81RW60RXq7z0z34p6GnbAHxncu5Zzy3PGf5lKcrJyZzq6alONKC0+\/8ASJ+laZlRdqu4RsxTwtFPTniB2G3TrgD\/AN2euVrVW9tbNOW6OGScRRRtw0OOXP8AHHUqpdqS5XYujsVueW8jUTYAHly+Z+Crac3fY2wlChBQbvLhFtNbLTBVuuU8MEb+ZkkwGg9+\/VQK3Wdvgf2NGyStmzgNjGAT8fsCuMOkpqwia+XCaqkzkRsf7jfD\/bCvqO3UdvYWUlNHCDz4RufieZXHhWuYSqy8qUV9X+DOPqNWXFjniOG2QAEkuHvAD1PyCrdO6djv8c9fcJ53Zk4WkHBecbkk57wtJq2rFJp2o3w6bETd8Zzz+WVKsVGKCy0lPjDhGHO\/8x3PzKljajdZFXwFKsoyblZXdzjT6XstMctoI3nvkJf8jsrKKnggGIYY4x3MaB9F0RVNt6m6NOEfKrBERcJhERAERZe73OovNY6y2d23KpqByaOoz\/M+qlGNyqrVVNX32XJxulwqtSVzrNajw0zDioqOhGfp9fgtLb6CnttGylpmBrGDfvcepPiudqtdPaKJtNTjbm5x5vPeVNXZS2WhClSaeOfmft2QRFR6tuottnexpPa1OY2YOCBjc\/zvUUruxbUmqcHJ7FbWOfqq\/ewROeLbRn89wOOJ2\/8AsPMrWMY2ONsbGhrWgBoHQLIUd6tmnrdHQ0LTX1jt39kNnOPeRnOOQxldW2y\/388dzqTQ0rv+ni2JHcR98\/BWyj8kYaVW12lim9bbdr9iyueqrbbssbJ7TP0jhOd\/E8gq4UuodRDiqpfwyid\/lM\/W4ePX1x8Fd26x261NHstM0PAx2rhl58\/srBRxJeUv+FOp+48uF92V1rsVvtDf6WH8wjBlfu8+fTywrFEUG282aIxjBWirIKHc7XS3alNPVMyObXDHE094KkTTw00RlnlZFG3m55wAs1U6lrbnO6j0\/TGQg4NS8e63x329fRdim80VVqlOKwzzvtyRqyzUtia2tq7k+oNMw+ywSEbnGwAPc7dQdPS3uShfT2qn4DNIXy1kvLPLAz\/9ndeb7p99FFTGerfV3CsmDMuJwB4dTuR9lvoYmU8EcMYwyNoa0eAGFdKVo8mClRc6r\/5S+ufco6TSFEyTt7hJJX1B3LpT7uc55dfMlXzGMjYGRtDGtGA1owAvSKhyb1PShShT8qCIi4WGX1P\/AF17tNqAyHSdrIP\/AA5+wctQsvbcV+ubhVYyykZ2TduTuX7OWoVk8rIzUPE5z5f8ZBERVmkIiIAiIgM1qC41dXXssNrcGzSNzPJnHA3u9N\/MK3tNqp7RRNpqdu\/N78bvPeVXXa0XH8RF0tFSGVBZwyMkOzwOQHToo\/Z6zf8A51HHjwG\/yKtteKSZhTcKkpTi29raW\/2pp1wq62loYu1qp2Qs73HGfh3rP\/g+qKvarvbIWn\/sN3HoG+PVdqXRlujk7WskmrZM5JldgZ+A\/crmGK1Zb8WrLywt6\/5nGbVs1a50Njt0tS8bdq9uGj+eJCpobfXX3UrqO8VBkdBHxSdkRhnL3eWOoW8hghpohFBEyKNvJrBgBcKa2UtJWVFXEwiaoOZHFxOfsuqaV7Iqn006jWOV+VsKC10NtZw0dMyLbBcB7zvieZUtEVTdzaoqKskEREOhUt51LTWt\/s0LTVVjthCzfB6Z+3Nd73DdqiBkVrmih4ziR7shzR4H+FebPp6ktDS9uZql3653j3j347gppRSuzPUdSTwQVu\/4KuDT9fe5G1WoJ3NaMFlLGcAfHu+vitJT00NJC2GniZFG3k1gwF1RclJsnToxp5rXncy1S0XPXsEOcsoIuNw2\/Vz+rm+i1Ky+ks1lwu1zO4lm4WHpjJPnsWrUKU9bcFXTZxc+W3+AiIqzUF5ke2KN0jv0sBJ+AXpcqqnZV0k1NISGTMcxxbzAIxshx3tkZ\/RLHSUNXXP\/AF1VQXE8zgePxJWlUW20ENroI6ODJZGDu7mSTkkqUpSd5NldCDp01F6hERRLQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKLc6gUtsqqgkjs4nEEHBzjZSlSawnMOm6gAbyFrPhkj9gpRV2kV1ZYacpcI8aMp+w05E4jBme5528cfQBXyhWaD2azUcPVsLc79cZPzU1JO8mzlGOGnGPYIiKJaEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBZjWZM\/4bb8\/wDM1IyOWcYHP\/1LTqvuFrp66uoamYv46WQuYAdiee\/m0KcHaVyjqIuVNxW9v5J4AAwBgBfqIoF4REQBERAEREAREQBERAEREB\/\/2Q==",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TONER",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:37",
    "ubicacionGPS": "LatLng(lat: -29.9177532, lng: -71.2550909)",
    "horaLlegada": "12:30",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


26/05/2026 12:37:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:91770000

[26/05/2026 12:37:23] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('91770000', 'KY2448', 1, 20988335, 231252, NOW(), 
				'08:00', '12:30', '12:37', 10, 'se realiza entrega de 2 toner
02 iton2174', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779813443.png', '', null, 'COMPLETADO','LatLng(lat: -29.9177532, lng: -71.2550909)' )
				
[26/05/2026 12:37:23] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200428

26/05/2026 12:37:23 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200428'                    
				WHERE idllamado = 12738			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


26/05/2026 12:37:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:37:23 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12738			
				
26/05/2026 12:37:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


26/05/2026 12:37:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:37:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:37:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

26/05/2026 12:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:37:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

[26/05/2026 12:37:25] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:37:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

[26/05/2026 12:37:25] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:37:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:37:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12738
            GROUP BY l.idllamado;
            

26/05/2026 12:37:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:37:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:37:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12738
                

26/05/2026 12:37:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

[26/05/2026 12:37:27] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:37:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:37:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

[26/05/2026 12:37:27] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:37:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

[26/05/2026 12:37: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;
                

26/05/2026 12:37:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:37:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

[26/05/2026 12:37: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;
                

26/05/2026 12:37:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12: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 = 12737
                

26/05/2026 12: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 = 12737
                

26/05/2026 12:37:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12737
                

26/05/2026 12: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 = 12737
                

26/05/2026 12:37:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:37:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:37:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:37:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:37:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                
[26/05/2026 12:38: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;
                
[26/05/2026 12:38: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;
				

[26/05/2026 12:38: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;
                

[26/05/2026 12:38: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;
                
[26/05/2026 12:38:28] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[26/05/2026 12:38:28] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

26/05/2026 12:38:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:38: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;
                

[26/05/2026 12:38: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;
                

26/05/2026 12: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 = 12737
                

26/05/2026 12: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 = 12737
                

26/05/2026 12: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 = 12737
                

26/05/2026 12: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 = 12737
                

26/05/2026 12:38:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12743
            GROUP BY l.idllamado;
            

[26/05/2026 12:38: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;
                

26/05/2026 12:38:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:38:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:38:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12:38:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:38:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:38:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:38:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:38:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:38:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12:38:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12693
                

26/05/2026 12:38:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:38:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:38:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:38:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12:38:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:38:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

[26/05/2026 12:38: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;
                

26/05/2026 12:38:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12737
                

26/05/2026 12: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 = 12737
                

[26/05/2026 12:38: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;
                

26/05/2026 12: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 = 12737
                

26/05/2026 12: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 = 12737
                

26/05/2026 12: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 = 12737
                

26/05/2026 12: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 = 12737
                

26/05/2026 12:38:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

[26/05/2026 12:38: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;
                

26/05/2026 12:38:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:38:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

[26/05/2026 12:38: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;
                

26/05/2026 12:38:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:38:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:38:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:38:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:38:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:38:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:38:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12737
                

26/05/2026 12: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 = 12737
                

26/05/2026 12: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 = 12737
                

26/05/2026 12: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 = 12737
                

26/05/2026 12: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 = 12737
                

26/05/2026 12:39:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12737
                

26/05/2026 12:39:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12737
                

26/05/2026 12: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 = 12737
                

26/05/2026 12:39:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:39:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12: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 = 12737
                

26/05/2026 12: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 = 12737
                

26/05/2026 12:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12743
            GROUP BY l.idllamado;
            

[26/05/2026 12:39: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;
                

26/05/2026 12:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:32 - logentry: =========================================
FECHA: 26/05/2026 12:39:32
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-es6qFjZffpL8MaP5ZoACt+cqlBc867Ozw.Nh6w.OrnEWgcYr.ws
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "KY2448",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "231252",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza cambio de almohadilla de adf\n01 rgom2576\nse realiza cambio de rodillo de bandeja \n01 rgom2356\nse realiza cambio de unidad de imagen \n01 Runi 2354",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12737",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACAAM4DASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAUGAgMEAQf\/xABAEAABAwMCAgcFBQYEBwAAAAABAAIDBAURBiESMRNBUWFxgaEUIpGxwRUjMjNCBxZTwtHwJHKS4SU1RFJiotL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAuEQACAQIEAwcEAwEAAAAAAAAAAQIDERIhMUEEE1EiMmFxkbHhocHR8BQjgfH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBEUCy3ua5Xy407uDoIDiPA32JGfNSk2mzOVSMZKL3L6Iig0CIiAjWS71FzrrlFKyMRUs3BE5gILhlw3ye4disrMaG+8oa2p\/i1J28gfqtOrzVpWMOGk5UlJ7hEXCWWOGN0krwxjRkuccAKhuc0Wa\/fSndmSOgqn04dgzBvujfBz6fFX6aphrKds8Dw9jusHOD1hWcWtTKFanUdou53IiKpqEREAREQBERAEREAREQBERAeO7Vn2faqmrzh0cZLf83IepCyf7P2l1VWyEk4Y0HzJ\/oqespXTQUdriP3tZOBgc8D\/cj4Lq0hEymu17p2DDY5g1o7g5+PotkrU2edUblxcVsvezZqkRFieiF5rlL0Fsqpt\/u4Xu27mkr0qTqiTotN1ru1gb8SB9VMVdpGdV4YSfgebRcfBpuJ38R73euPor6m6ej6LT9C3tha747\/AFVJTN3kytCOGlFeCCzms6mRtthoYXYkrZQzxb1+vCtGsvciKzXNupuHLadnSE9h3P0app63KcS3y8K3svU0FPSxUtBHSADoo4wzsBGMKDoLP2FLk\/8AUuxv\/wCLVcukhhtNZKBksge7Hg0qZoyIR6agcOcjnuP+oj6KV3GRJLnwS2T+xdRFE1NcK2109NV0rh0TZg2ZhA95p7zy5eoVEruxvUmqcXJ7FtFxa4PYHDcOGRuuSguEREAREQBERAEREARF0VtS2jopql5HDEwv368BCG0ldmehabtrmWUkmG2s4W7gjj5fMu7\/AHV9tI9m1xdafkJYxIO8+6f5iuzRVM6O0Pq5N5KuUvJxjIG3zyuuf\/D\/ALQ6c8hU0xBPk7\/5C3erj4HnJdiFR6uV\/XL8GnXFj2yND2ODmnkR1qRqq4Ot1ilfGSJJT0TSDggkHceQKmaKEtLUXG3zZ4o3tf7wwTnOT29izUOziOqVdKsqdtf37GsWf1tL0enXtzjpJGN8d8\/RaBfn+qLm+63mOgjdmmhlDMNzu4nBz388d3mppK8inGVFCk1u8jcUMfQ2+miAxwRNbjwAXoRfAQRkHIKzOpKysfVl7QBWa2utXzEDREOwHYfyn1Wmke2KN0jvwsBJ8As5omMuoKqueAH1NQSfAf7kq8cotnPV7VWEfN+n\/SlqMlunq4j+EQuOmWhunKID+Hn1K+6gq6SC01MVTMGGWF4a3rO2PmQoVp1RRWrT1NC\/ilqBxBsLDk44jjJ5D59ysotwy6mc6kIV7ye33NgSAMk4AWRucv7032G2UxLqGldxzyNPuuPcfiB4lffZtQal2q3fZ1A7nGB7zh4cz54HctHbrZSWqm6Ckj4W83E83HtJTKHmS8XEZWtHx3+D1oiLI7AiIgCLy1dzoaEH2qriiIGcOcM\/DmvLQ6it1yq301JI+RzGF5IjOMZx9Qpwu1zN1IJ4W8yoiIoNAiIgCz2tKp0VlFNHnpKqRsYA6xzPyA81oVlbqW1+tKSne9ogoI+mkLuTTz3\/APTmr0+9c5uKb5eFb5epoqClbRUEFK3lFGG+JA3KzGqa6nodQ2usEgc+EkTNacuDMjq83Ltqr9W3yoNvsDXMbn7yrIwAO7s+a8N+01T2rT4qGudNVMlaZJnnmDnYDljJWkI2l2tzmr1HOm1SWUd\/Lp1Om9X2a+1lDDR0MjWtk6SMSnHTHq8OR6+tcX3K72jUX2jVW5rJKxvAYWn8YGBtgnfYKpXSis1fZBGMAwdKNuohx\/lVq+WeO80HQOf0cjDxxSD9Lv6KcSVk1kZ8mpUxzUu0n7IlS61pHWupkY10NZG3DYZB+o7bduOvlyWciopKO7WaCfLppZWTyAnixxPAx8Gg+a9F7oK6B4rrjcKT2qBjOjj245Mc8jr9cry1d1muepoK2ihD5h0fRsI2c4Dfr5Zz5K8YpLsnPWqSk1zNVa3rm7dcjc6jZUPsNUKVz2zAAtLCQdnAnl3AqXp7UNBDp6H22sDHwksIe7icccsDmRgj+wuH2LqC7f8ANbl7NC4kOgg6x2bbfHKiWTTDLxRVErKgxSxTFjeJvE0gAHl\/fgs1GOGzZ1VKlbnKUI6q2ZWvOsqOegqKaijmkMjCwylvC1uRjxUyK4X61adg6NkNJS4zHK7BfLxZOw37ezqXK+Ut6tlrbRVMlNJSyyBrDE0NOeYGwHZ381btmnKqSeGrvc4mfAAIYG\/hjA6jjbs+HMq3ZjEy\/uq1Gs07eVvf5PBbNLzXqJtxvNXOXS+81gIyW4GDvy8MLTUNlt1tGKWkYw5zxH3nZ8TuvRUVVPSR9JUzxws\/7pHBo9VDqdZ0LX9FQQT18uNhG0geu\/os25z0O1QocPnLX6miXFzmsaXPcGtHMk4AWa49W3PdjILbHnbi3cR6\/II3RntLuO53Spq3dmcD1yowpasvzpy7kH\/uXyUqrU1mo8h9dG9w\/TF7\/wAlNOsjUHFttNXVHlnGB6Z7\/gqlLpyz0f5VBETjnIOM+uVSDQ0YaAB2BLwWww15ayS8lf3\/AAZn23V1YfubfT0jHcnSEEjxyfovh07e64f8Svjw082QjYjywOs9RWoRMfRD+Mn35N\/7+LEGk0bZ6ZwfJHJUvBzmZ+d\/AYHxVinpKakZwU1PHC3sYwN+S7kVXJvVmsKVOHdVgiIqmgRF5q6vprbTOqKqURsb8SewDrTUhtJXZ2zzxU0L5p5GxxsGXOccAL8\/t9qrNTXOrquN0NHLKTI\/GOIZyGjt2x6Lne6m4Xi3vudU40tA1wbTQZ3lcev4ZOe7ZaS1S0en9PUrK2ojhLmcbgXZJJ32A59my3ScI5anmzlHiKiUsorPzK1HR09BTNpqWMRxs5AfM9q8epIRNp2uYeqIu\/07\/RSZNVVlxnNPYaAz4ODNKMNHyx5nyX2PStXcZxUX64OnI3EMRw0efV5DzVVGzvJm0qqqRcKUbrTov3yM9RXlzLrb6iCnfUywUghETAckgOHZ2FXhRaovGHVdW23QE\/lxbPx5fUrr0lSQUd3r6KaFpqaZ5McnDvwHbn8PiterVJpPJGPC0HOF5y30WXhmQqLR9ppW5kiNTKc5fKc+nL4rF6UZ0mpaNvY5x+DSfothq+6uoLX0dNUtjqJHAFoI4uHfO3w3WNsbqqmuENZQUktVLEHBzAwloJaQNx3Hu5K8MTi2zn4nlwrQhBaa\/Q\/U1GooKDTNPOJ6yONs0pkHG7Bx2Acyp3sOqrqf8XWR2+I82Rfi5d31K9NLoy2RuMlUZayVxyXSvIyfL6rGySs2d7nOo04w03eX01I2pL9S3OsoI6Br6oQSl72taRx4IwBtnkD1KlnVd2OMRWuAnxfg\/E5+Cpx6fo4LxFcYWti6KIsbExga3Jzvt3Eqqpc0kkkVhw9SUpSqS16ZfJnKbRlH0nTXGonrpiBxGR5AJ+fqrtNR01GzgpoI4W9jGgLuRUcm9TphRp0+6giIqmoREQBERAEREARFJveoKazx8H51U8fdwt5nPInuUpNuyKTnGEcUnkd92vFLZ6UzVDsuOzI2\/iee7+qz9PbZbvJ9s6jkENM3eGnc7haG9\/8AeSvA98VHVC43xxrbo\/8AKo27iPs4scvD6qnT2S5X6dtZfZXRQgkspGHGPHs+fgtklFa\/vgedKpKtK1r+H3l+CbfbkdR3ClttojL44SSMtAaT27\/pA7e1WqLSMPTe1Xad9fUHc8RPAPLr+XcolvuNvtF6r7gaZ3s7XezwNiaOrxx1N589+9Vv3pudW7ht1ineCNny5A+WPVWkpJWjoUpSpSk51XeV9M9vA0zGMjYGRtDGtGA1owAumrr6OgZx1dTHCMZHG7BPgOZWedT6tuu0s0VtiPMRnf4gk58wu+k0XbonmWsklrZSSXGR2Afhv6rLDFas7ebUllTh65fTUhXLUFLFqNl2tgkmAZwS8QLWP2IHf6fpVRtLqa+MZJUVcdvpnbhsDvecDyOx7O\/yV+W1UUlBJRNp444pBjDGgYPUfELO0lRfNOMNA+3ur6cHhp5WHrPIHngfJXUk12dTmdKUJf2N4Xnl19ydfdP0lvjpKGkD6i4VMn43k8uXLkN+3sWwslu+yrTDRkguZkucOskkqXZLXWz3N98urWsne3hihA\/LHLPdt8ytGqzk2sNzbhqMVJ1ErX08vkIiLI7QiIgCIiAIiIAiIgCIiAIiIDOal1P9lO9jpGcdU5uckbMzy8Ss5bNP3u51Zq5C+m6Q5dUSjDt+to5\/LxX6C6mgfUNqHQsdK0Ya8jJA7l2rVVMKskcVThXVniqSy2SJVq05b7T78cZlnPOaXd3l2L03es9gtNVVZwY4zw\/5jsPUhexZnWkjpoKG2xuAfV1AHly+ZCrG8pZmtTDRovArHq0hRex6ficRh9QTKdu3l6AK4uEUbYYmRMGGsaGtHcFzVZO7uaU4KEFFbBERQaBERAEREAREQBERAEREAREQBERAEREAREQBERAFl5z7f+0CGLmyhh4iMdZGf5mrUKDZLdVRXm53GqZwiofiHJ34cnmOrYNV4u12c9ZOThFdb+heREVDoCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/2Q==",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENIMIENTO PREVENTIVO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:39",
    "ubicacionGPS": "LatLng(lat: -29.9177482, lng: -71.2550782)",
    "horaLlegada": "12:30",
    "horaDespacho": "12:37",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 26/05/2026 12:39:32
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-es6qFjZffpL8MaP5ZoACt+cqlBc867Ozw.Nh6w.OrnEWgcYr.ws
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "KY2448",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "231252",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza cambio de almohadilla de adf\n01 rgom2576\nse realiza cambio de rodillo de bandeja \n01 rgom2356\nse realiza cambio de unidad de imagen \n01 Runi 2354",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12737",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACAAM4DASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAUGAgMEAQf\/xABAEAABAwMCAgcFBQYEBwAAAAABAAIDBAURBiESMRNBUWFxgaEUIpGxwRUjMjNCBxZTwtHwJHKS4SU1RFJiotL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAuEQACAQIEAwcEAwEAAAAAAAAAAQIDERIhMUEEE1EiMmFxkbHhocHR8BQjgfH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBEUCy3ua5Xy407uDoIDiPA32JGfNSk2mzOVSMZKL3L6Iig0CIiAjWS71FzrrlFKyMRUs3BE5gILhlw3ye4disrMaG+8oa2p\/i1J28gfqtOrzVpWMOGk5UlJ7hEXCWWOGN0krwxjRkuccAKhuc0Wa\/fSndmSOgqn04dgzBvujfBz6fFX6aphrKds8Dw9jusHOD1hWcWtTKFanUdou53IiKpqEREAREQBERAEREAREQBERAeO7Vn2faqmrzh0cZLf83IepCyf7P2l1VWyEk4Y0HzJ\/oqespXTQUdriP3tZOBgc8D\/cj4Lq0hEymu17p2DDY5g1o7g5+PotkrU2edUblxcVsvezZqkRFieiF5rlL0Fsqpt\/u4Xu27mkr0qTqiTotN1ru1gb8SB9VMVdpGdV4YSfgebRcfBpuJ38R73euPor6m6ej6LT9C3tha747\/AFVJTN3kytCOGlFeCCzms6mRtthoYXYkrZQzxb1+vCtGsvciKzXNupuHLadnSE9h3P0app63KcS3y8K3svU0FPSxUtBHSADoo4wzsBGMKDoLP2FLk\/8AUuxv\/wCLVcukhhtNZKBksge7Hg0qZoyIR6agcOcjnuP+oj6KV3GRJLnwS2T+xdRFE1NcK2109NV0rh0TZg2ZhA95p7zy5eoVEruxvUmqcXJ7FtFxa4PYHDcOGRuuSguEREAREQBERAEREARF0VtS2jopql5HDEwv368BCG0ldmehabtrmWUkmG2s4W7gjj5fMu7\/AHV9tI9m1xdafkJYxIO8+6f5iuzRVM6O0Pq5N5KuUvJxjIG3zyuuf\/D\/ALQ6c8hU0xBPk7\/5C3erj4HnJdiFR6uV\/XL8GnXFj2yND2ODmnkR1qRqq4Ot1ilfGSJJT0TSDggkHceQKmaKEtLUXG3zZ4o3tf7wwTnOT29izUOziOqVdKsqdtf37GsWf1tL0enXtzjpJGN8d8\/RaBfn+qLm+63mOgjdmmhlDMNzu4nBz388d3mppK8inGVFCk1u8jcUMfQ2+miAxwRNbjwAXoRfAQRkHIKzOpKysfVl7QBWa2utXzEDREOwHYfyn1Wmke2KN0jvwsBJ8As5omMuoKqueAH1NQSfAf7kq8cotnPV7VWEfN+n\/SlqMlunq4j+EQuOmWhunKID+Hn1K+6gq6SC01MVTMGGWF4a3rO2PmQoVp1RRWrT1NC\/ilqBxBsLDk44jjJ5D59ysotwy6mc6kIV7ye33NgSAMk4AWRucv7032G2UxLqGldxzyNPuuPcfiB4lffZtQal2q3fZ1A7nGB7zh4cz54HctHbrZSWqm6Ckj4W83E83HtJTKHmS8XEZWtHx3+D1oiLI7AiIgCLy1dzoaEH2qriiIGcOcM\/DmvLQ6it1yq301JI+RzGF5IjOMZx9Qpwu1zN1IJ4W8yoiIoNAiIgCz2tKp0VlFNHnpKqRsYA6xzPyA81oVlbqW1+tKSne9ogoI+mkLuTTz3\/APTmr0+9c5uKb5eFb5epoqClbRUEFK3lFGG+JA3KzGqa6nodQ2usEgc+EkTNacuDMjq83Ltqr9W3yoNvsDXMbn7yrIwAO7s+a8N+01T2rT4qGudNVMlaZJnnmDnYDljJWkI2l2tzmr1HOm1SWUd\/Lp1Om9X2a+1lDDR0MjWtk6SMSnHTHq8OR6+tcX3K72jUX2jVW5rJKxvAYWn8YGBtgnfYKpXSis1fZBGMAwdKNuohx\/lVq+WeO80HQOf0cjDxxSD9Lv6KcSVk1kZ8mpUxzUu0n7IlS61pHWupkY10NZG3DYZB+o7bduOvlyWciopKO7WaCfLppZWTyAnixxPAx8Gg+a9F7oK6B4rrjcKT2qBjOjj245Mc8jr9cry1d1muepoK2ihD5h0fRsI2c4Dfr5Zz5K8YpLsnPWqSk1zNVa3rm7dcjc6jZUPsNUKVz2zAAtLCQdnAnl3AqXp7UNBDp6H22sDHwksIe7icccsDmRgj+wuH2LqC7f8ANbl7NC4kOgg6x2bbfHKiWTTDLxRVErKgxSxTFjeJvE0gAHl\/fgs1GOGzZ1VKlbnKUI6q2ZWvOsqOegqKaijmkMjCwylvC1uRjxUyK4X61adg6NkNJS4zHK7BfLxZOw37ezqXK+Ut6tlrbRVMlNJSyyBrDE0NOeYGwHZ381btmnKqSeGrvc4mfAAIYG\/hjA6jjbs+HMq3ZjEy\/uq1Gs07eVvf5PBbNLzXqJtxvNXOXS+81gIyW4GDvy8MLTUNlt1tGKWkYw5zxH3nZ8TuvRUVVPSR9JUzxws\/7pHBo9VDqdZ0LX9FQQT18uNhG0geu\/os25z0O1QocPnLX6miXFzmsaXPcGtHMk4AWa49W3PdjILbHnbi3cR6\/II3RntLuO53Spq3dmcD1yowpasvzpy7kH\/uXyUqrU1mo8h9dG9w\/TF7\/wAlNOsjUHFttNXVHlnGB6Z7\/gqlLpyz0f5VBETjnIOM+uVSDQ0YaAB2BLwWww15ayS8lf3\/AAZn23V1YfubfT0jHcnSEEjxyfovh07e64f8Svjw082QjYjywOs9RWoRMfRD+Mn35N\/7+LEGk0bZ6ZwfJHJUvBzmZ+d\/AYHxVinpKakZwU1PHC3sYwN+S7kVXJvVmsKVOHdVgiIqmgRF5q6vprbTOqKqURsb8SewDrTUhtJXZ2zzxU0L5p5GxxsGXOccAL8\/t9qrNTXOrquN0NHLKTI\/GOIZyGjt2x6Lne6m4Xi3vudU40tA1wbTQZ3lcev4ZOe7ZaS1S0en9PUrK2ojhLmcbgXZJJ32A59my3ScI5anmzlHiKiUsorPzK1HR09BTNpqWMRxs5AfM9q8epIRNp2uYeqIu\/07\/RSZNVVlxnNPYaAz4ODNKMNHyx5nyX2PStXcZxUX64OnI3EMRw0efV5DzVVGzvJm0qqqRcKUbrTov3yM9RXlzLrb6iCnfUywUghETAckgOHZ2FXhRaovGHVdW23QE\/lxbPx5fUrr0lSQUd3r6KaFpqaZ5McnDvwHbn8PiterVJpPJGPC0HOF5y30WXhmQqLR9ppW5kiNTKc5fKc+nL4rF6UZ0mpaNvY5x+DSfothq+6uoLX0dNUtjqJHAFoI4uHfO3w3WNsbqqmuENZQUktVLEHBzAwloJaQNx3Hu5K8MTi2zn4nlwrQhBaa\/Q\/U1GooKDTNPOJ6yONs0pkHG7Bx2Acyp3sOqrqf8XWR2+I82Rfi5d31K9NLoy2RuMlUZayVxyXSvIyfL6rGySs2d7nOo04w03eX01I2pL9S3OsoI6Br6oQSl72taRx4IwBtnkD1KlnVd2OMRWuAnxfg\/E5+Cpx6fo4LxFcYWti6KIsbExga3Jzvt3Eqqpc0kkkVhw9SUpSqS16ZfJnKbRlH0nTXGonrpiBxGR5AJ+fqrtNR01GzgpoI4W9jGgLuRUcm9TphRp0+6giIqmoREQBERAEREARFJveoKazx8H51U8fdwt5nPInuUpNuyKTnGEcUnkd92vFLZ6UzVDsuOzI2\/iee7+qz9PbZbvJ9s6jkENM3eGnc7haG9\/8AeSvA98VHVC43xxrbo\/8AKo27iPs4scvD6qnT2S5X6dtZfZXRQgkspGHGPHs+fgtklFa\/vgedKpKtK1r+H3l+CbfbkdR3ClttojL44SSMtAaT27\/pA7e1WqLSMPTe1Xad9fUHc8RPAPLr+XcolvuNvtF6r7gaZ3s7XezwNiaOrxx1N589+9Vv3pudW7ht1ineCNny5A+WPVWkpJWjoUpSpSk51XeV9M9vA0zGMjYGRtDGtGA1owAumrr6OgZx1dTHCMZHG7BPgOZWedT6tuu0s0VtiPMRnf4gk58wu+k0XbonmWsklrZSSXGR2Afhv6rLDFas7ebUllTh65fTUhXLUFLFqNl2tgkmAZwS8QLWP2IHf6fpVRtLqa+MZJUVcdvpnbhsDvecDyOx7O\/yV+W1UUlBJRNp444pBjDGgYPUfELO0lRfNOMNA+3ur6cHhp5WHrPIHngfJXUk12dTmdKUJf2N4Xnl19ydfdP0lvjpKGkD6i4VMn43k8uXLkN+3sWwslu+yrTDRkguZkucOskkqXZLXWz3N98urWsne3hihA\/LHLPdt8ytGqzk2sNzbhqMVJ1ErX08vkIiLI7QiIgCIiAIiIAiIgCIiAIiIDOal1P9lO9jpGcdU5uckbMzy8Ss5bNP3u51Zq5C+m6Q5dUSjDt+to5\/LxX6C6mgfUNqHQsdK0Ya8jJA7l2rVVMKskcVThXVniqSy2SJVq05b7T78cZlnPOaXd3l2L03es9gtNVVZwY4zw\/5jsPUhexZnWkjpoKG2xuAfV1AHly+ZCrG8pZmtTDRovArHq0hRex6ficRh9QTKdu3l6AK4uEUbYYmRMGGsaGtHcFzVZO7uaU4KEFFbBERQaBERAEREAREQBERAEREAREQBERAEREAREQBERAFl5z7f+0CGLmyhh4iMdZGf5mrUKDZLdVRXm53GqZwiofiHJ34cnmOrYNV4u12c9ZOThFdb+heREVDoCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/2Q==",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENIMIENTO PREVENTIVO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:39",
    "ubicacionGPS": "LatLng(lat: -29.9177482, lng: -71.2550782)",
    "horaLlegada": "12:30",
    "horaDespacho": "12:37",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


26/05/2026 12:39:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:91770000

[26/05/2026 12:39: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('91770000', 'KY2448', 1, 20988335, 231252, NOW(), 
				'12:37', '12:30', '12:39', 4, 'se realiza cambio de almohadilla de adf
01 rgom2576
se realiza cambio de rodillo de bandeja 
01 rgom2356
se realiza cambio de unidad de imagen 
01 Runi 2354', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779813572.png', '', null, 'COMPLETADO','LatLng(lat: -29.9177482, lng: -71.2550782)' )
				
[26/05/2026 12:39:32] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200429

26/05/2026 12:39:32 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200429'                    
				WHERE idllamado = 12737			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


26/05/2026 12:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:32 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12737			
				
26/05/2026 12:39:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


26/05/2026 12:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

[26/05/2026 12:39: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;
                

26/05/2026 12:39:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

[26/05/2026 12:39: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;
                

26/05/2026 12:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:39:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

[26/05/2026 12:39: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;
                

[26/05/2026 12:39: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;
                

26/05/2026 12:39:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12737
            GROUP BY l.idllamado;
            

26/05/2026 12:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12737
                

26/05/2026 12:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

[26/05/2026 12:39: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;
                

26/05/2026 12:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

26/05/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

[26/05/2026 12:39: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;
                

26/05/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

[26/05/2026 12:39: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;
                

26/05/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

26/05/2026 12:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

[26/05/2026 12:39: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;
                

26/05/2026 12:39:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

26/05/2026 12:39:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

26/05/2026 12:39:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

[26/05/2026 12:39: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;
                

[26/05/2026 12:39: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;
                

26/05/2026 12:39:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

26/05/2026 12:39:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

26/05/2026 12:39:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

26/05/2026 12:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

26/05/2026 12:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:40:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

26/05/2026 12:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:40:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

26/05/2026 12:40:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:40:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:40:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:40:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

26/05/2026 12:40:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:40:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:40:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:40:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:40:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:40:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

26/05/2026 12:40:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:40:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:41:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

26/05/2026 12:41:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12736
                

26/05/2026 12:41:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12736
                

26/05/2026 12: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 = 12736
                

26/05/2026 12: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 = 12736
                

26/05/2026 12: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 = 12736
                

26/05/2026 12: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 = 12736
                

26/05/2026 12:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12736
                

26/05/2026 12:41:24 - logentry: =========================================
FECHA: 26/05/2026 12:41:24
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-W1GcXhLi7JegYNx1NRi9HThJy440NLh16LClNI8gZ62RQigrA5R
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "KY2961",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "628759",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza cambio de almohadilla de adf\n01 rgom2576\nse realiza cambio de rodillo de bandeja\n01 rgom2356",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12736",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACKALcDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABAEAABAwMCAwQIBAELBQAAAAABAAIDBAURBiESMUETUXGBFCIyYZGhscEVI0LRUgcWJENigpKiwvDxRFPS4eL\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAtEQACAQIEBAYCAgMAAAAAAAAAAQIDERIhMUEEUWFxEyKBocHRMpGx8CNCYv\/aAAwDAQACEQMRAD8A+zIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAxkkZFG6SR3CxgLnHuAVMh1Nd2Nbd6hjXW6SYxmJgA4Nhvnc9\/Xnn3Kc1ZV+iadqSPalAiHnz+WV7Q2prtKR21+PzKfBONg52+fIlVjZK7MdbHOpgg7WV\/XYlYpWTRMljcHMe0Oa4dQeRXlRM2mppZ3+zEwvd4AZUJoyqlqLJ2cxJfBIYwT3cxv15keS2avqvRtOzgHDpiIxv3nf5ApcPmwlPGTo+L0udtmuJutrirDH2faF3q+BI+yLVbHU1st9DbppmMnMQxG44JOMu28couSWeRSnLyLE89yTRESlAiIgAiIgAiLnr62K30M1XN7ETeLHeeg8zgI1ONpK7I+pv7IdRQWlkXaF4\/McD7BO4GPDfzUwqFo3juOpKivqDxPaxzyf7Tjj6ZV9VKkVF2M3C1ZVYub0by7BERTNQREQAREQAREQBV9X\/0ustdrG\/bz8Tx3DYfQn4K0KsD+n\/ygEgcTKGDGegJH\/wBfL3Kzqk8kkZqHmnOfW36KxpDasvLRsBU7Du3cuDWda+W70dBBH2z4SHmMNzxPPIfL5\/Dktt+NvbX+iR9tV1tQTEB7LRv6x+KkdEUr6h9VdqrMkr38LHvAJz+og+YCq1hbmzBGfi040I769r3O+x6dfBObldX9vXPzsTkMz9\/kOiKwooOTbuz1KdKNOOFBERKUCIiACIiACq2pnPu10o7DA4gOd2k5HRv\/ABnzwrJU1EdJTS1MzuGOJpc4+4Ko28yMs931DUsDZqpjhFn9LTsBv0zjxwFSmtzJxMrpU+eb7L70OnQ8Ubo7hVxsDWSz8LQOgG+Mf3lalC6RpvRtOU+falzIfM7fLCmlyo7yY\/Cxw0Yr+5hERIaAoHWVTLTWBzoZXxPdI1ocwkHv5+SnlWNcu7Sgo6UHDpqkYPgCPuE9P8kZ+KdqMrFhpAW0cDXZyI2g5Oei3LwAAYAwAgIPI5SF0rKx6vCQBknAC9UPqe5i2WWVwI7WYdnGPeeZ8hn5LqV3YWc1CLk9iP0cDVT3O6OBPpE+Gk925wPiPgurUuo4rRTmCEh9ZI31QP0D+I\/ZRdFc\/wAE07R0VI0z3GrHGyPGeHi3BPlhcFzsbopqCkqJDNca+bjmkz7I5YB8z8FfCnO7PM8WUKCjT13fK\/zmbYqKGy6OfcHDNZXM7NjiPZa7oP7uTlWyx0It1mpqbhAeGZfgY9Y7lQd1YLlqu32mNp7CjaJJAHeB+gaPPzVsSTba7mjhqaU3bRZfYREUjcEREAEREAERYSyshifLI4NYxpc5x6AcygCt6tlmrJ6OxUxw+rcHSHuaDtt3bE\/3Vlq2KOh0mKWH1Iw5kYHeBvv8MrXplj7tdKu\/zBwDnGKBp6N2+2B45WWu\/WtVNFy46kb93qu\/dXWUlHkebPzUqlXnkuxYKGMRUFPGG8IZE1uO7AC3oigeilZWCIiDoVY1AfStVWaiG\/ZuMxHeM5\/0FWdVe2D0\/XFxqzuykZ2TfceX2cqQyuzNxOajDm17Z\/BM3uv\/AA2z1FUCA9rMMz\/EdguTSbKlthikqppJXzOL28bslrTyGfLPmo3V0vpt0ttma44lkD5cdATgfLiKtBdFTQ5c5scUbdy44DQPeh5QS5nIvHXk9o5eu5Vdd101MyjjgnfG4uc5wY7GcYxn5qt3u81F\/r2Hh4WNPDDHnlk\/U7LLUl2\/GrsXQhxiZ+XEOed+fmpNtkit9+stDw8UxHbTnOcnnjwHCfmtEUoRV9TyaspV6ksL8t19HRpF9JRV8tNcIpIbm48LXT9W9A3PI\/XouqCVtz1rPWcWaa2xcIcNxnB7vF3wU3dbJQ3hjBVxniYctew4cB3Z7lEXmmpdOaVngo28JqCIy5xyXEjBPwB25bqWJSfVm50p0o2dsMc+r\/rGkIzVz196kaOOplLWbYIaNz9v8Ks64LHRfh1mpqYjDmsy\/b9R3PzK71KbvI2UIOFNJ6\/IRESlgiIgAiIgAq1qmqlqpqexUjvzatw7Qj9Lffv5+AVillZDE+WRwaxjS5zj0A5lVWwVMVTX1uoa+VkDJHGKDtSAA0Y5EnuwPj71SC\/25GXiJXtTvrr23LPSUsVFSx00AIjibwtBOVXtb7U1AXbsFSOId+3\/ACsqjWDZpjTWeilrpf4sENHv7\/ooTUcN\/wDw+KsussYYJgGwMA9Q4JB2293MpoQakmyHEV4Ok4wV+2h9ARVgafvzxxHUcmT\/AAg4+qGl1VbW9pHVxXBuQXRuGHY64z+6TAtmaPHks3B29Cfr6ttDQT1ThkRMLsd6wtley6W+KsjjfG2QHDX4zscfZVO+6phuGnzBEHxVD5AyWN2xAG58iR\/vrY9OODdN0bnEACLJJ6LrhaN2LT4hVK2GLysSMsjYYnyvOGsaXOPuCruiYy6gqq54AfU1BJ8B\/wCyVE3nV8lTJW0dOYxSOjMbXYJc8nbIPIc+vQd69tFRfK+1QUFphFJTxAtkqXH2iTk4PTc9M+SdU2o5kJcTCdZYc7X05mm+3B9Brd9UGNmMAaGRuzjdg+7srmr628aiusVDMx8Akf6kBBa1o\/iPU4GTnxwrJZdLPt14krKmYVOGDgc9uTxnGXc\/cfioz8TEFxvV6du+I+jU3EObiSBt7g3PhlOpLbZGadOdm6jspNu3Q8tVohm1KKSFodSWzeR7gD2knXPmOXc3vUk3NT\/KI\/O\/otNtnpkD\/wA\/muzSludQ2Zj5Qe3qT2smSc78s+\/C47D+dq29TjcMIjz54\/0pHK7fRGiFPDGCtZt39sizqr6jJrdR2m2Bx4eLtngDmAf2a5WhVe2Zrtb3Gq5spWdkMdDy+zkkMrs1cTmow5tfZaERFM0hERABERABF45wa0ucQABkk9FTr9quSoZLTWh5ayMHtakHHk0+\/v8Ah3poxcnkRrVoUo3kb9XXftmCy0BMtTM8CRrN8D+HxO3kFjaNFMEMcl2e+V7fZga\/1Gjng+fcvdE2YwQOulQ38ycYizzDep8\/p4q2KkpYfLEy0qPjPxqq10XQ009LT0kfZ00EcLP4Y2ho+SidYQibTdQdsxlrxnxA+hKnForacVdDPTH+tjcz4jCnF2kma6kMVNwXI1Wmf0m0Uc2cl8LCT78b\/NdiqmmL3R0Wm2itqGxGCRzOF3tHfOw59V5VavqqlrzZrc+SONpc+eZvqgDmdj9T5JnTeJ2IR4qmqcW3nbTchdVxtq75WPpYcNpY29s5rcAnOCT78uA8vcvaK53O5WVlit9KXEZD5Af0E5wTyHPmvbfYhcbPW3qtqX4IkkDG\/qcATkk+\/P7qestR+H6D9K2a5scjhtjLuIgfZXbSVtbHnU6cp1HNvCpJv0v7FKpbe6ou0dv4gXmbsy4HbnuRt4r601oa0NaAABgAdFUdGWF1PwXaV7T2sREbBzbk8z5D5q3qVaV3Y28BRcIOT3\/gKhW3TddPdvRqyN7aKCZ0riW+rIdtufUY8sq+okjNxvY01aEarTlsFWNKetd77IOTqnb\/ABP\/AHViqKmCkhM1TMyKMc3POAqJabhcjcblHZKcSiqnLmyvHqxty7c59x693JNBNxZHiKihVg3176F5q6ymoYTNVTshYOrjjPh3qiWS6XP0iubaqITzVUxe6Z4OGjfGeQ6k7lTkGkDUSek3mtkrJyPZBIY37kfBSlitDbLb\/RRL2pLy8v4eHJOOmT3LqcYp7iyhWrTi2sKV+5utcdfFQsbcpmTVGSXOYMDw5BdiIpPM3RVlYIiLh0LFzmsYXvcGtaMkk4ACxmmjp4XzTPDI2DLnOOwCqc9TXavqnUlHmntcbvzJiCDJ\/vu+PQJoxv2I1aqhks29EZVNbVasrH0FvcYrbGfzp8bv9w\/b4rnioKe7XVlqooyy10DszuwPzZBkZJ655eGfcpG+zw2Ozx2i2xkT1Q7OJree+ASfec48fBStktUdntrKVpDn+1I8DHE4\/wC8eSritG69Psxqk6lTDLN7\/CR3taGtDWgAAYAHReqOuF+ttsBFTVM7Qf1TDxP+A5eahG3i\/wB+fi00wo6Y\/wDUSjJPx+wPipqDeZrnXhF4Vm+SLFX3OjtsXaVlQyIdATu7wHMquv1Bdr28w2KjMUWcGplHL7D5lddHo+lbN6Tcp5LhUE5JkPq\/DmfM+Sn2taxoaxoa0cgBgBdvGOmYmGtU\/J4V01\/ZRLZZYKbVZobxwVL5I+0jdk4e7nv3\/q59ytV8aIdO1jYmcLWwOAazDcDG\/wAlH6uopPR4btSj+kULw\/OObc5+R3+Kk4ZqbUFlJa5wiqYy1waRxN6EeITSd7SJUqap46S127P6K3VVbafQNHTQj8yrxG0Af2iXft5rbqCN9LYrZYoj+bUOZGcnuxn\/ADELVYqKK4XthieZaC1N4Ynux67ySc8h1yfdgLsz+Ka9wN4rfFvttxf8u\/yptH7mdJyh3tFdt\/kskELKanjgjGGRMDG+AGAti5a65UVtj7SsqGQg8gdyfADcqBk1VV3GV1NYaB87uXbyDDW+X7nyUVFyzPRnWp0\/K3ny3LJNPDTRGWeVkUbebnnACrlXq51RMaWx0j6yb\/uFp4R78fvhZRaWnr5m1N+r31ThuIIzwsb7s\/thT1JR01DCIaWBkLB0aMZ8e9N5Y9Sf+ap\/yvf6RX6XTFVcJW1eoap07wctp2Owxvjj6D4lWOGCGmiEUETIo28msGAFsRK5N6ladGFPTXnuEREpUIiIAIiIAqt2bNf9RNs4e6Ojp2iSfGQXHz58xj4qedNQWiiDS+KnhhbgN4gPId5+q47ppmgutR6TIZIpsbviIBdtgZ29yrFw0zRx3qjtNHJM6SQccz3OB4W+GBjkevcrLDJJXPOm6tFylhTbet\/0rGqC\/wAdTf5LrNTTVM7fVpKZnIDfmcfQHclTQi1Re3OEsgtVK7bhA9c\/f5hWGjt9JQR8FLTxxDGCWtALvE9V0rkqi2Q9PhZJeeWutsvfUhbZpW2249oYvSJjuZJRnHgOn196mkRTbb1NcKcYK0VYIi4K6+Wy3ZFVWRteObAeJ3wG6Em9DspRirydjuc0OaWuAIIwQeqrdRpR8UkrrbcZKOCU\/mQtJDcb53z4Y22CxdqqsuBMdktU0xOwll2aD9PmFibBervk3i5dlE7fsKfl4Hp9VRJx1djHUnCtlGLl109zZHdrFpejFFDMZnt9Zwi9Yud3k8goSyU+oK1tTU0AZTsrZC59S84J3OQPMnkPNS19tNtsmnKh1LTN7VwEYkf6ztyM79Ns8lN2On9GslHF1ELSdupGT9U2JKN1uSVKc6qhJ2SW3XLUjaTR9GyUVFwmmr5\/1GV3qk+HM+ZU+xjI2BkbQxrRgNaMALJFJyb1N9OlCn+KCIiUoEREAEREAEREAEREAFW7DDJW6guV1nY4AO7GHjH6R1HTkBy7z52REydkyc6eKUW9giIlKBRN5bfZJYmWmSCJhB7SSQDIPz+nRSyLqdmJOOJWvbsVb+a1zrDm5XyZ4POOLOPrj5LuotJWeicHdgZ3g5DpjxY8uXyU2iZzkyUeGpJ3td9c\/wCTFrWsaGsaGtHIAYAWSIkNBH3q1C8280hmMILw7iDc8umF3RsbFG2NvssAA8AskXbu1hVBKTluERFwYIiIAIiIAIiIAIiIAIiIA\/\/Z",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENIMIENTO PREVENTIVO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:41",
    "ubicacionGPS": "LatLng(lat: -29.9177522, lng: -71.2550887)",
    "horaLlegada": "12:30",
    "horaDespacho": "12:39",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 26/05/2026 12:41:24
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-W1GcXhLi7JegYNx1NRi9HThJy440NLh16LClNI8gZ62RQigrA5R
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "KY2961",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "628759",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza cambio de almohadilla de adf\n01 rgom2576\nse realiza cambio de rodillo de bandeja\n01 rgom2356",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12736",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACKALcDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABAEAABAwMCAwQIBAELBQAAAAABAAIDBAURBiESMUETUXGBFCIyYZGhscEVI0LRUgcWJENigpKiwvDxRFPS4eL\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAtEQACAQIEBAYCAgMAAAAAAAAAAQIDERIhMUEEUWFxEyKBocHRMpGx8CNCYv\/aAAwDAQACEQMRAD8A+zIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAxkkZFG6SR3CxgLnHuAVMh1Nd2Nbd6hjXW6SYxmJgA4Nhvnc9\/Xnn3Kc1ZV+iadqSPalAiHnz+WV7Q2prtKR21+PzKfBONg52+fIlVjZK7MdbHOpgg7WV\/XYlYpWTRMljcHMe0Oa4dQeRXlRM2mppZ3+zEwvd4AZUJoyqlqLJ2cxJfBIYwT3cxv15keS2avqvRtOzgHDpiIxv3nf5ApcPmwlPGTo+L0udtmuJutrirDH2faF3q+BI+yLVbHU1st9DbppmMnMQxG44JOMu28couSWeRSnLyLE89yTRESlAiIgAiIgAiLnr62K30M1XN7ETeLHeeg8zgI1ONpK7I+pv7IdRQWlkXaF4\/McD7BO4GPDfzUwqFo3juOpKivqDxPaxzyf7Tjj6ZV9VKkVF2M3C1ZVYub0by7BERTNQREQAREQAREQBV9X\/0ustdrG\/bz8Tx3DYfQn4K0KsD+n\/ygEgcTKGDGegJH\/wBfL3Kzqk8kkZqHmnOfW36KxpDasvLRsBU7Du3cuDWda+W70dBBH2z4SHmMNzxPPIfL5\/Dktt+NvbX+iR9tV1tQTEB7LRv6x+KkdEUr6h9VdqrMkr38LHvAJz+og+YCq1hbmzBGfi040I769r3O+x6dfBObldX9vXPzsTkMz9\/kOiKwooOTbuz1KdKNOOFBERKUCIiACIiACq2pnPu10o7DA4gOd2k5HRv\/ABnzwrJU1EdJTS1MzuGOJpc4+4Ko28yMs931DUsDZqpjhFn9LTsBv0zjxwFSmtzJxMrpU+eb7L70OnQ8Ubo7hVxsDWSz8LQOgG+Mf3lalC6RpvRtOU+falzIfM7fLCmlyo7yY\/Cxw0Yr+5hERIaAoHWVTLTWBzoZXxPdI1ocwkHv5+SnlWNcu7Sgo6UHDpqkYPgCPuE9P8kZ+KdqMrFhpAW0cDXZyI2g5Oei3LwAAYAwAgIPI5SF0rKx6vCQBknAC9UPqe5i2WWVwI7WYdnGPeeZ8hn5LqV3YWc1CLk9iP0cDVT3O6OBPpE+Gk925wPiPgurUuo4rRTmCEh9ZI31QP0D+I\/ZRdFc\/wAE07R0VI0z3GrHGyPGeHi3BPlhcFzsbopqCkqJDNca+bjmkz7I5YB8z8FfCnO7PM8WUKCjT13fK\/zmbYqKGy6OfcHDNZXM7NjiPZa7oP7uTlWyx0It1mpqbhAeGZfgY9Y7lQd1YLlqu32mNp7CjaJJAHeB+gaPPzVsSTba7mjhqaU3bRZfYREUjcEREAEREAERYSyshifLI4NYxpc5x6AcygCt6tlmrJ6OxUxw+rcHSHuaDtt3bE\/3Vlq2KOh0mKWH1Iw5kYHeBvv8MrXplj7tdKu\/zBwDnGKBp6N2+2B45WWu\/WtVNFy46kb93qu\/dXWUlHkebPzUqlXnkuxYKGMRUFPGG8IZE1uO7AC3oigeilZWCIiDoVY1AfStVWaiG\/ZuMxHeM5\/0FWdVe2D0\/XFxqzuykZ2TfceX2cqQyuzNxOajDm17Z\/BM3uv\/AA2z1FUCA9rMMz\/EdguTSbKlthikqppJXzOL28bslrTyGfLPmo3V0vpt0ttma44lkD5cdATgfLiKtBdFTQ5c5scUbdy44DQPeh5QS5nIvHXk9o5eu5Vdd101MyjjgnfG4uc5wY7GcYxn5qt3u81F\/r2Hh4WNPDDHnlk\/U7LLUl2\/GrsXQhxiZ+XEOed+fmpNtkit9+stDw8UxHbTnOcnnjwHCfmtEUoRV9TyaspV6ksL8t19HRpF9JRV8tNcIpIbm48LXT9W9A3PI\/XouqCVtz1rPWcWaa2xcIcNxnB7vF3wU3dbJQ3hjBVxniYctew4cB3Z7lEXmmpdOaVngo28JqCIy5xyXEjBPwB25bqWJSfVm50p0o2dsMc+r\/rGkIzVz196kaOOplLWbYIaNz9v8Ks64LHRfh1mpqYjDmsy\/b9R3PzK71KbvI2UIOFNJ6\/IRESlgiIgAiIgAq1qmqlqpqexUjvzatw7Qj9Lffv5+AVillZDE+WRwaxjS5zj0A5lVWwVMVTX1uoa+VkDJHGKDtSAA0Y5EnuwPj71SC\/25GXiJXtTvrr23LPSUsVFSx00AIjibwtBOVXtb7U1AXbsFSOId+3\/ACsqjWDZpjTWeilrpf4sENHv7\/ooTUcN\/wDw+KsussYYJgGwMA9Q4JB2293MpoQakmyHEV4Ok4wV+2h9ARVgafvzxxHUcmT\/AAg4+qGl1VbW9pHVxXBuQXRuGHY64z+6TAtmaPHks3B29Cfr6ttDQT1ThkRMLsd6wtley6W+KsjjfG2QHDX4zscfZVO+6phuGnzBEHxVD5AyWN2xAG58iR\/vrY9OODdN0bnEACLJJ6LrhaN2LT4hVK2GLysSMsjYYnyvOGsaXOPuCruiYy6gqq54AfU1BJ8B\/wCyVE3nV8lTJW0dOYxSOjMbXYJc8nbIPIc+vQd69tFRfK+1QUFphFJTxAtkqXH2iTk4PTc9M+SdU2o5kJcTCdZYc7X05mm+3B9Brd9UGNmMAaGRuzjdg+7srmr628aiusVDMx8Akf6kBBa1o\/iPU4GTnxwrJZdLPt14krKmYVOGDgc9uTxnGXc\/cfioz8TEFxvV6du+I+jU3EObiSBt7g3PhlOpLbZGadOdm6jspNu3Q8tVohm1KKSFodSWzeR7gD2knXPmOXc3vUk3NT\/KI\/O\/otNtnpkD\/wA\/muzSludQ2Zj5Qe3qT2smSc78s+\/C47D+dq29TjcMIjz54\/0pHK7fRGiFPDGCtZt39sizqr6jJrdR2m2Bx4eLtngDmAf2a5WhVe2Zrtb3Gq5spWdkMdDy+zkkMrs1cTmow5tfZaERFM0hERABERABF45wa0ucQABkk9FTr9quSoZLTWh5ayMHtakHHk0+\/v8Ah3poxcnkRrVoUo3kb9XXftmCy0BMtTM8CRrN8D+HxO3kFjaNFMEMcl2e+V7fZga\/1Gjng+fcvdE2YwQOulQ38ycYizzDep8\/p4q2KkpYfLEy0qPjPxqq10XQ009LT0kfZ00EcLP4Y2ho+SidYQibTdQdsxlrxnxA+hKnForacVdDPTH+tjcz4jCnF2kma6kMVNwXI1Wmf0m0Uc2cl8LCT78b\/NdiqmmL3R0Wm2itqGxGCRzOF3tHfOw59V5VavqqlrzZrc+SONpc+eZvqgDmdj9T5JnTeJ2IR4qmqcW3nbTchdVxtq75WPpYcNpY29s5rcAnOCT78uA8vcvaK53O5WVlit9KXEZD5Af0E5wTyHPmvbfYhcbPW3qtqX4IkkDG\/qcATkk+\/P7qestR+H6D9K2a5scjhtjLuIgfZXbSVtbHnU6cp1HNvCpJv0v7FKpbe6ou0dv4gXmbsy4HbnuRt4r601oa0NaAABgAdFUdGWF1PwXaV7T2sREbBzbk8z5D5q3qVaV3Y28BRcIOT3\/gKhW3TddPdvRqyN7aKCZ0riW+rIdtufUY8sq+okjNxvY01aEarTlsFWNKetd77IOTqnb\/ABP\/AHViqKmCkhM1TMyKMc3POAqJabhcjcblHZKcSiqnLmyvHqxty7c59x693JNBNxZHiKihVg3176F5q6ymoYTNVTshYOrjjPh3qiWS6XP0iubaqITzVUxe6Z4OGjfGeQ6k7lTkGkDUSek3mtkrJyPZBIY37kfBSlitDbLb\/RRL2pLy8v4eHJOOmT3LqcYp7iyhWrTi2sKV+5utcdfFQsbcpmTVGSXOYMDw5BdiIpPM3RVlYIiLh0LFzmsYXvcGtaMkk4ACxmmjp4XzTPDI2DLnOOwCqc9TXavqnUlHmntcbvzJiCDJ\/vu+PQJoxv2I1aqhks29EZVNbVasrH0FvcYrbGfzp8bv9w\/b4rnioKe7XVlqooyy10DszuwPzZBkZJ655eGfcpG+zw2Ozx2i2xkT1Q7OJree+ASfec48fBStktUdntrKVpDn+1I8DHE4\/wC8eSritG69Psxqk6lTDLN7\/CR3taGtDWgAAYAHReqOuF+ttsBFTVM7Qf1TDxP+A5eahG3i\/wB+fi00wo6Y\/wDUSjJPx+wPipqDeZrnXhF4Vm+SLFX3OjtsXaVlQyIdATu7wHMquv1Bdr28w2KjMUWcGplHL7D5lddHo+lbN6Tcp5LhUE5JkPq\/DmfM+Sn2taxoaxoa0cgBgBdvGOmYmGtU\/J4V01\/ZRLZZYKbVZobxwVL5I+0jdk4e7nv3\/q59ytV8aIdO1jYmcLWwOAazDcDG\/wAlH6uopPR4btSj+kULw\/OObc5+R3+Kk4ZqbUFlJa5wiqYy1waRxN6EeITSd7SJUqap46S127P6K3VVbafQNHTQj8yrxG0Af2iXft5rbqCN9LYrZYoj+bUOZGcnuxn\/ADELVYqKK4XthieZaC1N4Ynux67ySc8h1yfdgLsz+Ka9wN4rfFvttxf8u\/yptH7mdJyh3tFdt\/kskELKanjgjGGRMDG+AGAti5a65UVtj7SsqGQg8gdyfADcqBk1VV3GV1NYaB87uXbyDDW+X7nyUVFyzPRnWp0\/K3ny3LJNPDTRGWeVkUbebnnACrlXq51RMaWx0j6yb\/uFp4R78fvhZRaWnr5m1N+r31ThuIIzwsb7s\/thT1JR01DCIaWBkLB0aMZ8e9N5Y9Sf+ap\/yvf6RX6XTFVcJW1eoap07wctp2Owxvjj6D4lWOGCGmiEUETIo28msGAFsRK5N6ladGFPTXnuEREpUIiIAIiIAqt2bNf9RNs4e6Ojp2iSfGQXHz58xj4qedNQWiiDS+KnhhbgN4gPId5+q47ppmgutR6TIZIpsbviIBdtgZ29yrFw0zRx3qjtNHJM6SQccz3OB4W+GBjkevcrLDJJXPOm6tFylhTbet\/0rGqC\/wAdTf5LrNTTVM7fVpKZnIDfmcfQHclTQi1Re3OEsgtVK7bhA9c\/f5hWGjt9JQR8FLTxxDGCWtALvE9V0rkqi2Q9PhZJeeWutsvfUhbZpW2249oYvSJjuZJRnHgOn196mkRTbb1NcKcYK0VYIi4K6+Wy3ZFVWRteObAeJ3wG6Em9DspRirydjuc0OaWuAIIwQeqrdRpR8UkrrbcZKOCU\/mQtJDcb53z4Y22CxdqqsuBMdktU0xOwll2aD9PmFibBervk3i5dlE7fsKfl4Hp9VRJx1djHUnCtlGLl109zZHdrFpejFFDMZnt9Zwi9Yud3k8goSyU+oK1tTU0AZTsrZC59S84J3OQPMnkPNS19tNtsmnKh1LTN7VwEYkf6ztyM79Ns8lN2On9GslHF1ELSdupGT9U2JKN1uSVKc6qhJ2SW3XLUjaTR9GyUVFwmmr5\/1GV3qk+HM+ZU+xjI2BkbQxrRgNaMALJFJyb1N9OlCn+KCIiUoEREAEREAEREAEREAFW7DDJW6guV1nY4AO7GHjH6R1HTkBy7z52REydkyc6eKUW9giIlKBRN5bfZJYmWmSCJhB7SSQDIPz+nRSyLqdmJOOJWvbsVb+a1zrDm5XyZ4POOLOPrj5LuotJWeicHdgZ3g5DpjxY8uXyU2iZzkyUeGpJ3td9c\/wCTFrWsaGsaGtHIAYAWSIkNBH3q1C8280hmMILw7iDc8umF3RsbFG2NvssAA8AskXbu1hVBKTluERFwYIiIAIiIAIiIAIiIAIiIA\/\/Z",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENIMIENTO PREVENTIVO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:41",
    "ubicacionGPS": "LatLng(lat: -29.9177522, lng: -71.2550887)",
    "horaLlegada": "12:30",
    "horaDespacho": "12:39",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


26/05/2026 12:41:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:91770000

[26/05/2026 12:41: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('91770000', 'KY2961', 1, 20988335, 628759, NOW(), 
				'12:39', '12:30', '12:41', 4, 'se realiza cambio de almohadilla de adf
01 rgom2576
se realiza cambio de rodillo de bandeja
01 rgom2356', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779813684.png', '', null, 'COMPLETADO','LatLng(lat: -29.9177522, lng: -71.2550887)' )
				
[26/05/2026 12:41:24] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200430

26/05/2026 12:41:24 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200430'                    
				WHERE idllamado = 12736			
				
26/05/2026 12: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 = 12736
                
TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


26/05/2026 12:41:24 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12736			
				
26/05/2026 12:41:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


26/05/2026 12:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12:41:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12736
                

26/05/2026 12:41:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12736
                

26/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

[26/05/2026 12:41: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;
                

26/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12736
                

26/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12736
                

26/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12736
                

[26/05/2026 12:41: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;
                

[26/05/2026 12:41: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;
                

26/05/2026 12: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 = 12736
                

26/05/2026 12: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 = 12736
                

26/05/2026 12: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 = 12736
                

26/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

[26/05/2026 12:41: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;
                

26/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12736
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12736
                

26/05/2026 12: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 = 12736
                

26/05/2026 12: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 = 12736
                

26/05/2026 12: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 = 12736
                

26/05/2026 12: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 = 12736
                

26/05/2026 12: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 = 12736
                

26/05/2026 12:49:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12743
            GROUP BY l.idllamado;
            

[26/05/2026 12:49: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;
                

26/05/2026 12:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:49:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:49:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:49:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:49:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:49:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:49:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:49:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:50:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:50:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:50:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:50:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:50:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:50:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12743
            GROUP BY l.idllamado;
            

[26/05/2026 12: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;
                

26/05/2026 12:50:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12743
            GROUP BY l.idllamado;
            

26/05/2026 12:50:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:50:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12: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 = 12743
                

26/05/2026 12:50:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12743
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12743
                

26/05/2026 12:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12743
            GROUP BY l.idllamado;
            

26/05/2026 12:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:50:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12743
            GROUP BY l.idllamado;
            

26/05/2026 12:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:50:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12743
            GROUP BY l.idllamado;
            

26/05/2026 12:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12743
            GROUP BY l.idllamado;
            

26/05/2026 12:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:50:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12743
            GROUP BY l.idllamado;
            

26/05/2026 12:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:51:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12:51:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:51:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:29 - logentry: =========================================
FECHA: 26/05/2026 12:51:29
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ltTJPC_HZo3W8qsMbyog6canbkTIlcB_OSYV9JwaUm8ZGlx_cJx
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76145047",
    "serieinterna": "TO3057",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se hace limpieza general\n•Se cambian gomas de ambas bandejas\n•Impresora va a quedar inoperativa por falta de revelador, pendiente cambio",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12693",
    "observacion": "•Error C3A1, revelador magenta bajo\n•Pendiente cambio de unidad de imagen y revelado magenta; el tambor está rayado, y la unidad de revelado está vacía\n\n•Fusor con avulsión en rodillo de calor, recomendado cambio de rodillo de calor\n•Rodillo de guía de fusor no tiene platína metálica, está desviado pero no hace efecto mayor\n\n•Necesita cambio de residual, cliente no tiene respuesto\n•Cliente dice que to escanea a correo, pendiente revisión de configuración SMTP\n•Necesita cambio de gomas de ADF\n\n•Se usa RKIT2122×2 para bandejas 1 y 2\n\n•No se puede tomar contador por el error",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADDAUcDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUHAgH\/xABJEAABAwMBBAUHBwkHBAMAAAABAAIDBAURBhIhMUETUWGRsRQiMnGBocEVIzNCctHhBxYkNFJissLSNUNTc6Li8FRjdPElgpL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAA0EQACAQIDBAcHBQEBAAAAAAAAAQIDERIhMQQTMkFRYXGBkbHBBRQiM6HR4SMkQlJigvD\/2gAMAwEAAhEDEQA\/APZkREAREQBERAEREAREQBERAEREAREQBERAEREAREQBEWOf6CT7J8EBK0er6uanppZaaEmorOgwzIw3Dc8zv84dyrl5pRAeQWcAec64O3Difo16WtasUtDh2OpOaeJ308giIsjuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCxz\/QSfZPgsixz\/QSfZPghD0POLT85LZI\/2a17t3Hiz7l6WvNdN4lvFrhHpNe9\/uz\/AClelLetqjz\/AGfnBvs8kERFgeiEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBEWCWspoJ4oJZ42SzHEbHOwXepCG0tTOiIhIREQBFGyaoqvznEcbwKDphAcjIJzvIOFZK0ouOpjSrRq3w8gsc\/0En2T4LIvwgEYIyCqmzPOdEtDtQxnBJbG856t2PivR1AaGhxfp95PRwuH+po+9X62rcR5\/s5Wo94REWJ6AREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAfEsrIYnyyODWMaXOceQHEqY0+2S+Xea\/T7bI4z0VOwnlzz6s9\/qWbWFVK+CntFKfn614aRv9HPX68ezK7lBRR26hhpIfQibs56zzPtOStF8Mb9Jyv8AVrW5R8+XgbCIizOoLUudX5DbKipHGOMkevl71tqe1tP0dhMDd76iVrA0bycHa+AVoq8kjKtPBTlLqJ+S3GDQ0VYRmR1UJySeW9o+B9qvaeUT00Uw4SMDh7RlcLUVMKbRUlO1mOhjiaBxxhzV07KQbHQYOf0aP+EK83ijfrOahDd1MH+V6m8tG5XihtLWGsm2Nv0QAST7At5SMdNHftYV5maHQUkRhGcnBI2fVx2yqxSepvWqSikoatnzo8MdfLtJGcs2vN3ci4lWChdBOMdzrICRviyfY7HxV0rVeIx2F3op9vmERFkdoREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBEXI1TX+QWGoe04fKOiZg43u\/DKlK7sUnNQi5Pkcyx9JetS1d5f9BT5hg593syT9pVS5mnqE0Fkp4XgiRzduTJz5zt66atN3eRns8HGnnq833hERUNwpjUo8pv8AZaQ+h0u24Hgd4+496p1MV3z\/AOUCgYDkQ05c7HI+d+CvT1uc205wUelrzOvfofKLDWxgZPQuI9YGfgsGlZjPpujc45LWlnc4ge4BbtyBNrqwBkmB\/wDCVzNGEfm3CAc4e\/8AiKfw7w8toXY\/NHdUxo3DpLpIQNp1TvIHHj+Kp1J6Pfs6fuFVnzzM8lx3cGA\/FTHhZFV\/rQ7\/ACOPpCdp1U4tGGytkx2Dj8F6IvLtLTdBqSjcTuc8s7wR8V6ir118Rz+zZXpPtCIiwPSC5WoL5HY6NkpYJZZHbLI9rGes+ofELqqCv+Ltd7lK5x6G2wbLRncX5x4k9wWlOKbzOXaqsqdP4dWWlvrG3Cghq2MLGyt2g08QtlczTgxp6hH\/AGgV+aiuDrbZZ543bMrhsRnqJ5+zefYq2+KyNFUtSU5dFydrbtUXbWNNR0c744YZNjLHEbWPTO7sBH\/tWyh9A0W1VVVY5v0bRGw4yMnecH2DvVwr1bJ4VyMNjxSg6kv5MIiLI7QiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIApbUwFff7TbCNppf0kjcZy3P3NcqlS9Nir\/KFUv3FtLBgHqOAP5itIatnLtOcVDpa+5UIiLM6giIgCmKH9K19XTfVp4QxvLf5o\/qVOpjSn6RdLzWu4vn2W54gZcceHcrx0bOatnOEeu\/gijqAHU0rTvBYQe5cDQxJ0+QeUzgO4Lvz\/QSfZPgp\/Qv9gO\/z3eAUrgYn8+HY\/QoZZBFE+Q8GNLj7FH2EmDQdxkJxtdLjlxaB4qsrf1Go\/wAp3go6jf0f5OKp3W8jvcB8VMNO9Ge0O00+iMvQmre4wVcFWP7meM469+fgvXV5LFF\/8TVkn0ZIXbu0O+9erQyCaCOUEEPaHAjtCvX5HN7NyUl2epkREXOesF5vLUZtd3cMukrq5rAAM5wS77u9eiTSdFBJJjOw0u7gvN7HH5XV2yhGHN8odPIB1DG4+xh7+1b0tGzzdud5Riud\/rZep6LRQeS0NPT\/AOFE1ncMKY\/KBKW0dHHxa6UuI68D8Sq5SH5QW5paJ+Rue4Y9YH3KlPjRttits8kjf0XSeTWBkhaA6oeXk88cB4e9UCwUUDaWhgp2EFsUbWAjngLOqyd22dFGGCmo9AREVTQIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKY0zie\/3yp\/7wY09mXfcFTqY0R51NXyHi6pOe78VePCzmq51aa7fIp0RFQ6Qiwy1lLCcS1MMZ\/feAtSTUFniztXKnOP2Xh3gpSbKOcI6s6DnBrS47gBkqa0G0\/I08jvSfUuOevzW\/is9VrCytjextS6QlpxsRu+IXB03qNlrthpBRVFRKZC4dGNxyBu9y1jCWF5HHU2ilvovFon6FvVuLKOZw4iNx9y4eh27On859KZx8B8Fp1uo7tU0FQGWGaKJ0Tg6SQnDRg5PAclqWA6l+SImW6GmZTOLtmV5GeJyePXu4ckUGou5WW0RlWi4puyfJ9Razs6SCRmM7TSMde5QUMwP5PKhucYqg3Az1tOF2fk\/WEpy+600Y6mt\/wBqknUtRFaKrNW8RQVIjdAM4c4\/WO\/93qV6cV09BjtVWTzwtZNZm5a4Om0xe5AMDMTgOrDifAqytF1ohY6N09bTxuELWu25A3BAA5qS0\/pyC7Wiqq5JZA+NzmsY0gAuDQQTu7V0NL6ftNztDKmpgdJKHua7z3AdnA9RCmphd7ldl3sXHClmub6\/yUbtQWdmc3Kn3dUgPgteTVtji41wceprHH4L6bpayMxi3s3dbnHxK2I7Jaot7LdTA9ZiBPvWPwdZ6H7h\/wBfqcS5aztc1DU08Bmc+WJzGu6PABIIBOVOaYuUFoq5aqammmcWbDOjaDjfv4+oKp1dU01sshghijZJUnYaGtAw36x3dmB7Vt6TY1mmqTZaBtBxPadorRNKGmpxyhUqbSk5K8VfT8mj+erH\/Q2msk5Ddz6t2VwLzX1epLhG2K21GKdhDoW5Lmk8zu3cuXJX1fWx26hmq5vQibtY6zyHtOAuJo6ieyimuU4+frnl5PHzc+vmSVEZRSxJF6tOpUkqUp3TzeX\/ALmcij1DfLVTwUE9sfI8HYjMgcHO6h2\/gun8raqO8WSIA8Mu\/wByp0VHNPkbx2eaVt47dxMeXazO75Ko2557Q3f606XWbt3k9GzP1sjd71Toox9SLe7v+8vH8Ex0es3\/AN9Rx47Bv9xToNZ\/9XR9w\/pVOinH1Ie7\/wCpeJMdBrP\/AKuj7h\/Snk+szu8to2554G7\/AEqnRRj6kPd1\/aXicO10eooq5styuME0ABDo2N47t31RzRdxFVu5tCCgrJt9uYREUFwiLTqbvbqTPT10DCPql4z3cVKTZDko5tm4i4E+tbLDnYllmx\/hxn44WsNYz1H6jZKqcHcHbwM+wFW3cugwe1UVli8M\/IqEUx8p6sqd8Foghaecrt473DwTyLV9TukuNNTt\/cAz\/D8VODpaI94vwxb7vuU6wzVlLTjM1TDEP33geKnfzQqanBr75VT\/ALoyAO8lZ4dEWaM5eyaXsfJjwwlodI3ld6Qt2v7G5NqaywHz7hEfsZf\/AAgrRl1xamHZhZUTu5bEePErfh03ZoPQt0J4emC\/xyuhFTwQDEMMcY6mNA8EvBC20PVpd1ybGq7jUj9CsFQ\/PBzicdnL4rkacfqA01RHa44GsdMekkkx5rsDt+Cv1MaG\/Ua3\/wAk+AVlJYXZHPOlN1YKU3z6j8Fp1VVfrN6jhB5RN3juA8UGjpZhmtvVXOfWdx9pKqEVd5LkdHutN8V32tk9FoizR+k2eXd9eT7sLbj0tZIiNm3xnH7TnO8Susiq5yfMutnorSK8DQNqt1PC8w0FOwhp3tibnvXK0L\/YDv8APd4BUE\/0En2T4Kf0L\/YDv893gFZO8GZyilXhZcn6HS1C8s0\/XEc4XDv3LHpZmxpuiG70Cd3a4lY9XS9Fpqq34L9lo7cuGfdlblkh6CyUUeCCIGEg8iRk+9P4d5Ou0\/8APqby8yuZdHHeYxub8pN3dnzv3BemrzHVMLqS\/VkQGGTPEw7cg\/ElXo62Ob2jlBS7fqiv0VEY9ORuI+kke4d+PgtbRQ6BlyoecFSc+H8q7Nig8msdFERgiFpI6iRk+8rj2QCn1jeKcY88CTfuO8g\/zKG74i6jg3Ph4op1+OcGtLnEAAZJPJfqnNTXWV0jLHbwXVlUAC5px0bf\/QPs3rOMcTsddWoqccTORVxSalnuNzw401FE6OnYBnbdg9Xrz3Kh0s9g0xSOLhhrXbRzw84rct1rgt9qZQNAewNIfn65PHK450VSF2x5ZUimDtoQB3m\/87Vo5RkrHHCjUpyVRK7azz5mtWPl1bdI6WmMgtdO7M0mMNkI6uvqHeqxjGxxtYwYa0AAdQWKko6ehgEFNEI2A5wOZ6z1lZ1nKV8lodVKm43lLNvUIiKpsEREAREQBERAEREBxrzcLxTVMcFstoqQ9uTI4nAOSMHh2c1zOj1nXv8AOfDQsPUW\/DaKrEV1Oy0OedBzd3J9iyIqo0jfqvdUXdso6nyPI7sLXGgbgDnyum3fa+5XqK2+kZPYaLd3fxI+DTN+pTmnr6KI9bIQD\/Ctg2\/WEXoXamkHHDmjJ\/0KoRRvG9S62WC0bXeyX8t1hTH5y301SwcSwjP8XwT876mlOLlZamDHFzN4PbvA8VUImJPVE7ma4ZvvszhQaysszg01D4if8SMgd4XTprnQVmPJ6yCUnk2QE93Ffk9qt1Tnp6GneTzMYz3rmVOjLNUElsMkBPOJ\/wADkJ8DH7iPQ\/Ffc7yKXGnLzRZ+Tr4\/HENnyQD7x7kNdq2g3z0ENbGOJi9L3HPuTBfRj3hx44NfXyKhTGhv1Gt\/8k+AX7FrakZJ0VfR1NHJzDm5A8D7li0TVRu8vhEodmfaYSd7wQeR38ApwtRdzJ1qdStDC+kq0RFkdwREQGOf6CT7J8FP6EINgdg8J3Z7gqRS+jnNpai52s+aYJ9pozxHo59w71pHhZzVMq0H2o+tayOlpqK3MOH1dQBwzuG7xcFSRsbFG2NvosAaPUFNV36Vr6hh+rTwl7uW\/wA4\/wBKp0llFIUfiqTl128AojXtPE2uoZy4AyNLHjGdwI3+8q3XnupqmO56ripdraiieyA7PWT53jj2KaPFcy29rc26Wi\/hMZhYYiDGWjYxwxyU3F+j\/lEmzu8ppt3bgD+la9NU3XSxfSVFJLXUIPzMsY3tHVzx6lz7hfJa7UdFV26lkZO1nRsbO0DaJz28POVowd30GdXaIuMb5NNZFVfb3FZ6X9uplGIYhvJPX6lraasr6ON1fXgvuFQS5znnJYDy9fX3L5s9gmbVm6XiQT1zvRbuLY+rHb6uCoFRtJYUdEISqS3k1a2i9X1hERZnUEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAY5YYqiMxzRMlYeLXtBHcVEU1gpK7U9zo3l8HRHpITBhoZvHLHaO5Xal5c0X5QonfVrafB9g\/wBgWtNtXsce1QjJwclz8z8bbdUWpo8ir46+Nu4Rzbjj2\/1L7j1e+kc2K822ekeR6bRlp7\/xVMviWKOaN0csbZGOGHNcMg+xRjT4kW3Eo\/Lk11PNGCiudDcW7VHVRzYGSGnzgO0cQtpT9Zo22zkyUhkopsea+JxwPZ92FqmfU1hZ89GLpTNHpNPnj18+vfvTCnwsb6pD5ke9Z\/kqlKXYuseq6e6A7NNWYinPIHhk+zB9hXUtWprbdtlkcvRTn+6l3Ens5H2L51a2ndpypNRjcAWde3ndj\/nDKRTjKzIrSjUpY4PTNdxoaeJr9S3W55JYMQxuPAjPL\/8AI71UKFsF0qNO0IZV2yV1PUfPNmj3kgtHwxzC6f56x1Hm2+2VdRIeRaB4Z7FacJN5aGWz7RThTtJ5vN951b7do7PbXzu3yO82JoO8u\/Dio+W1vt8VnmnGKqqq+kl6xvbgfH2ld222Ksrq4XS\/kPlbjoacHLWescPZ3r51h5tTaJDwbU7+8fcpg0nhRSupVIOpJWStZd6zKdS+scwVVprRu6GowT7QfgVUKY155tmp3j0m1LcH\/wCrvuVKfEjq2v5MmU6IizOkIiIAiIgCIiA1LfROoYXxvqpqkvkL9qV2SM8h2fettERu5CSirIIiISEREAREQBERAEREAREQBERAEREAREQBTGsQaWW2XRoz5NPhw6wcH+U96p1zb\/bvlSzT0zW5kxtR\/aG8d\/D2q8HaSMNog50mlqdEEEZByCv1cfS1eK+wwOLgZIR0TwOWOHuwuwqtWdjSnNTipLmERFBc5Vz03bboHOkgEczt\/SxjDs7956+KkL3Dc6SZtmdVyXCBo6fowCXNaM7iePD2cFeV9bFbqKWqmcAyNud54nkPauFpWjkqXTX2syZ6tx6PaA81g3dXZj1ALaEmldnn7RRhOahHJvXs6zetWo7bcdmCN\/k8483oJRskHqHI+zuXXXJu2m7ddxtSxmKbG6WPcfaOBXHzqHTRBkd8pW9p3ni9g8R7wq4Yy4TXe1KXzFddK9UVymNbYZT0EzvRZUjPdn4LsWu80N3i26SXLgMujduc31hZq630tygEFXF0sYcHbO0RvHqUReGWZpVSrUmoPU2VO64j29PF3+HM13iPiqFrQ1oaNwAwFydVRdNpusbje1od3EH4JB2khtCvRkupnRpZOmo4Zf242u7wsy51gl6ewUL85+Za0n1DHwXRVWrM0g8UUwiIoLhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERASVU2XSt9fXMY91srD86G79hx7PXw9ZCpaOvpLhF0tJUMmaOJaeHrHJZnsZIwse0OaeIcMgqfqdG0TpDNb6iagmznMbiQPZnPHtWl1LXU5cFSk3u1ddH2KJa9bXU1vp3T1UzY2DmeJ7AOa4AsOovROoHbPDOycr7pdGUomFRcaqaumyCS87j6+JPemGK1YdWtLKMLdrRqhtTrGrBljfT2mF+0zO4yn\/AJ3Z5qsa1rGBjGhrWjAAGAAjGMjYGRtDGtGA1owAvpVlK5pSpYLtu7erCIiqbHBuelaeqqBWUMhoathy10bRsk9ZHX2+K1KbUdfaZG0uoaVzAThtUxuWntOOPLh3KpWOenhqYnRTxtkY4YLXDKup8pZnNKhZ4qbs\/o+1CGaKojEkMjZGHg5pyFhuUPlFrqocZMkL2j1kFT8liudjmkqbBMHwu3vpZd+cZ\/DtWWDWFLIx9PcYZKGpxgte0kZPvHtCnBzjmV36thqrC\/p4mxo2XpNNwNJyY3Obxzzz8V3VOaGa5tgO00jamcRkcRgKjUVOJmmzO9GPYERFQ3CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCw1FHS1bS2pp4pgeT2A+PrREIaTyZka1rGhrGhrRwAGAF9IiEhERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "SCHWAGER SERVICE S.A.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "MAURICIO TORO CISTERNAS",
    "correoContacto": "mtoro@schwager.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN CORRECTIVA, MENSAJE DE ERROR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56950961726",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:51",
    "ubicacionGPS": "LatLng(lat: -22.2098584, lng: -68.8770536)",
    "horaLlegada": "11:19",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 26/05/2026 12:51:29
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ltTJPC_HZo3W8qsMbyog6canbkTIlcB_OSYV9JwaUm8ZGlx_cJx
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76145047",
    "serieinterna": "TO3057",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se hace limpieza general\n•Se cambian gomas de ambas bandejas\n•Impresora va a quedar inoperativa por falta de revelador, pendiente cambio",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12693",
    "observacion": "•Error C3A1, revelador magenta bajo\n•Pendiente cambio de unidad de imagen y revelado magenta; el tambor está rayado, y la unidad de revelado está vacía\n\n•Fusor con avulsión en rodillo de calor, recomendado cambio de rodillo de calor\n•Rodillo de guía de fusor no tiene platína metálica, está desviado pero no hace efecto mayor\n\n•Necesita cambio de residual, cliente no tiene respuesto\n•Cliente dice que to escanea a correo, pendiente revisión de configuración SMTP\n•Necesita cambio de gomas de ADF\n\n•Se usa RKIT2122×2 para bandejas 1 y 2\n\n•No se puede tomar contador por el error",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADDAUcDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUHAgH\/xABJEAABAwMBBAUHBwkHBAMAAAABAAIDBAURBhIhMUETUWGRsRQiMnGBocEVIzNCctHhBxYkNFJissLSNUNTc6Li8FRjdPElgpL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAA0EQACAQIDBAcHBQEBAAAAAAAAAQIDERIhMQQTMkFRYXGBkbHBBRQiM6HR4SMkQlJigvD\/2gAMAwEAAhEDEQA\/APZkREAREQBERAEREAREQBERAEREAREQBERAEREAREQBEWOf6CT7J8EBK0er6uanppZaaEmorOgwzIw3Dc8zv84dyrl5pRAeQWcAec64O3Difo16WtasUtDh2OpOaeJ308giIsjuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCxz\/QSfZPgsixz\/QSfZPghD0POLT85LZI\/2a17t3Hiz7l6WvNdN4lvFrhHpNe9\/uz\/AClelLetqjz\/AGfnBvs8kERFgeiEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBEWCWspoJ4oJZ42SzHEbHOwXepCG0tTOiIhIREQBFGyaoqvznEcbwKDphAcjIJzvIOFZK0ouOpjSrRq3w8gsc\/0En2T4LIvwgEYIyCqmzPOdEtDtQxnBJbG856t2PivR1AaGhxfp95PRwuH+po+9X62rcR5\/s5Wo94REWJ6AREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAfEsrIYnyyODWMaXOceQHEqY0+2S+Xea\/T7bI4z0VOwnlzz6s9\/qWbWFVK+CntFKfn614aRv9HPX68ezK7lBRR26hhpIfQibs56zzPtOStF8Mb9Jyv8AVrW5R8+XgbCIizOoLUudX5DbKipHGOMkevl71tqe1tP0dhMDd76iVrA0bycHa+AVoq8kjKtPBTlLqJ+S3GDQ0VYRmR1UJySeW9o+B9qvaeUT00Uw4SMDh7RlcLUVMKbRUlO1mOhjiaBxxhzV07KQbHQYOf0aP+EK83ijfrOahDd1MH+V6m8tG5XihtLWGsm2Nv0QAST7At5SMdNHftYV5maHQUkRhGcnBI2fVx2yqxSepvWqSikoatnzo8MdfLtJGcs2vN3ci4lWChdBOMdzrICRviyfY7HxV0rVeIx2F3op9vmERFkdoREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBEXI1TX+QWGoe04fKOiZg43u\/DKlK7sUnNQi5Pkcyx9JetS1d5f9BT5hg593syT9pVS5mnqE0Fkp4XgiRzduTJz5zt66atN3eRns8HGnnq833hERUNwpjUo8pv8AZaQ+h0u24Hgd4+496p1MV3z\/AOUCgYDkQ05c7HI+d+CvT1uc205wUelrzOvfofKLDWxgZPQuI9YGfgsGlZjPpujc45LWlnc4ge4BbtyBNrqwBkmB\/wDCVzNGEfm3CAc4e\/8AiKfw7w8toXY\/NHdUxo3DpLpIQNp1TvIHHj+Kp1J6Pfs6fuFVnzzM8lx3cGA\/FTHhZFV\/rQ7\/ACOPpCdp1U4tGGytkx2Dj8F6IvLtLTdBqSjcTuc8s7wR8V6ir118Rz+zZXpPtCIiwPSC5WoL5HY6NkpYJZZHbLI9rGes+ofELqqCv+Ltd7lK5x6G2wbLRncX5x4k9wWlOKbzOXaqsqdP4dWWlvrG3Cghq2MLGyt2g08QtlczTgxp6hH\/AGgV+aiuDrbZZ543bMrhsRnqJ5+zefYq2+KyNFUtSU5dFydrbtUXbWNNR0c744YZNjLHEbWPTO7sBH\/tWyh9A0W1VVVY5v0bRGw4yMnecH2DvVwr1bJ4VyMNjxSg6kv5MIiLI7QiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIApbUwFff7TbCNppf0kjcZy3P3NcqlS9Nir\/KFUv3FtLBgHqOAP5itIatnLtOcVDpa+5UIiLM6giIgCmKH9K19XTfVp4QxvLf5o\/qVOpjSn6RdLzWu4vn2W54gZcceHcrx0bOatnOEeu\/gijqAHU0rTvBYQe5cDQxJ0+QeUzgO4Lvz\/QSfZPgp\/Qv9gO\/z3eAUrgYn8+HY\/QoZZBFE+Q8GNLj7FH2EmDQdxkJxtdLjlxaB4qsrf1Go\/wAp3go6jf0f5OKp3W8jvcB8VMNO9Ge0O00+iMvQmre4wVcFWP7meM469+fgvXV5LFF\/8TVkn0ZIXbu0O+9erQyCaCOUEEPaHAjtCvX5HN7NyUl2epkREXOesF5vLUZtd3cMukrq5rAAM5wS77u9eiTSdFBJJjOw0u7gvN7HH5XV2yhGHN8odPIB1DG4+xh7+1b0tGzzdud5Riud\/rZep6LRQeS0NPT\/AOFE1ncMKY\/KBKW0dHHxa6UuI68D8Sq5SH5QW5paJ+Rue4Y9YH3KlPjRttits8kjf0XSeTWBkhaA6oeXk88cB4e9UCwUUDaWhgp2EFsUbWAjngLOqyd22dFGGCmo9AREVTQIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKY0zie\/3yp\/7wY09mXfcFTqY0R51NXyHi6pOe78VePCzmq51aa7fIp0RFQ6Qiwy1lLCcS1MMZ\/feAtSTUFniztXKnOP2Xh3gpSbKOcI6s6DnBrS47gBkqa0G0\/I08jvSfUuOevzW\/is9VrCytjextS6QlpxsRu+IXB03qNlrthpBRVFRKZC4dGNxyBu9y1jCWF5HHU2ilvovFon6FvVuLKOZw4iNx9y4eh27On859KZx8B8Fp1uo7tU0FQGWGaKJ0Tg6SQnDRg5PAclqWA6l+SImW6GmZTOLtmV5GeJyePXu4ckUGou5WW0RlWi4puyfJ9Razs6SCRmM7TSMde5QUMwP5PKhucYqg3Az1tOF2fk\/WEpy+600Y6mt\/wBqknUtRFaKrNW8RQVIjdAM4c4\/WO\/93qV6cV09BjtVWTzwtZNZm5a4Om0xe5AMDMTgOrDifAqytF1ohY6N09bTxuELWu25A3BAA5qS0\/pyC7Wiqq5JZA+NzmsY0gAuDQQTu7V0NL6ftNztDKmpgdJKHua7z3AdnA9RCmphd7ldl3sXHClmub6\/yUbtQWdmc3Kn3dUgPgteTVtji41wceprHH4L6bpayMxi3s3dbnHxK2I7Jaot7LdTA9ZiBPvWPwdZ6H7h\/wBfqcS5aztc1DU08Bmc+WJzGu6PABIIBOVOaYuUFoq5aqammmcWbDOjaDjfv4+oKp1dU01sshghijZJUnYaGtAw36x3dmB7Vt6TY1mmqTZaBtBxPadorRNKGmpxyhUqbSk5K8VfT8mj+erH\/Q2msk5Ddz6t2VwLzX1epLhG2K21GKdhDoW5Lmk8zu3cuXJX1fWx26hmq5vQibtY6zyHtOAuJo6ieyimuU4+frnl5PHzc+vmSVEZRSxJF6tOpUkqUp3TzeX\/ALmcij1DfLVTwUE9sfI8HYjMgcHO6h2\/gun8raqO8WSIA8Mu\/wByp0VHNPkbx2eaVt47dxMeXazO75Ko2557Q3f606XWbt3k9GzP1sjd71Toox9SLe7v+8vH8Ex0es3\/AN9Rx47Bv9xToNZ\/9XR9w\/pVOinH1Ie7\/wCpeJMdBrP\/AKuj7h\/Snk+szu8to2554G7\/AEqnRRj6kPd1\/aXicO10eooq5styuME0ABDo2N47t31RzRdxFVu5tCCgrJt9uYREUFwiLTqbvbqTPT10DCPql4z3cVKTZDko5tm4i4E+tbLDnYllmx\/hxn44WsNYz1H6jZKqcHcHbwM+wFW3cugwe1UVli8M\/IqEUx8p6sqd8Foghaecrt473DwTyLV9TukuNNTt\/cAz\/D8VODpaI94vwxb7vuU6wzVlLTjM1TDEP33geKnfzQqanBr75VT\/ALoyAO8lZ4dEWaM5eyaXsfJjwwlodI3ld6Qt2v7G5NqaywHz7hEfsZf\/AAgrRl1xamHZhZUTu5bEePErfh03ZoPQt0J4emC\/xyuhFTwQDEMMcY6mNA8EvBC20PVpd1ybGq7jUj9CsFQ\/PBzicdnL4rkacfqA01RHa44GsdMekkkx5rsDt+Cv1MaG\/Ua3\/wAk+AVlJYXZHPOlN1YKU3z6j8Fp1VVfrN6jhB5RN3juA8UGjpZhmtvVXOfWdx9pKqEVd5LkdHutN8V32tk9FoizR+k2eXd9eT7sLbj0tZIiNm3xnH7TnO8Susiq5yfMutnorSK8DQNqt1PC8w0FOwhp3tibnvXK0L\/YDv8APd4BUE\/0En2T4Kf0L\/YDv893gFZO8GZyilXhZcn6HS1C8s0\/XEc4XDv3LHpZmxpuiG70Cd3a4lY9XS9Fpqq34L9lo7cuGfdlblkh6CyUUeCCIGEg8iRk+9P4d5Ou0\/8APqby8yuZdHHeYxub8pN3dnzv3BemrzHVMLqS\/VkQGGTPEw7cg\/ElXo62Ob2jlBS7fqiv0VEY9ORuI+kke4d+PgtbRQ6BlyoecFSc+H8q7Nig8msdFERgiFpI6iRk+8rj2QCn1jeKcY88CTfuO8g\/zKG74i6jg3Ph4op1+OcGtLnEAAZJPJfqnNTXWV0jLHbwXVlUAC5px0bf\/QPs3rOMcTsddWoqccTORVxSalnuNzw401FE6OnYBnbdg9Xrz3Kh0s9g0xSOLhhrXbRzw84rct1rgt9qZQNAewNIfn65PHK450VSF2x5ZUimDtoQB3m\/87Vo5RkrHHCjUpyVRK7azz5mtWPl1bdI6WmMgtdO7M0mMNkI6uvqHeqxjGxxtYwYa0AAdQWKko6ehgEFNEI2A5wOZ6z1lZ1nKV8lodVKm43lLNvUIiKpsEREAREQBERAEREBxrzcLxTVMcFstoqQ9uTI4nAOSMHh2c1zOj1nXv8AOfDQsPUW\/DaKrEV1Oy0OedBzd3J9iyIqo0jfqvdUXdso6nyPI7sLXGgbgDnyum3fa+5XqK2+kZPYaLd3fxI+DTN+pTmnr6KI9bIQD\/Ctg2\/WEXoXamkHHDmjJ\/0KoRRvG9S62WC0bXeyX8t1hTH5y301SwcSwjP8XwT876mlOLlZamDHFzN4PbvA8VUImJPVE7ma4ZvvszhQaysszg01D4if8SMgd4XTprnQVmPJ6yCUnk2QE93Ffk9qt1Tnp6GneTzMYz3rmVOjLNUElsMkBPOJ\/wADkJ8DH7iPQ\/Ffc7yKXGnLzRZ+Tr4\/HENnyQD7x7kNdq2g3z0ENbGOJi9L3HPuTBfRj3hx44NfXyKhTGhv1Gt\/8k+AX7FrakZJ0VfR1NHJzDm5A8D7li0TVRu8vhEodmfaYSd7wQeR38ApwtRdzJ1qdStDC+kq0RFkdwREQGOf6CT7J8FP6EINgdg8J3Z7gqRS+jnNpai52s+aYJ9pozxHo59w71pHhZzVMq0H2o+tayOlpqK3MOH1dQBwzuG7xcFSRsbFG2NvosAaPUFNV36Vr6hh+rTwl7uW\/wA4\/wBKp0llFIUfiqTl128AojXtPE2uoZy4AyNLHjGdwI3+8q3XnupqmO56ripdraiieyA7PWT53jj2KaPFcy29rc26Wi\/hMZhYYiDGWjYxwxyU3F+j\/lEmzu8ppt3bgD+la9NU3XSxfSVFJLXUIPzMsY3tHVzx6lz7hfJa7UdFV26lkZO1nRsbO0DaJz28POVowd30GdXaIuMb5NNZFVfb3FZ6X9uplGIYhvJPX6lraasr6ON1fXgvuFQS5znnJYDy9fX3L5s9gmbVm6XiQT1zvRbuLY+rHb6uCoFRtJYUdEISqS3k1a2i9X1hERZnUEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAY5YYqiMxzRMlYeLXtBHcVEU1gpK7U9zo3l8HRHpITBhoZvHLHaO5Xal5c0X5QonfVrafB9g\/wBgWtNtXsce1QjJwclz8z8bbdUWpo8ir46+Nu4Rzbjj2\/1L7j1e+kc2K822ekeR6bRlp7\/xVMviWKOaN0csbZGOGHNcMg+xRjT4kW3Eo\/Lk11PNGCiudDcW7VHVRzYGSGnzgO0cQtpT9Zo22zkyUhkopsea+JxwPZ92FqmfU1hZ89GLpTNHpNPnj18+vfvTCnwsb6pD5ke9Z\/kqlKXYuseq6e6A7NNWYinPIHhk+zB9hXUtWprbdtlkcvRTn+6l3Ens5H2L51a2ndpypNRjcAWde3ndj\/nDKRTjKzIrSjUpY4PTNdxoaeJr9S3W55JYMQxuPAjPL\/8AI71UKFsF0qNO0IZV2yV1PUfPNmj3kgtHwxzC6f56x1Hm2+2VdRIeRaB4Z7FacJN5aGWz7RThTtJ5vN951b7do7PbXzu3yO82JoO8u\/Dio+W1vt8VnmnGKqqq+kl6xvbgfH2ld222Ksrq4XS\/kPlbjoacHLWescPZ3r51h5tTaJDwbU7+8fcpg0nhRSupVIOpJWStZd6zKdS+scwVVprRu6GowT7QfgVUKY155tmp3j0m1LcH\/wCrvuVKfEjq2v5MmU6IizOkIiIAiIgCIiA1LfROoYXxvqpqkvkL9qV2SM8h2fettERu5CSirIIiISEREAREQBERAEREAREQBERAEREAREQBTGsQaWW2XRoz5NPhw6wcH+U96p1zb\/bvlSzT0zW5kxtR\/aG8d\/D2q8HaSMNog50mlqdEEEZByCv1cfS1eK+wwOLgZIR0TwOWOHuwuwqtWdjSnNTipLmERFBc5Vz03bboHOkgEczt\/SxjDs7956+KkL3Dc6SZtmdVyXCBo6fowCXNaM7iePD2cFeV9bFbqKWqmcAyNud54nkPauFpWjkqXTX2syZ6tx6PaA81g3dXZj1ALaEmldnn7RRhOahHJvXs6zetWo7bcdmCN\/k8483oJRskHqHI+zuXXXJu2m7ddxtSxmKbG6WPcfaOBXHzqHTRBkd8pW9p3ni9g8R7wq4Yy4TXe1KXzFddK9UVymNbYZT0EzvRZUjPdn4LsWu80N3i26SXLgMujduc31hZq630tygEFXF0sYcHbO0RvHqUReGWZpVSrUmoPU2VO64j29PF3+HM13iPiqFrQ1oaNwAwFydVRdNpusbje1od3EH4JB2khtCvRkupnRpZOmo4Zf242u7wsy51gl6ewUL85+Za0n1DHwXRVWrM0g8UUwiIoLhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERASVU2XSt9fXMY91srD86G79hx7PXw9ZCpaOvpLhF0tJUMmaOJaeHrHJZnsZIwse0OaeIcMgqfqdG0TpDNb6iagmznMbiQPZnPHtWl1LXU5cFSk3u1ddH2KJa9bXU1vp3T1UzY2DmeJ7AOa4AsOovROoHbPDOycr7pdGUomFRcaqaumyCS87j6+JPemGK1YdWtLKMLdrRqhtTrGrBljfT2mF+0zO4yn\/AJ3Z5qsa1rGBjGhrWjAAGAAjGMjYGRtDGtGA1owAvpVlK5pSpYLtu7erCIiqbHBuelaeqqBWUMhoathy10bRsk9ZHX2+K1KbUdfaZG0uoaVzAThtUxuWntOOPLh3KpWOenhqYnRTxtkY4YLXDKup8pZnNKhZ4qbs\/o+1CGaKojEkMjZGHg5pyFhuUPlFrqocZMkL2j1kFT8liudjmkqbBMHwu3vpZd+cZ\/DtWWDWFLIx9PcYZKGpxgte0kZPvHtCnBzjmV36thqrC\/p4mxo2XpNNwNJyY3Obxzzz8V3VOaGa5tgO00jamcRkcRgKjUVOJmmzO9GPYERFQ3CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCw1FHS1bS2pp4pgeT2A+PrREIaTyZka1rGhrGhrRwAGAF9IiEhERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "SCHWAGER SERVICE S.A.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "MAURICIO TORO CISTERNAS",
    "correoContacto": "mtoro@schwager.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN CORRECTIVA, MENSAJE DE ERROR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56950961726",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:51",
    "ubicacionGPS": "LatLng(lat: -22.2098584, lng: -68.8770536)",
    "horaLlegada": "11:19",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


26/05/2026 12:51:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76145047

[26/05/2026 12:51: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('76145047', 'TO3057', 1, 24456550, 0, NOW(), 
				'08:00', '11:19', '12:51', 3, '•Se hace limpieza general
•Se cambian gomas de ambas bandejas
•Impresora va a quedar inoperativa por falta de revelador, pendiente cambio', -1, 
				'', '','1','0',
				'0',2,'../csj.digital-service.cl/uploads/firmas/firma_0_1779814289.png', '•Error C3A1, revelador magenta bajo
•Pendiente cambio de unidad de imagen y revelado magenta; el tambor está rayado, y la unidad de revelado está vacía

•Fusor con avulsión en rodillo de calor, recomendado cambio de rodillo de calor
•Rodillo de guía de fusor no tiene platína metálica, está desviado pero no hace efecto mayor

•Necesita cambio de residual, cliente no tiene respuesto
•Cliente dice que to escanea a correo, pendiente revisión de configuración SMTP
•Necesita cambio de gomas de ADF

•Se usa RKIT2122×2 para bandejas 1 y 2

•No se puede tomar contador por el error', null, 'REPROGRAMADO','LatLng(lat: -22.2098584, lng: -68.8770536)' )
				
[26/05/2026 12:51:29] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 0
TO ENVIO: micorreo@miempresa.cl, mtoro@schwager.cl


26/05/2026 12:51:29 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 12693			
				
26/05/2026 12:51:29 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('76145047', 'TO3057', 1, 'APP', 'sin otroTipo definido', -2, 'MANTENCIÓN CORRECTIVA, MENSAJE DE ERROR', 'Sin coderror', '1', 'SI', now(), 'MAURICIO TORO CISTERNAS', '+56950961726', 'mtoro@schwager.cl', 12693)
				
26/05/2026 12:51:29 Insertado nuevo llamado creado idllamado: 12748APP
26/05/2026 12:51:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


26/05/2026 12:51:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:51:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

[26/05/2026 12:51: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;
                

26/05/2026 12:51:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:51: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;
                

26/05/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

[26/05/2026 12:51: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;
                

26/05/2026 12:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:51: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;
                

26/05/2026 12:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

[26/05/2026 12:51: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;
                

26/05/2026 12:51:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:51: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;
                

26/05/2026 12:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                
[26/05/2026 12:51:50] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[26/05/2026 12:51:50] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

26/05/2026 12:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

[26/05/2026 12:51: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;
                
[26/05/2026 12:51:52] 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;
                
[26/05/2026 12:51: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[26/05/2026 12:52: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;
                
[26/05/2026 12:52: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;
				

[26/05/2026 12:52: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;
                

26/05/2026 12:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:52:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12743
            GROUP BY l.idllamado;
            

26/05/2026 12:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:52:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:52:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12743
            GROUP BY l.idllamado;
            

26/05/2026 12:52:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:52:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:52:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                
[26/05/2026 12:52:17] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[26/05/2026 12:52:17] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

[26/05/2026 12:52: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;
                
[26/05/2026 12:52:19] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[26/05/2026 12:52:19] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[26/05/2026 12:52: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;
                

26/05/2026 12:52:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

26/05/2026 12:52:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

26/05/2026 12:52:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

26/05/2026 12:52:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

[26/05/2026 12:52: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;
                

[26/05/2026 12:52: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;
                

26/05/2026 12:52:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

26/05/2026 12:52:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

26/05/2026 12:52:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

26/05/2026 12:52:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

[26/05/2026 12:52:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:52:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

[26/05/2026 12:52:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:52:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

26/05/2026 12:52:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

26/05/2026 12:52:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

26/05/2026 12:52:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

[26/05/2026 12:52: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;
                

26/05/2026 12:52:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:52: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;
                

26/05/2026 12:52:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:52: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;
                

26/05/2026 12:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

[26/05/2026 12:52: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;
                

26/05/2026 12:52:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/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 = 12693
                

26/05/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 = 12693
                

26/05/2026 12: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 = 12693
                

[26/05/2026 12:52:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 12:52:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:52:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:52:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:52:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12693
                

26/05/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 = 12693
                

26/05/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 = 12693
                

26/05/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 = 12693
                

26/05/2026 12:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:52:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 12:52:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 12:52:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/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 = 12693
                

26/05/2026 12:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:52:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:52:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:52: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;
                

[26/05/2026 12:52: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;
                

26/05/2026 12:52:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

[26/05/2026 12:52: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;
                

26/05/2026 12:52:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:52:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:52:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                
[26/05/2026 12:52:54] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[26/05/2026 12:52:54] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

[26/05/2026 12:52: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;
                
[26/05/2026 12:53:02] 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;
                
[26/05/2026 12:53:02] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

[26/05/2026 12:53:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 12:53:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:53:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:53:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:53:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:53:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12743
            GROUP BY l.idllamado;
            

26/05/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:53:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:53:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:53:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:53:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:53:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:53:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

[26/05/2026 12:53: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;
                

26/05/2026 12:53:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:53:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:53:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:53:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:53: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;
                

26/05/2026 12:53:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

[26/05/2026 12:53: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;
                

26/05/2026 12:53:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:53:44] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:53:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:53:44] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12:53:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:53:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                
[26/05/2026 12:53:47] 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;
                
[26/05/2026 12:53:47] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

[26/05/2026 12:53:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:53:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12743
            GROUP BY l.idllamado;
            

26/05/2026 12:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:53:58 - logentry: =========================================
FECHA: 26/05/2026 12:53:58
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-.Y.ykgMG1AwX+aspI6x5zXtvzc+ZpPzrd6OrOXEHdJ.IRjDVyZQ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3129",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "465",
    "contadorColor": "1922",
    "contadorScanner": "0",
    "detalle": "configuracion scaner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12743",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC0APsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABOEAABAwMCAgcEBgYFBw0AAAABAAIDBAURBiESMRNBUWFxgZEUIqGxFSMyQsHRFjNSYuHwByQ0coJDdJKywtLiJjU3U1RVY2Rzk6Kj8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgMFBwMFAAMAAAAAAAABAgMREiExBCJBUWETMnGBkdHwFKGxIzNCweEFcoL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBFHra6mt9O6eqmbGwdZ5nuA61nH3i76hcYbLAaWm5OqpRg+R\/LJ8FJRbKalaMHbV8lqXtwvNvtYHtlSyNx5M5uPkN1SjVFxuRcLLaHStaf1szsNPlsPipdu0lb6QiaqBraknLpJjkZ7h+eVeAADAGAFK8VpmV4a1TvPCumvqZn2HVtXl01xp6UH7kYyR6D8UFl1K3dt+BI5Zbt8lp0XMbO\/TR4t+rMwW6woffMlNXsbuWgAOI7OQUq0anguE\/sdVC6jrQcGJ\/We7PX3H4q9VXe7FT3mnw4dHUMH1Uw5tPYe5dxJ5NHHSqU86cm+j9y0RUGnbvUTyzWq4jFbS83Z+23t+XjzV+oSTTsXU6iqRxIIiLhYEREAREQBERAEREAREQBERAEREAREQBEXhIAyTgBAeqhvOpBSTewW6I1de7bgaMtZ4\/l64USvvdVe6l1rsOeHlNVcmtHcfx6+pWtksVNZoMM+snePrJnDd3cOwdyswqOcjI6kqrw0tOL9ispNLz104rdQVLqiXm2AH3Gd38B8VpWMZGwMjaGNaMBrRgBfSKMpN6l1OlGn3f8AQiIoloREQBERAZe\/D6O1Pa7lE0DpnGGY5wCNhv34J9AtQsxrM5fa2Ddxqdh28lp1OXdTM1LKrUS6fdBERQNIREQBERAEREAREQBERAEREAREQBERAeOcGtLnEAAZJPUslW11VqmtdbbY8xULD\/WKj9odnh3dfgldXz6ouRtNuk4KGPeonH3h2D8O3wWmoqKnt9KympowyNg2Hb3nvVnczepjbe0PDHu8Xz6LofFuttLaqUU1JHwsBySdy49pKloirbua4xUVZBERDoREQBERAERZjU2qm24OoqIh1URhz+Yi\/MqUYuTsiqrVjSjikfGqZYxfrKyV7Y445DK9zzhuMt\/3T6rpU6v9onNLZKJ9bN+2QQwd+OePRZqyW+fUV2EVdNK5kEfE8uzxEAjDc9+fQL9EpKOmoYRDSwMhYOpoxnx7VbPDGyeZhoOrWcpxeFN+ZnxbNV1Y4qi7RUwd9yIbt9B+KOs2pqX36W+CcjfhmHPu3ytOirxs1fTR5u\/iyhtF\/mlrXWy6wez1rT7vCMteP58lfKk1RaRcbW6WJn9ap\/ficB723MZ\/nfCkafuhu9oiqXDEgyyTA24h\/OUkk1iQpylGfZzd+KfziizREUDSEREAREQBERAEREAREQBZi9XGpule6wWs4dj+szZ2Y3bI+OD6KXqS8uoIW0VJl9fVDhia3m3Jxn8v4Ltp+zMtFCOMcVVL708mcknsz3KyKwrEzLUbqy7KOnF\/0SrXa6e00TaWnGw3c4jd57SpiIoN3zZpjFRVloERFw6EREAREQBEUC8XaCz0D6mUguxiNmd3u6gupXdkRlJRTk9CFqa\/Cz0oiiHFVzgiMD7v7x\/BUtk042hgfeb0N4gZGwv57b5d39yn6btc1XKb5dR0lRNh0AdyY3qIHV3L71bWPkbT2WmP19a8ceOYZn8T8irlluLzPOmsa7ep\/wCV+PUaNgkkpKm6ThplrZS7IHUD+edu5aRcaSmZR0kVNGAGRMDRgdgXZVSd3c3UYdnTUQiIoloWW020W3UN0tGcNyJYm9QH\/wCOb6LUrMO+o\/pEZv8A2im6+4H\/AHVZDRozV8pQl1t6mnREVZpCIiAIiIAiIgCIiAKJc7hDa6CSsnyWsGzRzcTyAUpzg1pc4gADJJ6lkWh2rr8XHH0ZQOxjO0p7fPHp4qcY3zehRWqOKUY956fOhK01bpqmU365ZdVT7wgnZjCNiB1bE+XitKvGtDWhrQAAMADqXq5KWJ3J0qapxwoIiKJYEREAREQBERAcauqioqWSpndwxxN4nFYehbLrDUbqmoBbSU+HdGdwG52b4nfPn3JrK9GuqxbKU8UUTvf4d+N\/Z5fNaiy26GwWYNmc1rg3pJ3nGxxvv1gK9LBG\/Fnmyl9RWwfxjr1ZMrqyntdA+pmIbHE3Zo2z2NCotOUc9xr36irgA+UFsEf7LeWfTI8yetRg2bWVybKQ6K00r9gecrv59B4rXtaGtDWgAAYAHUoPdVuJfH9eeP8AitOr5+x6iIqzWEREAWYrv+kS2\/5sflItOsxW+9\/SJb8b8FMc920n5hWQ4+Bm2nSP\/Zfk06Iov0nb+k6P26m4x93pW59MquxobS1JSIolzuENroJKyfJawbNHNxPIBEriUlFXZB1BfPomKOGnYJq2oPDFHz7skePqrWAyugjM7GslLRxtacgHrwVntN22WqmdfrkC6onOYGnkxh5Eeu3d4rSqcrLJFFFznectHovnMIiKBoCIo9fWxW+hmq5vsRN4sdp6h5nATU42krspNVXJ\/BHZqPDqqtPAcH7DSRz8d\/LKuLXb4rXb4qSH7LBuTzcTzKpdL0ktXPPf6wfXVRIiafuMz\/DA7h3rSqyWW6jNQTm3Vlx08P8AQiIqzUcKyqjoaOaqlyWRMLiBzOOpVentRMvhnYYxE+I5AzuWknG3cMZ8epc9aSOZpyUNOON7Wnwz\/BV1JCy16toDE0NirKNrSM8sNx\/stVsYpx6mKrWnGsktMr+Zf3i8w2aOGSaKSUSycAbHgu5HkDz3x6qxWXvo+kNWWu37uZF9dIBy553\/ANH4961CjJJJF1OblOfJZe4REUC8Kl1Rd3Wu28MJPtVQeCEN5jtPl8yFZVdfSULOOqqI4RjPvOwT4DrX59dL7JW3p1zhpzJBTgMhLwcMPU44687jy7FbThidzHtddU4YU838ue2aGgor0+prqgdHQjLiTnpJexvbg59Mr2+3yvu80cb2mjo5DmNsgID8Hm49e48B8Vb6f0hC6KKvuZMz5RxiF3IZ3HF2nuWnrLfS19IaWoha6IjAGPs+HYrJVIqV9THS2WrKjbup5+PiZylg1ZTUscNM2hbCxoDA3GMLr\/yz\/wDJ\/Bcm0t+007ho+K6UR\/yZzxR46gM7eW3cp1DrG11RLJ3uo5QcFkw29eXrhRd9Uky2GBbs5Si+r\/D0Jtn+luik+lui4+IcHR9isVzhqIKlnHBNHK39pjg4fBdFS9T0IK0Uk7hFGrLhR0DA6rqY4QeXE7c+A61QTazbO8w2i3z1kmOfCQB34G+PRdUW9CFSvTp5SeZqFkbjW09FrptTUyCOOCl3P7Wx2HfuvKpupailmqbjWx2ylaCXNjGXAd2Pz61UaYtMF7us8lUZJYYRxEPO7yeWT8VbCKSbbMVevKcowjGzvfPp0Pbpqd95nMMsslHQdbIm8T3jv3A+OB3qNXS2x8UcFstdUyqJBbM+RxcQOxvl1di3jqW02OkfVilhgZEMl7WDi7BvzWeslVTy182obvUwwSSZbBE527WgYyBz5ZHLtUoyVrpFNSjLElOSbeuWi89OhIg1RcWQsij09WzdGwNL3FxJ7z7pVRX3io1BcIJJLZOaSiPFLDEC\/f8AeOBjljfvVvd9aUjqV8FsdNJUSDhZI1mA0+e+fJQrVp+\/S0bad0wttO4lz+AYkfntx6Y2RJJXasKkp1H2cJOS6JeRrbbX01xoY6il2jIxw7Zb3HHJS1EtltgtVG2lp+LgG5Ljkk43PwUtZ3a+R60MWFYtQiIuEwstfpXXu809ip8mON3S1LgQQAOrn1Z9SFe3a4MtdsmrH4JY33Wn7zjyHqs3ZqymsVrfc7pMX1tf9YGc3ub1eGdznlyVkE+8Y9omm1TbstX4f6a2KJkMTIo2hrGNDWtHUByC+i4NGXEAdpWVbPqTUGH0wba6M8nO+24fP5DvXVuiKWUh9bX1VTJjd3EAD65PZ1phS7zJKtOX7cLrrkXj7pb4v1lfTM\/vTNH4r4+mrV\/3nR\/++381Xs0ZY24zTPfj9qV2\/oV9\/ohYf+wf\/c\/\/AHlzc6nb7RyXq\/YrdXXa31djdDT1kMshkaeFjwSqnU9zp547XJQ1YdLDGQ4xnBYcNxv6+ivrzpe2ts9U6jo2snazia4Ek7b9Z7BhY+tkoamltkVJTtZOIyKgsO7jnG+fAn\/Er6eF2sebtbqpyxWzS58HwLHTV3gju09xu9aeMRcDHPBcTkjlgdg+K0U2t7NEfcdPN\/cjx\/rYULRtooqi0vqaqkgme+Z3DxsDsNAAxv35Uq13NtVqapoaKkp20cDd3tjwS4bZyNuZ9AozwuTy0LqDqwpxWJLF0u\/yczq2tqvdttjqJc8nvBwD5D8V70WrrkMSSU9tjzvwbuIPr8xzWnWcqbhX3PUDrVQS+zw02HTzAbntA9QPJQTT0RoqQcbY5t34LL56lHf9PwWulhBnmrK+qk4Gue7A57kDnncDcnmpNxtzens+mYSHBp6WoIJ3PWfTix4hS2uF31u+RwHs9rZjJdtxDrPmT\/oqnhutVU61dUUTg\/pZeiaXAECPIG3ZsP5yrU5MwzVOLdlk3byWvqz9CAAGAMAL1F8veyNhfI4Ma0ZLnHACyntn0odfbrdVxl1dTwua3cveMY27VU1urYTN7LaKd9fUnlwA8A7+\/wCXeozNP3e8yCa+1pijztTQkbemw+KsUWs27GSdaM92Cxfj1Km5wafpajhtVVWGpds1tK7jb3DPPs5E8lIoLbq2tp3cVdNTMI26eRwcfxC1tDaaC2tApKWOMgY4wMuPieamKTq8F9yqOx3d5O3RZIwDdH3qKoMz2UtU\/OcySF2T274z5q1hh1dTxiOCKgiYOTWNaAPILQVdzoaEH2qriiIGcOcM+nNZ2664pGwSR26OSWQjhErhwtGevt+S6pTnwISpUKF3ja8yoqJb7qR89HJLCY6MkyubszI8OfI4XlgpruyhmraK4UlBTyvw902BnHZlp5Z7VxMV6tWnX8QZS0lS7BzjpJeIcusgYHd1rjZrDUXuoa2MvbSsxxyvGwONwO3fP4q7Kz5GBOTqRybk+tviscqq4T1db0NbcKiqp+Pcxk4d\/daduasqOx1c8sb6WxcMYcDxV0hyeXV7u3kVt6K10FtjApqeOPhGC\/A4j4lZ7UerIRDLb7aTNNIDG6RvJudjjtPgq1Nydoo0y2aNKOOtL553KWW6W6PUElbHBH7PR+7SwRtDRI4cnHHfl2efJarS90r7vTT1NW2NsXScMXC0g9\/XyG3xWWmsQp5aezxNbNcKnDp34yKduRy+ZP5rf0VHDQUcVLA3hjjGAPmfVcqONsizY41XUblklr4v2O6IiznqhEUevrYrfQzVc32Im8WO09Q8zgJqcbSV2Y3W91ZLXQULTxxU545WA7Od2ZHYM+qtdP6f4uG6XRrZqqXD42kbRDmNuWd\/LbCz2maM3nURqKomQR\/XvycguyMDrz\/BfoyvqPClFHmbLDtputPnkFV6gu7LNbHz85X+5EP3sc\/AK0WU4f0j1YXn3qG2nA7Hvzv3cx6AKuCTd3oba83GOGOryRZ6Zts1ttLW1L3umlcZHtcc8BPV+feVcIii3d3LIQUIqK4HhAIwRkFfmuo6emt+oJ46VnC0RkvHPDnA+n2gv0pzg1pc4gADJJ6l+T3StFwr6urO5lk9zfk3q59wCuoJ3Z53\/JSShFcbmlrLibJoyio49qiqiJHa1rtye77W38FZ6LtporMKh7S2SqPGc\/s\/d+G\/msk2mqL1e6QzjgFW4BjDnaJu2fDAPiQV+mtaGtDWgAAYAHUlTdVuZ3ZE6lTG9IqyPVjqKuZZLrqF8w4Xk9NE1+3Hu7GPEuC1s9RDSwumnkbHG0ZLnHAC\/P7vUjVd6jgttK0OAIErti8DfJ7B2eKjTV730LdsngwuPe4LxyINLUVVRbKqCBha13FNWTj7wGeFu3IZ6usnsCs9DUTXVs9xmc1kdMzALthk9ee4Z9Vyqbl9H2CosU9v9kqzw5LRkPGRkk55nHVt4KZbtOTXTStM2GoEHSSvkeDnD9+EZH+H4q+T3XfK55tKD7SNt5xV7aZ8v7Ler1XG+Y0tnpn3Co7Wj3G95PX8u9c2aer7q8TX6tLm5yKWE4aPE\/z4qPS6YvdFF0VLeGQs7GMxldv0YutR\/bNQTkfsxggfP8FVurus3fqz\/cg30yS\/OZdsbbrPTcDegpIh2kNz+ar6rWFlpsgVDp3D7sTCficD4rjBom1RkumM9STz6R+Plgq2prRbqMD2eigYR97gBd6ndQ3PE0Lt2rJKK9fYo\/0nulceG1WSRwPKSbZv4Dq7U+itT3H+23RlHGfuQc\/DbHzK05IAyTgBU9fqq0UAINUJ5ANmQ+9nz5D1XVJ\/xRGdNJXrTf4X2OFFoy10xD6gSVcm2TK7bPgPxyoOt5KSltENBTmKJ5lDjDGAPcAdvgchnC6Mq9S344poha6Un9Y8e+R57+gHipdBpi32xklVWPNXNgufNL1DrIH481K9neTKXBTg4UY2T4vL\/WZN9xk1BdqSGvmipqIO2ZxhrWMHME9pAxv2rW1OpbLaIGU9M9s3CMMipcOA8+X4qm0zYKG7Nq66rpswvlIgjDi0NHM8j3geS1FFZLZb3B1LRRseOTyOJw8zkrtRxvbkQ2WnXwuaa3uL1KM0181I8irLrdbnf5IfbeO\/+PoqTNut15nqoIw6C3ANha52emlzgHPccn\/CFtL\/AHEWuzz1H3yOCMfvHYenPyWP0jZH3GobVVDSKWmfxsGNnv2+Gwyuwe629CNen+pGEc5PO7+acTRaWtMlNTuuVaS+tqxxFzjuGHBAPf1+nYtAiLPJ3dz06dNU4qKCIi4WBZbUUpu16pLBETwB3S1BHVtkA+W\/mFoqyqjoqOWqlPuRNLiqHR9FK+OovNXvUVrjwnsbn8T8AFZDJORlr78lSXHXwXufFjaIdY3WEcgxvDvnAGMD4hahZW\/B1l1BSXxmTBIeiqAPDGfQf\/ELTxSxzRNlieHseMtc05BCTzsxs+7ipvVN+jzIF\/rzbbLUVDTiTh4Wf3jsPz8lx0vbvo6xwtcMSSjpX+J5D0woOuCZLdS0zTgzVLRnyP5rStAa0NGwAwEeUPE7Hertvgl9z1EVfdr1R2eAyVMg4yMsiH2n\/wA9qgk3ki+UlFXk8iJqq5igtLooyfaKoGONree\/Mjbv+Kwditn0rd4aRxAZnik3+6OeFOqpbhebuONhdVzD6iHO0DTvk9hx+fYrH+j+lJqKurI2awRg57Tk\/ILUlgg+Z4k39TtEcsvYlXvo7JqO3XIwO9jggMQbE3JGA4eH3x1ru7WL6pjm2u01U8mMjibsO\/bK06KjGnqj0+wmm8ErJ9DIS2iur2vuWpajo6aFpeKWI8tv57T3rtoyk6QVV3fEIzUPLImjkGA9Xnt5Lpq6d1T7LZIHDpax4Lv3Wg7H1+S0FNTx0lNFTQt4Y4mhrR3BSlJ4fEqp0Y9vdfx482\/ZGe15wixxEsBcZ2tBI3Gzjt6KDatO1z7TT1duu81O+RnEYiTwfDz6jzU3X3\/McP8AnLf9Vy0kUUcETYoWNjjYMNa0YACYnGCscdGNTaJOXBIzfS6zpcs6CjrP38gfi35J9LarG5skRA54d\/xLTooY1yRf2DWk388jMfS2qpf1NkiZ\/wCo7\/iCH9M5xjNJT9+x\/NadEx9EPp29Zv55GYGlay4Hjvd3mn6+ih2YD8vgFcUFktttIdS0kbHj75953qd1PRcc2ycKFODulnzebCz2r6+SG3MoKb3qitcIw0HfhPPbv5eZWhWVtj\/p7Vc1x+1S0I6ODrBO+\/zPouwWd3wIbQ24qmtZZe5f2uiFttlPRgg9EwAkDGTzJ9cqWiq9Q3dtmtj5gfrn+5EMZ97HPwCjnJlrcaULvRFHql773d6Sx0bwS0l8rs5a046\/AZ9VqaOkhoKSOlp2cMUYw0LJaFpX1FTWXSc8byeAOI3Lju4\/L1W0VlTLd5GfZVjvWesvwERFUbAiIgMxq2Wasmo7FTHD6p4dIexo7e7Yn\/CtHBCyngjgjGGRtDWjuCraeyGPUNRdpagyF7eCJmMcAwPy+KtlOTVkkZ6UHjlOWr\/CONXSw1tLJTVDA+KQYc0rMto75pqVzLbF7fQuGQxx95h68DPy2WsRcjJrIlUoqbUtGuKMBqG+1FZ7KKm1z0bqeYPIeT73cMgdiuP0zJ2bZqwnqGOfwVzeLYy726Ske8sLt2PH3Xfzt5qhprvqG1QNpayyy1hjHC2WIk5A7SAc+OytTjJZIxSjUpVG3J2fG1zo666lubOGgtfsQyPrZzuAesBwHZ2FVdTT09sqCHzfS17lOGtxxNid246yOw+gVm79KryHMIjtdOSWn9sj5\/JWtmsFHZmExDpZ3fbmePePh2BMSiOznVfHxf8AS\/tnHT9h+jGPqqp\/TV0+8kh34e4H5q2ighgDhDEyMPPE4NGMnAGfQBdEVLbbuzfCnGEVGKC+XOaxhe44a0ZJ7AvpeEAjBGQVwsMtpuJ92vNZfpxlvEY6cdg5ZHlgeZWqXxFDFBE2KGNkcbeTGNAA8gvtSlK7KqNPs4248fEzmuYjJp\/iA\/VzNcfiPxV\/TyiemimHKRgcPMZUDUVN7XYKyL\/w+L\/RPF+C+NMVbavT1I4HeNnROGeRbt8sHzXdYFa3doa5pfYtkRFA0hERAERQrrdaa0Ubqiod3MYObz2BdSvkiMpKKu9Cr1TdZIYmWqi96srPdw07saevz\/NWdmtkdotsdIzBcN5HAfaceZ\/nsVRpq3VE9RLfbiD7RUfqmn7jD\/DYd3itKpydlhRnopzk6suOnRf6FgbtOLpV3C6vINLRM6Gna4Ah7jtnB7yTy6h2LbXBlRJb6iOlIbO6NwjLuQOFjrrbXW2yWuzEgyVVTxS9GftHYf7Q9ApUrXKttxONrZLPz0RotLUfsWn6ZpGHSDpXf4tx8MK3Xy1rWMDGjDWjAHYF9Kpu7ubKcFCCiuAREXCYREQBERAEREAREQBERAEREAREQBERAeEAjBGQVlbJKLDfaqz1HuRVEnSUpweHfq9MDyWrVZe7JDeaZrS7o54jmKUc2lTi1oyitCTtOGq+NFmiy1JqaotcjKC\/074pBs2pG7XjtP5j0WhpbhR1rQ6mqops\/sPBPouOLR2nWhU0efLiSEXGSrpoWF8tRExo5uc8AKjrdX04m9ltcD6+pds3gHuZ8ev+d0UW9Ds60Id5lxX3GltlMairlEbOQ7XHsA61m7bQ1GpbmLxcmFlHGf6tATscfh29vgu9Bpyqr6ltw1BL00mMspvus7j1eQ+K0zWhrQ1oAAGAB1KV1HJalKjKs05q0Vw5+PseoiKs1hV1baG110oq185DaQkiPhzxE9eerkrFF1NrQjKKkrMIiLhIIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDlUU0NVCYaiJksbubXDIVLU6Ks1QSWRywE\/9VJ+eURTg2nkZ9opwlG7R8x6Is8b+Iid4xjDpNvgFc0lBR0DOCkpo4RjB4G4J8TzKIuzbZHZ6cErpIkIiKs1BERAEREAREQBERAEREB\/\/2Q==",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENIMIENTO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:53",
    "ubicacionGPS": "LatLng(lat: -23.1006129, lng: -70.4524902)",
    "horaLlegada": "12:37",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 26/05/2026 12:53:58
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-.Y.ykgMG1AwX+aspI6x5zXtvzc+ZpPzrd6OrOXEHdJ.IRjDVyZQ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3129",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "465",
    "contadorColor": "1922",
    "contadorScanner": "0",
    "detalle": "configuracion scaner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12743",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC0APsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABOEAABAwMCAgcEBgYFBw0AAAABAAIDBAURBiESMRNBUWFxgZEUIqGxFSMyQsHRFjNSYuHwByQ0coJDdJKywtLiJjU3U1RVY2Rzk6Kj8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgMFBwMFAAMAAAAAAAABAgMREiExBCJBUWETMnGBkdHwFKGxIzNCweEFcoL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBFHra6mt9O6eqmbGwdZ5nuA61nH3i76hcYbLAaWm5OqpRg+R\/LJ8FJRbKalaMHbV8lqXtwvNvtYHtlSyNx5M5uPkN1SjVFxuRcLLaHStaf1szsNPlsPipdu0lb6QiaqBraknLpJjkZ7h+eVeAADAGAFK8VpmV4a1TvPCumvqZn2HVtXl01xp6UH7kYyR6D8UFl1K3dt+BI5Zbt8lp0XMbO\/TR4t+rMwW6woffMlNXsbuWgAOI7OQUq0anguE\/sdVC6jrQcGJ\/We7PX3H4q9VXe7FT3mnw4dHUMH1Uw5tPYe5dxJ5NHHSqU86cm+j9y0RUGnbvUTyzWq4jFbS83Z+23t+XjzV+oSTTsXU6iqRxIIiLhYEREAREQBERAEREAREQBERAEREAREQBEXhIAyTgBAeqhvOpBSTewW6I1de7bgaMtZ4\/l64USvvdVe6l1rsOeHlNVcmtHcfx6+pWtksVNZoMM+snePrJnDd3cOwdyswqOcjI6kqrw0tOL9ispNLz104rdQVLqiXm2AH3Gd38B8VpWMZGwMjaGNaMBrRgBfSKMpN6l1OlGn3f8AQiIoloREQBERAZe\/D6O1Pa7lE0DpnGGY5wCNhv34J9AtQsxrM5fa2Ddxqdh28lp1OXdTM1LKrUS6fdBERQNIREQBERAEREAREQBERAEREAREQBERAeOcGtLnEAAZJPUslW11VqmtdbbY8xULD\/WKj9odnh3dfgldXz6ouRtNuk4KGPeonH3h2D8O3wWmoqKnt9KympowyNg2Hb3nvVnczepjbe0PDHu8Xz6LofFuttLaqUU1JHwsBySdy49pKloirbua4xUVZBERDoREQBERAERZjU2qm24OoqIh1URhz+Yi\/MqUYuTsiqrVjSjikfGqZYxfrKyV7Y445DK9zzhuMt\/3T6rpU6v9onNLZKJ9bN+2QQwd+OePRZqyW+fUV2EVdNK5kEfE8uzxEAjDc9+fQL9EpKOmoYRDSwMhYOpoxnx7VbPDGyeZhoOrWcpxeFN+ZnxbNV1Y4qi7RUwd9yIbt9B+KOs2pqX36W+CcjfhmHPu3ytOirxs1fTR5u\/iyhtF\/mlrXWy6wez1rT7vCMteP58lfKk1RaRcbW6WJn9ap\/ficB723MZ\/nfCkafuhu9oiqXDEgyyTA24h\/OUkk1iQpylGfZzd+KfziizREUDSEREAREQBERAEREAREQBZi9XGpule6wWs4dj+szZ2Y3bI+OD6KXqS8uoIW0VJl9fVDhia3m3Jxn8v4Ltp+zMtFCOMcVVL708mcknsz3KyKwrEzLUbqy7KOnF\/0SrXa6e00TaWnGw3c4jd57SpiIoN3zZpjFRVloERFw6EREAREQBEUC8XaCz0D6mUguxiNmd3u6gupXdkRlJRTk9CFqa\/Cz0oiiHFVzgiMD7v7x\/BUtk042hgfeb0N4gZGwv57b5d39yn6btc1XKb5dR0lRNh0AdyY3qIHV3L71bWPkbT2WmP19a8ceOYZn8T8irlluLzPOmsa7ep\/wCV+PUaNgkkpKm6ThplrZS7IHUD+edu5aRcaSmZR0kVNGAGRMDRgdgXZVSd3c3UYdnTUQiIoloWW020W3UN0tGcNyJYm9QH\/wCOb6LUrMO+o\/pEZv8A2im6+4H\/AHVZDRozV8pQl1t6mnREVZpCIiAIiIAiIgCIiAKJc7hDa6CSsnyWsGzRzcTyAUpzg1pc4gADJJ6lkWh2rr8XHH0ZQOxjO0p7fPHp4qcY3zehRWqOKUY956fOhK01bpqmU365ZdVT7wgnZjCNiB1bE+XitKvGtDWhrQAAMADqXq5KWJ3J0qapxwoIiKJYEREAREQBERAcauqioqWSpndwxxN4nFYehbLrDUbqmoBbSU+HdGdwG52b4nfPn3JrK9GuqxbKU8UUTvf4d+N\/Z5fNaiy26GwWYNmc1rg3pJ3nGxxvv1gK9LBG\/Fnmyl9RWwfxjr1ZMrqyntdA+pmIbHE3Zo2z2NCotOUc9xr36irgA+UFsEf7LeWfTI8yetRg2bWVybKQ6K00r9gecrv59B4rXtaGtDWgAAYAHUoPdVuJfH9eeP8AitOr5+x6iIqzWEREAWYrv+kS2\/5sflItOsxW+9\/SJb8b8FMc920n5hWQ4+Bm2nSP\/Zfk06Iov0nb+k6P26m4x93pW59MquxobS1JSIolzuENroJKyfJawbNHNxPIBEriUlFXZB1BfPomKOGnYJq2oPDFHz7skePqrWAyugjM7GslLRxtacgHrwVntN22WqmdfrkC6onOYGnkxh5Eeu3d4rSqcrLJFFFznectHovnMIiKBoCIo9fWxW+hmq5vsRN4sdp6h5nATU42krspNVXJ\/BHZqPDqqtPAcH7DSRz8d\/LKuLXb4rXb4qSH7LBuTzcTzKpdL0ktXPPf6wfXVRIiafuMz\/DA7h3rSqyWW6jNQTm3Vlx08P8AQiIqzUcKyqjoaOaqlyWRMLiBzOOpVentRMvhnYYxE+I5AzuWknG3cMZ8epc9aSOZpyUNOON7Wnwz\/BV1JCy16toDE0NirKNrSM8sNx\/stVsYpx6mKrWnGsktMr+Zf3i8w2aOGSaKSUSycAbHgu5HkDz3x6qxWXvo+kNWWu37uZF9dIBy553\/ANH4961CjJJJF1OblOfJZe4REUC8Kl1Rd3Wu28MJPtVQeCEN5jtPl8yFZVdfSULOOqqI4RjPvOwT4DrX59dL7JW3p1zhpzJBTgMhLwcMPU44687jy7FbThidzHtddU4YU838ue2aGgor0+prqgdHQjLiTnpJexvbg59Mr2+3yvu80cb2mjo5DmNsgID8Hm49e48B8Vb6f0hC6KKvuZMz5RxiF3IZ3HF2nuWnrLfS19IaWoha6IjAGPs+HYrJVIqV9THS2WrKjbup5+PiZylg1ZTUscNM2hbCxoDA3GMLr\/yz\/wDJ\/Bcm0t+007ho+K6UR\/yZzxR46gM7eW3cp1DrG11RLJ3uo5QcFkw29eXrhRd9Uky2GBbs5Si+r\/D0Jtn+luik+lui4+IcHR9isVzhqIKlnHBNHK39pjg4fBdFS9T0IK0Uk7hFGrLhR0DA6rqY4QeXE7c+A61QTazbO8w2i3z1kmOfCQB34G+PRdUW9CFSvTp5SeZqFkbjW09FrptTUyCOOCl3P7Wx2HfuvKpupailmqbjWx2ylaCXNjGXAd2Pz61UaYtMF7us8lUZJYYRxEPO7yeWT8VbCKSbbMVevKcowjGzvfPp0Pbpqd95nMMsslHQdbIm8T3jv3A+OB3qNXS2x8UcFstdUyqJBbM+RxcQOxvl1di3jqW02OkfVilhgZEMl7WDi7BvzWeslVTy182obvUwwSSZbBE527WgYyBz5ZHLtUoyVrpFNSjLElOSbeuWi89OhIg1RcWQsij09WzdGwNL3FxJ7z7pVRX3io1BcIJJLZOaSiPFLDEC\/f8AeOBjljfvVvd9aUjqV8FsdNJUSDhZI1mA0+e+fJQrVp+\/S0bad0wttO4lz+AYkfntx6Y2RJJXasKkp1H2cJOS6JeRrbbX01xoY6il2jIxw7Zb3HHJS1EtltgtVG2lp+LgG5Ljkk43PwUtZ3a+R60MWFYtQiIuEwstfpXXu809ip8mON3S1LgQQAOrn1Z9SFe3a4MtdsmrH4JY33Wn7zjyHqs3ZqymsVrfc7pMX1tf9YGc3ub1eGdznlyVkE+8Y9omm1TbstX4f6a2KJkMTIo2hrGNDWtHUByC+i4NGXEAdpWVbPqTUGH0wba6M8nO+24fP5DvXVuiKWUh9bX1VTJjd3EAD65PZ1phS7zJKtOX7cLrrkXj7pb4v1lfTM\/vTNH4r4+mrV\/3nR\/++381Xs0ZY24zTPfj9qV2\/oV9\/ohYf+wf\/c\/\/AHlzc6nb7RyXq\/YrdXXa31djdDT1kMshkaeFjwSqnU9zp547XJQ1YdLDGQ4xnBYcNxv6+ivrzpe2ts9U6jo2snazia4Ek7b9Z7BhY+tkoamltkVJTtZOIyKgsO7jnG+fAn\/Er6eF2sebtbqpyxWzS58HwLHTV3gju09xu9aeMRcDHPBcTkjlgdg+K0U2t7NEfcdPN\/cjx\/rYULRtooqi0vqaqkgme+Z3DxsDsNAAxv35Uq13NtVqapoaKkp20cDd3tjwS4bZyNuZ9AozwuTy0LqDqwpxWJLF0u\/yczq2tqvdttjqJc8nvBwD5D8V70WrrkMSSU9tjzvwbuIPr8xzWnWcqbhX3PUDrVQS+zw02HTzAbntA9QPJQTT0RoqQcbY5t34LL56lHf9PwWulhBnmrK+qk4Gue7A57kDnncDcnmpNxtzens+mYSHBp6WoIJ3PWfTix4hS2uF31u+RwHs9rZjJdtxDrPmT\/oqnhutVU61dUUTg\/pZeiaXAECPIG3ZsP5yrU5MwzVOLdlk3byWvqz9CAAGAMAL1F8veyNhfI4Ma0ZLnHACyntn0odfbrdVxl1dTwua3cveMY27VU1urYTN7LaKd9fUnlwA8A7+\/wCXeozNP3e8yCa+1pijztTQkbemw+KsUWs27GSdaM92Cxfj1Km5wafpajhtVVWGpds1tK7jb3DPPs5E8lIoLbq2tp3cVdNTMI26eRwcfxC1tDaaC2tApKWOMgY4wMuPieamKTq8F9yqOx3d5O3RZIwDdH3qKoMz2UtU\/OcySF2T274z5q1hh1dTxiOCKgiYOTWNaAPILQVdzoaEH2qriiIGcOcM+nNZ2664pGwSR26OSWQjhErhwtGevt+S6pTnwISpUKF3ja8yoqJb7qR89HJLCY6MkyubszI8OfI4XlgpruyhmraK4UlBTyvw902BnHZlp5Z7VxMV6tWnX8QZS0lS7BzjpJeIcusgYHd1rjZrDUXuoa2MvbSsxxyvGwONwO3fP4q7Kz5GBOTqRybk+tviscqq4T1db0NbcKiqp+Pcxk4d\/daduasqOx1c8sb6WxcMYcDxV0hyeXV7u3kVt6K10FtjApqeOPhGC\/A4j4lZ7UerIRDLb7aTNNIDG6RvJudjjtPgq1Nydoo0y2aNKOOtL553KWW6W6PUElbHBH7PR+7SwRtDRI4cnHHfl2efJarS90r7vTT1NW2NsXScMXC0g9\/XyG3xWWmsQp5aezxNbNcKnDp34yKduRy+ZP5rf0VHDQUcVLA3hjjGAPmfVcqONsizY41XUblklr4v2O6IiznqhEUevrYrfQzVc32Im8WO09Q8zgJqcbSV2Y3W91ZLXQULTxxU545WA7Od2ZHYM+qtdP6f4uG6XRrZqqXD42kbRDmNuWd\/LbCz2maM3nURqKomQR\/XvycguyMDrz\/BfoyvqPClFHmbLDtputPnkFV6gu7LNbHz85X+5EP3sc\/AK0WU4f0j1YXn3qG2nA7Hvzv3cx6AKuCTd3oba83GOGOryRZ6Zts1ttLW1L3umlcZHtcc8BPV+feVcIii3d3LIQUIqK4HhAIwRkFfmuo6emt+oJ46VnC0RkvHPDnA+n2gv0pzg1pc4gADJJ6l+T3StFwr6urO5lk9zfk3q59wCuoJ3Z53\/JSShFcbmlrLibJoyio49qiqiJHa1rtye77W38FZ6LtporMKh7S2SqPGc\/s\/d+G\/msk2mqL1e6QzjgFW4BjDnaJu2fDAPiQV+mtaGtDWgAAYAHUlTdVuZ3ZE6lTG9IqyPVjqKuZZLrqF8w4Xk9NE1+3Hu7GPEuC1s9RDSwumnkbHG0ZLnHAC\/P7vUjVd6jgttK0OAIErti8DfJ7B2eKjTV730LdsngwuPe4LxyINLUVVRbKqCBha13FNWTj7wGeFu3IZ6usnsCs9DUTXVs9xmc1kdMzALthk9ee4Z9Vyqbl9H2CosU9v9kqzw5LRkPGRkk55nHVt4KZbtOTXTStM2GoEHSSvkeDnD9+EZH+H4q+T3XfK55tKD7SNt5xV7aZ8v7Ler1XG+Y0tnpn3Co7Wj3G95PX8u9c2aer7q8TX6tLm5yKWE4aPE\/z4qPS6YvdFF0VLeGQs7GMxldv0YutR\/bNQTkfsxggfP8FVurus3fqz\/cg30yS\/OZdsbbrPTcDegpIh2kNz+ar6rWFlpsgVDp3D7sTCficD4rjBom1RkumM9STz6R+Plgq2prRbqMD2eigYR97gBd6ndQ3PE0Lt2rJKK9fYo\/0nulceG1WSRwPKSbZv4Dq7U+itT3H+23RlHGfuQc\/DbHzK05IAyTgBU9fqq0UAINUJ5ANmQ+9nz5D1XVJ\/xRGdNJXrTf4X2OFFoy10xD6gSVcm2TK7bPgPxyoOt5KSltENBTmKJ5lDjDGAPcAdvgchnC6Mq9S344poha6Un9Y8e+R57+gHipdBpi32xklVWPNXNgufNL1DrIH481K9neTKXBTg4UY2T4vL\/WZN9xk1BdqSGvmipqIO2ZxhrWMHME9pAxv2rW1OpbLaIGU9M9s3CMMipcOA8+X4qm0zYKG7Nq66rpswvlIgjDi0NHM8j3geS1FFZLZb3B1LRRseOTyOJw8zkrtRxvbkQ2WnXwuaa3uL1KM0181I8irLrdbnf5IfbeO\/+PoqTNut15nqoIw6C3ANha52emlzgHPccn\/CFtL\/AHEWuzz1H3yOCMfvHYenPyWP0jZH3GobVVDSKWmfxsGNnv2+Gwyuwe629CNen+pGEc5PO7+acTRaWtMlNTuuVaS+tqxxFzjuGHBAPf1+nYtAiLPJ3dz06dNU4qKCIi4WBZbUUpu16pLBETwB3S1BHVtkA+W\/mFoqyqjoqOWqlPuRNLiqHR9FK+OovNXvUVrjwnsbn8T8AFZDJORlr78lSXHXwXufFjaIdY3WEcgxvDvnAGMD4hahZW\/B1l1BSXxmTBIeiqAPDGfQf\/ELTxSxzRNlieHseMtc05BCTzsxs+7ipvVN+jzIF\/rzbbLUVDTiTh4Wf3jsPz8lx0vbvo6xwtcMSSjpX+J5D0woOuCZLdS0zTgzVLRnyP5rStAa0NGwAwEeUPE7Hertvgl9z1EVfdr1R2eAyVMg4yMsiH2n\/wA9qgk3ki+UlFXk8iJqq5igtLooyfaKoGONree\/Mjbv+Kwditn0rd4aRxAZnik3+6OeFOqpbhebuONhdVzD6iHO0DTvk9hx+fYrH+j+lJqKurI2awRg57Tk\/ILUlgg+Z4k39TtEcsvYlXvo7JqO3XIwO9jggMQbE3JGA4eH3x1ru7WL6pjm2u01U8mMjibsO\/bK06KjGnqj0+wmm8ErJ9DIS2iur2vuWpajo6aFpeKWI8tv57T3rtoyk6QVV3fEIzUPLImjkGA9Xnt5Lpq6d1T7LZIHDpax4Lv3Wg7H1+S0FNTx0lNFTQt4Y4mhrR3BSlJ4fEqp0Y9vdfx482\/ZGe15wixxEsBcZ2tBI3Gzjt6KDatO1z7TT1duu81O+RnEYiTwfDz6jzU3X3\/McP8AnLf9Vy0kUUcETYoWNjjYMNa0YACYnGCscdGNTaJOXBIzfS6zpcs6CjrP38gfi35J9LarG5skRA54d\/xLTooY1yRf2DWk388jMfS2qpf1NkiZ\/wCo7\/iCH9M5xjNJT9+x\/NadEx9EPp29Zv55GYGlay4Hjvd3mn6+ih2YD8vgFcUFktttIdS0kbHj75953qd1PRcc2ycKFODulnzebCz2r6+SG3MoKb3qitcIw0HfhPPbv5eZWhWVtj\/p7Vc1x+1S0I6ODrBO+\/zPouwWd3wIbQ24qmtZZe5f2uiFttlPRgg9EwAkDGTzJ9cqWiq9Q3dtmtj5gfrn+5EMZ97HPwCjnJlrcaULvRFHql773d6Sx0bwS0l8rs5a046\/AZ9VqaOkhoKSOlp2cMUYw0LJaFpX1FTWXSc8byeAOI3Lju4\/L1W0VlTLd5GfZVjvWesvwERFUbAiIgMxq2Wasmo7FTHD6p4dIexo7e7Yn\/CtHBCyngjgjGGRtDWjuCraeyGPUNRdpagyF7eCJmMcAwPy+KtlOTVkkZ6UHjlOWr\/CONXSw1tLJTVDA+KQYc0rMto75pqVzLbF7fQuGQxx95h68DPy2WsRcjJrIlUoqbUtGuKMBqG+1FZ7KKm1z0bqeYPIeT73cMgdiuP0zJ2bZqwnqGOfwVzeLYy726Ske8sLt2PH3Xfzt5qhprvqG1QNpayyy1hjHC2WIk5A7SAc+OytTjJZIxSjUpVG3J2fG1zo666lubOGgtfsQyPrZzuAesBwHZ2FVdTT09sqCHzfS17lOGtxxNid246yOw+gVm79KryHMIjtdOSWn9sj5\/JWtmsFHZmExDpZ3fbmePePh2BMSiOznVfHxf8AS\/tnHT9h+jGPqqp\/TV0+8kh34e4H5q2ighgDhDEyMPPE4NGMnAGfQBdEVLbbuzfCnGEVGKC+XOaxhe44a0ZJ7AvpeEAjBGQVwsMtpuJ92vNZfpxlvEY6cdg5ZHlgeZWqXxFDFBE2KGNkcbeTGNAA8gvtSlK7KqNPs4248fEzmuYjJp\/iA\/VzNcfiPxV\/TyiemimHKRgcPMZUDUVN7XYKyL\/w+L\/RPF+C+NMVbavT1I4HeNnROGeRbt8sHzXdYFa3doa5pfYtkRFA0hERAERQrrdaa0Ubqiod3MYObz2BdSvkiMpKKu9Cr1TdZIYmWqi96srPdw07saevz\/NWdmtkdotsdIzBcN5HAfaceZ\/nsVRpq3VE9RLfbiD7RUfqmn7jD\/DYd3itKpydlhRnopzk6suOnRf6FgbtOLpV3C6vINLRM6Gna4Ah7jtnB7yTy6h2LbXBlRJb6iOlIbO6NwjLuQOFjrrbXW2yWuzEgyVVTxS9GftHYf7Q9ApUrXKttxONrZLPz0RotLUfsWn6ZpGHSDpXf4tx8MK3Xy1rWMDGjDWjAHYF9Kpu7ubKcFCCiuAREXCYREQBERAEREAREQBERAEREAREQBERAeEAjBGQVlbJKLDfaqz1HuRVEnSUpweHfq9MDyWrVZe7JDeaZrS7o54jmKUc2lTi1oyitCTtOGq+NFmiy1JqaotcjKC\/074pBs2pG7XjtP5j0WhpbhR1rQ6mqops\/sPBPouOLR2nWhU0efLiSEXGSrpoWF8tRExo5uc8AKjrdX04m9ltcD6+pds3gHuZ8ev+d0UW9Ds60Id5lxX3GltlMairlEbOQ7XHsA61m7bQ1GpbmLxcmFlHGf6tATscfh29vgu9Bpyqr6ltw1BL00mMspvus7j1eQ+K0zWhrQ1oAAGAB1KV1HJalKjKs05q0Vw5+PseoiKs1hV1baG110oq185DaQkiPhzxE9eerkrFF1NrQjKKkrMIiLhIIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDlUU0NVCYaiJksbubXDIVLU6Ks1QSWRywE\/9VJ+eURTg2nkZ9opwlG7R8x6Is8b+Iid4xjDpNvgFc0lBR0DOCkpo4RjB4G4J8TzKIuzbZHZ6cErpIkIiKs1BERAEREAREQBERAEREB\/\/2Q==",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENIMIENTO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:53",
    "ubicacionGPS": "LatLng(lat: -23.1006129, lng: -70.4524902)",
    "horaLlegada": "12:37",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


26/05/2026 12:53:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[26/05/2026 12:53: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('69020400', 'EP3129', 1, 21773342, 465, NOW(), 
				'08:00', '12:37', '12:53', 3, 'configuracion scaner', -1, 
				'', '','1','1922',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779814438.png', '', null, 'COMPLETADO','LatLng(lat: -23.1006129, lng: -70.4524902)' )
				
[26/05/2026 12:53:58] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200431

26/05/2026 12:53:58 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200431'                    
				WHERE idllamado = 12743			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


26/05/2026 12:53:59 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12743			
				
26/05/2026 12:53:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


26/05/2026 12:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:54:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:54:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12743
            GROUP BY l.idllamado;
            

26/05/2026 12:54:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:54:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:54:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:54:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:54: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;
                

26/05/2026 12:54:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12743
            GROUP BY l.idllamado;
            

26/05/2026 12:54:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12743
            GROUP BY l.idllamado;
            

[26/05/2026 12:54: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;
                

26/05/2026 12:54:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

[26/05/2026 12:54: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;
                

26/05/2026 12:54:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:54:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

26/05/2026 12:54:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12743
                

[26/05/2026 12:54: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;
                

26/05/2026 12:54:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:54:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:54:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:54:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

[26/05/2026 12:54: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;
                

26/05/2026 12:54:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

[26/05/2026 12:54:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:54:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:54:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:54:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/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 = 12693
                

[26/05/2026 12:54:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:54:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12:54:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12:54:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:54:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:54:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:54:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:54:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:54:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12:55:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12693
                

26/05/2026 12:55:04 - logentry: =========================================
FECHA: 26/05/2026 12:55:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-WG0SgH8xFeLVu3B_PYVJunJZdIby22msThiYdNh_DeV-Vkd3Oqv
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76145047",
    "serieinterna": "TO3057",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se hace limpieza general\n•Se cambian gomas de ambas bandejas\n•Impresora va a quedar inoperativa por falta de revelador, pendiente cambio",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12693",
    "observacion": "•Error C3A1, revelador magenta bajo\n•Pendiente cambio de unidad de imagen y revelado magenta, el tambor está rayado, y la unidad de revelado está vacía\n\n•Fusor con avulsión en rodillo de calor, recomendado cambio de rodillo de calor\n•Rodillo de guía de fusor no tiene platína metálica, está desviado pero no hace efecto mayor\n\n•Necesita cambio de residual, cliente no tiene respuesto\n•Cliente dice que to escanea a correo, pendiente revisión de configuración SMTP\n•Necesita cambio de gomas de ADF\n\n•Se usa RKIT2122×2 para bandejas 1 y 2\n\n•No se puede tomar contador por el error\n",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADvAVsDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEBwH\/xABOEAABAwMBBAYGAg4IBAcAAAABAAIDBAURBhIhMUETFFGRocEiMmFxgbEjUgcVFkJicnOCssLR0uHwJDM0NTd0kqIlNkNTFyZEVOLx8\/\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADMRAAIBAgQCCQQBBAMAAAAAAAABAgMRBCExQRJhEyIyUXGRscHRQoGh4fAFFCMzJDRi\/9oADAMBAAIRAxEAPwD2ZERAEREAREQBERAEREAREQBERAEREAREQBERAFVbLqCpuGqamCR2xTuaWxxEg7Lm43g454cfirUvNbHKafWEUh9V874+\/I8wracU0zDiqkoTp2eVz0pERVG4IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC8xIMMbq8DfTXLuzv8A1V6cvPKiHNFqKAgZgqmyNxuHruG4cOBV1Lc87HK\/D9\/S\/sehAgjIOQV9XJapjUWijmJyXwMJ9+BldapeR6EXdJhERDoREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBUqSMC+ajpMhvSUrpADzOAfNXVVauY2n15TOPqVlOWP9pwR5NVlPcyYpXUXz9ciQ0lL0umqXjloc3f7HFTKrOhnkWmend60NQ4Y7Nw88qzLk1aTLMM70YvkERFAvCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKsas+guVmrODY6jDj7MtPkVZ1XNcQGSwiZu4wStfn2Hd8yFOn2kZsUv8Mmts\/LM1aeHVNU3miP37hMN\/AZz+uFaFU2Tga3oqpu5lfSB3e0\/uhWxdqapnMK+q4rZv59wiIqzUEREARVGF121NVVc1LcnUNPTv2I2sydogcyMe\/nx9y6aW91tsubLXeWhwfgRVfAO3Adm\/f3Kx039zKsTF5tWT0ZZURFWagiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCItVVN1ekmnxno2OfjtwMocbsrm1FGafuEt0tEdXMAHvc71eHrHu8VISyxwxukleGMaMlzjgBdas7HIzUoqS0Zmi5KG6UVyD+qTtkLCQ4cCPgfeutcasdUlJXTCjtQMZJYK1shAHQuIyeY3jxwpFQ2rXlmmawt44aO94ClHtIrrO1KT5Mq\/Wmm1WCuDsupKgwyc8bwQP8ASvQV5LTyF1pq4QBlj45geYxlp3\/nBeq00onpYpgciRgdn3jKtrKxhwE+K\/gvj2NqIo68Xqns0MbpWukkldsxxs4u7fLvCpSbdkejKUYLiloSKLgs91ju9F07GOje1xZJG7i1w4rvRqzsxGSklJaFZ0IHCyz7YId1p2c8fVapLUNs+2tolgaPpWjbj\/GHL48FF6N\/o010t53OgqM8MZG8eStCnN2ndGbDxU8OovwIjS9wNxsUEj3bUseY5D7Rw8MH4qXVX081tFqe729ow0kStHIDOf1laFyatLIsw8nKmr6rLyCIigXhERAEREARFpqauno4ulqZ44Wdr3AZQ42krs3Iq3PrKnkk6va6WaunI9ENbgHdnPb4LV9qdQ3lwfc64UUDhvgpyQcdh\/iSp8D+rIzvEReVNcT5aeZI3LU9stwkaZhNMwf1Ue\/f2E8At1BcK6poo55rY+N7wTs7YGBndx38MLG2adtlqw6CDbkH\/Vl9J38PgpRG46IlCNVu83bkgiIoF4REQBERAEREAREQBERAEREAXFeX9HZK52cEU78H27JXaozUjtjTtac4+iI79y7HVFdV2pyfJmjSDNjTNJuwXbZP+srh1Q6W5XWgsUL9lsp6WYg7w3f5B273KU003Y07RDGPo895JUbb\/p9d3CV2T0MIY3B3D1f4+KtXabMklejTp99l+DXNDDZdY0Rp4WxQ1cXREN3DI3cP9P8AOValWdasdFTUVwYMvpKgEfHf82hWRjxJG17eDgCFGWaTLqPVqTgvHzMlEarZ0mmqxvY1p7nA+Sl1w3qA1NlrIWjLnQuwO04yFGOUkW1VenJcmeXRt6MzRneHw5Jxw4O8sL06wS9PYKF+c\/QtaT7hjyXnE+zP1AtALnxCNw9ocR8sK9aMm6XTcLc5MT3sPfnzWit2bnkf092quPL4J5Vedja7X8UcvpNpIA9rfbxHiQfgrQqxbfpNfXN7uLIQ0ez1FTDd8j0sRnwLmj5Zc0GsLpQZHRyt6ZoA3DfnA7PXPcrQqvX5ptf0Eo9WeAtPLJ9L+CtCT2Yw2SlHub+SrO\/4d9kBp4Mr4cH34\/a3xVpVZ1lG6BlDdYwS6knGQByO\/wCYA+KskcjZY2yMOWvAcD2gpLNJij1Zzhzv5\/srUOG\/ZDqOW3TA7xxOGqzqsTk\/+IdMM7urH5OVnXJ7eAw\/1r\/0wiLGSRkTC+R7WNHEuOAFA0mSKGrtV2ihBHWRO8A+hD6XjwXB9utQXQ4tdr6vETumqN27tGceGVNQkZ5YimnZO75ZlnJAGScAKHr9VWmhOx1jrEnJkHp+PBcA0pW1+HXm7yz8+ii3NHfu8Ape32C2WzZdTUzekaP6x\/pO7+XwXbQWruR4q8+yuFc8\/wAfshhcdT3nHUaRtvgJ\/rZeOPj5BboNHRSTNnutbPXyDk5xDf2+KsiJxvbI6sNF51HxeOnloaqelp6WPo6eGOJvYxoC2oirNCSWSCIiHQiIgCIiAIiIAiIgCIiAIiIAiIgChtWuLdMVhHYwd72qZUDrR+zpuYb\/AEnsHjnyUodpFOIdqMvBnfY2htioAP8A28Z72gqH08ek1RfJDv2ZA3I5byMeCnba3YtdIzGNmBgx2eiFBaT33S9ucMPNT6Xe7+KktJFMl1qS\/mh1ayZt6aqHfUcx3+4DzUna39LaaOT68DD3tC4tVs6TTVY3sa09zgfJb7C\/pLBQu7IGN7hjyXPo+5NZYh+C9WSC+EAjBGQV9RQNJ5ZURuo9uBziBQ1pA5+t\/wDn4q2aLIi+2dG3hDUnG\/tyOH5qr+sYDSX2fDcNqmNkG\/4fMHvUjoWoMtxriTvkY17s8yDvPiVrnnTueFQ6mK4OdvX9F2VZt\/0WvriwgenACD2+qf29ysyqdfUwUOvaaeWZjIpKch7nOADThw39wVEM7rkeniGlwSezXwbdTehqGwv45n2cfnM\/arOqPqm+2+qmoX0c\/TvpZttwDSBjdzI38FIHV1XUEi32Opmb9692R3gA\/NScJOKKYYinGrPPW2me3Imr1Sdes1XTgBznxHZB+sN48QFxaQq+tadgyQXQkxOxyxw8CFx9LrGt3NgpaEfWdgn9b5clCW2ySOvVTZq24Swlo6TZhd6Mu4Hnz4cuRRR6rTZydZ9LGcYvPLPLmiSfcKODXlTUVFQyOKGnDQ4ncThu728T3Lsm1rRuk6G30tRXSn1QxpAd5+CitNWO31V2uIfCZ6ameGRGQ5ycnfuwDw7OausNPBTM2IIY4m\/VY0NHgk+FOww6rTi2mkm3zZWTJq265DI4rbC7Iy44djxOfgFsj0XFM8SXO41NY\/OSNrAPs35PbzVmRR6R7ZGj+2g85ty8fjQ4KKyWy3YNNRxse3g8jad3neu9EUG29S+MYxVoqwREXCQREQBERAEREAREQBERAEREAREQBERAEXwkAZJwAuaa5UFPumraeM9jpQCljjaWp1IoebVdkhJBrmuI5MY53iBhcUmurU04jiqpSeGyweZU1CT2KZYmjHWSLKq9rf8A5df+VatI1jJN\/ZbLVzdnL5AqK1Fd7rXWt0dTZ30kG207b85zyG8BThCSkrmfEYmnKlJRd8u5l1ov7DT\/AJJvyVesANPqu9QEY6R3SDfxGSf1lhBHq+pp4mslpKSPYaAdxOMe4qKNnr\/upbRVNzeyoqYukdNECNrAO7iPqrsYrNNkKlWTcGoPJ75a5FxvbQ+yVrCcF0D8b8ZOycKJ07erdSacpW1NZFE9ocCwu9L1jy4rnq9F0UVFPUSVdVK+OJzxtOGMgE9i+aUsNsq7NFV1FI2WZznZLySNxIG7guWjwanXKs66tFJ2er5o759a2WHOxLLNj\/txnzwuf7r6mf8AsViq5weDjkfIFT8FBR0uOr0kMWPqRgLoULwWxo4K71nbwXyeeammu1wp4qmutfVYoXENdnf6WNx7uxcemILhVXCWG3VYpZDES95GctyBjh7Ve9SRNm09Wtdn0Yi4Y7Rv8lUNCOIvzwOcDge9qvjK9N5Hm1qPDioptu\/82Jz7kaqo\/t99qph9VuQPZxJ+Sib3p+3WSqt0mJJKV8uzOZHZ3buzHLKvqh9U0fXLBUADLogJWjf97x4ezKrjUfErm2thaaptxWfmQ+qrbRUVNQRUlNFA6SpaNpreWOZ4nirgqPW17bjS6ccx21IZgx4O87TSwHf\/ADxV4XJ3skyWHcXObjpl6BVXVwlt1ZQ3unwHRO6KTA3kHJHhtd6tSrGqal9fPDYKRu3NM5rpjjcxuc\/x\/wDtcp9onirdE+\/bx2N2iqUw2Pp3g7dTI6Ql3EjgPln4qwqnW3UclloXWyvpJXVdKQyNrR64PDf7u8K3RPMkTHlhYXNBLXcW+wpUTvdnMLODpqMdUszNERVmoIiIAiIgCIiAIiIAiIgCKGu+mKK9VbamplnY9rAwCNzQMAk8we1cB0Da8bqirz+O391TSjuyiU6yfVhdeP6LDJW0kX9ZVQs\/GkAXHNqKzQ+vcYD+I7b+WVCn7H9JndXTY\/FCwk+x9AR9HcZGn8KMHzCko092USqYraC8yTfrKxt4VTn7uUTvMLmdrqgccQUlXKfYwDzXGzQc0O+G7kEHIHQYH6S6m2bU8I+hvcZ9jm7vkVK1PZlfSYv6lbwSfuffuous26m07Uk\/WftY\/R806\/q6p3RWyngH1nu\/+XknQ6zi\/wDVUc\/wA\/VC+G5atpjia0wTjgHRnju9jvJLLaw4p\/W5eS9rg23VtQMTXeCFp5RjeO5o+afctdJMmfUdUfY3ax+kn3VXOLJqdO1LGji4bWP0ceK2wa4tMmBMJ6d3A7bMgd2U\/wAmyC\/tn2pP7to1jQ1G85qK6rl\/OAz4FdMOjLJF61O+U9r5D5YXXDqOzT42LjAMjPpu2PnhSEcsczdqKRr29rTkKDlPc0QoYZ5xSf5OKGxWmDHR26nyBgExhx8V2xwxQt2Yo2Rt7GtACzRQbb1NEYRjorBQGtWl2nJCPvZGE96n1CawbtaYq92SNgj\/AFhSh2kVYhXoy8GSdA4Pt1M4cDCw+AUBfT1TVtnrT6r8wk9md3H89TVmdt2ShcTkmnjyfbshQ+t43NttNWMHpU1QHZHIH+IC7Dt2K6\/+ji7rPyJu5\/3VV\/kH\/olRmjP+WoPxn\/pFSVc4T2eodH6Qkp3Fu\/jlpwozRZB03CBye8HvT6GSf\/Yj4P1RPIiKs0kdqAhun64n\/suHgqLpaR9DqSkDyAJm7J38Q4bvHCuuqTjTdafwAP8AcFQZqjqV0oalrc9DFBJgbs4aCtNJXi0eRjZcNaMu63qeqL4QCMEZBWEE8dTBHPE7ajkaHNPaCtizHr6nn14omWnVUbrdD03RgVHVxwYRknGPcCrFDrO0PY0zvlp3Hi18ZOD8Mrmoz1r7IFbIN7aeANz7fRGPE9ysEtBRTkGakgkIOQXxg4PxV0mslI86hTmnKVNpK7ysQNVq5lUOrWSCSqqn7mktw1vt38V2afsj7a2SrrJOmr6jfJJnOyOwH+fBSsFNBTM2KeCOFp5RsDR4LaoOStZGmNKXFx1HdryRrfBDJIyR8THvZ6rnNBLfceS2IigaLBERAFyXGikroY446uWmLJGvLo+LgOX89i60ROxySUlZhERDoREQBERAEREAREQBERAEREAREQBapqWnqRieCOUYxh7A75raiHGk9SKm0zZZ87dviGTn0Ms+RCjpdE0rJOkt9bU0b\/wXZA7Ow+KsyKanJblMsPSlrFFX6nq2gOYK6CuYN+xLxPf+1ItZinf0N3t89JICRkNyD34PzVoWEkUczCyWNr2ni1wyF3jT1RDoJx\/1zf3zOaiutBcWg0lXHKT96Dh3cd659SxmXTta0HGI9ruIPkuav0ha6sh8LDRyg5D4Nw7uHdhRdZBqW1Uk8Dni50UkTmEn12t2SM9o3e9dio3umQqVKig41I67r41J7Tcgl07ROAxiIN7t3kvmpafrWnqyPG8M2xuz6pB8lD6QvtBHa4bdPUCKdhdgP3A5cTuPDmrU5rXsLHDLXDBHaFyV4zuTpONWgkntb8EVY6gVel6d5O1iAsdn8HLfJcehSTYDk8J3Y7gufSxdRuu1okO+neXMzzB3Z924H4rfoX+4Hfl3fIKUlZSKaUuKVNvWzXlYsiIipPQIfVZDdM1hP1Wj\/cFRqul6Z78AkxUEUjfdhm\/d7CVb9cTGOwdEM5nmazA58T5BRYpP\/MtZR7A3Wzow3l6jQtNN2j\/OR5GMj0lW3gvU6dDXUSUjrbK49JGS+LPNh4ge4571Z6upZR0ktTIQGRMLjk9gVLtVqnr7NS3GheW3Cje9vpAenvyAc+\/uKkKulv8AqENpKqKOhpA\/Mpa4kyb+Xd4hRnFOV7ltCrUjRUbXdsv5yN+jaYmhnuchLpa2UuJPYCR2nnlWNa6eCOlp46eFuzHE0NaOwBbFVJ3dzbSp9HBRCIiiWhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAWLmh7C08CMLJEBSdNWWgu1pqYKynAlincBJGcPbuHPv4rq2b9ppwDNq528HJGMvYM7\/AG\/Me5bNOf0bUt6oyMB0nSNHHdk\/vBWhXTm1LkefQoRlTTWUldXXJ795Qp73RO1FTXWmeGtqYuiqGOyCw4xk\/DHs3KZ0L\/cDvy7vkF9v2k6OugknpY2U9S0F2WjDX+wjh8VEaP1DS0UX2uqsRBzy9sznejk43Hs4cVJ2lDqlMOKjiF0rVnf82L0i+NcHNDmkEEZBHNfVnPWKvqXNZqG0W4cNvpXgcSM\/sa5fYP8AESp\/yw+TVjbP+Ka0rK4AGGjb0THA538P3uHmsoP8RKn\/ACw+TVforcjzO1Lj75eisNIf0aqutu5QVGW+45H6oVnVXjPUfsgyB25tdB6PvAH7p71aFCprfvNWGyg49zaCIirNIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQFXqCbfr+GZ26Ouh2M458Md7W96tCr2saSSS2RVsAzLRSiUfi893vwfgpm31ba+3wVbMYlYHYB4HmPgdyslnFMzUurUnD7+f7Mqt\/R0c793oxuO\/3LzSmtbobfDdpqbrNG4uZK1pw5m\/Gd3D9vHir5qefq+nKx+SNpmxu\/CIHmvunaYQaco4Xt3Oi2i07\/AFsnzUoS4Y3Ka9JVqqi9lf8AJXLfdZ7FHG9tT9sLQ47ILANuHPJw5H2cPcpy7ajpqW2NmopmTz1AxTtZ6WTwzj2dnbuXPWaKttQ8ugfLS7QwWRkFp7\/d2qKmsk2lK6K5wM67SsGJQ4Ycz2\/xUupJ33Kv+RRi1bq9+tvcsOmrU612sNmOZ5j0kp35yeRz2KPg\/wARKn\/LD5NU\/RVtPcKVlTTSB8bxuPZ7D7VAQf4iVP8Alh8mqCbblcvqRjGNNR0uvc+avHVKu13RoAMM+y49o448Hd6tCgtZQCbTc7sZMTmvHeB8iVI2mY1Foo5jnL4WE57cb1x5wTLIdWvJd6T9jsREVZpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAxexskbo3tDmuBDgeYVSo6iXSFc+jrtt1tmeTBMMnY+HzHsyresJYY543Rysa9jhgtcMghSjK2T0KatNyalF2aKleq+PUlwo7RbphJCX7c7xkDA9\/HAz8SFbmMbHG1jBhrQAB2BaaahpKIO6tTxw7XHYaBldC7KSeSOUqcotyk7thfHNDmlrgCCMEHmvqKBeU+rgqNI3I11G18lsnP00Q\/6Z9nl3KUt9Eyrvrr\/AE9SySnnhDGtAOeA49nBTMsUc0TopWB7HjDmuGQQqhNBVaNr+s021NapnfSMJyYz\/PA8+B5K5PiVtzBOCotP6L38H8FnulN1y11VOBkyROAHtxu8VGaMqesadiaTkwvdGe\/I8CFNQTxVMDJ4Xh8cg2muHMKt6YHUr5d7bvDWydJGM5wM\/sLVFdlotm7VoSW917otCIirNQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBa5oYqiF8MzA+N4w5rhuIWxEGpUaCWXSd2NuqnF1uqXZglI3MPZ5H4Fb5x1DX0M2yQytg2XO5E8P1W96mbta4LvQPpphv4sdzY7kVRaqvqYW0sNXtGutNRz3l0e48eeMdxHtWiPXz3PLrXoJR2TuvdeWh6QixY9skbZGODmuALSOYWSznqBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAVP1zZ2vhF1hb6bMNmxzbyPw4K4LXPBHUwSQSt2o5Glrh2gqUJcLuU16Sq03BkTpKtFbYIMkbcOYnAcscPDCmlDadscljiqI31ImbK\/aaA3GzjIz8RjuUyk7cTsKCkqUVPUIiKJcEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "SCHWAGER SERVICE S.A.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "MAURICIO TORO CISTERNAS",
    "correoContacto": "mtoro@schwager.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN CORRECTIVA, MENSAJE DE ERROR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56950961726",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:55",
    "ubicacionGPS": "LatLng(lat: -22.2098695, lng: -68.8770623)",
    "horaLlegada": "11:19",
    "horaDespacho": "12:51",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 26/05/2026 12:55:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-WG0SgH8xFeLVu3B_PYVJunJZdIby22msThiYdNh_DeV-Vkd3Oqv
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76145047",
    "serieinterna": "TO3057",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se hace limpieza general\n•Se cambian gomas de ambas bandejas\n•Impresora va a quedar inoperativa por falta de revelador, pendiente cambio",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "12693",
    "observacion": "•Error C3A1, revelador magenta bajo\n•Pendiente cambio de unidad de imagen y revelado magenta, el tambor está rayado, y la unidad de revelado está vacía\n\n•Fusor con avulsión en rodillo de calor, recomendado cambio de rodillo de calor\n•Rodillo de guía de fusor no tiene platína metálica, está desviado pero no hace efecto mayor\n\n•Necesita cambio de residual, cliente no tiene respuesto\n•Cliente dice que to escanea a correo, pendiente revisión de configuración SMTP\n•Necesita cambio de gomas de ADF\n\n•Se usa RKIT2122×2 para bandejas 1 y 2\n\n•No se puede tomar contador por el error\n",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADvAVsDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEBwH\/xABOEAABAwMBBAYGAg4IBAcAAAABAAIDBAURBhIhMUETFFGRocEiMmFxgbEjUgcVFkJicnOCssLR0uHwJDM0NTd0kqIlNkNTFyZEVOLx8\/\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADMRAAIBAgQCCQQBBAMAAAAAAAABAgMRBCExQRJhEyIyUXGRscHRQoGh4fAFFCMzJDRi\/9oADAMBAAIRAxEAPwD2ZERAEREAREQBERAEREAREQBERAEREAREQBERAFVbLqCpuGqamCR2xTuaWxxEg7Lm43g454cfirUvNbHKafWEUh9V874+\/I8wracU0zDiqkoTp2eVz0pERVG4IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC8xIMMbq8DfTXLuzv8A1V6cvPKiHNFqKAgZgqmyNxuHruG4cOBV1Lc87HK\/D9\/S\/sehAgjIOQV9XJapjUWijmJyXwMJ9+BldapeR6EXdJhERDoREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBUqSMC+ajpMhvSUrpADzOAfNXVVauY2n15TOPqVlOWP9pwR5NVlPcyYpXUXz9ciQ0lL0umqXjloc3f7HFTKrOhnkWmend60NQ4Y7Nw88qzLk1aTLMM70YvkERFAvCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKsas+guVmrODY6jDj7MtPkVZ1XNcQGSwiZu4wStfn2Hd8yFOn2kZsUv8Mmts\/LM1aeHVNU3miP37hMN\/AZz+uFaFU2Tga3oqpu5lfSB3e0\/uhWxdqapnMK+q4rZv59wiIqzUEREARVGF121NVVc1LcnUNPTv2I2sydogcyMe\/nx9y6aW91tsubLXeWhwfgRVfAO3Adm\/f3Kx039zKsTF5tWT0ZZURFWagiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCItVVN1ekmnxno2OfjtwMocbsrm1FGafuEt0tEdXMAHvc71eHrHu8VISyxwxukleGMaMlzjgBdas7HIzUoqS0Zmi5KG6UVyD+qTtkLCQ4cCPgfeutcasdUlJXTCjtQMZJYK1shAHQuIyeY3jxwpFQ2rXlmmawt44aO94ClHtIrrO1KT5Mq\/Wmm1WCuDsupKgwyc8bwQP8ASvQV5LTyF1pq4QBlj45geYxlp3\/nBeq00onpYpgciRgdn3jKtrKxhwE+K\/gvj2NqIo68Xqns0MbpWukkldsxxs4u7fLvCpSbdkejKUYLiloSKLgs91ju9F07GOje1xZJG7i1w4rvRqzsxGSklJaFZ0IHCyz7YId1p2c8fVapLUNs+2tolgaPpWjbj\/GHL48FF6N\/o010t53OgqM8MZG8eStCnN2ndGbDxU8OovwIjS9wNxsUEj3bUseY5D7Rw8MH4qXVX081tFqe729ow0kStHIDOf1laFyatLIsw8nKmr6rLyCIigXhERAEREARFpqauno4ulqZ44Wdr3AZQ42krs3Iq3PrKnkk6va6WaunI9ENbgHdnPb4LV9qdQ3lwfc64UUDhvgpyQcdh\/iSp8D+rIzvEReVNcT5aeZI3LU9stwkaZhNMwf1Ue\/f2E8At1BcK6poo55rY+N7wTs7YGBndx38MLG2adtlqw6CDbkH\/Vl9J38PgpRG46IlCNVu83bkgiIoF4REQBERAEREAREQBERAEREAXFeX9HZK52cEU78H27JXaozUjtjTtac4+iI79y7HVFdV2pyfJmjSDNjTNJuwXbZP+srh1Q6W5XWgsUL9lsp6WYg7w3f5B273KU003Y07RDGPo895JUbb\/p9d3CV2T0MIY3B3D1f4+KtXabMklejTp99l+DXNDDZdY0Rp4WxQ1cXREN3DI3cP9P8AOValWdasdFTUVwYMvpKgEfHf82hWRjxJG17eDgCFGWaTLqPVqTgvHzMlEarZ0mmqxvY1p7nA+Sl1w3qA1NlrIWjLnQuwO04yFGOUkW1VenJcmeXRt6MzRneHw5Jxw4O8sL06wS9PYKF+c\/QtaT7hjyXnE+zP1AtALnxCNw9ocR8sK9aMm6XTcLc5MT3sPfnzWit2bnkf092quPL4J5Vedja7X8UcvpNpIA9rfbxHiQfgrQqxbfpNfXN7uLIQ0ez1FTDd8j0sRnwLmj5Zc0GsLpQZHRyt6ZoA3DfnA7PXPcrQqvX5ptf0Eo9WeAtPLJ9L+CtCT2Yw2SlHub+SrO\/4d9kBp4Mr4cH34\/a3xVpVZ1lG6BlDdYwS6knGQByO\/wCYA+KskcjZY2yMOWvAcD2gpLNJij1Zzhzv5\/srUOG\/ZDqOW3TA7xxOGqzqsTk\/+IdMM7urH5OVnXJ7eAw\/1r\/0wiLGSRkTC+R7WNHEuOAFA0mSKGrtV2ihBHWRO8A+hD6XjwXB9utQXQ4tdr6vETumqN27tGceGVNQkZ5YimnZO75ZlnJAGScAKHr9VWmhOx1jrEnJkHp+PBcA0pW1+HXm7yz8+ii3NHfu8Ape32C2WzZdTUzekaP6x\/pO7+XwXbQWruR4q8+yuFc8\/wAfshhcdT3nHUaRtvgJ\/rZeOPj5BboNHRSTNnutbPXyDk5xDf2+KsiJxvbI6sNF51HxeOnloaqelp6WPo6eGOJvYxoC2oirNCSWSCIiHQiIgCIiAIiIAiIgCIiAIiIAiIgChtWuLdMVhHYwd72qZUDrR+zpuYb\/AEnsHjnyUodpFOIdqMvBnfY2htioAP8A28Z72gqH08ek1RfJDv2ZA3I5byMeCnba3YtdIzGNmBgx2eiFBaT33S9ucMPNT6Xe7+KktJFMl1qS\/mh1ayZt6aqHfUcx3+4DzUna39LaaOT68DD3tC4tVs6TTVY3sa09zgfJb7C\/pLBQu7IGN7hjyXPo+5NZYh+C9WSC+EAjBGQV9RQNJ5ZURuo9uBziBQ1pA5+t\/wDn4q2aLIi+2dG3hDUnG\/tyOH5qr+sYDSX2fDcNqmNkG\/4fMHvUjoWoMtxriTvkY17s8yDvPiVrnnTueFQ6mK4OdvX9F2VZt\/0WvriwgenACD2+qf29ysyqdfUwUOvaaeWZjIpKch7nOADThw39wVEM7rkeniGlwSezXwbdTehqGwv45n2cfnM\/arOqPqm+2+qmoX0c\/TvpZttwDSBjdzI38FIHV1XUEi32Opmb9692R3gA\/NScJOKKYYinGrPPW2me3Imr1Sdes1XTgBznxHZB+sN48QFxaQq+tadgyQXQkxOxyxw8CFx9LrGt3NgpaEfWdgn9b5clCW2ySOvVTZq24Swlo6TZhd6Mu4Hnz4cuRRR6rTZydZ9LGcYvPLPLmiSfcKODXlTUVFQyOKGnDQ4ncThu728T3Lsm1rRuk6G30tRXSn1QxpAd5+CitNWO31V2uIfCZ6ameGRGQ5ycnfuwDw7OausNPBTM2IIY4m\/VY0NHgk+FOww6rTi2mkm3zZWTJq265DI4rbC7Iy44djxOfgFsj0XFM8SXO41NY\/OSNrAPs35PbzVmRR6R7ZGj+2g85ty8fjQ4KKyWy3YNNRxse3g8jad3neu9EUG29S+MYxVoqwREXCQREQBERAEREAREQBERAEREAREQBERAEXwkAZJwAuaa5UFPumraeM9jpQCljjaWp1IoebVdkhJBrmuI5MY53iBhcUmurU04jiqpSeGyweZU1CT2KZYmjHWSLKq9rf8A5df+VatI1jJN\/ZbLVzdnL5AqK1Fd7rXWt0dTZ30kG207b85zyG8BThCSkrmfEYmnKlJRd8u5l1ov7DT\/AJJvyVesANPqu9QEY6R3SDfxGSf1lhBHq+pp4mslpKSPYaAdxOMe4qKNnr\/upbRVNzeyoqYukdNECNrAO7iPqrsYrNNkKlWTcGoPJ75a5FxvbQ+yVrCcF0D8b8ZOycKJ07erdSacpW1NZFE9ocCwu9L1jy4rnq9F0UVFPUSVdVK+OJzxtOGMgE9i+aUsNsq7NFV1FI2WZznZLySNxIG7guWjwanXKs66tFJ2er5o759a2WHOxLLNj\/txnzwuf7r6mf8AsViq5weDjkfIFT8FBR0uOr0kMWPqRgLoULwWxo4K71nbwXyeeammu1wp4qmutfVYoXENdnf6WNx7uxcemILhVXCWG3VYpZDES95GctyBjh7Ve9SRNm09Wtdn0Yi4Y7Rv8lUNCOIvzwOcDge9qvjK9N5Hm1qPDioptu\/82Jz7kaqo\/t99qph9VuQPZxJ+Sib3p+3WSqt0mJJKV8uzOZHZ3buzHLKvqh9U0fXLBUADLogJWjf97x4ezKrjUfErm2thaaptxWfmQ+qrbRUVNQRUlNFA6SpaNpreWOZ4nirgqPW17bjS6ccx21IZgx4O87TSwHf\/ADxV4XJ3skyWHcXObjpl6BVXVwlt1ZQ3unwHRO6KTA3kHJHhtd6tSrGqal9fPDYKRu3NM5rpjjcxuc\/x\/wDtcp9onirdE+\/bx2N2iqUw2Pp3g7dTI6Ql3EjgPln4qwqnW3UclloXWyvpJXVdKQyNrR64PDf7u8K3RPMkTHlhYXNBLXcW+wpUTvdnMLODpqMdUszNERVmoIiIAiIgCIiAIiIAiIgCKGu+mKK9VbamplnY9rAwCNzQMAk8we1cB0Da8bqirz+O391TSjuyiU6yfVhdeP6LDJW0kX9ZVQs\/GkAXHNqKzQ+vcYD+I7b+WVCn7H9JndXTY\/FCwk+x9AR9HcZGn8KMHzCko092USqYraC8yTfrKxt4VTn7uUTvMLmdrqgccQUlXKfYwDzXGzQc0O+G7kEHIHQYH6S6m2bU8I+hvcZ9jm7vkVK1PZlfSYv6lbwSfuffuous26m07Uk\/WftY\/R806\/q6p3RWyngH1nu\/+XknQ6zi\/wDVUc\/wA\/VC+G5atpjia0wTjgHRnju9jvJLLaw4p\/W5eS9rg23VtQMTXeCFp5RjeO5o+afctdJMmfUdUfY3ax+kn3VXOLJqdO1LGji4bWP0ceK2wa4tMmBMJ6d3A7bMgd2U\/wAmyC\/tn2pP7to1jQ1G85qK6rl\/OAz4FdMOjLJF61O+U9r5D5YXXDqOzT42LjAMjPpu2PnhSEcsczdqKRr29rTkKDlPc0QoYZ5xSf5OKGxWmDHR26nyBgExhx8V2xwxQt2Yo2Rt7GtACzRQbb1NEYRjorBQGtWl2nJCPvZGE96n1CawbtaYq92SNgj\/AFhSh2kVYhXoy8GSdA4Pt1M4cDCw+AUBfT1TVtnrT6r8wk9md3H89TVmdt2ShcTkmnjyfbshQ+t43NttNWMHpU1QHZHIH+IC7Dt2K6\/+ji7rPyJu5\/3VV\/kH\/olRmjP+WoPxn\/pFSVc4T2eodH6Qkp3Fu\/jlpwozRZB03CBye8HvT6GSf\/Yj4P1RPIiKs0kdqAhun64n\/suHgqLpaR9DqSkDyAJm7J38Q4bvHCuuqTjTdafwAP8AcFQZqjqV0oalrc9DFBJgbs4aCtNJXi0eRjZcNaMu63qeqL4QCMEZBWEE8dTBHPE7ajkaHNPaCtizHr6nn14omWnVUbrdD03RgVHVxwYRknGPcCrFDrO0PY0zvlp3Hi18ZOD8Mrmoz1r7IFbIN7aeANz7fRGPE9ysEtBRTkGakgkIOQXxg4PxV0mslI86hTmnKVNpK7ysQNVq5lUOrWSCSqqn7mktw1vt38V2afsj7a2SrrJOmr6jfJJnOyOwH+fBSsFNBTM2KeCOFp5RsDR4LaoOStZGmNKXFx1HdryRrfBDJIyR8THvZ6rnNBLfceS2IigaLBERAFyXGikroY446uWmLJGvLo+LgOX89i60ROxySUlZhERDoREQBERAEREAREQBERAEREAREQBapqWnqRieCOUYxh7A75raiHGk9SKm0zZZ87dviGTn0Ms+RCjpdE0rJOkt9bU0b\/wXZA7Ow+KsyKanJblMsPSlrFFX6nq2gOYK6CuYN+xLxPf+1ItZinf0N3t89JICRkNyD34PzVoWEkUczCyWNr2ni1wyF3jT1RDoJx\/1zf3zOaiutBcWg0lXHKT96Dh3cd659SxmXTta0HGI9ruIPkuav0ha6sh8LDRyg5D4Nw7uHdhRdZBqW1Uk8Dni50UkTmEn12t2SM9o3e9dio3umQqVKig41I67r41J7Tcgl07ROAxiIN7t3kvmpafrWnqyPG8M2xuz6pB8lD6QvtBHa4bdPUCKdhdgP3A5cTuPDmrU5rXsLHDLXDBHaFyV4zuTpONWgkntb8EVY6gVel6d5O1iAsdn8HLfJcehSTYDk8J3Y7gufSxdRuu1okO+neXMzzB3Z924H4rfoX+4Hfl3fIKUlZSKaUuKVNvWzXlYsiIipPQIfVZDdM1hP1Wj\/cFRqul6Z78AkxUEUjfdhm\/d7CVb9cTGOwdEM5nmazA58T5BRYpP\/MtZR7A3Wzow3l6jQtNN2j\/OR5GMj0lW3gvU6dDXUSUjrbK49JGS+LPNh4ge4571Z6upZR0ktTIQGRMLjk9gVLtVqnr7NS3GheW3Cje9vpAenvyAc+\/uKkKulv8AqENpKqKOhpA\/Mpa4kyb+Xd4hRnFOV7ltCrUjRUbXdsv5yN+jaYmhnuchLpa2UuJPYCR2nnlWNa6eCOlp46eFuzHE0NaOwBbFVJ3dzbSp9HBRCIiiWhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAWLmh7C08CMLJEBSdNWWgu1pqYKynAlincBJGcPbuHPv4rq2b9ppwDNq528HJGMvYM7\/AG\/Me5bNOf0bUt6oyMB0nSNHHdk\/vBWhXTm1LkefQoRlTTWUldXXJ795Qp73RO1FTXWmeGtqYuiqGOyCw4xk\/DHs3KZ0L\/cDvy7vkF9v2k6OugknpY2U9S0F2WjDX+wjh8VEaP1DS0UX2uqsRBzy9sznejk43Hs4cVJ2lDqlMOKjiF0rVnf82L0i+NcHNDmkEEZBHNfVnPWKvqXNZqG0W4cNvpXgcSM\/sa5fYP8AESp\/yw+TVjbP+Ka0rK4AGGjb0THA538P3uHmsoP8RKn\/ACw+TVforcjzO1Lj75eisNIf0aqutu5QVGW+45H6oVnVXjPUfsgyB25tdB6PvAH7p71aFCprfvNWGyg49zaCIirNIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQFXqCbfr+GZ26Ouh2M458Md7W96tCr2saSSS2RVsAzLRSiUfi893vwfgpm31ba+3wVbMYlYHYB4HmPgdyslnFMzUurUnD7+f7Mqt\/R0c793oxuO\/3LzSmtbobfDdpqbrNG4uZK1pw5m\/Gd3D9vHir5qefq+nKx+SNpmxu\/CIHmvunaYQaco4Xt3Oi2i07\/AFsnzUoS4Y3Ka9JVqqi9lf8AJXLfdZ7FHG9tT9sLQ47ILANuHPJw5H2cPcpy7ajpqW2NmopmTz1AxTtZ6WTwzj2dnbuXPWaKttQ8ugfLS7QwWRkFp7\/d2qKmsk2lK6K5wM67SsGJQ4Ycz2\/xUupJ33Kv+RRi1bq9+tvcsOmrU612sNmOZ5j0kp35yeRz2KPg\/wARKn\/LD5NU\/RVtPcKVlTTSB8bxuPZ7D7VAQf4iVP8Alh8mqCbblcvqRjGNNR0uvc+avHVKu13RoAMM+y49o448Hd6tCgtZQCbTc7sZMTmvHeB8iVI2mY1Foo5jnL4WE57cb1x5wTLIdWvJd6T9jsREVZpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAxexskbo3tDmuBDgeYVSo6iXSFc+jrtt1tmeTBMMnY+HzHsyresJYY543Rysa9jhgtcMghSjK2T0KatNyalF2aKleq+PUlwo7RbphJCX7c7xkDA9\/HAz8SFbmMbHG1jBhrQAB2BaaahpKIO6tTxw7XHYaBldC7KSeSOUqcotyk7thfHNDmlrgCCMEHmvqKBeU+rgqNI3I11G18lsnP00Q\/6Z9nl3KUt9Eyrvrr\/AE9SySnnhDGtAOeA49nBTMsUc0TopWB7HjDmuGQQqhNBVaNr+s021NapnfSMJyYz\/PA8+B5K5PiVtzBOCotP6L38H8FnulN1y11VOBkyROAHtxu8VGaMqesadiaTkwvdGe\/I8CFNQTxVMDJ4Xh8cg2muHMKt6YHUr5d7bvDWydJGM5wM\/sLVFdlotm7VoSW917otCIirNQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBa5oYqiF8MzA+N4w5rhuIWxEGpUaCWXSd2NuqnF1uqXZglI3MPZ5H4Fb5x1DX0M2yQytg2XO5E8P1W96mbta4LvQPpphv4sdzY7kVRaqvqYW0sNXtGutNRz3l0e48eeMdxHtWiPXz3PLrXoJR2TuvdeWh6QixY9skbZGODmuALSOYWSznqBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAVP1zZ2vhF1hb6bMNmxzbyPw4K4LXPBHUwSQSt2o5Glrh2gqUJcLuU16Sq03BkTpKtFbYIMkbcOYnAcscPDCmlDadscljiqI31ImbK\/aaA3GzjIz8RjuUyk7cTsKCkqUVPUIiKJcEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "SCHWAGER SERVICE S.A.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "MAURICIO TORO CISTERNAS",
    "correoContacto": "mtoro@schwager.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN CORRECTIVA, MENSAJE DE ERROR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56950961726",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:55",
    "ubicacionGPS": "LatLng(lat: -22.2098695, lng: -68.8770623)",
    "horaLlegada": "11:19",
    "horaDespacho": "12:51",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


26/05/2026 12:55:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76145047

[26/05/2026 12:55: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('76145047', 'TO3057', 1, 24456550, 0, NOW(), 
				'12:51', '11:19', '12:55', 3, '•Se hace limpieza general
•Se cambian gomas de ambas bandejas
•Impresora va a quedar inoperativa por falta de revelador, pendiente cambio', -1, 
				'', '','1','0',
				'0',2,'../csj.digital-service.cl/uploads/firmas/firma_0_1779814504.png', '•Error C3A1, revelador magenta bajo
•Pendiente cambio de unidad de imagen y revelado magenta, el tambor está rayado, y la unidad de revelado está vacía

•Fusor con avulsión en rodillo de calor, recomendado cambio de rodillo de calor
•Rodillo de guía de fusor no tiene platína metálica, está desviado pero no hace efecto mayor

•Necesita cambio de residual, cliente no tiene respuesto
•Cliente dice que to escanea a correo, pendiente revisión de configuración SMTP
•Necesita cambio de gomas de ADF

•Se usa RKIT2122×2 para bandejas 1 y 2

•No se puede tomar contador por el error
', null, 'REPROGRAMADO','LatLng(lat: -22.2098695, lng: -68.8770623)' )
				
[26/05/2026 12:55:04] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 0
TO ENVIO: micorreo@miempresa.cl, mtoro@schwager.cl


26/05/2026 12:55:04 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 12693			
				
26/05/2026 12:55:04 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('76145047', 'TO3057', 1, 'APP', 'sin otroTipo definido', -2, 'MANTENCIÓN CORRECTIVA, MENSAJE DE ERROR', 'Sin coderror', '1', 'SI', now(), 'MAURICIO TORO CISTERNAS', '+56950961726', 'mtoro@schwager.cl', 12693)
				
26/05/2026 12:55:04 Insertado nuevo llamado creado idllamado: 12749APP
26/05/2026 12:55:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


26/05/2026 12:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

[26/05/2026 12:55:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:55:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

[26/05/2026 12:55:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                
[26/05/2026 12:55: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;
                
[26/05/2026 12:55: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;
				

[26/05/2026 12:55: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;
                
[26/05/2026 12:55: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;
				
[26/05/2026 12:55: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;
                

[26/05/2026 12:55: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;
                

[26/05/2026 12:56: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;
                

26/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:56: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;
                

[26/05/2026 12:56: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;
                

[26/05/2026 12:56: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;
                

[26/05/2026 12:56: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;
                
[26/05/2026 12:56: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;
                
[26/05/2026 12:56: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;
				

[26/05/2026 12:56: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;
                

26/05/2026 12:56:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:56: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;
                
[26/05/2026 12:56:25] 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;
                
[26/05/2026 12:56:25] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

[26/05/2026 12:56: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;
                

26/05/2026 12: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 = 12693
                

[26/05/2026 12:56: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;
                

[26/05/2026 12:56: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;
                

[26/05/2026 12:56: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;
                

26/05/2026 12: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 = 12693
                

26/05/2026 12:56:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:56:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:56:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12:56:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:56:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

[26/05/2026 12:56:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12: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 = 12693
                

[26/05/2026 12:56:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:56:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:56:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:56:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:56:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:56:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12693
                

26/05/2026 12:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12693
                

26/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:58: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;
                

[26/05/2026 12:58: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;
                

26/05/2026 12: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 = 12693
                

26/05/2026 12:58:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:58: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;
                

26/05/2026 12: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 = 12693
                

26/05/2026 12:58:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:58:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

[26/05/2026 12:58:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:58:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            
[26/05/2026 12:58:32] 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;
                
[26/05/2026 12:58: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

26/05/2026 12:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 12:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

[26/05/2026 12:58: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;
                

26/05/2026 12: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 = 12693
                

26/05/2026 12:58:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:58:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12:58:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

[26/05/2026 12:58:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 12:58:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 12:58:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 12:58:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12693
                

26/05/2026 12:58:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 12: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 = 12693
                

26/05/2026 13:00:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

[26/05/2026 13:00: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;
                

26/05/2026 13:00:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 13:00:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 13:00:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 13:00:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            

26/05/2026 13:00:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 13:00:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

[26/05/2026 13:00: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;
                

[26/05/2026 13:00: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;
                

26/05/2026 13:00:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12693
            GROUP BY l.idllamado;
            
[26/05/2026 13:00:54] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[26/05/2026 13:00:54] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

26/05/2026 13:00:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 13:00:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 13:00:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/2026 13:00:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12693
                

26/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/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 = 12735
                

26/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

[26/05/2026 13:12: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;
                

[26/05/2026 13:12: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;
                

26/05/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 = 12735
                

26/05/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 = 12735
                

26/05/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 = 12735
                

[26/05/2026 13:12: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;
                

26/05/2026 13:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 13:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 13:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

[26/05/2026 13:12: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;
                

26/05/2026 13:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 13:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 13:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 13:12:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 13:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

[26/05/2026 13:12: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;
                

[26/05/2026 13:12: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;
                

26/05/2026 13:12:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 13:12:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 13:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 13:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 13:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

[26/05/2026 13:12: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;
                

26/05/2026 13:12:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/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 = 12735
                

26/05/2026 13:12:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

[26/05/2026 13:12: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;
                

26/05/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 = 12735
                

26/05/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 = 12735
                

26/05/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 = 12735
                

26/05/2026 13:12:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12751
            GROUP BY l.idllamado;
            

26/05/2026 13:12:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12751
            GROUP BY l.idllamado;
            

[26/05/2026 13:12: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;
                

26/05/2026 13:12:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12751
            GROUP BY l.idllamado;
            

26/05/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 = 12751
                

[26/05/2026 13:12: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;
                

26/05/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 = 12751
                

26/05/2026 13:12:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12751
                

26/05/2026 13:12:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12751
                

[26/05/2026 13:12: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;
                

26/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12751
            GROUP BY l.idllamado;
            

26/05/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 = 12751
                

[26/05/2026 13:12: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;
                

26/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12751
            GROUP BY l.idllamado;
            

26/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12751
            GROUP BY l.idllamado;
            

26/05/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 = 12751
                

26/05/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 = 12751
                

26/05/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 = 12751
                

26/05/2026 13: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12751
            GROUP BY l.idllamado;
            

26/05/2026 13: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 = 12751
                

26/05/2026 13: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 = 12751
                

26/05/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 = 12751
                

26/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12751
            GROUP BY l.idllamado;
            

26/05/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 = 12751
                

26/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12751
            GROUP BY l.idllamado;
            

26/05/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 = 12751
                

26/05/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 = 12751
                

26/05/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 = 12751
                

26/05/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 = 12751
                

26/05/2026 13:13:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12751
            GROUP BY l.idllamado;
            

26/05/2026 13: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 = 12751
                

26/05/2026 13: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 = 12751
                

26/05/2026 13: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 = 12751
                

26/05/2026 13: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 = 12751
                

26/05/2026 13:13:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12751
            GROUP BY l.idllamado;
            

26/05/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 = 12751
                

26/05/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 = 12751
                

26/05/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 = 12751
                

26/05/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 = 12751
                

26/05/2026 13:13:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12751
            GROUP BY l.idllamado;
            

26/05/2026 13:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12751
                

26/05/2026 13:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12751
                

26/05/2026 13:13:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12751
            GROUP BY l.idllamado;
            

26/05/2026 13:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12751
                

26/05/2026 13:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12751
                

26/05/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 = 12751
                

26/05/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 = 12751
                

26/05/2026 13:15:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12751
            GROUP BY l.idllamado;
            

26/05/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 = 12751
                

26/05/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 = 12751
                

26/05/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 = 12751
                

26/05/2026 13:15:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12751
            GROUP BY l.idllamado;
            

26/05/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 = 12751
                

26/05/2026 13:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12751
                

26/05/2026 13:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12751
                

26/05/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 = 12751
                

26/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12751
            GROUP BY l.idllamado;
            

26/05/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 = 12751
                

26/05/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 = 12751
                

26/05/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 = 12751
                

26/05/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 = 12751
                

26/05/2026 13:16:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12751
            GROUP BY l.idllamado;
            

26/05/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 = 12751
                

26/05/2026 13:16:12 - logentry: =========================================
FECHA: 26/05/2026 13:16:12
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-uFojwZ4SUJ_yYu8-x+4BZuphp8n+uCRJMj.r7X723_8MU9lkUEV
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3126",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "1018",
    "contadorColor": "1638",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\najustes, limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12751",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADMAQYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABGEAABAwMCAwUFBQUECQUBAAABAAIDBAURBiESMUETUWFxgSKRobHBFCMyQvAVFiTR4TNDUqIlU2Jyc5KywtIHJlRW8WP\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAA0EQACAQIDBgQGAQMFAAAAAAAAAQIDERIhMQQTQVFh0SIycYGRobHB4fAjFEJTBTNSYvH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAERZ66anbHP9gtEf22tccDhGWsPj3\/IdV1Rb0K6lSNNXky5rK6lt8Bnq5mxRjq7r5DmVn36ouFxf2djtj5W5x28oPB9APUr1R6WlrJxXX+oNVMdxCHewzw\/oNvNaRjGRsDI2hjWjAa0YAU\/DHqU2rVf+q+f4IlpjuMVFw3OWOWfiJ4o+WDyHIKaiKDdzRFYVYrL7U3GjohUW+JkpjcHSsIySzrhdrVdKe70bamnPP8TDzae4qaspURfu3qaOsjIbRXA8ErTsGO\/W\/vUopSVuJRUlKnJTv4Xr069zVoiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAuc88VNC+aeRscbBlznHAC51tbT2+lfU1MgZGwbnv8B4rMRUddq+obVVpdTWxh+6hBwZB3\/wBfd3qcY3zehRVq4Xhiryf7mfX1dz1bM6ChJpLY12HzH8Unh\/T3lX9qs1HZ4OzpY\/aIHHI7dz\/NS4YY6eFkMLAyNgw1rRsAuiSlfJaHKdHC8cneXPsERFA0BERAFS6tpG1enajI9qHErT3Ec\/gSrpcauH7TRzwH+9jcz3jC7F2aZXVjjg48yPZaw3Cz0tUSS57MOJ6uGxPvBU5ZzQ0pk0\/wk\/2czmj4H6rRrs1aTRGhPHSjJ8giIolwREQBERAEREAREQBERAEREAREQBERAEREAUetrae30r6mpkDI2Dc9\/gPFfayrgoKWSpqHhkcYyT9B4rM0VNUasrRcLgx0duiP3EH+s8T9T6KcY3zehRVquLUIZyf7dn2kpKnVVY24XBhjt0Z+4pz+fxK1bWhrQ1oAAGAB0RrQ1oa0AADAA6L6uSlclSpKC5t6sIiKJaEREARFSXjUsFvf9lpW\/a65x4Wws3wfH+XPyXUm3ZEJ1I01eTLWqq6eigdPUytijbzc4rOyanrbnM6CwUBm4T7U0ow0fLHqfRfKPTVTcpxXahmMryPZp2nDWeBx8gtBJHFQ2+UU8bIWRxuLQ0YAwFPwx6sz3q1Ffyx+f4MTpi23avt7zR3Q0dMJiHBoPEXcI36dCOvRXI0zd4zxs1NVFwGwc1xB97iumh4wzTwcBjjlc4+PIfRaJSnNqTsVbPs0JUot3v6sy1PerpZKiKlv7WvhkPCyqYNvU+7pnqtQCCMg5BVffaBtxs9RAWhz+Aujz0cBso2k611bp+AvfxPhzE4+XL4YUXZrEXU3KnU3bd1a67F0iIqzUEREAREQBERAEREAREQBERAEREAXOaaOnhfNM8MjYMuc47ALosjXTzatuH7OonFlup3gzzA\/jPh8ce9SjG5TVq4Flm3ojzwT6yuIkcHRWinf7IIwZT1\/XQeK1sUUcMTYomBjGDDWtGAAvkEEVNAyCFgZHGOFrR0C6JKV8loKVLBdvOT1f7wCIiiXBERAERZi8XSqudebFaDh3KpnHJg6j6fBSjG7KqtRU1d+3UXa91dxq3Wexe1L\/e1AOAwdcHp5+5WVl0\/SWaPiYO1qXD25ncz347gu1ptFLZ6QQUzck7vkP4nnxU9dcsrR0K6dJt7ypnL6encKs1HUil0\/WyE7mIsHm72fqrNZnWT3VLKK0xH7yqmBO2dh\/U\/BIK8kS2iWGlJosdMwfZ9O0TCMF0fH\/wAxz9VaryxjY2NYwYa0AAdwXpRbu7lkI4IqPILMaK9mK4RNADGVJDQByWnWY0Vh8Nwlbux9UcHof1lSj5WU1P8Aeh7mnREUDSEREAREQBERAEREAREQBERAERVGor220UWIsPq5fZhjxnfvx+t11Jt2RCc4wi5S0RX6hudRWVjLDa3AyzbTyD+7b1HhtzV1arXT2iibTU425ucebz3lQ9OWZ1spXT1JL6yqPHM53ME74z8\/FXKlJryopowbe9nq\/kv3UIiKBpCIiAIig3i5xWi3SVUhGQMRtP5n42C6ld2IykopyehXajvM1M+K12326+pOBj+7B6+fywSpdjskNlpSxp7SeTeWU\/mP8lnYXvsttkvFU0Pu1xcTA1zSeHPh6\/ILYUbqh9HE6qaxs7mAyNZyB7lZLJWRkoveVHOWvDou7OyIiqNoWVtobetYVdwc0mGhHZRZ5F24z\/1H1CnaruhoLX2EJ\/iao9nGBzAPM\/TzIUuw2wWm0w02B2mOOUjq88\/dy9FYvDG\/Myz\/AJKqhwjm\/t3LFERVmoj3Cf7NbqmfOOzic4HyCp9Ew9npyN+AO1ke7z3x9F21dU\/ZtOVGPxS4jHqd\/hlTLJT\/AGWyUcJ5tiaT5kZPxKs0gZn4to9F9X+CciIqzSEREAREQBERAEREAREQBERAcKyrhoKSSqqH8MUYy4rO6fpKi8V\/7wXEEEEtposbBvf5bnHjkrnWyP1VfP2fC57bdRu\/iHA\/jdv\/ACwPUrVxxsijbHG0NYwBrWgbADkFZ5VbizIv554v7Y\/N\/g9IiKs1hERAEREB8JAGScALINI1Xf3yyEfsqgOCC72ZDvv6\/IeKstWXF9NQNo6Yk1VY4Rsa074PrnwUK9MFi0rBaadw7epIi25vz+M+W+PIhWwVvVmHaJqTafljm+r4I+W9p1HqV90eD9jojwQA4Ic4evec+5axQ7Tb2Wu2Q0bMEsb7Th+Zx5n3qYoTd3kX0KbhG8tXmwod0ulPaaJ1VUHYbNaDu89wUO8ako7WexaftFWdmwsPI9OI9FAt1iq7lVNul+cXSY+6phs1gx1HTy966o8ZaEZ1m3gp5v5L17H2x2+quVwGoLnlr3DFPD0a3ofqPetMiLkpXZZSpqnGyCIiiWmX1cftVZarY0Z7aficOmNh9T7lqFloCblr6WTnHb4uEb\/m5fNx9y1KsnkkjNQ8Upz5u3wCIirNIREQBERAEREAREQBERAFn9UXaSCNlrohx1lZ7GBzY07Z\/XirW53CG10ElZPktYNmjm4nkAqfTFBPNLLfa\/Jqar+zB5NjOMY\/XLzU4q3iZmrScmqUdXr0RZ2S0xWa3MpmYdJzkkAxxu\/WysEXiSWOFhfLI1jRzc44Ci227l8YxhFJaI9oszfdYQULY2W2SGqlLvb34mhvmOvl3L5++jZtqG1VdUfBuM+7PVS3crXsUPaqKk430NOiwR11dSJZG0lKGNcAA4O9nOdjvudvgrVrtZVDQQ2kpxjOSBv6brrptakI7ZCfkTfsahfHODWlziAAMknosz+zNWTbzXmCPPSNvL\/KFWX63XS2ULZZr\/UTvkeI2wtLhx\/5voigm7XE9plGLlgdvbuS7O9l61JPeqhwbTwHsqUPOMnpz8DnHe5cjc6Gs1g+sq6uOOmoG8MWXfjdy2798nbwVVedNz2ahgneTLG5v3uHYDJCNsDuHf18FMtWjoLraYqplw4ZH\/iDWBwae7mN8YV1o63y0MClWb3ajnfE+pdVGt7VGCKds1S\/oGMwPj\/JRzJqi+gNZG210rxu4n2yPn8lbQm1WCkjhlnp4XsaOInhDnHHPAGT1VfUa1pXS9hbaSetlPLhaQD5dfgq0v8AijXN\/wCapbov1sn2jTlDaBxsZ21QfxTSDLvTuVssw6t1dVn7i3wUsbuTpCOIDxBP0QWbU1Sc1V8bD1xC3l7gFFxvnJlkKqisNODt6W+pp0WY\/da6\/wD2es9zv\/NP3Xuw3Gp6skcsh3\/muYY8ye9q\/wCN\/FdzTrjVVDKSkmqX\/hiYXn0GVnjadVU4\/h73HJ0xK3p6gqrv1w1FTUZoLiyBzascLHxfiOCMgY9OnVSVO7yZCptThFtwaLjRcLjbZ6+XeWsmc8nvAP8APiWjWasWpbS2mp7eTJSyRgRhso2LvPz78LSqM74syzZnDdJRd7BFEuNzpLVTGerlDG\/lHMuPcB1UWz6gpb0+ZkDXtMR\/N1b0KjhdrljqwUsDeZaoiLhYFzmmjp4XzTPDI2DLnOOwC6LK3+omvd1j0\/RuIjaQ6reMYDcg\/D54UoxuyqtU3cb8eHqWtjvLr1DNMKUwxMeWseXZ4x5YRWFNTx0lNFTQt4Y4mhrR4BFx2vkSpqSilJ3Z1REXCYRFm9VX+Olo30NHK19XN925rNywHY8uR7lKMXJ2RXVqRpRcpESUnVeoAzP+jKA8RcQcSO2yD5\/IHvVjW6stlE8U1MH1co9lsdOMjPQZ\/llUtq0vdaqkZBWzuoqLPE6Fn43nvP8AXl3LV0FnoLY0CkpmMdjBfjLj6qyWFZamKgq0k5Ws3q39l3KLj1XeGZjbHbITkYcMPx65PyXRmjaeQ9tdbhUVb27kudwtA5nnk\/ELTKl1ZcPsFhm4TiSf7pvrz+GVxSbdo5Fs6NOMXOo3K3PtoU2lLbRVl0rLjFABTRP7OmY4Zx479cY961VwqG0VtqKjPCIonOGB3DZcLHQi3WampuEB4Zl+Bj2juVE1fOYNN1PCN5OFnvIz8FxvFMQjudnb42v7mDsFEbhe6WnxlvHxP2\/KNz8seq\/V1h\/\/AE\/pmuqKyqI9pjWsafPJPyC27nBrS5xAAGST0UqzvKxV\/p1PDRxcz6sJqa7w\/vTTiWIzQUJHEwH8TuZ+nuVtdNZUtM58NvjNbM0ElzfwNA5nI5+nvWZsNsdqS9TS1bj2eTLMW7ZJOwHdv8ApU4YbykQ2uuqjVKk7u5Y6ovEV4qKShoWmqDH8b2R5PG7uHftnfxUd1k1DSU9TXU8f2Nj8l9PDKc8PgMn55VppKkppLvcK+mjDKeM9jAOe3U58gPetcjng8KFPZ9\/erN5vl8DE6foNNVbw2V8ktZkAxVZ4TxDuA2PlutjT01PSx9nTwxxN7mNAVddtOW+7tLpY+zm6Sx7H17+aqxBqexNxBI250zeTXfjA+fpkqD8fEugns+ThlzX3WpqkWfo9Y2+Z\/ZVjJKGYc2yjYHz\/AJgK7hqYKlvFBPHK3vY4OHwUHFrU1QqwqeV3OqIiiWBZZmbzrhz+DNPbG8Oc7cf885\/5VeXe4Mtdrnq3ndjfYHe47Ae9V2j6A0llbNISZas9q4knkeXw39VZHKLZlq+OpGn7v7fMsbhaKC6R8FXTseej+Th5EbrLVFTcNFzMiFSyuo5QeCOR2HMx3Dp8vJae83aGz0D6mXBdyjjzgvd3KmslldV8d5vgEs07SWxyD2Y2eIPLb3DxXYOyvLQrrxUqiVPKfPkuvMr2RfaaCTUt7ljquFv8PTA5ZnkAR58x55VxpG3S09C+uq+I1VYeJxfzDRyH193cs7ZaCO7XuSkhmcbZTSmZsbxkOGcAevfzwv0FrQ1oa0AADAA6KVR2yK9khje8fD5vi+x9RF5kkZFG6SR3CxgLnHuAVB6RWahvDbPbjI3eok9iFuM5d3+i5aZs37Kt\/aTDiq6j25XEe03P5c+HzVba4Xajvsl4qBmjpncFMwg4cRyP1Pj5LWKyXhWEyUv5Z716LTv7hERVmsLxLLHDE6WV4Yxgy5zjgAL05wa0ucQABkk9FkXGp1nWFsbnQWiB+HHk6V3692VKMb66FNWrgskrt6I+XK\/Vl37aG0kwUUIPb1jttvDu8BzOei56KswfK+6zMLmZLafjAyd93ee2Peu13ZFNVUulLbGIoiWvqHN6NG+D44wd+uFqaanjpKaKmhbwxxNDWjwCtlLDGy4mOnSdStjm74fhfkvT6nVERUHpBZa7A3bWFDbhkxUg7aUA7Z57\/wCUeq1BIAyTgBZnSOK2rud2c3eebgYe4DfHxb7lZDJORlr+Jxp838lmadZbXtV2VqhpgBmeTO\/c3+pC1K\/Ota1Rqr8YGe02mjDcDff8R\/Xgu0leRDbp4KD65FhYblR6d059oqCXT1Ty9kLT7TgNh5DYnPj1UmO3XfUzu2ur3UdCTxMpmDDnY5Z\/mfcF70lYaVtFBdJ\/v6iQZYXHIjA2GPHb0Vze7tFZrc+pfh0nKOMnHG79bqUpeLw6lVKm9ynVdopad+xk9VT0Vqp22a2RtiJ9qoLfxEY2aT1znPuUqwmO06MrLgx7DNJnJa7JaeTQcctznH+0qWqtzy+gjq3F9dcZRI9xdu1jiA0efMr3e4JrTNVWiNhMFVMyWEeG4wPXA9FZZNKJjxyjOVW2VrLpdZGu0jSGk07BxDDpsynbHPl8MK7XOGIQQRxN5RtDR6DC6LLJ3dz2qcMEFHkERFwsItZbaK4N4aumjmxyLhuPI81TT6Jtrnh9LJPSPB2LH5+e\/wAVo1zlmigZxzSsjb3vcAPipKUloympRpTzkkZsWPUlIMUl+EgHLtwfrxL79q1hSf2lFS1bRzLSAfmPkptVq2y0oP8AF9s4fliaXfHl8VW1GtpDC+aktUzoWjeaXZo7s48SOqtWN6oxydCHlqNejv3Kq83O6XiqittRbSHwP7R8EbiXOGPhsfirlup7qxoYNL1Q4RjDeLHp7Cp7ay+9pLd4nUtP9tJPb1DmjbPIA9Dt06Bc7pdLpFTESX+Goe\/2THTdAQc7gAKeFPIyqrKCc23d9Fpw1+wqLrXX25RXAWuWanpN2RNJLGu2JLnY36bdwClRVt81eX0jDHTUoP3r2A48s538lQ08l0qaV1vozUTU+d44mEg753x9Vr9K2y+W+TFWWxUnAQIiQTkkb7dfNdnaKI0HOrOzvZ6\/vIuLNZaay0pihJe5xy97vzHy6KxRUOqL2bdSikpXE11QPuw3ctGdz88f0WZXkz2JOFCnfRIiVOoKqr1RT222Fphjf98\/8QePzegGR5+i7asqZp209ko96isOXAdGD\/8APcCq3Q9DHBT1N3qCGtaCxrjya0buPy9xVhpqJ9yrqvUFQ0gzuMdO0\/lYP\/wD0PerWlF5cPqYoSnVhaTzn8kXtBRRW+hhpIfwRN4c956n1OSpCIqD0kklZBERDpndVVElQaax0rsT1rhxn\/DGOZ+HuaVNmdTaZ0+TG0cMDMNGMdo\/lv5nmq62k1GurlI\/GYYQxgI3A9nf5+9cq9\/7xanjtjTxUVCe0n7nOHT3nHvV1tFw1PPx+aovM3hX78yVpS3vEEl3qxmrriX57mE5A9eflhaFfGtDWhrQAAMADovqqk7u5spU1TgooIiLhYV9+qTR2KsmBAcIiAT3nYfNcNK032XTtI3G8je0PjxHI+GFE1xMYtP8Az99M1h+Lv8AtVjNW0litMJq3iNscbWNY3cuIAGAOqst4LczI5LfuT0S+v8A4dbpdKe00TqqoOw2a0Hd57gs\/pe1VU89XdbnFh1WzDN8EtdzO3LpjqvlFRVOqa9tzuDTHQRn+Hpz+fxPh39\/LktYAAMAYARvArLU5FOvNVH5Vp169jKutV8sDHutNTHPSA8XYTflHU\/PkQqR1+Zc7zT192hkFHTkCNkTctD9jvnnyyfIK91BWzXaubp63OHE7eolB2YBzb\/P0C0FJb6ahomUcMQELRjBGeLxPeVPFZXksyjcupJxpu0V7q\/IwEV1hrtZsuE8gipxLlpk\/K1o28s495U\/VVXR3ivt0VNXQBnt8U3FszOOfdyVLQMhtV6EN5pcxj2JGO34c\/m2548FaXinsVNqSkaY2MojDxzBhd14sctweXvVrSUlbkYoym6UlJrN531LOzauYxxobtKwSxnAqWODmPA7yOvj1V8b3aWjJudJ6TNP1WMLLXXv7Ozabmm\/\/rLK8NHoHfUL7HoO5yRF75qeJ55MLifeQP5qtwhe7yNVOvtCVorF1z\/FzVzamssDeJ1wid4My4\/BUlZr+FoIoqN7z\/ilIaPcMquprLcLQ8mq0\/HcG8w5ry4+4E9\/+FTor5boQOHS72HY7Qt+eEwRWiuHtFaStJ4PZlRU6svVe\/gjlMLSfw07N+ffz+K8R0VXVP7SS13GuefzzOcGk+O2e78y0jNYBjeCKyVQ7mhuPovX7xX2p2pdPSM7jMTg+8BSu1orFWCEneVRy9mV1LaL8MfZrVQUODs5zWvcPVxcVCrI7jV3c2u5XhpiZh00nFiNmBnwyfqp12vOpqWJhqGw0ZmP3TIwHPccjbme9SrVomlMMdRc3yyzPHE+Li4QCeh6k+qYrZyOunje7pp5a3yXwRRS0NrfMKa0x1V0qCB7TvZjaMeGD7yAvdo0+46mbQVzGOEbO0mjY7IAxsM+oX6BSUdNQwiGlgZCwdGjGfPvWe09mXVV7mcRxNfwAb8skf8AaFFVG07Fj2SMZwxat+3M0zGMjYGRtDGtGA1owAvSKHdLpS2mkNRVPwOTWjm89wVCTbPUclFXeSPl2ulPaKF1VOc42Ywc3u6BYmshqxRNrqvjfc7o4xwsO3BGdjgd5zjHcVb0FHVamuMd1uUXZUcJzTU5\/N1yfDl547lzulbD++JqJXcUNspi9zQebug88uaP0VfBYXbj+5Hm15OqsTyWi+7+Gh8ujHCKi0pbpCH4H2hwz7I574HI5z7u9aymp46SmipoW8McTQ1o8As\/pCjlkjnvVX7VRWuPCT0Zn6n4AK+lraSnz21TDFjnxyAfNVzeeFGjZ0rbx5X06Lgd0XmORksbZI3texwy1zTkEeBXpVmwIiIDG3yep07qCa5QsDo6yEtB\/wAL8bfEA+pVppC3Cjs4qHuD5qs9o9wOdugz8fMlSbtYorxVUz6mVxp4OIugGweT1yDt+uSqxYbzZ5SbJWtfTlxP2ec7DPT+uyuupRtfM87dzp1nPDePDpfV2NSizH7X1VFtNY43nvjdt8yhvWpnYDLE0H\/aJx81Dds0f1MOT+DNOvL3sjYXyODGtGS5xwAs0BrKs2caWh8Rg7f5v0Uj0e+pcyS73SesLd+zyQ0eGSf5LuFLVjfTl5IP3yK7WV+oLhRx0VJL2zmSh7ntHsjAIxnrz6Kzt+m56qqbcr7P9qn2LIRuxn0PkNvNer7p+lZp2aG30rYzGe1w3m7Gc5JyTtleqPV9qFuhdU1BjnDQ2SPs3Ehw59FO\/h8BlwpVm67WifT8mgAAGAMALPX+\/wAkcv7KtWZa+TYlu\/Z\/1+SqbprOWr46eh\/hIuTpn\/2noBy\/XJcbEy6OpiyzUQhMn9pXVHN3l3DwGUjTtnI7U2tVHu6fxX27mltduodN0XHU1EbZpN5Z5HAcR7gT0UOp1jC+R0Fqo566UHmGkN8+\/wCASm0dFI4T3ermrp85ILzw+Xefgr+npaekj7OmgjhZ\/hjaGj4KLcb3eZdCFVxUY+FfF9jBNttfqHU9TBXubRziIPka1vFho4cAb+I6qU+xUdq1XbKVoMsUrS53bYcHHfwx3KytI7XXV1mz+CMM\/wCn\/wAU1gfsklvujCC+mnHE3q5p3+hHqrMTuo9DHuYKm6jzalr0TNKxjI2BkbQxrRgNaMAL0qybUlmhGX3GE\/7h4\/llQZtb2aM4Y+aXxZHj54VChJ8D0nXpR1kjQosx++Zm3orNWVA78Y8uQKC96mqBmnsIj\/4xI39SF3dy4kP6qk9Lv0TNOuFZVwUFLJU1DwyOMZJ+g8VnJpNXCF8001FRRsGXOdjAHf1VTRUF51WHCpr3fY4nezI5mzneDds7FSVPi3kVz2p+WEHd6XLax0s18uj79XNcImOxRsPIDJ39PnlaKWuo4P7argj2z7cgCzzNDxFgZUXOqka0Ya1pAAHdvlSYtE2WP8UUsu\/55D9MJLC3qcpKvCNlFX4tvsS5dTWWH8VwiO2fYy75LKVGoaa3ailuFqeJ4J2\/fRFrmcRz3nr1zha2HTdmgGGW6E\/744\/nlTIqKkp8djTQxY5cEYHyRShE7OlXqWu0rcrmVm1ncKphbbbRIXHk8gv+AH1VXT0N\/qKwVlTbJayYHLftRwwehx\/JfoqIqiWiOS2SU3epNv4GY\/8AedT\/APDpM+Rx\/wBX6CzbbRca\/UU9tnqQ6WR3HUSxniaMb5I27xt4hb283SO0W2SqkwXD2Y2n8zugVdpS1yUdG+tqvaq609o8nmAdx5HckqUZ2i3Yqq7Op1IwxN8Xd8PyRWaIY6NsdTdaqVjQAGt9kAdwBypEWibNHjjZNL\/vyEfLC0KKveS5mpbLRX9pzggipoGQQsDI4xwtaOgXREUDSlYIiIAiIgCIiAIi+EAjBGQUBTXXVNutgc3j+0TDbs4t8HxPIfNZiogddp+3r5rfaIST937Pakcztz88458t1eHQlpMhf2tVgknhD24H+VSoNH2SDGaUykdZHk\/Dkr1KEdDzalLaKz8aVuV\/1lLSVGkLS4vbI+sm58ckZcfTIAU7996eUltHbquoIO2GgZ92VeQ2q30+OxoadhByCIhlSgABgDACi5RequXQo1YqyaXou5mDfdR1J\/hLAYv+OT9eFfew1jV\/iqaWkHc0An5H5rToo41wRPcN+abfy+h+f2WxT3eruLpLjLGWS8D3s\/vTk5zv4fFXbNC2sMdxy1Ej3A+0542PfsF50N95Q1tT\/rak7egP1WnU5zkpWTKNm2alKkpSV2zDWOC12+sltl7pIW1QfiKSRuQ8E7eA\/qtlFRUlPjsaaGLHLgjA+S43O00d2p+xq4uLH4XjZzfIqkGlbhRn\/Rt8njZjHBICR88fBcbU827EoQnQyUbr2uahVd01DbrSxwmmD5gNoWHLifp6qs\/d+\/TDgn1BIGHn2YIP0U+2aXtlsf2rY3Tzf6yY8RHl0XLRWruWOdaeUY26vsipit1z1TM2puvFSULd46dpwXef8z6LVQwx08LIYWBkbBhrWjYBdEUZSuWU6Kp56t6sIiKJcEREAREQEO4WukujYm1cXaNifxtGcb+PgpiIu3OKKTbQREXDoREQBERAEREAREQBERAEREAREQBR66TsbfUyk44InOz5AqQvE0TJ4Xwyt4o5Glrm94OxCI5JNp2KLRLODTrHf45Hu+OPotAo9DRQW6jjpKdpbFHnhBOTucn4lSFKTvJsrowwU4x5IIiKJaEREAREQBERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENIMIENTO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:16",
    "ubicacionGPS": "LatLng(lat: -23.1006359, lng: -70.4524647)",
    "horaLlegada": "13:09",
    "horaDespacho": "12:53",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 26/05/2026 13:16:12
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-uFojwZ4SUJ_yYu8-x+4BZuphp8n+uCRJMj.r7X723_8MU9lkUEV
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3126",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "1018",
    "contadorColor": "1638",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\najustes, limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12751",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADMAQYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABGEAABAwMCAwUFBQUECQUBAAABAAIDBAURBiESMUETUWFxgSKRobHBFCMyQvAVFiTR4TNDUqIlU2Jyc5KywtIHJlRW8WP\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAA0EQACAQIDBgQGAQMFAAAAAAAAAQIDERIhMQQTQVFh0SIycYGRobHB4fAjFEJTBTNSYvH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAERZ66anbHP9gtEf22tccDhGWsPj3\/IdV1Rb0K6lSNNXky5rK6lt8Bnq5mxRjq7r5DmVn36ouFxf2djtj5W5x28oPB9APUr1R6WlrJxXX+oNVMdxCHewzw\/oNvNaRjGRsDI2hjWjAa0YAU\/DHqU2rVf+q+f4IlpjuMVFw3OWOWfiJ4o+WDyHIKaiKDdzRFYVYrL7U3GjohUW+JkpjcHSsIySzrhdrVdKe70bamnPP8TDzae4qaspURfu3qaOsjIbRXA8ErTsGO\/W\/vUopSVuJRUlKnJTv4Xr069zVoiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAuc88VNC+aeRscbBlznHAC51tbT2+lfU1MgZGwbnv8B4rMRUddq+obVVpdTWxh+6hBwZB3\/wBfd3qcY3zehRVq4Xhiryf7mfX1dz1bM6ChJpLY12HzH8Unh\/T3lX9qs1HZ4OzpY\/aIHHI7dz\/NS4YY6eFkMLAyNgw1rRsAuiSlfJaHKdHC8cneXPsERFA0BERAFS6tpG1enajI9qHErT3Ec\/gSrpcauH7TRzwH+9jcz3jC7F2aZXVjjg48yPZaw3Cz0tUSS57MOJ6uGxPvBU5ZzQ0pk0\/wk\/2czmj4H6rRrs1aTRGhPHSjJ8giIolwREQBERAEREAREQBERAEREAREQBERAEREAUetrae30r6mpkDI2Dc9\/gPFfayrgoKWSpqHhkcYyT9B4rM0VNUasrRcLgx0duiP3EH+s8T9T6KcY3zehRVquLUIZyf7dn2kpKnVVY24XBhjt0Z+4pz+fxK1bWhrQ1oAAGAB0RrQ1oa0AADAA6L6uSlclSpKC5t6sIiKJaEREARFSXjUsFvf9lpW\/a65x4Wws3wfH+XPyXUm3ZEJ1I01eTLWqq6eigdPUytijbzc4rOyanrbnM6CwUBm4T7U0ow0fLHqfRfKPTVTcpxXahmMryPZp2nDWeBx8gtBJHFQ2+UU8bIWRxuLQ0YAwFPwx6sz3q1Ffyx+f4MTpi23avt7zR3Q0dMJiHBoPEXcI36dCOvRXI0zd4zxs1NVFwGwc1xB97iumh4wzTwcBjjlc4+PIfRaJSnNqTsVbPs0JUot3v6sy1PerpZKiKlv7WvhkPCyqYNvU+7pnqtQCCMg5BVffaBtxs9RAWhz+Aujz0cBso2k611bp+AvfxPhzE4+XL4YUXZrEXU3KnU3bd1a67F0iIqzUEREAREQBERAEREAREQBERAEREAXOaaOnhfNM8MjYMuc47ALosjXTzatuH7OonFlup3gzzA\/jPh8ce9SjG5TVq4Flm3ojzwT6yuIkcHRWinf7IIwZT1\/XQeK1sUUcMTYomBjGDDWtGAAvkEEVNAyCFgZHGOFrR0C6JKV8loKVLBdvOT1f7wCIiiXBERAERZi8XSqudebFaDh3KpnHJg6j6fBSjG7KqtRU1d+3UXa91dxq3Wexe1L\/e1AOAwdcHp5+5WVl0\/SWaPiYO1qXD25ncz347gu1ptFLZ6QQUzck7vkP4nnxU9dcsrR0K6dJt7ypnL6encKs1HUil0\/WyE7mIsHm72fqrNZnWT3VLKK0xH7yqmBO2dh\/U\/BIK8kS2iWGlJosdMwfZ9O0TCMF0fH\/wAxz9VaryxjY2NYwYa0AAdwXpRbu7lkI4IqPILMaK9mK4RNADGVJDQByWnWY0Vh8Nwlbux9UcHof1lSj5WU1P8Aeh7mnREUDSEREAREQBERAEREAREQBERAERVGor220UWIsPq5fZhjxnfvx+t11Jt2RCc4wi5S0RX6hudRWVjLDa3AyzbTyD+7b1HhtzV1arXT2iibTU425ucebz3lQ9OWZ1spXT1JL6yqPHM53ME74z8\/FXKlJryopowbe9nq\/kv3UIiKBpCIiAIig3i5xWi3SVUhGQMRtP5n42C6ld2IykopyehXajvM1M+K12326+pOBj+7B6+fywSpdjskNlpSxp7SeTeWU\/mP8lnYXvsttkvFU0Pu1xcTA1zSeHPh6\/ILYUbqh9HE6qaxs7mAyNZyB7lZLJWRkoveVHOWvDou7OyIiqNoWVtobetYVdwc0mGhHZRZ5F24z\/1H1CnaruhoLX2EJ\/iao9nGBzAPM\/TzIUuw2wWm0w02B2mOOUjq88\/dy9FYvDG\/Myz\/AJKqhwjm\/t3LFERVmoj3Cf7NbqmfOOzic4HyCp9Ew9npyN+AO1ke7z3x9F21dU\/ZtOVGPxS4jHqd\/hlTLJT\/AGWyUcJ5tiaT5kZPxKs0gZn4to9F9X+CciIqzSEREAREQBERAEREAREQBERAcKyrhoKSSqqH8MUYy4rO6fpKi8V\/7wXEEEEtposbBvf5bnHjkrnWyP1VfP2fC57bdRu\/iHA\/jdv\/ACwPUrVxxsijbHG0NYwBrWgbADkFZ5VbizIv554v7Y\/N\/g9IiKs1hERAEREB8JAGScALINI1Xf3yyEfsqgOCC72ZDvv6\/IeKstWXF9NQNo6Yk1VY4Rsa074PrnwUK9MFi0rBaadw7epIi25vz+M+W+PIhWwVvVmHaJqTafljm+r4I+W9p1HqV90eD9jojwQA4Ic4evec+5axQ7Tb2Wu2Q0bMEsb7Th+Zx5n3qYoTd3kX0KbhG8tXmwod0ulPaaJ1VUHYbNaDu89wUO8ako7WexaftFWdmwsPI9OI9FAt1iq7lVNul+cXSY+6phs1gx1HTy966o8ZaEZ1m3gp5v5L17H2x2+quVwGoLnlr3DFPD0a3ofqPetMiLkpXZZSpqnGyCIiiWmX1cftVZarY0Z7aficOmNh9T7lqFloCblr6WTnHb4uEb\/m5fNx9y1KsnkkjNQ8Upz5u3wCIirNIREQBERAEREAREQBERAFn9UXaSCNlrohx1lZ7GBzY07Z\/XirW53CG10ElZPktYNmjm4nkAqfTFBPNLLfa\/Jqar+zB5NjOMY\/XLzU4q3iZmrScmqUdXr0RZ2S0xWa3MpmYdJzkkAxxu\/WysEXiSWOFhfLI1jRzc44Ci227l8YxhFJaI9oszfdYQULY2W2SGqlLvb34mhvmOvl3L5++jZtqG1VdUfBuM+7PVS3crXsUPaqKk430NOiwR11dSJZG0lKGNcAA4O9nOdjvudvgrVrtZVDQQ2kpxjOSBv6brrptakI7ZCfkTfsahfHODWlziAAMknosz+zNWTbzXmCPPSNvL\/KFWX63XS2ULZZr\/UTvkeI2wtLhx\/5voigm7XE9plGLlgdvbuS7O9l61JPeqhwbTwHsqUPOMnpz8DnHe5cjc6Gs1g+sq6uOOmoG8MWXfjdy2798nbwVVedNz2ahgneTLG5v3uHYDJCNsDuHf18FMtWjoLraYqplw4ZH\/iDWBwae7mN8YV1o63y0MClWb3ajnfE+pdVGt7VGCKds1S\/oGMwPj\/JRzJqi+gNZG210rxu4n2yPn8lbQm1WCkjhlnp4XsaOInhDnHHPAGT1VfUa1pXS9hbaSetlPLhaQD5dfgq0v8AijXN\/wCapbov1sn2jTlDaBxsZ21QfxTSDLvTuVssw6t1dVn7i3wUsbuTpCOIDxBP0QWbU1Sc1V8bD1xC3l7gFFxvnJlkKqisNODt6W+pp0WY\/da6\/wD2es9zv\/NP3Xuw3Gp6skcsh3\/muYY8ye9q\/wCN\/FdzTrjVVDKSkmqX\/hiYXn0GVnjadVU4\/h73HJ0xK3p6gqrv1w1FTUZoLiyBzascLHxfiOCMgY9OnVSVO7yZCptThFtwaLjRcLjbZ6+XeWsmc8nvAP8APiWjWasWpbS2mp7eTJSyRgRhso2LvPz78LSqM74syzZnDdJRd7BFEuNzpLVTGerlDG\/lHMuPcB1UWz6gpb0+ZkDXtMR\/N1b0KjhdrljqwUsDeZaoiLhYFzmmjp4XzTPDI2DLnOOwC6LK3+omvd1j0\/RuIjaQ6reMYDcg\/D54UoxuyqtU3cb8eHqWtjvLr1DNMKUwxMeWseXZ4x5YRWFNTx0lNFTQt4Y4mhrR4BFx2vkSpqSilJ3Z1REXCYRFm9VX+Olo30NHK19XN925rNywHY8uR7lKMXJ2RXVqRpRcpESUnVeoAzP+jKA8RcQcSO2yD5\/IHvVjW6stlE8U1MH1co9lsdOMjPQZ\/llUtq0vdaqkZBWzuoqLPE6Fn43nvP8AXl3LV0FnoLY0CkpmMdjBfjLj6qyWFZamKgq0k5Ws3q39l3KLj1XeGZjbHbITkYcMPx65PyXRmjaeQ9tdbhUVb27kudwtA5nnk\/ELTKl1ZcPsFhm4TiSf7pvrz+GVxSbdo5Fs6NOMXOo3K3PtoU2lLbRVl0rLjFABTRP7OmY4Zx479cY961VwqG0VtqKjPCIonOGB3DZcLHQi3WampuEB4Zl+Bj2juVE1fOYNN1PCN5OFnvIz8FxvFMQjudnb42v7mDsFEbhe6WnxlvHxP2\/KNz8seq\/V1h\/\/AE\/pmuqKyqI9pjWsafPJPyC27nBrS5xAAGST0UqzvKxV\/p1PDRxcz6sJqa7w\/vTTiWIzQUJHEwH8TuZ+nuVtdNZUtM58NvjNbM0ElzfwNA5nI5+nvWZsNsdqS9TS1bj2eTLMW7ZJOwHdv8ApU4YbykQ2uuqjVKk7u5Y6ovEV4qKShoWmqDH8b2R5PG7uHftnfxUd1k1DSU9TXU8f2Nj8l9PDKc8PgMn55VppKkppLvcK+mjDKeM9jAOe3U58gPetcjng8KFPZ9\/erN5vl8DE6foNNVbw2V8ktZkAxVZ4TxDuA2PlutjT01PSx9nTwxxN7mNAVddtOW+7tLpY+zm6Sx7H17+aqxBqexNxBI250zeTXfjA+fpkqD8fEugns+ThlzX3WpqkWfo9Y2+Z\/ZVjJKGYc2yjYHz\/AJgK7hqYKlvFBPHK3vY4OHwUHFrU1QqwqeV3OqIiiWBZZmbzrhz+DNPbG8Oc7cf885\/5VeXe4Mtdrnq3ndjfYHe47Ae9V2j6A0llbNISZas9q4knkeXw39VZHKLZlq+OpGn7v7fMsbhaKC6R8FXTseej+Th5EbrLVFTcNFzMiFSyuo5QeCOR2HMx3Dp8vJae83aGz0D6mXBdyjjzgvd3KmslldV8d5vgEs07SWxyD2Y2eIPLb3DxXYOyvLQrrxUqiVPKfPkuvMr2RfaaCTUt7ljquFv8PTA5ZnkAR58x55VxpG3S09C+uq+I1VYeJxfzDRyH193cs7ZaCO7XuSkhmcbZTSmZsbxkOGcAevfzwv0FrQ1oa0AADAA6KVR2yK9khje8fD5vi+x9RF5kkZFG6SR3CxgLnHuAVB6RWahvDbPbjI3eok9iFuM5d3+i5aZs37Kt\/aTDiq6j25XEe03P5c+HzVba4Xajvsl4qBmjpncFMwg4cRyP1Pj5LWKyXhWEyUv5Z716LTv7hERVmsLxLLHDE6WV4Yxgy5zjgAL05wa0ucQABkk9FkXGp1nWFsbnQWiB+HHk6V3692VKMb66FNWrgskrt6I+XK\/Vl37aG0kwUUIPb1jttvDu8BzOei56KswfK+6zMLmZLafjAyd93ee2Peu13ZFNVUulLbGIoiWvqHN6NG+D44wd+uFqaanjpKaKmhbwxxNDWjwCtlLDGy4mOnSdStjm74fhfkvT6nVERUHpBZa7A3bWFDbhkxUg7aUA7Z57\/wCUeq1BIAyTgBZnSOK2rud2c3eebgYe4DfHxb7lZDJORlr+Jxp838lmadZbXtV2VqhpgBmeTO\/c3+pC1K\/Ota1Rqr8YGe02mjDcDff8R\/Xgu0leRDbp4KD65FhYblR6d059oqCXT1Ty9kLT7TgNh5DYnPj1UmO3XfUzu2ur3UdCTxMpmDDnY5Z\/mfcF70lYaVtFBdJ\/v6iQZYXHIjA2GPHb0Vze7tFZrc+pfh0nKOMnHG79bqUpeLw6lVKm9ynVdopad+xk9VT0Vqp22a2RtiJ9qoLfxEY2aT1znPuUqwmO06MrLgx7DNJnJa7JaeTQcctznH+0qWqtzy+gjq3F9dcZRI9xdu1jiA0efMr3e4JrTNVWiNhMFVMyWEeG4wPXA9FZZNKJjxyjOVW2VrLpdZGu0jSGk07BxDDpsynbHPl8MK7XOGIQQRxN5RtDR6DC6LLJ3dz2qcMEFHkERFwsItZbaK4N4aumjmxyLhuPI81TT6Jtrnh9LJPSPB2LH5+e\/wAVo1zlmigZxzSsjb3vcAPipKUloympRpTzkkZsWPUlIMUl+EgHLtwfrxL79q1hSf2lFS1bRzLSAfmPkptVq2y0oP8AF9s4fliaXfHl8VW1GtpDC+aktUzoWjeaXZo7s48SOqtWN6oxydCHlqNejv3Kq83O6XiqittRbSHwP7R8EbiXOGPhsfirlup7qxoYNL1Q4RjDeLHp7Cp7ay+9pLd4nUtP9tJPb1DmjbPIA9Dt06Bc7pdLpFTESX+Goe\/2THTdAQc7gAKeFPIyqrKCc23d9Fpw1+wqLrXX25RXAWuWanpN2RNJLGu2JLnY36bdwClRVt81eX0jDHTUoP3r2A48s538lQ08l0qaV1vozUTU+d44mEg753x9Vr9K2y+W+TFWWxUnAQIiQTkkb7dfNdnaKI0HOrOzvZ6\/vIuLNZaay0pihJe5xy97vzHy6KxRUOqL2bdSikpXE11QPuw3ctGdz88f0WZXkz2JOFCnfRIiVOoKqr1RT222Fphjf98\/8QePzegGR5+i7asqZp209ko96isOXAdGD\/8APcCq3Q9DHBT1N3qCGtaCxrjya0buPy9xVhpqJ9yrqvUFQ0gzuMdO0\/lYP\/wD0PerWlF5cPqYoSnVhaTzn8kXtBRRW+hhpIfwRN4c956n1OSpCIqD0kklZBERDpndVVElQaax0rsT1rhxn\/DGOZ+HuaVNmdTaZ0+TG0cMDMNGMdo\/lv5nmq62k1GurlI\/GYYQxgI3A9nf5+9cq9\/7xanjtjTxUVCe0n7nOHT3nHvV1tFw1PPx+aovM3hX78yVpS3vEEl3qxmrriX57mE5A9eflhaFfGtDWhrQAAMADovqqk7u5spU1TgooIiLhYV9+qTR2KsmBAcIiAT3nYfNcNK032XTtI3G8je0PjxHI+GFE1xMYtP8Az99M1h+Lv8AtVjNW0litMJq3iNscbWNY3cuIAGAOqst4LczI5LfuT0S+v8A4dbpdKe00TqqoOw2a0Hd57gs\/pe1VU89XdbnFh1WzDN8EtdzO3LpjqvlFRVOqa9tzuDTHQRn+Hpz+fxPh39\/LktYAAMAYARvArLU5FOvNVH5Vp169jKutV8sDHutNTHPSA8XYTflHU\/PkQqR1+Zc7zT192hkFHTkCNkTctD9jvnnyyfIK91BWzXaubp63OHE7eolB2YBzb\/P0C0FJb6ahomUcMQELRjBGeLxPeVPFZXksyjcupJxpu0V7q\/IwEV1hrtZsuE8gipxLlpk\/K1o28s495U\/VVXR3ivt0VNXQBnt8U3FszOOfdyVLQMhtV6EN5pcxj2JGO34c\/m2548FaXinsVNqSkaY2MojDxzBhd14sctweXvVrSUlbkYoym6UlJrN531LOzauYxxobtKwSxnAqWODmPA7yOvj1V8b3aWjJudJ6TNP1WMLLXXv7Ozabmm\/\/rLK8NHoHfUL7HoO5yRF75qeJ55MLifeQP5qtwhe7yNVOvtCVorF1z\/FzVzamssDeJ1wid4My4\/BUlZr+FoIoqN7z\/ilIaPcMquprLcLQ8mq0\/HcG8w5ry4+4E9\/+FTor5boQOHS72HY7Qt+eEwRWiuHtFaStJ4PZlRU6svVe\/gjlMLSfw07N+ffz+K8R0VXVP7SS13GuefzzOcGk+O2e78y0jNYBjeCKyVQ7mhuPovX7xX2p2pdPSM7jMTg+8BSu1orFWCEneVRy9mV1LaL8MfZrVQUODs5zWvcPVxcVCrI7jV3c2u5XhpiZh00nFiNmBnwyfqp12vOpqWJhqGw0ZmP3TIwHPccjbme9SrVomlMMdRc3yyzPHE+Li4QCeh6k+qYrZyOunje7pp5a3yXwRRS0NrfMKa0x1V0qCB7TvZjaMeGD7yAvdo0+46mbQVzGOEbO0mjY7IAxsM+oX6BSUdNQwiGlgZCwdGjGfPvWe09mXVV7mcRxNfwAb8skf8AaFFVG07Fj2SMZwxat+3M0zGMjYGRtDGtGA1owAvSKHdLpS2mkNRVPwOTWjm89wVCTbPUclFXeSPl2ulPaKF1VOc42Ywc3u6BYmshqxRNrqvjfc7o4xwsO3BGdjgd5zjHcVb0FHVamuMd1uUXZUcJzTU5\/N1yfDl547lzulbD++JqJXcUNspi9zQebug88uaP0VfBYXbj+5Hm15OqsTyWi+7+Gh8ujHCKi0pbpCH4H2hwz7I574HI5z7u9aymp46SmipoW8McTQ1o8As\/pCjlkjnvVX7VRWuPCT0Zn6n4AK+lraSnz21TDFjnxyAfNVzeeFGjZ0rbx5X06Lgd0XmORksbZI3texwy1zTkEeBXpVmwIiIDG3yep07qCa5QsDo6yEtB\/wAL8bfEA+pVppC3Cjs4qHuD5qs9o9wOdugz8fMlSbtYorxVUz6mVxp4OIugGweT1yDt+uSqxYbzZ5SbJWtfTlxP2ec7DPT+uyuupRtfM87dzp1nPDePDpfV2NSizH7X1VFtNY43nvjdt8yhvWpnYDLE0H\/aJx81Dds0f1MOT+DNOvL3sjYXyODGtGS5xwAs0BrKs2caWh8Rg7f5v0Uj0e+pcyS73SesLd+zyQ0eGSf5LuFLVjfTl5IP3yK7WV+oLhRx0VJL2zmSh7ntHsjAIxnrz6Kzt+m56qqbcr7P9qn2LIRuxn0PkNvNer7p+lZp2aG30rYzGe1w3m7Gc5JyTtleqPV9qFuhdU1BjnDQ2SPs3Ehw59FO\/h8BlwpVm67WifT8mgAAGAMALPX+\/wAkcv7KtWZa+TYlu\/Z\/1+SqbprOWr46eh\/hIuTpn\/2noBy\/XJcbEy6OpiyzUQhMn9pXVHN3l3DwGUjTtnI7U2tVHu6fxX27mltduodN0XHU1EbZpN5Z5HAcR7gT0UOp1jC+R0Fqo566UHmGkN8+\/wCASm0dFI4T3ermrp85ILzw+Xefgr+npaekj7OmgjhZ\/hjaGj4KLcb3eZdCFVxUY+FfF9jBNttfqHU9TBXubRziIPka1vFho4cAb+I6qU+xUdq1XbKVoMsUrS53bYcHHfwx3KytI7XXV1mz+CMM\/wCn\/wAU1gfsklvujCC+mnHE3q5p3+hHqrMTuo9DHuYKm6jzalr0TNKxjI2BkbQxrRgNaMAL0qybUlmhGX3GE\/7h4\/llQZtb2aM4Y+aXxZHj54VChJ8D0nXpR1kjQosx++Zm3orNWVA78Y8uQKC96mqBmnsIj\/4xI39SF3dy4kP6qk9Lv0TNOuFZVwUFLJU1DwyOMZJ+g8VnJpNXCF8001FRRsGXOdjAHf1VTRUF51WHCpr3fY4nezI5mzneDds7FSVPi3kVz2p+WEHd6XLax0s18uj79XNcImOxRsPIDJ39PnlaKWuo4P7argj2z7cgCzzNDxFgZUXOqka0Ya1pAAHdvlSYtE2WP8UUsu\/55D9MJLC3qcpKvCNlFX4tvsS5dTWWH8VwiO2fYy75LKVGoaa3ailuFqeJ4J2\/fRFrmcRz3nr1zha2HTdmgGGW6E\/744\/nlTIqKkp8djTQxY5cEYHyRShE7OlXqWu0rcrmVm1ncKphbbbRIXHk8gv+AH1VXT0N\/qKwVlTbJayYHLftRwwehx\/JfoqIqiWiOS2SU3epNv4GY\/8AedT\/APDpM+Rx\/wBX6CzbbRca\/UU9tnqQ6WR3HUSxniaMb5I27xt4hb283SO0W2SqkwXD2Y2n8zugVdpS1yUdG+tqvaq609o8nmAdx5HckqUZ2i3Yqq7Op1IwxN8Xd8PyRWaIY6NsdTdaqVjQAGt9kAdwBypEWibNHjjZNL\/vyEfLC0KKveS5mpbLRX9pzggipoGQQsDI4xwtaOgXREUDSlYIiIAiIgCIiAIi+EAjBGQUBTXXVNutgc3j+0TDbs4t8HxPIfNZiogddp+3r5rfaIST937Pakcztz88458t1eHQlpMhf2tVgknhD24H+VSoNH2SDGaUykdZHk\/Dkr1KEdDzalLaKz8aVuV\/1lLSVGkLS4vbI+sm58ckZcfTIAU7996eUltHbquoIO2GgZ92VeQ2q30+OxoadhByCIhlSgABgDACi5RequXQo1YqyaXou5mDfdR1J\/hLAYv+OT9eFfew1jV\/iqaWkHc0An5H5rToo41wRPcN+abfy+h+f2WxT3eruLpLjLGWS8D3s\/vTk5zv4fFXbNC2sMdxy1Ej3A+0542PfsF50N95Q1tT\/rak7egP1WnU5zkpWTKNm2alKkpSV2zDWOC12+sltl7pIW1QfiKSRuQ8E7eA\/qtlFRUlPjsaaGLHLgjA+S43O00d2p+xq4uLH4XjZzfIqkGlbhRn\/Rt8njZjHBICR88fBcbU827EoQnQyUbr2uahVd01DbrSxwmmD5gNoWHLifp6qs\/d+\/TDgn1BIGHn2YIP0U+2aXtlsf2rY3Tzf6yY8RHl0XLRWruWOdaeUY26vsipit1z1TM2puvFSULd46dpwXef8z6LVQwx08LIYWBkbBhrWjYBdEUZSuWU6Kp56t6sIiKJcEREAREQEO4WukujYm1cXaNifxtGcb+PgpiIu3OKKTbQREXDoREQBERAEREAREQBERAEREAREQBR66TsbfUyk44InOz5AqQvE0TJ4Xwyt4o5Glrm94OxCI5JNp2KLRLODTrHf45Hu+OPotAo9DRQW6jjpKdpbFHnhBOTucn4lSFKTvJsrowwU4x5IIiKJaEREAREQBERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENIMIENTO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:16",
    "ubicacionGPS": "LatLng(lat: -23.1006359, lng: -70.4524647)",
    "horaLlegada": "13:09",
    "horaDespacho": "12:53",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


26/05/2026 13:16:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[26/05/2026 13:16: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', 'EP3126', 1, 21773342, 1018, NOW(), 
				'12:53', '13:09', '13:16', 3, 'Mantenimiento
ajustes, limpieza', -1, 
				'', '','1','1638',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779815772.png', '', null, 'COMPLETADO','LatLng(lat: -23.1006359, lng: -70.4524647)' )
				
[26/05/2026 13:16:12] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200432

26/05/2026 13:16:12 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200432'                    
				WHERE idllamado = 12751			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


26/05/2026 13:16:12 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12751			
				
26/05/2026 13:16:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


26/05/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 = 12751
                

26/05/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 = 12751
                

26/05/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 = 12751
                

26/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12751
            GROUP BY l.idllamado;
            

26/05/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 = 12751
                

26/05/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 = 12751
                

26/05/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 = 12751
                

26/05/2026 13:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12751
            GROUP BY l.idllamado;
            

[26/05/2026 13:16: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;
                

26/05/2026 13:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12751
            GROUP BY l.idllamado;
            

26/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12751
                

26/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12751
                

26/05/2026 13:16:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12751
            GROUP BY l.idllamado;
            

[26/05/2026 13:16: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;
                

26/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12751
                

26/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12751
                

26/05/2026 13:16:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12751
            GROUP BY l.idllamado;
            

[26/05/2026 13:16: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;
                

26/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12751
                

26/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12751
                

26/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12751
                

26/05/2026 13:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12751
                

[26/05/2026 13:16: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;
                

26/05/2026 13:16:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 13:16:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

[26/05/2026 13:16: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;
                

26/05/2026 13:16:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 13:16:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

[26/05/2026 13:16: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;
                

26/05/2026 13:16:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 13:16:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 13:16:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 13:16:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 13:16:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 13:16:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 13:16:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 13:16:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 13:16:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 13:16:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

[26/05/2026 13:16: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;
                

[26/05/2026 13:16: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;
                

26/05/2026 13:16:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 13: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 = 12735
                

26/05/2026 13:16:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

[26/05/2026 13:16: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;
                

26/05/2026 13:16:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 13: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 = 12735
                

26/05/2026 13:16:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 13: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 = 12735
                

26/05/2026 13: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 = 12735
                

26/05/2026 13: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 = 12735
                

26/05/2026 13: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 = 12735
                

26/05/2026 13: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 = 12735
                

26/05/2026 13: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 = 12735
                

26/05/2026 13:16:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 13:16:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 13: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 = 12735
                

26/05/2026 13:16:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 13:16:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 13:16:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 13: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 = 12735
                

[26/05/2026 13:16: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;
                

26/05/2026 13: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 = 12735
                

26/05/2026 13: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 = 12735
                

[26/05/2026 13:16: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;
                

[26/05/2026 13:16: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;
                

26/05/2026 13: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 = 12735
                

26/05/2026 13: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 = 12735
                

26/05/2026 13: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 = 12735
                

26/05/2026 13: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 = 12735
                
[26/05/2026 13:27:07] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[26/05/2026 13:27:07] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[26/05/2026 13:27:14] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[26/05/2026 13:27:14] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[26/05/2026 13:27: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;
                

26/05/2026 13:27:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

[26/05/2026 13:27: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;
                
[26/05/2026 13:59:59] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[26/05/2026 13:59:59] 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;
                

[26/05/2026 14:00: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;
                

26/05/2026 14:00:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

[26/05/2026 14:00: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;
                

[26/05/2026 14:00: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;
                

[26/05/2026 14:00: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;
                
[26/05/2026 14:01: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;
				
[26/05/2026 14:01: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;
                

[26/05/2026 14:01: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;
                

26/05/2026 14:01:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

[26/05/2026 14:01: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;
                

[26/05/2026 14:01:33] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                
[26/05/2026 14:10: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[26/05/2026 14:10:16] 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;
                

[26/05/2026 14: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;
                

26/05/2026 14:10:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

[26/05/2026 14:10: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;
                

26/05/2026 14:53:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 14:53:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

[26/05/2026 14:53: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;
                

26/05/2026 14: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 = 12735
                

26/05/2026 14: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 = 12735
                

26/05/2026 14:53:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 14: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 = 12735
                

26/05/2026 14: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 = 12735
                

26/05/2026 14: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 = 12735
                

26/05/2026 14:53:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 14: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 = 12735
                

26/05/2026 14: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 = 12735
                

26/05/2026 14: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 = 12735
                

26/05/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 14:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 14:55:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 14:55:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 14:55:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 14:55:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 14:55:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 14:55:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 14:55:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 14:55:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 14:55:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 14:55:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 14:55:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 14:55:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 14: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 = 12735
                

26/05/2026 14:56:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 14: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 = 12735
                

26/05/2026 14:56:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 14: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 = 12735
                

26/05/2026 14: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 = 12735
                

26/05/2026 14:56:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 14:56:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 14:58:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 14:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 14:58:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 14:58:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 14:58:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/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 = 12735
                

26/05/2026 14:58:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/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 = 12735
                

26/05/2026 14:58:55 - logentry: =========================================
FECHA: 26/05/2026 14:58:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-o+R0oyiK4.QeMtGGJ8a-epz69gQOS2eru8_T.YR3PUxLv5EfPFn
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3127",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "155",
    "contadorColor": "555",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\nlimpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12735",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADYAO8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABDEAABAwMCAwQHBgQEBAcAAAABAAIDBAURBiESMUETUWFxFCKBkaGxwRUjMkLR4QczUvAWQ2KCJFPC0iY2VmNyg7L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAzEQACAQIEAwcDAwQDAAAAAAAAAQIDERIhMVEEE0EiMmFxgbHRI6HhkcHwFCQzNEJi8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBEUetrae30r6mpkDI2Dc9\/gPFDjaSuz5cK+nttG+qqXhrGDbvcegHiq7Tlfc7nDLV1kUcdPI7NOAPWx9R4+fTCrKOiqNVVwuVxa6O3xn\/h6cn8Xif16+S1jWhrQ1oAAGAB0VjSirdTPTlOrLHpHp4+PlsfURFWaQiIgCIiAKvq7vDSXSkt72PL6rPC4cgrBZi+f+cLN7fmpQSbzKa83CKa3XuadERRLgiIgCIiAIiIAiIgCIiAIiIAiIgCIvjnBrS5xAAGST0QHiaaOnhfNM8MjYMuc47ALJ0sc+r7t6XUNcy10zsRRnbtD4\/X3L7K+bV93dTRPLLVSu9dzf80\/v07hutXDDHTwshhYGRsGGtaNgFZ3F4mP\/AGJf9F9\/we2tDWhrQAAMADovqIqzYEREAREQBERAFmL3vrGzgEZAJ5+JWnWYqfv\/AOIdIMbQU5Jz5O\/7h7lOGrM3E92K3a9zToodVd7dREiprImObzbxZcPYN+oUCTWFjj2FWXn\/AExu\/RcUZPRFkq1OPekl6l2iqabVFmqvw10bDnlLlnz2Vo1zXtDmODmnkQcgrjTWpKM4z7ruekRFwmEREAREQBERAEREAREQBZjUVwmr6xmn7c4GSbaoeN+Bvd+vu6qfqK9i0UQEOH1cx4Yo+Z88L5pyym1Urpah3HWVJ45XHmPBWRWFYmZardSXKj6+W3qT7dQQ2yhipIB6sY3ON3HqSpSIq27mlJRVkEREOhERAEREARRq+4UttpjUVcojYOWebj3AdSsyDeNWuJa51BazkZ\/NKM\/H5ealGN8+hRUrKDwpXe380LC5arpaaX0WhYa6rJ4RHHyB8+vkPgs9abdX6krq2tlrfRS77uUxjd3+nGeWwV7coKHStimloYhHPIOybKTl5J659mcDu5Kdpq3uttjghk\/mPHaPHcT09gwFbdRjeJkdOdWqo1Hks7LTwOFJpCz0oy+A1D85LpnZ+HJWEdntkQwy30o\/+lv6KYiqcpPVm2NGnHSKK2r09aK3JmoIuI\/mYOA+8YVHJ6dpCs4mcdVaZXAYcd4enPp8itco9wpG19vnpH4xKwtyRnB6H2HddjPo9CupQTWKGUtzrDKyeFk0TuKORoc13eDuCvaz2jqqWS1yUc+e1o5DHv8A09PiCPYtCuSVnYtpT5kFLcIiKJYEREAREQBERAFxq6uGhpJKqofwRRjLiuyyVxkk1PfG2undihpHcVQ8O2fy229oHtUoxuymtUwRy1eh0sVLPebq\/UFc1zWNJbSRu6N339mffkrUrxFEyGJkUbQ1jGhrWjoByC9pKV2dpU+XG3Xr5hERRLQiIgCIiAKqvd+p7PCBjtamTaOFvMnvPcFwvuoBQObRUTfSLhLsxjd+DxP6LxZNOmlmNxuT\/SLhJ6xLtxGfDx8fcpqKSvIzTqylLl0ter2\/JGodP1V0qhctQu43\/wCXTA+q0eP6e9adrQ1oa0AADAA6L6s5qTVMdq4qSlIfVkbnGRH3Z8fBO1N2H0+Gg5P9erI1fx3\/AFfDQjIpbf68p5Zdsf0HvWsVFpW1SW+3unqCfSKsiSQYA4eeB8fir1JvOy6Dh4vC5y1ln8BERQNIREQGY0\/mLVd7hO3E8Px7Sf8AqWnWYtu2v7pwnLOwGfP1P3WnU6mpm4XuNbN+4REUDSEREAREQBEXGrqoqKlkqZ3cMcTeJxQ42krsqdTXeS30rKWkya2rPBCG8xuBn44H7KTYLSyz2uODA7Vw4pXd7u7yHJVOnKOa6V8uoa9gDnnhgjI2aBj1h8veVqVZLsrCjNRTqS50vTy\/IREVZqCIiAIiIAqS\/wB9NvDaKib21wn2jYBnhz1K7X29xWelyAJKmTaGHq49\/komnLJLSl9zuRMlfUbku3MY7vP5clOKSWJmarOUpcqnr1e35O2n7A22RekVOJa6UZkkO\/D4A\/M9VdIqrUF7istAZDvPICIWY5nvPgMhczmyaUKFPZIgao1L9mNNFR+tWPbkuxkRDv8ANUWkbK+5V5uNWHOhidxAu37R\/wBccyotis9RqG4PnqJHmHizPIc5d1xn+8L9Hhhjp4WQwsDI2DDWtGwCuk1TWFamClCXFVObPurRHRERZz1QiIgCIiAzFi9fV95k58JDc92\/L4LTrL6RPb3K9VePVlqPVOcnm4\/ULUKdTvGbhc6d92\/cIiKBpCIiAIiIAspfZH368xWCneWxRHtKl4HLA\/fHmR3K6vt0baLVLVH8f4Yx3uPL9fYoelrW6koTW1JLqut+8kLuYB3A+OT4qyPZWIy1vqSVFeb8tvUuoomQxMijaGsY0Na0dAOQXtEVZqCIiAIiIAo9fXQW6jkqqh4axgz5noB4ru5wa0ucQABkk9FkTx6wvRbkNtlA\/oT98f3x7AfFSjG+b0KK1RwSUe89Dtp+inu9d\/iG4\/iOW00XRre\/549pWpXxrQ1oa0AADAA6KluuqKK3u7CHNXVHZsUW+D4n+yuu83kciocPDtPze7LSsrIKClfU1MgZGwZJPXwHeVho6Kv1jdnVcgfDQtdgOP5W\/wBLe8968dnddS39tJXlzGRnikjb+GFuM48zy791v4YY6eFkMLAyNgw1rRsAp\/4\/MzK\/FvPKC+7PNJSQUNMympoxHEwYAC7IipPQSSVkEREOhERAFwrZ\/RqGoqP+VE5\/LuGV3VNqyoFPpyqOd3gMHjkjPwyuxV2kV1ZYIOWyIuh4Oy0\/2hH86Vzs+Aw36LRqusNN6JYqOEgAiIOOO87n5qxXZu8myNCOGlFeARF8DgSQCCRzHcolx9REQBEVHqq6Ghtvo8Dh6VVHs425GQDzP08yupXdiFSapxcn0K8h2pNWY9Y2+3H\/AGveP3+A8VrFW2G1ttFqipsDtSOKUjq48\/dy9islKbu7LQroQcY4pavN\/HoFnhqpkuomWyCAPjLjGZS7HrDfIHdz8+9aFZWGOOr\/AIgSOjYAyjhy4gYBeRj3+t8PBIJO9yNeU1hUXq0apEUSqutvosiprIYnD8rnji93NQSuaHJRV2yWiylRrmnZXmOnhfNA0EcTW7vPhvsOfTouVdqe+eiPqIbUKOFvOWc7+GAcb+9WcuRlfGUVezvbYm6ruMhZHZqIg1NZ6r8H8DOue7PyBUG43qj0\/Zo7ZaJ2TTEEGRrgeDPN2R17u5U1VQPdb\/ty81D3TVTh2ULQA6QY2JPQYx05Y71Kns7rHpWaoqWtFXVubGAecbeZHmQDlXKMUkjBOrVlKUkrZa7L5Z3tdLqHUNC0TXB0NE4n19uJ++\/Lc755lWtXFbtH2h0tNFmpkHAyR27nOxzPcB4K6tlN6Ha6WmxgxxNafPG\/xWc4TqPVwdguoLacA\/lc8H9fg3xUMWJvY0ulyoK2c3ld52\/8LTTFnNqt3FMSampIklJ5jbZvsyfaSrlEVLbbuzdTgqcVGOiCIi4TCIiAIiq75fILLTcTvvKh+0UQ5uPefBdSbdkRnOMI4pPIXy+09kpuOT7yZ\/8ALiB3d4nuCptRy\/bFZaLYxrmCoInkY9pBa3y8uNe7Np6prKz7YvmXzuOWQOH4e7I+QX20A3LWNwuHOKmHYxkDbPLn7D71cko6dDBOVSqkpKyk1ZdbatmoAAGAMAKqu+o6K0u7FxM1SR6sMe58M9ygXa\/1FTWmz2QdpUnaSYco+\/fw6n6qZZNOU1pzO9xqKx+S+Z++5547vPmVDCkryL3VlUeGl6v43ZXNh1NfJA6Z\/wBl0pGzGnDyPnnzx5KPaaJlu1n6JRTSyRRQnt3OcHZO5wcDbcjbvWku9zjtNtlq5Ny0YY3+p3QKt0lb5oKKSvrOI1dY7icX\/iDenv5+7uUlLst9Cl0lzYxTberfh+TQIolddaC2tzWVUcRxkNJy4jwA3KpJNZxzyGK1W+orZB3NwOfPbJVahJ6GqdenB2k8zSucGtLnEAAZJPRZWytkv2oZ7zMHei05LKVruXdkezc+J8FXXe6ahq5I7VUU8NM6sw0RMwSQTjJOTgZz7lOptG1nYMgqrxIIWjAhhzwjfPU48eStUVFZvUxzqyrVEoRbUfTPoaOqutvosiprIYnD8rnji93NVE+trVG\/ghE9S7\/22bfHC60ujbNTEOdA+dwOQZXk\/AYCt6ejpqRvDTU8UI7o2BvyUOwvE0\/3Etl9\/gzj9VXORjnUun6jhAJ45OLA+H1VVYo9QVbqqut4gj9LkPHPLgkHOcDntv3dFp9U1fomnapw5yN7If7tj8Mrtp+k9CsVJCWgO7MOcB3nc\/NSxJRukZ3SlOsoym3ZX2Kg6Xudac3O+Svb1jiBA\/ToOip7pb7FS0vo9rd6XXPl7IB8hJB5bAYBOfZv5LY3u4fZdonqgQHtbiPP9R2CxGjKM1t\/FRJlwp2mQku5uOw8+efYpQbacn0KuIhCM40oq7fV52NtZrTDaKCOnja0yY+8kA3e7qVntT3GCtusdsklLKSmPaVTh1\/0jfc7geZWlu1wZa7ZNWPwSxvqtP5nHkPesJpyyzX6vfV1RLqZsnFM4\/5juePjv5+K5TWs5FvEu2GhTWvsXdjoZr5X\/bVxZiCM4pICMNaByOO4fE+S7a0DjDbyRmMVQ4jjYefxWla0NaGtAAAwAOijXG3U90o3UtSDwO3y3m094UFPtXLnw9qLgtX13ZD1JczbLS90RPpEx7KEDnxHr7B8cLxZaSm09Zo2VUsUL3etI57gMu7s7ZwstHYpbjfprbBc5XQ0WSJXAns3bZAHF37Z8FfwaKou1E1dU1FbJ143YB+vxU2opWuUwnVqVHNR0yWeXiTqDUdtuda+kppXOkaMglhAcOuD+uFarKacgiq9Q19yp2NZSRDsIAwcLTy5AeAz\/uWrVc0k7I1cPOU4YpbsIiKBeEUetrqa307p6qZsbB1PM+AHVZOvvdwvVPNJS8VBa489pUuHrPHLA8+4e0qcYORRVrxp5avYsL9q+ntxfTUfDUVI2JzljD4958F9sFhmZN9q3ZxmrpN2h+\/Z\/v8AJVWktPMnnNzqIn9gw5pmyc3H+o+X98lrLldaO00\/bVcvCDs1o3c4+AU5Wj2YmaliqfWrZLounmeL3cPsy0VFUCA9rcMz\/UdgsPS3Z9NaY7XQSsZUVRL6ioc7hDAemT4c+7Jxuul1vddqepjtlLT9lG94cxhPrO2yCT3Y3V7RaFtsDQat8lS\/G\/rcDfYBv8VJJQj2iicqnE1L0dFlf3OdouGmrBTdiyvY+Z382URuPER5Dl3K\/o7rQXCN0lLVRyNYMuwcFo8QdwuTLFaIY+EW2l4R1fEHH3lYyqgortqUUNlBp4ZAWzSRk8DgNyQOWPgVG0Ztsvc6nDqMbLZJXLTiOrr6AAPsyhdnJBxKf3x7vNa9R6Kip7fSspqaMMjYNh3+J8VIVcpX00NVGm4JuWr1IFXZbdXVbaqqpmyyNbwji5Yz3dVJxT0VM5wayGGMFzuEYDRzJ2XZZrVNXLVS09hpHDtatw7UjfhZz79uWfIJG8nY5UcaUXNLP3Zy03DJdrvVagqG4aSWU7Sfwjl7MDb2lapcaSlioqWOmgBEcTeFoJyuySldnaNPlws9evmERFEuMvq7NZW2u1AZ7abjfvgY5fIlacAAYAwAszVjt\/4g0TfywU5cR44d+oWnVktEjNRznOXjb9EYz+IFWeGkohyJMrt\/YPqpWgqTsrTNUkYM8uB4taP1JVHrl5dqDB\/JC0D4n6qXNcpPseOzWxzQyCn4qypH4WjGXAe0kd5V2H6aSPO5iXFTqS6aHa+Vp1JeILLQvzAx+ZZWnY45+BA+JWto6OCgpI6WmZwRxjAH1KzWhLY2GhkuLxl85LGeDQd\/eR8AtYqqjt2VojdwsXJc6esvboFFudYKC2VFX1ijJA7z0+OFKWa1pUOfS0triI7WsmAxnoCPqR7lCCvJIurzwU3I66OozBZzVyAdtWPMjnd46fU+1e9W3M2+0mGEn0irPZRgc8fmPu28yFcwxMp4I4YxhkbQ1o8AMLMU\/BftZyT546a2gBm2xfn9cn2BTTxScmUzTp0o0o6vL5Ze2e3ttlqgpAN2Ny897jufipy4VdZTUMJmqp2QsHVxxny71QVGrZKqQwWKhkrJM\/zHMIYPr78KKjKWZbKpTopRb9Opo5ZY4Y3SSyNjY0Zc5xwB7VnKzVrp5zSWOldWzf8AMweAf33nAXyPTVddZW1F\/rXPA3bTRHDW\/wB+HvWgpKOmoYRDSwMhYOjRjPn3rvZj4kL1qunZX3\/BQ0emZ62obXagqDUyj8MAPqM88c\/Ibea4XcC8agprDC3hpKcdpOI8ADbl4YyB5uWsWX0riS83qaV2Z+34SOWBl3T2fBdUm7y2K6lKMcNNf8nm97Zk+9XuCxQQ00EXHO8BsMLG7Acht3dMKhq6E2+jfer7IKm4SDEELt2sd0yORxzxy96m3SiudDqE3ino217OzwGn8TPAAdcdd+vXCzGo71NeK1plgdTiAFghcclrvzZ2G\/T2KynHS3qZeJq2vj1Wi6efiX+h6OWeepu9QS5zsxtc7qdiT8h71sHOaxhe9wa1oySTgALI0GsbPb7fDSQ01XiJmPwN3PU\/i6nJVJe9SVN3lbFNG+CkBz2LHYL\/ADJH0XHCU5XLIcTSoUUk7v8AcsdS6kkuMclLbiRSNPDLNy7Q9Gjw+fkrPRVmdRUTq6duJqgeoCN2s\/fY+wLOQ0txfWRTvsVQ+mhP3VNwua0eZxk+J6+Wy0YvOpnDhjsLG4\/qdtj3hdkrRwxKqM8VXm1Lt9MmadFR2us1FPWtFfboIKUg5c13rA42\/MevgrxZ2rHrQmpq6TXnkcqmojpKaWpmdwxxNLnHwCzulYZbhU1N\/q24fOSyFuSQ1o54z7vYe9StVUdwuNLT0NGzMU0o7d+fwgcsju6+wK4pqeOkpoqaFvDHE0NaPAKV7R8ylpzrZ6R+7\/B1REUDSEREBmKX73+IlZn\/ACqYY9zP1Wjmmip4nSzSNjY0ZLnHACqLrpv06tNdS101DUuAa58Y5gZ7iD3deiixaLpnzCa4V1TWuBz67sA+B5n4q14Xa7MUedTcko3u2733M7c\/\/E+qzHQOBY8BrZCCBgDcn4\/BXF9o4bNYqez0IPbV0oYXdX4xkn2kDHiqzR9PNFqgslgfC9kTi5jmkFoOMbHfqFazQC+6znie57YKOAsy12CCRjI8cu+Ctk7NLojDSWKnKdu1J2+TTUdKyio4aWP8MTA0Hvx1XdZg6TrYj\/wuoauJvRpyfk4fJPsDUH4P8Qv4O\/Bz8\/qqcKfU9FVakVblv9UadZO51EDtdUpqJ2RQ0kHE4vcAM7n6j3Lr\/he6yZ7fUlUR3N4gP\/0qu0aeoajUVfR1QknjpgOHieQTuOZGFKKiru5RXnVnhjgtn1e2fQuLprG3U8ErKOU1FRwHgLG5a095J9+yqLHT6lbRmGjgZSslfxvqJh6zsjxz8B9VsKS2UNCB6LSRREDGWtGffzUpcxpKyRa+HnOSlUlpsZuk0fC9wnu9VLXz9Q55DR9T\/ey0EMENNEIoImRRt5NYMALoig5N6l9OlCn3UERFEtCoLlpkz1z7hbqx9HVvxxEZ4Xd\/v29yv0XVJrQrqU41FaRlZaPV1NC57r1SCKNuS57RsANyfUWXpbLd7t2lbSxdtmQ5kDgziPUjOO9avUtTNcq2HT9DJwySHiqHZPqtxnB9m\/u71oKOkhoKSOlp2cMUYw0K7G4q9s2ee+GjWqON3hXj1\/BiKDSd7Y52WU1O8nPbvdxuHLlzweudj4rQ2rSlHb5vSZ3urKnOe0lGwPeB3+eVeooSqSZpp8HSp52v5hERVmsIiIAiIgCIiAIiIAoN3usFooH1MzhxYIjZnd7ugXC8ahorO3hkd2tQfwwMPrHz7lXWy0Vd0rhd72zDh\/IpTyjHTI+nvU1Hq9DNUqtvl085e3mddM0c0UFRd7h6tTWHjdkY4WDlt8fLC46LY6aOvuTx61VUEgnntk\/N3wVpqOc0+nq2QHB7Itz\/APLb6rxpinFPp2jaG4LmcZz14jn6qTd4t7lcaajVjBdE36v+MtkRFUbQsxZNtY3gHYkA49oWnWYpAaf+INYCMNqKcFudskBvLv5FThozNXylB+P7M06IigaQiIgCIiAKqv17is9Jt95VS7QxDmT3+S7Xa70tnpDNUPBdj1Iwd3nu\/dU+nrVUVdY6+3VuZ5N4Y3D+WOhx5cvepxirYnoZqtRt8unq\/sv5oStM2eWihfW1xc6vqt5C45LR3K9RFFtt3ZdTpqnFRQREXCYREQBERAEVReLPWXKeOSmvE9E1reEsjBw4557EKv8A8LXX\/wBT1nud\/wB6moxtqUSqVE7KF\/VGnXKeqp6ZvFUTxxDvkeG\/NZ3\/AAfUO2ffqxzeoyf1XWDRFpjdxTGeoPXtJMfLCWjuR5ld6Qt5v4O1Zq+0UnqsmdUv\/pgbn48lE9K1HfBw01N9lU52Msu8h8hjPw9qvKO10NAB6LSxxEDHEG+tjz5qWmKK0Q5dWffllsvnX2Ke2aaobdIKh3FU1WcmeY5Oe8Dp81cIii23qXQhGCtFWKDWspj05I0H+ZIxvxz9FbW6PsbbSxf0Qsb7gFQ60+\/FtoMZ9IqRt34wOf8AuWnUn3EUwzrzeyS\/cIiKBpCzuqbfNiG8UAxV0ZycD8TfHy+RK0S+EAjBGQVKLs7ldWmqkXFkO13Wmu9G2opn56PYebD3FTVmq3T1XQVjrjp57IpHDElM7ZjvLp7D+y8N1dU0XEy8WmeBzQMviGWn39PaVLBfOJQq+DKsrPfozUIswNeWx2zKasc7oOBv\/cvg1dV1GfQrFVTDOzjnHwB+a5y5bEv6uj0kahUN51NDRu9DoG+l1z\/VaxnrBp8cfL5KMaG\/33Hp84t1I4A9jD+Nw8f39yubbZqC0x8NJAGuP4nu3c72rtox1zOOVWrlBYVu9fRfJVWvTcj6r7TvbxU1hOQzOWM7tuR+S0aIoyk5al1OlGmrRCIiiWBERAEREAREQBERAEREAREQBERAZe5H0vXdupwDw08Zkce47n6NWoWXtAFZra61fMQNEQ7gdh\/0n4rUKc+iM3D54pbt\/bIIiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAz2kqKpp2V1TVwvhlqagnEg9YgdfeStCiKUnd3KqMVCmkgiIoloREQBERAEREAREQBERAEREAREQBERAEREB\/\/9k=",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONTADOR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "14:58",
    "ubicacionGPS": "LatLng(lat: -23.10061, lng: -70.4525142)",
    "horaLlegada": "11:38",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 26/05/2026 14:58:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-o+R0oyiK4.QeMtGGJ8a-epz69gQOS2eru8_T.YR3PUxLv5EfPFn
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3127",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "155",
    "contadorColor": "555",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\nlimpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12735",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADYAO8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABDEAABAwMCAwQHBgQEBAcAAAABAAIDBAURBiESMUETUWFxFCKBkaGxwRUjMkLR4QczUvAWQ2KCJFPC0iY2VmNyg7L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAzEQACAQIEAwcDAwQDAAAAAAAAAQIDERIhMVEEE0EiMmFxgbHRI6HhkcHwFCQzNEJi8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBEUetrae30r6mpkDI2Dc9\/gPFDjaSuz5cK+nttG+qqXhrGDbvcegHiq7Tlfc7nDLV1kUcdPI7NOAPWx9R4+fTCrKOiqNVVwuVxa6O3xn\/h6cn8Xif16+S1jWhrQ1oAAGAB0VjSirdTPTlOrLHpHp4+PlsfURFWaQiIgCIiAKvq7vDSXSkt72PL6rPC4cgrBZi+f+cLN7fmpQSbzKa83CKa3XuadERRLgiIgCIiAIiIAiIgCIiAIiIAiIgCIvjnBrS5xAAGST0QHiaaOnhfNM8MjYMuc47ALJ0sc+r7t6XUNcy10zsRRnbtD4\/X3L7K+bV93dTRPLLVSu9dzf80\/v07hutXDDHTwshhYGRsGGtaNgFZ3F4mP\/AGJf9F9\/we2tDWhrQAAMADovqIqzYEREAREQBERAFmL3vrGzgEZAJ5+JWnWYqfv\/AOIdIMbQU5Jz5O\/7h7lOGrM3E92K3a9zToodVd7dREiprImObzbxZcPYN+oUCTWFjj2FWXn\/AExu\/RcUZPRFkq1OPekl6l2iqabVFmqvw10bDnlLlnz2Vo1zXtDmODmnkQcgrjTWpKM4z7ruekRFwmEREAREQBERAEREAREQBZjUVwmr6xmn7c4GSbaoeN+Bvd+vu6qfqK9i0UQEOH1cx4Yo+Z88L5pyym1Urpah3HWVJ45XHmPBWRWFYmZardSXKj6+W3qT7dQQ2yhipIB6sY3ON3HqSpSIq27mlJRVkEREOhERAEREARRq+4UttpjUVcojYOWebj3AdSsyDeNWuJa51BazkZ\/NKM\/H5ealGN8+hRUrKDwpXe380LC5arpaaX0WhYa6rJ4RHHyB8+vkPgs9abdX6krq2tlrfRS77uUxjd3+nGeWwV7coKHStimloYhHPIOybKTl5J659mcDu5Kdpq3uttjghk\/mPHaPHcT09gwFbdRjeJkdOdWqo1Hks7LTwOFJpCz0oy+A1D85LpnZ+HJWEdntkQwy30o\/+lv6KYiqcpPVm2NGnHSKK2r09aK3JmoIuI\/mYOA+8YVHJ6dpCs4mcdVaZXAYcd4enPp8itco9wpG19vnpH4xKwtyRnB6H2HddjPo9CupQTWKGUtzrDKyeFk0TuKORoc13eDuCvaz2jqqWS1yUc+e1o5DHv8A09PiCPYtCuSVnYtpT5kFLcIiKJYEREAREQBERAFxq6uGhpJKqofwRRjLiuyyVxkk1PfG2undihpHcVQ8O2fy229oHtUoxuymtUwRy1eh0sVLPebq\/UFc1zWNJbSRu6N339mffkrUrxFEyGJkUbQ1jGhrWjoByC9pKV2dpU+XG3Xr5hERRLQiIgCIiAKqvd+p7PCBjtamTaOFvMnvPcFwvuoBQObRUTfSLhLsxjd+DxP6LxZNOmlmNxuT\/SLhJ6xLtxGfDx8fcpqKSvIzTqylLl0ter2\/JGodP1V0qhctQu43\/wCXTA+q0eP6e9adrQ1oa0AADAA6L6s5qTVMdq4qSlIfVkbnGRH3Z8fBO1N2H0+Gg5P9erI1fx3\/AFfDQjIpbf68p5Zdsf0HvWsVFpW1SW+3unqCfSKsiSQYA4eeB8fir1JvOy6Dh4vC5y1ln8BERQNIREQGY0\/mLVd7hO3E8Px7Sf8AqWnWYtu2v7pwnLOwGfP1P3WnU6mpm4XuNbN+4REUDSEREAREQBEXGrqoqKlkqZ3cMcTeJxQ42krsqdTXeS30rKWkya2rPBCG8xuBn44H7KTYLSyz2uODA7Vw4pXd7u7yHJVOnKOa6V8uoa9gDnnhgjI2aBj1h8veVqVZLsrCjNRTqS50vTy\/IREVZqCIiAIiIAqS\/wB9NvDaKib21wn2jYBnhz1K7X29xWelyAJKmTaGHq49\/komnLJLSl9zuRMlfUbku3MY7vP5clOKSWJmarOUpcqnr1e35O2n7A22RekVOJa6UZkkO\/D4A\/M9VdIqrUF7istAZDvPICIWY5nvPgMhczmyaUKFPZIgao1L9mNNFR+tWPbkuxkRDv8ANUWkbK+5V5uNWHOhidxAu37R\/wBccyotis9RqG4PnqJHmHizPIc5d1xn+8L9Hhhjp4WQwsDI2DDWtGwCuk1TWFamClCXFVObPurRHRERZz1QiIgCIiAzFi9fV95k58JDc92\/L4LTrL6RPb3K9VePVlqPVOcnm4\/ULUKdTvGbhc6d92\/cIiKBpCIiAIiIAspfZH368xWCneWxRHtKl4HLA\/fHmR3K6vt0baLVLVH8f4Yx3uPL9fYoelrW6koTW1JLqut+8kLuYB3A+OT4qyPZWIy1vqSVFeb8tvUuoomQxMijaGsY0Na0dAOQXtEVZqCIiAIiIAo9fXQW6jkqqh4axgz5noB4ru5wa0ucQABkk9FkTx6wvRbkNtlA\/oT98f3x7AfFSjG+b0KK1RwSUe89Dtp+inu9d\/iG4\/iOW00XRre\/549pWpXxrQ1oa0AADAA6KluuqKK3u7CHNXVHZsUW+D4n+yuu83kciocPDtPze7LSsrIKClfU1MgZGwZJPXwHeVho6Kv1jdnVcgfDQtdgOP5W\/wBLe8968dnddS39tJXlzGRnikjb+GFuM48zy791v4YY6eFkMLAyNgw1rRsAp\/4\/MzK\/FvPKC+7PNJSQUNMympoxHEwYAC7IipPQSSVkEREOhERAFwrZ\/RqGoqP+VE5\/LuGV3VNqyoFPpyqOd3gMHjkjPwyuxV2kV1ZYIOWyIuh4Oy0\/2hH86Vzs+Aw36LRqusNN6JYqOEgAiIOOO87n5qxXZu8myNCOGlFeARF8DgSQCCRzHcolx9REQBEVHqq6Ghtvo8Dh6VVHs425GQDzP08yupXdiFSapxcn0K8h2pNWY9Y2+3H\/AGveP3+A8VrFW2G1ttFqipsDtSOKUjq48\/dy9islKbu7LQroQcY4pavN\/HoFnhqpkuomWyCAPjLjGZS7HrDfIHdz8+9aFZWGOOr\/AIgSOjYAyjhy4gYBeRj3+t8PBIJO9yNeU1hUXq0apEUSqutvosiprIYnD8rnji93NQSuaHJRV2yWiylRrmnZXmOnhfNA0EcTW7vPhvsOfTouVdqe+eiPqIbUKOFvOWc7+GAcb+9WcuRlfGUVezvbYm6ruMhZHZqIg1NZ6r8H8DOue7PyBUG43qj0\/Zo7ZaJ2TTEEGRrgeDPN2R17u5U1VQPdb\/ty81D3TVTh2ULQA6QY2JPQYx05Y71Kns7rHpWaoqWtFXVubGAecbeZHmQDlXKMUkjBOrVlKUkrZa7L5Z3tdLqHUNC0TXB0NE4n19uJ++\/Lc755lWtXFbtH2h0tNFmpkHAyR27nOxzPcB4K6tlN6Ha6WmxgxxNafPG\/xWc4TqPVwdguoLacA\/lc8H9fg3xUMWJvY0ulyoK2c3ld52\/8LTTFnNqt3FMSampIklJ5jbZvsyfaSrlEVLbbuzdTgqcVGOiCIi4TCIiAIiq75fILLTcTvvKh+0UQ5uPefBdSbdkRnOMI4pPIXy+09kpuOT7yZ\/8ALiB3d4nuCptRy\/bFZaLYxrmCoInkY9pBa3y8uNe7Np6prKz7YvmXzuOWQOH4e7I+QX20A3LWNwuHOKmHYxkDbPLn7D71cko6dDBOVSqkpKyk1ZdbatmoAAGAMAKqu+o6K0u7FxM1SR6sMe58M9ygXa\/1FTWmz2QdpUnaSYco+\/fw6n6qZZNOU1pzO9xqKx+S+Z++5547vPmVDCkryL3VlUeGl6v43ZXNh1NfJA6Z\/wBl0pGzGnDyPnnzx5KPaaJlu1n6JRTSyRRQnt3OcHZO5wcDbcjbvWku9zjtNtlq5Ny0YY3+p3QKt0lb5oKKSvrOI1dY7icX\/iDenv5+7uUlLst9Cl0lzYxTberfh+TQIolddaC2tzWVUcRxkNJy4jwA3KpJNZxzyGK1W+orZB3NwOfPbJVahJ6GqdenB2k8zSucGtLnEAAZJPRZWytkv2oZ7zMHei05LKVruXdkezc+J8FXXe6ahq5I7VUU8NM6sw0RMwSQTjJOTgZz7lOptG1nYMgqrxIIWjAhhzwjfPU48eStUVFZvUxzqyrVEoRbUfTPoaOqutvosiprIYnD8rnji93NVE+trVG\/ghE9S7\/22bfHC60ujbNTEOdA+dwOQZXk\/AYCt6ejpqRvDTU8UI7o2BvyUOwvE0\/3Etl9\/gzj9VXORjnUun6jhAJ45OLA+H1VVYo9QVbqqut4gj9LkPHPLgkHOcDntv3dFp9U1fomnapw5yN7If7tj8Mrtp+k9CsVJCWgO7MOcB3nc\/NSxJRukZ3SlOsoym3ZX2Kg6Xudac3O+Svb1jiBA\/ToOip7pb7FS0vo9rd6XXPl7IB8hJB5bAYBOfZv5LY3u4fZdonqgQHtbiPP9R2CxGjKM1t\/FRJlwp2mQku5uOw8+efYpQbacn0KuIhCM40oq7fV52NtZrTDaKCOnja0yY+8kA3e7qVntT3GCtusdsklLKSmPaVTh1\/0jfc7geZWlu1wZa7ZNWPwSxvqtP5nHkPesJpyyzX6vfV1RLqZsnFM4\/5juePjv5+K5TWs5FvEu2GhTWvsXdjoZr5X\/bVxZiCM4pICMNaByOO4fE+S7a0DjDbyRmMVQ4jjYefxWla0NaGtAAAwAOijXG3U90o3UtSDwO3y3m094UFPtXLnw9qLgtX13ZD1JczbLS90RPpEx7KEDnxHr7B8cLxZaSm09Zo2VUsUL3etI57gMu7s7ZwstHYpbjfprbBc5XQ0WSJXAns3bZAHF37Z8FfwaKou1E1dU1FbJ143YB+vxU2opWuUwnVqVHNR0yWeXiTqDUdtuda+kppXOkaMglhAcOuD+uFarKacgiq9Q19yp2NZSRDsIAwcLTy5AeAz\/uWrVc0k7I1cPOU4YpbsIiKBeEUetrqa307p6qZsbB1PM+AHVZOvvdwvVPNJS8VBa489pUuHrPHLA8+4e0qcYORRVrxp5avYsL9q+ntxfTUfDUVI2JzljD4958F9sFhmZN9q3ZxmrpN2h+\/Z\/v8AJVWktPMnnNzqIn9gw5pmyc3H+o+X98lrLldaO00\/bVcvCDs1o3c4+AU5Wj2YmaliqfWrZLounmeL3cPsy0VFUCA9rcMz\/UdgsPS3Z9NaY7XQSsZUVRL6ioc7hDAemT4c+7Jxuul1vddqepjtlLT9lG94cxhPrO2yCT3Y3V7RaFtsDQat8lS\/G\/rcDfYBv8VJJQj2iicqnE1L0dFlf3OdouGmrBTdiyvY+Z382URuPER5Dl3K\/o7rQXCN0lLVRyNYMuwcFo8QdwuTLFaIY+EW2l4R1fEHH3lYyqgortqUUNlBp4ZAWzSRk8DgNyQOWPgVG0Ztsvc6nDqMbLZJXLTiOrr6AAPsyhdnJBxKf3x7vNa9R6Kip7fSspqaMMjYNh3+J8VIVcpX00NVGm4JuWr1IFXZbdXVbaqqpmyyNbwji5Yz3dVJxT0VM5wayGGMFzuEYDRzJ2XZZrVNXLVS09hpHDtatw7UjfhZz79uWfIJG8nY5UcaUXNLP3Zy03DJdrvVagqG4aSWU7Sfwjl7MDb2lapcaSlioqWOmgBEcTeFoJyuySldnaNPlws9evmERFEuMvq7NZW2u1AZ7abjfvgY5fIlacAAYAwAszVjt\/4g0TfywU5cR44d+oWnVktEjNRznOXjb9EYz+IFWeGkohyJMrt\/YPqpWgqTsrTNUkYM8uB4taP1JVHrl5dqDB\/JC0D4n6qXNcpPseOzWxzQyCn4qypH4WjGXAe0kd5V2H6aSPO5iXFTqS6aHa+Vp1JeILLQvzAx+ZZWnY45+BA+JWto6OCgpI6WmZwRxjAH1KzWhLY2GhkuLxl85LGeDQd\/eR8AtYqqjt2VojdwsXJc6esvboFFudYKC2VFX1ijJA7z0+OFKWa1pUOfS0triI7WsmAxnoCPqR7lCCvJIurzwU3I66OozBZzVyAdtWPMjnd46fU+1e9W3M2+0mGEn0irPZRgc8fmPu28yFcwxMp4I4YxhkbQ1o8AMLMU\/BftZyT546a2gBm2xfn9cn2BTTxScmUzTp0o0o6vL5Ze2e3ttlqgpAN2Ny897jufipy4VdZTUMJmqp2QsHVxxny71QVGrZKqQwWKhkrJM\/zHMIYPr78KKjKWZbKpTopRb9Opo5ZY4Y3SSyNjY0Zc5xwB7VnKzVrp5zSWOldWzf8AMweAf33nAXyPTVddZW1F\/rXPA3bTRHDW\/wB+HvWgpKOmoYRDSwMhYOjRjPn3rvZj4kL1qunZX3\/BQ0emZ62obXagqDUyj8MAPqM88c\/Ibea4XcC8agprDC3hpKcdpOI8ADbl4YyB5uWsWX0riS83qaV2Z+34SOWBl3T2fBdUm7y2K6lKMcNNf8nm97Zk+9XuCxQQ00EXHO8BsMLG7Acht3dMKhq6E2+jfer7IKm4SDEELt2sd0yORxzxy96m3SiudDqE3ino217OzwGn8TPAAdcdd+vXCzGo71NeK1plgdTiAFghcclrvzZ2G\/T2KynHS3qZeJq2vj1Wi6efiX+h6OWeepu9QS5zsxtc7qdiT8h71sHOaxhe9wa1oySTgALI0GsbPb7fDSQ01XiJmPwN3PU\/i6nJVJe9SVN3lbFNG+CkBz2LHYL\/ADJH0XHCU5XLIcTSoUUk7v8AcsdS6kkuMclLbiRSNPDLNy7Q9Gjw+fkrPRVmdRUTq6duJqgeoCN2s\/fY+wLOQ0txfWRTvsVQ+mhP3VNwua0eZxk+J6+Wy0YvOpnDhjsLG4\/qdtj3hdkrRwxKqM8VXm1Lt9MmadFR2us1FPWtFfboIKUg5c13rA42\/MevgrxZ2rHrQmpq6TXnkcqmojpKaWpmdwxxNLnHwCzulYZbhU1N\/q24fOSyFuSQ1o54z7vYe9StVUdwuNLT0NGzMU0o7d+fwgcsju6+wK4pqeOkpoqaFvDHE0NaPAKV7R8ylpzrZ6R+7\/B1REUDSEREBmKX73+IlZn\/ACqYY9zP1Wjmmip4nSzSNjY0ZLnHACqLrpv06tNdS101DUuAa58Y5gZ7iD3deiixaLpnzCa4V1TWuBz67sA+B5n4q14Xa7MUedTcko3u2733M7c\/\/E+qzHQOBY8BrZCCBgDcn4\/BXF9o4bNYqez0IPbV0oYXdX4xkn2kDHiqzR9PNFqgslgfC9kTi5jmkFoOMbHfqFazQC+6znie57YKOAsy12CCRjI8cu+Ctk7NLojDSWKnKdu1J2+TTUdKyio4aWP8MTA0Hvx1XdZg6TrYj\/wuoauJvRpyfk4fJPsDUH4P8Qv4O\/Bz8\/qqcKfU9FVakVblv9UadZO51EDtdUpqJ2RQ0kHE4vcAM7n6j3Lr\/he6yZ7fUlUR3N4gP\/0qu0aeoajUVfR1QknjpgOHieQTuOZGFKKiru5RXnVnhjgtn1e2fQuLprG3U8ErKOU1FRwHgLG5a095J9+yqLHT6lbRmGjgZSslfxvqJh6zsjxz8B9VsKS2UNCB6LSRREDGWtGffzUpcxpKyRa+HnOSlUlpsZuk0fC9wnu9VLXz9Q55DR9T\/ey0EMENNEIoImRRt5NYMALoig5N6l9OlCn3UERFEtCoLlpkz1z7hbqx9HVvxxEZ4Xd\/v29yv0XVJrQrqU41FaRlZaPV1NC57r1SCKNuS57RsANyfUWXpbLd7t2lbSxdtmQ5kDgziPUjOO9avUtTNcq2HT9DJwySHiqHZPqtxnB9m\/u71oKOkhoKSOlp2cMUYw0K7G4q9s2ee+GjWqON3hXj1\/BiKDSd7Y52WU1O8nPbvdxuHLlzweudj4rQ2rSlHb5vSZ3urKnOe0lGwPeB3+eVeooSqSZpp8HSp52v5hERVmsIiIAiIgCIiAIiIAoN3usFooH1MzhxYIjZnd7ugXC8ahorO3hkd2tQfwwMPrHz7lXWy0Vd0rhd72zDh\/IpTyjHTI+nvU1Hq9DNUqtvl085e3mddM0c0UFRd7h6tTWHjdkY4WDlt8fLC46LY6aOvuTx61VUEgnntk\/N3wVpqOc0+nq2QHB7Itz\/APLb6rxpinFPp2jaG4LmcZz14jn6qTd4t7lcaajVjBdE36v+MtkRFUbQsxZNtY3gHYkA49oWnWYpAaf+INYCMNqKcFudskBvLv5FThozNXylB+P7M06IigaQiIgCIiAKqv17is9Jt95VS7QxDmT3+S7Xa70tnpDNUPBdj1Iwd3nu\/dU+nrVUVdY6+3VuZ5N4Y3D+WOhx5cvepxirYnoZqtRt8unq\/sv5oStM2eWihfW1xc6vqt5C45LR3K9RFFtt3ZdTpqnFRQREXCYREQBERAEVReLPWXKeOSmvE9E1reEsjBw4557EKv8A8LXX\/wBT1nud\/wB6moxtqUSqVE7KF\/VGnXKeqp6ZvFUTxxDvkeG\/NZ3\/AAfUO2ffqxzeoyf1XWDRFpjdxTGeoPXtJMfLCWjuR5ld6Qt5v4O1Zq+0UnqsmdUv\/pgbn48lE9K1HfBw01N9lU52Msu8h8hjPw9qvKO10NAB6LSxxEDHEG+tjz5qWmKK0Q5dWffllsvnX2Ke2aaobdIKh3FU1WcmeY5Oe8Dp81cIii23qXQhGCtFWKDWspj05I0H+ZIxvxz9FbW6PsbbSxf0Qsb7gFQ60+\/FtoMZ9IqRt34wOf8AuWnUn3EUwzrzeyS\/cIiKBpCzuqbfNiG8UAxV0ZycD8TfHy+RK0S+EAjBGQVKLs7ldWmqkXFkO13Wmu9G2opn56PYebD3FTVmq3T1XQVjrjp57IpHDElM7ZjvLp7D+y8N1dU0XEy8WmeBzQMviGWn39PaVLBfOJQq+DKsrPfozUIswNeWx2zKasc7oOBv\/cvg1dV1GfQrFVTDOzjnHwB+a5y5bEv6uj0kahUN51NDRu9DoG+l1z\/VaxnrBp8cfL5KMaG\/33Hp84t1I4A9jD+Nw8f39yubbZqC0x8NJAGuP4nu3c72rtox1zOOVWrlBYVu9fRfJVWvTcj6r7TvbxU1hOQzOWM7tuR+S0aIoyk5al1OlGmrRCIiiWBERAEREAREQBERAEREAREQBERAZe5H0vXdupwDw08Zkce47n6NWoWXtAFZra61fMQNEQ7gdh\/0n4rUKc+iM3D54pbt\/bIIiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAz2kqKpp2V1TVwvhlqagnEg9YgdfeStCiKUnd3KqMVCmkgiIoloREQBERAEREAREQBERAEREAREQBERAEREB\/\/9k=",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONTADOR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "14:58",
    "ubicacionGPS": "LatLng(lat: -23.10061, lng: -70.4525142)",
    "horaLlegada": "11:38",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


26/05/2026 14:58:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[26/05/2026 14:58: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('69020400', 'EP3127', 1, 21773342, 155, NOW(), 
				'08:00', '11:38', '14:58', 3, 'Mantenimiento
limpieza', -1, 
				'', '','1','555',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779821935.png', '', null, 'COMPLETADO','LatLng(lat: -23.10061, lng: -70.4525142)' )
				
[26/05/2026 14:58:55] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200434

26/05/2026 14:58:55 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200434'                    
				WHERE idllamado = 12735			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


26/05/2026 14:58:55 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12735			
				
26/05/2026 14:58:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


26/05/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 = 12735
                

26/05/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 = 12735
                

26/05/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 = 12735
                

26/05/2026 14:58:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/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 = 12735
                

26/05/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 = 12735
                

26/05/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 = 12735
                

26/05/2026 14:59:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

[26/05/2026 14: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;
                

[26/05/2026 14: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;
                

26/05/2026 14:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 14:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12735
            GROUP BY l.idllamado;
            

26/05/2026 14:59:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 14:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                

26/05/2026 14:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12735
                
[26/05/2026 14:59:30] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[26/05/2026 14:59:30] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[26/05/2026 15:00: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;
                
[26/05/2026 15: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[26/05/2026 15:15:43] 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;
                

[26/05/2026 15:15: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;
                

26/05/2026 15:15:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 15:15:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

[26/05/2026 15:15: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;
                

26/05/2026 15: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 = 12753
                

26/05/2026 15:15:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

[26/05/2026 15:15: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;
                

26/05/2026 15: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 = 12753
                

26/05/2026 15: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 = 12753
                

26/05/2026 15: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 = 12753
                

26/05/2026 15: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 = 12753
                

26/05/2026 15:16:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

[26/05/2026 15:16: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;
                

26/05/2026 15:16:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 15:16:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

[26/05/2026 15:16: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;
                

26/05/2026 15: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 = 12753
                

26/05/2026 15: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 = 12753
                

26/05/2026 15: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 = 12753
                

26/05/2026 15: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 = 12753
                

26/05/2026 15:16:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

[26/05/2026 15:16: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;
                

26/05/2026 15:16:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

[26/05/2026 15:16: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;
                

26/05/2026 15: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 = 12753
                

26/05/2026 15: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 = 12753
                

26/05/2026 15: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 = 12753
                

26/05/2026 15:16:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

[26/05/2026 15:16: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;
                

26/05/2026 15:16:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 15:16:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 15:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

[26/05/2026 15:16: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;
                

26/05/2026 15:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 15:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 15:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

[26/05/2026 15:16: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;
                

26/05/2026 15:16:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

[26/05/2026 15:16: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;
                

26/05/2026 15: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 = 12578
                

26/05/2026 15:16:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 15: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 = 12578
                

26/05/2026 15:16:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 15:16:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 15:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

[26/05/2026 15:17: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;
                

[26/05/2026 15:17: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;
                

26/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 15:17:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 15:17:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 15:17:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                
[26/05/2026 15:20: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 = '95585912'
				GROUP BY anio
				ORDER BY anio DESC;
				
[26/05/2026 15:20:58] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 95585912 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '95585912'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[26/05/2026 15:21:00] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:21:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12739
LIMIT 1;
        

[26/05/2026 15:21:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 15:21:17] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 15:21:18] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:21:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:21:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12740
LIMIT 1;
        

[26/05/2026 15:21:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 15:21:24] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:21:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:21:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12734
LIMIT 1;
        

26/05/2026 15:21:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[26/05/2026 15:21:38] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:21:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12734
LIMIT 1;
        

26/05/2026 15:21:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:21:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12734
LIMIT 1;
        

26/05/2026 15: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 = 12734
                

26/05/2026 15: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 = 12734
                

[26/05/2026 15:21:42] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:21:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12734
LIMIT 1;
        

[26/05/2026 15:21:56] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:24:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:24:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12739
LIMIT 1;
        

[26/05/2026 15:24:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 15:24:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:24:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:24:10 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12739
LIMIT 1;
        

[26/05/2026 15:24:11] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:24:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:24:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12739
LIMIT 1;
        

[26/05/2026 15:24:13] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:24:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:24:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12740
LIMIT 1;
        

[26/05/2026 15:24:14] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 15:24:17] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:24:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:24:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12734
LIMIT 1;
        

[26/05/2026 15:24:19] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 15:24:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:24:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12714
            GROUP BY l.idllamado;
            

[26/05/2026 15:24:26] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 15:24:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:24:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12713
            GROUP BY l.idllamado;
            

[26/05/2026 15:24:31] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 15:24:34] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12716
            GROUP BY l.idllamado;
            

[26/05/2026 15:24:36] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 15:24:42] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                
[26/05/2026 15:30:12] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 95585912 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '95585912'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[26/05/2026 15:30: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 = '95585912'
				GROUP BY anio
				ORDER BY anio DESC;
				

[26/05/2026 15:30:13] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 15:30:17] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:30:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:30:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

[26/05/2026 15:31:10] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:31:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:31:10 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15:31:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:31:10 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15:31:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15:31:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:31:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15: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 = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15:31:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:31:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15: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 = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15:31:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:31:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:31:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:31:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15:31:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:31:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15:31:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:31: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:31:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15:32:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15: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 = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15:32:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15: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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15: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 = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15:32:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:32:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15: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 = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15:32:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15: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 = 12754
                

26/05/2026 15:32:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15: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 = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15:32:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:32:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15: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 = 12754
                

26/05/2026 15:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15:32:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:32:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15: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 = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15:32:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:32:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15: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 = 12754
                

26/05/2026 15:32:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:32:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15:32:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:32:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15: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 = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15:32:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:32:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15: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 = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15:32:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:32:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15: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 = 12754
                

26/05/2026 15:32:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:32:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15: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 = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15:32:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:32:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:32:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15:32:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:32:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:32:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:32:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:32:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15:32:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15:32:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:32:33 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15: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 = 12754
                

26/05/2026 15:32:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:32:33 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15: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 = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15:32:40 - logentry: =========================================
FECHA: 26/05/2026 15:32:40
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-wAb6Eno0zGHePsQZPjgfzVaNfKLazEJlECg2SGlh0LopJylpy.M
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2327",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "CSJ",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "TALLER",
    "rutTecnico": "95585912",
    "contador": "160061",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se instala máquina no registrada",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12754",
    "observacion": "se instala máquina no registrada",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABsANwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABAEAABAwMBBAcFBgMHBQAAAAABAAIDBAURBhIhMUETUWFxkaGxFCIygdEVFiRCYsE0UqIHIzNDcpLwRXPC0uH\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAQIDBP\/EAC8RAAIBAgQDBwQDAQEAAAAAAAABAgMREiExQQQTUSIyYXGRobEUQoHRM8HwUuH\/2gAMAwEAAhEDEQA\/AP2ZEXCsq4aClkqah+zHGMkoQ2krs7qpuOprVbSWy1IlkH+XD7x+fIfMqn9ovWqZC2lzb7btYMmffeOfDj8t3aVc2zTlstbR0UAkk5yy+87\/AOfJaYVHvHNzalX+JWXV\/wBIrPvDfbg7FrspYw8JKjOCOvkPMr32LWFR7z7jTU4O\/Ya0bv6T6rTomPoieQ33pt+3wZg2TUh\/6\/8A0lPsvVkO+G8QSY5SDj4tK06KOYx9NDZv1Zl\/tfUtuwa+1MqYhxkpzvxzO7PoOHzVnaNR0F59yB5ZOBkxPGD8uRVqqW86Zo7rmaP8NVje2WMY2j+rr7+Km8XqrEOFWnnB4l0f7LpFQ2Otu0dZJa7tEXvjZtMqWjLXjPM4+nDfvV8qNWdjanNTjdBERQaBERAEREAREQBEVReNQwWqRlO2GSpqZOEMfHHaVKTbsik5xgsUnkW6LL\/aOrKx2ae1w00ZH+ad\/mR6KVb6fU4ron19ZTGmaTtsY0Zdu3fl68c1ZwtuZLiFJ2UX6F8iIqHQEREB45wa0ucQABkk8lkqaM6uvL6qbaNqpTiKM7tt2Bx9T8gpmsKmd1LT2ulwZq6TYx+kem8jf3q5t9DDbaGKkgaA2NoBOMbR5k9pWi7Mb7s5Jrm1MH2rXxeyO7WtYwMY0Na0YAAwAF9IizOsIiIAi4zVdNTb56iKL\/W8N9VAm1PZYBl1wjduzhmXeilJvQpKpCPeaRaoucM0dRAyaF4fHI0Oa4cwVCv9abfZKmoY7ZeG7LDnByd27t5\/JEruxMpqMXLYi3DVlrt85gL3zyji2EB2D1E54qGdbQk5ZbKtzBxdsqZpe1xUdqhqXsDqqob0j5XDLt+8DPdhXau8CdrHNFV5rFitfaxm49c2txLZYqmFw5OYD6FWlHfbXXuDaatje5xwGn3ST3HCmSwxTt2ZomSDqe0FVVdpS0VrDilbTvwcPhGzjd1DcnYfgWtxEdGn7Fyiyjo77po7cb3XShGMtcD0jBvO767+4K9td3o7vTiWlkBIHvxk+8zvChxtmtC0Kyk8MlZ9P9qTkRFQ3CIiALK3qQ2bVVJdpBmmmZ0MhA+E\/wDMH5FapcKyjgr6V9NUxh8bxgg8u0dRVouzzMa1Nzjlqs0dmuDmhzSCCMgjmvVkLdcqjTFaLTdiTSEn2eo4gD6enctc1wc0OaQQRkEc0lHCKVVVF0a1XQ9REVTYIiIDLRhtfr+eR+DHQwANJ3gHA8Pid4K4m1BaIPjuNPu5NeHHyyqizADWV4Y4b3AHHWN31VjDpayQb20DHH9ZLvUrWWG+Zw0uZhbhbNu9\/Miza3s8ZxEZ5zy2I8Z8cLh96rlUHFFp+oeDvD3kgY5cv3WhgoqSl\/h6WGH\/ALcYb6LuovFaI15dZ6zt5L93Mx0+sKvGxS0tGOtxBPqfRefdy91hzcL88AneyAHB9B18lqETG9kPpovvSb\/P6M7Boi0x75jPUH9cmPTCnwads9Njo7fCSObxt+uVZoqucnuXjw9KOkUeNaGtDWgAAYAHJZvXDnPtdPSs+OeoaBk4HA\/uQtKsxqD8Vqmy0Y37DjKQOrOf\/A+amn3rlOK\/ia62XqzSta1jAxow1owB1BfSIqHSEREAWUvtnltVR9u2fMb4ztTxN4ObzOOrrHz5LVrwgEYIyCrRk4syq0lUjZ67PoRrbXw3Ogiq4D7sg3jO9p5gqUslaZItPairLbNK2KlmHSxOe8ADs39mRnsCtKnVllpsg1gkcOUTS7Pz4eas4O+RnT4iOC9RpNZMuUUG1XanvFKaimbIGNeWHpG4OQpyo1bJm8ZKSutAiIoLEauoKa5UzqeqiEjHeIPWDyWZa+7aRdsyh1da8nBb8UQ7eru4dy168c0OaWuAIIwQeavGVsnoYVKKm8UXaXX\/AGpHobhS3KnE9JM2RpAyAd7ewjkVJWZrdMTUU5rtPzGnlGCafa9yTs3nyO7uUmzaljrZvYa6P2WvaS10ZGGuPZ9EccrxKwrNPBVVn7MvURFQ6TMUxNN\/aDVNccNqqcbI6yA3f\/SfNadZfVQdb7lbr207oZBFLgb9k5PptD5rTMe2SNsjHBzXAFpHMLSeaTOah2ZTh439T6REWZ0hERAEREAWX2mzf2huLnDFLTfmONnI5f7\/ADWoWJt9nptR3u61VUX9FHPsx7DsbW8j0A8VpC2bZycS5XhGKu739DXurqRmduqhbjjmQDC4yXm1xfHcaUdnSt+qq26IswxlkzsdcnFd49I2OMEexbWebpHH90tDqWxcQ9l6v9Hk2r7JCD+M6QjkyNxz88YUJ2t4Jd1Dbaupd1YA9Mq7is1rgx0dvpmkc+iBPipjWhow0ADqCXgthgrvWSXkv2ZgXbVNYPw1mjgb1zHBHiR6J9kanrD+LvTKdvVAN\/kB6rUImPoh9Pfvyb\/NvgwF707DaH0VTUVEtVHJNs1DpDjIzndzBxtc+S19PYbTTEGK3wAjgXM2iPmVE1hTe0acqCBl0RbIPkd\/kSp1nqParNRzF20Xwt2j243+eVMpNxTuZUqNOFaUUtk18EwAAYAwAvURZHcEREAREQBV13sdHeoQyoaRI0e5K34m\/UdisVyqKqnpY+kqJo4m9b3AKU2nkUnGMotS0MzSXav07PHb723bpT7sVW3J3dv\/ADI7VqWua9gexwc1wyCDkELL3vUdvroZLZSUr7lLJuAY33QesHjkdnirbTlHPQWSCnqWlkoBLml+1jJ8u5aTWV3kzmoT7bpxd4rfp4X3JNzoI7lbpqSThI3AP8p5HxVJpq5uo3\/YNx\/u6qA4iJO57eIAPp2LTKqvligvMIJPRVMe+KZvEdh7FWLVsLNKsJYlUhqvdFqiykOpLhZi2mv9HJgENZURjIcOs78E92\/sWho7lQ3BgdSVUcuRnDXe8O8cQocGi1OvCeSyfR6kpERVNgiIgId1rRb7VU1Z4xsJbw+LgPPCrtHUnsmnoSdzp3GU\/PcPIBcNaSl9DS29hxJVzgAYJyB3dpatBDEyngjhjGGRtDWjsAwtNIeZzLtV2\/8Ale7OiIoVTd7dRg+0VsDCPy7YJ8BvVEm9DoclFXbJqLOz63tMbtmBs9QeXRx49cLi3Ul6qiPY9PyhvEOlJAI78AK3Lkc74qlonfyz+DUIsvtazqQfcpKTwP8A7IbFqOpP4q\/GPthyO\/cNlTgW7HPk+7B\/Hyd7rfYIa6e0XOnfBTTx7MdRxBBG8nqwVG0pdqektktFXVMML6WQtBfKN4O\/dv3788F9jQ9NKdqsuFXUOzknaAz45Sj0PQQVMj6hxqItoGNpJBAxzwev0V708NrnNh4nmKdlvvt42LOTUlmi+K4wn\/SS70UeTWNjZwq3PP6YnfuFJj03ZogQ23QnP8w2vVd47TbYv8O30re0Qt+iz7HidNuIe69ynfrq0NzhtS\/H8sY3+JXx99o37oLVWSHqx4cMrRshijxsRMbjhstAwuiXh0HLrvWft\/6Zf7w36oyKXT0jM8DKSBj5gIJtZ1A3U1JTZ55Bx5lahFONbIciT7037L+jMfY2pqrfVXwQg8oAd3hhfcOiaDpOlraierfz2nYB\/fzWkRRzJbD6WlrJX83cj0lvo6BmxSU0cIxg7DcE954lSERUOhJJWQREQk+JYo5o3RyxtkY4Yc1wyD8lR1ejbVUO24WyUrxvBhdjB7jlX6ra3UNqoDsz1se1\/Kz3j5K0XL7TGrGk1epb8lSNL3Sm\/gtQVDRyY8HHr+y9NFrCEe5c6aUAcC0ZJ\/2\/uvDqysryWWa0SzccSy7mjHd9QvPsvVNx\/jLmyjYfyQ8R4fVa9r7rHFam\/wCJSfk3b3Pieq1XSs26ie3xN63uaFVy6zu9O4xmWjlcD8TGEjxyr2DRNta8yVcs9XI74i9+AT17t\/mreltFuosGmooY3N4ODBtePFMcFtcnkcRL7rfm5iIq6+XO7U9yFukmkgaQwBjmx8\/qefJXfQawrsdJPTUDeYZgn9+vr5LUIqupfRGsOEte827\/AIMuNHTVJzcbzU1A6m7vUn0U2m0hZaYg+ymZw5yvJ8uHkrtFV1JPc1jw1FO+H1z+TlBS09M3Zp4I4h1RsDfRdURUN0ktAiIhIREQBERAEREAREQBERAEREAVFddV0dvl9mp2OrKo7hHHwB6if2CupomzQvicSGvaWkg4OCoNqsVBZ2EUsZLzxlfvcfn9FeNtWYVXUbUYO3iUwteob2\/buVWaGmcP8CE7yOo4\/cnuVlQ6Vs9DgtpRM8fnn98+HDyVwiObeREeHpp3eb6vM8AAGAMAL1EVDoCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "WILIIAM",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:32",
    "ubicacionGPS": "LatLng(lat: -23.6618398, lng: -70.399989)",
    "horaLlegada": "15:27",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 26/05/2026 15:32:40
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-wAb6Eno0zGHePsQZPjgfzVaNfKLazEJlECg2SGlh0LopJylpy.M
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2327",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "CSJ",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "TALLER",
    "rutTecnico": "95585912",
    "contador": "160061",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se instala máquina no registrada",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12754",
    "observacion": "se instala máquina no registrada",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABsANwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABAEAABAwMBBAcFBgMHBQAAAAABAAIDBAURBhIhMUETUWFxkaGxFCIygdEVFiRCYsE0UqIHIzNDcpLwRXPC0uH\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAQIDBP\/EAC8RAAIBAgQDBwQDAQEAAAAAAAABAgMREiExQQQTUSIyYXGRobEUQoHRM8HwUuH\/2gAMAwEAAhEDEQA\/AP2ZEXCsq4aClkqah+zHGMkoQ2krs7qpuOprVbSWy1IlkH+XD7x+fIfMqn9ovWqZC2lzb7btYMmffeOfDj8t3aVc2zTlstbR0UAkk5yy+87\/AOfJaYVHvHNzalX+JWXV\/wBIrPvDfbg7FrspYw8JKjOCOvkPMr32LWFR7z7jTU4O\/Ya0bv6T6rTomPoieQ33pt+3wZg2TUh\/6\/8A0lPsvVkO+G8QSY5SDj4tK06KOYx9NDZv1Zl\/tfUtuwa+1MqYhxkpzvxzO7PoOHzVnaNR0F59yB5ZOBkxPGD8uRVqqW86Zo7rmaP8NVje2WMY2j+rr7+Km8XqrEOFWnnB4l0f7LpFQ2Otu0dZJa7tEXvjZtMqWjLXjPM4+nDfvV8qNWdjanNTjdBERQaBERAEREAREQBEVReNQwWqRlO2GSpqZOEMfHHaVKTbsik5xgsUnkW6LL\/aOrKx2ae1w00ZH+ad\/mR6KVb6fU4ron19ZTGmaTtsY0Zdu3fl68c1ZwtuZLiFJ2UX6F8iIqHQEREB45wa0ucQABkk8lkqaM6uvL6qbaNqpTiKM7tt2Bx9T8gpmsKmd1LT2ulwZq6TYx+kem8jf3q5t9DDbaGKkgaA2NoBOMbR5k9pWi7Mb7s5Jrm1MH2rXxeyO7WtYwMY0Na0YAAwAF9IizOsIiIAi4zVdNTb56iKL\/W8N9VAm1PZYBl1wjduzhmXeilJvQpKpCPeaRaoucM0dRAyaF4fHI0Oa4cwVCv9abfZKmoY7ZeG7LDnByd27t5\/JEruxMpqMXLYi3DVlrt85gL3zyji2EB2D1E54qGdbQk5ZbKtzBxdsqZpe1xUdqhqXsDqqob0j5XDLt+8DPdhXau8CdrHNFV5rFitfaxm49c2txLZYqmFw5OYD6FWlHfbXXuDaatje5xwGn3ST3HCmSwxTt2ZomSDqe0FVVdpS0VrDilbTvwcPhGzjd1DcnYfgWtxEdGn7Fyiyjo77po7cb3XShGMtcD0jBvO767+4K9td3o7vTiWlkBIHvxk+8zvChxtmtC0Kyk8MlZ9P9qTkRFQ3CIiALK3qQ2bVVJdpBmmmZ0MhA+E\/wDMH5FapcKyjgr6V9NUxh8bxgg8u0dRVouzzMa1Nzjlqs0dmuDmhzSCCMgjmvVkLdcqjTFaLTdiTSEn2eo4gD6enctc1wc0OaQQRkEc0lHCKVVVF0a1XQ9REVTYIiIDLRhtfr+eR+DHQwANJ3gHA8Pid4K4m1BaIPjuNPu5NeHHyyqizADWV4Y4b3AHHWN31VjDpayQb20DHH9ZLvUrWWG+Zw0uZhbhbNu9\/Miza3s8ZxEZ5zy2I8Z8cLh96rlUHFFp+oeDvD3kgY5cv3WhgoqSl\/h6WGH\/ALcYb6LuovFaI15dZ6zt5L93Mx0+sKvGxS0tGOtxBPqfRefdy91hzcL88AneyAHB9B18lqETG9kPpovvSb\/P6M7Boi0x75jPUH9cmPTCnwads9Njo7fCSObxt+uVZoqucnuXjw9KOkUeNaGtDWgAAYAHJZvXDnPtdPSs+OeoaBk4HA\/uQtKsxqD8Vqmy0Y37DjKQOrOf\/A+amn3rlOK\/ia62XqzSta1jAxow1owB1BfSIqHSEREAWUvtnltVR9u2fMb4ztTxN4ObzOOrrHz5LVrwgEYIyCrRk4syq0lUjZ67PoRrbXw3Ogiq4D7sg3jO9p5gqUslaZItPairLbNK2KlmHSxOe8ADs39mRnsCtKnVllpsg1gkcOUTS7Pz4eas4O+RnT4iOC9RpNZMuUUG1XanvFKaimbIGNeWHpG4OQpyo1bJm8ZKSutAiIoLEauoKa5UzqeqiEjHeIPWDyWZa+7aRdsyh1da8nBb8UQ7eru4dy168c0OaWuAIIwQeavGVsnoYVKKm8UXaXX\/AGpHobhS3KnE9JM2RpAyAd7ewjkVJWZrdMTUU5rtPzGnlGCafa9yTs3nyO7uUmzaljrZvYa6P2WvaS10ZGGuPZ9EccrxKwrNPBVVn7MvURFQ6TMUxNN\/aDVNccNqqcbI6yA3f\/SfNadZfVQdb7lbr207oZBFLgb9k5PptD5rTMe2SNsjHBzXAFpHMLSeaTOah2ZTh439T6REWZ0hERAEREAWX2mzf2huLnDFLTfmONnI5f7\/ADWoWJt9nptR3u61VUX9FHPsx7DsbW8j0A8VpC2bZycS5XhGKu739DXurqRmduqhbjjmQDC4yXm1xfHcaUdnSt+qq26IswxlkzsdcnFd49I2OMEexbWebpHH90tDqWxcQ9l6v9Hk2r7JCD+M6QjkyNxz88YUJ2t4Jd1Dbaupd1YA9Mq7is1rgx0dvpmkc+iBPipjWhow0ADqCXgthgrvWSXkv2ZgXbVNYPw1mjgb1zHBHiR6J9kanrD+LvTKdvVAN\/kB6rUImPoh9Pfvyb\/NvgwF707DaH0VTUVEtVHJNs1DpDjIzndzBxtc+S19PYbTTEGK3wAjgXM2iPmVE1hTe0acqCBl0RbIPkd\/kSp1nqParNRzF20Xwt2j243+eVMpNxTuZUqNOFaUUtk18EwAAYAwAvURZHcEREAREQBV13sdHeoQyoaRI0e5K34m\/UdisVyqKqnpY+kqJo4m9b3AKU2nkUnGMotS0MzSXav07PHb723bpT7sVW3J3dv\/ADI7VqWua9gexwc1wyCDkELL3vUdvroZLZSUr7lLJuAY33QesHjkdnirbTlHPQWSCnqWlkoBLml+1jJ8u5aTWV3kzmoT7bpxd4rfp4X3JNzoI7lbpqSThI3AP8p5HxVJpq5uo3\/YNx\/u6qA4iJO57eIAPp2LTKqvligvMIJPRVMe+KZvEdh7FWLVsLNKsJYlUhqvdFqiykOpLhZi2mv9HJgENZURjIcOs78E92\/sWho7lQ3BgdSVUcuRnDXe8O8cQocGi1OvCeSyfR6kpERVNgiIgId1rRb7VU1Z4xsJbw+LgPPCrtHUnsmnoSdzp3GU\/PcPIBcNaSl9DS29hxJVzgAYJyB3dpatBDEyngjhjGGRtDWjsAwtNIeZzLtV2\/8Ale7OiIoVTd7dRg+0VsDCPy7YJ8BvVEm9DoclFXbJqLOz63tMbtmBs9QeXRx49cLi3Ul6qiPY9PyhvEOlJAI78AK3Lkc74qlonfyz+DUIsvtazqQfcpKTwP8A7IbFqOpP4q\/GPthyO\/cNlTgW7HPk+7B\/Hyd7rfYIa6e0XOnfBTTx7MdRxBBG8nqwVG0pdqektktFXVMML6WQtBfKN4O\/dv3788F9jQ9NKdqsuFXUOzknaAz45Sj0PQQVMj6hxqItoGNpJBAxzwev0V708NrnNh4nmKdlvvt42LOTUlmi+K4wn\/SS70UeTWNjZwq3PP6YnfuFJj03ZogQ23QnP8w2vVd47TbYv8O30re0Qt+iz7HidNuIe69ynfrq0NzhtS\/H8sY3+JXx99o37oLVWSHqx4cMrRshijxsRMbjhstAwuiXh0HLrvWft\/6Zf7w36oyKXT0jM8DKSBj5gIJtZ1A3U1JTZ55Bx5lahFONbIciT7037L+jMfY2pqrfVXwQg8oAd3hhfcOiaDpOlraierfz2nYB\/fzWkRRzJbD6WlrJX83cj0lvo6BmxSU0cIxg7DcE954lSERUOhJJWQREQk+JYo5o3RyxtkY4Yc1wyD8lR1ejbVUO24WyUrxvBhdjB7jlX6ra3UNqoDsz1se1\/Kz3j5K0XL7TGrGk1epb8lSNL3Sm\/gtQVDRyY8HHr+y9NFrCEe5c6aUAcC0ZJ\/2\/uvDqysryWWa0SzccSy7mjHd9QvPsvVNx\/jLmyjYfyQ8R4fVa9r7rHFam\/wCJSfk3b3Pieq1XSs26ie3xN63uaFVy6zu9O4xmWjlcD8TGEjxyr2DRNta8yVcs9XI74i9+AT17t\/mreltFuosGmooY3N4ODBtePFMcFtcnkcRL7rfm5iIq6+XO7U9yFukmkgaQwBjmx8\/qefJXfQawrsdJPTUDeYZgn9+vr5LUIqupfRGsOEte827\/AIMuNHTVJzcbzU1A6m7vUn0U2m0hZaYg+ymZw5yvJ8uHkrtFV1JPc1jw1FO+H1z+TlBS09M3Zp4I4h1RsDfRdURUN0ktAiIhIREQBERAEREAREQBERAEREAVFddV0dvl9mp2OrKo7hHHwB6if2CupomzQvicSGvaWkg4OCoNqsVBZ2EUsZLzxlfvcfn9FeNtWYVXUbUYO3iUwteob2\/buVWaGmcP8CE7yOo4\/cnuVlQ6Vs9DgtpRM8fnn98+HDyVwiObeREeHpp3eb6vM8AAGAMAL1EVDoCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "WILIIAM",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:32",
    "ubicacionGPS": "LatLng(lat: -23.6618398, lng: -70.399989)",
    "horaLlegada": "15:27",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


26/05/2026 15:32:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[26/05/2026 15:32:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76050301', 'KY2327', 1, 95585912, 160061, NOW(), 
				'08:00', '15:27', '15:32', 1, 'se instala máquina no registrada', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779823960.png', 'se instala máquina no registrada', null, 'COMPLETADO','LatLng(lat: -23.6618398, lng: -70.399989)' )
				
[26/05/2026 15:32:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200435

26/05/2026 15:32:40 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76050301'
				   AND serieintmaquina = 'KY2327'
		
26/05/2026 15:32:40 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY2327'
				   AND estado = 1
				
26/05/2026 15:32:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:32:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15:32:40 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76050301', 'KY2327', 1, 1, now(), 'CSJ', 'ANTOFAGASTA', 'TALLER');
				
26/05/2026 15:32:40 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200435'                    
				WHERE idllamado = 12754			
				
26/05/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 = 12754
                
TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


26/05/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 = 12754
                

26/05/2026 15:32:41 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12754			
				
26/05/2026 15:32:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


26/05/2026 15: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 = 12754
                

26/05/2026 15: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 = 12754
                

26/05/2026 15:32:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:32:42 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:32:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:32:42 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

[26/05/2026 15:32:42] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:32:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:32:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12754
LIMIT 1;
        

26/05/2026 15:32:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:32:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:32:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:32:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

[26/05/2026 15:32:43] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:32:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:32:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12754
                

26/05/2026 15:33:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:33:02 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12739
LIMIT 1;
        

[26/05/2026 15:33:02] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12739
                

[26/05/2026 15:33:02] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:33:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:33:02 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12739
LIMIT 1;
        

26/05/2026 15:33:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:33:02 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12739
LIMIT 1;
        

26/05/2026 15:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12739
                

26/05/2026 15:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12739
                

26/05/2026 15:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12739
                

26/05/2026 15:33:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12739
LIMIT 1;
        

26/05/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 = 12739
                

[26/05/2026 15:33:17] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:33:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[26/05/2026 15:33:17] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12739
LIMIT 1;
        

26/05/2026 15:33:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12739
LIMIT 1;
        

26/05/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 = 12739
                

26/05/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 = 12739
                

26/05/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 = 12739
                

26/05/2026 15:33:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12739
LIMIT 1;
        

26/05/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 = 12739
                

[26/05/2026 15:33:18] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 15:33:18] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:33:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12739
LIMIT 1;
        

26/05/2026 15:33:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/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.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12739
LIMIT 1;
        

26/05/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 = 12739
                

26/05/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 = 12739
                

26/05/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 = 12739
                

26/05/2026 15:33:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:33:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[26/05/2026 15:33:19] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:33:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12739
LIMIT 1;
        

26/05/2026 15:33:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12739
LIMIT 1;
        

26/05/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 = 12739
                

[26/05/2026 15:33:19] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:33:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:33:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12739
LIMIT 1;
        

26/05/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 = 12739
                

26/05/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 = 12739
                

26/05/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 = 12739
                

[26/05/2026 15:33:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/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 = 12739
                

[26/05/2026 15:33:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:33:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:33:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
26/05/2026 15:33:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12739
LIMIT 1;
        

26/05/2026 15:33:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12739
LIMIT 1;
        

26/05/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 = 12739
                

26/05/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 = 12739
                

26/05/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 = 12739
                
[26/05/2026 15:34:20] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 95585912 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '95585912'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[26/05/2026 15:34:20] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '95585912'
				GROUP BY anio
				ORDER BY anio DESC;
				

[26/05/2026 15:34:23] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:34:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15:34:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

[26/05/2026 15:34:26] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 15:34:26] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:34:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

[26/05/2026 15:34:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 15:34:35] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

[26/05/2026 15:34:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 15:34:40] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15:34:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

[26/05/2026 15:34:42] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:34:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

[26/05/2026 15:34:42] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:34:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15:34:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15:34:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15:34:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15:34:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15:34:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15:35:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15:35:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15:35:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15:35:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15:35:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15:35:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15:35:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15:35:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15:35:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15:35:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15:35:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:35:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15:36:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15:36:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15:37:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15:37:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15:37:06 - logentry: =========================================
FECHA: 26/05/2026 15:37:06
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-NbCvuuMpx.3f2cG1pNDX4d6dGPreWfHL7BywlqIJyY9tJUk-8Ba
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2478",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "BS-101-CMZ001BA01 ZALDIVAR ",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "DEPARTAMENTO",
    "rutTecnico": "95585912",
    "contador": "211054",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se retira máquina por cambio",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12709",
    "observacion": "se retira  máquina por cambio",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACWAPsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xABEEAABAwMBBAcFBQQIBwEAAAABAAIDBAURBhIhMUETUWFxgZGhFCMyscEVFiJC0SQlUnIzU1SSotLh8Ac0Q1VWgvGy\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMxEAAgECAwUGBQQDAQAAAAAAAAECAxESITEEMkFR0RMiYXGRoRSBseHwIzNSwSRT8WL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAERVVz1HbLWHNlnEko3dFF+J2e3q8V1JvQjOcYK8nYtUWV+2NRXY\/u23ClgcARLNxx1jO70K7Gm7xVNzX3+XfxZCDj5jl2KeC2rKPiHL9uLfsvc06LMfcpjB7m61kZ4\/Fz8MLzfT6nshEkNT9qU4+Jjxl+O4nPkT3JhT0Zztqkc5wdvDM1aKrs9+pbvGQ09DUN3PgcfxA9nDKtFBpp2ZohOM1ii7oKJcrlTWqkdU1L8NG5rebj1BSnODWlziAAMknksjQRfeu+PuU4JoaN2xDGRueeO8eRPgpRjfN6FVao42jHeenU9W1epb4Gy0TGW2mI3OkwXO9M9XILmZ+o9P7NXUVAuVI3+lYBhze3OM+K1i+EAjBGQV3H4ZEPh3a+N35\/bQi225U10pG1NM\/LTuIPFp6ipayD2jS2p4zH+C3V+4t\/Kx3+hPkVr1yUbZrQnRqOaalqtQiIoF4REQBERAEREAREQBERAEREARF8c4NaXOIAAySeSA+qsuuoLfZxs1Eu1LjIiZvcf08VU19+q7tVm2aewTj3tUdwaOeD9fLrVhaNNUlsd7RKTVVhOXTyb8HsHLv4qzCo5yMrqyqPDS9eHy5laY9QakHvCLZQP4N\/O8fP5DvVrbdNWu2tHR07ZZBv6WUBzs9nV4K2Rcc3osiUNninilm+b\/MgiIoGgIiIChvmnG1jvb7efZ7hGdpr27ukI5Ht7fNeunr8LtE+GdgirIDiWPr5ZCuVFZbqSOvkr2QtFRI0Nc\/rH+\/kp4rqzM\/ZONTHDK+v5zK3V9b7JYZY2n3lSRE0Z3nPH0z5qdZ6BtstVPShuHMYC\/tcd59VSXcm5axt9v4xUw6aQE7s8eHgPNaldllFIjT79WU+WXUIiKs1FTqa3C5WSeMNzLEOkj68jl4jIXWnLj9p2WCY\/GwdG\/wDmH67j4q0WX03+7b9c7PwZtdNEMcu\/uLfIqxZxa5GWfcrRlzy6GoREVZqCIiAIih3K60dpp+mq5dkHc1o3ucewLqV9DkpKKu9CW5wa0ucQABkk8lnLjqd0832fYme1VTjgyAZYzt7e\/gojYbrq4iSZxorWSS1rfikH17+HetLQW2ktlOIKSERt5nm49ZPNTso65sy4qlbcyjz4vy6nlZqSso7e2KuqfaJy4uc7qzvxnmp6IoN3dzTGKikkERFwkERfHODWlziAAMknkgDnBrS5xAAGSTyWUrKuq1XVut1ueYrfGff1GPj7B+i5q6qp1bWut9A4w26F3vp\/6zsH0HiVpqKip7fSspqaMMjYNw6+09qs3M3qY23tDst3nz+xzb7dS2umFPSRBjBxPNx6yetSkRVt3NaSirIIiIdCIiAIiIAiKHdqn2O01VQCQY4nFuOvG71XUrnJNRTbKLTP7df7tc+Rf0TM7zjP6NatSqLRtN7Np2FxGDM50h88D0AV6pVH3ijZk1STerz9cwiIoGgLLXsNt2rbZcfhZP7qQgDuz5OHktSs\/rWmM1gdK34qeRsgPp9VOnvWM+0r9JtarP0NAij2+p9st1PU85YmvPeQpCgXppq6CIs1c7zV3CudaLIMyN3TVOcCPfvwf99ilGLZCpUVNXZIvOpI6KUUNCz2qvedkRt3hp7e3s814W3TUk1T9o314qao\/DHnLGfQ93DvU+zWCls7Ntvvapw95O7ic8cdQVqpOSWUSmNKU3iq\/JcF1Z8AAGAMAL6iKs1BERAEREAWUvNbPfbk2x21x6Fp\/a5mjcBwI8PU9ym6mvEtHHHb6Ek11UcNDQctacjaHb\/r1KXYrNFZKDoGHbkedqWTHxH9ArI91YmZKjdWXZR049CXRUVPb6VlNTRhkbBuHX2ntUhEVZqSSVkEREOhERAEREAReFVW0tDEZaqdkTBzcf8AeVn59YGpn9mstFJWSfxOBDR244+eFJRb0KqlanTyk8\/c0xIAyTgBZzWlV+42QQkPNXK1o2d+QN\/zAUeez3iuimqr1ceihZGXGmgfhuAOB5fNUVh6avuVqo3vdJHDI6YA8GgY3f4PVWwgl3r6GKvtEpLs8NsWS\/4fodJTtpKOGnaAGxMDBjsGF7IioPRSsrIIiIdCjXGn9rttTTjjLE5o7yNykoiyONXVmUOjKjp9ORN5wvdGfPPyIV8svpI+y3G7W5wx0U+20Z3kZI\/y+a1CnU3mUbK70Y34ZemQWTZR33Ts03sEEdZRyPLxH+Zv1z5jzWsRcjKxOpSU7O9mjMN1tTxSdFX2+ppX8Du2sH0U2HV1km3e2bB6nscPXGFcOa17S17Q5p4gjIKhzWW11H9Lb6dxPPowD5hSvB8CvDXWkk\/NdDuC626px0FdTvJ5CQZ8lLVDUaMss\/wwyQnHGOQ\/XKjfdKqoztWu9VEOBgMfvGPD9EtB6MY68d6F\/J9TToss293myyiO+UwngcQBUwjcN+N54eGAVpoZY54WTRPD43gOa4cCFGUWiynVjUyWT5M7UW5V8NsoJauc\/hjG4Z3uPIBSlk6wjUupWUTDt0FCQ+Uggte7q7erwKRV3nocrVHCNo6vJHtpu3z1dXJf7g33s++naSfdsOfocDs71pl8a0NaGtAAAwAOS+pKWJ3O0qapxwoIiKJaERVVx1LaraCJakSyA46OEhzvHkPFdSb0IznGCvJ2LVcveyNhfI4Ma0ZLnHACzBvd+u+60232aLP9PORw7j9MpHpCorXtlvdzlqXAk9Gxx2R3E\/QBTwJbzM\/buX7cW\/HREyv1haqPaZFIauUcGw7wT\/Nw+ahGq1RemltPTR2yBw+OQnbx38fQK+obTQW1oFJSxxkDG3jLj3nipiYorRDsqs9+VvBddTOU2jKPpOmuM81fMR+IyPIGfn6q\/gghpohFBEyKNvBrBgBeiKLk3qXQpQp7qKrU05p9O1sjSQdjZyO0gfVZvQVN0tbU1ZG6KMRtz1necbuz17Vba5k2NP7P9ZM1vzP0TQ9N0Nh6YjfPK52ewfh+hVqypMxTWPbIrkrmjWcn1lTwVEkDrfVudG4ty1owcc+K0aKpNLVG2pGct2VvlczH35pf+31n90fqn35oxvdQVgHM7I3eq06LuKPIq7Ot\/P2+5mPv9av7PWf3G\/5k+\/1q\/s9Z\/cb\/AJlp0S8OXuOzr\/zXp9zARanooNUzXRkU\/s88Ww9my0Ozu34zg8Bz5q4+\/trO5tNWE8hsN3\/4lzq0GluVpuLd3RzbLzjlkHH\/AOlqVOTjZOxnpQrKU4Kej5c\/mVVnv0N5dK2KnniMQBPSNwDntVqiKp2vkb4KSVpO7CIi4SCIiAr770QsVaZmhzOhduPM43euFD0vTvdpyjL5JGEtO5rt2No49FC1BVOut2p9P0rtprnB1SQdwAOcHuxnj1LTsY2ONrGDDWgADqCseUbGWNqlZyWiVvnr7Fff7k21WiWoJ\/GcMYM4JJ6vDJ8F5aZtv2dZ49vfPP72V2ckk8s9g+qrr4BddUW+1FodDCOmmB3Z7PIevlqEeUUuYh36zlwWS\/sIiqL5VXiHoobTRiV0uQZSd0fhw8SoJXdi+c1COJlnPUQ00RlnlZEwcXPdgLPVGsGTTOp7PRS10vJwaQ3v68eS5pNJPqJfar5WPrJTv6MOIYPH9MLQ01JT0cXRU0EcLOpjQMqfdj4lH61T\/wAr1fRGaFjvt7Zm8XD2eEnPs8QHDqON3nlW1v03arbvipmyPBz0ko2nDu6vBWqLjm3kThs9OLu83zeYREUC8IiIAiIgMf8A8QZMUtFF\/E9zvID9VpbVSmitVLTH4o4mh3fjf6rN6mjFbqq1UR+HAc7dyLt\/o1a9WyygkY6KvXqT8kERFUbAiIgCIiAoNaU\/T6dleOML2yeuPqra3VHtdtpqg8ZYmuPeRvS40\/tdtqaccZYnNHeRuVVoyo6fTkTecL3Rnzz8iFPWHkZt3aPNfT\/pfIiKBpCIvCrrKahhM1VOyFg5uOM93WhxtJXZ7rO3\/UD4X\/ZdraZq+T8J2N\/RZ+vy5qJLdrrqSR1NZo3U1IN0lS\/cSOzq7hv7ldWaxUtmiIizJM\/45nj8TuzsHYrLKOcjK6kq3dp5Ln06nFgsjLPSYeWyVcm+aUZO0eoZ5K2RFBtt3ZohCMIqMdDMWodNrm6zOJJjjDAD\/wCv6eq06ylzedP6qjuhaTSVrOjmOfhdu3+gPmtU1wc0OaQQRkEc1OfBlGzu2KL1TfufURFWagiIgCIiAIiIAiLl72RsL5HBjWjJc44AQHSKorNUWejyH1jJHD8sX4\/UblXfe2rrTs2uyzzA8Hybh443cxzU1CT4FEtppRdr5+Gf0LV9mY+\/x3czEvjj2BGW7huIznxKs1l+i1hXNy6emoWkfC0b\/r8+SHR9RVD94XupnH8Izj1J+S64riyuNSSv2dN588i9qbpQUefaKyGMjiHPGfLiotJqW1V1cyjpp3SSvzs4YQDgZO8jsKj0ujbLTYLoHzuByDK8n0GAfJW1PQ0lIMU1NDD\/ACMA+S48BOPbt52S9eh7oiKBoCIiALL6WJo7zdrY44ayTbjG\/cMn6Fq1CyNwrIbNrltVNIGQz0\/vTxIwCBuG\/i1qshmmjLtDUJQm+D+prl5zzw00RlnlZFG3i55wAs1Jqa4XQiKxW6UhxwaiZv4W\/TzPgu4tKz10rai\/V76pw\/6LDssH++wBMFt5j4hzypK\/jovzyFRquSrmNLYaN9ZLzlcMMb2\/\/cJTaWmrZhWX+qdVS8oWOwxo6v8A5jxWhp6aCkhENNCyKMcGsGAvVMdt06qDk71Xfw4fnmcRRRwxtjijbGxow1rRgDwXaIqzSEREBHraKC4UklNUsD43jHDeO0dqy8VbcNIO9lrIZKy3593Mwb4xnh\/oSOxbBfHNDmlrgCCMEHmpRlbJ6FFSlieKLtJcSBRXy2XBoNPWRlxHwOOy4eBVgqar0nZqslxpBC484SW+nD0UD7mvhP7FequnA3N35wPAhStB8SOOvHWKfk+pqEWY+7N4dudqWqaBwxtHz\/EE+611\/wDJ6zyd\/nXMMeY7Wr\/rfqjTriSaKFu1LIyNvW5wAWa+6NZIf2jUNXKOrf8AVxXpHoa1B+3LJUynO8OeAPQZ9Uwx5jtKz0h6vpcsKnUlmpc9JXxOI5Rnb+WVWya1hle6O22+prHjqbgHt3ZPVyVlTabs1Ljo6CJxHOQbfzyrKONkTAyNjWNHANGAF28FwGHaJayS8lf6mYMmrrm73ccFuiPAu3uxu48TnwC6ZoxtRJ0l0uVTVv6s4Hrn6LTonaPhkPhoPObcvPpoVtJp+00JDoKGLaHBzxtkHvOcKxAAGAMAL6ig23qXxhGKtFWCIi4SCKPU11JRjNTUxQ\/zvAVNVa1tUJ2YDLVP5CNmB5nCkot6IqnWpw3nY0KLLm86lrwRQWb2ZpHxznf3jOPkU+718uBzc70WsPGOnGAR1ch6FSwW1ZX8Ri3It+y9y8rLtb7e0mqq4oyPyl2XeQ3qlk1pDM8xWy31FZJ2DA7+Z6uSk0WjrPR4c6F1Q4c5jkeQ3K6ihigYI4Y2RsH5WNACdxeJy1eerUfdmZNJqm8f8zUx2yE5BZF8XofqFV33TtNYaakrY3PqCycdN0mCH8+Hgd2\/it6o1woYrlQy0kw\/BI3Gf4TyPgV2NRp+BCpskZQfGXNnrD0XQM6ANERaCzYGBjlheii22jNvt8NIZnTdE3ZD3cSOXlw8FKVb1Ncb2VwiIuEgiIgCIiAIiIAiIgCIiAIiIAi5e9kbC+RwY1oyXOOAFTVurrPR5AqPaHj8sI2vXguqLehCdSEFeTsXaLLHUF9uLsWuzFjDwkn5jdv34HDvX0WbUtfg115FO3Hw043+OMfVTwW1ZT8Ri3It+y9zQVNfR0YzU1UMOeG28DKparW1qhy2nE1U\/kI2YBPef0X2l0VaoTtTiWqfzMj8DyGFdU1FS0bcU1NFCDx2GAZTuLxH+RLlH3f9Izxu+prhuobQKVh\/POd47d+PkUNgv9fn7RvhjaR8FODjuOMfVahEx20Q+Hxb8m\/nb6GeptFWiE5mbLUuznMjyPlhXNLb6OibilpYof5GAE+KkIouUnqyyFGnDdikERFEtCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC4lD3RPEbg15aQ1xGcHkURDj0M03SE9bJ0l4us1SQThjDgDuzw7gFc0VktlvIdTUcbHjg8jad5neiKcpyeRRSoU4rElmT0RFA0BERAEREAREQBERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "GILBERTO DEL PORTILLO",
    "correoContacto": "gilberto.delportillo@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:37",
    "ubicacionGPS": "LatLng(lat: -23.6618445, lng: -70.4000234)",
    "horaLlegada": "15:34",
    "horaDespacho": "15:32",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "2",
    "observacionRetiroMaqExterna": "problemas de manchas , emite sonido entraño , mal estado ",
    "idReportManual": "null"
}
=========================================
FECHA: 26/05/2026 15:37:06
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-NbCvuuMpx.3f2cG1pNDX4d6dGPreWfHL7BywlqIJyY9tJUk-8Ba
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2478",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "BS-101-CMZ001BA01 ZALDIVAR ",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "DEPARTAMENTO",
    "rutTecnico": "95585912",
    "contador": "211054",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se retira máquina por cambio",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12709",
    "observacion": "se retira  máquina por cambio",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACWAPsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xABEEAABAwMBBAcFBQQIBwEAAAABAAIDBAURBhIhMUETUWFxgZGhFCMyscEVFiJC0SQlUnIzU1SSotLh8Ac0Q1VWgvGy\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMxEAAgECAwUGBQQDAQAAAAAAAAECAxESITEEMkFR0RMiYXGRoRSBseHwIzNSwSRT8WL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAERVVz1HbLWHNlnEko3dFF+J2e3q8V1JvQjOcYK8nYtUWV+2NRXY\/u23ClgcARLNxx1jO70K7Gm7xVNzX3+XfxZCDj5jl2KeC2rKPiHL9uLfsvc06LMfcpjB7m61kZ4\/Fz8MLzfT6nshEkNT9qU4+Jjxl+O4nPkT3JhT0Zztqkc5wdvDM1aKrs9+pbvGQ09DUN3PgcfxA9nDKtFBpp2ZohOM1ii7oKJcrlTWqkdU1L8NG5rebj1BSnODWlziAAMknksjQRfeu+PuU4JoaN2xDGRueeO8eRPgpRjfN6FVao42jHeenU9W1epb4Gy0TGW2mI3OkwXO9M9XILmZ+o9P7NXUVAuVI3+lYBhze3OM+K1i+EAjBGQV3H4ZEPh3a+N35\/bQi225U10pG1NM\/LTuIPFp6ipayD2jS2p4zH+C3V+4t\/Kx3+hPkVr1yUbZrQnRqOaalqtQiIoF4REQBERAEREAREQBERAEREARF8c4NaXOIAAySeSA+qsuuoLfZxs1Eu1LjIiZvcf08VU19+q7tVm2aewTj3tUdwaOeD9fLrVhaNNUlsd7RKTVVhOXTyb8HsHLv4qzCo5yMrqyqPDS9eHy5laY9QakHvCLZQP4N\/O8fP5DvVrbdNWu2tHR07ZZBv6WUBzs9nV4K2Rcc3osiUNninilm+b\/MgiIoGgIiIChvmnG1jvb7efZ7hGdpr27ukI5Ht7fNeunr8LtE+GdgirIDiWPr5ZCuVFZbqSOvkr2QtFRI0Nc\/rH+\/kp4rqzM\/ZONTHDK+v5zK3V9b7JYZY2n3lSRE0Z3nPH0z5qdZ6BtstVPShuHMYC\/tcd59VSXcm5axt9v4xUw6aQE7s8eHgPNaldllFIjT79WU+WXUIiKs1FTqa3C5WSeMNzLEOkj68jl4jIXWnLj9p2WCY\/GwdG\/wDmH67j4q0WX03+7b9c7PwZtdNEMcu\/uLfIqxZxa5GWfcrRlzy6GoREVZqCIiAIih3K60dpp+mq5dkHc1o3ucewLqV9DkpKKu9CW5wa0ucQABkk8lnLjqd0832fYme1VTjgyAZYzt7e\/gojYbrq4iSZxorWSS1rfikH17+HetLQW2ktlOIKSERt5nm49ZPNTso65sy4qlbcyjz4vy6nlZqSso7e2KuqfaJy4uc7qzvxnmp6IoN3dzTGKikkERFwkERfHODWlziAAMknkgDnBrS5xAAGSTyWUrKuq1XVut1ueYrfGff1GPj7B+i5q6qp1bWut9A4w26F3vp\/6zsH0HiVpqKip7fSspqaMMjYNw6+09qs3M3qY23tDst3nz+xzb7dS2umFPSRBjBxPNx6yetSkRVt3NaSirIIiIdCIiAIiIAiKHdqn2O01VQCQY4nFuOvG71XUrnJNRTbKLTP7df7tc+Rf0TM7zjP6NatSqLRtN7Np2FxGDM50h88D0AV6pVH3ijZk1STerz9cwiIoGgLLXsNt2rbZcfhZP7qQgDuz5OHktSs\/rWmM1gdK34qeRsgPp9VOnvWM+0r9JtarP0NAij2+p9st1PU85YmvPeQpCgXppq6CIs1c7zV3CudaLIMyN3TVOcCPfvwf99ilGLZCpUVNXZIvOpI6KUUNCz2qvedkRt3hp7e3s814W3TUk1T9o314qao\/DHnLGfQ93DvU+zWCls7Ntvvapw95O7ic8cdQVqpOSWUSmNKU3iq\/JcF1Z8AAGAMAL6iKs1BERAEREAWUvNbPfbk2x21x6Fp\/a5mjcBwI8PU9ym6mvEtHHHb6Ek11UcNDQctacjaHb\/r1KXYrNFZKDoGHbkedqWTHxH9ArI91YmZKjdWXZR049CXRUVPb6VlNTRhkbBuHX2ntUhEVZqSSVkEREOhERAEREAReFVW0tDEZaqdkTBzcf8AeVn59YGpn9mstFJWSfxOBDR244+eFJRb0KqlanTyk8\/c0xIAyTgBZzWlV+42QQkPNXK1o2d+QN\/zAUeez3iuimqr1ceihZGXGmgfhuAOB5fNUVh6avuVqo3vdJHDI6YA8GgY3f4PVWwgl3r6GKvtEpLs8NsWS\/4fodJTtpKOGnaAGxMDBjsGF7IioPRSsrIIiIdCjXGn9rttTTjjLE5o7yNykoiyONXVmUOjKjp9ORN5wvdGfPPyIV8svpI+y3G7W5wx0U+20Z3kZI\/y+a1CnU3mUbK70Y34ZemQWTZR33Ts03sEEdZRyPLxH+Zv1z5jzWsRcjKxOpSU7O9mjMN1tTxSdFX2+ppX8Du2sH0U2HV1km3e2bB6nscPXGFcOa17S17Q5p4gjIKhzWW11H9Lb6dxPPowD5hSvB8CvDXWkk\/NdDuC626px0FdTvJ5CQZ8lLVDUaMss\/wwyQnHGOQ\/XKjfdKqoztWu9VEOBgMfvGPD9EtB6MY68d6F\/J9TToss293myyiO+UwngcQBUwjcN+N54eGAVpoZY54WTRPD43gOa4cCFGUWiynVjUyWT5M7UW5V8NsoJauc\/hjG4Z3uPIBSlk6wjUupWUTDt0FCQ+Uggte7q7erwKRV3nocrVHCNo6vJHtpu3z1dXJf7g33s++naSfdsOfocDs71pl8a0NaGtAAAwAOS+pKWJ3O0qapxwoIiKJaERVVx1LaraCJakSyA46OEhzvHkPFdSb0IznGCvJ2LVcveyNhfI4Ma0ZLnHACzBvd+u+60232aLP9PORw7j9MpHpCorXtlvdzlqXAk9Gxx2R3E\/QBTwJbzM\/buX7cW\/HREyv1haqPaZFIauUcGw7wT\/Nw+ahGq1RemltPTR2yBw+OQnbx38fQK+obTQW1oFJSxxkDG3jLj3nipiYorRDsqs9+VvBddTOU2jKPpOmuM81fMR+IyPIGfn6q\/gghpohFBEyKNvBrBgBeiKLk3qXQpQp7qKrU05p9O1sjSQdjZyO0gfVZvQVN0tbU1ZG6KMRtz1necbuz17Vba5k2NP7P9ZM1vzP0TQ9N0Nh6YjfPK52ewfh+hVqypMxTWPbIrkrmjWcn1lTwVEkDrfVudG4ty1owcc+K0aKpNLVG2pGct2VvlczH35pf+31n90fqn35oxvdQVgHM7I3eq06LuKPIq7Ot\/P2+5mPv9av7PWf3G\/5k+\/1q\/s9Z\/cb\/AJlp0S8OXuOzr\/zXp9zARanooNUzXRkU\/s88Ww9my0Ozu34zg8Bz5q4+\/trO5tNWE8hsN3\/4lzq0GluVpuLd3RzbLzjlkHH\/AOlqVOTjZOxnpQrKU4Kej5c\/mVVnv0N5dK2KnniMQBPSNwDntVqiKp2vkb4KSVpO7CIi4SCIiAr770QsVaZmhzOhduPM43euFD0vTvdpyjL5JGEtO5rt2No49FC1BVOut2p9P0rtprnB1SQdwAOcHuxnj1LTsY2ONrGDDWgADqCseUbGWNqlZyWiVvnr7Fff7k21WiWoJ\/GcMYM4JJ6vDJ8F5aZtv2dZ49vfPP72V2ckk8s9g+qrr4BddUW+1FodDCOmmB3Z7PIevlqEeUUuYh36zlwWS\/sIiqL5VXiHoobTRiV0uQZSd0fhw8SoJXdi+c1COJlnPUQ00RlnlZEwcXPdgLPVGsGTTOp7PRS10vJwaQ3v68eS5pNJPqJfar5WPrJTv6MOIYPH9MLQ01JT0cXRU0EcLOpjQMqfdj4lH61T\/wAr1fRGaFjvt7Zm8XD2eEnPs8QHDqON3nlW1v03arbvipmyPBz0ko2nDu6vBWqLjm3kThs9OLu83zeYREUC8IiIAiIgMf8A8QZMUtFF\/E9zvID9VpbVSmitVLTH4o4mh3fjf6rN6mjFbqq1UR+HAc7dyLt\/o1a9WyygkY6KvXqT8kERFUbAiIgCIiAoNaU\/T6dleOML2yeuPqra3VHtdtpqg8ZYmuPeRvS40\/tdtqaccZYnNHeRuVVoyo6fTkTecL3Rnzz8iFPWHkZt3aPNfT\/pfIiKBpCIvCrrKahhM1VOyFg5uOM93WhxtJXZ7rO3\/UD4X\/ZdraZq+T8J2N\/RZ+vy5qJLdrrqSR1NZo3U1IN0lS\/cSOzq7hv7ldWaxUtmiIizJM\/45nj8TuzsHYrLKOcjK6kq3dp5Ln06nFgsjLPSYeWyVcm+aUZO0eoZ5K2RFBtt3ZohCMIqMdDMWodNrm6zOJJjjDAD\/wCv6eq06ylzedP6qjuhaTSVrOjmOfhdu3+gPmtU1wc0OaQQRkEc1OfBlGzu2KL1TfufURFWagiIgCIiAIiIAiLl72RsL5HBjWjJc44AQHSKorNUWejyH1jJHD8sX4\/UblXfe2rrTs2uyzzA8Hybh443cxzU1CT4FEtppRdr5+Gf0LV9mY+\/x3czEvjj2BGW7huIznxKs1l+i1hXNy6emoWkfC0b\/r8+SHR9RVD94XupnH8Izj1J+S64riyuNSSv2dN588i9qbpQUefaKyGMjiHPGfLiotJqW1V1cyjpp3SSvzs4YQDgZO8jsKj0ujbLTYLoHzuByDK8n0GAfJW1PQ0lIMU1NDD\/ACMA+S48BOPbt52S9eh7oiKBoCIiALL6WJo7zdrY44ayTbjG\/cMn6Fq1CyNwrIbNrltVNIGQz0\/vTxIwCBuG\/i1qshmmjLtDUJQm+D+prl5zzw00RlnlZFG3i55wAs1Jqa4XQiKxW6UhxwaiZv4W\/TzPgu4tKz10rai\/V76pw\/6LDssH++wBMFt5j4hzypK\/jovzyFRquSrmNLYaN9ZLzlcMMb2\/\/cJTaWmrZhWX+qdVS8oWOwxo6v8A5jxWhp6aCkhENNCyKMcGsGAvVMdt06qDk71Xfw4fnmcRRRwxtjijbGxow1rRgDwXaIqzSEREBHraKC4UklNUsD43jHDeO0dqy8VbcNIO9lrIZKy3593Mwb4xnh\/oSOxbBfHNDmlrgCCMEHmpRlbJ6FFSlieKLtJcSBRXy2XBoNPWRlxHwOOy4eBVgqar0nZqslxpBC484SW+nD0UD7mvhP7FequnA3N35wPAhStB8SOOvHWKfk+pqEWY+7N4dudqWqaBwxtHz\/EE+611\/wDJ6zyd\/nXMMeY7Wr\/rfqjTriSaKFu1LIyNvW5wAWa+6NZIf2jUNXKOrf8AVxXpHoa1B+3LJUynO8OeAPQZ9Uwx5jtKz0h6vpcsKnUlmpc9JXxOI5Rnb+WVWya1hle6O22+prHjqbgHt3ZPVyVlTabs1Ljo6CJxHOQbfzyrKONkTAyNjWNHANGAF28FwGHaJayS8lf6mYMmrrm73ccFuiPAu3uxu48TnwC6ZoxtRJ0l0uVTVv6s4Hrn6LTonaPhkPhoPObcvPpoVtJp+00JDoKGLaHBzxtkHvOcKxAAGAMAL6ig23qXxhGKtFWCIi4SCKPU11JRjNTUxQ\/zvAVNVa1tUJ2YDLVP5CNmB5nCkot6IqnWpw3nY0KLLm86lrwRQWb2ZpHxznf3jOPkU+718uBzc70WsPGOnGAR1ch6FSwW1ZX8Ri3It+y9y8rLtb7e0mqq4oyPyl2XeQ3qlk1pDM8xWy31FZJ2DA7+Z6uSk0WjrPR4c6F1Q4c5jkeQ3K6ihigYI4Y2RsH5WNACdxeJy1eerUfdmZNJqm8f8zUx2yE5BZF8XofqFV33TtNYaakrY3PqCycdN0mCH8+Hgd2\/it6o1woYrlQy0kw\/BI3Gf4TyPgV2NRp+BCpskZQfGXNnrD0XQM6ANERaCzYGBjlheii22jNvt8NIZnTdE3ZD3cSOXlw8FKVb1Ncb2VwiIuEgiIgCIiAIiIAiIgCIiAIiIAi5e9kbC+RwY1oyXOOAFTVurrPR5AqPaHj8sI2vXguqLehCdSEFeTsXaLLHUF9uLsWuzFjDwkn5jdv34HDvX0WbUtfg115FO3Hw043+OMfVTwW1ZT8Ri3It+y9zQVNfR0YzU1UMOeG28DKparW1qhy2nE1U\/kI2YBPef0X2l0VaoTtTiWqfzMj8DyGFdU1FS0bcU1NFCDx2GAZTuLxH+RLlH3f9Izxu+prhuobQKVh\/POd47d+PkUNgv9fn7RvhjaR8FODjuOMfVahEx20Q+Hxb8m\/nb6GeptFWiE5mbLUuznMjyPlhXNLb6OibilpYof5GAE+KkIouUnqyyFGnDdikERFEtCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC4lD3RPEbg15aQ1xGcHkURDj0M03SE9bJ0l4us1SQThjDgDuzw7gFc0VktlvIdTUcbHjg8jad5neiKcpyeRRSoU4rElmT0RFA0BERAEREAREQBERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "GILBERTO DEL PORTILLO",
    "correoContacto": "gilberto.delportillo@berliam.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:37",
    "ubicacionGPS": "LatLng(lat: -23.6618445, lng: -70.4000234)",
    "horaLlegada": "15:34",
    "horaDespacho": "15:32",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "2",
    "observacionRetiroMaqExterna": "problemas de manchas , emite sonido entraño , mal estado ",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


26/05/2026 15:37:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[26/05/2026 15:37: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('76050301', 'KY2478', 1, 95585912, 211054, NOW(), 
				'15:32', '15:34', '15:37', 2, 'se retira máquina por cambio', 2, 
				'problemas de manchas , emite sonido entraño , mal estado ', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779824226.png', 'se retira  máquina por cambio', null, 'COMPLETADO','LatLng(lat: -23.6618445, lng: -70.4000234)' )
				
[26/05/2026 15:37:06] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200436

26/05/2026 15:37:06 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '76050301' AND 
				serieinterna = 'KY2478' AND
				correlativo = 1;				
		
26/05/2026 15:37:06 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'KY2478'
		
26/05/2026 15:37:06 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY2478'
				   AND estado = 1
				
26/05/2026 15:37:06 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'KY2478'
				  AND rutcliente = '76050301';
				
26/05/2026 15:37:06 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'KY2478', 1, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
26/05/2026 15:37:06 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200436'                    
				WHERE idllamado = 12709			
				TO ENVIO: micorreo@miempresa.cl, gilberto.delportillo@berliam.cl


26/05/2026 15:37:07 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12709			
				
26/05/2026 15:37:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15:37:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15: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 = 12709
                

26/05/2026 15:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

[26/05/2026 15:37:15] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 15:37:15] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 15:37:15] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12709
            GROUP BY l.idllamado;
            

26/05/2026 15:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12709
                

26/05/2026 15:37:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15: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 = 12755
                

26/05/2026 15:37:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15: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 = 12755
                

[26/05/2026 15:37:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

[26/05/2026 15:37:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:37:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

[26/05/2026 15:37:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:37:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15:37:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15: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 = 12755
                

26/05/2026 15: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 = 12755
                

26/05/2026 15:37:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:37:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:37:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:37:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:37:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

[26/05/2026 15:37:25] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:37:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

[26/05/2026 15:37:25] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:37:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15:37:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15:37:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:37:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:37:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15:37:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:37:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15:37:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

[26/05/2026 15:37:25] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:37:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:37:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:37:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:37:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:37:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:37:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:37:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:37:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15:37:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:37:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:37:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15:37:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:37:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:37:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/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 = 12755
                

26/05/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 = 12755
                

26/05/2026 15: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/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 = 12755
                

26/05/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 = 12755
                

26/05/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 = 12755
                

26/05/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 = 12755
                

26/05/2026 15:38:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15: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 = 12755
                

26/05/2026 15: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 = 12755
                

26/05/2026 15: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 = 12755
                

26/05/2026 15: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 = 12755
                

26/05/2026 15: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 = 12755
                

26/05/2026 15:38:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15: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 = 12755
                

26/05/2026 15: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 = 12755
                

26/05/2026 15: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 = 12755
                

26/05/2026 15:38:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15:38:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:38:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:38:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:38:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15:39:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:27 - logentry: =========================================
FECHA: 26/05/2026 15:39:27
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-cRPL_rQ0bKpa-BAczlwdbxyjK2Ff3LzIjR.zY2r_qJxUooawH2N
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2327",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "CSJ",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "TALLER",
    "rutTecnico": "95585912",
    "contador": "221146",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se retira máquina por cambio ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12755",
    "observacion": "se retira máquina por cambio ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACKAO4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABBEAABAwMBBAgDBAgEBwAAAAABAAIDBAURBhIhMUETUWFxgZGhsRQiwRUyQtEWIyQzQ3KS4VJTsvAHNERiosLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgECBAMHBAMBAQAAAAAAAAECAxESITFRBBNBMmFxkaGx0RQiM8GB4fAjUv\/aAAwDAQACEQMRAD8A\/ZkREAREQBEVLd9TUltf8PC01VYTgQx78HtPLu4rqTbsiE6kaavJ2LkkAZJwAqWv1ZaqFxYJXVEmcbEI2vXgq9tpveoMSXepNHSneKaIYcR2\/wB89yu7fY7dbGAU1MzbG\/pHjaeT3\/kp2jHXMox1qnYVlu9fL5Kcaivlbg26xODSMh85OD7D1XvR6zqB++o6bPLAOPQrTouY10R3kSfam\/b2Mx9k6qf+8vcTc8dlvD\/xCfYupm7234E9TmnHstOicxj6aG782Zj4XWUHCupKgcgWgf8AqPdBdNVUj9mps8dS0D70JwT5E+y06LuPdIfTtdmb87+4REVZpCIiAIiIAiIgCIiAIqy6aht1o+Wom2pf8qMbTv7eKqnX2\/3En7KtBiiJ+WWo3ZHI7yB7qag3mUT4inF4dXsszUIswLfq+Uh0l1po8fha38mr6iotWwStJuVNPHn5mloz\/p+qYFuiPPf\/AIfp8mlREUDSEREAXjnBrS5xAAGSTyRzg1pc4gADJJ5LJ1lVVarrjQW+R0VuiP6+cbtvsHX2DxUoxuU1aqprdvRHtbeq2\/VL7bYmlsQ3S1ZOAB2HkPUq3s+nqKzt2o29LUH707x8x7upTaKhp7dStpqWMRxt6uJPWesqQuuWVloRp0c8dTOXt4BERQNAREQBERAEREARFznnhpojLPKyKNvFzzgBA3YrdR3f7HtT5mEdO87EQO\/f1+A+irI9KVNbGKmvutSKiT5i1hOyzPIZ388clV3m+QXC+wVDI5J6Cg+Zxa04c7PE9QJ2RvW5hmZUQRzxnLJGhzT1gjIVzvCKsYIuHEVJXd0tPkzL6DUdlHS0lb9owtIzC8HaxkcBv7tx8Fb2W+QXmBxYwwzRnEkLuLT381ZrL6koza6uLUNG3D4nAVDAcB4O7J9j3jqXE1PJ6k5RdD74u8eq\/aNQi5wzMqII54zlkjQ5p6wRkLoqjZqFm7tdK6vuBs9lOzI39\/Ucox1Z5e60iyInOldQVD6prnUVe7a6YNJLXZJ39fE++FZBeZl4mTSSvZN5stLVpeht2JpW\/FVROXTS79\/WB9eKul8RTRzxNlhe2SN4y1zTkEL7UG23mX04QhG0FkERFwmEREARFVahuxtNsMsQDqiRwjhbjOXHs7B9F1K7siM5qEXJ6IrtQ3Cor61mn7c4bc4\/XycmN5jyG\/y5q7tlugtVDHSQD5WDe48XHmSoGmbN9lW\/pJhtVdR88riPmbn8Ph7q6UpNdlaFFGDb5k9X6LYIiKBpCIiAIiIAiIgCKuud+t1pafiZx0mMiJnzPPhy8cKic+\/aoOwxht1ucd7j9949z6BTUG83oUTrxi8Mc3sv9kT7rqqnpJfg6BnxtaTshjN7Qe0jj3D0USLTlbd5RWahqTgDLaeN2A0dvV4eaurXZKG0RBtNCNvGHSuGXu8fovb5UGlsdZMDgiFwB6iRgepUlJJ2iVSpOSc6zyXTp\/ZhWuiZpm5VLY2sFZUtijGMYa07WAv0GggNNbqanJyYomM8gAsNb6f4uex2sZLWA1U3EDecgeTQPFfoKlVfQq4GOsu5L9v3CgXyBtRY62J3OFxG\/mBkeoCnqPcHbFtqnYzswvOPAqlam6aTi0yu0lKZtN0pcSS0Obk9hKuVQaKbs6ciOfvSPPrj6KRcdUWq2lzH1HSyt\/hxDaPnwHmpyi3NpFNKpGNCMpu2SLdV12rbTDTPiucsOwRviecuPcOPiqYV2pL8zFHTtt1M4\/vnn5iOz+w8VLt+kKCleZqsmvnJyXzD5f6fzymFR7TIurOplTjlu9PLVmWo6m6wGrfYBVmgAJHSNyGDs5Z7t60WkLnTz0hgkuEs9W5xe9k5OR2N6x\/vAWla0NaGtAAAwAOSqbrpqguh6Us6CpyCJ4tzs9vX3qTmpZNFUeGqUmpQd+7p\/Gxbosm6u1BpzAro\/tKjH8Zv3mjtP5+avbXeqG8RF9JLlzRl0bhhze8KDg1n0NMK8ZPC8nsyeiIoF4WUpohftXy1bzt0lv8AkYMfKX5OO\/fk57lc6guH2ZZaioaSJNnYjx\/iO4eXHwXDStuFvscOWkSzjpZMjfv4Dyx6qyOUWzLU\/wClWNPos3+i5REVZqCIiAIirrhfrbbA4VFUzpG\/w2Haf5LqTehGUoxV5OxYr4lmigYZJpGRsH4nuACzP6QXm7PDLNbTHE7\/AKioG7vHL3X1DpGWscJb5cZqp4ORGx5DB5\/QBTwW7TM\/Pc\/xRv36I71usrdA8RUgfXTE4DYgcefPwyohbqm+NIOxa6cnBG8PI9\/ZaGhttFbY+jo6dkIPEjeT3k7ypSYkuyhyak\/yS\/hZeupS2vS1uthEhZ8RPx6WXfg9g4D3V0iKDbebL4U4wVoqwWc1zUdFYOizvmla3GeIG\/6BaNYjXU76m40duh+d4GdhvEuccAenqp0leaM\/GSw0Jd+RK0VTmokqrq9hbtBsEQ5BrQN3o0eHlrCQBknACydPHqangbbbfSwU8MALBO8g7R5kZ6zn8PPxXU6Ur69wN2vMsreccW4eGd3opSSbu2V0JyhTUIwbfki1rNRWmhJbNWx7Y4tYdsjvxwVBdNXPrbbUsorbKYHxuY+ok3NaDu5d4581eUmmLPR7JbRskcB96X5\/fcq\/Wry6hpLfGPnqpw1oA5Ds7yEhgxJIV+eqblJpdy+WQLVpu5XC0U0dVcjDQlu2yCMbyHHO\/h155rRW3T1stR26enBk\/wAyT5neHV4KwhibBCyJn3Y2ho7gvtQlNsupcNTppO12ERFA0hERAFQ3TSlLVyfE0TzQ1YORJEMDO\/kMYPar5QKm+WukOJ6+BpBwWh+0R4DepRck8iqrGnKNqmhT0t+r7TO2iv8ABsswGsq2fdce3r8PLmtJFLHNE2WJ4ex4y1zTkELMXPVNqroH0cNFLci8bmBhAPb1jwCkaQoLhQ0koq2GGN5BihJyW9Z7FOUcrvJmajVfMwReJb7eLOGqwa+62q0\/glk25N54cPbaWoAAGAMALMxg1X\/EKRxGRSU3yk9oHD+s+qtrhfrZa39HV1IZJ\/gDS4+i5JOySJ0pRTnUk7Z28ixRZd2raqtOzZ7RPOM46SQYb6fmvDbtVXPHxdwjoYzxZDxHlx\/qTA1rkS+pi\/xpy9vNmhq7hR0DNurqY4RjI23YJ7hxKo5tZQSSGG10VRXydbWlrfbPoF0ptGWyN3SVRmrJXb3Oled57h9cq8gp4aaMRwRMiYBgNY3AT7F3i1ee0V5v4MyaHVN3I+LqmW6AneyE\/Njw+pVjQaUtNCdswfESH8c+HenBXKLjm9Fkdjw8E7vN9+Z4AAMAYAXqIoGgIiIAiIgPHODWlziAAMknkshYzHftW1d1wTFTgCIEYwSMA47gT3qXrS7CitnwUbiJqoYPYzn58PEr40eKe22D4mqlZB8Q8vzI4Ny0bh7FXRVoN7mCpNT4iNPpHN\/o1CKkqdX2WmJHxRmcOUTCfXh6qENZuqTi3WeqqTyPD2BUFTk+hfLiaKdsX79jULL1Wbjr2ng\/BQRbbu\/Gfq1fMt11VLE+WO1wU0TWlxdKd4HifoquyW293Yz3SG4NpfiHlsjxuc7G\/cAN3mpxha7bM1avzHGEYvW+ltPE3yjzV1HTHE9XBF\/PIG+6z40a+cft95q6jrGfzJUiHRNli+\/FLN\/PIR\/pwo2huaMdd6QS8X8EmbVNkg3Or2OP\/YC72CgSa4oC4x0lLVVMmcNAaAD659Faw6ftEH3LdT7ubmBx9cqdHDFC3ZijZG3qa0AJeC6DDxD1kl4K\/uZp191FV\/8AJWIxA8DOT9dlBTaxqt762lpQfwgAkeh91qETHsh9O32pt+nsZf8ARCoqsfaV7qZxzY0nHhkn2U6l0lZaUD9k6Zw\/FK4u9OHorpFxzk+p2PDUou+Hzz9zlBTQUzNingjhaeUbA0ei6oigXpW0MvZSP0zvAcMOwMbuWR\/ZXs1roKmp+JnpIpZcAbUjdrAHDj3qguL47JrCG4Pw2CtZ0cjicAHgT6N9VqWuDmhzSCCMgjmrJ3yaMtBK0oS6N+uYa0NGGgAdQXqIqzWEREARFxqKumpGbdTURwt63vDfdDjaWbOyLP1WsrZE\/oqUSVkpOA2JpwTjr\/JQpqzUdzZ0hMdlonDfJK8B2O87wfJTVN9cjPLiaayjm+750NaiyUGordZaJlBRSz3SZriBjgT2Hq7srp0OqL04iWRtqpXD7rcF+Pf1C7y31OLiYvKKu9l86F5X3e320ftdUyN2MhmcuPgN6opNYVFWXNtFrlmDRkyS7mjvxy7chTaDR9qo9l8sZq5RxdNvBP8ALw9186srWW3T7oYQGOn\/AFTA3dgc+HZ7rsVG9lmQqSrYHOTwpbZvzMRLNV6hu0bpHMM87gwNaMbI\/wB55rZUmh7ZBgzvnqDjGHP2R28N\/XzVboW2GSWW6StwGDoot2MnG8+WB4lbZTqzaeGJn4PhozjzKiu3uQaay2ykIMFDAxw4O2AT5nepoAAwBgBeoqG29T04xjHJKxXagcW2CtLQSTERgc87ly0uxsem6JreBYT4kkn3VjU07Kqmkp5c7EjS12Dg4KrrJaqu09LBJWCakz+oj2cFm8k71K6w2KXGSrKVsrWLZERQNAREQBERAEREAREQEavoKa5Ujqaqj243b+OCDyIPJZ4Wi9afJNnmFZS73Gnm4jhw4ZPdjuWqRSUmsimpRjN4tHutTM\/pVX0+W1tgqYyN20wkhx7N3sSvP04pjubbqwnkNkb\/AFWnRdxR2Icqt0qeiMuNW1su6n0\/VyE8Dvx37mr37U1VVD9ns8UIPOU7x5kLTrwkAZJwAu4l0Q5NR9qo\/RGY+yNT1wcKy8Np2HgIW7\/HGPdeO0tZbew1V2rJJjzdNJsgnjwG8+ZXa5aoLpzQWSE1tVvBc0ZYzt7fZc6XSb6uYVl9qn1c539G04a3s3fTCndpZuxmcISdoLE928v94EWK7uk2qXStoAA+V1QYwB\/vvPgpUOkpq0tmvlwmqZM5EbHYY3s\/+YWkiijhjbHFG2NjRhrWjAHgvtQc9i+PDJ\/kd+7ReRGo7dR29hZSU0cIPHZG8954lSURV3uakklZBYTWLai46hpqGJpIDQxgGT8zt5PljyW7XzsM2trZG1nOcb+pThLC7lNejzoYL2ONDRxUFFFSwtDWRNwMep81IRFAuSSVkEREOhEXyXsDwwuAcRkNzvKA+kREAREQBERAEREAREQBERAERRbhcaW10xqKuUMYOA5uPUB1olc42oq7OlTVQUdO6eplbFEzi5yy7qi5auldFSl9Haw7D5CMOkHV293Ac8r2moajVlS2vuG3Fb2O\/U0+MbY6yc+vlhaqKGOCJsULGxxsGGtaMABWZQ8TJ93Ea5Q9X\/RGttqo7TT9DSRbIO9zjvc49pUxEUG76muMVFWWgREXDoREQBERAEREAREQBRn0FM+4Mr3RZqI2FjX5O4d3ifNSUQ40nqEREOhERAEREAREQBERAEREBGuFYy30E1W9j3tibtFrBklYm1uqNT6iZUXCnklpW5IaM9HH1A+Xit65rXsLHtDmuGCCMghGtaxoaxoa0cABgBWRlhT3MtWi6s1d5LO256AAMAYAXqIqzUEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "GILBERTO FAENA ZALDIVAR",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:39",
    "ubicacionGPS": "LatLng(lat: -23.6618358, lng: -70.4000445)",
    "horaLlegada": "15:35",
    "horaDespacho": "15:37",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "2",
    "observacionRetiroMaqExterna": "atasco de papel, problemas con el sensor residual ",
    "idReportManual": "null"
}
=========================================
FECHA: 26/05/2026 15:39:27
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-cRPL_rQ0bKpa-BAczlwdbxyjK2Ff3LzIjR.zY2r_qJxUooawH2N
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2327",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "CSJ",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "TALLER",
    "rutTecnico": "95585912",
    "contador": "221146",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se retira máquina por cambio ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12755",
    "observacion": "se retira máquina por cambio ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACKAO4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABBEAABAwMBBAgDBAgEBwAAAAABAAIDBAURBhIhMUETUWFxgZGhsRQiwRUyQtEWIyQzQ3KS4VJTsvAHNERiosLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgECBAMHBAMBAQAAAAAAAAECAxESITFRBBNBMmFxkaGx0RQiM8GB4fAjUv\/aAAwDAQACEQMRAD8A\/ZkREAREQBEVLd9TUltf8PC01VYTgQx78HtPLu4rqTbsiE6kaavJ2LkkAZJwAqWv1ZaqFxYJXVEmcbEI2vXgq9tpveoMSXepNHSneKaIYcR2\/wB89yu7fY7dbGAU1MzbG\/pHjaeT3\/kp2jHXMox1qnYVlu9fL5Kcaivlbg26xODSMh85OD7D1XvR6zqB++o6bPLAOPQrTouY10R3kSfam\/b2Mx9k6qf+8vcTc8dlvD\/xCfYupm7234E9TmnHstOicxj6aG782Zj4XWUHCupKgcgWgf8AqPdBdNVUj9mps8dS0D70JwT5E+y06LuPdIfTtdmb87+4REVZpCIiAIiIAiIgCIiAIqy6aht1o+Wom2pf8qMbTv7eKqnX2\/3En7KtBiiJ+WWo3ZHI7yB7qag3mUT4inF4dXsszUIswLfq+Uh0l1po8fha38mr6iotWwStJuVNPHn5mloz\/p+qYFuiPPf\/AIfp8mlREUDSEREAXjnBrS5xAAGSTyRzg1pc4gADJJ5LJ1lVVarrjQW+R0VuiP6+cbtvsHX2DxUoxuU1aqprdvRHtbeq2\/VL7bYmlsQ3S1ZOAB2HkPUq3s+nqKzt2o29LUH707x8x7upTaKhp7dStpqWMRxt6uJPWesqQuuWVloRp0c8dTOXt4BERQNAREQBERAEREARFznnhpojLPKyKNvFzzgBA3YrdR3f7HtT5mEdO87EQO\/f1+A+irI9KVNbGKmvutSKiT5i1hOyzPIZ388clV3m+QXC+wVDI5J6Cg+Zxa04c7PE9QJ2RvW5hmZUQRzxnLJGhzT1gjIVzvCKsYIuHEVJXd0tPkzL6DUdlHS0lb9owtIzC8HaxkcBv7tx8Fb2W+QXmBxYwwzRnEkLuLT381ZrL6koza6uLUNG3D4nAVDAcB4O7J9j3jqXE1PJ6k5RdD74u8eq\/aNQi5wzMqII54zlkjQ5p6wRkLoqjZqFm7tdK6vuBs9lOzI39\/Ucox1Z5e60iyInOldQVD6prnUVe7a6YNJLXZJ39fE++FZBeZl4mTSSvZN5stLVpeht2JpW\/FVROXTS79\/WB9eKul8RTRzxNlhe2SN4y1zTkEL7UG23mX04QhG0FkERFwmEREARFVahuxtNsMsQDqiRwjhbjOXHs7B9F1K7siM5qEXJ6IrtQ3Cor61mn7c4bc4\/XycmN5jyG\/y5q7tlugtVDHSQD5WDe48XHmSoGmbN9lW\/pJhtVdR88riPmbn8Ph7q6UpNdlaFFGDb5k9X6LYIiKBpCIiAIiIAiIgCKuud+t1pafiZx0mMiJnzPPhy8cKic+\/aoOwxht1ucd7j9949z6BTUG83oUTrxi8Mc3sv9kT7rqqnpJfg6BnxtaTshjN7Qe0jj3D0USLTlbd5RWahqTgDLaeN2A0dvV4eaurXZKG0RBtNCNvGHSuGXu8fovb5UGlsdZMDgiFwB6iRgepUlJJ2iVSpOSc6zyXTp\/ZhWuiZpm5VLY2sFZUtijGMYa07WAv0GggNNbqanJyYomM8gAsNb6f4uex2sZLWA1U3EDecgeTQPFfoKlVfQq4GOsu5L9v3CgXyBtRY62J3OFxG\/mBkeoCnqPcHbFtqnYzswvOPAqlam6aTi0yu0lKZtN0pcSS0Obk9hKuVQaKbs6ciOfvSPPrj6KRcdUWq2lzH1HSyt\/hxDaPnwHmpyi3NpFNKpGNCMpu2SLdV12rbTDTPiucsOwRviecuPcOPiqYV2pL8zFHTtt1M4\/vnn5iOz+w8VLt+kKCleZqsmvnJyXzD5f6fzymFR7TIurOplTjlu9PLVmWo6m6wGrfYBVmgAJHSNyGDs5Z7t60WkLnTz0hgkuEs9W5xe9k5OR2N6x\/vAWla0NaGtAAAwAOSqbrpqguh6Us6CpyCJ4tzs9vX3qTmpZNFUeGqUmpQd+7p\/Gxbosm6u1BpzAro\/tKjH8Zv3mjtP5+avbXeqG8RF9JLlzRl0bhhze8KDg1n0NMK8ZPC8nsyeiIoF4WUpohftXy1bzt0lv8AkYMfKX5OO\/fk57lc6guH2ZZaioaSJNnYjx\/iO4eXHwXDStuFvscOWkSzjpZMjfv4Dyx6qyOUWzLU\/wClWNPos3+i5REVZqCIiAIirrhfrbbA4VFUzpG\/w2Haf5LqTehGUoxV5OxYr4lmigYZJpGRsH4nuACzP6QXm7PDLNbTHE7\/AKioG7vHL3X1DpGWscJb5cZqp4ORGx5DB5\/QBTwW7TM\/Pc\/xRv36I71usrdA8RUgfXTE4DYgcefPwyohbqm+NIOxa6cnBG8PI9\/ZaGhttFbY+jo6dkIPEjeT3k7ypSYkuyhyak\/yS\/hZeupS2vS1uthEhZ8RPx6WXfg9g4D3V0iKDbebL4U4wVoqwWc1zUdFYOizvmla3GeIG\/6BaNYjXU76m40duh+d4GdhvEuccAenqp0leaM\/GSw0Jd+RK0VTmokqrq9hbtBsEQ5BrQN3o0eHlrCQBknACydPHqangbbbfSwU8MALBO8g7R5kZ6zn8PPxXU6Ur69wN2vMsreccW4eGd3opSSbu2V0JyhTUIwbfki1rNRWmhJbNWx7Y4tYdsjvxwVBdNXPrbbUsorbKYHxuY+ok3NaDu5d4581eUmmLPR7JbRskcB96X5\/fcq\/Wry6hpLfGPnqpw1oA5Ds7yEhgxJIV+eqblJpdy+WQLVpu5XC0U0dVcjDQlu2yCMbyHHO\/h155rRW3T1stR26enBk\/wAyT5neHV4KwhibBCyJn3Y2ho7gvtQlNsupcNTppO12ERFA0hERAFQ3TSlLVyfE0TzQ1YORJEMDO\/kMYPar5QKm+WukOJ6+BpBwWh+0R4DepRck8iqrGnKNqmhT0t+r7TO2iv8ABsswGsq2fdce3r8PLmtJFLHNE2WJ4ex4y1zTkELMXPVNqroH0cNFLci8bmBhAPb1jwCkaQoLhQ0koq2GGN5BihJyW9Z7FOUcrvJmajVfMwReJb7eLOGqwa+62q0\/glk25N54cPbaWoAAGAMALMxg1X\/EKRxGRSU3yk9oHD+s+qtrhfrZa39HV1IZJ\/gDS4+i5JOySJ0pRTnUk7Z28ixRZd2raqtOzZ7RPOM46SQYb6fmvDbtVXPHxdwjoYzxZDxHlx\/qTA1rkS+pi\/xpy9vNmhq7hR0DNurqY4RjI23YJ7hxKo5tZQSSGG10VRXydbWlrfbPoF0ptGWyN3SVRmrJXb3Oled57h9cq8gp4aaMRwRMiYBgNY3AT7F3i1ee0V5v4MyaHVN3I+LqmW6AneyE\/Njw+pVjQaUtNCdswfESH8c+HenBXKLjm9Fkdjw8E7vN9+Z4AAMAYAXqIoGgIiIAiIgPHODWlziAAMknkshYzHftW1d1wTFTgCIEYwSMA47gT3qXrS7CitnwUbiJqoYPYzn58PEr40eKe22D4mqlZB8Q8vzI4Ny0bh7FXRVoN7mCpNT4iNPpHN\/o1CKkqdX2WmJHxRmcOUTCfXh6qENZuqTi3WeqqTyPD2BUFTk+hfLiaKdsX79jULL1Wbjr2ng\/BQRbbu\/Gfq1fMt11VLE+WO1wU0TWlxdKd4HifoquyW293Yz3SG4NpfiHlsjxuc7G\/cAN3mpxha7bM1avzHGEYvW+ltPE3yjzV1HTHE9XBF\/PIG+6z40a+cft95q6jrGfzJUiHRNli+\/FLN\/PIR\/pwo2huaMdd6QS8X8EmbVNkg3Or2OP\/YC72CgSa4oC4x0lLVVMmcNAaAD659Faw6ftEH3LdT7ubmBx9cqdHDFC3ZijZG3qa0AJeC6DDxD1kl4K\/uZp191FV\/8AJWIxA8DOT9dlBTaxqt762lpQfwgAkeh91qETHsh9O32pt+nsZf8ARCoqsfaV7qZxzY0nHhkn2U6l0lZaUD9k6Zw\/FK4u9OHorpFxzk+p2PDUou+Hzz9zlBTQUzNingjhaeUbA0ei6oigXpW0MvZSP0zvAcMOwMbuWR\/ZXs1roKmp+JnpIpZcAbUjdrAHDj3qguL47JrCG4Pw2CtZ0cjicAHgT6N9VqWuDmhzSCCMgjmrJ3yaMtBK0oS6N+uYa0NGGgAdQXqIqzWEREARFxqKumpGbdTURwt63vDfdDjaWbOyLP1WsrZE\/oqUSVkpOA2JpwTjr\/JQpqzUdzZ0hMdlonDfJK8B2O87wfJTVN9cjPLiaayjm+750NaiyUGordZaJlBRSz3SZriBjgT2Hq7srp0OqL04iWRtqpXD7rcF+Pf1C7y31OLiYvKKu9l86F5X3e320ftdUyN2MhmcuPgN6opNYVFWXNtFrlmDRkyS7mjvxy7chTaDR9qo9l8sZq5RxdNvBP8ALw9186srWW3T7oYQGOn\/AFTA3dgc+HZ7rsVG9lmQqSrYHOTwpbZvzMRLNV6hu0bpHMM87gwNaMbI\/wB55rZUmh7ZBgzvnqDjGHP2R28N\/XzVboW2GSWW6StwGDoot2MnG8+WB4lbZTqzaeGJn4PhozjzKiu3uQaay2ykIMFDAxw4O2AT5nepoAAwBgBeoqG29T04xjHJKxXagcW2CtLQSTERgc87ly0uxsem6JreBYT4kkn3VjU07Kqmkp5c7EjS12Dg4KrrJaqu09LBJWCakz+oj2cFm8k71K6w2KXGSrKVsrWLZERQNAREQBERAEREAREQEavoKa5Ujqaqj243b+OCDyIPJZ4Wi9afJNnmFZS73Gnm4jhw4ZPdjuWqRSUmsimpRjN4tHutTM\/pVX0+W1tgqYyN20wkhx7N3sSvP04pjubbqwnkNkb\/AFWnRdxR2Icqt0qeiMuNW1su6n0\/VyE8Dvx37mr37U1VVD9ns8UIPOU7x5kLTrwkAZJwAu4l0Q5NR9qo\/RGY+yNT1wcKy8Np2HgIW7\/HGPdeO0tZbew1V2rJJjzdNJsgnjwG8+ZXa5aoLpzQWSE1tVvBc0ZYzt7fZc6XSb6uYVl9qn1c539G04a3s3fTCndpZuxmcISdoLE928v94EWK7uk2qXStoAA+V1QYwB\/vvPgpUOkpq0tmvlwmqZM5EbHYY3s\/+YWkiijhjbHFG2NjRhrWjAHgvtQc9i+PDJ\/kd+7ReRGo7dR29hZSU0cIPHZG8954lSURV3uakklZBYTWLai46hpqGJpIDQxgGT8zt5PljyW7XzsM2trZG1nOcb+pThLC7lNejzoYL2ONDRxUFFFSwtDWRNwMep81IRFAuSSVkEREOhEXyXsDwwuAcRkNzvKA+kREAREQBERAEREAREQBERAERRbhcaW10xqKuUMYOA5uPUB1olc42oq7OlTVQUdO6eplbFEzi5yy7qi5auldFSl9Haw7D5CMOkHV293Ac8r2moajVlS2vuG3Fb2O\/U0+MbY6yc+vlhaqKGOCJsULGxxsGGtaMABWZQ8TJ93Ea5Q9X\/RGttqo7TT9DSRbIO9zjvc49pUxEUG76muMVFWWgREXDoREQBERAEREAREQBRn0FM+4Mr3RZqI2FjX5O4d3ifNSUQ40nqEREOhERAEREAREQBERAEREBGuFYy30E1W9j3tibtFrBklYm1uqNT6iZUXCnklpW5IaM9HH1A+Xit65rXsLHtDmuGCCMghGtaxoaxoa0cABgBWRlhT3MtWi6s1d5LO256AAMAYAXqIqzUEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/2Q==",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "GILBERTO FAENA ZALDIVAR",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:39",
    "ubicacionGPS": "LatLng(lat: -23.6618358, lng: -70.4000445)",
    "horaLlegada": "15:35",
    "horaDespacho": "15:37",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "2",
    "observacionRetiroMaqExterna": "atasco de papel, problemas con el sensor residual ",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


26/05/2026 15:39:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[26/05/2026 15:39: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('76050301', 'KY2327', 1, 95585912, 221146, NOW(), 
				'15:37', '15:35', '15:39', 2, 'se retira máquina por cambio ', 2, 
				'atasco de papel, problemas con el sensor residual ', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779824367.png', 'se retira máquina por cambio ', null, 'COMPLETADO','LatLng(lat: -23.6618358, lng: -70.4000445)' )
				
[26/05/2026 15:39:27] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200437

26/05/2026 15:39:27 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '76050301' AND 
				serieinterna = 'KY2327' AND
				correlativo = 1;				
		
26/05/2026 15:39:27 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'KY2327'
		
26/05/2026 15:39:27 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY2327'
				   AND estado = 1
				
26/05/2026 15:39:28 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'KY2327'
				  AND rutcliente = '76050301';
				
26/05/2026 15:39:28 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'KY2327', 2, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
26/05/2026 15:39:28 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200437'                    
				WHERE idllamado = 12755			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


26/05/2026 15:39:28 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12755			
				
26/05/2026 15:39:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


26/05/2026 15:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

[26/05/2026 15:39:36] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

[26/05/2026 15:39:36] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

[26/05/2026 15:39:36] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

[26/05/2026 15:39:36] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

26/05/2026 15:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12755
            GROUP BY l.idllamado;
            

26/05/2026 15:39:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                

26/05/2026 15:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12755
                
[26/05/2026 16:05: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;
				
[26/05/2026 16:05: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;
                

[26/05/2026 16:05: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;
                

26/05/2026 16:06:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16:06:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

[26/05/2026 16:06: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;
                

26/05/2026 16: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 = 12578
                

[26/05/2026 16:06: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;
                

26/05/2026 16:06:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

[26/05/2026 16:06: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;
                

26/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16: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 = 12578
                

26/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16: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 = 12578
                

[26/05/2026 16:06: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;
                

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16:06:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16:06:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16:06:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16:06:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16:06:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16:06:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:06:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16:06:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16: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 = 12578
                

26/05/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 = 12578
                

26/05/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 = 12578
                

26/05/2026 16:06:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/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 = 12578
                

26/05/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 = 12578
                

26/05/2026 16:06:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/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 = 12578
                

26/05/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 = 12578
                

26/05/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 = 12578
                

26/05/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 = 12578
                

26/05/2026 16:06:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/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 = 12578
                

26/05/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 = 12578
                

26/05/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 = 12578
                

26/05/2026 16:06:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16:07:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16: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 = 12578
                

26/05/2026 16:07:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16:07:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:07:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:07:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:07:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:07:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16:13:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16: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 = 12578
                

26/05/2026 16:13:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16:13:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:13:39 - logentry: =========================================
FECHA: 26/05/2026 16:13:39
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-6.g48U-y57INVEFKQ3x2HGAi7p_b-xGwT6J.F1qfCbAbmaDKuMB
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76056333",
    "serieinterna": "KY2372",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "428280",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\ncambio de panel de Teclas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12578",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACmAGcDASIAAhEBAxEB\/8QAGwABAQEBAAMBAAAAAAAAAAAAAAYFBAECAwf\/xAA+EAABAwMBBAcFBAgHAAAAAAABAAIDBAURBhIhMUETUWFxgZGhIjJCscEUFcLRBxYjJILS4fAmMzRDUnKy\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALhEAAgECAwUHBAMAAAAAAAAAAAECAxESITEEMkFRYRMiM5HB0eEUcYGhI7Hw\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBZt9urLPa5KjLelI2Ymn4nf04rSUlk6k1ds+9Q2w57HPz9SPJvapwV3d6FFebjHDHV5L\/AHQ0tL3ma70cpqtgTxPAdsjG4jd9VtqYsR2dW3lg3NJDvHKp0mknkc2aTlT7zu1deTCIigaAiIgCIiAIiIAiIgMrUVzFrtE0oeGzPGxEOe0efhxXrpm1fdNnjje3E8v7SXrBPLwG7zWTtHUeri3JdQW05I+Fzwfz9G9qq3Oaxhe44a0ZJ6grJd2OEy0\/5KjqcFkvVk1Yx\/i+8nu+ap1M6Na6oFwuT2nNVUEgnqGT9VTLlTeO7L4V+d3+wiIoGkIiIAiIgCIiALH1LdXWu1nocmonPRxYzkE8x2hbCkqJp1Bq6WteCaS3HYiB5uB3HzyfJTgle74GevNpKEdZZe7NnT9pFotccDgOmd7UpGDl3fjkuXV9x+xWd1OzfPWfsmNHHHxHy3eIW8pSiI1Hqp9b71Hb90R5OdyPDx8B1rsc3iZCqsFNUoavJerN6z0Atlqp6QcWN9o9bjvPqV2oig3d3NMYqKUVwCIi4SCIiAIiIAiIgMjU10Frs8r2uAmlHRxd5HHwHrhe+nLd92WWCBzNmVw6SQHjtH8tw8FlVpfetYwUYAdS24dJJngXcfngeaoqysgoKSSqqX7EcYyT9ArHlFR5mSDUqkqj0WS9TH1XdJaSjjoaQbVXWkxtA4hvAkdu8AePUtGz2yK0W6OljAyBmRw+J+N5WJp2imuldJqGvaNqTdBGRuaBu2h5Y8yqlJZLCjtFOpJ1Xx0+3yERFWagiIgCIsy46gtlrJbU1IMg\/wBtg2nf08V1JvQjKcYK8nY00UuNUXOuGbZY5XsPuyykhp+nqvJr9ZZ3Wikx\/wBx\/Opdm+JR9TB7qb+yZTrmuNYy32+erkIAiYTv5nkPE4CwfvPVsW+aywPHVG7f\/wCisbUOoKiviht9bQyUJEgdNk52m8Mjd39fDmpRptsrq7XGMG7NPqmjf0dRPitr7hO7bnrnmRzjxxk48zk+K4alztX3ltNC5\/3VSnMjxu23b+B9O7JXi43oXOOnsunzkTM2XvALejYN2N\/Z\/e9UlrtkFpoWUlOPZG9zjxc7mSut4e89SEIqolSjurV83y9zra0NaGtAAAwAOS8oipPQCIiAIiIDK1LWVNDZJpqTIlyG7QGdkHn\/AH1rh05ZbQ2mjrInsrZ3DadK\/fg9x4b88d6oXsZIwskaHtcMFrhkFYFVo+ifKZ6GeagmJzmE7h4d+\/cVZGStbQyVacu0U0sXT24FCil20mr6LLIqynrGDBBk492\/815NbrJgwbZRuA+LaH86YOqJfUc4Py9inX5y+vqbnqSsfQxdNNPmKEk5axg3bXkPUr6Vmsb1JFPTGKmjIGy+SEE7PLcdojxXRY6XUlrpduitFM7pgHdJK4bZB3ge+Md2FbGGBNsw1q62iUYwvZa5HeNDxw0kbqWskir4\/a6YH2S7u5d67NP3monqJbVc27FfT8+HSDr9R3g5XP02s58D7NR02eeQcepWNe6S\/UNTTXStrIelLxEx8I3t4nf7IB5rlnLKTJOSo2nTg0uOWVvc\/QF6veyNu09waOsnCmv1avU+RU6hmDeqPO\/1CR6FoM7VTVVM7uZLgAfTPqqsMeZs7Ws9IebXyas2obRB79whODg7DtrB8Mrim1pZIgCyeSbsZER88Lpp9MWWm9ygjeeuTL\/mu2G3UNM7ago6eJw5sia0+gTudRbaHxS82Z9p1RRXmrNNTQ1LXBpcXPYMAeBKLZRRduBdBSS7zu\/IIse7VOoIqtjLVRU88BYC58rsEOycj3hyxyXAaDVVxIFVXw0cTh7TYh7Xp3f8uako8blcqzTwqLf49TYuV6oLUzNXOGuxkRt3uPgp\/N51bgAfYLYTvPxSj6+g71p23SVsoC2R7DUzg56SU8+7h81uLuKMd0h2dSr4jsuS9X7EZf7bTUrbZYqGPZFRPtSHm7lknxPkrJrQ1oa0AADAA5KYgzcNfTSEZjoYdluTwOMcP4j5KoSbySObPFXnJaXsvwFMa79u1U0I999SMD+Fw+oVOpjVH7zerLRDg6bbeOzI592VynvEtr8Frnl+ynREUDSEREAREQBERAF6yPbFG6R3usBJ7gvZZGqqn7Lp2rdnfI3ox27RwfTK6ld2IVJYIOXIz9FRulp625SNw+rnJznJwN\/zJVOs7T9J9isVJCWgO6MOcB1nefmtFdm7yZXs8MFKKYUvEBcP0gSScWUEGyCRz6vNx8lSTzMp4JJ5DhkbS5x7Ap7RkL5KesucrcPrZy4HsBP1J8lKOSbIVu9UhDrfy+SlREVZqCIiAIiIAiIgCmdY\/vLrbbQf9TUjI7Bu\/EqZTF2IqNcWmnz\/AJbDIc8PiP4VOnvXM21Z08PNpfspgABgDAC8ovnNNHTwvmmeGRsGXOcdwCgadCe1hWyvjp7NSb6itcNodTc\/U+gK36OmZRUcVNGMMiYGhTmm4JLrdanUNSwhryWUoJ4N3g+QGPEqpVk8lhMtC826r46fb51CIirNQREQBERAEREAUxTbNT+kKpdyp6fAOOeGj8RVOpjT5E2p75UHA6N4jyePEjy9lTho2Zq+coR6\/wBJlOpO71Uuo7oLJQPxSsO1VTDeNx4D++Pcve7Xma7VBs9kcXOJxPUN91rc4OD9fLK27Taqe0UTaanbv4vfje89ZXUsGb1ISfbvBHd4vn0XqdNNTx0lNFTQt2Y4mhrR2BfVEVZrSsrIIiIdCIiAIiIAiIgCmKjSD5rhVSR3GaGmq3bcsbeLjknHIY3nHFEUoya0KatOFSykjct1spLVTdBSRbDeLiTkuPWSutEUW7lsYqKsgiIh0IiIAiIgCIiA\/9k=",
    "razonSocial": "TRANSPORTES SOLUCIONES LOGISTICAS S.A.",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "WILLIAMS AREVALO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "APP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:13",
    "ubicacionGPS": "LatLng(lat: -23.104016, lng: -70.4332974)",
    "horaLlegada": "15:21",
    "horaDespacho": "14:58",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 26/05/2026 16:13:39
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-6.g48U-y57INVEFKQ3x2HGAi7p_b-xGwT6J.F1qfCbAbmaDKuMB
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76056333",
    "serieinterna": "KY2372",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "428280",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\ncambio de panel de Teclas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12578",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACmAGcDASIAAhEBAxEB\/8QAGwABAQEBAAMBAAAAAAAAAAAAAAYFBAECAwf\/xAA+EAABAwMBBAcFBAgHAAAAAAABAAIDBAURBhIhMUETUWFxgZGhIjJCscEUFcLRBxYjJILS4fAmMzRDUnKy\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALhEAAgECAwUHBAMAAAAAAAAAAAECAxESITEEMkFRYRMiM5HB0eEUcYGhI7Hw\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBZt9urLPa5KjLelI2Ymn4nf04rSUlk6k1ds+9Q2w57HPz9SPJvapwV3d6FFebjHDHV5L\/AHQ0tL3ma70cpqtgTxPAdsjG4jd9VtqYsR2dW3lg3NJDvHKp0mknkc2aTlT7zu1deTCIigaAiIgCIiAIiIAiIgMrUVzFrtE0oeGzPGxEOe0efhxXrpm1fdNnjje3E8v7SXrBPLwG7zWTtHUeri3JdQW05I+Fzwfz9G9qq3Oaxhe44a0ZJ6grJd2OEy0\/5KjqcFkvVk1Yx\/i+8nu+ap1M6Na6oFwuT2nNVUEgnqGT9VTLlTeO7L4V+d3+wiIoGkIiIAiIgCIiALH1LdXWu1nocmonPRxYzkE8x2hbCkqJp1Bq6WteCaS3HYiB5uB3HzyfJTgle74GevNpKEdZZe7NnT9pFotccDgOmd7UpGDl3fjkuXV9x+xWd1OzfPWfsmNHHHxHy3eIW8pSiI1Hqp9b71Hb90R5OdyPDx8B1rsc3iZCqsFNUoavJerN6z0Atlqp6QcWN9o9bjvPqV2oig3d3NMYqKUVwCIi4SCIiAIiIAiIgMjU10Frs8r2uAmlHRxd5HHwHrhe+nLd92WWCBzNmVw6SQHjtH8tw8FlVpfetYwUYAdS24dJJngXcfngeaoqysgoKSSqqX7EcYyT9ArHlFR5mSDUqkqj0WS9TH1XdJaSjjoaQbVXWkxtA4hvAkdu8AePUtGz2yK0W6OljAyBmRw+J+N5WJp2imuldJqGvaNqTdBGRuaBu2h5Y8yqlJZLCjtFOpJ1Xx0+3yERFWagiIgCIsy46gtlrJbU1IMg\/wBtg2nf08V1JvQjKcYK8nY00UuNUXOuGbZY5XsPuyykhp+nqvJr9ZZ3Wikx\/wBx\/Opdm+JR9TB7qb+yZTrmuNYy32+erkIAiYTv5nkPE4CwfvPVsW+aywPHVG7f\/wCisbUOoKiviht9bQyUJEgdNk52m8Mjd39fDmpRptsrq7XGMG7NPqmjf0dRPitr7hO7bnrnmRzjxxk48zk+K4alztX3ltNC5\/3VSnMjxu23b+B9O7JXi43oXOOnsunzkTM2XvALejYN2N\/Z\/e9UlrtkFpoWUlOPZG9zjxc7mSut4e89SEIqolSjurV83y9zra0NaGtAAAwAOS8oipPQCIiAIiIDK1LWVNDZJpqTIlyG7QGdkHn\/AH1rh05ZbQ2mjrInsrZ3DadK\/fg9x4b88d6oXsZIwskaHtcMFrhkFYFVo+ifKZ6GeagmJzmE7h4d+\/cVZGStbQyVacu0U0sXT24FCil20mr6LLIqynrGDBBk492\/815NbrJgwbZRuA+LaH86YOqJfUc4Py9inX5y+vqbnqSsfQxdNNPmKEk5axg3bXkPUr6Vmsb1JFPTGKmjIGy+SEE7PLcdojxXRY6XUlrpduitFM7pgHdJK4bZB3ge+Md2FbGGBNsw1q62iUYwvZa5HeNDxw0kbqWskir4\/a6YH2S7u5d67NP3monqJbVc27FfT8+HSDr9R3g5XP02s58D7NR02eeQcepWNe6S\/UNTTXStrIelLxEx8I3t4nf7IB5rlnLKTJOSo2nTg0uOWVvc\/QF6veyNu09waOsnCmv1avU+RU6hmDeqPO\/1CR6FoM7VTVVM7uZLgAfTPqqsMeZs7Ws9IebXyas2obRB79whODg7DtrB8Mrim1pZIgCyeSbsZER88Lpp9MWWm9ygjeeuTL\/mu2G3UNM7ago6eJw5sia0+gTudRbaHxS82Z9p1RRXmrNNTQ1LXBpcXPYMAeBKLZRRduBdBSS7zu\/IIse7VOoIqtjLVRU88BYC58rsEOycj3hyxyXAaDVVxIFVXw0cTh7TYh7Xp3f8uako8blcqzTwqLf49TYuV6oLUzNXOGuxkRt3uPgp\/N51bgAfYLYTvPxSj6+g71p23SVsoC2R7DUzg56SU8+7h81uLuKMd0h2dSr4jsuS9X7EZf7bTUrbZYqGPZFRPtSHm7lknxPkrJrQ1oa0AADAA5KYgzcNfTSEZjoYdluTwOMcP4j5KoSbySObPFXnJaXsvwFMa79u1U0I999SMD+Fw+oVOpjVH7zerLRDg6bbeOzI592VynvEtr8Frnl+ynREUDSEREAREQBERAF6yPbFG6R3usBJ7gvZZGqqn7Lp2rdnfI3ox27RwfTK6ld2IVJYIOXIz9FRulp625SNw+rnJznJwN\/zJVOs7T9J9isVJCWgO6MOcB1nefmtFdm7yZXs8MFKKYUvEBcP0gSScWUEGyCRz6vNx8lSTzMp4JJ5DhkbS5x7Ap7RkL5KesucrcPrZy4HsBP1J8lKOSbIVu9UhDrfy+SlREVZqCIiAIiIAiIgCmdY\/vLrbbQf9TUjI7Bu\/EqZTF2IqNcWmnz\/AJbDIc8PiP4VOnvXM21Z08PNpfspgABgDAC8ovnNNHTwvmmeGRsGXOcdwCgadCe1hWyvjp7NSb6itcNodTc\/U+gK36OmZRUcVNGMMiYGhTmm4JLrdanUNSwhryWUoJ4N3g+QGPEqpVk8lhMtC826r46fb51CIirNQREQBERAEREAUxTbNT+kKpdyp6fAOOeGj8RVOpjT5E2p75UHA6N4jyePEjy9lTho2Zq+coR6\/wBJlOpO71Uuo7oLJQPxSsO1VTDeNx4D++Pcve7Xma7VBs9kcXOJxPUN91rc4OD9fLK27Taqe0UTaanbv4vfje89ZXUsGb1ISfbvBHd4vn0XqdNNTx0lNFTQt2Y4mhrR2BfVEVZrSsrIIiIdCIiAIiIAiIgCmKjSD5rhVSR3GaGmq3bcsbeLjknHIY3nHFEUoya0KatOFSykjct1spLVTdBSRbDeLiTkuPWSutEUW7lsYqKsgiIh0IiIAiIgCIiA\/9k=",
    "razonSocial": "TRANSPORTES SOLUCIONES LOGISTICAS S.A.",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "WILLIAMS AREVALO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "APP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:13",
    "ubicacionGPS": "LatLng(lat: -23.104016, lng: -70.4332974)",
    "horaLlegada": "15:21",
    "horaDespacho": "14:58",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


26/05/2026 16:13:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76056333

[26/05/2026 16:13: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('76056333', 'KY2372', 2, 21773342, 428280, NOW(), 
				'14:58', '15:21', '16:13', 4, 'Mantenimiento
cambio de panel de Teclas', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779826419.png', '', null, 'COMPLETADO','LatLng(lat: -23.104016, lng: -70.4332974)' )
				
[26/05/2026 16:13:39] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200438

26/05/2026 16:13:39 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200438'                    
				WHERE idllamado = 12578			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


26/05/2026 16:13:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:13:39 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12578			
				
26/05/2026 16:13:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


26/05/2026 16:13:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:13:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:13:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:13:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:13:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

[26/05/2026 16:13: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;
                

26/05/2026 16:13:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:13:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16:13:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

[26/05/2026 16:13: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;
                

26/05/2026 16:13:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

[26/05/2026 16:13: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;
                

26/05/2026 16:13:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12578
            GROUP BY l.idllamado;
            

26/05/2026 16:13:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:13:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:13:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:13:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:13:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16:13:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12578
                

26/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16: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 = 12753
                

[26/05/2026 16:13: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;
                

[26/05/2026 16:13: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;
                

26/05/2026 16: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 = 12753
                

26/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16: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 = 12753
                

26/05/2026 16: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 = 12753
                

26/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

[26/05/2026 16:13: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;
                

26/05/2026 16: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 = 12753
                

26/05/2026 16: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 = 12753
                

26/05/2026 16: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 = 12753
                

26/05/2026 16: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 = 12753
                

26/05/2026 16:28:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16:28:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

[26/05/2026 16:28: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;
                

26/05/2026 16:28:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

[26/05/2026 16:28: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;
                

26/05/2026 16:28:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

[26/05/2026 16:28: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;
                

26/05/2026 16:28:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:28:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16:28:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:28:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16:28:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16:28:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:28:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:28:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:28:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:28:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:28:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:28:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:28:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:28:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16:28:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:28:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:28:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16:28:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:28:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:28:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:28:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16:28:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:28:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:28:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:28:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:28:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:28:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16:28:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:29:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:29:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:29:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:29:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16: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 = 12753
                

26/05/2026 16: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 = 12753
                

26/05/2026 16: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 = 12753
                

26/05/2026 16:35:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16: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 = 12753
                

26/05/2026 16: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 = 12753
                

26/05/2026 16: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 = 12753
                

26/05/2026 16:35:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:35:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16:35:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16: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 = 12753
                

26/05/2026 16: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 = 12753
                

26/05/2026 16:43:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16:43:00 - logentry: =========================================
FECHA: 26/05/2026 16:43:00
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-97SI7ZWJUF1m-_eeC3ARQ-vQGh-p0khnw5NXC4wKqXLr3P6hYI.
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3125",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "168",
    "contadorColor": "1579",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\najustes, limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12753",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADmAPMDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA\/EAABAwMCAgYJAgQGAQUAAAABAAIDBAURBiESMRNBUWFxgRQVIjKRobHB0SPwM0JS8QcWJENi4ZI0U3KC0v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADURAAIBAgMFBwMDAwUAAAAAAAABAgMREiExBBMiQVEyYXGBkdHhobHBI0LwFCRSMzRTYnL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAERc5p4aaIyzysijbzc84AQN2Oij1ddS0EXSVdRHC3qL3Yz4DrWfqNR1l1nfRafpy88nVT9mt7xn7\/BdaDR8DZfSrrO+vqDueMnh\/J8\/grMCXaMu\/lN2pK\/fy+Tm\/VlTXTuhsltfVcPOR+zf34kL50esqs7y0tEDzAwf\/wBLSxRRwxtjijbGxow1rRgDyXtMaWiG4nLtzflkZj1JqU7m\/AE88NK+Oj1Za+FzJYblED7TSMO+3yJ5clqEXMb5o7\/TRWkmvNlPY9Qw3gPiewwVcX8SF3PvI8\/grhZjVNEaF8d\/omBtRA8dL7OQ9p2ye\/qz2FaCjq4q6jiqoTlkrQ4d3ckkrXR2jOV3TnqvqjuiIoGgIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIior5qIULxQ0MfpFfIeFrW7hh7+\/lsupNuyIVKkaccUiXeb5S2aAOmy+V\/8OFvvO\/AVLTWS4ahkbW32V0cGeKOkZtgd\/Z9fBTLLpx8FR6yusnpVe\/f2jkR+HePgOpaBTuo5RM6pyrcVXJdPf2OVNTQUcDYKeJsUbBgNaMBdURVmpJJWQREQ6EREBHrofSaCogwD0kTmjIzzCp9FTPm080PJPRyuaCTnv+6vJ39FTySf0MJ+AVBoaPg0+XYx0kzneOwH2U12GZpf7iNuj\/Bo0RFA0hERAEREAREQBERAEREAREQBERAEREARFQaivstI9lttrOlr59hw79GD1+P912MXJ2RXUqRpxxSPOoNQPppRbLY3prhL7Ps79Hn7\/TmV30\/p9loiM0zumrZd5JTvjPUPz1pp\/T7LREZpndNWy7ySnfGeofnrV0pykksMSmnTlKW8qa8l0+QiIqzUEREARF5c5rGF73BrWjJJOAAgPSKJHdbdNMIY66nfITgNbICSewdqlpaxxST0ZW6hn9G0\/WyZxmItB73ez91y0vTCm07SNxgvZ0h7+I5+mFVa5uUQoGW+KRr5pJAXsacloHb54XOltF5vdNGK6pdQUTQ0R08bcOLRyz2bdvwVyjwZ5GGVX+4eFXaVjQ1l7tlAcVNbEx39IPE74DJXymv1qq3hkFdC57uTScE\/FRaPSVmpMH0bp3D+aY8WfLl8krNJ2iqgexlK2CQj2ZI8gtPhyPgo8HeW32nWy8M\/uXSLO6YrqtstTZ693HPR44XZySzvPmPj3LRKElZ2LqdRVI4kERFwsCIiAIiIAiIgCIiAIiIAiKvvV2is9vfUyEF+MRsJ993YupXdkRlJRTk9CNqK+C0UzY4B0lZPtFGN8d5H7yV50\/YzQNNbWnprhPvI92\/DnqH3UfT9olml9d3U9JWTe1G1w2ib1bdR+i0anJqKwoz04upLez8l07\/EIiKs1BERAERQbxc4rRbpKqQjIGI2n+Z+NgupXdiMpKKcnoRr\/fY7NTgMAlq5dooe3fme76qsg0zW3Rzam\/VsjwTxNpmO2b3HqHkPNd9PWmSok9eXTL6ybeNjhgRN6sDw5dgV\/PPFTQvmnkbHGwZc5xwArL4co6mVQ33HU05L8spp9IWR1MWCnMPCCelEhyO85P1VNT3K5SxepbNVOrZG56Sse3hDB2NOTt2H4KQ99frCd7IHupbSx3C52Pam3\/fcFOu01NpmxejUEfBNKOjhDRlznHm4ntGfopK+jzZRJRd5wWGK5rK\/h7+hR6ftMU2qZHMlM0dCcvlO3HJvuO7Oevqyt4qnTdpFotLInAdNIeOU955DyGPmrZQqSxM07LS3dPNZvMIiKs1GYpv0f8Q6sDYT0wOO3Zv4WnWXosTf4h17sZEVOADjrwz8lahTny8DNs2kv\/TCIigaQiIgCIiAIiIAiIgCIiA8SyxwQvmleGRsBc5x5ALK26KTVF7dc6gEUNI7hp2Fuz9+f0J8gvd9qZ73dWWGiLxG0g1jxyA2+nzOFpKSlioqWOmgbwxxN4WhWdld7Mj\/AF6lv2x+r+DsiIqzWEREAREQHxzg1pc4gADJJ6lkqRrtW3w1krXerKM4iaduN+x3Hz8MBTNV3CQRRWek3qq72efutJx89x4ZVpR0tLY7U2LjDIYG5fI7Az2kqxcKvzZkn+rUw\/tjr49PySKurgoaZ9TUyCOJgySVlQ2r1lWh7w+ntELvZHIyn9\/DxRsc+sbl0rw+O0QHDQdjKR+\/Id61sUUcMTYomBjGDDWtGAAu9jxOZ7Q\/+n3+DwG09DSYaGwwQMztsGtAWatsbtSagN4lDhSUh4adrm7PIzg+R3+CXmsk1BcWWW3PcYGuzVyt5YyNs92\/iVpaSkhoaSOlp2cEUYw0LnZXex\/rTsuzH6v2R2REVZsCIol0qvQrXU1O+Y4nEY7cbfNErnJNRTbKPTR9Lv8AeK8NwwyCNpJ3O5\/AWnVDoyk9G09G8tAdO50h+g+QV8p1O0UbMmqSb55+uYREUDQEREAREQBERAEREAVVqG7G02wyxAOqJHCOFuM5ce7uH2Vo5wa0ucQABkk9SydsjdqbUD7tMP8AR0h4Kdhbs877+XP4KcEtXojPXm0lCOr\/AJfyLPTNnNqt\/HNvVVGHykjcbe75b+ZKukRRbbd2W04KnFRjogiIuEwiIgC8SyshifLI4NYxpc5x6gOZXtZzWFTM+np7TSnM9dIGkf8AHP5x5ZUoq7sV1am7g5HHTsRudyqtRVWAC4sgDv5GgYzz7NviuFVLNq+6ikpnOZa6Z2ZZB\/uHPV9vj3LzX8dR0Ok7QcNhaPSZs7YHPPmcnv2WqoaKC3UjKWmZwxsGO8ntPerJO2foYqdN1Fu+S7T6vmjpBBFTQMghYGRxjha0dQWf1Dd5p5fUlq\/Uq5tpXtP8JvXv+8L3e73MagWi0DpK6TZzxyiH5+im2SyQ2anIB6Sok3lmPNx\/Cilh4mXTk6r3dPJc3+F3\/Y92WzwWahbTxYc87ySYwXn8disURQbbd2aYxUIqMdAiIuEgs5rSd3qyGgiBdLWTNY1oPPBB+uFo1lnH1rrxrccUNujzywOL+5HwU4a36GbaXwYF+7L3+ho6WnZSUkNMz3YmBg8hhdkRQNCVlZBERDoREQBERAEREARFyqaiOkppamZ3DHE0uce4Icbsrsz+rquWVkFlpCDUVrhxDOMMB+5HyKvLfRRW6hipIR7MTcZx7x6yfEqh0rDLcKmpv9W3D5yWQtySGtHPGfh5HtWnVk8uEzUFjbrPnp4fOoREVZqCIiAIiIAvzmpvMlXqGpqqfMk5\/wBPRNaM4yccQ8snxctpqCt9AsdVOHcL+DhYf+R2H1z5LJaabRWaldebmeF7stpY8e24Y3IHfnGeXxV9NWTZ5u2ScqkaadubfQ1Fgs8dmoMykGpkHHUSE537M9gVbXXyrvdSbbYCQP8Adq9wGjuPV48+xcRT3jVjg+pLqC25y2Me88ffxO3ctPRUFNbqcQUsQjYOzmT2lRdk7vNlkFKpFQhww+r\/AJ1IlksdPZactj\/UnfvLK7m4\/YKzRFW227s2QhGEcMVkERFwkEVdd73R2aEOqX5e4Hgjbu5348VSdFqLUTw6RxtVHzDWk8bvoT8h3KahfN6FE66i8MVd9F+ehoq24U1DBJJNNG0sYXBrngF2BnAVHoqAuoqm4yFpmq5S44OSACefZuXfJU1905R0D6OjpHTTVlXJjie7OB24A7\/kVaaMjDay59A94pI5AyJhdkE75OO3ACswpQdmZFVnPaYqS09v56mrRFRXbVVJbpvRYGOq6o7COPkD3n7BUqLeSN86kaavJ2LqWWOCJ0sz2xxsGXOccABZuq1LVXCf0TT1MZ3cnVD2ngZ8fv8AArzHYrle5xU32oLIPebSROIA8ez5laOlpKeigbBTRNijbya0KfDHvZRerV04V9fgUjJ46SJlVKJZw0CR7RgOPXsi7IqzSlZWCIiHQiIgCzWp5ZLjWUtgpT7Ux6Sc5xwsG4B+GfIdq0FTUR0lNLUzO4Y4mlzj3BUWlaeSoNTfKpuJ61x4B\/TGOQ+XwaFOGXEZq\/G1SXPXw+dC9pqeOkpoqaFvDHE0NaO4LqiKBoSsrIIi+EgDJOAEOn1FRUuozcb36FQU\/TU8f8WozsNjy88eO\/irOvudHbYukrKhkQ6gTu7wHMqTi07FUasJJyTyRKXCrrKahhM1VOyFg63HGfDtWcl1PX3NxhsNvkfk4M8rfZH2+J8lGrLCKOimu1\/q3VszG+zEHENLjyGeeM9mFJQ\/yKJbTdN01fv5fPkRL7en6mrKe121p6Ivzl4xxu337gBlXln0jT0Lmz10npk4ADeIZazHLAKz+hqXp72+pcNoIyQcfzHb6ZX6Ep1Hh4YlGyU1WvWqZsIiKg9MIiIAqK96iFHL6voIzU3B+zWNGQzPWe\/uXO+32YT+qbQ0y10mznN5RD8\/RSrHp+C0MMr3dNWSD9WZ2+\/MgfvdWJJK8jLOpKpLBT837d\/2Itm026Gc3G7SelVz9\/a9oR\/9\/IdS0KKl1VcvVtkkLDiWf9Jm++43PwXM5snaFCm2tEZi4XVlRdK+8RnIp2iCkOebjkcQ8BxO27QtFavR9M6ch9YSiJ7svc08y478IHWQMBYmirWsnpmMp5JxB7UULf8AclON3Y5jqx1gAdq11v05UV1SLjqB\/TykexT\/AMrB2H8fVXzSSs9DzNmnOcnKKu\/or6v8LwOBnvOqzw07Tb7YTgyH3pB9\/LbvKvbVY6G0RBtNEOkI9qV27nefV4BWDWhrQ1oAAGAB1L6qHO+S0PTp0FF4pO8uvt0CIigXhERAEREARFyqaiOlppKiZ3DHG0uce4IcbtmzP6llfcq6k0\/TuIM7hJUOH8rB\/YnyHatFFEyGJkUbQ1jGhrWjqA5BZzSUUtZJWXypbiSreWs7mDqHdsB\/9VoppoqeMyTysiYObnuAA8yrJ5cJnocSdV8\/ty9zoiz9brO10xLKcyVcm+BE3bPiftlRvTtUXU4pKNlvhJ\/iS+9gjv8AsFzA+eQe0072jm+7M00s0UDDJNIyNg5ue4ALGaq1G2tY22Wt5mEn8R8efa3xwjtXK+WM0Fv9KuVfNXVkhbHFHk44vqQB4fNX+mLGy029r5WA1Uo4nuLd2ZHu+X1U0oxWLUzzlWrSdJLCufNlNa6LUElJHTUMDbVSEZfI7Bkeesnrz5BWlBo23wHpa0vrpycudITjPh1+eVoUUXUb0yL4bLTjbFnbr7aHljGRsDI2hjWjAa0YAWSus7dQaiba+IijoeKWcg+8QN\/gTjzKtNUXoWi2kRn\/AFE+WR4O7dt3eX1wqbTdOaXS9yukhzJPG\/hJG+Gg9feSfgpQVliKtoqKU1RWmr8FyJ2h4+K31VYWgOqKgnYdQ\/7JWmWP03frda7ZR0M8hEsxc5xAyGEuwM9mRutgo1E8TLdklF0kk9NQiIqzUFnL3fp5KkWiy\/q1kmz5G7iIePb39Xio2qtTCAerqCQOmftLI05DB2DHX9F90gHUzvRm2eeEOj431ku3GdtsY5dwJVsYWWJmGpX3lTdQfi\/wvct7JZIbNTkA9JUSbyzHm4\/hWiKDdLvR2imM1VJgn3GDdzz2AfdV5yZqShSh0SJj3sjYXyODGtGS5xwAsDeJKnVl+FPbh0kEA4WvOzR2uPn9AoF61HXXuTod46cu9mFm+ezPaVu9P2dlmtrYcZmkw6Z3\/LHLwCutuld6mB1P6yW7j2Vq+p4senKOyxhzR0tSR7Uzhv4AdQVuiKltt3Z6EIRhHDFWQREXCYREQBERAEREAWU1zdhT0TbdE\/8AUn3kwdwwfk\/QqTeb9UuqxabMwyVjjh8mPZjHI\/36lUaOtZq7nU3CqPpDYXFrZH+1xv6zk92\/mFdCOHiZ59es6j3NPnlf7kqkrb9W08dJaKEUVLHGGtnnbgkdoz9gfFSoNHMmIlu9bPWy43BceEdwPP6LSoouo+WRctmj+94vt6EWktlDQD\/S0sUR\/qa3f481KRQrxW+rrTU1Y96Nns\/\/ACOw+ZChm2XvDCN9EihIOoNZdTqO2DcEZBf\/ANkfBq1aotIUJpLGyV5Jlqj0ric535fLfzV6pTedlyKtmi8GN6yzC4VlZBQUklVUv4I4xkn7BdJZY4YnSyvDGMGXOccABZLin1nXlo44bRTv3PIyu\/sfIeKRjfN6Ha1XBwxzk9Cpujam5W6e+1wc0PeIqWMjYNznPwz8yry+VlLadJxW7OZpoGsazO\/e4rxrt8cNro6ZnAAJciPuDSPhuuEtjnks1dd7t7ddLEXNY7lCPDtx8PFXXTSbPNcZQnOMc3bN\/V\/B4t+k4qzTDZ4nf6ybErHHYDGcN\/fXjsVgNUV1CwQXCz1BmZsXxglr+8ZCstMuDtOURH\/t4+ZVqq5Tzalma6VC0IypuzsjMHUl4qTw0Ngm7nyk8P0A5d6pL1U6hmqIKOpqA2efb0SnfjAPLixtv4nyWr1FevU9COiAfVTHhhZz37cdy5aesbqFhrq49LcKj2nvduWZ\/l\/KlGSisViupTnUlu8bfXkl6cz1YdOUtopmOfGySrIy+UjPCexvYFdKLX3OjtsXSVlQyIdQJ3d4DmVjrtqaruLOGJzrdQu\/3HD9SUdwH227SoKMpu5fOrS2aOFehdXfVDYJjQ2uP0usJIJb7seOeT3fAdayLoJrnVvJqfSqho4p6p5\/ThaOw9f7wOtWFnsFTdogGNdRW483\/wC5P49v0HeclS6iOOvq49OWXEdFHvVTM3zg9Z6\/z3BXLDHJHn1N5WSlPR6Lr4e78jlo6zMkuUlxw51NAS2Bz244zy4vhnzPctyuNJSxUVLHTQN4Y4m8LQuyonLE7nqbPRVGnhCIigXhERAEREAREQBVmoa91uslRUMJD8BrCOYJOM+WcqzVPqqldVaeqWsbxOYBIB4Hf5ZUo2xK5VWbVOTjrYpZI4tPaPdLkiuuDAHPz7RLt\/kCfNaGw28WyzU9Mc8fDxPz\/Udz+PJZejqnamu9spwCKeihEkoPW4c\/mB81uVOpdKzMuyqMnjjolZfkIiKo3hZzXMpZYRG0nM0zW4HXzP2C0azGtfajtzD7rqkZH78VOn2kZtqf6MjRU0Laaligb7sTAwbdQGF7c5rGF73BrWjJJOAAuNbXU1vp3T1UzY2DrPM9wHWsvJNcdYTmGmD6S0tOHyEbyY+vhyHX1JGLeb0JVKqp8MVd8keqyqqNW1hoLe90duiP68+McfcPx5q1r7hQaWtTI42DIHDDCDu89p+5UWqvVusFMy22uIVNQPZZDF7XtdriOZz1c0tGn5JKk3W9frVrzlsZ3bF2ef0U3a2ehmi5Ymou83q+S\/nT1KeosFyuVsqrvcHPNW9odFA1mSGjqx1eH1JWioa+K\/6dk6Nw6R8LopW75a4twrlZ6u0xIKqSss9a6hneN2D3HHfOcePeuY1LJktw6TvBXvr1fefdFS8en2RHIdDI5pB6snP3V7NK2GF8rgS1jS4gDJwFgHevtK1bpnmEisJ4jzj4s8zjGOf1VrP\/AJsulG6mmoqNkMrcOcHjcduzj8l2ULu98iFHaHGnu8LxLu9DlbJ4ay5Saju87IImkto2SOAy0ZHLmcfXKXLXPG4w2xjWjrnn5Dwb+\/BRKfQNc9w9JqoImnOeDLiOzs+qv7fo61UXC6SM1UgG5l3b\/wCPL45Um6ad3mU047U44UsPV82ZGmo669VHS08c1ZKT7VTU+43uAOR9fBay16TpqZwqLi\/06q7ZN2N8Aefn8lfNayKMNY1rGNGwAwAFnbpqV00xtlkHpFW\/2elaMtZ356\/HkFHHKeSLlQpUFiqO7\/miPd7vcoqG2e0APrZPZLhyiH5x8FOsVmislB0DDxyPPFLJj3j+Auen7Eyz0vFJiSsl3ml5+Q7vqrdQk1bCjRSpyb3lTXkunz1CIigaQiIgCIiAIiIAiIgC41dRHS0ktRMR0cbC52ewBdlndZVThb4bdCT01bKGADsz8eeApRV3YqrT3dNyKGxi62+D11R0jZ4ah7hLBG3B4R1jbYZzyzyWotmp7Zc2gNmEEuN45iGnyPIqyo6ZlHRw00fuxMDBtjOBzUG4actdyeZJ6UCQnJkjPCT445qblGTzM9OjVoxSg79U\/wAMswQRkHIK+rMf5LEQ4aS71kDRyGc\/TCf5QnmwKy+1k7ezJH1JUcMepZvK3\/H9UX9TcKOj\/wDU1UMJ7HvAKymoLvT3+JtutUE9XM14cJWAta38+eB15VnTaKs8J4pWS1Dusyv\/ABhXVNSU9HH0dNBHCzOcMaAupxi7rMjKFaqsMrJPzZiqjSuoat0NRVVENQ9g9yWQnHdywrJtj1FVtbHV3ZlNABjo6dvDt2bADt6ytSiOq2cjsdNPV+pW2mxUNnjxTR5kPvSv3cfx5KyRFBtvNmqMIwVoqyCIi4SI9bRU9wpX01TGHxvG47O8d6zUdPqHTeYqRguVCCS1n8zB3defDI+K1qKSlbIpqUVN4k7PqjMf55o4gG1dBWQS43Zwg4+JH0T\/ADpHUjgttrq6mX+ktAA79srTou4o9CG7rf5\/Qy7rdqG+t4LlMygpifahh3c4d+5+vkry3WqjtUHRUkIYP5nHdzvEqYi45N5E4UYweLV9WERFEuCIiAIiIAiIgCIiAIiIAsrGfW+vHvzmG3MwPa\/m\/uT\/AOPktJWVLKOjmqZPdiYXnfGcDkqPRlK9lslrpQelrJS8kjGQOXzz8VZHJNmWtx1IQ835fJokRFWagiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAzutah7LOyljBL6qVrMcthv8AXCvKOmZR0cNMwANiYGjHcFnLsPWGtbdR8OWUzeldk7Z5\/Zq1KsllFIy0uKrOfl6BERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgKqksvo9\/rLq+YSGdoaxuN2jAzv5K1RF1tshCKisu8IiLhMIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "losorio@mejillones.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENIMIENTO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:43",
    "ubicacionGPS": "LatLng(lat: -23.1010126, lng: -70.4523358)",
    "horaLlegada": "15:02",
    "horaDespacho": "16:13",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 26/05/2026 16:43:00
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-97SI7ZWJUF1m-_eeC3ARQ-vQGh-p0khnw5NXC4wKqXLr3P6hYI.
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3125",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "168",
    "contadorColor": "1579",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\najustes, limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12753",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADmAPMDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA\/EAABAwMCAgYJAgQGAQUAAAABAAIDBAURBiESMRNBUWFxgRQVIjKRobHB0SPwM0JS8QcWJENi4ZI0U3KC0v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADURAAIBAgMFBwMDAwUAAAAAAAABAgMREiExBBMiQVEyYXGBkdHhobHBI0LwFCRSMzRTYnL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAERc5p4aaIyzysijbzc84AQN2Oij1ddS0EXSVdRHC3qL3Yz4DrWfqNR1l1nfRafpy88nVT9mt7xn7\/BdaDR8DZfSrrO+vqDueMnh\/J8\/grMCXaMu\/lN2pK\/fy+Tm\/VlTXTuhsltfVcPOR+zf34kL50esqs7y0tEDzAwf\/wBLSxRRwxtjijbGxow1rRgDyXtMaWiG4nLtzflkZj1JqU7m\/AE88NK+Oj1Za+FzJYblED7TSMO+3yJ5clqEXMb5o7\/TRWkmvNlPY9Qw3gPiewwVcX8SF3PvI8\/grhZjVNEaF8d\/omBtRA8dL7OQ9p2ye\/qz2FaCjq4q6jiqoTlkrQ4d3ckkrXR2jOV3TnqvqjuiIoGgIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIior5qIULxQ0MfpFfIeFrW7hh7+\/lsupNuyIVKkaccUiXeb5S2aAOmy+V\/8OFvvO\/AVLTWS4ahkbW32V0cGeKOkZtgd\/Z9fBTLLpx8FR6yusnpVe\/f2jkR+HePgOpaBTuo5RM6pyrcVXJdPf2OVNTQUcDYKeJsUbBgNaMBdURVmpJJWQREQ6EREBHrofSaCogwD0kTmjIzzCp9FTPm080PJPRyuaCTnv+6vJ39FTySf0MJ+AVBoaPg0+XYx0kzneOwH2U12GZpf7iNuj\/Bo0RFA0hERAEREAREQBERAEREAREQBERAEREARFQaivstI9lttrOlr59hw79GD1+P912MXJ2RXUqRpxxSPOoNQPppRbLY3prhL7Ps79Hn7\/TmV30\/p9loiM0zumrZd5JTvjPUPz1pp\/T7LREZpndNWy7ySnfGeofnrV0pykksMSmnTlKW8qa8l0+QiIqzUEREARF5c5rGF73BrWjJJOAAgPSKJHdbdNMIY66nfITgNbICSewdqlpaxxST0ZW6hn9G0\/WyZxmItB73ez91y0vTCm07SNxgvZ0h7+I5+mFVa5uUQoGW+KRr5pJAXsacloHb54XOltF5vdNGK6pdQUTQ0R08bcOLRyz2bdvwVyjwZ5GGVX+4eFXaVjQ1l7tlAcVNbEx39IPE74DJXymv1qq3hkFdC57uTScE\/FRaPSVmpMH0bp3D+aY8WfLl8krNJ2iqgexlK2CQj2ZI8gtPhyPgo8HeW32nWy8M\/uXSLO6YrqtstTZ693HPR44XZySzvPmPj3LRKElZ2LqdRVI4kERFwsCIiAIiIAiIgCIiAIiIAiKvvV2is9vfUyEF+MRsJ993YupXdkRlJRTk9CNqK+C0UzY4B0lZPtFGN8d5H7yV50\/YzQNNbWnprhPvI92\/DnqH3UfT9olml9d3U9JWTe1G1w2ib1bdR+i0anJqKwoz04upLez8l07\/EIiKs1BERAERQbxc4rRbpKqQjIGI2n+Z+NgupXdiMpKKcnoRr\/fY7NTgMAlq5dooe3fme76qsg0zW3Rzam\/VsjwTxNpmO2b3HqHkPNd9PWmSok9eXTL6ybeNjhgRN6sDw5dgV\/PPFTQvmnkbHGwZc5xwArL4co6mVQ33HU05L8spp9IWR1MWCnMPCCelEhyO85P1VNT3K5SxepbNVOrZG56Sse3hDB2NOTt2H4KQ99frCd7IHupbSx3C52Pam3\/fcFOu01NpmxejUEfBNKOjhDRlznHm4ntGfopK+jzZRJRd5wWGK5rK\/h7+hR6ftMU2qZHMlM0dCcvlO3HJvuO7Oevqyt4qnTdpFotLInAdNIeOU955DyGPmrZQqSxM07LS3dPNZvMIiKs1GYpv0f8Q6sDYT0wOO3Zv4WnWXosTf4h17sZEVOADjrwz8lahTny8DNs2kv\/TCIigaQiIgCIiAIiIAiIgCIiA8SyxwQvmleGRsBc5x5ALK26KTVF7dc6gEUNI7hp2Fuz9+f0J8gvd9qZ73dWWGiLxG0g1jxyA2+nzOFpKSlioqWOmgbwxxN4WhWdld7Mj\/AF6lv2x+r+DsiIqzWEREAREQHxzg1pc4gADJJ6lkqRrtW3w1krXerKM4iaduN+x3Hz8MBTNV3CQRRWek3qq72efutJx89x4ZVpR0tLY7U2LjDIYG5fI7Az2kqxcKvzZkn+rUw\/tjr49PySKurgoaZ9TUyCOJgySVlQ2r1lWh7w+ntELvZHIyn9\/DxRsc+sbl0rw+O0QHDQdjKR+\/Id61sUUcMTYomBjGDDWtGAAu9jxOZ7Q\/+n3+DwG09DSYaGwwQMztsGtAWatsbtSagN4lDhSUh4adrm7PIzg+R3+CXmsk1BcWWW3PcYGuzVyt5YyNs92\/iVpaSkhoaSOlp2cEUYw0LnZXex\/rTsuzH6v2R2REVZsCIol0qvQrXU1O+Y4nEY7cbfNErnJNRTbKPTR9Lv8AeK8NwwyCNpJ3O5\/AWnVDoyk9G09G8tAdO50h+g+QV8p1O0UbMmqSb55+uYREUDQEREAREQBERAEREAVVqG7G02wyxAOqJHCOFuM5ce7uH2Vo5wa0ucQABkk9SydsjdqbUD7tMP8AR0h4Kdhbs877+XP4KcEtXojPXm0lCOr\/AJfyLPTNnNqt\/HNvVVGHykjcbe75b+ZKukRRbbd2W04KnFRjogiIuEwiIgC8SyshifLI4NYxpc5x6gOZXtZzWFTM+np7TSnM9dIGkf8AHP5x5ZUoq7sV1am7g5HHTsRudyqtRVWAC4sgDv5GgYzz7NviuFVLNq+6ikpnOZa6Z2ZZB\/uHPV9vj3LzX8dR0Ok7QcNhaPSZs7YHPPmcnv2WqoaKC3UjKWmZwxsGO8ntPerJO2foYqdN1Fu+S7T6vmjpBBFTQMghYGRxjha0dQWf1Dd5p5fUlq\/Uq5tpXtP8JvXv+8L3e73MagWi0DpK6TZzxyiH5+im2SyQ2anIB6Sok3lmPNx\/Cilh4mXTk6r3dPJc3+F3\/Y92WzwWahbTxYc87ySYwXn8disURQbbd2aYxUIqMdAiIuEgs5rSd3qyGgiBdLWTNY1oPPBB+uFo1lnH1rrxrccUNujzywOL+5HwU4a36GbaXwYF+7L3+ho6WnZSUkNMz3YmBg8hhdkRQNCVlZBERDoREQBERAEREARFyqaiOkppamZ3DHE0uce4Icbsrsz+rquWVkFlpCDUVrhxDOMMB+5HyKvLfRRW6hipIR7MTcZx7x6yfEqh0rDLcKmpv9W3D5yWQtySGtHPGfh5HtWnVk8uEzUFjbrPnp4fOoREVZqCIiAIiIAvzmpvMlXqGpqqfMk5\/wBPRNaM4yccQ8snxctpqCt9AsdVOHcL+DhYf+R2H1z5LJaabRWaldebmeF7stpY8e24Y3IHfnGeXxV9NWTZ5u2ScqkaadubfQ1Fgs8dmoMykGpkHHUSE537M9gVbXXyrvdSbbYCQP8Adq9wGjuPV48+xcRT3jVjg+pLqC25y2Me88ffxO3ctPRUFNbqcQUsQjYOzmT2lRdk7vNlkFKpFQhww+r\/AJ1IlksdPZactj\/UnfvLK7m4\/YKzRFW227s2QhGEcMVkERFwkEVdd73R2aEOqX5e4Hgjbu5348VSdFqLUTw6RxtVHzDWk8bvoT8h3KahfN6FE66i8MVd9F+ehoq24U1DBJJNNG0sYXBrngF2BnAVHoqAuoqm4yFpmq5S44OSACefZuXfJU1905R0D6OjpHTTVlXJjie7OB24A7\/kVaaMjDay59A94pI5AyJhdkE75OO3ACswpQdmZFVnPaYqS09v56mrRFRXbVVJbpvRYGOq6o7COPkD3n7BUqLeSN86kaavJ2LqWWOCJ0sz2xxsGXOccABZuq1LVXCf0TT1MZ3cnVD2ngZ8fv8AArzHYrle5xU32oLIPebSROIA8ez5laOlpKeigbBTRNijbya0KfDHvZRerV04V9fgUjJ46SJlVKJZw0CR7RgOPXsi7IqzSlZWCIiHQiIgCzWp5ZLjWUtgpT7Ux6Sc5xwsG4B+GfIdq0FTUR0lNLUzO4Y4mlzj3BUWlaeSoNTfKpuJ61x4B\/TGOQ+XwaFOGXEZq\/G1SXPXw+dC9pqeOkpoqaFvDHE0NaO4LqiKBoSsrIIi+EgDJOAEOn1FRUuozcb36FQU\/TU8f8WozsNjy88eO\/irOvudHbYukrKhkQ6gTu7wHMqTi07FUasJJyTyRKXCrrKahhM1VOyFg63HGfDtWcl1PX3NxhsNvkfk4M8rfZH2+J8lGrLCKOimu1\/q3VszG+zEHENLjyGeeM9mFJQ\/yKJbTdN01fv5fPkRL7en6mrKe121p6Ivzl4xxu337gBlXln0jT0Lmz10npk4ADeIZazHLAKz+hqXp72+pcNoIyQcfzHb6ZX6Ep1Hh4YlGyU1WvWqZsIiKg9MIiIAqK96iFHL6voIzU3B+zWNGQzPWe\/uXO+32YT+qbQ0y10mznN5RD8\/RSrHp+C0MMr3dNWSD9WZ2+\/MgfvdWJJK8jLOpKpLBT837d\/2Itm026Gc3G7SelVz9\/a9oR\/9\/IdS0KKl1VcvVtkkLDiWf9Jm++43PwXM5snaFCm2tEZi4XVlRdK+8RnIp2iCkOebjkcQ8BxO27QtFavR9M6ch9YSiJ7svc08y478IHWQMBYmirWsnpmMp5JxB7UULf8AclON3Y5jqx1gAdq11v05UV1SLjqB\/TykexT\/AMrB2H8fVXzSSs9DzNmnOcnKKu\/or6v8LwOBnvOqzw07Tb7YTgyH3pB9\/LbvKvbVY6G0RBtNEOkI9qV27nefV4BWDWhrQ1oAAGAB1L6qHO+S0PTp0FF4pO8uvt0CIigXhERAEREARFyqaiOlppKiZ3DHG0uce4IcbtmzP6llfcq6k0\/TuIM7hJUOH8rB\/YnyHatFFEyGJkUbQ1jGhrWjqA5BZzSUUtZJWXypbiSreWs7mDqHdsB\/9VoppoqeMyTysiYObnuAA8yrJ5cJnocSdV8\/ty9zoiz9brO10xLKcyVcm+BE3bPiftlRvTtUXU4pKNlvhJ\/iS+9gjv8AsFzA+eQe0072jm+7M00s0UDDJNIyNg5ue4ALGaq1G2tY22Wt5mEn8R8efa3xwjtXK+WM0Fv9KuVfNXVkhbHFHk44vqQB4fNX+mLGy029r5WA1Uo4nuLd2ZHu+X1U0oxWLUzzlWrSdJLCufNlNa6LUElJHTUMDbVSEZfI7Bkeesnrz5BWlBo23wHpa0vrpycudITjPh1+eVoUUXUb0yL4bLTjbFnbr7aHljGRsDI2hjWjAa0YAWSus7dQaiba+IijoeKWcg+8QN\/gTjzKtNUXoWi2kRn\/AFE+WR4O7dt3eX1wqbTdOaXS9yukhzJPG\/hJG+Gg9feSfgpQVliKtoqKU1RWmr8FyJ2h4+K31VYWgOqKgnYdQ\/7JWmWP03frda7ZR0M8hEsxc5xAyGEuwM9mRutgo1E8TLdklF0kk9NQiIqzUFnL3fp5KkWiy\/q1kmz5G7iIePb39Xio2qtTCAerqCQOmftLI05DB2DHX9F90gHUzvRm2eeEOj431ku3GdtsY5dwJVsYWWJmGpX3lTdQfi\/wvct7JZIbNTkA9JUSbyzHm4\/hWiKDdLvR2imM1VJgn3GDdzz2AfdV5yZqShSh0SJj3sjYXyODGtGS5xwAsDeJKnVl+FPbh0kEA4WvOzR2uPn9AoF61HXXuTod46cu9mFm+ezPaVu9P2dlmtrYcZmkw6Z3\/LHLwCutuld6mB1P6yW7j2Vq+p4senKOyxhzR0tSR7Uzhv4AdQVuiKltt3Z6EIRhHDFWQREXCYREQBERAEREAWU1zdhT0TbdE\/8AUn3kwdwwfk\/QqTeb9UuqxabMwyVjjh8mPZjHI\/36lUaOtZq7nU3CqPpDYXFrZH+1xv6zk92\/mFdCOHiZ59es6j3NPnlf7kqkrb9W08dJaKEUVLHGGtnnbgkdoz9gfFSoNHMmIlu9bPWy43BceEdwPP6LSoouo+WRctmj+94vt6EWktlDQD\/S0sUR\/qa3f481KRQrxW+rrTU1Y96Nns\/\/ACOw+ZChm2XvDCN9EihIOoNZdTqO2DcEZBf\/ANkfBq1aotIUJpLGyV5Jlqj0ric535fLfzV6pTedlyKtmi8GN6yzC4VlZBQUklVUv4I4xkn7BdJZY4YnSyvDGMGXOccABZLin1nXlo44bRTv3PIyu\/sfIeKRjfN6Ha1XBwxzk9Cpujam5W6e+1wc0PeIqWMjYNznPwz8yry+VlLadJxW7OZpoGsazO\/e4rxrt8cNro6ZnAAJciPuDSPhuuEtjnks1dd7t7ddLEXNY7lCPDtx8PFXXTSbPNcZQnOMc3bN\/V\/B4t+k4qzTDZ4nf6ybErHHYDGcN\/fXjsVgNUV1CwQXCz1BmZsXxglr+8ZCstMuDtOURH\/t4+ZVqq5Tzalma6VC0IypuzsjMHUl4qTw0Ngm7nyk8P0A5d6pL1U6hmqIKOpqA2efb0SnfjAPLixtv4nyWr1FevU9COiAfVTHhhZz37cdy5aesbqFhrq49LcKj2nvduWZ\/l\/KlGSisViupTnUlu8bfXkl6cz1YdOUtopmOfGySrIy+UjPCexvYFdKLX3OjtsXSVlQyIdQJ3d4DmVjrtqaruLOGJzrdQu\/3HD9SUdwH227SoKMpu5fOrS2aOFehdXfVDYJjQ2uP0usJIJb7seOeT3fAdayLoJrnVvJqfSqho4p6p5\/ThaOw9f7wOtWFnsFTdogGNdRW483\/wC5P49v0HeclS6iOOvq49OWXEdFHvVTM3zg9Z6\/z3BXLDHJHn1N5WSlPR6Lr4e78jlo6zMkuUlxw51NAS2Bz244zy4vhnzPctyuNJSxUVLHTQN4Y4m8LQuyonLE7nqbPRVGnhCIigXhERAEREAREQBVmoa91uslRUMJD8BrCOYJOM+WcqzVPqqldVaeqWsbxOYBIB4Hf5ZUo2xK5VWbVOTjrYpZI4tPaPdLkiuuDAHPz7RLt\/kCfNaGw28WyzU9Mc8fDxPz\/Udz+PJZejqnamu9spwCKeihEkoPW4c\/mB81uVOpdKzMuyqMnjjolZfkIiKo3hZzXMpZYRG0nM0zW4HXzP2C0azGtfajtzD7rqkZH78VOn2kZtqf6MjRU0Laaligb7sTAwbdQGF7c5rGF73BrWjJJOAAuNbXU1vp3T1UzY2DrPM9wHWsvJNcdYTmGmD6S0tOHyEbyY+vhyHX1JGLeb0JVKqp8MVd8keqyqqNW1hoLe90duiP68+McfcPx5q1r7hQaWtTI42DIHDDCDu89p+5UWqvVusFMy22uIVNQPZZDF7XtdriOZz1c0tGn5JKk3W9frVrzlsZ3bF2ef0U3a2ehmi5Ymou83q+S\/nT1KeosFyuVsqrvcHPNW9odFA1mSGjqx1eH1JWioa+K\/6dk6Nw6R8LopW75a4twrlZ6u0xIKqSss9a6hneN2D3HHfOcePeuY1LJktw6TvBXvr1fefdFS8en2RHIdDI5pB6snP3V7NK2GF8rgS1jS4gDJwFgHevtK1bpnmEisJ4jzj4s8zjGOf1VrP\/AJsulG6mmoqNkMrcOcHjcduzj8l2ULu98iFHaHGnu8LxLu9DlbJ4ay5Saju87IImkto2SOAy0ZHLmcfXKXLXPG4w2xjWjrnn5Dwb+\/BRKfQNc9w9JqoImnOeDLiOzs+qv7fo61UXC6SM1UgG5l3b\/wCPL45Um6ad3mU047U44UsPV82ZGmo669VHS08c1ZKT7VTU+43uAOR9fBay16TpqZwqLi\/06q7ZN2N8Aefn8lfNayKMNY1rGNGwAwAFnbpqV00xtlkHpFW\/2elaMtZ356\/HkFHHKeSLlQpUFiqO7\/miPd7vcoqG2e0APrZPZLhyiH5x8FOsVmislB0DDxyPPFLJj3j+Auen7Eyz0vFJiSsl3ml5+Q7vqrdQk1bCjRSpyb3lTXkunz1CIigaQiIgCIiAIiIAiIgC41dRHS0ktRMR0cbC52ewBdlndZVThb4bdCT01bKGADsz8eeApRV3YqrT3dNyKGxi62+D11R0jZ4ah7hLBG3B4R1jbYZzyzyWotmp7Zc2gNmEEuN45iGnyPIqyo6ZlHRw00fuxMDBtjOBzUG4actdyeZJ6UCQnJkjPCT445qblGTzM9OjVoxSg79U\/wAMswQRkHIK+rMf5LEQ4aS71kDRyGc\/TCf5QnmwKy+1k7ezJH1JUcMepZvK3\/H9UX9TcKOj\/wDU1UMJ7HvAKymoLvT3+JtutUE9XM14cJWAta38+eB15VnTaKs8J4pWS1Dusyv\/ABhXVNSU9HH0dNBHCzOcMaAupxi7rMjKFaqsMrJPzZiqjSuoat0NRVVENQ9g9yWQnHdywrJtj1FVtbHV3ZlNABjo6dvDt2bADt6ytSiOq2cjsdNPV+pW2mxUNnjxTR5kPvSv3cfx5KyRFBtvNmqMIwVoqyCIi4SI9bRU9wpX01TGHxvG47O8d6zUdPqHTeYqRguVCCS1n8zB3defDI+K1qKSlbIpqUVN4k7PqjMf55o4gG1dBWQS43Zwg4+JH0T\/ADpHUjgttrq6mX+ktAA79srTou4o9CG7rf5\/Qy7rdqG+t4LlMygpifahh3c4d+5+vkry3WqjtUHRUkIYP5nHdzvEqYi45N5E4UYweLV9WERFEuCIiAIiIAiIgCIiAIiIAsrGfW+vHvzmG3MwPa\/m\/uT\/AOPktJWVLKOjmqZPdiYXnfGcDkqPRlK9lslrpQelrJS8kjGQOXzz8VZHJNmWtx1IQ835fJokRFWagiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAzutah7LOyljBL6qVrMcthv8AXCvKOmZR0cNMwANiYGjHcFnLsPWGtbdR8OWUzeldk7Z5\/Zq1KsllFIy0uKrOfl6BERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgKqksvo9\/rLq+YSGdoaxuN2jAzv5K1RF1tshCKisu8IiLhMIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "losorio@mejillones.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENIMIENTO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:43",
    "ubicacionGPS": "LatLng(lat: -23.1010126, lng: -70.4523358)",
    "horaLlegada": "15:02",
    "horaDespacho": "16:13",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


26/05/2026 16:43:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[26/05/2026 16:43:00] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69020400', 'EP3125', 1, 21773342, 168, NOW(), 
				'16:13', '15:02', '16:43', 3, 'Mantenimiento
ajustes, limpieza', -1, 
				'', '','1','1579',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779828180.png', '', null, 'COMPLETADO','LatLng(lat: -23.1010126, lng: -70.4523358)' )
				
[26/05/2026 16:43:00] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200439

26/05/2026 16:43:00 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200439'                    
				WHERE idllamado = 12753			
				TO ENVIO: micorreo@miempresa.cl, losorio@mejillones.cl


26/05/2026 16:43:00 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12753			
				
26/05/2026 16:43:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


26/05/2026 16:43:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:43:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:43:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:43:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:43:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

[26/05/2026 16:43: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;
                

26/05/2026 16:43:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16:43:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16:43:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

[26/05/2026 16:43: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;
                

26/05/2026 16:43:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:43:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

[26/05/2026 16:43: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;
                

26/05/2026 16:43:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16:43:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:43:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12753
            GROUP BY l.idllamado;
            

26/05/2026 16:43:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

[26/05/2026 16:43: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;
                

26/05/2026 16:43:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:43:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                

26/05/2026 16:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12753
                
[26/05/2026 18:22:10] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[26/05/2026 18:22:10] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

[26/05/2026 18:22: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;
                
[27/05/2026 09:43:07] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[27/05/2026 09:43:07] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[27/05/2026 09:43: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;
                

27/05/2026 09:43:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

[27/05/2026 09:43:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 09:43: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;
                

[27/05/2026 09:43: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;
                

27/05/2026 09:43:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12727
            GROUP BY l.idllamado;
            

[27/05/2026 09:43: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;
                

27/05/2026 09:43:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

[27/05/2026 09:43: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;
                

[27/05/2026 09:43: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;
                

[27/05/2026 09:43: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;
                

27/05/2026 09:43:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

[27/05/2026 09:43: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;
                

[27/05/2026 09:43: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;
                

[27/05/2026 09:43: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;
                

[27/05/2026 09:43: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;
                

[27/05/2026 09:43: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;
                

[27/05/2026 09:43: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;
                

27/05/2026 09:43:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

[27/05/2026 09:43:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 09:43:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 09:43:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 09:43:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12746
            GROUP BY l.idllamado;
            

[27/05/2026 09:43:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 09:43:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 09:43:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 09:43:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 09:43:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 09:43:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12747
            GROUP BY l.idllamado;
            

[27/05/2026 09:43: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;
                

[27/05/2026 09:43: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;
                

[27/05/2026 09:43: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;
                

27/05/2026 09:43:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

[27/05/2026 09:43: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;
                

[27/05/2026 09:43: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;
                

[27/05/2026 09:43: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;
                

[27/05/2026 09:43:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 09:43:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12747
            GROUP BY l.idllamado;
            

[27/05/2026 09:43:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 09:43: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;
                

[27/05/2026 09:43: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;
                

[27/05/2026 09:43: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;
                

[27/05/2026 09:43: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;
                

27/05/2026 09:43:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

[27/05/2026 09:44: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;
                

[27/05/2026 09:44: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;
                

[27/05/2026 09:44: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;
                

[27/05/2026 09:44: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;
                

27/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

[27/05/2026 09:44:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 09:44:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 09:44:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 09:44:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 09:44:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

[27/05/2026 09:44:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 09:44:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 09:44:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 09:44:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 09:44:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 09:44:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12747
            GROUP BY l.idllamado;
            

[27/05/2026 09:44: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;
                

[27/05/2026 09:44: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;
                

[27/05/2026 09:46:52] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 09:46:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

[27/05/2026 09:46:52] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 09:46:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

[27/05/2026 09:46:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 09:46:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

27/05/2026 09:46:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:46:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09: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 = 12741
                

27/05/2026 09: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 = 12741
                

27/05/2026 09: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 = 12741
                

27/05/2026 09: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 = 12741
                

[27/05/2026 09:47: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;
                

27/05/2026 09: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 = 12741
                

27/05/2026 09: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 = 12741
                

27/05/2026 09:47:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

27/05/2026 09: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 = 12741
                

27/05/2026 09: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 = 12741
                

[27/05/2026 09:47: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;
                

[27/05/2026 09:47: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;
                

[27/05/2026 09:47: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;
                

[27/05/2026 09:47: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;
                

27/05/2026 09:47:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/2026 09:47:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/2026 09:47:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

[27/05/2026 09:47: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;
                

27/05/2026 09:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:47:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

[27/05/2026 09:47:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 09:47:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 09:47:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 09:47: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;
                

27/05/2026 09:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

[27/05/2026 09:47: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;
                

27/05/2026 09:47:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

27/05/2026 09:47:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

[27/05/2026 09:47:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 09: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 = 12741
                

27/05/2026 09: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 = 12741
                

27/05/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 = 12741
                

27/05/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 = 12741
                

27/05/2026 09:47:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

[27/05/2026 09:47: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;
                

27/05/2026 09:47:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:47:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

27/05/2026 09:47:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:47:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

[27/05/2026 09:47:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 09:47:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 09:47: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;
                

[27/05/2026 09:47: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;
                

27/05/2026 09:47:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

[27/05/2026 09:48: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;
                

27/05/2026 09:48:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/2026 09:48:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/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 = 12742
                

27/05/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 = 12742
                

27/05/2026 09:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

[27/05/2026 09:48: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;
                

[27/05/2026 09:48: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;
                

[27/05/2026 09:48: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;
                

[27/05/2026 09:48: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;
                

[27/05/2026 09:48: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;
                

27/05/2026 09:48:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

27/05/2026 09:48:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

27/05/2026 09:48:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

[27/05/2026 09:48:11] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 09:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

27/05/2026 09:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

27/05/2026 09:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

27/05/2026 09:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

27/05/2026 09:48:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

27/05/2026 09:48:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

27/05/2026 09:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

27/05/2026 09:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:48:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

27/05/2026 09: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 = 12741
                

27/05/2026 09: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 = 12741
                

27/05/2026 09: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 = 12741
                

27/05/2026 09:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

27/05/2026 09: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 = 12741
                

27/05/2026 09: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 = 12741
                

27/05/2026 09: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 = 12741
                

27/05/2026 09: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 = 12741
                

27/05/2026 09:49:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

27/05/2026 09:49:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:49:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:49:35 - logentry: =========================================
FECHA: 27/05/2026 09:49:35
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-nYHKK.z8DsBbHHUAje8bOdTL+-MbAvfxOt6vJ2jLYWszMswaWXs
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2762",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "13827",
    "contadorColor": "45970",
    "contadorScanner": "0",
    "detalle": "•Entrega de tintas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12741",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD5AR4DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABKEAABAwMBAwgGBQgJAwUAAAABAAIDBAURBhIhMRNBUWFxgZGhFCIyscHRFSNCgrIzNTZSdMLh8AckQ2Jyc5Ki8RZT0iU0RFTi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgECAwUGBgMBAQAAAAAAAAECAxESITEEMkFRcRMiYaGx0TOBkcHh8BQjQmLx\/9oADAMBAAIRAxEAPwD+zIiIAiIgCIiAIiIAiIgCnrlqYioNDZofTavOHYBLWdfX4rxu10qrtXOstndjG6oqBwYOcZ\/nK2LTZqSz0whp2ZcfblI9Z56\/krElFXZlc5VXhpuy4v2OyFz3QsdKzYkLQXNznZPOMrKv0V5AjqrTUNHIgl8BbnlPn2bvFbCKCdncvnDFHDcy7He4b1Sl7Ryc8e6WI\/ZPyWopW9RGw36nvEGWU9Q\/YqgBnPX3+8KpBBGQcgqUktVoV0Zyd4T1X7c+oiKBeEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAWBqi7y0kLLfQ5fXVW5rWjJa05GR1\/x6Fs1dXDQ0slTUP2I4xknyHmp3TNLNca2bUFdHiSQ7NO059VuMZHVzeKnBf6ZmrybapR1fkjXslois1ubTMw6Q+tJIB7Tv53LRRFFtt3ZfGKhFRjogiIuEjN1DRtrrHVREZIYXt7RvC8tLVhrdPUr3EF8beTdj+7uHlhazmhzS07wRgqa0ESbFKDzVLgP9LVYs4MzSy2iL5p+VimREVZpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIvGrqWUdJLUyEBkTC45PQEONpK7JzULn3m901gilDYx9bUHG8biQOPR7wqaKJkMTIo2hrGNDWtHMBwCntI0kj2VN5qQeWrXktzzMz8T5AKkVk8u7yM+zrEnVesvTgERFWaQiIgPOokMVNLIOLGFw7gsDQzNnT5P60zj5AfBaOoKtlHYquVxG+MsaCeJduHvXnpilNJp6kY7Ic5nKEH+8c\/FWLcZmlntC8E\/M1kRFWaQiIgCIiAIiIAiIgCIiAIiIAiLhul2pLRTGapk3\/ZjHtPPUF1K+SIykoq70O5FLsq9TXtnK0LIrfTEnYdKPXc3p3g+4ce9fXU+q7f8AXsq4q9owXw4AJ7Mj49yng8Sj+RfNRbXO36ynRZVlv9NeI9kAw1Lch8LuIxxx0haqg007MvhOM44ovIIiLhIIiIAiIgCmdXSS1bqOy07sPq5AZOpo4Z6sgn7qplL2QfSmqbjdHAFkB5GHm6s47B5+E4Zd7kZto7yVNf69OJSU8EdNTxwRNDWRtDWgDC9ERQNKVsgiIgCIvxLKyGJ8sjg1jGlznHmA4lATOqHuuVzoLHE44keJJsb8N\/4yfBU7WtYwMaMNaMAdAUxpgS3W6119mZhrzyUAPFo\/4wPFVKsnlaPIy7P3sVXnp0WgREVZqCIiAIiIAiIgCIiAIiIAiL45wa0ucQABkk8yA4L1dorPbn1L8Ofwjjz7bv54rHs1ikr5mXq9OM08gDo4XDDWDmyPh8V40AOqNROuUjCbfR+rC149p27iO\/Pgq5WvuKy1McF28sct1aePj7BERVGwmdS2l8Lm3u2sDKunO1IGt9tvOe33jK27XcIrpboquI7nj1h+q7nHiuogEYIyCpnS59Cu10tIJ5OKTlIwTwB\/hsqzej0MrXZVk1pL1KdERVmoIiIAiIgOS61YobVU1OcGOMkb+fm88LM0bSCm09E8jDp3OkPjgeQC8dbzOFoipY8l9TM1uM4yBv8AfhUFPC2mpooGezEwMb2AYVmkOpmXe2h\/8r1\/8PRERVmkIiIApnWFbI+Ons1JvqK1w2h0Nz8T5Aqgq6qKipZKmd2zHE3acVOaapZ7ncJdRVzdl8mWQR43NGAMjuyPFWQy7z4GXaG5WpR1fpxKGgoo7dQw0kPsRN2c9J5z3nJXQiKvU0pJKyCIiHQiIgCIiAIiIAiIgCIiALA1XWTNpYrXSYNRXu5MDO8N5+7m8VvqUtDBfNVVd2c4SQUh5On6O0dXE9rlOC4vgZtobaVNayy+XE37Vb47XboqSIbmD1jxy47yV2Iii3fM0RiopJBERcOhSsEnomvLiQMh8DTjPUxVSkZf06rP2Zv7qsp8ehl2nLA\/H7MrkRFWagiIgCIiAl9Q4q9U2ahxnYcZXNxnIznf\/oKqFMRH0j+kOYf\/AFqbn6w3h\/q96p1ZPRIzUM5Tl4+mQREVZpCIpjUV2qKqqbY7SS6okOJnt+wOjPvPMpRjidiqrVVON2eNwlk1Re22unOKGkftVLw7c\/fw94HeeZVUUTIYmRRtDWMaGtaOYDgFyWm1U9oom01O3fxe8je89JXcuylfJaEaNNxvKe8\/2wREUC8IiIAiLznnhpojLPKyKNvFzzgBA3Y9EU9PrO3iXkaKKetkwSBGwgee\/wAl4DVV0IyNMVZB63f+Cn2cuRne1UVx+l36FQiwaHVtDU1RpamOWinBwGzjGT0dR7V43LVD\/TDb7NTemVI9pw3tafj28EwSvYPaaWHFf96FE97I2F8jgxrRkuccALidfbUx2ybhTk52fVeDv7liQaXrbjM2qv1c+RwOWwRuwG9\/Ad3itOPS1kibsigYetxLj5ldtBas4p155xikvHXyNKCpgqoxJTzMlYftMcCF6qXrtLut39esEkkU8Z2jAX5a8dG\/4rWsl4ZeaLlgwxyMOzIw8x6upccVa6JQqvFgmrPyZ56muBt1inlYMveOTZ1F27PhlfrTtu+jLLBA5mxK4bco59o9PZuHcsu+\/wDqmqLdahvjh+ulBHfjPYPPwqF15RSIQ79aUuWXuERFWagiIgCmLKTUayvFRnIYBFkcOYY\/2+9Ur3tjjc95w1oJJ6ApvRTHy01bcHjDquoJ45Jxv97ipx3WzNVzqwj1f0X5KZERQNIREQBERATGn\/rtVXuf9R4j8yP3VTqX0aA6a7Skes+p3+fzVQp1N4zbL8JPnf1CIp++6hdBKbZbGGor5PV9ThFnn7fdzqMYuTsi2pUjTjikfm\/X2ZtQLRaWmSul3OcP7IfPHgu6yWSGzU5APKVEm+WY8XH5Lx07YG2mF0855StmGZZCc4zvwD7+kraU5NJYYlVKnKT7SprwXL88wiIqzSEREARFPX69TmoFntIL66Xc97eEQ7enHguxi27FdSpGnG7P1etSijqBb7fF6VXv3Brd4YevpPV4rng0pNXbFRfa6aokwDyLX4a3dw\/4wtKx2Kns1PhuJKh4+tmI3nqHUtVTclHKJQqLqd6t9OC9zwpaKloYhFSwMiYOZo\/nK90WBqa7SwNjtdB61bWeoMHexp3Z6v8AkqKTky+c40oXM3UEx1HXttNshildEcy1LuDOO7PR7116J5JlBPT+jsiqYJS2Zw3lx6z3Y3HG5atktEVmtzaZmHSH1pJAPad\/O5ZGnjs6pvbGewX5Pbk\/MqxtOLitEYlCUasak9ZeWRUIiKk9EKXtTW0+u7rBHuY+ISEdLjsknxcfFVChrlWeg6nvk2QHGiDG56XCMD3qymr3Rk2qShgk+D+zNHS39fu91u7t4fJyUZ\/u8fcGqoWRpaj9C0\/TNIw6Qcq7728eWFrrk3eRZs0XGkr6vP65hERQLwiIgMPV1aaSxSRM3y1RELQDv38fLd3rvs9F9HWmmpD7UbPW\/wAR3nzJWFUht91pFBsF1NbW7TzzF\/H34HXslVSsllFIy0u\/VlU5ZL7+YREVZqCIiAIi853bFPI\/ONlhOejcgZOaE9a1VMvDbqTu6PVb81TEgDJOAFH6Yu1DZ9NmSrlDC+Zzmsbvc\/cBw7l+z9L6td6u1QWs9PtSj4+7tV043k29Dz6FZQoxis5W0\/dD2uF\/qrnUm2afHKPI+sqfssHUfj4LTsligs0BIPK1Mg+tmPFx6B1Lrt9tpLXTCCkiDG8553HpJ511KDllZaGinSeLHUd35LoERFA0BERAEREBmX+7ts9sfPxlf6kQ\/vY49gXNpqzvoYH1tYCa6qJdKXHOyM5x8\/4LPo2HUupZK+QbdvoiWQggFr3dPx8FWKyXdWEyU\/7Z9o9Fp7hERVms86ieOmp5J5XBrI2lziThTelaeSuq6u\/VOS6d5ZBtczM78eQ7ivTV1TJIyls9Pnla14DiOZoPz9xW\/TU8VJSxU0LdmOJoa0dQVm7HqZX\/AGVvCPq\/ZH4r62O3UM1XN7ETdrHSeYd5wFjaOpnttstfN+VrpTIcjmycdfHJ71yXyd2orrFY6Jx5KF+1VScwxux3b+\/HQqmKJkMTIo2hrGNDWtHMBwCPuxtzEX2tbEtI5fPiftERVmoL+Z3dzrpqqeOFw2aidsGWkHONluezdlXd+uH0ZZ6ioHt7Oyzfj1juHz7lH6atzWalpGOaduGn5aUEcCRkeTmq+lknI8zbXjlCkuf79y\/YxscbWMGGtAAHQF+kRUHphERAFwXm5R2q2TVT3YcAWxjHF5G4LvUjKDqvUQiG+20ByXbO6R2Rkd\/uz0qcFd56FFeo4xtHeeS\/fA0tJ251FavSJh\/WKs8rISMHHMPj3lbiIot3dyynBU4KK4BF8JAGScALhqr3a6LPpFdC0t4tDtp3gN6JN6HZSjFXk7HeimZdaQyyGK2UFRWydQ2R8T5LzEerbsAZJIrbC7Bw3c7Hmc94U+zfHIoe0weUE5dPfQ3666UNtjL6upZHj7OcuPYOKmqzUdyu8E7LPROZTNY7lKiUc2N\/UPMrvodG2+B3K1jn105OS+UkDPZnf35WldmMjsFcyNoY1tLIA1owB6pXU4p5ZkJqtOLcnhXJa\/X2J7SFgt89ujuFRDy0rnOwH72twccPmq8AAYAwAsbSH6L0f3\/xuW0o1G3J3J7LCMaMbLVIIiKBpCIiAIiIAsbVNw9BssrWE8tUfVRBvEk8fLPktlS94H0hrG20J9aOBvLOHNznf\/pb4qcFd5mfaJNU7LV5fU17BbxbLNT0xzt7O0\/P6x3nw4dy0URRbu7l0IqMVFcAiL45wa0ucQABkk8y4SJmlxX6+qZiPVoodhvad37zl0alvb6NjbfQZfcKjc1rBksHT29Hipy0Xw0ra6WmjM1yuE+I2Yzs8Tk83F3kqiw2H6P2qysfy9wm3ySHfs55gr5JRd2eZRnKpFxhxbbfL82Paw2WKzUWwDtTy4dM8\/aPR2DJWoiKltt3Z6MIRhFRjoERcN4ucVot0lVIRkDEbT9p+NwRK7shKSinJ6GHfXfTl\/pLNFl0UDuVqSCCMbv4j7y\/WmM1d9vFwPAy8mzsyfgAlgpZLVY6y71eTVTsdM4uG8AAkcecnJ7wvfRNPyGnmyFuDPI5\/bzfBXN2i0jz6acqsZS1d38tF6lCiIqD0giLjulzgtNC+rqDuG5rRxc7mAXUr5HJSUVd6GXqi6SRsjtNEc1lYQzcd7Gndnqz81pWe2RWi3R0sYGQMyOH2n43lZOl7fUSySXu45NVUjDAfss3YOOb5dqpFOTssKM1FOb7WXHTwX5CIirNRj3bTdJeatk9TNO3YYGhsbgBuJPOD0r802kbLTEO9E5VwHGVxd5cPJbSKWOVrXKXQpOWJxVzzhhip4xHBEyJg4NY0ADuC9ERRLtAuK9fmOv\/AGaT8JXauK9fmOv\/AGaT8JXY6ohU3H0OLSH6L0f3\/wAbltLF0h+i9H9\/8bltLs95kNn+DDovQIiKJcEREAREQBS9pxWa2ulUTkQNETd+4cB+6fEqoUxpY5vl\/wD2kfiepx0bM1bOpTXj6JlOiLMu2oLfZ24qJdqUjdEze4\/LvUUm8kXynGCvJ2RpEgDJOAFMXvUpm5S3WZnpM5a7lJGjLWN58cx7eC8hBe9UPJqS+3W0ndGNz3jr6e\/d1LchtVJbbXNTUcQYHRkFx9pxwd5POrElHXNmWUqlZdzKPPi+nuY2hrdTNtxuGxmoe5zNo\/ZA6OhVSndDva7T+GnOxM4HyPxVEo1N5k9kSVGNuQREUDSfHODWlziAAMknmUkzOrb+XOANsoHEYycSnfg9+PDtXtqK4TXGtZp63uG3N\/7iQbwwccbuzf2451v2+hhttDFSQNAbG0AnGNo85PWVYu4r8WZJf3zwrdWvi+XuZusKj0fTlQBxlLYx3nf5ArutEApbPSQg52YW5PScb1i62zNDb6FpOaipAwOJ5v3lTAADAGAEeUEShnXk+SS+59RF51FRFSwPnnkEcbBlzncAqzS3bNn4rayCgpJKqpfsRxjJPwCmqGnqdV1v0hXsMdujOIID9vrPz7l5tZPrO4tlkY+G007jsjODKfn7gq6ONkUbY42hrGANa0DcAOAVu4vExq+0Su9xef4P0iIqjYEREAREQBERAFxXr8x1\/wCzSfhK7VxXr8x1\/wCzSfhK7HVEKm4+hxaQ\/Rej+\/8AjctpYukP0Xo\/v\/jctpdnvMhs\/wAGHRegREUS4Ii+EgDJOAEB9RZ1Zf7VQ55euiDh9lp2neAWOdUXG5O2LJanvbtbPLTez8h4qahJlE9opxdr3fJZsqCQBknAChrZf6O0Xa9SS7cvL1P1QiAdtes\/fnhzhaX\/AEzc7k5r71dXPaDnkYNw8dw8l4aXoqah1Hc6Ixtc+Egwl4DnBuTvB5vaCnFRSfEy1ZVZ1INLDm9enI9mVmpL8CKaJlspSfyjwdsjq\/gB2rQtumKCgfy0gNVUk5M03rHPSBze9bKKDm9FkaY0Ip4pvE\/H2CIigaCX0vi33e52knAbJykQPO3h7tlVCm9T0FRDPDfLeD6RTbpWj7TP5znq7Fr2q6U13o21NO7j7bCd7D0FWTz7xloPA3RfDTp+DtWFqO+PoWNoKAGS4VG5jWjOwOk9fR4rpvd7hs1OCRylRJuihHFx+S5NO2aanfJc7j69fU7zn+zB5ur4YwkUksTO1ZuUuyhrxfJe506fsjLPR\/WYfVy75peOT0Z6FrIig227suhCMIqMdCYvX9Y1lZ6bjyYMuDwHE5\/2eSp1LtAqP6RH4GfRqbfnmyB\/5rqu2qIKOX0OhZ6ZWuOBGzeAesj3BWSi3ZLkZadSMMc5Pj6ZGpcLlSWumM9XKGN5hzuPQBzqaiprjq2pbUVgdS2tpzHFwMnQfPjw6F027Tc1ZUC5X9\/LzuOW053sYOYEfDh2qlAAGAMALl1DTUlgnXznlHlz6+x+IYYqeFkMLAyNgw1rRuAXoiKs16BERAEREAREQBERAFxXr8x1\/wCzSfhK7VxXkE2SvAGSaaT8JXVqQqbj6HFpD9F6P7\/43LZc4NGXEAdJWNpD9F6P7\/43LRuFBDc6GSjnLhHJjOycHcQfgpS32V0b9hG3Jeh5VN6tlHnl66BpHFu2C7wG9ZE2t6Hb5OipqireeAa3APx8l10+kbJTu2vROUI\/7jy7y4LWhghp2BkETImDg1jQ0eS73F4kbbRLVpeZN\/SmqK\/ApLSykad23Od7evfjpHMg0rXV++8XiaXd+ThOGg9+7h1KoRMdtFYfxlL4jcvT6IyKTS1moyHNo2yOGPWlJf5Hd5LWa0NGGgAdAX1FBtvUuhTjBWirBSl8cbNqqju5B9HnbyUxydx4e7B7lVrluNBDc6GSkqB6jxxHFp5iF2Ds8yFem5w7uqzXU6WuDmhzSCCMgjnX1R8FyumlQKW40rqigYdmOeP7I5t\/wOFsQarss7Nr01sZ52yNLSuuDWmZCG003lJ2fJmwiyzqWygZ+kYt3auCq1rb2O5OhimrZTwDGlrT3nf5LihJ8CctopRV3JFEQCMEZBUJeeRt99Z\/09USCskd9ZTwDLM8d+\/HdjHYtB9JqS\/uxVPFso3fYafWcOvG\/wAcdi27TY6KzRFtMzLyMOldvc7vU1aHEzzUtoskrLm9fkSFvrBarq+s1BSVUlU4jZlc0FrMjce3s4YVPDq2yTAYrQw9D2OGPLC13Na9pa9oc08QRkFcU1ktU5Jkt9OSeJEYBPeEcoy1RKFGrSVoNNeK+54yamssTdp1wiIxn1cu9wWfNrWle\/krdR1FbKeGyzAJ9\/ktKPTdmieXNt0JJ\/WG0PArvihigbsQxMjb0MaAPJcvBcCeHaJayS6K\/qQVHRXHUN+r3mY0LjgTjJ2g3gG+Xkq+02Khs8eKaPMh9qV+9x+XcsrSP1ldean\/ALtTw73H4qnXaknfDwKtkoxw9o8275\/MIiKo3BERAEREAREQBERAEREAXhXRCagqIjwfE5viCvdEONXVif0TKZNOsaf7OR7R45+KoFMaEGxaqmLjsVJ39Pqt+Sp1OpvMo2V3ox6BERQNAREQBERAEREB8IBGCMgrhmsVqqHbUlBASeJDMZ7cLvRdTa0IyjGWquZg05ZmnIt8OexdlNRUtG3ZpqeOEYx6jQOte6I23qcjThHNJBERcJhERAERfl7tiNzsZ2QThATWhcPtdVMfakqXZ\/0tPxVOprQbdmwyHPtVDj\/taPgqVTqb7M2yfAiERFA0hERAEREAREQBERAEREAREQEvpXMN4vdLzNn2hjhxd\/BVCl7NmLWt3hO7aaH48D+8qhTqambZfh25N+oREUDSEREAREQBERAEREAREQBERAEREAXnP+Qk\/wAJ9y9F5z\/kJP8ACfchx6GBobfYXHGPr3bu4KjU3oX8wO\/z3e4KkU6m8yjZfgR6BERQNAREQBERAEREAREQBERAEREBLk+jf0iNx\/8AKpt\/cP8A8KoUvqQ+h6is9wJwzbMbjzAZ+Tj4KoVk9EzNQylOPj6hERVmkIiIAiIgCIiAIiIAiIgCIiAIiIAvOf8AISf4T7l6Lzn\/ACEn+E+5Dj0J\/Qv5gd\/nu9wVIpvQv5gd\/nu9wVIp1N9lGy\/Aj0CIigaAiIgCIiAIiIAiIgCIiAIiICd1vA6WwiRgOYJmvJHMN4+IW7TS8tSxS4I22B28YO8L1RSbysVKnao531t5BERRLQiIgCIiAIiIAiIgCIiAIiIAiIgC+OaHNLTvBGCvqIDmoLfS2yn5Cji5KMuLtnaJ395XSiJe5xJJWQREQ6EREAREQBERAf\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "FERNANDA EEUU TOCOPILLA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56975628880",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28798\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28798\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28798\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "09:49",
    "ubicacionGPS": "LatLng(lat: -22.1085714, lng: -70.2103275)",
    "horaLlegada": "09:43",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 27/05/2026 09:49:35
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-nYHKK.z8DsBbHHUAje8bOdTL+-MbAvfxOt6vJ2jLYWszMswaWXs
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2762",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "13827",
    "contadorColor": "45970",
    "contadorScanner": "0",
    "detalle": "•Entrega de tintas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12741",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD5AR4DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABKEAABAwMBAwgGBQgJAwUAAAABAAIDBAURBhIhMRNBUWFxgZGhFCIyscHRFSNCgrIzNTZSdMLh8AckQ2Jyc5Ki8RZT0iU0RFTi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgECAwUGBgMBAQAAAAAAAAECAxESITEEMkFRcRMiYaGx0TOBkcHh8BQjQmLx\/9oADAMBAAIRAxEAPwD+zIiIAiIgCIiAIiIAiIgCnrlqYioNDZofTavOHYBLWdfX4rxu10qrtXOstndjG6oqBwYOcZ\/nK2LTZqSz0whp2ZcfblI9Z56\/krElFXZlc5VXhpuy4v2OyFz3QsdKzYkLQXNznZPOMrKv0V5AjqrTUNHIgl8BbnlPn2bvFbCKCdncvnDFHDcy7He4b1Sl7Ryc8e6WI\/ZPyWopW9RGw36nvEGWU9Q\/YqgBnPX3+8KpBBGQcgqUktVoV0Zyd4T1X7c+oiKBeEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAWBqi7y0kLLfQ5fXVW5rWjJa05GR1\/x6Fs1dXDQ0slTUP2I4xknyHmp3TNLNca2bUFdHiSQ7NO059VuMZHVzeKnBf6ZmrybapR1fkjXslois1ubTMw6Q+tJIB7Tv53LRRFFtt3ZfGKhFRjogiIuEjN1DRtrrHVREZIYXt7RvC8tLVhrdPUr3EF8beTdj+7uHlhazmhzS07wRgqa0ESbFKDzVLgP9LVYs4MzSy2iL5p+VimREVZpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIvGrqWUdJLUyEBkTC45PQEONpK7JzULn3m901gilDYx9bUHG8biQOPR7wqaKJkMTIo2hrGNDWtHMBwCntI0kj2VN5qQeWrXktzzMz8T5AKkVk8u7yM+zrEnVesvTgERFWaQiIgPOokMVNLIOLGFw7gsDQzNnT5P60zj5AfBaOoKtlHYquVxG+MsaCeJduHvXnpilNJp6kY7Ic5nKEH+8c\/FWLcZmlntC8E\/M1kRFWaQiIgCIiAIiIAiIgCIiAIiIAiLhul2pLRTGapk3\/ZjHtPPUF1K+SIykoq70O5FLsq9TXtnK0LIrfTEnYdKPXc3p3g+4ce9fXU+q7f8AXsq4q9owXw4AJ7Mj49yng8Sj+RfNRbXO36ynRZVlv9NeI9kAw1Lch8LuIxxx0haqg007MvhOM44ovIIiLhIIiIAiIgCmdXSS1bqOy07sPq5AZOpo4Z6sgn7qplL2QfSmqbjdHAFkB5GHm6s47B5+E4Zd7kZto7yVNf69OJSU8EdNTxwRNDWRtDWgDC9ERQNKVsgiIgCIvxLKyGJ8sjg1jGlznHmA4lATOqHuuVzoLHE44keJJsb8N\/4yfBU7WtYwMaMNaMAdAUxpgS3W6119mZhrzyUAPFo\/4wPFVKsnlaPIy7P3sVXnp0WgREVZqCIiAIiIAiIgCIiAIiIAiL45wa0ucQABkk8yA4L1dorPbn1L8Ofwjjz7bv54rHs1ikr5mXq9OM08gDo4XDDWDmyPh8V40AOqNROuUjCbfR+rC149p27iO\/Pgq5WvuKy1McF28sct1aePj7BERVGwmdS2l8Lm3u2sDKunO1IGt9tvOe33jK27XcIrpboquI7nj1h+q7nHiuogEYIyCpnS59Cu10tIJ5OKTlIwTwB\/hsqzej0MrXZVk1pL1KdERVmoIiIAiIgOS61YobVU1OcGOMkb+fm88LM0bSCm09E8jDp3OkPjgeQC8dbzOFoipY8l9TM1uM4yBv8AfhUFPC2mpooGezEwMb2AYVmkOpmXe2h\/8r1\/8PRERVmkIiIApnWFbI+Ons1JvqK1w2h0Nz8T5Aqgq6qKipZKmd2zHE3acVOaapZ7ncJdRVzdl8mWQR43NGAMjuyPFWQy7z4GXaG5WpR1fpxKGgoo7dQw0kPsRN2c9J5z3nJXQiKvU0pJKyCIiHQiIgCIiAIiIAiIgCIiALA1XWTNpYrXSYNRXu5MDO8N5+7m8VvqUtDBfNVVd2c4SQUh5On6O0dXE9rlOC4vgZtobaVNayy+XE37Vb47XboqSIbmD1jxy47yV2Iii3fM0RiopJBERcOhSsEnomvLiQMh8DTjPUxVSkZf06rP2Zv7qsp8ehl2nLA\/H7MrkRFWagiIgCIiAl9Q4q9U2ahxnYcZXNxnIznf\/oKqFMRH0j+kOYf\/AFqbn6w3h\/q96p1ZPRIzUM5Tl4+mQREVZpCIpjUV2qKqqbY7SS6okOJnt+wOjPvPMpRjidiqrVVON2eNwlk1Re22unOKGkftVLw7c\/fw94HeeZVUUTIYmRRtDWMaGtaOYDgFyWm1U9oom01O3fxe8je89JXcuylfJaEaNNxvKe8\/2wREUC8IiIAiLznnhpojLPKyKNvFzzgBA3Y9EU9PrO3iXkaKKetkwSBGwgee\/wAl4DVV0IyNMVZB63f+Cn2cuRne1UVx+l36FQiwaHVtDU1RpamOWinBwGzjGT0dR7V43LVD\/TDb7NTemVI9pw3tafj28EwSvYPaaWHFf96FE97I2F8jgxrRkuccALidfbUx2ybhTk52fVeDv7liQaXrbjM2qv1c+RwOWwRuwG9\/Ad3itOPS1kibsigYetxLj5ldtBas4p155xikvHXyNKCpgqoxJTzMlYftMcCF6qXrtLut39esEkkU8Z2jAX5a8dG\/4rWsl4ZeaLlgwxyMOzIw8x6upccVa6JQqvFgmrPyZ56muBt1inlYMveOTZ1F27PhlfrTtu+jLLBA5mxK4bco59o9PZuHcsu+\/wDqmqLdahvjh+ulBHfjPYPPwqF15RSIQ79aUuWXuERFWagiIgCmLKTUayvFRnIYBFkcOYY\/2+9Ur3tjjc95w1oJJ6ApvRTHy01bcHjDquoJ45Jxv97ipx3WzNVzqwj1f0X5KZERQNIREQBERATGn\/rtVXuf9R4j8yP3VTqX0aA6a7Skes+p3+fzVQp1N4zbL8JPnf1CIp++6hdBKbZbGGor5PV9ThFnn7fdzqMYuTsi2pUjTjikfm\/X2ZtQLRaWmSul3OcP7IfPHgu6yWSGzU5APKVEm+WY8XH5Lx07YG2mF0855StmGZZCc4zvwD7+kraU5NJYYlVKnKT7SprwXL88wiIqzSEREARFPX69TmoFntIL66Xc97eEQ7enHguxi27FdSpGnG7P1etSijqBb7fF6VXv3Brd4YevpPV4rng0pNXbFRfa6aokwDyLX4a3dw\/4wtKx2Kns1PhuJKh4+tmI3nqHUtVTclHKJQqLqd6t9OC9zwpaKloYhFSwMiYOZo\/nK90WBqa7SwNjtdB61bWeoMHexp3Z6v8AkqKTky+c40oXM3UEx1HXttNshildEcy1LuDOO7PR7116J5JlBPT+jsiqYJS2Zw3lx6z3Y3HG5atktEVmtzaZmHSH1pJAPad\/O5ZGnjs6pvbGewX5Pbk\/MqxtOLitEYlCUasak9ZeWRUIiKk9EKXtTW0+u7rBHuY+ISEdLjsknxcfFVChrlWeg6nvk2QHGiDG56XCMD3qymr3Rk2qShgk+D+zNHS39fu91u7t4fJyUZ\/u8fcGqoWRpaj9C0\/TNIw6Qcq7728eWFrrk3eRZs0XGkr6vP65hERQLwiIgMPV1aaSxSRM3y1RELQDv38fLd3rvs9F9HWmmpD7UbPW\/wAR3nzJWFUht91pFBsF1NbW7TzzF\/H34HXslVSsllFIy0u\/VlU5ZL7+YREVZqCIiAIi853bFPI\/ONlhOejcgZOaE9a1VMvDbqTu6PVb81TEgDJOAFH6Yu1DZ9NmSrlDC+Zzmsbvc\/cBw7l+z9L6td6u1QWs9PtSj4+7tV043k29Dz6FZQoxis5W0\/dD2uF\/qrnUm2afHKPI+sqfssHUfj4LTsligs0BIPK1Mg+tmPFx6B1Lrt9tpLXTCCkiDG8553HpJ511KDllZaGinSeLHUd35LoERFA0BERAEREBmX+7ts9sfPxlf6kQ\/vY49gXNpqzvoYH1tYCa6qJdKXHOyM5x8\/4LPo2HUupZK+QbdvoiWQggFr3dPx8FWKyXdWEyU\/7Z9o9Fp7hERVms86ieOmp5J5XBrI2lziThTelaeSuq6u\/VOS6d5ZBtczM78eQ7ivTV1TJIyls9Pnla14DiOZoPz9xW\/TU8VJSxU0LdmOJoa0dQVm7HqZX\/AGVvCPq\/ZH4r62O3UM1XN7ETdrHSeYd5wFjaOpnttstfN+VrpTIcjmycdfHJ71yXyd2orrFY6Jx5KF+1VScwxux3b+\/HQqmKJkMTIo2hrGNDWtHMBwCPuxtzEX2tbEtI5fPiftERVmoL+Z3dzrpqqeOFw2aidsGWkHONluezdlXd+uH0ZZ6ioHt7Oyzfj1juHz7lH6atzWalpGOaduGn5aUEcCRkeTmq+lknI8zbXjlCkuf79y\/YxscbWMGGtAAHQF+kRUHphERAFwXm5R2q2TVT3YcAWxjHF5G4LvUjKDqvUQiG+20ByXbO6R2Rkd\/uz0qcFd56FFeo4xtHeeS\/fA0tJ251FavSJh\/WKs8rISMHHMPj3lbiIot3dyynBU4KK4BF8JAGScALhqr3a6LPpFdC0t4tDtp3gN6JN6HZSjFXk7HeimZdaQyyGK2UFRWydQ2R8T5LzEerbsAZJIrbC7Bw3c7Hmc94U+zfHIoe0weUE5dPfQ3666UNtjL6upZHj7OcuPYOKmqzUdyu8E7LPROZTNY7lKiUc2N\/UPMrvodG2+B3K1jn105OS+UkDPZnf35WldmMjsFcyNoY1tLIA1owB6pXU4p5ZkJqtOLcnhXJa\/X2J7SFgt89ujuFRDy0rnOwH72twccPmq8AAYAwAsbSH6L0f3\/xuW0o1G3J3J7LCMaMbLVIIiKBpCIiAIiIAsbVNw9BssrWE8tUfVRBvEk8fLPktlS94H0hrG20J9aOBvLOHNznf\/pb4qcFd5mfaJNU7LV5fU17BbxbLNT0xzt7O0\/P6x3nw4dy0URRbu7l0IqMVFcAiL45wa0ucQABkk8y4SJmlxX6+qZiPVoodhvad37zl0alvb6NjbfQZfcKjc1rBksHT29Hipy0Xw0ra6WmjM1yuE+I2Yzs8Tk83F3kqiw2H6P2qysfy9wm3ySHfs55gr5JRd2eZRnKpFxhxbbfL82Paw2WKzUWwDtTy4dM8\/aPR2DJWoiKltt3Z6MIRhFRjoERcN4ucVot0lVIRkDEbT9p+NwRK7shKSinJ6GHfXfTl\/pLNFl0UDuVqSCCMbv4j7y\/WmM1d9vFwPAy8mzsyfgAlgpZLVY6y71eTVTsdM4uG8AAkcecnJ7wvfRNPyGnmyFuDPI5\/bzfBXN2i0jz6acqsZS1d38tF6lCiIqD0giLjulzgtNC+rqDuG5rRxc7mAXUr5HJSUVd6GXqi6SRsjtNEc1lYQzcd7Gndnqz81pWe2RWi3R0sYGQMyOH2n43lZOl7fUSySXu45NVUjDAfss3YOOb5dqpFOTssKM1FOb7WXHTwX5CIirNRj3bTdJeatk9TNO3YYGhsbgBuJPOD0r802kbLTEO9E5VwHGVxd5cPJbSKWOVrXKXQpOWJxVzzhhip4xHBEyJg4NY0ADuC9ERRLtAuK9fmOv\/AGaT8JXauK9fmOv\/AGaT8JXY6ohU3H0OLSH6L0f3\/wAbltLF0h+i9H9\/8bltLs95kNn+DDovQIiKJcEREAREQBS9pxWa2ulUTkQNETd+4cB+6fEqoUxpY5vl\/wD2kfiepx0bM1bOpTXj6JlOiLMu2oLfZ24qJdqUjdEze4\/LvUUm8kXynGCvJ2RpEgDJOAFMXvUpm5S3WZnpM5a7lJGjLWN58cx7eC8hBe9UPJqS+3W0ndGNz3jr6e\/d1LchtVJbbXNTUcQYHRkFx9pxwd5POrElHXNmWUqlZdzKPPi+nuY2hrdTNtxuGxmoe5zNo\/ZA6OhVSndDva7T+GnOxM4HyPxVEo1N5k9kSVGNuQREUDSfHODWlziAAMknmUkzOrb+XOANsoHEYycSnfg9+PDtXtqK4TXGtZp63uG3N\/7iQbwwccbuzf2451v2+hhttDFSQNAbG0AnGNo85PWVYu4r8WZJf3zwrdWvi+XuZusKj0fTlQBxlLYx3nf5ArutEApbPSQg52YW5PScb1i62zNDb6FpOaipAwOJ5v3lTAADAGAEeUEShnXk+SS+59RF51FRFSwPnnkEcbBlzncAqzS3bNn4rayCgpJKqpfsRxjJPwCmqGnqdV1v0hXsMdujOIID9vrPz7l5tZPrO4tlkY+G007jsjODKfn7gq6ONkUbY42hrGANa0DcAOAVu4vExq+0Su9xef4P0iIqjYEREAREQBERAFxXr8x1\/wCzSfhK7VxXr8x1\/wCzSfhK7HVEKm4+hxaQ\/Rej+\/8AjctpYukP0Xo\/v\/jctpdnvMhs\/wAGHRegREUS4Ii+EgDJOAEB9RZ1Zf7VQ55euiDh9lp2neAWOdUXG5O2LJanvbtbPLTez8h4qahJlE9opxdr3fJZsqCQBknAChrZf6O0Xa9SS7cvL1P1QiAdtes\/fnhzhaX\/AEzc7k5r71dXPaDnkYNw8dw8l4aXoqah1Hc6Ixtc+Egwl4DnBuTvB5vaCnFRSfEy1ZVZ1INLDm9enI9mVmpL8CKaJlspSfyjwdsjq\/gB2rQtumKCgfy0gNVUk5M03rHPSBze9bKKDm9FkaY0Ip4pvE\/H2CIigaCX0vi33e52knAbJykQPO3h7tlVCm9T0FRDPDfLeD6RTbpWj7TP5znq7Fr2q6U13o21NO7j7bCd7D0FWTz7xloPA3RfDTp+DtWFqO+PoWNoKAGS4VG5jWjOwOk9fR4rpvd7hs1OCRylRJuihHFx+S5NO2aanfJc7j69fU7zn+zB5ur4YwkUksTO1ZuUuyhrxfJe506fsjLPR\/WYfVy75peOT0Z6FrIig227suhCMIqMdCYvX9Y1lZ6bjyYMuDwHE5\/2eSp1LtAqP6RH4GfRqbfnmyB\/5rqu2qIKOX0OhZ6ZWuOBGzeAesj3BWSi3ZLkZadSMMc5Pj6ZGpcLlSWumM9XKGN5hzuPQBzqaiprjq2pbUVgdS2tpzHFwMnQfPjw6F027Tc1ZUC5X9\/LzuOW053sYOYEfDh2qlAAGAMALl1DTUlgnXznlHlz6+x+IYYqeFkMLAyNgw1rRuAXoiKs16BERAEREAREQBERAFxXr8x1\/wCzSfhK7VxXkE2SvAGSaaT8JXVqQqbj6HFpD9F6P7\/43LZc4NGXEAdJWNpD9F6P7\/43LRuFBDc6GSjnLhHJjOycHcQfgpS32V0b9hG3Jeh5VN6tlHnl66BpHFu2C7wG9ZE2t6Hb5OipqireeAa3APx8l10+kbJTu2vROUI\/7jy7y4LWhghp2BkETImDg1jQ0eS73F4kbbRLVpeZN\/SmqK\/ApLSykad23Od7evfjpHMg0rXV++8XiaXd+ThOGg9+7h1KoRMdtFYfxlL4jcvT6IyKTS1moyHNo2yOGPWlJf5Hd5LWa0NGGgAdAX1FBtvUuhTjBWirBSl8cbNqqju5B9HnbyUxydx4e7B7lVrluNBDc6GSkqB6jxxHFp5iF2Ds8yFem5w7uqzXU6WuDmhzSCCMgjnX1R8FyumlQKW40rqigYdmOeP7I5t\/wOFsQarss7Nr01sZ52yNLSuuDWmZCG003lJ2fJmwiyzqWygZ+kYt3auCq1rb2O5OhimrZTwDGlrT3nf5LihJ8CctopRV3JFEQCMEZBUJeeRt99Z\/09USCskd9ZTwDLM8d+\/HdjHYtB9JqS\/uxVPFso3fYafWcOvG\/wAcdi27TY6KzRFtMzLyMOldvc7vU1aHEzzUtoskrLm9fkSFvrBarq+s1BSVUlU4jZlc0FrMjce3s4YVPDq2yTAYrQw9D2OGPLC13Na9pa9oc08QRkFcU1ktU5Jkt9OSeJEYBPeEcoy1RKFGrSVoNNeK+54yamssTdp1wiIxn1cu9wWfNrWle\/krdR1FbKeGyzAJ9\/ktKPTdmieXNt0JJ\/WG0PArvihigbsQxMjb0MaAPJcvBcCeHaJayS6K\/qQVHRXHUN+r3mY0LjgTjJ2g3gG+Xkq+02Khs8eKaPMh9qV+9x+XcsrSP1ldean\/ALtTw73H4qnXaknfDwKtkoxw9o8275\/MIiKo3BERAEREAREQBERAEREAXhXRCagqIjwfE5viCvdEONXVif0TKZNOsaf7OR7R45+KoFMaEGxaqmLjsVJ39Pqt+Sp1OpvMo2V3ox6BERQNAREQBERAEREB8IBGCMgrhmsVqqHbUlBASeJDMZ7cLvRdTa0IyjGWquZg05ZmnIt8OexdlNRUtG3ZpqeOEYx6jQOte6I23qcjThHNJBERcJhERAERfl7tiNzsZ2QThATWhcPtdVMfakqXZ\/0tPxVOprQbdmwyHPtVDj\/taPgqVTqb7M2yfAiERFA0hERAEREAREQBERAEREAREQEvpXMN4vdLzNn2hjhxd\/BVCl7NmLWt3hO7aaH48D+8qhTqambZfh25N+oREUDSEREAREQBERAEREAREQBERAEREAXnP+Qk\/wAJ9y9F5z\/kJP8ACfchx6GBobfYXHGPr3bu4KjU3oX8wO\/z3e4KkU6m8yjZfgR6BERQNAREQBERAEREAREQBERAEREBLk+jf0iNx\/8AKpt\/cP8A8KoUvqQ+h6is9wJwzbMbjzAZ+Tj4KoVk9EzNQylOPj6hERVmkIiIAiIgCIiAIiIAiIgCIiAIiIAvOf8AISf4T7l6Lzn\/ACEn+E+5Dj0J\/Qv5gd\/nu9wVIpvQv5gd\/nu9wVIp1N9lGy\/Aj0CIigaAiIgCIiAIiIAiIgCIiAIiICd1vA6WwiRgOYJmvJHMN4+IW7TS8tSxS4I22B28YO8L1RSbysVKnao531t5BERRLQiIgCIiAIiIAiIgCIiAIiIAiIgC+OaHNLTvBGCvqIDmoLfS2yn5Cji5KMuLtnaJ395XSiJe5xJJWQREQ6EREAREQBERAf\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "FERNANDA EEUU TOCOPILLA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56975628880",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28798\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28798\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28798\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "09:49",
    "ubicacionGPS": "LatLng(lat: -22.1085714, lng: -70.2103275)",
    "horaLlegada": "09:43",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


27/05/2026 09:49:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[27/05/2026 09:49: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', 'EP2762', 1, 24456550, 13827, NOW(), 
				'08:00', '09:43', '09:49', 10, '•Entrega de tintas', -1, 
				'', '','1','45970',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779889775.png', '', null, 'COMPLETADO','LatLng(lat: -22.1085714, lng: -70.2103275)' )
				
[27/05/2026 09:49:35] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200440
[27/05/2026 09:49:35] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200440', 'EPS-I303', 2)
				
[27/05/2026 09:49:35] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28798 and
				    IDproducto = 'EPS-I303'
				

27/05/2026 09:49:35 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I303';
                [27/05/2026 09:49:35] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200440', 'EPS-I304', 2)
				
[27/05/2026 09:49:35] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28798 and
				    IDproducto = 'EPS-I304'
				

27/05/2026 09:49:35 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I304';
                [27/05/2026 09:49:35] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200440', 'EPS-I305', 2)
				
[27/05/2026 09:49:35] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28798 and
				    IDproducto = 'EPS-I305'
				

27/05/2026 09:49:35 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I305';
                
27/05/2026 09:49:35 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200440'                    
				WHERE idllamado = 12741			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


27/05/2026 09:49:35 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12741			
				
27/05/2026 09:49:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


27/05/2026 09:49:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09: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 = 12741
                

27/05/2026 09: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 = 12741
                

27/05/2026 09:49:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

27/05/2026 09:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

[27/05/2026 09:49:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 09:49:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

[27/05/2026 09:49:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 09:49:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12741
            GROUP BY l.idllamado;
            

27/05/2026 09:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:49:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09:49:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12741
                

27/05/2026 09: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 = 12742
                

27/05/2026 09:49:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

[27/05/2026 09:49: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;
                

[27/05/2026 09:49: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;
                

27/05/2026 09:49:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/2026 09:49:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/2026 09: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 = 12742
                

27/05/2026 09:49:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

[27/05/2026 09:49:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 09:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/2026 09:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/2026 09:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

[27/05/2026 09:49:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 09:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/2026 09:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/2026 09:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/2026 09:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/2026 09:49:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/2026 09:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/2026 09:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09: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 = 12742
                

27/05/2026 09:50:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/2026 09: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 = 12742
                

27/05/2026 09: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 = 12742
                

27/05/2026 09:50:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/2026 09: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 = 12742
                

27/05/2026 09: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 = 12742
                

27/05/2026 09:50:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/2026 09: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 = 12742
                

27/05/2026 09: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 = 12742
                

27/05/2026 09: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 = 12742
                

27/05/2026 09:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:50:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/2026 09:50:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:50:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:50:19 - logentry: =========================================
FECHA: 27/05/2026 09:50:19
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-YDLfy+kvyvxuP1sSJk.AVRVv7HC_jXYKZ_VdDTtUItNI8xJTTA1
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2204",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "11941",
    "contadorColor": "24415",
    "contadorScanner": "0",
    "detalle": "•Entrega de tintas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12742",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADZANsDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUBAgf\/xABGEAABAwMBAwcGCQoHAQAAAAABAAIDBAURBhIhMRNBUWFxkaEUIoGxwcIHFSMyNlJz0eEkMzVCQ1NicpKiNDd0grLS8EX\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQIDBQYHAQEBAAAAAAAAAQIDERIhMQQyQVFxImGBkbHhEzNCYqHB0XIUI\/\/aAAwDAQACEQMRAD8A\/ZkREAXxLKyGJ8sjg1jGlznHmA4lfam9Y1UrqamtVMRy1dIGnf8Aq5HdkkdxUorE7FdWp8ODkaLtTXdwddY4IxbGScnsnBJ6+Y\/iq6CeOpgjnidtRyNDmnpBWo+1xCyOtjB5nImMduOPHp61ztFVBmsDYnbjBI6PHOOf2qUrNXXAz08dOoozd7q\/jxKBERVmwIiIAiIgCIiAIiIAiIgCIiAIiIAiIgJ293O4m6x2y0FomEZkkL27uBIHbu8e3G5p28i8W\/lHjZniOxK3rxx9K5umR5bfbtc3HeX8k0HiBn8GryYNsmtIZWgR01xYWu37tv2b9nvVzS3eJ58ak01Vbybt4aJlSiIqT0AiIgClos3PXsj3ZMVviw0HhtYxw7XHuCp3Oaxhe44a0ZJ6AprRUZlhrri4edVVB3niQN\/rcVZHJNmat2pwh338vcp1MaL3NuTRuAqTgdCp1MaL\/wDp\/wCpPtSO6xU+dT8fQp0RFWaQiIgCIiAIiIAiIgCIiAIiIAiIgC+XODGFx4AZX0sc\/wCYk\/lPqQMntCsxZ55C4OL6hxyOfzW\/is2sqLymyOnYBylK4SNOMnHA\/f6Fi0L+gHfbu9QVBNCyogkgkGWSNLXDpBGCrZO1S5ipQU9lUeaMFrrBcLZT1Y3GVgJHQefxyttTOjXvp2V1rldl9JOcDOcA7vWPFUyhNWlYvoTc6ak9QiIolxz79OaaxVso4iIgb8cd3tWDSsDYNOUgA3vaXnrJJK19ay8npyVv7x7G+OfYutbo+RtlLF9SFje4BWfQZlntD7l6v2Pm6VPkdrqqnODHE5w7cbvFczRlN5Pp2JxGDO90h9Q8AFh1nVu8igtkJ+WrZA3HUCPbjxXepKdtJRw0zN7YWBgPTgYTSHU4u3tD+1fl+xmREVZqCIiAIiIAiIgCIiAIiIAiIgCIiALHP+Yk\/lPqWRY5\/wAxJ\/KfUhx6E\/oX9AO+3d6gqRTehf0A77d3qCpFOpvso2X5EehL058h1\/URFpDa2Dabv4kDOf7XKoUvqQGn1JZawbtqTk3HPNtD2OKqF2eiZyhlKcOT9cwiIqzSTGt\/laagpeaWpG70Y95UznBrS5xAAGSTzKZ1H8tqSyU54NlLz17x9y8vFznvFW6xWg5Jy2pnPzWt4Eew9ytw3SRh+IoVKkuOSXfl7mO1kX7V1RcwA6mom8nCTznfgj+4+kKsWrbbfDa6GOkp87DM73cXE8SVtKEnd5GihTcI9rV5sIiKJcEREAREQBEXhIAyTgBAeouHXavtNDNyRkkmeDhwiZnZ7c4XWpKuGupY6mB21FIMtOMZUnFpXZXGrCTcYu7MyIiiWBERAEREAWOf8xJ\/KfUsi+JgTC8AZJafUhx6E9oX9AO+3d6gqRTehCDYHYPCd2e4KkU6m+yjZfkR6EzrlhFpgqG\/OhqGnPRuPtwqSN4kja8cHAFcnVcJm03VgDJaGvHocCfDK2LFNy9iopMgnkWgkdIGPYuvOCORy2iS5pP1Ogtetr6W3U5nq5mxMHDJ3k9AHOVzbzcrrDVNorXb+WkewOMzvmMySPZ0rVo9KvnqRW3yp8tn\/d\/qN+\/s3BcUVa8mdnVk3hpq758PfwOFXVz9U6kpY6AupRsFjJH7jjzi47urIwrK0Wels1LyNOCS7e97uLiuKWMHwgwsjaGNipcBrRgcD3cVUqVSWSS0Kdlp9qU5ZyvqERFUbgiIgCIiAIiIApa81lTfLkbFbn7MTf8AFTDgAM5ae70nqXYv1zFptM1TkcpjYiB53nh3cfQtXS1q+LrWJJN9RU4klcePUM538fFWRyWIy1W6k1SWmr6cvE2IrVSWq0yxU0TQRC4OkwNp+7nK0dEfR1n2rlu6jrPIbDVSg4c5mw3tdu9uV5pmkNHp+ljczZe5pkcMfWOR4EJfsNvmcUUq6jHgjqoiKs1hERAEXIuWprdbKwUkzpHy4y4RtzsbsjO9dWORksbZI3bTHgOaekFdaazZCNSMm0nmj6REXCZMaE822VUY4NqTj+kfcqdTGjvNnu0XHYqePTvP3KnVlTeZm2T5MTTu7BJZq1h56d4\/tK5Gl64x6dpWFm1gOGc4\/WK7lb\/gaj7J3qULaP0XD\/u\/5FdgrxaKq83CsmuT9UfoKIiqNxLwja+ESfO\/Zphjq3N+9VCmIP8AMSp\/0w9TVTqyfDoZtn0l\/phERVmkIiIAiIgCIiAlL2Bd9W0NrIDoaccpM3O48+D6AP6lVqY0sDXXa63ZwBD5eSjcOgHPq2V2rtcGWu2TVj8Esb5rT+s48B3qyeqijJQawyqvi7+C0ODqN\/xvfKKxR+c1rxLUEcwxw\/pz\/UFVNaGtDWgAAYAHMp\/SducymfdqoE1daS7aJOQw8B6cZ7MKhXJv6VwJbOm71Jay9OAREUDSFoXm5NtNslqyzbc3cxpOMkrfUvqxprrja7Xg7Esu3JvPDIHqJUoK8symvNwptx1\/povtbqbSNbca3Dq2ra0mR2SQ0ubjPQd\/N1dCp7ICLHQ554GHjniMrna1lEOm3xggCSRjMenPsXYoITT26mgIwY4mMx2ABTk7xu+ZRRgoVnFcEvVmwiIqjaTGnvkdU3uA7i94kx6SfeVOpi2eZr66MPEwh3\/D71TqdTUzbNuNcm\/U164htvqXHcBE4nuKi7LTTSWmFzWZB2t+R9YqwvBLbLXOG4imkI\/pK5mk6aGTTVI5zMk7e\/J+u5Si7RbK60MdZR7n6o76IiqNpMQf5iVP+mHqaqdTFANv4Qbi\/iG04A6jhn4qnU58Ohm2bSX+mERFA0hERAEREAXPv1T5HYqyYHBERaD0E7h4ldBTeuJXfE8VMxpLqidrR4n14UoK8kimvLBSk+429KUnkmnaYEYdKDKeva3jwwuZXyjU2oo7ZEc0VEeUme0gh56Ojicekrbv10NpoYbXQZNbKxscLWD5reGfAgfgt6wWltntrYTvmk8+ZxOcuI3jsCne15PiZ8OK1BaK1\/5\/TpNaGtDWgAAYAHMvURVG4IiIAphmKv4QnnG0KOn3HoyBu\/vKp1L6WHL3u9VZJOZ9lp6tp3swpw0bM1fOcI99\/IalxW3+0W3G0OU5WRuOLc\/c1yqFLWQ\/Guq7hdMgwwDkYt2M9fcDx+sqldnlZDZ+05VOb\/CyCIirNJMMJg+EN4J3T027uH\/VU6mK\/wAz4Qba7gHU5Gek4f8AgqdTnw6GbZ9Zr7maF9e2Ow17ncDTvb6SCB61raTYWaZowecOPe4leask5PTNYc7yGt49LgFtWOMR2KhaBj8nYSOsgEp9HiNdo6R\/fsb6IigaSYtX06uv2Q91U6mLV9Orr9kPdVOrJ6ozbNuvq\/UIiKs0hERAEREAUfrir8mrLW8AOML3Slp58FuPUV1b3qWC1nyanb5VWu3NhZv2T149XFTclBXRahtVTdHh9RVzBzo+IYARgeKupxs7s8\/a6qlF04a5X7szu6etE5nN6uh262cZY0\/s2kdHMcbuoelUSIq5Scnc2U6apxwoIiKJYEREAUFbbr8V6cuc7X4qZqkxx9OSOPoGT3K9X5vpuifcb8yJ4LqenkdO8HhndjxAV1O1nc8\/a3JTgo6u687Fnpy2m12WGFzS2R45SQHmceb1BdVEVTd3c3QgoRUVwCIi4SJi9\/I6xs8x3h4LMekj3lTqX1kOSktVZ+5qeA478H3VUKyW6mZqOVWou9P8E7reUMsHJ586WVrQBz8\/sXcpYjBSQwkYMcbW47BhTurPl7nZqQH85UZPUMtHtKqEe6hTzrTfKy\/f7CIirNJMWr6dXX7Ie6qdTFq+nV1+yHurbuVDqGStdNbrnDFEWgCN7NzfA57VbJXfgY6M3GDaV83p1O4il+T1nGdnlqSX+LAHsC9E+syceS0Y68j\/ALLmDvRP\/o+yXkU6KY5PWc37ajgz1A48DwQ6bvFYALhfZC3PnMiBAI8OvmTAuLHx5Pdg\/Q61wvtttjXeU1TNtv7Jh2n93N6VxPjS+6hOza4PIqUnBnf87HSD93eulRaTtFG4PMBnkBB2pjtb+zh1rsgADAGAEvGOmZzBVqb7suS\/pyrNp6ks4MgJnqnfPneN57Ohc3U3yeorHI4eZy2M9e01VCmdbseygpKxjcmmqAT1A\/iAkG3PMjXhGFBqKyVn+SmRfEUjZomSsOWvaHNPUV9qs2BERAERY5poqeF80zwyNgy5zjuAQaGhf7u2z2x8\/GV\/mRD+LHHsC4+gow2grHuHyhn2XHnOB+JXzb2S6ovRuVSCKCjeRTMLdzz0+AJ9AWbTv5NqW9UfM54laOrJ\/wCwV1rRceJ5ym51o1PpzS8tSnREVJ6IREQE3rtm3YGu+pO0+BHtVBC\/lII35ztNBz07lytWx8ppurxxaGu4Z4OC27JLy1kopN2+BmcdQwpvcRmjltEu9L9nFuJ8q15boG8IIi9xHMfOPsHeqhS9n\/L9ZXOtxllOORYeYHh7p71ULs+CGz54pc2\/4ERFWaSYtX06uv2Q91U6mLV9Orr9kPdVOrJ6ozbNuvq\/UIiKs0hERAEREAWtcaJlxt89JJjErC0E8x5j6DgrZRFkcaTVmTekbg\/kJLRVnZqqMkBruJb+HqwqRcC\/WeofOy7Wt2xXwcW80jejtwvKHV1DIRT3DNFVN3SNePNz1Ho7VZJYu1EyU6nwv\/Oo9NHzX9KBFrMuNDIAWVtO4HhiVp9q1qnUFppR8pXxOP1YztnuGVCzNLqQSu2jokgDJOAFJXGuk1TcPii3uIomEGonAyHYPq3buk9W9H1Vz1bI6KjBo7YDh8rh50nSOvs71R2620trpRT0sYY3OSedx6SrMoa6mZt7RlHKHF8+ncZqanipKWKmhbsxxNDWjqCnJ3Ch+EGF5IDa2DZJPTwA\/tCqFN6xgkjp6S6wNzLQzBx6NkkcfSB3lchrbmT2hWpqS+lp+XsUiLDS1DKukhqY\/mSsDx2EZWZVmhO6ugiIh007tFy9nrIud0DwO3BXJ01XNh0cJ3EHyVsm16CTjuIVC5oc0tO8EYK\/Ooax1LpSrtgyZ5Kzkg3G\/G7Pi3HpVsFiVjDtE\/hVFPuf6KTRVO6OyuqXg7dTK55J5wN3rBVEte30jaG3wUreETA3jnJ51sKEneTZpowwU1HkERFEtJi1fTq6\/ZD3VTqYt2Ga\/ubBvzAHE\/0feqdTnquhm2bdl1fqERFA0hERAEREAREQBalda6G5NArKWObAwCRvHYRvW2iJ2OOKkrNHCk0bZHuLvJ3tySfNkICz02mLNSva+OiYXt4F5LvWcLrIpY5cypUKSd1FeR41oa0NaAABgAcy9RFEuCw1VOyrpJqaT5krCw9hGFmRDjV1Zk3o+ofDFVWeod8vRSkAH6ueb057wqRSuoIZLLeIdQU7C6MkMqWg8Rw8d3pAVNTzxVVPHPC4PjkaHNI5wrJ59pcTNs7w3pPWPpwMiIirNQX59Q201Gu5YSMxw1D5iDk4AOR44VzXVkVBRS1Uzg1kTcnPgO9RmkKmok1LNNU526yFz9\/P5wOezcVdTuotmDasMqlOD5l2iIqTeEREBMQeZ8IlTzbdMP8Adub93gqdTFX8j8IdEeAmpiCeHM\/v4BU6snw6GbZ\/rX3MIiKs0hERAEREAREQBERAEREAREQBERAY6iCKqp5IJmh8cjS1wPOFJ09TVaNn8krGuntsrzyUrRvYf\/c3pCsFjmhiqIXwzMD43jDmuG4hTjK2T0KKtLE1KLtJHlPUwVcImppmSxng5hyF7PUQ0sLpp5GxxtGS5xwAuBLo+FlQZrdXVFAXHzmxOOOJzzjpXkei6VztquramsP8TsD7120OZHHX0wZ9cv6ab5ZtY3MRRcpHaID57uBkd\/7uG\/is1dEyg1tanRtDIXQci0c24OAHi1U0EEVNEIoY2xsbwa0YU5rH8nltdwG7kKkAntwfdUoyu7LQpq0sFNzk7yun+fQp0RFSbwiIgJjUX5Nqey1Q3bbzET0DIHvFU6mdcNMdupKtvz4KkEHo3E+sBUrXBzQ4bwRkKyW6mZqWVWa6P8ex6iIqzSEREAREQBERAEREAREQBERAEREAREQBERAFwNawctp2R+M8jI1\/jj2rvrQvcHlNkrYsZJhcR2gZHiFKDtJMqrxxUpLuMttm8otdLNnJkhY49pAW0uNpOfl9N0pJyWAsPoJx4YXZSSs2jtKWKnGXNBERRLDnX62Pu1olpI3NZI4gsLuAIOVt0kT4KOCGRwc+ONrXOHOQMZWZF27tYhgWLHxCIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC8c0OaWneCMFeogJ\/R1LVUVsnp6qF8RbOS3bbjIwPuVAiLsnd3K6cFTgoLgf\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "FERNANDA EEUU TOCOPILLA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56975628880",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28799\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28799\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28799\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "09:50",
    "ubicacionGPS": "LatLng(lat: -22.1085403, lng: -70.2103008)",
    "horaLlegada": "09:43",
    "horaDespacho": "09:49",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 27/05/2026 09:50:19
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-YDLfy+kvyvxuP1sSJk.AVRVv7HC_jXYKZ_VdDTtUItNI8xJTTA1
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2204",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "11941",
    "contadorColor": "24415",
    "contadorScanner": "0",
    "detalle": "•Entrega de tintas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12742",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADZANsDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUBAgf\/xABGEAABAwMBAwcGCQoHAQAAAAABAAIDBAURBhIhMRNBUWFxkaEUIoGxwcIHFSMyNlJz0eEkMzVCQ1NicpKiNDd0grLS8EX\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQIDBQYHAQEBAAAAAAAAAQIDERIhMQQyQVFxImGBkbHhEzNCYqHB0XIUI\/\/aAAwDAQACEQMRAD8A\/ZkREAXxLKyGJ8sjg1jGlznHmA4lfam9Y1UrqamtVMRy1dIGnf8Aq5HdkkdxUorE7FdWp8ODkaLtTXdwddY4IxbGScnsnBJ6+Y\/iq6CeOpgjnidtRyNDmnpBWo+1xCyOtjB5nImMduOPHp61ztFVBmsDYnbjBI6PHOOf2qUrNXXAz08dOoozd7q\/jxKBERVmwIiIAiIgCIiAIiIAiIgCIiAIiIAiIgJ293O4m6x2y0FomEZkkL27uBIHbu8e3G5p28i8W\/lHjZniOxK3rxx9K5umR5bfbtc3HeX8k0HiBn8GryYNsmtIZWgR01xYWu37tv2b9nvVzS3eJ58ak01Vbybt4aJlSiIqT0AiIgClos3PXsj3ZMVviw0HhtYxw7XHuCp3Oaxhe44a0ZJ6AprRUZlhrri4edVVB3niQN\/rcVZHJNmat2pwh338vcp1MaL3NuTRuAqTgdCp1MaL\/wDp\/wCpPtSO6xU+dT8fQp0RFWaQiIgCIiAIiIAiIgCIiAIiIAiIgC+XODGFx4AZX0sc\/wCYk\/lPqQMntCsxZ55C4OL6hxyOfzW\/is2sqLymyOnYBylK4SNOMnHA\/f6Fi0L+gHfbu9QVBNCyogkgkGWSNLXDpBGCrZO1S5ipQU9lUeaMFrrBcLZT1Y3GVgJHQefxyttTOjXvp2V1rldl9JOcDOcA7vWPFUyhNWlYvoTc6ak9QiIolxz79OaaxVso4iIgb8cd3tWDSsDYNOUgA3vaXnrJJK19ay8npyVv7x7G+OfYutbo+RtlLF9SFje4BWfQZlntD7l6v2Pm6VPkdrqqnODHE5w7cbvFczRlN5Pp2JxGDO90h9Q8AFh1nVu8igtkJ+WrZA3HUCPbjxXepKdtJRw0zN7YWBgPTgYTSHU4u3tD+1fl+xmREVZqCIiAIiIAiIgCIiAIiIAiIgCIiALHP+Yk\/lPqWRY5\/wAxJ\/KfUhx6E\/oX9AO+3d6gqRTehf0A77d3qCpFOpvso2X5EehL058h1\/URFpDa2Dabv4kDOf7XKoUvqQGn1JZawbtqTk3HPNtD2OKqF2eiZyhlKcOT9cwiIqzSTGt\/laagpeaWpG70Y95UznBrS5xAAGSTzKZ1H8tqSyU54NlLz17x9y8vFznvFW6xWg5Jy2pnPzWt4Eew9ytw3SRh+IoVKkuOSXfl7mO1kX7V1RcwA6mom8nCTznfgj+4+kKsWrbbfDa6GOkp87DM73cXE8SVtKEnd5GihTcI9rV5sIiKJcEREAREQBEXhIAyTgBAeouHXavtNDNyRkkmeDhwiZnZ7c4XWpKuGupY6mB21FIMtOMZUnFpXZXGrCTcYu7MyIiiWBERAEREAWOf8xJ\/KfUsi+JgTC8AZJafUhx6E9oX9AO+3d6gqRTehCDYHYPCd2e4KkU6m+yjZfkR6EzrlhFpgqG\/OhqGnPRuPtwqSN4kja8cHAFcnVcJm03VgDJaGvHocCfDK2LFNy9iopMgnkWgkdIGPYuvOCORy2iS5pP1Ogtetr6W3U5nq5mxMHDJ3k9AHOVzbzcrrDVNorXb+WkewOMzvmMySPZ0rVo9KvnqRW3yp8tn\/d\/qN+\/s3BcUVa8mdnVk3hpq758PfwOFXVz9U6kpY6AupRsFjJH7jjzi47urIwrK0Wels1LyNOCS7e97uLiuKWMHwgwsjaGNipcBrRgcD3cVUqVSWSS0Kdlp9qU5ZyvqERFUbgiIgCIiAIiIApa81lTfLkbFbn7MTf8AFTDgAM5ae70nqXYv1zFptM1TkcpjYiB53nh3cfQtXS1q+LrWJJN9RU4klcePUM538fFWRyWIy1W6k1SWmr6cvE2IrVSWq0yxU0TQRC4OkwNp+7nK0dEfR1n2rlu6jrPIbDVSg4c5mw3tdu9uV5pmkNHp+ljczZe5pkcMfWOR4EJfsNvmcUUq6jHgjqoiKs1hERAEXIuWprdbKwUkzpHy4y4RtzsbsjO9dWORksbZI3bTHgOaekFdaazZCNSMm0nmj6REXCZMaE822VUY4NqTj+kfcqdTGjvNnu0XHYqePTvP3KnVlTeZm2T5MTTu7BJZq1h56d4\/tK5Gl64x6dpWFm1gOGc4\/WK7lb\/gaj7J3qULaP0XD\/u\/5FdgrxaKq83CsmuT9UfoKIiqNxLwja+ESfO\/Zphjq3N+9VCmIP8AMSp\/0w9TVTqyfDoZtn0l\/phERVmkIiIAiIgCIiAlL2Bd9W0NrIDoaccpM3O48+D6AP6lVqY0sDXXa63ZwBD5eSjcOgHPq2V2rtcGWu2TVj8Esb5rT+s48B3qyeqijJQawyqvi7+C0ODqN\/xvfKKxR+c1rxLUEcwxw\/pz\/UFVNaGtDWgAAYAHMp\/SducymfdqoE1daS7aJOQw8B6cZ7MKhXJv6VwJbOm71Jay9OAREUDSFoXm5NtNslqyzbc3cxpOMkrfUvqxprrja7Xg7Esu3JvPDIHqJUoK8symvNwptx1\/povtbqbSNbca3Dq2ra0mR2SQ0ubjPQd\/N1dCp7ICLHQ554GHjniMrna1lEOm3xggCSRjMenPsXYoITT26mgIwY4mMx2ABTk7xu+ZRRgoVnFcEvVmwiIqjaTGnvkdU3uA7i94kx6SfeVOpi2eZr66MPEwh3\/D71TqdTUzbNuNcm\/U164htvqXHcBE4nuKi7LTTSWmFzWZB2t+R9YqwvBLbLXOG4imkI\/pK5mk6aGTTVI5zMk7e\/J+u5Si7RbK60MdZR7n6o76IiqNpMQf5iVP+mHqaqdTFANv4Qbi\/iG04A6jhn4qnU58Ohm2bSX+mERFA0hERAEREAXPv1T5HYqyYHBERaD0E7h4ldBTeuJXfE8VMxpLqidrR4n14UoK8kimvLBSk+429KUnkmnaYEYdKDKeva3jwwuZXyjU2oo7ZEc0VEeUme0gh56Ojicekrbv10NpoYbXQZNbKxscLWD5reGfAgfgt6wWltntrYTvmk8+ZxOcuI3jsCne15PiZ8OK1BaK1\/5\/TpNaGtDWgAAYAHMvURVG4IiIAphmKv4QnnG0KOn3HoyBu\/vKp1L6WHL3u9VZJOZ9lp6tp3swpw0bM1fOcI99\/IalxW3+0W3G0OU5WRuOLc\/c1yqFLWQ\/Guq7hdMgwwDkYt2M9fcDx+sqldnlZDZ+05VOb\/CyCIirNJMMJg+EN4J3T027uH\/VU6mK\/wAz4Qba7gHU5Gek4f8AgqdTnw6GbZ9Zr7maF9e2Ow17ncDTvb6SCB61raTYWaZowecOPe4leask5PTNYc7yGt49LgFtWOMR2KhaBj8nYSOsgEp9HiNdo6R\/fsb6IigaSYtX06uv2Q91U6mLV9Orr9kPdVOrJ6ozbNuvq\/UIiKs0hERAEREAUfrir8mrLW8AOML3Slp58FuPUV1b3qWC1nyanb5VWu3NhZv2T149XFTclBXRahtVTdHh9RVzBzo+IYARgeKupxs7s8\/a6qlF04a5X7szu6etE5nN6uh262cZY0\/s2kdHMcbuoelUSIq5Scnc2U6apxwoIiKJYEREAUFbbr8V6cuc7X4qZqkxx9OSOPoGT3K9X5vpuifcb8yJ4LqenkdO8HhndjxAV1O1nc8\/a3JTgo6u687Fnpy2m12WGFzS2R45SQHmceb1BdVEVTd3c3QgoRUVwCIi4SJi9\/I6xs8x3h4LMekj3lTqX1kOSktVZ+5qeA478H3VUKyW6mZqOVWou9P8E7reUMsHJ586WVrQBz8\/sXcpYjBSQwkYMcbW47BhTurPl7nZqQH85UZPUMtHtKqEe6hTzrTfKy\/f7CIirNJMWr6dXX7Ie6qdTFq+nV1+yHurbuVDqGStdNbrnDFEWgCN7NzfA57VbJXfgY6M3GDaV83p1O4il+T1nGdnlqSX+LAHsC9E+syceS0Y68j\/ALLmDvRP\/o+yXkU6KY5PWc37ajgz1A48DwQ6bvFYALhfZC3PnMiBAI8OvmTAuLHx5Pdg\/Q61wvtttjXeU1TNtv7Jh2n93N6VxPjS+6hOza4PIqUnBnf87HSD93eulRaTtFG4PMBnkBB2pjtb+zh1rsgADAGAEvGOmZzBVqb7suS\/pyrNp6ks4MgJnqnfPneN57Ohc3U3yeorHI4eZy2M9e01VCmdbseygpKxjcmmqAT1A\/iAkG3PMjXhGFBqKyVn+SmRfEUjZomSsOWvaHNPUV9qs2BERAERY5poqeF80zwyNgy5zjuAQaGhf7u2z2x8\/GV\/mRD+LHHsC4+gow2grHuHyhn2XHnOB+JXzb2S6ovRuVSCKCjeRTMLdzz0+AJ9AWbTv5NqW9UfM54laOrJ\/wCwV1rRceJ5ym51o1PpzS8tSnREVJ6IREQE3rtm3YGu+pO0+BHtVBC\/lII35ztNBz07lytWx8ppurxxaGu4Z4OC27JLy1kopN2+BmcdQwpvcRmjltEu9L9nFuJ8q15boG8IIi9xHMfOPsHeqhS9n\/L9ZXOtxllOORYeYHh7p71ULs+CGz54pc2\/4ERFWaSYtX06uv2Q91U6mLV9Orr9kPdVOrJ6ozbNuvq\/UIiKs0hERAEREAWtcaJlxt89JJjErC0E8x5j6DgrZRFkcaTVmTekbg\/kJLRVnZqqMkBruJb+HqwqRcC\/WeofOy7Wt2xXwcW80jejtwvKHV1DIRT3DNFVN3SNePNz1Ho7VZJYu1EyU6nwv\/Oo9NHzX9KBFrMuNDIAWVtO4HhiVp9q1qnUFppR8pXxOP1YztnuGVCzNLqQSu2jokgDJOAFJXGuk1TcPii3uIomEGonAyHYPq3buk9W9H1Vz1bI6KjBo7YDh8rh50nSOvs71R2620trpRT0sYY3OSedx6SrMoa6mZt7RlHKHF8+ncZqanipKWKmhbsxxNDWjqCnJ3Ch+EGF5IDa2DZJPTwA\/tCqFN6xgkjp6S6wNzLQzBx6NkkcfSB3lchrbmT2hWpqS+lp+XsUiLDS1DKukhqY\/mSsDx2EZWZVmhO6ugiIh007tFy9nrIud0DwO3BXJ01XNh0cJ3EHyVsm16CTjuIVC5oc0tO8EYK\/Ooax1LpSrtgyZ5Kzkg3G\/G7Pi3HpVsFiVjDtE\/hVFPuf6KTRVO6OyuqXg7dTK55J5wN3rBVEte30jaG3wUreETA3jnJ51sKEneTZpowwU1HkERFEtJi1fTq6\/ZD3VTqYt2Ga\/ubBvzAHE\/0feqdTnquhm2bdl1fqERFA0hERAEREAREQBalda6G5NArKWObAwCRvHYRvW2iJ2OOKkrNHCk0bZHuLvJ3tySfNkICz02mLNSva+OiYXt4F5LvWcLrIpY5cypUKSd1FeR41oa0NaAABgAcy9RFEuCw1VOyrpJqaT5krCw9hGFmRDjV1Zk3o+ofDFVWeod8vRSkAH6ueb057wqRSuoIZLLeIdQU7C6MkMqWg8Rw8d3pAVNTzxVVPHPC4PjkaHNI5wrJ59pcTNs7w3pPWPpwMiIirNQX59Q201Gu5YSMxw1D5iDk4AOR44VzXVkVBRS1Uzg1kTcnPgO9RmkKmok1LNNU526yFz9\/P5wOezcVdTuotmDasMqlOD5l2iIqTeEREBMQeZ8IlTzbdMP8Adub93gqdTFX8j8IdEeAmpiCeHM\/v4BU6snw6GbZ\/rX3MIiKs0hERAEREAREQBERAEREAREQBERAY6iCKqp5IJmh8cjS1wPOFJ09TVaNn8krGuntsrzyUrRvYf\/c3pCsFjmhiqIXwzMD43jDmuG4hTjK2T0KKtLE1KLtJHlPUwVcImppmSxng5hyF7PUQ0sLpp5GxxtGS5xwAuBLo+FlQZrdXVFAXHzmxOOOJzzjpXkei6VztquramsP8TsD7120OZHHX0wZ9cv6ab5ZtY3MRRcpHaID57uBkd\/7uG\/is1dEyg1tanRtDIXQci0c24OAHi1U0EEVNEIoY2xsbwa0YU5rH8nltdwG7kKkAntwfdUoyu7LQpq0sFNzk7yun+fQp0RFSbwiIgJjUX5Nqey1Q3bbzET0DIHvFU6mdcNMdupKtvz4KkEHo3E+sBUrXBzQ4bwRkKyW6mZqWVWa6P8ex6iIqzSEREAREQBERAEREAREQBERAEREAREQBERAFwNawctp2R+M8jI1\/jj2rvrQvcHlNkrYsZJhcR2gZHiFKDtJMqrxxUpLuMttm8otdLNnJkhY49pAW0uNpOfl9N0pJyWAsPoJx4YXZSSs2jtKWKnGXNBERRLDnX62Pu1olpI3NZI4gsLuAIOVt0kT4KOCGRwc+ONrXOHOQMZWZF27tYhgWLHxCIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC8c0OaWneCMFeogJ\/R1LVUVsnp6qF8RbOS3bbjIwPuVAiLsnd3K6cFTgoLgf\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "FERNANDA EEUU TOCOPILLA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "+56975628880",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28799\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28799\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28799\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "09:50",
    "ubicacionGPS": "LatLng(lat: -22.1085403, lng: -70.2103008)",
    "horaLlegada": "09:43",
    "horaDespacho": "09:49",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


27/05/2026 09:50:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[27/05/2026 09:50:19] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP2204', 1, 24456550, 11941, NOW(), 
				'09:49', '09:43', '09:50', 10, '•Entrega de tintas', -1, 
				'', '','1','24415',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779889819.png', '', null, 'COMPLETADO','LatLng(lat: -22.1085403, lng: -70.2103008)' )
				
[27/05/2026 09:50:19] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200441
[27/05/2026 09:50:19] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200441', 'EPS-I303', 1)
				
[27/05/2026 09:50:19] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28799 and
				    IDproducto = 'EPS-I303'
				

27/05/2026 09:50:19 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I303';
                [27/05/2026 09:50:19] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200441', 'EPS-I304', 1)
				
[27/05/2026 09:50:19] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28799 and
				    IDproducto = 'EPS-I304'
				

27/05/2026 09:50:19 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                [27/05/2026 09:50:19] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200441', 'EPS-I305', 1)
				
[27/05/2026 09:50:19] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28799 and
				    IDproducto = 'EPS-I305'
				

27/05/2026 09:50:19 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I305';
                
27/05/2026 09:50:19 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200441'                    
				WHERE idllamado = 12742			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


27/05/2026 09:50:19 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12742			
				
27/05/2026 09:50:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


27/05/2026 09:50:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:50:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:50:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/2026 09:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

[27/05/2026 09:50: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;
                

27/05/2026 09:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:50:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/2026 09:50:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/2026 09:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

[27/05/2026 09:50: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;
                

27/05/2026 09:50:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/2026 09:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

[27/05/2026 09:50: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;
                

27/05/2026 09:50:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12742
            GROUP BY l.idllamado;
            

27/05/2026 09:50:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:50:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:50:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                

27/05/2026 09:50:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12742
                
[27/05/2026 10:21:32] 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;
                
[27/05/2026 10:21: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				

[27/05/2026 10:21: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;
                

27/05/2026 10:21:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12700
            GROUP BY l.idllamado;
            

[27/05/2026 10:21:41] 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;
                

27/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12700
            GROUP BY l.idllamado;
            

[27/05/2026 10:21: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;
                

27/05/2026 10: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12700
            GROUP BY l.idllamado;
            

27/05/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 = 12700
                

27/05/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 = 12700
                

27/05/2026 10:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12700
            GROUP BY l.idllamado;
            

27/05/2026 10: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 = 12700
                

27/05/2026 10: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 = 12700
                

27/05/2026 10:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12700
            GROUP BY l.idllamado;
            

27/05/2026 10: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 = 12700
                

27/05/2026 10: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 = 12700
                

27/05/2026 10:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:22:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12700
            GROUP BY l.idllamado;
            

27/05/2026 10:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/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 = 12700
                

27/05/2026 10:22:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12700
            GROUP BY l.idllamado;
            

27/05/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 = 12700
                

27/05/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 = 12700
                

27/05/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 = 12700
                

27/05/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 = 12700
                

27/05/2026 10:22:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12700
            GROUP BY l.idllamado;
            

27/05/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 = 12700
                

27/05/2026 10:22:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:22:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12700
            GROUP BY l.idllamado;
            

27/05/2026 10:22:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:22:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:22:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/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 = 12700
                

27/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12700
            GROUP BY l.idllamado;
            

27/05/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 = 12700
                

27/05/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 = 12700
                

27/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12700
            GROUP BY l.idllamado;
            

27/05/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 = 12700
                

27/05/2026 10:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/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 = 12700
                

27/05/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 = 12700
                

27/05/2026 10:22:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12700
            GROUP BY l.idllamado;
            

27/05/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 = 12700
                

27/05/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 = 12700
                

27/05/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 = 12700
                

27/05/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 = 12700
                

27/05/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 = 12700
                

27/05/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 = 12700
                

27/05/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 = 12700
                

27/05/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 = 12700
                

27/05/2026 10:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12700
            GROUP BY l.idllamado;
            

27/05/2026 10:22:55 - logentry: =========================================
FECHA: 27/05/2026 10:22:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-KCUfZf_Cx9hkiMtGcA0o72+uUSEuGqzzuotbcnsrIfHUAg3edvL
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2584",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "sin contador sin tinta ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12700",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABTANsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xAA9EAABAwMCAQkEBwgDAQAAAAABAAIDBAURBiExEhNBUWFxgZGhFCKxwRUWMkJS0eEjJDM1Q1NysjRidNL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAvEQACAQIEAwcCBwAAAAAAAAAAAQIDEQQSITFBUaETMmFxkdHhFCIjM0KBgrHw\/9oADAMBAAIRAxEAPwD9mREQBERAEREARF4z1VNSt5VRURQt65Hho9UIbS3PZFVnUlmBwbjDxxscr3gvNsqf4NfTuPVzgB8uKnK+RRVab0Ul6k1F8BBGQcgr6oNAihXO70VphElXMG8r7LBu53cFirxqatuTCwn2KkcMhjTmSQfkfAd60jTcjmrYqnS0er5GkvOraG1kwxfvNQOLGHZvefyUPTt0vl4uJqpWtbQAFpGMDOPu9J3VbYdHSVTm1NyjMVPjLYs4e\/v6h69y3MUUcMTYomBjGDDWtGAArSyRVlqzCiq9aSnN2XBe52iIsT0AiIgCIiAIiIAiIgCIiAIi8Z6qmphmoqIoQf7jw34oQ2lueyKtk1FZ4+NxgP8Ag7lfBRn6wsbDgVhd\/jE\/8lbJLkZuvSW8l6nF9u1bZ7hSTuaHW155MuG5cD3+o7irSruVHRUXtk8zWwkAtI35WeGOtZ25ausVdRTUssVRKx7cbRjj0EZPQsva6mndPGbhFU1ogGIYGbtG+d+zsWqp3WqOCeLUJtQkmn0+DVG4X7UJ5Nuh9goyf+S\/7Th1j9PNSKfRdubIZayWaskO55x2BnuG\/qvFuq6wtDafTlW4AbAAjbwaV9+ntQybRaec0\/8Acn9EtJbaFlKg9Ztyfk\/6tYtG6bszRgW6HhjcZXhPpGyT7+x82euN7h6ZwoXt+sJdmWqljHW5w\/8Ar5Kuu111Hbm5qq+lgc47RRNDn47Bg+pUKM76PqTOpQUbunp5e5Pl01XWqN81pvL4gNy2oPu4znc8PT5qsl13WCiMIgiFUDyeeactx1gdfoqyCC+6kkwHzzszu6RxEbfl5LU2nRVHRls1a4VUo+6R+zHh0+PktHlj39Wc0O1qP8BOMfF\/7oZq3W65XyV00cbpHvPv1dR9lvY3rPn4LYWjS9HbXCeUmqq85Msgzg9g6O\/irprQ1oa0AADAA6F9WUqjlsd1HBwp6vVhERZHYEREAREQBEUWvudHbYucrKhkQ6ATu7uHEolchyUVdkpcySMiYXyPaxo4lxwAsy7UlyuxdHYrc8t4GomwAPDh6nuX2LSElZIJ73cJaqT8DDho7M9W54YWmS3eZzdu5\/lRv47Il1mr7RSe6yZ1S\/8ADA3PrwUL6wX6ubm22QtaQMPmOx7s4CvaK0W+3j91pI4zjHKxl3md1MS8Vsh2daXelby92Zf2HVta7M9xgpGEbtiG48h81oKGCWmoooZ5zUSsbh0rhguKkIquVzSnSUHe7b8WZW619fcb2+zUtUyhYGjL3nkvec\/d6+4KRT6JtkbhJUPnqZOLnPkxk9e2\/qpt209Q3Zwlla6KoaPdmjOHDHDvVWy16ptzQyjucVVE3YNmG+Ojjn4rRS0tF2OWVNqblUjm5cehaR6ZssX2bfEf8su+JUllotkYwy30re6Fv5Kk9u1hCMPtlLMBtymu3Pb9r5KJctR3+io3+1W2Om5wFrZQ7gSOjc7qMsnx6lnWowV8jX8T6YY9R6odA1jRbrdxDGgB7v1I8mnrXvfiLNqG33WPEcMg5iYBu2B+n+qh2i26ooKUw0lPT0zZHcsvkILu7p+C6u1k1DPbpprhc45mwNMgijbxI7gOhaaZt9Dm+7s28jzXve3L4NhNUQUzOXPNHE38T3Bo9VR12s7TSAtie6qeAcCMbZ7z8srMshsEFvp6qslqa2rmZkwNkGx4bkcN+3PYp9v0tU3MiWthZb6T7tPGzEjh2k7+ee4KuSK1kaPE1qmlNK\/r68EcHUt9v0xpbXTiAHiWbuaO1x2HkFcWvSFHTftrh++1Ljlzn5LQe48fFXVFQ01vp2wUsLY2DoHE9pPSpCpKfCOhvTw36qrzPocsYyNgZG0Ma0YDWjAC6RFmdgREQBERAERRa+50dti5ysqGRDoBO7u4cSiVyHJRV2SlFr7nR22LnKyoZEOgE7u7hxKzr9QXa9vMNiozFFnBqZRw+Q9SpNBo+BsvtV1nfX1B3PLJ5P5nx8lpkS7xy9vKppRV\/F7fJGfqC7Xt5hsVGYos4NTKOHyHqVJodIQNk9pus76+oJyQ8nkA\/E+PktCxjI2BkbQxrRgNaMALpHPhHQlYdN5qjzPp6HLGMjYGRtDGtGA1owAukRZnUEREAREQBERAFl7s36T1jQ255zBTs55zeG+5+TfVahZe3hsmvblK87xwgDPBuzR8PiVpDizmxOuWPNr3NLLLHDE6WV4Yxgy5zjgALLVl4r9Qyy2+yRcmmPuS1TxgY6cdXx7l51MlRq+5yUVNMY7XTkF8jR\/EO3rxx0bZWppKOnoKZlPTRCONg2A+J6ypsob7lLyrtqLtHnz8vAzOhKKldbpKwwMdUCYs5w7kAAHbq49C1qzGgf5HN\/6Xf6tWnUVO+y2ESVCNgiIszqCIiAIoFdfLZbsiqrI2vHFgPKd5DdUx1hNWyGOz2qeqPDlu2APbj5kKyhJmM8RTg7N6moVRcdUWq2lzH1HOyt\/pxDlHz4DzVWbHfrz\/ADe4CCAneCHHDw288q3t+nbXbN4KYOf\/AHJPed68PBWtFbu5nnrT7kbLm\/YqPb9SX5mKGmbbqZ39aR3vEdm2fIeKl27R9BSvE9Y51bUZ5RfKds93T45WgRQ5vZaExw8b5pvM\/H2OWMZGwMjaGNaMBrRgBdIiodIREQBERAEREAREQBERAFk443fXW60wJjdU0uI3g4weS3f4+S1iz2pbdU87DeLazNXS8QPvN7uniduoq8HrY5sTFuKkuDuV1tu1RpaBtvudulbE0kiePBBJPkejpyrP652Z0MjmzuD2tJax8bveOOC+0OrrTV0YkqJm08mMPifk+XWFTXB8Wp66KhtVExkDHAzVRhAPJ24Z3HdxK0y3f3Kxydo6cEqU0+Str0PfSF0ttusxjqa2OOSSVzy1x3GwHyV27U1laMm4ReGSjNMWZkbWewRu5IAy7cnvXbdO2ZpyLdB4tyqycG76m9OGIpwUVbTzIkmsrHGSBVOfj8MTvmFGdrq2k4ipquQ9jB+au47Vbocc3QUzMdUTR8lJa1rBhrQ0dgwq3hyNMuIe8kv2+TMfTOpbiSKC0CmYR9uc7jt3x8Cvv1dvdeQ653t7Wn7UUGcEdXQPQrUIpz22RH06l35N9F0Kai0nZ6IhwpueePvTHlenD0VuxjI2BkbQxrRgNaMALpFRtvc3hThBWirBERQXCIiAIiIAiIgCIiAIiIAiIgCIiAIiICHPaLdVTc9PRQvkPFxbuejfrUiGGKnibDDG2ONow1rRgBEU3ZVRindI9ERFBYIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "ALEXA VEGA VEGA",
    "correoContacto": "secretaria.g130@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "552641926",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I906\",\"id_control\":\"28763\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "10:22",
    "ubicacionGPS": "LatLng(lat: -22.9172965, lng: -68.2370559)",
    "horaLlegada": "08:25",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 27/05/2026 10:22:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-KCUfZf_Cx9hkiMtGcA0o72+uUSEuGqzzuotbcnsrIfHUAg3edvL
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2584",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "sin contador sin tinta ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12700",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABTANsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xAA9EAABAwMCAQkEBwgDAQAAAAABAAIDBAURBiExEhNBUWFxgZGhFCKxwRUWMkJS0eEjJDM1Q1NysjRidNL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAvEQACAQIEAwcCBwAAAAAAAAAAAQIDEQQSITFBUaETMmFxkdHhFCIjM0KBgrHw\/9oADAMBAAIRAxEAPwD9mREQBERAEREARF4z1VNSt5VRURQt65Hho9UIbS3PZFVnUlmBwbjDxxscr3gvNsqf4NfTuPVzgB8uKnK+RRVab0Ul6k1F8BBGQcgr6oNAihXO70VphElXMG8r7LBu53cFirxqatuTCwn2KkcMhjTmSQfkfAd60jTcjmrYqnS0er5GkvOraG1kwxfvNQOLGHZvefyUPTt0vl4uJqpWtbQAFpGMDOPu9J3VbYdHSVTm1NyjMVPjLYs4e\/v6h69y3MUUcMTYomBjGDDWtGAArSyRVlqzCiq9aSnN2XBe52iIsT0AiIgCIiAIiIAiIgCIiAIi8Z6qmphmoqIoQf7jw34oQ2lueyKtk1FZ4+NxgP8Ag7lfBRn6wsbDgVhd\/jE\/8lbJLkZuvSW8l6nF9u1bZ7hSTuaHW155MuG5cD3+o7irSruVHRUXtk8zWwkAtI35WeGOtZ25ausVdRTUssVRKx7cbRjj0EZPQsva6mndPGbhFU1ogGIYGbtG+d+zsWqp3WqOCeLUJtQkmn0+DVG4X7UJ5Nuh9goyf+S\/7Th1j9PNSKfRdubIZayWaskO55x2BnuG\/qvFuq6wtDafTlW4AbAAjbwaV9+ntQybRaec0\/8Acn9EtJbaFlKg9Ztyfk\/6tYtG6bszRgW6HhjcZXhPpGyT7+x82euN7h6ZwoXt+sJdmWqljHW5w\/8Ar5Kuu111Hbm5qq+lgc47RRNDn47Bg+pUKM76PqTOpQUbunp5e5Pl01XWqN81pvL4gNy2oPu4znc8PT5qsl13WCiMIgiFUDyeeactx1gdfoqyCC+6kkwHzzszu6RxEbfl5LU2nRVHRls1a4VUo+6R+zHh0+PktHlj39Wc0O1qP8BOMfF\/7oZq3W65XyV00cbpHvPv1dR9lvY3rPn4LYWjS9HbXCeUmqq85Msgzg9g6O\/irprQ1oa0AADAA6F9WUqjlsd1HBwp6vVhERZHYEREAREQBEUWvudHbYucrKhkQ6ATu7uHEolchyUVdkpcySMiYXyPaxo4lxwAsy7UlyuxdHYrc8t4GomwAPDh6nuX2LSElZIJ73cJaqT8DDho7M9W54YWmS3eZzdu5\/lRv47Il1mr7RSe6yZ1S\/8ADA3PrwUL6wX6ubm22QtaQMPmOx7s4CvaK0W+3j91pI4zjHKxl3md1MS8Vsh2daXelby92Zf2HVta7M9xgpGEbtiG48h81oKGCWmoooZ5zUSsbh0rhguKkIquVzSnSUHe7b8WZW619fcb2+zUtUyhYGjL3nkvec\/d6+4KRT6JtkbhJUPnqZOLnPkxk9e2\/qpt209Q3Zwlla6KoaPdmjOHDHDvVWy16ptzQyjucVVE3YNmG+Ojjn4rRS0tF2OWVNqblUjm5cehaR6ZssX2bfEf8su+JUllotkYwy30re6Fv5Kk9u1hCMPtlLMBtymu3Pb9r5KJctR3+io3+1W2Om5wFrZQ7gSOjc7qMsnx6lnWowV8jX8T6YY9R6odA1jRbrdxDGgB7v1I8mnrXvfiLNqG33WPEcMg5iYBu2B+n+qh2i26ooKUw0lPT0zZHcsvkILu7p+C6u1k1DPbpprhc45mwNMgijbxI7gOhaaZt9Dm+7s28jzXve3L4NhNUQUzOXPNHE38T3Bo9VR12s7TSAtie6qeAcCMbZ7z8srMshsEFvp6qslqa2rmZkwNkGx4bkcN+3PYp9v0tU3MiWthZb6T7tPGzEjh2k7+ee4KuSK1kaPE1qmlNK\/r68EcHUt9v0xpbXTiAHiWbuaO1x2HkFcWvSFHTftrh++1Ljlzn5LQe48fFXVFQ01vp2wUsLY2DoHE9pPSpCpKfCOhvTw36qrzPocsYyNgZG0Ma0YDWjAC6RFmdgREQBERAERRa+50dti5ysqGRDoBO7u4cSiVyHJRV2SlFr7nR22LnKyoZEOgE7u7hxKzr9QXa9vMNiozFFnBqZRw+Q9SpNBo+BsvtV1nfX1B3PLJ5P5nx8lpkS7xy9vKppRV\/F7fJGfqC7Xt5hsVGYos4NTKOHyHqVJodIQNk9pus76+oJyQ8nkA\/E+PktCxjI2BkbQxrRgNaMALpHPhHQlYdN5qjzPp6HLGMjYGRtDGtGA1owAukRZnUEREAREQBERAFl7s36T1jQ255zBTs55zeG+5+TfVahZe3hsmvblK87xwgDPBuzR8PiVpDizmxOuWPNr3NLLLHDE6WV4Yxgy5zjgALLVl4r9Qyy2+yRcmmPuS1TxgY6cdXx7l51MlRq+5yUVNMY7XTkF8jR\/EO3rxx0bZWppKOnoKZlPTRCONg2A+J6ypsob7lLyrtqLtHnz8vAzOhKKldbpKwwMdUCYs5w7kAAHbq49C1qzGgf5HN\/6Xf6tWnUVO+y2ESVCNgiIszqCIiAIoFdfLZbsiqrI2vHFgPKd5DdUx1hNWyGOz2qeqPDlu2APbj5kKyhJmM8RTg7N6moVRcdUWq2lzH1HOyt\/pxDlHz4DzVWbHfrz\/ADe4CCAneCHHDw288q3t+nbXbN4KYOf\/AHJPed68PBWtFbu5nnrT7kbLm\/YqPb9SX5mKGmbbqZ39aR3vEdm2fIeKl27R9BSvE9Y51bUZ5RfKds93T45WgRQ5vZaExw8b5pvM\/H2OWMZGwMjaGNaMBrRgBdIiodIREQBERAEREAREQBERAFk443fXW60wJjdU0uI3g4weS3f4+S1iz2pbdU87DeLazNXS8QPvN7uniduoq8HrY5sTFuKkuDuV1tu1RpaBtvudulbE0kiePBBJPkejpyrP652Z0MjmzuD2tJax8bveOOC+0OrrTV0YkqJm08mMPifk+XWFTXB8Wp66KhtVExkDHAzVRhAPJ24Z3HdxK0y3f3Kxydo6cEqU0+Str0PfSF0ttusxjqa2OOSSVzy1x3GwHyV27U1laMm4ReGSjNMWZkbWewRu5IAy7cnvXbdO2ZpyLdB4tyqycG76m9OGIpwUVbTzIkmsrHGSBVOfj8MTvmFGdrq2k4ipquQ9jB+au47Vbocc3QUzMdUTR8lJa1rBhrQ0dgwq3hyNMuIe8kv2+TMfTOpbiSKC0CmYR9uc7jt3x8Cvv1dvdeQ653t7Wn7UUGcEdXQPQrUIpz22RH06l35N9F0Kai0nZ6IhwpueePvTHlenD0VuxjI2BkbQxrRgNaMALpFRtvc3hThBWirBERQXCIiAIiIAiIgCIiAIiIAiIgCIiAIiICHPaLdVTc9PRQvkPFxbuejfrUiGGKnibDDG2ONow1rRgBEU3ZVRindI9ERFBYIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "ALEXA VEGA VEGA",
    "correoContacto": "secretaria.g130@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "552641926",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I906\",\"id_control\":\"28763\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "10:22",
    "ubicacionGPS": "LatLng(lat: -22.9172965, lng: -68.2370559)",
    "horaLlegada": "08:25",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


27/05/2026 10:22:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69253200

[27/05/2026 10:22:55] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69253200', 'EP2584', 1, 27729424, 0, NOW(), 
				'08:00', '08:25', '10:22', 10, 'sin contador sin tinta ', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779891775.png', '', null, 'COMPLETADO','LatLng(lat: -22.9172965, lng: -68.2370559)' )
				
[27/05/2026 10:22:55] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200442
[27/05/2026 10:22:55] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200442', 'EPS-I906', 2)
				
[27/05/2026 10:22:55] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28763 and
				    IDproducto = 'EPS-I906'
				

27/05/2026 10:22:55 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I906';
                
27/05/2026 10:22:55 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200442'                    
				WHERE idllamado = 12700			
				TO ENVIO: micorreo@miempresa.cl, secretaria.g130@gmail.com


27/05/2026 10:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:22:55 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12700			
				
27/05/2026 10:22:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


27/05/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 = 12700
                

27/05/2026 10:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:22:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12700
            GROUP BY l.idllamado;
            

27/05/2026 10:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

[27/05/2026 10:22:58] 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;
                

[27/05/2026 10:22:58] 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;
                

27/05/2026 10:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:22:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12700
            GROUP BY l.idllamado;
            

27/05/2026 10:22:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12700
            GROUP BY l.idllamado;
            

27/05/2026 10:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/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 = 12700
                

27/05/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 = 12700
                
[27/05/2026 10:38:06] 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;
                
[27/05/2026 10:38: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

[27/05/2026 10:38:13] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

[27/05/2026 10:38:15] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 10:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

[27/05/2026 10:38: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;
                

27/05/2026 10:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10: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 = 12764
                

27/05/2026 10:38:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10: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 = 12764
                

27/05/2026 10: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 = 12764
                

27/05/2026 10:38:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10: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 = 12764
                

27/05/2026 10: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 = 12764
                

27/05/2026 10: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 = 12764
                

27/05/2026 10:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10: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 = 12764
                

27/05/2026 10: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 = 12764
                

27/05/2026 10:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:38:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:38:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10:38:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/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 = 12764
                

27/05/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 = 12764
                

27/05/2026 10:38:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/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 = 12764
                

27/05/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 = 12764
                

27/05/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 = 12764
                

27/05/2026 10:38:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/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 = 12764
                

27/05/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 = 12764
                

27/05/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 = 12764
                

27/05/2026 10:39:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10:39:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:39:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:39:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10:39:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:39:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:39:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:39:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:39:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:39:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10:39:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:50:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12700
            GROUP BY l.idllamado;
            

[27/05/2026 10:50: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;
                

[27/05/2026 10:50: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;
                

27/05/2026 10:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:50:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12700
            GROUP BY l.idllamado;
            

27/05/2026 10:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12700
                

27/05/2026 10:50:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12765
            GROUP BY l.idllamado;
            

27/05/2026 10:50:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12765
            GROUP BY l.idllamado;
            

27/05/2026 10:50:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12765
            GROUP BY l.idllamado;
            

[27/05/2026 10:50: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;
                

[27/05/2026 10:50: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;
                

27/05/2026 10:50:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12765
                

27/05/2026 10:50:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12765
                

27/05/2026 10:50:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12765
                

27/05/2026 10:50:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12765
                

[27/05/2026 10:50: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;
                

27/05/2026 10:50:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12765
            GROUP BY l.idllamado;
            

27/05/2026 10:50:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12765
            GROUP BY l.idllamado;
            

27/05/2026 10:50:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12765
            GROUP BY l.idllamado;
            

27/05/2026 10:50:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12765
                

27/05/2026 10:50:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12765
            GROUP BY l.idllamado;
            

[27/05/2026 10:50: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;
                

27/05/2026 10:50:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12765
                

27/05/2026 10:50:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12765
                

27/05/2026 10:50:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12765
                

27/05/2026 10:50:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12765
                

27/05/2026 10:50:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12765
                

27/05/2026 10:50:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12765
            GROUP BY l.idllamado;
            

[27/05/2026 10:50: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;
                

27/05/2026 10:50:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12765
            GROUP BY l.idllamado;
            

27/05/2026 10: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 = 12765
                

[27/05/2026 10:50: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;
                

27/05/2026 10: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 = 12765
                

27/05/2026 10:50:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12765
            GROUP BY l.idllamado;
            

27/05/2026 10:50:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12765
            GROUP BY l.idllamado;
            

27/05/2026 10: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 = 12765
                

27/05/2026 10: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 = 12765
                

27/05/2026 10: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 = 12765
                

27/05/2026 10: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 = 12765
                

27/05/2026 10: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 = 12765
                

27/05/2026 10: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 = 12765
                

27/05/2026 10:51:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10: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 = 12764
                

27/05/2026 10: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 = 12764
                

27/05/2026 10:51:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10: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 = 12764
                

27/05/2026 10: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 = 12764
                

27/05/2026 10: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 = 12764
                

27/05/2026 10:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10:51:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:51:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10: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 = 12764
                

27/05/2026 10: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 = 12764
                

27/05/2026 10: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 = 12764
                

27/05/2026 10:51:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10: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 = 12764
                

27/05/2026 10: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 = 12764
                

27/05/2026 10: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 = 12764
                

27/05/2026 10:52:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:52:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:52:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:52:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10:52:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:52:14 - logentry: =========================================
FECHA: 27/05/2026 10:52:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-cnRfF70PrHNM0o1ehijsxO-9GtAgSam0fdbsHW6Z4HgBFiq-wsl
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "73836100",
    "serieinterna": "EP3153",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se conecta 5 pc para imprimir en la multifuncional\nno se obtiene contador ya que no se tiene acceso al equipo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12764",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADaAHUDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABCEAABAwMCAgYGBggFBQAAAAABAAIDBAURBiESMRNBUWGBkRQicaGxwSMyUsLR4QcVJEJTgqKyQ0V00vAzNDZykv\/EABkBAAMBAQEAAAAAAAAAAAAAAAACBAMBBf\/EADERAAIBAgQDBgUEAwAAAAAAAAABAgMRBBIhMUFRcRMiMpGxwTNhoeHwBUKB0SNScv\/aAAwDAQACEQMRAD8A\/ZkREAFm3+4T2uzzVlOxjnxluzwSMEgdRHatJTmuKoQWHoP3qiRrfAet8gmgrySMcRLJSlL5G3b53VVtpqh4AdNCx7gO0gFeheGykGx0GDn9mj\/tC9y49x4O8UwiIuDhERABERABERABERABERABQurnPulzlhid9HboC9xx+8SM7+LR4FWVfWR2+hmq5d2xMLsdvYPEqUoqR8mlbrdKk5nrWveXYx6ozjHdn5LWnp3iHF99dmur6L7lDp5wdp+hI\/gtHktJZOl3F2m6In7BHkSFrJJeJlNF3px6IIiJTUIiIAIiIAIiIAIiIAIi4ySMijdJI7hYwFzj2AIAmNVzur6yjsMHrPneHy4\/db\/zJ8Ati7QxxadrIWMDY46V4a0dQDTj4LH0nC6vrK2\/T7vmkLIsj6rdvlgeBW\/dADaawEZBgf8A2lay0ajyIqac4yqv923TgeDSJLtMUZPY8f1uWysLRpJ01T5PJz8f\/RW6kn4mb4f4MeiCIiU2CIvPXVbKChmq5AS2JhcQOvuQcbSV2Z171A22PZSU0Rqa6X6kLc7d5x8FnsodW1oMs9xiow4bRMaCW+Q+ZXbpKiMsUt6qm5qqx7nAkfVbnq9vwwqRatqOiJIQlWWebaT2S08yXdQasosSU9xirDvxRvGM+f4hd9v1M81DaO8Upoah31XHZj+Xby596oVlajtjLpZ5o+EGWMccTusEfiNlxSUtJI7KlKms1OT6PU1UWTpivdcLDTyyO4pGAxvPePywiRqzsUQmpxUlxNZYOsK51LZHQx5MtU4RNA54PP3beK3lK3FouuuKSjcOKKij6R4OTvz\/ANiaC1vyMsTJqnlW708zetVELfa6akHONgDuXPmffldta3ioahuM5icMduy718cA5padwRgpb63NlFKOVE\/ol2dOsGc4lePYqFTOhCRZ6iI7mOpcPc381TJqniZjhXejHoEREhQFPa2nMOnnMBI6aVrNvP7qoVPa3hMmnXPH+FK1x+HzTw8SJ8TfsZW5G1RU4pKGCnaMCKNrPIYXeuiim9Ioaef+JE1\/PPMZ5rvSvc2jaysF8IBGCMgr6vhIAyTgBcGJnRWYYbhRZyIKk4+H3UX3Rf00NwrA3DZ6okHt6\/miep4mTYT4MSmUvpIemXC63U7iWbgYe7OceRatq9VJo7LVztOHNidwnvOw95Xi0jTCn05T9svFIcd529wC6tINhPvV4x5Jv2NtERZlJMaS+iuN6pjt0dTkDxcPkqdTFmPQa1u9P9tok+B+8qdPU8VybC\/Dtyb9QiIkKQvBfKb0uyVkABJdES0DrI3HvC96+EAjBGQV1OzuLKOaLi+Jj6SqfSdOU2+XRAxnuwdvdhbKltOuNsv9xsziAwu6aIAYG+OXgR5KpTTVpGOGlekk91p5BZ9+qfQ7FWTA4IiLWnsJ2HvK0FM62kc+jpKCP69VOAOs7d3tIXIK8kNiJ5KUme7SlKaXTtKD9aQGQ\/zHI92EWrDE2GFkTPqsaGj2BFxu7uPTjkgo8jB1tP0WnXs\/jStZy\/m+6tqig9Goaen\/AIUTWc+wYU\/qz9puVnoBv0lRxOHYMgZ8ifJU6Z6RRjT1rTfKy9\/cIiJCkmJz6L+kKB3IVVPgnvwf9oVOpjVYFLdLRccYEc\/A892Qfby4lTp5bJk1DSc4\/O\/mgiIkKQiIgCWv2Ldqu13IuwyT6F++Mcxn+r3KpWJq6i9M0\/MQMvg+lGB2c\/dlZh1PVV9HR0Fqb0twmiHSyEbRnG59vWtcrlFWIu0VGpJPjqvQrlLzNN013G0Diht0eXEDYO5jf2keR714bfPNZ79XCarkqm09MZZ8OOC\/Y43znd2B4rT0bRkUM1ymaenrZC8k\/Zz+OT5LuXImxe17eUYWtrd\/x9yjREWJeTFZ+0\/pAo4zu2npy4jvw7f3jyVOpejHT\/pCrX5y2CnAHk38SqhPPh0JsPrnfzf9BERIUmBrWDptOyPxnoZGv9+Pmte31HpVupqj+LE1537RldN6p\/SrLWQ8PEXQu4R3gZHvwvFpKpEumadz3j6IOa4k8sE492FpvAm8OI6r0f3O2\/3uOz0nqjpKqX1YYxuSe0jsWF016tFXbquurHv9NlLZYHE8MYPDtzwD8F32Tjv+oqi8S5NNTHo6Zp5Z7cezc97h2Lt1T+03izUQz603G72ZH5p0knl8yapKVSLqp6X089\/5KdEU9f75NHOy02r6Svm2JH+EPxxv3c1jGLk7IuqVI045mfL\/AHiSWU2W1sE1XMC2Q9UTTzz348l49GGnoqC4GVjW1FK89M4HfhA7ezZy9+mrdJa5ammmoyJBhzqwuyJid8DbbCnNSma1Xmvii2juMbSc+0Z57cwfNbxSfcR51SUoWxE\/mrcvx8Ty8c9dG4AO6e71Xtwxp+HEf6OpfpFPBHTU8cEQwyNoa0dwUfo2jFVcJK8tzDSMEEDsYBONzjvyT\/MrRLVetjXAw7rm+P59XcIiLE9AmLP6+tru8cgwN\/t\/BU6mLH\/5hefD4qnTz3JsL4H1fqEREhSfCARgjIK\/PIbgbdYLhZ2nNS+qMTW53wdj\/bjxX6IoeioIZv0h1A2cyF7psH7W3wc7PgtadtbkGMUm4Zd3p5lDF6PpjTrOkGRC0cWMZe8\/mfAexYVlr36i1bHWvi4G0tOcDO2eX3j5Ly6puf6wuDhHh9HQEAnYh8pzgd425dgcvPYrl+prZI+CMS19a8RwM5kAbZ8SSMdeFood1viyaddOqoLwR9vvoVOoL8aDhoKJhmuE4wxjd+DPWe\/sXLT1gZaYTPUHpa6beWQnOM9QPxPWvthsP6v4qysf09wm3kkO\/DnqC2lk2ksqLqdOU5dpU34Ll9wvzjWtaKq+uib9WmYI845nmfjjwV\/XVbKChmq5AS2JhcQOvuX5pRWuovEVxr3EnoGGVx+28nJHlk+XanoqzzMm\/UJNpUo7vXyP0az0EdstcFKzB4W5c4fvOO5PmvaszTtb6fYqWZzsvDOB5z1jb5Z8VprGV7u5fScXBZdrBERcNCYs\/wBHra7xHm5gf8PxVOphv0H6RH7f9xTdXcB\/tVOnnuuhNhtpLk2EREhSdVTUMpKWWokOGRML3ewDK\/MIKyvoqwXJmelrWycJbncuJBI9h36+StNZ1boLL6PH\/wBSqkEY6tuZ38APFRNdNNUGCSAP9HhxTwHB3IGT45OermFTRWnU8fH1O+knt6\/nqeeodwsZSxHiYw5LmkkPftny5D81b6W0wLe1ldWjiqSPo2H\/AAgfn8FN6fs8kmpYaapaAYAJpGHfGMEA9+SM5\/JfpaK07d1BgMOpN1JrbYIiKY9gmdc1JjtEVIzd9TKBw75IG+w698LUsVrbarRFSkAvI4pe9x5\/h4L3yRRyhokja8NcHDiGcEcj7VzT5u7lMFR\/yuo+ViW0k70K4XKzOJHQyl8YOd28j93zVSpa6D9W60oK7JEdW3oX8+fL5t8lUrs9XfmJhu6nT\/1f03QREWZUTF+\/ZdWWas5B5MJPjj76p1N63hd+qoauPaSmna4OzyB\/PCoIZWzwRzM+rI0OHsIynlrFMmpaVZx6P88jsRFxe9sbHPecNaCSewJCkgdb1T6m+RUkeSYGAAA\/vO3+HCvVqOiZZ9OWuJjfXhmBce12CT715dNxG96rluErMsjcZt9sHPqjw5+C9evq9pdT29uCW\/SuOeXMAfFVbSjDkeG7Sp1K746L8\/NjS0dRubQzXKZv09bIXkn7OfxyfJUa4RRMhiZFG0NYxoa1o6gOQXNTyd3c9ilT7OCiEREpoEREATutqXprGKho9emka8HG+DsfiPJbdFUisoYKkDAlja\/HZkL7V07aujmpn\/VlYWHxGFhaKqnPtMlFLtJRylhGOo7\/ABz5LTeHQm8GI\/6X1X2KNERZlJ47vRC4WmppdsyMPDn7Q3HvAWfpCtNZYImPJ6SmJhdnu5e4geC3FK27Fk1hU2\/h4KevAki7AcE48+IeS0jrFolq9yrGfB6P2KpY2rKv0TTtSR9aUCIePP3ZWypTWYfW1dstcZIM8pJ7ByAPvK5TV5IbEycaMrb7eeh3aVp47Ppp9dUjg6UGZ5PPgA9X3bj2qXr4pq63OvFQ3EtbWcMeTsGgEbbcuQ\/lVFqaV1ZLS6bt4ILi3psA4YwYxnu6\/AL5qymipqC1UcQLYmTtYB3AY59q2i9b8WefWhem4LaC+rKxERTHsBERABERABS9GDbNc1MBbww3BnGw42LuZ9\/F5qoUvrKJ9P6Dd4R69LKA71c7HcZ8R\/UtIb25k2J0ipr9rv8A2VCLjHIyWNskbuJjwHNPaCizKTksXUtnkudIyalPDWUzuOFwOPaM+GR3hbSLqbTuhKkFUi4sybFfIbtStDnCOqZ6ssR2PF1kDs2K6r\/NbbYWXaeNr62IFsA4jlxIIxjsGSfzXK6aYoLpL05L6efPF0kRAye0+QXTQ6QoaWqbVTyy1krfq9MQQD7Fosl7kzVdrI0n8\/e3M46Xtk0Qmu1ac1db62CMcDSc48dtu4Lp1n\/ln+pHyVOpjWf+Wf6kfJEXedzlamqeHcV+alOiIsi0IiIAIiIALwXujNfZaumH1nRkt\/8AYbj3gL01FVT0kfSVM8cLPtSODR71hVWsqPjMFtgmrpyDwhjDjPx8gmipN3RjWqU4xcZvc9Wk6v0vTtNlxLogYnZ6scvdhE0vaprTa3RVBHSySF7mg7DkPkiJ2zOwUM3ZRzb2NlERKbBERABTGr96yzNO4NTuO3dqp1Ma0PAbZNy4Kket2cj8k9PxE2L+C\/49SnRESFIREQAU1cNQVVbUuttgj6aYZEk\/7rO8Hl27922V79RNuctvEFrYekmeGveH8JY3tXptVqprRRtp6dve955vPaU6sldk9TPOWSOi4v2Rj0ejacvNRdqiSuqHbnLiGj5n\/my36ajpqNnBTQRwt7GNAXci45N7j06NOn4UEREpqEREAEREAFN64hkls8LomFz2VDSA0ZPJ3V5KkRNF5Xczq0+0g4czi0lzASMEjOOxckRKaBERABERABERABERAH\/\/2Q==",
    "razonSocial": "FUNDACION NUESTRA SEÑORA DE ANDACOLLO",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "CONEXIÓN",
    "prioridad": "1",
    "telefonocontacto": "+56990956158",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:52",
    "ubicacionGPS": "LatLng(lat: -29.8680942, lng: -71.2365237)",
    "horaLlegada": "09:49",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 27/05/2026 10:52:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-cnRfF70PrHNM0o1ehijsxO-9GtAgSam0fdbsHW6Z4HgBFiq-wsl
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "73836100",
    "serieinterna": "EP3153",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se conecta 5 pc para imprimir en la multifuncional\nno se obtiene contador ya que no se tiene acceso al equipo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12764",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADaAHUDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABCEAABAwMCAgYGBggFBQAAAAABAAIDBAURBiESMRNBUWGBkRQicaGxwSMyUsLR4QcVJEJTgqKyQ0V00vAzNDZykv\/EABkBAAMBAQEAAAAAAAAAAAAAAAACBAMBBf\/EADERAAIBAgQDBgUEAwAAAAAAAAABAgMRBBIhMUFRcRMiMpGxwTNhoeHwBUKB0SNScv\/aAAwDAQACEQMRAD8A\/ZkREAFm3+4T2uzzVlOxjnxluzwSMEgdRHatJTmuKoQWHoP3qiRrfAet8gmgrySMcRLJSlL5G3b53VVtpqh4AdNCx7gO0gFeheGykGx0GDn9mj\/tC9y49x4O8UwiIuDhERABERABERABERABERABQurnPulzlhid9HboC9xx+8SM7+LR4FWVfWR2+hmq5d2xMLsdvYPEqUoqR8mlbrdKk5nrWveXYx6ozjHdn5LWnp3iHF99dmur6L7lDp5wdp+hI\/gtHktJZOl3F2m6In7BHkSFrJJeJlNF3px6IIiJTUIiIAIiIAIiIAIiIAIi4ySMijdJI7hYwFzj2AIAmNVzur6yjsMHrPneHy4\/db\/zJ8Ati7QxxadrIWMDY46V4a0dQDTj4LH0nC6vrK2\/T7vmkLIsj6rdvlgeBW\/dADaawEZBgf8A2lay0ajyIqac4yqv923TgeDSJLtMUZPY8f1uWysLRpJ01T5PJz8f\/RW6kn4mb4f4MeiCIiU2CIvPXVbKChmq5AS2JhcQOvuQcbSV2Z171A22PZSU0Rqa6X6kLc7d5x8FnsodW1oMs9xiow4bRMaCW+Q+ZXbpKiMsUt6qm5qqx7nAkfVbnq9vwwqRatqOiJIQlWWebaT2S08yXdQasosSU9xirDvxRvGM+f4hd9v1M81DaO8Upoah31XHZj+Xby596oVlajtjLpZ5o+EGWMccTusEfiNlxSUtJI7KlKms1OT6PU1UWTpivdcLDTyyO4pGAxvPePywiRqzsUQmpxUlxNZYOsK51LZHQx5MtU4RNA54PP3beK3lK3FouuuKSjcOKKij6R4OTvz\/ANiaC1vyMsTJqnlW708zetVELfa6akHONgDuXPmffldta3ioahuM5icMduy718cA5padwRgpb63NlFKOVE\/ol2dOsGc4lePYqFTOhCRZ6iI7mOpcPc381TJqniZjhXejHoEREhQFPa2nMOnnMBI6aVrNvP7qoVPa3hMmnXPH+FK1x+HzTw8SJ8TfsZW5G1RU4pKGCnaMCKNrPIYXeuiim9Ioaef+JE1\/PPMZ5rvSvc2jaysF8IBGCMgr6vhIAyTgBcGJnRWYYbhRZyIKk4+H3UX3Rf00NwrA3DZ6okHt6\/miep4mTYT4MSmUvpIemXC63U7iWbgYe7OceRatq9VJo7LVztOHNidwnvOw95Xi0jTCn05T9svFIcd529wC6tINhPvV4x5Jv2NtERZlJMaS+iuN6pjt0dTkDxcPkqdTFmPQa1u9P9tok+B+8qdPU8VybC\/Dtyb9QiIkKQvBfKb0uyVkABJdES0DrI3HvC96+EAjBGQV1OzuLKOaLi+Jj6SqfSdOU2+XRAxnuwdvdhbKltOuNsv9xsziAwu6aIAYG+OXgR5KpTTVpGOGlekk91p5BZ9+qfQ7FWTA4IiLWnsJ2HvK0FM62kc+jpKCP69VOAOs7d3tIXIK8kNiJ5KUme7SlKaXTtKD9aQGQ\/zHI92EWrDE2GFkTPqsaGj2BFxu7uPTjkgo8jB1tP0WnXs\/jStZy\/m+6tqig9Goaen\/AIUTWc+wYU\/qz9puVnoBv0lRxOHYMgZ8ifJU6Z6RRjT1rTfKy9\/cIiJCkmJz6L+kKB3IVVPgnvwf9oVOpjVYFLdLRccYEc\/A892Qfby4lTp5bJk1DSc4\/O\/mgiIkKQiIgCWv2Ldqu13IuwyT6F++Mcxn+r3KpWJq6i9M0\/MQMvg+lGB2c\/dlZh1PVV9HR0Fqb0twmiHSyEbRnG59vWtcrlFWIu0VGpJPjqvQrlLzNN013G0Diht0eXEDYO5jf2keR714bfPNZ79XCarkqm09MZZ8OOC\/Y43znd2B4rT0bRkUM1ymaenrZC8k\/Zz+OT5LuXImxe17eUYWtrd\/x9yjREWJeTFZ+0\/pAo4zu2npy4jvw7f3jyVOpejHT\/pCrX5y2CnAHk38SqhPPh0JsPrnfzf9BERIUmBrWDptOyPxnoZGv9+Pmte31HpVupqj+LE1537RldN6p\/SrLWQ8PEXQu4R3gZHvwvFpKpEumadz3j6IOa4k8sE492FpvAm8OI6r0f3O2\/3uOz0nqjpKqX1YYxuSe0jsWF016tFXbquurHv9NlLZYHE8MYPDtzwD8F32Tjv+oqi8S5NNTHo6Zp5Z7cezc97h2Lt1T+03izUQz603G72ZH5p0knl8yapKVSLqp6X089\/5KdEU9f75NHOy02r6Svm2JH+EPxxv3c1jGLk7IuqVI045mfL\/AHiSWU2W1sE1XMC2Q9UTTzz348l49GGnoqC4GVjW1FK89M4HfhA7ezZy9+mrdJa5ammmoyJBhzqwuyJid8DbbCnNSma1Xmvii2juMbSc+0Z57cwfNbxSfcR51SUoWxE\/mrcvx8Ty8c9dG4AO6e71Xtwxp+HEf6OpfpFPBHTU8cEQwyNoa0dwUfo2jFVcJK8tzDSMEEDsYBONzjvyT\/MrRLVetjXAw7rm+P59XcIiLE9AmLP6+tru8cgwN\/t\/BU6mLH\/5hefD4qnTz3JsL4H1fqEREhSfCARgjIK\/PIbgbdYLhZ2nNS+qMTW53wdj\/bjxX6IoeioIZv0h1A2cyF7psH7W3wc7PgtadtbkGMUm4Zd3p5lDF6PpjTrOkGRC0cWMZe8\/mfAexYVlr36i1bHWvi4G0tOcDO2eX3j5Ly6puf6wuDhHh9HQEAnYh8pzgd425dgcvPYrl+prZI+CMS19a8RwM5kAbZ8SSMdeFood1viyaddOqoLwR9vvoVOoL8aDhoKJhmuE4wxjd+DPWe\/sXLT1gZaYTPUHpa6beWQnOM9QPxPWvthsP6v4qysf09wm3kkO\/DnqC2lk2ksqLqdOU5dpU34Ll9wvzjWtaKq+uib9WmYI845nmfjjwV\/XVbKChmq5AS2JhcQOvuX5pRWuovEVxr3EnoGGVx+28nJHlk+XanoqzzMm\/UJNpUo7vXyP0az0EdstcFKzB4W5c4fvOO5PmvaszTtb6fYqWZzsvDOB5z1jb5Z8VprGV7u5fScXBZdrBERcNCYs\/wBHra7xHm5gf8PxVOphv0H6RH7f9xTdXcB\/tVOnnuuhNhtpLk2EREhSdVTUMpKWWokOGRML3ewDK\/MIKyvoqwXJmelrWycJbncuJBI9h36+StNZ1boLL6PH\/wBSqkEY6tuZ38APFRNdNNUGCSAP9HhxTwHB3IGT45OermFTRWnU8fH1O+knt6\/nqeeodwsZSxHiYw5LmkkPftny5D81b6W0wLe1ldWjiqSPo2H\/AAgfn8FN6fs8kmpYaapaAYAJpGHfGMEA9+SM5\/JfpaK07d1BgMOpN1JrbYIiKY9gmdc1JjtEVIzd9TKBw75IG+w698LUsVrbarRFSkAvI4pe9x5\/h4L3yRRyhokja8NcHDiGcEcj7VzT5u7lMFR\/yuo+ViW0k70K4XKzOJHQyl8YOd28j93zVSpa6D9W60oK7JEdW3oX8+fL5t8lUrs9XfmJhu6nT\/1f03QREWZUTF+\/ZdWWas5B5MJPjj76p1N63hd+qoauPaSmna4OzyB\/PCoIZWzwRzM+rI0OHsIynlrFMmpaVZx6P88jsRFxe9sbHPecNaCSewJCkgdb1T6m+RUkeSYGAAA\/vO3+HCvVqOiZZ9OWuJjfXhmBce12CT715dNxG96rluErMsjcZt9sHPqjw5+C9evq9pdT29uCW\/SuOeXMAfFVbSjDkeG7Sp1K746L8\/NjS0dRubQzXKZv09bIXkn7OfxyfJUa4RRMhiZFG0NYxoa1o6gOQXNTyd3c9ilT7OCiEREpoEREATutqXprGKho9emka8HG+DsfiPJbdFUisoYKkDAlja\/HZkL7V07aujmpn\/VlYWHxGFhaKqnPtMlFLtJRylhGOo7\/ABz5LTeHQm8GI\/6X1X2KNERZlJ47vRC4WmppdsyMPDn7Q3HvAWfpCtNZYImPJ6SmJhdnu5e4geC3FK27Fk1hU2\/h4KevAki7AcE48+IeS0jrFolq9yrGfB6P2KpY2rKv0TTtSR9aUCIePP3ZWypTWYfW1dstcZIM8pJ7ByAPvK5TV5IbEycaMrb7eeh3aVp47Ppp9dUjg6UGZ5PPgA9X3bj2qXr4pq63OvFQ3EtbWcMeTsGgEbbcuQ\/lVFqaV1ZLS6bt4ILi3psA4YwYxnu6\/AL5qymipqC1UcQLYmTtYB3AY59q2i9b8WefWhem4LaC+rKxERTHsBERABERABS9GDbNc1MBbww3BnGw42LuZ9\/F5qoUvrKJ9P6Dd4R69LKA71c7HcZ8R\/UtIb25k2J0ipr9rv8A2VCLjHIyWNskbuJjwHNPaCizKTksXUtnkudIyalPDWUzuOFwOPaM+GR3hbSLqbTuhKkFUi4sybFfIbtStDnCOqZ6ssR2PF1kDs2K6r\/NbbYWXaeNr62IFsA4jlxIIxjsGSfzXK6aYoLpL05L6efPF0kRAye0+QXTQ6QoaWqbVTyy1krfq9MQQD7Fosl7kzVdrI0n8\/e3M46Xtk0Qmu1ac1db62CMcDSc48dtu4Lp1n\/ln+pHyVOpjWf+Wf6kfJEXedzlamqeHcV+alOiIsi0IiIAIiIALwXujNfZaumH1nRkt\/8AYbj3gL01FVT0kfSVM8cLPtSODR71hVWsqPjMFtgmrpyDwhjDjPx8gmipN3RjWqU4xcZvc9Wk6v0vTtNlxLogYnZ6scvdhE0vaprTa3RVBHSySF7mg7DkPkiJ2zOwUM3ZRzb2NlERKbBERABTGr96yzNO4NTuO3dqp1Ma0PAbZNy4Kket2cj8k9PxE2L+C\/49SnRESFIREQAU1cNQVVbUuttgj6aYZEk\/7rO8Hl27922V79RNuctvEFrYekmeGveH8JY3tXptVqprRRtp6dve955vPaU6sldk9TPOWSOi4v2Rj0ejacvNRdqiSuqHbnLiGj5n\/my36ajpqNnBTQRwt7GNAXci45N7j06NOn4UEREpqEREAEREAFN64hkls8LomFz2VDSA0ZPJ3V5KkRNF5Xczq0+0g4czi0lzASMEjOOxckRKaBERABERABERABERAH\/\/2Q==",
    "razonSocial": "FUNDACION NUESTRA SEÑORA DE ANDACOLLO",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "CONEXIÓN",
    "prioridad": "1",
    "telefonocontacto": "+56990956158",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:52",
    "ubicacionGPS": "LatLng(lat: -29.8680942, lng: -71.2365237)",
    "horaLlegada": "09:49",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


27/05/2026 10:52:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:73836100

[27/05/2026 10:52:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('73836100', 'EP3153', 1, 20988335, 0, NOW(), 
				'08:00', '09:49', '10:52', 15, 'se conecta 5 pc para imprimir en la multifuncional
no se obtiene contador ya que no se tiene acceso al equipo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779893534.png', '', null, 'COMPLETADO','LatLng(lat: -29.8680942, lng: -71.2365237)' )
				
[27/05/2026 10:52:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200443

27/05/2026 10:52:14 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200443'                    
				WHERE idllamado = 12764			
				TO ENVIO: null, tecnico@dsprint.cl


27/05/2026 10:52:15 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12764			
				
27/05/2026 10:52:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


27/05/2026 10:52:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:52:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:52:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:52:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10:52:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12764
            GROUP BY l.idllamado;
            

27/05/2026 10:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

[27/05/2026 10:52:20] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 10:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

[27/05/2026 10:52:20] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 10:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12764
                

27/05/2026 10:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12767
            GROUP BY l.idllamado;
            

[27/05/2026 10:52:23] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 10:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12767
            GROUP BY l.idllamado;
            

[27/05/2026 10:52:23] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 10:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12767
            GROUP BY l.idllamado;
            

27/05/2026 10:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12767
                

27/05/2026 10:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12767
                

27/05/2026 10:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12767
                

27/05/2026 10:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12767
                

27/05/2026 11:01:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

[27/05/2026 11:01: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;
                

27/05/2026 11:01:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 11:01:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 11:01:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 11:01:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12757
                

[27/05/2026 11:01: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;
                

[27/05/2026 11:01: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;
                

27/05/2026 11:01:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12757
                

27/05/2026 11:01:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 11:01:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12757
                

27/05/2026 11:01:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12757
                

27/05/2026 11: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 = 12757
                

27/05/2026 11: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 = 12757
                

27/05/2026 11: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 = 12757
                

27/05/2026 11: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 = 12757
                

27/05/2026 11:01:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

[27/05/2026 11:01: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;
                

27/05/2026 11: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 = 12757
                

27/05/2026 11:01:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

[27/05/2026 11:01: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;
                

27/05/2026 11:01:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 11:01:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12757
                

[27/05/2026 11:01: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;
                

27/05/2026 11: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 = 12757
                

27/05/2026 11: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 = 12757
                

[27/05/2026 11:01: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;
                

27/05/2026 11:01:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12727
            GROUP BY l.idllamado;
            

27/05/2026 11:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12727
                

27/05/2026 11:01:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12727
            GROUP BY l.idllamado;
            

27/05/2026 11:01:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12727
            GROUP BY l.idllamado;
            

[27/05/2026 11:01: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;
                

27/05/2026 11:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12727
                

[27/05/2026 11:01: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;
                

27/05/2026 11:01:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12727
            GROUP BY l.idllamado;
            

27/05/2026 11:01:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12727
            GROUP BY l.idllamado;
            

27/05/2026 11:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12727
                

27/05/2026 11:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12727
                

27/05/2026 11:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12727
                

27/05/2026 11:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12727
                

27/05/2026 11:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12727
                

27/05/2026 11:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12727
                

[27/05/2026 11:01: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;
                

27/05/2026 11: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 = 12727
                

27/05/2026 11:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12727
            GROUP BY l.idllamado;
            

27/05/2026 11:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12727
            GROUP BY l.idllamado;
            

[27/05/2026 11:01: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;
                

27/05/2026 11:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12727
            GROUP BY l.idllamado;
            

[27/05/2026 11:01: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;
                

27/05/2026 11:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12727
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12727
                

27/05/2026 11: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 = 12727
                

27/05/2026 11: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 = 12727
                

27/05/2026 11:01:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

[27/05/2026 11:01: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;
                

27/05/2026 11:01:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

[27/05/2026 11:01: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;
                

27/05/2026 11:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:01:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

[27/05/2026 11:01: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;
                

27/05/2026 11:01:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:01:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

[27/05/2026 11:02:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 11:02:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:02:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:02:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:02:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:02:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:02:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

[27/05/2026 11:02:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11:02:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11:02:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:02:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:02:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:02:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:02:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:02:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11:02:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11:02:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:02:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11:02:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:02:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:02:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:02:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

[27/05/2026 11:02:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:02:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:02:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:02:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

[27/05/2026 11:02:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:02:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

[27/05/2026 11:02:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:02:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:02:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:02:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:02:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

[27/05/2026 11:02: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;
                

27/05/2026 11:02:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:02:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12586
                

[27/05/2026 11:02: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;
                

[27/05/2026 11:02: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;
                

27/05/2026 11:02:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:02:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:02:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11:02:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:03:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:03:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:03:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11:03:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12586
                

27/05/2026 11:03:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:03:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:03:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:03:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:03:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:03:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/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 = 12586
                

27/05/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 = 12586
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11:03:55 - logentry: =========================================
FECHA: 27/05/2026 11:03:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-f3wI1sl5jgiFHkcZ6T6-RiPysfpvsgEX0fjk197-NpUaRPgvbaf
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2038",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "14063",
    "contadorColor": "25600",
    "contadorScanner": "0",
    "detalle": "•Entrega tintas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12586",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACtASoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABFEAABAwMBBQUFBAYIBgMAAAABAAIDBAURBhIhMUFRE2FxgZEiMqGxwRQj0eEVJDNC8PEHFjRSYoKSsiU1NkNydFXS0\/\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAgMFBwUBAQADAAAAAAABAgMREiExBBNBUXEiMmGBobHRI5HB4fBCMxQ0Uv\/aAAwDAQACEQMRAD8A\/ZkREAREQBEUWvuVJbKcz1cwjbyHNx6Ac0SucbUVdkpFkxd7\/fn4tNOKKmz+3lAJPr9AfFdGaOmqG7VwvFVNKeOy7cD55+iswJd5mZbQ5\/8AOLa56I1CLLv0pXUf3trvNQx7RuZKch3d0+C7W7UVRHWi23qm+zVBOGStB2JOWfz4b+S5g\/8Al3OqvZ2qRt7fc0SIigaQiIgCIiAIiIAiKuvV4gs1C6olw553Rx5wXn8Oq6k27IjKShFylodLndaS003b1cmyD7rBvc89AFnnVmpLtTTVsT47bRsaXt2x7TmgdcfHcutosdTcqgXe+5kkO+GncPZYOWR9PVStYVxprSKSPBmrHdm0d3Pn4eqtSSdlmzFUlOcHUk3GPBcX1+CZp+vluVmgqZ24kOQ4gYBwcZG8\/wA8qzUS10LbbbKejaQeyYASObuJPrlS1VK13Y2U1JQSlrYIiLhMIiIAi4VlbT0FM6pqpBHGziT8h1VF\/W587iaCz1dXEHbJewHqegI+PNSUW9CqdaEHaTNIirrPeqe8QudE0xyxnEkT\/eb\/ABhWK4007MnGUZrFF5BERcJBERAEREAREQBEUa4V0NtoZaudwDY2kgZxtHkB3lFmcbSV2Rr1e6Wy0wln9uR26OJp3u\/Ad6qLbY6i71X6WvzdouH3NMeDByyPp6rzYbZJeKw6guYDi8\/q8J4MAOAfLl6rVq1vBktTJCLrvHPu8F+WfGtDWhrQAAMADkvqIqjYFWX2zx3igMR9maP2oX\/3XfgVZouptO6IzgpxcZaMotMXeWuppKOtyK2kOzIHcXDhn6H81erJ6gY6yX6lvsLT2Uh7OoA5\/wAx8QtWCCMg5BUppariUUJPOnLWPtwPqIigaQiIgCIvjnBrS5xAAGSTyQHCurYLdSPqql+zGweZPQd6zlkoJ79V\/py7NywH9WgPugdcdPnx6LnsP1dfO0O610L8YzkSuz9d3l4rXNaGtDWgAAYAHJWPsK3Exx+vLE+6tPF8\/gOcGtLnEAAZJPJZazudqHUEt3kyKWk+7phvGT19Dv8AEKRq65PjpG2qky+rrMN2GjfsHj64x6q1tNvZa7ZDRswSxvtOH7zjxPqi7Mb8zsvq1VHhHN9eHyTURFWawiIgCj1tbT2+lfU1MgZGwbz17h3ru5wa0ucQABkk8lkTt6wvRbkNtlC\/kT98fzx5A96lGN9dCitUcElHOT0PtFRVWqq1tyuTTHQRn7inz73f+J5+C1jGMjYGRtDGtGA1owAvrWhrQ1oAAGAByX1JSudpUlTXNvVmYb+q\/wBIJZFkNqqfae3O7OOOP8oWnWZY0y\/0hSHBIhpuOOGQPxWmXZ8OhDZ\/99WERFA0hQ7ldaO00\/bVcuyDua0b3OPcF6uVwhtdBLVzn2WDcBxceQCoLPbJr3VNvt2AcD\/ZoP3Wt5E\/x3qcYq13oUVajTUId5+nieJtQ32Wklr6e2xwUkbSQ6cnLh15K0p9R00tNFI6OUF7A44aOY8V61Q9sem61zuBYB5kgD5qmoLXVPt1M4M3GJp4HoO5TSi43sZnKrTqYU75XNeiIqT0AsreWv1DqCG0RO\/VqTEtSc8T08cHHmei0FzrRbrbUVeztGJhIB5nl8VVaQopILY+tqCTPXP7VxPEjkfPJPmrI5LEZa31JKlw1fT9svmtDWhrQAAMADkvqIqzUEREAREQFHrFgdpqoefejcxzT0O0B9SrG1SGW0UcjiSX07HHJzxaFA1f\/wBL1n+T\/e1TbL\/yOg\/9aP8A2hT\/AMeZmX\/sPovdk1ERQNIREQBZrUlxmqqhlgtxzUT7p3Y3MYRz8jk93irK\/wB4ZZra6fjK\/wBiJvV2OJ7goumrNJRROrq7adcKnJkc45LRnh8AT+SsirLEzLWk5y3UfPwXyyzttBDbKCKkgHsxjecb3HmSutTURUlLLUzO2Y4mlzj3BdVlNRSSXy7U9hpHZYw9pUvaR7I4fDPDqQuRWJ5k6s1Sp9leCR70zSy3Gsm1BXR4lkOzTtOcNbjBI+Xr1WoXiGKOCFkMTAyNgDWtHABe1yUru5KlT3cLcePUIiKJaERRrhXQ22hlq53ANjaSBnG0eQHeUWZxtJXZR6puE8r47Fb8mqqh7eOAZg5Hw9PFXVst8NroI6ODJawb3Hi4niSqbSdvke2W9VrQ6prDtNOB7Le7pn6BaRWTduyjNQi5N1ZavTwX7CIoF7uH6MtFRVAgPa3DM\/3juCgld2NEpKMXJ8Cn0+RXamu1xDfZaRC13DI3Dh\/kHqtOqTSVvdb7FEJG7Mk57Vw5jPD4AK7UpvtZFOzRappvV5\/cIioNWXCaCjjt9GXGqrXbDQziG8zu9PXooxV3YsqVFTg5Mgkf1q1HgjbtlD4gSO\/n8B3rWAADAGAFCtFsjtNtipI95Ay93953MqcpSd8loQo03FYpd56\/HkZnW8hdbqaja4B9TOAATyH5kLRxRthiZEwYaxoa0dwWYZm9a3c4sDqe2NwD\/j\/HOf8AStUuyySRCj2pzqeX2\/YREVZqMvqtxuFwt9jjc5pnf2kpA4N3jz4OPktMxjY42sYMNaAAOgWatf69ra5VROW0rRE3A4Hh9HLTqyeSSM1DtOVTm7eSyCIirNIREQBZnVGpZrTPDS0XZumI2pA5ucA7gP47uq0rnBrS5xAAGSTyX5tCXX\/WDJMksln2h3Rt4ce4K2lFN3fAxbZVlGKhDVs2Gr\/+l6z\/ACf72qbZf+R0H\/rR\/wC0Kr1vL2enXNzjtJWt8ef0V1RRfZ6Gnhxjs4mtx4DCi+4iyOe0PovdndERQNIXxzg1pc4gADJJ5L6s3qqvnkEVloHA1NWdl\/tDczB3Hpn5BSjHE7FdWoqcXJkahDtT6idcJGZt9GS2FrgPadu\/n6LWqLbbfDa6CKkh3tjG9xG9x5kqUknd5aEaNNwjeWrzZXXy6stFtkqDgykYiZne535cT4KHpa1OoqJ1bUkurK37yUnkCSR88n8lXRA6o1MKgEOt9uOG7ziR3HPqBnuA6rXKUuysJVT+rU3nBZL8v8BERVmsIiIAspenvv2oYLJET9mgIfVOaTjrj0wPE9yub9dWWi1y1G0O2I2Ymnm493dx8lG0va3UNvNTUAGrqiZJHbicHgM\/HxKsj2ViMtb6k1SXV9OXmXTWhrQ1oAAGAByX1EVZqCyt\/c2932jssR244ndrUlruA4Y8cZ\/1K4v11ZaLXLUbQ7YjZiaebj3d3HyUXS9sfR0JrKoE1lYe0lLhvAO8D6nvKsj2ViMtb6klRXV9P2XbWhrQ1oAAGAByX1EVZqPL3tjjc95w1oJJ6BZjTsbrveaq\/TN9hpMVMDyHM8By3eZ6Lvq+sc2khtkDvv654YB3fmSArqgoo7dQw0kPuRN2c9TzPmclWLsxvzMr+pWtwjn58PsSFXX65i02mapyO0xsRA83nh6cfJWKybtrUuqNggm324neCQHv8fH4DvXIK7u9CdebjHDHV5L+8Cx0pbnUFnY+X9vU\/eyEk538M554V2iKLd3cspwUIqK4BEVXqC7ss1sfPxmflkQ\/xY4+ARJt2R2c1CLlLRGZ0rdSNQVMDITL9tmc98gPADaI3efFbpZHQMMcdNWOcwtqBKGP2uIAG4Y5b8\/wFrlZVtiyMuxKW5Tb1CIiqNgREQFPqmuNDYKh7H7MkgETD3nj8Mqi0HbSXS3J4cAMxM37ncCTju+vcueuKl1Zc6W2U4Mj2DJY0b9p2MD0+a1Vuo4bJZ2QlwayBhdK\/kTxcfmr+7TtzPOS3u1OT0j7lNqE\/pPUVttDQ4tYe2lI6fyB9QtQsvpeJ1xuVbf5WY7ZxZCDvIaMd\/QALUKE8rR5GjZ+1iqP\/T9OAUS4XSjtcTJKyYRh7tlvMny7kuNzpLVTGerlDG\/uji5x6Ac1nbTR1Gobt+m7hFs0rP7NA7eO4+HPvK5GPF6HatVpqEM5P08WaiapigpX1L3gRMbtF2RjHis9peGS4VdVf6kHancY4Af3WA78cfDyK8asqJa6qpbBSu+8qHB0pHJvLPoT5BaSmp4qSlipoW7McTQ1o7gu92PUj\/1reEff9HVZ7U90lZ2dooParKz2Tg742nn3Z3+QJVvcrhDa6CWrm3tjG5oO9x5AKk0tb55XyX24ZNVVD2M8AzAwfh6eKRVu0ztaTk1Sjq9fBFtZrXHaLbHSx4Lh7Ujh+87mVPXlj2SN2mODm5Iy05G7cV6UG23dl8YqMUo6BFCut1prRRuqKh3cxg4vPQKn02bnc6ua8Vk0scD8iCn2vZx1x0HxO9dUcrlcqyU1TWbfoaVcaqrp6KB09TK2KNvFziuN0ucFpoX1dQdw3NaOLncgFiLs2sr6D9MXR5aJvYo6Vp68HeGMnv3clKEMWpXtG0bpWirv+1PN2vU13ujbhT0jpaOgwQ2QeyDnOXY4ZI4dy3lvrG19DFVsaWtlGQDyWEoKU3GnprJQnaY53bV07RkA8mg9wGO8r9BiiZDEyKNoaxjQ1rRyA4BTq2SSRRsWOUpTb19\/1oe1zmmip4XzTPDI2DLnOO4Be3ODWlziAAMknksdV1EurbmaeGQxWmmcDLKd3afxy9e5VRjc11qu7Vlm3ojpa4ZdUXYXirYG0dM4sghO\/JG\/J9R6Y5LS19fT22kfVVT9iNvq49B1Krp9RWO1U\/Yx1MbhE3DIoPa8sjd6lYytq7pqy4kQQPe1n7OJp9mMdSTuz3q1Rc3d5IxyrRoRtF4pv3\/uBrdPV10u1TNcZi2KgeNmGHGScHiD65PPyVpWXa329pNVVxRkful2Xeg3rPx6evlZA2KsuTKOnAw2nphuA6HGM+ZKrNQ0FqsEApoGGprZ2nMkztrs2nnjhnp5phjKVvYb6rSpXa838FdqC8OvF3M0G32bQI4RjBx1wOZOfgv0i3xSwW+nimcXSMjaHZIO\/HDI4+KyOirCXPF2qWkBp+4aR727e78Fq7ncYbVQSVc\/us3Bo4uPIBKrTahEbHGSUq9R6lVqq7SU1O220QL62rGyGtG8MOQSO\/l69FPslpjs1uZTMw6TjJIBjbP8blVabt09VUvv9xGZ598Dc\/s2Hp5HA7vFaZQk7LCjRRi5y3svLwX7CIirNR8c4NaXOIAAySeSyVsjOqL\/ACXWdoNHRu7OBhbufxIz37wT4hTdWVswp4bXSZ+0Vztjd\/d4Hl371b22gitlBFSQ72xje7ABceZOFYuzG\/FmSa3tXDwjr14fJn7U42zWdfQOIDKwdtHuPH3sDyLvRapZ7VdunligudCD9ro3bQxxLfy+WVZ2i6093oW1EDhnGJGc2O6JLNKR2i93N0n1XR\/BOREVZqCj1tbBb6SSpqXhkbBnjvPcO9dJ54qaF808jY42DLnOOAFkpHVWr6ovMZitNMSQTuMrgD8fkpxjfN6FFargWGOcnp\/chpSj\/Stxqb9Ut9rtSI2Y3A9fIHCl6wrZHx09mpN9RWuG0Ojc\/U\/AFc9I1UVBpaepqHbMcUzi4jfyC9abpJ7lcJNRVw2XyZbBHg4aMYyPLd5lWvvOT4GKCvRjTjrLN9OL\/BoKCijt1DDSQ+5E3Zz1PM+ZyVwut3pLPSmapf7R9yMe88934qHedTU9ud9lpm\/aq1x2WxNO5p\/xfh8lmrrb6mKnbVXPNRdK93ZwQ7iIge7PHfu5AlQjC7vIvrbQoRcaXD7L9+B8t1PVaxvbqitLhTRbyG52QM7mDx6reudFS05c7ZjiiZk7sBrQPwUOyWplntkdI0hzgS6R4GNpx5\/IeSrdX1bxRRWynyaitfshoGfZ5\/T49Ek8crLQ5Tj\/AOPSc5ZyevXkcNKQOr6ysv1R7T53lkWf3W\/xgeRWpUegoo7dQw0kPuRN2c9TzPmclUepbpNLK2x2zLqyfG2WnGw3jx5bvguPtyyLI22ej2tfdsi1UjtVagbRREm20TtqZwxh7t\/Dx4DuyVp6pxgoJnRDZMcTi0DlgblwtFqp7RQtp4GjOMyP5vd1UyRpfG5o4kELkpJuy0JUqcoxcpd5\/wBbyKHRTQNOsdnJdI4nu5fIBWN2u9LZ6Qz1Dsk7mRj3nnuWVs17ksdA+2m31MtcZXbEezkHcBxG88OQ5KbS22KOrFz1NXQmpJyyB8gDWdN30Vko9ptmalWe6jCGts+S6\/BS0sdZq3UP63lsce+RmSBGwH3R3r9Bc6Gjpi5xbFDCzeeAa0BYW3algs1XWNjphVCol2hKx+C7pxG\/iUud9umo3i10lEYQ\/DjHte04YzvJwAOB9FKcJSfJFFCvTpQbvim\/5Ent4b5UuvN3mbDbKZ5bBC4\/tCN\/Dn3+nJQq+qbqq6tJmZRW+mbsh8zgMdTjqd27uCi3KwXChoY56+ZocSIoYA4vce7oBjp9VpbXoq3spYpK1kks7mgvaXkNB6YAB9VJuMc7lcY1qrwOPi78f7keqa+aasVN9npJS\/B9rs2FznHqXbgV5drGadhdbrNUzNAztv3AeOAe7mrY0Vms1OZ3U9NTsZ\/3HNGfXiVRPkuGsJyyAupLS12HOO50v4\/Id6qWF52+5rm6sEoJq\/BJfJAZX3\/VrpKOIxQ04\/aFoIaB0J3k+CXGwUNjof8AiNxmqHE5ipoSGbR884G4b8LbUVDT26lbTUsYjjb04k9T1K8T2yiqauKrnpmSTRe45w4eXA\/RN7Z5aB7G3G8neXN6GGjs7bZb5L1cIGRE4FLSnJ9s8C7PIccHp5LVaWthttoYZP20\/wB5Jv68BxKgamaa+\/2q1udiJzjI8Y4\/wAfVWt01Db7UHNll7SYDdDHvd59PNdk5SSXM5Rp06U5SeSjl58SwqKiKlgfPPII42DLnO4BfmE8suo9R53\/rEoa0Z91n5BX1XR3vUdJLV1YNLSxsL4aYcXkDcfzPkFS2Sukobmx7KJ9RUQxujiib\/eJOSd3eeHqp044U2tTPtVV1ZRi1aPufotRUUlpt\/aSuEUELQ1oHQbgAs5RUVVqmvbc7iHR0EZ\/V4OG13\/iefgusFjuV4qY6y\/zBsbDllJGcAeODu+J71p2tDWhrQAAMADkqbqOmpvUZVneStFcOfX4DWhrQ1oAAGAByX1EVZrCIiAy7Git\/pDkJ3ijpxjPAHA\/+5WoWXtJ7DXF0hf70jA9veNx+q1Csnw6GbZtJPxYWdrtNzRVrrhZak0s7jtOi\/ckO\/cfE47lokUFJrQtqU41FaRl2alu1DHsXSyzGQf8AchBwfmPQr6dX1ErS2mslW+Q7hkHGeWcBadFPFHkVbqqslU9EZZlkud+nZUX2URU7faZSRHHr0+J8Fpooo4ImxRMDGMGA0cl7WWvd3mudaLFaX5fIS2omAyGDmM\/P0TObscahs6xat\/dmcdHVz1dTS26Oast8dTtlsOQD037\/AON4WiazUt0YynZGy1Uexs7j7YGNw37\/AJK3o4rbp6hZS\/aI4gDkl7gHPccZPy+Cjz6wskGcVRlI5RsJ+PBTcnLRGaFGFNfUna+qv6c7Haz6eorO3ajb2tQfenePaPh0VVEDdtdySO2uxtzMDfu2v5k+nkuNR\/SBAP7NQSP75HhvyyqGgvF2bV1b7ZGe1q5O0fsR7ZG847uLui7GE82yFTaKCwwhonfL+5n6cshR1NLcNXVVyqpY4oKNvZwmR4AJ3jO8\/wDkccshUtwZqf7G+qr5aiOAYBDpQ0HO7GyD9FXy2zsqencJxLUVIBjp4mlzgD16d3HK7GmktSFfa5SatDJZ5+huL3quioqJ32GoiqKlx2WBh2g3vKo7LfbVamyVdS6oqrhOMyPDdwzv2Rkjuyptk0TCKftrs0vkfwha4gM8SOJV\/T2C0UwAit8G7gXt2j6nKjeEVZFyhtNWSqOy5LkUjdbyVLyyhs807s7va+gBXya5awqximtjKYHgSBtD\/UcfBaxrQ0YaAB0C+qGOK0Ro3FSS7VR+VkYOayatrHEzzu3jBHbgAjwC4t0ReGv2yaVx\/wATyc\/BfoSKW+lwK3sFJu7bfmYxlt1Ja4JJoTbYGxtLnFkbQcAZO\/ZUSyUmopXS3mj7AvqiQ50vEjOTjuz8lrNQwVFTYqqGlaXSvaAGt4neMj0ysy3VX2GxxW2ChqIqsQiNrnDA2iPeHPnkKUW5LJFFWnClNKUmklddfAiPrL1droyploG1f6PcWmOIZZtZ888OXQK0frwQh0c9rliqG7iwv4HvyMhRLPZtQS0H2RpbbqZ5JkeW4lf5cfktLatO260ta6GEPmA3zP3u8unkuzcFqcoQ2h5xbV9W\/wAcTKUldS36vE9+uTWRNOY6UBzWjxOMfHK3VI+ldTMFG+J0LRst7IgtA6DC4VNnttYMVFFC89dgA+o3qmqNFU7Hma11k9FLg42XEj14\/FVtxl4GmFOrRu7KXjo\/U0yLKSXLUVgdm4QNr6RowZoxggdT08x5q6tl+t12aPs047TGTE\/2Xjy5+WVFwaVy+FeEnheT5M53iwU14fFJJJJFLHuD4zvLeY+JXm26ZtltIfHEZZG8HynawcYOOQVui5ila1yW5p4sdszy97Y43PecNaCSegWZ0RFt0tZXuYGmonOPAb\/mSrbUM\/2bT9bJnGYi0Hvd7P1XPS8PYaco2\/3mF\/qSfqpLKDK5draIrkm\/vkWyIirNIREQBERAUGoaCqbVU95t7DJU0o2XRgEmRmeAHmfXuUi0akorqBGXfZ6obnQSHeDnkefzVuqm7abt13BfLGYpj\/3Y9xz3jgeSmmmrSM0qc4Sc6fHVFsizLNPXulBjpL8\/s8+z2oJI+fT8l8+w6z\/+Wo\/9A\/8AzTAuY381rB+nyaGqq4KKndUVMoiibxcVnK7XlDBltJBJUOHMnYb9T8F8n07frjF2NwvLHRO3ua2Pdnj0HNd6HRNrpXtkmMlU4cpCA3PgPqVJKC7zuVTntM3amsK8f5lHUaovl5jfBQ0hYx24mBjnPH+bkoNHp7UWHCnp54A\/3sydnnHXeF+lsYyNgZG0Ma0YDWjAC9Lu9tlFEHsLm8VSbbMLTaBq5DtVdbHHk7wxpefjhWMGgrczBmqaiUjiAQ0H4fValFF1ZviWx2KhH\/JV02mrNSkGOgiJHOTL\/nlVc1Dc7Fc56q00rKinqt74RuDCOB49SeAwtQi4pvjmWyoQaWHK3IwVynvGoblTWmpgbSbXtlgydkb97t\/d8e9aazaborL95EDLORgyv4+Q5Kt05\/xLUF0ur8HZd2UWeQ\/kB6lalTnJrsoz7NSjK9WWbvk3yCIipN4REQBERAFk2u\/rFrAnG3RW0Y6hz\/zI9Gq6v9ybarPNUZ+8I2IhnGXHh6cfJcNK24W+xw5aRLOO1kyN+\/gPTHxVkcouRlq\/UqRp8Fm\/wXKIirNQREQBUVz0lbrg4ywg0dRnIkhGBnqW\/hgq9RdUmtCE6cKitJXMm263fTkjILvGauk3AVbMkt38yeJ7j6laWkrKevp21FLKJYncHD+Ny6SxRzRujljbIxww5rhkHyWWrbPU6eqjdbO9xpwdqel\/w88dR8lPKfgzO95Qz70fVfJM1tJsade3JAkka0458\/ormijENDTxAABkTWgDuCy2prnT3bScdTTuyDO0ObzYcHIK1kH7CP8A8R8kkrRSFOSlWlJcl+ToiIqzWEREAREQBERAEREAREQBERAEREAUO7Vf2G01VSPejjJb48B8cKYs\/rabs9OSMyB2sjG+O\/P0Uoq8kiqtLBTlLwOmj6UU2nYD+9MXSO8zgfABXij0MP2e300OCOzia3B5YACkJJ3bZ2lHBTjHkgiIolgREQBEXGqqY6OllqZThkTC4+SHG0ldmau7xfNVUlpa0SQUh7So6eB7uA8XLVrNaNhkmpqq61GDNWSk7WOQ6d2c+i0qsnk8PIz7Mm4uo9ZZ+XAIiKs0hERAEREAXwgEYIyCvqID8+1bYha3\/aaPLaSod7cYO5r9+PLjjpvW8pXtkpIXsOWujaQeowvNZR09wpX01THtxP4jOF1jjZFG2ONuyxgDWjoArJTxRSZmpUFSqSlHRnpERVmkIiIAiIgCIiAIiIAiIgCIiAIiIAsxrf7ykoac+7JUjPpj6rTqj1Nbau4RUbqNgfJBOHkFwGB13+SnTdpIz7TFypNIvERFA0BERAEREAWd1nVPbbYaCHJmrZQxoHMAjPxIHmtEsqwfpXXj3lxMVujwBndtfzJ9FOGt+Rm2lvBgWssvn0NHRUrKGihpYzlsLAwHrjmu6IoGhJJWQREQ6EREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREBzmlZTwSTSHDI2lzj3AZWe0TE51BU3CXfJVzlxPUD8yVe11I2uoZqV7i1szC0ubxGV8t1DHbaCGjiJLIm4yRx5k+qmmlFoolByqxlwSf3JKIigXhERAEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "STIVEN",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I591\",\"id_control\":\"28684\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I592\",\"id_control\":\"28684\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I589\",\"id_control\":\"28684\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I791\",\"id_control\":\"28801\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I638\",\"id_control\":\"28801\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I639\",\"id_control\":\"28801\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I637\",\"id_control\":\"28801\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:03",
    "ubicacionGPS": "LatLng(lat: -22.0857813, lng: -70.1894713)",
    "horaLlegada": "10:43",
    "horaDespacho": "09:50",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 27/05/2026 11:03:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-f3wI1sl5jgiFHkcZ6T6-RiPysfpvsgEX0fjk197-NpUaRPgvbaf
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2038",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "14063",
    "contadorColor": "25600",
    "contadorScanner": "0",
    "detalle": "•Entrega tintas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12586",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACtASoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABFEAABAwMBBQUFBAYIBgMAAAABAAIDBAURBhIhMUFRE2FxgZEiMqGxwRQj0eEVJDNC8PEHFjRSYoKSsiU1NkNydFXS0\/\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAgMFBwUBAQADAAAAAAABAgMREiExBBNBUXEiMmGBobHRI5HB4fBCMxQ0Uv\/aAAwDAQACEQMRAD8A\/ZkREAREQBEUWvuVJbKcz1cwjbyHNx6Ac0SucbUVdkpFkxd7\/fn4tNOKKmz+3lAJPr9AfFdGaOmqG7VwvFVNKeOy7cD55+iswJd5mZbQ5\/8AOLa56I1CLLv0pXUf3trvNQx7RuZKch3d0+C7W7UVRHWi23qm+zVBOGStB2JOWfz4b+S5g\/8Al3OqvZ2qRt7fc0SIigaQiIgCIiAIiIAiKuvV4gs1C6olw553Rx5wXn8Oq6k27IjKShFylodLndaS003b1cmyD7rBvc89AFnnVmpLtTTVsT47bRsaXt2x7TmgdcfHcutosdTcqgXe+5kkO+GncPZYOWR9PVStYVxprSKSPBmrHdm0d3Pn4eqtSSdlmzFUlOcHUk3GPBcX1+CZp+vluVmgqZ24kOQ4gYBwcZG8\/wA8qzUS10LbbbKejaQeyYASObuJPrlS1VK13Y2U1JQSlrYIiLhMIiIAi4VlbT0FM6pqpBHGziT8h1VF\/W587iaCz1dXEHbJewHqegI+PNSUW9CqdaEHaTNIirrPeqe8QudE0xyxnEkT\/eb\/ABhWK4007MnGUZrFF5BERcJBERAEREAREQBEUa4V0NtoZaudwDY2kgZxtHkB3lFmcbSV2Rr1e6Wy0wln9uR26OJp3u\/Ad6qLbY6i71X6WvzdouH3NMeDByyPp6rzYbZJeKw6guYDi8\/q8J4MAOAfLl6rVq1vBktTJCLrvHPu8F+WfGtDWhrQAAMADkvqIqjYFWX2zx3igMR9maP2oX\/3XfgVZouptO6IzgpxcZaMotMXeWuppKOtyK2kOzIHcXDhn6H81erJ6gY6yX6lvsLT2Uh7OoA5\/wAx8QtWCCMg5BUppariUUJPOnLWPtwPqIigaQiIgCIvjnBrS5xAAGSTyQHCurYLdSPqql+zGweZPQd6zlkoJ79V\/py7NywH9WgPugdcdPnx6LnsP1dfO0O610L8YzkSuz9d3l4rXNaGtDWgAAYAHJWPsK3Exx+vLE+6tPF8\/gOcGtLnEAAZJPJZazudqHUEt3kyKWk+7phvGT19Dv8AEKRq65PjpG2qky+rrMN2GjfsHj64x6q1tNvZa7ZDRswSxvtOH7zjxPqi7Mb8zsvq1VHhHN9eHyTURFWawiIgCj1tbT2+lfU1MgZGwbz17h3ru5wa0ucQABkk8lkTt6wvRbkNtlC\/kT98fzx5A96lGN9dCitUcElHOT0PtFRVWqq1tyuTTHQRn7inz73f+J5+C1jGMjYGRtDGtGA1owAvrWhrQ1oAAGAByX1JSudpUlTXNvVmYb+q\/wBIJZFkNqqfae3O7OOOP8oWnWZY0y\/0hSHBIhpuOOGQPxWmXZ8OhDZ\/99WERFA0hQ7ldaO00\/bVcuyDua0b3OPcF6uVwhtdBLVzn2WDcBxceQCoLPbJr3VNvt2AcD\/ZoP3Wt5E\/x3qcYq13oUVajTUId5+nieJtQ32Wklr6e2xwUkbSQ6cnLh15K0p9R00tNFI6OUF7A44aOY8V61Q9sem61zuBYB5kgD5qmoLXVPt1M4M3GJp4HoO5TSi43sZnKrTqYU75XNeiIqT0AsreWv1DqCG0RO\/VqTEtSc8T08cHHmei0FzrRbrbUVeztGJhIB5nl8VVaQopILY+tqCTPXP7VxPEjkfPJPmrI5LEZa31JKlw1fT9svmtDWhrQAAMADkvqIqzUEREAREQFHrFgdpqoefejcxzT0O0B9SrG1SGW0UcjiSX07HHJzxaFA1f\/wBL1n+T\/e1TbL\/yOg\/9aP8A2hT\/AMeZmX\/sPovdk1ERQNIREQBZrUlxmqqhlgtxzUT7p3Y3MYRz8jk93irK\/wB4ZZra6fjK\/wBiJvV2OJ7goumrNJRROrq7adcKnJkc45LRnh8AT+SsirLEzLWk5y3UfPwXyyzttBDbKCKkgHsxjecb3HmSutTURUlLLUzO2Y4mlzj3BdVlNRSSXy7U9hpHZYw9pUvaR7I4fDPDqQuRWJ5k6s1Sp9leCR70zSy3Gsm1BXR4lkOzTtOcNbjBI+Xr1WoXiGKOCFkMTAyNgDWtHABe1yUru5KlT3cLcePUIiKJaERRrhXQ22hlq53ANjaSBnG0eQHeUWZxtJXZR6puE8r47Fb8mqqh7eOAZg5Hw9PFXVst8NroI6ODJawb3Hi4niSqbSdvke2W9VrQ6prDtNOB7Le7pn6BaRWTduyjNQi5N1ZavTwX7CIoF7uH6MtFRVAgPa3DM\/3juCgld2NEpKMXJ8Cn0+RXamu1xDfZaRC13DI3Dh\/kHqtOqTSVvdb7FEJG7Mk57Vw5jPD4AK7UpvtZFOzRappvV5\/cIioNWXCaCjjt9GXGqrXbDQziG8zu9PXooxV3YsqVFTg5Mgkf1q1HgjbtlD4gSO\/n8B3rWAADAGAFCtFsjtNtipI95Ay93953MqcpSd8loQo03FYpd56\/HkZnW8hdbqaja4B9TOAATyH5kLRxRthiZEwYaxoa0dwWYZm9a3c4sDqe2NwD\/j\/HOf8AStUuyySRCj2pzqeX2\/YREVZqMvqtxuFwt9jjc5pnf2kpA4N3jz4OPktMxjY42sYMNaAAOgWatf69ra5VROW0rRE3A4Hh9HLTqyeSSM1DtOVTm7eSyCIirNIREQBZnVGpZrTPDS0XZumI2pA5ucA7gP47uq0rnBrS5xAAGSTyX5tCXX\/WDJMksln2h3Rt4ce4K2lFN3fAxbZVlGKhDVs2Gr\/+l6z\/ACf72qbZf+R0H\/rR\/wC0Kr1vL2enXNzjtJWt8ef0V1RRfZ6Gnhxjs4mtx4DCi+4iyOe0PovdndERQNIXxzg1pc4gADJJ5L6s3qqvnkEVloHA1NWdl\/tDczB3Hpn5BSjHE7FdWoqcXJkahDtT6idcJGZt9GS2FrgPadu\/n6LWqLbbfDa6CKkh3tjG9xG9x5kqUknd5aEaNNwjeWrzZXXy6stFtkqDgykYiZne535cT4KHpa1OoqJ1bUkurK37yUnkCSR88n8lXRA6o1MKgEOt9uOG7ziR3HPqBnuA6rXKUuysJVT+rU3nBZL8v8BERVmsIiIAspenvv2oYLJET9mgIfVOaTjrj0wPE9yub9dWWi1y1G0O2I2Ymnm493dx8lG0va3UNvNTUAGrqiZJHbicHgM\/HxKsj2ViMtb6k1SXV9OXmXTWhrQ1oAAGAByX1EVZqCyt\/c2932jssR244ndrUlruA4Y8cZ\/1K4v11ZaLXLUbQ7YjZiaebj3d3HyUXS9sfR0JrKoE1lYe0lLhvAO8D6nvKsj2ViMtb6klRXV9P2XbWhrQ1oAAGAByX1EVZqPL3tjjc95w1oJJ6BZjTsbrveaq\/TN9hpMVMDyHM8By3eZ6Lvq+sc2khtkDvv654YB3fmSArqgoo7dQw0kPuRN2c9TzPmclWLsxvzMr+pWtwjn58PsSFXX65i02mapyO0xsRA83nh6cfJWKybtrUuqNggm324neCQHv8fH4DvXIK7u9CdebjHDHV5L+8Cx0pbnUFnY+X9vU\/eyEk538M554V2iKLd3cspwUIqK4BEVXqC7ss1sfPxmflkQ\/xY4+ARJt2R2c1CLlLRGZ0rdSNQVMDITL9tmc98gPADaI3efFbpZHQMMcdNWOcwtqBKGP2uIAG4Y5b8\/wFrlZVtiyMuxKW5Tb1CIiqNgREQFPqmuNDYKh7H7MkgETD3nj8Mqi0HbSXS3J4cAMxM37ncCTju+vcueuKl1Zc6W2U4Mj2DJY0b9p2MD0+a1Vuo4bJZ2QlwayBhdK\/kTxcfmr+7TtzPOS3u1OT0j7lNqE\/pPUVttDQ4tYe2lI6fyB9QtQsvpeJ1xuVbf5WY7ZxZCDvIaMd\/QALUKE8rR5GjZ+1iqP\/T9OAUS4XSjtcTJKyYRh7tlvMny7kuNzpLVTGerlDG\/uji5x6Ac1nbTR1Gobt+m7hFs0rP7NA7eO4+HPvK5GPF6HatVpqEM5P08WaiapigpX1L3gRMbtF2RjHis9peGS4VdVf6kHancY4Af3WA78cfDyK8asqJa6qpbBSu+8qHB0pHJvLPoT5BaSmp4qSlipoW7McTQ1o7gu92PUj\/1reEff9HVZ7U90lZ2dooParKz2Tg742nn3Z3+QJVvcrhDa6CWrm3tjG5oO9x5AKk0tb55XyX24ZNVVD2M8AzAwfh6eKRVu0ztaTk1Sjq9fBFtZrXHaLbHSx4Lh7Ujh+87mVPXlj2SN2mODm5Iy05G7cV6UG23dl8YqMUo6BFCut1prRRuqKh3cxg4vPQKn02bnc6ua8Vk0scD8iCn2vZx1x0HxO9dUcrlcqyU1TWbfoaVcaqrp6KB09TK2KNvFziuN0ucFpoX1dQdw3NaOLncgFiLs2sr6D9MXR5aJvYo6Vp68HeGMnv3clKEMWpXtG0bpWirv+1PN2vU13ujbhT0jpaOgwQ2QeyDnOXY4ZI4dy3lvrG19DFVsaWtlGQDyWEoKU3GnprJQnaY53bV07RkA8mg9wGO8r9BiiZDEyKNoaxjQ1rRyA4BTq2SSRRsWOUpTb19\/1oe1zmmip4XzTPDI2DLnOO4Be3ODWlziAAMknksdV1EurbmaeGQxWmmcDLKd3afxy9e5VRjc11qu7Vlm3ojpa4ZdUXYXirYG0dM4sghO\/JG\/J9R6Y5LS19fT22kfVVT9iNvq49B1Krp9RWO1U\/Yx1MbhE3DIoPa8sjd6lYytq7pqy4kQQPe1n7OJp9mMdSTuz3q1Rc3d5IxyrRoRtF4pv3\/uBrdPV10u1TNcZi2KgeNmGHGScHiD65PPyVpWXa329pNVVxRkful2Xeg3rPx6evlZA2KsuTKOnAw2nphuA6HGM+ZKrNQ0FqsEApoGGprZ2nMkztrs2nnjhnp5phjKVvYb6rSpXa838FdqC8OvF3M0G32bQI4RjBx1wOZOfgv0i3xSwW+nimcXSMjaHZIO\/HDI4+KyOirCXPF2qWkBp+4aR727e78Fq7ncYbVQSVc\/us3Bo4uPIBKrTahEbHGSUq9R6lVqq7SU1O220QL62rGyGtG8MOQSO\/l69FPslpjs1uZTMw6TjJIBjbP8blVabt09VUvv9xGZ598Dc\/s2Hp5HA7vFaZQk7LCjRRi5y3svLwX7CIirNR8c4NaXOIAAySeSyVsjOqL\/ACXWdoNHRu7OBhbufxIz37wT4hTdWVswp4bXSZ+0Vztjd\/d4Hl371b22gitlBFSQ72xje7ABceZOFYuzG\/FmSa3tXDwjr14fJn7U42zWdfQOIDKwdtHuPH3sDyLvRapZ7VdunligudCD9ro3bQxxLfy+WVZ2i6093oW1EDhnGJGc2O6JLNKR2i93N0n1XR\/BOREVZqCj1tbBb6SSpqXhkbBnjvPcO9dJ54qaF808jY42DLnOOAFkpHVWr6ovMZitNMSQTuMrgD8fkpxjfN6FFargWGOcnp\/chpSj\/Stxqb9Ut9rtSI2Y3A9fIHCl6wrZHx09mpN9RWuG0Ojc\/U\/AFc9I1UVBpaepqHbMcUzi4jfyC9abpJ7lcJNRVw2XyZbBHg4aMYyPLd5lWvvOT4GKCvRjTjrLN9OL\/BoKCijt1DDSQ+5E3Zz1PM+ZyVwut3pLPSmapf7R9yMe88934qHedTU9ud9lpm\/aq1x2WxNO5p\/xfh8lmrrb6mKnbVXPNRdK93ZwQ7iIge7PHfu5AlQjC7vIvrbQoRcaXD7L9+B8t1PVaxvbqitLhTRbyG52QM7mDx6reudFS05c7ZjiiZk7sBrQPwUOyWplntkdI0hzgS6R4GNpx5\/IeSrdX1bxRRWynyaitfshoGfZ5\/T49Ek8crLQ5Tj\/AOPSc5ZyevXkcNKQOr6ysv1R7T53lkWf3W\/xgeRWpUegoo7dQw0kPuRN2c9TzPmclUepbpNLK2x2zLqyfG2WnGw3jx5bvguPtyyLI22ej2tfdsi1UjtVagbRREm20TtqZwxh7t\/Dx4DuyVp6pxgoJnRDZMcTi0DlgblwtFqp7RQtp4GjOMyP5vd1UyRpfG5o4kELkpJuy0JUqcoxcpd5\/wBbyKHRTQNOsdnJdI4nu5fIBWN2u9LZ6Qz1Dsk7mRj3nnuWVs17ksdA+2m31MtcZXbEezkHcBxG88OQ5KbS22KOrFz1NXQmpJyyB8gDWdN30Vko9ptmalWe6jCGts+S6\/BS0sdZq3UP63lsce+RmSBGwH3R3r9Bc6Gjpi5xbFDCzeeAa0BYW3algs1XWNjphVCol2hKx+C7pxG\/iUud9umo3i10lEYQ\/DjHte04YzvJwAOB9FKcJSfJFFCvTpQbvim\/5Ent4b5UuvN3mbDbKZ5bBC4\/tCN\/Dn3+nJQq+qbqq6tJmZRW+mbsh8zgMdTjqd27uCi3KwXChoY56+ZocSIoYA4vce7oBjp9VpbXoq3spYpK1kks7mgvaXkNB6YAB9VJuMc7lcY1qrwOPi78f7keqa+aasVN9npJS\/B9rs2FznHqXbgV5drGadhdbrNUzNAztv3AeOAe7mrY0Vms1OZ3U9NTsZ\/3HNGfXiVRPkuGsJyyAupLS12HOO50v4\/Id6qWF52+5rm6sEoJq\/BJfJAZX3\/VrpKOIxQ04\/aFoIaB0J3k+CXGwUNjof8AiNxmqHE5ipoSGbR884G4b8LbUVDT26lbTUsYjjb04k9T1K8T2yiqauKrnpmSTRe45w4eXA\/RN7Z5aB7G3G8neXN6GGjs7bZb5L1cIGRE4FLSnJ9s8C7PIccHp5LVaWthttoYZP20\/wB5Jv68BxKgamaa+\/2q1udiJzjI8Y4\/wAfVWt01Db7UHNll7SYDdDHvd59PNdk5SSXM5Rp06U5SeSjl58SwqKiKlgfPPII42DLnO4BfmE8suo9R53\/rEoa0Z91n5BX1XR3vUdJLV1YNLSxsL4aYcXkDcfzPkFS2Sukobmx7KJ9RUQxujiib\/eJOSd3eeHqp044U2tTPtVV1ZRi1aPufotRUUlpt\/aSuEUELQ1oHQbgAs5RUVVqmvbc7iHR0EZ\/V4OG13\/iefgusFjuV4qY6y\/zBsbDllJGcAeODu+J71p2tDWhrQAAMADkqbqOmpvUZVneStFcOfX4DWhrQ1oAAGAByX1EVZrCIiAy7Git\/pDkJ3ijpxjPAHA\/+5WoWXtJ7DXF0hf70jA9veNx+q1Csnw6GbZtJPxYWdrtNzRVrrhZak0s7jtOi\/ckO\/cfE47lokUFJrQtqU41FaRl2alu1DHsXSyzGQf8AchBwfmPQr6dX1ErS2mslW+Q7hkHGeWcBadFPFHkVbqqslU9EZZlkud+nZUX2URU7faZSRHHr0+J8Fpooo4ImxRMDGMGA0cl7WWvd3mudaLFaX5fIS2omAyGDmM\/P0TObscahs6xat\/dmcdHVz1dTS26Oast8dTtlsOQD037\/AON4WiazUt0YynZGy1Uexs7j7YGNw37\/AJK3o4rbp6hZS\/aI4gDkl7gHPccZPy+Cjz6wskGcVRlI5RsJ+PBTcnLRGaFGFNfUna+qv6c7Haz6eorO3ajb2tQfenePaPh0VVEDdtdySO2uxtzMDfu2v5k+nkuNR\/SBAP7NQSP75HhvyyqGgvF2bV1b7ZGe1q5O0fsR7ZG847uLui7GE82yFTaKCwwhonfL+5n6cshR1NLcNXVVyqpY4oKNvZwmR4AJ3jO8\/wDkccshUtwZqf7G+qr5aiOAYBDpQ0HO7GyD9FXy2zsqencJxLUVIBjp4mlzgD16d3HK7GmktSFfa5SatDJZ5+huL3quioqJ32GoiqKlx2WBh2g3vKo7LfbVamyVdS6oqrhOMyPDdwzv2Rkjuyptk0TCKftrs0vkfwha4gM8SOJV\/T2C0UwAit8G7gXt2j6nKjeEVZFyhtNWSqOy5LkUjdbyVLyyhs807s7va+gBXya5awqximtjKYHgSBtD\/UcfBaxrQ0YaAB0C+qGOK0Ro3FSS7VR+VkYOayatrHEzzu3jBHbgAjwC4t0ReGv2yaVx\/wATyc\/BfoSKW+lwK3sFJu7bfmYxlt1Ja4JJoTbYGxtLnFkbQcAZO\/ZUSyUmopXS3mj7AvqiQ50vEjOTjuz8lrNQwVFTYqqGlaXSvaAGt4neMj0ysy3VX2GxxW2ChqIqsQiNrnDA2iPeHPnkKUW5LJFFWnClNKUmklddfAiPrL1droyploG1f6PcWmOIZZtZ888OXQK0frwQh0c9rliqG7iwv4HvyMhRLPZtQS0H2RpbbqZ5JkeW4lf5cfktLatO260ta6GEPmA3zP3u8unkuzcFqcoQ2h5xbV9W\/wAcTKUldS36vE9+uTWRNOY6UBzWjxOMfHK3VI+ldTMFG+J0LRst7IgtA6DC4VNnttYMVFFC89dgA+o3qmqNFU7Hma11k9FLg42XEj14\/FVtxl4GmFOrRu7KXjo\/U0yLKSXLUVgdm4QNr6RowZoxggdT08x5q6tl+t12aPs047TGTE\/2Xjy5+WVFwaVy+FeEnheT5M53iwU14fFJJJJFLHuD4zvLeY+JXm26ZtltIfHEZZG8HynawcYOOQVui5ila1yW5p4sdszy97Y43PecNaCSegWZ0RFt0tZXuYGmonOPAb\/mSrbUM\/2bT9bJnGYi0Hvd7P1XPS8PYaco2\/3mF\/qSfqpLKDK5draIrkm\/vkWyIirNIREQBERAUGoaCqbVU95t7DJU0o2XRgEmRmeAHmfXuUi0akorqBGXfZ6obnQSHeDnkefzVuqm7abt13BfLGYpj\/3Y9xz3jgeSmmmrSM0qc4Sc6fHVFsizLNPXulBjpL8\/s8+z2oJI+fT8l8+w6z\/+Wo\/9A\/8AzTAuY381rB+nyaGqq4KKndUVMoiibxcVnK7XlDBltJBJUOHMnYb9T8F8n07frjF2NwvLHRO3ua2Pdnj0HNd6HRNrpXtkmMlU4cpCA3PgPqVJKC7zuVTntM3amsK8f5lHUaovl5jfBQ0hYx24mBjnPH+bkoNHp7UWHCnp54A\/3sydnnHXeF+lsYyNgZG0Ma0YDWjAC9Lu9tlFEHsLm8VSbbMLTaBq5DtVdbHHk7wxpefjhWMGgrczBmqaiUjiAQ0H4fValFF1ZviWx2KhH\/JV02mrNSkGOgiJHOTL\/nlVc1Dc7Fc56q00rKinqt74RuDCOB49SeAwtQi4pvjmWyoQaWHK3IwVynvGoblTWmpgbSbXtlgydkb97t\/d8e9aazaborL95EDLORgyv4+Q5Kt05\/xLUF0ur8HZd2UWeQ\/kB6lalTnJrsoz7NSjK9WWbvk3yCIipN4REQBERAFk2u\/rFrAnG3RW0Y6hz\/zI9Gq6v9ybarPNUZ+8I2IhnGXHh6cfJcNK24W+xw5aRLOO1kyN+\/gPTHxVkcouRlq\/UqRp8Fm\/wXKIirNQREQBUVz0lbrg4ywg0dRnIkhGBnqW\/hgq9RdUmtCE6cKitJXMm263fTkjILvGauk3AVbMkt38yeJ7j6laWkrKevp21FLKJYncHD+Ny6SxRzRujljbIxww5rhkHyWWrbPU6eqjdbO9xpwdqel\/w88dR8lPKfgzO95Qz70fVfJM1tJsade3JAkka0458\/ormijENDTxAABkTWgDuCy2prnT3bScdTTuyDO0ObzYcHIK1kH7CP8A8R8kkrRSFOSlWlJcl+ToiIqzWEREAREQBERAEREAREQBERAEREAUO7Vf2G01VSPejjJb48B8cKYs\/rabs9OSMyB2sjG+O\/P0Uoq8kiqtLBTlLwOmj6UU2nYD+9MXSO8zgfABXij0MP2e300OCOzia3B5YACkJJ3bZ2lHBTjHkgiIolgREQBEXGqqY6OllqZThkTC4+SHG0ldmau7xfNVUlpa0SQUh7So6eB7uA8XLVrNaNhkmpqq61GDNWSk7WOQ6d2c+i0qsnk8PIz7Mm4uo9ZZ+XAIiKs0hERAEREAXwgEYIyCvqID8+1bYha3\/aaPLaSod7cYO5r9+PLjjpvW8pXtkpIXsOWujaQeowvNZR09wpX01THtxP4jOF1jjZFG2ONuyxgDWjoArJTxRSZmpUFSqSlHRnpERVmkIiIAiIgCIiAIiIAiIgCIiAIiIAsxrf7ykoac+7JUjPpj6rTqj1Nbau4RUbqNgfJBOHkFwGB13+SnTdpIz7TFypNIvERFA0BERAEREAWd1nVPbbYaCHJmrZQxoHMAjPxIHmtEsqwfpXXj3lxMVujwBndtfzJ9FOGt+Rm2lvBgWssvn0NHRUrKGihpYzlsLAwHrjmu6IoGhJJWQREQ6EREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREBzmlZTwSTSHDI2lzj3AZWe0TE51BU3CXfJVzlxPUD8yVe11I2uoZqV7i1szC0ubxGV8t1DHbaCGjiJLIm4yRx5k+qmmlFoolByqxlwSf3JKIigXhERAEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "STIVEN",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I591\",\"id_control\":\"28684\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I592\",\"id_control\":\"28684\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I589\",\"id_control\":\"28684\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I791\",\"id_control\":\"28801\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I638\",\"id_control\":\"28801\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I639\",\"id_control\":\"28801\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I637\",\"id_control\":\"28801\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:03",
    "ubicacionGPS": "LatLng(lat: -22.0857813, lng: -70.1894713)",
    "horaLlegada": "10:43",
    "horaDespacho": "09:50",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


27/05/2026 11:03:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[27/05/2026 11:03: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', 'EP2038', 2, 24456550, 14063, NOW(), 
				'09:50', '10:43', '11:03', 10, '•Entrega tintas', -1, 
				'', '','1','25600',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779894235.png', '', null, 'COMPLETADO','LatLng(lat: -22.0857813, lng: -70.1894713)' )
				
[27/05/2026 11:03:55] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200444
[27/05/2026 11:03:55] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200444', 'EPS-I591', 1)
				
[27/05/2026 11:03:55] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28684 and
				    IDproducto = 'EPS-I591'
				

27/05/2026 11:03:55 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I591';
                [27/05/2026 11:03:55] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200444', 'EPS-I592', 1)
				
[27/05/2026 11:03:55] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28684 and
				    IDproducto = 'EPS-I592'
				

27/05/2026 11:03:55 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I592';
                [27/05/2026 11:03:55] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200444', 'EPS-I589', 1)
				
[27/05/2026 11:03:55] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28684 and
				    IDproducto = 'EPS-I589'
				

27/05/2026 11:03:55 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I589';
                [27/05/2026 11:03:55] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200444', 'EPS-I791', 2)
				
[27/05/2026 11:03:55] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28801 and
				    IDproducto = 'EPS-I791'
				

27/05/2026 11:03:55 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I791';
                [27/05/2026 11:03:55] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200444', 'EPS-I638', 2)
				
[27/05/2026 11:03:55] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28801 and
				    IDproducto = 'EPS-I638'
				

27/05/2026 11:03:55 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I638';
                [27/05/2026 11:03:55] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200444', 'EPS-I639', 2)
				
[27/05/2026 11:03:55] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28801 and
				    IDproducto = 'EPS-I639'
				

27/05/2026 11:03:55 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I639';
                [27/05/2026 11:03:55] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200444', 'EPS-I637', 2)
				
[27/05/2026 11:03:55] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28801 and
				    IDproducto = 'EPS-I637'
				

27/05/2026 11:03:55 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I637';
                
27/05/2026 11:03:55 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200444'                    
				WHERE idllamado = 12586			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


27/05/2026 11:03:55 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12586			
				
27/05/2026 11:03:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12586
                

[27/05/2026 11:03: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;
                

[27/05/2026 11:03: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;
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

[27/05/2026 11:03: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;
                

[27/05/2026 11:03: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;
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12586
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

27/05/2026 11: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 = 12586
                

[27/05/2026 11:04: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;
                

[27/05/2026 11:04: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;
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12744
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12744
                

27/05/2026 11: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 = 12744
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12744
                

27/05/2026 11: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 = 12744
                

27/05/2026 11: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 = 12744
                

[27/05/2026 11:04: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;
                

[27/05/2026 11:04: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;
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12744
                

27/05/2026 11: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 = 12744
                

27/05/2026 11: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 = 12744
                

27/05/2026 11: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 = 12744
                

27/05/2026 11: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 = 12744
                

27/05/2026 11: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 = 12744
                

27/05/2026 11:04:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11:04:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

[27/05/2026 11:04:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:04:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11:04:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11:04:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

[27/05/2026 11:04:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 11:04:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:04:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

[27/05/2026 11:04:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:04:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11:04:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11:04:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11:04:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11:04:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11:04:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11:04:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11:04:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:36 - logentry: =========================================
FECHA: 27/05/2026 11:04:36
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-3ii1DStR+JTNkOdtU6vG6JMMq1ZaO3iyhD0YIAdRv80sYqH+l3t
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2058",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "5564",
    "contadorColor": "6536",
    "contadorScanner": "0",
    "detalle": "•Entrega tintas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12744",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADFARcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABKEAABAwMBBAcEBwQHBgcBAAABAAIDBAURIQYSMUETIlFhcYGRFDKhsRUWI0LB0fAHJFLhM0NikqLS8SU0VnKCwiY1NkRVc7Li\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgECAwUGBgMBAQAAAAAAAAECAxESITEEIkFRcRNhgbHB0SMykaHh8BRCYlLx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREAREQBEXCtrIKCkkqql+5HGMk\/gEONpK7IN+vkdmpQWgS1UmkMOdXHt8PnwVVablefrFHRXBzD00HSOjH9VxIHjw7dML1s7RS3WuftDcGDffpTx40aBpn8vM9i+2s+27b3KpGXR07Oib\/ZdoD\/8Alyuskmjz3Oc5RneybyXdzZp0RFSeiEREAREQBERAEREAREQBERAERVV6v9NZ490\/bVL8bkDTqc8CewLqTbsiM5xgsUnkWckjIo3SSPaxjRlznHAA7yqCs2yt8MnQ0cctdLnGIh1fXn5BRWWa67QyNqL3MaenByylj0Pn2fE+C0VHb6O3x7lJTRwjGCWt1PieJ81O0Y65mfFWqfLurv1+hQ\/Te0s\/XgsIYzPCVxz8cfJPpXav\/wCEh\/vf\/wBLTouY1yO9hPjUf29jMfWi40eHXOyTRRnjJHkgD9Z5hXduutFdYuko52yY95vBzfEKYs\/d9l4ah3tttxSV0Z3mFnVa4945Hv8AVd3ZdxxqtTzTxLlxNAiorDtA6ukNvr4zBcIhhzSMB\/eO\/wDQV6oNNOzL6dSNSOKIREXCYREQBERAEREAWTry7afaAW6KQm30nWncxww53d8vVWm0t1da7Wehyaic9HFjOQTzHeF02etDbNbGQkfbP68pznrY4eAVkd1YjLV+LPsuCzfoibUzRUFDJMQ1kUEZOBoAAOCotioJBbZ62UYdVzF48B\/PKbZ1cgooLbA77WtlDMdrQR+JHxV9SUzKOkipowAyJgaMDsCaQ6j56\/dFfd\/g7IiKs1BERAeXOaxhe9wa1oySTgALL1N8uF8ndRWGMshB3ZKx+gHh2fPuC83Wsm2hu4slBJikZrVTNGRpy8OA8fBaSioqe30rKamjDI2DQdvee9WWUVd6mRylXk4xdorV8+hlaKmq7RtlSUclfLVCoiMkpfzO67tJ\/h4rZLL1R6X9olFu\/wBVTHe9H\/5gtQlR3s+47syUcaWifsERUW0t4loomUNBl1fU6Ma3i1p0yO\/l6nkoJNuyL6lRU4uTOg2noXXh1tjEkj2g5kYAWhw4hFn9irW36WqasSNljpgY2PA95x4kd2M+qKc1GLsjPs06lWGOWWZuURRbjXw22hlq5j1YxkDOC48gFWlc1NqKuyvv9++iwylpo+mrp\/6KPGcZOMn8lxsWzr6Sd1yuUntFfLrk6iPPZ38vkuezdulqpnX64jNVPrCOTGEaH008PFaRWN4VhRlpwdV9rPwXr1CIirNYREQBERAUG1NtfJTsutGNytoiHhwGrmjiD244+o5qxs9zZdrZFVsAaXDD2j7rhxCmkAjBGQVmNmHOoL1dLOchkb+lib2D\/QtVi3o9DLL4dZNaS8zUIiKs1BERAEREARFRbVXR1JQiipgXVdb9nGG8QDoT8cDvXYq7sQqTVOLkyBQu+se1T64jeo7fpF2OdyPzPotYq+yWtlntcdK07zvekdj3nHj+A8l7u1wZa7ZNWPwSxvVafvOPAeqlJ4nZFNKPZ03Kerzf73FGwi77cucDmK2swMHi7h8z\/hWpVBsfQuprR7VK37esd0rncyOX4nzV+k3nbkd2ZPBiess\/3wCIigaAs9tRdJYxFaKHWrrerkHVjScZ89fQq5r62O3UM1XN7kTd7HaeQ8zgKh2XpJ6yomv9brJU5EDcnqMyf5AfzVkFbeZmrycmqUdX9l+5FtZbTFZ7eymjAL8ZkeB77u1WCKDeaw2+z1VUDhzIzun+0dB8SFDOTLt2nDLRFLYv33ay7V+N5kf2LHcuONP7vx71qFRbH0Io7BE8tAfUHpXHHI8Phj1V6pTe8VbNFqmm9Xn9SNcK6G20MtXO4BsbSQM43jyA7ysRI+RlsqtoK1x9qriYqNu9rG05BPhjIH81aXcnaS\/w2mB2aWkO\/UuGdXA4I8caeZ7F5b\/4h2s6NutvtmOqPdc4cNPH4N71ZBYVmZK8nVlZdF14vwL2wW8WyzU9Mc7+7vPz\/EdT6cPJFYoqW7u56MIqMVFcAspeni\/bR09kYC6npz0tQ5pxg44fEDxK0dfVsoaCeqfqImF2O3uVJsdRltBLc5hmeukLyT\/Dk\/M5PopxyTkZ6+\/KNLnm+i9zRNaGtDWgAAYAHJfURVmoIiIAiIgCIiALLzgUn7QoHgYFXT4J7SAf8oWoWZvJd9crO1h1wcgHlr+SnDVmbafli+TXmaZERQNIREQBERAfHODWlziAAMknksnZGm\/7SVN6kBNPTno6cH4fA58XKbtbXSR0UdtpsmprndGANSGc+Hp4ZVnabey12yGjZgljes4feceJ9VYt2N+Zkl8Wso8I5vrw9yasrtHK673mksMJ6gcJagjkOz018wtBca+G20MtXMerGMgZwXHkAqbZO3yhk14rMmprjvDI4MJzp3HT0CQyWI7X35KkuOvT8mia0NaGtAAAwAOS+oirNQRFAvVxbarVNVH3gMMHa48ORXUruxGUlGLk9EUd6kdfdoYLHET7PARJUuaT5j5DxK1TWhrQ1oAAGAByVJstbHUlv9sqetV1h6WRzhqAdQPx8SrxSm+C4FNCLs6ktZeXBBZbaud1fWUdhp+s+d4fLj7rf1k+QWlqJ46anknlcGsjaXOJOFmtk6eWuqqq\/wBU37SocWxA8m88egHkV2GW9yI7Q3NqkuOvTj7GnjjZFG2ONu6xgDWjsAVdf7s2z2uSfIMrhuxDT3u3HMBWayrj9YtrAwHeorb1nYOWufy544\/AFcgru7J15uMcMdXkv3uOTI37L7LSzOJ+kK0jiesHHl34yT4lXGzNq+ibPHG9uJ5ftJe0E8vIaeqqcHaPa\/ON6htvo5+fxI8w1a1Sm3a3Mo2eCcsS0WS9WERFUbjN7bzuFqho2e\/VTBvHAwNfnhX1LTspKSGmZ7sTAweQws7dCa7bi20nFlMwynTgdT\/2tWoVksopGWlvVZz8Pp\/6ERFWagiIgCIiAIiIAsxWfvH7QaJo1EFOS4d+HfmFp1l7Rit21ulXjIp2iIacDoP+0qyHF9xm2jNwjza+2ZqERFWaQiIgC8SyshifLI4NYxpc5x5AcSvazO2FbI+Ons1JrUVrhvDsbn8T8AVKMcTsVVanZwcjxYI3Xq8VN8qG70bD0VK12uANcjQfolalR6Cijt1DDSQ+5E3dz2nmfM5Ki366NtFqlqMjpSN2IHm48PTj5LreKWRCmlRp3n1ZTXoO2g2hgs8ZPs1KRJUkZwT2Z7caDvJWqa0NaGtAAAwAOSpdlbY6gtfTzj95qz0sh7uQ+OfMq7Sb4LgKEXZ1Jay\/UgiIoGgLK3Xcvm1dNa871PSDpZxjIJ7PkPMq9u1wZa7ZNWPwSxvVafvOPAeqq9j7e+CgfcKnLqmud0hceO7y9ck+YVkck5GWtvzjSXV9PyzQoijXCtit1DLVzHqxtzjPvHkB4lV6mltJXZRbU1ktVPBYKN321WR0pxndZnP4EnuWhpqeKkpYqaFu7HE0NaO4LP7LUclVNPf6tv29WSIgT7rP0MDuHetKrJ5bqM9BOTdV8dOnD3KjaW6i02eSRrsTS\/ZxYOoJHHyGvoqV8b9ndlYqOJv+0bi7d3ca5OMjyGB4ldpyy+bYCJ72mktY335OhcOXrx8Culs\/29tLPdT1qSi+xpuxzubviT5jsU0sK+\/sZpydSo2uO6vVlrYbUy0WuKn3R0xG9K4c3Hv7uHkrJEVLd3dnoQioRUVogiIuEjMW8ip29uEpGRDCGN7j1R+a06\/O6yuraba6qjo5XRyVFQ2MkAEkcMa+K\/RFbUVrMxbJNSxrk35hERVG0IiIAiIgCIq2\/XRtptUtQCOlxiJp5uOnw4rqV3ZEZyUIuT0R0nu9JFFVubKHPpGOdI3B0I5Z8dFVbFUzo7Q+rk1kq5S8nGMgafPKzkcT6TZY7zgKm7zta0knJYDxJ7M\/Nb6gpW0VBBSt4RRhviQNSrZJRjZGKjOVaopSWi8\/wSERRblXxWyglq5tWxjRuQC48gMqlK5ubUVdkpFUbNXWovFudU1EbIyJCxu6DqABr6n4K3XWrOzIwmpxUloz45wa0ucQABkk8lmNnozd71V36UfZtJipsjlzPpp5nsXfbC4PgoGW+my6prndGGjju8\/XIHmVbWygjttvhpIwMMbqRzPMqa3Y35lEviVlHhHPx4EtZMF20u1QeN51tt50P3XvH8z6DvU3ai6vghZbKI79bV9QNHFrTkE9x\/mVYWa1x2i2x0seC4daRw+87mUW6rnJ\/FqYFos36InoiKs1hEXiWVkMT5ZHBrGNLnOPIDiUBmNpHuut8obHHvbmelnIJAx2egPqFqWtDWhrQAAMADkszslHJW1VdfJjl1S8sjB4ho\/QHktOrJ5bvIy7PvXqv+3lwCydze7aXaFtojJFHRkuqHA+8dNPI6eqstpbybZRiCnBdWVOWRNadW503vy7122ftP0TbhG\/WolO\/M7ezl3ikd1YjlX4s+yWi19iza0NaGtAAAwAOSr79cxabTNU5HSY3Igebzw9OPkqHaDa+SCq9jtJa57Th8m7vZPYF4q6tt2vkUdaC2ntcJlqd12hkwMjlz08iuxpvJsjU2qLThB56d36iM\/p7Ns1DSR7xuN2fkgOO8Gnhz4nI9T2LXWm3stdsho2YJY3rOH3nHifVUWztPJd7rUbQVcfUcd2la4DQA4z5Yx5lapKj4DZaeWPhounPx1CIiqNoREQGBdED+0bdGv24dr\/AMuVvlj62SOD9o1K8kneYGnXgS0tHzC2CtqO9uhi2RJOov8ATCIiqNoREQBERAFh9oQ+\/bVwWuLIjhG65wOcZ1cfTA8QtNfrqy0WuWo3h0xG7E083Hu7uPksTRVNQy3uigcH3G8S43w7rMZvYJPZk73kM9ivpRfzHnbZUi2qT6v28WXNqY29bUOq4hu0FtaIqcDgcaDHxPoteoVpt7LXboqVmCWjLyODncypqrnK7yNVCm4Rz1ebC\/PtsLs+5XAUNM7fpoHBvV1DpDnn8PIrRbUXWSCFlsoutW1nUDRxaw5BP67+xU9JaYafai320AEUcfSyvH35OP4DyCsppLeZk2ubqfCjzV\/Hh6mrtNvZa7ZBRtOejb1j2uOpPqpbnBrS5xAAGSTyX1Ue1lxdRWr2eE\/vFWeijAODjmfw8wqknJm2Uo0qd+CK+zMN92mqbzIM09MeipweGf8AQk+LgtDc7hDa6CSsnyWsGjRxcTwAXG200FkskUUjhGyFm9K938XEn1VFFHLtdd21MrHNtNMeo0\/1rv18NOanlJ34IzJypQUVnOX7foiTsxbpp5H3645NVU6xDk1hGhH64eK0q+NaGtDWgAAYAHJeJ54qaF808jY42DLnOOAFCTxM006apQsenvZGwvkcGNaMlzjgBcqStpq6MyUszJmNO6XNORlZcmr2xrd1nSU9ohdq7gZT+vRdtiGNjZcWMGGtqMAdgUnC0c9SmO0OVRJLdd8+hqVmttq\/oLZHRNfuvq34JzgBoIzn4K9ra2nt9K+pqZAyNg1Pb3DvX5\/VVUV8q6q7129FTQAMijGpkdqWsz6k4XaUbu7IbZVwwwJ5vy4mi2ZvlLPMLRR0z2wwR9SUnV+OLiOWSe3mrq6XOC00L6uoOg0a0cXO5AKl2XtzLVb5bpWFsDqhu+4cGxs4jTz+SjUcMm111dW1TXNttM7EER06Q9\/pr5BdcYuTfAjTqVI0ox\/s9O5fgk7P22etrn365sHSza08Z16NvI+nBfdr7\/8AR1KaKmfipnaclp1jb+BPJW91u1LaKQ1FS\/X7jAes89gWUstimvtW69Xc\/ZSO3gzh0mPk0Yx5JHN4paHKl4R7GlnJ6v1ZH2et\/wBH0E+0NXHpAwmmY7QPcdMnuyQAo9DFPXmG1RyfaXCTp6x4xndzkA+WXf8AUFN2yvlPVNjttE8OiidvPcw9UkaBo7ceivdk7SaC3Crn3jVVYDnlxyQOQ9Dr\/JWOTUcTMsKUZVFSg8lq\/P2Lqmp46Wmjp4W7scbQ1o7guqIsp7SVlZBERDoREQH55tOZ\/rVUVEAyaNkchII6oG7r6uC3tLUMq6SGpj9yVgePAjKzNRTsk25qaaTRlbRlhx2buP8AtXfZCpdAypstS\/8AeKOR26O1meXn8wr55xXcebQbhWlfSTf1X4NKiIqD0giIgC5VNRFSU0lRM7djjaXOPcF6lljhidLK8MYwZc5xwAFg73fReZusXx2qF\/AaPnd2D9aDU64CnCDkzPtFeNGPeRb9W1N6idc5g6GlY\/oqWM4638R+GvkFpNkbAbfB7dVDNTMwboI1jb2eJ08MLO+zVtXe7WKqMQsmc0xU7dBHED2csgFfo6tqStFRRi2Skp1HVlqv2\/sFCut0p7RROqag6cGtHF57AvtzudNaaN1TUvw0aNaOLz2BZy222q2lrW3e7t3aVv8Au9PyI\/L5+CqjHi9DbVqtPBDOT+3eyXs9b5qurkv1xjxUTawNLv6NhHZ4LnY8TbY3mbO8W9TPZrjH+H4LULM7P\/Y7T3uF2cveJBvcSMn4dZSUrpsqlTVOVOPe\/rZmmWUpnNve2k1UXk09tbut10LtR88nyHJXN\/uTbVZ5qjP2hG5EM4y48PTj5LHWeKsutH9F29road536ypdxcf4c9nd\/NdpxybI7TVXaRhrxt5FpXVEu1ty+jqJ5Zb6dwM8wPv9mO3gceq1VPTxUlOyngYGRxjDWhcLZbKa00baamZho1c48XntKi3raGltDNz+mqnaMgYdTnhnsCi3i3YlsEqSdSq83r7InVtdT26ldU1Ugjjb28SewdpWXipK7a+obVVm\/TWxh+zhGhk7\/wCfou1Fs\/WXeobcNoXl2BmOlGgaO8cvDj2rUtaGtDWgAAYAHJLqGmpzDKvnNWjy59fY8QwxU8LIYWBkbBhrWjQBZnYyRrKK41Urw1hnLi46AADJOexaeYkQvIOCGn5L8wprhvWhlpEogifKZaiQni3TTHPhw8FKnHEmV7TUVKcHyv6FjfbjLfopqwF8VupTuRjnLIeH59w7yuezVr9sYaq4PMdtpCZOscNc\/TPyGfILnPcKK5VNNb2\/ulppiXakbzgBqe9x7O9dprpRXWeOifOLdZ6bG7GAS6T0B18eHHUq6zSsv38nnYoyqY5O\/q\/ZFmTVbZ1u63fgtEDtTwMp\/P5KZX7QwW4ttNmpvaKlg6NrGDLYyNMHtP6JRm11goYGQUxkMbButbHEQAPPCWfaKzVdzFPRUc0U9S5znSOY0ZOC45OSeSqafFZI3KUNFUWJ6v0RXVeydzrqSWtrJ+nuDvdiDgGtHZnh+HFd2WW+XKnbBdKplDQxNA6CEj3QOevDTmStcqjams9i2fqXA4dIOib\/ANWh+GVxVJN2LJ7NShFzd9M89epntlbDR3CWS4SRyCGGf93aTo4DXrdvEdnBbhVuz1H7DYqSHADiwPdjtdqfmrJQqSxSLdmpKnTWWb1CIigaQiIgCIiAy20h+jtobXdnaRAmKQ9g\/wBCfRSb\/aKiSeO8Wk4rYeLRj7Vv46fBWl1t0V1t0tJLweMtd\/C7kVQ2q\/SWYMtV9Y+F8Y3Y5yMtc3kM\/j6q6LbSa1RgqRjGbU8oyzvyZZ2faGkukYY9zYasaPhcdQRpp26lW6pKyy2a+Hpo3sE3vCemeN7xOND4qvktF9tjM0+0TBG3RvtWgA895RwxejsWKpVgt5YlzXsatQLleqC1MzVzhrsZEbdXHyWJrL3dXOET7z0rnfdom6+GcD4ZXm3bJ3a4npJx7NG\/3pJsl5Gn3ePrhTVJLOTKJbbKbw0o3Z4vG0dVfpRA1j2U+erBHqXnlnt5aK+2f2TERjrbo0OlaB0cH3Y+zPf3fMq5tVgoLQ1pgiDpg3DpnauP5eSs1yVTK0dCVHZHi7Ss7szV8LaDaa23Wf8A3drHROc0ElpwRkgDh1l9n2wjmcYbPRT103AO3CGePb8lonxslbuyMa8Ag4cM6rzDBDTsDIImRMHBrGho+CjiVs0XulNSeCVk89MzO0GzMtVU\/SF+l9onJOIM5Y0dn8gtKAAMAYARzg0ZcQB2lV9RtBaKX+luEHgx2+fQZXG5SJRjTorW3eyxVFctnZKi4i4W+tdR1Dhuylo98afl38lHl23oS8x0dLUVT+Qa3Ad+PwUaq2nvopX1MdmFNCwAl85OmfHdypRhNMpq16E1Zu9uV\/MgU9qnue1DqCurZa6GlGZXPyBwGg1048fFbiGCCkgEUMbIomDRrRgBYuyWW+1NK6siuTKVlYeke4ayOOTqcDt7+ZU6bZCkYw1F1u9RKGnLnveGj45Up2bs2UbPjhFyjDXi3w+7Ou0V+qIJ22+3yQRukaC+pfKAI8k6ePVVfbqvZyyk1EtY+vrTq6QMJwe7OnnnKhlth6U09ptdTc5xwc9zg0d+BjTyCks2WrZo+luNRSWyHUFsTWg68iRx8yVO0UrPIqc6s54opN\/VLyXmSaj9oMAOKagkf3yPDfgMrzT7Q7TXTWhtsTWHhIWED+8Tgry2TZGykBjPpCcaaDpMnt16vopf1gvta0C2WJzGEdV82cEd3AfFcsuEfqTU5t79TwirlXfLdf46J9Xc7k0xjQRxOOp48AAFUOprRTUbHzVM1RUvaCYoMNazuLiD3cAtW+wXy7aXa5tjhJyYIBpjs5fiqvaCw22001PSUrZJq6qkDWOe\/UDTkNOOB5nsUozWl\/oUVqEs6iWX+tSktotrJOmrhNPg9WmiHvf8ztNPD4K\/ZRV9eA237OUlDHjSSpjDnf4h+BWut1up7bSxwwxMa5rA1z2tALz2nzUtVyq3eRrpbDhjaT+i9TIwbC9I7fuFcXf2IGBo\/XHktBb7Nb7WD7JTNY48XnVx8ypyKtzlLVmuns9Km7xWYWX2nH0herXaPuPf0sgzqRr+Ad6rULL27Nw26rqnjHRx9E3udw\/zLsMm3yI7Tmow5te7NQiIqzSEREAREQBERAFwqqOmrYxHVQRzMByA9ucFd0Q40mrMzk2w1pkdvROqICCSNyTOPUFfIth7W1wdPLUTkfxvxp5BXtZW01BTmeqlEUYIBcQeJ8FnKvb2hjBFLTyzu11dhjfxPwVsXUloYqkNkpvfSX7yL+itVBbm7tJSxxf2gMuPiTqVLX55U7c3Wd2IBDTNzxDd4j1\/JQjXVdx1nq7lU5ODHG3DePLBI7OSl2Mnm2Vfz6Ud2mvQ\/Raq50FED7TVwxEcnPGfTjyVTU7bWiE7sJmqXE4xGzHzws3TUbY8OZspWTY1Dp5H6+QaAremrL7A0ex7M08Axrhobn4jvTs4ofyaktMvBv2Ov09tBX\/+X2UxNPB85P44Havv0VtVWN\/ebxHTgjhCNR6AfNffbtsZfdtVLGDzc4ZH+P8ABOk2zf8A1NHHjvGvxKaaWF8XzY34W9gzYiCQ71dcaqpd25x88qfTbK2WlO82ibI7tlJf8DooHQbZv\/8Ad0bM9w6v+FBbtr3EF94phjhusH+RceJ\/2JxVKOlJ\/RerNHFDFA3chiZG3sY0AfBZracy3W60Nihfhrz0s5HFo\/0yfRH23aqONz33yENaCSd3gP7qqLHbLxeZJbvHX9BMXbnSubq7QcPgF2MUt65ytVlNKkoPPpoteJdX\/ac2RwoaSlJkawYfJndaOXeeCyzZLleqjp6ulq7gB7rGZaweg05cMeK0p2XvD5BK+\/O6T+LcOR55Xv6uX3\/iOb0d+alGUIrIpq069WV5J25Ze5HpKDaaSHoIGUlog5tjA3j56nPfkKRFsVBI8SXKvqKyTnl2B8cn4p9XL7\/xHN6O\/NPq5ff+I5vR35qOLkyxUv8Aqm31a8r2Lqks9uocGmooo3N4O3cu9TqpqzH1evzdW7RSE9jgcfNPobahnuX1js8d5v8AIqDin\/Y0RqSirKm19Pc06ytuc++bXz1xbmloAY4sj72oz8z6LhcvrVa6GSpqLvTGJmBhrRvOzpgdTj5rjZKLaajtkfsHs3QT\/bDfxnUD8AFKMbJu5TUrOdSMXF5Zv0Nuiy4uu1dMcVFmjmHbEePoSn1yliOKuyVcBHHifmAo9nLgaP5VNfNddUzUIqKm2ystTgOnfATylYR8RkK4gqYKpm\/TzxzM\/ijeHD4KDi1qi2FWE\/ldz294jjc93BoJKzexMe9Q1da7G\/UVBJI5gd\/iStBWHFFOeyN3yVJsR\/6dZ\/8Aa5TXyMqnnXgu5+hoURFWaQiIgCIiAIiIAiIgOFZRU1fTmCqiEsZIJaSeI8FFi2ftEJBZbqfIOesze+asUXbtEHTg3drM4x0lNEMR08TB2NYAuyIuEkktAiIh0IiIAiIgKDbGvNLZzTROPT1jujaBxI+9+XmrS1UQt1rp6QamJgDj2nifjlUDP9tbbuLmB0FsGhz9\/wD1z6eS1SslklEy0t+pKp4Lw1+4REVZqCIiAIiIDL7WufXVlvssTiDPIHyYIHVzj\/MfJaZrWsYGNGGtGAOwLMWUC67V3C5uAMdN9jCSMa8MjyB\/vLUqyeVomWhvOVTm\/sgiIqzUQ6m026sOaiigkOc7xYM+vFU1TsXSAmW2VM9FMPdLXkt\/P4rSopKcloymdCnP5kZKd21VthkZM2O405a5pLB1wMceAPzXvYStiktstHkCWOQvDf7Jx+K1Sjx0NNDVyVcULWTSjD3D73j6KWNOLTRUtnlGopKV0uZIREVZrCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAo9fVNoqCepdwiYXeJ5fFSFnNuJzHYhC3JM8zWYHYMn5gKUVeSRVWn2dOUuR62MozDZzVyAdNWPMjncyOA\/E+a0K40tOykpIaZnuxMDB5DC7JJ3dztKHZ01HkERFEsCIiAKFd6r2K0VVTrlkR3cHGvAfFTV5kjZKwxyMa9juLXDIK6tSMk3FpFJsdR+ybPxOIw6cmU+eg+ACvV8a0NaGtAAAwAOS+pJ3dzlOCpwUVwCIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAq68WeO8QwxySujEUok0Gc9yIuptO6IyiprDLQsURFwkEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "CARMEN CALZADILLA",
    "correoContacto": "marleoc_64@hotmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I791\",\"id_control\":\"28800\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I638\",\"id_control\":\"28800\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I639\",\"id_control\":\"28800\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I637\",\"id_control\":\"28800\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:04",
    "ubicacionGPS": "LatLng(lat: -22.085763, lng: -70.1894495)",
    "horaLlegada": "10:42",
    "horaDespacho": "11:03",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 27/05/2026 11:04:36
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-3ii1DStR+JTNkOdtU6vG6JMMq1ZaO3iyhD0YIAdRv80sYqH+l3t
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2058",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "5564",
    "contadorColor": "6536",
    "contadorScanner": "0",
    "detalle": "•Entrega tintas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12744",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADFARcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABKEAABAwMBBAcEBwQHBgcBAAABAAIDBAURIQYSMUETIlFhcYGRFDKhsRUWI0LB0fAHJFLhM0NikqLS8SU0VnKCwiY1NkRVc7Li\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgECAwUGBgMBAQAAAAAAAAECAxESITEEIkFRcRNhgbHB0SMykaHh8BRCYlLx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREAREQBEXCtrIKCkkqql+5HGMk\/gEONpK7IN+vkdmpQWgS1UmkMOdXHt8PnwVVablefrFHRXBzD00HSOjH9VxIHjw7dML1s7RS3WuftDcGDffpTx40aBpn8vM9i+2s+27b3KpGXR07Oib\/ZdoD\/8Alyuskmjz3Oc5RneybyXdzZp0RFSeiEREAREQBERAEREAREQBERAERVV6v9NZ490\/bVL8bkDTqc8CewLqTbsiM5xgsUnkWckjIo3SSPaxjRlznHAA7yqCs2yt8MnQ0cctdLnGIh1fXn5BRWWa67QyNqL3MaenByylj0Pn2fE+C0VHb6O3x7lJTRwjGCWt1PieJ81O0Y65mfFWqfLurv1+hQ\/Te0s\/XgsIYzPCVxz8cfJPpXav\/wCEh\/vf\/wBLTouY1yO9hPjUf29jMfWi40eHXOyTRRnjJHkgD9Z5hXduutFdYuko52yY95vBzfEKYs\/d9l4ah3tttxSV0Z3mFnVa4945Hv8AVd3ZdxxqtTzTxLlxNAiorDtA6ukNvr4zBcIhhzSMB\/eO\/wDQV6oNNOzL6dSNSOKIREXCYREQBERAEREAWTry7afaAW6KQm30nWncxww53d8vVWm0t1da7Wehyaic9HFjOQTzHeF02etDbNbGQkfbP68pznrY4eAVkd1YjLV+LPsuCzfoibUzRUFDJMQ1kUEZOBoAAOCotioJBbZ62UYdVzF48B\/PKbZ1cgooLbA77WtlDMdrQR+JHxV9SUzKOkipowAyJgaMDsCaQ6j56\/dFfd\/g7IiKs1BERAeXOaxhe9wa1oySTgALL1N8uF8ndRWGMshB3ZKx+gHh2fPuC83Wsm2hu4slBJikZrVTNGRpy8OA8fBaSioqe30rKamjDI2DQdvee9WWUVd6mRylXk4xdorV8+hlaKmq7RtlSUclfLVCoiMkpfzO67tJ\/h4rZLL1R6X9olFu\/wBVTHe9H\/5gtQlR3s+47syUcaWifsERUW0t4loomUNBl1fU6Ma3i1p0yO\/l6nkoJNuyL6lRU4uTOg2noXXh1tjEkj2g5kYAWhw4hFn9irW36WqasSNljpgY2PA95x4kd2M+qKc1GLsjPs06lWGOWWZuURRbjXw22hlq5j1YxkDOC48gFWlc1NqKuyvv9++iwylpo+mrp\/6KPGcZOMn8lxsWzr6Sd1yuUntFfLrk6iPPZ38vkuezdulqpnX64jNVPrCOTGEaH008PFaRWN4VhRlpwdV9rPwXr1CIirNYREQBERAUG1NtfJTsutGNytoiHhwGrmjiD244+o5qxs9zZdrZFVsAaXDD2j7rhxCmkAjBGQVmNmHOoL1dLOchkb+lib2D\/QtVi3o9DLL4dZNaS8zUIiKs1BERAEREARFRbVXR1JQiipgXVdb9nGG8QDoT8cDvXYq7sQqTVOLkyBQu+se1T64jeo7fpF2OdyPzPotYq+yWtlntcdK07zvekdj3nHj+A8l7u1wZa7ZNWPwSxvVafvOPAeqlJ4nZFNKPZ03Kerzf73FGwi77cucDmK2swMHi7h8z\/hWpVBsfQuprR7VK37esd0rncyOX4nzV+k3nbkd2ZPBiess\/3wCIigaAs9tRdJYxFaKHWrrerkHVjScZ89fQq5r62O3UM1XN7kTd7HaeQ8zgKh2XpJ6yomv9brJU5EDcnqMyf5AfzVkFbeZmrycmqUdX9l+5FtZbTFZ7eymjAL8ZkeB77u1WCKDeaw2+z1VUDhzIzun+0dB8SFDOTLt2nDLRFLYv33ay7V+N5kf2LHcuONP7vx71qFRbH0Io7BE8tAfUHpXHHI8Phj1V6pTe8VbNFqmm9Xn9SNcK6G20MtXO4BsbSQM43jyA7ysRI+RlsqtoK1x9qriYqNu9rG05BPhjIH81aXcnaS\/w2mB2aWkO\/UuGdXA4I8caeZ7F5b\/4h2s6NutvtmOqPdc4cNPH4N71ZBYVmZK8nVlZdF14vwL2wW8WyzU9Mc7+7vPz\/EdT6cPJFYoqW7u56MIqMVFcAspeni\/bR09kYC6npz0tQ5pxg44fEDxK0dfVsoaCeqfqImF2O3uVJsdRltBLc5hmeukLyT\/Dk\/M5PopxyTkZ6+\/KNLnm+i9zRNaGtDWgAAYAHJfURVmoIiIAiIgCIiALLzgUn7QoHgYFXT4J7SAf8oWoWZvJd9crO1h1wcgHlr+SnDVmbafli+TXmaZERQNIREQBERAfHODWlziAAMknksnZGm\/7SVN6kBNPTno6cH4fA58XKbtbXSR0UdtpsmprndGANSGc+Hp4ZVnabey12yGjZgljes4feceJ9VYt2N+Zkl8Wso8I5vrw9yasrtHK673mksMJ6gcJagjkOz018wtBca+G20MtXMerGMgZwXHkAqbZO3yhk14rMmprjvDI4MJzp3HT0CQyWI7X35KkuOvT8mia0NaGtAAAwAOS+oirNQRFAvVxbarVNVH3gMMHa48ORXUruxGUlGLk9EUd6kdfdoYLHET7PARJUuaT5j5DxK1TWhrQ1oAAGAByVJstbHUlv9sqetV1h6WRzhqAdQPx8SrxSm+C4FNCLs6ktZeXBBZbaud1fWUdhp+s+d4fLj7rf1k+QWlqJ46anknlcGsjaXOJOFmtk6eWuqqq\/wBU37SocWxA8m88egHkV2GW9yI7Q3NqkuOvTj7GnjjZFG2ONu6xgDWjsAVdf7s2z2uSfIMrhuxDT3u3HMBWayrj9YtrAwHeorb1nYOWufy544\/AFcgru7J15uMcMdXkv3uOTI37L7LSzOJ+kK0jiesHHl34yT4lXGzNq+ibPHG9uJ5ftJe0E8vIaeqqcHaPa\/ON6htvo5+fxI8w1a1Sm3a3Mo2eCcsS0WS9WERFUbjN7bzuFqho2e\/VTBvHAwNfnhX1LTspKSGmZ7sTAweQws7dCa7bi20nFlMwynTgdT\/2tWoVksopGWlvVZz8Pp\/6ERFWagiIgCIiAIiIAsxWfvH7QaJo1EFOS4d+HfmFp1l7Rit21ulXjIp2iIacDoP+0qyHF9xm2jNwjza+2ZqERFWaQiIgC8SyshifLI4NYxpc5x5AcSvazO2FbI+Ons1JrUVrhvDsbn8T8AVKMcTsVVanZwcjxYI3Xq8VN8qG70bD0VK12uANcjQfolalR6Cijt1DDSQ+5E3dz2nmfM5Ki366NtFqlqMjpSN2IHm48PTj5LreKWRCmlRp3n1ZTXoO2g2hgs8ZPs1KRJUkZwT2Z7caDvJWqa0NaGtAAAwAOSpdlbY6gtfTzj95qz0sh7uQ+OfMq7Sb4LgKEXZ1Jay\/UgiIoGgLK3Xcvm1dNa871PSDpZxjIJ7PkPMq9u1wZa7ZNWPwSxvVafvOPAeqq9j7e+CgfcKnLqmud0hceO7y9ck+YVkck5GWtvzjSXV9PyzQoijXCtit1DLVzHqxtzjPvHkB4lV6mltJXZRbU1ktVPBYKN321WR0pxndZnP4EnuWhpqeKkpYqaFu7HE0NaO4LP7LUclVNPf6tv29WSIgT7rP0MDuHetKrJ5bqM9BOTdV8dOnD3KjaW6i02eSRrsTS\/ZxYOoJHHyGvoqV8b9ndlYqOJv+0bi7d3ca5OMjyGB4ldpyy+bYCJ72mktY335OhcOXrx8Culs\/29tLPdT1qSi+xpuxzubviT5jsU0sK+\/sZpydSo2uO6vVlrYbUy0WuKn3R0xG9K4c3Hv7uHkrJEVLd3dnoQioRUVogiIuEjMW8ip29uEpGRDCGN7j1R+a06\/O6yuraba6qjo5XRyVFQ2MkAEkcMa+K\/RFbUVrMxbJNSxrk35hERVG0IiIAiIgCIq2\/XRtptUtQCOlxiJp5uOnw4rqV3ZEZyUIuT0R0nu9JFFVubKHPpGOdI3B0I5Z8dFVbFUzo7Q+rk1kq5S8nGMgafPKzkcT6TZY7zgKm7zta0knJYDxJ7M\/Nb6gpW0VBBSt4RRhviQNSrZJRjZGKjOVaopSWi8\/wSERRblXxWyglq5tWxjRuQC48gMqlK5ubUVdkpFUbNXWovFudU1EbIyJCxu6DqABr6n4K3XWrOzIwmpxUloz45wa0ucQABkk8lmNnozd71V36UfZtJipsjlzPpp5nsXfbC4PgoGW+my6prndGGjju8\/XIHmVbWygjttvhpIwMMbqRzPMqa3Y35lEviVlHhHPx4EtZMF20u1QeN51tt50P3XvH8z6DvU3ai6vghZbKI79bV9QNHFrTkE9x\/mVYWa1x2i2x0seC4daRw+87mUW6rnJ\/FqYFos36InoiKs1hEXiWVkMT5ZHBrGNLnOPIDiUBmNpHuut8obHHvbmelnIJAx2egPqFqWtDWhrQAAMADkszslHJW1VdfJjl1S8sjB4ho\/QHktOrJ5bvIy7PvXqv+3lwCydze7aXaFtojJFHRkuqHA+8dNPI6eqstpbybZRiCnBdWVOWRNadW503vy7122ftP0TbhG\/WolO\/M7ezl3ikd1YjlX4s+yWi19iza0NaGtAAAwAOSr79cxabTNU5HSY3Igebzw9OPkqHaDa+SCq9jtJa57Th8m7vZPYF4q6tt2vkUdaC2ntcJlqd12hkwMjlz08iuxpvJsjU2qLThB56d36iM\/p7Ns1DSR7xuN2fkgOO8Gnhz4nI9T2LXWm3stdsho2YJY3rOH3nHifVUWztPJd7rUbQVcfUcd2la4DQA4z5Yx5lapKj4DZaeWPhounPx1CIiqNoREQGBdED+0bdGv24dr\/AMuVvlj62SOD9o1K8kneYGnXgS0tHzC2CtqO9uhi2RJOov8ATCIiqNoREQBERAFh9oQ+\/bVwWuLIjhG65wOcZ1cfTA8QtNfrqy0WuWo3h0xG7E083Hu7uPksTRVNQy3uigcH3G8S43w7rMZvYJPZk73kM9ivpRfzHnbZUi2qT6v28WXNqY29bUOq4hu0FtaIqcDgcaDHxPoteoVpt7LXboqVmCWjLyODncypqrnK7yNVCm4Rz1ebC\/PtsLs+5XAUNM7fpoHBvV1DpDnn8PIrRbUXWSCFlsoutW1nUDRxaw5BP67+xU9JaYafai320AEUcfSyvH35OP4DyCsppLeZk2ubqfCjzV\/Hh6mrtNvZa7ZBRtOejb1j2uOpPqpbnBrS5xAAGSTyX1Ue1lxdRWr2eE\/vFWeijAODjmfw8wqknJm2Uo0qd+CK+zMN92mqbzIM09MeipweGf8AQk+LgtDc7hDa6CSsnyWsGjRxcTwAXG200FkskUUjhGyFm9K938XEn1VFFHLtdd21MrHNtNMeo0\/1rv18NOanlJ34IzJypQUVnOX7foiTsxbpp5H3645NVU6xDk1hGhH64eK0q+NaGtDWgAAYAHJeJ54qaF808jY42DLnOOAFCTxM006apQsenvZGwvkcGNaMlzjgBcqStpq6MyUszJmNO6XNORlZcmr2xrd1nSU9ohdq7gZT+vRdtiGNjZcWMGGtqMAdgUnC0c9SmO0OVRJLdd8+hqVmttq\/oLZHRNfuvq34JzgBoIzn4K9ra2nt9K+pqZAyNg1Pb3DvX5\/VVUV8q6q7129FTQAMijGpkdqWsz6k4XaUbu7IbZVwwwJ5vy4mi2ZvlLPMLRR0z2wwR9SUnV+OLiOWSe3mrq6XOC00L6uoOg0a0cXO5AKl2XtzLVb5bpWFsDqhu+4cGxs4jTz+SjUcMm111dW1TXNttM7EER06Q9\/pr5BdcYuTfAjTqVI0ox\/s9O5fgk7P22etrn365sHSza08Z16NvI+nBfdr7\/8AR1KaKmfipnaclp1jb+BPJW91u1LaKQ1FS\/X7jAes89gWUstimvtW69Xc\/ZSO3gzh0mPk0Yx5JHN4paHKl4R7GlnJ6v1ZH2et\/wBH0E+0NXHpAwmmY7QPcdMnuyQAo9DFPXmG1RyfaXCTp6x4xndzkA+WXf8AUFN2yvlPVNjttE8OiidvPcw9UkaBo7ceivdk7SaC3Crn3jVVYDnlxyQOQ9Dr\/JWOTUcTMsKUZVFSg8lq\/P2Lqmp46Wmjp4W7scbQ1o7guqIsp7SVlZBERDoREQH55tOZ\/rVUVEAyaNkchII6oG7r6uC3tLUMq6SGpj9yVgePAjKzNRTsk25qaaTRlbRlhx2buP8AtXfZCpdAypstS\/8AeKOR26O1meXn8wr55xXcebQbhWlfSTf1X4NKiIqD0giIgC5VNRFSU0lRM7djjaXOPcF6lljhidLK8MYwZc5xwAFg73fReZusXx2qF\/AaPnd2D9aDU64CnCDkzPtFeNGPeRb9W1N6idc5g6GlY\/oqWM4638R+GvkFpNkbAbfB7dVDNTMwboI1jb2eJ08MLO+zVtXe7WKqMQsmc0xU7dBHED2csgFfo6tqStFRRi2Skp1HVlqv2\/sFCut0p7RROqag6cGtHF57AvtzudNaaN1TUvw0aNaOLz2BZy222q2lrW3e7t3aVv8Au9PyI\/L5+CqjHi9DbVqtPBDOT+3eyXs9b5qurkv1xjxUTawNLv6NhHZ4LnY8TbY3mbO8W9TPZrjH+H4LULM7P\/Y7T3uF2cveJBvcSMn4dZSUrpsqlTVOVOPe\/rZmmWUpnNve2k1UXk09tbut10LtR88nyHJXN\/uTbVZ5qjP2hG5EM4y48PTj5LHWeKsutH9F29road536ypdxcf4c9nd\/NdpxybI7TVXaRhrxt5FpXVEu1ty+jqJ5Zb6dwM8wPv9mO3gceq1VPTxUlOyngYGRxjDWhcLZbKa00baamZho1c48XntKi3raGltDNz+mqnaMgYdTnhnsCi3i3YlsEqSdSq83r7InVtdT26ldU1Ugjjb28SewdpWXipK7a+obVVm\/TWxh+zhGhk7\/wCfou1Fs\/WXeobcNoXl2BmOlGgaO8cvDj2rUtaGtDWgAAYAHJLqGmpzDKvnNWjy59fY8QwxU8LIYWBkbBhrWjQBZnYyRrKK41Urw1hnLi46AADJOexaeYkQvIOCGn5L8wprhvWhlpEogifKZaiQni3TTHPhw8FKnHEmV7TUVKcHyv6FjfbjLfopqwF8VupTuRjnLIeH59w7yuezVr9sYaq4PMdtpCZOscNc\/TPyGfILnPcKK5VNNb2\/ulppiXakbzgBqe9x7O9dprpRXWeOifOLdZ6bG7GAS6T0B18eHHUq6zSsv38nnYoyqY5O\/q\/ZFmTVbZ1u63fgtEDtTwMp\/P5KZX7QwW4ttNmpvaKlg6NrGDLYyNMHtP6JRm11goYGQUxkMbButbHEQAPPCWfaKzVdzFPRUc0U9S5znSOY0ZOC45OSeSqafFZI3KUNFUWJ6v0RXVeydzrqSWtrJ+nuDvdiDgGtHZnh+HFd2WW+XKnbBdKplDQxNA6CEj3QOevDTmStcqjams9i2fqXA4dIOib\/ANWh+GVxVJN2LJ7NShFzd9M89epntlbDR3CWS4SRyCGGf93aTo4DXrdvEdnBbhVuz1H7DYqSHADiwPdjtdqfmrJQqSxSLdmpKnTWWb1CIigaQiIgCIiAy20h+jtobXdnaRAmKQ9g\/wBCfRSb\/aKiSeO8Wk4rYeLRj7Vv46fBWl1t0V1t0tJLweMtd\/C7kVQ2q\/SWYMtV9Y+F8Y3Y5yMtc3kM\/j6q6LbSa1RgqRjGbU8oyzvyZZ2faGkukYY9zYasaPhcdQRpp26lW6pKyy2a+Hpo3sE3vCemeN7xOND4qvktF9tjM0+0TBG3RvtWgA895RwxejsWKpVgt5YlzXsatQLleqC1MzVzhrsZEbdXHyWJrL3dXOET7z0rnfdom6+GcD4ZXm3bJ3a4npJx7NG\/3pJsl5Gn3ePrhTVJLOTKJbbKbw0o3Z4vG0dVfpRA1j2U+erBHqXnlnt5aK+2f2TERjrbo0OlaB0cH3Y+zPf3fMq5tVgoLQ1pgiDpg3DpnauP5eSs1yVTK0dCVHZHi7Ss7szV8LaDaa23Wf8A3drHROc0ElpwRkgDh1l9n2wjmcYbPRT103AO3CGePb8lonxslbuyMa8Ag4cM6rzDBDTsDIImRMHBrGho+CjiVs0XulNSeCVk89MzO0GzMtVU\/SF+l9onJOIM5Y0dn8gtKAAMAYARzg0ZcQB2lV9RtBaKX+luEHgx2+fQZXG5SJRjTorW3eyxVFctnZKi4i4W+tdR1Dhuylo98afl38lHl23oS8x0dLUVT+Qa3Ad+PwUaq2nvopX1MdmFNCwAl85OmfHdypRhNMpq16E1Zu9uV\/MgU9qnue1DqCurZa6GlGZXPyBwGg1048fFbiGCCkgEUMbIomDRrRgBYuyWW+1NK6siuTKVlYeke4ayOOTqcDt7+ZU6bZCkYw1F1u9RKGnLnveGj45Up2bs2UbPjhFyjDXi3w+7Ou0V+qIJ22+3yQRukaC+pfKAI8k6ePVVfbqvZyyk1EtY+vrTq6QMJwe7OnnnKhlth6U09ptdTc5xwc9zg0d+BjTyCks2WrZo+luNRSWyHUFsTWg68iRx8yVO0UrPIqc6s54opN\/VLyXmSaj9oMAOKagkf3yPDfgMrzT7Q7TXTWhtsTWHhIWED+8Tgry2TZGykBjPpCcaaDpMnt16vopf1gvta0C2WJzGEdV82cEd3AfFcsuEfqTU5t79TwirlXfLdf46J9Xc7k0xjQRxOOp48AAFUOprRTUbHzVM1RUvaCYoMNazuLiD3cAtW+wXy7aXa5tjhJyYIBpjs5fiqvaCw22001PSUrZJq6qkDWOe\/UDTkNOOB5nsUozWl\/oUVqEs6iWX+tSktotrJOmrhNPg9WmiHvf8ztNPD4K\/ZRV9eA237OUlDHjSSpjDnf4h+BWut1up7bSxwwxMa5rA1z2tALz2nzUtVyq3eRrpbDhjaT+i9TIwbC9I7fuFcXf2IGBo\/XHktBb7Nb7WD7JTNY48XnVx8ypyKtzlLVmuns9Km7xWYWX2nH0herXaPuPf0sgzqRr+Ad6rULL27Nw26rqnjHRx9E3udw\/zLsMm3yI7Tmow5te7NQiIqzSEREAREQBERAFwqqOmrYxHVQRzMByA9ucFd0Q40mrMzk2w1pkdvROqICCSNyTOPUFfIth7W1wdPLUTkfxvxp5BXtZW01BTmeqlEUYIBcQeJ8FnKvb2hjBFLTyzu11dhjfxPwVsXUloYqkNkpvfSX7yL+itVBbm7tJSxxf2gMuPiTqVLX55U7c3Wd2IBDTNzxDd4j1\/JQjXVdx1nq7lU5ODHG3DePLBI7OSl2Mnm2Vfz6Ud2mvQ\/Raq50FED7TVwxEcnPGfTjyVTU7bWiE7sJmqXE4xGzHzws3TUbY8OZspWTY1Dp5H6+QaAremrL7A0ex7M08Axrhobn4jvTs4ofyaktMvBv2Ov09tBX\/+X2UxNPB85P44Havv0VtVWN\/ebxHTgjhCNR6AfNffbtsZfdtVLGDzc4ZH+P8ABOk2zf8A1NHHjvGvxKaaWF8XzY34W9gzYiCQ71dcaqpd25x88qfTbK2WlO82ibI7tlJf8DooHQbZv\/8Ad0bM9w6v+FBbtr3EF94phjhusH+RceJ\/2JxVKOlJ\/RerNHFDFA3chiZG3sY0AfBZracy3W60Nihfhrz0s5HFo\/0yfRH23aqONz33yENaCSd3gP7qqLHbLxeZJbvHX9BMXbnSubq7QcPgF2MUt65ytVlNKkoPPpoteJdX\/ac2RwoaSlJkawYfJndaOXeeCyzZLleqjp6ulq7gB7rGZaweg05cMeK0p2XvD5BK+\/O6T+LcOR55Xv6uX3\/iOb0d+alGUIrIpq069WV5J25Ze5HpKDaaSHoIGUlog5tjA3j56nPfkKRFsVBI8SXKvqKyTnl2B8cn4p9XL7\/xHN6O\/NPq5ff+I5vR35qOLkyxUv8Aqm31a8r2Lqks9uocGmooo3N4O3cu9TqpqzH1evzdW7RSE9jgcfNPobahnuX1js8d5v8AIqDin\/Y0RqSirKm19Pc06ytuc++bXz1xbmloAY4sj72oz8z6LhcvrVa6GSpqLvTGJmBhrRvOzpgdTj5rjZKLaajtkfsHs3QT\/bDfxnUD8AFKMbJu5TUrOdSMXF5Zv0Nuiy4uu1dMcVFmjmHbEePoSn1yliOKuyVcBHHifmAo9nLgaP5VNfNddUzUIqKm2ystTgOnfATylYR8RkK4gqYKpm\/TzxzM\/ijeHD4KDi1qi2FWE\/ldz294jjc93BoJKzexMe9Q1da7G\/UVBJI5gd\/iStBWHFFOeyN3yVJsR\/6dZ\/8Aa5TXyMqnnXgu5+hoURFWaQiIgCIiAIiIAiIgOFZRU1fTmCqiEsZIJaSeI8FFi2ftEJBZbqfIOesze+asUXbtEHTg3drM4x0lNEMR08TB2NYAuyIuEkktAiIh0IiIAiIgKDbGvNLZzTROPT1jujaBxI+9+XmrS1UQt1rp6QamJgDj2nifjlUDP9tbbuLmB0FsGhz9\/wD1z6eS1SslklEy0t+pKp4Lw1+4REVZqCIiAIiIDL7WufXVlvssTiDPIHyYIHVzj\/MfJaZrWsYGNGGtGAOwLMWUC67V3C5uAMdN9jCSMa8MjyB\/vLUqyeVomWhvOVTm\/sgiIqzUQ6m026sOaiigkOc7xYM+vFU1TsXSAmW2VM9FMPdLXkt\/P4rSopKcloymdCnP5kZKd21VthkZM2O405a5pLB1wMceAPzXvYStiktstHkCWOQvDf7Jx+K1Sjx0NNDVyVcULWTSjD3D73j6KWNOLTRUtnlGopKV0uZIREVZrCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAo9fVNoqCepdwiYXeJ5fFSFnNuJzHYhC3JM8zWYHYMn5gKUVeSRVWn2dOUuR62MozDZzVyAdNWPMjncyOA\/E+a0K40tOykpIaZnuxMDB5DC7JJ3dztKHZ01HkERFEsCIiAKFd6r2K0VVTrlkR3cHGvAfFTV5kjZKwxyMa9juLXDIK6tSMk3FpFJsdR+ybPxOIw6cmU+eg+ACvV8a0NaGtAAAwAOS+pJ3dzlOCpwUVwCIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAq68WeO8QwxySujEUok0Gc9yIuptO6IyiprDLQsURFwkEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "CARMEN CALZADILLA",
    "correoContacto": "marleoc_64@hotmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I791\",\"id_control\":\"28800\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I638\",\"id_control\":\"28800\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I639\",\"id_control\":\"28800\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I637\",\"id_control\":\"28800\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:04",
    "ubicacionGPS": "LatLng(lat: -22.085763, lng: -70.1894495)",
    "horaLlegada": "10:42",
    "horaDespacho": "11:03",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


27/05/2026 11:04:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[27/05/2026 11:04:36] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP2058', 1, 24456550, 5564, NOW(), 
				'11:03', '10:42', '11:04', 10, '•Entrega tintas', -1, 
				'', '','1','6536',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779894276.png', '', null, 'COMPLETADO','LatLng(lat: -22.085763, lng: -70.1894495)' )
				
[27/05/2026 11:04:36] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200445
[27/05/2026 11:04:36] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200445', 'EPS-I791', 2)
				
[27/05/2026 11:04:36] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28800 and
				    IDproducto = 'EPS-I791'
				

27/05/2026 11:04:36 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I791';
                [27/05/2026 11:04:36] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200445', 'EPS-I638', 2)
				
[27/05/2026 11:04:36] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28800 and
				    IDproducto = 'EPS-I638'
				

27/05/2026 11:04:36 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I638';
                [27/05/2026 11:04:36] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200445', 'EPS-I639', 2)
				
[27/05/2026 11:04:36] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28800 and
				    IDproducto = 'EPS-I639'
				

27/05/2026 11:04:36 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I639';
                [27/05/2026 11:04:36] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200445', 'EPS-I637', 2)
				
[27/05/2026 11:04:36] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28800 and
				    IDproducto = 'EPS-I637'
				

27/05/2026 11:04:36 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I637';
                
27/05/2026 11:04:36 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200445'                    
				WHERE idllamado = 12744			
				TO ENVIO: micorreo@miempresa.cl, marleoc_64@hotmail.com


27/05/2026 11:04:36 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12744			
				
27/05/2026 11:04:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


27/05/2026 11:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11:04:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

[27/05/2026 11:04: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;
                

27/05/2026 11:04:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12744
                

27/05/2026 11:04:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11:04:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11:04:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12744
                

[27/05/2026 11:04:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11: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 = 12744
                

27/05/2026 11: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 = 12744
                

[27/05/2026 11:04:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11: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 = 12744
                

27/05/2026 11: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 = 12744
                

27/05/2026 11: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 = 12744
                

27/05/2026 11: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 = 12744
                

[27/05/2026 11:04:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11: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 = 12744
                

27/05/2026 11:04:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11:04:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11:04:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

[27/05/2026 11:04:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:04:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12744
                

27/05/2026 11:04:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12744
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12744
                

27/05/2026 11: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 = 12744
                

27/05/2026 11: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 = 12744
                

27/05/2026 11: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 = 12744
                

27/05/2026 11: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 = 12744
                

27/05/2026 11: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 = 12744
                

27/05/2026 11: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 = 12744
                

27/05/2026 11: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 = 12744
                

27/05/2026 11:04:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11:04:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12745
                

27/05/2026 11:04:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

[27/05/2026 11:04: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;
                

27/05/2026 11:04:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11:04:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12745
                

27/05/2026 11: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 = 12745
                

27/05/2026 11: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 = 12745
                

27/05/2026 11:04:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11:04:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12745
                

[27/05/2026 11:04: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;
                

[27/05/2026 11:04: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;
                

[27/05/2026 11:04: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;
                

27/05/2026 11:04:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

[27/05/2026 11:04: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;
                

27/05/2026 11: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 = 12745
                

27/05/2026 11:04:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12745
                

27/05/2026 11: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 = 12745
                

27/05/2026 11: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 = 12745
                

27/05/2026 11: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 = 12745
                

27/05/2026 11:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11:04:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11:04:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

[27/05/2026 11:04: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;
                

[27/05/2026 11:04: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;
                

27/05/2026 11:04:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

[27/05/2026 11:04: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;
                

[27/05/2026 11:04: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;
                

[27/05/2026 11:04: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;
                

27/05/2026 11:04:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11:04:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11:04:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11:04:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11: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 = 12745
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12745
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12745
                

27/05/2026 11: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 = 12745
                

27/05/2026 11:04:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:04:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12745
                

27/05/2026 11: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 = 12745
                

27/05/2026 11:04:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12745
                

27/05/2026 11: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 = 12745
                

27/05/2026 11:04:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/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 = 12745
                

27/05/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 = 12745
                

27/05/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 = 12745
                

27/05/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 = 12745
                

27/05/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 = 12745
                

27/05/2026 11:04:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/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 = 12745
                

27/05/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 = 12745
                

27/05/2026 11:04:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/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 = 12745
                

27/05/2026 11:04:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/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 = 12745
                

27/05/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 = 12745
                

27/05/2026 11: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 = 12745
                

27/05/2026 11: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 = 12745
                

27/05/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 = 12745
                

27/05/2026 11:04:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/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 = 12745
                

27/05/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 = 12745
                

27/05/2026 11:04:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/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 = 12745
                

27/05/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 = 12745
                

27/05/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 = 12745
                

27/05/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 = 12745
                

27/05/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 = 12745
                

27/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/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 = 12745
                

27/05/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 = 12745
                

27/05/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 = 12745
                

27/05/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 = 12745
                

27/05/2026 11:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:05:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:05:10 - logentry: =========================================
FECHA: 27/05/2026 11:05:10
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-9mUoV-jjXKJ-GeF1IY8_zI7AZHJKzp0SB5_VB53b7ueDAC1hxSM
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2051",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "114718",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega tintas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12745",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC0AQ4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABIEAABAwMCAwUEBwQGCQUBAAABAAIDBAURBiESMUETUWGBkSJxobEUFSMyUsHRM0Lh8AcWJJKi8SY0U2JjgrLC0jVDcnN04v\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf\/EADURAAIBAgMFBgUDBAMAAAAAAAABAgMREiExBBMiQVEyYXGhwdGBkbHh8BQzQhUjJFI0ovH\/2gAMAwEAAhEDEQA\/AP2ZERABERABEXGqrKaihMtVOyFg6vdjPu70HG0ldnZFnp9b2eFxawzzY6xx7fEhcf690Ld5KKsYO\/hb+qfdy6EHtVFfyRp0VRRaptFc4NZVCJ5OA2YcJPnyVulaa1KwnGavF3CIi4OEREAEREAEREAFzlmigbxTSsjHe9wCqL3qFtvkFFRsNRXybMjAyG55EqFS6VlrpTWagqHzzO\/9ljsNb4bfknUcryM8qzcsFNXfkjSQVEFTGJIJo5WHk6NwcPULostpWNtLerxRwjhgikHAzOcbkdVqVySs7D0ajqQxMIiJSoREQAXKpqYaOB09RII42DJcV8qqmKjpZKmd3DHE0ucVl6Sln1dVC4VwdFbonEQwA\/fIPM\/Ipoxvm9CFWq4tRiryf5dnRt3vV\/kc2zwtpaVrv9Zm5ux06\/D1UmwV1ey61dnuEzJ307Q8S\/vOBx8Nwr6KKOGJsUTAxjBhrWjAAWbtYMuvLrO0eyyIMPv9j\/xKdNNPIg4ShKDcm238NHyNOiIpG4IiIAIiIALnPPFTQvmnkbHGwZc5xwAuddXU9upH1NS\/hYwdObj3Ad6zFPRVurpxW15fT21p+ygad3+P8fRPGN83oQq1cLwxV5P8zOsuobleZn0+n6chjSA6pkaMD12HxPgu1PpCOWQVF4q5q6fqC8hg8O\/5e5aCCnhpYWwwRtjjaMBrRgBdF3Hbs5CLZ8WdV4n5fI409HS0rAynp4omjkGMAXZEUzSklkisuWn7bdIy2anayTHsyxjhcP181U0FdWafubbVdZzPBOf7PUHp0wc8hy26e5alV18tMd4tr6dwAkA4on\/hd+h5FPGXJ6GerS\/nTykvPuZYoqPSt0fX291POHCooyI3hxySOhPjsR5K8SyVnYtTmqkVJcwiIuDhERABUuob99VMZTUzO1rqjaKMb4ycAke\/l3qZd7pDaLe+qlIJAxGz8bugVTp20yTSm+XPL6uYkxtcMdm3kNuhx6BPFK2JmarOTe7p6vyX5oSrDYBbS+rqn9vXzEmSQ\/u56BXJIAyTgBfVXX6rFDY6uc4yIy1ue87D5rl3JlFGNGnloip0bmpkudyIP9pqNj4DJ26\/vLTqn0rS\/RdO0oIIMje0Of8Ae3Hwwrhdm7yYuzRcaUb\/AJfMIiJC4RFndT3SXMdloMmsq8AlrscDf47+WU0VididWoqccTIU8kurbz9Fhe4WmmOZHNyO0P8Any8AStZDFHBCyGJgZGwBrWjkAolotcNot8dLFuRu9343Y3KnLspXyWglGm4rFPtPX2PLnNYwvccNaMk9wWa0Uztoa+4uaeKpqDueZA3+bip+qq36Dp+ocDh8o7Ju\/wCLn8MrvYKL6BY6WAtw\/gDn7b8R3Pzx5Lqyg+8SXFXS\/wBVf55FiiKPW11PbqV1TVSCONvfzJ7h3lTNLaSuyQvgcHZwQcHBwsk2S76te7snut9s5Zxl0n6\/L3r7pimFBqO40UEr3QRMAw49dt\/i5UwWTzzMq2nFJWjk8r\/Y1q8SyshifLI4NYxpc5x6AcyvazOpqie4VlPYKJ\/DJN7c7ujWY5H4nyHeliruxarU3cb8\/Uj0sUmrbs+rqQ8WumdiGMjAkPj+fotaAAMAYAXKkpIaGkjpadnBFGMNC7IlK+mhyjSwK7zb1CIiUsEREAEREAZanH1ZryaLJEdfFxt5\/e5\/MO9VqVl9VH6Ld7PXjbgm4Hu8MjbPu4lqFSeaTM1DhlOHR\/XMIiKZpC+OcGtLnEAAZJPRfVm9WXCVwhs1C8GprDwvAP3WHoe7OfQFNGOJ2J1aipwcmR6djtVX11TKHfVlE7hjbnaR4x\/n7sLWKJbLfDa6COjgyWsG7jzcTzJUtEnd5aC0abhG8tXqFl9XSPq6q3WeJ2HTyh78OwQOQ\/M+S1CythIvGpq+7Oa0xwfZQEHyz6D\/ABJoZXl0J7TxJU1\/J+XM1DGNjjaxgw1oAA7gvSIpmoIiIAg3i5x2m3SVTxlwGI2\/idjYfD0BVXpi1SRiS71wDqusPGARvGD8s\/LCiMP9aNS9o15dbaAjHMCR\/f6\/AeK1qo+FW5mSH96e8ei09\/YIi+OcGtLnEAAZJPRTNZltRZumo7daG5MbD2s2ACMf5A\/3lqlltLRm43SvvsjMCV5jhz0H+XCPVXl0ZXPpP7BUx08ocC6SQZAb16Kk9VEyUHeMqttfotDrXVsFupH1VS\/hjYPMnuHiszRUVVqqtbcrk0x0EZ+wp8\/e8f1PX3LzmXWN24fu2uifu4D9q7+PwHvWva0NaGtAAAwAOi72F3nF\/kSu+wvP7BrQ1oa0AADAA6LMaRzVV12uR3E8+GHngZJxn3EKx1PcPq6xTyN+\/KOyZv1d18hk+S6aeoDbbJTwPaWyFvHICeTjvjy5eS4soN9RpcVeK\/1V\/nkvUm1dSyjpJamQgMiYXHJ7gqHSVK6YVN6nGZqx5DCRjDAfzPyC+61qXttkVDEftKyUMA7wN\/nwq9pKZlHSRU0YAZEwNGB3BGkPEO3Xtyj9X9jsiIpmoIiIAIiIAIiIAzGuxi000mcFtS3GeX3XfotOsvr5w+pYG5GTUggf8rld2eWeotFLNUv45ZIw5zsAZzuDt4KjXAmZIS\/yJruRNREUzWcqmoipKWWpmdwxxNLnHwCzmlKeauqam\/VgPaTkshB\/dZnfHh0HuPevWqJ5K+spbDTH2pyHzkfus6Z2Pv8AILRU8EdNTxwRNDWRtDWgDCp2Y+Jl\/drd0fr9joiIpmoqNTXH6tsk0jcdpIOzYD3nr5DJXvTlu+rLLBC5vDK4dpIDz4j+mw8lU3ZpvGrqO3tJMNGO1mAd159P+Uea1So8opGWnx1pT5LJeoREUzUFntVXKaNsNoos\/S60huQcFjc4+O49wKvKmoipKWWpmdwxxNLnHwCzmlqaeuqqi\/VocJJyWwNOfZZ4eHID3FPBW4nyM1eTk1Sjq\/JF1Z7ZFaLdHSxgZAzI4fvPxuVORErd3dl4xUUorQKg1hXOprSKSF2Jqx3ZtA6jr+nmr9ZO3OOoNWy3DnSUA4ITnZx6H5n0TQWd3yIbRJ4VTWssvcv7Tb2Wu2Q0bMEsb7Th+848z6ql1LWTV9XFp+gd9rMc1Dsfcbz38t\/TvVzd7nHabbLVybkDDG\/id0CrNJ2uSCmfc6zidW1eSXPzkN7vPGfRdjlxsWor2oQ+PcvuXNDRQW6kZS0zOGNg8ye8+KkIq6+XRlotUtUd3\/djbnm48vzPkkzbNDcacb6JFLXh1+1dBQtJ+i0A7SXGR7WeXyHqtWqTS1vfSWz6TUb1VYe1lcRvvuAfXPmVdppvOy5Etni7OctZZ+xl7iBW66t9Pj2aaPtXZ79z+TVqFmLX9vrm6TOO8cYYB\/dH5fFaddnyRzZ88UurflkERFM0hERABERABERAGC11WmoukNAzlA3JGebnfwx6rdxsbFG2Nv3WANHuC\/LO0N11OJBuKirGMjkC7b4L9VV6qskjztinvKlSp1YXKpqIqSllqZncMcTS5x8AuqzOsah80dLZ4QTLWSjOOjQf138lKKu7GytU3cHI+aTgkrpqq+1TPtal5bHnfDR3fLyWnXKmp4qSlipoW8McTQ1o8AuqJO7uFGnu4KPPn4hcKyqjoqOWqlPsRNLiu6y2oqp12ucGnqV+z3B1S9p+6Bvjyxn34RGN2crVN3C615eJ10fSTPgqLvVbz1ryR\/8AHP658gFpF4hiZBCyGMcLI2hrR3AbBe0SeJ3O0qe7gohEUS5V8VsoJauU7RjYZHtHoEqVykmoq7KHUdRJdbrT6epnEB5D6lw6N548gM+YWlggjpoGQQsDI2DDWgYwFQ6Ut8gilvFXvVV3tcvutJz8dj7sLRJ5u3CuRnoJu9WWr+nIIi5zTRU8L5pnhkbBlznHYBIadCm1ZdfoFrdTwuzU1X2bGj7wB5nHw95Uyw2wWm0w02B2mOOUjq88\/Tl5KlsTJL\/eZb9UNLYYj2dNGTnG3P4+p8FdX25i02iaqH7THDGO9x5fr5KrVrQRjhJSbry05eHX4lHXA6j1XHQjDqK3nM2\/3ndR47gN9VrVS6Ut7qGzMfKD21Se1kJ578s+S93rUVLZ\/ssGeqcPYhZz8M9y5LN4VyO0mqcHVqZN5+yLdZGv\/wBI9WR0A9qjoPam7nO6j1w31XKLWVQ+0VL5YmirMnZ07WjmTz257fmFd6atItdsaZGn6VUAPnceeeg8s+uV2zhdvUR1I7S1GOmr9EXCIikbjM2fDdaXdmDktDuee79VplmKP7P+kOuA5SUwOO7Zn6fFadPPVeBm2bsyXe\/qEREhpCIiACIiACrr9WNobJVTOIB7MtZnq47D5qxWE1ZcTdrtDaKd32cUmHu6F\/I\/3Rn4p6ccUjNtVXd02+byRF0zRf6Q0Lc54YjPJjpkHhH\/AEnzX6Ksno6NtTW3C5NbiMkQQ+DQOXLuDP0WsTVXeRPYYKNK65v7BfnFbenSXWtuzHgPGYKUNIy0YxxdemfNy12qriLfY5sOIlnHZR4O+\/M+mfgsxoyzmvqxWzkugpHYY124c\/n8Nj5hNTSUXJkdrlKdWNGGuv54amxssVXDaKZldK+So4MvLzkjO+D7uSnoii3d3PRjHDFIh3W4R2u3S1cp2YPZHPLjsAqvSVDJHRSXKpyamud2hJ3IZ05+vuwq+61DdS6ihs8UrBS0zuOV3H+0IxkDxAyPUrXtaGtDWgAAYAHRO+GNupmg97VcuUcl48z6iIpmsLLX9xvF\/pLGx\/2LPtanBI254593zC0dVUx0dLLUynDImFx8lQaQo3yNqbzUA9vWPPDxdGZz8T8gqQyTkZa\/HKNJc9fBe5pGtDWhrQAAMADovqrIdQW6oun1dDKZJt92jLcjmMqzSNNamiM4y7LuFltQVct5uLdPUJPMOqpAdmtHT4jzwFYakvRtVEGQDjq6g8ETBzGf3sfzuvunbILRREzYfVzHilk5n3ZTx4ViZmqt1ZbqOnP2+JYMbTWu3tZxCKnp2AZceQHesdJVu1lfYqVrHMt8BLicbkd5PTK63euOoax8cLyLVQAvqJM4EhHQe\/GB6rrpdtPZ9P1F4qA1hmJLRnm0bBo67nPwTqOFX5mepU3s1TXYWvfb0LXUF5daaeKmpGcdZUnggbzxyGfjsqSppotM2mWpqpBPeKwENc72iwnmR7s8+pUizxhv0jVF5IaX+1AHHPA3fl8AP4qjiirNY39z3ngjA9pwG0bByHv\/AIpopLLktSdao5WduJ9ldF18Sdo2y\/SpxcKgB0EB+xG+79va8sfJbtc6eCKlp44IWhkcbQ1oHQLoozlidz0NnoqjDDzCIiQuZe9E0GsLXX49iYdi737j\/uHotQqjU9sfdLO9kQJmiPaRgcyQDt6Fe9PXVt3tUcxI7ZnsStHRw6+fNUecU+hlp8FaUHzzXqeK67zUuoKK3NZH2VS3Je7Oc78unQeqt1l9UDsr9Y6jbHb8JOP95v6lahcklZMelJuc4vk\/QIiJC4RFXXq8QWahdUS4c87Rx5wXn9O9dSbdkLKShFyloRdTXo2uiEMALqupyyJrebenF+nisPX07rLX9lK4uqWwkvc059twPU9wPPvC1+nrPPNMb1dsvrJd42OH7IdNuh+XvVRb6I3zWtVUuAdBTTFzickOwcNHnjPdstEGo3R5O0RnVwy0beS6LqauxUH1bZqamIw8M4n7Y9o7n548lYIs7qLUTqN31dbh2tdIMEjfsh3+\/HpzKgk5s9KUoUKeeiKLXVwbUXGKjjfltO0l+D+8enkAPUrXWG3i2Wenp8e3w8UnP7x3P6L84o6J1RLRvl4j9LqhGC7kcFvET1P3h8V+sKtXhioow7FepVnVks\/z7BUGqbtLSwMt1Fl9bV+y1rQctacjI8e7z7lLvd7hs1OCR2lRJtFCObj+iiWGzVDKh13uh466YbN\/2YPT349EkVbiZqqzc3uoa830XuVFFa2WXWNrpGO4nGmc6V\/4nESfoB5LbLL3r+z6zs9Q4Ya8GIEdTkjH+Ieq1CKjvZnNmioY4Lk\/RBFT3bU1vtTuyc8zz5x2UWCQfHuVBdb5qCSldUujFrpiMNDvvvJ6DIz54CI02xqm1U4XWrXQma6uTIqOK3Bx4p3B8mOjAe7xPyVDXakqaylZa7dAaelaAxjWZMjwO8jv7h6lU2aitqWtLnzTSENbxHJceQG6\/RNN6bjs0PbT8MlW8buHJg7h+qu1GnFXPLhKrtdVuOS5+BQWGK+26L+wWVnaSffmqMgkdwyRgcv55TbjWasoaKSrqZ6SnjZ0aASSeQGxWsqKiKlgfPPII42DLnO5BZOkim1ddnVlU1zbXTuIijO3aH+dz6KalieJrI1To7qKpwk7vTl8SHQWS\/XV8d7NZFHPJux0jd8cgQMYC+3h+pKAxUUt0ZO6sJYGRN9o9Pw7Dfp4rdNaGtDWgAAYAHRZiFja7+kCd8m4o4BwA9Dt\/wCRKIzu7taBU2ZQioxbu3bX5soq511sdjfaqijiihnP7Zjslx5nr3ADopUlRTXiSit8cjWWu3wtlqJCeEE4A3yOe+PHJUnWNbDFfLayoaXQwDtntAzxb8t9v3cearrHpuS9mWpLzS0D5Thjd3OAPIe7OMqiaw4nkZZRkqrpQzWlu5Z\/K5zuddVaqusdHQxltOzaKPcAD8bu78luLRaoLRQMpoWjiwDI\/G73dSvVttVHaYOypIg3P3nHdzveVNUJzurLQ9LZ9ncG6k3eTCIimawiIgAsjc4p9MXk3elYZKKqdiojA+6Sef6eOy1y8SxRzROilYHseMOa4ZBCaMrMjVpbxZOzWjMtqypiq7RQXSjeJWRzhzSPcT5clqmua9ge05a4ZB7wsbdtK19LTzx2mTtKSbBfTOPtAg5yM8+Xgfeulk1lSQ0MVJXsljfBGGGQN4gcbDPUdFRxvFYczJCtu6z3uV0vC6NgipHaxsTWkisLiOgifk+oUGXUVxu4MFioJWhwwamYYDfd0\/nkkUJGmW00lo7vuzLS936ms0GXYlqHbRwtO59\/cFXWizVddWC8X0cU4\/YwEbRjvx+XnzUmz6ZjoZ\/p1dMayuJz2jskN92eZ8VYXW601oo3VFQ7wYwc3nuC7e2USeFy\/uVskuXqyFqa8\/VVv7OE8VXUexE0H2m5\/e8vmqvQkbqdtyikwHRyNa7fkRxZUiw2yqrq8366tAlePsIiPuDocdPD1XSt0fTVdZJKKqWGKV3HJHHtxHfy69ya8UnElarOarJaaLTLqc7nqGasqXWuxN7WoOzpx91g64P5rlV2qn07pysqHPM1bOwsfMRuS44IHr8FoLdbKS1wdjSxBgOOJ2PadjqSqLVz3VlXbbOwn+0Sh0m+Ns4\/X0RFpuy0GqwlGDqTzlouiv09ysqqX6ttum6iRpbHDL2sx4ckcTmu3wO4K4rtY0jQ2G1tdXVTzhjWtIGfz8lfyQQywmGSJjoyOHgI2xyxhcqW3UVESaWkhhJ5ljACfNcxp6odUKkHaErJ28clYqLLY5RUm7XZ3a10m7WnlD4D+dloERTbbeZop0401ZGd1nTvNsirov2lFKHj3EgfPCu6OrjrqOKqhOWStDh4eC6vY2SNzHjLXAgjvCzP9WLlQPIs92dBC4kmOTJAO\/vHcOXROrONmRkp06jnFXT1LiksltoJ5KmGmYJXuLzI7cjO+2eSyOtLnRXCaKClmkmkhJB4T9n5d5VsdKV1a9rrreZpmDd0TMgE+HQeihvoKJ2q6S10sbGU1A3tZsj7ztjuev7o37yqQsne9zLXU5U8CjhTf5oR9H2jF9qJJsP+gjhyOXaHbzxh3wW0ra6mt9O6eqmbGwdTzPgB1WKgu9VYquupoI4ZXTzFzZpJGtA8s4Ox7\/kV4jqLbUSis1DdDWSt3ZTwglrfA4GO7l8V2UXJ3YlGtGjTwR1z1yX54FhG2s1nUiSZr6a1ROPC0c5SD8\/HkFrIYYqeFkMLAyNgw1rRsAs0dYOqG9naLRUTkDAJbhre7YZ7j3L6KfV1xI7apgt8Z5iMAux8T17xySSi3rkjRSqQjdxvKT1dvxGhqa2lomB1VURwg8i9wGf5ysPeK2Ktub59PPrXVcg4ZTAwhrm+8b9B0V5S6Lt7CJK6WWtl6l7i0HyBz8Ve09LT0kfZ00EcLPwxtDR8FxSjHTMadOrXVpWivmz8\/stidV6kfR3XiL4o+2kbx5Lj7JAJ\/wCbdfokcbIo2xxsaxjRhrWjAA8As1aMf13uxd97gGB4ez\/BadFWTbQbHTjCLt1YREUjaEREAEREAEREAFkr1bpbRcnXilpWVNJIP7VA4AgeOD656e5a1V17t9VcqIQ0lY6lfxAlwJGR3bJ4OzIbRTxwy1WhAoq7TFU0vENDTy78bJomMc09QcjdSZ9TWSkHCa6M45CIF\/y2WafoGvLiW1kBHe7iyfgvg0BX59qspwPDiP5KuGm\/5GFVdqSsqauWtTruga1zaSnnnk34QW8LT+fwVFDUXasuouFbaaiuc3eOPgc2Nnlg\/wA96tKXQ9ZSuLory6ncRu6JhB92eIKUdGduc1l3q588xnHzJ8V1OnHQWUNqq2c1p4W9Tw676pkyG22lgA5mV4BHq4fJR5LnqIbyXO1U558JlZn81OboS0Nxl9S7HfIN\/QLvHo2xxkE0rn4\/FK78ilxQX\/hXc7S9X\/29kULrrdn+1JqagjA6MGfkxVXb9td3S1V+laYmYjqmMc5x8Bgggblbxum7LEM\/V8OB+IZ+apdGW+kqqWrrJaWJ\/aTlrA9gPCAM4Gff07kynGzaIz2eq5xjJ6975FE+tpRkuv8AdJXd7Yzv6vXgSUEwwya71Hhho39Sv0pkMUeOCJjccuFoGF0S73uLfoW9ZeT9z8x+r6mX\/V7ZdT3lzv8A+E+o7xL+yt9Yz\/7JP4BfpyI3z6B\/TovWT8j84h0pqF5aTGYt+bpxt6EqfDpC\/jd10bFn8Mzyfktwi460mPHYKS5v5mQk05eaemkml1HO1kTS44e\/YAZ\/EFSW3TFxvlIa5tRGOJ5AMznZdjrnB\/kLW6xqzTWF8TM9rUuETQOZ6nb3DHmrG1UQt9qpqQc42AO5fe5n45XVUko3JvZac6uDOyXXmzEt0ndqJ\/EbdS1wH\/FP\/k1S6atNt\/1rSIYAB9oyMn4kH5rboldVvVFVsUYZwdvgn6Gcg1vZ34bIJ6fG3tx7D0yreku1vrsfRqyGQn90PHF6c12npKapGKinimGMfaMDvmqir0dZ6neOF9M8cnQux8DkLnA+4rbaI9H5e5eossbFf7bvbLuZmA\/sp\/jzyPkjNU11vc2O+WuSEE47aIZb+noUYL9l3OfqVH9yLj9Pmj1SDsP6QqwbgTUwIztnZvryK06xV0utF9dUF9oqlkjAexmaTgtG\/Np33BO\/LZbVE1ozmzSTc0ut\/mERFM1hERABERABERABERABERABERABERAEW6P7K01kn4IHn0aVWaNZwaap3fjc93+Ij8lNvzS6w1wH+wefgo+lCHaZoyPwuH+Iqn8PiZn\/AMheD+qLhERTNIREQAREQBl7ti46zt1A4cUVO0yvBG2ef\/a31WoWWsWK7V12r\/vNi+xYdsc8bf3fj4rUqk8rIzbPxYp9W\/LIIiKZpCIiAC8ua17S17Q5p5gjIK9IgDPXPRturgX07fokv\/DHsnn08\/grymiMFNFC6R0hjYGl7ubsDmV1RM5NqzJxpQhJyirXCIiUoEREAEREAEREAEREAEREAEREAEREAcayIzUU8Q5vjc31CpdEvLtOsBGOCR4Hjvn81oF5a1rGhrGhrRyAGAE1+GxJ071FPomj0iIlKhERABERAGY0PmShrKgu4u0qSM+4A\/mtOsxoH\/0Ob\/8AS7\/patOnqdtmbZP2IhERIaQiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgCJb7bS2uB8NIwsY95eQSTucfoFLRF15sWCSikgiIuDBERABERABERABERABERABERAH\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "MARTINA LEON",
    "correoContacto": "marleoc_64@hotmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28802\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:05",
    "ubicacionGPS": "LatLng(lat: -22.0857598, lng: -70.1894501)",
    "horaLlegada": "10:43",
    "horaDespacho": "11:04",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
=========================================
FECHA: 27/05/2026 11:05:10
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-9mUoV-jjXKJ-GeF1IY8_zI7AZHJKzp0SB5_VB53b7ueDAC1hxSM
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2051",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "114718",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega tintas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12745",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC0AQ4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABIEAABAwMCAwUEBwQGCQUBAAABAAIDBAURBiESMUETUWGBkSJxobEUFSMyUsHRM0Lh8AcWJJKi8SY0U2JjgrLC0jVDcnN04v\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf\/EADURAAIBAgMFBgUDBAMAAAAAAAABAgMREiExBBMiQVEyYXGhwdGBkbHh8BQzQhUjJFI0ovH\/2gAMAwEAAhEDEQA\/AP2ZERABERABEXGqrKaihMtVOyFg6vdjPu70HG0ldnZFnp9b2eFxawzzY6xx7fEhcf690Ld5KKsYO\/hb+qfdy6EHtVFfyRp0VRRaptFc4NZVCJ5OA2YcJPnyVulaa1KwnGavF3CIi4OEREAEREAEREAFzlmigbxTSsjHe9wCqL3qFtvkFFRsNRXybMjAyG55EqFS6VlrpTWagqHzzO\/9ljsNb4bfknUcryM8qzcsFNXfkjSQVEFTGJIJo5WHk6NwcPULostpWNtLerxRwjhgikHAzOcbkdVqVySs7D0ajqQxMIiJSoREQAXKpqYaOB09RII42DJcV8qqmKjpZKmd3DHE0ucVl6Sln1dVC4VwdFbonEQwA\/fIPM\/Ipoxvm9CFWq4tRiryf5dnRt3vV\/kc2zwtpaVrv9Zm5ux06\/D1UmwV1ey61dnuEzJ307Q8S\/vOBx8Nwr6KKOGJsUTAxjBhrWjAAWbtYMuvLrO0eyyIMPv9j\/xKdNNPIg4ShKDcm238NHyNOiIpG4IiIAIiIALnPPFTQvmnkbHGwZc5xwAuddXU9upH1NS\/hYwdObj3Ad6zFPRVurpxW15fT21p+ygad3+P8fRPGN83oQq1cLwxV5P8zOsuobleZn0+n6chjSA6pkaMD12HxPgu1PpCOWQVF4q5q6fqC8hg8O\/5e5aCCnhpYWwwRtjjaMBrRgBdF3Hbs5CLZ8WdV4n5fI409HS0rAynp4omjkGMAXZEUzSklkisuWn7bdIy2anayTHsyxjhcP181U0FdWafubbVdZzPBOf7PUHp0wc8hy26e5alV18tMd4tr6dwAkA4on\/hd+h5FPGXJ6GerS\/nTykvPuZYoqPSt0fX291POHCooyI3hxySOhPjsR5K8SyVnYtTmqkVJcwiIuDhERABUuob99VMZTUzO1rqjaKMb4ycAke\/l3qZd7pDaLe+qlIJAxGz8bugVTp20yTSm+XPL6uYkxtcMdm3kNuhx6BPFK2JmarOTe7p6vyX5oSrDYBbS+rqn9vXzEmSQ\/u56BXJIAyTgBfVXX6rFDY6uc4yIy1ue87D5rl3JlFGNGnloip0bmpkudyIP9pqNj4DJ26\/vLTqn0rS\/RdO0oIIMje0Of8Ae3Hwwrhdm7yYuzRcaUb\/AJfMIiJC4RFndT3SXMdloMmsq8AlrscDf47+WU0VididWoqccTIU8kurbz9Fhe4WmmOZHNyO0P8Any8AStZDFHBCyGJgZGwBrWjkAolotcNot8dLFuRu9343Y3KnLspXyWglGm4rFPtPX2PLnNYwvccNaMk9wWa0Uztoa+4uaeKpqDueZA3+bip+qq36Dp+ocDh8o7Ju\/wCLn8MrvYKL6BY6WAtw\/gDn7b8R3Pzx5Lqyg+8SXFXS\/wBVf55FiiKPW11PbqV1TVSCONvfzJ7h3lTNLaSuyQvgcHZwQcHBwsk2S76te7snut9s5Zxl0n6\/L3r7pimFBqO40UEr3QRMAw49dt\/i5UwWTzzMq2nFJWjk8r\/Y1q8SyshifLI4NYxpc5x6AcyvazOpqie4VlPYKJ\/DJN7c7ujWY5H4nyHeliruxarU3cb8\/Uj0sUmrbs+rqQ8WumdiGMjAkPj+fotaAAMAYAXKkpIaGkjpadnBFGMNC7IlK+mhyjSwK7zb1CIiUsEREAEREAZanH1ZryaLJEdfFxt5\/e5\/MO9VqVl9VH6Ld7PXjbgm4Hu8MjbPu4lqFSeaTM1DhlOHR\/XMIiKZpC+OcGtLnEAAZJPRfVm9WXCVwhs1C8GprDwvAP3WHoe7OfQFNGOJ2J1aipwcmR6djtVX11TKHfVlE7hjbnaR4x\/n7sLWKJbLfDa6COjgyWsG7jzcTzJUtEnd5aC0abhG8tXqFl9XSPq6q3WeJ2HTyh78OwQOQ\/M+S1CythIvGpq+7Oa0xwfZQEHyz6D\/ABJoZXl0J7TxJU1\/J+XM1DGNjjaxgw1oAA7gvSIpmoIiIAg3i5x2m3SVTxlwGI2\/idjYfD0BVXpi1SRiS71wDqusPGARvGD8s\/LCiMP9aNS9o15dbaAjHMCR\/f6\/AeK1qo+FW5mSH96e8ei09\/YIi+OcGtLnEAAZJPRTNZltRZumo7daG5MbD2s2ACMf5A\/3lqlltLRm43SvvsjMCV5jhz0H+XCPVXl0ZXPpP7BUx08ocC6SQZAb16Kk9VEyUHeMqttfotDrXVsFupH1VS\/hjYPMnuHiszRUVVqqtbcrk0x0EZ+wp8\/e8f1PX3LzmXWN24fu2uifu4D9q7+PwHvWva0NaGtAAAwAOi72F3nF\/kSu+wvP7BrQ1oa0AADAA6LMaRzVV12uR3E8+GHngZJxn3EKx1PcPq6xTyN+\/KOyZv1d18hk+S6aeoDbbJTwPaWyFvHICeTjvjy5eS4soN9RpcVeK\/1V\/nkvUm1dSyjpJamQgMiYXHJ7gqHSVK6YVN6nGZqx5DCRjDAfzPyC+61qXttkVDEftKyUMA7wN\/nwq9pKZlHSRU0YAZEwNGB3BGkPEO3Xtyj9X9jsiIpmoIiIAIiIAIiIAzGuxi000mcFtS3GeX3XfotOsvr5w+pYG5GTUggf8rld2eWeotFLNUv45ZIw5zsAZzuDt4KjXAmZIS\/yJruRNREUzWcqmoipKWWpmdwxxNLnHwCzmlKeauqam\/VgPaTkshB\/dZnfHh0HuPevWqJ5K+spbDTH2pyHzkfus6Z2Pv8AILRU8EdNTxwRNDWRtDWgDCp2Y+Jl\/drd0fr9joiIpmoqNTXH6tsk0jcdpIOzYD3nr5DJXvTlu+rLLBC5vDK4dpIDz4j+mw8lU3ZpvGrqO3tJMNGO1mAd159P+Uea1So8opGWnx1pT5LJeoREUzUFntVXKaNsNoos\/S60huQcFjc4+O49wKvKmoipKWWpmdwxxNLnHwCzmlqaeuqqi\/VocJJyWwNOfZZ4eHID3FPBW4nyM1eTk1Sjq\/JF1Z7ZFaLdHSxgZAzI4fvPxuVORErd3dl4xUUorQKg1hXOprSKSF2Jqx3ZtA6jr+nmr9ZO3OOoNWy3DnSUA4ITnZx6H5n0TQWd3yIbRJ4VTWssvcv7Tb2Wu2Q0bMEsb7Th+848z6ql1LWTV9XFp+gd9rMc1Dsfcbz38t\/TvVzd7nHabbLVybkDDG\/id0CrNJ2uSCmfc6zidW1eSXPzkN7vPGfRdjlxsWor2oQ+PcvuXNDRQW6kZS0zOGNg8ye8+KkIq6+XRlotUtUd3\/djbnm48vzPkkzbNDcacb6JFLXh1+1dBQtJ+i0A7SXGR7WeXyHqtWqTS1vfSWz6TUb1VYe1lcRvvuAfXPmVdppvOy5Etni7OctZZ+xl7iBW66t9Pj2aaPtXZ79z+TVqFmLX9vrm6TOO8cYYB\/dH5fFaddnyRzZ88UurflkERFM0hERABERABERAGC11WmoukNAzlA3JGebnfwx6rdxsbFG2Nv3WANHuC\/LO0N11OJBuKirGMjkC7b4L9VV6qskjztinvKlSp1YXKpqIqSllqZncMcTS5x8AuqzOsah80dLZ4QTLWSjOOjQf138lKKu7GytU3cHI+aTgkrpqq+1TPtal5bHnfDR3fLyWnXKmp4qSlipoW8McTQ1o8AuqJO7uFGnu4KPPn4hcKyqjoqOWqlPsRNLiu6y2oqp12ucGnqV+z3B1S9p+6Bvjyxn34RGN2crVN3C615eJ10fSTPgqLvVbz1ryR\/8AHP658gFpF4hiZBCyGMcLI2hrR3AbBe0SeJ3O0qe7gohEUS5V8VsoJauU7RjYZHtHoEqVykmoq7KHUdRJdbrT6epnEB5D6lw6N548gM+YWlggjpoGQQsDI2DDWgYwFQ6Ut8gilvFXvVV3tcvutJz8dj7sLRJ5u3CuRnoJu9WWr+nIIi5zTRU8L5pnhkbBlznHYBIadCm1ZdfoFrdTwuzU1X2bGj7wB5nHw95Uyw2wWm0w02B2mOOUjq88\/Tl5KlsTJL\/eZb9UNLYYj2dNGTnG3P4+p8FdX25i02iaqH7THDGO9x5fr5KrVrQRjhJSbry05eHX4lHXA6j1XHQjDqK3nM2\/3ndR47gN9VrVS6Ut7qGzMfKD21Se1kJ578s+S93rUVLZ\/ssGeqcPYhZz8M9y5LN4VyO0mqcHVqZN5+yLdZGv\/wBI9WR0A9qjoPam7nO6j1w31XKLWVQ+0VL5YmirMnZ07WjmTz257fmFd6atItdsaZGn6VUAPnceeeg8s+uV2zhdvUR1I7S1GOmr9EXCIikbjM2fDdaXdmDktDuee79VplmKP7P+kOuA5SUwOO7Zn6fFadPPVeBm2bsyXe\/qEREhpCIiACIiACrr9WNobJVTOIB7MtZnq47D5qxWE1ZcTdrtDaKd32cUmHu6F\/I\/3Rn4p6ccUjNtVXd02+byRF0zRf6Q0Lc54YjPJjpkHhH\/AEnzX6Ksno6NtTW3C5NbiMkQQ+DQOXLuDP0WsTVXeRPYYKNK65v7BfnFbenSXWtuzHgPGYKUNIy0YxxdemfNy12qriLfY5sOIlnHZR4O+\/M+mfgsxoyzmvqxWzkugpHYY124c\/n8Nj5hNTSUXJkdrlKdWNGGuv54amxssVXDaKZldK+So4MvLzkjO+D7uSnoii3d3PRjHDFIh3W4R2u3S1cp2YPZHPLjsAqvSVDJHRSXKpyamud2hJ3IZ05+vuwq+61DdS6ihs8UrBS0zuOV3H+0IxkDxAyPUrXtaGtDWgAAYAHRO+GNupmg97VcuUcl48z6iIpmsLLX9xvF\/pLGx\/2LPtanBI254593zC0dVUx0dLLUynDImFx8lQaQo3yNqbzUA9vWPPDxdGZz8T8gqQyTkZa\/HKNJc9fBe5pGtDWhrQAAMADovqrIdQW6oun1dDKZJt92jLcjmMqzSNNamiM4y7LuFltQVct5uLdPUJPMOqpAdmtHT4jzwFYakvRtVEGQDjq6g8ETBzGf3sfzuvunbILRREzYfVzHilk5n3ZTx4ViZmqt1ZbqOnP2+JYMbTWu3tZxCKnp2AZceQHesdJVu1lfYqVrHMt8BLicbkd5PTK63euOoax8cLyLVQAvqJM4EhHQe\/GB6rrpdtPZ9P1F4qA1hmJLRnm0bBo67nPwTqOFX5mepU3s1TXYWvfb0LXUF5daaeKmpGcdZUnggbzxyGfjsqSppotM2mWpqpBPeKwENc72iwnmR7s8+pUizxhv0jVF5IaX+1AHHPA3fl8AP4qjiirNY39z3ngjA9pwG0bByHv\/AIpopLLktSdao5WduJ9ldF18Sdo2y\/SpxcKgB0EB+xG+79va8sfJbtc6eCKlp44IWhkcbQ1oHQLoozlidz0NnoqjDDzCIiQuZe9E0GsLXX49iYdi737j\/uHotQqjU9sfdLO9kQJmiPaRgcyQDt6Fe9PXVt3tUcxI7ZnsStHRw6+fNUecU+hlp8FaUHzzXqeK67zUuoKK3NZH2VS3Je7Oc78unQeqt1l9UDsr9Y6jbHb8JOP95v6lahcklZMelJuc4vk\/QIiJC4RFXXq8QWahdUS4c87Rx5wXn9O9dSbdkLKShFyloRdTXo2uiEMALqupyyJrebenF+nisPX07rLX9lK4uqWwkvc059twPU9wPPvC1+nrPPNMb1dsvrJd42OH7IdNuh+XvVRb6I3zWtVUuAdBTTFzickOwcNHnjPdstEGo3R5O0RnVwy0beS6LqauxUH1bZqamIw8M4n7Y9o7n548lYIs7qLUTqN31dbh2tdIMEjfsh3+\/HpzKgk5s9KUoUKeeiKLXVwbUXGKjjfltO0l+D+8enkAPUrXWG3i2Wenp8e3w8UnP7x3P6L84o6J1RLRvl4j9LqhGC7kcFvET1P3h8V+sKtXhioow7FepVnVks\/z7BUGqbtLSwMt1Fl9bV+y1rQctacjI8e7z7lLvd7hs1OCR2lRJtFCObj+iiWGzVDKh13uh466YbN\/2YPT349EkVbiZqqzc3uoa830XuVFFa2WXWNrpGO4nGmc6V\/4nESfoB5LbLL3r+z6zs9Q4Ya8GIEdTkjH+Ieq1CKjvZnNmioY4Lk\/RBFT3bU1vtTuyc8zz5x2UWCQfHuVBdb5qCSldUujFrpiMNDvvvJ6DIz54CI02xqm1U4XWrXQma6uTIqOK3Bx4p3B8mOjAe7xPyVDXakqaylZa7dAaelaAxjWZMjwO8jv7h6lU2aitqWtLnzTSENbxHJceQG6\/RNN6bjs0PbT8MlW8buHJg7h+qu1GnFXPLhKrtdVuOS5+BQWGK+26L+wWVnaSffmqMgkdwyRgcv55TbjWasoaKSrqZ6SnjZ0aASSeQGxWsqKiKlgfPPII42DLnO5BZOkim1ddnVlU1zbXTuIijO3aH+dz6KalieJrI1To7qKpwk7vTl8SHQWS\/XV8d7NZFHPJux0jd8cgQMYC+3h+pKAxUUt0ZO6sJYGRN9o9Pw7Dfp4rdNaGtDWgAAYAHRZiFja7+kCd8m4o4BwA9Dt\/wCRKIzu7taBU2ZQioxbu3bX5soq511sdjfaqijiihnP7Zjslx5nr3ADopUlRTXiSit8cjWWu3wtlqJCeEE4A3yOe+PHJUnWNbDFfLayoaXQwDtntAzxb8t9v3cearrHpuS9mWpLzS0D5Thjd3OAPIe7OMqiaw4nkZZRkqrpQzWlu5Z\/K5zuddVaqusdHQxltOzaKPcAD8bu78luLRaoLRQMpoWjiwDI\/G73dSvVttVHaYOypIg3P3nHdzveVNUJzurLQ9LZ9ncG6k3eTCIimawiIgAsjc4p9MXk3elYZKKqdiojA+6Sef6eOy1y8SxRzROilYHseMOa4ZBCaMrMjVpbxZOzWjMtqypiq7RQXSjeJWRzhzSPcT5clqmua9ge05a4ZB7wsbdtK19LTzx2mTtKSbBfTOPtAg5yM8+Xgfeulk1lSQ0MVJXsljfBGGGQN4gcbDPUdFRxvFYczJCtu6z3uV0vC6NgipHaxsTWkisLiOgifk+oUGXUVxu4MFioJWhwwamYYDfd0\/nkkUJGmW00lo7vuzLS936ms0GXYlqHbRwtO59\/cFXWizVddWC8X0cU4\/YwEbRjvx+XnzUmz6ZjoZ\/p1dMayuJz2jskN92eZ8VYXW601oo3VFQ7wYwc3nuC7e2USeFy\/uVskuXqyFqa8\/VVv7OE8VXUexE0H2m5\/e8vmqvQkbqdtyikwHRyNa7fkRxZUiw2yqrq8366tAlePsIiPuDocdPD1XSt0fTVdZJKKqWGKV3HJHHtxHfy69ya8UnElarOarJaaLTLqc7nqGasqXWuxN7WoOzpx91g64P5rlV2qn07pysqHPM1bOwsfMRuS44IHr8FoLdbKS1wdjSxBgOOJ2PadjqSqLVz3VlXbbOwn+0Sh0m+Ns4\/X0RFpuy0GqwlGDqTzlouiv09ysqqX6ttum6iRpbHDL2sx4ckcTmu3wO4K4rtY0jQ2G1tdXVTzhjWtIGfz8lfyQQywmGSJjoyOHgI2xyxhcqW3UVESaWkhhJ5ljACfNcxp6odUKkHaErJ28clYqLLY5RUm7XZ3a10m7WnlD4D+dloERTbbeZop0401ZGd1nTvNsirov2lFKHj3EgfPCu6OrjrqOKqhOWStDh4eC6vY2SNzHjLXAgjvCzP9WLlQPIs92dBC4kmOTJAO\/vHcOXROrONmRkp06jnFXT1LiksltoJ5KmGmYJXuLzI7cjO+2eSyOtLnRXCaKClmkmkhJB4T9n5d5VsdKV1a9rrreZpmDd0TMgE+HQeihvoKJ2q6S10sbGU1A3tZsj7ztjuev7o37yqQsne9zLXU5U8CjhTf5oR9H2jF9qJJsP+gjhyOXaHbzxh3wW0ra6mt9O6eqmbGwdTzPgB1WKgu9VYquupoI4ZXTzFzZpJGtA8s4Ox7\/kV4jqLbUSis1DdDWSt3ZTwglrfA4GO7l8V2UXJ3YlGtGjTwR1z1yX54FhG2s1nUiSZr6a1ROPC0c5SD8\/HkFrIYYqeFkMLAyNgw1rRsAs0dYOqG9naLRUTkDAJbhre7YZ7j3L6KfV1xI7apgt8Z5iMAux8T17xySSi3rkjRSqQjdxvKT1dvxGhqa2lomB1VURwg8i9wGf5ysPeK2Ktub59PPrXVcg4ZTAwhrm+8b9B0V5S6Lt7CJK6WWtl6l7i0HyBz8Ve09LT0kfZ00EcLPwxtDR8FxSjHTMadOrXVpWivmz8\/stidV6kfR3XiL4o+2kbx5Lj7JAJ\/wCbdfokcbIo2xxsaxjRhrWjAA8As1aMf13uxd97gGB4ez\/BadFWTbQbHTjCLt1YREUjaEREAEREAEREAFkr1bpbRcnXilpWVNJIP7VA4AgeOD656e5a1V17t9VcqIQ0lY6lfxAlwJGR3bJ4OzIbRTxwy1WhAoq7TFU0vENDTy78bJomMc09QcjdSZ9TWSkHCa6M45CIF\/y2WafoGvLiW1kBHe7iyfgvg0BX59qspwPDiP5KuGm\/5GFVdqSsqauWtTruga1zaSnnnk34QW8LT+fwVFDUXasuouFbaaiuc3eOPgc2Nnlg\/wA96tKXQ9ZSuLory6ncRu6JhB92eIKUdGduc1l3q588xnHzJ8V1OnHQWUNqq2c1p4W9Tw676pkyG22lgA5mV4BHq4fJR5LnqIbyXO1U558JlZn81OboS0Nxl9S7HfIN\/QLvHo2xxkE0rn4\/FK78ilxQX\/hXc7S9X\/29kULrrdn+1JqagjA6MGfkxVXb9td3S1V+laYmYjqmMc5x8Bgggblbxum7LEM\/V8OB+IZ+apdGW+kqqWrrJaWJ\/aTlrA9gPCAM4Gff07kynGzaIz2eq5xjJ6975FE+tpRkuv8AdJXd7Yzv6vXgSUEwwya71Hhho39Sv0pkMUeOCJjccuFoGF0S73uLfoW9ZeT9z8x+r6mX\/V7ZdT3lzv8A+E+o7xL+yt9Yz\/7JP4BfpyI3z6B\/TovWT8j84h0pqF5aTGYt+bpxt6EqfDpC\/jd10bFn8Mzyfktwi460mPHYKS5v5mQk05eaemkml1HO1kTS44e\/YAZ\/EFSW3TFxvlIa5tRGOJ5AMznZdjrnB\/kLW6xqzTWF8TM9rUuETQOZ6nb3DHmrG1UQt9qpqQc42AO5fe5n45XVUko3JvZac6uDOyXXmzEt0ndqJ\/EbdS1wH\/FP\/k1S6atNt\/1rSIYAB9oyMn4kH5rboldVvVFVsUYZwdvgn6Gcg1vZ34bIJ6fG3tx7D0yreku1vrsfRqyGQn90PHF6c12npKapGKinimGMfaMDvmqir0dZ6neOF9M8cnQux8DkLnA+4rbaI9H5e5eossbFf7bvbLuZmA\/sp\/jzyPkjNU11vc2O+WuSEE47aIZb+noUYL9l3OfqVH9yLj9Pmj1SDsP6QqwbgTUwIztnZvryK06xV0utF9dUF9oqlkjAexmaTgtG\/Np33BO\/LZbVE1ozmzSTc0ut\/mERFM1hERABERABERABERABERABERABERAEW6P7K01kn4IHn0aVWaNZwaap3fjc93+Ij8lNvzS6w1wH+wefgo+lCHaZoyPwuH+Iqn8PiZn\/AMheD+qLhERTNIREQAREQBl7ti46zt1A4cUVO0yvBG2ef\/a31WoWWsWK7V12r\/vNi+xYdsc8bf3fj4rUqk8rIzbPxYp9W\/LIIiKZpCIiAC8ua17S17Q5p5gjIK9IgDPXPRturgX07fokv\/DHsnn08\/grymiMFNFC6R0hjYGl7ubsDmV1RM5NqzJxpQhJyirXCIiUoEREAEREAEREAEREAEREAEREAEREAcayIzUU8Q5vjc31CpdEvLtOsBGOCR4Hjvn81oF5a1rGhrGhrRyAGAE1+GxJ071FPomj0iIlKhERABERAGY0PmShrKgu4u0qSM+4A\/mtOsxoH\/0Ob\/8AS7\/patOnqdtmbZP2IhERIaQiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgCJb7bS2uB8NIwsY95eQSTucfoFLRF15sWCSikgiIuDBERABERABERABERABERABERAH\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "MARTINA LEON",
    "correoContacto": "marleoc_64@hotmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28802\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:05",
    "ubicacionGPS": "LatLng(lat: -22.0857598, lng: -70.1894501)",
    "horaLlegada": "10:43",
    "horaDespacho": "11:04",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


27/05/2026 11:05:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[27/05/2026 11:05: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('61980920', 'KY2051', 2, 24456550, 114718, NOW(), 
				'11:04', '10:43', '11:05', 10, '•Entrega tintas', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1779894310.png', '', null, 'COMPLETADO','LatLng(lat: -22.0857598, lng: -70.1894501)' )
				
[27/05/2026 11:05:10] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200446
[27/05/2026 11:05:10] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200446', 'KYO-I647', 1)
				
[27/05/2026 11:05:10] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28802 and
				    IDproducto = 'KYO-I647'
				

27/05/2026 11:05:10 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
27/05/2026 11:05:10 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200446'                    
				WHERE idllamado = 12745			
				TO ENVIO: micorreo@miempresa.cl, marleoc_64@hotmail.com


27/05/2026 11:05:10 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12745			
				
27/05/2026 11:05:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com

TO ENVIO: earevalo@dsprint.cl, jose.manuel.quinteros@gmail.com, backupdsprint@gmail.com


27/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/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 = 12745
                

27/05/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 = 12745
                

27/05/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 = 12745
                

27/05/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 = 12745
                

27/05/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 = 12745
                

27/05/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 = 12745
                

27/05/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 = 12745
                

27/05/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 = 12745
                

27/05/2026 11: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 = 12745
                

27/05/2026 11:05:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12745
                

27/05/2026 11:05:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11:05:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12745
                

27/05/2026 11:05:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

[27/05/2026 11:05: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;
                

27/05/2026 11: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 = 12745
                

27/05/2026 11: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 = 12745
                

27/05/2026 11: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 = 12745
                

[27/05/2026 11:05: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;
                

[27/05/2026 11:05: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;
                

[27/05/2026 11:05: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;
                

27/05/2026 11: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 = 12745
                

27/05/2026 11:05:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11:05:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12745
                

[27/05/2026 11:05: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;
                

27/05/2026 11:05:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12745
                

27/05/2026 11: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 = 12745
                

27/05/2026 11:05:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

[27/05/2026 11:05: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;
                

27/05/2026 11:05:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12745
                

27/05/2026 11:05:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12745
            GROUP BY l.idllamado;
            

27/05/2026 11:05:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:05:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:05:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:05:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:05:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:05:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:05:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:05:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:05:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:05:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12745
                

27/05/2026 11:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12746
            GROUP BY l.idllamado;
            

27/05/2026 11:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12746
            GROUP BY l.idllamado;
            

[27/05/2026 11:05: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;
                

[27/05/2026 11:05: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;
                

27/05/2026 11:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12746
            GROUP BY l.idllamado;
            

[27/05/2026 11:05: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;
                

27/05/2026 11:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12746
            GROUP BY l.idllamado;
            

27/05/2026 11:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12746
            GROUP BY l.idllamado;
            

27/05/2026 11:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12746
                

27/05/2026 11:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12746
                

27/05/2026 11:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12746
                

[27/05/2026 11:05: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;
                

27/05/2026 11:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12746
            GROUP BY l.idllamado;
            

27/05/2026 11:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12746
                

[27/05/2026 11:05: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;
                

27/05/2026 11:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12746
                

27/05/2026 11:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12746
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12746
                

27/05/2026 11: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 = 12746
                

27/05/2026 11:05:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12746
            GROUP BY l.idllamado;
            

27/05/2026 11:05:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12746
            GROUP BY l.idllamado;
            

27/05/2026 11:05:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12746
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12746
                

27/05/2026 11: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 = 12746
                

27/05/2026 11: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 = 12746
                

[27/05/2026 11:05: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;
                

27/05/2026 11:05:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12746
            GROUP BY l.idllamado;
            

27/05/2026 11: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 = 12746
                

27/05/2026 11: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 = 12746
                

27/05/2026 11: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 = 12746
                

27/05/2026 11: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 = 12746
                

27/05/2026 11: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 = 12746
                

27/05/2026 11: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 = 12746
                

27/05/2026 11: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 = 12746
                

27/05/2026 11: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 = 12746
                

27/05/2026 11: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 = 12746
                

27/05/2026 11: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 = 12746
                

27/05/2026 11:05:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12746
            GROUP BY l.idllamado;
            

27/05/2026 11:05:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12746
            GROUP BY l.idllamado;
            

[27/05/2026 11:05: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;
                

27/05/2026 11:05:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12746
            GROUP BY l.idllamado;
            

27/05/2026 11:05:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12746
            GROUP BY l.idllamado;
            

[27/05/2026 11:05: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;
                

27/05/2026 11:05:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12746
            GROUP BY l.idllamado;
            

[27/05/2026 11:05: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;
                

27/05/2026 11:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12746
                

27/05/2026 11:05:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12746
                

27/05/2026 11:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12746
                

27/05/2026 11:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12746
                

27/05/2026 11:05:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12746
            GROUP BY l.idllamado;
            

[27/05/2026 11:05:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:05:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12746
            GROUP BY l.idllamado;
            

[27/05/2026 11:05:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:05:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12746
            GROUP BY l.idllamado;
            

27/05/2026 11:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12746
                

27/05/2026 11:05:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12746
            GROUP BY l.idllamado;
            

27/05/2026 11:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12746
                

[27/05/2026 11:05:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12746
                

27/05/2026 11:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12746
                

27/05/2026 11:05:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12746
            GROUP BY l.idllamado;
            

27/05/2026 11:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12746
                

27/05/2026 11:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12746
                

27/05/2026 11:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12746
                

27/05/2026 11:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12746
                

27/05/2026 11:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12746
                

27/05/2026 11:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12746
                

27/05/2026 11:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12746
                

27/05/2026 11:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12746
                

27/05/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 = 12746
                

27/05/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 = 12746
                

27/05/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 = 12746
                

27/05/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 = 12746
                
[27/05/2026 11:38: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 = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				
[27/05/2026 11:38:18] 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;
                

[27/05/2026 11:38: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;
                

27/05/2026 11:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12733
            GROUP BY l.idllamado;
            

[27/05/2026 11:38:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 11:38:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:38:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12733
            GROUP BY l.idllamado;
            

27/05/2026 11:38:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12733
            GROUP BY l.idllamado;
            

[27/05/2026 11:38:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12733
            GROUP BY l.idllamado;
            

[27/05/2026 11:38:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                
[27/05/2026 11:39:45] 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;
                
[27/05/2026 11:39:45] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

[27/05/2026 11:39: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;
                

[27/05/2026 11:39:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:39:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12188
            GROUP BY l.idllamado;
            

[27/05/2026 11:40:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 11:40:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:40:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12444
            GROUP BY l.idllamado;
            

[27/05/2026 11:40: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;
                

[27/05/2026 11:40:15] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:40:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12374
            GROUP BY l.idllamado;
            

[27/05/2026 11:40:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:40:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12374
            GROUP BY l.idllamado;
            

[27/05/2026 11:40: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;
                

[27/05/2026 11:40:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:40:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12687
            GROUP BY l.idllamado;
            

[27/05/2026 11:40:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 11:40:40] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 11:40:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:40:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12694
            GROUP BY l.idllamado;
            

[27/05/2026 11:40:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12695
            GROUP BY l.idllamado;
            

[27/05/2026 11:40: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;
                

[27/05/2026 11:40:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12705
            GROUP BY l.idllamado;
            

[27/05/2026 11:40:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 11:41:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:41:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12697
            GROUP BY l.idllamado;
            

[27/05/2026 11:41: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;
                

[27/05/2026 11:41: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;
                

27/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12704
            GROUP BY l.idllamado;
            

[27/05/2026 11:41: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;
                

[27/05/2026 11:41:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 11:41:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12710
            GROUP BY l.idllamado;
            

[27/05/2026 11:41:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:41:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12540
            GROUP BY l.idllamado;
            

[27/05/2026 11:41: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;
                

[27/05/2026 11:41:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 11:41:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12722
            GROUP BY l.idllamado;
            

[27/05/2026 11:41:40] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:41:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12723
            GROUP BY l.idllamado;
            

[27/05/2026 11:41:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 11:41:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:41:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12733
            GROUP BY l.idllamado;
            

[27/05/2026 11:41: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;
                

27/05/2026 11:41:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12733
            GROUP BY l.idllamado;
            

[27/05/2026 11:41:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12733
            GROUP BY l.idllamado;
            

[27/05/2026 11:41:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 11:41:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 11:41:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 11:41:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12732
            GROUP BY l.idllamado;
            

[27/05/2026 11:42:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 11:42:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 11:42:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 11:42: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;
                

[27/05/2026 11:42:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 12:08: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;
                

[27/05/2026 12:08: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;
                

[27/05/2026 12:08:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 12: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 = 12757
                

27/05/2026 12:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 12:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 12: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 = 12757
                

27/05/2026 12:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 12:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 12:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 12: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 = 12757
                

[27/05/2026 12:24: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;
                

[27/05/2026 12:24: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;
                

27/05/2026 12: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 = 12757
                

27/05/2026 12: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 = 12757
                

27/05/2026 12: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 = 12757
                

27/05/2026 12:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

[27/05/2026 12:24: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;
                

27/05/2026 12:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 12: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 = 12757
                

27/05/2026 12:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

[27/05/2026 12:24: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;
                

[27/05/2026 12:24: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;
                

27/05/2026 12: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 = 12757
                

27/05/2026 12:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

[27/05/2026 12:24: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;
                

27/05/2026 12: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 = 12757
                

27/05/2026 12:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 12: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 = 12757
                

27/05/2026 12:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 12: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 = 12757
                

27/05/2026 12: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 = 12757
                

27/05/2026 12: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 = 12757
                

27/05/2026 12: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 = 12757
                

27/05/2026 12:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12757
                

27/05/2026 12:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12757
                

27/05/2026 12:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12757
                

27/05/2026 12:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12757
                

27/05/2026 12:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12757
                

27/05/2026 12:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12757
                

27/05/2026 12:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

[27/05/2026 12:24:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 12:24:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 12:24:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 12:24:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 12:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 12:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 12:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 12:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12757
                

27/05/2026 12:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12757
                

27/05/2026 12:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12757
                

27/05/2026 12:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 12:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12757
                

27/05/2026 12:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 12:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12757
                

[27/05/2026 12:24: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;
                

27/05/2026 12:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 12:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12757
                

27/05/2026 12:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 12:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 12:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12757
                

27/05/2026 12:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12757
                

27/05/2026 12:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12757
                

27/05/2026 12:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12757
                

[27/05/2026 12:24: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;
                

27/05/2026 12:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12757
            GROUP BY l.idllamado;
            

27/05/2026 12:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12726
            GROUP BY l.idllamado;
            

[27/05/2026 12:24: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;
                

27/05/2026 12:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12726
            GROUP BY l.idllamado;
            

27/05/2026 12:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12726
            GROUP BY l.idllamado;
            

27/05/2026 12:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

[27/05/2026 12:24: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;
                

[27/05/2026 12:24: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;
                

27/05/2026 12:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:24:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12726
            GROUP BY l.idllamado;
            

[27/05/2026 12:24: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;
                

27/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:24:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12726
            GROUP BY l.idllamado;
            

27/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:24:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12726
            GROUP BY l.idllamado;
            

27/05/2026 12:24:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12726
            GROUP BY l.idllamado;
            

27/05/2026 12:24:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12726
            GROUP BY l.idllamado;
            

27/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

[27/05/2026 12:24: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;
                

27/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:24:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12726
            GROUP BY l.idllamado;
            

[27/05/2026 12:24: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;
                

27/05/2026 12:24:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12726
            GROUP BY l.idllamado;
            

27/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:24:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12726
            GROUP BY l.idllamado;
            

27/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12726
            GROUP BY l.idllamado;
            

[27/05/2026 12:25:07] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 12:25:07] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12726
            GROUP BY l.idllamado;
            

[27/05/2026 12:25:07] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 12:25:07] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 12:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12726
            GROUP BY l.idllamado;
            

27/05/2026 12:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12726
            GROUP BY l.idllamado;
            

27/05/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12726
            GROUP BY l.idllamado;
            

27/05/2026 12:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12726
            GROUP BY l.idllamado;
            

27/05/2026 12:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12726
            GROUP BY l.idllamado;
            

27/05/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12726
            GROUP BY l.idllamado;
            

27/05/2026 12:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12726
            GROUP BY l.idllamado;
            

[27/05/2026 12:25:07] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

[27/05/2026 12:25:07] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 12:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12726
            GROUP BY l.idllamado;
            

27/05/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

27/05/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12726
                

[27/05/2026 12:25: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;
                

27/05/2026 12:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12729
                

27/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12729
            GROUP BY l.idllamado;
            

27/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12729
            GROUP BY l.idllamado;
            

27/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12729
            GROUP BY l.idllamado;
            

27/05/2026 12:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12729
                

[27/05/2026 12:25: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;
                

[27/05/2026 12:25: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;
                

27/05/2026 12:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12729
                

27/05/2026 12:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12729
                

27/05/2026 12:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12729
                

27/05/2026 12:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12729
                

27/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12729
            GROUP BY l.idllamado;
            

27/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12729
            GROUP BY l.idllamado;
            

[27/05/2026 12:25: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;
                

[27/05/2026 12:25: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;
                

27/05/2026 12:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12729
                

27/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12729
            GROUP BY l.idllamado;
            

27/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12729
            GROUP BY l.idllamado;
            

27/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12729
            GROUP BY l.idllamado;
            

27/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12729
            GROUP BY l.idllamado;
            

27/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12729
            GROUP BY l.idllamado;
            

27/05/2026 12:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12729
                

27/05/2026 12:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12729
                

[27/05/2026 12:25: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;
                

27/05/2026 12:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12729
                

27/05/2026 12:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12729
                

27/05/2026 12: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.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12729
            GROUP BY l.idllamado;
            

27/05/2026 12:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12729
                

27/05/2026 12: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 = 12729
                

27/05/2026 12: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 = 12729
                

27/05/2026 12: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 = 12729
                

27/05/2026 12: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 = 12729
                

27/05/2026 12: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 = 12729
                

27/05/2026 12: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 = 12729
                

27/05/2026 12: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 = 12729
                

27/05/2026 12: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 = 12729
                

27/05/2026 12:25:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12729
            GROUP BY l.idllamado;
            

27/05/2026 12:25:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12729
            GROUP BY l.idllamado;
            

27/05/2026 12:25:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12729
            GROUP BY l.idllamado;
            

[27/05/2026 12:25: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;
                

27/05/2026 12: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 = 12729
                

[27/05/2026 12:25: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;
                

[27/05/2026 12:25: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;
                

27/05/2026 12:25:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12729
            GROUP BY l.idllamado;
            

27/05/2026 12: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 = 12729
                

27/05/2026 12:25:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12729
            GROUP BY l.idllamado;
            

[27/05/2026 12:25: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;
                

27/05/2026 12: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 = 12729
                

27/05/2026 12: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 = 12729
                

27/05/2026 12: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 = 12729
                

27/05/2026 12: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 = 12729
                

27/05/2026 12:25:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12729
            GROUP BY l.idllamado;
            

27/05/2026 12:25:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12729
            GROUP BY l.idllamado;
            

27/05/2026 12: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 = 12729
                

27/05/2026 12:25:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12729
            GROUP BY l.idllamado;
            

[27/05/2026 12:25: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;
                

27/05/2026 12:25:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12729
            GROUP BY l.idllamado;
            

27/05/2026 12: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 = 12729
                

[27/05/2026 12:25: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;
                

27/05/2026 12: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 = 12729
                

27/05/2026 12:25:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12729
            GROUP BY l.idllamado;
            

27/05/2026 12: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 = 12729
                

27/05/2026 12: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 = 12729
                

27/05/2026 12: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 = 12729
                

27/05/2026 12: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 = 12729
                

27/05/2026 12: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 = 12729
                

27/05/2026 12: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 = 12729
                

27/05/2026 12: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 = 12729
                

27/05/2026 12: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 = 12729
                

27/05/2026 12: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 = 12729
                

27/05/2026 12: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 = 12729
                

27/05/2026 12: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 = 12729
                

27/05/2026 12:25:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

[27/05/2026 12:25: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;
                

27/05/2026 12:25:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

27/05/2026 12:25:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

[27/05/2026 12:25: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;
                

[27/05/2026 12:25: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;
                

[27/05/2026 12:25: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;
                

27/05/2026 12:25:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

27/05/2026 12:25:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

[27/05/2026 12:25: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;
                

27/05/2026 12:25:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

27/05/2026 12:25:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

27/05/2026 12:25:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

[27/05/2026 12:25: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;
                

27/05/2026 12:25:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

27/05/2026 12:25:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

27/05/2026 12:25:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

27/05/2026 12:25:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

27/05/2026 12:25:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

[27/05/2026 12:25: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;
                

27/05/2026 12:25:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

27/05/2026 12:25:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

27/05/2026 12:25:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

[27/05/2026 12:25: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;
                

27/05/2026 12:25:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

27/05/2026 12:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

[27/05/2026 12:25: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;
                

27/05/2026 12:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

27/05/2026 12:25:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

[27/05/2026 12:25:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 12:25:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[27/05/2026 12:25:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

27/05/2026 12:25:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

27/05/2026 12:25:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

27/05/2026 12:25:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

27/05/2026 12:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

27/05/2026 12:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12730
            GROUP BY l.idllamado;
            

27/05/2026 12:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12730
                

27/05/2026 12:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignad